From 3ed6334848f04b47a524161c59e08fd2138a82df Mon Sep 17 00:00:00 2001 From: Charles Xie Date: Mon, 20 May 2024 12:25:21 -0400 Subject: [PATCH] Updates --- .../{index-Br-tvgKJ.js => index-DRRBXMQb.js} | 962 +++++++++--------- index.html | 2 +- 2 files changed, 482 insertions(+), 482 deletions(-) rename assets/{index-Br-tvgKJ.js => index-DRRBXMQb.js} (94%) diff --git a/assets/index-Br-tvgKJ.js b/assets/index-DRRBXMQb.js similarity index 94% rename from assets/index-Br-tvgKJ.js rename to assets/index-DRRBXMQb.js index 3a215751f..acc831c3c 100644 --- a/assets/index-Br-tvgKJ.js +++ b/assets/index-DRRBXMQb.js @@ -1,4 +1,4 @@ -var uct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var hWo=uct((pg,ch)=>{function DEe(t,e){for(var n=0;no[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))o(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();var mc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function EEe(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function o(){return this instanceof o?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(o){var i=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,i.get?i:{enumerable:!0,get:function(){return t[o]}})}),n}var kEe={exports:{}},nK={},FEe={exports:{}},Qa={};/** +var uct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var dWo=uct((gg,ch)=>{function DEe(t,e){for(var n=0;no[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))o(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();var mc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function EEe(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function o(){return this instanceof o?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(o){var i=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,i.get?i:{enumerable:!0,get:function(){return t[o]}})}),n}var kEe={exports:{}},nK={},FEe={exports:{}},Qa={};/** * @license React * react.production.min.js * @@ -30,14 +30,14 @@ var uct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var hWo=uct((pg, * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var XEe=m,xg=Dct;function Go(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ule=Object.prototype.hasOwnProperty,Ect=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,o6e={},i6e={};function kct(t){return ule.call(i6e,t)?!0:ule.call(o6e,t)?!1:Ect.test(t)?i6e[t]=!0:(o6e[t]=!0,!1)}function Fct(t,e,n,o){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return o?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function Lct(t,e,n,o){if(e===null||typeof e>"u"||Fct(t,e,n,o))return!0;if(o)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function up(t,e,n,o,i,r,a){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=o,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=r,this.removeEmptyString=a}var hf={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){hf[t]=new up(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];hf[e]=new up(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){hf[t]=new up(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){hf[t]=new up(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){hf[t]=new up(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){hf[t]=new up(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){hf[t]=new up(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){hf[t]=new up(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){hf[t]=new up(t,5,!1,t.toLowerCase(),null,!1,!1)});var _he=/[\-:]([a-z])/g;function Vhe(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(_he,Vhe);hf[e]=new up(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(_he,Vhe);hf[e]=new up(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(_he,Vhe);hf[e]=new up(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){hf[t]=new up(t,1,!1,t.toLowerCase(),null,!1,!1)});hf.xlinkHref=new up("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){hf[t]=new up(t,1,!1,t.toLowerCase(),null,!0,!0)});function Ghe(t,e,n,o){var i=hf.hasOwnProperty(e)?hf[e]:null;(i!==null?i.type!==0:o||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ule=Object.prototype.hasOwnProperty,Ect=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,o6e={},i6e={};function kct(t){return ule.call(i6e,t)?!0:ule.call(o6e,t)?!1:Ect.test(t)?i6e[t]=!0:(o6e[t]=!0,!1)}function Fct(t,e,n,o){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return o?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function Lct(t,e,n,o){if(e===null||typeof e>"u"||Fct(t,e,n,o))return!0;if(o)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function up(t,e,n,o,i,r,a){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=o,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=r,this.removeEmptyString=a}var hf={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){hf[t]=new up(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];hf[e]=new up(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){hf[t]=new up(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){hf[t]=new up(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){hf[t]=new up(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){hf[t]=new up(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){hf[t]=new up(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){hf[t]=new up(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){hf[t]=new up(t,5,!1,t.toLowerCase(),null,!1,!1)});var _he=/[\-:]([a-z])/g;function Vhe(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(_he,Vhe);hf[e]=new up(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(_he,Vhe);hf[e]=new up(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(_he,Vhe);hf[e]=new up(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){hf[t]=new up(t,1,!1,t.toLowerCase(),null,!1,!1)});hf.xlinkHref=new up("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){hf[t]=new up(t,1,!1,t.toLowerCase(),null,!0,!0)});function Ghe(t,e,n,o){var i=hf.hasOwnProperty(e)?hf[e]:null;(i!==null?i.type!==0:o||!(2l||i[a]!==r[l]){var s=` -`+i[a].replace(" at new "," at ");return t.displayName&&s.includes("")&&(s=s.replace("",t.displayName)),s}while(1<=a&&0<=l);break}}}finally{pne=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?aD(t):""}function Wct(t){switch(t.tag){case 5:return aD(t.type);case 16:return aD("Lazy");case 13:return aD("Suspense");case 19:return aD("SuspenseList");case 0:case 2:case 15:return t=gne(t.type,!1),t;case 11:return t=gne(t.type.render,!1),t;case 1:return t=gne(t.type,!0),t;default:return""}}function ple(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case PP:return"Fragment";case TP:return"Portal";case dle:return"Profiler";case Xhe:return"StrictMode";case fle:return"Suspense";case hle:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case qEe:return(t.displayName||"Context")+".Consumer";case KEe:return(t._context.displayName||"Context")+".Provider";case Jhe:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Khe:return e=t.displayName||null,e!==null?e:ple(t.type)||"Memo";case N4:e=t._payload,t=t._init;try{return ple(t(e))}catch{}}return null}function Nct(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ple(e);case 8:return e===Xhe?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function _w(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function QEe(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Uct(t){var e=QEe(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),o=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,r=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(a){o=""+a,r.call(this,a)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return o},setValue:function(a){o=""+a},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function zB(t){t._valueTracker||(t._valueTracker=Uct(t))}function ZEe(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),o="";return t&&(o=QEe(t)?t.checked?"true":"false":t.value),t=o,t!==n?(e.setValue(t),!0):!1}function rV(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function gle(t,e){var n=e.checked;return a0({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function a6e(t,e){var n=e.defaultValue==null?"":e.defaultValue,o=e.checked!=null?e.checked:e.defaultChecked;n=_w(e.value!=null?e.value:n),t._wrapperState={initialChecked:o,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function eke(t,e){e=e.checked,e!=null&&Ghe(t,"checked",e,!1)}function mle(t,e){eke(t,e);var n=_w(e.value),o=e.type;if(n!=null)o==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(o==="submit"||o==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?yle(t,e.type,n):e.hasOwnProperty("defaultValue")&&yle(t,e.type,_w(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function l6e(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var o=e.type;if(!(o!=="submit"&&o!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function yle(t,e,n){(e!=="number"||rV(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var lD=Array.isArray;function aC(t,e,n,o){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=DB.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function _E(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var BD={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Bct=["Webkit","ms","Moz","O"];Object.keys(BD).forEach(function(t){Bct.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),BD[e]=BD[t]})});function ike(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||BD.hasOwnProperty(t)&&BD[t]?(""+e).trim():e+"px"}function rke(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var o=n.indexOf("--")===0,i=ike(n,e[n],o);n==="float"&&(n="cssFloat"),o?t.setProperty(n,i):t[n]=i}}var jct=a0({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function vle(t,e){if(e){if(jct[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Go(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Go(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Go(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Go(62))}}function xle(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ble=null;function qhe(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Sle=null,lC=null,sC=null;function u6e(t){if(t=DL(t)){if(typeof Sle!="function")throw Error(Go(280));var e=t.stateNode;e&&(e=sK(e),Sle(t.stateNode,t.type,e))}}function ake(t){lC?sC?sC.push(t):sC=[t]:lC=t}function lke(){if(lC){var t=lC,e=sC;if(sC=lC=null,u6e(t),e)for(t=0;t>>=0,t===0?32:31-(Qct(t)/Zct|0)|0}var EB=64,kB=4194304;function sD(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function cV(t,e){var n=t.pendingLanes;if(n===0)return 0;var o=0,i=t.suspendedLanes,r=t.pingedLanes,a=n&268435455;if(a!==0){var l=a&~i;l!==0?o=sD(l):(r&=a,r!==0&&(o=sD(r)))}else a=n&~i,a!==0?o=sD(a):r!==0&&(o=sD(r));if(o===0)return 0;if(e!==0&&e!==o&&!(e&i)&&(i=o&-o,r=e&-e,i>=r||i===16&&(r&4194240)!==0))return e;if(o&4&&(o|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=o;0n;n++)e.push(t);return e}function IL(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-S2(e),t[e]=n}function o0t(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var o=t.eventTimes;for(t=t.expirationTimes;0=YD),w6e=" ",v6e=!1;function Rke(t,e){switch(t){case"keyup":return z0t.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hke(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var CP=!1;function E0t(t,e){switch(t){case"compositionend":return Hke(e);case"keypress":return e.which!==32?null:(v6e=!0,w6e);case"textInput":return t=e.data,t===w6e&&v6e?null:t;default:return null}}function k0t(t,e){if(CP)return t==="compositionend"||!ipe&&Rke(t,e)?(t=Pke(),n_=tpe=rw=null,CP=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=o}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=T6e(n)}}function Dke(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Dke(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Eke(){for(var t=window,e=rV();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=rV(t.document)}return e}function rpe(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function O0t(t){var e=Eke(),n=t.focusedElem,o=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&Dke(n.ownerDocument.documentElement,n)){if(o!==null&&rpe(n)){if(e=o.start,t=o.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,r=Math.min(o.start,i);o=o.end===void 0?r:Math.min(o.end,i),!t.extend&&r>o&&(i=o,o=r,r=i),i=P6e(n,r);var a=P6e(n,o);i&&a&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),r>o?(t.addRange(e),t.extend(a.node,a.offset)):(e.setEnd(a.node,a.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,RP=null,Mle=null,_D=null,Ile=!1;function C6e(t,e,n){var o=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ile||RP==null||RP!==rV(o)||(o=RP,"selectionStart"in o&&rpe(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),_D&&qE(_D,o)||(_D=o,o=fV(Mle,"onSelect"),0IP||(t.current=Lle[IP],Lle[IP]=null,IP--)}function Os(t,e){IP++,Lle[IP]=t.current,t.current=e}var Vw={},fh=v7(Vw),_p=v7(!1),zx=Vw;function FC(t,e){var n=t.type.contextTypes;if(!n)return Vw;var o=t.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===e)return o.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in n)i[r]=e[r];return o&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function Vp(t){return t=t.childContextTypes,t!=null}function pV(){Ac(_p),Ac(fh)}function E6e(t,e,n){if(fh.current!==Vw)throw Error(Go(168));Os(fh,e),Os(_p,n)}function Yke(t,e,n){var o=t.stateNode;if(e=e.childContextTypes,typeof o.getChildContext!="function")return n;o=o.getChildContext();for(var i in o)if(!(i in e))throw Error(Go(108,Nct(t)||"Unknown",i));return a0({},n,o)}function gV(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Vw,zx=fh.current,Os(fh,t),Os(_p,_p.current),!0}function k6e(t,e,n){var o=t.stateNode;if(!o)throw Error(Go(169));n?(t=Yke(t,e,zx),o.__reactInternalMemoizedMergedChildContext=t,Ac(_p),Ac(fh),Os(fh,t)):Ac(_p),Os(_p,n)}var l6=null,cK=!1,Mne=!1;function Oke(t){l6===null?l6=[t]:l6.push(t)}function tut(t){cK=!0,Oke(t)}function x7(){if(!Mne&&l6!==null){Mne=!0;var t=0,e=ls;try{var n=l6;for(ls=1;t>=a,i-=a,f6=1<<32-S2(e)+i|n<P?(R=T,T=null):R=T.sibling;var H=f(x,T,b[P],v);if(H===null){T===null&&(T=R);break}t&&T&&H.alternate===null&&e(x,T),C=r(H,C,P),w===null?S=H:w.sibling=H,w=H,T=R}if(P===b.length)return n(x,T),Nc&&tv(x,P),S;if(T===null){for(;PP?(R=T,T=null):R=T.sibling;var D=f(x,T,H.value,v);if(D===null){T===null&&(T=R);break}t&&T&&D.alternate===null&&e(x,T),C=r(D,C,P),w===null?S=D:w.sibling=D,w=D,T=R}if(H.done)return n(x,T),Nc&&tv(x,P),S;if(T===null){for(;!H.done;P++,H=b.next())H=d(x,H.value,v),H!==null&&(C=r(H,C,P),w===null?S=H:w.sibling=H,w=H);return Nc&&tv(x,P),S}for(T=o(x,T);!H.done;P++,H=b.next())H=p(T,x,P,H.value,v),H!==null&&(t&&H.alternate!==null&&T.delete(H.key===null?P:H.key),C=r(H,C,P),w===null?S=H:w.sibling=H,w=H);return t&&T.forEach(function(E){return e(x,E)}),Nc&&tv(x,P),S}function A(x,C,b,v){if(typeof b=="object"&&b!==null&&b.type===PP&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case IB:e:{for(var S=b.key,w=C;w!==null;){if(w.key===S){if(S=b.type,S===PP){if(w.tag===7){n(x,w.sibling),C=i(w,b.props.children),C.return=x,x=C;break e}}else if(w.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===N4&&j6e(S)===w.type){n(x,w.sibling),C=i(w,b.props),C.ref=$I(x,w,b),C.return=x,x=C;break e}n(x,w);break}else e(x,w);w=w.sibling}b.type===PP?(C=ex(b.props.children,x.mode,v,b.key),C.return=x,x=C):(v=u_(b.type,b.key,b.props,null,x.mode,v),v.ref=$I(x,C,b),v.return=x,x=v)}return a(x);case TP:e:{for(w=b.key;C!==null;){if(C.key===w)if(C.tag===4&&C.stateNode.containerInfo===b.containerInfo&&C.stateNode.implementation===b.implementation){n(x,C.sibling),C=i(C,b.children||[]),C.return=x,x=C;break e}else{n(x,C);break}else e(x,C);C=C.sibling}C=Wne(b,x.mode,v),C.return=x,x=C}return a(x);case N4:return w=b._init,A(x,C,w(b._payload),v)}if(lD(b))return g(x,C,b,v);if(GI(b))return y(x,C,b,v);jB(x,b)}return typeof b=="string"&&b!==""||typeof b=="number"?(b=""+b,C!==null&&C.tag===6?(n(x,C.sibling),C=i(C,b),C.return=x,x=C):(n(x,C),C=Lne(b,x.mode,v),C.return=x,x=C),a(x)):n(x,C)}return A}var WC=$ke(!0),Qke=$ke(!1),EL={},h9=v7(EL),ek=v7(EL),tk=v7(EL);function Pv(t){if(t===EL)throw Error(Go(174));return t}function ppe(t,e){switch(Os(tk,e),Os(ek,t),Os(h9,EL),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:wle(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=wle(e,t)}Ac(h9),Os(h9,e)}function NC(){Ac(h9),Ac(ek),Ac(tk)}function Zke(t){Pv(tk.current);var e=Pv(h9.current),n=wle(e,t.type);e!==n&&(Os(ek,t),Os(h9,n))}function gpe(t){ek.current===t&&(Ac(h9),Ac(ek))}var Zc=v7(0);function xV(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Ine=[];function mpe(){for(var t=0;tn?n:4,t(!0);var o=zne.transition;zne.transition={};try{t(!1),e()}finally{ls=n,zne.transition=o}}function gFe(){return Ym().memoizedState}function rut(t,e,n){var o=Iw(t);if(n={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null},mFe(t))yFe(e,n);else if(n=Xke(t,e,n,o),n!==null){var i=ap();T2(n,t,o,i),AFe(n,e,o)}}function aut(t,e,n){var o=Iw(t),i={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null};if(mFe(t))yFe(e,i);else{var r=t.alternate;if(t.lanes===0&&(r===null||r.lanes===0)&&(r=e.lastRenderedReducer,r!==null))try{var a=e.lastRenderedState,l=r(a,n);if(i.hasEagerState=!0,i.eagerState=l,L2(l,a)){var s=e.interleaved;s===null?(i.next=i,fpe(e)):(i.next=s.next,s.next=i),e.interleaved=i;return}}catch{}finally{}n=Xke(t,e,i,o),n!==null&&(i=ap(),T2(n,t,o,i),AFe(n,e,o))}}function mFe(t){var e=t.alternate;return t===i0||e!==null&&e===i0}function yFe(t,e){VD=bV=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function AFe(t,e,n){if(n&4194240){var o=e.lanes;o&=t.pendingLanes,n|=o,e.lanes=n,Qhe(t,n)}}var SV={readContext:jm,useCallback:Ff,useContext:Ff,useEffect:Ff,useImperativeHandle:Ff,useInsertionEffect:Ff,useLayoutEffect:Ff,useMemo:Ff,useReducer:Ff,useRef:Ff,useState:Ff,useDebugValue:Ff,useDeferredValue:Ff,useTransition:Ff,useMutableSource:Ff,useSyncExternalStore:Ff,useId:Ff,unstable_isNewReconciler:!1},lut={readContext:jm,useCallback:function(t,e){return _5().memoizedState=[t,e===void 0?null:e],t},useContext:jm,useEffect:O6e,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,a_(4194308,4,uFe.bind(null,e,t),n)},useLayoutEffect:function(t,e){return a_(4194308,4,t,e)},useInsertionEffect:function(t,e){return a_(4,2,t,e)},useMemo:function(t,e){var n=_5();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var o=_5();return e=n!==void 0?n(e):e,o.memoizedState=o.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},o.queue=t,t=t.dispatch=rut.bind(null,i0,t),[o.memoizedState,t]},useRef:function(t){var e=_5();return t={current:t},e.memoizedState=t},useState:Y6e,useDebugValue:xpe,useDeferredValue:function(t){return _5().memoizedState=t},useTransition:function(){var t=Y6e(!1),e=t[0];return t=iut.bind(null,t[1]),_5().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var o=i0,i=_5();if(Nc){if(n===void 0)throw Error(Go(407));n=n()}else{if(n=e(),vd===null)throw Error(Go(349));Ex&30||nFe(o,e,n)}i.memoizedState=n;var r={value:n,getSnapshot:e};return i.queue=r,O6e(iFe.bind(null,o,r,t),[t]),o.flags|=2048,ik(9,oFe.bind(null,o,r,n,e),void 0,null),n},useId:function(){var t=_5(),e=vd.identifierPrefix;if(Nc){var n=h6,o=f6;n=(o&~(1<<32-S2(o)-1)).toString(32)+n,e=":"+e+"R"+n,n=nk++,0")&&(s=s.replace("",t.displayName)),s}while(1<=a&&0<=l);break}}}finally{pne=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?aD(t):""}function Wct(t){switch(t.tag){case 5:return aD(t.type);case 16:return aD("Lazy");case 13:return aD("Suspense");case 19:return aD("SuspenseList");case 0:case 2:case 15:return t=gne(t.type,!1),t;case 11:return t=gne(t.type.render,!1),t;case 1:return t=gne(t.type,!0),t;default:return""}}function ple(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case PP:return"Fragment";case TP:return"Portal";case dle:return"Profiler";case Xhe:return"StrictMode";case fle:return"Suspense";case hle:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case qEe:return(t.displayName||"Context")+".Consumer";case KEe:return(t._context.displayName||"Context")+".Provider";case Jhe:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Khe:return e=t.displayName||null,e!==null?e:ple(t.type)||"Memo";case N4:e=t._payload,t=t._init;try{return ple(t(e))}catch{}}return null}function Nct(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ple(e);case 8:return e===Xhe?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function _w(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function QEe(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Uct(t){var e=QEe(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),o=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,r=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(a){o=""+a,r.call(this,a)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return o},setValue:function(a){o=""+a},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function zB(t){t._valueTracker||(t._valueTracker=Uct(t))}function ZEe(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),o="";return t&&(o=QEe(t)?t.checked?"true":"false":t.value),t=o,t!==n?(e.setValue(t),!0):!1}function rV(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function gle(t,e){var n=e.checked;return a0({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function a6e(t,e){var n=e.defaultValue==null?"":e.defaultValue,o=e.checked!=null?e.checked:e.defaultChecked;n=_w(e.value!=null?e.value:n),t._wrapperState={initialChecked:o,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function eke(t,e){e=e.checked,e!=null&&Ghe(t,"checked",e,!1)}function mle(t,e){eke(t,e);var n=_w(e.value),o=e.type;if(n!=null)o==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(o==="submit"||o==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?yle(t,e.type,n):e.hasOwnProperty("defaultValue")&&yle(t,e.type,_w(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function l6e(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var o=e.type;if(!(o!=="submit"&&o!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function yle(t,e,n){(e!=="number"||rV(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var lD=Array.isArray;function aC(t,e,n,o){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=DB.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function _E(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var BD={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Bct=["Webkit","ms","Moz","O"];Object.keys(BD).forEach(function(t){Bct.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),BD[e]=BD[t]})});function ike(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||BD.hasOwnProperty(t)&&BD[t]?(""+e).trim():e+"px"}function rke(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var o=n.indexOf("--")===0,i=ike(n,e[n],o);n==="float"&&(n="cssFloat"),o?t.setProperty(n,i):t[n]=i}}var jct=a0({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function vle(t,e){if(e){if(jct[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Go(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Go(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Go(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Go(62))}}function xle(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ble=null;function qhe(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Sle=null,lC=null,sC=null;function u6e(t){if(t=DL(t)){if(typeof Sle!="function")throw Error(Go(280));var e=t.stateNode;e&&(e=sK(e),Sle(t.stateNode,t.type,e))}}function ake(t){lC?sC?sC.push(t):sC=[t]:lC=t}function lke(){if(lC){var t=lC,e=sC;if(sC=lC=null,u6e(t),e)for(t=0;t>>=0,t===0?32:31-(Qct(t)/Zct|0)|0}var EB=64,kB=4194304;function sD(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function cV(t,e){var n=t.pendingLanes;if(n===0)return 0;var o=0,i=t.suspendedLanes,r=t.pingedLanes,a=n&268435455;if(a!==0){var l=a&~i;l!==0?o=sD(l):(r&=a,r!==0&&(o=sD(r)))}else a=n&~i,a!==0?o=sD(a):r!==0&&(o=sD(r));if(o===0)return 0;if(e!==0&&e!==o&&!(e&i)&&(i=o&-o,r=e&-e,i>=r||i===16&&(r&4194240)!==0))return e;if(o&4&&(o|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=o;0n;n++)e.push(t);return e}function IL(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-S2(e),t[e]=n}function o0t(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var o=t.eventTimes;for(t=t.expirationTimes;0=YD),w6e=" ",v6e=!1;function Rke(t,e){switch(t){case"keyup":return z0t.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hke(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var CP=!1;function E0t(t,e){switch(t){case"compositionend":return Hke(e);case"keypress":return e.which!==32?null:(v6e=!0,w6e);case"textInput":return t=e.data,t===w6e&&v6e?null:t;default:return null}}function k0t(t,e){if(CP)return t==="compositionend"||!ipe&&Rke(t,e)?(t=Pke(),n_=tpe=rw=null,CP=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=o}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=T6e(n)}}function Dke(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Dke(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Eke(){for(var t=window,e=rV();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=rV(t.document)}return e}function rpe(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function O0t(t){var e=Eke(),n=t.focusedElem,o=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&Dke(n.ownerDocument.documentElement,n)){if(o!==null&&rpe(n)){if(e=o.start,t=o.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,r=Math.min(o.start,i);o=o.end===void 0?r:Math.min(o.end,i),!t.extend&&r>o&&(i=o,o=r,r=i),i=P6e(n,r);var a=P6e(n,o);i&&a&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),r>o?(t.addRange(e),t.extend(a.node,a.offset)):(e.setEnd(a.node,a.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,RP=null,Mle=null,_D=null,Ile=!1;function C6e(t,e,n){var o=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ile||RP==null||RP!==rV(o)||(o=RP,"selectionStart"in o&&rpe(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),_D&&qE(_D,o)||(_D=o,o=fV(Mle,"onSelect"),0IP||(t.current=Lle[IP],Lle[IP]=null,IP--)}function Os(t,e){IP++,Lle[IP]=t.current,t.current=e}var Vw={},fh=v7(Vw),_p=v7(!1),zx=Vw;function FC(t,e){var n=t.type.contextTypes;if(!n)return Vw;var o=t.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===e)return o.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in n)i[r]=e[r];return o&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function Vp(t){return t=t.childContextTypes,t!=null}function pV(){Ac(_p),Ac(fh)}function E6e(t,e,n){if(fh.current!==Vw)throw Error(Go(168));Os(fh,e),Os(_p,n)}function Yke(t,e,n){var o=t.stateNode;if(e=e.childContextTypes,typeof o.getChildContext!="function")return n;o=o.getChildContext();for(var i in o)if(!(i in e))throw Error(Go(108,Nct(t)||"Unknown",i));return a0({},n,o)}function gV(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Vw,zx=fh.current,Os(fh,t),Os(_p,_p.current),!0}function k6e(t,e,n){var o=t.stateNode;if(!o)throw Error(Go(169));n?(t=Yke(t,e,zx),o.__reactInternalMemoizedMergedChildContext=t,Ac(_p),Ac(fh),Os(fh,t)):Ac(_p),Os(_p,n)}var l6=null,cK=!1,Mne=!1;function Oke(t){l6===null?l6=[t]:l6.push(t)}function tut(t){cK=!0,Oke(t)}function x7(){if(!Mne&&l6!==null){Mne=!0;var t=0,e=ls;try{var n=l6;for(ls=1;t>=a,i-=a,f6=1<<32-S2(e)+i|n<P?(R=T,T=null):R=T.sibling;var H=f(x,T,b[P],v);if(H===null){T===null&&(T=R);break}t&&T&&H.alternate===null&&e(x,T),C=r(H,C,P),w===null?S=H:w.sibling=H,w=H,T=R}if(P===b.length)return n(x,T),Nc&&tv(x,P),S;if(T===null){for(;PP?(R=T,T=null):R=T.sibling;var D=f(x,T,H.value,v);if(D===null){T===null&&(T=R);break}t&&T&&D.alternate===null&&e(x,T),C=r(D,C,P),w===null?S=D:w.sibling=D,w=D,T=R}if(H.done)return n(x,T),Nc&&tv(x,P),S;if(T===null){for(;!H.done;P++,H=b.next())H=d(x,H.value,v),H!==null&&(C=r(H,C,P),w===null?S=H:w.sibling=H,w=H);return Nc&&tv(x,P),S}for(T=o(x,T);!H.done;P++,H=b.next())H=p(T,x,P,H.value,v),H!==null&&(t&&H.alternate!==null&&T.delete(H.key===null?P:H.key),C=r(H,C,P),w===null?S=H:w.sibling=H,w=H);return t&&T.forEach(function(E){return e(x,E)}),Nc&&tv(x,P),S}function A(x,C,b,v){if(typeof b=="object"&&b!==null&&b.type===PP&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case IB:e:{for(var S=b.key,w=C;w!==null;){if(w.key===S){if(S=b.type,S===PP){if(w.tag===7){n(x,w.sibling),C=i(w,b.props.children),C.return=x,x=C;break e}}else if(w.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===N4&&j6e(S)===w.type){n(x,w.sibling),C=i(w,b.props),C.ref=$I(x,w,b),C.return=x,x=C;break e}n(x,w);break}else e(x,w);w=w.sibling}b.type===PP?(C=ex(b.props.children,x.mode,v,b.key),C.return=x,x=C):(v=u_(b.type,b.key,b.props,null,x.mode,v),v.ref=$I(x,C,b),v.return=x,x=v)}return a(x);case TP:e:{for(w=b.key;C!==null;){if(C.key===w)if(C.tag===4&&C.stateNode.containerInfo===b.containerInfo&&C.stateNode.implementation===b.implementation){n(x,C.sibling),C=i(C,b.children||[]),C.return=x,x=C;break e}else{n(x,C);break}else e(x,C);C=C.sibling}C=Wne(b,x.mode,v),C.return=x,x=C}return a(x);case N4:return w=b._init,A(x,C,w(b._payload),v)}if(lD(b))return g(x,C,b,v);if(GI(b))return y(x,C,b,v);jB(x,b)}return typeof b=="string"&&b!==""||typeof b=="number"?(b=""+b,C!==null&&C.tag===6?(n(x,C.sibling),C=i(C,b),C.return=x,x=C):(n(x,C),C=Lne(b,x.mode,v),C.return=x,x=C),a(x)):n(x,C)}return A}var WC=$ke(!0),Qke=$ke(!1),EL={},h9=v7(EL),ek=v7(EL),tk=v7(EL);function Pv(t){if(t===EL)throw Error(Go(174));return t}function ppe(t,e){switch(Os(tk,e),Os(ek,t),Os(h9,EL),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:wle(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=wle(e,t)}Ac(h9),Os(h9,e)}function NC(){Ac(h9),Ac(ek),Ac(tk)}function Zke(t){Pv(tk.current);var e=Pv(h9.current),n=wle(e,t.type);e!==n&&(Os(ek,t),Os(h9,n))}function gpe(t){ek.current===t&&(Ac(h9),Ac(ek))}var Zc=v7(0);function xV(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Ine=[];function mpe(){for(var t=0;tn?n:4,t(!0);var o=zne.transition;zne.transition={};try{t(!1),e()}finally{ls=n,zne.transition=o}}function gFe(){return Ym().memoizedState}function rut(t,e,n){var o=Iw(t);if(n={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null},mFe(t))yFe(e,n);else if(n=Xke(t,e,n,o),n!==null){var i=ap();T2(n,t,o,i),AFe(n,e,o)}}function aut(t,e,n){var o=Iw(t),i={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null};if(mFe(t))yFe(e,i);else{var r=t.alternate;if(t.lanes===0&&(r===null||r.lanes===0)&&(r=e.lastRenderedReducer,r!==null))try{var a=e.lastRenderedState,l=r(a,n);if(i.hasEagerState=!0,i.eagerState=l,L2(l,a)){var s=e.interleaved;s===null?(i.next=i,fpe(e)):(i.next=s.next,s.next=i),e.interleaved=i;return}}catch{}finally{}n=Xke(t,e,i,o),n!==null&&(i=ap(),T2(n,t,o,i),AFe(n,e,o))}}function mFe(t){var e=t.alternate;return t===i0||e!==null&&e===i0}function yFe(t,e){VD=bV=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function AFe(t,e,n){if(n&4194240){var o=e.lanes;o&=t.pendingLanes,n|=o,e.lanes=n,Qhe(t,n)}}var SV={readContext:jm,useCallback:Ff,useContext:Ff,useEffect:Ff,useImperativeHandle:Ff,useInsertionEffect:Ff,useLayoutEffect:Ff,useMemo:Ff,useReducer:Ff,useRef:Ff,useState:Ff,useDebugValue:Ff,useDeferredValue:Ff,useTransition:Ff,useMutableSource:Ff,useSyncExternalStore:Ff,useId:Ff,unstable_isNewReconciler:!1},lut={readContext:jm,useCallback:function(t,e){return _5().memoizedState=[t,e===void 0?null:e],t},useContext:jm,useEffect:O6e,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,a_(4194308,4,uFe.bind(null,e,t),n)},useLayoutEffect:function(t,e){return a_(4194308,4,t,e)},useInsertionEffect:function(t,e){return a_(4,2,t,e)},useMemo:function(t,e){var n=_5();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var o=_5();return e=n!==void 0?n(e):e,o.memoizedState=o.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},o.queue=t,t=t.dispatch=rut.bind(null,i0,t),[o.memoizedState,t]},useRef:function(t){var e=_5();return t={current:t},e.memoizedState=t},useState:Y6e,useDebugValue:xpe,useDeferredValue:function(t){return _5().memoizedState=t},useTransition:function(){var t=Y6e(!1),e=t[0];return t=iut.bind(null,t[1]),_5().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var o=i0,i=_5();if(Nc){if(n===void 0)throw Error(Go(407));n=n()}else{if(n=e(),vd===null)throw Error(Go(349));Ex&30||nFe(o,e,n)}i.memoizedState=n;var r={value:n,getSnapshot:e};return i.queue=r,O6e(iFe.bind(null,o,r,t),[t]),o.flags|=2048,ik(9,oFe.bind(null,o,r,n,e),void 0,null),n},useId:function(){var t=_5(),e=vd.identifierPrefix;if(Nc){var n=h6,o=f6;n=(o&~(1<<32-S2(o)-1)).toString(32)+n,e=":"+e+"R"+n,n=nk++,0<\/script>",t=t.removeChild(t.firstChild)):typeof o.is=="string"?t=a.createElement(n,{is:o.is}):(t=a.createElement(n),n==="select"&&(a=t,o.multiple?a.multiple=!0:o.size&&(a.size=o.size))):t=a.createElementNS(t,n),t[t9]=e,t[ZE]=o,RFe(t,e,!1,!1),e.stateNode=t;e:{switch(a=xle(n,o),n){case"dialog":oc("cancel",t),oc("close",t),i=o;break;case"iframe":case"object":case"embed":oc("load",t),i=o;break;case"video":case"audio":for(i=0;iBC&&(e.flags|=128,o=!0,QI(r,!1),e.lanes=4194304)}else{if(!o)if(t=xV(a),t!==null){if(e.flags|=128,o=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),QI(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!Nc)return Lf(e),null}else 2*L0()-r.renderingStartTime>BC&&n!==1073741824&&(e.flags|=128,o=!0,QI(r,!1),e.lanes=4194304);r.isBackwards?(a.sibling=e.child,e.child=a):(n=r.last,n!==null?n.sibling=a:e.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=L0(),e.sibling=null,n=Zc.current,Os(Zc,o?n&1|2:n&1),e):(Lf(e),null);case 22:case 23:return Rpe(),o=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==o&&(e.flags|=8192),o&&e.mode&1?X1&1073741824&&(Lf(e),e.subtreeFlags&6&&(e.flags|=8192)):Lf(e),null;case 24:return null;case 25:return null}throw Error(Go(156,e.tag))}function gut(t,e){switch(lpe(e),e.tag){case 1:return Vp(e.type)&&pV(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return NC(),Ac(_p),Ac(fh),mpe(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return gpe(e),null;case 13:if(Ac(Zc),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Go(340));LC()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return Ac(Zc),null;case 4:return NC(),null;case 10:return dpe(e.type._context),null;case 22:case 23:return Rpe(),null;case 24:return null;default:return null}}var OB=!1,eh=!1,mut=typeof WeakSet=="function"?WeakSet:Set,Bi=null;function kP(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(o){u0(t,e,o)}else n.current=null}function Jle(t,e,n){try{n()}catch(o){u0(t,e,o)}}var Q6e=!1;function yut(t,e){if(zle=uV,t=Eke(),rpe(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var o=n.getSelection&&n.getSelection();if(o&&o.rangeCount!==0){n=o.anchorNode;var i=o.anchorOffset,r=o.focusNode;o=o.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var a=0,l=-1,s=-1,c=0,u=0,d=t,f=null;t:for(;;){for(var p;d!==n||i!==0&&d.nodeType!==3||(l=a+i),d!==r||o!==0&&d.nodeType!==3||(s=a+o),d.nodeType===3&&(a+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===t)break t;if(f===n&&++c===i&&(l=a),f===r&&++u===o&&(s=a),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Dle={focusedElem:t,selectionRange:n},uV=!1,Bi=e;Bi!==null;)if(e=Bi,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Bi=t;else for(;Bi!==null;){e=Bi;try{var g=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var y=g.memoizedProps,A=g.memoizedState,x=e.stateNode,C=x.getSnapshotBeforeUpdate(e.elementType===e.type?y:Zy(e.type,y),A);x.__reactInternalSnapshotBeforeUpdate=C}break;case 3:var b=e.stateNode.containerInfo;b.nodeType===1?b.textContent="":b.nodeType===9&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Go(163))}}catch(v){u0(e,e.return,v)}if(t=e.sibling,t!==null){t.return=e.return,Bi=t;break}Bi=e.return}return g=Q6e,Q6e=!1,g}function GD(t,e,n){var o=e.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var i=o=o.next;do{if((i.tag&t)===t){var r=i.destroy;i.destroy=void 0,r!==void 0&&Jle(e,n,r)}i=i.next}while(i!==o)}}function fK(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var o=n.create;n.destroy=o()}n=n.next}while(n!==e)}}function Kle(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function IFe(t){var e=t.alternate;e!==null&&(t.alternate=null,IFe(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[t9],delete e[ZE],delete e[Fle],delete e[Z0t],delete e[eut])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function zFe(t){return t.tag===5||t.tag===3||t.tag===4}function Z6e(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||zFe(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function qle(t,e,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=hV));else if(o!==4&&(t=t.child,t!==null))for(qle(t,e,n),t=t.sibling;t!==null;)qle(t,e,n),t=t.sibling}function $le(t,e,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(o!==4&&(t=t.child,t!==null))for($le(t,e,n),t=t.sibling;t!==null;)$le(t,e,n),t=t.sibling}var qd=null,n2=!1;function u4(t,e,n){for(n=n.child;n!==null;)DFe(t,e,n),n=n.sibling}function DFe(t,e,n){if(f9&&typeof f9.onCommitFiberUnmount=="function")try{f9.onCommitFiberUnmount(iK,n)}catch{}switch(n.tag){case 5:eh||kP(n,e);case 6:var o=qd,i=n2;qd=null,u4(t,e,n),qd=o,n2=i,qd!==null&&(n2?(t=qd,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):qd.removeChild(n.stateNode));break;case 18:qd!==null&&(n2?(t=qd,n=n.stateNode,t.nodeType===8?Hne(t.parentNode,n):t.nodeType===1&&Hne(t,n),JE(t)):Hne(qd,n.stateNode));break;case 4:o=qd,i=n2,qd=n.stateNode.containerInfo,n2=!0,u4(t,e,n),qd=o,n2=i;break;case 0:case 11:case 14:case 15:if(!eh&&(o=n.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){i=o=o.next;do{var r=i,a=r.destroy;r=r.tag,a!==void 0&&(r&2||r&4)&&Jle(n,e,a),i=i.next}while(i!==o)}u4(t,e,n);break;case 1:if(!eh&&(kP(n,e),o=n.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=n.memoizedProps,o.state=n.memoizedState,o.componentWillUnmount()}catch(l){u0(n,e,l)}u4(t,e,n);break;case 21:u4(t,e,n);break;case 22:n.mode&1?(eh=(o=eh)||n.memoizedState!==null,u4(t,e,n),eh=o):u4(t,e,n);break;default:u4(t,e,n)}}function eAe(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new mut),e.forEach(function(o){var i=Cut.bind(null,t,o);n.has(o)||(n.add(o),o.then(i,i))})}}function Wy(t,e){var n=e.deletions;if(n!==null)for(var o=0;oi&&(i=a),o&=~r}if(o=i,o=L0()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*wut(o/1960))-o,10t?16:t,aw===null)var o=!1;else{if(t=aw,aw=null,CV=0,Tl&6)throw Error(Go(331));var i=Tl;for(Tl|=4,Bi=t.current;Bi!==null;){var r=Bi,a=r.child;if(Bi.flags&16){var l=r.deletions;if(l!==null){for(var s=0;sL0()-Ppe?Zv(t,0):Tpe|=n),Gp(t,e)}function BFe(t,e){e===0&&(t.mode&1?(e=kB,kB<<=1,!(kB&130023424)&&(kB=4194304)):e=1);var n=ap();t=N6(t,e),t!==null&&(IL(t,e,n),Gp(t,n))}function Put(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),BFe(t,n)}function Cut(t,e){var n=0;switch(t.tag){case 13:var o=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:o=t.stateNode;break;default:throw Error(Go(314))}o!==null&&o.delete(e),BFe(t,n)}var jFe;jFe=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||_p.current)Wp=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return Wp=!1,hut(t,e,n);Wp=!!(t.flags&131072)}else Wp=!1,Nc&&e.flags&1048576&&_ke(e,yV,e.index);switch(e.lanes=0,e.tag){case 2:var o=e.type;l_(t,e),t=e.pendingProps;var i=FC(e,fh.current);uC(e,n),i=Ape(null,e,o,t,i,n);var r=wpe();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Vp(o)?(r=!0,gV(e)):r=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,hpe(e),i.updater=uK,e.stateNode=i,i._reactInternals=e,jle(e,o,t,n),e=_le(null,e,o,!0,r,n)):(e.tag=0,Nc&&r&&ape(e),Vh(null,e,i,n),e=e.child),e;case 16:o=e.elementType;e:{switch(l_(t,e),t=e.pendingProps,i=o._init,o=i(o._payload),e.type=o,i=e.tag=Hut(o),t=Zy(o,t),i){case 0:e=Ole(null,e,o,t,n);break e;case 1:e=K6e(null,e,o,t,n);break e;case 11:e=X6e(null,e,o,t,n);break e;case 14:e=J6e(null,e,o,Zy(o.type,t),n);break e}throw Error(Go(306,o,""))}return e;case 0:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:Zy(o,i),Ole(t,e,o,i,n);case 1:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:Zy(o,i),K6e(t,e,o,i,n);case 3:e:{if(TFe(e),t===null)throw Error(Go(387));o=e.pendingProps,r=e.memoizedState,i=r.element,Jke(t,e),vV(e,o,null,n);var a=e.memoizedState;if(o=a.element,r.isDehydrated)if(r={element:o,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},e.updateQueue.baseState=r,e.memoizedState=r,e.flags&256){i=UC(Error(Go(423)),e),e=q6e(t,e,o,n,i);break e}else if(o!==i){i=UC(Error(Go(424)),e),e=q6e(t,e,o,n,i);break e}else for(sg=Rw(e.stateNode.containerInfo.firstChild),gg=e,Nc=!0,s2=null,n=Qke(e,null,o,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(LC(),o===i){e=U6(t,e,n);break e}Vh(t,e,o,n)}e=e.child}return e;case 5:return Zke(e),t===null&&Nle(e),o=e.type,i=e.pendingProps,r=t!==null?t.memoizedProps:null,a=i.children,Ele(o,i)?a=null:r!==null&&Ele(o,r)&&(e.flags|=32),SFe(t,e),Vh(t,e,a,n),e.child;case 6:return t===null&&Nle(e),null;case 13:return PFe(t,e,n);case 4:return ppe(e,e.stateNode.containerInfo),o=e.pendingProps,t===null?e.child=WC(e,null,o,n):Vh(t,e,o,n),e.child;case 11:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:Zy(o,i),X6e(t,e,o,i,n);case 7:return Vh(t,e,e.pendingProps,n),e.child;case 8:return Vh(t,e,e.pendingProps.children,n),e.child;case 12:return Vh(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(o=e.type._context,i=e.pendingProps,r=e.memoizedProps,a=i.value,Os(AV,o._currentValue),o._currentValue=a,r!==null)if(L2(r.value,a)){if(r.children===i.children&&!_p.current){e=U6(t,e,n);break e}}else for(r=e.child,r!==null&&(r.return=e);r!==null;){var l=r.dependencies;if(l!==null){a=r.child;for(var s=l.firstContext;s!==null;){if(s.context===o){if(r.tag===1){s=T6(-1,n&-n),s.tag=2;var c=r.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?s.next=s:(s.next=u.next,u.next=s),c.pending=s}}r.lanes|=n,s=r.alternate,s!==null&&(s.lanes|=n),Ule(r.return,n,e),l.lanes|=n;break}s=s.next}}else if(r.tag===10)a=r.type===e.type?null:r.child;else if(r.tag===18){if(a=r.return,a===null)throw Error(Go(341));a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),Ule(a,n,e),a=r.sibling}else a=r.child;if(a!==null)a.return=r;else for(a=r;a!==null;){if(a===e){a=null;break}if(r=a.sibling,r!==null){r.return=a.return,a=r;break}a=a.return}r=a}Vh(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,o=e.pendingProps.children,uC(e,n),i=jm(i),o=o(i),e.flags|=1,Vh(t,e,o,n),e.child;case 14:return o=e.type,i=Zy(o,e.pendingProps),i=Zy(o.type,i),J6e(t,e,o,i,n);case 15:return xFe(t,e,e.type,e.pendingProps,n);case 17:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:Zy(o,i),l_(t,e),e.tag=1,Vp(o)?(t=!0,gV(e)):t=!1,uC(e,n),qke(e,o,i),jle(e,o,i,n),_le(null,e,o,!0,t,n);case 19:return CFe(t,e,n);case 22:return bFe(t,e,n)}throw Error(Go(156,e.tag))};function YFe(t,e){return pke(t,e)}function Rut(t,e,n,o){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mm(t,e,n,o){return new Rut(t,e,n,o)}function Mpe(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Hut(t){if(typeof t=="function")return Mpe(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Jhe)return 11;if(t===Khe)return 14}return 2}function zw(t,e){var n=t.alternate;return n===null?(n=Mm(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function u_(t,e,n,o,i,r){var a=2;if(o=t,typeof t=="function")Mpe(t)&&(a=1);else if(typeof t=="string")a=5;else e:switch(t){case PP:return ex(n.children,i,r,e);case Xhe:a=8,i|=8;break;case dle:return t=Mm(12,n,e,i|2),t.elementType=dle,t.lanes=r,t;case fle:return t=Mm(13,n,e,i),t.elementType=fle,t.lanes=r,t;case hle:return t=Mm(19,n,e,i),t.elementType=hle,t.lanes=r,t;case $Ee:return pK(n,i,r,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case KEe:a=10;break e;case qEe:a=9;break e;case Jhe:a=11;break e;case Khe:a=14;break e;case N4:a=16,o=null;break e}throw Error(Go(130,t==null?t:typeof t,""))}return e=Mm(a,n,e,i),e.elementType=t,e.type=o,e.lanes=r,e}function ex(t,e,n,o){return t=Mm(7,t,o,e),t.lanes=n,t}function pK(t,e,n,o){return t=Mm(22,t,o,e),t.elementType=$Ee,t.lanes=n,t.stateNode={isHidden:!1},t}function Lne(t,e,n){return t=Mm(6,t,null,e),t.lanes=n,t}function Wne(t,e,n){return e=Mm(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function Mut(t,e,n,o,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yne(0),this.expirationTimes=yne(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yne(0),this.identifierPrefix=o,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Ipe(t,e,n,o,i,r,a,l,s){return t=new Mut(t,e,n,l,s),e===1?(e=1,r===!0&&(e|=8)):e=0,r=Mm(3,null,null,e),t.current=r,r.stateNode=t,r.memoizedState={element:o,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hpe(r),t}function Iut(t,e,n){var o=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(GFe)}catch(t){console.error(t)}}GFe(),_Ee.exports=zg;var Sd=_Ee.exports;const MV=kr(Sd),Fut=DEe({__proto__:null,default:MV},[Sd]);var XFe,sAe=Sd;XFe=sAe.createRoot,sAe.hydrateRoot;var JFe={exports:{}},KFe={},qFe={exports:{}},$Fe={};/** +`+r.stack}return{value:t,source:e,stack:i,digest:null}}function kne(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function Yle(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}var uut=typeof WeakMap=="function"?WeakMap:Map;function wFe(t,e,n){n=T6(-1,n),n.tag=3,n.payload={element:null};var o=e.value;return n.callback=function(){PV||(PV=!0,Qle=o),Yle(t,e)},n}function vFe(t,e,n){n=T6(-1,n),n.tag=3;var o=t.type.getDerivedStateFromError;if(typeof o=="function"){var i=e.value;n.payload=function(){return o(i)},n.callback=function(){Yle(t,e)}}var r=t.stateNode;return r!==null&&typeof r.componentDidCatch=="function"&&(n.callback=function(){Yle(t,e),typeof o!="function"&&(Mw===null?Mw=new Set([this]):Mw.add(this));var a=e.stack;this.componentDidCatch(e.value,{componentStack:a!==null?a:""})}),n}function _6e(t,e,n){var o=t.pingCache;if(o===null){o=t.pingCache=new uut;var i=new Set;o.set(e,i)}else i=o.get(e),i===void 0&&(i=new Set,o.set(e,i));i.has(n)||(i.add(n),t=Tut.bind(null,t,e,n),e.then(t,t))}function V6e(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function G6e(t,e,n,o,i){return t.mode&1?(t.flags|=65536,t.lanes=i,t):(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=T6(-1,1),e.tag=2,Hw(n,e,1))),n.lanes|=1),t)}var dut=iA.ReactCurrentOwner,Wp=!1;function Vh(t,e,n,o){e.child=t===null?Qke(e,null,n,o):WC(e,t.child,n,o)}function X6e(t,e,n,o,i){n=n.render;var r=e.ref;return uC(e,i),o=Ape(t,e,n,o,r,i),n=wpe(),t!==null&&!Wp?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,U6(t,e,i)):(Nc&&n&&ape(e),e.flags|=1,Vh(t,e,o,i),e.child)}function J6e(t,e,n,o,i){if(t===null){var r=n.type;return typeof r=="function"&&!Mpe(r)&&r.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=r,xFe(t,e,r,o,i)):(t=u_(n.type,null,o,e,e.mode,i),t.ref=e.ref,t.return=e,e.child=t)}if(r=t.child,!(t.lanes&i)){var a=r.memoizedProps;if(n=n.compare,n=n!==null?n:qE,n(a,o)&&t.ref===e.ref)return U6(t,e,i)}return e.flags|=1,t=zw(r,o),t.ref=e.ref,t.return=e,e.child=t}function xFe(t,e,n,o,i){if(t!==null){var r=t.memoizedProps;if(qE(r,o)&&t.ref===e.ref)if(Wp=!1,e.pendingProps=o=r,(t.lanes&i)!==0)t.flags&131072&&(Wp=!0);else return e.lanes=t.lanes,U6(t,e,i)}return Ole(t,e,n,o,i)}function bFe(t,e,n){var o=e.pendingProps,i=o.children,r=t!==null?t.memoizedState:null;if(o.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},Os(FP,J1),J1|=n;else{if(!(n&1073741824))return t=r!==null?r.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,Os(FP,J1),J1|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=r!==null?r.baseLanes:n,Os(FP,J1),J1|=o}else r!==null?(o=r.baseLanes|n,e.memoizedState=null):o=n,Os(FP,J1),J1|=o;return Vh(t,e,i,n),e.child}function SFe(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function Ole(t,e,n,o,i){var r=Vp(n)?zx:fh.current;return r=FC(e,r),uC(e,i),n=Ape(t,e,n,o,r,i),o=wpe(),t!==null&&!Wp?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,U6(t,e,i)):(Nc&&o&&ape(e),e.flags|=1,Vh(t,e,n,i),e.child)}function K6e(t,e,n,o,i){if(Vp(n)){var r=!0;gV(e)}else r=!1;if(uC(e,i),e.stateNode===null)l_(t,e),qke(e,n,o),jle(e,n,o,i),o=!0;else if(t===null){var a=e.stateNode,l=e.memoizedProps;a.props=l;var s=a.context,c=n.contextType;typeof c=="object"&&c!==null?c=jm(c):(c=Vp(n)?zx:fh.current,c=FC(e,c));var u=n.getDerivedStateFromProps,d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function";d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l!==o||s!==c)&&B6e(e,a,o,c),U4=!1;var f=e.memoizedState;a.state=f,vV(e,o,a,i),s=e.memoizedState,l!==o||f!==s||_p.current||U4?(typeof u=="function"&&(Ble(e,n,u,o),s=e.memoizedState),(l=U4||U6e(e,n,l,o,f,s,c))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(e.flags|=4194308)):(typeof a.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=o,e.memoizedState=s),a.props=o,a.state=s,a.context=c,o=l):(typeof a.componentDidMount=="function"&&(e.flags|=4194308),o=!1)}else{a=e.stateNode,Jke(t,e),l=e.memoizedProps,c=e.type===e.elementType?l:Zy(e.type,l),a.props=c,d=e.pendingProps,f=a.context,s=n.contextType,typeof s=="object"&&s!==null?s=jm(s):(s=Vp(n)?zx:fh.current,s=FC(e,s));var p=n.getDerivedStateFromProps;(u=typeof p=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l!==d||f!==s)&&B6e(e,a,o,s),U4=!1,f=e.memoizedState,a.state=f,vV(e,o,a,i);var g=e.memoizedState;l!==d||f!==g||_p.current||U4?(typeof p=="function"&&(Ble(e,n,p,o),g=e.memoizedState),(c=U4||U6e(e,n,c,o,f,g,s)||!1)?(u||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(o,g,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(o,g,s)),typeof a.componentDidUpdate=="function"&&(e.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof a.componentDidUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=1024),e.memoizedProps=o,e.memoizedState=g),a.props=o,a.state=g,a.context=s,o=c):(typeof a.componentDidUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=1024),o=!1)}return _le(t,e,n,o,r,i)}function _le(t,e,n,o,i,r){SFe(t,e);var a=(e.flags&128)!==0;if(!o&&!a)return i&&k6e(e,n,!1),U6(t,e,r);o=e.stateNode,dut.current=e;var l=a&&typeof n.getDerivedStateFromError!="function"?null:o.render();return e.flags|=1,t!==null&&a?(e.child=WC(e,t.child,null,r),e.child=WC(e,null,l,r)):Vh(t,e,l,r),e.memoizedState=o.state,i&&k6e(e,n,!0),e.child}function TFe(t){var e=t.stateNode;e.pendingContext?E6e(t,e.pendingContext,e.pendingContext!==e.context):e.context&&E6e(t,e.context,!1),ppe(t,e.containerInfo)}function q6e(t,e,n,o,i){return LC(),spe(i),e.flags|=256,Vh(t,e,n,o),e.child}var Vle={dehydrated:null,treeContext:null,retryLane:0};function Gle(t){return{baseLanes:t,cachePool:null,transitions:null}}function PFe(t,e,n){var o=e.pendingProps,i=Zc.current,r=!1,a=(e.flags&128)!==0,l;if((l=a)||(l=t!==null&&t.memoizedState===null?!1:(i&2)!==0),l?(r=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(i|=1),Os(Zc,i&1),t===null)return Nle(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(e.mode&1?t.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(a=o.children,t=o.fallback,r?(o=e.mode,r=e.child,a={mode:"hidden",children:a},!(o&1)&&r!==null?(r.childLanes=0,r.pendingProps=a):r=pK(a,o,0,null),t=ex(t,o,n,null),r.return=e,t.return=e,r.sibling=t,e.child=r,e.child.memoizedState=Gle(n),e.memoizedState=Vle,t):bpe(e,a));if(i=t.memoizedState,i!==null&&(l=i.dehydrated,l!==null))return fut(t,e,a,o,l,i,n);if(r){r=o.fallback,a=e.mode,i=t.child,l=i.sibling;var s={mode:"hidden",children:o.children};return!(a&1)&&e.child!==i?(o=e.child,o.childLanes=0,o.pendingProps=s,e.deletions=null):(o=zw(i,s),o.subtreeFlags=i.subtreeFlags&14680064),l!==null?r=zw(l,r):(r=ex(r,a,n,null),r.flags|=2),r.return=e,o.return=e,o.sibling=r,e.child=o,o=r,r=e.child,a=t.child.memoizedState,a=a===null?Gle(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},r.memoizedState=a,r.childLanes=t.childLanes&~n,e.memoizedState=Vle,o}return r=t.child,t=r.sibling,o=zw(r,{mode:"visible",children:o.children}),!(e.mode&1)&&(o.lanes=n),o.return=e,o.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=o,e.memoizedState=null,o}function bpe(t,e){return e=pK({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function YB(t,e,n,o){return o!==null&&spe(o),WC(e,t.child,null,n),t=bpe(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function fut(t,e,n,o,i,r,a){if(n)return e.flags&256?(e.flags&=-257,o=kne(Error(Go(422))),YB(t,e,a,o)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(r=o.fallback,i=e.mode,o=pK({mode:"visible",children:o.children},i,0,null),r=ex(r,i,a,null),r.flags|=2,o.return=e,r.return=e,o.sibling=r,e.child=o,e.mode&1&&WC(e,t.child,null,a),e.child.memoizedState=Gle(a),e.memoizedState=Vle,r);if(!(e.mode&1))return YB(t,e,a,null);if(i.data==="$!"){if(o=i.nextSibling&&i.nextSibling.dataset,o)var l=o.dgst;return o=l,r=Error(Go(419)),o=kne(r,o,void 0),YB(t,e,a,o)}if(l=(a&t.childLanes)!==0,Wp||l){if(o=vd,o!==null){switch(a&-a){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(o.suspendedLanes|a)?0:i,i!==0&&i!==r.retryLane&&(r.retryLane=i,N6(t,i),T2(o,t,i,-1))}return Hpe(),o=kne(Error(Go(421))),YB(t,e,a,o)}return i.data==="$?"?(e.flags|=128,e.child=t.child,e=Put.bind(null,t),i._reactRetry=e,null):(t=r.treeContext,cg=Rw(i.nextSibling),mg=e,Nc=!0,s2=null,t!==null&&(vm[xm++]=f6,vm[xm++]=h6,vm[xm++]=Dx,f6=t.id,h6=t.overflow,Dx=e),e=bpe(e,o.children),e.flags|=4096,e)}function $6e(t,e,n){t.lanes|=e;var o=t.alternate;o!==null&&(o.lanes|=e),Ule(t.return,e,n)}function Fne(t,e,n,o,i){var r=t.memoizedState;r===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:o,tail:n,tailMode:i}:(r.isBackwards=e,r.rendering=null,r.renderingStartTime=0,r.last=o,r.tail=n,r.tailMode=i)}function CFe(t,e,n){var o=e.pendingProps,i=o.revealOrder,r=o.tail;if(Vh(t,e,o.children,n),o=Zc.current,o&2)o=o&1|2,e.flags|=128;else{if(t!==null&&t.flags&128)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&$6e(t,n,e);else if(t.tag===19)$6e(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}o&=1}if(Os(Zc,o),!(e.mode&1))e.memoizedState=null;else switch(i){case"forwards":for(n=e.child,i=null;n!==null;)t=n.alternate,t!==null&&xV(t)===null&&(i=n),n=n.sibling;n=i,n===null?(i=e.child,e.child=null):(i=n.sibling,n.sibling=null),Fne(e,!1,i,n,r);break;case"backwards":for(n=null,i=e.child,e.child=null;i!==null;){if(t=i.alternate,t!==null&&xV(t)===null){e.child=i;break}t=i.sibling,i.sibling=n,n=i,i=t}Fne(e,!0,n,null,r);break;case"together":Fne(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function l_(t,e){!(e.mode&1)&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function U6(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),kx|=e.lanes,!(n&e.childLanes))return null;if(t!==null&&e.child!==t.child)throw Error(Go(153));if(e.child!==null){for(t=e.child,n=zw(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=zw(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function hut(t,e,n){switch(e.tag){case 3:TFe(e),LC();break;case 5:Zke(e);break;case 1:Vp(e.type)&&gV(e);break;case 4:ppe(e,e.stateNode.containerInfo);break;case 10:var o=e.type._context,i=e.memoizedProps.value;Os(AV,o._currentValue),o._currentValue=i;break;case 13:if(o=e.memoizedState,o!==null)return o.dehydrated!==null?(Os(Zc,Zc.current&1),e.flags|=128,null):n&e.child.childLanes?PFe(t,e,n):(Os(Zc,Zc.current&1),t=U6(t,e,n),t!==null?t.sibling:null);Os(Zc,Zc.current&1);break;case 19:if(o=(n&e.childLanes)!==0,t.flags&128){if(o)return CFe(t,e,n);e.flags|=128}if(i=e.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Os(Zc,Zc.current),o)break;return null;case 22:case 23:return e.lanes=0,bFe(t,e,n)}return U6(t,e,n)}var RFe,Xle,HFe,MFe;RFe=function(t,e){for(var n=e.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Xle=function(){};HFe=function(t,e,n,o){var i=t.memoizedProps;if(i!==o){t=e.stateNode,Pv(h9.current);var r=null;switch(n){case"input":i=gle(t,i),o=gle(t,o),r=[];break;case"select":i=a0({},i,{value:void 0}),o=a0({},o,{value:void 0}),r=[];break;case"textarea":i=Ale(t,i),o=Ale(t,o),r=[];break;default:typeof i.onClick!="function"&&typeof o.onClick=="function"&&(t.onclick=hV)}vle(n,o);var a;n=null;for(c in i)if(!o.hasOwnProperty(c)&&i.hasOwnProperty(c)&&i[c]!=null)if(c==="style"){var l=i[c];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(OE.hasOwnProperty(c)?r||(r=[]):(r=r||[]).push(c,null));for(c in o){var s=o[c];if(l=i!=null?i[c]:void 0,o.hasOwnProperty(c)&&s!==l&&(s!=null||l!=null))if(c==="style")if(l){for(a in l)!l.hasOwnProperty(a)||s&&s.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in s)s.hasOwnProperty(a)&&l[a]!==s[a]&&(n||(n={}),n[a]=s[a])}else n||(r||(r=[]),r.push(c,n)),n=s;else c==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,l=l?l.__html:void 0,s!=null&&l!==s&&(r=r||[]).push(c,s)):c==="children"?typeof s!="string"&&typeof s!="number"||(r=r||[]).push(c,""+s):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(OE.hasOwnProperty(c)?(s!=null&&c==="onScroll"&&oc("scroll",t),r||l===s||(r=[])):(r=r||[]).push(c,s))}n&&(r=r||[]).push("style",n);var c=r;(e.updateQueue=c)&&(e.flags|=4)}};MFe=function(t,e,n,o){n!==o&&(e.flags|=4)};function QI(t,e){if(!Nc)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var o=null;n!==null;)n.alternate!==null&&(o=n),n=n.sibling;o===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:o.sibling=null}}function Lf(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,o=0;if(e)for(var i=t.child;i!==null;)n|=i.lanes|i.childLanes,o|=i.subtreeFlags&14680064,o|=i.flags&14680064,i.return=t,i=i.sibling;else for(i=t.child;i!==null;)n|=i.lanes|i.childLanes,o|=i.subtreeFlags,o|=i.flags,i.return=t,i=i.sibling;return t.subtreeFlags|=o,t.childLanes=n,e}function put(t,e,n){var o=e.pendingProps;switch(lpe(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Lf(e),null;case 1:return Vp(e.type)&&pV(),Lf(e),null;case 3:return o=e.stateNode,NC(),Ac(_p),Ac(fh),mpe(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(t===null||t.child===null)&&(BB(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,s2!==null&&(tse(s2),s2=null))),Xle(t,e),Lf(e),null;case 5:gpe(e);var i=Pv(tk.current);if(n=e.type,t!==null&&e.stateNode!=null)HFe(t,e,n,o,i),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!o){if(e.stateNode===null)throw Error(Go(166));return Lf(e),null}if(t=Pv(h9.current),BB(e)){o=e.stateNode,n=e.type;var r=e.memoizedProps;switch(o[t9]=e,o[ZE]=r,t=(e.mode&1)!==0,n){case"dialog":oc("cancel",o),oc("close",o);break;case"iframe":case"object":case"embed":oc("load",o);break;case"video":case"audio":for(i=0;i<\/script>",t=t.removeChild(t.firstChild)):typeof o.is=="string"?t=a.createElement(n,{is:o.is}):(t=a.createElement(n),n==="select"&&(a=t,o.multiple?a.multiple=!0:o.size&&(a.size=o.size))):t=a.createElementNS(t,n),t[t9]=e,t[ZE]=o,RFe(t,e,!1,!1),e.stateNode=t;e:{switch(a=xle(n,o),n){case"dialog":oc("cancel",t),oc("close",t),i=o;break;case"iframe":case"object":case"embed":oc("load",t),i=o;break;case"video":case"audio":for(i=0;iBC&&(e.flags|=128,o=!0,QI(r,!1),e.lanes=4194304)}else{if(!o)if(t=xV(a),t!==null){if(e.flags|=128,o=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),QI(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!Nc)return Lf(e),null}else 2*L0()-r.renderingStartTime>BC&&n!==1073741824&&(e.flags|=128,o=!0,QI(r,!1),e.lanes=4194304);r.isBackwards?(a.sibling=e.child,e.child=a):(n=r.last,n!==null?n.sibling=a:e.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=L0(),e.sibling=null,n=Zc.current,Os(Zc,o?n&1|2:n&1),e):(Lf(e),null);case 22:case 23:return Rpe(),o=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==o&&(e.flags|=8192),o&&e.mode&1?J1&1073741824&&(Lf(e),e.subtreeFlags&6&&(e.flags|=8192)):Lf(e),null;case 24:return null;case 25:return null}throw Error(Go(156,e.tag))}function gut(t,e){switch(lpe(e),e.tag){case 1:return Vp(e.type)&&pV(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return NC(),Ac(_p),Ac(fh),mpe(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return gpe(e),null;case 13:if(Ac(Zc),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Go(340));LC()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return Ac(Zc),null;case 4:return NC(),null;case 10:return dpe(e.type._context),null;case 22:case 23:return Rpe(),null;case 24:return null;default:return null}}var OB=!1,eh=!1,mut=typeof WeakSet=="function"?WeakSet:Set,Bi=null;function kP(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(o){u0(t,e,o)}else n.current=null}function Jle(t,e,n){try{n()}catch(o){u0(t,e,o)}}var Q6e=!1;function yut(t,e){if(zle=uV,t=Eke(),rpe(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var o=n.getSelection&&n.getSelection();if(o&&o.rangeCount!==0){n=o.anchorNode;var i=o.anchorOffset,r=o.focusNode;o=o.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var a=0,l=-1,s=-1,c=0,u=0,d=t,f=null;t:for(;;){for(var p;d!==n||i!==0&&d.nodeType!==3||(l=a+i),d!==r||o!==0&&d.nodeType!==3||(s=a+o),d.nodeType===3&&(a+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===t)break t;if(f===n&&++c===i&&(l=a),f===r&&++u===o&&(s=a),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Dle={focusedElem:t,selectionRange:n},uV=!1,Bi=e;Bi!==null;)if(e=Bi,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Bi=t;else for(;Bi!==null;){e=Bi;try{var g=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var y=g.memoizedProps,A=g.memoizedState,x=e.stateNode,C=x.getSnapshotBeforeUpdate(e.elementType===e.type?y:Zy(e.type,y),A);x.__reactInternalSnapshotBeforeUpdate=C}break;case 3:var b=e.stateNode.containerInfo;b.nodeType===1?b.textContent="":b.nodeType===9&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Go(163))}}catch(v){u0(e,e.return,v)}if(t=e.sibling,t!==null){t.return=e.return,Bi=t;break}Bi=e.return}return g=Q6e,Q6e=!1,g}function GD(t,e,n){var o=e.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var i=o=o.next;do{if((i.tag&t)===t){var r=i.destroy;i.destroy=void 0,r!==void 0&&Jle(e,n,r)}i=i.next}while(i!==o)}}function fK(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var o=n.create;n.destroy=o()}n=n.next}while(n!==e)}}function Kle(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function IFe(t){var e=t.alternate;e!==null&&(t.alternate=null,IFe(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[t9],delete e[ZE],delete e[Fle],delete e[Z0t],delete e[eut])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function zFe(t){return t.tag===5||t.tag===3||t.tag===4}function Z6e(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||zFe(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function qle(t,e,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=hV));else if(o!==4&&(t=t.child,t!==null))for(qle(t,e,n),t=t.sibling;t!==null;)qle(t,e,n),t=t.sibling}function $le(t,e,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(o!==4&&(t=t.child,t!==null))for($le(t,e,n),t=t.sibling;t!==null;)$le(t,e,n),t=t.sibling}var qd=null,n2=!1;function u4(t,e,n){for(n=n.child;n!==null;)DFe(t,e,n),n=n.sibling}function DFe(t,e,n){if(f9&&typeof f9.onCommitFiberUnmount=="function")try{f9.onCommitFiberUnmount(iK,n)}catch{}switch(n.tag){case 5:eh||kP(n,e);case 6:var o=qd,i=n2;qd=null,u4(t,e,n),qd=o,n2=i,qd!==null&&(n2?(t=qd,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):qd.removeChild(n.stateNode));break;case 18:qd!==null&&(n2?(t=qd,n=n.stateNode,t.nodeType===8?Hne(t.parentNode,n):t.nodeType===1&&Hne(t,n),JE(t)):Hne(qd,n.stateNode));break;case 4:o=qd,i=n2,qd=n.stateNode.containerInfo,n2=!0,u4(t,e,n),qd=o,n2=i;break;case 0:case 11:case 14:case 15:if(!eh&&(o=n.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){i=o=o.next;do{var r=i,a=r.destroy;r=r.tag,a!==void 0&&(r&2||r&4)&&Jle(n,e,a),i=i.next}while(i!==o)}u4(t,e,n);break;case 1:if(!eh&&(kP(n,e),o=n.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=n.memoizedProps,o.state=n.memoizedState,o.componentWillUnmount()}catch(l){u0(n,e,l)}u4(t,e,n);break;case 21:u4(t,e,n);break;case 22:n.mode&1?(eh=(o=eh)||n.memoizedState!==null,u4(t,e,n),eh=o):u4(t,e,n);break;default:u4(t,e,n)}}function eAe(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new mut),e.forEach(function(o){var i=Cut.bind(null,t,o);n.has(o)||(n.add(o),o.then(i,i))})}}function Wy(t,e){var n=e.deletions;if(n!==null)for(var o=0;oi&&(i=a),o&=~r}if(o=i,o=L0()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*wut(o/1960))-o,10t?16:t,aw===null)var o=!1;else{if(t=aw,aw=null,CV=0,Tl&6)throw Error(Go(331));var i=Tl;for(Tl|=4,Bi=t.current;Bi!==null;){var r=Bi,a=r.child;if(Bi.flags&16){var l=r.deletions;if(l!==null){for(var s=0;sL0()-Ppe?Zv(t,0):Tpe|=n),Gp(t,e)}function BFe(t,e){e===0&&(t.mode&1?(e=kB,kB<<=1,!(kB&130023424)&&(kB=4194304)):e=1);var n=ap();t=N6(t,e),t!==null&&(IL(t,e,n),Gp(t,n))}function Put(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),BFe(t,n)}function Cut(t,e){var n=0;switch(t.tag){case 13:var o=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:o=t.stateNode;break;default:throw Error(Go(314))}o!==null&&o.delete(e),BFe(t,n)}var jFe;jFe=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||_p.current)Wp=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return Wp=!1,hut(t,e,n);Wp=!!(t.flags&131072)}else Wp=!1,Nc&&e.flags&1048576&&_ke(e,yV,e.index);switch(e.lanes=0,e.tag){case 2:var o=e.type;l_(t,e),t=e.pendingProps;var i=FC(e,fh.current);uC(e,n),i=Ape(null,e,o,t,i,n);var r=wpe();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Vp(o)?(r=!0,gV(e)):r=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,hpe(e),i.updater=uK,e.stateNode=i,i._reactInternals=e,jle(e,o,t,n),e=_le(null,e,o,!0,r,n)):(e.tag=0,Nc&&r&&ape(e),Vh(null,e,i,n),e=e.child),e;case 16:o=e.elementType;e:{switch(l_(t,e),t=e.pendingProps,i=o._init,o=i(o._payload),e.type=o,i=e.tag=Hut(o),t=Zy(o,t),i){case 0:e=Ole(null,e,o,t,n);break e;case 1:e=K6e(null,e,o,t,n);break e;case 11:e=X6e(null,e,o,t,n);break e;case 14:e=J6e(null,e,o,Zy(o.type,t),n);break e}throw Error(Go(306,o,""))}return e;case 0:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:Zy(o,i),Ole(t,e,o,i,n);case 1:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:Zy(o,i),K6e(t,e,o,i,n);case 3:e:{if(TFe(e),t===null)throw Error(Go(387));o=e.pendingProps,r=e.memoizedState,i=r.element,Jke(t,e),vV(e,o,null,n);var a=e.memoizedState;if(o=a.element,r.isDehydrated)if(r={element:o,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},e.updateQueue.baseState=r,e.memoizedState=r,e.flags&256){i=UC(Error(Go(423)),e),e=q6e(t,e,o,n,i);break e}else if(o!==i){i=UC(Error(Go(424)),e),e=q6e(t,e,o,n,i);break e}else for(cg=Rw(e.stateNode.containerInfo.firstChild),mg=e,Nc=!0,s2=null,n=Qke(e,null,o,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(LC(),o===i){e=U6(t,e,n);break e}Vh(t,e,o,n)}e=e.child}return e;case 5:return Zke(e),t===null&&Nle(e),o=e.type,i=e.pendingProps,r=t!==null?t.memoizedProps:null,a=i.children,Ele(o,i)?a=null:r!==null&&Ele(o,r)&&(e.flags|=32),SFe(t,e),Vh(t,e,a,n),e.child;case 6:return t===null&&Nle(e),null;case 13:return PFe(t,e,n);case 4:return ppe(e,e.stateNode.containerInfo),o=e.pendingProps,t===null?e.child=WC(e,null,o,n):Vh(t,e,o,n),e.child;case 11:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:Zy(o,i),X6e(t,e,o,i,n);case 7:return Vh(t,e,e.pendingProps,n),e.child;case 8:return Vh(t,e,e.pendingProps.children,n),e.child;case 12:return Vh(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(o=e.type._context,i=e.pendingProps,r=e.memoizedProps,a=i.value,Os(AV,o._currentValue),o._currentValue=a,r!==null)if(L2(r.value,a)){if(r.children===i.children&&!_p.current){e=U6(t,e,n);break e}}else for(r=e.child,r!==null&&(r.return=e);r!==null;){var l=r.dependencies;if(l!==null){a=r.child;for(var s=l.firstContext;s!==null;){if(s.context===o){if(r.tag===1){s=T6(-1,n&-n),s.tag=2;var c=r.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?s.next=s:(s.next=u.next,u.next=s),c.pending=s}}r.lanes|=n,s=r.alternate,s!==null&&(s.lanes|=n),Ule(r.return,n,e),l.lanes|=n;break}s=s.next}}else if(r.tag===10)a=r.type===e.type?null:r.child;else if(r.tag===18){if(a=r.return,a===null)throw Error(Go(341));a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),Ule(a,n,e),a=r.sibling}else a=r.child;if(a!==null)a.return=r;else for(a=r;a!==null;){if(a===e){a=null;break}if(r=a.sibling,r!==null){r.return=a.return,a=r;break}a=a.return}r=a}Vh(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,o=e.pendingProps.children,uC(e,n),i=jm(i),o=o(i),e.flags|=1,Vh(t,e,o,n),e.child;case 14:return o=e.type,i=Zy(o,e.pendingProps),i=Zy(o.type,i),J6e(t,e,o,i,n);case 15:return xFe(t,e,e.type,e.pendingProps,n);case 17:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:Zy(o,i),l_(t,e),e.tag=1,Vp(o)?(t=!0,gV(e)):t=!1,uC(e,n),qke(e,o,i),jle(e,o,i,n),_le(null,e,o,!0,t,n);case 19:return CFe(t,e,n);case 22:return bFe(t,e,n)}throw Error(Go(156,e.tag))};function YFe(t,e){return pke(t,e)}function Rut(t,e,n,o){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mm(t,e,n,o){return new Rut(t,e,n,o)}function Mpe(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Hut(t){if(typeof t=="function")return Mpe(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Jhe)return 11;if(t===Khe)return 14}return 2}function zw(t,e){var n=t.alternate;return n===null?(n=Mm(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function u_(t,e,n,o,i,r){var a=2;if(o=t,typeof t=="function")Mpe(t)&&(a=1);else if(typeof t=="string")a=5;else e:switch(t){case PP:return ex(n.children,i,r,e);case Xhe:a=8,i|=8;break;case dle:return t=Mm(12,n,e,i|2),t.elementType=dle,t.lanes=r,t;case fle:return t=Mm(13,n,e,i),t.elementType=fle,t.lanes=r,t;case hle:return t=Mm(19,n,e,i),t.elementType=hle,t.lanes=r,t;case $Ee:return pK(n,i,r,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case KEe:a=10;break e;case qEe:a=9;break e;case Jhe:a=11;break e;case Khe:a=14;break e;case N4:a=16,o=null;break e}throw Error(Go(130,t==null?t:typeof t,""))}return e=Mm(a,n,e,i),e.elementType=t,e.type=o,e.lanes=r,e}function ex(t,e,n,o){return t=Mm(7,t,o,e),t.lanes=n,t}function pK(t,e,n,o){return t=Mm(22,t,o,e),t.elementType=$Ee,t.lanes=n,t.stateNode={isHidden:!1},t}function Lne(t,e,n){return t=Mm(6,t,null,e),t.lanes=n,t}function Wne(t,e,n){return e=Mm(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function Mut(t,e,n,o,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yne(0),this.expirationTimes=yne(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yne(0),this.identifierPrefix=o,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Ipe(t,e,n,o,i,r,a,l,s){return t=new Mut(t,e,n,l,s),e===1?(e=1,r===!0&&(e|=8)):e=0,r=Mm(3,null,null,e),t.current=r,r.stateNode=t,r.memoizedState={element:o,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hpe(r),t}function Iut(t,e,n){var o=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(GFe)}catch(t){console.error(t)}}GFe(),_Ee.exports=zg;var Sd=_Ee.exports;const MV=kr(Sd),Fut=DEe({__proto__:null,default:MV},[Sd]);var XFe,sAe=Sd;XFe=sAe.createRoot,sAe.hydrateRoot;var JFe={exports:{}},KFe={},qFe={exports:{}},$Fe={};/** * @license React * use-sync-external-store-shim.production.min.js * @@ -72,15 +72,15 @@ AC will not run if the highest outside temperature of the day is lower than the 当日最高外面温度低于恒温器设定值加上此阈值,空调不开。`,Press:"按",Open:"打开",Save:"保存",SaveAsImage:"保存为图像",SaveAsCsv:"保存为CSV",Update:"刷新",Paste:"粘贴",Copy:"复制",Cut:"剪切",Delete:"删除",Lock:"固定",Translucent:"半透明",Color:"颜色",Pattern:"图案",Texture:"材质",Thickness:"厚度",Size:"尺寸",Yes:"是",No:"不",OK:"确定",Cancel:"取消",Apply:"应用",Close:"关闭",ApplyTo:"适用于",Run:"运行",Pause:"暂停",Resume:"继续",Clear:"清空",Warning:"警告",Caution:"小心",Reminder:"提醒",Length:"长度",Width:"宽度",Height:"高度",Radius:"半径",Angle:"角度",Azimuth:"方位角",Coordinates:"坐标",Weather:"天气",Show:"显示",Animate:"动画",Date:"日期",Time:"时间",Title:"标题",Owner:"所有者",Action:"操作",Rename:"改名",Location:"位置",Latitude:"纬度",Month:"月份",Day:"天",Hour:"小时",Daylight:"白天长度",Radiation:"辐射",Temperature:"温度",kWh:"千瓦时",dollar:"元",MeterPerSecond:"米/秒",NorthInitial:"北",SouthInitial:"南",EastInitial:"东",WestInitial:"西",Fixed:"固定",Elements:"部件",Energy:"能量",Unknown:"未知",Label:"标签",Description:"描述",NoDescription:"无描述",MaximumCharacters:"最多字符数",Author:"作者",Publisher:"发布者",Building:"建筑",ResidentialBuilding:"住宅建筑",CommercialBuilding:"商用建筑",SchoolBuilding:"学校建筑",TouristAttraction:"旅游景点",UnderConstruction:"在建",Photovoltaic:"光伏",WindPower:"风能",ColocationProjects:"共用空间项目",Anonymous:"无名氏",Nickname:"别名",Pin:"置顶",Unpin:"解除置顶"},shared:{NoTexture:"无材质",FoundationElement:"地基",CuboidElement:"长方体",PolygonElement:"多边形",SensorElement:"传感器",SolarPanelElement:"光伏板",WaterHeaterElement:"太阳能热水器",ParabolicDishElement:"抛物线碟",ParabolicTroughElement:"抛物线槽",FresnelReflectorElement:"菲涅耳反射镜",HeliostatElement:"定日镜",WindTurbineElement:"风力涡轮机",LightElement:"电灯",ElementLocked:"固定",ModelType:"模型类别",OutputBreakdown:"分列发电量",MoreResults:"更多结果"},message:{CalculationMayBeSlowDoYouWantToContinue:"计算可能会很慢。您想继续吗?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"加大太阳辐射热图网格的尺寸可加速",ModelNotFound:"没有找到模型",CannotSignIn:"登录失败",CannotSignOut:"退出失败",YourAccountWasCreated:"成功建立您的账号。",CannotCreateAccount:"无法创建账号",YourAccountSettingsWereSaved:"您的账号设定已保存。",CannotSaveYourAccountSettings:"您的账号设定无法保存",CannotSaveYourFileToCloud:"无法保存您的文件到云端",CannotCreateNewProject:"无法创建新项目",CannotCreateNewProjectWithoutTitle:"没有标题, 无法创建新项目",CannotOpenYourProjects:"无法打开您的项目列表",CannotOpenProject:"无法打开项目",CannotDeleteProject:"无法删除项目",CannotRenameProject:"无法给项目改名",CannotAddDesignToProject:"无法把此设计加到项目里",CannotAddDesignToProjectOwnedByOthers:"不能把此设计加到别人的项目里",DesignRemovedFromProject:"设计被成功地从项目里删除",CannotRemoveDesignFromProject:"无法把此设计从项目里删除",CannotUpdateProject:"无法更新项目",CannotFetchProjectData:"无法取得项目数据",TitleUsedChooseDifferentOne:"此标题已经被使用, 请采用不同的标题",CloudFileWithTitleExistsDoYouWantToOverwrite:"使用此标题的云文件已经存在,您确定要覆盖它吗?",CloudFileNotFound:"找不到此云端文件",CannotLoadModelsOnMap:"无法下载地图上的模型",CannotLoadLeaderboard:"无法下载排行榜",CannotPublishModelOnMap:"模型无法发布到地图上",CannotLikeModelFromMap:"无法点赞地图上的模型",CannotDeleteModelFromMap:"无法删除地图上的模型",ModelDeletedFromMap:"模型已从地图上删除",DoYouWantToDeleteModelFromMap:"您要删除地图上的这个模型吗?",CannotOpenCloudFile:"此云端文件无法打开",CannotReadCloudFile:"无法读取此云端文件",CannotWriteCloudFile:"无法存储此云端文件",CloudFileCopied:"拷贝云端文件",CannotOpenCloudFolder:"您的云端文件夹无法打开",CannotDeleteCloudFile:"无法删除此云端文件",CannotRenameCloudFile:"此云端文件的名字无法更改",DoYouWantToSaveChanges:"您要保存当前文件吗?",NotApplicableToSelectedAction:"此值不适用于当前选择范围",ThisElementIsLocked:"这个部件被锁定。",ThisCannotBeUndone:"这个操作一旦执行就不能撤销。",AzimuthOfNorthIsZero:"正北的方位角为零度",CounterclockwiseAzimuthIsPositive:"逆时针为正",SouthFacingIsZero:"朝南为零度",ClockwiseRotationIsPositive:"顺时针为正",MoveCancelledBecauseOfOverlap:"位置重叠,移动取消。",MoveOutsideBoundaryCancelled:"位置出界,移动取消。",RotationCancelledBecauseOfOverlap:"位置重叠,旋转取消。",RotationOutsideBoundaryCancelled:"位置出界,旋转取消。",ResizingCancelledBecauseOfOverlap:"位置重叠,尺寸调整取消。",ResizingOutsideBoundaryCancelled:"位置出界,尺寸调整取消。",CannotPasteOutsideBoundary:"位置出界,不能复制。",CannotPasteBecauseOfOverlap:"位置重叠,不能复制。",CannotMoveObjectTooFar:"位置太远,移动取消。",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"采用新布局之前必须移除现有的光伏板。",DoYouWantToContinue:"您想继续吗?",SolarPanelsCannotIntersectWithGround:"光伏板不能和地面接触。",SolarPanelsCannotOverlapWithOneAnother:"光伏板不能重叠。",ScreenshotSaved:"截屏图片保存在下载文件夹里。",CsvFileSaved:"CSV保存在下载文件夹里。",SimulationStarted:"模拟开始。",SimulationCompleted:"模拟结束。",SimulationAborted:"模拟取消。",SimulationPaused:"模拟暂停。",CancelSimulation:"取消模拟",PauseSimulation:"暂停模拟",ResumeSimulation:"继续模拟",SimulationWillNotStartDueToErrors:"由于错误模拟无法运行",SimulationWillStartDespiteWarnings:"发现问题,但模拟仍然将运行。",EvolutionStarted:"演化开始。",EvolutionCompleted:"演化结束。",EvolutionAborted:"演化取消。",EvolutionPaused:"演化暂停。",EncounterEvolutionError:"演化出错。",CancelEvolution:"取消演化",PauseEvolution:"暂停演化",ResumeEvolution:"继续演化",ConvergenceThresholdHasBeenReached:"收敛阈值已达到。",MaximumNumberOfGenerationsHasBeenReached:"最大世代数已达到。",MaximumNumberOfStepsHasBeenReached:"最大步数已达到。",ObjectiveFunctionTypeError:"此操作不支持当前的目标函数。请从菜单启动此功能。",WallsAreNotAtSameHeight:"墙体高度不同。",WallsAreNotPerpendicular:"墙体不垂直。",WallsAreNotConnected:"墙体不相连。",WallsNumberNeedToBeFour:"墙体数量必须为四个。",BuildingContainsEmptyWall:"建筑物有空墙。",BuildingRoofMissing:"建筑物没有屋顶。",UnknownErrors:"未知错误。"},menu:{AnalysisOptions:"分析选项",option:{GridCellSize:"计算网格的尺寸",SamplingFrequency:"采样频率",TimesPerHour:"每小时采样次数",DaysPerYear:"每一年采样天数"},mainMenu:"主菜单",cloudMenu:"云菜单",projectSubMenu:"项目",project:{CreateNewProject:"创建新项目",OpenProject:"打开项目",SaveProject:"保存项目",SaveProjectAs:"另存项目为",YouMustLogInToCreateProject:"您必须登录才能创建项目",YouMustLogInToOpenProject:"您必须登录才能打开项目"},fileSubMenu:"文件",file:{CreateNewFile:"创建新文件",OpenLocalFile:"打开本地文件",SaveAsLocalFile:"保存为本地文件",SavingAbortedMustHaveValidFileName:"文件名无效,保存失败",OpenCloudFile:"打开云端文件",SaveCloudFile:"保存云端文件",SaveAsCloudFile:"另存云端文件为",SavingAbortedMustHaveValidTitle:"云端文件名无效,保存失败",ToSaveYourWorkPleaseSignIn:"为了保存您的云端文件,请先登录。",TakeScreenshot:"截屏",UseCloudFileName:"采用云端文件名",PublishOnModelsMap:"发布到地图上",PublishedOnModelsMap:"您的模型成功发布到地图上",UpdatedOnModelsMap:"您的模型更新成功",YouMustLogInToPublishYourModel:"您必须登录才能发布模型",YouCannotPublishAModelThatYouDoNotOwn:"您不能发布他人的模型",YouMustSaveModelOnCloudBeforePublishingIt:"您必须先把此模型保存在云端才能发布它"},editSubMenu:"编辑",edit:{Undo:"撤销",Redo:"重做"},viewSubMenu:"视界",view:{NavigationView:"导航模式",TwoDimensionalView:"二维模式",ResetView:"重置视角",ZoomIn:"放大",ZoomOut:"缩小",AutoRotate:"自动旋转",ShowShadow:"显示阴影",ShowSurfaceShininess:"显示表面光泽",TranslucentFloatingWindows:"透明浮动窗口",accessoriesSubMenu:"配件",accessories:{SiteInformation:"位置信息",DesignInformation:"设计信息",Instruction:"操作说明",StickyNote:"便签",Note:"便签"}},settingsSubMenu:"设置",settings:{WeatherData:"气象数据",DiurnalTemperature:"昼夜温度",Heliodon:"日影仪",SunAndTime:"太阳和时间"},benchmarksSubMenu:"基准",benchmarks:{SolarRadiationPredictionVsMeasurement:"太阳能辐射模型预测和实际测量的对比",BESTESTCase600:"建筑物能耗模拟测试:BESTEST案例600",BESTESTCase610:"建筑物能耗模拟测试:BESTEST案例610",BESTESTCase620:"建筑物能耗模拟测试:BESTEST案例620",BESTESTCase630:"建筑物能耗模拟测试:BESTEST案例630"},graph:{LineWidth:"线条宽度",SymbolSize:"符号大小",BarCategoryGap:"直条间隙",ShowHorizontalGridLines:"显示格子的水平线条",ShowVerticalGridLines:"显示格子的竖直线条"},analysisSubMenu:"分析",physicsSubMenu:"物理",physics:{DailySolarRadiationHeatmap:"当日太阳辐射总量分布热图",SolarRadiationHeatmapOptions:"太阳辐射热图选项",SolarRadiationHeatmapGridCellSize:"太阳辐射热图网格的尺寸",SolarRadiationHeatmapMaxValue:"太阳辐射热图最大值",SolarRadiationHeatmapNoAnimation:"若无移动部件则省略动画",ReflectionHeatmap:"反射热图"},sensorSubMenu:"传感器",sensor:{CollectDailyData:"收集当天数据",CollectYearlyData:"收集全年数据",SensorSimulationNoAnimation:"若无移动部件则省略动画"},buildingSubMenu:"建筑物",building:{AnalyzeDailyBuildingEnergy:"建筑物当天能耗分析",AnalyzeYearlyBuildingEnergy:"建筑物全年能耗分析",EnergyAnalysisOptions:"能耗分析选项",EnergyGridCellSize:"计算网格的尺寸",BuildingEnergySimulationNoAnimation:"若无移动部件则省略动画"},solarPanelSubMenu:"太阳能光伏板",solarPanel:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出",AnalyzeVisibility:"分析可见度",PanelDiscretization:"光伏板离散化方法",Exact:"准确",Approximate:"近似",EnergyGridCellSize:"计算网格的尺寸",VisibilityGridCellSize:"视界因子计算网格的尺寸",EnergyAnalysisOptions:"能量分析选项",VisibilityAnalysisOptions:"可见度分析选项",SolarPanelSimulationNoAnimation:"若无移动部件则省略动画"},parabolicTroughSubMenu:"抛物线槽",parabolicTrough:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},parabolicDishSubMenu:"抛物线碟",parabolicDish:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},fresnelReflectorSubMenu:"菲涅尔反射镜",fresnelReflector:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},heliostatSubMenu:"定日镜",heliostat:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},solarUpdraftTowerSubMenu:"太阳能上升气流塔",solarUpdraftTower:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出",SolarUpdraftTowerSimulationNoAnimation:"若无移动部件则省略动画"},tutorialsSubMenu:"教程",solarEnergyScienceSubMenu:"太阳能科学",solarEnergyScienceTutorials:{SunAngles:"太阳相对于地面观察者的角度",InsolationAndClimate:"太阳辐射和气候的关系",SolarRadiationToBox:"一个长方体受到的太阳能辐射分析"},buildingScienceSubMenu:"建筑科学",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"房屋的热学封套和围护封套",EffectOfSizeOnBuildingEnergy:"房屋大小对能耗的影响",EffectOfOrientationOnBuildingEnergy:"房屋方位对能耗的影响",EffectOfInsulationOnBuildingEnergy:"房屋隔热对能耗的影响",EffectOfRoofColorOnBuildingEnergy:"屋顶颜色对建筑物能耗的影响",EffectOfEavesOverhangLengthOnBuildingEnergy:"屋檐延伸长度对建筑物能耗的影响",EffectOfWindowSHGCOnBuildingEnergy:"窗户太阳能输入对房屋能耗的影响",EffectOfThermostatSetpointOnBuildingEnergy:"恒温器设定值对房屋能耗的影响",EffectOfSolarPanelsOnBuildingEnergy:"光伏板对房屋能耗的影响",EffectOfGroundTemperatureOnBuildingEnergy:"地表温度对房屋能耗的影响",EffectOfTreesOnBuildingEnergy:"树荫对房屋能耗的影响"},buildingDesignSubMenu:"建筑设计",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"有棚顶窗的科德角风格的住宅",MansardRoofWithDormers:"有天窗的折线屋顶",GableRoofVsHipRoof:"双坡屋顶和四坡屋顶的对比",ColonialVsSaltbox:"殖民地风格和盐盒风格的对比",GambrelRoofVsMansardRoof:"复斜屋顶和折线屋顶的对比",CombinationRoofVsBonnetRoof:"组合屋顶和帽檐屋顶的对比",DutchGableRoof:"荷兰双坡屋顶",GableAndValleyRoof:"坡谷屋顶",ClerestoryRoof:"天窗屋顶",MonitorRoof:"采光屋顶",AFrameHouse:"A字形房子",HalfTimberedHouse:"半木骨架房子",AllBasicRoofTypes:"所有的基本屋顶类型"},photovoltaicSolarPowerSubMenu:"光伏发电",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"光伏板倾斜角对发电量的影响",EffectOfAzimuthOfSolarPanel:"光伏板方位角对发电量的影响",SolarPanelTypes:"光伏板类型",VerticalBifacialSolarPanels:"竖直的双面光伏板",CompareMonofacialAndBifacialSolarPanels:"单面光伏板和双面光伏板的对比",SolarTrackers:"自动追日器",CoveringGroundWithSolarPanels:"为什么我们不简单地用光伏板覆盖地面",InterRowSpacingOfSolarPanelArray:"光伏板阵列行间距对发电量的影响",EffectOfOrientationOfSolarPanels:"光伏板排列方向对发电量的影响",SolarPanelArrayAutomaticLayout:"光伏板自动排列"},concentratedSolarPowerSubMenu:"光热发电",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"抛物线槽方位角对发电量的影响",EffectOfLatusRectumOfParabolicTrough:"抛物线槽通径对发电量的影响",FocusSunlightWithParabolicDish:"用抛物线碟聚焦陽光",LinearFresnelReflectors:"用直线式菲涅尔反射镜聚焦陽光",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"吸热管的安装高度对直线式菲涅尔反射镜发电量的影响",EffectOfAzimuthOfLinearFresnelReflectors:"直线式菲涅尔反射镜方位角对发电量的影响",LinearFresnelReflectorsWithTwoAbsorbers:"配备两个吸收管的直线式菲涅尔反射镜阵列",CosineEfficiencyOfHeliostats:"定日镜的余弦效率",ShadowingAndBlockingOfHeliostats:"定日镜的阴影和遮挡",EffectSolarPowerTowerHeight:"吸收塔高度对发电量的影响",SolarPowerTower:"塔式光热发电站"},otherTypesOfSolarPowerSubMenu:"其它类型的太阳能发电",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"太阳能上升气流塔"},windPowerSubMenu:"风力发电",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"转子叶片的数目对风力涡轮机输出的影响",EffectOfPitchAngleOfWindTurbineBlades:"转子叶片的俯仰角对风力涡轮机输出的影响",BirdSafeBladeDesign:"对鸟类安全的叶片设计",OffshoreWindFarm:"海上风电场"},colocationSubMenu:"共用空间项目",colocationTutorials:{AgricultureSolarWindColocation:"农业光伏风力共用空间"},generativeDesignSubMenu:"生成式设计",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"单面光伏板阵列的倾斜角",BifacialSolarPanelArrayTiltAngle:"双面光伏板阵列的倾斜角",OutputOfSolarPanelArrayInDifferentPlaces:"一个光伏板阵列在不同地区的产出",SimpleSolarFarmParetoFront:"简单太阳能农场设计的帕累托前沿"},examplesSubMenu:"例子",solarEnergySubMenu:"太阳能",solarEnergyExamples:{SunBeamAndHeliodon:"太阳光束和日影仪",RooftopSolarPanels:"屋顶光伏板",NevadaSolarOneParabolicTroughArray:"内华达州太阳能一号的抛物线槽阵列",TooeleParabolicDishArray:"犹他州图埃勒的抛物线碟阵列",PS10SolarPowerTower:"西班牙塞维利亚的PS10太阳能发电塔",TucsonLinearFresnelReflectors:"亚利桑那州图森的直线式菲涅尔反射镜阵列",SolarCanopyFormFactors:"太阳能天篷外形设计",SolarCanopyOverBleachers:"看台太阳能天篷",SolarCanopyOverGarage:"车库太阳能天篷",SolarBusStop:"太阳能候车亭",SolarFacadeTesla:"特斯拉光伏墙",BuildingIntegratedPhotovoltaics:"建筑整合光伏",Floatovoltaics:"浮动光伏",Agrivoltaics:"农业光伏",VegetativeBuffer:"太阳能农场绿化带",RainbowSwashSolarFarmBostonMA:"马萨诸塞州波士顿彩虹激流旁边的光伏板阵列",MickeyMouseSolarFarmOrlandoFL:"佛罗里达州奥兰多的米老鼠形状光伏板阵列",SolarPanelsOverCanalBakersfieldCA:"加利福尼亚州贝克斯菲尔德灌溉渠上假想的光伏板阵列",SolarNoiseBarrierLexingtonMA:"马萨诸塞州列克星敦高速公路噪音墙上假想的光伏板",HSATSolarTrackersRaleighNC:"北卡罗来纳州罗利的一个水平方向单轴旋转追日光伏板阵列(HSAT)",AADATSolarTrackersLancasterCA:"加利福尼亚州兰开斯特的一个双轴旋转追日光伏板阵列(AADAT)",SolarUpdraftTowerInCity:"太阳能上升气流塔在城市中的应用"},builtEnvironmentSubMenu:"建造环境",residentialBuildingsSubMenu:"住宅建筑",residentialBuildingExamples:{ColonialHouse:"殖民地风格的住宅",DutchColonialHouse:"荷兰殖民地风格的住宅",TShapedHouse:"T字型房子",CapeCodHouseWithGarage:"有车库的科德角风格的住宅",Solarium:"有日光浴室的房子",Church1:"教堂例一",Cathedral1:"主教座堂例一",Cathedral2:"主教座堂例二",Mosque1:"清真寺例一",AdobeTaosHouse:"陶斯土坯房",RanchHouse:"牧场风格的住宅",BonnetHouse:"有帽檐屋顶的住宅",BarnStyleHouse:"谷仓式风格的住宅",ModernHouse:"现代风格的住宅",ButterflyRoofHouse:"蝴蝶型屋顶的住宅"},commercialBuildingsSubMenu:"商用建筑",commercialBuildingExamples:{WhiteHouse:"白宫",BilimMersinTurkiye:"土耳其梅尔辛科学教育中心",SpanishStyleHotel:"西班牙风格旅馆",ApartmentBuilding:"公寓楼",OfficeBuilding:"办公楼",Hotel:"旅馆"},buildingComplexesSubMenu:"建筑群",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"佛蒙特州南伯灵顿高中",MescaleroApacheSchoolNewMexico:"新墨西哥州梅斯卡勒罗阿帕奇学校"},urbanPlanningSubMenu:"城市规划",urbanPlanningExamples:{Heatmap1:"热图例一"},otherBuildingsSubMenu:"其它建筑",otherBuildingExamples:{Greenhouse:"温室",Pavilion:"公园的亭子",OctagonalPagoda:"八角塔",OceanFront:"海边",EgyptianPyramids:"埃及金字塔",MayanPyramid:"玛雅金字塔",SiOSePol:"三十三孔桥",StackedCuboids:"堆砌长方体"},artificialIntelligenceSubMenu:"人工智能",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"优化单排光伏板的倾斜角",OptimizingTiltAnglesOfMultipleSolarPanelRows:"优化多排光伏板的倾斜角",SolarFarmGenerativeDesign:"生成式设计太阳能农场",SolarFarmGenerativeDesignWithBlock:"生成式设计太阳能农场:周边有建筑物的情况",FitchburgSolarFarmGenerativeDesign:"生成式设计太阳能农场:真实世界案例"},languageSubMenu:"语言",publicSubMenu:"公共",ModelsGallery:"模型画廊",ModelsMap:"模型地图",AboutUs:"关于我们"},avatarMenu:{AccountSettings:"账号设定",PrivacyStatementTitle:"用户隐私保护声明",PrivacyStatement:"登录需要采用您的谷歌ID建立或进入您的阿拉丁账户。 我们只储存一个随机的字符串作为您的ID。 任何关于您的可辨识的个人信息都没有被收集。 详情请参考我们的",SignIn:"登录",SignOut:"退出账号",IfYouAreAStudent:"如果您是一个学生"},skyMenu:{Axes:"显示坐标轴",Theme:"环境主题",ThemeDefault:"默认",ThemeDesert:"沙漠",ThemeDune:"沙丘",ThemeForest:"森林",ThemeGrassland:"草原",ThemeHill:"丘陵",ThemeLake:"湖泊",ThemeMountain:"山脉",ThemeRural:"田园",SunlightAttenuationCoefficientInAir:"阳光在空气中传播的衰减系数",ConvectiveCoefficientOfAir:"空气对流传热系数",HighestTemperatureTimeInMinutes:"最高气温时间(分钟)",SelectSunAnglesToShow:"选择太阳角度显示",ShowAzimuthAngle:"显示方位角",ShowElevationAngle:"显示高度角",ShowZenithAngle:"显示天顶角",DirectLightBrightnessAtNoon:"正午直射光照度",AmbientLightBrightnessAtNoon:"正午环境光照度"},groundMenu:{MonthlyIrradianceLoss:"月份辐射度损失比",Vegetation:"植被",LeafOutDay:"树叶长出的日子",LeafOffDay:"树叶脱落的日子",Albedo:"反照率",ImageOnGround:"地面显示图像",WaterSurface:"水面",RemoveAllUnlockedTrees:"删除所有非固定的树木",RemoveAllUnlockedFlowers:"删除所有非固定的花草",RemoveAllUnlockedSolarPanels:"删除所有非固定的光伏板",RemoveAllUnlockedPeople:"删除所有非固定的人物",RemoveAllUnlockedFoundations:"删除所有非固定的地基",RemoveAllUnlockedCuboids:"删除所有非固定的长方体",DoYouReallyWantToRemoveAllPeople:"你确定删除所有非固定的人物吗",DoYouReallyWantToRemoveAllTrees:"你确定删除所有非固定的树木吗",DoYouReallyWantToRemoveAllFlowers:"你确定删除所有非固定的花草吗",DoYouReallyWantToRemoveAllSolarPanels:"你确定删除所有非固定的光伏板吗",DoYouReallyWantToRemoveAllFoundations:"你确定删除所有非固定的地基吗",DoYouReallyWantToRemoveAllCuboids:"你确定删除所有非固定的长方体吗",LockAllUnlockedElements:"固定所有非固定的部件",UnlockAllLockedElements:"解除所有的固定"},labelSubMenu:{Label:"标签",LabelText:"标签的内容",LabelHeight:"标签的高度",LabelSize:"标签的大小",LabelFontSize:"字体的大小",LabelColor:"标签的颜色",KeepShowingLabel:"显示标签"},foundationMenu:{RemoveAllUnlockedSolarPanels:"删除此地基上所有非固定的光伏板",RemoveAllUnlockedParabolicTroughs:"删除此地基上所有非固定的抛物线槽",RemoveAllUnlockedParabolicDishes:"删除此地基上所有非固定的抛物线碟",RemoveAllUnlockedFresnelReflectors:"删除此地基上所有非固定的菲涅耳反射镜",RemoveAllUnlockedHeliostats:"删除此地基上所有非固定的定日镜",RemoveAllUnlockedWindTurbines:"删除此地基上所有非固定的风力涡轮机",RemoveAllUnlockedSensors:"删除此地基上所有非固定的传感器",RemoveAllUnlockedLights:"删除此地基上所有非固定的电灯",RemoveAllUnlockedWalls:"删除此地基上所有非固定的墙",RemoveAllUnlockedWindows:"删除此地基上所有非固定的窗户",RemoveAllUnlockedDoors:"删除此地基上所有非固定的门",RemoveAllUnlockedPolygons:"删除此地基上所有非固定的多边形",RemoveAllUnlockedHumans:"删除此地基上所有非固定的人物",RemoveAllUnlockedTrees:"删除此地基上所有非固定的树木",RemoveAllUnlockedFlowers:"删除此地基上所有非固定的花草",Racks:"支架",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",SolarPanels:"光伏板",SolarPanelArray:"光伏板阵列",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"你确定删除此地基上所有非固定的光伏板吗",ParabolicTroughs:"抛物线槽",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"你确定删除此地基上所有非固定的抛物线槽吗",ParabolicDishes:"抛物线碟",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"你确定删除此地基上所有非固定的抛物线碟吗",FresnelReflectors:"菲涅耳反射镜",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"你确定删除此地基上所有非固定的菲涅耳反射镜吗",Heliostats:"定日镜",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"你确定删除此地基上所有非固定的定日镜吗",WindTurbines:"风力涡轮机",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"你确定删除此地基上所有非固定的风力涡轮机吗",Sensors:"传感器",DoYouReallyWantToRemoveAllSensorsOnFoundation:"你确定删除此地基上所有非固定的传感器吗",Lights:"电灯",DoYouReallyWantToRemoveAllLightsOnFoundation:"你确定删除此地基上所有非固定的电灯吗",Walls:"墙",DoYouReallyWantToRemoveAllWallsOnFoundation:"你确定删除此地基上所有非固定的墙吗",Windows:"窗户",DoYouReallyWantToRemoveAllWindowsOnFoundation:"你确定删除此地基上所有非固定的窗户吗",Doors:"门",DoYouReallyWantToRemoveAllDoorsOnFoundation:"你确定删除此地基上所有非固定的门吗",Polygons:"多边形",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"你确定删除此地基上所有非固定的多边形吗",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnFoundation:"你确定删除此地基上所有非固定的人物吗",Trees:"树木",DoYouReallyWantToRemoveAllTreesOnFoundation:"你确定删除此地基上所有非固定的树木吗",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnFoundation:"你确定删除此地基上所有非固定的花草吗",OnlyThisFoundation:"只这块地基",AllSelectedFoundations:"所有选中的地基",AllConnectedFoundations:"所有相连的地基",AllFoundations:"所有的地基",AddPolygon:"添加多边形",SolarStructure:"太阳能构型",GroupMaster:"主地基",LockAllUnlockedElementsOnThisFoundation:"固定此地基上所有非固定的部件",UnlockAllLockedElementsOnThisFoundation:"解除此地基上所有的固定",GroundFloorRValue:"建筑物地板的R值",OnlyThisGroundFloor:"只这个建筑物的地板",AllGroundFloors:"所有建筑物的地板"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"和定日镜配套的吸收塔",ReceiverTowerPhysicalProperties:"太阳能吸收塔的物理性质",ReceiverTowerHeight:"太阳能吸收塔的高度",ReceiverTowerRadius:"太阳能吸收塔的半径",ReceiverAbsorptance:"太阳能吸收器的吸收率",ReceiverOpticalEfficiency:"太阳能吸收器的光效率",ReceiverThermalEfficiency:"太阳能吸收器的热效率"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"和菲涅尔反射镜配套的吸收管",AbsorberPipePhysicalProperties:"太阳能吸收管的物理性质",AbsorberHeight:"太阳能吸收管的安装高度",AbsorberApertureWidth:"太阳能吸收管的孔径",AbsorberPipePoleNumber:"太阳能吸收管的支柱数量",AbsorberAbsorptance:"太阳能吸收管的吸收率",AbsorberOpticalEfficiency:"太阳能吸收管的光效率",AbsorberThermalEfficiency:"太阳能吸收管的热效率"},solarUpdraftTowerMenu:{SolarUpdraftTower:"太阳能上升气流塔",SolarUpdraftTowerPhysicalProperties:"太阳能上升气流塔的物理性质",SolarUpdraftTowerChimneyHeight:"太阳能上升气流塔烟囱的高度",SolarUpdraftTowerChimneyRadius:"太阳能上升气流塔烟囱的半径",SolarUpdraftTowerCollectorHeight:"太阳能上升气流塔集热棚的高度",SolarUpdraftTowerCollectorRadius:"太阳能上升气流塔集热棚的半径",SolarUpdraftTowerCollectorTransmissivity:"太阳能上升气流塔集热棚的透射率",SolarUpdraftTowerCollectorEmissivity:"太阳能上升气流塔集热棚的发射率",SolarUpdraftTowerDischargeCoefficient:"太阳能上升气流塔的流量系数",SolarUpdraftTowerTurbineEfficiency:"太阳能上升气流塔的涡轮机效率"},cuboidMenu:{Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",RemoveAllUnlockedSolarPanels:"删除此长方体表面上所有非固定的光伏板",RemoveAllUnlockedSensors:"删除此长方体表面上所有非固定的传感器",RemoveAllUnlockedPolygons:"删除此长方体表面上所有非固定的多边形",RemoveAllUnlockedHumans:"删除此长方体表面上所有非固定的人物",RemoveAllUnlockedTrees:"删除此长方体表面上所有非固定的树木",RemoveAllUnlockedFlowers:"删除此长方体表面上所有非固定的花草",RemoveAllUnlockedLights:"删除此长方体表面上所有非固定的电灯",Racks:"支架",SolarPanels:"光伏板",Lights:"电灯",DoYouReallyWantToRemoveAllLightsOnCuboid:"你确定删除此长方体表面上所有非固定的电灯吗",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"你确定删除此长方体表面上所有非固定的光伏板吗",Sensors:"传感器",DoYouReallyWantToRemoveAllSensorsOnCuboid:"你确定删除此长方体表面上所有非固定的传感器吗",Polygons:"多边形",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"你确定删除此长方体表面上所有非固定的多边形吗",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnCuboid:"你确定删除此长方体表面上所有非固定的人物吗",Trees:"树木",DoYouReallyWantToRemoveAllTreesOnCuboid:"你确定删除此长方体表面上所有非固定的树木吗",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnCuboid:"你确定删除此长方体表面上所有非固定的花草吗",OnlyThisCuboid:"只这个长方体",AllCuboidsOnSameSurface:"同一表面上所有的长方体",AllCuboidsAboveSameBase:"同一地基上所有的长方体",AllSelectedCuboids:"所有选中的长方体",AllCuboids:"所有的长方体",OnlyThisSide:"只这个表面",AllSidesOfThisCuboid:"这个长方体所有的侧面",AllSidesOfSelectedCuboids:"所有选中长方体所有的侧面",AllSidesOfAllCuboids:"所有的长方体所有的侧面",AddPolygon:"添加多边形",Stackable:"可堆砌",GroupMaster:"主长方体"},polygonMenu:{Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",TextBox:"文字框",FontOutlineColor:"字体轮廓颜色",FontOutlineWidth:"字体轮廓线宽",FontStrokeColor:"字体描边颜色",FontStrokeWidth:"字体描边线宽",NoOutline:"无轮廓线",Shiny:"光泽",Filled:"填充",FillTexture:"填充材质",FillColor:"填充颜色",Opacity:"遮光度",LineColor:"线条颜色",LineWidth:"线条宽度",LineStyle:"线条样式",SolidLine:"实线",DashedLine:"虚线",DottedLine:"点线",InsertVertexBeforeIndex:"前面插入顶点",InsertVertexAfterIndex:"后面插入顶点",DeleteVertex:"移除顶点",OnlyThisPolygon:"只这个多边形",AllPolygonsOnSurface:"同一表面上所有的多边形",AllPolygonsAboveFoundation:"同一地基上所有的多边形",AllSelectedPolygons:"所有选中的多边形",AllPolygons:"所有的多边形",Layout:"布局",SolarPanelArrayLayout:"光伏板阵列布局",SolarPanelArrayLayoutParametricDesign:"光伏板阵列布局参数化设计",SolarPanelArrayLayoutGenerativeDesign:"光伏板阵列布局生成式设计",SolarPanelArrayModel:"光伏板型号",SolarPanelArrayOrientation:"排列方向",SolarPanelArrayTiltAngle:"倾斜角度",SolarPanelArrayRowWidth:"行宽度",SolarPanelArrayInterRowSpacing:"行间距",SolarPanelArrayRowSpacing:"行间距",SolarPanelArrayRowAxis:"行轴方向",SolarPanelArrayLeftRightRowAxis:"左右方向(相对)",SolarPanelArrayUpDownRowAxis:"上下方向(相对)",SolarPanelArrayEastWestRowAxis:"东西方向(绝对)",SolarPanelArrayNorthSouthRowAxis:"南北方向(绝对)",SolarPanelArrayMargin:"边缘余地",SolarPanelArrayPoleHeight:"支架高度",SolarPanelArrayPoleSpacing:"支柱间隔",SolarPanelArrayTotalYearlyCost:"全年总成本",SolarPanelArrayTotalYearlyRevenue:"全年总收入",SolarPanelArrayTotalYearlyYield:"全年总发电量",SolarPanelArrayMeanYearlyYield:"平均年发电量",SolarPanelArrayYearlyProfit:"全年利润",LayoutNotAcceptedCheckYourParameters:"恕不能采用此布局。请检查您的参数设置。"},optimizationMenu:{Optimization:"优化",Parameters:"参数",Variables:"变量",Constants:"常量",GeneticAlgorithm:"遗传算法",GeneticAlgorithmSettings:"遗传算法设定",ParticleSwarmOptimization:"粒子群优化",ParticleSwarmOptimizationSettings:"粒子群优化设定",SolarPanelTiltAngleOptimization:"光伏板倾斜角度优化",SolarPanelArrayLayout:"光伏板阵列布局",Generation:"世代",Gene:"基因",NormalizedVariables:"标准化变量",Objective:"目标函数",ObjectiveFunctionDailyTotalYield:"当日总产出",ObjectiveFunctionYearlyTotalYield:"全年总产出",ObjectiveFunctionDailyMeanYield:"当日平均产出",ObjectiveFunctionYearlyMeanYield:"全年平均产出",ObjectiveFunctionDailyProfit:"当日利润",ObjectiveFunctionYearlyProfit:"全年利润",GeneticAlgorithmSelectionMethod:"遗传算法选择方法",RouletteWheel:"轮盘制",Tournament:"淘汰制",SearchMethod:"搜索方法",GlobalSearchUniformSelection:"全局搜索均匀取样",LocalSearchRandomOptimization:"局部搜索随机优化",PopulationSize:"种群个体数目",MaximumGenerations:"最大世代数目",SelectionRate:"选择概率",CrossoverRate:"交配概率",MutationRate:"突变概率",Step:"步数",SwarmSize:"粒子数目",MaximumSteps:"最大步数",MaximumVelocity:"最大速度",InertiaWeight:"惯性权重",CognitiveCoefficient:"认知系数",SocialCoefficient:"社会系数",ConvergenceThreshold:"终止条件的收敛阈值",LocalSearchRadius:"局部搜索的半径",RowsPerRackRange:"单个支架上光伏板行数的变化范围",TiltAngleRange:"光伏板倾斜角度的变化范围",InterRowSpacingRange:"光伏板阵列行间距的变化范围",ClickTargetPolygonToActivate:"点击目标多边形激活",ClickTargetFoundationToActivate:"点击目标地基激活"},treeMenu:{ShowModel:"显示近似模型",Flip:"翻转",Type:"树种",Spread:"树冠直径"},flowerMenu:{Flip:"翻转",Type:"品种",Spread:"直径"},peopleMenu:{ChangePerson:"改变人物",Flip:"转身",Observer:"观察者",ViewFromThisPerson:"视角移到此人位置"},lightMenu:{Color:"颜色",Intensity:"亮度",Decay:"衰减",MaximumDistance:"最大距离",Inside:"内部"},solarCollectorMenu:{Coordinates:"坐标",RelativeXCoordinateOfCenter:"中心的相对X坐标",RelativeYCoordinateOfCenter:"中心的相对Y坐标",RelativeAzimuth:"相对方位角",Pole:"支柱",PoleHeight:"支柱高度",PoleRadius:"支柱半径",ExtraPoleHeight:"额外的支柱高度",ExtraPoleHeightInAdditionToHalfWidth:"宽度一半额外的支柱高度",DrawSunBeam:"显示光束"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"反射器镜面反射率",ReceiverAbsorptance:"接收器吸收率",ReflectorOpticalEfficiency:"反射器光效率",ReceiverThermalEfficiency:"接收器热效率"},solarPanelMenu:{ElectricalProperties:"电气特性",InverterEfficiency:"逆变器效率",InverterEfficiencyExplained:"直流电转换为交流电的效率。",DcToAcSizeRatio:"直流-交流容量比例",DcToAcSizeRatioExplained:"直流电容量和交流电容量的比例。",ChangePvModel:"改变光伏板型号",Orientation:"排列方向",Portrait:"纵向",Landscape:"橫向",FrameColor:"框架颜色",Panels:"块",PanelsWide:"块光伏板宽",PanelsLong:"块光伏板长",TiltAngle:"倾斜角度",SouthFacingIsPositive:"朝南为正",Tracker:"追日系统",SolarTrackerFollowsSun:"追日系统提高光伏板产出。",PoleSpacing:"支柱间隔",NoTracker:"无追日系统",HorizontalSingleAxisTracker:"水平单轴追日系统",VerticalSingleAxisTracker:"竖直单轴追日系统",AltazimuthDualAxisTracker:"地平双轴追日系统",OnlyThisSolarPanel:"只这个光伏板",AllSolarPanelsOnSurface:"同一表面上所有的光伏板",AllSolarPanelsAboveFoundation:"同一地基上所有的光伏板",AllSelectedSolarPanels:"所有选中的光伏板",AllSolarPanels:"所有的光伏板"},pvModelPanel:{SolarPanelSpecs:"光伏板型号性能",Model:"型号",PanelSize:"尺寸",Cells:"电池組",CellType:"光伏电池类型",Monocrystalline:"单晶硅",Polycrystalline:"多晶硅",ThinFilm:"薄膜",Bifacial:"双面",BifacialityFactor:"双面性因子",Black:"黑色",Blue:"蓝色",ShadeTolerance:"阴影耐受度",SolarCellEfficiency:"光伏电池效率",NominalOperatingCellTemperature:"名义电池运行温度",TemperatureCoefficientOfPmax:"Pmax温度系数"},parabolicTroughMenu:{ModuleLength:"模块长度",Modules:"模块",ModulesLong:"模块长",LatusRectum:"通径",OnlyThisParabolicTrough:"只这个抛物线槽",AllParabolicTroughsAboveFoundation:"同一地基上所有的抛物线槽",AllSelectedParabolicTroughs:"所有选中的抛物线槽",AllParabolicTroughs:"所有的抛物线槽"},fresnelReflectorMenu:{AbsorberPipe:"吸收管",SelectAbsorberToReflectSunlightTo:"选择阳光反射到的吸收管",ModuleLength:"模块长度",Modules:"模块",ModulesLong:"模块长",OnlyThisFresnelReflector:"只这个菲涅耳反射镜",AllFresnelReflectorsAboveFoundation:"同一地基上所有的菲涅耳反射镜",AllSelectedFresnelReflectors:"所有选中的菲涅耳反射镜",AllFresnelReflectors:"所有的菲涅耳反射镜"},heliostatMenu:{Tower:"吸收塔",SelectTowerToReflectSunlightTo:"选择阳光反射到的吸收塔",OnlyThisHeliostat:"只这个定日镜",AllHeliostatsAboveFoundation:"同一地基上所有的定日镜",AllSelectedHeliostats:"所有选中的定日镜",AllHeliostats:"所有的定日镜"},parabolicDishMenu:{ReceiverStructure:"接收器结构",CentralPole:"中心直柱",CentralPoleWithTripod:"三脚架和中心直柱",Quadrupod:"四脚架",RimDiameter:"外圈直径",LatusRectum:"通径",ExtraPoleHeightInAdditionToRadius:"半径之外额外的支架高度",OnlyThisParabolicDish:"只这个抛物线碟",AllParabolicDishesAboveFoundation:"同一地基上所有的抛物线碟",AllSelectedParabolicDishes:"所有选中的抛物线碟",AllParabolicDishes:"所有的抛物线碟"},windTurbineMenu:{BirdSafeDesign:"鸟类安全设计",BirdSafeNone:"无",BirdSafeBicolor:"双色",BirdSafeStriped:"条纹",Rotor:"转子",BladeNumber:"叶片数目",RotorInitialAngle:"转子初始角度",RotorBladeDesign:"转子叶片设计",RotorBladeRadius:"转子叶片半径",RotorBladePitchAngle:"转子叶片俯仰角",RelativeYawAngle:"相对偏流角",MaximumChordLength:"最大弦长度",Tower:"塔架",TowerHeight:"塔架高度",TowerRadius:"塔架半径",HubDesign:"转子轮毂设计",HubRadius:"轮毂半径",HubLength:"轮毂长度",OnlyThisWindTurbine:"只这个风力涡轮机",AllWindTurbinesAboveFoundation:"同一地基上所有的风力涡轮机",AllSelectedWindTurbines:"所有选中的风力涡轮机",AllWindTurbines:"所有的风力涡轮机"},wallMenu:{TextureDefault:"默认材质",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",SizeOfWall:"墙的尺寸",OnlyThisWall:"只这堵墙",AllConnectedWalls:"所有连接的墙",AllWallsAboveFoundation:"同一地基上所有的墙",AllSelectedWalls:"所有选中的墙",AllWalls:"所有的墙",Windows:"窗户",LockAllUnlockedWindows:"固定所有非固定的窗户",UnlockAllLockedWindows:"解除所有的窗户固定",RemoveAllUnlockedWindows:"删除这堵墙上所有非固定的窗户",DoYouReallyWantToRemoveAllWindowsOnThisWall:"你确定删除这堵墙上所有非固定的窗户吗",Doors:"门",LockAllUnlockedDoors:"固定所有非固定的门",UnlockAllLockedDoors:"解除所有的门固定",RemoveAllUnlockedDoors:"删除这堵墙上所有非固定的门",DoYouReallyWantToRemoveAllDoorsOnThisWall:"你确定删除这堵墙上所有非固定的门吗",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"删除这堵墙上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"你确定删除这堵墙上所有非固定的光伏板吗",Sensors:"传感器",LockAllUnlockedSensors:"固定所有非固定的传感器",UnlockAllLockedSensors:"解除所有的传感器固定",RemoveAllUnlockedSensors:"删除这堵墙上所有非固定的传感器",DoYouReallyWantToRemoveAllSensorsOnThisWall:"你确定删除这堵墙上所有非固定的传感器吗",Lights:"电灯",LockAllUnlockedLights:"固定这堵墙上所有非固定的电灯",UnlockAllLockedLights:"解除这堵墙上所有的电灯固定",RemoveAllUnlockedLights:"删除这堵墙上所有非固定的电灯",DoYouReallyWantToRemoveAllLightsOnThisWall:"你确定删除这堵墙上所有非固定的电灯吗",Polygons:"多边形",LockAllUnlockedPolygons:"固定这堵墙上所有非固定的多边形",UnlockAllLockedPolygons:"解除这堵墙上所有的多边形固定",RemoveAllUnlockedPolygons:"删除这堵墙上所有非固定的多边形",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"你确定删除这堵墙上所有非固定的多边形吗",WallStructure:"墙结构",DefaultStructure:"默认",StudStructure:"墙柱",PillarStructure:"圆柱",Opacity:"遮光度",StructureSpacing:"结构间距",StructureWidth:"结构宽度",StructureThickness:"结构厚度",StructureColor:"结构颜色",Color:"牆体颜色",Height:"高度",Thickness:"厚度",Texture:"材质",AllLightsOnWallInside:"所有电灯在牆内",AllLightsOnWallOutside:"所有电灯在牆外",Fill:"填充",Full:"全部",Partial:"部分",Empty:"空白",OpenToOutside:"对外面开放",EavesLength:"屋檐延伸长度",Parapet:"女墙",ParapetColor:"女墙颜色",ParapetTexture:"女墙材质",ParapetHeight:"女墙高度",CopingsHeight:"顶盖高度",CopingsWidth:"顶盖宽度"},windowMenu:{OnlyThisWindow:"只这个窗户",AllWindowsOnSurface:"同一表面上所有的窗户",AllWindowsAboveFoundation:"同一地基上所有的窗户",AllSelectedWindows:"所有选中的窗户",AllWindows:"所有的窗户",Width:"宽度",Height:"高度",Setback:"离墙体外表面的距离",RelativeToWallThickness:"相对于墙的厚度",Mullion:"直棂",HorizontalMullion:"水平的直棂",VerticalMullion:"竖直的直棂",MullionWidth:"直棂宽度",HorizontalMullionSpacing:"水平直棂的间距",VerticalMullionSpacing:"竖直直棂的间距",MullionColor:"直棂颜色",Tint:"着色",Opacity:"不透明度",SolarHeatGainCoefficient:"太阳辐射热获取系数(SHGC) = 1 - 不透明度",Shutter:"百叶窗",LeftShutter:"左侧百叶窗",RightShutter:"右侧百叶窗",BothShutters:"两侧百叶窗",ShutterWidth:"相对宽度",ShutterColor:"百叶窗颜色",Frame:"边框",FrameWidth:"边框宽度",SillWidth:"窗台宽度",Color:"边框颜色",WindowType:"窗户种类",Default:"默认",Arched:"拱形",Polygonal:"多边形",Interior:"内窗",Empty:"空白"},roofMenu:{TextureDefault:"默认材质",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",OnlyThisRoof:"只这个屋顶",AllRoofsAboveFoundation:"同一地基上所有的屋顶",AllSelectedRoofs:"所有选中的屋顶",AllRoofs:"所有的屋顶",OnlyThisCeiling:"只这个天花板",AllCeilingsAboveFoundation:"同一地基上所有的天花板",AllCeilings:"所有的天花板",EavesOverhangLength:"屋檐延伸长度",RafterSpacing:"屋椽间距",RafterWidth:"屋椽宽度",RafterThickness:"屋椽厚度",RafterColor:"屋椽颜色",RoofColor:"屋顶颜色",RoofSideColor:"屋顶侧面颜色",GlassTint:"玻璃颜色",Opacity:"遮光度",RoofStructure:"屋顶结构",DefaultStructure:"默认",RafterStructure:"屋椽",GlassStructure:"玻璃",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"删除这个屋顶上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"你确定删除这个屋顶上所有非固定的光伏板吗",Windows:"天窗",LockAllUnlockedWindows:"固定所有非固定的天窗",UnlockAllLockedWindows:"解除所有的天窗固定",RemoveAllUnlockedWindows:"删除这个屋顶上所有非固定的天窗",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"你确定删除这个屋顶上所有非固定的天窗吗",Sensors:"传感器",LockAllUnlockedSensors:"固定所有非固定的传感器",UnlockAllLockedSensors:"解除所有的传感器固定",RemoveAllUnlockedSensors:"删除这个屋顶上所有非固定的传感器",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"你确定删除这个屋顶上所有非固定的传感器吗",Lights:"电灯",RemoveAllUnlockedLights:"删除这个屋顶上所有非固定的电灯",DoYouReallyWantToRemoveAllLightsOnThisRoof:"你确定删除这个屋顶上所有非固定的电灯吗",AllLightsOnRoofInside:"所有电灯在屋顶内",AllLightsOnRoofOutside:"所有电灯在屋顶外",Rise:"相对高度",Ceiling:"天花板",RoofRValue:"屋顶R值",CeilingRValue:"天花板R值"},doorMenu:{TextureDefault:"默认材质",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",Texture11:"十一号材质",Texture12:"十二号材质",Texture13:"十三号材质",Texture14:"十四号材质",Texture15:"十五号材质",Texture16:"十六号材质",Texture17:"十七号材质",OnlyThisDoor:"只这个门",AllDoorsOnWall:"同一面墙上所有的门",AllDoorsAboveFoundation:"同一地基上所有的门",AllSelectedDoors:"所有选中的门",AllDoors:"所有的门",DoorType:"门种类",Default:"默认",Arched:"拱形",Filled:"填充",FrameColor:"门框颜色",Interior:"内门"},siteInfoPanel:{High:"最高温度",Low:"最低温度"},designInfoPanel:{NumberOfSelectedHeliostats:"选中的定日镜总数",NumberOfSelectedSolarPanels:"选中的光伏板总数",ElectricityGeneratedDailyBySolarPanels:"这些光伏板的日发电量",SceneDiameter:"场景直径",BuildingArea:"建筑面积"},visualizationControlPanel:{ColorContrast:"热图颜色对比度",FluxScale:"热通量长度",ClickUpOrDownArrowButtonsToChange:"点击上下箭头改变参数"},instructionPanel:{Rotate:"旋转",DragMouse:"拖动鼠标",Zoom:"缩放",MouseWheelOrKeys:"鼠标滚轮或者Ctrl+[和Ctrl+]",MouseWheelOrKeysMac:"鼠标滚轮或者⌘+[和⌘+]",Pan:"平移",HoldCtrlDragMouse:"按下Ctrl键并拖动鼠标",HoldMetaDragMouse:"按下⌘键并拖动鼠标",Enter2DMode:"進入二维模式",Exit2DMode:"退出二维模式",NavigationMode:"导航模式",EnableNavigation:"進入导航模式",DisableNavigation:"退出导航模式",MoveForwardBack:"前后移动",MoveForwardBackInstruction:"按W/S键",MoveLeftRight:"左右移动",MoveLeftRightInstruction:"按A/D键",MoveUpDown:"上下移动",MoveUpDownInstruction:"按Z/X键",Turn:"拐弯",TurnInstruction:"按方向键",ResetView:"重置视角",AutoRotate:"自动旋转",StartOrStop:"按F4键启动或停止"},mapPanel:{ImageOnGround:"地面显示图像",HideAddress:"隐藏地址",WeatherStations:"气象站",WeatherStationsNote:"关闭此选项以提高地图速度",Coordinates:"经纬度坐标",Zoom:"放大程度"},visibilityPanel:{SolarPanelVisibility:"光伏板对观察者的可见度",Observer:"观察者",VantagePoint:"观察位置",ItemizedVisibilityByFields:"每个场的可见度",TotalVisibility:"总可见度"},sensorPanel:{LightSensor:"光传感器",WeatherDataFrom:"气象数据来自"},buildingEnergyPanel:{DailyBuildingEnergy:"建筑物日能耗",YearlyBuildingEnergy:"建筑物年能耗",Heater:"暖气",AC:"空调",SolarPanel:"光伏",Net:"净能耗"},solarPanelYieldPanel:{SolarPanelDailyYield:"光伏日发电量",SolarPanelYearlyYield:"光伏年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualSolarPanels:"显示每行光伏板单独发电量",Profit:"利润",TotalCost:"总成本",TotalRevenue:"总收入",TotalYield:"总发电量",MeanYield:"平均发电量",ModuleCount:"光伏板总数"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"抛物线槽日发电量",ParabolicTroughYearlyYield:"抛物线槽年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualParabolicTroughs:"显示每行抛物线槽单独发电量"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"抛物线碟日发电量",ParabolicDishYearlyYield:"抛物线碟年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualParabolicDishes:"显示每个抛物线碟单独发电量"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"菲涅耳反射镜日发电量",FresnelReflectorYearlyYield:"菲涅耳反射镜年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualFresnelReflectors:"显示每个菲涅耳反射镜单独发电量"},heliostatYieldPanel:{HeliostatDailyYield:"定日镜日发电量",HeliostatYearlyYield:"定日镜年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualHeliostats:"显示每个定日镜单独发电量"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"太阳能上升气流塔日发电量",UpdraftTowerYearlyYield:"太阳能上升气流塔年发电量",ChimneyAirTemperature:"烟囱空气温度",ChimneyWindSpeed:"烟囱风速",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualUpdraftTowers:"显示每个太阳能上升气流塔单独发电量"},heliodonPanel:{SunAndTimeSettings:"太阳和时间设置",SunAngles:"角度",TwentyFourHours:"24小时"},cloudFilePanel:{CopyTitle:"拷贝标题",TitleCopiedToClipBoard:"标题拷贝到剪贴板",SearchByTitle:"按标题搜索",MyLikes:"我喜欢的模型",MyCloudFiles:"我的云文件",GenerateLink:"生成链接",LinkGeneratedInClipBoard:"链接生成到剪贴板",DoYouReallyWantToDelete:"您确定删除此文件",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"如果此文件已被分享或发布, 改名会使已有链接失效"},projectListPanel:{CopyTitle:"拷贝标题",TitleCopiedToClipBoard:"标题拷贝到剪贴板",SearchByTitle:"按标题搜索",MyProjects:"我的项目",GenerateProjectLink:"生成项目链接",ProjectLinkGeneratedInClipBoard:"项目链接生成到剪贴板",DoYouReallyWantToDeleteProject:"您确定删除项目",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"如果此项目已被分享或发布, 改名会使已有链接失效"},projectPanel:{ProjectSettings:"项目设定",ThumbnailImageSize:"缩略图大小",ProjectByOtherPeople:"别人的项目",Project:"项目",ProjectType:"类别",ProjectDescription:"描述",MakeDescriptionEditable:"编辑描述",MakeDescriptionNonEditable:"不编辑描述",DoubleClickToMakeDescriptionEditable:"双击此描述激活编辑功能",SolarPanelArray:"光伏板阵列设计",CurateCurrentDesign:"收藏当前设计",UpdateSelectedDesign:"更新选中设计",RemoveSelectedDesign:"删除选中设计",ClickToFlipSortingOrder:"点击逆转排序方向",DesignNotShownInSolutionSpaceClickToShow:"此设计目前不显示在设计空间内,点击显示",DesignShownInSolutionSpaceClickToHide:"此设计目前显示在设计空间内,点击隐藏",SolutionSpace:"设计空间",ChooseSolutionSpace:"选择设计空间",ChooseDataColoring:"选择数据着色",SameColorForAllDesigns:"所有设计一个颜色",OneColorForEachDesign:"每个设计一个颜色",SolutionSpaceScreenshot:"设计空间截屏",ScatterPlotScreenshot:"散点图截屏",SingleClickToSelectDoubleClickToOpen:"单击选择,双击打开。",SingleClickToDeselectDoubleClickToOpen:"单击取消选择,双击打开。",GenerateScatterPlot:"生成散点图",SelectXAxis:"选择X轴",SelectYAxis:"选择Y轴"},accountSettingsPanel:{MyAccountSettings:"我的账户设定",MyID:"我的🆔",ClickToCopyMyID:"点击此处拷贝我的ID",IDInClipBoard:"您现在可以粘贴ID了。",StoreMyNameInMyFilesWhenSaving:"保存文件时签上我的大名",DoYouReallyWantToShowYourNameInYourFiles:"您确定在您的文件里保存您的大名吗?",SignFileDisclaimer:"如果您选择保存,您的大名可能被所有打开您的文件的人看到。",Likes:"点赞总数",AllPublished:"发布总数",PublishedUnderAliases:"别名发布",UserCount:"用户总数",SchoolID:"学校编号",ClassID:"班级编号"},weatherPanel:{SunshineHours:"日照时间"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"选择气温模型",Sinusoidal:"正弦函数"},economicsPanel:{EconomicsParameters:"经济学参数",ElectricitySellingPrice:"销售电价",OperationalCostPerUnit:"单位运行成本",SellingPrice:"销售电价",UnitCost:"单位成本"},navigationPanel:{NavigationParameters:"导航模式参数",MinimumMoveSpeed:"最小移动速度",MinimumTurnSpeed:"最小拐弯速度"},shadowSettingsPanel:{ShadowSettings:"阴影设定",ShadowCameraFarDistance:"最远距离",ShadowMapSize:"映射图长宽",Notes:"注意事项",RefreshPageNote:"改变设置后须刷新页面。",MapSizeWarning:"大的映射图长宽可能导致阿拉丁无法在某些电脑上运行。"},yearlyLightSensorPanel:{SkyClearness:"天空清晰度",ShowDaylightResults:"显示日照时间结果",ShowSkyClearnessResults:"显示天空清晰度结果",ShowAverageDailySolarRadiation:"显示日平均辐射结果"},analysisManager:{NoSensorForCollectingData:"没有传感器收集数据。",NoSolarPanelForAnalysis:"没有光伏板可以分析。",NoObserverForVisibilityAnalysis:"没有找到可见度分析的观察者。",NoWaterHeaterForAnalysis:"沒有太阳能热水器可以分析。",NoParabolicDishForAnalysis:"沒有抛物线碟可以分析。",NoParabolicTroughForAnalysis:"沒有抛物线槽可以分析。",NoFresnelReflectorForAnalysis:"沒有菲涅耳反射镜可以分析。",NoHeliostatForAnalysis:"沒有定日镜可以分析。",NoSolarUpdraftTowerForAnalysis:"沒有太阳能上升气流塔可以分析。",NoBuildingForAnalysis:"沒有建筑物可以分析。"},toolbar:{CloudFile:"云文件",Select:"选择",AddFoundation:"添加地基",AddWall:"添加墙体",AddWindow:"添加窗户",AddDoor:"添加门",AddPyramidRoof:"添加金字塔屋顶",AddGableRoof:"添加双坡屋顶",AddHipRoof:"添加四坡屋顶",AddGambrelRoof:"添加复斜屋顶",AddMansardRoof:"添加折线屋顶",AddCuboid:"添加长方体",AddSensor:"添加传感器",AddSolarPanel:"添加光伏板",AddWaterHeater:"添加太阳能热水器",AddParabolicDish:"添加抛物线碟",AddParabolicTrough:"添加抛物线槽",AddFresnelReflector:"添加菲涅耳反射镜",AddHeliostat:"添加定日镜",AddWindTurbine:"添加水平轴风力涡轮机",AddVerticalAxisWindTurbine:"添加垂直轴风力涡轮机",AddLight:"添加电灯",AddTree:"添加树木",AddFlower:"添加花草",AddPeople:"添加人物",DoubleClickToLockThisModeForNextAction:"双击按钮给下个动作锁定此模式",ClickToUnlockThisModeForNextAction:"点击按钮让动作完成即离开此模式",ManipulateGroup:"整体操作一个组",ClearScene:"清空场景",ShowSunAndTimeSettings:"显示太阳和时间设置",SpatialAnalysisOfEnergy:"能量的空间分析",DoYouReallyWantToClearContent:"您确定清空场景吗",ClickForMoreButtons:"点击此处切换到更多的按钮模式"},tooltip:{gotoIFI:"访问未来智能研究所",visitAladdinHomePage:"访问阿拉丁主页",clickToOpenMenu:"点击打开主菜单",clickToAccessAccountSettings:"点击打开账号设定"},tree:{Apple:"苹果树",Birch:"白桦",Coconut:"椰子树",Dogwood:"茱萸",Elm:"榆树",FanPalm:"扇叶棕榈",Linden:"菩提",Magnolia:"玉兰",Maple:"枫树",Oak:"橡树",Pine:"松树",Spruce:"云杉"},flower:{Bellflower:"铃兰",Boxwood:"黄杨",CactusCombo1:"仙人掌组合一",CactusCombo2:"仙人掌组合二",CactusCombo3:"仙人掌组合三",CactusCombo4:"仙人掌组合四",Hibiscus:"木槿",Hosta:"玉簪",Hydrangea:"绣球花",Peony:"牡丹",RedRose:"红玫瑰",Spirea:"绣线菊",Sunflower:"向日葵",TallBush:"高灌木",Tulip:"郁金香",WhiteFlower:"白花",YellowFlower:"黄花"},people:{Jaah:"贾阿",Jack:"杰克",Jacob:"雅各布",Jacqueline:"杰奎琳",Jade:"美玉",Jamelia:"洁米莉雅",James:"詹姆斯",Jane:"简",Jaya:"佳娅",Jaye:"杰伊",Jeanette:"珍妮特",Jedi:"杰迪",Jeff:"杰夫",Jena:"珍娜",Jennifer:"珍尼弗",Jess:"杰西",Jett:"杰特",Jill:"吉尔",Jiya:"吉娅",Joan:"琼",Jocelyn:"乔斯林",Joel:"乔尔",Joey:"乔伊",John:"约翰",Jonathon:"乔纳森",Jose:"何塞",Joseph:"约瑟夫",Joshua:"约书亚",Judd:"贾德",Judy:"朱蒂",Julia:"朱莉娅",Julio:"胡里奥",Jumapili:"祖玛匹莉",June:"准卫",Juro:"朱诺",Justin:"贾斯汀"},compass:{N:"北",S:"南",W:"西",E:"东"},month:{January:"一月",February:"二月",March:"三月",April:"四月",May:"五月",June:"六月",July:"七月",August:"八月",September:"九月",October:"十月",November:"十一月",December:"十二月"},modelsMap:{SearchByPublisher:"按发布者搜索",SearchByLabel:"按标签搜索",MyPublishedModels:"我发布的模型",TotalNumberOfUserPublishedModels:"用户发布的模型总数",SortFromOldestToNewest:"从早到晚排序",SortFromNewestToOldest:"从晚到早排序",ModelsFoundOnThisSite:"个模型在此位置",ShowModelsPublishedByThisAuthor:"展示此用户发布的模型"}}},Vft={translation:{name:{IFI:"未來智能研究所",Aladdin:"阿拉丁",Tagline:"阿拉丁: 探索人工智慧時代的設計軟體 — 未來智能研究所研發"},cookie:{Statement:"聲明:為了改善您的用戶體驗,阿拉丁採用cookie儲存少量數據。",Accept:"同意"},aboutUs:{ProductBroughtToYouBy:"未來智能研究所榮譽出品",TermsOfService:"服務條款",PrivacyPolicy:"隱私政策",Software:"軟體",Content:"課件",Research:"研究",Support:"服務",Acknowledgment:"鳴謝",FundingInformation:"本產品的研發承蒙美國國家科學基金會慷慨資助(項目號#2105695,#2131097,#2301164)。本產品的任何觀點或結論僅代表創作者個人意見。",Contact:"如您需要更多資訊,請聯繫 Charles Xie (charles@intofuture.org)。我們會盡快回复。",Translators:"翻譯"},word:{LastUpdate:"上一次更新",Small:"小",Medium:"中",Large:"大",Design:"設計",Information:"資訊",Type:"類别",Text:"文字",FontSize:"字體大小",FontColor:"字體顏色",Model:"模型",Models:"模型",Upload:"上傳",ClickCount:"點擊數",Share:"分享",AlreadyLike:"已點贊",Like:"點贊",MustLogInToLike:"必須登錄才能點贊",AllRightsReserved:"版權所有",MeterAbbreviation:"米",Version:"版本",VersionInitial:"版本",Options:"選項",Maximum:"最大",Minimum:"最小",MaximumNumber:"最多",MinimumNumber:"最少",MaximumValue:"最大值",MinimumValue:"最小值",Or:"或",None:"無",High:"高",Partial:"部分",Teacher:"老師",Class:"班級",Total:"總數",Leaderboard:"用戶排行榜",Latest:"最新",Range:"範圍",SIUnit:"國際單位制",USUnit:"美國單位制",ThermalTransmittance:"熱透過率",ThermalResistance:"熱阻",UValue:"U值",RValue:"R值",VolumetricHeatCapacity:"容積熱容",BuildingHVACSystem:"建築物暖通空調系統",ThermostatSetpoint:"恆溫器設定值",TemperatureToleranceThreshold:"溫度忍耐閾值",TemperatureToleranceThresholdExplanation:`當日最低外面溫度高於恆溫器設定值減去此閾值,暖氣不開。 當日最高外面溫度低於恆溫器設定值加上此閾值,空調不開。`,Press:"按",Open:"打開",Save:"保存",SaveAsImage:"保存為圖像",SaveAsCsv:"保存為CSV",Update:"刷新",Paste:"粘貼",Copy:"複製",Cut:"剪切",Delete:"删除",Lock:"固定",Translucent:"半透明",Color:"顏色",Pattern:"圖案",Texture:"材質",Thickness:"厚度",Size:"尺寸",Yes:"是",No:"不",OK:"確定",Cancel:"取消",Apply:"應用",Close:"關閉",ApplyTo:"適用於",Run:"運行",Pause:"暫停",Resume:"繼續",Clear:"清空",Warning:"警告",Caution:"小心",Reminder:"提醒",Length:"長度",Width:"寬度",Height:"高度",Radius:"半徑",Angle:"角度",Azimuth:"方位角",Coordinates:"坐標",Weather:"天氣",Show:"顯示",Animate:"動畫",Date:"日期",Time:"時間",Title:"標題",Owner:"所有者",Action:"操作",Rename:"改名",Location:"位置",Latitude:"緯度",Month:"月份",Day:"天",Hour:"小時",Daylight:"白天長度",Radiation:"輻射",Temperature:"温度",kWh:"千瓦時",dollar:"元",MeterPerSecond:"米/秒",NorthInitial:"北",SouthInitial:"南",EastInitial:"東",WestInitial:"西",Fixed:"固定",Elements:"部件",Energy:"能量",Unknown:"未知",Label:"標籤",Description:"描述",NoDescription:"無描述",MaximumCharacters:"最多字符數",Author:"作者",Publisher:"發布者",Building:"建築",ResidentialBuilding:"住宅建築",CommercialBuilding:"商用建築",SchoolBuilding:"學校建築",TouristAttraction:"旅遊景點",UnderConstruction:"在建",Photovoltaic:"光伏",WindPower:"風能",ColocationProjects:"共用空間專案",Anonymous:"無名氏",Nickname:"别名",Pin:"置頂",Unpin:"解除置頂"},shared:{NoTexture:"無材質",FoundationElement:"地基",CuboidElement:"長方體",PolygonElement:"多邊形",SensorElement:"傳感器",SolarPanelElement:"光伏板",WaterHeaterElement:"太陽能熱水器",ParabolicDishElement:"拋物線碟",ParabolicTroughElement:"拋物線槽",FresnelReflectorElement:"菲涅耳反射鏡",HeliostatElement:"定日鏡",WindTurbineElement:"風力渦輪機",LightElement:"電燈",ElementLocked:"固定",ModelType:"模型類别",OutputBreakdown:"分列發電量",MoreResults:"更多結果"},message:{CalculationMayBeSlowDoYouWantToContinue:"計算可能會很慢。您想繼續嗎?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"加大太陽輻射熱圖網格的尺寸可加速",ModelNotFound:"沒有找到模型",CannotSignIn:"登錄失敗",CannotSignOut:"退出失敗",YourAccountWasCreated:"成功建立您的賬號。",CannotCreateAccount:"無法創建賬號",YourAccountSettingsWereSaved:"您的賬號設定已保存。",CannotSaveYourAccountSettings:"您的賬號設定無法保存",CannotSaveYourFileToCloud:"無法保存您的文檔到雲端",CannotCreateNewProject:"無法創建新專案",CannotCreateNewProjectWithoutTitle:"沒有標題, 無法創建新專案",CannotOpenYourProjects:"無法打開您的專案列表",CannotOpenProject:"無法打開專案",CannotDeleteProject:"無法刪除專案",CannotRenameProject:"無法給專案改名",CannotAddDesignToProject:"無法把此設計加到專案裡",CannotAddDesignToProjectOwnedByOthers:"不能把此設計加到別人的專案裡",DesignRemovedFromProject:"設計被成功地從專案裡刪除",CannotRemoveDesignFromProject:"無法把此設計從專案裡刪除",CannotUpdateProject:"無法更新專案",CannotFetchProjectData:"無法取得專案數據",TitleUsedChooseDifferentOne:"此標題已經被使用, 請採用不同的標題",CloudFileWithTitleExistsDoYouWantToOverwrite:"使用此標題的雲文檔已經存在,您確定要覆蓋它嗎?",CloudFileNotFound:"找不到此云端文檔",CannotLoadModelsOnMap:"無法下載地圖上的模型",CannotLoadLeaderboard:"無法下載排行榜",CannotPublishModelOnMap:"模型無法發佈到地圖上",CannotLikeModelFromMap:"無法點贊地圖上的模型",CannotDeleteModelFromMap:"無法删除地圖上的模型",ModelDeletedFromMap:"模型已從地圖上刪除",DoYouWantToDeleteModelFromMap:"您要删除地圖上的這個模型嗎?",CannotOpenCloudFile:"此云端文檔無法打開",CannotReadCloudFile:"無法讀取此云端文檔",CannotWriteCloudFile:"無法存儲此云端文檔",CloudFileCopied:"拷貝云端文檔",CannotOpenCloudFolder:"您的雲端文檔夾無法打開",CannotDeleteCloudFile:"無法刪除此云端文檔",CannotRenameCloudFile:"此云端文檔的名字無法更改",DoYouWantToSaveChanges:"您要保存當前文檔嗎?",NotApplicableToSelectedAction:"此值不適用於當前選擇範圍",ThisElementIsLocked:"這個部件被鎖定。",ThisCannotBeUndone:"這個操作一旦執行就不能撤銷。",AzimuthOfNorthIsZero:"正北的方位角為零度",CounterclockwiseAzimuthIsPositive:"逆時針為正",SouthFacingIsZero:"朝南為零度",ClockwiseRotationIsPositive:"順時針為正",MoveCancelledBecauseOfOverlap:"位置重疊,移動取消。",MoveOutsideBoundaryCancelled:"位置出界,移動取消。",RotationCancelledBecauseOfOverlap:"位置重疊,旋轉取消。",RotationOutsideBoundaryCancelled:"位置出界,旋轉取消。",ResizingCancelledBecauseOfOverlap:"位置重疊,尺寸調整取消。",ResizingOutsideBoundaryCancelled:"位置出界,尺寸調整取消。",CannotPasteOutsideBoundary:"位置出界,不能複制。",CannotPasteBecauseOfOverlap:"位置重疊,不能複制。",CannotMoveObjectTooFar:"位置太遠,移動取消。",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"採用新佈局之前必須移除現有的光伏板。",DoYouWantToContinue:"您想繼續嗎?",SolarPanelsCannotIntersectWithGround:"光伏板不能和地面接觸。",SolarPanelsCannotOverlapWithOneAnother:"光伏板不能重疊。",ScreenshotSaved:"截屏圖片保存在下載文檔夾裡。",CsvFileSaved:"CSV保存在下載文檔夾裡。",SimulationStarted:"模擬開始。",SimulationCompleted:"模擬結束。",SimulationAborted:"模擬取消。",SimulationPaused:"模擬暫停。",CancelSimulation:"取消模擬",PauseSimulation:"暫停模擬",ResumeSimulation:"繼續模擬",SimulationWillNotStartDueToErrors:"由於錯誤模擬無法運行",SimulationWillStartDespiteWarnings:"發現問題,但模擬仍然將運行。",EvolutionStarted:"演化開始。",EvolutionCompleted:"演化結束。",EvolutionAborted:"演化取消。",EvolutionPaused:"演化暫停。",EncounterEvolutionError:"演化出錯。",CancelEvolution:"取消演化",PauseEvolution:"暫停演化",ResumeEvolution:"繼續演化",ConvergenceThresholdHasBeenReached:"收斂閾值已達到。",MaximumNumberOfGenerationsHasBeenReached:"最大世代數已達到。",MaximumNumberOfStepsHasBeenReached:"最大步數已達到。",ObjectiveFunctionTypeError:"此操作不支持當前的目標函數。請從菜單啟動此功能。",WallsAreNotAtSameHeight:"墻體高度不同。",WallsAreNotPerpendicular:"墻體不垂直。",WallsAreNotConnected:"墻體不相連。",WallsNumberNeedToBeFour:"墻體數量必須為四個。",BuildingContainsEmptyWall:"建築物有空牆。",BuildingRoofMissing:"建築物沒有屋頂。",UnknownErrors:"未知錯誤。"},menu:{AnalysisOptions:"分析選項",option:{GridCellSize:"計算網格的尺寸",SamplingFrequency:"採樣頻率",TimesPerHour:"每小時採樣次數",DaysPerYear:"每一年採樣天數"},mainMenu:"主菜單",cloudMenu:"雲菜單",projectSubMenu:"專案",project:{CreateNewProject:"創建新專案",OpenProject:"打開專案",SaveProject:"保存專案",SaveProjectAs:"另存專案為",YouMustLogInToCreateProject:"您必須登錄才能創建專案",YouMustLogInToOpenProject:"您必須登錄才能打開專案"},fileSubMenu:"文檔",file:{CreateNewFile:"創建新文檔",OpenLocalFile:"打開本地文檔",SaveAsLocalFile:"保存為本地文檔",SavingAbortedMustHaveValidFileName:"文檔名無效,保存失敗",OpenCloudFile:"打開雲端文檔",SaveCloudFile:"保存雲端文檔",SaveAsCloudFile:"另存雲端文檔為",SavingAbortedMustHaveValidTitle:"雲端文檔名無效,保存失敗",ToSaveYourWorkPleaseSignIn:"為了保存您的雲端文檔,請先登錄。",TakeScreenshot:"截屏",UseCloudFileName:"採用雲端文件名",PublishOnModelsMap:"發佈到地圖上",PublishedOnModelsMap:"您的模型成功發佈到地圖上",UpdatedOnModelsMap:"您的模型更新成功",YouMustLogInToPublishYourModel:"您必須登錄才能發布模型",YouCannotPublishAModelThatYouDoNotOwn:"您不能發布他人的模型",YouMustSaveModelOnCloudBeforePublishingIt:"您必須先把此模型保存在雲端才能發布它"},editSubMenu:"編輯",edit:{Undo:"撤銷",Redo:"重做"},viewSubMenu:"視界",view:{NavigationView:"導航模式",TwoDimensionalView:"二維模式",ResetView:"重置視角",ZoomIn:"放大",ZoomOut:"縮小",AutoRotate:"自動旋轉",ShowShadow:"顯示陰影",ShowSurfaceShininess:"顯示表面光澤",TranslucentFloatingWindows:"透明浮動窗口",accessoriesSubMenu:"配件",accessories:{SiteInformation:"位置資訊",DesignInformation:"設計資訊",Instruction:"操作說明",StickyNote:"便簽",Note:"便簽"}},settingsSubMenu:"設置",settings:{WeatherData:"氣象數據",DiurnalTemperature:"晝夜溫度",Heliodon:"日影儀",SunAndTime:"太陽和時間"},benchmarksSubMenu:"基準",benchmarks:{SolarRadiationPredictionVsMeasurement:"太陽能輻射模型預測和實際測量的對比",BESTESTCase600:"建築物能耗模擬測試:BESTEST案例600",BESTESTCase610:"建築物能耗模擬測試:BESTEST案例610",BESTESTCase620:"建築物能耗模擬測試:BESTEST案例620",BESTESTCase630:"建築物能耗模擬測試:BESTEST案例630"},graph:{LineWidth:"線條寬度",SymbolSize:"符號大小",BarCategoryGap:"直條間隙",ShowHorizontalGridLines:"顯示格子的水平線條",ShowVerticalGridLines:"顯示格子的豎直線條"},analysisSubMenu:"分析",physicsSubMenu:"物理",physics:{DailySolarRadiationHeatmap:"當日太陽輻射總量分佈熱圖",SolarRadiationHeatmapOptions:"太陽輻射熱圖選項",SolarRadiationHeatmapGridCellSize:"太陽輻射熱圖網格的尺寸",SolarRadiationHeatmapMaxValue:"太陽輻射熱圖最大值",SolarRadiationHeatmapNoAnimation:"若無移動部件則省略動畫",ReflectionHeatmap:"反射熱圖"},sensorSubMenu:"傳感器",sensor:{CollectDailyData:"收集當天數據",CollectYearlyData:"收集全年數據",SensorSimulationNoAnimation:"若無移動部件則省略動畫"},buildingSubMenu:"建築物",building:{AnalyzeDailyBuildingEnergy:"建築物當天能耗分析",AnalyzeYearlyBuildingEnergy:"建築物全年能耗分析",EnergyAnalysisOptions:"能耗分析選項",EnergyGridCellSize:"計算網格的尺寸",BuildingEnergySimulationNoAnimation:"若無移動部件則省略動畫"},solarPanelSubMenu:"太陽能光伏板",solarPanel:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出",AnalyzeVisibility:"分析可見度",PanelDiscretization:"光伏板離散化方法",Exact:"準確",Approximate:"近似",EnergyGridCellSize:"計算網格的尺寸",VisibilityGridCellSize:"視界因子計算網格的尺寸",EnergyAnalysisOptions:"能量分析選項",VisibilityAnalysisOptions:"可見度分析選項",SolarPanelSimulationNoAnimation:"若無移動部件則省略動畫"},parabolicTroughSubMenu:"拋物線槽",parabolicTrough:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},parabolicDishSubMenu:"拋物線碟",parabolicDish:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},fresnelReflectorSubMenu:"菲涅爾反射鏡",fresnelReflector:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},heliostatSubMenu:"定日鏡",heliostat:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},solarUpdraftTowerSubMenu:"太陽能上升氣流塔",solarUpdraftTower:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出",SolarUpdraftTowerSimulationNoAnimation:"若無移動部件則省略動畫"},tutorialsSubMenu:"教程",solarEnergyScienceSubMenu:"太陽能科學",solarEnergyScienceTutorials:{SunAngles:"太陽相對於地面觀察者的角度",InsolationAndClimate:"太陽輻射和氣候的關係",SolarRadiationToBox:"一個長方體受到的太陽能輻射分析"},buildingScienceSubMenu:"建築科學",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"房屋的熱學封套和圍護封套",EffectOfSizeOnBuildingEnergy:"房屋大小對能耗的影響",EffectOfOrientationOnBuildingEnergy:"房屋方位對能耗的影響",EffectOfInsulationOnBuildingEnergy:"房屋隔熱對能耗的影響",EffectOfRoofColorOnBuildingEnergy:"屋頂顏色對建築物能耗的影響",EffectOfEavesOverhangLengthOnBuildingEnergy:"屋簷延伸長度對建築物能耗的影響",EffectOfWindowSHGCOnBuildingEnergy:"窗戶太陽能輸入對房屋能耗的影響",EffectOfThermostatSetpointOnBuildingEnergy:"恆溫器設定值對房屋能耗的影響",EffectOfSolarPanelsOnBuildingEnergy:"光伏板對房屋能耗的影響",EffectOfGroundTemperatureOnBuildingEnergy:"地表温度對房屋能耗的影響",EffectOfTreesOnBuildingEnergy:"樹蔭對房屋能耗的影響"},buildingDesignSubMenu:"建築設計",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"有棚頂窗的科德角風格的住宅",MansardRoofWithDormers:"有天窗的折線屋頂",GableRoofVsHipRoof:"雙坡屋頂和四坡屋顶的對比",ColonialVsSaltbox:"殖民地風格和鹽盒風格的對比",GambrelRoofVsMansardRoof:"复斜屋顶和折線屋頂的對比",CombinationRoofVsBonnetRoof:"組合屋頂和帽簷屋頂的對比",DutchGableRoof:"荷蘭雙坡屋頂",GableAndValleyRoof:"坡谷屋頂",ClerestoryRoof:"天窗屋頂",MonitorRoof:"採光屋頂",AFrameHouse:"A字形房子",HalfTimberedHouse:"半木骨架房子",AllBasicRoofTypes:"所有的基本屋頂類型"},photovoltaicSolarPowerSubMenu:"光伏發電",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"光伏板傾斜角對發電量的影響",EffectOfAzimuthOfSolarPanel:"光伏板方位角對發電量的影響",SolarPanelTypes:"光伏板類型",VerticalBifacialSolarPanels:"豎直的雙面光伏板",CompareMonofacialAndBifacialSolarPanels:"單面光伏板和雙面光伏板的對比",SolarTrackers:"自動追日器",CoveringGroundWithSolarPanels:"為什麼我們不簡單地用光伏板覆蓋地面",InterRowSpacingOfSolarPanelArray:"光伏板陣列行間距對發電量的影響",EffectOfOrientationOfSolarPanels:"光伏板排列方向對發電量的影響",SolarPanelArrayAutomaticLayout:"光伏板自動排列"},concentratedSolarPowerSubMenu:"光熱發電",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"拋物線槽方位角對發電量的影響",EffectOfLatusRectumOfParabolicTrough:"拋物線槽通徑對發電量的影響",FocusSunlightWithParabolicDish:"用拋物線碟聚焦阳光",LinearFresnelReflectors:"用直線式菲涅爾反射鏡聚焦阳光",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"吸熱管的安装高度對直線式菲涅爾反射鏡發電量的影響",EffectOfAzimuthOfLinearFresnelReflectors:"直線式菲涅爾反射鏡方位角對發電量的影響",LinearFresnelReflectorsWithTwoAbsorbers:"配備兩個吸收管的直線式菲涅爾反射鏡陣列",CosineEfficiencyOfHeliostats:"定日鏡的餘弦效率",ShadowingAndBlockingOfHeliostats:"定日鏡的陰影和遮擋",EffectSolarPowerTowerHeight:"吸收塔高度對發電量的影響",SolarPowerTower:"塔式光熱發電站"},otherTypesOfSolarPowerSubMenu:"其它類型的太陽能發電",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"太陽能上升氣流塔"},windPowerSubMenu:"風力發電",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"轉子葉片的數目對風力渦輪機輸出的影響",EffectOfPitchAngleOfWindTurbineBlades:"轉子葉片的俯仰角對風力渦輪機輸出的影響",BirdSafeBladeDesign:"對鳥類安全的葉片設計",OffshoreWindFarm:"離岸風電場"},colocationSubMenu:"共用空間項目",colocationTutorials:{AgricultureSolarWindColocation:"農業光電風力共用空間"},generativeDesignSubMenu:"生成式設計",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"單面光伏板陣列的傾斜角",BifacialSolarPanelArrayTiltAngle:"雙面光伏板陣列的傾斜角",OutputOfSolarPanelArrayInDifferentPlaces:"一個光伏板陣列在不同地區的產出",SimpleSolarFarmParetoFront:"簡單太陽能農場設計的帕累托前沿"},examplesSubMenu:"例子",solarEnergySubMenu:"太陽能",solarEnergyExamples:{SunBeamAndHeliodon:"太陽光束和日影儀",RooftopSolarPanels:"屋頂光伏板",NevadaSolarOneParabolicTroughArray:"內華達州太陽能一號的拋物線槽陣列",TooeleParabolicDishArray:"猶他州圖埃勒的拋物線碟陣列",PS10SolarPowerTower:"西班牙塞維利亞的PS10太陽能發電塔",TucsonLinearFresnelReflectors:"亞利桑那州圖森的直線式菲涅爾反射鏡陣列",SolarCanopyFormFactors:"太陽能天篷外形設計",SolarCanopyOverBleachers:"看台太陽能天篷",SolarCanopyOverGarage:"車庫太陽能天篷",SolarBusStop:"太陽能候車亭",SolarFacadeTesla:"特斯拉光伏牆",BuildingIntegratedPhotovoltaics:"建築整合光伏",Floatovoltaics:"浮動光伏",Agrivoltaics:"農業光伏",VegetativeBuffer:"太陽能農場绿化带",RainbowSwashSolarFarmBostonMA:"馬薩諸塞州波士頓彩虹激流旁邊的光伏板陣列",MickeyMouseSolarFarmOrlandoFL:"佛羅里達州奧蘭多的米老鼠形狀光伏板陣列",SolarPanelsOverCanalBakersfieldCA:"加利福尼亞州貝克斯菲爾德灌溉渠上假想的光伏板陣列",SolarNoiseBarrierLexingtonMA:"馬薩諸塞州列剋星敦高速公路噪音牆上假想的光伏板",HSATSolarTrackersRaleighNC:"北卡羅來納州羅利的一個水平方向單軸旋轉追日光伏板陣列(HSAT)",AADATSolarTrackersLancasterCA:"加利福尼亞州蘭開斯特的一個雙軸旋轉追日光伏板陣列(AADAT)",SolarTrackersInRealWorld:"模擬",SolarUpdraftTowerInCity:"太陽能上升氣流塔在城市中的應用"},builtEnvironmentSubMenu:"建造環境",residentialBuildingsSubMenu:"住宅建築",residentialBuildingExamples:{ColonialHouse:"殖民地風格的住宅",DutchColonialHouse:"荷蘭殖民地風格的住宅",TShapedHouse:"T字型房子",CapeCodHouseWithGarage:"有車庫的科德角風格的住宅",Solarium:"有日光浴室的房子",Church1:"教堂例一",Cathedral1:"主教座堂例一",Cathedral2:"主教座堂例二",Mosque1:"清真寺例一",AdobeTaosHouse:"陶斯土坯房",RanchHouse:"牧場風格的住宅",BonnetHouse:"有帽簷屋頂的住宅",BarnStyleHouse:"穀倉式風格的住宅",ModernHouse:"現代風格的住宅",ButterflyRoofHouse:"蝴蝶型屋頂的住宅"},commercialBuildingsSubMenu:"商用建築",commercialBuildingExamples:{WhiteHouse:"白宫",BilimMersinTurkiye:"土耳其梅爾辛科學教育中心",SpanishStyleHotel:"西班牙風格旅館",ApartmentBuilding:"公寓樓",OfficeBuilding:"寫字樓",Hotel:"旅館"},buildingComplexesSubMenu:"建築群",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"佛蒙特州南伯靈頓高中",MescaleroApacheSchoolNewMexico:"新墨西哥州梅斯卡勒羅阿帕奇學校"},urbanPlanningSubMenu:"城市規劃",urbanPlanningExamples:{Heatmap1:"熱圖例一"},otherBuildingsSubMenu:"其它建築",otherBuildingExamples:{Greenhouse:"溫室",Pavilion:"公園的亭子",OctagonalPagoda:"八角塔",OceanFront:"海邊",EgyptianPyramids:"埃及金字塔",MayanPyramid:"瑪雅金字塔",SiOSePol:"三十三孔橋",StackedCuboids:"堆砌長方體"},artificialIntelligenceSubMenu:"人工智慧",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"優化單排光伏板的傾斜角",OptimizingTiltAnglesOfMultipleSolarPanelRows:"優化多排光伏板的傾斜角",SolarFarmGenerativeDesign:"生成式設計太陽能農場",SolarFarmGenerativeDesignWithBlock:"生成式設計太陽能農場:周邊有建築物的情況",FitchburgSolarFarmGenerativeDesign:"生成式設計太陽能農場:真實世界案例"},languageSubMenu:"語言",publicSubMenu:"公共",ModelsGallery:"模型畫廊",ModelsMap:"模型地圖",AboutUs:"關於我們"},avatarMenu:{AccountSettings:"賬號設定",PrivacyStatementTitle:"用戶隱私權保護聲明",PrivacyStatement:"登錄需要採用您的谷歌ID建立或進入您的阿拉丁賬戶。 我們只儲存一個隨機的字符串作為您的ID。 任何關於您的可辨識的個人信息都沒有被收集。 詳情請參考我們的",SignIn:"登錄",SignOut:"退出賬號",IfYouAreAStudent:"如果您是一個學生"},skyMenu:{Axes:"顯示坐標軸",Theme:"環境主題",ThemeDefault:"默認",ThemeDesert:"沙漠",ThemeDune:"沙丘",ThemeForest:"森林",ThemeGrassland:"草原",ThemeHill:"丘陵",ThemeLake:"湖泊",ThemeMountain:"山脈",ThemeRural:"田園",SunlightAttenuationCoefficientInAir:"陽光在空氣中傳播的衰減係數",ConvectiveCoefficientOfAir:"空氣對流傳熱係數",HighestTemperatureTimeInMinutes:"最高氣溫時間(分鐘)",SelectSunAnglesToShow:"選擇太陽角度顯示",ShowAzimuthAngle:"顯示方位角",ShowElevationAngle:"顯示高度角",ShowZenithAngle:"顯示天頂角",DirectLightBrightnessAtNoon:"正午直射光照度",AmbientLightBrightnessAtNoon:"正午環境光照度"},groundMenu:{MonthlyIrradianceLoss:"月份輻射度損失比",Vegetation:"植被",LeafOutDay:"樹葉長出的日子",LeafOffDay:"樹葉脫落的日子",Albedo:"反照率",ImageOnGround:"地面顯示圖像",WaterSurface:"水面",RemoveAllUnlockedTrees:"刪除所有非固定的樹木",RemoveAllUnlockedFlowers:"删除所有非固定的花草",RemoveAllUnlockedSolarPanels:"删除所有非固定的光伏板",RemoveAllUnlockedPeople:"删除所有非固定的人物",RemoveAllUnlockedFoundations:"删除所有非固定的地基",RemoveAllUnlockedCuboids:"删除所有非固定的長方體",DoYouReallyWantToRemoveAllPeople:"你確定刪除所有非固定的人物嗎",DoYouReallyWantToRemoveAllTrees:"你確定刪除所有非固定的樹木嗎",DoYouReallyWantToRemoveAllFlowers:"你確定刪除所有非固定的花草嗎",DoYouReallyWantToRemoveAllSolarPanels:"你確定刪除所有非固定的光伏板嗎",DoYouReallyWantToRemoveAllFoundations:"你確定刪除所有非固定的地基嗎",DoYouReallyWantToRemoveAllCuboids:"你確定刪除所有非固定的長方體嗎",LockAllUnlockedElements:"固定所有非固定的部件",UnlockAllLockedElements:"解除所有的固定"},labelSubMenu:{Label:"標籤",LabelText:"標籤的内容",LabelHeight:"標籤的高度",LabelSize:"標籤的大小",LabelFontSize:"字體的大小",LabelColor:"標籤的顏色",KeepShowingLabel:"顯示標籤"},foundationMenu:{RemoveAllUnlockedSolarPanels:"刪除此地基上所有非固定的光伏板",RemoveAllUnlockedParabolicTroughs:"刪除此地基上所有非固定的拋物線槽",RemoveAllUnlockedParabolicDishes:"刪除此地基上所有非固定的拋物線碟",RemoveAllUnlockedFresnelReflectors:"刪除此地基上所有非固定的菲涅耳反射鏡",RemoveAllUnlockedHeliostats:"刪除此地基上所有非固定的定日鏡",RemoveAllUnlockedWindTurbines:"刪除此地基上所有非固定的風力渦輪機",RemoveAllUnlockedSensors:"刪除此地基上所有非固定的傳感器",RemoveAllUnlockedLights:"刪除此地基上所有非固定的電燈",RemoveAllUnlockedWalls:"刪除此地基上所有非固定的牆",RemoveAllUnlockedWindows:"刪除此地基上所有非固定的窗戶",RemoveAllUnlockedDoors:"刪除此地基上所有非固定的門",RemoveAllUnlockedPolygons:"刪除此地基上所有非固定的多邊形",RemoveAllUnlockedHumans:"刪除此地基上所有非固定的人物",RemoveAllUnlockedTrees:"刪除此地基上所有非固定的樹木",RemoveAllUnlockedFlowers:"刪除此地基上所有非固定的花草",Racks:"支架",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",SolarPanels:"光伏板",SolarPanelArray:"光伏板陣列",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"你確定刪除此地基上所有非固定的光伏板嗎",ParabolicTroughs:"拋物線槽",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"你確定刪除此地基上所有非固定的拋物線槽嗎",ParabolicDishes:"拋物線碟",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"你確定刪除此地基上所有非固定的拋物線碟嗎",FresnelReflectors:"菲涅耳反射鏡",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"你確定刪除此地基上所有非固定的菲涅耳反射鏡嗎",Heliostats:"定日鏡",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"你確定刪除此地基上所有非固定的定日鏡嗎",WindTurbines:"風力渦輪機",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"你確定刪除此地基上所有非固定的風力渦輪機嗎",Sensors:"傳感器",DoYouReallyWantToRemoveAllSensorsOnFoundation:"你確定刪除此地基上所有非固定的傳感器嗎",Lights:"電燈",DoYouReallyWantToRemoveAllLightsOnFoundation:"你確定刪除此地基上所有非固定的電燈嗎",Walls:"牆",DoYouReallyWantToRemoveAllWallsOnFoundation:"你確定刪除此地基上所有非固定的牆嗎",Windows:"窗戶",DoYouReallyWantToRemoveAllWindowsOnFoundation:"你確定刪除此地基上所有非固定的窗戶嗎",Doors:"門",DoYouReallyWantToRemoveAllDoorsOnFoundation:"你確定刪除此地基上所有非固定的門嗎",Polygons:"多邊形",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"你確定刪除此地基上所有非固定的多邊形嗎",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnFoundation:"你確定刪除此地基上所有非固定的人物嗎",Trees:"樹木",DoYouReallyWantToRemoveAllTreesOnFoundation:"你確定刪除此地基上所有非固定的樹木嗎",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnFoundation:"你確定刪除此地基上所有非固定的花草嗎",OnlyThisFoundation:"只這塊地基",AllConnectedFoundations:"所有相連的地基",AllSelectedFoundations:"所有選中的地基",AllFoundations:"所有的地基",AddPolygon:"添加多邊形",SolarStructure:"太陽能構型",GroupMaster:"主地基",LockAllUnlockedElementsOnThisFoundation:"固定此地基上所有非固定的部件",UnlockAllLockedElementsOnThisFoundation:"解除此地基上所有的固定",GroundFloorRValue:"建築物地板的R值",OnlyThisGroundFloor:"只這個建築物的地板",AllGroundFloors:"所有建築物的地板"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"和定日鏡配套的吸收塔",ReceiverTowerPhysicalProperties:"太陽能吸收塔的物理性質",ReceiverTowerHeight:"太陽能吸收塔的高度",ReceiverTowerRadius:"太陽能吸收塔的半徑",ReceiverAbsorptance:"太陽能吸收器的吸收率",ReceiverOpticalEfficiency:"太陽能吸收器的光效率",ReceiverThermalEfficiency:"太陽能吸收器的熱效率"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"和菲涅爾反射鏡配套的吸收管",AbsorberPipePhysicalProperties:"太陽能吸收管的物理性質",AbsorberHeight:"太陽能吸收管的安装高度",AbsorberApertureWidth:"太陽能吸收管的孔徑",AbsorberPipePoleNumber:"太陽能吸收管的支柱數量",AbsorberAbsorptance:"太陽能吸收管的吸收率",AbsorberOpticalEfficiency:"太陽能吸收管的光效率",AbsorberThermalEfficiency:"太陽能吸收管的熱效率"},solarUpdraftTowerMenu:{SolarUpdraftTower:"太陽能上升氣流塔",SolarUpdraftTowerPhysicalProperties:"太陽能上升氣流塔的物理性質",SolarUpdraftTowerChimneyHeight:"太陽能上升氣流塔煙囪的高度",SolarUpdraftTowerChimneyRadius:"太陽能上升氣流塔煙囪的半徑",SolarUpdraftTowerCollectorHeight:"太陽能上升氣流塔集熱棚的高度",SolarUpdraftTowerCollectorRadius:"太陽能上升氣流塔集熱棚的半徑",SolarUpdraftTowerCollectorTransmissivity:"太陽能上升氣流塔集熱棚的透射率",SolarUpdraftTowerCollectorEmissivity:"太陽能上升氣流塔集熱棚的發射率",SolarUpdraftTowerDischargeCoefficient:"太陽能上升氣流塔的流量係數",SolarUpdraftTowerTurbineEfficiency:"太陽能上升氣流塔的渦輪機效率"},cuboidMenu:{Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",RemoveAllUnlockedSolarPanels:"刪除此長方體表面上所有非固定的光伏板",RemoveAllUnlockedSensors:"刪除此長方體表面上所有非固定的傳感器",RemoveAllUnlockedPolygons:"刪除此長方體表面上所有非固定的多邊形",RemoveAllUnlockedHumans:"刪除此長方體表面上所有非固定的人物",RemoveAllUnlockedTrees:"刪除此長方體表面上所有非固定的樹木",RemoveAllUnlockedFlowers:"刪除此長方體表面上所有非固定的花草",RemoveAllUnlockedLights:"刪除此長方體表面上所有非固定的電燈",Racks:"支架",Lights:"電燈",DoYouReallyWantToRemoveAllLightsOnCuboid:"你確定刪除此長方體表面上所有非固定的電燈嗎",SolarPanels:"光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"你確定刪除此長方體表面上所有非固定的光伏板嗎",Sensors:"傳感器",DoYouReallyWantToRemoveAllSensorsOnCuboid:"你確定刪除此長方體表面上所有非固定的傳感器嗎",Polygons:"多邊形",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"你確定刪除此長方體表面上所有非固定的多邊形嗎",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnCuboid:"你確定刪除此長方體表面上所有非固定的人物嗎",Trees:"樹木",DoYouReallyWantToRemoveAllTreesOnCuboid:"你確定刪除此長方體表面上所有非固定的樹木嗎",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnCuboid:"你確定刪除此長方體表面上所有非固定的花草嗎",OnlyThisCuboid:"只這個長方體",AllCuboidsOnSameSurface:"同一表面上所有的長方體",AllCuboidsAboveSameBase:"同一地基上所有的長方體",AllSelectedCuboids:"所有選中的長方體",AllCuboids:"所有的長方體",OnlyThisSide:"只這個表面",AllSidesOfThisCuboid:"這個長方體所有的側面",AllSidesOfSelectedCuboids:"所有選中長方體所有的側面",AllSidesOfAllCuboids:"所有的長方體所有的側面",AddPolygon:"添加多邊形",Stackable:"可堆砌",GroupMaster:"主長方體"},polygonMenu:{Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",TextBox:"文字框",FontOutlineColor:"字體輪廓顏色",FontOutlineWidth:"字體輪廓線寬",FontStrokeColor:"字體描邊顏色",FontStrokeWidth:"字體描邊線寬",NoOutline:"無輪廓線",Shiny:"光澤",Filled:"填充",FillTexture:"填充材質",FillColor:"填充顏色",Opacity:"遮光度",LineColor:"線條顏色",LineWidth:"線條寬度",LineStyle:"線條樣式",SolidLine:"實線",DashedLine:"虛線",DottedLine:"點線",InsertVertexBeforeIndex:"前面插入頂點",InsertVertexAfterIndex:"後面插入頂點",DeleteVertex:"移除頂點",OnlyThisPolygon:"只這個多邊形",AllPolygonsOnSurface:"同一表面上所有的多邊形",AllPolygonsAboveFoundation:"同一地基上所有的多邊形",AllSelectedPolygons:"所有選中的多邊形",AllPolygons:"所有的多邊形",Layout:"佈局",SolarPanelArrayLayout:"光伏板陣列佈局",SolarPanelArrayLayoutParametricDesign:"光伏板陣列佈局參數化設計",SolarPanelArrayLayoutGenerativeDesign:"光伏板陣列佈局生成式設計",SolarPanelArrayModel:"光伏板型號",SolarPanelArrayOrientation:"排列方向",SolarPanelArrayTiltAngle:"傾斜角度",SolarPanelArrayRowWidth:"行寬度",SolarPanelArrayInterRowSpacing:"行間距",SolarPanelArrayRowSpacing:"行間距",SolarPanelArrayRowAxis:"行軸方向",SolarPanelArrayLeftRightRowAxis:"左右方向(相對)",SolarPanelArrayUpDownRowAxis:"上下方向(相對)",SolarPanelArrayEastWestRowAxis:"東西方向(絕對)",SolarPanelArrayNorthSouthRowAxis:"南北方向(絕對)",SolarPanelArrayMargin:"邊緣餘地",SolarPanelArrayPoleHeight:"支架高度",SolarPanelArrayPoleSpacing:"支柱間隔",SolarPanelArrayTotalYearlyCost:"全年總成本",SolarPanelArrayTotalYearlyRevenue:"全年總收入",SolarPanelArrayTotalYearlyYield:"全年總發電量",SolarPanelArrayMeanYearlyYield:"平均年發電量",SolarPanelArrayYearlyProfit:"全年利潤",LayoutNotAcceptedCheckYourParameters:"恕不能採用此佈局。請檢查您的參數設置。"},optimizationMenu:{Optimization:"優化",Parameters:"參數",Variables:"變量",Constants:"常量",GeneticAlgorithm:"遺傳算法",GeneticAlgorithmSettings:"遺傳算法設定",ParticleSwarmOptimization:"粒子群優化",ParticleSwarmOptimizationSettings:"粒子群優化設定",SolarPanelTiltAngleOptimization:"光伏板傾斜角度優化",SolarPanelArrayLayout:"光伏板陣列佈局",Generation:"世代",Gene:"基因",NormalizedVariables:"標準化變量",Objective:"目標函數",ObjectiveFunctionDailyTotalYield:"當日總產出",ObjectiveFunctionYearlyTotalYield:"全年總產出",ObjectiveFunctionDailyMeanYield:"當日平均產出",ObjectiveFunctionYearlyMeanYield:"全年平均產出",ObjectiveFunctionDailyProfit:"當日利潤",ObjectiveFunctionYearlyProfit:"全年利潤",GeneticAlgorithmSelectionMethod:"遺傳算法選擇方法",RouletteWheel:"輪盤制",Tournament:"淘汰制",SearchMethod:"搜索方法",GlobalSearchUniformSelection:"全局搜索均勻取樣",LocalSearchRandomOptimization:"局部搜索隨機優化",PopulationSize:"種群個體數目",MaximumGenerations:"最大世代數目",SelectionRate:"選擇概率",CrossoverRate:"交配概率",MutationRate:"突變概率",Step:"步數",SwarmSize:"粒子數目",MaximumSteps:"最大步數",MaximumVelocity:"最大速度",InertiaWeight:"慣性權重",CognitiveCoefficient:"認知係數",SocialCoefficient:"社會係數",ConvergenceThreshold:"終止條件的收斂閾值",LocalSearchRadius:"局部搜索的半徑",RowsPerRackRange:"單個支架上光伏板行數的變化範圍",TiltAngleRange:"光伏板傾斜角度的變化範圍",InterRowSpacingRange:"光伏板陣列行間距的變化範圍",ClickTargetPolygonToActivate:"點擊目標多邊形激活",ClickTargetFoundationToActivate:"點擊目標地基激活"},treeMenu:{ShowModel:"顯示近似模型",Flip:"翻轉",Type:"樹種",Spread:"樹冠直徑"},flowerMenu:{Flip:"翻轉",Type:"品種",Spread:"直徑"},peopleMenu:{ChangePerson:"改變人物",Flip:"轉身",Observer:"觀察者",ViewFromThisPerson:"視角移到此人位置"},lightMenu:{Color:"顏色",Intensity:"亮度",Decay:"衰减",MaximumDistance:"最大距離",Inside:"内部"},solarCollectorMenu:{Coordinates:"座標",RelativeXCoordinateOfCenter:"中心的相對X座標",RelativeYCoordinateOfCenter:"中心的相對Y座標",RelativeAzimuth:"相對方位角",Pole:"支柱",PoleHeight:"支柱高度",PoleRadius:"支柱半徑",ExtraPoleHeight:"額外的支柱高度",ExtraPoleHeightInAdditionToHalfWidth:"寬度一半額外的支柱高度",DrawSunBeam:"顯示光束"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"反射器鏡面反射率",ReceiverAbsorptance:"接收器吸收率",ReflectorOpticalEfficiency:"反射器光效率",ReceiverThermalEfficiency:"接收器熱效率"},solarPanelMenu:{ElectricalProperties:"電氣特性",InverterEfficiency:"逆變器效率",InverterEfficiencyExplained:"直流電轉換為交流電的效率。",DcToAcSizeRatio:"直流-交流容量比例",DcToAcSizeRatioExplained:"直流電容量和交流電容量的比例。",ChangePvModel:"改變光伏板型號",Orientation:"排列方向",Portrait:"縱向",Landscape:"橫向",FrameColor:"框架顏色",Panels:"塊",PanelsWide:"塊光伏板寬",PanelsLong:"塊光伏板長",TiltAngle:"傾斜角度",SouthFacingIsPositive:"朝南為正",Tracker:"追日系統",SolarTrackerFollowsSun:"追日系統提高光伏板產出。",PoleSpacing:"支柱間隔",NoTracker:"無追日系統",HorizontalSingleAxisTracker:"水平單軸追日系統",VerticalSingleAxisTracker:"豎直單軸追日系統",AltazimuthDualAxisTracker:"地平雙軸追日系統",OnlyThisSolarPanel:"只這個光伏板",AllSolarPanelsOnSurface:"同一表面上所有的光伏板",AllSolarPanelsAboveFoundation:"同一地基上所有的光伏板",AllSelectedSolarPanels:"所有選中的光伏板",AllSolarPanels:"所有的光伏板"},pvModelPanel:{SolarPanelSpecs:"光伏板型號性能",Model:"型號",PanelSize:"尺寸",Cells:"電池組",CellType:"光伏電池類型",Monocrystalline:"單晶矽",Polycrystalline:"多晶矽",ThinFilm:"薄膜",Bifacial:"雙面",BifacialityFactor:"雙面性因子",Black:"黑色",Blue:"藍色",ShadeTolerance:"陰影耐受度",SolarCellEfficiency:"光伏電池效率",NominalOperatingCellTemperature:"名義電池運行溫度",TemperatureCoefficientOfPmax:"Pmax溫度係數"},parabolicTroughMenu:{ModuleLength:"模塊長度",Modules:"模塊",ModulesLong:"模塊長",LatusRectum:"通徑",OnlyThisParabolicTrough:"只這個拋物線槽",AllParabolicTroughsAboveFoundation:"同一地基上所有的拋物線槽",AllSelectedParabolicTroughs:"所有選中的抛物线槽",AllParabolicTroughs:"所有的拋物線槽"},fresnelReflectorMenu:{AbsorberPipe:"吸收管",SelectAbsorberToReflectSunlightTo:"選擇陽光反射到的吸收管",ModuleLength:"模塊長度",Modules:"模塊",ModulesLong:"模塊長",OnlyThisFresnelReflector:"只這個菲涅耳反射鏡",AllFresnelReflectorsAboveFoundation:"同一地基上所有的菲涅耳反射鏡",AllSelectedFresnelReflectors:"所有選中的菲涅耳反射镜",AllFresnelReflectors:"所有的菲涅耳反射鏡"},heliostatMenu:{Tower:"吸收塔",SelectTowerToReflectSunlightTo:"選擇陽光反射到的吸收塔",OnlyThisHeliostat:"只這個定日鏡",AllHeliostatsAboveFoundation:"同一地基上所有的定日鏡",AllSelectedHeliostats:"所有選中的定日镜",AllHeliostats:"所有的定日鏡"},parabolicDishMenu:{ReceiverStructure:"接收器結構",CentralPole:"中心直柱",CentralPoleWithTripod:"三腳架和中心直柱",Quadrupod:"四脚架",RimDiameter:"外圈直徑",LatusRectum:"通徑",ExtraPoleHeightInAdditionToRadius:"半徑之外額外的支架高度",OnlyThisParabolicDish:"只這個拋物線碟",AllParabolicDishesAboveFoundation:"同一地基上所有的拋物線碟",AllSelectedParabolicDishes:"所有選中的抛物线碟",AllParabolicDishes:"所有的拋物線碟"},windTurbineMenu:{BirdSafeDesign:"鳥類安全設計",BirdSafeNone:"無",BirdSafeBicolor:"雙色",BirdSafeStriped:"條紋",Rotor:"轉子",BladeNumber:"葉片數目",RotorInitialAngle:"轉子初始角度",RotorBladeDesign:"轉子葉片設計",RotorBladeRadius:"轉子葉片半徑",RotorBladePitchAngle:"轉子葉片俯仰角",RelativeYawAngle:"相對偏流角",MaximumChordLength:"最大弦長度",Tower:"塔架",TowerHeight:"塔架高度",TowerRadius:"塔架半徑",HubDesign:"轉子輪轂設計",HubRadius:"輪轂半徑",HubLength:"輪轂長度",OnlyThisWindTurbine:"只這個風力渦輪機",AllWindTurbinesAboveFoundation:"同一地基上所有的風力渦輪機",AllSelectedWindTurbines:"所有選中的風力渦輪機",AllWindTurbines:"所有的風力渦輪機"},wallMenu:{TextureDefault:"默認材質",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",SizeOfWall:"牆的尺寸",OnlyThisWall:"只這堵牆",AllConnectedWalls:"所有連接的牆",AllWallsAboveFoundation:"同一地基上所有的牆",AllSelectedWalls:"所有選中的墙",AllWalls:"所有的牆",Windows:"窗戶",LockAllUnlockedWindows:"固定所有非固定的窗戶",UnlockAllLockedWindows:"解除所有的窗戶固定",RemoveAllUnlockedWindows:"刪除這堵牆上所有非固定的窗戶",DoYouReallyWantToRemoveAllWindowsOnThisWall:"你確定刪除這堵牆上所有非固定的窗戶嗎",Doors:"門",LockAllUnlockedDoors:"固定所有非固定的門",UnlockAllLockedDoors:"解除所有的門固定",RemoveAllUnlockedDoors:"刪除這堵牆上所有非固定的門",DoYouReallyWantToRemoveAllDoorsOnThisWall:"你確定刪除這堵牆上所有非固定的門嗎",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"刪除這堵牆上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"你確定刪除這堵牆上所有非固定的光伏板嗎",Sensors:"傳感器",LockAllUnlockedSensors:"固定所有非固定的傳感器",UnlockAllLockedSensors:"解除所有的傳感器固定",RemoveAllUnlockedSensors:"刪除這堵牆上所有非固定的傳感器",DoYouReallyWantToRemoveAllSensorsOnThisWall:"你確定刪除這堵牆上所有非固定的傳感器嗎",Lights:"電燈",LockAllUnlockedLights:"固定這堵牆上所有非固定的電燈",UnlockAllLockedLights:"解除這堵牆上所有的電燈固定",RemoveAllUnlockedLights:"刪除這堵牆上所有非固定的電燈",DoYouReallyWantToRemoveAllLightsOnThisWall:"你確定刪除這堵牆上所有非固定的電燈嗎",Polygons:"多邊形",LockAllUnlockedPolygons:"固定這堵牆上所有非固定的多邊形",UnlockAllLockedPolygons:"解除這堵牆上所有的多邊形固定",RemoveAllUnlockedPolygons:"刪除這堵牆上所有非固定的多邊形",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"你確定刪除這堵牆上所有非固定的多邊形嗎",WallStructure:"牆結構",DefaultStructure:"默認",StudStructure:"牆柱",PillarStructure:"圓柱",Opacity:"遮光度",StructureSpacing:"結構間距",StructureWidth:"結構寬度",StructureThickness:"結構厚度",StructureColor:"結構颜色",Color:"牆体颜色",Height:"高度",Thickness:"厚度",Texture:"材質",AllLightsOnWallInside:"所有電燈在牆內",AllLightsOnWallOutside:"所有電燈在牆外",Fill:"填充",Full:"全部",Partial:"部分",Empty:"空白",OpenToOutside:"對外面開放",EavesLength:"屋簷延伸長度",Parapet:"女牆",ParapetColor:"女牆颜色",ParapetTexture:"女牆材質",ParapetHeight:"女牆高度",CopingsHeight:"頂蓋高度",CopingsWidth:"頂蓋寬度"},windowMenu:{OnlyThisWindow:"只這個窗戶",AllWindowsOnSurface:"同一表面上所有的窗戶",AllWindowsAboveFoundation:"同一地基上所有的窗戶",AllSelectedWindows:"所有選中的窗户",AllWindows:"所有的窗戶",Width:"寬度",Height:"高度",Setback:"離牆體外表面的距離",RelativeToWallThickness:"相對於牆的厚度",Mullion:"直櫺",HorizontalMullion:"水平的直櫺",VerticalMullion:"豎直的直櫺",MullionWidth:"直櫺寬度",HorizontalMullionSpacing:"水平直櫺的間距",VerticalMullionSpacing:"豎直直櫺的間距",MullionColor:"直櫺颜色",Tint:"著色",Opacity:"不透明度",SolarHeatGainCoefficient:"太陽輻射熱獲取係數(SHGC) = 1 - 不透明度",Shutter:"百葉窗",LeftShutter:"左側百葉窗",RightShutter:"右側百葉窗",BothShutters:"兩側百葉窗",ShutterWidth:"相對寬度",ShutterColor:"百葉窗顏色",Frame:"邊框",FrameWidth:"邊框寬度",SillWidth:"窗台寬度",Color:"邊框顔色",WindowType:"窗戶種類",Default:"默認",Arched:"拱形",Polygonal:"多邊形",Interior:"内窗",Empty:"空白"},roofMenu:{TextureDefault:"默認材質",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",OnlyThisRoof:"只這個屋顶",AllRoofsAboveFoundation:"同一地基上所有的屋顶",AllSelectedRoofs:"所有選中的屋顶",AllRoofs:"所有的屋顶",OnlyThisCeiling:"只這個天花板",AllCeilingsAboveFoundation:"同一地基上所有的天花板",AllCeilings:"所有的天花板",EavesOverhangLength:"屋簷延伸長度",RafterSpacing:"屋椽間距",RafterWidth:"屋椽寬度",RafterThickness:"屋椽厚度",RafterColor:"屋椽颜色",RoofColor:"屋顶颜色",RoofSideColor:"屋顶側面颜色",GlassTint:"玻璃顏色",Opacity:"遮光度",RoofStructure:"屋頂結構",DefaultStructure:"默認",RafterStructure:"屋椽",GlassStructure:"玻璃",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"刪除這個屋顶上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"你確定刪除這個屋顶上所有非固定的光伏板嗎",Windows:"天窗",LockAllUnlockedWindows:"固定所有非固定的天窗",UnlockAllLockedWindows:"解除所有的天窗固定",RemoveAllUnlockedWindows:"刪除這個屋顶上所有非固定的天窗",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"你確定刪除這個屋顶上所有非固定的天窗嗎",Sensors:"傳感器",LockAllUnlockedSensors:"固定所有非固定的傳感器",UnlockAllLockedSensors:"解除所有的傳感器固定",RemoveAllUnlockedSensors:"刪除這個屋顶上所有非固定的傳感器",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"你確定刪除這個屋顶上所有非固定的傳感器嗎",Lights:"電燈",RemoveAllUnlockedLights:"刪除這個屋顶上所有非固定的電燈",DoYouReallyWantToRemoveAllLightsOnThisRoof:"你確定刪除這個屋顶上所有非固定的電燈嗎",AllLightsOnRoofInside:"所有電燈在屋頂內",AllLightsOnRoofOutside:"所有電燈在屋頂外",Rise:"相對高度",Ceiling:"天花板",RoofRValue:"屋顶R值",CeilingRValue:"天花板R值"},doorMenu:{TextureDefault:"默認材質",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",Texture11:"十一號材質",Texture12:"十二號材質",Texture13:"十三號材質",Texture14:"十四號材質",Texture15:"十五號材質",Texture16:"十六號材質",Texture17:"十七號材質",OnlyThisDoor:"只這個門",AllDoorsOnWall:"同一面牆上所有的門",AllDoorsAboveFoundation:"同一地基上所有的門",AllSelectedDoors:"所有選中的门",AllDoors:"所有的門",DoorType:"門種類",Default:"默認",Arched:"拱形",Filled:"填充",FrameColor:"門框顏色",Interior:"內門"},siteInfoPanel:{High:"最高溫度",Low:"最低温度"},designInfoPanel:{NumberOfSelectedHeliostats:"選中的定日鏡總數",NumberOfSelectedSolarPanels:"選中的光伏板總數",ElectricityGeneratedDailyBySolarPanels:"這些光伏板的日發電量",SceneDiameter:"場景直徑",BuildingArea:"建築面積"},visualizationControlPanel:{ColorContrast:"熱圖顏色對比度",FluxScale:"熱通量長度",ClickUpOrDownArrowButtonsToChange:"點擊上下箭頭改變參數"},instructionPanel:{Rotate:"旋轉",DragMouse:"拖動滑鼠",Zoom:"缩放",MouseWheelOrKeys:"滑鼠滾輪或者Ctrl+[和Ctrl+]",MouseWheelOrKeysMac:"滑鼠滾輪或者⌘+[和⌘+]",Pan:"平移",HoldCtrlDragMouse:"按下Ctrl鍵並拖動滑鼠",HoldMetaDragMouse:"按下⌘鍵並拖動滑鼠",Enter2DMode:"進入二維模式",Exit2DMode:"退出二維模式",NavigationMode:"導航模式",EnableNavigation:"進入導航模式",DisableNavigation:"退出導航模式",MoveForwardBack:"前後移動",MoveForwardBackInstruction:"按W/S鍵",MoveLeftRight:"左右移動",MoveLeftRightInstruction:"按A/D鍵",MoveUpDown:"上下移動",MoveUpDownInstruction:"按Z/X鍵",Turn:"拐彎",TurnInstruction:"按方向鍵",ResetView:"重置視角",AutoRotate:"自動旋轉",StartOrStop:"按F4鍵啟動或停止"},mapPanel:{ImageOnGround:"地面顯示圖像",HideAddress:"隱藏地址",WeatherStations:"氣象站",WeatherStationsNote:"關閉此選項以提高地圖速度",Coordinates:"經緯度坐標",Zoom:"放大程度"},visibilityPanel:{SolarPanelVisibility:"光伏板對觀察者的可見度",Observer:"觀察者",VantagePoint:"觀察位置",ItemizedVisibilityByFields:"每個場的可見度",TotalVisibility:"總可見度"},sensorPanel:{LightSensor:"光傳感器",WeatherDataFrom:"氣象數據來自"},buildingEnergyPanel:{DailyBuildingEnergy:"建築物日能耗",YearlyBuildingEnergy:"建築物年能耗",Heater:"暖氣",AC:"空調",SolarPanel:"光伏",Net:"淨能耗"},solarPanelYieldPanel:{SolarPanelDailyYield:"光伏日發電量",SolarPanelYearlyYield:"光伏年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualSolarPanels:"顯示每行光伏板單獨發電量",Profit:"利潤",TotalCost:"總成本",TotalRevenue:"總收入",TotalYield:"總發電量",MeanYield:"平均發電量",ModuleCount:"光伏板總數"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"拋物線槽日發電量",ParabolicTroughYearlyYield:"拋物線槽年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualParabolicTroughs:"顯示每行拋物線槽單獨發電量"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"拋物線碟日發電量",ParabolicDishYearlyYield:"拋物線碟年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualParabolicDishes:"顯示每個拋物線碟單獨發電量"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"菲涅耳反射鏡日發電量",FresnelReflectorYearlyYield:"菲涅耳反射鏡年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualFresnelReflectors:"顯示每個菲涅耳反射鏡單獨發電量"},heliostatYieldPanel:{HeliostatDailyYield:"定日鏡日發電量",HeliostatYearlyYield:"定日鏡年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualHeliostats:"顯示每個定日鏡單獨發電量"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"太陽能上升氣流塔日發電量",UpdraftTowerYearlyYield:"太陽能上升氣流塔年發電量",ChimneyAirTemperature:"煙囪空氣溫度",ChimneyWindSpeed:"煙囪風速",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualUpdraftTowers:"顯示每個太陽能上升氣流塔單獨發電量"},heliodonPanel:{SunAndTimeSettings:"太陽和時間設置",SunAngles:"角度",TwentyFourHours:"24小時"},cloudFilePanel:{CopyTitle:"拷貝標題",TitleCopiedToClipBoard:"標題拷貝到剪貼板",SearchByTitle:"按標題搜索",MyLikes:"我喜歡的模型",MyCloudFiles:"我的雲文件",GenerateLink:"生成鏈接",LinkGeneratedInClipBoard:"鏈接生成到剪貼板",DoYouReallyWantToDelete:"您確定刪除此文檔",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"如果此文檔已被分享或發布, 改名會使已有鏈接失效"},projectListPanel:{CopyTitle:"拷貝標題",TitleCopiedToClipBoard:"標題拷貝到剪貼板",SearchByTitle:"按標題搜索",MyProjects:"我的專案",GenerateProjectLink:"生成專案鏈接",ProjectLinkGeneratedInClipBoard:"專案鏈接生成到剪貼板",DoYouReallyWantToDeleteProject:"您確定刪除專案",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"如果此專案已被分享或發布, 改名會使已有鏈接失效"},projectPanel:{ProjectSettings:"專案設定",ThumbnailImageSize:"縮略圖大小",ProjectByOtherPeople:"別人的專案",Project:"專案",ProjectType:"類别",ProjectDescription:"描述",MakeDescriptionEditable:"編輯描述",MakeDescriptionNonEditable:"不編輯描述",DoubleClickToMakeDescriptionEditable:"雙擊此描述激活編輯功能",SolarPanelArray:"光伏板陣列設計",CurateCurrentDesign:"收藏當前設計",UpdateSelectedDesign:"更新選中設計",RemoveSelectedDesign:"刪除選中設計",ClickToFlipSortingOrder:"點擊逆轉排序方向",DesignNotShownInSolutionSpaceClickToShow:"此設計目前不顯示在設計空間內,點擊顯示",DesignShownInSolutionSpaceClickToHide:"此設計目前顯示在設計空間內,點擊隱藏",SolutionSpace:"設計空間",ChooseSolutionSpace:"選擇設計空間",ChooseDataColoring:"選擇數據著色",SameColorForAllDesigns:"所有設計一個顏色",OneColorForEachDesign:"每個設計一個顏色",SolutionSpaceScreenshot:"設計空間截屏",ScatterPlotScreenshot:"散點圖截屏",SingleClickToSelectDoubleClickToOpen:"單擊選擇,雙擊打開。",SingleClickToDeselectDoubleClickToOpen:"單擊取消選擇,雙擊打開。",GenerateScatterPlot:"生成散點圖",SelectXAxis:"選擇X軸",SelectYAxis:"選擇Y軸"},accountSettingsPanel:{MyAccountSettings:"我的賬戶設定",MyID:"我的🆔",ClickToCopyMyID:"點擊此處拷貝我的ID",IDInClipBoard:"您現在可以粘貼ID了。",StoreMyNameInMyFilesWhenSaving:"保存文檔時籤上我的大名",DoYouReallyWantToShowYourNameInYourFiles:"您確定在您的文檔裡保存您的大名嗎?",SignFileDisclaimer:"如果您選擇保存,您的大名可能被所有打開您的文檔的人看到。",Likes:"點贊總數",AllPublished:"發佈總數",PublishedUnderAliases:"别名發佈",UserCount:"用戶總數",SchoolID:"學校編號",ClassID:"班級編號"},weatherPanel:{SunshineHours:"日照時間"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"選擇氣溫模型",Sinusoidal:"正弦函數"},economicsPanel:{EconomicsParameters:"經濟學參數",ElectricitySellingPrice:"銷售電價",OperationalCostPerUnit:"單位運行成本",SellingPrice:"銷售電價",UnitCost:"單位成本"},navigationPanel:{NavigationParameters:"導航模式參數",MinimumMoveSpeed:"最小移動速度",MinimumTurnSpeed:"最小拐彎速度"},shadowSettingsPanel:{ShadowSettings:"陰影設定",ShadowCameraFarDistance:"最遠距離",ShadowMapSize:"映射圖長寬",Notes:"注意事項",RefreshPageNote:"改變設定後須刷新頁面。",MapSizeWarning:"大的映射圖長寬可能導致阿拉丁無法在某些電腦上運作。"},yearlyLightSensorPanel:{SkyClearness:"天空清晰度",ShowDaylightResults:"顯示日照時間結果",ShowSkyClearnessResults:"顯示天空清晰度結果",ShowAverageDailySolarRadiation:"顯示日平均輻射結果"},analysisManager:{NoSensorForCollectingData:"沒有傳感器收集數據。",NoSolarPanelForAnalysis:"沒有光伏板可以分析。",NoObserverForVisibilityAnalysis:"沒有找到可見度分析的觀察者。",NoWaterHeaterForAnalysis:"沒有太陽能熱水器可以分析。",NoParabolicDishForAnalysis:"沒有拋物線碟可以分析。",NoParabolicTroughForAnalysis:"沒有拋物線槽可以分析。",NoFresnelReflectorForAnalysis:"沒有菲涅耳反射鏡可以分析。",NoHeliostatForAnalysis:"沒有定日鏡可以分析。",NoSolarUpdraftTowerForAnalysis:"沒有太陽能上升氣流塔可以分析。",NoBuildingForAnalysis:"沒有建築物可以分析。"},toolbar:{CloudFile:"雲文檔",Select:"選擇",AddFoundation:"添加地基",AddWall:"添加牆體",AddWindow:"添加窗戶",AddDoor:"添加門",AddPyramidRoof:"添加金字塔屋頂",AddGableRoof:"添加雙坡屋頂",AddHipRoof:"添加四坡屋顶",AddGambrelRoof:"添加复斜屋顶",AddMansardRoof:"添加折線屋顶",AddCuboid:"添加長方體",AddSensor:"添加傳感器",AddSolarPanel:"添加光伏板",AddWaterHeater:"添加太陽能熱水器",AddParabolicDish:"添加拋物線碟",AddParabolicTrough:"添加拋物線槽",AddFresnelReflector:"添加菲涅耳反射鏡",AddHeliostat:"添加定日鏡",AddWindTurbine:"添加水平轴風力渦輪機",AddVerticalAxisWindTurbine:"添加垂直軸風力渦輪機",AddLight:"添加電燈",AddTree:"添加樹木",AddFlower:"添加花草",AddPeople:"添加人物",DoubleClickToLockThisModeForNextAction:"雙擊按鈕給下個動作鎖定此模式",ClickToUnlockThisModeForNextAction:"點擊按鈕讓動作完成即離開此模式",ManipulateGroup:"整體操作一個組",ClearScene:"清空場景",ShowSunAndTimeSettings:"顯示太陽和時間設置",SpatialAnalysisOfEnergy:"能量的空間分析",DoYouReallyWantToClearContent:"您確定清空場景嗎",ClickForMoreButtons:"點擊此處切換到更多的按鈕模式"},tooltip:{gotoIFI:"訪問未來智能研究所",visitAladdinHomePage:"訪問阿拉丁主頁",clickToOpenMenu:"點擊打開主菜單",clickToAccessAccountSettings:"點擊打開賬號設定"},tree:{Apple:"蘋果樹",Birch:"白樺",Coconut:"椰子樹",Dogwood:"茱萸",Elm:"榆樹",FanPalm:"扇葉棕櫚",Linden:"菩提",Magnolia:"玉蘭",Maple:"楓樹",Oak:"橡樹",Pine:"松樹",Spruce:"雲杉"},flower:{Bellflower:"鈴蘭",Boxwood:"黃楊",CactusCombo1:"仙人掌組合一",CactusCombo2:"仙人掌組合二",CactusCombo3:"仙人掌組合三",CactusCombo4:"仙人掌組合四",Hibiscus:"木槿",Hosta:"玉簪",Hydrangea:"繡球花",Peony:"牡丹",RedRose:"紅玫瑰",Spirea:"繡線菊",Sunflower:"向日葵",TallBush:"高灌木",Tulip:"鬱金香",WhiteFlower:"白花",YellowFlower:"黄花"},people:{Jaah:"賈阿",Jack:"傑克",Jacob:"雅各布",Jacqueline:"杰奎琳",Jade:"美玉",Jamelia:"潔米莉雅",James:"詹姆斯",Jane:"簡",Jaya:"佳婭",Jaye:"傑伊",Jeanette:"珍妮特",Jedi:"傑迪",Jeff:"傑夫",Jena:"珍娜",Jennifer:"珍尼弗",Jess:"傑西",Jett:"傑特",Jill:"吉爾",Jiya:"吉娅",Joan:"瓊",Jocelyn:"喬斯林",Joel:"喬爾",Joey:"喬伊",John:"約翰",Jonathon:"喬納森",Jose:"何塞",Joseph:"約瑟夫",Joshua:"約書亞",Judd:"賈德",Judy:"朱蒂",Julia:"朱莉婭",Julio:"胡里奥",Jumapili:"祖瑪匹莉",June:"準衛",Juro:"朱諾",Justin:"賈斯汀"},compass:{N:"北",S:"南",W:"西",E:"東"},month:{January:"一月",February:"二月",March:"三月",April:"四月",May:"五月",June:"六月",July:"七月",August:"八月",September:"九月",October:"十月",November:"十一月",December:"十二月"},modelsMap:{SearchByPublisher:"按發布者搜索",SearchByLabel:"按標籤搜索",MyPublishedModels:"我發布的模型",TotalNumberOfUserPublishedModels:"用戶發布的模型總數",SortFromOldestToNewest:"從早到晚排序",SortFromNewestToOldest:"從晚到早排序",ModelsFoundOnThisSite:"個模型在此位置",ShowModelsPublishedByThisAuthor:"展示此用戶發布的模型"}}},Gft={translation:{name:{IFI:"Instituto de inteligencia futura",Aladdin:"Aladdin",Tagline:"Aladdin: Reimagining Design with Explainable AI — Institute for Future Intelligence"},cookie:{Statement:"Clicando Aceptar, autoriza el uso de cookies para mejora la experiencia con Aladdin",Accept:"Aceptar"},aboutUs:{ProductBroughtToYouBy:"Este producto esta hecho por",TermsOfService:"Términos de servicio",PrivacyPolicy:"Política de privacidad",Software:"Programa",Content:"Contenido",Research:"Investigación",Support:"Ayuda",Acknowledgment:"Agradecimientos",FundingInformation:"La National Science Foundation (NSF) proporcionó generosamente fondos para la investigación y el desarrollo de este producto a través de las subvenciones con número #2105695, #2131097, y #2301164. Sin embargo, todas las opiniones, hallazgos y conclusiones o recomendaciones expresados en este producto pertenecen a los autores y no reflejan necesariamente los puntos de vista de la NSF.",Contact:"Para más información, por favor contacte con Charles Xie (charles@intofuture.org).",Translators:"Translators"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Text",FontSize:"Font Size",FontColor:"Font Color",Model:"Model",Models:"Models",Upload:"Upload",ClickCount:"Click Count",Share:"Share",AlreadyLike:"Already like",Like:"Like",MustLogInToLike:"Must log in to like",AllRightsReserved:"Todos los derechos reservados",MeterAbbreviation:"m",Version:"Versión",VersionInitial:"V",Options:"Opciones",Maximum:"Maximum",Minimum:"Minimum",MaximumNumber:"Número máximo",MinimumNumber:"Minimum Number",MaximumValue:"Maximum Value",MinimumValue:"Minimum Value",Or:"O",None:"Ninguno",High:"High",Partial:"Partial",Teacher:"Profesor",Class:"Clase",Total:"Total",Leaderboard:"Leaderboard",Latest:"Latest",Range:"Rango",SIUnit:"SI Unit",USUnit:"US Unit",ThermalTransmittance:"Thermal Transmittance",ThermalResistance:"Thermal Resistance",UValue:"U-Value",RValue:"R-Value",VolumetricHeatCapacity:"Volumetric Heat Capacity",BuildingHVACSystem:"Building HVAC System",ThermostatSetpoint:"Thermostat Setpoint",TemperatureToleranceThreshold:"Tolerance Threshold",TemperatureToleranceThresholdExplanation:`Heater will not run if the lowest outside temperature of the day is higher than the setpoint minus this threshold. AC will not run if the highest outside temperature of the day is lower than the setpoint plus this threshold.`,Press:"Press",Open:"Abrir",Save:"Guardar",SaveAsImage:"Guardar como imagen",SaveAsCsv:"Save as CSV",Update:"Actualizar",Paste:"Pegar",Copy:"Copiar",Cut:"Cortar",Delete:"Eliminar",Lock:"Cerrar con llave",Translucent:"Translucent",Color:"Color",Pattern:"Pattern",Texture:"Textura",Size:"Tamaño",Thickness:"Grosor",Yes:"Sí",No:"No",OK:"OK",Cancel:"Cancelar",Apply:"Aplicar",Close:"Cerrar",ApplyTo:"Aplicar a",Run:"Run",Pause:"Pause",Resume:"Resume",Clear:"Limpiar",Warning:"Aviso",Caution:"Caution",Reminder:"Reminder",Length:"Longitud",Width:"Ancho",Height:"Altura",Radius:"Radius",Angle:"Ángulo",Azimuth:"Azimut",Coordinates:"Coordinates",Weather:"Tiempo",Show:"Mostrar",Animate:"Animar",Date:"Fecha",Time:"Tiempo",Title:"Título",Owner:"Propietario",Action:"Acción",Rename:"Renombrar",Location:"Location",Latitude:"Latitud",Month:"Mes",Day:"Día",Hour:"Hora",Daylight:"Luz solar",Radiation:"Radiación",Temperature:"Temperatura",kWh:"kWh",dollar:"dollar",MeterPerSecond:"m/s",NorthInitial:"N",SouthInitial:"S",EastInitial:"E",WestInitial:"O",Fixed:"Fixed",Elements:"Elements",Energy:"Energy",Unknown:"Unknown",Label:"Label",Description:"Description",NoDescription:"No description",MaximumCharacters:"Maximum characters",Author:"Author",Publisher:"Publisher",Building:"Building",ResidentialBuilding:"Residential Building",CommercialBuilding:"Commercial Building",SchoolBuilding:"School Building",TouristAttraction:"Tourist Attraction",UnderConstruction:"Under Construction",Photovoltaic:"Photovoltaic",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Anonymous",Nickname:"Nickname",Pin:"Pin",Unpin:"Unpin"},shared:{NoTexture:"Sin textura",FoundationElement:"Bases",CuboidElement:"Cuboide",PolygonElement:"Polígon",SensorElement:"Sensor",SolarPanelElement:"Panel solar",WaterHeaterElement:"Water Heater",ParabolicDishElement:"Parabolic Dish",ParabolicTroughElement:"Parabolic Trough",FresnelReflectorElement:"Fresnel Reflector",HeliostatElement:"Heliostat",WindTurbineElement:"Wind Turbine",LightElement:"Light",ElementLocked:"Bloqueado",ModelType:"Model Type",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Model not found",CannotSignIn:"Cannot sign in",CannotSignOut:"Cannot sign out",YourAccountWasCreated:"Your account was created.",CannotCreateAccount:"Cannot create an account",YourAccountSettingsWereSaved:"Your account settings were saved.",CannotSaveYourAccountSettings:"Cannot save your account settings",CannotSaveYourFileToCloud:"Cannot save your file to the cloud",CannotCreateNewProject:"Cannot create a new project",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Cannot open your projects",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"This title has been used. Choose a different one",CloudFileWithTitleExistsDoYouWantToOverwrite:"A cloud file with the title exists. Do you want to overwrite it?",CloudFileNotFound:"The cloud file was not found",CannotLoadModelsOnMap:"Cannot load models on map",CannotLoadLeaderboard:"Cannot load leaderboard",CannotPublishModelOnMap:"Cannot publish model on map",CannotLikeModelFromMap:"Cannot like model from map",CannotDeleteModelFromMap:"Cannot delete model from map",ModelDeletedFromMap:"Model is deleted from map",DoYouWantToDeleteModelFromMap:"Do you want to delete the model from map?",CannotOpenCloudFile:"Cannot open the cloud file",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Cannot open your cloud folder",CannotDeleteCloudFile:"Cannot delete the cloud file",CannotRenameCloudFile:"Cannot rename the cloud file",DoYouWantToSaveChanges:"¿Quieres guardar los cambios?",NotApplicableToSelectedAction:"No se aplica a la acción seleccionada",ThisElementIsLocked:"Este elemento está bloqueado",ThisCannotBeUndone:"Esto no se puede deshacer",AzimuthOfNorthIsZero:"Azimut del norte es 0°",CounterclockwiseAzimuthIsPositive:"Hacia la izquierda es positivo",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Move cancelled because of overlap.",MoveOutsideBoundaryCancelled:"Move outside the boundary cancelled.",RotationCancelledBecauseOfOverlap:"Rotation cancelled because of overlap.",RotationOutsideBoundaryCancelled:"Rotation outside the boundary cancelled.",ResizingCancelledBecauseOfOverlap:"Resizing cancelled because of overlap.",ResizingOutsideBoundaryCancelled:"Resizing outside the boundary cancelled.",CannotPasteOutsideBoundary:"Cannot paste outside this surface.",CannotPasteBecauseOfOverlap:"Cannot paste because of overlap.",CannotMoveObjectTooFar:"Cannot move object too far.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Existing solar panels will be removed before applying the new layout.",DoYouWantToContinue:"Do you want to continue?",SolarPanelsCannotIntersectWithGround:"Solar panels cannot intersect with the ground.",SolarPanelsCannotOverlapWithOneAnother:"Solar panels cannot overlap with one another.",ScreenshotSaved:"A screenshot was saved.",CsvFileSaved:"A CSV file was saved.",SimulationStarted:"Simulation started.",SimulationCompleted:"Simulation completed.",SimulationAborted:"Simulation aborted.",SimulationPaused:"Simulation paused.",CancelSimulation:"Cancel simulation",PauseSimulation:"Pause simulation",ResumeSimulation:"Resume simulation",SimulationWillNotStartDueToErrors:"Simulation will not start due to errors",SimulationWillStartDespiteWarnings:"Simulation will start despite warnings.",EvolutionStarted:"Evolution started.",EvolutionCompleted:"Evolution completed.",EvolutionAborted:"Evolution aborted.",EvolutionPaused:"Evolution paused.",EncounterEvolutionError:"Encountered an evolution error.",CancelEvolution:"Cancel evolution",PauseEvolution:"Pause evolution",ResumeEvolution:"Resume evolution",ConvergenceThresholdHasBeenReached:"The convergence threshold has been reached.",MaximumNumberOfGenerationsHasBeenReached:"The maximum number of generations has been reached.",MaximumNumberOfStepsHasBeenReached:"The maximum number of steps has been reached.",ObjectiveFunctionTypeError:"The current objective function is not supported by this operation. Please start from the menu.",WallsAreNotAtSameHeight:"Walls are not at the same height.",WallsAreNotPerpendicular:"Walls are not perpendicular.",WallsAreNotConnected:"Walls are not connected.",WallsNumberNeedToBeFour:"The number of walls needs to be four.",BuildingContainsEmptyWall:"Building contains one or more empty wall.",BuildingRoofMissing:"Building has a missing roof.",UnknownErrors:"Unknown errors."},menu:{AnalysisOptions:"Analysis Options",option:{GridCellSize:"Grid Cell Size",SamplingFrequency:"Frecuencia de muestreo",TimesPerHour:"Veces per hora",DaysPerYear:"Days per Year"},mainMenu:"Menu principal",cloudMenu:"Menú en la nube",projectSubMenu:"Project",project:{CreateNewProject:"Create New Project",OpenProject:"Open Project",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"You must log in to create a new project",YouMustLogInToOpenProject:"You must log in to open a project"},fileSubMenu:"Archivo",file:{CreateNewFile:"Crear nuevo archivo",OpenLocalFile:"Abrir archivo local",SaveAsLocalFile:"Guardar como archivo local",SavingAbortedMustHaveValidFileName:"!Error guardando! Debes tener un nombre de archivo válido",OpenCloudFile:"Abrir archivo en la nube",SaveCloudFile:"Guardar archivo en la nube",SaveAsCloudFile:"Guardar como archivo en la nube",SavingAbortedMustHaveValidTitle:"!Error guardando! Debes tener un título válido para el archivo en la nube",ToSaveYourWorkPleaseSignIn:"Para guardar tu trabajo, por favor regístrese.",TakeScreenshot:"Hacer captura de pantalla",UseCloudFileName:"Use Cloud File Name",PublishOnModelsMap:"Publish on Models Map",PublishedOnModelsMap:"Your model has been published on the Models Map",UpdatedOnModelsMap:"Your model has been updated on the Models Map",YouMustLogInToPublishYourModel:"You must log in to publish your model",YouCannotPublishAModelThatYouDoNotOwn:"You cannot publish a model that you do not own",YouMustSaveModelOnCloudBeforePublishingIt:"You must save the model on the cloud before publishing it"},editSubMenu:"Editar",edit:{Undo:"Deshacer",Redo:"Repetir"},viewSubMenu:"Vista",view:{NavigationView:"Navigation View",TwoDimensionalView:"Vista 2D",ResetView:"Resetear",ZoomIn:"Acercar",ZoomOut:"Alejar",AutoRotate:"Auto rotación",ShowShadow:"Mostrar sombra",ShowSurfaceShininess:"Show Surface Shininess",TranslucentFloatingWindows:"Translucent Floating Windows",accessoriesSubMenu:"Accessories",accessories:{SiteInformation:"Información del sitio",DesignInformation:"Información de diseño",Instruction:"Instrucción",StickyNote:"Nota adhesiva",Note:"Nota"}},settingsSubMenu:"Settings",settings:{WeatherData:"Datos del tiempo",DiurnalTemperature:"Diurnal Temperature",Heliodon:"Heliodon",SunAndTime:"Sun & Time"},benchmarksSubMenu:"Benchmarks",benchmarks:{SolarRadiationPredictionVsMeasurement:"Solar Radiation Prediction vs. Measurement",BESTESTCase600:"Building Energy Simulation Test: BESTEST Case 600",BESTESTCase610:"Building Energy Simulation Test: BESTEST Case 610",BESTESTCase620:"Building Energy Simulation Test: BESTEST Case 620",BESTESTCase630:"Building Energy Simulation Test: BESTEST Case 630"},graph:{LineWidth:"Line Width",SymbolSize:"Symbol Size",BarCategoryGap:"Bar Category Gap",ShowHorizontalGridLines:"Show Horizontal Grid Lines",ShowVerticalGridLines:"Show Vertical Grid Lines"},analysisSubMenu:"Análisis",physicsSubMenu:"Physics",physics:{DailySolarRadiationHeatmap:"Daily Solar Radiation Heatmap",SolarRadiationHeatmapOptions:"Solar Radiation Heatmap Options",SolarRadiationHeatmapGridCellSize:"Solar Radiation Heatmap Grid Cell Size",SolarRadiationHeatmapMaxValue:"Solar Radiation Heatmap Maximum Value",SolarRadiationHeatmapNoAnimation:"No Animation for Static Model",ReflectionHeatmap:"Reflection Heatmap"},sensorSubMenu:"Sensores",sensor:{CollectDailyData:"Recoger datos diarios",CollectYearlyData:"Recoger datos anuales",SensorSimulationNoAnimation:"No Animation for Collecting Sensor Data"},buildingSubMenu:"Building",building:{AnalyzeDailyBuildingEnergy:"Analyze Daily Building Energy",AnalyzeYearlyBuildingEnergy:"Analyze Yearly Building Energy",EnergyAnalysisOptions:"Energy Analysis Options",EnergyGridCellSize:"Energy Grid Cell Size",BuildingEnergySimulationNoAnimation:"No Animation for Building Energy Simulation"},solarPanelSubMenu:"Paneles solares",solarPanel:{AnalyzeDailyYield:"Analizar el rendimiento diario",AnalyzeYearlyYield:"Analizar el rendimiento anual",AnalyzeVisibility:"Analyze Visibility",PanelDiscretization:"Discretización del panel",Exact:"Exacto",Approximate:"Aproximado",EnergyGridCellSize:"Energy Grid Cell Size",VisibilityGridCellSize:"View Factor Grid Cell Size",EnergyAnalysisOptions:"Energy Analysis Options",VisibilityAnalysisOptions:"Visibility Analysis Options",SolarPanelSimulationNoAnimation:"No Animation for Solar Panel Simulation"},parabolicTroughSubMenu:"Parabolic Trough",parabolicTrough:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},parabolicDishSubMenu:"Parabolic Dish",parabolicDish:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},fresnelReflectorSubMenu:"Fresnel Reflector",fresnelReflector:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},heliostatSubMenu:"Heliostat",heliostat:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},solarUpdraftTowerSubMenu:"Solar Updraft Tower",solarUpdraftTower:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield",SolarUpdraftTowerSimulationNoAnimation:"No Animation for Solar Updraft Tower Simulation"},tutorialsSubMenu:"Tutorials",solarEnergyScienceSubMenu:"Solar Science",solarEnergyScienceTutorials:{SunAngles:"Ángulos solares relativos a un observador en el suelo",InsolationAndClimate:"Insolation and Climate",SolarRadiationToBox:"Radiación solar a una caja"},buildingScienceSubMenu:"Building Science",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Thermal Envelope vs. Building Envelope",EffectOfSizeOnBuildingEnergy:"Effect of Size on Building Energy",EffectOfOrientationOnBuildingEnergy:"Effect of Orientation on Building Energy",EffectOfInsulationOnBuildingEnergy:"Effect of Insulation on Building Energy",EffectOfRoofColorOnBuildingEnergy:"Effect of Roof Color on Building Energy",EffectOfEavesOverhangLengthOnBuildingEnergy:"Effect of Eaves Overhang Length on Building Energy",EffectOfWindowSHGCOnBuildingEnergy:"Effect of Window Solar Heat Gain on Building Energy",EffectOfThermostatSetpointOnBuildingEnergy:"Effect of Thermostat Setpoint on Building Energy",EffectOfSolarPanelsOnBuildingEnergy:"Effect of Solar Panels on Building Energy",EffectOfGroundTemperatureOnBuildingEnergy:"Effect of Ground Temperature on Building Energy",EffectOfTreesOnBuildingEnergy:"Effect of Trees on Building Energy"},buildingDesignSubMenu:"Building Design",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"Cape Cod Style House with Shed Dormer",MansardRoofWithDormers:"Mansard Roof with Dormers",GableRoofVsHipRoof:"Gable Roof vs. Hip Roof",ColonialVsSaltbox:"Colonial vs. Saltbox",GambrelRoofVsMansardRoof:"Gambrel Roof vs. Mansard Roof",CombinationRoofVsBonnetRoof:"Combination Roof vs. Bonnet Roof",DutchGableRoof:"Dutch Gable Roof",GableAndValleyRoof:"Gable and Valley Roof",ClerestoryRoof:"Clerestory Roof",MonitorRoof:"Monitor Roof",AFrameHouse:"A-Frame House",HalfTimberedHouse:"Half-Timbered House",AllBasicRoofTypes:"All Basic Roof Types"},photovoltaicSolarPowerSubMenu:"Photovoltaic Solar Power",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Effect of Tilt Angle",EffectOfAzimuthOfSolarPanel:"Effect of Azimuth",SolarPanelTypes:"Solar Panel Types",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Seguidores solares",CoveringGroundWithSolarPanels:"Why Just Covering the Ground with Solar Panels is not a Good Idea",InterRowSpacingOfSolarPanelArray:"Effect of Inter-Row Spacing in a Solar Panel Array",EffectOfOrientationOfSolarPanels:"Effect of Orientation of Solar Panels",SolarPanelArrayAutomaticLayout:"Solar Panel Array Automatic Layout"},concentratedSolarPowerSubMenu:"Concentrated Solar Power",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Effect of Azimuth of a Parabolic Trough",EffectOfLatusRectumOfParabolicTrough:"Effect of Latus Rectum of a Parabolic Trough",FocusSunlightWithParabolicDish:"Focus Sunlight with a Parabolic Dish",LinearFresnelReflectors:"Linear Fresnel Reflectors",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Effect of Absorber Pipe Height for Linear Fresnel Reflectors",EffectOfAzimuthOfLinearFresnelReflectors:"Effect of Azimuth of Linear Fresnel Reflectors",LinearFresnelReflectorsWithTwoAbsorbers:"Linear Fresnel Reflectors with Two Absorbers",CosineEfficiencyOfHeliostats:"Cosine Efficiency of Heliostats",ShadowingAndBlockingOfHeliostats:"Shadowing and Blocking of Heliostats",EffectSolarPowerTowerHeight:"Effect of Solar Power Tower Height",SolarPowerTower:"Solar Power Tower"},otherTypesOfSolarPowerSubMenu:"Other Types of Solar Power",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Solar Updraft Tower"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Ejemplos",solarEnergySubMenu:"Energía Solar",solarEnergyExamples:{SunBeamAndHeliodon:"Rayo de sol y heliodon",RooftopSolarPanels:"Rooftop Solar Panels",NevadaSolarOneParabolicTroughArray:"Nevada Solar One Parabolic Trough Array",TooeleParabolicDishArray:"Tooele Parabolic Dish Array",PS10SolarPowerTower:"PS10 Solar Power Tower",TucsonLinearFresnelReflectors:"Tucson Linear Fresnel Reflectors",SolarCanopyFormFactors:"Solar Canopy Form Factors",SolarCanopyOverBleachers:"Solar Canopy Over Bleachers",SolarCanopyOverGarage:"Solar Canopy Over Garage",SolarBusStop:"Solar Bus Stop",SolarFacadeTesla:"Tesla Solar Façade",BuildingIntegratedPhotovoltaics:"Building-Integrated Photovoltaics",Floatovoltaics:"Floatovoltaics",Agrivoltaics:"Agrivoltaics",VegetativeBuffer:"Vegetative Buffer",RainbowSwashSolarFarmBostonMA:"Rainbow Swash Solar Farm in Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Mickey Mouse Solar Farm in Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Hypothetical Solar Panels Over Canal in Bakersfield, CA",SolarNoiseBarrierLexingtonMA:"Hypothetical Solar Noise Barrier in Lexington, MA",HSATSolarTrackersRaleighNC:"Horizontal Single Axis Trackers (HSAT) in Raleigh, NC",AADATSolarTrackersLancasterCA:"Azimuth–Altitude Dual Axis Trackers (AADAT) in Lancaster, CA",SolarUpdraftTowerInCity:"Solar Updraft Tower in City"},builtEnvironmentSubMenu:"Built Environment",residentialBuildingsSubMenu:"Residential Buildings",residentialBuildingExamples:{ColonialHouse:"Colonial House",DutchColonialHouse:"Dutch Colonial House",TShapedHouse:"T-Shaped House",CapeCodHouseWithGarage:"Cape Cod House with Garage",Solarium:"Solarium",Church1:"Church 1",Cathedral1:"Cathedral 1",Cathedral2:"Cathedral 2",Mosque1:"Mosque 1",AdobeTaosHouse:"Adobe Taos House",RanchHouse:"Ranch House",BonnetHouse:"Bonnet House",BarnStyleHouse:"Barn Style House",ModernHouse:"Modern House",ButterflyRoofHouse:"Butterfly Roof House"},commercialBuildingsSubMenu:"Commercial Buildings",commercialBuildingExamples:{WhiteHouse:"White House",BilimMersinTurkiye:"BILIM, Mersin, Turkiye",SpanishStyleHotel:"Spanish Style Hotel",ApartmentBuilding:"Apartment Building",OfficeBuilding:"Edificio de oficinas",Hotel:"Hotel"},buildingComplexesSubMenu:"Building Complexes",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"South Burlington High School, VT",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, NM"},urbanPlanningSubMenu:"Urban Planning",urbanPlanningExamples:{Heatmap1:"Heatmap"},otherBuildingsSubMenu:"Other Buildings",otherBuildingExamples:{Greenhouse:"Greenhouse",Pavilion:"Pavilion in a Park",OctagonalPagoda:"Octagonal Pagoda",OceanFront:"Ocean Front",EgyptianPyramids:"Egyptian Pyramids",MayanPyramid:"Mayan Pyramid",SiOSePol:"Si-o-se-pol",StackedCuboids:"Stacked Cuboids"},artificialIntelligenceSubMenu:"Artificial Intelligence",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Optimizing the Tilt Angle of a Solar Panel Row",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Optimizing the Tilt Angles of Multiple Solar Panel Rows",SolarFarmGenerativeDesign:"Solar Farm Generative Design",SolarFarmGenerativeDesignWithBlock:"Solar Farm Generative Design in the Presence of a Block",FitchburgSolarFarmGenerativeDesign:"Fitchburg Solar Farm Generative Design"},languageSubMenu:"Idioma",publicSubMenu:"Public",ModelsGallery:"Models Gallery",ModelsMap:"Models Map",AboutUs:"Sobre nosotros"},avatarMenu:{AccountSettings:"Configuraciones de la cuenta",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"When you sign in, your Google ID is used to create and access your Aladdin account. Only a random alphanumeric string is stored in our database as a reference. No personally identifiable data such as your name or email is ever gathered. For more information, see our ",SignIn:"Iniciar sesión",SignOut:"Desconectar",IfYouAreAStudent:"Si eres un estudiante"},skyMenu:{Axes:"Ejes",Theme:"Tema",ThemeDefault:"Por defecto",ThemeDesert:"Desierto",ThemeDune:"Dune",ThemeForest:"Bosque",ThemeGrassland:"Campo",ThemeHill:"Hill",ThemeLake:"Lake",ThemeMountain:"Mountain",ThemeRural:"Rural",SunlightAttenuationCoefficientInAir:"Sunlight Attenuation Coefficient in Air",ConvectiveCoefficientOfAir:"Convective Coefficient of Air",HighestTemperatureTimeInMinutes:"Highest Temperature Time (Minutes)",SelectSunAnglesToShow:"Select Sun Angles to Show",ShowAzimuthAngle:"Show Azimuth Angle",ShowElevationAngle:"Show Elevation Angle",ShowZenithAngle:"Show Zenith Angle",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Vegetation",LeafOutDay:"Leaf-Out Day",LeafOffDay:"Leaf-Off Day",Albedo:"Albedo",ImageOnGround:"Imagen en el suelo",WaterSurface:"Water Surface",RemoveAllUnlockedTrees:"Eliminar todos los árboles",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Eliminar toda la gente",RemoveAllUnlockedFoundations:"Eliminar todos las bases",RemoveAllUnlockedCuboids:"Eliminar todos los cuboides",DoYouReallyWantToRemoveAllPeople:"Estás seguro que quieres eliminar a toda la gente who are not locked",DoYouReallyWantToRemoveAllTrees:"Estás seguro que quieres eliminar todos los árboles that are not locked",DoYouReallyWantToRemoveAllFlowers:"Do you really want to remove all the flowers that are not locked",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Estás seguro que quieres eliminar todas las bases that are not locked",DoYouReallyWantToRemoveAllCuboids:"Estás seguro que quieres eliminar todos los cuboides that are not locked",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Etiqueta",LabelText:"Label Text",LabelHeight:"Label Height",LabelSize:"Label Size",LabelFontSize:"Font Size",LabelColor:"Label Color",KeepShowingLabel:"Seguir mostrando etiqueta"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Eliminar todos los paneles solares",RemoveAllUnlockedParabolicTroughs:"Remove All Unlocked Parabolic Troughs",RemoveAllUnlockedParabolicDishes:"Remove All Unlocked Parabolic Dishes",RemoveAllUnlockedFresnelReflectors:"Remove All Unlocked Fresnel Reflectors",RemoveAllUnlockedHeliostats:"Remove All Unlocked Heliostats",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Eliminar todos los sensores",RemoveAllUnlockedLights:"Remove All Unlocked Lights",RemoveAllUnlockedWalls:"Eliminar todas las paredes",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",RemoveAllUnlockedPolygons:"Eliminar todos los polígonos",RemoveAllUnlockedHumans:"Remove All Humans",RemoveAllUnlockedTrees:"Remove All Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",Racks:"Rejillas",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",SolarPanels:"Paneles solares",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"Estás seguro que quieres eliminar todos los paneles solares en esta base that are not locked",ParabolicTroughs:"Parabolic Troughs",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"Do you really want to remove all the parabolic troughs on this foundation that are not locked",ParabolicDishes:"Parabolic Dishes",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"Do you really want to remove all the parabolic dishes on this foundation that are not locked",FresnelReflectors:"Fresnel Reflectors",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"Do you really want to remove all the Fresnel reflectors on this foundation that are not locked",Heliostats:"Heliostats",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"Do you really want to remove all the heliostats on this foundation that are not locked",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Sensores",DoYouReallyWantToRemoveAllSensorsOnFoundation:"Estás seguro que quieres eliminar todos los sensores de esta base",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnFoundation:"Do you really want to remove all the lights on this foundation that are not locked",Walls:"Paredes",DoYouReallyWantToRemoveAllWallsOnFoundation:"Estás seguro que quieres eliminar todas las paredes de esta base that are not locked",Windows:"Windows",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Do you really want to remove all the windows on this foundation that are not locked",Doors:"Doors",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Do you really want to remove all the doors on this foundation that are not locked",Polygons:"Polígonos",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"Estás seguro que quieres eliminar todos los polígonos de esta base that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnFoundation:"Do you really want to remove all the humans on this foundation who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnFoundation:"Do you really want to remove all the trees on this foundation that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Do you really want to remove all the flowers on this foundation that are not locked",OnlyThisFoundation:"Solamente esta base",AllConnectedFoundations:"Todas las bases conectadas",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Todas las bases",AddPolygon:"Añadir polígono",SolarStructure:"Solar Structure",GroupMaster:"Group Master",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Ground Floor R-Value",OnlyThisGroundFloor:"Only This Ground Floor",AllGroundFloors:"All Ground Floors"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Receiver Tower for Heliostats",ReceiverTowerPhysicalProperties:"Physical Properties of Receiver Tower",ReceiverTowerHeight:"Height of Receiver Tower",ReceiverTowerRadius:"Radius of Receiver Tower",ReceiverAbsorptance:"Absorptance of Receiver",ReceiverOpticalEfficiency:"Optical Efficiency of Receiver",ReceiverThermalEfficiency:"Thermal Efficiency of Receiver"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Absorber Pipe for Fresnel Reflectors",AbsorberPipePhysicalProperties:"Physical Properties of Absorber Pipe",AbsorberHeight:"Height of Absorber Pipe",AbsorberApertureWidth:"Aperture Width of Absorber Pipe",AbsorberPipePoleNumber:"Pole Number for Absorber Pipe",AbsorberAbsorptance:"Absorptance of Absorber",AbsorberOpticalEfficiency:"Optical Efficiency of Absorber",AbsorberThermalEfficiency:"Thermal Efficiency of Absorber"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Solar Updraft Tower",SolarUpdraftTowerPhysicalProperties:"Physical Properties of Solar Updraft Tower",SolarUpdraftTowerChimneyHeight:"Solar Updraft Tower Chimney Height",SolarUpdraftTowerChimneyRadius:"Solar Updraft Tower Chimney Radius",SolarUpdraftTowerCollectorHeight:"Solar Updraft Tower Collector Height",SolarUpdraftTowerCollectorRadius:"Solar Updraft Tower Collector Radius",SolarUpdraftTowerCollectorTransmissivity:"Solar Updraft Tower Collector Transmissivity",SolarUpdraftTowerCollectorEmissivity:"Solar Updraft Tower Collector Emissivity",SolarUpdraftTowerDischargeCoefficient:"Solar Updraft Tower Discharge Coefficient",SolarUpdraftTowerTurbineEfficiency:"Solar Updraft Tower Turbine Efficiency"},cuboidMenu:{Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",RemoveAllUnlockedSolarPanels:"Eliminar todos los paneles solares",RemoveAllUnlockedSensors:"Eliminar todos los sensores",RemoveAllUnlockedPolygons:"Eliminar todos los polígonos",RemoveAllUnlockedHumans:"Remove All Humans",RemoveAllUnlockedTrees:"Remove All Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Rejillas",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Paneles solares",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"Estás seguro que quieres eliminar todos los paneles solares de este cuboide that are not locked",Sensors:"Sensores",DoYouReallyWantToRemoveAllSensorsOnCuboid:"Estás seguro que quieres eliminar todos los sensores de este cuboide that are not locked",Polygons:"Polígonos",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"Estás seguro que quieres eliminar todos los polígonos de este cuboide that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnCuboid:"Do you really want to remove all the humans on this cuboid who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnCuboid:"Do you really want to remove all the trees on this cuboid that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Do you really want to remove all the flowers on this cuboid that are not locked",OnlyThisCuboid:"Solamente este cuboide",AllCuboidsOnSameSurface:"All Cuboids on Same Surface",AllCuboidsAboveSameBase:"All Cuboids above Same Base",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Todos los cuboides",OnlyThisSide:"Solamente este lado",AllSidesOfThisCuboid:"Todos los lados en este cuboide",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Todos los lados en todos los cuboides",AddPolygon:"Añadir polígono",Stackable:"Stackable",GroupMaster:"Group Master"},polygonMenu:{Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",TextBox:"Text Box",FontOutlineColor:"Font Outline Color",FontOutlineWidth:"Font Outline Width",FontStrokeColor:"Font Stroke Color",FontStrokeWidth:"Font Stroke Width",NoOutline:"No Outline",Shiny:"Shiny",Filled:"Rellenar",FillTexture:"Rellenar textura",FillColor:"Rellenar color",Opacity:"Opacity",LineColor:"Color de la línea",LineWidth:"Line Width",LineStyle:"Line Style",SolidLine:"Solid Line",DashedLine:"Dashed Line",DottedLine:"Dotted Line",InsertVertexBeforeIndex:"Añadir vértice antes del índice",InsertVertexAfterIndex:"Añadir vértice después del índice",DeleteVertex:"Eliminar vértice",OnlyThisPolygon:"Solamente este polígono",AllPolygonsOnSurface:"All Polygons on the Same Surface",AllPolygonsAboveFoundation:"Todos los polígonos sobre la base",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Todos los polígonos",Layout:"Layout",SolarPanelArrayLayout:"Solar Panel Array Layout",SolarPanelArrayLayoutParametricDesign:"Solar Panel Array Layout: Parametric Design",SolarPanelArrayLayoutGenerativeDesign:"Solar Panel Array Layout: Generative Design",SolarPanelArrayModel:"Solar Panel Model",SolarPanelArrayOrientation:"Orientation",SolarPanelArrayTiltAngle:"Tilt Angle",SolarPanelArrayRowWidth:"Row Width",SolarPanelArrayInterRowSpacing:"Inter-Row Spacing",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Row Axis",SolarPanelArrayLeftRightRowAxis:"Left-Right (Relative)",SolarPanelArrayUpDownRowAxis:"Up-Down (Relative)",SolarPanelArrayEastWestRowAxis:"East-West (Absolute)",SolarPanelArrayNorthSouthRowAxis:"North-South (Absolute)",SolarPanelArrayMargin:"Margin",SolarPanelArrayPoleHeight:"Pole Height",SolarPanelArrayPoleSpacing:"Pole Spacing",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"This layout is not accepted. Please check your parameters."},optimizationMenu:{Optimization:"Optimization",Parameters:"Parameters",Variables:"Variables",Constants:"Constants",GeneticAlgorithm:"Genetic Algorithm",GeneticAlgorithmSettings:"Genetic Algorithm Settings",ParticleSwarmOptimization:"Particle Swarm Optimization",ParticleSwarmOptimizationSettings:"Particle Swarm Optimization Settings",SolarPanelTiltAngleOptimization:"Solar Panel Tilt Angle Optimization",SolarPanelArrayLayout:"Solar Panel Array Layout",Generation:"Generation",Gene:"Gene",NormalizedVariables:"Normalized Variables",Objective:"Objective",ObjectiveFunctionDailyTotalYield:"Daily Total Yield",ObjectiveFunctionYearlyTotalYield:"Yearly Total Yield",ObjectiveFunctionDailyMeanYield:"Daily Mean Yield",ObjectiveFunctionYearlyMeanYield:"Yearly Mean Yield",ObjectiveFunctionDailyProfit:"Daily Profit",ObjectiveFunctionYearlyProfit:"Yearly Profit",GeneticAlgorithmSelectionMethod:"Genetic Algorithm Selection Method",RouletteWheel:"Roulette Wheel",Tournament:"Tournament",SearchMethod:"Search Method",GlobalSearchUniformSelection:"Global Search Uniform Selection",LocalSearchRandomOptimization:"Local Search Random Optimization",PopulationSize:"Population Size",MaximumGenerations:"Maximum Generations",SelectionRate:"Selection Rate",CrossoverRate:"Crossover Rate",MutationRate:"Mutation Rate",Step:"Step",SwarmSize:"Swarm Size",MaximumSteps:"Maximum Steps",MaximumVelocity:"Maximum Velocity",InertiaWeight:"Inertia Weight",CognitiveCoefficient:"Cognitive Coefficient",SocialCoefficient:"Social Coefficient",ConvergenceThreshold:"Convergence Threshold for Termination",LocalSearchRadius:"Local Search Radius",RowsPerRackRange:"Range for Rows per Rack",TiltAngleRange:"Range for Tilt Angle",InterRowSpacingRange:"Range for Inter-Row Spacing",ClickTargetPolygonToActivate:"Click Target Polygon to Activate",ClickTargetFoundationToActivate:"Click Target Foundation to Activate"},treeMenu:{ShowModel:"Mostrar modelo",Flip:"Flip",Type:"Tipo",Spread:"Extender"},flowerMenu:{Flip:"Flip",Type:"Type",Spread:"Spread"},peopleMenu:{ChangePerson:"Cambiar persona",Flip:"Flip",Observer:"Observer",ViewFromThisPerson:"View from This Person"},lightMenu:{Color:"Color",Intensity:"Intensity",Decay:"Decay",MaximumDistance:"Distance",Inside:"Inside"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Azimut relativa",Pole:"Pole",PoleHeight:"Altura del poste",PoleRadius:"Pole Radius",ExtraPoleHeight:"Extra Pole Height",ExtraPoleHeightInAdditionToHalfWidth:"Extra Pole Height in Addition to Half Width",DrawSunBeam:"Dibujar rayo del sol"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Reflector Reflectance",ReceiverAbsorptance:"Receiver Absorptance",ReflectorOpticalEfficiency:"Reflector Optical Efficiency",ReceiverThermalEfficiency:"Receiver Thermal Efficiency"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"Cambiar modelo PV",Orientation:"Orientación",Portrait:"Vertical",Landscape:"Horizontal",FrameColor:"Frame Color",Panels:"paneles",PanelsWide:"ancho paneles",PanelsLong:"longitud paneles",TiltAngle:"Inclinar ángulo",SouthFacingIsPositive:"Orientado al sur es positivo",Tracker:"Seguidor",SolarTrackerFollowsSun:"Un seguidor sigue el sol para incrementar las salidas de los paneles solares",PoleSpacing:"Espaciado entre postes",NoTracker:"Sin seguimiento",HorizontalSingleAxisTracker:"Seguidor horizontal de eje único",VerticalSingleAxisTracker:"Seguidor vertical de eje único",AltazimuthDualAxisTracker:"Seguidor de doble eje altazimutal",OnlyThisSolarPanel:"Solamente este panel solar",AllSolarPanelsOnSurface:"Todos los paneles solares en la misma superficie",AllSolarPanelsAboveFoundation:"Todos los paneles solares sobre la misma base",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Todos los paneles solares"},pvModelPanel:{SolarPanelSpecs:"Especificaciones del panel solar",Model:"Modelo",PanelSize:"Tamaño del panel",Cells:"Celdas",CellType:"Tipo de celda",Monocrystalline:"Monocristalino",Polycrystalline:"Policristalino",ThinFilm:"Película delgada",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Negro",Blue:"Azul",ShadeTolerance:"Tolerancia a la sombra",SolarCellEfficiency:"Eficiencia de la célula solar",NominalOperatingCellTemperature:"Temperatura nominal de la celda de funcionamiento",TemperatureCoefficientOfPmax:"Coeficiente de temperatura de Pmax"},parabolicTroughMenu:{ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",LatusRectum:"Latus Rectum",OnlyThisParabolicTrough:"Only This Parabolic Trough",AllParabolicTroughsAboveFoundation:"All Parabolic Troughs Above the Same Foundation",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"All Parabolic Troughs"},fresnelReflectorMenu:{AbsorberPipe:"Absorber Pipe",SelectAbsorberToReflectSunlightTo:"Select Absorber to Reflect Sunlight to",ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",OnlyThisFresnelReflector:"Only This Fresnel Reflector",AllFresnelReflectorsAboveFoundation:"All Fresnel Reflectors Above the Same Foundation",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"All Fresnel Reflectors"},heliostatMenu:{Tower:"Tower",SelectTowerToReflectSunlightTo:"Select Tower to Reflect Sunlight to",OnlyThisHeliostat:"Only This Heliostat",AllHeliostatsAboveFoundation:"All Heliostats Above the Same Foundation",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"All Heliostats"},parabolicDishMenu:{ReceiverStructure:"Receiver Structure",CentralPole:"Central Pole",CentralPoleWithTripod:"Central Pole with Tripod",Quadrupod:"Quadrupod",RimDiameter:"Rim Diameter",LatusRectum:"Latus Rectum",ExtraPoleHeightInAdditionToRadius:"Extra Pole Height in Addition to Radius",OnlyThisParabolicDish:"Only This Parabolic Dish",AllParabolicDishesAboveFoundation:"All Parabolic Dishes Above the Same Foundation",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"All Parabolic Dishes"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Por defecto",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",SizeOfWall:"Tamaño de la pared",OnlyThisWall:"Solamente esta pared",AllConnectedWalls:"All Connected Walls",AllWallsAboveFoundation:"Todas las paredes sobre la misma base",AllSelectedWalls:"All Selected Walls",AllWalls:"Todo paredes",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisWall:"Do you really want to remove all the windows on this wall",Doors:"Doors",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",DoYouReallyWantToRemoveAllDoorsOnThisWall:"Do you really want to remove all the doors on this wall",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"Do you really want to remove all the solar panels on this wall",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Do you really want to remove all the sensors on this wall",Lights:"Lights",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisWall:"Do you really want to remove all the lights on this wall",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Eliminar todos los polígonos",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Wall Structure",DefaultStructure:"Default",StudStructure:"Stud",PillarStructure:"Pillar",Opacity:"Opacity",StructureSpacing:"Structure Spacing",StructureWidth:"Structure Width",StructureThickness:"Structure Thickness",StructureColor:"Structure Color",Color:"Wall Color",Height:"Altura",Thickness:"Thickness",Texture:"Texture",AllLightsOnWallInside:"All Lights on Wall Inside",AllLightsOnWallOutside:"All Lights on Wall Outside",Fill:"Fill",Full:"Full",Partial:"Partial",Empty:"Empty",OpenToOutside:"Open to Outside",EavesLength:"Eaves Overhang Length",Parapet:"Parapet",ParapetColor:"Parapet Color",ParapetTexture:"Parapet Texture",ParapetHeight:"Parapet Height",CopingsHeight:"Copings Height",CopingsWidth:"Copings Width"},windowMenu:{OnlyThisWindow:"Only This Window",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"All Windows Above the Same Foundation",AllSelectedWindows:"All Selected Windows",AllWindows:"All Windows",Width:"Ancho",Height:"Altura",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Mullion",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Mullion Width",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Mullion Color",Tint:"Tint",Opacity:"Opacity",SolarHeatGainCoefficient:"Solar heat gain coefficient (SHGC) = 1 - opacity",Shutter:"Shutter",LeftShutter:"Left Shutter",RightShutter:"Right Shutter",BothShutters:"Both Shutters",ShutterWidth:"Relative Width",ShutterColor:"Shutter Color",Frame:"Frame",FrameWidth:"Frame Width",SillWidth:"Sill Width",Color:"Frame Color",WindowType:"Window Type",Default:"Default",Arched:"Arched",Polygonal:"Polygonal",Interior:"Interior",Empty:"Empty"},roofMenu:{TextureDefault:"Por defecto",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",OnlyThisRoof:"Only This Wall",AllRoofsAboveFoundation:"All Walls Above the Same Foundation",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"All Roofs",OnlyThisCeiling:"Only This Ceiling",AllCeilingsAboveFoundation:"All Ceilings Above the Same Foundation",AllCeilings:"All Ceilings",EavesOverhangLength:"Eaves Overhang Length",RafterSpacing:"Rafter Spacing",RafterWidth:"Rafter Width",RafterThickness:"Rafter Thickness",RafterColor:"Rafter Color",RoofColor:"Roof Color",RoofSideColor:"Roof Side Color",GlassTint:"Glass Tint",Opacity:"Opacity",RoofStructure:"Roof Structure",DefaultStructure:"Default",RafterStructure:"Rafter",GlassStructure:"Glass",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Do you really want to remove all the solar panels on this roof",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Do you really want to remove all the windows on this roof",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Do you really want to remove all the sensors on this roof",Lights:"Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Do you really want to remove all the lights on this roof",AllLightsOnRoofInside:"All Lights on Roof Inside",AllLightsOnRoofOutside:"All Lights on Roof Outside",Rise:"Rise",Ceiling:"Ceiling",RoofRValue:"Roof R-Value",CeilingRValue:"Ceiling R-Value"},doorMenu:{TextureDefault:"Por defecto",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",Texture11:"Textura 11",Texture12:"Textura 12",Texture13:"Textura 13",Texture14:"Textura 14",Texture15:"Textura 15",Texture16:"Textura 16",Texture17:"Textura 17",OnlyThisDoor:"Only This Door",AllDoorsOnWall:"All Doors on the Same Wall",AllDoorsAboveFoundation:"All Doors Above the Same Foundation",AllSelectedDoors:"All Selected Doors",AllDoors:"All Doors",DoorType:"Door Type",Default:"Default",Arched:"Arched",Filled:"Filled",FrameColor:"Frame Color",Interior:"Interior"},siteInfoPanel:{High:"Alto",Low:"Bajo"},designInfoPanel:{NumberOfSelectedHeliostats:"Number of selected heliostats",NumberOfSelectedSolarPanels:"Number of selected solar panels",ElectricityGeneratedDailyBySolarPanels:"Electricity generated daily by these solar panels",SceneDiameter:"Scene diameter",BuildingArea:"Building area"},visualizationControlPanel:{ColorContrast:"Color Contrast",FluxScale:"Flux Scale",ClickUpOrDownArrowButtonsToChange:"Click up or down arrow buttons to change"},instructionPanel:{Rotate:"Rotar",DragMouse:"Arrastrar el ratón",Zoom:"Zoom",MouseWheelOrKeys:"Girar el mouse o presionar Ctrl+[ o Ctrl+]",MouseWheelOrKeysMac:"Girar el mouse o presionar ⌘+[ o ⌘+]",Pan:"Panorámica",HoldCtrlDragMouse:"Mantener Ctrl y mover el ratón",HoldMetaDragMouse:"Hold ⌘ and drag mouse",Enter2DMode:"Enter 2D mode",Exit2DMode:"Exit 2D mode",NavigationMode:"Navigation mode",EnableNavigation:"Enable navigation",DisableNavigation:"Disable navigation",MoveForwardBack:"Move forward/back",MoveForwardBackInstruction:"Press W/S",MoveLeftRight:"Move left/right",MoveLeftRightInstruction:"Press A/D",MoveUpDown:"Move up/down",MoveUpDownInstruction:"Press Z/X",Turn:"Turn",TurnInstruction:"Press arrow keys",ResetView:"Reset",AutoRotate:"Auto rotar",StartOrStop:"Presiona F4 para empezar o parar"},mapPanel:{ImageOnGround:"Imagen en el suelo",HideAddress:"Hide Address",WeatherStations:"Weather Stations",WeatherStationsNote:"Turn this off to speed up",Coordinates:"Coordenadas",Zoom:"Zoom"},visibilityPanel:{SolarPanelVisibility:"Solar Panel Visibility",Observer:"Observer",VantagePoint:"Vantage Point",ItemizedVisibilityByFields:"Itemized by Fields",TotalVisibility:"Total"},sensorPanel:{LightSensor:"Sensor de luz",WeatherDataFrom:"Datos metereológicos de"},buildingEnergyPanel:{DailyBuildingEnergy:"Daily Building Energy",YearlyBuildingEnergy:"Yearly Building Energy",Heater:"Heater",AC:"AC",SolarPanel:"Solar Panel",Net:"Net"},solarPanelYieldPanel:{SolarPanelDailyYield:"Rendimiento diario del panel solar",SolarPanelYearlyYield:"Rendimiento anual del panel solar",Yield:"Rendimiento",YieldPerHour:"Rendimiento por hora",DailyTotal:"Total diario",YearlyTotal:"Total anual",ShowOutputsOfIndividualSolarPanels:"Mostrar salidas de paneles solares individuales",Profit:"Profit",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Parabolic Trough Daily Yield",ParabolicTroughYearlyYield:"Parabolic Trough Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicTroughs:"Show outputs of individual parabolic troughs"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Parabolic Dish Daily Yield",ParabolicDishYearlyYield:"Parabolic Dish Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicDishes:"Show outputs of individual parabolic dishes"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Fresnel Reflector Daily Yield",FresnelReflectorYearlyYield:"Fresnel Reflector Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualFresnelReflectors:"Show outputs of individual Fresnel feflectors"},heliostatYieldPanel:{HeliostatDailyYield:"Heliostat Daily Yield",HeliostatYearlyYield:"Heliostat Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualHeliostats:"Show outputs of individual heliostats"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Solar Updraft Tower Daily Yield",UpdraftTowerYearlyYield:"Solar Updraft Tower Yearly Yield",ChimneyAirTemperature:"Chimney Air Temperature",ChimneyWindSpeed:"Chimney Wind Speed",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualUpdraftTowers:"Show outputs of individual updraft towers"},heliodonPanel:{SunAndTimeSettings:"Sun & Time Settings",SunAngles:"Ángulos",TwentyFourHours:"24 Hours"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyLikes:"My Likes",MyCloudFiles:"Mis archivos en la nube",GenerateLink:"Generar enlace",LinkGeneratedInClipBoard:"Se ha generado un enlace en el portapapeles",DoYouReallyWantToDelete:"Estás seguro que quieres eliminar",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"If this file has been shared or published, renaming it breaks existing links"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Type",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Configuración de mi cuenta",MyID:"My 🆔",ClickToCopyMyID:"Click to copy my ID",IDInClipBoard:"Your ID was copied and is ready to paste.",StoreMyNameInMyFilesWhenSaving:"Store my name in my files when saving",DoYouReallyWantToShowYourNameInYourFiles:"Do you really want to show your display name in your files?",SignFileDisclaimer:"If yes, your display name may be seen by anyone who can access your files.",Likes:"Likes",AllPublished:"All Published",PublishedUnderAliases:"Aliases",UserCount:"User Count",SchoolID:"School ID",ClassID:"Class ID"},weatherPanel:{SunshineHours:"Luz solar"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Select Air Temperature Model",Sinusoidal:"Sinusoidal"},economicsPanel:{EconomicsParameters:"Economics Parameters",ElectricitySellingPrice:"Electricity Selling Price",OperationalCostPerUnit:"Operational Cost per Unit",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Claridad",ShowDaylightResults:"Mostrar resultados de la luz solar",ShowSkyClearnessResults:"Mostrar resultados de claridad del cielo",ShowAverageDailySolarRadiation:"Mostrar la radiación solar diaria promedio"},analysisManager:{NoSensorForCollectingData:"Sin sensor para recopilar datos",NoSolarPanelForAnalysis:"Sin panel solar para el análisis",NoObserverForVisibilityAnalysis:"There is no observer for visibility analysis.",NoWaterHeaterForAnalysis:"There is no water heater for analysis.",NoParabolicDishForAnalysis:"There is no parabolic dish for analysis.",NoParabolicTroughForAnalysis:"There is no parabolic trough for analysis.",NoFresnelReflectorForAnalysis:"There is no Fresnel reflector for analysis.",NoHeliostatForAnalysis:"There is no heliostat for analysis.",NoSolarUpdraftTowerForAnalysis:"There is no solar updraft tower for analysis.",NoBuildingForAnalysis:"There is no building for analysis."},toolbar:{CloudFile:"Archivo en la nube",Select:"Seleccionar",AddFoundation:"Añadir base",AddWall:"Añadir pared",AddWindow:"Añadir ventana",AddDoor:"Añadir door",AddPyramidRoof:"Add Pyramid Roof",AddGableRoof:"Add Gable Roof",AddHipRoof:"Add Hip Roof",AddGambrelRoof:"Add Gambrel Roof",AddMansardRoof:"Add Mansard Roof",AddCuboid:"Añadir Cuboid",AddSensor:"Añadir Sensor",AddSolarPanel:"Añadir Panel Solar",AddWaterHeater:"Add Water Heater",AddParabolicDish:"Add Parabolic Dish",AddParabolicTrough:"Add Parabolic Trough",AddFresnelReflector:"Add Fresnel Reflector",AddHeliostat:"Add Heliostat",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Add Light",AddTree:"Añadir árbol",AddFlower:"Add Flower",AddPeople:"Añadir gente",DoubleClickToLockThisModeForNextAction:"Double-click to lock this mode for next action",ClickToUnlockThisModeForNextAction:"Click to unlock this mode for next action",ManipulateGroup:"Manipulate a group",ClearScene:"Clear escena",ShowSunAndTimeSettings:"Show sun and time settings",SpatialAnalysisOfEnergy:"Spatial analysis of energy",DoYouReallyWantToClearContent:"Estás seguro que quieres borrar el contenido",ClickForMoreButtons:"Click for more buttons"},tooltip:{gotoIFI:"Ver Institute for Future Intelligence",visitAladdinHomePage:"Visita la página de Aladdin",clickToOpenMenu:"Haz clic para abrir el menú principal",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Apple",Birch:"Birch",Coconut:"Coconut",Dogwood:"Cerezo silvestre",Elm:"Olmo",FanPalm:"Fan Palm",Linden:"Tilo",Magnolia:"Magnolia",Maple:"Arce",Oak:"Roble",Pine:"Pino",Spruce:"Spruce"},flower:{Bellflower:"Bellflower",Boxwood:"Boxwood",CactusCombo1:"Cactus Combo 1",CactusCombo2:"Cactus Combo 2",CactusCombo3:"Cactus Combo 3",CactusCombo4:"Cactus Combo 4",Hibiscus:"Hibiscus",Hosta:"Hosta",Hydrangea:"Hydrangea",Peony:"Peony",RedRose:"Red Rose",Spirea:"Spirea",Sunflower:"Sunflower",TallBush:"Tall Bush",Tulip:"Tulip",WhiteFlower:"White Flower",YellowFlower:"Yellow Flower"},people:{Jaah:"Jaah",Jack:"Jack",Jacob:"Jacob",Jacqueline:"Jacqueline",Jade:"Jade",Jamelia:"Jamelia",James:"James",Jane:"Jane",Jaya:"Jaya",Jaye:"Jaye",Jeanette:"Jeanette",Jedi:"Jedi",Jeff:"Jeff",Jena:"Jena",Jennifer:"Jennifer",Jess:"Jess",Jett:"Jett",Jill:"Jill",Jiya:"Jiya",Joan:"Joan",Jocelyn:"Jocelyn",Joel:"Joel",Joey:"Joey",John:"John",Jonathon:"Jonathon",Jose:"Jose",Joseph:"Joseph",Joshua:"Joshua",Judd:"Judd",Judy:"Judy",Julia:"Julia",Julio:"Julio",Jumapili:"Jumapili",June:"June",Juro:"Juro",Justin:"Justin"},compass:{N:"N",S:"S",W:"W",E:"E"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Search by publisher",SearchByLabel:"Search by label",MyPublishedModels:"My Published Models",TotalNumberOfUserPublishedModels:"Total number of user-published models",SortFromOldestToNewest:"Sort from oldest to newest",SortFromNewestToOldest:"Sort from newest to oldest",ModelsFoundOnThisSite:"models found on this site",ShowModelsPublishedByThisAuthor:"Show the models published by this author"}}},Xft={translation:{name:{IFI:"Yarının Zekası Enstitüsü",Aladdin:"Aladdin",Tagline:"Aladdin: Açıklanabilir Yapay Zeka ile Tasarımı Yeniden Hayal Et — Yarının Zekası Enstitüsü"},cookie:{Statement:"Kabul Ete tıklayarak, iyi bir Aladdin deneyimi için çerez kullanımını kabul etmiş olursunuz.",Accept:"Kabul Et"},aboutUs:{ProductBroughtToYouBy:"Geliştiriciler",TermsOfService:"Hizmet Şartları",PrivacyPolicy:"Gizlilik Politikası",Software:"Yazılım",Content:"İçerik",Research:"Araştırma",Support:"Destek",Acknowledgment:"Onay",FundingInformation:"Ulusal Bilim Vakfı (NSF), #2105695, #2131097, ve #2301164 numaralı fon destekleriyle mevcut ürünün araştırma ve geliştirme çalışmalarına cömert bir mali kaynak sağlamıştır. Bununla birlikte üründe ifade edilen herhangi bir görüş, bulgu ve sonuç veya öneri yazarların kendi görüşleridir. NSF'nin kurumsal görüşlerini yansıtmayabilir.",Contact:"Daha fazla bilgi için lütfen Charles Xie (charles@intofuture.org) ile iletişime geçiniz.",Translators:"Çevirmenler"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Text",FontSize:"Font Size",FontColor:"Font Color",Model:"Model",Models:"Models",Upload:"Upload",ClickCount:"Click Count",Share:"Share",AlreadyLike:"Already like",Like:"Like",MustLogInToLike:"Must log in to like",AllRightsReserved:"Tüm Hakları Saklıdır.",MeterAbbreviation:"m",Version:"Sürüm",VersionInitial:"S",Options:"Seçenekler",Maximum:"Maximum",Minimum:"Minimum",MaximumNumber:"Maksimum Sayı",MinimumNumber:"Minimum Sayı",MaximumValue:"Maksimum Değer",MinimumValue:"Minimum Değer",Or:"Veya",None:"Hiçbiri",High:"Yüksek",Partial:"Kısmi",Teacher:"Öğretmen",Class:"Sınıf",Total:"Toplam",Leaderboard:"Leaderboard",Latest:"Latest",Range:"Aralık",SIUnit:"SI Unit",USUnit:"US Unit",ThermalTransmittance:"Thermal Transmittance",ThermalResistance:"Thermal Resistance",UValue:"U-Value",RValue:"R-Value",VolumetricHeatCapacity:"Volumetric Heat Capacity",BuildingHVACSystem:"Building HVAC System",ThermostatSetpoint:"Thermostat Setpoint",TemperatureToleranceThreshold:"Tolerance Threshold",TemperatureToleranceThresholdExplanation:`Heater will not run if the lowest outside temperature of the day is higher than the setpoint minus this threshold. -AC will not run if the highest outside temperature of the day is lower than the setpoint plus this threshold.`,Press:"Tıkla",Open:"Aç",Save:"Kaydet",SaveAsImage:"Resim Olarak Kaydet",SaveAsCsv:"Save as CSV",Update:"Güncelle",Paste:"Yapıştır",Copy:"Kopyala",Cut:"Kes",Delete:"Sil",Lock:"Kilitle",Translucent:"Yarı Saydam",Color:"Renk",Pattern:"Pattern",Texture:"Doku",Size:"Boyut",Thickness:"Kalınlık",Yes:"Evet",No:"Hayır",OK:"Tamam",Cancel:"İptal",Apply:"Uygula",Close:"Kapat",ApplyTo:"Uygula",Run:"Çalıştır",Pause:"Duraklat",Resume:"Sürdür",Clear:"Temizle",Warning:"Uyarı",Caution:"Caution",Reminder:"Hatırlatıcı",Length:"Uzunluk",Width:"Genişlik",Height:"Yükseklik",Radius:"Yarıçap",Angle:"Açı",Azimuth:"Azimut",Coordinates:"Koordinatlar",Weather:"Hava Durumu",Show:"Göster",Animate:"Oynat",Date:"Tarih",Time:"Saat",Title:"Başlık",Owner:"Sahibi",Action:"Eylem",Rename:"Yeniden Adlandır",Location:"Konum",Latitude:"Enlem",Month:"Ay",Day:"Gün",Hour:"Saat",Daylight:"Gün Işığı",Radiation:"Işınım",Temperature:"Sıcaklık",kWh:"kWh",dollar:"dollar",MeterPerSecond:"m/s",NorthInitial:"N",SouthInitial:"S",EastInitial:"E",WestInitial:"W",Fixed:"Sabit",Elements:"Öğeler",Energy:"Energy",Unknown:"Unknown",Label:"Label",Description:"Description",NoDescription:"No description",MaximumCharacters:"Maximum characters",Author:"Author",Publisher:"Publisher",Building:"Building",ResidentialBuilding:"Residential Building",CommercialBuilding:"Commercial Building",SchoolBuilding:"School Building",TouristAttraction:"Tourist Attraction",UnderConstruction:"Under Construction",Photovoltaic:"Photovoltaic",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Anonymous",Nickname:"Nickname",Pin:"Pin",Unpin:"Unpin"},shared:{NoTexture:"Doku Yok",FoundationElement:"Temel",CuboidElement:"Kübik",PolygonElement:"Poligon",SensorElement:"Sensör",SolarPanelElement:"Güneş Paneli",WaterHeaterElement:"Su Isıtıcı",ParabolicDishElement:"Parabolik Çanak",ParabolicTroughElement:"Parabolik Oluk",FresnelReflectorElement:"Fresnel Reflektör",HeliostatElement:"Heliostat",WindTurbineElement:"Wind Turbine",LightElement:"Light",ElementLocked:"Kilitli",ModelType:"Model Type",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Model not found",CannotSignIn:"Oturum açılamıyor",CannotSignOut:"Çıkış yapılamıyor",YourAccountWasCreated:"Hesabınız oluşturuldu",CannotCreateAccount:"Hesap oluşturulamıyor",YourAccountSettingsWereSaved:"Hesap ayarlarınız kaydedildi.",CannotSaveYourAccountSettings:"Hesap ayarlarınız kaydedilemiyor",CannotSaveYourFileToCloud:"Dosyanız buluta kaydedilemiyor",CannotCreateNewProject:"Cannot create a new project",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Cannot open your projects",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"This title has been used. Choose a different one",CloudFileWithTitleExistsDoYouWantToOverwrite:"A cloud file with the title exists. Do you want to overwrite it?",CloudFileNotFound:"Bulut dosyası bulunamadı",CannotLoadModelsOnMap:"Cannot load models on map",CannotLoadLeaderboard:"Cannot load leaderboard",CannotPublishModelOnMap:"Cannot publish model on map",CannotLikeModelFromMap:"Cannot like model from map",CannotDeleteModelFromMap:"Cannot delete model from map",ModelDeletedFromMap:"Model is deleted from map",DoYouWantToDeleteModelFromMap:"Do you want to delete the model from map?",CannotOpenCloudFile:"Bulut dosyası açılamıyor",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Bulut klasörünüz açılamıyor",CannotDeleteCloudFile:"Bulut dosyası silinemiyor",CannotRenameCloudFile:"Bulut dosyası yeniden adlandırılamıyor",DoYouWantToSaveChanges:"Değişiklikleri kaydetmek istiyor musunuz?",NotApplicableToSelectedAction:"Seçili eyleme uygulanamaz",ThisElementIsLocked:"Bu öğe kilitli.",ThisCannotBeUndone:"Geri alınamaz.",AzimuthOfNorthIsZero:"Kuzey yönünün azimut açısı 0 ° derecedir.",CounterclockwiseAzimuthIsPositive:"Saat yönünün tersi yönde azimut açısı pozitiftir.",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Çakışma nedeniyle taşıma iptal edildi.",MoveOutsideBoundaryCancelled:"Alan dışına çıkan taşıma iptal edildi.",RotationCancelledBecauseOfOverlap:"Çakışma nedeniyle döndürme iptal edildi.",RotationOutsideBoundaryCancelled:"Alan dışı döndürme iptal edildi.",ResizingCancelledBecauseOfOverlap:"Çakışma nedeniyle yeniden boyutlandırma iptal edildi.",ResizingOutsideBoundaryCancelled:"Alan dışında yeniden boyutlandırma iptal edildi.",CannotPasteOutsideBoundary:"Alanın dışına yapıştırılamaz.",CannotPasteBecauseOfOverlap:"Çakışma nedeniyle yapıştırılamıyor.",CannotMoveObjectTooFar:"Nesne buraya taşınamaz.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Yeni yerleşim düzeni uygulanmadan önce mevcut güneş panelleri kaldırılacaktır.",DoYouWantToContinue:"Devam etmek istiyor musunuz?",SolarPanelsCannotIntersectWithGround:"Güneş panelleri zeminle kesişemez.",SolarPanelsCannotOverlapWithOneAnother:"Güneş panelleri birbiriyle örtüşemez.",ScreenshotSaved:"Ekran görüntüsü kaydedildi.",CsvFileSaved:"A CSV file was saved.",SimulationStarted:"Simülasyon başladı.",SimulationCompleted:"Simülasyon tamamlandı.",SimulationAborted:"Simülasyon iptal edildi.",SimulationPaused:"Simülasyon duraklatıldı.",CancelSimulation:"Simülasyonu iptal et",PauseSimulation:"Simülasyonu duraklat",ResumeSimulation:"Simülasyonu devam ettir",SimulationWillNotStartDueToErrors:"Simulation will not start due to errors",SimulationWillStartDespiteWarnings:"Simulation will start despite warnings.",EvolutionStarted:"Evrim başladı.",EvolutionCompleted:"Evrim tamamlandı.",EvolutionAborted:"Evrim iptal edildi.",EvolutionPaused:"Evrim duraklatıldı.",EncounterEvolutionError:"Evrim hatasıyla karşılaşıldı.",CancelEvolution:"Evrimi iptal et",PauseEvolution:"Evrimi duraklat",ResumeEvolution:"Evrime devam et",ConvergenceThresholdHasBeenReached:"Yakınsama eşiğine ulaşıldı.",MaximumNumberOfGenerationsHasBeenReached:"Maksimum nesil sayısına ulaşıldı.",MaximumNumberOfStepsHasBeenReached:"Maksimum adım sayısına ulaşıldı.",ObjectiveFunctionTypeError:"Geçerli işlev desteklenmiyor. Lütfen menüden başlatınız.",WallsAreNotAtSameHeight:"Walls are not at same height.",WallsAreNotPerpendicular:"Walls are not perpendicular.",WallsAreNotConnected:"Walls are not connected.",WallsNumberNeedToBeFour:"The number of walls needs to be four.",BuildingContainsEmptyWall:"Building contains one or more empty wall.",BuildingRoofMissing:"Building has a missing roof.",UnknownErrors:"Unknown errors."},menu:{AnalysisOptions:"Analiz Seçenekleri",option:{GridCellSize:"Hücre Boyutu",SamplingFrequency:"Örneklem Frekansı",TimesPerHour:"x 1/saat",DaysPerYear:"Gün Sayısı / Yıl"},mainMenu:"Ana Menü",cloudMenu:"Bulut Menüsü",projectSubMenu:"Project",project:{CreateNewProject:"Create New Project",OpenProject:"Open Project",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"You must log in to create a new project",YouMustLogInToOpenProject:"You must log in to open a project"},fileSubMenu:"Dosya",file:{CreateNewFile:"Yeni Dosya Oluştur",OpenLocalFile:"Yerel Dosya Aç",SaveAsLocalFile:"Yerel Dosya Olarak Kaydet",SavingAbortedMustHaveValidFileName:"Kaydetme iptal edildi! Geçerli bir dosya adı kullanınız.",OpenCloudFile:"Bulut Dosyası Aç",SaveCloudFile:"Bulut Dosyasını Kaydet",SaveAsCloudFile:"Bulut Dosyası Olarak Kaydet",SavingAbortedMustHaveValidTitle:"Kaydetme iptal edildi! Dosya adı geçersiz!",ToSaveYourWorkPleaseSignIn:"Çalışmanızı kaydetmek için lütfen oturum açınız.",TakeScreenshot:"Ekran görüntüsü al",UseCloudFileName:"Bulut Dosya Adını Kullan",PublishOnModelsMap:"Publish on Models Map",PublishedOnModelsMap:"Your model has been published on the Models Map",UpdatedOnModelsMap:"Your model has been updated on the Models Map",YouMustLogInToPublishYourModel:"You must log in to publish your model",YouCannotPublishAModelThatYouDoNotOwn:"You cannot publish a model that you do not own",YouMustSaveModelOnCloudBeforePublishingIt:"You must save the model on the cloud before publishing it"},editSubMenu:"Düzen",edit:{Undo:"Geri Al",Redo:"Yinele"},viewSubMenu:"Görünüm",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D",ResetView:"Yenile",ZoomIn:"Yaklaş",ZoomOut:"Uzaklaş",AutoRotate:"Otomatik Döndür",ShowShadow:"Gölge",ShowSurfaceShininess:"Show Surface Shininess",TranslucentFloatingWindows:"Yüzer Pencere",accessoriesSubMenu:"Accessories",accessories:{SiteInformation:"Konum Bilgisi",DesignInformation:"Izgara Hücre Sayısı",Instruction:"Yardım",StickyNote:"Notlar",Note:"Notlar"}},settingsSubMenu:"Settings",settings:{WeatherData:"Hava Durumu",DiurnalTemperature:"Günlük Sıcaklık",Heliodon:"Heliodon",SunAndTime:"Güneş & Zaman"},benchmarksSubMenu:"Deneysel",benchmarks:{SolarRadiationPredictionVsMeasurement:"Güneş Işınım Tahmini Vs. Ölçümü ",BESTESTCase600:"Building Energy Simulation Test: BESTEST Case 600",BESTESTCase610:"Building Energy Simulation Test: BESTEST Case 610",BESTESTCase620:"Building Energy Simulation Test: BESTEST Case 620",BESTESTCase630:"Building Energy Simulation Test: BESTEST Case 630"},graph:{LineWidth:"Çizgi Kalınlığı",SymbolSize:"Sembol Boyutu",BarCategoryGap:"Bar Category Gap",ShowHorizontalGridLines:"Yatay Izgara Çizgilerini Göster",ShowVerticalGridLines:"Dikey Izgara Çizgilerini Göster"},analysisSubMenu:"Analiz",physicsSubMenu:"Fizik",physics:{DailySolarRadiationHeatmap:"Günlük Isı Haritası",SolarRadiationHeatmapOptions:"Isı Haritası Seçenekleri",SolarRadiationHeatmapGridCellSize:"Hücre Boyutu",SolarRadiationHeatmapMaxValue:"Işınım Maksimum Değer",SolarRadiationHeatmapNoAnimation:"Animasyon Yok",ReflectionHeatmap:"Yansıma Isı Haritası"},sensorSubMenu:"Sensörler",sensor:{CollectDailyData:"Günlük Veri Topla",CollectYearlyData:"Yıllık Veri Topla",SensorSimulationNoAnimation:"Animasyon Yok"},buildingSubMenu:"Building",building:{AnalyzeDailyBuildingEnergy:"Analyze Daily Building Energy",AnalyzeYearlyBuildingEnergy:"Analyze Yearly Building Energy",EnergyAnalysisOptions:"Energy Analysis Options",EnergyGridCellSize:"Energy Grid Cell Size",BuildingEnergySimulationNoAnimation:"No Animation for Building Energy Simulation"},solarPanelSubMenu:"Güneş Panelleri",solarPanel:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi",AnalyzeVisibility:"Görünüm Analizi",PanelDiscretization:"Panel Ayrıklaştırma",Exact:"Kesin",Approximate:" Yaklaşık",EnergyGridCellSize:"Hücre Boyutu",VisibilityGridCellSize:"Hücre Boyutu",EnergyAnalysisOptions:"Enerji Analiz Seçenekleri",VisibilityAnalysisOptions:"Görünüm Analiz Seçenekleri",SolarPanelSimulationNoAnimation:"Animasyon Yok"},parabolicTroughSubMenu:"Parabolik Oluk",parabolicTrough:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},parabolicDishSubMenu:"Parabolik Çanak",parabolicDish:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},fresnelReflectorSubMenu:"Fresnel Yansıtıcı",fresnelReflector:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},heliostatSubMenu:"Heliostat",heliostat:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},solarUpdraftTowerSubMenu:"Solar Updraft Kulesi",solarUpdraftTower:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi",SolarUpdraftTowerSimulationNoAnimation:"Animasyon Yok"},tutorialsSubMenu:"Öğrenme Merkezi",solarEnergyScienceSubMenu:"Güneş Bilimi",solarEnergyScienceTutorials:{SunAngles:"Gözlemciye Göre Güneş Açıları",InsolationAndClimate:"Güneşlenme ve İklim",SolarRadiationToBox:"Kutu Güneş Işınımı"},buildingScienceSubMenu:"Building Science",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Thermal Envelope vs. Building Envelope",EffectOfSizeOnBuildingEnergy:"Effect of Size on Building Energy",EffectOfOrientationOnBuildingEnergy:"Effect of Orientation on Building Energy",EffectOfInsulationOnBuildingEnergy:"Effect of Insulation on Building Energy",EffectOfRoofColorOnBuildingEnergy:"Effect of Roof Color on Building Energy",EffectOfEavesOverhangLengthOnBuildingEnergy:"Effect of Eaves Overhang Length on Building Energy",EffectOfWindowSHGCOnBuildingEnergy:"Effect of Window Solar Heat Gain on Building Energy",EffectOfThermostatSetpointOnBuildingEnergy:"Effect of Thermostat Setpoint on Building Energy",EffectOfSolarPanelsOnBuildingEnergy:"Effect of Solar Panels on Building Energy",EffectOfGroundTemperatureOnBuildingEnergy:"Effect of Ground Temperature on Building Energy",EffectOfTreesOnBuildingEnergy:"Effect of Trees on Building Energy"},buildingDesignSubMenu:"Bina Tasarımı",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"Çatı Pencereli Cape Cod Evi",MansardRoofWithDormers:"Mansard Roof with Dormers",GableRoofVsHipRoof:"Beşik Çatı vs. Kırma Çatı",ColonialVsSaltbox:"Koloni vs. Tuz Kutusu",GambrelRoofVsMansardRoof:"Flemenk Çatı vs. Mansart Çatı",CombinationRoofVsBonnetRoof:"Combination Roof vs. Bonnet Roof",DutchGableRoof:"Dutch Gable Roof",GableAndValleyRoof:"Gable and Valley Roof",ClerestoryRoof:"Clerestory Roof",MonitorRoof:"Monitor Roof",AFrameHouse:"A-Frame House",HalfTimberedHouse:"Half-Timbered House",AllBasicRoofTypes:"Tüm Çatı Tipleri"},photovoltaicSolarPowerSubMenu:"Fotovoltaik Güneş Enerjisi",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Güneş Paneli Eğim Açısı Etkisi",EffectOfAzimuthOfSolarPanel:"Güneş Paneli Azimut Açısı Etkisi",SolarPanelTypes:"Solar Panel Types",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Güneş İzleyiciler",CoveringGroundWithSolarPanels:"Sadece güneş panellerini kullanarak yüzeyi kaplamak neden iyi bir fikir değildir?",InterRowSpacingOfSolarPanelArray:"Güneş Paneli Dizi Arası Boşluk Etkisi",EffectOfOrientationOfSolarPanels:"Güneş Panelleri Yön Etkisi",SolarPanelArrayAutomaticLayout:"Solar Panel Array Automatic Layout"},concentratedSolarPowerSubMenu:"Yoğunlaştırılmış Güneş Enerjisi",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Parabolik Oluk Azimut Açısı Etkisi",EffectOfLatusRectumOfParabolicTrough:"Parabolik Oluk Özkiriş Etkisi",FocusSunlightWithParabolicDish:"Güneş Işığını Parabolik Çanakla Odaklama",LinearFresnelReflectors:"Doğrusal Fresnel Reflektörler",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Doğrusal Fresnel Reflektörlerde Soğurucu Boru Yükseklik Etkisi",EffectOfAzimuthOfLinearFresnelReflectors:"Doğrusal Fresnel Reflektörlerde Azimut Açısı Etkisi",LinearFresnelReflectorsWithTwoAbsorbers:"İki Soğuruculu Doğrusal Fresnel Reflektörler",CosineEfficiencyOfHeliostats:"Heliostatların Kosinüs Verimliliği",ShadowingAndBlockingOfHeliostats:"Heliostatlarda Gölgeleme ve Engellenme",EffectSolarPowerTowerHeight:"Güneş Güç Kulesi Yükseklik Etkisi",SolarPowerTower:"Güneş Güç Kulesi"},otherTypesOfSolarPowerSubMenu:"Diğer Güneş Gücü Türleri",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Solar Updraft Kulesi"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Örnekler",solarEnergySubMenu:"Güneş Enerjisi",solarEnergyExamples:{SunBeamAndHeliodon:"Güneş Işını ve Heliodon",RooftopSolarPanels:"Çatı Üstü Güneş Panelleri",NevadaSolarOneParabolicTroughArray:"Nevada Eyaletinde Parabolik Oluk Dizisi",TooeleParabolicDishArray:"Tooele Şehrinde Parabolik Çanak Dizisi",PS10SolarPowerTower:"PS10 Güneş Güç Kulesi",TucsonLinearFresnelReflectors:"Tucson Şehrinde Doğrusal Fresnel Reflektörleri",SolarCanopyFormFactors:"Solar Gölgelik Biçim Etkileri",SolarCanopyOverBleachers:"Tirübün Üzeri Solar Gölgelik",SolarCanopyOverGarage:"Solar Canopy Over Garage",SolarBusStop:"Solar Otobüs Durağı",SolarFacadeTesla:"Tesla Solar Façade",BuildingIntegratedPhotovoltaics:"Building-Integrated Photovoltaics",Floatovoltaics:"Floatovoltaics",Agrivoltaics:"Agrivoltaics",VegetativeBuffer:"Bitkisel Tampon",RainbowSwashSolarFarmBostonMA:"Rainbow Swash Solar Farm in Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Mickey Mouse Solar Farm in Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Bakersfield Şehrinde Kanal Üzerindeki Varsayımsal Güneş Panelleri",SolarNoiseBarrierLexingtonMA:"Lexington Kasabasında Varsayımsal Güneş Gürültü Bariyeri",HSATSolarTrackersRaleighNC:"Raleigh Şehrinde Yatay Tek Eksenli İzleyiciler (HSAT)",AADATSolarTrackersLancasterCA:"Lancaster Şehrinde Azimut–İrtifa Çift Eksenli İzleyiciler (AADAT)",SolarUpdraftTowerInCity:"Şehir Solar Updraft Kulesi"},builtEnvironmentSubMenu:"Yapılı Çevre",residentialBuildingsSubMenu:"Konut inşaatları",residentialBuildingExamples:{ColonialHouse:"Colonial House",DutchColonialHouse:"Flemenk Koloni Evi",TShapedHouse:"T-Shaped House",CapeCodHouseWithGarage:"Cape Cod House with Garage",Solarium:"Solaryum",Church1:"Kilise 1",Cathedral1:"Cathedral 1",Cathedral2:"Cathedral 2",Mosque1:"Mosque 1",AdobeTaosHouse:"Adobe Taos House",RanchHouse:"Ranch House",BonnetHouse:"Bonnet House",BarnStyleHouse:"Çiftlik Evi",ModernHouse:"Modern House",ButterflyRoofHouse:"Butterfly Roof House"},commercialBuildingsSubMenu:"Ticari Binalar",commercialBuildingExamples:{WhiteHouse:"White House",BilimMersinTurkiye:"Yenişehir Belediyesi Bilim ve Sanat Merkezi",SpanishStyleHotel:"Spanish Style Hotel",ApartmentBuilding:"Apartment Building",OfficeBuilding:"Ofis Binası",Hotel:"Hotel"},buildingComplexesSubMenu:"Building Complexes",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"Güney Burlington Lisesi",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, NM"},urbanPlanningSubMenu:"Şehir Planlaması",urbanPlanningExamples:{Heatmap1:"Isı Haritası"},otherBuildingsSubMenu:"Other Buildings",otherBuildingExamples:{Greenhouse:"Sera",Pavilion:"Park Kamelyası",OctagonalPagoda:"Octagonal Pagoda",OceanFront:"Ocean Front",EgyptianPyramids:"Egyptian Pyramids",MayanPyramid:"Mayan Pyramid",SiOSePol:"Si-o-se-pol",StackedCuboids:"Stacked Cuboids"},artificialIntelligenceSubMenu:"Yapay Zeka",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Güneş Paneli Sıra Eğim Açısı Optimize Etme",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Çoklu Güneş Paneli Sıra Eğim Açısı Optimize Etme",SolarFarmGenerativeDesign:"Güneş Tarlası Tasarımı",SolarFarmGenerativeDesignWithBlock:"Blok Varlığında Güneş Tarlası Tasarımı",FitchburgSolarFarmGenerativeDesign:"Fitchburg Güneş Tarlası Tasarımı"},languageSubMenu:"Dil",publicSubMenu:"Public",ModelsGallery:"Models Gallery",ModelsMap:"Models Map",AboutUs:"Hakkımızda"},avatarMenu:{AccountSettings:"Hesap Ayarları",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"Oturum açtığınızda, Aladdin hesabınızı oluşturmak ve hesabınıza erişmek için Google Kimliğiniz kullanılır. Veritabanımızda referans olarak yalnızca rastgele bir alfasayısal dize depolanır. Adınız veya e-posta adresiniz gibi kişisel olarak tanımlanabilir hiçbir veri toplanmaz. Daha fazla bilgi için ",SignIn:"Kayıt Ol",SignOut:"Oturum Kapat",IfYouAreAStudent:"Eğer Öğrenciyseniz"},skyMenu:{Axes:"Eksenler",Theme:"Tema",ThemeDefault:"Varsayılan",ThemeDesert:"Çöl",ThemeDune:"Dune",ThemeForest:"Orman",ThemeGrassland:"Çayır",ThemeHill:"Hill",ThemeLake:"Lake",ThemeMountain:"Mountain",ThemeRural:"Rural",SunlightAttenuationCoefficientInAir:"Havan Güneş Işığı Zayıflatma Katsayısı",ConvectiveCoefficientOfAir:"Havan Isı İletkenlik Katsayısı",HighestTemperatureTimeInMinutes:"En Yüksek Sıcaklık Süresi (Dakika)",SelectSunAnglesToShow:"Gösterilecek Güneş Açılarını Seçin",ShowAzimuthAngle:"Azimut Açısını Göster",ShowElevationAngle:"Yükselme Açısını Göster",ShowZenithAngle:"Zenit Açısını Göster",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Vegetation",LeafOutDay:"Leaf-Out Day",LeafOffDay:"Leaf-Off Day",Albedo:"Albedo",ImageOnGround:"Yer Görüntüsü",WaterSurface:"Water Surface",RemoveAllUnlockedTrees:"Tüm Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Tüm Kişileri Kaldır",RemoveAllUnlockedFoundations:"Tüm Temelleri Kaldır",RemoveAllUnlockedCuboids:"Tüm Kübikleri Kaldır",DoYouReallyWantToRemoveAllPeople:"Tüm Kişileri Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllTrees:"Tüm Ağaçları Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllFlowers:"Do you really want to remove all the flowers that are not locked",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Tüm Temelleri Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllCuboids:"Tüm Kübikleri Kaldırmak İstiyor Musunuz?",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Etiket",LabelText:"Label Text",LabelHeight:"Label Height",LabelSize:"Label Size",LabelFontSize:"Font Size",LabelColor:"Label Color",KeepShowingLabel:"Etiketi Göstermeye Devam Et"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Tüm Kilitlenmemiş Güneş Panellerini Kaldır",RemoveAllUnlockedParabolicTroughs:"Tüm Kilitlenmemiş Parabolik Olukları Kaldır",RemoveAllUnlockedParabolicDishes:"Tüm Kilitlenmemiş Parabolik Çanakları Kaldır",RemoveAllUnlockedFresnelReflectors:"Tüm Kilitlenmemiş Fresnel Reflektörleri Kaldır",RemoveAllUnlockedHeliostats:"Tüm Kilitlenmemiş Heliostatları Kaldır",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Tüm Kilitlenmemiş Sensörleri Kaldır",RemoveAllUnlockedLights:"Remove All Unlocked Lights",RemoveAllUnlockedWalls:"Tüm Kilitlenmemiş Duvarları Kaldır",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Çokgenleri Kaldır",RemoveAllUnlockedHumans:"Tüm Kilitlenmemiş İnsanları Kaldır",RemoveAllUnlockedTrees:"Tüm Kilitlenmemiş Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",Racks:"Çerçeveler",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",SolarPanels:"Güneş Panelleri",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:" Seçili temel üzerindeki tüm güneş panellerini kaldırmak istiyor musunuz?",ParabolicTroughs:"Parabolik Oluklar",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm parabolik olukları kaldırmak istiyor musunuz?",ParabolicDishes:"Parabolik Çanaklar",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm parabolik çanakları kaldırmak istiyor musunuz?",FresnelReflectors:"Fresnel Reflektörler",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm Fresnel reflektörlerini kaldırmak istiyor musunuz?",Heliostats:"Heliostatlar",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm heliostatları kaldırmak istiyor musunuz?",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Sensörler",DoYouReallyWantToRemoveAllSensorsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm sensörleri kaldırmak istiyor musunuz?",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnFoundation:"Do you really want to remove all the lights on this foundation that are not locked",Walls:"Duvarlar",DoYouReallyWantToRemoveAllWallsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm duvarları kaldırmak istiyor musunuz? ",Windows:"Windows",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Do you really want to remove all the windows on this foundation that are not locked",Doors:"Doors",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Do you really want to remove all the doors on this foundation that are not locked",Polygons:"Poligonlar",DoYouReallyWantToRemoveAllPolygonsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm poligonları kaldırmak istiyor musunuz?",Humans:"Kişiler",DoYouReallyWantToRemoveAllHumansOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm insanları kaldırmak istiyor musunuz?",Trees:"Ağaçlar",DoYouReallyWantToRemoveAllTreesOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm ağaçları kaldırmak istiyor musunuz?",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Do you really want to remove all the flowers on this foundation that are not locked",OnlyThisFoundation:"Sadece Seçili Temel",AllConnectedFoundations:"Tüm Bağlantılı Temeller",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Tüm Temeller",AddPolygon:"Poligon Ekle",SolarStructure:"Solar Yapı Seçin",GroupMaster:"Grup Yöneticisi",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Ground Floor R-Value",OnlyThisGroundFloor:"Only This Ground Floor",AllGroundFloors:"All Ground Floors"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Heliostat Alıcı Kulesi",ReceiverTowerPhysicalProperties:"Alıcı Kule Fiziksel Özellikler",ReceiverTowerHeight:"Alıcı Kule Yükseklik",ReceiverTowerRadius:"Alıcı Kule Yarıçap",ReceiverAbsorptance:"Alıcı Absorbsiyon",ReceiverOpticalEfficiency:"Alıcı Optik Verim",ReceiverThermalEfficiency:"Alıcı Termal Verim"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Fresnel Reflektör Soğurucu Boru",AbsorberPipePhysicalProperties:"Soğurucu Boru Fiziksel Özellikler",AbsorberHeight:"Soğurucu Boru Yükseklik",AbsorberApertureWidth:"Soğurucu boru diyafram genişliği",AbsorberPipePoleNumber:"Soğurucu Boru Sayısı",AbsorberAbsorptance:"Soğurucu Absorbsiyonu",AbsorberOpticalEfficiency:"Soğurucu Optik Verimlilik",AbsorberThermalEfficiency:"Soğurucu Isıl Verimlilik"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Solar Updraft Kulesi",SolarUpdraftTowerPhysicalProperties:"Solar Updraft Kulesi Fiziksel Özellikler",SolarUpdraftTowerChimneyHeight:"Solar Updraft Kulesi Baca Yüksekliği",SolarUpdraftTowerChimneyRadius:"Solar Updraft Kulesi Baca Yarıçapı",SolarUpdraftTowerCollectorHeight:"Solar Updraft Kulesi Collector Height",SolarUpdraftTowerCollectorRadius:"Solar Updraft Kulesi Kollektör Yarıçapı",SolarUpdraftTowerCollectorTransmissivity:"Solar Updraft Kulesi Kollektör Geçirgenliği",SolarUpdraftTowerCollectorEmissivity:"Solar Updraft Kulesi Kollektör Emisivite",SolarUpdraftTowerDischargeCoefficient:"Solar Updraft Kulesi Deşarj Katsayısı",SolarUpdraftTowerTurbineEfficiency:"Solar Updraft Kulesi Türbin Verimliliği"},cuboidMenu:{Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",RemoveAllUnlockedSolarPanels:"Tüm Kilitlenmemiş Güneş Panellerini Kaldır",RemoveAllUnlockedSensors:"Tüm Kilitlenmemiş Sensörleri Kaldır",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Poligonları Kaldır",RemoveAllUnlockedHumans:"Tüm Kilitlenmemiş Kişileri Kaldır",RemoveAllUnlockedTrees:"Tüm Kilitlenmemiş Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Çerçeveler",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Güneş Panelleri",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm güneş panellerini kaldırmak istiyor musunuz?",Sensors:"Sensörler",DoYouReallyWantToRemoveAllSensorsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm sensörleri kaldırmak istiyor musunuz?",Polygons:"Poligonlar",DoYouReallyWantToRemoveAllPolygonsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm poligonları kaldırmak istiyor musunuz?",Humans:"İnsanlar",DoYouReallyWantToRemoveAllHumansOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm insanları kaldırmak istiyor musunuz?",Trees:"Ağaçlar",DoYouReallyWantToRemoveAllTreesOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm ağaçları kaldırmak istiyor musunuz?",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Do you really want to remove all the flowers on this cuboid that are not locked",OnlyThisCuboid:"Sadece Seçili Kübik",AllCuboidsOnSameSurface:"All Cuboids on Same Surface",AllCuboidsAboveSameBase:"All Cuboids above Same Base",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Tüm Kübikler",OnlyThisSide:"Sadece Seçili Yüzey",AllSidesOfThisCuboid:"Seçili Kübik Tüm Yüzeyler",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Bütün Kübik Yüzeyleri ",AddPolygon:"Poligon Ekle",Stackable:"Stackable",GroupMaster:"Group Master"},polygonMenu:{Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",TextBox:"Text Box",FontOutlineColor:"Font Outline Color",FontOutlineWidth:"Font Outline Width",FontStrokeColor:"Font Stroke Color",FontStrokeWidth:"Font Stroke Width",NoOutline:"No Outline",Shiny:"Shiny",Filled:"Dolgu",FillTexture:"Dolgu Dokusu",FillColor:"Dolgu Rengi",Opacity:"Opaklık",LineColor:"Çizgi Rengi",LineWidth:"Çizgi Kalınlığı",LineStyle:"Çizgi Stili",SolidLine:"Düz çizgi",DashedLine:"Kesik çizgi",DottedLine:"Noktalı çizgi",InsertVertexBeforeIndex:"İndeksten Önce Tepe Noktası Ekle",InsertVertexAfterIndex:"İndeksten Sonra Tepe Noktası Ekle",DeleteVertex:"Tepe Noktası Sil",OnlyThisPolygon:"Sadece Seçili Poligon",AllPolygonsOnSurface:"Tüm Poligonlar Aynı Yüzeyde",AllPolygonsAboveFoundation:"Temel Üzerindeki Tüm Poligonlar",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Tüm Poligonlar",Layout:"Düzen",SolarPanelArrayLayout:"Güneş Paneli Dizi Düzeni",SolarPanelArrayLayoutParametricDesign:"Güneş Paneli Dizi Düzeni: Parametrik Tasarım",SolarPanelArrayLayoutGenerativeDesign:"Güneş Paneli Dizi Düzeni: Üretici Tasarım",SolarPanelArrayModel:"Güneş Paneli Modeli",SolarPanelArrayOrientation:"Oryantasyon",SolarPanelArrayTiltAngle:"Eğim Açısı",SolarPanelArrayRowWidth:"Dizi Sıra Genişliği",SolarPanelArrayInterRowSpacing:"Dizi Sıra Arası Boşluk",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Dizi Sıra Ekseni",SolarPanelArrayLeftRightRowAxis:"Left-Right (Relative)",SolarPanelArrayUpDownRowAxis:"Up-Down (Relative)",SolarPanelArrayEastWestRowAxis:"Doğu-Batı (Absolute)",SolarPanelArrayNorthSouthRowAxis:"Kuzey-Güney (Absolute)",SolarPanelArrayMargin:"Margin",SolarPanelArrayPoleHeight:"Direk Yükseklik",SolarPanelArrayPoleSpacing:"Direk Aralık",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"Bu yerleşim düzeni uygulanamaz. Lütfen parametrelerinizi kontrol edin."},optimizationMenu:{Optimization:"Optimizasyon",Parameters:"Parametreler",Variables:"Değişkenler",Constants:"Sabitler",GeneticAlgorithm:"Genetik Algoritma",GeneticAlgorithmSettings:"Genetik Algoritma Ayarı",ParticleSwarmOptimization:"Parçacık Sürü Optimizasyon",ParticleSwarmOptimizationSettings:"Parçacık Sürü Optimizasyon Ayarı",SolarPanelTiltAngleOptimization:"Güneş Paneli Eğim Açısı Optimizasyonu",SolarPanelArrayLayout:"Güneş Paneli Dizi Düzeni",Generation:"Nesil",Gene:"Gen",NormalizedVariables:"Normalleştirilmiş Değişkenler",Objective:"Amaç",ObjectiveFunctionDailyTotalYield:"Günlük Toplam Üretim",ObjectiveFunctionYearlyTotalYield:"Yıllık Toplam Üretim",ObjectiveFunctionDailyMeanYield:"Günlük Ortalama Üretim",ObjectiveFunctionYearlyMeanYield:"Yıllık Ortalama Üretim",ObjectiveFunctionDailyProfit:"Günlük Kazanç",ObjectiveFunctionYearlyProfit:"Yıllık Kazanç",GeneticAlgorithmSelectionMethod:"Genetik Algoritma Seçim Yöntemi",RouletteWheel:"Rulet Çarkı",Tournament:"Turnuva",SearchMethod:"Arama Yöntemi",GlobalSearchUniformSelection:"Küresel Arama Standart Seçim",LocalSearchRandomOptimization:"Yerel Arama Rastgele Optimizasyon",PopulationSize:"Popülasyon Boyutu",MaximumGenerations:"Maksimum Nesil",SelectionRate:"Seçim Oranı",CrossoverRate:"Geçiş Oranı",MutationRate:"Mutasyon Oranı",Step:"Adım",SwarmSize:"Sürü Boyutu",MaximumSteps:"Maksimum Adım",MaximumVelocity:"Maksimum Hız",InertiaWeight:"Atalet Ağırlığı",CognitiveCoefficient:"Bilişsel Katsayı",SocialCoefficient:"Sosyal Katsayı",ConvergenceThreshold:"Sonlandırma için Yakınsama Eşiği",LocalSearchRadius:"Yerel Arama Yarıçapı",RowsPerRackRange:"Raf Başına Sıra Aralığı",TiltAngleRange:"Eğim Açısı Aralığı",InterRowSpacingRange:"Sıra Arası Aralık Ranjı",ClickTargetPolygonToActivate:"Etkinleştirmek için Hedef Poligona Tıklayınız",ClickTargetFoundationToActivate:"Etkinleştirmek için Hedef Temele Tıklayınız"},treeMenu:{ShowModel:"Modeli Göster",Flip:"Flip",Type:"Tür",Spread:"Yayılım"},flowerMenu:{Flip:"Flip",Type:"Type",Spread:"Spread"},peopleMenu:{ChangePerson:"Kişi Değiştir",Flip:"Flip",Observer:"Gözlemci",ViewFromThisPerson:" Seçili Kişiye Göre Perspektif"},lightMenu:{Color:"Color",Intensity:"Intensity",Decay:"Decay",MaximumDistance:"Distance",Inside:"Inside"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Göreceli Azimut Açısı",Pole:"Pole",PoleHeight:"Direk Yüksekliği",PoleRadius:"Pole Radius",ExtraPoleHeight:"Ekstra Direk Yüksekliği",ExtraPoleHeightInAdditionToHalfWidth:"Yarım Genişliğe Ek Ekstra Direk Yüksekliği",DrawSunBeam:"Güneş Işını Çiz"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Reflektör Yansıma",ReceiverAbsorptance:"Alıcı Absorbsiyonu",ReflectorOpticalEfficiency:"Reflektör Optik Verimliliği",ReceiverThermalEfficiency:"Alıcı Termal Verimliliği"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"PV Modelini Değiştir",Orientation:"Oryantasyon",Portrait:"Portre",Landscape:"Peyzaj",FrameColor:"Frame Color",Panels:"Paneller",PanelsWide:"Panel Genişliği",PanelsLong:"Panel Uzunluğu",TiltAngle:"Eğim Açısı",SouthFacingIsPositive:"Güney yönünde açı pozitiftir.",Tracker:"İzleyici",SolarTrackerFollowsSun:"Güneş paneli verimini artırmak için bir güneş izleme sistemi güneşi sürekli takip eder.",PoleSpacing:"Direk Aralığı",NoTracker:"İzleme Sistemi Yok",HorizontalSingleAxisTracker:"Yatay Tek Eksenli İzleme Sistemi",VerticalSingleAxisTracker:"Dikey Tek Eksenli İzleme Sistemi",AltazimuthDualAxisTracker:"Altazimut Çift Eksenli İzleme Sistemi",OnlyThisSolarPanel:"Sadece Seçili Güneş Paneli",AllSolarPanelsOnSurface:"Tüm Güneş Panelleri Aynı Yüzeyde",AllSolarPanelsAboveFoundation:"Tüm Güneş Panelleri Aynı Temel Üzerinde",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Tüm Güneş Panelleri"},pvModelPanel:{SolarPanelSpecs:"Güneş Paneli Özellikleri",Model:"Model",PanelSize:"Panel Boyutu",Cells:"Hücreler",CellType:"Hücre Tipi",Monocrystalline:"Monokristal",Polycrystalline:"Polikristal",ThinFilm:"İnce Katman",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Siyah",Blue:"Mavi",ShadeTolerance:"Gölge Toleransı",SolarCellEfficiency:"Güneş Pili Verimliliği",NominalOperatingCellTemperature:"Nominal Çalışma Hücresi Sıcaklığı",TemperatureCoefficientOfPmax:"Pmax Sıcaklık Katsayısı"},parabolicTroughMenu:{ModuleLength:"Modül Uzunluğu",Modules:"Modüller",ModulesLong:"Modüllerin Uzunluğu",LatusRectum:"Özkiriş",OnlyThisParabolicTrough:"Sadece Seçili Parabolik Oluk",AllParabolicTroughsAboveFoundation:"Aynı Temelin Üzerindeki Tüm Parabolik Oluklar",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"Tüm Parabolik Oluklar"},fresnelReflectorMenu:{AbsorberPipe:"Soğurucu Boru",SelectAbsorberToReflectSunlightTo:"Güneş Işığı Yansıtılacak Soğurucuyu Seçin",ModuleLength:"Modül Uzunluğu",Modules:"Modüller",ModulesLong:"Modüllerin Uzunluğu",OnlyThisFresnelReflector:"Sadece Seçili Fresnel Reflektör",AllFresnelReflectorsAboveFoundation:"Aynı Temel Üzerindeki Tüm Fresnel Reflektörler",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"Tüm Fresnel Reflektörler"},heliostatMenu:{Tower:"Kule",SelectTowerToReflectSunlightTo:"Güneş Işığı Yansıtılacak Kuleyi Seçin",OnlyThisHeliostat:"Sadece Seçili Heliostat",AllHeliostatsAboveFoundation:"Aynı Temel Üzerindeki Tüm Heliostatlar",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"Tüm Heliostatlar"},parabolicDishMenu:{ReceiverStructure:"Alıcı Yapısı",CentralPole:"Merkez Direk",CentralPoleWithTripod:"Tripodlu Merkez Direk",Quadrupod:"Dört Ayaklı",RimDiameter:"Kasnak Çapı",LatusRectum:"Özkiriş",ExtraPoleHeightInAdditionToRadius:"Yarıçapa Ek Olarak Ekstra Direk Yüksekliği",OnlyThisParabolicDish:"Sadece Seçili Parabolik Çanak",AllParabolicDishesAboveFoundation:"Aynı Temel Üzerindeki Tüm Parabolik Çanaklar",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"Tüm Parabolik Çanaklar"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",SizeOfWall:"Duvar Boyutu",OnlyThisWall:"Sadece Seçili Duvar",AllConnectedWalls:"All Connected Walls",AllWallsAboveFoundation:" Aynı Temel Üzerindeki Tüm Duvarlar",AllSelectedWalls:"All Selected Walls",AllWalls:"Tüm Duvarlar",Windows:"Pencereler",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Kilitlenmemiş Tüm Pencereleri Kaldır",DoYouReallyWantToRemoveAllWindowsOnThisWall:" Seçili duvardaki tüm pencereleri kaldırmak istiyor musunuz?",Doors:"Kapılar",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Tüm Kilitlenmemiş Kapıları Kaldır",DoYouReallyWantToRemoveAllDoorsOnThisWall:" Seçili duvardaki tüm kapıları kaldırmak istiyor musun?",SolarPanels:"Güneş Panelleri",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Kilitlenmemiş Tüm Güneş Panellerini Kaldır",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:" Seçili duvardaki tüm güneş panellerini kaldırmak istiyor musunuz?",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Do you really want to remove all the sensors on this wall",Lights:"Lights",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisWall:"Do you really want to remove all the lights on this wall",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Poligonları Kaldır",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Duvar Yapısı",DefaultStructure:"Varsayılan",StudStructure:"Ahşap Dikme",PillarStructure:"Pillar",Opacity:"Opaklık",StructureSpacing:"Structure Spacing",StructureWidth:"Structure Width",StructureThickness:"Structure Thickness",StructureColor:"Structure Color",Color:"Wall Color",Height:"Height",Thickness:"Thickness",Texture:"Texture",AllLightsOnWallInside:"All Lights on Wall Inside",AllLightsOnWallOutside:"All Lights on Wall Outside",Fill:"Fill",Full:"Full",Partial:"Partial",Empty:"Empty",OpenToOutside:"Open to Outside",EavesLength:"Eaves Overhang Length",Parapet:"Parapet",ParapetColor:"Parapet Color",ParapetTexture:"Parapet Texture",ParapetHeight:"Parapet Height",CopingsHeight:"Copings Height",CopingsWidth:"Copings Width"},windowMenu:{OnlyThisWindow:"Sadece Bu Pencere",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"Aynı Temelin Üzerindeki Tüm Pencereler",AllSelectedWindows:"All Selected Windows",AllWindows:"Tüm Pencereler",Width:"Genişlik",Height:"Yükseklik",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Tiriz",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Tiriz Genişliği",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Mullion Color",Tint:"Ton",Opacity:"Opaklık",SolarHeatGainCoefficient:"Solar heat gain coefficient (SHGC) = 1 - opacity",Shutter:"Kepenk",LeftShutter:"Sol Kepenk",RightShutter:"Sağ Kepenk",BothShutters:"Kepenkler",ShutterWidth:"Genişlik",ShutterColor:"Kepenk Rengi",Frame:"Frame",FrameWidth:"Frame Width",SillWidth:"Sill Width",Color:"Frame Color",WindowType:"Window Type",Default:"Default",Arched:"Arched",Polygonal:"Polygonal",Interior:"Interior",Empty:"Empty"},roofMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",OnlyThisRoof:"Sadece Seçili Çatı",AllRoofsAboveFoundation:"Aynı Temelin Üzerinde Tüm Çatılar",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"Tüm Çatılar",OnlyThisCeiling:"Only This Ceiling",AllCeilingsAboveFoundation:"All Ceilings Above the Same Foundation",AllCeilings:"All Ceilings",EavesOverhangLength:"Eaves Overhang Length",RafterSpacing:"Mertek Aralığı",RafterWidth:"Mertek Genişliği",RafterThickness:"Mertek Kalınlığı",RafterColor:"Mertek Rengi",RoofColor:"Çatı Rengi",RoofSideColor:"Roof Side Color",GlassTint:"Cam Tonu",Opacity:"Opaklık",RoofStructure:"Çatı Yapısı",DefaultStructure:"Varsayılan",RafterStructure:"Mertek",GlassStructure:"Cam",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Do you really want to remove all the solar panels on this roof",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Do you really want to remove all the windows on this roof",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Do you really want to remove all the sensors on this roof",Lights:"Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Do you really want to remove all the lights on this roof",AllLightsOnRoofInside:"All Lights on Roof Inside",AllLightsOnRoofOutside:"All Lights on Roof Outside",Rise:"Rise",Ceiling:"Ceiling",RoofRValue:"Roof R-Value",CeilingRValue:"Ceiling R-Value"},doorMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",Texture11:"Doku 11",Texture12:"Doku 12",Texture13:"Doku 13",Texture14:"Doku 14",Texture15:"Doku 15",Texture16:"Doku 16",Texture17:"Doku 17",OnlyThisDoor:"Sadece Seçili Kapı",AllDoorsOnWall:"Aynı Duvardaki Tüm Kapılar",AllDoorsAboveFoundation:"Aynı Temelin Üstündeki Tüm Kapılar",AllSelectedDoors:"All Selected Doors",AllDoors:"Tüm Kapılar",DoorType:"Door Type",Default:"Default",Arched:"Arched",Filled:"Filled",FrameColor:"Frame Color",Interior:"Interior"},siteInfoPanel:{High:"Yüksek",Low:"Düşük"},designInfoPanel:{NumberOfSelectedHeliostats:"Seçilen heliostat sayısı",NumberOfSelectedSolarPanels:"Seçilen güneş paneli sayısı",ElectricityGeneratedDailyBySolarPanels:"Güneş panellerinin günlük elektrik üretimi",SceneDiameter:"Scene diameter",BuildingArea:"Building area"},visualizationControlPanel:{ColorContrast:"Renk Kontrastı",FluxScale:"Flux Scale",ClickUpOrDownArrowButtonsToChange:"Değiştirmek için yukarı veya aşağı ok butonlarına tıklayınız"},instructionPanel:{Rotate:"Döndürme",DragMouse:"Sol Tık + Sürükle",Zoom:"Yakınlaştırma",MouseWheelOrKeys:"Tekerlek veya Ctrl+[ veya Ctrl+]",MouseWheelOrKeysMac:"Tekerlek veya ⌘+[ veya ⌘+]",Pan:"Ekran Kaydırma",HoldCtrlDragMouse:"Ctrl + Sürükle",HoldMetaDragMouse:"Hold ⌘ and drag mouse",Enter2DMode:"Enter 2D mode",Exit2DMode:"Exit 2D mode",NavigationMode:"Navigation mode",EnableNavigation:"Enable navigation",DisableNavigation:"Disable navigation",MoveForwardBack:"Move forward/back",MoveForwardBackInstruction:"Press W/S",MoveLeftRight:"Move left/right",MoveLeftRightInstruction:"Press A/D",MoveUpDown:"Move up/down",MoveUpDownInstruction:"Press Z/X",Turn:"Turn",TurnInstruction:"Press arrow keys",ResetView:"Yeniden Başlat",AutoRotate:"Otomatik Döndürme",StartOrStop:"Başlat veya Durdur (F4)"},mapPanel:{ImageOnGround:"Yüzey Görünümü",HideAddress:"Hide Address",WeatherStations:"Referans",WeatherStationsNote:"Turn this off to speed up",Coordinates:"Koordinatlar",Zoom:"Büyüt"},visibilityPanel:{SolarPanelVisibility:"Güneş Paneli Görünüm",Observer:"Gözlemci",VantagePoint:"Referans Noktası",ItemizedVisibilityByFields:"Alana Özel Perspektif",TotalVisibility:"Toplam"},sensorPanel:{LightSensor:"Işık Sensörü",WeatherDataFrom:"Hava Durumu"},buildingEnergyPanel:{DailyBuildingEnergy:"Daily Building Energy",YearlyBuildingEnergy:"Yearly Building Energy",Heater:"Heater",AC:"AC",SolarPanel:"Solar Panel",Net:"Net"},solarPanelYieldPanel:{SolarPanelDailyYield:"Güneş Paneli Günlük Üretim",SolarPanelYearlyYield:"Güneş Paneli Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualSolarPanels:"Herbir güneş panelinin üretimini göster",Profit:"Kazanç",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Parabolik Oluk Günlük Üretim",ParabolicTroughYearlyYield:"Parabolik Oluk Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualParabolicTroughs:"Herbir parabolik oluğun üretimini göster"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Parabolik Çanak Günlük Üretim",ParabolicDishYearlyYield:"Parabolik Çanak Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualParabolicDishes:"Herbir parabolik çanağın üretimini göster"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Fresnel Reflektör Günlük Üretim",FresnelReflectorYearlyYield:"Fresnel Reflektör Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualFresnelReflectors:"Herbir Fresnel yansıtıcısının üretimini göster"},heliostatYieldPanel:{HeliostatDailyYield:"Heliostat Günlük Üretim",HeliostatYearlyYield:"Heliostat Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualHeliostats:"Herbir heliostatın üretimini göster"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Solar Updraft Kulesi Günlük Üretimi",UpdraftTowerYearlyYield:"Solar Updraft Kulesi Yıllık Üretimi",ChimneyAirTemperature:"Baca Hava Sıcaklığı",ChimneyWindSpeed:"Baca Rüzgar Hızı",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualUpdraftTowers:"Herbir updraft kulesinin üretimini göster"},heliodonPanel:{SunAndTimeSettings:"Güneş & Saat Ayarları",SunAngles:"Açılar",TwentyFourHours:"24 Hours"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyLikes:"My Likes",MyCloudFiles:"Bulut Dosyalarım",GenerateLink:"Link Oluştur",LinkGeneratedInClipBoard:"Klip Panosunda Oluşturulan Link",DoYouReallyWantToDelete:"Gerçekten silmek istiyor musun?",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"If this file has been shared or published, renaming it breaks existing links"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Type",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Hesap Ayarlarım",MyID:"Bilgilerim",ClickToCopyMyID:"Bilgilerinizi kopyalamak için tıklayın",IDInClipBoard:"Kişisel bilgileriniz kopyalandı ve yapıştırmaya hazır.",StoreMyNameInMyFilesWhenSaving:"Kaydederken, adımı dosyalarıma ekle",DoYouReallyWantToShowYourNameInYourFiles:"Dosyalarınızda isminizin gösterilmesini istiyor musunuz?",SignFileDisclaimer:"Evet ise, isiminiz dosyalarınıza erişimi olan bütün kişiler tarafından görülebilir.",Likes:"Likes",AllPublished:"All Published",PublishedUnderAliases:"Aliases",UserCount:"Kullanıcı Sayısı",SchoolID:"Okul",ClassID:"Sınıf"},weatherPanel:{SunshineHours:"Gündüz Saatleri"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Model Seç",Sinusoidal:"Sinüzoidal"},economicsPanel:{EconomicsParameters:"Ekonomik Parametreler",ElectricitySellingPrice:"Elektrik Satış Fiyatı",OperationalCostPerUnit:"Birim Başına İşletme Maliyeti",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Gökyüzü Açıklığı",ShowDaylightResults:"Gün Işığı Sonuçlarını Göster",ShowSkyClearnessResults:"Gökyüzü Açıklığı Sonuçlarını Göster",ShowAverageDailySolarRadiation:"Günlük ortalama güneş Işınımını göster"},analysisManager:{NoSensorForCollectingData:"Veri toplamak için sensör yok.",NoSolarPanelForAnalysis:"Analiz için güneş paneli yok.",NoObserverForVisibilityAnalysis:"Görünürlük analizi için gözlemci yok.",NoWaterHeaterForAnalysis:"Analiz için su ısıtıcısı yok",NoParabolicDishForAnalysis:"Analiz için parabolik çanak yok",NoParabolicTroughForAnalysis:"Analiz için parabolik oluk yok.",NoFresnelReflectorForAnalysis:"Analiz için Fresnel reflektörü yok.",NoHeliostatForAnalysis:"Analiz için heliostat yok.",NoSolarUpdraftTowerForAnalysis:"Analiz için Solar Updraft Kulesi yok.",NoBuildingForAnalysis:"There is no building for analysis."},toolbar:{CloudFile:"Bulut Dosyası",Select:"Seç",AddFoundation:"Temel Ekle",AddWall:"Duvar Ekle",AddWindow:"Pencere Ekle",AddDoor:"Kapı Ekle",AddPyramidRoof:"Piramit Çatı Ekle",AddGableRoof:"Beşik Çatı Ekle",AddHipRoof:"Kırma Çatı Ekle",AddGambrelRoof:"Flemenk Çatı Ekle",AddMansardRoof:"Mansart Çatı Ekle",AddCuboid:"Kübik Ekle",AddSensor:"Sensör Ekle",AddSolarPanel:"Güneş Paneli Ekle",AddWaterHeater:"Su Isıtıcı Ekle",AddParabolicDish:"Parabolik Çanak Ekle",AddParabolicTrough:"Parabolik Oluk Ekle",AddFresnelReflector:"Fresnel Reflektörü Ekle",AddHeliostat:"Heliostat Ekle",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Add Light",AddTree:"Ağaç Ekle",AddFlower:"Add Flower",AddPeople:"İnsan Ekle",DoubleClickToLockThisModeForNextAction:"Double-click to lock this mode for next action",ClickToUnlockThisModeForNextAction:"Click to unlock this mode for next action",ManipulateGroup:"Ölçeklendirme",ClearScene:"Herşeyi Sil",ShowSunAndTimeSettings:"Güneş & Zaman Ayarlarını Göster",SpatialAnalysisOfEnergy:"Spatial analysis of energy",DoYouReallyWantToClearContent:"İçeriği silmek istiyor musunuz",ClickForMoreButtons:"Daha fazla buton için tıklayın"},tooltip:{gotoIFI:"Yarının Zekası Enstitüsüne Git",visitAladdinHomePage:"Aladdin Ana Sayfasını Ziyaret Edin",clickToOpenMenu:"Ana Menüyü Açmak İçin Tıklayınız",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Apple",Birch:"Birch",Coconut:"Coconut",Dogwood:"Kızılcık Ağacı",Elm:"Karaağaç",FanPalm:"Fan Palm",Linden:"Ihlamur Ağacı",Magnolia:"Magnolia",Maple:"Akçaağaç",Oak:"Meşe Ağacı",Pine:"Çam",Spruce:"Alaçam"},flower:{Bellflower:"Bellflower",Boxwood:"Boxwood",CactusCombo1:"Cactus Combo 1",CactusCombo2:"Cactus Combo 2",CactusCombo3:"Cactus Combo 3",CactusCombo4:"Cactus Combo 4",Hibiscus:"Hibiscus",Hosta:"Hosta",Hydrangea:"Hydrangea",Peony:"Peony",RedRose:"Red Rose",Spirea:"Spirea",Sunflower:"Sunflower",TallBush:"Tall Bush",Tulip:"Tulip",WhiteFlower:"White Flower",YellowFlower:"Yellow Flower"},people:{Jaah:"Ata",Jack:"Mete",Jacob:"Jacob",Jacqueline:"Beril",Jade:"Ece",Jamelia:"Bilge",James:"James",Jane:"Jane",Jaya:"Asya",Jaye:"Aylin",Jeanette:"Jeanette",Jedi:"Alp",Jeff:"Kaya",Jena:"Nehir",Jennifer:"Defne",Jess:"Zeynep",Jett:"Umut",Jill:"Jill",Jiya:"Elif",Joan:"Ezgi",Jocelyn:"Jocelyn",Joel:"Cenk",Joey:"Azra",John:"Can",Jonathon:"Jonathon",Jose:"Mert",Joseph:"Joseph",Joshua:"Joshua",Judd:"Ozan",Judy:"Judy",Julia:"Julia",Julio:"Bulut",Jumapili:"Umay",June:"Naz",Juro:"Efe",Justin:"Justin"},compass:{N:"N",S:"S",W:"W",E:"E"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Search by publisher",SearchByLabel:"Search by label",MyPublishedModels:"My Published Models",TotalNumberOfUserPublishedModels:"Total number of user-published models",SortFromOldestToNewest:"Sort from oldest to newest",SortFromNewestToOldest:"Sort from newest to oldest",ModelsFoundOnThisSite:"models found on this site",ShowModelsPublishedByThisAuthor:"Show the models published by this author"}}},Jft={translation:{name:{IFI:"Інститут Інтелекту Майбутнього",Aladdin:"Aladdin",Tagline:"Aladdin: Переосмислення Дизайну з Пояснювальним Штучним Інтелектом - Інститут Інтелекту Майбутнього"},cookie:{Statement:"Натиснувши «Прийняти», ви погоджуєтеся з використанням файлів cookie для покращення вашого досвіду з Aladdin.",Accept:"Прийняти"},aboutUs:{ProductBroughtToYouBy:"Цей Продукт Було Створено:",TermsOfService:"Умови Використання",PrivacyPolicy:"Політика Конфіденційності",Software:"Програмне Забезпечення",Content:"Матеріали",Research:"Дослідження",Support:"Підтримка",Acknowledgment:"Подяка",FundingInformation:"Національний Науковий Фонд (ННФ, Cполучені Штати Америки) надав фінансову підтримку для дослідження та розробки цього продукту за допомогою грантів №2105695, №2131097, та №#2301164. Однак, будь-які погляди, результати та висновки, висловлені у продукті, належать авторам і можуть не повністю відображати погляди ННФ.",Contact:"Для отримання додаткової інформації, будь ласка, зверніться до Charles Xie (charles@intofuture.org).",Translators:"Переклад"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Текст",FontSize:"Розмір Шрифту",FontColor:"Колір Шрифту",Model:" Модель",Models:"Моделі",Upload:"Завантажити",ClickCount:"Натисніть Підрахувати",Share:"Поділитись",AlreadyLike:"Вподобано",Like:"Вподобати",MustLogInToLike:"Потрібно Увійти, щоб Вподобати",AllRightsReserved:"Усі Права Захищено",MeterAbbreviation:"м",Version:"Версія",VersionInitial:"В",Options:"Опції",Maximum:"Максимум",Minimum:"Мінімум",MaximumNumber:"Максимальне Число",MinimumNumber:"Мінімальне Число",MaximumValue:"Максимальне Значення",MinimumValue:"Мінімальне Значення",Or:"Або",None:"Жоден",High:"Високий",Partial:"Частковий",Teacher:"Вчитель",Class:"Клас",Total:"Всього",Leaderboard:"Таблиця Лідерів",Latest:"Останнє",Range:"Діапазон",SIUnit:"SI Одиниця",USUnit:"US Одиниця",ThermalTransmittance:"Теплопередача",ThermalResistance:"Термічний Опір",UValue:"U-Значення",RValue:"R-Значення",VolumetricHeatCapacity:"Об'ємна Теплоємність",BuildingHVACSystem:"Побудова Системи Опалення, Вентиляції та Кондиціювання Повітря (ОВК)",ThermostatSetpoint:"Задана Температура Термостата",TemperatureToleranceThreshold:"Порогове Значення Допустимого Відхилення Температури",TemperatureToleranceThresholdExplanation:"Обігрівач не працюватиме, якщо найнижча зовнішня температура дня вища за значення отриманe, якщо від заданої температури відняти порогове значення. Кондиціонер не працюватиме, якщо найвища зовнішня температура дня нижча за значення отримане, якщо від заданої температури відняти порогове значення.",Press:"Натисніть",Open:"Відкрити",Save:"Зберегти",SaveAsImage:"Зберегти як Зображення",SaveAsCsv:"Зберегти як CSV",Update:"Оновити",Paste:"Вставити",Copy:"Копіювати",Cut:"Вирізати",Delete:"Видалити",Lock:"Заблокувати",Translucent:"Півпрозорий",Color:"Колір",Pattern:"Pattern",Texture:"Текстура",Size:"Розмір",Thickness:"Товщина",Yes:"Так",No:"Ні",OK:"ОК",Cancel:"Скасувати",Apply:"Застосувати",Close:"Закрити",ApplyTo:"Застосувати До",Run:"Запустити",Pause:"Пауза",Resume:"Відновити",Clear:"Очистити",Warning:"Попередження",Caution:"Обережно",Reminder:"Нагадування",Length:"Довжина",Width:"Ширина",Height:"Висота",Radius:"Радіус",Angle:"Кут",Azimuth:"Азимут",Coordinates:"Координати",Weather:"Погода",Show:"Показати",Animate:"Анімувати",Date:"Дата",Time:"Час",Title:"Заголовок",Owner:"Власник",Action:"Дія",Rename:"Перейменувати",Location:"Місцезнаходження",Latitude:"Широта",Month:"Місяць",Day:"День",Hour:"Година",Daylight:"Денне світло",Radiation:"Радіаційне Випромінювання",Temperature:"Температура",kWh:"кВт-год",dollar:"долар",MeterPerSecond:"м/с",NorthInitial:"Північ",SouthInitial:"Південь",EastInitial:"Схід",WestInitial:"Захід",Fixed:"Фіксований",Elements:"Елементи",Energy:"Енергія",Unknown:"Невідомо",Label:"Мітка",Description:"Опис",NoDescription:"Без опису",MaximumCharacters:"Максимальна кількість символів",Author:"Автор",Publisher:"Видавець",Building:"Будівля",ResidentialBuilding:"Житлова будівля",CommercialBuilding:"Комерційна будівля",SchoolBuilding:"Шкільна будівля",TouristAttraction:"Туристична визначна пам'ятка",UnderConstruction:"В стадії будівництва",Photovoltaic:"Фотоелектричний",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Анонімний",Nickname:"Нікнейм",Pin:"Закріпити",Unpin:"Відкріпити"},shared:{NoTexture:"Без текстури",FoundationElement:"Фундамент",CuboidElement:"Паралелепіпед",PolygonElement:"Багатокутник",SensorElement:"Сенсор",SolarPanelElement:"Сонячна панель",WaterHeaterElement:"Водонагрівач",ParabolicDishElement:"Параболічна тарілка",ParabolicTroughElement:"Параболічний сонячний колектор",FresnelReflectorElement:"Відбивач Френеля",HeliostatElement:"Геліостат",WindTurbineElement:"Вітрова турбіна",LightElement:"Світло",ElementLocked:"Заблоковано",ModelType:"Тип моделі",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Модель не знайдено",CannotSignIn:"Не вдається увійти",CannotSignOut:"Не вдається вийти",YourAccountWasCreated:"Ваш обліковий запис був створений",CannotCreateAccount:"Не вдається створити обліковий запис",YourAccountSettingsWereSaved:"Налаштування облікового запису були збережені",CannotSaveYourAccountSettings:"Не вдається зберегти налаштування облікового запису",CannotSaveYourFileToCloud:"Не вдається зберегти ваш файл у хмарному середовищі",CannotCreateNewProject:"Не вдається створити новий проєкт",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Не вдається відкрити ваші проєкти",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"Ця назва була використана. Виберіть іншу",CloudFileWithTitleExistsDoYouWantToOverwrite:"Хмарний файл з такою ж назвою вже існує. Ви хочете перезаписати його?",CloudFileNotFound:"Файл у хмарному середовищі не знайдено",CannotLoadModelsOnMap:"Не вдається завантажити моделі на карту",CannotLoadLeaderboard:"Не вдається завантажити таблицю лідерів",CannotPublishModelOnMap:"Не вдається опублікувати модель на карті",CannotLikeModelFromMap:"Не вдається оцінити модель з карти",CannotDeleteModelFromMap:"Не вдається видалити модель з карти",ModelDeletedFromMap:"Модель видалена з карти",DoYouWantToDeleteModelFromMap:"Ви бажаєте видалити модель з карти?",CannotOpenCloudFile:"Не вдається відкрити файл у хмарному середовищі",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Не вдається відкрити папку у хмарному середовищі",CannotDeleteCloudFile:"Не вдається видалити файл у хмарному середовищі",CannotRenameCloudFile:"Не вдається перейменувати файл у хмарному середовищі",DoYouWantToSaveChanges:"Бажаєте зберегти зміни?",NotApplicableToSelectedAction:"Не застосовується до обраної дії",ThisElementIsLocked:"Цей елемент заблокований.",ThisCannotBeUndone:"Це не можна скасувати.",AzimuthOfNorthIsZero:"Азимут півночі дорівнює 0°",CounterclockwiseAzimuthIsPositive:"Азимут є позитивним проти годинникової стрілки.",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Переміщення скасовано через перекриття.",MoveOutsideBoundaryCancelled:"Переміщення за межі скасовано.",RotationCancelledBecauseOfOverlap:"Ротацію скасовано через перекриття.",RotationOutsideBoundaryCancelled:"Ротація за межі скасована.",ResizingCancelledBecauseOfOverlap:"Зміна розміру скасована через перекриття.",ResizingOutsideBoundaryCancelled:"Зміна розміру за межі скасована.",CannotPasteOutsideBoundary:"Не можна вставити за межі.",CannotPasteBecauseOfOverlap:"Не можна вставити через перекриття.",CannotMoveObjectTooFar:"Не можна перемістити об'єкт занадто далеко.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Існуючі сонячні панелі будуть видалені перед застосуванням нового макету.",DoYouWantToContinue:"Бажаєте продовжити?",SolarPanelsCannotIntersectWithGround:"Сонячні панелі не можуть перетинатися з землею.",SolarPanelsCannotOverlapWithOneAnother:"Сонячні панелі не можуть накладатися одна на одну.",ScreenshotSaved:"Знімок екрана збережено.",CsvFileSaved:"CSV файл збережено.",SimulationStarted:"Розпочато симуляцію.",SimulationCompleted:"Симуляцію завершено.",SimulationAborted:"Симуляцію перервано.",SimulationPaused:"Симуляцію призупинено.",CancelSimulation:"Скасувати симуляцію",PauseSimulation:"Призупинити симуляцію",ResumeSimulation:"Продовжити симуляцію",SimulationWillNotStartDueToErrors:"Симуляція не розпочнеться через помилки",SimulationWillStartDespiteWarnings:"Симуляція розпочнеться незважаючи на попередження.",EvolutionStarted:"Еволюцію розпочато.",EvolutionCompleted:"Еволюцію завершено.",EvolutionAborted:"Еволюцію перервано.",EvolutionPaused:"Еволюцію призупинено.",EncounterEvolutionError:"Сталася помилка еволюції.",CancelEvolution:"Скасувати еволюцію",PauseEvolution:"Призупинити еволюцію",ResumeEvolution:"Продовжити еволюцію",ConvergenceThresholdHasBeenReached:"Досягнуто порогове значення збіжності.",MaximumNumberOfGenerationsHasBeenReached:"Досягнуто максимальну кількість поколінь.",MaximumNumberOfStepsHasBeenReached:"Досягнуто максимальну кількість кроків.",ObjectiveFunctionTypeError:"Поточна цільова функція не підтримується цією операцією. Будь ласка, розпочніть з меню.",WallsAreNotAtSameHeight:"Стіни не знаходяться на однаковій висоті.",WallsAreNotPerpendicular:"Стіни не перпендикулярні.",WallsAreNotConnected:"Стіни не з'єднані.",WallsNumberNeedToBeFour:"Кількість стін має дорівнювати чотири.",BuildingContainsEmptyWall:"Будівля містить одну або кілька порожніх стін.",BuildingRoofMissing:"У будівлі відсутній дах.",UnknownErrors:"Невідомі помилки."},menu:{AnalysisOptions:"Опції аналізу",option:{GridCellSize:"Розмір комірки сітки",SamplingFrequency:"Частота вибірки",TimesPerHour:"Разів на годину",DaysPerYear:"Днів на рік"},mainMenu:"Головне Меню",cloudMenu:"Меню Хмарного Середовища",projectSubMenu:"Проєкт",project:{CreateNewProject:"Створити Новий Проєкт",OpenProject:"Відкрити Проєкт",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"Ви повинні увійти, щоб створити новий проєкт",YouMustLogInToOpenProject:"Ви повинні увійти, щоб відкрити проєкт"},fileSubMenu:"Файл",file:{CreateNewFile:"Створити новий",OpenLocalFile:"Відкрити локально",SaveAsLocalFile:"Зберегти як",SavingAbortedMustHaveValidFileName:"Збереження перервано! Вам потрібно мати дійсне ім'я файлу",OpenCloudFile:"Відкрити у хмарному середовищі",SaveCloudFile:"Зберегти у хмарному середовищі",SaveAsCloudFile:"Зберегти у хмарному середовищі",SavingAbortedMustHaveValidTitle:"Збереження перервано! Вам потрібно мати дійсний заголовок для хмарного файлу",ToSaveYourWorkPleaseSignIn:"Щоб зберегти вашу роботу, будь ласка, увійдіть в систему.",TakeScreenshot:"Зробити знімок екрана",UseCloudFileName:"Використовувати ім'я файлу у хмарному середовищі",PublishOnModelsMap:"Опублікувати на карті моделей",PublishedOnModelsMap:"Вашу модель було опубліковано на карті моделей",UpdatedOnModelsMap:"Ваша модель була оновлена на карті моделей",YouMustLogInToPublishYourModel:"Вам потрібно увійти в систему, щоб опублікувати свою модель",YouCannotPublishAModelThatYouDoNotOwn:"Ви не можете опублікувати модель, якою не володієте",YouMustSaveModelOnCloudBeforePublishingIt:"Вам потрібно зберегти модель у хмарному середовищі перед її публікацією"},editSubMenu:"Редагувати",edit:{Undo:"Скасувати",Redo:"Повторити"},viewSubMenu:"Перегляд",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D Вигляд",ResetView:"Скинути",ZoomIn:"Збільшити масштаб",ZoomOut:"Зменшити масштаб",AutoRotate:"Автоматичний поворот",ShowShadow:"Показати тінь",ShowSurfaceShininess:"Показати блиск поверхні",TranslucentFloatingWindows:"Напівпрозорі плаваючі вікна",accessoriesSubMenu:"Додаткові елементи",accessories:{SiteInformation:"Інформація про місце",DesignInformation:"Інформація про дизайн",Instruction:"Інструкція",StickyNote:"Примітка",Note:"Примітка"}},settingsSubMenu:"Налаштування",settings:{WeatherData:"Дані про погоду",DiurnalTemperature:"Добова температура",Heliodon:"Геліодон",SunAndTime:"Сонце та час"},benchmarksSubMenu:"Бенчмарки",benchmarks:{SolarRadiationPredictionVsMeasurement:"Прогнозування сонячної радіації порівняно з вимірюванням",BESTESTCase600:"Тестування енергоефективності будівель: BESTEST Case 600",BESTESTCase610:"Тестування енергоефективності будівель: BESTEST Case 610",BESTESTCase620:"Тестування енергоефективності будівель: BESTEST Case 620",BESTESTCase630:"Тестування енергоефективності будівель: BESTEST Case 630"},graph:{LineWidth:"Товщина лінії",SymbolSize:"Розмір символу",BarCategoryGap:"Відступ категорій стовпців",ShowHorizontalGridLines:"Показати горизонтальні лінії сітки",ShowVerticalGridLines:"Показати вертикальні лінії сітки"},analysisSubMenu:"Аналіз",physicsSubMenu:"Фізика",physics:{DailySolarRadiationHeatmap:"Щоденна карта сонячної радіації",SolarRadiationHeatmapOptions:"Параметри карти сонячної радіації",SolarRadiationHeatmapGridCellSize:"Розмір комірки на карті сонячної радіації",SolarRadiationHeatmapMaxValue:"Максимальне значення на карті",SolarRadiationHeatmapNoAnimation:"Немає анімації для статичної моделі",ReflectionHeatmap:"Карта відображень"},sensorSubMenu:"Датчик",sensor:{CollectDailyData:"Збирати щоденні дані",CollectYearlyData:"Збирати щорічні дані",SensorSimulationNoAnimation:"Немає анімації для збору даних датчика"},buildingSubMenu:"Будівля",building:{AnalyzeDailyBuildingEnergy:"Аналізувати щоденну енергію будівлі",AnalyzeYearlyBuildingEnergy:"Аналізувати щорічну енергію будівлі",EnergyAnalysisOptions:"Параметри аналізу енергії",EnergyGridCellSize:"Розмір комірки сітки",BuildingEnergySimulationNoAnimation:"Немає анімації симулювати енергію будівлі"},solarPanelSubMenu:"Сонячна панель",solarPanel:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід",AnalyzeVisibility:"Аналізувати видимість",PanelDiscretization:"Дискретизація панелі",Exact:"Точний",Approximate:"Наближений",EnergyGridCellSize:"Розмір комірки сітки енергії",VisibilityGridCellSize:"Розмір комірки сітки коефіцієнта видимості",EnergyAnalysisOptions:"Параметри аналізу енергії",VisibilityAnalysisOptions:"Параметри аналізу видимості",SolarPanelSimulationNoAnimation:"Немає анімації для симуляції сонячної панелі"},parabolicTroughSubMenu:"Параболічний сонячний колектор",parabolicTrough:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},parabolicDishSubMenu:"Параболічний диск",parabolicDish:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},fresnelReflectorSubMenu:"Відбивач Френеля",fresnelReflector:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},heliostatSubMenu:"Геліостат",heliostat:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},solarUpdraftTowerSubMenu:"Сонячна вежа з використаним повітрям",solarUpdraftTower:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід",SolarUpdraftTowerSimulationNoAnimation:"Немає анімації симулювати сонячну вежу з використаним повітрям"},tutorialsSubMenu:"Посібники",solarEnergyScienceSubMenu:"Сонячна наука",solarEnergyScienceTutorials:{SunAngles:"Кути сонця відносно спостерігача на землі",InsolationAndClimate:"Інсоляція та клімат",SolarRadiationToBox:"Сонячна радіація в коробку"},buildingScienceSubMenu:"Наука про будівлі",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Теплозахисна оболонка проти будівельної оболонки",EffectOfSizeOnBuildingEnergy:"Вплив розміру на енергію будівлі",EffectOfOrientationOnBuildingEnergy:"Вплив орієнтації на енергію будівлі",EffectOfInsulationOnBuildingEnergy:"Вплив інсоляції на енергію будівлі",EffectOfRoofColorOnBuildingEnergy:"Вплив кольору даху на енергію будівлі",EffectOfEavesOverhangLengthOnBuildingEnergy:"Вплив довжини виступу карнизу на енергію будівлі",EffectOfWindowSHGCOnBuildingEnergy:"Вплив коефіцієнта сонячного теплозиску вікна на енергію будівлі",EffectOfThermostatSetpointOnBuildingEnergy:"Вплив заданої температури на термостаті на енергію будівлі",EffectOfSolarPanelsOnBuildingEnergy:"Вплив сонячних панелей на енергію будівлі",EffectOfGroundTemperatureOnBuildingEnergy:"Вплив температури грунту на енергію будівлі",EffectOfTreesOnBuildingEnergy:"Вплив дерев на енергію будівлі"},buildingDesignSubMenu:"Дизайн будівлі",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:'Будинок у стилі Кейп Код з пристроєм типу "шед-дормер"',MansardRoofWithDormers:"Мансарда з горизонтальними пристроями",GableRoofVsHipRoof:"Схиловий дах проти двосхилих дахів",ColonialVsSaltbox:"Колоніальний стиль проти стилю Saltbox",GambrelRoofVsMansardRoof:"Півшаровий дах проти мансардного даху",CombinationRoofVsBonnetRoof:"Комбінований дах проти капотного даху",DutchGableRoof:"Голландський дах з рикетом",GableAndValleyRoof:"Схиловий та долинний дах",ClerestoryRoof:"Клересторний дах",MonitorRoof:"Моніторний дах",AFrameHouse:'Будинок у формі літери "А"',HalfTimberedHouse:"Будинок з напівдерев'яними стінами",AllBasicRoofTypes:"Усі основні типи дахів"},photovoltaicSolarPowerSubMenu:"Фотоелектрична сонячна енергія",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Вплив кута нахилу сонячної панелі",EffectOfAzimuthOfSolarPanel:"Вплив азимуту сонячної панелі",SolarPanelTypes:"Типи сонячних панелей",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Сонячні трекери",CoveringGroundWithSolarPanels:"Чому просто покриття землі сонячними панелями - не найкраща ідея",InterRowSpacingOfSolarPanelArray:"Вплив міжрядного простору в масиві сонячних панелей",EffectOfOrientationOfSolarPanels:"Вплив орієнтації сонячних панелей",SolarPanelArrayAutomaticLayout:"Автоматичне розміщення масиву сонячних панелей"},concentratedSolarPowerSubMenu:"Концентрована сонячна енергія",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Вплив азимуту параболічного сонячного колектора",EffectOfLatusRectumOfParabolicTrough:"Вплив прямої лінії на параболічний сонячний колектор",FocusSunlightWithParabolicDish:"Фокусування сонячного світла за допомогою параболічного диску",LinearFresnelReflectors:"Лінійні відбивачі Френеля",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Вплив висоти поглинаючої трубки на лінійні відбивачі Френеля",EffectOfAzimuthOfLinearFresnelReflectors:"Вплив азимуту на лінійні відбивачі Френеля",LinearFresnelReflectorsWithTwoAbsorbers:"Лінійні відбивачі Френеля з двома поглинаючими елементами",CosineEfficiencyOfHeliostats:"Косинусна ефективність геліостатів",ShadowingAndBlockingOfHeliostats:"Затінення та блокування геліостатів",EffectSolarPowerTowerHeight:"Вплив висоти сонячної вежі з використаним повітрям",SolarPowerTower:"Сонячна вежа з використаним повітрям"},otherTypesOfSolarPowerSubMenu:"Інші типи сонячної енергії",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Сонячна вежа з використаним повітрям"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Приклади",solarEnergySubMenu:"Сонячна енергія",solarEnergyExamples:{SunBeamAndHeliodon:"Промінь сонця та геліодон",RooftopSolarPanels:"Сонячні панелі на даху",NevadaSolarOneParabolicTroughArray:"Масив параболічних сонячних колекторів Nevada Solar One",TooeleParabolicDishArray:"Масив параболічних тарілок Tooele",PS10SolarPowerTower:"Сонячна енергетична вежа PS10",TucsonLinearFresnelReflectors:"Лінійні відбивачі Френеля в Tucson",SolarCanopyFormFactors:"Форми сонячних козирків",SolarCanopyOverBleachers:"Сонячний козирок над трибунами",SolarCanopyOverGarage:"Сонячний козирок над гаражем",SolarBusStop:"Сонячна автобусна зупинка",SolarFacadeTesla:"Сонячна фасадна панель Tesla",BuildingIntegratedPhotovoltaics:"Вбудовані фотоелектричні системи в будівлі",Floatovoltaics:"Сонячні панелі на плавучих платформах",Agrivoltaics:"Агровольтаїка",VegetativeBuffer:"Вегетативна зона",RainbowSwashSolarFarmBostonMA:"Сонячна ферма Rainbow Swash в Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Сонячна ферма Міккі Мауса в Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Сонячні панелі над каналом в Bakersfield, CA",SolarNoiseBarrierLexingtonMA:"Сонячний шумовий бар'єр в Lexington, MA",HSATSolarTrackersRaleighNC:"Сонячні трекери з горизонтальною віссю в Raleign, NC",AADATSolarTrackersLancasterCA:"Сонячні трекери з азимутальною-вертикальною віссю в Lancaster, CA",SolarUpdraftTowerInCity:"Сонячна вежа з використаним повітрям у місті"},builtEnvironmentSubMenu:"Забудоване середовище",residentialBuildingsSubMenu:"Житлові будівлі",residentialBuildingExamples:{ColonialHouse:"Колоніальний будинок",DutchColonialHouse:"Голландський колоніальний будинок",TShapedHouse:"Будинок у формі літери Т",CapeCodHouseWithGarage:"Будинок у стилі Cape Cod з гаражем",Solarium:"Солярій",Church1:"Церква 1",Cathedral1:"Собор 1",Cathedral2:"Собор 2",Mosque1:"Мечеть 1",AdobeTaosHouse:"Будинок з адобе в стилі Taos",RanchHouse:"Ranch House",BonnetHouse:"Будинок в стилі Bonnet",BarnStyleHouse:"Будинок у стилі амбара",ModernHouse:"Сучасний будинок",ButterflyRoofHouse:"Будинок з метеликовим дахом"},commercialBuildingsSubMenu:"Комерційні будівлі",commercialBuildingExamples:{WhiteHouse:"Білий Дім",BilimMersinTurkiye:"Bilim, Mersin, Туреччина",SpanishStyleHotel:"Готель в іспанському стилі",ApartmentBuilding:"Багатоквартирний будинок",OfficeBuilding:"Офісна будівля",Hotel:"Готель"},buildingComplexesSubMenu:"Будівельні комплекси",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"South Burlington High School, Vermont",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, New Mexico"},urbanPlanningSubMenu:"Міське планування",urbanPlanningExamples:{Heatmap1:"Теплова карта"},otherBuildingsSubMenu:"Інші будівлі",otherBuildingExamples:{Greenhouse:"Теплиця",Pavilion:"Павільйон у парку",OctagonalPagoda:"Восьмикутна пагода",OceanFront:"Будівля біля океану",EgyptianPyramids:"Єгипетські піраміди",MayanPyramid:"Піраміда Мая",SiOSePol:"Si-O-Se-Pol",StackedCuboids:"Стековані кубоїди"},artificialIntelligenceSubMenu:"Штучний інтелект",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Оптимізація кута нахилу одного ряду сонячних панелей",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Оптимізація кутів нахилу декількох рядів сонячних панелей",SolarFarmGenerativeDesign:"Генеративний дизайн сонячної ферми",SolarFarmGenerativeDesignWithBlock:"Генеративний дизайн сонячної ферми в присутності перешкоди",FitchburgSolarFarmGenerativeDesign:"Генеративний дизайн сонячної ферми у Fitchburg"},languageSubMenu:"Мова",publicSubMenu:"Загальнодоступно",ModelsGallery:"Галерея моделей",ModelsMap:"Карта моделей",AboutUs:"Про нас"},avatarMenu:{AccountSettings:"Налаштування облікового запису",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"Коли ви увійдете, ваш Google ID використовується для створення та доступу до вашого облікового запису Aladdin. В нашій базі даних зберігається лише випадковий алфавітно-цифровий рядок як посилання. Ми ніколи не збираємо особисто ідентифіковану інформацію, таку як ваше ім'я або електронна пошта. Для отримання додаткової інформації ознайомтесь з нашою ",SignIn:"Увійти",SignOut:"Вийти",IfYouAreAStudent:"Якщо ви студент"},skyMenu:{Axes:"Вісі",Theme:"Тематика",ThemeDefault:"За замовчуванням",ThemeDesert:"Пустеля",ThemeDune:"Дюна",ThemeForest:"Ліс",ThemeGrassland:"Степ",ThemeHill:"Пагорб",ThemeLake:"Озеро",ThemeMountain:"Гора",ThemeRural:"Сільська місцевість",SunlightAttenuationCoefficientInAir:"Коефіцієнт затухання сонячного світла у повітрі",ConvectiveCoefficientOfAir:"Коефіцієнт конвекції повітря",HighestTemperatureTimeInMinutes:"Час найвищої температури (хвилини)",SelectSunAnglesToShow:"Виберіть кути сонця, які показати",ShowAzimuthAngle:"Показати азимутний кут",ShowElevationAngle:"Показати висотний кут",ShowZenithAngle:"Показати зенітний кут",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Рослинність",LeafOutDay:"День розпускання листя",LeafOffDay:"День опадання листя",Albedo:"Альбедо",ImageOnGround:"Зображення на поверхні",WaterSurface:"Поверхня води",RemoveAllUnlockedTrees:"Видалити всі розблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі розблоковані квіти",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Видалити всіх розблокованих людей",RemoveAllUnlockedFoundations:"Видалити всі розблоковані фундаменти",RemoveAllUnlockedCuboids:"Видалити всі розблоковані кубоїди",DoYouReallyWantToRemoveAllPeople:"Ви дійсно хочете видалити всіх людей, що не заблоковані",DoYouReallyWantToRemoveAllTrees:"Ви дійсно хочете видалити всі дерева, що не заблоковані",DoYouReallyWantToRemoveAllFlowers:"Ви дійсно хочете видалити всі квіти, що не заблоковані",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Ви дійсно хочете видалити всі фундаменти, що не заблоковані",DoYouReallyWantToRemoveAllCuboids:"Ви дійсно хочете видалити всі кубоїди, що не заблоковані",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Мітка",LabelText:"Текст мітки",LabelHeight:"Висота мітки",LabelSize:"Розмір мітки",LabelFontSize:"Розмір шрифту",LabelColor:"Колір мітки",KeepShowingLabel:"Залишати видимою мітку"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Видалити всі незаблоковані сонячні панелі",RemoveAllUnlockedParabolicTroughs:"Видалити всі незаблоковані параболічні сонячні колектори",RemoveAllUnlockedParabolicDishes:"Видалити всі незаблоковані параболічні антени",RemoveAllUnlockedFresnelReflectors:"Видалити всі незаблоковані відбивачі Френеля",RemoveAllUnlockedHeliostats:"Видалити всі незаблоковані геліостати",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Видалити всі незаблоковані датчики",RemoveAllUnlockedLights:"Видалити всі незаблоковані освітлювальні прилади",RemoveAllUnlockedWalls:"Видалити всі незаблоковані стіни",RemoveAllUnlockedWindows:"Видалити всі незаблоковані вікна",RemoveAllUnlockedDoors:"Видалити всі незаблоковані двері",RemoveAllUnlockedPolygons:"Видалити всі незаблоковані полігони",RemoveAllUnlockedHumans:"Видалити всіх незаблокованих людей",RemoveAllUnlockedTrees:"Видалити всі незаблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі незаблоковані квіти",Racks:"Стелажі",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",SolarPanels:"Сонячні панелі",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому фундаменті, які не є заблокованими",ParabolicTroughs:"Параболічні сонячні колектори",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"Ви дійсно бажаєте видалити всі параболічні сонячні колектори на цьому фундаменті, які не є заблокованими",ParabolicDishes:"Параболічні антени",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"Ви дійсно бажаєте видалити всі параболічні антени на цьому фундаменті, які не є заблокованими",FresnelReflectors:"Відбивачі Френеля",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"Ви дійсно бажаєте видалити всі відбивачі Френеля на цьому фундаменті, які не є заблокованими",Heliostats:"Геліостати",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"Ви дійсно бажаєте видалити всі геліостати на цьому фундаменті, які не є заблокованими",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Датчики",DoYouReallyWantToRemoveAllSensorsOnFoundation:"Ви дійсно бажаєте видалити всі датчики на цьому фундаменті, які не є заблокованими",Lights:"Світильники",DoYouReallyWantToRemoveAllLightsOnFoundation:"Ви дійсно бажаєте видалити всі світильники на цьому фундаменті, які не є заблокованими",Walls:"Стіни",DoYouReallyWantToRemoveAllWallsOnFoundation:"Ви дійсно бажаєте видалити всі стіни на цьому фундаменті, які не є заблокованими",Windows:"Вікна",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Ви дійсно бажаєте видалити всі вікна на цьому фундаменті, які не є заблокованими",Doors:"Двері",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Ви дійсно бажаєте видалити всі двері на цьому фундаменті, які не є заблокованими",Polygons:"Багатокутники",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"Ви дійсно бажаєте видалити всі багатокутники на цьому фундаменті, які не є заблокованими",Humans:"Люди",DoYouReallyWantToRemoveAllHumansOnFoundation:"Ви дійсно бажаєте видалити всіх людей на цьому фундаменті, які не є заблокованими",Trees:"Дерева",DoYouReallyWantToRemoveAllTreesOnFoundation:"Ви дійсно бажаєте видалити всі дерева на цьому фундаменті, які не є заблокованими",Flowers:"Квіти",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Ви дійсно бажаєте видалити всі квіти на цьому фундаменті, які не є заблокованими",OnlyThisFoundation:"Тільки цей фундамент",AllConnectedFoundations:"Всі пов’язані фундаменти",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Всі фундаменти",AddPolygon:"Додати багатокутник",SolarStructure:"Вибрати сонячну структуру",GroupMaster:"Груповий майстер",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Теплопровідність перекриття цокольного поверху",OnlyThisGroundFloor:"Тільки цокольний поверх",AllGroundFloors:"Всі цокольні поверхи"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Вежа приймача для геліостатів",ReceiverTowerPhysicalProperties:"Фізичні властивості вежі приймача",ReceiverTowerHeight:"Висота вежі приймача",ReceiverTowerRadius:"Радіус вежі приймача",ReceiverAbsorptance:"Поглинання приймача",ReceiverOpticalEfficiency:"Оптична ефективність приймача",ReceiverThermalEfficiency:"Теплова ефективність приймача"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Трубопровід для відбивачів Френеля",AbsorberPipePhysicalProperties:"Фізичні властивості трубопроводу поглинання",AbsorberHeight:"Висота трубопроводу поглинання",AbsorberApertureWidth:"Ширина отвору трубопроводу поглинання",AbsorberPipePoleNumber:"Кількість полюсів для трубопроводу поглинання",AbsorberAbsorptance:"Сила поглинання",AbsorberOpticalEfficiency:"Оптична ефективність поглинача",AbsorberThermalEfficiency:"Теплова ефективність поглинача"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Сонячна вежа з тяговим потоком",SolarUpdraftTowerPhysicalProperties:"Фізичні властивості сонячної вежі з тяговим потоком",SolarUpdraftTowerChimneyHeight:"Висота димової труби сонячної вежі з тяговим потоком",SolarUpdraftTowerChimneyRadius:"Радіус димової труби сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorHeight:"Висота колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorRadius:"Радіус колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorTransmissivity:"Проникність колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorEmissivity:"Випромінюваність колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerDischargeCoefficient:"Коефіцієнт викиду сонячної вежі з тяговим потоком",SolarUpdraftTowerTurbineEfficiency:"Ефективність турбіни сонячної вежі з тяговим потоком"},cuboidMenu:{Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",RemoveAllUnlockedSensors:"Видалити всі розблоковані сенсори",RemoveAllUnlockedPolygons:"Видалити всі розблоковані полігони",RemoveAllUnlockedHumans:"Видалити всіх розблокованих людей",RemoveAllUnlockedTrees:"Видалити всі розблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі розблоковані квіти",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Стійки",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому кубоїді, які не заблоковані",Sensors:"Сенсори",DoYouReallyWantToRemoveAllSensorsOnCuboid:"Ви дійсно бажаєте видалити всі сенсори на цьому кубоїді, які не заблоковані",Polygons:"Полігони",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"Ви дійсно бажаєте видалити всі полігони на цьому кубоїді, які не заблоковані",Humans:"Люди",DoYouReallyWantToRemoveAllHumansOnCuboid:"Ви дійсно бажаєте видалити всіх людей на цьому кубоїді, які не заблоковані",Trees:"Дерева",DoYouReallyWantToRemoveAllTreesOnCuboid:"Ви дійсно бажаєте видалити всі дерева на цьому кубоїді, які не заблоковані",Flowers:"Квіти",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Ви дійсно бажаєте видалити всі квіти на цьому кубоїді, які не заблоковані",OnlyThisCuboid:"Тільки цей кубоїд",AllCuboidsOnSameSurface:"Усі кубоїди на одній поверхні",AllCuboidsAboveSameBase:"Усі кубоїди над тією ж основою",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Всі кубоїди",OnlyThisSide:"Тільки ця сторона",AllSidesOfThisCuboid:"Всі сторони цього кубоїда",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Всі сторони всіх кубоїдів",AddPolygon:"Додати полігон",Stackable:"Стекабельне",GroupMaster:"Майстер групи"},polygonMenu:{Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",TextBox:"Текстове поле",FontOutlineColor:"Колір контуру шрифту",FontOutlineWidth:"Товщина контуру шрифту",FontStrokeColor:"Колір обводки шрифту",FontStrokeWidth:"Товщина обводки шрифту",NoOutline:"Без контуру",Shiny:"Блискучий",Filled:"Заповнений",FillTexture:"Текстура заповнення",FillColor:"Колір заповнення",Opacity:"Прозорість",LineColor:"Колір лінії",LineWidth:"Товщина лінії",LineStyle:"Стиль лінії",SolidLine:"Суцільна лінія",DashedLine:"Пунктирна лінія",DottedLine:"Точкова лінія",InsertVertexBeforeIndex:"Вставити вершину перед індексом",InsertVertexAfterIndex:"Вставити вершину після індексу",DeleteVertex:"Видалити вершину",OnlyThisPolygon:"Тільки цей полігон",AllPolygonsOnSurface:"Всі полігони на цій поверхні",AllPolygonsAboveFoundation:"Всі полігони вище фундаменту",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Всі полігони",Layout:"Розташування",SolarPanelArrayLayout:"Розташування сонячних панелей",SolarPanelArrayLayoutParametricDesign:"Розташування сонячних панелей: параметричний дизайн",SolarPanelArrayLayoutGenerativeDesign:"Розташування сонячних панелей: генеративний дизайн",SolarPanelArrayModel:"Модель сонячної панелі",SolarPanelArrayOrientation:"Орієнтація",SolarPanelArrayTiltAngle:"Кут нахилу",SolarPanelArrayRowWidth:"Ширина ряду",SolarPanelArrayInterRowSpacing:"Міжрядковий інтервал",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Вісь ряду",SolarPanelArrayLeftRightRowAxis:"Наліво-Направо (відносне)",SolarPanelArrayUpDownRowAxis:"Вгору-Вниз (відносне)",SolarPanelArrayEastWestRowAxis:"Схід-Захід (абсолютне)",SolarPanelArrayNorthSouthRowAxis:"Північ-Південь (абсолютне)",SolarPanelArrayMargin:"Відступ",SolarPanelArrayPoleHeight:"Висота стовпа",SolarPanelArrayPoleSpacing:"Інтервал між стовпами",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"Це розташування не приймається. Будь ласка, перевірте ваші параметри."},optimizationMenu:{Optimization:"Оптимізація",Parameters:"Параметри",Variables:"Змінні",Constants:"Константи",GeneticAlgorithm:"Генетичний алгоритм",GeneticAlgorithmSettings:"Налаштування генетичного алгоритму",ParticleSwarmOptimization:"Оптимізація роєм частинок",ParticleSwarmOptimizationSettings:"Налаштування оптимізації роєм частинок",SolarPanelTiltAngleOptimization:"Оптимізація кута нахилу сонячних панелей",SolarPanelArrayLayout:"Розташування сонячних панелей",Generation:"Покоління",Gene:"Ген",NormalizedVariables:"Нормалізовані змінні",Objective:"Ціль",ObjectiveFunctionDailyTotalYield:"Щоденний загальний дохід",ObjectiveFunctionYearlyTotalYield:"Щорічний загальний дохід",ObjectiveFunctionDailyMeanYield:"Щоденний середній дохід",ObjectiveFunctionYearlyMeanYield:"Щорічний середній дохід",ObjectiveFunctionDailyProfit:"Щоденний прибуток",ObjectiveFunctionYearlyProfit:"Щорічний прибуток",GeneticAlgorithmSelectionMethod:"Метод вибору для генетичного алгоритму",RouletteWheel:"Велосипедне колесо",Tournament:"Турнір",SearchMethod:"Метод пошуку",GlobalSearchUniformSelection:"Глобальний пошук з однорідним вибором",LocalSearchRandomOptimization:"Локальний пошук випадкової оптимізації",PopulationSize:"Розмір населення",MaximumGenerations:"Максимальна кількість поколінь",SelectionRate:"Швидкість відбору",CrossoverRate:"Швидкість схрещування",MutationRate:"Швидкість мутації",Step:"Крок",SwarmSize:"Розмір рою",MaximumSteps:"Максимальна кількість кроків",MaximumVelocity:"Максимальна швидкість",InertiaWeight:"Вага інерції",CognitiveCoefficient:"Коефіцієнт когнітивної функції",SocialCoefficient:"Коефіцієнт соціальної взаємодії",ConvergenceThreshold:"Поріг збіжності для завершення",LocalSearchRadius:"Радіус локального пошуку",RowsPerRackRange:"Діапазон для рядів на стелаж",TiltAngleRange:"Діапазон для кута нахилу",InterRowSpacingRange:"Діапазон для міжрядкового проміжку",ClickTargetPolygonToActivate:"Натисніть на цільовий полігон для активації",ClickTargetFoundationToActivate:"Натисніть на цільовий фундамент для активації"},treeMenu:{ShowModel:"Показати модель",Flip:"Перевернути",Type:"Тип",Spread:"Розповсюдження"},flowerMenu:{Flip:"Перевернути",Type:"Тип",Spread:"Розповсюдження"},peopleMenu:{ChangePerson:"Змінити особу",Flip:"Перевернути",Observer:"Спостерігач",ViewFromThisPerson:"Переглянути з цієї особи"},lightMenu:{Color:"Колір",Intensity:"Інтенсивність",Decay:"Затухання",MaximumDistance:"Максимальна відстань",Inside:"Усередині"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Відносний азимут",Pole:"Стовп",PoleHeight:"Висота стовпа",PoleRadius:"Pole Radius",ExtraPoleHeight:"Додаткова висота стовпа",ExtraPoleHeightInAdditionToHalfWidth:"Додаткова висота стовпа на додаток до половини ширини",DrawSunBeam:"Намалювати промінь сонця"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Відбивання відбивача",ReceiverAbsorptance:"Поглинання приймача",ReflectorOpticalEfficiency:"Оптична ефективність відбивача",ReceiverThermalEfficiency:"Теплова ефективність приймача"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"Змінити модель",Orientation:"Орієнтація",Portrait:"Вертикальна",Landscape:"Горизонтальна",FrameColor:"Колір рамки",Panels:"панелі",PanelsWide:"панелі по ширині",PanelsLong:"панелі по довжині",TiltAngle:"Кут нахилу",SouthFacingIsPositive:"Південь вважається позитивним",Tracker:"Трекер",SolarTrackerFollowsSun:"Трекер слідкує за сонцем для збільшення виходу сонячних панелей.",PoleSpacing:"Відстань між стовпами",NoTracker:"Без трекера",HorizontalSingleAxisTracker:"Трекер з горизонтальною одноосевою орієнтацією",VerticalSingleAxisTracker:"Трекер з вертикальною одноосевою орієнтацією",AltazimuthDualAxisTracker:"Трекер з азимутально-альтазимутальною двоосевою орієнтацією",OnlyThisSolarPanel:"Тільки ця сонячна панель",AllSolarPanelsOnSurface:"Всі сонячні панелі на одній поверхні",AllSolarPanelsAboveFoundation:"Всі сонячні панелі над однією фундаментом",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Всі сонячні панелі"},pvModelPanel:{SolarPanelSpecs:"Технічні характеристики сонячної панелі",Model:"Модель",PanelSize:"Розмір панелі",Cells:"Комірки",CellType:"Тип комірок",Monocrystalline:"Монокристалічні",Polycrystalline:"Полікристалічні",ThinFilm:"Тонкоплівкові",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Чорний",Blue:"Синій",ShadeTolerance:"Стійкість до затінення",SolarCellEfficiency:"Ефективність сонячної комірки",NominalOperatingCellTemperature:"Номінальна робоча температура комірки",TemperatureCoefficientOfPmax:"Температурний коефіцієнт Pmax"},parabolicTroughMenu:{ModuleLength:"Довжина модуля",Modules:"модулі",ModulesLong:"модулів у довжину",LatusRectum:"Велика піввісь",OnlyThisParabolicTrough:"Тільки цей параболічний сонячний колектор",AllParabolicTroughsAboveFoundation:"Усі параболічні сонячні колектори над цим фундаментом",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"Усі параболічні сонячні колектори"},fresnelReflectorMenu:{AbsorberPipe:"Труба поглинання",SelectAbsorberToReflectSunlightTo:"Виберіть поглинач, до якого буде відбиватися сонячне світло",ModuleLength:"Довжина модуля",Modules:"модулі",ModulesLong:"модулів у довжину",OnlyThisFresnelReflector:"Тільки цей відбивач Френеля",AllFresnelReflectorsAboveFoundation:"Усі відбивачі Френеля над цим фундаментом",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"Усі відбивачі Френеля"},heliostatMenu:{Tower:"Вежа",SelectTowerToReflectSunlightTo:"Виберіть вежу, до якої буде відбиватися сонячне світло",OnlyThisHeliostat:"Тільки цей геліостат",AllHeliostatsAboveFoundation:"Усі геліостати над цим фундаментом",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"Усі геліостати"},parabolicDishMenu:{ReceiverStructure:"Структура приймача",CentralPole:"Центральний стовп",CentralPoleWithTripod:"Центральний стовп з триногою",Quadrupod:"Чотиринога",RimDiameter:"Діаметр ободу",LatusRectum:"Велика піввісь",ExtraPoleHeightInAdditionToRadius:"Додаткова висота стовпа плюс радіус",OnlyThisParabolicDish:"Тільки ця параболічна тарілка",AllParabolicDishesAboveFoundation:"Усі параболічні тарілки над цим фундаментом",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"Усі параболічні тарілки"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Типова текстура",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",SizeOfWall:"Розмір стіни",OnlyThisWall:"Тільки ця стіна",AllConnectedWalls:"Всі пов'язані стіни",AllWallsAboveFoundation:"Всі стіни над цим фундаментом",AllSelectedWalls:"All Selected Walls",AllWalls:"Всі стіни",Windows:"Вікна",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Видалити всі розблоковані вікна",DoYouReallyWantToRemoveAllWindowsOnThisWall:"Ви дійсно бажаєте видалити всі вікна на цій стіні",Doors:"Двері",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Видалити всі розблоковані двері",DoYouReallyWantToRemoveAllDoorsOnThisWall:"Ви дійсно бажаєте видалити всі двері на цій стіні",SolarPanels:"Сонячні панелі",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"Ви дійсно бажаєте видалити всі сонячні панелі на цій стіні",Sensors:"Датчики",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Видалити всі розблоковані датчики",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Ви дійсно бажаєте видалити всі датчики на цій стіні",Lights:"Лампи",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Видалити всі розблоковані лампи",DoYouReallyWantToRemoveAllLightsOnThisWall:"Ви дійсно бажаєте видалити всі лампи на цій стіні",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Видалити всі розблоковані полігони",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Структура стіни",DefaultStructure:"Типова",StudStructure:"Студ",PillarStructure:"Пілар",Opacity:"Непрозорість",StructureSpacing:"Відстань між структурами",StructureWidth:"Ширина структури",StructureThickness:"Товщина структури",StructureColor:"Колір структури",Color:"Колір стіни",Height:"Висота",Thickness:"Товщина",Texture:"Текстура",AllLightsOnWallInside:"Всі лампи всередині стіни",AllLightsOnWallOutside:"Всі лампи ззовні стіни",Fill:"Заповнення",Full:"Повне",Partial:"Часткове",Empty:"Порожнє",OpenToOutside:"Відкрите на зовнішню сторону",EavesLength:"Довжина карнизу",Parapet:"Перила",ParapetColor:"Колір перил",ParapetTexture:"Текстура перил",ParapetHeight:"Висота перил",CopingsHeight:"Висота паркану",CopingsWidth:"Ширина паркану"},windowMenu:{OnlyThisWindow:"Тільки це вікно",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"Всі вікна над однією фундаментом",AllSelectedWindows:"All Selected Windows",AllWindows:"Всі вікна",Width:"Ширина",Height:"Висота",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Розділовий стовпець",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Ширина розділового стовпця",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Колір розділового стовпця",Tint:"Відтінок",Opacity:"Непрозорість",SolarHeatGainCoefficient:"Коефіцієнт сонячного теплового навантаження (SHGC) = 1 - непрозорість",Shutter:"Жалюзі",LeftShutter:"Ліве жалюзі",RightShutter:"Праве жалюзі",BothShutters:"Обидві жалюзі",ShutterWidth:"Відносна ширина",ShutterColor:"Колір жалюзі",Frame:"Рамка",FrameWidth:"Ширина рамки",SillWidth:"Ширина підвіконня",Color:"Колір рамки",WindowType:"Тип вікна",Default:"Типове",Arched:"Аркове",Polygonal:"Багатокутне",Interior:"Інтер'єр",Empty:"Порожнє"},roofMenu:{TextureDefault:"Типове",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",OnlyThisRoof:"Тільки цей дах",AllRoofsAboveFoundation:"Всі дахи над одним фундаментом",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"Всі дахи",OnlyThisCeiling:"Тільки ця стеля",AllCeilingsAboveFoundation:"Всі стелі над одним фундаментом",AllCeilings:"Всі стелі",EavesOverhangLength:"Довжина виступу карнизу",RafterSpacing:"Відстань між стропилами",RafterWidth:"Ширина стропила",RafterThickness:"Товщина стропила",RafterColor:"Колір стропила",RoofColor:"Колір даху",RoofSideColor:"Колір бокової частини даху",GlassTint:"Колір скла",Opacity:"Непрозорість",RoofStructure:"Структура даху",DefaultStructure:"Типова",RafterStructure:"Стропило",GlassStructure:"Скло",SolarPanels:"Сонячні панелі",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому даху",Windows:"Вікна",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Видалити всі розблоковані вікна",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Ви дійсно бажаєте видалити всі вікна на цьому даху",Sensors:"Сенсори",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Видалити всі розблоковані сенсори",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Ви дійсно бажаєте видалити всі сенсори на цьому даху",Lights:"Лампи",RemoveAllUnlockedLights:"Видалити всі розблоковані лампи",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Ви дійсно бажаєте видалити всі лампи на цьому даху",AllLightsOnRoofInside:"Всі лампи на даху всередині",AllLightsOnRoofOutside:"Всі лампи на даху ззовні",Rise:"Піднімання",Ceiling:"Стеля",RoofRValue:"Значення R для даху",CeilingRValue:"Значення R для стелі"},doorMenu:{TextureDefault:"За замовчуванням",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",Texture11:"Текстура 11",Texture12:"Текстура 12",Texture13:"Текстура 13",Texture14:"Текстура 14",Texture15:"Текстура 15",Texture16:"Текстура 16",Texture17:"Текстура 17",OnlyThisDoor:"Тільки ці двері",AllDoorsOnWall:"Всі двері на цій стіні",AllDoorsAboveFoundation:"Всі двері над тим самим фундаментом",AllSelectedDoors:"All Selected Doors",AllDoors:"Всі двері",DoorType:"Тип дверей",Default:"За замовчуванням",Arched:"Аркові",Filled:"Заповнені",FrameColor:"Колір рамки",Interior:"Інтер'єр"},siteInfoPanel:{High:"Високо",Low:"Низько"},designInfoPanel:{NumberOfSelectedHeliostats:"Кількість вибраних геліостатів",NumberOfSelectedSolarPanels:"Кількість вибраних сонячних панелей",ElectricityGeneratedDailyBySolarPanels:"Електрика, що генерується щоденно цими сонячними панелями",SceneDiameter:"Діаметр сцени",BuildingArea:"Площа будівлі"},visualizationControlPanel:{ColorContrast:"Контраст кольору",FluxScale:"Шкала потоку",ClickUpOrDownArrowButtonsToChange:"Натисніть кнопки зі стрілками вгору або вниз щоб змінити"},instructionPanel:{Rotate:"Повернути",DragMouse:"Перетягніть мишею",Zoom:"Масштабування",MouseWheelOrKeys:"Обертайте колесо миші або натисніть Ctrl+[ або Ctrl+]",MouseWheelOrKeysMac:"Обертайте колесо миші або натисніть ⌘+[ або ⌘+]",Pan:"Переміщення",HoldCtrlDragMouse:"Натисніть і утримуйте Ctrl, перетягніть мишею",HoldMetaDragMouse:"Натисніть і утримуйте ⌘, перетягніть мишею",Enter2DMode:"Ввійти в 2D режим",Exit2DMode:"Вийти з 2D режиму",NavigationMode:"Режим навігації",EnableNavigation:"Увімкнути навігацію",DisableNavigation:"Вимкнути навігацію",MoveForwardBack:"Рухатися вперед/назад",MoveForwardBackInstruction:"Натисніть W/S",MoveLeftRight:"Рухатися вліво/вправо",MoveLeftRightInstruction:"Натисніть A/D",MoveUpDown:"Рухатися вгору/вниз",MoveUpDownInstruction:"Натисніть Z/X",Turn:"Повернути",TurnInstruction:"Натисніть клавіші зі стрілками",ResetView:"Скинути",AutoRotate:"Автоматичний поворот",StartOrStop:"Натисніть F4, щоб почати або зупинити"},mapPanel:{ImageOnGround:"Зображення на землі",HideAddress:"Hide Address",WeatherStations:"Метеостанції",WeatherStationsNote:"Вимкніть це, щоб прискорити",Coordinates:"Координати",Zoom:"Масштабування"},visibilityPanel:{SolarPanelVisibility:"Видимість сонячних панелей",Observer:"Спостерігач",VantagePoint:"Точка огляду",ItemizedVisibilityByFields:"Розгорнутий за полями",TotalVisibility:"Загальна видимість"},sensorPanel:{LightSensor:"Датчик освітленості",WeatherDataFrom:"Метеодані з"},buildingEnergyPanel:{DailyBuildingEnergy:"Щоденна енергія будівлі",YearlyBuildingEnergy:"Річна енергія будівлі",Heater:"Обігрівач",AC:"Кондиціонер",SolarPanel:"Сонячна панель",Net:"Всього"},solarPanelYieldPanel:{SolarPanelDailyYield:"Щоденний дохід сонячних панелей",SolarPanelYearlyYield:"Річний дохід сонячних панелей",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualSolarPanels:"Показати дохід окремих сонячних панелей",Profit:"Прибуток",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Щоденний дохід параболічних сонячних колекторів",ParabolicTroughYearlyYield:"Річний дохід параболічних сонячних колекторів",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualParabolicTroughs:"Показати дохід окремих параболічних сонячних колекторів"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Щоденний дохід параболічних тарілок",ParabolicDishYearlyYield:"Річний дохід параболічних тарілок",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualParabolicDishes:"Показати дохід окремих параболічних тарілок"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Щоденний дохід відбивача Френеля",FresnelReflectorYearlyYield:"Річний дохід відбивача Френеля",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualFresnelReflectors:"Показати дохід окремих відбивачів Френеля"},heliostatYieldPanel:{HeliostatDailyYield:"Щоденний дохід геліостату",HeliostatYearlyYield:"Річний дохід геліостату",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualHeliostats:"Показати дохід окремих геліостатів"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Щоденний дохід сонячної вежі",UpdraftTowerYearlyYield:"Річний дохід сонячної вежі",ChimneyAirTemperature:"Температура повітря у димовій трубі",ChimneyWindSpeed:"Швидкість вітру у димовій трубі",Yield:"дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualUpdraftTowers:"Показати дохід окремих сонячних веж"},heliodonPanel:{SunAndTimeSettings:"Налаштування Сонця та Часу",SunAngles:"Кути Сонця",TwentyFourHours:"24 Години"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Пошук за назвою",MyLikes:"Мої вподобання",MyCloudFiles:"Мої файли у хмарному середовищі",GenerateLink:"Створити посилання",LinkGeneratedInClipBoard:"Посилання було створено та скопійовано до буферу обміну",DoYouReallyWantToDelete:"Ви дійсно бажаєте видалити",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"Якщо цей файл було відкрито або опубліковано, зміна його назви порушить наявні посилання"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Пошук за назвою",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Тип проєкту",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Мої налаштування облікового запису",MyID:"Моє 🆔",ClickToCopyMyID:"Натисніть, щоб скопіювати моє ID",IDInClipBoard:"Ваш ID було скопійоване і готове для вставки.",StoreMyNameInMyFilesWhenSaving:"Зберігати моє ім'я в моїх файлах при збереженні",DoYouReallyWantToShowYourNameInYourFiles:"Ви дійсно бажаєте відображати ваше ім'я в файлах?",SignFileDisclaimer:"Якщо так, ваше ім'я зможе бачити будь-хто, хто матиме доступ до ваших файлів.",Likes:"Вподобання",AllPublished:"Усі опубліковані",PublishedUnderAliases:"Псевдоніми",UserCount:"Кількість користувачів",SchoolID:"ID Школи",ClassID:"ID Класу"},weatherPanel:{SunshineHours:"Сонячні години"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Виберіть модель повітряної температури",Sinusoidal:"Синусоїдальна"},economicsPanel:{EconomicsParameters:"Параметри економіки",ElectricitySellingPrice:"Ціна продажу електроенергії",OperationalCostPerUnit:"Операційні витрати за одиницю",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Ясність неба",ShowDaylightResults:"Показати результати денного освітлення",ShowSkyClearnessResults:"Показати результати ясності неба",ShowAverageDailySolarRadiation:"Показати середню щоденну сонячну радіацію"},analysisManager:{NoSensorForCollectingData:"Немає датчика для збору даних.",NoSolarPanelForAnalysis:"Немає сонячної панелі для аналізу.",NoObserverForVisibilityAnalysis:"Немає спостерігача для аналізу видимості.",NoWaterHeaterForAnalysis:"Немає водонагрівача для аналізу.",NoParabolicDishForAnalysis:"Немає параболічної тарілки для аналізу.",NoParabolicTroughForAnalysis:"Немає параболічного сонячного колектора для аналізу.",NoFresnelReflectorForAnalysis:"Немає відбивача Френеля для аналізу.",NoHeliostatForAnalysis:"Немає геліостата для аналізу.",NoSolarUpdraftTowerForAnalysis:"Немає сонячної вежі для аналізу.",NoBuildingForAnalysis:"Немає будівлі для аналізу."},toolbar:{CloudFile:"Хмарний файл",Select:"Вибрати",AddFoundation:"Додати фундамент",AddWall:"Додати стіну",AddWindow:"Додати вікно",AddDoor:"Додати двері",AddPyramidRoof:"Додати пірамідальний дах",AddGableRoof:"Додати шатровий дах",AddHipRoof:"Додати чотирихилий дах",AddGambrelRoof:"Додати двосхилий дах",AddMansardRoof:"Додати мансардний дах",AddCuboid:"Додати прямокутний паралелепіпед",AddSensor:"Додати датчик",AddSolarPanel:"Додати сонячну панель",AddWaterHeater:"Додати водонагрівач",AddParabolicDish:"Додати параболічну тарілку",AddParabolicTrough:"Додати параболічний сонячний колектор",AddFresnelReflector:"Додати відбивач Френеля",AddHeliostat:"Додати геліостат",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Додати світло",AddTree:"Додати дерево",AddFlower:"Додати квітку",AddPeople:"Додати людей",DoubleClickToLockThisModeForNextAction:"Подвійне клацання, щоб заблокувати цей режим для наступної дії",ClickToUnlockThisModeForNextAction:"Клацніть, щоб розблокувати цей режим для наступної дії",ManipulateGroup:"Маніпулювати групою",ClearScene:"Очистити сцену",ShowSunAndTimeSettings:"Показати налаштування Сонця та Часу",SpatialAnalysisOfEnergy:"Просторовий аналіз енергії",DoYouReallyWantToClearContent:"Ви дійсно бажаєте очистити вміст",ClickForMoreButtons:"Натисніть для додаткових кнопок"},tooltip:{gotoIFI:"Перейти до Інституту Інтелекту Майбутнього",visitAladdinHomePage:"Відвідати домашню сторінку Aladdin",clickToOpenMenu:"Натисність, щоб відкрити Головне Меню",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Яблуня",Birch:"Береза",Coconut:"Кокос",Dogwood:"Дерен",Elm:"В'яз",FanPalm:"Віяльна пальма",Linden:"Липа",Magnolia:"Магнолія",Maple:"Клен",Oak:"Дуб",Pine:"Сосна",Spruce:"Ялина"},flower:{Bellflower:"Дзвоник",Boxwood:"Самшит",CactusCombo1:"Кактус Комбо 1",CactusCombo2:"Кактус Комбо 2",CactusCombo3:"Кактус Комбо 3",CactusCombo4:"Кактус Комбо 4",Hibiscus:"Гібіскус",Hosta:"Госта",Hydrangea:"Гортензія",Peony:"Півонія",RedRose:"Червона троянда",Spirea:"Спірея",Sunflower:"Соняшник",TallBush:"Високий кущ",Tulip:"Тюльпан",WhiteFlower:"Біла квітка",YellowFlower:"Жовта квітка"},people:{Jaah:"Артем",Jack:"Віталій",Jacob:"Ярослав",Jacqueline:"Олена",Jade:"Ольга",Jamelia:"Олександра",James:"Андрій",Jane:"Вікторія",Jaya:"Ірина",Jaye:"Назар",Jeanette:"Соломія",Jedi:"Євген",Jeff:"Павло",Jena:"Любов",Jennifer:"Тетяна",Jess:"Злата",Jett:"Сергій",Jill:"Надія",Jiya:"Марина",Joan:"Іванна",Jocelyn:"Анастасія",Joel:"Володимир",Joey:"Вероніка",John:"Іван",Jonathon:"Петро",Jose:"Микита",Joseph:"Віктор",Joshua:"Михайло",Judd:"Владислав",Judy:"Марія",Julia:"Юлія",Julio:"Дмитро",Jumapili:"Марта",June:"Анна",Juro:"Юрій",Justin:"Богдан"},compass:{N:"Пн",S:"Пд",W:"Зx",E:"Сх"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Пошук за виробником",SearchByLabel:"Пошук за міткою",MyPublishedModels:"Мої опубліковані моделі",TotalNumberOfUserPublishedModels:"Загальна кількість моделей, опублікованих користувачами",SortFromOldestToNewest:"Сортувати від найдавніших до найновіших",SortFromNewestToOldest:"Сортувати від найновіших до найдавніших",ModelsFoundOnThisSite:"моделей знайдено на цьому сайті",ShowModelsPublishedByThisAuthor:"Показати моделі, опубліковані цим автором"}}};O.use(cLe).use(xft).init({debug:!0,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:Oft,zh_cn:_ft,zh_tw:Vft,es:Gft,tr:Xft,ua:Jft}});var Fpe={},uLe={exports:{}};(function(t){function e(n){return n&&n.__esModule?n:{default:n}}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports})(uLe);var Pd=uLe.exports,PK={};Object.defineProperty(PK,"__esModule",{value:!0});PK.default=void 0;var Kft={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};PK.default=Kft;var CK={},FL={},RK={};Object.defineProperty(RK,"__esModule",{value:!0});RK.default=void 0;var qft={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};RK.default=qft;var LL={};Object.defineProperty(LL,"__esModule",{value:!0});LL.default=void 0;const $ft={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};LL.default=$ft;var dLe=Pd.default;Object.defineProperty(FL,"__esModule",{value:!0});FL.default=void 0;var Qft=dLe(RK),Zft=dLe(LL);const eht={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},Qft.default),timePickerLocale:Object.assign({},Zft.default)};FL.default=eht;var tht=Pd.default;Object.defineProperty(CK,"__esModule",{value:!0});CK.default=void 0;var nht=tht(FL);CK.default=nht.default;var HK=Pd.default;Object.defineProperty(Fpe,"__esModule",{value:!0});var Lpe=Fpe.default=void 0,oht=HK(PK),iht=HK(CK),rht=HK(FL),aht=HK(LL);const R1="${label} is not a valid ${type}",lht={locale:"en",Pagination:oht.default,DatePicker:rht.default,TimePicker:aht.default,Calendar:iht.default,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:R1,method:R1,array:R1,object:R1,number:R1,date:R1,boolean:R1,integer:R1,float:R1,regexp:R1,email:R1,url:R1,hex:R1},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};Lpe=Fpe.default=lht;const sht="/aladdin/assets/weather-4azAMZ4u.csv",cht="/aladdin/assets/solar_radiation_horizontal-D4I5HnbU.csv",uht="/aladdin/assets/solar_radiation_vertical-ChWgQAyS.csv",dht="/aladdin/assets/pvmodules-BhZ8sEOG.csv";function Cm(t){for(var e=arguments.length,n=Array(e>1?e-1:0),o=1;o3?e.i-4:e.i:Array.isArray(t)?1:Wpe(t)?2:Npe(t)?3:0}function ase(t,e){return uH(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function fht(t,e){return uH(t)===2?t.get(e):t[e]}function fLe(t,e,n){var o=uH(t);o===2?t.set(e,n):o===3?t.add(n):t[e]=n}function hht(t,e){return t===e?t!==0||1/t==1/e:t!=t&&e!=e}function Wpe(t){return wht&&t instanceof Map}function Npe(t){return vht&&t instanceof Set}function fd(t){return t.o||t.t}function Upe(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=bht(t);delete e[ql];for(var n=Ope(e),o=0;o1&&(t.set=t.add=t.clear=t.delete=pht),Object.freeze(t),e&&OC(t,function(n,o){return Bpe(o,!0)},!0)),t}function pht(){Cm(2)}function jpe(t){return t==null||typeof t!="object"||Object.isFrozen(t)}function p9(t){var e=sse[t];return e||Cm(18,t),e}function ght(t,e){sse[t]||(sse[t]=e)}function EV(){return ck}function Jne(t,e){e&&(p9("Patches"),t.u=[],t.s=[],t.v=e)}function kV(t){lse(t),t.p.forEach(mht),t.p=null}function lse(t){t===ck&&(ck=t.l)}function HAe(t){return ck={p:[],l:ck,h:t,m:!0,_:0}}function mht(t){var e=t[ql];e.i===0||e.i===1?e.j():e.g=!0}function Kne(t,e){e._=e.p.length;var n=e.p[0],o=t!==void 0&&t!==n;return e.h.O||p9("ES5").S(e,t,o),o?(n[ql].P&&(kV(e),Cm(4)),B6(t)&&(t=FV(e,t),e.l||LV(e,t)),e.u&&p9("Patches").M(n[ql].t,t,e.u,e.s)):t=FV(e,n,[]),kV(e),e.u&&e.v(e.u,e.s),t!==hLe?t:void 0}function FV(t,e,n){if(jpe(e))return e;var o=e[ql];if(!o)return OC(e,function(l,s){return MAe(t,o,e,l,s,n)},!0),e;if(o.A!==t)return e;if(!o.P)return LV(t,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var i=o.i===4||o.i===5?o.o=Upe(o.k):o.o,r=i,a=!1;o.i===3&&(r=new Set(i),i.clear(),a=!0),OC(r,function(l,s){return MAe(t,o,i,l,s,n,a)}),LV(t,i,!1),n&&t.u&&p9("Patches").N(o,n,t.u,t.s)}return o.o}function MAe(t,e,n,o,i,r,a){if(YC(i)){var l=FV(t,i,r&&e&&e.i!==3&&!ase(e.R,o)?r.concat(o):void 0);if(fLe(n,o,l),!YC(l))return;t.m=!1}else a&&n.add(i);if(B6(i)&&!jpe(i)){if(!t.h.D&&t._<1)return;FV(t,i),e&&e.A.l||LV(t,i)}}function LV(t,e,n){n===void 0&&(n=!1),!t.l&&t.h.D&&t.m&&Bpe(e,n)}function qne(t,e){var n=t[ql];return(n?fd(n):t)[e]}function IAe(t,e){if(e in t)for(var n=Object.getPrototypeOf(t);n;){var o=Object.getOwnPropertyDescriptor(n,e);if(o)return o;n=Object.getPrototypeOf(n)}}function s6(t){t.P||(t.P=!0,t.l&&s6(t.l))}function $ne(t){t.o||(t.o=Upe(t.t))}function sk(t,e,n){var o=Wpe(e)?p9("MapSet").F(e,n):Npe(e)?p9("MapSet").T(e,n):t.O?function(i,r){var a=Array.isArray(i),l={i:a?1:0,A:r?r.A:EV(),P:!1,I:!1,R:{},l:r,t:i,k:null,o:null,j:null,C:!1},s=l,c=cse;a&&(s=[l],c=uD);var u=Proxy.revocable(s,c),d=u.revoke,f=u.proxy;return l.k=f,l.j=d,f}(e,n):p9("ES5").J(e,n);return(n?n.A:EV()).p.push(o),o}function yht(t){return YC(t)||Cm(22,t),function e(n){if(!B6(n))return n;var o,i=n[ql],r=uH(n);if(i){if(!i.P&&(i.i<4||!p9("ES5").K(i)))return i.t;i.I=!0,o=zAe(n,r),i.I=!1}else o=zAe(n,r);return OC(o,function(a,l){i&&fht(i.t,a)===l||fLe(o,a,e(l))}),r===3?new Set(o):o}(t)}function zAe(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return Upe(t)}function Aht(){function t(l,s){function c(){this.constructor=l}i(l,s),l.prototype=(c.prototype=s.prototype,new c)}function e(l){l.o||(l.R=new Map,l.o=new Map(l.t))}function n(l){l.o||(l.o=new Set,l.t.forEach(function(s){if(B6(s)){var c=sk(l.A.h,s,l);l.p.set(s,c),l.o.add(c)}else l.o.add(s)}))}function o(l){l.g&&Cm(3,JSON.stringify(fd(l)))}var i=function(l,s){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,u){c.__proto__=u}||function(c,u){for(var d in u)u.hasOwnProperty(d)&&(c[d]=u[d])})(l,s)},r=function(){function l(c,u){return this[ql]={i:2,l:u,A:u?u.A:EV(),P:!1,I:!1,o:void 0,R:void 0,t:c,k:this,C:!1,g:!1},this}t(l,Map);var s=l.prototype;return Object.defineProperty(s,"size",{get:function(){return fd(this[ql]).size}}),s.has=function(c){return fd(this[ql]).has(c)},s.set=function(c,u){var d=this[ql];return o(d),fd(d).has(c)&&fd(d).get(c)===u||(e(d),s6(d),d.R.set(c,!0),d.o.set(c,u),d.R.set(c,!0)),this},s.delete=function(c){if(!this.has(c))return!1;var u=this[ql];return o(u),e(u),s6(u),u.t.has(c)?u.R.set(c,!1):u.R.delete(c),u.o.delete(c),!0},s.clear=function(){var c=this[ql];o(c),fd(c).size&&(e(c),s6(c),c.R=new Map,OC(c.t,function(u){c.R.set(u,!1)}),c.o.clear())},s.forEach=function(c,u){var d=this;fd(this[ql]).forEach(function(f,p){c.call(u,d.get(p),p,d)})},s.get=function(c){var u=this[ql];o(u);var d=fd(u).get(c);if(u.I||!B6(d)||d!==u.t.get(c))return d;var f=sk(u.A.h,d,u);return e(u),u.o.set(c,f),f},s.keys=function(){return fd(this[ql]).keys()},s.values=function(){var c,u=this,d=this.keys();return(c={})[qB]=function(){return u.values()},c.next=function(){var f=d.next();return f.done?f:{done:!1,value:u.get(f.value)}},c},s.entries=function(){var c,u=this,d=this.keys();return(c={})[qB]=function(){return u.entries()},c.next=function(){var f=d.next();if(f.done)return f;var p=u.get(f.value);return{done:!1,value:[f.value,p]}},c},s[qB]=function(){return this.entries()},l}(),a=function(){function l(c,u){return this[ql]={i:3,l:u,A:u?u.A:EV(),P:!1,I:!1,o:void 0,t:c,k:this,p:new Map,g:!1,C:!1},this}t(l,Set);var s=l.prototype;return Object.defineProperty(s,"size",{get:function(){return fd(this[ql]).size}}),s.has=function(c){var u=this[ql];return o(u),u.o?!!u.o.has(c)||!(!u.p.has(c)||!u.o.has(u.p.get(c))):u.t.has(c)},s.add=function(c){var u=this[ql];return o(u),this.has(c)||(n(u),s6(u),u.o.add(c)),this},s.delete=function(c){if(!this.has(c))return!1;var u=this[ql];return o(u),n(u),s6(u),u.o.delete(c)||!!u.p.has(c)&&u.o.delete(u.p.get(c))},s.clear=function(){var c=this[ql];o(c),fd(c).size&&(n(c),s6(c),c.o.clear())},s.values=function(){var c=this[ql];return o(c),n(c),c.o.values()},s.entries=function(){var c=this[ql];return o(c),n(c),c.o.entries()},s.keys=function(){return this.values()},s[qB]=function(){return this.values()},s.forEach=function(c,u){for(var d=this.values(),f=d.next();!f.done;)c.call(u,f.value,f.value,this),f=d.next()},l}();ght("MapSet",{F:function(l,s){return new r(l,s)},T:function(l,s){return new a(l,s)}})}var DAe,ck,Ype=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",wht=typeof Map<"u",vht=typeof Set<"u",EAe=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",hLe=Ype?Symbol.for("immer-nothing"):((DAe={})["immer-nothing"]=!0,DAe),Om=Ype?Symbol.for("immer-draftable"):"__$immer_draftable",ql=Ype?Symbol.for("immer-state"):"__$immer_state",qB=typeof Symbol<"u"&&Symbol.iterator||"@@iterator",xht=""+Object.prototype.constructor,Ope=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,bht=Object.getOwnPropertyDescriptors||function(t){var e={};return Ope(t).forEach(function(n){e[n]=Object.getOwnPropertyDescriptor(t,n)}),e},sse={},cse={get:function(t,e){if(e===ql)return t;var n=fd(t);if(!ase(n,e))return function(i,r,a){var l,s=IAe(r,a);return s?"value"in s?s.value:(l=s.get)===null||l===void 0?void 0:l.call(i.k):void 0}(t,n,e);var o=n[e];return t.I||!B6(o)?o:o===qne(t.t,e)?($ne(t),t.o[e]=sk(t.A.h,o,t)):o},has:function(t,e){return e in fd(t)},ownKeys:function(t){return Reflect.ownKeys(fd(t))},set:function(t,e,n){var o=IAe(fd(t),e);if(o!=null&&o.set)return o.set.call(t.k,n),!0;if(!t.P){var i=qne(fd(t),e),r=i==null?void 0:i[ql];if(r&&r.t===n)return t.o[e]=n,t.R[e]=!1,!0;if(hht(n,i)&&(n!==void 0||ase(t.t,e)))return!0;$ne(t),s6(t)}return t.o[e]===n&&(n!==void 0||e in t.o)||Number.isNaN(n)&&Number.isNaN(t.o[e])||(t.o[e]=n,t.R[e]=!0),!0},deleteProperty:function(t,e){return qne(t.t,e)!==void 0||e in t.t?(t.R[e]=!1,$ne(t),s6(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var n=fd(t),o=Reflect.getOwnPropertyDescriptor(n,e);return o&&{writable:!0,configurable:t.i!==1||e!=="length",enumerable:o.enumerable,value:n[e]}},defineProperty:function(){Cm(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){Cm(12)}},uD={};OC(cse,function(t,e){uD[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}}),uD.deleteProperty=function(t,e){return uD.set.call(this,t,e,void 0)},uD.set=function(t,e,n){return cse.set.call(this,t[0],e,n,t[0])};var Sht=function(){function t(n){var o=this;this.O=EAe,this.D=!0,this.produce=function(i,r,a){if(typeof i=="function"&&typeof r!="function"){var l=r;r=i;var s=o;return function(y){var A=this;y===void 0&&(y=l);for(var x=arguments.length,C=Array(x>1?x-1:0),b=1;b1?u-1:0),f=1;f=0;i--){var r=o[i];if(r.path.length===0&&r.op==="replace"){n=r.value;break}}i>-1&&(o=o.slice(i+1));var a=p9("Patches").$;return YC(n)?a(n,o):this.produce(n,function(l){return a(l,o)})},t}(),bg=new Sht,LP=bg.produce;bg.produceWithPatches.bind(bg);bg.setAutoFreeze.bind(bg);bg.setUseProxies.bind(bg);bg.applyPatches.bind(bg);bg.createDraft.bind(bg);bg.finishDraft.bind(bg);/** +AC will not run if the highest outside temperature of the day is lower than the setpoint plus this threshold.`,Press:"Tıkla",Open:"Aç",Save:"Kaydet",SaveAsImage:"Resim Olarak Kaydet",SaveAsCsv:"Save as CSV",Update:"Güncelle",Paste:"Yapıştır",Copy:"Kopyala",Cut:"Kes",Delete:"Sil",Lock:"Kilitle",Translucent:"Yarı Saydam",Color:"Renk",Pattern:"Pattern",Texture:"Doku",Size:"Boyut",Thickness:"Kalınlık",Yes:"Evet",No:"Hayır",OK:"Tamam",Cancel:"İptal",Apply:"Uygula",Close:"Kapat",ApplyTo:"Uygula",Run:"Çalıştır",Pause:"Duraklat",Resume:"Sürdür",Clear:"Temizle",Warning:"Uyarı",Caution:"Caution",Reminder:"Hatırlatıcı",Length:"Uzunluk",Width:"Genişlik",Height:"Yükseklik",Radius:"Yarıçap",Angle:"Açı",Azimuth:"Azimut",Coordinates:"Koordinatlar",Weather:"Hava Durumu",Show:"Göster",Animate:"Oynat",Date:"Tarih",Time:"Saat",Title:"Başlık",Owner:"Sahibi",Action:"Eylem",Rename:"Yeniden Adlandır",Location:"Konum",Latitude:"Enlem",Month:"Ay",Day:"Gün",Hour:"Saat",Daylight:"Gün Işığı",Radiation:"Işınım",Temperature:"Sıcaklık",kWh:"kWh",dollar:"dollar",MeterPerSecond:"m/s",NorthInitial:"N",SouthInitial:"S",EastInitial:"E",WestInitial:"W",Fixed:"Sabit",Elements:"Öğeler",Energy:"Energy",Unknown:"Unknown",Label:"Label",Description:"Description",NoDescription:"No description",MaximumCharacters:"Maximum characters",Author:"Author",Publisher:"Publisher",Building:"Building",ResidentialBuilding:"Residential Building",CommercialBuilding:"Commercial Building",SchoolBuilding:"School Building",TouristAttraction:"Tourist Attraction",UnderConstruction:"Under Construction",Photovoltaic:"Photovoltaic",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Anonymous",Nickname:"Nickname",Pin:"Pin",Unpin:"Unpin"},shared:{NoTexture:"Doku Yok",FoundationElement:"Temel",CuboidElement:"Kübik",PolygonElement:"Poligon",SensorElement:"Sensör",SolarPanelElement:"Güneş Paneli",WaterHeaterElement:"Su Isıtıcı",ParabolicDishElement:"Parabolik Çanak",ParabolicTroughElement:"Parabolik Oluk",FresnelReflectorElement:"Fresnel Reflektör",HeliostatElement:"Heliostat",WindTurbineElement:"Wind Turbine",LightElement:"Light",ElementLocked:"Kilitli",ModelType:"Model Type",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Model not found",CannotSignIn:"Oturum açılamıyor",CannotSignOut:"Çıkış yapılamıyor",YourAccountWasCreated:"Hesabınız oluşturuldu",CannotCreateAccount:"Hesap oluşturulamıyor",YourAccountSettingsWereSaved:"Hesap ayarlarınız kaydedildi.",CannotSaveYourAccountSettings:"Hesap ayarlarınız kaydedilemiyor",CannotSaveYourFileToCloud:"Dosyanız buluta kaydedilemiyor",CannotCreateNewProject:"Cannot create a new project",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Cannot open your projects",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"This title has been used. Choose a different one",CloudFileWithTitleExistsDoYouWantToOverwrite:"A cloud file with the title exists. Do you want to overwrite it?",CloudFileNotFound:"Bulut dosyası bulunamadı",CannotLoadModelsOnMap:"Cannot load models on map",CannotLoadLeaderboard:"Cannot load leaderboard",CannotPublishModelOnMap:"Cannot publish model on map",CannotLikeModelFromMap:"Cannot like model from map",CannotDeleteModelFromMap:"Cannot delete model from map",ModelDeletedFromMap:"Model is deleted from map",DoYouWantToDeleteModelFromMap:"Do you want to delete the model from map?",CannotOpenCloudFile:"Bulut dosyası açılamıyor",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Bulut klasörünüz açılamıyor",CannotDeleteCloudFile:"Bulut dosyası silinemiyor",CannotRenameCloudFile:"Bulut dosyası yeniden adlandırılamıyor",DoYouWantToSaveChanges:"Değişiklikleri kaydetmek istiyor musunuz?",NotApplicableToSelectedAction:"Seçili eyleme uygulanamaz",ThisElementIsLocked:"Bu öğe kilitli.",ThisCannotBeUndone:"Geri alınamaz.",AzimuthOfNorthIsZero:"Kuzey yönünün azimut açısı 0 ° derecedir.",CounterclockwiseAzimuthIsPositive:"Saat yönünün tersi yönde azimut açısı pozitiftir.",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Çakışma nedeniyle taşıma iptal edildi.",MoveOutsideBoundaryCancelled:"Alan dışına çıkan taşıma iptal edildi.",RotationCancelledBecauseOfOverlap:"Çakışma nedeniyle döndürme iptal edildi.",RotationOutsideBoundaryCancelled:"Alan dışı döndürme iptal edildi.",ResizingCancelledBecauseOfOverlap:"Çakışma nedeniyle yeniden boyutlandırma iptal edildi.",ResizingOutsideBoundaryCancelled:"Alan dışında yeniden boyutlandırma iptal edildi.",CannotPasteOutsideBoundary:"Alanın dışına yapıştırılamaz.",CannotPasteBecauseOfOverlap:"Çakışma nedeniyle yapıştırılamıyor.",CannotMoveObjectTooFar:"Nesne buraya taşınamaz.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Yeni yerleşim düzeni uygulanmadan önce mevcut güneş panelleri kaldırılacaktır.",DoYouWantToContinue:"Devam etmek istiyor musunuz?",SolarPanelsCannotIntersectWithGround:"Güneş panelleri zeminle kesişemez.",SolarPanelsCannotOverlapWithOneAnother:"Güneş panelleri birbiriyle örtüşemez.",ScreenshotSaved:"Ekran görüntüsü kaydedildi.",CsvFileSaved:"A CSV file was saved.",SimulationStarted:"Simülasyon başladı.",SimulationCompleted:"Simülasyon tamamlandı.",SimulationAborted:"Simülasyon iptal edildi.",SimulationPaused:"Simülasyon duraklatıldı.",CancelSimulation:"Simülasyonu iptal et",PauseSimulation:"Simülasyonu duraklat",ResumeSimulation:"Simülasyonu devam ettir",SimulationWillNotStartDueToErrors:"Simulation will not start due to errors",SimulationWillStartDespiteWarnings:"Simulation will start despite warnings.",EvolutionStarted:"Evrim başladı.",EvolutionCompleted:"Evrim tamamlandı.",EvolutionAborted:"Evrim iptal edildi.",EvolutionPaused:"Evrim duraklatıldı.",EncounterEvolutionError:"Evrim hatasıyla karşılaşıldı.",CancelEvolution:"Evrimi iptal et",PauseEvolution:"Evrimi duraklat",ResumeEvolution:"Evrime devam et",ConvergenceThresholdHasBeenReached:"Yakınsama eşiğine ulaşıldı.",MaximumNumberOfGenerationsHasBeenReached:"Maksimum nesil sayısına ulaşıldı.",MaximumNumberOfStepsHasBeenReached:"Maksimum adım sayısına ulaşıldı.",ObjectiveFunctionTypeError:"Geçerli işlev desteklenmiyor. Lütfen menüden başlatınız.",WallsAreNotAtSameHeight:"Walls are not at same height.",WallsAreNotPerpendicular:"Walls are not perpendicular.",WallsAreNotConnected:"Walls are not connected.",WallsNumberNeedToBeFour:"The number of walls needs to be four.",BuildingContainsEmptyWall:"Building contains one or more empty wall.",BuildingRoofMissing:"Building has a missing roof.",UnknownErrors:"Unknown errors."},menu:{AnalysisOptions:"Analiz Seçenekleri",option:{GridCellSize:"Hücre Boyutu",SamplingFrequency:"Örneklem Frekansı",TimesPerHour:"x 1/saat",DaysPerYear:"Gün Sayısı / Yıl"},mainMenu:"Ana Menü",cloudMenu:"Bulut Menüsü",projectSubMenu:"Project",project:{CreateNewProject:"Create New Project",OpenProject:"Open Project",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"You must log in to create a new project",YouMustLogInToOpenProject:"You must log in to open a project"},fileSubMenu:"Dosya",file:{CreateNewFile:"Yeni Dosya Oluştur",OpenLocalFile:"Yerel Dosya Aç",SaveAsLocalFile:"Yerel Dosya Olarak Kaydet",SavingAbortedMustHaveValidFileName:"Kaydetme iptal edildi! Geçerli bir dosya adı kullanınız.",OpenCloudFile:"Bulut Dosyası Aç",SaveCloudFile:"Bulut Dosyasını Kaydet",SaveAsCloudFile:"Bulut Dosyası Olarak Kaydet",SavingAbortedMustHaveValidTitle:"Kaydetme iptal edildi! Dosya adı geçersiz!",ToSaveYourWorkPleaseSignIn:"Çalışmanızı kaydetmek için lütfen oturum açınız.",TakeScreenshot:"Ekran görüntüsü al",UseCloudFileName:"Bulut Dosya Adını Kullan",PublishOnModelsMap:"Publish on Models Map",PublishedOnModelsMap:"Your model has been published on the Models Map",UpdatedOnModelsMap:"Your model has been updated on the Models Map",YouMustLogInToPublishYourModel:"You must log in to publish your model",YouCannotPublishAModelThatYouDoNotOwn:"You cannot publish a model that you do not own",YouMustSaveModelOnCloudBeforePublishingIt:"You must save the model on the cloud before publishing it"},editSubMenu:"Düzen",edit:{Undo:"Geri Al",Redo:"Yinele"},viewSubMenu:"Görünüm",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D",ResetView:"Yenile",ZoomIn:"Yaklaş",ZoomOut:"Uzaklaş",AutoRotate:"Otomatik Döndür",ShowShadow:"Gölge",ShowSurfaceShininess:"Show Surface Shininess",TranslucentFloatingWindows:"Yüzer Pencere",accessoriesSubMenu:"Accessories",accessories:{SiteInformation:"Konum Bilgisi",DesignInformation:"Izgara Hücre Sayısı",Instruction:"Yardım",StickyNote:"Notlar",Note:"Notlar"}},settingsSubMenu:"Settings",settings:{WeatherData:"Hava Durumu",DiurnalTemperature:"Günlük Sıcaklık",Heliodon:"Heliodon",SunAndTime:"Güneş & Zaman"},benchmarksSubMenu:"Deneysel",benchmarks:{SolarRadiationPredictionVsMeasurement:"Güneş Işınım Tahmini Vs. Ölçümü ",BESTESTCase600:"Building Energy Simulation Test: BESTEST Case 600",BESTESTCase610:"Building Energy Simulation Test: BESTEST Case 610",BESTESTCase620:"Building Energy Simulation Test: BESTEST Case 620",BESTESTCase630:"Building Energy Simulation Test: BESTEST Case 630"},graph:{LineWidth:"Çizgi Kalınlığı",SymbolSize:"Sembol Boyutu",BarCategoryGap:"Bar Category Gap",ShowHorizontalGridLines:"Yatay Izgara Çizgilerini Göster",ShowVerticalGridLines:"Dikey Izgara Çizgilerini Göster"},analysisSubMenu:"Analiz",physicsSubMenu:"Fizik",physics:{DailySolarRadiationHeatmap:"Günlük Isı Haritası",SolarRadiationHeatmapOptions:"Isı Haritası Seçenekleri",SolarRadiationHeatmapGridCellSize:"Hücre Boyutu",SolarRadiationHeatmapMaxValue:"Işınım Maksimum Değer",SolarRadiationHeatmapNoAnimation:"Animasyon Yok",ReflectionHeatmap:"Yansıma Isı Haritası"},sensorSubMenu:"Sensörler",sensor:{CollectDailyData:"Günlük Veri Topla",CollectYearlyData:"Yıllık Veri Topla",SensorSimulationNoAnimation:"Animasyon Yok"},buildingSubMenu:"Building",building:{AnalyzeDailyBuildingEnergy:"Analyze Daily Building Energy",AnalyzeYearlyBuildingEnergy:"Analyze Yearly Building Energy",EnergyAnalysisOptions:"Energy Analysis Options",EnergyGridCellSize:"Energy Grid Cell Size",BuildingEnergySimulationNoAnimation:"No Animation for Building Energy Simulation"},solarPanelSubMenu:"Güneş Panelleri",solarPanel:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi",AnalyzeVisibility:"Görünüm Analizi",PanelDiscretization:"Panel Ayrıklaştırma",Exact:"Kesin",Approximate:" Yaklaşık",EnergyGridCellSize:"Hücre Boyutu",VisibilityGridCellSize:"Hücre Boyutu",EnergyAnalysisOptions:"Enerji Analiz Seçenekleri",VisibilityAnalysisOptions:"Görünüm Analiz Seçenekleri",SolarPanelSimulationNoAnimation:"Animasyon Yok"},parabolicTroughSubMenu:"Parabolik Oluk",parabolicTrough:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},parabolicDishSubMenu:"Parabolik Çanak",parabolicDish:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},fresnelReflectorSubMenu:"Fresnel Yansıtıcı",fresnelReflector:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},heliostatSubMenu:"Heliostat",heliostat:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},solarUpdraftTowerSubMenu:"Solar Updraft Kulesi",solarUpdraftTower:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi",SolarUpdraftTowerSimulationNoAnimation:"Animasyon Yok"},tutorialsSubMenu:"Öğrenme Merkezi",solarEnergyScienceSubMenu:"Güneş Bilimi",solarEnergyScienceTutorials:{SunAngles:"Gözlemciye Göre Güneş Açıları",InsolationAndClimate:"Güneşlenme ve İklim",SolarRadiationToBox:"Kutu Güneş Işınımı"},buildingScienceSubMenu:"Building Science",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Thermal Envelope vs. Building Envelope",EffectOfSizeOnBuildingEnergy:"Effect of Size on Building Energy",EffectOfOrientationOnBuildingEnergy:"Effect of Orientation on Building Energy",EffectOfInsulationOnBuildingEnergy:"Effect of Insulation on Building Energy",EffectOfRoofColorOnBuildingEnergy:"Effect of Roof Color on Building Energy",EffectOfEavesOverhangLengthOnBuildingEnergy:"Effect of Eaves Overhang Length on Building Energy",EffectOfWindowSHGCOnBuildingEnergy:"Effect of Window Solar Heat Gain on Building Energy",EffectOfThermostatSetpointOnBuildingEnergy:"Effect of Thermostat Setpoint on Building Energy",EffectOfSolarPanelsOnBuildingEnergy:"Effect of Solar Panels on Building Energy",EffectOfGroundTemperatureOnBuildingEnergy:"Effect of Ground Temperature on Building Energy",EffectOfTreesOnBuildingEnergy:"Effect of Trees on Building Energy"},buildingDesignSubMenu:"Bina Tasarımı",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"Çatı Pencereli Cape Cod Evi",MansardRoofWithDormers:"Mansard Roof with Dormers",GableRoofVsHipRoof:"Beşik Çatı vs. Kırma Çatı",ColonialVsSaltbox:"Koloni vs. Tuz Kutusu",GambrelRoofVsMansardRoof:"Flemenk Çatı vs. Mansart Çatı",CombinationRoofVsBonnetRoof:"Combination Roof vs. Bonnet Roof",DutchGableRoof:"Dutch Gable Roof",GableAndValleyRoof:"Gable and Valley Roof",ClerestoryRoof:"Clerestory Roof",MonitorRoof:"Monitor Roof",AFrameHouse:"A-Frame House",HalfTimberedHouse:"Half-Timbered House",AllBasicRoofTypes:"Tüm Çatı Tipleri"},photovoltaicSolarPowerSubMenu:"Fotovoltaik Güneş Enerjisi",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Güneş Paneli Eğim Açısı Etkisi",EffectOfAzimuthOfSolarPanel:"Güneş Paneli Azimut Açısı Etkisi",SolarPanelTypes:"Solar Panel Types",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Güneş İzleyiciler",CoveringGroundWithSolarPanels:"Sadece güneş panellerini kullanarak yüzeyi kaplamak neden iyi bir fikir değildir?",InterRowSpacingOfSolarPanelArray:"Güneş Paneli Dizi Arası Boşluk Etkisi",EffectOfOrientationOfSolarPanels:"Güneş Panelleri Yön Etkisi",SolarPanelArrayAutomaticLayout:"Solar Panel Array Automatic Layout"},concentratedSolarPowerSubMenu:"Yoğunlaştırılmış Güneş Enerjisi",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Parabolik Oluk Azimut Açısı Etkisi",EffectOfLatusRectumOfParabolicTrough:"Parabolik Oluk Özkiriş Etkisi",FocusSunlightWithParabolicDish:"Güneş Işığını Parabolik Çanakla Odaklama",LinearFresnelReflectors:"Doğrusal Fresnel Reflektörler",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Doğrusal Fresnel Reflektörlerde Soğurucu Boru Yükseklik Etkisi",EffectOfAzimuthOfLinearFresnelReflectors:"Doğrusal Fresnel Reflektörlerde Azimut Açısı Etkisi",LinearFresnelReflectorsWithTwoAbsorbers:"İki Soğuruculu Doğrusal Fresnel Reflektörler",CosineEfficiencyOfHeliostats:"Heliostatların Kosinüs Verimliliği",ShadowingAndBlockingOfHeliostats:"Heliostatlarda Gölgeleme ve Engellenme",EffectSolarPowerTowerHeight:"Güneş Güç Kulesi Yükseklik Etkisi",SolarPowerTower:"Güneş Güç Kulesi"},otherTypesOfSolarPowerSubMenu:"Diğer Güneş Gücü Türleri",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Solar Updraft Kulesi"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Örnekler",solarEnergySubMenu:"Güneş Enerjisi",solarEnergyExamples:{SunBeamAndHeliodon:"Güneş Işını ve Heliodon",RooftopSolarPanels:"Çatı Üstü Güneş Panelleri",NevadaSolarOneParabolicTroughArray:"Nevada Eyaletinde Parabolik Oluk Dizisi",TooeleParabolicDishArray:"Tooele Şehrinde Parabolik Çanak Dizisi",PS10SolarPowerTower:"PS10 Güneş Güç Kulesi",TucsonLinearFresnelReflectors:"Tucson Şehrinde Doğrusal Fresnel Reflektörleri",SolarCanopyFormFactors:"Solar Gölgelik Biçim Etkileri",SolarCanopyOverBleachers:"Tirübün Üzeri Solar Gölgelik",SolarCanopyOverGarage:"Solar Canopy Over Garage",SolarBusStop:"Solar Otobüs Durağı",SolarFacadeTesla:"Tesla Solar Façade",BuildingIntegratedPhotovoltaics:"Building-Integrated Photovoltaics",Floatovoltaics:"Floatovoltaics",Agrivoltaics:"Agrivoltaics",VegetativeBuffer:"Bitkisel Tampon",RainbowSwashSolarFarmBostonMA:"Rainbow Swash Solar Farm in Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Mickey Mouse Solar Farm in Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Bakersfield Şehrinde Kanal Üzerindeki Varsayımsal Güneş Panelleri",SolarNoiseBarrierLexingtonMA:"Lexington Kasabasında Varsayımsal Güneş Gürültü Bariyeri",HSATSolarTrackersRaleighNC:"Raleigh Şehrinde Yatay Tek Eksenli İzleyiciler (HSAT)",AADATSolarTrackersLancasterCA:"Lancaster Şehrinde Azimut–İrtifa Çift Eksenli İzleyiciler (AADAT)",SolarUpdraftTowerInCity:"Şehir Solar Updraft Kulesi"},builtEnvironmentSubMenu:"Yapılı Çevre",residentialBuildingsSubMenu:"Konut inşaatları",residentialBuildingExamples:{ColonialHouse:"Colonial House",DutchColonialHouse:"Flemenk Koloni Evi",TShapedHouse:"T-Shaped House",CapeCodHouseWithGarage:"Cape Cod House with Garage",Solarium:"Solaryum",Church1:"Kilise 1",Cathedral1:"Cathedral 1",Cathedral2:"Cathedral 2",Mosque1:"Mosque 1",AdobeTaosHouse:"Adobe Taos House",RanchHouse:"Ranch House",BonnetHouse:"Bonnet House",BarnStyleHouse:"Çiftlik Evi",ModernHouse:"Modern House",ButterflyRoofHouse:"Butterfly Roof House"},commercialBuildingsSubMenu:"Ticari Binalar",commercialBuildingExamples:{WhiteHouse:"White House",BilimMersinTurkiye:"Yenişehir Belediyesi Bilim ve Sanat Merkezi",SpanishStyleHotel:"Spanish Style Hotel",ApartmentBuilding:"Apartment Building",OfficeBuilding:"Ofis Binası",Hotel:"Hotel"},buildingComplexesSubMenu:"Building Complexes",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"Güney Burlington Lisesi",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, NM"},urbanPlanningSubMenu:"Şehir Planlaması",urbanPlanningExamples:{Heatmap1:"Isı Haritası"},otherBuildingsSubMenu:"Other Buildings",otherBuildingExamples:{Greenhouse:"Sera",Pavilion:"Park Kamelyası",OctagonalPagoda:"Octagonal Pagoda",OceanFront:"Ocean Front",EgyptianPyramids:"Egyptian Pyramids",MayanPyramid:"Mayan Pyramid",SiOSePol:"Si-o-se-pol",StackedCuboids:"Stacked Cuboids"},artificialIntelligenceSubMenu:"Yapay Zeka",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Güneş Paneli Sıra Eğim Açısı Optimize Etme",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Çoklu Güneş Paneli Sıra Eğim Açısı Optimize Etme",SolarFarmGenerativeDesign:"Güneş Tarlası Tasarımı",SolarFarmGenerativeDesignWithBlock:"Blok Varlığında Güneş Tarlası Tasarımı",FitchburgSolarFarmGenerativeDesign:"Fitchburg Güneş Tarlası Tasarımı"},languageSubMenu:"Dil",publicSubMenu:"Public",ModelsGallery:"Models Gallery",ModelsMap:"Models Map",AboutUs:"Hakkımızda"},avatarMenu:{AccountSettings:"Hesap Ayarları",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"Oturum açtığınızda, Aladdin hesabınızı oluşturmak ve hesabınıza erişmek için Google Kimliğiniz kullanılır. Veritabanımızda referans olarak yalnızca rastgele bir alfasayısal dize depolanır. Adınız veya e-posta adresiniz gibi kişisel olarak tanımlanabilir hiçbir veri toplanmaz. Daha fazla bilgi için ",SignIn:"Kayıt Ol",SignOut:"Oturum Kapat",IfYouAreAStudent:"Eğer Öğrenciyseniz"},skyMenu:{Axes:"Eksenler",Theme:"Tema",ThemeDefault:"Varsayılan",ThemeDesert:"Çöl",ThemeDune:"Dune",ThemeForest:"Orman",ThemeGrassland:"Çayır",ThemeHill:"Hill",ThemeLake:"Lake",ThemeMountain:"Mountain",ThemeRural:"Rural",SunlightAttenuationCoefficientInAir:"Havan Güneş Işığı Zayıflatma Katsayısı",ConvectiveCoefficientOfAir:"Havan Isı İletkenlik Katsayısı",HighestTemperatureTimeInMinutes:"En Yüksek Sıcaklık Süresi (Dakika)",SelectSunAnglesToShow:"Gösterilecek Güneş Açılarını Seçin",ShowAzimuthAngle:"Azimut Açısını Göster",ShowElevationAngle:"Yükselme Açısını Göster",ShowZenithAngle:"Zenit Açısını Göster",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Vegetation",LeafOutDay:"Leaf-Out Day",LeafOffDay:"Leaf-Off Day",Albedo:"Albedo",ImageOnGround:"Yer Görüntüsü",WaterSurface:"Water Surface",RemoveAllUnlockedTrees:"Tüm Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Tüm Kişileri Kaldır",RemoveAllUnlockedFoundations:"Tüm Temelleri Kaldır",RemoveAllUnlockedCuboids:"Tüm Kübikleri Kaldır",DoYouReallyWantToRemoveAllPeople:"Tüm Kişileri Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllTrees:"Tüm Ağaçları Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllFlowers:"Do you really want to remove all the flowers that are not locked",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Tüm Temelleri Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllCuboids:"Tüm Kübikleri Kaldırmak İstiyor Musunuz?",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Etiket",LabelText:"Label Text",LabelHeight:"Label Height",LabelSize:"Label Size",LabelFontSize:"Font Size",LabelColor:"Label Color",KeepShowingLabel:"Etiketi Göstermeye Devam Et"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Tüm Kilitlenmemiş Güneş Panellerini Kaldır",RemoveAllUnlockedParabolicTroughs:"Tüm Kilitlenmemiş Parabolik Olukları Kaldır",RemoveAllUnlockedParabolicDishes:"Tüm Kilitlenmemiş Parabolik Çanakları Kaldır",RemoveAllUnlockedFresnelReflectors:"Tüm Kilitlenmemiş Fresnel Reflektörleri Kaldır",RemoveAllUnlockedHeliostats:"Tüm Kilitlenmemiş Heliostatları Kaldır",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Tüm Kilitlenmemiş Sensörleri Kaldır",RemoveAllUnlockedLights:"Remove All Unlocked Lights",RemoveAllUnlockedWalls:"Tüm Kilitlenmemiş Duvarları Kaldır",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Çokgenleri Kaldır",RemoveAllUnlockedHumans:"Tüm Kilitlenmemiş İnsanları Kaldır",RemoveAllUnlockedTrees:"Tüm Kilitlenmemiş Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",Racks:"Çerçeveler",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",SolarPanels:"Güneş Panelleri",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:" Seçili temel üzerindeki tüm güneş panellerini kaldırmak istiyor musunuz?",ParabolicTroughs:"Parabolik Oluklar",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm parabolik olukları kaldırmak istiyor musunuz?",ParabolicDishes:"Parabolik Çanaklar",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm parabolik çanakları kaldırmak istiyor musunuz?",FresnelReflectors:"Fresnel Reflektörler",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm Fresnel reflektörlerini kaldırmak istiyor musunuz?",Heliostats:"Heliostatlar",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm heliostatları kaldırmak istiyor musunuz?",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Sensörler",DoYouReallyWantToRemoveAllSensorsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm sensörleri kaldırmak istiyor musunuz?",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnFoundation:"Do you really want to remove all the lights on this foundation that are not locked",Walls:"Duvarlar",DoYouReallyWantToRemoveAllWallsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm duvarları kaldırmak istiyor musunuz? ",Windows:"Windows",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Do you really want to remove all the windows on this foundation that are not locked",Doors:"Doors",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Do you really want to remove all the doors on this foundation that are not locked",Polygons:"Poligonlar",DoYouReallyWantToRemoveAllPolygonsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm poligonları kaldırmak istiyor musunuz?",Humans:"Kişiler",DoYouReallyWantToRemoveAllHumansOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm insanları kaldırmak istiyor musunuz?",Trees:"Ağaçlar",DoYouReallyWantToRemoveAllTreesOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm ağaçları kaldırmak istiyor musunuz?",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Do you really want to remove all the flowers on this foundation that are not locked",OnlyThisFoundation:"Sadece Seçili Temel",AllConnectedFoundations:"Tüm Bağlantılı Temeller",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Tüm Temeller",AddPolygon:"Poligon Ekle",SolarStructure:"Solar Yapı Seçin",GroupMaster:"Grup Yöneticisi",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Ground Floor R-Value",OnlyThisGroundFloor:"Only This Ground Floor",AllGroundFloors:"All Ground Floors"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Heliostat Alıcı Kulesi",ReceiverTowerPhysicalProperties:"Alıcı Kule Fiziksel Özellikler",ReceiverTowerHeight:"Alıcı Kule Yükseklik",ReceiverTowerRadius:"Alıcı Kule Yarıçap",ReceiverAbsorptance:"Alıcı Absorbsiyon",ReceiverOpticalEfficiency:"Alıcı Optik Verim",ReceiverThermalEfficiency:"Alıcı Termal Verim"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Fresnel Reflektör Soğurucu Boru",AbsorberPipePhysicalProperties:"Soğurucu Boru Fiziksel Özellikler",AbsorberHeight:"Soğurucu Boru Yükseklik",AbsorberApertureWidth:"Soğurucu boru diyafram genişliği",AbsorberPipePoleNumber:"Soğurucu Boru Sayısı",AbsorberAbsorptance:"Soğurucu Absorbsiyonu",AbsorberOpticalEfficiency:"Soğurucu Optik Verimlilik",AbsorberThermalEfficiency:"Soğurucu Isıl Verimlilik"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Solar Updraft Kulesi",SolarUpdraftTowerPhysicalProperties:"Solar Updraft Kulesi Fiziksel Özellikler",SolarUpdraftTowerChimneyHeight:"Solar Updraft Kulesi Baca Yüksekliği",SolarUpdraftTowerChimneyRadius:"Solar Updraft Kulesi Baca Yarıçapı",SolarUpdraftTowerCollectorHeight:"Solar Updraft Kulesi Collector Height",SolarUpdraftTowerCollectorRadius:"Solar Updraft Kulesi Kollektör Yarıçapı",SolarUpdraftTowerCollectorTransmissivity:"Solar Updraft Kulesi Kollektör Geçirgenliği",SolarUpdraftTowerCollectorEmissivity:"Solar Updraft Kulesi Kollektör Emisivite",SolarUpdraftTowerDischargeCoefficient:"Solar Updraft Kulesi Deşarj Katsayısı",SolarUpdraftTowerTurbineEfficiency:"Solar Updraft Kulesi Türbin Verimliliği"},cuboidMenu:{Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",RemoveAllUnlockedSolarPanels:"Tüm Kilitlenmemiş Güneş Panellerini Kaldır",RemoveAllUnlockedSensors:"Tüm Kilitlenmemiş Sensörleri Kaldır",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Poligonları Kaldır",RemoveAllUnlockedHumans:"Tüm Kilitlenmemiş Kişileri Kaldır",RemoveAllUnlockedTrees:"Tüm Kilitlenmemiş Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Çerçeveler",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Güneş Panelleri",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm güneş panellerini kaldırmak istiyor musunuz?",Sensors:"Sensörler",DoYouReallyWantToRemoveAllSensorsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm sensörleri kaldırmak istiyor musunuz?",Polygons:"Poligonlar",DoYouReallyWantToRemoveAllPolygonsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm poligonları kaldırmak istiyor musunuz?",Humans:"İnsanlar",DoYouReallyWantToRemoveAllHumansOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm insanları kaldırmak istiyor musunuz?",Trees:"Ağaçlar",DoYouReallyWantToRemoveAllTreesOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm ağaçları kaldırmak istiyor musunuz?",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Do you really want to remove all the flowers on this cuboid that are not locked",OnlyThisCuboid:"Sadece Seçili Kübik",AllCuboidsOnSameSurface:"All Cuboids on Same Surface",AllCuboidsAboveSameBase:"All Cuboids above Same Base",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Tüm Kübikler",OnlyThisSide:"Sadece Seçili Yüzey",AllSidesOfThisCuboid:"Seçili Kübik Tüm Yüzeyler",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Bütün Kübik Yüzeyleri ",AddPolygon:"Poligon Ekle",Stackable:"Stackable",GroupMaster:"Group Master"},polygonMenu:{Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",TextBox:"Text Box",FontOutlineColor:"Font Outline Color",FontOutlineWidth:"Font Outline Width",FontStrokeColor:"Font Stroke Color",FontStrokeWidth:"Font Stroke Width",NoOutline:"No Outline",Shiny:"Shiny",Filled:"Dolgu",FillTexture:"Dolgu Dokusu",FillColor:"Dolgu Rengi",Opacity:"Opaklık",LineColor:"Çizgi Rengi",LineWidth:"Çizgi Kalınlığı",LineStyle:"Çizgi Stili",SolidLine:"Düz çizgi",DashedLine:"Kesik çizgi",DottedLine:"Noktalı çizgi",InsertVertexBeforeIndex:"İndeksten Önce Tepe Noktası Ekle",InsertVertexAfterIndex:"İndeksten Sonra Tepe Noktası Ekle",DeleteVertex:"Tepe Noktası Sil",OnlyThisPolygon:"Sadece Seçili Poligon",AllPolygonsOnSurface:"Tüm Poligonlar Aynı Yüzeyde",AllPolygonsAboveFoundation:"Temel Üzerindeki Tüm Poligonlar",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Tüm Poligonlar",Layout:"Düzen",SolarPanelArrayLayout:"Güneş Paneli Dizi Düzeni",SolarPanelArrayLayoutParametricDesign:"Güneş Paneli Dizi Düzeni: Parametrik Tasarım",SolarPanelArrayLayoutGenerativeDesign:"Güneş Paneli Dizi Düzeni: Üretici Tasarım",SolarPanelArrayModel:"Güneş Paneli Modeli",SolarPanelArrayOrientation:"Oryantasyon",SolarPanelArrayTiltAngle:"Eğim Açısı",SolarPanelArrayRowWidth:"Dizi Sıra Genişliği",SolarPanelArrayInterRowSpacing:"Dizi Sıra Arası Boşluk",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Dizi Sıra Ekseni",SolarPanelArrayLeftRightRowAxis:"Left-Right (Relative)",SolarPanelArrayUpDownRowAxis:"Up-Down (Relative)",SolarPanelArrayEastWestRowAxis:"Doğu-Batı (Absolute)",SolarPanelArrayNorthSouthRowAxis:"Kuzey-Güney (Absolute)",SolarPanelArrayMargin:"Margin",SolarPanelArrayPoleHeight:"Direk Yükseklik",SolarPanelArrayPoleSpacing:"Direk Aralık",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"Bu yerleşim düzeni uygulanamaz. Lütfen parametrelerinizi kontrol edin."},optimizationMenu:{Optimization:"Optimizasyon",Parameters:"Parametreler",Variables:"Değişkenler",Constants:"Sabitler",GeneticAlgorithm:"Genetik Algoritma",GeneticAlgorithmSettings:"Genetik Algoritma Ayarı",ParticleSwarmOptimization:"Parçacık Sürü Optimizasyon",ParticleSwarmOptimizationSettings:"Parçacık Sürü Optimizasyon Ayarı",SolarPanelTiltAngleOptimization:"Güneş Paneli Eğim Açısı Optimizasyonu",SolarPanelArrayLayout:"Güneş Paneli Dizi Düzeni",Generation:"Nesil",Gene:"Gen",NormalizedVariables:"Normalleştirilmiş Değişkenler",Objective:"Amaç",ObjectiveFunctionDailyTotalYield:"Günlük Toplam Üretim",ObjectiveFunctionYearlyTotalYield:"Yıllık Toplam Üretim",ObjectiveFunctionDailyMeanYield:"Günlük Ortalama Üretim",ObjectiveFunctionYearlyMeanYield:"Yıllık Ortalama Üretim",ObjectiveFunctionDailyProfit:"Günlük Kazanç",ObjectiveFunctionYearlyProfit:"Yıllık Kazanç",GeneticAlgorithmSelectionMethod:"Genetik Algoritma Seçim Yöntemi",RouletteWheel:"Rulet Çarkı",Tournament:"Turnuva",SearchMethod:"Arama Yöntemi",GlobalSearchUniformSelection:"Küresel Arama Standart Seçim",LocalSearchRandomOptimization:"Yerel Arama Rastgele Optimizasyon",PopulationSize:"Popülasyon Boyutu",MaximumGenerations:"Maksimum Nesil",SelectionRate:"Seçim Oranı",CrossoverRate:"Geçiş Oranı",MutationRate:"Mutasyon Oranı",Step:"Adım",SwarmSize:"Sürü Boyutu",MaximumSteps:"Maksimum Adım",MaximumVelocity:"Maksimum Hız",InertiaWeight:"Atalet Ağırlığı",CognitiveCoefficient:"Bilişsel Katsayı",SocialCoefficient:"Sosyal Katsayı",ConvergenceThreshold:"Sonlandırma için Yakınsama Eşiği",LocalSearchRadius:"Yerel Arama Yarıçapı",RowsPerRackRange:"Raf Başına Sıra Aralığı",TiltAngleRange:"Eğim Açısı Aralığı",InterRowSpacingRange:"Sıra Arası Aralık Ranjı",ClickTargetPolygonToActivate:"Etkinleştirmek için Hedef Poligona Tıklayınız",ClickTargetFoundationToActivate:"Etkinleştirmek için Hedef Temele Tıklayınız"},treeMenu:{ShowModel:"Modeli Göster",Flip:"Flip",Type:"Tür",Spread:"Yayılım"},flowerMenu:{Flip:"Flip",Type:"Type",Spread:"Spread"},peopleMenu:{ChangePerson:"Kişi Değiştir",Flip:"Flip",Observer:"Gözlemci",ViewFromThisPerson:" Seçili Kişiye Göre Perspektif"},lightMenu:{Color:"Color",Intensity:"Intensity",Decay:"Decay",MaximumDistance:"Distance",Inside:"Inside"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Göreceli Azimut Açısı",Pole:"Pole",PoleHeight:"Direk Yüksekliği",PoleRadius:"Pole Radius",ExtraPoleHeight:"Ekstra Direk Yüksekliği",ExtraPoleHeightInAdditionToHalfWidth:"Yarım Genişliğe Ek Ekstra Direk Yüksekliği",DrawSunBeam:"Güneş Işını Çiz"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Reflektör Yansıma",ReceiverAbsorptance:"Alıcı Absorbsiyonu",ReflectorOpticalEfficiency:"Reflektör Optik Verimliliği",ReceiverThermalEfficiency:"Alıcı Termal Verimliliği"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"PV Modelini Değiştir",Orientation:"Oryantasyon",Portrait:"Portre",Landscape:"Peyzaj",FrameColor:"Frame Color",Panels:"Paneller",PanelsWide:"Panel Genişliği",PanelsLong:"Panel Uzunluğu",TiltAngle:"Eğim Açısı",SouthFacingIsPositive:"Güney yönünde açı pozitiftir.",Tracker:"İzleyici",SolarTrackerFollowsSun:"Güneş paneli verimini artırmak için bir güneş izleme sistemi güneşi sürekli takip eder.",PoleSpacing:"Direk Aralığı",NoTracker:"İzleme Sistemi Yok",HorizontalSingleAxisTracker:"Yatay Tek Eksenli İzleme Sistemi",VerticalSingleAxisTracker:"Dikey Tek Eksenli İzleme Sistemi",AltazimuthDualAxisTracker:"Altazimut Çift Eksenli İzleme Sistemi",OnlyThisSolarPanel:"Sadece Seçili Güneş Paneli",AllSolarPanelsOnSurface:"Tüm Güneş Panelleri Aynı Yüzeyde",AllSolarPanelsAboveFoundation:"Tüm Güneş Panelleri Aynı Temel Üzerinde",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Tüm Güneş Panelleri"},pvModelPanel:{SolarPanelSpecs:"Güneş Paneli Özellikleri",Model:"Model",PanelSize:"Panel Boyutu",Cells:"Hücreler",CellType:"Hücre Tipi",Monocrystalline:"Monokristal",Polycrystalline:"Polikristal",ThinFilm:"İnce Katman",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Siyah",Blue:"Mavi",ShadeTolerance:"Gölge Toleransı",SolarCellEfficiency:"Güneş Pili Verimliliği",NominalOperatingCellTemperature:"Nominal Çalışma Hücresi Sıcaklığı",TemperatureCoefficientOfPmax:"Pmax Sıcaklık Katsayısı"},parabolicTroughMenu:{ModuleLength:"Modül Uzunluğu",Modules:"Modüller",ModulesLong:"Modüllerin Uzunluğu",LatusRectum:"Özkiriş",OnlyThisParabolicTrough:"Sadece Seçili Parabolik Oluk",AllParabolicTroughsAboveFoundation:"Aynı Temelin Üzerindeki Tüm Parabolik Oluklar",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"Tüm Parabolik Oluklar"},fresnelReflectorMenu:{AbsorberPipe:"Soğurucu Boru",SelectAbsorberToReflectSunlightTo:"Güneş Işığı Yansıtılacak Soğurucuyu Seçin",ModuleLength:"Modül Uzunluğu",Modules:"Modüller",ModulesLong:"Modüllerin Uzunluğu",OnlyThisFresnelReflector:"Sadece Seçili Fresnel Reflektör",AllFresnelReflectorsAboveFoundation:"Aynı Temel Üzerindeki Tüm Fresnel Reflektörler",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"Tüm Fresnel Reflektörler"},heliostatMenu:{Tower:"Kule",SelectTowerToReflectSunlightTo:"Güneş Işığı Yansıtılacak Kuleyi Seçin",OnlyThisHeliostat:"Sadece Seçili Heliostat",AllHeliostatsAboveFoundation:"Aynı Temel Üzerindeki Tüm Heliostatlar",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"Tüm Heliostatlar"},parabolicDishMenu:{ReceiverStructure:"Alıcı Yapısı",CentralPole:"Merkez Direk",CentralPoleWithTripod:"Tripodlu Merkez Direk",Quadrupod:"Dört Ayaklı",RimDiameter:"Kasnak Çapı",LatusRectum:"Özkiriş",ExtraPoleHeightInAdditionToRadius:"Yarıçapa Ek Olarak Ekstra Direk Yüksekliği",OnlyThisParabolicDish:"Sadece Seçili Parabolik Çanak",AllParabolicDishesAboveFoundation:"Aynı Temel Üzerindeki Tüm Parabolik Çanaklar",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"Tüm Parabolik Çanaklar"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",SizeOfWall:"Duvar Boyutu",OnlyThisWall:"Sadece Seçili Duvar",AllConnectedWalls:"All Connected Walls",AllWallsAboveFoundation:" Aynı Temel Üzerindeki Tüm Duvarlar",AllSelectedWalls:"All Selected Walls",AllWalls:"Tüm Duvarlar",Windows:"Pencereler",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Kilitlenmemiş Tüm Pencereleri Kaldır",DoYouReallyWantToRemoveAllWindowsOnThisWall:" Seçili duvardaki tüm pencereleri kaldırmak istiyor musunuz?",Doors:"Kapılar",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Tüm Kilitlenmemiş Kapıları Kaldır",DoYouReallyWantToRemoveAllDoorsOnThisWall:" Seçili duvardaki tüm kapıları kaldırmak istiyor musun?",SolarPanels:"Güneş Panelleri",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Kilitlenmemiş Tüm Güneş Panellerini Kaldır",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:" Seçili duvardaki tüm güneş panellerini kaldırmak istiyor musunuz?",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Do you really want to remove all the sensors on this wall",Lights:"Lights",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisWall:"Do you really want to remove all the lights on this wall",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Poligonları Kaldır",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Duvar Yapısı",DefaultStructure:"Varsayılan",StudStructure:"Ahşap Dikme",PillarStructure:"Pillar",Opacity:"Opaklık",StructureSpacing:"Structure Spacing",StructureWidth:"Structure Width",StructureThickness:"Structure Thickness",StructureColor:"Structure Color",Color:"Wall Color",Height:"Height",Thickness:"Thickness",Texture:"Texture",AllLightsOnWallInside:"All Lights on Wall Inside",AllLightsOnWallOutside:"All Lights on Wall Outside",Fill:"Fill",Full:"Full",Partial:"Partial",Empty:"Empty",OpenToOutside:"Open to Outside",EavesLength:"Eaves Overhang Length",Parapet:"Parapet",ParapetColor:"Parapet Color",ParapetTexture:"Parapet Texture",ParapetHeight:"Parapet Height",CopingsHeight:"Copings Height",CopingsWidth:"Copings Width"},windowMenu:{OnlyThisWindow:"Sadece Bu Pencere",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"Aynı Temelin Üzerindeki Tüm Pencereler",AllSelectedWindows:"All Selected Windows",AllWindows:"Tüm Pencereler",Width:"Genişlik",Height:"Yükseklik",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Tiriz",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Tiriz Genişliği",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Mullion Color",Tint:"Ton",Opacity:"Opaklık",SolarHeatGainCoefficient:"Solar heat gain coefficient (SHGC) = 1 - opacity",Shutter:"Kepenk",LeftShutter:"Sol Kepenk",RightShutter:"Sağ Kepenk",BothShutters:"Kepenkler",ShutterWidth:"Genişlik",ShutterColor:"Kepenk Rengi",Frame:"Frame",FrameWidth:"Frame Width",SillWidth:"Sill Width",Color:"Frame Color",WindowType:"Window Type",Default:"Default",Arched:"Arched",Polygonal:"Polygonal",Interior:"Interior",Empty:"Empty"},roofMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",OnlyThisRoof:"Sadece Seçili Çatı",AllRoofsAboveFoundation:"Aynı Temelin Üzerinde Tüm Çatılar",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"Tüm Çatılar",OnlyThisCeiling:"Only This Ceiling",AllCeilingsAboveFoundation:"All Ceilings Above the Same Foundation",AllCeilings:"All Ceilings",EavesOverhangLength:"Eaves Overhang Length",RafterSpacing:"Mertek Aralığı",RafterWidth:"Mertek Genişliği",RafterThickness:"Mertek Kalınlığı",RafterColor:"Mertek Rengi",RoofColor:"Çatı Rengi",RoofSideColor:"Roof Side Color",GlassTint:"Cam Tonu",Opacity:"Opaklık",RoofStructure:"Çatı Yapısı",DefaultStructure:"Varsayılan",RafterStructure:"Mertek",GlassStructure:"Cam",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Do you really want to remove all the solar panels on this roof",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Do you really want to remove all the windows on this roof",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Do you really want to remove all the sensors on this roof",Lights:"Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Do you really want to remove all the lights on this roof",AllLightsOnRoofInside:"All Lights on Roof Inside",AllLightsOnRoofOutside:"All Lights on Roof Outside",Rise:"Rise",Ceiling:"Ceiling",RoofRValue:"Roof R-Value",CeilingRValue:"Ceiling R-Value"},doorMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",Texture11:"Doku 11",Texture12:"Doku 12",Texture13:"Doku 13",Texture14:"Doku 14",Texture15:"Doku 15",Texture16:"Doku 16",Texture17:"Doku 17",OnlyThisDoor:"Sadece Seçili Kapı",AllDoorsOnWall:"Aynı Duvardaki Tüm Kapılar",AllDoorsAboveFoundation:"Aynı Temelin Üstündeki Tüm Kapılar",AllSelectedDoors:"All Selected Doors",AllDoors:"Tüm Kapılar",DoorType:"Door Type",Default:"Default",Arched:"Arched",Filled:"Filled",FrameColor:"Frame Color",Interior:"Interior"},siteInfoPanel:{High:"Yüksek",Low:"Düşük"},designInfoPanel:{NumberOfSelectedHeliostats:"Seçilen heliostat sayısı",NumberOfSelectedSolarPanels:"Seçilen güneş paneli sayısı",ElectricityGeneratedDailyBySolarPanels:"Güneş panellerinin günlük elektrik üretimi",SceneDiameter:"Scene diameter",BuildingArea:"Building area"},visualizationControlPanel:{ColorContrast:"Renk Kontrastı",FluxScale:"Flux Scale",ClickUpOrDownArrowButtonsToChange:"Değiştirmek için yukarı veya aşağı ok butonlarına tıklayınız"},instructionPanel:{Rotate:"Döndürme",DragMouse:"Sol Tık + Sürükle",Zoom:"Yakınlaştırma",MouseWheelOrKeys:"Tekerlek veya Ctrl+[ veya Ctrl+]",MouseWheelOrKeysMac:"Tekerlek veya ⌘+[ veya ⌘+]",Pan:"Ekran Kaydırma",HoldCtrlDragMouse:"Ctrl + Sürükle",HoldMetaDragMouse:"Hold ⌘ and drag mouse",Enter2DMode:"Enter 2D mode",Exit2DMode:"Exit 2D mode",NavigationMode:"Navigation mode",EnableNavigation:"Enable navigation",DisableNavigation:"Disable navigation",MoveForwardBack:"Move forward/back",MoveForwardBackInstruction:"Press W/S",MoveLeftRight:"Move left/right",MoveLeftRightInstruction:"Press A/D",MoveUpDown:"Move up/down",MoveUpDownInstruction:"Press Z/X",Turn:"Turn",TurnInstruction:"Press arrow keys",ResetView:"Yeniden Başlat",AutoRotate:"Otomatik Döndürme",StartOrStop:"Başlat veya Durdur (F4)"},mapPanel:{ImageOnGround:"Yüzey Görünümü",HideAddress:"Hide Address",WeatherStations:"Referans",WeatherStationsNote:"Turn this off to speed up",Coordinates:"Koordinatlar",Zoom:"Büyüt"},visibilityPanel:{SolarPanelVisibility:"Güneş Paneli Görünüm",Observer:"Gözlemci",VantagePoint:"Referans Noktası",ItemizedVisibilityByFields:"Alana Özel Perspektif",TotalVisibility:"Toplam"},sensorPanel:{LightSensor:"Işık Sensörü",WeatherDataFrom:"Hava Durumu"},buildingEnergyPanel:{DailyBuildingEnergy:"Daily Building Energy",YearlyBuildingEnergy:"Yearly Building Energy",Heater:"Heater",AC:"AC",SolarPanel:"Solar Panel",Net:"Net"},solarPanelYieldPanel:{SolarPanelDailyYield:"Güneş Paneli Günlük Üretim",SolarPanelYearlyYield:"Güneş Paneli Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualSolarPanels:"Herbir güneş panelinin üretimini göster",Profit:"Kazanç",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Parabolik Oluk Günlük Üretim",ParabolicTroughYearlyYield:"Parabolik Oluk Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualParabolicTroughs:"Herbir parabolik oluğun üretimini göster"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Parabolik Çanak Günlük Üretim",ParabolicDishYearlyYield:"Parabolik Çanak Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualParabolicDishes:"Herbir parabolik çanağın üretimini göster"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Fresnel Reflektör Günlük Üretim",FresnelReflectorYearlyYield:"Fresnel Reflektör Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualFresnelReflectors:"Herbir Fresnel yansıtıcısının üretimini göster"},heliostatYieldPanel:{HeliostatDailyYield:"Heliostat Günlük Üretim",HeliostatYearlyYield:"Heliostat Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualHeliostats:"Herbir heliostatın üretimini göster"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Solar Updraft Kulesi Günlük Üretimi",UpdraftTowerYearlyYield:"Solar Updraft Kulesi Yıllık Üretimi",ChimneyAirTemperature:"Baca Hava Sıcaklığı",ChimneyWindSpeed:"Baca Rüzgar Hızı",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualUpdraftTowers:"Herbir updraft kulesinin üretimini göster"},heliodonPanel:{SunAndTimeSettings:"Güneş & Saat Ayarları",SunAngles:"Açılar",TwentyFourHours:"24 Hours"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyLikes:"My Likes",MyCloudFiles:"Bulut Dosyalarım",GenerateLink:"Link Oluştur",LinkGeneratedInClipBoard:"Klip Panosunda Oluşturulan Link",DoYouReallyWantToDelete:"Gerçekten silmek istiyor musun?",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"If this file has been shared or published, renaming it breaks existing links"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Type",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Hesap Ayarlarım",MyID:"Bilgilerim",ClickToCopyMyID:"Bilgilerinizi kopyalamak için tıklayın",IDInClipBoard:"Kişisel bilgileriniz kopyalandı ve yapıştırmaya hazır.",StoreMyNameInMyFilesWhenSaving:"Kaydederken, adımı dosyalarıma ekle",DoYouReallyWantToShowYourNameInYourFiles:"Dosyalarınızda isminizin gösterilmesini istiyor musunuz?",SignFileDisclaimer:"Evet ise, isiminiz dosyalarınıza erişimi olan bütün kişiler tarafından görülebilir.",Likes:"Likes",AllPublished:"All Published",PublishedUnderAliases:"Aliases",UserCount:"Kullanıcı Sayısı",SchoolID:"Okul",ClassID:"Sınıf"},weatherPanel:{SunshineHours:"Gündüz Saatleri"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Model Seç",Sinusoidal:"Sinüzoidal"},economicsPanel:{EconomicsParameters:"Ekonomik Parametreler",ElectricitySellingPrice:"Elektrik Satış Fiyatı",OperationalCostPerUnit:"Birim Başına İşletme Maliyeti",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Gökyüzü Açıklığı",ShowDaylightResults:"Gün Işığı Sonuçlarını Göster",ShowSkyClearnessResults:"Gökyüzü Açıklığı Sonuçlarını Göster",ShowAverageDailySolarRadiation:"Günlük ortalama güneş Işınımını göster"},analysisManager:{NoSensorForCollectingData:"Veri toplamak için sensör yok.",NoSolarPanelForAnalysis:"Analiz için güneş paneli yok.",NoObserverForVisibilityAnalysis:"Görünürlük analizi için gözlemci yok.",NoWaterHeaterForAnalysis:"Analiz için su ısıtıcısı yok",NoParabolicDishForAnalysis:"Analiz için parabolik çanak yok",NoParabolicTroughForAnalysis:"Analiz için parabolik oluk yok.",NoFresnelReflectorForAnalysis:"Analiz için Fresnel reflektörü yok.",NoHeliostatForAnalysis:"Analiz için heliostat yok.",NoSolarUpdraftTowerForAnalysis:"Analiz için Solar Updraft Kulesi yok.",NoBuildingForAnalysis:"There is no building for analysis."},toolbar:{CloudFile:"Bulut Dosyası",Select:"Seç",AddFoundation:"Temel Ekle",AddWall:"Duvar Ekle",AddWindow:"Pencere Ekle",AddDoor:"Kapı Ekle",AddPyramidRoof:"Piramit Çatı Ekle",AddGableRoof:"Beşik Çatı Ekle",AddHipRoof:"Kırma Çatı Ekle",AddGambrelRoof:"Flemenk Çatı Ekle",AddMansardRoof:"Mansart Çatı Ekle",AddCuboid:"Kübik Ekle",AddSensor:"Sensör Ekle",AddSolarPanel:"Güneş Paneli Ekle",AddWaterHeater:"Su Isıtıcı Ekle",AddParabolicDish:"Parabolik Çanak Ekle",AddParabolicTrough:"Parabolik Oluk Ekle",AddFresnelReflector:"Fresnel Reflektörü Ekle",AddHeliostat:"Heliostat Ekle",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Add Light",AddTree:"Ağaç Ekle",AddFlower:"Add Flower",AddPeople:"İnsan Ekle",DoubleClickToLockThisModeForNextAction:"Double-click to lock this mode for next action",ClickToUnlockThisModeForNextAction:"Click to unlock this mode for next action",ManipulateGroup:"Ölçeklendirme",ClearScene:"Herşeyi Sil",ShowSunAndTimeSettings:"Güneş & Zaman Ayarlarını Göster",SpatialAnalysisOfEnergy:"Spatial analysis of energy",DoYouReallyWantToClearContent:"İçeriği silmek istiyor musunuz",ClickForMoreButtons:"Daha fazla buton için tıklayın"},tooltip:{gotoIFI:"Yarının Zekası Enstitüsüne Git",visitAladdinHomePage:"Aladdin Ana Sayfasını Ziyaret Edin",clickToOpenMenu:"Ana Menüyü Açmak İçin Tıklayınız",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Apple",Birch:"Birch",Coconut:"Coconut",Dogwood:"Kızılcık Ağacı",Elm:"Karaağaç",FanPalm:"Fan Palm",Linden:"Ihlamur Ağacı",Magnolia:"Magnolia",Maple:"Akçaağaç",Oak:"Meşe Ağacı",Pine:"Çam",Spruce:"Alaçam"},flower:{Bellflower:"Bellflower",Boxwood:"Boxwood",CactusCombo1:"Cactus Combo 1",CactusCombo2:"Cactus Combo 2",CactusCombo3:"Cactus Combo 3",CactusCombo4:"Cactus Combo 4",Hibiscus:"Hibiscus",Hosta:"Hosta",Hydrangea:"Hydrangea",Peony:"Peony",RedRose:"Red Rose",Spirea:"Spirea",Sunflower:"Sunflower",TallBush:"Tall Bush",Tulip:"Tulip",WhiteFlower:"White Flower",YellowFlower:"Yellow Flower"},people:{Jaah:"Ata",Jack:"Mete",Jacob:"Jacob",Jacqueline:"Beril",Jade:"Ece",Jamelia:"Bilge",James:"James",Jane:"Jane",Jaya:"Asya",Jaye:"Aylin",Jeanette:"Jeanette",Jedi:"Alp",Jeff:"Kaya",Jena:"Nehir",Jennifer:"Defne",Jess:"Zeynep",Jett:"Umut",Jill:"Jill",Jiya:"Elif",Joan:"Ezgi",Jocelyn:"Jocelyn",Joel:"Cenk",Joey:"Azra",John:"Can",Jonathon:"Jonathon",Jose:"Mert",Joseph:"Joseph",Joshua:"Joshua",Judd:"Ozan",Judy:"Judy",Julia:"Julia",Julio:"Bulut",Jumapili:"Umay",June:"Naz",Juro:"Efe",Justin:"Justin"},compass:{N:"N",S:"S",W:"W",E:"E"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Search by publisher",SearchByLabel:"Search by label",MyPublishedModels:"My Published Models",TotalNumberOfUserPublishedModels:"Total number of user-published models",SortFromOldestToNewest:"Sort from oldest to newest",SortFromNewestToOldest:"Sort from newest to oldest",ModelsFoundOnThisSite:"models found on this site",ShowModelsPublishedByThisAuthor:"Show the models published by this author"}}},Jft={translation:{name:{IFI:"Інститут Інтелекту Майбутнього",Aladdin:"Aladdin",Tagline:"Aladdin: Переосмислення Дизайну з Пояснювальним Штучним Інтелектом - Інститут Інтелекту Майбутнього"},cookie:{Statement:"Натиснувши «Прийняти», ви погоджуєтеся з використанням файлів cookie для покращення вашого досвіду з Aladdin.",Accept:"Прийняти"},aboutUs:{ProductBroughtToYouBy:"Цей Продукт Було Створено:",TermsOfService:"Умови Використання",PrivacyPolicy:"Політика Конфіденційності",Software:"Програмне Забезпечення",Content:"Матеріали",Research:"Дослідження",Support:"Підтримка",Acknowledgment:"Подяка",FundingInformation:"Національний Науковий Фонд (ННФ, Cполучені Штати Америки) надав фінансову підтримку для дослідження та розробки цього продукту за допомогою грантів №2105695, №2131097, та №#2301164. Однак, будь-які погляди, результати та висновки, висловлені у продукті, належать авторам і можуть не повністю відображати погляди ННФ.",Contact:"Для отримання додаткової інформації, будь ласка, зверніться до Charles Xie (charles@intofuture.org).",Translators:"Переклад"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Текст",FontSize:"Розмір Шрифту",FontColor:"Колір Шрифту",Model:" Модель",Models:"Моделі",Upload:"Завантажити",ClickCount:"Натисніть Підрахувати",Share:"Поділитись",AlreadyLike:"Вподобано",Like:"Вподобати",MustLogInToLike:"Потрібно Увійти, щоб Вподобати",AllRightsReserved:"Усі Права Захищено",MeterAbbreviation:"м",Version:"Версія",VersionInitial:"В",Options:"Опції",Maximum:"Максимум",Minimum:"Мінімум",MaximumNumber:"Максимальне Число",MinimumNumber:"Мінімальне Число",MaximumValue:"Максимальне Значення",MinimumValue:"Мінімальне Значення",Or:"Або",None:"Жоден",High:"Високий",Partial:"Частковий",Teacher:"Вчитель",Class:"Клас",Total:"Всього",Leaderboard:"Таблиця Лідерів",Latest:"Останнє",Range:"Діапазон",SIUnit:"SI Одиниця",USUnit:"US Одиниця",ThermalTransmittance:"Теплопередача",ThermalResistance:"Термічний Опір",UValue:"U-Значення",RValue:"R-Значення",VolumetricHeatCapacity:"Об'ємна Теплоємність",BuildingHVACSystem:"Побудова Системи Опалення, Вентиляції та Кондиціювання Повітря (ОВК)",ThermostatSetpoint:"Задана Температура Термостата",TemperatureToleranceThreshold:"Порогове Значення Допустимого Відхилення Температури",TemperatureToleranceThresholdExplanation:"Обігрівач не працюватиме, якщо найнижча зовнішня температура дня вища за значення отриманe, якщо від заданої температури відняти порогове значення. Кондиціонер не працюватиме, якщо найвища зовнішня температура дня нижча за значення отримане, якщо від заданої температури відняти порогове значення.",Press:"Натисніть",Open:"Відкрити",Save:"Зберегти",SaveAsImage:"Зберегти як Зображення",SaveAsCsv:"Зберегти як CSV",Update:"Оновити",Paste:"Вставити",Copy:"Копіювати",Cut:"Вирізати",Delete:"Видалити",Lock:"Заблокувати",Translucent:"Півпрозорий",Color:"Колір",Pattern:"Pattern",Texture:"Текстура",Size:"Розмір",Thickness:"Товщина",Yes:"Так",No:"Ні",OK:"ОК",Cancel:"Скасувати",Apply:"Застосувати",Close:"Закрити",ApplyTo:"Застосувати До",Run:"Запустити",Pause:"Пауза",Resume:"Відновити",Clear:"Очистити",Warning:"Попередження",Caution:"Обережно",Reminder:"Нагадування",Length:"Довжина",Width:"Ширина",Height:"Висота",Radius:"Радіус",Angle:"Кут",Azimuth:"Азимут",Coordinates:"Координати",Weather:"Погода",Show:"Показати",Animate:"Анімувати",Date:"Дата",Time:"Час",Title:"Заголовок",Owner:"Власник",Action:"Дія",Rename:"Перейменувати",Location:"Місцезнаходження",Latitude:"Широта",Month:"Місяць",Day:"День",Hour:"Година",Daylight:"Денне світло",Radiation:"Радіаційне Випромінювання",Temperature:"Температура",kWh:"кВт-год",dollar:"долар",MeterPerSecond:"м/с",NorthInitial:"Північ",SouthInitial:"Південь",EastInitial:"Схід",WestInitial:"Захід",Fixed:"Фіксований",Elements:"Елементи",Energy:"Енергія",Unknown:"Невідомо",Label:"Мітка",Description:"Опис",NoDescription:"Без опису",MaximumCharacters:"Максимальна кількість символів",Author:"Автор",Publisher:"Видавець",Building:"Будівля",ResidentialBuilding:"Житлова будівля",CommercialBuilding:"Комерційна будівля",SchoolBuilding:"Шкільна будівля",TouristAttraction:"Туристична визначна пам'ятка",UnderConstruction:"В стадії будівництва",Photovoltaic:"Фотоелектричний",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Анонімний",Nickname:"Нікнейм",Pin:"Закріпити",Unpin:"Відкріпити"},shared:{NoTexture:"Без текстури",FoundationElement:"Фундамент",CuboidElement:"Паралелепіпед",PolygonElement:"Багатокутник",SensorElement:"Сенсор",SolarPanelElement:"Сонячна панель",WaterHeaterElement:"Водонагрівач",ParabolicDishElement:"Параболічна тарілка",ParabolicTroughElement:"Параболічний сонячний колектор",FresnelReflectorElement:"Відбивач Френеля",HeliostatElement:"Геліостат",WindTurbineElement:"Вітрова турбіна",LightElement:"Світло",ElementLocked:"Заблоковано",ModelType:"Тип моделі",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Модель не знайдено",CannotSignIn:"Не вдається увійти",CannotSignOut:"Не вдається вийти",YourAccountWasCreated:"Ваш обліковий запис був створений",CannotCreateAccount:"Не вдається створити обліковий запис",YourAccountSettingsWereSaved:"Налаштування облікового запису були збережені",CannotSaveYourAccountSettings:"Не вдається зберегти налаштування облікового запису",CannotSaveYourFileToCloud:"Не вдається зберегти ваш файл у хмарному середовищі",CannotCreateNewProject:"Не вдається створити новий проєкт",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Не вдається відкрити ваші проєкти",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"Ця назва була використана. Виберіть іншу",CloudFileWithTitleExistsDoYouWantToOverwrite:"Хмарний файл з такою ж назвою вже існує. Ви хочете перезаписати його?",CloudFileNotFound:"Файл у хмарному середовищі не знайдено",CannotLoadModelsOnMap:"Не вдається завантажити моделі на карту",CannotLoadLeaderboard:"Не вдається завантажити таблицю лідерів",CannotPublishModelOnMap:"Не вдається опублікувати модель на карті",CannotLikeModelFromMap:"Не вдається оцінити модель з карти",CannotDeleteModelFromMap:"Не вдається видалити модель з карти",ModelDeletedFromMap:"Модель видалена з карти",DoYouWantToDeleteModelFromMap:"Ви бажаєте видалити модель з карти?",CannotOpenCloudFile:"Не вдається відкрити файл у хмарному середовищі",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Не вдається відкрити папку у хмарному середовищі",CannotDeleteCloudFile:"Не вдається видалити файл у хмарному середовищі",CannotRenameCloudFile:"Не вдається перейменувати файл у хмарному середовищі",DoYouWantToSaveChanges:"Бажаєте зберегти зміни?",NotApplicableToSelectedAction:"Не застосовується до обраної дії",ThisElementIsLocked:"Цей елемент заблокований.",ThisCannotBeUndone:"Це не можна скасувати.",AzimuthOfNorthIsZero:"Азимут півночі дорівнює 0°",CounterclockwiseAzimuthIsPositive:"Азимут є позитивним проти годинникової стрілки.",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Переміщення скасовано через перекриття.",MoveOutsideBoundaryCancelled:"Переміщення за межі скасовано.",RotationCancelledBecauseOfOverlap:"Ротацію скасовано через перекриття.",RotationOutsideBoundaryCancelled:"Ротація за межі скасована.",ResizingCancelledBecauseOfOverlap:"Зміна розміру скасована через перекриття.",ResizingOutsideBoundaryCancelled:"Зміна розміру за межі скасована.",CannotPasteOutsideBoundary:"Не можна вставити за межі.",CannotPasteBecauseOfOverlap:"Не можна вставити через перекриття.",CannotMoveObjectTooFar:"Не можна перемістити об'єкт занадто далеко.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Існуючі сонячні панелі будуть видалені перед застосуванням нового макету.",DoYouWantToContinue:"Бажаєте продовжити?",SolarPanelsCannotIntersectWithGround:"Сонячні панелі не можуть перетинатися з землею.",SolarPanelsCannotOverlapWithOneAnother:"Сонячні панелі не можуть накладатися одна на одну.",ScreenshotSaved:"Знімок екрана збережено.",CsvFileSaved:"CSV файл збережено.",SimulationStarted:"Розпочато симуляцію.",SimulationCompleted:"Симуляцію завершено.",SimulationAborted:"Симуляцію перервано.",SimulationPaused:"Симуляцію призупинено.",CancelSimulation:"Скасувати симуляцію",PauseSimulation:"Призупинити симуляцію",ResumeSimulation:"Продовжити симуляцію",SimulationWillNotStartDueToErrors:"Симуляція не розпочнеться через помилки",SimulationWillStartDespiteWarnings:"Симуляція розпочнеться незважаючи на попередження.",EvolutionStarted:"Еволюцію розпочато.",EvolutionCompleted:"Еволюцію завершено.",EvolutionAborted:"Еволюцію перервано.",EvolutionPaused:"Еволюцію призупинено.",EncounterEvolutionError:"Сталася помилка еволюції.",CancelEvolution:"Скасувати еволюцію",PauseEvolution:"Призупинити еволюцію",ResumeEvolution:"Продовжити еволюцію",ConvergenceThresholdHasBeenReached:"Досягнуто порогове значення збіжності.",MaximumNumberOfGenerationsHasBeenReached:"Досягнуто максимальну кількість поколінь.",MaximumNumberOfStepsHasBeenReached:"Досягнуто максимальну кількість кроків.",ObjectiveFunctionTypeError:"Поточна цільова функція не підтримується цією операцією. Будь ласка, розпочніть з меню.",WallsAreNotAtSameHeight:"Стіни не знаходяться на однаковій висоті.",WallsAreNotPerpendicular:"Стіни не перпендикулярні.",WallsAreNotConnected:"Стіни не з'єднані.",WallsNumberNeedToBeFour:"Кількість стін має дорівнювати чотири.",BuildingContainsEmptyWall:"Будівля містить одну або кілька порожніх стін.",BuildingRoofMissing:"У будівлі відсутній дах.",UnknownErrors:"Невідомі помилки."},menu:{AnalysisOptions:"Опції аналізу",option:{GridCellSize:"Розмір комірки сітки",SamplingFrequency:"Частота вибірки",TimesPerHour:"Разів на годину",DaysPerYear:"Днів на рік"},mainMenu:"Головне Меню",cloudMenu:"Меню Хмарного Середовища",projectSubMenu:"Проєкт",project:{CreateNewProject:"Створити Новий Проєкт",OpenProject:"Відкрити Проєкт",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"Ви повинні увійти, щоб створити новий проєкт",YouMustLogInToOpenProject:"Ви повинні увійти, щоб відкрити проєкт"},fileSubMenu:"Файл",file:{CreateNewFile:"Створити новий",OpenLocalFile:"Відкрити локально",SaveAsLocalFile:"Зберегти як",SavingAbortedMustHaveValidFileName:"Збереження перервано! Вам потрібно мати дійсне ім'я файлу",OpenCloudFile:"Відкрити у хмарному середовищі",SaveCloudFile:"Зберегти у хмарному середовищі",SaveAsCloudFile:"Зберегти у хмарному середовищі",SavingAbortedMustHaveValidTitle:"Збереження перервано! Вам потрібно мати дійсний заголовок для хмарного файлу",ToSaveYourWorkPleaseSignIn:"Щоб зберегти вашу роботу, будь ласка, увійдіть в систему.",TakeScreenshot:"Зробити знімок екрана",UseCloudFileName:"Використовувати ім'я файлу у хмарному середовищі",PublishOnModelsMap:"Опублікувати на карті моделей",PublishedOnModelsMap:"Вашу модель було опубліковано на карті моделей",UpdatedOnModelsMap:"Ваша модель була оновлена на карті моделей",YouMustLogInToPublishYourModel:"Вам потрібно увійти в систему, щоб опублікувати свою модель",YouCannotPublishAModelThatYouDoNotOwn:"Ви не можете опублікувати модель, якою не володієте",YouMustSaveModelOnCloudBeforePublishingIt:"Вам потрібно зберегти модель у хмарному середовищі перед її публікацією"},editSubMenu:"Редагувати",edit:{Undo:"Скасувати",Redo:"Повторити"},viewSubMenu:"Перегляд",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D Вигляд",ResetView:"Скинути",ZoomIn:"Збільшити масштаб",ZoomOut:"Зменшити масштаб",AutoRotate:"Автоматичний поворот",ShowShadow:"Показати тінь",ShowSurfaceShininess:"Показати блиск поверхні",TranslucentFloatingWindows:"Напівпрозорі плаваючі вікна",accessoriesSubMenu:"Додаткові елементи",accessories:{SiteInformation:"Інформація про місце",DesignInformation:"Інформація про дизайн",Instruction:"Інструкція",StickyNote:"Примітка",Note:"Примітка"}},settingsSubMenu:"Налаштування",settings:{WeatherData:"Дані про погоду",DiurnalTemperature:"Добова температура",Heliodon:"Геліодон",SunAndTime:"Сонце та час"},benchmarksSubMenu:"Бенчмарки",benchmarks:{SolarRadiationPredictionVsMeasurement:"Прогнозування сонячної радіації порівняно з вимірюванням",BESTESTCase600:"Тестування енергоефективності будівель: BESTEST Case 600",BESTESTCase610:"Тестування енергоефективності будівель: BESTEST Case 610",BESTESTCase620:"Тестування енергоефективності будівель: BESTEST Case 620",BESTESTCase630:"Тестування енергоефективності будівель: BESTEST Case 630"},graph:{LineWidth:"Товщина лінії",SymbolSize:"Розмір символу",BarCategoryGap:"Відступ категорій стовпців",ShowHorizontalGridLines:"Показати горизонтальні лінії сітки",ShowVerticalGridLines:"Показати вертикальні лінії сітки"},analysisSubMenu:"Аналіз",physicsSubMenu:"Фізика",physics:{DailySolarRadiationHeatmap:"Щоденна карта сонячної радіації",SolarRadiationHeatmapOptions:"Параметри карти сонячної радіації",SolarRadiationHeatmapGridCellSize:"Розмір комірки на карті сонячної радіації",SolarRadiationHeatmapMaxValue:"Максимальне значення на карті",SolarRadiationHeatmapNoAnimation:"Немає анімації для статичної моделі",ReflectionHeatmap:"Карта відображень"},sensorSubMenu:"Датчик",sensor:{CollectDailyData:"Збирати щоденні дані",CollectYearlyData:"Збирати щорічні дані",SensorSimulationNoAnimation:"Немає анімації для збору даних датчика"},buildingSubMenu:"Будівля",building:{AnalyzeDailyBuildingEnergy:"Аналізувати щоденну енергію будівлі",AnalyzeYearlyBuildingEnergy:"Аналізувати щорічну енергію будівлі",EnergyAnalysisOptions:"Параметри аналізу енергії",EnergyGridCellSize:"Розмір комірки сітки",BuildingEnergySimulationNoAnimation:"Немає анімації симулювати енергію будівлі"},solarPanelSubMenu:"Сонячна панель",solarPanel:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід",AnalyzeVisibility:"Аналізувати видимість",PanelDiscretization:"Дискретизація панелі",Exact:"Точний",Approximate:"Наближений",EnergyGridCellSize:"Розмір комірки сітки енергії",VisibilityGridCellSize:"Розмір комірки сітки коефіцієнта видимості",EnergyAnalysisOptions:"Параметри аналізу енергії",VisibilityAnalysisOptions:"Параметри аналізу видимості",SolarPanelSimulationNoAnimation:"Немає анімації для симуляції сонячної панелі"},parabolicTroughSubMenu:"Параболічний сонячний колектор",parabolicTrough:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},parabolicDishSubMenu:"Параболічний диск",parabolicDish:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},fresnelReflectorSubMenu:"Відбивач Френеля",fresnelReflector:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},heliostatSubMenu:"Геліостат",heliostat:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},solarUpdraftTowerSubMenu:"Сонячна вежа з використаним повітрям",solarUpdraftTower:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід",SolarUpdraftTowerSimulationNoAnimation:"Немає анімації симулювати сонячну вежу з використаним повітрям"},tutorialsSubMenu:"Посібники",solarEnergyScienceSubMenu:"Сонячна наука",solarEnergyScienceTutorials:{SunAngles:"Кути сонця відносно спостерігача на землі",InsolationAndClimate:"Інсоляція та клімат",SolarRadiationToBox:"Сонячна радіація в коробку"},buildingScienceSubMenu:"Наука про будівлі",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Теплозахисна оболонка проти будівельної оболонки",EffectOfSizeOnBuildingEnergy:"Вплив розміру на енергію будівлі",EffectOfOrientationOnBuildingEnergy:"Вплив орієнтації на енергію будівлі",EffectOfInsulationOnBuildingEnergy:"Вплив інсоляції на енергію будівлі",EffectOfRoofColorOnBuildingEnergy:"Вплив кольору даху на енергію будівлі",EffectOfEavesOverhangLengthOnBuildingEnergy:"Вплив довжини виступу карнизу на енергію будівлі",EffectOfWindowSHGCOnBuildingEnergy:"Вплив коефіцієнта сонячного теплозиску вікна на енергію будівлі",EffectOfThermostatSetpointOnBuildingEnergy:"Вплив заданої температури на термостаті на енергію будівлі",EffectOfSolarPanelsOnBuildingEnergy:"Вплив сонячних панелей на енергію будівлі",EffectOfGroundTemperatureOnBuildingEnergy:"Вплив температури грунту на енергію будівлі",EffectOfTreesOnBuildingEnergy:"Вплив дерев на енергію будівлі"},buildingDesignSubMenu:"Дизайн будівлі",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:'Будинок у стилі Кейп Код з пристроєм типу "шед-дормер"',MansardRoofWithDormers:"Мансарда з горизонтальними пристроями",GableRoofVsHipRoof:"Схиловий дах проти двосхилих дахів",ColonialVsSaltbox:"Колоніальний стиль проти стилю Saltbox",GambrelRoofVsMansardRoof:"Півшаровий дах проти мансардного даху",CombinationRoofVsBonnetRoof:"Комбінований дах проти капотного даху",DutchGableRoof:"Голландський дах з рикетом",GableAndValleyRoof:"Схиловий та долинний дах",ClerestoryRoof:"Клересторний дах",MonitorRoof:"Моніторний дах",AFrameHouse:'Будинок у формі літери "А"',HalfTimberedHouse:"Будинок з напівдерев'яними стінами",AllBasicRoofTypes:"Усі основні типи дахів"},photovoltaicSolarPowerSubMenu:"Фотоелектрична сонячна енергія",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Вплив кута нахилу сонячної панелі",EffectOfAzimuthOfSolarPanel:"Вплив азимуту сонячної панелі",SolarPanelTypes:"Типи сонячних панелей",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Сонячні трекери",CoveringGroundWithSolarPanels:"Чому просто покриття землі сонячними панелями - не найкраща ідея",InterRowSpacingOfSolarPanelArray:"Вплив міжрядного простору в масиві сонячних панелей",EffectOfOrientationOfSolarPanels:"Вплив орієнтації сонячних панелей",SolarPanelArrayAutomaticLayout:"Автоматичне розміщення масиву сонячних панелей"},concentratedSolarPowerSubMenu:"Концентрована сонячна енергія",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Вплив азимуту параболічного сонячного колектора",EffectOfLatusRectumOfParabolicTrough:"Вплив прямої лінії на параболічний сонячний колектор",FocusSunlightWithParabolicDish:"Фокусування сонячного світла за допомогою параболічного диску",LinearFresnelReflectors:"Лінійні відбивачі Френеля",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Вплив висоти поглинаючої трубки на лінійні відбивачі Френеля",EffectOfAzimuthOfLinearFresnelReflectors:"Вплив азимуту на лінійні відбивачі Френеля",LinearFresnelReflectorsWithTwoAbsorbers:"Лінійні відбивачі Френеля з двома поглинаючими елементами",CosineEfficiencyOfHeliostats:"Косинусна ефективність геліостатів",ShadowingAndBlockingOfHeliostats:"Затінення та блокування геліостатів",EffectSolarPowerTowerHeight:"Вплив висоти сонячної вежі з використаним повітрям",SolarPowerTower:"Сонячна вежа з використаним повітрям"},otherTypesOfSolarPowerSubMenu:"Інші типи сонячної енергії",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Сонячна вежа з використаним повітрям"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Приклади",solarEnergySubMenu:"Сонячна енергія",solarEnergyExamples:{SunBeamAndHeliodon:"Промінь сонця та геліодон",RooftopSolarPanels:"Сонячні панелі на даху",NevadaSolarOneParabolicTroughArray:"Масив параболічних сонячних колекторів Nevada Solar One",TooeleParabolicDishArray:"Масив параболічних тарілок Tooele",PS10SolarPowerTower:"Сонячна енергетична вежа PS10",TucsonLinearFresnelReflectors:"Лінійні відбивачі Френеля в Tucson",SolarCanopyFormFactors:"Форми сонячних козирків",SolarCanopyOverBleachers:"Сонячний козирок над трибунами",SolarCanopyOverGarage:"Сонячний козирок над гаражем",SolarBusStop:"Сонячна автобусна зупинка",SolarFacadeTesla:"Сонячна фасадна панель Tesla",BuildingIntegratedPhotovoltaics:"Вбудовані фотоелектричні системи в будівлі",Floatovoltaics:"Сонячні панелі на плавучих платформах",Agrivoltaics:"Агровольтаїка",VegetativeBuffer:"Вегетативна зона",RainbowSwashSolarFarmBostonMA:"Сонячна ферма Rainbow Swash в Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Сонячна ферма Міккі Мауса в Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Сонячні панелі над каналом в Bakersfield, CA",SolarNoiseBarrierLexingtonMA:"Сонячний шумовий бар'єр в Lexington, MA",HSATSolarTrackersRaleighNC:"Сонячні трекери з горизонтальною віссю в Raleign, NC",AADATSolarTrackersLancasterCA:"Сонячні трекери з азимутальною-вертикальною віссю в Lancaster, CA",SolarUpdraftTowerInCity:"Сонячна вежа з використаним повітрям у місті"},builtEnvironmentSubMenu:"Забудоване середовище",residentialBuildingsSubMenu:"Житлові будівлі",residentialBuildingExamples:{ColonialHouse:"Колоніальний будинок",DutchColonialHouse:"Голландський колоніальний будинок",TShapedHouse:"Будинок у формі літери Т",CapeCodHouseWithGarage:"Будинок у стилі Cape Cod з гаражем",Solarium:"Солярій",Church1:"Церква 1",Cathedral1:"Собор 1",Cathedral2:"Собор 2",Mosque1:"Мечеть 1",AdobeTaosHouse:"Будинок з адобе в стилі Taos",RanchHouse:"Ranch House",BonnetHouse:"Будинок в стилі Bonnet",BarnStyleHouse:"Будинок у стилі амбара",ModernHouse:"Сучасний будинок",ButterflyRoofHouse:"Будинок з метеликовим дахом"},commercialBuildingsSubMenu:"Комерційні будівлі",commercialBuildingExamples:{WhiteHouse:"Білий Дім",BilimMersinTurkiye:"Bilim, Mersin, Туреччина",SpanishStyleHotel:"Готель в іспанському стилі",ApartmentBuilding:"Багатоквартирний будинок",OfficeBuilding:"Офісна будівля",Hotel:"Готель"},buildingComplexesSubMenu:"Будівельні комплекси",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"South Burlington High School, Vermont",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, New Mexico"},urbanPlanningSubMenu:"Міське планування",urbanPlanningExamples:{Heatmap1:"Теплова карта"},otherBuildingsSubMenu:"Інші будівлі",otherBuildingExamples:{Greenhouse:"Теплиця",Pavilion:"Павільйон у парку",OctagonalPagoda:"Восьмикутна пагода",OceanFront:"Будівля біля океану",EgyptianPyramids:"Єгипетські піраміди",MayanPyramid:"Піраміда Мая",SiOSePol:"Si-O-Se-Pol",StackedCuboids:"Стековані кубоїди"},artificialIntelligenceSubMenu:"Штучний інтелект",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Оптимізація кута нахилу одного ряду сонячних панелей",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Оптимізація кутів нахилу декількох рядів сонячних панелей",SolarFarmGenerativeDesign:"Генеративний дизайн сонячної ферми",SolarFarmGenerativeDesignWithBlock:"Генеративний дизайн сонячної ферми в присутності перешкоди",FitchburgSolarFarmGenerativeDesign:"Генеративний дизайн сонячної ферми у Fitchburg"},languageSubMenu:"Мова",publicSubMenu:"Загальнодоступно",ModelsGallery:"Галерея моделей",ModelsMap:"Карта моделей",AboutUs:"Про нас"},avatarMenu:{AccountSettings:"Налаштування облікового запису",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"Коли ви увійдете, ваш Google ID використовується для створення та доступу до вашого облікового запису Aladdin. В нашій базі даних зберігається лише випадковий алфавітно-цифровий рядок як посилання. Ми ніколи не збираємо особисто ідентифіковану інформацію, таку як ваше ім'я або електронна пошта. Для отримання додаткової інформації ознайомтесь з нашою ",SignIn:"Увійти",SignOut:"Вийти",IfYouAreAStudent:"Якщо ви студент"},skyMenu:{Axes:"Вісі",Theme:"Тематика",ThemeDefault:"За замовчуванням",ThemeDesert:"Пустеля",ThemeDune:"Дюна",ThemeForest:"Ліс",ThemeGrassland:"Степ",ThemeHill:"Пагорб",ThemeLake:"Озеро",ThemeMountain:"Гора",ThemeRural:"Сільська місцевість",SunlightAttenuationCoefficientInAir:"Коефіцієнт затухання сонячного світла у повітрі",ConvectiveCoefficientOfAir:"Коефіцієнт конвекції повітря",HighestTemperatureTimeInMinutes:"Час найвищої температури (хвилини)",SelectSunAnglesToShow:"Виберіть кути сонця, які показати",ShowAzimuthAngle:"Показати азимутний кут",ShowElevationAngle:"Показати висотний кут",ShowZenithAngle:"Показати зенітний кут",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Рослинність",LeafOutDay:"День розпускання листя",LeafOffDay:"День опадання листя",Albedo:"Альбедо",ImageOnGround:"Зображення на поверхні",WaterSurface:"Поверхня води",RemoveAllUnlockedTrees:"Видалити всі розблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі розблоковані квіти",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Видалити всіх розблокованих людей",RemoveAllUnlockedFoundations:"Видалити всі розблоковані фундаменти",RemoveAllUnlockedCuboids:"Видалити всі розблоковані кубоїди",DoYouReallyWantToRemoveAllPeople:"Ви дійсно хочете видалити всіх людей, що не заблоковані",DoYouReallyWantToRemoveAllTrees:"Ви дійсно хочете видалити всі дерева, що не заблоковані",DoYouReallyWantToRemoveAllFlowers:"Ви дійсно хочете видалити всі квіти, що не заблоковані",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Ви дійсно хочете видалити всі фундаменти, що не заблоковані",DoYouReallyWantToRemoveAllCuboids:"Ви дійсно хочете видалити всі кубоїди, що не заблоковані",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Мітка",LabelText:"Текст мітки",LabelHeight:"Висота мітки",LabelSize:"Розмір мітки",LabelFontSize:"Розмір шрифту",LabelColor:"Колір мітки",KeepShowingLabel:"Залишати видимою мітку"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Видалити всі незаблоковані сонячні панелі",RemoveAllUnlockedParabolicTroughs:"Видалити всі незаблоковані параболічні сонячні колектори",RemoveAllUnlockedParabolicDishes:"Видалити всі незаблоковані параболічні антени",RemoveAllUnlockedFresnelReflectors:"Видалити всі незаблоковані відбивачі Френеля",RemoveAllUnlockedHeliostats:"Видалити всі незаблоковані геліостати",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Видалити всі незаблоковані датчики",RemoveAllUnlockedLights:"Видалити всі незаблоковані освітлювальні прилади",RemoveAllUnlockedWalls:"Видалити всі незаблоковані стіни",RemoveAllUnlockedWindows:"Видалити всі незаблоковані вікна",RemoveAllUnlockedDoors:"Видалити всі незаблоковані двері",RemoveAllUnlockedPolygons:"Видалити всі незаблоковані полігони",RemoveAllUnlockedHumans:"Видалити всіх незаблокованих людей",RemoveAllUnlockedTrees:"Видалити всі незаблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі незаблоковані квіти",Racks:"Стелажі",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",SolarPanels:"Сонячні панелі",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому фундаменті, які не є заблокованими",ParabolicTroughs:"Параболічні сонячні колектори",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"Ви дійсно бажаєте видалити всі параболічні сонячні колектори на цьому фундаменті, які не є заблокованими",ParabolicDishes:"Параболічні антени",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"Ви дійсно бажаєте видалити всі параболічні антени на цьому фундаменті, які не є заблокованими",FresnelReflectors:"Відбивачі Френеля",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"Ви дійсно бажаєте видалити всі відбивачі Френеля на цьому фундаменті, які не є заблокованими",Heliostats:"Геліостати",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"Ви дійсно бажаєте видалити всі геліостати на цьому фундаменті, які не є заблокованими",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Датчики",DoYouReallyWantToRemoveAllSensorsOnFoundation:"Ви дійсно бажаєте видалити всі датчики на цьому фундаменті, які не є заблокованими",Lights:"Світильники",DoYouReallyWantToRemoveAllLightsOnFoundation:"Ви дійсно бажаєте видалити всі світильники на цьому фундаменті, які не є заблокованими",Walls:"Стіни",DoYouReallyWantToRemoveAllWallsOnFoundation:"Ви дійсно бажаєте видалити всі стіни на цьому фундаменті, які не є заблокованими",Windows:"Вікна",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Ви дійсно бажаєте видалити всі вікна на цьому фундаменті, які не є заблокованими",Doors:"Двері",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Ви дійсно бажаєте видалити всі двері на цьому фундаменті, які не є заблокованими",Polygons:"Багатокутники",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"Ви дійсно бажаєте видалити всі багатокутники на цьому фундаменті, які не є заблокованими",Humans:"Люди",DoYouReallyWantToRemoveAllHumansOnFoundation:"Ви дійсно бажаєте видалити всіх людей на цьому фундаменті, які не є заблокованими",Trees:"Дерева",DoYouReallyWantToRemoveAllTreesOnFoundation:"Ви дійсно бажаєте видалити всі дерева на цьому фундаменті, які не є заблокованими",Flowers:"Квіти",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Ви дійсно бажаєте видалити всі квіти на цьому фундаменті, які не є заблокованими",OnlyThisFoundation:"Тільки цей фундамент",AllConnectedFoundations:"Всі пов’язані фундаменти",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Всі фундаменти",AddPolygon:"Додати багатокутник",SolarStructure:"Вибрати сонячну структуру",GroupMaster:"Груповий майстер",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Теплопровідність перекриття цокольного поверху",OnlyThisGroundFloor:"Тільки цокольний поверх",AllGroundFloors:"Всі цокольні поверхи"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Вежа приймача для геліостатів",ReceiverTowerPhysicalProperties:"Фізичні властивості вежі приймача",ReceiverTowerHeight:"Висота вежі приймача",ReceiverTowerRadius:"Радіус вежі приймача",ReceiverAbsorptance:"Поглинання приймача",ReceiverOpticalEfficiency:"Оптична ефективність приймача",ReceiverThermalEfficiency:"Теплова ефективність приймача"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Трубопровід для відбивачів Френеля",AbsorberPipePhysicalProperties:"Фізичні властивості трубопроводу поглинання",AbsorberHeight:"Висота трубопроводу поглинання",AbsorberApertureWidth:"Ширина отвору трубопроводу поглинання",AbsorberPipePoleNumber:"Кількість полюсів для трубопроводу поглинання",AbsorberAbsorptance:"Сила поглинання",AbsorberOpticalEfficiency:"Оптична ефективність поглинача",AbsorberThermalEfficiency:"Теплова ефективність поглинача"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Сонячна вежа з тяговим потоком",SolarUpdraftTowerPhysicalProperties:"Фізичні властивості сонячної вежі з тяговим потоком",SolarUpdraftTowerChimneyHeight:"Висота димової труби сонячної вежі з тяговим потоком",SolarUpdraftTowerChimneyRadius:"Радіус димової труби сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorHeight:"Висота колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorRadius:"Радіус колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorTransmissivity:"Проникність колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorEmissivity:"Випромінюваність колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerDischargeCoefficient:"Коефіцієнт викиду сонячної вежі з тяговим потоком",SolarUpdraftTowerTurbineEfficiency:"Ефективність турбіни сонячної вежі з тяговим потоком"},cuboidMenu:{Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",RemoveAllUnlockedSensors:"Видалити всі розблоковані сенсори",RemoveAllUnlockedPolygons:"Видалити всі розблоковані полігони",RemoveAllUnlockedHumans:"Видалити всіх розблокованих людей",RemoveAllUnlockedTrees:"Видалити всі розблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі розблоковані квіти",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Стійки",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому кубоїді, які не заблоковані",Sensors:"Сенсори",DoYouReallyWantToRemoveAllSensorsOnCuboid:"Ви дійсно бажаєте видалити всі сенсори на цьому кубоїді, які не заблоковані",Polygons:"Полігони",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"Ви дійсно бажаєте видалити всі полігони на цьому кубоїді, які не заблоковані",Humans:"Люди",DoYouReallyWantToRemoveAllHumansOnCuboid:"Ви дійсно бажаєте видалити всіх людей на цьому кубоїді, які не заблоковані",Trees:"Дерева",DoYouReallyWantToRemoveAllTreesOnCuboid:"Ви дійсно бажаєте видалити всі дерева на цьому кубоїді, які не заблоковані",Flowers:"Квіти",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Ви дійсно бажаєте видалити всі квіти на цьому кубоїді, які не заблоковані",OnlyThisCuboid:"Тільки цей кубоїд",AllCuboidsOnSameSurface:"Усі кубоїди на одній поверхні",AllCuboidsAboveSameBase:"Усі кубоїди над тією ж основою",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Всі кубоїди",OnlyThisSide:"Тільки ця сторона",AllSidesOfThisCuboid:"Всі сторони цього кубоїда",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Всі сторони всіх кубоїдів",AddPolygon:"Додати полігон",Stackable:"Стекабельне",GroupMaster:"Майстер групи"},polygonMenu:{Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",TextBox:"Текстове поле",FontOutlineColor:"Колір контуру шрифту",FontOutlineWidth:"Товщина контуру шрифту",FontStrokeColor:"Колір обводки шрифту",FontStrokeWidth:"Товщина обводки шрифту",NoOutline:"Без контуру",Shiny:"Блискучий",Filled:"Заповнений",FillTexture:"Текстура заповнення",FillColor:"Колір заповнення",Opacity:"Прозорість",LineColor:"Колір лінії",LineWidth:"Товщина лінії",LineStyle:"Стиль лінії",SolidLine:"Суцільна лінія",DashedLine:"Пунктирна лінія",DottedLine:"Точкова лінія",InsertVertexBeforeIndex:"Вставити вершину перед індексом",InsertVertexAfterIndex:"Вставити вершину після індексу",DeleteVertex:"Видалити вершину",OnlyThisPolygon:"Тільки цей полігон",AllPolygonsOnSurface:"Всі полігони на цій поверхні",AllPolygonsAboveFoundation:"Всі полігони вище фундаменту",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Всі полігони",Layout:"Розташування",SolarPanelArrayLayout:"Розташування сонячних панелей",SolarPanelArrayLayoutParametricDesign:"Розташування сонячних панелей: параметричний дизайн",SolarPanelArrayLayoutGenerativeDesign:"Розташування сонячних панелей: генеративний дизайн",SolarPanelArrayModel:"Модель сонячної панелі",SolarPanelArrayOrientation:"Орієнтація",SolarPanelArrayTiltAngle:"Кут нахилу",SolarPanelArrayRowWidth:"Ширина ряду",SolarPanelArrayInterRowSpacing:"Міжрядковий інтервал",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Вісь ряду",SolarPanelArrayLeftRightRowAxis:"Наліво-Направо (відносне)",SolarPanelArrayUpDownRowAxis:"Вгору-Вниз (відносне)",SolarPanelArrayEastWestRowAxis:"Схід-Захід (абсолютне)",SolarPanelArrayNorthSouthRowAxis:"Північ-Південь (абсолютне)",SolarPanelArrayMargin:"Відступ",SolarPanelArrayPoleHeight:"Висота стовпа",SolarPanelArrayPoleSpacing:"Інтервал між стовпами",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"Це розташування не приймається. Будь ласка, перевірте ваші параметри."},optimizationMenu:{Optimization:"Оптимізація",Parameters:"Параметри",Variables:"Змінні",Constants:"Константи",GeneticAlgorithm:"Генетичний алгоритм",GeneticAlgorithmSettings:"Налаштування генетичного алгоритму",ParticleSwarmOptimization:"Оптимізація роєм частинок",ParticleSwarmOptimizationSettings:"Налаштування оптимізації роєм частинок",SolarPanelTiltAngleOptimization:"Оптимізація кута нахилу сонячних панелей",SolarPanelArrayLayout:"Розташування сонячних панелей",Generation:"Покоління",Gene:"Ген",NormalizedVariables:"Нормалізовані змінні",Objective:"Ціль",ObjectiveFunctionDailyTotalYield:"Щоденний загальний дохід",ObjectiveFunctionYearlyTotalYield:"Щорічний загальний дохід",ObjectiveFunctionDailyMeanYield:"Щоденний середній дохід",ObjectiveFunctionYearlyMeanYield:"Щорічний середній дохід",ObjectiveFunctionDailyProfit:"Щоденний прибуток",ObjectiveFunctionYearlyProfit:"Щорічний прибуток",GeneticAlgorithmSelectionMethod:"Метод вибору для генетичного алгоритму",RouletteWheel:"Велосипедне колесо",Tournament:"Турнір",SearchMethod:"Метод пошуку",GlobalSearchUniformSelection:"Глобальний пошук з однорідним вибором",LocalSearchRandomOptimization:"Локальний пошук випадкової оптимізації",PopulationSize:"Розмір населення",MaximumGenerations:"Максимальна кількість поколінь",SelectionRate:"Швидкість відбору",CrossoverRate:"Швидкість схрещування",MutationRate:"Швидкість мутації",Step:"Крок",SwarmSize:"Розмір рою",MaximumSteps:"Максимальна кількість кроків",MaximumVelocity:"Максимальна швидкість",InertiaWeight:"Вага інерції",CognitiveCoefficient:"Коефіцієнт когнітивної функції",SocialCoefficient:"Коефіцієнт соціальної взаємодії",ConvergenceThreshold:"Поріг збіжності для завершення",LocalSearchRadius:"Радіус локального пошуку",RowsPerRackRange:"Діапазон для рядів на стелаж",TiltAngleRange:"Діапазон для кута нахилу",InterRowSpacingRange:"Діапазон для міжрядкового проміжку",ClickTargetPolygonToActivate:"Натисніть на цільовий полігон для активації",ClickTargetFoundationToActivate:"Натисніть на цільовий фундамент для активації"},treeMenu:{ShowModel:"Показати модель",Flip:"Перевернути",Type:"Тип",Spread:"Розповсюдження"},flowerMenu:{Flip:"Перевернути",Type:"Тип",Spread:"Розповсюдження"},peopleMenu:{ChangePerson:"Змінити особу",Flip:"Перевернути",Observer:"Спостерігач",ViewFromThisPerson:"Переглянути з цієї особи"},lightMenu:{Color:"Колір",Intensity:"Інтенсивність",Decay:"Затухання",MaximumDistance:"Максимальна відстань",Inside:"Усередині"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Відносний азимут",Pole:"Стовп",PoleHeight:"Висота стовпа",PoleRadius:"Pole Radius",ExtraPoleHeight:"Додаткова висота стовпа",ExtraPoleHeightInAdditionToHalfWidth:"Додаткова висота стовпа на додаток до половини ширини",DrawSunBeam:"Намалювати промінь сонця"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Відбивання відбивача",ReceiverAbsorptance:"Поглинання приймача",ReflectorOpticalEfficiency:"Оптична ефективність відбивача",ReceiverThermalEfficiency:"Теплова ефективність приймача"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"Змінити модель",Orientation:"Орієнтація",Portrait:"Вертикальна",Landscape:"Горизонтальна",FrameColor:"Колір рамки",Panels:"панелі",PanelsWide:"панелі по ширині",PanelsLong:"панелі по довжині",TiltAngle:"Кут нахилу",SouthFacingIsPositive:"Південь вважається позитивним",Tracker:"Трекер",SolarTrackerFollowsSun:"Трекер слідкує за сонцем для збільшення виходу сонячних панелей.",PoleSpacing:"Відстань між стовпами",NoTracker:"Без трекера",HorizontalSingleAxisTracker:"Трекер з горизонтальною одноосевою орієнтацією",VerticalSingleAxisTracker:"Трекер з вертикальною одноосевою орієнтацією",AltazimuthDualAxisTracker:"Трекер з азимутально-альтазимутальною двоосевою орієнтацією",OnlyThisSolarPanel:"Тільки ця сонячна панель",AllSolarPanelsOnSurface:"Всі сонячні панелі на одній поверхні",AllSolarPanelsAboveFoundation:"Всі сонячні панелі над однією фундаментом",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Всі сонячні панелі"},pvModelPanel:{SolarPanelSpecs:"Технічні характеристики сонячної панелі",Model:"Модель",PanelSize:"Розмір панелі",Cells:"Комірки",CellType:"Тип комірок",Monocrystalline:"Монокристалічні",Polycrystalline:"Полікристалічні",ThinFilm:"Тонкоплівкові",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Чорний",Blue:"Синій",ShadeTolerance:"Стійкість до затінення",SolarCellEfficiency:"Ефективність сонячної комірки",NominalOperatingCellTemperature:"Номінальна робоча температура комірки",TemperatureCoefficientOfPmax:"Температурний коефіцієнт Pmax"},parabolicTroughMenu:{ModuleLength:"Довжина модуля",Modules:"модулі",ModulesLong:"модулів у довжину",LatusRectum:"Велика піввісь",OnlyThisParabolicTrough:"Тільки цей параболічний сонячний колектор",AllParabolicTroughsAboveFoundation:"Усі параболічні сонячні колектори над цим фундаментом",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"Усі параболічні сонячні колектори"},fresnelReflectorMenu:{AbsorberPipe:"Труба поглинання",SelectAbsorberToReflectSunlightTo:"Виберіть поглинач, до якого буде відбиватися сонячне світло",ModuleLength:"Довжина модуля",Modules:"модулі",ModulesLong:"модулів у довжину",OnlyThisFresnelReflector:"Тільки цей відбивач Френеля",AllFresnelReflectorsAboveFoundation:"Усі відбивачі Френеля над цим фундаментом",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"Усі відбивачі Френеля"},heliostatMenu:{Tower:"Вежа",SelectTowerToReflectSunlightTo:"Виберіть вежу, до якої буде відбиватися сонячне світло",OnlyThisHeliostat:"Тільки цей геліостат",AllHeliostatsAboveFoundation:"Усі геліостати над цим фундаментом",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"Усі геліостати"},parabolicDishMenu:{ReceiverStructure:"Структура приймача",CentralPole:"Центральний стовп",CentralPoleWithTripod:"Центральний стовп з триногою",Quadrupod:"Чотиринога",RimDiameter:"Діаметр ободу",LatusRectum:"Велика піввісь",ExtraPoleHeightInAdditionToRadius:"Додаткова висота стовпа плюс радіус",OnlyThisParabolicDish:"Тільки ця параболічна тарілка",AllParabolicDishesAboveFoundation:"Усі параболічні тарілки над цим фундаментом",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"Усі параболічні тарілки"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Типова текстура",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",SizeOfWall:"Розмір стіни",OnlyThisWall:"Тільки ця стіна",AllConnectedWalls:"Всі пов'язані стіни",AllWallsAboveFoundation:"Всі стіни над цим фундаментом",AllSelectedWalls:"All Selected Walls",AllWalls:"Всі стіни",Windows:"Вікна",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Видалити всі розблоковані вікна",DoYouReallyWantToRemoveAllWindowsOnThisWall:"Ви дійсно бажаєте видалити всі вікна на цій стіні",Doors:"Двері",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Видалити всі розблоковані двері",DoYouReallyWantToRemoveAllDoorsOnThisWall:"Ви дійсно бажаєте видалити всі двері на цій стіні",SolarPanels:"Сонячні панелі",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"Ви дійсно бажаєте видалити всі сонячні панелі на цій стіні",Sensors:"Датчики",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Видалити всі розблоковані датчики",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Ви дійсно бажаєте видалити всі датчики на цій стіні",Lights:"Лампи",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Видалити всі розблоковані лампи",DoYouReallyWantToRemoveAllLightsOnThisWall:"Ви дійсно бажаєте видалити всі лампи на цій стіні",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Видалити всі розблоковані полігони",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Структура стіни",DefaultStructure:"Типова",StudStructure:"Студ",PillarStructure:"Пілар",Opacity:"Непрозорість",StructureSpacing:"Відстань між структурами",StructureWidth:"Ширина структури",StructureThickness:"Товщина структури",StructureColor:"Колір структури",Color:"Колір стіни",Height:"Висота",Thickness:"Товщина",Texture:"Текстура",AllLightsOnWallInside:"Всі лампи всередині стіни",AllLightsOnWallOutside:"Всі лампи ззовні стіни",Fill:"Заповнення",Full:"Повне",Partial:"Часткове",Empty:"Порожнє",OpenToOutside:"Відкрите на зовнішню сторону",EavesLength:"Довжина карнизу",Parapet:"Перила",ParapetColor:"Колір перил",ParapetTexture:"Текстура перил",ParapetHeight:"Висота перил",CopingsHeight:"Висота паркану",CopingsWidth:"Ширина паркану"},windowMenu:{OnlyThisWindow:"Тільки це вікно",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"Всі вікна над однією фундаментом",AllSelectedWindows:"All Selected Windows",AllWindows:"Всі вікна",Width:"Ширина",Height:"Висота",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Розділовий стовпець",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Ширина розділового стовпця",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Колір розділового стовпця",Tint:"Відтінок",Opacity:"Непрозорість",SolarHeatGainCoefficient:"Коефіцієнт сонячного теплового навантаження (SHGC) = 1 - непрозорість",Shutter:"Жалюзі",LeftShutter:"Ліве жалюзі",RightShutter:"Праве жалюзі",BothShutters:"Обидві жалюзі",ShutterWidth:"Відносна ширина",ShutterColor:"Колір жалюзі",Frame:"Рамка",FrameWidth:"Ширина рамки",SillWidth:"Ширина підвіконня",Color:"Колір рамки",WindowType:"Тип вікна",Default:"Типове",Arched:"Аркове",Polygonal:"Багатокутне",Interior:"Інтер'єр",Empty:"Порожнє"},roofMenu:{TextureDefault:"Типове",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",OnlyThisRoof:"Тільки цей дах",AllRoofsAboveFoundation:"Всі дахи над одним фундаментом",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"Всі дахи",OnlyThisCeiling:"Тільки ця стеля",AllCeilingsAboveFoundation:"Всі стелі над одним фундаментом",AllCeilings:"Всі стелі",EavesOverhangLength:"Довжина виступу карнизу",RafterSpacing:"Відстань між стропилами",RafterWidth:"Ширина стропила",RafterThickness:"Товщина стропила",RafterColor:"Колір стропила",RoofColor:"Колір даху",RoofSideColor:"Колір бокової частини даху",GlassTint:"Колір скла",Opacity:"Непрозорість",RoofStructure:"Структура даху",DefaultStructure:"Типова",RafterStructure:"Стропило",GlassStructure:"Скло",SolarPanels:"Сонячні панелі",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому даху",Windows:"Вікна",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Видалити всі розблоковані вікна",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Ви дійсно бажаєте видалити всі вікна на цьому даху",Sensors:"Сенсори",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Видалити всі розблоковані сенсори",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Ви дійсно бажаєте видалити всі сенсори на цьому даху",Lights:"Лампи",RemoveAllUnlockedLights:"Видалити всі розблоковані лампи",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Ви дійсно бажаєте видалити всі лампи на цьому даху",AllLightsOnRoofInside:"Всі лампи на даху всередині",AllLightsOnRoofOutside:"Всі лампи на даху ззовні",Rise:"Піднімання",Ceiling:"Стеля",RoofRValue:"Значення R для даху",CeilingRValue:"Значення R для стелі"},doorMenu:{TextureDefault:"За замовчуванням",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",Texture11:"Текстура 11",Texture12:"Текстура 12",Texture13:"Текстура 13",Texture14:"Текстура 14",Texture15:"Текстура 15",Texture16:"Текстура 16",Texture17:"Текстура 17",OnlyThisDoor:"Тільки ці двері",AllDoorsOnWall:"Всі двері на цій стіні",AllDoorsAboveFoundation:"Всі двері над тим самим фундаментом",AllSelectedDoors:"All Selected Doors",AllDoors:"Всі двері",DoorType:"Тип дверей",Default:"За замовчуванням",Arched:"Аркові",Filled:"Заповнені",FrameColor:"Колір рамки",Interior:"Інтер'єр"},siteInfoPanel:{High:"Високо",Low:"Низько"},designInfoPanel:{NumberOfSelectedHeliostats:"Кількість вибраних геліостатів",NumberOfSelectedSolarPanels:"Кількість вибраних сонячних панелей",ElectricityGeneratedDailyBySolarPanels:"Електрика, що генерується щоденно цими сонячними панелями",SceneDiameter:"Діаметр сцени",BuildingArea:"Площа будівлі"},visualizationControlPanel:{ColorContrast:"Контраст кольору",FluxScale:"Шкала потоку",ClickUpOrDownArrowButtonsToChange:"Натисніть кнопки зі стрілками вгору або вниз щоб змінити"},instructionPanel:{Rotate:"Повернути",DragMouse:"Перетягніть мишею",Zoom:"Масштабування",MouseWheelOrKeys:"Обертайте колесо миші або натисніть Ctrl+[ або Ctrl+]",MouseWheelOrKeysMac:"Обертайте колесо миші або натисніть ⌘+[ або ⌘+]",Pan:"Переміщення",HoldCtrlDragMouse:"Натисніть і утримуйте Ctrl, перетягніть мишею",HoldMetaDragMouse:"Натисніть і утримуйте ⌘, перетягніть мишею",Enter2DMode:"Ввійти в 2D режим",Exit2DMode:"Вийти з 2D режиму",NavigationMode:"Режим навігації",EnableNavigation:"Увімкнути навігацію",DisableNavigation:"Вимкнути навігацію",MoveForwardBack:"Рухатися вперед/назад",MoveForwardBackInstruction:"Натисніть W/S",MoveLeftRight:"Рухатися вліво/вправо",MoveLeftRightInstruction:"Натисніть A/D",MoveUpDown:"Рухатися вгору/вниз",MoveUpDownInstruction:"Натисніть Z/X",Turn:"Повернути",TurnInstruction:"Натисніть клавіші зі стрілками",ResetView:"Скинути",AutoRotate:"Автоматичний поворот",StartOrStop:"Натисніть F4, щоб почати або зупинити"},mapPanel:{ImageOnGround:"Зображення на землі",HideAddress:"Hide Address",WeatherStations:"Метеостанції",WeatherStationsNote:"Вимкніть це, щоб прискорити",Coordinates:"Координати",Zoom:"Масштабування"},visibilityPanel:{SolarPanelVisibility:"Видимість сонячних панелей",Observer:"Спостерігач",VantagePoint:"Точка огляду",ItemizedVisibilityByFields:"Розгорнутий за полями",TotalVisibility:"Загальна видимість"},sensorPanel:{LightSensor:"Датчик освітленості",WeatherDataFrom:"Метеодані з"},buildingEnergyPanel:{DailyBuildingEnergy:"Щоденна енергія будівлі",YearlyBuildingEnergy:"Річна енергія будівлі",Heater:"Обігрівач",AC:"Кондиціонер",SolarPanel:"Сонячна панель",Net:"Всього"},solarPanelYieldPanel:{SolarPanelDailyYield:"Щоденний дохід сонячних панелей",SolarPanelYearlyYield:"Річний дохід сонячних панелей",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualSolarPanels:"Показати дохід окремих сонячних панелей",Profit:"Прибуток",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Щоденний дохід параболічних сонячних колекторів",ParabolicTroughYearlyYield:"Річний дохід параболічних сонячних колекторів",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualParabolicTroughs:"Показати дохід окремих параболічних сонячних колекторів"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Щоденний дохід параболічних тарілок",ParabolicDishYearlyYield:"Річний дохід параболічних тарілок",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualParabolicDishes:"Показати дохід окремих параболічних тарілок"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Щоденний дохід відбивача Френеля",FresnelReflectorYearlyYield:"Річний дохід відбивача Френеля",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualFresnelReflectors:"Показати дохід окремих відбивачів Френеля"},heliostatYieldPanel:{HeliostatDailyYield:"Щоденний дохід геліостату",HeliostatYearlyYield:"Річний дохід геліостату",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualHeliostats:"Показати дохід окремих геліостатів"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Щоденний дохід сонячної вежі",UpdraftTowerYearlyYield:"Річний дохід сонячної вежі",ChimneyAirTemperature:"Температура повітря у димовій трубі",ChimneyWindSpeed:"Швидкість вітру у димовій трубі",Yield:"дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualUpdraftTowers:"Показати дохід окремих сонячних веж"},heliodonPanel:{SunAndTimeSettings:"Налаштування Сонця та Часу",SunAngles:"Кути Сонця",TwentyFourHours:"24 Години"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Пошук за назвою",MyLikes:"Мої вподобання",MyCloudFiles:"Мої файли у хмарному середовищі",GenerateLink:"Створити посилання",LinkGeneratedInClipBoard:"Посилання було створено та скопійовано до буферу обміну",DoYouReallyWantToDelete:"Ви дійсно бажаєте видалити",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"Якщо цей файл було відкрито або опубліковано, зміна його назви порушить наявні посилання"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Пошук за назвою",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Тип проєкту",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Мої налаштування облікового запису",MyID:"Моє 🆔",ClickToCopyMyID:"Натисніть, щоб скопіювати моє ID",IDInClipBoard:"Ваш ID було скопійоване і готове для вставки.",StoreMyNameInMyFilesWhenSaving:"Зберігати моє ім'я в моїх файлах при збереженні",DoYouReallyWantToShowYourNameInYourFiles:"Ви дійсно бажаєте відображати ваше ім'я в файлах?",SignFileDisclaimer:"Якщо так, ваше ім'я зможе бачити будь-хто, хто матиме доступ до ваших файлів.",Likes:"Вподобання",AllPublished:"Усі опубліковані",PublishedUnderAliases:"Псевдоніми",UserCount:"Кількість користувачів",SchoolID:"ID Школи",ClassID:"ID Класу"},weatherPanel:{SunshineHours:"Сонячні години"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Виберіть модель повітряної температури",Sinusoidal:"Синусоїдальна"},economicsPanel:{EconomicsParameters:"Параметри економіки",ElectricitySellingPrice:"Ціна продажу електроенергії",OperationalCostPerUnit:"Операційні витрати за одиницю",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Ясність неба",ShowDaylightResults:"Показати результати денного освітлення",ShowSkyClearnessResults:"Показати результати ясності неба",ShowAverageDailySolarRadiation:"Показати середню щоденну сонячну радіацію"},analysisManager:{NoSensorForCollectingData:"Немає датчика для збору даних.",NoSolarPanelForAnalysis:"Немає сонячної панелі для аналізу.",NoObserverForVisibilityAnalysis:"Немає спостерігача для аналізу видимості.",NoWaterHeaterForAnalysis:"Немає водонагрівача для аналізу.",NoParabolicDishForAnalysis:"Немає параболічної тарілки для аналізу.",NoParabolicTroughForAnalysis:"Немає параболічного сонячного колектора для аналізу.",NoFresnelReflectorForAnalysis:"Немає відбивача Френеля для аналізу.",NoHeliostatForAnalysis:"Немає геліостата для аналізу.",NoSolarUpdraftTowerForAnalysis:"Немає сонячної вежі для аналізу.",NoBuildingForAnalysis:"Немає будівлі для аналізу."},toolbar:{CloudFile:"Хмарний файл",Select:"Вибрати",AddFoundation:"Додати фундамент",AddWall:"Додати стіну",AddWindow:"Додати вікно",AddDoor:"Додати двері",AddPyramidRoof:"Додати пірамідальний дах",AddGableRoof:"Додати шатровий дах",AddHipRoof:"Додати чотирихилий дах",AddGambrelRoof:"Додати двосхилий дах",AddMansardRoof:"Додати мансардний дах",AddCuboid:"Додати прямокутний паралелепіпед",AddSensor:"Додати датчик",AddSolarPanel:"Додати сонячну панель",AddWaterHeater:"Додати водонагрівач",AddParabolicDish:"Додати параболічну тарілку",AddParabolicTrough:"Додати параболічний сонячний колектор",AddFresnelReflector:"Додати відбивач Френеля",AddHeliostat:"Додати геліостат",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Додати світло",AddTree:"Додати дерево",AddFlower:"Додати квітку",AddPeople:"Додати людей",DoubleClickToLockThisModeForNextAction:"Подвійне клацання, щоб заблокувати цей режим для наступної дії",ClickToUnlockThisModeForNextAction:"Клацніть, щоб розблокувати цей режим для наступної дії",ManipulateGroup:"Маніпулювати групою",ClearScene:"Очистити сцену",ShowSunAndTimeSettings:"Показати налаштування Сонця та Часу",SpatialAnalysisOfEnergy:"Просторовий аналіз енергії",DoYouReallyWantToClearContent:"Ви дійсно бажаєте очистити вміст",ClickForMoreButtons:"Натисніть для додаткових кнопок"},tooltip:{gotoIFI:"Перейти до Інституту Інтелекту Майбутнього",visitAladdinHomePage:"Відвідати домашню сторінку Aladdin",clickToOpenMenu:"Натисність, щоб відкрити Головне Меню",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Яблуня",Birch:"Береза",Coconut:"Кокос",Dogwood:"Дерен",Elm:"В'яз",FanPalm:"Віяльна пальма",Linden:"Липа",Magnolia:"Магнолія",Maple:"Клен",Oak:"Дуб",Pine:"Сосна",Spruce:"Ялина"},flower:{Bellflower:"Дзвоник",Boxwood:"Самшит",CactusCombo1:"Кактус Комбо 1",CactusCombo2:"Кактус Комбо 2",CactusCombo3:"Кактус Комбо 3",CactusCombo4:"Кактус Комбо 4",Hibiscus:"Гібіскус",Hosta:"Госта",Hydrangea:"Гортензія",Peony:"Півонія",RedRose:"Червона троянда",Spirea:"Спірея",Sunflower:"Соняшник",TallBush:"Високий кущ",Tulip:"Тюльпан",WhiteFlower:"Біла квітка",YellowFlower:"Жовта квітка"},people:{Jaah:"Артем",Jack:"Віталій",Jacob:"Ярослав",Jacqueline:"Олена",Jade:"Ольга",Jamelia:"Олександра",James:"Андрій",Jane:"Вікторія",Jaya:"Ірина",Jaye:"Назар",Jeanette:"Соломія",Jedi:"Євген",Jeff:"Павло",Jena:"Любов",Jennifer:"Тетяна",Jess:"Злата",Jett:"Сергій",Jill:"Надія",Jiya:"Марина",Joan:"Іванна",Jocelyn:"Анастасія",Joel:"Володимир",Joey:"Вероніка",John:"Іван",Jonathon:"Петро",Jose:"Микита",Joseph:"Віктор",Joshua:"Михайло",Judd:"Владислав",Judy:"Марія",Julia:"Юлія",Julio:"Дмитро",Jumapili:"Марта",June:"Анна",Juro:"Юрій",Justin:"Богдан"},compass:{N:"Пн",S:"Пд",W:"Зx",E:"Сх"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Пошук за виробником",SearchByLabel:"Пошук за міткою",MyPublishedModels:"Мої опубліковані моделі",TotalNumberOfUserPublishedModels:"Загальна кількість моделей, опублікованих користувачами",SortFromOldestToNewest:"Сортувати від найдавніших до найновіших",SortFromNewestToOldest:"Сортувати від найновіших до найдавніших",ModelsFoundOnThisSite:"моделей знайдено на цьому сайті",ShowModelsPublishedByThisAuthor:"Показати моделі, опубліковані цим автором"}}};O.use(cLe).use(xft).init({debug:!0,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:Oft,zh_cn:_ft,zh_tw:Vft,es:Gft,tr:Xft,ua:Jft}});var Fpe={},uLe={exports:{}};(function(t){function e(n){return n&&n.__esModule?n:{default:n}}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports})(uLe);var Pd=uLe.exports,PK={};Object.defineProperty(PK,"__esModule",{value:!0});PK.default=void 0;var Kft={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};PK.default=Kft;var CK={},FL={},RK={};Object.defineProperty(RK,"__esModule",{value:!0});RK.default=void 0;var qft={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};RK.default=qft;var LL={};Object.defineProperty(LL,"__esModule",{value:!0});LL.default=void 0;const $ft={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};LL.default=$ft;var dLe=Pd.default;Object.defineProperty(FL,"__esModule",{value:!0});FL.default=void 0;var Qft=dLe(RK),Zft=dLe(LL);const eht={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},Qft.default),timePickerLocale:Object.assign({},Zft.default)};FL.default=eht;var tht=Pd.default;Object.defineProperty(CK,"__esModule",{value:!0});CK.default=void 0;var nht=tht(FL);CK.default=nht.default;var HK=Pd.default;Object.defineProperty(Fpe,"__esModule",{value:!0});var Lpe=Fpe.default=void 0,oht=HK(PK),iht=HK(CK),rht=HK(FL),aht=HK(LL);const H1="${label} is not a valid ${type}",lht={locale:"en",Pagination:oht.default,DatePicker:rht.default,TimePicker:aht.default,Calendar:iht.default,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:H1,method:H1,array:H1,object:H1,number:H1,date:H1,boolean:H1,integer:H1,float:H1,regexp:H1,email:H1,url:H1,hex:H1},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};Lpe=Fpe.default=lht;const sht="/aladdin/assets/weather-4azAMZ4u.csv",cht="/aladdin/assets/solar_radiation_horizontal-D4I5HnbU.csv",uht="/aladdin/assets/solar_radiation_vertical-ChWgQAyS.csv",dht="/aladdin/assets/pvmodules-BhZ8sEOG.csv";function Cm(t){for(var e=arguments.length,n=Array(e>1?e-1:0),o=1;o3?e.i-4:e.i:Array.isArray(t)?1:Wpe(t)?2:Npe(t)?3:0}function ase(t,e){return uH(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function fht(t,e){return uH(t)===2?t.get(e):t[e]}function fLe(t,e,n){var o=uH(t);o===2?t.set(e,n):o===3?t.add(n):t[e]=n}function hht(t,e){return t===e?t!==0||1/t==1/e:t!=t&&e!=e}function Wpe(t){return wht&&t instanceof Map}function Npe(t){return vht&&t instanceof Set}function fd(t){return t.o||t.t}function Upe(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=bht(t);delete e[ql];for(var n=Ope(e),o=0;o1&&(t.set=t.add=t.clear=t.delete=pht),Object.freeze(t),e&&OC(t,function(n,o){return Bpe(o,!0)},!0)),t}function pht(){Cm(2)}function jpe(t){return t==null||typeof t!="object"||Object.isFrozen(t)}function p9(t){var e=sse[t];return e||Cm(18,t),e}function ght(t,e){sse[t]||(sse[t]=e)}function EV(){return ck}function Jne(t,e){e&&(p9("Patches"),t.u=[],t.s=[],t.v=e)}function kV(t){lse(t),t.p.forEach(mht),t.p=null}function lse(t){t===ck&&(ck=t.l)}function HAe(t){return ck={p:[],l:ck,h:t,m:!0,_:0}}function mht(t){var e=t[ql];e.i===0||e.i===1?e.j():e.g=!0}function Kne(t,e){e._=e.p.length;var n=e.p[0],o=t!==void 0&&t!==n;return e.h.O||p9("ES5").S(e,t,o),o?(n[ql].P&&(kV(e),Cm(4)),B6(t)&&(t=FV(e,t),e.l||LV(e,t)),e.u&&p9("Patches").M(n[ql].t,t,e.u,e.s)):t=FV(e,n,[]),kV(e),e.u&&e.v(e.u,e.s),t!==hLe?t:void 0}function FV(t,e,n){if(jpe(e))return e;var o=e[ql];if(!o)return OC(e,function(l,s){return MAe(t,o,e,l,s,n)},!0),e;if(o.A!==t)return e;if(!o.P)return LV(t,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var i=o.i===4||o.i===5?o.o=Upe(o.k):o.o,r=i,a=!1;o.i===3&&(r=new Set(i),i.clear(),a=!0),OC(r,function(l,s){return MAe(t,o,i,l,s,n,a)}),LV(t,i,!1),n&&t.u&&p9("Patches").N(o,n,t.u,t.s)}return o.o}function MAe(t,e,n,o,i,r,a){if(YC(i)){var l=FV(t,i,r&&e&&e.i!==3&&!ase(e.R,o)?r.concat(o):void 0);if(fLe(n,o,l),!YC(l))return;t.m=!1}else a&&n.add(i);if(B6(i)&&!jpe(i)){if(!t.h.D&&t._<1)return;FV(t,i),e&&e.A.l||LV(t,i)}}function LV(t,e,n){n===void 0&&(n=!1),!t.l&&t.h.D&&t.m&&Bpe(e,n)}function qne(t,e){var n=t[ql];return(n?fd(n):t)[e]}function IAe(t,e){if(e in t)for(var n=Object.getPrototypeOf(t);n;){var o=Object.getOwnPropertyDescriptor(n,e);if(o)return o;n=Object.getPrototypeOf(n)}}function s6(t){t.P||(t.P=!0,t.l&&s6(t.l))}function $ne(t){t.o||(t.o=Upe(t.t))}function sk(t,e,n){var o=Wpe(e)?p9("MapSet").F(e,n):Npe(e)?p9("MapSet").T(e,n):t.O?function(i,r){var a=Array.isArray(i),l={i:a?1:0,A:r?r.A:EV(),P:!1,I:!1,R:{},l:r,t:i,k:null,o:null,j:null,C:!1},s=l,c=cse;a&&(s=[l],c=uD);var u=Proxy.revocable(s,c),d=u.revoke,f=u.proxy;return l.k=f,l.j=d,f}(e,n):p9("ES5").J(e,n);return(n?n.A:EV()).p.push(o),o}function yht(t){return YC(t)||Cm(22,t),function e(n){if(!B6(n))return n;var o,i=n[ql],r=uH(n);if(i){if(!i.P&&(i.i<4||!p9("ES5").K(i)))return i.t;i.I=!0,o=zAe(n,r),i.I=!1}else o=zAe(n,r);return OC(o,function(a,l){i&&fht(i.t,a)===l||fLe(o,a,e(l))}),r===3?new Set(o):o}(t)}function zAe(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return Upe(t)}function Aht(){function t(l,s){function c(){this.constructor=l}i(l,s),l.prototype=(c.prototype=s.prototype,new c)}function e(l){l.o||(l.R=new Map,l.o=new Map(l.t))}function n(l){l.o||(l.o=new Set,l.t.forEach(function(s){if(B6(s)){var c=sk(l.A.h,s,l);l.p.set(s,c),l.o.add(c)}else l.o.add(s)}))}function o(l){l.g&&Cm(3,JSON.stringify(fd(l)))}var i=function(l,s){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,u){c.__proto__=u}||function(c,u){for(var d in u)u.hasOwnProperty(d)&&(c[d]=u[d])})(l,s)},r=function(){function l(c,u){return this[ql]={i:2,l:u,A:u?u.A:EV(),P:!1,I:!1,o:void 0,R:void 0,t:c,k:this,C:!1,g:!1},this}t(l,Map);var s=l.prototype;return Object.defineProperty(s,"size",{get:function(){return fd(this[ql]).size}}),s.has=function(c){return fd(this[ql]).has(c)},s.set=function(c,u){var d=this[ql];return o(d),fd(d).has(c)&&fd(d).get(c)===u||(e(d),s6(d),d.R.set(c,!0),d.o.set(c,u),d.R.set(c,!0)),this},s.delete=function(c){if(!this.has(c))return!1;var u=this[ql];return o(u),e(u),s6(u),u.t.has(c)?u.R.set(c,!1):u.R.delete(c),u.o.delete(c),!0},s.clear=function(){var c=this[ql];o(c),fd(c).size&&(e(c),s6(c),c.R=new Map,OC(c.t,function(u){c.R.set(u,!1)}),c.o.clear())},s.forEach=function(c,u){var d=this;fd(this[ql]).forEach(function(f,p){c.call(u,d.get(p),p,d)})},s.get=function(c){var u=this[ql];o(u);var d=fd(u).get(c);if(u.I||!B6(d)||d!==u.t.get(c))return d;var f=sk(u.A.h,d,u);return e(u),u.o.set(c,f),f},s.keys=function(){return fd(this[ql]).keys()},s.values=function(){var c,u=this,d=this.keys();return(c={})[qB]=function(){return u.values()},c.next=function(){var f=d.next();return f.done?f:{done:!1,value:u.get(f.value)}},c},s.entries=function(){var c,u=this,d=this.keys();return(c={})[qB]=function(){return u.entries()},c.next=function(){var f=d.next();if(f.done)return f;var p=u.get(f.value);return{done:!1,value:[f.value,p]}},c},s[qB]=function(){return this.entries()},l}(),a=function(){function l(c,u){return this[ql]={i:3,l:u,A:u?u.A:EV(),P:!1,I:!1,o:void 0,t:c,k:this,p:new Map,g:!1,C:!1},this}t(l,Set);var s=l.prototype;return Object.defineProperty(s,"size",{get:function(){return fd(this[ql]).size}}),s.has=function(c){var u=this[ql];return o(u),u.o?!!u.o.has(c)||!(!u.p.has(c)||!u.o.has(u.p.get(c))):u.t.has(c)},s.add=function(c){var u=this[ql];return o(u),this.has(c)||(n(u),s6(u),u.o.add(c)),this},s.delete=function(c){if(!this.has(c))return!1;var u=this[ql];return o(u),n(u),s6(u),u.o.delete(c)||!!u.p.has(c)&&u.o.delete(u.p.get(c))},s.clear=function(){var c=this[ql];o(c),fd(c).size&&(n(c),s6(c),c.o.clear())},s.values=function(){var c=this[ql];return o(c),n(c),c.o.values()},s.entries=function(){var c=this[ql];return o(c),n(c),c.o.entries()},s.keys=function(){return this.values()},s[qB]=function(){return this.values()},s.forEach=function(c,u){for(var d=this.values(),f=d.next();!f.done;)c.call(u,f.value,f.value,this),f=d.next()},l}();ght("MapSet",{F:function(l,s){return new r(l,s)},T:function(l,s){return new a(l,s)}})}var DAe,ck,Ype=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",wht=typeof Map<"u",vht=typeof Set<"u",EAe=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",hLe=Ype?Symbol.for("immer-nothing"):((DAe={})["immer-nothing"]=!0,DAe),Om=Ype?Symbol.for("immer-draftable"):"__$immer_draftable",ql=Ype?Symbol.for("immer-state"):"__$immer_state",qB=typeof Symbol<"u"&&Symbol.iterator||"@@iterator",xht=""+Object.prototype.constructor,Ope=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,bht=Object.getOwnPropertyDescriptors||function(t){var e={};return Ope(t).forEach(function(n){e[n]=Object.getOwnPropertyDescriptor(t,n)}),e},sse={},cse={get:function(t,e){if(e===ql)return t;var n=fd(t);if(!ase(n,e))return function(i,r,a){var l,s=IAe(r,a);return s?"value"in s?s.value:(l=s.get)===null||l===void 0?void 0:l.call(i.k):void 0}(t,n,e);var o=n[e];return t.I||!B6(o)?o:o===qne(t.t,e)?($ne(t),t.o[e]=sk(t.A.h,o,t)):o},has:function(t,e){return e in fd(t)},ownKeys:function(t){return Reflect.ownKeys(fd(t))},set:function(t,e,n){var o=IAe(fd(t),e);if(o!=null&&o.set)return o.set.call(t.k,n),!0;if(!t.P){var i=qne(fd(t),e),r=i==null?void 0:i[ql];if(r&&r.t===n)return t.o[e]=n,t.R[e]=!1,!0;if(hht(n,i)&&(n!==void 0||ase(t.t,e)))return!0;$ne(t),s6(t)}return t.o[e]===n&&(n!==void 0||e in t.o)||Number.isNaN(n)&&Number.isNaN(t.o[e])||(t.o[e]=n,t.R[e]=!0),!0},deleteProperty:function(t,e){return qne(t.t,e)!==void 0||e in t.t?(t.R[e]=!1,$ne(t),s6(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var n=fd(t),o=Reflect.getOwnPropertyDescriptor(n,e);return o&&{writable:!0,configurable:t.i!==1||e!=="length",enumerable:o.enumerable,value:n[e]}},defineProperty:function(){Cm(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){Cm(12)}},uD={};OC(cse,function(t,e){uD[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}}),uD.deleteProperty=function(t,e){return uD.set.call(this,t,e,void 0)},uD.set=function(t,e,n){return cse.set.call(this,t[0],e,n,t[0])};var Sht=function(){function t(n){var o=this;this.O=EAe,this.D=!0,this.produce=function(i,r,a){if(typeof i=="function"&&typeof r!="function"){var l=r;r=i;var s=o;return function(y){var A=this;y===void 0&&(y=l);for(var x=arguments.length,C=Array(x>1?x-1:0),b=1;b1?u-1:0),f=1;f=0;i--){var r=o[i];if(r.path.length===0&&r.op==="replace"){n=r.value;break}}i>-1&&(o=o.slice(i+1));var a=p9("Patches").$;return YC(n)?a(n,o):this.produce(n,function(l){return a(l,o)})},t}(),Sg=new Sht,LP=Sg.produce;Sg.produceWithPatches.bind(Sg);Sg.setAutoFreeze.bind(Sg);Sg.setUseProxies.bind(Sg);Sg.applyPatches.bind(Sg);Sg.createDraft.bind(Sg);Sg.finishDraft.bind(Sg);/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const WL="158",ov={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},iv={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},pLe=0,use=1,gLe=2,Tht=3,mLe=0,MK=1,qD=2,e2=3,ia=0,p0=1,ji=2,Pht=2,P6=0,tx=1,_C=2,dse=3,fse=4,yLe=5,$4=100,ALe=101,wLe=102,hse=103,pse=104,vLe=200,xLe=201,bLe=202,SLe=203,WV=204,NV=205,TLe=206,PLe=207,CLe=208,RLe=209,HLe=210,MLe=211,ILe=212,zLe=213,DLe=214,ELe=0,kLe=1,FLe=2,uk=3,LLe=4,WLe=5,NLe=6,ULe=7,NL=0,BLe=1,jLe=2,g9=0,YLe=1,OLe=2,_Le=3,_pe=4,VLe=5,gse="attached",GLe="detached",IK=300,j6=301,Gw=302,dk=303,fk=304,dH=306,Ss=1e3,ah=1001,hk=1002,F0=1003,UV=1004,Cht=1004,$D=1005,Rht=1005,js=1006,Vpe=1007,Hht=1007,Xw=1008,Mht=1008,m9=1009,XLe=1010,JLe=1011,zK=1012,Gpe=1013,p6=1014,h2=1015,Lx=1016,Xpe=1017,Jpe=1018,Dw=1020,KLe=1021,kp=1023,qLe=1024,$Le=1025,Ew=1026,Wx=1027,QLe=1028,Kpe=1029,ZLe=1030,qpe=1031,$pe=1033,d_=33776,f_=33777,h_=33778,p_=33779,mse=35840,yse=35841,Ase=35842,wse=35843,eWe=36196,vse=37492,xse=37496,bse=37808,Sse=37809,Tse=37810,Pse=37811,Cse=37812,Rse=37813,Hse=37814,Mse=37815,Ise=37816,zse=37817,Dse=37818,Ese=37819,kse=37820,Fse=37821,g_=36492,Lse=36494,Wse=36495,tWe=36283,Nse=36284,Use=36285,Bse=36286,nWe=2200,oWe=2201,iWe=2202,pk=2300,gk=2301,m_=2302,Cv=2400,Rv=2401,mk=2402,DK=2500,Qpe=2501,Iht=0,zht=1,Dht=2,Zpe=3e3,kw=3001,rWe=3200,e1e=3201,b7=0,aWe=1,ig="",nu="srgb",R9="srgb-linear",EK="display-p3",UL="display-p3-linear",yk="linear",Ws="srgb",Ak="rec709",wk="p3",Eht=0,rv=7680,kht=7681,Fht=7682,Lht=7683,Wht=34055,Nht=34056,Uht=5386,Bht=512,jht=513,Yht=514,Oht=515,_ht=516,Vht=517,Ght=518,jse=519,lWe=512,sWe=513,cWe=514,uWe=515,dWe=516,fWe=517,hWe=518,pWe=519,vk=35044,Xht=35048,Jht=35040,Kht=35045,qht=35049,$ht=35041,Qht=35046,Zht=35050,ept=35042,tpt="100",Yse="300 es",BV=1035,a9=2e3,xk=2001;class V9{addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const o=this._listeners;o[e]===void 0&&(o[e]=[]),o[e].indexOf(n)===-1&&o[e].push(n)}hasEventListener(e,n){if(this._listeners===void 0)return!1;const o=this._listeners;return o[e]!==void 0&&o[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const i=this._listeners[e];if(i!==void 0){const r=i.indexOf(n);r!==-1&&i.splice(r,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const o=this._listeners[e.type];if(o!==void 0){e.target=this;const i=o.slice(0);for(let r=0,a=i.length;r>8&255]+jf[t>>16&255]+jf[t>>24&255]+"-"+jf[e&255]+jf[e>>8&255]+"-"+jf[e>>16&15|64]+jf[e>>24&255]+"-"+jf[n&63|128]+jf[n>>8&255]+"-"+jf[n>>16&255]+jf[n>>24&255]+jf[o&255]+jf[o>>8&255]+jf[o>>16&255]+jf[o>>24&255]).toLowerCase()}function h0(t,e,n){return Math.max(e,Math.min(n,t))}function t1e(t,e){return(t%e+e)%e}function npt(t,e,n,o,i){return o+(t-e)*(i-o)/(n-e)}function opt(t,e,n){return t!==e?(n-t)/(e-t):0}function QD(t,e,n){return(1-n)*t+n*e}function ipt(t,e,n,o){return QD(t,e,1-Math.exp(-n*o))}function rpt(t,e=1){return e-Math.abs(t1e(t,e*2)-e)}function apt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function lpt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function spt(t,e){return t+Math.floor(Math.random()*(e-t+1))}function cpt(t,e){return t+Math.random()*(e-t)}function upt(t){return t*(.5-Math.random())}function dpt(t){t!==void 0&&(kAe=t);let e=kAe+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function fpt(t){return t*nx}function hpt(t){return t*VC}function Ose(t){return(t&t-1)===0&&t!==0}function gWe(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function jV(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function ppt(t,e,n,o,i){const r=Math.cos,a=Math.sin,l=r(n/2),s=a(n/2),c=r((e+o)/2),u=a((e+o)/2),d=r((e-o)/2),f=a((e-o)/2),p=r((o-e)/2),g=a((o-e)/2);switch(i){case"XYX":t.set(l*u,s*d,s*f,l*c);break;case"YZY":t.set(s*f,l*u,s*d,l*c);break;case"ZXZ":t.set(s*d,s*f,l*u,l*c);break;case"XZX":t.set(l*u,s*g,s*p,l*c);break;case"YXY":t.set(s*p,l*u,s*g,l*c);break;case"ZYZ":t.set(s*g,s*p,l*u,l*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Fp(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function ma(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const mWe={DEG2RAD:nx,RAD2DEG:VC,generateUUID:mg,clamp:h0,euclideanModulo:t1e,mapLinear:npt,inverseLerp:opt,lerp:QD,damp:ipt,pingpong:rpt,smoothstep:apt,smootherstep:lpt,randInt:spt,randFloat:cpt,randFloatSpread:upt,seededRandom:dpt,degToRad:fpt,radToDeg:hpt,isPowerOfTwo:Ose,ceilPowerOfTwo:gWe,floorPowerOfTwo:jV,setQuaternionFromProperEuler:ppt,normalize:ma,denormalize:Fp};class Gt{constructor(e=0,n=0){Gt.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,o=this.y,i=e.elements;return this.x=i[0]*n+i[3]*o+i[6],this.y=i[1]*n+i[4]*o+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const o=this.dot(e)/n;return Math.acos(h0(o,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,o=this.y-e.y;return n*n+o*o}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const o=Math.cos(n),i=Math.sin(n),r=this.x-e.x,a=this.y-e.y;return this.x=r*o-a*i+e.x,this.y=r*i+a*o+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class fa{constructor(e,n,o,i,r,a,l,s,c){fa.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,o,i,r,a,l,s,c)}set(e,n,o,i,r,a,l,s,c){const u=this.elements;return u[0]=e,u[1]=i,u[2]=l,u[3]=n,u[4]=r,u[5]=s,u[6]=o,u[7]=a,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,o=e.elements;return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=o[6],n[7]=o[7],n[8]=o[8],this}extractBasis(e,n,o){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),o.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const o=e.elements,i=n.elements,r=this.elements,a=o[0],l=o[3],s=o[6],c=o[1],u=o[4],d=o[7],f=o[2],p=o[5],g=o[8],y=i[0],A=i[3],x=i[6],C=i[1],b=i[4],v=i[7],S=i[2],w=i[5],T=i[8];return r[0]=a*y+l*C+s*S,r[3]=a*A+l*b+s*w,r[6]=a*x+l*v+s*T,r[1]=c*y+u*C+d*S,r[4]=c*A+u*b+d*w,r[7]=c*x+u*v+d*T,r[2]=f*y+p*C+g*S,r[5]=f*A+p*b+g*w,r[8]=f*x+p*v+g*T,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8];return n*a*u-n*l*c-o*r*u+o*l*s+i*r*c-i*a*s}invert(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8],d=u*a-l*c,f=l*s-u*r,p=c*r-a*s,g=n*d+o*f+i*p;if(g===0)return this.set(0,0,0,0,0,0,0,0,0);const y=1/g;return e[0]=d*y,e[1]=(i*c-u*o)*y,e[2]=(l*o-i*a)*y,e[3]=f*y,e[4]=(u*n-i*s)*y,e[5]=(i*r-l*n)*y,e[6]=p*y,e[7]=(o*s-c*n)*y,e[8]=(a*n-o*r)*y,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,o,i,r,a,l){const s=Math.cos(r),c=Math.sin(r);return this.set(o*s,o*c,-o*(s*a+c*l)+a+e,-i*c,i*s,-i*(-c*a+s*l)+l+n,0,0,1),this}scale(e,n){return this.premultiply(Qne.makeScale(e,n)),this}rotate(e){return this.premultiply(Qne.makeRotation(-e)),this}translate(e,n){return this.premultiply(Qne.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,-o,0,o,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,o=e.elements;for(let i=0;i<9;i++)if(n[i]!==o[i])return!1;return!0}fromArray(e,n=0){for(let o=0;o<9;o++)this.elements[o]=e[o+n];return this}toArray(e=[],n=0){const o=this.elements;return e[n]=o[0],e[n+1]=o[1],e[n+2]=o[2],e[n+3]=o[3],e[n+4]=o[4],e[n+5]=o[5],e[n+6]=o[6],e[n+7]=o[7],e[n+8]=o[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Qne=new fa;function yWe(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const gpt={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function WP(t,e){return new gpt[t](e)}function bk(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function AWe(){const t=bk("canvas");return t.style.display="block",t}const FAe={};function ZD(t){t in FAe||(FAe[t]=!0,console.warn(t))}const LAe=new fa().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),WAe=new fa().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),$B={[R9]:{transfer:yk,primaries:Ak,toReference:t=>t,fromReference:t=>t},[nu]:{transfer:Ws,primaries:Ak,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[UL]:{transfer:yk,primaries:wk,toReference:t=>t.applyMatrix3(WAe),fromReference:t=>t.applyMatrix3(LAe)},[EK]:{transfer:Ws,primaries:wk,toReference:t=>t.convertSRGBToLinear().applyMatrix3(WAe),fromReference:t=>t.applyMatrix3(LAe).convertLinearToSRGB()}},mpt=new Set([R9,UL]),rs={enabled:!0,_workingColorSpace:R9,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(t){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!t},get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!mpt.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const o=$B[e].toReference,i=$B[n].fromReference;return i(o(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return $B[t].primaries},getTransfer:function(t){return t===ig?yk:$B[t].transfer}};function fC(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function Zne(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let JS;class n1e{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{JS===void 0&&(JS=bk("canvas")),JS.width=e.width,JS.height=e.height;const o=JS.getContext("2d");e instanceof ImageData?o.putImageData(e,0,0):o.drawImage(e,0,0,e.width,e.height),n=JS}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=bk("canvas");n.width=e.width,n.height=e.height;const o=n.getContext("2d");o.drawImage(e,0,0,e.width,e.height);const i=o.getImageData(0,0,e.width,e.height),r=i.data;for(let a=0;a0&&(o.userData=this.userData),n||(e.textures[this.uuid]=o),o}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==IK)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Ss:e.x=e.x-Math.floor(e.x);break;case ah:e.x=e.x<0?0:1;break;case hk:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Ss:e.y=e.y-Math.floor(e.y);break;case ah:e.y=e.y<0?0:1;break;case hk:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ZD("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===nu?kw:Zpe}set encoding(e){ZD("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===kw?nu:ig}}_c.DEFAULT_IMAGE=null;_c.DEFAULT_MAPPING=IK;_c.DEFAULT_ANISOTROPY=1;class ll{constructor(e=0,n=0,o=0,i=1){ll.prototype.isVector4=!0,this.x=e,this.y=n,this.z=o,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,o,i){return this.x=e,this.y=n,this.z=o,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,o=this.y,i=this.z,r=this.w,a=e.elements;return this.x=a[0]*n+a[4]*o+a[8]*i+a[12]*r,this.y=a[1]*n+a[5]*o+a[9]*i+a[13]*r,this.z=a[2]*n+a[6]*o+a[10]*i+a[14]*r,this.w=a[3]*n+a[7]*o+a[11]*i+a[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,o,i,r;const s=e.elements,c=s[0],u=s[4],d=s[8],f=s[1],p=s[5],g=s[9],y=s[2],A=s[6],x=s[10];if(Math.abs(u-f)<.01&&Math.abs(d-y)<.01&&Math.abs(g-A)<.01){if(Math.abs(u+f)<.1&&Math.abs(d+y)<.1&&Math.abs(g+A)<.1&&Math.abs(c+p+x-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const b=(c+1)/2,v=(p+1)/2,S=(x+1)/2,w=(u+f)/4,T=(d+y)/4,P=(g+A)/4;return b>v&&b>S?b<.01?(o=0,i=.707106781,r=.707106781):(o=Math.sqrt(b),i=w/o,r=T/o):v>S?v<.01?(o=.707106781,i=0,r=.707106781):(i=Math.sqrt(v),o=w/i,r=P/i):S<.01?(o=.707106781,i=.707106781,r=0):(r=Math.sqrt(S),o=T/r,i=P/r),this.set(o,i,r,n),this}let C=Math.sqrt((A-g)*(A-g)+(d-y)*(d-y)+(f-u)*(f-u));return Math.abs(C)<.001&&(C=1),this.x=(A-g)/C,this.y=(d-y)/C,this.z=(f-u)/C,this.w=Math.acos((c+p+x-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this.z=e.z+(n.z-e.z)*o,this.w=e.w+(n.w-e.w)*o,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class wWe extends V9{constructor(e=1,n=1,o={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new ll(0,0,e,n),this.scissorTest=!1,this.viewport=new ll(0,0,e,n);const i={width:e,height:n,depth:1};o.encoding!==void 0&&(ZD("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),o.colorSpace=o.encoding===kw?nu:ig),o=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:js,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},o),this.texture=new _c(i,o.mapping,o.wrapS,o.wrapT,o.magFilter,o.minFilter,o.format,o.type,o.anisotropy,o.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=o.generateMipmaps,this.texture.internalFormat=o.internalFormat,this.depthBuffer=o.depthBuffer,this.stencilBuffer=o.stencilBuffer,this.depthTexture=o.depthTexture,this.samples=o.samples}setSize(e,n,o=1){(this.width!==e||this.height!==n||this.depth!==o)&&(this.width=e,this.height=n,this.depth=o,this.texture.image.width=e,this.texture.image.height=n,this.texture.image.depth=o,this.dispose()),this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const n=Object.assign({},e.texture.image);return this.texture.source=new Hv(n),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class _m extends wWe{constructor(e=1,n=1,o={}){super(e,n,o),this.isWebGLRenderTarget=!0}}class kK extends _c{constructor(e=null,n=1,o=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:n,height:o,depth:i},this.magFilter=F0,this.minFilter=F0,this.wrapR=ah,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class wpt extends _m{constructor(e=1,n=1,o=1){super(e,n),this.isWebGLArrayRenderTarget=!0,this.depth=o,this.texture=new kK(null,e,n,o),this.texture.isRenderTargetTexture=!0}}class o1e extends _c{constructor(e=null,n=1,o=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:n,height:o,depth:i},this.magFilter=F0,this.minFilter=F0,this.wrapR=ah,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class vpt extends _m{constructor(e=1,n=1,o=1){super(e,n),this.isWebGL3DRenderTarget=!0,this.depth=o,this.texture=new o1e(null,e,n,o),this.texture.isRenderTargetTexture=!0}}class xpt extends _m{constructor(e=1,n=1,o=1,i={}){super(e,n,i),this.isWebGLMultipleRenderTargets=!0;const r=this.texture;this.texture=[];for(let a=0;a=0?1:-1,b=1-x*x;if(b>Number.EPSILON){const S=Math.sqrt(b),w=Math.atan2(S,x*C);A=Math.sin(A*w)/S,l=Math.sin(l*w)/S}const v=l*C;if(s=s*A+f*v,c=c*A+p*v,u=u*A+g*v,d=d*A+y*v,A===1-l){const S=1/Math.sqrt(s*s+c*c+u*u+d*d);s*=S,c*=S,u*=S,d*=S}}e[n]=s,e[n+1]=c,e[n+2]=u,e[n+3]=d}static multiplyQuaternionsFlat(e,n,o,i,r,a){const l=o[i],s=o[i+1],c=o[i+2],u=o[i+3],d=r[a],f=r[a+1],p=r[a+2],g=r[a+3];return e[n]=l*g+u*d+s*p-c*f,e[n+1]=s*g+u*f+c*d-l*p,e[n+2]=c*g+u*p+l*f-s*d,e[n+3]=u*g-l*d-s*f-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,o,i){return this._x=e,this._y=n,this._z=o,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n){const o=e._x,i=e._y,r=e._z,a=e._order,l=Math.cos,s=Math.sin,c=l(o/2),u=l(i/2),d=l(r/2),f=s(o/2),p=s(i/2),g=s(r/2);switch(a){case"XYZ":this._x=f*u*d+c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d-f*p*g;break;case"YXZ":this._x=f*u*d+c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d+f*p*g;break;case"ZXY":this._x=f*u*d-c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d-f*p*g;break;case"ZYX":this._x=f*u*d-c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d+f*p*g;break;case"YZX":this._x=f*u*d+c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d-f*p*g;break;case"XZY":this._x=f*u*d-c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d+f*p*g;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return n!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const o=n/2,i=Math.sin(o);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(o),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,o=n[0],i=n[4],r=n[8],a=n[1],l=n[5],s=n[9],c=n[2],u=n[6],d=n[10],f=o+l+d;if(f>0){const p=.5/Math.sqrt(f+1);this._w=.25/p,this._x=(u-s)*p,this._y=(r-c)*p,this._z=(a-i)*p}else if(o>l&&o>d){const p=2*Math.sqrt(1+o-l-d);this._w=(u-s)/p,this._x=.25*p,this._y=(i+a)/p,this._z=(r+c)/p}else if(l>d){const p=2*Math.sqrt(1+l-o-d);this._w=(r-c)/p,this._x=(i+a)/p,this._y=.25*p,this._z=(s+u)/p}else{const p=2*Math.sqrt(1+d-o-l);this._w=(a-i)/p,this._x=(r+c)/p,this._y=(s+u)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let o=e.dot(n)+1;return oMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=o):(this._x=0,this._y=-e.z,this._z=e.y,this._w=o)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=o),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(h0(this.dot(e),-1,1)))}rotateTowards(e,n){const o=this.angleTo(e);if(o===0)return this;const i=Math.min(1,n/o);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const o=e._x,i=e._y,r=e._z,a=e._w,l=n._x,s=n._y,c=n._z,u=n._w;return this._x=o*u+a*l+i*c-r*s,this._y=i*u+a*s+r*l-o*c,this._z=r*u+a*c+o*s-i*l,this._w=a*u-o*l-i*s-r*c,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const o=this._x,i=this._y,r=this._z,a=this._w;let l=a*e._w+o*e._x+i*e._y+r*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=o,this._y=i,this._z=r,this;const s=1-l*l;if(s<=Number.EPSILON){const p=1-n;return this._w=p*a+n*this._w,this._x=p*o+n*this._x,this._y=p*i+n*this._y,this._z=p*r+n*this._z,this.normalize(),this._onChangeCallback(),this}const c=Math.sqrt(s),u=Math.atan2(c,l),d=Math.sin((1-n)*u)/c,f=Math.sin(n*u)/c;return this._w=a*d+this._w*f,this._x=o*d+this._x*f,this._y=i*d+this._y*f,this._z=r*d+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,n,o){return this.copy(e).slerp(n,o)}random(){const e=Math.random(),n=Math.sqrt(1-e),o=Math.sqrt(e),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(n*Math.cos(i),o*Math.sin(r),o*Math.cos(r),n*Math.sin(i))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class ae{constructor(e=0,n=0,o=0){ae.prototype.isVector3=!0,this.x=e,this.y=n,this.z=o}set(e,n,o){return o===void 0&&(o=this.z),this.x=e,this.y=n,this.z=o,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(NAe.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(NAe.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,o=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[3]*o+r[6]*i,this.y=r[1]*n+r[4]*o+r[7]*i,this.z=r[2]*n+r[5]*o+r[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,o=this.y,i=this.z,r=e.elements,a=1/(r[3]*n+r[7]*o+r[11]*i+r[15]);return this.x=(r[0]*n+r[4]*o+r[8]*i+r[12])*a,this.y=(r[1]*n+r[5]*o+r[9]*i+r[13])*a,this.z=(r[2]*n+r[6]*o+r[10]*i+r[14])*a,this}applyQuaternion(e){const n=this.x,o=this.y,i=this.z,r=e.x,a=e.y,l=e.z,s=e.w,c=2*(a*i-l*o),u=2*(l*n-r*i),d=2*(r*o-a*n);return this.x=n+s*c+a*d-l*u,this.y=o+s*u+l*c-r*d,this.z=i+s*d+r*u-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,o=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[4]*o+r[8]*i,this.y=r[1]*n+r[5]*o+r[9]*i,this.z=r[2]*n+r[6]*o+r[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this.z=e.z+(n.z-e.z)*o,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const o=e.x,i=e.y,r=e.z,a=n.x,l=n.y,s=n.z;return this.x=i*s-r*l,this.y=r*a-o*s,this.z=o*l-i*a,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const o=e.dot(this)/n;return this.copy(e).multiplyScalar(o)}projectOnPlane(e){return toe.copy(this).projectOnVector(e),this.sub(toe)}reflect(e){return this.sub(toe.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const o=this.dot(e)/n;return Math.acos(h0(o,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,o=this.y-e.y,i=this.z-e.z;return n*n+o*o+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,o){const i=Math.sin(n)*e;return this.x=i*Math.sin(o),this.y=Math.cos(n)*e,this.z=i*Math.cos(o),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,o){return this.x=e*Math.sin(n),this.y=o,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),o=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=o,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,n=Math.random()*Math.PI*2,o=Math.sqrt(1-e**2);return this.x=o*Math.cos(n),this.y=o*Math.sin(n),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const toe=new ae,NAe=new Ts;class pf{constructor(e=new ae(1/0,1/0,1/0),n=new ae(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,o=e.length;nthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Ny),Ny.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,o;return e.normal.x>0?(n=e.normal.x*this.min.x,o=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,o=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,o+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,o+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,o+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,o+=e.normal.z*this.min.z),n<=-e.constant&&o>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(oz),ZB.subVectors(this.max,oz),KS.subVectors(e.a,oz),qS.subVectors(e.b,oz),$S.subVectors(e.c,oz),d4.subVectors(qS,KS),f4.subVectors($S,qS),I8.subVectors(KS,$S);let n=[0,-d4.z,d4.y,0,-f4.z,f4.y,0,-I8.z,I8.y,d4.z,0,-d4.x,f4.z,0,-f4.x,I8.z,0,-I8.x,-d4.y,d4.x,0,-f4.y,f4.x,0,-I8.y,I8.x,0];return!noe(n,KS,qS,$S,ZB)||(n=[1,0,0,0,1,0,0,0,1],!noe(n,KS,qS,$S,ZB))?!1:(ej.crossVectors(d4,f4),n=[ej.x,ej.y,ej.z],noe(n,KS,qS,$S,ZB))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Ny).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Ny).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(O3[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),O3[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),O3[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),O3[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),O3[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),O3[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),O3[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),O3[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(O3),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const O3=[new ae,new ae,new ae,new ae,new ae,new ae,new ae,new ae],Ny=new ae,QB=new pf,KS=new ae,qS=new ae,$S=new ae,d4=new ae,f4=new ae,I8=new ae,oz=new ae,ZB=new ae,ej=new ae,z8=new ae;function noe(t,e,n,o,i){for(let r=0,a=t.length-3;r<=a;r+=3){z8.fromArray(t,r);const l=i.x*Math.abs(z8.x)+i.y*Math.abs(z8.y)+i.z*Math.abs(z8.z),s=e.dot(z8),c=n.dot(z8),u=o.dot(z8);if(Math.max(-Math.max(s,c,u),Math.min(s,c,u))>l)return!1}return!0}const bpt=new pf,iz=new ae,ooe=new ae;let t1=class{constructor(e=new ae,n=-1){this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const o=this.center;n!==void 0?o.copy(n):bpt.setFromPoints(e).getCenter(o);let i=0;for(let r=0,a=e.length;rthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;iz.subVectors(e,this.center);const n=iz.lengthSq();if(n>this.radius*this.radius){const o=Math.sqrt(n),i=(o-this.radius)*.5;this.center.addScaledVector(iz,i/o),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(ooe.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(iz.copy(e.center).add(ooe)),this.expandByPoint(iz.copy(e.center).sub(ooe))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}};const _3=new ae,ioe=new ae,tj=new ae,h4=new ae,roe=new ae,nj=new ae,aoe=new ae;class fH{constructor(e=new ae,n=new ae(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,_3)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const o=n.dot(this.direction);return o<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,o)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=_3.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(_3.copy(this.origin).addScaledVector(this.direction,n),_3.distanceToSquared(e))}distanceSqToSegment(e,n,o,i){ioe.copy(e).add(n).multiplyScalar(.5),tj.copy(n).sub(e).normalize(),h4.copy(this.origin).sub(ioe);const r=e.distanceTo(n)*.5,a=-this.direction.dot(tj),l=h4.dot(this.direction),s=-h4.dot(tj),c=h4.lengthSq(),u=Math.abs(1-a*a);let d,f,p,g;if(u>0)if(d=a*s-l,f=a*l-s,g=r*u,d>=0)if(f>=-g)if(f<=g){const y=1/u;d*=y,f*=y,p=d*(d+a*f+2*l)+f*(a*d+f+2*s)+c}else f=r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;else f=-r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;else f<=-g?(d=Math.max(0,-(-a*r+l)),f=d>0?-r:Math.min(Math.max(-r,-s),r),p=-d*d+f*(f+2*s)+c):f<=g?(d=0,f=Math.min(Math.max(-r,-s),r),p=f*(f+2*s)+c):(d=Math.max(0,-(a*r+l)),f=d>0?r:Math.min(Math.max(-r,-s),r),p=-d*d+f*(f+2*s)+c);else f=a>0?-r:r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;return o&&o.copy(this.origin).addScaledVector(this.direction,d),i&&i.copy(ioe).addScaledVector(tj,f),p}intersectSphere(e,n){_3.subVectors(e.center,this.origin);const o=_3.dot(this.direction),i=_3.dot(_3)-o*o,r=e.radius*e.radius;if(i>r)return null;const a=Math.sqrt(r-i),l=o-a,s=o+a;return s<0?null:l<0?this.at(s,n):this.at(l,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const o=-(this.origin.dot(e.normal)+e.constant)/n;return o>=0?o:null}intersectPlane(e,n){const o=this.distanceToPlane(e);return o===null?null:this.at(o,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let o,i,r,a,l,s;const c=1/this.direction.x,u=1/this.direction.y,d=1/this.direction.z,f=this.origin;return c>=0?(o=(e.min.x-f.x)*c,i=(e.max.x-f.x)*c):(o=(e.max.x-f.x)*c,i=(e.min.x-f.x)*c),u>=0?(r=(e.min.y-f.y)*u,a=(e.max.y-f.y)*u):(r=(e.max.y-f.y)*u,a=(e.min.y-f.y)*u),o>a||r>i||((r>o||isNaN(o))&&(o=r),(a=0?(l=(e.min.z-f.z)*d,s=(e.max.z-f.z)*d):(l=(e.max.z-f.z)*d,s=(e.min.z-f.z)*d),o>s||l>i)||((l>o||o!==o)&&(o=l),(s=0?o:i,n)}intersectsBox(e){return this.intersectBox(e,_3)!==null}intersectTriangle(e,n,o,i,r){roe.subVectors(n,e),nj.subVectors(o,e),aoe.crossVectors(roe,nj);let a=this.direction.dot(aoe),l;if(a>0){if(i)return null;l=1}else if(a<0)l=-1,a=-a;else return null;h4.subVectors(this.origin,e);const s=l*this.direction.dot(nj.crossVectors(h4,nj));if(s<0)return null;const c=l*this.direction.dot(roe.cross(h4));if(c<0||s+c>a)return null;const u=-l*h4.dot(aoe);return u<0?null:this.at(u/a,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Xr{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A){Xr.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A)}set(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A){const x=this.elements;return x[0]=e,x[4]=n,x[8]=o,x[12]=i,x[1]=r,x[5]=a,x[9]=l,x[13]=s,x[2]=c,x[6]=u,x[10]=d,x[14]=f,x[3]=p,x[7]=g,x[11]=y,x[15]=A,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Xr().fromArray(this.elements)}copy(e){const n=this.elements,o=e.elements;return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=o[6],n[7]=o[7],n[8]=o[8],n[9]=o[9],n[10]=o[10],n[11]=o[11],n[12]=o[12],n[13]=o[13],n[14]=o[14],n[15]=o[15],this}copyPosition(e){const n=this.elements,o=e.elements;return n[12]=o[12],n[13]=o[13],n[14]=o[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,o){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),o.setFromMatrixColumn(this,2),this}makeBasis(e,n,o){return this.set(e.x,n.x,o.x,0,e.y,n.y,o.y,0,e.z,n.z,o.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,o=e.elements,i=1/QS.setFromMatrixColumn(e,0).length(),r=1/QS.setFromMatrixColumn(e,1).length(),a=1/QS.setFromMatrixColumn(e,2).length();return n[0]=o[0]*i,n[1]=o[1]*i,n[2]=o[2]*i,n[3]=0,n[4]=o[4]*r,n[5]=o[5]*r,n[6]=o[6]*r,n[7]=0,n[8]=o[8]*a,n[9]=o[9]*a,n[10]=o[10]*a,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,o=e.x,i=e.y,r=e.z,a=Math.cos(o),l=Math.sin(o),s=Math.cos(i),c=Math.sin(i),u=Math.cos(r),d=Math.sin(r);if(e.order==="XYZ"){const f=a*u,p=a*d,g=l*u,y=l*d;n[0]=s*u,n[4]=-s*d,n[8]=c,n[1]=p+g*c,n[5]=f-y*c,n[9]=-l*s,n[2]=y-f*c,n[6]=g+p*c,n[10]=a*s}else if(e.order==="YXZ"){const f=s*u,p=s*d,g=c*u,y=c*d;n[0]=f+y*l,n[4]=g*l-p,n[8]=a*c,n[1]=a*d,n[5]=a*u,n[9]=-l,n[2]=p*l-g,n[6]=y+f*l,n[10]=a*s}else if(e.order==="ZXY"){const f=s*u,p=s*d,g=c*u,y=c*d;n[0]=f-y*l,n[4]=-a*d,n[8]=g+p*l,n[1]=p+g*l,n[5]=a*u,n[9]=y-f*l,n[2]=-a*c,n[6]=l,n[10]=a*s}else if(e.order==="ZYX"){const f=a*u,p=a*d,g=l*u,y=l*d;n[0]=s*u,n[4]=g*c-p,n[8]=f*c+y,n[1]=s*d,n[5]=y*c+f,n[9]=p*c-g,n[2]=-c,n[6]=l*s,n[10]=a*s}else if(e.order==="YZX"){const f=a*s,p=a*c,g=l*s,y=l*c;n[0]=s*u,n[4]=y-f*d,n[8]=g*d+p,n[1]=d,n[5]=a*u,n[9]=-l*u,n[2]=-c*u,n[6]=p*d+g,n[10]=f-y*d}else if(e.order==="XZY"){const f=a*s,p=a*c,g=l*s,y=l*c;n[0]=s*u,n[4]=-d,n[8]=c*u,n[1]=f*d+y,n[5]=a*u,n[9]=p*d-g,n[2]=g*d-p,n[6]=l*u,n[10]=y*d+f}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Spt,e,Tpt)}lookAt(e,n,o){const i=this.elements;return H1.subVectors(e,n),H1.lengthSq()===0&&(H1.z=1),H1.normalize(),p4.crossVectors(o,H1),p4.lengthSq()===0&&(Math.abs(o.z)===1?H1.x+=1e-4:H1.z+=1e-4,H1.normalize(),p4.crossVectors(o,H1)),p4.normalize(),oj.crossVectors(H1,p4),i[0]=p4.x,i[4]=oj.x,i[8]=H1.x,i[1]=p4.y,i[5]=oj.y,i[9]=H1.y,i[2]=p4.z,i[6]=oj.z,i[10]=H1.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const o=e.elements,i=n.elements,r=this.elements,a=o[0],l=o[4],s=o[8],c=o[12],u=o[1],d=o[5],f=o[9],p=o[13],g=o[2],y=o[6],A=o[10],x=o[14],C=o[3],b=o[7],v=o[11],S=o[15],w=i[0],T=i[4],P=i[8],R=i[12],H=i[1],D=i[5],E=i[9],L=i[13],U=i[2],F=i[6],W=i[10],B=i[14],k=i[3],N=i[7],j=i[11],Y=i[15];return r[0]=a*w+l*H+s*U+c*k,r[4]=a*T+l*D+s*F+c*N,r[8]=a*P+l*E+s*W+c*j,r[12]=a*R+l*L+s*B+c*Y,r[1]=u*w+d*H+f*U+p*k,r[5]=u*T+d*D+f*F+p*N,r[9]=u*P+d*E+f*W+p*j,r[13]=u*R+d*L+f*B+p*Y,r[2]=g*w+y*H+A*U+x*k,r[6]=g*T+y*D+A*F+x*N,r[10]=g*P+y*E+A*W+x*j,r[14]=g*R+y*L+A*B+x*Y,r[3]=C*w+b*H+v*U+S*k,r[7]=C*T+b*D+v*F+S*N,r[11]=C*P+b*E+v*W+S*j,r[15]=C*R+b*L+v*B+S*Y,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],o=e[4],i=e[8],r=e[12],a=e[1],l=e[5],s=e[9],c=e[13],u=e[2],d=e[6],f=e[10],p=e[14],g=e[3],y=e[7],A=e[11],x=e[15];return g*(+r*s*d-i*c*d-r*l*f+o*c*f+i*l*p-o*s*p)+y*(+n*s*p-n*c*f+r*a*f-i*a*p+i*c*u-r*s*u)+A*(+n*c*d-n*l*p-r*a*d+o*a*p+r*l*u-o*c*u)+x*(-i*l*u-n*s*d+n*l*f+i*a*d-o*a*f+o*s*u)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,o){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=o),this}invert(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8],d=e[9],f=e[10],p=e[11],g=e[12],y=e[13],A=e[14],x=e[15],C=d*A*c-y*f*c+y*s*p-l*A*p-d*s*x+l*f*x,b=g*f*c-u*A*c-g*s*p+a*A*p+u*s*x-a*f*x,v=u*y*c-g*d*c+g*l*p-a*y*p-u*l*x+a*d*x,S=g*d*s-u*y*s-g*l*f+a*y*f+u*l*A-a*d*A,w=n*C+o*b+i*v+r*S;if(w===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const T=1/w;return e[0]=C*T,e[1]=(y*f*r-d*A*r-y*i*p+o*A*p+d*i*x-o*f*x)*T,e[2]=(l*A*r-y*s*r+y*i*c-o*A*c-l*i*x+o*s*x)*T,e[3]=(d*s*r-l*f*r-d*i*c+o*f*c+l*i*p-o*s*p)*T,e[4]=b*T,e[5]=(u*A*r-g*f*r+g*i*p-n*A*p-u*i*x+n*f*x)*T,e[6]=(g*s*r-a*A*r-g*i*c+n*A*c+a*i*x-n*s*x)*T,e[7]=(a*f*r-u*s*r+u*i*c-n*f*c-a*i*p+n*s*p)*T,e[8]=v*T,e[9]=(g*d*r-u*y*r-g*o*p+n*y*p+u*o*x-n*d*x)*T,e[10]=(a*y*r-g*l*r+g*o*c-n*y*c-a*o*x+n*l*x)*T,e[11]=(u*l*r-a*d*r-u*o*c+n*d*c+a*o*p-n*l*p)*T,e[12]=S*T,e[13]=(u*y*i-g*d*i+g*o*f-n*y*f-u*o*A+n*d*A)*T,e[14]=(g*l*i-a*y*i-g*o*s+n*y*s+a*o*A-n*l*A)*T,e[15]=(a*d*i-u*l*i+u*o*s-n*d*s-a*o*f+n*l*f)*T,this}scale(e){const n=this.elements,o=e.x,i=e.y,r=e.z;return n[0]*=o,n[4]*=i,n[8]*=r,n[1]*=o,n[5]*=i,n[9]*=r,n[2]*=o,n[6]*=i,n[10]*=r,n[3]*=o,n[7]*=i,n[11]*=r,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],o=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,o,i))}makeTranslation(e,n,o){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,o,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),o=Math.sin(e);return this.set(1,0,0,0,0,n,-o,0,0,o,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,0,o,0,0,1,0,0,-o,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,-o,0,0,o,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const o=Math.cos(n),i=Math.sin(n),r=1-o,a=e.x,l=e.y,s=e.z,c=r*a,u=r*l;return this.set(c*a+o,c*l-i*s,c*s+i*l,0,c*l+i*s,u*l+o,u*s-i*a,0,c*s-i*l,u*s+i*a,r*s*s+o,0,0,0,0,1),this}makeScale(e,n,o){return this.set(e,0,0,0,0,n,0,0,0,0,o,0,0,0,0,1),this}makeShear(e,n,o,i,r,a){return this.set(1,o,r,0,e,1,a,0,n,i,1,0,0,0,0,1),this}compose(e,n,o){const i=this.elements,r=n._x,a=n._y,l=n._z,s=n._w,c=r+r,u=a+a,d=l+l,f=r*c,p=r*u,g=r*d,y=a*u,A=a*d,x=l*d,C=s*c,b=s*u,v=s*d,S=o.x,w=o.y,T=o.z;return i[0]=(1-(y+x))*S,i[1]=(p+v)*S,i[2]=(g-b)*S,i[3]=0,i[4]=(p-v)*w,i[5]=(1-(f+x))*w,i[6]=(A+C)*w,i[7]=0,i[8]=(g+b)*T,i[9]=(A-C)*T,i[10]=(1-(f+y))*T,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,o){const i=this.elements;let r=QS.set(i[0],i[1],i[2]).length();const a=QS.set(i[4],i[5],i[6]).length(),l=QS.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),e.x=i[12],e.y=i[13],e.z=i[14],Uy.copy(this);const c=1/r,u=1/a,d=1/l;return Uy.elements[0]*=c,Uy.elements[1]*=c,Uy.elements[2]*=c,Uy.elements[4]*=u,Uy.elements[5]*=u,Uy.elements[6]*=u,Uy.elements[8]*=d,Uy.elements[9]*=d,Uy.elements[10]*=d,n.setFromRotationMatrix(Uy),o.x=r,o.y=a,o.z=l,this}makePerspective(e,n,o,i,r,a,l=a9){const s=this.elements,c=2*r/(n-e),u=2*r/(o-i),d=(n+e)/(n-e),f=(o+i)/(o-i);let p,g;if(l===a9)p=-(a+r)/(a-r),g=-2*a*r/(a-r);else if(l===xk)p=-a/(a-r),g=-a*r/(a-r);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+l);return s[0]=c,s[4]=0,s[8]=d,s[12]=0,s[1]=0,s[5]=u,s[9]=f,s[13]=0,s[2]=0,s[6]=0,s[10]=p,s[14]=g,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(e,n,o,i,r,a,l=a9){const s=this.elements,c=1/(n-e),u=1/(o-i),d=1/(a-r),f=(n+e)*c,p=(o+i)*u;let g,y;if(l===a9)g=(a+r)*d,y=-2*d;else if(l===xk)g=r*d,y=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+l);return s[0]=2*c,s[4]=0,s[8]=0,s[12]=-f,s[1]=0,s[5]=2*u,s[9]=0,s[13]=-p,s[2]=0,s[6]=0,s[10]=y,s[14]=-g,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(e){const n=this.elements,o=e.elements;for(let i=0;i<16;i++)if(n[i]!==o[i])return!1;return!0}fromArray(e,n=0){for(let o=0;o<16;o++)this.elements[o]=e[o+n];return this}toArray(e=[],n=0){const o=this.elements;return e[n]=o[0],e[n+1]=o[1],e[n+2]=o[2],e[n+3]=o[3],e[n+4]=o[4],e[n+5]=o[5],e[n+6]=o[6],e[n+7]=o[7],e[n+8]=o[8],e[n+9]=o[9],e[n+10]=o[10],e[n+11]=o[11],e[n+12]=o[12],e[n+13]=o[13],e[n+14]=o[14],e[n+15]=o[15],e}}const QS=new ae,Uy=new Xr,Spt=new ae(0,0,0),Tpt=new ae(1,1,1),p4=new ae,oj=new ae,H1=new ae,UAe=new Xr,BAe=new Ts;class Qt{constructor(e=0,n=0,o=0,i=Qt.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=o,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,o,i=this._order){return this._x=e,this._y=n,this._z=o,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,o=!0){const i=e.elements,r=i[0],a=i[4],l=i[8],s=i[1],c=i[5],u=i[9],d=i[2],f=i[6],p=i[10];switch(n){case"XYZ":this._y=Math.asin(h0(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-a,r)):(this._x=Math.atan2(f,c),this._z=0);break;case"YXZ":this._x=Math.asin(-h0(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(l,p),this._z=Math.atan2(s,c)):(this._y=Math.atan2(-d,r),this._z=0);break;case"ZXY":this._x=Math.asin(h0(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-d,p),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(s,r));break;case"ZYX":this._y=Math.asin(-h0(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(f,p),this._z=Math.atan2(s,r)):(this._x=0,this._z=Math.atan2(-a,c));break;case"YZX":this._z=Math.asin(h0(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-d,r)):(this._x=0,this._y=Math.atan2(l,p));break;case"XZY":this._z=Math.asin(-h0(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(f,c),this._y=Math.atan2(l,r)):(this._x=Math.atan2(-u,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,o===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,o){return UAe.makeRotationFromQuaternion(e),this.setFromRotationMatrix(UAe,n,o)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return BAe.setFromEuler(this),this.setFromQuaternion(BAe,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Qt.DEFAULT_ORDER="XYZ";class ox{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let o=0;o0&&(o=o.concat(a))}return o}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(rz,e,Cpt),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(rz,Rpt,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const n=this.matrixWorld.elements;return e.set(n[8],n[9],n[10]).normalize()}raycast(){}traverse(e){e(this);const n=this.children;for(let o=0,i=n.length;o0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON()));function r(l,s){return l[s.uuid]===void 0&&(l[s.uuid]=s.toJSON(e)),s.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(e.geometries,this.geometry);const l=this.geometry.parameters;if(l!==void 0&&l.shapes!==void 0){const s=l.shapes;if(Array.isArray(s))for(let c=0,u=s.length;c0){i.children=[];for(let l=0;l0){i.animations=[];for(let l=0;l0&&(o.geometries=l),s.length>0&&(o.materials=s),c.length>0&&(o.textures=c),u.length>0&&(o.images=u),d.length>0&&(o.shapes=d),f.length>0&&(o.skeletons=f),p.length>0&&(o.animations=p),g.length>0&&(o.nodes=g)}return o.object=i,o;function a(l){const s=[];for(const c in l){const u=l[c];delete u.metadata,s.push(u)}return s}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let o=0;o0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(e,n,o,i,r){By.subVectors(i,n),G3.subVectors(o,n),loe.subVectors(e,n);const a=By.dot(By),l=By.dot(G3),s=By.dot(loe),c=G3.dot(G3),u=G3.dot(loe),d=a*c-l*l;if(d===0)return r.set(-2,-1,-1);const f=1/d,p=(c*s-l*u)*f,g=(a*u-l*s)*f;return r.set(1-p-g,g,p)}static containsPoint(e,n,o,i){return this.getBarycoord(e,n,o,i,X3),X3.x>=0&&X3.y>=0&&X3.x+X3.y<=1}static getUV(e,n,o,i,r,a,l,s){return rj===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),rj=!0),this.getInterpolation(e,n,o,i,r,a,l,s)}static getInterpolation(e,n,o,i,r,a,l,s){return this.getBarycoord(e,n,o,i,X3),s.setScalar(0),s.addScaledVector(r,X3.x),s.addScaledVector(a,X3.y),s.addScaledVector(l,X3.z),s}static isFrontFacing(e,n,o,i){return By.subVectors(o,n),G3.subVectors(e,n),By.cross(G3).dot(i)<0}set(e,n,o){return this.a.copy(e),this.b.copy(n),this.c.copy(o),this}setFromPointsAndIndices(e,n,o,i){return this.a.copy(e[n]),this.b.copy(e[o]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,o,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,o),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return By.subVectors(this.c,this.b),G3.subVectors(this.a,this.b),By.cross(G3).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return th.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return th.getBarycoord(e,this.a,this.b,this.c,n)}getUV(e,n,o,i,r){return rj===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),rj=!0),th.getInterpolation(e,this.a,this.b,this.c,n,o,i,r)}getInterpolation(e,n,o,i,r){return th.getInterpolation(e,this.a,this.b,this.c,n,o,i,r)}containsPoint(e){return th.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return th.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const o=this.a,i=this.b,r=this.c;let a,l;eT.subVectors(i,o),tT.subVectors(r,o),soe.subVectors(e,o);const s=eT.dot(soe),c=tT.dot(soe);if(s<=0&&c<=0)return n.copy(o);coe.subVectors(e,i);const u=eT.dot(coe),d=tT.dot(coe);if(u>=0&&d<=u)return n.copy(i);const f=s*d-u*c;if(f<=0&&s>=0&&u<=0)return a=s/(s-u),n.copy(o).addScaledVector(eT,a);uoe.subVectors(e,r);const p=eT.dot(uoe),g=tT.dot(uoe);if(g>=0&&p<=g)return n.copy(r);const y=p*c-s*g;if(y<=0&&c>=0&&g<=0)return l=c/(c-g),n.copy(o).addScaledVector(tT,l);const A=u*g-p*d;if(A<=0&&d-u>=0&&p-g>=0)return VAe.subVectors(r,i),l=(d-u)/(d-u+(p-g)),n.copy(i).addScaledVector(VAe,l);const x=1/(A+y+f);return a=y*x,l=f*x,n.copy(o).addScaledVector(eT,a).addScaledVector(tT,l)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const vWe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},g4={h:0,s:0,l:0},aj={h:0,s:0,l:0};function doe(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}let Xo=class{constructor(e,n,o){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,o)}set(e,n,o){if(n===void 0&&o===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,o);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=nu){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,rs.toWorkingColorSpace(this,n),this}setRGB(e,n,o,i=rs.workingColorSpace){return this.r=e,this.g=n,this.b=o,rs.toWorkingColorSpace(this,i),this}setHSL(e,n,o,i=rs.workingColorSpace){if(e=t1e(e,1),n=h0(n,0,1),o=h0(o,0,1),n===0)this.r=this.g=this.b=o;else{const r=o<=.5?o*(1+n):o+n-o*n,a=2*o-r;this.r=doe(a,r,e+1/3),this.g=doe(a,r,e),this.b=doe(a,r,e-1/3)}return rs.toWorkingColorSpace(this,i),this}setStyle(e,n=nu){function o(r){r!==void 0&&parseFloat(r)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let r;const a=i[1],l=i[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setRGB(Math.min(255,parseInt(r[1],10))/255,Math.min(255,parseInt(r[2],10))/255,Math.min(255,parseInt(r[3],10))/255,n);if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setRGB(Math.min(100,parseInt(r[1],10))/100,Math.min(100,parseInt(r[2],10))/100,Math.min(100,parseInt(r[3],10))/100,n);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setHSL(parseFloat(r[1])/360,parseFloat(r[2])/100,parseFloat(r[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const r=i[1],a=r.length;if(a===3)return this.setRGB(parseInt(r.charAt(0),16)/15,parseInt(r.charAt(1),16)/15,parseInt(r.charAt(2),16)/15,n);if(a===6)return this.setHex(parseInt(r,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=nu){const o=vWe[e.toLowerCase()];return o!==void 0?this.setHex(o,n):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=fC(e.r),this.g=fC(e.g),this.b=fC(e.b),this}copyLinearToSRGB(e){return this.r=Zne(e.r),this.g=Zne(e.g),this.b=Zne(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=nu){return rs.fromWorkingColorSpace(Yf.copy(this),e),Math.round(h0(Yf.r*255,0,255))*65536+Math.round(h0(Yf.g*255,0,255))*256+Math.round(h0(Yf.b*255,0,255))}getHexString(e=nu){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=rs.workingColorSpace){rs.fromWorkingColorSpace(Yf.copy(this),n);const o=Yf.r,i=Yf.g,r=Yf.b,a=Math.max(o,i,r),l=Math.min(o,i,r);let s,c;const u=(l+a)/2;if(l===a)s=0,c=0;else{const d=a-l;switch(c=u<=.5?d/(a+l):d/(2-a-l),a){case o:s=(i-r)/d+(i0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const o=e[n];if(o===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(o):i&&i.isVector3&&o&&o.isVector3?i.copy(o):this[n]=o}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const o={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};o.uuid=this.uuid,o.type=this.type,this.name!==""&&(o.name=this.name),this.color&&this.color.isColor&&(o.color=this.color.getHex()),this.roughness!==void 0&&(o.roughness=this.roughness),this.metalness!==void 0&&(o.metalness=this.metalness),this.sheen!==void 0&&(o.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(o.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(o.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(o.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(o.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(o.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(o.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(o.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(o.shininess=this.shininess),this.clearcoat!==void 0&&(o.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(o.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(o.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(o.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(o.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,o.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(o.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(o.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(o.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(o.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(o.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(o.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(o.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(o.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(o.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(o.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(o.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(o.lightMap=this.lightMap.toJSON(e).uuid,o.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(o.aoMap=this.aoMap.toJSON(e).uuid,o.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(o.bumpMap=this.bumpMap.toJSON(e).uuid,o.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(o.normalMap=this.normalMap.toJSON(e).uuid,o.normalMapType=this.normalMapType,o.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(o.displacementMap=this.displacementMap.toJSON(e).uuid,o.displacementScale=this.displacementScale,o.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(o.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(o.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(o.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(o.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(o.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(o.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(o.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(o.combine=this.combine)),this.envMapIntensity!==void 0&&(o.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(o.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(o.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(o.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(o.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(o.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(o.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(o.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(o.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(o.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(o.size=this.size),this.shadowSide!==null&&(o.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(o.sizeAttenuation=this.sizeAttenuation),this.blending!==tx&&(o.blending=this.blending),this.side!==ia&&(o.side=this.side),this.vertexColors===!0&&(o.vertexColors=!0),this.opacity<1&&(o.opacity=this.opacity),this.transparent===!0&&(o.transparent=!0),this.blendSrc!==WV&&(o.blendSrc=this.blendSrc),this.blendDst!==NV&&(o.blendDst=this.blendDst),this.blendEquation!==$4&&(o.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(o.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(o.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(o.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(o.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(o.blendAlpha=this.blendAlpha),this.depthFunc!==uk&&(o.depthFunc=this.depthFunc),this.depthTest===!1&&(o.depthTest=this.depthTest),this.depthWrite===!1&&(o.depthWrite=this.depthWrite),this.colorWrite===!1&&(o.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(o.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==jse&&(o.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(o.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(o.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==rv&&(o.stencilFail=this.stencilFail),this.stencilZFail!==rv&&(o.stencilZFail=this.stencilZFail),this.stencilZPass!==rv&&(o.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(o.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(o.rotation=this.rotation),this.polygonOffset===!0&&(o.polygonOffset=!0),this.polygonOffsetFactor!==0&&(o.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(o.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(o.linewidth=this.linewidth),this.dashSize!==void 0&&(o.dashSize=this.dashSize),this.gapSize!==void 0&&(o.gapSize=this.gapSize),this.scale!==void 0&&(o.scale=this.scale),this.dithering===!0&&(o.dithering=!0),this.alphaTest>0&&(o.alphaTest=this.alphaTest),this.alphaHash===!0&&(o.alphaHash=!0),this.alphaToCoverage===!0&&(o.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(o.premultipliedAlpha=!0),this.forceSinglePass===!0&&(o.forceSinglePass=!0),this.wireframe===!0&&(o.wireframe=!0),this.wireframeLinewidth>1&&(o.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(o.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(o.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(o.flatShading=!0),this.visible===!1&&(o.visible=!1),this.toneMapped===!1&&(o.toneMapped=!1),this.fog===!1&&(o.fog=!1),Object.keys(this.userData).length>0&&(o.userData=this.userData);function i(r){const a=[];for(const l in r){const s=r[l];delete s.metadata,a.push(s)}return a}if(n){const r=i(e.textures),a=i(e.images);r.length>0&&(o.textures=r),a.length>0&&(o.images=a)}return o}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let o=null;if(n!==null){const i=n.length;o=new Array(i);for(let r=0;r!==i;++r)o[r]=n[r].clone()}return this.clippingPlanes=o,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};class G9 extends yf{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Xo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const d6=zpt();function zpt(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),o=new Uint32Array(512),i=new Uint32Array(512);for(let s=0;s<256;++s){const c=s-127;c<-27?(o[s]=0,o[s|256]=32768,i[s]=24,i[s|256]=24):c<-14?(o[s]=1024>>-c-14,o[s|256]=1024>>-c-14|32768,i[s]=-c-1,i[s|256]=-c-1):c<=15?(o[s]=c+15<<10,o[s|256]=c+15<<10|32768,i[s]=13,i[s|256]=13):c<128?(o[s]=31744,o[s|256]=64512,i[s]=24,i[s|256]=24):(o[s]=31744,o[s|256]=64512,i[s]=13,i[s|256]=13)}const r=new Uint32Array(2048),a=new Uint32Array(64),l=new Uint32Array(64);for(let s=1;s<1024;++s){let c=s<<13,u=0;for(;!(c&8388608);)c<<=1,u-=8388608;c&=-8388609,u+=947912704,r[s]=c|u}for(let s=1024;s<2048;++s)r[s]=939524096+(s-1024<<13);for(let s=1;s<31;++s)a[s]=s<<23;a[31]=1199570944,a[32]=2147483648;for(let s=33;s<63;++s)a[s]=2147483648+(s-32<<23);a[63]=3347054592;for(let s=1;s<64;++s)s!==32&&(l[s]=1024);return{floatView:e,uint32View:n,baseTable:o,shiftTable:i,mantissaTable:r,exponentTable:a,offsetTable:l}}function Hp(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=h0(t,-65504,65504),d6.floatView[0]=t;const e=d6.uint32View[0],n=e>>23&511;return d6.baseTable[n]+((e&8388607)>>d6.shiftTable[n])}function dD(t){const e=t>>10;return d6.uint32View[0]=d6.mantissaTable[d6.offsetTable[e]+(t&1023)]+d6.exponentTable[e],d6.floatView[0]}const Dpt={toHalfFloat:Hp,fromHalfFloat:dD},Q0=new ae,lj=new Gt;class qa{constructor(e,n,o=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=o,this.usage=vk,this.updateRange={offset:0,count:-1},this.gpuType=h2,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,o){e*=this.itemSize,o*=n.itemSize;for(let i=0,r=this.itemSize;i0&&(e.userData=this.userData),this.parameters!==void 0){const s=this.parameters;for(const c in s)s[c]!==void 0&&(e[c]=s[c]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const o=this.attributes;for(const s in o){const c=o[s];e.data.attributes[s]=c.toJSON(e.data)}const i={};let r=!1;for(const s in this.morphAttributes){const c=this.morphAttributes[s],u=[];for(let d=0,f=c.length;d0&&(i[s]=u,r=!0)}r&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const l=this.boundingSphere;return l!==null&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const o=e.index;o!==null&&this.setIndex(o.clone(n));const i=e.attributes;for(const c in i){const u=i[c];this.setAttribute(c,u.clone(n))}const r=e.morphAttributes;for(const c in r){const u=[],d=r[c];for(let f=0,p=d.length;f0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;r(e.far-e.near)**2))&&(GAe.copy(r).invert(),D8.copy(e.ray).applyMatrix4(GAe),!(o.boundingBox!==null&&D8.intersectsBox(o.boundingBox)===!1)&&this._computeIntersections(e,n,D8)))}_computeIntersections(e,n,o){let i;const r=this.geometry,a=this.material,l=r.index,s=r.attributes.position,c=r.attributes.uv,u=r.attributes.uv1,d=r.attributes.normal,f=r.groups,p=r.drawRange;if(l!==null)if(Array.isArray(a))for(let g=0,y=f.length;gn.far?null:{distance:c,point:pj.clone(),object:t}}function gj(t,e,n,o,i,r,a,l,s,c){t.getVertexPosition(l,oT),t.getVertexPosition(s,iT),t.getVertexPosition(c,rT);const u=jpt(t,e,n,o,oT,iT,rT,hj);if(u){i&&(uj.fromBufferAttribute(i,l),dj.fromBufferAttribute(i,s),fj.fromBufferAttribute(i,c),u.uv=th.getInterpolation(hj,oT,iT,rT,uj,dj,fj,new Gt)),r&&(uj.fromBufferAttribute(r,l),dj.fromBufferAttribute(r,s),fj.fromBufferAttribute(r,c),u.uv1=th.getInterpolation(hj,oT,iT,rT,uj,dj,fj,new Gt),u.uv2=u.uv1),a&&(JAe.fromBufferAttribute(a,l),KAe.fromBufferAttribute(a,s),qAe.fromBufferAttribute(a,c),u.normal=th.getInterpolation(hj,oT,iT,rT,JAe,KAe,qAe,new ae),u.normal.dot(o.direction)>0&&u.normal.multiplyScalar(-1));const d={a:l,b:s,c,normal:new ae,materialIndex:0};th.getNormal(oT,iT,rT,d.normal),u.face=d}return u}class X9 extends Ur{constructor(e=1,n=1,o=1,i=1,r=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:o,widthSegments:i,heightSegments:r,depthSegments:a};const l=this;i=Math.floor(i),r=Math.floor(r),a=Math.floor(a);const s=[],c=[],u=[],d=[];let f=0,p=0;g("z","y","x",-1,-1,o,n,e,a,r,0),g("z","y","x",1,-1,o,n,-e,a,r,1),g("x","z","y",1,1,e,o,n,i,a,2),g("x","z","y",1,-1,e,o,-n,i,a,3),g("x","y","z",1,-1,e,n,o,i,r,4),g("x","y","z",-1,-1,e,n,-o,i,r,5),this.setIndex(s),this.setAttribute("position",new hi(c,3)),this.setAttribute("normal",new hi(u,3)),this.setAttribute("uv",new hi(d,2));function g(y,A,x,C,b,v,S,w,T,P,R){const H=v/T,D=S/P,E=v/2,L=S/2,U=w/2,F=T+1,W=P+1;let B=0,k=0;const N=new ae;for(let j=0;j0?1:-1,u.push(N.x,N.y,N.z),d.push(_/T),d.push(1-j/P),B+=1}}for(let j=0;j>8&255]+jf[t>>16&255]+jf[t>>24&255]+"-"+jf[e&255]+jf[e>>8&255]+"-"+jf[e>>16&15|64]+jf[e>>24&255]+"-"+jf[n&63|128]+jf[n>>8&255]+"-"+jf[n>>16&255]+jf[n>>24&255]+jf[o&255]+jf[o>>8&255]+jf[o>>16&255]+jf[o>>24&255]).toLowerCase()}function h0(t,e,n){return Math.max(e,Math.min(n,t))}function t1e(t,e){return(t%e+e)%e}function npt(t,e,n,o,i){return o+(t-e)*(i-o)/(n-e)}function opt(t,e,n){return t!==e?(n-t)/(e-t):0}function QD(t,e,n){return(1-n)*t+n*e}function ipt(t,e,n,o){return QD(t,e,1-Math.exp(-n*o))}function rpt(t,e=1){return e-Math.abs(t1e(t,e*2)-e)}function apt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function lpt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function spt(t,e){return t+Math.floor(Math.random()*(e-t+1))}function cpt(t,e){return t+Math.random()*(e-t)}function upt(t){return t*(.5-Math.random())}function dpt(t){t!==void 0&&(kAe=t);let e=kAe+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function fpt(t){return t*nx}function hpt(t){return t*VC}function Ose(t){return(t&t-1)===0&&t!==0}function gWe(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function jV(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function ppt(t,e,n,o,i){const r=Math.cos,a=Math.sin,l=r(n/2),s=a(n/2),c=r((e+o)/2),u=a((e+o)/2),d=r((e-o)/2),f=a((e-o)/2),p=r((o-e)/2),g=a((o-e)/2);switch(i){case"XYX":t.set(l*u,s*d,s*f,l*c);break;case"YZY":t.set(s*f,l*u,s*d,l*c);break;case"ZXZ":t.set(s*d,s*f,l*u,l*c);break;case"XZX":t.set(l*u,s*g,s*p,l*c);break;case"YXY":t.set(s*p,l*u,s*g,l*c);break;case"ZYZ":t.set(s*g,s*p,l*u,l*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Fp(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function ma(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const mWe={DEG2RAD:nx,RAD2DEG:VC,generateUUID:yg,clamp:h0,euclideanModulo:t1e,mapLinear:npt,inverseLerp:opt,lerp:QD,damp:ipt,pingpong:rpt,smoothstep:apt,smootherstep:lpt,randInt:spt,randFloat:cpt,randFloatSpread:upt,seededRandom:dpt,degToRad:fpt,radToDeg:hpt,isPowerOfTwo:Ose,ceilPowerOfTwo:gWe,floorPowerOfTwo:jV,setQuaternionFromProperEuler:ppt,normalize:ma,denormalize:Fp};class Gt{constructor(e=0,n=0){Gt.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,o=this.y,i=e.elements;return this.x=i[0]*n+i[3]*o+i[6],this.y=i[1]*n+i[4]*o+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const o=this.dot(e)/n;return Math.acos(h0(o,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,o=this.y-e.y;return n*n+o*o}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const o=Math.cos(n),i=Math.sin(n),r=this.x-e.x,a=this.y-e.y;return this.x=r*o-a*i+e.x,this.y=r*i+a*o+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class fa{constructor(e,n,o,i,r,a,l,s,c){fa.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,o,i,r,a,l,s,c)}set(e,n,o,i,r,a,l,s,c){const u=this.elements;return u[0]=e,u[1]=i,u[2]=l,u[3]=n,u[4]=r,u[5]=s,u[6]=o,u[7]=a,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,o=e.elements;return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=o[6],n[7]=o[7],n[8]=o[8],this}extractBasis(e,n,o){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),o.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const o=e.elements,i=n.elements,r=this.elements,a=o[0],l=o[3],s=o[6],c=o[1],u=o[4],d=o[7],f=o[2],p=o[5],g=o[8],y=i[0],A=i[3],x=i[6],C=i[1],b=i[4],v=i[7],S=i[2],w=i[5],T=i[8];return r[0]=a*y+l*C+s*S,r[3]=a*A+l*b+s*w,r[6]=a*x+l*v+s*T,r[1]=c*y+u*C+d*S,r[4]=c*A+u*b+d*w,r[7]=c*x+u*v+d*T,r[2]=f*y+p*C+g*S,r[5]=f*A+p*b+g*w,r[8]=f*x+p*v+g*T,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8];return n*a*u-n*l*c-o*r*u+o*l*s+i*r*c-i*a*s}invert(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8],d=u*a-l*c,f=l*s-u*r,p=c*r-a*s,g=n*d+o*f+i*p;if(g===0)return this.set(0,0,0,0,0,0,0,0,0);const y=1/g;return e[0]=d*y,e[1]=(i*c-u*o)*y,e[2]=(l*o-i*a)*y,e[3]=f*y,e[4]=(u*n-i*s)*y,e[5]=(i*r-l*n)*y,e[6]=p*y,e[7]=(o*s-c*n)*y,e[8]=(a*n-o*r)*y,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,o,i,r,a,l){const s=Math.cos(r),c=Math.sin(r);return this.set(o*s,o*c,-o*(s*a+c*l)+a+e,-i*c,i*s,-i*(-c*a+s*l)+l+n,0,0,1),this}scale(e,n){return this.premultiply(Qne.makeScale(e,n)),this}rotate(e){return this.premultiply(Qne.makeRotation(-e)),this}translate(e,n){return this.premultiply(Qne.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,-o,0,o,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,o=e.elements;for(let i=0;i<9;i++)if(n[i]!==o[i])return!1;return!0}fromArray(e,n=0){for(let o=0;o<9;o++)this.elements[o]=e[o+n];return this}toArray(e=[],n=0){const o=this.elements;return e[n]=o[0],e[n+1]=o[1],e[n+2]=o[2],e[n+3]=o[3],e[n+4]=o[4],e[n+5]=o[5],e[n+6]=o[6],e[n+7]=o[7],e[n+8]=o[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Qne=new fa;function yWe(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const gpt={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function WP(t,e){return new gpt[t](e)}function bk(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function AWe(){const t=bk("canvas");return t.style.display="block",t}const FAe={};function ZD(t){t in FAe||(FAe[t]=!0,console.warn(t))}const LAe=new fa().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),WAe=new fa().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),$B={[R9]:{transfer:yk,primaries:Ak,toReference:t=>t,fromReference:t=>t},[nu]:{transfer:Ws,primaries:Ak,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[UL]:{transfer:yk,primaries:wk,toReference:t=>t.applyMatrix3(WAe),fromReference:t=>t.applyMatrix3(LAe)},[EK]:{transfer:Ws,primaries:wk,toReference:t=>t.convertSRGBToLinear().applyMatrix3(WAe),fromReference:t=>t.applyMatrix3(LAe).convertLinearToSRGB()}},mpt=new Set([R9,UL]),rs={enabled:!0,_workingColorSpace:R9,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(t){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!t},get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!mpt.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const o=$B[e].toReference,i=$B[n].fromReference;return i(o(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return $B[t].primaries},getTransfer:function(t){return t===rg?yk:$B[t].transfer}};function fC(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function Zne(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let JS;class n1e{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{JS===void 0&&(JS=bk("canvas")),JS.width=e.width,JS.height=e.height;const o=JS.getContext("2d");e instanceof ImageData?o.putImageData(e,0,0):o.drawImage(e,0,0,e.width,e.height),n=JS}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=bk("canvas");n.width=e.width,n.height=e.height;const o=n.getContext("2d");o.drawImage(e,0,0,e.width,e.height);const i=o.getImageData(0,0,e.width,e.height),r=i.data;for(let a=0;a0&&(o.userData=this.userData),n||(e.textures[this.uuid]=o),o}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==IK)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Ss:e.x=e.x-Math.floor(e.x);break;case ah:e.x=e.x<0?0:1;break;case hk:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Ss:e.y=e.y-Math.floor(e.y);break;case ah:e.y=e.y<0?0:1;break;case hk:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ZD("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===nu?kw:Zpe}set encoding(e){ZD("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===kw?nu:rg}}_c.DEFAULT_IMAGE=null;_c.DEFAULT_MAPPING=IK;_c.DEFAULT_ANISOTROPY=1;class ll{constructor(e=0,n=0,o=0,i=1){ll.prototype.isVector4=!0,this.x=e,this.y=n,this.z=o,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,o,i){return this.x=e,this.y=n,this.z=o,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,o=this.y,i=this.z,r=this.w,a=e.elements;return this.x=a[0]*n+a[4]*o+a[8]*i+a[12]*r,this.y=a[1]*n+a[5]*o+a[9]*i+a[13]*r,this.z=a[2]*n+a[6]*o+a[10]*i+a[14]*r,this.w=a[3]*n+a[7]*o+a[11]*i+a[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,o,i,r;const s=e.elements,c=s[0],u=s[4],d=s[8],f=s[1],p=s[5],g=s[9],y=s[2],A=s[6],x=s[10];if(Math.abs(u-f)<.01&&Math.abs(d-y)<.01&&Math.abs(g-A)<.01){if(Math.abs(u+f)<.1&&Math.abs(d+y)<.1&&Math.abs(g+A)<.1&&Math.abs(c+p+x-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const b=(c+1)/2,v=(p+1)/2,S=(x+1)/2,w=(u+f)/4,T=(d+y)/4,P=(g+A)/4;return b>v&&b>S?b<.01?(o=0,i=.707106781,r=.707106781):(o=Math.sqrt(b),i=w/o,r=T/o):v>S?v<.01?(o=.707106781,i=0,r=.707106781):(i=Math.sqrt(v),o=w/i,r=P/i):S<.01?(o=.707106781,i=.707106781,r=0):(r=Math.sqrt(S),o=T/r,i=P/r),this.set(o,i,r,n),this}let C=Math.sqrt((A-g)*(A-g)+(d-y)*(d-y)+(f-u)*(f-u));return Math.abs(C)<.001&&(C=1),this.x=(A-g)/C,this.y=(d-y)/C,this.z=(f-u)/C,this.w=Math.acos((c+p+x-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this.z=e.z+(n.z-e.z)*o,this.w=e.w+(n.w-e.w)*o,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class wWe extends V9{constructor(e=1,n=1,o={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new ll(0,0,e,n),this.scissorTest=!1,this.viewport=new ll(0,0,e,n);const i={width:e,height:n,depth:1};o.encoding!==void 0&&(ZD("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),o.colorSpace=o.encoding===kw?nu:rg),o=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:js,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},o),this.texture=new _c(i,o.mapping,o.wrapS,o.wrapT,o.magFilter,o.minFilter,o.format,o.type,o.anisotropy,o.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=o.generateMipmaps,this.texture.internalFormat=o.internalFormat,this.depthBuffer=o.depthBuffer,this.stencilBuffer=o.stencilBuffer,this.depthTexture=o.depthTexture,this.samples=o.samples}setSize(e,n,o=1){(this.width!==e||this.height!==n||this.depth!==o)&&(this.width=e,this.height=n,this.depth=o,this.texture.image.width=e,this.texture.image.height=n,this.texture.image.depth=o,this.dispose()),this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const n=Object.assign({},e.texture.image);return this.texture.source=new Hv(n),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class _m extends wWe{constructor(e=1,n=1,o={}){super(e,n,o),this.isWebGLRenderTarget=!0}}class kK extends _c{constructor(e=null,n=1,o=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:n,height:o,depth:i},this.magFilter=F0,this.minFilter=F0,this.wrapR=ah,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class wpt extends _m{constructor(e=1,n=1,o=1){super(e,n),this.isWebGLArrayRenderTarget=!0,this.depth=o,this.texture=new kK(null,e,n,o),this.texture.isRenderTargetTexture=!0}}class o1e extends _c{constructor(e=null,n=1,o=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:n,height:o,depth:i},this.magFilter=F0,this.minFilter=F0,this.wrapR=ah,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class vpt extends _m{constructor(e=1,n=1,o=1){super(e,n),this.isWebGL3DRenderTarget=!0,this.depth=o,this.texture=new o1e(null,e,n,o),this.texture.isRenderTargetTexture=!0}}class xpt extends _m{constructor(e=1,n=1,o=1,i={}){super(e,n,i),this.isWebGLMultipleRenderTargets=!0;const r=this.texture;this.texture=[];for(let a=0;a=0?1:-1,b=1-x*x;if(b>Number.EPSILON){const S=Math.sqrt(b),w=Math.atan2(S,x*C);A=Math.sin(A*w)/S,l=Math.sin(l*w)/S}const v=l*C;if(s=s*A+f*v,c=c*A+p*v,u=u*A+g*v,d=d*A+y*v,A===1-l){const S=1/Math.sqrt(s*s+c*c+u*u+d*d);s*=S,c*=S,u*=S,d*=S}}e[n]=s,e[n+1]=c,e[n+2]=u,e[n+3]=d}static multiplyQuaternionsFlat(e,n,o,i,r,a){const l=o[i],s=o[i+1],c=o[i+2],u=o[i+3],d=r[a],f=r[a+1],p=r[a+2],g=r[a+3];return e[n]=l*g+u*d+s*p-c*f,e[n+1]=s*g+u*f+c*d-l*p,e[n+2]=c*g+u*p+l*f-s*d,e[n+3]=u*g-l*d-s*f-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,o,i){return this._x=e,this._y=n,this._z=o,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n){const o=e._x,i=e._y,r=e._z,a=e._order,l=Math.cos,s=Math.sin,c=l(o/2),u=l(i/2),d=l(r/2),f=s(o/2),p=s(i/2),g=s(r/2);switch(a){case"XYZ":this._x=f*u*d+c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d-f*p*g;break;case"YXZ":this._x=f*u*d+c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d+f*p*g;break;case"ZXY":this._x=f*u*d-c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d-f*p*g;break;case"ZYX":this._x=f*u*d-c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d+f*p*g;break;case"YZX":this._x=f*u*d+c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d-f*p*g;break;case"XZY":this._x=f*u*d-c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d+f*p*g;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return n!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const o=n/2,i=Math.sin(o);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(o),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,o=n[0],i=n[4],r=n[8],a=n[1],l=n[5],s=n[9],c=n[2],u=n[6],d=n[10],f=o+l+d;if(f>0){const p=.5/Math.sqrt(f+1);this._w=.25/p,this._x=(u-s)*p,this._y=(r-c)*p,this._z=(a-i)*p}else if(o>l&&o>d){const p=2*Math.sqrt(1+o-l-d);this._w=(u-s)/p,this._x=.25*p,this._y=(i+a)/p,this._z=(r+c)/p}else if(l>d){const p=2*Math.sqrt(1+l-o-d);this._w=(r-c)/p,this._x=(i+a)/p,this._y=.25*p,this._z=(s+u)/p}else{const p=2*Math.sqrt(1+d-o-l);this._w=(a-i)/p,this._x=(r+c)/p,this._y=(s+u)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let o=e.dot(n)+1;return oMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=o):(this._x=0,this._y=-e.z,this._z=e.y,this._w=o)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=o),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(h0(this.dot(e),-1,1)))}rotateTowards(e,n){const o=this.angleTo(e);if(o===0)return this;const i=Math.min(1,n/o);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const o=e._x,i=e._y,r=e._z,a=e._w,l=n._x,s=n._y,c=n._z,u=n._w;return this._x=o*u+a*l+i*c-r*s,this._y=i*u+a*s+r*l-o*c,this._z=r*u+a*c+o*s-i*l,this._w=a*u-o*l-i*s-r*c,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const o=this._x,i=this._y,r=this._z,a=this._w;let l=a*e._w+o*e._x+i*e._y+r*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=o,this._y=i,this._z=r,this;const s=1-l*l;if(s<=Number.EPSILON){const p=1-n;return this._w=p*a+n*this._w,this._x=p*o+n*this._x,this._y=p*i+n*this._y,this._z=p*r+n*this._z,this.normalize(),this._onChangeCallback(),this}const c=Math.sqrt(s),u=Math.atan2(c,l),d=Math.sin((1-n)*u)/c,f=Math.sin(n*u)/c;return this._w=a*d+this._w*f,this._x=o*d+this._x*f,this._y=i*d+this._y*f,this._z=r*d+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,n,o){return this.copy(e).slerp(n,o)}random(){const e=Math.random(),n=Math.sqrt(1-e),o=Math.sqrt(e),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(n*Math.cos(i),o*Math.sin(r),o*Math.cos(r),n*Math.sin(i))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class ae{constructor(e=0,n=0,o=0){ae.prototype.isVector3=!0,this.x=e,this.y=n,this.z=o}set(e,n,o){return o===void 0&&(o=this.z),this.x=e,this.y=n,this.z=o,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(NAe.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(NAe.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,o=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[3]*o+r[6]*i,this.y=r[1]*n+r[4]*o+r[7]*i,this.z=r[2]*n+r[5]*o+r[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,o=this.y,i=this.z,r=e.elements,a=1/(r[3]*n+r[7]*o+r[11]*i+r[15]);return this.x=(r[0]*n+r[4]*o+r[8]*i+r[12])*a,this.y=(r[1]*n+r[5]*o+r[9]*i+r[13])*a,this.z=(r[2]*n+r[6]*o+r[10]*i+r[14])*a,this}applyQuaternion(e){const n=this.x,o=this.y,i=this.z,r=e.x,a=e.y,l=e.z,s=e.w,c=2*(a*i-l*o),u=2*(l*n-r*i),d=2*(r*o-a*n);return this.x=n+s*c+a*d-l*u,this.y=o+s*u+l*c-r*d,this.z=i+s*d+r*u-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,o=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[4]*o+r[8]*i,this.y=r[1]*n+r[5]*o+r[9]*i,this.z=r[2]*n+r[6]*o+r[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this.z=e.z+(n.z-e.z)*o,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const o=e.x,i=e.y,r=e.z,a=n.x,l=n.y,s=n.z;return this.x=i*s-r*l,this.y=r*a-o*s,this.z=o*l-i*a,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const o=e.dot(this)/n;return this.copy(e).multiplyScalar(o)}projectOnPlane(e){return toe.copy(this).projectOnVector(e),this.sub(toe)}reflect(e){return this.sub(toe.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const o=this.dot(e)/n;return Math.acos(h0(o,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,o=this.y-e.y,i=this.z-e.z;return n*n+o*o+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,o){const i=Math.sin(n)*e;return this.x=i*Math.sin(o),this.y=Math.cos(n)*e,this.z=i*Math.cos(o),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,o){return this.x=e*Math.sin(n),this.y=o,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),o=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=o,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,n=Math.random()*Math.PI*2,o=Math.sqrt(1-e**2);return this.x=o*Math.cos(n),this.y=o*Math.sin(n),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const toe=new ae,NAe=new Ts;class pf{constructor(e=new ae(1/0,1/0,1/0),n=new ae(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,o=e.length;nthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Ny),Ny.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,o;return e.normal.x>0?(n=e.normal.x*this.min.x,o=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,o=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,o+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,o+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,o+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,o+=e.normal.z*this.min.z),n<=-e.constant&&o>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(oz),ZB.subVectors(this.max,oz),KS.subVectors(e.a,oz),qS.subVectors(e.b,oz),$S.subVectors(e.c,oz),d4.subVectors(qS,KS),f4.subVectors($S,qS),I8.subVectors(KS,$S);let n=[0,-d4.z,d4.y,0,-f4.z,f4.y,0,-I8.z,I8.y,d4.z,0,-d4.x,f4.z,0,-f4.x,I8.z,0,-I8.x,-d4.y,d4.x,0,-f4.y,f4.x,0,-I8.y,I8.x,0];return!noe(n,KS,qS,$S,ZB)||(n=[1,0,0,0,1,0,0,0,1],!noe(n,KS,qS,$S,ZB))?!1:(ej.crossVectors(d4,f4),n=[ej.x,ej.y,ej.z],noe(n,KS,qS,$S,ZB))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Ny).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Ny).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(O3[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),O3[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),O3[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),O3[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),O3[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),O3[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),O3[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),O3[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(O3),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const O3=[new ae,new ae,new ae,new ae,new ae,new ae,new ae,new ae],Ny=new ae,QB=new pf,KS=new ae,qS=new ae,$S=new ae,d4=new ae,f4=new ae,I8=new ae,oz=new ae,ZB=new ae,ej=new ae,z8=new ae;function noe(t,e,n,o,i){for(let r=0,a=t.length-3;r<=a;r+=3){z8.fromArray(t,r);const l=i.x*Math.abs(z8.x)+i.y*Math.abs(z8.y)+i.z*Math.abs(z8.z),s=e.dot(z8),c=n.dot(z8),u=o.dot(z8);if(Math.max(-Math.max(s,c,u),Math.min(s,c,u))>l)return!1}return!0}const bpt=new pf,iz=new ae,ooe=new ae;let n1=class{constructor(e=new ae,n=-1){this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const o=this.center;n!==void 0?o.copy(n):bpt.setFromPoints(e).getCenter(o);let i=0;for(let r=0,a=e.length;rthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;iz.subVectors(e,this.center);const n=iz.lengthSq();if(n>this.radius*this.radius){const o=Math.sqrt(n),i=(o-this.radius)*.5;this.center.addScaledVector(iz,i/o),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(ooe.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(iz.copy(e.center).add(ooe)),this.expandByPoint(iz.copy(e.center).sub(ooe))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}};const _3=new ae,ioe=new ae,tj=new ae,h4=new ae,roe=new ae,nj=new ae,aoe=new ae;class fH{constructor(e=new ae,n=new ae(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,_3)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const o=n.dot(this.direction);return o<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,o)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=_3.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(_3.copy(this.origin).addScaledVector(this.direction,n),_3.distanceToSquared(e))}distanceSqToSegment(e,n,o,i){ioe.copy(e).add(n).multiplyScalar(.5),tj.copy(n).sub(e).normalize(),h4.copy(this.origin).sub(ioe);const r=e.distanceTo(n)*.5,a=-this.direction.dot(tj),l=h4.dot(this.direction),s=-h4.dot(tj),c=h4.lengthSq(),u=Math.abs(1-a*a);let d,f,p,g;if(u>0)if(d=a*s-l,f=a*l-s,g=r*u,d>=0)if(f>=-g)if(f<=g){const y=1/u;d*=y,f*=y,p=d*(d+a*f+2*l)+f*(a*d+f+2*s)+c}else f=r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;else f=-r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;else f<=-g?(d=Math.max(0,-(-a*r+l)),f=d>0?-r:Math.min(Math.max(-r,-s),r),p=-d*d+f*(f+2*s)+c):f<=g?(d=0,f=Math.min(Math.max(-r,-s),r),p=f*(f+2*s)+c):(d=Math.max(0,-(a*r+l)),f=d>0?r:Math.min(Math.max(-r,-s),r),p=-d*d+f*(f+2*s)+c);else f=a>0?-r:r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;return o&&o.copy(this.origin).addScaledVector(this.direction,d),i&&i.copy(ioe).addScaledVector(tj,f),p}intersectSphere(e,n){_3.subVectors(e.center,this.origin);const o=_3.dot(this.direction),i=_3.dot(_3)-o*o,r=e.radius*e.radius;if(i>r)return null;const a=Math.sqrt(r-i),l=o-a,s=o+a;return s<0?null:l<0?this.at(s,n):this.at(l,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const o=-(this.origin.dot(e.normal)+e.constant)/n;return o>=0?o:null}intersectPlane(e,n){const o=this.distanceToPlane(e);return o===null?null:this.at(o,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let o,i,r,a,l,s;const c=1/this.direction.x,u=1/this.direction.y,d=1/this.direction.z,f=this.origin;return c>=0?(o=(e.min.x-f.x)*c,i=(e.max.x-f.x)*c):(o=(e.max.x-f.x)*c,i=(e.min.x-f.x)*c),u>=0?(r=(e.min.y-f.y)*u,a=(e.max.y-f.y)*u):(r=(e.max.y-f.y)*u,a=(e.min.y-f.y)*u),o>a||r>i||((r>o||isNaN(o))&&(o=r),(a=0?(l=(e.min.z-f.z)*d,s=(e.max.z-f.z)*d):(l=(e.max.z-f.z)*d,s=(e.min.z-f.z)*d),o>s||l>i)||((l>o||o!==o)&&(o=l),(s=0?o:i,n)}intersectsBox(e){return this.intersectBox(e,_3)!==null}intersectTriangle(e,n,o,i,r){roe.subVectors(n,e),nj.subVectors(o,e),aoe.crossVectors(roe,nj);let a=this.direction.dot(aoe),l;if(a>0){if(i)return null;l=1}else if(a<0)l=-1,a=-a;else return null;h4.subVectors(this.origin,e);const s=l*this.direction.dot(nj.crossVectors(h4,nj));if(s<0)return null;const c=l*this.direction.dot(roe.cross(h4));if(c<0||s+c>a)return null;const u=-l*h4.dot(aoe);return u<0?null:this.at(u/a,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Xr{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A){Xr.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A)}set(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A){const x=this.elements;return x[0]=e,x[4]=n,x[8]=o,x[12]=i,x[1]=r,x[5]=a,x[9]=l,x[13]=s,x[2]=c,x[6]=u,x[10]=d,x[14]=f,x[3]=p,x[7]=g,x[11]=y,x[15]=A,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Xr().fromArray(this.elements)}copy(e){const n=this.elements,o=e.elements;return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=o[6],n[7]=o[7],n[8]=o[8],n[9]=o[9],n[10]=o[10],n[11]=o[11],n[12]=o[12],n[13]=o[13],n[14]=o[14],n[15]=o[15],this}copyPosition(e){const n=this.elements,o=e.elements;return n[12]=o[12],n[13]=o[13],n[14]=o[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,o){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),o.setFromMatrixColumn(this,2),this}makeBasis(e,n,o){return this.set(e.x,n.x,o.x,0,e.y,n.y,o.y,0,e.z,n.z,o.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,o=e.elements,i=1/QS.setFromMatrixColumn(e,0).length(),r=1/QS.setFromMatrixColumn(e,1).length(),a=1/QS.setFromMatrixColumn(e,2).length();return n[0]=o[0]*i,n[1]=o[1]*i,n[2]=o[2]*i,n[3]=0,n[4]=o[4]*r,n[5]=o[5]*r,n[6]=o[6]*r,n[7]=0,n[8]=o[8]*a,n[9]=o[9]*a,n[10]=o[10]*a,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,o=e.x,i=e.y,r=e.z,a=Math.cos(o),l=Math.sin(o),s=Math.cos(i),c=Math.sin(i),u=Math.cos(r),d=Math.sin(r);if(e.order==="XYZ"){const f=a*u,p=a*d,g=l*u,y=l*d;n[0]=s*u,n[4]=-s*d,n[8]=c,n[1]=p+g*c,n[5]=f-y*c,n[9]=-l*s,n[2]=y-f*c,n[6]=g+p*c,n[10]=a*s}else if(e.order==="YXZ"){const f=s*u,p=s*d,g=c*u,y=c*d;n[0]=f+y*l,n[4]=g*l-p,n[8]=a*c,n[1]=a*d,n[5]=a*u,n[9]=-l,n[2]=p*l-g,n[6]=y+f*l,n[10]=a*s}else if(e.order==="ZXY"){const f=s*u,p=s*d,g=c*u,y=c*d;n[0]=f-y*l,n[4]=-a*d,n[8]=g+p*l,n[1]=p+g*l,n[5]=a*u,n[9]=y-f*l,n[2]=-a*c,n[6]=l,n[10]=a*s}else if(e.order==="ZYX"){const f=a*u,p=a*d,g=l*u,y=l*d;n[0]=s*u,n[4]=g*c-p,n[8]=f*c+y,n[1]=s*d,n[5]=y*c+f,n[9]=p*c-g,n[2]=-c,n[6]=l*s,n[10]=a*s}else if(e.order==="YZX"){const f=a*s,p=a*c,g=l*s,y=l*c;n[0]=s*u,n[4]=y-f*d,n[8]=g*d+p,n[1]=d,n[5]=a*u,n[9]=-l*u,n[2]=-c*u,n[6]=p*d+g,n[10]=f-y*d}else if(e.order==="XZY"){const f=a*s,p=a*c,g=l*s,y=l*c;n[0]=s*u,n[4]=-d,n[8]=c*u,n[1]=f*d+y,n[5]=a*u,n[9]=p*d-g,n[2]=g*d-p,n[6]=l*u,n[10]=y*d+f}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Spt,e,Tpt)}lookAt(e,n,o){const i=this.elements;return M1.subVectors(e,n),M1.lengthSq()===0&&(M1.z=1),M1.normalize(),p4.crossVectors(o,M1),p4.lengthSq()===0&&(Math.abs(o.z)===1?M1.x+=1e-4:M1.z+=1e-4,M1.normalize(),p4.crossVectors(o,M1)),p4.normalize(),oj.crossVectors(M1,p4),i[0]=p4.x,i[4]=oj.x,i[8]=M1.x,i[1]=p4.y,i[5]=oj.y,i[9]=M1.y,i[2]=p4.z,i[6]=oj.z,i[10]=M1.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const o=e.elements,i=n.elements,r=this.elements,a=o[0],l=o[4],s=o[8],c=o[12],u=o[1],d=o[5],f=o[9],p=o[13],g=o[2],y=o[6],A=o[10],x=o[14],C=o[3],b=o[7],v=o[11],S=o[15],w=i[0],T=i[4],P=i[8],R=i[12],H=i[1],D=i[5],E=i[9],L=i[13],U=i[2],F=i[6],W=i[10],B=i[14],k=i[3],N=i[7],j=i[11],Y=i[15];return r[0]=a*w+l*H+s*U+c*k,r[4]=a*T+l*D+s*F+c*N,r[8]=a*P+l*E+s*W+c*j,r[12]=a*R+l*L+s*B+c*Y,r[1]=u*w+d*H+f*U+p*k,r[5]=u*T+d*D+f*F+p*N,r[9]=u*P+d*E+f*W+p*j,r[13]=u*R+d*L+f*B+p*Y,r[2]=g*w+y*H+A*U+x*k,r[6]=g*T+y*D+A*F+x*N,r[10]=g*P+y*E+A*W+x*j,r[14]=g*R+y*L+A*B+x*Y,r[3]=C*w+b*H+v*U+S*k,r[7]=C*T+b*D+v*F+S*N,r[11]=C*P+b*E+v*W+S*j,r[15]=C*R+b*L+v*B+S*Y,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],o=e[4],i=e[8],r=e[12],a=e[1],l=e[5],s=e[9],c=e[13],u=e[2],d=e[6],f=e[10],p=e[14],g=e[3],y=e[7],A=e[11],x=e[15];return g*(+r*s*d-i*c*d-r*l*f+o*c*f+i*l*p-o*s*p)+y*(+n*s*p-n*c*f+r*a*f-i*a*p+i*c*u-r*s*u)+A*(+n*c*d-n*l*p-r*a*d+o*a*p+r*l*u-o*c*u)+x*(-i*l*u-n*s*d+n*l*f+i*a*d-o*a*f+o*s*u)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,o){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=o),this}invert(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8],d=e[9],f=e[10],p=e[11],g=e[12],y=e[13],A=e[14],x=e[15],C=d*A*c-y*f*c+y*s*p-l*A*p-d*s*x+l*f*x,b=g*f*c-u*A*c-g*s*p+a*A*p+u*s*x-a*f*x,v=u*y*c-g*d*c+g*l*p-a*y*p-u*l*x+a*d*x,S=g*d*s-u*y*s-g*l*f+a*y*f+u*l*A-a*d*A,w=n*C+o*b+i*v+r*S;if(w===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const T=1/w;return e[0]=C*T,e[1]=(y*f*r-d*A*r-y*i*p+o*A*p+d*i*x-o*f*x)*T,e[2]=(l*A*r-y*s*r+y*i*c-o*A*c-l*i*x+o*s*x)*T,e[3]=(d*s*r-l*f*r-d*i*c+o*f*c+l*i*p-o*s*p)*T,e[4]=b*T,e[5]=(u*A*r-g*f*r+g*i*p-n*A*p-u*i*x+n*f*x)*T,e[6]=(g*s*r-a*A*r-g*i*c+n*A*c+a*i*x-n*s*x)*T,e[7]=(a*f*r-u*s*r+u*i*c-n*f*c-a*i*p+n*s*p)*T,e[8]=v*T,e[9]=(g*d*r-u*y*r-g*o*p+n*y*p+u*o*x-n*d*x)*T,e[10]=(a*y*r-g*l*r+g*o*c-n*y*c-a*o*x+n*l*x)*T,e[11]=(u*l*r-a*d*r-u*o*c+n*d*c+a*o*p-n*l*p)*T,e[12]=S*T,e[13]=(u*y*i-g*d*i+g*o*f-n*y*f-u*o*A+n*d*A)*T,e[14]=(g*l*i-a*y*i-g*o*s+n*y*s+a*o*A-n*l*A)*T,e[15]=(a*d*i-u*l*i+u*o*s-n*d*s-a*o*f+n*l*f)*T,this}scale(e){const n=this.elements,o=e.x,i=e.y,r=e.z;return n[0]*=o,n[4]*=i,n[8]*=r,n[1]*=o,n[5]*=i,n[9]*=r,n[2]*=o,n[6]*=i,n[10]*=r,n[3]*=o,n[7]*=i,n[11]*=r,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],o=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,o,i))}makeTranslation(e,n,o){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,o,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),o=Math.sin(e);return this.set(1,0,0,0,0,n,-o,0,0,o,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,0,o,0,0,1,0,0,-o,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,-o,0,0,o,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const o=Math.cos(n),i=Math.sin(n),r=1-o,a=e.x,l=e.y,s=e.z,c=r*a,u=r*l;return this.set(c*a+o,c*l-i*s,c*s+i*l,0,c*l+i*s,u*l+o,u*s-i*a,0,c*s-i*l,u*s+i*a,r*s*s+o,0,0,0,0,1),this}makeScale(e,n,o){return this.set(e,0,0,0,0,n,0,0,0,0,o,0,0,0,0,1),this}makeShear(e,n,o,i,r,a){return this.set(1,o,r,0,e,1,a,0,n,i,1,0,0,0,0,1),this}compose(e,n,o){const i=this.elements,r=n._x,a=n._y,l=n._z,s=n._w,c=r+r,u=a+a,d=l+l,f=r*c,p=r*u,g=r*d,y=a*u,A=a*d,x=l*d,C=s*c,b=s*u,v=s*d,S=o.x,w=o.y,T=o.z;return i[0]=(1-(y+x))*S,i[1]=(p+v)*S,i[2]=(g-b)*S,i[3]=0,i[4]=(p-v)*w,i[5]=(1-(f+x))*w,i[6]=(A+C)*w,i[7]=0,i[8]=(g+b)*T,i[9]=(A-C)*T,i[10]=(1-(f+y))*T,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,o){const i=this.elements;let r=QS.set(i[0],i[1],i[2]).length();const a=QS.set(i[4],i[5],i[6]).length(),l=QS.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),e.x=i[12],e.y=i[13],e.z=i[14],Uy.copy(this);const c=1/r,u=1/a,d=1/l;return Uy.elements[0]*=c,Uy.elements[1]*=c,Uy.elements[2]*=c,Uy.elements[4]*=u,Uy.elements[5]*=u,Uy.elements[6]*=u,Uy.elements[8]*=d,Uy.elements[9]*=d,Uy.elements[10]*=d,n.setFromRotationMatrix(Uy),o.x=r,o.y=a,o.z=l,this}makePerspective(e,n,o,i,r,a,l=a9){const s=this.elements,c=2*r/(n-e),u=2*r/(o-i),d=(n+e)/(n-e),f=(o+i)/(o-i);let p,g;if(l===a9)p=-(a+r)/(a-r),g=-2*a*r/(a-r);else if(l===xk)p=-a/(a-r),g=-a*r/(a-r);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+l);return s[0]=c,s[4]=0,s[8]=d,s[12]=0,s[1]=0,s[5]=u,s[9]=f,s[13]=0,s[2]=0,s[6]=0,s[10]=p,s[14]=g,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(e,n,o,i,r,a,l=a9){const s=this.elements,c=1/(n-e),u=1/(o-i),d=1/(a-r),f=(n+e)*c,p=(o+i)*u;let g,y;if(l===a9)g=(a+r)*d,y=-2*d;else if(l===xk)g=r*d,y=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+l);return s[0]=2*c,s[4]=0,s[8]=0,s[12]=-f,s[1]=0,s[5]=2*u,s[9]=0,s[13]=-p,s[2]=0,s[6]=0,s[10]=y,s[14]=-g,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(e){const n=this.elements,o=e.elements;for(let i=0;i<16;i++)if(n[i]!==o[i])return!1;return!0}fromArray(e,n=0){for(let o=0;o<16;o++)this.elements[o]=e[o+n];return this}toArray(e=[],n=0){const o=this.elements;return e[n]=o[0],e[n+1]=o[1],e[n+2]=o[2],e[n+3]=o[3],e[n+4]=o[4],e[n+5]=o[5],e[n+6]=o[6],e[n+7]=o[7],e[n+8]=o[8],e[n+9]=o[9],e[n+10]=o[10],e[n+11]=o[11],e[n+12]=o[12],e[n+13]=o[13],e[n+14]=o[14],e[n+15]=o[15],e}}const QS=new ae,Uy=new Xr,Spt=new ae(0,0,0),Tpt=new ae(1,1,1),p4=new ae,oj=new ae,M1=new ae,UAe=new Xr,BAe=new Ts;class Qt{constructor(e=0,n=0,o=0,i=Qt.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=o,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,o,i=this._order){return this._x=e,this._y=n,this._z=o,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,o=!0){const i=e.elements,r=i[0],a=i[4],l=i[8],s=i[1],c=i[5],u=i[9],d=i[2],f=i[6],p=i[10];switch(n){case"XYZ":this._y=Math.asin(h0(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-a,r)):(this._x=Math.atan2(f,c),this._z=0);break;case"YXZ":this._x=Math.asin(-h0(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(l,p),this._z=Math.atan2(s,c)):(this._y=Math.atan2(-d,r),this._z=0);break;case"ZXY":this._x=Math.asin(h0(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-d,p),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(s,r));break;case"ZYX":this._y=Math.asin(-h0(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(f,p),this._z=Math.atan2(s,r)):(this._x=0,this._z=Math.atan2(-a,c));break;case"YZX":this._z=Math.asin(h0(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-d,r)):(this._x=0,this._y=Math.atan2(l,p));break;case"XZY":this._z=Math.asin(-h0(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(f,c),this._y=Math.atan2(l,r)):(this._x=Math.atan2(-u,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,o===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,o){return UAe.makeRotationFromQuaternion(e),this.setFromRotationMatrix(UAe,n,o)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return BAe.setFromEuler(this),this.setFromQuaternion(BAe,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Qt.DEFAULT_ORDER="XYZ";class ox{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let o=0;o0&&(o=o.concat(a))}return o}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(rz,e,Cpt),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(rz,Rpt,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const n=this.matrixWorld.elements;return e.set(n[8],n[9],n[10]).normalize()}raycast(){}traverse(e){e(this);const n=this.children;for(let o=0,i=n.length;o0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON()));function r(l,s){return l[s.uuid]===void 0&&(l[s.uuid]=s.toJSON(e)),s.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(e.geometries,this.geometry);const l=this.geometry.parameters;if(l!==void 0&&l.shapes!==void 0){const s=l.shapes;if(Array.isArray(s))for(let c=0,u=s.length;c0){i.children=[];for(let l=0;l0){i.animations=[];for(let l=0;l0&&(o.geometries=l),s.length>0&&(o.materials=s),c.length>0&&(o.textures=c),u.length>0&&(o.images=u),d.length>0&&(o.shapes=d),f.length>0&&(o.skeletons=f),p.length>0&&(o.animations=p),g.length>0&&(o.nodes=g)}return o.object=i,o;function a(l){const s=[];for(const c in l){const u=l[c];delete u.metadata,s.push(u)}return s}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let o=0;o0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(e,n,o,i,r){By.subVectors(i,n),G3.subVectors(o,n),loe.subVectors(e,n);const a=By.dot(By),l=By.dot(G3),s=By.dot(loe),c=G3.dot(G3),u=G3.dot(loe),d=a*c-l*l;if(d===0)return r.set(-2,-1,-1);const f=1/d,p=(c*s-l*u)*f,g=(a*u-l*s)*f;return r.set(1-p-g,g,p)}static containsPoint(e,n,o,i){return this.getBarycoord(e,n,o,i,X3),X3.x>=0&&X3.y>=0&&X3.x+X3.y<=1}static getUV(e,n,o,i,r,a,l,s){return rj===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),rj=!0),this.getInterpolation(e,n,o,i,r,a,l,s)}static getInterpolation(e,n,o,i,r,a,l,s){return this.getBarycoord(e,n,o,i,X3),s.setScalar(0),s.addScaledVector(r,X3.x),s.addScaledVector(a,X3.y),s.addScaledVector(l,X3.z),s}static isFrontFacing(e,n,o,i){return By.subVectors(o,n),G3.subVectors(e,n),By.cross(G3).dot(i)<0}set(e,n,o){return this.a.copy(e),this.b.copy(n),this.c.copy(o),this}setFromPointsAndIndices(e,n,o,i){return this.a.copy(e[n]),this.b.copy(e[o]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,o,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,o),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return By.subVectors(this.c,this.b),G3.subVectors(this.a,this.b),By.cross(G3).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return th.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return th.getBarycoord(e,this.a,this.b,this.c,n)}getUV(e,n,o,i,r){return rj===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),rj=!0),th.getInterpolation(e,this.a,this.b,this.c,n,o,i,r)}getInterpolation(e,n,o,i,r){return th.getInterpolation(e,this.a,this.b,this.c,n,o,i,r)}containsPoint(e){return th.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return th.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const o=this.a,i=this.b,r=this.c;let a,l;eT.subVectors(i,o),tT.subVectors(r,o),soe.subVectors(e,o);const s=eT.dot(soe),c=tT.dot(soe);if(s<=0&&c<=0)return n.copy(o);coe.subVectors(e,i);const u=eT.dot(coe),d=tT.dot(coe);if(u>=0&&d<=u)return n.copy(i);const f=s*d-u*c;if(f<=0&&s>=0&&u<=0)return a=s/(s-u),n.copy(o).addScaledVector(eT,a);uoe.subVectors(e,r);const p=eT.dot(uoe),g=tT.dot(uoe);if(g>=0&&p<=g)return n.copy(r);const y=p*c-s*g;if(y<=0&&c>=0&&g<=0)return l=c/(c-g),n.copy(o).addScaledVector(tT,l);const A=u*g-p*d;if(A<=0&&d-u>=0&&p-g>=0)return VAe.subVectors(r,i),l=(d-u)/(d-u+(p-g)),n.copy(i).addScaledVector(VAe,l);const x=1/(A+y+f);return a=y*x,l=f*x,n.copy(o).addScaledVector(eT,a).addScaledVector(tT,l)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const vWe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},g4={h:0,s:0,l:0},aj={h:0,s:0,l:0};function doe(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}let Xo=class{constructor(e,n,o){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,o)}set(e,n,o){if(n===void 0&&o===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,o);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=nu){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,rs.toWorkingColorSpace(this,n),this}setRGB(e,n,o,i=rs.workingColorSpace){return this.r=e,this.g=n,this.b=o,rs.toWorkingColorSpace(this,i),this}setHSL(e,n,o,i=rs.workingColorSpace){if(e=t1e(e,1),n=h0(n,0,1),o=h0(o,0,1),n===0)this.r=this.g=this.b=o;else{const r=o<=.5?o*(1+n):o+n-o*n,a=2*o-r;this.r=doe(a,r,e+1/3),this.g=doe(a,r,e),this.b=doe(a,r,e-1/3)}return rs.toWorkingColorSpace(this,i),this}setStyle(e,n=nu){function o(r){r!==void 0&&parseFloat(r)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let r;const a=i[1],l=i[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setRGB(Math.min(255,parseInt(r[1],10))/255,Math.min(255,parseInt(r[2],10))/255,Math.min(255,parseInt(r[3],10))/255,n);if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setRGB(Math.min(100,parseInt(r[1],10))/100,Math.min(100,parseInt(r[2],10))/100,Math.min(100,parseInt(r[3],10))/100,n);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setHSL(parseFloat(r[1])/360,parseFloat(r[2])/100,parseFloat(r[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const r=i[1],a=r.length;if(a===3)return this.setRGB(parseInt(r.charAt(0),16)/15,parseInt(r.charAt(1),16)/15,parseInt(r.charAt(2),16)/15,n);if(a===6)return this.setHex(parseInt(r,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=nu){const o=vWe[e.toLowerCase()];return o!==void 0?this.setHex(o,n):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=fC(e.r),this.g=fC(e.g),this.b=fC(e.b),this}copyLinearToSRGB(e){return this.r=Zne(e.r),this.g=Zne(e.g),this.b=Zne(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=nu){return rs.fromWorkingColorSpace(Yf.copy(this),e),Math.round(h0(Yf.r*255,0,255))*65536+Math.round(h0(Yf.g*255,0,255))*256+Math.round(h0(Yf.b*255,0,255))}getHexString(e=nu){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=rs.workingColorSpace){rs.fromWorkingColorSpace(Yf.copy(this),n);const o=Yf.r,i=Yf.g,r=Yf.b,a=Math.max(o,i,r),l=Math.min(o,i,r);let s,c;const u=(l+a)/2;if(l===a)s=0,c=0;else{const d=a-l;switch(c=u<=.5?d/(a+l):d/(2-a-l),a){case o:s=(i-r)/d+(i0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const o=e[n];if(o===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(o):i&&i.isVector3&&o&&o.isVector3?i.copy(o):this[n]=o}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const o={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};o.uuid=this.uuid,o.type=this.type,this.name!==""&&(o.name=this.name),this.color&&this.color.isColor&&(o.color=this.color.getHex()),this.roughness!==void 0&&(o.roughness=this.roughness),this.metalness!==void 0&&(o.metalness=this.metalness),this.sheen!==void 0&&(o.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(o.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(o.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(o.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(o.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(o.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(o.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(o.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(o.shininess=this.shininess),this.clearcoat!==void 0&&(o.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(o.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(o.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(o.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(o.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,o.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(o.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(o.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(o.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(o.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(o.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(o.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(o.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(o.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(o.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(o.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(o.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(o.lightMap=this.lightMap.toJSON(e).uuid,o.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(o.aoMap=this.aoMap.toJSON(e).uuid,o.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(o.bumpMap=this.bumpMap.toJSON(e).uuid,o.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(o.normalMap=this.normalMap.toJSON(e).uuid,o.normalMapType=this.normalMapType,o.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(o.displacementMap=this.displacementMap.toJSON(e).uuid,o.displacementScale=this.displacementScale,o.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(o.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(o.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(o.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(o.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(o.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(o.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(o.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(o.combine=this.combine)),this.envMapIntensity!==void 0&&(o.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(o.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(o.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(o.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(o.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(o.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(o.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(o.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(o.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(o.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(o.size=this.size),this.shadowSide!==null&&(o.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(o.sizeAttenuation=this.sizeAttenuation),this.blending!==tx&&(o.blending=this.blending),this.side!==ia&&(o.side=this.side),this.vertexColors===!0&&(o.vertexColors=!0),this.opacity<1&&(o.opacity=this.opacity),this.transparent===!0&&(o.transparent=!0),this.blendSrc!==WV&&(o.blendSrc=this.blendSrc),this.blendDst!==NV&&(o.blendDst=this.blendDst),this.blendEquation!==$4&&(o.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(o.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(o.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(o.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(o.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(o.blendAlpha=this.blendAlpha),this.depthFunc!==uk&&(o.depthFunc=this.depthFunc),this.depthTest===!1&&(o.depthTest=this.depthTest),this.depthWrite===!1&&(o.depthWrite=this.depthWrite),this.colorWrite===!1&&(o.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(o.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==jse&&(o.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(o.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(o.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==rv&&(o.stencilFail=this.stencilFail),this.stencilZFail!==rv&&(o.stencilZFail=this.stencilZFail),this.stencilZPass!==rv&&(o.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(o.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(o.rotation=this.rotation),this.polygonOffset===!0&&(o.polygonOffset=!0),this.polygonOffsetFactor!==0&&(o.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(o.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(o.linewidth=this.linewidth),this.dashSize!==void 0&&(o.dashSize=this.dashSize),this.gapSize!==void 0&&(o.gapSize=this.gapSize),this.scale!==void 0&&(o.scale=this.scale),this.dithering===!0&&(o.dithering=!0),this.alphaTest>0&&(o.alphaTest=this.alphaTest),this.alphaHash===!0&&(o.alphaHash=!0),this.alphaToCoverage===!0&&(o.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(o.premultipliedAlpha=!0),this.forceSinglePass===!0&&(o.forceSinglePass=!0),this.wireframe===!0&&(o.wireframe=!0),this.wireframeLinewidth>1&&(o.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(o.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(o.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(o.flatShading=!0),this.visible===!1&&(o.visible=!1),this.toneMapped===!1&&(o.toneMapped=!1),this.fog===!1&&(o.fog=!1),Object.keys(this.userData).length>0&&(o.userData=this.userData);function i(r){const a=[];for(const l in r){const s=r[l];delete s.metadata,a.push(s)}return a}if(n){const r=i(e.textures),a=i(e.images);r.length>0&&(o.textures=r),a.length>0&&(o.images=a)}return o}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let o=null;if(n!==null){const i=n.length;o=new Array(i);for(let r=0;r!==i;++r)o[r]=n[r].clone()}return this.clippingPlanes=o,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};class G9 extends yf{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Xo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const d6=zpt();function zpt(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),o=new Uint32Array(512),i=new Uint32Array(512);for(let s=0;s<256;++s){const c=s-127;c<-27?(o[s]=0,o[s|256]=32768,i[s]=24,i[s|256]=24):c<-14?(o[s]=1024>>-c-14,o[s|256]=1024>>-c-14|32768,i[s]=-c-1,i[s|256]=-c-1):c<=15?(o[s]=c+15<<10,o[s|256]=c+15<<10|32768,i[s]=13,i[s|256]=13):c<128?(o[s]=31744,o[s|256]=64512,i[s]=24,i[s|256]=24):(o[s]=31744,o[s|256]=64512,i[s]=13,i[s|256]=13)}const r=new Uint32Array(2048),a=new Uint32Array(64),l=new Uint32Array(64);for(let s=1;s<1024;++s){let c=s<<13,u=0;for(;!(c&8388608);)c<<=1,u-=8388608;c&=-8388609,u+=947912704,r[s]=c|u}for(let s=1024;s<2048;++s)r[s]=939524096+(s-1024<<13);for(let s=1;s<31;++s)a[s]=s<<23;a[31]=1199570944,a[32]=2147483648;for(let s=33;s<63;++s)a[s]=2147483648+(s-32<<23);a[63]=3347054592;for(let s=1;s<64;++s)s!==32&&(l[s]=1024);return{floatView:e,uint32View:n,baseTable:o,shiftTable:i,mantissaTable:r,exponentTable:a,offsetTable:l}}function Hp(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=h0(t,-65504,65504),d6.floatView[0]=t;const e=d6.uint32View[0],n=e>>23&511;return d6.baseTable[n]+((e&8388607)>>d6.shiftTable[n])}function dD(t){const e=t>>10;return d6.uint32View[0]=d6.mantissaTable[d6.offsetTable[e]+(t&1023)]+d6.exponentTable[e],d6.floatView[0]}const Dpt={toHalfFloat:Hp,fromHalfFloat:dD},Q0=new ae,lj=new Gt;class qa{constructor(e,n,o=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=o,this.usage=vk,this.updateRange={offset:0,count:-1},this.gpuType=h2,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,o){e*=this.itemSize,o*=n.itemSize;for(let i=0,r=this.itemSize;i0&&(e.userData=this.userData),this.parameters!==void 0){const s=this.parameters;for(const c in s)s[c]!==void 0&&(e[c]=s[c]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const o=this.attributes;for(const s in o){const c=o[s];e.data.attributes[s]=c.toJSON(e.data)}const i={};let r=!1;for(const s in this.morphAttributes){const c=this.morphAttributes[s],u=[];for(let d=0,f=c.length;d0&&(i[s]=u,r=!0)}r&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const l=this.boundingSphere;return l!==null&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const o=e.index;o!==null&&this.setIndex(o.clone(n));const i=e.attributes;for(const c in i){const u=i[c];this.setAttribute(c,u.clone(n))}const r=e.morphAttributes;for(const c in r){const u=[],d=r[c];for(let f=0,p=d.length;f0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;r(e.far-e.near)**2))&&(GAe.copy(r).invert(),D8.copy(e.ray).applyMatrix4(GAe),!(o.boundingBox!==null&&D8.intersectsBox(o.boundingBox)===!1)&&this._computeIntersections(e,n,D8)))}_computeIntersections(e,n,o){let i;const r=this.geometry,a=this.material,l=r.index,s=r.attributes.position,c=r.attributes.uv,u=r.attributes.uv1,d=r.attributes.normal,f=r.groups,p=r.drawRange;if(l!==null)if(Array.isArray(a))for(let g=0,y=f.length;gn.far?null:{distance:c,point:pj.clone(),object:t}}function gj(t,e,n,o,i,r,a,l,s,c){t.getVertexPosition(l,oT),t.getVertexPosition(s,iT),t.getVertexPosition(c,rT);const u=jpt(t,e,n,o,oT,iT,rT,hj);if(u){i&&(uj.fromBufferAttribute(i,l),dj.fromBufferAttribute(i,s),fj.fromBufferAttribute(i,c),u.uv=th.getInterpolation(hj,oT,iT,rT,uj,dj,fj,new Gt)),r&&(uj.fromBufferAttribute(r,l),dj.fromBufferAttribute(r,s),fj.fromBufferAttribute(r,c),u.uv1=th.getInterpolation(hj,oT,iT,rT,uj,dj,fj,new Gt),u.uv2=u.uv1),a&&(JAe.fromBufferAttribute(a,l),KAe.fromBufferAttribute(a,s),qAe.fromBufferAttribute(a,c),u.normal=th.getInterpolation(hj,oT,iT,rT,JAe,KAe,qAe,new ae),u.normal.dot(o.direction)>0&&u.normal.multiplyScalar(-1));const d={a:l,b:s,c,normal:new ae,materialIndex:0};th.getNormal(oT,iT,rT,d.normal),u.face=d}return u}class X9 extends Ur{constructor(e=1,n=1,o=1,i=1,r=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:o,widthSegments:i,heightSegments:r,depthSegments:a};const l=this;i=Math.floor(i),r=Math.floor(r),a=Math.floor(a);const s=[],c=[],u=[],d=[];let f=0,p=0;g("z","y","x",-1,-1,o,n,e,a,r,0),g("z","y","x",1,-1,o,n,-e,a,r,1),g("x","z","y",1,1,e,o,n,i,a,2),g("x","z","y",1,-1,e,o,-n,i,a,3),g("x","y","z",1,-1,e,n,o,i,r,4),g("x","y","z",-1,-1,e,n,-o,i,r,5),this.setIndex(s),this.setAttribute("position",new hi(c,3)),this.setAttribute("normal",new hi(u,3)),this.setAttribute("uv",new hi(d,2));function g(y,A,x,C,b,v,S,w,T,P,R){const H=v/T,D=S/P,E=v/2,L=S/2,U=w/2,F=T+1,W=P+1;let B=0,k=0;const N=new ae;for(let j=0;j0?1:-1,u.push(N.x,N.y,N.z),d.push(_/T),d.push(1-j/P),B+=1}}for(let j=0;j0&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const o={};for(const i in this.extensions)this.extensions[i]===!0&&(o[i]=!0);return Object.keys(o).length>0&&(n.extensions=o),n}}class BL extends Dl{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Xr,this.projectionMatrix=new Xr,this.projectionMatrixInverse=new Xr,this.coordinateSystem=a9}copy(e,n){return super.copy(e,n),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}let Iu=class extends BL{constructor(e=50,n=1,o=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=o,this.far=i,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const n=.5*this.getFilmHeight()/e;this.fov=VC*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(nx*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return VC*2*Math.atan(Math.tan(nx*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,n,o,i,r,a){this.aspect=e/n,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=o,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(nx*.5*this.fov)/this.zoom,o=2*n,i=this.aspect*o,r=-.5*i;const a=this.view;if(this.view!==null&&this.view.enabled){const s=a.fullWidth,c=a.fullHeight;r+=a.offsetX*i/s,n-=a.offsetY*o/c,i*=a.width/s,o*=a.height/c}const l=this.filmOffset;l!==0&&(r+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,n,n-o,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}};const aT=-90,lT=1;class bWe extends Dl{constructor(e,n,o){super(),this.type="CubeCamera",this.renderTarget=o,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Iu(aT,lT,e,n);i.layers=this.layers,this.add(i);const r=new Iu(aT,lT,e,n);r.layers=this.layers,this.add(r);const a=new Iu(aT,lT,e,n);a.layers=this.layers,this.add(a);const l=new Iu(aT,lT,e,n);l.layers=this.layers,this.add(l);const s=new Iu(aT,lT,e,n);s.layers=this.layers,this.add(s);const c=new Iu(aT,lT,e,n);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[o,i,r,a,l,s]=n;for(const c of n)this.remove(c);if(e===a9)o.up.set(0,1,0),o.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),r.up.set(0,0,-1),r.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),l.up.set(0,1,0),l.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else if(e===xk)o.up.set(0,-1,0),o.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),r.up.set(0,0,1),r.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),l.up.set(0,-1,0),l.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of n)this.add(c),c.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:o,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[r,a,l,s,c,u]=this.children,d=e.getRenderTarget(),f=e.getActiveCubeFace(),p=e.getActiveMipmapLevel(),g=e.xr.enabled;e.xr.enabled=!1;const y=o.texture.generateMipmaps;o.texture.generateMipmaps=!1,e.setRenderTarget(o,0,i),e.render(n,r),e.setRenderTarget(o,1,i),e.render(n,a),e.setRenderTarget(o,2,i),e.render(n,l),e.setRenderTarget(o,3,i),e.render(n,s),e.setRenderTarget(o,4,i),e.render(n,c),o.texture.generateMipmaps=y,e.setRenderTarget(o,5,i),e.render(n,u),e.setRenderTarget(d,f,p),e.xr.enabled=g,o.texture.needsPMREMUpdate=!0}}class jL extends _c{constructor(e,n,o,i,r,a,l,s,c,u){e=e!==void 0?e:[],n=n!==void 0?n:j6,super(e,n,o,i,r,a,l,s,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class SWe extends _m{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const o={width:e,height:e,depth:1},i=[o,o,o,o,o,o];n.encoding!==void 0&&(ZD("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===kw?nu:ig),this.texture=new jL(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:js}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.magFilter;const o={uniforms:{tEquirect:{value:null}},vertexShader:` +}`;class W2 extends yf{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=Opt,this.fragmentShader=_pt,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=GC(e.uniforms),this.uniformsGroups=Ypt(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const n=super.toJSON(e);n.glslVersion=this.glslVersion,n.uniforms={};for(const i in this.uniforms){const a=this.uniforms[i].value;a&&a.isTexture?n.uniforms[i]={type:"t",value:a.toJSON(e).uuid}:a&&a.isColor?n.uniforms[i]={type:"c",value:a.getHex()}:a&&a.isVector2?n.uniforms[i]={type:"v2",value:a.toArray()}:a&&a.isVector3?n.uniforms[i]={type:"v3",value:a.toArray()}:a&&a.isVector4?n.uniforms[i]={type:"v4",value:a.toArray()}:a&&a.isMatrix3?n.uniforms[i]={type:"m3",value:a.toArray()}:a&&a.isMatrix4?n.uniforms[i]={type:"m4",value:a.toArray()}:n.uniforms[i]={value:a}}Object.keys(this.defines).length>0&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const o={};for(const i in this.extensions)this.extensions[i]===!0&&(o[i]=!0);return Object.keys(o).length>0&&(n.extensions=o),n}}class BL extends Dl{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Xr,this.projectionMatrix=new Xr,this.projectionMatrixInverse=new Xr,this.coordinateSystem=a9}copy(e,n){return super.copy(e,n),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}let Iu=class extends BL{constructor(e=50,n=1,o=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=o,this.far=i,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const n=.5*this.getFilmHeight()/e;this.fov=VC*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(nx*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return VC*2*Math.atan(Math.tan(nx*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,n,o,i,r,a){this.aspect=e/n,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=o,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(nx*.5*this.fov)/this.zoom,o=2*n,i=this.aspect*o,r=-.5*i;const a=this.view;if(this.view!==null&&this.view.enabled){const s=a.fullWidth,c=a.fullHeight;r+=a.offsetX*i/s,n-=a.offsetY*o/c,i*=a.width/s,o*=a.height/c}const l=this.filmOffset;l!==0&&(r+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,n,n-o,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}};const aT=-90,lT=1;class bWe extends Dl{constructor(e,n,o){super(),this.type="CubeCamera",this.renderTarget=o,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Iu(aT,lT,e,n);i.layers=this.layers,this.add(i);const r=new Iu(aT,lT,e,n);r.layers=this.layers,this.add(r);const a=new Iu(aT,lT,e,n);a.layers=this.layers,this.add(a);const l=new Iu(aT,lT,e,n);l.layers=this.layers,this.add(l);const s=new Iu(aT,lT,e,n);s.layers=this.layers,this.add(s);const c=new Iu(aT,lT,e,n);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[o,i,r,a,l,s]=n;for(const c of n)this.remove(c);if(e===a9)o.up.set(0,1,0),o.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),r.up.set(0,0,-1),r.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),l.up.set(0,1,0),l.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else if(e===xk)o.up.set(0,-1,0),o.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),r.up.set(0,0,1),r.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),l.up.set(0,-1,0),l.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of n)this.add(c),c.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:o,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[r,a,l,s,c,u]=this.children,d=e.getRenderTarget(),f=e.getActiveCubeFace(),p=e.getActiveMipmapLevel(),g=e.xr.enabled;e.xr.enabled=!1;const y=o.texture.generateMipmaps;o.texture.generateMipmaps=!1,e.setRenderTarget(o,0,i),e.render(n,r),e.setRenderTarget(o,1,i),e.render(n,a),e.setRenderTarget(o,2,i),e.render(n,l),e.setRenderTarget(o,3,i),e.render(n,s),e.setRenderTarget(o,4,i),e.render(n,c),o.texture.generateMipmaps=y,e.setRenderTarget(o,5,i),e.render(n,u),e.setRenderTarget(d,f,p),e.xr.enabled=g,o.texture.needsPMREMUpdate=!0}}class jL extends _c{constructor(e,n,o,i,r,a,l,s,c,u){e=e!==void 0?e:[],n=n!==void 0?n:j6,super(e,n,o,i,r,a,l,s,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class SWe extends _m{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const o={width:e,height:e,depth:1},i=[o,o,o,o,o,o];n.encoding!==void 0&&(ZD("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===kw?nu:rg),this.texture=new jL(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:js}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.magFilter;const o={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -115,7 +115,7 @@ AC will not run if the highest outside temperature of the day is lower than the gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},i=new X9(5,5,5),r=new W2({name:"CubemapFromEquirect",uniforms:GC(o.uniforms),vertexShader:o.vertexShader,fragmentShader:o.fragmentShader,side:p0,blending:P6});r.uniforms.tEquirect.value=n;const a=new es(i,r),l=n.minFilter;return n.minFilter===Xw&&(n.minFilter=js),new bWe(1,10,this).update(e,a),n.minFilter=l,a.geometry.dispose(),a.material.dispose(),this}clear(e,n,o,i){const r=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(n,o,i);e.setRenderTarget(r)}}const poe=new ae,Vpt=new ae,Gpt=new fa;let Q5=class{constructor(e=new ae(1,0,0),n=0){this.isPlane=!0,this.normal=e,this.constant=n}set(e,n){return this.normal.copy(e),this.constant=n,this}setComponents(e,n,o,i){return this.normal.set(e,n,o),this.constant=i,this}setFromNormalAndCoplanarPoint(e,n){return this.normal.copy(e),this.constant=-n.dot(this.normal),this}setFromCoplanarPoints(e,n,o){const i=poe.subVectors(o,n).cross(Vpt.subVectors(e,n)).normalize();return this.setFromNormalAndCoplanarPoint(i,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,n){return n.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,n){const o=e.delta(poe),i=this.normal.dot(o);if(i===0)return this.distanceToPoint(e.start)===0?n.copy(e.start):null;const r=-(e.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:n.copy(e.start).addScaledVector(o,r)}intersectsLine(e){const n=this.distanceToPoint(e.start),o=this.distanceToPoint(e.end);return n<0&&o>0||o<0&&n>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,n){const o=n||Gpt.getNormalMatrix(e),i=this.coplanarPoint(poe).applyMatrix4(e),r=this.normal.applyMatrix3(o).normalize();return this.constant=-i.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};const E8=new t1,mj=new ae;class FK{constructor(e=new Q5,n=new Q5,o=new Q5,i=new Q5,r=new Q5,a=new Q5){this.planes=[e,n,o,i,r,a]}set(e,n,o,i,r,a){const l=this.planes;return l[0].copy(e),l[1].copy(n),l[2].copy(o),l[3].copy(i),l[4].copy(r),l[5].copy(a),this}copy(e){const n=this.planes;for(let o=0;o<6;o++)n[o].copy(e.planes[o]);return this}setFromProjectionMatrix(e,n=a9){const o=this.planes,i=e.elements,r=i[0],a=i[1],l=i[2],s=i[3],c=i[4],u=i[5],d=i[6],f=i[7],p=i[8],g=i[9],y=i[10],A=i[11],x=i[12],C=i[13],b=i[14],v=i[15];if(o[0].setComponents(s-r,f-c,A-p,v-x).normalize(),o[1].setComponents(s+r,f+c,A+p,v+x).normalize(),o[2].setComponents(s+a,f+u,A+g,v+C).normalize(),o[3].setComponents(s-a,f-u,A-g,v-C).normalize(),o[4].setComponents(s-l,f-d,A-y,v-b).normalize(),n===a9)o[5].setComponents(s+l,f+d,A+y,v+b).normalize();else if(n===xk)o[5].setComponents(l,d,y,b).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),E8.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),E8.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(E8)}intersectsSprite(e){return E8.center.set(0,0,0),E8.radius=.7071067811865476,E8.applyMatrix4(e.matrixWorld),this.intersectsSphere(E8)}intersectsSphere(e){const n=this.planes,o=e.center,i=-e.radius;for(let r=0;r<6;r++)if(n[r].distanceToPoint(o)0?e.max.x:e.min.x,mj.y=i.normal.y>0?e.max.y:e.min.y,mj.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(mj)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let o=0;o<6;o++)if(n[o].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function TWe(){let t=null,e=!1,n=null,o=null;function i(r,a){n(r,a),o=t.requestAnimationFrame(i)}return{start:function(){e!==!0&&n!==null&&(o=t.requestAnimationFrame(i),e=!0)},stop:function(){t.cancelAnimationFrame(o),e=!1},setAnimationLoop:function(r){n=r},setContext:function(r){t=r}}}function Xpt(t,e){const n=e.isWebGL2,o=new WeakMap;function i(c,u){const d=c.array,f=c.usage,p=t.createBuffer();t.bindBuffer(u,p),t.bufferData(u,d,f),c.onUploadCallback();let g;if(d instanceof Float32Array)g=t.FLOAT;else if(d instanceof Uint16Array)if(c.isFloat16BufferAttribute)if(n)g=t.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=t.UNSIGNED_SHORT;else if(d instanceof Int16Array)g=t.SHORT;else if(d instanceof Uint32Array)g=t.UNSIGNED_INT;else if(d instanceof Int32Array)g=t.INT;else if(d instanceof Int8Array)g=t.BYTE;else if(d instanceof Uint8Array)g=t.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)g=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:p,type:g,bytesPerElement:d.BYTES_PER_ELEMENT,version:c.version}}function r(c,u,d){const f=u.array,p=u.updateRange;t.bindBuffer(d,c),p.count===-1?t.bufferSubData(d,0,f):(n?t.bufferSubData(d,p.offset*f.BYTES_PER_ELEMENT,f,p.offset,p.count):t.bufferSubData(d,p.offset*f.BYTES_PER_ELEMENT,f.subarray(p.offset,p.offset+p.count)),p.count=-1),u.onUploadCallback()}function a(c){return c.isInterleavedBufferAttribute&&(c=c.data),o.get(c)}function l(c){c.isInterleavedBufferAttribute&&(c=c.data);const u=o.get(c);u&&(t.deleteBuffer(u.buffer),o.delete(c))}function s(c,u){if(c.isGLBufferAttribute){const f=o.get(c);(!f||f.version1?null:n.copy(e.start).addScaledVector(o,r)}intersectsLine(e){const n=this.distanceToPoint(e.start),o=this.distanceToPoint(e.end);return n<0&&o>0||o<0&&n>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,n){const o=n||Gpt.getNormalMatrix(e),i=this.coplanarPoint(poe).applyMatrix4(e),r=this.normal.applyMatrix3(o).normalize();return this.constant=-i.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};const E8=new n1,mj=new ae;class FK{constructor(e=new Q5,n=new Q5,o=new Q5,i=new Q5,r=new Q5,a=new Q5){this.planes=[e,n,o,i,r,a]}set(e,n,o,i,r,a){const l=this.planes;return l[0].copy(e),l[1].copy(n),l[2].copy(o),l[3].copy(i),l[4].copy(r),l[5].copy(a),this}copy(e){const n=this.planes;for(let o=0;o<6;o++)n[o].copy(e.planes[o]);return this}setFromProjectionMatrix(e,n=a9){const o=this.planes,i=e.elements,r=i[0],a=i[1],l=i[2],s=i[3],c=i[4],u=i[5],d=i[6],f=i[7],p=i[8],g=i[9],y=i[10],A=i[11],x=i[12],C=i[13],b=i[14],v=i[15];if(o[0].setComponents(s-r,f-c,A-p,v-x).normalize(),o[1].setComponents(s+r,f+c,A+p,v+x).normalize(),o[2].setComponents(s+a,f+u,A+g,v+C).normalize(),o[3].setComponents(s-a,f-u,A-g,v-C).normalize(),o[4].setComponents(s-l,f-d,A-y,v-b).normalize(),n===a9)o[5].setComponents(s+l,f+d,A+y,v+b).normalize();else if(n===xk)o[5].setComponents(l,d,y,b).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),E8.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),E8.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(E8)}intersectsSprite(e){return E8.center.set(0,0,0),E8.radius=.7071067811865476,E8.applyMatrix4(e.matrixWorld),this.intersectsSphere(E8)}intersectsSphere(e){const n=this.planes,o=e.center,i=-e.radius;for(let r=0;r<6;r++)if(n[r].distanceToPoint(o)0?e.max.x:e.min.x,mj.y=i.normal.y>0?e.max.y:e.min.y,mj.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(mj)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let o=0;o<6;o++)if(n[o].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function TWe(){let t=null,e=!1,n=null,o=null;function i(r,a){n(r,a),o=t.requestAnimationFrame(i)}return{start:function(){e!==!0&&n!==null&&(o=t.requestAnimationFrame(i),e=!0)},stop:function(){t.cancelAnimationFrame(o),e=!1},setAnimationLoop:function(r){n=r},setContext:function(r){t=r}}}function Xpt(t,e){const n=e.isWebGL2,o=new WeakMap;function i(c,u){const d=c.array,f=c.usage,p=t.createBuffer();t.bindBuffer(u,p),t.bufferData(u,d,f),c.onUploadCallback();let g;if(d instanceof Float32Array)g=t.FLOAT;else if(d instanceof Uint16Array)if(c.isFloat16BufferAttribute)if(n)g=t.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=t.UNSIGNED_SHORT;else if(d instanceof Int16Array)g=t.SHORT;else if(d instanceof Uint32Array)g=t.UNSIGNED_INT;else if(d instanceof Int32Array)g=t.INT;else if(d instanceof Int8Array)g=t.BYTE;else if(d instanceof Uint8Array)g=t.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)g=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:p,type:g,bytesPerElement:d.BYTES_PER_ELEMENT,version:c.version}}function r(c,u,d){const f=u.array,p=u.updateRange;t.bindBuffer(d,c),p.count===-1?t.bufferSubData(d,0,f):(n?t.bufferSubData(d,p.offset*f.BYTES_PER_ELEMENT,f,p.offset,p.count):t.bufferSubData(d,p.offset*f.BYTES_PER_ELEMENT,f.subarray(p.offset,p.offset+p.count)),p.count=-1),u.onUploadCallback()}function a(c){return c.isInterleavedBufferAttribute&&(c=c.data),o.get(c)}function l(c){c.isInterleavedBufferAttribute&&(c=c.data);const u=o.get(c);u&&(t.deleteBuffer(u.buffer),o.delete(c))}function s(c,u){if(c.isGLBufferAttribute){const f=o.get(c);(!f||f.versionu||i.y>u)&&(i.x>u&&(r.x=Math.floor(u/k.x),i.x=r.x*k.x,B.mapSize.x=r.x),i.y>u&&(r.y=Math.floor(u/k.y),i.y=r.y*k.y,B.mapSize.y=r.y)),B.map===null||E===!0||L===!0){const j=this.type!==e2?{minFilter:F0,magFilter:F0}:{};B.map!==null&&B.map.dispose(),B.map=new _m(i.x,i.y,j),B.map.texture.name=W.name+".shadowMap",B.camera.updateProjectionMatrix()}t.setRenderTarget(B.map),t.clear();const N=B.getViewportCount();for(let j=0;j0||w.map&&w.alphaTest>0){const D=R.uuid,E=w.uuid;let L=c[D];L===void 0&&(L={},c[D]=L);let U=L[E];U===void 0&&(U=R.clone(),L[E]=U),R=U}if(R.visible=w.visible,R.wireframe=w.wireframe,P===e2?R.side=w.shadowSide!==null?w.shadowSide:w.side:R.side=w.shadowSide!==null?w.shadowSide:d[w.side],R.alphaMap=w.alphaMap,R.alphaTest=w.alphaTest,R.map=w.map,R.clipShadows=w.clipShadows,R.clippingPlanes=w.clippingPlanes,R.clipIntersection=w.clipIntersection,R.displacementMap=w.displacementMap,R.displacementScale=w.displacementScale,R.displacementBias=w.displacementBias,R.wireframeLinewidth=w.wireframeLinewidth,R.linewidth=w.linewidth,T.isPointLight===!0&&R.isMeshDistanceMaterial===!0){const D=t.properties.get(R);D.light=T}return R}function v(S,w,T,P,R){if(S.visible===!1)return;if(S.layers.test(w.layers)&&(S.isMesh||S.isLine||S.isPoints)&&(S.castShadow||S.receiveShadow&&R===e2)&&(!S.frustumCulled||o.intersectsObject(S))){S.modelViewMatrix.multiplyMatrices(T.matrixWorldInverse,S.matrixWorld);const E=e.update(S),L=S.material;if(Array.isArray(L)){const U=E.groups;for(let F=0,W=U.length;F=1):j.indexOf("OpenGL ES")!==-1&&(N=parseFloat(/^OpenGL ES (\d)/.exec(j)[1]),k=N>=2);let Y=null,_={};const J=t.getParameter(t.SCISSOR_BOX),Q=t.getParameter(t.VIEWPORT),ee=new ll().fromArray(J),$=new ll().fromArray(Q);function q(Ye,St,dt,je){const at=new Uint8Array(4),ut=t.createTexture();t.bindTexture(Ye,ut),t.texParameteri(Ye,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(Ye,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let wt=0;wt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),g=new WeakMap;let y;const A=new WeakMap;let x=!1;try{x=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function C(Ae,re){return x?new OffscreenCanvas(Ae,re):bk("canvas")}function b(Ae,re,ge,we){let ye=1;if((Ae.width>we||Ae.height>we)&&(ye=we/Math.max(Ae.width,Ae.height)),ye<1||re===!0)if(typeof HTMLImageElement<"u"&&Ae instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&Ae instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&Ae instanceof ImageBitmap){const Te=re?jV:Math.floor,Ie=Te(ye*Ae.width),Ce=Te(ye*Ae.height);y===void 0&&(y=C(Ie,Ce));const Ee=ge?C(Ie,Ce):y;return Ee.width=Ie,Ee.height=Ce,Ee.getContext("2d").drawImage(Ae,0,0,Ie,Ce),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Ae.width+"x"+Ae.height+") to ("+Ie+"x"+Ce+")."),Ee}else return"data"in Ae&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Ae.width+"x"+Ae.height+")."),Ae;return Ae}function v(Ae){return Ose(Ae.width)&&Ose(Ae.height)}function S(Ae){return l?!1:Ae.wrapS!==ah||Ae.wrapT!==ah||Ae.minFilter!==F0&&Ae.minFilter!==js}function w(Ae,re){return Ae.generateMipmaps&&re&&Ae.minFilter!==F0&&Ae.minFilter!==js}function T(Ae){t.generateMipmap(Ae)}function P(Ae,re,ge,we,ye=!1){if(l===!1)return re;if(Ae!==null){if(t[Ae]!==void 0)return t[Ae];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+Ae+"'")}let Te=re;if(re===t.RED&&(ge===t.FLOAT&&(Te=t.R32F),ge===t.HALF_FLOAT&&(Te=t.R16F),ge===t.UNSIGNED_BYTE&&(Te=t.R8)),re===t.RED_INTEGER&&(ge===t.UNSIGNED_BYTE&&(Te=t.R8UI),ge===t.UNSIGNED_SHORT&&(Te=t.R16UI),ge===t.UNSIGNED_INT&&(Te=t.R32UI),ge===t.BYTE&&(Te=t.R8I),ge===t.SHORT&&(Te=t.R16I),ge===t.INT&&(Te=t.R32I)),re===t.RG&&(ge===t.FLOAT&&(Te=t.RG32F),ge===t.HALF_FLOAT&&(Te=t.RG16F),ge===t.UNSIGNED_BYTE&&(Te=t.RG8)),re===t.RGBA){const Ie=ye?yk:rs.getTransfer(we);ge===t.FLOAT&&(Te=t.RGBA32F),ge===t.HALF_FLOAT&&(Te=t.RGBA16F),ge===t.UNSIGNED_BYTE&&(Te=Ie===Ws?t.SRGB8_ALPHA8:t.RGBA8),ge===t.UNSIGNED_SHORT_4_4_4_4&&(Te=t.RGBA4),ge===t.UNSIGNED_SHORT_5_5_5_1&&(Te=t.RGB5_A1)}return(Te===t.R16F||Te===t.R32F||Te===t.RG16F||Te===t.RG32F||Te===t.RGBA16F||Te===t.RGBA32F)&&e.get("EXT_color_buffer_float"),Te}function R(Ae,re,ge){return w(Ae,ge)===!0||Ae.isFramebufferTexture&&Ae.minFilter!==F0&&Ae.minFilter!==js?Math.log2(Math.max(re.width,re.height))+1:Ae.mipmaps!==void 0&&Ae.mipmaps.length>0?Ae.mipmaps.length:Ae.isCompressedTexture&&Array.isArray(Ae.image)?re.mipmaps.length:1}function H(Ae){return Ae===F0||Ae===UV||Ae===$D?t.NEAREST:t.LINEAR}function D(Ae){const re=Ae.target;re.removeEventListener("dispose",D),L(re),re.isVideoTexture&&g.delete(re)}function E(Ae){const re=Ae.target;re.removeEventListener("dispose",E),F(re)}function L(Ae){const re=o.get(Ae);if(re.__webglInit===void 0)return;const ge=Ae.source,we=A.get(ge);if(we){const ye=we[re.__cacheKey];ye.usedTimes--,ye.usedTimes===0&&U(Ae),Object.keys(we).length===0&&A.delete(ge)}o.remove(Ae)}function U(Ae){const re=o.get(Ae);t.deleteTexture(re.__webglTexture);const ge=Ae.source,we=A.get(ge);delete we[re.__cacheKey],a.memory.textures--}function F(Ae){const re=Ae.texture,ge=o.get(Ae),we=o.get(re);if(we.__webglTexture!==void 0&&(t.deleteTexture(we.__webglTexture),a.memory.textures--),Ae.depthTexture&&Ae.depthTexture.dispose(),Ae.isWebGLCubeRenderTarget)for(let ye=0;ye<6;ye++){if(Array.isArray(ge.__webglFramebuffer[ye]))for(let Te=0;Te=s&&console.warn("THREE.WebGLTextures: Trying to use "+Ae+" texture units while this GPU supports only "+s),W+=1,Ae}function N(Ae){const re=[];return re.push(Ae.wrapS),re.push(Ae.wrapT),re.push(Ae.wrapR||0),re.push(Ae.magFilter),re.push(Ae.minFilter),re.push(Ae.anisotropy),re.push(Ae.internalFormat),re.push(Ae.format),re.push(Ae.type),re.push(Ae.generateMipmaps),re.push(Ae.premultiplyAlpha),re.push(Ae.flipY),re.push(Ae.unpackAlignment),re.push(Ae.colorSpace),re.join()}function j(Ae,re){const ge=o.get(Ae);if(Ae.isVideoTexture&&Re(Ae),Ae.isRenderTargetTexture===!1&&Ae.version>0&&ge.__version!==Ae.version){const we=Ae.image;if(we===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(we.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ie(ge,Ae,re);return}}n.bindTexture(t.TEXTURE_2D,ge.__webglTexture,t.TEXTURE0+re)}function Y(Ae,re){const ge=o.get(Ae);if(Ae.version>0&&ge.__version!==Ae.version){ie(ge,Ae,re);return}n.bindTexture(t.TEXTURE_2D_ARRAY,ge.__webglTexture,t.TEXTURE0+re)}function _(Ae,re){const ge=o.get(Ae);if(Ae.version>0&&ge.__version!==Ae.version){ie(ge,Ae,re);return}n.bindTexture(t.TEXTURE_3D,ge.__webglTexture,t.TEXTURE0+re)}function J(Ae,re){const ge=o.get(Ae);if(Ae.version>0&&ge.__version!==Ae.version){pe(ge,Ae,re);return}n.bindTexture(t.TEXTURE_CUBE_MAP,ge.__webglTexture,t.TEXTURE0+re)}const Q={[Ss]:t.REPEAT,[ah]:t.CLAMP_TO_EDGE,[hk]:t.MIRRORED_REPEAT},ee={[F0]:t.NEAREST,[UV]:t.NEAREST_MIPMAP_NEAREST,[$D]:t.NEAREST_MIPMAP_LINEAR,[js]:t.LINEAR,[Vpe]:t.LINEAR_MIPMAP_NEAREST,[Xw]:t.LINEAR_MIPMAP_LINEAR},$={[lWe]:t.NEVER,[pWe]:t.ALWAYS,[sWe]:t.LESS,[uWe]:t.LEQUAL,[cWe]:t.EQUAL,[hWe]:t.GEQUAL,[dWe]:t.GREATER,[fWe]:t.NOTEQUAL};function q(Ae,re,ge){if(ge?(t.texParameteri(Ae,t.TEXTURE_WRAP_S,Q[re.wrapS]),t.texParameteri(Ae,t.TEXTURE_WRAP_T,Q[re.wrapT]),(Ae===t.TEXTURE_3D||Ae===t.TEXTURE_2D_ARRAY)&&t.texParameteri(Ae,t.TEXTURE_WRAP_R,Q[re.wrapR]),t.texParameteri(Ae,t.TEXTURE_MAG_FILTER,ee[re.magFilter]),t.texParameteri(Ae,t.TEXTURE_MIN_FILTER,ee[re.minFilter])):(t.texParameteri(Ae,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(Ae,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),(Ae===t.TEXTURE_3D||Ae===t.TEXTURE_2D_ARRAY)&&t.texParameteri(Ae,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),(re.wrapS!==ah||re.wrapT!==ah)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(Ae,t.TEXTURE_MAG_FILTER,H(re.magFilter)),t.texParameteri(Ae,t.TEXTURE_MIN_FILTER,H(re.minFilter)),re.minFilter!==F0&&re.minFilter!==js&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),re.compareFunction&&(t.texParameteri(Ae,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(Ae,t.TEXTURE_COMPARE_FUNC,$[re.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const we=e.get("EXT_texture_filter_anisotropic");if(re.magFilter===F0||re.minFilter!==$D&&re.minFilter!==Xw||re.type===h2&&e.has("OES_texture_float_linear")===!1||l===!1&&re.type===Lx&&e.has("OES_texture_half_float_linear")===!1)return;(re.anisotropy>1||o.get(re).__currentAnisotropy)&&(t.texParameterf(Ae,we.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(re.anisotropy,i.getMaxAnisotropy())),o.get(re).__currentAnisotropy=re.anisotropy)}}function le(Ae,re){let ge=!1;Ae.__webglInit===void 0&&(Ae.__webglInit=!0,re.addEventListener("dispose",D));const we=re.source;let ye=A.get(we);ye===void 0&&(ye={},A.set(we,ye));const Te=N(re);if(Te!==Ae.__cacheKey){ye[Te]===void 0&&(ye[Te]={texture:t.createTexture(),usedTimes:0},a.memory.textures++,ge=!0),ye[Te].usedTimes++;const Ie=ye[Ae.__cacheKey];Ie!==void 0&&(ye[Ae.__cacheKey].usedTimes--,Ie.usedTimes===0&&U(re)),Ae.__cacheKey=Te,Ae.__webglTexture=ye[Te].texture}return ge}function ie(Ae,re,ge){let we=t.TEXTURE_2D;(re.isDataArrayTexture||re.isCompressedArrayTexture)&&(we=t.TEXTURE_2D_ARRAY),re.isData3DTexture&&(we=t.TEXTURE_3D);const ye=le(Ae,re),Te=re.source;n.bindTexture(we,Ae.__webglTexture,t.TEXTURE0+ge);const Ie=o.get(Te);if(Te.version!==Ie.__version||ye===!0){n.activeTexture(t.TEXTURE0+ge);const Ce=rs.getPrimaries(rs.workingColorSpace),Ee=re.colorSpace===ig?null:rs.getPrimaries(re.colorSpace),Ue=re.colorSpace===ig||Ce===Ee?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,re.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,re.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,re.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ue);const Ne=S(re)&&v(re.image)===!1;let Le=b(re.image,Ne,!1,u);Le=ze(re,Le);const qe=v(Le)||l,We=r.convert(re.format,re.colorSpace);let De=r.convert(re.type),Fe=P(re.internalFormat,We,De,re.colorSpace,re.isVideoTexture);q(we,re,qe);let _e;const ot=re.mipmaps,Ye=l&&re.isVideoTexture!==!0,St=Ie.__version===void 0||ye===!0,dt=R(re,Le,qe);if(re.isDepthTexture)Fe=t.DEPTH_COMPONENT,l?re.type===h2?Fe=t.DEPTH_COMPONENT32F:re.type===p6?Fe=t.DEPTH_COMPONENT24:re.type===Dw?Fe=t.DEPTH24_STENCIL8:Fe=t.DEPTH_COMPONENT16:re.type===h2&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),re.format===Ew&&Fe===t.DEPTH_COMPONENT&&re.type!==zK&&re.type!==p6&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),re.type=p6,De=r.convert(re.type)),re.format===Wx&&Fe===t.DEPTH_COMPONENT&&(Fe=t.DEPTH_STENCIL,re.type!==Dw&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),re.type=Dw,De=r.convert(re.type))),St&&(Ye?n.texStorage2D(t.TEXTURE_2D,1,Fe,Le.width,Le.height):n.texImage2D(t.TEXTURE_2D,0,Fe,Le.width,Le.height,0,We,De,null));else if(re.isDataTexture)if(ot.length>0&&qe){Ye&&St&&n.texStorage2D(t.TEXTURE_2D,dt,Fe,ot[0].width,ot[0].height);for(let je=0,at=ot.length;je>=1,at>>=1}}else if(ot.length>0&&qe){Ye&&St&&n.texStorage2D(t.TEXTURE_2D,dt,Fe,ot[0].width,ot[0].height);for(let je=0,at=ot.length;je0&&St++,n.texStorage2D(t.TEXTURE_CUBE_MAP,St,_e,Le[0].width,Le[0].height));for(let je=0;je<6;je++)if(Ne){ot?n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+je,0,0,0,Le[je].width,Le[je].height,De,Fe,Le[je].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+je,0,_e,Le[je].width,Le[je].height,0,De,Fe,Le[je].data);for(let at=0;at>Te),Le=Math.max(1,re.height>>Te);ye===t.TEXTURE_3D||ye===t.TEXTURE_2D_ARRAY?n.texImage3D(ye,Te,Ee,Ne,Le,re.depth,0,Ie,Ce,null):n.texImage2D(ye,Te,Ee,Ne,Le,0,Ie,Ce,null)}n.bindFramebuffer(t.FRAMEBUFFER,Ae),me(re)?f.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,we,ye,o.get(ge).__webglTexture,0,Pe(re)):(ye===t.TEXTURE_2D||ye>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&ye<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,we,ye,o.get(ge).__webglTexture,Te),n.bindFramebuffer(t.FRAMEBUFFER,null)}function Z(Ae,re,ge){if(t.bindRenderbuffer(t.RENDERBUFFER,Ae),re.depthBuffer&&!re.stencilBuffer){let we=l===!0?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(ge||me(re)){const ye=re.depthTexture;ye&&ye.isDepthTexture&&(ye.type===h2?we=t.DEPTH_COMPONENT32F:ye.type===p6&&(we=t.DEPTH_COMPONENT24));const Te=Pe(re);me(re)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,Te,we,re.width,re.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,Te,we,re.width,re.height)}else t.renderbufferStorage(t.RENDERBUFFER,we,re.width,re.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,Ae)}else if(re.depthBuffer&&re.stencilBuffer){const we=Pe(re);ge&&me(re)===!1?t.renderbufferStorageMultisample(t.RENDERBUFFER,we,t.DEPTH24_STENCIL8,re.width,re.height):me(re)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,we,t.DEPTH24_STENCIL8,re.width,re.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,re.width,re.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,Ae)}else{const we=re.isWebGLMultipleRenderTargets===!0?re.texture:[re.texture];for(let ye=0;ye0){ge.__webglFramebuffer[Ce]=[];for(let Ee=0;Ee0){ge.__webglFramebuffer=[];for(let Ce=0;Ce0&&me(Ae)===!1){const Ce=Te?re:[re];ge.__webglMultisampledFramebuffer=t.createFramebuffer(),ge.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,ge.__webglMultisampledFramebuffer);for(let Ee=0;Ee0)for(let Ee=0;Ee0)for(let Ee=0;Ee0&&me(Ae)===!1){const re=Ae.isWebGLMultipleRenderTargets?Ae.texture:[Ae.texture],ge=Ae.width,we=Ae.height;let ye=t.COLOR_BUFFER_BIT;const Te=[],Ie=Ae.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,Ce=o.get(Ae),Ee=Ae.isWebGLMultipleRenderTargets===!0;if(Ee)for(let Ue=0;Ue0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&re.__useRenderToTexture!==!1}function Re(Ae){const re=a.render.frame;g.get(Ae)!==re&&(g.set(Ae,re),Ae.update())}function ze(Ae,re){const ge=Ae.colorSpace,we=Ae.format,ye=Ae.type;return Ae.isCompressedTexture===!0||Ae.isVideoTexture===!0||Ae.format===BV||ge!==R9&&ge!==ig&&(rs.getTransfer(ge)===Ws?l===!1?e.has("EXT_sRGB")===!0&&we===kp?(Ae.format=BV,Ae.minFilter=js,Ae.generateMipmaps=!1):re=n1e.sRGBToLinear(re):(we!==kp||ye!==m9)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ge)),re}this.allocateTextureUnit=k,this.resetTextureUnits=B,this.setTexture2D=j,this.setTexture2DArray=Y,this.setTexture3D=_,this.setTextureCube=J,this.rebindTextures=se,this.setupRenderTarget=oe,this.updateRenderTargetMipmap=de,this.updateMultisampleRenderTarget=ve,this.setupDepthRenderbuffer=fe,this.setupFrameBufferTexture=ne,this.useMultisampledRTT=me}function MWe(t,e,n){const o=n.isWebGL2;function i(r,a=ig){let l;const s=rs.getTransfer(a);if(r===m9)return t.UNSIGNED_BYTE;if(r===Xpe)return t.UNSIGNED_SHORT_4_4_4_4;if(r===Jpe)return t.UNSIGNED_SHORT_5_5_5_1;if(r===XLe)return t.BYTE;if(r===JLe)return t.SHORT;if(r===zK)return t.UNSIGNED_SHORT;if(r===Gpe)return t.INT;if(r===p6)return t.UNSIGNED_INT;if(r===h2)return t.FLOAT;if(r===Lx)return o?t.HALF_FLOAT:(l=e.get("OES_texture_half_float"),l!==null?l.HALF_FLOAT_OES:null);if(r===KLe)return t.ALPHA;if(r===kp)return t.RGBA;if(r===qLe)return t.LUMINANCE;if(r===$Le)return t.LUMINANCE_ALPHA;if(r===Ew)return t.DEPTH_COMPONENT;if(r===Wx)return t.DEPTH_STENCIL;if(r===BV)return l=e.get("EXT_sRGB"),l!==null?l.SRGB_ALPHA_EXT:null;if(r===QLe)return t.RED;if(r===Kpe)return t.RED_INTEGER;if(r===ZLe)return t.RG;if(r===qpe)return t.RG_INTEGER;if(r===$pe)return t.RGBA_INTEGER;if(r===d_||r===f_||r===h_||r===p_)if(s===Ws)if(l=e.get("WEBGL_compressed_texture_s3tc_srgb"),l!==null){if(r===d_)return l.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===f_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===h_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===p_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(l=e.get("WEBGL_compressed_texture_s3tc"),l!==null){if(r===d_)return l.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===f_)return l.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===h_)return l.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===p_)return l.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===mse||r===yse||r===Ase||r===wse)if(l=e.get("WEBGL_compressed_texture_pvrtc"),l!==null){if(r===mse)return l.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===yse)return l.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===Ase)return l.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===wse)return l.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===eWe)return l=e.get("WEBGL_compressed_texture_etc1"),l!==null?l.COMPRESSED_RGB_ETC1_WEBGL:null;if(r===vse||r===xse)if(l=e.get("WEBGL_compressed_texture_etc"),l!==null){if(r===vse)return s===Ws?l.COMPRESSED_SRGB8_ETC2:l.COMPRESSED_RGB8_ETC2;if(r===xse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:l.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===bse||r===Sse||r===Tse||r===Pse||r===Cse||r===Rse||r===Hse||r===Mse||r===Ise||r===zse||r===Dse||r===Ese||r===kse||r===Fse)if(l=e.get("WEBGL_compressed_texture_astc"),l!==null){if(r===bse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:l.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===Sse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:l.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===Tse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:l.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===Pse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:l.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===Cse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:l.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===Rse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:l.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===Hse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:l.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===Mse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:l.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===Ise)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:l.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===zse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:l.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===Dse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:l.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===Ese)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:l.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===kse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:l.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===Fse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:l.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===g_||r===Lse||r===Wse)if(l=e.get("EXT_texture_compression_bptc"),l!==null){if(r===g_)return s===Ws?l.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:l.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===Lse)return l.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===Wse)return l.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===tWe||r===Nse||r===Use||r===Bse)if(l=e.get("EXT_texture_compression_rgtc"),l!==null){if(r===g_)return l.COMPRESSED_RED_RGTC1_EXT;if(r===Nse)return l.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===Use)return l.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===Bse)return l.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return r===Dw?o?t.UNSIGNED_INT_24_8:(l=e.get("WEBGL_depth_texture"),l!==null?l.UNSIGNED_INT_24_8_WEBGL:null):t[r]!==void 0?t[r]:null}return{convert:i}}class IWe extends Iu{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}let UP=class extends Dl{constructor(){super(),this.isGroup=!0,this.type="Group"}};const m2t={type:"move"};class voe{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new UP,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new UP,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new ae,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new ae),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new UP,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new ae,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new ae),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const n=this._hand;if(n)for(const o of e.hand.values())this._getHandJoint(n,o)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,n,o){let i=null,r=null,a=null;const l=this._targetRay,s=this._grip,c=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(c&&e.hand){a=!0;for(const y of e.hand.values()){const A=n.getJointPose(y,o),x=this._getHandJoint(c,y);A!==null&&(x.matrix.fromArray(A.transform.matrix),x.matrix.decompose(x.position,x.rotation,x.scale),x.matrixWorldNeedsUpdate=!0,x.jointRadius=A.radius),x.visible=A!==null}const u=c.joints["index-finger-tip"],d=c.joints["thumb-tip"],f=u.position.distanceTo(d.position),p=.02,g=.005;c.inputState.pinching&&f>p+g?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&f<=p-g&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else s!==null&&e.gripSpace&&(r=n.getPose(e.gripSpace,o),r!==null&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1));l!==null&&(i=n.getPose(e.targetRaySpace,o),i===null&&r!==null&&(i=r),i!==null&&(l.matrix.fromArray(i.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,i.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(i.linearVelocity)):l.hasLinearVelocity=!1,i.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(i.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(m2t)))}return l!==null&&(l.visible=i!==null),s!==null&&(s.visible=r!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const o=new UP;o.matrixAutoUpdate=!1,o.visible=!1,e.joints[n.jointName]=o,e.add(o)}return e.joints[n.jointName]}}class l1e extends _c{constructor(e,n,o,i,r,a,l,s,c,u){if(u=u!==void 0?u:Ew,u!==Ew&&u!==Wx)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");o===void 0&&u===Ew&&(o=p6),o===void 0&&u===Wx&&(o=Dw),super(null,i,r,a,l,s,u,o,c),this.isDepthTexture=!0,this.image={width:e,height:n},this.magFilter=l!==void 0?l:F0,this.minFilter=s!==void 0?s:F0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const n=super.toJSON(e);return this.compareFunction!==null&&(n.compareFunction=this.compareFunction),n}}class y2t extends V9{constructor(e,n){super();const o=this;let i=null,r=1,a=null,l="local-floor",s=1,c=null,u=null,d=null,f=null,p=null,g=null;const y=n.getContextAttributes();let A=null,x=null;const C=[],b=[],v=new Iu;v.layers.enable(1),v.viewport=new ll;const S=new Iu;S.layers.enable(2),S.viewport=new ll;const w=[v,S],T=new IWe;T.layers.enable(1),T.layers.enable(2);let P=null,R=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(Y){let _=C[Y];return _===void 0&&(_=new voe,C[Y]=_),_.getTargetRaySpace()},this.getControllerGrip=function(Y){let _=C[Y];return _===void 0&&(_=new voe,C[Y]=_),_.getGripSpace()},this.getHand=function(Y){let _=C[Y];return _===void 0&&(_=new voe,C[Y]=_),_.getHandSpace()};function H(Y){const _=b.indexOf(Y.inputSource);if(_===-1)return;const J=C[_];J!==void 0&&(J.update(Y.inputSource,Y.frame,c||a),J.dispatchEvent({type:Y.type,data:Y.inputSource}))}function D(){i.removeEventListener("select",H),i.removeEventListener("selectstart",H),i.removeEventListener("selectend",H),i.removeEventListener("squeeze",H),i.removeEventListener("squeezestart",H),i.removeEventListener("squeezeend",H),i.removeEventListener("end",D),i.removeEventListener("inputsourceschange",E);for(let Y=0;Y=0&&(b[Q]=null,C[Q].disconnect(J))}for(let _=0;_=b.length){b.push(J),Q=$;break}else if(b[$]===null){b[$]=J,Q=$;break}if(Q===-1)break}const ee=C[Q];ee&&ee.connect(J)}}const L=new ae,U=new ae;function F(Y,_,J){L.setFromMatrixPosition(_.matrixWorld),U.setFromMatrixPosition(J.matrixWorld);const Q=L.distanceTo(U),ee=_.projectionMatrix.elements,$=J.projectionMatrix.elements,q=ee[14]/(ee[10]-1),le=ee[14]/(ee[10]+1),ie=(ee[9]+1)/ee[5],pe=(ee[9]-1)/ee[5],ne=(ee[8]-1)/ee[0],Z=($[8]+1)/$[0],he=q*ne,fe=q*Z,se=Q/(-ne+Z),oe=se*-ne;_.matrixWorld.decompose(Y.position,Y.quaternion,Y.scale),Y.translateX(oe),Y.translateZ(se),Y.matrixWorld.compose(Y.position,Y.quaternion,Y.scale),Y.matrixWorldInverse.copy(Y.matrixWorld).invert();const de=q+se,ve=le+se,Pe=he-oe,me=fe+(Q-oe),Re=ie*le/ve*de,ze=pe*le/ve*de;Y.projectionMatrix.makePerspective(Pe,me,Re,ze,de,ve),Y.projectionMatrixInverse.copy(Y.projectionMatrix).invert()}function W(Y,_){_===null?Y.matrixWorld.copy(Y.matrix):Y.matrixWorld.multiplyMatrices(_.matrixWorld,Y.matrix),Y.matrixWorldInverse.copy(Y.matrixWorld).invert()}this.updateCamera=function(Y){if(i===null)return;T.near=S.near=v.near=Y.near,T.far=S.far=v.far=Y.far,(P!==T.near||R!==T.far)&&(i.updateRenderState({depthNear:T.near,depthFar:T.far}),P=T.near,R=T.far);const _=Y.parent,J=T.cameras;W(T,_);for(let Q=0;Q0&&(A.alphaTest.value=x.alphaTest);const C=e.get(x).envMap;if(C&&(A.envMap.value=C,A.flipEnvMap.value=C.isCubeTexture&&C.isRenderTargetTexture===!1?-1:1,A.reflectivity.value=x.reflectivity,A.ior.value=x.ior,A.refractionRatio.value=x.refractionRatio),x.lightMap){A.lightMap.value=x.lightMap;const b=t._useLegacyLights===!0?Math.PI:1;A.lightMapIntensity.value=x.lightMapIntensity*b,n(x.lightMap,A.lightMapTransform)}x.aoMap&&(A.aoMap.value=x.aoMap,A.aoMapIntensity.value=x.aoMapIntensity,n(x.aoMap,A.aoMapTransform))}function a(A,x){A.diffuse.value.copy(x.color),A.opacity.value=x.opacity,x.map&&(A.map.value=x.map,n(x.map,A.mapTransform))}function l(A,x){A.dashSize.value=x.dashSize,A.totalSize.value=x.dashSize+x.gapSize,A.scale.value=x.scale}function s(A,x,C,b){A.diffuse.value.copy(x.color),A.opacity.value=x.opacity,A.size.value=x.size*C,A.scale.value=b*.5,x.map&&(A.map.value=x.map,n(x.map,A.uvTransform)),x.alphaMap&&(A.alphaMap.value=x.alphaMap,n(x.alphaMap,A.alphaMapTransform)),x.alphaTest>0&&(A.alphaTest.value=x.alphaTest)}function c(A,x){A.diffuse.value.copy(x.color),A.opacity.value=x.opacity,A.rotation.value=x.rotation,x.map&&(A.map.value=x.map,n(x.map,A.mapTransform)),x.alphaMap&&(A.alphaMap.value=x.alphaMap,n(x.alphaMap,A.alphaMapTransform)),x.alphaTest>0&&(A.alphaTest.value=x.alphaTest)}function u(A,x){A.specular.value.copy(x.specular),A.shininess.value=Math.max(x.shininess,1e-4)}function d(A,x){x.gradientMap&&(A.gradientMap.value=x.gradientMap)}function f(A,x){A.metalness.value=x.metalness,x.metalnessMap&&(A.metalnessMap.value=x.metalnessMap,n(x.metalnessMap,A.metalnessMapTransform)),A.roughness.value=x.roughness,x.roughnessMap&&(A.roughnessMap.value=x.roughnessMap,n(x.roughnessMap,A.roughnessMapTransform)),e.get(x).envMap&&(A.envMapIntensity.value=x.envMapIntensity)}function p(A,x,C){A.ior.value=x.ior,x.sheen>0&&(A.sheenColor.value.copy(x.sheenColor).multiplyScalar(x.sheen),A.sheenRoughness.value=x.sheenRoughness,x.sheenColorMap&&(A.sheenColorMap.value=x.sheenColorMap,n(x.sheenColorMap,A.sheenColorMapTransform)),x.sheenRoughnessMap&&(A.sheenRoughnessMap.value=x.sheenRoughnessMap,n(x.sheenRoughnessMap,A.sheenRoughnessMapTransform))),x.clearcoat>0&&(A.clearcoat.value=x.clearcoat,A.clearcoatRoughness.value=x.clearcoatRoughness,x.clearcoatMap&&(A.clearcoatMap.value=x.clearcoatMap,n(x.clearcoatMap,A.clearcoatMapTransform)),x.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=x.clearcoatRoughnessMap,n(x.clearcoatRoughnessMap,A.clearcoatRoughnessMapTransform)),x.clearcoatNormalMap&&(A.clearcoatNormalMap.value=x.clearcoatNormalMap,n(x.clearcoatNormalMap,A.clearcoatNormalMapTransform),A.clearcoatNormalScale.value.copy(x.clearcoatNormalScale),x.side===p0&&A.clearcoatNormalScale.value.negate())),x.iridescence>0&&(A.iridescence.value=x.iridescence,A.iridescenceIOR.value=x.iridescenceIOR,A.iridescenceThicknessMinimum.value=x.iridescenceThicknessRange[0],A.iridescenceThicknessMaximum.value=x.iridescenceThicknessRange[1],x.iridescenceMap&&(A.iridescenceMap.value=x.iridescenceMap,n(x.iridescenceMap,A.iridescenceMapTransform)),x.iridescenceThicknessMap&&(A.iridescenceThicknessMap.value=x.iridescenceThicknessMap,n(x.iridescenceThicknessMap,A.iridescenceThicknessMapTransform))),x.transmission>0&&(A.transmission.value=x.transmission,A.transmissionSamplerMap.value=C.texture,A.transmissionSamplerSize.value.set(C.width,C.height),x.transmissionMap&&(A.transmissionMap.value=x.transmissionMap,n(x.transmissionMap,A.transmissionMapTransform)),A.thickness.value=x.thickness,x.thicknessMap&&(A.thicknessMap.value=x.thicknessMap,n(x.thicknessMap,A.thicknessMapTransform)),A.attenuationDistance.value=x.attenuationDistance,A.attenuationColor.value.copy(x.attenuationColor)),x.anisotropy>0&&(A.anisotropyVector.value.set(x.anisotropy*Math.cos(x.anisotropyRotation),x.anisotropy*Math.sin(x.anisotropyRotation)),x.anisotropyMap&&(A.anisotropyMap.value=x.anisotropyMap,n(x.anisotropyMap,A.anisotropyMapTransform))),A.specularIntensity.value=x.specularIntensity,A.specularColor.value.copy(x.specularColor),x.specularColorMap&&(A.specularColorMap.value=x.specularColorMap,n(x.specularColorMap,A.specularColorMapTransform)),x.specularIntensityMap&&(A.specularIntensityMap.value=x.specularIntensityMap,n(x.specularIntensityMap,A.specularIntensityMapTransform))}function g(A,x){x.matcap&&(A.matcap.value=x.matcap)}function y(A,x){const C=e.get(x).light;A.referencePosition.value.setFromMatrixPosition(C.matrixWorld),A.nearDistance.value=C.shadow.camera.near,A.farDistance.value=C.shadow.camera.far}return{refreshFogUniforms:o,refreshMaterialUniforms:i}}function w2t(t,e,n,o){let i={},r={},a=[];const l=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function s(C,b){const v=b.program;o.uniformBlockBinding(C,v)}function c(C,b){let v=i[C.id];v===void 0&&(g(C),v=u(C),i[C.id]=v,C.addEventListener("dispose",A));const S=b.program;o.updateUBOMapping(C,S);const w=e.render.frame;r[C.id]!==w&&(f(C),r[C.id]=w)}function u(C){const b=d();C.__bindingPointIndex=b;const v=t.createBuffer(),S=C.__size,w=C.usage;return t.bindBuffer(t.UNIFORM_BUFFER,v),t.bufferData(t.UNIFORM_BUFFER,S,w),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,b,v),v}function d(){for(let C=0;C0){w=v%S;const E=S-w;w!==0&&E-H.boundary<0&&(v+=S-w,R.__offset=v)}v+=H.storage}return w=v%S,w>0&&(v+=S-w),C.__size=v,C.__cache={},this}function y(C){const b={boundary:0,storage:0};return typeof C=="number"?(b.boundary=4,b.storage=4):C.isVector2?(b.boundary=8,b.storage=8):C.isVector3||C.isColor?(b.boundary=16,b.storage=12):C.isVector4?(b.boundary=16,b.storage=16):C.isMatrix3?(b.boundary=48,b.storage=48):C.isMatrix4?(b.boundary=64,b.storage=64):C.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",C),b}function A(C){const b=C.target;b.removeEventListener("dispose",A);const v=a.indexOf(b.__bindingPointIndex);a.splice(v,1),t.deleteBuffer(i[b.id]),delete i[b.id],delete r[b.id]}function x(){for(const C in i)t.deleteBuffer(i[C]);a=[],i={},r={}}return{bind:s,update:c,dispose:x}}class s1e{constructor(e={}){const{canvas:n=AWe(),context:o=null,depth:i=!0,stencil:r=!0,alpha:a=!1,antialias:l=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let f;o!==null?f=o.getContextAttributes().alpha:f=a;const p=new Uint32Array(4),g=new Int32Array(4);let y=null,A=null;const x=[],C=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=nu,this._useLegacyLights=!1,this.toneMapping=g9,this.toneMappingExposure=1;const b=this;let v=!1,S=0,w=0,T=null,P=-1,R=null;const H=new ll,D=new ll;let E=null;const L=new Xo(0);let U=0,F=n.width,W=n.height,B=1,k=null,N=null;const j=new ll(0,0,F,W),Y=new ll(0,0,F,W);let _=!1;const J=new FK;let Q=!1,ee=!1,$=null;const q=new Xr,le=new Gt,ie=new ae,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function ne(){return T===null?B:1}let Z=o;function he(Xe,ht){for(let Je=0;Je{function xt(){if(mt.forEach(function(It){ve.get(It).currentProgram.isReady()&&mt.delete(It)}),mt.size===0){Ge(Xe);return}setTimeout(xt,10)}fe.get("KHR_parallel_shader_compile")!==null?xt():setTimeout(xt,10)})};let wt=null;function rt(Xe){wt&&wt(Xe)}function Qe(){et.stop()}function Oe(){et.start()}const et=new TWe;et.setAnimationLoop(rt),typeof self<"u"&&et.setContext(self),this.setAnimationLoop=function(Xe){wt=Xe,_e.setAnimationLoop(Xe),Xe===null?et.stop():et.start()},_e.addEventListener("sessionstart",Qe),_e.addEventListener("sessionend",Oe),this.render=function(Xe,ht){if(ht!==void 0&&ht.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(v===!0)return;Xe.matrixWorldAutoUpdate===!0&&Xe.updateMatrixWorld(),ht.parent===null&&ht.matrixWorldAutoUpdate===!0&&ht.updateMatrixWorld(),_e.enabled===!0&&_e.isPresenting===!0&&(_e.cameraAutoUpdate===!0&&_e.updateCamera(ht),ht=_e.getCamera()),Xe.isScene===!0&&Xe.onBeforeRender(b,Xe,ht,T),A=Te.get(Xe,C.length),A.init(),C.push(A),q.multiplyMatrices(ht.projectionMatrix,ht.matrixWorldInverse),J.setFromProjectionMatrix(q),ee=this.localClippingEnabled,Q=Ie.init(this.clippingPlanes,ee),y=ye.get(Xe,x.length),y.init(),x.push(y),vt(Xe,ht,0,b.sortObjects),y.finish(),b.sortObjects===!0&&y.sort(k,N),this.info.render.frame++,Q===!0&&Ie.beginShadows();const Je=A.state.shadowsArray;if(Ce.render(Je,Xe,ht),Q===!0&&Ie.endShadows(),this.info.autoReset===!0&&this.info.reset(),Ee.render(y,Xe),A.setupLights(b._useLegacyLights),ht.isArrayCamera){const mt=ht.cameras;for(let Ge=0,xt=mt.length;Ge0?A=C[C.length-1]:A=null,x.pop(),x.length>0?y=x[x.length-1]:y=null};function vt(Xe,ht,Je,mt){if(Xe.visible===!1)return;if(Xe.layers.test(ht.layers)){if(Xe.isGroup)Je=Xe.renderOrder;else if(Xe.isLOD)Xe.autoUpdate===!0&&Xe.update(ht);else if(Xe.isLight)A.pushLight(Xe),Xe.castShadow&&A.pushShadow(Xe);else if(Xe.isSprite){if(!Xe.frustumCulled||J.intersectsSprite(Xe)){mt&&ie.setFromMatrixPosition(Xe.matrixWorld).applyMatrix4(q);const It=re.update(Xe),Tt=Xe.material;Tt.visible&&y.push(Xe,It,Tt,Je,ie.z,null)}}else if((Xe.isMesh||Xe.isLine||Xe.isPoints)&&(!Xe.frustumCulled||J.intersectsObject(Xe))){const It=re.update(Xe),Tt=Xe.material;if(mt&&(Xe.boundingSphere!==void 0?(Xe.boundingSphere===null&&Xe.computeBoundingSphere(),ie.copy(Xe.boundingSphere.center)):(It.boundingSphere===null&&It.computeBoundingSphere(),ie.copy(It.boundingSphere.center)),ie.applyMatrix4(Xe.matrixWorld).applyMatrix4(q)),Array.isArray(Tt)){const Dt=It.groups;for(let Lt=0,Et=Dt.length;Lt0&<(Ge,xt,ht,Je),mt&&oe.viewport(H.copy(mt)),Ge.length>0&&tt(Ge,ht,Je),xt.length>0&&tt(xt,ht,Je),It.length>0&&tt(It,ht,Je),oe.buffers.depth.setTest(!0),oe.buffers.depth.setMask(!0),oe.buffers.color.setMask(!0),oe.setPolygonOffset(!1)}function lt(Xe,ht,Je,mt){if((Je.isScene===!0?Je.overrideMaterial:null)!==null)return;const xt=se.isWebGL2;$===null&&($=new _m(1,1,{generateMipmaps:!0,type:fe.has("EXT_color_buffer_half_float")?Lx:m9,minFilter:Xw,samples:xt?4:0})),b.getDrawingBufferSize(le),xt?$.setSize(le.x,le.y):$.setSize(jV(le.x),jV(le.y));const It=b.getRenderTarget();b.setRenderTarget($),b.getClearColor(L),U=b.getClearAlpha(),U<1&&b.setClearColor(16777215,.5),b.clear();const Tt=b.toneMapping;b.toneMapping=g9,tt(Xe,Je,mt),Pe.updateMultisampleRenderTarget($),Pe.updateRenderTargetMipmap($);let Dt=!1;for(let Lt=0,Et=ht.length;Lt0),an=!!Je.morphAttributes.position,Jt=!!Je.morphAttributes.normal,hn=!!Je.morphAttributes.color;let cn=g9;mt.toneMapped&&(T===null||T.isXRRenderTarget===!0)&&(cn=b.toneMapping);const Sn=Je.morphAttributes.position||Je.morphAttributes.normal||Je.morphAttributes.color,Pn=Sn!==void 0?Sn.length:0,Un=ve.get(mt),Ai=A.state.lights;if(Q===!0&&(ee===!0||Xe!==R)){const vi=Xe===R&&mt.id===P;Ie.setState(mt,Xe,vi)}let vo=!1;mt.version===Un.__version?(Un.needsLights&&Un.lightsStateVersion!==Ai.state.version||Un.outputColorSpace!==Tt||Ge.isInstancedMesh&&Un.instancing===!1||!Ge.isInstancedMesh&&Un.instancing===!0||Ge.isSkinnedMesh&&Un.skinning===!1||!Ge.isSkinnedMesh&&Un.skinning===!0||Ge.isInstancedMesh&&Un.instancingColor===!0&&Ge.instanceColor===null||Ge.isInstancedMesh&&Un.instancingColor===!1&&Ge.instanceColor!==null||Un.envMap!==Dt||mt.fog===!0&&Un.fog!==xt||Un.numClippingPlanes!==void 0&&(Un.numClippingPlanes!==Ie.numPlanes||Un.numIntersection!==Ie.numIntersection)||Un.vertexAlphas!==Lt||Un.vertexTangents!==Et||Un.morphTargets!==an||Un.morphNormals!==Jt||Un.morphColors!==hn||Un.toneMapping!==cn||se.isWebGL2===!0&&Un.morphTargetsCount!==Pn)&&(vo=!0):(vo=!0,Un.__version=mt.version);let Oo=Un.currentProgram;vo===!0&&(Oo=At(mt,ht,Ge));let li=!1,po=!1,eo=!1;const uo=Oo.getUniforms(),qo=Un.uniforms;if(oe.useProgram(Oo.program)&&(li=!0,po=!0,eo=!0),mt.id!==P&&(P=mt.id,po=!0),li||R!==Xe){uo.setValue(Z,"projectionMatrix",Xe.projectionMatrix),uo.setValue(Z,"viewMatrix",Xe.matrixWorldInverse);const vi=uo.map.cameraPosition;vi!==void 0&&vi.setValue(Z,ie.setFromMatrixPosition(Xe.matrixWorld)),se.logarithmicDepthBuffer&&uo.setValue(Z,"logDepthBufFC",2/(Math.log(Xe.far+1)/Math.LN2)),(mt.isMeshPhongMaterial||mt.isMeshToonMaterial||mt.isMeshLambertMaterial||mt.isMeshBasicMaterial||mt.isMeshStandardMaterial||mt.isShaderMaterial)&&uo.setValue(Z,"isOrthographic",Xe.isOrthographicCamera===!0),R!==Xe&&(R=Xe,po=!0,eo=!0)}if(Ge.isSkinnedMesh){uo.setOptional(Z,Ge,"bindMatrix"),uo.setOptional(Z,Ge,"bindMatrixInverse");const vi=Ge.skeleton;vi&&(se.floatVertexTextures?(vi.boneTexture===null&&vi.computeBoneTexture(),uo.setValue(Z,"boneTexture",vi.boneTexture,Pe),uo.setValue(Z,"boneTextureSize",vi.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const Hi=Je.morphAttributes;if((Hi.position!==void 0||Hi.normal!==void 0||Hi.color!==void 0&&se.isWebGL2===!0)&&Ue.update(Ge,Je,Oo),(po||Un.receiveShadow!==Ge.receiveShadow)&&(Un.receiveShadow=Ge.receiveShadow,uo.setValue(Z,"receiveShadow",Ge.receiveShadow)),mt.isMeshGouraudMaterial&&mt.envMap!==null&&(qo.envMap.value=Dt,qo.flipEnvMap.value=Dt.isCubeTexture&&Dt.isRenderTargetTexture===!1?-1:1),po&&(uo.setValue(Z,"toneMappingExposure",b.toneMappingExposure),Un.needsLights&&Rt(qo,eo),xt&&mt.fog===!0&&we.refreshFogUniforms(qo,xt),we.refreshMaterialUniforms(qo,mt,B,W,$),y_.upload(Z,Mt(Un),qo,Pe)),mt.isShaderMaterial&&mt.uniformsNeedUpdate===!0&&(y_.upload(Z,Mt(Un),qo,Pe),mt.uniformsNeedUpdate=!1),mt.isSpriteMaterial&&uo.setValue(Z,"center",Ge.center),uo.setValue(Z,"modelViewMatrix",Ge.modelViewMatrix),uo.setValue(Z,"normalMatrix",Ge.normalMatrix),uo.setValue(Z,"modelMatrix",Ge.matrixWorld),mt.isShaderMaterial||mt.isRawShaderMaterial){const vi=mt.uniformsGroups;for(let Cn=0,yn=vi.length;Cn0&&Pe.useMultisampledRTT(Xe)===!1?Ge=ve.get(Xe).__webglMultisampledFramebuffer:Array.isArray(Et)?Ge=Et[Je]:Ge=Et,H.copy(Xe.viewport),D.copy(Xe.scissor),E=Xe.scissorTest}else H.copy(j).multiplyScalar(B).floor(),D.copy(Y).multiplyScalar(B).floor(),E=_;if(oe.bindFramebuffer(Z.FRAMEBUFFER,Ge)&&se.drawBuffers&&mt&&oe.drawBuffers(Xe,Ge),oe.viewport(H),oe.scissor(D),oe.setScissorTest(E),xt){const Dt=ve.get(Xe.texture);Z.framebufferTexture2D(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Z.TEXTURE_CUBE_MAP_POSITIVE_X+ht,Dt.__webglTexture,Je)}else if(It){const Dt=ve.get(Xe.texture),Lt=ht||0;Z.framebufferTextureLayer(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Dt.__webglTexture,Je||0,Lt)}P=-1},this.readRenderTargetPixels=function(Xe,ht,Je,mt,Ge,xt,It){if(!(Xe&&Xe.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Tt=ve.get(Xe).__webglFramebuffer;if(Xe.isWebGLCubeRenderTarget&&It!==void 0&&(Tt=Tt[It]),Tt){oe.bindFramebuffer(Z.FRAMEBUFFER,Tt);try{const Dt=Xe.texture,Lt=Dt.format,Et=Dt.type;if(Lt!==kp&&qe.convert(Lt)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const an=Et===Lx&&(fe.has("EXT_color_buffer_half_float")||se.isWebGL2&&fe.has("EXT_color_buffer_float"));if(Et!==m9&&qe.convert(Et)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_TYPE)&&!(Et===h2&&(se.isWebGL2||fe.has("OES_texture_float")||fe.has("WEBGL_color_buffer_float")))&&!an){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ht>=0&&ht<=Xe.width-mt&&Je>=0&&Je<=Xe.height-Ge&&Z.readPixels(ht,Je,mt,Ge,qe.convert(Lt),qe.convert(Et),xt)}finally{const Dt=T!==null?ve.get(T).__webglFramebuffer:null;oe.bindFramebuffer(Z.FRAMEBUFFER,Dt)}}},this.copyFramebufferToTexture=function(Xe,ht,Je=0){const mt=Math.pow(2,-Je),Ge=Math.floor(ht.image.width*mt),xt=Math.floor(ht.image.height*mt);Pe.setTexture2D(ht,0),Z.copyTexSubImage2D(Z.TEXTURE_2D,Je,0,0,Xe.x,Xe.y,Ge,xt),oe.unbindTexture()},this.copyTextureToTexture=function(Xe,ht,Je,mt=0){const Ge=ht.image.width,xt=ht.image.height,It=qe.convert(Je.format),Tt=qe.convert(Je.type);Pe.setTexture2D(Je,0),Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,Je.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Je.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,Je.unpackAlignment),ht.isDataTexture?Z.texSubImage2D(Z.TEXTURE_2D,mt,Xe.x,Xe.y,Ge,xt,It,Tt,ht.image.data):ht.isCompressedTexture?Z.compressedTexSubImage2D(Z.TEXTURE_2D,mt,Xe.x,Xe.y,ht.mipmaps[0].width,ht.mipmaps[0].height,It,ht.mipmaps[0].data):Z.texSubImage2D(Z.TEXTURE_2D,mt,Xe.x,Xe.y,It,Tt,ht.image),mt===0&&Je.generateMipmaps&&Z.generateMipmap(Z.TEXTURE_2D),oe.unbindTexture()},this.copyTextureToTexture3D=function(Xe,ht,Je,mt,Ge=0){if(b.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const xt=Xe.max.x-Xe.min.x+1,It=Xe.max.y-Xe.min.y+1,Tt=Xe.max.z-Xe.min.z+1,Dt=qe.convert(mt.format),Lt=qe.convert(mt.type);let Et;if(mt.isData3DTexture)Pe.setTexture3D(mt,0),Et=Z.TEXTURE_3D;else if(mt.isDataArrayTexture)Pe.setTexture2DArray(mt,0),Et=Z.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,mt.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,mt.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,mt.unpackAlignment);const an=Z.getParameter(Z.UNPACK_ROW_LENGTH),Jt=Z.getParameter(Z.UNPACK_IMAGE_HEIGHT),hn=Z.getParameter(Z.UNPACK_SKIP_PIXELS),cn=Z.getParameter(Z.UNPACK_SKIP_ROWS),Sn=Z.getParameter(Z.UNPACK_SKIP_IMAGES),Pn=Je.isCompressedTexture?Je.mipmaps[0]:Je.image;Z.pixelStorei(Z.UNPACK_ROW_LENGTH,Pn.width),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,Pn.height),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,Xe.min.x),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,Xe.min.y),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,Xe.min.z),Je.isDataTexture||Je.isData3DTexture?Z.texSubImage3D(Et,Ge,ht.x,ht.y,ht.z,xt,It,Tt,Dt,Lt,Pn.data):Je.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Z.compressedTexSubImage3D(Et,Ge,ht.x,ht.y,ht.z,xt,It,Tt,Dt,Pn.data)):Z.texSubImage3D(Et,Ge,ht.x,ht.y,ht.z,xt,It,Tt,Dt,Lt,Pn),Z.pixelStorei(Z.UNPACK_ROW_LENGTH,an),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,Jt),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,hn),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,cn),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,Sn),Ge===0&&mt.generateMipmaps&&Z.generateMipmap(Et),oe.unbindTexture()},this.initTexture=function(Xe){Xe.isCubeTexture?Pe.setTextureCube(Xe,0):Xe.isData3DTexture?Pe.setTexture3D(Xe,0):Xe.isDataArrayTexture||Xe.isCompressedArrayTexture?Pe.setTexture2DArray(Xe,0):Pe.setTexture2D(Xe,0),oe.unbindTexture()},this.resetState=function(){S=0,w=0,T=null,oe.reset(),We.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return a9}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===EK?"display-p3":"srgb",n.unpackColorSpace=rs.workingColorSpace===UL?"display-p3":"srgb"}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===nu?kw:Zpe}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===kw?nu:R9}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class zWe extends s1e{}zWe.prototype.isWebGL1Renderer=!0;class UK{constructor(e,n=25e-5){this.isFogExp2=!0,this.name="",this.color=new Xo(e),this.density=n}clone(){return new UK(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class BK{constructor(e,n=1,o=1e3){this.isFog=!0,this.name="",this.color=new Xo(e),this.near=n,this.far=o}clone(){return new BK(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class YV extends Dl{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n}}class jK{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=vk,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=mg()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,n,o){e*=this.stride,o*=n.stride;for(let i=0,r=this.stride;ie.far||n.push({distance:s,point:lz.clone(),uv:th.getInterpolation(lz,wj,cz,vj,A4e,xoe,w4e,new Gt),face:null,object:this})}copy(e,n){return super.copy(e,n),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function xj(t,e,n,o,i,r){fT.subVectors(t,n).addScalar(.5).multiply(o),i!==void 0?(sz.x=r*fT.x-i*fT.y,sz.y=i*fT.x+r*fT.y):sz.copy(fT),t.copy(e),t.x+=sz.x,t.y+=sz.y,t.applyMatrix4(DWe)}const bj=new ae,v4e=new ae;class EWe extends Dl{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const n=e.levels;for(let o=0,i=n.length;o0){let o,i;for(o=1,i=n.length;o0){bj.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(bj);this.getObjectForDistance(i).raycast(e,n)}}update(e){const n=this.levels;if(n.length>1){bj.setFromMatrixPosition(e.matrixWorld),v4e.setFromMatrixPosition(this.matrixWorld);const o=bj.distanceTo(v4e)/e.zoom;n[0].object.visible=!0;let i,r;for(i=1,r=n.length;i=a)n[i-1].object.visible=!1,n[i].object.visible=!0;else break}for(this._currentLevel=i-1;is)continue;f.applyMatrix4(this.matrixWorld);const P=e.ray.origin.distanceTo(f);Pe.far||n.push({distance:P,point:d.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}else{const x=Math.max(0,a.start),C=Math.min(A.count,a.start+a.count);for(let b=x,v=C-1;bs)continue;f.applyMatrix4(this.matrixWorld);const w=e.ray.origin.distanceTo(f);we.far||n.push({distance:w,point:d.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const n=this.geometry.morphAttributes,o=Object.keys(n);if(o.length>0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;r0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;ri.far)return;r.push({distance:c,distanceToRay:Math.sqrt(l),point:s,index:e,face:null,object:a})}}class S2t extends _c{constructor(e,n,o,i,r,a,l,s,c){super(e,n,o,i,r,a,l,s,c),this.isVideoTexture=!0,this.minFilter=a!==void 0?a:js,this.magFilter=r!==void 0?r:js,this.generateMipmaps=!1;const u=this;function d(){u.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class T2t extends _c{constructor(e,n){super({width:e,height:n}),this.isFramebufferTexture=!0,this.magFilter=F0,this.minFilter=F0,this.generateMipmaps=!1,this.needsUpdate=!0}}class _K extends _c{constructor(e,n,o,i,r,a,l,s,c,u,d,f){super(null,a,l,s,c,u,i,r,d,f),this.isCompressedTexture=!0,this.image={width:n,height:o},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class P2t extends _K{constructor(e,n,o,i,r,a){super(e,n,o,r,a),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=ah}}class C2t extends _K{constructor(e,n,o){super(void 0,e[0].width,e[0].height,n,o,j6),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class BP extends _c{constructor(e,n,o,i,r,a,l,s,c){super(e,n,o,i,r,a,l,s,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}let V2=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,n){const o=this.getUtoTmapping(e);return this.getPoint(o,n)}getPoints(e=5){const n=[];for(let o=0;o<=e;o++)n.push(this.getPoint(o/e));return n}getSpacedPoints(e=5){const n=[];for(let o=0;o<=e;o++)n.push(this.getPointAt(o/e));return n}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const n=[];let o,i=this.getPoint(0),r=0;n.push(0);for(let a=1;a<=e;a++)o=this.getPoint(a/e),r+=o.distanceTo(i),n.push(r),i=o;return this.cacheArcLengths=n,n}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,n){const o=this.getLengths();let i=0;const r=o.length;let a;n?a=n:a=e*o[r-1];let l=0,s=r-1,c;for(;l<=s;)if(i=Math.floor(l+(s-l)/2),c=o[i]-a,c<0)l=i+1;else if(c>0)s=i-1;else{s=i;break}if(i=s,o[i]===a)return i/(r-1);const u=o[i],f=o[i+1]-u,p=(a-u)/f;return(i+p)/(r-1)}getTangent(e,n){let i=e-1e-4,r=e+1e-4;i<0&&(i=0),r>1&&(r=1);const a=this.getPoint(i),l=this.getPoint(r),s=n||(a.isVector2?new Gt:new ae);return s.copy(l).sub(a).normalize(),s}getTangentAt(e,n){const o=this.getUtoTmapping(e);return this.getTangent(o,n)}computeFrenetFrames(e,n){const o=new ae,i=[],r=[],a=[],l=new ae,s=new Xr;for(let p=0;p<=e;p++){const g=p/e;i[p]=this.getTangentAt(g,new ae)}r[0]=new ae,a[0]=new ae;let c=Number.MAX_VALUE;const u=Math.abs(i[0].x),d=Math.abs(i[0].y),f=Math.abs(i[0].z);u<=c&&(c=u,o.set(1,0,0)),d<=c&&(c=d,o.set(0,1,0)),f<=c&&o.set(0,0,1),l.crossVectors(i[0],o).normalize(),r[0].crossVectors(i[0],l),a[0].crossVectors(i[0],r[0]);for(let p=1;p<=e;p++){if(r[p]=r[p-1].clone(),a[p]=a[p-1].clone(),l.crossVectors(i[p-1],i[p]),l.length()>Number.EPSILON){l.normalize();const g=Math.acos(h0(i[p-1].dot(i[p]),-1,1));r[p].applyMatrix4(s.makeRotationAxis(l,g))}a[p].crossVectors(i[p],r[p])}if(n===!0){let p=Math.acos(h0(r[0].dot(r[e]),-1,1));p/=e,i[0].dot(l.crossVectors(r[0],r[e]))>0&&(p=-p);for(let g=1;g<=e;g++)r[g].applyMatrix4(s.makeRotationAxis(i[g],p*g)),a[g].crossVectors(i[g],r[g])}return{tangents:i,normals:r,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}};class P2 extends V2{constructor(e=0,n=0,o=1,i=1,r=0,a=Math.PI*2,l=!1,s=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=n,this.xRadius=o,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=a,this.aClockwise=l,this.aRotation=s}getPoint(e,n){const o=n||new Gt,i=Math.PI*2;let r=this.aEndAngle-this.aStartAngle;const a=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(l)/r)+1)*r:s===0&&l===r-1&&(l=r-2,s=1);let c,u;this.closed||l>0?c=i[(l-1)%r]:(Hj.subVectors(i[0],i[1]).add(i[0]),c=Hj);const d=i[l%r],f=i[(l+1)%r];if(this.closed||l+2i.length-2?i.length-1:a+1],d=i[a>i.length-3?i.length-1:a+2];return o.set(L4e(l,s.x,c.x,u.x,d.x),L4e(l,s.y,c.y,u.y,d.y)),o}copy(e){super.copy(e),this.points=[];for(let n=0,o=e.points.length;n=o){const a=i[r]-o,l=this.curves[r],s=l.getLength(),c=s===0?0:1-a/s;return l.getPointAt(c,n)}r++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let n=0;for(let o=0,i=this.curves.length;o1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}copy(e){super.copy(e),this.curves=[];for(let n=0,o=e.curves.length;n0){const d=c.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(c);const u=c.getPoint(1);return this.currentPoint.copy(u),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}};class OL extends Ur{constructor(e=[new Gt(0,-.5),new Gt(.5,0),new Gt(0,.5)],n=12,o=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:n,phiStart:o,phiLength:i},n=Math.floor(n),i=h0(i,0,Math.PI*2);const r=[],a=[],l=[],s=[],c=[],u=1/n,d=new ae,f=new Gt,p=new ae,g=new ae,y=new ae;let A=0,x=0;for(let C=0;C<=e.length-1;C++)switch(C){case 0:A=e[C+1].x-e[C].x,x=e[C+1].y-e[C].y,p.x=x*1,p.y=-A,p.z=x*0,y.copy(p),p.normalize(),s.push(p.x,p.y,p.z);break;case e.length-1:s.push(y.x,y.y,y.z);break;default:A=e[C+1].x-e[C].x,x=e[C+1].y-e[C].y,p.x=x*1,p.y=-A,p.z=x*0,g.copy(p),p.x+=y.x,p.y+=y.y,p.z+=y.z,p.normalize(),s.push(p.x,p.y,p.z),y.copy(g)}for(let C=0;C<=n;C++){const b=o+C*u*i,v=Math.sin(b),S=Math.cos(b);for(let w=0;w<=e.length-1;w++){d.x=e[w].x*v,d.y=e[w].y,d.z=e[w].x*S,a.push(d.x,d.y,d.z),f.x=C/n,f.y=w/(e.length-1),l.push(f.x,f.y);const T=s[3*w+0]*v,P=s[3*w+1],R=s[3*w+0]*S;c.push(T,P,R)}}for(let C=0;C0&&b(!0),n>0&&b(!1)),this.setIndex(u),this.setAttribute("position",new hi(d,3)),this.setAttribute("normal",new hi(f,3)),this.setAttribute("uv",new hi(p,2));function C(){const v=new ae,S=new ae;let w=0;const T=(n-e)/o;for(let P=0;P<=r;P++){const R=[],H=P/r,D=H*(n-e)+e;for(let E=0;E<=i;E++){const L=E/i,U=L*s+l,F=Math.sin(U),W=Math.cos(U);S.x=D*F,S.y=-H*o+A,S.z=D*W,d.push(S.x,S.y,S.z),v.set(F,T,W).normalize(),f.push(v.x,v.y,v.z),p.push(L,1-H),R.push(g++)}y.push(R)}for(let P=0;P.9&&T<.1&&(b<.2&&(a[C+0]+=1),v<.2&&(a[C+2]+=1),S<.2&&(a[C+4]+=1))}}function f(C){r.push(C.x,C.y,C.z)}function p(C,b){const v=C*3;b.x=e[v+0],b.y=e[v+1],b.z=e[v+2]}function g(){const C=new ae,b=new ae,v=new ae,S=new ae,w=new Gt,T=new Gt,P=new Gt;for(let R=0,H=0;R80*n){l=c=t[0],s=u=t[1];for(let g=n;gc&&(c=d),f>u&&(u=f);p=Math.max(c-l,u-s),p=p!==0?32767/p:0}return Pk(r,a,n,l,s,p,0),a}};function OWe(t,e,n,o,i){let r,a;if(i===q2t(t,e,n,o)>0)for(r=e;r=e;r-=o)a=W4e(r,t[r],t[r+1],a);return a&&$K(a,a.next)&&(Rk(a),a=a.next),a}function Ux(t,e){if(!t)return t;e||(e=t);let n=t,o;do if(o=!1,!n.steiner&&($K(n,n.next)||n0(n.prev,n,n.next)===0)){if(Rk(n),n=e=n.prev,n===n.next)break;o=!0}else n=n.next;while(o||n!==e);return e}function Pk(t,e,n,o,i,r,a){if(!t)return;!a&&r&&_2t(t,o,i,r);let l=t,s,c;for(;t.prev!==t.next;){if(s=t.prev,c=t.next,r?L2t(t,o,i,r):F2t(t)){e.push(s.i/n|0),e.push(t.i/n|0),e.push(c.i/n|0),Rk(t),t=c.next,l=c.next;continue}if(t=c,t===l){a?a===1?(t=W2t(Ux(t),e,n),Pk(t,e,n,o,i,r,2)):a===2&&N2t(t,e,n,o,i,r):Pk(Ux(t),e,n,o,i,r,1);break}}}function F2t(t){const e=t.prev,n=t,o=t.next;if(n0(e,n,o)>=0)return!1;const i=e.x,r=n.x,a=o.x,l=e.y,s=n.y,c=o.y,u=ir?i>a?i:a:r>a?r:a,p=l>s?l>c?l:c:s>c?s:c;let g=o.next;for(;g!==e;){if(g.x>=u&&g.x<=f&&g.y>=d&&g.y<=p&&jP(i,l,r,s,a,c,g.x,g.y)&&n0(g.prev,g,g.next)>=0)return!1;g=g.next}return!0}function L2t(t,e,n,o){const i=t.prev,r=t,a=t.next;if(n0(i,r,a)>=0)return!1;const l=i.x,s=r.x,c=a.x,u=i.y,d=r.y,f=a.y,p=ls?l>c?l:c:s>c?s:c,A=u>d?u>f?u:f:d>f?d:f,x=Xse(p,g,e,n,o),C=Xse(y,A,e,n,o);let b=t.prevZ,v=t.nextZ;for(;b&&b.z>=x&&v&&v.z<=C;){if(b.x>=p&&b.x<=y&&b.y>=g&&b.y<=A&&b!==i&&b!==a&&jP(l,u,s,d,c,f,b.x,b.y)&&n0(b.prev,b,b.next)>=0||(b=b.prevZ,v.x>=p&&v.x<=y&&v.y>=g&&v.y<=A&&v!==i&&v!==a&&jP(l,u,s,d,c,f,v.x,v.y)&&n0(v.prev,v,v.next)>=0))return!1;v=v.nextZ}for(;b&&b.z>=x;){if(b.x>=p&&b.x<=y&&b.y>=g&&b.y<=A&&b!==i&&b!==a&&jP(l,u,s,d,c,f,b.x,b.y)&&n0(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;v&&v.z<=C;){if(v.x>=p&&v.x<=y&&v.y>=g&&v.y<=A&&v!==i&&v!==a&&jP(l,u,s,d,c,f,v.x,v.y)&&n0(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function W2t(t,e,n){let o=t;do{const i=o.prev,r=o.next.next;!$K(i,r)&&_We(i,o,o.next,r)&&Ck(i,r)&&Ck(r,i)&&(e.push(i.i/n|0),e.push(o.i/n|0),e.push(r.i/n|0),Rk(o),Rk(o.next),o=t=r),o=o.next}while(o!==t);return Ux(o)}function N2t(t,e,n,o,i,r){let a=t;do{let l=a.next.next;for(;l!==a.prev;){if(a.i!==l.i&&X2t(a,l)){let s=VWe(a,l);a=Ux(a,a.next),s=Ux(s,s.next),Pk(a,e,n,o,i,r,0),Pk(s,e,n,o,i,r,0);return}l=l.next}a=a.next}while(a!==t)}function U2t(t,e,n,o){const i=[];let r,a,l,s,c;for(r=0,a=e.length;r=n.next.y&&n.next.y!==n.y){const f=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(f<=r&&f>o&&(o=f,i=n.x=n.x&&n.x>=s&&r!==n.x&&jP(ai.x||n.x===i.x&&O2t(i,n)))&&(i=n,u=d)),n=n.next;while(n!==l);return i}function O2t(t,e){return n0(t.prev,t,e.prev)<0&&n0(e.next,t,t.next)<0}function _2t(t,e,n,o){let i=t;do i.z===0&&(i.z=Xse(i.x,i.y,e,n,o)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,V2t(i)}function V2t(t){let e,n,o,i,r,a,l,s,c=1;do{for(n=t,t=null,r=null,a=0;n;){for(a++,o=n,l=0,e=0;e0||s>0&&o;)l!==0&&(s===0||!o||n.z<=o.z)?(i=n,n=n.nextZ,l--):(i=o,o=o.nextZ,s--),r?r.nextZ=i:t=i,i.prevZ=r,r=i;n=o}r.nextZ=null,c*=2}while(a>1);return t}function Xse(t,e,n,o,i){return t=(t-n)*i|0,e=(e-o)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function G2t(t){let e=t,n=t;do(e.x=(t-a)*(r-l)&&(t-a)*(o-l)>=(n-a)*(e-l)&&(n-a)*(r-l)>=(i-a)*(o-l)}function X2t(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!J2t(t,e)&&(Ck(t,e)&&Ck(e,t)&&K2t(t,e)&&(n0(t.prev,t,e.prev)||n0(t,e.prev,e))||$K(t,e)&&n0(t.prev,t,t.next)>0&&n0(e.prev,e,e.next)>0)}function n0(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function $K(t,e){return t.x===e.x&&t.y===e.y}function _We(t,e,n,o){const i=Ej(n0(t,e,n)),r=Ej(n0(t,e,o)),a=Ej(n0(n,o,t)),l=Ej(n0(n,o,e));return!!(i!==r&&a!==l||i===0&&Dj(t,n,e)||r===0&&Dj(t,o,e)||a===0&&Dj(n,t,o)||l===0&&Dj(n,e,o))}function Dj(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Ej(t){return t>0?1:t<0?-1:0}function J2t(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&_We(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function Ck(t,e){return n0(t.prev,t,t.next)<0?n0(t,e,t.next)>=0&&n0(t,t.prev,e)>=0:n0(t,e,t.prev)<0||n0(t,t.next,e)<0}function K2t(t,e){let n=t,o=!1;const i=(t.x+e.x)/2,r=(t.y+e.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&i<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(o=!o),n=n.next;while(n!==t);return o}function VWe(t,e){const n=new Jse(t.i,t.x,t.y),o=new Jse(e.i,e.x,e.y),i=t.next,r=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,o.next=n,n.prev=o,r.next=o,o.prev=r,o}function W4e(t,e,n,o){const i=new Jse(t,e,n);return o?(i.next=o.next,i.prev=o,o.next.prev=i,o.next=i):(i.prev=i,i.next=i),i}function Rk(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Jse(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function q2t(t,e,n,o){let i=0;for(let r=e,a=n-o;r2&&t[e-1].equals(t[0])&&t.pop()}function U4e(t,e){for(let n=0;nNumber.EPSILON){const re=Math.sqrt(ze),ge=Math.sqrt(me*me+Re*Re),we=he.x-Pe/re,ye=he.y+ve/re,Te=fe.x-Re/ge,Ie=fe.y+me/ge,Ce=((Te-we)*Re-(Ie-ye)*me)/(ve*Re-Pe*me);se=we+ve*Ce-Z.x,oe=ye+Pe*Ce-Z.y;const Ee=se*se+oe*oe;if(Ee<=2)return new Gt(se,oe);de=Math.sqrt(Ee/2)}else{let re=!1;ve>Number.EPSILON?me>Number.EPSILON&&(re=!0):ve<-Number.EPSILON?me<-Number.EPSILON&&(re=!0):Math.sign(Pe)===Math.sign(Re)&&(re=!0),re?(se=-Pe,oe=ve,de=Math.sqrt(ze)):(se=ve,oe=Pe,de=Math.sqrt(ze/2))}return new Gt(se/de,oe/de)}const N=[];for(let Z=0,he=U.length,fe=he-1,se=Z+1;Z=0;Z--){const he=Z/A,fe=p*Math.cos(he*Math.PI/2),se=g*Math.sin(he*Math.PI/2)+y;for(let oe=0,de=U.length;oe=0;){const se=fe;let oe=fe-1;oe<0&&(oe=Z.length-1);for(let de=0,ve=u+A*2;de0)&&p.push(b,v,w),(x!==o-1||s0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class A1e extends yf{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Xo(16777215),this.specular=new Xo(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class KWe extends yf{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Xo(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class qWe extends yf{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class $We extends yf{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Xo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class QWe extends yf{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Xo(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class ZWe extends dp{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function Mv(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function eNe(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function tNe(t){function e(i,r){return t[i]-t[r]}const n=t.length,o=new Array(n);for(let i=0;i!==n;++i)o[i]=i;return o.sort(e),o}function Kse(t,e,n){const o=t.length,i=new t.constructor(o);for(let r=0,a=0;a!==o;++r){const l=n[r]*e;for(let s=0;s!==e;++s)i[a++]=t[l+s]}return i}function w1e(t,e,n,o){let i=1,r=t[0];for(;r!==void 0&&r[o]===void 0;)r=t[i++];if(r===void 0)return;let a=r[o];if(a!==void 0)if(Array.isArray(a))do a=r[o],a!==void 0&&(e.push(r.time),n.push.apply(n,a)),r=t[i++];while(r!==void 0);else if(a.toArray!==void 0)do a=r[o],a!==void 0&&(e.push(r.time),a.toArray(n,n.length)),r=t[i++];while(r!==void 0);else do a=r[o],a!==void 0&&(e.push(r.time),n.push(a)),r=t[i++];while(r!==void 0)}function e5t(t,e,n,o,i=30){const r=t.clone();r.name=e;const a=[];for(let s=0;s=o)){d.push(c.times[p]);for(let y=0;yr.tracks[s].times[0]&&(l=r.tracks[s].times[0]);for(let s=0;s=l.times[g]){const x=g*d+u,C=x+d-u;y=l.values.slice(x,C)}else{const x=l.createInterpolant(),C=u,b=d-u;x.evaluate(r),y=x.resultBuffer.slice(C,b)}s==="quaternion"&&new Ts().fromArray(y).normalize().conjugate().toArray(y);const A=c.times.length;for(let x=0;x=r)){const l=n[1];e=r)break t}a=o,o=0;break n}break e}for(;o>>1;en;)--a;if(++a,r!==0||a!==i){r>=a&&(a=Math.max(a,1),r=a-1);const l=this.getValueSize();this.times=o.slice(r,a),this.values=this.values.slice(r*l,a*l)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const o=this.times,i=this.values,r=o.length;r===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let l=0;l!==r;l++){const s=o[l];if(typeof s=="number"&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,l,s),e=!1;break}if(a!==null&&a>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,l,s,a),e=!1;break}a=s}if(i!==void 0&&eNe(i))for(let l=0,s=i.length;l!==s;++l){const c=i[l];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,l,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),o=this.getValueSize(),i=this.getInterpolation()===m_,r=e.length-1;let a=1;for(let l=1;l0){e[a]=e[r];for(let l=r*o,s=a*o,c=0;c!==o;++c)n[s+c]=n[l+c];++a}return a!==e.length?(this.times=e.slice(0,a),this.values=n.slice(0,a*o)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),o=this.constructor,i=new o(this.name,e,n);return i.createInterpolant=this.createInterpolant,i}}G2.prototype.TimeBufferType=Float32Array;G2.prototype.ValueBufferType=Float32Array;G2.prototype.DefaultInterpolation=gk;class pb extends G2{}pb.prototype.ValueTypeName="bool";pb.prototype.ValueBufferType=Array;pb.prototype.DefaultInterpolation=pk;pb.prototype.InterpolantFactoryMethodLinear=void 0;pb.prototype.InterpolantFactoryMethodSmooth=void 0;class x1e extends G2{}x1e.prototype.ValueTypeName="color";class Hk extends G2{}Hk.prototype.ValueTypeName="number";class iNe extends GL{constructor(e,n,o,i){super(e,n,o,i)}interpolate_(e,n,o,i){const r=this.resultBuffer,a=this.sampleValues,l=this.valueSize,s=(o-n)/(i-n);let c=e*l;for(let u=c+l;c!==u;c+=4)Ts.slerpFlat(r,0,a,c-l,a,c,s);return r}}class gH extends G2{InterpolantFactoryMethodLinear(e){return new iNe(this.times,this.values,this.getValueSize(),e)}}gH.prototype.ValueTypeName="quaternion";gH.prototype.DefaultInterpolation=gk;gH.prototype.InterpolantFactoryMethodSmooth=void 0;class gb extends G2{}gb.prototype.ValueTypeName="string";gb.prototype.ValueBufferType=Array;gb.prototype.DefaultInterpolation=pk;gb.prototype.InterpolantFactoryMethodLinear=void 0;gb.prototype.InterpolantFactoryMethodSmooth=void 0;class Mk extends G2{}Mk.prototype.ValueTypeName="vector";class Ik{constructor(e,n=-1,o,i=DK){this.name=e,this.tracks=o,this.duration=n,this.blendMode=i,this.uuid=mg(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],o=e.tracks,i=1/(e.fps||1);for(let a=0,l=o.length;a!==l;++a)n.push(i5t(o[a]).scale(i));const r=new this(e.name,e.duration,n,e.blendMode);return r.uuid=e.uuid,r}static toJSON(e){const n=[],o=e.tracks,i={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let r=0,a=o.length;r!==a;++r)n.push(G2.toJSON(o[r]));return i}static CreateFromMorphTargetSequence(e,n,o,i){const r=n.length,a=[];for(let l=0;l1){const d=u[1];let f=i[d];f||(i[d]=f=[]),f.push(c)}}const a=[];for(const l in i)a.push(this.CreateFromMorphTargetSequence(l,i[l],n,o));return a}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const o=function(d,f,p,g,y){if(p.length!==0){const A=[],x=[];w1e(p,A,x,g),A.length!==0&&y.push(new d(f,A,x))}},i=[],r=e.name||"default",a=e.fps||30,l=e.blendMode;let s=e.length||-1;const c=e.hierarchy||[];for(let d=0;d{n&&n(r),this.manager.itemEnd(e)},0),r;if(J3[e]!==void 0){J3[e].push({onLoad:n,onProgress:o,onError:i});return}J3[e]=[],J3[e].push({onLoad:n,onProgress:o,onError:i});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),l=this.mimeType,s=this.responseType;fetch(a).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const u=J3[e],d=c.body.getReader(),f=c.headers.get("Content-Length")||c.headers.get("X-File-Size"),p=f?parseInt(f):0,g=p!==0;let y=0;const A=new ReadableStream({start(x){C();function C(){d.read().then(({done:b,value:v})=>{if(b)x.close();else{y+=v.byteLength;const S=new ProgressEvent("progress",{lengthComputable:g,loaded:y,total:p});for(let w=0,T=u.length;w{switch(s){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,l));case"json":return c.json();default:if(l===void 0)return c.text();{const d=/charset="?([^;"\s]*)"?/i.exec(l),f=d&&d[1]?d[1].toLowerCase():void 0,p=new TextDecoder(f);return c.arrayBuffer().then(g=>p.decode(g))}}}).then(c=>{Bx.add(e,c);const u=J3[e];delete J3[e];for(let d=0,f=u.length;d{const u=J3[e];if(u===void 0)throw this.manager.itemError(e),c;delete J3[e];for(let d=0,f=u.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class a5t extends fp{constructor(e){super(e)}load(e,n,o,i){const r=this,a=new M9(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(l){try{n(r.parse(JSON.parse(l)))}catch(s){i?i(s):console.error(s),r.manager.itemError(e)}},o,i)}parse(e){const n=[];for(let o=0;o0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const r in e.uniforms){const a=e.uniforms[r];switch(i.uniforms[r]={},a.type){case"t":i.uniforms[r].value=o(a.value);break;case"c":i.uniforms[r].value=new Xo().setHex(a.value);break;case"v2":i.uniforms[r].value=new Gt().fromArray(a.value);break;case"v3":i.uniforms[r].value=new ae().fromArray(a.value);break;case"v4":i.uniforms[r].value=new ll().fromArray(a.value);break;case"m3":i.uniforms[r].value=new fa().fromArray(a.value);break;case"m4":i.uniforms[r].value=new Xr().fromArray(a.value);break;default:i.uniforms[r].value=a.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const r in e.extensions)i.extensions[r]=e.extensions[r];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=o(e.map)),e.matcap!==void 0&&(i.matcap=o(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=o(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=o(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=o(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let r=e.normalScale;Array.isArray(r)===!1&&(r=[r,r]),i.normalScale=new Gt().fromArray(r)}return e.displacementMap!==void 0&&(i.displacementMap=o(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=o(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=o(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=o(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=o(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=o(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=o(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=o(e.envMap)),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=o(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=o(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=o(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=o(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=o(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=o(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new Gt().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=o(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=o(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=o(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=o(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=o(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=o(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=o(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const n={ShadowMaterial:GWe,SpriteMaterial:YK,RawShaderMaterial:XWe,ShaderMaterial:W2,PointsMaterial:d1e,MeshPhysicalMaterial:JWe,MeshStandardMaterial:sf,MeshPhongMaterial:A1e,MeshToonMaterial:KWe,MeshNormalMaterial:qWe,MeshLambertMaterial:$We,MeshDepthMaterial:WK,MeshDistanceMaterial:NK,MeshBasicMaterial:G9,MeshMatcapMaterial:QWe,LineDashedMaterial:ZWe,LineBasicMaterial:dp,Material:yf};return new n[e]}}class qse{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let o=0,i=e.length;o0){const s=new b1e(n);r=new zk(s),r.setCrossOrigin(this.crossOrigin);for(let c=0,u=e.length;c0){i=new zk(this.manager),i.setCrossOrigin(this.crossOrigin);for(let a=0,l=e.length;a"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,n,o,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,a=Bx.get(e);if(a!==void 0)return r.manager.itemStart(e),setTimeout(function(){n&&n(a),r.manager.itemEnd(e)},0),a;const l={};l.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",l.headers=this.requestHeader,fetch(e,l).then(function(s){return s.blob()}).then(function(s){return createImageBitmap(s,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(s){Bx.add(e,s),n&&n(s),r.manager.itemEnd(e)}).catch(function(s){i&&i(s),r.manager.itemError(e),r.manager.itemEnd(e)}),r.manager.itemStart(e)}}let kj;class T1e{static getContext(){return kj===void 0&&(kj=new(window.AudioContext||window.webkitAudioContext)),kj}static setContext(e){kj=e}}class m5t extends fp{constructor(e){super(e)}load(e,n,o,i){const r=this,a=new M9(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(s){try{const c=s.slice(0);T1e.getContext().decodeAudioData(c,function(d){n(d)},l)}catch(c){l(c)}},o,i);function l(s){i?i(s):console.error(s),r.manager.itemError(e)}}}const X4e=new Xr,J4e=new Xr,k8=new Xr;class y5t{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Iu,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Iu,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const n=this._cache;if(n.focus!==e.focus||n.fov!==e.fov||n.aspect!==e.aspect*this.aspect||n.near!==e.near||n.far!==e.far||n.zoom!==e.zoom||n.eyeSep!==this.eyeSep){n.focus=e.focus,n.fov=e.fov,n.aspect=e.aspect*this.aspect,n.near=e.near,n.far=e.far,n.zoom=e.zoom,n.eyeSep=this.eyeSep,k8.copy(e.projectionMatrix);const i=n.eyeSep/2,r=i*n.near/n.focus,a=n.near*Math.tan(nx*n.fov*.5)/n.zoom;let l,s;J4e.elements[12]=-i,X4e.elements[12]=i,l=-a*n.aspect+r,s=a*n.aspect+r,k8.elements[0]=2*n.near/(s-l),k8.elements[8]=(s+l)/(s-l),this.cameraL.projectionMatrix.copy(k8),l=-a*n.aspect-r,s=a*n.aspect-r,k8.elements[0]=2*n.near/(s-l),k8.elements[8]=(s+l)/(s-l),this.cameraR.projectionMatrix.copy(k8)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(J4e),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(X4e)}}class P1e{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=K4e(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const n=K4e();e=(n-this.oldTime)/1e3,this.oldTime=n,this.elapsedTime+=e}return e}}function K4e(){return(typeof performance>"u"?Date:performance).now()}const F8=new ae,q4e=new Ts,A5t=new ae,L8=new ae;class w5t extends Dl{constructor(){super(),this.type="AudioListener",this.context=T1e.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new P1e}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const n=this.context.listener,o=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(F8,q4e,A5t),L8.set(0,0,-1).applyQuaternion(q4e),n.positionX){const i=this.context.currentTime+this.timeDelta;n.positionX.linearRampToValueAtTime(F8.x,i),n.positionY.linearRampToValueAtTime(F8.y,i),n.positionZ.linearRampToValueAtTime(F8.z,i),n.forwardX.linearRampToValueAtTime(L8.x,i),n.forwardY.linearRampToValueAtTime(L8.y,i),n.forwardZ.linearRampToValueAtTime(L8.z,i),n.upX.linearRampToValueAtTime(o.x,i),n.upY.linearRampToValueAtTime(o.y,i),n.upZ.linearRampToValueAtTime(o.z,i)}else n.setPosition(F8.x,F8.y,F8.z),n.setOrientation(L8.x,L8.y,L8.z,o.x,o.y,o.z)}}class gNe extends Dl{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const n=this.context.createBufferSource();return n.buffer=this.buffer,n.loop=this.loop,n.loopStart=this.loopStart,n.loopEnd=this.loopEnd,n.onended=this.onEnded.bind(this),n.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=n,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,n=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,n=this.filters.length;e0&&this._mixBufferRegionAdditive(o,i,this._addIndex*n,1,n);for(let s=n,c=n+n;s!==c;++s)if(o[s]!==o[s+n]){l.setValue(o,i);break}}saveOriginalState(){const e=this.binding,n=this.buffer,o=this.valueSize,i=o*this._origIndex;e.getValue(n,i);for(let r=o,a=i;r!==a;++r)n[r]=n[i+r%o];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,n=e+this.valueSize;for(let o=e;o=.5)for(let a=0;a!==r;++a)e[n+a]=e[o+a]}_slerp(e,n,o,i){Ts.slerpFlat(e,n,e,n,e,o,i)}_slerpAdditive(e,n,o,i,r){const a=this._workIndex*r;Ts.multiplyQuaternionsFlat(e,a,e,n,e,o),Ts.slerpFlat(e,n,e,n,e,a,i)}_lerp(e,n,o,i,r){const a=1-i;for(let l=0;l!==r;++l){const s=n+l;e[s]=e[s]*a+e[o+l]*i}}_lerpAdditive(e,n,o,i,r){for(let a=0;a!==r;++a){const l=n+a;e[l]=e[l]+e[o+a]*i}}}const C1e="\\[\\]\\.:\\/",S5t=new RegExp("["+C1e+"]","g"),R1e="[^"+C1e+"]",T5t="[^"+C1e.replace("\\.","")+"]",P5t=/((?:WC+[\/:])*)/.source.replace("WC",R1e),C5t=/(WCOD+)?/.source.replace("WCOD",T5t),R5t=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",R1e),H5t=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",R1e),M5t=new RegExp("^"+P5t+C5t+R5t+H5t+"$"),I5t=["material","materials","bones","map"];class z5t{constructor(e,n,o){const i=o||bl.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,i)}getValue(e,n){this.bind();const o=this._targetGroup.nCachedObjects_,i=this._bindings[o];i!==void 0&&i.getValue(e,n)}setValue(e,n){const o=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=o.length;i!==r;++i)o[i].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,o=e.length;n!==o;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,o=e.length;n!==o;++n)e[n].unbind()}}class bl{constructor(e,n,o){this.path=n,this.parsedPath=o||bl.parseTrackName(n),this.node=bl.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,o){return e&&e.isAnimationObjectGroup?new bl.Composite(e,n,o):new bl(e,n,o)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(S5t,"")}static parseTrackName(e){const n=M5t.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const o={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},i=o.nodeName&&o.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const r=o.nodeName.substring(i+1);I5t.indexOf(r)!==-1&&(o.nodeName=o.nodeName.substring(0,i),o.objectName=r)}if(o.propertyName===null||o.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return o}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const o=e.skeleton.getBoneByName(n);if(o!==void 0)return o}if(e.children){const o=function(r){for(let a=0;a=r){const d=r++,f=e[d];n[f.uuid]=u,e[u]=f,n[c]=d,e[d]=s;for(let p=0,g=i;p!==g;++p){const y=o[p],A=y[d],x=y[u];y[u]=A,y[d]=x}}}this.nCachedObjects_=r}uncache(){const e=this._objects,n=this._indicesByUUID,o=this._bindings,i=o.length;let r=this.nCachedObjects_,a=e.length;for(let l=0,s=arguments.length;l!==s;++l){const c=arguments[l],u=c.uuid,d=n[u];if(d!==void 0)if(delete n[u],d0&&(n[p.uuid]=d),e[d]=p,e.pop();for(let g=0,y=i;g!==y;++g){const A=o[g];A[d]=A[f],A.pop()}}}this.nCachedObjects_=r}subscribe_(e,n){const o=this._bindingsIndicesByPath;let i=o[e];const r=this._bindings;if(i!==void 0)return r[i];const a=this._paths,l=this._parsedPaths,s=this._objects,c=s.length,u=this.nCachedObjects_,d=new Array(c);i=r.length,o[e]=i,a.push(e),l.push(n),r.push(d);for(let f=u,p=s.length;f!==p;++f){const g=s[f];d[f]=new bl(g,e,n)}return d}unsubscribe_(e){const n=this._bindingsIndicesByPath,o=n[e];if(o!==void 0){const i=this._paths,r=this._parsedPaths,a=this._bindings,l=a.length-1,s=a[l],c=e[l];n[c]=o,a[o]=s,a.pop(),r[o]=r[l],r.pop(),i[o]=i[l],i.pop()}}}class yNe{constructor(e,n,o=null,i=n.blendMode){this._mixer=e,this._clip=n,this._localRoot=o,this.blendMode=i;const r=n.tracks,a=r.length,l=new Array(a),s={endingStart:Cv,endingEnd:Cv};for(let c=0;c!==a;++c){const u=r[c].createInterpolant(null);l[c]=u,u.settings=s}this._interpolantSettings=s,this._interpolants=l,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=oWe,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,n){return this.loop=e,this.repetitions=n,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,n,o){if(e.fadeOut(n),this.fadeIn(n),o){const i=this._clip.duration,r=e._clip.duration,a=r/i,l=i/r;e.warp(1,a,n),this.warp(l,1,n)}return this}crossFadeTo(e,n,o){return e.crossFadeFrom(this,n,o)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,n,o){const i=this._mixer,r=i.time,a=this.timeScale;let l=this._timeScaleInterpolant;l===null&&(l=i._lendControlInterpolant(),this._timeScaleInterpolant=l);const s=l.parameterPositions,c=l.sampleValues;return s[0]=r,s[1]=r+o,c[0]=e/a,c[1]=n/a,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,n,o,i){if(!this.enabled){this._updateWeight(e);return}const r=this._startTime;if(r!==null){const s=(e-r)*o;s<0||o===0?n=0:(this._startTime=null,n=o*s)}n*=this._updateTimeScale(e);const a=this._updateTime(n),l=this._updateWeight(e);if(l>0){const s=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case Qpe:for(let u=0,d=s.length;u!==d;++u)s[u].evaluate(a),c[u].accumulateAdditive(l);break;case DK:default:for(let u=0,d=s.length;u!==d;++u)s[u].evaluate(a),c[u].accumulate(i,l)}}}_updateWeight(e){let n=0;if(this.enabled){n=this.weight;const o=this._weightInterpolant;if(o!==null){const i=o.evaluate(e)[0];n*=i,e>o.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=n,n}_updateTimeScale(e){let n=0;if(!this.paused){n=this.timeScale;const o=this._timeScaleInterpolant;if(o!==null){const i=o.evaluate(e)[0];n*=i,e>o.parameterPositions[1]&&(this.stopWarping(),n===0?this.paused=!0:this.timeScale=n)}}return this._effectiveTimeScale=n,n}_updateTime(e){const n=this._clip.duration,o=this.loop;let i=this.time+e,r=this._loopCount;const a=o===iWe;if(e===0)return r===-1?i:a&&(r&1)===1?n-i:i;if(o===nWe){r===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=n)i=n;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(r===-1&&(e>=0?(r=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),i>=n||i<0){const l=Math.floor(i/n);i-=n*l,r+=Math.abs(l);const s=this.repetitions-r;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?n:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(s===1){const c=e<0;this._setEndings(c,!c,a)}else this._setEndings(!1,!1,a);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:l})}}else this.time=i;if(a&&(r&1)===1)return n-i}return i}_setEndings(e,n,o){const i=this._interpolantSettings;o?(i.endingStart=Rv,i.endingEnd=Rv):(e?i.endingStart=this.zeroSlopeAtStart?Rv:Cv:i.endingStart=mk,n?i.endingEnd=this.zeroSlopeAtEnd?Rv:Cv:i.endingEnd=mk)}_scheduleFading(e,n,o){const i=this._mixer,r=i.time;let a=this._weightInterpolant;a===null&&(a=i._lendControlInterpolant(),this._weightInterpolant=a);const l=a.parameterPositions,s=a.sampleValues;return l[0]=r,s[0]=n,l[1]=r+e,s[1]=o,this}}const E5t=new Float32Array(1);class k5t extends V9{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,n){const o=e._localRoot||this._root,i=e._clip.tracks,r=i.length,a=e._propertyBindings,l=e._interpolants,s=o.uuid,c=this._bindingsByRootAndName;let u=c[s];u===void 0&&(u={},c[s]=u);for(let d=0;d!==r;++d){const f=i[d],p=f.name;let g=u[p];if(g!==void 0)++g.referenceCount,a[d]=g;else{if(g=a[d],g!==void 0){g._cacheIndex===null&&(++g.referenceCount,this._addInactiveBinding(g,s,p));continue}const y=n&&n._propertyBindings[d].binding.parsedPath;g=new mNe(bl.create(o,p,y),f.ValueTypeName,f.getValueSize()),++g.referenceCount,this._addInactiveBinding(g,s,p),a[d]=g}l[d].resultBuffer=g.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const o=(e._localRoot||this._root).uuid,i=e._clip.uuid,r=this._actionsByClip[i];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,i,o)}const n=e._propertyBindings;for(let o=0,i=n.length;o!==i;++o){const r=n[o];r.useCount++===0&&(this._lendBinding(r),r.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const n=e._propertyBindings;for(let o=0,i=n.length;o!==i;++o){const r=n[o];--r.useCount===0&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const n=e._cacheIndex;return n!==null&&n=0;--o)e[o].stop();return this}update(e){e*=this.timeScale;const n=this._actions,o=this._nActiveActions,i=this.time+=e,r=Math.sign(e),a=this._accuIndex^=1;for(let c=0;c!==o;++c)n[c]._update(i,e,r,a);const l=this._bindings,s=this._nActiveBindings;for(let c=0;c!==s;++c)l[c].apply(a);return this}setTime(e){this.time=0;for(let n=0;nthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Z4e).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const ewe=new ae,Fj=new ae;class M1e{constructor(e=new ae,n=new ae){this.start=e,this.end=n}set(e,n){return this.start.copy(e),this.end.copy(n),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,n){return this.delta(n).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,n){ewe.subVectors(e,this.start),Fj.subVectors(this.end,this.start);const o=Fj.dot(Fj);let r=Fj.dot(ewe)/o;return n&&(r=h0(r,0,1)),r}closestPointToPoint(e,n,o){const i=this.closestPointToPointParameter(e,n);return this.delta(o).multiplyScalar(i).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const twe=new ae;class B5t extends Dl{constructor(e,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="SpotLightHelper";const o=new Ur,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let a=0,l=1,s=32;a1)for(let d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{awe.set(e.z,0,-e.x).normalize();const n=Math.acos(e.y);this.quaternion.setFromAxisAngle(awe,n)}}setLength(e,n=e*.2,o=n*.2){this.line.scale.set(1,Math.max(1e-4,e-n),1),this.line.updateMatrix(),this.cone.scale.set(o,n,o),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Z5t extends J9{constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],o=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new Ur;i.setAttribute("position",new hi(n,3)),i.setAttribute("color",new hi(o,3));const r=new dp({vertexColors:!0,toneMapped:!1});super(i,r),this.type="AxesHelper"}setColors(e,n,o){const i=new Xo,r=this.geometry.attributes.color.array;return i.set(e),i.toArray(r,0),i.toArray(r,3),i.set(n),i.toArray(r,6),i.toArray(r,9),i.set(o),i.toArray(r,12),i.toArray(r,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class wNe{constructor(){this.type="ShapePath",this.color=new Xo,this.subPaths=[],this.currentPath=null}moveTo(e,n){return this.currentPath=new Tk,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,n),this}lineTo(e,n){return this.currentPath.lineTo(e,n),this}quadraticCurveTo(e,n,o,i){return this.currentPath.quadraticCurveTo(e,n,o,i),this}bezierCurveTo(e,n,o,i,r,a){return this.currentPath.bezierCurveTo(e,n,o,i,r,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function n(x){const C=[];for(let b=0,v=x.length;bNumber.EPSILON){if(H<0&&(T=C[w],R=-R,P=C[S],H=-H),x.yP.y)continue;if(x.y===T.y){if(x.x===T.x)return!0}else{const D=H*(x.x-T.x)-R*(x.y-T.y);if(D===0)return!0;if(D<0)continue;v=!v}}else{if(x.y!==T.y)continue;if(P.x<=x.x&&x.x<=T.x||T.x<=x.x&&x.x<=P.x)return!0}}return v}const i=y9.isClockWise,r=this.subPaths;if(r.length===0)return[];let a,l,s;const c=[];if(r.length===1)return l=r[0],s=new Ml,s.curves=l.curves,c.push(s),c;let u=!i(r[0].getPoints());u=e?!u:u;const d=[],f=[];let p=[],g=0,y;f[g]=void 0,p[g]=[];for(let x=0,C=r.length;x1){let x=!1,C=0;for(let b=0,v=f.length;b0&&x===!1&&(p=d)}let A;for(let x=0,C=f.length;xu||i.y>u)&&(i.x>u&&(r.x=Math.floor(u/k.x),i.x=r.x*k.x,B.mapSize.x=r.x),i.y>u&&(r.y=Math.floor(u/k.y),i.y=r.y*k.y,B.mapSize.y=r.y)),B.map===null||E===!0||L===!0){const j=this.type!==e2?{minFilter:F0,magFilter:F0}:{};B.map!==null&&B.map.dispose(),B.map=new _m(i.x,i.y,j),B.map.texture.name=W.name+".shadowMap",B.camera.updateProjectionMatrix()}t.setRenderTarget(B.map),t.clear();const N=B.getViewportCount();for(let j=0;j0||w.map&&w.alphaTest>0){const D=R.uuid,E=w.uuid;let L=c[D];L===void 0&&(L={},c[D]=L);let U=L[E];U===void 0&&(U=R.clone(),L[E]=U),R=U}if(R.visible=w.visible,R.wireframe=w.wireframe,P===e2?R.side=w.shadowSide!==null?w.shadowSide:w.side:R.side=w.shadowSide!==null?w.shadowSide:d[w.side],R.alphaMap=w.alphaMap,R.alphaTest=w.alphaTest,R.map=w.map,R.clipShadows=w.clipShadows,R.clippingPlanes=w.clippingPlanes,R.clipIntersection=w.clipIntersection,R.displacementMap=w.displacementMap,R.displacementScale=w.displacementScale,R.displacementBias=w.displacementBias,R.wireframeLinewidth=w.wireframeLinewidth,R.linewidth=w.linewidth,T.isPointLight===!0&&R.isMeshDistanceMaterial===!0){const D=t.properties.get(R);D.light=T}return R}function v(S,w,T,P,R){if(S.visible===!1)return;if(S.layers.test(w.layers)&&(S.isMesh||S.isLine||S.isPoints)&&(S.castShadow||S.receiveShadow&&R===e2)&&(!S.frustumCulled||o.intersectsObject(S))){S.modelViewMatrix.multiplyMatrices(T.matrixWorldInverse,S.matrixWorld);const E=e.update(S),L=S.material;if(Array.isArray(L)){const U=E.groups;for(let F=0,W=U.length;F=1):j.indexOf("OpenGL ES")!==-1&&(N=parseFloat(/^OpenGL ES (\d)/.exec(j)[1]),k=N>=2);let Y=null,_={};const J=t.getParameter(t.SCISSOR_BOX),Q=t.getParameter(t.VIEWPORT),ee=new ll().fromArray(J),$=new ll().fromArray(Q);function q(Ye,St,dt,je){const at=new Uint8Array(4),ut=t.createTexture();t.bindTexture(Ye,ut),t.texParameteri(Ye,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(Ye,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let wt=0;wt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),g=new WeakMap;let y;const A=new WeakMap;let x=!1;try{x=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function C(Ae,re){return x?new OffscreenCanvas(Ae,re):bk("canvas")}function b(Ae,re,ge,we){let ye=1;if((Ae.width>we||Ae.height>we)&&(ye=we/Math.max(Ae.width,Ae.height)),ye<1||re===!0)if(typeof HTMLImageElement<"u"&&Ae instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&Ae instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&Ae instanceof ImageBitmap){const Te=re?jV:Math.floor,Ie=Te(ye*Ae.width),Ce=Te(ye*Ae.height);y===void 0&&(y=C(Ie,Ce));const Ee=ge?C(Ie,Ce):y;return Ee.width=Ie,Ee.height=Ce,Ee.getContext("2d").drawImage(Ae,0,0,Ie,Ce),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Ae.width+"x"+Ae.height+") to ("+Ie+"x"+Ce+")."),Ee}else return"data"in Ae&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Ae.width+"x"+Ae.height+")."),Ae;return Ae}function v(Ae){return Ose(Ae.width)&&Ose(Ae.height)}function S(Ae){return l?!1:Ae.wrapS!==ah||Ae.wrapT!==ah||Ae.minFilter!==F0&&Ae.minFilter!==js}function w(Ae,re){return Ae.generateMipmaps&&re&&Ae.minFilter!==F0&&Ae.minFilter!==js}function T(Ae){t.generateMipmap(Ae)}function P(Ae,re,ge,we,ye=!1){if(l===!1)return re;if(Ae!==null){if(t[Ae]!==void 0)return t[Ae];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+Ae+"'")}let Te=re;if(re===t.RED&&(ge===t.FLOAT&&(Te=t.R32F),ge===t.HALF_FLOAT&&(Te=t.R16F),ge===t.UNSIGNED_BYTE&&(Te=t.R8)),re===t.RED_INTEGER&&(ge===t.UNSIGNED_BYTE&&(Te=t.R8UI),ge===t.UNSIGNED_SHORT&&(Te=t.R16UI),ge===t.UNSIGNED_INT&&(Te=t.R32UI),ge===t.BYTE&&(Te=t.R8I),ge===t.SHORT&&(Te=t.R16I),ge===t.INT&&(Te=t.R32I)),re===t.RG&&(ge===t.FLOAT&&(Te=t.RG32F),ge===t.HALF_FLOAT&&(Te=t.RG16F),ge===t.UNSIGNED_BYTE&&(Te=t.RG8)),re===t.RGBA){const Ie=ye?yk:rs.getTransfer(we);ge===t.FLOAT&&(Te=t.RGBA32F),ge===t.HALF_FLOAT&&(Te=t.RGBA16F),ge===t.UNSIGNED_BYTE&&(Te=Ie===Ws?t.SRGB8_ALPHA8:t.RGBA8),ge===t.UNSIGNED_SHORT_4_4_4_4&&(Te=t.RGBA4),ge===t.UNSIGNED_SHORT_5_5_5_1&&(Te=t.RGB5_A1)}return(Te===t.R16F||Te===t.R32F||Te===t.RG16F||Te===t.RG32F||Te===t.RGBA16F||Te===t.RGBA32F)&&e.get("EXT_color_buffer_float"),Te}function R(Ae,re,ge){return w(Ae,ge)===!0||Ae.isFramebufferTexture&&Ae.minFilter!==F0&&Ae.minFilter!==js?Math.log2(Math.max(re.width,re.height))+1:Ae.mipmaps!==void 0&&Ae.mipmaps.length>0?Ae.mipmaps.length:Ae.isCompressedTexture&&Array.isArray(Ae.image)?re.mipmaps.length:1}function H(Ae){return Ae===F0||Ae===UV||Ae===$D?t.NEAREST:t.LINEAR}function D(Ae){const re=Ae.target;re.removeEventListener("dispose",D),L(re),re.isVideoTexture&&g.delete(re)}function E(Ae){const re=Ae.target;re.removeEventListener("dispose",E),F(re)}function L(Ae){const re=o.get(Ae);if(re.__webglInit===void 0)return;const ge=Ae.source,we=A.get(ge);if(we){const ye=we[re.__cacheKey];ye.usedTimes--,ye.usedTimes===0&&U(Ae),Object.keys(we).length===0&&A.delete(ge)}o.remove(Ae)}function U(Ae){const re=o.get(Ae);t.deleteTexture(re.__webglTexture);const ge=Ae.source,we=A.get(ge);delete we[re.__cacheKey],a.memory.textures--}function F(Ae){const re=Ae.texture,ge=o.get(Ae),we=o.get(re);if(we.__webglTexture!==void 0&&(t.deleteTexture(we.__webglTexture),a.memory.textures--),Ae.depthTexture&&Ae.depthTexture.dispose(),Ae.isWebGLCubeRenderTarget)for(let ye=0;ye<6;ye++){if(Array.isArray(ge.__webglFramebuffer[ye]))for(let Te=0;Te=s&&console.warn("THREE.WebGLTextures: Trying to use "+Ae+" texture units while this GPU supports only "+s),W+=1,Ae}function N(Ae){const re=[];return re.push(Ae.wrapS),re.push(Ae.wrapT),re.push(Ae.wrapR||0),re.push(Ae.magFilter),re.push(Ae.minFilter),re.push(Ae.anisotropy),re.push(Ae.internalFormat),re.push(Ae.format),re.push(Ae.type),re.push(Ae.generateMipmaps),re.push(Ae.premultiplyAlpha),re.push(Ae.flipY),re.push(Ae.unpackAlignment),re.push(Ae.colorSpace),re.join()}function j(Ae,re){const ge=o.get(Ae);if(Ae.isVideoTexture&&Re(Ae),Ae.isRenderTargetTexture===!1&&Ae.version>0&&ge.__version!==Ae.version){const we=Ae.image;if(we===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(we.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ie(ge,Ae,re);return}}n.bindTexture(t.TEXTURE_2D,ge.__webglTexture,t.TEXTURE0+re)}function Y(Ae,re){const ge=o.get(Ae);if(Ae.version>0&&ge.__version!==Ae.version){ie(ge,Ae,re);return}n.bindTexture(t.TEXTURE_2D_ARRAY,ge.__webglTexture,t.TEXTURE0+re)}function _(Ae,re){const ge=o.get(Ae);if(Ae.version>0&&ge.__version!==Ae.version){ie(ge,Ae,re);return}n.bindTexture(t.TEXTURE_3D,ge.__webglTexture,t.TEXTURE0+re)}function J(Ae,re){const ge=o.get(Ae);if(Ae.version>0&&ge.__version!==Ae.version){pe(ge,Ae,re);return}n.bindTexture(t.TEXTURE_CUBE_MAP,ge.__webglTexture,t.TEXTURE0+re)}const Q={[Ss]:t.REPEAT,[ah]:t.CLAMP_TO_EDGE,[hk]:t.MIRRORED_REPEAT},ee={[F0]:t.NEAREST,[UV]:t.NEAREST_MIPMAP_NEAREST,[$D]:t.NEAREST_MIPMAP_LINEAR,[js]:t.LINEAR,[Vpe]:t.LINEAR_MIPMAP_NEAREST,[Xw]:t.LINEAR_MIPMAP_LINEAR},$={[lWe]:t.NEVER,[pWe]:t.ALWAYS,[sWe]:t.LESS,[uWe]:t.LEQUAL,[cWe]:t.EQUAL,[hWe]:t.GEQUAL,[dWe]:t.GREATER,[fWe]:t.NOTEQUAL};function q(Ae,re,ge){if(ge?(t.texParameteri(Ae,t.TEXTURE_WRAP_S,Q[re.wrapS]),t.texParameteri(Ae,t.TEXTURE_WRAP_T,Q[re.wrapT]),(Ae===t.TEXTURE_3D||Ae===t.TEXTURE_2D_ARRAY)&&t.texParameteri(Ae,t.TEXTURE_WRAP_R,Q[re.wrapR]),t.texParameteri(Ae,t.TEXTURE_MAG_FILTER,ee[re.magFilter]),t.texParameteri(Ae,t.TEXTURE_MIN_FILTER,ee[re.minFilter])):(t.texParameteri(Ae,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(Ae,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),(Ae===t.TEXTURE_3D||Ae===t.TEXTURE_2D_ARRAY)&&t.texParameteri(Ae,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),(re.wrapS!==ah||re.wrapT!==ah)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(Ae,t.TEXTURE_MAG_FILTER,H(re.magFilter)),t.texParameteri(Ae,t.TEXTURE_MIN_FILTER,H(re.minFilter)),re.minFilter!==F0&&re.minFilter!==js&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),re.compareFunction&&(t.texParameteri(Ae,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(Ae,t.TEXTURE_COMPARE_FUNC,$[re.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const we=e.get("EXT_texture_filter_anisotropic");if(re.magFilter===F0||re.minFilter!==$D&&re.minFilter!==Xw||re.type===h2&&e.has("OES_texture_float_linear")===!1||l===!1&&re.type===Lx&&e.has("OES_texture_half_float_linear")===!1)return;(re.anisotropy>1||o.get(re).__currentAnisotropy)&&(t.texParameterf(Ae,we.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(re.anisotropy,i.getMaxAnisotropy())),o.get(re).__currentAnisotropy=re.anisotropy)}}function le(Ae,re){let ge=!1;Ae.__webglInit===void 0&&(Ae.__webglInit=!0,re.addEventListener("dispose",D));const we=re.source;let ye=A.get(we);ye===void 0&&(ye={},A.set(we,ye));const Te=N(re);if(Te!==Ae.__cacheKey){ye[Te]===void 0&&(ye[Te]={texture:t.createTexture(),usedTimes:0},a.memory.textures++,ge=!0),ye[Te].usedTimes++;const Ie=ye[Ae.__cacheKey];Ie!==void 0&&(ye[Ae.__cacheKey].usedTimes--,Ie.usedTimes===0&&U(re)),Ae.__cacheKey=Te,Ae.__webglTexture=ye[Te].texture}return ge}function ie(Ae,re,ge){let we=t.TEXTURE_2D;(re.isDataArrayTexture||re.isCompressedArrayTexture)&&(we=t.TEXTURE_2D_ARRAY),re.isData3DTexture&&(we=t.TEXTURE_3D);const ye=le(Ae,re),Te=re.source;n.bindTexture(we,Ae.__webglTexture,t.TEXTURE0+ge);const Ie=o.get(Te);if(Te.version!==Ie.__version||ye===!0){n.activeTexture(t.TEXTURE0+ge);const Ce=rs.getPrimaries(rs.workingColorSpace),Ee=re.colorSpace===rg?null:rs.getPrimaries(re.colorSpace),Ue=re.colorSpace===rg||Ce===Ee?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,re.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,re.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,re.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ue);const Ne=S(re)&&v(re.image)===!1;let Le=b(re.image,Ne,!1,u);Le=ze(re,Le);const qe=v(Le)||l,We=r.convert(re.format,re.colorSpace);let De=r.convert(re.type),Fe=P(re.internalFormat,We,De,re.colorSpace,re.isVideoTexture);q(we,re,qe);let _e;const ot=re.mipmaps,Ye=l&&re.isVideoTexture!==!0,St=Ie.__version===void 0||ye===!0,dt=R(re,Le,qe);if(re.isDepthTexture)Fe=t.DEPTH_COMPONENT,l?re.type===h2?Fe=t.DEPTH_COMPONENT32F:re.type===p6?Fe=t.DEPTH_COMPONENT24:re.type===Dw?Fe=t.DEPTH24_STENCIL8:Fe=t.DEPTH_COMPONENT16:re.type===h2&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),re.format===Ew&&Fe===t.DEPTH_COMPONENT&&re.type!==zK&&re.type!==p6&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),re.type=p6,De=r.convert(re.type)),re.format===Wx&&Fe===t.DEPTH_COMPONENT&&(Fe=t.DEPTH_STENCIL,re.type!==Dw&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),re.type=Dw,De=r.convert(re.type))),St&&(Ye?n.texStorage2D(t.TEXTURE_2D,1,Fe,Le.width,Le.height):n.texImage2D(t.TEXTURE_2D,0,Fe,Le.width,Le.height,0,We,De,null));else if(re.isDataTexture)if(ot.length>0&&qe){Ye&&St&&n.texStorage2D(t.TEXTURE_2D,dt,Fe,ot[0].width,ot[0].height);for(let je=0,at=ot.length;je>=1,at>>=1}}else if(ot.length>0&&qe){Ye&&St&&n.texStorage2D(t.TEXTURE_2D,dt,Fe,ot[0].width,ot[0].height);for(let je=0,at=ot.length;je0&&St++,n.texStorage2D(t.TEXTURE_CUBE_MAP,St,_e,Le[0].width,Le[0].height));for(let je=0;je<6;je++)if(Ne){ot?n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+je,0,0,0,Le[je].width,Le[je].height,De,Fe,Le[je].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+je,0,_e,Le[je].width,Le[je].height,0,De,Fe,Le[je].data);for(let at=0;at>Te),Le=Math.max(1,re.height>>Te);ye===t.TEXTURE_3D||ye===t.TEXTURE_2D_ARRAY?n.texImage3D(ye,Te,Ee,Ne,Le,re.depth,0,Ie,Ce,null):n.texImage2D(ye,Te,Ee,Ne,Le,0,Ie,Ce,null)}n.bindFramebuffer(t.FRAMEBUFFER,Ae),me(re)?f.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,we,ye,o.get(ge).__webglTexture,0,Pe(re)):(ye===t.TEXTURE_2D||ye>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&ye<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,we,ye,o.get(ge).__webglTexture,Te),n.bindFramebuffer(t.FRAMEBUFFER,null)}function Z(Ae,re,ge){if(t.bindRenderbuffer(t.RENDERBUFFER,Ae),re.depthBuffer&&!re.stencilBuffer){let we=l===!0?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(ge||me(re)){const ye=re.depthTexture;ye&&ye.isDepthTexture&&(ye.type===h2?we=t.DEPTH_COMPONENT32F:ye.type===p6&&(we=t.DEPTH_COMPONENT24));const Te=Pe(re);me(re)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,Te,we,re.width,re.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,Te,we,re.width,re.height)}else t.renderbufferStorage(t.RENDERBUFFER,we,re.width,re.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,Ae)}else if(re.depthBuffer&&re.stencilBuffer){const we=Pe(re);ge&&me(re)===!1?t.renderbufferStorageMultisample(t.RENDERBUFFER,we,t.DEPTH24_STENCIL8,re.width,re.height):me(re)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,we,t.DEPTH24_STENCIL8,re.width,re.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,re.width,re.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,Ae)}else{const we=re.isWebGLMultipleRenderTargets===!0?re.texture:[re.texture];for(let ye=0;ye0){ge.__webglFramebuffer[Ce]=[];for(let Ee=0;Ee0){ge.__webglFramebuffer=[];for(let Ce=0;Ce0&&me(Ae)===!1){const Ce=Te?re:[re];ge.__webglMultisampledFramebuffer=t.createFramebuffer(),ge.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,ge.__webglMultisampledFramebuffer);for(let Ee=0;Ee0)for(let Ee=0;Ee0)for(let Ee=0;Ee0&&me(Ae)===!1){const re=Ae.isWebGLMultipleRenderTargets?Ae.texture:[Ae.texture],ge=Ae.width,we=Ae.height;let ye=t.COLOR_BUFFER_BIT;const Te=[],Ie=Ae.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,Ce=o.get(Ae),Ee=Ae.isWebGLMultipleRenderTargets===!0;if(Ee)for(let Ue=0;Ue0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&re.__useRenderToTexture!==!1}function Re(Ae){const re=a.render.frame;g.get(Ae)!==re&&(g.set(Ae,re),Ae.update())}function ze(Ae,re){const ge=Ae.colorSpace,we=Ae.format,ye=Ae.type;return Ae.isCompressedTexture===!0||Ae.isVideoTexture===!0||Ae.format===BV||ge!==R9&&ge!==rg&&(rs.getTransfer(ge)===Ws?l===!1?e.has("EXT_sRGB")===!0&&we===kp?(Ae.format=BV,Ae.minFilter=js,Ae.generateMipmaps=!1):re=n1e.sRGBToLinear(re):(we!==kp||ye!==m9)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ge)),re}this.allocateTextureUnit=k,this.resetTextureUnits=B,this.setTexture2D=j,this.setTexture2DArray=Y,this.setTexture3D=_,this.setTextureCube=J,this.rebindTextures=se,this.setupRenderTarget=oe,this.updateRenderTargetMipmap=de,this.updateMultisampleRenderTarget=ve,this.setupDepthRenderbuffer=fe,this.setupFrameBufferTexture=ne,this.useMultisampledRTT=me}function MWe(t,e,n){const o=n.isWebGL2;function i(r,a=rg){let l;const s=rs.getTransfer(a);if(r===m9)return t.UNSIGNED_BYTE;if(r===Xpe)return t.UNSIGNED_SHORT_4_4_4_4;if(r===Jpe)return t.UNSIGNED_SHORT_5_5_5_1;if(r===XLe)return t.BYTE;if(r===JLe)return t.SHORT;if(r===zK)return t.UNSIGNED_SHORT;if(r===Gpe)return t.INT;if(r===p6)return t.UNSIGNED_INT;if(r===h2)return t.FLOAT;if(r===Lx)return o?t.HALF_FLOAT:(l=e.get("OES_texture_half_float"),l!==null?l.HALF_FLOAT_OES:null);if(r===KLe)return t.ALPHA;if(r===kp)return t.RGBA;if(r===qLe)return t.LUMINANCE;if(r===$Le)return t.LUMINANCE_ALPHA;if(r===Ew)return t.DEPTH_COMPONENT;if(r===Wx)return t.DEPTH_STENCIL;if(r===BV)return l=e.get("EXT_sRGB"),l!==null?l.SRGB_ALPHA_EXT:null;if(r===QLe)return t.RED;if(r===Kpe)return t.RED_INTEGER;if(r===ZLe)return t.RG;if(r===qpe)return t.RG_INTEGER;if(r===$pe)return t.RGBA_INTEGER;if(r===d_||r===f_||r===h_||r===p_)if(s===Ws)if(l=e.get("WEBGL_compressed_texture_s3tc_srgb"),l!==null){if(r===d_)return l.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===f_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===h_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===p_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(l=e.get("WEBGL_compressed_texture_s3tc"),l!==null){if(r===d_)return l.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===f_)return l.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===h_)return l.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===p_)return l.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===mse||r===yse||r===Ase||r===wse)if(l=e.get("WEBGL_compressed_texture_pvrtc"),l!==null){if(r===mse)return l.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===yse)return l.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===Ase)return l.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===wse)return l.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===eWe)return l=e.get("WEBGL_compressed_texture_etc1"),l!==null?l.COMPRESSED_RGB_ETC1_WEBGL:null;if(r===vse||r===xse)if(l=e.get("WEBGL_compressed_texture_etc"),l!==null){if(r===vse)return s===Ws?l.COMPRESSED_SRGB8_ETC2:l.COMPRESSED_RGB8_ETC2;if(r===xse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:l.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===bse||r===Sse||r===Tse||r===Pse||r===Cse||r===Rse||r===Hse||r===Mse||r===Ise||r===zse||r===Dse||r===Ese||r===kse||r===Fse)if(l=e.get("WEBGL_compressed_texture_astc"),l!==null){if(r===bse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:l.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===Sse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:l.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===Tse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:l.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===Pse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:l.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===Cse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:l.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===Rse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:l.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===Hse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:l.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===Mse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:l.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===Ise)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:l.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===zse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:l.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===Dse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:l.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===Ese)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:l.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===kse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:l.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===Fse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:l.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===g_||r===Lse||r===Wse)if(l=e.get("EXT_texture_compression_bptc"),l!==null){if(r===g_)return s===Ws?l.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:l.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===Lse)return l.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===Wse)return l.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===tWe||r===Nse||r===Use||r===Bse)if(l=e.get("EXT_texture_compression_rgtc"),l!==null){if(r===g_)return l.COMPRESSED_RED_RGTC1_EXT;if(r===Nse)return l.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===Use)return l.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===Bse)return l.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return r===Dw?o?t.UNSIGNED_INT_24_8:(l=e.get("WEBGL_depth_texture"),l!==null?l.UNSIGNED_INT_24_8_WEBGL:null):t[r]!==void 0?t[r]:null}return{convert:i}}class IWe extends Iu{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}let UP=class extends Dl{constructor(){super(),this.isGroup=!0,this.type="Group"}};const m2t={type:"move"};class voe{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new UP,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new UP,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new ae,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new ae),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new UP,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new ae,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new ae),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const n=this._hand;if(n)for(const o of e.hand.values())this._getHandJoint(n,o)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,n,o){let i=null,r=null,a=null;const l=this._targetRay,s=this._grip,c=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(c&&e.hand){a=!0;for(const y of e.hand.values()){const A=n.getJointPose(y,o),x=this._getHandJoint(c,y);A!==null&&(x.matrix.fromArray(A.transform.matrix),x.matrix.decompose(x.position,x.rotation,x.scale),x.matrixWorldNeedsUpdate=!0,x.jointRadius=A.radius),x.visible=A!==null}const u=c.joints["index-finger-tip"],d=c.joints["thumb-tip"],f=u.position.distanceTo(d.position),p=.02,g=.005;c.inputState.pinching&&f>p+g?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&f<=p-g&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else s!==null&&e.gripSpace&&(r=n.getPose(e.gripSpace,o),r!==null&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1));l!==null&&(i=n.getPose(e.targetRaySpace,o),i===null&&r!==null&&(i=r),i!==null&&(l.matrix.fromArray(i.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,i.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(i.linearVelocity)):l.hasLinearVelocity=!1,i.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(i.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(m2t)))}return l!==null&&(l.visible=i!==null),s!==null&&(s.visible=r!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const o=new UP;o.matrixAutoUpdate=!1,o.visible=!1,e.joints[n.jointName]=o,e.add(o)}return e.joints[n.jointName]}}class l1e extends _c{constructor(e,n,o,i,r,a,l,s,c,u){if(u=u!==void 0?u:Ew,u!==Ew&&u!==Wx)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");o===void 0&&u===Ew&&(o=p6),o===void 0&&u===Wx&&(o=Dw),super(null,i,r,a,l,s,u,o,c),this.isDepthTexture=!0,this.image={width:e,height:n},this.magFilter=l!==void 0?l:F0,this.minFilter=s!==void 0?s:F0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const n=super.toJSON(e);return this.compareFunction!==null&&(n.compareFunction=this.compareFunction),n}}class y2t extends V9{constructor(e,n){super();const o=this;let i=null,r=1,a=null,l="local-floor",s=1,c=null,u=null,d=null,f=null,p=null,g=null;const y=n.getContextAttributes();let A=null,x=null;const C=[],b=[],v=new Iu;v.layers.enable(1),v.viewport=new ll;const S=new Iu;S.layers.enable(2),S.viewport=new ll;const w=[v,S],T=new IWe;T.layers.enable(1),T.layers.enable(2);let P=null,R=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(Y){let _=C[Y];return _===void 0&&(_=new voe,C[Y]=_),_.getTargetRaySpace()},this.getControllerGrip=function(Y){let _=C[Y];return _===void 0&&(_=new voe,C[Y]=_),_.getGripSpace()},this.getHand=function(Y){let _=C[Y];return _===void 0&&(_=new voe,C[Y]=_),_.getHandSpace()};function H(Y){const _=b.indexOf(Y.inputSource);if(_===-1)return;const J=C[_];J!==void 0&&(J.update(Y.inputSource,Y.frame,c||a),J.dispatchEvent({type:Y.type,data:Y.inputSource}))}function D(){i.removeEventListener("select",H),i.removeEventListener("selectstart",H),i.removeEventListener("selectend",H),i.removeEventListener("squeeze",H),i.removeEventListener("squeezestart",H),i.removeEventListener("squeezeend",H),i.removeEventListener("end",D),i.removeEventListener("inputsourceschange",E);for(let Y=0;Y=0&&(b[Q]=null,C[Q].disconnect(J))}for(let _=0;_=b.length){b.push(J),Q=$;break}else if(b[$]===null){b[$]=J,Q=$;break}if(Q===-1)break}const ee=C[Q];ee&&ee.connect(J)}}const L=new ae,U=new ae;function F(Y,_,J){L.setFromMatrixPosition(_.matrixWorld),U.setFromMatrixPosition(J.matrixWorld);const Q=L.distanceTo(U),ee=_.projectionMatrix.elements,$=J.projectionMatrix.elements,q=ee[14]/(ee[10]-1),le=ee[14]/(ee[10]+1),ie=(ee[9]+1)/ee[5],pe=(ee[9]-1)/ee[5],ne=(ee[8]-1)/ee[0],Z=($[8]+1)/$[0],he=q*ne,fe=q*Z,se=Q/(-ne+Z),oe=se*-ne;_.matrixWorld.decompose(Y.position,Y.quaternion,Y.scale),Y.translateX(oe),Y.translateZ(se),Y.matrixWorld.compose(Y.position,Y.quaternion,Y.scale),Y.matrixWorldInverse.copy(Y.matrixWorld).invert();const de=q+se,ve=le+se,Pe=he-oe,me=fe+(Q-oe),Re=ie*le/ve*de,ze=pe*le/ve*de;Y.projectionMatrix.makePerspective(Pe,me,Re,ze,de,ve),Y.projectionMatrixInverse.copy(Y.projectionMatrix).invert()}function W(Y,_){_===null?Y.matrixWorld.copy(Y.matrix):Y.matrixWorld.multiplyMatrices(_.matrixWorld,Y.matrix),Y.matrixWorldInverse.copy(Y.matrixWorld).invert()}this.updateCamera=function(Y){if(i===null)return;T.near=S.near=v.near=Y.near,T.far=S.far=v.far=Y.far,(P!==T.near||R!==T.far)&&(i.updateRenderState({depthNear:T.near,depthFar:T.far}),P=T.near,R=T.far);const _=Y.parent,J=T.cameras;W(T,_);for(let Q=0;Q0&&(A.alphaTest.value=x.alphaTest);const C=e.get(x).envMap;if(C&&(A.envMap.value=C,A.flipEnvMap.value=C.isCubeTexture&&C.isRenderTargetTexture===!1?-1:1,A.reflectivity.value=x.reflectivity,A.ior.value=x.ior,A.refractionRatio.value=x.refractionRatio),x.lightMap){A.lightMap.value=x.lightMap;const b=t._useLegacyLights===!0?Math.PI:1;A.lightMapIntensity.value=x.lightMapIntensity*b,n(x.lightMap,A.lightMapTransform)}x.aoMap&&(A.aoMap.value=x.aoMap,A.aoMapIntensity.value=x.aoMapIntensity,n(x.aoMap,A.aoMapTransform))}function a(A,x){A.diffuse.value.copy(x.color),A.opacity.value=x.opacity,x.map&&(A.map.value=x.map,n(x.map,A.mapTransform))}function l(A,x){A.dashSize.value=x.dashSize,A.totalSize.value=x.dashSize+x.gapSize,A.scale.value=x.scale}function s(A,x,C,b){A.diffuse.value.copy(x.color),A.opacity.value=x.opacity,A.size.value=x.size*C,A.scale.value=b*.5,x.map&&(A.map.value=x.map,n(x.map,A.uvTransform)),x.alphaMap&&(A.alphaMap.value=x.alphaMap,n(x.alphaMap,A.alphaMapTransform)),x.alphaTest>0&&(A.alphaTest.value=x.alphaTest)}function c(A,x){A.diffuse.value.copy(x.color),A.opacity.value=x.opacity,A.rotation.value=x.rotation,x.map&&(A.map.value=x.map,n(x.map,A.mapTransform)),x.alphaMap&&(A.alphaMap.value=x.alphaMap,n(x.alphaMap,A.alphaMapTransform)),x.alphaTest>0&&(A.alphaTest.value=x.alphaTest)}function u(A,x){A.specular.value.copy(x.specular),A.shininess.value=Math.max(x.shininess,1e-4)}function d(A,x){x.gradientMap&&(A.gradientMap.value=x.gradientMap)}function f(A,x){A.metalness.value=x.metalness,x.metalnessMap&&(A.metalnessMap.value=x.metalnessMap,n(x.metalnessMap,A.metalnessMapTransform)),A.roughness.value=x.roughness,x.roughnessMap&&(A.roughnessMap.value=x.roughnessMap,n(x.roughnessMap,A.roughnessMapTransform)),e.get(x).envMap&&(A.envMapIntensity.value=x.envMapIntensity)}function p(A,x,C){A.ior.value=x.ior,x.sheen>0&&(A.sheenColor.value.copy(x.sheenColor).multiplyScalar(x.sheen),A.sheenRoughness.value=x.sheenRoughness,x.sheenColorMap&&(A.sheenColorMap.value=x.sheenColorMap,n(x.sheenColorMap,A.sheenColorMapTransform)),x.sheenRoughnessMap&&(A.sheenRoughnessMap.value=x.sheenRoughnessMap,n(x.sheenRoughnessMap,A.sheenRoughnessMapTransform))),x.clearcoat>0&&(A.clearcoat.value=x.clearcoat,A.clearcoatRoughness.value=x.clearcoatRoughness,x.clearcoatMap&&(A.clearcoatMap.value=x.clearcoatMap,n(x.clearcoatMap,A.clearcoatMapTransform)),x.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=x.clearcoatRoughnessMap,n(x.clearcoatRoughnessMap,A.clearcoatRoughnessMapTransform)),x.clearcoatNormalMap&&(A.clearcoatNormalMap.value=x.clearcoatNormalMap,n(x.clearcoatNormalMap,A.clearcoatNormalMapTransform),A.clearcoatNormalScale.value.copy(x.clearcoatNormalScale),x.side===p0&&A.clearcoatNormalScale.value.negate())),x.iridescence>0&&(A.iridescence.value=x.iridescence,A.iridescenceIOR.value=x.iridescenceIOR,A.iridescenceThicknessMinimum.value=x.iridescenceThicknessRange[0],A.iridescenceThicknessMaximum.value=x.iridescenceThicknessRange[1],x.iridescenceMap&&(A.iridescenceMap.value=x.iridescenceMap,n(x.iridescenceMap,A.iridescenceMapTransform)),x.iridescenceThicknessMap&&(A.iridescenceThicknessMap.value=x.iridescenceThicknessMap,n(x.iridescenceThicknessMap,A.iridescenceThicknessMapTransform))),x.transmission>0&&(A.transmission.value=x.transmission,A.transmissionSamplerMap.value=C.texture,A.transmissionSamplerSize.value.set(C.width,C.height),x.transmissionMap&&(A.transmissionMap.value=x.transmissionMap,n(x.transmissionMap,A.transmissionMapTransform)),A.thickness.value=x.thickness,x.thicknessMap&&(A.thicknessMap.value=x.thicknessMap,n(x.thicknessMap,A.thicknessMapTransform)),A.attenuationDistance.value=x.attenuationDistance,A.attenuationColor.value.copy(x.attenuationColor)),x.anisotropy>0&&(A.anisotropyVector.value.set(x.anisotropy*Math.cos(x.anisotropyRotation),x.anisotropy*Math.sin(x.anisotropyRotation)),x.anisotropyMap&&(A.anisotropyMap.value=x.anisotropyMap,n(x.anisotropyMap,A.anisotropyMapTransform))),A.specularIntensity.value=x.specularIntensity,A.specularColor.value.copy(x.specularColor),x.specularColorMap&&(A.specularColorMap.value=x.specularColorMap,n(x.specularColorMap,A.specularColorMapTransform)),x.specularIntensityMap&&(A.specularIntensityMap.value=x.specularIntensityMap,n(x.specularIntensityMap,A.specularIntensityMapTransform))}function g(A,x){x.matcap&&(A.matcap.value=x.matcap)}function y(A,x){const C=e.get(x).light;A.referencePosition.value.setFromMatrixPosition(C.matrixWorld),A.nearDistance.value=C.shadow.camera.near,A.farDistance.value=C.shadow.camera.far}return{refreshFogUniforms:o,refreshMaterialUniforms:i}}function w2t(t,e,n,o){let i={},r={},a=[];const l=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function s(C,b){const v=b.program;o.uniformBlockBinding(C,v)}function c(C,b){let v=i[C.id];v===void 0&&(g(C),v=u(C),i[C.id]=v,C.addEventListener("dispose",A));const S=b.program;o.updateUBOMapping(C,S);const w=e.render.frame;r[C.id]!==w&&(f(C),r[C.id]=w)}function u(C){const b=d();C.__bindingPointIndex=b;const v=t.createBuffer(),S=C.__size,w=C.usage;return t.bindBuffer(t.UNIFORM_BUFFER,v),t.bufferData(t.UNIFORM_BUFFER,S,w),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,b,v),v}function d(){for(let C=0;C0){w=v%S;const E=S-w;w!==0&&E-H.boundary<0&&(v+=S-w,R.__offset=v)}v+=H.storage}return w=v%S,w>0&&(v+=S-w),C.__size=v,C.__cache={},this}function y(C){const b={boundary:0,storage:0};return typeof C=="number"?(b.boundary=4,b.storage=4):C.isVector2?(b.boundary=8,b.storage=8):C.isVector3||C.isColor?(b.boundary=16,b.storage=12):C.isVector4?(b.boundary=16,b.storage=16):C.isMatrix3?(b.boundary=48,b.storage=48):C.isMatrix4?(b.boundary=64,b.storage=64):C.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",C),b}function A(C){const b=C.target;b.removeEventListener("dispose",A);const v=a.indexOf(b.__bindingPointIndex);a.splice(v,1),t.deleteBuffer(i[b.id]),delete i[b.id],delete r[b.id]}function x(){for(const C in i)t.deleteBuffer(i[C]);a=[],i={},r={}}return{bind:s,update:c,dispose:x}}class s1e{constructor(e={}){const{canvas:n=AWe(),context:o=null,depth:i=!0,stencil:r=!0,alpha:a=!1,antialias:l=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let f;o!==null?f=o.getContextAttributes().alpha:f=a;const p=new Uint32Array(4),g=new Int32Array(4);let y=null,A=null;const x=[],C=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=nu,this._useLegacyLights=!1,this.toneMapping=g9,this.toneMappingExposure=1;const b=this;let v=!1,S=0,w=0,T=null,P=-1,R=null;const H=new ll,D=new ll;let E=null;const L=new Xo(0);let U=0,F=n.width,W=n.height,B=1,k=null,N=null;const j=new ll(0,0,F,W),Y=new ll(0,0,F,W);let _=!1;const J=new FK;let Q=!1,ee=!1,$=null;const q=new Xr,le=new Gt,ie=new ae,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function ne(){return T===null?B:1}let Z=o;function he(Xe,ht){for(let Je=0;Je{function xt(){if(mt.forEach(function(It){ve.get(It).currentProgram.isReady()&&mt.delete(It)}),mt.size===0){Ge(Xe);return}setTimeout(xt,10)}fe.get("KHR_parallel_shader_compile")!==null?xt():setTimeout(xt,10)})};let wt=null;function rt(Xe){wt&&wt(Xe)}function Qe(){et.stop()}function Oe(){et.start()}const et=new TWe;et.setAnimationLoop(rt),typeof self<"u"&&et.setContext(self),this.setAnimationLoop=function(Xe){wt=Xe,_e.setAnimationLoop(Xe),Xe===null?et.stop():et.start()},_e.addEventListener("sessionstart",Qe),_e.addEventListener("sessionend",Oe),this.render=function(Xe,ht){if(ht!==void 0&&ht.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(v===!0)return;Xe.matrixWorldAutoUpdate===!0&&Xe.updateMatrixWorld(),ht.parent===null&&ht.matrixWorldAutoUpdate===!0&&ht.updateMatrixWorld(),_e.enabled===!0&&_e.isPresenting===!0&&(_e.cameraAutoUpdate===!0&&_e.updateCamera(ht),ht=_e.getCamera()),Xe.isScene===!0&&Xe.onBeforeRender(b,Xe,ht,T),A=Te.get(Xe,C.length),A.init(),C.push(A),q.multiplyMatrices(ht.projectionMatrix,ht.matrixWorldInverse),J.setFromProjectionMatrix(q),ee=this.localClippingEnabled,Q=Ie.init(this.clippingPlanes,ee),y=ye.get(Xe,x.length),y.init(),x.push(y),vt(Xe,ht,0,b.sortObjects),y.finish(),b.sortObjects===!0&&y.sort(k,N),this.info.render.frame++,Q===!0&&Ie.beginShadows();const Je=A.state.shadowsArray;if(Ce.render(Je,Xe,ht),Q===!0&&Ie.endShadows(),this.info.autoReset===!0&&this.info.reset(),Ee.render(y,Xe),A.setupLights(b._useLegacyLights),ht.isArrayCamera){const mt=ht.cameras;for(let Ge=0,xt=mt.length;Ge0?A=C[C.length-1]:A=null,x.pop(),x.length>0?y=x[x.length-1]:y=null};function vt(Xe,ht,Je,mt){if(Xe.visible===!1)return;if(Xe.layers.test(ht.layers)){if(Xe.isGroup)Je=Xe.renderOrder;else if(Xe.isLOD)Xe.autoUpdate===!0&&Xe.update(ht);else if(Xe.isLight)A.pushLight(Xe),Xe.castShadow&&A.pushShadow(Xe);else if(Xe.isSprite){if(!Xe.frustumCulled||J.intersectsSprite(Xe)){mt&&ie.setFromMatrixPosition(Xe.matrixWorld).applyMatrix4(q);const It=re.update(Xe),Tt=Xe.material;Tt.visible&&y.push(Xe,It,Tt,Je,ie.z,null)}}else if((Xe.isMesh||Xe.isLine||Xe.isPoints)&&(!Xe.frustumCulled||J.intersectsObject(Xe))){const It=re.update(Xe),Tt=Xe.material;if(mt&&(Xe.boundingSphere!==void 0?(Xe.boundingSphere===null&&Xe.computeBoundingSphere(),ie.copy(Xe.boundingSphere.center)):(It.boundingSphere===null&&It.computeBoundingSphere(),ie.copy(It.boundingSphere.center)),ie.applyMatrix4(Xe.matrixWorld).applyMatrix4(q)),Array.isArray(Tt)){const Dt=It.groups;for(let Lt=0,Et=Dt.length;Lt0&<(Ge,xt,ht,Je),mt&&oe.viewport(H.copy(mt)),Ge.length>0&&tt(Ge,ht,Je),xt.length>0&&tt(xt,ht,Je),It.length>0&&tt(It,ht,Je),oe.buffers.depth.setTest(!0),oe.buffers.depth.setMask(!0),oe.buffers.color.setMask(!0),oe.setPolygonOffset(!1)}function lt(Xe,ht,Je,mt){if((Je.isScene===!0?Je.overrideMaterial:null)!==null)return;const xt=se.isWebGL2;$===null&&($=new _m(1,1,{generateMipmaps:!0,type:fe.has("EXT_color_buffer_half_float")?Lx:m9,minFilter:Xw,samples:xt?4:0})),b.getDrawingBufferSize(le),xt?$.setSize(le.x,le.y):$.setSize(jV(le.x),jV(le.y));const It=b.getRenderTarget();b.setRenderTarget($),b.getClearColor(L),U=b.getClearAlpha(),U<1&&b.setClearColor(16777215,.5),b.clear();const Tt=b.toneMapping;b.toneMapping=g9,tt(Xe,Je,mt),Pe.updateMultisampleRenderTarget($),Pe.updateRenderTargetMipmap($);let Dt=!1;for(let Lt=0,Et=ht.length;Lt0),an=!!Je.morphAttributes.position,Jt=!!Je.morphAttributes.normal,hn=!!Je.morphAttributes.color;let cn=g9;mt.toneMapped&&(T===null||T.isXRRenderTarget===!0)&&(cn=b.toneMapping);const Sn=Je.morphAttributes.position||Je.morphAttributes.normal||Je.morphAttributes.color,Pn=Sn!==void 0?Sn.length:0,Un=ve.get(mt),Ai=A.state.lights;if(Q===!0&&(ee===!0||Xe!==R)){const vi=Xe===R&&mt.id===P;Ie.setState(mt,Xe,vi)}let vo=!1;mt.version===Un.__version?(Un.needsLights&&Un.lightsStateVersion!==Ai.state.version||Un.outputColorSpace!==Tt||Ge.isInstancedMesh&&Un.instancing===!1||!Ge.isInstancedMesh&&Un.instancing===!0||Ge.isSkinnedMesh&&Un.skinning===!1||!Ge.isSkinnedMesh&&Un.skinning===!0||Ge.isInstancedMesh&&Un.instancingColor===!0&&Ge.instanceColor===null||Ge.isInstancedMesh&&Un.instancingColor===!1&&Ge.instanceColor!==null||Un.envMap!==Dt||mt.fog===!0&&Un.fog!==xt||Un.numClippingPlanes!==void 0&&(Un.numClippingPlanes!==Ie.numPlanes||Un.numIntersection!==Ie.numIntersection)||Un.vertexAlphas!==Lt||Un.vertexTangents!==Et||Un.morphTargets!==an||Un.morphNormals!==Jt||Un.morphColors!==hn||Un.toneMapping!==cn||se.isWebGL2===!0&&Un.morphTargetsCount!==Pn)&&(vo=!0):(vo=!0,Un.__version=mt.version);let Oo=Un.currentProgram;vo===!0&&(Oo=At(mt,ht,Ge));let li=!1,po=!1,eo=!1;const uo=Oo.getUniforms(),qo=Un.uniforms;if(oe.useProgram(Oo.program)&&(li=!0,po=!0,eo=!0),mt.id!==P&&(P=mt.id,po=!0),li||R!==Xe){uo.setValue(Z,"projectionMatrix",Xe.projectionMatrix),uo.setValue(Z,"viewMatrix",Xe.matrixWorldInverse);const vi=uo.map.cameraPosition;vi!==void 0&&vi.setValue(Z,ie.setFromMatrixPosition(Xe.matrixWorld)),se.logarithmicDepthBuffer&&uo.setValue(Z,"logDepthBufFC",2/(Math.log(Xe.far+1)/Math.LN2)),(mt.isMeshPhongMaterial||mt.isMeshToonMaterial||mt.isMeshLambertMaterial||mt.isMeshBasicMaterial||mt.isMeshStandardMaterial||mt.isShaderMaterial)&&uo.setValue(Z,"isOrthographic",Xe.isOrthographicCamera===!0),R!==Xe&&(R=Xe,po=!0,eo=!0)}if(Ge.isSkinnedMesh){uo.setOptional(Z,Ge,"bindMatrix"),uo.setOptional(Z,Ge,"bindMatrixInverse");const vi=Ge.skeleton;vi&&(se.floatVertexTextures?(vi.boneTexture===null&&vi.computeBoneTexture(),uo.setValue(Z,"boneTexture",vi.boneTexture,Pe),uo.setValue(Z,"boneTextureSize",vi.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const Hi=Je.morphAttributes;if((Hi.position!==void 0||Hi.normal!==void 0||Hi.color!==void 0&&se.isWebGL2===!0)&&Ue.update(Ge,Je,Oo),(po||Un.receiveShadow!==Ge.receiveShadow)&&(Un.receiveShadow=Ge.receiveShadow,uo.setValue(Z,"receiveShadow",Ge.receiveShadow)),mt.isMeshGouraudMaterial&&mt.envMap!==null&&(qo.envMap.value=Dt,qo.flipEnvMap.value=Dt.isCubeTexture&&Dt.isRenderTargetTexture===!1?-1:1),po&&(uo.setValue(Z,"toneMappingExposure",b.toneMappingExposure),Un.needsLights&&Rt(qo,eo),xt&&mt.fog===!0&&we.refreshFogUniforms(qo,xt),we.refreshMaterialUniforms(qo,mt,B,W,$),y_.upload(Z,Mt(Un),qo,Pe)),mt.isShaderMaterial&&mt.uniformsNeedUpdate===!0&&(y_.upload(Z,Mt(Un),qo,Pe),mt.uniformsNeedUpdate=!1),mt.isSpriteMaterial&&uo.setValue(Z,"center",Ge.center),uo.setValue(Z,"modelViewMatrix",Ge.modelViewMatrix),uo.setValue(Z,"normalMatrix",Ge.normalMatrix),uo.setValue(Z,"modelMatrix",Ge.matrixWorld),mt.isShaderMaterial||mt.isRawShaderMaterial){const vi=mt.uniformsGroups;for(let Cn=0,yn=vi.length;Cn0&&Pe.useMultisampledRTT(Xe)===!1?Ge=ve.get(Xe).__webglMultisampledFramebuffer:Array.isArray(Et)?Ge=Et[Je]:Ge=Et,H.copy(Xe.viewport),D.copy(Xe.scissor),E=Xe.scissorTest}else H.copy(j).multiplyScalar(B).floor(),D.copy(Y).multiplyScalar(B).floor(),E=_;if(oe.bindFramebuffer(Z.FRAMEBUFFER,Ge)&&se.drawBuffers&&mt&&oe.drawBuffers(Xe,Ge),oe.viewport(H),oe.scissor(D),oe.setScissorTest(E),xt){const Dt=ve.get(Xe.texture);Z.framebufferTexture2D(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Z.TEXTURE_CUBE_MAP_POSITIVE_X+ht,Dt.__webglTexture,Je)}else if(It){const Dt=ve.get(Xe.texture),Lt=ht||0;Z.framebufferTextureLayer(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Dt.__webglTexture,Je||0,Lt)}P=-1},this.readRenderTargetPixels=function(Xe,ht,Je,mt,Ge,xt,It){if(!(Xe&&Xe.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Tt=ve.get(Xe).__webglFramebuffer;if(Xe.isWebGLCubeRenderTarget&&It!==void 0&&(Tt=Tt[It]),Tt){oe.bindFramebuffer(Z.FRAMEBUFFER,Tt);try{const Dt=Xe.texture,Lt=Dt.format,Et=Dt.type;if(Lt!==kp&&qe.convert(Lt)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const an=Et===Lx&&(fe.has("EXT_color_buffer_half_float")||se.isWebGL2&&fe.has("EXT_color_buffer_float"));if(Et!==m9&&qe.convert(Et)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_TYPE)&&!(Et===h2&&(se.isWebGL2||fe.has("OES_texture_float")||fe.has("WEBGL_color_buffer_float")))&&!an){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ht>=0&&ht<=Xe.width-mt&&Je>=0&&Je<=Xe.height-Ge&&Z.readPixels(ht,Je,mt,Ge,qe.convert(Lt),qe.convert(Et),xt)}finally{const Dt=T!==null?ve.get(T).__webglFramebuffer:null;oe.bindFramebuffer(Z.FRAMEBUFFER,Dt)}}},this.copyFramebufferToTexture=function(Xe,ht,Je=0){const mt=Math.pow(2,-Je),Ge=Math.floor(ht.image.width*mt),xt=Math.floor(ht.image.height*mt);Pe.setTexture2D(ht,0),Z.copyTexSubImage2D(Z.TEXTURE_2D,Je,0,0,Xe.x,Xe.y,Ge,xt),oe.unbindTexture()},this.copyTextureToTexture=function(Xe,ht,Je,mt=0){const Ge=ht.image.width,xt=ht.image.height,It=qe.convert(Je.format),Tt=qe.convert(Je.type);Pe.setTexture2D(Je,0),Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,Je.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Je.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,Je.unpackAlignment),ht.isDataTexture?Z.texSubImage2D(Z.TEXTURE_2D,mt,Xe.x,Xe.y,Ge,xt,It,Tt,ht.image.data):ht.isCompressedTexture?Z.compressedTexSubImage2D(Z.TEXTURE_2D,mt,Xe.x,Xe.y,ht.mipmaps[0].width,ht.mipmaps[0].height,It,ht.mipmaps[0].data):Z.texSubImage2D(Z.TEXTURE_2D,mt,Xe.x,Xe.y,It,Tt,ht.image),mt===0&&Je.generateMipmaps&&Z.generateMipmap(Z.TEXTURE_2D),oe.unbindTexture()},this.copyTextureToTexture3D=function(Xe,ht,Je,mt,Ge=0){if(b.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const xt=Xe.max.x-Xe.min.x+1,It=Xe.max.y-Xe.min.y+1,Tt=Xe.max.z-Xe.min.z+1,Dt=qe.convert(mt.format),Lt=qe.convert(mt.type);let Et;if(mt.isData3DTexture)Pe.setTexture3D(mt,0),Et=Z.TEXTURE_3D;else if(mt.isDataArrayTexture)Pe.setTexture2DArray(mt,0),Et=Z.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,mt.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,mt.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,mt.unpackAlignment);const an=Z.getParameter(Z.UNPACK_ROW_LENGTH),Jt=Z.getParameter(Z.UNPACK_IMAGE_HEIGHT),hn=Z.getParameter(Z.UNPACK_SKIP_PIXELS),cn=Z.getParameter(Z.UNPACK_SKIP_ROWS),Sn=Z.getParameter(Z.UNPACK_SKIP_IMAGES),Pn=Je.isCompressedTexture?Je.mipmaps[0]:Je.image;Z.pixelStorei(Z.UNPACK_ROW_LENGTH,Pn.width),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,Pn.height),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,Xe.min.x),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,Xe.min.y),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,Xe.min.z),Je.isDataTexture||Je.isData3DTexture?Z.texSubImage3D(Et,Ge,ht.x,ht.y,ht.z,xt,It,Tt,Dt,Lt,Pn.data):Je.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Z.compressedTexSubImage3D(Et,Ge,ht.x,ht.y,ht.z,xt,It,Tt,Dt,Pn.data)):Z.texSubImage3D(Et,Ge,ht.x,ht.y,ht.z,xt,It,Tt,Dt,Lt,Pn),Z.pixelStorei(Z.UNPACK_ROW_LENGTH,an),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,Jt),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,hn),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,cn),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,Sn),Ge===0&&mt.generateMipmaps&&Z.generateMipmap(Et),oe.unbindTexture()},this.initTexture=function(Xe){Xe.isCubeTexture?Pe.setTextureCube(Xe,0):Xe.isData3DTexture?Pe.setTexture3D(Xe,0):Xe.isDataArrayTexture||Xe.isCompressedArrayTexture?Pe.setTexture2DArray(Xe,0):Pe.setTexture2D(Xe,0),oe.unbindTexture()},this.resetState=function(){S=0,w=0,T=null,oe.reset(),We.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return a9}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===EK?"display-p3":"srgb",n.unpackColorSpace=rs.workingColorSpace===UL?"display-p3":"srgb"}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===nu?kw:Zpe}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===kw?nu:R9}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class zWe extends s1e{}zWe.prototype.isWebGL1Renderer=!0;class UK{constructor(e,n=25e-5){this.isFogExp2=!0,this.name="",this.color=new Xo(e),this.density=n}clone(){return new UK(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class BK{constructor(e,n=1,o=1e3){this.isFog=!0,this.name="",this.color=new Xo(e),this.near=n,this.far=o}clone(){return new BK(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class YV extends Dl{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n}}class jK{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=vk,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=yg()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,n,o){e*=this.stride,o*=n.stride;for(let i=0,r=this.stride;ie.far||n.push({distance:s,point:lz.clone(),uv:th.getInterpolation(lz,wj,cz,vj,A4e,xoe,w4e,new Gt),face:null,object:this})}copy(e,n){return super.copy(e,n),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function xj(t,e,n,o,i,r){fT.subVectors(t,n).addScalar(.5).multiply(o),i!==void 0?(sz.x=r*fT.x-i*fT.y,sz.y=i*fT.x+r*fT.y):sz.copy(fT),t.copy(e),t.x+=sz.x,t.y+=sz.y,t.applyMatrix4(DWe)}const bj=new ae,v4e=new ae;class EWe extends Dl{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const n=e.levels;for(let o=0,i=n.length;o0){let o,i;for(o=1,i=n.length;o0){bj.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(bj);this.getObjectForDistance(i).raycast(e,n)}}update(e){const n=this.levels;if(n.length>1){bj.setFromMatrixPosition(e.matrixWorld),v4e.setFromMatrixPosition(this.matrixWorld);const o=bj.distanceTo(v4e)/e.zoom;n[0].object.visible=!0;let i,r;for(i=1,r=n.length;i=a)n[i-1].object.visible=!1,n[i].object.visible=!0;else break}for(this._currentLevel=i-1;is)continue;f.applyMatrix4(this.matrixWorld);const P=e.ray.origin.distanceTo(f);Pe.far||n.push({distance:P,point:d.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}else{const x=Math.max(0,a.start),C=Math.min(A.count,a.start+a.count);for(let b=x,v=C-1;bs)continue;f.applyMatrix4(this.matrixWorld);const w=e.ray.origin.distanceTo(f);we.far||n.push({distance:w,point:d.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const n=this.geometry.morphAttributes,o=Object.keys(n);if(o.length>0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;r0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;ri.far)return;r.push({distance:c,distanceToRay:Math.sqrt(l),point:s,index:e,face:null,object:a})}}class S2t extends _c{constructor(e,n,o,i,r,a,l,s,c){super(e,n,o,i,r,a,l,s,c),this.isVideoTexture=!0,this.minFilter=a!==void 0?a:js,this.magFilter=r!==void 0?r:js,this.generateMipmaps=!1;const u=this;function d(){u.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class T2t extends _c{constructor(e,n){super({width:e,height:n}),this.isFramebufferTexture=!0,this.magFilter=F0,this.minFilter=F0,this.generateMipmaps=!1,this.needsUpdate=!0}}class _K extends _c{constructor(e,n,o,i,r,a,l,s,c,u,d,f){super(null,a,l,s,c,u,i,r,d,f),this.isCompressedTexture=!0,this.image={width:n,height:o},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class P2t extends _K{constructor(e,n,o,i,r,a){super(e,n,o,r,a),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=ah}}class C2t extends _K{constructor(e,n,o){super(void 0,e[0].width,e[0].height,n,o,j6),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class BP extends _c{constructor(e,n,o,i,r,a,l,s,c){super(e,n,o,i,r,a,l,s,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}let V2=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,n){const o=this.getUtoTmapping(e);return this.getPoint(o,n)}getPoints(e=5){const n=[];for(let o=0;o<=e;o++)n.push(this.getPoint(o/e));return n}getSpacedPoints(e=5){const n=[];for(let o=0;o<=e;o++)n.push(this.getPointAt(o/e));return n}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const n=[];let o,i=this.getPoint(0),r=0;n.push(0);for(let a=1;a<=e;a++)o=this.getPoint(a/e),r+=o.distanceTo(i),n.push(r),i=o;return this.cacheArcLengths=n,n}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,n){const o=this.getLengths();let i=0;const r=o.length;let a;n?a=n:a=e*o[r-1];let l=0,s=r-1,c;for(;l<=s;)if(i=Math.floor(l+(s-l)/2),c=o[i]-a,c<0)l=i+1;else if(c>0)s=i-1;else{s=i;break}if(i=s,o[i]===a)return i/(r-1);const u=o[i],f=o[i+1]-u,p=(a-u)/f;return(i+p)/(r-1)}getTangent(e,n){let i=e-1e-4,r=e+1e-4;i<0&&(i=0),r>1&&(r=1);const a=this.getPoint(i),l=this.getPoint(r),s=n||(a.isVector2?new Gt:new ae);return s.copy(l).sub(a).normalize(),s}getTangentAt(e,n){const o=this.getUtoTmapping(e);return this.getTangent(o,n)}computeFrenetFrames(e,n){const o=new ae,i=[],r=[],a=[],l=new ae,s=new Xr;for(let p=0;p<=e;p++){const g=p/e;i[p]=this.getTangentAt(g,new ae)}r[0]=new ae,a[0]=new ae;let c=Number.MAX_VALUE;const u=Math.abs(i[0].x),d=Math.abs(i[0].y),f=Math.abs(i[0].z);u<=c&&(c=u,o.set(1,0,0)),d<=c&&(c=d,o.set(0,1,0)),f<=c&&o.set(0,0,1),l.crossVectors(i[0],o).normalize(),r[0].crossVectors(i[0],l),a[0].crossVectors(i[0],r[0]);for(let p=1;p<=e;p++){if(r[p]=r[p-1].clone(),a[p]=a[p-1].clone(),l.crossVectors(i[p-1],i[p]),l.length()>Number.EPSILON){l.normalize();const g=Math.acos(h0(i[p-1].dot(i[p]),-1,1));r[p].applyMatrix4(s.makeRotationAxis(l,g))}a[p].crossVectors(i[p],r[p])}if(n===!0){let p=Math.acos(h0(r[0].dot(r[e]),-1,1));p/=e,i[0].dot(l.crossVectors(r[0],r[e]))>0&&(p=-p);for(let g=1;g<=e;g++)r[g].applyMatrix4(s.makeRotationAxis(i[g],p*g)),a[g].crossVectors(i[g],r[g])}return{tangents:i,normals:r,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}};class P2 extends V2{constructor(e=0,n=0,o=1,i=1,r=0,a=Math.PI*2,l=!1,s=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=n,this.xRadius=o,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=a,this.aClockwise=l,this.aRotation=s}getPoint(e,n){const o=n||new Gt,i=Math.PI*2;let r=this.aEndAngle-this.aStartAngle;const a=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(l)/r)+1)*r:s===0&&l===r-1&&(l=r-2,s=1);let c,u;this.closed||l>0?c=i[(l-1)%r]:(Hj.subVectors(i[0],i[1]).add(i[0]),c=Hj);const d=i[l%r],f=i[(l+1)%r];if(this.closed||l+2i.length-2?i.length-1:a+1],d=i[a>i.length-3?i.length-1:a+2];return o.set(L4e(l,s.x,c.x,u.x,d.x),L4e(l,s.y,c.y,u.y,d.y)),o}copy(e){super.copy(e),this.points=[];for(let n=0,o=e.points.length;n=o){const a=i[r]-o,l=this.curves[r],s=l.getLength(),c=s===0?0:1-a/s;return l.getPointAt(c,n)}r++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let n=0;for(let o=0,i=this.curves.length;o1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}copy(e){super.copy(e),this.curves=[];for(let n=0,o=e.curves.length;n0){const d=c.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(c);const u=c.getPoint(1);return this.currentPoint.copy(u),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}};class OL extends Ur{constructor(e=[new Gt(0,-.5),new Gt(.5,0),new Gt(0,.5)],n=12,o=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:n,phiStart:o,phiLength:i},n=Math.floor(n),i=h0(i,0,Math.PI*2);const r=[],a=[],l=[],s=[],c=[],u=1/n,d=new ae,f=new Gt,p=new ae,g=new ae,y=new ae;let A=0,x=0;for(let C=0;C<=e.length-1;C++)switch(C){case 0:A=e[C+1].x-e[C].x,x=e[C+1].y-e[C].y,p.x=x*1,p.y=-A,p.z=x*0,y.copy(p),p.normalize(),s.push(p.x,p.y,p.z);break;case e.length-1:s.push(y.x,y.y,y.z);break;default:A=e[C+1].x-e[C].x,x=e[C+1].y-e[C].y,p.x=x*1,p.y=-A,p.z=x*0,g.copy(p),p.x+=y.x,p.y+=y.y,p.z+=y.z,p.normalize(),s.push(p.x,p.y,p.z),y.copy(g)}for(let C=0;C<=n;C++){const b=o+C*u*i,v=Math.sin(b),S=Math.cos(b);for(let w=0;w<=e.length-1;w++){d.x=e[w].x*v,d.y=e[w].y,d.z=e[w].x*S,a.push(d.x,d.y,d.z),f.x=C/n,f.y=w/(e.length-1),l.push(f.x,f.y);const T=s[3*w+0]*v,P=s[3*w+1],R=s[3*w+0]*S;c.push(T,P,R)}}for(let C=0;C0&&b(!0),n>0&&b(!1)),this.setIndex(u),this.setAttribute("position",new hi(d,3)),this.setAttribute("normal",new hi(f,3)),this.setAttribute("uv",new hi(p,2));function C(){const v=new ae,S=new ae;let w=0;const T=(n-e)/o;for(let P=0;P<=r;P++){const R=[],H=P/r,D=H*(n-e)+e;for(let E=0;E<=i;E++){const L=E/i,U=L*s+l,F=Math.sin(U),W=Math.cos(U);S.x=D*F,S.y=-H*o+A,S.z=D*W,d.push(S.x,S.y,S.z),v.set(F,T,W).normalize(),f.push(v.x,v.y,v.z),p.push(L,1-H),R.push(g++)}y.push(R)}for(let P=0;P.9&&T<.1&&(b<.2&&(a[C+0]+=1),v<.2&&(a[C+2]+=1),S<.2&&(a[C+4]+=1))}}function f(C){r.push(C.x,C.y,C.z)}function p(C,b){const v=C*3;b.x=e[v+0],b.y=e[v+1],b.z=e[v+2]}function g(){const C=new ae,b=new ae,v=new ae,S=new ae,w=new Gt,T=new Gt,P=new Gt;for(let R=0,H=0;R80*n){l=c=t[0],s=u=t[1];for(let g=n;gc&&(c=d),f>u&&(u=f);p=Math.max(c-l,u-s),p=p!==0?32767/p:0}return Pk(r,a,n,l,s,p,0),a}};function OWe(t,e,n,o,i){let r,a;if(i===q2t(t,e,n,o)>0)for(r=e;r=e;r-=o)a=W4e(r,t[r],t[r+1],a);return a&&$K(a,a.next)&&(Rk(a),a=a.next),a}function Ux(t,e){if(!t)return t;e||(e=t);let n=t,o;do if(o=!1,!n.steiner&&($K(n,n.next)||n0(n.prev,n,n.next)===0)){if(Rk(n),n=e=n.prev,n===n.next)break;o=!0}else n=n.next;while(o||n!==e);return e}function Pk(t,e,n,o,i,r,a){if(!t)return;!a&&r&&_2t(t,o,i,r);let l=t,s,c;for(;t.prev!==t.next;){if(s=t.prev,c=t.next,r?L2t(t,o,i,r):F2t(t)){e.push(s.i/n|0),e.push(t.i/n|0),e.push(c.i/n|0),Rk(t),t=c.next,l=c.next;continue}if(t=c,t===l){a?a===1?(t=W2t(Ux(t),e,n),Pk(t,e,n,o,i,r,2)):a===2&&N2t(t,e,n,o,i,r):Pk(Ux(t),e,n,o,i,r,1);break}}}function F2t(t){const e=t.prev,n=t,o=t.next;if(n0(e,n,o)>=0)return!1;const i=e.x,r=n.x,a=o.x,l=e.y,s=n.y,c=o.y,u=ir?i>a?i:a:r>a?r:a,p=l>s?l>c?l:c:s>c?s:c;let g=o.next;for(;g!==e;){if(g.x>=u&&g.x<=f&&g.y>=d&&g.y<=p&&jP(i,l,r,s,a,c,g.x,g.y)&&n0(g.prev,g,g.next)>=0)return!1;g=g.next}return!0}function L2t(t,e,n,o){const i=t.prev,r=t,a=t.next;if(n0(i,r,a)>=0)return!1;const l=i.x,s=r.x,c=a.x,u=i.y,d=r.y,f=a.y,p=ls?l>c?l:c:s>c?s:c,A=u>d?u>f?u:f:d>f?d:f,x=Xse(p,g,e,n,o),C=Xse(y,A,e,n,o);let b=t.prevZ,v=t.nextZ;for(;b&&b.z>=x&&v&&v.z<=C;){if(b.x>=p&&b.x<=y&&b.y>=g&&b.y<=A&&b!==i&&b!==a&&jP(l,u,s,d,c,f,b.x,b.y)&&n0(b.prev,b,b.next)>=0||(b=b.prevZ,v.x>=p&&v.x<=y&&v.y>=g&&v.y<=A&&v!==i&&v!==a&&jP(l,u,s,d,c,f,v.x,v.y)&&n0(v.prev,v,v.next)>=0))return!1;v=v.nextZ}for(;b&&b.z>=x;){if(b.x>=p&&b.x<=y&&b.y>=g&&b.y<=A&&b!==i&&b!==a&&jP(l,u,s,d,c,f,b.x,b.y)&&n0(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;v&&v.z<=C;){if(v.x>=p&&v.x<=y&&v.y>=g&&v.y<=A&&v!==i&&v!==a&&jP(l,u,s,d,c,f,v.x,v.y)&&n0(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function W2t(t,e,n){let o=t;do{const i=o.prev,r=o.next.next;!$K(i,r)&&_We(i,o,o.next,r)&&Ck(i,r)&&Ck(r,i)&&(e.push(i.i/n|0),e.push(o.i/n|0),e.push(r.i/n|0),Rk(o),Rk(o.next),o=t=r),o=o.next}while(o!==t);return Ux(o)}function N2t(t,e,n,o,i,r){let a=t;do{let l=a.next.next;for(;l!==a.prev;){if(a.i!==l.i&&X2t(a,l)){let s=VWe(a,l);a=Ux(a,a.next),s=Ux(s,s.next),Pk(a,e,n,o,i,r,0),Pk(s,e,n,o,i,r,0);return}l=l.next}a=a.next}while(a!==t)}function U2t(t,e,n,o){const i=[];let r,a,l,s,c;for(r=0,a=e.length;r=n.next.y&&n.next.y!==n.y){const f=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(f<=r&&f>o&&(o=f,i=n.x=n.x&&n.x>=s&&r!==n.x&&jP(ai.x||n.x===i.x&&O2t(i,n)))&&(i=n,u=d)),n=n.next;while(n!==l);return i}function O2t(t,e){return n0(t.prev,t,e.prev)<0&&n0(e.next,t,t.next)<0}function _2t(t,e,n,o){let i=t;do i.z===0&&(i.z=Xse(i.x,i.y,e,n,o)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,V2t(i)}function V2t(t){let e,n,o,i,r,a,l,s,c=1;do{for(n=t,t=null,r=null,a=0;n;){for(a++,o=n,l=0,e=0;e0||s>0&&o;)l!==0&&(s===0||!o||n.z<=o.z)?(i=n,n=n.nextZ,l--):(i=o,o=o.nextZ,s--),r?r.nextZ=i:t=i,i.prevZ=r,r=i;n=o}r.nextZ=null,c*=2}while(a>1);return t}function Xse(t,e,n,o,i){return t=(t-n)*i|0,e=(e-o)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function G2t(t){let e=t,n=t;do(e.x=(t-a)*(r-l)&&(t-a)*(o-l)>=(n-a)*(e-l)&&(n-a)*(r-l)>=(i-a)*(o-l)}function X2t(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!J2t(t,e)&&(Ck(t,e)&&Ck(e,t)&&K2t(t,e)&&(n0(t.prev,t,e.prev)||n0(t,e.prev,e))||$K(t,e)&&n0(t.prev,t,t.next)>0&&n0(e.prev,e,e.next)>0)}function n0(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function $K(t,e){return t.x===e.x&&t.y===e.y}function _We(t,e,n,o){const i=Ej(n0(t,e,n)),r=Ej(n0(t,e,o)),a=Ej(n0(n,o,t)),l=Ej(n0(n,o,e));return!!(i!==r&&a!==l||i===0&&Dj(t,n,e)||r===0&&Dj(t,o,e)||a===0&&Dj(n,t,o)||l===0&&Dj(n,e,o))}function Dj(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Ej(t){return t>0?1:t<0?-1:0}function J2t(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&_We(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function Ck(t,e){return n0(t.prev,t,t.next)<0?n0(t,e,t.next)>=0&&n0(t,t.prev,e)>=0:n0(t,e,t.prev)<0||n0(t,t.next,e)<0}function K2t(t,e){let n=t,o=!1;const i=(t.x+e.x)/2,r=(t.y+e.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&i<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(o=!o),n=n.next;while(n!==t);return o}function VWe(t,e){const n=new Jse(t.i,t.x,t.y),o=new Jse(e.i,e.x,e.y),i=t.next,r=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,o.next=n,n.prev=o,r.next=o,o.prev=r,o}function W4e(t,e,n,o){const i=new Jse(t,e,n);return o?(i.next=o.next,i.prev=o,o.next.prev=i,o.next=i):(i.prev=i,i.next=i),i}function Rk(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Jse(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function q2t(t,e,n,o){let i=0;for(let r=e,a=n-o;r2&&t[e-1].equals(t[0])&&t.pop()}function U4e(t,e){for(let n=0;nNumber.EPSILON){const re=Math.sqrt(ze),ge=Math.sqrt(me*me+Re*Re),we=he.x-Pe/re,ye=he.y+ve/re,Te=fe.x-Re/ge,Ie=fe.y+me/ge,Ce=((Te-we)*Re-(Ie-ye)*me)/(ve*Re-Pe*me);se=we+ve*Ce-Z.x,oe=ye+Pe*Ce-Z.y;const Ee=se*se+oe*oe;if(Ee<=2)return new Gt(se,oe);de=Math.sqrt(Ee/2)}else{let re=!1;ve>Number.EPSILON?me>Number.EPSILON&&(re=!0):ve<-Number.EPSILON?me<-Number.EPSILON&&(re=!0):Math.sign(Pe)===Math.sign(Re)&&(re=!0),re?(se=-Pe,oe=ve,de=Math.sqrt(ze)):(se=ve,oe=Pe,de=Math.sqrt(ze/2))}return new Gt(se/de,oe/de)}const N=[];for(let Z=0,he=U.length,fe=he-1,se=Z+1;Z=0;Z--){const he=Z/A,fe=p*Math.cos(he*Math.PI/2),se=g*Math.sin(he*Math.PI/2)+y;for(let oe=0,de=U.length;oe=0;){const se=fe;let oe=fe-1;oe<0&&(oe=Z.length-1);for(let de=0,ve=u+A*2;de0)&&p.push(b,v,w),(x!==o-1||s0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class A1e extends yf{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Xo(16777215),this.specular=new Xo(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class KWe extends yf{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Xo(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class qWe extends yf{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class $We extends yf{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Xo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class QWe extends yf{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Xo(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class ZWe extends dp{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function Mv(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function eNe(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function tNe(t){function e(i,r){return t[i]-t[r]}const n=t.length,o=new Array(n);for(let i=0;i!==n;++i)o[i]=i;return o.sort(e),o}function Kse(t,e,n){const o=t.length,i=new t.constructor(o);for(let r=0,a=0;a!==o;++r){const l=n[r]*e;for(let s=0;s!==e;++s)i[a++]=t[l+s]}return i}function w1e(t,e,n,o){let i=1,r=t[0];for(;r!==void 0&&r[o]===void 0;)r=t[i++];if(r===void 0)return;let a=r[o];if(a!==void 0)if(Array.isArray(a))do a=r[o],a!==void 0&&(e.push(r.time),n.push.apply(n,a)),r=t[i++];while(r!==void 0);else if(a.toArray!==void 0)do a=r[o],a!==void 0&&(e.push(r.time),a.toArray(n,n.length)),r=t[i++];while(r!==void 0);else do a=r[o],a!==void 0&&(e.push(r.time),n.push(a)),r=t[i++];while(r!==void 0)}function e5t(t,e,n,o,i=30){const r=t.clone();r.name=e;const a=[];for(let s=0;s=o)){d.push(c.times[p]);for(let y=0;yr.tracks[s].times[0]&&(l=r.tracks[s].times[0]);for(let s=0;s=l.times[g]){const x=g*d+u,C=x+d-u;y=l.values.slice(x,C)}else{const x=l.createInterpolant(),C=u,b=d-u;x.evaluate(r),y=x.resultBuffer.slice(C,b)}s==="quaternion"&&new Ts().fromArray(y).normalize().conjugate().toArray(y);const A=c.times.length;for(let x=0;x=r)){const l=n[1];e=r)break t}a=o,o=0;break n}break e}for(;o>>1;en;)--a;if(++a,r!==0||a!==i){r>=a&&(a=Math.max(a,1),r=a-1);const l=this.getValueSize();this.times=o.slice(r,a),this.values=this.values.slice(r*l,a*l)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const o=this.times,i=this.values,r=o.length;r===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let l=0;l!==r;l++){const s=o[l];if(typeof s=="number"&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,l,s),e=!1;break}if(a!==null&&a>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,l,s,a),e=!1;break}a=s}if(i!==void 0&&eNe(i))for(let l=0,s=i.length;l!==s;++l){const c=i[l];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,l,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),o=this.getValueSize(),i=this.getInterpolation()===m_,r=e.length-1;let a=1;for(let l=1;l0){e[a]=e[r];for(let l=r*o,s=a*o,c=0;c!==o;++c)n[s+c]=n[l+c];++a}return a!==e.length?(this.times=e.slice(0,a),this.values=n.slice(0,a*o)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),o=this.constructor,i=new o(this.name,e,n);return i.createInterpolant=this.createInterpolant,i}}G2.prototype.TimeBufferType=Float32Array;G2.prototype.ValueBufferType=Float32Array;G2.prototype.DefaultInterpolation=gk;class pb extends G2{}pb.prototype.ValueTypeName="bool";pb.prototype.ValueBufferType=Array;pb.prototype.DefaultInterpolation=pk;pb.prototype.InterpolantFactoryMethodLinear=void 0;pb.prototype.InterpolantFactoryMethodSmooth=void 0;class x1e extends G2{}x1e.prototype.ValueTypeName="color";class Hk extends G2{}Hk.prototype.ValueTypeName="number";class iNe extends GL{constructor(e,n,o,i){super(e,n,o,i)}interpolate_(e,n,o,i){const r=this.resultBuffer,a=this.sampleValues,l=this.valueSize,s=(o-n)/(i-n);let c=e*l;for(let u=c+l;c!==u;c+=4)Ts.slerpFlat(r,0,a,c-l,a,c,s);return r}}class gH extends G2{InterpolantFactoryMethodLinear(e){return new iNe(this.times,this.values,this.getValueSize(),e)}}gH.prototype.ValueTypeName="quaternion";gH.prototype.DefaultInterpolation=gk;gH.prototype.InterpolantFactoryMethodSmooth=void 0;class gb extends G2{}gb.prototype.ValueTypeName="string";gb.prototype.ValueBufferType=Array;gb.prototype.DefaultInterpolation=pk;gb.prototype.InterpolantFactoryMethodLinear=void 0;gb.prototype.InterpolantFactoryMethodSmooth=void 0;class Mk extends G2{}Mk.prototype.ValueTypeName="vector";class Ik{constructor(e,n=-1,o,i=DK){this.name=e,this.tracks=o,this.duration=n,this.blendMode=i,this.uuid=yg(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],o=e.tracks,i=1/(e.fps||1);for(let a=0,l=o.length;a!==l;++a)n.push(i5t(o[a]).scale(i));const r=new this(e.name,e.duration,n,e.blendMode);return r.uuid=e.uuid,r}static toJSON(e){const n=[],o=e.tracks,i={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let r=0,a=o.length;r!==a;++r)n.push(G2.toJSON(o[r]));return i}static CreateFromMorphTargetSequence(e,n,o,i){const r=n.length,a=[];for(let l=0;l1){const d=u[1];let f=i[d];f||(i[d]=f=[]),f.push(c)}}const a=[];for(const l in i)a.push(this.CreateFromMorphTargetSequence(l,i[l],n,o));return a}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const o=function(d,f,p,g,y){if(p.length!==0){const A=[],x=[];w1e(p,A,x,g),A.length!==0&&y.push(new d(f,A,x))}},i=[],r=e.name||"default",a=e.fps||30,l=e.blendMode;let s=e.length||-1;const c=e.hierarchy||[];for(let d=0;d{n&&n(r),this.manager.itemEnd(e)},0),r;if(J3[e]!==void 0){J3[e].push({onLoad:n,onProgress:o,onError:i});return}J3[e]=[],J3[e].push({onLoad:n,onProgress:o,onError:i});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),l=this.mimeType,s=this.responseType;fetch(a).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const u=J3[e],d=c.body.getReader(),f=c.headers.get("Content-Length")||c.headers.get("X-File-Size"),p=f?parseInt(f):0,g=p!==0;let y=0;const A=new ReadableStream({start(x){C();function C(){d.read().then(({done:b,value:v})=>{if(b)x.close();else{y+=v.byteLength;const S=new ProgressEvent("progress",{lengthComputable:g,loaded:y,total:p});for(let w=0,T=u.length;w{switch(s){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,l));case"json":return c.json();default:if(l===void 0)return c.text();{const d=/charset="?([^;"\s]*)"?/i.exec(l),f=d&&d[1]?d[1].toLowerCase():void 0,p=new TextDecoder(f);return c.arrayBuffer().then(g=>p.decode(g))}}}).then(c=>{Bx.add(e,c);const u=J3[e];delete J3[e];for(let d=0,f=u.length;d{const u=J3[e];if(u===void 0)throw this.manager.itemError(e),c;delete J3[e];for(let d=0,f=u.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class a5t extends fp{constructor(e){super(e)}load(e,n,o,i){const r=this,a=new M9(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(l){try{n(r.parse(JSON.parse(l)))}catch(s){i?i(s):console.error(s),r.manager.itemError(e)}},o,i)}parse(e){const n=[];for(let o=0;o0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const r in e.uniforms){const a=e.uniforms[r];switch(i.uniforms[r]={},a.type){case"t":i.uniforms[r].value=o(a.value);break;case"c":i.uniforms[r].value=new Xo().setHex(a.value);break;case"v2":i.uniforms[r].value=new Gt().fromArray(a.value);break;case"v3":i.uniforms[r].value=new ae().fromArray(a.value);break;case"v4":i.uniforms[r].value=new ll().fromArray(a.value);break;case"m3":i.uniforms[r].value=new fa().fromArray(a.value);break;case"m4":i.uniforms[r].value=new Xr().fromArray(a.value);break;default:i.uniforms[r].value=a.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const r in e.extensions)i.extensions[r]=e.extensions[r];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=o(e.map)),e.matcap!==void 0&&(i.matcap=o(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=o(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=o(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=o(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let r=e.normalScale;Array.isArray(r)===!1&&(r=[r,r]),i.normalScale=new Gt().fromArray(r)}return e.displacementMap!==void 0&&(i.displacementMap=o(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=o(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=o(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=o(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=o(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=o(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=o(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=o(e.envMap)),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=o(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=o(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=o(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=o(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=o(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=o(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new Gt().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=o(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=o(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=o(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=o(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=o(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=o(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=o(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const n={ShadowMaterial:GWe,SpriteMaterial:YK,RawShaderMaterial:XWe,ShaderMaterial:W2,PointsMaterial:d1e,MeshPhysicalMaterial:JWe,MeshStandardMaterial:sf,MeshPhongMaterial:A1e,MeshToonMaterial:KWe,MeshNormalMaterial:qWe,MeshLambertMaterial:$We,MeshDepthMaterial:WK,MeshDistanceMaterial:NK,MeshBasicMaterial:G9,MeshMatcapMaterial:QWe,LineDashedMaterial:ZWe,LineBasicMaterial:dp,Material:yf};return new n[e]}}class qse{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let o=0,i=e.length;o0){const s=new b1e(n);r=new zk(s),r.setCrossOrigin(this.crossOrigin);for(let c=0,u=e.length;c0){i=new zk(this.manager),i.setCrossOrigin(this.crossOrigin);for(let a=0,l=e.length;a"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,n,o,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,a=Bx.get(e);if(a!==void 0)return r.manager.itemStart(e),setTimeout(function(){n&&n(a),r.manager.itemEnd(e)},0),a;const l={};l.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",l.headers=this.requestHeader,fetch(e,l).then(function(s){return s.blob()}).then(function(s){return createImageBitmap(s,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(s){Bx.add(e,s),n&&n(s),r.manager.itemEnd(e)}).catch(function(s){i&&i(s),r.manager.itemError(e),r.manager.itemEnd(e)}),r.manager.itemStart(e)}}let kj;class T1e{static getContext(){return kj===void 0&&(kj=new(window.AudioContext||window.webkitAudioContext)),kj}static setContext(e){kj=e}}class m5t extends fp{constructor(e){super(e)}load(e,n,o,i){const r=this,a=new M9(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(s){try{const c=s.slice(0);T1e.getContext().decodeAudioData(c,function(d){n(d)},l)}catch(c){l(c)}},o,i);function l(s){i?i(s):console.error(s),r.manager.itemError(e)}}}const X4e=new Xr,J4e=new Xr,k8=new Xr;class y5t{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Iu,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Iu,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const n=this._cache;if(n.focus!==e.focus||n.fov!==e.fov||n.aspect!==e.aspect*this.aspect||n.near!==e.near||n.far!==e.far||n.zoom!==e.zoom||n.eyeSep!==this.eyeSep){n.focus=e.focus,n.fov=e.fov,n.aspect=e.aspect*this.aspect,n.near=e.near,n.far=e.far,n.zoom=e.zoom,n.eyeSep=this.eyeSep,k8.copy(e.projectionMatrix);const i=n.eyeSep/2,r=i*n.near/n.focus,a=n.near*Math.tan(nx*n.fov*.5)/n.zoom;let l,s;J4e.elements[12]=-i,X4e.elements[12]=i,l=-a*n.aspect+r,s=a*n.aspect+r,k8.elements[0]=2*n.near/(s-l),k8.elements[8]=(s+l)/(s-l),this.cameraL.projectionMatrix.copy(k8),l=-a*n.aspect-r,s=a*n.aspect-r,k8.elements[0]=2*n.near/(s-l),k8.elements[8]=(s+l)/(s-l),this.cameraR.projectionMatrix.copy(k8)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(J4e),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(X4e)}}class P1e{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=K4e(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const n=K4e();e=(n-this.oldTime)/1e3,this.oldTime=n,this.elapsedTime+=e}return e}}function K4e(){return(typeof performance>"u"?Date:performance).now()}const F8=new ae,q4e=new Ts,A5t=new ae,L8=new ae;class w5t extends Dl{constructor(){super(),this.type="AudioListener",this.context=T1e.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new P1e}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const n=this.context.listener,o=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(F8,q4e,A5t),L8.set(0,0,-1).applyQuaternion(q4e),n.positionX){const i=this.context.currentTime+this.timeDelta;n.positionX.linearRampToValueAtTime(F8.x,i),n.positionY.linearRampToValueAtTime(F8.y,i),n.positionZ.linearRampToValueAtTime(F8.z,i),n.forwardX.linearRampToValueAtTime(L8.x,i),n.forwardY.linearRampToValueAtTime(L8.y,i),n.forwardZ.linearRampToValueAtTime(L8.z,i),n.upX.linearRampToValueAtTime(o.x,i),n.upY.linearRampToValueAtTime(o.y,i),n.upZ.linearRampToValueAtTime(o.z,i)}else n.setPosition(F8.x,F8.y,F8.z),n.setOrientation(L8.x,L8.y,L8.z,o.x,o.y,o.z)}}class gNe extends Dl{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const n=this.context.createBufferSource();return n.buffer=this.buffer,n.loop=this.loop,n.loopStart=this.loopStart,n.loopEnd=this.loopEnd,n.onended=this.onEnded.bind(this),n.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=n,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,n=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,n=this.filters.length;e0&&this._mixBufferRegionAdditive(o,i,this._addIndex*n,1,n);for(let s=n,c=n+n;s!==c;++s)if(o[s]!==o[s+n]){l.setValue(o,i);break}}saveOriginalState(){const e=this.binding,n=this.buffer,o=this.valueSize,i=o*this._origIndex;e.getValue(n,i);for(let r=o,a=i;r!==a;++r)n[r]=n[i+r%o];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,n=e+this.valueSize;for(let o=e;o=.5)for(let a=0;a!==r;++a)e[n+a]=e[o+a]}_slerp(e,n,o,i){Ts.slerpFlat(e,n,e,n,e,o,i)}_slerpAdditive(e,n,o,i,r){const a=this._workIndex*r;Ts.multiplyQuaternionsFlat(e,a,e,n,e,o),Ts.slerpFlat(e,n,e,n,e,a,i)}_lerp(e,n,o,i,r){const a=1-i;for(let l=0;l!==r;++l){const s=n+l;e[s]=e[s]*a+e[o+l]*i}}_lerpAdditive(e,n,o,i,r){for(let a=0;a!==r;++a){const l=n+a;e[l]=e[l]+e[o+a]*i}}}const C1e="\\[\\]\\.:\\/",S5t=new RegExp("["+C1e+"]","g"),R1e="[^"+C1e+"]",T5t="[^"+C1e.replace("\\.","")+"]",P5t=/((?:WC+[\/:])*)/.source.replace("WC",R1e),C5t=/(WCOD+)?/.source.replace("WCOD",T5t),R5t=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",R1e),H5t=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",R1e),M5t=new RegExp("^"+P5t+C5t+R5t+H5t+"$"),I5t=["material","materials","bones","map"];class z5t{constructor(e,n,o){const i=o||bl.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,i)}getValue(e,n){this.bind();const o=this._targetGroup.nCachedObjects_,i=this._bindings[o];i!==void 0&&i.getValue(e,n)}setValue(e,n){const o=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=o.length;i!==r;++i)o[i].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,o=e.length;n!==o;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,o=e.length;n!==o;++n)e[n].unbind()}}class bl{constructor(e,n,o){this.path=n,this.parsedPath=o||bl.parseTrackName(n),this.node=bl.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,o){return e&&e.isAnimationObjectGroup?new bl.Composite(e,n,o):new bl(e,n,o)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(S5t,"")}static parseTrackName(e){const n=M5t.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const o={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},i=o.nodeName&&o.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const r=o.nodeName.substring(i+1);I5t.indexOf(r)!==-1&&(o.nodeName=o.nodeName.substring(0,i),o.objectName=r)}if(o.propertyName===null||o.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return o}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const o=e.skeleton.getBoneByName(n);if(o!==void 0)return o}if(e.children){const o=function(r){for(let a=0;a=r){const d=r++,f=e[d];n[f.uuid]=u,e[u]=f,n[c]=d,e[d]=s;for(let p=0,g=i;p!==g;++p){const y=o[p],A=y[d],x=y[u];y[u]=A,y[d]=x}}}this.nCachedObjects_=r}uncache(){const e=this._objects,n=this._indicesByUUID,o=this._bindings,i=o.length;let r=this.nCachedObjects_,a=e.length;for(let l=0,s=arguments.length;l!==s;++l){const c=arguments[l],u=c.uuid,d=n[u];if(d!==void 0)if(delete n[u],d0&&(n[p.uuid]=d),e[d]=p,e.pop();for(let g=0,y=i;g!==y;++g){const A=o[g];A[d]=A[f],A.pop()}}}this.nCachedObjects_=r}subscribe_(e,n){const o=this._bindingsIndicesByPath;let i=o[e];const r=this._bindings;if(i!==void 0)return r[i];const a=this._paths,l=this._parsedPaths,s=this._objects,c=s.length,u=this.nCachedObjects_,d=new Array(c);i=r.length,o[e]=i,a.push(e),l.push(n),r.push(d);for(let f=u,p=s.length;f!==p;++f){const g=s[f];d[f]=new bl(g,e,n)}return d}unsubscribe_(e){const n=this._bindingsIndicesByPath,o=n[e];if(o!==void 0){const i=this._paths,r=this._parsedPaths,a=this._bindings,l=a.length-1,s=a[l],c=e[l];n[c]=o,a[o]=s,a.pop(),r[o]=r[l],r.pop(),i[o]=i[l],i.pop()}}}class yNe{constructor(e,n,o=null,i=n.blendMode){this._mixer=e,this._clip=n,this._localRoot=o,this.blendMode=i;const r=n.tracks,a=r.length,l=new Array(a),s={endingStart:Cv,endingEnd:Cv};for(let c=0;c!==a;++c){const u=r[c].createInterpolant(null);l[c]=u,u.settings=s}this._interpolantSettings=s,this._interpolants=l,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=oWe,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,n){return this.loop=e,this.repetitions=n,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,n,o){if(e.fadeOut(n),this.fadeIn(n),o){const i=this._clip.duration,r=e._clip.duration,a=r/i,l=i/r;e.warp(1,a,n),this.warp(l,1,n)}return this}crossFadeTo(e,n,o){return e.crossFadeFrom(this,n,o)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,n,o){const i=this._mixer,r=i.time,a=this.timeScale;let l=this._timeScaleInterpolant;l===null&&(l=i._lendControlInterpolant(),this._timeScaleInterpolant=l);const s=l.parameterPositions,c=l.sampleValues;return s[0]=r,s[1]=r+o,c[0]=e/a,c[1]=n/a,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,n,o,i){if(!this.enabled){this._updateWeight(e);return}const r=this._startTime;if(r!==null){const s=(e-r)*o;s<0||o===0?n=0:(this._startTime=null,n=o*s)}n*=this._updateTimeScale(e);const a=this._updateTime(n),l=this._updateWeight(e);if(l>0){const s=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case Qpe:for(let u=0,d=s.length;u!==d;++u)s[u].evaluate(a),c[u].accumulateAdditive(l);break;case DK:default:for(let u=0,d=s.length;u!==d;++u)s[u].evaluate(a),c[u].accumulate(i,l)}}}_updateWeight(e){let n=0;if(this.enabled){n=this.weight;const o=this._weightInterpolant;if(o!==null){const i=o.evaluate(e)[0];n*=i,e>o.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=n,n}_updateTimeScale(e){let n=0;if(!this.paused){n=this.timeScale;const o=this._timeScaleInterpolant;if(o!==null){const i=o.evaluate(e)[0];n*=i,e>o.parameterPositions[1]&&(this.stopWarping(),n===0?this.paused=!0:this.timeScale=n)}}return this._effectiveTimeScale=n,n}_updateTime(e){const n=this._clip.duration,o=this.loop;let i=this.time+e,r=this._loopCount;const a=o===iWe;if(e===0)return r===-1?i:a&&(r&1)===1?n-i:i;if(o===nWe){r===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=n)i=n;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(r===-1&&(e>=0?(r=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),i>=n||i<0){const l=Math.floor(i/n);i-=n*l,r+=Math.abs(l);const s=this.repetitions-r;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?n:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(s===1){const c=e<0;this._setEndings(c,!c,a)}else this._setEndings(!1,!1,a);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:l})}}else this.time=i;if(a&&(r&1)===1)return n-i}return i}_setEndings(e,n,o){const i=this._interpolantSettings;o?(i.endingStart=Rv,i.endingEnd=Rv):(e?i.endingStart=this.zeroSlopeAtStart?Rv:Cv:i.endingStart=mk,n?i.endingEnd=this.zeroSlopeAtEnd?Rv:Cv:i.endingEnd=mk)}_scheduleFading(e,n,o){const i=this._mixer,r=i.time;let a=this._weightInterpolant;a===null&&(a=i._lendControlInterpolant(),this._weightInterpolant=a);const l=a.parameterPositions,s=a.sampleValues;return l[0]=r,s[0]=n,l[1]=r+e,s[1]=o,this}}const E5t=new Float32Array(1);class k5t extends V9{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,n){const o=e._localRoot||this._root,i=e._clip.tracks,r=i.length,a=e._propertyBindings,l=e._interpolants,s=o.uuid,c=this._bindingsByRootAndName;let u=c[s];u===void 0&&(u={},c[s]=u);for(let d=0;d!==r;++d){const f=i[d],p=f.name;let g=u[p];if(g!==void 0)++g.referenceCount,a[d]=g;else{if(g=a[d],g!==void 0){g._cacheIndex===null&&(++g.referenceCount,this._addInactiveBinding(g,s,p));continue}const y=n&&n._propertyBindings[d].binding.parsedPath;g=new mNe(bl.create(o,p,y),f.ValueTypeName,f.getValueSize()),++g.referenceCount,this._addInactiveBinding(g,s,p),a[d]=g}l[d].resultBuffer=g.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const o=(e._localRoot||this._root).uuid,i=e._clip.uuid,r=this._actionsByClip[i];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,i,o)}const n=e._propertyBindings;for(let o=0,i=n.length;o!==i;++o){const r=n[o];r.useCount++===0&&(this._lendBinding(r),r.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const n=e._propertyBindings;for(let o=0,i=n.length;o!==i;++o){const r=n[o];--r.useCount===0&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const n=e._cacheIndex;return n!==null&&n=0;--o)e[o].stop();return this}update(e){e*=this.timeScale;const n=this._actions,o=this._nActiveActions,i=this.time+=e,r=Math.sign(e),a=this._accuIndex^=1;for(let c=0;c!==o;++c)n[c]._update(i,e,r,a);const l=this._bindings,s=this._nActiveBindings;for(let c=0;c!==s;++c)l[c].apply(a);return this}setTime(e){this.time=0;for(let n=0;nthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Z4e).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const ewe=new ae,Fj=new ae;class M1e{constructor(e=new ae,n=new ae){this.start=e,this.end=n}set(e,n){return this.start.copy(e),this.end.copy(n),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,n){return this.delta(n).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,n){ewe.subVectors(e,this.start),Fj.subVectors(this.end,this.start);const o=Fj.dot(Fj);let r=Fj.dot(ewe)/o;return n&&(r=h0(r,0,1)),r}closestPointToPoint(e,n,o){const i=this.closestPointToPointParameter(e,n);return this.delta(o).multiplyScalar(i).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const twe=new ae;class B5t extends Dl{constructor(e,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="SpotLightHelper";const o=new Ur,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let a=0,l=1,s=32;a1)for(let d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{awe.set(e.z,0,-e.x).normalize();const n=Math.acos(e.y);this.quaternion.setFromAxisAngle(awe,n)}}setLength(e,n=e*.2,o=n*.2){this.line.scale.set(1,Math.max(1e-4,e-n),1),this.line.updateMatrix(),this.cone.scale.set(o,n,o),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Z5t extends J9{constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],o=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new Ur;i.setAttribute("position",new hi(n,3)),i.setAttribute("color",new hi(o,3));const r=new dp({vertexColors:!0,toneMapped:!1});super(i,r),this.type="AxesHelper"}setColors(e,n,o){const i=new Xo,r=this.geometry.attributes.color.array;return i.set(e),i.toArray(r,0),i.toArray(r,3),i.set(n),i.toArray(r,6),i.toArray(r,9),i.set(o),i.toArray(r,12),i.toArray(r,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class wNe{constructor(){this.type="ShapePath",this.color=new Xo,this.subPaths=[],this.currentPath=null}moveTo(e,n){return this.currentPath=new Tk,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,n),this}lineTo(e,n){return this.currentPath.lineTo(e,n),this}quadraticCurveTo(e,n,o,i){return this.currentPath.quadraticCurveTo(e,n,o,i),this}bezierCurveTo(e,n,o,i,r,a){return this.currentPath.bezierCurveTo(e,n,o,i,r,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function n(x){const C=[];for(let b=0,v=x.length;bNumber.EPSILON){if(H<0&&(T=C[w],R=-R,P=C[S],H=-H),x.yP.y)continue;if(x.y===T.y){if(x.x===T.x)return!0}else{const D=H*(x.x-T.x)-R*(x.y-T.y);if(D===0)return!0;if(D<0)continue;v=!v}}else{if(x.y!==T.y)continue;if(P.x<=x.x&&x.x<=T.x||T.x<=x.x&&x.x<=P.x)return!0}}return v}const i=y9.isClockWise,r=this.subPaths;if(r.length===0)return[];let a,l,s;const c=[];if(r.length===1)return l=r[0],s=new Ml,s.curves=l.curves,c.push(s),c;let u=!i(r[0].getPoints());u=e?!u:u;const d=[],f=[];let p=[],g=0,y;f[g]=void 0,p[g]=[];for(let x=0,C=r.length;x1){let x=!1,C=0;for(let b=0,v=f.length;b0&&x===!1&&(p=d)}let A;for(let x=0,C=f.length;xxn||Ke[Zt]!==pt[xn]){var Kn=` -`+Ke[Zt].replace(" at new "," at ");return X.displayName&&Kn.includes("")&&(Kn=Kn.replace("",X.displayName)),Kn}while(1<=Zt&&0<=xn);break}}}finally{Et=!1,Error.prepareStackTrace=xe}return(X=X?X.displayName||X.name:"")?Lt(X):""}var Jt=Object.prototype.hasOwnProperty,hn=[],cn=-1;function Sn(X){return{current:X}}function Pn(X){0>cn||(X.current=hn[cn],hn[cn]=null,cn--)}function Un(X,K){cn++,hn[cn]=X.current,X.current=K}var Ai={},vo=Sn(Ai),Oo=Sn(!1),li=Ai;function po(X,K){var xe=X.type.contextTypes;if(!xe)return Ai;var ke=X.stateNode;if(ke&&ke.__reactInternalMemoizedUnmaskedChildContext===K)return ke.__reactInternalMemoizedMaskedChildContext;var Ke={},pt;for(pt in xe)Ke[pt]=K[pt];return ke&&(X=X.stateNode,X.__reactInternalMemoizedUnmaskedChildContext=K,X.__reactInternalMemoizedMaskedChildContext=Ke),Ke}function eo(X){return X=X.childContextTypes,X!=null}function uo(){Pn(Oo),Pn(vo)}function qo(X,K,xe){if(vo.current!==Ai)throw Error(a(168));Un(vo,K),Un(Oo,xe)}function Hi(X,K,xe){var ke=X.stateNode;if(K=K.childContextTypes,typeof ke.getChildContext!="function")return xe;ke=ke.getChildContext();for(var Ke in ke)if(!(Ke in K))throw Error(a(108,P(X)||"Unknown",Ke));return r({},xe,ke)}function vi(X){return X=(X=X.stateNode)&&X.__reactInternalMemoizedMergedChildContext||Ai,li=vo.current,Un(vo,X),Un(Oo,Oo.current),!0}function Cn(X,K,xe){var ke=X.stateNode;if(!ke)throw Error(a(169));xe?(X=Hi(X,K,li),ke.__reactInternalMemoizedMergedChildContext=X,Pn(Oo),Pn(vo),Un(vo,X)):Pn(Oo),Un(Oo,xe)}var yn=Math.clz32?Math.clz32:ni,to=Math.log,Do=Math.LN2;function ni(X){return X>>>=0,X===0?32:31-(to(X)/Do|0)|0}var Fo=64,bo=4194304;function Ro(X){switch(X&-X){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return X&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return X&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return X}}function oi(X,K){var xe=X.pendingLanes;if(xe===0)return 0;var ke=0,Ke=X.suspendedLanes,pt=X.pingedLanes,Zt=xe&268435455;if(Zt!==0){var xn=Zt&~Ke;xn!==0?ke=Ro(xn):(pt&=Zt,pt!==0&&(ke=Ro(pt)))}else Zt=xe&~Ke,Zt!==0?ke=Ro(Zt):pt!==0&&(ke=Ro(pt));if(ke===0)return 0;if(K!==0&&K!==ke&&!(K&Ke)&&(Ke=ke&-ke,pt=K&-K,Ke>=pt||Ke===16&&(pt&4194240)!==0))return K;if(ke&4&&(ke|=xe&16),K=X.entangledLanes,K!==0)for(X=X.entanglements,K&=ke;0xe;xe++)K.push(X);return K}function Qo(X,K,xe){X.pendingLanes|=K,K!==536870912&&(X.suspendedLanes=0,X.pingedLanes=0),X=X.eventTimes,K=31-yn(K),X[K]=xe}function ar(X,K){var xe=X.pendingLanes&~K;X.pendingLanes=K,X.suspendedLanes=0,X.pingedLanes=0,X.expiredLanes&=K,X.mutableReadLanes&=K,X.entangledLanes&=K,K=X.entanglements;var ke=X.eventTimes;for(X=X.expirationTimes;0>=Zt,Ke-=Zt,d1=1<<32-yn(K)+Ke|xe<ea?(Wa=Yr,Yr=null):Wa=Yr.sibling;var Sa=Ji(Dn,Yr,_n[ea],xi);if(Sa===null){Yr===null&&(Yr=Wa);break}X&&Yr&&Sa.alternate===null&&K(Dn,Yr),Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa,Yr=Wa}if(ea===_n.length)return xe(Dn,Yr),yl&&Ch(Dn,ea),zi;if(Yr===null){for(;ea<_n.length;ea++)Yr=Dr(Dn,_n[ea],xi),Yr!==null&&(Rn=pt(Yr,Rn,ea),qr===null?zi=Yr:qr.sibling=Yr,qr=Yr);return yl&&Ch(Dn,ea),zi}for(Yr=ke(Dn,Yr);ea<_n.length;ea++)Wa=dl(Yr,Dn,ea,_n[ea],xi),Wa!==null&&(X&&Wa.alternate!==null&&Yr.delete(Wa.key===null?ea:Wa.key),Rn=pt(Wa,Rn,ea),qr===null?zi=Wa:qr.sibling=Wa,qr=Wa);return X&&Yr.forEach(function(Tp){return K(Dn,Tp)}),yl&&Ch(Dn,ea),zi}function S0(Dn,Rn,_n,xi){var zi=w(_n);if(typeof zi!="function")throw Error(a(150));if(_n=zi.call(_n),_n==null)throw Error(a(151));for(var qr=zi=null,Yr=Rn,ea=Rn=0,Wa=null,Sa=_n.next();Yr!==null&&!Sa.done;ea++,Sa=_n.next()){Yr.index>ea?(Wa=Yr,Yr=null):Wa=Yr.sibling;var Tp=Ji(Dn,Yr,Sa.value,xi);if(Tp===null){Yr===null&&(Yr=Wa);break}X&&Yr&&Tp.alternate===null&&K(Dn,Yr),Rn=pt(Tp,Rn,ea),qr===null?zi=Tp:qr.sibling=Tp,qr=Tp,Yr=Wa}if(Sa.done)return xe(Dn,Yr),yl&&Ch(Dn,ea),zi;if(Yr===null){for(;!Sa.done;ea++,Sa=_n.next())Sa=Dr(Dn,Sa.value,xi),Sa!==null&&(Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa);return yl&&Ch(Dn,ea),zi}for(Yr=ke(Dn,Yr);!Sa.done;ea++,Sa=_n.next())Sa=dl(Yr,Dn,ea,Sa.value,xi),Sa!==null&&(X&&Sa.alternate!==null&&Yr.delete(Sa.key===null?ea:Sa.key),Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa);return X&&Yr.forEach(function(ZA){return K(Dn,ZA)}),yl&&Ch(Dn,ea),zi}function Yd(Dn,Rn,_n,xi){if(typeof _n=="object"&&_n!==null&&_n.type===u&&_n.key===null&&(_n=_n.props.children),typeof _n=="object"&&_n!==null){switch(_n.$$typeof){case s:e:{for(var zi=_n.key,qr=Rn;qr!==null;){if(qr.key===zi){if(zi=_n.type,zi===u){if(qr.tag===7){xe(Dn,qr.sibling),Rn=Ke(qr,_n.props.children),Rn.return=Dn,Dn=Rn;break e}}else if(qr.elementType===zi||typeof zi=="object"&&zi!==null&&zi.$$typeof===b&&y3(zi)===qr.type){xe(Dn,qr.sibling),Rn=Ke(qr,_n.props),Rn.ref=l5(Dn,qr,_n),Rn.return=Dn,Dn=Rn;break e}xe(Dn,qr);break}else K(Dn,qr);qr=qr.sibling}_n.type===u?(Rn=tm(_n.props.children,Dn.mode,xi,_n.key),Rn.return=Dn,Dn=Rn):(xi=My(_n.type,_n.key,_n.props,null,Dn.mode,xi),xi.ref=l5(Dn,Rn,_n),xi.return=Dn,Dn=xi)}return Zt(Dn);case c:e:{for(qr=_n.key;Rn!==null;){if(Rn.key===qr)if(Rn.tag===4&&Rn.stateNode.containerInfo===_n.containerInfo&&Rn.stateNode.implementation===_n.implementation){xe(Dn,Rn.sibling),Rn=Ke(Rn,_n.children||[]),Rn.return=Dn,Dn=Rn;break e}else{xe(Dn,Rn);break}else K(Dn,Rn);Rn=Rn.sibling}Rn=jd(_n,Dn.mode,xi),Rn.return=Dn,Dn=Rn}return Zt(Dn);case b:return qr=_n._init,Yd(Dn,Rn,qr(_n._payload),xi)}if(F(_n))return Gi(Dn,Rn,_n,xi);if(w(_n))return S0(Dn,Rn,_n,xi);Hh(Dn,_n)}return typeof _n=="string"&&_n!==""||typeof _n=="number"?(_n=""+_n,Rn!==null&&Rn.tag===6?(xe(Dn,Rn.sibling),Rn=Ke(Rn,_n),Rn.return=Dn,Dn=Rn):(xe(Dn,Rn),Rn=b0(_n,Dn.mode,xi),Rn.return=Dn,Dn=Rn),Zt(Dn)):xe(Dn,Rn)}return Yd}var Ed=Ug(!0),$7=Ug(!1),Xc={},hs=Sn(Xc),hy=Sn(Xc),py=Sn(Xc);function vu(X){if(X===Xc)throw Error(a(174));return X}function Q7(X,K){Un(py,K),Un(hy,X),Un(hs,Xc),X=B(K),Pn(hs),Un(hs,X)}function gy(){Pn(hs),Pn(hy),Pn(py)}function lS(X){var K=vu(py.current),xe=vu(hs.current);K=k(xe,X.type,K),xe!==K&&(Un(hy,X),Un(hs,K))}function Ap(X){hy.current===X&&(Pn(hs),Pn(hy))}var An=Sn(0);function Qn(X){for(var K=X;K!==null;){if(K.tag===13){var xe=K.memoizedState;if(xe!==null&&(xe=xe.dehydrated,xe===null||ct(xe)||lt(xe)))return K}else if(K.tag===19&&K.memoizedProps.revealOrder!==void 0){if(K.flags&128)return K}else if(K.child!==null){K.child.return=K,K=K.child;continue}if(K===X)break;for(;K.sibling===null;){if(K.return===null||K.return===X)return null;K=K.return}K.sibling.return=K.return,K=K.sibling}return null}var Nn=[];function bi(){for(var X=0;Xxe?xe:4,X(!0);var ke=jr.transition;jr.transition={};try{X(!1),K()}finally{$o=xe,jr.transition=ke}}function e8(){return Es().memoizedState}function Kc(X,K,xe){var ke=Df(X);xe={lane:ke,action:xe,hasEagerState:!1,eagerState:null,next:null},t8(X)?RA(K,xe):(x3(X,K,xe),xe=v0(),X=rd(X,ke,xe),X!==null&&HA(X,K,ke))}function V0(X,K,xe){var ke=Df(X),Ke={lane:ke,action:xe,hasEagerState:!1,eagerState:null,next:null};if(t8(X))RA(K,Ke);else{x3(X,K,Ke);var pt=X.alternate;if(X.lanes===0&&(pt===null||pt.lanes===0)&&(pt=K.lastRenderedReducer,pt!==null))try{var Zt=K.lastRenderedState,xn=pt(Zt,xe);if(Ke.hasEagerState=!0,Ke.eagerState=xn,Wl(xn,Zt))return}catch{}finally{}xe=v0(),X=rd(X,ke,xe),X!==null&&HA(X,K,ke)}}function t8(X){var K=X.alternate;return X===br||K!==null&&K===br}function RA(X,K){Bg=_0=!0;var xe=X.pending;xe===null?K.next=K:(K.next=xe.next,xe.next=K),X.pending=K}function x3(X,K,xe){Ic!==null&&X.mode&1&&!(Cr&2)?(X=K.interleaved,X===null?(xe.next=xe,Yn===null?Yn=[K]:Yn.push(K)):(xe.next=X.next,X.next=xe),K.interleaved=xe):(X=K.pending,X===null?xe.next=xe:(xe.next=X.next,X.next=xe),K.pending=xe)}function HA(X,K,xe){if(xe&4194240){var ke=K.lanes;ke&=X.pendingLanes,xe|=ke,K.lanes=xe,ur(X,xe)}}var Pi={readContext:kn,useCallback:Ds,useContext:Ds,useEffect:Ds,useImperativeHandle:Ds,useInsertionEffect:Ds,useLayoutEffect:Ds,useMemo:Ds,useReducer:Ds,useRef:Ds,useState:Ds,useDebugValue:Ds,useDeferredValue:Ds,useTransition:Ds,useMutableSource:Ds,useSyncExternalStore:Ds,useId:Ds,unstable_isNewReconciler:!1},qc={readContext:kn,useCallback:function(X,K){return Rc().memoizedState=[X,K===void 0?null:K],X},useContext:kn,useEffect:wp,useImperativeHandle:function(X,K,xe){return xe=xe!=null?xe.concat([X]):null,kd(4194308,4,m5.bind(null,K,X),xe)},useLayoutEffect:function(X,K){return kd(4194308,4,X,K)},useInsertionEffect:function(X,K){return kd(4,2,X,K)},useMemo:function(X,K){var xe=Rc();return K=K===void 0?null:K,X=X(),xe.memoizedState=[X,K],X},useReducer:function(X,K,xe){var ke=Rc();return K=xe!==void 0?xe(K):K,ke.memoizedState=ke.baseState=K,X={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:X,lastRenderedState:K},ke.queue=X,X=X.dispatch=Kc.bind(null,br,X),[ke.memoizedState,X]},useRef:function(X){var K=Rc();return X={current:X},K.memoizedState=X},useState:h5,useDebugValue:Mf,useDeferredValue:function(X){var K=h5(X),xe=K[0],ke=K[1];return wp(function(){var Ke=jr.transition;jr.transition={};try{ke(X)}finally{jr.transition=Ke}},[X]),xe},useTransition:function(){var X=h5(!1),K=X[0];return X=v3.bind(null,X[1]),Rc().memoizedState=X,[K,X]},useMutableSource:function(){},useSyncExternalStore:function(X,K,xe){var ke=br,Ke=Rc();if(yl){if(xe===void 0)throw Error(a(407));xe=xe()}else{if(xe=K(),Ic===null)throw Error(a(349));is&30||f5(ke,K,xe)}Ke.memoizedState=xe;var pt={value:xe,getSnapshot:K};return Ke.queue=pt,wp(Qs.bind(null,ke,pt,X),[X]),ke.flags|=2048,Qu(9,Yg.bind(null,ke,pt,xe,K),void 0,null),xe},useId:function(){var X=Rc(),K=Ic.identifierPrefix;if(yl){var xe=O0,ke=d1;xe=(ke&~(1<<32-yn(ke)-1)).toString(32)+xe,K=":"+K+"R"+xe,xe=A3++,0")&&(Kn=Kn.replace("",X.displayName)),Kn}while(1<=Zt&&0<=xn);break}}}finally{Et=!1,Error.prepareStackTrace=xe}return(X=X?X.displayName||X.name:"")?Lt(X):""}var Jt=Object.prototype.hasOwnProperty,hn=[],cn=-1;function Sn(X){return{current:X}}function Pn(X){0>cn||(X.current=hn[cn],hn[cn]=null,cn--)}function Un(X,K){cn++,hn[cn]=X.current,X.current=K}var Ai={},vo=Sn(Ai),Oo=Sn(!1),li=Ai;function po(X,K){var xe=X.type.contextTypes;if(!xe)return Ai;var ke=X.stateNode;if(ke&&ke.__reactInternalMemoizedUnmaskedChildContext===K)return ke.__reactInternalMemoizedMaskedChildContext;var Ke={},pt;for(pt in xe)Ke[pt]=K[pt];return ke&&(X=X.stateNode,X.__reactInternalMemoizedUnmaskedChildContext=K,X.__reactInternalMemoizedMaskedChildContext=Ke),Ke}function eo(X){return X=X.childContextTypes,X!=null}function uo(){Pn(Oo),Pn(vo)}function qo(X,K,xe){if(vo.current!==Ai)throw Error(a(168));Un(vo,K),Un(Oo,xe)}function Hi(X,K,xe){var ke=X.stateNode;if(K=K.childContextTypes,typeof ke.getChildContext!="function")return xe;ke=ke.getChildContext();for(var Ke in ke)if(!(Ke in K))throw Error(a(108,P(X)||"Unknown",Ke));return r({},xe,ke)}function vi(X){return X=(X=X.stateNode)&&X.__reactInternalMemoizedMergedChildContext||Ai,li=vo.current,Un(vo,X),Un(Oo,Oo.current),!0}function Cn(X,K,xe){var ke=X.stateNode;if(!ke)throw Error(a(169));xe?(X=Hi(X,K,li),ke.__reactInternalMemoizedMergedChildContext=X,Pn(Oo),Pn(vo),Un(vo,X)):Pn(Oo),Un(Oo,xe)}var yn=Math.clz32?Math.clz32:ni,to=Math.log,Do=Math.LN2;function ni(X){return X>>>=0,X===0?32:31-(to(X)/Do|0)|0}var Fo=64,bo=4194304;function Ro(X){switch(X&-X){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return X&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return X&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return X}}function oi(X,K){var xe=X.pendingLanes;if(xe===0)return 0;var ke=0,Ke=X.suspendedLanes,pt=X.pingedLanes,Zt=xe&268435455;if(Zt!==0){var xn=Zt&~Ke;xn!==0?ke=Ro(xn):(pt&=Zt,pt!==0&&(ke=Ro(pt)))}else Zt=xe&~Ke,Zt!==0?ke=Ro(Zt):pt!==0&&(ke=Ro(pt));if(ke===0)return 0;if(K!==0&&K!==ke&&!(K&Ke)&&(Ke=ke&-ke,pt=K&-K,Ke>=pt||Ke===16&&(pt&4194240)!==0))return K;if(ke&4&&(ke|=xe&16),K=X.entangledLanes,K!==0)for(X=X.entanglements,K&=ke;0xe;xe++)K.push(X);return K}function Qo(X,K,xe){X.pendingLanes|=K,K!==536870912&&(X.suspendedLanes=0,X.pingedLanes=0),X=X.eventTimes,K=31-yn(K),X[K]=xe}function ar(X,K){var xe=X.pendingLanes&~K;X.pendingLanes=K,X.suspendedLanes=0,X.pingedLanes=0,X.expiredLanes&=K,X.mutableReadLanes&=K,X.entangledLanes&=K,K=X.entanglements;var ke=X.eventTimes;for(X=X.expirationTimes;0>=Zt,Ke-=Zt,f1=1<<32-yn(K)+Ke|xe<ea?(Wa=Yr,Yr=null):Wa=Yr.sibling;var Sa=Ji(Dn,Yr,_n[ea],xi);if(Sa===null){Yr===null&&(Yr=Wa);break}X&&Yr&&Sa.alternate===null&&K(Dn,Yr),Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa,Yr=Wa}if(ea===_n.length)return xe(Dn,Yr),yl&&Ch(Dn,ea),zi;if(Yr===null){for(;ea<_n.length;ea++)Yr=Dr(Dn,_n[ea],xi),Yr!==null&&(Rn=pt(Yr,Rn,ea),qr===null?zi=Yr:qr.sibling=Yr,qr=Yr);return yl&&Ch(Dn,ea),zi}for(Yr=ke(Dn,Yr);ea<_n.length;ea++)Wa=dl(Yr,Dn,ea,_n[ea],xi),Wa!==null&&(X&&Wa.alternate!==null&&Yr.delete(Wa.key===null?ea:Wa.key),Rn=pt(Wa,Rn,ea),qr===null?zi=Wa:qr.sibling=Wa,qr=Wa);return X&&Yr.forEach(function(Tp){return K(Dn,Tp)}),yl&&Ch(Dn,ea),zi}function S0(Dn,Rn,_n,xi){var zi=w(_n);if(typeof zi!="function")throw Error(a(150));if(_n=zi.call(_n),_n==null)throw Error(a(151));for(var qr=zi=null,Yr=Rn,ea=Rn=0,Wa=null,Sa=_n.next();Yr!==null&&!Sa.done;ea++,Sa=_n.next()){Yr.index>ea?(Wa=Yr,Yr=null):Wa=Yr.sibling;var Tp=Ji(Dn,Yr,Sa.value,xi);if(Tp===null){Yr===null&&(Yr=Wa);break}X&&Yr&&Tp.alternate===null&&K(Dn,Yr),Rn=pt(Tp,Rn,ea),qr===null?zi=Tp:qr.sibling=Tp,qr=Tp,Yr=Wa}if(Sa.done)return xe(Dn,Yr),yl&&Ch(Dn,ea),zi;if(Yr===null){for(;!Sa.done;ea++,Sa=_n.next())Sa=Dr(Dn,Sa.value,xi),Sa!==null&&(Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa);return yl&&Ch(Dn,ea),zi}for(Yr=ke(Dn,Yr);!Sa.done;ea++,Sa=_n.next())Sa=dl(Yr,Dn,ea,Sa.value,xi),Sa!==null&&(X&&Sa.alternate!==null&&Yr.delete(Sa.key===null?ea:Sa.key),Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa);return X&&Yr.forEach(function(ZA){return K(Dn,ZA)}),yl&&Ch(Dn,ea),zi}function Yd(Dn,Rn,_n,xi){if(typeof _n=="object"&&_n!==null&&_n.type===u&&_n.key===null&&(_n=_n.props.children),typeof _n=="object"&&_n!==null){switch(_n.$$typeof){case s:e:{for(var zi=_n.key,qr=Rn;qr!==null;){if(qr.key===zi){if(zi=_n.type,zi===u){if(qr.tag===7){xe(Dn,qr.sibling),Rn=Ke(qr,_n.props.children),Rn.return=Dn,Dn=Rn;break e}}else if(qr.elementType===zi||typeof zi=="object"&&zi!==null&&zi.$$typeof===b&&y3(zi)===qr.type){xe(Dn,qr.sibling),Rn=Ke(qr,_n.props),Rn.ref=l5(Dn,qr,_n),Rn.return=Dn,Dn=Rn;break e}xe(Dn,qr);break}else K(Dn,qr);qr=qr.sibling}_n.type===u?(Rn=tm(_n.props.children,Dn.mode,xi,_n.key),Rn.return=Dn,Dn=Rn):(xi=My(_n.type,_n.key,_n.props,null,Dn.mode,xi),xi.ref=l5(Dn,Rn,_n),xi.return=Dn,Dn=xi)}return Zt(Dn);case c:e:{for(qr=_n.key;Rn!==null;){if(Rn.key===qr)if(Rn.tag===4&&Rn.stateNode.containerInfo===_n.containerInfo&&Rn.stateNode.implementation===_n.implementation){xe(Dn,Rn.sibling),Rn=Ke(Rn,_n.children||[]),Rn.return=Dn,Dn=Rn;break e}else{xe(Dn,Rn);break}else K(Dn,Rn);Rn=Rn.sibling}Rn=jd(_n,Dn.mode,xi),Rn.return=Dn,Dn=Rn}return Zt(Dn);case b:return qr=_n._init,Yd(Dn,Rn,qr(_n._payload),xi)}if(F(_n))return Gi(Dn,Rn,_n,xi);if(w(_n))return S0(Dn,Rn,_n,xi);Hh(Dn,_n)}return typeof _n=="string"&&_n!==""||typeof _n=="number"?(_n=""+_n,Rn!==null&&Rn.tag===6?(xe(Dn,Rn.sibling),Rn=Ke(Rn,_n),Rn.return=Dn,Dn=Rn):(xe(Dn,Rn),Rn=b0(_n,Dn.mode,xi),Rn.return=Dn,Dn=Rn),Zt(Dn)):xe(Dn,Rn)}return Yd}var Ed=Ug(!0),$7=Ug(!1),Xc={},hs=Sn(Xc),hy=Sn(Xc),py=Sn(Xc);function vu(X){if(X===Xc)throw Error(a(174));return X}function Q7(X,K){Un(py,K),Un(hy,X),Un(hs,Xc),X=B(K),Pn(hs),Un(hs,X)}function gy(){Pn(hs),Pn(hy),Pn(py)}function lS(X){var K=vu(py.current),xe=vu(hs.current);K=k(xe,X.type,K),xe!==K&&(Un(hy,X),Un(hs,K))}function Ap(X){hy.current===X&&(Pn(hs),Pn(hy))}var An=Sn(0);function Qn(X){for(var K=X;K!==null;){if(K.tag===13){var xe=K.memoizedState;if(xe!==null&&(xe=xe.dehydrated,xe===null||ct(xe)||lt(xe)))return K}else if(K.tag===19&&K.memoizedProps.revealOrder!==void 0){if(K.flags&128)return K}else if(K.child!==null){K.child.return=K,K=K.child;continue}if(K===X)break;for(;K.sibling===null;){if(K.return===null||K.return===X)return null;K=K.return}K.sibling.return=K.return,K=K.sibling}return null}var Nn=[];function bi(){for(var X=0;Xxe?xe:4,X(!0);var ke=jr.transition;jr.transition={};try{X(!1),K()}finally{$o=xe,jr.transition=ke}}function e8(){return Es().memoizedState}function Kc(X,K,xe){var ke=Df(X);xe={lane:ke,action:xe,hasEagerState:!1,eagerState:null,next:null},t8(X)?RA(K,xe):(x3(X,K,xe),xe=v0(),X=rd(X,ke,xe),X!==null&&HA(X,K,ke))}function V0(X,K,xe){var ke=Df(X),Ke={lane:ke,action:xe,hasEagerState:!1,eagerState:null,next:null};if(t8(X))RA(K,Ke);else{x3(X,K,Ke);var pt=X.alternate;if(X.lanes===0&&(pt===null||pt.lanes===0)&&(pt=K.lastRenderedReducer,pt!==null))try{var Zt=K.lastRenderedState,xn=pt(Zt,xe);if(Ke.hasEagerState=!0,Ke.eagerState=xn,Wl(xn,Zt))return}catch{}finally{}xe=v0(),X=rd(X,ke,xe),X!==null&&HA(X,K,ke)}}function t8(X){var K=X.alternate;return X===br||K!==null&&K===br}function RA(X,K){Bg=_0=!0;var xe=X.pending;xe===null?K.next=K:(K.next=xe.next,xe.next=K),X.pending=K}function x3(X,K,xe){Ic!==null&&X.mode&1&&!(Cr&2)?(X=K.interleaved,X===null?(xe.next=xe,Yn===null?Yn=[K]:Yn.push(K)):(xe.next=X.next,X.next=xe),K.interleaved=xe):(X=K.pending,X===null?xe.next=xe:(xe.next=X.next,X.next=xe),K.pending=xe)}function HA(X,K,xe){if(xe&4194240){var ke=K.lanes;ke&=X.pendingLanes,xe|=ke,K.lanes=xe,ur(X,xe)}}var Pi={readContext:kn,useCallback:Ds,useContext:Ds,useEffect:Ds,useImperativeHandle:Ds,useInsertionEffect:Ds,useLayoutEffect:Ds,useMemo:Ds,useReducer:Ds,useRef:Ds,useState:Ds,useDebugValue:Ds,useDeferredValue:Ds,useTransition:Ds,useMutableSource:Ds,useSyncExternalStore:Ds,useId:Ds,unstable_isNewReconciler:!1},qc={readContext:kn,useCallback:function(X,K){return Rc().memoizedState=[X,K===void 0?null:K],X},useContext:kn,useEffect:wp,useImperativeHandle:function(X,K,xe){return xe=xe!=null?xe.concat([X]):null,kd(4194308,4,m5.bind(null,K,X),xe)},useLayoutEffect:function(X,K){return kd(4194308,4,X,K)},useInsertionEffect:function(X,K){return kd(4,2,X,K)},useMemo:function(X,K){var xe=Rc();return K=K===void 0?null:K,X=X(),xe.memoizedState=[X,K],X},useReducer:function(X,K,xe){var ke=Rc();return K=xe!==void 0?xe(K):K,ke.memoizedState=ke.baseState=K,X={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:X,lastRenderedState:K},ke.queue=X,X=X.dispatch=Kc.bind(null,br,X),[ke.memoizedState,X]},useRef:function(X){var K=Rc();return X={current:X},K.memoizedState=X},useState:h5,useDebugValue:Mf,useDeferredValue:function(X){var K=h5(X),xe=K[0],ke=K[1];return wp(function(){var Ke=jr.transition;jr.transition={};try{ke(X)}finally{jr.transition=Ke}},[X]),xe},useTransition:function(){var X=h5(!1),K=X[0];return X=v3.bind(null,X[1]),Rc().memoizedState=X,[K,X]},useMutableSource:function(){},useSyncExternalStore:function(X,K,xe){var ke=br,Ke=Rc();if(yl){if(xe===void 0)throw Error(a(407));xe=xe()}else{if(xe=K(),Ic===null)throw Error(a(349));is&30||f5(ke,K,xe)}Ke.memoizedState=xe;var pt={value:xe,getSnapshot:K};return Ke.queue=pt,wp(Qs.bind(null,ke,pt,X),[X]),ke.flags|=2048,Qu(9,Yg.bind(null,ke,pt,xe,K),void 0,null),xe},useId:function(){var X=Rc(),K=Ic.identifierPrefix;if(yl){var xe=O0,ke=f1;xe=(ke&~(1<<32-yn(ke)-1)).toString(32)+xe,K=":"+K+"R"+xe,xe=A3++,0M3&&(K.flags|=128,ke=!0,G0(Ke,!1),K.lanes=4194304)}else{if(!ke)if(X=Qn(pt),X!==null){if(K.flags|=128,ke=!0,X=X.updateQueue,X!==null&&(K.updateQueue=X,K.flags|=4),G0(Ke,!0),Ke.tail===null&&Ke.tailMode==="hidden"&&!pt.alternate&&!yl)return fr(K),null}else 2*ui()-Ke.renderingStartTime>M3&&xe!==1073741824&&(K.flags|=128,ke=!0,G0(Ke,!1),K.lanes=4194304);Ke.isBackwards?(pt.sibling=K.child,K.child=pt):(X=Ke.last,X!==null?X.sibling=pt:K.child=pt,Ke.last=pt)}return Ke.tail!==null?(K=Ke.tail,Ke.rendering=K,Ke.tail=K.sibling,Ke.renderingStartTime=ui(),K.sibling=null,X=An.current,Un(An,ke?X&1|2:X&1),K):(fr(K),null);case 22:case 23:return E3(),ke=K.memoizedState!==null,X!==null&&X.memoizedState!==null!==ke&&(K.flags|=8192),ke&&K.mode&1?Su&1073741824&&(fr(K),ne&&K.subtreeFlags&6&&(K.flags|=8192)):fr(K),null;case 24:return null;case 25:return null}throw Error(a(156,K.tag))}var cS=l.ReactCurrentOwner,Fd=!1;function ks(X,K,xe,ke){K.child=X===null?$7(K,null,xe,ke):Ed(K,X.child,xe,ke)}function uS(X,K,xe,ke,Ke){xe=xe.render;var pt=K.ref;return vn(K,Ke),ke=La(X,K,xe,ke,pt,Ke),xe=w3(),X!==null&&!Fd?(K.updateQueue=X.updateQueue,K.flags&=-2053,X.lanes&=~Ke,Hc(X,K,Ke)):(yl&&xe&&p3(K),K.flags|=1,ks(X,K,ke,Ke),K.child)}function dS(X,K,xe,ke,Ke){if(X===null){var pt=xe.type;return typeof pt=="function"&&!Dh(pt)&&pt.defaultProps===void 0&&xe.compare===null&&xe.defaultProps===void 0?(K.tag=15,K.type=pt,DA(X,K,pt,ke,Ke)):(X=My(xe.type,null,ke,K,K.mode,Ke),X.ref=K.ref,X.return=K,K.child=X)}if(pt=X.child,!(X.lanes&Ke)){var Zt=pt.memoizedProps;if(xe=xe.compare,xe=xe!==null?xe:pn,xe(Zt,ke)&&X.ref===K.ref)return Hc(X,K,Ke)}return K.flags|=1,X=Bd(pt,ke),X.ref=K.ref,X.return=K,K.child=X}function DA(X,K,xe,ke,Ke){if(X!==null&&pn(X.memoizedProps,ke)&&X.ref===K.ref)if(Fd=!1,(X.lanes&Ke)!==0)X.flags&131072&&(Fd=!0);else return K.lanes=X.lanes,Hc(X,K,Ke);return Ih(X,K,xe,ke,Ke)}function o8(X,K,xe){var ke=K.pendingProps,Ke=ke.children,pt=X!==null?X.memoizedState:null;if(ke.mode==="hidden")if(!(K.mode&1))K.memoizedState={baseLanes:0,cachePool:null},Un(Nd,Su),Su|=xe;else if(xe&1073741824)K.memoizedState={baseLanes:0,cachePool:null},ke=pt!==null?pt.baseLanes:xe,Un(Nd,Su),Su|=ke;else return X=pt!==null?pt.baseLanes|xe:xe,K.lanes=K.childLanes=1073741824,K.memoizedState={baseLanes:X,cachePool:null},K.updateQueue=null,Un(Nd,Su),Su|=X,null;else pt!==null?(ke=pt.baseLanes|xe,K.memoizedState=null):ke=xe,Un(Nd,Su),Su|=ke;return ks(X,K,Ke,xe),K.child}function i8(X,K){var xe=K.ref;(X===null&&xe!==null||X!==null&&X.ref!==xe)&&(K.flags|=512,K.flags|=2097152)}function Ih(X,K,xe,ke,Ke){var pt=eo(xe)?li:vo.current;return pt=po(K,pt),vn(K,Ke),xe=La(X,K,xe,ke,pt,Ke),ke=w3(),X!==null&&!Fd?(K.updateQueue=X.updateQueue,K.flags&=-2053,X.lanes&=~Ke,Hc(X,K,Ke)):(yl&&ke&&p3(K),K.flags|=1,ks(X,K,xe,Ke),K.child)}function fS(X,K,xe,ke,Ke){if(eo(xe)){var pt=!0;vi(K)}else pt=!1;if(vn(K,Ke),K.stateNode===null)X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),qu(K,xe,ke),Ol(K,xe,ke,Ke),ke=!0;else if(X===null){var Zt=K.stateNode,xn=K.memoizedProps;Zt.props=xn;var Kn=Zt.context,Bo=xe.contextType;typeof Bo=="object"&&Bo!==null?Bo=kn(Bo):(Bo=eo(xe)?li:vo.current,Bo=po(K,Bo));var Ii=xe.getDerivedStateFromProps,Dr=typeof Ii=="function"||typeof Zt.getSnapshotBeforeUpdate=="function";Dr||typeof Zt.UNSAFE_componentWillReceiveProps!="function"&&typeof Zt.componentWillReceiveProps!="function"||(xn!==ke||Kn!==Bo)&&Hf(K,Zt,ke,Bo),Wn=!1;var Ji=K.memoizedState;Zt.state=Ji,ga(K,ke,Zt,Ke),Kn=K.memoizedState,xn!==ke||Ji!==Kn||Oo.current||Wn?(typeof Ii=="function"&&(Ku(K,xe,Ii,ke),Kn=K.memoizedState),(xn=Wn||Rf(K,xe,xn,ke,Ji,Kn,Bo))?(Dr||typeof Zt.UNSAFE_componentWillMount!="function"&&typeof Zt.componentWillMount!="function"||(typeof Zt.componentWillMount=="function"&&Zt.componentWillMount(),typeof Zt.UNSAFE_componentWillMount=="function"&&Zt.UNSAFE_componentWillMount()),typeof Zt.componentDidMount=="function"&&(K.flags|=4194308)):(typeof Zt.componentDidMount=="function"&&(K.flags|=4194308),K.memoizedProps=ke,K.memoizedState=Kn),Zt.props=ke,Zt.state=Kn,Zt.context=Bo,ke=xn):(typeof Zt.componentDidMount=="function"&&(K.flags|=4194308),ke=!1)}else{Zt=K.stateNode,Xn(X,K),xn=K.memoizedProps,Bo=K.type===K.elementType?xn:$e(K.type,xn),Zt.props=Bo,Dr=K.pendingProps,Ji=Zt.context,Kn=xe.contextType,typeof Kn=="object"&&Kn!==null?Kn=kn(Kn):(Kn=eo(xe)?li:vo.current,Kn=po(K,Kn));var dl=xe.getDerivedStateFromProps;(Ii=typeof dl=="function"||typeof Zt.getSnapshotBeforeUpdate=="function")||typeof Zt.UNSAFE_componentWillReceiveProps!="function"&&typeof Zt.componentWillReceiveProps!="function"||(xn!==Dr||Ji!==Kn)&&Hf(K,Zt,ke,Kn),Wn=!1,Ji=K.memoizedState,Zt.state=Ji,ga(K,ke,Zt,Ke);var Gi=K.memoizedState;xn!==Dr||Ji!==Gi||Oo.current||Wn?(typeof dl=="function"&&(Ku(K,xe,dl,ke),Gi=K.memoizedState),(Bo=Wn||Rf(K,xe,Bo,ke,Ji,Gi,Kn)||!1)?(Ii||typeof Zt.UNSAFE_componentWillUpdate!="function"&&typeof Zt.componentWillUpdate!="function"||(typeof Zt.componentWillUpdate=="function"&&Zt.componentWillUpdate(ke,Gi,Kn),typeof Zt.UNSAFE_componentWillUpdate=="function"&&Zt.UNSAFE_componentWillUpdate(ke,Gi,Kn)),typeof Zt.componentDidUpdate=="function"&&(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate=="function"&&(K.flags|=1024)):(typeof Zt.componentDidUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=1024),K.memoizedProps=ke,K.memoizedState=Gi),Zt.props=ke,Zt.state=Gi,Zt.context=Kn,ke=Bo):(typeof Zt.componentDidUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=1024),ke=!1)}return EA(X,K,xe,ke,pt,Ke)}function EA(X,K,xe,ke,Ke,pt){i8(X,K);var Zt=(K.flags&128)!==0;if(!ke&&!Zt)return Ke&&Cn(K,xe,!1),Hc(X,K,pt);ke=K.stateNode,cS.current=K;var xn=Zt&&typeof xe.getDerivedStateFromError!="function"?null:ke.render();return K.flags|=1,X!==null&&Zt?(K.child=Ed(K,X.child,null,pt),K.child=Ed(K,null,xn,pt)):ks(X,K,xn,pt),K.memoizedState=ke.state,Ke&&Cn(K,xe,!0),K.child}function hS(X){var K=X.stateNode;K.pendingContext?qo(X,K.pendingContext,K.pendingContext!==K.context):K.context&&qo(X,K.context,!1),Q7(X,K.containerInfo)}function pS(X,K,xe,ke,Ke){return fy(),m3(Ke),K.flags|=256,ks(X,K,xe,ke),K.child}var T3={dehydrated:null,treeContext:null,retryLane:0};function xu(X){return{baseLanes:X,cachePool:null}}function r8(X,K,xe){var ke=K.pendingProps,Ke=An.current,pt=!1,Zt=(K.flags&128)!==0,xn;if((xn=Zt)||(xn=X!==null&&X.memoizedState===null?!1:(Ke&2)!==0),xn?(pt=!0,K.flags&=-129):(X===null||X.memoizedState!==null)&&(Ke|=1),Un(An,Ke&1),X===null)return dy(K),X=K.memoizedState,X!==null&&(X=X.dehydrated,X!==null)?(K.mode&1?lt(X)?K.lanes=8:K.lanes=1073741824:K.lanes=1,null):(Ke=ke.children,X=ke.fallback,pt?(ke=K.mode,pt=K.child,Ke={mode:"hidden",children:Ke},!(ke&1)&&pt!==null?(pt.childLanes=0,pt.pendingProps=Ke):pt=Iy(Ke,ke,0,null),X=tm(X,ke,xe,null),pt.return=K,X.return=K,pt.sibling=X,K.child=pt,K.child.memoizedState=xu(xe),K.memoizedState=T3,X):kA(K,Ke));if(Ke=X.memoizedState,Ke!==null){if(xn=Ke.dehydrated,xn!==null){if(Zt)return K.flags&256?(K.flags&=-257,LA(X,K,xe,Error(a(422)))):K.memoizedState!==null?(K.child=X.child,K.flags|=128,null):(pt=ke.fallback,Ke=K.mode,ke=Iy({mode:"visible",children:ke.children},Ke,0,null),pt=tm(pt,Ke,xe,null),pt.flags|=2,ke.return=K,pt.return=K,ke.sibling=pt,K.child=ke,K.mode&1&&Ed(K,X.child,null,xe),K.child.memoizedState=xu(xe),K.memoizedState=T3,pt);if(!(K.mode&1))K=LA(X,K,xe,null);else if(lt(xn))K=LA(X,K,xe,Error(a(419)));else if(ke=(xe&X.childLanes)!==0,Fd||ke){if(ke=Ic,ke!==null){switch(xe&-xe){case 4:pt=2;break;case 16:pt=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:pt=32;break;case 536870912:pt=268435456;break;default:pt=0}ke=pt&(ke.suspendedLanes|xe)?0:pt,ke!==0&&ke!==Ke.retryLane&&(Ke.retryLane=ke,rd(X,ke,-1))}M5(),K=LA(X,K,xe,Error(a(421)))}else ct(xn)?(K.flags|=128,K.child=X.child,K=b1.bind(null,X),tt(xn,K),K=null):(xe=Ke.treeContext,he&&($s=st(xn),zs=K,yl=!0,el=null,Ng=!1,xe!==null&&(Gc[yu++]=d1,Gc[yu++]=O0,Gc[yu++]=u1,d1=xe.id,O0=xe.overflow,u1=K)),K=kA(K,K.pendingProps.children),K.flags|=4096);return K}return pt?(ke=a8(X,K,ke.children,ke.fallback,xe),pt=K.child,Ke=X.child.memoizedState,pt.memoizedState=Ke===null?xu(xe):{baseLanes:Ke.baseLanes|xe,cachePool:null},pt.childLanes=X.childLanes&~xe,K.memoizedState=T3,ke):(xe=FA(X,K,ke.children,xe),K.memoizedState=null,xe)}return pt?(ke=a8(X,K,ke.children,ke.fallback,xe),pt=K.child,Ke=X.child.memoizedState,pt.memoizedState=Ke===null?xu(xe):{baseLanes:Ke.baseLanes|xe,cachePool:null},pt.childLanes=X.childLanes&~xe,K.memoizedState=T3,ke):(xe=FA(X,K,ke.children,xe),K.memoizedState=null,xe)}function kA(X,K){return K=Iy({mode:"visible",children:K},X.mode,0,null),K.return=X,X.child=K}function FA(X,K,xe,ke){var Ke=X.child;return X=Ke.sibling,xe=Bd(Ke,{mode:"visible",children:xe}),!(K.mode&1)&&(xe.lanes=ke),xe.return=K,xe.sibling=null,X!==null&&(ke=K.deletions,ke===null?(K.deletions=[X],K.flags|=16):ke.push(X)),K.child=xe}function a8(X,K,xe,ke,Ke){var pt=K.mode;X=X.child;var Zt=X.sibling,xn={mode:"hidden",children:xe};return!(pt&1)&&K.child!==X?(xe=K.child,xe.childLanes=0,xe.pendingProps=xn,K.deletions=null):(xe=Bd(X,xn),xe.subtreeFlags=X.subtreeFlags&14680064),Zt!==null?ke=Bd(Zt,ke):(ke=tm(ke,pt,Ke,null),ke.flags|=2),ke.return=K,xe.return=K,xe.sibling=ke,K.child=xe,ke}function LA(X,K,xe,ke){return ke!==null&&m3(ke),Ed(K,X.child,null,xe),X=kA(K,K.pendingProps.children),X.flags|=2,K.memoizedState=null,X}function m1(X,K,xe){X.lanes|=K;var ke=X.alternate;ke!==null&&(ke.lanes|=K),mn(X.return,K,xe)}function WA(X,K,xe,ke,Ke){var pt=X.memoizedState;pt===null?X.memoizedState={isBackwards:K,rendering:null,renderingStartTime:0,last:ke,tail:xe,tailMode:Ke}:(pt.isBackwards=K,pt.rendering=null,pt.renderingStartTime=0,pt.last=ke,pt.tail=xe,pt.tailMode=Ke)}function l8(X,K,xe){var ke=K.pendingProps,Ke=ke.revealOrder,pt=ke.tail;if(ks(X,K,ke.children,xe),ke=An.current,ke&2)ke=ke&1|2,K.flags|=128;else{if(X!==null&&X.flags&128)e:for(X=K.child;X!==null;){if(X.tag===13)X.memoizedState!==null&&m1(X,xe,K);else if(X.tag===19)m1(X,xe,K);else if(X.child!==null){X.child.return=X,X=X.child;continue}if(X===K)break e;for(;X.sibling===null;){if(X.return===null||X.return===K)break e;X=X.return}X.sibling.return=X.return,X=X.sibling}ke&=1}if(Un(An,ke),!(K.mode&1))K.memoizedState=null;else switch(Ke){case"forwards":for(xe=K.child,Ke=null;xe!==null;)X=xe.alternate,X!==null&&Qn(X)===null&&(Ke=xe),xe=xe.sibling;xe=Ke,xe===null?(Ke=K.child,K.child=null):(Ke=xe.sibling,xe.sibling=null),WA(K,!1,Ke,xe,pt);break;case"backwards":for(xe=null,Ke=K.child,K.child=null;Ke!==null;){if(X=Ke.alternate,X!==null&&Qn(X)===null){K.child=Ke;break}X=Ke.sibling,Ke.sibling=xe,xe=Ke,Ke=X}WA(K,!0,xe,null,pt);break;case"together":WA(K,!1,null,null,void 0);break;default:K.memoizedState=null}return K.child}function Hc(X,K,xe){if(X!==null&&(K.dependencies=X.dependencies),id|=K.lanes,!(xe&K.childLanes))return null;if(X!==null&&K.child!==X.child)throw Error(a(153));if(K.child!==null){for(X=K.child,xe=Bd(X,X.pendingProps),K.child=xe,xe.return=K;X.sibling!==null;)X=X.sibling,xe=xe.sibling=Bd(X,X.pendingProps),xe.return=K;xe.sibling=null}return K.child}function NA(X,K,xe){switch(K.tag){case 3:hS(K),fy();break;case 5:lS(K);break;case 1:eo(K.type)&&vi(K);break;case 4:Q7(K,K.stateNode.containerInfo);break;case 10:rn(K,K.type._context,K.memoizedProps.value);break;case 13:var ke=K.memoizedState;if(ke!==null)return ke.dehydrated!==null?(Un(An,An.current&1),K.flags|=128,null):xe&K.child.childLanes?r8(X,K,xe):(Un(An,An.current&1),X=Hc(X,K,xe),X!==null?X.sibling:null);Un(An,An.current&1);break;case 19:if(ke=(xe&K.childLanes)!==0,X.flags&128){if(ke)return l8(X,K,xe);K.flags|=128}var Ke=K.memoizedState;if(Ke!==null&&(Ke.rendering=null,Ke.tail=null,Ke.lastEffect=null),Un(An,An.current),ke)break;return null;case 22:case 23:return K.lanes=0,o8(X,K,xe)}return Hc(X,K,xe)}function HM(X,K){switch(Au(K),K.tag){case 1:return eo(K.type)&&uo(),X=K.flags,X&65536?(K.flags=X&-65537|128,K):null;case 3:return gy(),Pn(Oo),Pn(vo),bi(),X=K.flags,X&65536&&!(X&128)?(K.flags=X&-65537|128,K):null;case 5:return Ap(K),null;case 13:if(Pn(An),X=K.memoizedState,X!==null&&X.dehydrated!==null){if(K.alternate===null)throw Error(a(340));fy()}return X=K.flags,X&65536?(K.flags=X&-65537|128,K):null;case 19:return Pn(An),null;case 4:return gy(),null;case 10:return gn(K.type._context),null;case 22:case 23:return E3(),null;case 24:return null;default:return null}}var _g=!1,Ay=!1,MM=typeof WeakSet=="function"?WeakSet:Set,mi=null;function Vg(X,K){var xe=X.ref;if(xe!==null)if(typeof xe=="function")try{xe(null)}catch(ke){K0(X,K,ke)}else xe.current=null}function v5(X,K,xe){try{xe()}catch(ke){K0(X,K,ke)}}var s8=!1;function UA(X,K){for(N(X.containerInfo),mi=K;mi!==null;)if(X=mi,K=X.child,(X.subtreeFlags&1028)!==0&&K!==null)K.return=X,mi=K;else for(;mi!==null;){X=mi;try{var xe=X.alternate;if(X.flags&1024)switch(X.tag){case 0:case 11:case 15:break;case 1:if(xe!==null){var ke=xe.memoizedProps,Ke=xe.memoizedState,pt=X.stateNode,Zt=pt.getSnapshotBeforeUpdate(X.elementType===X.type?ke:$e(X.type,ke),Ke);pt.__reactInternalSnapshotBeforeUpdate=Zt}break;case 3:ne&&St(X.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(xn){K0(X,X.return,xn)}if(K=X.sibling,K!==null){K.return=X.return,mi=K;break}mi=X.return}return xe=s8,s8=!1,xe}function td(X,K,xe){var ke=K.updateQueue;if(ke=ke!==null?ke.lastEffect:null,ke!==null){var Ke=ke=ke.next;do{if((Ke.tag&X)===X){var pt=Ke.destroy;Ke.destroy=void 0,pt!==void 0&&v5(K,xe,pt)}Ke=Ke.next}while(Ke!==ke)}}function vp(X,K){if(K=K.updateQueue,K=K!==null?K.lastEffect:null,K!==null){var xe=K=K.next;do{if((xe.tag&X)===X){var ke=xe.create;xe.destroy=ke()}xe=xe.next}while(xe!==K)}}function P3(X){var K=X.ref;if(K!==null){var xe=X.stateNode;switch(X.tag){case 5:X=W(xe);break;default:X=xe}typeof K=="function"?K(X):K.current=X}}function BA(X,K,xe){if(qs&&typeof qs.onCommitFiberUnmount=="function")try{qs.onCommitFiberUnmount(Is,K)}catch{}switch(K.tag){case 0:case 11:case 14:case 15:if(X=K.updateQueue,X!==null&&(X=X.lastEffect,X!==null)){var ke=X=X.next;do{var Ke=ke,pt=Ke.destroy;Ke=Ke.tag,pt!==void 0&&(Ke&2||Ke&4)&&v5(K,xe,pt),ke=ke.next}while(ke!==X)}break;case 1:if(Vg(K,xe),X=K.stateNode,typeof X.componentWillUnmount=="function")try{X.props=K.memoizedProps,X.state=K.memoizedState,X.componentWillUnmount()}catch(Zt){K0(K,xe,Zt)}break;case 5:Vg(K,xe);break;case 4:ne?OA(X,K,xe):Z&&Z&&(K=K.stateNode.containerInfo,xe=je(K),wt(K,xe))}}function jA(X,K,xe){for(var ke=K;;)if(BA(X,ke,xe),ke.child===null||ne&&ke.tag===4){if(ke===K)break;for(;ke.sibling===null;){if(ke.return===null||ke.return===K)return;ke=ke.return}ke.sibling.return=ke.return,ke=ke.sibling}else ke.child.return=ke,ke=ke.child}function zh(X){var K=X.alternate;K!==null&&(X.alternate=null,zh(K)),X.child=null,X.deletions=null,X.sibling=null,X.tag===5&&(K=X.stateNode,K!==null&&de(K)),X.stateNode=null,X.return=null,X.dependencies=null,X.memoizedProps=null,X.memoizedState=null,X.pendingProps=null,X.stateNode=null,X.updateQueue=null}function x5(X){return X.tag===5||X.tag===3||X.tag===4}function w0(X){e:for(;;){for(;X.sibling===null;){if(X.return===null||x5(X.return))return null;X=X.return}for(X.sibling.return=X.return,X=X.sibling;X.tag!==5&&X.tag!==6&&X.tag!==18;){if(X.flags&2||X.child===null||X.tag===4)continue e;X.child.return=X,X=X.child}if(!(X.flags&2))return X.stateNode}}function nd(X){if(ne){e:{for(var K=X.return;K!==null;){if(x5(K))break e;K=K.return}throw Error(a(160))}var xe=K;switch(xe.tag){case 5:K=xe.stateNode,xe.flags&32&&(De(K),xe.flags&=-33),xe=w0(X),C3(X,xe,K);break;case 3:case 4:K=xe.stateNode.containerInfo,xe=w0(X),YA(X,xe,K);break;default:throw Error(a(161))}}}function YA(X,K,xe){var ke=X.tag;if(ke===5||ke===6)X=X.stateNode,K?Le(xe,X,K):Ie(xe,X);else if(ke!==4&&(X=X.child,X!==null))for(YA(X,K,xe),X=X.sibling;X!==null;)YA(X,K,xe),X=X.sibling}function C3(X,K,xe){var ke=X.tag;if(ke===5||ke===6)X=X.stateNode,K?Ne(xe,X,K):Te(xe,X);else if(ke!==4&&(X=X.child,X!==null))for(C3(X,K,xe),X=X.sibling;X!==null;)C3(X,K,xe),X=X.sibling}function OA(X,K,xe){for(var ke=K,Ke=!1,pt,Zt;;){if(!Ke){Ke=ke.return;e:for(;;){if(Ke===null)throw Error(a(160));switch(pt=Ke.stateNode,Ke.tag){case 5:Zt=!1;break e;case 3:pt=pt.containerInfo,Zt=!0;break e;case 4:pt=pt.containerInfo,Zt=!0;break e}Ke=Ke.return}Ke=!0}if(ke.tag===5||ke.tag===6)jA(X,ke,xe),Zt?We(pt,ke.stateNode):qe(pt,ke.stateNode);else if(ke.tag===18)Zt?Ge(pt,ke.stateNode):mt(pt,ke.stateNode);else if(ke.tag===4){if(ke.child!==null){pt=ke.stateNode.containerInfo,Zt=!0,ke.child.return=ke,ke=ke.child;continue}}else if(BA(X,ke,xe),ke.child!==null){ke.child.return=ke,ke=ke.child;continue}if(ke===K)break;for(;ke.sibling===null;){if(ke.return===null||ke.return===K)return;ke=ke.return,ke.tag===4&&(Ke=!1)}ke.sibling.return=ke.return,ke=ke.sibling}}function Gg(X,K){if(ne){switch(K.tag){case 0:case 11:case 14:case 15:td(3,K,K.return),vp(3,K),td(5,K,K.return);return;case 1:return;case 5:var xe=K.stateNode;if(xe!=null){var ke=K.memoizedProps;X=X!==null?X.memoizedProps:ke;var Ke=K.type,pt=K.updateQueue;K.updateQueue=null,pt!==null&&Ue(xe,pt,Ke,X,ke,K)}return;case 6:if(K.stateNode===null)throw Error(a(162));xe=K.memoizedProps,Ce(K.stateNode,X!==null?X.memoizedProps:xe,xe);return;case 3:he&&X!==null&&X.memoizedState.isDehydrated&&ht(K.stateNode.containerInfo);return;case 12:return;case 13:od(K);return;case 19:od(K);return;case 17:return}throw Error(a(163))}switch(K.tag){case 0:case 11:case 14:case 15:td(3,K,K.return),vp(3,K),td(5,K,K.return);return;case 12:return;case 13:od(K);return;case 19:od(K);return;case 3:he&&X!==null&&X.memoizedState.isDehydrated&&ht(K.stateNode.containerInfo);break;case 22:case 23:return}e:if(Z){switch(K.tag){case 1:case 5:case 6:break e;case 3:case 4:K=K.stateNode,wt(K.containerInfo,K.pendingChildren);break e}throw Error(a(163))}}function od(X){var K=X.updateQueue;if(K!==null){X.updateQueue=null;var xe=X.stateNode;xe===null&&(xe=X.stateNode=new MM),K.forEach(function(ke){var Ke=k3.bind(null,X,ke);xe.has(ke)||(xe.add(ke),ke.then(Ke,Ke))})}}function b5(X,K){for(mi=K;mi!==null;){K=mi;var xe=K.deletions;if(xe!==null)for(var ke=0;ke";case Ld:return":has("+(P5(X)||"")+")";case bu:return'[role="'+X.value+'"]';case Wd:return'"'+X.value+'"';case T5:return'[data-testname="'+X.value+'"]';default:throw Error(a(365))}}function Xg(X,K){var xe=[];X=[X,0];for(var ke=0;keKe&&(Ke=Zt),ke&=~pt}if(ke=Ke,ke=ui()-ke,ke=(120>ke?120:480>ke?480:1080>ke?1080:1920>ke?1920:3e3>ke?3e3:4320>ke?4320:1960*vy(ke/1960))-ke,10X?16:X,Ud===null)var ke=!1;else{if(X=Ud,Ud=null,R5=0,Cr&6)throw Error(a(331));var Ke=Cr;for(Cr|=4,mi=X.current;mi!==null;){var pt=mi,Zt=pt.child;if(mi.flags&16){var xn=pt.deletions;if(xn!==null){for(var Kn=0;Knui()-GA?ec(X,0):H3|=xe),Qi(X,K)}function d8(X,K){K===0&&(X.mode&1?(K=bo,bo<<=1,!(bo&130023424)&&(bo=4194304)):K=1);var xe=v0();X=qg(X,K),X!==null&&(Qo(X,K,xe),Qi(X,xe))}function b1(X){var K=X.memoizedState,xe=0;K!==null&&(xe=K.retryLane),d8(X,xe)}function k3(X,K){var xe=0;switch(X.tag){case 13:var ke=X.stateNode,Ke=X.memoizedState;Ke!==null&&(xe=Ke.retryLane);break;case 19:ke=X.stateNode;break;default:throw Error(a(314))}ke!==null&&ke.delete(K),d8(X,xe)}var KA;KA=function(X,K,xe){if(X!==null)if(X.memoizedProps!==K.pendingProps||Oo.current)Fd=!0;else{if(!(X.lanes&xe)&&!(K.flags&128))return Fd=!1,NA(X,K,xe);Fd=!!(X.flags&131072)}else Fd=!1,yl&&K.flags&1048576&&Wg(K,uy,K.index);switch(K.lanes=0,K.tag){case 2:var ke=K.type;X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),X=K.pendingProps;var Ke=po(K,vo.current);vn(K,xe),Ke=La(null,K,ke,X,Ke,xe);var pt=w3();return K.flags|=1,typeof Ke=="object"&&Ke!==null&&typeof Ke.render=="function"&&Ke.$$typeof===void 0?(K.tag=1,K.memoizedState=null,K.updateQueue=null,eo(ke)?(pt=!0,vi(K)):pt=!1,K.memoizedState=Ke.state!==null&&Ke.state!==void 0?Ke.state:null,qn(K),Ke.updater=Th,K.stateNode=Ke,Ke._reactInternals=K,Ol(K,ke,X,xe),K=EA(null,K,ke,!0,pt,xe)):(K.tag=0,yl&&pt&&p3(K),ks(null,K,Ke,xe),K=K.child),K;case 16:ke=K.elementType;e:{switch(X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),X=K.pendingProps,Ke=ke._init,ke=Ke(ke._payload),K.type=ke,Ke=K.tag=em(ke),X=$e(ke,X),Ke){case 0:K=Ih(null,K,ke,X,xe);break e;case 1:K=fS(null,K,ke,X,xe);break e;case 11:K=uS(null,K,ke,X,xe);break e;case 14:K=dS(null,K,ke,$e(ke.type,X),xe);break e}throw Error(a(306,ke,""))}return K;case 0:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:$e(ke,Ke),Ih(X,K,ke,Ke,xe);case 1:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:$e(ke,Ke),fS(X,K,ke,Ke,xe);case 3:e:{if(hS(K),X===null)throw Error(a(387));ke=K.pendingProps,pt=K.memoizedState,Ke=pt.element,Xn(X,K),ga(K,ke,null,xe);var Zt=K.memoizedState;if(ke=Zt.element,he&&pt.isDehydrated)if(pt={element:ke,isDehydrated:!1,cache:Zt.cache,transitions:Zt.transitions},K.updateQueue.baseState=pt,K.memoizedState=pt,K.flags&256){Ke=Error(a(423)),K=pS(X,K,ke,xe,Ke);break e}else if(ke!==Ke){Ke=Error(a(424)),K=pS(X,K,ke,xe,Ke);break e}else for(he&&($s=Mt(K.stateNode.containerInfo),zs=K,yl=!0,el=null,Ng=!1),xe=$7(K,null,ke,xe),K.child=xe;xe;)xe.flags=xe.flags&-3|4096,xe=xe.sibling;else{if(fy(),ke===Ke){K=Hc(X,K,xe);break e}ks(X,K,ke,xe)}K=K.child}return K;case 5:return lS(K),X===null&&dy(K),ke=K.type,Ke=K.pendingProps,pt=X!==null?X.memoizedProps:null,Zt=Ke.children,ee(ke,Ke)?Zt=null:pt!==null&&ee(ke,pt)&&(K.flags|=32),i8(X,K),ks(X,K,Zt,xe),K.child;case 6:return X===null&&dy(K),null;case 13:return r8(X,K,xe);case 4:return Q7(K,K.stateNode.containerInfo),ke=K.pendingProps,X===null?K.child=Ed(K,null,ke,xe):ks(X,K,ke,xe),K.child;case 11:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:$e(ke,Ke),uS(X,K,ke,Ke,xe);case 7:return ks(X,K,K.pendingProps,xe),K.child;case 8:return ks(X,K,K.pendingProps.children,xe),K.child;case 12:return ks(X,K,K.pendingProps.children,xe),K.child;case 10:e:{if(ke=K.type._context,Ke=K.pendingProps,pt=K.memoizedProps,Zt=Ke.value,rn(K,ke,Zt),pt!==null)if(Wl(pt.value,Zt)){if(pt.children===Ke.children&&!Oo.current){K=Hc(X,K,xe);break e}}else for(pt=K.child,pt!==null&&(pt.return=K);pt!==null;){var xn=pt.dependencies;if(xn!==null){Zt=pt.child;for(var Kn=xn.firstContext;Kn!==null;){if(Kn.context===ke){if(pt.tag===1){Kn=Jo(-1,xe&-xe),Kn.tag=2;var Bo=pt.updateQueue;if(Bo!==null){Bo=Bo.shared;var Ii=Bo.pending;Ii===null?Kn.next=Kn:(Kn.next=Ii.next,Ii.next=Kn),Bo.pending=Kn}}pt.lanes|=xe,Kn=pt.alternate,Kn!==null&&(Kn.lanes|=xe),mn(pt.return,xe,K),xn.lanes|=xe;break}Kn=Kn.next}}else if(pt.tag===10)Zt=pt.type===K.type?null:pt.child;else if(pt.tag===18){if(Zt=pt.return,Zt===null)throw Error(a(341));Zt.lanes|=xe,xn=Zt.alternate,xn!==null&&(xn.lanes|=xe),mn(Zt,xe,K),Zt=pt.sibling}else Zt=pt.child;if(Zt!==null)Zt.return=pt;else for(Zt=pt;Zt!==null;){if(Zt===K){Zt=null;break}if(pt=Zt.sibling,pt!==null){pt.return=Zt.return,Zt=pt;break}Zt=Zt.return}pt=Zt}ks(X,K,Ke.children,xe),K=K.child}return K;case 9:return Ke=K.type,ke=K.pendingProps.children,vn(K,xe),Ke=kn(Ke),ke=ke(Ke),K.flags|=1,ks(X,K,ke,xe),K.child;case 14:return ke=K.type,Ke=$e(ke,K.pendingProps),Ke=$e(ke.type,Ke),dS(X,K,ke,Ke,xe);case 15:return DA(X,K,K.type,K.pendingProps,xe);case 17:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:$e(ke,Ke),X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),K.tag=1,eo(ke)?(X=!0,vi(K)):X=!1,vn(K,xe),qu(K,ke,Ke),Ol(K,ke,Ke,xe),EA(null,K,ke,!0,X,xe);case 19:return l8(X,K,xe);case 22:return o8(X,K,xe)}throw Error(a(156,K.tag))};function Zg(X,K){return Mo(X,K)}function qA(X,K,xe,ke){this.tag=X,this.key=xe,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=K,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=ke,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kf(X,K,xe,ke){return new qA(X,K,xe,ke)}function Dh(X){return X=X.prototype,!(!X||!X.isReactComponent)}function em(X){if(typeof X=="function")return Dh(X)?1:0;if(X!=null){if(X=X.$$typeof,X===y)return 11;if(X===C)return 14}return 2}function Bd(X,K){var xe=X.alternate;return xe===null?(xe=kf(X.tag,K,X.key,X.mode),xe.elementType=X.elementType,xe.type=X.type,xe.stateNode=X.stateNode,xe.alternate=X,X.alternate=xe):(xe.pendingProps=K,xe.type=X.type,xe.flags=0,xe.subtreeFlags=0,xe.deletions=null),xe.flags=X.flags&14680064,xe.childLanes=X.childLanes,xe.lanes=X.lanes,xe.child=X.child,xe.memoizedProps=X.memoizedProps,xe.memoizedState=X.memoizedState,xe.updateQueue=X.updateQueue,K=X.dependencies,xe.dependencies=K===null?null:{lanes:K.lanes,firstContext:K.firstContext},xe.sibling=X.sibling,xe.index=X.index,xe.ref=X.ref,xe}function My(X,K,xe,ke,Ke,pt){var Zt=2;if(ke=X,typeof X=="function")Dh(X)&&(Zt=1);else if(typeof X=="string")Zt=5;else e:switch(X){case u:return tm(xe.children,Ke,pt,K);case d:Zt=8,Ke|=8;break;case f:return X=kf(12,xe,K,Ke|2),X.elementType=f,X.lanes=pt,X;case A:return X=kf(13,xe,K,Ke),X.elementType=A,X.lanes=pt,X;case x:return X=kf(19,xe,K,Ke),X.elementType=x,X.lanes=pt,X;case v:return Iy(xe,Ke,pt,K);default:if(typeof X=="object"&&X!==null)switch(X.$$typeof){case p:Zt=10;break e;case g:Zt=9;break e;case y:Zt=11;break e;case C:Zt=14;break e;case b:Zt=16,ke=null;break e}throw Error(a(130,X==null?X:typeof X,""))}return K=kf(Zt,xe,K,Ke),K.elementType=X,K.type=ke,K.lanes=pt,K}function tm(X,K,xe,ke){return X=kf(7,X,ke,K),X.lanes=xe,X}function Iy(X,K,xe,ke){return X=kf(22,X,ke,K),X.elementType=v,X.lanes=xe,X.stateNode={},X}function b0(X,K,xe){return X=kf(6,X,null,K),X.lanes=xe,X}function jd(X,K,xe){return K=kf(4,X.children!==null?X.children:[],X.key,K),K.lanes=xe,K.stateNode={containerInfo:X.containerInfo,pendingChildren:null,implementation:X.implementation},K}function $A(X,K,xe,ke,Ke){this.tag=K,this.containerInfo=X,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ie,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_i(0),this.expirationTimes=_i(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_i(0),this.identifierPrefix=ke,this.onRecoverableError=Ke,he&&(this.mutableSourceEagerHydrationData=null)}function z5(X,K,xe,ke,Ke,pt,Zt,xn,Kn){return X=new $A(X,K,xe,xn,Kn),K===1?(K=1,pt===!0&&(K|=8)):K=0,pt=kf(3,null,null,K),X.current=pt,pt.stateNode=X,pt.memoizedState={element:ke,isDehydrated:xe,cache:null,transitions:null},qn(pt),X}function D5(X){if(!X)return Ai;X=X._reactInternals;e:{if(R(X)!==X||X.tag!==1)throw Error(a(170));var K=X;do{switch(K.tag){case 3:K=K.stateNode.context;break e;case 1:if(eo(K.type)){K=K.stateNode.__reactInternalMemoizedMergedChildContext;break e}}K=K.return}while(K!==null);throw Error(a(171))}if(X.tag===1){var xe=X.type;if(eo(xe))return Hi(X,xe,K)}return K}function Sp(X){var K=X._reactInternals;if(K===void 0)throw typeof X.render=="function"?Error(a(188)):(X=Object.keys(X).join(","),Error(a(268,X)));return X=E(K),X===null?null:X.stateNode}function F3(X,K){if(X=X.memoizedState,X!==null&&X.dehydrated!==null){var xe=X.retryLane;X.retryLane=xe!==0&&xe=Bo&&pt>=Dr&&Ke<=Ii&&Zt<=Ji){X.splice(K,1);break}else if(ke!==Bo||xe.width!==Kn.width||JiZt){if(!(pt!==Dr||xe.height!==Kn.height||IiKe)){Bo>ke&&(Kn.width+=Bo-ke,Kn.x=ke),Iipt&&(Kn.height+=Dr-pt,Kn.y=pt),Jixe&&(xe=Zt)),ZtM3&&(K.flags|=128,ke=!0,G0(Ke,!1),K.lanes=4194304)}else{if(!ke)if(X=Qn(pt),X!==null){if(K.flags|=128,ke=!0,X=X.updateQueue,X!==null&&(K.updateQueue=X,K.flags|=4),G0(Ke,!0),Ke.tail===null&&Ke.tailMode==="hidden"&&!pt.alternate&&!yl)return fr(K),null}else 2*ui()-Ke.renderingStartTime>M3&&xe!==1073741824&&(K.flags|=128,ke=!0,G0(Ke,!1),K.lanes=4194304);Ke.isBackwards?(pt.sibling=K.child,K.child=pt):(X=Ke.last,X!==null?X.sibling=pt:K.child=pt,Ke.last=pt)}return Ke.tail!==null?(K=Ke.tail,Ke.rendering=K,Ke.tail=K.sibling,Ke.renderingStartTime=ui(),K.sibling=null,X=An.current,Un(An,ke?X&1|2:X&1),K):(fr(K),null);case 22:case 23:return E3(),ke=K.memoizedState!==null,X!==null&&X.memoizedState!==null!==ke&&(K.flags|=8192),ke&&K.mode&1?Su&1073741824&&(fr(K),ne&&K.subtreeFlags&6&&(K.flags|=8192)):fr(K),null;case 24:return null;case 25:return null}throw Error(a(156,K.tag))}var cS=l.ReactCurrentOwner,Fd=!1;function ks(X,K,xe,ke){K.child=X===null?$7(K,null,xe,ke):Ed(K,X.child,xe,ke)}function uS(X,K,xe,ke,Ke){xe=xe.render;var pt=K.ref;return vn(K,Ke),ke=La(X,K,xe,ke,pt,Ke),xe=w3(),X!==null&&!Fd?(K.updateQueue=X.updateQueue,K.flags&=-2053,X.lanes&=~Ke,Hc(X,K,Ke)):(yl&&xe&&p3(K),K.flags|=1,ks(X,K,ke,Ke),K.child)}function dS(X,K,xe,ke,Ke){if(X===null){var pt=xe.type;return typeof pt=="function"&&!Dh(pt)&&pt.defaultProps===void 0&&xe.compare===null&&xe.defaultProps===void 0?(K.tag=15,K.type=pt,DA(X,K,pt,ke,Ke)):(X=My(xe.type,null,ke,K,K.mode,Ke),X.ref=K.ref,X.return=K,K.child=X)}if(pt=X.child,!(X.lanes&Ke)){var Zt=pt.memoizedProps;if(xe=xe.compare,xe=xe!==null?xe:pn,xe(Zt,ke)&&X.ref===K.ref)return Hc(X,K,Ke)}return K.flags|=1,X=Bd(pt,ke),X.ref=K.ref,X.return=K,K.child=X}function DA(X,K,xe,ke,Ke){if(X!==null&&pn(X.memoizedProps,ke)&&X.ref===K.ref)if(Fd=!1,(X.lanes&Ke)!==0)X.flags&131072&&(Fd=!0);else return K.lanes=X.lanes,Hc(X,K,Ke);return Ih(X,K,xe,ke,Ke)}function o8(X,K,xe){var ke=K.pendingProps,Ke=ke.children,pt=X!==null?X.memoizedState:null;if(ke.mode==="hidden")if(!(K.mode&1))K.memoizedState={baseLanes:0,cachePool:null},Un(Nd,Su),Su|=xe;else if(xe&1073741824)K.memoizedState={baseLanes:0,cachePool:null},ke=pt!==null?pt.baseLanes:xe,Un(Nd,Su),Su|=ke;else return X=pt!==null?pt.baseLanes|xe:xe,K.lanes=K.childLanes=1073741824,K.memoizedState={baseLanes:X,cachePool:null},K.updateQueue=null,Un(Nd,Su),Su|=X,null;else pt!==null?(ke=pt.baseLanes|xe,K.memoizedState=null):ke=xe,Un(Nd,Su),Su|=ke;return ks(X,K,Ke,xe),K.child}function i8(X,K){var xe=K.ref;(X===null&&xe!==null||X!==null&&X.ref!==xe)&&(K.flags|=512,K.flags|=2097152)}function Ih(X,K,xe,ke,Ke){var pt=eo(xe)?li:vo.current;return pt=po(K,pt),vn(K,Ke),xe=La(X,K,xe,ke,pt,Ke),ke=w3(),X!==null&&!Fd?(K.updateQueue=X.updateQueue,K.flags&=-2053,X.lanes&=~Ke,Hc(X,K,Ke)):(yl&&ke&&p3(K),K.flags|=1,ks(X,K,xe,Ke),K.child)}function fS(X,K,xe,ke,Ke){if(eo(xe)){var pt=!0;vi(K)}else pt=!1;if(vn(K,Ke),K.stateNode===null)X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),qu(K,xe,ke),Ol(K,xe,ke,Ke),ke=!0;else if(X===null){var Zt=K.stateNode,xn=K.memoizedProps;Zt.props=xn;var Kn=Zt.context,Bo=xe.contextType;typeof Bo=="object"&&Bo!==null?Bo=kn(Bo):(Bo=eo(xe)?li:vo.current,Bo=po(K,Bo));var Ii=xe.getDerivedStateFromProps,Dr=typeof Ii=="function"||typeof Zt.getSnapshotBeforeUpdate=="function";Dr||typeof Zt.UNSAFE_componentWillReceiveProps!="function"&&typeof Zt.componentWillReceiveProps!="function"||(xn!==ke||Kn!==Bo)&&Hf(K,Zt,ke,Bo),Wn=!1;var Ji=K.memoizedState;Zt.state=Ji,ga(K,ke,Zt,Ke),Kn=K.memoizedState,xn!==ke||Ji!==Kn||Oo.current||Wn?(typeof Ii=="function"&&(Ku(K,xe,Ii,ke),Kn=K.memoizedState),(xn=Wn||Rf(K,xe,xn,ke,Ji,Kn,Bo))?(Dr||typeof Zt.UNSAFE_componentWillMount!="function"&&typeof Zt.componentWillMount!="function"||(typeof Zt.componentWillMount=="function"&&Zt.componentWillMount(),typeof Zt.UNSAFE_componentWillMount=="function"&&Zt.UNSAFE_componentWillMount()),typeof Zt.componentDidMount=="function"&&(K.flags|=4194308)):(typeof Zt.componentDidMount=="function"&&(K.flags|=4194308),K.memoizedProps=ke,K.memoizedState=Kn),Zt.props=ke,Zt.state=Kn,Zt.context=Bo,ke=xn):(typeof Zt.componentDidMount=="function"&&(K.flags|=4194308),ke=!1)}else{Zt=K.stateNode,Xn(X,K),xn=K.memoizedProps,Bo=K.type===K.elementType?xn:$e(K.type,xn),Zt.props=Bo,Dr=K.pendingProps,Ji=Zt.context,Kn=xe.contextType,typeof Kn=="object"&&Kn!==null?Kn=kn(Kn):(Kn=eo(xe)?li:vo.current,Kn=po(K,Kn));var dl=xe.getDerivedStateFromProps;(Ii=typeof dl=="function"||typeof Zt.getSnapshotBeforeUpdate=="function")||typeof Zt.UNSAFE_componentWillReceiveProps!="function"&&typeof Zt.componentWillReceiveProps!="function"||(xn!==Dr||Ji!==Kn)&&Hf(K,Zt,ke,Kn),Wn=!1,Ji=K.memoizedState,Zt.state=Ji,ga(K,ke,Zt,Ke);var Gi=K.memoizedState;xn!==Dr||Ji!==Gi||Oo.current||Wn?(typeof dl=="function"&&(Ku(K,xe,dl,ke),Gi=K.memoizedState),(Bo=Wn||Rf(K,xe,Bo,ke,Ji,Gi,Kn)||!1)?(Ii||typeof Zt.UNSAFE_componentWillUpdate!="function"&&typeof Zt.componentWillUpdate!="function"||(typeof Zt.componentWillUpdate=="function"&&Zt.componentWillUpdate(ke,Gi,Kn),typeof Zt.UNSAFE_componentWillUpdate=="function"&&Zt.UNSAFE_componentWillUpdate(ke,Gi,Kn)),typeof Zt.componentDidUpdate=="function"&&(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate=="function"&&(K.flags|=1024)):(typeof Zt.componentDidUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=1024),K.memoizedProps=ke,K.memoizedState=Gi),Zt.props=ke,Zt.state=Gi,Zt.context=Kn,ke=Bo):(typeof Zt.componentDidUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=1024),ke=!1)}return EA(X,K,xe,ke,pt,Ke)}function EA(X,K,xe,ke,Ke,pt){i8(X,K);var Zt=(K.flags&128)!==0;if(!ke&&!Zt)return Ke&&Cn(K,xe,!1),Hc(X,K,pt);ke=K.stateNode,cS.current=K;var xn=Zt&&typeof xe.getDerivedStateFromError!="function"?null:ke.render();return K.flags|=1,X!==null&&Zt?(K.child=Ed(K,X.child,null,pt),K.child=Ed(K,null,xn,pt)):ks(X,K,xn,pt),K.memoizedState=ke.state,Ke&&Cn(K,xe,!0),K.child}function hS(X){var K=X.stateNode;K.pendingContext?qo(X,K.pendingContext,K.pendingContext!==K.context):K.context&&qo(X,K.context,!1),Q7(X,K.containerInfo)}function pS(X,K,xe,ke,Ke){return fy(),m3(Ke),K.flags|=256,ks(X,K,xe,ke),K.child}var T3={dehydrated:null,treeContext:null,retryLane:0};function xu(X){return{baseLanes:X,cachePool:null}}function r8(X,K,xe){var ke=K.pendingProps,Ke=An.current,pt=!1,Zt=(K.flags&128)!==0,xn;if((xn=Zt)||(xn=X!==null&&X.memoizedState===null?!1:(Ke&2)!==0),xn?(pt=!0,K.flags&=-129):(X===null||X.memoizedState!==null)&&(Ke|=1),Un(An,Ke&1),X===null)return dy(K),X=K.memoizedState,X!==null&&(X=X.dehydrated,X!==null)?(K.mode&1?lt(X)?K.lanes=8:K.lanes=1073741824:K.lanes=1,null):(Ke=ke.children,X=ke.fallback,pt?(ke=K.mode,pt=K.child,Ke={mode:"hidden",children:Ke},!(ke&1)&&pt!==null?(pt.childLanes=0,pt.pendingProps=Ke):pt=Iy(Ke,ke,0,null),X=tm(X,ke,xe,null),pt.return=K,X.return=K,pt.sibling=X,K.child=pt,K.child.memoizedState=xu(xe),K.memoizedState=T3,X):kA(K,Ke));if(Ke=X.memoizedState,Ke!==null){if(xn=Ke.dehydrated,xn!==null){if(Zt)return K.flags&256?(K.flags&=-257,LA(X,K,xe,Error(a(422)))):K.memoizedState!==null?(K.child=X.child,K.flags|=128,null):(pt=ke.fallback,Ke=K.mode,ke=Iy({mode:"visible",children:ke.children},Ke,0,null),pt=tm(pt,Ke,xe,null),pt.flags|=2,ke.return=K,pt.return=K,ke.sibling=pt,K.child=ke,K.mode&1&&Ed(K,X.child,null,xe),K.child.memoizedState=xu(xe),K.memoizedState=T3,pt);if(!(K.mode&1))K=LA(X,K,xe,null);else if(lt(xn))K=LA(X,K,xe,Error(a(419)));else if(ke=(xe&X.childLanes)!==0,Fd||ke){if(ke=Ic,ke!==null){switch(xe&-xe){case 4:pt=2;break;case 16:pt=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:pt=32;break;case 536870912:pt=268435456;break;default:pt=0}ke=pt&(ke.suspendedLanes|xe)?0:pt,ke!==0&&ke!==Ke.retryLane&&(Ke.retryLane=ke,rd(X,ke,-1))}M5(),K=LA(X,K,xe,Error(a(421)))}else ct(xn)?(K.flags|=128,K.child=X.child,K=S1.bind(null,X),tt(xn,K),K=null):(xe=Ke.treeContext,he&&($s=st(xn),zs=K,yl=!0,el=null,Ng=!1,xe!==null&&(Gc[yu++]=f1,Gc[yu++]=O0,Gc[yu++]=d1,f1=xe.id,O0=xe.overflow,d1=K)),K=kA(K,K.pendingProps.children),K.flags|=4096);return K}return pt?(ke=a8(X,K,ke.children,ke.fallback,xe),pt=K.child,Ke=X.child.memoizedState,pt.memoizedState=Ke===null?xu(xe):{baseLanes:Ke.baseLanes|xe,cachePool:null},pt.childLanes=X.childLanes&~xe,K.memoizedState=T3,ke):(xe=FA(X,K,ke.children,xe),K.memoizedState=null,xe)}return pt?(ke=a8(X,K,ke.children,ke.fallback,xe),pt=K.child,Ke=X.child.memoizedState,pt.memoizedState=Ke===null?xu(xe):{baseLanes:Ke.baseLanes|xe,cachePool:null},pt.childLanes=X.childLanes&~xe,K.memoizedState=T3,ke):(xe=FA(X,K,ke.children,xe),K.memoizedState=null,xe)}function kA(X,K){return K=Iy({mode:"visible",children:K},X.mode,0,null),K.return=X,X.child=K}function FA(X,K,xe,ke){var Ke=X.child;return X=Ke.sibling,xe=Bd(Ke,{mode:"visible",children:xe}),!(K.mode&1)&&(xe.lanes=ke),xe.return=K,xe.sibling=null,X!==null&&(ke=K.deletions,ke===null?(K.deletions=[X],K.flags|=16):ke.push(X)),K.child=xe}function a8(X,K,xe,ke,Ke){var pt=K.mode;X=X.child;var Zt=X.sibling,xn={mode:"hidden",children:xe};return!(pt&1)&&K.child!==X?(xe=K.child,xe.childLanes=0,xe.pendingProps=xn,K.deletions=null):(xe=Bd(X,xn),xe.subtreeFlags=X.subtreeFlags&14680064),Zt!==null?ke=Bd(Zt,ke):(ke=tm(ke,pt,Ke,null),ke.flags|=2),ke.return=K,xe.return=K,xe.sibling=ke,K.child=xe,ke}function LA(X,K,xe,ke){return ke!==null&&m3(ke),Ed(K,X.child,null,xe),X=kA(K,K.pendingProps.children),X.flags|=2,K.memoizedState=null,X}function y1(X,K,xe){X.lanes|=K;var ke=X.alternate;ke!==null&&(ke.lanes|=K),mn(X.return,K,xe)}function WA(X,K,xe,ke,Ke){var pt=X.memoizedState;pt===null?X.memoizedState={isBackwards:K,rendering:null,renderingStartTime:0,last:ke,tail:xe,tailMode:Ke}:(pt.isBackwards=K,pt.rendering=null,pt.renderingStartTime=0,pt.last=ke,pt.tail=xe,pt.tailMode=Ke)}function l8(X,K,xe){var ke=K.pendingProps,Ke=ke.revealOrder,pt=ke.tail;if(ks(X,K,ke.children,xe),ke=An.current,ke&2)ke=ke&1|2,K.flags|=128;else{if(X!==null&&X.flags&128)e:for(X=K.child;X!==null;){if(X.tag===13)X.memoizedState!==null&&y1(X,xe,K);else if(X.tag===19)y1(X,xe,K);else if(X.child!==null){X.child.return=X,X=X.child;continue}if(X===K)break e;for(;X.sibling===null;){if(X.return===null||X.return===K)break e;X=X.return}X.sibling.return=X.return,X=X.sibling}ke&=1}if(Un(An,ke),!(K.mode&1))K.memoizedState=null;else switch(Ke){case"forwards":for(xe=K.child,Ke=null;xe!==null;)X=xe.alternate,X!==null&&Qn(X)===null&&(Ke=xe),xe=xe.sibling;xe=Ke,xe===null?(Ke=K.child,K.child=null):(Ke=xe.sibling,xe.sibling=null),WA(K,!1,Ke,xe,pt);break;case"backwards":for(xe=null,Ke=K.child,K.child=null;Ke!==null;){if(X=Ke.alternate,X!==null&&Qn(X)===null){K.child=Ke;break}X=Ke.sibling,Ke.sibling=xe,xe=Ke,Ke=X}WA(K,!0,xe,null,pt);break;case"together":WA(K,!1,null,null,void 0);break;default:K.memoizedState=null}return K.child}function Hc(X,K,xe){if(X!==null&&(K.dependencies=X.dependencies),id|=K.lanes,!(xe&K.childLanes))return null;if(X!==null&&K.child!==X.child)throw Error(a(153));if(K.child!==null){for(X=K.child,xe=Bd(X,X.pendingProps),K.child=xe,xe.return=K;X.sibling!==null;)X=X.sibling,xe=xe.sibling=Bd(X,X.pendingProps),xe.return=K;xe.sibling=null}return K.child}function NA(X,K,xe){switch(K.tag){case 3:hS(K),fy();break;case 5:lS(K);break;case 1:eo(K.type)&&vi(K);break;case 4:Q7(K,K.stateNode.containerInfo);break;case 10:rn(K,K.type._context,K.memoizedProps.value);break;case 13:var ke=K.memoizedState;if(ke!==null)return ke.dehydrated!==null?(Un(An,An.current&1),K.flags|=128,null):xe&K.child.childLanes?r8(X,K,xe):(Un(An,An.current&1),X=Hc(X,K,xe),X!==null?X.sibling:null);Un(An,An.current&1);break;case 19:if(ke=(xe&K.childLanes)!==0,X.flags&128){if(ke)return l8(X,K,xe);K.flags|=128}var Ke=K.memoizedState;if(Ke!==null&&(Ke.rendering=null,Ke.tail=null,Ke.lastEffect=null),Un(An,An.current),ke)break;return null;case 22:case 23:return K.lanes=0,o8(X,K,xe)}return Hc(X,K,xe)}function HM(X,K){switch(Au(K),K.tag){case 1:return eo(K.type)&&uo(),X=K.flags,X&65536?(K.flags=X&-65537|128,K):null;case 3:return gy(),Pn(Oo),Pn(vo),bi(),X=K.flags,X&65536&&!(X&128)?(K.flags=X&-65537|128,K):null;case 5:return Ap(K),null;case 13:if(Pn(An),X=K.memoizedState,X!==null&&X.dehydrated!==null){if(K.alternate===null)throw Error(a(340));fy()}return X=K.flags,X&65536?(K.flags=X&-65537|128,K):null;case 19:return Pn(An),null;case 4:return gy(),null;case 10:return gn(K.type._context),null;case 22:case 23:return E3(),null;case 24:return null;default:return null}}var _g=!1,Ay=!1,MM=typeof WeakSet=="function"?WeakSet:Set,mi=null;function Vg(X,K){var xe=X.ref;if(xe!==null)if(typeof xe=="function")try{xe(null)}catch(ke){K0(X,K,ke)}else xe.current=null}function v5(X,K,xe){try{xe()}catch(ke){K0(X,K,ke)}}var s8=!1;function UA(X,K){for(N(X.containerInfo),mi=K;mi!==null;)if(X=mi,K=X.child,(X.subtreeFlags&1028)!==0&&K!==null)K.return=X,mi=K;else for(;mi!==null;){X=mi;try{var xe=X.alternate;if(X.flags&1024)switch(X.tag){case 0:case 11:case 15:break;case 1:if(xe!==null){var ke=xe.memoizedProps,Ke=xe.memoizedState,pt=X.stateNode,Zt=pt.getSnapshotBeforeUpdate(X.elementType===X.type?ke:$e(X.type,ke),Ke);pt.__reactInternalSnapshotBeforeUpdate=Zt}break;case 3:ne&&St(X.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(xn){K0(X,X.return,xn)}if(K=X.sibling,K!==null){K.return=X.return,mi=K;break}mi=X.return}return xe=s8,s8=!1,xe}function td(X,K,xe){var ke=K.updateQueue;if(ke=ke!==null?ke.lastEffect:null,ke!==null){var Ke=ke=ke.next;do{if((Ke.tag&X)===X){var pt=Ke.destroy;Ke.destroy=void 0,pt!==void 0&&v5(K,xe,pt)}Ke=Ke.next}while(Ke!==ke)}}function vp(X,K){if(K=K.updateQueue,K=K!==null?K.lastEffect:null,K!==null){var xe=K=K.next;do{if((xe.tag&X)===X){var ke=xe.create;xe.destroy=ke()}xe=xe.next}while(xe!==K)}}function P3(X){var K=X.ref;if(K!==null){var xe=X.stateNode;switch(X.tag){case 5:X=W(xe);break;default:X=xe}typeof K=="function"?K(X):K.current=X}}function BA(X,K,xe){if(qs&&typeof qs.onCommitFiberUnmount=="function")try{qs.onCommitFiberUnmount(Is,K)}catch{}switch(K.tag){case 0:case 11:case 14:case 15:if(X=K.updateQueue,X!==null&&(X=X.lastEffect,X!==null)){var ke=X=X.next;do{var Ke=ke,pt=Ke.destroy;Ke=Ke.tag,pt!==void 0&&(Ke&2||Ke&4)&&v5(K,xe,pt),ke=ke.next}while(ke!==X)}break;case 1:if(Vg(K,xe),X=K.stateNode,typeof X.componentWillUnmount=="function")try{X.props=K.memoizedProps,X.state=K.memoizedState,X.componentWillUnmount()}catch(Zt){K0(K,xe,Zt)}break;case 5:Vg(K,xe);break;case 4:ne?OA(X,K,xe):Z&&Z&&(K=K.stateNode.containerInfo,xe=je(K),wt(K,xe))}}function jA(X,K,xe){for(var ke=K;;)if(BA(X,ke,xe),ke.child===null||ne&&ke.tag===4){if(ke===K)break;for(;ke.sibling===null;){if(ke.return===null||ke.return===K)return;ke=ke.return}ke.sibling.return=ke.return,ke=ke.sibling}else ke.child.return=ke,ke=ke.child}function zh(X){var K=X.alternate;K!==null&&(X.alternate=null,zh(K)),X.child=null,X.deletions=null,X.sibling=null,X.tag===5&&(K=X.stateNode,K!==null&&de(K)),X.stateNode=null,X.return=null,X.dependencies=null,X.memoizedProps=null,X.memoizedState=null,X.pendingProps=null,X.stateNode=null,X.updateQueue=null}function x5(X){return X.tag===5||X.tag===3||X.tag===4}function w0(X){e:for(;;){for(;X.sibling===null;){if(X.return===null||x5(X.return))return null;X=X.return}for(X.sibling.return=X.return,X=X.sibling;X.tag!==5&&X.tag!==6&&X.tag!==18;){if(X.flags&2||X.child===null||X.tag===4)continue e;X.child.return=X,X=X.child}if(!(X.flags&2))return X.stateNode}}function nd(X){if(ne){e:{for(var K=X.return;K!==null;){if(x5(K))break e;K=K.return}throw Error(a(160))}var xe=K;switch(xe.tag){case 5:K=xe.stateNode,xe.flags&32&&(De(K),xe.flags&=-33),xe=w0(X),C3(X,xe,K);break;case 3:case 4:K=xe.stateNode.containerInfo,xe=w0(X),YA(X,xe,K);break;default:throw Error(a(161))}}}function YA(X,K,xe){var ke=X.tag;if(ke===5||ke===6)X=X.stateNode,K?Le(xe,X,K):Ie(xe,X);else if(ke!==4&&(X=X.child,X!==null))for(YA(X,K,xe),X=X.sibling;X!==null;)YA(X,K,xe),X=X.sibling}function C3(X,K,xe){var ke=X.tag;if(ke===5||ke===6)X=X.stateNode,K?Ne(xe,X,K):Te(xe,X);else if(ke!==4&&(X=X.child,X!==null))for(C3(X,K,xe),X=X.sibling;X!==null;)C3(X,K,xe),X=X.sibling}function OA(X,K,xe){for(var ke=K,Ke=!1,pt,Zt;;){if(!Ke){Ke=ke.return;e:for(;;){if(Ke===null)throw Error(a(160));switch(pt=Ke.stateNode,Ke.tag){case 5:Zt=!1;break e;case 3:pt=pt.containerInfo,Zt=!0;break e;case 4:pt=pt.containerInfo,Zt=!0;break e}Ke=Ke.return}Ke=!0}if(ke.tag===5||ke.tag===6)jA(X,ke,xe),Zt?We(pt,ke.stateNode):qe(pt,ke.stateNode);else if(ke.tag===18)Zt?Ge(pt,ke.stateNode):mt(pt,ke.stateNode);else if(ke.tag===4){if(ke.child!==null){pt=ke.stateNode.containerInfo,Zt=!0,ke.child.return=ke,ke=ke.child;continue}}else if(BA(X,ke,xe),ke.child!==null){ke.child.return=ke,ke=ke.child;continue}if(ke===K)break;for(;ke.sibling===null;){if(ke.return===null||ke.return===K)return;ke=ke.return,ke.tag===4&&(Ke=!1)}ke.sibling.return=ke.return,ke=ke.sibling}}function Gg(X,K){if(ne){switch(K.tag){case 0:case 11:case 14:case 15:td(3,K,K.return),vp(3,K),td(5,K,K.return);return;case 1:return;case 5:var xe=K.stateNode;if(xe!=null){var ke=K.memoizedProps;X=X!==null?X.memoizedProps:ke;var Ke=K.type,pt=K.updateQueue;K.updateQueue=null,pt!==null&&Ue(xe,pt,Ke,X,ke,K)}return;case 6:if(K.stateNode===null)throw Error(a(162));xe=K.memoizedProps,Ce(K.stateNode,X!==null?X.memoizedProps:xe,xe);return;case 3:he&&X!==null&&X.memoizedState.isDehydrated&&ht(K.stateNode.containerInfo);return;case 12:return;case 13:od(K);return;case 19:od(K);return;case 17:return}throw Error(a(163))}switch(K.tag){case 0:case 11:case 14:case 15:td(3,K,K.return),vp(3,K),td(5,K,K.return);return;case 12:return;case 13:od(K);return;case 19:od(K);return;case 3:he&&X!==null&&X.memoizedState.isDehydrated&&ht(K.stateNode.containerInfo);break;case 22:case 23:return}e:if(Z){switch(K.tag){case 1:case 5:case 6:break e;case 3:case 4:K=K.stateNode,wt(K.containerInfo,K.pendingChildren);break e}throw Error(a(163))}}function od(X){var K=X.updateQueue;if(K!==null){X.updateQueue=null;var xe=X.stateNode;xe===null&&(xe=X.stateNode=new MM),K.forEach(function(ke){var Ke=k3.bind(null,X,ke);xe.has(ke)||(xe.add(ke),ke.then(Ke,Ke))})}}function b5(X,K){for(mi=K;mi!==null;){K=mi;var xe=K.deletions;if(xe!==null)for(var ke=0;ke";case Ld:return":has("+(P5(X)||"")+")";case bu:return'[role="'+X.value+'"]';case Wd:return'"'+X.value+'"';case T5:return'[data-testname="'+X.value+'"]';default:throw Error(a(365))}}function Xg(X,K){var xe=[];X=[X,0];for(var ke=0;keKe&&(Ke=Zt),ke&=~pt}if(ke=Ke,ke=ui()-ke,ke=(120>ke?120:480>ke?480:1080>ke?1080:1920>ke?1920:3e3>ke?3e3:4320>ke?4320:1960*vy(ke/1960))-ke,10X?16:X,Ud===null)var ke=!1;else{if(X=Ud,Ud=null,R5=0,Cr&6)throw Error(a(331));var Ke=Cr;for(Cr|=4,mi=X.current;mi!==null;){var pt=mi,Zt=pt.child;if(mi.flags&16){var xn=pt.deletions;if(xn!==null){for(var Kn=0;Knui()-GA?ec(X,0):H3|=xe),Qi(X,K)}function d8(X,K){K===0&&(X.mode&1?(K=bo,bo<<=1,!(bo&130023424)&&(bo=4194304)):K=1);var xe=v0();X=qg(X,K),X!==null&&(Qo(X,K,xe),Qi(X,xe))}function S1(X){var K=X.memoizedState,xe=0;K!==null&&(xe=K.retryLane),d8(X,xe)}function k3(X,K){var xe=0;switch(X.tag){case 13:var ke=X.stateNode,Ke=X.memoizedState;Ke!==null&&(xe=Ke.retryLane);break;case 19:ke=X.stateNode;break;default:throw Error(a(314))}ke!==null&&ke.delete(K),d8(X,xe)}var KA;KA=function(X,K,xe){if(X!==null)if(X.memoizedProps!==K.pendingProps||Oo.current)Fd=!0;else{if(!(X.lanes&xe)&&!(K.flags&128))return Fd=!1,NA(X,K,xe);Fd=!!(X.flags&131072)}else Fd=!1,yl&&K.flags&1048576&&Wg(K,uy,K.index);switch(K.lanes=0,K.tag){case 2:var ke=K.type;X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),X=K.pendingProps;var Ke=po(K,vo.current);vn(K,xe),Ke=La(null,K,ke,X,Ke,xe);var pt=w3();return K.flags|=1,typeof Ke=="object"&&Ke!==null&&typeof Ke.render=="function"&&Ke.$$typeof===void 0?(K.tag=1,K.memoizedState=null,K.updateQueue=null,eo(ke)?(pt=!0,vi(K)):pt=!1,K.memoizedState=Ke.state!==null&&Ke.state!==void 0?Ke.state:null,qn(K),Ke.updater=Th,K.stateNode=Ke,Ke._reactInternals=K,Ol(K,ke,X,xe),K=EA(null,K,ke,!0,pt,xe)):(K.tag=0,yl&&pt&&p3(K),ks(null,K,Ke,xe),K=K.child),K;case 16:ke=K.elementType;e:{switch(X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),X=K.pendingProps,Ke=ke._init,ke=Ke(ke._payload),K.type=ke,Ke=K.tag=em(ke),X=$e(ke,X),Ke){case 0:K=Ih(null,K,ke,X,xe);break e;case 1:K=fS(null,K,ke,X,xe);break e;case 11:K=uS(null,K,ke,X,xe);break e;case 14:K=dS(null,K,ke,$e(ke.type,X),xe);break e}throw Error(a(306,ke,""))}return K;case 0:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:$e(ke,Ke),Ih(X,K,ke,Ke,xe);case 1:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:$e(ke,Ke),fS(X,K,ke,Ke,xe);case 3:e:{if(hS(K),X===null)throw Error(a(387));ke=K.pendingProps,pt=K.memoizedState,Ke=pt.element,Xn(X,K),ga(K,ke,null,xe);var Zt=K.memoizedState;if(ke=Zt.element,he&&pt.isDehydrated)if(pt={element:ke,isDehydrated:!1,cache:Zt.cache,transitions:Zt.transitions},K.updateQueue.baseState=pt,K.memoizedState=pt,K.flags&256){Ke=Error(a(423)),K=pS(X,K,ke,xe,Ke);break e}else if(ke!==Ke){Ke=Error(a(424)),K=pS(X,K,ke,xe,Ke);break e}else for(he&&($s=Mt(K.stateNode.containerInfo),zs=K,yl=!0,el=null,Ng=!1),xe=$7(K,null,ke,xe),K.child=xe;xe;)xe.flags=xe.flags&-3|4096,xe=xe.sibling;else{if(fy(),ke===Ke){K=Hc(X,K,xe);break e}ks(X,K,ke,xe)}K=K.child}return K;case 5:return lS(K),X===null&&dy(K),ke=K.type,Ke=K.pendingProps,pt=X!==null?X.memoizedProps:null,Zt=Ke.children,ee(ke,Ke)?Zt=null:pt!==null&&ee(ke,pt)&&(K.flags|=32),i8(X,K),ks(X,K,Zt,xe),K.child;case 6:return X===null&&dy(K),null;case 13:return r8(X,K,xe);case 4:return Q7(K,K.stateNode.containerInfo),ke=K.pendingProps,X===null?K.child=Ed(K,null,ke,xe):ks(X,K,ke,xe),K.child;case 11:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:$e(ke,Ke),uS(X,K,ke,Ke,xe);case 7:return ks(X,K,K.pendingProps,xe),K.child;case 8:return ks(X,K,K.pendingProps.children,xe),K.child;case 12:return ks(X,K,K.pendingProps.children,xe),K.child;case 10:e:{if(ke=K.type._context,Ke=K.pendingProps,pt=K.memoizedProps,Zt=Ke.value,rn(K,ke,Zt),pt!==null)if(Wl(pt.value,Zt)){if(pt.children===Ke.children&&!Oo.current){K=Hc(X,K,xe);break e}}else for(pt=K.child,pt!==null&&(pt.return=K);pt!==null;){var xn=pt.dependencies;if(xn!==null){Zt=pt.child;for(var Kn=xn.firstContext;Kn!==null;){if(Kn.context===ke){if(pt.tag===1){Kn=Jo(-1,xe&-xe),Kn.tag=2;var Bo=pt.updateQueue;if(Bo!==null){Bo=Bo.shared;var Ii=Bo.pending;Ii===null?Kn.next=Kn:(Kn.next=Ii.next,Ii.next=Kn),Bo.pending=Kn}}pt.lanes|=xe,Kn=pt.alternate,Kn!==null&&(Kn.lanes|=xe),mn(pt.return,xe,K),xn.lanes|=xe;break}Kn=Kn.next}}else if(pt.tag===10)Zt=pt.type===K.type?null:pt.child;else if(pt.tag===18){if(Zt=pt.return,Zt===null)throw Error(a(341));Zt.lanes|=xe,xn=Zt.alternate,xn!==null&&(xn.lanes|=xe),mn(Zt,xe,K),Zt=pt.sibling}else Zt=pt.child;if(Zt!==null)Zt.return=pt;else for(Zt=pt;Zt!==null;){if(Zt===K){Zt=null;break}if(pt=Zt.sibling,pt!==null){pt.return=Zt.return,Zt=pt;break}Zt=Zt.return}pt=Zt}ks(X,K,Ke.children,xe),K=K.child}return K;case 9:return Ke=K.type,ke=K.pendingProps.children,vn(K,xe),Ke=kn(Ke),ke=ke(Ke),K.flags|=1,ks(X,K,ke,xe),K.child;case 14:return ke=K.type,Ke=$e(ke,K.pendingProps),Ke=$e(ke.type,Ke),dS(X,K,ke,Ke,xe);case 15:return DA(X,K,K.type,K.pendingProps,xe);case 17:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:$e(ke,Ke),X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),K.tag=1,eo(ke)?(X=!0,vi(K)):X=!1,vn(K,xe),qu(K,ke,Ke),Ol(K,ke,Ke,xe),EA(null,K,ke,!0,X,xe);case 19:return l8(X,K,xe);case 22:return o8(X,K,xe)}throw Error(a(156,K.tag))};function Zg(X,K){return Mo(X,K)}function qA(X,K,xe,ke){this.tag=X,this.key=xe,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=K,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=ke,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kf(X,K,xe,ke){return new qA(X,K,xe,ke)}function Dh(X){return X=X.prototype,!(!X||!X.isReactComponent)}function em(X){if(typeof X=="function")return Dh(X)?1:0;if(X!=null){if(X=X.$$typeof,X===y)return 11;if(X===C)return 14}return 2}function Bd(X,K){var xe=X.alternate;return xe===null?(xe=kf(X.tag,K,X.key,X.mode),xe.elementType=X.elementType,xe.type=X.type,xe.stateNode=X.stateNode,xe.alternate=X,X.alternate=xe):(xe.pendingProps=K,xe.type=X.type,xe.flags=0,xe.subtreeFlags=0,xe.deletions=null),xe.flags=X.flags&14680064,xe.childLanes=X.childLanes,xe.lanes=X.lanes,xe.child=X.child,xe.memoizedProps=X.memoizedProps,xe.memoizedState=X.memoizedState,xe.updateQueue=X.updateQueue,K=X.dependencies,xe.dependencies=K===null?null:{lanes:K.lanes,firstContext:K.firstContext},xe.sibling=X.sibling,xe.index=X.index,xe.ref=X.ref,xe}function My(X,K,xe,ke,Ke,pt){var Zt=2;if(ke=X,typeof X=="function")Dh(X)&&(Zt=1);else if(typeof X=="string")Zt=5;else e:switch(X){case u:return tm(xe.children,Ke,pt,K);case d:Zt=8,Ke|=8;break;case f:return X=kf(12,xe,K,Ke|2),X.elementType=f,X.lanes=pt,X;case A:return X=kf(13,xe,K,Ke),X.elementType=A,X.lanes=pt,X;case x:return X=kf(19,xe,K,Ke),X.elementType=x,X.lanes=pt,X;case v:return Iy(xe,Ke,pt,K);default:if(typeof X=="object"&&X!==null)switch(X.$$typeof){case p:Zt=10;break e;case g:Zt=9;break e;case y:Zt=11;break e;case C:Zt=14;break e;case b:Zt=16,ke=null;break e}throw Error(a(130,X==null?X:typeof X,""))}return K=kf(Zt,xe,K,Ke),K.elementType=X,K.type=ke,K.lanes=pt,K}function tm(X,K,xe,ke){return X=kf(7,X,ke,K),X.lanes=xe,X}function Iy(X,K,xe,ke){return X=kf(22,X,ke,K),X.elementType=v,X.lanes=xe,X.stateNode={},X}function b0(X,K,xe){return X=kf(6,X,null,K),X.lanes=xe,X}function jd(X,K,xe){return K=kf(4,X.children!==null?X.children:[],X.key,K),K.lanes=xe,K.stateNode={containerInfo:X.containerInfo,pendingChildren:null,implementation:X.implementation},K}function $A(X,K,xe,ke,Ke){this.tag=K,this.containerInfo=X,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ie,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_i(0),this.expirationTimes=_i(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_i(0),this.identifierPrefix=ke,this.onRecoverableError=Ke,he&&(this.mutableSourceEagerHydrationData=null)}function z5(X,K,xe,ke,Ke,pt,Zt,xn,Kn){return X=new $A(X,K,xe,xn,Kn),K===1?(K=1,pt===!0&&(K|=8)):K=0,pt=kf(3,null,null,K),X.current=pt,pt.stateNode=X,pt.memoizedState={element:ke,isDehydrated:xe,cache:null,transitions:null},qn(pt),X}function D5(X){if(!X)return Ai;X=X._reactInternals;e:{if(R(X)!==X||X.tag!==1)throw Error(a(170));var K=X;do{switch(K.tag){case 3:K=K.stateNode.context;break e;case 1:if(eo(K.type)){K=K.stateNode.__reactInternalMemoizedMergedChildContext;break e}}K=K.return}while(K!==null);throw Error(a(171))}if(X.tag===1){var xe=X.type;if(eo(xe))return Hi(X,xe,K)}return K}function Sp(X){var K=X._reactInternals;if(K===void 0)throw typeof X.render=="function"?Error(a(188)):(X=Object.keys(X).join(","),Error(a(268,X)));return X=E(K),X===null?null:X.stateNode}function F3(X,K){if(X=X.memoizedState,X!==null&&X.dehydrated!==null){var xe=X.retryLane;X.retryLane=xe!==0&&xe=Bo&&pt>=Dr&&Ke<=Ii&&Zt<=Ji){X.splice(K,1);break}else if(ke!==Bo||xe.width!==Kn.width||JiZt){if(!(pt!==Dr||xe.height!==Kn.height||IiKe)){Bo>ke&&(Kn.width+=Bo-ke,Kn.x=ke),Iipt&&(Kn.height+=Dr-pt,Kn.y=pt),Jixe&&(xe=Zt)),Zt ")+` No matching component was found for: @@ -3698,7 +3698,7 @@ No matching component was found for: In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function s3t(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var mT=typeof window<"u"&&window.THREE?window.THREE:{LinearFilter:js,Sprite:c1e,SpriteMaterial:YK,SRGBColorSpace:nu,Texture:_c},c3t=function(t){t3t(e,t);function e(){var n,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:10,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"rgba(255, 255, 255, 1)";return Q9t(this,e),n=J9t(this,e,[new mT.SpriteMaterial]),n._text="".concat(o),n._textHeight=i,n._color=r,n._backgroundColor=!1,n._padding=0,n._borderWidth=0,n._borderRadius=0,n._borderColor="white",n._strokeWidth=0,n._strokeColor="white",n._fontFace="system-ui",n._fontSize=90,n._fontWeight="normal",n._canvas=document.createElement("canvas"),n._genCanvas(),n}return e3t(e,[{key:"text",get:function(){return this._text},set:function(o){this._text=o,this._genCanvas()}},{key:"textHeight",get:function(){return this._textHeight},set:function(o){this._textHeight=o,this._genCanvas()}},{key:"color",get:function(){return this._color},set:function(o){this._color=o,this._genCanvas()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(o){this._backgroundColor=o,this._genCanvas()}},{key:"padding",get:function(){return this._padding},set:function(o){this._padding=o,this._genCanvas()}},{key:"borderWidth",get:function(){return this._borderWidth},set:function(o){this._borderWidth=o,this._genCanvas()}},{key:"borderRadius",get:function(){return this._borderRadius},set:function(o){this._borderRadius=o,this._genCanvas()}},{key:"borderColor",get:function(){return this._borderColor},set:function(o){this._borderColor=o,this._genCanvas()}},{key:"fontFace",get:function(){return this._fontFace},set:function(o){this._fontFace=o,this._genCanvas()}},{key:"fontSize",get:function(){return this._fontSize},set:function(o){this._fontSize=o,this._genCanvas()}},{key:"fontWeight",get:function(){return this._fontWeight},set:function(o){this._fontWeight=o,this._genCanvas()}},{key:"strokeWidth",get:function(){return this._strokeWidth},set:function(o){this._strokeWidth=o,this._genCanvas()}},{key:"strokeColor",get:function(){return this._strokeColor},set:function(o){this._strokeColor=o,this._genCanvas()}},{key:"_genCanvas",value:function(){var o=this,i=this._canvas,r=i.getContext("2d"),a=Array.isArray(this.borderWidth)?this.borderWidth:[this.borderWidth,this.borderWidth],l=a.map(function(T){return T*o.fontSize*.1}),s=Array.isArray(this.borderRadius)?this.borderRadius:[this.borderRadius,this.borderRadius,this.borderRadius,this.borderRadius],c=s.map(function(T){return T*o.fontSize*.1}),u=Array.isArray(this.padding)?this.padding:[this.padding,this.padding],d=u.map(function(T){return T*o.fontSize*.1}),f=this.text.split(` `),p="".concat(this.fontWeight," ").concat(this.fontSize,"px ").concat(this.fontFace);r.font=p;var g=Math.max.apply(Math,Oj(f.map(function(T){return r.measureText(T).width}))),y=this.fontSize*f.length;if(i.width=g+l[0]*2+d[0]*2,i.height=y+l[1]*2+d[1]*2,this.borderWidth){if(r.strokeStyle=this.borderColor,l[0]){var A=l[0]/2;r.lineWidth=l[0],r.beginPath(),r.moveTo(A,c[0]),r.lineTo(A,i.height-c[3]),r.moveTo(i.width-A,c[1]),r.lineTo(i.width-A,i.height-c[2]),r.stroke()}if(l[1]){var x=l[1]/2;r.lineWidth=l[1],r.beginPath(),r.moveTo(Math.max(l[0],c[0]),x),r.lineTo(i.width-Math.max(l[0],c[1]),x),r.moveTo(Math.max(l[0],c[3]),i.height-x),r.lineTo(i.width-Math.max(l[0],c[2]),i.height-x),r.stroke()}if(this.borderRadius){var C=Math.max.apply(Math,Oj(l)),b=C/2;r.lineWidth=C,r.beginPath(),[!!c[0]&&[c[0],b,b,c[0]],!!c[1]&&[i.width-c[1],i.width-b,b,c[1]],!!c[2]&&[i.width-c[2],i.width-b,i.height-b,i.height-c[2]],!!c[3]&&[c[3],b,i.height-b,i.height-c[3]]].filter(function(T){return T}).forEach(function(T){var P=xwe(T,4),R=P[0],H=P[1],D=P[2],E=P[3];r.moveTo(R,D),r.quadraticCurveTo(H,D,H,E)}),r.stroke()}}this.backgroundColor&&(r.fillStyle=this.backgroundColor,this.borderRadius?(r.beginPath(),r.moveTo(l[0],c[0]),[[l[0],c[0],i.width-c[1],l[1],l[1],l[1]],[i.width-l[0],i.width-l[0],i.width-l[0],l[1],c[1],i.height-c[2]],[i.width-l[0],i.width-c[2],c[3],i.height-l[1],i.height-l[1],i.height-l[1]],[l[0],l[0],l[0],i.height-l[1],i.height-c[3],c[0]]].forEach(function(T){var P=xwe(T,6),R=P[0],H=P[1],D=P[2],E=P[3],L=P[4],U=P[5];r.quadraticCurveTo(R,E,H,L),r.lineTo(D,U)}),r.closePath(),r.fill()):r.fillRect(l[0],l[1],i.width-l[0]*2,i.height-l[1]*2)),r.translate.apply(r,Oj(l)),r.translate.apply(r,Oj(d)),r.font=p,r.fillStyle=this.color,r.textBaseline="bottom";var v=this.strokeWidth>0;v&&(r.lineWidth=this.strokeWidth*this.fontSize/10,r.strokeStyle=this.strokeColor),f.forEach(function(T,P){var R=(g-r.measureText(T).width)/2,H=(P+1)*o.fontSize;v&&r.strokeText(T,R,H),r.fillText(T,R,H)}),this.material.map&&this.material.map.dispose();var S=this.material.map=new mT.Texture(i);S.minFilter=mT.LinearFilter,S.colorSpace=mT.SRGBColorSpace,S.needsUpdate=!0;var w=this.textHeight*f.length+a[1]*2+u[1]*2;this.scale.set(w*i.width/i.height,w,0)}},{key:"clone",value:function(){return new this.constructor(this.text,this.textHeight,this.color).copy(this)}},{key:"copy",value:function(o){return mT.Sprite.prototype.copy.call(this,o),this.color=o.color,this.backgroundColor=o.backgroundColor,this.padding=o.padding,this.borderWidth=o.borderWidth,this.borderColor=o.borderColor,this.fontFace=o.fontFace,this.fontSize=o.fontSize,this.fontWeight=o.fontWeight,this.strokeWidth=o.strokeWidth,this.strokeColor=o.strokeColor,this}}]),e}(mT.Sprite);const U8={type:"change"},joe={type:"start"},B8={type:"end"};class u3t extends V9{constructor(e,n){super(),n===void 0&&console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'),n===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.object=e,this.domElement=n,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new ae,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.moveSpeed=1,this.turnSpeed=1,this.keys={MOVE_LEFT:"KeyA",MOVE_RIGHT:"KeyD",MOVE_FORWARD:"KeyW",MOVE_BACKWARD:"KeyS",MOVE_UP:"KeyZ",MOVE_DOWN:"KeyX",ROTATE_LEFT:"ArrowLeft",ROTATE_UP:"ArrowUp",ROTATE_RIGHT:"ArrowRight",ROTATE_DOWN:"ArrowDown"},this.mouseButtons={LEFT:ov.ROTATE,MIDDLE:ov.DOLLY,RIGHT:ov.PAN},this.touches={ONE:iv.ROTATE,TWO:iv.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return l.phi},this.getAzimuthalAngle=function(){return l.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(We){We.addEventListener("keydown",Te),this._domElementKeyEvents=We,T=!1,P=0},this.removeKeyEvents=function(){o._domElementKeyEvents!==null&&o._domElementKeyEvents.removeEventListener("keydown",Te)},this.saveState=function(){o.target0.copy(o.target),o.position0.copy(o.object.position),o.zoom0=o.object.zoom},this.reset=function(){o.target.copy(o.target0),o.object.position.copy(o.position0),o.object.zoom=o.zoom0,o.object.updateProjectionMatrix(),o.dispatchEvent(U8),o.update(),r=i.NONE},this.update=function(){const We=new ae,De=new Ts().setFromUnitVectors(e.up,new ae(0,1,0)),Fe=De.clone().invert(),_e=new ae,ot=new Ts,Ye=2*Math.PI;return function(){const dt=o.object.position;We.copy(dt).sub(o.target),We.applyQuaternion(De),l.setFromVector3(We),o.autoRotate&&r===i.NONE&&D(R()),o.enableDamping?(l.theta+=s.theta*o.dampingFactor,l.phi+=s.phi*o.dampingFactor):(l.theta+=s.theta,l.phi+=s.phi);let je=o.minAzimuthAngle,at=o.maxAzimuthAngle;return isFinite(je)&&isFinite(at)&&(je<-Math.PI?je+=Ye:je>Math.PI&&(je-=Ye),at<-Math.PI?at+=Ye:at>Math.PI&&(at-=Ye),je<=at?l.theta=Math.max(je,Math.min(at,l.theta)):l.theta=l.theta>(je+at)/2?Math.max(je,l.theta):Math.min(at,l.theta)),l.phi=Math.max(o.minPolarAngle,Math.min(o.maxPolarAngle,l.phi)),l.makeSafe(),l.radius*=c,l.radius=Math.max(o.minDistance,Math.min(o.maxDistance,l.radius)),o.enableDamping===!0?o.target.addScaledVector(u,o.dampingFactor):o.target.add(u),We.setFromSpherical(l),We.applyQuaternion(Fe),dt.copy(o.target).add(We),o.object.lookAt(o.target),o.enableDamping===!0?(s.theta*=1-o.dampingFactor,s.phi*=1-o.dampingFactor,u.multiplyScalar(1-o.dampingFactor)):(s.set(0,0,0),u.set(0,0,0)),c=1,d||_e.distanceToSquared(o.object.position)>a||8*(1-ot.dot(o.object.quaternion))>a?(o.dispatchEvent(U8),_e.copy(o.object.position),ot.copy(o.object.quaternion),d=!1,!0):!1}}(),this.dispose=function(){o.domElement.removeEventListener("contextmenu",Ee),o.domElement.removeEventListener("pointerdown",Re),o.domElement.removeEventListener("pointercancel",re),o.domElement.removeEventListener("wheel",ye),o.domElement.removeEventListener("pointermove",ze),o.domElement.removeEventListener("pointerup",Ae),o._domElementKeyEvents!==null&&o._domElementKeyEvents.removeEventListener("keydown",Te)};const o=this,i={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let r=i.NONE;const a=1e-6,l=new Qse,s=new Qse;let c=1;const u=new ae;let d=!1;const f=new Gt,p=new Gt,g=new Gt,y=new Gt,A=new Gt,x=new Gt,C=new Gt,b=new Gt,v=new Gt,S=[],w={};let T=!1,P=0;function R(){return 2*Math.PI/60/60*o.autoRotateSpeed}function H(){return Math.pow(.95,o.zoomSpeed)}function D(We){s.theta-=We}function E(We){s.phi-=We}const L=function(){const We=new ae;return function(Fe,_e){We.setFromMatrixColumn(_e,0),We.multiplyScalar(-Fe),u.add(We)}}(),U=function(){const We=new ae;return function(Fe,_e){o.screenSpacePanning===!0?We.setFromMatrixColumn(_e,1):(We.setFromMatrixColumn(_e,0),We.crossVectors(o.object.up,We)),We.multiplyScalar(Fe),u.add(We)}}(),F=function(){const We=new ae;return function(Fe,_e){const ot=o.domElement;if(o.object.isPerspectiveCamera){const Ye=o.object.position;We.copy(Ye).sub(o.target);let St=We.length();St*=Math.tan(o.object.fov/2*Math.PI/180),L(2*Fe*St/ot.clientHeight,o.object.matrix),U(2*_e*St/ot.clientHeight,o.object.matrix)}else o.object.isOrthographicCamera?(L(Fe*(o.object.right-o.object.left)/o.object.zoom/ot.clientWidth,o.object.matrix),U(_e*(o.object.top-o.object.bottom)/o.object.zoom/ot.clientHeight,o.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),o.enablePan=!1)}}(),W=function(){const We=new ae;return function(Fe){const _e=o.object;We.setFromMatrixColumn(_e.matrix,1),We.multiplyScalar(Fe*.1),_e.position.add(We),_e.position.z=Math.max(0,_e.position.z),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),B=function(){const We=new ae;return function(Fe){const _e=o.object;We.setFromMatrixColumn(_e.matrix,0),We.crossVectors(_e.up,We),We.multiplyScalar(Fe*.1),_e.position.add(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),k=function(){const We=new ae;return function(Fe){const _e=o.object;We.setFromMatrixColumn(_e.matrix,0),We.multiplyScalar(Fe*.1),_e.position.add(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),N=function(){const We=new Qt(0,0,0,"ZXY");return function(Fe){const _e=o.object;We.setFromQuaternion(_e.quaternion),Math.abs(Math.abs(We.z-P)-Math.PI)<.01&&(T=!T),T?We.x-=.01*Fe:We.x+=.01*Fe,We.x=Math.max(.1,We.x),P=We.z,_e.quaternion.setFromEuler(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),j=function(){const We=new Qt(0,0,0,"ZXY");return function(Fe){const _e=o.object;We.setFromQuaternion(_e.quaternion),We.z-=.01*Fe,_e.quaternion.setFromEuler(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}();function Y(We){o.object.isPerspectiveCamera?c/=We:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom*We)),o.object.updateProjectionMatrix(),d=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function _(We){o.object.isPerspectiveCamera?c*=We:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom/We)),o.object.updateProjectionMatrix(),d=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function J(We){f.set(We.clientX,We.clientY)}function Q(We){C.set(We.clientX,We.clientY)}function ee(We){y.set(We.clientX,We.clientY)}function $(We){p.set(We.clientX,We.clientY),g.subVectors(p,f).multiplyScalar(o.rotateSpeed);const De=o.domElement;D(2*Math.PI*g.x/De.clientHeight),E(2*Math.PI*g.y/De.clientHeight),f.copy(p),o.update()}function q(We){b.set(We.clientX,We.clientY),v.subVectors(b,C),v.y>0?Y(H()):v.y<0&&_(H()),C.copy(b),o.update()}function le(We){A.set(We.clientX,We.clientY),x.subVectors(A,y).multiplyScalar(o.panSpeed),F(x.x,x.y),y.copy(A),o.update()}function ie(We){We.deltaY<0?_(H()):We.deltaY>0&&Y(H()),o.update()}function pe(We){switch(We.code){case o.keys.MOVE_FORWARD:B(o.moveSpeed);break;case o.keys.MOVE_BACKWARD:B(-o.moveSpeed);break;case o.keys.MOVE_UP:W(o.moveSpeed);break;case o.keys.MOVE_DOWN:W(-o.moveSpeed);break;case o.keys.MOVE_RIGHT:k(o.moveSpeed);break;case o.keys.MOVE_LEFT:k(-o.moveSpeed);break;case o.keys.ROTATE_UP:N(o.turnSpeed);break;case o.keys.ROTATE_DOWN:N(-o.turnSpeed);break;case o.keys.ROTATE_LEFT:j(-o.turnSpeed);break;case o.keys.ROTATE_RIGHT:j(o.turnSpeed);break}}function ne(){if(S.length===1)f.set(S[0].pageX,S[0].pageY);else{const We=.5*(S[0].pageX+S[1].pageX),De=.5*(S[0].pageY+S[1].pageY);f.set(We,De)}}function Z(){if(S.length===1)y.set(S[0].pageX,S[0].pageY);else{const We=.5*(S[0].pageX+S[1].pageX),De=.5*(S[0].pageY+S[1].pageY);y.set(We,De)}}function he(){const We=S[0].pageX-S[1].pageX,De=S[0].pageY-S[1].pageY,Fe=Math.sqrt(We*We+De*De);C.set(0,Fe)}function fe(){o.enableZoom&&he(),o.enablePan&&Z()}function se(){o.enableZoom&&he(),o.enableRotate&&ne()}function oe(We){if(S.length===1)p.set(We.pageX,We.pageY);else{const Fe=qe(We),_e=.5*(We.pageX+Fe.x),ot=.5*(We.pageY+Fe.y);p.set(_e,ot)}g.subVectors(p,f).multiplyScalar(o.rotateSpeed);const De=o.domElement;D(2*Math.PI*g.x/De.clientHeight),E(2*Math.PI*g.y/De.clientHeight),f.copy(p)}function de(We){if(S.length===1)A.set(We.pageX,We.pageY);else{const De=qe(We),Fe=.5*(We.pageX+De.x),_e=.5*(We.pageY+De.y);A.set(Fe,_e)}x.subVectors(A,y).multiplyScalar(o.panSpeed),F(x.x,x.y),y.copy(A)}function ve(We){const De=qe(We),Fe=We.pageX-De.x,_e=We.pageY-De.y,ot=Math.sqrt(Fe*Fe+_e*_e);b.set(0,ot),v.set(0,Math.pow(b.y/C.y,o.zoomSpeed)),Y(v.y),C.copy(b)}function Pe(We){o.enableZoom&&ve(We),o.enablePan&&de(We)}function me(We){o.enableZoom&&ve(We),o.enableRotate&&oe(We)}function Re(We){o.enabled!==!1&&(S.length===0&&(o.domElement.setPointerCapture(We.pointerId),o.domElement.addEventListener("pointermove",ze),o.domElement.addEventListener("pointerup",Ae)),Ue(We),We.pointerType==="touch"?Ie(We):ge(We))}function ze(We){o.enabled!==!1&&(We.pointerType==="touch"?Ce(We):we(We))}function Ae(We){Ne(We),S.length===0&&(o.domElement.releasePointerCapture(We.pointerId),o.domElement.removeEventListener("pointermove",ze),o.domElement.removeEventListener("pointerup",Ae)),o.dispatchEvent(B8),r=i.NONE}function re(We){Ne(We)}function ge(We){let De;switch(We.button){case 0:De=o.mouseButtons.LEFT;break;case 1:De=o.mouseButtons.MIDDLE;break;case 2:De=o.mouseButtons.RIGHT;break;default:De=-1}switch(De){case ov.DOLLY:if(o.enableZoom===!1)return;Q(We),r=i.DOLLY;break;case ov.ROTATE:if(o.object.isOrthographicCamera){if(o.enablePan===!1)return;ee(We),r=i.PAN}else if(We.ctrlKey||We.metaKey){if(o.enablePan===!1)return;ee(We),r=i.PAN}else{if(o.enableRotate===!1)return;J(We),r=i.ROTATE}break;case ov.PAN:if(We.ctrlKey||We.metaKey){if(o.enableRotate===!1)return;J(We),r=i.ROTATE}else{if(o.enablePan===!1)return;ee(We),r=i.PAN}break;default:r=i.NONE}r!==i.NONE&&o.dispatchEvent(joe)}function we(We){if(o.enabled!==!1)switch(r){case i.ROTATE:if(o.enableRotate===!1)return;$(We);break;case i.DOLLY:if(o.enableZoom===!1)return;q(We);break;case i.PAN:if(o.enablePan===!1)return;le(We);break}}function ye(We){o.enabled===!1||o.enableZoom===!1||r!==i.NONE||(We.preventDefault(),o.dispatchEvent(joe),ie(We),o.dispatchEvent(B8))}function Te(We){o.enabled===!1||o.enablePan===!1||pe(We)}function Ie(We){switch(Le(We),S.length){case 1:switch(o.touches.ONE){case iv.ROTATE:if(o.enableRotate===!1)return;ne(),r=i.TOUCH_ROTATE;break;case iv.PAN:if(o.enablePan===!1)return;Z(),r=i.TOUCH_PAN;break;default:r=i.NONE}break;case 2:switch(o.touches.TWO){case iv.DOLLY_PAN:if(o.enableZoom===!1&&o.enablePan===!1)return;fe(),r=i.TOUCH_DOLLY_PAN;break;case iv.DOLLY_ROTATE:if(o.enableZoom===!1&&o.enableRotate===!1)return;se(),r=i.TOUCH_DOLLY_ROTATE;break;default:r=i.NONE}break;default:r=i.NONE}r!==i.NONE&&o.dispatchEvent(joe)}function Ce(We){switch(Le(We),r){case i.TOUCH_ROTATE:if(o.enableRotate===!1)return;oe(We),o.update();break;case i.TOUCH_PAN:if(o.enablePan===!1)return;de(We),o.update();break;case i.TOUCH_DOLLY_PAN:if(o.enableZoom===!1&&o.enablePan===!1)return;Pe(We),o.update();break;case i.TOUCH_DOLLY_ROTATE:if(o.enableZoom===!1&&o.enableRotate===!1)return;me(We),o.update();break;default:r=i.NONE}}function Ee(We){o.enabled!==!1&&We.preventDefault()}function Ue(We){S.push(We)}function Ne(We){delete w[We.pointerId];for(let De=0;De=4){this.makeEmpty();for(let n=0,o=e.length;nthis.tolerance)return!1;return!0}intersectRay(e,n){const o=this.faces;let i=-1/0,r=1/0;for(let a=0,l=o.length;a0&&u>=0)return null;const d=u!==0?-c/u:0;if(!(d<=0)&&(u>0?r=Math.min(d,r):i=Math.max(d,i),i>r))return null}return i!==-1/0?e.at(i,n):e.at(r,n),n}intersectsRay(e){return this.intersectRay(e,f3t)!==null}makeEmpty(){return this.faces=[],this.vertices=[],this}addVertexToFace(e,n){return e.face=n,n.outside===null?this.assigned.append(e):this.assigned.insertBefore(n.outside,e),n.outside=e,this}removeVertexFromFace(e,n){return e===n.outside&&(e.next!==null&&e.next.face===n?n.outside=e.next:n.outside=null),this.assigned.remove(e),this}removeAllVerticesFromFace(e){if(e.outside!==null){const n=e.outside;let o=e.outside;for(;o.next!==null&&o.next.face===e;)o=o.next;return this.assigned.removeSubList(n,o),n.prev=o.next=null,e.outside=null,n}}deleteFaceVertices(e,n){const o=this.removeAllVerticesFromFace(e);if(o!==void 0)if(n===void 0)this.unassigned.appendChain(o);else{let i=o;do{const r=i.next;n.distanceToPoint(i.point)>this.tolerance?this.addVertexToFace(i,n):this.unassigned.append(i),i=r}while(i!==null)}return this}resolveUnassignedPoints(e){if(this.unassigned.isEmpty()===!1){let n=this.unassigned.first();do{const o=n.next;let i=this.tolerance,r=null;for(let a=0;ai&&(i=s,r=l),i>1e3*this.tolerance)break}}r!==null&&this.addVertexToFace(n,r),n=o}while(n!==null)}return this}computeExtremes(){const e=new ae,n=new ae,o=[],i=[];for(let r=0;r<3;r++)o[r]=i[r]=this.vertices[0];e.copy(this.vertices[0].point),n.copy(this.vertices[0].point);for(let r=0,a=this.vertices.length;rn.getComponent(c)&&(n.setComponent(c,s.getComponent(c)),i[c]=l)}return this.tolerance=3*Number.EPSILON*(Math.max(Math.abs(e.x),Math.abs(n.x))+Math.max(Math.abs(e.y),Math.abs(n.y))+Math.max(Math.abs(e.z),Math.abs(n.z))),{min:o,max:i}}computeInitialHull(){const e=this.vertices,n=this.computeExtremes(),o=n.min,i=n.max;let r=0,a=0;for(let f=0;f<3;f++){const p=i[f].point.getComponent(f)-o[f].point.getComponent(f);p>r&&(r=p,a=f)}const l=o[a],s=i[a];let c,u;r=0,bwe.set(l.point,s.point);for(let f=0,p=this.vertices.length;fr&&(r=y,c=g)}}r=-1,Yoe.setFromCoplanarPoints(l.point,s.point,c.point);for(let f=0,p=this.vertices.length;fr&&(r=y,u=g)}}const d=[];if(Yoe.distanceToPoint(u.point)<0){d.push(qy.create(l,s,c),qy.create(u,s,l),qy.create(u,c,s),qy.create(u,l,c));for(let f=0;f<3;f++){const p=(f+1)%3;d[f+1].getEdge(2).setTwin(d[0].getEdge(p)),d[f+1].getEdge(1).setTwin(d[p+1].getEdge(0))}}else{d.push(qy.create(l,c,s),qy.create(u,l,s),qy.create(u,s,c),qy.create(u,c,l));for(let f=0;f<3;f++){const p=(f+1)%3;d[f+1].getEdge(2).setTwin(d[0].getEdge((3-f)%3)),d[f+1].getEdge(0).setTwin(d[p+1].getEdge(1))}}for(let f=0;f<4;f++)this.faces.push(d[f]);for(let f=0,p=e.length;fr&&(r=x,y=this.faces[A])}y!==null&&this.addVertexToFace(g,y)}}return this}reindexFaces(){const e=[];for(let n=0;nn&&(n=r,e=i),i=i.next}while(i!==null&&i.face===o);return e}}computeHorizon(e,n,o,i){this.deleteFaceVertices(o),o.mark=d3t;let r;n===null?r=n=o.getEdge(0):r=n.next;do{const a=r.twin,l=a.face;l.mark===A_&&(l.distanceToPoint(e)>this.tolerance?this.computeHorizon(e,a,l,i):i.push(r)),r=r.next}while(r!==n);return this}addAdjoiningFace(e,n){const o=qy.create(e,n.tail(),n.head());return this.faces.push(o),o.getEdge(-1).setTwin(n.twin),o.getEdge(0)}addNewFaces(e,n){this.newFaces=[];let o=null,i=null;for(let r=0;r0;)n=n.next,e--;for(;e<0;)n=n.prev,e++;return n}compute(){const e=this.edge.tail(),n=this.edge.head(),o=this.edge.next.head();return _j.set(e.point,n.point,o.point),_j.getNormal(this.normal),_j.getMidpoint(this.midpoint),this.area=_j.getArea(),this.constant=this.normal.dot(this.midpoint),this}distanceToPoint(e){return this.normal.dot(e)-this.constant}}class Ooe{constructor(e,n){this.vertex=e,this.prev=null,this.next=null,this.twin=null,this.face=n}head(){return this.vertex}tail(){return this.prev?this.prev.vertex:null}length(){const e=this.head(),n=this.tail();return n!==null?n.point.distanceTo(e.point):-1}lengthSquared(){const e=this.head(),n=this.tail();return n!==null?n.point.distanceToSquared(e.point):-1}setTwin(e){return this.twin=e,e.twin=this,this}}class p3t{constructor(e){this.point=e,this.prev=null,this.next=null,this.face=null}}class Twe{constructor(){this.head=null,this.tail=null}first(){return this.head}last(){return this.tail}clear(){return this.head=this.tail=null,this}insertBefore(e,n){return n.prev=e.prev,n.next=e,n.prev===null?this.head=n:n.prev.next=n,e.prev=n,this}insertAfter(e,n){return n.prev=e,n.next=e.next,n.next===null?this.tail=n:n.next.prev=n,e.next=n,this}append(e){return this.head===null?this.head=e:this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e,this}appendChain(e){for(this.head===null?this.head=e:this.tail.next=e,e.prev=this.tail;e.next!==null;)e=e.next;return this.tail=e,this}remove(e){return e.prev===null?this.head=e.next:e.prev.next=e.next,e.next===null?this.tail=e.prev:e.next.prev=e.prev,this}removeSubList(e,n){return e.prev===null?this.head=n.next:e.prev.next=n.next,n.next===null?this.tail=e.prev:n.next.prev=e.prev,this}isEmpty(){return this.head===null}}class rce extends Ur{constructor(e,n,o){super();const i=[],r=[],a=[],l=new Qt(0,0,n),c=new h3t().setFromPoints(e).faces;for(let u=0;u(t.FILES="Files",t.LOG_DATA="Log Data",t))(JV||{}),rc=(t=>(t.UNKNOWN="UNKNOWN SCHOOL",t.SCHOOL1="SCHOOL 1",t.SCHOOL2="SCHOOL 2",t.SCHOOL3="SCHOOL 3",t.SCHOOL4="SCHOOL 4",t.SCHOOL5="SCHOOL 5",t))(rc||{}),Ua=(t=>(t.UNKNOWN="UNKNOWN CLASS",t.CLASS1="CLASS 1",t.CLASS2="CLASS 2",t.CLASS3="CLASS 3",t.CLASS4="CLASS 4",t.CLASS5="CLASS 5",t.CLASS6="CLASS 6",t.CLASS7="CLASS 7",t.CLASS8="CLASS 8",t.CLASS9="CLASS 9",t))(Ua||{}),n9=(t=>(t[t.ALL=0]="ALL",t[t.INDIVIDUALS=1]="INDIVIDUALS",t[t.GROUPS=2]="GROUPS",t))(n9||{}),da=(t=>(t.UNKNOWN="Unknown",t.UNDER_CONSTRUCTION="Under Construction",t.RESIDENTIAL_BUILDING="Residential Building",t.COMMERCIAL_BUILDING="Commercial Building",t.SCHOOL_BUILDING="School Building",t.TOURIST_ATTRACTION="Tourist Attraction",t.PHOTOVOLTAIC="Photovoltaic",t.PARABOLIC_DISH="Parabolic Dish",t.PARABOLIC_TROUGH="Parabolic Trough",t.FRESNEL_REFLECTOR="Fresnel Reflector",t.SOLAR_POWER_TOWER="Solar Power Tower",t.WIND_TURBINE="Wind Turbine",t.COLOCATION_PROJECTS="Colocation Projects",t))(da||{}),Uc=(t=>(t[t.COMPLETE=0]="COMPLETE",t[t.ROOF_MISSING=1]="ROOF_MISSING",t[t.WALL_DISJOINED=2]="WALL_DISJOINED",t[t.WALL_EMPTY=3]="WALL_EMPTY",t))(Uc||{}),Tr=(t=>(t.SOLAR_PANEL_TILT_ANGLE="Solar Panel Tilt Angle",t.SOLAR_PANEL_ARRAY="Solar Panel Array",t))(Tr||{}),xo=(t=>(t[t.DAILY_TOTAL_OUTPUT=1]="DAILY_TOTAL_OUTPUT",t[t.YEARLY_TOTAL_OUTPUT=2]="YEARLY_TOTAL_OUTPUT",t[t.DAILY_AVERAGE_OUTPUT=3]="DAILY_AVERAGE_OUTPUT",t[t.YEARLY_AVERAGE_OUTPUT=4]="YEARLY_AVERAGE_OUTPUT",t[t.DAILY_PROFIT=5]="DAILY_PROFIT",t[t.YEARLY_PROFIT=6]="YEARLY_PROFIT",t))(xo||{}),Bs=(t=>(t[t.GENETIC_ALGORITHM=1]="GENETIC_ALGORITHM",t[t.PARTICLE_SWARM_OPTIMIZATION=2]="PARTICLE_SWARM_OPTIMIZATION",t))(Bs||{}),Im=(t=>(t[t.ROULETTE_WHEEL=1]="ROULETTE_WHEEL",t[t.TOURNAMENT=2]="TOURNAMENT",t))(Im||{}),as=(t=>(t[t.GLOBAL_SEARCH_UNIFORM_SELECTION=1]="GLOBAL_SEARCH_UNIFORM_SELECTION",t[t.LOCAL_SEARCH_RANDOM_OPTIMIZATION=2]="LOCAL_SEARCH_RANDOM_OPTIMIZATION",t[t.GLOBAL_SEARCH_FITNESS_SHARING=3]="GLOBAL_SEARCH_FITNESS_SHARING",t))(as||{}),Oh=(t=>(t[t.Solid=1]="Solid",t[t.Dashed=2]="Dashed",t[t.Dotted=3]="Dotted",t))(Oh||{}),_y=(t=>(t[t.One=1]="One",t[t.Two=2]="Two",t[t.Three=3]="Three",t[t.Four=4]="Four",t[t.Five=5]="Five",t))(_y||{}),Pl=(t=>(t[t.Line=1]="Line",t[t.Area=2]="Area",t))(Pl||{}),xr=(t=>(t[t.HourlyTemperatures=1]="HourlyTemperatures",t[t.MonthlyTemperatures=2]="MonthlyTemperatures",t[t.SunshineHours=3]="SunshineHours",t[t.DaylightData=4]="DaylightData",t[t.ClearnessData=5]="ClearnessData",t[t.YearlyRadiationSensorData=6]="YearlyRadiationSensorData",t[t.DailyRadiationSensorData=7]="DailyRadiationSensorData",t[t.YearlyPvYield=8]="YearlyPvYield",t[t.DailyPvYield=9]="DailyPvYield",t[t.YearlyParabolicTroughYield=10]="YearlyParabolicTroughYield",t[t.DailyParabolicTroughYield=11]="DailyParabolicTroughYield",t[t.YearlyParabolicDishYield=12]="YearlyParabolicDishYield",t[t.DailyParabolicDishYield=13]="DailyParabolicDishYield",t[t.YearlyFresnelReflectorYield=14]="YearlyFresnelReflectorYield",t[t.DailyFresnelReflectorYield=15]="DailyFresnelReflectorYield",t[t.YearlyHeliostatYield=16]="YearlyHeliostatYield",t[t.DailyHeliostatYield=17]="DailyHeliostatYield",t[t.YearlyUpdraftTowerYield=18]="YearlyUpdraftTowerYield",t[t.DailyUpdraftTowerYield=19]="DailyUpdraftTowerYield",t[t.YearlyBuildingEnergy=20]="YearlyBuildingEnergy",t[t.DailyBuildingEnergy=21]="DailyBuildingEnergy",t))(xr||{}),Ns=(t=>(t.Default="Default",t.Desert="Desert",t.Dune="Dune",t.Forest="Forest",t.Grassland="Grassland",t.Hill="Hill",t.Lake="Lake",t.Mountain="Mountain",t.Rural="Rural",t))(Ns||{}),u2=(t=>(t[t.Sinusoidal=1]="Sinusoidal",t[t.PartonLogan=2]="PartonLogan",t))(u2||{}),Z5=(t=>(t.English="English",t.ChineseSimplified="简体中文",t.ChineseTraditional="繁体中文",t.Turkish="Türkçe",t.Spanish="Español",t.Ukrainian="Українська",t))(Z5||{}),z=(t=>(t.Sky="Sky",t.Ground="Ground",t.Foundation="Foundation",t.Wall="Wall",t.Window="Window",t.Door="Door",t.Roof="Roof",t.PyramidRoof="Pyramid Roof",t.GableRoof="Gable Roof",t.HipRoof="Hip Roof",t.GambrelRoof="Gambrel Roof",t.MansardRoof="Mansard Roof",t.Sensor="Sensor",t.SolarPanel="Solar Panel",t.WaterHeater="Water Heater",t.ParabolicDish="Parabolic Dish",t.ParabolicTrough="Parabolic Trough",t.FresnelReflector="Fresnel Reflector",t.Heliostat="Heliostat",t.WindTurbine="Wind Turbine",t.VerticalAxisWindTurbine="Vertical Axis Wind Turbine",t.Cuboid="Cuboid",t.Human="Human",t.Tree="Tree",t.Flower="Flower",t.Polygon="Polygon",t.PolygonVertex="Polygon Vertex",t.Light="Light",t.None="None",t))(z||{}),ef=(t=>(t[t.CentralPole=1]="CentralPole",t[t.CentralPoleWithTripod=2]="CentralPoleWithTripod",t[t.Quadrupod=3]="Quadrupod",t))(ef||{}),zn=(t=>(t[t.None=0]="None",t[t.FocusPipe=1]="FocusPipe",t[t.FocusTower=2]="FocusTower",t[t.UpdraftTower=3]="UpdraftTower",t))(zn||{}),lc=(t=>(t[t.None=0]="None",t[t.Bicolor=1]="Bicolor",t[t.Striped=2]="Striped",t))(lc||{}),zo=(t=>(t.Select="Select",t.Move="Move",t.Resize="Resize",t.Rotate="Rotate",t.ContextMenu="ContextMenu",t))(zo||{}),yo=(t=>(t.Default="Move Handle",t.Lower="Move Handle Lower",t.Upper="Move Handle Upper",t.Left="Move Handle Left",t.Right="Move Handle Right",t.Top="Move Handle Top",t.Mid="Move Handle Mid",t))(yo||{}),wl=(t=>(t.Left="Left",t.Right="Right",t.Up="Up",t.Down="Down",t))(wl||{}),yt=(t=>(t.LowerLeft="Resize Handle Lower Left",t.UpperLeft="Resize Handle Upper Left",t.LowerRight="Resize Handle Lower Right",t.UpperRight="Resize Handle Upper Right",t.LowerLeftTop="Resize Handle Lower Left Top",t.UpperLeftTop="Resize Handle Upper Left Top",t.LowerRightTop="Resize Handle Lower Right Top",t.UpperRightTop="Resize Handle Upper Right Top",t.Lower="Resize Handle Lower",t.Upper="Resize Handle Upper",t.Left="Resize Handle Left",t.Right="Resize Handle Right",t.Top="Resize Handle Top",t.Default="Resize Handle",t.Arch="Resize Handle Arch",t.WallPartialResizeLeft="Wall Partial Resize Handle Left",t.WallPartialResizeRight="Wall Partial Resize Handle Right",t.WallPartialResizeLeftTop="Wall Partial Resize Handle Left Top",t.WallPartialResizeRightTop="Wall Partial Resize Handle Right Top",t))(yt||{}),wi=(t=>(t.Lower="Rotate Handle Lower",t.Upper="Rotate Handle Upper",t.Tilt="Rotate Handle Tilt",t))(wi||{}),ix=(t=>(t.Delete="Delete Vertex",t.InsertBeforeIndex="Insert Vertex Before Index",t.InsertAfterIndex="Insert Vertex After Index",t))(ix||{}),Kf=(t=>(t.Horizontal="Horizontal",t.Vertical="Vertical",t.Ground="Ground",t.Sky="Sky",t))(Kf||{}),ue=(t=>(t[t.OnlyThisObject=1]="OnlyThisObject",t[t.AllObjectsOfThisTypeOnSurface=2]="AllObjectsOfThisTypeOnSurface",t[t.AllObjectsOfThisTypeAboveFoundation=3]="AllObjectsOfThisTypeAboveFoundation",t[t.AllObjectsOfThisType=4]="AllObjectsOfThisType",t[t.AllConnectedObjects=5]="AllConnectedObjects",t[t.OnlyThisSide=6]="OnlyThisSide",t[t.AllSelectedObjectsOfThisType=7]="AllSelectedObjectsOfThisType",t))(ue||{}),ci=(t=>(t.portrait="Portrait",t.landscape="Landscape",t))(ci||{}),Rl=(t=>(t.eastWest="East-West",t.northSouth="North-South",t.leftRight="Left-Right",t.upDown="Up-Down",t))(Rl||{}),Ma=(t=>(t.NO_TRACKER="None",t.HORIZONTAL_SINGLE_AXIS_TRACKER="HSAT",t.ALTAZIMUTH_DUAL_AXIS_TRACKER="AADAT",t.VERTICAL_SINGLE_AXIS_TRACKER="VSAT",t.TILTED_SINGLE_AXIS_TRACKER="TSAT",t))(Ma||{}),zv=(t=>(t.NONE="None",t.HIGH="High",t.PARTIAL="Partial",t))(zv||{}),Rm=(t=>(t.EXACT="Exact",t.APPROXIMATE="Approximate",t))(Rm||{}),fi=(t=>(t.Apple="Apple",t.Birch="Birch",t.Coconut="Coconut",t.Dogwood="Dogwood",t.Elm="Elm",t.FanPalm="Fan Palm",t.Linden="Linden",t.Magnolia="Magnolia",t.Maple="Maple",t.Oak="Oak",t.Pine="Pine",t.Spruce="Spruce",t))(fi||{}),$n=(t=>(t.Bellflower="Bellflower",t.Boxwood="Boxwood",t.CactusCombo1="Cactus Combo 1",t.CactusCombo2="Cactus Combo 2",t.CactusCombo3="Cactus Combo 3",t.CactusCombo4="Cactus Combo 4",t.Hibiscus="Hibiscus",t.Hosta="Hosta",t.Hydrangea="Hydrangea",t.Peony="Peony",t.RedRose="Red Rose",t.Spirea="Spirea",t.Sunflower="Sunflower",t.TallBush="Tall Bush",t.Tulip="Tulip",t.WhiteFlower="White Flower",t.YellowFlower="Yellow Flower",t))($n||{}),Ca=(t=>(t.Male="Male",t.Female="Female",t.Other="Other",t))(Ca||{}),Yt=(t=>(t.Jaah="Jaah",t.Jack="Jack",t.Jacob="Jacob",t.Jacqueline="Jacqueline",t.Jade="Jade",t.Jamelia="Jamelia",t.James="James",t.Jane="Jane",t.Jaya="Jaya",t.Jaye="Jaye",t.Jeanette="Jeanette",t.Jedi="Jedi",t.Jeff="Jeff",t.Jena="Jena",t.Jennifer="Jennifer",t.Jess="Jess",t.Jett="Jett",t.Jill="Jill",t.Jiya="Jiya",t.Jocelyn="Jocelyn",t.Joan="Joan",t.Joel="Joel",t.Joey="Joey",t.John="John",t.Jonathon="Jonathon",t.Joseph="Joseph",t.Jose="Jose",t.Joshua="Joshua",t.Judd="Judd",t.Judy="Judy",t.Julia="Julia",t.Julio="Julio",t.Jumapili="Jumapili",t.June="June",t.Juro="Juro",t.Justin="Justin",t))(Yt||{}),qi=(t=>(t.Texture01="Polygon Texture #1",t.Texture02="Polygon Texture #2",t.Texture03="Polygon Texture #3",t.Texture04="Polygon Texture #4",t.Texture05="Polygon Texture #5",t.Texture06="Polygon Texture #6",t.Texture07="Polygon Texture #7",t.Texture08="Polygon Texture #8",t.Texture09="Polygon Texture #9",t.Texture10="Polygon Texture #10",t.NoTexture="No Polygon Texture",t))(qi||{}),Or=(t=>(t.Texture01="Foundation Texture #1",t.Texture02="Foundation Texture #2",t.Texture03="Foundation Texture #3",t.Texture04="Foundation Texture #4",t.Texture05="Foundation Texture #5",t.Texture06="Foundation Texture #6",t.Texture07="Foundation Texture #7",t.Texture08="Foundation Texture #8",t.Texture09="Foundation Texture #9",t.Texture10="Foundation Texture #10",t.NoTexture="No Foundation Texture",t))(Or||{}),Co=(t=>(t.Facade01="Facade #1",t.Facade02="Facade #2",t.Facade03="Facade #3",t.Facade04="Facade #4",t.Facade05="Facade #5",t.Facade06="Facade #6",t.Facade07="Facade #7",t.Facade08="Facade #8",t.Facade09="Facade #9",t.Facade10="Facade #10",t.NoTexture="No Facade Texture",t))(Co||{}),No=(t=>(t.Default="Wall Texture Default",t.Texture01="Wall Texture #1",t.Texture02="Wall Texture #2",t.Texture03="Wall Texture #3",t.Texture04="Wall Texture #4",t.Texture05="Wall Texture #5",t.Texture06="Wall Texture #6",t.Texture07="Wall Texture #7",t.Texture08="Wall Texture #8",t.Texture09="Wall Texture #9",t.Texture10="Wall Texture #10",t.NoTexture="No Wall Texture",t))(No||{}),ii=(t=>(t.Default="Door Texture Default",t.Texture01="Door Texture #1",t.Texture02="Door Texture #2",t.Texture03="Door Texture #3",t.Texture04="Door Texture #4",t.Texture05="Door Texture #5",t.Texture06="Door Texture #6",t.Texture07="Door Texture #7",t.Texture08="Door Texture #8",t.Texture09="Door Texture #9",t.Texture10="Door Texture #10",t.Texture11="Door Texture #11",t.Texture12="Door Texture #12",t.Texture13="Door Texture #13",t.Texture14="Door Texture #14",t.Texture15="Door Texture #15",t.Texture16="Door Texture #16",t.Texture17="Door Texture #17",t.NoTexture="No Door Texture",t))(ii||{}),Ui=(t=>(t.Default="Roof Texture Default",t.Texture01="Roof Texture #1",t.Texture02="Roof Texture #2",t.Texture03="Roof Texture #3",t.Texture04="Roof Texture #4",t.Texture05="Roof Texture #5",t.Texture06="Roof Texture #6",t.Texture07="Roof Texture #7",t.NoTexture="No Roof Texture",t))(Ui||{}),U1=(t=>(t.Left="Left",t.Right="Right",t))(U1||{}),fc=(t=>(t.Valid="Valid",t.OverLap="OverLap",t.OutsideBoundary="OutsideBoundary",t.Invalid="Invalid",t))(fc||{}),ki=(t=>(t.Mid="Mid",t.Left="Left",t.Right="Right",t.TopMid="TopMid",t.TopLeft="TopLeft",t.TopRight="TopRight",t.FrontLeft="FrontLeft",t.FrontRight="FrontRight",t.BackLeft="BackLeft",t.BackRight="BackRight",t.Top="Top",t.Ridge="Ridge",t.Null="Null",t))(ki||{}),Ql=(t=>(t.BUILDING="Building",t.PV="PV",t.CSP="CSP",t.SUT="SUT",t.WIND="Wind",t))(Ql||{}),w_={VITE_MAPS_API_KEY:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",VITE_FIREBASE_API_KEY:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",VITE_FIREBASE_AUTH_DOMAIN:"aladdin-316017.firebaseapp.com",VITE_FIREBASE_DATABASE_URL:"https://aladdin-316017.firebaseio.com",VITE_FIREBASE_PROJECT_ID:"aladdin-316017",VITE_FIREBASE_STORAGE_BUCKET:"aladdin-316017.appspot.com",VITE_FIREBASE_MESSAGING_SENDER_ID:"169516488625",VITE_FIREBASE_APP_ID:"1:169516488625:web:bb0ae3c3f7c6e813250f90",VITE_FIREBASE_MEASUREMENT_ID:"G-G0XPQ7JNYJ",VITE_FIREBASE_LOGGER_DATABASE_URL:"https://aladdin-2023.firebaseio.com",VITE_EXAMPLE_PROJECT_OWNER:"QWecNcxhyvP6j6sBN11hBsfZDau1",BASE_URL:"/aladdin",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const ace=new Map,Vj=t=>{const e=ace.get(t);return e?Object.fromEntries(Object.entries(e.stores).map(([n,o])=>[n,o.getState()])):{}},w3t=(t,e,n)=>{if(t===void 0)return{type:"untracked",connection:e.connect(n)};const o=ace.get(n.name);if(o)return{type:"tracked",store:t,...o};const i={connection:e.connect(n),stores:{}};return ace.set(n.name,i),{type:"tracked",store:t,...i}},v3t=(t,e={})=>(n,o,i)=>{const{enabled:r,anonymousActionType:a,store:l,...s}=e;let c;try{c=(r??(w_?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!c)return(w_?"production":void 0)!=="production"&&r&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),t(n,o,i);const{connection:u,...d}=w3t(l,c,s);let f=!0;i.setState=(y,A,x)=>{const C=n(y,A);if(!f)return C;const b=x===void 0?{type:a||"anonymous"}:typeof x=="string"?{type:x}:x;return l===void 0?(u==null||u.send(b,o()),C):(u==null||u.send({...b,type:`${l}/${b.type}`},{...Vj(s.name),[l]:i.getState()}),C)};const p=(...y)=>{const A=f;f=!1,n(...y),f=A},g=t(i.setState,o,i);if(d.type==="untracked"?u==null||u.init(g):(d.stores[d.store]=i,u==null||u.init(Object.fromEntries(Object.entries(d.stores).map(([y,A])=>[y,y===d.store?g:A.getState()])))),i.dispatchFromDevtools&&typeof i.dispatch=="function"){let y=!1;const A=i.dispatch;i.dispatch=(...x)=>{(w_?"production":void 0)!=="production"&&x[0].type==="__setState"&&!y&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),y=!0),A(...x)}}return u.subscribe(y=>{var A;switch(y.type){case"ACTION":if(typeof y.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return _oe(y.payload,x=>{if(x.type==="__setState"){if(l===void 0){p(x.state);return}Object.keys(x.state).length!==1&&console.error(` +`)l=0,s-=r;else{const d=A3t(u,i,l,s,n);l+=d.offsetX,a.push(d.path)}}return a}function A3t(t,e,n,o,i){const r=i.glyphs[t]||i.glyphs["?"];if(!r){console.error('THREE.Font: character "'+t+'" does not exists in font family '+i.familyName+".");return}const a=new wNe;let l,s,c,u,d,f,p,g;if(r.o){const y=r._cachedOutline||(r._cachedOutline=r.o.split(" "));for(let A=0,x=y.length;A(t.FILES="Files",t.LOG_DATA="Log Data",t))(JV||{}),rc=(t=>(t.UNKNOWN="UNKNOWN SCHOOL",t.SCHOOL1="SCHOOL 1",t.SCHOOL2="SCHOOL 2",t.SCHOOL3="SCHOOL 3",t.SCHOOL4="SCHOOL 4",t.SCHOOL5="SCHOOL 5",t))(rc||{}),Ua=(t=>(t.UNKNOWN="UNKNOWN CLASS",t.CLASS1="CLASS 1",t.CLASS2="CLASS 2",t.CLASS3="CLASS 3",t.CLASS4="CLASS 4",t.CLASS5="CLASS 5",t.CLASS6="CLASS 6",t.CLASS7="CLASS 7",t.CLASS8="CLASS 8",t.CLASS9="CLASS 9",t))(Ua||{}),n9=(t=>(t[t.ALL=0]="ALL",t[t.INDIVIDUALS=1]="INDIVIDUALS",t[t.GROUPS=2]="GROUPS",t))(n9||{}),da=(t=>(t.UNKNOWN="Unknown",t.UNDER_CONSTRUCTION="Under Construction",t.RESIDENTIAL_BUILDING="Residential Building",t.COMMERCIAL_BUILDING="Commercial Building",t.SCHOOL_BUILDING="School Building",t.TOURIST_ATTRACTION="Tourist Attraction",t.PHOTOVOLTAIC="Photovoltaic",t.PARABOLIC_DISH="Parabolic Dish",t.PARABOLIC_TROUGH="Parabolic Trough",t.FRESNEL_REFLECTOR="Fresnel Reflector",t.SOLAR_POWER_TOWER="Solar Power Tower",t.WIND_TURBINE="Wind Turbine",t.COLOCATION_PROJECTS="Colocation Projects",t))(da||{}),Uc=(t=>(t[t.COMPLETE=0]="COMPLETE",t[t.ROOF_MISSING=1]="ROOF_MISSING",t[t.WALL_DISJOINED=2]="WALL_DISJOINED",t[t.WALL_EMPTY=3]="WALL_EMPTY",t))(Uc||{}),Tr=(t=>(t.SOLAR_PANEL_TILT_ANGLE="Solar Panel Tilt Angle",t.SOLAR_PANEL_ARRAY="Solar Panel Array",t))(Tr||{}),xo=(t=>(t[t.DAILY_TOTAL_OUTPUT=1]="DAILY_TOTAL_OUTPUT",t[t.YEARLY_TOTAL_OUTPUT=2]="YEARLY_TOTAL_OUTPUT",t[t.DAILY_AVERAGE_OUTPUT=3]="DAILY_AVERAGE_OUTPUT",t[t.YEARLY_AVERAGE_OUTPUT=4]="YEARLY_AVERAGE_OUTPUT",t[t.DAILY_PROFIT=5]="DAILY_PROFIT",t[t.YEARLY_PROFIT=6]="YEARLY_PROFIT",t))(xo||{}),Bs=(t=>(t[t.GENETIC_ALGORITHM=1]="GENETIC_ALGORITHM",t[t.PARTICLE_SWARM_OPTIMIZATION=2]="PARTICLE_SWARM_OPTIMIZATION",t))(Bs||{}),Im=(t=>(t[t.ROULETTE_WHEEL=1]="ROULETTE_WHEEL",t[t.TOURNAMENT=2]="TOURNAMENT",t))(Im||{}),as=(t=>(t[t.GLOBAL_SEARCH_UNIFORM_SELECTION=1]="GLOBAL_SEARCH_UNIFORM_SELECTION",t[t.LOCAL_SEARCH_RANDOM_OPTIMIZATION=2]="LOCAL_SEARCH_RANDOM_OPTIMIZATION",t[t.GLOBAL_SEARCH_FITNESS_SHARING=3]="GLOBAL_SEARCH_FITNESS_SHARING",t))(as||{}),Oh=(t=>(t[t.Solid=1]="Solid",t[t.Dashed=2]="Dashed",t[t.Dotted=3]="Dotted",t))(Oh||{}),_y=(t=>(t[t.One=1]="One",t[t.Two=2]="Two",t[t.Three=3]="Three",t[t.Four=4]="Four",t[t.Five=5]="Five",t))(_y||{}),Pl=(t=>(t[t.Line=1]="Line",t[t.Area=2]="Area",t))(Pl||{}),xr=(t=>(t[t.HourlyTemperatures=1]="HourlyTemperatures",t[t.MonthlyTemperatures=2]="MonthlyTemperatures",t[t.SunshineHours=3]="SunshineHours",t[t.DaylightData=4]="DaylightData",t[t.ClearnessData=5]="ClearnessData",t[t.YearlyRadiationSensorData=6]="YearlyRadiationSensorData",t[t.DailyRadiationSensorData=7]="DailyRadiationSensorData",t[t.YearlyPvYield=8]="YearlyPvYield",t[t.DailyPvYield=9]="DailyPvYield",t[t.YearlyParabolicTroughYield=10]="YearlyParabolicTroughYield",t[t.DailyParabolicTroughYield=11]="DailyParabolicTroughYield",t[t.YearlyParabolicDishYield=12]="YearlyParabolicDishYield",t[t.DailyParabolicDishYield=13]="DailyParabolicDishYield",t[t.YearlyFresnelReflectorYield=14]="YearlyFresnelReflectorYield",t[t.DailyFresnelReflectorYield=15]="DailyFresnelReflectorYield",t[t.YearlyHeliostatYield=16]="YearlyHeliostatYield",t[t.DailyHeliostatYield=17]="DailyHeliostatYield",t[t.YearlyUpdraftTowerYield=18]="YearlyUpdraftTowerYield",t[t.DailyUpdraftTowerYield=19]="DailyUpdraftTowerYield",t[t.YearlyBuildingEnergy=20]="YearlyBuildingEnergy",t[t.DailyBuildingEnergy=21]="DailyBuildingEnergy",t))(xr||{}),Ns=(t=>(t.Default="Default",t.Desert="Desert",t.Dune="Dune",t.Forest="Forest",t.Grassland="Grassland",t.Hill="Hill",t.Lake="Lake",t.Mountain="Mountain",t.Rural="Rural",t))(Ns||{}),u2=(t=>(t[t.Sinusoidal=1]="Sinusoidal",t[t.PartonLogan=2]="PartonLogan",t))(u2||{}),Z5=(t=>(t.English="English",t.ChineseSimplified="简体中文",t.ChineseTraditional="繁体中文",t.Turkish="Türkçe",t.Spanish="Español",t.Ukrainian="Українська",t))(Z5||{}),z=(t=>(t.Sky="Sky",t.Ground="Ground",t.Foundation="Foundation",t.Wall="Wall",t.Window="Window",t.Door="Door",t.Roof="Roof",t.PyramidRoof="Pyramid Roof",t.GableRoof="Gable Roof",t.HipRoof="Hip Roof",t.GambrelRoof="Gambrel Roof",t.MansardRoof="Mansard Roof",t.Sensor="Sensor",t.SolarPanel="Solar Panel",t.WaterHeater="Water Heater",t.ParabolicDish="Parabolic Dish",t.ParabolicTrough="Parabolic Trough",t.FresnelReflector="Fresnel Reflector",t.Heliostat="Heliostat",t.WindTurbine="Wind Turbine",t.VerticalAxisWindTurbine="Vertical Axis Wind Turbine",t.Cuboid="Cuboid",t.Human="Human",t.Tree="Tree",t.Flower="Flower",t.Polygon="Polygon",t.PolygonVertex="Polygon Vertex",t.Light="Light",t.None="None",t))(z||{}),ef=(t=>(t[t.CentralPole=1]="CentralPole",t[t.CentralPoleWithTripod=2]="CentralPoleWithTripod",t[t.Quadrupod=3]="Quadrupod",t))(ef||{}),zn=(t=>(t[t.None=0]="None",t[t.FocusPipe=1]="FocusPipe",t[t.FocusTower=2]="FocusTower",t[t.UpdraftTower=3]="UpdraftTower",t))(zn||{}),lc=(t=>(t[t.None=0]="None",t[t.Bicolor=1]="Bicolor",t[t.Striped=2]="Striped",t))(lc||{}),zo=(t=>(t.Select="Select",t.Move="Move",t.Resize="Resize",t.Rotate="Rotate",t.ContextMenu="ContextMenu",t))(zo||{}),yo=(t=>(t.Default="Move Handle",t.Lower="Move Handle Lower",t.Upper="Move Handle Upper",t.Left="Move Handle Left",t.Right="Move Handle Right",t.Top="Move Handle Top",t.Mid="Move Handle Mid",t))(yo||{}),wl=(t=>(t.Left="Left",t.Right="Right",t.Up="Up",t.Down="Down",t))(wl||{}),yt=(t=>(t.LowerLeft="Resize Handle Lower Left",t.UpperLeft="Resize Handle Upper Left",t.LowerRight="Resize Handle Lower Right",t.UpperRight="Resize Handle Upper Right",t.LowerLeftTop="Resize Handle Lower Left Top",t.UpperLeftTop="Resize Handle Upper Left Top",t.LowerRightTop="Resize Handle Lower Right Top",t.UpperRightTop="Resize Handle Upper Right Top",t.Lower="Resize Handle Lower",t.Upper="Resize Handle Upper",t.Left="Resize Handle Left",t.Right="Resize Handle Right",t.Top="Resize Handle Top",t.Default="Resize Handle",t.Arch="Resize Handle Arch",t.WallPartialResizeLeft="Wall Partial Resize Handle Left",t.WallPartialResizeRight="Wall Partial Resize Handle Right",t.WallPartialResizeLeftTop="Wall Partial Resize Handle Left Top",t.WallPartialResizeRightTop="Wall Partial Resize Handle Right Top",t))(yt||{}),wi=(t=>(t.Lower="Rotate Handle Lower",t.Upper="Rotate Handle Upper",t.Tilt="Rotate Handle Tilt",t))(wi||{}),ix=(t=>(t.Delete="Delete Vertex",t.InsertBeforeIndex="Insert Vertex Before Index",t.InsertAfterIndex="Insert Vertex After Index",t))(ix||{}),Kf=(t=>(t.Horizontal="Horizontal",t.Vertical="Vertical",t.Ground="Ground",t.Sky="Sky",t))(Kf||{}),ue=(t=>(t[t.OnlyThisObject=1]="OnlyThisObject",t[t.AllObjectsOfThisTypeOnSurface=2]="AllObjectsOfThisTypeOnSurface",t[t.AllObjectsOfThisTypeAboveFoundation=3]="AllObjectsOfThisTypeAboveFoundation",t[t.AllObjectsOfThisType=4]="AllObjectsOfThisType",t[t.AllConnectedObjects=5]="AllConnectedObjects",t[t.OnlyThisSide=6]="OnlyThisSide",t[t.AllSelectedObjectsOfThisType=7]="AllSelectedObjectsOfThisType",t))(ue||{}),ci=(t=>(t.portrait="Portrait",t.landscape="Landscape",t))(ci||{}),Rl=(t=>(t.eastWest="East-West",t.northSouth="North-South",t.leftRight="Left-Right",t.upDown="Up-Down",t))(Rl||{}),Ma=(t=>(t.NO_TRACKER="None",t.HORIZONTAL_SINGLE_AXIS_TRACKER="HSAT",t.ALTAZIMUTH_DUAL_AXIS_TRACKER="AADAT",t.VERTICAL_SINGLE_AXIS_TRACKER="VSAT",t.TILTED_SINGLE_AXIS_TRACKER="TSAT",t))(Ma||{}),zv=(t=>(t.NONE="None",t.HIGH="High",t.PARTIAL="Partial",t))(zv||{}),Rm=(t=>(t.EXACT="Exact",t.APPROXIMATE="Approximate",t))(Rm||{}),fi=(t=>(t.Apple="Apple",t.Birch="Birch",t.Coconut="Coconut",t.Dogwood="Dogwood",t.Elm="Elm",t.FanPalm="Fan Palm",t.Linden="Linden",t.Magnolia="Magnolia",t.Maple="Maple",t.Oak="Oak",t.Pine="Pine",t.Spruce="Spruce",t))(fi||{}),$n=(t=>(t.Bellflower="Bellflower",t.Boxwood="Boxwood",t.CactusCombo1="Cactus Combo 1",t.CactusCombo2="Cactus Combo 2",t.CactusCombo3="Cactus Combo 3",t.CactusCombo4="Cactus Combo 4",t.Hibiscus="Hibiscus",t.Hosta="Hosta",t.Hydrangea="Hydrangea",t.Peony="Peony",t.RedRose="Red Rose",t.Spirea="Spirea",t.Sunflower="Sunflower",t.TallBush="Tall Bush",t.Tulip="Tulip",t.WhiteFlower="White Flower",t.YellowFlower="Yellow Flower",t))($n||{}),Ca=(t=>(t.Male="Male",t.Female="Female",t.Other="Other",t))(Ca||{}),Yt=(t=>(t.Jaah="Jaah",t.Jack="Jack",t.Jacob="Jacob",t.Jacqueline="Jacqueline",t.Jade="Jade",t.Jamelia="Jamelia",t.James="James",t.Jane="Jane",t.Jaya="Jaya",t.Jaye="Jaye",t.Jeanette="Jeanette",t.Jedi="Jedi",t.Jeff="Jeff",t.Jena="Jena",t.Jennifer="Jennifer",t.Jess="Jess",t.Jett="Jett",t.Jill="Jill",t.Jiya="Jiya",t.Jocelyn="Jocelyn",t.Joan="Joan",t.Joel="Joel",t.Joey="Joey",t.John="John",t.Jonathon="Jonathon",t.Joseph="Joseph",t.Jose="Jose",t.Joshua="Joshua",t.Judd="Judd",t.Judy="Judy",t.Julia="Julia",t.Julio="Julio",t.Jumapili="Jumapili",t.June="June",t.Juro="Juro",t.Justin="Justin",t))(Yt||{}),qi=(t=>(t.Texture01="Polygon Texture #1",t.Texture02="Polygon Texture #2",t.Texture03="Polygon Texture #3",t.Texture04="Polygon Texture #4",t.Texture05="Polygon Texture #5",t.Texture06="Polygon Texture #6",t.Texture07="Polygon Texture #7",t.Texture08="Polygon Texture #8",t.Texture09="Polygon Texture #9",t.Texture10="Polygon Texture #10",t.NoTexture="No Polygon Texture",t))(qi||{}),Or=(t=>(t.Texture01="Foundation Texture #1",t.Texture02="Foundation Texture #2",t.Texture03="Foundation Texture #3",t.Texture04="Foundation Texture #4",t.Texture05="Foundation Texture #5",t.Texture06="Foundation Texture #6",t.Texture07="Foundation Texture #7",t.Texture08="Foundation Texture #8",t.Texture09="Foundation Texture #9",t.Texture10="Foundation Texture #10",t.NoTexture="No Foundation Texture",t))(Or||{}),Co=(t=>(t.Facade01="Facade #1",t.Facade02="Facade #2",t.Facade03="Facade #3",t.Facade04="Facade #4",t.Facade05="Facade #5",t.Facade06="Facade #6",t.Facade07="Facade #7",t.Facade08="Facade #8",t.Facade09="Facade #9",t.Facade10="Facade #10",t.NoTexture="No Facade Texture",t))(Co||{}),No=(t=>(t.Default="Wall Texture Default",t.Texture01="Wall Texture #1",t.Texture02="Wall Texture #2",t.Texture03="Wall Texture #3",t.Texture04="Wall Texture #4",t.Texture05="Wall Texture #5",t.Texture06="Wall Texture #6",t.Texture07="Wall Texture #7",t.Texture08="Wall Texture #8",t.Texture09="Wall Texture #9",t.Texture10="Wall Texture #10",t.NoTexture="No Wall Texture",t))(No||{}),ii=(t=>(t.Default="Door Texture Default",t.Texture01="Door Texture #1",t.Texture02="Door Texture #2",t.Texture03="Door Texture #3",t.Texture04="Door Texture #4",t.Texture05="Door Texture #5",t.Texture06="Door Texture #6",t.Texture07="Door Texture #7",t.Texture08="Door Texture #8",t.Texture09="Door Texture #9",t.Texture10="Door Texture #10",t.Texture11="Door Texture #11",t.Texture12="Door Texture #12",t.Texture13="Door Texture #13",t.Texture14="Door Texture #14",t.Texture15="Door Texture #15",t.Texture16="Door Texture #16",t.Texture17="Door Texture #17",t.NoTexture="No Door Texture",t))(ii||{}),Ui=(t=>(t.Default="Roof Texture Default",t.Texture01="Roof Texture #1",t.Texture02="Roof Texture #2",t.Texture03="Roof Texture #3",t.Texture04="Roof Texture #4",t.Texture05="Roof Texture #5",t.Texture06="Roof Texture #6",t.Texture07="Roof Texture #7",t.NoTexture="No Roof Texture",t))(Ui||{}),B1=(t=>(t.Left="Left",t.Right="Right",t))(B1||{}),fc=(t=>(t.Valid="Valid",t.OverLap="OverLap",t.OutsideBoundary="OutsideBoundary",t.Invalid="Invalid",t))(fc||{}),ki=(t=>(t.Mid="Mid",t.Left="Left",t.Right="Right",t.TopMid="TopMid",t.TopLeft="TopLeft",t.TopRight="TopRight",t.FrontLeft="FrontLeft",t.FrontRight="FrontRight",t.BackLeft="BackLeft",t.BackRight="BackRight",t.Top="Top",t.Ridge="Ridge",t.Null="Null",t))(ki||{}),Ql=(t=>(t.BUILDING="Building",t.PV="PV",t.CSP="CSP",t.SUT="SUT",t.WIND="Wind",t))(Ql||{}),w_={VITE_MAPS_API_KEY:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",VITE_FIREBASE_API_KEY:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",VITE_FIREBASE_AUTH_DOMAIN:"aladdin-316017.firebaseapp.com",VITE_FIREBASE_DATABASE_URL:"https://aladdin-316017.firebaseio.com",VITE_FIREBASE_PROJECT_ID:"aladdin-316017",VITE_FIREBASE_STORAGE_BUCKET:"aladdin-316017.appspot.com",VITE_FIREBASE_MESSAGING_SENDER_ID:"169516488625",VITE_FIREBASE_APP_ID:"1:169516488625:web:bb0ae3c3f7c6e813250f90",VITE_FIREBASE_MEASUREMENT_ID:"G-G0XPQ7JNYJ",VITE_FIREBASE_LOGGER_DATABASE_URL:"https://aladdin-2023.firebaseio.com",VITE_EXAMPLE_PROJECT_OWNER:"QWecNcxhyvP6j6sBN11hBsfZDau1",BASE_URL:"/aladdin",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const ace=new Map,Vj=t=>{const e=ace.get(t);return e?Object.fromEntries(Object.entries(e.stores).map(([n,o])=>[n,o.getState()])):{}},w3t=(t,e,n)=>{if(t===void 0)return{type:"untracked",connection:e.connect(n)};const o=ace.get(n.name);if(o)return{type:"tracked",store:t,...o};const i={connection:e.connect(n),stores:{}};return ace.set(n.name,i),{type:"tracked",store:t,...i}},v3t=(t,e={})=>(n,o,i)=>{const{enabled:r,anonymousActionType:a,store:l,...s}=e;let c;try{c=(r??(w_?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!c)return(w_?"production":void 0)!=="production"&&r&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),t(n,o,i);const{connection:u,...d}=w3t(l,c,s);let f=!0;i.setState=(y,A,x)=>{const C=n(y,A);if(!f)return C;const b=x===void 0?{type:a||"anonymous"}:typeof x=="string"?{type:x}:x;return l===void 0?(u==null||u.send(b,o()),C):(u==null||u.send({...b,type:`${l}/${b.type}`},{...Vj(s.name),[l]:i.getState()}),C)};const p=(...y)=>{const A=f;f=!1,n(...y),f=A},g=t(i.setState,o,i);if(d.type==="untracked"?u==null||u.init(g):(d.stores[d.store]=i,u==null||u.init(Object.fromEntries(Object.entries(d.stores).map(([y,A])=>[y,y===d.store?g:A.getState()])))),i.dispatchFromDevtools&&typeof i.dispatch=="function"){let y=!1;const A=i.dispatch;i.dispatch=(...x)=>{(w_?"production":void 0)!=="production"&&x[0].type==="__setState"&&!y&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),y=!0),A(...x)}}return u.subscribe(y=>{var A;switch(y.type){case"ACTION":if(typeof y.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return _oe(y.payload,x=>{if(x.type==="__setState"){if(l===void 0){p(x.state);return}Object.keys(x.state).length!==1&&console.error(` [zustand devtools middleware] Unsupported __setState action format. When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(), and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } } @@ -3707,7 +3707,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * Copyright 2014-2020 Benjamin Tan * Copyright 2011-2013 John-David Dalton * Available under MIT license - */KV.exports;(function(t,e){(function(){var n={function:!0,object:!0},o=n[typeof window]&&window||this,i=e,r=t&&!t.nodeType&&t,a=i&&r&&typeof mc=="object"&&mc;a&&(a.global===a||a.window===a||a.self===a)&&(o=a);var l=Math.pow(2,53)-1,s=/\bOpera/,c=Object.prototype,u=c.hasOwnProperty,d=c.toString;function f(P){return P=String(P),P.charAt(0).toUpperCase()+P.slice(1)}function p(P,R,H){var D={"10.0":"10","6.4":"10 Technical Preview","6.3":"8.1","6.2":"8","6.1":"Server 2008 R2 / 7","6.0":"Server 2008 / Vista","5.2":"Server 2003 / XP 64-bit","5.1":"XP","5.01":"2000 SP1","5.0":"2000","4.0":"NT","4.90":"ME"};return R&&H&&/^Win/i.test(P)&&!/^Windows Phone /i.test(P)&&(D=D[/[\d.]+$/.exec(P)])&&(P="Windows "+D),P=String(P),R&&H&&(P=P.replace(RegExp(R,"i"),H)),P=y(P.replace(/ ce$/i," CE").replace(/\bhpw/i,"web").replace(/\bMacintosh\b/,"Mac OS").replace(/_PowerPC\b/i," OS").replace(/\b(OS X) [^ \d]+/i,"$1").replace(/\bMac (OS X)\b/,"$1").replace(/\/(\d)/," $1").replace(/_/g,".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i,"").replace(/\bx86\.64\b/gi,"x86_64").replace(/\b(Windows Phone) OS\b/,"$1").replace(/\b(Chrome OS \w+) [\d.]+\b/,"$1").split(" on ")[0]),P}function g(P,R){var H=-1,D=P?P.length:0;if(typeof D=="number"&&D>-1&&D<=l)for(;++H3&&"WebKit"||/\bOpera\b/.test(fe)&&(/\bOPR\b/.test(P)?"Blink":"Presto")||/\b(?:Midori|Nook|Safari)\b/i.test(P)&&!/^(?:Trident|EdgeHTML)$/.test(he)&&"WebKit"||!he&&/\bMSIE\b/i.test(P)&&(de=="Mac OS"?"Tasman":"Trident")||he=="WebKit"&&/\bPlayStation\b(?! Vita\b)/i.test(fe)&&"NetFront")&&(he=[$]),fe=="IE"&&($=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(P)||0)[1])?(fe+=" Mobile",de="Windows Phone "+(/\+$/.test($)?$:$+".x"),le.unshift("desktop mode")):/\bWPDesktop\b/i.test(P)?(fe="IE Mobile",de="Windows Phone 8.x",le.unshift("desktop mode"),ne||(ne=(/\brv:([\d.]+)/.exec(P)||0)[1])):fe!="IE"&&he=="Trident"&&($=/\brv:([\d.]+)/.exec(P))&&(fe&&le.push("identifying as "+fe+(ne?" "+ne:"")),fe="IE",ne=$[1]),pe){if(C(R,"global"))if(N&&($=N.lang.System,q=$.getProperty("os.arch"),de=de||$.getProperty("os.name")+" "+$.getProperty("os.version")),j){try{ne=R.require("ringo/engine").version.join("."),fe="RingoJS"}catch{($=R.system)&&$.global.system==R.system&&(fe="Narwhal",de||(de=$[0].os||null))}fe||(fe="Rhino")}else typeof R.process=="object"&&!R.process.browser&&($=R.process)&&(typeof $.versions=="object"&&(typeof $.versions.electron=="string"?(le.push("Node "+$.versions.node),fe="Electron",ne=$.versions.electron):typeof $.versions.nw=="string"&&(le.push("Chromium "+ne,"Node "+$.versions.node),fe="NW.js",ne=$.versions.nw)),fe||(fe="Node.js",q=$.arch,de=$.platform,ne=/[\d.]+/.exec($.version),ne=ne?ne[0]:null));else x($=R.runtime)==F?(fe="Adobe AIR",de=$.flash.system.Capabilities.os):x($=R.phantom)==k?(fe="PhantomJS",ne=($=$.version||null)&&$.major+"."+$.minor+"."+$.patch):typeof J.documentMode=="number"&&($=/\bTrident\/(\d+)/i.exec(P))?(ne=[ne,J.documentMode],($=+$[1]+4)!=ne[1]&&(le.push("IE "+ne[1]+" mode"),he&&(he[1]=""),ne[1]=$),ne=fe=="IE"?String(ne[1].toFixed(1)):ne[0]):typeof J.documentMode=="number"&&/^(?:Chrome|Firefox)\b/.test(fe)&&(le.push("masking as "+fe+" "+ne),fe="IE",ne="11.0",he=["Trident"],de="Windows");de=de&&y(de)}if(ne&&($=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(ne)||/(?:alpha|beta)(?: ?\d)?/i.exec(P+";"+(pe&&D.appMinorVersion))||/\bMinefield\b/i.test(P)&&"a")&&(ie=/b/i.test($)?"beta":"alpha",ne=ne.replace(RegExp($+"\\+?$"),"")+(ie=="beta"?_:Y)+(/\d+\+?/.exec($)||"")),fe=="Fennec"||fe=="Firefox"&&/\b(?:Android|Firefox OS|KaiOS)\b/.test(de))fe="Firefox Mobile";else if(fe=="Maxthon"&&ne)ne=ne.replace(/\.[\d.]+/,".x");else if(/\bXbox\b/i.test(se))se=="Xbox 360"&&(de=null),se=="Xbox 360"&&/\bIEMobile\b/.test(P)&&le.unshift("mobile mode");else if((/^(?:Chrome|IE|Opera)$/.test(fe)||fe&&!se&&!/Browser|Mobi/.test(fe))&&(de=="Windows CE"||/Mobi/i.test(P)))fe+=" Mobile";else if(fe=="IE"&&pe)try{R.external===null&&le.unshift("platform preview")}catch{le.unshift("embedded")}else(/\bBlackBerry\b/.test(se)||/\bBB10\b/.test(P))&&($=(RegExp(se.replace(/ +/g," *")+"/([.\\d]+)","i").exec(P)||0)[1]||ne)?($=[$,/BB10/.test(P)],de=($[1]?(se=null,oe="BlackBerry"):"Device Software")+" "+$[0],ne=null):this!=A&&se!="Wii"&&(pe&&Q||/Opera/.test(fe)&&/\b(?:MSIE|Firefox)\b/i.test(P)||fe=="Firefox"&&/\bOS X (?:\d+\.){2,}/.test(de)||fe=="IE"&&(de&&!/^Win/.test(de)&&ne>5.5||/\bWindows XP\b/.test(de)&&ne>8||ne==8&&!/\bTrident\b/.test(P)))&&!s.test($=w.call(A,P.replace(s,"")+";"))&&$.name&&($="ing as "+$.name+(($=$.version)?" "+$:""),s.test(fe)?(/\bIE\b/.test($)&&de=="Mac OS"&&(de=null),$="identify"+$):($="mask"+$,ee?fe=y(ee.replace(/([a-z])([A-Z])/g,"$1 $2")):fe="Opera",/\bIE\b/.test($)&&(de=null),pe||(ne=null)),he=["Presto"],le.push($));($=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(P)||0)[1])&&($=[parseFloat($.replace(/\.(\d)$/,".0$1")),$],fe=="Safari"&&$[1].slice(-1)=="+"?(fe="WebKit Nightly",ie="alpha",ne=$[1].slice(0,-1)):(ne==$[1]||ne==($[2]=(/\bSafari\/([\d.]+\+?)/i.exec(P)||0)[1]))&&(ne=null),$[1]=(/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(P)||0)[1],$[0]==537.36&&$[2]==537.36&&parseFloat($[1])>=28&&he=="WebKit"&&(he=["Blink"]),!pe||!L&&!$[1]?(he&&(he[1]="like Safari"),$=($=$[0],$<400?1:$<500?2:$<526?3:$<533?4:$<534?"4+":$<535?5:$<537?6:$<538?7:$<601?8:$<602?9:$<604?10:$<606?11:$<608?12:"12")):(he&&(he[1]="like Chrome"),$=$[1]||($=$[0],$<530?1:$<532?2:$<532.05?3:$<533?4:$<534.03?5:$<534.07?6:$<534.1?7:$<534.13?8:$<534.16?9:$<534.24?10:$<534.3?11:$<535.01?12:$<535.02?"13+":$<535.07?15:$<535.11?16:$<535.19?17:$<536.05?18:$<536.1?19:$<537.01?20:$<537.11?"21+":$<537.13?23:$<537.18?24:$<537.24?25:$<537.36?26:he!="Blink"?"27":"28")),he&&(he[1]+=" "+($+=typeof $=="number"?".x":/[.+]/.test($)?"":"+")),fe=="Safari"&&(!ne||parseInt(ne)>45)?ne=$:fe=="Chrome"&&/\bHeadlessChrome/i.test(P)&&le.unshift("headless")),fe=="Opera"&&($=/\bzbov|zvav$/.exec(de))?(fe+=" ",le.unshift("desktop mode"),$=="zvav"?(fe+="Mini",ne=null):fe+="Mobile",de=de.replace(RegExp(" *"+$+"$"),"")):fe=="Safari"&&/\bChrome\b/.exec(he&&he[1])?(le.unshift("desktop mode"),fe="Chrome Mobile",ne=null,/\bOS X\b/.test(de)?(oe="Apple",de="iOS 4.3+"):de=null):/\bSRWare Iron\b/.test(fe)&&!ne&&(ne=Ae("Chrome")),ne&&ne.indexOf($=/[\d.]+$/.exec(de))==0&&P.indexOf("/"+$+"-")>-1&&(de=S(de.replace($,""))),de&&de.indexOf(fe)!=-1&&!RegExp(fe+" OS").test(de)&&(de=de.replace(RegExp(" *"+b(fe)+" *"),"")),he&&!/\b(?:Avant|Nook)\b/.test(fe)&&(/Browser|Lunascape|Maxthon/.test(fe)||fe!="Safari"&&/^iOS/.test(de)&&/\bSafari\b/.test(he[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(fe)&&he[1])&&($=he[he.length-1])&&le.push($),le.length&&(le=["("+le.join("; ")+")"]),oe&&se&&se.indexOf(oe)<0&&le.push("on "+oe),se&&le.push((/^on /.test(le[le.length-1])?"":"on ")+se),de&&($=/ ([\d.+]+)$/.exec(de),Z=$&&de.charAt(de.length-$[0].length-1)=="/",de={architecture:32,family:$&&!Z?de.replace($[0],""):de,version:$?$[1]:null,toString:function(){var we=this.version;return this.family+(we&&!Z?" "+we:"")+(this.architecture==64?" 64-bit":"")}}),($=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(q))&&!/\bi686\b/i.test(q)?(de&&(de.architecture=64,de.family=de.family.replace(RegExp(" *"+$),"")),fe&&(/\bWOW64\b/i.test(P)||pe&&/\w(?:86|32)$/.test(D.cpuClass||D.platform)&&!/\bWin64; x64\b/i.test(P))&&le.unshift("32-bit")):de&&/^OS X/.test(de.family)&&fe=="Chrome"&&parseFloat(ne)>=39&&(de.architecture=64),P||(P=null);var ge={};return ge.description=P,ge.layout=he&&he[0],ge.manufacturer=oe,ge.name=fe,ge.prerelease=ie,ge.product=se,ge.ua=P,ge.version=fe&&ne,ge.os=de||{architecture:null,family:null,version:null,toString:function(){return"null"}},ge.parse=w,ge.toString=re,ge.version&&le.unshift(ne),ge.name&&le.unshift(fe),de&&fe&&!(de==String(de).split(" ")[0]&&(de==fe.split(" ")[0]||se))&&le.push(se?"("+de+")":"on "+de),le.length&&(ge.description=le.join(" ")),ge}var T=w();i&&r?A(T,function(P,R){i[R]=P}):o.platform=T}).call(mc)})(KV,KV.exports);var C3t=KV.exports;const XNe=kr(C3t);var R3t={VITE_MAPS_API_KEY:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",VITE_FIREBASE_API_KEY:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",VITE_FIREBASE_AUTH_DOMAIN:"aladdin-316017.firebaseapp.com",VITE_FIREBASE_DATABASE_URL:"https://aladdin-316017.firebaseio.com",VITE_FIREBASE_PROJECT_ID:"aladdin-316017",VITE_FIREBASE_STORAGE_BUCKET:"aladdin-316017.appspot.com",VITE_FIREBASE_MESSAGING_SENDER_ID:"169516488625",VITE_FIREBASE_APP_ID:"1:169516488625:web:bb0ae3c3f7c6e813250f90",VITE_FIREBASE_MEASUREMENT_ID:"G-G0XPQ7JNYJ",VITE_FIREBASE_LOGGER_DATABASE_URL:"https://aladdin-2023.firebaseio.com",VITE_EXAMPLE_PROJECT_OWNER:"QWecNcxhyvP6j6sBN11hBsfZDau1",BASE_URL:"/aladdin",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const nE="1.5.9",H3t="1.5.0",M3t=R3t.NODE_ENV==="production",Sg=M3t?"https://institute-for-future-intelligence.github.io/aladdin/":"http://localhost:3000/aladdin",qV="Natick, MA",$1=["#627682","#8884d8","#f97356","#1bc32c","#c6502d","#82ca9d","#3eaec0","#445111"],xc=15,Ek=50,$V=.5,m0=.8,I3t=new Xo(0,0,1),z3t=new Xo(0,1,0),D3t=new Xo(1,1,0),E3t=new Xo(1,0,0),gz=[I3t,z3t,D3t,E3t],Vm=20,g0="gray",Gm=.5,K9=4,Q4=2,i6=2,Z4=2,c6=2,B4=2,j4=1,JNe=1,Xm=100,QV=200,Kw="#3BB9FF",qw="#36454F",X5="#FFFFFF",J5="#404040",KNe=10,sw=4,Ps=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Pwe=["January","February","March","April","May","June","July","August","September","October","November","December"],sq=105,cq=320,k3t=5e3,qNe=45,kk=1e4,$Ne=4096,F3t=.1,Af=.1,I9=.16,jx="orange",Fk="orchid",L3t="pink",pr="white",nr="red",l0="yellow",V5=5,l9=.1,g6=V5*l9,QNe=1e4,Cwe=250,W3t=.01,N3t=.005,U3t="#000",B3t="#01345B",lce="#fe6f5e",Zo="Ground",Vt=Math.PI/2,na=Math.PI*2,kt=1e-4,o0=[0,0,1],j3t=[0,-1,0],Np=new ae(1,0,0),Up=new ae(-1,0,0),Yc=new ae(0,1,0),Bp=new ae(0,-1,0),Po=new ae(0,0,1);new ae(0,0,-1);const wr=new Gt(0,0);new ae(0,0,0);const ZV=new Qt(0,0,Vt),JC=/^[A-Za-z0-9\s-_()!?%&,]*$/,Voe=Y3t()?"⌘":"Ctrl";function Y3t(){var e;const t=(e=XNe.os)==null?void 0:e.family;return t?t.includes("Mac")||t.includes("OS X"):!1}var Hl=(t=>(t.Full="Full",t.Partial="Partial",t.Empty="Empty",t))(Hl||{}),hc=(t=>(t.Default="Default",t.Stud="Stud",t.Pillar="Pillar",t))(hc||{});let ri=class{constructor(e,n,o,i){this.x=e,this.y=n,this.width=o,this.height=i}centerX(){return this.x+this.width/2}centerY(){return this.y+this.height/2}minX(){return this.x}maxX(){return this.x+this.width}minY(){return this.y}maxY(){return this.y+this.height}contains(e,n){return e>this.x&&ethis.y&&n(t.Pyramid="Pyramid",t.Gable="Gable",t.Hip="Hip",t.Gambrel="Gambrel",t.Mansard="Mansard",t))(Vo||{}),yc=(t=>(t.Default="Default",t.Rafter="Rafter",t.Glass="Glass",t))(yc||{});function z9(){return z9=Object.assign?Object.assign.bind():function(t){for(var e=1;en&&s.add(D)}s.normalize(),g.setXYZ(x+S,s.x,s.y,s.z)}}return u.setAttribute("normal",g),u}const Rwe=new pf,Gj=new ae;class F1e extends aq{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],n=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],o=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(o),this.setAttribute("position",new hi(e,3)),this.setAttribute("uv",new hi(n,2))}applyMatrix4(e){const n=this.attributes.instanceStart,o=this.attributes.instanceEnd;return n!==void 0&&(n.applyMatrix4(e),o.applyMatrix4(e),n.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new _V(n,6,1);return this.setAttribute("instanceStart",new cg(o,3,0)),this.setAttribute("instanceEnd",new cg(o,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new _V(n,6,1);return this.setAttribute("instanceColorStart",new cg(o,3,0)),this.setAttribute("instanceColorEnd",new cg(o,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new y1e(e.geometry)),this}fromLineSegments(e){const n=e.geometry;return this.setPositions(n.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pf);const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;e!==void 0&&n!==void 0&&(this.boundingBox.setFromBufferAttribute(e),Rwe.setFromBufferAttribute(n),this.boundingBox.union(Rwe))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new t1),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;if(e!==void 0&&n!==void 0){const o=this.boundingSphere.center;this.boundingBox.getCenter(o);let i=0;for(let r=0,a=e.count;r-1&&D<=l)for(;++H3&&"WebKit"||/\bOpera\b/.test(fe)&&(/\bOPR\b/.test(P)?"Blink":"Presto")||/\b(?:Midori|Nook|Safari)\b/i.test(P)&&!/^(?:Trident|EdgeHTML)$/.test(he)&&"WebKit"||!he&&/\bMSIE\b/i.test(P)&&(de=="Mac OS"?"Tasman":"Trident")||he=="WebKit"&&/\bPlayStation\b(?! Vita\b)/i.test(fe)&&"NetFront")&&(he=[$]),fe=="IE"&&($=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(P)||0)[1])?(fe+=" Mobile",de="Windows Phone "+(/\+$/.test($)?$:$+".x"),le.unshift("desktop mode")):/\bWPDesktop\b/i.test(P)?(fe="IE Mobile",de="Windows Phone 8.x",le.unshift("desktop mode"),ne||(ne=(/\brv:([\d.]+)/.exec(P)||0)[1])):fe!="IE"&&he=="Trident"&&($=/\brv:([\d.]+)/.exec(P))&&(fe&&le.push("identifying as "+fe+(ne?" "+ne:"")),fe="IE",ne=$[1]),pe){if(C(R,"global"))if(N&&($=N.lang.System,q=$.getProperty("os.arch"),de=de||$.getProperty("os.name")+" "+$.getProperty("os.version")),j){try{ne=R.require("ringo/engine").version.join("."),fe="RingoJS"}catch{($=R.system)&&$.global.system==R.system&&(fe="Narwhal",de||(de=$[0].os||null))}fe||(fe="Rhino")}else typeof R.process=="object"&&!R.process.browser&&($=R.process)&&(typeof $.versions=="object"&&(typeof $.versions.electron=="string"?(le.push("Node "+$.versions.node),fe="Electron",ne=$.versions.electron):typeof $.versions.nw=="string"&&(le.push("Chromium "+ne,"Node "+$.versions.node),fe="NW.js",ne=$.versions.nw)),fe||(fe="Node.js",q=$.arch,de=$.platform,ne=/[\d.]+/.exec($.version),ne=ne?ne[0]:null));else x($=R.runtime)==F?(fe="Adobe AIR",de=$.flash.system.Capabilities.os):x($=R.phantom)==k?(fe="PhantomJS",ne=($=$.version||null)&&$.major+"."+$.minor+"."+$.patch):typeof J.documentMode=="number"&&($=/\bTrident\/(\d+)/i.exec(P))?(ne=[ne,J.documentMode],($=+$[1]+4)!=ne[1]&&(le.push("IE "+ne[1]+" mode"),he&&(he[1]=""),ne[1]=$),ne=fe=="IE"?String(ne[1].toFixed(1)):ne[0]):typeof J.documentMode=="number"&&/^(?:Chrome|Firefox)\b/.test(fe)&&(le.push("masking as "+fe+" "+ne),fe="IE",ne="11.0",he=["Trident"],de="Windows");de=de&&y(de)}if(ne&&($=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(ne)||/(?:alpha|beta)(?: ?\d)?/i.exec(P+";"+(pe&&D.appMinorVersion))||/\bMinefield\b/i.test(P)&&"a")&&(ie=/b/i.test($)?"beta":"alpha",ne=ne.replace(RegExp($+"\\+?$"),"")+(ie=="beta"?_:Y)+(/\d+\+?/.exec($)||"")),fe=="Fennec"||fe=="Firefox"&&/\b(?:Android|Firefox OS|KaiOS)\b/.test(de))fe="Firefox Mobile";else if(fe=="Maxthon"&&ne)ne=ne.replace(/\.[\d.]+/,".x");else if(/\bXbox\b/i.test(se))se=="Xbox 360"&&(de=null),se=="Xbox 360"&&/\bIEMobile\b/.test(P)&&le.unshift("mobile mode");else if((/^(?:Chrome|IE|Opera)$/.test(fe)||fe&&!se&&!/Browser|Mobi/.test(fe))&&(de=="Windows CE"||/Mobi/i.test(P)))fe+=" Mobile";else if(fe=="IE"&&pe)try{R.external===null&&le.unshift("platform preview")}catch{le.unshift("embedded")}else(/\bBlackBerry\b/.test(se)||/\bBB10\b/.test(P))&&($=(RegExp(se.replace(/ +/g," *")+"/([.\\d]+)","i").exec(P)||0)[1]||ne)?($=[$,/BB10/.test(P)],de=($[1]?(se=null,oe="BlackBerry"):"Device Software")+" "+$[0],ne=null):this!=A&&se!="Wii"&&(pe&&Q||/Opera/.test(fe)&&/\b(?:MSIE|Firefox)\b/i.test(P)||fe=="Firefox"&&/\bOS X (?:\d+\.){2,}/.test(de)||fe=="IE"&&(de&&!/^Win/.test(de)&&ne>5.5||/\bWindows XP\b/.test(de)&&ne>8||ne==8&&!/\bTrident\b/.test(P)))&&!s.test($=w.call(A,P.replace(s,"")+";"))&&$.name&&($="ing as "+$.name+(($=$.version)?" "+$:""),s.test(fe)?(/\bIE\b/.test($)&&de=="Mac OS"&&(de=null),$="identify"+$):($="mask"+$,ee?fe=y(ee.replace(/([a-z])([A-Z])/g,"$1 $2")):fe="Opera",/\bIE\b/.test($)&&(de=null),pe||(ne=null)),he=["Presto"],le.push($));($=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(P)||0)[1])&&($=[parseFloat($.replace(/\.(\d)$/,".0$1")),$],fe=="Safari"&&$[1].slice(-1)=="+"?(fe="WebKit Nightly",ie="alpha",ne=$[1].slice(0,-1)):(ne==$[1]||ne==($[2]=(/\bSafari\/([\d.]+\+?)/i.exec(P)||0)[1]))&&(ne=null),$[1]=(/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(P)||0)[1],$[0]==537.36&&$[2]==537.36&&parseFloat($[1])>=28&&he=="WebKit"&&(he=["Blink"]),!pe||!L&&!$[1]?(he&&(he[1]="like Safari"),$=($=$[0],$<400?1:$<500?2:$<526?3:$<533?4:$<534?"4+":$<535?5:$<537?6:$<538?7:$<601?8:$<602?9:$<604?10:$<606?11:$<608?12:"12")):(he&&(he[1]="like Chrome"),$=$[1]||($=$[0],$<530?1:$<532?2:$<532.05?3:$<533?4:$<534.03?5:$<534.07?6:$<534.1?7:$<534.13?8:$<534.16?9:$<534.24?10:$<534.3?11:$<535.01?12:$<535.02?"13+":$<535.07?15:$<535.11?16:$<535.19?17:$<536.05?18:$<536.1?19:$<537.01?20:$<537.11?"21+":$<537.13?23:$<537.18?24:$<537.24?25:$<537.36?26:he!="Blink"?"27":"28")),he&&(he[1]+=" "+($+=typeof $=="number"?".x":/[.+]/.test($)?"":"+")),fe=="Safari"&&(!ne||parseInt(ne)>45)?ne=$:fe=="Chrome"&&/\bHeadlessChrome/i.test(P)&&le.unshift("headless")),fe=="Opera"&&($=/\bzbov|zvav$/.exec(de))?(fe+=" ",le.unshift("desktop mode"),$=="zvav"?(fe+="Mini",ne=null):fe+="Mobile",de=de.replace(RegExp(" *"+$+"$"),"")):fe=="Safari"&&/\bChrome\b/.exec(he&&he[1])?(le.unshift("desktop mode"),fe="Chrome Mobile",ne=null,/\bOS X\b/.test(de)?(oe="Apple",de="iOS 4.3+"):de=null):/\bSRWare Iron\b/.test(fe)&&!ne&&(ne=Ae("Chrome")),ne&&ne.indexOf($=/[\d.]+$/.exec(de))==0&&P.indexOf("/"+$+"-")>-1&&(de=S(de.replace($,""))),de&&de.indexOf(fe)!=-1&&!RegExp(fe+" OS").test(de)&&(de=de.replace(RegExp(" *"+b(fe)+" *"),"")),he&&!/\b(?:Avant|Nook)\b/.test(fe)&&(/Browser|Lunascape|Maxthon/.test(fe)||fe!="Safari"&&/^iOS/.test(de)&&/\bSafari\b/.test(he[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(fe)&&he[1])&&($=he[he.length-1])&&le.push($),le.length&&(le=["("+le.join("; ")+")"]),oe&&se&&se.indexOf(oe)<0&&le.push("on "+oe),se&&le.push((/^on /.test(le[le.length-1])?"":"on ")+se),de&&($=/ ([\d.+]+)$/.exec(de),Z=$&&de.charAt(de.length-$[0].length-1)=="/",de={architecture:32,family:$&&!Z?de.replace($[0],""):de,version:$?$[1]:null,toString:function(){var we=this.version;return this.family+(we&&!Z?" "+we:"")+(this.architecture==64?" 64-bit":"")}}),($=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(q))&&!/\bi686\b/i.test(q)?(de&&(de.architecture=64,de.family=de.family.replace(RegExp(" *"+$),"")),fe&&(/\bWOW64\b/i.test(P)||pe&&/\w(?:86|32)$/.test(D.cpuClass||D.platform)&&!/\bWin64; x64\b/i.test(P))&&le.unshift("32-bit")):de&&/^OS X/.test(de.family)&&fe=="Chrome"&&parseFloat(ne)>=39&&(de.architecture=64),P||(P=null);var ge={};return ge.description=P,ge.layout=he&&he[0],ge.manufacturer=oe,ge.name=fe,ge.prerelease=ie,ge.product=se,ge.ua=P,ge.version=fe&&ne,ge.os=de||{architecture:null,family:null,version:null,toString:function(){return"null"}},ge.parse=w,ge.toString=re,ge.version&&le.unshift(ne),ge.name&&le.unshift(fe),de&&fe&&!(de==String(de).split(" ")[0]&&(de==fe.split(" ")[0]||se))&&le.push(se?"("+de+")":"on "+de),le.length&&(ge.description=le.join(" ")),ge}var T=w();i&&r?A(T,function(P,R){i[R]=P}):o.platform=T}).call(mc)})(KV,KV.exports);var C3t=KV.exports;const XNe=kr(C3t),nE="1.5.9",R3t="1.5.0",qp="https://institute-for-future-intelligence.github.io/aladdin/",qV="Natick, MA",Q1=["#627682","#8884d8","#f97356","#1bc32c","#c6502d","#82ca9d","#3eaec0","#445111"],xc=15,Ek=50,$V=.5,m0=.8,H3t=new Xo(0,0,1),M3t=new Xo(0,1,0),I3t=new Xo(1,1,0),z3t=new Xo(1,0,0),gz=[H3t,M3t,I3t,z3t],Vm=20,g0="gray",Gm=.5,K9=4,Q4=2,i6=2,Z4=2,c6=2,B4=2,j4=1,JNe=1,Xm=100,QV=200,Kw="#3BB9FF",qw="#36454F",X5="#FFFFFF",J5="#404040",KNe=10,sw=4,Ps=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Pwe=["January","February","March","April","May","June","July","August","September","October","November","December"],sq=105,cq=320,D3t=5e3,qNe=45,kk=1e4,$Ne=4096,E3t=.1,Af=.1,I9=.16,jx="orange",Fk="orchid",k3t="pink",pr="white",nr="red",l0="yellow",V5=5,l9=.1,g6=V5*l9,QNe=1e4,Cwe=250,F3t=.01,L3t=.005,W3t="#000",N3t="#01345B",lce="#fe6f5e",Zo="Ground",Vt=Math.PI/2,na=Math.PI*2,kt=1e-4,o0=[0,0,1],U3t=[0,-1,0],Np=new ae(1,0,0),Up=new ae(-1,0,0),Yc=new ae(0,1,0),Bp=new ae(0,-1,0),Po=new ae(0,0,1);new ae(0,0,-1);const wr=new Gt(0,0);new ae(0,0,0);const ZV=new Qt(0,0,Vt),JC=/^[A-Za-z0-9\s-_()!?%&,]*$/,Voe=B3t()?"⌘":"Ctrl";function B3t(){var e;const t=(e=XNe.os)==null?void 0:e.family;return t?t.includes("Mac")||t.includes("OS X"):!1}var Hl=(t=>(t.Full="Full",t.Partial="Partial",t.Empty="Empty",t))(Hl||{}),hc=(t=>(t.Default="Default",t.Stud="Stud",t.Pillar="Pillar",t))(hc||{});let ri=class{constructor(e,n,o,i){this.x=e,this.y=n,this.width=o,this.height=i}centerX(){return this.x+this.width/2}centerY(){return this.y+this.height/2}minX(){return this.x}maxX(){return this.x+this.width}minY(){return this.y}maxY(){return this.y+this.height}contains(e,n){return e>this.x&&ethis.y&&n(t.Pyramid="Pyramid",t.Gable="Gable",t.Hip="Hip",t.Gambrel="Gambrel",t.Mansard="Mansard",t))(Vo||{}),yc=(t=>(t.Default="Default",t.Rafter="Rafter",t.Glass="Glass",t))(yc||{});function z9(){return z9=Object.assign?Object.assign.bind():function(t){for(var e=1;en&&s.add(D)}s.normalize(),g.setXYZ(x+S,s.x,s.y,s.z)}}return u.setAttribute("normal",g),u}const Rwe=new pf,Gj=new ae;class F1e extends aq{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],n=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],o=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(o),this.setAttribute("position",new hi(e,3)),this.setAttribute("uv",new hi(n,2))}applyMatrix4(e){const n=this.attributes.instanceStart,o=this.attributes.instanceEnd;return n!==void 0&&(n.applyMatrix4(e),o.applyMatrix4(e),n.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new _V(n,6,1);return this.setAttribute("instanceStart",new ug(o,3,0)),this.setAttribute("instanceEnd",new ug(o,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new _V(n,6,1);return this.setAttribute("instanceColorStart",new ug(o,3,0)),this.setAttribute("instanceColorEnd",new ug(o,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new y1e(e.geometry)),this}fromLineSegments(e){const n=e.geometry;return this.setPositions(n.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pf);const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;e!==void 0&&n!==void 0&&(this.boundingBox.setFromBufferAttribute(e),Rwe.setFromBufferAttribute(n),this.boundingBox.union(Rwe))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new n1),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;if(e!==void 0&&n!==void 0){const o=this.boundingSphere.center;this.boundingBox.getCenter(o);let i=0;for(let r=0,a=e.count;r #include #include @@ -4094,15 +4094,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho #include } - `,clipping:!0}),this.isLineMaterial=!0,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(n){this.uniforms.diffuse.value=n}},worldUnits:{enumerable:!0,get:function(){return"WORLD_UNITS"in this.defines},set:function(n){n===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(n){this.uniforms.linewidth.value=n}},dashed:{enumerable:!0,get:function(){return"USE_DASH"in this.defines},set(n){!!n!="USE_DASH"in this.defines&&(this.needsUpdate=!0),n===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(n){this.uniforms.dashScale.value=n}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(n){this.uniforms.dashSize.value=n}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(n){this.uniforms.dashOffset.value=n}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(n){this.uniforms.gapSize.value=n}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(n){this.uniforms.opacity.value=n}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(n){this.uniforms.resolution.value.copy(n)}},alphaToCoverage:{enumerable:!0,get:function(){return"USE_ALPHA_TO_COVERAGE"in this.defines},set:function(n){!!n!="USE_ALPHA_TO_COVERAGE"in this.defines&&(this.needsUpdate=!0),n===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}}const Hwe=new ae,Mwe=new ae,_d=new ll,Vd=new ll,W5=new ll,Goe=new ae,Xoe=new Xr,Gf=new M1e,Iwe=new ae,Xj=new pf,Jj=new t1,N5=new ll;let o9,sce,eUe,rx;function zwe(t,e,n){return N5.set(0,0,-e,1).applyMatrix4(t.projectionMatrix),N5.multiplyScalar(1/N5.w),N5.x=rx/n.width,N5.y=rx/n.height,N5.applyMatrix4(t.projectionMatrixInverse),N5.multiplyScalar(1/N5.w),Math.abs(Math.max(N5.x,N5.y))}function _3t(t,e){for(let n=0,o=sce.count;nu&&Vd.z>u)continue;if(_d.z>u){const C=_d.z-Vd.z,b=(_d.z-u)/C;_d.lerp(Vd,b)}else if(Vd.z>u){const C=Vd.z-_d.z,b=(Vd.z-u)/C;Vd.lerp(_d,b)}_d.applyMatrix4(o),Vd.applyMatrix4(o),_d.multiplyScalar(1/_d.w),Vd.multiplyScalar(1/Vd.w),_d.x*=r.x/2,_d.y*=r.y/2,Vd.x*=r.x/2,Vd.y*=r.y/2,Gf.start.copy(_d),Gf.start.z=0,Gf.end.copy(Vd),Gf.end.z=0;const g=Gf.closestPointToPointParameter(Goe,!0);Gf.at(g,Iwe);const y=mWe.lerp(_d.z,Vd.z,g),A=y>=-1&&y<=1,x=Goe.distanceTo(Iwe){if(!e||!l.current)return;const c=l.current.rotation.clone();s.getWorldQuaternion(l.current.quaternion),n&&(l.current.rotation.x=c.x),o&&(l.current.rotation.y=c.y),i&&(l.current.rotation.z=c.z)}),m.createElement("group",z9({ref:k1e([l,a])},r))}),Fn=m.forwardRef(function({points:e,color:n="black",vertexColors:o,linewidth:i,lineWidth:r,segments:a,dashed:l,...s},c){const u=Xi(g=>g.size),d=m.useMemo(()=>a?new tUe:new G3t,[a]),[f]=m.useState(()=>new L1e),p=m.useMemo(()=>{const g=a?new F1e:new ZNe,y=e.map(A=>{const x=Array.isArray(A);return A instanceof ae?[A.x,A.y,A.z]:A instanceof Gt?[A.x,A.y,0]:x&&A.length===3?[A[0],A[1],A[2]]:x&&A.length===2?[A[0],A[1],0]:A});if(g.setPositions(y.flat()),o){const A=o.map(x=>x instanceof Xo?x.toArray():x);g.setColors(A.flat())}return g},[e,a,o]);return m.useLayoutEffect(()=>{d.computeLineDistances()},[e,d]),m.useLayoutEffect(()=>{l?f.defines.USE_DASH="":delete f.defines.USE_DASH,f.needsUpdate=!0},[l,f]),m.useEffect(()=>()=>p.dispose(),[p]),m.createElement("primitive",z9({object:d,ref:c},s),m.createElement("primitive",{object:p,attach:"geometry"}),m.createElement("primitive",z9({object:f,attach:"material",color:n,vertexColors:!!o,resolution:[u.width,u.height],linewidth:i??r,dashed:l},s)))});function X3t(){var t=Object.create(null);function e(i,r){var a=i.id,l=i.name,s=i.dependencies;s===void 0&&(s=[]);var c=i.init;c===void 0&&(c=function(){});var u=i.getTransferables;if(u===void 0&&(u=null),!t[a])try{s=s.map(function(f){return f&&f.isWorkerModule&&(e(f,function(p){if(p instanceof Error)throw p}),f=t[f.id].value),f}),c=o("<"+l+">.init",c),u&&(u=o("<"+l+">.getTransferables",u));var d=null;typeof c=="function"?d=c.apply(void 0,s):console.error("worker module init function failed to rehydrate"),t[a]={id:a,value:d,getTransferables:u},r(d)}catch(f){f&&f.noLog||console.error(f),r(f)}}function n(i,r){var a,l=i.id,s=i.args;(!t[l]||typeof t[l].value!="function")&&r(new Error("Worker module "+l+": not found or its 'init' did not return a function"));try{var c=(a=t[l]).value.apply(a,s);c&&typeof c.then=="function"?c.then(u,function(d){return r(d instanceof Error?d:new Error(""+d))}):u(c)}catch(d){r(d)}function u(d){try{var f=t[l].getTransferables&&t[l].getTransferables(d);(!f||!Array.isArray(f)||!f.length)&&(f=void 0),r(d,f)}catch(p){console.error(p),r(p)}}}function o(i,r){var a=void 0;self.troikaDefine=function(s){return a=s};var l=URL.createObjectURL(new Blob(["/** "+i.replace(/\*/g,"")+` **/ + `,clipping:!0}),this.isLineMaterial=!0,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(n){this.uniforms.diffuse.value=n}},worldUnits:{enumerable:!0,get:function(){return"WORLD_UNITS"in this.defines},set:function(n){n===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(n){this.uniforms.linewidth.value=n}},dashed:{enumerable:!0,get:function(){return"USE_DASH"in this.defines},set(n){!!n!="USE_DASH"in this.defines&&(this.needsUpdate=!0),n===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(n){this.uniforms.dashScale.value=n}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(n){this.uniforms.dashSize.value=n}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(n){this.uniforms.dashOffset.value=n}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(n){this.uniforms.gapSize.value=n}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(n){this.uniforms.opacity.value=n}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(n){this.uniforms.resolution.value.copy(n)}},alphaToCoverage:{enumerable:!0,get:function(){return"USE_ALPHA_TO_COVERAGE"in this.defines},set:function(n){!!n!="USE_ALPHA_TO_COVERAGE"in this.defines&&(this.needsUpdate=!0),n===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}}const Hwe=new ae,Mwe=new ae,_d=new ll,Vd=new ll,W5=new ll,Goe=new ae,Xoe=new Xr,Gf=new M1e,Iwe=new ae,Xj=new pf,Jj=new n1,N5=new ll;let o9,sce,eUe,rx;function zwe(t,e,n){return N5.set(0,0,-e,1).applyMatrix4(t.projectionMatrix),N5.multiplyScalar(1/N5.w),N5.x=rx/n.width,N5.y=rx/n.height,N5.applyMatrix4(t.projectionMatrixInverse),N5.multiplyScalar(1/N5.w),Math.abs(Math.max(N5.x,N5.y))}function Y3t(t,e){for(let n=0,o=sce.count;nu&&Vd.z>u)continue;if(_d.z>u){const C=_d.z-Vd.z,b=(_d.z-u)/C;_d.lerp(Vd,b)}else if(Vd.z>u){const C=Vd.z-_d.z,b=(Vd.z-u)/C;Vd.lerp(_d,b)}_d.applyMatrix4(o),Vd.applyMatrix4(o),_d.multiplyScalar(1/_d.w),Vd.multiplyScalar(1/Vd.w),_d.x*=r.x/2,_d.y*=r.y/2,Vd.x*=r.x/2,Vd.y*=r.y/2,Gf.start.copy(_d),Gf.start.z=0,Gf.end.copy(Vd),Gf.end.z=0;const g=Gf.closestPointToPointParameter(Goe,!0);Gf.at(g,Iwe);const y=mWe.lerp(_d.z,Vd.z,g),A=y>=-1&&y<=1,x=Goe.distanceTo(Iwe){if(!e||!l.current)return;const c=l.current.rotation.clone();s.getWorldQuaternion(l.current.quaternion),n&&(l.current.rotation.x=c.x),o&&(l.current.rotation.y=c.y),i&&(l.current.rotation.z=c.z)}),m.createElement("group",z9({ref:k1e([l,a])},r))}),Fn=m.forwardRef(function({points:e,color:n="black",vertexColors:o,linewidth:i,lineWidth:r,segments:a,dashed:l,...s},c){const u=Xi(g=>g.size),d=m.useMemo(()=>a?new tUe:new _3t,[a]),[f]=m.useState(()=>new L1e),p=m.useMemo(()=>{const g=a?new F1e:new ZNe,y=e.map(A=>{const x=Array.isArray(A);return A instanceof ae?[A.x,A.y,A.z]:A instanceof Gt?[A.x,A.y,0]:x&&A.length===3?[A[0],A[1],A[2]]:x&&A.length===2?[A[0],A[1],0]:A});if(g.setPositions(y.flat()),o){const A=o.map(x=>x instanceof Xo?x.toArray():x);g.setColors(A.flat())}return g},[e,a,o]);return m.useLayoutEffect(()=>{d.computeLineDistances()},[e,d]),m.useLayoutEffect(()=>{l?f.defines.USE_DASH="":delete f.defines.USE_DASH,f.needsUpdate=!0},[l,f]),m.useEffect(()=>()=>p.dispose(),[p]),m.createElement("primitive",z9({object:d,ref:c},s),m.createElement("primitive",{object:p,attach:"geometry"}),m.createElement("primitive",z9({object:f,attach:"material",color:n,vertexColors:!!o,resolution:[u.width,u.height],linewidth:i??r,dashed:l},s)))});function V3t(){var t=Object.create(null);function e(i,r){var a=i.id,l=i.name,s=i.dependencies;s===void 0&&(s=[]);var c=i.init;c===void 0&&(c=function(){});var u=i.getTransferables;if(u===void 0&&(u=null),!t[a])try{s=s.map(function(f){return f&&f.isWorkerModule&&(e(f,function(p){if(p instanceof Error)throw p}),f=t[f.id].value),f}),c=o("<"+l+">.init",c),u&&(u=o("<"+l+">.getTransferables",u));var d=null;typeof c=="function"?d=c.apply(void 0,s):console.error("worker module init function failed to rehydrate"),t[a]={id:a,value:d,getTransferables:u},r(d)}catch(f){f&&f.noLog||console.error(f),r(f)}}function n(i,r){var a,l=i.id,s=i.args;(!t[l]||typeof t[l].value!="function")&&r(new Error("Worker module "+l+": not found or its 'init' did not return a function"));try{var c=(a=t[l]).value.apply(a,s);c&&typeof c.then=="function"?c.then(u,function(d){return r(d instanceof Error?d:new Error(""+d))}):u(c)}catch(d){r(d)}function u(d){try{var f=t[l].getTransferables&&t[l].getTransferables(d);(!f||!Array.isArray(f)||!f.length)&&(f=void 0),r(d,f)}catch(p){console.error(p),r(p)}}}function o(i,r){var a=void 0;self.troikaDefine=function(s){return a=s};var l=URL.createObjectURL(new Blob(["/** "+i.replace(/\*/g,"")+` **/ troikaDefine( `+r+` -)`],{type:"application/javascript"}));try{importScripts(l)}catch(s){console.error(s)}return URL.revokeObjectURL(l),delete self.troikaDefine,a}self.addEventListener("message",function(i){var r=i.data,a=r.messageId,l=r.action,s=r.data;try{l==="registerModule"&&e(s,function(c){c instanceof Error?postMessage({messageId:a,success:!1,error:c.message}):postMessage({messageId:a,success:!0,result:{isCallable:typeof c=="function"}})}),l==="callModule"&&n(s,function(c,u){c instanceof Error?postMessage({messageId:a,success:!1,error:c.message}):postMessage({messageId:a,success:!0,result:c},u||void 0)})}catch(c){postMessage({messageId:a,success:!1,error:c.stack})}})}function J3t(t){var e=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];return e._getInitResult().then(function(i){if(typeof i=="function")return i.apply(void 0,n);throw new Error("Worker module function was called but `init` did not return a callable function")})};return e._getInitResult=function(){var n=t.dependencies,o=t.init;n=Array.isArray(n)?n.map(function(r){return r&&r._getInitResult?r._getInitResult():r}):[];var i=Promise.all(n).then(function(r){return o.apply(null,r)});return e._getInitResult=function(){return i},i},e}var nUe=function(){var t=!1;if(typeof window<"u"&&typeof window.document<"u")try{var e=new Worker(URL.createObjectURL(new Blob([""],{type:"application/javascript"})));e.terminate(),t=!0}catch(n){typeof process<"u",console.log("Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: ["+n.message+"]")}return nUe=function(){return t},t},K3t=0,q3t=0,Joe=!1,oE=Object.create(null),iE=Object.create(null),cce=Object.create(null);function JL(t){if((!t||typeof t.init!="function")&&!Joe)throw new Error("requires `options.init` function");var e=t.dependencies,n=t.init,o=t.getTransferables,i=t.workerId;if(!nUe())return J3t(t);i==null&&(i="#default");var r="workerModule"+ ++K3t,a=t.name||r,l=null;e=e&&e.map(function(c){return typeof c=="function"&&!c.workerModuleData&&(Joe=!0,c=JL({workerId:i,name:"<"+a+"> function dependency: "+c.name,init:`function(){return ( +)`],{type:"application/javascript"}));try{importScripts(l)}catch(s){console.error(s)}return URL.revokeObjectURL(l),delete self.troikaDefine,a}self.addEventListener("message",function(i){var r=i.data,a=r.messageId,l=r.action,s=r.data;try{l==="registerModule"&&e(s,function(c){c instanceof Error?postMessage({messageId:a,success:!1,error:c.message}):postMessage({messageId:a,success:!0,result:{isCallable:typeof c=="function"}})}),l==="callModule"&&n(s,function(c,u){c instanceof Error?postMessage({messageId:a,success:!1,error:c.message}):postMessage({messageId:a,success:!0,result:c},u||void 0)})}catch(c){postMessage({messageId:a,success:!1,error:c.stack})}})}function G3t(t){var e=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];return e._getInitResult().then(function(i){if(typeof i=="function")return i.apply(void 0,n);throw new Error("Worker module function was called but `init` did not return a callable function")})};return e._getInitResult=function(){var n=t.dependencies,o=t.init;n=Array.isArray(n)?n.map(function(r){return r&&r._getInitResult?r._getInitResult():r}):[];var i=Promise.all(n).then(function(r){return o.apply(null,r)});return e._getInitResult=function(){return i},i},e}var nUe=function(){var t=!1;if(typeof window<"u"&&typeof window.document<"u")try{var e=new Worker(URL.createObjectURL(new Blob([""],{type:"application/javascript"})));e.terminate(),t=!0}catch(n){typeof process<"u",console.log("Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: ["+n.message+"]")}return nUe=function(){return t},t},X3t=0,J3t=0,Joe=!1,oE=Object.create(null),iE=Object.create(null),cce=Object.create(null);function JL(t){if((!t||typeof t.init!="function")&&!Joe)throw new Error("requires `options.init` function");var e=t.dependencies,n=t.init,o=t.getTransferables,i=t.workerId;if(!nUe())return G3t(t);i==null&&(i="#default");var r="workerModule"+ ++X3t,a=t.name||r,l=null;e=e&&e.map(function(c){return typeof c=="function"&&!c.workerModuleData&&(Joe=!0,c=JL({workerId:i,name:"<"+a+"> function dependency: "+c.name,init:`function(){return ( `+v_(c)+` -)}`}),Joe=!1),c&&c.workerModuleData&&(c=c.workerModuleData),c});function s(){for(var c=[],u=arguments.length;u--;)c[u]=arguments[u];if(!l){l=Dwe(i,"registerModule",s.workerModuleData);var d=function(){l=null,iE[i].delete(d)};(iE[i]||(iE[i]=new Set)).add(d)}return l.then(function(f){var p=f.isCallable;if(p)return Dwe(i,"callModule",{id:r,args:c});throw new Error("Worker module function was called but `init` did not return a callable function")})}return s.workerModuleData={isWorkerModule:!0,id:r,name:a,dependencies:e,init:v_(n),getTransferables:o&&v_(o)},s}function $3t(t){iE[t]&&iE[t].forEach(function(e){e()}),oE[t]&&(oE[t].terminate(),delete oE[t])}function v_(t){var e=t.toString();return!/^function/.test(e)&&/^\w+\s*\(/.test(e)&&(e="function "+e),e}function Q3t(t){var e=oE[t];if(!e){var n=v_(X3t);e=oE[t]=new Worker(URL.createObjectURL(new Blob(["/** Worker Module Bootstrap: "+t.replace(/\*/g,"")+` **/ +)}`}),Joe=!1),c&&c.workerModuleData&&(c=c.workerModuleData),c});function s(){for(var c=[],u=arguments.length;u--;)c[u]=arguments[u];if(!l){l=Dwe(i,"registerModule",s.workerModuleData);var d=function(){l=null,iE[i].delete(d)};(iE[i]||(iE[i]=new Set)).add(d)}return l.then(function(f){var p=f.isCallable;if(p)return Dwe(i,"callModule",{id:r,args:c});throw new Error("Worker module function was called but `init` did not return a callable function")})}return s.workerModuleData={isWorkerModule:!0,id:r,name:a,dependencies:e,init:v_(n),getTransferables:o&&v_(o)},s}function K3t(t){iE[t]&&iE[t].forEach(function(e){e()}),oE[t]&&(oE[t].terminate(),delete oE[t])}function v_(t){var e=t.toString();return!/^function/.test(e)&&/^\w+\s*\(/.test(e)&&(e="function "+e),e}function q3t(t){var e=oE[t];if(!e){var n=v_(V3t);e=oE[t]=new Worker(URL.createObjectURL(new Blob(["/** Worker Module Bootstrap: "+t.replace(/\*/g,"")+` **/ -;(`+n+")()"],{type:"application/javascript"}))),e.onmessage=function(o){var i=o.data,r=i.messageId,a=cce[r];if(!a)throw new Error("WorkerModule response with empty or unknown messageId");delete cce[r],a(i)}}return e}function Dwe(t,e,n){return new Promise(function(o,i){var r=++q3t;cce[r]=function(a){a.success?o(a.result):i(new Error("Error in worker "+e+" call: "+a.error))},Q3t(t).postMessage({messageId:r,action:e,data:n})})}function oUe(){var t=function(e){function n(N,j,Y,_,J,Q,ee,$){var q=1-ee;$.x=q*q*N+2*q*ee*Y+ee*ee*J,$.y=q*q*j+2*q*ee*_+ee*ee*Q}function o(N,j,Y,_,J,Q,ee,$,q,le){var ie=1-q;le.x=ie*ie*ie*N+3*ie*ie*q*Y+3*ie*q*q*J+q*q*q*ee,le.y=ie*ie*ie*j+3*ie*ie*q*_+3*ie*q*q*Q+q*q*q*$}function i(N,j){for(var Y=/([MLQCZ])([^MLQCZ]*)/g,_,J,Q,ee,$;_=Y.exec(N);){var q=_[2].replace(/^\s*|\s*$/g,"").split(/[,\s]+/).map(function(le){return parseFloat(le)});switch(_[1]){case"M":ee=J=q[0],$=Q=q[1];break;case"L":(q[0]!==ee||q[1]!==$)&&j("L",ee,$,ee=q[0],$=q[1]);break;case"Q":{j("Q",ee,$,ee=q[2],$=q[3],q[0],q[1]);break}case"C":{j("C",ee,$,ee=q[4],$=q[5],q[0],q[1],q[2],q[3]);break}case"Z":(ee!==J||$!==Q)&&j("L",ee,$,J,Q);break}}}function r(N,j,Y){Y===void 0&&(Y=16);var _={x:0,y:0};i(N,function(J,Q,ee,$,q,le,ie,pe,ne){switch(J){case"L":j(Q,ee,$,q);break;case"Q":{for(var Z=Q,he=ee,fe=1;fe0;)Ne[Le]=arguments[Le+2];var qe=we[Ue]||(we[Ue]=Y.getUniformLocation(ye,Ue));Y["uniform"+Ee].apply(Y,[qe].concat(Ne))},setAttribute:function(Ee,Ue,Ne,Le,qe){var We=ge[Ee];We||(We=ge[Ee]={buf:Y.createBuffer(),loc:Y.getAttribLocation(ye,Ee),data:null}),Y.bindBuffer(Y.ARRAY_BUFFER,We.buf),Y.vertexAttribPointer(We.loc,Ue,Y.FLOAT,!1,0,0),Y.enableVertexAttribArray(We.loc),J?Y.vertexAttribDivisor(We.loc,Le):se("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(We.loc,Le),qe!==We.data&&(Y.bufferData(Y.ARRAY_BUFFER,qe,Ne),We.data=qe)}})}}}ee[Re].transaction(re)},ve=function(Re,ze){q++;try{Y.activeTexture(Y.TEXTURE0+q);var Ae=$[Re];Ae||(Ae=$[Re]=Y.createTexture(),Y.bindTexture(Y.TEXTURE_2D,Ae),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MIN_FILTER,Y.NEAREST),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MAG_FILTER,Y.NEAREST)),Y.bindTexture(Y.TEXTURE_2D,Ae),ze(Ae,q)}finally{q--}},Pe=function(Re,ze,Ae){var re=Y.createFramebuffer();le.push(re),Y.bindFramebuffer(Y.FRAMEBUFFER,re),Y.activeTexture(Y.TEXTURE0+ze),Y.bindTexture(Y.TEXTURE_2D,Re),Y.framebufferTexture2D(Y.FRAMEBUFFER,Y.COLOR_ATTACHMENT0,Y.TEXTURE_2D,Re,0);try{Ae(re)}finally{Y.deleteFramebuffer(re),Y.bindFramebuffer(Y.FRAMEBUFFER,le[--le.length-1]||null)}},me=function(){Q={},ee={},$={},q=-1,le.length=0};var ie=se,pe=oe,ne=de,Z=ve,he=Pe,fe=me,J=typeof WebGL2RenderingContext<"u"&&Y instanceof WebGL2RenderingContext,Q={},ee={},$={},q=-1,le=[];Y.canvas.addEventListener("webglcontextlost",function(Re){me(),Re.preventDefault()},!1),s.set(Y,_={gl:Y,isWebGL2:J,getExtension:se,withProgram:de,withTexture:ve,withTextureFramebuffer:Pe,handleContextLoss:me})}j(_)}function d(N,j,Y,_,J,Q,ee,$){ee===void 0&&(ee=15),$===void 0&&($=null),u(N,function(q){var le=q.gl,ie=q.withProgram,pe=q.withTexture;pe("copy",function(ne,Z){le.texImage2D(le.TEXTURE_2D,0,le.RGBA,J,Q,0,le.RGBA,le.UNSIGNED_BYTE,j),ie("copy",a,l,function(he){var fe=he.setUniform,se=he.setAttribute;se("aUV",2,le.STATIC_DRAW,0,new Float32Array([0,0,2,0,0,2])),fe("1i","image",Z),le.bindFramebuffer(le.FRAMEBUFFER,$||null),le.disable(le.BLEND),le.colorMask(ee&8,ee&4,ee&2,ee&1),le.viewport(Y,_,J,Q),le.scissor(Y,_,J,Q),le.drawArrays(le.TRIANGLES,0,3)})})})}function f(N,j,Y){var _=N.width,J=N.height;u(N,function(Q){var ee=Q.gl,$=new Uint8Array(_*J*4);ee.readPixels(0,0,_,J,ee.RGBA,ee.UNSIGNED_BYTE,$),N.width=j,N.height=Y,d(ee,$,0,0,_,J)})}var p=Object.freeze({__proto__:null,withWebGLContext:u,renderImageData:d,resizeWebGLCanvasWithoutClearing:f});function g(N,j,Y,_,J,Q){Q===void 0&&(Q=1);var ee=new Uint8Array(N*j),$=_[2]-_[0],q=_[3]-_[1],le=[];r(Y,function(se,oe,de,ve){le.push({x1:se,y1:oe,x2:de,y2:ve,minX:Math.min(se,de),minY:Math.min(oe,ve),maxX:Math.max(se,de),maxY:Math.max(oe,ve)})}),le.sort(function(se,oe){return se.maxX-oe.maxX});for(var ie=0;ieme.minX&&oe-veme.minY){var Re=x(se,oe,me.x1,me.y1,me.x2,me.y2);Reoe!=Pe.y2>oe&&se<(Pe.x2-Pe.x1)*(oe-Pe.y1)/(Pe.y2-Pe.y1)+Pe.x1;me&&(de+=Pe.y1p.y!=seg.w>p.y)&&(p.x<(seg.z-seg.x)*(p.y-seg.y)/(seg.w-seg.y)+seg.x);bool crossingUp=crossing&&vLineSegment.y1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function y(ve,Pe){var me=36,Re=0,ze=new Map,Ae=Pe&&new Map,re;return ve.split(",").forEach(function ge(we){if(we.indexOf("+")!==-1)for(var ye=+we;ye--;)ge(re);else{re=we;var Te=we.split(">"),Ie=Te[0],Ce=Te[1];Ie=String.fromCodePoint(Re+=parseInt(Ie,me)),Ce=String.fromCodePoint(Re+=parseInt(Ce,me)),ze.set(Ie,Ce),Pe&&Ae.set(Ce,Ie)}}),{map:ze,reverseMap:Ae}}var A,x,C;function b(){if(!A){var ve=y(g.pairs,!0),Pe=ve.map,me=ve.reverseMap;A=Pe,x=me,C=y(g.canonical,!1).map}}function v(ve){return b(),A.get(ve)||null}function S(ve){return b(),x.get(ve)||null}function w(ve){return b(),C.get(ve)||null}var T=o.L,P=o.R,R=o.EN,H=o.ES,D=o.ET,E=o.AN,L=o.CS,U=o.B,F=o.S,W=o.ON,B=o.BN,k=o.NSM,N=o.AL,j=o.LRO,Y=o.RLO,_=o.LRE,J=o.RLE,Q=o.PDF,ee=o.LRI,$=o.RLI,q=o.FSI,le=o.PDI;function ie(ve,Pe){for(var me=125,Re=new Uint32Array(ve.length),ze=0;ze0)We--;else if(Fe>0){for(De=0;!Le[Le.length-1]._isolate;)Le.pop();var je=Le[Le.length-1]._isolInitIndex;je!=null&&(we.set(je,_e),we.set(_e,je)),Le.pop(),Fe--}qe=Le[Le.length-1],ge[_e]=qe._level,qe._override&&re(_e,qe._override)}else ot&Q?(We===0&&(De>0?De--:!qe._isolate&&Le.length>1&&(Le.pop(),qe=Le[Le.length-1])),ge[_e]=qe._level):ot&U&&(ge[_e]=Te.level);else ge[_e]=qe._level,qe._override&&ot!==B&&re(_e,qe._override)}for(var at=[],ut=null,wt=Te.start;wt<=Te.end;wt++){var rt=Re[wt];if(!(rt&s)){var Qe=ge[wt],Oe=rt&r,et=rt===le;ut&&Qe===ut._level?(ut._end=wt,ut._endsWithIsolInit=Oe):at.push(ut={_start:wt,_end:wt,_level:Qe,_startsWithPDI:et,_endsWithIsolInit:Oe})}}for(var vt=[],ct=0;ct=0;ht--)if(!(Re[ht]&s)){Xe=ge[ht];break}var Je=Mt[Mt.length-1],mt=ge[Je],Ge=Te.level;if(!(Re[Je]&r)){for(var xt=Je+1;xt<=Te.end;xt++)if(!(Re[xt]&s)){Ge=ge[xt];break}}vt.push({_seqIndices:Mt,_sosType:Math.max(Xe,zt)%2?P:T,_eosType:Math.max(Ge,mt)%2?P:T})}}for(var It=0;It=0;Sn--)if(!(Re[Dt[Sn]]&s)){cn=Re[Dt[Sn]];break}re(hn,cn&(r|le)?W:cn)}}if(Ae.get(R))for(var Pn=0;Pn=-1;Ai--){var vo=Ai===-1?Lt:Re[Dt[Ai]];if(vo&a){vo===N&&re(Un,E);break}}}if(Ae.get(N))for(var Oo=0;Oo=0&&(uo=Re[Dt[Hi]],!!(uo&s));Hi--);for(var vi=po+1;vi=0&&Re[Dt[to]]&(D|s);to--)re(Dt[to],R);for(Cn++;Cn=0&&Re[Dt[Fo]]&s;Fo--)re(Dt[Fo],W);for(var bo=Do+1;bo=0;Mo--){var $i=ar[Mo].char;if($i===ba||$i===S(w($o))||v(w($i))===$o){Qo.push([ar[Mo].seqIndex,ur]),ar.length=Mo;break}}}Qo.sort(function(gn,mn){return gn[0]-mn[0]})}for(var Za=0;Za=0;Pr--){var pa=Dt[Pr];if(Re[pa]&_i){var Wl=Re[pa]&Uo?P:T;Wl!==an?Br=Wl:Br=an;break}}}if(Br){if(Re[Dt[ui]]=Re[Dt[Fr]]=Br,Br!==an){for(var Yl=ui+1;Yl=0;jt--)if(Re[Dt[jt]]&s)mu=jt;else{qt=Re[Dt[jt]]&Uo?P:T;break}for(var pn=Et,Tn=Cc+1;Tn=0&&f(ve[Bt])&c;Bt--)ge[Bt]=Te.level}}return{levels:ge,paragraphs:ye};function Xt(gn,mn){for(var vn=gn;vn=ge&&f(ve[Te])&c;Te--)ye[Te]=re.level;for(var Ie=re.level,Ce=1/0,Ee=0;EeIe&&(Ie=Ue),Ue=Ce;Ne--)for(var Le=0;Le=Ne){for(var qe=Le;Le+1=Ne;)Le++;Le>qe&&Ae.push([qe+ge,Le+ge])}}}),Ae}function oe(ve,Pe,me,Re){var ze=de(ve,Pe,me,Re),Ae=[].concat(ve);return ze.forEach(function(re,ge){Ae[ge]=(Pe.levels[re]&1?he(ve[re]):null)||ve[re]}),Ae.join("")}function de(ve,Pe,me,Re){for(var ze=se(ve,Pe,me,Re),Ae=[],re=0;re/gm;function n(o,i){let r=ua[i];return r?uce(r):o}return t.replace(e,n)}const Jd=[];for(let t=0;t<256;t++)Jd[t]=(t<16?"0":"")+t.toString(16);function e6t(){const t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,n=Math.random()*4294967295|0,o=Math.random()*4294967295|0;return(Jd[t&255]+Jd[t>>8&255]+Jd[t>>16&255]+Jd[t>>24&255]+"-"+Jd[e&255]+Jd[e>>8&255]+"-"+Jd[e>>16&15|64]+Jd[e>>24&255]+"-"+Jd[n&63|128]+Jd[n>>8&255]+"-"+Jd[n>>16&255]+Jd[n>>24&255]+Jd[o&255]+Jd[o>>8&255]+Jd[o>>16&255]+Jd[o>>24&255]).toUpperCase()}const j8=Object.assign||function(){let t=arguments[0];for(let e=1,n=arguments.length;e/gm,` +;(`+n+")()"],{type:"application/javascript"}))),e.onmessage=function(o){var i=o.data,r=i.messageId,a=cce[r];if(!a)throw new Error("WorkerModule response with empty or unknown messageId");delete cce[r],a(i)}}return e}function Dwe(t,e,n){return new Promise(function(o,i){var r=++J3t;cce[r]=function(a){a.success?o(a.result):i(new Error("Error in worker "+e+" call: "+a.error))},q3t(t).postMessage({messageId:r,action:e,data:n})})}function oUe(){var t=function(e){function n(N,j,Y,_,J,Q,ee,$){var q=1-ee;$.x=q*q*N+2*q*ee*Y+ee*ee*J,$.y=q*q*j+2*q*ee*_+ee*ee*Q}function o(N,j,Y,_,J,Q,ee,$,q,le){var ie=1-q;le.x=ie*ie*ie*N+3*ie*ie*q*Y+3*ie*q*q*J+q*q*q*ee,le.y=ie*ie*ie*j+3*ie*ie*q*_+3*ie*q*q*Q+q*q*q*$}function i(N,j){for(var Y=/([MLQCZ])([^MLQCZ]*)/g,_,J,Q,ee,$;_=Y.exec(N);){var q=_[2].replace(/^\s*|\s*$/g,"").split(/[,\s]+/).map(function(le){return parseFloat(le)});switch(_[1]){case"M":ee=J=q[0],$=Q=q[1];break;case"L":(q[0]!==ee||q[1]!==$)&&j("L",ee,$,ee=q[0],$=q[1]);break;case"Q":{j("Q",ee,$,ee=q[2],$=q[3],q[0],q[1]);break}case"C":{j("C",ee,$,ee=q[4],$=q[5],q[0],q[1],q[2],q[3]);break}case"Z":(ee!==J||$!==Q)&&j("L",ee,$,J,Q);break}}}function r(N,j,Y){Y===void 0&&(Y=16);var _={x:0,y:0};i(N,function(J,Q,ee,$,q,le,ie,pe,ne){switch(J){case"L":j(Q,ee,$,q);break;case"Q":{for(var Z=Q,he=ee,fe=1;fe0;)Ne[Le]=arguments[Le+2];var qe=we[Ue]||(we[Ue]=Y.getUniformLocation(ye,Ue));Y["uniform"+Ee].apply(Y,[qe].concat(Ne))},setAttribute:function(Ee,Ue,Ne,Le,qe){var We=ge[Ee];We||(We=ge[Ee]={buf:Y.createBuffer(),loc:Y.getAttribLocation(ye,Ee),data:null}),Y.bindBuffer(Y.ARRAY_BUFFER,We.buf),Y.vertexAttribPointer(We.loc,Ue,Y.FLOAT,!1,0,0),Y.enableVertexAttribArray(We.loc),J?Y.vertexAttribDivisor(We.loc,Le):se("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(We.loc,Le),qe!==We.data&&(Y.bufferData(Y.ARRAY_BUFFER,qe,Ne),We.data=qe)}})}}}ee[Re].transaction(re)},ve=function(Re,ze){q++;try{Y.activeTexture(Y.TEXTURE0+q);var Ae=$[Re];Ae||(Ae=$[Re]=Y.createTexture(),Y.bindTexture(Y.TEXTURE_2D,Ae),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MIN_FILTER,Y.NEAREST),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MAG_FILTER,Y.NEAREST)),Y.bindTexture(Y.TEXTURE_2D,Ae),ze(Ae,q)}finally{q--}},Pe=function(Re,ze,Ae){var re=Y.createFramebuffer();le.push(re),Y.bindFramebuffer(Y.FRAMEBUFFER,re),Y.activeTexture(Y.TEXTURE0+ze),Y.bindTexture(Y.TEXTURE_2D,Re),Y.framebufferTexture2D(Y.FRAMEBUFFER,Y.COLOR_ATTACHMENT0,Y.TEXTURE_2D,Re,0);try{Ae(re)}finally{Y.deleteFramebuffer(re),Y.bindFramebuffer(Y.FRAMEBUFFER,le[--le.length-1]||null)}},me=function(){Q={},ee={},$={},q=-1,le.length=0};var ie=se,pe=oe,ne=de,Z=ve,he=Pe,fe=me,J=typeof WebGL2RenderingContext<"u"&&Y instanceof WebGL2RenderingContext,Q={},ee={},$={},q=-1,le=[];Y.canvas.addEventListener("webglcontextlost",function(Re){me(),Re.preventDefault()},!1),s.set(Y,_={gl:Y,isWebGL2:J,getExtension:se,withProgram:de,withTexture:ve,withTextureFramebuffer:Pe,handleContextLoss:me})}j(_)}function d(N,j,Y,_,J,Q,ee,$){ee===void 0&&(ee=15),$===void 0&&($=null),u(N,function(q){var le=q.gl,ie=q.withProgram,pe=q.withTexture;pe("copy",function(ne,Z){le.texImage2D(le.TEXTURE_2D,0,le.RGBA,J,Q,0,le.RGBA,le.UNSIGNED_BYTE,j),ie("copy",a,l,function(he){var fe=he.setUniform,se=he.setAttribute;se("aUV",2,le.STATIC_DRAW,0,new Float32Array([0,0,2,0,0,2])),fe("1i","image",Z),le.bindFramebuffer(le.FRAMEBUFFER,$||null),le.disable(le.BLEND),le.colorMask(ee&8,ee&4,ee&2,ee&1),le.viewport(Y,_,J,Q),le.scissor(Y,_,J,Q),le.drawArrays(le.TRIANGLES,0,3)})})})}function f(N,j,Y){var _=N.width,J=N.height;u(N,function(Q){var ee=Q.gl,$=new Uint8Array(_*J*4);ee.readPixels(0,0,_,J,ee.RGBA,ee.UNSIGNED_BYTE,$),N.width=j,N.height=Y,d(ee,$,0,0,_,J)})}var p=Object.freeze({__proto__:null,withWebGLContext:u,renderImageData:d,resizeWebGLCanvasWithoutClearing:f});function g(N,j,Y,_,J,Q){Q===void 0&&(Q=1);var ee=new Uint8Array(N*j),$=_[2]-_[0],q=_[3]-_[1],le=[];r(Y,function(se,oe,de,ve){le.push({x1:se,y1:oe,x2:de,y2:ve,minX:Math.min(se,de),minY:Math.min(oe,ve),maxX:Math.max(se,de),maxY:Math.max(oe,ve)})}),le.sort(function(se,oe){return se.maxX-oe.maxX});for(var ie=0;ieme.minX&&oe-veme.minY){var Re=x(se,oe,me.x1,me.y1,me.x2,me.y2);Reoe!=Pe.y2>oe&&se<(Pe.x2-Pe.x1)*(oe-Pe.y1)/(Pe.y2-Pe.y1)+Pe.x1;me&&(de+=Pe.y1p.y!=seg.w>p.y)&&(p.x<(seg.z-seg.x)*(p.y-seg.y)/(seg.w-seg.y)+seg.x);bool crossingUp=crossing&&vLineSegment.y1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function y(ve,Pe){var me=36,Re=0,ze=new Map,Ae=Pe&&new Map,re;return ve.split(",").forEach(function ge(we){if(we.indexOf("+")!==-1)for(var ye=+we;ye--;)ge(re);else{re=we;var Te=we.split(">"),Ie=Te[0],Ce=Te[1];Ie=String.fromCodePoint(Re+=parseInt(Ie,me)),Ce=String.fromCodePoint(Re+=parseInt(Ce,me)),ze.set(Ie,Ce),Pe&&Ae.set(Ce,Ie)}}),{map:ze,reverseMap:Ae}}var A,x,C;function b(){if(!A){var ve=y(g.pairs,!0),Pe=ve.map,me=ve.reverseMap;A=Pe,x=me,C=y(g.canonical,!1).map}}function v(ve){return b(),A.get(ve)||null}function S(ve){return b(),x.get(ve)||null}function w(ve){return b(),C.get(ve)||null}var T=o.L,P=o.R,R=o.EN,H=o.ES,D=o.ET,E=o.AN,L=o.CS,U=o.B,F=o.S,W=o.ON,B=o.BN,k=o.NSM,N=o.AL,j=o.LRO,Y=o.RLO,_=o.LRE,J=o.RLE,Q=o.PDF,ee=o.LRI,$=o.RLI,q=o.FSI,le=o.PDI;function ie(ve,Pe){for(var me=125,Re=new Uint32Array(ve.length),ze=0;ze0)We--;else if(Fe>0){for(De=0;!Le[Le.length-1]._isolate;)Le.pop();var je=Le[Le.length-1]._isolInitIndex;je!=null&&(we.set(je,_e),we.set(_e,je)),Le.pop(),Fe--}qe=Le[Le.length-1],ge[_e]=qe._level,qe._override&&re(_e,qe._override)}else ot&Q?(We===0&&(De>0?De--:!qe._isolate&&Le.length>1&&(Le.pop(),qe=Le[Le.length-1])),ge[_e]=qe._level):ot&U&&(ge[_e]=Te.level);else ge[_e]=qe._level,qe._override&&ot!==B&&re(_e,qe._override)}for(var at=[],ut=null,wt=Te.start;wt<=Te.end;wt++){var rt=Re[wt];if(!(rt&s)){var Qe=ge[wt],Oe=rt&r,et=rt===le;ut&&Qe===ut._level?(ut._end=wt,ut._endsWithIsolInit=Oe):at.push(ut={_start:wt,_end:wt,_level:Qe,_startsWithPDI:et,_endsWithIsolInit:Oe})}}for(var vt=[],ct=0;ct=0;ht--)if(!(Re[ht]&s)){Xe=ge[ht];break}var Je=Mt[Mt.length-1],mt=ge[Je],Ge=Te.level;if(!(Re[Je]&r)){for(var xt=Je+1;xt<=Te.end;xt++)if(!(Re[xt]&s)){Ge=ge[xt];break}}vt.push({_seqIndices:Mt,_sosType:Math.max(Xe,zt)%2?P:T,_eosType:Math.max(Ge,mt)%2?P:T})}}for(var It=0;It=0;Sn--)if(!(Re[Dt[Sn]]&s)){cn=Re[Dt[Sn]];break}re(hn,cn&(r|le)?W:cn)}}if(Ae.get(R))for(var Pn=0;Pn=-1;Ai--){var vo=Ai===-1?Lt:Re[Dt[Ai]];if(vo&a){vo===N&&re(Un,E);break}}}if(Ae.get(N))for(var Oo=0;Oo=0&&(uo=Re[Dt[Hi]],!!(uo&s));Hi--);for(var vi=po+1;vi=0&&Re[Dt[to]]&(D|s);to--)re(Dt[to],R);for(Cn++;Cn=0&&Re[Dt[Fo]]&s;Fo--)re(Dt[Fo],W);for(var bo=Do+1;bo=0;Mo--){var $i=ar[Mo].char;if($i===ba||$i===S(w($o))||v(w($i))===$o){Qo.push([ar[Mo].seqIndex,ur]),ar.length=Mo;break}}}Qo.sort(function(gn,mn){return gn[0]-mn[0]})}for(var Za=0;Za=0;Pr--){var pa=Dt[Pr];if(Re[pa]&_i){var Wl=Re[pa]&Uo?P:T;Wl!==an?Br=Wl:Br=an;break}}}if(Br){if(Re[Dt[ui]]=Re[Dt[Fr]]=Br,Br!==an){for(var Yl=ui+1;Yl=0;jt--)if(Re[Dt[jt]]&s)mu=jt;else{qt=Re[Dt[jt]]&Uo?P:T;break}for(var pn=Et,Tn=Cc+1;Tn=0&&f(ve[Bt])&c;Bt--)ge[Bt]=Te.level}}return{levels:ge,paragraphs:ye};function Xt(gn,mn){for(var vn=gn;vn=ge&&f(ve[Te])&c;Te--)ye[Te]=re.level;for(var Ie=re.level,Ce=1/0,Ee=0;EeIe&&(Ie=Ue),Ue=Ce;Ne--)for(var Le=0;Le=Ne){for(var qe=Le;Le+1=Ne;)Le++;Le>qe&&Ae.push([qe+ge,Le+ge])}}}),Ae}function oe(ve,Pe,me,Re){var ze=de(ve,Pe,me,Re),Ae=[].concat(ve);return ze.forEach(function(re,ge){Ae[ge]=(Pe.levels[re]&1?he(ve[re]):null)||ve[re]}),Ae.join("")}function de(ve,Pe,me,Re){for(var ze=se(ve,Pe,me,Re),Ae=[],re=0;re/gm;function n(o,i){let r=ua[i];return r?uce(r):o}return t.replace(e,n)}const Jd=[];for(let t=0;t<256;t++)Jd[t]=(t<16?"0":"")+t.toString(16);function Q3t(){const t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,n=Math.random()*4294967295|0,o=Math.random()*4294967295|0;return(Jd[t&255]+Jd[t>>8&255]+Jd[t>>16&255]+Jd[t>>24&255]+"-"+Jd[e&255]+Jd[e>>8&255]+"-"+Jd[e>>16&15|64]+Jd[e>>24&255]+"-"+Jd[n&63|128]+Jd[n>>8&255]+"-"+Jd[n>>16&255]+Jd[n>>24&255]+Jd[o&255]+Jd[o>>8&255]+Jd[o>>16&255]+Jd[o>>24&255]).toUpperCase()}const j8=Object.assign||function(){let t=arguments[0];for(let e=1,n=arguments.length;e/gm,` //!BEGIN_POST_CHUNK $1 $& //!END_POST_CHUNK @@ -4132,20 +4132,20 @@ void main() { ${o} troikaOrigMain${e}(); ${i} -}`),t}function i6t(t,e){return t==="uniforms"?void 0:typeof e=="function"?e.toString():e}let r6t=0;const Lwe=new Map;function a6t(t){const e=JSON.stringify(t,i6t);let n=Lwe.get(e);return n==null&&Lwe.set(e,n=++r6t),n}function l6t(t,e,n){const{defaultFontURL:o}=n,i=Object.create(null),r=1/0,a=/[\u00AD\u034F\u061C\u115F-\u1160\u17B4-\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8]/,l="[^\\S\\u00A0]",s=new RegExp(`${l}|[\\-\\u007C\\u00AD\\u2010\\u2012-\\u2014\\u2027\\u2056\\u2E17\\u2E40]`);function c(C,b){function v(){const S=w=>{console.error(`Failure loading font ${C}${C===o?"":"; trying fallback"}`,w),C!==o&&(C=o,v())};try{const w=new XMLHttpRequest;w.open("get",C,!0),w.responseType="arraybuffer",w.onload=function(){if(w.status>=400)S(new Error(w.statusText));else if(w.status>0)try{const T=t(w.response);b(T)}catch(T){S(T)}},w.onerror=S,w.send()}catch(w){S(w)}}v()}function u(C,b){C||(C=o);let v=i[C];v?v.pending?v.pending.push(b):b(v):(i[C]={pending:[b]},c(C,S=>{let w=i[C].pending;i[C]=S,w.forEach(T=>T(S))}))}function d({text:C="",font:b=o,sdfGlyphSize:v=64,fontSize:S=1,letterSpacing:w=0,lineHeight:T="normal",maxWidth:P=r,direction:R,textAlign:H="left",textIndent:D=0,whiteSpace:E="normal",overflowWrap:L="normal",anchorX:U=0,anchorY:F=0,includeCaretPositions:W=!1,chunkedBoundsSize:B=8192,colorRanges:k=null},N,j=!1){const Y=y(),_={fontLoad:0,typesetting:0};C.indexOf("\r")>-1&&(console.info("Typesetter: got text with \\r chars; normalizing to \\n"),C=C.replace(/\r\n/g,` +}`),t}function n6t(t,e){return t==="uniforms"?void 0:typeof e=="function"?e.toString():e}let o6t=0;const Lwe=new Map;function i6t(t){const e=JSON.stringify(t,n6t);let n=Lwe.get(e);return n==null&&Lwe.set(e,n=++o6t),n}function r6t(t,e,n){const{defaultFontURL:o}=n,i=Object.create(null),r=1/0,a=/[\u00AD\u034F\u061C\u115F-\u1160\u17B4-\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8]/,l="[^\\S\\u00A0]",s=new RegExp(`${l}|[\\-\\u007C\\u00AD\\u2010\\u2012-\\u2014\\u2027\\u2056\\u2E17\\u2E40]`);function c(C,b){function v(){const S=w=>{console.error(`Failure loading font ${C}${C===o?"":"; trying fallback"}`,w),C!==o&&(C=o,v())};try{const w=new XMLHttpRequest;w.open("get",C,!0),w.responseType="arraybuffer",w.onload=function(){if(w.status>=400)S(new Error(w.statusText));else if(w.status>0)try{const T=t(w.response);b(T)}catch(T){S(T)}},w.onerror=S,w.send()}catch(w){S(w)}}v()}function u(C,b){C||(C=o);let v=i[C];v?v.pending?v.pending.push(b):b(v):(i[C]={pending:[b]},c(C,S=>{let w=i[C].pending;i[C]=S,w.forEach(T=>T(S))}))}function d({text:C="",font:b=o,sdfGlyphSize:v=64,fontSize:S=1,letterSpacing:w=0,lineHeight:T="normal",maxWidth:P=r,direction:R,textAlign:H="left",textIndent:D=0,whiteSpace:E="normal",overflowWrap:L="normal",anchorX:U=0,anchorY:F=0,includeCaretPositions:W=!1,chunkedBoundsSize:B=8192,colorRanges:k=null},N,j=!1){const Y=y(),_={fontLoad:0,typesetting:0};C.indexOf("\r")>-1&&(console.info("Typesetter: got text with \\r chars; normalizing to \\n"),C=C.replace(/\r\n/g,` `).replace(/\r/g,` `)),S=+S,w=+w,P=+P,T=T||"normal",D=+D,u(b,J=>{const Q=isFinite(P);let ee=null,$=null,q=null,le=null,ie=null,pe=null,ne=null,Z=0,he=0,fe=E!=="nowrap";const{ascender:se,descender:oe,unitsPerEm:de,lineGap:ve,capHeight:Pe,xHeight:me}=J;_.fontLoad=y()-Y;const Re=y(),ze=S/de;T==="normal"&&(T=(se-oe+ve)/de),T=T*S;const Ae=(T-(se-oe)*ze)/2,re=-(se*ze+Ae),ge=Math.min(T,(se-oe)*ze),we=(se+oe)/2*ze-ge/2;let ye=D,Te=new A;const Ie=[Te];J.forEachGlyph(C,S,w,(Ue,Ne,Le)=>{const qe=C.charAt(Le),We=Ue.advanceWidth*ze,De=Te.count;let Fe;if("isEmpty"in Ue||(Ue.isWhitespace=!!qe&&new RegExp(l).test(qe),Ue.canBreakAfter=!!qe&&s.test(qe),Ue.isEmpty=Ue.xMin===Ue.xMax||Ue.yMin===Ue.yMax||a.test(qe)),!Ue.isWhitespace&&!Ue.isEmpty&&he++,fe&&Q&&!Ue.isWhitespace&&Ne+We+ye>P&&De){if(Te.glyphAt(De-1).glyphObj.canBreakAfter)Fe=new A,ye=-Ne;else for(let ot=De;ot--;)if(ot===0&&L==="break-word"){Fe=new A,ye=-Ne;break}else if(Te.glyphAt(ot).glyphObj.canBreakAfter){Fe=Te.splitAt(ot+1);const Ye=Fe.glyphAt(0).x;ye-=Ye;for(let St=Fe.count;St--;)Fe.glyphAt(St).x-=Ye;break}Fe&&(Te.isSoftWrapped=!0,Te=Fe,Ie.push(Te),Z=P)}let _e=Te.glyphAt(Te.count);_e.glyphObj=Ue,_e.x=Ne+ye,_e.width=We,_e.charIndex=Le,qe===` -`&&(Te=new A,Ie.push(Te),ye=-(Ne+We+w*S)+D)}),Ie.forEach(Ue=>{for(let Ne=Ue.count;Ne--;){let{glyphObj:Le,x:qe,width:We}=Ue.glyphAt(Ne);if(!Le.isWhitespace){Ue.width=qe+We,Ue.width>Z&&(Z=Ue.width);return}}});let Ce=0,Ee=0;if(U&&(typeof U=="number"?Ce=-U:typeof U=="string"&&(Ce=-Z*(U==="left"?0:U==="center"?.5:U==="right"?1:p(U)))),F){if(typeof F=="number")Ee=-F;else if(typeof F=="string"){let Ue=Ie.length*T;Ee=F==="top"?0:F==="top-baseline"?-re:F==="top-cap"?-re-Pe*ze:F==="top-ex"?-re-me*ze:F==="middle"?Ue/2:F==="bottom"?Ue:F==="bottom-baseline"?Ue-Ae+oe*ze:p(F)*Ue}}if(!j){const Ue=e.getEmbeddingLevels(C,R);ee=new Uint16Array(he),$=new Float32Array(he*2),q={},pe=[r,r,-r,-r],ne=[];let Ne=re;W&&(ie=new Float32Array(C.length*3)),k&&(le=new Uint8Array(he*3));let Le=0,qe=-1,We=-1,De,Fe;if(Ie.forEach((_e,ot)=>{let{count:Ye,width:St}=_e;if(Ye>0){let dt=0;for(let Qe=Ye;Qe--&&_e.glyphAt(Qe).glyphObj.isWhitespace;)dt++;let je=0,at=0;if(H==="center")je=(Z-St)/2;else if(H==="right")je=Z-St;else if(H==="justify"&&_e.isSoftWrapped){let Qe=0;for(let Oe=Ye-dt;Oe--;)_e.glyphAt(Oe).glyphObj.isWhitespace&&Qe++;at=(Z-St)/Qe}if(at||je){let Qe=0;for(let Oe=0;Oe=Oe){let tt=lt,it=lt;for(;itet)break;itwt=Qe;for(let Qe=0;Qe1&&g(ie,qe,it),qe=ct}if(k){const{charIndex:ct}=Oe;for(;ct>We;)We++,k.hasOwnProperty(We)&&(Fe=k[We])}if(!wt.isWhitespace&&!wt.isEmpty){const ct=Le++;q[et]||(q[et]={path:wt.path,pathBounds:[wt.xMin,wt.yMin,wt.xMax,wt.yMax]});const lt=Oe.x+Ce,tt=Ne+Ee;$[ct*2]=lt,$[ct*2+1]=tt;const it=lt+wt.xMin*ze,At=tt+wt.yMin*ze,Mt=lt+wt.xMax*ze,st=tt+wt.yMax*ze;itpe[2]&&(pe[2]=Mt),st>pe[3]&&(pe[3]=st),ct%B===0&&(De={start:ct,end:ct,rect:[r,r,-r,-r]},ne.push(De)),De.end++;const ft=De.rect;if(itft[2]&&(ft[2]=Mt),st>ft[3]&&(ft[3]=st),ee[ct]=et,k){const Rt=ct*3;le[Rt]=Fe>>16&255,le[Rt+1]=Fe>>8&255,le[Rt+2]=Fe&255}}}}Ne-=T}),ie){const _e=C.length-qe;_e>1&&g(ie,qe,_e)}}_.typesetting=y()-Re,N({glyphIds:ee,glyphPositions:$,glyphData:q,caretPositions:ie,caretHeight:ge,glyphColors:le,chunkedBounds:ne,fontSize:S,unitsPerEm:de,ascender:se*ze,descender:oe*ze,capHeight:Pe*ze,xHeight:me*ze,lineHeight:T,topBaseline:re,blockBounds:[Ce,Ee-Ie.length*T,Ce+Z,Ee],visibleBounds:pe,timings:_})})}function f(C,b){d(C,v=>{const[S,w,T,P]=v.blockBounds;b({width:T-S,height:P-w})},{metricsOnly:!0})}function p(C){let b=C.match(/^([\d.]+)%$/),v=b?parseFloat(b[1]):NaN;return isNaN(v)?0:v/100}function g(C,b,v){const S=C[b*3],w=C[b*3+1],T=C[b*3+2],P=(w-S)/v;for(let R=0;R(Object.defineProperty(C,b,{get(){return this.data[this.index*x.length+v]},set(w){this.data[this.index*x.length+v]=w}}),C),{data:null,index:0}),{typeset:d,measure:f,loadFont:u}}const ax=()=>(self.performance||Date).now(),uq=oUe();let Wwe;function s6t(t,e,n,o,i,r,a,l,s,c,u=!0){return u?u6t(t,e,n,o,i,r,a,l,s,c).then(null,d=>(Wwe||(console.warn("WebGL SDF generation failed, falling back to JS",d),Wwe=!0),Uwe(t,e,n,o,i,r,a,l,s,c))):Uwe(t,e,n,o,i,r,a,l,s,c)}const x_=[],c6t=5;let fce=0;function rUe(){const t=ax();for(;x_.length&&ax()-tnew Promise((e,n)=>{x_.push(()=>{const o=ax();try{uq.webgl.generateIntoCanvas(...t),e({timing:ax()-o})}catch(i){n(i)}}),fce||(fce=setTimeout(rUe,0))}),d6t=4,f6t=2e3,Nwe={};let h6t=0;function Uwe(t,e,n,o,i,r,a,l,s,c){const u="TroikaTextSDFGenerator_JS_"+h6t++%d6t;let d=Nwe[u];return d||(d=Nwe[u]={workerModule:JL({name:u,workerId:u,dependencies:[oUe,ax],init(f,p){const g=f().javascript.generate;return function(...y){const A=p();return{textureData:g(...y),timing:p()-A}}},getTransferables(f){return[f.textureData.buffer]}}),requests:0,idleTimer:null}),d.requests++,clearTimeout(d.idleTimer),d.workerModule(t,e,n,o,i,r).then(({textureData:f,timing:p})=>{const g=ax(),y=new Uint8Array(f.length*4);for(let A=0;A{$3t(u)},f6t)),{timing:p}})}function p6t(t){t._warm||(uq.webgl.isSupported(t),t._warm=!0)}const g6t=uq.webglUtils.resizeWebGLCanvasWithoutClearing;/*! +`&&(Te=new A,Ie.push(Te),ye=-(Ne+We+w*S)+D)}),Ie.forEach(Ue=>{for(let Ne=Ue.count;Ne--;){let{glyphObj:Le,x:qe,width:We}=Ue.glyphAt(Ne);if(!Le.isWhitespace){Ue.width=qe+We,Ue.width>Z&&(Z=Ue.width);return}}});let Ce=0,Ee=0;if(U&&(typeof U=="number"?Ce=-U:typeof U=="string"&&(Ce=-Z*(U==="left"?0:U==="center"?.5:U==="right"?1:p(U)))),F){if(typeof F=="number")Ee=-F;else if(typeof F=="string"){let Ue=Ie.length*T;Ee=F==="top"?0:F==="top-baseline"?-re:F==="top-cap"?-re-Pe*ze:F==="top-ex"?-re-me*ze:F==="middle"?Ue/2:F==="bottom"?Ue:F==="bottom-baseline"?Ue-Ae+oe*ze:p(F)*Ue}}if(!j){const Ue=e.getEmbeddingLevels(C,R);ee=new Uint16Array(he),$=new Float32Array(he*2),q={},pe=[r,r,-r,-r],ne=[];let Ne=re;W&&(ie=new Float32Array(C.length*3)),k&&(le=new Uint8Array(he*3));let Le=0,qe=-1,We=-1,De,Fe;if(Ie.forEach((_e,ot)=>{let{count:Ye,width:St}=_e;if(Ye>0){let dt=0;for(let Qe=Ye;Qe--&&_e.glyphAt(Qe).glyphObj.isWhitespace;)dt++;let je=0,at=0;if(H==="center")je=(Z-St)/2;else if(H==="right")je=Z-St;else if(H==="justify"&&_e.isSoftWrapped){let Qe=0;for(let Oe=Ye-dt;Oe--;)_e.glyphAt(Oe).glyphObj.isWhitespace&&Qe++;at=(Z-St)/Qe}if(at||je){let Qe=0;for(let Oe=0;Oe=Oe){let tt=lt,it=lt;for(;itet)break;itwt=Qe;for(let Qe=0;Qe1&&g(ie,qe,it),qe=ct}if(k){const{charIndex:ct}=Oe;for(;ct>We;)We++,k.hasOwnProperty(We)&&(Fe=k[We])}if(!wt.isWhitespace&&!wt.isEmpty){const ct=Le++;q[et]||(q[et]={path:wt.path,pathBounds:[wt.xMin,wt.yMin,wt.xMax,wt.yMax]});const lt=Oe.x+Ce,tt=Ne+Ee;$[ct*2]=lt,$[ct*2+1]=tt;const it=lt+wt.xMin*ze,At=tt+wt.yMin*ze,Mt=lt+wt.xMax*ze,st=tt+wt.yMax*ze;itpe[2]&&(pe[2]=Mt),st>pe[3]&&(pe[3]=st),ct%B===0&&(De={start:ct,end:ct,rect:[r,r,-r,-r]},ne.push(De)),De.end++;const ft=De.rect;if(itft[2]&&(ft[2]=Mt),st>ft[3]&&(ft[3]=st),ee[ct]=et,k){const Rt=ct*3;le[Rt]=Fe>>16&255,le[Rt+1]=Fe>>8&255,le[Rt+2]=Fe&255}}}}Ne-=T}),ie){const _e=C.length-qe;_e>1&&g(ie,qe,_e)}}_.typesetting=y()-Re,N({glyphIds:ee,glyphPositions:$,glyphData:q,caretPositions:ie,caretHeight:ge,glyphColors:le,chunkedBounds:ne,fontSize:S,unitsPerEm:de,ascender:se*ze,descender:oe*ze,capHeight:Pe*ze,xHeight:me*ze,lineHeight:T,topBaseline:re,blockBounds:[Ce,Ee-Ie.length*T,Ce+Z,Ee],visibleBounds:pe,timings:_})})}function f(C,b){d(C,v=>{const[S,w,T,P]=v.blockBounds;b({width:T-S,height:P-w})},{metricsOnly:!0})}function p(C){let b=C.match(/^([\d.]+)%$/),v=b?parseFloat(b[1]):NaN;return isNaN(v)?0:v/100}function g(C,b,v){const S=C[b*3],w=C[b*3+1],T=C[b*3+2],P=(w-S)/v;for(let R=0;R(Object.defineProperty(C,b,{get(){return this.data[this.index*x.length+v]},set(w){this.data[this.index*x.length+v]=w}}),C),{data:null,index:0}),{typeset:d,measure:f,loadFont:u}}const ax=()=>(self.performance||Date).now(),uq=oUe();let Wwe;function a6t(t,e,n,o,i,r,a,l,s,c,u=!0){return u?s6t(t,e,n,o,i,r,a,l,s,c).then(null,d=>(Wwe||(console.warn("WebGL SDF generation failed, falling back to JS",d),Wwe=!0),Uwe(t,e,n,o,i,r,a,l,s,c))):Uwe(t,e,n,o,i,r,a,l,s,c)}const x_=[],l6t=5;let fce=0;function rUe(){const t=ax();for(;x_.length&&ax()-tnew Promise((e,n)=>{x_.push(()=>{const o=ax();try{uq.webgl.generateIntoCanvas(...t),e({timing:ax()-o})}catch(i){n(i)}}),fce||(fce=setTimeout(rUe,0))}),c6t=4,u6t=2e3,Nwe={};let d6t=0;function Uwe(t,e,n,o,i,r,a,l,s,c){const u="TroikaTextSDFGenerator_JS_"+d6t++%c6t;let d=Nwe[u];return d||(d=Nwe[u]={workerModule:JL({name:u,workerId:u,dependencies:[oUe,ax],init(f,p){const g=f().javascript.generate;return function(...y){const A=p();return{textureData:g(...y),timing:p()-A}}},getTransferables(f){return[f.textureData.buffer]}}),requests:0,idleTimer:null}),d.requests++,clearTimeout(d.idleTimer),d.workerModule(t,e,n,o,i,r).then(({textureData:f,timing:p})=>{const g=ax(),y=new Uint8Array(f.length*4);for(let A=0;A{K3t(u)},u6t)),{timing:p}})}function f6t(t){t._warm||(uq.webgl.isSupported(t),t._warm=!0)}const h6t=uq.webglUtils.resizeWebGLCanvasWithoutClearing;/*! Custom build of Typr.ts (https://github.com/fredli74/Typr.ts) for use in Troika text rendering. Original MIT license applies: https://github.com/fredli74/Typr.ts/blob/master/LICENSE -*/function m6t(){return typeof window>"u"&&(self.window=self),function(t){var e={parse:function(i){var r=e._bin,a=new Uint8Array(i);if(r.readASCII(a,0,4)=="ttcf"){var l=4;r.readUshort(a,l),l+=2,r.readUshort(a,l),l+=2;var s=r.readUint(a,l);l+=4;for(var c=[],u=0;u>>a&1&&r++;return r},e._lctf.readClassDef=function(i,r){var a=e._bin,l=[],s=a.readUshort(i,r);if(r+=2,s==1){var c=a.readUshort(i,r);r+=2;var u=a.readUshort(i,r);r+=2;for(var d=0;d0&&(s.featureParams=l+c);var u=a.readUshort(i,r);r+=2,s.tab=[];for(var d=0;d255?-1:e.CFF.glyphByUnicode(i,e.CFF.tableSE[r])},e.CFF.readEncoding=function(i,r,a){e._bin;var l=[".notdef"],s=i[r];if(r++,s!=0)throw"error: unknown encoding format: "+s;var c=i[r];r++;for(var u=0;u>4,C=15&A;if(x!=15&&y.push(x),C!=15&&y.push(C),C==15)break}for(var b="",v=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"],S=0;S=c.xMax||c.yMin>=c.yMax)return null;if(c.noc>0){c.endPts=[];for(var u=0;u=1&&u.fmt<=2){f=s.readUshort(i,a),a+=2;var g=s.readUshort(i,a);a+=2,p=e._lctf.numOfOnes(f);var y=e._lctf.numOfOnes(g);if(u.fmt==1){u.pairsets=[];var A=s.readUshort(i,a);a+=2;for(var x=0;x=1&&u.fmt<=2){if(u.fmt==1)u.delta=s.readShort(i,a),a+=2;else if(u.fmt==2){var f=s.readUshort(i,a);a+=2,u.newg=s.readUshorts(i,a,f),a+=2*u.newg.length}}else if(r==4){u.vals=[],f=s.readUshort(i,a),a+=2;for(var p=0;p>>8;if((g&=15)!=0)throw"unknown kern table format: "+g;r=e.kern.readFormat0(i,r,d)}return d},e.kern.parseV1=function(i,r,a,l){var s=e._bin;s.readFixed(i,r),r+=4;var c=s.readUint(i,r);r+=4;for(var u={glyph1:[],rval:[]},d=0;d>>8;if((p&=15)!=0)throw"unknown kern table format: "+p;r=e.kern.readFormat0(i,r,u)}return u},e.kern.readFormat0=function(i,r,a){var l=e._bin,s=-1,c=l.readUshort(i,r);r+=2,l.readUshort(i,r),r+=2,l.readUshort(i,r),r+=2,l.readUshort(i,r),r+=2;for(var u=0;u=s.map.length?0:s.map[r];if(s.format==4){for(var c=-1,u=0;ur?0:65535&(s.idRangeOffset[c]!=0?s.glyphIdArray[r-s.startCount[c]+(s.idRangeOffset[c]>>1)-(s.idRangeOffset.length-c)]:r+s.idDelta[c])}if(s.format==12){if(r>s.groups[s.groups.length-1][1])return 0;for(u=0;u-1?e.U._simpleGlyph(l,a):e.U._compoGlyph(l,r,a))},e.U._simpleGlyph=function(i,r){for(var a=0;as)){for(var A=!0,x=0,C=0;Cs)){for(A=!0,C=0;C>1,c.length=0,d=!0;else if(E=="o3"||E=="o23")c.length%2!=0&&!d&&(f=c.shift()+l.nominalWidthX),u+=c.length>>1,c.length=0,d=!0;else if(E=="o4")c.length>1&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),p&&e.U.P.closePath(s),A+=c.pop(),e.U.P.moveTo(s,y,A),p=!0;else if(E=="o5")for(;c.length>0;)y+=c.shift(),A+=c.shift(),e.U.P.lineTo(s,y,A);else if(E=="o6"||E=="o7")for(var L=c.length,U=E=="o6",F=0;FMath.abs(P-A)?y=T+c.shift():A=P+c.shift(),e.U.P.curveTo(s,x,C,b,v,R,H),e.U.P.curveTo(s,S,w,T,P,y,A));else if(E=="o14"){if(c.length>0&&!d&&(f=c.shift()+a.nominalWidthX,d=!0),c.length==4){var k=c.shift(),N=c.shift(),j=c.shift(),Y=c.shift(),_=e.CFF.glyphBySE(a,j),J=e.CFF.glyphBySE(a,Y);e.U._drawCFF(a.CharStrings[_],r,a,l,s),r.x=k,r.y=N,e.U._drawCFF(a.CharStrings[J],r,a,l,s)}p&&(e.U.P.closePath(s),p=!1)}else if(E=="o19"||E=="o20")c.length%2!=0&&!d&&(f=c.shift()+l.nominalWidthX),u+=c.length>>1,c.length=0,d=!0,g+=u+7>>3;else if(E=="o21")c.length>2&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),A+=c.pop(),y+=c.pop(),p&&e.U.P.closePath(s),e.U.P.moveTo(s,y,A),p=!0;else if(E=="o22")c.length>1&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),y+=c.pop(),p&&e.U.P.closePath(s),e.U.P.moveTo(s,y,A),p=!0;else if(E=="o25"){for(;c.length>6;)y+=c.shift(),A+=c.shift(),e.U.P.lineTo(s,y,A);x=y+c.shift(),C=A+c.shift(),b=x+c.shift(),v=C+c.shift(),y=b+c.shift(),A=v+c.shift(),e.U.P.curveTo(s,x,C,b,v,y,A)}else if(E=="o26")for(c.length%2&&(y+=c.shift());c.length>0;)x=y,C=A+c.shift(),y=b=x+c.shift(),A=(v=C+c.shift())+c.shift(),e.U.P.curveTo(s,x,C,b,v,y,A);else if(E=="o27")for(c.length%2&&(A+=c.shift());c.length>0;)C=A,b=(x=y+c.shift())+c.shift(),v=C+c.shift(),y=b+c.shift(),A=v,e.U.P.curveTo(s,x,C,b,v,y,A);else if(E=="o10"||E=="o29"){var Q=E=="o10"?l:a;if(c.length==0)console.debug("error: empty stack");else{var ee=c.pop(),$=Q.Subrs[ee+Q.Bias];r.x=y,r.y=A,r.nStems=u,r.haveWidth=d,r.width=f,r.open=p,e.U._drawCFF($,r,a,l,s),y=r.x,A=r.y,u=r.nStems,d=r.haveWidth,f=r.width,p=r.open}}else if(E=="o30"||E=="o31"){var q=c.length,le=(B=0,E=="o31");for(B+=q-(L=-3&q);B"u"&&(self.window=self),function(t){var e={parse:function(i){var r=e._bin,a=new Uint8Array(i);if(r.readASCII(a,0,4)=="ttcf"){var l=4;r.readUshort(a,l),l+=2,r.readUshort(a,l),l+=2;var s=r.readUint(a,l);l+=4;for(var c=[],u=0;u>>a&1&&r++;return r},e._lctf.readClassDef=function(i,r){var a=e._bin,l=[],s=a.readUshort(i,r);if(r+=2,s==1){var c=a.readUshort(i,r);r+=2;var u=a.readUshort(i,r);r+=2;for(var d=0;d0&&(s.featureParams=l+c);var u=a.readUshort(i,r);r+=2,s.tab=[];for(var d=0;d255?-1:e.CFF.glyphByUnicode(i,e.CFF.tableSE[r])},e.CFF.readEncoding=function(i,r,a){e._bin;var l=[".notdef"],s=i[r];if(r++,s!=0)throw"error: unknown encoding format: "+s;var c=i[r];r++;for(var u=0;u>4,C=15&A;if(x!=15&&y.push(x),C!=15&&y.push(C),C==15)break}for(var b="",v=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"],S=0;S=c.xMax||c.yMin>=c.yMax)return null;if(c.noc>0){c.endPts=[];for(var u=0;u=1&&u.fmt<=2){f=s.readUshort(i,a),a+=2;var g=s.readUshort(i,a);a+=2,p=e._lctf.numOfOnes(f);var y=e._lctf.numOfOnes(g);if(u.fmt==1){u.pairsets=[];var A=s.readUshort(i,a);a+=2;for(var x=0;x=1&&u.fmt<=2){if(u.fmt==1)u.delta=s.readShort(i,a),a+=2;else if(u.fmt==2){var f=s.readUshort(i,a);a+=2,u.newg=s.readUshorts(i,a,f),a+=2*u.newg.length}}else if(r==4){u.vals=[],f=s.readUshort(i,a),a+=2;for(var p=0;p>>8;if((g&=15)!=0)throw"unknown kern table format: "+g;r=e.kern.readFormat0(i,r,d)}return d},e.kern.parseV1=function(i,r,a,l){var s=e._bin;s.readFixed(i,r),r+=4;var c=s.readUint(i,r);r+=4;for(var u={glyph1:[],rval:[]},d=0;d>>8;if((p&=15)!=0)throw"unknown kern table format: "+p;r=e.kern.readFormat0(i,r,u)}return u},e.kern.readFormat0=function(i,r,a){var l=e._bin,s=-1,c=l.readUshort(i,r);r+=2,l.readUshort(i,r),r+=2,l.readUshort(i,r),r+=2,l.readUshort(i,r),r+=2;for(var u=0;u=s.map.length?0:s.map[r];if(s.format==4){for(var c=-1,u=0;ur?0:65535&(s.idRangeOffset[c]!=0?s.glyphIdArray[r-s.startCount[c]+(s.idRangeOffset[c]>>1)-(s.idRangeOffset.length-c)]:r+s.idDelta[c])}if(s.format==12){if(r>s.groups[s.groups.length-1][1])return 0;for(u=0;u-1?e.U._simpleGlyph(l,a):e.U._compoGlyph(l,r,a))},e.U._simpleGlyph=function(i,r){for(var a=0;as)){for(var A=!0,x=0,C=0;Cs)){for(A=!0,C=0;C>1,c.length=0,d=!0;else if(E=="o3"||E=="o23")c.length%2!=0&&!d&&(f=c.shift()+l.nominalWidthX),u+=c.length>>1,c.length=0,d=!0;else if(E=="o4")c.length>1&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),p&&e.U.P.closePath(s),A+=c.pop(),e.U.P.moveTo(s,y,A),p=!0;else if(E=="o5")for(;c.length>0;)y+=c.shift(),A+=c.shift(),e.U.P.lineTo(s,y,A);else if(E=="o6"||E=="o7")for(var L=c.length,U=E=="o6",F=0;FMath.abs(P-A)?y=T+c.shift():A=P+c.shift(),e.U.P.curveTo(s,x,C,b,v,R,H),e.U.P.curveTo(s,S,w,T,P,y,A));else if(E=="o14"){if(c.length>0&&!d&&(f=c.shift()+a.nominalWidthX,d=!0),c.length==4){var k=c.shift(),N=c.shift(),j=c.shift(),Y=c.shift(),_=e.CFF.glyphBySE(a,j),J=e.CFF.glyphBySE(a,Y);e.U._drawCFF(a.CharStrings[_],r,a,l,s),r.x=k,r.y=N,e.U._drawCFF(a.CharStrings[J],r,a,l,s)}p&&(e.U.P.closePath(s),p=!1)}else if(E=="o19"||E=="o20")c.length%2!=0&&!d&&(f=c.shift()+l.nominalWidthX),u+=c.length>>1,c.length=0,d=!0,g+=u+7>>3;else if(E=="o21")c.length>2&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),A+=c.pop(),y+=c.pop(),p&&e.U.P.closePath(s),e.U.P.moveTo(s,y,A),p=!0;else if(E=="o22")c.length>1&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),y+=c.pop(),p&&e.U.P.closePath(s),e.U.P.moveTo(s,y,A),p=!0;else if(E=="o25"){for(;c.length>6;)y+=c.shift(),A+=c.shift(),e.U.P.lineTo(s,y,A);x=y+c.shift(),C=A+c.shift(),b=x+c.shift(),v=C+c.shift(),y=b+c.shift(),A=v+c.shift(),e.U.P.curveTo(s,x,C,b,v,y,A)}else if(E=="o26")for(c.length%2&&(y+=c.shift());c.length>0;)x=y,C=A+c.shift(),y=b=x+c.shift(),A=(v=C+c.shift())+c.shift(),e.U.P.curveTo(s,x,C,b,v,y,A);else if(E=="o27")for(c.length%2&&(A+=c.shift());c.length>0;)C=A,b=(x=y+c.shift())+c.shift(),v=C+c.shift(),y=b+c.shift(),A=v,e.U.P.curveTo(s,x,C,b,v,y,A);else if(E=="o10"||E=="o29"){var Q=E=="o10"?l:a;if(c.length==0)console.debug("error: empty stack");else{var ee=c.pop(),$=Q.Subrs[ee+Q.Bias];r.x=y,r.y=A,r.nStems=u,r.haveWidth=d,r.width=f,r.open=p,e.U._drawCFF($,r,a,l,s),y=r.x,A=r.y,u=r.nStems,d=r.haveWidth,f=r.width,p=r.open}}else if(E=="o30"||E=="o31"){var q=c.length,le=(B=0,E=="o31");for(B+=q-(L=-3&q);B>>1|(21845&p)<<1;g=(61680&(g=(52428&g)>>>2|(13107&g)<<2))>>>4|(3855&g)<<4,f[p]=((65280&g)>>>8|(255&g)<<8)>>>1}var y=function(E,L,U){for(var F=E.length,W=0,B=new n(L);W>>j]=Y}return k},A=new e(288);for(p=0;p<144;++p)A[p]=8;for(p=144;p<256;++p)A[p]=9;for(p=256;p<280;++p)A[p]=7;for(p=280;p<288;++p)A[p]=8;var x=new e(32);for(p=0;p<32;++p)x[p]=5;var C=y(A,9),b=y(x,5),v=function(E){for(var L=E[0],U=1;UL&&(L=E[U]);return L},S=function(E,L,U){var F=L/8|0;return(E[F]|E[F+1]<<8)>>(7&L)&U},w=function(E,L){var U=L/8|0;return(E[U]|E[U+1]<<8|E[U+2]<<16)>>(7&L)},T=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],P=function(E,L,U){var F=new Error(L||T[E]);if(F.code=E,Error.captureStackTrace&&Error.captureStackTrace(F,P),!U)throw F;return F},R=function(E,L,U){var F=E.length;if(!F||U&&!U.l&&F<5)return L||new e(0);var W=!L||U,B=!U||U.i;U||(U={}),L||(L=new e(3*F));var k,N=function(qe){var We=L.length;if(qe>We){var De=new e(Math.max(2*We,qe));De.set(L),L=De}},j=U.f||0,Y=U.p||0,_=U.b||0,J=U.l,Q=U.d,ee=U.m,$=U.n,q=8*F;do{if(!J){U.f=j=S(E,Y,1);var le=S(E,Y+1,3);if(Y+=3,!le){var ie=E[(me=((k=Y)/8|0)+(7&k&&1)+4)-4]|E[me-3]<<8,pe=me+ie;if(pe>F){B&&P(0);break}W&&N(_+ie),L.set(E.subarray(me,pe),_),U.b=_+=ie,U.p=Y=8*pe;continue}if(le==1)J=C,Q=b,ee=9,$=5;else if(le==2){var ne=S(E,Y,31)+257,Z=S(E,Y+10,15)+4,he=ne+S(E,Y+5,31)+1;Y+=14;for(var fe=new e(he),se=new e(19),oe=0;oe>>4)<16)fe[oe++]=me;else{var ze=0,Ae=0;for(me==16?(Ae=3+S(E,Y,3),Y+=2,ze=fe[oe-1]):me==17?(Ae=3+S(E,Y,7),Y+=3):me==18&&(Ae=11+S(E,Y,127),Y+=7);Ae--;)fe[oe++]=ze}}var re=fe.subarray(0,ne),ge=fe.subarray(ne);ee=v(re),$=v(ge),J=y(re,ee),Q=y(ge,$)}else P(1);if(Y>q){B&&P(0);break}}W&&N(_+131072);for(var we=(1<>>4;if((Y+=15&ze)>q){B&&P(0);break}if(ze||P(2),Ie<256)L[_++]=Ie;else{if(Ie==256){Te=Y,J=null;break}var Ce=Ie-254;if(Ie>264){var Ee=i[oe=Ie-257];Ce=S(E,Y,(1<>>4;if(Ue||P(3),Y+=15&Ue,ge=d[Ne],Ne>3&&(Ee=r[Ne],ge+=w(E,Y)&(1<q){B&&P(0);break}W&&N(_+131072);for(var Le=_+Ce;_qe.length)&&(De=qe.length);var Fe=new(qe instanceof n?n:qe instanceof o?o:e)(De-We);return Fe.set(qe.subarray(We,De)),Fe}(L,0,_)},H=new e(0),D=typeof TextDecoder<"u"&&new TextDecoder;try{D.decode(H,{stream:!0})}catch{}return t.convert_streams=function(E){var L=new DataView(E),U=0;function F(){var ne=L.getUint16(U);return U+=2,ne}function W(){var ne=L.getUint32(U);return U+=4,ne}function B(ne){ie.setUint16(pe,ne),pe+=2}function k(ne){ie.setUint32(pe,ne),pe+=4}for(var N={signature:W(),flavor:W(),length:W(),numTables:F(),reserved:F(),totalSfntSize:W(),majorVersion:F(),minorVersion:F(),metaOffset:W(),metaLength:W(),metaOrigLength:W(),privOffset:W(),privLength:W()},j=0;Math.pow(2,j)<=N.numTables;)j++;j--;for(var Y=16*Math.pow(2,j),_=16*N.numTables-Y,J=12,Q=[],ee=0;ee{let[H,D]=R.split("+");H=parseInt(H,36),D=D?parseInt(D,36):0,u.set(P+=H,w[T]);for(let E=D;E--;)u.set(++P,w[T])})}}return u.get(S)||c}const f=1,p=2,g=3,y=4,A=[null,"isol","init","fina","medi"];function x(S){const w=new Uint8Array(S.length);let T=c,P=f,R=-1;for(let H=0;H65535&&H++)}return w}function C(S,w){const T=[];for(let R=0;R65535&&R++,T.push(t.U.codeToGlyph(S,H))}const P=S.GSUB;if(P){const{lookupList:R,featureList:H}=P;let D;const E=/^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws)$/,L=[];H.forEach(U=>{if(E.test(U.tag))for(let F=0;F{if(Y!==-1){let J=w[Y];if(!J){const{cmds:Q,crds:ee}=t.U.glyphToPath(S,Y);let $="",q=0;for(let Z=0,he=Q.length;Z1?",":"")+ee[q++]}let le,ie,pe,ne;if(ee.length){le=ie=1/0,pe=ne=-1/0;for(let Z=0,he=ee.length;Zpe&&(pe=fe),se>ne&&(ne=se)}}else le=pe=ie=ne=0;J=w[Y]={index:Y,advanceWidth:S.hmtx.aWidth[Y],xMin:le,yMin:ie,xMax:pe,yMax:ne,path:$,pathCommandCount:Q.length}}j!==-1&&(W+=t.U.getPairAdjustment(S,j,Y)*B),F.call(null,J,W,N),J.advanceWidth&&(W+=J.advanceWidth*B),U&&(W+=U*L),j=Y}N+=E.codePointAt(N)>65535?2:1}),W}};return D}return function(w){const T=new Uint8Array(w,0,4),P=t._bin.readASCII(T,0,4);if(P==="wOFF")w=e(w);else if(P==="wOF2")throw new Error("woff2 fonts not supported");return v(t.parse(w)[0])}}const w6t=JL({name:"Typr Font Parser",dependencies:[m6t,y6t,A6t],init(t,e,n){const o=t(),i=e();return n(o,i)}}),OP={defaultFontURL:"https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxM.woff",sdfGlyphSize:64,sdfMargin:1/16,sdfExponent:9,textureWidth:2048},v6t=new Xo;function yT(){return(self.performance||Date).now()}const Bwe=Object.create(null);function aUe(t,e){t=S6t({},t);const n=yT();if(t.font=T6t(t.font||OP.defaultFontURL),t.text=""+t.text,t.sdfGlyphSize=t.sdfGlyphSize||OP.sdfGlyphSize,t.colorRanges!=null){let d={};for(let f in t.colorRanges)if(t.colorRanges.hasOwnProperty(f)){let p=t.colorRanges[f];typeof p!="number"&&(p=v6t.set(p).getHex()),d[f]=p}t.colorRanges=d}Object.freeze(t);const{textureWidth:o,sdfExponent:i}=OP,{sdfGlyphSize:r}=t,a=o/r*4;let l=Bwe[r];if(!l){const d=document.createElement("canvas");d.width=o,d.height=r*256/a,l=Bwe[r]={glyphCount:0,sdfGlyphSize:r,sdfCanvas:d,sdfTexture:new _c(d,void 0,void 0,void 0,js,js),contextLost:!1,glyphsByFont:new Map},l.sdfTexture.generateMipmaps=!1,x6t(l)}const{sdfTexture:s,sdfCanvas:c}=l;let u=l.glyphsByFont.get(t.font);u||l.glyphsByFont.set(t.font,u=new Map),C6t(t).then(d=>{const{glyphIds:f,glyphPositions:p,fontSize:g,unitsPerEm:y,timings:A}=d,x=[],C=new Float32Array(f.length*4),b=g/y;let v=0,S=0;const w=yT();f.forEach((D,E)=>{let L=u.get(D);if(!L){const{path:B,pathBounds:k}=d.glyphData[D],N=Math.max(k[2]-k[0],k[3]-k[1])/r*(OP.sdfMargin*r+.5),j=l.glyphCount++,Y=[k[0]-N,k[1]-N,k[2]+N,k[3]+N];u.set(D,L={path:B,atlasIndex:j,sdfViewBox:Y}),x.push(L)}const{sdfViewBox:U}=L,F=p[S++],W=p[S++];C[v++]=F+U[0]*b,C[v++]=W+U[1]*b,C[v++]=F+U[2]*b,C[v++]=W+U[3]*b,f[E]=L.atlasIndex}),A.quads=(A.quads||0)+(yT()-w);const T=yT();A.sdf={};const P=c.height,R=Math.ceil(l.glyphCount/a),H=Math.pow(2,Math.ceil(Math.log2(R*r)));H>P&&(console.info(`Increasing SDF texture size ${P}->${H}`),g6t(c,o,H),s.dispose()),Promise.all(x.map(D=>lUe(D,l,t.gpuAccelerateSDF).then(({timing:E})=>{A.sdf[D.atlasIndex]=E}))).then(()=>{x.length&&!l.contextLost&&(sUe(l),s.needsUpdate=!0),A.sdfTotal=yT()-T,A.total=yT()-n,e(Object.freeze({parameters:t,sdfTexture:s,sdfGlyphSize:r,sdfExponent:i,glyphBounds:C,glyphAtlasIndices:f,glyphColors:d.glyphColors,caretPositions:d.caretPositions,caretHeight:d.caretHeight,chunkedBounds:d.chunkedBounds,ascender:d.ascender,descender:d.descender,lineHeight:d.lineHeight,capHeight:d.capHeight,xHeight:d.xHeight,topBaseline:d.topBaseline,blockBounds:d.blockBounds,visibleBounds:d.visibleBounds,timings:d.timings}))})}),Promise.resolve().then(()=>{l.contextLost||p6t(c)})}function lUe({path:t,atlasIndex:e,sdfViewBox:n},{sdfGlyphSize:o,sdfCanvas:i,contextLost:r},a){if(r)return Promise.resolve({timing:-1});const{textureWidth:l,sdfExponent:s}=OP,c=Math.max(n[2]-n[0],n[3]-n[1]),u=Math.floor(e/4),d=u%(l/o)*o,f=Math.floor(u/(l/o))*o,p=e%4;return s6t(o,o,t,n,c,s,i,d,f,p,a)}function x6t(t){const e=t.sdfCanvas;e.addEventListener("webglcontextlost",n=>{console.log("Context Lost",n),n.preventDefault(),t.contextLost=!0}),e.addEventListener("webglcontextrestored",n=>{console.log("Context Restored",n),t.contextLost=!1;const o=[];t.glyphsByFont.forEach(i=>{i.forEach(r=>{o.push(lUe(r,t,!0))})}),Promise.all(o).then(()=>{sUe(t),t.sdfTexture.needsUpdate=!0})})}function b6t({font:t,characters:e,sdfGlyphSize:n},o){let i=Array.isArray(e)?e.join(` -`):""+e;aUe({font:t,sdfGlyphSize:n,text:i},o)}function S6t(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}let Kj;function T6t(t){return Kj||(Kj=typeof document>"u"?{}:document.createElement("a")),Kj.href=t,Kj.href}function sUe(t){if(typeof createImageBitmap!="function"){console.info("Safari<15: applying SDF canvas workaround");const{sdfCanvas:e,sdfTexture:n}=t,{width:o,height:i}=e,r=t.sdfCanvas.getContext("webgl");let a=n.image.data;(!a||a.length!==o*i*4)&&(a=new Uint8Array(o*i*4),n.image={width:o,height:i,data:a},n.flipY=!1,n.isDataTexture=!0),r.readPixels(0,0,o,i,r.RGBA,r.UNSIGNED_BYTE,a)}}const P6t=JL({name:"Typesetter",dependencies:[OP,w6t,l6t,Z3t],init(t,e,n,o){const{defaultFontURL:i}=t;return n(e,o(),{defaultFontURL:i})}}),C6t=JL({name:"Typesetter",dependencies:[P6t],init(t){return function(e){return new Promise(n=>{t.typeset(e,n)})}},getTransferables(t){const e=[t.glyphPositions.buffer,t.glyphIds.buffer];return t.caretPositions&&e.push(t.caretPositions.buffer),t.glyphColors&&e.push(t.glyphColors.buffer),e}}),jwe={};function R6t(t){let e=jwe[t];if(!e){const n=new S7(1,1,t,t),o=n.clone(),i=n.attributes,r=o.attributes,a=new Ur,l=i.uv.count;for(let s=0;s{a.setAttribute(s,new hi([...i[s].array,...r[s].array],i[s].itemSize))}),a.setIndex([...n.index.array,...o.index.array.map(s=>s+l)]),a.translate(.5,.5,0),e=jwe[t]=a}return e}const H6t="aTroikaGlyphBounds",Ywe="aTroikaGlyphIndex",M6t="aTroikaGlyphColor";class I6t extends aq{constructor(){super(),this.detail=1,this.curveRadius=0,this.groups=[{start:0,count:1/0,materialIndex:0},{start:0,count:1/0,materialIndex:1}],this.boundingSphere=new t1,this.boundingBox=new pf}computeBoundingSphere(){}computeBoundingBox(){}setSide(e){const n=this.getIndex().count;this.setDrawRange(e===p0?n/2:0,e===ji?n:n/2)}set detail(e){if(e!==this._detail){this._detail=e,(typeof e!="number"||e<1)&&(e=1);let n=R6t(e);["position","normal","uv"].forEach(o=>{this.attributes[o]=n.attributes[o].clone()}),this.setIndex(n.getIndex().clone())}}get detail(){return this._detail}set curveRadius(e){e!==this._curveRadius&&(this._curveRadius=e,this._updateBounds())}get curveRadius(){return this._curveRadius}updateGlyphs(e,n,o,i,r){Koe(this,H6t,e,4),Koe(this,Ywe,n,1),Koe(this,M6t,r,3),this._blockBounds=o,this._chunkedBounds=i,this.instanceCount=n.length,this._updateBounds()}_updateBounds(){const e=this._blockBounds;if(e){const{curveRadius:n,boundingBox:o}=this;if(n){const{PI:i,floor:r,min:a,max:l,sin:s,cos:c}=Math,u=i/2,d=i*2,f=Math.abs(n),p=e[0]/f,g=e[2]/f,y=r((p+u)/d)!==r((g+u)/d)?-f:a(s(p)*f,s(g)*f),A=r((p-u)/d)!==r((g-u)/d)?f:l(s(p)*f,s(g)*f),x=r((p+i)/d)!==r((g+i)/d)?f*2:l(f-c(p)*f,f-c(g)*f);o.min.set(y,e[1],n<0?-x:0),o.max.set(A,e[3],n<0?0:x)}else o.min.set(e[0],e[1],0),o.max.set(e[2],e[3],0);o.getBoundingSphere(this.boundingSphere)}}applyClipRect(e){let n=this.getAttribute(Ywe).count,o=this._chunkedBounds;if(o)for(let i=o.length;i--;){n=o[i].end;let r=o[i].rect;if(r[1]e.y&&r[0]e.x)break}this.instanceCount=n}}function Koe(t,e,n,o){const i=t.getAttribute(e);n?i&&i.array.length===n.length?(i.array.set(n),i.needsUpdate=!0):(t.setAttribute(e,new Nx(n,o)),delete t._maxInstanceCount,t.dispose()):i&&t.deleteAttribute(e)}const z6t=` +*/function g6t(){return function(t){var e=Uint8Array,n=Uint16Array,o=Uint32Array,i=new e([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),r=new e([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),a=new e([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l=function(E,L){for(var U=new n(31),F=0;F<31;++F)U[F]=L+=1<>>1|(21845&p)<<1;g=(61680&(g=(52428&g)>>>2|(13107&g)<<2))>>>4|(3855&g)<<4,f[p]=((65280&g)>>>8|(255&g)<<8)>>>1}var y=function(E,L,U){for(var F=E.length,W=0,B=new n(L);W>>j]=Y}return k},A=new e(288);for(p=0;p<144;++p)A[p]=8;for(p=144;p<256;++p)A[p]=9;for(p=256;p<280;++p)A[p]=7;for(p=280;p<288;++p)A[p]=8;var x=new e(32);for(p=0;p<32;++p)x[p]=5;var C=y(A,9),b=y(x,5),v=function(E){for(var L=E[0],U=1;UL&&(L=E[U]);return L},S=function(E,L,U){var F=L/8|0;return(E[F]|E[F+1]<<8)>>(7&L)&U},w=function(E,L){var U=L/8|0;return(E[U]|E[U+1]<<8|E[U+2]<<16)>>(7&L)},T=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],P=function(E,L,U){var F=new Error(L||T[E]);if(F.code=E,Error.captureStackTrace&&Error.captureStackTrace(F,P),!U)throw F;return F},R=function(E,L,U){var F=E.length;if(!F||U&&!U.l&&F<5)return L||new e(0);var W=!L||U,B=!U||U.i;U||(U={}),L||(L=new e(3*F));var k,N=function(qe){var We=L.length;if(qe>We){var De=new e(Math.max(2*We,qe));De.set(L),L=De}},j=U.f||0,Y=U.p||0,_=U.b||0,J=U.l,Q=U.d,ee=U.m,$=U.n,q=8*F;do{if(!J){U.f=j=S(E,Y,1);var le=S(E,Y+1,3);if(Y+=3,!le){var ie=E[(me=((k=Y)/8|0)+(7&k&&1)+4)-4]|E[me-3]<<8,pe=me+ie;if(pe>F){B&&P(0);break}W&&N(_+ie),L.set(E.subarray(me,pe),_),U.b=_+=ie,U.p=Y=8*pe;continue}if(le==1)J=C,Q=b,ee=9,$=5;else if(le==2){var ne=S(E,Y,31)+257,Z=S(E,Y+10,15)+4,he=ne+S(E,Y+5,31)+1;Y+=14;for(var fe=new e(he),se=new e(19),oe=0;oe>>4)<16)fe[oe++]=me;else{var ze=0,Ae=0;for(me==16?(Ae=3+S(E,Y,3),Y+=2,ze=fe[oe-1]):me==17?(Ae=3+S(E,Y,7),Y+=3):me==18&&(Ae=11+S(E,Y,127),Y+=7);Ae--;)fe[oe++]=ze}}var re=fe.subarray(0,ne),ge=fe.subarray(ne);ee=v(re),$=v(ge),J=y(re,ee),Q=y(ge,$)}else P(1);if(Y>q){B&&P(0);break}}W&&N(_+131072);for(var we=(1<>>4;if((Y+=15&ze)>q){B&&P(0);break}if(ze||P(2),Ie<256)L[_++]=Ie;else{if(Ie==256){Te=Y,J=null;break}var Ce=Ie-254;if(Ie>264){var Ee=i[oe=Ie-257];Ce=S(E,Y,(1<>>4;if(Ue||P(3),Y+=15&Ue,ge=d[Ne],Ne>3&&(Ee=r[Ne],ge+=w(E,Y)&(1<q){B&&P(0);break}W&&N(_+131072);for(var Le=_+Ce;_qe.length)&&(De=qe.length);var Fe=new(qe instanceof n?n:qe instanceof o?o:e)(De-We);return Fe.set(qe.subarray(We,De)),Fe}(L,0,_)},H=new e(0),D=typeof TextDecoder<"u"&&new TextDecoder;try{D.decode(H,{stream:!0})}catch{}return t.convert_streams=function(E){var L=new DataView(E),U=0;function F(){var ne=L.getUint16(U);return U+=2,ne}function W(){var ne=L.getUint32(U);return U+=4,ne}function B(ne){ie.setUint16(pe,ne),pe+=2}function k(ne){ie.setUint32(pe,ne),pe+=4}for(var N={signature:W(),flavor:W(),length:W(),numTables:F(),reserved:F(),totalSfntSize:W(),majorVersion:F(),minorVersion:F(),metaOffset:W(),metaLength:W(),metaOrigLength:W(),privOffset:W(),privLength:W()},j=0;Math.pow(2,j)<=N.numTables;)j++;j--;for(var Y=16*Math.pow(2,j),_=16*N.numTables-Y,J=12,Q=[],ee=0;ee{let[H,D]=R.split("+");H=parseInt(H,36),D=D?parseInt(D,36):0,u.set(P+=H,w[T]);for(let E=D;E--;)u.set(++P,w[T])})}}return u.get(S)||c}const f=1,p=2,g=3,y=4,A=[null,"isol","init","fina","medi"];function x(S){const w=new Uint8Array(S.length);let T=c,P=f,R=-1;for(let H=0;H65535&&H++)}return w}function C(S,w){const T=[];for(let R=0;R65535&&R++,T.push(t.U.codeToGlyph(S,H))}const P=S.GSUB;if(P){const{lookupList:R,featureList:H}=P;let D;const E=/^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws)$/,L=[];H.forEach(U=>{if(E.test(U.tag))for(let F=0;F{if(Y!==-1){let J=w[Y];if(!J){const{cmds:Q,crds:ee}=t.U.glyphToPath(S,Y);let $="",q=0;for(let Z=0,he=Q.length;Z1?",":"")+ee[q++]}let le,ie,pe,ne;if(ee.length){le=ie=1/0,pe=ne=-1/0;for(let Z=0,he=ee.length;Zpe&&(pe=fe),se>ne&&(ne=se)}}else le=pe=ie=ne=0;J=w[Y]={index:Y,advanceWidth:S.hmtx.aWidth[Y],xMin:le,yMin:ie,xMax:pe,yMax:ne,path:$,pathCommandCount:Q.length}}j!==-1&&(W+=t.U.getPairAdjustment(S,j,Y)*B),F.call(null,J,W,N),J.advanceWidth&&(W+=J.advanceWidth*B),U&&(W+=U*L),j=Y}N+=E.codePointAt(N)>65535?2:1}),W}};return D}return function(w){const T=new Uint8Array(w,0,4),P=t._bin.readASCII(T,0,4);if(P==="wOFF")w=e(w);else if(P==="wOF2")throw new Error("woff2 fonts not supported");return v(t.parse(w)[0])}}const y6t=JL({name:"Typr Font Parser",dependencies:[p6t,g6t,m6t],init(t,e,n){const o=t(),i=e();return n(o,i)}}),OP={defaultFontURL:"https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxM.woff",sdfGlyphSize:64,sdfMargin:1/16,sdfExponent:9,textureWidth:2048},A6t=new Xo;function yT(){return(self.performance||Date).now()}const Bwe=Object.create(null);function aUe(t,e){t=x6t({},t);const n=yT();if(t.font=b6t(t.font||OP.defaultFontURL),t.text=""+t.text,t.sdfGlyphSize=t.sdfGlyphSize||OP.sdfGlyphSize,t.colorRanges!=null){let d={};for(let f in t.colorRanges)if(t.colorRanges.hasOwnProperty(f)){let p=t.colorRanges[f];typeof p!="number"&&(p=A6t.set(p).getHex()),d[f]=p}t.colorRanges=d}Object.freeze(t);const{textureWidth:o,sdfExponent:i}=OP,{sdfGlyphSize:r}=t,a=o/r*4;let l=Bwe[r];if(!l){const d=document.createElement("canvas");d.width=o,d.height=r*256/a,l=Bwe[r]={glyphCount:0,sdfGlyphSize:r,sdfCanvas:d,sdfTexture:new _c(d,void 0,void 0,void 0,js,js),contextLost:!1,glyphsByFont:new Map},l.sdfTexture.generateMipmaps=!1,w6t(l)}const{sdfTexture:s,sdfCanvas:c}=l;let u=l.glyphsByFont.get(t.font);u||l.glyphsByFont.set(t.font,u=new Map),T6t(t).then(d=>{const{glyphIds:f,glyphPositions:p,fontSize:g,unitsPerEm:y,timings:A}=d,x=[],C=new Float32Array(f.length*4),b=g/y;let v=0,S=0;const w=yT();f.forEach((D,E)=>{let L=u.get(D);if(!L){const{path:B,pathBounds:k}=d.glyphData[D],N=Math.max(k[2]-k[0],k[3]-k[1])/r*(OP.sdfMargin*r+.5),j=l.glyphCount++,Y=[k[0]-N,k[1]-N,k[2]+N,k[3]+N];u.set(D,L={path:B,atlasIndex:j,sdfViewBox:Y}),x.push(L)}const{sdfViewBox:U}=L,F=p[S++],W=p[S++];C[v++]=F+U[0]*b,C[v++]=W+U[1]*b,C[v++]=F+U[2]*b,C[v++]=W+U[3]*b,f[E]=L.atlasIndex}),A.quads=(A.quads||0)+(yT()-w);const T=yT();A.sdf={};const P=c.height,R=Math.ceil(l.glyphCount/a),H=Math.pow(2,Math.ceil(Math.log2(R*r)));H>P&&(console.info(`Increasing SDF texture size ${P}->${H}`),h6t(c,o,H),s.dispose()),Promise.all(x.map(D=>lUe(D,l,t.gpuAccelerateSDF).then(({timing:E})=>{A.sdf[D.atlasIndex]=E}))).then(()=>{x.length&&!l.contextLost&&(sUe(l),s.needsUpdate=!0),A.sdfTotal=yT()-T,A.total=yT()-n,e(Object.freeze({parameters:t,sdfTexture:s,sdfGlyphSize:r,sdfExponent:i,glyphBounds:C,glyphAtlasIndices:f,glyphColors:d.glyphColors,caretPositions:d.caretPositions,caretHeight:d.caretHeight,chunkedBounds:d.chunkedBounds,ascender:d.ascender,descender:d.descender,lineHeight:d.lineHeight,capHeight:d.capHeight,xHeight:d.xHeight,topBaseline:d.topBaseline,blockBounds:d.blockBounds,visibleBounds:d.visibleBounds,timings:d.timings}))})}),Promise.resolve().then(()=>{l.contextLost||f6t(c)})}function lUe({path:t,atlasIndex:e,sdfViewBox:n},{sdfGlyphSize:o,sdfCanvas:i,contextLost:r},a){if(r)return Promise.resolve({timing:-1});const{textureWidth:l,sdfExponent:s}=OP,c=Math.max(n[2]-n[0],n[3]-n[1]),u=Math.floor(e/4),d=u%(l/o)*o,f=Math.floor(u/(l/o))*o,p=e%4;return a6t(o,o,t,n,c,s,i,d,f,p,a)}function w6t(t){const e=t.sdfCanvas;e.addEventListener("webglcontextlost",n=>{console.log("Context Lost",n),n.preventDefault(),t.contextLost=!0}),e.addEventListener("webglcontextrestored",n=>{console.log("Context Restored",n),t.contextLost=!1;const o=[];t.glyphsByFont.forEach(i=>{i.forEach(r=>{o.push(lUe(r,t,!0))})}),Promise.all(o).then(()=>{sUe(t),t.sdfTexture.needsUpdate=!0})})}function v6t({font:t,characters:e,sdfGlyphSize:n},o){let i=Array.isArray(e)?e.join(` +`):""+e;aUe({font:t,sdfGlyphSize:n,text:i},o)}function x6t(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}let Kj;function b6t(t){return Kj||(Kj=typeof document>"u"?{}:document.createElement("a")),Kj.href=t,Kj.href}function sUe(t){if(typeof createImageBitmap!="function"){console.info("Safari<15: applying SDF canvas workaround");const{sdfCanvas:e,sdfTexture:n}=t,{width:o,height:i}=e,r=t.sdfCanvas.getContext("webgl");let a=n.image.data;(!a||a.length!==o*i*4)&&(a=new Uint8Array(o*i*4),n.image={width:o,height:i,data:a},n.flipY=!1,n.isDataTexture=!0),r.readPixels(0,0,o,i,r.RGBA,r.UNSIGNED_BYTE,a)}}const S6t=JL({name:"Typesetter",dependencies:[OP,y6t,r6t,$3t],init(t,e,n,o){const{defaultFontURL:i}=t;return n(e,o(),{defaultFontURL:i})}}),T6t=JL({name:"Typesetter",dependencies:[S6t],init(t){return function(e){return new Promise(n=>{t.typeset(e,n)})}},getTransferables(t){const e=[t.glyphPositions.buffer,t.glyphIds.buffer];return t.caretPositions&&e.push(t.caretPositions.buffer),t.glyphColors&&e.push(t.glyphColors.buffer),e}}),jwe={};function P6t(t){let e=jwe[t];if(!e){const n=new S7(1,1,t,t),o=n.clone(),i=n.attributes,r=o.attributes,a=new Ur,l=i.uv.count;for(let s=0;s{a.setAttribute(s,new hi([...i[s].array,...r[s].array],i[s].itemSize))}),a.setIndex([...n.index.array,...o.index.array.map(s=>s+l)]),a.translate(.5,.5,0),e=jwe[t]=a}return e}const C6t="aTroikaGlyphBounds",Ywe="aTroikaGlyphIndex",R6t="aTroikaGlyphColor";class H6t extends aq{constructor(){super(),this.detail=1,this.curveRadius=0,this.groups=[{start:0,count:1/0,materialIndex:0},{start:0,count:1/0,materialIndex:1}],this.boundingSphere=new n1,this.boundingBox=new pf}computeBoundingSphere(){}computeBoundingBox(){}setSide(e){const n=this.getIndex().count;this.setDrawRange(e===p0?n/2:0,e===ji?n:n/2)}set detail(e){if(e!==this._detail){this._detail=e,(typeof e!="number"||e<1)&&(e=1);let n=P6t(e);["position","normal","uv"].forEach(o=>{this.attributes[o]=n.attributes[o].clone()}),this.setIndex(n.getIndex().clone())}}get detail(){return this._detail}set curveRadius(e){e!==this._curveRadius&&(this._curveRadius=e,this._updateBounds())}get curveRadius(){return this._curveRadius}updateGlyphs(e,n,o,i,r){Koe(this,C6t,e,4),Koe(this,Ywe,n,1),Koe(this,R6t,r,3),this._blockBounds=o,this._chunkedBounds=i,this.instanceCount=n.length,this._updateBounds()}_updateBounds(){const e=this._blockBounds;if(e){const{curveRadius:n,boundingBox:o}=this;if(n){const{PI:i,floor:r,min:a,max:l,sin:s,cos:c}=Math,u=i/2,d=i*2,f=Math.abs(n),p=e[0]/f,g=e[2]/f,y=r((p+u)/d)!==r((g+u)/d)?-f:a(s(p)*f,s(g)*f),A=r((p-u)/d)!==r((g-u)/d)?f:l(s(p)*f,s(g)*f),x=r((p+i)/d)!==r((g+i)/d)?f*2:l(f-c(p)*f,f-c(g)*f);o.min.set(y,e[1],n<0?-x:0),o.max.set(A,e[3],n<0?0:x)}else o.min.set(e[0],e[1],0),o.max.set(e[2],e[3],0);o.getBoundingSphere(this.boundingSphere)}}applyClipRect(e){let n=this.getAttribute(Ywe).count,o=this._chunkedBounds;if(o)for(let i=o.length;i--;){n=o[i].end;let r=o[i].rect;if(r[1]e.y&&r[0]e.x)break}this.instanceCount=n}}function Koe(t,e,n,o){const i=t.getAttribute(e);n?i&&i.array.length===n.length?(i.array.set(n),i.needsUpdate=!0):(t.setAttribute(e,new Nx(n,o)),delete t._maxInstanceCount,t.dispose()):i&&t.deleteAttribute(e)}const M6t=` uniform vec2 uTroikaSDFTextureSize; uniform float uTroikaSDFGlyphSize; uniform vec4 uTroikaTotalBounds; @@ -4164,7 +4164,7 @@ varying vec4 vTroikaTextureUVBounds; varying float vTroikaTextureChannel; varying vec3 vTroikaGlyphColor; varying vec2 vTroikaGlyphDimensions; -`,D6t=` +`,I6t=` vec4 bounds = aTroikaGlyphBounds; bounds.xz += uTroikaPositionOffset.x; bounds.yw -= uTroikaPositionOffset.y; @@ -4206,7 +4206,7 @@ vec2 txStartUV = txUvPerSquare * vec2( ); vTroikaTextureUVBounds = vec4(txStartUV, vec2(txStartUV) + txUvPerSquare); vTroikaTextureChannel = mod(aTroikaGlyphIndex, 4.0); -`,E6t=` +`,z6t=` uniform sampler2D uTroikaSDFTexture; uniform vec2 uTroikaSDFTextureSize; uniform float uTroikaSDFGlyphSize; @@ -4280,7 +4280,7 @@ float troikaGetEdgeAlpha(float distance, float distanceOffset, float aaDist) { return alpha; } -`,k6t=` +`,D6t=` float aaDist = troikaGetAADist(); float fragDistance = troikaGetFragDistValue(); float edgeAlpha = uTroikaSDFDebug ? @@ -4303,14 +4303,14 @@ gl_FragColor.a *= edgeAlpha; if (edgeAlpha == 0.0) { discard; } -`;function F6t(t){const e=dce(t,{chained:!0,extensions:{derivatives:!0},uniforms:{uTroikaSDFTexture:{value:null},uTroikaSDFTextureSize:{value:new Gt},uTroikaSDFGlyphSize:{value:0},uTroikaSDFExponent:{value:0},uTroikaTotalBounds:{value:new ll(0,0,0,0)},uTroikaClipRect:{value:new ll(0,0,0,0)},uTroikaDistanceOffset:{value:0},uTroikaOutlineOpacity:{value:0},uTroikaFillOpacity:{value:1},uTroikaPositionOffset:{value:new Gt},uTroikaCurveRadius:{value:0},uTroikaBlurRadius:{value:0},uTroikaStrokeWidth:{value:0},uTroikaStrokeColor:{value:new Xo},uTroikaStrokeOpacity:{value:1},uTroikaOrient:{value:new fa},uTroikaUseGlyphColors:{value:!0},uTroikaSDFDebug:{value:!1}},vertexDefs:z6t,vertexTransform:D6t,fragmentDefs:E6t,fragmentColorTransform:k6t,customRewriter({vertexShader:n,fragmentShader:o}){let i=/\buniform\s+vec3\s+diffuse\b/;return i.test(o)&&(o=o.replace(i,"varying vec3 vTroikaGlyphColor").replace(/\bdiffuse\b/g,"vTroikaGlyphColor"),i.test(n)||(n=n.replace(iUe,`uniform vec3 diffuse; +`;function E6t(t){const e=dce(t,{chained:!0,extensions:{derivatives:!0},uniforms:{uTroikaSDFTexture:{value:null},uTroikaSDFTextureSize:{value:new Gt},uTroikaSDFGlyphSize:{value:0},uTroikaSDFExponent:{value:0},uTroikaTotalBounds:{value:new ll(0,0,0,0)},uTroikaClipRect:{value:new ll(0,0,0,0)},uTroikaDistanceOffset:{value:0},uTroikaOutlineOpacity:{value:0},uTroikaFillOpacity:{value:1},uTroikaPositionOffset:{value:new Gt},uTroikaCurveRadius:{value:0},uTroikaBlurRadius:{value:0},uTroikaStrokeWidth:{value:0},uTroikaStrokeColor:{value:new Xo},uTroikaStrokeOpacity:{value:1},uTroikaOrient:{value:new fa},uTroikaUseGlyphColors:{value:!0},uTroikaSDFDebug:{value:!1}},vertexDefs:M6t,vertexTransform:I6t,fragmentDefs:z6t,fragmentColorTransform:D6t,customRewriter({vertexShader:n,fragmentShader:o}){let i=/\buniform\s+vec3\s+diffuse\b/;return i.test(o)&&(o=o.replace(i,"varying vec3 vTroikaGlyphColor").replace(/\bdiffuse\b/g,"vTroikaGlyphColor"),i.test(n)||(n=n.replace(iUe,`uniform vec3 diffuse; $& vTroikaGlyphColor = uTroikaUseGlyphColors ? aTroikaGlyphColor / 255.0 : diffuse; -`))),{vertexShader:n,fragmentShader:o}}});return e.transparent=!0,Object.defineProperties(e,{isTroikaTextMaterial:{value:!0},shadowSide:{get(){return this.side},set(){}}}),e}const W1e=new G9({color:16777215,side:ji,transparent:!0}),Owe=8421504,_we=new Xr,qj=new ae,qoe=new ae,mz=[],L6t=new ae,$oe="+x+y";function Vwe(t){return Array.isArray(t)?t[0]:t}let cUe=()=>{const t=new es(new S7(1,1),W1e);return cUe=()=>t,t},uUe=()=>{const t=new es(new S7(1,1,32,1),W1e);return uUe=()=>t,t};const W6t={type:"syncstart"},N6t={type:"synccomplete"},dUe=["font","fontSize","letterSpacing","lineHeight","maxWidth","overflowWrap","text","direction","textAlign","textIndent","whiteSpace","anchorX","anchorY","colorRanges","sdfGlyphSize"],U6t=dUe.concat("material","color","depthOffset","clipRect","curveRadius","orientation","glyphGeometryDetail");let fUe=class extends es{constructor(){const e=new I6t;super(e,null),this.text="",this.anchorX=0,this.anchorY=0,this.curveRadius=0,this.direction="auto",this.font=null,this.fontSize=.1,this.letterSpacing=0,this.lineHeight="normal",this.maxWidth=1/0,this.overflowWrap="normal",this.textAlign="left",this.textIndent=0,this.whiteSpace="normal",this.material=null,this.color=null,this.colorRanges=null,this.outlineWidth=0,this.outlineColor=0,this.outlineOpacity=1,this.outlineBlur=0,this.outlineOffsetX=0,this.outlineOffsetY=0,this.strokeWidth=0,this.strokeColor=Owe,this.strokeOpacity=1,this.fillOpacity=1,this.depthOffset=0,this.clipRect=null,this.orientation=$oe,this.glyphGeometryDetail=1,this.sdfGlyphSize=null,this.gpuAccelerateSDF=!0,this.debugSDF=!1}sync(e){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._queuedSyncs||(this._queuedSyncs=[])).push(e):(this._isSyncing=!0,this.dispatchEvent(W6t),aUe({text:this.text,font:this.font,fontSize:this.fontSize||.1,letterSpacing:this.letterSpacing||0,lineHeight:this.lineHeight||"normal",maxWidth:this.maxWidth,direction:this.direction||"auto",textAlign:this.textAlign,textIndent:this.textIndent,whiteSpace:this.whiteSpace,overflowWrap:this.overflowWrap,anchorX:this.anchorX,anchorY:this.anchorY,colorRanges:this.colorRanges,includeCaretPositions:!0,sdfGlyphSize:this.sdfGlyphSize,gpuAccelerateSDF:this.gpuAccelerateSDF},n=>{this._isSyncing=!1,this._textRenderInfo=n,this.geometry.updateGlyphs(n.glyphBounds,n.glyphAtlasIndices,n.blockBounds,n.chunkedBounds,n.glyphColors);const o=this._queuedSyncs;o&&(this._queuedSyncs=null,this._needsSync=!0,this.sync(()=>{o.forEach(i=>i&&i())})),this.dispatchEvent(N6t),e&&e()})))}onBeforeRender(e,n,o,i,r,a){this.sync(),r.isTroikaTextMaterial&&this._prepareForRender(r),r._hadOwnSide=r.hasOwnProperty("side"),this.geometry.setSide(r._actualSide=r.side),r.side=ia}onAfterRender(e,n,o,i,r,a){r._hadOwnSide?r.side=r._actualSide:delete r.side}dispose(){this.geometry.dispose()}get textRenderInfo(){return this._textRenderInfo||null}get material(){let e=this._derivedMaterial;const n=this._baseMaterial||this._defaultMaterial||(this._defaultMaterial=W1e.clone());if((!e||e.baseMaterial!==n)&&(e=this._derivedMaterial=F6t(n),n.addEventListener("dispose",function o(){n.removeEventListener("dispose",o),e.dispose()})),this.outlineWidth||this.outlineBlur||this.outlineOffsetX||this.outlineOffsetY){let o=e._outlineMtl;return o||(o=e._outlineMtl=Object.create(e,{id:{value:e.id+.1}}),o.isTextOutlineMaterial=!0,o.depthWrite=!1,o.map=null,e.addEventListener("dispose",function i(){e.removeEventListener("dispose",i),o.dispose()})),[o,e]}else return e}set material(e){e&&e.isTroikaTextMaterial?(this._derivedMaterial=e,this._baseMaterial=e.baseMaterial):this._baseMaterial=e}get glyphGeometryDetail(){return this.geometry.detail}set glyphGeometryDetail(e){this.geometry.detail=e}get curveRadius(){return this.geometry.curveRadius}set curveRadius(e){this.geometry.curveRadius=e}get customDepthMaterial(){return Vwe(this.material).getDepthMaterial()}get customDistanceMaterial(){return Vwe(this.material).getDistanceMaterial()}_prepareForRender(e){const n=e.isTextOutlineMaterial,o=e.uniforms,i=this.textRenderInfo;if(i){const{sdfTexture:l,blockBounds:s}=i;o.uTroikaSDFTexture.value=l,o.uTroikaSDFTextureSize.value.set(l.image.width,l.image.height),o.uTroikaSDFGlyphSize.value=i.sdfGlyphSize,o.uTroikaSDFExponent.value=i.sdfExponent,o.uTroikaTotalBounds.value.fromArray(s),o.uTroikaUseGlyphColors.value=!n&&!!i.glyphColors;let c=0,u=0,d=0,f,p,g,y=0,A=0;if(n){let{outlineWidth:C,outlineOffsetX:b,outlineOffsetY:v,outlineBlur:S,outlineOpacity:w}=this;c=this._parsePercent(C)||0,u=Math.max(0,this._parsePercent(S)||0),f=w,y=this._parsePercent(b)||0,A=this._parsePercent(v)||0}else d=Math.max(0,this._parsePercent(this.strokeWidth)||0),d&&(g=this.strokeColor,o.uTroikaStrokeColor.value.set(g??Owe),p=this.strokeOpacity,p==null&&(p=1)),f=this.fillOpacity;o.uTroikaDistanceOffset.value=c,o.uTroikaPositionOffset.value.set(y,A),o.uTroikaBlurRadius.value=u,o.uTroikaStrokeWidth.value=d,o.uTroikaStrokeOpacity.value=p,o.uTroikaFillOpacity.value=f??1,o.uTroikaCurveRadius.value=this.curveRadius||0;let x=this.clipRect;if(x&&Array.isArray(x)&&x.length===4)o.uTroikaClipRect.value.fromArray(x);else{const C=(this.fontSize||.1)*100;o.uTroikaClipRect.value.set(s[0]-C,s[1]-C,s[2]+C,s[3]+C)}this.geometry.applyClipRect(o.uTroikaClipRect.value)}o.uTroikaSDFDebug.value=!!this.debugSDF,e.polygonOffset=!!this.depthOffset,e.polygonOffsetFactor=e.polygonOffsetUnits=this.depthOffset||0;const r=n?this.outlineColor||0:this.color;if(r==null)delete e.color;else{const l=e.hasOwnProperty("color")?e.color:e.color=new Xo;(r!==l._input||typeof r=="object")&&l.set(l._input=r)}let a=this.orientation||$oe;if(a!==e._orientation){let l=o.uTroikaOrient.value;a=a.replace(/[^-+xyz]/g,"");let s=a!==$oe&&a.match(/^([-+])([xyz])([-+])([xyz])$/);if(s){let[,c,u,d,f]=s;qj.set(0,0,0)[u]=c==="-"?1:-1,qoe.set(0,0,0)[f]=d==="-"?-1:1,_we.lookAt(L6t,qj.cross(qoe),qoe),l.setFromMatrix4(_we)}else l.identity();e._orientation=a}}_parsePercent(e){if(typeof e=="string"){let n=e.match(/^(-?[\d.]+)%$/),o=n?parseFloat(n[1]):NaN;e=(isNaN(o)?0:o/100)*this.fontSize}return e}localPositionToTextCoords(e,n=new Gt){n.copy(e);const o=this.curveRadius;return o&&(n.x=Math.atan2(e.x,Math.abs(o)-Math.abs(e.z))*Math.abs(o)),n}worldPositionToTextCoords(e,n=new Gt){return qj.copy(e),this.localPositionToTextCoords(this.worldToLocal(qj),n)}raycast(e,n){const{textRenderInfo:o,curveRadius:i}=this;if(o){const r=o.blockBounds,a=i?uUe():cUe(),l=a.geometry,{position:s,uv:c}=l.attributes;for(let u=0;u{this[o]=e[o]}),this}clone(){return new this.constructor().copy(this)}};dUe.forEach(t=>{const e="_private_"+t;Object.defineProperty(fUe.prototype,t,{get(){return this[e]},set(n){n!==this[e]&&(this[e]=n,this._needsSync=!0)}})});const B6t=m.forwardRef(({sdfGlyphSize:t=64,anchorX:e="center",anchorY:n="middle",font:o,fontSize:i=1,children:r,characters:a,onSync:l,...s},c)=>{const u=Xi(({invalidate:g})=>g),[d]=m.useState(()=>new fUe),[f,p]=m.useMemo(()=>{const g=[];let y="";return m.Children.forEach(r,A=>{typeof A=="string"||typeof A=="number"?y+=A:g.push(A)}),[g,y]},[r]);return CNe(()=>new Promise(g=>b6t({font:o,characters:a},g)),["troika-text",o,a]),m.useLayoutEffect(()=>void d.sync(()=>{u(),l&&l(d)})),m.useEffect(()=>()=>d.dispose(),[d]),m.createElement("primitive",z9({object:d,ref:c,font:o,text:p,anchorX:e,anchorY:n,fontSize:i,sdfGlyphSize:t},s),f)}),Gwe=t=>t===Object(t)&&!Array.isArray(t)&&typeof t!="function";function Ab(t,e){const n=Xi(i=>i.gl),o=aA(tf,Gwe(t)?Object.values(t):t);if(m.useLayoutEffect(()=>{e==null||e(o)},[e]),m.useEffect(()=>{"initTexture"in n&&(Array.isArray(o)?o:[o]).forEach(n.initTexture)},[n,o]),Gwe(t)){const i=Object.keys(t),r={};return i.forEach(a=>Object.assign(r,{[a]:o[i.indexOf(a)]})),r}else return o}Ab.preload=t=>aA.preload(tf,t);Ab.clear=t=>aA.clear(tf,t);function hUe(t,e,n){const o=Xi(f=>f.size),i=Xi(f=>f.viewport),r=typeof t=="number"?t:o.width*i.dpr,a=o.height*i.dpr,l=(typeof t=="number"?n:t)||{},{samples:s=0,depth:c,...u}=l,d=m.useMemo(()=>{const f=new _m(r,a,{minFilter:js,magFilter:js,type:Lx,...u});return c&&(f.depthTexture=new l1e(r,a,h2)),f.samples=s,f},[]);return m.useLayoutEffect(()=>{d.setSize(r,a),s&&(d.samples=s)},[s,d,r,a]),m.useEffect(()=>()=>d.dispose(),[]),d}const j6t=t=>typeof t=="function",Y6t=m.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,children:o,makeDefault:i,...r},a)=>{const l=Xi(({set:A})=>A),s=Xi(({camera:A})=>A),c=Xi(({size:A})=>A),u=m.useRef(null),d=m.useRef(null),f=hUe(e);m.useLayoutEffect(()=>{r.manual||u.current.updateProjectionMatrix()},[c,r]),m.useLayoutEffect(()=>{u.current.updateProjectionMatrix()}),m.useLayoutEffect(()=>{if(i){const A=s;return l(()=>({camera:u.current})),()=>l(()=>({camera:A}))}},[u,i,l]);let p=0,g=null;const y=j6t(o);return rA(A=>{y&&(n===1/0||ptypeof t=="function",_6t=m.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,makeDefault:o,children:i,...r},a)=>{const l=Xi(({set:A})=>A),s=Xi(({camera:A})=>A),c=Xi(({size:A})=>A),u=m.useRef(null),d=m.useRef(null),f=hUe(e);m.useLayoutEffect(()=>{r.manual||(u.current.aspect=c.width/c.height)},[c,r]),m.useLayoutEffect(()=>{u.current.updateProjectionMatrix()});let p=0,g=null;const y=O6t(i);return rA(A=>{y&&(n===1/0||p{if(o){const A=s;return l(()=>({camera:u.current})),()=>l(()=>({camera:A}))}},[u,o,l]),m.createElement(m.Fragment,null,m.createElement("perspectiveCamera",z9({ref:k1e([u,a])},r),!y&&i),m.createElement("group",{ref:d},y&&i(f.texture)))});function lA(t,e){const n=t+"Geometry";return m.forwardRef(({args:o,children:i,...r},a)=>{const l=m.useRef(null);return m.useImperativeHandle(a,()=>l.current),m.useLayoutEffect(()=>void(e==null?void 0:e(l.current))),m.createElement("mesh",z9({ref:l},r),m.createElement(n,{attach:"geometry",args:o}),i)})}const Ei=lA("box"),KC=lA("circle"),cu=lA("cone"),wa=lA("cylinder"),ts=lA("sphere"),sa=lA("plane"),N1e=lA("torus"),Y6=lA("ring"),$w=lA("extrude"),j5=1e-5;function V6t(t,e,n){const o=new Ml,i=n-j5;return o.absarc(j5,j5,j5,-Math.PI/2,-Math.PI,!0),o.absarc(j5,e-i*2,j5,Math.PI,Math.PI/2,!0),o.absarc(t-i*2,e-i*2,j5,Math.PI/2,0,!0),o.absarc(t-i*2,j5,j5,0,-Math.PI/2,!0),o}const G6t=m.forwardRef(function({args:[e=1,n=1,o=1]=[],radius:i=.05,steps:r=1,smoothness:a=4,bevelSegments:l=4,creaseAngle:s=.4,children:c,...u},d){const f=m.useMemo(()=>V6t(e,n,i),[e,n,i]),p=m.useMemo(()=>({depth:o-i*2,bevelEnabled:!0,bevelSegments:l*2,steps:r,bevelSize:i-j5,bevelThickness:i,curveSegments:a}),[o,i,a]),g=m.useRef(null);return m.useLayoutEffect(()=>{g.current&&(g.current.center(),O3t(g.current,s))},[f,p]),m.createElement("mesh",z9({ref:d},u),m.createElement("extrudeGeometry",{ref:g,args:[f,p]}),c)});var pUe={exports:{}},X6t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",J6t=X6t,K6t=J6t;function gUe(){}function mUe(){}mUe.resetWarningCache=gUe;var q6t=function(){function t(o,i,r,a,l,s){if(s!==K6t){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}t.isRequired=t;function e(){return t}var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:mUe,resetWarningCache:gUe};return n.PropTypes=n,n};pUe.exports=q6t();var dq=pUe.exports;const fo=kr(dq),Ln=vK()((t,e)=>({setEnableOrbitController:n=>{M.getState().viewState.navigationView||t(o=>{var i;return(i=o.orbitControlsRef)!=null&&i.current&&(o.orbitControlsRef.current.enabled=n),o})},selectNone:()=>{t({humanRef:null,treeRef:null,foundationRef:null})},contentRef:null,compassRef:null,orbitControlsRef:null,humanRef:null,treeRef:null,flowerRef:null,foundationRef:null,cuboidRef:null,listenToAutoDeletionByCutRef:null,listenToAutoDeletionByDeleteRef:null,setListenToAutoDeletionByCut:n=>{const o=e().listenToAutoDeletionByCutRef;o&&(o.current=n)},setListenToAutoDeletionByDelete:n=>{const o=e().listenToAutoDeletionByDeleteRef;o&&(o.current=n)},canvas:null}));var Sr=(t=>(t.Default="Default",t.Arched="Arched",t.Circular="Circular",t.Polygonal="Polygonal",t))(Sr||{});const yUe="/aladdin/assets/jaah-XpG2K-Xo.png",AUe="/aladdin/assets/jack-DVed1dhl.png",wUe="/aladdin/assets/jacob-D-6uVZRV.png",vUe="/aladdin/assets/jacqueline-DZtJs4FX.png",xUe="/aladdin/assets/jade-Cxa-afE4.png",bUe="/aladdin/assets/jamelia-Bmq4EsGl.png",SUe="/aladdin/assets/james-QtBSrtsa.png",TUe="/aladdin/assets/jane-ZqCTWK8F.png",PUe="/aladdin/assets/jaya-DD0RNxX8.png",CUe="/aladdin/assets/jaye-DPA2kSta.png",RUe="/aladdin/assets/jeanette-D3EEzZKV.png",HUe="/aladdin/assets/jedi-CUm23-QH.png",MUe="/aladdin/assets/jeff-931UF5LC.png",IUe="/aladdin/assets/jena-qnIKFCdf.png",zUe="/aladdin/assets/jennifer-Cvadr5-Q.png",DUe="/aladdin/assets/jess-DyGUx_b1.png",EUe="/aladdin/assets/jett-B01M7z86.png",kUe="/aladdin/assets/jill-CxIC2A4v.png",FUe="/aladdin/assets/jiya-CF0SpO2m.png",LUe="/aladdin/assets/joan-DWpjHIrM.png",WUe="/aladdin/assets/jocelyn-DGLHmbKA.png",NUe="/aladdin/assets/joel-DhW3d8dZ.png",UUe="/aladdin/assets/joey-Dmd3kcA2.png",BUe="/aladdin/assets/john-QF2zQU-p.png",jUe="/aladdin/assets/jonathon-TM1sY2jf.png",YUe="/aladdin/assets/jose-CtYKGQoQ.png",OUe="/aladdin/assets/joseph-C7wga7kl.png",_Ue="/aladdin/assets/joshua-CqTzsm-K.png",VUe="/aladdin/assets/judd-C8GabaWl.png",GUe="/aladdin/assets/judy-Cv4UEjOl.png",XUe="/aladdin/assets/julia-Ckjw2r2H.png",JUe="/aladdin/assets/julio-CPCcOGMU.png",KUe="/aladdin/assets/jumapili-TjSAWyhv.png",qUe="/aladdin/assets/june-Bkxc2WDe.png",$Ue="/aladdin/assets/juro-BAi3R6Hw.png",QUe="/aladdin/assets/justin-DLG1o6Q7.png";class Ip{static fetchGender(e){switch(e){case Yt.Jaah:return Ca.Male;case Yt.Jacqueline:return Ca.Female;case Yt.Jade:return Ca.Female;case Yt.Jamelia:return Ca.Female;case Yt.James:return Ca.Male;case Yt.Jane:return Ca.Female;case Yt.Jaya:return Ca.Female;case Yt.Jaye:return Ca.Male;case Yt.Jeanette:return Ca.Female;case Yt.Jedi:return Ca.Male;case Yt.Jeff:return Ca.Male;case Yt.Jena:return Ca.Female;case Yt.Jennifer:return Ca.Female;case Yt.Jess:return Ca.Female;case Yt.Jett:return Ca.Male;case Yt.Jill:return Ca.Female;case Yt.Jiya:return Ca.Female;case Yt.Joan:return Ca.Female;case Yt.Jocelyn:return Ca.Female;case Yt.Joel:return Ca.Male;case Yt.Joey:return Ca.Female;case Yt.John:return Ca.Male;case Yt.Jonathon:return Ca.Male;case Yt.Jose:return Ca.Male;case Yt.Joseph:return Ca.Male;case Yt.Joshua:return Ca.Male;case Yt.Judd:return Ca.Male;case Yt.Judy:return Ca.Female;case Yt.Julia:return Ca.Female;case Yt.Julio:return Ca.Male;case Yt.Jumapili:return Ca.Female;case Yt.June:return Ca.Female;case Yt.Juro:return Ca.Male;case Yt.Justin:return Ca.Male;default:return Ca.Male}}static fetchLabel(e,n){switch(e){case Yt.Jaah:return O.t("people.Jaah",n);case Yt.Jacob:return O.t("people.Jacob",n);case Yt.Jacqueline:return O.t("people.Jacqueline",n);case Yt.Jade:return O.t("people.Jade",n);case Yt.Jamelia:return O.t("people.Jamelia",n);case Yt.James:return O.t("people.James",n);case Yt.Jane:return O.t("people.Jane",n);case Yt.Jaya:return O.t("people.Jaya",n);case Yt.Jaye:return O.t("people.Jaye",n);case Yt.Jeanette:return O.t("people.Jeanette",n);case Yt.Jedi:return O.t("people.Jedi",n);case Yt.Jeff:return O.t("people.Jeff",n);case Yt.Jena:return O.t("people.Jena",n);case Yt.Jennifer:return O.t("people.Jennifer",n);case Yt.Jess:return O.t("people.Jess",n);case Yt.Jett:return O.t("people.Jett",n);case Yt.Jill:return O.t("people.Jill",n);case Yt.Jiya:return O.t("people.Jiya",n);case Yt.Joan:return O.t("people.Joan",n);case Yt.Jocelyn:return O.t("people.Jocelyn",n);case Yt.Joel:return O.t("people.Joel",n);case Yt.Joey:return O.t("people.Joey",n);case Yt.John:return O.t("people.John",n);case Yt.Jonathon:return O.t("people.Jonathon",n);case Yt.Jose:return O.t("people.Jose",n);case Yt.Joseph:return O.t("people.Joseph",n);case Yt.Joshua:return O.t("people.Joshua",n);case Yt.Judd:return O.t("people.Judd",n);case Yt.Judy:return O.t("people.Judy",n);case Yt.Julia:return O.t("people.Julia",n);case Yt.Julio:return O.t("people.Julio",n);case Yt.Jumapili:return O.t("people.Jumapili",n);case Yt.June:return O.t("people.June",n);case Yt.Juro:return O.t("people.Juro",n);case Yt.Justin:return O.t("people.Justin",n);default:return O.t("people.Jack",n)}}static fetchHatOffsetY(e){switch(e){case Yt.Jonathon:return-.22}return 0}static fetchHatOffsetX(e){switch(e){case Yt.Jaah:return-.05;case Yt.Jack:return-.05;case Yt.Jacob:return .09;case Yt.Jade:return-.04;case Yt.Jaya:return .04;case Yt.Jaye:return 0;case Yt.Jamelia:return .05;case Yt.Jane:return .02;case Yt.Jeanette:return .08;case Yt.Jedi:return-.02;case Yt.Jeff:return-.05;case Yt.Jena:return .05;case Yt.Jennifer:return .02;case Yt.Jess:return .01;case Yt.Jett:return-.04;case Yt.Jill:return-.03;case Yt.Jiya:return-.03;case Yt.Joan:return-.45;case Yt.Jocelyn:return-.01;case Yt.Joel:return-.48;case Yt.Joey:return .01;case Yt.John:return .01;case Yt.Jonathon:return .02;case Yt.Jose:return .05;case Yt.Joseph:return .05;case Yt.Joshua:return-.01;case Yt.Judy:return .02;case Yt.Julia:return-.02;case Yt.Jumapili:return-.04;case Yt.June:return-.1;case Yt.Juro:return-.08;case Yt.Justin:return-.06;default:return 0}}static fetchHeight(e){switch(e){case Yt.Jaah:return 1.78;case Yt.Jack:return 1.8;case Yt.Jacob:return 1.82;case Yt.Jacqueline:return 1.78;case Yt.Jade:return 1.6;case Yt.James:return 1.75;case Yt.Jane:return 1.67;case Yt.Jaya:return 1.55;case Yt.Jaye:return 1.65;case Yt.Jamelia:return 1.8;case Yt.Jeanette:return 1.62;case Yt.Jedi:return 1.75;case Yt.Jeff:return 1.65;case Yt.Jena:return 1.6;case Yt.Jennifer:return 1.7;case Yt.Jess:return 1.5;case Yt.Jett:return 1.85;case Yt.Jill:return 1.71;case Yt.Jiya:return 1.74;case Yt.Joan:return 1.68;case Yt.Jocelyn:return 1.72;case Yt.Joel:return 1.75;case Yt.Joey:return 1.72;case Yt.John:return 1.85;case Yt.Jonathon:return 1.9;case Yt.Jose:return 1.6;case Yt.Joseph:return 1.88;case Yt.Joshua:return 1.79;case Yt.Judd:return 1.68;case Yt.Judy:return 1.75;case Yt.Julia:return 1.71;case Yt.Julio:return 1.76;case Yt.Jumapili:return 1.65;case Yt.June:return 1.85;case Yt.Juro:return 1.72;case Yt.Justin:return 1.755;default:return 1.8}}static fetchWidth(e){switch(e){case Yt.Jaah:return .74;case Yt.Jack:return .42;case Yt.Jacqueline:return .43;case Yt.Jacob:return .8;case Yt.Jade:return .48;case Yt.James:return .472;case Yt.Jane:return .4;case Yt.Jaya:return .6;case Yt.Jaye:return .55;case Yt.Jamelia:return .65;case Yt.Jeanette:return .4;case Yt.Jedi:return .56;case Yt.Jena:return .695;case Yt.Jennifer:return .45;case Yt.Jess:return .43;case Yt.Jill:return .42;case Yt.Joan:return 1.7;case Yt.Jocelyn:return .4;case Yt.Joel:return 1.8;case Yt.Joey:return .462;case Yt.John:return .6;case Yt.Jonathon:return .6;case Yt.Jose:return 2;case Yt.Joseph:return .6;case Yt.Joshua:return .5;case Yt.Judd:return .544;case Yt.Judy:return .41;case Yt.Julia:return .43;case Yt.Julio:return .5;case Yt.Jumapili:return .75;case Yt.June:return .65;case Yt.Juro:return .494;case Yt.Justin:return .6;default:return .6}}static fetchTextureImage(e){let n;switch(e){case Yt.Jaah:n=yUe;break;case Yt.Jacob:n=wUe;break;case Yt.Jacqueline:n=vUe;break;case Yt.Jade:n=xUe;break;case Yt.Jamelia:n=bUe;break;case Yt.James:n=SUe;break;case Yt.Jane:n=TUe;break;case Yt.Jaya:n=PUe;break;case Yt.Jaye:n=CUe;break;case Yt.Jeanette:n=RUe;break;case Yt.Jedi:n=HUe;break;case Yt.Jeff:n=MUe;break;case Yt.Jena:n=IUe;break;case Yt.Jennifer:n=zUe;break;case Yt.Jess:n=DUe;break;case Yt.Jett:n=EUe;break;case Yt.Jill:n=kUe;break;case Yt.Jiya:n=FUe;break;case Yt.Joan:n=LUe;break;case Yt.Jocelyn:n=WUe;break;case Yt.Joel:n=NUe;break;case Yt.Joey:n=UUe;break;case Yt.John:n=BUe;break;case Yt.Jonathon:n=jUe;break;case Yt.Jose:n=YUe;break;case Yt.Joseph:n=OUe;break;case Yt.Joshua:n=_Ue;break;case Yt.Judd:n=VUe;break;case Yt.Judy:n=GUe;break;case Yt.Julia:n=XUe;break;case Yt.Julio:n=JUe;break;case Yt.Jumapili:n=KUe;break;case Yt.June:n=qUe;break;case Yt.Juro:n=$Ue;break;case Yt.Justin:n=QUe;break;default:n=AUe}return n}}const $6t="/aladdin/assets/no_leaf_flower-CjefG9cq.png",Q6t="/aladdin/assets/no_leaf_shrub-DDlKdxg_.png",ZUe="/aladdin/assets/bellflower-C5sA-Fge.png",hce="/aladdin/assets/boxwood-cAqkPwU6.png",pce="/aladdin/assets/cactus_combo_1-DgrI_pBB.png",gce="/aladdin/assets/cactus_combo_2-CnD7zsEV.png",mce="/aladdin/assets/cactus_combo_3-CTLr6iHA.png",yce="/aladdin/assets/cactus_combo_4-Bv3aYeWB.png",eBe="/aladdin/assets/hibiscus-DqTQjw28.png",tBe="/aladdin/assets/hydrangea-D6uimbNa.png",nBe="/aladdin/assets/hosta-Ds5QIDtm.png",oBe="/aladdin/assets/peony-pnxufFxy.png",iBe="/aladdin/assets/red_rose-BhP67K90.png",rBe="/aladdin/assets/spirea-aOcGALMo.png",aBe="/aladdin/assets/sunflower-l75w306z.png",Ace="/aladdin/assets/tall_bush-g5bJ_GuV.png",lBe="/aladdin/assets/tulip-BqSv3XYD.png",sBe="/aladdin/assets/white_flower-BUfV78a-.png",cBe="/aladdin/assets/yellow_flower-BQ5dOM0H.png";class cw{static fetchSpread(e){switch(e){case $n.Bellflower:return .45;case $n.Boxwood:return 1.6;case $n.CactusCombo1:return 1;case $n.CactusCombo2:return 1;case $n.CactusCombo3:return 1;case $n.CactusCombo4:return 1;case $n.Hosta:return 1;case $n.Hibiscus:return 2;case $n.Hydrangea:return 2;case $n.Peony:return 1.5;case $n.RedRose:return .5;case $n.Spirea:return 1.8;case $n.Sunflower:return 1;case $n.TallBush:return 1;case $n.Tulip:return .4;case $n.YellowFlower:return 2;default:return .8}}static fetchHeight(e){switch(e){case $n.Bellflower:return .4;case $n.Boxwood:return 1.44;case $n.CactusCombo1:return 1.18;case $n.CactusCombo2:return 1.35;case $n.CactusCombo3:return 1.24;case $n.CactusCombo4:return 1.35;case $n.Hosta:return .7;case $n.Hibiscus:return 1.7;case $n.Hydrangea:return 1.5;case $n.Peony:return 1;case $n.RedRose:return .8;case $n.Spirea:return 1.6;case $n.Sunflower:return 2;case $n.TallBush:return 2;case $n.Tulip:return .7;case $n.YellowFlower:return 1.4;default:return .5}}static fetchLabel(e,n){switch(e){case $n.Bellflower:return O.t("flower.Bellflower",n);case $n.Boxwood:return O.t("flower.Boxwood",n);case $n.CactusCombo1:return O.t("flower.CactusCombo1",n);case $n.CactusCombo2:return O.t("flower.CactusCombo2",n);case $n.CactusCombo3:return O.t("flower.CactusCombo3",n);case $n.CactusCombo4:return O.t("flower.CactusCombo4",n);case $n.Hibiscus:return O.t("flower.Hibiscus",n);case $n.Hydrangea:return O.t("flower.Hydrangea",n);case $n.Hosta:return O.t("flower.Hosta",n);case $n.Peony:return O.t("flower.Peony",n);case $n.RedRose:return O.t("flower.RedRose",n);case $n.Spirea:return O.t("flower.Spirea",n);case $n.Sunflower:return O.t("flower.Sunflower",n);case $n.TallBush:return O.t("flower.TallBush",n);case $n.Tulip:return O.t("flower.Tulip",n);case $n.YellowFlower:return O.t("flower.YellowFlower",n);default:return O.t("flower.WhiteFlower",n)}}static fetchTextureImage(e,n){if(n)return e===$n.Hibiscus||e===$n.Hydrangea||e===$n.YellowFlower||e===$n.Spirea?Q6t:e===$n.Boxwood?hce:e===$n.TallBush?Ace:e===$n.CactusCombo1?pce:e===$n.CactusCombo2?gce:e===$n.CactusCombo3?mce:e===$n.CactusCombo4?yce:$6t;let o;switch(e){case $n.Bellflower:o=ZUe;break;case $n.Boxwood:o=hce;break;case $n.CactusCombo1:o=pce;break;case $n.CactusCombo2:o=gce;break;case $n.CactusCombo3:o=mce;break;case $n.CactusCombo4:o=yce;break;case $n.Hibiscus:o=eBe;break;case $n.Hydrangea:o=tBe;break;case $n.Hosta:o=nBe;break;case $n.Peony:o=oBe;break;case $n.RedRose:o=iBe;break;case $n.Spirea:o=rBe;break;case $n.Sunflower:o=aBe;break;case $n.TallBush:o=Ace;break;case $n.Tulip:o=lBe;break;case $n.YellowFlower:o=cBe;break;default:o=sBe}return o}}class rl{static makeHuman(e,n,o,i,r){return{type:z.Human,name:e??Yt.Jack,cx:o,cy:i,cz:r,lx:Ip.fetchWidth(e??Yt.Jack),lz:Ip.fetchHeight(e??Yt.Jack),normal:[0,1,0],rotation:[0,0,0],parentId:n,id:ta.generate()}}static makeTree(e,n,o,i,r,a,l){return{type:z.Tree,name:e??fi.Dogwood,cx:r,cy:a,cz:l,lx:n??3,lz:o??4,normal:[0,1,0],rotation:[0,0,0],parentId:i,id:ta.generate()}}static makeSolarPanel(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A){let x;switch(e.type){case z.Foundation:x=e.id,A=z.Foundation;break;case z.Cuboid:x=e.id,A=z.Cuboid;break;case z.Wall:case z.Roof:x=e.parentId;break}return{type:z.SolarPanel,pvModelName:n.name,trackerType:Ma.NO_TRACKER,relativeAzimuth:u??0,tiltAngle:c??0,orientation:a??ci.landscape,drawSunBeam:!1,poleHeight:l??1,poleRadius:.05,poleSpacing:s??3,cx:o,cy:i,cz:r,lx:g??(a===ci.landscape?n.length:n.width),ly:y??(a===ci.landscape?n.width:n.length),lz:n.thickness,showLabel:!1,normal:d?d.toArray():[0,0,1],rotation:f||[0,0,0],color:"#fff",frameColor:p??"white",parentType:A,parentId:e.id,foundationId:x,id:ta.generate()}}static makeFlower(e,n,o,i,r){return{type:z.Flower,name:e??$n.YellowFlower,cx:o,cy:i,cz:r,lx:cw.fetchSpread(e??$n.YellowFlower),lz:cw.fetchHeight(e??$n.YellowFlower),normal:[0,1,0],rotation:[0,0,0],parentId:n,id:ta.generate()}}static makeCuboid(e,n,o,i,r){return{type:z.Cuboid,cx:e,cy:n,cz:o?o/2:2,lx:.1,ly:.1,lz:o??4,color:"#808080",faceColors:i??["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:r??[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],stackable:M.getState().actionState.cuboidStackable,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,selected:!1,id:ta.generate()}}static makeFoundation(e,n,o,i,r){return{type:z.Foundation,cx:e,cy:n,cz:o?o/2:.05,lx:0,ly:0,lz:o??.1,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,selected:!1,color:i??"#808080",textureType:r??Or.NoTexture,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:ta.generate()}}static makeParabolicTrough(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y){let A;switch(e.type){case z.Foundation:A=e.id;break}return{type:z.ParabolicTrough,reflectance:n??.9,absorptance:o??.95,opticalEfficiency:i??.7,thermalEfficiency:r??.3,moduleLength:s??3,latusRectum:a??2,relativeAzimuth:0,tiltAngle:0,absorberTubeRadius:.05,drawSunBeam:!1,poleHeight:l??.2,poleRadius:.05,cx:c,cy:u,cz:d,lx:g??2,ly:y??9,lz:.1,showLabel:!1,normal:f?f.toArray():[0,0,1],rotation:p||[0,0,0],parentId:e.id,foundationId:A,id:ta.generate()}}static makeParabolicDish(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y){let A;switch(e.type){case z.Foundation:A=e.id;break}return{type:z.ParabolicDish,reflectance:n??.9,absorptance:o??.95,opticalEfficiency:i??.7,thermalEfficiency:r??.3,moduleLength:3,latusRectum:a??8,relativeAzimuth:0,tiltAngle:0,structureType:s??ef.CentralPole,receiverRadius:.25,receiverPoleRadius:.1,drawSunBeam:!1,poleHeight:l??.2,poleRadius:.2,cx:c,cy:u,cz:d,lx:g??4,ly:y??4,lz:.1,showLabel:!1,normal:f?f.toArray():[0,0,1],rotation:p||[0,0,0],parentId:e.id,foundationId:A,id:ta.generate()}}static makeFresnelReflector(e,n,o,i,r,a,l,s,c,u,d,f){let p;switch(e.type){case z.Foundation:p=e.id;break}return{type:z.FresnelReflector,receiverId:n??"None",reflectance:o??.9,moduleLength:r??3,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:i??.2,poleRadius:.05,cx:a,cy:l,cz:s,lx:d??2,ly:f??9,lz:.1,showLabel:!1,normal:c?c.toArray():[0,0,1],rotation:u||[0,0,0],parentId:e.id,foundationId:p,id:ta.generate()}}static makeWindTurbine(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A,x,C,b){let v;switch(e.type){case z.Foundation:v=e.id;break}return{type:z.WindTurbine,birdSafe:n,bladeColor:o,stripeColor:i,numberOfBlades:r,initialRotorAngle:a,relativeYawAngle:l,pitchAngle:s,bladeRadius:c,bladeTipWidth:.2,bladeRootRadius:u,maximumChordRadius:f,maximumChordLength:d,towerRadius:p,towerHeight:g,hubRadius:y,hubLength:A,cx:x,cy:C,cz:b,lx:p*4,ly:p*4,lz:g+c,normal:[0,0,1],rotation:[0,0,0],parentId:e.id,foundationId:v,id:ta.generate()}}static makeHeliostat(e,n,o,i,r,a,l,s,c,u,d){let f;switch(e.type){case z.Foundation:f=e.id;break}return{type:z.Heliostat,towerId:n??"None",reflectance:o??.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:i??.2,poleRadius:.1,cx:r,cy:a,cz:l,lx:u??2,ly:d??4,lz:.1,showLabel:!1,normal:s?s.toArray():[0,0,1],rotation:c||[0,0,0],parentId:e.id,foundationId:f,id:ta.generate()}}static makePolygon(e,n,o,i,r,a,l){let s;switch(e.type){case z.Foundation:case z.Cuboid:s=e.id;break;case z.Wall:case z.Roof:s=e.parentId;break}const c=.2,u=.2,d=.2;let f=n,p=o;return e.type===z.Cuboid&&r?be.isUnitVectorX(r)?f=i:be.isUnitVectorY(r)&&(p=i):e.type===z.Wall&&(p=i),{type:z.Polygon,cx:f,cy:p,cz:0,lx:2*c,ly:2*u,lz:2*d,color:"#ffffff",normal:r?r.toArray():[0,0,1],rotation:a||[0,0,0],vertices:[{x:Math.max(-.5,f-c),y:Math.max(-.5,p-u)},{x:Math.max(-.5,f-c),y:Math.min(.5,p+u)},{x:Math.min(.5,f+c),y:Math.min(.5,p+u)},{x:Math.min(.5,f+c),y:Math.max(-.5,p-u)}],parentId:e.id,parentType:l,foundationId:s,selected:!1,filled:!0,selectedIndex:-1,id:ta.generate()}}static makeWall(e,n,o,i,r){const a=M.getState().actionState;return{type:z.Wall,cx:n,cy:o,cz:i,lx:0,ly:a.wallThickness??.3,lz:a.wallHeight??5,parapet:a.wallParapet,eavesLength:a.wallEavesLength??.3,rValue:a.wallRValue??3,fill:Hl.Full,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:a.wallHeight-.5,rightTopPartialHeight:a.wallHeight-.5,relativeAngle:0,leftPoint:[],rightPoint:[],leftJoints:[],rightJoints:[],textureType:a.wallTexture??No.Default,color:a.wallColor??"#ffffff",volumetricHeatCapacity:a.wallVolumetricHeatCapacity??.5,wallStructure:a.wallStructure??hc.Default,studSpacing:a.wallStructureSpacing??2,studWidth:a.wallStructureWidth??.1,studColor:a.wallStructureColor??"#ffffff",opacity:a.wallOpacity!==void 0?a.wallOpacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:r?r.toArray():[0,0,1],rotation:[0,0,0],parentId:e.id,foundationId:e.id,id:ta.generate()}}static makeSensor(e,n,o,i,r,a){let l;switch(e.type){case z.Foundation:case z.Cuboid:l=e.id;break;case z.Wall:case z.Roof:l=e.parentId;break}return{type:z.Sensor,cx:n,cy:o,cz:i,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:r?r.toArray():[0,0,1],rotation:a||[0,0,0],parentId:e.id,foundationId:l,parentType:e.type,id:ta.generate()}}static makeLight(e,n,o,i,r,a,l,s,c,u){let d;switch(e.type){case z.Foundation:case z.Cuboid:d=e.id;break;case z.Wall:case z.Roof:d=e.parentId;break}return{type:z.Light,decay:n??2,distance:o??5,intensity:i??3,color:r??"#ffff99",cx:a,cy:l,cz:s,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:c?c.toArray():[0,0,1],rotation:u||[0,0,0],parentId:e.id,foundationId:d,parentType:e.type,id:ta.generate()}}static makeWindow(e,n,o,i,r,a,l=0,s=0){let c,u=0;switch(e.type){case z.Cuboid:c=e.id;break;case z.Wall:c=e.parentId,u=e.ly;break;case z.Roof:c=e.parentId,u=e.thickness;break}const d=M.getState().actionState;return{type:z.Window,cx:n,cy:o,cz:i,lx:l,ly:u,lz:s,leftShutter:d.windowShutterLeft,rightShutter:d.windowShutterRight,shutterColor:d.windowShutterColor,shutterWidth:d.windowShutterWidth,horizontalMullion:d.windowHorizontalMullion,verticalMullion:d.windowVerticalMullion,mullionWidth:d.windowMullionWidth,horizontalMullionSpacing:d.windowHorizontalMullionSpacing,verticalMullionSpacing:d.windowVerticalMullionSpacing,mullionColor:d.windowMullionColor,frame:d.windowFrame,frameWidth:d.windowFrameWidth,sillWidth:In.isTypeRoof(r)?0:d.windowSillWidth,windowType:d.windowType,empty:d.windowEmpty,interior:d.windowInterior,archHeight:d.windowArchHeight,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:d.windowColor??"#ffffff",tint:d.windowTint??"#73D8FF",opacity:d.windowOpacity!==void 0?d.windowOpacity:.5,uValue:d.windowUValue??.5,normal:[0,-1,0],rotation:a?[...a]:[0,0,0],parentId:e.id,parentType:r,foundationId:c,id:ta.generate()}}static makeDoor(e){let n;switch(e.type){case z.Cuboid:n=e.id;break;case z.Wall:n=e.parentId;break}const o=M.getState().actionState;return{type:z.Door,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,doorType:o.doorType,filled:o.doorFilled,interior:o.doorInterior,archHeight:o.doorArchHeight,textureType:o.doorTexture??ii.Default,color:o.doorColor??"#ffffff",uValue:o.doorUValue??.5,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:e.id,foundationId:n,id:ta.generate()}}static makePyramidRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Pyramid,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}static makeGableRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Gable,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate(),ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1]}}static makeHipRoof(e,n,o){const i=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:i.roofCeiling??!1,rise:i.roofRise<0?2:i.roofRise,thickness:i.roofThickness??.2,rValue:i.roofRValue??3,color:i.roofColor??"#454769",sideColor:i.roofSideColor??"#ffffff",textureType:i.roofTexture??Ui.Default,roofType:Vo.Hip,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate(),leftRidgeLength:(o??2)/2,rightRidgeLength:(o??2)/2}}static makeGambrelRoof(e,n){const i=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:i.roofCeiling??!1,rise:i.roofRise<0?2:i.roofRise,thickness:i.roofThickness??.2,rValue:i.roofRValue??3,color:i.roofColor??"#454769",sideColor:i.roofSideColor??"#ffffff",textureType:i.roofTexture??Ui.Default,roofType:Vo.Gambrel,roofStructure:yc.Default,wallsId:[...e],topRidgePoint:[0,1],frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}static makeMansardRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Mansard,roofStructure:yc.Default,wallsId:[...e],ridgeWidth:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}}const Z6t=t=>t.solarPanelArrayLayoutParams.pvModelName,eAt=t=>t.solarPanelArrayLayoutParams.rowAxis,tAt=t=>t.solarPanelArrayLayoutParams.rowsPerRack,nAt=t=>t.solarPanelArrayLayoutParams.interRowSpacing,oAt=t=>t.solarPanelArrayLayoutParams.margin,iAt=t=>t.solarPanelArrayLayoutParams.poleHeight,rAt=t=>t.solarPanelArrayLayoutParams.poleSpacing,aAt=t=>t.solarPanelArrayLayoutParams.tiltAngle,lAt=t=>t.solarPanelArrayLayoutParams.orientation,fq=t=>t.viewState.navigationView,ss=t=>t.viewState.shadowEnabled,hq=t=>t.viewState.shadowCameraFar,pq=t=>t.viewState.solarPanelShininess,uBe=t=>t.viewState.windowShininess,X2=t=>t.viewState.heatFluxScaleFactor,q9=t=>t.viewState.heatFluxColor,$9=t=>t.viewState.heatFluxWidth,wf=t=>t.viewState.solarRadiationHeatMapMaxValue,U1e=t=>t.viewState.solarRadiationHeatMapReflectionOnly,B1e=t=>t.viewState.axes,dBe=t=>t.viewState.ambientLightIntensity,fBe=t=>t.viewState.directLightIntensity,hBe=t=>t.viewState.theme,pBe=t=>t.viewState.showAzimuthAngle,gBe=t=>t.viewState.showElevationAngle,mBe=t=>t.viewState.showZenithAngle,yBe=t=>t.viewState.autoRotate,ABe=t=>t.viewState.hideAddress,sA=t=>t.viewState.groundImage,sAt=t=>t.viewState.groundImageType,wBe=t=>t.viewState.groundColor,vBe=t=>t.viewState.waterSurface,hu=t=>t.viewState.orthographic,cAt=t=>t.viewState.enableRotate,uAt=t=>t.viewState.cameraPosition,dAt=t=>t.viewState.cameraZoom,xBe=t=>t.viewState.heliodon,bBe=t=>t.viewState.showSunAngles,j1e=t=>t.viewState.mapZoom,fAt=t=>t.viewState.mapTilt,SBe=t=>t.viewState.mapType,Y1e=t=>t.viewState.showSiteInfoPanel,gq=t=>t.viewState.showDesignInfoPanel,TBe=t=>t.viewState.showInstructionPanel,PBe=t=>t.viewState.showHeliodonPanel,hAt=t=>t.viewState.heliodonPanelX,pAt=t=>t.viewState.heliodonPanelY,gAt=t=>t.viewState.showMapPanel,mAt=t=>t.viewState.mapPanelX,yAt=t=>t.viewState.mapPanelY,AAt=t=>t.viewState.showWeatherPanel,wAt=t=>t.viewState.weatherPanelRect,vAt=t=>t.viewState.showDiurnalTemperaturePanel,xAt=t=>t.viewState.diurnalTemperaturePanelRect,CBe=t=>t.viewState.showStickyNotePanel,bAt=t=>t.viewState.stickyNotePanelRect,SAt=t=>t.viewState.showDailyBuildingEnergyPanel,TAt=t=>t.viewState.dailyBuildingEnergyPanelRect,PAt=t=>t.viewState.showYearlyBuildingEnergyPanel,CAt=t=>t.viewState.yearlyBuildingEnergyPanelRect,RBe=t=>t.viewState.showDailyLightSensorPanel,RAt=t=>t.viewState.dailyLightSensorPanelRect,HAt=t=>t.viewState.showYearlyLightSensorPanel,MAt=t=>t.viewState.yearlyLightSensorPanelRect,IAt=t=>t.viewState.yearlyLightSensorPanelShowDaylight,zAt=t=>t.viewState.yearlyLightSensorPanelShowClearness,HBe=t=>t.viewState.showDailyPvYieldPanel,DAt=t=>t.viewState.dailyPvYieldPanelRect,EAt=t=>t.viewState.showYearlyPvYieldPanel,kAt=t=>t.viewState.yearlyPvYieldPanelRect,FAt=t=>t.viewState.showSolarPanelVisibilityResultsPanel,LAt=t=>t.viewState.visibilityResultsPanelRect,MBe=t=>t.viewState.showDailyParabolicTroughYieldPanel,WAt=t=>t.viewState.dailyParabolicTroughYieldPanelRect,NAt=t=>t.viewState.showYearlyParabolicTroughYieldPanel,UAt=t=>t.viewState.yearlyParabolicTroughYieldPanelRect,IBe=t=>t.viewState.showDailyParabolicDishYieldPanel,BAt=t=>t.viewState.dailyParabolicDishYieldPanelRect,jAt=t=>t.viewState.showYearlyParabolicDishYieldPanel,YAt=t=>t.viewState.yearlyParabolicDishYieldPanelRect,zBe=t=>t.viewState.showDailyFresnelReflectorYieldPanel,OAt=t=>t.viewState.dailyFresnelReflectorYieldPanelRect,_At=t=>t.viewState.showYearlyFresnelReflectorYieldPanel,VAt=t=>t.viewState.yearlyFresnelReflectorYieldPanelRect,DBe=t=>t.viewState.showDailyHeliostatYieldPanel,GAt=t=>t.viewState.dailyHeliostatYieldPanelRect,XAt=t=>t.viewState.showYearlyHeliostatYieldPanel,JAt=t=>t.viewState.yearlyHeliostatYieldPanelRect,EBe=t=>t.viewState.showDailyUpdraftTowerYieldPanel,KAt=t=>t.viewState.dailyUpdraftTowerYieldPanelRect,qAt=t=>t.viewState.showYearlyUpdraftTowerYieldPanel,$At=t=>t.viewState.yearlyUpdraftTowerYieldPanelRect,QAt=t=>t.viewState.showEvolutionPanel,ZAt=t=>t.viewState.evolutionPanelRect,Xs=t=>t.world.latitude,wb=t=>t.world.longitude,Ya=t=>t.world.date,O1e=t=>t.world.leafDayOfYear1,_1e=t=>t.world.leafDayOfYear2,e4t=t=>t.world.ground,mq=t=>t.world.address,t4t=t=>t.world.countryCode,n4t=t=>t.world.airAttenuationCoefficient,o4t=t=>t.world.airConvectiveCoefficient,kBe=t=>t.world.timesPerHour,mH=t=>t.world.daysPerYear,i4t=t=>t.world.discretization,FBe=t=>t.world.diurnalTemperatureModel,KL=t=>t.world.highestTemperatureTimeInMinutes,r4t=t=>t.world.solarRadiationHeatmapGridCellSize,a4t=t=>t.world.pvGridCellSize,l4t=t=>t.world.solarPanelVisibilityGridCellSize,s4t=t=>t.world.cspTimesPerHour,qL=t=>t.world.cspDaysPerYear,c4t=t=>t.world.cspGridCellSize,u4t=t=>t.world.sutTimesPerHour,LBe=t=>t.world.sutDaysPerYear,d4t=t=>t.world.sutGridCellSize,V1e=t=>t.world.noAnimationForHeatmapSimulation,f4t=t=>t.world.noAnimationForThermalSimulation,G1e=t=>t.world.noAnimationForSensorDataCollection,X1e=t=>t.world.noAnimationForSolarPanelSimulation,WBe=t=>t.world.noAnimationForSolarUpdraftTowerSimulation,dn=t=>t.set,Eg=t=>t.user,h4t=t=>t.userCount,NBe=t=>t.shadowMapSize,p4t=t=>t.showEconomicsPanel,g4t=t=>t.showNavigationPanel,m4t=t=>t.showShadowSettings,y4t=t=>t.minimumNavigationMoveSpeed,A4t=t=>t.minimumNavigationTurnSpeed,w4t=t=>t.navigationMoveSpeed,v4t=t=>t.navigationTurnSpeed,n1=t=>t.getHeatmap,J1e=t=>t.setHeatmap,UBe=t=>t.clearHeatmaps,K1e=t=>t.flagOfDailySimulation,vb=t=>t.hourlyHeatExchangeArrayMap,x4t=t=>t.setHourlyHeatExchangeArray,b4t=t=>t.hourlySolarHeatGainArrayMap,S4t=t=>t.setHourlySolarHeatGainArray,T4t=t=>t.hourlySolarPanelOutputArrayMap,P4t=t=>t.setHourlySolarPanelOutputArray,q1e=t=>t.getRoofSegmentVertices,$L=t=>t.getRoofSegmentVerticesWithoutOverhang,BBe=t=>t.changed,C4t=t=>t.setChanged,R4t=t=>t.setSkipChange,ro=t=>t.applyCount,oo=t=>t.setApplyCount,ca=t=>t.revertApply,Jn=t=>t.elements,H4t=t=>t.notes,C7=t=>t.pvModules,M4t=t=>t.loadPvModules,J2=t=>t.getPvModule,pu=t=>t.floatingWindowOpacity,bc=t=>t.selectedFloatingWindow,Sc=t=>t.language,I4t=t=>t.locale,ha=t=>t.loggable,z4t=t=>t.actionInfo,D4t=t=>t.currentUndoable,yq=t=>t.openModelsMap,E4t=t=>t.modelsMapLatitude,k4t=t=>t.modelsMapLongitude,F4t=t=>t.modelsMapZoom,L4t=t=>t.modelsMapTilt,$1e=t=>t.modelsMapType,jBe=t=>t.modelsMapWeatherStations,W4t=t=>t.showCloudFileTitleDialog,YBe=t=>t.showCloudFileTitleDialogFlag,yH=t=>t.cloudFile,N4t=t=>t.latestModelSite,OBe=t=>t.modelSites,_Be=t=>t.peopleModels,U4t=t=>t.saveAccountSettingsFlag,B4t=t=>t.saveCloudFileFlag,j4t=t=>t.createProjectFlag,Y4t=t=>t.saveProjectAsFlag,O4t=t=>t.curateDesignToProjectFlag,_4t=t=>t.showProjectsFlag,V4t=t=>t.updateProjectsFlag,G4t=t=>t.modelsMapFlag,X4t=t=>t.leaderboardFlag,J4t=t=>t.showLeaderboard,K4t=t=>t.publishOnModelsMapFlag,q4t=t=>t.listCloudFilesFlag,$4t=t=>t.localContentToImportAfterCloudFileUpdate,Q4t=t=>t.localFileName,Z4t=t=>t.createNewFileFlag,ewt=t=>t.openLocalFileFlag,VBe=t=>t.saveLocalFileDialogVisible,AH=t=>t.fileChanged,twt=t=>t.undoManager,En=t=>t.addUndoable,Q1e=t=>t.importContent,GBe=t=>t.exportContent,nwt=t=>t.clearContent,XBe=t=>t.createEmptyFile,owt=t=>t.aabb,JBe=t=>t.animateSun,iwt=t=>t.animate24Hours,QL=t=>t.runDailyThermalSimulation,rwt=t=>t.pauseDailyThermalSimulation,Aq=t=>t.runYearlyThermalSimulation,awt=t=>t.pauseYearlyThermalSimulation,lwt=t=>t.clearDailySimulationResultsFlag,swt=t=>t.clearYearlySimulationResultsFlag,ZL=t=>t.runDynamicSimulation,Z1e=t=>t.runStaticSimulation,cwt=t=>t.pauseSimulation,K2=t=>t.runEvolution,wq=t=>t.pauseEvolution,vq=t=>t.objectiveEvaluationIndex,wH=t=>t.evolutionMethod,uwt=t=>t.updateSceneRadiusFlag,KBe=t=>t.updateSceneRadius,mh=t=>t.sceneRadius,dwt=t=>t.cameraDirection,ege=t=>t.getCameraDirection,jn=t=>t.getElementById,cA=t=>t.getFoundation,rr=t=>t.getParent,vH=t=>t.getChildren,Q9=t=>t.getChildrenOfType,Z9=t=>t.selectedElement,fwt=t=>t.selectedElementIdSet,xb=t=>t.getSelectedElement,tge=t=>t.overlapWithSibling,qBe=t=>t.selectedSideIndex,e3=t=>t.setElementPosition,nge=t=>t.setElementSize,hwt=t=>t.setElementNormal,pwt=t=>t.updateElementLockById,gwt=t=>t.updateElementReferenceById,mwt=t=>t.updateElementLabelById,ywt=t=>t.updateElementShowLabelById,$Be=t=>t.updateElementCxById,QBe=t=>t.updateElementCyById,Awt=t=>t.updateElementCzById,wwt=t=>t.updateElementCzForAll,t3=t=>t.updateElementLxById,xq=t=>t.updateElementLxAboveFoundation,eW=t=>t.updateElementLxForAll,R7=t=>t.updateElementLyById,bq=t=>t.updateElementLyAboveFoundation,tW=t=>t.updateElementLyForAll,oge=t=>t.updateElementLzById,vwt=t=>t.updateElementLzForAll,ZBe=t=>t.updateElementColorById,xwt=t=>t.updateElementColorOnSurface,bwt=t=>t.updateElementColorAboveFoundation,eje=t=>t.updateElementColorForAll,Swt=t=>t.updateElementLineColorById,Twt=t=>t.updateElementLineColorOnSurface,Pwt=t=>t.updateElementLineColorAboveFoundation,Cwt=t=>t.updateElementLineColorForAll,Rwt=t=>t.updateElementLineWidthById,Hwt=t=>t.updateElementLineWidthOnSurface,Mwt=t=>t.updateElementLineWidthAboveFoundation,Iwt=t=>t.updateElementLineWidthForAll,ige=t=>t.updateElementRotationById,zwt=t=>t.updateElementRotationForAll,Js=t=>t.foundationActionScope,Dwt=t=>t.setFoundationActionScope,xH=t=>t.polygonActionScope,bH=t=>t.setPolygonActionScope,tje=t=>t.updatePolygonVertexPositionById,H7=t=>t.updatePolygonVerticesById,SH=t=>t.cuboidActionScope,TH=t=>t.setCuboidActionScope,o1=t=>t.solarPanelActionScope,i1=t=>t.setSolarPanelActionScope,nW=t=>t.updateSolarCollectorDailyYieldById,oW=t=>t.updateSolarCollectorYearlyYieldById,rge=t=>t.updateSolarPanelTiltAngleById,nje=t=>t.updateSolarCollectorDrawSunBeamById,oje=t=>t.updateSolarCollectorDrawSunBeamAboveFoundation,ije=t=>t.updateSolarCollectorDrawSunBeamForAll,age=t=>t.updateSolarCollectorRelativeAzimuthById,Ewt=t=>t.updateSolarCollectorRelativeAzimuthOnSurface,kwt=t=>t.updateSolarCollectorRelativeAzimuthAboveFoundation,Fwt=t=>t.updateSolarCollectorRelativeAzimuthForAll,Lwt=t=>t.updateSolarCollectorXById,Wwt=t=>t.updateSolarCollectorXAboveFoundation,Nwt=t=>t.updateSolarCollectorXForAll,Uwt=t=>t.updateSolarCollectorYById,Bwt=t=>t.updateSolarCollectorYAboveFoundation,jwt=t=>t.updateSolarCollectorYForAll,iW=t=>t.updateSolarCollectorPoleHeightById,Ywt=t=>t.updateSolarCollectorPoleHeightOnSurface,rW=t=>t.updateSolarCollectorPoleHeightAboveFoundation,aW=t=>t.updateSolarCollectorPoleHeightForAll,rje=t=>t.updateSolarCollectorPoleRadiusById,aje=t=>t.updateSolarCollectorPoleRadiusAboveFoundation,lje=t=>t.updateSolarCollectorPoleRadiusForAll,Sq=t=>t.updateCspReflectanceById,Tq=t=>t.updateCspReflectanceAboveFoundation,Pq=t=>t.updateCspReflectanceForAll,sje=t=>t.updateParabolicCollectorAbsorptanceById,cje=t=>t.updateParabolicCollectorAbsorptanceAboveFoundation,uje=t=>t.updateParabolicCollectorAbsorptanceForAll,dje=t=>t.updateParabolicCollectorOpticalEfficiencyById,fje=t=>t.updateParabolicCollectorOpticalEfficiencyAboveFoundation,hje=t=>t.updateParabolicCollectorOpticalEfficiencyForAll,pje=t=>t.updateParabolicCollectorThermalEfficiencyById,gje=t=>t.updateParabolicCollectorThermalEfficiencyAboveFoundation,mje=t=>t.updateParabolicCollectorThermalEfficiencyForAll,uA=t=>t.parabolicTroughActionScope,dA=t=>t.setParabolicTroughActionScope,bb=t=>t.fresnelReflectorActionScope,Sb=t=>t.setFresnelReflectorActionScope,Tb=t=>t.heliostatActionScope,Pb=t=>t.setHeliostatActionScope,yje=t=>t.updateSolarReceiverById,Aje=t=>t.updateSolarReceiverAboveFoundation,wje=t=>t.updateSolarReceiverForAll,fA=t=>t.parabolicDishActionScope,hA=t=>t.setParabolicDishActionScope,vje=t=>t.updateParabolaLatusRectumById,xje=t=>t.updateParabolaLatusRectumAboveFoundation,bje=t=>t.updateParabolaLatusRectumForAll,Sje=t=>t.updateModuleLengthById,Tje=t=>t.updateModuleLengthAboveFoundation,Pje=t=>t.updateModuleLengthForAll,n3=t=>t.windTurbineActionScope,o3=t=>t.setWindTurbineActionScope,Cje=t=>t.copyElementById,hp=t=>t.removeElementById,Owt=t=>t.clearDeletedElements,_wt=t=>t.countElementsByReferenceId,lge=t=>t.removeElementsByReferenceId,Rje=t=>t.pasteElementsToPoint,Vwt=t=>t.pasteElementsByKey,Hje=t=>t.elementsToPaste,Vc=t=>t.selectMe,lW=t=>t.selectNone,sge=t=>t.addElement,Cq=t=>t.objectTypeToAdd,Gwt=t=>t.actionModeLock,kg=t=>t.countElementsByType,Mje=t=>t.countSolarStructuresByType,Xwt=t=>t.countObservers,Jwt=t=>t.countSolarPanelsOnRack,Kwt=t=>t.selectedElementAngle,qwt=t=>t.waiting,vf=t=>t.simulationInProgress,cge=t=>t.simulationPaused,Ije=t=>t.evolutionInProgress,zje=t=>t.evolutionPaused,$wt=t=>t.contextMenuObjectType,Qwt=t=>t.enableFineGrid,Zwt=t=>t.setEnableFineGrid,e7t=t=>t.showCloudFilePanel,Dje=t=>t.projectState.title,Eje=t=>t.projectState.owner,t7t=t=>t.projectState.description,n7t=t=>t.projectState.designs,o7t=t=>t.projectState.type,kje=t=>t.projectState.selectedProperty,i7t=t=>t.projectState.dataColoring,r7t=t=>t.projectState.thumbnailWidth,a7t=t=>t.projectState.xAxisNameScatterPlot,l7t=t=>t.projectState.yAxisNameScatterPlot,s7t=t=>t.projectState.dotSizeScatterPlot,c7t=t=>t.projectState.sortDescending,u7t=t=>t.projectState.filters,d7t=t=>t.projectState.ranges,f7t=t=>t.projectState.hiddenParameters,Rq=t=>t.projectView,h7t=t=>t.showProjectListPanel,p7t=t=>t.showModelsGallery,g7t=t=>t.showAccountSettingsPanel,m7t=t=>t.showLikesPanel,y7t=t=>t.showPublishedModelsPanel,A7t=t=>t.weatherModel,Fje=t=>t.setWeatherModel,uge=t=>t.weatherData,w7t=t=>t.loadWeatherData,v7t=t=>t.loadHorizontalSolarRadiationData,x7t=t=>t.getHorizontalSolarRadiation,b7t=t=>t.loadVerticalSolarRadiationData,S7t=t=>t.getVerticalSolarRadiation,Lje=t=>t.getClosestCity,M7=t=>t.sunlightDirection,T7t=t=>t.setSunlightDirection,cs=t=>t.showSolarRadiationHeatmap,i3=t=>t.showHeatFluxes,P7t=t=>t.runSolarPanelVisibilityAnalysis,C7t=t=>t.solarPanelVisibilityResults,Wje=t=>t.runDailySimulationForSolarPanels,R7t=t=>t.runDailySimulationForSolarPanelsLastStep,Nje=t=>t.runYearlySimulationForSolarPanels,H7t=t=>t.runYearlySimulationForSolarPanelsLastStep,M7t=t=>t.pauseDailySimulationForSolarPanels,I7t=t=>t.pauseYearlySimulationForSolarPanels,z7t=t=>t.dailyPvYield,Uje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyPvIndividualOutputs},D7t=t=>t.setDailyPvYield,E7t=t=>t.yearlyPvYield,Bje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyPvIndividualOutputs},k7t=t=>t.setYearlyPvYield,jje=t=>t.solarPanelLabels,F7t=t=>t.setSolarPanelLabels,Yje=t=>t.setTotalBuildingHeater,Oje=t=>t.setTotalBuildingAc,_je=t=>t.setTotalBuildingSolarPanel,L7t=t=>t.runDailySimulationForParabolicTroughs,W7t=t=>t.runYearlySimulationForParabolicTroughs,N7t=t=>t.pauseDailySimulationForParabolicTroughs,U7t=t=>t.pauseYearlySimulationForParabolicTroughs,B7t=t=>t.dailyParabolicTroughYield,Vje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyParabolicTroughIndividualOutputs},j7t=t=>t.setDailyParabolicTroughYield,Y7t=t=>t.yearlyParabolicTroughYield,Gje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyParabolicTroughIndividualOutputs},O7t=t=>t.setYearlyParabolicTroughYield,Xje=t=>t.parabolicTroughLabels,_7t=t=>t.setParabolicTroughLabels,V7t=t=>t.runDailySimulationForFresnelReflectors,G7t=t=>t.runYearlySimulationForFresnelReflectors,X7t=t=>t.pauseDailySimulationForFresnelReflectors,J7t=t=>t.pauseYearlySimulationForFresnelReflectors,K7t=t=>t.dailyFresnelReflectorYield,Jje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyFresnelReflectorIndividualOutputs},q7t=t=>t.setDailyFresnelReflectorYield,$7t=t=>t.yearlyFresnelReflectorYield,Kje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyFresnelReflectorIndividualOutputs},Q7t=t=>t.setYearlyFresnelReflectorYield,qje=t=>t.fresnelReflectorLabels,Z7t=t=>t.setFresnelReflectorLabels,e8t=t=>t.runDailySimulationForHeliostats,t8t=t=>t.runYearlySimulationForHeliostats,n8t=t=>t.pauseDailySimulationForHeliostats,o8t=t=>t.pauseYearlySimulationForHeliostats,i8t=t=>t.dailyHeliostatYield,$je=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyHeliostatIndividualOutputs},r8t=t=>t.setDailyHeliostatYield,a8t=t=>t.yearlyHeliostatYield,Qje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyHeliostatIndividualOutputs},l8t=t=>t.setYearlyHeliostatYield,Zje=t=>t.heliostatLabels,s8t=t=>t.setHeliostatLabels,eYe=t=>t.runDailySimulationForUpdraftTower,tYe=t=>t.runYearlySimulationForUpdraftTower,c8t=t=>t.pauseDailySimulationForUpdraftTower,u8t=t=>t.pauseYearlySimulationForUpdraftTower,d8t=t=>t.dailyUpdraftTowerResults,f8t=t=>t.dailyUpdraftTowerYield,h8t=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyUpdraftTowerIndividualOutputs},p8t=t=>t.setDailyUpdraftTowerResults,g8t=t=>t.setDailyUpdraftTowerYield,m8t=t=>t.yearlyUpdraftTowerYield,y8t=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyUpdraftTowerIndividualOutputs},A8t=t=>t.setYearlyUpdraftTowerYield,nYe=t=>t.updraftTowerLabels,w8t=t=>t.setUpdraftTowerLabels,v8t=t=>t.runDailySimulationForParabolicDishes,x8t=t=>t.runYearlySimulationForParabolicDishes,b8t=t=>t.pauseDailySimulationForParabolicDishes,S8t=t=>t.pauseYearlySimulationForParabolicDishes,T8t=t=>t.dailyParabolicDishYield,oYe=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyParabolicDishIndividualOutputs},P8t=t=>t.setDailyParabolicDishYield,C8t=t=>t.yearlyParabolicDishYield,iYe=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyParabolicDishIndividualOutputs},R8t=t=>t.setYearlyParabolicDishYield,rYe=t=>t.parabolicDishLabels,H8t=t=>t.setParabolicDishLabels,aYe=t=>t.runDailyLightSensor,M8t=t=>t.pauseDailyLightSensor,lYe=t=>t.runYearlyLightSensor,I8t=t=>t.pauseYearlyLightSensor,z8t=t=>t.dailyLightSensorData,D8t=t=>t.setDailyLightSensorData,E8t=t=>t.yearlyLightSensorData,k8t=t=>t.setYearlyLightSensorData,sYe=t=>t.sensorLabels,F8t=t=>t.setSensorLabels,ey=t=>t.hoveredHandle,Cb=t=>t.moveHandleType,yh=t=>t.resizeHandleType,dge=t=>t.getResizeHandlePosition,sW=t=>t.rotateHandleType,L8t=t=>t.resizeAnchor,fge=t=>t.isAddingElement,Hq=t=>t.addedFoundationId,W8t=t=>t.deletedFoundationId,Mq=t=>t.addedCuboidId,N8t=t=>t.deletedCuboidId,cYe=t=>t.addedWallId,U8t=t=>t.deletedWallId,B8t=t=>t.deletedRoofId,hge=t=>t.deletedRoofIdSet,uYe=t=>t.autoDeletedRoofIdSet,j8t=t=>t.autoDeletedRoofs,dYe=t=>t.autoDeletedChild,fYe=t=>t.groupActionMode,Y8t=t=>t.groupActionUpdateFlag,O8t=t=>t.addedWindowId,_8t=t=>t.addedDoorId,V8t=t=>t.updateWallMapOnFoundationFlag,r3=t=>t.wallActionScope,ty=t=>t.roofActionScope,cW=t=>t.windowActionScope,I7=t=>t.doorActionScope,hYe=t=>t.setRoofActionScope,pge=t=>t.updateWallLeftJointsById,gge=t=>t.updateWallRightJointsById,G8t=t=>t.updateWallLeftPointById,Iq=t=>t.economicsParams,X8t=t=>t.fittestIndividualResults,zq=t=>t.setFittestIndividualResults,uW=t=>t.variableLabels,Dq=t=>t.setVariableLabels,pA=t=>t.evolutionaryAlgorithmState,Eq=t=>t.solarPanelArrayLayoutConstraints,J8t=t=>t.geneticAlgorithmWizardSelectedTab,K8t=t=>t.particleSwarmOptimizationWizardSelectedTab,q8t=t=>t.countHeatmapCells,Ah=t=>t.setPrimitiveStore,mge=Se.memo(({hx:t,hy:e,hz:n,position:o,rotation:i})=>{const r=M(Qwt),a=M(sA),l=a?"#888888":"#444444",s=Math.max(t,e),[c,u]=m.useState(Math.floor(s/50)+1),[d,f]=m.useState(.5);m.useEffect(()=>{r?(u((Math.floor(s/25)+1)*l9),f(a?.05:.1)):(u((Math.floor(s/25)+1)*g6),f((a?.05:.1)*V5))},[r,s,a]);const p=m.useMemo(()=>{const y=[0];for(let A=c;A<=t;A+=c)y.push(A),y.push(-A);return y},[c,t]),g=m.useMemo(()=>{const y=[0];for(let A=c;A<=e;A+=c)y.push(A),y.push(-A);return y},[c,e]);return h.jsxs("group",{position:o??[0,0,n+.01],rotation:i,children:[p.map(y=>h.jsx(Fn,{points:[[y,-e,0],[y,e,0]],color:l,lineWidth:d,userData:{unintersectable:!0}},y)),g.map(y=>h.jsx(Fn,{points:[[-t,y,0],[t,y,0]],color:l,lineWidth:d,userData:{unintersectable:!0}},y))]})}),Qoe=.2,$8t=({x:t,z:e,handleType:n,scale:o=[1,1,1]})=>{const i=M(dn),r=M(yh),a=m.useRef(null),[l,s]=m.useState("white"),[c,u,d]=o;return m.useEffect(()=>{s(r===n?"red":"white")},[r]),h.jsx(Ei,{ref:a,name:n,args:[Qoe*c,Qoe*u,Qoe*d],position:[t,0,e],onPointerEnter:()=>{s("red"),i(f=>{f.hoveredHandle=n})},onPointerLeave:()=>{r===null&&s("white"),i(f=>{f.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{attach:"material",color:l})})},mv=Se.memo($8t),Q8t=({handleType:t})=>{const e=M(Cb),n=m.useRef(null),[o,i]=m.useState("white");return m.useEffect(()=>{e===yo.Mid?i("red"):i("white")},[e]),h.jsx(ts,{ref:n,name:t,args:[.1,6,6],onPointerEnter:()=>{i("red")},onPointerLeave:()=>{e===null&&i("white")},children:h.jsx("meshBasicMaterial",{attach:"material",color:o})})},Z8t=Se.memo(Q8t);class Zoe{constructor(e){this.top=0,this.array=new Float32Array(e)}write(e){this.array[this.top++]=e.x,this.array[this.top++]=e.y,this.array[this.top++]=e.z}}class evt{constructor(e){this.top=0,this.array=new Float32Array(e)}write(e){this.array[this.top++]=e.x,this.array[this.top++]=e.y}}let AT=class b_{constructor(e){this.plane=null,this.front=null,this.back=null,this.polygons=[],e&&this.build(e)}clone(){const e=new b_;return e.plane=this.plane&&this.plane.clone(),e.front=this.front&&this.front.clone(),e.back=this.back&&this.back.clone(),e.polygons=this.polygons.map(n=>n.clone()),e}invert(){for(let n=0;nDv.EPSILON?1:0;u|=g,d.push(g)}switch(u){case 0:(this.normal.dot(e.plane.normal)>0?n:o).push(e);break;case 1:i.push(e);break;case 2:r.push(e);break;case 3:{const f=[],p=[];for(let g=0;g=3&&i.push(new eG(f,e.shared)),p.length>=3&&r.push(new eG(p,e.shared));break}}}static fromPoints(e,n,o){const i=new p2().copy(n).sub(e).cross(new p2().copy(o).sub(e)).normalize();return new Dv(i.clone(),i.dot(e))}}Dv.EPSILON=1e-5;let eG=class pYe{constructor(e,n){this.vertices=e,this.shared=n,this.plane=Dv.fromPoints(e[0].pos,e[1].pos,e[2].pos)}clone(){return new pYe(this.vertices.map(e=>e.clone()),this.shared)}flip(){this.vertices.reverse().map(e=>e.flip()),this.plane.flip()}};class tG{constructor(e,n,o,i){this.pos=new p2().copy(e),this.normal=new p2().copy(n),this.uv=new p2().copy(o),this.uv.z=0,i&&(this.color=new p2().copy(i))}clone(){return new tG(this.pos,this.normal,this.uv,this.color)}flip(){this.normal.negate()}interpolate(e,n){return new tG(this.pos.clone().lerp(e.pos,n),this.normal.clone().lerp(e.normal,n),this.uv.clone().lerp(e.uv,n),this.color&&e.color&&this.color.clone().lerp(e.color,n))}}class ac{constructor(){this.polygons=[]}static fromPolygons(e){const n=new ac;return n.polygons=e,n}static fromGeometry(e,n){let o=[];const i=e.attributes.position,r=e.attributes.normal,a=e.attributes.uv,l=e.attributes.color,s=e.groups;let c;if(e.index)c=e.index.array;else{c=new Array(i.array.length/i.itemSize|0);for(let d=0;d0)for(const y of s)d>=y.start&&d!Number.isNaN(d.plane.normal.x)))}static toGeometry(e,n){let o=0;const i=e.polygons;for(const p of i)o+=p.vertices.length-2;const r=new Ur,a=new Zoe(o*3*3),l=new Zoe(o*3*3),s=new evt(o*2*3);let c;const u=[],d=[];for(const p of i){const g=p.vertices,y=g.length;p.shared!==void 0&&(u[p.shared]||(u[p.shared]=[])),y&&g[0].color!==void 0&&(c||(c=new Zoe(o*3*3)));for(let A=3;A<=y;A++)(p.shared===void 0?d:u[p.shared]).push(a.top/3,a.top/3+1,a.top/3+2),a.write(g[0].pos),a.write(g[A-2].pos),a.write(g[A-1].pos),l.write(g[0].normal),l.write(g[A-2].normal),l.write(g[A-1].normal),s&&(s.write(g[0].uv),s.write(g[A-2].uv),s.write(g[A-1].uv)),c&&(c.write(g[0].color),c.write(g[A-2].color),c.write(g[A-1].color))}r.setAttribute("position",new qa(a.array,3)),r.setAttribute("normal",new qa(l.array,3)),s&&r.setAttribute("uv",new qa(s.array,2)),c&&r.setAttribute("color",new qa(c.array,3));for(let p=0;pn.clone()).filter(n=>Number.isFinite(n.plane.w)),e}toPolygons(){return this.polygons}union(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.clipTo(o),o.clipTo(n),o.invert(),o.clipTo(n),o.invert(),n.build(o.allPolygons()),ac.fromPolygons(n.allPolygons())}subtract(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.invert(),n.clipTo(o),o.clipTo(n),o.invert(),o.clipTo(n),o.invert(),n.build(o.allPolygons()),n.invert(),ac.fromPolygons(n.allPolygons())}intersect(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.invert(),o.clipTo(n),o.invert(),n.clipTo(o),o.clipTo(n),n.build(o.allPolygons()),n.invert(),ac.fromPolygons(n.allPolygons())}inverse(){const e=this.clone();for(const n of e.polygons)n.flip();return e}toMesh(e,n){return ac.toMesh(this,e,n)}toGeometry(e){return ac.toGeometry(this,e)}}const gt=vK()((t,e)=>{const n=o=>t(LP(o));return{set:o=>{try{n(o)}catch(i){console.log(i)}},setPrimitiveStore(o,i){n(r=>{r[o]!==void 0?r[o]=i:console.error(`key ${o} is not defined in PrimitiveStoreState`)})},changed:!1,setChanged(o){n(i=>{i.changed=o})},skipChange:!0,setSkipChange(o){n(i=>{i.skipChange=o})},localFileName:"aladdin.ala",createNewFileFlag:!1,setCreateNewFileFlag(o){n(i=>{i.createNewFileFlag=o})},openLocalFileFlag:!1,setOpenLocalFileFlag(o){n(i=>{i.openLocalFileFlag=o})},waiting:!1,contextMenuFlag:!1,updateContextMenu(){n(o=>{o.contextMenuFlag=!o.contextMenuFlag})},showEconomicsPanel:!1,showNavigationPanel:!1,showShadowSettings:!1,saveAccountSettingsFlag:!1,saveCloudFileFlag:!1,setSaveCloudFileFlag(o){n(i=>{i.saveCloudFileFlag=o})},listCloudFilesFlag:!1,saveLocalFileDialogVisible:!1,modelsMapFlag:!1,leaderboardFlag:!1,showLeaderboard:!1,publishOnModelsMapFlag:!1,modelsMapWeatherStations:!1,createProjectFlag:!1,saveProjectAsFlag:!1,curateDesignToProjectFlag:!1,showProjectsFlag:!1,updateProjectsFlag:!1,showProjectListPanel:!1,projectImagesUpdateFlag:!1,projectType:Tr.SOLAR_PANEL_ARRAY,projectTitle:null,projectDescription:null,userCount:0,showCloudFilePanel:!1,openModelsMap:!1,showModelsGallery:!1,showAccountSettingsPanel:!1,showLikesPanel:!1,showPublishedModelsPanel:!1,animateSun:!1,simulationInProgress:!1,simulationPaused:!1,evolutionInProgress:!1,evolutionPaused:!1,runEvolution:!1,pauseEvolution:!1,objectiveEvaluationIndex:0,runDailyThermalSimulation:!1,pauseDailyThermalSimulation:!1,runYearlyThermalSimulation:!1,pauseYearlyThermalSimulation:!1,clearDailySimulationResultsFlag:!1,clearYearlySimulationResultsFlag:!1,runDynamicSimulation:!1,runStaticSimulation:!1,pauseSimulation:!1,runDailySimulationForParabolicDishes:!1,runYearlySimulationForParabolicDishes:!1,pauseDailySimulationForParabolicDishes:!1,pauseYearlySimulationForParabolicDishes:!1,runDailySimulationForParabolicTroughs:!1,runYearlySimulationForParabolicTroughs:!1,pauseDailySimulationForParabolicTroughs:!1,pauseYearlySimulationForParabolicTroughs:!1,runDailySimulationForFresnelReflectors:!1,runYearlySimulationForFresnelReflectors:!1,pauseDailySimulationForFresnelReflectors:!1,pauseYearlySimulationForFresnelReflectors:!1,runDailySimulationForHeliostats:!1,runYearlySimulationForHeliostats:!1,pauseDailySimulationForHeliostats:!1,pauseYearlySimulationForHeliostats:!1,runSolarPanelVisibilityAnalysis:!1,runDailySimulationForSolarPanels:!1,pauseDailySimulationForSolarPanels:!1,runYearlySimulationForSolarPanels:!1,pauseYearlySimulationForSolarPanels:!1,runDailySimulationForSolarPanelsLastStep:!1,runYearlySimulationForSolarPanelsLastStep:!1,runDailyLightSensor:!1,pauseDailyLightSensor:!1,runYearlyLightSensor:!1,pauseYearlyLightSensor:!1,runDailySimulationForUpdraftTower:!1,runYearlySimulationForUpdraftTower:!1,pauseDailySimulationForUpdraftTower:!1,pauseYearlySimulationForUpdraftTower:!1,flagOfDailySimulation:!1,showSolarRadiationHeatmap:!1,showHeatFluxes:!1,duringCameraInteraction:!1,navigationMoveSpeed:3,navigationTurnSpeed:3,elementBeingCanceledId:null,showWallIntersectionPlaneId:null,oldParentId:null,oldFoundationId:null,selectedElementId:null,foundationMovedFlag:!1,updateFoundationMovedFlag(){n(o=>{o.foundationMovedFlag=!o.foundationMovedFlag})},isCameraUnderGround:!1}}),bn=vK()((t,e)=>({roofSegmentVerticesMap:new Map,setRoofSegmentVertices(n,o){t(i=>(i.roofSegmentVerticesMap.set(n,[...o]),i))},getRoofSegmentVertices(n){return e().roofSegmentVerticesMap.get(n)},deleteRoofSegmentVertices(n){t(o=>(o.roofSegmentVerticesMap.delete(n),o))},roofSegmentVerticesWithoutOverhangMap:new Map,setRoofSegmentVerticesWithoutOverhang(n,o){t(i=>(i.roofSegmentVerticesWithoutOverhangMap.set(n,o),i))},getRoofSegmentVerticesWithoutOverhang(n){return e().roofSegmentVerticesWithoutOverhangMap.get(n)},deleteRoofSegmentVerticesWithoutOverhang(n){t(o=>(o.roofSegmentVerticesWithoutOverhangMap.delete(n),o))},dailyLightSensorData:[],setDailyLightSensorData(n){t({dailyLightSensorData:[...n]})},yearlyLightSensorData:[],setYearlyLightSensorData(n){t({yearlyLightSensorData:[...n]})},sensorLabels:[],setSensorLabels(n){t({sensorLabels:[...n]})},dailyPvYield:[],setDailyPvYield(n){t({dailyPvYield:[...n]}),gt.getState().set(o=>{o.runEvolution&&o.objectiveEvaluationIndex++})},sumDailyPvYield(){let n=0;for(const o of this.dailyPvYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},getDailyPvProfit(){const n=this.sumDailyPvYield(),o=be.countAllSolarPanels();return n*M.getState().economicsParams.electricitySellingPrice-o*M.getState().economicsParams.operationalCostPerUnit},yearlyPvYield:[],setYearlyPvYield(n){t({yearlyPvYield:[...n]}),gt.getState().set(o=>(o.runEvolution&&o.objectiveEvaluationIndex++,o))},sumYearlyPvYield(){var i;let n=0;for(const r of this.yearlyPvYield)for(const a in r)Object.hasOwn(r,a)&&a!=="Month"&&(n+=r[a]);const o=12/(((i=M.getState().world)==null?void 0:i.daysPerYear)??6);return n*o},getYearlyPvProfit(){const n=be.countAllSolarPanels();return this.sumYearlyPvYield()*M.getState().economicsParams.electricitySellingPrice-n*M.getState().economicsParams.operationalCostPerUnit*365},solarPanelLabels:[],setSolarPanelLabels(n){t({solarPanelLabels:[...n]})},solarPanelVisibilityResults:new Map,setSolarPanelVisibilityResult(n,o){t(i=>(i.solarPanelVisibilityResults.set(n,o),i))},clearSolarPanelVisibilityResults(){t({solarPanelVisibilityResults:new Map})},dailyParabolicDishYield:[],setDailyParabolicDishYield(n){t({dailyParabolicDishYield:[...n]})},sumDailyParabolicDishYield(){let n=0;for(const o of this.dailyParabolicDishYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyParabolicDishYield:[],setYearlyParabolicDishYield(n){t({yearlyParabolicDishYield:[...n]})},sumYearlyParabolicDishYield(){let n=0;for(const o of this.yearlyParabolicDishYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},parabolicDishLabels:[],setParabolicDishLabels(n){t({parabolicDishLabels:[...n]})},dailyParabolicTroughYield:[],setDailyParabolicTroughYield(n){t({dailyParabolicTroughYield:[...n]})},sumDailyParabolicTroughYield(){let n=0;for(const o of this.dailyParabolicTroughYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyParabolicTroughYield:[],setYearlyParabolicTroughYield(n){t({yearlyParabolicTroughYield:[...n]})},sumYearlyParabolicTroughYield(){let n=0;for(const o of this.yearlyParabolicTroughYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},parabolicTroughLabels:[],setParabolicTroughLabels(n){t({parabolicTroughLabels:[...n]})},dailyFresnelReflectorYield:[],setDailyFresnelReflectorYield(n){t({dailyFresnelReflectorYield:[...n]})},sumDailyFresnelReflectorYield(){let n=0;for(const o of this.dailyFresnelReflectorYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyFresnelReflectorYield:[],setYearlyFresnelReflectorYield(n){t({yearlyFresnelReflectorYield:[...n]})},sumYearlyFresnelReflectorYield(){let n=0;for(const o of this.yearlyFresnelReflectorYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},fresnelReflectorLabels:[],setFresnelReflectorLabels(n){t({fresnelReflectorLabels:[...n]})},dailyHeliostatYield:[],setDailyHeliostatYield(n){t({dailyHeliostatYield:[...n]})},sumDailyHeliostatYield(){let n=0;for(const o of this.dailyHeliostatYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyHeliostatYield:[],setYearlyHeliostatYield(n){t({yearlyHeliostatYield:[...n]})},sumYearlyHeliostatYield(){let n=0;for(const o of this.yearlyHeliostatYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},heliostatLabels:[],setHeliostatLabels(n){t({heliostatLabels:[...n]})},dailyUpdraftTowerResults:[],dailyUpdraftTowerYield:[],setDailyUpdraftTowerResults(n){t({dailyUpdraftTowerResults:[...n]})},setDailyUpdraftTowerYield(n){t({dailyUpdraftTowerYield:[...n]})},sumDailyUpdraftTowerYield(){let n=0;for(const o of this.dailyUpdraftTowerYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyUpdraftTowerYield:[],setYearlyUpdraftTowerYield(n){t({yearlyUpdraftTowerYield:[...n]})},sumYearlyUpdraftTowerYield(){let n=0;for(const o of this.yearlyUpdraftTowerYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},updraftTowerLabels:[],setUpdraftTowerLabels(n){t({updraftTowerLabels:[...n]})},heatmaps:new Map,setHeatmap(n,o){t(i=>(i.heatmaps.set(n,o),i))},getHeatmap(n){return e().heatmaps.get(n)},hourlyHeatExchangeArrayMap:new Map,setHourlyHeatExchangeArray(n,o){t(i=>(i.hourlyHeatExchangeArrayMap.set(n,o),i))},hourlySolarHeatGainArrayMap:new Map,setHourlySolarHeatGainArray(n,o){t(i=>(i.hourlySolarHeatGainArrayMap.set(n,o),i))},hourlySolarPanelOutputArrayMap:new Map,setHourlySolarPanelOutputArray(n,o){t(i=>(i.hourlySolarPanelOutputArrayMap.set(n,o),i))},totalBuildingHeater:0,setTotalBuildingHeater:n=>{t({totalBuildingHeater:n})},totalBuildingAc:0,setTotalBuildingAc:n=>{t({totalBuildingAc:n})},totalBuildingSolarPanel:0,setTotalBuildingSolarPanel:n=>{t({totalBuildingSolarPanel:n})},clearHeatmaps(){t(n=>(n.heatmaps.clear(),n))},clearDataStore(){t({heatmaps:new Map,hourlyHeatExchangeArrayMap:new Map,hourlySolarHeatGainArrayMap:new Map,hourlySolarPanelOutputArrayMap:new Map,solarPanelVisibilityResults:new Map,dailyLightSensorData:[],yearlyLightSensorData:[],sensorLabels:[],dailyPvYield:[],yearlyPvYield:[],solarPanelLabels:[],dailyParabolicDishYield:[],yearlyParabolicDishYield:[],parabolicDishLabels:[],dailyParabolicTroughYield:[],yearlyParabolicTroughYield:[],parabolicTroughLabels:[],dailyFresnelReflectorYield:[],yearlyFresnelReflectorYield:[],fresnelReflectorLabels:[],dailyHeliostatYield:[],yearlyHeliostatYield:[],heliostatLabels:[],dailyUpdraftTowerYield:[],dailyUpdraftTowerResults:[],yearlyUpdraftTowerYield:[],updraftTowerLabels:[]})},clearRoofVerticesMap(){t(n=>(n.roofSegmentVerticesMap.clear(),n.roofSegmentVerticesWithoutOverhangMap.clear(),n))}})),tvt="/aladdin/assets/roof_edge-DBy_1Q5D.png",Q1="/aladdin/assets/tiny_white_square-B_qAXRfa.png",nvt="/aladdin/assets/roof_01-BwuyLpwq.png",ovt="/aladdin/assets/roof_02-DAbYjnV7.png",ivt="/aladdin/assets/roof_03-haZGIixv.png",rvt="/aladdin/assets/roof_04-DDuwUcDr.png",avt="/aladdin/assets/roof_05-CtBb5xIW.png",lvt="/aladdin/assets/roof_06-DuyyebV8.png",svt="/aladdin/assets/roof_07-DXWGQN8a.png",cvt=new sf({color:"white",side:ia}),uvt=Se.memo(({dimension:t,mullionData:e,shadowEnabled:n})=>{const[o,i,r,a]=t,l=Math.min(a,r,o/2),{width:s,horizontalMullionSpacing:c,verticalMullionSpacing:u,color:d}=e,f=3,p=1,g=s/2,y=m.useMemo(()=>Math.atan2(o/2,l),[o,l]),A=m.useMemo(()=>{if(l===0||o===0)return 0;const P=l/2+o**2/(8*l),R=P-l,H=Math.PI-y,D=R**2,E=P**2,L=D+E-2*D*Math.sin(H)**2-2*R*Math.sqrt((E-D*Math.sin(H)**2)*Math.cos(H)**2);return Math.sqrt(L)},[o,l,y]),x=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:d}),[d]),C=P=>new Ml().moveTo(0,P).quadraticCurveTo(P,P,P,0).quadraticCurveTo(P,-P,0,-P).quadraticCurveTo(-P,-P,-P,0).quadraticCurveTo(-P,P,0,P),b=(P,R)=>{const H=P*R/(o/2),D=H/2+(R*2)**2/(8*H),E=Math.acos(Math.min(1,R/D)),L=Math.PI-E,U=new P2(0,H-D,D,D,E,L,!1,0).getPoints(24).map(F=>new ae(F.x,F.y));return new VK(U)},v=m.useMemo(()=>{const P=[],R=Math.round(o/u)-1;if(R<=0||s===0)return null;const H=o/(R+1);let D=H/2;R%2!==0&&(P.push(0),D=H);for(let E=0;E{const P=[];if(s===0)return P;const R=r/2-l,H=r-l,D=Math.ceil(H/c);let E=R;for(let L=0;L{const P=[],R=Math.round(o/u)-1;if(R<=0||s===0)return null;const H=o/(R+1);let D=H/2;R%2!==0&&(D=H);for(let L=0;Llh.jsx("group",{position:[0,0,r/2-l],rotation:[0,R,0],children:h.jsx(wa,{position:[0,0,P/2],args:[g,g,P,f,p],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:x})});return h.jsxs("group",{name:"Window Mullion Group",position:[0,-.001,0],children:[e.horizontalMullion&&S.map((P,R)=>h.jsx(wa,{position:[0,0,P],args:[g,g,o,f,p],rotation:[0,0,Vt],receiveShadow:n,castShadow:n,children:x},R)),e.verticalMullion&&(v==null?void 0:v.map((P,R)=>h.jsx(wa,{position:[P,0,-l/2],args:[g,g,r-l,f,p],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:x},R))),l>0&&(w==null?void 0:w.map((P,R)=>{if(P===null)return null;const{shape:H,path:D}=P;return h.jsx($w,{position:[0,g/2,r/2-l],rotation:[Vt,0,0],args:[H,{extrudePath:D,steps:12,bevelEnabled:!1}],castShadow:n,receiveShadow:n,children:x},R)})),A>0&&h.jsxs(h.Fragment,{children:[T(l,0),T(A,y),T(A,-y)]})]})}),dvt=Se.memo(({dimension:t,frameData:e,shadowEnabled:n})=>{const[o,i,r,a]=t,l=o/2,s=Math.min(a,r,l),{color:c,width:u,sillWidth:d}=e,f=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),p=u/2,g=p/2,y=o+u*3,A=u,x=m.useMemo(()=>{const[C,b]=[l+u,l],v=s+u,S=v/2+(C*2)**2/(8*v),w=Math.acos(Math.min(1,C/S)),T=Math.PI-w,P=v-S,R=s,H=R/2+(b*2)**2/(8*R),D=Math.acos(Math.min(1,b/H)),E=Math.PI-D,L=R-H,U=new P2(0,P,S,S,w,T,!1,0).getPoints(36),F=new P2(0,L,H,H,E,D,!0,0).getPoints(36);return new Ml([...U,...F])},[a,r,o,u]);return h.jsxs("group",{name:"Window Frame Group",position:[0,-g/2,0],children:[s>.1?h.jsx($w,{position:[0,g/2,r/2-s],rotation:[Vt,0,0],args:[x,{depth:g,steps:1,bevelEnabled:!1}],castShadow:n,receiveShadow:n,children:f}):h.jsx(Ei,{position:[0,0,r/2],args:[o+2*u,g,u],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[-o/2-p,0,-s/2],args:[u,g,r-s],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[o/2+p,0,-s/2],args:[u,g,r-s],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[0,0,-r/2-(d===0?0:A/2)],args:d===0?[o+2*u,g,u]:[y,d??u,A],castShadow:n,receiveShadow:n,children:f})]})}),vce=Se.memo(({cy:t,dimension:e,wireframeData:n,drawBottom:o})=>{const[i,r,a,l]=e,{lineWidth:s,lineColor:c,selected:u,locked:d,opacity:f}=n,p=s/20,g=s/5,y=i/2,A=a/2,x=Math.min(l,a,y),C=6,b=1,v=(R,H)=>{const D=R/2+(H*2)**2/(8*R),E=Math.acos(Math.min(1,H/D)),L=Math.PI-E,U=new P2(0,R-D,D,D,E,L,!1,0).getPoints(24).map(F=>new ae(F.x,F.y));return new VK(U)},S=R=>new Ml().moveTo(0,R).quadraticCurveTo(R,R,R,0).quadraticCurveTo(R,-R,0,-R).quadraticCurveTo(-R,-R,-R,0).quadraticCurveTo(-R,R,0,R),w=m.useMemo(()=>new sf({color:c}),[c]),T=m.useMemo(()=>new sf({color:l0}),[]),P=(R,H)=>h.jsxs(h.Fragment,{children:[x>.1?h.jsx($w,{position:[0,0,a/2-x],rotation:[Vt,0,0],args:[S(R),{extrudePath:v(x,y),steps:24,bevelEnabled:!1}],material:H}):h.jsx(wa,{args:[R,R,i,C,b],rotation:[0,0,Vt],position:[0,0,A-R/2],material:H}),o&&h.jsx(wa,{args:[R,R,i,C,b],rotation:[0,0,Vt],position:[0,0,-A],material:H}),h.jsx(wa,{args:[R,R,a-x,C,b],rotation:[Vt,Vt,0],position:[y,0,-x/2],material:H}),h.jsx(wa,{args:[R,R,a-x,C,b],rotation:[Vt,Vt,0],position:[-y,0,-x/2],material:H})]});return h.jsxs("group",{name:"Window Wireframe Group",children:[f>0&&h.jsx("group",{position:[0,t,0],children:P(p,w)}),d&&u&&P(g,T)]})}),fvt=({id:t,dimension:e,position:n,mullionData:o,frameData:i,wireframeData:r,leftShutter:a,rightShutter:l,shutterColor:s,shutterWidth:c,glassMaterial:u,showHeatFluxes:d,area:f,empty:p,interior:g,foundation:y})=>{const A=M.getState().world,x=M(X2),C=M(q9),b=M($9),v=M(ss),S=bn(vb),w=m.useRef(0),T=m.useRef(),[P,R,H,D]=e,[E,L,U]=n,F=(J,Q)=>{if(D>0){const ee=.5*P,$=.5*H,q=Math.min(D,H,ee),le=.5*(q+ee*ee/q);if(Math.abs(J)-$)return!0;const ie=Q-(H-le-$);return J*J+ie*ie{if(!d||g||y&&y.notBuilding)return;const J=S.get(t);if(!J)return;const Q=J.reduce((Z,he)=>Z+he,0);if(f===0)return;const ee=K9*(A.solarRadiationHeatmapGridCellSize??.5),$=Math.max(2,Math.round(P/ee)),q=Math.max(2,Math.round(H/ee)),le=P/$,ie=H/q,pe=Q/f*(x??Vm);w.current=pe<0?1:0,T.current=be.getEuler(Po,Yc,"YXZ",Math.sign(pe)*Vt);const ne=[];if(pe<0)for(let Z=0;Z<$;Z++)for(let he=0;hec*P,[P,c]),k=m.useMemo(()=>H-Math.min(D,H,P/2),[P,H,D]),N=m.useMemo(()=>(B+i.width+P)/2*1.025,[P,B,i.width]),j=m.useMemo(()=>-Math.min(D,H,P/2)/2,[H,k]),Y=m.useMemo(()=>nG(P,H,D),[P,H,D]),_=(J,Q,ee)=>h.jsx(sa,{name:"Window Seal Plane",args:J,position:Q,rotation:ee,material:cvt,receiveShadow:v,castShadow:v});return h.jsxs(h.Fragment,{children:[!p&&h.jsxs("group",{name:"Arched Window Plane Group",position:[0,L,0],children:[h.jsxs("mesh",{name:"Window Glass mesh",rotation:[Vt,0,0],children:[h.jsx("shapeGeometry",{args:[Y]}),u]}),(o.horizontalMullion||o.verticalMullion)&&D!==void 0&&h.jsx(uvt,{dimension:e,mullionData:o,shadowEnabled:v})]}),i.showFrame&&h.jsx(dvt,{dimension:e,frameData:i,shadowEnabled:v}),h.jsx(vce,{cy:L,dimension:e,wireframeData:r,drawBottom:!0}),h.jsx(mye,{cx:N,cz:j,lx:B,lz:k,color:s,showLeft:a,showRight:l,spacing:i.showFrame?i.width/2:0}),_([R,H],[-P/2,R/2,0],[Vt,Vt,0]),_([R,H],[P/2,R/2,0],[Vt,-Vt,0]),_([P,R],[0,R/2,-H/2]),W&&W.map((J,Q)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:J,name:"Heat Flux "+Q,lineWidth:b??Gm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:J[w.current].clone().add(new ae(0,w.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:T.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},Q))]})},nG=(t,e,n,o=0,i=0)=>{const r=new Ml,a=t/2,l=e/2,s=Math.min(n,e,a);if(r.moveTo(o-a,i-l),r.lineTo(o+a,i-l),r.lineTo(o+a,i+l-s),s>.01){const c=s/2+t**2/(8*s),[u,d]=[o,i+l-c],f=Math.acos(Math.min(1,a/c)),p=Math.PI-f;r.absarc(u,d,c,f,p,!1)}else r.lineTo(o-a,i+l);return r.closePath(),r},hvt=Se.memo(fvt),pvt=1,gvt=3,mvt=new sf({color:"white",side:ji}),yvt=new Qt(0,0,-Vt),Avt=Se.memo(({dimension:t,polygonTop:e,frameData:n,shadowEnabled:o})=>{const[i,r,a]=t,[l,s]=e,{color:c,width:u,sillWidth:d}=n,f=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),[p,g]=[i/2,a/2],A=u/2/2,x=i+u*3,C=u,b=m.useMemo(()=>{const w=new ae(p,-g),T=new ae(p,g),P=new ae(-p,g),R=new ae(-p,-g),H=new ae(l*i,s+g);return[w,T,H,P,R]},[p,g,l,s]),v=m.useMemo(()=>{const w=[];for(let R=1;R{const w=new Ml;for(let T=0;T=0;T--){const P=b[T];w.lineTo(P.x,P.y)}return w.closePath(),w},[b,v]);return h.jsxs("group",{name:"Window Frame Group",position:[0,-A/2,0],children:[h.jsx($w,{position:[0,A/2,0],rotation:[Vt,0,0],args:[S,{steps:1,depth:A,bevelEnabled:!1}],children:f}),h.jsx(Ei,{position:[0,0,-a/2-(d===0?0:C/2)],args:d===0?[i+2*u,A,u]:[x,d??u,C],castShadow:o,receiveShadow:o,children:f})]})}),wvt=({id:t,dimension:e,polygonTop:n,position:o,glassMaterial:i,empty:r,interior:a,wireframeData:l,frameData:s,leftShutter:c,rightShutter:u,shutterColor:d,shutterWidth:f,area:p,showHeatFluxes:g,foundation:y})=>{const A=M.getState().world,x=M(X2),C=M(q9),b=M($9),v=bn(vb),S=m.useRef(0),w=m.useRef(),[T,P,R]=o,[H,D,E]=e,[L,U,F]=e.map(Pe=>Pe/2),[W,B]=n,{lineWidth:k,lineColor:N,selected:j,locked:Y,opacity:_}=l,J=W*H,Q=Math.hypot(B,L-J),ee=Math.asin(B/Q),$=Math.hypot(B,L+J),q=-Math.asin(B/$),le=M(ss),ie=(Pe,me)=>{const Re=.5*H,ze=.5*(E+n[1]),Ae=n[1],re=[{x:-Re,y:-ze},{x:Re,y:-ze},{x:Re,y:ze-Ae},{x:H*n[0],y:ze},{x:-Re,y:ze-Ae}];return be.isPointInside(Pe,me,re)},pe=m.useMemo(()=>{if(!g||a||y&&y.notBuilding)return;const Pe=v.get(t);if(!Pe)return;const me=Pe.reduce((Ce,Ee)=>Ce+Ee,0);if(p===0)return;const Re=K9*(A.solarRadiationHeatmapGridCellSize??.5),ze=E+n[1],Ae=Math.max(2,Math.round(H/Re)),re=Math.max(2,Math.round(ze/Re)),ge=H/Ae,we=ze/re,ye=me/p*(x??Vm);S.current=ye<0?1:0,w.current=be.getEuler(Po,Yc,"YXZ",Math.sign(ye)*Vt);const Te=[],Ie=n[1]/2;if(ye<0)for(let Ce=0;Cef*H,[H,f]),Z=m.useMemo(()=>(ne+s.width+H)/2*1.025,[H,ne,s.width]),he=m.useMemo(()=>{const[Pe,me]=[H/2,E/2],Re=W*H;return oG(Pe,me,Re,B)},[H,E,W,B]),fe=m.useMemo(()=>j&&Y?new sf({color:l0}):new sf({color:N}),[N,j,Y]),se=m.useMemo(()=>Y&&j?k/5:k/20,[k,j,Y]),oe=m.useMemo(()=>Y&&j?-D/2:-P,[P,D,j,Y]),de=(Pe,me=0)=>h.jsx(wa,{args:[se,se,Pe,gvt,pvt],position:[me,oe,0],rotation:[0,0,Vt],material:fe}),ve=(Pe,me=0)=>h.jsx(sa,{args:[Pe,D],position:[me,0,0],material:mvt,receiveShadow:le,castShadow:le});return h.jsxs(h.Fragment,{children:[!r&&h.jsxs("mesh",{name:"Triangle Glass Plane",position:[0,P,0],rotation:[Vt,0,0],children:[h.jsx("shapeGeometry",{args:[he]}),i]}),s.showFrame&&h.jsx(Avt,{dimension:e,polygonTop:n,frameData:s,shadowEnabled:le}),h.jsx(mye,{cx:Z,lx:ne,lz:E,color:d,showLeft:c,showRight:u,spacing:s.showFrame?s.width/2:0}),h.jsxs("group",{position:[0,U,-F+.001],children:[ve(H),de(H)]}),h.jsxs("group",{position:[-L+.001,U,0],rotation:[0,Vt,0],children:[ve(E),de(E)]}),h.jsxs("group",{position:[L-.001,U,0],rotation:[0,-Vt,0],children:[ve(E),de(E)]}),h.jsxs("group",{position:[-L+.001,U,F-.01],rotation:[0,q,0],children:[ve($,$/2),de($,$/2)]}),h.jsxs("group",{position:[L-.001,U,F-.01],rotation:[0,ee,0],children:[ve(Q,-Q/2),de(Q,-Q/2)]}),pe&&pe.map((Pe,me)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:Pe,name:"Heat Flux "+me,lineWidth:b??Gm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:Pe[S.current].clone().add(new ae(0,S.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:w.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},me))]})},oG=(t,e,n,o,i=0,r=0)=>{const a=new Ml;return a.moveTo(i-t,r-e),a.lineTo(i+t,r-e),a.lineTo(i+t,r+e),a.lineTo(i+n,r+e+o),a.lineTo(i-t,r+e),a.closePath(),a},vvt=Se.memo(wvt),xvt=({id:t,index:e,foundationModel:n,roofType:o,segment:i,centroid:r,thickness:a,color:l,sideColor:s,texture:c,heatmap:u,windows:d})=>{const f=M(Q9),p=gt(i3),g=M(X2),y=M(q9),A=M($9),x=bn($L),{transparent:C,opacity:b}=Z$(),v=m.useRef(0),S=m.useRef(),w=m.useRef(),T=M.getState().world,P=bn.getState().hourlyHeatExchangeArrayMap,{points:R}=i,H=m.useMemo(()=>{if(!p)return;const E=x(t);if(!E)return;const L=[],U=new ae(0,0,a+.1);switch(o){case Vo.Hip:case Vo.Pyramid:for(const F of E){const W=[];W.push(F[0].clone().sub(r).add(U)),W.push(F[1].clone().sub(r).add(U)),L.push(W)}break;case Vo.Mansard:for(const[F,W]of E.entries()){if(F===E.length-1)continue;const B=[];B.push(W[0].clone().sub(r).add(U)),B.push(W[1].clone().sub(r).add(U)),L.push(B)}break;case Vo.Gambrel:for(const[F,W]of E.entries()){if(F===0||F===3){const k=[];k.push(W[0].clone().sub(r).add(U)),k.push(W[1].clone().sub(r).add(U)),L.push(k)}let B=[];B.push(W[0].clone().sub(r).add(U)),B.push(W[3].clone().sub(r).add(U)),L.push(B),B=[],B.push(W[1].clone().sub(r).add(U)),B.push(W[2].clone().sub(r).add(U)),L.push(B)}break}return L},[p]),D=m.useMemo(()=>{if(!p||n&&n.notBuilding)return;const E=P.get(t+"-"+e);if(!E)return;const L=E.reduce((ge,we)=>ge+we,0),U=x(t);if(!U||!U[e])return;const[F,W,B,k,N]=R,j=N.z-F.z,Y=U[e].map(ge=>ge.clone().sub(r).add(new ae(0,0,j)));if(!Y)return;const _=[];for(const ge of Y)_.push({x:ge.x,y:ge.y});const J=K9*(T.solarRadiationHeatmapGridCellSize??.5),Q=Y[0].clone(),ee=Y[1].clone(),$=Y[2].clone(),q=new ae().subVectors(ee,Q),le=new ae().subVectors($,Q),ie=new ae().subVectors($,ee),pe=q.length(),ne=new ae().crossVectors(le,ie).length()/pe,Z=Math.max(2,Math.floor(pe/J)),he=Math.max(2,Math.floor(ne/J));q.normalize(),le.normalize(),ie.normalize();const fe=new ae().crossVectors(le,ie).normalize(),se=q.multiplyScalar(.5*pe/Z),oe=new ae().crossVectors(fe,q).normalize().multiplyScalar(.5*ne/he),de=Q.clone().add(se).add(oe);se.multiplyScalar(2),oe.multiplyScalar(2),S.current=fe.clone().multiplyScalar(.1);const ve=[],Pe=new ae;let me=Y.length===4?be.getTriangleArea(Y[0],Y[1],Y[2])+be.getTriangleArea(Y[2],Y[3],Y[0]):be.getTriangleArea(Y[0],Y[1],Y[2]);if(me===0)return;let Re=f(z.Window,t);const ze=x(t);if(ze&&ze[e]&&(Re=Re.filter(ge=>{const we=ge,ye=we.cy+(we.windowType===Sr.Polygonal&&we.polygonTop?we.polygonTop[1]/2:0);return In.onSegment(ze[e],ge.cx,ye)})),Re&&Re.length>0)for(const ge of Re)me-=be.getWindowArea(ge);const Ae=L/me*(g??Vm);v.current=Ae<0?1:0,w.current=be.getEuler(Po,fe,"YXZ",-Math.sign(Ae)*Vt);let re;for(let ge=0;ge0){const Te=Pe.x+r.x,Ie=Pe.y+r.y;for(const Ce of Re){const Ee=In.getRelativeWindowVerticesOnRoof(Ce),Ue=be.getPoints(Ee);if(be.isPointInside(Te,Ie,Ue)){re=!1;break}}}if(re&&be.isPointInside(Pe.x,Pe.y,_)){const Te=[];Ae<0?(Te.push(Pe.clone()),Te.push(Pe.clone().add(fe.clone().multiplyScalar(-Ae)))):(Te.push(Pe.clone()),Te.push(Pe.clone().add(fe.clone().multiplyScalar(Ae)))),ve.push(Te)}}}return ve},[p,g]);return h.jsxs(h.Fragment,{children:[h.jsx(gYe,{id:t,index:e,segment:i,color:l,sideColor:s,texture:c,heatmap:u,transparent:C,opacity:b,windows:d,centroid:r}),H&&H.map((E,L)=>h.jsx(Fn,{points:E,color:"gray",lineWidth:.5,dashed:!0,dashSize:.2,gapSize:.1,receiveShadow:!1,castShadow:!1,name:"Overhang Boundary "+L},L)),D&&D.map((E,L)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:E,name:"Heat Flux "+L,lineWidth:A??Gm,color:y??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:S.current?E[v.current].clone().add(S.current):E[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head "+L,rotation:w.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:y??g0})})]},L))]})},gYe=Se.memo(({id:t,index:e,segment:n,color:o,sideColor:i,texture:r,heatmap:a,transparent:l,opacity:s,windows:c,centroid:u})=>{const d=gt(cs),f=m.useRef(null),{points:p}=n,g=d?a:r,y=p.length===6,A=p.length===8,x=m.useMemo(()=>c.map(R=>{const H=new ae(R.lx,R.lz,R.ly*2),D=new ae(R.cx,R.cy,R.cz).sub(u),E=new Qt().fromArray([R.rotation[0],R.rotation[1],R.rotation[2],"ZXY"]);if(R.windowType===Sr.Polygonal){const[L,U]=R.polygonTop??jp,[F,W,B]=[H.x/2,H.y/2,L*H.x],k=oG(F,W,B,U),N=new es(new H9([k],{steps:1,depth:H.z,bevelEnabled:!1})),j=new ae(0,0,-H.z).applyEuler(E);return N.position.copy(D.clone().add(j)),N.rotation.copy(E),N.updateMatrix(),N}else if(R.windowType===Sr.Arched){const L=nG(H.x,H.y,R.archHeight),U=new es(new H9([L],{steps:1,depth:H.z,bevelEnabled:!1})),F=new ae(0,0,-H.z).applyEuler(E);return U.position.copy(D.clone().add(F)),U.rotation.copy(E),U.updateMatrix(),U}else{const L=new es(new X9(H.x,H.y,H.z));return L.position.copy(D),L.rotation.copy(E),L.updateMatrix(),L}}),[c,u]),C=v()??6,b=m.useMemo(()=>Array(C).fill(0),[C]);if(m.useEffect(()=>{v()},[]),!y&&!A)return null;function v(){if(!f.current||!y&&!A)return;const R=f.current.geometry;R.index=null,R.clearGroups();const H=[],D=[];let E=0,L=0;if(y){const N=p.slice(p.length/2);U(N),d?W():F(N),B(3);const j=p.slice(0,p.length/2).reverse();U(j),D.push(0,0,1,0,0,1),B(3),k([[0,1,4,3],[1,2,5,4],[2,0,3,5]])}else if(A){const N=p.slice(p.length/2),[j,Y]=S(N);U(j),U(Y);const[_,J,Q,ee]=N,$=j[2].equals(ee);if(d)W($);else{const pe=new ae().subVectors(J,_),ne=new ae().subVectors(Q,_),Z=new ae().subVectors(ee,_),fe=new Gt(J.x-_.x,J.y-_.y).length(),se=fe,oe=0,de=pe.dot(ne)/fe,ve=pe.clone().cross(ne).length()/fe,Pe=pe.dot(Z)/fe,me=pe.clone().cross(Z).length()/fe;$?(D.push(0,0,se,oe,Pe,me),D.push(se,oe,de,ve,Pe,me)):(D.push(0,0,se,oe,de,ve),D.push(0,0,de,ve,Pe,me))}B(6);const q=p.slice(0,p.length/2),[le,ie]=S(q);U(le.reverse()),U(ie.reverse()),D.push(0,0,1,0,0,1),D.push(0,1,1,0,1,1),B(6),k([[0,1,5,4],[1,2,6,5],[2,3,7,6],[3,0,4,7]])}else throw new Error("segment is neither quad nor tri");if(R.setAttribute("position",new hi(H,3)),R.setAttribute("uv",new hi(D,2)),R.computeVertexNormals(),R.computeBoundingSphere(),c.length>0){const N=[];for(let Y=0;Yq.concat(p[le].x,p[le].y,p[le].z),[]),$=[Q,_,J].reduce((q,le)=>q.concat(p[le].x,p[le].y,p[le].z),[]);H.push(...ee),H.push(...$),D.push(0,0,1,0,0,1),D.push(0,1,1,0,1,1),B(6)}}}function S(R){const[H,D,E,L]=R,U=be.distanceFromPointToLine2D(L,H,D),F=be.distanceFromPointToLine2D(E,H,D),W=[],B=[];return Math.abs(U-F)<.01?H.z>D.z?(W.push(H,D,E),B.push(H,E,L)):(W.push(H,D,L),B.push(D,E,L)):U<=F?(W.push(H,D,L),B.push(D,E,L)):(W.push(H,D,E),B.push(H,E,L)),[W,B]}const w=({i:R})=>h.jsx("meshBasicMaterial",{attach:`material-${R}`,map:g,transparent:l,opacity:s}),T=({i:R})=>h.jsx("meshStandardMaterial",{attach:`material-${R}`,color:o,map:g,transparent:l,opacity:s}),P=({i:R})=>h.jsx("meshStandardMaterial",{attach:`material-${R}`,color:i,transparent:l,opacity:s});return h.jsx("mesh",{ref:f,name:`Buffer Roof Segment ${e}`,uuid:t+"-"+e,userData:{simulation:!0},receiveShadow:!d,castShadow:!0,frustumCulled:!1,children:b.map((R,H)=>H!==0?h.jsx(P,{i:H},"side"+H):d?h.jsx(w,{i:H},"heatmap"+H):h.jsx(T,{i:H},"texture"+H))})}),kq=Se.memo(xvt),bvt=({cz:t,points:e})=>{const n=new Ml;n.moveTo(e[0].x,e[0].y);for(const{x:o,y:i}of e)n.lineTo(o,i);return n.closePath(),h.jsx($w,{scale:.99,position:[0,0,t],args:[n,{steps:1,depth:.1,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{side:ji,color:"white"})})},dW=Se.memo(bvt);function a3(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(const[o,i]of t)if(!Object.is(i,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(const o of t)if(!e.has(o))return!1;return!0}const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let o=0;oM(e=>e.selectedElementIdSet.has(t)&&!e.groupActionMode),Kt=()=>{const t=M(Sc);return m.useMemo(()=>({lng:t}),[t])},r1=t=>M.getState().getWeather(t??"Boston MA, USA"),Xwe=new ae,Jwe=new Qt,$j=new ae,Svt=new ae(0,0,1),Tvt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new ae(0,0,e);for(let l=0;l{const[c,u,d]=l.points,f=Math.abs(c.z)<.015,p=[c.clone().sub(r),c];return f||p.push(d),h.jsx(Fn,{points:p,lineWidth:n,color:o},s)})]})]})}),Pvt=({roofModel:t,foundationModel:e})=>{let{cx:n,cy:o,lz:i,id:r,wallsId:a,textureType:l,color:s="white",sideColor:c="white",thickness:u=.2,locked:d,lineWidth:f=.2,lineColor:p="black",roofType:g,foundationId:y,rise:A=i,ceiling:x=!1}=t;const C=jH(l),b=Hs(r);[p,f]=In.getWireframetStyle(p,f,b,d);const v=M(dn),S=M(hp),{camera:w,gl:T}=Xi(),P=m.useMemo(()=>new Gs,[]),R=m.useMemo(()=>new Gt,[]),[H,D]=m.useState(!1),E=m.useRef(null),L=m.useRef(!1),U=m.useRef(A),F=new Set(a),W=Ie=>{R.x=Ie.offsetX/T.domElement.clientWidth*2-1,R.y=-(Ie.offsetY/T.domElement.clientHeight)*2+1,P.setFromCamera(R,w)},B=Ie=>{const Ce=[],Ee=Ie.length;for(const Ue of Ie)Ue.leftPoint[0]!==void 0&&Ue.leftPoint[1]!==void 0&&Ce.push({x:Ue.leftPoint[0],y:Ue.leftPoint[1]});return Y.current||(Ie[Ee-1].rightPoint[0]||Ie[Ee-1].rightPoint[0]===0)&&(Ie[Ee-1].rightPoint[1]||Ie[Ee-1].rightPoint[1]===0)&&Ce.push({x:Ie[Ee-1].rightPoint[0],y:Ie[Ee-1].rightPoint[1]}),Ce},k=(Ie,Ce)=>{if(Ie.length!==Ce.size)return!0;for(const Ee of Ie)if(!Ce.has(Ee.id))return!0;return!1},N=()=>{let Ie=1/0;for(let Ce=0;Ce{if(j.length<2)return{x:0,y:0};const Ie=B(j);if(Ie.length<3)return{x:0,y:0};const Ce=be.calculatePolygonCentroid(Ie);return Number.isNaN(Ce.x)||Number.isNaN(Ce.y)?{x:0,y:0}:Ce},[j,J]),ee=m.useMemo(()=>new ae(Q.x,Q.y,J),[Q,J]),$=m.useMemo(()=>{const Ie=j.map(Ce=>In.getWallNormal(Ce).multiplyScalar(Ce.eavesLength??0));if(!Y.current&&Ie.length!==0){const Ce=new ae().subVectors(new ae(j[j.length-1].rightPoint[0],j[j.length-1].rightPoint[1]),new ae(j[0].leftPoint[0],j[0].leftPoint[1])).applyEuler(ZV).normalize().multiplyScalar(.3);Ie.push(Ce)}return Ie},[j]),q=m.useMemo(()=>{const Ie=j.map((Ce,Ee)=>({leftPoint:new ae(Ce.leftPoint[0],Ce.leftPoint[1]).add($[Ee]),rightPoint:new ae(Ce.rightPoint[0],Ce.rightPoint[1]).add($[Ee])}));return!Y.current&&Ie.length!==0&&Ie.push({leftPoint:new ae(j[j.length-1].rightPoint[0],j[j.length-1].rightPoint[1]).add($[$.length-1]),rightPoint:new ae(j[0].leftPoint[0],j[0].leftPoint[1]).add($[$.length-1])}),Ie},[j,$]),le=m.useMemo(()=>Svt.clone().multiplyScalar(u),[u]),ie=m.useMemo(()=>{const Ie=[];if(j.length<2)return Ie;const Ce=N();for(let Ee=0;Ee0&&Ue.rightPoint.length>0&&(Ue.leftPoint[0]!==Ue.rightPoint[0]||Ue.leftPoint[1]!==Ue.rightPoint[1])){const Ne=[];let{lh:Le,rh:qe}=In.getWallHeight(j,Ee);Y.current||(Ee===0&&(Le=j[0].lz),Ee===j.length-1&&(qe=j[j.length-1].lz));const We=In.getIntersectionPoint(q[(Ee+q.length-1)%q.length].leftPoint,q[(Ee+q.length-1)%q.length].rightPoint,q[Ee].leftPoint,q[Ee].rightPoint).setZ(Le-Ce).sub(ee),De=In.getIntersectionPoint(q[Ee].leftPoint,q[Ee].rightPoint,q[(Ee+1)%q.length].leftPoint,q[(Ee+1)%q.length].rightPoint).setZ(qe-Ce).sub(ee),Fe=new ae(Ue.cx,Ue.cy).sub(ee.clone().setZ(0)).length();Ne.push(We,De,$j),Ne.push(We.clone().add(le),De.clone().add(le),$j.clone().add(le)),Ie.push({points:Ne,angle:-Ue.relativeAngle,length:Fe})}}if(!Y.current){const Ee=q.length-1,Ue=In.getIntersectionPoint(q[Ee-1].leftPoint,q[Ee-1].rightPoint,q[Ee].leftPoint,q[Ee].rightPoint).setZ(j[j.length-1].lz-Ce).sub(ee),Ne=In.getIntersectionPoint(q[Ee].leftPoint,q[Ee].rightPoint,q[0].leftPoint,q[0].rightPoint).setZ(j[0].lz-Ce).sub(ee);let Le=Math.atan2(Ne.y-Ue.y,Ne.x-Ue.x);Le=Le>=0?Le:(na+Le)%na;const qe=new ae().addVectors(Ue,Ne).setZ(0).divideScalar(2).length(),We=[];We.push(Ue,Ne,$j),We.push(Ue.clone().add(le),Ne.clone().add(le),$j.clone().add(le)),Ie.push({points:We,angle:-Le,length:qe})}return Ie},[j,Q,u]),pe=m.useMemo(()=>{const Ie=[];if(j.length===0)return Ie;Ie.push(new ae().fromArray(j[0].leftPoint));for(const Ce of j)Ie.push(new ae().fromArray(Ce.rightPoint));return Ie},[j]);let ne=0;if(e){n=e.cx,o=e.cy,ne=e.rotation[2];const Ie=-Math.atan2(w.position.x-n,w.position.y-o)-ne;Xwe.set(Q.x,Q.y,J),Jwe.set(-Vt,0,Ie,"ZXY")}const Z=eQ();m.useEffect(()=>{if(Z)return;if(M.getState().addedRoofIdSet.has(r)&&j.length>=2&&k(j,F)){const Ce=j.map(Ue=>Ue.id),Ee=new Set(Ce);v(Ue=>{for(const Ne of Ue.elements)if(Ne.type===z.Roof)Ne.id===r&&(Ne.wallsId=Ce);else if(Ne.type===z.Wall&&F.has(Ne.id)&&!Ee.has(Ne.id)){const Le=Ne;Le.roofId=null,Le.leftRoofHeight=void 0,Le.rightRoofHeight=void 0}}),M.getState().deleteAddedRoofId(r)}},[F]),m.useEffect(()=>{if(j.length>1){if(M.getState().addedRoofIdSet.has(r)){for(let Ce=0;Ce{for(const Ue of Ee.elements)if(Ue.id===j[Ce].id&&Ue.type===z.Wall){const Ne=Ue;Ne.roofId=r,Ne.leftRoofHeight=void 0,Ne.rightRoofHeight=void 0;break}});M.getState().deleteAddedRoofId(r)}}else S(r,!1,!1,!0)},[j]),sye(e,r,ie,ee,J,u);const he=()=>{if(j.length<2)return!1;const Ie=j[0].lz;for(const Ce of j)if(Math.abs(Ce.lz-Ie)>.01)return!1;for(const Ce of ie){const[Ee,Ue]=Ce.points;if(Math.abs(Ee.z)>.01||Math.abs(Ue.z)>.01)return!1}return!0},[fe,se]=m.useState(he);m.useEffect(()=>{se(he())},[j,J]);const oe=gt(cs),de=M(wf),ve=bn(n1),[Pe,me]=m.useState([]),[Re,ze]=m.useState(null),Ae=M(Vc),re=JW(r,ee,ie,fe,Vo.Pyramid);m.useEffect(()=>{if(oe)if(fe){const Ie=ve(r);if(Ie){const Ce=be.fetchHeatmapTexture(Ie,de??5);if(Ce){const Ee=re();if(Ee&&Ee.length>0&&e){const Ue=new Qt(0,0,e.rotation[2],"ZYX");let Ne=Number.MAX_VALUE,Le=Number.MAX_VALUE,qe=-Number.MAX_VALUE,We=-Number.MAX_VALUE;for(const St of Ee)for(const dt of St){const je=dt.clone().applyEuler(Ue);je.x>qe&&(qe=je.x),je.xWe&&(We=je.y),je.y0){const Ce=[];if(re()){for(let Ue=0;Ue{const Ie=[];for(let Ce=0;Ce0&&Ee.rightPoint.length>0&&(Ee.leftPoint[0]!==Ee.rightPoint[0]||Ee.leftPoint[1]!==Ee.rightPoint[1])){let{lh:Ue,rh:Ne}=In.getWallHeight(j,Ce);Y.current||(Ce===0&&(Ue=j[0].lz),Ce===j.length-1&&(Ne=j[j.length-1].lz));const Le=new ae(Ee.leftPoint[0],Ee.leftPoint[1],Ue),qe=new ae(Ee.rightPoint[0],Ee.rightPoint[1],Ne);Ie.push([Le,qe,ee.clone()])}}if(!Y.current){const Ce=j[0],Ee=j[j.length-1],Ue=new ae(Ee.rightPoint[0],Ee.rightPoint[1],Ee.lz),Ne=new ae(Ce.leftPoint[0],Ce.leftPoint[1],Ce.lz);Ie.push([Ue,Ne,ee.clone()])}if(fe){const Ce=[];for(const Ee of Ie)Ce.push(Ee[0].clone());bn.getState().setRoofSegmentVerticesWithoutOverhang(r,[Ce])}else bn.getState().setRoofSegmentVerticesWithoutOverhang(r,Ie)});const we=M(Ie=>Ie.elements.filter(Ce=>Ce.parentId===r&&Ce.type===z.Window),a3),ye=$W(r,e,ee,ie),Te=l===Ui.Default||l===Ui.NoTexture?s:"white";return h.jsxs("group",{name:`Pyramid Roof Group ${r}`,children:[h.jsx("group",{name:`Pyramid Roof Segments Group ${r}`,userData:ye,position:[Q.x,Q.y,J],onPointerDown:Ie=>{VW(Ie,e.id,r,ie,ee)},onPointerMove:Ie=>{XW(Ie,r)},onPointerUp:Ie=>{GW(Ie,t)},onContextMenu:Ie=>{dR(Ie,r)},children:fe?h.jsx(tQ,{id:r,foundationModel:e,roofType:g,roofSegments:ie,center:ee,thickness:u,lineWidth:f,lineColor:p,sideColor:c,color:Te,textureType:l,heatmap:Re}):h.jsxs(h.Fragment,{children:[ie.map((Ie,Ce)=>{const{points:Ee}=Ie;if(Ee.length>0){const[Ue,Ne]=Ee;if(Ue.distanceTo(Ne)>.1)return h.jsx("group",{name:`Roof segment ${Ce}`,children:h.jsx(kq,{id:r,index:Ce,foundationModel:e,roofType:g,segment:Ie,centroid:ee,thickness:u,color:Te,sideColor:c,texture:C,heatmap:Pe&&Ce0&&h.jsx(dW,{points:pe,cz:j[0].lz}),b&&!d&&h.jsx(Qf,{position:[Q.x,Q.y,J+u+.15],onPointerDown:Ie=>{Ae(t.id,Ie,zo.Select),D(!0),Ln.getState().setEnableOrbitController(!1),L.current=!0,U.current=A,v(Ce=>{Ce.resizeHandleType=yt.Top,Ce.selectedElementHeight=J+t.thickness})},onPointerUp:()=>{D(!1),Ln.getState().setEnableOrbitController(!0)},onPointerOver:()=>{v(Ie=>{Ie.hoveredHandle=ki.Top,Ie.selectedElementHeight=J+t.thickness,Ie.selectedElementX=Q.x,Ie.selectedElementY=Q.y})}}),H&&h.jsx(sa,{name:"Roof Intersection Plane",ref:E,args:[1e3,100],visible:!1,rotation:Jwe,position:Xwe,onPointerMove:Ie=>{if(E.current&&L.current&&e){W(Ie);const Ce=P.intersectObjects([E.current]);if(Ce[0]){const Ee=Ce[0].point;if(Ee.z<.001)return;const Ue=Math.max(0,Ee.z-e.lz-.3-_);M.getState().updateRoofRiseById(r,Ue,J+t.thickness)}}},onPointerUp:Ie=>{_W(r,U.current,A),D(!1),Ln.getState().setEnableOrbitController(!0),L.current=!1}})]})},Cvt=Se.memo(Pvt,BH),Rvt=(t,e,n)=>{const{left:o,right:i,center:r,centerLeft:a,centerRight:l}=n,[s,c]=[t/2,e/2],u=[{x:-s,y:o-c},{x:-s,y:-c},{x:s,y:-c},{x:s,y:i-c}];if(l){const[d,f]=l;u.push({x:d*t,y:f-c})}if(r){const[d,f]=r;u.push({x:d*t,y:f-c})}if(a){const[d,f]=a;u.push({x:d*t,y:f-c})}return u},K5=(t,e)=>{for(const n of M.getState().elements)if(n.type===z.Wall&&n.foundationId===e&&t.has(n.id)){const o=t.get(n.id);if(o){const i=n,r=Rvt(i.lx,i.lz,o);for(const a of M.getState().elements)if(a.parentId===i.id){let{cx:l,cz:s,lx:c,ly:u,lz:d}=a;if(l*=i.lx,s*=i.lz,a.type!==z.SolarPanel?(c*=i.lx,d*=i.lz):d=u,a.type===z.Window&&a.windowType===Sr.Polygonal){const[f,p]=a.polygonTop??jp,g=l+f*c,y=s+d/2+p;if(!be.isPointInside(g,y,r))return!1}if(!be.isElementInsideWall(new ae(l,0,s),c,d,r,a.type===z.Door))return!1}}}return!0},Hvt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new ae(0,0,e),a=t[0].points,l=t[1].points,s=t[2].points,c=t[3].points;i.push(l[3],l[0],a[0],a[1],a[2],l[2],s[0],c[0],c[1],s[1],l[3]);const u=Math.abs(a[0].z)<.15,d=h.jsx(Fn,{points:i,lineWidth:n,color:o}),f=h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[l[0],l[1]],lineWidth:n,color:o}),h.jsx(Fn,{points:[l[2],l[3]],lineWidth:n,color:o}),h.jsx(Fn,{points:[s[2],s[3]],lineWidth:n,color:o})]});return h.jsxs(h.Fragment,{children:[d,!u&&f,h.jsxs("group",{position:[0,0,e],children:[d,!u&&f]}),h.jsx(Fn,{points:[a[0],a[0].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[a[1],a[1].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[c[0],c[0].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[c[1],c[1].clone().add(r)],lineWidth:n,color:o})]})}),eie=new ae,tie=new Qt,Kwe=new Gt,Mvt=new ae(0,0,1),Ivt=({roofModel:t,foundationModel:e})=>{let{id:n,cx:o,cy:i,lz:r,wallsId:a,parentId:l,topRidgeLeftPoint:s,frontRidgeLeftPoint:c,backRidgeLeftPoint:u,topRidgePoint:d,frontRidgePoint:f,backRidgePoint:p,textureType:g,color:y="white",sideColor:A="white",thickness:x=.2,locked:C,lineColor:b="black",lineWidth:v=.2,roofType:S,rise:w=r,ceiling:T=!1}=t;d===void 0&&(d=s?[...s]:[0,1]),f===void 0&&(f=c?[...c]:[.35,.5]),p===void 0&&(p=u?[...u]:[.35,.5]);const P=Hs(n);[b,v]=In.getWireframetStyle(b,v,P,C);const R=M(dn),H=M(hp),D=jH(g),[E,L]=m.useState(ki.Null),[U,F]=m.useState(!1),W=m.useRef(null),{gl:B,camera:k}=Xi(),N=m.useMemo(()=>new Gs,[]),j=m.useMemo(()=>new Gt,[]),Y=m.useRef([0,0]),_=m.useRef(w),J=m.useRef(!1),Q=w<.01,ee=(Qe,Oe,et)=>{R(vt=>{for(const ct of vt.elements)if(ct.id===Qe&&ct.type===z.Roof&&ct.roofType===Vo.Gambrel){const lt=ct;switch(Oe){case ki.FrontLeft:case ki.FrontRight:lt.frontRidgePoint=[...et];break;case ki.TopLeft:case ki.TopRight:lt.topRidgePoint=[...et];break;case ki.BackLeft:case ki.BackRight:lt.backRidgePoint=[...et];break}break}})},$=(Qe,Oe,et,vt)=>{const ct={name:"Resize Gambrel Roof Ridge",timestamp:Date.now(),resizedElementId:Qe,resizedElementType:z.Roof,oldVal:[...et],newVal:[...vt],type:Oe,undo:()=>{ee(ct.resizedElementId,ct.type,ct.oldVal)},redo:()=>{ee(ct.resizedElementId,ct.type,ct.newVal)}};M.getState().addUndoable(ct)},q=Qe=>{j.x=Qe.offsetX/B.domElement.clientWidth*2-1,j.y=-(Qe.offsetY/B.domElement.clientHeight)*2+1,N.setFromCamera(j,k)},le=(Qe,Oe)=>{F(!0),Ln.getState().setEnableOrbitController(!1),eie.set(Qe.x,Qe.y,Qe.z).add(Ae),e&&Oe&&tie.set(Vt,0,Oe.relativeAngle,"ZXY")},ie=(Qe,Oe,et)=>{const vt=new Gt(Qe.cx,Qe.cy),ct=In.getComposedWallCenter(Oe),lt=In.getComposedWallLength(Oe),tt=new Gt(ct.x,ct.y).rotateAround(Kwe,Qe.rotation[2]).add(vt),it=Qe.rotation[2]+Oe.relativeAngle,Mt=new Gt(et.x,et.y).sub(tt).rotateAround(Kwe,-it).x/lt;return Math.min(Math.abs(Mt),.5)*(Mt>=0?1:-1)},pe=(Qe,Oe,et,vt)=>{if(!Qe)return new ae;const ct=In.getComposedWallLength(Qe),lt=new Qt(0,0,Qe.relativeAngle),tt=new ae(Oe*ct,0,0);let it=ze;vt&&(it=et*(ze-vt.lz)+vt.lz);const At=In.getComposedWallCenter(Qe);return new ae(At.x,At.y,it).add(tt.applyEuler(lt))},ne=(Qe,Oe)=>{const et=Qe[Oe];let vt,ct;return Oe===0||Oe===2?(vt=et.lz,ct=et.lz):Oe===1?(vt=Qe[0].lz,ct=Qe[2].lz):(vt=Qe[2].lz,ct=Qe[0].lz),{lh:vt,rh:ct}},Z=Qe=>Qe.id===n&&Qe.type===z.Roof&&Qe.roofType===Vo.Gambrel,he=(Qe,Oe)=>{const et=Oe.x-Qe.x,ct=(Oe.y-Qe.y)/et,lt=Qe.y-ct*Qe.x;return{start:Qe.x,end:Oe.x,k:ct,b:lt}},fe=(Qe,Oe,et,vt,ct,lt,tt,it)=>{const At=Qe[Oe],{lh:Mt,rh:st}=ne(Qe,Oe),ft=new ae().subVectors(At.leftPoint,At.rightPoint).length(),Rt=ft/2,zt=mt=>mt*ft+Rt,Xe=(mt,Ge)=>mt*(et-Ge)+Ge,ht=[new Gt(zt(-lt[0]),Xe(lt[1],vt)),new Gt(zt(tt[0]),et),new Gt(zt(it[0]),Xe(it[1],ct)),new Gt(ft,st)];return ht.map((mt,Ge)=>{const xt=Ge===0?new Gt(0,Mt):ht[Ge-1];return he(xt,mt)})},se=(Qe,Oe)=>{for(const et of Qe){const{start:vt,end:ct,k:lt,b:tt}=et;if(Oe>=vt&&Oe<=ct)return lt*Oe+tt}return null},oe=Qe=>{const Oe=new Set;for(const et of Qe)et.wallsId.forEach(vt=>Oe.add(vt));R(et=>{for(const vt of et.elements)if(vt.type===z.Wall&&vt.foundationId===l&&Oe.has(vt.id)){const ct=vt;ct.leftRoofHeight=ze,ct.rightRoofHeight=ze,ct.centerLeftRoofHeight=void 0,ct.centerRightRoofHeight=void 0,ct.centerRoofHeight=void 0}})},de=(Qe,Oe,et,vt,ct,lt,tt)=>{if(et!==1&&et!==3)return;const it=et===3,{lh:At,rh:Mt}=ne(Oe,et),st=it?tt:ct,ft=it?ct:tt,Rt=it?lt:[-lt[0],lt[1]],zt=fe(Oe,et,vt,At,Mt,st,Rt,ft),Xe=zt.slice(1).map(mt=>mt.start),ht=Oe[et],Je=ht.wallsId.reduce((mt,Ge)=>{const xt=M.getState().elements.find(It=>It.id===Ge);return xt?[...mt,xt.lx+mt[mt.length-1]]:mt},[0]);for(let mt=0;mt=xt&&hn<=It){const cn=(hn-Et)/Lt,Sn=se(zt,hn);Sn!==null&&(Jt===0?an.centerLeft=[cn,Sn]:Jt===1?an.center=[cn,Sn]:Jt===2&&(an.centerRight=[cn,Sn]))}}Qe.set(Ge,an)}}return Qe},ve=(Qe,Oe,et,vt,ct)=>{const lt=new Map;return de(lt,Qe,1,Oe,et,vt,ct),de(lt,Qe,3,Oe,et,vt,ct),lt},Pe=(Qe,Oe,et,vt,ct)=>{const lt=new Set(Qe[0].wallsId),tt=new Set(Qe[2].wallsId),it=ve(Qe,Oe,et,vt,ct);R(At=>{for(const Mt of At.elements)if(Mt.type===z.Wall&&Mt.foundationId===l){if(lt.has(Mt.id)){const st=Mt,{lh:ft,rh:Rt}=ne(Qe,0);st.roofId=n,st.leftRoofHeight=ft,st.rightRoofHeight=Rt}else if(tt.has(Mt.id)){const st=Mt,{lh:ft,rh:Rt}=ne(Qe,2);st.roofId=n,st.leftRoofHeight=ft,st.rightRoofHeight=Rt}else if(it.has(Mt.id)){const st=it.get(Mt.id);if(st){const ft=Mt,{left:Rt,right:zt,center:Xe,centerLeft:ht,centerRight:Je}=st;if(ft.roofId=n,ft.leftRoofHeight=Rt,ft.rightRoofHeight=zt,ht){const[mt,Ge]=ht;ft.centerLeftRoofHeight?(ft.centerLeftRoofHeight[0]=mt,ft.centerLeftRoofHeight[1]=Ge):ft.centerLeftRoofHeight=[mt,Ge]}else ft.centerLeftRoofHeight=void 0;if(Xe){const[mt,Ge]=Xe;ft.centerRoofHeight?(ft.centerRoofHeight[0]=mt,ft.centerRoofHeight[1]=Ge):ft.centerRoofHeight=[mt,Ge]}else ft.centerRoofHeight=void 0;if(Je){const[mt,Ge]=Je;ft.centerRightRoofHeight?(ft.centerRightRoofHeight[0]=mt,ft.centerRightRoofHeight[1]=Ge):ft.centerRightRoofHeight=[mt,Ge]}else ft.centerRightRoofHeight=void 0}}}})},me=rye(a[0],l),{highestWallHeight:Re,topZ:ze}=aye(me,w,!0);qW(t,Re);const Ae=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me.map(et=>({x:et.leftPoint.x,y:et.leftPoint.y})),Oe=be.calculatePolygonCentroid(Qe);return new ae(Oe.x,Oe.y,ze)},[me,ze]),re=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[3],[Oe,et]=d;return pe(Qe,Oe,et).sub(Ae)},[me,Ae,d]),ge=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[1],[Oe,et]=d;return pe(Qe,-Oe,et).sub(Ae)},[me,Ae,d]),we=m.useMemo(()=>new ae().addVectors(re,ge).divideScalar(2),[re,ge]),ye=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[3],[Oe,et]=f;return pe(Qe,Oe,et,me[0]).sub(Ae)},[me,Ae,f]),Te=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[1],[Oe,et]=f;return pe(Qe,-Oe,et,me[0]).sub(Ae)},[me,Ae,f]),Ie=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[1],[Oe,et]=p;return pe(Qe,Oe,et,me[2]).sub(Ae)},[me,Ae,p]),Ce=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[3],[Oe,et]=p;return pe(Qe,-Oe,et,me[2]).sub(Ae)},[me,Ae,p]),Ee=m.useMemo(()=>!me||me.length!==4?[]:me.map(Qe=>In.getComposedWallNormal(Qe).multiplyScalar(Qe.eavesLength)),[me]),Ue=m.useMemo(()=>Mvt.clone().multiplyScalar(x),[x]),Ne=m.useMemo(()=>{const Qe=[];if(!me||me.length!==4)return Qe;const[Oe,et,vt,ct]=me,[lt,tt,it,At]=Ee,Mt=Oe.leftPoint,st=Oe.rightPoint,ft=vt.leftPoint,Rt=vt.rightPoint,zt=Mt.clone().add(lt),Xe=st.clone().add(lt),ht=Rt.clone().add(At),Je=Mt.clone().add(At),mt=st.clone().add(tt),Ge=ft.clone().add(tt),xt=ft.clone().add(it),It=Rt.clone().add(it),Tt=[],{lh:Dt,rh:Lt}=ne(me,0),Et=In.getDistance(Mt,st,ye.clone().add(Ae)),an=Math.min((Oe.eavesLength??0)/Et*(ye.clone().add(Ae).z-Dt),Dt),Jt=In.getDistance(Mt,st,Te.clone().add(Ae)),hn=Math.min((Oe.eavesLength??0)/Jt*(Te.clone().add(Ae).z-Lt),Lt),cn=In.getIntersectionPoint(ht,Je,zt,Xe).setZ(Dt-an).sub(Ae),Sn=In.getIntersectionPoint(zt,Xe,mt,Ge).setZ(Lt-hn).sub(Ae),Pn=In.getIntersectionPoint(ye,Te,ht.clone().sub(Ae),Je.clone().sub(Ae)).setZ(ye.z),Un=In.getIntersectionPoint(Te,ye,mt.clone().sub(Ae),Ge.clone().sub(Ae)).setZ(Te.z);Tt.push(cn,Sn,Un,Pn),Tt.push(cn.clone().add(Ue),Sn.clone().add(Ue),Un.clone().add(Ue),Pn.clone().add(Ue));const Ai=In.getComposedWallCenter(Oe),vo=-Oe.relativeAngle,Oo=new ae(Ai.x,Ai.y).sub(we.clone().setZ(0)).length();Qe.push({points:Tt,angle:vo,length:Oo});const li=[],po=In.getIntersectionPoint(re,ge,ht.clone().sub(Ae),Je.clone().sub(Ae)).setZ(re.z),eo=In.getIntersectionPoint(re,ge,mt.clone().sub(Ae),Ge.clone().sub(Ae)).setZ(ge.z);li.push(Pn,Un,eo,po),li.push(Pn.clone().add(Ue),Un.clone().add(Ue),eo.clone().add(Ue),po.clone().add(Ue)),Qe.push({points:li,angle:vo,length:Oo});const uo=-vt.relativeAngle,{lh:qo,rh:Hi}=ne(me,2),vi=In.getDistance(ft,Rt,Ie.clone().add(Ae)),Cn=Math.min((vt.eavesLength??0)/vi*(Ie.clone().add(Ae).z-qo),qo),yn=In.getDistance(ft,Rt,Ce.clone().add(Ae)),to=Math.min((vt.eavesLength??0)/yn*(Ce.clone().add(Ae).z-Hi),Hi),Do=In.getIntersectionPoint(mt,Ge,xt,It).setZ(qo-Cn).sub(Ae),ni=In.getIntersectionPoint(xt,It,ht,Je).setZ(Hi-to).sub(Ae),Fo=In.getIntersectionPoint(Ie,Ce,mt.clone().sub(Ae),Ge.clone().sub(Ae)).setZ(Ce.z),bo=In.getIntersectionPoint(Ce,Ie,ht.clone().sub(Ae),Je.clone().sub(Ae)).setZ(Ce.z),Ro=In.getComposedWallCenter(vt),oi=new ae(Ro.x,Ro.y).sub(we.clone().setZ(0)).length(),go=[];go.push(Fo,bo,po,eo),go.push(Fo.clone().add(Ue),bo.clone().add(Ue),po.clone().add(Ue),eo.clone().add(Ue)),Qe.push({points:go,angle:uo,length:oi});const So=[];return So.push(Do,ni,bo,Fo),So.push(Do.clone().add(Ue),ni.clone().add(Ue),bo.clone().add(Ue),Fo.clone().add(Ue)),Qe.push({points:So,angle:uo,length:oi}),Qe},[me,ze,x,d,f,p]),Le=m.useMemo(()=>!me||me.length!==4?null:me.map(Qe=>Qe.leftPoint),[me]);m.useEffect(()=>{(!me||me.length!==4)&&H(n,!1,!1,!0)},[me]);const qe=eQ();m.useEffect(()=>{if((me==null?void 0:me.length)!==4)return;(M.getState().addedRoofIdSet.has(n)||!qe)&&(Q?oe(me):Pe(me,ze,f,d,p),Q$(e,n,Ne,Ae,ze,x,Q),M.getState().deleteAddedRoofId(n))},[Ne]),lye(e,n,Ne,Ae,ze,x,Q);const We=()=>{const Qe=[];if(!me||me.length!==4)return Qe;const Oe=me.map((At,Mt,st)=>new ae(At.leftPoint.x,At.leftPoint.y,ne(st,Mt).lh)),et=ye.clone().add(Ae),vt=Te.clone().add(Ae),ct=Ie.clone().add(Ae),lt=Ce.clone().add(Ae),tt=re.clone().add(Ae),it=ge.clone().add(Ae);Qe.push([Oe[0],Oe[1],vt,et]),Qe.push([et,vt,it,tt]),Qe.push([tt,it,ct,lt]),Qe.push([Oe[2],Oe[3],lt,ct]),Q?bn.getState().setRoofSegmentVerticesWithoutOverhang(n,[Oe]):bn.getState().setRoofSegmentVerticesWithoutOverhang(n,Qe)},De=JW(n,Ae,Ne,Q,Vo.Gambrel);KW(We);const Fe=M(Qe=>Qe.elements.filter(Oe=>Oe.parentId===n&&Oe.type===z.Window),a3),_e=M(Vc),ot=gt(cs),Ye=M(wf),St=bn(n1),[dt,je]=m.useState(null),[at,ut]=m.useState([]);m.useEffect(()=>{if(ot)if(Q){const Qe=St(n);if(Qe){const Oe=be.fetchHeatmapTexture(Qe,Ye??5);if(Oe){const et=De();if(et&&et.length>0&&e){const vt=new Qt(0,0,e.rotation[2],"ZYX");let ct=Number.MAX_VALUE,lt=Number.MAX_VALUE,tt=-Number.MAX_VALUE,it=-Number.MAX_VALUE;for(const zt of et)for(const Xe of zt){const ht=Xe.clone().applyEuler(vt);ht.x>tt&&(tt=ht.x),ht.xit&&(it=ht.y),ht.y0){const Oe=[];for(let et=0;et{VW(Qe,e.id,n,Ne,Ae)},onPointerMove:Qe=>{XW(Qe,n)},onPointerUp:Qe=>{GW(Qe,t)},onContextMenu:Qe=>{dR(Qe,n)},children:Q?h.jsx(tQ,{id:n,foundationModel:e,roofType:S,roofSegments:Ne,center:new ae(Ae.x,Ae.y,ze),thickness:x,lineWidth:v,lineColor:b,sideColor:A,color:rt,textureType:g,heatmap:dt}):h.jsxs(h.Fragment,{children:[Ne.map((Qe,Oe,et)=>h.jsx(kq,{id:n,index:Oe,foundationModel:e,roofType:S,segment:Qe,centroid:Ae,thickness:x,color:rt,sideColor:A,texture:D,heatmap:at&&Oe0&&me[0].lz===me[2].lz&&Le&&h.jsx(dW,{cz:me[0].lz,points:Le}),P&&!C&&h.jsxs("group",{position:[Ae.x,Ae.y,Ae.z+x],children:[h.jsx(Qf,{position:[we.x,we.y,we.z],onPointerDown:Qe=>{if(_e(t.id,Qe,zo.Select),J.current=!0,_.current=w,F(!0),eie.set(we.x,we.y,ze).add(Ae),e){const Oe=-Math.atan2(k.position.x-o,k.position.y-i)-e.rotation[2];tie.set(-Vt,0,Oe,"ZXY")}L(ki.TopMid),Ln.getState().setEnableOrbitController(!1),R(Oe=>{Oe.resizeHandleType=yt.Top,Oe.selectedElementHeight=ze+t.thickness})},onPointerOver:()=>{R(Qe=>{Qe.hoveredHandle=ki.TopMid,Qe.selectedElementHeight=ze+t.thickness,Qe.selectedElementX=we.x,Qe.selectedElementY=we.y})}}),!Q&&h.jsxs(h.Fragment,{children:[h.jsx(Qf,{position:[re.x,re.y,re.z],onPointerDown:()=>{J.current=!0,Y.current=[...d],le(re,me[3]),L(ki.TopLeft)}}),h.jsx(Qf,{position:[ge.x,ge.y,ge.z],onPointerDown:()=>{J.current=!0,Y.current=[...d],le(ge,me[1]),L(ki.TopRight)}}),h.jsx(Qf,{position:[ye.x,ye.y,ye.z],onPointerDown:()=>{J.current=!0,Y.current=[...f],le(ye,me[3]),L(ki.FrontLeft)}}),h.jsx(Qf,{position:[Te.x,Te.y,Te.z],onPointerDown:()=>{J.current=!0,Y.current=[...f],le(Te,me[1]),L(ki.FrontRight)}}),h.jsx(Qf,{position:[Ie.x,Ie.y,Ie.z],onPointerDown:()=>{J.current=!0,Y.current=[...p],le(Ie,me[1]),L(ki.BackLeft)}}),h.jsx(Qf,{position:[Ce.x,Ce.y,Ce.z],onPointerDown:()=>{J.current=!0,Y.current=[...p],le(Ce,me[3]),L(ki.BackRight)}})]})]}),U&&h.jsx(sa,{name:"Roof Intersection Plane",ref:W,args:[1e3,100],visible:!1,position:eie,rotation:tie,onPointerMove:Qe=>{if(W.current&&J.current&&me&&me.length===4){q(Qe);const Oe=N.intersectObjects([W.current]);if(Oe[0]&&e){const et=Oe[0].point;if(et.z<.001)return;switch(E){case ki.TopMid:{const vt=Math.max(0,et.z-e.lz-.3-Re),ct=Re+vt,lt=ve(me,ct,f,d,p);K5(lt,l)&&M.getState().updateRoofRiseById(n,vt,ct+t.thickness);break}case ki.FrontLeft:{if(e&&me&&me.length===4){const vt=be.clamp(ie(e,me[3],et),d[0]+.05,.45),ct=ze-me[0].lz,lt=be.clamp((et.z-e.lz-me[0].lz)/ct,0,1),tt=[vt,lt],it=ve(me,ze,tt,d,p);K5(it,l)&&R(At=>{const Mt=At.elements.find(st=>Z(st));Mt&&(Mt.frontRidgePoint[0]=tt[0],Mt.frontRidgePoint[1]=tt[1])})}break}case ki.FrontRight:{if(e&&me&&me.length===4){const vt=be.clamp(ie(e,me[1],et),-.45,-d[0]-.05),ct=ze-me[0].lz,lt=be.clamp((et.z-e.lz-me[0].lz)/ct,0,1),tt=[-vt,lt],it=ve(me,ze,tt,d,p);K5(it,l)&&R(At=>{const Mt=At.elements.find(st=>Z(st));Mt&&(Mt.frontRidgePoint=[...tt])})}break}case ki.TopLeft:{if(e&&me&&me.length===4){const ct=[be.clamp(ie(e,me[3],et),-p[0]+.05,f[0]-.05),d[1]],lt=ve(me,ze,f,ct,p);K5(lt,l)&&R(tt=>{const it=tt.elements.find(At=>Z(At));it&&(it.topRidgePoint=[...ct])})}break}case ki.TopRight:{if(e&&me&&me.length===4){const ct=[-be.clamp(ie(e,me[1],et),-f[0]+.05,p[0]-.05),d[1]],lt=ve(me,ze,f,ct,p);K5(lt,l)&&R(tt=>{const it=tt.elements.find(At=>Z(At));it&&(it.topRidgePoint=[...ct])})}break}case ki.BackLeft:{if(e&&me&&me.length===4){const vt=be.clamp(ie(e,me[1],et),-d[0]+.05,.45),ct=ze-me[2].lz,lt=be.clamp((et.z-e.lz-me[2].lz)/ct,0,1),tt=[vt,lt],it=ve(me,ze,f,d,tt);K5(it,l)&&R(At=>{const Mt=At.elements.find(st=>Z(st));Mt&&(Mt.backRidgePoint=[...tt])})}break}case ki.BackRight:{if(e&&me&&me.length===4){const vt=be.clamp(ie(e,me[3],et),-.45,d[0]-.05),ct=ze-me[2].lz,lt=be.clamp((et.z-e.lz-me[2].lz)/ct,0,1),tt=[-vt,lt],it=ve(me,ze,f,d,tt);K5(it,l)&&R(At=>{const Mt=At.elements.find(st=>Z(st));Mt&&(Mt.backRidgePoint=[...tt])})}break}}}}},onPointerUp:()=>{switch(E){case ki.TopMid:{_W(n,_.current,w);break}case ki.TopLeft:case ki.TopRight:{$(n,E,Y.current,d);break}case ki.FrontLeft:case ki.FrontRight:{$(n,E,Y.current,f);break}case ki.BackLeft:case ki.BackRight:{$(n,E,Y.current,p);break}}J.current=!1,F(!1),L(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},zvt=Se.memo(Ivt,BH),Qj=new ae,Zj=new Qt,qwe=new Gt,Dvt=new ae(0,0,1),yz=Se.memo(({start:t,end:e,width:n,height:o,offset:i,color:r})=>{const a=m.useMemo(()=>new Gt(t.x,t.y),[t]),l=m.useMemo(()=>new Gt(e.x,e.y),[e]),s=m.useMemo(()=>new Gt().subVectors(l,a).angle(),[a,l]),c=m.useMemo(()=>{const u=new Ml,d=a.distanceTo(l),f=t.z-e.z;return u.moveTo(0,0),u.lineTo(d,-f),u.lineTo(d,-f+o),u.lineTo(0,o),u.closePath(),u},[t,e,a,l,o]);return h.jsx("group",{position:i,children:h.jsx($w,{args:[c,{steps:1,depth:n,bevelEnabled:!1}],position:t,rotation:[Vt,0,s,"ZXY"],castShadow:!0,receiveShadow:!0,children:h.jsx("meshStandardMaterial",{color:r})})})}),Evt=({ridgeLeftPoint:t,ridgeRightPoint:e,wallArray:n,height:o,isShed:i,width:r,spacing:a,color:l})=>{const[s,c,u,d]=n,f=m.useMemo(()=>new ae().subVectors(e,t).normalize(),[]),p=m.useMemo(()=>t.clone().add(f.clone().multiplyScalar(-(d.eavesLength??0)/2)),[t,d.eavesLength]),g=m.useMemo(()=>e.clone().add(f.clone().multiplyScalar((c.eavesLength??0)/2)),[t,c.eavesLength]),y=s.leftPoint.clone().setZ(s.lz),A=u.rightPoint.clone().setZ(u.lz),x=m.useMemo(()=>{if(n.length<4)return[];const S=new ae().subVectors(new ae(s.rightPoint.x,s.rightPoint.y,s.lz),y).normalize(),w=new ae().subVectors(new ae(u.leftPoint.x,u.leftPoint.y,u.lz),A).normalize(),T=t.distanceTo(e),P=new ae().subVectors(s.leftPoint,s.rightPoint).length(),R=new ae().subVectors(u.leftPoint,u.rightPoint).length(),H=r,D=Math.floor((Math.min(T,P,R)-r)/a)+2;return new Array(D).fill(0).map((E,L)=>{let U;L===D-1?U=T:U=L*a+H;const F=t.clone().add(f.clone().multiplyScalar(U)),W=y.clone().add(S.clone().multiplyScalar(U)),B=A.clone().add(w.clone().multiplyScalar(U)),k=new ae().subVectors(W,F).normalize().multiplyScalar(s.eavesLength??0),N=new ae().subVectors(B,F).normalize().multiplyScalar(u.eavesLength??0);return W.add(k),B.add(N),{ridge:F,front:W,back:B}})},[a,t]),C=t.distanceTo(y)>t.distanceTo(A),b=new ae(-r,0,0),v=new ae(0,r/2,0);return h.jsxs(h.Fragment,{children:[x.map((S,w)=>h.jsx(Se.Fragment,{children:i?C?h.jsx(yz,{start:S.ridge,end:S.front,width:r,height:o,color:l}):h.jsx(yz,{start:S.ridge,end:S.back,width:r,height:o,color:l}):h.jsxs(h.Fragment,{children:[h.jsx(yz,{start:S.ridge,end:S.front,width:r,height:o,color:l}),h.jsx(yz,{start:S.ridge,end:S.back,width:r,height:o,color:l,offset:b})]})},w)),h.jsx(yz,{start:p,end:g,width:r,height:o,color:l,offset:v})]})},kvt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new ae(0,0,e),a=t.length===1;for(const f of t){const[p,g,y,A]=f.points;i.push(A,p,g,y),a&&i.push(A)}const l=Math.abs(t[0].points[0].z)<.015,s=t[0].points[3],c=t[0].points[2],u=h.jsx(Fn,{points:i,lineWidth:n,color:o}),d=h.jsx(Fn,{points:[s,c],lineWidth:n,color:o});return h.jsxs(h.Fragment,{children:[u,!l&&!a&&d,h.jsxs("group",{position:[0,0,e],children:[u,!l&&!a&&d]}),t.map((f,p)=>{const[g,y,A,x]=f.points;return h.jsxs("group",{children:[h.jsx(Fn,{points:[g,g.clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[y,y.clone().add(r)],lineWidth:n,color:o}),a&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[A,A.clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[x,x.clone().add(r)],lineWidth:n,color:o})]})]},p)})]})}),Fvt=({roofModel:t,foundationModel:e})=>{let{id:n,parentId:o,wallsId:i,lz:r,rise:a=r,thickness:l=.2,ridgeLeftPoint:s,ridgeRightPoint:c,textureType:u,color:d="white",sideColor:f="white",locked:p,lineColor:g="black",lineWidth:y=.2,roofStructure:A,rafterSpacing:x=2,rafterWidth:C=.1,rafterColor:b="white",glassTint:v="#73D8FF",opacity:S=.5,ceiling:w=!1}=t;const T=M(dn),P=M(hp),R=Hs(n);[g,y]=In.getWireframetStyle(g,y,R,p);const{gl:H,camera:D}=Xi(),E=m.useMemo(()=>new Gs,[]),L=m.useMemo(()=>new Gt,[]),[U,F]=m.useState(!1),[W,B]=m.useState(ki.Null),k=Math.abs(s[0])>.45,N=m.useRef(null),j=m.useRef(s[0]),Y=m.useRef(c[0]),_=m.useRef(a),J=m.useRef(!1),Q=(De,Fe,_e)=>{T(ot=>{for(const Ye of ot.elements)if(Ye.id===De&&Ye.type===z.Roof&&Ye.roofType===Vo.Gable){Ye.ridgeLeftPoint[0]=Fe,Ye.ridgeRightPoint[0]=_e;break}})},ee=(De,Fe,_e,ot,Ye)=>{const St={name:"Resize Gable Roof Ridge",timestamp:Date.now(),resizedElementId:De,resizedElementType:z.Roof,oldLeft:Fe,oldRight:_e,newLeft:ot,newRight:Ye,undo:()=>{Q(St.resizedElementId,Fe,_e)},redo:()=>{Q(St.resizedElementId,ot,Ye)}};M.getState().addUndoable(St)},$=De=>{L.x=De.offsetX/H.domElement.clientWidth*2-1,L.y=-(De.offsetY/H.domElement.clientHeight)*2+1,E.setFromCamera(L,D)},q=(De,Fe,_e)=>{const ot=new Gt(De.cx,De.cy),Ye=new ae().addVectors(Fe.leftPoint,Fe.rightPoint).divideScalar(2),St=new ae().subVectors(Fe.leftPoint,Fe.rightPoint).length(),dt=new Gt(Ye.x,Ye.y).rotateAround(qwe,De.rotation[2]).add(ot),je=De.rotation[2]+Fe.relativeAngle,ut=new Gt(_e.x,_e.y).sub(dt).rotateAround(qwe,-je).x/St;return Math.min(Math.abs(ut),.5)*(ut>=0?1:-1)},le=(De,Fe,_e)=>{if(!De)return new ae;const ot=new ae().subVectors(De.leftPoint,De.rightPoint).length(),Ye=new ae().addVectors(De.leftPoint,De.rightPoint).divideScalar(2),St=new Qt(0,0,De.relativeAngle),dt=new ae(Fe*ot,0,0),je=_e*a+de;return new ae(Ye.x,Ye.y,je).add(dt.applyEuler(St))},ie=(De,Fe)=>{const _e=De[Fe];let ot,Ye;return Fe===0||Fe===2?(ot=_e.lz,Ye=_e.lz):Fe===1?(ot=De[0].lz,Ye=De[2].lz):(ot=De[2].lz,Ye=De[0].lz),{lh:ot,rh:Ye}},pe=(De,Fe)=>{const _e=De.slice().reverse();return ne(_e,0,Fe-1),ne(_e,Fe,_e.length-1),_e},ne=(De,Fe,_e)=>{for(;Fe<_e;){const ot=De[Fe];De[Fe]=De[_e],De[_e]=ot,Fe++,_e--}},Z=(De,Fe,_e)=>De*_e+Fe,he=(De,Fe,_e,ot,Ye)=>{const St=Fe[_e],dt=new ae().subVectors(St.leftPoint,St.rightPoint).length(),je=(Ye[0]+.5)*dt,{lh:at,rh:ut}=ie(Fe,_e),wt=Ye[1]*(ot-at)/je,rt=at,Qe=-(Ye[1]*(ot-ut))/(dt-je),Oe=ut-Qe*dt,et=St.wallsId.reduce((vt,ct)=>{const lt=M.getState().elements.find(tt=>tt.id===ct);return lt?[...vt,lt.lx+vt[vt.length-1]]:vt},[0]);for(let vt=0;vtje&&(At.center=[(je-lt)/it-.5,ot]),De.set(ct,At)}return De},fe=(De,Fe,_e,ot)=>{const Ye=new Map;return he(Ye,De,1,Fe,ot),he(Ye,De,3,Fe,_e),Ye},se=(De,Fe,_e,ot)=>{const[Ye,St,dt,je]=De,at=new Set(Ye.wallsId),ut=new Set(dt.wallsId),wt=fe(De,Fe,_e,ot);T(rt=>{for(const Qe of rt.elements)if(Qe.type===z.Wall&&Qe.foundationId===o){if(at.has(Qe.id)){const Oe=Qe;if(Oe.roofId=n,_e[0]===.5)Oe.leftRoofHeight=Fe,Oe.rightRoofHeight=Fe,Oe.centerRoofHeight=void 0;else{const{lh:et,rh:vt}=ie(De,0);Oe.leftRoofHeight=et,Oe.rightRoofHeight=vt}}else if(ut.has(Qe.id)){const Oe=Qe;if(Oe.roofId=n,_e[0]===-.5)Oe.leftRoofHeight=Fe,Oe.rightRoofHeight=Fe,Oe.centerRoofHeight=void 0;else{const{lh:et,rh:vt}=ie(De,2);Oe.leftRoofHeight=et,Oe.rightRoofHeight=vt}}else if(wt.has(Qe.id)){const Oe=wt.get(Qe.id);if(Oe){const et=Qe,{left:vt,right:ct,center:lt}=Oe;if(et.roofId=n,et.leftRoofHeight=vt,et.rightRoofHeight=ct,lt){const[tt,it]=lt;et.centerRoofHeight?(et.centerRoofHeight[0]=tt,et.centerRoofHeight[1]=it):et.centerRoofHeight=[tt,it]}else et.centerRoofHeight=void 0}}}})},oe=rye(i[0],o),{highestWallHeight:de,topZ:ve}=aye(oe,a,!0);qW(t,de);const Pe=m.useMemo(()=>{if(oe===null||oe.length!==4)return new ae;const De=oe.map(_e=>({x:_e.leftPoint.x,y:_e.leftPoint.y})),Fe=be.calculatePolygonCentroid(De);return new ae(Fe.x,Fe.y,ve)},[oe,ve]),me=m.useMemo(()=>{if(oe===null)return new ae;const De=oe[3],[Fe,_e]=s;return le(De,Fe,_e)},[oe,ve,s]),Re=m.useMemo(()=>{if(oe===null)return new ae;const De=oe[1],[Fe,_e]=c;return le(De,Fe,_e)},[oe,ve,c]),ze=m.useMemo(()=>new ae((me.x+Re.x)/2,(me.y+Re.y)/2,ve),[me,Re]),Ae=m.useMemo(()=>!oe||oe.length!==4?null:oe.map(De=>In.getComposedWallNormal(De).multiplyScalar(De.eavesLength)),[oe]),re=m.useMemo(()=>Dvt.clone().multiplyScalar(l),[l]),ge=m.useMemo(()=>{const De=[];if(!oe||oe.length!==4||!Ae)return De;if(k){const Fe=[],_e=s[0]<0?0:2,ot=pe(oe,_e),Ye=pe(Ae,_e),[St,dt,je,at]=ot,[ut,wt,rt,Qe]=Ye,Oe=St.leftPoint,et=St.rightPoint,vt=je.leftPoint,ct=je.rightPoint,lt=Oe.clone().add(ut),tt=et.clone().add(ut),it=ct.clone().add(Qe),At=Oe.clone().add(Qe),Mt=et.clone().add(wt),st=vt.clone().add(wt),ft=vt.clone().add(rt),Rt=ct.clone().add(rt),{lh:zt,rh:Xe}=ie(ot,0),{lh:ht,rh:Je}=ie(ot,2),mt=In.getDistance(Oe,et,ct),Ge=Math.min((St.eavesLength??0)/mt*(ve-zt),zt),xt=In.getDistance(Oe,et,vt),It=Math.min((St.eavesLength??0)/xt*(ve-Xe),Xe),Tt=In.getDistance(vt,ct,et),Dt=Math.min((je.eavesLength??0)/Tt*(ve-Xe),ht),Lt=In.getDistance(vt,ct,Oe),Et=Math.min((je.eavesLength??0)/Lt*(ve-zt),Je),an=In.getIntersectionPoint(it,At,lt,tt).setZ(zt-Ge).sub(Pe),Jt=In.getIntersectionPoint(lt,tt,Mt,st).setZ(Xe-It).sub(Pe),hn=In.getIntersectionPoint(Mt,st,ft,Rt).setZ(ve+Dt).sub(Pe),cn=In.getIntersectionPoint(ft,Rt,it,At).setZ(ve+Et).sub(Pe);Fe.push(an,Jt,hn,cn),Fe.push(an.clone().add(re),Jt.clone().add(re),hn.clone().add(re),cn.clone().add(re));const Pn=new ae().addVectors(St.leftPoint,St.rightPoint).divideScalar(2).clone().sub(ze.clone().setZ(0)).length();De.push({points:Fe,angle:-St.relativeAngle,length:Pn})}else{const[Fe,_e,ot,Ye]=oe,[St,dt,je,at]=Ae,ut=Fe.leftPoint.clone().add(St),wt=Fe.rightPoint.clone().add(St),rt=ot.rightPoint.clone().add(at),Qe=Fe.leftPoint.clone().add(at),Oe=Fe.rightPoint.clone().add(dt),et=ot.leftPoint.clone().add(dt),vt=ot.leftPoint.clone().add(je),ct=ot.rightPoint.clone().add(je),lt=In.getIntersectionPoint(me,Re,rt.clone(),Qe.clone()).setZ(me.z).sub(Pe),tt=In.getIntersectionPoint(me,Re,Oe.clone(),et.clone()).setZ(Re.z).sub(Pe),it=[],{lh:At,rh:Mt}=ie(oe,0),st=In.getDistance(Fe.leftPoint,Fe.rightPoint,me),ft=Math.min((Fe.eavesLength??0)/st*(me.z-At),At),Rt=In.getDistance(Fe.leftPoint,Fe.rightPoint,Re),zt=Math.min((Fe.eavesLength??0)/Rt*(Re.z-Mt),Mt),Xe=In.getIntersectionPoint(rt,Qe,ut,wt).setZ(At-ft).sub(Pe),ht=In.getIntersectionPoint(ut,wt,Oe,et).setZ(Mt-zt).sub(Pe);it.push(Xe,ht,tt,lt),it.push(Xe.clone().add(re),ht.clone().add(re),tt.clone().add(re),lt.clone().add(re));const mt=new ae().addVectors(Fe.leftPoint,Fe.rightPoint).divideScalar(2).clone().sub(Pe.clone().setZ(0)).length();De.push({points:it,angle:-Fe.relativeAngle,length:mt});const Ge=[],{lh:xt,rh:It}=ie(oe,2),Tt=In.getDistance(ot.leftPoint,ot.rightPoint,Re),Dt=Math.min((ot.eavesLength??0)/Tt*(Re.z-xt),xt),Lt=In.getDistance(ot.leftPoint,ot.rightPoint,me),Et=Math.min((ot.eavesLength??0)/Lt*(me.z-It),It),an=In.getIntersectionPoint(Oe,et,vt,ct).setZ(xt-Dt).sub(Pe),Jt=In.getIntersectionPoint(vt,ct,rt,Qe).setZ(It-Et).sub(Pe);Ge.push(an,Jt,lt,tt),Ge.push(an.clone().add(re),Jt.clone().add(re),lt.clone().add(re),tt.clone().add(re));const cn=new ae().addVectors(ot.leftPoint,ot.rightPoint).divideScalar(2).clone().sub(Pe.clone().setZ(0)).length();De.push({points:Ge,angle:-ot.relativeAngle,length:cn})}return De},[oe,me,Re,ve,l]),we=m.useMemo(()=>!oe||oe.length!==4?null:oe.map(De=>De.leftPoint),[oe]);m.useEffect(()=>{(!oe||oe.length!==4)&&P(n,!1,!1,!0)},[oe]);const ye=eQ();m.useEffect(()=>{if((oe==null?void 0:oe.length)!==4)return;(M.getState().addedRoofIdSet.has(n)||!ye)&&(se(oe,ve,s,c),Q$(e,n,ge,Pe,ve,l),M.getState().deleteAddedRoofId(n))},[ge]),lye(e,n,ge,Pe,ve,l);const Te=()=>{if(!oe||oe.length!==4)return;const De=[];if(k){const Fe=s[0]<0?0:2,ot=pe(oe,Fe).map((Ye,St,dt)=>new ae(Ye.leftPoint.x,Ye.leftPoint.y,ie(dt,St).lh));De.push(ot)}else{const Fe=oe.map((_e,ot,Ye)=>new ae(_e.leftPoint.x,_e.leftPoint.y,ie(Ye,ot).lh));De.push([Fe[0],Fe[1],Re.clone(),me.clone()]),De.push([Fe[2],Fe[3],me.clone(),Re.clone()])}bn.getState().setRoofSegmentVerticesWithoutOverhang(n,De)};JW(n,Pe,ge,!1,Vo.Gable),KW(Te);const Ie=M(De=>De.elements.filter(Fe=>Fe.parentId===n&&Fe.type===z.Window),a3),Ce=M(Vc),Ee=gt(cs),Ue=M(wf),Ne=bn(n1),[Le,qe]=m.useState([]);m.useEffect(()=>{if(Ee){const De=ge.length;if(De>0){const Fe=[];for(let _e=0;_e{VW(De,e.id,n,ge,Pe)},onPointerMove:De=>{XW(De,n)},onPointerUp:De=>{GW(De,t)},onContextMenu:De=>{dR(De,n)},children:[ge.map((De,Fe,_e)=>{const{points:ot,angle:Ye,length:St}=De,dt=Math.abs(ot[0].z)<.1;return oe?h.jsx(Lvt,{index:Fe,id:n,points:ot,centroid:Pe,angle:dt?_e[0].angle:Ye,length:dt?1:St,textureType:u,heatmaps:Le,color:d,sideColor:f,roofStructure:A,glassTint:v,opacity:S,relativeAngle:Fe===0?oe[0].relativeAngle:oe[2].relativeAngle,foundation:e,windows:Ie},Fe):null}),S>0&&h.jsx(kvt,{roofSegments:ge,thickness:l,lineColor:g,lineWidth:A===yc.Rafter?.1:y})]}),w&&a>0&&oe[0].lz===oe[2].lz&&we&&h.jsx(dW,{cz:oe[0].lz,points:we}),A===yc.Rafter&&oe&&oe.length===4&&h.jsx("group",{onContextMenu:De=>{dR(De,n)},onPointerDown:De=>{QKe(De,n,o)},children:h.jsx(Evt,{ridgeLeftPoint:me,ridgeRightPoint:Re,wallArray:oe,overhang:0,isShed:k,height:l,spacing:x,color:b,width:C})}),R&&!p&&h.jsxs("group",{position:[0,0,l],children:[h.jsx(Qf,{position:[ze.x,ze.y,ze.z+.15],onPointerDown:De=>{if(Ce(t.id,De,zo.Select),J.current=!0,_.current=a,F(!0),Qj.set(ze.x,ze.y,ve),e){const Fe=-Math.atan2(D.position.x-e.cx,D.position.y-e.cy)-e.rotation[2];Zj.set(-Vt,0,Fe,"ZXY")}B(ki.Mid),Ln.getState().setEnableOrbitController(!1),T(Fe=>{Fe.resizeHandleType=yt.Top,Fe.selectedElementHeight=ve+t.thickness})},onPointerOver:()=>{T(De=>{De.hoveredHandle=ki.Mid,De.selectedElementHeight=ve+t.thickness,De.selectedElementX=ze.x,De.selectedElementY=ze.y})}}),h.jsx(Qf,{position:[me.x,me.y,me.z+.15],onPointerDown:()=>{if(J.current=!0,j.current=s[0],Y.current=c[0],F(!0),Qj.set(me.x,me.y,ve),e&&oe&&oe[3]){const De=new ae().subVectors(me,D.position).normalize(),Fe=Math.atan2(De.z,Math.hypot(De.x,De.y)),_e=oe[3].relativeAngle;Zj.set(-Vt+Fe,0,_e,"ZXY")}B(ki.Left),Ln.getState().setEnableOrbitController(!1)}}),h.jsx(Qf,{position:[Re.x,Re.y,Re.z+.15],onPointerDown:()=>{if(J.current=!0,j.current=s[0],Y.current=c[0],F(!0),Qj.set(Re.x,Re.y,ve),e&&oe&&oe[1]){const De=new ae().subVectors(Re,D.position).normalize(),Fe=Math.atan2(De.z,Math.hypot(De.x,De.y)),_e=oe[1].relativeAngle;Zj.set(-Vt+Fe,0,_e,"ZXY")}B(ki.Right),Ln.getState().setEnableOrbitController(!1)}})]}),U&&h.jsx(sa,{name:"Roof Intersection Plane",ref:N,args:[1e3,100],visible:!1,position:Qj,rotation:Zj,onPointerMove:De=>{if(N.current&&J.current&&e&&oe&&oe.length===4){$(De);const Fe=E.intersectObjects([N.current]);if(Fe[0]){const _e=Fe[0].point;if(_e.z<.001)return;switch(W){case ki.Left:{const ot=oe[3];if(ot){let Ye=q(e,ot,_e);Math.abs(Ye)>=.45&&Math.abs(Ye)<.5&&(Ye=.45*Math.sign(Ye));const St=[Ye,s[1]],dt=[-Ye,c[1]],je=fe(oe,ve,St,dt);K5(je,o)&&Q(n,Ye,-Ye)}break}case ki.Right:{const ot=oe[1];if(ot){let Ye=q(e,ot,_e);Math.abs(Ye)>=.45&&Math.abs(Ye)<.5&&(Ye=.45*Math.sign(Ye));const St=[-Ye,s[1]],dt=[Ye,c[1]],je=fe(oe,ve,St,dt);K5(je,o)&&Q(n,-Ye,Ye)}break}case ki.Mid:{let ot;k?ot=Math.max(0,_e.z-e.lz-.3-de):ot=Math.max(-de+.01,_e.z-e.lz-.3-de);const Ye=de+ot,St=fe(oe,Ye,s,c);K5(St,o)&&M.getState().updateRoofRiseById(n,ot,ve+t.thickness);break}}}}},onPointerUp:()=>{switch(W){case ki.Mid:{_W(n,_.current,a);break}case ki.Left:case ki.Right:ee(n,j.current,Y.current,s[0],c[0])}J.current=!1,F(!1),B(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},Lvt=({index:t,id:e,points:n,centroid:o,angle:i,length:r,textureType:a,heatmaps:l,color:s="white",sideColor:c,relativeAngle:u,foundation:d,roofStructure:f,glassTint:p,opacity:g=.5,windows:y})=>{const A=M.getState().world;M(jn);const x=M(Q9),C=gt(cs),b=gt(i3),v=M(X2),S=M(q9),w=M($9),T=bn($L),P=bn.getState().hourlyHeatExchangeArrayMap,R=jH(f===yc.Rafter?Ui.NoTexture:a),{transparent:H,opacity:D}=Z$(f===yc.Rafter,g),{invalidate:E}=Xi(),L=m.useRef(null),U=m.useRef(null),F=m.useRef(null),W=m.useRef(null),B=m.useRef(0),k=m.useRef(),N=m.useRef(),[j,Y]=m.useState(0),[_,J]=m.useState(0),[Q,ee]=m.useState(!0),$=(Z,he)=>Z.clone().setZ(0).distanceTo(he.clone().setZ(0))>2,q=Z=>Math.abs(Z){if(!b)return;const Z=T(e);if(!Z)return;const he=[],[fe,se,oe,de,ve]=n,Pe=ve.z-fe.z,me=new ae(0,0,Pe+.1);for(const Re of Z.values()){let ze=[];ze.push(Re[0].clone().sub(o).add(me)),ze.push(Re[1].clone().sub(o).add(me)),he.push(ze),ze=[],ze.push(Re[0].clone().sub(o).add(me)),ze.push(Re[3].clone().sub(o).add(me)),he.push(ze),ze=[],ze.push(Re[1].clone().sub(o).add(me)),ze.push(Re[2].clone().sub(o).add(me)),he.push(ze)}return he},[b]),ie=m.useMemo(()=>{if(!b||d&&d.notBuilding)return;const Z=P.get(e+"-"+t);if(!Z)return;const he=Z.reduce((je,at)=>je+at,0),fe=T(e);if(!fe||!fe[t])return;const[se,oe,de,ve,Pe]=n,me=Pe.z-se.z,Re=fe[t].map(je=>je.clone().sub(o).add(new ae(0,0,me)));if(!Re)return;let ze=be.getTriangleArea(Re[0],Re[1],Re[2])+be.getTriangleArea(Re[2],Re[3],Re[0]);if(ze===0)return;let Ae=x(z.Window,e);const re=T(e);if(re&&re[t]&&(Ae=Ae.filter(je=>{const at=je,ut=at.cy+(at.windowType===Sr.Polygonal&&at.polygonTop?at.polygonTop[1]/2:0);return In.onSegment(re[t],je.cx,ut)})),Ae&&Ae.length>0)for(const je of Ae)ze-=be.getWindowArea(je);const ge=K9*(A.solarRadiationHeatmapGridCellSize??.5),we=Re[0].clone(),ye=Re[1].clone(),Te=Re[2].clone(),Ie=new ae().subVectors(ye,we),Ce=new ae().subVectors(Te,we),Ee=new ae().subVectors(Te,ye),Ue=Ie.length(),Ne=new ae().crossVectors(Ce,Ee).length()/Ue,Le=Math.max(2,Math.round(Ue/ge)),qe=Math.max(2,Math.round(Ne/ge));Ie.normalize(),Ce.normalize(),Ee.normalize();const We=new ae().crossVectors(Ce,Ee).normalize(),De=Ie.multiplyScalar(.5*Ue/Le),Fe=new ae().crossVectors(We,Ie).normalize().multiplyScalar(.5*Ne/qe),_e=we.clone().add(De).add(Fe);De.multiplyScalar(2),Fe.multiplyScalar(2);const ot=he/ze*(v??Vm);B.current=ot<0?1:0,k.current=We.clone().multiplyScalar(.1),N.current=be.getEuler(Po,We,"YXZ",-Math.sign(ot)*Vt);const Ye=[],St=new ae;let dt;for(let je=0;je0){const wt=St.x+o.x,rt=St.y+o.y;for(const Qe of Ae){const Oe=In.getRelativeWindowVerticesOnRoof(Qe),et=be.getPoints(Oe);if(be.isPointInside(wt,rt,et)){dt=!1;break}}}if(dt){const wt=[];ot<0?(wt.push(St.clone()),wt.push(St.clone().add(We.clone().multiplyScalar(-ot)))):(wt.push(St.clone()),wt.push(St.clone().add(We.clone().multiplyScalar(ot)))),Ye.push(wt)}}}return Ye},[b,v,o,n]);m.useEffect(()=>{const[Z,he,fe,se,oe]=n,de=oe.z-Z.z;if(L.current){const ve=L.current.geometry;if(ve){const Pe=new Float32Array(18),me=de+.01;Pe[0]=n[0].x,Pe[1]=n[0].y,Pe[2]=n[0].z+me,Pe[3]=n[1].x,Pe[4]=n[1].y,Pe[5]=n[1].z+me,Pe[6]=n[2].x,Pe[7]=n[2].y,Pe[8]=n[2].z+me,Pe[9]=n[2].x,Pe[10]=n[2].y,Pe[11]=n[2].z+me,Pe[12]=n[3].x,Pe[13]=n[3].y,Pe[14]=n[3].z+me,Pe[15]=n[0].x,Pe[16]=n[0].y,Pe[17]=n[0].z+me,ve.setAttribute("position",new hi(Pe,3)),ve.computeVertexNormals();const Re=[];Re.push(0,0),Re.push(1,0),Re.push(1,1),Re.push(1,1),Re.push(0,1),Re.push(0,0),ve.setAttribute("uv",new hi(Re,2))}}if(U.current){U.current.geometry=new rce(n,i,r);const ve=$(Z,se)&&$(he,fe);if(ee(ve),f===yc.Glass&&ve){const Pe=be.calculatePolygonCentroid(n.map(be.mapVector3ToPoint2)),me=new ae(Pe.x,Pe.y,0),Re=.25,ze=new ae().addVectors(Z,me.clone().sub(Z).setZ(0).normalize().multiplyScalar(Re)),Ae=new ae().addVectors(he,me.clone().sub(he).setZ(0).normalize().multiplyScalar(Re)),re=new ae().addVectors(fe,me.clone().sub(fe).normalize().multiplyScalar(Re)),ge=new ae().addVectors(se,me.clone().sub(se).normalize().multiplyScalar(Re)),we=[];we.push(ze),we.push(Ae),we.push(re.setZ(Ae.z)),we.push(ge.setZ(ze.z)),we.push(ze.clone().setZ(1)),we.push(Ae.clone().setZ(1)),we.push(re.clone().setZ(1)),we.push(ge.clone().setZ(1));const ye=new es(new rce(we)),Te=ac.subtract(U.current,ye);if(U.current.geometry=Te.geometry,q(u)){const Ce=ze.distanceTo(Ae),Ee=Z.distanceTo(se);Y(Ce),J(Ee);const Ue=new ae().subVectors(Z,se).angleTo(new ae(0,-1,0));F.current&&(F.current.scale.set(Ce,Ee,1),F.current.rotation.set(Ue,0,0)),W.current&&W.current.rotation.set(Ue-Vt,0,0)}else{const Ce=Z.distanceTo(se),Ee=ze.distanceTo(Ae);Y(Ce),J(Ee);const Ue=new ae().subVectors(Z,se).angleTo(new ae(1,0,0));F.current&&(F.current.scale.set(Ce,Ee,1),F.current.rotation.set(0,Ue,0)),W.current&&W.current.rotation.set(Vt,Ue,0,"YXZ")}const Ie=(Z.z+se.z)/2+de*.75;F.current&&F.current.position.set(Pe.x,Pe.y,Ie),W.current&&W.current.position.set(Pe.x,Pe.y,Ie)}}E()},[n,i,r,u,Q,C,f]);const pe={points:n,angle:i,length:r},ne=a===Ui.Default||a===Ui.NoTexture?s:"white";return h.jsxs(h.Fragment,{children:[(D>0&&f===yc.Rafter||f!==yc.Rafter)&&h.jsx(h.Fragment,{children:h.jsx(gYe,{id:e,index:t,segment:pe,color:ne,sideColor:c??"white",texture:R,heatmap:l[t],transparent:H,opacity:D,windows:y,centroid:o})}),le&&le.map((Z,he)=>h.jsx(Fn,{points:Z,color:"gray",lineWidth:.5,dashed:!0,dashSize:.2,gapSize:.1,receiveShadow:!1,castShadow:!1,name:"Overhang Boundary "+he},he)),ie&&ie.map((Z,he)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:Z,name:"Heat Flux "+he,lineWidth:w??Gm,color:S??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:k.current?Z[B.current].clone().add(k.current):Z[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:N.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:S??g0})})]},he))]})},Wvt=Se.memo(Fvt,BH),Nvt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new ae(0,0,e);for(let u=0;u{const[f,p,g,y]=u.points,A=[f.clone().sub(r),f];return h.jsx(Fn,{points:A,lineWidth:n,color:o},d)})]})]})}),y4=new ae,A4=new Qt,Uvt=new ae(0,0,1),Bvt=({roofModel:t,foundationModel:e})=>{let{id:n,parentId:o,cx:i,cy:r,lz:a,wallsId:l,leftRidgeLength:s,rightRidgeLength:c,textureType:u,color:d="white",sideColor:f="white",thickness:p=.2,locked:g,lineColor:y="black",lineWidth:A=.2,roofType:x,rise:C=a,ceiling:b=!1}=t;const v=M(jn),S=M(dn),w=M(hp),T=rye(l[0],o),P=jH(u),R=Hs(n),[H,D]=m.useState(!1),[E,L]=m.useState(ki.Null),[U,F]=m.useState(s),[W,B]=m.useState(c),{highestWallHeight:k,topZ:N}=aye(T,C);qW(t,k);const j=m.useRef(null),{gl:Y,camera:_}=Xi(),J=m.useMemo(()=>new Gs,[]),Q=m.useMemo(()=>new Gt,[]),ee=m.useRef(!1),$=m.useRef(C),q=C<.01;[y,A]=In.getWireframetStyle(y,A,R,g),m.useEffect(()=>{F(s)},[s]),m.useEffect(()=>{B(c)},[c]);const le=(We,De,Fe,_e=!1)=>{S(ot=>{for(const Ye of ot.elements)if(Ye.id===We&&Ye.type===z.Roof&&Ye.roofType===Vo.Hip){Ye.leftRidgeLength=De,Ye.rightRidgeLength=Fe,_e&&(ot.updateElementOnRoofFlag=!0);break}})},ie=(We,De,Fe,_e,ot)=>{const Ye={name:"Resize Hip Roof Ridge",timestamp:Date.now(),resizedElementId:We,resizedElementType:z.Roof,oldLeftRidgeLength:De,oldRightRidgeLength:Fe,newLeftRidgeLength:_e,newRightRidgeLength:ot,undo:()=>{le(Ye.resizedElementId,Ye.oldLeftRidgeLength,Ye.oldRightRidgeLength,!0)},redo:()=>{le(Ye.resizedElementId,Ye.newLeftRidgeLength,Ye.newRightRidgeLength,!0)}};M.getState().addUndoable(Ye)},pe=We=>{const De=[];for(const Fe of We)De.push({x:Fe.leftPoint.x,y:Fe.leftPoint.y});return De},ne=We=>{Q.x=We.offsetX/Y.domElement.clientWidth*2-1,Q.y=-(We.offsetY/Y.domElement.clientHeight)*2+1,J.setFromCamera(Q,_)},Z=(We,De,Fe,_e,ot)=>{We.push(De,Fe,_e),ot&&We.push(ot),We.push(De.clone().add(Pe),Fe.clone().add(Pe),_e.clone().add(Pe)),ot&&We.push(ot.clone().add(Pe))},he=()=>{if(T===null||T.length!==4)return 0;const We=T.map(_e=>_e.leftPoint),De=[se,oe,oe,se];let Fe=1/0;for(let _e=0;_e<4;_e++){const ot=T[_e],Ye=In.getDistance(We[_e],We[(_e+1)%4],De[_e]),St=Math.min((ot.eavesLength??0)/Ye*(De[_e].z-ot.lz),ot.lz),dt=In.getDistance(We[_e],We[(_e+1)%4],De[(_e+1)%4]),je=Math.min((ot.eavesLength??0)/dt*(De[(_e+1)%4].z-ot.lz),ot.lz);Fe=Math.min(Math.min(St,je),Fe)}return Number.isNaN(Fe)?0:Fe},fe=m.useMemo(()=>{if(T===null||T.length!==4)return new Gt;const We=pe(T),De=be.calculatePolygonCentroid(We);return new Gt(De.x,De.y)},[T]),se=m.useMemo(()=>{const We=new ae,De=new ae(fe.x,fe.y,N),Fe=v(l[0]);return Fe&&We.setX(-U).applyEuler(new Qt(0,0,Fe.relativeAngle)).add(De),We},[fe,N,U]),oe=m.useMemo(()=>{const We=new ae,De=new ae(fe.x,fe.y,N),Fe=v(l[0]);return Fe&&We.setX(W).applyEuler(new Qt(0,0,Fe.relativeAngle)).add(De),We},[fe,N,W]),de=m.useMemo(()=>new ae(fe.x,fe.y,N),[fe,N]),ve=m.useMemo(()=>T===null||T.length!==4?[]:T.map(We=>In.getComposedWallNormal(We).multiplyScalar(We.eavesLength)),[T]),Pe=m.useMemo(()=>Uvt.clone().multiplyScalar(p),[p]),me=m.useMemo(()=>T===null||T.length!==4?null:T.map((We,De)=>({leftPoint:We.leftPoint.clone().add(ve[De]),rightPoint:We.rightPoint.clone().add(ve[De])})),[T,ve]),Re=m.useMemo(()=>{const We=[];if(T===null||T.length!==4||me===null)return We;const De=he();for(let Fe=0;Fe<4;Fe++){const _e=[],ot=T[Fe],{lh:Ye,rh:St}=In.getComposedWallHeight(T,Fe),dt=In.getIntersectionPoint(me[(Fe+3)%4].leftPoint,me[(Fe+3)%4].rightPoint,me[Fe].leftPoint,me[Fe].rightPoint).setZ(Ye-De).sub(de),je=In.getIntersectionPoint(me[Fe].leftPoint,me[Fe].rightPoint,me[(Fe+1)%4].leftPoint,me[(Fe+1)%4].rightPoint).setZ(St-De).sub(de),at=new ae().addVectors(ot.leftPoint,ot.rightPoint).divideScalar(2),ut=se.clone().sub(de),wt=oe.clone().sub(de);let rt=0;switch(Fe){case 0:rt=at.clone().sub(de.clone().setZ(0)).length(),Z(_e,dt,je,wt,ut);break;case 1:rt=at.clone().sub(oe.clone().setZ(0)).length(),Z(_e,dt,je,wt);break;case 2:rt=at.clone().sub(de.clone().setZ(0)).length(),Z(_e,dt,je,ut,wt);break;case 3:rt=at.clone().sub(se.clone().setZ(0)).length(),Z(_e,dt,je,ut);break}We.push({points:_e,angle:-ot.relativeAngle,length:rt})}return We},[T,se,oe,N,p]),ze=m.useMemo(()=>!T||T.length!==4?null:T.map(We=>We.leftPoint),[T]);m.useEffect(()=>{if(T===null||T.length!==4)w(n,!1,!1,!0);else if(M.getState().addedRoofIdSet.has(n)){for(let De=0;De{for(const ot of _e.elements)if(ot.type===z.Wall&&Fe.has(ot.id)){const Ye=ot;Ye.roofId=n,Ye.leftRoofHeight=void 0,Ye.rightRoofHeight=void 0}})}M.getState().deleteAddedRoofId(n)}},[T]),sye(e,n,Re,de,N,p);const Ae=()=>{if(!T)return;const We=[];for(let De=0;De<4;De++){const Fe=T[De],{lh:_e,rh:ot}=In.getComposedWallHeight(T,De),Ye=Fe.leftPoint.clone().setZ(_e),St=Fe.rightPoint.clone().setZ(ot),dt=se.clone(),je=oe.clone();switch(De){case 0:We.push([Ye,St,je,dt]);break;case 1:We.push([Ye,St,je]);break;case 2:We.push([Ye,St,dt,je]);break;case 3:We.push([Ye,St,dt]);break}}if(q){const De=[];for(const Fe of We)De.push(Fe[0].clone());bn.getState().setRoofSegmentVerticesWithoutOverhang(n,[De])}else bn.getState().setRoofSegmentVerticesWithoutOverhang(n,We)},re=JW(n,new ae(fe.x,fe.y,N),Re,q,Vo.Hip);KW(Ae);const ge=M(We=>We.elements.filter(De=>De.parentId===n&&De.type===z.Window),a3),we=M(Vc),ye=gt(cs),Te=M(wf),Ie=bn(n1),[Ce,Ee]=m.useState(null),[Ue,Ne]=m.useState([]);m.useEffect(()=>{if(ye)if(C>0){const We=Re.length;if(We>0){const De=[];for(let Fe=0;Fe0&&e){const _e=new Qt(0,0,e.rotation[2],"ZYX");let ot=Number.MAX_VALUE,Ye=Number.MAX_VALUE,St=-Number.MAX_VALUE,dt=-Number.MAX_VALUE;for(const Qe of Fe)for(const Oe of Qe){const et=Oe.clone().applyEuler(_e);et.x>St&&(St=et.x),et.xdt&&(dt=et.y),et.y{VW(We,e.id,n,Re,de)},onPointerMove:We=>{XW(We,n)},onPointerUp:We=>{GW(We,t)},onContextMenu:We=>{dR(We,n)},children:q?h.jsx(tQ,{id:n,foundationModel:e,roofType:x,roofSegments:Re,center:new ae(fe.x,fe.y,N),thickness:p,lineWidth:A,lineColor:y,sideColor:f,color:qe,textureType:u,heatmap:Ce}):h.jsxs(h.Fragment,{children:[Re.map((We,De,Fe)=>h.jsx(kq,{id:n,index:De,foundationModel:e,roofType:x,segment:We,centroid:de,thickness:p,color:qe,sideColor:f,texture:P,heatmap:Ue&&De0&&ze&&h.jsx(dW,{cz:T[0].lz,points:ze}),R&&!g&&h.jsxs("group",{position:[0,0,p+.15],children:[h.jsx(Qf,{position:[se.x,se.y,se.z],onPointerDown:()=>{if(ee.current=!0,D(!0),y4.set(se.x,se.y,N),e&&T[0]){const We=M.getState().cameraDirection,De=Math.atan2(We.z,We.y),Fe=T[0].relativeAngle;A4.set(-Vt-De,0,Fe,"ZXY")}L(ki.Left),Ln.getState().setEnableOrbitController(!1)}}),h.jsx(Qf,{position:[de.x,de.y,de.z],onPointerDown:We=>{if(we(t.id,We,zo.Select),ee.current=!0,$.current=C,D(!0),y4.set(de.x,de.y,N),e){const De=-Math.atan2(_.position.x-i,_.position.y-r)-e.rotation[2];A4.set(-Vt,0,De,"ZXY")}L(ki.Mid),Ln.getState().setEnableOrbitController(!1),S(De=>{De.resizeHandleType=yt.Top,De.selectedElementHeight=N+t.thickness})},onPointerOver:()=>{S(We=>{We.hoveredHandle=ki.Mid,We.selectedElementHeight=N+t.thickness,We.selectedElementX=fe.x,We.selectedElementY=fe.y})}}),h.jsx(Qf,{position:[oe.x,oe.y,oe.z],onPointerDown:()=>{if(ee.current=!0,D(!0),y4.set(oe.x,oe.y,N),e&&T[0]){const We=M.getState().cameraDirection,De=Math.atan2(We.z,We.y),Fe=T[0].relativeAngle;A4.set(-Vt-De,0,Fe,"ZXY")}L(ki.Right),Ln.getState().setEnableOrbitController(!1)}})]}),H&&h.jsx(sa,{name:"Roof Intersection Plane",ref:j,args:[1e3,100],visible:!1,position:y4,rotation:A4,onPointerMove:We=>{if(j.current&&ee.current){ne(We);const De=J.intersectObjects([j.current]);if(De[0]&&e){const Fe=De[0].point;if(Fe.z<.001)return;const _e=T[0],ot=new ae().subVectors(_e.rightPoint,_e.leftPoint).length();switch(E){case ki.Left:{const Ye=de.clone().sub(y4).applyEuler(new Qt(0,0,-A4.z)),St=Fe.clone().sub(new ae(e.cx,e.cy,e.cz)).applyEuler(new Qt(0,0,-e.rotation[2])).sub(y4).applyEuler(new Qt(0,0,-A4.z)),dt=new ae().subVectors(St,Ye).x;F(be.clamp(-dt,-W+.1,ot/2-.01));break}case ki.Right:{const Ye=de.clone().sub(y4).applyEuler(new Qt(0,0,-A4.z)),St=Fe.clone().sub(new ae(e.cx,e.cy,e.cz)).applyEuler(new Qt(0,0,-e.rotation[2])).sub(y4).applyEuler(new Qt(0,0,-A4.z)),dt=new ae().subVectors(St,Ye).x;B(be.clamp(dt,-U+.1,ot/2-.01));break}case ki.Mid:{const Ye=Math.max(0,Fe.z-e.lz-.3-k);M.getState().updateRoofRiseById(n,Ye,N+t.thickness);break}}}}},onPointerUp:()=>{switch(E){case ki.Mid:{_W(n,$.current,C);break}case ki.Left:case ki.Right:le(n,U,W),ie(n,s,c,U,W)}ee.current=!1,D(!1),L(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},jvt=Se.memo(Bvt,BH),nie=new ae,oie=new Qt,Yvt=new ae(0,0,1),Ovt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{const i=m.useMemo(()=>t.reduce((s,c)=>s.concat(c.points[1]),[t[0].points[0]]),[t]),r=m.useMemo(()=>t.reduce((s,c)=>s.concat(c.points[6].clone()),[t[0].points[7].clone()]),[t]),a=m.useMemo(()=>h.jsx(Fn,{points:i,lineWidth:n,color:o}),[i,n,o]);if(t.length<2)return null;const l=Math.abs(t[0].points[0].z-t[0].points[3].z)<.1;return h.jsxs(h.Fragment,{children:[!l&&h.jsx(Fn,{points:r,lineWidth:n,color:o}),a,h.jsx("group",{position:[0,0,e],children:a}),t.map((s,c)=>h.jsxs(Se.Fragment,{children:[!l&&h.jsx(Fn,{points:[s.points[7],s.points[4]],lineWidth:n,color:o}),h.jsx(Fn,{points:[s.points[4],s.points[0]],lineWidth:n,color:o})]},c))]})}),_vt=({roofModel:t,foundationModel:e})=>{let{id:n,wallsId:o,cx:i,cy:r,lz:a,textureType:l,color:s="white",sideColor:c="white",thickness:u=.2,locked:d,lineColor:f="black",lineWidth:p=.2,roofType:g,foundationId:y,ridgeWidth:A=1,rise:x=a,ceiling:C=!1,frontRidge:b,backRidge:v}=t;const S=jH(l),w=Hs(n);[f,p]=In.getWireframetStyle(f,p,w,d);const T=M(dn),P=M(hp),R=M(ss),H=M(st=>st.ray),D=M(st=>st.mouse),[E,L]=m.useState(A),[U,F]=m.useState(null),[W,B]=m.useState(!1),[k,N]=m.useState(ki.Null),[j,Y]=m.useState(null),_=m.useRef(E),J=m.useRef(x),Q=m.useRef(null),ee=m.useRef(!1),{gl:$,camera:q}=Xi(),le=x<.01,ie=st=>{const ft=[],Rt=st.length;for(const zt of st)zt.leftPoint[0]!==void 0&&zt.leftPoint[1]!==void 0&&ft.push({x:zt.leftPoint[0],y:zt.leftPoint[1]});return oe.current||(st[Rt-1].rightPoint[0]||st[Rt-1].rightPoint[0]===0)&&(st[Rt-1].rightPoint[1]||st[Rt-1].rightPoint[1]===0)&&ft.push({x:st[Rt-1].rightPoint[0],y:st[Rt-1].rightPoint[1]}),ft},pe=st=>{if(st{D.x=st.offsetX/$.domElement.clientWidth*2-1,D.y=-(st.offsetY/$.domElement.clientHeight)*2+1,H.setFromCamera(D,q)},Z=(st,ft)=>{T(Rt=>{for(const zt of Rt.elements)if(zt.id===st&&zt.type===z.Roof&&zt.roofType===Vo.Mansard){zt.ridgeWidth=ft;break}})},he=()=>{let st=1/0;for(let ft=0;ft{const Xe={name:"Resize Mansard Roof Ridge",timestamp:Date.now(),resizedElementId:st,resizedElementType:z.Roof,oldVal:Rt,newVal:zt,type:ft,undo:()=>{Z(Xe.resizedElementId,Xe.oldVal)},redo:()=>{Z(Xe.resizedElementId,Xe.newVal)}};M.getState().addUndoable(Xe)},{currentWallArray:se,isLoopRef:oe}=ZKe(y,n,o),{highestWallHeight:de,topZ:ve}=eqe(se,x);qW(t,de);const Pe=m.useMemo(()=>{if(se.length<2)return new ae;const st=ie(se),ft=be.calculatePolygonCentroid(st);return Number.isNaN(ft.x)||Number.isNaN(ft.y)?new ae:new ae(ft.x,ft.y,ve)},[se,ve]),me=m.useMemo(()=>{const st=se.map(ft=>In.getWallNormal(ft).multiplyScalar(ft.eavesLength??0));if(!oe.current&&st.length!==0){const ft=new ae().subVectors(new ae(se[se.length-1].rightPoint[0],se[se.length-1].rightPoint[1]),new ae(se[0].leftPoint[0],se[0].leftPoint[1])).applyEuler(ZV).normalize().multiplyScalar(.3);st.push(ft)}return st},[se]),Re=m.useMemo(()=>{const st=se.map((ft,Rt)=>({leftPoint:new ae(ft.leftPoint[0],ft.leftPoint[1]).add(me[Rt]),rightPoint:new ae(ft.rightPoint[0],ft.rightPoint[1]).add(me[Rt])}));return!oe.current&&st.length!==0&&st.push({leftPoint:new ae(se[se.length-1].rightPoint[0],se[se.length-1].rightPoint[1]).add(me[me.length-1]),rightPoint:new ae(se[0].leftPoint[0],se[0].leftPoint[1]).add(me[me.length-1])}),st},[se,me]),ze=m.useMemo(()=>{const st=se.map((ft,Rt)=>{const zt=new ae(ft.leftPoint[0],ft.leftPoint[1]),Xe=new ae(ft.rightPoint[0],ft.rightPoint[1]),ht=new ae().subVectors(Pe,zt).setZ(0).normalize().multiplyScalar(E),Je=new ae().subVectors(Pe,Xe).setZ(0).normalize().multiplyScalar(E);return zt.add(ht).setZ(ve),Xe.add(Je).setZ(ve),{leftPoint:zt,rightPoint:Xe}});return!oe.current&&st.length!==0&&st.push({leftPoint:st[st.length-1].rightPoint,rightPoint:st[0].leftPoint}),st},[se,Pe,E]),Ae=m.useMemo(()=>Yvt.clone().multiplyScalar(u),[u]),re=m.useMemo(()=>{const st=[];if(se.length<2)return st;const ft=he();for(let Rt=0;Rt0&&zt.rightPoint.length>0&&(zt.leftPoint[0]!==zt.rightPoint[0]||zt.leftPoint[1]!==zt.rightPoint[1])){const Xe=[];let{lh:ht,rh:Je}=In.getWallHeight(se,Rt);oe.current||(Rt===0&&(ht=se[0].lz),Rt===se.length-1&&(Je=se[se.length-1].lz));const mt=In.getIntersectionPoint(Re[(Rt+Re.length-1)%Re.length].leftPoint,Re[(Rt+Re.length-1)%Re.length].rightPoint,Re[Rt].leftPoint,Re[Rt].rightPoint).setZ(ht-ft).sub(Pe),Ge=In.getIntersectionPoint(Re[Rt].leftPoint,Re[Rt].rightPoint,Re[(Rt+1)%Re.length].leftPoint,Re[(Rt+1)%Re.length].rightPoint).setZ(Je-ft).sub(Pe),xt=ze[Rt].leftPoint.clone().sub(Pe),It=ze[Rt].rightPoint.clone().sub(Pe),Tt=new ae(zt.cx,zt.cy).sub(Pe.clone().setZ(0)).length();Xe.push(mt,Ge,It,xt),Xe.push(mt.clone().add(Ae),Ge.clone().add(Ae),It.clone().add(Ae),xt.clone().add(Ae)),st.push({points:Xe,angle:-zt.relativeAngle,length:Tt})}}if(!oe.current){const Rt=Re.length-1,zt=In.getIntersectionPoint(Re[Rt-1].leftPoint,Re[Rt-1].rightPoint,Re[Rt].leftPoint,Re[Rt].rightPoint).setZ(se[se.length-1].lz-ft).sub(Pe),Xe=In.getIntersectionPoint(Re[Rt].leftPoint,Re[Rt].rightPoint,Re[0].leftPoint,Re[0].rightPoint).setZ(se[0].lz-ft).sub(Pe),ht=ze[Rt].leftPoint.clone().sub(Pe),Je=ze[Rt].rightPoint.clone().sub(Pe);let mt=Math.atan2(Xe.y-zt.y,Xe.x-zt.x);mt=mt>=0?mt:(na+mt)%na;const Ge=new ae().addVectors(zt,Xe).setZ(0).divideScalar(2).length(),xt=[];xt.push(zt,Xe,Je,ht),xt.push(zt.clone().add(Ae),Xe.clone().add(Ae),Je.clone().add(Ae),ht.clone().add(Ae)),st.push({points:xt,angle:-mt,length:Ge})}return st},[se,ve,E,u]),ge=m.useMemo(()=>{const st=new Ml;if(ze.length>0){const ft=ze[0].leftPoint.clone().sub(Pe);st.moveTo(ft.x,ft.y);for(const Rt of ze){const zt=Rt.rightPoint.clone().sub(Pe);st.lineTo(zt.x,zt.y)}st.closePath()}return st},[se,ze]),we=m.useMemo(()=>{const st=[];if(se.length===0)return st;st.push(new ae().fromArray(se[0].leftPoint));for(const ft of se)st.push(new ae().fromArray(ft.rightPoint));return st},[se]);m.useEffect(()=>{A!==E&&L(A)},[A]),m.useEffect(()=>{if(se.length>1){if(M.getState().addedRoofIdSet.has(n)){for(let st=0;st{for(const Rt of ft.elements)if(Rt.id===se[st].id&&Rt.type===z.Wall){const zt=Rt;zt.roofId=n,zt.leftRoofHeight=void 0,zt.rightRoofHeight=void 0;break}});M.getState().deleteAddedRoofId(n)}}else P(n,!1,!1,!0)},[se]),sye(e,n,re,Pe,ve,u),m.useEffect(()=>{(b!==void 0||v!==void 0)&&T(st=>{for(const ft of st.elements)if(ft.type===z.Wall){const Rt=ft;Rt.roofId===n&&(Rt.centerLeftRoofHeight=void 0,Rt.centerRightRoofHeight=void 0)}else ft.type===z.Roof&&ft.roofType===Vo.Mansard&&ft.id===n&&(ft.frontRidge=void 0,ft.backRidge=void 0)})},[]);const ye=()=>{const st=[];for(let Rt=0;Rt0&&zt.rightPoint.length>0&&(zt.leftPoint[0]!==zt.rightPoint[0]||zt.leftPoint[1]!==zt.rightPoint[1])){let{lh:Xe,rh:ht}=In.getWallHeight(se,Rt);oe.current||(Rt===0&&(Xe=se[0].lz),Rt===se.length-1&&(ht=se[se.length-1].lz));const Je=new ae(zt.leftPoint[0],zt.leftPoint[1],Xe),mt=new ae(zt.rightPoint[0],zt.rightPoint[1],ht),Ge=ze[Rt].leftPoint.clone(),xt=ze[Rt].rightPoint.clone();st.push([Je,mt,xt,Ge])}}if(!oe.current){const Rt=se.length-1,zt=se[0],Xe=se[Rt],ht=new ae(Xe.rightPoint[0],Xe.rightPoint[1],Xe.lz),Je=new ae(zt.leftPoint[0],zt.leftPoint[1],zt.lz),mt=ze[Rt].leftPoint.clone(),Ge=ze[Rt].rightPoint.clone();st.push([ht,Je,Ge,mt])}const ft=ze.map(Rt=>Rt.leftPoint.clone());if(st.push(ft),le){const Rt=[];for(const zt of st.slice(0,-1))Rt.push(zt[0].clone());bn.getState().setRoofSegmentVerticesWithoutOverhang(n,[Rt])}else bn.getState().setRoofSegmentVerticesWithoutOverhang(n,st)},Te=JW(n,Pe,re,le,Vo.Mansard,ze.map(st=>st.leftPoint.clone().add(Ae)));KW(ye);const Ie=M.getState().world,Ce=M(Vc),Ee=gt(cs),Ue=M(wf),Ne=bn(n1),[Le,qe]=m.useState([]),[We,De]=m.useState(null),[Fe,_e]=m.useState(!1),ot=gt(i3),Ye=M(X2),St=M(q9),dt=M($9),je=bn($L),at=bn.getState().hourlyHeatExchangeArrayMap,ut=m.useRef(null),wt=m.useRef(0),rt=m.useRef(),Qe=m.useRef(),{transparent:Oe,opacity:et}=Z$();m.useEffect(()=>{if(Ee)if(le){const st=Ne(n);if(st){const ft=be.fetchHeatmapTexture(st,Ue??5);if(ft){const Rt=Te();if(Rt&&Rt.length>0&&e){const zt=new Qt(0,0,e.rotation[2],"ZYX");let Xe=Number.MAX_VALUE,ht=Number.MAX_VALUE,Je=-Number.MAX_VALUE,mt=-Number.MAX_VALUE;for(const Lt of Rt)for(const Et of Lt){const an=Et.clone().applyEuler(zt);an.x>Je&&(Je=an.x),an.xmt&&(mt=an.y),an.y{if(ut.current){const st=ge.extractPoints(1).shape,ft=.01,Rt=ut.current.geometry,zt=st.length-1;if(zt===4){const Xe=new Float32Array(18);Xe[0]=st[3].x,Xe[1]=st[3].y,Xe[2]=ft,Xe[3]=st[0].x,Xe[4]=st[0].y,Xe[5]=ft,Xe[6]=st[2].x,Xe[7]=st[2].y,Xe[8]=ft,Xe[9]=st[2].x,Xe[10]=st[2].y,Xe[11]=ft,Xe[12]=st[0].x,Xe[13]=st[0].y,Xe[14]=ft,Xe[15]=st[1].x,Xe[16]=st[1].y,Xe[17]=ft,Rt.setAttribute("position",new hi(Xe,3)),Rt.computeVertexNormals();const ht=Ee?1:6,Je=[];Je.push(0,0),Je.push(ht,0),Je.push(0,ht),Je.push(0,ht),Je.push(ht,0),Je.push(ht,ht),Rt.setAttribute("uv",new hi(Je,2))}else{const Xe=ut.current.geometry,ht=new Float32Array(zt*9),Je=Ee?1:6,mt=[];let Ge=Number.MAX_VALUE,xt=Number.MAX_VALUE,It=-Number.MAX_VALUE,Tt=-Number.MAX_VALUE;for(const Et of st)Et.x>It?It=Et.x:Et.xTt?Tt=Et.y:Et.y{if(!ot||e&&e.notBuilding)return;const st=at.get(n+"-"+re.length);if(!st)return;const ft=st.reduce((Oo,li)=>Oo+li,0),Rt=je(n);if(!Rt||!Rt[re.length])return;const zt=Rt[re.length].map(Oo=>Oo.clone().sub(Pe).add(new ae(0,0,Pe.z+u)));if(!zt)return;const Xe=K9*(Ie.solarRadiationHeatmapGridCellSize??.5),ht=zt[0].clone(),Je=zt[1].clone(),mt=zt[2].clone(),Ge=new ae().subVectors(Je,ht),xt=new ae().subVectors(mt,ht),It=new ae().subVectors(mt,Je),Tt=Ge.length(),Dt=new ae().crossVectors(xt,It).length()/Tt,Lt=Math.max(2,Math.floor(Tt/Xe)),Et=Math.max(2,Math.floor(Dt/Xe));Ge.normalize(),xt.normalize(),It.normalize();const an=new ae().crossVectors(xt,It).normalize(),Jt=Ge.multiplyScalar(.5*Tt/Lt),hn=new ae().crossVectors(an,Ge).normalize().multiplyScalar(.5*Dt/Et),cn=ht.clone().add(Jt).add(hn).add(new ae(0,0,u));Jt.multiplyScalar(2),hn.multiplyScalar(2),rt.current=an.clone().multiplyScalar(.1);const Sn=[],Pn=new ae,Un=new Array;for(const Oo of zt)Un.push({x:Oo.x,y:Oo.y});const Ai=be.getPolygonArea(Un);if(Ai===0)return;const vo=ft/Ai*(Ye??Vm);wt.current=vo<0?1:0,Qe.current=new Qt(-Math.sign(vo)*Vt,0,0);for(let Oo=0;Oost.elements.filter(ft=>ft.parentId===n&&ft.type===z.Window),a3),it=m.useMemo(()=>tt.map(st=>{const ft=new ae(st.lx,st.lz,st.ly*2),Rt=new ae(st.cx,st.cy,st.cz).sub(Pe),zt=new Qt().fromArray([st.rotation[0],st.rotation[1],st.rotation[2],"ZXY"]),Xe=new es(new X9(ft.x,ft.y,ft.z));return Xe.position.copy(Rt),Xe.rotation.copy(zt),Xe.updateMatrix(),Xe}),[tt,Pe]),At=l===Ui.NoTexture&&s&&s===c,Mt=R&&!Oe;return h.jsxs("group",{name:`Mansard Roof Group ${n}`,children:[h.jsx("group",{name:`Mansard Roof Segments Group ${n}`,position:[Pe.x,Pe.y,Pe.z],userData:ct,onPointerDown:st=>{VW(st,e.id,n,re,Pe)},onPointerMove:st=>{XW(st,n)},onPointerUp:st=>{GW(st,t)},onContextMenu:st=>{dR(st,n)},children:le?h.jsx(tQ,{id:n,foundationModel:e,roofType:g,roofSegments:re,center:new ae(Pe.x,Pe.y,ve),thickness:u,lineWidth:p,lineColor:f,sideColor:c,color:lt,textureType:l,heatmap:We}):h.jsxs(h.Fragment,{children:[re.map((st,ft,Rt)=>h.jsx(kq,{id:n,index:ft,foundationModel:e,roofType:g,segment:st,centroid:Pe,thickness:u,color:lt,sideColor:c,texture:S,heatmap:Le&&ft0&&h.jsx(Ovt,{roofSegments:re,thickness:u,lineColor:f,lineWidth:p})]})}),C&&x>0&&h.jsx(dW,{points:we,cz:se[0].lz}),w&&!d&&h.jsxs("group",{position:[Pe.x,Pe.y,Pe.z+u],children:[h.jsx(Qf,{position:[0,0,.3],onPointerDown:st=>{if(Ce(t.id,st,zo.Select),ee.current=!0,J.current=x,B(!0),nie.set(Pe.x,Pe.y,ve),e){const ft=-Math.atan2(q.position.x-i,q.position.y-r)-e.rotation[2];oie.set(-Vt,0,ft,"ZXY")}N(ki.Top),Ln.getState().setEnableOrbitController(!1),T(ft=>{ft.resizeHandleType=yt.Top,ft.selectedElementHeight=ve+t.thickness})},onPointerOver:()=>{T(st=>{st.hoveredHandle=ki.Top,st.selectedElementHeight=ve+t.thickness,st.selectedElementX=Pe.x,st.selectedElementY=Pe.y})}}),ze.map((st,ft)=>{const Rt=st.leftPoint.clone().sub(Pe);return h.jsx(Qf,{position:[Rt.x,Rt.y,0],onPointerDown:()=>{ee.current=!0,B(!0),nie.set(Rt.x,Rt.y,ve+.15),oie.set(0,0,0),N(ki.Ridge),Y(ft),F(se.reduce((zt,Xe)=>Math.min(zt,new ae(Xe.leftPoint[0],Xe.leftPoint[1],ve).distanceTo(Pe)-1),1/0)),Ln.getState().setEnableOrbitController(!1),_.current=E}},ft)})]}),W&&h.jsx(sa,{name:"Roof Intersection Plane",ref:Q,args:[1e3,100],visible:!1,position:nie,rotation:oie,onPointerMove:st=>{if(Q.current&&ee.current){ne(st);const ft=H.intersectObjects([Q.current]);if(ft[0]&&e){const Rt=ft[0].point;if(Rt.z<.001)return;switch(k){case ki.Top:{const zt=Math.max(0,Rt.z-e.lz-.6-de);M.getState().updateRoofRiseById(n,zt,ve+t.thickness);break}case ki.Ridge:{if(e&&j!==null){const zt=Rt.clone().applyEuler(new Qt(0,0,e.rotation[2])).sub(new ae(e.cx,e.cy)).setZ(0),Xe=pe(j),ht=zt.distanceTo(Xe),Je=new ae().subVectors(Pe.clone().setZ(0),Xe);zt.clone().sub(Xe).angleTo(Je){switch(k){case ki.Top:{_W(n,J.current,x);break}case ki.Ridge:{fe(n,k,_.current,E);break}}T(st=>{for(const ft of st.elements)if(ft.id===n&&ft.type===z.Roof&&ft.roofType===Vo.Mansard){ft.ridgeWidth=E;break}}),ee.current=!1,B(!1),N(ki.Null),Y(null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})}),vt&&vt.map((st,ft)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:st,name:"Heat Flux "+ft,lineWidth:dt??Gm,color:St??g0}),";",h.jsx(cu,{userData:{unintersectable:!0},position:rt.current?st[wt.current].clone().add(rt.current):st[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:Qe.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:St??g0})})]},ft))]})},Vvt=Se.memo(_vt,BH);var mYe={exports:{}};/*! +`))),{vertexShader:n,fragmentShader:o}}});return e.transparent=!0,Object.defineProperties(e,{isTroikaTextMaterial:{value:!0},shadowSide:{get(){return this.side},set(){}}}),e}const W1e=new G9({color:16777215,side:ji,transparent:!0}),Owe=8421504,_we=new Xr,qj=new ae,qoe=new ae,mz=[],k6t=new ae,$oe="+x+y";function Vwe(t){return Array.isArray(t)?t[0]:t}let cUe=()=>{const t=new es(new S7(1,1),W1e);return cUe=()=>t,t},uUe=()=>{const t=new es(new S7(1,1,32,1),W1e);return uUe=()=>t,t};const F6t={type:"syncstart"},L6t={type:"synccomplete"},dUe=["font","fontSize","letterSpacing","lineHeight","maxWidth","overflowWrap","text","direction","textAlign","textIndent","whiteSpace","anchorX","anchorY","colorRanges","sdfGlyphSize"],W6t=dUe.concat("material","color","depthOffset","clipRect","curveRadius","orientation","glyphGeometryDetail");let fUe=class extends es{constructor(){const e=new H6t;super(e,null),this.text="",this.anchorX=0,this.anchorY=0,this.curveRadius=0,this.direction="auto",this.font=null,this.fontSize=.1,this.letterSpacing=0,this.lineHeight="normal",this.maxWidth=1/0,this.overflowWrap="normal",this.textAlign="left",this.textIndent=0,this.whiteSpace="normal",this.material=null,this.color=null,this.colorRanges=null,this.outlineWidth=0,this.outlineColor=0,this.outlineOpacity=1,this.outlineBlur=0,this.outlineOffsetX=0,this.outlineOffsetY=0,this.strokeWidth=0,this.strokeColor=Owe,this.strokeOpacity=1,this.fillOpacity=1,this.depthOffset=0,this.clipRect=null,this.orientation=$oe,this.glyphGeometryDetail=1,this.sdfGlyphSize=null,this.gpuAccelerateSDF=!0,this.debugSDF=!1}sync(e){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._queuedSyncs||(this._queuedSyncs=[])).push(e):(this._isSyncing=!0,this.dispatchEvent(F6t),aUe({text:this.text,font:this.font,fontSize:this.fontSize||.1,letterSpacing:this.letterSpacing||0,lineHeight:this.lineHeight||"normal",maxWidth:this.maxWidth,direction:this.direction||"auto",textAlign:this.textAlign,textIndent:this.textIndent,whiteSpace:this.whiteSpace,overflowWrap:this.overflowWrap,anchorX:this.anchorX,anchorY:this.anchorY,colorRanges:this.colorRanges,includeCaretPositions:!0,sdfGlyphSize:this.sdfGlyphSize,gpuAccelerateSDF:this.gpuAccelerateSDF},n=>{this._isSyncing=!1,this._textRenderInfo=n,this.geometry.updateGlyphs(n.glyphBounds,n.glyphAtlasIndices,n.blockBounds,n.chunkedBounds,n.glyphColors);const o=this._queuedSyncs;o&&(this._queuedSyncs=null,this._needsSync=!0,this.sync(()=>{o.forEach(i=>i&&i())})),this.dispatchEvent(L6t),e&&e()})))}onBeforeRender(e,n,o,i,r,a){this.sync(),r.isTroikaTextMaterial&&this._prepareForRender(r),r._hadOwnSide=r.hasOwnProperty("side"),this.geometry.setSide(r._actualSide=r.side),r.side=ia}onAfterRender(e,n,o,i,r,a){r._hadOwnSide?r.side=r._actualSide:delete r.side}dispose(){this.geometry.dispose()}get textRenderInfo(){return this._textRenderInfo||null}get material(){let e=this._derivedMaterial;const n=this._baseMaterial||this._defaultMaterial||(this._defaultMaterial=W1e.clone());if((!e||e.baseMaterial!==n)&&(e=this._derivedMaterial=E6t(n),n.addEventListener("dispose",function o(){n.removeEventListener("dispose",o),e.dispose()})),this.outlineWidth||this.outlineBlur||this.outlineOffsetX||this.outlineOffsetY){let o=e._outlineMtl;return o||(o=e._outlineMtl=Object.create(e,{id:{value:e.id+.1}}),o.isTextOutlineMaterial=!0,o.depthWrite=!1,o.map=null,e.addEventListener("dispose",function i(){e.removeEventListener("dispose",i),o.dispose()})),[o,e]}else return e}set material(e){e&&e.isTroikaTextMaterial?(this._derivedMaterial=e,this._baseMaterial=e.baseMaterial):this._baseMaterial=e}get glyphGeometryDetail(){return this.geometry.detail}set glyphGeometryDetail(e){this.geometry.detail=e}get curveRadius(){return this.geometry.curveRadius}set curveRadius(e){this.geometry.curveRadius=e}get customDepthMaterial(){return Vwe(this.material).getDepthMaterial()}get customDistanceMaterial(){return Vwe(this.material).getDistanceMaterial()}_prepareForRender(e){const n=e.isTextOutlineMaterial,o=e.uniforms,i=this.textRenderInfo;if(i){const{sdfTexture:l,blockBounds:s}=i;o.uTroikaSDFTexture.value=l,o.uTroikaSDFTextureSize.value.set(l.image.width,l.image.height),o.uTroikaSDFGlyphSize.value=i.sdfGlyphSize,o.uTroikaSDFExponent.value=i.sdfExponent,o.uTroikaTotalBounds.value.fromArray(s),o.uTroikaUseGlyphColors.value=!n&&!!i.glyphColors;let c=0,u=0,d=0,f,p,g,y=0,A=0;if(n){let{outlineWidth:C,outlineOffsetX:b,outlineOffsetY:v,outlineBlur:S,outlineOpacity:w}=this;c=this._parsePercent(C)||0,u=Math.max(0,this._parsePercent(S)||0),f=w,y=this._parsePercent(b)||0,A=this._parsePercent(v)||0}else d=Math.max(0,this._parsePercent(this.strokeWidth)||0),d&&(g=this.strokeColor,o.uTroikaStrokeColor.value.set(g??Owe),p=this.strokeOpacity,p==null&&(p=1)),f=this.fillOpacity;o.uTroikaDistanceOffset.value=c,o.uTroikaPositionOffset.value.set(y,A),o.uTroikaBlurRadius.value=u,o.uTroikaStrokeWidth.value=d,o.uTroikaStrokeOpacity.value=p,o.uTroikaFillOpacity.value=f??1,o.uTroikaCurveRadius.value=this.curveRadius||0;let x=this.clipRect;if(x&&Array.isArray(x)&&x.length===4)o.uTroikaClipRect.value.fromArray(x);else{const C=(this.fontSize||.1)*100;o.uTroikaClipRect.value.set(s[0]-C,s[1]-C,s[2]+C,s[3]+C)}this.geometry.applyClipRect(o.uTroikaClipRect.value)}o.uTroikaSDFDebug.value=!!this.debugSDF,e.polygonOffset=!!this.depthOffset,e.polygonOffsetFactor=e.polygonOffsetUnits=this.depthOffset||0;const r=n?this.outlineColor||0:this.color;if(r==null)delete e.color;else{const l=e.hasOwnProperty("color")?e.color:e.color=new Xo;(r!==l._input||typeof r=="object")&&l.set(l._input=r)}let a=this.orientation||$oe;if(a!==e._orientation){let l=o.uTroikaOrient.value;a=a.replace(/[^-+xyz]/g,"");let s=a!==$oe&&a.match(/^([-+])([xyz])([-+])([xyz])$/);if(s){let[,c,u,d,f]=s;qj.set(0,0,0)[u]=c==="-"?1:-1,qoe.set(0,0,0)[f]=d==="-"?-1:1,_we.lookAt(k6t,qj.cross(qoe),qoe),l.setFromMatrix4(_we)}else l.identity();e._orientation=a}}_parsePercent(e){if(typeof e=="string"){let n=e.match(/^(-?[\d.]+)%$/),o=n?parseFloat(n[1]):NaN;e=(isNaN(o)?0:o/100)*this.fontSize}return e}localPositionToTextCoords(e,n=new Gt){n.copy(e);const o=this.curveRadius;return o&&(n.x=Math.atan2(e.x,Math.abs(o)-Math.abs(e.z))*Math.abs(o)),n}worldPositionToTextCoords(e,n=new Gt){return qj.copy(e),this.localPositionToTextCoords(this.worldToLocal(qj),n)}raycast(e,n){const{textRenderInfo:o,curveRadius:i}=this;if(o){const r=o.blockBounds,a=i?uUe():cUe(),l=a.geometry,{position:s,uv:c}=l.attributes;for(let u=0;u{this[o]=e[o]}),this}clone(){return new this.constructor().copy(this)}};dUe.forEach(t=>{const e="_private_"+t;Object.defineProperty(fUe.prototype,t,{get(){return this[e]},set(n){n!==this[e]&&(this[e]=n,this._needsSync=!0)}})});const N6t=m.forwardRef(({sdfGlyphSize:t=64,anchorX:e="center",anchorY:n="middle",font:o,fontSize:i=1,children:r,characters:a,onSync:l,...s},c)=>{const u=Xi(({invalidate:g})=>g),[d]=m.useState(()=>new fUe),[f,p]=m.useMemo(()=>{const g=[];let y="";return m.Children.forEach(r,A=>{typeof A=="string"||typeof A=="number"?y+=A:g.push(A)}),[g,y]},[r]);return CNe(()=>new Promise(g=>v6t({font:o,characters:a},g)),["troika-text",o,a]),m.useLayoutEffect(()=>void d.sync(()=>{u(),l&&l(d)})),m.useEffect(()=>()=>d.dispose(),[d]),m.createElement("primitive",z9({object:d,ref:c,font:o,text:p,anchorX:e,anchorY:n,fontSize:i,sdfGlyphSize:t},s),f)}),Gwe=t=>t===Object(t)&&!Array.isArray(t)&&typeof t!="function";function Ab(t,e){const n=Xi(i=>i.gl),o=aA(tf,Gwe(t)?Object.values(t):t);if(m.useLayoutEffect(()=>{e==null||e(o)},[e]),m.useEffect(()=>{"initTexture"in n&&(Array.isArray(o)?o:[o]).forEach(n.initTexture)},[n,o]),Gwe(t)){const i=Object.keys(t),r={};return i.forEach(a=>Object.assign(r,{[a]:o[i.indexOf(a)]})),r}else return o}Ab.preload=t=>aA.preload(tf,t);Ab.clear=t=>aA.clear(tf,t);function hUe(t,e,n){const o=Xi(f=>f.size),i=Xi(f=>f.viewport),r=typeof t=="number"?t:o.width*i.dpr,a=o.height*i.dpr,l=(typeof t=="number"?n:t)||{},{samples:s=0,depth:c,...u}=l,d=m.useMemo(()=>{const f=new _m(r,a,{minFilter:js,magFilter:js,type:Lx,...u});return c&&(f.depthTexture=new l1e(r,a,h2)),f.samples=s,f},[]);return m.useLayoutEffect(()=>{d.setSize(r,a),s&&(d.samples=s)},[s,d,r,a]),m.useEffect(()=>()=>d.dispose(),[]),d}const U6t=t=>typeof t=="function",B6t=m.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,children:o,makeDefault:i,...r},a)=>{const l=Xi(({set:A})=>A),s=Xi(({camera:A})=>A),c=Xi(({size:A})=>A),u=m.useRef(null),d=m.useRef(null),f=hUe(e);m.useLayoutEffect(()=>{r.manual||u.current.updateProjectionMatrix()},[c,r]),m.useLayoutEffect(()=>{u.current.updateProjectionMatrix()}),m.useLayoutEffect(()=>{if(i){const A=s;return l(()=>({camera:u.current})),()=>l(()=>({camera:A}))}},[u,i,l]);let p=0,g=null;const y=U6t(o);return rA(A=>{y&&(n===1/0||ptypeof t=="function",Y6t=m.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,makeDefault:o,children:i,...r},a)=>{const l=Xi(({set:A})=>A),s=Xi(({camera:A})=>A),c=Xi(({size:A})=>A),u=m.useRef(null),d=m.useRef(null),f=hUe(e);m.useLayoutEffect(()=>{r.manual||(u.current.aspect=c.width/c.height)},[c,r]),m.useLayoutEffect(()=>{u.current.updateProjectionMatrix()});let p=0,g=null;const y=j6t(i);return rA(A=>{y&&(n===1/0||p{if(o){const A=s;return l(()=>({camera:u.current})),()=>l(()=>({camera:A}))}},[u,o,l]),m.createElement(m.Fragment,null,m.createElement("perspectiveCamera",z9({ref:k1e([u,a])},r),!y&&i),m.createElement("group",{ref:d},y&&i(f.texture)))});function lA(t,e){const n=t+"Geometry";return m.forwardRef(({args:o,children:i,...r},a)=>{const l=m.useRef(null);return m.useImperativeHandle(a,()=>l.current),m.useLayoutEffect(()=>void(e==null?void 0:e(l.current))),m.createElement("mesh",z9({ref:l},r),m.createElement(n,{attach:"geometry",args:o}),i)})}const Ei=lA("box"),KC=lA("circle"),cu=lA("cone"),wa=lA("cylinder"),ts=lA("sphere"),sa=lA("plane"),N1e=lA("torus"),Y6=lA("ring"),$w=lA("extrude"),j5=1e-5;function O6t(t,e,n){const o=new Ml,i=n-j5;return o.absarc(j5,j5,j5,-Math.PI/2,-Math.PI,!0),o.absarc(j5,e-i*2,j5,Math.PI,Math.PI/2,!0),o.absarc(t-i*2,e-i*2,j5,Math.PI/2,0,!0),o.absarc(t-i*2,j5,j5,0,-Math.PI/2,!0),o}const _6t=m.forwardRef(function({args:[e=1,n=1,o=1]=[],radius:i=.05,steps:r=1,smoothness:a=4,bevelSegments:l=4,creaseAngle:s=.4,children:c,...u},d){const f=m.useMemo(()=>O6t(e,n,i),[e,n,i]),p=m.useMemo(()=>({depth:o-i*2,bevelEnabled:!0,bevelSegments:l*2,steps:r,bevelSize:i-j5,bevelThickness:i,curveSegments:a}),[o,i,a]),g=m.useRef(null);return m.useLayoutEffect(()=>{g.current&&(g.current.center(),j3t(g.current,s))},[f,p]),m.createElement("mesh",z9({ref:d},u),m.createElement("extrudeGeometry",{ref:g,args:[f,p]}),c)});var pUe={exports:{}},V6t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",G6t=V6t,X6t=G6t;function gUe(){}function mUe(){}mUe.resetWarningCache=gUe;var J6t=function(){function t(o,i,r,a,l,s){if(s!==X6t){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}t.isRequired=t;function e(){return t}var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:mUe,resetWarningCache:gUe};return n.PropTypes=n,n};pUe.exports=J6t();var dq=pUe.exports;const fo=kr(dq),Ln=vK()((t,e)=>({setEnableOrbitController:n=>{M.getState().viewState.navigationView||t(o=>{var i;return(i=o.orbitControlsRef)!=null&&i.current&&(o.orbitControlsRef.current.enabled=n),o})},selectNone:()=>{t({humanRef:null,treeRef:null,foundationRef:null})},contentRef:null,compassRef:null,orbitControlsRef:null,humanRef:null,treeRef:null,flowerRef:null,foundationRef:null,cuboidRef:null,listenToAutoDeletionByCutRef:null,listenToAutoDeletionByDeleteRef:null,setListenToAutoDeletionByCut:n=>{const o=e().listenToAutoDeletionByCutRef;o&&(o.current=n)},setListenToAutoDeletionByDelete:n=>{const o=e().listenToAutoDeletionByDeleteRef;o&&(o.current=n)},canvas:null}));var Sr=(t=>(t.Default="Default",t.Arched="Arched",t.Circular="Circular",t.Polygonal="Polygonal",t))(Sr||{});const yUe="/aladdin/assets/jaah-XpG2K-Xo.png",AUe="/aladdin/assets/jack-DVed1dhl.png",wUe="/aladdin/assets/jacob-D-6uVZRV.png",vUe="/aladdin/assets/jacqueline-DZtJs4FX.png",xUe="/aladdin/assets/jade-Cxa-afE4.png",bUe="/aladdin/assets/jamelia-Bmq4EsGl.png",SUe="/aladdin/assets/james-QtBSrtsa.png",TUe="/aladdin/assets/jane-ZqCTWK8F.png",PUe="/aladdin/assets/jaya-DD0RNxX8.png",CUe="/aladdin/assets/jaye-DPA2kSta.png",RUe="/aladdin/assets/jeanette-D3EEzZKV.png",HUe="/aladdin/assets/jedi-CUm23-QH.png",MUe="/aladdin/assets/jeff-931UF5LC.png",IUe="/aladdin/assets/jena-qnIKFCdf.png",zUe="/aladdin/assets/jennifer-Cvadr5-Q.png",DUe="/aladdin/assets/jess-DyGUx_b1.png",EUe="/aladdin/assets/jett-B01M7z86.png",kUe="/aladdin/assets/jill-CxIC2A4v.png",FUe="/aladdin/assets/jiya-CF0SpO2m.png",LUe="/aladdin/assets/joan-DWpjHIrM.png",WUe="/aladdin/assets/jocelyn-DGLHmbKA.png",NUe="/aladdin/assets/joel-DhW3d8dZ.png",UUe="/aladdin/assets/joey-Dmd3kcA2.png",BUe="/aladdin/assets/john-QF2zQU-p.png",jUe="/aladdin/assets/jonathon-TM1sY2jf.png",YUe="/aladdin/assets/jose-CtYKGQoQ.png",OUe="/aladdin/assets/joseph-C7wga7kl.png",_Ue="/aladdin/assets/joshua-CqTzsm-K.png",VUe="/aladdin/assets/judd-C8GabaWl.png",GUe="/aladdin/assets/judy-Cv4UEjOl.png",XUe="/aladdin/assets/julia-Ckjw2r2H.png",JUe="/aladdin/assets/julio-CPCcOGMU.png",KUe="/aladdin/assets/jumapili-TjSAWyhv.png",qUe="/aladdin/assets/june-Bkxc2WDe.png",$Ue="/aladdin/assets/juro-BAi3R6Hw.png",QUe="/aladdin/assets/justin-DLG1o6Q7.png";class Ip{static fetchGender(e){switch(e){case Yt.Jaah:return Ca.Male;case Yt.Jacqueline:return Ca.Female;case Yt.Jade:return Ca.Female;case Yt.Jamelia:return Ca.Female;case Yt.James:return Ca.Male;case Yt.Jane:return Ca.Female;case Yt.Jaya:return Ca.Female;case Yt.Jaye:return Ca.Male;case Yt.Jeanette:return Ca.Female;case Yt.Jedi:return Ca.Male;case Yt.Jeff:return Ca.Male;case Yt.Jena:return Ca.Female;case Yt.Jennifer:return Ca.Female;case Yt.Jess:return Ca.Female;case Yt.Jett:return Ca.Male;case Yt.Jill:return Ca.Female;case Yt.Jiya:return Ca.Female;case Yt.Joan:return Ca.Female;case Yt.Jocelyn:return Ca.Female;case Yt.Joel:return Ca.Male;case Yt.Joey:return Ca.Female;case Yt.John:return Ca.Male;case Yt.Jonathon:return Ca.Male;case Yt.Jose:return Ca.Male;case Yt.Joseph:return Ca.Male;case Yt.Joshua:return Ca.Male;case Yt.Judd:return Ca.Male;case Yt.Judy:return Ca.Female;case Yt.Julia:return Ca.Female;case Yt.Julio:return Ca.Male;case Yt.Jumapili:return Ca.Female;case Yt.June:return Ca.Female;case Yt.Juro:return Ca.Male;case Yt.Justin:return Ca.Male;default:return Ca.Male}}static fetchLabel(e,n){switch(e){case Yt.Jaah:return O.t("people.Jaah",n);case Yt.Jacob:return O.t("people.Jacob",n);case Yt.Jacqueline:return O.t("people.Jacqueline",n);case Yt.Jade:return O.t("people.Jade",n);case Yt.Jamelia:return O.t("people.Jamelia",n);case Yt.James:return O.t("people.James",n);case Yt.Jane:return O.t("people.Jane",n);case Yt.Jaya:return O.t("people.Jaya",n);case Yt.Jaye:return O.t("people.Jaye",n);case Yt.Jeanette:return O.t("people.Jeanette",n);case Yt.Jedi:return O.t("people.Jedi",n);case Yt.Jeff:return O.t("people.Jeff",n);case Yt.Jena:return O.t("people.Jena",n);case Yt.Jennifer:return O.t("people.Jennifer",n);case Yt.Jess:return O.t("people.Jess",n);case Yt.Jett:return O.t("people.Jett",n);case Yt.Jill:return O.t("people.Jill",n);case Yt.Jiya:return O.t("people.Jiya",n);case Yt.Joan:return O.t("people.Joan",n);case Yt.Jocelyn:return O.t("people.Jocelyn",n);case Yt.Joel:return O.t("people.Joel",n);case Yt.Joey:return O.t("people.Joey",n);case Yt.John:return O.t("people.John",n);case Yt.Jonathon:return O.t("people.Jonathon",n);case Yt.Jose:return O.t("people.Jose",n);case Yt.Joseph:return O.t("people.Joseph",n);case Yt.Joshua:return O.t("people.Joshua",n);case Yt.Judd:return O.t("people.Judd",n);case Yt.Judy:return O.t("people.Judy",n);case Yt.Julia:return O.t("people.Julia",n);case Yt.Julio:return O.t("people.Julio",n);case Yt.Jumapili:return O.t("people.Jumapili",n);case Yt.June:return O.t("people.June",n);case Yt.Juro:return O.t("people.Juro",n);case Yt.Justin:return O.t("people.Justin",n);default:return O.t("people.Jack",n)}}static fetchHatOffsetY(e){switch(e){case Yt.Jonathon:return-.22}return 0}static fetchHatOffsetX(e){switch(e){case Yt.Jaah:return-.05;case Yt.Jack:return-.05;case Yt.Jacob:return .09;case Yt.Jade:return-.04;case Yt.Jaya:return .04;case Yt.Jaye:return 0;case Yt.Jamelia:return .05;case Yt.Jane:return .02;case Yt.Jeanette:return .08;case Yt.Jedi:return-.02;case Yt.Jeff:return-.05;case Yt.Jena:return .05;case Yt.Jennifer:return .02;case Yt.Jess:return .01;case Yt.Jett:return-.04;case Yt.Jill:return-.03;case Yt.Jiya:return-.03;case Yt.Joan:return-.45;case Yt.Jocelyn:return-.01;case Yt.Joel:return-.48;case Yt.Joey:return .01;case Yt.John:return .01;case Yt.Jonathon:return .02;case Yt.Jose:return .05;case Yt.Joseph:return .05;case Yt.Joshua:return-.01;case Yt.Judy:return .02;case Yt.Julia:return-.02;case Yt.Jumapili:return-.04;case Yt.June:return-.1;case Yt.Juro:return-.08;case Yt.Justin:return-.06;default:return 0}}static fetchHeight(e){switch(e){case Yt.Jaah:return 1.78;case Yt.Jack:return 1.8;case Yt.Jacob:return 1.82;case Yt.Jacqueline:return 1.78;case Yt.Jade:return 1.6;case Yt.James:return 1.75;case Yt.Jane:return 1.67;case Yt.Jaya:return 1.55;case Yt.Jaye:return 1.65;case Yt.Jamelia:return 1.8;case Yt.Jeanette:return 1.62;case Yt.Jedi:return 1.75;case Yt.Jeff:return 1.65;case Yt.Jena:return 1.6;case Yt.Jennifer:return 1.7;case Yt.Jess:return 1.5;case Yt.Jett:return 1.85;case Yt.Jill:return 1.71;case Yt.Jiya:return 1.74;case Yt.Joan:return 1.68;case Yt.Jocelyn:return 1.72;case Yt.Joel:return 1.75;case Yt.Joey:return 1.72;case Yt.John:return 1.85;case Yt.Jonathon:return 1.9;case Yt.Jose:return 1.6;case Yt.Joseph:return 1.88;case Yt.Joshua:return 1.79;case Yt.Judd:return 1.68;case Yt.Judy:return 1.75;case Yt.Julia:return 1.71;case Yt.Julio:return 1.76;case Yt.Jumapili:return 1.65;case Yt.June:return 1.85;case Yt.Juro:return 1.72;case Yt.Justin:return 1.755;default:return 1.8}}static fetchWidth(e){switch(e){case Yt.Jaah:return .74;case Yt.Jack:return .42;case Yt.Jacqueline:return .43;case Yt.Jacob:return .8;case Yt.Jade:return .48;case Yt.James:return .472;case Yt.Jane:return .4;case Yt.Jaya:return .6;case Yt.Jaye:return .55;case Yt.Jamelia:return .65;case Yt.Jeanette:return .4;case Yt.Jedi:return .56;case Yt.Jena:return .695;case Yt.Jennifer:return .45;case Yt.Jess:return .43;case Yt.Jill:return .42;case Yt.Joan:return 1.7;case Yt.Jocelyn:return .4;case Yt.Joel:return 1.8;case Yt.Joey:return .462;case Yt.John:return .6;case Yt.Jonathon:return .6;case Yt.Jose:return 2;case Yt.Joseph:return .6;case Yt.Joshua:return .5;case Yt.Judd:return .544;case Yt.Judy:return .41;case Yt.Julia:return .43;case Yt.Julio:return .5;case Yt.Jumapili:return .75;case Yt.June:return .65;case Yt.Juro:return .494;case Yt.Justin:return .6;default:return .6}}static fetchTextureImage(e){let n;switch(e){case Yt.Jaah:n=yUe;break;case Yt.Jacob:n=wUe;break;case Yt.Jacqueline:n=vUe;break;case Yt.Jade:n=xUe;break;case Yt.Jamelia:n=bUe;break;case Yt.James:n=SUe;break;case Yt.Jane:n=TUe;break;case Yt.Jaya:n=PUe;break;case Yt.Jaye:n=CUe;break;case Yt.Jeanette:n=RUe;break;case Yt.Jedi:n=HUe;break;case Yt.Jeff:n=MUe;break;case Yt.Jena:n=IUe;break;case Yt.Jennifer:n=zUe;break;case Yt.Jess:n=DUe;break;case Yt.Jett:n=EUe;break;case Yt.Jill:n=kUe;break;case Yt.Jiya:n=FUe;break;case Yt.Joan:n=LUe;break;case Yt.Jocelyn:n=WUe;break;case Yt.Joel:n=NUe;break;case Yt.Joey:n=UUe;break;case Yt.John:n=BUe;break;case Yt.Jonathon:n=jUe;break;case Yt.Jose:n=YUe;break;case Yt.Joseph:n=OUe;break;case Yt.Joshua:n=_Ue;break;case Yt.Judd:n=VUe;break;case Yt.Judy:n=GUe;break;case Yt.Julia:n=XUe;break;case Yt.Julio:n=JUe;break;case Yt.Jumapili:n=KUe;break;case Yt.June:n=qUe;break;case Yt.Juro:n=$Ue;break;case Yt.Justin:n=QUe;break;default:n=AUe}return n}}const K6t="/aladdin/assets/no_leaf_flower-CjefG9cq.png",q6t="/aladdin/assets/no_leaf_shrub-DDlKdxg_.png",ZUe="/aladdin/assets/bellflower-C5sA-Fge.png",hce="/aladdin/assets/boxwood-cAqkPwU6.png",pce="/aladdin/assets/cactus_combo_1-DgrI_pBB.png",gce="/aladdin/assets/cactus_combo_2-CnD7zsEV.png",mce="/aladdin/assets/cactus_combo_3-CTLr6iHA.png",yce="/aladdin/assets/cactus_combo_4-Bv3aYeWB.png",eBe="/aladdin/assets/hibiscus-DqTQjw28.png",tBe="/aladdin/assets/hydrangea-D6uimbNa.png",nBe="/aladdin/assets/hosta-Ds5QIDtm.png",oBe="/aladdin/assets/peony-pnxufFxy.png",iBe="/aladdin/assets/red_rose-BhP67K90.png",rBe="/aladdin/assets/spirea-aOcGALMo.png",aBe="/aladdin/assets/sunflower-l75w306z.png",Ace="/aladdin/assets/tall_bush-g5bJ_GuV.png",lBe="/aladdin/assets/tulip-BqSv3XYD.png",sBe="/aladdin/assets/white_flower-BUfV78a-.png",cBe="/aladdin/assets/yellow_flower-BQ5dOM0H.png";class cw{static fetchSpread(e){switch(e){case $n.Bellflower:return .45;case $n.Boxwood:return 1.6;case $n.CactusCombo1:return 1;case $n.CactusCombo2:return 1;case $n.CactusCombo3:return 1;case $n.CactusCombo4:return 1;case $n.Hosta:return 1;case $n.Hibiscus:return 2;case $n.Hydrangea:return 2;case $n.Peony:return 1.5;case $n.RedRose:return .5;case $n.Spirea:return 1.8;case $n.Sunflower:return 1;case $n.TallBush:return 1;case $n.Tulip:return .4;case $n.YellowFlower:return 2;default:return .8}}static fetchHeight(e){switch(e){case $n.Bellflower:return .4;case $n.Boxwood:return 1.44;case $n.CactusCombo1:return 1.18;case $n.CactusCombo2:return 1.35;case $n.CactusCombo3:return 1.24;case $n.CactusCombo4:return 1.35;case $n.Hosta:return .7;case $n.Hibiscus:return 1.7;case $n.Hydrangea:return 1.5;case $n.Peony:return 1;case $n.RedRose:return .8;case $n.Spirea:return 1.6;case $n.Sunflower:return 2;case $n.TallBush:return 2;case $n.Tulip:return .7;case $n.YellowFlower:return 1.4;default:return .5}}static fetchLabel(e,n){switch(e){case $n.Bellflower:return O.t("flower.Bellflower",n);case $n.Boxwood:return O.t("flower.Boxwood",n);case $n.CactusCombo1:return O.t("flower.CactusCombo1",n);case $n.CactusCombo2:return O.t("flower.CactusCombo2",n);case $n.CactusCombo3:return O.t("flower.CactusCombo3",n);case $n.CactusCombo4:return O.t("flower.CactusCombo4",n);case $n.Hibiscus:return O.t("flower.Hibiscus",n);case $n.Hydrangea:return O.t("flower.Hydrangea",n);case $n.Hosta:return O.t("flower.Hosta",n);case $n.Peony:return O.t("flower.Peony",n);case $n.RedRose:return O.t("flower.RedRose",n);case $n.Spirea:return O.t("flower.Spirea",n);case $n.Sunflower:return O.t("flower.Sunflower",n);case $n.TallBush:return O.t("flower.TallBush",n);case $n.Tulip:return O.t("flower.Tulip",n);case $n.YellowFlower:return O.t("flower.YellowFlower",n);default:return O.t("flower.WhiteFlower",n)}}static fetchTextureImage(e,n){if(n)return e===$n.Hibiscus||e===$n.Hydrangea||e===$n.YellowFlower||e===$n.Spirea?q6t:e===$n.Boxwood?hce:e===$n.TallBush?Ace:e===$n.CactusCombo1?pce:e===$n.CactusCombo2?gce:e===$n.CactusCombo3?mce:e===$n.CactusCombo4?yce:K6t;let o;switch(e){case $n.Bellflower:o=ZUe;break;case $n.Boxwood:o=hce;break;case $n.CactusCombo1:o=pce;break;case $n.CactusCombo2:o=gce;break;case $n.CactusCombo3:o=mce;break;case $n.CactusCombo4:o=yce;break;case $n.Hibiscus:o=eBe;break;case $n.Hydrangea:o=tBe;break;case $n.Hosta:o=nBe;break;case $n.Peony:o=oBe;break;case $n.RedRose:o=iBe;break;case $n.Spirea:o=rBe;break;case $n.Sunflower:o=aBe;break;case $n.TallBush:o=Ace;break;case $n.Tulip:o=lBe;break;case $n.YellowFlower:o=cBe;break;default:o=sBe}return o}}class rl{static makeHuman(e,n,o,i,r){return{type:z.Human,name:e??Yt.Jack,cx:o,cy:i,cz:r,lx:Ip.fetchWidth(e??Yt.Jack),lz:Ip.fetchHeight(e??Yt.Jack),normal:[0,1,0],rotation:[0,0,0],parentId:n,id:ta.generate()}}static makeTree(e,n,o,i,r,a,l){return{type:z.Tree,name:e??fi.Dogwood,cx:r,cy:a,cz:l,lx:n??3,lz:o??4,normal:[0,1,0],rotation:[0,0,0],parentId:i,id:ta.generate()}}static makeSolarPanel(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A){let x;switch(e.type){case z.Foundation:x=e.id,A=z.Foundation;break;case z.Cuboid:x=e.id,A=z.Cuboid;break;case z.Wall:case z.Roof:x=e.parentId;break}return{type:z.SolarPanel,pvModelName:n.name,trackerType:Ma.NO_TRACKER,relativeAzimuth:u??0,tiltAngle:c??0,orientation:a??ci.landscape,drawSunBeam:!1,poleHeight:l??1,poleRadius:.05,poleSpacing:s??3,cx:o,cy:i,cz:r,lx:g??(a===ci.landscape?n.length:n.width),ly:y??(a===ci.landscape?n.width:n.length),lz:n.thickness,showLabel:!1,normal:d?d.toArray():[0,0,1],rotation:f||[0,0,0],color:"#fff",frameColor:p??"white",parentType:A,parentId:e.id,foundationId:x,id:ta.generate()}}static makeFlower(e,n,o,i,r){return{type:z.Flower,name:e??$n.YellowFlower,cx:o,cy:i,cz:r,lx:cw.fetchSpread(e??$n.YellowFlower),lz:cw.fetchHeight(e??$n.YellowFlower),normal:[0,1,0],rotation:[0,0,0],parentId:n,id:ta.generate()}}static makeCuboid(e,n,o,i,r){return{type:z.Cuboid,cx:e,cy:n,cz:o?o/2:2,lx:.1,ly:.1,lz:o??4,color:"#808080",faceColors:i??["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:r??[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],stackable:M.getState().actionState.cuboidStackable,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,selected:!1,id:ta.generate()}}static makeFoundation(e,n,o,i,r){return{type:z.Foundation,cx:e,cy:n,cz:o?o/2:.05,lx:0,ly:0,lz:o??.1,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,selected:!1,color:i??"#808080",textureType:r??Or.NoTexture,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:ta.generate()}}static makeParabolicTrough(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y){let A;switch(e.type){case z.Foundation:A=e.id;break}return{type:z.ParabolicTrough,reflectance:n??.9,absorptance:o??.95,opticalEfficiency:i??.7,thermalEfficiency:r??.3,moduleLength:s??3,latusRectum:a??2,relativeAzimuth:0,tiltAngle:0,absorberTubeRadius:.05,drawSunBeam:!1,poleHeight:l??.2,poleRadius:.05,cx:c,cy:u,cz:d,lx:g??2,ly:y??9,lz:.1,showLabel:!1,normal:f?f.toArray():[0,0,1],rotation:p||[0,0,0],parentId:e.id,foundationId:A,id:ta.generate()}}static makeParabolicDish(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y){let A;switch(e.type){case z.Foundation:A=e.id;break}return{type:z.ParabolicDish,reflectance:n??.9,absorptance:o??.95,opticalEfficiency:i??.7,thermalEfficiency:r??.3,moduleLength:3,latusRectum:a??8,relativeAzimuth:0,tiltAngle:0,structureType:s??ef.CentralPole,receiverRadius:.25,receiverPoleRadius:.1,drawSunBeam:!1,poleHeight:l??.2,poleRadius:.2,cx:c,cy:u,cz:d,lx:g??4,ly:y??4,lz:.1,showLabel:!1,normal:f?f.toArray():[0,0,1],rotation:p||[0,0,0],parentId:e.id,foundationId:A,id:ta.generate()}}static makeFresnelReflector(e,n,o,i,r,a,l,s,c,u,d,f){let p;switch(e.type){case z.Foundation:p=e.id;break}return{type:z.FresnelReflector,receiverId:n??"None",reflectance:o??.9,moduleLength:r??3,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:i??.2,poleRadius:.05,cx:a,cy:l,cz:s,lx:d??2,ly:f??9,lz:.1,showLabel:!1,normal:c?c.toArray():[0,0,1],rotation:u||[0,0,0],parentId:e.id,foundationId:p,id:ta.generate()}}static makeWindTurbine(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A,x,C,b){let v;switch(e.type){case z.Foundation:v=e.id;break}return{type:z.WindTurbine,birdSafe:n,bladeColor:o,stripeColor:i,numberOfBlades:r,initialRotorAngle:a,relativeYawAngle:l,pitchAngle:s,bladeRadius:c,bladeTipWidth:.2,bladeRootRadius:u,maximumChordRadius:f,maximumChordLength:d,towerRadius:p,towerHeight:g,hubRadius:y,hubLength:A,cx:x,cy:C,cz:b,lx:p*4,ly:p*4,lz:g+c,normal:[0,0,1],rotation:[0,0,0],parentId:e.id,foundationId:v,id:ta.generate()}}static makeHeliostat(e,n,o,i,r,a,l,s,c,u,d){let f;switch(e.type){case z.Foundation:f=e.id;break}return{type:z.Heliostat,towerId:n??"None",reflectance:o??.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:i??.2,poleRadius:.1,cx:r,cy:a,cz:l,lx:u??2,ly:d??4,lz:.1,showLabel:!1,normal:s?s.toArray():[0,0,1],rotation:c||[0,0,0],parentId:e.id,foundationId:f,id:ta.generate()}}static makePolygon(e,n,o,i,r,a,l){let s;switch(e.type){case z.Foundation:case z.Cuboid:s=e.id;break;case z.Wall:case z.Roof:s=e.parentId;break}const c=.2,u=.2,d=.2;let f=n,p=o;return e.type===z.Cuboid&&r?be.isUnitVectorX(r)?f=i:be.isUnitVectorY(r)&&(p=i):e.type===z.Wall&&(p=i),{type:z.Polygon,cx:f,cy:p,cz:0,lx:2*c,ly:2*u,lz:2*d,color:"#ffffff",normal:r?r.toArray():[0,0,1],rotation:a||[0,0,0],vertices:[{x:Math.max(-.5,f-c),y:Math.max(-.5,p-u)},{x:Math.max(-.5,f-c),y:Math.min(.5,p+u)},{x:Math.min(.5,f+c),y:Math.min(.5,p+u)},{x:Math.min(.5,f+c),y:Math.max(-.5,p-u)}],parentId:e.id,parentType:l,foundationId:s,selected:!1,filled:!0,selectedIndex:-1,id:ta.generate()}}static makeWall(e,n,o,i,r){const a=M.getState().actionState;return{type:z.Wall,cx:n,cy:o,cz:i,lx:0,ly:a.wallThickness??.3,lz:a.wallHeight??5,parapet:a.wallParapet,eavesLength:a.wallEavesLength??.3,rValue:a.wallRValue??3,fill:Hl.Full,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:a.wallHeight-.5,rightTopPartialHeight:a.wallHeight-.5,relativeAngle:0,leftPoint:[],rightPoint:[],leftJoints:[],rightJoints:[],textureType:a.wallTexture??No.Default,color:a.wallColor??"#ffffff",volumetricHeatCapacity:a.wallVolumetricHeatCapacity??.5,wallStructure:a.wallStructure??hc.Default,studSpacing:a.wallStructureSpacing??2,studWidth:a.wallStructureWidth??.1,studColor:a.wallStructureColor??"#ffffff",opacity:a.wallOpacity!==void 0?a.wallOpacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:r?r.toArray():[0,0,1],rotation:[0,0,0],parentId:e.id,foundationId:e.id,id:ta.generate()}}static makeSensor(e,n,o,i,r,a){let l;switch(e.type){case z.Foundation:case z.Cuboid:l=e.id;break;case z.Wall:case z.Roof:l=e.parentId;break}return{type:z.Sensor,cx:n,cy:o,cz:i,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:r?r.toArray():[0,0,1],rotation:a||[0,0,0],parentId:e.id,foundationId:l,parentType:e.type,id:ta.generate()}}static makeLight(e,n,o,i,r,a,l,s,c,u){let d;switch(e.type){case z.Foundation:case z.Cuboid:d=e.id;break;case z.Wall:case z.Roof:d=e.parentId;break}return{type:z.Light,decay:n??2,distance:o??5,intensity:i??3,color:r??"#ffff99",cx:a,cy:l,cz:s,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:c?c.toArray():[0,0,1],rotation:u||[0,0,0],parentId:e.id,foundationId:d,parentType:e.type,id:ta.generate()}}static makeWindow(e,n,o,i,r,a,l=0,s=0){let c,u=0;switch(e.type){case z.Cuboid:c=e.id;break;case z.Wall:c=e.parentId,u=e.ly;break;case z.Roof:c=e.parentId,u=e.thickness;break}const d=M.getState().actionState;return{type:z.Window,cx:n,cy:o,cz:i,lx:l,ly:u,lz:s,leftShutter:d.windowShutterLeft,rightShutter:d.windowShutterRight,shutterColor:d.windowShutterColor,shutterWidth:d.windowShutterWidth,horizontalMullion:d.windowHorizontalMullion,verticalMullion:d.windowVerticalMullion,mullionWidth:d.windowMullionWidth,horizontalMullionSpacing:d.windowHorizontalMullionSpacing,verticalMullionSpacing:d.windowVerticalMullionSpacing,mullionColor:d.windowMullionColor,frame:d.windowFrame,frameWidth:d.windowFrameWidth,sillWidth:In.isTypeRoof(r)?0:d.windowSillWidth,windowType:d.windowType,empty:d.windowEmpty,interior:d.windowInterior,archHeight:d.windowArchHeight,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:d.windowColor??"#ffffff",tint:d.windowTint??"#73D8FF",opacity:d.windowOpacity!==void 0?d.windowOpacity:.5,uValue:d.windowUValue??.5,normal:[0,-1,0],rotation:a?[...a]:[0,0,0],parentId:e.id,parentType:r,foundationId:c,id:ta.generate()}}static makeDoor(e){let n;switch(e.type){case z.Cuboid:n=e.id;break;case z.Wall:n=e.parentId;break}const o=M.getState().actionState;return{type:z.Door,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,doorType:o.doorType,filled:o.doorFilled,interior:o.doorInterior,archHeight:o.doorArchHeight,textureType:o.doorTexture??ii.Default,color:o.doorColor??"#ffffff",uValue:o.doorUValue??.5,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:e.id,foundationId:n,id:ta.generate()}}static makePyramidRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Pyramid,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}static makeGableRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Gable,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate(),ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1]}}static makeHipRoof(e,n,o){const i=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:i.roofCeiling??!1,rise:i.roofRise<0?2:i.roofRise,thickness:i.roofThickness??.2,rValue:i.roofRValue??3,color:i.roofColor??"#454769",sideColor:i.roofSideColor??"#ffffff",textureType:i.roofTexture??Ui.Default,roofType:Vo.Hip,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate(),leftRidgeLength:(o??2)/2,rightRidgeLength:(o??2)/2}}static makeGambrelRoof(e,n){const i=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:i.roofCeiling??!1,rise:i.roofRise<0?2:i.roofRise,thickness:i.roofThickness??.2,rValue:i.roofRValue??3,color:i.roofColor??"#454769",sideColor:i.roofSideColor??"#ffffff",textureType:i.roofTexture??Ui.Default,roofType:Vo.Gambrel,roofStructure:yc.Default,wallsId:[...e],topRidgePoint:[0,1],frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}static makeMansardRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Mansard,roofStructure:yc.Default,wallsId:[...e],ridgeWidth:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}}const $6t=t=>t.solarPanelArrayLayoutParams.pvModelName,Q6t=t=>t.solarPanelArrayLayoutParams.rowAxis,Z6t=t=>t.solarPanelArrayLayoutParams.rowsPerRack,eAt=t=>t.solarPanelArrayLayoutParams.interRowSpacing,tAt=t=>t.solarPanelArrayLayoutParams.margin,nAt=t=>t.solarPanelArrayLayoutParams.poleHeight,oAt=t=>t.solarPanelArrayLayoutParams.poleSpacing,iAt=t=>t.solarPanelArrayLayoutParams.tiltAngle,rAt=t=>t.solarPanelArrayLayoutParams.orientation,fq=t=>t.viewState.navigationView,ss=t=>t.viewState.shadowEnabled,hq=t=>t.viewState.shadowCameraFar,pq=t=>t.viewState.solarPanelShininess,uBe=t=>t.viewState.windowShininess,X2=t=>t.viewState.heatFluxScaleFactor,q9=t=>t.viewState.heatFluxColor,$9=t=>t.viewState.heatFluxWidth,wf=t=>t.viewState.solarRadiationHeatMapMaxValue,U1e=t=>t.viewState.solarRadiationHeatMapReflectionOnly,B1e=t=>t.viewState.axes,dBe=t=>t.viewState.ambientLightIntensity,fBe=t=>t.viewState.directLightIntensity,hBe=t=>t.viewState.theme,pBe=t=>t.viewState.showAzimuthAngle,gBe=t=>t.viewState.showElevationAngle,mBe=t=>t.viewState.showZenithAngle,yBe=t=>t.viewState.autoRotate,ABe=t=>t.viewState.hideAddress,sA=t=>t.viewState.groundImage,aAt=t=>t.viewState.groundImageType,wBe=t=>t.viewState.groundColor,vBe=t=>t.viewState.waterSurface,hu=t=>t.viewState.orthographic,lAt=t=>t.viewState.enableRotate,sAt=t=>t.viewState.cameraPosition,cAt=t=>t.viewState.cameraZoom,xBe=t=>t.viewState.heliodon,bBe=t=>t.viewState.showSunAngles,j1e=t=>t.viewState.mapZoom,uAt=t=>t.viewState.mapTilt,SBe=t=>t.viewState.mapType,Y1e=t=>t.viewState.showSiteInfoPanel,gq=t=>t.viewState.showDesignInfoPanel,TBe=t=>t.viewState.showInstructionPanel,PBe=t=>t.viewState.showHeliodonPanel,dAt=t=>t.viewState.heliodonPanelX,fAt=t=>t.viewState.heliodonPanelY,hAt=t=>t.viewState.showMapPanel,pAt=t=>t.viewState.mapPanelX,gAt=t=>t.viewState.mapPanelY,mAt=t=>t.viewState.showWeatherPanel,yAt=t=>t.viewState.weatherPanelRect,AAt=t=>t.viewState.showDiurnalTemperaturePanel,wAt=t=>t.viewState.diurnalTemperaturePanelRect,CBe=t=>t.viewState.showStickyNotePanel,vAt=t=>t.viewState.stickyNotePanelRect,xAt=t=>t.viewState.showDailyBuildingEnergyPanel,bAt=t=>t.viewState.dailyBuildingEnergyPanelRect,SAt=t=>t.viewState.showYearlyBuildingEnergyPanel,TAt=t=>t.viewState.yearlyBuildingEnergyPanelRect,RBe=t=>t.viewState.showDailyLightSensorPanel,PAt=t=>t.viewState.dailyLightSensorPanelRect,CAt=t=>t.viewState.showYearlyLightSensorPanel,RAt=t=>t.viewState.yearlyLightSensorPanelRect,HAt=t=>t.viewState.yearlyLightSensorPanelShowDaylight,MAt=t=>t.viewState.yearlyLightSensorPanelShowClearness,HBe=t=>t.viewState.showDailyPvYieldPanel,IAt=t=>t.viewState.dailyPvYieldPanelRect,zAt=t=>t.viewState.showYearlyPvYieldPanel,DAt=t=>t.viewState.yearlyPvYieldPanelRect,EAt=t=>t.viewState.showSolarPanelVisibilityResultsPanel,kAt=t=>t.viewState.visibilityResultsPanelRect,MBe=t=>t.viewState.showDailyParabolicTroughYieldPanel,FAt=t=>t.viewState.dailyParabolicTroughYieldPanelRect,LAt=t=>t.viewState.showYearlyParabolicTroughYieldPanel,WAt=t=>t.viewState.yearlyParabolicTroughYieldPanelRect,IBe=t=>t.viewState.showDailyParabolicDishYieldPanel,NAt=t=>t.viewState.dailyParabolicDishYieldPanelRect,UAt=t=>t.viewState.showYearlyParabolicDishYieldPanel,BAt=t=>t.viewState.yearlyParabolicDishYieldPanelRect,zBe=t=>t.viewState.showDailyFresnelReflectorYieldPanel,jAt=t=>t.viewState.dailyFresnelReflectorYieldPanelRect,YAt=t=>t.viewState.showYearlyFresnelReflectorYieldPanel,OAt=t=>t.viewState.yearlyFresnelReflectorYieldPanelRect,DBe=t=>t.viewState.showDailyHeliostatYieldPanel,_At=t=>t.viewState.dailyHeliostatYieldPanelRect,VAt=t=>t.viewState.showYearlyHeliostatYieldPanel,GAt=t=>t.viewState.yearlyHeliostatYieldPanelRect,EBe=t=>t.viewState.showDailyUpdraftTowerYieldPanel,XAt=t=>t.viewState.dailyUpdraftTowerYieldPanelRect,JAt=t=>t.viewState.showYearlyUpdraftTowerYieldPanel,KAt=t=>t.viewState.yearlyUpdraftTowerYieldPanelRect,qAt=t=>t.viewState.showEvolutionPanel,$At=t=>t.viewState.evolutionPanelRect,Xs=t=>t.world.latitude,wb=t=>t.world.longitude,Ya=t=>t.world.date,O1e=t=>t.world.leafDayOfYear1,_1e=t=>t.world.leafDayOfYear2,QAt=t=>t.world.ground,mq=t=>t.world.address,ZAt=t=>t.world.countryCode,e4t=t=>t.world.airAttenuationCoefficient,t4t=t=>t.world.airConvectiveCoefficient,kBe=t=>t.world.timesPerHour,mH=t=>t.world.daysPerYear,n4t=t=>t.world.discretization,FBe=t=>t.world.diurnalTemperatureModel,KL=t=>t.world.highestTemperatureTimeInMinutes,o4t=t=>t.world.solarRadiationHeatmapGridCellSize,i4t=t=>t.world.pvGridCellSize,r4t=t=>t.world.solarPanelVisibilityGridCellSize,a4t=t=>t.world.cspTimesPerHour,qL=t=>t.world.cspDaysPerYear,l4t=t=>t.world.cspGridCellSize,s4t=t=>t.world.sutTimesPerHour,LBe=t=>t.world.sutDaysPerYear,c4t=t=>t.world.sutGridCellSize,V1e=t=>t.world.noAnimationForHeatmapSimulation,u4t=t=>t.world.noAnimationForThermalSimulation,G1e=t=>t.world.noAnimationForSensorDataCollection,X1e=t=>t.world.noAnimationForSolarPanelSimulation,WBe=t=>t.world.noAnimationForSolarUpdraftTowerSimulation,dn=t=>t.set,Eg=t=>t.user,d4t=t=>t.userCount,NBe=t=>t.shadowMapSize,f4t=t=>t.showEconomicsPanel,h4t=t=>t.showNavigationPanel,p4t=t=>t.showShadowSettings,g4t=t=>t.minimumNavigationMoveSpeed,m4t=t=>t.minimumNavigationTurnSpeed,y4t=t=>t.navigationMoveSpeed,A4t=t=>t.navigationTurnSpeed,o1=t=>t.getHeatmap,J1e=t=>t.setHeatmap,UBe=t=>t.clearHeatmaps,K1e=t=>t.flagOfDailySimulation,vb=t=>t.hourlyHeatExchangeArrayMap,w4t=t=>t.setHourlyHeatExchangeArray,v4t=t=>t.hourlySolarHeatGainArrayMap,x4t=t=>t.setHourlySolarHeatGainArray,b4t=t=>t.hourlySolarPanelOutputArrayMap,S4t=t=>t.setHourlySolarPanelOutputArray,q1e=t=>t.getRoofSegmentVertices,$L=t=>t.getRoofSegmentVerticesWithoutOverhang,BBe=t=>t.changed,T4t=t=>t.setChanged,P4t=t=>t.setSkipChange,ro=t=>t.applyCount,oo=t=>t.setApplyCount,ca=t=>t.revertApply,Jn=t=>t.elements,C4t=t=>t.notes,C7=t=>t.pvModules,R4t=t=>t.loadPvModules,J2=t=>t.getPvModule,pu=t=>t.floatingWindowOpacity,bc=t=>t.selectedFloatingWindow,Sc=t=>t.language,H4t=t=>t.locale,ha=t=>t.loggable,M4t=t=>t.actionInfo,I4t=t=>t.currentUndoable,yq=t=>t.openModelsMap,z4t=t=>t.modelsMapLatitude,D4t=t=>t.modelsMapLongitude,E4t=t=>t.modelsMapZoom,k4t=t=>t.modelsMapTilt,$1e=t=>t.modelsMapType,jBe=t=>t.modelsMapWeatherStations,F4t=t=>t.showCloudFileTitleDialog,YBe=t=>t.showCloudFileTitleDialogFlag,yH=t=>t.cloudFile,L4t=t=>t.latestModelSite,OBe=t=>t.modelSites,_Be=t=>t.peopleModels,W4t=t=>t.saveAccountSettingsFlag,N4t=t=>t.saveCloudFileFlag,U4t=t=>t.createProjectFlag,B4t=t=>t.saveProjectAsFlag,j4t=t=>t.curateDesignToProjectFlag,Y4t=t=>t.showProjectsFlag,O4t=t=>t.updateProjectsFlag,_4t=t=>t.modelsMapFlag,V4t=t=>t.leaderboardFlag,G4t=t=>t.showLeaderboard,X4t=t=>t.publishOnModelsMapFlag,J4t=t=>t.listCloudFilesFlag,K4t=t=>t.localContentToImportAfterCloudFileUpdate,q4t=t=>t.localFileName,$4t=t=>t.createNewFileFlag,Q4t=t=>t.openLocalFileFlag,VBe=t=>t.saveLocalFileDialogVisible,AH=t=>t.fileChanged,Z4t=t=>t.undoManager,En=t=>t.addUndoable,Q1e=t=>t.importContent,GBe=t=>t.exportContent,ewt=t=>t.clearContent,XBe=t=>t.createEmptyFile,twt=t=>t.aabb,JBe=t=>t.animateSun,nwt=t=>t.animate24Hours,QL=t=>t.runDailyThermalSimulation,owt=t=>t.pauseDailyThermalSimulation,Aq=t=>t.runYearlyThermalSimulation,iwt=t=>t.pauseYearlyThermalSimulation,rwt=t=>t.clearDailySimulationResultsFlag,awt=t=>t.clearYearlySimulationResultsFlag,ZL=t=>t.runDynamicSimulation,Z1e=t=>t.runStaticSimulation,lwt=t=>t.pauseSimulation,K2=t=>t.runEvolution,wq=t=>t.pauseEvolution,vq=t=>t.objectiveEvaluationIndex,wH=t=>t.evolutionMethod,swt=t=>t.updateSceneRadiusFlag,KBe=t=>t.updateSceneRadius,mh=t=>t.sceneRadius,cwt=t=>t.cameraDirection,ege=t=>t.getCameraDirection,jn=t=>t.getElementById,cA=t=>t.getFoundation,rr=t=>t.getParent,vH=t=>t.getChildren,Q9=t=>t.getChildrenOfType,Z9=t=>t.selectedElement,uwt=t=>t.selectedElementIdSet,xb=t=>t.getSelectedElement,tge=t=>t.overlapWithSibling,qBe=t=>t.selectedSideIndex,e3=t=>t.setElementPosition,nge=t=>t.setElementSize,dwt=t=>t.setElementNormal,fwt=t=>t.updateElementLockById,hwt=t=>t.updateElementReferenceById,pwt=t=>t.updateElementLabelById,gwt=t=>t.updateElementShowLabelById,$Be=t=>t.updateElementCxById,QBe=t=>t.updateElementCyById,mwt=t=>t.updateElementCzById,ywt=t=>t.updateElementCzForAll,t3=t=>t.updateElementLxById,xq=t=>t.updateElementLxAboveFoundation,eW=t=>t.updateElementLxForAll,R7=t=>t.updateElementLyById,bq=t=>t.updateElementLyAboveFoundation,tW=t=>t.updateElementLyForAll,oge=t=>t.updateElementLzById,Awt=t=>t.updateElementLzForAll,ZBe=t=>t.updateElementColorById,wwt=t=>t.updateElementColorOnSurface,vwt=t=>t.updateElementColorAboveFoundation,eje=t=>t.updateElementColorForAll,xwt=t=>t.updateElementLineColorById,bwt=t=>t.updateElementLineColorOnSurface,Swt=t=>t.updateElementLineColorAboveFoundation,Twt=t=>t.updateElementLineColorForAll,Pwt=t=>t.updateElementLineWidthById,Cwt=t=>t.updateElementLineWidthOnSurface,Rwt=t=>t.updateElementLineWidthAboveFoundation,Hwt=t=>t.updateElementLineWidthForAll,ige=t=>t.updateElementRotationById,Mwt=t=>t.updateElementRotationForAll,Js=t=>t.foundationActionScope,Iwt=t=>t.setFoundationActionScope,xH=t=>t.polygonActionScope,bH=t=>t.setPolygonActionScope,tje=t=>t.updatePolygonVertexPositionById,H7=t=>t.updatePolygonVerticesById,SH=t=>t.cuboidActionScope,TH=t=>t.setCuboidActionScope,i1=t=>t.solarPanelActionScope,r1=t=>t.setSolarPanelActionScope,nW=t=>t.updateSolarCollectorDailyYieldById,oW=t=>t.updateSolarCollectorYearlyYieldById,rge=t=>t.updateSolarPanelTiltAngleById,nje=t=>t.updateSolarCollectorDrawSunBeamById,oje=t=>t.updateSolarCollectorDrawSunBeamAboveFoundation,ije=t=>t.updateSolarCollectorDrawSunBeamForAll,age=t=>t.updateSolarCollectorRelativeAzimuthById,zwt=t=>t.updateSolarCollectorRelativeAzimuthOnSurface,Dwt=t=>t.updateSolarCollectorRelativeAzimuthAboveFoundation,Ewt=t=>t.updateSolarCollectorRelativeAzimuthForAll,kwt=t=>t.updateSolarCollectorXById,Fwt=t=>t.updateSolarCollectorXAboveFoundation,Lwt=t=>t.updateSolarCollectorXForAll,Wwt=t=>t.updateSolarCollectorYById,Nwt=t=>t.updateSolarCollectorYAboveFoundation,Uwt=t=>t.updateSolarCollectorYForAll,iW=t=>t.updateSolarCollectorPoleHeightById,Bwt=t=>t.updateSolarCollectorPoleHeightOnSurface,rW=t=>t.updateSolarCollectorPoleHeightAboveFoundation,aW=t=>t.updateSolarCollectorPoleHeightForAll,rje=t=>t.updateSolarCollectorPoleRadiusById,aje=t=>t.updateSolarCollectorPoleRadiusAboveFoundation,lje=t=>t.updateSolarCollectorPoleRadiusForAll,Sq=t=>t.updateCspReflectanceById,Tq=t=>t.updateCspReflectanceAboveFoundation,Pq=t=>t.updateCspReflectanceForAll,sje=t=>t.updateParabolicCollectorAbsorptanceById,cje=t=>t.updateParabolicCollectorAbsorptanceAboveFoundation,uje=t=>t.updateParabolicCollectorAbsorptanceForAll,dje=t=>t.updateParabolicCollectorOpticalEfficiencyById,fje=t=>t.updateParabolicCollectorOpticalEfficiencyAboveFoundation,hje=t=>t.updateParabolicCollectorOpticalEfficiencyForAll,pje=t=>t.updateParabolicCollectorThermalEfficiencyById,gje=t=>t.updateParabolicCollectorThermalEfficiencyAboveFoundation,mje=t=>t.updateParabolicCollectorThermalEfficiencyForAll,uA=t=>t.parabolicTroughActionScope,dA=t=>t.setParabolicTroughActionScope,bb=t=>t.fresnelReflectorActionScope,Sb=t=>t.setFresnelReflectorActionScope,Tb=t=>t.heliostatActionScope,Pb=t=>t.setHeliostatActionScope,yje=t=>t.updateSolarReceiverById,Aje=t=>t.updateSolarReceiverAboveFoundation,wje=t=>t.updateSolarReceiverForAll,fA=t=>t.parabolicDishActionScope,hA=t=>t.setParabolicDishActionScope,vje=t=>t.updateParabolaLatusRectumById,xje=t=>t.updateParabolaLatusRectumAboveFoundation,bje=t=>t.updateParabolaLatusRectumForAll,Sje=t=>t.updateModuleLengthById,Tje=t=>t.updateModuleLengthAboveFoundation,Pje=t=>t.updateModuleLengthForAll,n3=t=>t.windTurbineActionScope,o3=t=>t.setWindTurbineActionScope,Cje=t=>t.copyElementById,hp=t=>t.removeElementById,jwt=t=>t.clearDeletedElements,Ywt=t=>t.countElementsByReferenceId,lge=t=>t.removeElementsByReferenceId,Rje=t=>t.pasteElementsToPoint,Owt=t=>t.pasteElementsByKey,Hje=t=>t.elementsToPaste,Vc=t=>t.selectMe,lW=t=>t.selectNone,sge=t=>t.addElement,Cq=t=>t.objectTypeToAdd,_wt=t=>t.actionModeLock,kg=t=>t.countElementsByType,Mje=t=>t.countSolarStructuresByType,Vwt=t=>t.countObservers,Gwt=t=>t.countSolarPanelsOnRack,Xwt=t=>t.selectedElementAngle,Jwt=t=>t.waiting,vf=t=>t.simulationInProgress,cge=t=>t.simulationPaused,Ije=t=>t.evolutionInProgress,zje=t=>t.evolutionPaused,Kwt=t=>t.contextMenuObjectType,qwt=t=>t.enableFineGrid,$wt=t=>t.setEnableFineGrid,Qwt=t=>t.showCloudFilePanel,Dje=t=>t.projectState.title,Eje=t=>t.projectState.owner,Zwt=t=>t.projectState.description,e7t=t=>t.projectState.designs,t7t=t=>t.projectState.type,kje=t=>t.projectState.selectedProperty,n7t=t=>t.projectState.dataColoring,o7t=t=>t.projectState.thumbnailWidth,i7t=t=>t.projectState.xAxisNameScatterPlot,r7t=t=>t.projectState.yAxisNameScatterPlot,a7t=t=>t.projectState.dotSizeScatterPlot,l7t=t=>t.projectState.sortDescending,s7t=t=>t.projectState.filters,c7t=t=>t.projectState.ranges,u7t=t=>t.projectState.hiddenParameters,Rq=t=>t.projectView,d7t=t=>t.showProjectListPanel,f7t=t=>t.showModelsGallery,h7t=t=>t.showAccountSettingsPanel,p7t=t=>t.showLikesPanel,g7t=t=>t.showPublishedModelsPanel,m7t=t=>t.weatherModel,Fje=t=>t.setWeatherModel,uge=t=>t.weatherData,y7t=t=>t.loadWeatherData,A7t=t=>t.loadHorizontalSolarRadiationData,w7t=t=>t.getHorizontalSolarRadiation,v7t=t=>t.loadVerticalSolarRadiationData,x7t=t=>t.getVerticalSolarRadiation,Lje=t=>t.getClosestCity,M7=t=>t.sunlightDirection,b7t=t=>t.setSunlightDirection,cs=t=>t.showSolarRadiationHeatmap,i3=t=>t.showHeatFluxes,S7t=t=>t.runSolarPanelVisibilityAnalysis,T7t=t=>t.solarPanelVisibilityResults,Wje=t=>t.runDailySimulationForSolarPanels,P7t=t=>t.runDailySimulationForSolarPanelsLastStep,Nje=t=>t.runYearlySimulationForSolarPanels,C7t=t=>t.runYearlySimulationForSolarPanelsLastStep,R7t=t=>t.pauseDailySimulationForSolarPanels,H7t=t=>t.pauseYearlySimulationForSolarPanels,M7t=t=>t.dailyPvYield,Uje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyPvIndividualOutputs},I7t=t=>t.setDailyPvYield,z7t=t=>t.yearlyPvYield,Bje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyPvIndividualOutputs},D7t=t=>t.setYearlyPvYield,jje=t=>t.solarPanelLabels,E7t=t=>t.setSolarPanelLabels,Yje=t=>t.setTotalBuildingHeater,Oje=t=>t.setTotalBuildingAc,_je=t=>t.setTotalBuildingSolarPanel,k7t=t=>t.runDailySimulationForParabolicTroughs,F7t=t=>t.runYearlySimulationForParabolicTroughs,L7t=t=>t.pauseDailySimulationForParabolicTroughs,W7t=t=>t.pauseYearlySimulationForParabolicTroughs,N7t=t=>t.dailyParabolicTroughYield,Vje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyParabolicTroughIndividualOutputs},U7t=t=>t.setDailyParabolicTroughYield,B7t=t=>t.yearlyParabolicTroughYield,Gje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyParabolicTroughIndividualOutputs},j7t=t=>t.setYearlyParabolicTroughYield,Xje=t=>t.parabolicTroughLabels,Y7t=t=>t.setParabolicTroughLabels,O7t=t=>t.runDailySimulationForFresnelReflectors,_7t=t=>t.runYearlySimulationForFresnelReflectors,V7t=t=>t.pauseDailySimulationForFresnelReflectors,G7t=t=>t.pauseYearlySimulationForFresnelReflectors,X7t=t=>t.dailyFresnelReflectorYield,Jje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyFresnelReflectorIndividualOutputs},J7t=t=>t.setDailyFresnelReflectorYield,K7t=t=>t.yearlyFresnelReflectorYield,Kje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyFresnelReflectorIndividualOutputs},q7t=t=>t.setYearlyFresnelReflectorYield,qje=t=>t.fresnelReflectorLabels,$7t=t=>t.setFresnelReflectorLabels,Q7t=t=>t.runDailySimulationForHeliostats,Z7t=t=>t.runYearlySimulationForHeliostats,e8t=t=>t.pauseDailySimulationForHeliostats,t8t=t=>t.pauseYearlySimulationForHeliostats,n8t=t=>t.dailyHeliostatYield,$je=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyHeliostatIndividualOutputs},o8t=t=>t.setDailyHeliostatYield,i8t=t=>t.yearlyHeliostatYield,Qje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyHeliostatIndividualOutputs},r8t=t=>t.setYearlyHeliostatYield,Zje=t=>t.heliostatLabels,a8t=t=>t.setHeliostatLabels,eYe=t=>t.runDailySimulationForUpdraftTower,tYe=t=>t.runYearlySimulationForUpdraftTower,l8t=t=>t.pauseDailySimulationForUpdraftTower,s8t=t=>t.pauseYearlySimulationForUpdraftTower,c8t=t=>t.dailyUpdraftTowerResults,u8t=t=>t.dailyUpdraftTowerYield,d8t=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyUpdraftTowerIndividualOutputs},f8t=t=>t.setDailyUpdraftTowerResults,h8t=t=>t.setDailyUpdraftTowerYield,p8t=t=>t.yearlyUpdraftTowerYield,g8t=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyUpdraftTowerIndividualOutputs},m8t=t=>t.setYearlyUpdraftTowerYield,nYe=t=>t.updraftTowerLabels,y8t=t=>t.setUpdraftTowerLabels,A8t=t=>t.runDailySimulationForParabolicDishes,w8t=t=>t.runYearlySimulationForParabolicDishes,v8t=t=>t.pauseDailySimulationForParabolicDishes,x8t=t=>t.pauseYearlySimulationForParabolicDishes,b8t=t=>t.dailyParabolicDishYield,oYe=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyParabolicDishIndividualOutputs},S8t=t=>t.setDailyParabolicDishYield,T8t=t=>t.yearlyParabolicDishYield,iYe=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyParabolicDishIndividualOutputs},P8t=t=>t.setYearlyParabolicDishYield,rYe=t=>t.parabolicDishLabels,C8t=t=>t.setParabolicDishLabels,aYe=t=>t.runDailyLightSensor,R8t=t=>t.pauseDailyLightSensor,lYe=t=>t.runYearlyLightSensor,H8t=t=>t.pauseYearlyLightSensor,M8t=t=>t.dailyLightSensorData,I8t=t=>t.setDailyLightSensorData,z8t=t=>t.yearlyLightSensorData,D8t=t=>t.setYearlyLightSensorData,sYe=t=>t.sensorLabels,E8t=t=>t.setSensorLabels,ey=t=>t.hoveredHandle,Cb=t=>t.moveHandleType,yh=t=>t.resizeHandleType,dge=t=>t.getResizeHandlePosition,sW=t=>t.rotateHandleType,k8t=t=>t.resizeAnchor,fge=t=>t.isAddingElement,Hq=t=>t.addedFoundationId,F8t=t=>t.deletedFoundationId,Mq=t=>t.addedCuboidId,L8t=t=>t.deletedCuboidId,cYe=t=>t.addedWallId,W8t=t=>t.deletedWallId,N8t=t=>t.deletedRoofId,hge=t=>t.deletedRoofIdSet,uYe=t=>t.autoDeletedRoofIdSet,U8t=t=>t.autoDeletedRoofs,dYe=t=>t.autoDeletedChild,fYe=t=>t.groupActionMode,B8t=t=>t.groupActionUpdateFlag,j8t=t=>t.addedWindowId,Y8t=t=>t.addedDoorId,O8t=t=>t.updateWallMapOnFoundationFlag,r3=t=>t.wallActionScope,ty=t=>t.roofActionScope,cW=t=>t.windowActionScope,I7=t=>t.doorActionScope,hYe=t=>t.setRoofActionScope,pge=t=>t.updateWallLeftJointsById,gge=t=>t.updateWallRightJointsById,_8t=t=>t.updateWallLeftPointById,Iq=t=>t.economicsParams,V8t=t=>t.fittestIndividualResults,zq=t=>t.setFittestIndividualResults,uW=t=>t.variableLabels,Dq=t=>t.setVariableLabels,pA=t=>t.evolutionaryAlgorithmState,Eq=t=>t.solarPanelArrayLayoutConstraints,G8t=t=>t.geneticAlgorithmWizardSelectedTab,X8t=t=>t.particleSwarmOptimizationWizardSelectedTab,J8t=t=>t.countHeatmapCells,Ah=t=>t.setPrimitiveStore,mge=Se.memo(({hx:t,hy:e,hz:n,position:o,rotation:i})=>{const r=M(qwt),a=M(sA),l=a?"#888888":"#444444",s=Math.max(t,e),[c,u]=m.useState(Math.floor(s/50)+1),[d,f]=m.useState(.5);m.useEffect(()=>{r?(u((Math.floor(s/25)+1)*l9),f(a?.05:.1)):(u((Math.floor(s/25)+1)*g6),f((a?.05:.1)*V5))},[r,s,a]);const p=m.useMemo(()=>{const y=[0];for(let A=c;A<=t;A+=c)y.push(A),y.push(-A);return y},[c,t]),g=m.useMemo(()=>{const y=[0];for(let A=c;A<=e;A+=c)y.push(A),y.push(-A);return y},[c,e]);return h.jsxs("group",{position:o??[0,0,n+.01],rotation:i,children:[p.map(y=>h.jsx(Fn,{points:[[y,-e,0],[y,e,0]],color:l,lineWidth:d,userData:{unintersectable:!0}},y)),g.map(y=>h.jsx(Fn,{points:[[-t,y,0],[t,y,0]],color:l,lineWidth:d,userData:{unintersectable:!0}},y))]})}),Qoe=.2,K8t=({x:t,z:e,handleType:n,scale:o=[1,1,1]})=>{const i=M(dn),r=M(yh),a=m.useRef(null),[l,s]=m.useState("white"),[c,u,d]=o;return m.useEffect(()=>{s(r===n?"red":"white")},[r]),h.jsx(Ei,{ref:a,name:n,args:[Qoe*c,Qoe*u,Qoe*d],position:[t,0,e],onPointerEnter:()=>{s("red"),i(f=>{f.hoveredHandle=n})},onPointerLeave:()=>{r===null&&s("white"),i(f=>{f.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{attach:"material",color:l})})},mv=Se.memo(K8t),q8t=({handleType:t})=>{const e=M(Cb),n=m.useRef(null),[o,i]=m.useState("white");return m.useEffect(()=>{e===yo.Mid?i("red"):i("white")},[e]),h.jsx(ts,{ref:n,name:t,args:[.1,6,6],onPointerEnter:()=>{i("red")},onPointerLeave:()=>{e===null&&i("white")},children:h.jsx("meshBasicMaterial",{attach:"material",color:o})})},$8t=Se.memo(q8t);class Zoe{constructor(e){this.top=0,this.array=new Float32Array(e)}write(e){this.array[this.top++]=e.x,this.array[this.top++]=e.y,this.array[this.top++]=e.z}}class Q8t{constructor(e){this.top=0,this.array=new Float32Array(e)}write(e){this.array[this.top++]=e.x,this.array[this.top++]=e.y}}let AT=class b_{constructor(e){this.plane=null,this.front=null,this.back=null,this.polygons=[],e&&this.build(e)}clone(){const e=new b_;return e.plane=this.plane&&this.plane.clone(),e.front=this.front&&this.front.clone(),e.back=this.back&&this.back.clone(),e.polygons=this.polygons.map(n=>n.clone()),e}invert(){for(let n=0;nDv.EPSILON?1:0;u|=g,d.push(g)}switch(u){case 0:(this.normal.dot(e.plane.normal)>0?n:o).push(e);break;case 1:i.push(e);break;case 2:r.push(e);break;case 3:{const f=[],p=[];for(let g=0;g=3&&i.push(new eG(f,e.shared)),p.length>=3&&r.push(new eG(p,e.shared));break}}}static fromPoints(e,n,o){const i=new p2().copy(n).sub(e).cross(new p2().copy(o).sub(e)).normalize();return new Dv(i.clone(),i.dot(e))}}Dv.EPSILON=1e-5;let eG=class pYe{constructor(e,n){this.vertices=e,this.shared=n,this.plane=Dv.fromPoints(e[0].pos,e[1].pos,e[2].pos)}clone(){return new pYe(this.vertices.map(e=>e.clone()),this.shared)}flip(){this.vertices.reverse().map(e=>e.flip()),this.plane.flip()}};class tG{constructor(e,n,o,i){this.pos=new p2().copy(e),this.normal=new p2().copy(n),this.uv=new p2().copy(o),this.uv.z=0,i&&(this.color=new p2().copy(i))}clone(){return new tG(this.pos,this.normal,this.uv,this.color)}flip(){this.normal.negate()}interpolate(e,n){return new tG(this.pos.clone().lerp(e.pos,n),this.normal.clone().lerp(e.normal,n),this.uv.clone().lerp(e.uv,n),this.color&&e.color&&this.color.clone().lerp(e.color,n))}}class ac{constructor(){this.polygons=[]}static fromPolygons(e){const n=new ac;return n.polygons=e,n}static fromGeometry(e,n){let o=[];const i=e.attributes.position,r=e.attributes.normal,a=e.attributes.uv,l=e.attributes.color,s=e.groups;let c;if(e.index)c=e.index.array;else{c=new Array(i.array.length/i.itemSize|0);for(let d=0;d0)for(const y of s)d>=y.start&&d!Number.isNaN(d.plane.normal.x)))}static toGeometry(e,n){let o=0;const i=e.polygons;for(const p of i)o+=p.vertices.length-2;const r=new Ur,a=new Zoe(o*3*3),l=new Zoe(o*3*3),s=new Q8t(o*2*3);let c;const u=[],d=[];for(const p of i){const g=p.vertices,y=g.length;p.shared!==void 0&&(u[p.shared]||(u[p.shared]=[])),y&&g[0].color!==void 0&&(c||(c=new Zoe(o*3*3)));for(let A=3;A<=y;A++)(p.shared===void 0?d:u[p.shared]).push(a.top/3,a.top/3+1,a.top/3+2),a.write(g[0].pos),a.write(g[A-2].pos),a.write(g[A-1].pos),l.write(g[0].normal),l.write(g[A-2].normal),l.write(g[A-1].normal),s&&(s.write(g[0].uv),s.write(g[A-2].uv),s.write(g[A-1].uv)),c&&(c.write(g[0].color),c.write(g[A-2].color),c.write(g[A-1].color))}r.setAttribute("position",new qa(a.array,3)),r.setAttribute("normal",new qa(l.array,3)),s&&r.setAttribute("uv",new qa(s.array,2)),c&&r.setAttribute("color",new qa(c.array,3));for(let p=0;pn.clone()).filter(n=>Number.isFinite(n.plane.w)),e}toPolygons(){return this.polygons}union(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.clipTo(o),o.clipTo(n),o.invert(),o.clipTo(n),o.invert(),n.build(o.allPolygons()),ac.fromPolygons(n.allPolygons())}subtract(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.invert(),n.clipTo(o),o.clipTo(n),o.invert(),o.clipTo(n),o.invert(),n.build(o.allPolygons()),n.invert(),ac.fromPolygons(n.allPolygons())}intersect(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.invert(),o.clipTo(n),o.invert(),n.clipTo(o),o.clipTo(n),n.build(o.allPolygons()),n.invert(),ac.fromPolygons(n.allPolygons())}inverse(){const e=this.clone();for(const n of e.polygons)n.flip();return e}toMesh(e,n){return ac.toMesh(this,e,n)}toGeometry(e){return ac.toGeometry(this,e)}}const gt=vK()((t,e)=>{const n=o=>t(LP(o));return{set:o=>{try{n(o)}catch(i){console.log(i)}},setPrimitiveStore(o,i){n(r=>{r[o]!==void 0?r[o]=i:console.error(`key ${o} is not defined in PrimitiveStoreState`)})},changed:!1,setChanged(o){n(i=>{i.changed=o})},skipChange:!0,setSkipChange(o){n(i=>{i.skipChange=o})},localFileName:"aladdin.ala",createNewFileFlag:!1,setCreateNewFileFlag(o){n(i=>{i.createNewFileFlag=o})},openLocalFileFlag:!1,setOpenLocalFileFlag(o){n(i=>{i.openLocalFileFlag=o})},waiting:!1,contextMenuFlag:!1,updateContextMenu(){n(o=>{o.contextMenuFlag=!o.contextMenuFlag})},showEconomicsPanel:!1,showNavigationPanel:!1,showShadowSettings:!1,saveAccountSettingsFlag:!1,saveCloudFileFlag:!1,setSaveCloudFileFlag(o){n(i=>{i.saveCloudFileFlag=o})},listCloudFilesFlag:!1,saveLocalFileDialogVisible:!1,modelsMapFlag:!1,leaderboardFlag:!1,showLeaderboard:!1,publishOnModelsMapFlag:!1,modelsMapWeatherStations:!1,createProjectFlag:!1,saveProjectAsFlag:!1,curateDesignToProjectFlag:!1,showProjectsFlag:!1,updateProjectsFlag:!1,showProjectListPanel:!1,projectImagesUpdateFlag:!1,projectType:Tr.SOLAR_PANEL_ARRAY,projectTitle:null,projectDescription:null,userCount:0,showCloudFilePanel:!1,openModelsMap:!1,showModelsGallery:!1,showAccountSettingsPanel:!1,showLikesPanel:!1,showPublishedModelsPanel:!1,animateSun:!1,simulationInProgress:!1,simulationPaused:!1,evolutionInProgress:!1,evolutionPaused:!1,runEvolution:!1,pauseEvolution:!1,objectiveEvaluationIndex:0,runDailyThermalSimulation:!1,pauseDailyThermalSimulation:!1,runYearlyThermalSimulation:!1,pauseYearlyThermalSimulation:!1,clearDailySimulationResultsFlag:!1,clearYearlySimulationResultsFlag:!1,runDynamicSimulation:!1,runStaticSimulation:!1,pauseSimulation:!1,runDailySimulationForParabolicDishes:!1,runYearlySimulationForParabolicDishes:!1,pauseDailySimulationForParabolicDishes:!1,pauseYearlySimulationForParabolicDishes:!1,runDailySimulationForParabolicTroughs:!1,runYearlySimulationForParabolicTroughs:!1,pauseDailySimulationForParabolicTroughs:!1,pauseYearlySimulationForParabolicTroughs:!1,runDailySimulationForFresnelReflectors:!1,runYearlySimulationForFresnelReflectors:!1,pauseDailySimulationForFresnelReflectors:!1,pauseYearlySimulationForFresnelReflectors:!1,runDailySimulationForHeliostats:!1,runYearlySimulationForHeliostats:!1,pauseDailySimulationForHeliostats:!1,pauseYearlySimulationForHeliostats:!1,runSolarPanelVisibilityAnalysis:!1,runDailySimulationForSolarPanels:!1,pauseDailySimulationForSolarPanels:!1,runYearlySimulationForSolarPanels:!1,pauseYearlySimulationForSolarPanels:!1,runDailySimulationForSolarPanelsLastStep:!1,runYearlySimulationForSolarPanelsLastStep:!1,runDailyLightSensor:!1,pauseDailyLightSensor:!1,runYearlyLightSensor:!1,pauseYearlyLightSensor:!1,runDailySimulationForUpdraftTower:!1,runYearlySimulationForUpdraftTower:!1,pauseDailySimulationForUpdraftTower:!1,pauseYearlySimulationForUpdraftTower:!1,flagOfDailySimulation:!1,showSolarRadiationHeatmap:!1,showHeatFluxes:!1,duringCameraInteraction:!1,navigationMoveSpeed:3,navigationTurnSpeed:3,elementBeingCanceledId:null,showWallIntersectionPlaneId:null,oldParentId:null,oldFoundationId:null,selectedElementId:null,foundationMovedFlag:!1,updateFoundationMovedFlag(){n(o=>{o.foundationMovedFlag=!o.foundationMovedFlag})},isCameraUnderGround:!1}}),bn=vK()((t,e)=>({roofSegmentVerticesMap:new Map,setRoofSegmentVertices(n,o){t(i=>(i.roofSegmentVerticesMap.set(n,[...o]),i))},getRoofSegmentVertices(n){return e().roofSegmentVerticesMap.get(n)},deleteRoofSegmentVertices(n){t(o=>(o.roofSegmentVerticesMap.delete(n),o))},roofSegmentVerticesWithoutOverhangMap:new Map,setRoofSegmentVerticesWithoutOverhang(n,o){t(i=>(i.roofSegmentVerticesWithoutOverhangMap.set(n,o),i))},getRoofSegmentVerticesWithoutOverhang(n){return e().roofSegmentVerticesWithoutOverhangMap.get(n)},deleteRoofSegmentVerticesWithoutOverhang(n){t(o=>(o.roofSegmentVerticesWithoutOverhangMap.delete(n),o))},dailyLightSensorData:[],setDailyLightSensorData(n){t({dailyLightSensorData:[...n]})},yearlyLightSensorData:[],setYearlyLightSensorData(n){t({yearlyLightSensorData:[...n]})},sensorLabels:[],setSensorLabels(n){t({sensorLabels:[...n]})},dailyPvYield:[],setDailyPvYield(n){t({dailyPvYield:[...n]}),gt.getState().set(o=>{o.runEvolution&&o.objectiveEvaluationIndex++})},sumDailyPvYield(){let n=0;for(const o of this.dailyPvYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},getDailyPvProfit(){const n=this.sumDailyPvYield(),o=be.countAllSolarPanels();return n*M.getState().economicsParams.electricitySellingPrice-o*M.getState().economicsParams.operationalCostPerUnit},yearlyPvYield:[],setYearlyPvYield(n){t({yearlyPvYield:[...n]}),gt.getState().set(o=>(o.runEvolution&&o.objectiveEvaluationIndex++,o))},sumYearlyPvYield(){var i;let n=0;for(const r of this.yearlyPvYield)for(const a in r)Object.hasOwn(r,a)&&a!=="Month"&&(n+=r[a]);const o=12/(((i=M.getState().world)==null?void 0:i.daysPerYear)??6);return n*o},getYearlyPvProfit(){const n=be.countAllSolarPanels();return this.sumYearlyPvYield()*M.getState().economicsParams.electricitySellingPrice-n*M.getState().economicsParams.operationalCostPerUnit*365},solarPanelLabels:[],setSolarPanelLabels(n){t({solarPanelLabels:[...n]})},solarPanelVisibilityResults:new Map,setSolarPanelVisibilityResult(n,o){t(i=>(i.solarPanelVisibilityResults.set(n,o),i))},clearSolarPanelVisibilityResults(){t({solarPanelVisibilityResults:new Map})},dailyParabolicDishYield:[],setDailyParabolicDishYield(n){t({dailyParabolicDishYield:[...n]})},sumDailyParabolicDishYield(){let n=0;for(const o of this.dailyParabolicDishYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyParabolicDishYield:[],setYearlyParabolicDishYield(n){t({yearlyParabolicDishYield:[...n]})},sumYearlyParabolicDishYield(){let n=0;for(const o of this.yearlyParabolicDishYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},parabolicDishLabels:[],setParabolicDishLabels(n){t({parabolicDishLabels:[...n]})},dailyParabolicTroughYield:[],setDailyParabolicTroughYield(n){t({dailyParabolicTroughYield:[...n]})},sumDailyParabolicTroughYield(){let n=0;for(const o of this.dailyParabolicTroughYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyParabolicTroughYield:[],setYearlyParabolicTroughYield(n){t({yearlyParabolicTroughYield:[...n]})},sumYearlyParabolicTroughYield(){let n=0;for(const o of this.yearlyParabolicTroughYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},parabolicTroughLabels:[],setParabolicTroughLabels(n){t({parabolicTroughLabels:[...n]})},dailyFresnelReflectorYield:[],setDailyFresnelReflectorYield(n){t({dailyFresnelReflectorYield:[...n]})},sumDailyFresnelReflectorYield(){let n=0;for(const o of this.dailyFresnelReflectorYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyFresnelReflectorYield:[],setYearlyFresnelReflectorYield(n){t({yearlyFresnelReflectorYield:[...n]})},sumYearlyFresnelReflectorYield(){let n=0;for(const o of this.yearlyFresnelReflectorYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},fresnelReflectorLabels:[],setFresnelReflectorLabels(n){t({fresnelReflectorLabels:[...n]})},dailyHeliostatYield:[],setDailyHeliostatYield(n){t({dailyHeliostatYield:[...n]})},sumDailyHeliostatYield(){let n=0;for(const o of this.dailyHeliostatYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyHeliostatYield:[],setYearlyHeliostatYield(n){t({yearlyHeliostatYield:[...n]})},sumYearlyHeliostatYield(){let n=0;for(const o of this.yearlyHeliostatYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},heliostatLabels:[],setHeliostatLabels(n){t({heliostatLabels:[...n]})},dailyUpdraftTowerResults:[],dailyUpdraftTowerYield:[],setDailyUpdraftTowerResults(n){t({dailyUpdraftTowerResults:[...n]})},setDailyUpdraftTowerYield(n){t({dailyUpdraftTowerYield:[...n]})},sumDailyUpdraftTowerYield(){let n=0;for(const o of this.dailyUpdraftTowerYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyUpdraftTowerYield:[],setYearlyUpdraftTowerYield(n){t({yearlyUpdraftTowerYield:[...n]})},sumYearlyUpdraftTowerYield(){let n=0;for(const o of this.yearlyUpdraftTowerYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},updraftTowerLabels:[],setUpdraftTowerLabels(n){t({updraftTowerLabels:[...n]})},heatmaps:new Map,setHeatmap(n,o){t(i=>(i.heatmaps.set(n,o),i))},getHeatmap(n){return e().heatmaps.get(n)},hourlyHeatExchangeArrayMap:new Map,setHourlyHeatExchangeArray(n,o){t(i=>(i.hourlyHeatExchangeArrayMap.set(n,o),i))},hourlySolarHeatGainArrayMap:new Map,setHourlySolarHeatGainArray(n,o){t(i=>(i.hourlySolarHeatGainArrayMap.set(n,o),i))},hourlySolarPanelOutputArrayMap:new Map,setHourlySolarPanelOutputArray(n,o){t(i=>(i.hourlySolarPanelOutputArrayMap.set(n,o),i))},totalBuildingHeater:0,setTotalBuildingHeater:n=>{t({totalBuildingHeater:n})},totalBuildingAc:0,setTotalBuildingAc:n=>{t({totalBuildingAc:n})},totalBuildingSolarPanel:0,setTotalBuildingSolarPanel:n=>{t({totalBuildingSolarPanel:n})},clearHeatmaps(){t(n=>(n.heatmaps.clear(),n))},clearDataStore(){t({heatmaps:new Map,hourlyHeatExchangeArrayMap:new Map,hourlySolarHeatGainArrayMap:new Map,hourlySolarPanelOutputArrayMap:new Map,solarPanelVisibilityResults:new Map,dailyLightSensorData:[],yearlyLightSensorData:[],sensorLabels:[],dailyPvYield:[],yearlyPvYield:[],solarPanelLabels:[],dailyParabolicDishYield:[],yearlyParabolicDishYield:[],parabolicDishLabels:[],dailyParabolicTroughYield:[],yearlyParabolicTroughYield:[],parabolicTroughLabels:[],dailyFresnelReflectorYield:[],yearlyFresnelReflectorYield:[],fresnelReflectorLabels:[],dailyHeliostatYield:[],yearlyHeliostatYield:[],heliostatLabels:[],dailyUpdraftTowerYield:[],dailyUpdraftTowerResults:[],yearlyUpdraftTowerYield:[],updraftTowerLabels:[]})},clearRoofVerticesMap(){t(n=>(n.roofSegmentVerticesMap.clear(),n.roofSegmentVerticesWithoutOverhangMap.clear(),n))}})),Z8t="/aladdin/assets/roof_edge-DBy_1Q5D.png",Z1="/aladdin/assets/tiny_white_square-B_qAXRfa.png",evt="/aladdin/assets/roof_01-BwuyLpwq.png",tvt="/aladdin/assets/roof_02-DAbYjnV7.png",nvt="/aladdin/assets/roof_03-haZGIixv.png",ovt="/aladdin/assets/roof_04-DDuwUcDr.png",ivt="/aladdin/assets/roof_05-CtBb5xIW.png",rvt="/aladdin/assets/roof_06-DuyyebV8.png",avt="/aladdin/assets/roof_07-DXWGQN8a.png",lvt=new sf({color:"white",side:ia}),svt=Se.memo(({dimension:t,mullionData:e,shadowEnabled:n})=>{const[o,i,r,a]=t,l=Math.min(a,r,o/2),{width:s,horizontalMullionSpacing:c,verticalMullionSpacing:u,color:d}=e,f=3,p=1,g=s/2,y=m.useMemo(()=>Math.atan2(o/2,l),[o,l]),A=m.useMemo(()=>{if(l===0||o===0)return 0;const P=l/2+o**2/(8*l),R=P-l,H=Math.PI-y,D=R**2,E=P**2,L=D+E-2*D*Math.sin(H)**2-2*R*Math.sqrt((E-D*Math.sin(H)**2)*Math.cos(H)**2);return Math.sqrt(L)},[o,l,y]),x=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:d}),[d]),C=P=>new Ml().moveTo(0,P).quadraticCurveTo(P,P,P,0).quadraticCurveTo(P,-P,0,-P).quadraticCurveTo(-P,-P,-P,0).quadraticCurveTo(-P,P,0,P),b=(P,R)=>{const H=P*R/(o/2),D=H/2+(R*2)**2/(8*H),E=Math.acos(Math.min(1,R/D)),L=Math.PI-E,U=new P2(0,H-D,D,D,E,L,!1,0).getPoints(24).map(F=>new ae(F.x,F.y));return new VK(U)},v=m.useMemo(()=>{const P=[],R=Math.round(o/u)-1;if(R<=0||s===0)return null;const H=o/(R+1);let D=H/2;R%2!==0&&(P.push(0),D=H);for(let E=0;E{const P=[];if(s===0)return P;const R=r/2-l,H=r-l,D=Math.ceil(H/c);let E=R;for(let L=0;L{const P=[],R=Math.round(o/u)-1;if(R<=0||s===0)return null;const H=o/(R+1);let D=H/2;R%2!==0&&(D=H);for(let L=0;Llh.jsx("group",{position:[0,0,r/2-l],rotation:[0,R,0],children:h.jsx(wa,{position:[0,0,P/2],args:[g,g,P,f,p],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:x})});return h.jsxs("group",{name:"Window Mullion Group",position:[0,-.001,0],children:[e.horizontalMullion&&S.map((P,R)=>h.jsx(wa,{position:[0,0,P],args:[g,g,o,f,p],rotation:[0,0,Vt],receiveShadow:n,castShadow:n,children:x},R)),e.verticalMullion&&(v==null?void 0:v.map((P,R)=>h.jsx(wa,{position:[P,0,-l/2],args:[g,g,r-l,f,p],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:x},R))),l>0&&(w==null?void 0:w.map((P,R)=>{if(P===null)return null;const{shape:H,path:D}=P;return h.jsx($w,{position:[0,g/2,r/2-l],rotation:[Vt,0,0],args:[H,{extrudePath:D,steps:12,bevelEnabled:!1}],castShadow:n,receiveShadow:n,children:x},R)})),A>0&&h.jsxs(h.Fragment,{children:[T(l,0),T(A,y),T(A,-y)]})]})}),cvt=Se.memo(({dimension:t,frameData:e,shadowEnabled:n})=>{const[o,i,r,a]=t,l=o/2,s=Math.min(a,r,l),{color:c,width:u,sillWidth:d}=e,f=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),p=u/2,g=p/2,y=o+u*3,A=u,x=m.useMemo(()=>{const[C,b]=[l+u,l],v=s+u,S=v/2+(C*2)**2/(8*v),w=Math.acos(Math.min(1,C/S)),T=Math.PI-w,P=v-S,R=s,H=R/2+(b*2)**2/(8*R),D=Math.acos(Math.min(1,b/H)),E=Math.PI-D,L=R-H,U=new P2(0,P,S,S,w,T,!1,0).getPoints(36),F=new P2(0,L,H,H,E,D,!0,0).getPoints(36);return new Ml([...U,...F])},[a,r,o,u]);return h.jsxs("group",{name:"Window Frame Group",position:[0,-g/2,0],children:[s>.1?h.jsx($w,{position:[0,g/2,r/2-s],rotation:[Vt,0,0],args:[x,{depth:g,steps:1,bevelEnabled:!1}],castShadow:n,receiveShadow:n,children:f}):h.jsx(Ei,{position:[0,0,r/2],args:[o+2*u,g,u],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[-o/2-p,0,-s/2],args:[u,g,r-s],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[o/2+p,0,-s/2],args:[u,g,r-s],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[0,0,-r/2-(d===0?0:A/2)],args:d===0?[o+2*u,g,u]:[y,d??u,A],castShadow:n,receiveShadow:n,children:f})]})}),vce=Se.memo(({cy:t,dimension:e,wireframeData:n,drawBottom:o})=>{const[i,r,a,l]=e,{lineWidth:s,lineColor:c,selected:u,locked:d,opacity:f}=n,p=s/20,g=s/5,y=i/2,A=a/2,x=Math.min(l,a,y),C=6,b=1,v=(R,H)=>{const D=R/2+(H*2)**2/(8*R),E=Math.acos(Math.min(1,H/D)),L=Math.PI-E,U=new P2(0,R-D,D,D,E,L,!1,0).getPoints(24).map(F=>new ae(F.x,F.y));return new VK(U)},S=R=>new Ml().moveTo(0,R).quadraticCurveTo(R,R,R,0).quadraticCurveTo(R,-R,0,-R).quadraticCurveTo(-R,-R,-R,0).quadraticCurveTo(-R,R,0,R),w=m.useMemo(()=>new sf({color:c}),[c]),T=m.useMemo(()=>new sf({color:l0}),[]),P=(R,H)=>h.jsxs(h.Fragment,{children:[x>.1?h.jsx($w,{position:[0,0,a/2-x],rotation:[Vt,0,0],args:[S(R),{extrudePath:v(x,y),steps:24,bevelEnabled:!1}],material:H}):h.jsx(wa,{args:[R,R,i,C,b],rotation:[0,0,Vt],position:[0,0,A-R/2],material:H}),o&&h.jsx(wa,{args:[R,R,i,C,b],rotation:[0,0,Vt],position:[0,0,-A],material:H}),h.jsx(wa,{args:[R,R,a-x,C,b],rotation:[Vt,Vt,0],position:[y,0,-x/2],material:H}),h.jsx(wa,{args:[R,R,a-x,C,b],rotation:[Vt,Vt,0],position:[-y,0,-x/2],material:H})]});return h.jsxs("group",{name:"Window Wireframe Group",children:[f>0&&h.jsx("group",{position:[0,t,0],children:P(p,w)}),d&&u&&P(g,T)]})}),uvt=({id:t,dimension:e,position:n,mullionData:o,frameData:i,wireframeData:r,leftShutter:a,rightShutter:l,shutterColor:s,shutterWidth:c,glassMaterial:u,showHeatFluxes:d,area:f,empty:p,interior:g,foundation:y})=>{const A=M.getState().world,x=M(X2),C=M(q9),b=M($9),v=M(ss),S=bn(vb),w=m.useRef(0),T=m.useRef(),[P,R,H,D]=e,[E,L,U]=n,F=(J,Q)=>{if(D>0){const ee=.5*P,$=.5*H,q=Math.min(D,H,ee),le=.5*(q+ee*ee/q);if(Math.abs(J)-$)return!0;const ie=Q-(H-le-$);return J*J+ie*ie{if(!d||g||y&&y.notBuilding)return;const J=S.get(t);if(!J)return;const Q=J.reduce((Z,he)=>Z+he,0);if(f===0)return;const ee=K9*(A.solarRadiationHeatmapGridCellSize??.5),$=Math.max(2,Math.round(P/ee)),q=Math.max(2,Math.round(H/ee)),le=P/$,ie=H/q,pe=Q/f*(x??Vm);w.current=pe<0?1:0,T.current=be.getEuler(Po,Yc,"YXZ",Math.sign(pe)*Vt);const ne=[];if(pe<0)for(let Z=0;Z<$;Z++)for(let he=0;hec*P,[P,c]),k=m.useMemo(()=>H-Math.min(D,H,P/2),[P,H,D]),N=m.useMemo(()=>(B+i.width+P)/2*1.025,[P,B,i.width]),j=m.useMemo(()=>-Math.min(D,H,P/2)/2,[H,k]),Y=m.useMemo(()=>nG(P,H,D),[P,H,D]),_=(J,Q,ee)=>h.jsx(sa,{name:"Window Seal Plane",args:J,position:Q,rotation:ee,material:lvt,receiveShadow:v,castShadow:v});return h.jsxs(h.Fragment,{children:[!p&&h.jsxs("group",{name:"Arched Window Plane Group",position:[0,L,0],children:[h.jsxs("mesh",{name:"Window Glass mesh",rotation:[Vt,0,0],children:[h.jsx("shapeGeometry",{args:[Y]}),u]}),(o.horizontalMullion||o.verticalMullion)&&D!==void 0&&h.jsx(svt,{dimension:e,mullionData:o,shadowEnabled:v})]}),i.showFrame&&h.jsx(cvt,{dimension:e,frameData:i,shadowEnabled:v}),h.jsx(vce,{cy:L,dimension:e,wireframeData:r,drawBottom:!0}),h.jsx(mye,{cx:N,cz:j,lx:B,lz:k,color:s,showLeft:a,showRight:l,spacing:i.showFrame?i.width/2:0}),_([R,H],[-P/2,R/2,0],[Vt,Vt,0]),_([R,H],[P/2,R/2,0],[Vt,-Vt,0]),_([P,R],[0,R/2,-H/2]),W&&W.map((J,Q)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:J,name:"Heat Flux "+Q,lineWidth:b??Gm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:J[w.current].clone().add(new ae(0,w.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:T.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},Q))]})},nG=(t,e,n,o=0,i=0)=>{const r=new Ml,a=t/2,l=e/2,s=Math.min(n,e,a);if(r.moveTo(o-a,i-l),r.lineTo(o+a,i-l),r.lineTo(o+a,i+l-s),s>.01){const c=s/2+t**2/(8*s),[u,d]=[o,i+l-c],f=Math.acos(Math.min(1,a/c)),p=Math.PI-f;r.absarc(u,d,c,f,p,!1)}else r.lineTo(o-a,i+l);return r.closePath(),r},dvt=Se.memo(uvt),fvt=1,hvt=3,pvt=new sf({color:"white",side:ji}),gvt=new Qt(0,0,-Vt),mvt=Se.memo(({dimension:t,polygonTop:e,frameData:n,shadowEnabled:o})=>{const[i,r,a]=t,[l,s]=e,{color:c,width:u,sillWidth:d}=n,f=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),[p,g]=[i/2,a/2],A=u/2/2,x=i+u*3,C=u,b=m.useMemo(()=>{const w=new ae(p,-g),T=new ae(p,g),P=new ae(-p,g),R=new ae(-p,-g),H=new ae(l*i,s+g);return[w,T,H,P,R]},[p,g,l,s]),v=m.useMemo(()=>{const w=[];for(let R=1;R{const w=new Ml;for(let T=0;T=0;T--){const P=b[T];w.lineTo(P.x,P.y)}return w.closePath(),w},[b,v]);return h.jsxs("group",{name:"Window Frame Group",position:[0,-A/2,0],children:[h.jsx($w,{position:[0,A/2,0],rotation:[Vt,0,0],args:[S,{steps:1,depth:A,bevelEnabled:!1}],children:f}),h.jsx(Ei,{position:[0,0,-a/2-(d===0?0:C/2)],args:d===0?[i+2*u,A,u]:[x,d??u,C],castShadow:o,receiveShadow:o,children:f})]})}),yvt=({id:t,dimension:e,polygonTop:n,position:o,glassMaterial:i,empty:r,interior:a,wireframeData:l,frameData:s,leftShutter:c,rightShutter:u,shutterColor:d,shutterWidth:f,area:p,showHeatFluxes:g,foundation:y})=>{const A=M.getState().world,x=M(X2),C=M(q9),b=M($9),v=bn(vb),S=m.useRef(0),w=m.useRef(),[T,P,R]=o,[H,D,E]=e,[L,U,F]=e.map(Pe=>Pe/2),[W,B]=n,{lineWidth:k,lineColor:N,selected:j,locked:Y,opacity:_}=l,J=W*H,Q=Math.hypot(B,L-J),ee=Math.asin(B/Q),$=Math.hypot(B,L+J),q=-Math.asin(B/$),le=M(ss),ie=(Pe,me)=>{const Re=.5*H,ze=.5*(E+n[1]),Ae=n[1],re=[{x:-Re,y:-ze},{x:Re,y:-ze},{x:Re,y:ze-Ae},{x:H*n[0],y:ze},{x:-Re,y:ze-Ae}];return be.isPointInside(Pe,me,re)},pe=m.useMemo(()=>{if(!g||a||y&&y.notBuilding)return;const Pe=v.get(t);if(!Pe)return;const me=Pe.reduce((Ce,Ee)=>Ce+Ee,0);if(p===0)return;const Re=K9*(A.solarRadiationHeatmapGridCellSize??.5),ze=E+n[1],Ae=Math.max(2,Math.round(H/Re)),re=Math.max(2,Math.round(ze/Re)),ge=H/Ae,we=ze/re,ye=me/p*(x??Vm);S.current=ye<0?1:0,w.current=be.getEuler(Po,Yc,"YXZ",Math.sign(ye)*Vt);const Te=[],Ie=n[1]/2;if(ye<0)for(let Ce=0;Cef*H,[H,f]),Z=m.useMemo(()=>(ne+s.width+H)/2*1.025,[H,ne,s.width]),he=m.useMemo(()=>{const[Pe,me]=[H/2,E/2],Re=W*H;return oG(Pe,me,Re,B)},[H,E,W,B]),fe=m.useMemo(()=>j&&Y?new sf({color:l0}):new sf({color:N}),[N,j,Y]),se=m.useMemo(()=>Y&&j?k/5:k/20,[k,j,Y]),oe=m.useMemo(()=>Y&&j?-D/2:-P,[P,D,j,Y]),de=(Pe,me=0)=>h.jsx(wa,{args:[se,se,Pe,hvt,fvt],position:[me,oe,0],rotation:[0,0,Vt],material:fe}),ve=(Pe,me=0)=>h.jsx(sa,{args:[Pe,D],position:[me,0,0],material:pvt,receiveShadow:le,castShadow:le});return h.jsxs(h.Fragment,{children:[!r&&h.jsxs("mesh",{name:"Triangle Glass Plane",position:[0,P,0],rotation:[Vt,0,0],children:[h.jsx("shapeGeometry",{args:[he]}),i]}),s.showFrame&&h.jsx(mvt,{dimension:e,polygonTop:n,frameData:s,shadowEnabled:le}),h.jsx(mye,{cx:Z,lx:ne,lz:E,color:d,showLeft:c,showRight:u,spacing:s.showFrame?s.width/2:0}),h.jsxs("group",{position:[0,U,-F+.001],children:[ve(H),de(H)]}),h.jsxs("group",{position:[-L+.001,U,0],rotation:[0,Vt,0],children:[ve(E),de(E)]}),h.jsxs("group",{position:[L-.001,U,0],rotation:[0,-Vt,0],children:[ve(E),de(E)]}),h.jsxs("group",{position:[-L+.001,U,F-.01],rotation:[0,q,0],children:[ve($,$/2),de($,$/2)]}),h.jsxs("group",{position:[L-.001,U,F-.01],rotation:[0,ee,0],children:[ve(Q,-Q/2),de(Q,-Q/2)]}),pe&&pe.map((Pe,me)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:Pe,name:"Heat Flux "+me,lineWidth:b??Gm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:Pe[S.current].clone().add(new ae(0,S.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:w.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},me))]})},oG=(t,e,n,o,i=0,r=0)=>{const a=new Ml;return a.moveTo(i-t,r-e),a.lineTo(i+t,r-e),a.lineTo(i+t,r+e),a.lineTo(i+n,r+e+o),a.lineTo(i-t,r+e),a.closePath(),a},Avt=Se.memo(yvt),wvt=({id:t,index:e,foundationModel:n,roofType:o,segment:i,centroid:r,thickness:a,color:l,sideColor:s,texture:c,heatmap:u,windows:d})=>{const f=M(Q9),p=gt(i3),g=M(X2),y=M(q9),A=M($9),x=bn($L),{transparent:C,opacity:b}=Z$(),v=m.useRef(0),S=m.useRef(),w=m.useRef(),T=M.getState().world,P=bn.getState().hourlyHeatExchangeArrayMap,{points:R}=i,H=m.useMemo(()=>{if(!p)return;const E=x(t);if(!E)return;const L=[],U=new ae(0,0,a+.1);switch(o){case Vo.Hip:case Vo.Pyramid:for(const F of E){const W=[];W.push(F[0].clone().sub(r).add(U)),W.push(F[1].clone().sub(r).add(U)),L.push(W)}break;case Vo.Mansard:for(const[F,W]of E.entries()){if(F===E.length-1)continue;const B=[];B.push(W[0].clone().sub(r).add(U)),B.push(W[1].clone().sub(r).add(U)),L.push(B)}break;case Vo.Gambrel:for(const[F,W]of E.entries()){if(F===0||F===3){const k=[];k.push(W[0].clone().sub(r).add(U)),k.push(W[1].clone().sub(r).add(U)),L.push(k)}let B=[];B.push(W[0].clone().sub(r).add(U)),B.push(W[3].clone().sub(r).add(U)),L.push(B),B=[],B.push(W[1].clone().sub(r).add(U)),B.push(W[2].clone().sub(r).add(U)),L.push(B)}break}return L},[p]),D=m.useMemo(()=>{if(!p||n&&n.notBuilding)return;const E=P.get(t+"-"+e);if(!E)return;const L=E.reduce((ge,we)=>ge+we,0),U=x(t);if(!U||!U[e])return;const[F,W,B,k,N]=R,j=N.z-F.z,Y=U[e].map(ge=>ge.clone().sub(r).add(new ae(0,0,j)));if(!Y)return;const _=[];for(const ge of Y)_.push({x:ge.x,y:ge.y});const J=K9*(T.solarRadiationHeatmapGridCellSize??.5),Q=Y[0].clone(),ee=Y[1].clone(),$=Y[2].clone(),q=new ae().subVectors(ee,Q),le=new ae().subVectors($,Q),ie=new ae().subVectors($,ee),pe=q.length(),ne=new ae().crossVectors(le,ie).length()/pe,Z=Math.max(2,Math.floor(pe/J)),he=Math.max(2,Math.floor(ne/J));q.normalize(),le.normalize(),ie.normalize();const fe=new ae().crossVectors(le,ie).normalize(),se=q.multiplyScalar(.5*pe/Z),oe=new ae().crossVectors(fe,q).normalize().multiplyScalar(.5*ne/he),de=Q.clone().add(se).add(oe);se.multiplyScalar(2),oe.multiplyScalar(2),S.current=fe.clone().multiplyScalar(.1);const ve=[],Pe=new ae;let me=Y.length===4?be.getTriangleArea(Y[0],Y[1],Y[2])+be.getTriangleArea(Y[2],Y[3],Y[0]):be.getTriangleArea(Y[0],Y[1],Y[2]);if(me===0)return;let Re=f(z.Window,t);const ze=x(t);if(ze&&ze[e]&&(Re=Re.filter(ge=>{const we=ge,ye=we.cy+(we.windowType===Sr.Polygonal&&we.polygonTop?we.polygonTop[1]/2:0);return In.onSegment(ze[e],ge.cx,ye)})),Re&&Re.length>0)for(const ge of Re)me-=be.getWindowArea(ge);const Ae=L/me*(g??Vm);v.current=Ae<0?1:0,w.current=be.getEuler(Po,fe,"YXZ",-Math.sign(Ae)*Vt);let re;for(let ge=0;ge0){const Te=Pe.x+r.x,Ie=Pe.y+r.y;for(const Ce of Re){const Ee=In.getRelativeWindowVerticesOnRoof(Ce),Ue=be.getPoints(Ee);if(be.isPointInside(Te,Ie,Ue)){re=!1;break}}}if(re&&be.isPointInside(Pe.x,Pe.y,_)){const Te=[];Ae<0?(Te.push(Pe.clone()),Te.push(Pe.clone().add(fe.clone().multiplyScalar(-Ae)))):(Te.push(Pe.clone()),Te.push(Pe.clone().add(fe.clone().multiplyScalar(Ae)))),ve.push(Te)}}}return ve},[p,g]);return h.jsxs(h.Fragment,{children:[h.jsx(gYe,{id:t,index:e,segment:i,color:l,sideColor:s,texture:c,heatmap:u,transparent:C,opacity:b,windows:d,centroid:r}),H&&H.map((E,L)=>h.jsx(Fn,{points:E,color:"gray",lineWidth:.5,dashed:!0,dashSize:.2,gapSize:.1,receiveShadow:!1,castShadow:!1,name:"Overhang Boundary "+L},L)),D&&D.map((E,L)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:E,name:"Heat Flux "+L,lineWidth:A??Gm,color:y??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:S.current?E[v.current].clone().add(S.current):E[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head "+L,rotation:w.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:y??g0})})]},L))]})},gYe=Se.memo(({id:t,index:e,segment:n,color:o,sideColor:i,texture:r,heatmap:a,transparent:l,opacity:s,windows:c,centroid:u})=>{const d=gt(cs),f=m.useRef(null),{points:p}=n,g=d?a:r,y=p.length===6,A=p.length===8,x=m.useMemo(()=>c.map(R=>{const H=new ae(R.lx,R.lz,R.ly*2),D=new ae(R.cx,R.cy,R.cz).sub(u),E=new Qt().fromArray([R.rotation[0],R.rotation[1],R.rotation[2],"ZXY"]);if(R.windowType===Sr.Polygonal){const[L,U]=R.polygonTop??jp,[F,W,B]=[H.x/2,H.y/2,L*H.x],k=oG(F,W,B,U),N=new es(new H9([k],{steps:1,depth:H.z,bevelEnabled:!1})),j=new ae(0,0,-H.z).applyEuler(E);return N.position.copy(D.clone().add(j)),N.rotation.copy(E),N.updateMatrix(),N}else if(R.windowType===Sr.Arched){const L=nG(H.x,H.y,R.archHeight),U=new es(new H9([L],{steps:1,depth:H.z,bevelEnabled:!1})),F=new ae(0,0,-H.z).applyEuler(E);return U.position.copy(D.clone().add(F)),U.rotation.copy(E),U.updateMatrix(),U}else{const L=new es(new X9(H.x,H.y,H.z));return L.position.copy(D),L.rotation.copy(E),L.updateMatrix(),L}}),[c,u]),C=v()??6,b=m.useMemo(()=>Array(C).fill(0),[C]);if(m.useEffect(()=>{v()},[]),!y&&!A)return null;function v(){if(!f.current||!y&&!A)return;const R=f.current.geometry;R.index=null,R.clearGroups();const H=[],D=[];let E=0,L=0;if(y){const N=p.slice(p.length/2);U(N),d?W():F(N),B(3);const j=p.slice(0,p.length/2).reverse();U(j),D.push(0,0,1,0,0,1),B(3),k([[0,1,4,3],[1,2,5,4],[2,0,3,5]])}else if(A){const N=p.slice(p.length/2),[j,Y]=S(N);U(j),U(Y);const[_,J,Q,ee]=N,$=j[2].equals(ee);if(d)W($);else{const pe=new ae().subVectors(J,_),ne=new ae().subVectors(Q,_),Z=new ae().subVectors(ee,_),fe=new Gt(J.x-_.x,J.y-_.y).length(),se=fe,oe=0,de=pe.dot(ne)/fe,ve=pe.clone().cross(ne).length()/fe,Pe=pe.dot(Z)/fe,me=pe.clone().cross(Z).length()/fe;$?(D.push(0,0,se,oe,Pe,me),D.push(se,oe,de,ve,Pe,me)):(D.push(0,0,se,oe,de,ve),D.push(0,0,de,ve,Pe,me))}B(6);const q=p.slice(0,p.length/2),[le,ie]=S(q);U(le.reverse()),U(ie.reverse()),D.push(0,0,1,0,0,1),D.push(0,1,1,0,1,1),B(6),k([[0,1,5,4],[1,2,6,5],[2,3,7,6],[3,0,4,7]])}else throw new Error("segment is neither quad nor tri");if(R.setAttribute("position",new hi(H,3)),R.setAttribute("uv",new hi(D,2)),R.computeVertexNormals(),R.computeBoundingSphere(),c.length>0){const N=[];for(let Y=0;Yq.concat(p[le].x,p[le].y,p[le].z),[]),$=[Q,_,J].reduce((q,le)=>q.concat(p[le].x,p[le].y,p[le].z),[]);H.push(...ee),H.push(...$),D.push(0,0,1,0,0,1),D.push(0,1,1,0,1,1),B(6)}}}function S(R){const[H,D,E,L]=R,U=be.distanceFromPointToLine2D(L,H,D),F=be.distanceFromPointToLine2D(E,H,D),W=[],B=[];return Math.abs(U-F)<.01?H.z>D.z?(W.push(H,D,E),B.push(H,E,L)):(W.push(H,D,L),B.push(D,E,L)):U<=F?(W.push(H,D,L),B.push(D,E,L)):(W.push(H,D,E),B.push(H,E,L)),[W,B]}const w=({i:R})=>h.jsx("meshBasicMaterial",{attach:`material-${R}`,map:g,transparent:l,opacity:s}),T=({i:R})=>h.jsx("meshStandardMaterial",{attach:`material-${R}`,color:o,map:g,transparent:l,opacity:s}),P=({i:R})=>h.jsx("meshStandardMaterial",{attach:`material-${R}`,color:i,transparent:l,opacity:s});return h.jsx("mesh",{ref:f,name:`Buffer Roof Segment ${e}`,uuid:t+"-"+e,userData:{simulation:!0},receiveShadow:!d,castShadow:!0,frustumCulled:!1,children:b.map((R,H)=>H!==0?h.jsx(P,{i:H},"side"+H):d?h.jsx(w,{i:H},"heatmap"+H):h.jsx(T,{i:H},"texture"+H))})}),kq=Se.memo(wvt),vvt=({cz:t,points:e})=>{const n=new Ml;n.moveTo(e[0].x,e[0].y);for(const{x:o,y:i}of e)n.lineTo(o,i);return n.closePath(),h.jsx($w,{scale:.99,position:[0,0,t],args:[n,{steps:1,depth:.1,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{side:ji,color:"white"})})},dW=Se.memo(vvt);function a3(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(const[o,i]of t)if(!Object.is(i,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(const o of t)if(!e.has(o))return!1;return!0}const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let o=0;oM(e=>e.selectedElementIdSet.has(t)&&!e.groupActionMode),Kt=()=>{const t=M(Sc);return m.useMemo(()=>({lng:t}),[t])},a1=t=>M.getState().getWeather(t??"Boston MA, USA"),Xwe=new ae,Jwe=new Qt,$j=new ae,xvt=new ae(0,0,1),bvt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new ae(0,0,e);for(let l=0;l{const[c,u,d]=l.points,f=Math.abs(c.z)<.015,p=[c.clone().sub(r),c];return f||p.push(d),h.jsx(Fn,{points:p,lineWidth:n,color:o},s)})]})]})}),Svt=({roofModel:t,foundationModel:e})=>{let{cx:n,cy:o,lz:i,id:r,wallsId:a,textureType:l,color:s="white",sideColor:c="white",thickness:u=.2,locked:d,lineWidth:f=.2,lineColor:p="black",roofType:g,foundationId:y,rise:A=i,ceiling:x=!1}=t;const C=jH(l),b=Hs(r);[p,f]=In.getWireframetStyle(p,f,b,d);const v=M(dn),S=M(hp),{camera:w,gl:T}=Xi(),P=m.useMemo(()=>new Gs,[]),R=m.useMemo(()=>new Gt,[]),[H,D]=m.useState(!1),E=m.useRef(null),L=m.useRef(!1),U=m.useRef(A),F=new Set(a),W=Ie=>{R.x=Ie.offsetX/T.domElement.clientWidth*2-1,R.y=-(Ie.offsetY/T.domElement.clientHeight)*2+1,P.setFromCamera(R,w)},B=Ie=>{const Ce=[],Ee=Ie.length;for(const Ue of Ie)Ue.leftPoint[0]!==void 0&&Ue.leftPoint[1]!==void 0&&Ce.push({x:Ue.leftPoint[0],y:Ue.leftPoint[1]});return Y.current||(Ie[Ee-1].rightPoint[0]||Ie[Ee-1].rightPoint[0]===0)&&(Ie[Ee-1].rightPoint[1]||Ie[Ee-1].rightPoint[1]===0)&&Ce.push({x:Ie[Ee-1].rightPoint[0],y:Ie[Ee-1].rightPoint[1]}),Ce},k=(Ie,Ce)=>{if(Ie.length!==Ce.size)return!0;for(const Ee of Ie)if(!Ce.has(Ee.id))return!0;return!1},N=()=>{let Ie=1/0;for(let Ce=0;Ce{if(j.length<2)return{x:0,y:0};const Ie=B(j);if(Ie.length<3)return{x:0,y:0};const Ce=be.calculatePolygonCentroid(Ie);return Number.isNaN(Ce.x)||Number.isNaN(Ce.y)?{x:0,y:0}:Ce},[j,J]),ee=m.useMemo(()=>new ae(Q.x,Q.y,J),[Q,J]),$=m.useMemo(()=>{const Ie=j.map(Ce=>In.getWallNormal(Ce).multiplyScalar(Ce.eavesLength??0));if(!Y.current&&Ie.length!==0){const Ce=new ae().subVectors(new ae(j[j.length-1].rightPoint[0],j[j.length-1].rightPoint[1]),new ae(j[0].leftPoint[0],j[0].leftPoint[1])).applyEuler(ZV).normalize().multiplyScalar(.3);Ie.push(Ce)}return Ie},[j]),q=m.useMemo(()=>{const Ie=j.map((Ce,Ee)=>({leftPoint:new ae(Ce.leftPoint[0],Ce.leftPoint[1]).add($[Ee]),rightPoint:new ae(Ce.rightPoint[0],Ce.rightPoint[1]).add($[Ee])}));return!Y.current&&Ie.length!==0&&Ie.push({leftPoint:new ae(j[j.length-1].rightPoint[0],j[j.length-1].rightPoint[1]).add($[$.length-1]),rightPoint:new ae(j[0].leftPoint[0],j[0].leftPoint[1]).add($[$.length-1])}),Ie},[j,$]),le=m.useMemo(()=>xvt.clone().multiplyScalar(u),[u]),ie=m.useMemo(()=>{const Ie=[];if(j.length<2)return Ie;const Ce=N();for(let Ee=0;Ee0&&Ue.rightPoint.length>0&&(Ue.leftPoint[0]!==Ue.rightPoint[0]||Ue.leftPoint[1]!==Ue.rightPoint[1])){const Ne=[];let{lh:Le,rh:qe}=In.getWallHeight(j,Ee);Y.current||(Ee===0&&(Le=j[0].lz),Ee===j.length-1&&(qe=j[j.length-1].lz));const We=In.getIntersectionPoint(q[(Ee+q.length-1)%q.length].leftPoint,q[(Ee+q.length-1)%q.length].rightPoint,q[Ee].leftPoint,q[Ee].rightPoint).setZ(Le-Ce).sub(ee),De=In.getIntersectionPoint(q[Ee].leftPoint,q[Ee].rightPoint,q[(Ee+1)%q.length].leftPoint,q[(Ee+1)%q.length].rightPoint).setZ(qe-Ce).sub(ee),Fe=new ae(Ue.cx,Ue.cy).sub(ee.clone().setZ(0)).length();Ne.push(We,De,$j),Ne.push(We.clone().add(le),De.clone().add(le),$j.clone().add(le)),Ie.push({points:Ne,angle:-Ue.relativeAngle,length:Fe})}}if(!Y.current){const Ee=q.length-1,Ue=In.getIntersectionPoint(q[Ee-1].leftPoint,q[Ee-1].rightPoint,q[Ee].leftPoint,q[Ee].rightPoint).setZ(j[j.length-1].lz-Ce).sub(ee),Ne=In.getIntersectionPoint(q[Ee].leftPoint,q[Ee].rightPoint,q[0].leftPoint,q[0].rightPoint).setZ(j[0].lz-Ce).sub(ee);let Le=Math.atan2(Ne.y-Ue.y,Ne.x-Ue.x);Le=Le>=0?Le:(na+Le)%na;const qe=new ae().addVectors(Ue,Ne).setZ(0).divideScalar(2).length(),We=[];We.push(Ue,Ne,$j),We.push(Ue.clone().add(le),Ne.clone().add(le),$j.clone().add(le)),Ie.push({points:We,angle:-Le,length:qe})}return Ie},[j,Q,u]),pe=m.useMemo(()=>{const Ie=[];if(j.length===0)return Ie;Ie.push(new ae().fromArray(j[0].leftPoint));for(const Ce of j)Ie.push(new ae().fromArray(Ce.rightPoint));return Ie},[j]);let ne=0;if(e){n=e.cx,o=e.cy,ne=e.rotation[2];const Ie=-Math.atan2(w.position.x-n,w.position.y-o)-ne;Xwe.set(Q.x,Q.y,J),Jwe.set(-Vt,0,Ie,"ZXY")}const Z=eQ();m.useEffect(()=>{if(Z)return;if(M.getState().addedRoofIdSet.has(r)&&j.length>=2&&k(j,F)){const Ce=j.map(Ue=>Ue.id),Ee=new Set(Ce);v(Ue=>{for(const Ne of Ue.elements)if(Ne.type===z.Roof)Ne.id===r&&(Ne.wallsId=Ce);else if(Ne.type===z.Wall&&F.has(Ne.id)&&!Ee.has(Ne.id)){const Le=Ne;Le.roofId=null,Le.leftRoofHeight=void 0,Le.rightRoofHeight=void 0}}),M.getState().deleteAddedRoofId(r)}},[F]),m.useEffect(()=>{if(j.length>1){if(M.getState().addedRoofIdSet.has(r)){for(let Ce=0;Ce{for(const Ue of Ee.elements)if(Ue.id===j[Ce].id&&Ue.type===z.Wall){const Ne=Ue;Ne.roofId=r,Ne.leftRoofHeight=void 0,Ne.rightRoofHeight=void 0;break}});M.getState().deleteAddedRoofId(r)}}else S(r,!1,!1,!0)},[j]),sye(e,r,ie,ee,J,u);const he=()=>{if(j.length<2)return!1;const Ie=j[0].lz;for(const Ce of j)if(Math.abs(Ce.lz-Ie)>.01)return!1;for(const Ce of ie){const[Ee,Ue]=Ce.points;if(Math.abs(Ee.z)>.01||Math.abs(Ue.z)>.01)return!1}return!0},[fe,se]=m.useState(he);m.useEffect(()=>{se(he())},[j,J]);const oe=gt(cs),de=M(wf),ve=bn(o1),[Pe,me]=m.useState([]),[Re,ze]=m.useState(null),Ae=M(Vc),re=JW(r,ee,ie,fe,Vo.Pyramid);m.useEffect(()=>{if(oe)if(fe){const Ie=ve(r);if(Ie){const Ce=be.fetchHeatmapTexture(Ie,de??5);if(Ce){const Ee=re();if(Ee&&Ee.length>0&&e){const Ue=new Qt(0,0,e.rotation[2],"ZYX");let Ne=Number.MAX_VALUE,Le=Number.MAX_VALUE,qe=-Number.MAX_VALUE,We=-Number.MAX_VALUE;for(const St of Ee)for(const dt of St){const je=dt.clone().applyEuler(Ue);je.x>qe&&(qe=je.x),je.xWe&&(We=je.y),je.y0){const Ce=[];if(re()){for(let Ue=0;Ue{const Ie=[];for(let Ce=0;Ce0&&Ee.rightPoint.length>0&&(Ee.leftPoint[0]!==Ee.rightPoint[0]||Ee.leftPoint[1]!==Ee.rightPoint[1])){let{lh:Ue,rh:Ne}=In.getWallHeight(j,Ce);Y.current||(Ce===0&&(Ue=j[0].lz),Ce===j.length-1&&(Ne=j[j.length-1].lz));const Le=new ae(Ee.leftPoint[0],Ee.leftPoint[1],Ue),qe=new ae(Ee.rightPoint[0],Ee.rightPoint[1],Ne);Ie.push([Le,qe,ee.clone()])}}if(!Y.current){const Ce=j[0],Ee=j[j.length-1],Ue=new ae(Ee.rightPoint[0],Ee.rightPoint[1],Ee.lz),Ne=new ae(Ce.leftPoint[0],Ce.leftPoint[1],Ce.lz);Ie.push([Ue,Ne,ee.clone()])}if(fe){const Ce=[];for(const Ee of Ie)Ce.push(Ee[0].clone());bn.getState().setRoofSegmentVerticesWithoutOverhang(r,[Ce])}else bn.getState().setRoofSegmentVerticesWithoutOverhang(r,Ie)});const we=M(Ie=>Ie.elements.filter(Ce=>Ce.parentId===r&&Ce.type===z.Window),a3),ye=$W(r,e,ee,ie),Te=l===Ui.Default||l===Ui.NoTexture?s:"white";return h.jsxs("group",{name:`Pyramid Roof Group ${r}`,children:[h.jsx("group",{name:`Pyramid Roof Segments Group ${r}`,userData:ye,position:[Q.x,Q.y,J],onPointerDown:Ie=>{VW(Ie,e.id,r,ie,ee)},onPointerMove:Ie=>{XW(Ie,r)},onPointerUp:Ie=>{GW(Ie,t)},onContextMenu:Ie=>{dR(Ie,r)},children:fe?h.jsx(tQ,{id:r,foundationModel:e,roofType:g,roofSegments:ie,center:ee,thickness:u,lineWidth:f,lineColor:p,sideColor:c,color:Te,textureType:l,heatmap:Re}):h.jsxs(h.Fragment,{children:[ie.map((Ie,Ce)=>{const{points:Ee}=Ie;if(Ee.length>0){const[Ue,Ne]=Ee;if(Ue.distanceTo(Ne)>.1)return h.jsx("group",{name:`Roof segment ${Ce}`,children:h.jsx(kq,{id:r,index:Ce,foundationModel:e,roofType:g,segment:Ie,centroid:ee,thickness:u,color:Te,sideColor:c,texture:C,heatmap:Pe&&Ce0&&h.jsx(dW,{points:pe,cz:j[0].lz}),b&&!d&&h.jsx(Qf,{position:[Q.x,Q.y,J+u+.15],onPointerDown:Ie=>{Ae(t.id,Ie,zo.Select),D(!0),Ln.getState().setEnableOrbitController(!1),L.current=!0,U.current=A,v(Ce=>{Ce.resizeHandleType=yt.Top,Ce.selectedElementHeight=J+t.thickness})},onPointerUp:()=>{D(!1),Ln.getState().setEnableOrbitController(!0)},onPointerOver:()=>{v(Ie=>{Ie.hoveredHandle=ki.Top,Ie.selectedElementHeight=J+t.thickness,Ie.selectedElementX=Q.x,Ie.selectedElementY=Q.y})}}),H&&h.jsx(sa,{name:"Roof Intersection Plane",ref:E,args:[1e3,100],visible:!1,rotation:Jwe,position:Xwe,onPointerMove:Ie=>{if(E.current&&L.current&&e){W(Ie);const Ce=P.intersectObjects([E.current]);if(Ce[0]){const Ee=Ce[0].point;if(Ee.z<.001)return;const Ue=Math.max(0,Ee.z-e.lz-.3-_);M.getState().updateRoofRiseById(r,Ue,J+t.thickness)}}},onPointerUp:Ie=>{_W(r,U.current,A),D(!1),Ln.getState().setEnableOrbitController(!0),L.current=!1}})]})},Tvt=Se.memo(Svt,BH),Pvt=(t,e,n)=>{const{left:o,right:i,center:r,centerLeft:a,centerRight:l}=n,[s,c]=[t/2,e/2],u=[{x:-s,y:o-c},{x:-s,y:-c},{x:s,y:-c},{x:s,y:i-c}];if(l){const[d,f]=l;u.push({x:d*t,y:f-c})}if(r){const[d,f]=r;u.push({x:d*t,y:f-c})}if(a){const[d,f]=a;u.push({x:d*t,y:f-c})}return u},K5=(t,e)=>{for(const n of M.getState().elements)if(n.type===z.Wall&&n.foundationId===e&&t.has(n.id)){const o=t.get(n.id);if(o){const i=n,r=Pvt(i.lx,i.lz,o);for(const a of M.getState().elements)if(a.parentId===i.id){let{cx:l,cz:s,lx:c,ly:u,lz:d}=a;if(l*=i.lx,s*=i.lz,a.type!==z.SolarPanel?(c*=i.lx,d*=i.lz):d=u,a.type===z.Window&&a.windowType===Sr.Polygonal){const[f,p]=a.polygonTop??jp,g=l+f*c,y=s+d/2+p;if(!be.isPointInside(g,y,r))return!1}if(!be.isElementInsideWall(new ae(l,0,s),c,d,r,a.type===z.Door))return!1}}}return!0},Cvt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new ae(0,0,e),a=t[0].points,l=t[1].points,s=t[2].points,c=t[3].points;i.push(l[3],l[0],a[0],a[1],a[2],l[2],s[0],c[0],c[1],s[1],l[3]);const u=Math.abs(a[0].z)<.15,d=h.jsx(Fn,{points:i,lineWidth:n,color:o}),f=h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[l[0],l[1]],lineWidth:n,color:o}),h.jsx(Fn,{points:[l[2],l[3]],lineWidth:n,color:o}),h.jsx(Fn,{points:[s[2],s[3]],lineWidth:n,color:o})]});return h.jsxs(h.Fragment,{children:[d,!u&&f,h.jsxs("group",{position:[0,0,e],children:[d,!u&&f]}),h.jsx(Fn,{points:[a[0],a[0].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[a[1],a[1].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[c[0],c[0].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[c[1],c[1].clone().add(r)],lineWidth:n,color:o})]})}),eie=new ae,tie=new Qt,Kwe=new Gt,Rvt=new ae(0,0,1),Hvt=({roofModel:t,foundationModel:e})=>{let{id:n,cx:o,cy:i,lz:r,wallsId:a,parentId:l,topRidgeLeftPoint:s,frontRidgeLeftPoint:c,backRidgeLeftPoint:u,topRidgePoint:d,frontRidgePoint:f,backRidgePoint:p,textureType:g,color:y="white",sideColor:A="white",thickness:x=.2,locked:C,lineColor:b="black",lineWidth:v=.2,roofType:S,rise:w=r,ceiling:T=!1}=t;d===void 0&&(d=s?[...s]:[0,1]),f===void 0&&(f=c?[...c]:[.35,.5]),p===void 0&&(p=u?[...u]:[.35,.5]);const P=Hs(n);[b,v]=In.getWireframetStyle(b,v,P,C);const R=M(dn),H=M(hp),D=jH(g),[E,L]=m.useState(ki.Null),[U,F]=m.useState(!1),W=m.useRef(null),{gl:B,camera:k}=Xi(),N=m.useMemo(()=>new Gs,[]),j=m.useMemo(()=>new Gt,[]),Y=m.useRef([0,0]),_=m.useRef(w),J=m.useRef(!1),Q=w<.01,ee=(Qe,Oe,et)=>{R(vt=>{for(const ct of vt.elements)if(ct.id===Qe&&ct.type===z.Roof&&ct.roofType===Vo.Gambrel){const lt=ct;switch(Oe){case ki.FrontLeft:case ki.FrontRight:lt.frontRidgePoint=[...et];break;case ki.TopLeft:case ki.TopRight:lt.topRidgePoint=[...et];break;case ki.BackLeft:case ki.BackRight:lt.backRidgePoint=[...et];break}break}})},$=(Qe,Oe,et,vt)=>{const ct={name:"Resize Gambrel Roof Ridge",timestamp:Date.now(),resizedElementId:Qe,resizedElementType:z.Roof,oldVal:[...et],newVal:[...vt],type:Oe,undo:()=>{ee(ct.resizedElementId,ct.type,ct.oldVal)},redo:()=>{ee(ct.resizedElementId,ct.type,ct.newVal)}};M.getState().addUndoable(ct)},q=Qe=>{j.x=Qe.offsetX/B.domElement.clientWidth*2-1,j.y=-(Qe.offsetY/B.domElement.clientHeight)*2+1,N.setFromCamera(j,k)},le=(Qe,Oe)=>{F(!0),Ln.getState().setEnableOrbitController(!1),eie.set(Qe.x,Qe.y,Qe.z).add(Ae),e&&Oe&&tie.set(Vt,0,Oe.relativeAngle,"ZXY")},ie=(Qe,Oe,et)=>{const vt=new Gt(Qe.cx,Qe.cy),ct=In.getComposedWallCenter(Oe),lt=In.getComposedWallLength(Oe),tt=new Gt(ct.x,ct.y).rotateAround(Kwe,Qe.rotation[2]).add(vt),it=Qe.rotation[2]+Oe.relativeAngle,Mt=new Gt(et.x,et.y).sub(tt).rotateAround(Kwe,-it).x/lt;return Math.min(Math.abs(Mt),.5)*(Mt>=0?1:-1)},pe=(Qe,Oe,et,vt)=>{if(!Qe)return new ae;const ct=In.getComposedWallLength(Qe),lt=new Qt(0,0,Qe.relativeAngle),tt=new ae(Oe*ct,0,0);let it=ze;vt&&(it=et*(ze-vt.lz)+vt.lz);const At=In.getComposedWallCenter(Qe);return new ae(At.x,At.y,it).add(tt.applyEuler(lt))},ne=(Qe,Oe)=>{const et=Qe[Oe];let vt,ct;return Oe===0||Oe===2?(vt=et.lz,ct=et.lz):Oe===1?(vt=Qe[0].lz,ct=Qe[2].lz):(vt=Qe[2].lz,ct=Qe[0].lz),{lh:vt,rh:ct}},Z=Qe=>Qe.id===n&&Qe.type===z.Roof&&Qe.roofType===Vo.Gambrel,he=(Qe,Oe)=>{const et=Oe.x-Qe.x,ct=(Oe.y-Qe.y)/et,lt=Qe.y-ct*Qe.x;return{start:Qe.x,end:Oe.x,k:ct,b:lt}},fe=(Qe,Oe,et,vt,ct,lt,tt,it)=>{const At=Qe[Oe],{lh:Mt,rh:st}=ne(Qe,Oe),ft=new ae().subVectors(At.leftPoint,At.rightPoint).length(),Rt=ft/2,zt=mt=>mt*ft+Rt,Xe=(mt,Ge)=>mt*(et-Ge)+Ge,ht=[new Gt(zt(-lt[0]),Xe(lt[1],vt)),new Gt(zt(tt[0]),et),new Gt(zt(it[0]),Xe(it[1],ct)),new Gt(ft,st)];return ht.map((mt,Ge)=>{const xt=Ge===0?new Gt(0,Mt):ht[Ge-1];return he(xt,mt)})},se=(Qe,Oe)=>{for(const et of Qe){const{start:vt,end:ct,k:lt,b:tt}=et;if(Oe>=vt&&Oe<=ct)return lt*Oe+tt}return null},oe=Qe=>{const Oe=new Set;for(const et of Qe)et.wallsId.forEach(vt=>Oe.add(vt));R(et=>{for(const vt of et.elements)if(vt.type===z.Wall&&vt.foundationId===l&&Oe.has(vt.id)){const ct=vt;ct.leftRoofHeight=ze,ct.rightRoofHeight=ze,ct.centerLeftRoofHeight=void 0,ct.centerRightRoofHeight=void 0,ct.centerRoofHeight=void 0}})},de=(Qe,Oe,et,vt,ct,lt,tt)=>{if(et!==1&&et!==3)return;const it=et===3,{lh:At,rh:Mt}=ne(Oe,et),st=it?tt:ct,ft=it?ct:tt,Rt=it?lt:[-lt[0],lt[1]],zt=fe(Oe,et,vt,At,Mt,st,Rt,ft),Xe=zt.slice(1).map(mt=>mt.start),ht=Oe[et],Je=ht.wallsId.reduce((mt,Ge)=>{const xt=M.getState().elements.find(It=>It.id===Ge);return xt?[...mt,xt.lx+mt[mt.length-1]]:mt},[0]);for(let mt=0;mt=xt&&hn<=It){const cn=(hn-Et)/Lt,Sn=se(zt,hn);Sn!==null&&(Jt===0?an.centerLeft=[cn,Sn]:Jt===1?an.center=[cn,Sn]:Jt===2&&(an.centerRight=[cn,Sn]))}}Qe.set(Ge,an)}}return Qe},ve=(Qe,Oe,et,vt,ct)=>{const lt=new Map;return de(lt,Qe,1,Oe,et,vt,ct),de(lt,Qe,3,Oe,et,vt,ct),lt},Pe=(Qe,Oe,et,vt,ct)=>{const lt=new Set(Qe[0].wallsId),tt=new Set(Qe[2].wallsId),it=ve(Qe,Oe,et,vt,ct);R(At=>{for(const Mt of At.elements)if(Mt.type===z.Wall&&Mt.foundationId===l){if(lt.has(Mt.id)){const st=Mt,{lh:ft,rh:Rt}=ne(Qe,0);st.roofId=n,st.leftRoofHeight=ft,st.rightRoofHeight=Rt}else if(tt.has(Mt.id)){const st=Mt,{lh:ft,rh:Rt}=ne(Qe,2);st.roofId=n,st.leftRoofHeight=ft,st.rightRoofHeight=Rt}else if(it.has(Mt.id)){const st=it.get(Mt.id);if(st){const ft=Mt,{left:Rt,right:zt,center:Xe,centerLeft:ht,centerRight:Je}=st;if(ft.roofId=n,ft.leftRoofHeight=Rt,ft.rightRoofHeight=zt,ht){const[mt,Ge]=ht;ft.centerLeftRoofHeight?(ft.centerLeftRoofHeight[0]=mt,ft.centerLeftRoofHeight[1]=Ge):ft.centerLeftRoofHeight=[mt,Ge]}else ft.centerLeftRoofHeight=void 0;if(Xe){const[mt,Ge]=Xe;ft.centerRoofHeight?(ft.centerRoofHeight[0]=mt,ft.centerRoofHeight[1]=Ge):ft.centerRoofHeight=[mt,Ge]}else ft.centerRoofHeight=void 0;if(Je){const[mt,Ge]=Je;ft.centerRightRoofHeight?(ft.centerRightRoofHeight[0]=mt,ft.centerRightRoofHeight[1]=Ge):ft.centerRightRoofHeight=[mt,Ge]}else ft.centerRightRoofHeight=void 0}}}})},me=rye(a[0],l),{highestWallHeight:Re,topZ:ze}=aye(me,w,!0);qW(t,Re);const Ae=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me.map(et=>({x:et.leftPoint.x,y:et.leftPoint.y})),Oe=be.calculatePolygonCentroid(Qe);return new ae(Oe.x,Oe.y,ze)},[me,ze]),re=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[3],[Oe,et]=d;return pe(Qe,Oe,et).sub(Ae)},[me,Ae,d]),ge=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[1],[Oe,et]=d;return pe(Qe,-Oe,et).sub(Ae)},[me,Ae,d]),we=m.useMemo(()=>new ae().addVectors(re,ge).divideScalar(2),[re,ge]),ye=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[3],[Oe,et]=f;return pe(Qe,Oe,et,me[0]).sub(Ae)},[me,Ae,f]),Te=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[1],[Oe,et]=f;return pe(Qe,-Oe,et,me[0]).sub(Ae)},[me,Ae,f]),Ie=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[1],[Oe,et]=p;return pe(Qe,Oe,et,me[2]).sub(Ae)},[me,Ae,p]),Ce=m.useMemo(()=>{if(!me||me.length!==4)return new ae;const Qe=me[3],[Oe,et]=p;return pe(Qe,-Oe,et,me[2]).sub(Ae)},[me,Ae,p]),Ee=m.useMemo(()=>!me||me.length!==4?[]:me.map(Qe=>In.getComposedWallNormal(Qe).multiplyScalar(Qe.eavesLength)),[me]),Ue=m.useMemo(()=>Rvt.clone().multiplyScalar(x),[x]),Ne=m.useMemo(()=>{const Qe=[];if(!me||me.length!==4)return Qe;const[Oe,et,vt,ct]=me,[lt,tt,it,At]=Ee,Mt=Oe.leftPoint,st=Oe.rightPoint,ft=vt.leftPoint,Rt=vt.rightPoint,zt=Mt.clone().add(lt),Xe=st.clone().add(lt),ht=Rt.clone().add(At),Je=Mt.clone().add(At),mt=st.clone().add(tt),Ge=ft.clone().add(tt),xt=ft.clone().add(it),It=Rt.clone().add(it),Tt=[],{lh:Dt,rh:Lt}=ne(me,0),Et=In.getDistance(Mt,st,ye.clone().add(Ae)),an=Math.min((Oe.eavesLength??0)/Et*(ye.clone().add(Ae).z-Dt),Dt),Jt=In.getDistance(Mt,st,Te.clone().add(Ae)),hn=Math.min((Oe.eavesLength??0)/Jt*(Te.clone().add(Ae).z-Lt),Lt),cn=In.getIntersectionPoint(ht,Je,zt,Xe).setZ(Dt-an).sub(Ae),Sn=In.getIntersectionPoint(zt,Xe,mt,Ge).setZ(Lt-hn).sub(Ae),Pn=In.getIntersectionPoint(ye,Te,ht.clone().sub(Ae),Je.clone().sub(Ae)).setZ(ye.z),Un=In.getIntersectionPoint(Te,ye,mt.clone().sub(Ae),Ge.clone().sub(Ae)).setZ(Te.z);Tt.push(cn,Sn,Un,Pn),Tt.push(cn.clone().add(Ue),Sn.clone().add(Ue),Un.clone().add(Ue),Pn.clone().add(Ue));const Ai=In.getComposedWallCenter(Oe),vo=-Oe.relativeAngle,Oo=new ae(Ai.x,Ai.y).sub(we.clone().setZ(0)).length();Qe.push({points:Tt,angle:vo,length:Oo});const li=[],po=In.getIntersectionPoint(re,ge,ht.clone().sub(Ae),Je.clone().sub(Ae)).setZ(re.z),eo=In.getIntersectionPoint(re,ge,mt.clone().sub(Ae),Ge.clone().sub(Ae)).setZ(ge.z);li.push(Pn,Un,eo,po),li.push(Pn.clone().add(Ue),Un.clone().add(Ue),eo.clone().add(Ue),po.clone().add(Ue)),Qe.push({points:li,angle:vo,length:Oo});const uo=-vt.relativeAngle,{lh:qo,rh:Hi}=ne(me,2),vi=In.getDistance(ft,Rt,Ie.clone().add(Ae)),Cn=Math.min((vt.eavesLength??0)/vi*(Ie.clone().add(Ae).z-qo),qo),yn=In.getDistance(ft,Rt,Ce.clone().add(Ae)),to=Math.min((vt.eavesLength??0)/yn*(Ce.clone().add(Ae).z-Hi),Hi),Do=In.getIntersectionPoint(mt,Ge,xt,It).setZ(qo-Cn).sub(Ae),ni=In.getIntersectionPoint(xt,It,ht,Je).setZ(Hi-to).sub(Ae),Fo=In.getIntersectionPoint(Ie,Ce,mt.clone().sub(Ae),Ge.clone().sub(Ae)).setZ(Ce.z),bo=In.getIntersectionPoint(Ce,Ie,ht.clone().sub(Ae),Je.clone().sub(Ae)).setZ(Ce.z),Ro=In.getComposedWallCenter(vt),oi=new ae(Ro.x,Ro.y).sub(we.clone().setZ(0)).length(),go=[];go.push(Fo,bo,po,eo),go.push(Fo.clone().add(Ue),bo.clone().add(Ue),po.clone().add(Ue),eo.clone().add(Ue)),Qe.push({points:go,angle:uo,length:oi});const So=[];return So.push(Do,ni,bo,Fo),So.push(Do.clone().add(Ue),ni.clone().add(Ue),bo.clone().add(Ue),Fo.clone().add(Ue)),Qe.push({points:So,angle:uo,length:oi}),Qe},[me,ze,x,d,f,p]),Le=m.useMemo(()=>!me||me.length!==4?null:me.map(Qe=>Qe.leftPoint),[me]);m.useEffect(()=>{(!me||me.length!==4)&&H(n,!1,!1,!0)},[me]);const qe=eQ();m.useEffect(()=>{if((me==null?void 0:me.length)!==4)return;(M.getState().addedRoofIdSet.has(n)||!qe)&&(Q?oe(me):Pe(me,ze,f,d,p),Q$(e,n,Ne,Ae,ze,x,Q),M.getState().deleteAddedRoofId(n))},[Ne]),lye(e,n,Ne,Ae,ze,x,Q);const We=()=>{const Qe=[];if(!me||me.length!==4)return Qe;const Oe=me.map((At,Mt,st)=>new ae(At.leftPoint.x,At.leftPoint.y,ne(st,Mt).lh)),et=ye.clone().add(Ae),vt=Te.clone().add(Ae),ct=Ie.clone().add(Ae),lt=Ce.clone().add(Ae),tt=re.clone().add(Ae),it=ge.clone().add(Ae);Qe.push([Oe[0],Oe[1],vt,et]),Qe.push([et,vt,it,tt]),Qe.push([tt,it,ct,lt]),Qe.push([Oe[2],Oe[3],lt,ct]),Q?bn.getState().setRoofSegmentVerticesWithoutOverhang(n,[Oe]):bn.getState().setRoofSegmentVerticesWithoutOverhang(n,Qe)},De=JW(n,Ae,Ne,Q,Vo.Gambrel);KW(We);const Fe=M(Qe=>Qe.elements.filter(Oe=>Oe.parentId===n&&Oe.type===z.Window),a3),_e=M(Vc),ot=gt(cs),Ye=M(wf),St=bn(o1),[dt,je]=m.useState(null),[at,ut]=m.useState([]);m.useEffect(()=>{if(ot)if(Q){const Qe=St(n);if(Qe){const Oe=be.fetchHeatmapTexture(Qe,Ye??5);if(Oe){const et=De();if(et&&et.length>0&&e){const vt=new Qt(0,0,e.rotation[2],"ZYX");let ct=Number.MAX_VALUE,lt=Number.MAX_VALUE,tt=-Number.MAX_VALUE,it=-Number.MAX_VALUE;for(const zt of et)for(const Xe of zt){const ht=Xe.clone().applyEuler(vt);ht.x>tt&&(tt=ht.x),ht.xit&&(it=ht.y),ht.y0){const Oe=[];for(let et=0;et{VW(Qe,e.id,n,Ne,Ae)},onPointerMove:Qe=>{XW(Qe,n)},onPointerUp:Qe=>{GW(Qe,t)},onContextMenu:Qe=>{dR(Qe,n)},children:Q?h.jsx(tQ,{id:n,foundationModel:e,roofType:S,roofSegments:Ne,center:new ae(Ae.x,Ae.y,ze),thickness:x,lineWidth:v,lineColor:b,sideColor:A,color:rt,textureType:g,heatmap:dt}):h.jsxs(h.Fragment,{children:[Ne.map((Qe,Oe,et)=>h.jsx(kq,{id:n,index:Oe,foundationModel:e,roofType:S,segment:Qe,centroid:Ae,thickness:x,color:rt,sideColor:A,texture:D,heatmap:at&&Oe0&&me[0].lz===me[2].lz&&Le&&h.jsx(dW,{cz:me[0].lz,points:Le}),P&&!C&&h.jsxs("group",{position:[Ae.x,Ae.y,Ae.z+x],children:[h.jsx(Qf,{position:[we.x,we.y,we.z],onPointerDown:Qe=>{if(_e(t.id,Qe,zo.Select),J.current=!0,_.current=w,F(!0),eie.set(we.x,we.y,ze).add(Ae),e){const Oe=-Math.atan2(k.position.x-o,k.position.y-i)-e.rotation[2];tie.set(-Vt,0,Oe,"ZXY")}L(ki.TopMid),Ln.getState().setEnableOrbitController(!1),R(Oe=>{Oe.resizeHandleType=yt.Top,Oe.selectedElementHeight=ze+t.thickness})},onPointerOver:()=>{R(Qe=>{Qe.hoveredHandle=ki.TopMid,Qe.selectedElementHeight=ze+t.thickness,Qe.selectedElementX=we.x,Qe.selectedElementY=we.y})}}),!Q&&h.jsxs(h.Fragment,{children:[h.jsx(Qf,{position:[re.x,re.y,re.z],onPointerDown:()=>{J.current=!0,Y.current=[...d],le(re,me[3]),L(ki.TopLeft)}}),h.jsx(Qf,{position:[ge.x,ge.y,ge.z],onPointerDown:()=>{J.current=!0,Y.current=[...d],le(ge,me[1]),L(ki.TopRight)}}),h.jsx(Qf,{position:[ye.x,ye.y,ye.z],onPointerDown:()=>{J.current=!0,Y.current=[...f],le(ye,me[3]),L(ki.FrontLeft)}}),h.jsx(Qf,{position:[Te.x,Te.y,Te.z],onPointerDown:()=>{J.current=!0,Y.current=[...f],le(Te,me[1]),L(ki.FrontRight)}}),h.jsx(Qf,{position:[Ie.x,Ie.y,Ie.z],onPointerDown:()=>{J.current=!0,Y.current=[...p],le(Ie,me[1]),L(ki.BackLeft)}}),h.jsx(Qf,{position:[Ce.x,Ce.y,Ce.z],onPointerDown:()=>{J.current=!0,Y.current=[...p],le(Ce,me[3]),L(ki.BackRight)}})]})]}),U&&h.jsx(sa,{name:"Roof Intersection Plane",ref:W,args:[1e3,100],visible:!1,position:eie,rotation:tie,onPointerMove:Qe=>{if(W.current&&J.current&&me&&me.length===4){q(Qe);const Oe=N.intersectObjects([W.current]);if(Oe[0]&&e){const et=Oe[0].point;if(et.z<.001)return;switch(E){case ki.TopMid:{const vt=Math.max(0,et.z-e.lz-.3-Re),ct=Re+vt,lt=ve(me,ct,f,d,p);K5(lt,l)&&M.getState().updateRoofRiseById(n,vt,ct+t.thickness);break}case ki.FrontLeft:{if(e&&me&&me.length===4){const vt=be.clamp(ie(e,me[3],et),d[0]+.05,.45),ct=ze-me[0].lz,lt=be.clamp((et.z-e.lz-me[0].lz)/ct,0,1),tt=[vt,lt],it=ve(me,ze,tt,d,p);K5(it,l)&&R(At=>{const Mt=At.elements.find(st=>Z(st));Mt&&(Mt.frontRidgePoint[0]=tt[0],Mt.frontRidgePoint[1]=tt[1])})}break}case ki.FrontRight:{if(e&&me&&me.length===4){const vt=be.clamp(ie(e,me[1],et),-.45,-d[0]-.05),ct=ze-me[0].lz,lt=be.clamp((et.z-e.lz-me[0].lz)/ct,0,1),tt=[-vt,lt],it=ve(me,ze,tt,d,p);K5(it,l)&&R(At=>{const Mt=At.elements.find(st=>Z(st));Mt&&(Mt.frontRidgePoint=[...tt])})}break}case ki.TopLeft:{if(e&&me&&me.length===4){const ct=[be.clamp(ie(e,me[3],et),-p[0]+.05,f[0]-.05),d[1]],lt=ve(me,ze,f,ct,p);K5(lt,l)&&R(tt=>{const it=tt.elements.find(At=>Z(At));it&&(it.topRidgePoint=[...ct])})}break}case ki.TopRight:{if(e&&me&&me.length===4){const ct=[-be.clamp(ie(e,me[1],et),-f[0]+.05,p[0]-.05),d[1]],lt=ve(me,ze,f,ct,p);K5(lt,l)&&R(tt=>{const it=tt.elements.find(At=>Z(At));it&&(it.topRidgePoint=[...ct])})}break}case ki.BackLeft:{if(e&&me&&me.length===4){const vt=be.clamp(ie(e,me[1],et),-d[0]+.05,.45),ct=ze-me[2].lz,lt=be.clamp((et.z-e.lz-me[2].lz)/ct,0,1),tt=[vt,lt],it=ve(me,ze,f,d,tt);K5(it,l)&&R(At=>{const Mt=At.elements.find(st=>Z(st));Mt&&(Mt.backRidgePoint=[...tt])})}break}case ki.BackRight:{if(e&&me&&me.length===4){const vt=be.clamp(ie(e,me[3],et),-.45,d[0]-.05),ct=ze-me[2].lz,lt=be.clamp((et.z-e.lz-me[2].lz)/ct,0,1),tt=[-vt,lt],it=ve(me,ze,f,d,tt);K5(it,l)&&R(At=>{const Mt=At.elements.find(st=>Z(st));Mt&&(Mt.backRidgePoint=[...tt])})}break}}}}},onPointerUp:()=>{switch(E){case ki.TopMid:{_W(n,_.current,w);break}case ki.TopLeft:case ki.TopRight:{$(n,E,Y.current,d);break}case ki.FrontLeft:case ki.FrontRight:{$(n,E,Y.current,f);break}case ki.BackLeft:case ki.BackRight:{$(n,E,Y.current,p);break}}J.current=!1,F(!1),L(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},Mvt=Se.memo(Hvt,BH),Qj=new ae,Zj=new Qt,qwe=new Gt,Ivt=new ae(0,0,1),yz=Se.memo(({start:t,end:e,width:n,height:o,offset:i,color:r})=>{const a=m.useMemo(()=>new Gt(t.x,t.y),[t]),l=m.useMemo(()=>new Gt(e.x,e.y),[e]),s=m.useMemo(()=>new Gt().subVectors(l,a).angle(),[a,l]),c=m.useMemo(()=>{const u=new Ml,d=a.distanceTo(l),f=t.z-e.z;return u.moveTo(0,0),u.lineTo(d,-f),u.lineTo(d,-f+o),u.lineTo(0,o),u.closePath(),u},[t,e,a,l,o]);return h.jsx("group",{position:i,children:h.jsx($w,{args:[c,{steps:1,depth:n,bevelEnabled:!1}],position:t,rotation:[Vt,0,s,"ZXY"],castShadow:!0,receiveShadow:!0,children:h.jsx("meshStandardMaterial",{color:r})})})}),zvt=({ridgeLeftPoint:t,ridgeRightPoint:e,wallArray:n,height:o,isShed:i,width:r,spacing:a,color:l})=>{const[s,c,u,d]=n,f=m.useMemo(()=>new ae().subVectors(e,t).normalize(),[]),p=m.useMemo(()=>t.clone().add(f.clone().multiplyScalar(-(d.eavesLength??0)/2)),[t,d.eavesLength]),g=m.useMemo(()=>e.clone().add(f.clone().multiplyScalar((c.eavesLength??0)/2)),[t,c.eavesLength]),y=s.leftPoint.clone().setZ(s.lz),A=u.rightPoint.clone().setZ(u.lz),x=m.useMemo(()=>{if(n.length<4)return[];const S=new ae().subVectors(new ae(s.rightPoint.x,s.rightPoint.y,s.lz),y).normalize(),w=new ae().subVectors(new ae(u.leftPoint.x,u.leftPoint.y,u.lz),A).normalize(),T=t.distanceTo(e),P=new ae().subVectors(s.leftPoint,s.rightPoint).length(),R=new ae().subVectors(u.leftPoint,u.rightPoint).length(),H=r,D=Math.floor((Math.min(T,P,R)-r)/a)+2;return new Array(D).fill(0).map((E,L)=>{let U;L===D-1?U=T:U=L*a+H;const F=t.clone().add(f.clone().multiplyScalar(U)),W=y.clone().add(S.clone().multiplyScalar(U)),B=A.clone().add(w.clone().multiplyScalar(U)),k=new ae().subVectors(W,F).normalize().multiplyScalar(s.eavesLength??0),N=new ae().subVectors(B,F).normalize().multiplyScalar(u.eavesLength??0);return W.add(k),B.add(N),{ridge:F,front:W,back:B}})},[a,t]),C=t.distanceTo(y)>t.distanceTo(A),b=new ae(-r,0,0),v=new ae(0,r/2,0);return h.jsxs(h.Fragment,{children:[x.map((S,w)=>h.jsx(Se.Fragment,{children:i?C?h.jsx(yz,{start:S.ridge,end:S.front,width:r,height:o,color:l}):h.jsx(yz,{start:S.ridge,end:S.back,width:r,height:o,color:l}):h.jsxs(h.Fragment,{children:[h.jsx(yz,{start:S.ridge,end:S.front,width:r,height:o,color:l}),h.jsx(yz,{start:S.ridge,end:S.back,width:r,height:o,color:l,offset:b})]})},w)),h.jsx(yz,{start:p,end:g,width:r,height:o,color:l,offset:v})]})},Dvt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new ae(0,0,e),a=t.length===1;for(const f of t){const[p,g,y,A]=f.points;i.push(A,p,g,y),a&&i.push(A)}const l=Math.abs(t[0].points[0].z)<.015,s=t[0].points[3],c=t[0].points[2],u=h.jsx(Fn,{points:i,lineWidth:n,color:o}),d=h.jsx(Fn,{points:[s,c],lineWidth:n,color:o});return h.jsxs(h.Fragment,{children:[u,!l&&!a&&d,h.jsxs("group",{position:[0,0,e],children:[u,!l&&!a&&d]}),t.map((f,p)=>{const[g,y,A,x]=f.points;return h.jsxs("group",{children:[h.jsx(Fn,{points:[g,g.clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[y,y.clone().add(r)],lineWidth:n,color:o}),a&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[A,A.clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[x,x.clone().add(r)],lineWidth:n,color:o})]})]},p)})]})}),Evt=({roofModel:t,foundationModel:e})=>{let{id:n,parentId:o,wallsId:i,lz:r,rise:a=r,thickness:l=.2,ridgeLeftPoint:s,ridgeRightPoint:c,textureType:u,color:d="white",sideColor:f="white",locked:p,lineColor:g="black",lineWidth:y=.2,roofStructure:A,rafterSpacing:x=2,rafterWidth:C=.1,rafterColor:b="white",glassTint:v="#73D8FF",opacity:S=.5,ceiling:w=!1}=t;const T=M(dn),P=M(hp),R=Hs(n);[g,y]=In.getWireframetStyle(g,y,R,p);const{gl:H,camera:D}=Xi(),E=m.useMemo(()=>new Gs,[]),L=m.useMemo(()=>new Gt,[]),[U,F]=m.useState(!1),[W,B]=m.useState(ki.Null),k=Math.abs(s[0])>.45,N=m.useRef(null),j=m.useRef(s[0]),Y=m.useRef(c[0]),_=m.useRef(a),J=m.useRef(!1),Q=(De,Fe,_e)=>{T(ot=>{for(const Ye of ot.elements)if(Ye.id===De&&Ye.type===z.Roof&&Ye.roofType===Vo.Gable){Ye.ridgeLeftPoint[0]=Fe,Ye.ridgeRightPoint[0]=_e;break}})},ee=(De,Fe,_e,ot,Ye)=>{const St={name:"Resize Gable Roof Ridge",timestamp:Date.now(),resizedElementId:De,resizedElementType:z.Roof,oldLeft:Fe,oldRight:_e,newLeft:ot,newRight:Ye,undo:()=>{Q(St.resizedElementId,Fe,_e)},redo:()=>{Q(St.resizedElementId,ot,Ye)}};M.getState().addUndoable(St)},$=De=>{L.x=De.offsetX/H.domElement.clientWidth*2-1,L.y=-(De.offsetY/H.domElement.clientHeight)*2+1,E.setFromCamera(L,D)},q=(De,Fe,_e)=>{const ot=new Gt(De.cx,De.cy),Ye=new ae().addVectors(Fe.leftPoint,Fe.rightPoint).divideScalar(2),St=new ae().subVectors(Fe.leftPoint,Fe.rightPoint).length(),dt=new Gt(Ye.x,Ye.y).rotateAround(qwe,De.rotation[2]).add(ot),je=De.rotation[2]+Fe.relativeAngle,ut=new Gt(_e.x,_e.y).sub(dt).rotateAround(qwe,-je).x/St;return Math.min(Math.abs(ut),.5)*(ut>=0?1:-1)},le=(De,Fe,_e)=>{if(!De)return new ae;const ot=new ae().subVectors(De.leftPoint,De.rightPoint).length(),Ye=new ae().addVectors(De.leftPoint,De.rightPoint).divideScalar(2),St=new Qt(0,0,De.relativeAngle),dt=new ae(Fe*ot,0,0),je=_e*a+de;return new ae(Ye.x,Ye.y,je).add(dt.applyEuler(St))},ie=(De,Fe)=>{const _e=De[Fe];let ot,Ye;return Fe===0||Fe===2?(ot=_e.lz,Ye=_e.lz):Fe===1?(ot=De[0].lz,Ye=De[2].lz):(ot=De[2].lz,Ye=De[0].lz),{lh:ot,rh:Ye}},pe=(De,Fe)=>{const _e=De.slice().reverse();return ne(_e,0,Fe-1),ne(_e,Fe,_e.length-1),_e},ne=(De,Fe,_e)=>{for(;Fe<_e;){const ot=De[Fe];De[Fe]=De[_e],De[_e]=ot,Fe++,_e--}},Z=(De,Fe,_e)=>De*_e+Fe,he=(De,Fe,_e,ot,Ye)=>{const St=Fe[_e],dt=new ae().subVectors(St.leftPoint,St.rightPoint).length(),je=(Ye[0]+.5)*dt,{lh:at,rh:ut}=ie(Fe,_e),wt=Ye[1]*(ot-at)/je,rt=at,Qe=-(Ye[1]*(ot-ut))/(dt-je),Oe=ut-Qe*dt,et=St.wallsId.reduce((vt,ct)=>{const lt=M.getState().elements.find(tt=>tt.id===ct);return lt?[...vt,lt.lx+vt[vt.length-1]]:vt},[0]);for(let vt=0;vtje&&(At.center=[(je-lt)/it-.5,ot]),De.set(ct,At)}return De},fe=(De,Fe,_e,ot)=>{const Ye=new Map;return he(Ye,De,1,Fe,ot),he(Ye,De,3,Fe,_e),Ye},se=(De,Fe,_e,ot)=>{const[Ye,St,dt,je]=De,at=new Set(Ye.wallsId),ut=new Set(dt.wallsId),wt=fe(De,Fe,_e,ot);T(rt=>{for(const Qe of rt.elements)if(Qe.type===z.Wall&&Qe.foundationId===o){if(at.has(Qe.id)){const Oe=Qe;if(Oe.roofId=n,_e[0]===.5)Oe.leftRoofHeight=Fe,Oe.rightRoofHeight=Fe,Oe.centerRoofHeight=void 0;else{const{lh:et,rh:vt}=ie(De,0);Oe.leftRoofHeight=et,Oe.rightRoofHeight=vt}}else if(ut.has(Qe.id)){const Oe=Qe;if(Oe.roofId=n,_e[0]===-.5)Oe.leftRoofHeight=Fe,Oe.rightRoofHeight=Fe,Oe.centerRoofHeight=void 0;else{const{lh:et,rh:vt}=ie(De,2);Oe.leftRoofHeight=et,Oe.rightRoofHeight=vt}}else if(wt.has(Qe.id)){const Oe=wt.get(Qe.id);if(Oe){const et=Qe,{left:vt,right:ct,center:lt}=Oe;if(et.roofId=n,et.leftRoofHeight=vt,et.rightRoofHeight=ct,lt){const[tt,it]=lt;et.centerRoofHeight?(et.centerRoofHeight[0]=tt,et.centerRoofHeight[1]=it):et.centerRoofHeight=[tt,it]}else et.centerRoofHeight=void 0}}}})},oe=rye(i[0],o),{highestWallHeight:de,topZ:ve}=aye(oe,a,!0);qW(t,de);const Pe=m.useMemo(()=>{if(oe===null||oe.length!==4)return new ae;const De=oe.map(_e=>({x:_e.leftPoint.x,y:_e.leftPoint.y})),Fe=be.calculatePolygonCentroid(De);return new ae(Fe.x,Fe.y,ve)},[oe,ve]),me=m.useMemo(()=>{if(oe===null)return new ae;const De=oe[3],[Fe,_e]=s;return le(De,Fe,_e)},[oe,ve,s]),Re=m.useMemo(()=>{if(oe===null)return new ae;const De=oe[1],[Fe,_e]=c;return le(De,Fe,_e)},[oe,ve,c]),ze=m.useMemo(()=>new ae((me.x+Re.x)/2,(me.y+Re.y)/2,ve),[me,Re]),Ae=m.useMemo(()=>!oe||oe.length!==4?null:oe.map(De=>In.getComposedWallNormal(De).multiplyScalar(De.eavesLength)),[oe]),re=m.useMemo(()=>Ivt.clone().multiplyScalar(l),[l]),ge=m.useMemo(()=>{const De=[];if(!oe||oe.length!==4||!Ae)return De;if(k){const Fe=[],_e=s[0]<0?0:2,ot=pe(oe,_e),Ye=pe(Ae,_e),[St,dt,je,at]=ot,[ut,wt,rt,Qe]=Ye,Oe=St.leftPoint,et=St.rightPoint,vt=je.leftPoint,ct=je.rightPoint,lt=Oe.clone().add(ut),tt=et.clone().add(ut),it=ct.clone().add(Qe),At=Oe.clone().add(Qe),Mt=et.clone().add(wt),st=vt.clone().add(wt),ft=vt.clone().add(rt),Rt=ct.clone().add(rt),{lh:zt,rh:Xe}=ie(ot,0),{lh:ht,rh:Je}=ie(ot,2),mt=In.getDistance(Oe,et,ct),Ge=Math.min((St.eavesLength??0)/mt*(ve-zt),zt),xt=In.getDistance(Oe,et,vt),It=Math.min((St.eavesLength??0)/xt*(ve-Xe),Xe),Tt=In.getDistance(vt,ct,et),Dt=Math.min((je.eavesLength??0)/Tt*(ve-Xe),ht),Lt=In.getDistance(vt,ct,Oe),Et=Math.min((je.eavesLength??0)/Lt*(ve-zt),Je),an=In.getIntersectionPoint(it,At,lt,tt).setZ(zt-Ge).sub(Pe),Jt=In.getIntersectionPoint(lt,tt,Mt,st).setZ(Xe-It).sub(Pe),hn=In.getIntersectionPoint(Mt,st,ft,Rt).setZ(ve+Dt).sub(Pe),cn=In.getIntersectionPoint(ft,Rt,it,At).setZ(ve+Et).sub(Pe);Fe.push(an,Jt,hn,cn),Fe.push(an.clone().add(re),Jt.clone().add(re),hn.clone().add(re),cn.clone().add(re));const Pn=new ae().addVectors(St.leftPoint,St.rightPoint).divideScalar(2).clone().sub(ze.clone().setZ(0)).length();De.push({points:Fe,angle:-St.relativeAngle,length:Pn})}else{const[Fe,_e,ot,Ye]=oe,[St,dt,je,at]=Ae,ut=Fe.leftPoint.clone().add(St),wt=Fe.rightPoint.clone().add(St),rt=ot.rightPoint.clone().add(at),Qe=Fe.leftPoint.clone().add(at),Oe=Fe.rightPoint.clone().add(dt),et=ot.leftPoint.clone().add(dt),vt=ot.leftPoint.clone().add(je),ct=ot.rightPoint.clone().add(je),lt=In.getIntersectionPoint(me,Re,rt.clone(),Qe.clone()).setZ(me.z).sub(Pe),tt=In.getIntersectionPoint(me,Re,Oe.clone(),et.clone()).setZ(Re.z).sub(Pe),it=[],{lh:At,rh:Mt}=ie(oe,0),st=In.getDistance(Fe.leftPoint,Fe.rightPoint,me),ft=Math.min((Fe.eavesLength??0)/st*(me.z-At),At),Rt=In.getDistance(Fe.leftPoint,Fe.rightPoint,Re),zt=Math.min((Fe.eavesLength??0)/Rt*(Re.z-Mt),Mt),Xe=In.getIntersectionPoint(rt,Qe,ut,wt).setZ(At-ft).sub(Pe),ht=In.getIntersectionPoint(ut,wt,Oe,et).setZ(Mt-zt).sub(Pe);it.push(Xe,ht,tt,lt),it.push(Xe.clone().add(re),ht.clone().add(re),tt.clone().add(re),lt.clone().add(re));const mt=new ae().addVectors(Fe.leftPoint,Fe.rightPoint).divideScalar(2).clone().sub(Pe.clone().setZ(0)).length();De.push({points:it,angle:-Fe.relativeAngle,length:mt});const Ge=[],{lh:xt,rh:It}=ie(oe,2),Tt=In.getDistance(ot.leftPoint,ot.rightPoint,Re),Dt=Math.min((ot.eavesLength??0)/Tt*(Re.z-xt),xt),Lt=In.getDistance(ot.leftPoint,ot.rightPoint,me),Et=Math.min((ot.eavesLength??0)/Lt*(me.z-It),It),an=In.getIntersectionPoint(Oe,et,vt,ct).setZ(xt-Dt).sub(Pe),Jt=In.getIntersectionPoint(vt,ct,rt,Qe).setZ(It-Et).sub(Pe);Ge.push(an,Jt,lt,tt),Ge.push(an.clone().add(re),Jt.clone().add(re),lt.clone().add(re),tt.clone().add(re));const cn=new ae().addVectors(ot.leftPoint,ot.rightPoint).divideScalar(2).clone().sub(Pe.clone().setZ(0)).length();De.push({points:Ge,angle:-ot.relativeAngle,length:cn})}return De},[oe,me,Re,ve,l]),we=m.useMemo(()=>!oe||oe.length!==4?null:oe.map(De=>De.leftPoint),[oe]);m.useEffect(()=>{(!oe||oe.length!==4)&&P(n,!1,!1,!0)},[oe]);const ye=eQ();m.useEffect(()=>{if((oe==null?void 0:oe.length)!==4)return;(M.getState().addedRoofIdSet.has(n)||!ye)&&(se(oe,ve,s,c),Q$(e,n,ge,Pe,ve,l),M.getState().deleteAddedRoofId(n))},[ge]),lye(e,n,ge,Pe,ve,l);const Te=()=>{if(!oe||oe.length!==4)return;const De=[];if(k){const Fe=s[0]<0?0:2,ot=pe(oe,Fe).map((Ye,St,dt)=>new ae(Ye.leftPoint.x,Ye.leftPoint.y,ie(dt,St).lh));De.push(ot)}else{const Fe=oe.map((_e,ot,Ye)=>new ae(_e.leftPoint.x,_e.leftPoint.y,ie(Ye,ot).lh));De.push([Fe[0],Fe[1],Re.clone(),me.clone()]),De.push([Fe[2],Fe[3],me.clone(),Re.clone()])}bn.getState().setRoofSegmentVerticesWithoutOverhang(n,De)};JW(n,Pe,ge,!1,Vo.Gable),KW(Te);const Ie=M(De=>De.elements.filter(Fe=>Fe.parentId===n&&Fe.type===z.Window),a3),Ce=M(Vc),Ee=gt(cs),Ue=M(wf),Ne=bn(o1),[Le,qe]=m.useState([]);m.useEffect(()=>{if(Ee){const De=ge.length;if(De>0){const Fe=[];for(let _e=0;_e{VW(De,e.id,n,ge,Pe)},onPointerMove:De=>{XW(De,n)},onPointerUp:De=>{GW(De,t)},onContextMenu:De=>{dR(De,n)},children:[ge.map((De,Fe,_e)=>{const{points:ot,angle:Ye,length:St}=De,dt=Math.abs(ot[0].z)<.1;return oe?h.jsx(kvt,{index:Fe,id:n,points:ot,centroid:Pe,angle:dt?_e[0].angle:Ye,length:dt?1:St,textureType:u,heatmaps:Le,color:d,sideColor:f,roofStructure:A,glassTint:v,opacity:S,relativeAngle:Fe===0?oe[0].relativeAngle:oe[2].relativeAngle,foundation:e,windows:Ie},Fe):null}),S>0&&h.jsx(Dvt,{roofSegments:ge,thickness:l,lineColor:g,lineWidth:A===yc.Rafter?.1:y})]}),w&&a>0&&oe[0].lz===oe[2].lz&&we&&h.jsx(dW,{cz:oe[0].lz,points:we}),A===yc.Rafter&&oe&&oe.length===4&&h.jsx("group",{onContextMenu:De=>{dR(De,n)},onPointerDown:De=>{QKe(De,n,o)},children:h.jsx(zvt,{ridgeLeftPoint:me,ridgeRightPoint:Re,wallArray:oe,overhang:0,isShed:k,height:l,spacing:x,color:b,width:C})}),R&&!p&&h.jsxs("group",{position:[0,0,l],children:[h.jsx(Qf,{position:[ze.x,ze.y,ze.z+.15],onPointerDown:De=>{if(Ce(t.id,De,zo.Select),J.current=!0,_.current=a,F(!0),Qj.set(ze.x,ze.y,ve),e){const Fe=-Math.atan2(D.position.x-e.cx,D.position.y-e.cy)-e.rotation[2];Zj.set(-Vt,0,Fe,"ZXY")}B(ki.Mid),Ln.getState().setEnableOrbitController(!1),T(Fe=>{Fe.resizeHandleType=yt.Top,Fe.selectedElementHeight=ve+t.thickness})},onPointerOver:()=>{T(De=>{De.hoveredHandle=ki.Mid,De.selectedElementHeight=ve+t.thickness,De.selectedElementX=ze.x,De.selectedElementY=ze.y})}}),h.jsx(Qf,{position:[me.x,me.y,me.z+.15],onPointerDown:()=>{if(J.current=!0,j.current=s[0],Y.current=c[0],F(!0),Qj.set(me.x,me.y,ve),e&&oe&&oe[3]){const De=new ae().subVectors(me,D.position).normalize(),Fe=Math.atan2(De.z,Math.hypot(De.x,De.y)),_e=oe[3].relativeAngle;Zj.set(-Vt+Fe,0,_e,"ZXY")}B(ki.Left),Ln.getState().setEnableOrbitController(!1)}}),h.jsx(Qf,{position:[Re.x,Re.y,Re.z+.15],onPointerDown:()=>{if(J.current=!0,j.current=s[0],Y.current=c[0],F(!0),Qj.set(Re.x,Re.y,ve),e&&oe&&oe[1]){const De=new ae().subVectors(Re,D.position).normalize(),Fe=Math.atan2(De.z,Math.hypot(De.x,De.y)),_e=oe[1].relativeAngle;Zj.set(-Vt+Fe,0,_e,"ZXY")}B(ki.Right),Ln.getState().setEnableOrbitController(!1)}})]}),U&&h.jsx(sa,{name:"Roof Intersection Plane",ref:N,args:[1e3,100],visible:!1,position:Qj,rotation:Zj,onPointerMove:De=>{if(N.current&&J.current&&e&&oe&&oe.length===4){$(De);const Fe=E.intersectObjects([N.current]);if(Fe[0]){const _e=Fe[0].point;if(_e.z<.001)return;switch(W){case ki.Left:{const ot=oe[3];if(ot){let Ye=q(e,ot,_e);Math.abs(Ye)>=.45&&Math.abs(Ye)<.5&&(Ye=.45*Math.sign(Ye));const St=[Ye,s[1]],dt=[-Ye,c[1]],je=fe(oe,ve,St,dt);K5(je,o)&&Q(n,Ye,-Ye)}break}case ki.Right:{const ot=oe[1];if(ot){let Ye=q(e,ot,_e);Math.abs(Ye)>=.45&&Math.abs(Ye)<.5&&(Ye=.45*Math.sign(Ye));const St=[-Ye,s[1]],dt=[Ye,c[1]],je=fe(oe,ve,St,dt);K5(je,o)&&Q(n,-Ye,Ye)}break}case ki.Mid:{let ot;k?ot=Math.max(0,_e.z-e.lz-.3-de):ot=Math.max(-de+.01,_e.z-e.lz-.3-de);const Ye=de+ot,St=fe(oe,Ye,s,c);K5(St,o)&&M.getState().updateRoofRiseById(n,ot,ve+t.thickness);break}}}}},onPointerUp:()=>{switch(W){case ki.Mid:{_W(n,_.current,a);break}case ki.Left:case ki.Right:ee(n,j.current,Y.current,s[0],c[0])}J.current=!1,F(!1),B(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},kvt=({index:t,id:e,points:n,centroid:o,angle:i,length:r,textureType:a,heatmaps:l,color:s="white",sideColor:c,relativeAngle:u,foundation:d,roofStructure:f,glassTint:p,opacity:g=.5,windows:y})=>{const A=M.getState().world;M(jn);const x=M(Q9),C=gt(cs),b=gt(i3),v=M(X2),S=M(q9),w=M($9),T=bn($L),P=bn.getState().hourlyHeatExchangeArrayMap,R=jH(f===yc.Rafter?Ui.NoTexture:a),{transparent:H,opacity:D}=Z$(f===yc.Rafter,g),{invalidate:E}=Xi(),L=m.useRef(null),U=m.useRef(null),F=m.useRef(null),W=m.useRef(null),B=m.useRef(0),k=m.useRef(),N=m.useRef(),[j,Y]=m.useState(0),[_,J]=m.useState(0),[Q,ee]=m.useState(!0),$=(Z,he)=>Z.clone().setZ(0).distanceTo(he.clone().setZ(0))>2,q=Z=>Math.abs(Z){if(!b)return;const Z=T(e);if(!Z)return;const he=[],[fe,se,oe,de,ve]=n,Pe=ve.z-fe.z,me=new ae(0,0,Pe+.1);for(const Re of Z.values()){let ze=[];ze.push(Re[0].clone().sub(o).add(me)),ze.push(Re[1].clone().sub(o).add(me)),he.push(ze),ze=[],ze.push(Re[0].clone().sub(o).add(me)),ze.push(Re[3].clone().sub(o).add(me)),he.push(ze),ze=[],ze.push(Re[1].clone().sub(o).add(me)),ze.push(Re[2].clone().sub(o).add(me)),he.push(ze)}return he},[b]),ie=m.useMemo(()=>{if(!b||d&&d.notBuilding)return;const Z=P.get(e+"-"+t);if(!Z)return;const he=Z.reduce((je,at)=>je+at,0),fe=T(e);if(!fe||!fe[t])return;const[se,oe,de,ve,Pe]=n,me=Pe.z-se.z,Re=fe[t].map(je=>je.clone().sub(o).add(new ae(0,0,me)));if(!Re)return;let ze=be.getTriangleArea(Re[0],Re[1],Re[2])+be.getTriangleArea(Re[2],Re[3],Re[0]);if(ze===0)return;let Ae=x(z.Window,e);const re=T(e);if(re&&re[t]&&(Ae=Ae.filter(je=>{const at=je,ut=at.cy+(at.windowType===Sr.Polygonal&&at.polygonTop?at.polygonTop[1]/2:0);return In.onSegment(re[t],je.cx,ut)})),Ae&&Ae.length>0)for(const je of Ae)ze-=be.getWindowArea(je);const ge=K9*(A.solarRadiationHeatmapGridCellSize??.5),we=Re[0].clone(),ye=Re[1].clone(),Te=Re[2].clone(),Ie=new ae().subVectors(ye,we),Ce=new ae().subVectors(Te,we),Ee=new ae().subVectors(Te,ye),Ue=Ie.length(),Ne=new ae().crossVectors(Ce,Ee).length()/Ue,Le=Math.max(2,Math.round(Ue/ge)),qe=Math.max(2,Math.round(Ne/ge));Ie.normalize(),Ce.normalize(),Ee.normalize();const We=new ae().crossVectors(Ce,Ee).normalize(),De=Ie.multiplyScalar(.5*Ue/Le),Fe=new ae().crossVectors(We,Ie).normalize().multiplyScalar(.5*Ne/qe),_e=we.clone().add(De).add(Fe);De.multiplyScalar(2),Fe.multiplyScalar(2);const ot=he/ze*(v??Vm);B.current=ot<0?1:0,k.current=We.clone().multiplyScalar(.1),N.current=be.getEuler(Po,We,"YXZ",-Math.sign(ot)*Vt);const Ye=[],St=new ae;let dt;for(let je=0;je0){const wt=St.x+o.x,rt=St.y+o.y;for(const Qe of Ae){const Oe=In.getRelativeWindowVerticesOnRoof(Qe),et=be.getPoints(Oe);if(be.isPointInside(wt,rt,et)){dt=!1;break}}}if(dt){const wt=[];ot<0?(wt.push(St.clone()),wt.push(St.clone().add(We.clone().multiplyScalar(-ot)))):(wt.push(St.clone()),wt.push(St.clone().add(We.clone().multiplyScalar(ot)))),Ye.push(wt)}}}return Ye},[b,v,o,n]);m.useEffect(()=>{const[Z,he,fe,se,oe]=n,de=oe.z-Z.z;if(L.current){const ve=L.current.geometry;if(ve){const Pe=new Float32Array(18),me=de+.01;Pe[0]=n[0].x,Pe[1]=n[0].y,Pe[2]=n[0].z+me,Pe[3]=n[1].x,Pe[4]=n[1].y,Pe[5]=n[1].z+me,Pe[6]=n[2].x,Pe[7]=n[2].y,Pe[8]=n[2].z+me,Pe[9]=n[2].x,Pe[10]=n[2].y,Pe[11]=n[2].z+me,Pe[12]=n[3].x,Pe[13]=n[3].y,Pe[14]=n[3].z+me,Pe[15]=n[0].x,Pe[16]=n[0].y,Pe[17]=n[0].z+me,ve.setAttribute("position",new hi(Pe,3)),ve.computeVertexNormals();const Re=[];Re.push(0,0),Re.push(1,0),Re.push(1,1),Re.push(1,1),Re.push(0,1),Re.push(0,0),ve.setAttribute("uv",new hi(Re,2))}}if(U.current){U.current.geometry=new rce(n,i,r);const ve=$(Z,se)&&$(he,fe);if(ee(ve),f===yc.Glass&&ve){const Pe=be.calculatePolygonCentroid(n.map(be.mapVector3ToPoint2)),me=new ae(Pe.x,Pe.y,0),Re=.25,ze=new ae().addVectors(Z,me.clone().sub(Z).setZ(0).normalize().multiplyScalar(Re)),Ae=new ae().addVectors(he,me.clone().sub(he).setZ(0).normalize().multiplyScalar(Re)),re=new ae().addVectors(fe,me.clone().sub(fe).normalize().multiplyScalar(Re)),ge=new ae().addVectors(se,me.clone().sub(se).normalize().multiplyScalar(Re)),we=[];we.push(ze),we.push(Ae),we.push(re.setZ(Ae.z)),we.push(ge.setZ(ze.z)),we.push(ze.clone().setZ(1)),we.push(Ae.clone().setZ(1)),we.push(re.clone().setZ(1)),we.push(ge.clone().setZ(1));const ye=new es(new rce(we)),Te=ac.subtract(U.current,ye);if(U.current.geometry=Te.geometry,q(u)){const Ce=ze.distanceTo(Ae),Ee=Z.distanceTo(se);Y(Ce),J(Ee);const Ue=new ae().subVectors(Z,se).angleTo(new ae(0,-1,0));F.current&&(F.current.scale.set(Ce,Ee,1),F.current.rotation.set(Ue,0,0)),W.current&&W.current.rotation.set(Ue-Vt,0,0)}else{const Ce=Z.distanceTo(se),Ee=ze.distanceTo(Ae);Y(Ce),J(Ee);const Ue=new ae().subVectors(Z,se).angleTo(new ae(1,0,0));F.current&&(F.current.scale.set(Ce,Ee,1),F.current.rotation.set(0,Ue,0)),W.current&&W.current.rotation.set(Vt,Ue,0,"YXZ")}const Ie=(Z.z+se.z)/2+de*.75;F.current&&F.current.position.set(Pe.x,Pe.y,Ie),W.current&&W.current.position.set(Pe.x,Pe.y,Ie)}}E()},[n,i,r,u,Q,C,f]);const pe={points:n,angle:i,length:r},ne=a===Ui.Default||a===Ui.NoTexture?s:"white";return h.jsxs(h.Fragment,{children:[(D>0&&f===yc.Rafter||f!==yc.Rafter)&&h.jsx(h.Fragment,{children:h.jsx(gYe,{id:e,index:t,segment:pe,color:ne,sideColor:c??"white",texture:R,heatmap:l[t],transparent:H,opacity:D,windows:y,centroid:o})}),le&&le.map((Z,he)=>h.jsx(Fn,{points:Z,color:"gray",lineWidth:.5,dashed:!0,dashSize:.2,gapSize:.1,receiveShadow:!1,castShadow:!1,name:"Overhang Boundary "+he},he)),ie&&ie.map((Z,he)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:Z,name:"Heat Flux "+he,lineWidth:w??Gm,color:S??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:k.current?Z[B.current].clone().add(k.current):Z[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:N.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:S??g0})})]},he))]})},Fvt=Se.memo(Evt,BH),Lvt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new ae(0,0,e);for(let u=0;u{const[f,p,g,y]=u.points,A=[f.clone().sub(r),f];return h.jsx(Fn,{points:A,lineWidth:n,color:o},d)})]})]})}),y4=new ae,A4=new Qt,Wvt=new ae(0,0,1),Nvt=({roofModel:t,foundationModel:e})=>{let{id:n,parentId:o,cx:i,cy:r,lz:a,wallsId:l,leftRidgeLength:s,rightRidgeLength:c,textureType:u,color:d="white",sideColor:f="white",thickness:p=.2,locked:g,lineColor:y="black",lineWidth:A=.2,roofType:x,rise:C=a,ceiling:b=!1}=t;const v=M(jn),S=M(dn),w=M(hp),T=rye(l[0],o),P=jH(u),R=Hs(n),[H,D]=m.useState(!1),[E,L]=m.useState(ki.Null),[U,F]=m.useState(s),[W,B]=m.useState(c),{highestWallHeight:k,topZ:N}=aye(T,C);qW(t,k);const j=m.useRef(null),{gl:Y,camera:_}=Xi(),J=m.useMemo(()=>new Gs,[]),Q=m.useMemo(()=>new Gt,[]),ee=m.useRef(!1),$=m.useRef(C),q=C<.01;[y,A]=In.getWireframetStyle(y,A,R,g),m.useEffect(()=>{F(s)},[s]),m.useEffect(()=>{B(c)},[c]);const le=(We,De,Fe,_e=!1)=>{S(ot=>{for(const Ye of ot.elements)if(Ye.id===We&&Ye.type===z.Roof&&Ye.roofType===Vo.Hip){Ye.leftRidgeLength=De,Ye.rightRidgeLength=Fe,_e&&(ot.updateElementOnRoofFlag=!0);break}})},ie=(We,De,Fe,_e,ot)=>{const Ye={name:"Resize Hip Roof Ridge",timestamp:Date.now(),resizedElementId:We,resizedElementType:z.Roof,oldLeftRidgeLength:De,oldRightRidgeLength:Fe,newLeftRidgeLength:_e,newRightRidgeLength:ot,undo:()=>{le(Ye.resizedElementId,Ye.oldLeftRidgeLength,Ye.oldRightRidgeLength,!0)},redo:()=>{le(Ye.resizedElementId,Ye.newLeftRidgeLength,Ye.newRightRidgeLength,!0)}};M.getState().addUndoable(Ye)},pe=We=>{const De=[];for(const Fe of We)De.push({x:Fe.leftPoint.x,y:Fe.leftPoint.y});return De},ne=We=>{Q.x=We.offsetX/Y.domElement.clientWidth*2-1,Q.y=-(We.offsetY/Y.domElement.clientHeight)*2+1,J.setFromCamera(Q,_)},Z=(We,De,Fe,_e,ot)=>{We.push(De,Fe,_e),ot&&We.push(ot),We.push(De.clone().add(Pe),Fe.clone().add(Pe),_e.clone().add(Pe)),ot&&We.push(ot.clone().add(Pe))},he=()=>{if(T===null||T.length!==4)return 0;const We=T.map(_e=>_e.leftPoint),De=[se,oe,oe,se];let Fe=1/0;for(let _e=0;_e<4;_e++){const ot=T[_e],Ye=In.getDistance(We[_e],We[(_e+1)%4],De[_e]),St=Math.min((ot.eavesLength??0)/Ye*(De[_e].z-ot.lz),ot.lz),dt=In.getDistance(We[_e],We[(_e+1)%4],De[(_e+1)%4]),je=Math.min((ot.eavesLength??0)/dt*(De[(_e+1)%4].z-ot.lz),ot.lz);Fe=Math.min(Math.min(St,je),Fe)}return Number.isNaN(Fe)?0:Fe},fe=m.useMemo(()=>{if(T===null||T.length!==4)return new Gt;const We=pe(T),De=be.calculatePolygonCentroid(We);return new Gt(De.x,De.y)},[T]),se=m.useMemo(()=>{const We=new ae,De=new ae(fe.x,fe.y,N),Fe=v(l[0]);return Fe&&We.setX(-U).applyEuler(new Qt(0,0,Fe.relativeAngle)).add(De),We},[fe,N,U]),oe=m.useMemo(()=>{const We=new ae,De=new ae(fe.x,fe.y,N),Fe=v(l[0]);return Fe&&We.setX(W).applyEuler(new Qt(0,0,Fe.relativeAngle)).add(De),We},[fe,N,W]),de=m.useMemo(()=>new ae(fe.x,fe.y,N),[fe,N]),ve=m.useMemo(()=>T===null||T.length!==4?[]:T.map(We=>In.getComposedWallNormal(We).multiplyScalar(We.eavesLength)),[T]),Pe=m.useMemo(()=>Wvt.clone().multiplyScalar(p),[p]),me=m.useMemo(()=>T===null||T.length!==4?null:T.map((We,De)=>({leftPoint:We.leftPoint.clone().add(ve[De]),rightPoint:We.rightPoint.clone().add(ve[De])})),[T,ve]),Re=m.useMemo(()=>{const We=[];if(T===null||T.length!==4||me===null)return We;const De=he();for(let Fe=0;Fe<4;Fe++){const _e=[],ot=T[Fe],{lh:Ye,rh:St}=In.getComposedWallHeight(T,Fe),dt=In.getIntersectionPoint(me[(Fe+3)%4].leftPoint,me[(Fe+3)%4].rightPoint,me[Fe].leftPoint,me[Fe].rightPoint).setZ(Ye-De).sub(de),je=In.getIntersectionPoint(me[Fe].leftPoint,me[Fe].rightPoint,me[(Fe+1)%4].leftPoint,me[(Fe+1)%4].rightPoint).setZ(St-De).sub(de),at=new ae().addVectors(ot.leftPoint,ot.rightPoint).divideScalar(2),ut=se.clone().sub(de),wt=oe.clone().sub(de);let rt=0;switch(Fe){case 0:rt=at.clone().sub(de.clone().setZ(0)).length(),Z(_e,dt,je,wt,ut);break;case 1:rt=at.clone().sub(oe.clone().setZ(0)).length(),Z(_e,dt,je,wt);break;case 2:rt=at.clone().sub(de.clone().setZ(0)).length(),Z(_e,dt,je,ut,wt);break;case 3:rt=at.clone().sub(se.clone().setZ(0)).length(),Z(_e,dt,je,ut);break}We.push({points:_e,angle:-ot.relativeAngle,length:rt})}return We},[T,se,oe,N,p]),ze=m.useMemo(()=>!T||T.length!==4?null:T.map(We=>We.leftPoint),[T]);m.useEffect(()=>{if(T===null||T.length!==4)w(n,!1,!1,!0);else if(M.getState().addedRoofIdSet.has(n)){for(let De=0;De{for(const ot of _e.elements)if(ot.type===z.Wall&&Fe.has(ot.id)){const Ye=ot;Ye.roofId=n,Ye.leftRoofHeight=void 0,Ye.rightRoofHeight=void 0}})}M.getState().deleteAddedRoofId(n)}},[T]),sye(e,n,Re,de,N,p);const Ae=()=>{if(!T)return;const We=[];for(let De=0;De<4;De++){const Fe=T[De],{lh:_e,rh:ot}=In.getComposedWallHeight(T,De),Ye=Fe.leftPoint.clone().setZ(_e),St=Fe.rightPoint.clone().setZ(ot),dt=se.clone(),je=oe.clone();switch(De){case 0:We.push([Ye,St,je,dt]);break;case 1:We.push([Ye,St,je]);break;case 2:We.push([Ye,St,dt,je]);break;case 3:We.push([Ye,St,dt]);break}}if(q){const De=[];for(const Fe of We)De.push(Fe[0].clone());bn.getState().setRoofSegmentVerticesWithoutOverhang(n,[De])}else bn.getState().setRoofSegmentVerticesWithoutOverhang(n,We)},re=JW(n,new ae(fe.x,fe.y,N),Re,q,Vo.Hip);KW(Ae);const ge=M(We=>We.elements.filter(De=>De.parentId===n&&De.type===z.Window),a3),we=M(Vc),ye=gt(cs),Te=M(wf),Ie=bn(o1),[Ce,Ee]=m.useState(null),[Ue,Ne]=m.useState([]);m.useEffect(()=>{if(ye)if(C>0){const We=Re.length;if(We>0){const De=[];for(let Fe=0;Fe0&&e){const _e=new Qt(0,0,e.rotation[2],"ZYX");let ot=Number.MAX_VALUE,Ye=Number.MAX_VALUE,St=-Number.MAX_VALUE,dt=-Number.MAX_VALUE;for(const Qe of Fe)for(const Oe of Qe){const et=Oe.clone().applyEuler(_e);et.x>St&&(St=et.x),et.xdt&&(dt=et.y),et.y{VW(We,e.id,n,Re,de)},onPointerMove:We=>{XW(We,n)},onPointerUp:We=>{GW(We,t)},onContextMenu:We=>{dR(We,n)},children:q?h.jsx(tQ,{id:n,foundationModel:e,roofType:x,roofSegments:Re,center:new ae(fe.x,fe.y,N),thickness:p,lineWidth:A,lineColor:y,sideColor:f,color:qe,textureType:u,heatmap:Ce}):h.jsxs(h.Fragment,{children:[Re.map((We,De,Fe)=>h.jsx(kq,{id:n,index:De,foundationModel:e,roofType:x,segment:We,centroid:de,thickness:p,color:qe,sideColor:f,texture:P,heatmap:Ue&&De0&&ze&&h.jsx(dW,{cz:T[0].lz,points:ze}),R&&!g&&h.jsxs("group",{position:[0,0,p+.15],children:[h.jsx(Qf,{position:[se.x,se.y,se.z],onPointerDown:()=>{if(ee.current=!0,D(!0),y4.set(se.x,se.y,N),e&&T[0]){const We=M.getState().cameraDirection,De=Math.atan2(We.z,We.y),Fe=T[0].relativeAngle;A4.set(-Vt-De,0,Fe,"ZXY")}L(ki.Left),Ln.getState().setEnableOrbitController(!1)}}),h.jsx(Qf,{position:[de.x,de.y,de.z],onPointerDown:We=>{if(we(t.id,We,zo.Select),ee.current=!0,$.current=C,D(!0),y4.set(de.x,de.y,N),e){const De=-Math.atan2(_.position.x-i,_.position.y-r)-e.rotation[2];A4.set(-Vt,0,De,"ZXY")}L(ki.Mid),Ln.getState().setEnableOrbitController(!1),S(De=>{De.resizeHandleType=yt.Top,De.selectedElementHeight=N+t.thickness})},onPointerOver:()=>{S(We=>{We.hoveredHandle=ki.Mid,We.selectedElementHeight=N+t.thickness,We.selectedElementX=fe.x,We.selectedElementY=fe.y})}}),h.jsx(Qf,{position:[oe.x,oe.y,oe.z],onPointerDown:()=>{if(ee.current=!0,D(!0),y4.set(oe.x,oe.y,N),e&&T[0]){const We=M.getState().cameraDirection,De=Math.atan2(We.z,We.y),Fe=T[0].relativeAngle;A4.set(-Vt-De,0,Fe,"ZXY")}L(ki.Right),Ln.getState().setEnableOrbitController(!1)}})]}),H&&h.jsx(sa,{name:"Roof Intersection Plane",ref:j,args:[1e3,100],visible:!1,position:y4,rotation:A4,onPointerMove:We=>{if(j.current&&ee.current){ne(We);const De=J.intersectObjects([j.current]);if(De[0]&&e){const Fe=De[0].point;if(Fe.z<.001)return;const _e=T[0],ot=new ae().subVectors(_e.rightPoint,_e.leftPoint).length();switch(E){case ki.Left:{const Ye=de.clone().sub(y4).applyEuler(new Qt(0,0,-A4.z)),St=Fe.clone().sub(new ae(e.cx,e.cy,e.cz)).applyEuler(new Qt(0,0,-e.rotation[2])).sub(y4).applyEuler(new Qt(0,0,-A4.z)),dt=new ae().subVectors(St,Ye).x;F(be.clamp(-dt,-W+.1,ot/2-.01));break}case ki.Right:{const Ye=de.clone().sub(y4).applyEuler(new Qt(0,0,-A4.z)),St=Fe.clone().sub(new ae(e.cx,e.cy,e.cz)).applyEuler(new Qt(0,0,-e.rotation[2])).sub(y4).applyEuler(new Qt(0,0,-A4.z)),dt=new ae().subVectors(St,Ye).x;B(be.clamp(dt,-U+.1,ot/2-.01));break}case ki.Mid:{const Ye=Math.max(0,Fe.z-e.lz-.3-k);M.getState().updateRoofRiseById(n,Ye,N+t.thickness);break}}}}},onPointerUp:()=>{switch(E){case ki.Mid:{_W(n,$.current,C);break}case ki.Left:case ki.Right:le(n,U,W),ie(n,s,c,U,W)}ee.current=!1,D(!1),L(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},Uvt=Se.memo(Nvt,BH),nie=new ae,oie=new Qt,Bvt=new ae(0,0,1),jvt=Se.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{const i=m.useMemo(()=>t.reduce((s,c)=>s.concat(c.points[1]),[t[0].points[0]]),[t]),r=m.useMemo(()=>t.reduce((s,c)=>s.concat(c.points[6].clone()),[t[0].points[7].clone()]),[t]),a=m.useMemo(()=>h.jsx(Fn,{points:i,lineWidth:n,color:o}),[i,n,o]);if(t.length<2)return null;const l=Math.abs(t[0].points[0].z-t[0].points[3].z)<.1;return h.jsxs(h.Fragment,{children:[!l&&h.jsx(Fn,{points:r,lineWidth:n,color:o}),a,h.jsx("group",{position:[0,0,e],children:a}),t.map((s,c)=>h.jsxs(Se.Fragment,{children:[!l&&h.jsx(Fn,{points:[s.points[7],s.points[4]],lineWidth:n,color:o}),h.jsx(Fn,{points:[s.points[4],s.points[0]],lineWidth:n,color:o})]},c))]})}),Yvt=({roofModel:t,foundationModel:e})=>{let{id:n,wallsId:o,cx:i,cy:r,lz:a,textureType:l,color:s="white",sideColor:c="white",thickness:u=.2,locked:d,lineColor:f="black",lineWidth:p=.2,roofType:g,foundationId:y,ridgeWidth:A=1,rise:x=a,ceiling:C=!1,frontRidge:b,backRidge:v}=t;const S=jH(l),w=Hs(n);[f,p]=In.getWireframetStyle(f,p,w,d);const T=M(dn),P=M(hp),R=M(ss),H=M(st=>st.ray),D=M(st=>st.mouse),[E,L]=m.useState(A),[U,F]=m.useState(null),[W,B]=m.useState(!1),[k,N]=m.useState(ki.Null),[j,Y]=m.useState(null),_=m.useRef(E),J=m.useRef(x),Q=m.useRef(null),ee=m.useRef(!1),{gl:$,camera:q}=Xi(),le=x<.01,ie=st=>{const ft=[],Rt=st.length;for(const zt of st)zt.leftPoint[0]!==void 0&&zt.leftPoint[1]!==void 0&&ft.push({x:zt.leftPoint[0],y:zt.leftPoint[1]});return oe.current||(st[Rt-1].rightPoint[0]||st[Rt-1].rightPoint[0]===0)&&(st[Rt-1].rightPoint[1]||st[Rt-1].rightPoint[1]===0)&&ft.push({x:st[Rt-1].rightPoint[0],y:st[Rt-1].rightPoint[1]}),ft},pe=st=>{if(st{D.x=st.offsetX/$.domElement.clientWidth*2-1,D.y=-(st.offsetY/$.domElement.clientHeight)*2+1,H.setFromCamera(D,q)},Z=(st,ft)=>{T(Rt=>{for(const zt of Rt.elements)if(zt.id===st&&zt.type===z.Roof&&zt.roofType===Vo.Mansard){zt.ridgeWidth=ft;break}})},he=()=>{let st=1/0;for(let ft=0;ft{const Xe={name:"Resize Mansard Roof Ridge",timestamp:Date.now(),resizedElementId:st,resizedElementType:z.Roof,oldVal:Rt,newVal:zt,type:ft,undo:()=>{Z(Xe.resizedElementId,Xe.oldVal)},redo:()=>{Z(Xe.resizedElementId,Xe.newVal)}};M.getState().addUndoable(Xe)},{currentWallArray:se,isLoopRef:oe}=ZKe(y,n,o),{highestWallHeight:de,topZ:ve}=eqe(se,x);qW(t,de);const Pe=m.useMemo(()=>{if(se.length<2)return new ae;const st=ie(se),ft=be.calculatePolygonCentroid(st);return Number.isNaN(ft.x)||Number.isNaN(ft.y)?new ae:new ae(ft.x,ft.y,ve)},[se,ve]),me=m.useMemo(()=>{const st=se.map(ft=>In.getWallNormal(ft).multiplyScalar(ft.eavesLength??0));if(!oe.current&&st.length!==0){const ft=new ae().subVectors(new ae(se[se.length-1].rightPoint[0],se[se.length-1].rightPoint[1]),new ae(se[0].leftPoint[0],se[0].leftPoint[1])).applyEuler(ZV).normalize().multiplyScalar(.3);st.push(ft)}return st},[se]),Re=m.useMemo(()=>{const st=se.map((ft,Rt)=>({leftPoint:new ae(ft.leftPoint[0],ft.leftPoint[1]).add(me[Rt]),rightPoint:new ae(ft.rightPoint[0],ft.rightPoint[1]).add(me[Rt])}));return!oe.current&&st.length!==0&&st.push({leftPoint:new ae(se[se.length-1].rightPoint[0],se[se.length-1].rightPoint[1]).add(me[me.length-1]),rightPoint:new ae(se[0].leftPoint[0],se[0].leftPoint[1]).add(me[me.length-1])}),st},[se,me]),ze=m.useMemo(()=>{const st=se.map((ft,Rt)=>{const zt=new ae(ft.leftPoint[0],ft.leftPoint[1]),Xe=new ae(ft.rightPoint[0],ft.rightPoint[1]),ht=new ae().subVectors(Pe,zt).setZ(0).normalize().multiplyScalar(E),Je=new ae().subVectors(Pe,Xe).setZ(0).normalize().multiplyScalar(E);return zt.add(ht).setZ(ve),Xe.add(Je).setZ(ve),{leftPoint:zt,rightPoint:Xe}});return!oe.current&&st.length!==0&&st.push({leftPoint:st[st.length-1].rightPoint,rightPoint:st[0].leftPoint}),st},[se,Pe,E]),Ae=m.useMemo(()=>Bvt.clone().multiplyScalar(u),[u]),re=m.useMemo(()=>{const st=[];if(se.length<2)return st;const ft=he();for(let Rt=0;Rt0&&zt.rightPoint.length>0&&(zt.leftPoint[0]!==zt.rightPoint[0]||zt.leftPoint[1]!==zt.rightPoint[1])){const Xe=[];let{lh:ht,rh:Je}=In.getWallHeight(se,Rt);oe.current||(Rt===0&&(ht=se[0].lz),Rt===se.length-1&&(Je=se[se.length-1].lz));const mt=In.getIntersectionPoint(Re[(Rt+Re.length-1)%Re.length].leftPoint,Re[(Rt+Re.length-1)%Re.length].rightPoint,Re[Rt].leftPoint,Re[Rt].rightPoint).setZ(ht-ft).sub(Pe),Ge=In.getIntersectionPoint(Re[Rt].leftPoint,Re[Rt].rightPoint,Re[(Rt+1)%Re.length].leftPoint,Re[(Rt+1)%Re.length].rightPoint).setZ(Je-ft).sub(Pe),xt=ze[Rt].leftPoint.clone().sub(Pe),It=ze[Rt].rightPoint.clone().sub(Pe),Tt=new ae(zt.cx,zt.cy).sub(Pe.clone().setZ(0)).length();Xe.push(mt,Ge,It,xt),Xe.push(mt.clone().add(Ae),Ge.clone().add(Ae),It.clone().add(Ae),xt.clone().add(Ae)),st.push({points:Xe,angle:-zt.relativeAngle,length:Tt})}}if(!oe.current){const Rt=Re.length-1,zt=In.getIntersectionPoint(Re[Rt-1].leftPoint,Re[Rt-1].rightPoint,Re[Rt].leftPoint,Re[Rt].rightPoint).setZ(se[se.length-1].lz-ft).sub(Pe),Xe=In.getIntersectionPoint(Re[Rt].leftPoint,Re[Rt].rightPoint,Re[0].leftPoint,Re[0].rightPoint).setZ(se[0].lz-ft).sub(Pe),ht=ze[Rt].leftPoint.clone().sub(Pe),Je=ze[Rt].rightPoint.clone().sub(Pe);let mt=Math.atan2(Xe.y-zt.y,Xe.x-zt.x);mt=mt>=0?mt:(na+mt)%na;const Ge=new ae().addVectors(zt,Xe).setZ(0).divideScalar(2).length(),xt=[];xt.push(zt,Xe,Je,ht),xt.push(zt.clone().add(Ae),Xe.clone().add(Ae),Je.clone().add(Ae),ht.clone().add(Ae)),st.push({points:xt,angle:-mt,length:Ge})}return st},[se,ve,E,u]),ge=m.useMemo(()=>{const st=new Ml;if(ze.length>0){const ft=ze[0].leftPoint.clone().sub(Pe);st.moveTo(ft.x,ft.y);for(const Rt of ze){const zt=Rt.rightPoint.clone().sub(Pe);st.lineTo(zt.x,zt.y)}st.closePath()}return st},[se,ze]),we=m.useMemo(()=>{const st=[];if(se.length===0)return st;st.push(new ae().fromArray(se[0].leftPoint));for(const ft of se)st.push(new ae().fromArray(ft.rightPoint));return st},[se]);m.useEffect(()=>{A!==E&&L(A)},[A]),m.useEffect(()=>{if(se.length>1){if(M.getState().addedRoofIdSet.has(n)){for(let st=0;st{for(const Rt of ft.elements)if(Rt.id===se[st].id&&Rt.type===z.Wall){const zt=Rt;zt.roofId=n,zt.leftRoofHeight=void 0,zt.rightRoofHeight=void 0;break}});M.getState().deleteAddedRoofId(n)}}else P(n,!1,!1,!0)},[se]),sye(e,n,re,Pe,ve,u),m.useEffect(()=>{(b!==void 0||v!==void 0)&&T(st=>{for(const ft of st.elements)if(ft.type===z.Wall){const Rt=ft;Rt.roofId===n&&(Rt.centerLeftRoofHeight=void 0,Rt.centerRightRoofHeight=void 0)}else ft.type===z.Roof&&ft.roofType===Vo.Mansard&&ft.id===n&&(ft.frontRidge=void 0,ft.backRidge=void 0)})},[]);const ye=()=>{const st=[];for(let Rt=0;Rt0&&zt.rightPoint.length>0&&(zt.leftPoint[0]!==zt.rightPoint[0]||zt.leftPoint[1]!==zt.rightPoint[1])){let{lh:Xe,rh:ht}=In.getWallHeight(se,Rt);oe.current||(Rt===0&&(Xe=se[0].lz),Rt===se.length-1&&(ht=se[se.length-1].lz));const Je=new ae(zt.leftPoint[0],zt.leftPoint[1],Xe),mt=new ae(zt.rightPoint[0],zt.rightPoint[1],ht),Ge=ze[Rt].leftPoint.clone(),xt=ze[Rt].rightPoint.clone();st.push([Je,mt,xt,Ge])}}if(!oe.current){const Rt=se.length-1,zt=se[0],Xe=se[Rt],ht=new ae(Xe.rightPoint[0],Xe.rightPoint[1],Xe.lz),Je=new ae(zt.leftPoint[0],zt.leftPoint[1],zt.lz),mt=ze[Rt].leftPoint.clone(),Ge=ze[Rt].rightPoint.clone();st.push([ht,Je,Ge,mt])}const ft=ze.map(Rt=>Rt.leftPoint.clone());if(st.push(ft),le){const Rt=[];for(const zt of st.slice(0,-1))Rt.push(zt[0].clone());bn.getState().setRoofSegmentVerticesWithoutOverhang(n,[Rt])}else bn.getState().setRoofSegmentVerticesWithoutOverhang(n,st)},Te=JW(n,Pe,re,le,Vo.Mansard,ze.map(st=>st.leftPoint.clone().add(Ae)));KW(ye);const Ie=M.getState().world,Ce=M(Vc),Ee=gt(cs),Ue=M(wf),Ne=bn(o1),[Le,qe]=m.useState([]),[We,De]=m.useState(null),[Fe,_e]=m.useState(!1),ot=gt(i3),Ye=M(X2),St=M(q9),dt=M($9),je=bn($L),at=bn.getState().hourlyHeatExchangeArrayMap,ut=m.useRef(null),wt=m.useRef(0),rt=m.useRef(),Qe=m.useRef(),{transparent:Oe,opacity:et}=Z$();m.useEffect(()=>{if(Ee)if(le){const st=Ne(n);if(st){const ft=be.fetchHeatmapTexture(st,Ue??5);if(ft){const Rt=Te();if(Rt&&Rt.length>0&&e){const zt=new Qt(0,0,e.rotation[2],"ZYX");let Xe=Number.MAX_VALUE,ht=Number.MAX_VALUE,Je=-Number.MAX_VALUE,mt=-Number.MAX_VALUE;for(const Lt of Rt)for(const Et of Lt){const an=Et.clone().applyEuler(zt);an.x>Je&&(Je=an.x),an.xmt&&(mt=an.y),an.y{if(ut.current){const st=ge.extractPoints(1).shape,ft=.01,Rt=ut.current.geometry,zt=st.length-1;if(zt===4){const Xe=new Float32Array(18);Xe[0]=st[3].x,Xe[1]=st[3].y,Xe[2]=ft,Xe[3]=st[0].x,Xe[4]=st[0].y,Xe[5]=ft,Xe[6]=st[2].x,Xe[7]=st[2].y,Xe[8]=ft,Xe[9]=st[2].x,Xe[10]=st[2].y,Xe[11]=ft,Xe[12]=st[0].x,Xe[13]=st[0].y,Xe[14]=ft,Xe[15]=st[1].x,Xe[16]=st[1].y,Xe[17]=ft,Rt.setAttribute("position",new hi(Xe,3)),Rt.computeVertexNormals();const ht=Ee?1:6,Je=[];Je.push(0,0),Je.push(ht,0),Je.push(0,ht),Je.push(0,ht),Je.push(ht,0),Je.push(ht,ht),Rt.setAttribute("uv",new hi(Je,2))}else{const Xe=ut.current.geometry,ht=new Float32Array(zt*9),Je=Ee?1:6,mt=[];let Ge=Number.MAX_VALUE,xt=Number.MAX_VALUE,It=-Number.MAX_VALUE,Tt=-Number.MAX_VALUE;for(const Et of st)Et.x>It?It=Et.x:Et.xTt?Tt=Et.y:Et.y{if(!ot||e&&e.notBuilding)return;const st=at.get(n+"-"+re.length);if(!st)return;const ft=st.reduce((Oo,li)=>Oo+li,0),Rt=je(n);if(!Rt||!Rt[re.length])return;const zt=Rt[re.length].map(Oo=>Oo.clone().sub(Pe).add(new ae(0,0,Pe.z+u)));if(!zt)return;const Xe=K9*(Ie.solarRadiationHeatmapGridCellSize??.5),ht=zt[0].clone(),Je=zt[1].clone(),mt=zt[2].clone(),Ge=new ae().subVectors(Je,ht),xt=new ae().subVectors(mt,ht),It=new ae().subVectors(mt,Je),Tt=Ge.length(),Dt=new ae().crossVectors(xt,It).length()/Tt,Lt=Math.max(2,Math.floor(Tt/Xe)),Et=Math.max(2,Math.floor(Dt/Xe));Ge.normalize(),xt.normalize(),It.normalize();const an=new ae().crossVectors(xt,It).normalize(),Jt=Ge.multiplyScalar(.5*Tt/Lt),hn=new ae().crossVectors(an,Ge).normalize().multiplyScalar(.5*Dt/Et),cn=ht.clone().add(Jt).add(hn).add(new ae(0,0,u));Jt.multiplyScalar(2),hn.multiplyScalar(2),rt.current=an.clone().multiplyScalar(.1);const Sn=[],Pn=new ae,Un=new Array;for(const Oo of zt)Un.push({x:Oo.x,y:Oo.y});const Ai=be.getPolygonArea(Un);if(Ai===0)return;const vo=ft/Ai*(Ye??Vm);wt.current=vo<0?1:0,Qe.current=new Qt(-Math.sign(vo)*Vt,0,0);for(let Oo=0;Oost.elements.filter(ft=>ft.parentId===n&&ft.type===z.Window),a3),it=m.useMemo(()=>tt.map(st=>{const ft=new ae(st.lx,st.lz,st.ly*2),Rt=new ae(st.cx,st.cy,st.cz).sub(Pe),zt=new Qt().fromArray([st.rotation[0],st.rotation[1],st.rotation[2],"ZXY"]),Xe=new es(new X9(ft.x,ft.y,ft.z));return Xe.position.copy(Rt),Xe.rotation.copy(zt),Xe.updateMatrix(),Xe}),[tt,Pe]),At=l===Ui.NoTexture&&s&&s===c,Mt=R&&!Oe;return h.jsxs("group",{name:`Mansard Roof Group ${n}`,children:[h.jsx("group",{name:`Mansard Roof Segments Group ${n}`,position:[Pe.x,Pe.y,Pe.z],userData:ct,onPointerDown:st=>{VW(st,e.id,n,re,Pe)},onPointerMove:st=>{XW(st,n)},onPointerUp:st=>{GW(st,t)},onContextMenu:st=>{dR(st,n)},children:le?h.jsx(tQ,{id:n,foundationModel:e,roofType:g,roofSegments:re,center:new ae(Pe.x,Pe.y,ve),thickness:u,lineWidth:p,lineColor:f,sideColor:c,color:lt,textureType:l,heatmap:We}):h.jsxs(h.Fragment,{children:[re.map((st,ft,Rt)=>h.jsx(kq,{id:n,index:ft,foundationModel:e,roofType:g,segment:st,centroid:Pe,thickness:u,color:lt,sideColor:c,texture:S,heatmap:Le&&ft0&&h.jsx(jvt,{roofSegments:re,thickness:u,lineColor:f,lineWidth:p})]})}),C&&x>0&&h.jsx(dW,{points:we,cz:se[0].lz}),w&&!d&&h.jsxs("group",{position:[Pe.x,Pe.y,Pe.z+u],children:[h.jsx(Qf,{position:[0,0,.3],onPointerDown:st=>{if(Ce(t.id,st,zo.Select),ee.current=!0,J.current=x,B(!0),nie.set(Pe.x,Pe.y,ve),e){const ft=-Math.atan2(q.position.x-i,q.position.y-r)-e.rotation[2];oie.set(-Vt,0,ft,"ZXY")}N(ki.Top),Ln.getState().setEnableOrbitController(!1),T(ft=>{ft.resizeHandleType=yt.Top,ft.selectedElementHeight=ve+t.thickness})},onPointerOver:()=>{T(st=>{st.hoveredHandle=ki.Top,st.selectedElementHeight=ve+t.thickness,st.selectedElementX=Pe.x,st.selectedElementY=Pe.y})}}),ze.map((st,ft)=>{const Rt=st.leftPoint.clone().sub(Pe);return h.jsx(Qf,{position:[Rt.x,Rt.y,0],onPointerDown:()=>{ee.current=!0,B(!0),nie.set(Rt.x,Rt.y,ve+.15),oie.set(0,0,0),N(ki.Ridge),Y(ft),F(se.reduce((zt,Xe)=>Math.min(zt,new ae(Xe.leftPoint[0],Xe.leftPoint[1],ve).distanceTo(Pe)-1),1/0)),Ln.getState().setEnableOrbitController(!1),_.current=E}},ft)})]}),W&&h.jsx(sa,{name:"Roof Intersection Plane",ref:Q,args:[1e3,100],visible:!1,position:nie,rotation:oie,onPointerMove:st=>{if(Q.current&&ee.current){ne(st);const ft=H.intersectObjects([Q.current]);if(ft[0]&&e){const Rt=ft[0].point;if(Rt.z<.001)return;switch(k){case ki.Top:{const zt=Math.max(0,Rt.z-e.lz-.6-de);M.getState().updateRoofRiseById(n,zt,ve+t.thickness);break}case ki.Ridge:{if(e&&j!==null){const zt=Rt.clone().applyEuler(new Qt(0,0,e.rotation[2])).sub(new ae(e.cx,e.cy)).setZ(0),Xe=pe(j),ht=zt.distanceTo(Xe),Je=new ae().subVectors(Pe.clone().setZ(0),Xe);zt.clone().sub(Xe).angleTo(Je){switch(k){case ki.Top:{_W(n,J.current,x);break}case ki.Ridge:{fe(n,k,_.current,E);break}}T(st=>{for(const ft of st.elements)if(ft.id===n&&ft.type===z.Roof&&ft.roofType===Vo.Mansard){ft.ridgeWidth=E;break}}),ee.current=!1,B(!1),N(ki.Null),Y(null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})}),vt&&vt.map((st,ft)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:st,name:"Heat Flux "+ft,lineWidth:dt??Gm,color:St??g0}),";",h.jsx(cu,{userData:{unintersectable:!0},position:rt.current?st[wt.current].clone().add(rt.current):st[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:Qe.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:St??g0})})]},ft))]})},Ovt=Se.memo(Yvt,BH);var mYe={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var r="",a=0;a1&&arguments[1]!==void 0?arguments[1]:{},n=[];return Se.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(Qw(o)):wYe.isFragment(o)&&o.props?n=n.concat(Qw(o.props.children,e)):n.push(o))}),n}var xce={},Kvt=function(e){};function qvt(t,e){}function $vt(t,e){}function Qvt(){xce={}}function vYe(t,e,n){!e&&!xce[n]&&(t(!1,n),xce[n]=!0)}function U0(t,e){vYe(qvt,t,e)}function xYe(t,e){vYe($vt,t,e)}U0.preMessage=Kvt;U0.resetWarned=Qvt;U0.noteOnce=xYe;function gr(t){"@babel/helpers - typeof";return gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gr(t)}function Zvt(t,e){if(gr(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(gr(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function bYe(t){var e=Zvt(t,"string");return gr(e)==="symbol"?e:String(e)}function _t(t,e,n){return e=bYe(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function $we(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $t(t){for(var e=1;e0},t.prototype.connect_=function(){!Sce||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),axt?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){!Sce||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(e){var n=e.propertyName,o=n===void 0?"":n,i=rxt.some(function(r){return!!~o.indexOf(r)});i&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),TYe=function(t,e){for(var n=0,o=Object.keys(e);n"u"||!(Element instanceof Object))){if(!(e instanceof qC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(e)||(n.set(e,new gxt(e)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof qC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(e)&&(n.delete(e),n.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(n){n.isActive()&&e.activeObservations_.push(n)})},t.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,n=this.activeObservations_.map(function(o){return new mxt(o.target,o.broadcastRect())});this.callback_.call(e,n,e),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),CYe=typeof WeakMap<"u"?new WeakMap:new SYe,RYe=function(){function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=lxt.getInstance(),o=new yxt(e,n,this);CYe.set(this,o)}return t}();["observe","unobserve","disconnect"].forEach(function(t){RYe.prototype[t]=function(){var e;return(e=CYe.get(this))[t].apply(e,arguments)}});var Axt=function(){return typeof rG.ResizeObserver<"u"?rG.ResizeObserver:RYe}(),uw=new Map;function wxt(t){t.forEach(function(e){var n,o=e.target;(n=uw.get(o))===null||n===void 0||n.forEach(function(i){return i(o)})})}var HYe=new Axt(wxt);function vxt(t,e){uw.has(t)||(uw.set(t,new Set),HYe.observe(t)),uw.get(t).add(e)}function xxt(t,e){uw.has(t)&&(uw.get(t).delete(e),uw.get(t).size||(HYe.unobserve(t),uw.delete(t)))}function pp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Zwe(t,e){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function xl(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Sxt(t,e){if(e&&(gr(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return xl(t)}function pW(t){var e=bxt();return function(){var o=lG(t),i;if(e){var r=lG(this).constructor;i=Reflect.construct(o,arguments,r)}else i=o.apply(this,arguments);return Sxt(this,i)}}var Txt=function(t){hW(n,t);var e=pW(n);function n(){return pp(this,n),e.apply(this,arguments)}return gp(n,[{key:"render",value:function(){return this.props.children}}]),n}(m.Component);function Pxt(t,e){var n=t.children,o=t.disabled,i=m.useRef(null),r=m.useRef(null),a=m.useContext(bce),l=typeof n=="function",s=l?n(i):n,c=m.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),u=!l&&m.isValidElement(s)&&Zw(s),d=u?s.ref:null,f=z7(d,i),p=function(){var x;return rE(i.current)||(i.current&&gr(i.current)==="object"?rE((x=i.current)===null||x===void 0?void 0:x.nativeElement):null)||rE(r.current)};m.useImperativeHandle(e,function(){return p()});var g=m.useRef(t);g.current=t;var y=m.useCallback(function(A){var x=g.current,C=x.onResize,b=x.data,v=A.getBoundingClientRect(),S=v.width,w=v.height,T=A.offsetWidth,P=A.offsetHeight,R=Math.floor(S),H=Math.floor(w);if(c.current.width!==R||c.current.height!==H||c.current.offsetWidth!==T||c.current.offsetHeight!==P){var D={width:R,height:H,offsetWidth:T,offsetHeight:P};c.current=D;var E=T===Math.round(S)?S:T,L=P===Math.round(w)?w:P,U=$t($t({},D),{},{offsetWidth:E,offsetHeight:L});a==null||a(U,A,b),C&&Promise.resolve().then(function(){C(U,A)})}},[]);return m.useEffect(function(){var A=p();return A&&!o&&vxt(A,y),function(){return xxt(A,y)}},[i.current,o]),m.createElement(Txt,{ref:r},u?m.cloneElement(s,{ref:f}):s)}var Cxt=m.forwardRef(Pxt),Rxt="rc-observer-key";function Hxt(t,e){var n=t.children,o=typeof n=="function"?[n]:Qw(n);return o.map(function(i,r){var a=(i==null?void 0:i.key)||"".concat(Rxt,"-").concat(r);return m.createElement(Cxt,so({},t,{key:a,ref:r===0?e:void 0}),i)})}var xd=m.forwardRef(Hxt);xd.Collection=ext;function Tg(t){"@babel/helpers - typeof";return Tg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tg(t)}function Mxt(t,e){if(Tg(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(Tg(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Ixt(t){var e=Mxt(t,"string");return Tg(e)==="symbol"?e:String(e)}function zxt(t,e,n){return e=Ixt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function e7e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $C(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:1;t7e+=1;var o=t7e;function i(r){if(r===0)zYe(o),e();else{var a=MYe(function(){i(r-1)});wge.set(o,a)}}return i(n),o};Pg.cancel=function(t){var e=wge.get(t);return zYe(t),IYe(e)};function DYe(t){if(Array.isArray(t))return t}function Lxt(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;s=!1}else for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function Cce(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=4;++o,i-=4)n=t.charCodeAt(o)&255|(t.charCodeAt(++o)&255)<<8|(t.charCodeAt(++o)&255)<<16|(t.charCodeAt(++o)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,e=(n&65535)*1540483477+((n>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(i){case 3:e^=(t.charCodeAt(o+2)&255)<<16;case 2:e^=(t.charCodeAt(o+1)&255)<<8;case 1:e^=t.charCodeAt(o)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}function sp(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Rce(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var n=e;n;){if(n===t)return!0;n=n.parentNode}return!1}var n7e="data-rc-order",o7e="data-rc-priority",Uxt="rc-util-key",Hce=new Map;function FYe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith("data-")?e:"data-".concat(e):Uxt}function Gq(t){if(t.attachTo)return t.attachTo;var e=document.querySelector("head");return e||document.body}function Bxt(t){return t==="queue"?"prependQueue":t?"prepend":"append"}function LYe(t){return Array.from((Hce.get(t)||t).children).filter(function(e){return e.tagName==="STYLE"})}function WYe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!sp())return null;var n=e.csp,o=e.prepend,i=e.priority,r=i===void 0?0:i,a=Bxt(o),l=a==="prependQueue",s=document.createElement("style");s.setAttribute(n7e,a),l&&r&&s.setAttribute(o7e,"".concat(r)),n!=null&&n.nonce&&(s.nonce=n==null?void 0:n.nonce),s.innerHTML=t;var c=Gq(e),u=c.firstChild;if(o){if(l){var d=LYe(c).filter(function(f){if(!["prepend","prependQueue"].includes(f.getAttribute(n7e)))return!1;var p=Number(f.getAttribute(o7e)||0);return r>=p});if(d.length)return c.insertBefore(s,d[d.length-1].nextSibling),s}c.insertBefore(s,u)}else c.appendChild(s);return s}function NYe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Gq(e);return LYe(n).find(function(o){return o.getAttribute(FYe(e))===t})}function sG(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=NYe(t,e);if(n){var o=Gq(e);o.removeChild(n)}}function jxt(t,e){var n=Hce.get(t);if(!n||!Rce(document,n)){var o=WYe("",e),i=o.parentNode;Hce.set(t,i),t.removeChild(o)}}function lx(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=Gq(n);jxt(o,n);var i=NYe(e,n);if(i){var r,a;if((r=n.csp)!==null&&r!==void 0&&r.nonce&&i.nonce!==((a=n.csp)===null||a===void 0?void 0:a.nonce)){var l;i.nonce=(l=n.csp)===null||l===void 0?void 0:l.nonce}return i.innerHTML!==t&&(i.innerHTML=t),i}var s=WYe(t,n);return s.setAttribute(FYe(n),e),s}function Yxt(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function ir(t,e){if(t==null)return{};var n=Yxt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function e7(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=new Set;function i(r,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=o.has(r);if(U0(!s,"Warning: There may be circular references"),s)return!1;if(r===a)return!0;if(n&&l>1)return!1;o.add(r);var c=l+1;if(Array.isArray(r)){if(!Array.isArray(a)||r.length!==a.length)return!1;for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:!1,a={map:this.cache};return n.forEach(function(l){if(!a)a=void 0;else{var s;a=(s=a)===null||s===void 0||(s=s.map)===null||s===void 0?void 0:s.get(l)}}),(o=a)!==null&&o!==void 0&&o.value&&r&&(a.value[1]=this.cacheCallTimes++),(i=a)===null||i===void 0?void 0:i.value}},{key:"get",value:function(n){var o;return(o=this.internalGet(n,!0))===null||o===void 0?void 0:o[0]}},{key:"has",value:function(n){return!!this.internalGet(n)}},{key:"set",value:function(n,o){var i=this;if(!this.has(n)){if(this.size()+1>t.MAX_CACHE_SIZE+t.MAX_CACHE_OFFSET){var r=this.keys.reduce(function(c,u){var d=on(c,2),f=d[1];return i.internalGet(u)[1]0,void 0),i7e+=1}return gp(t,[{key:"getDerivativeToken",value:function(n){return this.derivatives.reduce(function(o,i){return i(n,o)},void 0)}}]),t}(),iie=new xge;function Ice(t){var e=Array.isArray(t)?t:[t];return iie.has(e)||iie.set(e,new UYe(e)),iie.get(e)}var Xxt=new WeakMap,rie={};function Jxt(t,e){for(var n=Xxt,o=0;o1&&arguments[1]!==void 0?arguments[1]:!1,n=r7e.get(t)||"";return n||(Object.keys(t).forEach(function(o){var i=t[o];n+=o,i instanceof UYe?n+=i.id:i&&gr(i)==="object"?n+=aE(i,e):n+=i}),e&&(n=Wk(n)),r7e.set(t,n)),n}function a7e(t,e){return Wk("".concat(e,"_").concat(aE(t,!0)))}var zce=sp();function Ut(t){return typeof t=="number"?"".concat(t,"px"):t}function cG(t,e,n){var o,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(r)return t;var a=$t($t({},i),{},(o={},_t(o,QC,e),_t(o,C2,n),o)),l=Object.keys(a).map(function(s){var c=a[s];return c?"".concat(s,'="').concat(c,'"'):null}).filter(function(s){return s}).join(" ");return"")}var BYe=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return"--".concat(n?"".concat(n,"-"):"").concat(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},Kxt=function(e,n,o){return Object.keys(e).length?".".concat(n).concat(o!=null&&o.scope?".".concat(o.scope):"","{").concat(Object.entries(e).map(function(i){var r=on(i,2),a=r[0],l=r[1];return"".concat(a,":").concat(l,";")}).join(""),"}"):""},jYe=function(e,n,o){var i={},r={};return Object.entries(e).forEach(function(a){var l,s,c=on(a,2),u=c[0],d=c[1];if(o!=null&&(l=o.preserve)!==null&&l!==void 0&&l[u])r[u]=d;else if((typeof d=="string"||typeof d=="number")&&!(o!=null&&(s=o.ignore)!==null&&s!==void 0&&s[u])){var f,p=BYe(u,o==null?void 0:o.prefix);i[p]=typeof d=="number"&&!(o!=null&&(f=o.unitless)!==null&&f!==void 0&&f[u])?"".concat(d,"px"):String(d),r[u]="var(".concat(p,")")}}),[r,Kxt(i,n,{scope:o==null?void 0:o.scope})]},l7e=sp()?m.useLayoutEffect:m.useEffect,Ba=function(e,n){var o=m.useRef(!0);l7e(function(){return e(o.current)},n),l7e(function(){return o.current=!1,function(){o.current=!0}},[])},sx=function(e,n){Ba(function(o){if(!o)return e()},n)},qxt=$t({},oK),s7e=qxt.useInsertionEffect,$xt=function(e,n,o){m.useMemo(e,o),Ba(function(){return n(!0)},o)},Qxt=s7e?function(t,e,n){return s7e(function(){return t(),e()},n)}:$xt,Zxt=$t({},oK),ebt=Zxt.useInsertionEffect,tbt=function(e){var n=[],o=!1;function i(r){o||n.push(r)}return m.useEffect(function(){return o=!1,function(){o=!0,n.length&&n.forEach(function(r){return r()})}},e),i},nbt=function(){return function(e){e()}},obt=typeof ebt<"u"?tbt:nbt;function bge(t,e,n,o,i){var r=m.useContext(Xq),a=r.cache,l=[t].concat(Wo(e)),s=Mce(l),c=obt([s]),u=function(g){a.opUpdate(s,function(y){var A=y||[void 0,void 0],x=on(A,2),C=x[0],b=C===void 0?0:C,v=x[1],S=v,w=S||n(),T=[b,w];return g?g(T):T})};m.useMemo(function(){u()},[s]);var d=a.opGet(s),f=d[1];return Qxt(function(){i==null||i(f)},function(p){return u(function(g){var y=on(g,2),A=y[0],x=y[1];return p&&A===0&&(i==null||i(f)),[A+1,x]}),function(){a.opUpdate(s,function(g){var y=g||[],A=on(y,2),x=A[0],C=x===void 0?0:x,b=A[1],v=C-1;return v===0?(c(function(){(p||!a.opGet(s))&&(o==null||o(b,!1))}),null):[C-1,b]})}},[s]),f}var ibt={},rbt="css",yv=new Map;function abt(t){yv.set(t,(yv.get(t)||0)+1)}function lbt(t,e){if(typeof document<"u"){var n=document.querySelectorAll("style[".concat(QC,'="').concat(t,'"]'));n.forEach(function(o){if(o[dw]===e){var i;(i=o.parentNode)===null||i===void 0||i.removeChild(o)}})}}var sbt=0;function cbt(t,e){yv.set(t,(yv.get(t)||0)-1);var n=Array.from(yv.keys()),o=n.filter(function(i){var r=yv.get(i)||0;return r<=0});n.length-o.length>sbt&&o.forEach(function(i){lbt(i,e),yv.delete(i)})}var ubt=function(e,n,o,i){var r=o.getDerivativeToken(e),a=$t($t({},r),n);return i&&(a=i(a)),a},YYe="token";function dbt(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=m.useContext(Xq),i=o.cache.instanceId,r=o.container,a=n.salt,l=a===void 0?"":a,s=n.override,c=s===void 0?ibt:s,u=n.formatToken,d=n.getComputedToken,f=n.cssVar,p=Jxt(function(){return Object.assign.apply(Object,[{}].concat(Wo(e)))},e),g=aE(p),y=aE(c),A=f?aE(f):"",x=bge(YYe,[l,t.id,g,y,A],function(){var C,b=d?d(p,c,t):ubt(p,c,t,u),v=$t({},b),S="";if(f){var w=jYe(b,f.key,{prefix:f.prefix,ignore:f.ignore,unitless:f.unitless,preserve:f.preserve}),T=on(w,2);b=T[0],S=T[1]}var P=a7e(b,l);b._tokenKey=P,v._tokenKey=a7e(v,l);var R=(C=f==null?void 0:f.key)!==null&&C!==void 0?C:P;b._themeKey=R,abt(R);var H="".concat(rbt,"-").concat(Wk(P));return b._hashId=H,[b,H,v,S,(f==null?void 0:f.key)||""]},function(C){cbt(C[0]._themeKey,i)},function(C){var b=on(C,4),v=b[0],S=b[3];if(f&&S){var w=lx(S,Wk("css-variables-".concat(v._themeKey)),{mark:C2,prepend:"queue",attachTo:r,priority:-999});w[dw]=i,w.setAttribute(QC,v._themeKey)}});return x}var fbt=function(e,n,o){var i=on(e,5),r=i[2],a=i[3],l=i[4],s=o||{},c=s.plain;if(!a)return null;var u=r._tokenKey,d=-999,f={"data-rc-order":"prependQueue","data-rc-priority":"".concat(d)},p=cG(a,l,u,f,c);return[d,u,p]},hbt={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},OYe="comm",_Ye="rule",VYe="decl",pbt="@import",gbt="@keyframes",mbt="@layer",ybt=Math.abs,Sge=String.fromCharCode;function GYe(t){return t.trim()}function S_(t,e,n){return t.replace(e,n)}function Abt(t,e){return t.indexOf(e)}function Nk(t,e){return t.charCodeAt(e)|0}function Uk(t,e,n){return t.slice(e,n)}function u6(t){return t.length}function wbt(t){return t.length}function eY(t,e){return e.push(t),t}var Jq=1,ZC=1,XYe=0,Jm=0,ou=0,PH="";function Tge(t,e,n,o,i,r,a,l){return{value:t,root:e,parent:n,type:o,props:i,children:r,line:Jq,column:ZC,length:a,return:"",siblings:l}}function vbt(){return ou}function xbt(){return ou=Jm>0?Nk(PH,--Jm):0,ZC--,ou===10&&(ZC=1,Jq--),ou}function R2(){return ou=Jm2||Dce(ou)>3?"":" "}function Pbt(t,e){for(;--e&&R2()&&!(ou<48||ou>102||ou>57&&ou<65||ou>70&&ou<97););return Kq(t,T_()+(e<6&&cx()==32&&R2()==32))}function Ece(t){for(;R2();)switch(ou){case t:return Jm;case 34:case 39:t!==34&&t!==39&&Ece(ou);break;case 40:t===41&&Ece(t);break;case 92:R2();break}return Jm}function Cbt(t,e){for(;R2()&&t+ou!==57;)if(t+ou===84&&cx()===47)break;return"/*"+Kq(e,Jm-1)+"*"+Sge(t===47?t:R2())}function Rbt(t){for(;!Dce(cx());)R2();return Kq(t,Jm)}function Hbt(t){return Sbt(P_("",null,null,null,[""],t=bbt(t),0,[0],t))}function P_(t,e,n,o,i,r,a,l,s){for(var c=0,u=0,d=a,f=0,p=0,g=0,y=1,A=1,x=1,C=0,b="",v=i,S=r,w=o,T=b;A;)switch(g=C,C=R2()){case 40:if(g!=108&&Nk(T,d-1)==58){Abt(T+=S_(aie(C),"&","&\f"),"&\f")!=-1&&(x=-1);break}case 34:case 39:case 91:T+=aie(C);break;case 9:case 10:case 13:case 32:T+=Tbt(g);break;case 92:T+=Pbt(T_()-1,7);continue;case 47:switch(cx()){case 42:case 47:eY(Mbt(Cbt(R2(),T_()),e,n,s),s);break;default:T+="/"}break;case 123*y:l[c++]=u6(T)*x;case 125*y:case 59:case 0:switch(C){case 0:case 125:A=0;case 59+u:x==-1&&(T=S_(T,/\f/g,"")),p>0&&u6(T)-d&&eY(p>32?u7e(T+";",o,n,d-1,s):u7e(S_(T," ","")+";",o,n,d-2,s),s);break;case 59:T+=";";default:if(eY(w=c7e(T,e,n,c,u,i,l,b,v=[],S=[],d,r),r),C===123)if(u===0)P_(T,e,w,w,v,r,d,l,S);else switch(f===99&&Nk(T,3)===110?100:f){case 100:case 108:case 109:case 115:P_(t,w,w,o&&eY(c7e(t,w,w,0,0,i,l,b,i,v=[],d,S),S),i,S,d,l,o?v:S);break;default:P_(T,w,w,w,[""],S,0,l,S)}}c=u=p=0,y=x=1,b=T="",d=a;break;case 58:d=1+u6(T),p=g;default:if(y<1){if(C==123)--y;else if(C==125&&y++==0&&xbt()==125)continue}switch(T+=Sge(C),C*y){case 38:x=u>0?1:(T+="\f",-1);break;case 44:l[c++]=(u6(T)-1)*x,x=1;break;case 64:cx()===45&&(T+=aie(R2())),f=cx(),u=d=u6(b=T+=Rbt(T_())),C++;break;case 45:g===45&&u6(T)==2&&(y=0)}}return r}function c7e(t,e,n,o,i,r,a,l,s,c,u,d){for(var f=i-1,p=i===0?r:[""],g=wbt(p),y=0,A=0,x=0;y0?p[C]+" "+b:S_(b,/&\f/g,p[C])))&&(s[x++]=v);return Tge(t,e,n,i===0?_Ye:l,s,c,u,d)}function Mbt(t,e,n,o){return Tge(t,e,n,OYe,Sge(vbt()),Uk(t,2,-2),0,o)}function u7e(t,e,n,o,i){return Tge(t,e,n,VYe,Uk(t,0,o),Uk(t,o+1,-1),o,i)}function kce(t,e){for(var n="",o=0;o1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},i=o.root,r=o.injectHash,a=o.parentSelectors,l=n.hashId,s=n.layer;n.path;var c=n.hashPriority,u=n.transformers,d=u===void 0?[]:u;n.linters;var f="",p={};function g(x){var C=x.getName(l);if(!p[C]){var b=t(x.style,n,{root:!1,parentSelectors:a}),v=on(b,1),S=v[0];p[C]="@keyframes ".concat(x.getName(l)).concat(S)}}function y(x){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return x.forEach(function(b){Array.isArray(b)?y(b,C):b&&C.push(b)}),C}var A=y(Array.isArray(e)?e:[e]);return A.forEach(function(x){var C=typeof x=="string"&&!i?{}:x;if(typeof C=="string")f+="".concat(C,` -`);else if(C._keyframe)g(C);else{var b=d.reduce(function(v,S){var w;return(S==null||(w=S.visit)===null||w===void 0?void 0:w.call(S,v))||v},C);Object.keys(b).forEach(function(v){var S=b[v];if(gr(S)==="object"&&S&&(v!=="animationName"||!S._keyframe)&&!Fbt(S)){var w=!1,T=v.trim(),P=!1;(i||r)&&l?T.startsWith("@")?w=!0:T=Lbt(v,l,c):i&&!l&&(T==="&"||T==="")&&(T="",P=!0);var R=t(S,n,{root:P,injectHash:w,parentSelectors:[].concat(Wo(a),[T])}),H=on(R,2),D=H[0],E=H[1];p=$t($t({},p),E),f+="".concat(T).concat(D)}else{let F=function(W,B){var k=W.replace(/[A-Z]/g,function(j){return"-".concat(j.toLowerCase())}),N=B;!hbt[W]&&typeof N=="number"&&N!==0&&(N="".concat(N,"px")),W==="animationName"&&B!==null&&B!==void 0&&B._keyframe&&(g(B),N=B.getName(l)),f+="".concat(k,":").concat(N,";")};var L,U=(L=S==null?void 0:S.value)!==null&&L!==void 0?L:S;gr(S)==="object"&&S!==null&&S!==void 0&&S[qYe]&&Array.isArray(U)?U.forEach(function(W){F(v,W)}):F(v,U)}})}}),i?s&&(f="@layer ".concat(s.name," {").concat(f,"}"),s.dependencies&&(p["@layer ".concat(s.name)]=s.dependencies.map(function(x){return"@layer ".concat(x,", ").concat(s.name,";")}).join(` -`))):f="{".concat(f,"}"),[f,p]};function $Ye(t,e){return Wk("".concat(t.join("%")).concat(e))}function Nbt(){return null}var QYe="style";function Fce(t,e){var n=t.token,o=t.path,i=t.hashId,r=t.layer,a=t.nonce,l=t.clientOnly,s=t.order,c=s===void 0?0:s,u=m.useContext(Xq),d=u.autoClear;u.mock;var f=u.defaultCache,p=u.hashPriority,g=u.container,y=u.ssrInline,A=u.transformers,x=u.linters,C=u.cache,b=u.layer,v=n._tokenKey,S=[v];b&&S.push("layer"),S.push.apply(S,Wo(o));var w=zce,T=bge(QYe,S,function(){var E=S.join("|");if(Dbt(E)){var L=Ebt(E),U=on(L,2),F=U[0],W=U[1];if(F)return[F,v,W,{},l,c]}var B=e(),k=Wbt(B,{hashId:i,hashPriority:p,layer:b?r:void 0,path:o.join("-"),transformers:A,linters:x}),N=on(k,2),j=N[0],Y=N[1],_=C_(j),J=$Ye(S,_);return[_,v,J,Y,l,c]},function(E,L){var U=on(E,3),F=U[2];(L||d)&&zce&&sG(F,{mark:C2})},function(E){var L=on(E,4),U=L[0];L[1];var F=L[2],W=L[3];if(w&&U!==JYe){var B={mark:C2,prepend:b?!1:"queue",attachTo:g,priority:c},k=typeof a=="function"?a():a;k&&(B.csp={nonce:k});var N=[],j=[];Object.keys(W).forEach(function(_){_.startsWith("@layer")?N.push(_):j.push(_)}),N.forEach(function(_){lx(C_(W[_]),"_layer-".concat(_),$t($t({},B),{},{prepend:!0}))});var Y=lx(U,F,B);Y[dw]=C.instanceId,Y.setAttribute(QC,v),j.forEach(function(_){lx(C_(W[_]),"_effect-".concat(_),B)})}}),P=on(T,3),R=P[0],H=P[1],D=P[2];return function(E){var L;if(!y||w||!f)L=m.createElement(Nbt,null);else{var U;L=m.createElement("style",so({},(U={},_t(U,QC,H),_t(U,C2,D),U),{dangerouslySetInnerHTML:{__html:R}}))}return m.createElement(m.Fragment,null,L,E)}}var Ubt=function(e,n,o){var i=on(e,6),r=i[0],a=i[1],l=i[2],s=i[3],c=i[4],u=i[5],d=o||{},f=d.plain;if(c)return null;var p=r,g={"data-rc-order":"prependQueue","data-rc-priority":"".concat(u)};return p=cG(r,a,l,g,f),s&&Object.keys(s).forEach(function(y){if(!n[y]){n[y]=!0;var A=C_(s[y]),x=cG(A,a,"_effect-".concat(y),g,f);y.startsWith("@layer")?p=x+p:p+=x}}),[u,l,p]},ZYe="cssVar",Bbt=function(e,n){var o=e.key,i=e.prefix,r=e.unitless,a=e.ignore,l=e.token,s=e.scope,c=s===void 0?"":s,u=m.useContext(Xq),d=u.cache.instanceId,f=u.container,p=l._tokenKey,g=[].concat(Wo(e.path),[o,c,p]),y=bge(ZYe,g,function(){var A=n(),x=jYe(A,o,{prefix:i,unitless:r,ignore:a,scope:c}),C=on(x,2),b=C[0],v=C[1],S=$Ye(g,v);return[b,v,S,o]},function(A){var x=on(A,3),C=x[2];zce&&sG(C,{mark:C2})},function(A){var x=on(A,3),C=x[1],b=x[2];if(C){var v=lx(C,b,{mark:C2,prepend:"queue",attachTo:f,priority:-999});v[dw]=d,v.setAttribute(QC,o)}});return y},jbt=function(e,n,o){var i=on(e,4),r=i[1],a=i[2],l=i[3],s=o||{},c=s.plain;if(!r)return null;var u=-999,d={"data-rc-order":"prependQueue","data-rc-priority":"".concat(u)},f=cG(r,l,a,d,c);return[u,a,f]},Az;Az={},_t(Az,QYe,Ubt),_t(Az,YYe,fbt),_t(Az,ZYe,jbt);var ul=function(){function t(e,n){pp(this,t),_t(this,"name",void 0),_t(this,"style",void 0),_t(this,"_keyframe",!0),this.name=e,this.style=n}return gp(t,[{key:"getName",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return n?"".concat(n,"-").concat(this.name):this.name}}]),t}();function wT(t){return t.notSplit=!0,t}wT(["borderTop","borderBottom"]),wT(["borderTop"]),wT(["borderBottom"]),wT(["borderLeft","borderRight"]),wT(["borderLeft"]),wT(["borderRight"]);var Pge=m.createContext({});function Cge(t,e,n){var o=m.useRef({});return(!("value"in o.current)||n(o.current.condition,e))&&(o.current.value=t(),o.current.condition=e),o.current.value}function Lce(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&o&&n===void 0&&!Wce(t,e.slice(0,-1))?t:iOe(t,e,n,o)}function Vbt(t){return Tg(t)==="object"&&t!==null&&Object.getPrototypeOf(t)===Object.prototype}function f7e(t){return Array.isArray(t)?[]:{}}var Gbt=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function Xbt(){for(var t=arguments.length,e=new Array(t),n=0;n{const t=()=>{};return t.deprecated=Jbt,t},qbt=m.createContext(void 0);var rOe={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},$bt={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};const aOe={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},uG={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},$bt),timePickerLocale:Object.assign({},aOe)},I1="${label} is not a valid ${type}",t7={locale:"en",Pagination:rOe,DatePicker:uG,TimePicker:aOe,Calendar:uG,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:I1,method:I1,array:I1,object:I1,number:I1,date:I1,boolean:I1,integer:I1,float:I1,regexp:I1,email:I1,url:I1,hex:I1},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};let R_=Object.assign({},t7.Modal),H_=[];const h7e=()=>H_.reduce((t,e)=>Object.assign(Object.assign({},t),e),t7.Modal);function Qbt(t){if(t){const e=Object.assign({},t);return H_.push(e),R_=h7e(),()=>{H_=H_.filter(n=>n!==e),R_=h7e()}}R_=Object.assign({},t7.Modal)}function lOe(){return R_}const Hge=m.createContext(void 0),D7=(t,e)=>{const n=m.useContext(Hge),o=m.useMemo(()=>{var r;const a=e||t7[t],l=(r=n==null?void 0:n[t])!==null&&r!==void 0?r:{};return Object.assign(Object.assign({},typeof a=="function"?a():a),l||{})},[t,e,n]),i=m.useMemo(()=>{const r=n==null?void 0:n.locale;return n!=null&&n.exist&&!r?t7.locale:r},[n]);return[o,i]},Zbt="internalMark",eSt=t=>{const{locale:e={},children:n,_ANT_MARK__:o}=t;m.useEffect(()=>Qbt(e&&e.Modal),[e]);const i=m.useMemo(()=>Object.assign(Object.assign({},e),{exist:!0}),[e]);return m.createElement(Hge.Provider,{value:i},n)};function cf(t,e){tSt(t)&&(t="100%");var n=nSt(t);return t=e===360?t:Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(String(t*e),10)/100),Math.abs(t-e)<1e-6?1:(e===360?t=(t<0?t%e+e:t%e)/parseFloat(String(e)):t=t%e/parseFloat(String(e)),t)}function tY(t){return Math.min(1,Math.max(0,t))}function tSt(t){return typeof t=="string"&&t.indexOf(".")!==-1&&parseFloat(t)===1}function nSt(t){return typeof t=="string"&&t.indexOf("%")!==-1}function sOe(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function nY(t){return t<=1?"".concat(Number(t)*100,"%"):t}function Ev(t){return t.length===1?"0"+t:String(t)}function oSt(t,e,n){return{r:cf(t,255)*255,g:cf(e,255)*255,b:cf(n,255)*255}}function p7e(t,e,n){t=cf(t,255),e=cf(e,255),n=cf(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r=0,a=0,l=(o+i)/2;if(o===i)a=0,r=0;else{var s=o-i;switch(a=l>.5?s/(2-o-i):s/(o+i),o){case t:r=(e-n)/s+(e1&&(n-=1),n<1/6?t+(e-t)*(6*n):n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function iSt(t,e,n){var o,i,r;if(t=cf(t,360),e=cf(e,100),n=cf(n,100),e===0)i=n,r=n,o=n;else{var a=n<.5?n*(1+e):n+e-n*e,l=2*n-a;o=sie(l,a,t+1/3),i=sie(l,a,t),r=sie(l,a,t-1/3)}return{r:o*255,g:i*255,b:r*255}}function dG(t,e,n){t=cf(t,255),e=cf(e,255),n=cf(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r=0,a=o,l=o-i,s=o===0?0:l/o;if(o===i)r=0;else{switch(o){case t:r=(e-n)/l+(e>16,g:(t&65280)>>8,b:t&255}}var Nce={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function d2(t){var e={r:0,g:0,b:0},n=1,o=null,i=null,r=null,a=!1,l=!1;return typeof t=="string"&&(t=dSt(t)),typeof t=="object"&&(K3(t.r)&&K3(t.g)&&K3(t.b)?(e=oSt(t.r,t.g,t.b),a=!0,l=String(t.r).substr(-1)==="%"?"prgb":"rgb"):K3(t.h)&&K3(t.s)&&K3(t.v)?(o=nY(t.s),i=nY(t.v),e=rSt(t.h,o,i),a=!0,l="hsv"):K3(t.h)&&K3(t.s)&&K3(t.l)&&(o=nY(t.s),r=nY(t.l),e=iSt(t.h,o,r),a=!0,l="hsl"),Object.prototype.hasOwnProperty.call(t,"a")&&(n=t.a)),n=sOe(n),{ok:a,format:t.format||l,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:n}}var cSt="[-\\+]?\\d+%?",uSt="[-\\+]?\\d*\\.\\d+%?",fw="(?:".concat(uSt,")|(?:").concat(cSt,")"),cie="[\\s|\\(]+(".concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")\\s*\\)?"),uie="[\\s|\\(]+(".concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")\\s*\\)?"),Vy={CSS_UNIT:new RegExp(fw),rgb:new RegExp("rgb"+cie),rgba:new RegExp("rgba"+uie),hsl:new RegExp("hsl"+cie),hsla:new RegExp("hsla"+uie),hsv:new RegExp("hsv"+cie),hsva:new RegExp("hsva"+uie),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function dSt(t){if(t=t.trim().toLowerCase(),t.length===0)return!1;var e=!1;if(Nce[t])t=Nce[t],e=!0;else if(t==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=Vy.rgb.exec(t);return n?{r:n[1],g:n[2],b:n[3]}:(n=Vy.rgba.exec(t),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Vy.hsl.exec(t),n?{h:n[1],s:n[2],l:n[3]}:(n=Vy.hsla.exec(t),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Vy.hsv.exec(t),n?{h:n[1],s:n[2],v:n[3]}:(n=Vy.hsva.exec(t),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Vy.hex8.exec(t),n?{r:B1(n[1]),g:B1(n[2]),b:B1(n[3]),a:g7e(n[4]),format:e?"name":"hex8"}:(n=Vy.hex6.exec(t),n?{r:B1(n[1]),g:B1(n[2]),b:B1(n[3]),format:e?"name":"hex"}:(n=Vy.hex4.exec(t),n?{r:B1(n[1]+n[1]),g:B1(n[2]+n[2]),b:B1(n[3]+n[3]),a:g7e(n[4]+n[4]),format:e?"name":"hex8"}:(n=Vy.hex3.exec(t),n?{r:B1(n[1]+n[1]),g:B1(n[2]+n[2]),b:B1(n[3]+n[3]),format:e?"name":"hex"}:!1)))))))))}function K3(t){return!!Vy.CSS_UNIT.exec(String(t))}var Il=function(){function t(e,n){e===void 0&&(e=""),n===void 0&&(n={});var o;if(e instanceof t)return e;typeof e=="number"&&(e=sSt(e)),this.originalInput=e;var i=d2(e);this.originalInput=e,this.r=i.r,this.g=i.g,this.b=i.b,this.a=i.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=n.format)!==null&&o!==void 0?o:i.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=i.ok}return t.prototype.isDark=function(){return this.getBrightness()<128},t.prototype.isLight=function(){return!this.isDark()},t.prototype.getBrightness=function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},t.prototype.getLuminance=function(){var e=this.toRgb(),n,o,i,r=e.r/255,a=e.g/255,l=e.b/255;return r<=.03928?n=r/12.92:n=Math.pow((r+.055)/1.055,2.4),a<=.03928?o=a/12.92:o=Math.pow((a+.055)/1.055,2.4),l<=.03928?i=l/12.92:i=Math.pow((l+.055)/1.055,2.4),.2126*n+.7152*o+.0722*i},t.prototype.getAlpha=function(){return this.a},t.prototype.setAlpha=function(e){return this.a=sOe(e),this.roundA=Math.round(100*this.a)/100,this},t.prototype.isMonochrome=function(){var e=this.toHsl().s;return e===0},t.prototype.toHsv=function(){var e=dG(this.r,this.g,this.b);return{h:e.h*360,s:e.s,v:e.v,a:this.a}},t.prototype.toHsvString=function(){var e=dG(this.r,this.g,this.b),n=Math.round(e.h*360),o=Math.round(e.s*100),i=Math.round(e.v*100);return this.a===1?"hsv(".concat(n,", ").concat(o,"%, ").concat(i,"%)"):"hsva(".concat(n,", ").concat(o,"%, ").concat(i,"%, ").concat(this.roundA,")")},t.prototype.toHsl=function(){var e=p7e(this.r,this.g,this.b);return{h:e.h*360,s:e.s,l:e.l,a:this.a}},t.prototype.toHslString=function(){var e=p7e(this.r,this.g,this.b),n=Math.round(e.h*360),o=Math.round(e.s*100),i=Math.round(e.l*100);return this.a===1?"hsl(".concat(n,", ").concat(o,"%, ").concat(i,"%)"):"hsla(".concat(n,", ").concat(o,"%, ").concat(i,"%, ").concat(this.roundA,")")},t.prototype.toHex=function(e){return e===void 0&&(e=!1),fG(this.r,this.g,this.b,e)},t.prototype.toHexString=function(e){return e===void 0&&(e=!1),"#"+this.toHex(e)},t.prototype.toHex8=function(e){return e===void 0&&(e=!1),aSt(this.r,this.g,this.b,this.a,e)},t.prototype.toHex8String=function(e){return e===void 0&&(e=!1),"#"+this.toHex8(e)},t.prototype.toHexShortString=function(e){return e===void 0&&(e=!1),this.a===1?this.toHexString(e):this.toHex8String(e)},t.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},t.prototype.toRgbString=function(){var e=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(e,", ").concat(n,", ").concat(o,")"):"rgba(".concat(e,", ").concat(n,", ").concat(o,", ").concat(this.roundA,")")},t.prototype.toPercentageRgb=function(){var e=function(n){return"".concat(Math.round(cf(n,255)*100),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},t.prototype.toPercentageRgbString=function(){var e=function(n){return Math.round(cf(n,255)*100)};return this.a===1?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},t.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var e="#"+fG(this.r,this.g,this.b,!1),n=0,o=Object.entries(Nce);n=0,r=!n&&i&&(e.startsWith("hex")||e==="name");return r?e==="name"&&this.a===0?this.toName():this.toRgbString():(e==="rgb"&&(o=this.toRgbString()),e==="prgb"&&(o=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(o=this.toHexString()),e==="hex3"&&(o=this.toHexString(!0)),e==="hex4"&&(o=this.toHex8String(!0)),e==="hex8"&&(o=this.toHex8String()),e==="name"&&(o=this.toName()),e==="hsl"&&(o=this.toHslString()),e==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},t.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},t.prototype.clone=function(){return new t(this.toString())},t.prototype.lighten=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.l+=e/100,n.l=tY(n.l),new t(n)},t.prototype.brighten=function(e){e===void 0&&(e=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(e/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(e/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(e/100)))),new t(n)},t.prototype.darken=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.l-=e/100,n.l=tY(n.l),new t(n)},t.prototype.tint=function(e){return e===void 0&&(e=10),this.mix("white",e)},t.prototype.shade=function(e){return e===void 0&&(e=10),this.mix("black",e)},t.prototype.desaturate=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.s-=e/100,n.s=tY(n.s),new t(n)},t.prototype.saturate=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.s+=e/100,n.s=tY(n.s),new t(n)},t.prototype.greyscale=function(){return this.desaturate(100)},t.prototype.spin=function(e){var n=this.toHsl(),o=(n.h+e)%360;return n.h=o<0?360+o:o,new t(n)},t.prototype.mix=function(e,n){n===void 0&&(n=50);var o=this.toRgb(),i=new t(e).toRgb(),r=n/100,a={r:(i.r-o.r)*r+o.r,g:(i.g-o.g)*r+o.g,b:(i.b-o.b)*r+o.b,a:(i.a-o.a)*r+o.a};return new t(a)},t.prototype.analogous=function(e,n){e===void 0&&(e=6),n===void 0&&(n=30);var o=this.toHsl(),i=360/n,r=[this];for(o.h=(o.h-(i*e>>1)+720)%360;--e;)o.h=(o.h+i)%360,r.push(new t(o));return r},t.prototype.complement=function(){var e=this.toHsl();return e.h=(e.h+180)%360,new t(e)},t.prototype.monochromatic=function(e){e===void 0&&(e=6);for(var n=this.toHsv(),o=n.h,i=n.s,r=n.v,a=[],l=1/e;e--;)a.push(new t({h:o,s:i,v:r})),r=(r+l)%1;return a},t.prototype.splitcomplement=function(){var e=this.toHsl(),n=e.h;return[this,new t({h:(n+72)%360,s:e.s,l:e.l}),new t({h:(n+216)%360,s:e.s,l:e.l})]},t.prototype.onBackground=function(e){var n=this.toRgb(),o=new t(e).toRgb(),i=n.a+o.a*(1-n.a);return new t({r:(n.r*n.a+o.r*o.a*(1-n.a))/i,g:(n.g*n.a+o.g*o.a*(1-n.a))/i,b:(n.b*n.a+o.b*o.a*(1-n.a))/i,a:i})},t.prototype.triad=function(){return this.polyad(3)},t.prototype.tetrad=function(){return this.polyad(4)},t.prototype.polyad=function(e){for(var n=this.toHsl(),o=n.h,i=[this],r=360/e,a=1;a=60&&Math.round(t.h)<=240?o=n?Math.round(t.h)-oY*e:Math.round(t.h)+oY*e:o=n?Math.round(t.h)+oY*e:Math.round(t.h)-oY*e,o<0?o+=360:o>=360&&(o-=360),o}function w7e(t,e,n){if(t.h===0&&t.s===0)return t.s;var o;return n?o=t.s-m7e*e:e===uOe?o=t.s+m7e:o=t.s+fSt*e,o>1&&(o=1),n&&e===cOe&&o>.1&&(o=.1),o<.06&&(o=.06),Number(o.toFixed(2))}function v7e(t,e,n){var o;return n?o=t.v+hSt*e:o=t.v-pSt*e,o>1&&(o=1),Number(o.toFixed(2))}function eR(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=d2(t),i=cOe;i>0;i-=1){var r=y7e(o),a=iY(d2({h:A7e(r,i,!0),s:w7e(r,i,!0),v:v7e(r,i,!0)}));n.push(a)}n.push(iY(o));for(var l=1;l<=uOe;l+=1){var s=y7e(o),c=iY(d2({h:A7e(s,l),s:w7e(s,l),v:v7e(s,l)}));n.push(c)}return e.theme==="dark"?gSt.map(function(u){var d=u.index,f=u.opacity,p=iY(mSt(d2(e.backgroundColor||"#141414"),d2(n[d]),f*100));return p}):n}var die={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},M_={},fie={};Object.keys(die).forEach(function(t){M_[t]=eR(die[t]),M_[t].primary=M_[t][5],fie[t]=eR(die[t],{theme:"dark",backgroundColor:"#141414"}),fie[t].primary=fie[t][5]});var ySt=M_.gold;const dOe={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},Bk=Object.assign(Object.assign({},dOe),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, + */var yge=Symbol.for("react.element"),Age=Symbol.for("react.portal"),Fq=Symbol.for("react.fragment"),Lq=Symbol.for("react.strict_mode"),Wq=Symbol.for("react.profiler"),Nq=Symbol.for("react.provider"),Uq=Symbol.for("react.context"),Vvt=Symbol.for("react.server_context"),Bq=Symbol.for("react.forward_ref"),jq=Symbol.for("react.suspense"),Yq=Symbol.for("react.suspense_list"),Oq=Symbol.for("react.memo"),_q=Symbol.for("react.lazy"),Gvt=Symbol.for("react.offscreen"),AYe;AYe=Symbol.for("react.module.reference");function ny(t){if(typeof t=="object"&&t!==null){var e=t.$$typeof;switch(e){case yge:switch(t=t.type,t){case Fq:case Wq:case Lq:case jq:case Yq:return t;default:switch(t=t&&t.$$typeof,t){case Vvt:case Uq:case Bq:case _q:case Oq:case Nq:return t;default:return e}}case Age:return e}}}us.ContextConsumer=Uq;us.ContextProvider=Nq;us.Element=yge;us.ForwardRef=Bq;us.Fragment=Fq;us.Lazy=_q;us.Memo=Oq;us.Portal=Age;us.Profiler=Wq;us.StrictMode=Lq;us.Suspense=jq;us.SuspenseList=Yq;us.isAsyncMode=function(){return!1};us.isConcurrentMode=function(){return!1};us.isContextConsumer=function(t){return ny(t)===Uq};us.isContextProvider=function(t){return ny(t)===Nq};us.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===yge};us.isForwardRef=function(t){return ny(t)===Bq};us.isFragment=function(t){return ny(t)===Fq};us.isLazy=function(t){return ny(t)===_q};us.isMemo=function(t){return ny(t)===Oq};us.isPortal=function(t){return ny(t)===Age};us.isProfiler=function(t){return ny(t)===Wq};us.isStrictMode=function(t){return ny(t)===Lq};us.isSuspense=function(t){return ny(t)===jq};us.isSuspenseList=function(t){return ny(t)===Yq};us.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===Fq||t===Wq||t===Lq||t===jq||t===Yq||t===Gvt||typeof t=="object"&&t!==null&&(t.$$typeof===_q||t.$$typeof===Oq||t.$$typeof===Nq||t.$$typeof===Uq||t.$$typeof===Bq||t.$$typeof===AYe||t.getModuleId!==void 0)};us.typeOf=ny;yYe.exports=us;var wYe=yYe.exports;function Qw(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[];return Se.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(Qw(o)):wYe.isFragment(o)&&o.props?n=n.concat(Qw(o.props.children,e)):n.push(o))}),n}var xce={},Xvt=function(e){};function Jvt(t,e){}function Kvt(t,e){}function qvt(){xce={}}function vYe(t,e,n){!e&&!xce[n]&&(t(!1,n),xce[n]=!0)}function U0(t,e){vYe(Jvt,t,e)}function xYe(t,e){vYe(Kvt,t,e)}U0.preMessage=Xvt;U0.resetWarned=qvt;U0.noteOnce=xYe;function gr(t){"@babel/helpers - typeof";return gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gr(t)}function $vt(t,e){if(gr(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(gr(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function bYe(t){var e=$vt(t,"string");return gr(e)==="symbol"?e:String(e)}function _t(t,e,n){return e=bYe(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function $we(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $t(t){for(var e=1;e0},t.prototype.connect_=function(){!Sce||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),ixt?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){!Sce||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(e){var n=e.propertyName,o=n===void 0?"":n,i=oxt.some(function(r){return!!~o.indexOf(r)});i&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),TYe=function(t,e){for(var n=0,o=Object.keys(e);n"u"||!(Element instanceof Object))){if(!(e instanceof qC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(e)||(n.set(e,new hxt(e)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof qC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(e)&&(n.delete(e),n.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(n){n.isActive()&&e.activeObservations_.push(n)})},t.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,n=this.activeObservations_.map(function(o){return new pxt(o.target,o.broadcastRect())});this.callback_.call(e,n,e),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),CYe=typeof WeakMap<"u"?new WeakMap:new SYe,RYe=function(){function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=rxt.getInstance(),o=new gxt(e,n,this);CYe.set(this,o)}return t}();["observe","unobserve","disconnect"].forEach(function(t){RYe.prototype[t]=function(){var e;return(e=CYe.get(this))[t].apply(e,arguments)}});var mxt=function(){return typeof rG.ResizeObserver<"u"?rG.ResizeObserver:RYe}(),uw=new Map;function yxt(t){t.forEach(function(e){var n,o=e.target;(n=uw.get(o))===null||n===void 0||n.forEach(function(i){return i(o)})})}var HYe=new mxt(yxt);function Axt(t,e){uw.has(t)||(uw.set(t,new Set),HYe.observe(t)),uw.get(t).add(e)}function wxt(t,e){uw.has(t)&&(uw.get(t).delete(e),uw.get(t).size||(HYe.unobserve(t),uw.delete(t)))}function pp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Zwe(t,e){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function xl(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function xxt(t,e){if(e&&(gr(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return xl(t)}function pW(t){var e=vxt();return function(){var o=lG(t),i;if(e){var r=lG(this).constructor;i=Reflect.construct(o,arguments,r)}else i=o.apply(this,arguments);return xxt(this,i)}}var bxt=function(t){hW(n,t);var e=pW(n);function n(){return pp(this,n),e.apply(this,arguments)}return gp(n,[{key:"render",value:function(){return this.props.children}}]),n}(m.Component);function Sxt(t,e){var n=t.children,o=t.disabled,i=m.useRef(null),r=m.useRef(null),a=m.useContext(bce),l=typeof n=="function",s=l?n(i):n,c=m.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),u=!l&&m.isValidElement(s)&&Zw(s),d=u?s.ref:null,f=z7(d,i),p=function(){var x;return rE(i.current)||(i.current&&gr(i.current)==="object"?rE((x=i.current)===null||x===void 0?void 0:x.nativeElement):null)||rE(r.current)};m.useImperativeHandle(e,function(){return p()});var g=m.useRef(t);g.current=t;var y=m.useCallback(function(A){var x=g.current,C=x.onResize,b=x.data,v=A.getBoundingClientRect(),S=v.width,w=v.height,T=A.offsetWidth,P=A.offsetHeight,R=Math.floor(S),H=Math.floor(w);if(c.current.width!==R||c.current.height!==H||c.current.offsetWidth!==T||c.current.offsetHeight!==P){var D={width:R,height:H,offsetWidth:T,offsetHeight:P};c.current=D;var E=T===Math.round(S)?S:T,L=P===Math.round(w)?w:P,U=$t($t({},D),{},{offsetWidth:E,offsetHeight:L});a==null||a(U,A,b),C&&Promise.resolve().then(function(){C(U,A)})}},[]);return m.useEffect(function(){var A=p();return A&&!o&&Axt(A,y),function(){return wxt(A,y)}},[i.current,o]),m.createElement(bxt,{ref:r},u?m.cloneElement(s,{ref:f}):s)}var Txt=m.forwardRef(Sxt),Pxt="rc-observer-key";function Cxt(t,e){var n=t.children,o=typeof n=="function"?[n]:Qw(n);return o.map(function(i,r){var a=(i==null?void 0:i.key)||"".concat(Pxt,"-").concat(r);return m.createElement(Txt,so({},t,{key:a,ref:r===0?e:void 0}),i)})}var xd=m.forwardRef(Cxt);xd.Collection=Qvt;function Tg(t){"@babel/helpers - typeof";return Tg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tg(t)}function Rxt(t,e){if(Tg(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(Tg(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Hxt(t){var e=Rxt(t,"string");return Tg(e)==="symbol"?e:String(e)}function Mxt(t,e,n){return e=Hxt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function e7e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $C(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:1;t7e+=1;var o=t7e;function i(r){if(r===0)zYe(o),e();else{var a=MYe(function(){i(r-1)});wge.set(o,a)}}return i(n),o};Pg.cancel=function(t){var e=wge.get(t);return zYe(t),IYe(e)};function DYe(t){if(Array.isArray(t))return t}function kxt(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;s=!1}else for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function Cce(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=4;++o,i-=4)n=t.charCodeAt(o)&255|(t.charCodeAt(++o)&255)<<8|(t.charCodeAt(++o)&255)<<16|(t.charCodeAt(++o)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,e=(n&65535)*1540483477+((n>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(i){case 3:e^=(t.charCodeAt(o+2)&255)<<16;case 2:e^=(t.charCodeAt(o+1)&255)<<8;case 1:e^=t.charCodeAt(o)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}function sp(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Rce(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var n=e;n;){if(n===t)return!0;n=n.parentNode}return!1}var n7e="data-rc-order",o7e="data-rc-priority",Wxt="rc-util-key",Hce=new Map;function FYe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith("data-")?e:"data-".concat(e):Wxt}function Gq(t){if(t.attachTo)return t.attachTo;var e=document.querySelector("head");return e||document.body}function Nxt(t){return t==="queue"?"prependQueue":t?"prepend":"append"}function LYe(t){return Array.from((Hce.get(t)||t).children).filter(function(e){return e.tagName==="STYLE"})}function WYe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!sp())return null;var n=e.csp,o=e.prepend,i=e.priority,r=i===void 0?0:i,a=Nxt(o),l=a==="prependQueue",s=document.createElement("style");s.setAttribute(n7e,a),l&&r&&s.setAttribute(o7e,"".concat(r)),n!=null&&n.nonce&&(s.nonce=n==null?void 0:n.nonce),s.innerHTML=t;var c=Gq(e),u=c.firstChild;if(o){if(l){var d=LYe(c).filter(function(f){if(!["prepend","prependQueue"].includes(f.getAttribute(n7e)))return!1;var p=Number(f.getAttribute(o7e)||0);return r>=p});if(d.length)return c.insertBefore(s,d[d.length-1].nextSibling),s}c.insertBefore(s,u)}else c.appendChild(s);return s}function NYe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Gq(e);return LYe(n).find(function(o){return o.getAttribute(FYe(e))===t})}function sG(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=NYe(t,e);if(n){var o=Gq(e);o.removeChild(n)}}function Uxt(t,e){var n=Hce.get(t);if(!n||!Rce(document,n)){var o=WYe("",e),i=o.parentNode;Hce.set(t,i),t.removeChild(o)}}function lx(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=Gq(n);Uxt(o,n);var i=NYe(e,n);if(i){var r,a;if((r=n.csp)!==null&&r!==void 0&&r.nonce&&i.nonce!==((a=n.csp)===null||a===void 0?void 0:a.nonce)){var l;i.nonce=(l=n.csp)===null||l===void 0?void 0:l.nonce}return i.innerHTML!==t&&(i.innerHTML=t),i}var s=WYe(t,n);return s.setAttribute(FYe(n),e),s}function Bxt(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function ir(t,e){if(t==null)return{};var n=Bxt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function e7(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=new Set;function i(r,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=o.has(r);if(U0(!s,"Warning: There may be circular references"),s)return!1;if(r===a)return!0;if(n&&l>1)return!1;o.add(r);var c=l+1;if(Array.isArray(r)){if(!Array.isArray(a)||r.length!==a.length)return!1;for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:!1,a={map:this.cache};return n.forEach(function(l){if(!a)a=void 0;else{var s;a=(s=a)===null||s===void 0||(s=s.map)===null||s===void 0?void 0:s.get(l)}}),(o=a)!==null&&o!==void 0&&o.value&&r&&(a.value[1]=this.cacheCallTimes++),(i=a)===null||i===void 0?void 0:i.value}},{key:"get",value:function(n){var o;return(o=this.internalGet(n,!0))===null||o===void 0?void 0:o[0]}},{key:"has",value:function(n){return!!this.internalGet(n)}},{key:"set",value:function(n,o){var i=this;if(!this.has(n)){if(this.size()+1>t.MAX_CACHE_SIZE+t.MAX_CACHE_OFFSET){var r=this.keys.reduce(function(c,u){var d=on(c,2),f=d[1];return i.internalGet(u)[1]0,void 0),i7e+=1}return gp(t,[{key:"getDerivativeToken",value:function(n){return this.derivatives.reduce(function(o,i){return i(n,o)},void 0)}}]),t}(),iie=new xge;function Ice(t){var e=Array.isArray(t)?t:[t];return iie.has(e)||iie.set(e,new UYe(e)),iie.get(e)}var Vxt=new WeakMap,rie={};function Gxt(t,e){for(var n=Vxt,o=0;o1&&arguments[1]!==void 0?arguments[1]:!1,n=r7e.get(t)||"";return n||(Object.keys(t).forEach(function(o){var i=t[o];n+=o,i instanceof UYe?n+=i.id:i&&gr(i)==="object"?n+=aE(i,e):n+=i}),e&&(n=Wk(n)),r7e.set(t,n)),n}function a7e(t,e){return Wk("".concat(e,"_").concat(aE(t,!0)))}var zce=sp();function Ut(t){return typeof t=="number"?"".concat(t,"px"):t}function cG(t,e,n){var o,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(r)return t;var a=$t($t({},i),{},(o={},_t(o,QC,e),_t(o,C2,n),o)),l=Object.keys(a).map(function(s){var c=a[s];return c?"".concat(s,'="').concat(c,'"'):null}).filter(function(s){return s}).join(" ");return"")}var BYe=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return"--".concat(n?"".concat(n,"-"):"").concat(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},Xxt=function(e,n,o){return Object.keys(e).length?".".concat(n).concat(o!=null&&o.scope?".".concat(o.scope):"","{").concat(Object.entries(e).map(function(i){var r=on(i,2),a=r[0],l=r[1];return"".concat(a,":").concat(l,";")}).join(""),"}"):""},jYe=function(e,n,o){var i={},r={};return Object.entries(e).forEach(function(a){var l,s,c=on(a,2),u=c[0],d=c[1];if(o!=null&&(l=o.preserve)!==null&&l!==void 0&&l[u])r[u]=d;else if((typeof d=="string"||typeof d=="number")&&!(o!=null&&(s=o.ignore)!==null&&s!==void 0&&s[u])){var f,p=BYe(u,o==null?void 0:o.prefix);i[p]=typeof d=="number"&&!(o!=null&&(f=o.unitless)!==null&&f!==void 0&&f[u])?"".concat(d,"px"):String(d),r[u]="var(".concat(p,")")}}),[r,Xxt(i,n,{scope:o==null?void 0:o.scope})]},l7e=sp()?m.useLayoutEffect:m.useEffect,Ba=function(e,n){var o=m.useRef(!0);l7e(function(){return e(o.current)},n),l7e(function(){return o.current=!1,function(){o.current=!0}},[])},sx=function(e,n){Ba(function(o){if(!o)return e()},n)},Jxt=$t({},oK),s7e=Jxt.useInsertionEffect,Kxt=function(e,n,o){m.useMemo(e,o),Ba(function(){return n(!0)},o)},qxt=s7e?function(t,e,n){return s7e(function(){return t(),e()},n)}:Kxt,$xt=$t({},oK),Qxt=$xt.useInsertionEffect,Zxt=function(e){var n=[],o=!1;function i(r){o||n.push(r)}return m.useEffect(function(){return o=!1,function(){o=!0,n.length&&n.forEach(function(r){return r()})}},e),i},ebt=function(){return function(e){e()}},tbt=typeof Qxt<"u"?Zxt:ebt;function bge(t,e,n,o,i){var r=m.useContext(Xq),a=r.cache,l=[t].concat(Wo(e)),s=Mce(l),c=tbt([s]),u=function(g){a.opUpdate(s,function(y){var A=y||[void 0,void 0],x=on(A,2),C=x[0],b=C===void 0?0:C,v=x[1],S=v,w=S||n(),T=[b,w];return g?g(T):T})};m.useMemo(function(){u()},[s]);var d=a.opGet(s),f=d[1];return qxt(function(){i==null||i(f)},function(p){return u(function(g){var y=on(g,2),A=y[0],x=y[1];return p&&A===0&&(i==null||i(f)),[A+1,x]}),function(){a.opUpdate(s,function(g){var y=g||[],A=on(y,2),x=A[0],C=x===void 0?0:x,b=A[1],v=C-1;return v===0?(c(function(){(p||!a.opGet(s))&&(o==null||o(b,!1))}),null):[C-1,b]})}},[s]),f}var nbt={},obt="css",yv=new Map;function ibt(t){yv.set(t,(yv.get(t)||0)+1)}function rbt(t,e){if(typeof document<"u"){var n=document.querySelectorAll("style[".concat(QC,'="').concat(t,'"]'));n.forEach(function(o){if(o[dw]===e){var i;(i=o.parentNode)===null||i===void 0||i.removeChild(o)}})}}var abt=0;function lbt(t,e){yv.set(t,(yv.get(t)||0)-1);var n=Array.from(yv.keys()),o=n.filter(function(i){var r=yv.get(i)||0;return r<=0});n.length-o.length>abt&&o.forEach(function(i){rbt(i,e),yv.delete(i)})}var sbt=function(e,n,o,i){var r=o.getDerivativeToken(e),a=$t($t({},r),n);return i&&(a=i(a)),a},YYe="token";function cbt(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=m.useContext(Xq),i=o.cache.instanceId,r=o.container,a=n.salt,l=a===void 0?"":a,s=n.override,c=s===void 0?nbt:s,u=n.formatToken,d=n.getComputedToken,f=n.cssVar,p=Gxt(function(){return Object.assign.apply(Object,[{}].concat(Wo(e)))},e),g=aE(p),y=aE(c),A=f?aE(f):"",x=bge(YYe,[l,t.id,g,y,A],function(){var C,b=d?d(p,c,t):sbt(p,c,t,u),v=$t({},b),S="";if(f){var w=jYe(b,f.key,{prefix:f.prefix,ignore:f.ignore,unitless:f.unitless,preserve:f.preserve}),T=on(w,2);b=T[0],S=T[1]}var P=a7e(b,l);b._tokenKey=P,v._tokenKey=a7e(v,l);var R=(C=f==null?void 0:f.key)!==null&&C!==void 0?C:P;b._themeKey=R,ibt(R);var H="".concat(obt,"-").concat(Wk(P));return b._hashId=H,[b,H,v,S,(f==null?void 0:f.key)||""]},function(C){lbt(C[0]._themeKey,i)},function(C){var b=on(C,4),v=b[0],S=b[3];if(f&&S){var w=lx(S,Wk("css-variables-".concat(v._themeKey)),{mark:C2,prepend:"queue",attachTo:r,priority:-999});w[dw]=i,w.setAttribute(QC,v._themeKey)}});return x}var ubt=function(e,n,o){var i=on(e,5),r=i[2],a=i[3],l=i[4],s=o||{},c=s.plain;if(!a)return null;var u=r._tokenKey,d=-999,f={"data-rc-order":"prependQueue","data-rc-priority":"".concat(d)},p=cG(a,l,u,f,c);return[d,u,p]},dbt={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},OYe="comm",_Ye="rule",VYe="decl",fbt="@import",hbt="@keyframes",pbt="@layer",gbt=Math.abs,Sge=String.fromCharCode;function GYe(t){return t.trim()}function S_(t,e,n){return t.replace(e,n)}function mbt(t,e){return t.indexOf(e)}function Nk(t,e){return t.charCodeAt(e)|0}function Uk(t,e,n){return t.slice(e,n)}function u6(t){return t.length}function ybt(t){return t.length}function eY(t,e){return e.push(t),t}var Jq=1,ZC=1,XYe=0,Jm=0,ou=0,PH="";function Tge(t,e,n,o,i,r,a,l){return{value:t,root:e,parent:n,type:o,props:i,children:r,line:Jq,column:ZC,length:a,return:"",siblings:l}}function Abt(){return ou}function wbt(){return ou=Jm>0?Nk(PH,--Jm):0,ZC--,ou===10&&(ZC=1,Jq--),ou}function R2(){return ou=Jm2||Dce(ou)>3?"":" "}function Sbt(t,e){for(;--e&&R2()&&!(ou<48||ou>102||ou>57&&ou<65||ou>70&&ou<97););return Kq(t,T_()+(e<6&&cx()==32&&R2()==32))}function Ece(t){for(;R2();)switch(ou){case t:return Jm;case 34:case 39:t!==34&&t!==39&&Ece(ou);break;case 40:t===41&&Ece(t);break;case 92:R2();break}return Jm}function Tbt(t,e){for(;R2()&&t+ou!==57;)if(t+ou===84&&cx()===47)break;return"/*"+Kq(e,Jm-1)+"*"+Sge(t===47?t:R2())}function Pbt(t){for(;!Dce(cx());)R2();return Kq(t,Jm)}function Cbt(t){return xbt(P_("",null,null,null,[""],t=vbt(t),0,[0],t))}function P_(t,e,n,o,i,r,a,l,s){for(var c=0,u=0,d=a,f=0,p=0,g=0,y=1,A=1,x=1,C=0,b="",v=i,S=r,w=o,T=b;A;)switch(g=C,C=R2()){case 40:if(g!=108&&Nk(T,d-1)==58){mbt(T+=S_(aie(C),"&","&\f"),"&\f")!=-1&&(x=-1);break}case 34:case 39:case 91:T+=aie(C);break;case 9:case 10:case 13:case 32:T+=bbt(g);break;case 92:T+=Sbt(T_()-1,7);continue;case 47:switch(cx()){case 42:case 47:eY(Rbt(Tbt(R2(),T_()),e,n,s),s);break;default:T+="/"}break;case 123*y:l[c++]=u6(T)*x;case 125*y:case 59:case 0:switch(C){case 0:case 125:A=0;case 59+u:x==-1&&(T=S_(T,/\f/g,"")),p>0&&u6(T)-d&&eY(p>32?u7e(T+";",o,n,d-1,s):u7e(S_(T," ","")+";",o,n,d-2,s),s);break;case 59:T+=";";default:if(eY(w=c7e(T,e,n,c,u,i,l,b,v=[],S=[],d,r),r),C===123)if(u===0)P_(T,e,w,w,v,r,d,l,S);else switch(f===99&&Nk(T,3)===110?100:f){case 100:case 108:case 109:case 115:P_(t,w,w,o&&eY(c7e(t,w,w,0,0,i,l,b,i,v=[],d,S),S),i,S,d,l,o?v:S);break;default:P_(T,w,w,w,[""],S,0,l,S)}}c=u=p=0,y=x=1,b=T="",d=a;break;case 58:d=1+u6(T),p=g;default:if(y<1){if(C==123)--y;else if(C==125&&y++==0&&wbt()==125)continue}switch(T+=Sge(C),C*y){case 38:x=u>0?1:(T+="\f",-1);break;case 44:l[c++]=(u6(T)-1)*x,x=1;break;case 64:cx()===45&&(T+=aie(R2())),f=cx(),u=d=u6(b=T+=Pbt(T_())),C++;break;case 45:g===45&&u6(T)==2&&(y=0)}}return r}function c7e(t,e,n,o,i,r,a,l,s,c,u,d){for(var f=i-1,p=i===0?r:[""],g=ybt(p),y=0,A=0,x=0;y0?p[C]+" "+b:S_(b,/&\f/g,p[C])))&&(s[x++]=v);return Tge(t,e,n,i===0?_Ye:l,s,c,u,d)}function Rbt(t,e,n,o){return Tge(t,e,n,OYe,Sge(Abt()),Uk(t,2,-2),0,o)}function u7e(t,e,n,o,i){return Tge(t,e,n,VYe,Uk(t,0,o),Uk(t,o+1,-1),o,i)}function kce(t,e){for(var n="",o=0;o1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},i=o.root,r=o.injectHash,a=o.parentSelectors,l=n.hashId,s=n.layer;n.path;var c=n.hashPriority,u=n.transformers,d=u===void 0?[]:u;n.linters;var f="",p={};function g(x){var C=x.getName(l);if(!p[C]){var b=t(x.style,n,{root:!1,parentSelectors:a}),v=on(b,1),S=v[0];p[C]="@keyframes ".concat(x.getName(l)).concat(S)}}function y(x){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return x.forEach(function(b){Array.isArray(b)?y(b,C):b&&C.push(b)}),C}var A=y(Array.isArray(e)?e:[e]);return A.forEach(function(x){var C=typeof x=="string"&&!i?{}:x;if(typeof C=="string")f+="".concat(C,` +`);else if(C._keyframe)g(C);else{var b=d.reduce(function(v,S){var w;return(S==null||(w=S.visit)===null||w===void 0?void 0:w.call(S,v))||v},C);Object.keys(b).forEach(function(v){var S=b[v];if(gr(S)==="object"&&S&&(v!=="animationName"||!S._keyframe)&&!Ebt(S)){var w=!1,T=v.trim(),P=!1;(i||r)&&l?T.startsWith("@")?w=!0:T=kbt(v,l,c):i&&!l&&(T==="&"||T==="")&&(T="",P=!0);var R=t(S,n,{root:P,injectHash:w,parentSelectors:[].concat(Wo(a),[T])}),H=on(R,2),D=H[0],E=H[1];p=$t($t({},p),E),f+="".concat(T).concat(D)}else{let F=function(W,B){var k=W.replace(/[A-Z]/g,function(j){return"-".concat(j.toLowerCase())}),N=B;!dbt[W]&&typeof N=="number"&&N!==0&&(N="".concat(N,"px")),W==="animationName"&&B!==null&&B!==void 0&&B._keyframe&&(g(B),N=B.getName(l)),f+="".concat(k,":").concat(N,";")};var L,U=(L=S==null?void 0:S.value)!==null&&L!==void 0?L:S;gr(S)==="object"&&S!==null&&S!==void 0&&S[qYe]&&Array.isArray(U)?U.forEach(function(W){F(v,W)}):F(v,U)}})}}),i?s&&(f="@layer ".concat(s.name," {").concat(f,"}"),s.dependencies&&(p["@layer ".concat(s.name)]=s.dependencies.map(function(x){return"@layer ".concat(x,", ").concat(s.name,";")}).join(` +`))):f="{".concat(f,"}"),[f,p]};function $Ye(t,e){return Wk("".concat(t.join("%")).concat(e))}function Lbt(){return null}var QYe="style";function Fce(t,e){var n=t.token,o=t.path,i=t.hashId,r=t.layer,a=t.nonce,l=t.clientOnly,s=t.order,c=s===void 0?0:s,u=m.useContext(Xq),d=u.autoClear;u.mock;var f=u.defaultCache,p=u.hashPriority,g=u.container,y=u.ssrInline,A=u.transformers,x=u.linters,C=u.cache,b=u.layer,v=n._tokenKey,S=[v];b&&S.push("layer"),S.push.apply(S,Wo(o));var w=zce,T=bge(QYe,S,function(){var E=S.join("|");if(Ibt(E)){var L=zbt(E),U=on(L,2),F=U[0],W=U[1];if(F)return[F,v,W,{},l,c]}var B=e(),k=Fbt(B,{hashId:i,hashPriority:p,layer:b?r:void 0,path:o.join("-"),transformers:A,linters:x}),N=on(k,2),j=N[0],Y=N[1],_=C_(j),J=$Ye(S,_);return[_,v,J,Y,l,c]},function(E,L){var U=on(E,3),F=U[2];(L||d)&&zce&&sG(F,{mark:C2})},function(E){var L=on(E,4),U=L[0];L[1];var F=L[2],W=L[3];if(w&&U!==JYe){var B={mark:C2,prepend:b?!1:"queue",attachTo:g,priority:c},k=typeof a=="function"?a():a;k&&(B.csp={nonce:k});var N=[],j=[];Object.keys(W).forEach(function(_){_.startsWith("@layer")?N.push(_):j.push(_)}),N.forEach(function(_){lx(C_(W[_]),"_layer-".concat(_),$t($t({},B),{},{prepend:!0}))});var Y=lx(U,F,B);Y[dw]=C.instanceId,Y.setAttribute(QC,v),j.forEach(function(_){lx(C_(W[_]),"_effect-".concat(_),B)})}}),P=on(T,3),R=P[0],H=P[1],D=P[2];return function(E){var L;if(!y||w||!f)L=m.createElement(Lbt,null);else{var U;L=m.createElement("style",so({},(U={},_t(U,QC,H),_t(U,C2,D),U),{dangerouslySetInnerHTML:{__html:R}}))}return m.createElement(m.Fragment,null,L,E)}}var Wbt=function(e,n,o){var i=on(e,6),r=i[0],a=i[1],l=i[2],s=i[3],c=i[4],u=i[5],d=o||{},f=d.plain;if(c)return null;var p=r,g={"data-rc-order":"prependQueue","data-rc-priority":"".concat(u)};return p=cG(r,a,l,g,f),s&&Object.keys(s).forEach(function(y){if(!n[y]){n[y]=!0;var A=C_(s[y]),x=cG(A,a,"_effect-".concat(y),g,f);y.startsWith("@layer")?p=x+p:p+=x}}),[u,l,p]},ZYe="cssVar",Nbt=function(e,n){var o=e.key,i=e.prefix,r=e.unitless,a=e.ignore,l=e.token,s=e.scope,c=s===void 0?"":s,u=m.useContext(Xq),d=u.cache.instanceId,f=u.container,p=l._tokenKey,g=[].concat(Wo(e.path),[o,c,p]),y=bge(ZYe,g,function(){var A=n(),x=jYe(A,o,{prefix:i,unitless:r,ignore:a,scope:c}),C=on(x,2),b=C[0],v=C[1],S=$Ye(g,v);return[b,v,S,o]},function(A){var x=on(A,3),C=x[2];zce&&sG(C,{mark:C2})},function(A){var x=on(A,3),C=x[1],b=x[2];if(C){var v=lx(C,b,{mark:C2,prepend:"queue",attachTo:f,priority:-999});v[dw]=d,v.setAttribute(QC,o)}});return y},Ubt=function(e,n,o){var i=on(e,4),r=i[1],a=i[2],l=i[3],s=o||{},c=s.plain;if(!r)return null;var u=-999,d={"data-rc-order":"prependQueue","data-rc-priority":"".concat(u)},f=cG(r,l,a,d,c);return[u,a,f]},Az;Az={},_t(Az,QYe,Wbt),_t(Az,YYe,ubt),_t(Az,ZYe,Ubt);var ul=function(){function t(e,n){pp(this,t),_t(this,"name",void 0),_t(this,"style",void 0),_t(this,"_keyframe",!0),this.name=e,this.style=n}return gp(t,[{key:"getName",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return n?"".concat(n,"-").concat(this.name):this.name}}]),t}();function wT(t){return t.notSplit=!0,t}wT(["borderTop","borderBottom"]),wT(["borderTop"]),wT(["borderBottom"]),wT(["borderLeft","borderRight"]),wT(["borderLeft"]),wT(["borderRight"]);var Pge=m.createContext({});function Cge(t,e,n){var o=m.useRef({});return(!("value"in o.current)||n(o.current.condition,e))&&(o.current.value=t(),o.current.condition=e),o.current.value}function Lce(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&o&&n===void 0&&!Wce(t,e.slice(0,-1))?t:iOe(t,e,n,o)}function Obt(t){return Tg(t)==="object"&&t!==null&&Object.getPrototypeOf(t)===Object.prototype}function f7e(t){return Array.isArray(t)?[]:{}}var _bt=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function Vbt(){for(var t=arguments.length,e=new Array(t),n=0;n{const t=()=>{};return t.deprecated=Gbt,t},Jbt=m.createContext(void 0);var rOe={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},Kbt={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};const aOe={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},uG={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},Kbt),timePickerLocale:Object.assign({},aOe)},z1="${label} is not a valid ${type}",t7={locale:"en",Pagination:rOe,DatePicker:uG,TimePicker:aOe,Calendar:uG,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:z1,method:z1,array:z1,object:z1,number:z1,date:z1,boolean:z1,integer:z1,float:z1,regexp:z1,email:z1,url:z1,hex:z1},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};let R_=Object.assign({},t7.Modal),H_=[];const h7e=()=>H_.reduce((t,e)=>Object.assign(Object.assign({},t),e),t7.Modal);function qbt(t){if(t){const e=Object.assign({},t);return H_.push(e),R_=h7e(),()=>{H_=H_.filter(n=>n!==e),R_=h7e()}}R_=Object.assign({},t7.Modal)}function lOe(){return R_}const Hge=m.createContext(void 0),D7=(t,e)=>{const n=m.useContext(Hge),o=m.useMemo(()=>{var r;const a=e||t7[t],l=(r=n==null?void 0:n[t])!==null&&r!==void 0?r:{};return Object.assign(Object.assign({},typeof a=="function"?a():a),l||{})},[t,e,n]),i=m.useMemo(()=>{const r=n==null?void 0:n.locale;return n!=null&&n.exist&&!r?t7.locale:r},[n]);return[o,i]},$bt="internalMark",Qbt=t=>{const{locale:e={},children:n,_ANT_MARK__:o}=t;m.useEffect(()=>qbt(e&&e.Modal),[e]);const i=m.useMemo(()=>Object.assign(Object.assign({},e),{exist:!0}),[e]);return m.createElement(Hge.Provider,{value:i},n)};function cf(t,e){Zbt(t)&&(t="100%");var n=eSt(t);return t=e===360?t:Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(String(t*e),10)/100),Math.abs(t-e)<1e-6?1:(e===360?t=(t<0?t%e+e:t%e)/parseFloat(String(e)):t=t%e/parseFloat(String(e)),t)}function tY(t){return Math.min(1,Math.max(0,t))}function Zbt(t){return typeof t=="string"&&t.indexOf(".")!==-1&&parseFloat(t)===1}function eSt(t){return typeof t=="string"&&t.indexOf("%")!==-1}function sOe(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function nY(t){return t<=1?"".concat(Number(t)*100,"%"):t}function Ev(t){return t.length===1?"0"+t:String(t)}function tSt(t,e,n){return{r:cf(t,255)*255,g:cf(e,255)*255,b:cf(n,255)*255}}function p7e(t,e,n){t=cf(t,255),e=cf(e,255),n=cf(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r=0,a=0,l=(o+i)/2;if(o===i)a=0,r=0;else{var s=o-i;switch(a=l>.5?s/(2-o-i):s/(o+i),o){case t:r=(e-n)/s+(e1&&(n-=1),n<1/6?t+(e-t)*(6*n):n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function nSt(t,e,n){var o,i,r;if(t=cf(t,360),e=cf(e,100),n=cf(n,100),e===0)i=n,r=n,o=n;else{var a=n<.5?n*(1+e):n+e-n*e,l=2*n-a;o=sie(l,a,t+1/3),i=sie(l,a,t),r=sie(l,a,t-1/3)}return{r:o*255,g:i*255,b:r*255}}function dG(t,e,n){t=cf(t,255),e=cf(e,255),n=cf(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r=0,a=o,l=o-i,s=o===0?0:l/o;if(o===i)r=0;else{switch(o){case t:r=(e-n)/l+(e>16,g:(t&65280)>>8,b:t&255}}var Nce={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function d2(t){var e={r:0,g:0,b:0},n=1,o=null,i=null,r=null,a=!1,l=!1;return typeof t=="string"&&(t=cSt(t)),typeof t=="object"&&(K3(t.r)&&K3(t.g)&&K3(t.b)?(e=tSt(t.r,t.g,t.b),a=!0,l=String(t.r).substr(-1)==="%"?"prgb":"rgb"):K3(t.h)&&K3(t.s)&&K3(t.v)?(o=nY(t.s),i=nY(t.v),e=oSt(t.h,o,i),a=!0,l="hsv"):K3(t.h)&&K3(t.s)&&K3(t.l)&&(o=nY(t.s),r=nY(t.l),e=nSt(t.h,o,r),a=!0,l="hsl"),Object.prototype.hasOwnProperty.call(t,"a")&&(n=t.a)),n=sOe(n),{ok:a,format:t.format||l,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:n}}var lSt="[-\\+]?\\d+%?",sSt="[-\\+]?\\d*\\.\\d+%?",fw="(?:".concat(sSt,")|(?:").concat(lSt,")"),cie="[\\s|\\(]+(".concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")\\s*\\)?"),uie="[\\s|\\(]+(".concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")\\s*\\)?"),Vy={CSS_UNIT:new RegExp(fw),rgb:new RegExp("rgb"+cie),rgba:new RegExp("rgba"+uie),hsl:new RegExp("hsl"+cie),hsla:new RegExp("hsla"+uie),hsv:new RegExp("hsv"+cie),hsva:new RegExp("hsva"+uie),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function cSt(t){if(t=t.trim().toLowerCase(),t.length===0)return!1;var e=!1;if(Nce[t])t=Nce[t],e=!0;else if(t==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=Vy.rgb.exec(t);return n?{r:n[1],g:n[2],b:n[3]}:(n=Vy.rgba.exec(t),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Vy.hsl.exec(t),n?{h:n[1],s:n[2],l:n[3]}:(n=Vy.hsla.exec(t),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Vy.hsv.exec(t),n?{h:n[1],s:n[2],v:n[3]}:(n=Vy.hsva.exec(t),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Vy.hex8.exec(t),n?{r:j1(n[1]),g:j1(n[2]),b:j1(n[3]),a:g7e(n[4]),format:e?"name":"hex8"}:(n=Vy.hex6.exec(t),n?{r:j1(n[1]),g:j1(n[2]),b:j1(n[3]),format:e?"name":"hex"}:(n=Vy.hex4.exec(t),n?{r:j1(n[1]+n[1]),g:j1(n[2]+n[2]),b:j1(n[3]+n[3]),a:g7e(n[4]+n[4]),format:e?"name":"hex8"}:(n=Vy.hex3.exec(t),n?{r:j1(n[1]+n[1]),g:j1(n[2]+n[2]),b:j1(n[3]+n[3]),format:e?"name":"hex"}:!1)))))))))}function K3(t){return!!Vy.CSS_UNIT.exec(String(t))}var Il=function(){function t(e,n){e===void 0&&(e=""),n===void 0&&(n={});var o;if(e instanceof t)return e;typeof e=="number"&&(e=aSt(e)),this.originalInput=e;var i=d2(e);this.originalInput=e,this.r=i.r,this.g=i.g,this.b=i.b,this.a=i.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=n.format)!==null&&o!==void 0?o:i.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=i.ok}return t.prototype.isDark=function(){return this.getBrightness()<128},t.prototype.isLight=function(){return!this.isDark()},t.prototype.getBrightness=function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},t.prototype.getLuminance=function(){var e=this.toRgb(),n,o,i,r=e.r/255,a=e.g/255,l=e.b/255;return r<=.03928?n=r/12.92:n=Math.pow((r+.055)/1.055,2.4),a<=.03928?o=a/12.92:o=Math.pow((a+.055)/1.055,2.4),l<=.03928?i=l/12.92:i=Math.pow((l+.055)/1.055,2.4),.2126*n+.7152*o+.0722*i},t.prototype.getAlpha=function(){return this.a},t.prototype.setAlpha=function(e){return this.a=sOe(e),this.roundA=Math.round(100*this.a)/100,this},t.prototype.isMonochrome=function(){var e=this.toHsl().s;return e===0},t.prototype.toHsv=function(){var e=dG(this.r,this.g,this.b);return{h:e.h*360,s:e.s,v:e.v,a:this.a}},t.prototype.toHsvString=function(){var e=dG(this.r,this.g,this.b),n=Math.round(e.h*360),o=Math.round(e.s*100),i=Math.round(e.v*100);return this.a===1?"hsv(".concat(n,", ").concat(o,"%, ").concat(i,"%)"):"hsva(".concat(n,", ").concat(o,"%, ").concat(i,"%, ").concat(this.roundA,")")},t.prototype.toHsl=function(){var e=p7e(this.r,this.g,this.b);return{h:e.h*360,s:e.s,l:e.l,a:this.a}},t.prototype.toHslString=function(){var e=p7e(this.r,this.g,this.b),n=Math.round(e.h*360),o=Math.round(e.s*100),i=Math.round(e.l*100);return this.a===1?"hsl(".concat(n,", ").concat(o,"%, ").concat(i,"%)"):"hsla(".concat(n,", ").concat(o,"%, ").concat(i,"%, ").concat(this.roundA,")")},t.prototype.toHex=function(e){return e===void 0&&(e=!1),fG(this.r,this.g,this.b,e)},t.prototype.toHexString=function(e){return e===void 0&&(e=!1),"#"+this.toHex(e)},t.prototype.toHex8=function(e){return e===void 0&&(e=!1),iSt(this.r,this.g,this.b,this.a,e)},t.prototype.toHex8String=function(e){return e===void 0&&(e=!1),"#"+this.toHex8(e)},t.prototype.toHexShortString=function(e){return e===void 0&&(e=!1),this.a===1?this.toHexString(e):this.toHex8String(e)},t.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},t.prototype.toRgbString=function(){var e=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(e,", ").concat(n,", ").concat(o,")"):"rgba(".concat(e,", ").concat(n,", ").concat(o,", ").concat(this.roundA,")")},t.prototype.toPercentageRgb=function(){var e=function(n){return"".concat(Math.round(cf(n,255)*100),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},t.prototype.toPercentageRgbString=function(){var e=function(n){return Math.round(cf(n,255)*100)};return this.a===1?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},t.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var e="#"+fG(this.r,this.g,this.b,!1),n=0,o=Object.entries(Nce);n=0,r=!n&&i&&(e.startsWith("hex")||e==="name");return r?e==="name"&&this.a===0?this.toName():this.toRgbString():(e==="rgb"&&(o=this.toRgbString()),e==="prgb"&&(o=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(o=this.toHexString()),e==="hex3"&&(o=this.toHexString(!0)),e==="hex4"&&(o=this.toHex8String(!0)),e==="hex8"&&(o=this.toHex8String()),e==="name"&&(o=this.toName()),e==="hsl"&&(o=this.toHslString()),e==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},t.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},t.prototype.clone=function(){return new t(this.toString())},t.prototype.lighten=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.l+=e/100,n.l=tY(n.l),new t(n)},t.prototype.brighten=function(e){e===void 0&&(e=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(e/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(e/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(e/100)))),new t(n)},t.prototype.darken=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.l-=e/100,n.l=tY(n.l),new t(n)},t.prototype.tint=function(e){return e===void 0&&(e=10),this.mix("white",e)},t.prototype.shade=function(e){return e===void 0&&(e=10),this.mix("black",e)},t.prototype.desaturate=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.s-=e/100,n.s=tY(n.s),new t(n)},t.prototype.saturate=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.s+=e/100,n.s=tY(n.s),new t(n)},t.prototype.greyscale=function(){return this.desaturate(100)},t.prototype.spin=function(e){var n=this.toHsl(),o=(n.h+e)%360;return n.h=o<0?360+o:o,new t(n)},t.prototype.mix=function(e,n){n===void 0&&(n=50);var o=this.toRgb(),i=new t(e).toRgb(),r=n/100,a={r:(i.r-o.r)*r+o.r,g:(i.g-o.g)*r+o.g,b:(i.b-o.b)*r+o.b,a:(i.a-o.a)*r+o.a};return new t(a)},t.prototype.analogous=function(e,n){e===void 0&&(e=6),n===void 0&&(n=30);var o=this.toHsl(),i=360/n,r=[this];for(o.h=(o.h-(i*e>>1)+720)%360;--e;)o.h=(o.h+i)%360,r.push(new t(o));return r},t.prototype.complement=function(){var e=this.toHsl();return e.h=(e.h+180)%360,new t(e)},t.prototype.monochromatic=function(e){e===void 0&&(e=6);for(var n=this.toHsv(),o=n.h,i=n.s,r=n.v,a=[],l=1/e;e--;)a.push(new t({h:o,s:i,v:r})),r=(r+l)%1;return a},t.prototype.splitcomplement=function(){var e=this.toHsl(),n=e.h;return[this,new t({h:(n+72)%360,s:e.s,l:e.l}),new t({h:(n+216)%360,s:e.s,l:e.l})]},t.prototype.onBackground=function(e){var n=this.toRgb(),o=new t(e).toRgb(),i=n.a+o.a*(1-n.a);return new t({r:(n.r*n.a+o.r*o.a*(1-n.a))/i,g:(n.g*n.a+o.g*o.a*(1-n.a))/i,b:(n.b*n.a+o.b*o.a*(1-n.a))/i,a:i})},t.prototype.triad=function(){return this.polyad(3)},t.prototype.tetrad=function(){return this.polyad(4)},t.prototype.polyad=function(e){for(var n=this.toHsl(),o=n.h,i=[this],r=360/e,a=1;a=60&&Math.round(t.h)<=240?o=n?Math.round(t.h)-oY*e:Math.round(t.h)+oY*e:o=n?Math.round(t.h)+oY*e:Math.round(t.h)-oY*e,o<0?o+=360:o>=360&&(o-=360),o}function w7e(t,e,n){if(t.h===0&&t.s===0)return t.s;var o;return n?o=t.s-m7e*e:e===uOe?o=t.s+m7e:o=t.s+uSt*e,o>1&&(o=1),n&&e===cOe&&o>.1&&(o=.1),o<.06&&(o=.06),Number(o.toFixed(2))}function v7e(t,e,n){var o;return n?o=t.v+dSt*e:o=t.v-fSt*e,o>1&&(o=1),Number(o.toFixed(2))}function eR(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=d2(t),i=cOe;i>0;i-=1){var r=y7e(o),a=iY(d2({h:A7e(r,i,!0),s:w7e(r,i,!0),v:v7e(r,i,!0)}));n.push(a)}n.push(iY(o));for(var l=1;l<=uOe;l+=1){var s=y7e(o),c=iY(d2({h:A7e(s,l),s:w7e(s,l),v:v7e(s,l)}));n.push(c)}return e.theme==="dark"?hSt.map(function(u){var d=u.index,f=u.opacity,p=iY(pSt(d2(e.backgroundColor||"#141414"),d2(n[d]),f*100));return p}):n}var die={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},M_={},fie={};Object.keys(die).forEach(function(t){M_[t]=eR(die[t]),M_[t].primary=M_[t][5],fie[t]=eR(die[t],{theme:"dark",backgroundColor:"#141414"}),fie[t].primary=fie[t][5]});var gSt=M_.gold;const dOe={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},Bk=Object.assign(Object.assign({},dOe),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', -'Noto Color Emoji'`,fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0});function ASt(t,e){let{generateColorPalettes:n,generateNeutralColorPalettes:o}=e;const{colorSuccess:i,colorWarning:r,colorError:a,colorInfo:l,colorPrimary:s,colorBgBase:c,colorTextBase:u}=t,d=n(s),f=n(i),p=n(r),g=n(a),y=n(l),A=o(c,u),x=t.colorLink||t.colorInfo,C=n(x);return Object.assign(Object.assign({},A),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:f[1],colorSuccessBgHover:f[2],colorSuccessBorder:f[3],colorSuccessBorderHover:f[4],colorSuccessHover:f[4],colorSuccess:f[6],colorSuccessActive:f[7],colorSuccessTextHover:f[8],colorSuccessText:f[9],colorSuccessTextActive:f[10],colorErrorBg:g[1],colorErrorBgHover:g[2],colorErrorBorder:g[3],colorErrorBorderHover:g[4],colorErrorHover:g[5],colorError:g[6],colorErrorActive:g[7],colorErrorTextHover:g[8],colorErrorText:g[9],colorErrorTextActive:g[10],colorWarningBg:p[1],colorWarningBgHover:p[2],colorWarningBorder:p[3],colorWarningBorderHover:p[4],colorWarningHover:p[4],colorWarning:p[6],colorWarningActive:p[7],colorWarningTextHover:p[8],colorWarningText:p[9],colorWarningTextActive:p[10],colorInfoBg:y[1],colorInfoBgHover:y[2],colorInfoBorder:y[3],colorInfoBorderHover:y[4],colorInfoHover:y[4],colorInfo:y[6],colorInfoActive:y[7],colorInfoTextHover:y[8],colorInfoText:y[9],colorInfoTextActive:y[10],colorLinkHover:C[4],colorLink:C[6],colorLinkActive:C[7],colorBgMask:new Il("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}const wSt=t=>{let e=t,n=t,o=t,i=t;return t<6&&t>=5?e=t+1:t<16&&t>=6?e=t+2:t>=16&&(e=16),t<7&&t>=5?n=4:t<8&&t>=7?n=5:t<14&&t>=8?n=6:t<16&&t>=14?n=7:t>=16&&(n=8),t<6&&t>=2?o=1:t>=6&&(o=2),t>4&&t<8?i=4:t>=8&&(i=6),{borderRadius:t,borderRadiusXS:o,borderRadiusSM:n,borderRadiusLG:e,borderRadiusOuter:i}};function vSt(t){const{motionUnit:e,motionBase:n,borderRadius:o,lineWidth:i}=t;return Object.assign({motionDurationFast:`${(n+e).toFixed(1)}s`,motionDurationMid:`${(n+e*2).toFixed(1)}s`,motionDurationSlow:`${(n+e*3).toFixed(1)}s`,lineWidthBold:i+1},wSt(o))}const xSt=t=>{const{controlHeight:e}=t;return{controlHeightSM:e*.75,controlHeightXS:e*.5,controlHeightLG:e*1.25}};function I_(t){return(t+8)/t}function bSt(t){const e=new Array(10).fill(null).map((n,o)=>{const i=o-1,r=t*Math.pow(2.71828,i/5),a=o>1?Math.floor(r):Math.ceil(r);return Math.floor(a/2)*2});return e[1]=t,e.map(n=>({size:n,lineHeight:I_(n)}))}const SSt=t=>{const e=bSt(t),n=e.map(u=>u.size),o=e.map(u=>u.lineHeight),i=n[1],r=n[0],a=n[2],l=o[1],s=o[0],c=o[2];return{fontSizeSM:r,fontSize:i,fontSizeLG:a,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:l,lineHeightLG:c,lineHeightSM:s,fontHeight:Math.round(l*i),fontHeightLG:Math.round(c*a),fontHeightSM:Math.round(s*r),lineHeightHeading1:o[6],lineHeightHeading2:o[5],lineHeightHeading3:o[4],lineHeightHeading4:o[3],lineHeightHeading5:o[2]}};function TSt(t){const{sizeUnit:e,sizeStep:n}=t;return{sizeXXL:e*(n+8),sizeXL:e*(n+4),sizeLG:e*(n+2),sizeMD:e*(n+1),sizeMS:e*n,size:e*n,sizeSM:e*(n-1),sizeXS:e*(n-2),sizeXXS:e*(n-3)}}const q3=(t,e)=>new Il(t).setAlpha(e).toRgbString(),wz=(t,e)=>new Il(t).darken(e).toHexString(),PSt=t=>{const e=eR(t);return{1:e[0],2:e[1],3:e[2],4:e[3],5:e[4],6:e[5],7:e[6],8:e[4],9:e[5],10:e[6]}},CSt=(t,e)=>{const n=t||"#fff",o=e||"#000";return{colorBgBase:n,colorTextBase:o,colorText:q3(o,.88),colorTextSecondary:q3(o,.65),colorTextTertiary:q3(o,.45),colorTextQuaternary:q3(o,.25),colorFill:q3(o,.15),colorFillSecondary:q3(o,.06),colorFillTertiary:q3(o,.04),colorFillQuaternary:q3(o,.02),colorBgLayout:wz(n,4),colorBgContainer:wz(n,0),colorBgElevated:wz(n,0),colorBgSpotlight:q3(o,.85),colorBgBlur:"transparent",colorBorder:wz(n,15),colorBorderSecondary:wz(n,6)}};function RSt(t){const e=Object.keys(dOe).map(n=>{const o=eR(t[n]);return new Array(10).fill(1).reduce((i,r,a)=>(i[`${n}-${a+1}`]=o[a],i[`${n}${a+1}`]=o[a],i),{})}).reduce((n,o)=>(n=Object.assign(Object.assign({},n),o),n),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},t),e),ASt(t,{generateColorPalettes:PSt,generateNeutralColorPalettes:CSt})),SSt(t.fontSize)),TSt(t)),xSt(t)),vSt(t))}const fOe=Ice(RSt),Uce={token:Bk,override:{override:Bk},hashed:!0},hOe=Se.createContext(Uce),Mge="anticon",HSt=(t,e)=>e||(t?`ant-${t}`:"ant"),Mi=m.createContext({getPrefixCls:HSt,iconPrefixCls:Mge});function gW(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function MSt(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var n=e;n;){if(n===t)return!0;n=n.parentNode}return!1}var x7e="data-rc-order",b7e="data-rc-priority",ISt="rc-util-key",Bce=new Map;function pOe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith("data-")?e:"data-".concat(e):ISt}function Ige(t){if(t.attachTo)return t.attachTo;var e=document.querySelector("head");return e||document.body}function zSt(t){return t==="queue"?"prependQueue":t?"prepend":"append"}function zge(t){return Array.from((Bce.get(t)||t).children).filter(function(e){return e.tagName==="STYLE"})}function gOe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!gW())return null;var n=e.csp,o=e.prepend,i=e.priority,r=i===void 0?0:i,a=zSt(o),l=a==="prependQueue",s=document.createElement("style");s.setAttribute(x7e,a),l&&r&&s.setAttribute(b7e,"".concat(r)),n!=null&&n.nonce&&(s.nonce=n==null?void 0:n.nonce),s.innerHTML=t;var c=Ige(e),u=c.firstChild;if(o){if(l){var d=(e.styles||zge(c)).filter(function(f){if(!["prepend","prependQueue"].includes(f.getAttribute(x7e)))return!1;var p=Number(f.getAttribute(b7e)||0);return r>=p});if(d.length)return c.insertBefore(s,d[d.length-1].nextSibling),s}c.insertBefore(s,u)}else c.appendChild(s);return s}function DSt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Ige(e);return(e.styles||zge(n)).find(function(o){return o.getAttribute(pOe(e))===t})}function ESt(t,e){var n=Bce.get(t);if(!n||!MSt(document,n)){var o=gOe("",e),i=o.parentNode;Bce.set(t,i),t.removeChild(o)}}function kSt(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=Ige(n),i=zge(o),r=$C($C({},n),{},{styles:i});ESt(o,r);var a=DSt(e,r);if(a){var l,s;if((l=r.csp)!==null&&l!==void 0&&l.nonce&&a.nonce!==((s=r.csp)===null||s===void 0?void 0:s.nonce)){var c;a.nonce=(c=r.csp)===null||c===void 0?void 0:c.nonce}return a.innerHTML!==t&&(a.innerHTML=t),a}var u=gOe(t,r);return u.setAttribute(pOe(r),e),u}const FSt=`-ant-${Date.now()}-${Math.random()}`;function LSt(t,e){const n={},o=(a,l)=>{let s=a.clone();return s=(l==null?void 0:l(s))||s,s.toRgbString()},i=(a,l)=>{const s=new Il(a),c=eR(s.toRgbString());n[`${l}-color`]=o(s),n[`${l}-color-disabled`]=c[1],n[`${l}-color-hover`]=c[4],n[`${l}-color-active`]=c[6],n[`${l}-color-outline`]=s.clone().setAlpha(.2).toRgbString(),n[`${l}-color-deprecated-bg`]=c[0],n[`${l}-color-deprecated-border`]=c[2]};if(e.primaryColor){i(e.primaryColor,"primary");const a=new Il(e.primaryColor),l=eR(a.toRgbString());l.forEach((c,u)=>{n[`primary-${u+1}`]=c}),n["primary-color-deprecated-l-35"]=o(a,c=>c.lighten(35)),n["primary-color-deprecated-l-20"]=o(a,c=>c.lighten(20)),n["primary-color-deprecated-t-20"]=o(a,c=>c.tint(20)),n["primary-color-deprecated-t-50"]=o(a,c=>c.tint(50)),n["primary-color-deprecated-f-12"]=o(a,c=>c.setAlpha(c.getAlpha()*.12));const s=new Il(l[0]);n["primary-color-active-deprecated-f-30"]=o(s,c=>c.setAlpha(c.getAlpha()*.3)),n["primary-color-active-deprecated-d-02"]=o(s,c=>c.darken(2))}return e.successColor&&i(e.successColor,"success"),e.warningColor&&i(e.warningColor,"warning"),e.errorColor&&i(e.errorColor,"error"),e.infoColor&&i(e.infoColor,"info"),` +'Noto Color Emoji'`,fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0});function mSt(t,e){let{generateColorPalettes:n,generateNeutralColorPalettes:o}=e;const{colorSuccess:i,colorWarning:r,colorError:a,colorInfo:l,colorPrimary:s,colorBgBase:c,colorTextBase:u}=t,d=n(s),f=n(i),p=n(r),g=n(a),y=n(l),A=o(c,u),x=t.colorLink||t.colorInfo,C=n(x);return Object.assign(Object.assign({},A),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:f[1],colorSuccessBgHover:f[2],colorSuccessBorder:f[3],colorSuccessBorderHover:f[4],colorSuccessHover:f[4],colorSuccess:f[6],colorSuccessActive:f[7],colorSuccessTextHover:f[8],colorSuccessText:f[9],colorSuccessTextActive:f[10],colorErrorBg:g[1],colorErrorBgHover:g[2],colorErrorBorder:g[3],colorErrorBorderHover:g[4],colorErrorHover:g[5],colorError:g[6],colorErrorActive:g[7],colorErrorTextHover:g[8],colorErrorText:g[9],colorErrorTextActive:g[10],colorWarningBg:p[1],colorWarningBgHover:p[2],colorWarningBorder:p[3],colorWarningBorderHover:p[4],colorWarningHover:p[4],colorWarning:p[6],colorWarningActive:p[7],colorWarningTextHover:p[8],colorWarningText:p[9],colorWarningTextActive:p[10],colorInfoBg:y[1],colorInfoBgHover:y[2],colorInfoBorder:y[3],colorInfoBorderHover:y[4],colorInfoHover:y[4],colorInfo:y[6],colorInfoActive:y[7],colorInfoTextHover:y[8],colorInfoText:y[9],colorInfoTextActive:y[10],colorLinkHover:C[4],colorLink:C[6],colorLinkActive:C[7],colorBgMask:new Il("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}const ySt=t=>{let e=t,n=t,o=t,i=t;return t<6&&t>=5?e=t+1:t<16&&t>=6?e=t+2:t>=16&&(e=16),t<7&&t>=5?n=4:t<8&&t>=7?n=5:t<14&&t>=8?n=6:t<16&&t>=14?n=7:t>=16&&(n=8),t<6&&t>=2?o=1:t>=6&&(o=2),t>4&&t<8?i=4:t>=8&&(i=6),{borderRadius:t,borderRadiusXS:o,borderRadiusSM:n,borderRadiusLG:e,borderRadiusOuter:i}};function ASt(t){const{motionUnit:e,motionBase:n,borderRadius:o,lineWidth:i}=t;return Object.assign({motionDurationFast:`${(n+e).toFixed(1)}s`,motionDurationMid:`${(n+e*2).toFixed(1)}s`,motionDurationSlow:`${(n+e*3).toFixed(1)}s`,lineWidthBold:i+1},ySt(o))}const wSt=t=>{const{controlHeight:e}=t;return{controlHeightSM:e*.75,controlHeightXS:e*.5,controlHeightLG:e*1.25}};function I_(t){return(t+8)/t}function vSt(t){const e=new Array(10).fill(null).map((n,o)=>{const i=o-1,r=t*Math.pow(2.71828,i/5),a=o>1?Math.floor(r):Math.ceil(r);return Math.floor(a/2)*2});return e[1]=t,e.map(n=>({size:n,lineHeight:I_(n)}))}const xSt=t=>{const e=vSt(t),n=e.map(u=>u.size),o=e.map(u=>u.lineHeight),i=n[1],r=n[0],a=n[2],l=o[1],s=o[0],c=o[2];return{fontSizeSM:r,fontSize:i,fontSizeLG:a,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:l,lineHeightLG:c,lineHeightSM:s,fontHeight:Math.round(l*i),fontHeightLG:Math.round(c*a),fontHeightSM:Math.round(s*r),lineHeightHeading1:o[6],lineHeightHeading2:o[5],lineHeightHeading3:o[4],lineHeightHeading4:o[3],lineHeightHeading5:o[2]}};function bSt(t){const{sizeUnit:e,sizeStep:n}=t;return{sizeXXL:e*(n+8),sizeXL:e*(n+4),sizeLG:e*(n+2),sizeMD:e*(n+1),sizeMS:e*n,size:e*n,sizeSM:e*(n-1),sizeXS:e*(n-2),sizeXXS:e*(n-3)}}const q3=(t,e)=>new Il(t).setAlpha(e).toRgbString(),wz=(t,e)=>new Il(t).darken(e).toHexString(),SSt=t=>{const e=eR(t);return{1:e[0],2:e[1],3:e[2],4:e[3],5:e[4],6:e[5],7:e[6],8:e[4],9:e[5],10:e[6]}},TSt=(t,e)=>{const n=t||"#fff",o=e||"#000";return{colorBgBase:n,colorTextBase:o,colorText:q3(o,.88),colorTextSecondary:q3(o,.65),colorTextTertiary:q3(o,.45),colorTextQuaternary:q3(o,.25),colorFill:q3(o,.15),colorFillSecondary:q3(o,.06),colorFillTertiary:q3(o,.04),colorFillQuaternary:q3(o,.02),colorBgLayout:wz(n,4),colorBgContainer:wz(n,0),colorBgElevated:wz(n,0),colorBgSpotlight:q3(o,.85),colorBgBlur:"transparent",colorBorder:wz(n,15),colorBorderSecondary:wz(n,6)}};function PSt(t){const e=Object.keys(dOe).map(n=>{const o=eR(t[n]);return new Array(10).fill(1).reduce((i,r,a)=>(i[`${n}-${a+1}`]=o[a],i[`${n}${a+1}`]=o[a],i),{})}).reduce((n,o)=>(n=Object.assign(Object.assign({},n),o),n),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},t),e),mSt(t,{generateColorPalettes:SSt,generateNeutralColorPalettes:TSt})),xSt(t.fontSize)),bSt(t)),wSt(t)),ASt(t))}const fOe=Ice(PSt),Uce={token:Bk,override:{override:Bk},hashed:!0},hOe=Se.createContext(Uce),Mge="anticon",CSt=(t,e)=>e||(t?`ant-${t}`:"ant"),Mi=m.createContext({getPrefixCls:CSt,iconPrefixCls:Mge});function gW(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function RSt(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var n=e;n;){if(n===t)return!0;n=n.parentNode}return!1}var x7e="data-rc-order",b7e="data-rc-priority",HSt="rc-util-key",Bce=new Map;function pOe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith("data-")?e:"data-".concat(e):HSt}function Ige(t){if(t.attachTo)return t.attachTo;var e=document.querySelector("head");return e||document.body}function MSt(t){return t==="queue"?"prependQueue":t?"prepend":"append"}function zge(t){return Array.from((Bce.get(t)||t).children).filter(function(e){return e.tagName==="STYLE"})}function gOe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!gW())return null;var n=e.csp,o=e.prepend,i=e.priority,r=i===void 0?0:i,a=MSt(o),l=a==="prependQueue",s=document.createElement("style");s.setAttribute(x7e,a),l&&r&&s.setAttribute(b7e,"".concat(r)),n!=null&&n.nonce&&(s.nonce=n==null?void 0:n.nonce),s.innerHTML=t;var c=Ige(e),u=c.firstChild;if(o){if(l){var d=(e.styles||zge(c)).filter(function(f){if(!["prepend","prependQueue"].includes(f.getAttribute(x7e)))return!1;var p=Number(f.getAttribute(b7e)||0);return r>=p});if(d.length)return c.insertBefore(s,d[d.length-1].nextSibling),s}c.insertBefore(s,u)}else c.appendChild(s);return s}function ISt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Ige(e);return(e.styles||zge(n)).find(function(o){return o.getAttribute(pOe(e))===t})}function zSt(t,e){var n=Bce.get(t);if(!n||!RSt(document,n)){var o=gOe("",e),i=o.parentNode;Bce.set(t,i),t.removeChild(o)}}function DSt(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=Ige(n),i=zge(o),r=$C($C({},n),{},{styles:i});zSt(o,r);var a=ISt(e,r);if(a){var l,s;if((l=r.csp)!==null&&l!==void 0&&l.nonce&&a.nonce!==((s=r.csp)===null||s===void 0?void 0:s.nonce)){var c;a.nonce=(c=r.csp)===null||c===void 0?void 0:c.nonce}return a.innerHTML!==t&&(a.innerHTML=t),a}var u=gOe(t,r);return u.setAttribute(pOe(r),e),u}const ESt=`-ant-${Date.now()}-${Math.random()}`;function kSt(t,e){const n={},o=(a,l)=>{let s=a.clone();return s=(l==null?void 0:l(s))||s,s.toRgbString()},i=(a,l)=>{const s=new Il(a),c=eR(s.toRgbString());n[`${l}-color`]=o(s),n[`${l}-color-disabled`]=c[1],n[`${l}-color-hover`]=c[4],n[`${l}-color-active`]=c[6],n[`${l}-color-outline`]=s.clone().setAlpha(.2).toRgbString(),n[`${l}-color-deprecated-bg`]=c[0],n[`${l}-color-deprecated-border`]=c[2]};if(e.primaryColor){i(e.primaryColor,"primary");const a=new Il(e.primaryColor),l=eR(a.toRgbString());l.forEach((c,u)=>{n[`primary-${u+1}`]=c}),n["primary-color-deprecated-l-35"]=o(a,c=>c.lighten(35)),n["primary-color-deprecated-l-20"]=o(a,c=>c.lighten(20)),n["primary-color-deprecated-t-20"]=o(a,c=>c.tint(20)),n["primary-color-deprecated-t-50"]=o(a,c=>c.tint(50)),n["primary-color-deprecated-f-12"]=o(a,c=>c.setAlpha(c.getAlpha()*.12));const s=new Il(l[0]);n["primary-color-active-deprecated-f-30"]=o(s,c=>c.setAlpha(c.getAlpha()*.3)),n["primary-color-active-deprecated-d-02"]=o(s,c=>c.darken(2))}return e.successColor&&i(e.successColor,"success"),e.warningColor&&i(e.warningColor,"warning"),e.errorColor&&i(e.errorColor,"error"),e.infoColor&&i(e.infoColor,"info"),` :root { ${Object.keys(n).map(a=>`--${t}-${a}: ${n[a]};`).join(` `)} } - `.trim()}function WSt(t,e){const n=LSt(t,e);gW()&&kSt(n,`${FSt}-dynamic-theme`)}const qp=m.createContext(!1),mOe=t=>{let{children:e,disabled:n}=t;const o=m.useContext(qp);return m.createElement(qp.Provider,{value:n??o},e)},tR=m.createContext(void 0),NSt=t=>{let{children:e,size:n}=t;const o=m.useContext(tR);return m.createElement(tR.Provider,{value:n||o},e)};function USt(){const t=m.useContext(qp),e=m.useContext(tR);return{componentDisabled:t,componentSize:e}}function jce(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=new Set;function i(r,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=o.has(r);if(s)return!1;if(r===a)return!0;if(n&&l>1)return!1;o.add(r);var c=l+1;if(Array.isArray(r)){if(!Array.isArray(a)||r.length!==a.length)return!1;for(var u=0;u=0&&t<=255}function rY(t,e){const{r:n,g:o,b:i,a:r}=new Il(t).toRgb();if(r<1)return t;const{r:a,g:l,b:s}=new Il(e).toRgb();for(let c=.01;c<=1;c+=.01){const u=Math.round((n-a*(1-c))/c),d=Math.round((o-l*(1-c))/c),f=Math.round((i-s*(1-c))/c);if(hie(u)&&hie(d)&&hie(f))return new Il({r:u,g:d,b:f,a:Math.round(c*100)/100}).toRgbString()}return new Il({r:n,g:o,b:i,a:1}).toRgbString()}var jSt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{delete o[f]});const i=Object.assign(Object.assign({},n),o),r=480,a=576,l=768,s=992,c=1200,u=1600;if(i.motion===!1){const f="0s";i.motionDurationFast=f,i.motionDurationMid=f,i.motionDurationSlow=f}return Object.assign(Object.assign(Object.assign({},i),{colorFillContent:i.colorFillSecondary,colorFillContentHover:i.colorFill,colorFillAlter:i.colorFillQuaternary,colorBgContainerDisabled:i.colorFillTertiary,colorBorderBg:i.colorBgContainer,colorSplit:rY(i.colorBorderSecondary,i.colorBgContainer),colorTextPlaceholder:i.colorTextQuaternary,colorTextDisabled:i.colorTextQuaternary,colorTextHeading:i.colorText,colorTextLabel:i.colorTextSecondary,colorTextDescription:i.colorTextTertiary,colorTextLightSolid:i.colorWhite,colorHighlight:i.colorError,colorBgTextHover:i.colorFillSecondary,colorBgTextActive:i.colorFill,colorIcon:i.colorTextTertiary,colorIconHover:i.colorText,colorErrorOutline:rY(i.colorErrorBg,i.colorBgContainer),colorWarningOutline:rY(i.colorWarningBg,i.colorBgContainer),fontSizeIcon:i.fontSizeSM,lineWidthFocus:i.lineWidth*4,lineWidth:i.lineWidth,controlOutlineWidth:i.lineWidth*2,controlInteractiveSize:i.controlHeight/2,controlItemBgHover:i.colorFillTertiary,controlItemBgActive:i.colorPrimaryBg,controlItemBgActiveHover:i.colorPrimaryBgHover,controlItemBgActiveDisabled:i.colorFill,controlTmpOutline:i.colorFillQuaternary,controlOutline:rY(i.colorPrimaryBg,i.colorBgContainer),lineType:i.lineType,borderRadius:i.borderRadius,borderRadiusXS:i.borderRadiusXS,borderRadiusSM:i.borderRadiusSM,borderRadiusLG:i.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:i.sizeXXS,paddingXS:i.sizeXS,paddingSM:i.sizeSM,padding:i.size,paddingMD:i.sizeMD,paddingLG:i.sizeLG,paddingXL:i.sizeXL,paddingContentHorizontalLG:i.sizeLG,paddingContentVerticalLG:i.sizeMS,paddingContentHorizontal:i.sizeMS,paddingContentVertical:i.sizeSM,paddingContentHorizontalSM:i.size,paddingContentVerticalSM:i.sizeXS,marginXXS:i.sizeXXS,marginXS:i.sizeXS,marginSM:i.sizeSM,margin:i.size,marginMD:i.sizeMD,marginLG:i.sizeLG,marginXL:i.sizeXL,marginXXL:i.sizeXXL,boxShadow:` + `.trim()}function FSt(t,e){const n=kSt(t,e);gW()&&DSt(n,`${ESt}-dynamic-theme`)}const $p=m.createContext(!1),mOe=t=>{let{children:e,disabled:n}=t;const o=m.useContext($p);return m.createElement($p.Provider,{value:n??o},e)},tR=m.createContext(void 0),LSt=t=>{let{children:e,size:n}=t;const o=m.useContext(tR);return m.createElement(tR.Provider,{value:n||o},e)};function WSt(){const t=m.useContext($p),e=m.useContext(tR);return{componentDisabled:t,componentSize:e}}function jce(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=new Set;function i(r,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=o.has(r);if(s)return!1;if(r===a)return!0;if(n&&l>1)return!1;o.add(r);var c=l+1;if(Array.isArray(r)){if(!Array.isArray(a)||r.length!==a.length)return!1;for(var u=0;u=0&&t<=255}function rY(t,e){const{r:n,g:o,b:i,a:r}=new Il(t).toRgb();if(r<1)return t;const{r:a,g:l,b:s}=new Il(e).toRgb();for(let c=.01;c<=1;c+=.01){const u=Math.round((n-a*(1-c))/c),d=Math.round((o-l*(1-c))/c),f=Math.round((i-s*(1-c))/c);if(hie(u)&&hie(d)&&hie(f))return new Il({r:u,g:d,b:f,a:Math.round(c*100)/100}).toRgbString()}return new Il({r:n,g:o,b:i,a:1}).toRgbString()}var USt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{delete o[f]});const i=Object.assign(Object.assign({},n),o),r=480,a=576,l=768,s=992,c=1200,u=1600;if(i.motion===!1){const f="0s";i.motionDurationFast=f,i.motionDurationMid=f,i.motionDurationSlow=f}return Object.assign(Object.assign(Object.assign({},i),{colorFillContent:i.colorFillSecondary,colorFillContentHover:i.colorFill,colorFillAlter:i.colorFillQuaternary,colorBgContainerDisabled:i.colorFillTertiary,colorBorderBg:i.colorBgContainer,colorSplit:rY(i.colorBorderSecondary,i.colorBgContainer),colorTextPlaceholder:i.colorTextQuaternary,colorTextDisabled:i.colorTextQuaternary,colorTextHeading:i.colorText,colorTextLabel:i.colorTextSecondary,colorTextDescription:i.colorTextTertiary,colorTextLightSolid:i.colorWhite,colorHighlight:i.colorError,colorBgTextHover:i.colorFillSecondary,colorBgTextActive:i.colorFill,colorIcon:i.colorTextTertiary,colorIconHover:i.colorText,colorErrorOutline:rY(i.colorErrorBg,i.colorBgContainer),colorWarningOutline:rY(i.colorWarningBg,i.colorBgContainer),fontSizeIcon:i.fontSizeSM,lineWidthFocus:i.lineWidth*4,lineWidth:i.lineWidth,controlOutlineWidth:i.lineWidth*2,controlInteractiveSize:i.controlHeight/2,controlItemBgHover:i.colorFillTertiary,controlItemBgActive:i.colorPrimaryBg,controlItemBgActiveHover:i.colorPrimaryBgHover,controlItemBgActiveDisabled:i.colorFill,controlTmpOutline:i.colorFillQuaternary,controlOutline:rY(i.colorPrimaryBg,i.colorBgContainer),lineType:i.lineType,borderRadius:i.borderRadius,borderRadiusXS:i.borderRadiusXS,borderRadiusSM:i.borderRadiusSM,borderRadiusLG:i.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:i.sizeXXS,paddingXS:i.sizeXS,paddingSM:i.sizeSM,padding:i.size,paddingMD:i.sizeMD,paddingLG:i.sizeLG,paddingXL:i.sizeXL,paddingContentHorizontalLG:i.sizeLG,paddingContentVerticalLG:i.sizeMS,paddingContentHorizontal:i.sizeMS,paddingContentVertical:i.sizeSM,paddingContentHorizontalSM:i.size,paddingContentVerticalSM:i.sizeXS,marginXXS:i.sizeXXS,marginXS:i.sizeXS,marginSM:i.sizeSM,margin:i.size,marginMD:i.sizeMD,marginLG:i.sizeLG,marginXL:i.sizeXL,marginXXL:i.sizeXXL,boxShadow:` 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05) @@ -4364,7 +4364,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho 0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05) - `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),o)}var S7e=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const o=n.getDerivativeToken(t),{override:i}=e,r=S7e(e,["override"]);let a=Object.assign(Object.assign({},o),{override:i});return a=yOe(a),r&&Object.entries(r).forEach(l=>{let[s,c]=l;const{theme:u}=c,d=S7e(c,["theme"]);let f=d;u&&(f=vOe(Object.assign(Object.assign({},a),d),{override:d},u)),a[s]=f}),a};function Yu(){const{token:t,hashed:e,theme:n,override:o,cssVar:i}=Se.useContext(hOe),r=`${BSt}-${e||""}`,a=n||fOe,[l,s,c]=dbt(a,[Bk,t],{salt:r,override:o,getComputedToken:vOe,formatToken:yOe,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:AOe,ignore:wOe,preserve:YSt}});return[a,c,e?s:"",l,i]}function Dge(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function nR(t){"@babel/helpers - typeof";return nR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nR(t)}function OSt(t,e){if(nR(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(nR(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function _St(t){var e=OSt(t,"string");return nR(e)=="symbol"?e:e+""}function VSt(t,e){for(var n=0;n{const e=t==="css"?KSt:qSt;return n=>new e(n)};function O6(t){var e=m.useRef();e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a{const o=n.getDerivativeToken(t),{override:i}=e,r=S7e(e,["override"]);let a=Object.assign(Object.assign({},o),{override:i});return a=yOe(a),r&&Object.entries(r).forEach(l=>{let[s,c]=l;const{theme:u}=c,d=S7e(c,["theme"]);let f=d;u&&(f=vOe(Object.assign(Object.assign({},a),d),{override:d},u)),a[s]=f}),a};function Yu(){const{token:t,hashed:e,theme:n,override:o,cssVar:i}=Se.useContext(hOe),r=`${NSt}-${e||""}`,a=n||fOe,[l,s,c]=cbt(a,[Bk,t],{salt:r,override:o,getComputedToken:vOe,formatToken:yOe,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:AOe,ignore:wOe,preserve:BSt}});return[a,c,e?s:"",l,i]}function Dge(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function nR(t){"@babel/helpers - typeof";return nR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nR(t)}function jSt(t,e){if(nR(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(nR(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function YSt(t){var e=jSt(t,"string");return nR(e)=="symbol"?e:e+""}function OSt(t,e){for(var n=0;n{const e=t==="css"?XSt:JSt;return n=>new e(n)};function O6(t){var e=m.useRef();e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a({color:t.colorLink,textDecoration:"none",outline:"none",cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"&:focus, &:hover":{color:t.colorLinkHover},"&:active":{color:t.colorLinkActive}}),Yx={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},$a=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return{boxSizing:"border-box",margin:0,padding:0,color:t.colorText,fontSize:t.fontSize,lineHeight:t.lineHeight,listStyle:"none",fontFamily:e?"inherit":t.fontFamily}},CH=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),Yk=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),iTt=t=>({a:{color:t.colorLink,textDecoration:t.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:t.colorLinkHover},"&:active":{color:t.colorLinkActive},"&:active,\n &:hover":{textDecoration:t.linkHoverDecoration,outline:0},"&:focus":{textDecoration:t.linkFocusDecoration,outline:0},"&[disabled]":{color:t.colorTextDisabled,cursor:"not-allowed"}}}),rTt=(t,e,n,o)=>{const i=`[class^="${e}"], [class*=" ${e}"]`,r=n?`.${n}`:i,a={boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}};let l={};return o!==!1&&(l={fontFamily:t.fontFamily,fontSize:t.fontSize}),{[r]:Object.assign(Object.assign(Object.assign({},l),a),{[i]:a})}},n7=t=>({outline:`${Ut(t.lineWidthFocus)} solid ${t.colorPrimaryBorder}`,outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),V6=t=>({"&:focus-visible":Object.assign({},n7(t))});function aTt(t){return t==="js"?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,n=new Array(e),o=0;oUt(i)).join(",")})`},min:function(){for(var e=arguments.length,n=new Array(e),o=0;oUt(i)).join(",")})`}}}const MOe=typeof CSSINJS_STATISTIC<"u";let Vce=!0;function Zr(){for(var t=arguments.length,e=new Array(t),n=0;n{Object.keys(i).forEach(a=>{Object.defineProperty(o,a,{configurable:!0,enumerable:!0,get:()=>i[a]})})}),Vce=!0,o}const C7e={};function lTt(){}const sTt=t=>{let e,n=t,o=lTt;return MOe&&typeof Proxy<"u"&&(e=new Set,n=new Proxy(t,{get(i,r){return Vce&&e.add(r),i[r]}}),o=(i,r)=>{var a;C7e[i]={global:Array.from(e),component:Object.assign(Object.assign({},(a=C7e[i])===null||a===void 0?void 0:a.component),r)}}),{token:n,keys:e,flush:o}},IOe=(t,e)=>{const[n,o]=Yu();return Fce({theme:n,token:o,hashId:"",path:["ant-design-icons",t],nonce:()=>e==null?void 0:e.nonce,layer:{name:"antd"}},()=>[{[`.${t}`]:Object.assign(Object.assign({},CH()),{[`.${t} .${t}-icon`]:{display:"block"}})}])},zOe=(t,e,n)=>{var o;return typeof n=="function"?n(Zr(e,(o=e[t])!==null&&o!==void 0?o:{})):n??{}},DOe=(t,e,n,o)=>{const i=Object.assign({},e[t]);if(o!=null&&o.deprecatedTokens){const{deprecatedTokens:a}=o;a.forEach(l=>{let[s,c]=l;var u;(i!=null&&i[s]||i!=null&&i[c])&&((u=i[c])!==null&&u!==void 0||(i[c]=i==null?void 0:i[s]))})}const r=Object.assign(Object.assign({},n),i);return Object.keys(r).forEach(a=>{r[a]===e[a]&&delete r[a]}),r},cTt=(t,e)=>`${[e,t.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-")}`;function Wge(t,e,n){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=Array.isArray(t)?t:[t,t],[r]=i,a=i.join("-");return function(l){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l;const[c,u,d,f,p]=Yu(),{getPrefixCls:g,iconPrefixCls:y,csp:A}=m.useContext(Mi),x=g(),C=p?"css":"js",b=$St(C),{max:v,min:S}=aTt(C),w={theme:c,token:f,hashId:d,nonce:()=>A==null?void 0:A.nonce,clientOnly:o.clientOnly,layer:{name:"antd"},order:o.order||-999};return Fce(Object.assign(Object.assign({},w),{clientOnly:!1,path:["Shared",x]}),()=>[{"&":iTt(f)}]),IOe(y,A),[Fce(Object.assign(Object.assign({},w),{path:[a,l,y]}),()=>{if(o.injectStyle===!1)return[];const{token:P,flush:R}=sTt(f),H=zOe(r,u,n),D=`.${l}`,E=DOe(r,u,H,{deprecatedTokens:o.deprecatedTokens});p&&Object.keys(H).forEach(F=>{H[F]=`var(${BYe(F,cTt(r,p.prefix))})`});const L=Zr(P,{componentCls:D,prefixCls:l,iconCls:`.${y}`,antCls:`.${x}`,calc:b,max:v,min:S},p?H:E),U=e(L,{hashId:d,prefixCls:l,rootPrefixCls:x,iconPrefixCls:y});return R(r,E),[o.resetStyle===!1?null:rTt(L,l,s,o.resetFont),U]}),d]}}const mW=(t,e,n,o)=>{const i=Wge(t,e,n,Object.assign({resetStyle:!1,order:-998},o));return a=>{let{prefixCls:l,rootCls:s=l}=a;return i(l,s),null}},uTt=(t,e,n)=>{function o(c){return`${t}${c.slice(0,1).toUpperCase()}${c.slice(1)}`}const{unitless:i={},injectStyle:r=!0}=n??{},a={[o("zIndexPopup")]:!0};Object.keys(i).forEach(c=>{a[o(c)]=i[c]});const l=c=>{let{rootCls:u,cssVar:d}=c;const[,f]=Yu();return Bbt({path:[t],prefix:d.prefix,key:d==null?void 0:d.key,unitless:Object.assign(Object.assign({},AOe),a),ignore:wOe,token:f,scope:u},()=>{const p=zOe(t,f,e),g=DOe(t,f,p,{deprecatedTokens:n==null?void 0:n.deprecatedTokens});return Object.keys(p).forEach(y=>{g[o(y)]=g[y],delete g[y]}),g}),null};return c=>{const[,,,,u]=Yu();return[d=>r&&u?Se.createElement(Se.Fragment,null,Se.createElement(l,{rootCls:c,cssVar:u,component:t}),d):d,u==null?void 0:u.key]}},Fl=(t,e,n,o)=>{const i=Wge(t,e,n,o),r=uTt(Array.isArray(t)?t[0]:t,n,o);return function(a){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a;const[,s]=i(a,l),[c,u]=r(l);return[c,s,u]}};function EOe(t,e){return jk.reduce((n,o)=>{const i=t[`${o}1`],r=t[`${o}3`],a=t[`${o}6`],l=t[`${o}7`];return Object.assign(Object.assign({},n),e(o,{lightColor:i,lightBorderColor:r,darkColor:a,textColor:l}))},{})}const dTt=Object.assign({},oK),{useId:R7e}=dTt,fTt=()=>"",hTt=typeof R7e>"u"?fTt:R7e;function pTt(t,e,n){var o;Hb();const i=t||{},r=i.inherit===!1||!e?Object.assign(Object.assign({},Uce),{hashed:(o=e==null?void 0:e.hashed)!==null&&o!==void 0?o:Uce.hashed,cssVar:e==null?void 0:e.cssVar}):e,a=hTt();return Cge(()=>{var l,s;if(!t)return e;const c=Object.assign({},r.components);Object.keys(t.components||{}).forEach(f=>{c[f]=Object.assign(Object.assign({},c[f]),t.components[f])});const u=`css-var-${a.replace(/:/g,"")}`,d=((l=i.cssVar)!==null&&l!==void 0?l:r.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:n==null?void 0:n.prefixCls},typeof r.cssVar=="object"?r.cssVar:{}),typeof i.cssVar=="object"?i.cssVar:{}),{key:typeof i.cssVar=="object"&&((s=i.cssVar)===null||s===void 0?void 0:s.key)||u});return Object.assign(Object.assign(Object.assign({},r),i),{token:Object.assign(Object.assign({},r.token),i.token),components:c,cssVar:d})},[i,r],(l,s)=>l.some((c,u)=>{const d=s[u];return!jce(c,d,!0)}))}var kOe={exports:{}};/*! + */var kge=Symbol.for("react.element"),Fge=Symbol.for("react.portal"),qq=Symbol.for("react.fragment"),$q=Symbol.for("react.strict_mode"),Qq=Symbol.for("react.profiler"),Zq=Symbol.for("react.provider"),e$=Symbol.for("react.context"),$St=Symbol.for("react.server_context"),t$=Symbol.for("react.forward_ref"),n$=Symbol.for("react.suspense"),o$=Symbol.for("react.suspense_list"),i$=Symbol.for("react.memo"),r$=Symbol.for("react.lazy"),QSt=Symbol.for("react.offscreen"),ROe;ROe=Symbol.for("react.module.reference");function oy(t){if(typeof t=="object"&&t!==null){var e=t.$$typeof;switch(e){case kge:switch(t=t.type,t){case qq:case Qq:case $q:case n$:case o$:return t;default:switch(t=t&&t.$$typeof,t){case $St:case e$:case t$:case r$:case i$:case Zq:return t;default:return e}}case Fge:return e}}}ds.ContextConsumer=e$;ds.ContextProvider=Zq;ds.Element=kge;ds.ForwardRef=t$;ds.Fragment=qq;ds.Lazy=r$;ds.Memo=i$;ds.Portal=Fge;ds.Profiler=Qq;ds.StrictMode=$q;ds.Suspense=n$;ds.SuspenseList=o$;ds.isAsyncMode=function(){return!1};ds.isConcurrentMode=function(){return!1};ds.isContextConsumer=function(t){return oy(t)===e$};ds.isContextProvider=function(t){return oy(t)===Zq};ds.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===kge};ds.isForwardRef=function(t){return oy(t)===t$};ds.isFragment=function(t){return oy(t)===qq};ds.isLazy=function(t){return oy(t)===r$};ds.isMemo=function(t){return oy(t)===i$};ds.isPortal=function(t){return oy(t)===Fge};ds.isProfiler=function(t){return oy(t)===Qq};ds.isStrictMode=function(t){return oy(t)===$q};ds.isSuspense=function(t){return oy(t)===n$};ds.isSuspenseList=function(t){return oy(t)===o$};ds.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===qq||t===Qq||t===$q||t===n$||t===o$||t===QSt||typeof t=="object"&&t!==null&&(t.$$typeof===r$||t.$$typeof===i$||t.$$typeof===Zq||t.$$typeof===e$||t.$$typeof===t$||t.$$typeof===ROe||t.getModuleId!==void 0)};ds.typeOf=oy;COe.exports=ds;var gC=COe.exports,ZSt=function(e,n){typeof e=="function"?e(n):Tg(e)==="object"&&e&&"current"in e&&(e.current=n)},q2=function(){for(var e=arguments.length,n=new Array(e),o=0;o({color:t.colorLink,textDecoration:"none",outline:"none",cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"&:focus, &:hover":{color:t.colorLinkHover},"&:active":{color:t.colorLinkActive}}),Yx={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},$a=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return{boxSizing:"border-box",margin:0,padding:0,color:t.colorText,fontSize:t.fontSize,lineHeight:t.lineHeight,listStyle:"none",fontFamily:e?"inherit":t.fontFamily}},CH=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),Yk=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),nTt=t=>({a:{color:t.colorLink,textDecoration:t.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:t.colorLinkHover},"&:active":{color:t.colorLinkActive},"&:active,\n &:hover":{textDecoration:t.linkHoverDecoration,outline:0},"&:focus":{textDecoration:t.linkFocusDecoration,outline:0},"&[disabled]":{color:t.colorTextDisabled,cursor:"not-allowed"}}}),oTt=(t,e,n,o)=>{const i=`[class^="${e}"], [class*=" ${e}"]`,r=n?`.${n}`:i,a={boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}};let l={};return o!==!1&&(l={fontFamily:t.fontFamily,fontSize:t.fontSize}),{[r]:Object.assign(Object.assign(Object.assign({},l),a),{[i]:a})}},n7=t=>({outline:`${Ut(t.lineWidthFocus)} solid ${t.colorPrimaryBorder}`,outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),V6=t=>({"&:focus-visible":Object.assign({},n7(t))});function iTt(t){return t==="js"?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,n=new Array(e),o=0;oUt(i)).join(",")})`},min:function(){for(var e=arguments.length,n=new Array(e),o=0;oUt(i)).join(",")})`}}}const MOe=typeof CSSINJS_STATISTIC<"u";let Vce=!0;function Zr(){for(var t=arguments.length,e=new Array(t),n=0;n{Object.keys(i).forEach(a=>{Object.defineProperty(o,a,{configurable:!0,enumerable:!0,get:()=>i[a]})})}),Vce=!0,o}const C7e={};function rTt(){}const aTt=t=>{let e,n=t,o=rTt;return MOe&&typeof Proxy<"u"&&(e=new Set,n=new Proxy(t,{get(i,r){return Vce&&e.add(r),i[r]}}),o=(i,r)=>{var a;C7e[i]={global:Array.from(e),component:Object.assign(Object.assign({},(a=C7e[i])===null||a===void 0?void 0:a.component),r)}}),{token:n,keys:e,flush:o}},IOe=(t,e)=>{const[n,o]=Yu();return Fce({theme:n,token:o,hashId:"",path:["ant-design-icons",t],nonce:()=>e==null?void 0:e.nonce,layer:{name:"antd"}},()=>[{[`.${t}`]:Object.assign(Object.assign({},CH()),{[`.${t} .${t}-icon`]:{display:"block"}})}])},zOe=(t,e,n)=>{var o;return typeof n=="function"?n(Zr(e,(o=e[t])!==null&&o!==void 0?o:{})):n??{}},DOe=(t,e,n,o)=>{const i=Object.assign({},e[t]);if(o!=null&&o.deprecatedTokens){const{deprecatedTokens:a}=o;a.forEach(l=>{let[s,c]=l;var u;(i!=null&&i[s]||i!=null&&i[c])&&((u=i[c])!==null&&u!==void 0||(i[c]=i==null?void 0:i[s]))})}const r=Object.assign(Object.assign({},n),i);return Object.keys(r).forEach(a=>{r[a]===e[a]&&delete r[a]}),r},lTt=(t,e)=>`${[e,t.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-")}`;function Wge(t,e,n){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=Array.isArray(t)?t:[t,t],[r]=i,a=i.join("-");return function(l){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l;const[c,u,d,f,p]=Yu(),{getPrefixCls:g,iconPrefixCls:y,csp:A}=m.useContext(Mi),x=g(),C=p?"css":"js",b=KSt(C),{max:v,min:S}=iTt(C),w={theme:c,token:f,hashId:d,nonce:()=>A==null?void 0:A.nonce,clientOnly:o.clientOnly,layer:{name:"antd"},order:o.order||-999};return Fce(Object.assign(Object.assign({},w),{clientOnly:!1,path:["Shared",x]}),()=>[{"&":nTt(f)}]),IOe(y,A),[Fce(Object.assign(Object.assign({},w),{path:[a,l,y]}),()=>{if(o.injectStyle===!1)return[];const{token:P,flush:R}=aTt(f),H=zOe(r,u,n),D=`.${l}`,E=DOe(r,u,H,{deprecatedTokens:o.deprecatedTokens});p&&Object.keys(H).forEach(F=>{H[F]=`var(${BYe(F,lTt(r,p.prefix))})`});const L=Zr(P,{componentCls:D,prefixCls:l,iconCls:`.${y}`,antCls:`.${x}`,calc:b,max:v,min:S},p?H:E),U=e(L,{hashId:d,prefixCls:l,rootPrefixCls:x,iconPrefixCls:y});return R(r,E),[o.resetStyle===!1?null:oTt(L,l,s,o.resetFont),U]}),d]}}const mW=(t,e,n,o)=>{const i=Wge(t,e,n,Object.assign({resetStyle:!1,order:-998},o));return a=>{let{prefixCls:l,rootCls:s=l}=a;return i(l,s),null}},sTt=(t,e,n)=>{function o(c){return`${t}${c.slice(0,1).toUpperCase()}${c.slice(1)}`}const{unitless:i={},injectStyle:r=!0}=n??{},a={[o("zIndexPopup")]:!0};Object.keys(i).forEach(c=>{a[o(c)]=i[c]});const l=c=>{let{rootCls:u,cssVar:d}=c;const[,f]=Yu();return Nbt({path:[t],prefix:d.prefix,key:d==null?void 0:d.key,unitless:Object.assign(Object.assign({},AOe),a),ignore:wOe,token:f,scope:u},()=>{const p=zOe(t,f,e),g=DOe(t,f,p,{deprecatedTokens:n==null?void 0:n.deprecatedTokens});return Object.keys(p).forEach(y=>{g[o(y)]=g[y],delete g[y]}),g}),null};return c=>{const[,,,,u]=Yu();return[d=>r&&u?Se.createElement(Se.Fragment,null,Se.createElement(l,{rootCls:c,cssVar:u,component:t}),d):d,u==null?void 0:u.key]}},Fl=(t,e,n,o)=>{const i=Wge(t,e,n,o),r=sTt(Array.isArray(t)?t[0]:t,n,o);return function(a){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a;const[,s]=i(a,l),[c,u]=r(l);return[c,s,u]}};function EOe(t,e){return jk.reduce((n,o)=>{const i=t[`${o}1`],r=t[`${o}3`],a=t[`${o}6`],l=t[`${o}7`];return Object.assign(Object.assign({},n),e(o,{lightColor:i,lightBorderColor:r,darkColor:a,textColor:l}))},{})}const cTt=Object.assign({},oK),{useId:R7e}=cTt,uTt=()=>"",dTt=typeof R7e>"u"?uTt:R7e;function fTt(t,e,n){var o;Hb();const i=t||{},r=i.inherit===!1||!e?Object.assign(Object.assign({},Uce),{hashed:(o=e==null?void 0:e.hashed)!==null&&o!==void 0?o:Uce.hashed,cssVar:e==null?void 0:e.cssVar}):e,a=dTt();return Cge(()=>{var l,s;if(!t)return e;const c=Object.assign({},r.components);Object.keys(t.components||{}).forEach(f=>{c[f]=Object.assign(Object.assign({},c[f]),t.components[f])});const u=`css-var-${a.replace(/:/g,"")}`,d=((l=i.cssVar)!==null&&l!==void 0?l:r.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:n==null?void 0:n.prefixCls},typeof r.cssVar=="object"?r.cssVar:{}),typeof i.cssVar=="object"?i.cssVar:{}),{key:typeof i.cssVar=="object"&&((s=i.cssVar)===null||s===void 0?void 0:s.key)||u});return Object.assign(Object.assign(Object.assign({},r),i),{token:Object.assign(Object.assign({},r.token),i.token),components:c,cssVar:d})},[i,r],(l,s)=>l.some((c,u)=>{const d=s[u];return!jce(c,d,!0)}))}var kOe={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var o=[],i=0;i1&&arguments[1]!==void 0?arguments[1]:1;E7e+=1;var o=E7e;function i(r){if(r===0)VOe(o),e();else{var a=OOe(function(){i(r-1)});Uge.set(o,a)}}return i(n),o};za.cancel=function(t){var e=Uge.get(t);return VOe(t),_Oe(e)};const STt=function(){var t=m.useRef(null);function e(){za.cancel(t.current)}function n(o){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;e();var r=za(function(){i<=1?o({isCanceled:function(){return r!==t.current}}):n(o,i-1)});t.current=r}return m.useEffect(function(){return function(){e()}},[]),[n,e]};var TTt=[o2,_P,VP,Nge],PTt=[o2,LOe],GOe=!1,CTt=!0;function XOe(t){return t===VP||t===Nge}const RTt=function(t,e,n){var o=mC(H7e),i=on(o,2),r=i[0],a=i[1],l=STt(),s=on(l,2),c=s[0],u=s[1];function d(){a(o2,!0)}var f=e?PTt:TTt;return YOe(function(){if(r!==H7e&&r!==Nge){var p=f.indexOf(r),g=f[p+1],y=n(r);y===GOe?a(g,!0):g&&c(function(A){function x(){A.isCanceled()||a(g,!0)}y===!0?x():Promise.resolve(y).then(x)})}},[t,r]),m.useEffect(function(){return function(){u()}},[]),[d,r]};function HTt(t,e,n,o){var i=o.motionEnter,r=i===void 0?!0:i,a=o.motionAppear,l=a===void 0?!0:a,s=o.motionLeave,c=s===void 0?!0:s,u=o.motionDeadline,d=o.motionLeaveImmediately,f=o.onAppearPrepare,p=o.onEnterPrepare,g=o.onLeavePrepare,y=o.onAppearStart,A=o.onEnterStart,x=o.onLeaveStart,C=o.onAppearActive,b=o.onEnterActive,v=o.onLeaveActive,S=o.onAppearEnd,w=o.onEnterEnd,T=o.onLeaveEnd,P=o.onVisibleChanged,R=mC(),H=on(R,2),D=H[0],E=H[1],L=mC(lv),U=on(L,2),F=U[0],W=U[1],B=mC(null),k=on(B,2),N=k[0],j=k[1],Y=m.useRef(!1),_=m.useRef(null);function J(){return n()}var Q=m.useRef(!1);function ee(){W(lv,!0),j(null,!0)}function $(Pe){var me=J();if(!(Pe&&!Pe.deadline&&Pe.target!==me)){var Re=Q.current,ze;F===aY&&Re?ze=S==null?void 0:S(me,Pe):F===lY&&Re?ze=w==null?void 0:w(me,Pe):F===sY&&Re&&(ze=T==null?void 0:T(me,Pe)),F!==lv&&Re&&ze!==!1&&ee()}}var q=bTt($),le=on(q,1),ie=le[0],pe=function(me){var Re,ze,Ae;switch(me){case aY:return Re={},_t(Re,o2,f),_t(Re,_P,y),_t(Re,VP,C),Re;case lY:return ze={},_t(ze,o2,p),_t(ze,_P,A),_t(ze,VP,b),ze;case sY:return Ae={},_t(Ae,o2,g),_t(Ae,_P,x),_t(Ae,VP,v),Ae;default:return{}}},ne=m.useMemo(function(){return pe(F)},[F]),Z=RTt(F,!t,function(Pe){if(Pe===o2){var me=ne[o2];return me?me(J()):GOe}if(se in ne){var Re;j(((Re=ne[se])===null||Re===void 0?void 0:Re.call(ne,J(),null))||null)}return se===VP&&(ie(J()),u>0&&(clearTimeout(_.current),_.current=setTimeout(function(){$({deadline:!0})},u))),se===LOe&&ee(),CTt}),he=on(Z,2),fe=he[0],se=he[1],oe=XOe(se);Q.current=oe,YOe(function(){E(e);var Pe=Y.current;Y.current=!0;var me;!Pe&&e&&l&&(me=aY),Pe&&e&&r&&(me=lY),(Pe&&!e&&c||!Pe&&d&&!e&&c)&&(me=sY);var Re=pe(me);me&&(t||Re[o2])?(W(me),fe()):W(lv)},[e]),m.useEffect(function(){(F===aY&&!l||F===lY&&!r||F===sY&&!c)&&W(lv)},[l,r,c]),m.useEffect(function(){return function(){Y.current=!1,clearTimeout(_.current)}},[]);var de=m.useRef(!1);m.useEffect(function(){D&&(de.current=!0),D!==void 0&&F===lv&&((de.current||D)&&(P==null||P(D)),de.current=!0)},[D,F]);var ve=N;return ne[o2]&&se===_P&&(ve=$t({transition:"none"},ve)),[F,se,ve,D??e]}function MTt(t){var e=t;gr(t)==="object"&&(e=t.transitionSupport);function n(i,r){return!!(i.motionName&&e&&r!==!1)}var o=m.forwardRef(function(i,r){var a=i.visible,l=a===void 0?!0:a,s=i.removeOnLeave,c=s===void 0?!0:s,u=i.forceRender,d=i.children,f=i.motionName,p=i.leavedClassName,g=i.eventProps,y=m.useContext(FOe),A=y.motion,x=n(i,A),C=m.useRef(),b=m.useRef();function v(){try{return C.current instanceof HTMLElement?C.current:rE(b.current)}catch{return null}}var S=HTt(x,l,v,i),w=on(S,4),T=w[0],P=w[1],R=w[2],H=w[3],D=m.useRef(H);H&&(D.current=!0);var E=m.useCallback(function(j){C.current=j,Lk(r,j)},[r]),L,U=$t($t({},g),{},{visible:l});if(!d)L=null;else if(T===lv)H?L=d($t({},U),E):!c&&D.current&&p?L=d($t($t({},U),{},{className:p}),E):u||!c&&!p?L=d($t($t({},U),{},{style:{display:"none"}}),E):L=null;else{var F,W;P===o2?W="prepare":XOe(P)?W="active":P===_P&&(W="start");var B=D7e(f,"".concat(T,"-").concat(W));L=d($t($t({},U),{},{className:Vn(D7e(f,T),(F={},_t(F,B,B&&W),_t(F,f,typeof f=="string"),F)),style:R}),E)}if(m.isValidElement(L)&&Zw(L)){var k=L,N=k.ref;N||(L=m.cloneElement(L,{ref:E}))}return m.createElement(ATt,{ref:b},L)});return o.displayName="CSSMotion",o}const Cg=MTt(jOe);var Gce="add",Xce="keep",Jce="remove",mie="removed";function ITt(t){var e;return t&&gr(t)==="object"&&"key"in t?e=t:e={key:t},$t($t({},e),{},{key:String(e.key)})}function Kce(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return t.map(ITt)}function zTt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=[],o=0,i=e.length,r=Kce(t),a=Kce(e);r.forEach(function(c){for(var u=!1,d=o;d1});return s.forEach(function(c){n=n.filter(function(u){var d=u.key,f=u.status;return d!==c||f!==Jce}),n.forEach(function(u){u.key===c&&(u.status=Xce)})}),n}var DTt=["component","children","onVisibleChanged","onAllRemoved"],ETt=["status"],kTt=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function FTt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cg,n=function(o){hW(r,o);var i=pW(r);function r(){var a;pp(this,r);for(var l=arguments.length,s=new Array(l),c=0;cnull;var UTt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);ie.endsWith("Color"))}const _Tt=t=>{const{prefixCls:e,iconPrefixCls:n,theme:o,holderRender:i}=t;e!==void 0&&(pG=e),n!==void 0&&(JOe=n),"holderRender"in t&&(qOe=i),o&&(OTt(o)?WSt(z_(),o):KOe=o)},$Oe=()=>({getPrefixCls:(t,e)=>e||(t?`${z_()}-${t}`:z_()),getIconPrefixCls:YTt,getRootPrefixCls:()=>pG||z_(),getTheme:()=>KOe,holderRender:qOe}),VTt=t=>{const{children:e,csp:n,autoInsertSpaceInButton:o,alert:i,anchor:r,form:a,locale:l,componentSize:s,direction:c,space:u,virtual:d,dropdownMatchSelectWidth:f,popupMatchSelectWidth:p,popupOverflow:g,legacyLocale:y,parentContext:A,iconPrefixCls:x,theme:C,componentDisabled:b,segmented:v,statistic:S,spin:w,calendar:T,carousel:P,cascader:R,collapse:H,typography:D,checkbox:E,descriptions:L,divider:U,drawer:F,skeleton:W,steps:B,image:k,layout:N,list:j,mentions:Y,modal:_,progress:J,result:Q,slider:ee,breadcrumb:$,menu:q,pagination:le,input:ie,textArea:pe,empty:ne,badge:Z,radio:he,rate:fe,switch:se,transfer:oe,avatar:de,message:ve,tag:Pe,table:me,card:Re,tabs:ze,timeline:Ae,timePicker:re,upload:ge,notification:we,tree:ye,colorPicker:Te,datePicker:Ie,rangePicker:Ce,flex:Ee,wave:Ue,dropdown:Ne,warning:Le,tour:qe,floatButtonGroup:We}=t,De=m.useCallback((rt,Qe)=>{const{prefixCls:Oe}=t;if(Qe)return Qe;const et=Oe||A.getPrefixCls("");return rt?`${et}-${rt}`:et},[A.getPrefixCls,t.prefixCls]),Fe=x||A.iconPrefixCls||Mge,_e=n||A.csp;IOe(Fe,_e);const ot=pTt(C,A.theme,{prefixCls:De("")}),Ye={csp:_e,autoInsertSpaceInButton:o,alert:i,anchor:r,locale:l||y,direction:c,space:u,virtual:d,popupMatchSelectWidth:p??f,popupOverflow:g,getPrefixCls:De,iconPrefixCls:Fe,theme:ot,segmented:v,statistic:S,spin:w,calendar:T,carousel:P,cascader:R,collapse:H,typography:D,checkbox:E,descriptions:L,divider:U,drawer:F,skeleton:W,steps:B,image:k,input:ie,textArea:pe,layout:N,list:j,mentions:Y,modal:_,progress:J,result:Q,slider:ee,breadcrumb:$,menu:q,pagination:le,empty:ne,badge:Z,radio:he,rate:fe,switch:se,transfer:oe,avatar:de,message:ve,tag:Pe,table:me,card:Re,tabs:ze,timeline:Ae,timePicker:re,upload:ge,notification:we,tree:ye,colorPicker:Te,datePicker:Ie,rangePicker:Ce,flex:Ee,wave:Ue,dropdown:Ne,warning:Le,tour:qe,floatButtonGroup:We},St=Object.assign({},A);Object.keys(Ye).forEach(rt=>{Ye[rt]!==void 0&&(St[rt]=Ye[rt])}),BTt.forEach(rt=>{const Qe=t[rt];Qe&&(St[rt]=Qe)}),typeof o<"u"&&(St.button=Object.assign({autoInsertSpace:o},St.button));const dt=Cge(()=>St,St,(rt,Qe)=>{const Oe=Object.keys(rt),et=Object.keys(Qe);return Oe.length!==et.length||Oe.some(vt=>rt[vt]!==Qe[vt])}),je=m.useMemo(()=>({prefixCls:Fe,csp:_e}),[Fe,_e]);let at=m.createElement(m.Fragment,null,m.createElement(NTt,{dropdownMatchSelectWidth:f}),e);const ut=m.useMemo(()=>{var rt,Qe,Oe,et;return Xbt(((rt=t7.Form)===null||rt===void 0?void 0:rt.defaultValidateMessages)||{},((Oe=(Qe=dt.locale)===null||Qe===void 0?void 0:Qe.Form)===null||Oe===void 0?void 0:Oe.defaultValidateMessages)||{},((et=dt.form)===null||et===void 0?void 0:et.validateMessages)||{},(a==null?void 0:a.validateMessages)||{})},[dt,a==null?void 0:a.validateMessages]);Object.keys(ut).length>0&&(at=m.createElement(qbt.Provider,{value:ut},at)),l&&(at=m.createElement(eSt,{locale:l,_ANT_MARK__:Zbt},at)),(Fe||_e)&&(at=m.createElement(Pge.Provider,{value:je},at)),s&&(at=m.createElement(NSt,{size:s},at)),at=m.createElement(WTt,null,at);const wt=m.useMemo(()=>{const rt=ot||{},{algorithm:Qe,token:Oe,components:et,cssVar:vt}=rt,ct=UTt(rt,["algorithm","token","components","cssVar"]),lt=Qe&&(!Array.isArray(Qe)||Qe.length>0)?Ice(Qe):fOe,tt={};Object.entries(et||{}).forEach(At=>{let[Mt,st]=At;const ft=Object.assign({},st);"algorithm"in ft&&(ft.algorithm===!0?ft.theme=lt:(Array.isArray(ft.algorithm)||typeof ft.algorithm=="function")&&(ft.theme=Ice(ft.algorithm)),delete ft.algorithm),tt[Mt]=ft});const it=Object.assign(Object.assign({},Bk),Oe);return Object.assign(Object.assign({},ct),{theme:lt,token:it,components:tt,override:Object.assign({override:it},tt),cssVar:vt})},[ot]);return C&&(at=m.createElement(hOe.Provider,{value:wt},at)),dt.warning&&(at=m.createElement(Kbt.Provider,{value:dt.warning},at)),b!==void 0&&(at=m.createElement(mOe,{disabled:b},at)),m.createElement(Mi.Provider,{value:dt},at)},iy=t=>{const e=m.useContext(Mi),n=m.useContext(Hge);return m.createElement(VTt,Object.assign({parentContext:e,legacyLocale:n},t))};iy.ConfigContext=Mi;iy.SizeContext=tR;iy.config=_Tt;iy.useConfig=USt;Object.defineProperty(iy,"SizeContext",{get:()=>tR});function Fi(){return Fi=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function ZOe(t,e){if(t==null)return{};var n=ZTt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var uY=2,F7e=.16,ePt=.05,tPt=.05,nPt=.15,e_e=5,t_e=4,oPt=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function L7e(t){var e=t.r,n=t.g,o=t.b,i=dG(e,n,o);return{h:i.h*360,s:i.s,v:i.v}}function dY(t){var e=t.r,n=t.g,o=t.b;return"#".concat(fG(e,n,o,!1))}function iPt(t,e,n){var o=n/100,i={r:(e.r-t.r)*o+t.r,g:(e.g-t.g)*o+t.g,b:(e.b-t.b)*o+t.b};return i}function W7e(t,e,n){var o;return Math.round(t.h)>=60&&Math.round(t.h)<=240?o=n?Math.round(t.h)-uY*e:Math.round(t.h)+uY*e:o=n?Math.round(t.h)+uY*e:Math.round(t.h)-uY*e,o<0?o+=360:o>=360&&(o-=360),o}function N7e(t,e,n){if(t.h===0&&t.s===0)return t.s;var o;return n?o=t.s-F7e*e:e===t_e?o=t.s+F7e:o=t.s+ePt*e,o>1&&(o=1),n&&e===e_e&&o>.1&&(o=.1),o<.06&&(o=.06),Number(o.toFixed(2))}function U7e(t,e,n){var o;return n?o=t.v+tPt*e:o=t.v-nPt*e,o>1&&(o=1),Number(o.toFixed(2))}function $ce(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=d2(t),i=e_e;i>0;i-=1){var r=L7e(o),a=dY(d2({h:W7e(r,i,!0),s:N7e(r,i,!0),v:U7e(r,i,!0)}));n.push(a)}n.push(dY(o));for(var l=1;l<=t_e;l+=1){var s=L7e(o),c=dY(d2({h:W7e(s,l),s:N7e(s,l),v:U7e(s,l)}));n.push(c)}return e.theme==="dark"?oPt.map(function(u){var d=u.index,f=u.opacity,p=dY(iPt(d2(e.backgroundColor||"#141414"),d2(n[d]),f*100));return p}):n}var yie={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},D_={},Aie={};Object.keys(yie).forEach(function(t){D_[t]=$ce(yie[t]),D_[t].primary=D_[t][5],Aie[t]=$ce(yie[t],{theme:"dark",backgroundColor:"#141414"}),Aie[t].primary=Aie[t][5]});var rPt=D_.blue;function B7e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function hw(t){for(var e=1;e0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(t).reduce(function(e,n){var o=t[n];switch(n){case"class":e.className=o,delete e.class;break;default:delete e[n],e[lPt(n)]=o}return e},{})}function Qce(t,e,n){return n?Se.createElement(t.tag,hw(hw({key:e},Y7e(t.attrs)),n),(t.children||[]).map(function(o,i){return Qce(o,"".concat(e,"-").concat(t.tag,"-").concat(i))})):Se.createElement(t.tag,hw({key:e},Y7e(t.attrs)),(t.children||[]).map(function(o,i){return Qce(o,"".concat(e,"-").concat(t.tag,"-").concat(i))}))}function o_e(t){return $ce(t)[0]}function i_e(t){return t?Array.isArray(t)?t:[t]:[]}var cPt=` +*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var o=[],i=0;i1&&arguments[1]!==void 0?arguments[1]:1;E7e+=1;var o=E7e;function i(r){if(r===0)VOe(o),e();else{var a=OOe(function(){i(r-1)});Uge.set(o,a)}}return i(n),o};za.cancel=function(t){var e=Uge.get(t);return VOe(t),_Oe(e)};const xTt=function(){var t=m.useRef(null);function e(){za.cancel(t.current)}function n(o){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;e();var r=za(function(){i<=1?o({isCanceled:function(){return r!==t.current}}):n(o,i-1)});t.current=r}return m.useEffect(function(){return function(){e()}},[]),[n,e]};var bTt=[o2,_P,VP,Nge],STt=[o2,LOe],GOe=!1,TTt=!0;function XOe(t){return t===VP||t===Nge}const PTt=function(t,e,n){var o=mC(H7e),i=on(o,2),r=i[0],a=i[1],l=xTt(),s=on(l,2),c=s[0],u=s[1];function d(){a(o2,!0)}var f=e?STt:bTt;return YOe(function(){if(r!==H7e&&r!==Nge){var p=f.indexOf(r),g=f[p+1],y=n(r);y===GOe?a(g,!0):g&&c(function(A){function x(){A.isCanceled()||a(g,!0)}y===!0?x():Promise.resolve(y).then(x)})}},[t,r]),m.useEffect(function(){return function(){u()}},[]),[d,r]};function CTt(t,e,n,o){var i=o.motionEnter,r=i===void 0?!0:i,a=o.motionAppear,l=a===void 0?!0:a,s=o.motionLeave,c=s===void 0?!0:s,u=o.motionDeadline,d=o.motionLeaveImmediately,f=o.onAppearPrepare,p=o.onEnterPrepare,g=o.onLeavePrepare,y=o.onAppearStart,A=o.onEnterStart,x=o.onLeaveStart,C=o.onAppearActive,b=o.onEnterActive,v=o.onLeaveActive,S=o.onAppearEnd,w=o.onEnterEnd,T=o.onLeaveEnd,P=o.onVisibleChanged,R=mC(),H=on(R,2),D=H[0],E=H[1],L=mC(lv),U=on(L,2),F=U[0],W=U[1],B=mC(null),k=on(B,2),N=k[0],j=k[1],Y=m.useRef(!1),_=m.useRef(null);function J(){return n()}var Q=m.useRef(!1);function ee(){W(lv,!0),j(null,!0)}function $(Pe){var me=J();if(!(Pe&&!Pe.deadline&&Pe.target!==me)){var Re=Q.current,ze;F===aY&&Re?ze=S==null?void 0:S(me,Pe):F===lY&&Re?ze=w==null?void 0:w(me,Pe):F===sY&&Re&&(ze=T==null?void 0:T(me,Pe)),F!==lv&&Re&&ze!==!1&&ee()}}var q=vTt($),le=on(q,1),ie=le[0],pe=function(me){var Re,ze,Ae;switch(me){case aY:return Re={},_t(Re,o2,f),_t(Re,_P,y),_t(Re,VP,C),Re;case lY:return ze={},_t(ze,o2,p),_t(ze,_P,A),_t(ze,VP,b),ze;case sY:return Ae={},_t(Ae,o2,g),_t(Ae,_P,x),_t(Ae,VP,v),Ae;default:return{}}},ne=m.useMemo(function(){return pe(F)},[F]),Z=PTt(F,!t,function(Pe){if(Pe===o2){var me=ne[o2];return me?me(J()):GOe}if(se in ne){var Re;j(((Re=ne[se])===null||Re===void 0?void 0:Re.call(ne,J(),null))||null)}return se===VP&&(ie(J()),u>0&&(clearTimeout(_.current),_.current=setTimeout(function(){$({deadline:!0})},u))),se===LOe&&ee(),TTt}),he=on(Z,2),fe=he[0],se=he[1],oe=XOe(se);Q.current=oe,YOe(function(){E(e);var Pe=Y.current;Y.current=!0;var me;!Pe&&e&&l&&(me=aY),Pe&&e&&r&&(me=lY),(Pe&&!e&&c||!Pe&&d&&!e&&c)&&(me=sY);var Re=pe(me);me&&(t||Re[o2])?(W(me),fe()):W(lv)},[e]),m.useEffect(function(){(F===aY&&!l||F===lY&&!r||F===sY&&!c)&&W(lv)},[l,r,c]),m.useEffect(function(){return function(){Y.current=!1,clearTimeout(_.current)}},[]);var de=m.useRef(!1);m.useEffect(function(){D&&(de.current=!0),D!==void 0&&F===lv&&((de.current||D)&&(P==null||P(D)),de.current=!0)},[D,F]);var ve=N;return ne[o2]&&se===_P&&(ve=$t({transition:"none"},ve)),[F,se,ve,D??e]}function RTt(t){var e=t;gr(t)==="object"&&(e=t.transitionSupport);function n(i,r){return!!(i.motionName&&e&&r!==!1)}var o=m.forwardRef(function(i,r){var a=i.visible,l=a===void 0?!0:a,s=i.removeOnLeave,c=s===void 0?!0:s,u=i.forceRender,d=i.children,f=i.motionName,p=i.leavedClassName,g=i.eventProps,y=m.useContext(FOe),A=y.motion,x=n(i,A),C=m.useRef(),b=m.useRef();function v(){try{return C.current instanceof HTMLElement?C.current:rE(b.current)}catch{return null}}var S=CTt(x,l,v,i),w=on(S,4),T=w[0],P=w[1],R=w[2],H=w[3],D=m.useRef(H);H&&(D.current=!0);var E=m.useCallback(function(j){C.current=j,Lk(r,j)},[r]),L,U=$t($t({},g),{},{visible:l});if(!d)L=null;else if(T===lv)H?L=d($t({},U),E):!c&&D.current&&p?L=d($t($t({},U),{},{className:p}),E):u||!c&&!p?L=d($t($t({},U),{},{style:{display:"none"}}),E):L=null;else{var F,W;P===o2?W="prepare":XOe(P)?W="active":P===_P&&(W="start");var B=D7e(f,"".concat(T,"-").concat(W));L=d($t($t({},U),{},{className:Vn(D7e(f,T),(F={},_t(F,B,B&&W),_t(F,f,typeof f=="string"),F)),style:R}),E)}if(m.isValidElement(L)&&Zw(L)){var k=L,N=k.ref;N||(L=m.cloneElement(L,{ref:E}))}return m.createElement(mTt,{ref:b},L)});return o.displayName="CSSMotion",o}const Cg=RTt(jOe);var Gce="add",Xce="keep",Jce="remove",mie="removed";function HTt(t){var e;return t&&gr(t)==="object"&&"key"in t?e=t:e={key:t},$t($t({},e),{},{key:String(e.key)})}function Kce(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return t.map(HTt)}function MTt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=[],o=0,i=e.length,r=Kce(t),a=Kce(e);r.forEach(function(c){for(var u=!1,d=o;d1});return s.forEach(function(c){n=n.filter(function(u){var d=u.key,f=u.status;return d!==c||f!==Jce}),n.forEach(function(u){u.key===c&&(u.status=Xce)})}),n}var ITt=["component","children","onVisibleChanged","onAllRemoved"],zTt=["status"],DTt=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function ETt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cg,n=function(o){hW(r,o);var i=pW(r);function r(){var a;pp(this,r);for(var l=arguments.length,s=new Array(l),c=0;cnull;var WTt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);ie.endsWith("Color"))}const YTt=t=>{const{prefixCls:e,iconPrefixCls:n,theme:o,holderRender:i}=t;e!==void 0&&(pG=e),n!==void 0&&(JOe=n),"holderRender"in t&&(qOe=i),o&&(jTt(o)?FSt(z_(),o):KOe=o)},$Oe=()=>({getPrefixCls:(t,e)=>e||(t?`${z_()}-${t}`:z_()),getIconPrefixCls:BTt,getRootPrefixCls:()=>pG||z_(),getTheme:()=>KOe,holderRender:qOe}),OTt=t=>{const{children:e,csp:n,autoInsertSpaceInButton:o,alert:i,anchor:r,form:a,locale:l,componentSize:s,direction:c,space:u,virtual:d,dropdownMatchSelectWidth:f,popupMatchSelectWidth:p,popupOverflow:g,legacyLocale:y,parentContext:A,iconPrefixCls:x,theme:C,componentDisabled:b,segmented:v,statistic:S,spin:w,calendar:T,carousel:P,cascader:R,collapse:H,typography:D,checkbox:E,descriptions:L,divider:U,drawer:F,skeleton:W,steps:B,image:k,layout:N,list:j,mentions:Y,modal:_,progress:J,result:Q,slider:ee,breadcrumb:$,menu:q,pagination:le,input:ie,textArea:pe,empty:ne,badge:Z,radio:he,rate:fe,switch:se,transfer:oe,avatar:de,message:ve,tag:Pe,table:me,card:Re,tabs:ze,timeline:Ae,timePicker:re,upload:ge,notification:we,tree:ye,colorPicker:Te,datePicker:Ie,rangePicker:Ce,flex:Ee,wave:Ue,dropdown:Ne,warning:Le,tour:qe,floatButtonGroup:We}=t,De=m.useCallback((rt,Qe)=>{const{prefixCls:Oe}=t;if(Qe)return Qe;const et=Oe||A.getPrefixCls("");return rt?`${et}-${rt}`:et},[A.getPrefixCls,t.prefixCls]),Fe=x||A.iconPrefixCls||Mge,_e=n||A.csp;IOe(Fe,_e);const ot=fTt(C,A.theme,{prefixCls:De("")}),Ye={csp:_e,autoInsertSpaceInButton:o,alert:i,anchor:r,locale:l||y,direction:c,space:u,virtual:d,popupMatchSelectWidth:p??f,popupOverflow:g,getPrefixCls:De,iconPrefixCls:Fe,theme:ot,segmented:v,statistic:S,spin:w,calendar:T,carousel:P,cascader:R,collapse:H,typography:D,checkbox:E,descriptions:L,divider:U,drawer:F,skeleton:W,steps:B,image:k,input:ie,textArea:pe,layout:N,list:j,mentions:Y,modal:_,progress:J,result:Q,slider:ee,breadcrumb:$,menu:q,pagination:le,empty:ne,badge:Z,radio:he,rate:fe,switch:se,transfer:oe,avatar:de,message:ve,tag:Pe,table:me,card:Re,tabs:ze,timeline:Ae,timePicker:re,upload:ge,notification:we,tree:ye,colorPicker:Te,datePicker:Ie,rangePicker:Ce,flex:Ee,wave:Ue,dropdown:Ne,warning:Le,tour:qe,floatButtonGroup:We},St=Object.assign({},A);Object.keys(Ye).forEach(rt=>{Ye[rt]!==void 0&&(St[rt]=Ye[rt])}),NTt.forEach(rt=>{const Qe=t[rt];Qe&&(St[rt]=Qe)}),typeof o<"u"&&(St.button=Object.assign({autoInsertSpace:o},St.button));const dt=Cge(()=>St,St,(rt,Qe)=>{const Oe=Object.keys(rt),et=Object.keys(Qe);return Oe.length!==et.length||Oe.some(vt=>rt[vt]!==Qe[vt])}),je=m.useMemo(()=>({prefixCls:Fe,csp:_e}),[Fe,_e]);let at=m.createElement(m.Fragment,null,m.createElement(LTt,{dropdownMatchSelectWidth:f}),e);const ut=m.useMemo(()=>{var rt,Qe,Oe,et;return Vbt(((rt=t7.Form)===null||rt===void 0?void 0:rt.defaultValidateMessages)||{},((Oe=(Qe=dt.locale)===null||Qe===void 0?void 0:Qe.Form)===null||Oe===void 0?void 0:Oe.defaultValidateMessages)||{},((et=dt.form)===null||et===void 0?void 0:et.validateMessages)||{},(a==null?void 0:a.validateMessages)||{})},[dt,a==null?void 0:a.validateMessages]);Object.keys(ut).length>0&&(at=m.createElement(Jbt.Provider,{value:ut},at)),l&&(at=m.createElement(Qbt,{locale:l,_ANT_MARK__:$bt},at)),(Fe||_e)&&(at=m.createElement(Pge.Provider,{value:je},at)),s&&(at=m.createElement(LSt,{size:s},at)),at=m.createElement(FTt,null,at);const wt=m.useMemo(()=>{const rt=ot||{},{algorithm:Qe,token:Oe,components:et,cssVar:vt}=rt,ct=WTt(rt,["algorithm","token","components","cssVar"]),lt=Qe&&(!Array.isArray(Qe)||Qe.length>0)?Ice(Qe):fOe,tt={};Object.entries(et||{}).forEach(At=>{let[Mt,st]=At;const ft=Object.assign({},st);"algorithm"in ft&&(ft.algorithm===!0?ft.theme=lt:(Array.isArray(ft.algorithm)||typeof ft.algorithm=="function")&&(ft.theme=Ice(ft.algorithm)),delete ft.algorithm),tt[Mt]=ft});const it=Object.assign(Object.assign({},Bk),Oe);return Object.assign(Object.assign({},ct),{theme:lt,token:it,components:tt,override:Object.assign({override:it},tt),cssVar:vt})},[ot]);return C&&(at=m.createElement(hOe.Provider,{value:wt},at)),dt.warning&&(at=m.createElement(Xbt.Provider,{value:dt.warning},at)),b!==void 0&&(at=m.createElement(mOe,{disabled:b},at)),m.createElement(Mi.Provider,{value:dt},at)},iy=t=>{const e=m.useContext(Mi),n=m.useContext(Hge);return m.createElement(OTt,Object.assign({parentContext:e,legacyLocale:n},t))};iy.ConfigContext=Mi;iy.SizeContext=tR;iy.config=YTt;iy.useConfig=WSt;Object.defineProperty(iy,"SizeContext",{get:()=>tR});function Fi(){return Fi=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function ZOe(t,e){if(t==null)return{};var n=$Tt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var uY=2,F7e=.16,QTt=.05,ZTt=.05,ePt=.15,e_e=5,t_e=4,tPt=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function L7e(t){var e=t.r,n=t.g,o=t.b,i=dG(e,n,o);return{h:i.h*360,s:i.s,v:i.v}}function dY(t){var e=t.r,n=t.g,o=t.b;return"#".concat(fG(e,n,o,!1))}function nPt(t,e,n){var o=n/100,i={r:(e.r-t.r)*o+t.r,g:(e.g-t.g)*o+t.g,b:(e.b-t.b)*o+t.b};return i}function W7e(t,e,n){var o;return Math.round(t.h)>=60&&Math.round(t.h)<=240?o=n?Math.round(t.h)-uY*e:Math.round(t.h)+uY*e:o=n?Math.round(t.h)+uY*e:Math.round(t.h)-uY*e,o<0?o+=360:o>=360&&(o-=360),o}function N7e(t,e,n){if(t.h===0&&t.s===0)return t.s;var o;return n?o=t.s-F7e*e:e===t_e?o=t.s+F7e:o=t.s+QTt*e,o>1&&(o=1),n&&e===e_e&&o>.1&&(o=.1),o<.06&&(o=.06),Number(o.toFixed(2))}function U7e(t,e,n){var o;return n?o=t.v+ZTt*e:o=t.v-ePt*e,o>1&&(o=1),Number(o.toFixed(2))}function $ce(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=d2(t),i=e_e;i>0;i-=1){var r=L7e(o),a=dY(d2({h:W7e(r,i,!0),s:N7e(r,i,!0),v:U7e(r,i,!0)}));n.push(a)}n.push(dY(o));for(var l=1;l<=t_e;l+=1){var s=L7e(o),c=dY(d2({h:W7e(s,l),s:N7e(s,l),v:U7e(s,l)}));n.push(c)}return e.theme==="dark"?tPt.map(function(u){var d=u.index,f=u.opacity,p=dY(nPt(d2(e.backgroundColor||"#141414"),d2(n[d]),f*100));return p}):n}var yie={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},D_={},Aie={};Object.keys(yie).forEach(function(t){D_[t]=$ce(yie[t]),D_[t].primary=D_[t][5],Aie[t]=$ce(yie[t],{theme:"dark",backgroundColor:"#141414"}),Aie[t].primary=Aie[t][5]});var oPt=D_.blue;function B7e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function hw(t){for(var e=1;e0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(t).reduce(function(e,n){var o=t[n];switch(n){case"class":e.className=o,delete e.class;break;default:delete e[n],e[rPt(n)]=o}return e},{})}function Qce(t,e,n){return n?Se.createElement(t.tag,hw(hw({key:e},Y7e(t.attrs)),n),(t.children||[]).map(function(o,i){return Qce(o,"".concat(e,"-").concat(t.tag,"-").concat(i))})):Se.createElement(t.tag,hw({key:e},Y7e(t.attrs)),(t.children||[]).map(function(o,i){return Qce(o,"".concat(e,"-").concat(t.tag,"-").concat(i))}))}function o_e(t){return $ce(t)[0]}function i_e(t){return t?Array.isArray(t)?t:[t]:[]}var lPt=` .anticon { display: inline-flex; align-items: center; @@ -4432,7 +4432,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho transform: rotate(360deg); } } -`,uPt=function(e){var n=m.useContext(Pge),o=n.csp,i=n.prefixCls,r=cPt;i&&(r=r.replace(/anticon/g,i)),m.useEffect(function(){var a=e.current,l=gG(a);lx(r,"@ant-design-icons",{prepend:!0,csp:o,attachTo:l})},[])},dPt=["icon","className","onClick","style","primaryColor","secondaryColor"],lE={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function fPt(t){var e=t.primaryColor,n=t.secondaryColor;lE.primaryColor=e,lE.secondaryColor=n||o_e(e),lE.calculated=!!n}function hPt(){return hw({},lE)}var RH=function(e){var n=e.icon,o=e.className,i=e.onClick,r=e.style,a=e.primaryColor,l=e.secondaryColor,s=ZOe(e,dPt),c=m.useRef(),u=lE;if(a&&(u={primaryColor:a,secondaryColor:l||o_e(a)}),uPt(c),sPt(j7e(n),"icon should be icon definiton, but got ".concat(n)),!j7e(n))return null;var d=n;return d&&typeof d.icon=="function"&&(d=hw(hw({},d),{},{icon:d.icon(u.primaryColor,u.secondaryColor)})),Qce(d.icon,"svg-".concat(d.name),hw(hw({className:o,onClick:i,style:r,"data-icon":d.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},s),{},{ref:c}))};RH.displayName="IconReact";RH.getTwoToneColors=hPt;RH.setTwoToneColors=fPt;function r_e(t){var e=i_e(t),n=QOe(e,2),o=n[0],i=n[1];return RH.setTwoToneColors({primaryColor:o,secondaryColor:i})}function pPt(){var t=RH.getTwoToneColors();return t.calculated?[t.primaryColor,t.secondaryColor]:t.primaryColor}var gPt=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];r_e(rPt.primary);var Li=m.forwardRef(function(t,e){var n=t.className,o=t.icon,i=t.spin,r=t.rotate,a=t.tabIndex,l=t.onClick,s=t.twoToneColor,c=ZOe(t,gPt),u=m.useContext(Pge),d=u.prefixCls,f=d===void 0?"anticon":d,p=u.rootClassName,g=Vn(p,f,qce(qce({},"".concat(f,"-").concat(o.name),!!o.name),"".concat(f,"-spin"),!!i||o.name==="loading"),n),y=a;y===void 0&&l&&(y=-1);var A=r?{msTransform:"rotate(".concat(r,"deg)"),transform:"rotate(".concat(r,"deg)")}:void 0,x=i_e(s),C=QOe(x,2),b=C[0],v=C[1];return m.createElement("span",Fi({role:"img","aria-label":o.name},c,{ref:e,tabIndex:y,onClick:l,className:g}),m.createElement(RH,{icon:o,primaryColor:b,secondaryColor:v,style:A}))});Li.displayName="AntdIcon";Li.getTwoToneColor=pPt;Li.setTwoToneColor=r_e;var mPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:GTt}))},Bge=m.forwardRef(mPt),yPt={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"},APt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yPt}))},a$=m.forwardRef(APt),wPt={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"},vPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:wPt}))},E7=m.forwardRef(vPt),xPt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"},bPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:xPt}))},a_e=m.forwardRef(bPt),SPt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"},TPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:SPt}))},l_e=m.forwardRef(TPt),PPt=`accept acceptCharset accessKey action allowFullScreen allowTransparency +`,sPt=function(e){var n=m.useContext(Pge),o=n.csp,i=n.prefixCls,r=lPt;i&&(r=r.replace(/anticon/g,i)),m.useEffect(function(){var a=e.current,l=gG(a);lx(r,"@ant-design-icons",{prepend:!0,csp:o,attachTo:l})},[])},cPt=["icon","className","onClick","style","primaryColor","secondaryColor"],lE={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function uPt(t){var e=t.primaryColor,n=t.secondaryColor;lE.primaryColor=e,lE.secondaryColor=n||o_e(e),lE.calculated=!!n}function dPt(){return hw({},lE)}var RH=function(e){var n=e.icon,o=e.className,i=e.onClick,r=e.style,a=e.primaryColor,l=e.secondaryColor,s=ZOe(e,cPt),c=m.useRef(),u=lE;if(a&&(u={primaryColor:a,secondaryColor:l||o_e(a)}),sPt(c),aPt(j7e(n),"icon should be icon definiton, but got ".concat(n)),!j7e(n))return null;var d=n;return d&&typeof d.icon=="function"&&(d=hw(hw({},d),{},{icon:d.icon(u.primaryColor,u.secondaryColor)})),Qce(d.icon,"svg-".concat(d.name),hw(hw({className:o,onClick:i,style:r,"data-icon":d.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},s),{},{ref:c}))};RH.displayName="IconReact";RH.getTwoToneColors=dPt;RH.setTwoToneColors=uPt;function r_e(t){var e=i_e(t),n=QOe(e,2),o=n[0],i=n[1];return RH.setTwoToneColors({primaryColor:o,secondaryColor:i})}function fPt(){var t=RH.getTwoToneColors();return t.calculated?[t.primaryColor,t.secondaryColor]:t.primaryColor}var hPt=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];r_e(oPt.primary);var Li=m.forwardRef(function(t,e){var n=t.className,o=t.icon,i=t.spin,r=t.rotate,a=t.tabIndex,l=t.onClick,s=t.twoToneColor,c=ZOe(t,hPt),u=m.useContext(Pge),d=u.prefixCls,f=d===void 0?"anticon":d,p=u.rootClassName,g=Vn(p,f,qce(qce({},"".concat(f,"-").concat(o.name),!!o.name),"".concat(f,"-spin"),!!i||o.name==="loading"),n),y=a;y===void 0&&l&&(y=-1);var A=r?{msTransform:"rotate(".concat(r,"deg)"),transform:"rotate(".concat(r,"deg)")}:void 0,x=i_e(s),C=QOe(x,2),b=C[0],v=C[1];return m.createElement("span",Fi({role:"img","aria-label":o.name},c,{ref:e,tabIndex:y,onClick:l,className:g}),m.createElement(RH,{icon:o,primaryColor:b,secondaryColor:v,style:A}))});Li.displayName="AntdIcon";Li.getTwoToneColor=fPt;Li.setTwoToneColor=r_e;var pPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:_Tt}))},Bge=m.forwardRef(pPt),gPt={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"},mPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:gPt}))},a$=m.forwardRef(mPt),yPt={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"},APt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yPt}))},E7=m.forwardRef(APt),wPt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"},vPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:wPt}))},a_e=m.forwardRef(vPt),xPt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"},bPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:xPt}))},l_e=m.forwardRef(bPt),SPt=`accept acceptCharset accessKey action allowFullScreen allowTransparency alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge charSet checked classID className colSpan cols content contentEditable contextMenu controls coords crossOrigin data dateTime default defer dir disabled download draggable @@ -4443,13 +4443,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho optimum pattern placeholder poster preload radioGroup readOnly rel required reversed role rowSpan rows sandbox scope scoped scrolling seamless selected shape size sizes span spellCheck src srcDoc srcLang srcSet start step style - summary tabIndex target title type useMap value width wmode wrap`,CPt=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown + summary tabIndex target title type useMap value width wmode wrap`,TPt=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata - onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,RPt="".concat(PPt," ").concat(CPt).split(/[\s\n]+/),HPt="aria-",MPt="data-";function O7e(t,e){return t.indexOf(e)===0}function jge(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=$C({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||O7e(i,HPt))||n.data&&O7e(i,MPt)||n.attr&&RPt.includes(i))&&(o[i]=t[i])}),o}function s_e(t){return t&&Se.isValidElement(t)&&t.type===Se.Fragment}const c_e=(t,e,n)=>Se.isValidElement(t)?Se.cloneElement(t,typeof n=="function"?n(t.props||{}):n):e;function Ou(t,e){return c_e(t,t,e)}function Zce(t){return t!=null&&t===t.window}function IPt(t,e){var n,o;if(typeof window>"u")return 0;const i="scrollTop";let r=0;return Zce(t)?r=t.pageYOffset:t instanceof Document?r=t.documentElement[i]:(t instanceof HTMLElement||t)&&(r=t[i]),t&&!Zce(t)&&typeof r!="number"&&(r=(o=((n=t.ownerDocument)!==null&&n!==void 0?n:t).documentElement)===null||o===void 0?void 0:o[i]),r}function zPt(t,e,n,o){const i=n-e;return t/=o/2,t<1?i/2*t*t*t+e:i/2*((t-=2)*t*t+2)+e}function DPt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{getContainer:n=()=>window,callback:o,duration:i=450}=e,r=n(),a=IPt(r),l=Date.now(),s=()=>{const u=Date.now()-l,d=zPt(u>i?i:u,a,t,i);Zce(r)?r.scrollTo(window.pageXOffset,d):r instanceof Document||r.constructor.name==="HTMLDocument"?r.documentElement.scrollTop=d:r.scrollTop=d,u{const[,,,,e]=Yu();return e?`${t}-css-var`:""};var Bn={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=Bn.F1&&n<=Bn.F12)return!1;switch(n){case Bn.ALT:case Bn.CAPS_LOCK:case Bn.CONTEXT_MENU:case Bn.CTRL:case Bn.DOWN:case Bn.END:case Bn.ESC:case Bn.HOME:case Bn.INSERT:case Bn.LEFT:case Bn.MAC_FF_META:case Bn.META:case Bn.NUMLOCK:case Bn.NUM_CENTER:case Bn.PAGE_DOWN:case Bn.PAGE_UP:case Bn.PAUSE:case Bn.PRINT_SCREEN:case Bn.RIGHT:case Bn.SHIFT:case Bn.UP:case Bn.WIN_KEY:case Bn.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Bn.ZERO&&e<=Bn.NINE||e>=Bn.NUM_ZERO&&e<=Bn.NUM_MULTIPLY||e>=Bn.A&&e<=Bn.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Bn.SPACE:case Bn.QUESTION_MARK:case Bn.NUM_PLUS:case Bn.NUM_MINUS:case Bn.NUM_PERIOD:case Bn.NUM_DIVISION:case Bn.SEMICOLON:case Bn.DASH:case Bn.EQUALS:case Bn.COMMA:case Bn.PERIOD:case Bn.SLASH:case Bn.APOSTROPHE:case Bn.SINGLE_QUOTE:case Bn.OPEN_SQUARE_BRACKET:case Bn.BACKSLASH:case Bn.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},EPt=`accept acceptCharset accessKey action allowFullScreen allowTransparency + onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,PPt="".concat(SPt," ").concat(TPt).split(/[\s\n]+/),CPt="aria-",RPt="data-";function O7e(t,e){return t.indexOf(e)===0}function jge(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=$C({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||O7e(i,CPt))||n.data&&O7e(i,RPt)||n.attr&&PPt.includes(i))&&(o[i]=t[i])}),o}function s_e(t){return t&&Se.isValidElement(t)&&t.type===Se.Fragment}const c_e=(t,e,n)=>Se.isValidElement(t)?Se.cloneElement(t,typeof n=="function"?n(t.props||{}):n):e;function Ou(t,e){return c_e(t,t,e)}function Zce(t){return t!=null&&t===t.window}function HPt(t,e){var n,o;if(typeof window>"u")return 0;const i="scrollTop";let r=0;return Zce(t)?r=t.pageYOffset:t instanceof Document?r=t.documentElement[i]:(t instanceof HTMLElement||t)&&(r=t[i]),t&&!Zce(t)&&typeof r!="number"&&(r=(o=((n=t.ownerDocument)!==null&&n!==void 0?n:t).documentElement)===null||o===void 0?void 0:o[i]),r}function MPt(t,e,n,o){const i=n-e;return t/=o/2,t<1?i/2*t*t*t+e:i/2*((t-=2)*t*t+2)+e}function IPt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{getContainer:n=()=>window,callback:o,duration:i=450}=e,r=n(),a=HPt(r),l=Date.now(),s=()=>{const u=Date.now()-l,d=MPt(u>i?i:u,a,t,i);Zce(r)?r.scrollTo(window.pageXOffset,d):r instanceof Document||r.constructor.name==="HTMLDocument"?r.documentElement.scrollTop=d:r.scrollTop=d,u{const[,,,,e]=Yu();return e?`${t}-css-var`:""};var Bn={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=Bn.F1&&n<=Bn.F12)return!1;switch(n){case Bn.ALT:case Bn.CAPS_LOCK:case Bn.CONTEXT_MENU:case Bn.CTRL:case Bn.DOWN:case Bn.END:case Bn.ESC:case Bn.HOME:case Bn.INSERT:case Bn.LEFT:case Bn.MAC_FF_META:case Bn.META:case Bn.NUMLOCK:case Bn.NUM_CENTER:case Bn.PAGE_DOWN:case Bn.PAGE_UP:case Bn.PAUSE:case Bn.PRINT_SCREEN:case Bn.RIGHT:case Bn.SHIFT:case Bn.UP:case Bn.WIN_KEY:case Bn.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Bn.ZERO&&e<=Bn.NINE||e>=Bn.NUM_ZERO&&e<=Bn.NUM_MULTIPLY||e>=Bn.A&&e<=Bn.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Bn.SPACE:case Bn.QUESTION_MARK:case Bn.NUM_PLUS:case Bn.NUM_MINUS:case Bn.NUM_PERIOD:case Bn.NUM_DIVISION:case Bn.SEMICOLON:case Bn.DASH:case Bn.EQUALS:case Bn.COMMA:case Bn.PERIOD:case Bn.SLASH:case Bn.APOSTROPHE:case Bn.SINGLE_QUOTE:case Bn.OPEN_SQUARE_BRACKET:case Bn.BACKSLASH:case Bn.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},zPt=`accept acceptCharset accessKey action allowFullScreen allowTransparency alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge charSet checked classID className colSpan cols content contentEditable contextMenu controls coords crossOrigin data dateTime default defer dir disabled download draggable @@ -4460,52 +4460,52 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho optimum pattern placeholder poster preload radioGroup readOnly rel required reversed role rowSpan rows sandbox scope scoped scrolling seamless selected shape size sizes span spellCheck src srcDoc srcLang srcSet start step style - summary tabIndex target title type useMap value width wmode wrap`,kPt=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown + summary tabIndex target title type useMap value width wmode wrap`,DPt=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata - onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,FPt="".concat(EPt," ").concat(kPt).split(/[\s\n]+/),LPt="aria-",WPt="data-";function _7e(t,e){return t.indexOf(e)===0}function gf(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=$t({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||_7e(i,LPt))||n.data&&_7e(i,WPt)||n.attr&&FPt.includes(i))&&(o[i]=t[i])}),o}var u_e=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.style,i=t.className,r=t.duration,a=r===void 0?4.5:r,l=t.eventKey,s=t.content,c=t.closable,u=t.closeIcon,d=u===void 0?"x":u,f=t.props,p=t.onClick,g=t.onNoticeClose,y=t.times,A=t.hovering,x=m.useState(!1),C=on(x,2),b=C[0],v=C[1],S=A||b,w=function(){g(l)},T=function(E){(E.key==="Enter"||E.code==="Enter"||E.keyCode===Bn.ENTER)&&w()};m.useEffect(function(){if(!S&&a>0){var D=setTimeout(function(){w()},a*1e3);return function(){clearTimeout(D)}}},[a,S,y]);var P=m.useMemo(function(){return gr(c)==="object"&&c!==null?c:c?{closeIcon:d}:{}},[c,d]),R=gf(P,!0),H="".concat(n,"-notice");return m.createElement("div",so({},f,{ref:e,className:Vn(H,i,_t({},"".concat(H,"-closable"),c)),style:o,onMouseEnter:function(E){var L;v(!0),f==null||(L=f.onMouseEnter)===null||L===void 0||L.call(f,E)},onMouseLeave:function(E){var L;v(!1),f==null||(L=f.onMouseLeave)===null||L===void 0||L.call(f,E)},onClick:p}),m.createElement("div",{className:"".concat(H,"-content")},s),c&&m.createElement("a",so({tabIndex:0,className:"".concat(H,"-close"),onKeyDown:T,"aria-label":"Close"},R,{onClick:function(E){E.preventDefault(),E.stopPropagation(),w()}}),P.closeIcon))}),d_e=Se.createContext({}),NPt=function(e){var n=e.children,o=e.classNames;return Se.createElement(d_e.Provider,{value:{classNames:o}},n)},V7e=8,G7e=3,X7e=16,UPt=function(e){var n={offset:V7e,threshold:G7e,gap:X7e};if(e&&gr(e)==="object"){var o,i,r;n.offset=(o=e.offset)!==null&&o!==void 0?o:V7e,n.threshold=(i=e.threshold)!==null&&i!==void 0?i:G7e,n.gap=(r=e.gap)!==null&&r!==void 0?r:X7e}return[!!e,n]},BPt=["className","style","classNames","styles"],jPt=function(e){var n=e.configList,o=e.placement,i=e.prefixCls,r=e.className,a=e.style,l=e.motion,s=e.onAllNoticeRemoved,c=e.onNoticeClose,u=e.stack,d=m.useContext(d_e),f=d.classNames,p=m.useRef({}),g=m.useState(null),y=on(g,2),A=y[0],x=y[1],C=m.useState([]),b=on(C,2),v=b[0],S=b[1],w=n.map(function(W){return{config:W,key:String(W.key)}}),T=UPt(u),P=on(T,2),R=P[0],H=P[1],D=H.offset,E=H.threshold,L=H.gap,U=R&&(v.length>0||w.length<=E),F=typeof l=="function"?l(o):l;return m.useEffect(function(){R&&v.length>1&&S(function(W){return W.filter(function(B){return w.some(function(k){var N=k.key;return B===N})})})},[v,w,R]),m.useEffect(function(){var W;if(R&&p.current[(W=w[w.length-1])===null||W===void 0?void 0:W.key]){var B;x(p.current[(B=w[w.length-1])===null||B===void 0?void 0:B.key])}},[w,R]),Se.createElement(LTt,so({key:o,className:Vn(i,"".concat(i,"-").concat(o),f==null?void 0:f.list,r,_t(_t({},"".concat(i,"-stack"),!!R),"".concat(i,"-stack-expanded"),U)),style:a,keys:w,motionAppear:!0},F,{onAllRemoved:function(){s(o)}}),function(W,B){var k=W.config,N=W.className,j=W.style,Y=W.index,_=k,J=_.key,Q=_.times,ee=String(J),$=k,q=$.className,le=$.style,ie=$.classNames,pe=$.styles,ne=ir($,BPt),Z=w.findIndex(function(re){return re.key===ee}),he={};if(R){var fe=w.length-1-(Z>-1?Z:Y-1),se=o==="top"||o==="bottom"?"-50%":"0";if(fe>0){var oe,de,ve;he.height=U?(oe=p.current[ee])===null||oe===void 0?void 0:oe.offsetHeight:A==null?void 0:A.offsetHeight;for(var Pe=0,me=0;me-1?p.current[ee]=ge:delete p.current[ee]},prefixCls:i,classNames:ie,styles:pe,className:Vn(q,f==null?void 0:f.notice),style:le,times:Q,key:J,eventKey:J,onNoticeClose:c,hovering:R&&v.length>0})))})},YPt=m.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-notification":n,i=t.container,r=t.motion,a=t.maxCount,l=t.className,s=t.style,c=t.onAllRemoved,u=t.stack,d=t.renderNotifications,f=m.useState([]),p=on(f,2),g=p[0],y=p[1],A=function(R){var H,D=g.find(function(E){return E.key===R});D==null||(H=D.onClose)===null||H===void 0||H.call(D),y(function(E){return E.filter(function(L){return L.key!==R})})};m.useImperativeHandle(e,function(){return{open:function(R){y(function(H){var D=Wo(H),E=D.findIndex(function(F){return F.key===R.key}),L=$t({},R);if(E>=0){var U;L.times=(((U=H[E])===null||U===void 0?void 0:U.times)||0)+1,D[E]=L}else L.times=0,D.push(L);return a>0&&D.length>a&&(D=D.slice(-a)),D})},close:function(R){A(R)},destroy:function(){y([])}}});var x=m.useState({}),C=on(x,2),b=C[0],v=C[1];m.useEffect(function(){var P={};g.forEach(function(R){var H=R.placement,D=H===void 0?"topRight":H;D&&(P[D]=P[D]||[],P[D].push(R))}),Object.keys(b).forEach(function(R){P[R]=P[R]||[]}),v(P)},[g]);var S=function(R){v(function(H){var D=$t({},H),E=D[R]||[];return E.length||delete D[R],D})},w=m.useRef(!1);if(m.useEffect(function(){Object.keys(b).length>0?w.current=!0:w.current&&(c==null||c(),w.current=!1)},[b]),!i)return null;var T=Object.keys(b);return Sd.createPortal(m.createElement(m.Fragment,null,T.map(function(P){var R=b[P],H=m.createElement(jPt,{key:P,configList:R,placement:P,prefixCls:o,className:l==null?void 0:l(P),style:s==null?void 0:s(P),motion:r,onNoticeClose:A,onAllNoticeRemoved:S,stack:u});return d?d(H,{prefixCls:o,key:P}):H})),i)}),OPt=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],_Pt=function(){return document.body},J7e=0;function VPt(){for(var t={},e=arguments.length,n=new Array(e),o=0;o0&&arguments[0]!==void 0?arguments[0]:{},e=t.getContainer,n=e===void 0?_Pt:e,o=t.motion,i=t.prefixCls,r=t.maxCount,a=t.className,l=t.style,s=t.onAllRemoved,c=t.stack,u=t.renderNotifications,d=ir(t,OPt),f=m.useState(),p=on(f,2),g=p[0],y=p[1],A=m.useRef(),x=m.createElement(YPt,{container:g,ref:A,prefixCls:i,motion:o,maxCount:r,className:a,style:l,onAllRemoved:s,stack:c,renderNotifications:u}),C=m.useState([]),b=on(C,2),v=b[0],S=b[1],w=m.useMemo(function(){return{open:function(P){var R=VPt(d,P);(R.key===null||R.key===void 0)&&(R.key="rc-notification-".concat(J7e),J7e+=1),S(function(H){return[].concat(Wo(H),[{type:"open",config:R}])})},close:function(P){S(function(R){return[].concat(Wo(R),[{type:"close",key:P}])})},destroy:function(){S(function(P){return[].concat(Wo(P),[{type:"destroy"}])})}}},[]);return m.useEffect(function(){y(n())}),m.useEffect(function(){A.current&&v.length&&(v.forEach(function(T){switch(T.type){case"open":A.current.open(T.config);break;case"close":A.current.close(T.key);break;case"destroy":A.current.destroy();break}}),S(function(T){return T.filter(function(P){return!v.includes(P)})}))},[v]),[w,x]}var XPt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},JPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:XPt}))},HH=m.forwardRef(JPt);const yW=Se.createContext(void 0),sv=100,KPt=10,Yge=sv*KPt,f_e={Modal:sv,Drawer:sv,Popover:sv,Popconfirm:sv,Tooltip:sv,Tour:sv},qPt={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function $Pt(t){return t in f_e}function k7(t,e){const[,n]=Yu(),o=Se.useContext(yW),i=$Pt(t);if(e!==void 0)return[e,e];let r=o??0;return i?(r+=(o?0:n.zIndexPopupBase)+f_e[t],r=Math.min(r,n.zIndexPopupBase+Yge)):r+=qPt[t],[o===void 0?e:r,r]}const QPt=t=>{const{componentCls:e,iconCls:n,boxShadow:o,colorText:i,colorSuccess:r,colorError:a,colorWarning:l,colorInfo:s,fontSizeLG:c,motionEaseInOutCirc:u,motionDurationSlow:d,marginXS:f,paddingXS:p,borderRadiusLG:g,zIndexPopup:y,contentPadding:A,contentBg:x}=t,C=`${e}-notice`,b=new ul("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:p,transform:"translateY(0)",opacity:1}}),v=new ul("MessageMoveOut",{"0%":{maxHeight:t.height,padding:p,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),S={padding:p,textAlign:"center",[`${e}-custom-content > ${n}`]:{verticalAlign:"text-bottom",marginInlineEnd:f,fontSize:c},[`${C}-content`]:{display:"inline-block",padding:A,background:x,borderRadius:g,boxShadow:o,pointerEvents:"all"},[`${e}-success > ${n}`]:{color:r},[`${e}-error > ${n}`]:{color:a},[`${e}-warning > ${n}`]:{color:l},[`${e}-info > ${n}, + onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,EPt="".concat(zPt," ").concat(DPt).split(/[\s\n]+/),kPt="aria-",FPt="data-";function _7e(t,e){return t.indexOf(e)===0}function gf(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=$t({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||_7e(i,kPt))||n.data&&_7e(i,FPt)||n.attr&&EPt.includes(i))&&(o[i]=t[i])}),o}var u_e=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.style,i=t.className,r=t.duration,a=r===void 0?4.5:r,l=t.eventKey,s=t.content,c=t.closable,u=t.closeIcon,d=u===void 0?"x":u,f=t.props,p=t.onClick,g=t.onNoticeClose,y=t.times,A=t.hovering,x=m.useState(!1),C=on(x,2),b=C[0],v=C[1],S=A||b,w=function(){g(l)},T=function(E){(E.key==="Enter"||E.code==="Enter"||E.keyCode===Bn.ENTER)&&w()};m.useEffect(function(){if(!S&&a>0){var D=setTimeout(function(){w()},a*1e3);return function(){clearTimeout(D)}}},[a,S,y]);var P=m.useMemo(function(){return gr(c)==="object"&&c!==null?c:c?{closeIcon:d}:{}},[c,d]),R=gf(P,!0),H="".concat(n,"-notice");return m.createElement("div",so({},f,{ref:e,className:Vn(H,i,_t({},"".concat(H,"-closable"),c)),style:o,onMouseEnter:function(E){var L;v(!0),f==null||(L=f.onMouseEnter)===null||L===void 0||L.call(f,E)},onMouseLeave:function(E){var L;v(!1),f==null||(L=f.onMouseLeave)===null||L===void 0||L.call(f,E)},onClick:p}),m.createElement("div",{className:"".concat(H,"-content")},s),c&&m.createElement("a",so({tabIndex:0,className:"".concat(H,"-close"),onKeyDown:T,"aria-label":"Close"},R,{onClick:function(E){E.preventDefault(),E.stopPropagation(),w()}}),P.closeIcon))}),d_e=Se.createContext({}),LPt=function(e){var n=e.children,o=e.classNames;return Se.createElement(d_e.Provider,{value:{classNames:o}},n)},V7e=8,G7e=3,X7e=16,WPt=function(e){var n={offset:V7e,threshold:G7e,gap:X7e};if(e&&gr(e)==="object"){var o,i,r;n.offset=(o=e.offset)!==null&&o!==void 0?o:V7e,n.threshold=(i=e.threshold)!==null&&i!==void 0?i:G7e,n.gap=(r=e.gap)!==null&&r!==void 0?r:X7e}return[!!e,n]},NPt=["className","style","classNames","styles"],UPt=function(e){var n=e.configList,o=e.placement,i=e.prefixCls,r=e.className,a=e.style,l=e.motion,s=e.onAllNoticeRemoved,c=e.onNoticeClose,u=e.stack,d=m.useContext(d_e),f=d.classNames,p=m.useRef({}),g=m.useState(null),y=on(g,2),A=y[0],x=y[1],C=m.useState([]),b=on(C,2),v=b[0],S=b[1],w=n.map(function(W){return{config:W,key:String(W.key)}}),T=WPt(u),P=on(T,2),R=P[0],H=P[1],D=H.offset,E=H.threshold,L=H.gap,U=R&&(v.length>0||w.length<=E),F=typeof l=="function"?l(o):l;return m.useEffect(function(){R&&v.length>1&&S(function(W){return W.filter(function(B){return w.some(function(k){var N=k.key;return B===N})})})},[v,w,R]),m.useEffect(function(){var W;if(R&&p.current[(W=w[w.length-1])===null||W===void 0?void 0:W.key]){var B;x(p.current[(B=w[w.length-1])===null||B===void 0?void 0:B.key])}},[w,R]),Se.createElement(kTt,so({key:o,className:Vn(i,"".concat(i,"-").concat(o),f==null?void 0:f.list,r,_t(_t({},"".concat(i,"-stack"),!!R),"".concat(i,"-stack-expanded"),U)),style:a,keys:w,motionAppear:!0},F,{onAllRemoved:function(){s(o)}}),function(W,B){var k=W.config,N=W.className,j=W.style,Y=W.index,_=k,J=_.key,Q=_.times,ee=String(J),$=k,q=$.className,le=$.style,ie=$.classNames,pe=$.styles,ne=ir($,NPt),Z=w.findIndex(function(re){return re.key===ee}),he={};if(R){var fe=w.length-1-(Z>-1?Z:Y-1),se=o==="top"||o==="bottom"?"-50%":"0";if(fe>0){var oe,de,ve;he.height=U?(oe=p.current[ee])===null||oe===void 0?void 0:oe.offsetHeight:A==null?void 0:A.offsetHeight;for(var Pe=0,me=0;me-1?p.current[ee]=ge:delete p.current[ee]},prefixCls:i,classNames:ie,styles:pe,className:Vn(q,f==null?void 0:f.notice),style:le,times:Q,key:J,eventKey:J,onNoticeClose:c,hovering:R&&v.length>0})))})},BPt=m.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-notification":n,i=t.container,r=t.motion,a=t.maxCount,l=t.className,s=t.style,c=t.onAllRemoved,u=t.stack,d=t.renderNotifications,f=m.useState([]),p=on(f,2),g=p[0],y=p[1],A=function(R){var H,D=g.find(function(E){return E.key===R});D==null||(H=D.onClose)===null||H===void 0||H.call(D),y(function(E){return E.filter(function(L){return L.key!==R})})};m.useImperativeHandle(e,function(){return{open:function(R){y(function(H){var D=Wo(H),E=D.findIndex(function(F){return F.key===R.key}),L=$t({},R);if(E>=0){var U;L.times=(((U=H[E])===null||U===void 0?void 0:U.times)||0)+1,D[E]=L}else L.times=0,D.push(L);return a>0&&D.length>a&&(D=D.slice(-a)),D})},close:function(R){A(R)},destroy:function(){y([])}}});var x=m.useState({}),C=on(x,2),b=C[0],v=C[1];m.useEffect(function(){var P={};g.forEach(function(R){var H=R.placement,D=H===void 0?"topRight":H;D&&(P[D]=P[D]||[],P[D].push(R))}),Object.keys(b).forEach(function(R){P[R]=P[R]||[]}),v(P)},[g]);var S=function(R){v(function(H){var D=$t({},H),E=D[R]||[];return E.length||delete D[R],D})},w=m.useRef(!1);if(m.useEffect(function(){Object.keys(b).length>0?w.current=!0:w.current&&(c==null||c(),w.current=!1)},[b]),!i)return null;var T=Object.keys(b);return Sd.createPortal(m.createElement(m.Fragment,null,T.map(function(P){var R=b[P],H=m.createElement(UPt,{key:P,configList:R,placement:P,prefixCls:o,className:l==null?void 0:l(P),style:s==null?void 0:s(P),motion:r,onNoticeClose:A,onAllNoticeRemoved:S,stack:u});return d?d(H,{prefixCls:o,key:P}):H})),i)}),jPt=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],YPt=function(){return document.body},J7e=0;function OPt(){for(var t={},e=arguments.length,n=new Array(e),o=0;o0&&arguments[0]!==void 0?arguments[0]:{},e=t.getContainer,n=e===void 0?YPt:e,o=t.motion,i=t.prefixCls,r=t.maxCount,a=t.className,l=t.style,s=t.onAllRemoved,c=t.stack,u=t.renderNotifications,d=ir(t,jPt),f=m.useState(),p=on(f,2),g=p[0],y=p[1],A=m.useRef(),x=m.createElement(BPt,{container:g,ref:A,prefixCls:i,motion:o,maxCount:r,className:a,style:l,onAllRemoved:s,stack:c,renderNotifications:u}),C=m.useState([]),b=on(C,2),v=b[0],S=b[1],w=m.useMemo(function(){return{open:function(P){var R=OPt(d,P);(R.key===null||R.key===void 0)&&(R.key="rc-notification-".concat(J7e),J7e+=1),S(function(H){return[].concat(Wo(H),[{type:"open",config:R}])})},close:function(P){S(function(R){return[].concat(Wo(R),[{type:"close",key:P}])})},destroy:function(){S(function(P){return[].concat(Wo(P),[{type:"destroy"}])})}}},[]);return m.useEffect(function(){y(n())}),m.useEffect(function(){A.current&&v.length&&(v.forEach(function(T){switch(T.type){case"open":A.current.open(T.config);break;case"close":A.current.close(T.key);break;case"destroy":A.current.destroy();break}}),S(function(T){return T.filter(function(P){return!v.includes(P)})}))},[v]),[w,x]}var VPt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},GPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:VPt}))},HH=m.forwardRef(GPt);const yW=Se.createContext(void 0),sv=100,XPt=10,Yge=sv*XPt,f_e={Modal:sv,Drawer:sv,Popover:sv,Popconfirm:sv,Tooltip:sv,Tour:sv},JPt={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function KPt(t){return t in f_e}function k7(t,e){const[,n]=Yu(),o=Se.useContext(yW),i=KPt(t);if(e!==void 0)return[e,e];let r=o??0;return i?(r+=(o?0:n.zIndexPopupBase)+f_e[t],r=Math.min(r,n.zIndexPopupBase+Yge)):r+=JPt[t],[o===void 0?e:r,r]}const qPt=t=>{const{componentCls:e,iconCls:n,boxShadow:o,colorText:i,colorSuccess:r,colorError:a,colorWarning:l,colorInfo:s,fontSizeLG:c,motionEaseInOutCirc:u,motionDurationSlow:d,marginXS:f,paddingXS:p,borderRadiusLG:g,zIndexPopup:y,contentPadding:A,contentBg:x}=t,C=`${e}-notice`,b=new ul("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:p,transform:"translateY(0)",opacity:1}}),v=new ul("MessageMoveOut",{"0%":{maxHeight:t.height,padding:p,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),S={padding:p,textAlign:"center",[`${e}-custom-content > ${n}`]:{verticalAlign:"text-bottom",marginInlineEnd:f,fontSize:c},[`${C}-content`]:{display:"inline-block",padding:A,background:x,borderRadius:g,boxShadow:o,pointerEvents:"all"},[`${e}-success > ${n}`]:{color:r},[`${e}-error > ${n}`]:{color:a},[`${e}-warning > ${n}`]:{color:l},[`${e}-info > ${n}, ${e}-loading > ${n}`]:{color:s}};return[{[e]:Object.assign(Object.assign({},$a(t)),{color:i,position:"fixed",top:f,width:"100%",pointerEvents:"none",zIndex:y,[`${e}-move-up`]:{animationFillMode:"forwards"},[` ${e}-move-up-appear, ${e}-move-up-enter `]:{animationName:b,animationDuration:d,animationPlayState:"paused",animationTimingFunction:u},[` ${e}-move-up-appear${e}-move-up-appear-active, ${e}-move-up-enter${e}-move-up-enter-active - `]:{animationPlayState:"running"},[`${e}-move-up-leave`]:{animationName:v,animationDuration:d,animationPlayState:"paused",animationTimingFunction:u},[`${e}-move-up-leave${e}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[e]:{[`${C}-wrapper`]:Object.assign({},S)}},{[`${e}-notice-pure-panel`]:Object.assign(Object.assign({},S),{padding:0,textAlign:"start"})}]},ZPt=t=>({zIndexPopup:t.zIndexPopupBase+Yge+10,contentBg:t.colorBgElevated,contentPadding:`${(t.controlHeightLG-t.fontSize*t.lineHeight)/2}px ${t.paddingSM}px`}),h_e=Fl("Message",t=>{const e=Zr(t,{height:150});return[QPt(e)]},ZPt);var eCt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{prefixCls:e,type:n,icon:o,children:i}=t;return m.createElement("div",{className:Gn(`${e}-custom-content`,`${e}-${n}`)},o||tCt[n],m.createElement("span",null,i))},nCt=t=>{const{prefixCls:e,className:n,type:o,icon:i,content:r}=t,a=eCt(t,["prefixCls","className","type","icon","content"]),{getPrefixCls:l}=m.useContext(Mi),s=e||l("message"),c=j0(s),[u,d,f]=h_e(s,c);return u(m.createElement(u_e,Object.assign({},a,{prefixCls:s,className:Gn(n,d,`${s}-notice-pure-panel`,f,c),eventKey:"pure",duration:null,content:m.createElement(p_e,{prefixCls:s,type:o,icon:i},r)})))};function oCt(t,e){return{motionName:e??`${t}-move-up`}}function Oge(t){let e;const n=new Promise(i=>{e=t(()=>{i(!0)})}),o=()=>{e==null||e()};return o.then=(i,r)=>n.then(i,r),o.promise=n,o}var iCt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{children:e,prefixCls:n}=t;const o=j0(n),[i,r,a]=h_e(n,o);return i(m.createElement(NPt,{classNames:{list:Gn(r,a,o)}},e))},sCt=(t,e)=>{let{prefixCls:n,key:o}=e;return m.createElement(lCt,{prefixCls:n,key:o},t)},cCt=m.forwardRef((t,e)=>{const{top:n,prefixCls:o,getContainer:i,maxCount:r,duration:a=aCt,rtl:l,transitionName:s,onAllRemoved:c}=t,{getPrefixCls:u,getPopupContainer:d,message:f,direction:p}=m.useContext(Mi),g=o||u("message"),y=()=>({left:"50%",transform:"translateX(-50%)",top:n??rCt}),A=()=>Gn({[`${g}-rtl`]:l??p==="rtl"}),x=()=>oCt(g,s),C=m.createElement("span",{className:`${g}-close-x`},m.createElement(E7,{className:`${g}-close-icon`})),[b,v]=GPt({prefixCls:g,style:y,className:A,motion:x,closable:!1,closeIcon:C,duration:a,getContainer:()=>(i==null?void 0:i())||(d==null?void 0:d())||document.body,maxCount:r,onAllRemoved:c,renderNotifications:sCt});return m.useImperativeHandle(e,()=>Object.assign(Object.assign({},b),{prefixCls:g,message:f})),v});let K7e=0;function g_e(t){const e=m.useRef(null);return Hb(),[m.useMemo(()=>{const o=s=>{var c;(c=e.current)===null||c===void 0||c.close(s)},i=s=>{if(!e.current){const w=()=>{};return w.then=()=>{},w}const{open:c,prefixCls:u,message:d}=e.current,f=`${u}-notice`,{content:p,icon:g,type:y,key:A,className:x,style:C,onClose:b}=s,v=iCt(s,["content","icon","type","key","className","style","onClose"]);let S=A;return S==null&&(K7e+=1,S=`antd-message-${K7e}`),Oge(w=>(c(Object.assign(Object.assign({},v),{key:S,content:m.createElement(p_e,{prefixCls:u,type:y,icon:g},p),placement:"top",className:Gn(y&&`${f}-${y}`,x,d==null?void 0:d.className),style:Object.assign(Object.assign({},d==null?void 0:d.style),C),onClose:()=>{b==null||b(),w()}})),()=>{o(S)}))},a={open:i,destroy:s=>{var c;s!==void 0?o(s):(c=e.current)===null||c===void 0||c.destroy()}};return["info","success","warning","error","loading"].forEach(s=>{const c=(u,d,f)=>{let p;u&&typeof u=="object"&&"content"in u?p=u:p={content:u};let g,y;typeof d=="function"?y=d:(g=d,y=f);const A=Object.assign(Object.assign({onClose:y,duration:g},p),{type:s});return i(A)};a[s]=c}),a},[]),m.createElement(cCt,Object.assign({key:"message-holder"},t,{ref:e}))]}function uCt(t){return g_e(t)}function dCt(){const[t,e]=m.useState([]),n=m.useCallback(o=>(e(i=>[].concat(Xa(i),[o])),()=>{e(i=>i.filter(r=>r!==o))}),[]);return[t,n]}function Ok(){Ok=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(W,B,k){W[B]=k.value},r=typeof Symbol=="function"?Symbol:{},a=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(W,B,k){return Object.defineProperty(W,B,{value:k,enumerable:!0,configurable:!0,writable:!0}),W[B]}try{c({},"")}catch{c=function(k,N,j){return k[N]=j}}function u(W,B,k,N){var j=B&&B.prototype instanceof x?B:x,Y=Object.create(j.prototype),_=new U(N||[]);return i(Y,"_invoke",{value:H(W,k,_)}),Y}function d(W,B,k){try{return{type:"normal",arg:W.call(B,k)}}catch(N){return{type:"throw",arg:N}}}e.wrap=u;var f="suspendedStart",p="suspendedYield",g="executing",y="completed",A={};function x(){}function C(){}function b(){}var v={};c(v,a,function(){return this});var S=Object.getPrototypeOf,w=S&&S(S(F([])));w&&w!==n&&o.call(w,a)&&(v=w);var T=b.prototype=x.prototype=Object.create(v);function P(W){["next","throw","return"].forEach(function(B){c(W,B,function(k){return this._invoke(B,k)})})}function R(W,B){function k(j,Y,_,J){var Q=d(W[j],W,Y);if(Q.type!=="throw"){var ee=Q.arg,$=ee.value;return $&&Tg($)=="object"&&o.call($,"__await")?B.resolve($.__await).then(function(q){k("next",q,_,J)},function(q){k("throw",q,_,J)}):B.resolve($).then(function(q){ee.value=q,_(ee)},function(q){return k("throw",q,_,J)})}J(Q.arg)}var N;i(this,"_invoke",{value:function(Y,_){function J(){return new B(function(Q,ee){k(Y,_,Q,ee)})}return N=N?N.then(J,J):J()}})}function H(W,B,k){var N=f;return function(j,Y){if(N===g)throw new Error("Generator is already running");if(N===y){if(j==="throw")throw Y;return{value:t,done:!0}}for(k.method=j,k.arg=Y;;){var _=k.delegate;if(_){var J=D(_,k);if(J){if(J===A)continue;return J}}if(k.method==="next")k.sent=k._sent=k.arg;else if(k.method==="throw"){if(N===f)throw N=y,k.arg;k.dispatchException(k.arg)}else k.method==="return"&&k.abrupt("return",k.arg);N=g;var Q=d(W,B,k);if(Q.type==="normal"){if(N=k.done?y:p,Q.arg===A)continue;return{value:Q.arg,done:k.done}}Q.type==="throw"&&(N=y,k.method="throw",k.arg=Q.arg)}}}function D(W,B){var k=B.method,N=W.iterator[k];if(N===t)return B.delegate=null,k==="throw"&&W.iterator.return&&(B.method="return",B.arg=t,D(W,B),B.method==="throw")||k!=="return"&&(B.method="throw",B.arg=new TypeError("The iterator does not provide a '"+k+"' method")),A;var j=d(N,W.iterator,B.arg);if(j.type==="throw")return B.method="throw",B.arg=j.arg,B.delegate=null,A;var Y=j.arg;return Y?Y.done?(B[W.resultName]=Y.value,B.next=W.nextLoc,B.method!=="return"&&(B.method="next",B.arg=t),B.delegate=null,A):Y:(B.method="throw",B.arg=new TypeError("iterator result is not an object"),B.delegate=null,A)}function E(W){var B={tryLoc:W[0]};1 in W&&(B.catchLoc=W[1]),2 in W&&(B.finallyLoc=W[2],B.afterLoc=W[3]),this.tryEntries.push(B)}function L(W){var B=W.completion||{};B.type="normal",delete B.arg,W.completion=B}function U(W){this.tryEntries=[{tryLoc:"root"}],W.forEach(E,this),this.reset(!0)}function F(W){if(W||W===""){var B=W[a];if(B)return B.call(W);if(typeof W.next=="function")return W;if(!isNaN(W.length)){var k=-1,N=function j(){for(;++k=0;--j){var Y=this.tryEntries[j],_=Y.completion;if(Y.tryLoc==="root")return N("end");if(Y.tryLoc<=this.prev){var J=o.call(Y,"catchLoc"),Q=o.call(Y,"finallyLoc");if(J&&Q){if(this.prev=0;--N){var j=this.tryEntries[N];if(j.tryLoc<=this.prev&&o.call(j,"finallyLoc")&&this.prev=0;--k){var N=this.tryEntries[k];if(N.finallyLoc===B)return this.complete(N.completion,N.afterLoc),L(N),A}},catch:function(B){for(var k=this.tryEntries.length-1;k>=0;--k){var N=this.tryEntries[k];if(N.tryLoc===B){var j=N.completion;if(j.type==="throw"){var Y=j.arg;L(N)}return Y}}throw new Error("illegal catch attempt")},delegateYield:function(B,k,N){return this.delegate={iterator:F(B),resultName:k,nextLoc:N},this.method==="next"&&(this.arg=t),A}},e}function q7e(t,e,n,o,i,r,a){try{var l=t[r](a),s=l.value}catch(c){n(c);return}l.done?e(s):Promise.resolve(s).then(o,i)}function m_e(t){return function(){var e=this,n=arguments;return new Promise(function(o,i){var r=t.apply(e,n);function a(s){q7e(r,o,i,a,l,"next",s)}function l(s){q7e(r,o,i,a,l,"throw",s)}a(void 0)})}}var AW=$C({},Fut),fCt=AW.version,hCt=AW.render,pCt=AW.unmountComponentAtNode,l$;try{var gCt=Number((fCt||"").split(".")[0]);gCt>=18&&(l$=AW.createRoot)}catch{}function $7e(t){var e=AW.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;e&&Tg(e)==="object"&&(e.usingClientEntryPoint=t)}var mG="__rc_react_root__";function mCt(t,e){$7e(!0);var n=e[mG]||l$(e);$7e(!1),n.render(t),e[mG]=n}function yCt(t,e){hCt(t,e)}function _ge(t,e){if(l$){mCt(t,e);return}yCt(t,e)}function ACt(t){return e0e.apply(this,arguments)}function e0e(){return e0e=m_e(Ok().mark(function t(e){return Ok().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.abrupt("return",Promise.resolve().then(function(){var i;(i=e[mG])===null||i===void 0||i.unmount(),delete e[mG]}));case 1:case"end":return o.stop()}},t)})),e0e.apply(this,arguments)}function wCt(t){pCt(t)}function y_e(t){return t0e.apply(this,arguments)}function t0e(){return t0e=m_e(Ok().mark(function t(e){return Ok().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(l$===void 0){o.next=2;break}return o.abrupt("return",ACt(e));case 2:wCt(e);case 3:case"end":return o.stop()}},t)})),t0e.apply(this,arguments)}const wie=()=>({height:0,opacity:0}),Q7e=t=>{const{scrollHeight:e}=t;return{height:e,opacity:1}},vCt=t=>({height:t?t.offsetHeight:0}),vie=(t,e)=>(e==null?void 0:e.deadline)===!0||e.propertyName==="height",Vge=function(){return{motionName:`${arguments.length>0&&arguments[0]!==void 0?arguments[0]:"ant"}-motion-collapse`,onAppearStart:wie,onEnterStart:wie,onAppearActive:Q7e,onEnterActive:Q7e,onLeaveStart:vCt,onLeaveActive:wie,onAppearEnd:vie,onEnterEnd:vie,onLeaveEnd:vie,motionDeadline:500}},D9=(t,e,n)=>n!==void 0?n:`${t}-${e}`,xCt=function(t){if(!t)return!1;if(t instanceof Element){if(t.offsetParent)return!0;if(t.getBBox){var e=t.getBBox(),n=e.width,o=e.height;if(n||o)return!0}if(t.getBoundingClientRect){var i=t.getBoundingClientRect(),r=i.width,a=i.height;if(r||a)return!0}}return!1},bCt=t=>{const{componentCls:e,colorPrimary:n}=t;return{[e]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${n})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${t.motionEaseOutCirc}`,`opacity 2s ${t.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:[`box-shadow ${t.motionDurationSlow} ${t.motionEaseInOut}`,`opacity ${t.motionDurationSlow} ${t.motionEaseInOut}`].join(",")}}}}},SCt=Wge("Wave",t=>[bCt(t)]),s$="ant-wave-target";function TCt(t){const e=(t||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return e&&e[1]&&e[2]&&e[3]?!(e[1]===e[2]&&e[2]===e[3]):!0}function xie(t){return t&&t!=="#fff"&&t!=="#ffffff"&&t!=="rgb(255, 255, 255)"&&t!=="rgba(255, 255, 255, 1)"&&TCt(t)&&!/rgba\((?:\d*, ){3}0\)/.test(t)&&t!=="transparent"}function PCt(t){const{borderTopColor:e,borderColor:n,backgroundColor:o}=getComputedStyle(t);return xie(e)?e:xie(n)?n:xie(o)?o:null}function bie(t){return Number.isNaN(t)?0:t}const CCt=t=>{const{className:e,target:n,component:o}=t,i=m.useRef(null),[r,a]=m.useState(null),[l,s]=m.useState([]),[c,u]=m.useState(0),[d,f]=m.useState(0),[p,g]=m.useState(0),[y,A]=m.useState(0),[x,C]=m.useState(!1),b={left:c,top:d,width:p,height:y,borderRadius:l.map(w=>`${w}px`).join(" ")};r&&(b["--wave-color"]=r);function v(){const w=getComputedStyle(n);a(PCt(n));const T=w.position==="static",{borderLeftWidth:P,borderTopWidth:R}=w;u(T?n.offsetLeft:bie(-parseFloat(P))),f(T?n.offsetTop:bie(-parseFloat(R))),g(n.offsetWidth),A(n.offsetHeight);const{borderTopLeftRadius:H,borderTopRightRadius:D,borderBottomLeftRadius:E,borderBottomRightRadius:L}=w;s([H,D,L,E].map(U=>bie(parseFloat(U))))}if(m.useEffect(()=>{if(n){const w=Pg(()=>{v(),C(!0)});let T;return typeof ResizeObserver<"u"&&(T=new ResizeObserver(v),T.observe(n)),()=>{Pg.cancel(w),T==null||T.disconnect()}}},[]),!x)return null;const S=(o==="Checkbox"||o==="Radio")&&(n==null?void 0:n.classList.contains(s$));return m.createElement(Cg,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(w,T)=>{var P;if(T.deadline||T.propertyName==="opacity"){const R=(P=i.current)===null||P===void 0?void 0:P.parentElement;y_e(R).then(()=>{R==null||R.remove()})}return!1}},w=>{let{className:T}=w;return m.createElement("div",{ref:i,className:Gn(e,{"wave-quick":S},T),style:b})})},RCt=(t,e)=>{var n;const{component:o}=e;if(o==="Checkbox"&&!(!((n=t.querySelector("input"))===null||n===void 0)&&n.checked))return;const i=document.createElement("div");i.style.position="absolute",i.style.left="0px",i.style.top="0px",t==null||t.insertBefore(i,t==null?void 0:t.firstChild),_ge(m.createElement(CCt,Object.assign({},e,{target:t})),i)},HCt=(t,e,n)=>{const{wave:o}=m.useContext(Mi),[,i,r]=Yu(),a=O6(c=>{const u=t.current;if(o!=null&&o.disabled||!u)return;const d=u.querySelector(`.${s$}`)||u,{showEffect:f}=o||{};(f||RCt)(d,{className:e,token:i,component:n,event:c,hashId:r})}),l=m.useRef();return c=>{Pg.cancel(l.current),l.current=Pg(()=>{a(c)})}},wW=t=>{const{children:e,disabled:n,component:o}=t,{getPrefixCls:i}=m.useContext(Mi),r=m.useRef(null),a=i("wave"),[,l]=SCt(a),s=HCt(r,Gn(a,l),o);if(Se.useEffect(()=>{const u=r.current;if(!u||u.nodeType!==1||n)return;const d=f=>{!xCt(f.target)||!u.getAttribute||u.getAttribute("disabled")||u.disabled||u.className.includes("disabled")||u.className.includes("-leave")||s(f)};return u.addEventListener("click",d,!0),()=>{u.removeEventListener("click",d,!0)}},[n]),!Se.isValidElement(e))return e??null;const c=HOe(e)?q2(e.ref,r):r;return Ou(e,{ref:c})},Cd=t=>{const e=Se.useContext(tR);return Se.useMemo(()=>t?typeof t=="string"?t??e:t instanceof Function?t(e):e:e,[t,e])};function E9(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[];return Se.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(E9(o)):gC.isFragment(o)&&o.props?n=n.concat(E9(o.props.children,e)):n.push(o))}),n}const MCt=t=>{const{componentCls:e}=t;return{[e]:{"&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},ICt=t=>{const{componentCls:e,antCls:n}=t;return{[e]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${e}-item:empty`]:{display:"none"},[`${e}-item > ${n}-badge-not-a-wrapper:only-child`]:{display:"block"}}}},zCt=t=>{const{componentCls:e}=t;return{[e]:{"&-gap-row-small":{rowGap:t.spaceGapSmallSize},"&-gap-row-middle":{rowGap:t.spaceGapMiddleSize},"&-gap-row-large":{rowGap:t.spaceGapLargeSize},"&-gap-col-small":{columnGap:t.spaceGapSmallSize},"&-gap-col-middle":{columnGap:t.spaceGapMiddleSize},"&-gap-col-large":{columnGap:t.spaceGapLargeSize}}}},A_e=Fl("Space",t=>{const e=Zr(t,{spaceGapSmallSize:t.paddingXS,spaceGapMiddleSize:t.padding,spaceGapLargeSize:t.paddingLG});return[ICt(e),zCt(e),MCt(e)]},()=>({}),{resetStyle:!1});var w_e=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const n=m.useContext(c$),o=m.useMemo(()=>{if(!n)return"";const{compactDirection:i,isFirstItem:r,isLastItem:a}=n,l=i==="vertical"?"-vertical-":"-";return Gn(`${t}-compact${l}item`,{[`${t}-compact${l}first-item`]:r,[`${t}-compact${l}last-item`]:a,[`${t}-compact${l}item-rtl`]:e==="rtl"})},[t,e,n]);return{compactSize:n==null?void 0:n.compactSize,compactDirection:n==null?void 0:n.compactDirection,compactItemClassnames:o}},k9=t=>{let{children:e}=t;return m.createElement(c$.Provider,{value:null},e)},DCt=t=>{var{children:e}=t,n=w_e(t,["children"]);return m.createElement(c$.Provider,{value:n},e)},ECt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{size:o,direction:i,block:r,prefixCls:a,className:l,rootClassName:s,children:c}=t,u=w_e(t,["size","direction","block","prefixCls","className","rootClassName","children"]),d=Cd(b=>o??b),f=e("space-compact",a),[p,g]=A_e(f),y=Gn(f,g,{[`${f}-rtl`]:n==="rtl",[`${f}-block`]:r,[`${f}-vertical`]:i==="vertical"},l,s),A=m.useContext(c$),x=E9(c),C=m.useMemo(()=>x.map((b,v)=>{const S=b&&b.key||`${f}-item-${v}`;return m.createElement(DCt,{key:S,compactSize:d,compactDirection:i,isFirstItem:v===0&&(!A||(A==null?void 0:A.isFirstItem)),isLastItem:v===x.length-1&&(!A||(A==null?void 0:A.isLastItem))},b)}),[o,x,A]);return x.length===0?null:p(m.createElement("div",Object.assign({className:y},u),C))},kCt=ECt;var FCt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,size:i,className:r}=t,a=FCt(t,["prefixCls","size","className"]),l=e("btn-group",o),[,,s]=Yu();let c="";switch(i){case"large":c="lg";break;case"small":c="sm";break}const u=Gn(l,{[`${l}-${c}`]:c,[`${l}-rtl`]:n==="rtl"},r,s);return m.createElement(v_e.Provider,{value:i},m.createElement("div",Object.assign({},a,{className:u})))},Z7e=/^[\u4e00-\u9fa5]{2}$/,n0e=Z7e.test.bind(Z7e);function x_e(t){return t==="danger"?{danger:!0}:{type:t}}function e8e(t){return typeof t=="string"}function Sie(t){return t==="text"||t==="link"}function WCt(t,e){if(t==null)return;const n=e?" ":"";return typeof t!="string"&&typeof t!="number"&&e8e(t.type)&&n0e(t.props.children)?Ou(t,{children:t.props.children.split("").join(n)}):e8e(t)?n0e(t)?Se.createElement("span",null,t.split("").join(n)):Se.createElement("span",null,t):s_e(t)?Se.createElement("span",null,t):t}function NCt(t,e){let n=!1;const o=[];return Se.Children.forEach(t,i=>{const r=typeof i,a=r==="string"||r==="number";if(n&&a){const l=o.length-1,s=o[l];o[l]=`${s}${i}`}else o.push(i);n=a}),Se.Children.map(o,i=>WCt(i,e))}const b_e=m.forwardRef((t,e)=>{const{className:n,style:o,children:i,prefixCls:r}=t,a=Gn(`${r}-icon`,n);return Se.createElement("span",{ref:e,className:a,style:o},i)}),t8e=m.forwardRef((t,e)=>{const{prefixCls:n,className:o,style:i,iconClassName:r,iconPosition:a="start"}=t,l=Gn(o,{[`${n}-loading-icon-end`]:a==="end",[`${n}-loading-icon`]:a==="start"});return Se.createElement(b_e,{prefixCls:n,className:l,style:i,ref:e},Se.createElement(HH,{className:r}))}),Tie=()=>({width:0,opacity:0,transform:"scale(0)"}),Pie=t=>({width:t.scrollWidth,opacity:1,transform:"scale(1)"}),UCt=t=>{const{prefixCls:e,loading:n,existIcon:o,className:i,style:r,iconPosition:a}=t,l=!!n;return o?Se.createElement(t8e,{prefixCls:e,className:i,style:r,iconPosition:a}):Se.createElement(Cg,{visible:l,motionName:`${e}-loading-icon-motion`,motionLeave:l,removeOnLeave:!0,onAppearStart:Tie,onAppearActive:Pie,onEnterStart:Tie,onEnterActive:Pie,onLeaveStart:Pie,onLeaveActive:Tie},(s,c)=>{let{className:u,style:d}=s;return Se.createElement(t8e,{prefixCls:e,className:i,style:Object.assign(Object.assign({},r),d),ref:c,iconClassName:u,iconPosition:a})})},n8e=(t,e)=>({[`> span, > ${t}`]:{"&:not(:last-child)":{[`&, & > ${t}`]:{"&:not(:disabled)":{borderInlineEndColor:e}}},"&:not(:first-child)":{[`&, & > ${t}`]:{"&:not(:disabled)":{borderInlineStartColor:e}}}}}),BCt=t=>{const{componentCls:e,fontSize:n,lineWidth:o,groupBorderColor:i,colorErrorHover:r}=t;return{[`${e}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:t.calc(o).mul(-1).equal(),[`&, & > ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[e]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${e}-icon-only`]:{fontSize:n}},n8e(`${e}-primary`,i),n8e(`${e}-danger`,r)]}},S_e=t=>{const{paddingInline:e,onlyIconSize:n,paddingBlock:o}=t;return Zr(t,{buttonPaddingHorizontal:e,buttonPaddingVertical:o,buttonIconOnlyFontSize:n})},T_e=t=>{var e,n,o,i,r,a;const l=(e=t.contentFontSize)!==null&&e!==void 0?e:t.fontSize,s=(n=t.contentFontSizeSM)!==null&&n!==void 0?n:t.fontSize,c=(o=t.contentFontSizeLG)!==null&&o!==void 0?o:t.fontSizeLG,u=(i=t.contentLineHeight)!==null&&i!==void 0?i:I_(l),d=(r=t.contentLineHeightSM)!==null&&r!==void 0?r:I_(s),f=(a=t.contentLineHeightLG)!==null&&a!==void 0?a:I_(c);return{fontWeight:400,defaultShadow:`0 ${t.controlOutlineWidth}px 0 ${t.controlTmpOutline}`,primaryShadow:`0 ${t.controlOutlineWidth}px 0 ${t.controlOutline}`,dangerShadow:`0 ${t.controlOutlineWidth}px 0 ${t.colorErrorOutline}`,primaryColor:t.colorTextLightSolid,dangerColor:t.colorTextLightSolid,borderColorDisabled:t.colorBorder,defaultGhostColor:t.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:t.colorBgContainer,paddingInline:t.paddingContentHorizontal-t.lineWidth,paddingInlineLG:t.paddingContentHorizontal-t.lineWidth,paddingInlineSM:8-t.lineWidth,onlyIconSize:t.fontSizeLG,onlyIconSizeSM:t.fontSizeLG-2,onlyIconSizeLG:t.fontSizeLG+2,groupBorderColor:t.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:t.colorBgTextHover,defaultColor:t.colorText,defaultBg:t.colorBgContainer,defaultBorderColor:t.colorBorder,defaultBorderColorDisabled:t.colorBorder,defaultHoverBg:t.colorBgContainer,defaultHoverColor:t.colorPrimaryHover,defaultHoverBorderColor:t.colorPrimaryHover,defaultActiveBg:t.colorBgContainer,defaultActiveColor:t.colorPrimaryActive,defaultActiveBorderColor:t.colorPrimaryActive,contentFontSize:l,contentFontSizeSM:s,contentFontSizeLG:c,contentLineHeight:u,contentLineHeightSM:d,contentLineHeightLG:f,paddingBlock:Math.max((t.controlHeight-l*u)/2-t.lineWidth,0),paddingBlockSM:Math.max((t.controlHeightSM-s*d)/2-t.lineWidth,0),paddingBlockLG:Math.max((t.controlHeightLG-c*f)/2-t.lineWidth,0)}},jCt=t=>{const{componentCls:e,iconCls:n,fontWeight:o}=t;return{[e]:{outline:"none",position:"relative",display:"inline-block",fontWeight:o,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,cursor:"pointer",transition:`all ${t.motionDurationMid} ${t.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",color:t.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},[`${e}-icon`]:{lineHeight:0,"&-end":{marginInlineStart:t.marginXS}},[`> ${n} + span, > span + ${n}`]:{marginInlineStart:t.marginXS},[`&:not(${e}-icon-only) > ${e}-icon`]:{[`&${e}-loading-icon, &:not(:last-child)`]:{marginInlineEnd:t.marginXS},[`&${e}-loading-icon-end`]:{marginInlineStart:t.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},V6(t)),[`&${e}-two-chinese-chars::first-letter`]:{letterSpacing:"0.34em"},[`&${e}-two-chinese-chars > *:not(${n})`]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},[`&-icon-only${e}-compact-item`]:{flex:"none"}}}},G6=(t,e,n)=>({[`&:not(:disabled):not(${t}-disabled)`]:{"&:hover":e,"&:active":n}}),YCt=t=>({minWidth:t.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),OCt=t=>({borderRadius:t.controlHeight,paddingInlineStart:t.calc(t.controlHeight).div(2).equal(),paddingInlineEnd:t.calc(t.controlHeight).div(2).equal()}),_Ct=t=>({cursor:"not-allowed",borderColor:t.borderColorDisabled,color:t.colorTextDisabled,background:t.colorBgContainerDisabled,boxShadow:"none"}),_k=(t,e,n,o,i,r,a,l)=>({[`&${t}-background-ghost`]:Object.assign(Object.assign({color:n||void 0,background:e,borderColor:o||void 0,boxShadow:"none"},G6(t,Object.assign({background:e},a),Object.assign({background:e},l))),{"&:disabled":{cursor:"not-allowed",color:i||void 0,borderColor:r||void 0}})}),Gge=t=>({[`&:disabled, &${t.componentCls}-disabled`]:Object.assign({},_Ct(t))}),P_e=t=>Object.assign({},Gge(t)),yG=t=>({[`&:disabled, &${t.componentCls}-disabled`]:{cursor:"not-allowed",color:t.colorTextDisabled}}),C_e=t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},P_e(t)),{background:t.defaultBg,borderColor:t.defaultBorderColor,color:t.defaultColor,boxShadow:t.defaultShadow}),G6(t.componentCls,{color:t.defaultHoverColor,borderColor:t.defaultHoverBorderColor,background:t.defaultHoverBg},{color:t.defaultActiveColor,borderColor:t.defaultActiveBorderColor,background:t.defaultActiveBg})),_k(t.componentCls,t.ghostBg,t.defaultGhostColor,t.defaultGhostBorderColor,t.colorTextDisabled,t.colorBorder)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({color:t.colorError,borderColor:t.colorError},G6(t.componentCls,{color:t.colorErrorHover,borderColor:t.colorErrorBorderHover},{color:t.colorErrorActive,borderColor:t.colorErrorActive})),_k(t.componentCls,t.ghostBg,t.colorError,t.colorError,t.colorTextDisabled,t.colorBorder)),Gge(t))}),VCt=t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},P_e(t)),{color:t.primaryColor,background:t.colorPrimary,boxShadow:t.primaryShadow}),G6(t.componentCls,{color:t.colorTextLightSolid,background:t.colorPrimaryHover},{color:t.colorTextLightSolid,background:t.colorPrimaryActive})),_k(t.componentCls,t.ghostBg,t.colorPrimary,t.colorPrimary,t.colorTextDisabled,t.colorBorder,{color:t.colorPrimaryHover,borderColor:t.colorPrimaryHover},{color:t.colorPrimaryActive,borderColor:t.colorPrimaryActive})),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({background:t.colorError,boxShadow:t.dangerShadow,color:t.dangerColor},G6(t.componentCls,{background:t.colorErrorHover},{background:t.colorErrorActive})),_k(t.componentCls,t.ghostBg,t.colorError,t.colorError,t.colorTextDisabled,t.colorBorder,{color:t.colorErrorHover,borderColor:t.colorErrorHover},{color:t.colorErrorActive,borderColor:t.colorErrorActive})),Gge(t))}),GCt=t=>Object.assign(Object.assign({},C_e(t)),{borderStyle:"dashed"}),XCt=t=>Object.assign(Object.assign(Object.assign({color:t.colorLink},G6(t.componentCls,{color:t.colorLinkHover,background:t.linkHoverBg},{color:t.colorLinkActive})),yG(t)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign({color:t.colorError},G6(t.componentCls,{color:t.colorErrorHover},{color:t.colorErrorActive})),yG(t))}),JCt=t=>Object.assign(Object.assign(Object.assign({},G6(t.componentCls,{color:t.colorText,background:t.textHoverBg},{color:t.colorText,background:t.colorBgTextActive})),yG(t)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign({color:t.colorError},yG(t)),G6(t.componentCls,{color:t.colorErrorHover,background:t.colorErrorBg},{color:t.colorErrorHover,background:t.colorErrorBg}))}),KCt=t=>{const{componentCls:e}=t;return{[`${e}-default`]:C_e(t),[`${e}-primary`]:VCt(t),[`${e}-dashed`]:GCt(t),[`${e}-link`]:XCt(t),[`${e}-text`]:JCt(t),[`${e}-ghost`]:_k(t.componentCls,t.ghostBg,t.colorBgContainer,t.colorBgContainer,t.colorTextDisabled,t.colorBorder)}},Xge=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const{componentCls:n,controlHeight:o,fontSize:i,lineHeight:r,borderRadius:a,buttonPaddingHorizontal:l,iconCls:s,buttonPaddingVertical:c}=t,u=`${n}-icon-only`;return[{[`${e}`]:{fontSize:i,lineHeight:r,height:o,padding:`${Ut(c)} ${Ut(l)}`,borderRadius:a,[`&${u}`]:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:o,paddingInlineStart:0,paddingInlineEnd:0,[`&${n}-round`]:{width:"auto"},[s]:{fontSize:t.buttonIconOnlyFontSize}},[`&${n}-loading`]:{opacity:t.opacityLoading,cursor:"default"},[`${n}-loading-icon`]:{transition:`width ${t.motionDurationSlow} ${t.motionEaseInOut}, opacity ${t.motionDurationSlow} ${t.motionEaseInOut}`}}},{[`${n}${n}-circle${e}`]:YCt(t)},{[`${n}${n}-round${e}`]:OCt(t)}]},qCt=t=>{const e=Zr(t,{fontSize:t.contentFontSize,lineHeight:t.contentLineHeight});return Xge(e,t.componentCls)},$Ct=t=>{const e=Zr(t,{controlHeight:t.controlHeightSM,fontSize:t.contentFontSizeSM,lineHeight:t.contentLineHeightSM,padding:t.paddingXS,buttonPaddingHorizontal:t.paddingInlineSM,buttonPaddingVertical:t.paddingBlockSM,borderRadius:t.borderRadiusSM,buttonIconOnlyFontSize:t.onlyIconSizeSM});return Xge(e,`${t.componentCls}-sm`)},QCt=t=>{const e=Zr(t,{controlHeight:t.controlHeightLG,fontSize:t.contentFontSizeLG,lineHeight:t.contentLineHeightLG,buttonPaddingHorizontal:t.paddingInlineLG,buttonPaddingVertical:t.paddingBlockLG,borderRadius:t.borderRadiusLG,buttonIconOnlyFontSize:t.onlyIconSizeLG});return Xge(e,`${t.componentCls}-lg`)},ZCt=t=>{const{componentCls:e}=t;return{[e]:{[`&${e}-block`]:{width:"100%"}}}},eRt=Fl("Button",t=>{const e=S_e(t);return[jCt(e),qCt(e),$Ct(e),QCt(e),ZCt(e),KCt(e),BCt(e)]},T_e,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function tRt(t,e,n){const{focusElCls:o,focus:i,borderElCls:r}=n,a=r?"> *":"",l=["hover",i?"focus":null,"active"].filter(Boolean).map(s=>`&:${s} ${a}`).join(",");return{[`&-item:not(${e}-last-item)`]:{marginInlineEnd:t.calc(t.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[l]:{zIndex:2}},o?{[`&${o}`]:{zIndex:2}}:{}),{[`&[disabled] ${a}`]:{zIndex:0}})}}function nRt(t,e,n){const{borderElCls:o}=n,i=o?`> ${o}`:"";return{[`&-item:not(${e}-first-item):not(${e}-last-item) ${i}`]:{borderRadius:0},[`&-item:not(${e}-last-item)${e}-first-item`]:{[`& ${i}, &${t}-sm ${i}, &${t}-lg ${i}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${e}-first-item)${e}-last-item`]:{[`& ${i}, &${t}-sm ${i}, &${t}-lg ${i}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function vW(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:n}=t,o=`${n}-compact`;return{[o]:Object.assign(Object.assign({},tRt(t,o,e)),nRt(n,o,e))}}function oRt(t,e){return{[`&-item:not(${e}-last-item)`]:{marginBottom:t.calc(t.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function iRt(t,e){return{[`&-item:not(${e}-first-item):not(${e}-last-item)`]:{borderRadius:0},[`&-item${e}-first-item:not(${e}-last-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${e}-last-item:not(${e}-first-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function rRt(t){const e=`${t.componentCls}-compact-vertical`;return{[e]:Object.assign(Object.assign({},oRt(t,e)),iRt(t.componentCls,e))}}const aRt=t=>{const{componentCls:e,calc:n}=t;return{[e]:{[`&-compact-item${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:n(t.lineWidth).mul(-1).equal(),insetInlineStart:n(t.lineWidth).mul(-1).equal(),display:"inline-block",width:t.lineWidth,height:`calc(100% + ${Ut(t.lineWidth)} * 2)`,backgroundColor:t.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-vertical-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:n(t.lineWidth).mul(-1).equal(),insetInlineStart:n(t.lineWidth).mul(-1).equal(),display:"inline-block",width:`calc(100% + ${Ut(t.lineWidth)} * 2)`,height:t.lineWidth,backgroundColor:t.colorPrimaryHover,content:'""'}}}}}}},lRt=mW(["Button","compact"],t=>{const e=S_e(t);return[vW(e),rRt(e),aRt(e)]},T_e);var sRt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o,i;const{loading:r=!1,prefixCls:a,type:l,danger:s,shape:c="default",size:u,styles:d,disabled:f,className:p,rootClassName:g,children:y,icon:A,iconPosition:x="start",ghost:C=!1,block:b=!1,htmlType:v="button",classNames:S,style:w={},autoInsertSpace:T}=t,P=sRt(t,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","iconPosition","ghost","block","htmlType","classNames","style","autoInsertSpace"]),R=l||"default",{getPrefixCls:H,direction:D,button:E}=m.useContext(Mi),L=(n=T??(E==null?void 0:E.autoInsertSpace))!==null&&n!==void 0?n:!0,U=H("btn",a),[F,W,B]=eRt(U),k=m.useContext(qp),N=f??k,j=m.useContext(v_e),Y=m.useMemo(()=>cRt(r),[r]),[_,J]=m.useState(Y.loading),[Q,ee]=m.useState(!1),q=q2(e,m.createRef()),le=m.Children.count(y)===1&&!A&&!Sie(R);m.useEffect(()=>{let we=null;Y.delay>0?we=setTimeout(()=>{we=null,J(!0)},Y.delay):J(Y.loading);function ye(){we&&(clearTimeout(we),we=null)}return ye},[Y]),m.useEffect(()=>{if(!q||!q.current||!L)return;const we=q.current.textContent;le&&n0e(we)?Q||ee(!0):Q&&ee(!1)},[q]);const ie=we=>{const{onClick:ye}=t;if(_||N){we.preventDefault();return}ye==null||ye(we)},{compactSize:pe,compactItemClassnames:ne}=F7(U,D),Z={large:"lg",small:"sm",middle:void 0},he=Cd(we=>{var ye,Te;return(Te=(ye=u??pe)!==null&&ye!==void 0?ye:j)!==null&&Te!==void 0?Te:we}),fe=he&&Z[he]||"",se=_?"loading":A,oe=lp(P,["navigate"]),de=Gn(U,W,B,{[`${U}-${c}`]:c!=="default"&&c,[`${U}-${R}`]:R,[`${U}-${fe}`]:fe,[`${U}-icon-only`]:!y&&y!==0&&!!se,[`${U}-background-ghost`]:C&&!Sie(R),[`${U}-loading`]:_,[`${U}-two-chinese-chars`]:Q&&L&&!_,[`${U}-block`]:b,[`${U}-dangerous`]:!!s,[`${U}-rtl`]:D==="rtl"},ne,p,g,E==null?void 0:E.className),ve=Object.assign(Object.assign({},E==null?void 0:E.style),w),Pe=x==="end"&&y&&y!==0&&se,me=Gn(S==null?void 0:S.icon,(o=E==null?void 0:E.classNames)===null||o===void 0?void 0:o.icon,{[`${U}-icon-end`]:Pe}),Re=Object.assign(Object.assign({},(d==null?void 0:d.icon)||{}),((i=E==null?void 0:E.styles)===null||i===void 0?void 0:i.icon)||{}),ze=A&&!_?Se.createElement(b_e,{prefixCls:U,className:me,style:Re},A):Se.createElement(UCt,{existIcon:!!A,prefixCls:U,loading:!!_,iconPosition:x}),Ae=y||y===0?NCt(y,le&&L):null,re=(we,ye)=>{const Te=D==="rtl",Ie=x==="start"&&!Te||x==="end"&&Te;return Se.createElement(Se.Fragment,null,Ie?we:ye,Ie?ye:we)};if(oe.href!==void 0)return F(Se.createElement("a",Object.assign({},oe,{className:Gn(de,{[`${U}-disabled`]:N}),href:N?void 0:oe.href,style:ve,onClick:ie,ref:q,tabIndex:N?-1:0}),re(ze,Ae)));let ge=Se.createElement("button",Object.assign({},P,{type:v,className:de,style:ve,onClick:ie,disabled:N,ref:q}),re(ze,Ae),!!ne&&Se.createElement(lRt,{key:"compact",prefixCls:U}));return Sie(R)||(ge=Se.createElement(wW,{component:"Button",disabled:!!_},ge)),F(ge)}),no=uRt;no.Group=LCt;no.__ANT_BUTTON=!0;function o8e(t){return!!(t&&t.then)}const R_e=t=>{const{type:e,children:n,prefixCls:o,buttonProps:i,close:r,autoFocus:a,emitEvent:l,isSilent:s,quitOnNullishReturnValue:c,actionFn:u}=t,d=m.useRef(!1),f=m.useRef(null),[p,g]=_ce(!1),y=function(){r==null||r.apply(void 0,arguments)};m.useEffect(()=>{let C=null;return a&&(C=setTimeout(()=>{var b;(b=f.current)===null||b===void 0||b.focus()})),()=>{C&&clearTimeout(C)}},[]);const A=C=>{o8e(C)&&(g(!0),C.then(function(){g(!1,!0),y.apply(void 0,arguments),d.current=!1},b=>{if(g(!1,!0),d.current=!1,!(s!=null&&s()))return Promise.reject(b)}))},x=C=>{if(d.current)return;if(d.current=!0,!u){y();return}let b;if(l){if(b=u(C),c&&!o8e(b)){d.current=!1,y(C);return}}else if(u.length)b=u(r),d.current=!1;else if(b=u(),!b){y();return}A(b)};return m.createElement(no,Object.assign({},x_e(e),{onClick:x,loading:p,prefixCls:o},i,{ref:f}),n)},xW=Se.createContext({}),{Provider:H_e}=xW,i8e=()=>{const{autoFocusButton:t,cancelButtonProps:e,cancelTextLocale:n,isSilent:o,mergedOkCancel:i,rootPrefixCls:r,close:a,onCancel:l,onConfirm:s}=m.useContext(xW);return i?Se.createElement(R_e,{isSilent:o,actionFn:l,close:function(){a==null||a.apply(void 0,arguments),s==null||s(!1)},autoFocus:t==="cancel",buttonProps:e,prefixCls:`${r}-btn`},n):null},r8e=()=>{const{autoFocusButton:t,close:e,isSilent:n,okButtonProps:o,rootPrefixCls:i,okTextLocale:r,okType:a,onConfirm:l,onOk:s}=m.useContext(xW);return Se.createElement(R_e,{isSilent:n,type:a||"primary",actionFn:s,close:function(){e==null||e.apply(void 0,arguments),l==null||l(!0)},autoFocus:t==="ok",buttonProps:o,prefixCls:`${i}-btn`},r)};var M_e=m.createContext(null),a8e=[];function dRt(t,e){var n=m.useState(function(){if(!sp())return null;var g=document.createElement("div");return g}),o=on(n,1),i=o[0],r=m.useRef(!1),a=m.useContext(M_e),l=m.useState(a8e),s=on(l,2),c=s[0],u=s[1],d=a||(r.current?void 0:function(g){u(function(y){var A=[g].concat(Wo(y));return A})});function f(){i.parentElement||document.body.appendChild(i),r.current=!0}function p(){var g;(g=i.parentElement)===null||g===void 0||g.removeChild(i),r.current=!1}return Ba(function(){return t?a?a(f):f():p(),p},[t]),Ba(function(){c.length&&(c.forEach(function(g){return g()}),u(a8e))},[c]),[i,d]}var Cie;function o0e(t){if(typeof document>"u")return 0;if(Cie===void 0){var e=document.createElement("div");e.style.width="100%",e.style.height="200px";var n=document.createElement("div"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",n.appendChild(e),document.body.appendChild(n);var i=e.offsetWidth;n.style.overflow="scroll";var r=e.offsetWidth;i===r&&(r=n.clientWidth),document.body.removeChild(n),Cie=i-r}return Cie}function l8e(t){var e=t.match(/^(.*)px$/),n=Number(e==null?void 0:e[1]);return Number.isNaN(n)?o0e():n}function i0e(t){if(typeof document>"u"||!t||!(t instanceof Element))return{width:0,height:0};var e=getComputedStyle(t,"::-webkit-scrollbar"),n=e.width,o=e.height;return{width:l8e(n),height:l8e(o)}}function fRt(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var hRt="rc-util-locker-".concat(Date.now()),s8e=0;function pRt(t){var e=!!t,n=m.useState(function(){return s8e+=1,"".concat(hRt,"_").concat(s8e)}),o=on(n,1),i=o[0];Ba(function(){if(e){var r=i0e(document.body).width,a=fRt();lx(` + `]:{animationPlayState:"running"},[`${e}-move-up-leave`]:{animationName:v,animationDuration:d,animationPlayState:"paused",animationTimingFunction:u},[`${e}-move-up-leave${e}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[e]:{[`${C}-wrapper`]:Object.assign({},S)}},{[`${e}-notice-pure-panel`]:Object.assign(Object.assign({},S),{padding:0,textAlign:"start"})}]},$Pt=t=>({zIndexPopup:t.zIndexPopupBase+Yge+10,contentBg:t.colorBgElevated,contentPadding:`${(t.controlHeightLG-t.fontSize*t.lineHeight)/2}px ${t.paddingSM}px`}),h_e=Fl("Message",t=>{const e=Zr(t,{height:150});return[qPt(e)]},$Pt);var QPt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{prefixCls:e,type:n,icon:o,children:i}=t;return m.createElement("div",{className:Gn(`${e}-custom-content`,`${e}-${n}`)},o||ZPt[n],m.createElement("span",null,i))},eCt=t=>{const{prefixCls:e,className:n,type:o,icon:i,content:r}=t,a=QPt(t,["prefixCls","className","type","icon","content"]),{getPrefixCls:l}=m.useContext(Mi),s=e||l("message"),c=j0(s),[u,d,f]=h_e(s,c);return u(m.createElement(u_e,Object.assign({},a,{prefixCls:s,className:Gn(n,d,`${s}-notice-pure-panel`,f,c),eventKey:"pure",duration:null,content:m.createElement(p_e,{prefixCls:s,type:o,icon:i},r)})))};function tCt(t,e){return{motionName:e??`${t}-move-up`}}function Oge(t){let e;const n=new Promise(i=>{e=t(()=>{i(!0)})}),o=()=>{e==null||e()};return o.then=(i,r)=>n.then(i,r),o.promise=n,o}var nCt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{children:e,prefixCls:n}=t;const o=j0(n),[i,r,a]=h_e(n,o);return i(m.createElement(LPt,{classNames:{list:Gn(r,a,o)}},e))},aCt=(t,e)=>{let{prefixCls:n,key:o}=e;return m.createElement(rCt,{prefixCls:n,key:o},t)},lCt=m.forwardRef((t,e)=>{const{top:n,prefixCls:o,getContainer:i,maxCount:r,duration:a=iCt,rtl:l,transitionName:s,onAllRemoved:c}=t,{getPrefixCls:u,getPopupContainer:d,message:f,direction:p}=m.useContext(Mi),g=o||u("message"),y=()=>({left:"50%",transform:"translateX(-50%)",top:n??oCt}),A=()=>Gn({[`${g}-rtl`]:l??p==="rtl"}),x=()=>tCt(g,s),C=m.createElement("span",{className:`${g}-close-x`},m.createElement(E7,{className:`${g}-close-icon`})),[b,v]=_Pt({prefixCls:g,style:y,className:A,motion:x,closable:!1,closeIcon:C,duration:a,getContainer:()=>(i==null?void 0:i())||(d==null?void 0:d())||document.body,maxCount:r,onAllRemoved:c,renderNotifications:aCt});return m.useImperativeHandle(e,()=>Object.assign(Object.assign({},b),{prefixCls:g,message:f})),v});let K7e=0;function g_e(t){const e=m.useRef(null);return Hb(),[m.useMemo(()=>{const o=s=>{var c;(c=e.current)===null||c===void 0||c.close(s)},i=s=>{if(!e.current){const w=()=>{};return w.then=()=>{},w}const{open:c,prefixCls:u,message:d}=e.current,f=`${u}-notice`,{content:p,icon:g,type:y,key:A,className:x,style:C,onClose:b}=s,v=nCt(s,["content","icon","type","key","className","style","onClose"]);let S=A;return S==null&&(K7e+=1,S=`antd-message-${K7e}`),Oge(w=>(c(Object.assign(Object.assign({},v),{key:S,content:m.createElement(p_e,{prefixCls:u,type:y,icon:g},p),placement:"top",className:Gn(y&&`${f}-${y}`,x,d==null?void 0:d.className),style:Object.assign(Object.assign({},d==null?void 0:d.style),C),onClose:()=>{b==null||b(),w()}})),()=>{o(S)}))},a={open:i,destroy:s=>{var c;s!==void 0?o(s):(c=e.current)===null||c===void 0||c.destroy()}};return["info","success","warning","error","loading"].forEach(s=>{const c=(u,d,f)=>{let p;u&&typeof u=="object"&&"content"in u?p=u:p={content:u};let g,y;typeof d=="function"?y=d:(g=d,y=f);const A=Object.assign(Object.assign({onClose:y,duration:g},p),{type:s});return i(A)};a[s]=c}),a},[]),m.createElement(lCt,Object.assign({key:"message-holder"},t,{ref:e}))]}function sCt(t){return g_e(t)}function cCt(){const[t,e]=m.useState([]),n=m.useCallback(o=>(e(i=>[].concat(Xa(i),[o])),()=>{e(i=>i.filter(r=>r!==o))}),[]);return[t,n]}function Ok(){Ok=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(W,B,k){W[B]=k.value},r=typeof Symbol=="function"?Symbol:{},a=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(W,B,k){return Object.defineProperty(W,B,{value:k,enumerable:!0,configurable:!0,writable:!0}),W[B]}try{c({},"")}catch{c=function(k,N,j){return k[N]=j}}function u(W,B,k,N){var j=B&&B.prototype instanceof x?B:x,Y=Object.create(j.prototype),_=new U(N||[]);return i(Y,"_invoke",{value:H(W,k,_)}),Y}function d(W,B,k){try{return{type:"normal",arg:W.call(B,k)}}catch(N){return{type:"throw",arg:N}}}e.wrap=u;var f="suspendedStart",p="suspendedYield",g="executing",y="completed",A={};function x(){}function C(){}function b(){}var v={};c(v,a,function(){return this});var S=Object.getPrototypeOf,w=S&&S(S(F([])));w&&w!==n&&o.call(w,a)&&(v=w);var T=b.prototype=x.prototype=Object.create(v);function P(W){["next","throw","return"].forEach(function(B){c(W,B,function(k){return this._invoke(B,k)})})}function R(W,B){function k(j,Y,_,J){var Q=d(W[j],W,Y);if(Q.type!=="throw"){var ee=Q.arg,$=ee.value;return $&&Tg($)=="object"&&o.call($,"__await")?B.resolve($.__await).then(function(q){k("next",q,_,J)},function(q){k("throw",q,_,J)}):B.resolve($).then(function(q){ee.value=q,_(ee)},function(q){return k("throw",q,_,J)})}J(Q.arg)}var N;i(this,"_invoke",{value:function(Y,_){function J(){return new B(function(Q,ee){k(Y,_,Q,ee)})}return N=N?N.then(J,J):J()}})}function H(W,B,k){var N=f;return function(j,Y){if(N===g)throw new Error("Generator is already running");if(N===y){if(j==="throw")throw Y;return{value:t,done:!0}}for(k.method=j,k.arg=Y;;){var _=k.delegate;if(_){var J=D(_,k);if(J){if(J===A)continue;return J}}if(k.method==="next")k.sent=k._sent=k.arg;else if(k.method==="throw"){if(N===f)throw N=y,k.arg;k.dispatchException(k.arg)}else k.method==="return"&&k.abrupt("return",k.arg);N=g;var Q=d(W,B,k);if(Q.type==="normal"){if(N=k.done?y:p,Q.arg===A)continue;return{value:Q.arg,done:k.done}}Q.type==="throw"&&(N=y,k.method="throw",k.arg=Q.arg)}}}function D(W,B){var k=B.method,N=W.iterator[k];if(N===t)return B.delegate=null,k==="throw"&&W.iterator.return&&(B.method="return",B.arg=t,D(W,B),B.method==="throw")||k!=="return"&&(B.method="throw",B.arg=new TypeError("The iterator does not provide a '"+k+"' method")),A;var j=d(N,W.iterator,B.arg);if(j.type==="throw")return B.method="throw",B.arg=j.arg,B.delegate=null,A;var Y=j.arg;return Y?Y.done?(B[W.resultName]=Y.value,B.next=W.nextLoc,B.method!=="return"&&(B.method="next",B.arg=t),B.delegate=null,A):Y:(B.method="throw",B.arg=new TypeError("iterator result is not an object"),B.delegate=null,A)}function E(W){var B={tryLoc:W[0]};1 in W&&(B.catchLoc=W[1]),2 in W&&(B.finallyLoc=W[2],B.afterLoc=W[3]),this.tryEntries.push(B)}function L(W){var B=W.completion||{};B.type="normal",delete B.arg,W.completion=B}function U(W){this.tryEntries=[{tryLoc:"root"}],W.forEach(E,this),this.reset(!0)}function F(W){if(W||W===""){var B=W[a];if(B)return B.call(W);if(typeof W.next=="function")return W;if(!isNaN(W.length)){var k=-1,N=function j(){for(;++k=0;--j){var Y=this.tryEntries[j],_=Y.completion;if(Y.tryLoc==="root")return N("end");if(Y.tryLoc<=this.prev){var J=o.call(Y,"catchLoc"),Q=o.call(Y,"finallyLoc");if(J&&Q){if(this.prev=0;--N){var j=this.tryEntries[N];if(j.tryLoc<=this.prev&&o.call(j,"finallyLoc")&&this.prev=0;--k){var N=this.tryEntries[k];if(N.finallyLoc===B)return this.complete(N.completion,N.afterLoc),L(N),A}},catch:function(B){for(var k=this.tryEntries.length-1;k>=0;--k){var N=this.tryEntries[k];if(N.tryLoc===B){var j=N.completion;if(j.type==="throw"){var Y=j.arg;L(N)}return Y}}throw new Error("illegal catch attempt")},delegateYield:function(B,k,N){return this.delegate={iterator:F(B),resultName:k,nextLoc:N},this.method==="next"&&(this.arg=t),A}},e}function q7e(t,e,n,o,i,r,a){try{var l=t[r](a),s=l.value}catch(c){n(c);return}l.done?e(s):Promise.resolve(s).then(o,i)}function m_e(t){return function(){var e=this,n=arguments;return new Promise(function(o,i){var r=t.apply(e,n);function a(s){q7e(r,o,i,a,l,"next",s)}function l(s){q7e(r,o,i,a,l,"throw",s)}a(void 0)})}}var AW=$C({},Fut),uCt=AW.version,dCt=AW.render,fCt=AW.unmountComponentAtNode,l$;try{var hCt=Number((uCt||"").split(".")[0]);hCt>=18&&(l$=AW.createRoot)}catch{}function $7e(t){var e=AW.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;e&&Tg(e)==="object"&&(e.usingClientEntryPoint=t)}var mG="__rc_react_root__";function pCt(t,e){$7e(!0);var n=e[mG]||l$(e);$7e(!1),n.render(t),e[mG]=n}function gCt(t,e){dCt(t,e)}function _ge(t,e){if(l$){pCt(t,e);return}gCt(t,e)}function mCt(t){return e0e.apply(this,arguments)}function e0e(){return e0e=m_e(Ok().mark(function t(e){return Ok().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.abrupt("return",Promise.resolve().then(function(){var i;(i=e[mG])===null||i===void 0||i.unmount(),delete e[mG]}));case 1:case"end":return o.stop()}},t)})),e0e.apply(this,arguments)}function yCt(t){fCt(t)}function y_e(t){return t0e.apply(this,arguments)}function t0e(){return t0e=m_e(Ok().mark(function t(e){return Ok().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(l$===void 0){o.next=2;break}return o.abrupt("return",mCt(e));case 2:yCt(e);case 3:case"end":return o.stop()}},t)})),t0e.apply(this,arguments)}const wie=()=>({height:0,opacity:0}),Q7e=t=>{const{scrollHeight:e}=t;return{height:e,opacity:1}},ACt=t=>({height:t?t.offsetHeight:0}),vie=(t,e)=>(e==null?void 0:e.deadline)===!0||e.propertyName==="height",Vge=function(){return{motionName:`${arguments.length>0&&arguments[0]!==void 0?arguments[0]:"ant"}-motion-collapse`,onAppearStart:wie,onEnterStart:wie,onAppearActive:Q7e,onEnterActive:Q7e,onLeaveStart:ACt,onLeaveActive:wie,onAppearEnd:vie,onEnterEnd:vie,onLeaveEnd:vie,motionDeadline:500}},D9=(t,e,n)=>n!==void 0?n:`${t}-${e}`,wCt=function(t){if(!t)return!1;if(t instanceof Element){if(t.offsetParent)return!0;if(t.getBBox){var e=t.getBBox(),n=e.width,o=e.height;if(n||o)return!0}if(t.getBoundingClientRect){var i=t.getBoundingClientRect(),r=i.width,a=i.height;if(r||a)return!0}}return!1},vCt=t=>{const{componentCls:e,colorPrimary:n}=t;return{[e]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${n})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${t.motionEaseOutCirc}`,`opacity 2s ${t.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:[`box-shadow ${t.motionDurationSlow} ${t.motionEaseInOut}`,`opacity ${t.motionDurationSlow} ${t.motionEaseInOut}`].join(",")}}}}},xCt=Wge("Wave",t=>[vCt(t)]),s$="ant-wave-target";function bCt(t){const e=(t||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return e&&e[1]&&e[2]&&e[3]?!(e[1]===e[2]&&e[2]===e[3]):!0}function xie(t){return t&&t!=="#fff"&&t!=="#ffffff"&&t!=="rgb(255, 255, 255)"&&t!=="rgba(255, 255, 255, 1)"&&bCt(t)&&!/rgba\((?:\d*, ){3}0\)/.test(t)&&t!=="transparent"}function SCt(t){const{borderTopColor:e,borderColor:n,backgroundColor:o}=getComputedStyle(t);return xie(e)?e:xie(n)?n:xie(o)?o:null}function bie(t){return Number.isNaN(t)?0:t}const TCt=t=>{const{className:e,target:n,component:o}=t,i=m.useRef(null),[r,a]=m.useState(null),[l,s]=m.useState([]),[c,u]=m.useState(0),[d,f]=m.useState(0),[p,g]=m.useState(0),[y,A]=m.useState(0),[x,C]=m.useState(!1),b={left:c,top:d,width:p,height:y,borderRadius:l.map(w=>`${w}px`).join(" ")};r&&(b["--wave-color"]=r);function v(){const w=getComputedStyle(n);a(SCt(n));const T=w.position==="static",{borderLeftWidth:P,borderTopWidth:R}=w;u(T?n.offsetLeft:bie(-parseFloat(P))),f(T?n.offsetTop:bie(-parseFloat(R))),g(n.offsetWidth),A(n.offsetHeight);const{borderTopLeftRadius:H,borderTopRightRadius:D,borderBottomLeftRadius:E,borderBottomRightRadius:L}=w;s([H,D,L,E].map(U=>bie(parseFloat(U))))}if(m.useEffect(()=>{if(n){const w=Pg(()=>{v(),C(!0)});let T;return typeof ResizeObserver<"u"&&(T=new ResizeObserver(v),T.observe(n)),()=>{Pg.cancel(w),T==null||T.disconnect()}}},[]),!x)return null;const S=(o==="Checkbox"||o==="Radio")&&(n==null?void 0:n.classList.contains(s$));return m.createElement(Cg,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(w,T)=>{var P;if(T.deadline||T.propertyName==="opacity"){const R=(P=i.current)===null||P===void 0?void 0:P.parentElement;y_e(R).then(()=>{R==null||R.remove()})}return!1}},w=>{let{className:T}=w;return m.createElement("div",{ref:i,className:Gn(e,{"wave-quick":S},T),style:b})})},PCt=(t,e)=>{var n;const{component:o}=e;if(o==="Checkbox"&&!(!((n=t.querySelector("input"))===null||n===void 0)&&n.checked))return;const i=document.createElement("div");i.style.position="absolute",i.style.left="0px",i.style.top="0px",t==null||t.insertBefore(i,t==null?void 0:t.firstChild),_ge(m.createElement(TCt,Object.assign({},e,{target:t})),i)},CCt=(t,e,n)=>{const{wave:o}=m.useContext(Mi),[,i,r]=Yu(),a=O6(c=>{const u=t.current;if(o!=null&&o.disabled||!u)return;const d=u.querySelector(`.${s$}`)||u,{showEffect:f}=o||{};(f||PCt)(d,{className:e,token:i,component:n,event:c,hashId:r})}),l=m.useRef();return c=>{Pg.cancel(l.current),l.current=Pg(()=>{a(c)})}},wW=t=>{const{children:e,disabled:n,component:o}=t,{getPrefixCls:i}=m.useContext(Mi),r=m.useRef(null),a=i("wave"),[,l]=xCt(a),s=CCt(r,Gn(a,l),o);if(Se.useEffect(()=>{const u=r.current;if(!u||u.nodeType!==1||n)return;const d=f=>{!wCt(f.target)||!u.getAttribute||u.getAttribute("disabled")||u.disabled||u.className.includes("disabled")||u.className.includes("-leave")||s(f)};return u.addEventListener("click",d,!0),()=>{u.removeEventListener("click",d,!0)}},[n]),!Se.isValidElement(e))return e??null;const c=HOe(e)?q2(e.ref,r):r;return Ou(e,{ref:c})},Cd=t=>{const e=Se.useContext(tR);return Se.useMemo(()=>t?typeof t=="string"?t??e:t instanceof Function?t(e):e:e,[t,e])};function E9(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[];return Se.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(E9(o)):gC.isFragment(o)&&o.props?n=n.concat(E9(o.props.children,e)):n.push(o))}),n}const RCt=t=>{const{componentCls:e}=t;return{[e]:{"&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},HCt=t=>{const{componentCls:e,antCls:n}=t;return{[e]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${e}-item:empty`]:{display:"none"},[`${e}-item > ${n}-badge-not-a-wrapper:only-child`]:{display:"block"}}}},MCt=t=>{const{componentCls:e}=t;return{[e]:{"&-gap-row-small":{rowGap:t.spaceGapSmallSize},"&-gap-row-middle":{rowGap:t.spaceGapMiddleSize},"&-gap-row-large":{rowGap:t.spaceGapLargeSize},"&-gap-col-small":{columnGap:t.spaceGapSmallSize},"&-gap-col-middle":{columnGap:t.spaceGapMiddleSize},"&-gap-col-large":{columnGap:t.spaceGapLargeSize}}}},A_e=Fl("Space",t=>{const e=Zr(t,{spaceGapSmallSize:t.paddingXS,spaceGapMiddleSize:t.padding,spaceGapLargeSize:t.paddingLG});return[HCt(e),MCt(e),RCt(e)]},()=>({}),{resetStyle:!1});var w_e=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const n=m.useContext(c$),o=m.useMemo(()=>{if(!n)return"";const{compactDirection:i,isFirstItem:r,isLastItem:a}=n,l=i==="vertical"?"-vertical-":"-";return Gn(`${t}-compact${l}item`,{[`${t}-compact${l}first-item`]:r,[`${t}-compact${l}last-item`]:a,[`${t}-compact${l}item-rtl`]:e==="rtl"})},[t,e,n]);return{compactSize:n==null?void 0:n.compactSize,compactDirection:n==null?void 0:n.compactDirection,compactItemClassnames:o}},k9=t=>{let{children:e}=t;return m.createElement(c$.Provider,{value:null},e)},ICt=t=>{var{children:e}=t,n=w_e(t,["children"]);return m.createElement(c$.Provider,{value:n},e)},zCt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{size:o,direction:i,block:r,prefixCls:a,className:l,rootClassName:s,children:c}=t,u=w_e(t,["size","direction","block","prefixCls","className","rootClassName","children"]),d=Cd(b=>o??b),f=e("space-compact",a),[p,g]=A_e(f),y=Gn(f,g,{[`${f}-rtl`]:n==="rtl",[`${f}-block`]:r,[`${f}-vertical`]:i==="vertical"},l,s),A=m.useContext(c$),x=E9(c),C=m.useMemo(()=>x.map((b,v)=>{const S=b&&b.key||`${f}-item-${v}`;return m.createElement(ICt,{key:S,compactSize:d,compactDirection:i,isFirstItem:v===0&&(!A||(A==null?void 0:A.isFirstItem)),isLastItem:v===x.length-1&&(!A||(A==null?void 0:A.isLastItem))},b)}),[o,x,A]);return x.length===0?null:p(m.createElement("div",Object.assign({className:y},u),C))},DCt=zCt;var ECt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,size:i,className:r}=t,a=ECt(t,["prefixCls","size","className"]),l=e("btn-group",o),[,,s]=Yu();let c="";switch(i){case"large":c="lg";break;case"small":c="sm";break}const u=Gn(l,{[`${l}-${c}`]:c,[`${l}-rtl`]:n==="rtl"},r,s);return m.createElement(v_e.Provider,{value:i},m.createElement("div",Object.assign({},a,{className:u})))},Z7e=/^[\u4e00-\u9fa5]{2}$/,n0e=Z7e.test.bind(Z7e);function x_e(t){return t==="danger"?{danger:!0}:{type:t}}function e8e(t){return typeof t=="string"}function Sie(t){return t==="text"||t==="link"}function FCt(t,e){if(t==null)return;const n=e?" ":"";return typeof t!="string"&&typeof t!="number"&&e8e(t.type)&&n0e(t.props.children)?Ou(t,{children:t.props.children.split("").join(n)}):e8e(t)?n0e(t)?Se.createElement("span",null,t.split("").join(n)):Se.createElement("span",null,t):s_e(t)?Se.createElement("span",null,t):t}function LCt(t,e){let n=!1;const o=[];return Se.Children.forEach(t,i=>{const r=typeof i,a=r==="string"||r==="number";if(n&&a){const l=o.length-1,s=o[l];o[l]=`${s}${i}`}else o.push(i);n=a}),Se.Children.map(o,i=>FCt(i,e))}const b_e=m.forwardRef((t,e)=>{const{className:n,style:o,children:i,prefixCls:r}=t,a=Gn(`${r}-icon`,n);return Se.createElement("span",{ref:e,className:a,style:o},i)}),t8e=m.forwardRef((t,e)=>{const{prefixCls:n,className:o,style:i,iconClassName:r,iconPosition:a="start"}=t,l=Gn(o,{[`${n}-loading-icon-end`]:a==="end",[`${n}-loading-icon`]:a==="start"});return Se.createElement(b_e,{prefixCls:n,className:l,style:i,ref:e},Se.createElement(HH,{className:r}))}),Tie=()=>({width:0,opacity:0,transform:"scale(0)"}),Pie=t=>({width:t.scrollWidth,opacity:1,transform:"scale(1)"}),WCt=t=>{const{prefixCls:e,loading:n,existIcon:o,className:i,style:r,iconPosition:a}=t,l=!!n;return o?Se.createElement(t8e,{prefixCls:e,className:i,style:r,iconPosition:a}):Se.createElement(Cg,{visible:l,motionName:`${e}-loading-icon-motion`,motionLeave:l,removeOnLeave:!0,onAppearStart:Tie,onAppearActive:Pie,onEnterStart:Tie,onEnterActive:Pie,onLeaveStart:Pie,onLeaveActive:Tie},(s,c)=>{let{className:u,style:d}=s;return Se.createElement(t8e,{prefixCls:e,className:i,style:Object.assign(Object.assign({},r),d),ref:c,iconClassName:u,iconPosition:a})})},n8e=(t,e)=>({[`> span, > ${t}`]:{"&:not(:last-child)":{[`&, & > ${t}`]:{"&:not(:disabled)":{borderInlineEndColor:e}}},"&:not(:first-child)":{[`&, & > ${t}`]:{"&:not(:disabled)":{borderInlineStartColor:e}}}}}),NCt=t=>{const{componentCls:e,fontSize:n,lineWidth:o,groupBorderColor:i,colorErrorHover:r}=t;return{[`${e}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:t.calc(o).mul(-1).equal(),[`&, & > ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[e]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${e}-icon-only`]:{fontSize:n}},n8e(`${e}-primary`,i),n8e(`${e}-danger`,r)]}},S_e=t=>{const{paddingInline:e,onlyIconSize:n,paddingBlock:o}=t;return Zr(t,{buttonPaddingHorizontal:e,buttonPaddingVertical:o,buttonIconOnlyFontSize:n})},T_e=t=>{var e,n,o,i,r,a;const l=(e=t.contentFontSize)!==null&&e!==void 0?e:t.fontSize,s=(n=t.contentFontSizeSM)!==null&&n!==void 0?n:t.fontSize,c=(o=t.contentFontSizeLG)!==null&&o!==void 0?o:t.fontSizeLG,u=(i=t.contentLineHeight)!==null&&i!==void 0?i:I_(l),d=(r=t.contentLineHeightSM)!==null&&r!==void 0?r:I_(s),f=(a=t.contentLineHeightLG)!==null&&a!==void 0?a:I_(c);return{fontWeight:400,defaultShadow:`0 ${t.controlOutlineWidth}px 0 ${t.controlTmpOutline}`,primaryShadow:`0 ${t.controlOutlineWidth}px 0 ${t.controlOutline}`,dangerShadow:`0 ${t.controlOutlineWidth}px 0 ${t.colorErrorOutline}`,primaryColor:t.colorTextLightSolid,dangerColor:t.colorTextLightSolid,borderColorDisabled:t.colorBorder,defaultGhostColor:t.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:t.colorBgContainer,paddingInline:t.paddingContentHorizontal-t.lineWidth,paddingInlineLG:t.paddingContentHorizontal-t.lineWidth,paddingInlineSM:8-t.lineWidth,onlyIconSize:t.fontSizeLG,onlyIconSizeSM:t.fontSizeLG-2,onlyIconSizeLG:t.fontSizeLG+2,groupBorderColor:t.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:t.colorBgTextHover,defaultColor:t.colorText,defaultBg:t.colorBgContainer,defaultBorderColor:t.colorBorder,defaultBorderColorDisabled:t.colorBorder,defaultHoverBg:t.colorBgContainer,defaultHoverColor:t.colorPrimaryHover,defaultHoverBorderColor:t.colorPrimaryHover,defaultActiveBg:t.colorBgContainer,defaultActiveColor:t.colorPrimaryActive,defaultActiveBorderColor:t.colorPrimaryActive,contentFontSize:l,contentFontSizeSM:s,contentFontSizeLG:c,contentLineHeight:u,contentLineHeightSM:d,contentLineHeightLG:f,paddingBlock:Math.max((t.controlHeight-l*u)/2-t.lineWidth,0),paddingBlockSM:Math.max((t.controlHeightSM-s*d)/2-t.lineWidth,0),paddingBlockLG:Math.max((t.controlHeightLG-c*f)/2-t.lineWidth,0)}},UCt=t=>{const{componentCls:e,iconCls:n,fontWeight:o}=t;return{[e]:{outline:"none",position:"relative",display:"inline-block",fontWeight:o,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,cursor:"pointer",transition:`all ${t.motionDurationMid} ${t.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",color:t.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},[`${e}-icon`]:{lineHeight:0,"&-end":{marginInlineStart:t.marginXS}},[`> ${n} + span, > span + ${n}`]:{marginInlineStart:t.marginXS},[`&:not(${e}-icon-only) > ${e}-icon`]:{[`&${e}-loading-icon, &:not(:last-child)`]:{marginInlineEnd:t.marginXS},[`&${e}-loading-icon-end`]:{marginInlineStart:t.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},V6(t)),[`&${e}-two-chinese-chars::first-letter`]:{letterSpacing:"0.34em"},[`&${e}-two-chinese-chars > *:not(${n})`]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},[`&-icon-only${e}-compact-item`]:{flex:"none"}}}},G6=(t,e,n)=>({[`&:not(:disabled):not(${t}-disabled)`]:{"&:hover":e,"&:active":n}}),BCt=t=>({minWidth:t.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),jCt=t=>({borderRadius:t.controlHeight,paddingInlineStart:t.calc(t.controlHeight).div(2).equal(),paddingInlineEnd:t.calc(t.controlHeight).div(2).equal()}),YCt=t=>({cursor:"not-allowed",borderColor:t.borderColorDisabled,color:t.colorTextDisabled,background:t.colorBgContainerDisabled,boxShadow:"none"}),_k=(t,e,n,o,i,r,a,l)=>({[`&${t}-background-ghost`]:Object.assign(Object.assign({color:n||void 0,background:e,borderColor:o||void 0,boxShadow:"none"},G6(t,Object.assign({background:e},a),Object.assign({background:e},l))),{"&:disabled":{cursor:"not-allowed",color:i||void 0,borderColor:r||void 0}})}),Gge=t=>({[`&:disabled, &${t.componentCls}-disabled`]:Object.assign({},YCt(t))}),P_e=t=>Object.assign({},Gge(t)),yG=t=>({[`&:disabled, &${t.componentCls}-disabled`]:{cursor:"not-allowed",color:t.colorTextDisabled}}),C_e=t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},P_e(t)),{background:t.defaultBg,borderColor:t.defaultBorderColor,color:t.defaultColor,boxShadow:t.defaultShadow}),G6(t.componentCls,{color:t.defaultHoverColor,borderColor:t.defaultHoverBorderColor,background:t.defaultHoverBg},{color:t.defaultActiveColor,borderColor:t.defaultActiveBorderColor,background:t.defaultActiveBg})),_k(t.componentCls,t.ghostBg,t.defaultGhostColor,t.defaultGhostBorderColor,t.colorTextDisabled,t.colorBorder)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({color:t.colorError,borderColor:t.colorError},G6(t.componentCls,{color:t.colorErrorHover,borderColor:t.colorErrorBorderHover},{color:t.colorErrorActive,borderColor:t.colorErrorActive})),_k(t.componentCls,t.ghostBg,t.colorError,t.colorError,t.colorTextDisabled,t.colorBorder)),Gge(t))}),OCt=t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},P_e(t)),{color:t.primaryColor,background:t.colorPrimary,boxShadow:t.primaryShadow}),G6(t.componentCls,{color:t.colorTextLightSolid,background:t.colorPrimaryHover},{color:t.colorTextLightSolid,background:t.colorPrimaryActive})),_k(t.componentCls,t.ghostBg,t.colorPrimary,t.colorPrimary,t.colorTextDisabled,t.colorBorder,{color:t.colorPrimaryHover,borderColor:t.colorPrimaryHover},{color:t.colorPrimaryActive,borderColor:t.colorPrimaryActive})),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({background:t.colorError,boxShadow:t.dangerShadow,color:t.dangerColor},G6(t.componentCls,{background:t.colorErrorHover},{background:t.colorErrorActive})),_k(t.componentCls,t.ghostBg,t.colorError,t.colorError,t.colorTextDisabled,t.colorBorder,{color:t.colorErrorHover,borderColor:t.colorErrorHover},{color:t.colorErrorActive,borderColor:t.colorErrorActive})),Gge(t))}),_Ct=t=>Object.assign(Object.assign({},C_e(t)),{borderStyle:"dashed"}),VCt=t=>Object.assign(Object.assign(Object.assign({color:t.colorLink},G6(t.componentCls,{color:t.colorLinkHover,background:t.linkHoverBg},{color:t.colorLinkActive})),yG(t)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign({color:t.colorError},G6(t.componentCls,{color:t.colorErrorHover},{color:t.colorErrorActive})),yG(t))}),GCt=t=>Object.assign(Object.assign(Object.assign({},G6(t.componentCls,{color:t.colorText,background:t.textHoverBg},{color:t.colorText,background:t.colorBgTextActive})),yG(t)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign({color:t.colorError},yG(t)),G6(t.componentCls,{color:t.colorErrorHover,background:t.colorErrorBg},{color:t.colorErrorHover,background:t.colorErrorBg}))}),XCt=t=>{const{componentCls:e}=t;return{[`${e}-default`]:C_e(t),[`${e}-primary`]:OCt(t),[`${e}-dashed`]:_Ct(t),[`${e}-link`]:VCt(t),[`${e}-text`]:GCt(t),[`${e}-ghost`]:_k(t.componentCls,t.ghostBg,t.colorBgContainer,t.colorBgContainer,t.colorTextDisabled,t.colorBorder)}},Xge=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const{componentCls:n,controlHeight:o,fontSize:i,lineHeight:r,borderRadius:a,buttonPaddingHorizontal:l,iconCls:s,buttonPaddingVertical:c}=t,u=`${n}-icon-only`;return[{[`${e}`]:{fontSize:i,lineHeight:r,height:o,padding:`${Ut(c)} ${Ut(l)}`,borderRadius:a,[`&${u}`]:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:o,paddingInlineStart:0,paddingInlineEnd:0,[`&${n}-round`]:{width:"auto"},[s]:{fontSize:t.buttonIconOnlyFontSize}},[`&${n}-loading`]:{opacity:t.opacityLoading,cursor:"default"},[`${n}-loading-icon`]:{transition:`width ${t.motionDurationSlow} ${t.motionEaseInOut}, opacity ${t.motionDurationSlow} ${t.motionEaseInOut}`}}},{[`${n}${n}-circle${e}`]:BCt(t)},{[`${n}${n}-round${e}`]:jCt(t)}]},JCt=t=>{const e=Zr(t,{fontSize:t.contentFontSize,lineHeight:t.contentLineHeight});return Xge(e,t.componentCls)},KCt=t=>{const e=Zr(t,{controlHeight:t.controlHeightSM,fontSize:t.contentFontSizeSM,lineHeight:t.contentLineHeightSM,padding:t.paddingXS,buttonPaddingHorizontal:t.paddingInlineSM,buttonPaddingVertical:t.paddingBlockSM,borderRadius:t.borderRadiusSM,buttonIconOnlyFontSize:t.onlyIconSizeSM});return Xge(e,`${t.componentCls}-sm`)},qCt=t=>{const e=Zr(t,{controlHeight:t.controlHeightLG,fontSize:t.contentFontSizeLG,lineHeight:t.contentLineHeightLG,buttonPaddingHorizontal:t.paddingInlineLG,buttonPaddingVertical:t.paddingBlockLG,borderRadius:t.borderRadiusLG,buttonIconOnlyFontSize:t.onlyIconSizeLG});return Xge(e,`${t.componentCls}-lg`)},$Ct=t=>{const{componentCls:e}=t;return{[e]:{[`&${e}-block`]:{width:"100%"}}}},QCt=Fl("Button",t=>{const e=S_e(t);return[UCt(e),JCt(e),KCt(e),qCt(e),$Ct(e),XCt(e),NCt(e)]},T_e,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function ZCt(t,e,n){const{focusElCls:o,focus:i,borderElCls:r}=n,a=r?"> *":"",l=["hover",i?"focus":null,"active"].filter(Boolean).map(s=>`&:${s} ${a}`).join(",");return{[`&-item:not(${e}-last-item)`]:{marginInlineEnd:t.calc(t.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[l]:{zIndex:2}},o?{[`&${o}`]:{zIndex:2}}:{}),{[`&[disabled] ${a}`]:{zIndex:0}})}}function eRt(t,e,n){const{borderElCls:o}=n,i=o?`> ${o}`:"";return{[`&-item:not(${e}-first-item):not(${e}-last-item) ${i}`]:{borderRadius:0},[`&-item:not(${e}-last-item)${e}-first-item`]:{[`& ${i}, &${t}-sm ${i}, &${t}-lg ${i}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${e}-first-item)${e}-last-item`]:{[`& ${i}, &${t}-sm ${i}, &${t}-lg ${i}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function vW(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:n}=t,o=`${n}-compact`;return{[o]:Object.assign(Object.assign({},ZCt(t,o,e)),eRt(n,o,e))}}function tRt(t,e){return{[`&-item:not(${e}-last-item)`]:{marginBottom:t.calc(t.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function nRt(t,e){return{[`&-item:not(${e}-first-item):not(${e}-last-item)`]:{borderRadius:0},[`&-item${e}-first-item:not(${e}-last-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${e}-last-item:not(${e}-first-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function oRt(t){const e=`${t.componentCls}-compact-vertical`;return{[e]:Object.assign(Object.assign({},tRt(t,e)),nRt(t.componentCls,e))}}const iRt=t=>{const{componentCls:e,calc:n}=t;return{[e]:{[`&-compact-item${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:n(t.lineWidth).mul(-1).equal(),insetInlineStart:n(t.lineWidth).mul(-1).equal(),display:"inline-block",width:t.lineWidth,height:`calc(100% + ${Ut(t.lineWidth)} * 2)`,backgroundColor:t.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-vertical-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:n(t.lineWidth).mul(-1).equal(),insetInlineStart:n(t.lineWidth).mul(-1).equal(),display:"inline-block",width:`calc(100% + ${Ut(t.lineWidth)} * 2)`,height:t.lineWidth,backgroundColor:t.colorPrimaryHover,content:'""'}}}}}}},rRt=mW(["Button","compact"],t=>{const e=S_e(t);return[vW(e),oRt(e),iRt(e)]},T_e);var aRt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o,i;const{loading:r=!1,prefixCls:a,type:l,danger:s,shape:c="default",size:u,styles:d,disabled:f,className:p,rootClassName:g,children:y,icon:A,iconPosition:x="start",ghost:C=!1,block:b=!1,htmlType:v="button",classNames:S,style:w={},autoInsertSpace:T}=t,P=aRt(t,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","iconPosition","ghost","block","htmlType","classNames","style","autoInsertSpace"]),R=l||"default",{getPrefixCls:H,direction:D,button:E}=m.useContext(Mi),L=(n=T??(E==null?void 0:E.autoInsertSpace))!==null&&n!==void 0?n:!0,U=H("btn",a),[F,W,B]=QCt(U),k=m.useContext($p),N=f??k,j=m.useContext(v_e),Y=m.useMemo(()=>lRt(r),[r]),[_,J]=m.useState(Y.loading),[Q,ee]=m.useState(!1),q=q2(e,m.createRef()),le=m.Children.count(y)===1&&!A&&!Sie(R);m.useEffect(()=>{let we=null;Y.delay>0?we=setTimeout(()=>{we=null,J(!0)},Y.delay):J(Y.loading);function ye(){we&&(clearTimeout(we),we=null)}return ye},[Y]),m.useEffect(()=>{if(!q||!q.current||!L)return;const we=q.current.textContent;le&&n0e(we)?Q||ee(!0):Q&&ee(!1)},[q]);const ie=we=>{const{onClick:ye}=t;if(_||N){we.preventDefault();return}ye==null||ye(we)},{compactSize:pe,compactItemClassnames:ne}=F7(U,D),Z={large:"lg",small:"sm",middle:void 0},he=Cd(we=>{var ye,Te;return(Te=(ye=u??pe)!==null&&ye!==void 0?ye:j)!==null&&Te!==void 0?Te:we}),fe=he&&Z[he]||"",se=_?"loading":A,oe=lp(P,["navigate"]),de=Gn(U,W,B,{[`${U}-${c}`]:c!=="default"&&c,[`${U}-${R}`]:R,[`${U}-${fe}`]:fe,[`${U}-icon-only`]:!y&&y!==0&&!!se,[`${U}-background-ghost`]:C&&!Sie(R),[`${U}-loading`]:_,[`${U}-two-chinese-chars`]:Q&&L&&!_,[`${U}-block`]:b,[`${U}-dangerous`]:!!s,[`${U}-rtl`]:D==="rtl"},ne,p,g,E==null?void 0:E.className),ve=Object.assign(Object.assign({},E==null?void 0:E.style),w),Pe=x==="end"&&y&&y!==0&&se,me=Gn(S==null?void 0:S.icon,(o=E==null?void 0:E.classNames)===null||o===void 0?void 0:o.icon,{[`${U}-icon-end`]:Pe}),Re=Object.assign(Object.assign({},(d==null?void 0:d.icon)||{}),((i=E==null?void 0:E.styles)===null||i===void 0?void 0:i.icon)||{}),ze=A&&!_?Se.createElement(b_e,{prefixCls:U,className:me,style:Re},A):Se.createElement(WCt,{existIcon:!!A,prefixCls:U,loading:!!_,iconPosition:x}),Ae=y||y===0?LCt(y,le&&L):null,re=(we,ye)=>{const Te=D==="rtl",Ie=x==="start"&&!Te||x==="end"&&Te;return Se.createElement(Se.Fragment,null,Ie?we:ye,Ie?ye:we)};if(oe.href!==void 0)return F(Se.createElement("a",Object.assign({},oe,{className:Gn(de,{[`${U}-disabled`]:N}),href:N?void 0:oe.href,style:ve,onClick:ie,ref:q,tabIndex:N?-1:0}),re(ze,Ae)));let ge=Se.createElement("button",Object.assign({},P,{type:v,className:de,style:ve,onClick:ie,disabled:N,ref:q}),re(ze,Ae),!!ne&&Se.createElement(rRt,{key:"compact",prefixCls:U}));return Sie(R)||(ge=Se.createElement(wW,{component:"Button",disabled:!!_},ge)),F(ge)}),no=sRt;no.Group=kCt;no.__ANT_BUTTON=!0;function o8e(t){return!!(t&&t.then)}const R_e=t=>{const{type:e,children:n,prefixCls:o,buttonProps:i,close:r,autoFocus:a,emitEvent:l,isSilent:s,quitOnNullishReturnValue:c,actionFn:u}=t,d=m.useRef(!1),f=m.useRef(null),[p,g]=_ce(!1),y=function(){r==null||r.apply(void 0,arguments)};m.useEffect(()=>{let C=null;return a&&(C=setTimeout(()=>{var b;(b=f.current)===null||b===void 0||b.focus()})),()=>{C&&clearTimeout(C)}},[]);const A=C=>{o8e(C)&&(g(!0),C.then(function(){g(!1,!0),y.apply(void 0,arguments),d.current=!1},b=>{if(g(!1,!0),d.current=!1,!(s!=null&&s()))return Promise.reject(b)}))},x=C=>{if(d.current)return;if(d.current=!0,!u){y();return}let b;if(l){if(b=u(C),c&&!o8e(b)){d.current=!1,y(C);return}}else if(u.length)b=u(r),d.current=!1;else if(b=u(),!b){y();return}A(b)};return m.createElement(no,Object.assign({},x_e(e),{onClick:x,loading:p,prefixCls:o},i,{ref:f}),n)},xW=Se.createContext({}),{Provider:H_e}=xW,i8e=()=>{const{autoFocusButton:t,cancelButtonProps:e,cancelTextLocale:n,isSilent:o,mergedOkCancel:i,rootPrefixCls:r,close:a,onCancel:l,onConfirm:s}=m.useContext(xW);return i?Se.createElement(R_e,{isSilent:o,actionFn:l,close:function(){a==null||a.apply(void 0,arguments),s==null||s(!1)},autoFocus:t==="cancel",buttonProps:e,prefixCls:`${r}-btn`},n):null},r8e=()=>{const{autoFocusButton:t,close:e,isSilent:n,okButtonProps:o,rootPrefixCls:i,okTextLocale:r,okType:a,onConfirm:l,onOk:s}=m.useContext(xW);return Se.createElement(R_e,{isSilent:n,type:a||"primary",actionFn:s,close:function(){e==null||e.apply(void 0,arguments),l==null||l(!0)},autoFocus:t==="ok",buttonProps:o,prefixCls:`${i}-btn`},r)};var M_e=m.createContext(null),a8e=[];function cRt(t,e){var n=m.useState(function(){if(!sp())return null;var g=document.createElement("div");return g}),o=on(n,1),i=o[0],r=m.useRef(!1),a=m.useContext(M_e),l=m.useState(a8e),s=on(l,2),c=s[0],u=s[1],d=a||(r.current?void 0:function(g){u(function(y){var A=[g].concat(Wo(y));return A})});function f(){i.parentElement||document.body.appendChild(i),r.current=!0}function p(){var g;(g=i.parentElement)===null||g===void 0||g.removeChild(i),r.current=!1}return Ba(function(){return t?a?a(f):f():p(),p},[t]),Ba(function(){c.length&&(c.forEach(function(g){return g()}),u(a8e))},[c]),[i,d]}var Cie;function o0e(t){if(typeof document>"u")return 0;if(Cie===void 0){var e=document.createElement("div");e.style.width="100%",e.style.height="200px";var n=document.createElement("div"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",n.appendChild(e),document.body.appendChild(n);var i=e.offsetWidth;n.style.overflow="scroll";var r=e.offsetWidth;i===r&&(r=n.clientWidth),document.body.removeChild(n),Cie=i-r}return Cie}function l8e(t){var e=t.match(/^(.*)px$/),n=Number(e==null?void 0:e[1]);return Number.isNaN(n)?o0e():n}function i0e(t){if(typeof document>"u"||!t||!(t instanceof Element))return{width:0,height:0};var e=getComputedStyle(t,"::-webkit-scrollbar"),n=e.width,o=e.height;return{width:l8e(n),height:l8e(o)}}function uRt(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var dRt="rc-util-locker-".concat(Date.now()),s8e=0;function fRt(t){var e=!!t,n=m.useState(function(){return s8e+=1,"".concat(dRt,"_").concat(s8e)}),o=on(n,1),i=o[0];Ba(function(){if(e){var r=i0e(document.body).width,a=uRt();lx(` html body { overflow-y: hidden; `.concat(a?"width: calc(100% - ".concat(r,"px);"):"",` -}`),i)}else sG(i);return function(){sG(i)}},[e,i])}var gRt=!1;function mRt(t){return gRt}var c8e=function(e){return e===!1?!1:!sp()||!e?null:typeof e=="string"?document.querySelector(e):typeof e=="function"?e():e},u$=m.forwardRef(function(t,e){var n=t.open,o=t.autoLock,i=t.getContainer;t.debug;var r=t.autoDestroy,a=r===void 0?!0:r,l=t.children,s=m.useState(n),c=on(s,2),u=c[0],d=c[1],f=u||n;m.useEffect(function(){(a||n)&&d(n)},[n,a]);var p=m.useState(function(){return c8e(i)}),g=on(p,2),y=g[0],A=g[1];m.useEffect(function(){var D=c8e(i);A(D??null)});var x=dRt(f&&!y),C=on(x,2),b=C[0],v=C[1],S=y??b;pRt(o&&n&&sp()&&(S===b||S===document.body));var w=null;if(l&&Zw(l)&&e){var T=l;w=T.ref}var P=z7(w,e);if(!f||!sp()||y===void 0)return null;var R=S===!1||mRt(),H=l;return e&&(H=m.cloneElement(l,{ref:P})),m.createElement(M_e.Provider,{value:v},R?H:Sd.createPortal(H,S))}),I_e=m.createContext({});function yRt(){var t=$t({},oK);return t.useId}var u8e=0,d8e=yRt();const z_e=d8e?function(e){var n=d8e();return e||n}:function(e){var n=m.useState("ssr-id"),o=on(n,2),i=o[0],r=o[1];return m.useEffect(function(){var a=u8e;u8e+=1,r("rc_unique_".concat(a))},[]),e||i};function f8e(t,e,n){var o=e;return!o&&n&&(o="".concat(t,"-").concat(n)),o}function h8e(t,e){var n=t["page".concat(e?"Y":"X","Offset")],o="scroll".concat(e?"Top":"Left");if(typeof n!="number"){var i=t.document;n=i.documentElement[o],typeof n!="number"&&(n=i.body[o])}return n}function ARt(t){var e=t.getBoundingClientRect(),n={left:e.left,top:e.top},o=t.ownerDocument,i=o.defaultView||o.parentWindow;return n.left+=h8e(i),n.top+=h8e(i,!0),n}const wRt=m.memo(function(t){var e=t.children;return e},function(t,e){var n=e.shouldUpdate;return!n});var p8e={width:0,height:0,overflow:"hidden",outline:"none"},vRt={outline:"none"},D_e=Se.forwardRef(function(t,e){var n=t.prefixCls,o=t.className,i=t.style,r=t.title,a=t.ariaId,l=t.footer,s=t.closable,c=t.closeIcon,u=t.onClose,d=t.children,f=t.bodyStyle,p=t.bodyProps,g=t.modalRender,y=t.onMouseDown,A=t.onMouseUp,x=t.holderRef,C=t.visible,b=t.forceRender,v=t.width,S=t.height,w=t.classNames,T=t.styles,P=Se.useContext(I_e),R=P.panel,H=z7(x,R),D=m.useRef(),E=m.useRef(),L=m.useRef();Se.useImperativeHandle(e,function(){return{focus:function(){var _;(_=L.current)===null||_===void 0||_.focus()},changeActive:function(_){var J=document,Q=J.activeElement;_&&Q===E.current?D.current.focus():!_&&Q===D.current&&E.current.focus()}}});var U={};v!==void 0&&(U.width=v),S!==void 0&&(U.height=S);var F;l&&(F=Se.createElement("div",{className:Vn("".concat(n,"-footer"),w==null?void 0:w.footer),style:$t({},T==null?void 0:T.footer)},l));var W;r&&(W=Se.createElement("div",{className:Vn("".concat(n,"-header"),w==null?void 0:w.header),style:$t({},T==null?void 0:T.header)},Se.createElement("div",{className:"".concat(n,"-title"),id:a},r)));var B=m.useMemo(function(){return gr(s)==="object"&&s!==null?s:s?{closeIcon:c??Se.createElement("span",{className:"".concat(n,"-close-x")})}:{}},[s,c]),k=gf(B,!0),N;s&&(N=Se.createElement("button",so({type:"button",onClick:u,"aria-label":"Close"},k,{className:"".concat(n,"-close")}),B.closeIcon));var j=Se.createElement("div",{className:Vn("".concat(n,"-content"),w==null?void 0:w.content),style:T==null?void 0:T.content},N,W,Se.createElement("div",so({className:Vn("".concat(n,"-body"),w==null?void 0:w.body),style:$t($t({},f),T==null?void 0:T.body)},p),d),F);return Se.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":r?a:null,"aria-modal":"true",ref:H,style:$t($t({},i),U),className:Vn(n,o),onMouseDown:y,onMouseUp:A},Se.createElement("div",{tabIndex:0,ref:D,style:p8e,"aria-hidden":"true"}),Se.createElement("div",{ref:L,tabIndex:-1,style:vRt},Se.createElement(wRt,{shouldUpdate:C||b},g?g(j):j)),Se.createElement("div",{tabIndex:0,ref:E,style:p8e,"aria-hidden":"true"}))}),E_e=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.title,i=t.style,r=t.className,a=t.visible,l=t.forceRender,s=t.destroyOnClose,c=t.motionName,u=t.ariaId,d=t.onVisibleChanged,f=t.mousePosition,p=m.useRef(),g=m.useState(),y=on(g,2),A=y[0],x=y[1],C={};A&&(C.transformOrigin=A);function b(){var v=ARt(p.current);x(f?"".concat(f.x-v.left,"px ").concat(f.y-v.top,"px"):"")}return m.createElement(Cg,{visible:a,onVisibleChanged:d,onAppearPrepare:b,onEnterPrepare:b,forceRender:l,motionName:c,removeOnLeave:s,ref:p},function(v,S){var w=v.className,T=v.style;return m.createElement(D_e,so({},t,{ref:e,title:o,ariaId:u,prefixCls:n,holderRef:S,style:$t($t($t({},T),i),C),className:Vn(r,w)}))})});E_e.displayName="Content";function xRt(t){var e=t.prefixCls,n=t.style,o=t.visible,i=t.maskProps,r=t.motionName,a=t.className;return m.createElement(Cg,{key:"mask",visible:o,motionName:r,leavedClassName:"".concat(e,"-mask-hidden")},function(l,s){var c=l.className,u=l.style;return m.createElement("div",so({ref:s,style:$t($t({},u),n),className:Vn("".concat(e,"-mask"),c,a)},i))})}function bRt(t){var e=t.prefixCls,n=e===void 0?"rc-dialog":e,o=t.zIndex,i=t.visible,r=i===void 0?!1:i,a=t.keyboard,l=a===void 0?!0:a,s=t.focusTriggerAfterClose,c=s===void 0?!0:s,u=t.wrapStyle,d=t.wrapClassName,f=t.wrapProps,p=t.onClose,g=t.afterOpenChange,y=t.afterClose,A=t.transitionName,x=t.animation,C=t.closable,b=C===void 0?!0:C,v=t.mask,S=v===void 0?!0:v,w=t.maskTransitionName,T=t.maskAnimation,P=t.maskClosable,R=P===void 0?!0:P,H=t.maskStyle,D=t.maskProps,E=t.rootClassName,L=t.classNames,U=t.styles,F=m.useRef(),W=m.useRef(),B=m.useRef(),k=m.useState(r),N=on(k,2),j=N[0],Y=N[1],_=z_e();function J(){Rce(W.current,document.activeElement)||(F.current=document.activeElement)}function Q(){if(!Rce(W.current,document.activeElement)){var he;(he=B.current)===null||he===void 0||he.focus()}}function ee(he){if(he)Q();else{if(Y(!1),S&&F.current&&c){try{F.current.focus({preventScroll:!0})}catch{}F.current=null}j&&(y==null||y())}g==null||g(he)}function $(he){p==null||p(he)}var q=m.useRef(!1),le=m.useRef(),ie=function(){clearTimeout(le.current),q.current=!0},pe=function(){le.current=setTimeout(function(){q.current=!1})},ne=null;R&&(ne=function(fe){q.current?q.current=!1:W.current===fe.target&&$(fe)});function Z(he){if(l&&he.keyCode===Bn.ESC){he.stopPropagation(),$(he);return}r&&he.keyCode===Bn.TAB&&B.current.changeActive(!he.shiftKey)}return m.useEffect(function(){r&&(Y(!0),J())},[r]),m.useEffect(function(){return function(){clearTimeout(le.current)}},[]),m.createElement("div",so({className:Vn("".concat(n,"-root"),E)},gf(t,{data:!0})),m.createElement(xRt,{prefixCls:n,visible:S&&r,motionName:f8e(n,w,T),style:$t($t({zIndex:o},H),U==null?void 0:U.mask),maskProps:D,className:L==null?void 0:L.mask}),m.createElement("div",so({tabIndex:-1,onKeyDown:Z,className:Vn("".concat(n,"-wrap"),d,L==null?void 0:L.wrapper),ref:W,onClick:ne,style:$t($t($t({zIndex:o},u),U==null?void 0:U.wrapper),{},{display:j?null:"none"})},f),m.createElement(E_e,so({},t,{onMouseDown:ie,onMouseUp:pe,ref:B,closable:b,ariaId:_,prefixCls:n,visible:r&&j,onClose:$,onVisibleChanged:ee,motionName:f8e(n,A,x)}))))}var k_e=function(e){var n=e.visible,o=e.getContainer,i=e.forceRender,r=e.destroyOnClose,a=r===void 0?!1:r,l=e.afterClose,s=e.panelRef,c=m.useState(n),u=on(c,2),d=u[0],f=u[1],p=m.useMemo(function(){return{panel:s}},[s]);return m.useEffect(function(){n&&f(!0)},[n]),!i&&a&&!d?null:m.createElement(I_e.Provider,{value:p},m.createElement(u$,{open:n||i||d,autoDestroy:!1,getContainer:o,autoLock:n||d},m.createElement(bRt,so({},e,{destroyOnClose:a,afterClose:function(){l==null||l(),f(!1)}}))))};k_e.displayName="Dialog";function oR(t){if(t)return{closable:t.closable,closeIcon:t.closeIcon}}function g8e(t){const{closable:e,closeIcon:n}=t||{};return Se.useMemo(()=>{if(!e&&(e===!1||n===!1||n===null))return!1;if(e===void 0&&n===void 0)return null;let o={closeIcon:typeof n!="boolean"&&n!==null?n:void 0};return e&&typeof e=="object"&&(o=Object.assign(Object.assign({},o),e)),o},[e,n])}function m8e(){const t={};for(var e=arguments.length,n=new Array(e),o=0;o{i&&Object.keys(i).forEach(r=>{i[r]!==void 0&&(t[r]=i[r])})}),t}const SRt={};function Jge(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:SRt;const o=g8e(t),i=g8e(e),r=Se.useMemo(()=>Object.assign({closeIcon:Se.createElement(E7,null)},n),[n]),a=Se.useMemo(()=>o===!1?!1:o?m8e(r,i,o):i===!1?!1:i?m8e(r,i):r.closable?r:!1,[o,i,r]);return Se.useMemo(()=>{if(a===!1)return[!1,null];const{closeIconRender:l}=r,{closeIcon:s}=a;let c=s;if(c!=null){l&&(c=l(s));const u=jge(a,!0);Object.keys(u).length&&(c=Se.isValidElement(c)?Se.cloneElement(c,u):Se.createElement("span",Object.assign({},u),c))}return[!0,c]},[a,r])}var F_e=function(e){if(gW()&&window.document.documentElement){var n=Array.isArray(e)?e:[e],o=window.document.documentElement;return n.some(function(i){return i in o.style})}return!1},TRt=function(e,n){if(!F_e(e))return!1;var o=document.createElement("div"),i=o.style[e];return o.style[e]=n,o.style[e]!==i};function y8e(t,e){return!Array.isArray(t)&&e!==void 0?TRt(t,e):F_e(t)}const PRt=()=>gW()&&window.document.documentElement;function N2(){N2=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(W,B,k){W[B]=k.value},r=typeof Symbol=="function"?Symbol:{},a=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(W,B,k){return Object.defineProperty(W,B,{value:k,enumerable:!0,configurable:!0,writable:!0}),W[B]}try{c({},"")}catch{c=function(k,N,j){return k[N]=j}}function u(W,B,k,N){var j=B&&B.prototype instanceof x?B:x,Y=Object.create(j.prototype),_=new U(N||[]);return i(Y,"_invoke",{value:H(W,k,_)}),Y}function d(W,B,k){try{return{type:"normal",arg:W.call(B,k)}}catch(N){return{type:"throw",arg:N}}}e.wrap=u;var f="suspendedStart",p="suspendedYield",g="executing",y="completed",A={};function x(){}function C(){}function b(){}var v={};c(v,a,function(){return this});var S=Object.getPrototypeOf,w=S&&S(S(F([])));w&&w!==n&&o.call(w,a)&&(v=w);var T=b.prototype=x.prototype=Object.create(v);function P(W){["next","throw","return"].forEach(function(B){c(W,B,function(k){return this._invoke(B,k)})})}function R(W,B){function k(j,Y,_,J){var Q=d(W[j],W,Y);if(Q.type!=="throw"){var ee=Q.arg,$=ee.value;return $&&gr($)=="object"&&o.call($,"__await")?B.resolve($.__await).then(function(q){k("next",q,_,J)},function(q){k("throw",q,_,J)}):B.resolve($).then(function(q){ee.value=q,_(ee)},function(q){return k("throw",q,_,J)})}J(Q.arg)}var N;i(this,"_invoke",{value:function(Y,_){function J(){return new B(function(Q,ee){k(Y,_,Q,ee)})}return N=N?N.then(J,J):J()}})}function H(W,B,k){var N=f;return function(j,Y){if(N===g)throw new Error("Generator is already running");if(N===y){if(j==="throw")throw Y;return{value:t,done:!0}}for(k.method=j,k.arg=Y;;){var _=k.delegate;if(_){var J=D(_,k);if(J){if(J===A)continue;return J}}if(k.method==="next")k.sent=k._sent=k.arg;else if(k.method==="throw"){if(N===f)throw N=y,k.arg;k.dispatchException(k.arg)}else k.method==="return"&&k.abrupt("return",k.arg);N=g;var Q=d(W,B,k);if(Q.type==="normal"){if(N=k.done?y:p,Q.arg===A)continue;return{value:Q.arg,done:k.done}}Q.type==="throw"&&(N=y,k.method="throw",k.arg=Q.arg)}}}function D(W,B){var k=B.method,N=W.iterator[k];if(N===t)return B.delegate=null,k==="throw"&&W.iterator.return&&(B.method="return",B.arg=t,D(W,B),B.method==="throw")||k!=="return"&&(B.method="throw",B.arg=new TypeError("The iterator does not provide a '"+k+"' method")),A;var j=d(N,W.iterator,B.arg);if(j.type==="throw")return B.method="throw",B.arg=j.arg,B.delegate=null,A;var Y=j.arg;return Y?Y.done?(B[W.resultName]=Y.value,B.next=W.nextLoc,B.method!=="return"&&(B.method="next",B.arg=t),B.delegate=null,A):Y:(B.method="throw",B.arg=new TypeError("iterator result is not an object"),B.delegate=null,A)}function E(W){var B={tryLoc:W[0]};1 in W&&(B.catchLoc=W[1]),2 in W&&(B.finallyLoc=W[2],B.afterLoc=W[3]),this.tryEntries.push(B)}function L(W){var B=W.completion||{};B.type="normal",delete B.arg,W.completion=B}function U(W){this.tryEntries=[{tryLoc:"root"}],W.forEach(E,this),this.reset(!0)}function F(W){if(W||W===""){var B=W[a];if(B)return B.call(W);if(typeof W.next=="function")return W;if(!isNaN(W.length)){var k=-1,N=function j(){for(;++k=0;--j){var Y=this.tryEntries[j],_=Y.completion;if(Y.tryLoc==="root")return N("end");if(Y.tryLoc<=this.prev){var J=o.call(Y,"catchLoc"),Q=o.call(Y,"finallyLoc");if(J&&Q){if(this.prev=0;--N){var j=this.tryEntries[N];if(j.tryLoc<=this.prev&&o.call(j,"finallyLoc")&&this.prev=0;--k){var N=this.tryEntries[k];if(N.finallyLoc===B)return this.complete(N.completion,N.afterLoc),L(N),A}},catch:function(B){for(var k=this.tryEntries.length-1;k>=0;--k){var N=this.tryEntries[k];if(N.tryLoc===B){var j=N.completion;if(j.type==="throw"){var Y=j.arg;L(N)}return Y}}throw new Error("illegal catch attempt")},delegateYield:function(B,k,N){return this.delegate={iterator:F(B),resultName:k,nextLoc:N},this.method==="next"&&(this.arg=t),A}},e}function A8e(t,e,n,o,i,r,a){try{var l=t[r](a),s=l.value}catch(c){n(c);return}l.done?e(s):Promise.resolve(s).then(o,i)}function bW(t){return function(){var e=this,n=arguments;return new Promise(function(o,i){var r=t.apply(e,n);function a(s){A8e(r,o,i,a,l,"next",s)}function l(s){A8e(r,o,i,a,l,"throw",s)}a(void 0)})}}var kv="RC_FORM_INTERNAL_HOOKS",ms=function(){U0(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},iR=m.createContext({getFieldValue:ms,getFieldsValue:ms,getFieldError:ms,getFieldWarning:ms,getFieldsError:ms,isFieldsTouched:ms,isFieldTouched:ms,isFieldValidating:ms,isFieldsValidating:ms,resetFields:ms,setFields:ms,setFieldValue:ms,setFieldsValue:ms,validateFields:ms,submit:ms,getInternalHooks:function(){return ms(),{dispatch:ms,initEntityValue:ms,registerField:ms,useSubscribe:ms,setInitialValues:ms,destroyForm:ms,setCallbacks:ms,registerWatch:ms,getFields:ms,setValidateMessages:ms,setPreserve:ms,getInitialValue:ms}}}),AG=m.createContext(null);function r0e(t){return t==null?[]:Array.isArray(t)?t:[t]}function CRt(t){return t&&!!t._init}function ep(t){"@babel/helpers - typeof";return ep=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ep(t)}function RRt(t,e){if(ep(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(ep(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function L_e(t){var e=RRt(t,"string");return ep(e)=="symbol"?e:e+""}function X6(t,e,n){return e=L_e(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function w8e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Y4(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1?e-1:0),o=1;o=r)return l;switch(l){case"%s":return String(n[i++]);case"%d":return Number(n[i++]);case"%j":try{return JSON.stringify(n[i++])}catch{return"[Circular]"}break;default:return l}});return a}return t}function BRt(t){return t==="string"||t==="url"||t==="hex"||t==="email"||t==="date"||t==="pattern"}function uu(t,e){return!!(t==null||e==="array"&&Array.isArray(t)&&!t.length||BRt(e)&&typeof t=="string"&&!t)}function jRt(t,e,n){var o=[],i=0,r=t.length;function a(l){o.push.apply(o,GP(l||[])),i++,i===r&&n(o)}t.forEach(function(l){e(l,a)})}function v8e(t,e,n){var o=0,i=t.length;function r(a){if(a&&a.length){n(a);return}var l=o;o=o+1,le.max?i.push(ug(r.messages[d].max,e.fullField,e.max)):l&&s&&(ue.max)&&i.push(ug(r.messages[d].range,e.fullField,e.min,e.max))},U_e=function(e,n,o,i,r,a){e.required&&(!o.hasOwnProperty(e.field)||uu(n,a||e.type))&&i.push(ug(r.messages.required,e.fullField))},fY;const KRt=function(){if(fY)return fY;var t="[a-fA-F\\d:]",e=function(w){return w&&w.includeBoundaries?"(?:(?<=\\s|^)(?=".concat(t,")|(?<=").concat(t,")(?=\\s|$))"):""},n="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",o="[a-fA-F\\d]{1,4}",i=["(?:".concat(o,":){7}(?:").concat(o,"|:)"),"(?:".concat(o,":){6}(?:").concat(n,"|:").concat(o,"|:)"),"(?:".concat(o,":){5}(?::").concat(n,"|(?::").concat(o,"){1,2}|:)"),"(?:".concat(o,":){4}(?:(?::").concat(o,"){0,1}:").concat(n,"|(?::").concat(o,"){1,3}|:)"),"(?:".concat(o,":){3}(?:(?::").concat(o,"){0,2}:").concat(n,"|(?::").concat(o,"){1,4}|:)"),"(?:".concat(o,":){2}(?:(?::").concat(o,"){0,3}:").concat(n,"|(?::").concat(o,"){1,5}|:)"),"(?:".concat(o,":){1}(?:(?::").concat(o,"){0,4}:").concat(n,"|(?::").concat(o,"){1,6}|:)"),"(?::(?:(?::".concat(o,"){0,5}:").concat(n,"|(?::").concat(o,"){1,7}|:))")],r="(?:%[0-9a-zA-Z]{1,})?",a="(?:".concat(i.join("|"),")").concat(r),l=new RegExp("(?:^".concat(n,"$)|(?:^").concat(a,"$)")),s=new RegExp("^".concat(n,"$")),c=new RegExp("^".concat(a,"$")),u=function(w){return w&&w.exact?l:new RegExp("(?:".concat(e(w)).concat(n).concat(e(w),")|(?:").concat(e(w)).concat(a).concat(e(w),")"),"g")};u.v4=function(S){return S&&S.exact?s:new RegExp("".concat(e(S)).concat(n).concat(e(S)),"g")},u.v6=function(S){return S&&S.exact?c:new RegExp("".concat(e(S)).concat(a).concat(e(S)),"g")};var d="(?:(?:[a-z]+:)?//)",f="(?:\\S+(?::\\S*)?@)?",p=u.v4().source,g=u.v6().source,y="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",A="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",x="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",C="(?::\\d{2,5})?",b='(?:[/?#][^\\s"]*)?',v="(?:".concat(d,"|www\\.)").concat(f,"(?:localhost|").concat(p,"|").concat(g,"|").concat(y).concat(A).concat(x,")").concat(C).concat(b);return fY=new RegExp("(?:^".concat(v,"$)"),"i"),fY};var T8e={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},hD={integer:function(e){return hD.number(e)&&parseInt(e,10)===e},float:function(e){return hD.number(e)&&!hD.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return ep(e)==="object"&&!hD.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&e.length<=320&&!!e.match(T8e.email)},url:function(e){return typeof e=="string"&&e.length<=2048&&!!e.match(KRt())},hex:function(e){return typeof e=="string"&&!!e.match(T8e.hex)}},qRt=function(e,n,o,i,r){if(e.required&&n===void 0){U_e(e,n,o,i,r);return}var a=["integer","float","array","regexp","object","method","email","number","date","url","hex"],l=e.type;a.indexOf(l)>-1?hD[l](n)||i.push(ug(r.messages.types[l],e.fullField,e.type)):l&&ep(n)!==e.type&&i.push(ug(r.messages.types[l],e.fullField,e.type))},$Rt=function(e,n,o,i,r){(/^\s+$/.test(n)||n==="")&&i.push(ug(r.messages.whitespace,e.fullField))};const Ka={required:U_e,whitespace:$Rt,type:qRt,range:JRt,enum:GRt,pattern:XRt};var QRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r)}o(a)},ZRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(n==null&&!e.required)return o();Ka.required(e,n,i,a,r,"array"),n!=null&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},eHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},tHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"date")&&!e.required)return o();if(Ka.required(e,n,i,a,r),!uu(n,"date")){var s;n instanceof Date?s=n:s=new Date(n),Ka.type(e,s,i,a,r),s&&Ka.range(e,s.getTime(),i,a,r)}}o(a)},nHt="enum",oHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka[nHt](e,n,i,a,r)}o(a)},iHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},rHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},aHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},lHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(n===""&&(n=void 0),uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},sHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},cHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"string")&&!e.required)return o();Ka.required(e,n,i,a,r),uu(n,"string")||Ka.pattern(e,n,i,a,r)}o(a)},uHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),uu(n)||Ka.type(e,n,i,a,r)}o(a)},dHt=function(e,n,o,i,r){var a=[],l=Array.isArray(n)?"array":ep(n);Ka.required(e,n,i,a,r,l),o(a)},fHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"string")&&!e.required)return o();Ka.required(e,n,i,a,r,"string"),uu(n,"string")||(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r),Ka.pattern(e,n,i,a,r),e.whitespace===!0&&Ka.whitespace(e,n,i,a,r))}o(a)},Rie=function(e,n,o,i,r){var a=e.type,l=[],s=e.required||!e.required&&i.hasOwnProperty(e.field);if(s){if(uu(n,a)&&!e.required)return o();Ka.required(e,n,i,l,r,a),uu(n,a)||Ka.type(e,n,i,l,r)}o(l)};const sE={string:fHt,method:aHt,number:lHt,boolean:eHt,regexp:uHt,integer:rHt,float:iHt,array:ZRt,object:sHt,enum:oHt,pattern:cHt,date:tHt,url:Rie,hex:Rie,email:Rie,required:dHt,any:QRt};var SW=function(){function t(e){W_e(this,t),X6(this,"rules",null),X6(this,"_messages",s0e),this.define(e)}return N_e(t,[{key:"define",value:function(n){var o=this;if(!n)throw new Error("Cannot configure a schema with no rules");if(ep(n)!=="object"||Array.isArray(n))throw new Error("Rules must be an object");this.rules={},Object.keys(n).forEach(function(i){var r=n[i];o.rules[i]=Array.isArray(r)?r:[r]})}},{key:"messages",value:function(n){return n&&(this._messages=S8e(l0e(),n)),this._messages}},{key:"validate",value:function(n){var o=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},a=n,l=i,s=r;if(typeof l=="function"&&(s=l,l={}),!this.rules||Object.keys(this.rules).length===0)return s&&s(null,a),Promise.resolve(a);function c(g){var y=[],A={};function x(b){if(Array.isArray(b)){var v;y=(v=y).concat.apply(v,GP(b))}else y.push(b)}for(var C=0;C0&&arguments[0]!==void 0?arguments[0]:[],P=Array.isArray(T)?T:[T];!l.suppressWarning&&P.length&&t.warning("async-validator:",P),P.length&&A.message!==void 0&&(P=[].concat(A.message));var R=P.map(b8e(A,a));if(l.first&&R.length)return p[A.field]=1,y(R);if(!x)y(R);else{if(A.required&&!g.value)return A.message!==void 0?R=[].concat(A.message).map(b8e(A,a)):l.error&&(R=[l.error(A,ug(l.messages.required,A.field))]),y(R);var H={};A.defaultField&&Object.keys(g.value).map(function(L){H[L]=A.defaultField}),H=Y4(Y4({},H),g.rule.fields);var D={};Object.keys(H).forEach(function(L){var U=H[L],F=Array.isArray(U)?U:[U];D[L]=F.map(C.bind(null,L))});var E=new t(D);E.messages(l.messages),g.rule.options&&(g.rule.options.messages=l.messages,g.rule.options.error=l.error),E.validate(g.value,g.rule.options||l,function(L){var U=[];R&&R.length&&U.push.apply(U,GP(R)),L&&L.length&&U.push.apply(U,GP(L)),y(U.length?U:null)})}}var v;if(A.asyncValidator)v=A.asyncValidator(A,g.value,b,g.source,l);else if(A.validator){try{v=A.validator(A,g.value,b,g.source,l)}catch(T){var S,w;(S=(w=console).error)===null||S===void 0||S.call(w,T),l.suppressValidatorError||setTimeout(function(){throw T},0),b(T.message)}v===!0?b():v===!1?b(typeof A.message=="function"?A.message(A.fullField||A.field):A.message||"".concat(A.fullField||A.field," fails")):v instanceof Array?b(v):v instanceof Error&&b(v.message)}v&&v.then&&v.then(function(){return b()},function(T){return b(T)})},function(g){c(g)},a)}},{key:"getType",value:function(n){if(n.type===void 0&&n.pattern instanceof RegExp&&(n.type="pattern"),typeof n.validator!="function"&&n.type&&!sE.hasOwnProperty(n.type))throw new Error(ug("Unknown rule type %s",n.type));return n.type||"string"}},{key:"getValidationMethod",value:function(n){if(typeof n.validator=="function")return n.validator;var o=Object.keys(n),i=o.indexOf("message");return i!==-1&&o.splice(i,1),o.length===1&&o[0]==="required"?sE.required:sE[this.getType(n)]||void 0}}]),t}();X6(SW,"register",function(e,n){if(typeof n!="function")throw new Error("Cannot register a validator by type, validator is not a function");sE[e]=n});X6(SW,"warning",URt);X6(SW,"messages",s0e);X6(SW,"validators",sE);var z1="'${name}' is not a valid ${type}",B_e={default:"Validation error on field '${name}'",required:"'${name}' is required",enum:"'${name}' must be one of [${enum}]",whitespace:"'${name}' cannot be empty",date:{format:"'${name}' is invalid for format date",parse:"'${name}' could not be parsed as date",invalid:"'${name}' is invalid date"},types:{string:z1,method:z1,array:z1,object:z1,number:z1,date:z1,boolean:z1,integer:z1,float:z1,regexp:z1,email:z1,url:z1,hex:z1},string:{len:"'${name}' must be exactly ${len} characters",min:"'${name}' must be at least ${min} characters",max:"'${name}' cannot be longer than ${max} characters",range:"'${name}' must be between ${min} and ${max} characters"},number:{len:"'${name}' must equal ${len}",min:"'${name}' cannot be less than ${min}",max:"'${name}' cannot be greater than ${max}",range:"'${name}' must be between ${min} and ${max}"},array:{len:"'${name}' must be exactly ${len} in length",min:"'${name}' cannot be less than ${min} in length",max:"'${name}' cannot be greater than ${max} in length",range:"'${name}' must be between ${min} and ${max} in length"},pattern:{mismatch:"'${name}' does not match pattern ${pattern}"}};function j_e(t){return DYe(t)||kYe(t)||vge(t)||EYe()}function dg(t,e){for(var n=t,o=0;o3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&o&&n===void 0&&!dg(t,e.slice(0,-1))?t:Y_e(t,e,n,o)}function hHt(t){return gr(t)==="object"&&t!==null&&Object.getPrototypeOf(t)===Object.prototype}function P8e(t){return Array.isArray(t)?[]:{}}var pHt=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function pD(){for(var t=arguments.length,e=new Array(t),n=0;n2&&arguments[2]!==void 0?arguments[2]:!1;return t&&t.some(function(o){return O_e(e,o,n)})}function O_e(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return!t||!e||!n&&t.length!==e.length?!1:e.every(function(o,i){return t[i]===o})}function wHt(t,e){if(t===e)return!0;if(!t&&e||t&&!e||!t||!e||gr(t)!=="object"||gr(e)!=="object")return!1;var n=Object.keys(t),o=Object.keys(e),i=new Set([].concat(n,o));return Wo(i).every(function(r){var a=t[r],l=e[r];return typeof a=="function"&&typeof l=="function"?!0:a===l})}function vHt(t){var e=arguments.length<=1?void 0:arguments[1];return e&&e.target&&gr(e.target)==="object"&&t in e.target?e.target[t]:e}function M8e(t,e,n){var o=t.length;if(e<0||e>=o||n<0||n>=o)return t;var i=t[e],r=e-n;return r>0?[].concat(Wo(t.slice(0,n)),[i],Wo(t.slice(n,e)),Wo(t.slice(e+1,o))):r<0?[].concat(Wo(t.slice(0,e)),Wo(t.slice(e+1,n+1)),[i],Wo(t.slice(n+1,o))):t}var xHt=["name"],lm=[];function I8e(t,e,n,o,i,r){return typeof t=="function"?t(e,n,"source"in r?{source:r.source}:{}):o!==i}var qge=function(t){hW(n,t);var e=pW(n);function n(o){var i;if(pp(this,n),i=e.call(this,o),_t(xl(i),"state",{resetCount:0}),_t(xl(i),"cancelRegisterFunc",null),_t(xl(i),"mounted",!1),_t(xl(i),"touched",!1),_t(xl(i),"dirty",!1),_t(xl(i),"validatePromise",void 0),_t(xl(i),"prevValidating",void 0),_t(xl(i),"errors",lm),_t(xl(i),"warnings",lm),_t(xl(i),"cancelRegister",function(){var s=i.props,c=s.preserve,u=s.isListField,d=s.name;i.cancelRegisterFunc&&i.cancelRegisterFunc(u,c,D0(d)),i.cancelRegisterFunc=null}),_t(xl(i),"getNamePath",function(){var s=i.props,c=s.name,u=s.fieldContext,d=u.prefixName,f=d===void 0?[]:d;return c!==void 0?[].concat(Wo(f),Wo(c)):[]}),_t(xl(i),"getRules",function(){var s=i.props,c=s.rules,u=c===void 0?[]:c,d=s.fieldContext;return u.map(function(f){return typeof f=="function"?f(d):f})}),_t(xl(i),"refresh",function(){i.mounted&&i.setState(function(s){var c=s.resetCount;return{resetCount:c+1}})}),_t(xl(i),"metaCache",null),_t(xl(i),"triggerMetaEvent",function(s){var c=i.props.onMetaChange;if(c){var u=$t($t({},i.getMeta()),{},{destroy:s});e7(i.metaCache,u)||c(u),i.metaCache=u}else i.metaCache=null}),_t(xl(i),"onStoreChange",function(s,c,u){var d=i.props,f=d.shouldUpdate,p=d.dependencies,g=p===void 0?[]:p,y=d.onReset,A=u.store,x=i.getNamePath(),C=i.getValue(s),b=i.getValue(A),v=c&&yC(c,x);switch(u.type==="valueUpdate"&&u.source==="external"&&!e7(C,b)&&(i.touched=!0,i.dirty=!0,i.validatePromise=null,i.errors=lm,i.warnings=lm,i.triggerMetaEvent()),u.type){case"reset":if(!c||v){i.touched=!1,i.dirty=!1,i.validatePromise=void 0,i.errors=lm,i.warnings=lm,i.triggerMetaEvent(),y==null||y(),i.refresh();return}break;case"remove":{if(f){i.reRender();return}break}case"setField":{var S=u.data;if(v){"touched"in S&&(i.touched=S.touched),"validating"in S&&!("originRCField"in S)&&(i.validatePromise=S.validating?Promise.resolve([]):null),"errors"in S&&(i.errors=S.errors||lm),"warnings"in S&&(i.warnings=S.warnings||lm),i.dirty=!0,i.triggerMetaEvent(),i.reRender();return}else if("value"in S&&yC(c,x,!0)){i.reRender();return}if(f&&!x.length&&I8e(f,s,A,C,b,u)){i.reRender();return}break}case"dependenciesUpdate":{var w=g.map(D0);if(w.some(function(T){return yC(u.relatedFields,T)})){i.reRender();return}break}default:if(v||(!g.length||x.length||f)&&I8e(f,s,A,C,b,u)){i.reRender();return}break}f===!0&&i.reRender()}),_t(xl(i),"validateRules",function(s){var c=i.getNamePath(),u=i.getValue(),d=s||{},f=d.triggerName,p=d.validateOnly,g=p===void 0?!1:p,y=Promise.resolve().then(bW(N2().mark(function A(){var x,C,b,v,S,w,T;return N2().wrap(function(R){for(;;)switch(R.prev=R.next){case 0:if(i.mounted){R.next=2;break}return R.abrupt("return",[]);case 2:if(x=i.props,C=x.validateFirst,b=C===void 0?!1:C,v=x.messageVariables,S=x.validateDebounce,w=i.getRules(),f&&(w=w.filter(function(H){return H}).filter(function(H){var D=H.validateTrigger;if(!D)return!0;var E=r0e(D);return E.includes(f)})),!(S&&f)){R.next=10;break}return R.next=8,new Promise(function(H){setTimeout(H,S)});case 8:if(i.validatePromise===y){R.next=10;break}return R.abrupt("return",[]);case 10:return T=mHt(c,u,w,s,b,v),T.catch(function(H){return H}).then(function(){var H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:lm;if(i.validatePromise===y){var D;i.validatePromise=null;var E=[],L=[];(D=H.forEach)===null||D===void 0||D.call(H,function(U){var F=U.rule.warningOnly,W=U.errors,B=W===void 0?lm:W;F?L.push.apply(L,Wo(B)):E.push.apply(E,Wo(B))}),i.errors=E,i.warnings=L,i.triggerMetaEvent(),i.reRender()}}),R.abrupt("return",T);case 13:case"end":return R.stop()}},A)})));return g||(i.validatePromise=y,i.dirty=!0,i.errors=lm,i.warnings=lm,i.triggerMetaEvent(),i.reRender()),y}),_t(xl(i),"isFieldValidating",function(){return!!i.validatePromise}),_t(xl(i),"isFieldTouched",function(){return i.touched}),_t(xl(i),"isFieldDirty",function(){if(i.dirty||i.props.initialValue!==void 0)return!0;var s=i.props.fieldContext,c=s.getInternalHooks(kv),u=c.getInitialValue;return u(i.getNamePath())!==void 0}),_t(xl(i),"getErrors",function(){return i.errors}),_t(xl(i),"getWarnings",function(){return i.warnings}),_t(xl(i),"isListField",function(){return i.props.isListField}),_t(xl(i),"isList",function(){return i.props.isList}),_t(xl(i),"isPreserve",function(){return i.props.preserve}),_t(xl(i),"getMeta",function(){i.prevValidating=i.isFieldValidating();var s={touched:i.isFieldTouched(),validating:i.prevValidating,errors:i.errors,warnings:i.warnings,name:i.getNamePath(),validated:i.validatePromise===null};return s}),_t(xl(i),"getOnlyChild",function(s){if(typeof s=="function"){var c=i.getMeta();return $t($t({},i.getOnlyChild(s(i.getControlled(),c,i.props.fieldContext))),{},{isFunction:!0})}var u=Qw(s);return u.length!==1||!m.isValidElement(u[0])?{child:u,isFunction:!1}:{child:u[0],isFunction:!1}}),_t(xl(i),"getValue",function(s){var c=i.props.fieldContext.getFieldsValue,u=i.getNamePath();return dg(s||c(!0),u)}),_t(xl(i),"getControlled",function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=i.props,u=c.name,d=c.trigger,f=c.validateTrigger,p=c.getValueFromEvent,g=c.normalize,y=c.valuePropName,A=c.getValueProps,x=c.fieldContext,C=f!==void 0?f:x.validateTrigger,b=i.getNamePath(),v=x.getInternalHooks,S=x.getFieldsValue,w=v(kv),T=w.dispatch,P=i.getValue(),R=A||function(U){return _t({},y,U)},H=s[d],D=u!==void 0?R(P):{},E=$t($t({},s),D);E[d]=function(){i.touched=!0,i.dirty=!0,i.triggerMetaEvent();for(var U,F=arguments.length,W=new Array(F),B=0;B=0&&H<=D.length?(u.keys=[].concat(Wo(u.keys.slice(0,H)),[u.id],Wo(u.keys.slice(H))),b([].concat(Wo(D.slice(0,H)),[R],Wo(D.slice(H))))):(u.keys=[].concat(Wo(u.keys),[u.id]),b([].concat(Wo(D),[R]))),u.id+=1},remove:function(R){var H=S(),D=new Set(Array.isArray(R)?R:[R]);D.size<=0||(u.keys=u.keys.filter(function(E,L){return!D.has(L)}),b(H.filter(function(E,L){return!D.has(L)})))},move:function(R,H){if(R!==H){var D=S();R<0||R>=D.length||H<0||H>=D.length||(u.keys=M8e(u.keys,R,H),b(M8e(D,R,H)))}}},T=C||[];return Array.isArray(T)||(T=[]),o(T.map(function(P,R){var H=u.keys[R];return H===void 0&&(u.keys[R]=u.id,H=u.keys[R],u.id+=1),{name:R,key:H,isListField:!0}}),w,A)})))}function SHt(t){var e=!1,n=t.length,o=[];return t.length?new Promise(function(i,r){t.forEach(function(a,l){a.catch(function(s){return e=!0,s}).then(function(s){n-=1,o[l]=s,!(n>0)&&(e&&r(o),i(o))})})}):Promise.resolve([])}var V_e="__@field_split__";function Hie(t){return t.map(function(e){return"".concat(gr(e),":").concat(e)}).join(V_e)}var xT=function(){function t(){pp(this,t),_t(this,"kvs",new Map)}return gp(t,[{key:"set",value:function(n,o){this.kvs.set(Hie(n),o)}},{key:"get",value:function(n){return this.kvs.get(Hie(n))}},{key:"update",value:function(n,o){var i=this.get(n),r=o(i);r?this.set(n,r):this.delete(n)}},{key:"delete",value:function(n){this.kvs.delete(Hie(n))}},{key:"map",value:function(n){return Wo(this.kvs.entries()).map(function(o){var i=on(o,2),r=i[0],a=i[1],l=r.split(V_e);return n({key:l.map(function(s){var c=s.match(/^([^:]*):(.*)$/),u=on(c,3),d=u[1],f=u[2];return d==="number"?Number(f):f}),value:a})})}},{key:"toJSON",value:function(){var n={};return this.map(function(o){var i=o.key,r=o.value;return n[i.join(".")]=r,null}),n}}]),t}(),THt=["name"],PHt=gp(function t(e){var n=this;pp(this,t),_t(this,"formHooked",!1),_t(this,"forceRootUpdate",void 0),_t(this,"subscribable",!0),_t(this,"store",{}),_t(this,"fieldEntities",[]),_t(this,"initialValues",{}),_t(this,"callbacks",{}),_t(this,"validateMessages",null),_t(this,"preserve",null),_t(this,"lastValidatePromise",null),_t(this,"getForm",function(){return{getFieldValue:n.getFieldValue,getFieldsValue:n.getFieldsValue,getFieldError:n.getFieldError,getFieldWarning:n.getFieldWarning,getFieldsError:n.getFieldsError,isFieldsTouched:n.isFieldsTouched,isFieldTouched:n.isFieldTouched,isFieldValidating:n.isFieldValidating,isFieldsValidating:n.isFieldsValidating,resetFields:n.resetFields,setFields:n.setFields,setFieldValue:n.setFieldValue,setFieldsValue:n.setFieldsValue,validateFields:n.validateFields,submit:n.submit,_init:!0,getInternalHooks:n.getInternalHooks}}),_t(this,"getInternalHooks",function(o){return o===kv?(n.formHooked=!0,{dispatch:n.dispatch,initEntityValue:n.initEntityValue,registerField:n.registerField,useSubscribe:n.useSubscribe,setInitialValues:n.setInitialValues,destroyForm:n.destroyForm,setCallbacks:n.setCallbacks,setValidateMessages:n.setValidateMessages,getFields:n.getFields,setPreserve:n.setPreserve,getInitialValue:n.getInitialValue,registerWatch:n.registerWatch}):(U0(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),_t(this,"useSubscribe",function(o){n.subscribable=o}),_t(this,"prevWithoutPreserves",null),_t(this,"setInitialValues",function(o,i){if(n.initialValues=o||{},i){var r,a=pD(o,n.store);(r=n.prevWithoutPreserves)===null||r===void 0||r.map(function(l){var s=l.key;a=i2(a,s,dg(o,s))}),n.prevWithoutPreserves=null,n.updateStore(a)}}),_t(this,"destroyForm",function(){var o=new xT;n.getFieldEntities(!0).forEach(function(i){n.isMergedPreserve(i.isPreserve())||o.set(i.getNamePath(),!0)}),n.prevWithoutPreserves=o}),_t(this,"getInitialValue",function(o){var i=dg(n.initialValues,o);return o.length?pD(i):i}),_t(this,"setCallbacks",function(o){n.callbacks=o}),_t(this,"setValidateMessages",function(o){n.validateMessages=o}),_t(this,"setPreserve",function(o){n.preserve=o}),_t(this,"watchList",[]),_t(this,"registerWatch",function(o){return n.watchList.push(o),function(){n.watchList=n.watchList.filter(function(i){return i!==o})}}),_t(this,"notifyWatch",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(n.watchList.length){var i=n.getFieldsValue(),r=n.getFieldsValue(!0);n.watchList.forEach(function(a){a(i,r,o)})}}),_t(this,"timeoutId",null),_t(this,"warningUnhooked",function(){}),_t(this,"updateStore",function(o){n.store=o}),_t(this,"getFieldEntities",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return o?n.fieldEntities.filter(function(i){return i.getNamePath().length}):n.fieldEntities}),_t(this,"getFieldsMap",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=new xT;return n.getFieldEntities(o).forEach(function(r){var a=r.getNamePath();i.set(a,r)}),i}),_t(this,"getFieldEntitiesForNamePathList",function(o){if(!o)return n.getFieldEntities(!0);var i=n.getFieldsMap(!0);return o.map(function(r){var a=D0(r);return i.get(a)||{INVALIDATE_NAME_PATH:D0(r)}})}),_t(this,"getFieldsValue",function(o,i){n.warningUnhooked();var r,a,l;if(o===!0||Array.isArray(o)?(r=o,a=i):o&&gr(o)==="object"&&(l=o.strict,a=o.filter),r===!0&&!a)return n.store;var s=n.getFieldEntitiesForNamePathList(Array.isArray(r)?r:null),c=[];return s.forEach(function(u){var d,f,p="INVALIDATE_NAME_PATH"in u?u.INVALIDATE_NAME_PATH:u.getNamePath();if(l){var g,y;if((g=(y=u).isList)!==null&&g!==void 0&&g.call(y))return}else if(!r&&(d=(f=u).isListField)!==null&&d!==void 0&&d.call(f))return;if(!a)c.push(p);else{var A="getMeta"in u?u.getMeta():null;a(A)&&c.push(p)}}),H8e(n.store,c.map(D0))}),_t(this,"getFieldValue",function(o){n.warningUnhooked();var i=D0(o);return dg(n.store,i)}),_t(this,"getFieldsError",function(o){n.warningUnhooked();var i=n.getFieldEntitiesForNamePathList(o);return i.map(function(r,a){return r&&!("INVALIDATE_NAME_PATH"in r)?{name:r.getNamePath(),errors:r.getErrors(),warnings:r.getWarnings()}:{name:D0(o[a]),errors:[],warnings:[]}})}),_t(this,"getFieldError",function(o){n.warningUnhooked();var i=D0(o),r=n.getFieldsError([i])[0];return r.errors}),_t(this,"getFieldWarning",function(o){n.warningUnhooked();var i=D0(o),r=n.getFieldsError([i])[0];return r.warnings}),_t(this,"isFieldsTouched",function(){n.warningUnhooked();for(var o=arguments.length,i=new Array(o),r=0;r0&&arguments[0]!==void 0?arguments[0]:{},i=new xT,r=n.getFieldEntities(!0);r.forEach(function(s){var c=s.props.initialValue,u=s.getNamePath();if(c!==void 0){var d=i.get(u)||new Set;d.add({entity:s,value:c}),i.set(u,d)}});var a=function(c){c.forEach(function(u){var d=u.props.initialValue;if(d!==void 0){var f=u.getNamePath(),p=n.getInitialValue(f);if(p!==void 0)U0(!1,"Form already set 'initialValues' with path '".concat(f.join("."),"'. Field can not overwrite it."));else{var g=i.get(f);if(g&&g.size>1)U0(!1,"Multiple Field with path '".concat(f.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(g){var y=n.getFieldValue(f),A=u.isListField();!A&&(!o.skipExist||y===void 0)&&n.updateStore(i2(n.store,f,Wo(g)[0].value))}}}})},l;o.entities?l=o.entities:o.namePathList?(l=[],o.namePathList.forEach(function(s){var c=i.get(s);if(c){var u;(u=l).push.apply(u,Wo(Wo(c).map(function(d){return d.entity})))}})):l=r,a(l)}),_t(this,"resetFields",function(o){n.warningUnhooked();var i=n.store;if(!o){n.updateStore(pD(n.initialValues)),n.resetWithFieldInitialValue(),n.notifyObservers(i,null,{type:"reset"}),n.notifyWatch();return}var r=o.map(D0);r.forEach(function(a){var l=n.getInitialValue(a);n.updateStore(i2(n.store,a,l))}),n.resetWithFieldInitialValue({namePathList:r}),n.notifyObservers(i,r,{type:"reset"}),n.notifyWatch(r)}),_t(this,"setFields",function(o){n.warningUnhooked();var i=n.store,r=[];o.forEach(function(a){var l=a.name,s=ir(a,THt),c=D0(l);r.push(c),"value"in s&&n.updateStore(i2(n.store,c,s.value)),n.notifyObservers(i,[c],{type:"setField",data:a})}),n.notifyWatch(r)}),_t(this,"getFields",function(){var o=n.getFieldEntities(!0),i=o.map(function(r){var a=r.getNamePath(),l=r.getMeta(),s=$t($t({},l),{},{name:a,value:n.getFieldValue(a)});return Object.defineProperty(s,"originRCField",{value:!0}),s});return i}),_t(this,"initEntityValue",function(o){var i=o.props.initialValue;if(i!==void 0){var r=o.getNamePath(),a=dg(n.store,r);a===void 0&&n.updateStore(i2(n.store,r,i))}}),_t(this,"isMergedPreserve",function(o){var i=o!==void 0?o:n.preserve;return i??!0}),_t(this,"registerField",function(o){n.fieldEntities.push(o);var i=o.getNamePath();if(n.notifyWatch([i]),o.props.initialValue!==void 0){var r=n.store;n.resetWithFieldInitialValue({entities:[o],skipExist:!0}),n.notifyObservers(r,[o.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(a,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(n.fieldEntities=n.fieldEntities.filter(function(d){return d!==o}),!n.isMergedPreserve(l)&&(!a||s.length>1)){var c=a?void 0:n.getInitialValue(i);if(i.length&&n.getFieldValue(i)!==c&&n.fieldEntities.every(function(d){return!O_e(d.getNamePath(),i)})){var u=n.store;n.updateStore(i2(u,i,c,!0)),n.notifyObservers(u,[i],{type:"remove"}),n.triggerDependenciesUpdate(u,i)}}n.notifyWatch([i])}}),_t(this,"dispatch",function(o){switch(o.type){case"updateValue":{var i=o.namePath,r=o.value;n.updateValue(i,r);break}case"validateField":{var a=o.namePath,l=o.triggerName;n.validateFields([a],{triggerName:l});break}}}),_t(this,"notifyObservers",function(o,i,r){if(n.subscribable){var a=$t($t({},r),{},{store:n.getFieldsValue(!0)});n.getFieldEntities().forEach(function(l){var s=l.onStoreChange;s(o,i,a)})}else n.forceRootUpdate()}),_t(this,"triggerDependenciesUpdate",function(o,i){var r=n.getDependencyChildrenFields(i);return r.length&&n.validateFields(r),n.notifyObservers(o,r,{type:"dependenciesUpdate",relatedFields:[i].concat(Wo(r))}),r}),_t(this,"updateValue",function(o,i){var r=D0(o),a=n.store;n.updateStore(i2(n.store,r,i)),n.notifyObservers(a,[r],{type:"valueUpdate",source:"internal"}),n.notifyWatch([r]);var l=n.triggerDependenciesUpdate(a,r),s=n.callbacks.onValuesChange;if(s){var c=H8e(n.store,[r]);s(c,n.getFieldsValue())}n.triggerOnFieldsChange([r].concat(Wo(l)))}),_t(this,"setFieldsValue",function(o){n.warningUnhooked();var i=n.store;if(o){var r=pD(n.store,o);n.updateStore(r)}n.notifyObservers(i,null,{type:"valueUpdate",source:"external"}),n.notifyWatch()}),_t(this,"setFieldValue",function(o,i){n.setFields([{name:o,value:i}])}),_t(this,"getDependencyChildrenFields",function(o){var i=new Set,r=[],a=new xT;n.getFieldEntities().forEach(function(s){var c=s.props.dependencies;(c||[]).forEach(function(u){var d=D0(u);a.update(d,function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Set;return f.add(s),f})})});var l=function s(c){var u=a.get(c)||new Set;u.forEach(function(d){if(!i.has(d)){i.add(d);var f=d.getNamePath();d.isFieldDirty()&&f.length&&(r.push(f),s(f))}})};return l(o),r}),_t(this,"triggerOnFieldsChange",function(o,i){var r=n.callbacks.onFieldsChange;if(r){var a=n.getFields();if(i){var l=new xT;i.forEach(function(c){var u=c.name,d=c.errors;l.set(u,d)}),a.forEach(function(c){c.errors=l.get(c.name)||c.errors})}var s=a.filter(function(c){var u=c.name;return yC(o,u)});s.length&&r(s,a)}}),_t(this,"validateFields",function(o,i){n.warningUnhooked();var r,a;Array.isArray(o)||typeof o=="string"||typeof i=="string"?(r=o,a=i):a=o;var l=!!r,s=l?r.map(D0):[],c=[],u=String(Date.now()),d=new Set,f=a||{},p=f.recursive,g=f.dirty;n.getFieldEntities(!0).forEach(function(C){if(l||s.push(C.getNamePath()),!(!C.props.rules||!C.props.rules.length)&&!(g&&!C.isFieldDirty())){var b=C.getNamePath();if(d.add(b.join(u)),!l||yC(s,b,p)){var v=C.validateRules($t({validateMessages:$t($t({},B_e),n.validateMessages)},a));c.push(v.then(function(){return{name:b,errors:[],warnings:[]}}).catch(function(S){var w,T=[],P=[];return(w=S.forEach)===null||w===void 0||w.call(S,function(R){var H=R.rule.warningOnly,D=R.errors;H?P.push.apply(P,Wo(D)):T.push.apply(T,Wo(D))}),T.length?Promise.reject({name:b,errors:T,warnings:P}):{name:b,errors:T,warnings:P}}))}}});var y=SHt(c);n.lastValidatePromise=y,y.catch(function(C){return C}).then(function(C){var b=C.map(function(v){var S=v.name;return S});n.notifyObservers(n.store,b,{type:"validateFinish"}),n.triggerOnFieldsChange(b,C)});var A=y.then(function(){return n.lastValidatePromise===y?Promise.resolve(n.getFieldsValue(s)):Promise.reject([])}).catch(function(C){var b=C.filter(function(v){return v&&v.errors.length});return Promise.reject({values:n.getFieldsValue(s),errorFields:b,outOfDate:n.lastValidatePromise!==y})});A.catch(function(C){return C});var x=s.filter(function(C){return d.has(C.join(u))});return n.triggerOnFieldsChange(x),A}),_t(this,"submit",function(){n.warningUnhooked(),n.validateFields().then(function(o){var i=n.callbacks.onFinish;if(i)try{i(o)}catch(r){console.error(r)}}).catch(function(o){var i=n.callbacks.onFinishFailed;i&&i(o)})}),this.forceRootUpdate=e});function G_e(t){var e=m.useRef(),n=m.useState({}),o=on(n,2),i=o[1];if(!e.current)if(t)e.current=t;else{var r=function(){i({})},a=new PHt(r);e.current=a.getForm()}return[e.current]}var m0e=m.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),CHt=function(e){var n=e.validateMessages,o=e.onFormChange,i=e.onFormFinish,r=e.children,a=m.useContext(m0e),l=m.useRef({});return m.createElement(m0e.Provider,{value:$t($t({},a),{},{validateMessages:$t($t({},a.validateMessages),n),triggerFormChange:function(c,u){o&&o(c,{changedFields:u,forms:l.current}),a.triggerFormChange(c,u)},triggerFormFinish:function(c,u){i&&i(c,{values:u,forms:l.current}),a.triggerFormFinish(c,u)},registerForm:function(c,u){c&&(l.current=$t($t({},l.current),{},_t({},c,u))),a.registerForm(c,u)},unregisterForm:function(c){var u=$t({},l.current);delete u[c],l.current=u,a.unregisterForm(c)}})},r)},RHt=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"],HHt=function(e,n){var o=e.name,i=e.initialValues,r=e.fields,a=e.form,l=e.preserve,s=e.children,c=e.component,u=c===void 0?"form":c,d=e.validateMessages,f=e.validateTrigger,p=f===void 0?"onChange":f,g=e.onValuesChange,y=e.onFieldsChange,A=e.onFinish,x=e.onFinishFailed,C=ir(e,RHt),b=m.useContext(m0e),v=G_e(a),S=on(v,1),w=S[0],T=w.getInternalHooks(kv),P=T.useSubscribe,R=T.setInitialValues,H=T.setCallbacks,D=T.setValidateMessages,E=T.setPreserve,L=T.destroyForm;m.useImperativeHandle(n,function(){return w}),m.useEffect(function(){return b.registerForm(o,w),function(){b.unregisterForm(o)}},[b,w,o]),D($t($t({},b.validateMessages),d)),H({onValuesChange:g,onFieldsChange:function(_){if(b.triggerFormChange(o,_),y){for(var J=arguments.length,Q=new Array(J>1?J-1:0),ee=1;ee{let{children:e,status:n,override:o}=t;const i=m.useContext($p),r=m.useMemo(()=>{const a=Object.assign({},i);return o&&delete a.isFormItemInput,n&&(delete a.status,delete a.hasFeedback,delete a.feedbackIcon),a},[n,o,i]);return m.createElement($p.Provider,{value:r},e)},zHt=m.createContext(void 0);function D8e(){}const DHt=m.createContext({add:D8e,remove:D8e});function X_e(t){const e=m.useContext(DHt),n=m.useRef();return O6(i=>{if(i){const r=t?i.querySelector(t):i;e.add(r),n.current=r}else e.remove(n.current)})}const E8e=()=>{const{cancelButtonProps:t,cancelTextLocale:e,onCancel:n}=m.useContext(xW);return Se.createElement(no,Object.assign({onClick:n},t),e)},k8e=()=>{const{confirmLoading:t,okButtonProps:e,okType:n,okTextLocale:o,onOk:i}=m.useContext(xW);return Se.createElement(no,Object.assign({},x_e(n),{loading:t,onClick:i},e),o)};function J_e(t,e){return Se.createElement("span",{className:`${t}-close-x`},e||Se.createElement(E7,{className:`${t}-close-icon`}))}const K_e=t=>{const{okText:e,okType:n="primary",cancelText:o,confirmLoading:i,onOk:r,onCancel:a,okButtonProps:l,cancelButtonProps:s,footer:c}=t,[u]=D7("Modal",lOe()),d=e||(u==null?void 0:u.okText),f=o||(u==null?void 0:u.cancelText),p={confirmLoading:i,okButtonProps:l,cancelButtonProps:s,okTextLocale:d,cancelTextLocale:f,okType:n,onOk:r,onCancel:a},g=Se.useMemo(()=>p,Xa(Object.values(p)));let y;return typeof c=="function"||typeof c>"u"?(y=Se.createElement(Se.Fragment,null,Se.createElement(E8e,null),Se.createElement(k8e,null)),typeof c=="function"&&(y=c(y,{OkBtn:k8e,CancelBtn:E8e})),y=Se.createElement(H_e,{value:g},y)):y=c,Se.createElement(mOe,{disabled:!1},y)},$ge=t=>({[t.componentCls]:{[`${t.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${t.motionDurationMid} ${t.motionEaseInOut}, +}`),i)}else sG(i);return function(){sG(i)}},[e,i])}var hRt=!1;function pRt(t){return hRt}var c8e=function(e){return e===!1?!1:!sp()||!e?null:typeof e=="string"?document.querySelector(e):typeof e=="function"?e():e},u$=m.forwardRef(function(t,e){var n=t.open,o=t.autoLock,i=t.getContainer;t.debug;var r=t.autoDestroy,a=r===void 0?!0:r,l=t.children,s=m.useState(n),c=on(s,2),u=c[0],d=c[1],f=u||n;m.useEffect(function(){(a||n)&&d(n)},[n,a]);var p=m.useState(function(){return c8e(i)}),g=on(p,2),y=g[0],A=g[1];m.useEffect(function(){var D=c8e(i);A(D??null)});var x=cRt(f&&!y),C=on(x,2),b=C[0],v=C[1],S=y??b;fRt(o&&n&&sp()&&(S===b||S===document.body));var w=null;if(l&&Zw(l)&&e){var T=l;w=T.ref}var P=z7(w,e);if(!f||!sp()||y===void 0)return null;var R=S===!1||pRt(),H=l;return e&&(H=m.cloneElement(l,{ref:P})),m.createElement(M_e.Provider,{value:v},R?H:Sd.createPortal(H,S))}),I_e=m.createContext({});function gRt(){var t=$t({},oK);return t.useId}var u8e=0,d8e=gRt();const z_e=d8e?function(e){var n=d8e();return e||n}:function(e){var n=m.useState("ssr-id"),o=on(n,2),i=o[0],r=o[1];return m.useEffect(function(){var a=u8e;u8e+=1,r("rc_unique_".concat(a))},[]),e||i};function f8e(t,e,n){var o=e;return!o&&n&&(o="".concat(t,"-").concat(n)),o}function h8e(t,e){var n=t["page".concat(e?"Y":"X","Offset")],o="scroll".concat(e?"Top":"Left");if(typeof n!="number"){var i=t.document;n=i.documentElement[o],typeof n!="number"&&(n=i.body[o])}return n}function mRt(t){var e=t.getBoundingClientRect(),n={left:e.left,top:e.top},o=t.ownerDocument,i=o.defaultView||o.parentWindow;return n.left+=h8e(i),n.top+=h8e(i,!0),n}const yRt=m.memo(function(t){var e=t.children;return e},function(t,e){var n=e.shouldUpdate;return!n});var p8e={width:0,height:0,overflow:"hidden",outline:"none"},ARt={outline:"none"},D_e=Se.forwardRef(function(t,e){var n=t.prefixCls,o=t.className,i=t.style,r=t.title,a=t.ariaId,l=t.footer,s=t.closable,c=t.closeIcon,u=t.onClose,d=t.children,f=t.bodyStyle,p=t.bodyProps,g=t.modalRender,y=t.onMouseDown,A=t.onMouseUp,x=t.holderRef,C=t.visible,b=t.forceRender,v=t.width,S=t.height,w=t.classNames,T=t.styles,P=Se.useContext(I_e),R=P.panel,H=z7(x,R),D=m.useRef(),E=m.useRef(),L=m.useRef();Se.useImperativeHandle(e,function(){return{focus:function(){var _;(_=L.current)===null||_===void 0||_.focus()},changeActive:function(_){var J=document,Q=J.activeElement;_&&Q===E.current?D.current.focus():!_&&Q===D.current&&E.current.focus()}}});var U={};v!==void 0&&(U.width=v),S!==void 0&&(U.height=S);var F;l&&(F=Se.createElement("div",{className:Vn("".concat(n,"-footer"),w==null?void 0:w.footer),style:$t({},T==null?void 0:T.footer)},l));var W;r&&(W=Se.createElement("div",{className:Vn("".concat(n,"-header"),w==null?void 0:w.header),style:$t({},T==null?void 0:T.header)},Se.createElement("div",{className:"".concat(n,"-title"),id:a},r)));var B=m.useMemo(function(){return gr(s)==="object"&&s!==null?s:s?{closeIcon:c??Se.createElement("span",{className:"".concat(n,"-close-x")})}:{}},[s,c]),k=gf(B,!0),N;s&&(N=Se.createElement("button",so({type:"button",onClick:u,"aria-label":"Close"},k,{className:"".concat(n,"-close")}),B.closeIcon));var j=Se.createElement("div",{className:Vn("".concat(n,"-content"),w==null?void 0:w.content),style:T==null?void 0:T.content},N,W,Se.createElement("div",so({className:Vn("".concat(n,"-body"),w==null?void 0:w.body),style:$t($t({},f),T==null?void 0:T.body)},p),d),F);return Se.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":r?a:null,"aria-modal":"true",ref:H,style:$t($t({},i),U),className:Vn(n,o),onMouseDown:y,onMouseUp:A},Se.createElement("div",{tabIndex:0,ref:D,style:p8e,"aria-hidden":"true"}),Se.createElement("div",{ref:L,tabIndex:-1,style:ARt},Se.createElement(yRt,{shouldUpdate:C||b},g?g(j):j)),Se.createElement("div",{tabIndex:0,ref:E,style:p8e,"aria-hidden":"true"}))}),E_e=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.title,i=t.style,r=t.className,a=t.visible,l=t.forceRender,s=t.destroyOnClose,c=t.motionName,u=t.ariaId,d=t.onVisibleChanged,f=t.mousePosition,p=m.useRef(),g=m.useState(),y=on(g,2),A=y[0],x=y[1],C={};A&&(C.transformOrigin=A);function b(){var v=mRt(p.current);x(f?"".concat(f.x-v.left,"px ").concat(f.y-v.top,"px"):"")}return m.createElement(Cg,{visible:a,onVisibleChanged:d,onAppearPrepare:b,onEnterPrepare:b,forceRender:l,motionName:c,removeOnLeave:s,ref:p},function(v,S){var w=v.className,T=v.style;return m.createElement(D_e,so({},t,{ref:e,title:o,ariaId:u,prefixCls:n,holderRef:S,style:$t($t($t({},T),i),C),className:Vn(r,w)}))})});E_e.displayName="Content";function wRt(t){var e=t.prefixCls,n=t.style,o=t.visible,i=t.maskProps,r=t.motionName,a=t.className;return m.createElement(Cg,{key:"mask",visible:o,motionName:r,leavedClassName:"".concat(e,"-mask-hidden")},function(l,s){var c=l.className,u=l.style;return m.createElement("div",so({ref:s,style:$t($t({},u),n),className:Vn("".concat(e,"-mask"),c,a)},i))})}function vRt(t){var e=t.prefixCls,n=e===void 0?"rc-dialog":e,o=t.zIndex,i=t.visible,r=i===void 0?!1:i,a=t.keyboard,l=a===void 0?!0:a,s=t.focusTriggerAfterClose,c=s===void 0?!0:s,u=t.wrapStyle,d=t.wrapClassName,f=t.wrapProps,p=t.onClose,g=t.afterOpenChange,y=t.afterClose,A=t.transitionName,x=t.animation,C=t.closable,b=C===void 0?!0:C,v=t.mask,S=v===void 0?!0:v,w=t.maskTransitionName,T=t.maskAnimation,P=t.maskClosable,R=P===void 0?!0:P,H=t.maskStyle,D=t.maskProps,E=t.rootClassName,L=t.classNames,U=t.styles,F=m.useRef(),W=m.useRef(),B=m.useRef(),k=m.useState(r),N=on(k,2),j=N[0],Y=N[1],_=z_e();function J(){Rce(W.current,document.activeElement)||(F.current=document.activeElement)}function Q(){if(!Rce(W.current,document.activeElement)){var he;(he=B.current)===null||he===void 0||he.focus()}}function ee(he){if(he)Q();else{if(Y(!1),S&&F.current&&c){try{F.current.focus({preventScroll:!0})}catch{}F.current=null}j&&(y==null||y())}g==null||g(he)}function $(he){p==null||p(he)}var q=m.useRef(!1),le=m.useRef(),ie=function(){clearTimeout(le.current),q.current=!0},pe=function(){le.current=setTimeout(function(){q.current=!1})},ne=null;R&&(ne=function(fe){q.current?q.current=!1:W.current===fe.target&&$(fe)});function Z(he){if(l&&he.keyCode===Bn.ESC){he.stopPropagation(),$(he);return}r&&he.keyCode===Bn.TAB&&B.current.changeActive(!he.shiftKey)}return m.useEffect(function(){r&&(Y(!0),J())},[r]),m.useEffect(function(){return function(){clearTimeout(le.current)}},[]),m.createElement("div",so({className:Vn("".concat(n,"-root"),E)},gf(t,{data:!0})),m.createElement(wRt,{prefixCls:n,visible:S&&r,motionName:f8e(n,w,T),style:$t($t({zIndex:o},H),U==null?void 0:U.mask),maskProps:D,className:L==null?void 0:L.mask}),m.createElement("div",so({tabIndex:-1,onKeyDown:Z,className:Vn("".concat(n,"-wrap"),d,L==null?void 0:L.wrapper),ref:W,onClick:ne,style:$t($t($t({zIndex:o},u),U==null?void 0:U.wrapper),{},{display:j?null:"none"})},f),m.createElement(E_e,so({},t,{onMouseDown:ie,onMouseUp:pe,ref:B,closable:b,ariaId:_,prefixCls:n,visible:r&&j,onClose:$,onVisibleChanged:ee,motionName:f8e(n,A,x)}))))}var k_e=function(e){var n=e.visible,o=e.getContainer,i=e.forceRender,r=e.destroyOnClose,a=r===void 0?!1:r,l=e.afterClose,s=e.panelRef,c=m.useState(n),u=on(c,2),d=u[0],f=u[1],p=m.useMemo(function(){return{panel:s}},[s]);return m.useEffect(function(){n&&f(!0)},[n]),!i&&a&&!d?null:m.createElement(I_e.Provider,{value:p},m.createElement(u$,{open:n||i||d,autoDestroy:!1,getContainer:o,autoLock:n||d},m.createElement(vRt,so({},e,{destroyOnClose:a,afterClose:function(){l==null||l(),f(!1)}}))))};k_e.displayName="Dialog";function oR(t){if(t)return{closable:t.closable,closeIcon:t.closeIcon}}function g8e(t){const{closable:e,closeIcon:n}=t||{};return Se.useMemo(()=>{if(!e&&(e===!1||n===!1||n===null))return!1;if(e===void 0&&n===void 0)return null;let o={closeIcon:typeof n!="boolean"&&n!==null?n:void 0};return e&&typeof e=="object"&&(o=Object.assign(Object.assign({},o),e)),o},[e,n])}function m8e(){const t={};for(var e=arguments.length,n=new Array(e),o=0;o{i&&Object.keys(i).forEach(r=>{i[r]!==void 0&&(t[r]=i[r])})}),t}const xRt={};function Jge(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xRt;const o=g8e(t),i=g8e(e),r=Se.useMemo(()=>Object.assign({closeIcon:Se.createElement(E7,null)},n),[n]),a=Se.useMemo(()=>o===!1?!1:o?m8e(r,i,o):i===!1?!1:i?m8e(r,i):r.closable?r:!1,[o,i,r]);return Se.useMemo(()=>{if(a===!1)return[!1,null];const{closeIconRender:l}=r,{closeIcon:s}=a;let c=s;if(c!=null){l&&(c=l(s));const u=jge(a,!0);Object.keys(u).length&&(c=Se.isValidElement(c)?Se.cloneElement(c,u):Se.createElement("span",Object.assign({},u),c))}return[!0,c]},[a,r])}var F_e=function(e){if(gW()&&window.document.documentElement){var n=Array.isArray(e)?e:[e],o=window.document.documentElement;return n.some(function(i){return i in o.style})}return!1},bRt=function(e,n){if(!F_e(e))return!1;var o=document.createElement("div"),i=o.style[e];return o.style[e]=n,o.style[e]!==i};function y8e(t,e){return!Array.isArray(t)&&e!==void 0?bRt(t,e):F_e(t)}const SRt=()=>gW()&&window.document.documentElement;function N2(){N2=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(W,B,k){W[B]=k.value},r=typeof Symbol=="function"?Symbol:{},a=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(W,B,k){return Object.defineProperty(W,B,{value:k,enumerable:!0,configurable:!0,writable:!0}),W[B]}try{c({},"")}catch{c=function(k,N,j){return k[N]=j}}function u(W,B,k,N){var j=B&&B.prototype instanceof x?B:x,Y=Object.create(j.prototype),_=new U(N||[]);return i(Y,"_invoke",{value:H(W,k,_)}),Y}function d(W,B,k){try{return{type:"normal",arg:W.call(B,k)}}catch(N){return{type:"throw",arg:N}}}e.wrap=u;var f="suspendedStart",p="suspendedYield",g="executing",y="completed",A={};function x(){}function C(){}function b(){}var v={};c(v,a,function(){return this});var S=Object.getPrototypeOf,w=S&&S(S(F([])));w&&w!==n&&o.call(w,a)&&(v=w);var T=b.prototype=x.prototype=Object.create(v);function P(W){["next","throw","return"].forEach(function(B){c(W,B,function(k){return this._invoke(B,k)})})}function R(W,B){function k(j,Y,_,J){var Q=d(W[j],W,Y);if(Q.type!=="throw"){var ee=Q.arg,$=ee.value;return $&&gr($)=="object"&&o.call($,"__await")?B.resolve($.__await).then(function(q){k("next",q,_,J)},function(q){k("throw",q,_,J)}):B.resolve($).then(function(q){ee.value=q,_(ee)},function(q){return k("throw",q,_,J)})}J(Q.arg)}var N;i(this,"_invoke",{value:function(Y,_){function J(){return new B(function(Q,ee){k(Y,_,Q,ee)})}return N=N?N.then(J,J):J()}})}function H(W,B,k){var N=f;return function(j,Y){if(N===g)throw new Error("Generator is already running");if(N===y){if(j==="throw")throw Y;return{value:t,done:!0}}for(k.method=j,k.arg=Y;;){var _=k.delegate;if(_){var J=D(_,k);if(J){if(J===A)continue;return J}}if(k.method==="next")k.sent=k._sent=k.arg;else if(k.method==="throw"){if(N===f)throw N=y,k.arg;k.dispatchException(k.arg)}else k.method==="return"&&k.abrupt("return",k.arg);N=g;var Q=d(W,B,k);if(Q.type==="normal"){if(N=k.done?y:p,Q.arg===A)continue;return{value:Q.arg,done:k.done}}Q.type==="throw"&&(N=y,k.method="throw",k.arg=Q.arg)}}}function D(W,B){var k=B.method,N=W.iterator[k];if(N===t)return B.delegate=null,k==="throw"&&W.iterator.return&&(B.method="return",B.arg=t,D(W,B),B.method==="throw")||k!=="return"&&(B.method="throw",B.arg=new TypeError("The iterator does not provide a '"+k+"' method")),A;var j=d(N,W.iterator,B.arg);if(j.type==="throw")return B.method="throw",B.arg=j.arg,B.delegate=null,A;var Y=j.arg;return Y?Y.done?(B[W.resultName]=Y.value,B.next=W.nextLoc,B.method!=="return"&&(B.method="next",B.arg=t),B.delegate=null,A):Y:(B.method="throw",B.arg=new TypeError("iterator result is not an object"),B.delegate=null,A)}function E(W){var B={tryLoc:W[0]};1 in W&&(B.catchLoc=W[1]),2 in W&&(B.finallyLoc=W[2],B.afterLoc=W[3]),this.tryEntries.push(B)}function L(W){var B=W.completion||{};B.type="normal",delete B.arg,W.completion=B}function U(W){this.tryEntries=[{tryLoc:"root"}],W.forEach(E,this),this.reset(!0)}function F(W){if(W||W===""){var B=W[a];if(B)return B.call(W);if(typeof W.next=="function")return W;if(!isNaN(W.length)){var k=-1,N=function j(){for(;++k=0;--j){var Y=this.tryEntries[j],_=Y.completion;if(Y.tryLoc==="root")return N("end");if(Y.tryLoc<=this.prev){var J=o.call(Y,"catchLoc"),Q=o.call(Y,"finallyLoc");if(J&&Q){if(this.prev=0;--N){var j=this.tryEntries[N];if(j.tryLoc<=this.prev&&o.call(j,"finallyLoc")&&this.prev=0;--k){var N=this.tryEntries[k];if(N.finallyLoc===B)return this.complete(N.completion,N.afterLoc),L(N),A}},catch:function(B){for(var k=this.tryEntries.length-1;k>=0;--k){var N=this.tryEntries[k];if(N.tryLoc===B){var j=N.completion;if(j.type==="throw"){var Y=j.arg;L(N)}return Y}}throw new Error("illegal catch attempt")},delegateYield:function(B,k,N){return this.delegate={iterator:F(B),resultName:k,nextLoc:N},this.method==="next"&&(this.arg=t),A}},e}function A8e(t,e,n,o,i,r,a){try{var l=t[r](a),s=l.value}catch(c){n(c);return}l.done?e(s):Promise.resolve(s).then(o,i)}function bW(t){return function(){var e=this,n=arguments;return new Promise(function(o,i){var r=t.apply(e,n);function a(s){A8e(r,o,i,a,l,"next",s)}function l(s){A8e(r,o,i,a,l,"throw",s)}a(void 0)})}}var kv="RC_FORM_INTERNAL_HOOKS",ms=function(){U0(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},iR=m.createContext({getFieldValue:ms,getFieldsValue:ms,getFieldError:ms,getFieldWarning:ms,getFieldsError:ms,isFieldsTouched:ms,isFieldTouched:ms,isFieldValidating:ms,isFieldsValidating:ms,resetFields:ms,setFields:ms,setFieldValue:ms,setFieldsValue:ms,validateFields:ms,submit:ms,getInternalHooks:function(){return ms(),{dispatch:ms,initEntityValue:ms,registerField:ms,useSubscribe:ms,setInitialValues:ms,destroyForm:ms,setCallbacks:ms,registerWatch:ms,getFields:ms,setValidateMessages:ms,setPreserve:ms,getInitialValue:ms}}}),AG=m.createContext(null);function r0e(t){return t==null?[]:Array.isArray(t)?t:[t]}function TRt(t){return t&&!!t._init}function ep(t){"@babel/helpers - typeof";return ep=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ep(t)}function PRt(t,e){if(ep(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(ep(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function L_e(t){var e=PRt(t,"string");return ep(e)=="symbol"?e:e+""}function X6(t,e,n){return e=L_e(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function w8e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Y4(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1?e-1:0),o=1;o=r)return l;switch(l){case"%s":return String(n[i++]);case"%d":return Number(n[i++]);case"%j":try{return JSON.stringify(n[i++])}catch{return"[Circular]"}break;default:return l}});return a}return t}function NRt(t){return t==="string"||t==="url"||t==="hex"||t==="email"||t==="date"||t==="pattern"}function uu(t,e){return!!(t==null||e==="array"&&Array.isArray(t)&&!t.length||NRt(e)&&typeof t=="string"&&!t)}function URt(t,e,n){var o=[],i=0,r=t.length;function a(l){o.push.apply(o,GP(l||[])),i++,i===r&&n(o)}t.forEach(function(l){e(l,a)})}function v8e(t,e,n){var o=0,i=t.length;function r(a){if(a&&a.length){n(a);return}var l=o;o=o+1,le.max?i.push(dg(r.messages[d].max,e.fullField,e.max)):l&&s&&(ue.max)&&i.push(dg(r.messages[d].range,e.fullField,e.min,e.max))},U_e=function(e,n,o,i,r,a){e.required&&(!o.hasOwnProperty(e.field)||uu(n,a||e.type))&&i.push(dg(r.messages.required,e.fullField))},fY;const XRt=function(){if(fY)return fY;var t="[a-fA-F\\d:]",e=function(w){return w&&w.includeBoundaries?"(?:(?<=\\s|^)(?=".concat(t,")|(?<=").concat(t,")(?=\\s|$))"):""},n="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",o="[a-fA-F\\d]{1,4}",i=["(?:".concat(o,":){7}(?:").concat(o,"|:)"),"(?:".concat(o,":){6}(?:").concat(n,"|:").concat(o,"|:)"),"(?:".concat(o,":){5}(?::").concat(n,"|(?::").concat(o,"){1,2}|:)"),"(?:".concat(o,":){4}(?:(?::").concat(o,"){0,1}:").concat(n,"|(?::").concat(o,"){1,3}|:)"),"(?:".concat(o,":){3}(?:(?::").concat(o,"){0,2}:").concat(n,"|(?::").concat(o,"){1,4}|:)"),"(?:".concat(o,":){2}(?:(?::").concat(o,"){0,3}:").concat(n,"|(?::").concat(o,"){1,5}|:)"),"(?:".concat(o,":){1}(?:(?::").concat(o,"){0,4}:").concat(n,"|(?::").concat(o,"){1,6}|:)"),"(?::(?:(?::".concat(o,"){0,5}:").concat(n,"|(?::").concat(o,"){1,7}|:))")],r="(?:%[0-9a-zA-Z]{1,})?",a="(?:".concat(i.join("|"),")").concat(r),l=new RegExp("(?:^".concat(n,"$)|(?:^").concat(a,"$)")),s=new RegExp("^".concat(n,"$")),c=new RegExp("^".concat(a,"$")),u=function(w){return w&&w.exact?l:new RegExp("(?:".concat(e(w)).concat(n).concat(e(w),")|(?:").concat(e(w)).concat(a).concat(e(w),")"),"g")};u.v4=function(S){return S&&S.exact?s:new RegExp("".concat(e(S)).concat(n).concat(e(S)),"g")},u.v6=function(S){return S&&S.exact?c:new RegExp("".concat(e(S)).concat(a).concat(e(S)),"g")};var d="(?:(?:[a-z]+:)?//)",f="(?:\\S+(?::\\S*)?@)?",p=u.v4().source,g=u.v6().source,y="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",A="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",x="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",C="(?::\\d{2,5})?",b='(?:[/?#][^\\s"]*)?',v="(?:".concat(d,"|www\\.)").concat(f,"(?:localhost|").concat(p,"|").concat(g,"|").concat(y).concat(A).concat(x,")").concat(C).concat(b);return fY=new RegExp("(?:^".concat(v,"$)"),"i"),fY};var T8e={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},hD={integer:function(e){return hD.number(e)&&parseInt(e,10)===e},float:function(e){return hD.number(e)&&!hD.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return ep(e)==="object"&&!hD.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&e.length<=320&&!!e.match(T8e.email)},url:function(e){return typeof e=="string"&&e.length<=2048&&!!e.match(XRt())},hex:function(e){return typeof e=="string"&&!!e.match(T8e.hex)}},JRt=function(e,n,o,i,r){if(e.required&&n===void 0){U_e(e,n,o,i,r);return}var a=["integer","float","array","regexp","object","method","email","number","date","url","hex"],l=e.type;a.indexOf(l)>-1?hD[l](n)||i.push(dg(r.messages.types[l],e.fullField,e.type)):l&&ep(n)!==e.type&&i.push(dg(r.messages.types[l],e.fullField,e.type))},KRt=function(e,n,o,i,r){(/^\s+$/.test(n)||n==="")&&i.push(dg(r.messages.whitespace,e.fullField))};const Ka={required:U_e,whitespace:KRt,type:JRt,range:GRt,enum:_Rt,pattern:VRt};var qRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r)}o(a)},$Rt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(n==null&&!e.required)return o();Ka.required(e,n,i,a,r,"array"),n!=null&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},QRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},ZRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"date")&&!e.required)return o();if(Ka.required(e,n,i,a,r),!uu(n,"date")){var s;n instanceof Date?s=n:s=new Date(n),Ka.type(e,s,i,a,r),s&&Ka.range(e,s.getTime(),i,a,r)}}o(a)},eHt="enum",tHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka[eHt](e,n,i,a,r)}o(a)},nHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},oHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},iHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},rHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(n===""&&(n=void 0),uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},aHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},lHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"string")&&!e.required)return o();Ka.required(e,n,i,a,r),uu(n,"string")||Ka.pattern(e,n,i,a,r)}o(a)},sHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),uu(n)||Ka.type(e,n,i,a,r)}o(a)},cHt=function(e,n,o,i,r){var a=[],l=Array.isArray(n)?"array":ep(n);Ka.required(e,n,i,a,r,l),o(a)},uHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"string")&&!e.required)return o();Ka.required(e,n,i,a,r,"string"),uu(n,"string")||(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r),Ka.pattern(e,n,i,a,r),e.whitespace===!0&&Ka.whitespace(e,n,i,a,r))}o(a)},Rie=function(e,n,o,i,r){var a=e.type,l=[],s=e.required||!e.required&&i.hasOwnProperty(e.field);if(s){if(uu(n,a)&&!e.required)return o();Ka.required(e,n,i,l,r,a),uu(n,a)||Ka.type(e,n,i,l,r)}o(l)};const sE={string:uHt,method:iHt,number:rHt,boolean:QRt,regexp:sHt,integer:oHt,float:nHt,array:$Rt,object:aHt,enum:tHt,pattern:lHt,date:ZRt,url:Rie,hex:Rie,email:Rie,required:cHt,any:qRt};var SW=function(){function t(e){W_e(this,t),X6(this,"rules",null),X6(this,"_messages",s0e),this.define(e)}return N_e(t,[{key:"define",value:function(n){var o=this;if(!n)throw new Error("Cannot configure a schema with no rules");if(ep(n)!=="object"||Array.isArray(n))throw new Error("Rules must be an object");this.rules={},Object.keys(n).forEach(function(i){var r=n[i];o.rules[i]=Array.isArray(r)?r:[r]})}},{key:"messages",value:function(n){return n&&(this._messages=S8e(l0e(),n)),this._messages}},{key:"validate",value:function(n){var o=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},a=n,l=i,s=r;if(typeof l=="function"&&(s=l,l={}),!this.rules||Object.keys(this.rules).length===0)return s&&s(null,a),Promise.resolve(a);function c(g){var y=[],A={};function x(b){if(Array.isArray(b)){var v;y=(v=y).concat.apply(v,GP(b))}else y.push(b)}for(var C=0;C0&&arguments[0]!==void 0?arguments[0]:[],P=Array.isArray(T)?T:[T];!l.suppressWarning&&P.length&&t.warning("async-validator:",P),P.length&&A.message!==void 0&&(P=[].concat(A.message));var R=P.map(b8e(A,a));if(l.first&&R.length)return p[A.field]=1,y(R);if(!x)y(R);else{if(A.required&&!g.value)return A.message!==void 0?R=[].concat(A.message).map(b8e(A,a)):l.error&&(R=[l.error(A,dg(l.messages.required,A.field))]),y(R);var H={};A.defaultField&&Object.keys(g.value).map(function(L){H[L]=A.defaultField}),H=Y4(Y4({},H),g.rule.fields);var D={};Object.keys(H).forEach(function(L){var U=H[L],F=Array.isArray(U)?U:[U];D[L]=F.map(C.bind(null,L))});var E=new t(D);E.messages(l.messages),g.rule.options&&(g.rule.options.messages=l.messages,g.rule.options.error=l.error),E.validate(g.value,g.rule.options||l,function(L){var U=[];R&&R.length&&U.push.apply(U,GP(R)),L&&L.length&&U.push.apply(U,GP(L)),y(U.length?U:null)})}}var v;if(A.asyncValidator)v=A.asyncValidator(A,g.value,b,g.source,l);else if(A.validator){try{v=A.validator(A,g.value,b,g.source,l)}catch(T){var S,w;(S=(w=console).error)===null||S===void 0||S.call(w,T),l.suppressValidatorError||setTimeout(function(){throw T},0),b(T.message)}v===!0?b():v===!1?b(typeof A.message=="function"?A.message(A.fullField||A.field):A.message||"".concat(A.fullField||A.field," fails")):v instanceof Array?b(v):v instanceof Error&&b(v.message)}v&&v.then&&v.then(function(){return b()},function(T){return b(T)})},function(g){c(g)},a)}},{key:"getType",value:function(n){if(n.type===void 0&&n.pattern instanceof RegExp&&(n.type="pattern"),typeof n.validator!="function"&&n.type&&!sE.hasOwnProperty(n.type))throw new Error(dg("Unknown rule type %s",n.type));return n.type||"string"}},{key:"getValidationMethod",value:function(n){if(typeof n.validator=="function")return n.validator;var o=Object.keys(n),i=o.indexOf("message");return i!==-1&&o.splice(i,1),o.length===1&&o[0]==="required"?sE.required:sE[this.getType(n)]||void 0}}]),t}();X6(SW,"register",function(e,n){if(typeof n!="function")throw new Error("Cannot register a validator by type, validator is not a function");sE[e]=n});X6(SW,"warning",WRt);X6(SW,"messages",s0e);X6(SW,"validators",sE);var D1="'${name}' is not a valid ${type}",B_e={default:"Validation error on field '${name}'",required:"'${name}' is required",enum:"'${name}' must be one of [${enum}]",whitespace:"'${name}' cannot be empty",date:{format:"'${name}' is invalid for format date",parse:"'${name}' could not be parsed as date",invalid:"'${name}' is invalid date"},types:{string:D1,method:D1,array:D1,object:D1,number:D1,date:D1,boolean:D1,integer:D1,float:D1,regexp:D1,email:D1,url:D1,hex:D1},string:{len:"'${name}' must be exactly ${len} characters",min:"'${name}' must be at least ${min} characters",max:"'${name}' cannot be longer than ${max} characters",range:"'${name}' must be between ${min} and ${max} characters"},number:{len:"'${name}' must equal ${len}",min:"'${name}' cannot be less than ${min}",max:"'${name}' cannot be greater than ${max}",range:"'${name}' must be between ${min} and ${max}"},array:{len:"'${name}' must be exactly ${len} in length",min:"'${name}' cannot be less than ${min} in length",max:"'${name}' cannot be greater than ${max} in length",range:"'${name}' must be between ${min} and ${max} in length"},pattern:{mismatch:"'${name}' does not match pattern ${pattern}"}};function j_e(t){return DYe(t)||kYe(t)||vge(t)||EYe()}function fg(t,e){for(var n=t,o=0;o3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&o&&n===void 0&&!fg(t,e.slice(0,-1))?t:Y_e(t,e,n,o)}function dHt(t){return gr(t)==="object"&&t!==null&&Object.getPrototypeOf(t)===Object.prototype}function P8e(t){return Array.isArray(t)?[]:{}}var fHt=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function pD(){for(var t=arguments.length,e=new Array(t),n=0;n2&&arguments[2]!==void 0?arguments[2]:!1;return t&&t.some(function(o){return O_e(e,o,n)})}function O_e(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return!t||!e||!n&&t.length!==e.length?!1:e.every(function(o,i){return t[i]===o})}function yHt(t,e){if(t===e)return!0;if(!t&&e||t&&!e||!t||!e||gr(t)!=="object"||gr(e)!=="object")return!1;var n=Object.keys(t),o=Object.keys(e),i=new Set([].concat(n,o));return Wo(i).every(function(r){var a=t[r],l=e[r];return typeof a=="function"&&typeof l=="function"?!0:a===l})}function AHt(t){var e=arguments.length<=1?void 0:arguments[1];return e&&e.target&&gr(e.target)==="object"&&t in e.target?e.target[t]:e}function M8e(t,e,n){var o=t.length;if(e<0||e>=o||n<0||n>=o)return t;var i=t[e],r=e-n;return r>0?[].concat(Wo(t.slice(0,n)),[i],Wo(t.slice(n,e)),Wo(t.slice(e+1,o))):r<0?[].concat(Wo(t.slice(0,e)),Wo(t.slice(e+1,n+1)),[i],Wo(t.slice(n+1,o))):t}var wHt=["name"],lm=[];function I8e(t,e,n,o,i,r){return typeof t=="function"?t(e,n,"source"in r?{source:r.source}:{}):o!==i}var qge=function(t){hW(n,t);var e=pW(n);function n(o){var i;if(pp(this,n),i=e.call(this,o),_t(xl(i),"state",{resetCount:0}),_t(xl(i),"cancelRegisterFunc",null),_t(xl(i),"mounted",!1),_t(xl(i),"touched",!1),_t(xl(i),"dirty",!1),_t(xl(i),"validatePromise",void 0),_t(xl(i),"prevValidating",void 0),_t(xl(i),"errors",lm),_t(xl(i),"warnings",lm),_t(xl(i),"cancelRegister",function(){var s=i.props,c=s.preserve,u=s.isListField,d=s.name;i.cancelRegisterFunc&&i.cancelRegisterFunc(u,c,D0(d)),i.cancelRegisterFunc=null}),_t(xl(i),"getNamePath",function(){var s=i.props,c=s.name,u=s.fieldContext,d=u.prefixName,f=d===void 0?[]:d;return c!==void 0?[].concat(Wo(f),Wo(c)):[]}),_t(xl(i),"getRules",function(){var s=i.props,c=s.rules,u=c===void 0?[]:c,d=s.fieldContext;return u.map(function(f){return typeof f=="function"?f(d):f})}),_t(xl(i),"refresh",function(){i.mounted&&i.setState(function(s){var c=s.resetCount;return{resetCount:c+1}})}),_t(xl(i),"metaCache",null),_t(xl(i),"triggerMetaEvent",function(s){var c=i.props.onMetaChange;if(c){var u=$t($t({},i.getMeta()),{},{destroy:s});e7(i.metaCache,u)||c(u),i.metaCache=u}else i.metaCache=null}),_t(xl(i),"onStoreChange",function(s,c,u){var d=i.props,f=d.shouldUpdate,p=d.dependencies,g=p===void 0?[]:p,y=d.onReset,A=u.store,x=i.getNamePath(),C=i.getValue(s),b=i.getValue(A),v=c&&yC(c,x);switch(u.type==="valueUpdate"&&u.source==="external"&&!e7(C,b)&&(i.touched=!0,i.dirty=!0,i.validatePromise=null,i.errors=lm,i.warnings=lm,i.triggerMetaEvent()),u.type){case"reset":if(!c||v){i.touched=!1,i.dirty=!1,i.validatePromise=void 0,i.errors=lm,i.warnings=lm,i.triggerMetaEvent(),y==null||y(),i.refresh();return}break;case"remove":{if(f){i.reRender();return}break}case"setField":{var S=u.data;if(v){"touched"in S&&(i.touched=S.touched),"validating"in S&&!("originRCField"in S)&&(i.validatePromise=S.validating?Promise.resolve([]):null),"errors"in S&&(i.errors=S.errors||lm),"warnings"in S&&(i.warnings=S.warnings||lm),i.dirty=!0,i.triggerMetaEvent(),i.reRender();return}else if("value"in S&&yC(c,x,!0)){i.reRender();return}if(f&&!x.length&&I8e(f,s,A,C,b,u)){i.reRender();return}break}case"dependenciesUpdate":{var w=g.map(D0);if(w.some(function(T){return yC(u.relatedFields,T)})){i.reRender();return}break}default:if(v||(!g.length||x.length||f)&&I8e(f,s,A,C,b,u)){i.reRender();return}break}f===!0&&i.reRender()}),_t(xl(i),"validateRules",function(s){var c=i.getNamePath(),u=i.getValue(),d=s||{},f=d.triggerName,p=d.validateOnly,g=p===void 0?!1:p,y=Promise.resolve().then(bW(N2().mark(function A(){var x,C,b,v,S,w,T;return N2().wrap(function(R){for(;;)switch(R.prev=R.next){case 0:if(i.mounted){R.next=2;break}return R.abrupt("return",[]);case 2:if(x=i.props,C=x.validateFirst,b=C===void 0?!1:C,v=x.messageVariables,S=x.validateDebounce,w=i.getRules(),f&&(w=w.filter(function(H){return H}).filter(function(H){var D=H.validateTrigger;if(!D)return!0;var E=r0e(D);return E.includes(f)})),!(S&&f)){R.next=10;break}return R.next=8,new Promise(function(H){setTimeout(H,S)});case 8:if(i.validatePromise===y){R.next=10;break}return R.abrupt("return",[]);case 10:return T=pHt(c,u,w,s,b,v),T.catch(function(H){return H}).then(function(){var H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:lm;if(i.validatePromise===y){var D;i.validatePromise=null;var E=[],L=[];(D=H.forEach)===null||D===void 0||D.call(H,function(U){var F=U.rule.warningOnly,W=U.errors,B=W===void 0?lm:W;F?L.push.apply(L,Wo(B)):E.push.apply(E,Wo(B))}),i.errors=E,i.warnings=L,i.triggerMetaEvent(),i.reRender()}}),R.abrupt("return",T);case 13:case"end":return R.stop()}},A)})));return g||(i.validatePromise=y,i.dirty=!0,i.errors=lm,i.warnings=lm,i.triggerMetaEvent(),i.reRender()),y}),_t(xl(i),"isFieldValidating",function(){return!!i.validatePromise}),_t(xl(i),"isFieldTouched",function(){return i.touched}),_t(xl(i),"isFieldDirty",function(){if(i.dirty||i.props.initialValue!==void 0)return!0;var s=i.props.fieldContext,c=s.getInternalHooks(kv),u=c.getInitialValue;return u(i.getNamePath())!==void 0}),_t(xl(i),"getErrors",function(){return i.errors}),_t(xl(i),"getWarnings",function(){return i.warnings}),_t(xl(i),"isListField",function(){return i.props.isListField}),_t(xl(i),"isList",function(){return i.props.isList}),_t(xl(i),"isPreserve",function(){return i.props.preserve}),_t(xl(i),"getMeta",function(){i.prevValidating=i.isFieldValidating();var s={touched:i.isFieldTouched(),validating:i.prevValidating,errors:i.errors,warnings:i.warnings,name:i.getNamePath(),validated:i.validatePromise===null};return s}),_t(xl(i),"getOnlyChild",function(s){if(typeof s=="function"){var c=i.getMeta();return $t($t({},i.getOnlyChild(s(i.getControlled(),c,i.props.fieldContext))),{},{isFunction:!0})}var u=Qw(s);return u.length!==1||!m.isValidElement(u[0])?{child:u,isFunction:!1}:{child:u[0],isFunction:!1}}),_t(xl(i),"getValue",function(s){var c=i.props.fieldContext.getFieldsValue,u=i.getNamePath();return fg(s||c(!0),u)}),_t(xl(i),"getControlled",function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=i.props,u=c.name,d=c.trigger,f=c.validateTrigger,p=c.getValueFromEvent,g=c.normalize,y=c.valuePropName,A=c.getValueProps,x=c.fieldContext,C=f!==void 0?f:x.validateTrigger,b=i.getNamePath(),v=x.getInternalHooks,S=x.getFieldsValue,w=v(kv),T=w.dispatch,P=i.getValue(),R=A||function(U){return _t({},y,U)},H=s[d],D=u!==void 0?R(P):{},E=$t($t({},s),D);E[d]=function(){i.touched=!0,i.dirty=!0,i.triggerMetaEvent();for(var U,F=arguments.length,W=new Array(F),B=0;B=0&&H<=D.length?(u.keys=[].concat(Wo(u.keys.slice(0,H)),[u.id],Wo(u.keys.slice(H))),b([].concat(Wo(D.slice(0,H)),[R],Wo(D.slice(H))))):(u.keys=[].concat(Wo(u.keys),[u.id]),b([].concat(Wo(D),[R]))),u.id+=1},remove:function(R){var H=S(),D=new Set(Array.isArray(R)?R:[R]);D.size<=0||(u.keys=u.keys.filter(function(E,L){return!D.has(L)}),b(H.filter(function(E,L){return!D.has(L)})))},move:function(R,H){if(R!==H){var D=S();R<0||R>=D.length||H<0||H>=D.length||(u.keys=M8e(u.keys,R,H),b(M8e(D,R,H)))}}},T=C||[];return Array.isArray(T)||(T=[]),o(T.map(function(P,R){var H=u.keys[R];return H===void 0&&(u.keys[R]=u.id,H=u.keys[R],u.id+=1),{name:R,key:H,isListField:!0}}),w,A)})))}function xHt(t){var e=!1,n=t.length,o=[];return t.length?new Promise(function(i,r){t.forEach(function(a,l){a.catch(function(s){return e=!0,s}).then(function(s){n-=1,o[l]=s,!(n>0)&&(e&&r(o),i(o))})})}):Promise.resolve([])}var V_e="__@field_split__";function Hie(t){return t.map(function(e){return"".concat(gr(e),":").concat(e)}).join(V_e)}var xT=function(){function t(){pp(this,t),_t(this,"kvs",new Map)}return gp(t,[{key:"set",value:function(n,o){this.kvs.set(Hie(n),o)}},{key:"get",value:function(n){return this.kvs.get(Hie(n))}},{key:"update",value:function(n,o){var i=this.get(n),r=o(i);r?this.set(n,r):this.delete(n)}},{key:"delete",value:function(n){this.kvs.delete(Hie(n))}},{key:"map",value:function(n){return Wo(this.kvs.entries()).map(function(o){var i=on(o,2),r=i[0],a=i[1],l=r.split(V_e);return n({key:l.map(function(s){var c=s.match(/^([^:]*):(.*)$/),u=on(c,3),d=u[1],f=u[2];return d==="number"?Number(f):f}),value:a})})}},{key:"toJSON",value:function(){var n={};return this.map(function(o){var i=o.key,r=o.value;return n[i.join(".")]=r,null}),n}}]),t}(),bHt=["name"],SHt=gp(function t(e){var n=this;pp(this,t),_t(this,"formHooked",!1),_t(this,"forceRootUpdate",void 0),_t(this,"subscribable",!0),_t(this,"store",{}),_t(this,"fieldEntities",[]),_t(this,"initialValues",{}),_t(this,"callbacks",{}),_t(this,"validateMessages",null),_t(this,"preserve",null),_t(this,"lastValidatePromise",null),_t(this,"getForm",function(){return{getFieldValue:n.getFieldValue,getFieldsValue:n.getFieldsValue,getFieldError:n.getFieldError,getFieldWarning:n.getFieldWarning,getFieldsError:n.getFieldsError,isFieldsTouched:n.isFieldsTouched,isFieldTouched:n.isFieldTouched,isFieldValidating:n.isFieldValidating,isFieldsValidating:n.isFieldsValidating,resetFields:n.resetFields,setFields:n.setFields,setFieldValue:n.setFieldValue,setFieldsValue:n.setFieldsValue,validateFields:n.validateFields,submit:n.submit,_init:!0,getInternalHooks:n.getInternalHooks}}),_t(this,"getInternalHooks",function(o){return o===kv?(n.formHooked=!0,{dispatch:n.dispatch,initEntityValue:n.initEntityValue,registerField:n.registerField,useSubscribe:n.useSubscribe,setInitialValues:n.setInitialValues,destroyForm:n.destroyForm,setCallbacks:n.setCallbacks,setValidateMessages:n.setValidateMessages,getFields:n.getFields,setPreserve:n.setPreserve,getInitialValue:n.getInitialValue,registerWatch:n.registerWatch}):(U0(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),_t(this,"useSubscribe",function(o){n.subscribable=o}),_t(this,"prevWithoutPreserves",null),_t(this,"setInitialValues",function(o,i){if(n.initialValues=o||{},i){var r,a=pD(o,n.store);(r=n.prevWithoutPreserves)===null||r===void 0||r.map(function(l){var s=l.key;a=i2(a,s,fg(o,s))}),n.prevWithoutPreserves=null,n.updateStore(a)}}),_t(this,"destroyForm",function(){var o=new xT;n.getFieldEntities(!0).forEach(function(i){n.isMergedPreserve(i.isPreserve())||o.set(i.getNamePath(),!0)}),n.prevWithoutPreserves=o}),_t(this,"getInitialValue",function(o){var i=fg(n.initialValues,o);return o.length?pD(i):i}),_t(this,"setCallbacks",function(o){n.callbacks=o}),_t(this,"setValidateMessages",function(o){n.validateMessages=o}),_t(this,"setPreserve",function(o){n.preserve=o}),_t(this,"watchList",[]),_t(this,"registerWatch",function(o){return n.watchList.push(o),function(){n.watchList=n.watchList.filter(function(i){return i!==o})}}),_t(this,"notifyWatch",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(n.watchList.length){var i=n.getFieldsValue(),r=n.getFieldsValue(!0);n.watchList.forEach(function(a){a(i,r,o)})}}),_t(this,"timeoutId",null),_t(this,"warningUnhooked",function(){}),_t(this,"updateStore",function(o){n.store=o}),_t(this,"getFieldEntities",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return o?n.fieldEntities.filter(function(i){return i.getNamePath().length}):n.fieldEntities}),_t(this,"getFieldsMap",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=new xT;return n.getFieldEntities(o).forEach(function(r){var a=r.getNamePath();i.set(a,r)}),i}),_t(this,"getFieldEntitiesForNamePathList",function(o){if(!o)return n.getFieldEntities(!0);var i=n.getFieldsMap(!0);return o.map(function(r){var a=D0(r);return i.get(a)||{INVALIDATE_NAME_PATH:D0(r)}})}),_t(this,"getFieldsValue",function(o,i){n.warningUnhooked();var r,a,l;if(o===!0||Array.isArray(o)?(r=o,a=i):o&&gr(o)==="object"&&(l=o.strict,a=o.filter),r===!0&&!a)return n.store;var s=n.getFieldEntitiesForNamePathList(Array.isArray(r)?r:null),c=[];return s.forEach(function(u){var d,f,p="INVALIDATE_NAME_PATH"in u?u.INVALIDATE_NAME_PATH:u.getNamePath();if(l){var g,y;if((g=(y=u).isList)!==null&&g!==void 0&&g.call(y))return}else if(!r&&(d=(f=u).isListField)!==null&&d!==void 0&&d.call(f))return;if(!a)c.push(p);else{var A="getMeta"in u?u.getMeta():null;a(A)&&c.push(p)}}),H8e(n.store,c.map(D0))}),_t(this,"getFieldValue",function(o){n.warningUnhooked();var i=D0(o);return fg(n.store,i)}),_t(this,"getFieldsError",function(o){n.warningUnhooked();var i=n.getFieldEntitiesForNamePathList(o);return i.map(function(r,a){return r&&!("INVALIDATE_NAME_PATH"in r)?{name:r.getNamePath(),errors:r.getErrors(),warnings:r.getWarnings()}:{name:D0(o[a]),errors:[],warnings:[]}})}),_t(this,"getFieldError",function(o){n.warningUnhooked();var i=D0(o),r=n.getFieldsError([i])[0];return r.errors}),_t(this,"getFieldWarning",function(o){n.warningUnhooked();var i=D0(o),r=n.getFieldsError([i])[0];return r.warnings}),_t(this,"isFieldsTouched",function(){n.warningUnhooked();for(var o=arguments.length,i=new Array(o),r=0;r0&&arguments[0]!==void 0?arguments[0]:{},i=new xT,r=n.getFieldEntities(!0);r.forEach(function(s){var c=s.props.initialValue,u=s.getNamePath();if(c!==void 0){var d=i.get(u)||new Set;d.add({entity:s,value:c}),i.set(u,d)}});var a=function(c){c.forEach(function(u){var d=u.props.initialValue;if(d!==void 0){var f=u.getNamePath(),p=n.getInitialValue(f);if(p!==void 0)U0(!1,"Form already set 'initialValues' with path '".concat(f.join("."),"'. Field can not overwrite it."));else{var g=i.get(f);if(g&&g.size>1)U0(!1,"Multiple Field with path '".concat(f.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(g){var y=n.getFieldValue(f),A=u.isListField();!A&&(!o.skipExist||y===void 0)&&n.updateStore(i2(n.store,f,Wo(g)[0].value))}}}})},l;o.entities?l=o.entities:o.namePathList?(l=[],o.namePathList.forEach(function(s){var c=i.get(s);if(c){var u;(u=l).push.apply(u,Wo(Wo(c).map(function(d){return d.entity})))}})):l=r,a(l)}),_t(this,"resetFields",function(o){n.warningUnhooked();var i=n.store;if(!o){n.updateStore(pD(n.initialValues)),n.resetWithFieldInitialValue(),n.notifyObservers(i,null,{type:"reset"}),n.notifyWatch();return}var r=o.map(D0);r.forEach(function(a){var l=n.getInitialValue(a);n.updateStore(i2(n.store,a,l))}),n.resetWithFieldInitialValue({namePathList:r}),n.notifyObservers(i,r,{type:"reset"}),n.notifyWatch(r)}),_t(this,"setFields",function(o){n.warningUnhooked();var i=n.store,r=[];o.forEach(function(a){var l=a.name,s=ir(a,bHt),c=D0(l);r.push(c),"value"in s&&n.updateStore(i2(n.store,c,s.value)),n.notifyObservers(i,[c],{type:"setField",data:a})}),n.notifyWatch(r)}),_t(this,"getFields",function(){var o=n.getFieldEntities(!0),i=o.map(function(r){var a=r.getNamePath(),l=r.getMeta(),s=$t($t({},l),{},{name:a,value:n.getFieldValue(a)});return Object.defineProperty(s,"originRCField",{value:!0}),s});return i}),_t(this,"initEntityValue",function(o){var i=o.props.initialValue;if(i!==void 0){var r=o.getNamePath(),a=fg(n.store,r);a===void 0&&n.updateStore(i2(n.store,r,i))}}),_t(this,"isMergedPreserve",function(o){var i=o!==void 0?o:n.preserve;return i??!0}),_t(this,"registerField",function(o){n.fieldEntities.push(o);var i=o.getNamePath();if(n.notifyWatch([i]),o.props.initialValue!==void 0){var r=n.store;n.resetWithFieldInitialValue({entities:[o],skipExist:!0}),n.notifyObservers(r,[o.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(a,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(n.fieldEntities=n.fieldEntities.filter(function(d){return d!==o}),!n.isMergedPreserve(l)&&(!a||s.length>1)){var c=a?void 0:n.getInitialValue(i);if(i.length&&n.getFieldValue(i)!==c&&n.fieldEntities.every(function(d){return!O_e(d.getNamePath(),i)})){var u=n.store;n.updateStore(i2(u,i,c,!0)),n.notifyObservers(u,[i],{type:"remove"}),n.triggerDependenciesUpdate(u,i)}}n.notifyWatch([i])}}),_t(this,"dispatch",function(o){switch(o.type){case"updateValue":{var i=o.namePath,r=o.value;n.updateValue(i,r);break}case"validateField":{var a=o.namePath,l=o.triggerName;n.validateFields([a],{triggerName:l});break}}}),_t(this,"notifyObservers",function(o,i,r){if(n.subscribable){var a=$t($t({},r),{},{store:n.getFieldsValue(!0)});n.getFieldEntities().forEach(function(l){var s=l.onStoreChange;s(o,i,a)})}else n.forceRootUpdate()}),_t(this,"triggerDependenciesUpdate",function(o,i){var r=n.getDependencyChildrenFields(i);return r.length&&n.validateFields(r),n.notifyObservers(o,r,{type:"dependenciesUpdate",relatedFields:[i].concat(Wo(r))}),r}),_t(this,"updateValue",function(o,i){var r=D0(o),a=n.store;n.updateStore(i2(n.store,r,i)),n.notifyObservers(a,[r],{type:"valueUpdate",source:"internal"}),n.notifyWatch([r]);var l=n.triggerDependenciesUpdate(a,r),s=n.callbacks.onValuesChange;if(s){var c=H8e(n.store,[r]);s(c,n.getFieldsValue())}n.triggerOnFieldsChange([r].concat(Wo(l)))}),_t(this,"setFieldsValue",function(o){n.warningUnhooked();var i=n.store;if(o){var r=pD(n.store,o);n.updateStore(r)}n.notifyObservers(i,null,{type:"valueUpdate",source:"external"}),n.notifyWatch()}),_t(this,"setFieldValue",function(o,i){n.setFields([{name:o,value:i}])}),_t(this,"getDependencyChildrenFields",function(o){var i=new Set,r=[],a=new xT;n.getFieldEntities().forEach(function(s){var c=s.props.dependencies;(c||[]).forEach(function(u){var d=D0(u);a.update(d,function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Set;return f.add(s),f})})});var l=function s(c){var u=a.get(c)||new Set;u.forEach(function(d){if(!i.has(d)){i.add(d);var f=d.getNamePath();d.isFieldDirty()&&f.length&&(r.push(f),s(f))}})};return l(o),r}),_t(this,"triggerOnFieldsChange",function(o,i){var r=n.callbacks.onFieldsChange;if(r){var a=n.getFields();if(i){var l=new xT;i.forEach(function(c){var u=c.name,d=c.errors;l.set(u,d)}),a.forEach(function(c){c.errors=l.get(c.name)||c.errors})}var s=a.filter(function(c){var u=c.name;return yC(o,u)});s.length&&r(s,a)}}),_t(this,"validateFields",function(o,i){n.warningUnhooked();var r,a;Array.isArray(o)||typeof o=="string"||typeof i=="string"?(r=o,a=i):a=o;var l=!!r,s=l?r.map(D0):[],c=[],u=String(Date.now()),d=new Set,f=a||{},p=f.recursive,g=f.dirty;n.getFieldEntities(!0).forEach(function(C){if(l||s.push(C.getNamePath()),!(!C.props.rules||!C.props.rules.length)&&!(g&&!C.isFieldDirty())){var b=C.getNamePath();if(d.add(b.join(u)),!l||yC(s,b,p)){var v=C.validateRules($t({validateMessages:$t($t({},B_e),n.validateMessages)},a));c.push(v.then(function(){return{name:b,errors:[],warnings:[]}}).catch(function(S){var w,T=[],P=[];return(w=S.forEach)===null||w===void 0||w.call(S,function(R){var H=R.rule.warningOnly,D=R.errors;H?P.push.apply(P,Wo(D)):T.push.apply(T,Wo(D))}),T.length?Promise.reject({name:b,errors:T,warnings:P}):{name:b,errors:T,warnings:P}}))}}});var y=xHt(c);n.lastValidatePromise=y,y.catch(function(C){return C}).then(function(C){var b=C.map(function(v){var S=v.name;return S});n.notifyObservers(n.store,b,{type:"validateFinish"}),n.triggerOnFieldsChange(b,C)});var A=y.then(function(){return n.lastValidatePromise===y?Promise.resolve(n.getFieldsValue(s)):Promise.reject([])}).catch(function(C){var b=C.filter(function(v){return v&&v.errors.length});return Promise.reject({values:n.getFieldsValue(s),errorFields:b,outOfDate:n.lastValidatePromise!==y})});A.catch(function(C){return C});var x=s.filter(function(C){return d.has(C.join(u))});return n.triggerOnFieldsChange(x),A}),_t(this,"submit",function(){n.warningUnhooked(),n.validateFields().then(function(o){var i=n.callbacks.onFinish;if(i)try{i(o)}catch(r){console.error(r)}}).catch(function(o){var i=n.callbacks.onFinishFailed;i&&i(o)})}),this.forceRootUpdate=e});function G_e(t){var e=m.useRef(),n=m.useState({}),o=on(n,2),i=o[1];if(!e.current)if(t)e.current=t;else{var r=function(){i({})},a=new SHt(r);e.current=a.getForm()}return[e.current]}var m0e=m.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),THt=function(e){var n=e.validateMessages,o=e.onFormChange,i=e.onFormFinish,r=e.children,a=m.useContext(m0e),l=m.useRef({});return m.createElement(m0e.Provider,{value:$t($t({},a),{},{validateMessages:$t($t({},a.validateMessages),n),triggerFormChange:function(c,u){o&&o(c,{changedFields:u,forms:l.current}),a.triggerFormChange(c,u)},triggerFormFinish:function(c,u){i&&i(c,{values:u,forms:l.current}),a.triggerFormFinish(c,u)},registerForm:function(c,u){c&&(l.current=$t($t({},l.current),{},_t({},c,u))),a.registerForm(c,u)},unregisterForm:function(c){var u=$t({},l.current);delete u[c],l.current=u,a.unregisterForm(c)}})},r)},PHt=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"],CHt=function(e,n){var o=e.name,i=e.initialValues,r=e.fields,a=e.form,l=e.preserve,s=e.children,c=e.component,u=c===void 0?"form":c,d=e.validateMessages,f=e.validateTrigger,p=f===void 0?"onChange":f,g=e.onValuesChange,y=e.onFieldsChange,A=e.onFinish,x=e.onFinishFailed,C=ir(e,PHt),b=m.useContext(m0e),v=G_e(a),S=on(v,1),w=S[0],T=w.getInternalHooks(kv),P=T.useSubscribe,R=T.setInitialValues,H=T.setCallbacks,D=T.setValidateMessages,E=T.setPreserve,L=T.destroyForm;m.useImperativeHandle(n,function(){return w}),m.useEffect(function(){return b.registerForm(o,w),function(){b.unregisterForm(o)}},[b,w,o]),D($t($t({},b.validateMessages),d)),H({onValuesChange:g,onFieldsChange:function(_){if(b.triggerFormChange(o,_),y){for(var J=arguments.length,Q=new Array(J>1?J-1:0),ee=1;ee{let{children:e,status:n,override:o}=t;const i=m.useContext(Qp),r=m.useMemo(()=>{const a=Object.assign({},i);return o&&delete a.isFormItemInput,n&&(delete a.status,delete a.hasFeedback,delete a.feedbackIcon),a},[n,o,i]);return m.createElement(Qp.Provider,{value:r},e)},MHt=m.createContext(void 0);function D8e(){}const IHt=m.createContext({add:D8e,remove:D8e});function X_e(t){const e=m.useContext(IHt),n=m.useRef();return O6(i=>{if(i){const r=t?i.querySelector(t):i;e.add(r),n.current=r}else e.remove(n.current)})}const E8e=()=>{const{cancelButtonProps:t,cancelTextLocale:e,onCancel:n}=m.useContext(xW);return Se.createElement(no,Object.assign({onClick:n},t),e)},k8e=()=>{const{confirmLoading:t,okButtonProps:e,okType:n,okTextLocale:o,onOk:i}=m.useContext(xW);return Se.createElement(no,Object.assign({},x_e(n),{loading:t,onClick:i},e),o)};function J_e(t,e){return Se.createElement("span",{className:`${t}-close-x`},e||Se.createElement(E7,{className:`${t}-close-icon`}))}const K_e=t=>{const{okText:e,okType:n="primary",cancelText:o,confirmLoading:i,onOk:r,onCancel:a,okButtonProps:l,cancelButtonProps:s,footer:c}=t,[u]=D7("Modal",lOe()),d=e||(u==null?void 0:u.okText),f=o||(u==null?void 0:u.cancelText),p={confirmLoading:i,okButtonProps:l,cancelButtonProps:s,okTextLocale:d,cancelTextLocale:f,okType:n,onOk:r,onCancel:a},g=Se.useMemo(()=>p,Xa(Object.values(p)));let y;return typeof c=="function"||typeof c>"u"?(y=Se.createElement(Se.Fragment,null,Se.createElement(E8e,null),Se.createElement(k8e,null)),typeof c=="function"&&(y=c(y,{OkBtn:k8e,CancelBtn:E8e})),y=Se.createElement(H_e,{value:g},y)):y=c,Se.createElement(mOe,{disabled:!1},y)},$ge=t=>({[t.componentCls]:{[`${t.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${t.motionDurationMid} ${t.motionEaseInOut}, opacity ${t.motionDurationMid} ${t.motionEaseInOut} !important`}},[`${t.antCls}-motion-collapse`]:{overflow:"hidden",transition:`height ${t.motionDurationMid} ${t.motionEaseInOut}, - opacity ${t.motionDurationMid} ${t.motionEaseInOut} !important`}}}),EHt=t=>({animationDuration:t,animationFillMode:"both"}),kHt=t=>({animationDuration:t,animationFillMode:"both"}),d$=function(t,e,n,o){const r=(arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1)?"&":"";return{[` + opacity ${t.motionDurationMid} ${t.motionEaseInOut} !important`}}}),zHt=t=>({animationDuration:t,animationFillMode:"both"}),DHt=t=>({animationDuration:t,animationFillMode:"both"}),d$=function(t,e,n,o){const r=(arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1)?"&":"";return{[` ${r}${t}-enter, ${r}${t}-appear - `]:Object.assign(Object.assign({},EHt(o)),{animationPlayState:"paused"}),[`${r}${t}-leave`]:Object.assign(Object.assign({},kHt(o)),{animationPlayState:"paused"}),[` + `]:Object.assign(Object.assign({},zHt(o)),{animationPlayState:"paused"}),[`${r}${t}-leave`]:Object.assign(Object.assign({},DHt(o)),{animationPlayState:"paused"}),[` ${r}${t}-enter${t}-enter-active, ${r}${t}-appear${t}-appear-active - `]:{animationName:e,animationPlayState:"running"},[`${r}${t}-leave${t}-leave-active`]:{animationName:n,animationPlayState:"running",pointerEvents:"none"}}},FHt=new ul("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),LHt=new ul("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),WHt=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const{antCls:n}=t,o=`${n}-fade`,i=e?"&":"";return[d$(o,FHt,LHt,t.motionDurationMid,e),{[` + `]:{animationName:e,animationPlayState:"running"},[`${r}${t}-leave${t}-leave-active`]:{animationName:n,animationPlayState:"running",pointerEvents:"none"}}},EHt=new ul("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),kHt=new ul("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),FHt=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const{antCls:n}=t,o=`${n}-fade`,i=e?"&":"";return[d$(o,EHt,kHt,t.motionDurationMid,e),{[` ${i}${o}-enter, ${i}${o}-appear - `]:{opacity:0,animationTimingFunction:"linear"},[`${i}${o}-leave`]:{animationTimingFunction:"linear"}}]},NHt=new ul("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),UHt=new ul("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),BHt=new ul("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),jHt=new ul("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),YHt=new ul("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),OHt=new ul("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),_Ht=new ul("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),VHt=new ul("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),GHt={"move-up":{inKeyframes:_Ht,outKeyframes:VHt},"move-down":{inKeyframes:NHt,outKeyframes:UHt},"move-left":{inKeyframes:BHt,outKeyframes:jHt},"move-right":{inKeyframes:YHt,outKeyframes:OHt}},aR=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=GHt[e];return[d$(o,i,r,t.motionDurationMid),{[` + `]:{opacity:0,animationTimingFunction:"linear"},[`${i}${o}-leave`]:{animationTimingFunction:"linear"}}]},LHt=new ul("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),WHt=new ul("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),NHt=new ul("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),UHt=new ul("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),BHt=new ul("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),jHt=new ul("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),YHt=new ul("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),OHt=new ul("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),_Ht={"move-up":{inKeyframes:YHt,outKeyframes:OHt},"move-down":{inKeyframes:LHt,outKeyframes:WHt},"move-left":{inKeyframes:NHt,outKeyframes:UHt},"move-right":{inKeyframes:BHt,outKeyframes:jHt}},aR=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=_Ht[e];return[d$(o,i,r,t.motionDurationMid),{[` ${o}-enter, ${o}-appear - `]:{opacity:0,animationTimingFunction:t.motionEaseOutCirc},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInOutCirc}}]},f$=new ul("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),h$=new ul("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),p$=new ul("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),g$=new ul("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),XHt=new ul("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),JHt=new ul("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),KHt=new ul("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),qHt=new ul("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),$Ht={"slide-up":{inKeyframes:f$,outKeyframes:h$},"slide-down":{inKeyframes:p$,outKeyframes:g$},"slide-left":{inKeyframes:XHt,outKeyframes:JHt},"slide-right":{inKeyframes:KHt,outKeyframes:qHt}},F9=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=$Ht[e];return[d$(o,i,r,t.motionDurationMid),{[` + `]:{opacity:0,animationTimingFunction:t.motionEaseOutCirc},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInOutCirc}}]},f$=new ul("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),h$=new ul("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),p$=new ul("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),g$=new ul("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),VHt=new ul("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),GHt=new ul("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),XHt=new ul("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),JHt=new ul("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),KHt={"slide-up":{inKeyframes:f$,outKeyframes:h$},"slide-down":{inKeyframes:p$,outKeyframes:g$},"slide-left":{inKeyframes:VHt,outKeyframes:GHt},"slide-right":{inKeyframes:XHt,outKeyframes:JHt}},F9=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=KHt[e];return[d$(o,i,r,t.motionDurationMid),{[` ${o}-enter, ${o}-appear - `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:t.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInQuint}}]},QHt=new ul("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),ZHt=new ul("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),F8e=new ul("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),L8e=new ul("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),eMt=new ul("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),tMt=new ul("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),nMt=new ul("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),oMt=new ul("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),iMt=new ul("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),rMt=new ul("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),aMt=new ul("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),lMt=new ul("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),sMt={zoom:{inKeyframes:QHt,outKeyframes:ZHt},"zoom-big":{inKeyframes:F8e,outKeyframes:L8e},"zoom-big-fast":{inKeyframes:F8e,outKeyframes:L8e},"zoom-left":{inKeyframes:nMt,outKeyframes:oMt},"zoom-right":{inKeyframes:iMt,outKeyframes:rMt},"zoom-up":{inKeyframes:eMt,outKeyframes:tMt},"zoom-down":{inKeyframes:aMt,outKeyframes:lMt}},PW=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=sMt[e];return[d$(o,i,r,e==="zoom-big-fast"?t.motionDurationFast:t.motionDurationMid),{[` + `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:t.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInQuint}}]},qHt=new ul("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),$Ht=new ul("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),F8e=new ul("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),L8e=new ul("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),QHt=new ul("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),ZHt=new ul("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),eMt=new ul("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),tMt=new ul("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),nMt=new ul("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),oMt=new ul("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),iMt=new ul("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),rMt=new ul("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),aMt={zoom:{inKeyframes:qHt,outKeyframes:$Ht},"zoom-big":{inKeyframes:F8e,outKeyframes:L8e},"zoom-big-fast":{inKeyframes:F8e,outKeyframes:L8e},"zoom-left":{inKeyframes:eMt,outKeyframes:tMt},"zoom-right":{inKeyframes:nMt,outKeyframes:oMt},"zoom-up":{inKeyframes:QHt,outKeyframes:ZHt},"zoom-down":{inKeyframes:iMt,outKeyframes:rMt}},PW=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=aMt[e];return[d$(o,i,r,e==="zoom-big-fast"?t.motionDurationFast:t.motionDurationMid),{[` ${o}-enter, ${o}-appear - `]:{transform:"scale(0)",opacity:0,animationTimingFunction:t.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInOutCirc}}]};function W8e(t){return{position:t,inset:0}}const cMt=t=>{const{componentCls:e,antCls:n}=t;return[{[`${e}-root`]:{[`${e}${n}-zoom-enter, ${e}${n}-zoom-appear`]:{transform:"none",opacity:0,animationDuration:t.motionDurationSlow,userSelect:"none"},[`${e}${n}-zoom-leave ${e}-content`]:{pointerEvents:"none"},[`${e}-mask`]:Object.assign(Object.assign({},W8e("fixed")),{zIndex:t.zIndexPopupBase,height:"100%",backgroundColor:t.colorBgMask,pointerEvents:"none",[`${e}-hidden`]:{display:"none"}}),[`${e}-wrap`]:Object.assign(Object.assign({},W8e("fixed")),{zIndex:t.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch"})}},{[`${e}-root`]:WHt(t)}]},uMt=t=>{const{componentCls:e}=t;return[{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl"},[`${e}-centered`]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[e]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},[`@media (max-width: ${t.screenSMMax}px)`]:{[e]:{maxWidth:"calc(100vw - 16px)",margin:`${Ut(t.marginXS)} auto`},[`${e}-centered`]:{[e]:{flex:1}}}}},{[e]:Object.assign(Object.assign({},$a(t)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:`calc(100vw - ${Ut(t.calc(t.margin).mul(2).equal())})`,margin:"0 auto",paddingBottom:t.paddingLG,[`${e}-title`]:{margin:0,color:t.titleColor,fontWeight:t.fontWeightStrong,fontSize:t.titleFontSize,lineHeight:t.titleLineHeight,wordWrap:"break-word"},[`${e}-content`]:{position:"relative",backgroundColor:t.contentBg,backgroundClip:"padding-box",border:0,borderRadius:t.borderRadiusLG,boxShadow:t.boxShadow,pointerEvents:"auto",padding:t.contentPadding},[`${e}-close`]:Object.assign({position:"absolute",top:t.calc(t.modalHeaderHeight).sub(t.modalCloseBtnSize).div(2).equal(),insetInlineEnd:t.calc(t.modalHeaderHeight).sub(t.modalCloseBtnSize).div(2).equal(),zIndex:t.calc(t.zIndexPopupBase).add(10).equal(),padding:0,color:t.modalCloseIconColor,fontWeight:t.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:t.borderRadiusSM,width:t.modalCloseBtnSize,height:t.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:`color ${t.motionDurationMid}, background-color ${t.motionDurationMid}`,"&-x":{display:"flex",fontSize:t.fontSizeLG,fontStyle:"normal",lineHeight:`${Ut(t.modalCloseBtnSize)}`,justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:t.modalCloseIconHoverColor,backgroundColor:t.colorBgTextHover,textDecoration:"none"},"&:active":{backgroundColor:t.colorBgTextActive}},V6(t)),[`${e}-header`]:{color:t.colorText,background:t.headerBg,borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`,marginBottom:t.headerMarginBottom,padding:t.headerPadding,borderBottom:t.headerBorderBottom},[`${e}-body`]:{fontSize:t.fontSize,lineHeight:t.lineHeight,wordWrap:"break-word",padding:t.bodyPadding},[`${e}-footer`]:{textAlign:"end",background:t.footerBg,marginTop:t.footerMarginTop,padding:t.footerPadding,borderTop:t.footerBorderTop,borderRadius:t.footerBorderRadius,[`> ${t.antCls}-btn + ${t.antCls}-btn`]:{marginInlineStart:t.marginXS}},[`${e}-open`]:{overflow:"hidden"}})},{[`${e}-pure-panel`]:{top:"auto",padding:0,display:"flex",flexDirection:"column",[`${e}-content, + `]:{transform:"scale(0)",opacity:0,animationTimingFunction:t.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInOutCirc}}]};function W8e(t){return{position:t,inset:0}}const lMt=t=>{const{componentCls:e,antCls:n}=t;return[{[`${e}-root`]:{[`${e}${n}-zoom-enter, ${e}${n}-zoom-appear`]:{transform:"none",opacity:0,animationDuration:t.motionDurationSlow,userSelect:"none"},[`${e}${n}-zoom-leave ${e}-content`]:{pointerEvents:"none"},[`${e}-mask`]:Object.assign(Object.assign({},W8e("fixed")),{zIndex:t.zIndexPopupBase,height:"100%",backgroundColor:t.colorBgMask,pointerEvents:"none",[`${e}-hidden`]:{display:"none"}}),[`${e}-wrap`]:Object.assign(Object.assign({},W8e("fixed")),{zIndex:t.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch"})}},{[`${e}-root`]:FHt(t)}]},sMt=t=>{const{componentCls:e}=t;return[{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl"},[`${e}-centered`]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[e]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},[`@media (max-width: ${t.screenSMMax}px)`]:{[e]:{maxWidth:"calc(100vw - 16px)",margin:`${Ut(t.marginXS)} auto`},[`${e}-centered`]:{[e]:{flex:1}}}}},{[e]:Object.assign(Object.assign({},$a(t)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:`calc(100vw - ${Ut(t.calc(t.margin).mul(2).equal())})`,margin:"0 auto",paddingBottom:t.paddingLG,[`${e}-title`]:{margin:0,color:t.titleColor,fontWeight:t.fontWeightStrong,fontSize:t.titleFontSize,lineHeight:t.titleLineHeight,wordWrap:"break-word"},[`${e}-content`]:{position:"relative",backgroundColor:t.contentBg,backgroundClip:"padding-box",border:0,borderRadius:t.borderRadiusLG,boxShadow:t.boxShadow,pointerEvents:"auto",padding:t.contentPadding},[`${e}-close`]:Object.assign({position:"absolute",top:t.calc(t.modalHeaderHeight).sub(t.modalCloseBtnSize).div(2).equal(),insetInlineEnd:t.calc(t.modalHeaderHeight).sub(t.modalCloseBtnSize).div(2).equal(),zIndex:t.calc(t.zIndexPopupBase).add(10).equal(),padding:0,color:t.modalCloseIconColor,fontWeight:t.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:t.borderRadiusSM,width:t.modalCloseBtnSize,height:t.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:`color ${t.motionDurationMid}, background-color ${t.motionDurationMid}`,"&-x":{display:"flex",fontSize:t.fontSizeLG,fontStyle:"normal",lineHeight:`${Ut(t.modalCloseBtnSize)}`,justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:t.modalCloseIconHoverColor,backgroundColor:t.colorBgTextHover,textDecoration:"none"},"&:active":{backgroundColor:t.colorBgTextActive}},V6(t)),[`${e}-header`]:{color:t.colorText,background:t.headerBg,borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`,marginBottom:t.headerMarginBottom,padding:t.headerPadding,borderBottom:t.headerBorderBottom},[`${e}-body`]:{fontSize:t.fontSize,lineHeight:t.lineHeight,wordWrap:"break-word",padding:t.bodyPadding},[`${e}-footer`]:{textAlign:"end",background:t.footerBg,marginTop:t.footerMarginTop,padding:t.footerPadding,borderTop:t.footerBorderTop,borderRadius:t.footerBorderRadius,[`> ${t.antCls}-btn + ${t.antCls}-btn`]:{marginInlineStart:t.marginXS}},[`${e}-open`]:{overflow:"hidden"}})},{[`${e}-pure-panel`]:{top:"auto",padding:0,display:"flex",flexDirection:"column",[`${e}-content, ${e}-body, - ${e}-confirm-body-wrapper`]:{display:"flex",flexDirection:"column",flex:"auto"},[`${e}-confirm-body`]:{marginBottom:"auto"}}}]},dMt=t=>{const{componentCls:e}=t;return{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl",[`${e}-confirm-body`]:{direction:"rtl"}}}}},q_e=t=>{const e=t.padding,n=t.fontSizeHeading5,o=t.lineHeightHeading5;return Zr(t,{modalHeaderHeight:t.calc(t.calc(o).mul(n).equal()).add(t.calc(e).mul(2).equal()).equal(),modalFooterBorderColorSplit:t.colorSplit,modalFooterBorderStyle:t.lineType,modalFooterBorderWidth:t.lineWidth,modalCloseIconColor:t.colorIcon,modalCloseIconHoverColor:t.colorIconHover,modalCloseBtnSize:t.controlHeight,modalConfirmIconSize:t.fontHeight,modalTitleHeight:t.calc(t.titleFontSize).mul(t.titleLineHeight).equal()})},$_e=t=>({footerBg:"transparent",headerBg:t.colorBgElevated,titleLineHeight:t.lineHeightHeading5,titleFontSize:t.fontSizeHeading5,contentBg:t.colorBgElevated,titleColor:t.colorTextHeading,contentPadding:t.wireframe?0:`${Ut(t.paddingMD)} ${Ut(t.paddingContentHorizontalLG)}`,headerPadding:t.wireframe?`${Ut(t.padding)} ${Ut(t.paddingLG)}`:0,headerBorderBottom:t.wireframe?`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`:"none",headerMarginBottom:t.wireframe?0:t.marginXS,bodyPadding:t.wireframe?t.paddingLG:0,footerPadding:t.wireframe?`${Ut(t.paddingXS)} ${Ut(t.padding)}`:0,footerBorderTop:t.wireframe?`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`:"none",footerBorderRadius:t.wireframe?`0 0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)}`:0,footerMarginTop:t.wireframe?0:t.marginSM,confirmBodyPadding:t.wireframe?`${Ut(t.padding*2)} ${Ut(t.padding*2)} ${Ut(t.paddingLG)}`:0,confirmIconMarginInlineEnd:t.wireframe?t.margin:t.marginSM,confirmBtnsMarginTop:t.wireframe?t.marginLG:t.marginSM}),Q_e=Fl("Modal",t=>{const e=q_e(t);return[uMt(e),dMt(e),cMt(e),PW(e,"zoom")]},$_e,{unitless:{titleLineHeight:!0}});var fMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{y0e={x:t.pageX,y:t.pageY},setTimeout(()=>{y0e=null},100)};PRt()&&document.documentElement.addEventListener("click",hMt,!0);const Z_e=t=>{var e;const{getPopupContainer:n,getPrefixCls:o,direction:i,modal:r}=m.useContext(Mi),a=j=>{const{onCancel:Y}=t;Y==null||Y(j)},l=j=>{const{onOk:Y}=t;Y==null||Y(j)},{prefixCls:s,className:c,rootClassName:u,open:d,wrapClassName:f,centered:p,getContainer:g,focusTriggerAfterClose:y=!0,style:A,visible:x,width:C=520,footer:b,classNames:v,styles:S}=t,w=fMt(t,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","focusTriggerAfterClose","style","visible","width","footer","classNames","styles"]),T=o("modal",s),P=o(),R=j0(T),[H,D,E]=Q_e(T,R),L=Gn(f,{[`${T}-centered`]:!!p,[`${T}-wrap-rtl`]:i==="rtl"}),U=b!==null&&m.createElement(K_e,Object.assign({},t,{onOk:l,onCancel:a})),[F,W]=Jge(oR(t),oR(r),{closable:!0,closeIcon:m.createElement(E7,{className:`${T}-close-icon`}),closeIconRender:j=>J_e(T,j)}),B=X_e(`.${T}-content`),[k,N]=k7("Modal",w.zIndex);return H(m.createElement(k9,null,m.createElement(rR,{status:!0,override:!0},m.createElement(yW.Provider,{value:N},m.createElement(k_e,Object.assign({width:C},w,{zIndex:k,getContainer:g===void 0?n:g,prefixCls:T,rootClassName:Gn(D,u,E,R),footer:U,visible:d??x,mousePosition:(e=w.mousePosition)!==null&&e!==void 0?e:y0e,onClose:a,closable:F,closeIcon:W,focusTriggerAfterClose:y,transitionName:D9(P,"zoom",t.transitionName),maskTransitionName:D9(P,"fade",t.maskTransitionName),className:Gn(D,c,r==null?void 0:r.className),style:Object.assign(Object.assign({},r==null?void 0:r.style),A),classNames:Object.assign(Object.assign(Object.assign({},r==null?void 0:r.classNames),v),{wrapper:Gn(L,v==null?void 0:v.wrapper)}),styles:Object.assign(Object.assign({},r==null?void 0:r.styles),S),panelRef:B}))))))},pMt=t=>{const{componentCls:e,titleFontSize:n,titleLineHeight:o,modalConfirmIconSize:i,fontSize:r,lineHeight:a,modalTitleHeight:l,fontHeight:s,confirmBodyPadding:c}=t,u=`${e}-confirm`;return{[u]:{"&-rtl":{direction:"rtl"},[`${t.antCls}-modal-header`]:{display:"none"},[`${u}-body-wrapper`]:Object.assign({},Yk()),[`&${e} ${e}-body`]:{padding:c},[`${u}-body`]:{display:"flex",flexWrap:"nowrap",alignItems:"start",[`> ${t.iconCls}`]:{flex:"none",fontSize:i,marginInlineEnd:t.confirmIconMarginInlineEnd,marginTop:t.calc(t.calc(s).sub(i).equal()).div(2).equal()},[`&-has-title > ${t.iconCls}`]:{marginTop:t.calc(t.calc(l).sub(i).equal()).div(2).equal()}},[`${u}-paragraph`]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:t.marginXS},[`${t.iconCls} + ${u}-paragraph`]:{maxWidth:`calc(100% - ${Ut(t.calc(t.modalConfirmIconSize).add(t.marginSM).equal())})`},[`${u}-title`]:{color:t.colorTextHeading,fontWeight:t.fontWeightStrong,fontSize:n,lineHeight:o},[`${u}-content`]:{color:t.colorText,fontSize:r,lineHeight:a},[`${u}-btns`]:{textAlign:"end",marginTop:t.confirmBtnsMarginTop,[`${t.antCls}-btn + ${t.antCls}-btn`]:{marginBottom:0,marginInlineStart:t.marginXS}}},[`${u}-error ${u}-body > ${t.iconCls}`]:{color:t.colorError},[`${u}-warning ${u}-body > ${t.iconCls}, - ${u}-confirm ${u}-body > ${t.iconCls}`]:{color:t.colorWarning},[`${u}-info ${u}-body > ${t.iconCls}`]:{color:t.colorInfo},[`${u}-success ${u}-body > ${t.iconCls}`]:{color:t.colorSuccess}}},gMt=mW(["Modal","confirm"],t=>{const e=q_e(t);return[pMt(e)]},$_e,{order:-1e3});var mMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);iC,Xa(Object.values(C))),v=m.createElement(m.Fragment,null,m.createElement(i8e,null),m.createElement(r8e,null)),S=t.title!==void 0&&t.title!==null,w=`${r}-body`;return m.createElement("div",{className:`${r}-body-wrapper`},m.createElement("div",{className:Gn(w,{[`${w}-has-title`]:S})},d,m.createElement("div",{className:`${r}-paragraph`},S&&m.createElement("span",{className:`${r}-title`},t.title),m.createElement("div",{className:`${r}-content`},t.content))),s===void 0||typeof s=="function"?m.createElement(H_e,{value:b},m.createElement("div",{className:`${r}-btns`},typeof s=="function"?s(v,{OkBtn:r8e,CancelBtn:i8e}):v)):s,m.createElement(gMt,{prefixCls:e}))}const yMt=t=>{const{close:e,zIndex:n,afterClose:o,open:i,keyboard:r,centered:a,getContainer:l,maskStyle:s,direction:c,prefixCls:u,wrapClassName:d,rootPrefixCls:f,bodyStyle:p,closable:g=!1,closeIcon:y,modalRender:A,focusTriggerAfterClose:x,onConfirm:C,styles:b}=t,v=`${u}-confirm`,S=t.width||416,w=t.style||{},T=t.mask===void 0?!0:t.mask,P=t.maskClosable===void 0?!1:t.maskClosable,R=Gn(v,`${v}-${t.type}`,{[`${v}-rtl`]:c==="rtl"},t.className),[,H]=Yu(),D=m.useMemo(()=>n!==void 0?n:H.zIndexPopupBase+Yge,[n,H]);return m.createElement(Z_e,{prefixCls:u,className:R,wrapClassName:Gn({[`${v}-centered`]:!!t.centered},d),onCancel:()=>{e==null||e({triggerCancel:!0}),C==null||C(!1)},open:i,title:"",footer:null,transitionName:D9(f||"","zoom",t.transitionName),maskTransitionName:D9(f||"","fade",t.maskTransitionName),mask:T,maskClosable:P,style:w,styles:Object.assign({body:p,mask:s},b),width:S,zIndex:D,afterClose:o,keyboard:r,centered:a,getContainer:l,closable:g,closeIcon:y,modalRender:A,focusTriggerAfterClose:x},m.createElement(eVe,Object.assign({},t,{confirmPrefixCls:v})))},tVe=t=>{const{rootPrefixCls:e,iconPrefixCls:n,direction:o,theme:i}=t;return m.createElement(iy,{prefixCls:e,iconPrefixCls:n,direction:o,theme:i},m.createElement(yMt,Object.assign({},t)))},Fv=[];let nVe="";function oVe(){return nVe}const AMt=t=>{var e,n;const{prefixCls:o,getContainer:i,direction:r}=t,a=lOe(),l=m.useContext(Mi),s=oVe()||l.getPrefixCls(),c=o||`${s}-modal`;let u=i;return u===!1&&(u=void 0),Se.createElement(tVe,Object.assign({},t,{rootPrefixCls:s,prefixCls:c,iconPrefixCls:l.iconPrefixCls,theme:l.theme,direction:r??l.direction,locale:(n=(e=l.locale)===null||e===void 0?void 0:e.Modal)!==null&&n!==void 0?n:a,getContainer:u}))};function CW(t){const e=$Oe(),n=document.createDocumentFragment();let o=Object.assign(Object.assign({},t),{close:l,open:!0}),i;function r(){for(var c=arguments.length,u=new Array(c),d=0;dp&&p.triggerCancel);t.onCancel&&f&&t.onCancel.apply(t,[()=>{}].concat(Xa(u.slice(1))));for(let p=0;p{const u=e.getPrefixCls(void 0,oVe()),d=e.getIconPrefixCls(),f=e.getTheme(),p=Se.createElement(AMt,Object.assign({},c));_ge(Se.createElement(iy,{prefixCls:u,iconPrefixCls:d,theme:f},e.holderRender?e.holderRender(p):p),n)})}function l(){for(var c=arguments.length,u=new Array(c),d=0;d{typeof t.afterClose=="function"&&t.afterClose(),r.apply(this,u)}}),o.visible&&delete o.visible,a(o)}function s(c){typeof c=="function"?o=c(o):o=Object.assign(Object.assign({},o),c),a(o)}return a(o),Fv.push(l),{destroy:l,update:s}}function iVe(t){return Object.assign(Object.assign({},t),{type:"warning"})}function rVe(t){return Object.assign(Object.assign({},t),{type:"info"})}function aVe(t){return Object.assign(Object.assign({},t),{type:"success"})}function lVe(t){return Object.assign(Object.assign({},t),{type:"error"})}function sVe(t){return Object.assign(Object.assign({},t),{type:"confirm"})}function wMt(t){let{rootPrefixCls:e}=t;nVe=e}var vMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,{afterClose:o,config:i}=t,r=vMt(t,["afterClose","config"]);const[a,l]=m.useState(!0),[s,c]=m.useState(i),{direction:u,getPrefixCls:d}=m.useContext(Mi),f=d("modal"),p=d(),g=()=>{var C;o(),(C=s.afterClose)===null||C===void 0||C.call(s)},y=function(){l(!1);for(var C=arguments.length,b=new Array(C),v=0;vw&&w.triggerCancel);s.onCancel&&S&&s.onCancel.apply(s,[()=>{}].concat(Xa(b.slice(1))))};m.useImperativeHandle(e,()=>({destroy:y,update:C=>{c(b=>Object.assign(Object.assign({},b),C))}}));const A=(n=s.okCancel)!==null&&n!==void 0?n:s.type==="confirm",[x]=D7("Modal",t7.Modal);return m.createElement(tVe,Object.assign({prefixCls:f,rootPrefixCls:p},s,{close:y,open:a,afterClose:g,okText:s.okText||(A?x==null?void 0:x.okText:x==null?void 0:x.justOkText),direction:s.direction||u,cancelText:s.cancelText||(x==null?void 0:x.cancelText)},r))},bMt=m.forwardRef(xMt);let N8e=0;const SMt=m.memo(m.forwardRef((t,e)=>{const[n,o]=dCt();return m.useImperativeHandle(e,()=>({patchElement:o}),[]),m.createElement(m.Fragment,null,n)}));function TMt(){const t=m.useRef(null),[e,n]=m.useState([]);m.useEffect(()=>{e.length&&(Xa(e).forEach(a=>{a()}),n([]))},[e]);const o=m.useCallback(r=>function(l){var s;N8e+=1;const c=m.createRef();let u;const d=new Promise(A=>{u=A});let f=!1,p;const g=m.createElement(bMt,{key:`modal-${N8e}`,config:r(l),ref:c,afterClose:()=>{p==null||p()},isSilent:()=>f,onConfirm:A=>{u(A)}});return p=(s=t.current)===null||s===void 0?void 0:s.patchElement(g),p&&Fv.push(p),{destroy:()=>{function A(){var x;(x=c.current)===null||x===void 0||x.destroy()}c.current?A():n(x=>[].concat(Xa(x),[A]))},update:A=>{function x(){var C;(C=c.current)===null||C===void 0||C.update(A)}c.current?x():n(C=>[].concat(Xa(C),[x]))},then:A=>(f=!0,d.then(A))}},[]);return[m.useMemo(()=>({info:o(rVe),success:o(aVe),error:o(lVe),warning:o(iVe),confirm:o(sVe)}),[]),m.createElement(SMt,{key:"modal-holder",ref:t})]}const PMt=Se.createContext({});function cVe(t){return e=>m.createElement(iy,{theme:{token:{motion:!1,zIndexPopupBase:0}}},m.createElement(t,Object.assign({},e)))}const RW=(t,e,n,o)=>cVe(r=>{const{prefixCls:a,style:l}=r,s=m.useRef(null),[c,u]=m.useState(0),[d,f]=m.useState(0),[p,g]=_6(!1,{value:r.open}),{getPrefixCls:y}=m.useContext(Mi),A=y(e||"select",a);m.useEffect(()=>{if(g(!0),typeof ResizeObserver<"u"){const b=new ResizeObserver(S=>{const w=S[0].target;u(w.offsetHeight+8),f(w.offsetWidth)}),v=setInterval(()=>{var S;const w=n?`.${n(A)}`:`.${A}-dropdown`,T=(S=s.current)===null||S===void 0?void 0:S.querySelector(w);T&&(clearInterval(v),b.observe(T))},10);return()=>{clearInterval(v),b.disconnect()}}},[]);let x=Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},l),{margin:0}),open:p,visible:p,getPopupContainer:()=>s.current});o&&(x=o(x));const C={paddingBottom:c,position:"relative",minWidth:d};return m.createElement("div",{ref:s,style:C},m.createElement(t,Object.assign({},x)))});function Ia(t){var e=m.useRef();e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a"u"||typeof window>"u")return!1;var t=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(t==null?void 0:t.substr(0,4))};var y$=function(e){var n=e.className,o=e.customizeIcon,i=e.customizeIconProps,r=e.children,a=e.onMouseDown,l=e.onClick,s=typeof o=="function"?o(i):o;return m.createElement("span",{className:n,onMouseDown:function(u){u.preventDefault(),a==null||a(u)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:l,"aria-hidden":!0},s!==void 0?s:m.createElement("span",{className:Vn(n.split(/\s+/).map(function(c){return"".concat(c,"-icon")}))},r))},CMt=function(e,n,o,i,r){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,l=arguments.length>6?arguments[6]:void 0,s=arguments.length>7?arguments[7]:void 0,c=Se.useMemo(function(){if(gr(i)==="object")return i.clearIcon;if(r)return r},[i,r]),u=Se.useMemo(function(){return!!(!a&&i&&(o.length||l)&&!(s==="combobox"&&l===""))},[i,a,o.length,l,s]);return{allowClear:u,clearIcon:Se.createElement(y$,{className:"".concat(e,"-clear"),onMouseDown:n,customizeIcon:c},"×")}},uVe=m.createContext(null);function RMt(){return m.useContext(uVe)}function HMt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,e=m.useState(!1),n=on(e,2),o=n[0],i=n[1],r=m.useRef(null),a=function(){window.clearTimeout(r.current)};m.useEffect(function(){return a},[]);var l=function(c,u){a(),r.current=window.setTimeout(function(){i(c),u&&u()},t)};return[o,l,a]}function dVe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,e=m.useRef(null),n=m.useRef(null);m.useEffect(function(){return function(){window.clearTimeout(n.current)}},[]);function o(i){(i||e.current===null)&&(e.current=i),window.clearTimeout(n.current),n.current=window.setTimeout(function(){e.current=null},t)}return[function(){return e.current},o]}function MMt(t,e,n,o){var i=m.useRef(null);i.current={open:e,triggerOpen:n,customizedTrigger:o},m.useEffect(function(){function r(a){var l;if(!((l=i.current)!==null&&l!==void 0&&l.customizedTrigger)){var s=a.target;s.shadowRoot&&a.composed&&(s=a.composedPath()[0]||s),i.current.open&&t().filter(function(c){return c}).every(function(c){return!c.contains(s)&&c!==s})&&i.current.triggerOpen(!1)}}return window.addEventListener("mousedown",r),function(){return window.removeEventListener("mousedown",r)}},[])}function IMt(t){return![Bn.ESC,Bn.SHIFT,Bn.BACKSPACE,Bn.TAB,Bn.WIN_KEY,Bn.ALT,Bn.META,Bn.WIN_KEY_RIGHT,Bn.CTRL,Bn.SEMICOLON,Bn.EQUALS,Bn.CAPS_LOCK,Bn.CONTEXT_MENU,Bn.F1,Bn.F2,Bn.F3,Bn.F4,Bn.F5,Bn.F6,Bn.F7,Bn.F8,Bn.F9,Bn.F10,Bn.F11,Bn.F12].includes(t)}var zMt=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],bT=void 0;function DMt(t,e){var n=t.prefixCls,o=t.invalidate,i=t.item,r=t.renderItem,a=t.responsive,l=t.responsiveDisabled,s=t.registerSize,c=t.itemKey,u=t.className,d=t.style,f=t.children,p=t.display,g=t.order,y=t.component,A=y===void 0?"div":y,x=ir(t,zMt),C=a&&!p;function b(P){s(c,P)}m.useEffect(function(){return function(){b(null)}},[]);var v=r&&i!==bT?r(i):f,S;o||(S={opacity:C?0:1,height:C?0:bT,overflowY:C?"hidden":bT,order:a?g:bT,pointerEvents:C?"none":bT,position:C?"absolute":bT});var w={};C&&(w["aria-hidden"]=!0);var T=m.createElement(A,so({className:Vn(!o&&n,u),style:$t($t({},S),d)},w,x,{ref:e}),v);return a&&(T=m.createElement(xd,{onResize:function(R){var H=R.offsetWidth;b(H)},disabled:l},T)),T}var cE=m.forwardRef(DMt);cE.displayName="Item";function EMt(t){if(typeof MessageChannel>"u")za(t);else{var e=new MessageChannel;e.port1.onmessage=function(){return t()},e.port2.postMessage(void 0)}}function kMt(){var t=m.useRef(null),e=function(o){t.current||(t.current=[],EMt(function(){Sd.unstable_batchedUpdates(function(){t.current.forEach(function(i){i()}),t.current=null})})),t.current.push(o)};return e}function vz(t,e){var n=m.useState(e),o=on(n,2),i=o[0],r=o[1],a=Ia(function(l){t(function(){r(l)})});return[i,a]}var wG=Se.createContext(null),FMt=["component"],LMt=["className"],WMt=["className"],NMt=function(e,n){var o=m.useContext(wG);if(!o){var i=e.component,r=i===void 0?"div":i,a=ir(e,FMt);return m.createElement(r,so({},a,{ref:n}))}var l=o.className,s=ir(o,LMt),c=e.className,u=ir(e,WMt);return m.createElement(wG.Provider,{value:null},m.createElement(cE,so({ref:n,className:Vn(l,c)},s,u)))},fVe=m.forwardRef(NMt);fVe.displayName="RawItem";var UMt=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],hVe="responsive",pVe="invalidate";function BMt(t){return"+ ".concat(t.length," ...")}function jMt(t,e){var n=t.prefixCls,o=n===void 0?"rc-overflow":n,i=t.data,r=i===void 0?[]:i,a=t.renderItem,l=t.renderRawItem,s=t.itemKey,c=t.itemWidth,u=c===void 0?10:c,d=t.ssr,f=t.style,p=t.className,g=t.maxCount,y=t.renderRest,A=t.renderRawRest,x=t.suffix,C=t.component,b=C===void 0?"div":C,v=t.itemComponent,S=t.onVisibleChange,w=ir(t,UMt),T=d==="full",P=kMt(),R=vz(P,null),H=on(R,2),D=H[0],E=H[1],L=D||0,U=vz(P,new Map),F=on(U,2),W=F[0],B=F[1],k=vz(P,0),N=on(k,2),j=N[0],Y=N[1],_=vz(P,0),J=on(_,2),Q=J[0],ee=J[1],$=vz(P,0),q=on($,2),le=q[0],ie=q[1],pe=m.useState(null),ne=on(pe,2),Z=ne[0],he=ne[1],fe=m.useState(null),se=on(fe,2),oe=se[0],de=se[1],ve=m.useMemo(function(){return oe===null&&T?Number.MAX_SAFE_INTEGER:oe||0},[oe,D]),Pe=m.useState(!1),me=on(Pe,2),Re=me[0],ze=me[1],Ae="".concat(o,"-item"),re=Math.max(j,Q),ge=g===hVe,we=r.length&&ge,ye=g===pVe,Te=we||typeof g=="number"&&r.length>g,Ie=m.useMemo(function(){var wt=r;return we?D===null&&T?wt=r:wt=r.slice(0,Math.min(r.length,L/u)):typeof g=="number"&&(wt=r.slice(0,g)),wt},[r,u,D,g,we]),Ce=m.useMemo(function(){return we?r.slice(ve+1):r.slice(Ie.length)},[r,Ie,we,ve]),Ee=m.useCallback(function(wt,rt){var Qe;return typeof s=="function"?s(wt):(Qe=s&&(wt==null?void 0:wt[s]))!==null&&Qe!==void 0?Qe:rt},[s]),Ue=m.useCallback(a||function(wt){return wt},[a]);function Ne(wt,rt,Qe){oe===wt&&(rt===void 0||rt===Z)||(de(wt),Qe||(ze(wtL){Ne(Oe-1,wt-et-le+Q);break}}x&&Fe(0)+le>L&&he(null)}},[L,W,Q,le,Ee,Ie]);var _e=Re&&!!Ce.length,ot={};Z!==null&&we&&(ot={position:"absolute",left:Z,top:0});var Ye={prefixCls:Ae,responsive:we,component:v,invalidate:ye},St=l?function(wt,rt){var Qe=Ee(wt,rt);return m.createElement(wG.Provider,{key:Qe,value:$t($t({},Ye),{},{order:rt,item:wt,itemKey:Qe,registerSize:qe,display:rt<=ve})},l(wt,rt))}:function(wt,rt){var Qe=Ee(wt,rt);return m.createElement(cE,so({},Ye,{order:rt,key:Qe,item:wt,renderItem:Ue,itemKey:Qe,registerSize:qe,display:rt<=ve}))},dt,je={order:_e?ve:Number.MAX_SAFE_INTEGER,className:"".concat(Ae,"-rest"),registerSize:We,display:_e};if(A)A&&(dt=m.createElement(wG.Provider,{value:$t($t({},Ye),je)},A(Ce)));else{var at=y||BMt;dt=m.createElement(cE,so({},Ye,je),typeof at=="function"?at(Ce):at)}var ut=m.createElement(b,so({className:Vn(!ye&&o,p),style:f,ref:e},w),Ie.map(St),Te?dt:null,x&&m.createElement(cE,so({},Ye,{responsive:ge,responsiveDisabled:!we,order:ve,className:"".concat(Ae,"-suffix"),registerSize:De,display:!0,style:ot}),x));return ge&&(ut=m.createElement(xd,{onResize:Le,disabled:!we},ut)),ut}var H2=m.forwardRef(jMt);H2.displayName="Overflow";H2.Item=fVe;H2.RESPONSIVE=hVe;H2.INVALIDATE=pVe;var YMt=function(e,n){var o,i=e.prefixCls,r=e.id,a=e.inputElement,l=e.disabled,s=e.tabIndex,c=e.autoFocus,u=e.autoComplete,d=e.editable,f=e.activeDescendantId,p=e.value,g=e.maxLength,y=e.onKeyDown,A=e.onMouseDown,x=e.onChange,C=e.onPaste,b=e.onCompositionStart,v=e.onCompositionEnd,S=e.open,w=e.attrs,T=a||m.createElement("input",null),P=T,R=P.ref,H=P.props,D=H.onKeyDown,E=H.onChange,L=H.onMouseDown,U=H.onCompositionStart,F=H.onCompositionEnd,W=H.style;return"maxLength"in T.props,T=m.cloneElement(T,$t($t($t({type:"search"},H),{},{id:r,ref:Rb(n,R),disabled:l,tabIndex:s,autoComplete:u||"off",autoFocus:c,className:Vn("".concat(i,"-selection-search-input"),(o=T)===null||o===void 0||(o=o.props)===null||o===void 0?void 0:o.className),role:"combobox","aria-expanded":S||!1,"aria-haspopup":"listbox","aria-owns":"".concat(r,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(r,"_list"),"aria-activedescendant":S?f:void 0},w),{},{value:d?p:"",maxLength:g,readOnly:!d,unselectable:d?null:"on",style:$t($t({},W),{},{opacity:d?null:0}),onKeyDown:function(k){y(k),D&&D(k)},onMouseDown:function(k){A(k),L&&L(k)},onChange:function(k){x(k),E&&E(k)},onCompositionStart:function(k){b(k),U&&U(k)},onCompositionEnd:function(k){v(k),F&&F(k)},onPaste:C})),T},gVe=m.forwardRef(YMt);function mVe(t){return Array.isArray(t)?t:t!==void 0?[t]:[]}var OMt=typeof window<"u"&&window.document&&window.document.documentElement,_Mt=OMt;function VMt(t){return t!=null}function GMt(t){return!t&&t!==0}function U8e(t){return["string","number"].includes(gr(t))}function yVe(t){var e=void 0;return t&&(U8e(t.title)?e=t.title.toString():U8e(t.label)&&(e=t.label.toString())),e}function XMt(t,e){_Mt?m.useLayoutEffect(t,e):m.useEffect(t,e)}function JMt(t){var e;return(e=t.key)!==null&&e!==void 0?e:t.value}var B8e=function(e){e.preventDefault(),e.stopPropagation()},KMt=function(e){var n=e.id,o=e.prefixCls,i=e.values,r=e.open,a=e.searchValue,l=e.autoClearSearchValue,s=e.inputRef,c=e.placeholder,u=e.disabled,d=e.mode,f=e.showSearch,p=e.autoFocus,g=e.autoComplete,y=e.activeDescendantId,A=e.tabIndex,x=e.removeIcon,C=e.maxTagCount,b=e.maxTagTextLength,v=e.maxTagPlaceholder,S=v===void 0?function(he){return"+ ".concat(he.length," ...")}:v,w=e.tagRender,T=e.onToggleOpen,P=e.onRemove,R=e.onInputChange,H=e.onInputPaste,D=e.onInputKeyDown,E=e.onInputMouseDown,L=e.onInputCompositionStart,U=e.onInputCompositionEnd,F=m.useRef(null),W=m.useState(0),B=on(W,2),k=B[0],N=B[1],j=m.useState(!1),Y=on(j,2),_=Y[0],J=Y[1],Q="".concat(o,"-selection"),ee=r||d==="multiple"&&l===!1||d==="tags"?a:"",$=d==="tags"||d==="multiple"&&l===!1||f&&(r||_);XMt(function(){N(F.current.scrollWidth)},[ee]);var q=function(fe,se,oe,de,ve){return m.createElement("span",{title:yVe(fe),className:Vn("".concat(Q,"-item"),_t({},"".concat(Q,"-item-disabled"),oe))},m.createElement("span",{className:"".concat(Q,"-item-content")},se),de&&m.createElement(y$,{className:"".concat(Q,"-item-remove"),onMouseDown:B8e,onClick:ve,customizeIcon:x},"×"))},le=function(fe,se,oe,de,ve,Pe){var me=function(ze){B8e(ze),T(!r)};return m.createElement("span",{onMouseDown:me},w({label:se,value:fe,disabled:oe,closable:de,onClose:ve,isMaxTag:!!Pe}))},ie=function(fe){var se=fe.disabled,oe=fe.label,de=fe.value,ve=!u&&!se,Pe=oe;if(typeof b=="number"&&(typeof oe=="string"||typeof oe=="number")){var me=String(Pe);me.length>b&&(Pe="".concat(me.slice(0,b),"..."))}var Re=function(Ae){Ae&&Ae.stopPropagation(),P(fe)};return typeof w=="function"?le(de,Pe,se,ve,Re):q(fe,Pe,se,ve,Re)},pe=function(fe){var se=typeof S=="function"?S(fe):S;return typeof w=="function"?le(void 0,se,!1,!1,void 0,!0):q({title:se},se,!1)},ne=m.createElement("div",{className:"".concat(Q,"-search"),style:{width:k},onFocus:function(){J(!0)},onBlur:function(){J(!1)}},m.createElement(gVe,{ref:s,open:r,prefixCls:o,id:n,inputElement:null,disabled:u,autoFocus:p,autoComplete:g,editable:$,activeDescendantId:y,value:ee,onKeyDown:D,onMouseDown:E,onChange:R,onPaste:H,onCompositionStart:L,onCompositionEnd:U,tabIndex:A,attrs:gf(e,!0)}),m.createElement("span",{ref:F,className:"".concat(Q,"-search-mirror"),"aria-hidden":!0},ee," ")),Z=m.createElement(H2,{prefixCls:"".concat(Q,"-overflow"),data:i,renderItem:ie,renderRest:pe,suffix:ne,itemKey:JMt,maxCount:C});return m.createElement(m.Fragment,null,Z,!i.length&&!ee&&m.createElement("span",{className:"".concat(Q,"-placeholder")},c))},qMt=function(e){var n=e.inputElement,o=e.prefixCls,i=e.id,r=e.inputRef,a=e.disabled,l=e.autoFocus,s=e.autoComplete,c=e.activeDescendantId,u=e.mode,d=e.open,f=e.values,p=e.placeholder,g=e.tabIndex,y=e.showSearch,A=e.searchValue,x=e.activeValue,C=e.maxLength,b=e.onInputKeyDown,v=e.onInputMouseDown,S=e.onInputChange,w=e.onInputPaste,T=e.onInputCompositionStart,P=e.onInputCompositionEnd,R=e.title,H=m.useState(!1),D=on(H,2),E=D[0],L=D[1],U=u==="combobox",F=U||y,W=f[0],B=A||"";U&&x&&!E&&(B=x),m.useEffect(function(){U&&L(!1)},[U,x]);var k=u!=="combobox"&&!d&&!y?!1:!!B,N=R===void 0?yVe(W):R,j=m.useMemo(function(){return W?null:m.createElement("span",{className:"".concat(o,"-selection-placeholder"),style:k?{visibility:"hidden"}:void 0},p)},[W,k,p,o]);return m.createElement(m.Fragment,null,m.createElement("span",{className:"".concat(o,"-selection-search")},m.createElement(gVe,{ref:r,prefixCls:o,id:i,open:d,inputElement:n,disabled:a,autoFocus:l,autoComplete:s,editable:F,activeDescendantId:c,value:B,onKeyDown:b,onMouseDown:v,onChange:function(_){L(!0),S(_)},onPaste:w,onCompositionStart:T,onCompositionEnd:P,tabIndex:g,attrs:gf(e,!0),maxLength:U?C:void 0})),!U&&W?m.createElement("span",{className:"".concat(o,"-selection-item"),title:N,style:k?{visibility:"hidden"}:void 0},W.label):null,j)},$Mt=function(e,n){var o=m.useRef(null),i=m.useRef(!1),r=e.prefixCls,a=e.open,l=e.mode,s=e.showSearch,c=e.tokenWithEnter,u=e.disabled,d=e.autoClearSearchValue,f=e.onSearch,p=e.onSearchSubmit,g=e.onToggleOpen,y=e.onInputKeyDown,A=e.domRef;m.useImperativeHandle(n,function(){return{focus:function(k){o.current.focus(k)},blur:function(){o.current.blur()}}});var x=dVe(0),C=on(x,2),b=C[0],v=C[1],S=function(k){var N=k.which;(N===Bn.UP||N===Bn.DOWN)&&k.preventDefault(),y&&y(k),N===Bn.ENTER&&l==="tags"&&!i.current&&!a&&(p==null||p(k.target.value)),IMt(N)&&g(!0)},w=function(){v(!0)},T=m.useRef(null),P=function(k){f(k,!0,i.current)!==!1&&g(!0)},R=function(){i.current=!0},H=function(k){i.current=!1,l!=="combobox"&&P(k.target.value)},D=function(k){var N=k.target.value;if(c&&T.current&&/[\r\n]/.test(T.current)){var j=T.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");N=N.replace(j,T.current)}T.current=null,P(N)},E=function(k){var N=k.clipboardData,j=N==null?void 0:N.getData("text");T.current=j||""},L=function(k){var N=k.target;if(N!==o.current){var j=document.body.style.msTouchAction!==void 0;j?setTimeout(function(){o.current.focus()}):o.current.focus()}},U=function(k){var N=b();k.target!==o.current&&!N&&!(l==="combobox"&&u)&&k.preventDefault(),(l!=="combobox"&&(!s||!N)||!a)&&(a&&d!==!1&&f("",!0,!1),g())},F={inputRef:o,onInputKeyDown:S,onInputMouseDown:w,onInputChange:D,onInputPaste:E,onInputCompositionStart:R,onInputCompositionEnd:H},W=l==="multiple"||l==="tags"?m.createElement(KMt,so({},e,F)):m.createElement(qMt,so({},e,F));return m.createElement("div",{ref:A,className:"".concat(r,"-selector"),onClick:L,onMouseDown:U},W)},QMt=m.forwardRef($Mt);function Xk(t){"@babel/helpers - typeof";return Xk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xk(t)}function ZMt(t,e){if(Xk(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(Xk(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function eIt(t){var e=ZMt(t,"string");return Xk(e)==="symbol"?e:String(e)}function tIt(t,e,n){return e=eIt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function j8e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $h(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function aIt(t,e){if(t==null)return{};var n=rIt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function vG(){return vG=Object.assign?Object.assign.bind():function(t){for(var e=1;e0,J=m.useState(!b||!_),Q=$d(J,2),ee=Q[0],$=Q[1];if(Ba(function(){!ee&&_&&a&&$(!0)},[ee,_,a]),!ee)return null;var q="auto",le={left:"-1000vw",top:"-1000vh",right:q,bottom:q};if(H||!s){var ie,pe=y.points,ne=y.dynamicInset||((ie=y._experimental)===null||ie===void 0?void 0:ie.dynamicInset),Z=ne&&pe[0][1]==="r",he=ne&&pe[0][0]==="b";Z?(le.right=L,le.left=q):(le.left=D,le.right=q),he?(le.bottom=U,le.top=q):(le.top=E,le.bottom=q)}var fe={};return B&&(B.includes("height")&&N?fe.height=N:B.includes("minHeight")&&N&&(fe.minHeight=N),B.includes("width")&&k?fe.width=k:B.includes("minWidth")&&k&&(fe.minWidth=k)),s||(fe.pointerEvents="none"),m.createElement(S,{open:C||Y,getContainer:b&&function(){return b(a)},autoDestroy:v},m.createElement(sIt,{prefixCls:i,open:s,zIndex:w,mask:f,motion:x}),m.createElement(xd,{onResize:F,disabled:!s},function(se){return m.createElement(Cg,vG({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:C,leavedClassName:"".concat(i,"-hidden")},A,{onAppearPrepare:W,onEnterPrepare:W,visible:s,onVisibleChanged:function(de){var ve;A==null||(ve=A.onVisibleChanged)===null||ve===void 0||ve.call(A,de),l(de)}}),function(oe,de){var ve=oe.className,Pe=oe.style,me=Vn(i,ve,o);return m.createElement("div",{ref:Rb(se,e,de),className:me,style:$h($h($h($h({"--arrow-x":"".concat(g.x||0,"px"),"--arrow-y":"".concat(g.y||0,"px")},le),fe),Pe),{},{boxSizing:"border-box",zIndex:w},r),onMouseEnter:T,onMouseLeave:P,onPointerEnter:R,onClick:d},p&&m.createElement(lIt,{prefixCls:i,arrow:p,arrowPos:g,align:y}),m.createElement(cIt,{cache:!s&&!u},j))})}))}),dIt=m.forwardRef(function(t,e){var n=t.children,o=t.getTriggerDOMNode,i=Zw(n),r=m.useCallback(function(l){Lk(e,o?o(l):l)},[o]),a=z7(r,n.ref);return i?m.cloneElement(n,{ref:a}):n}),Y8e=m.createContext(null);function O8e(t){return t?Array.isArray(t)?t:[t]:[]}function fIt(t,e,n,o){return m.useMemo(function(){var i=O8e(n??e),r=O8e(o??e),a=new Set(i),l=new Set(r);return t&&(a.has("hover")&&(a.delete("hover"),a.add("click")),l.has("hover")&&(l.delete("hover"),l.add("click"))),[a,l]},[t,e,n,o])}const A$=function(t){if(!t)return!1;if(t instanceof Element){if(t.offsetParent)return!0;if(t.getBBox){var e=t.getBBox(),n=e.width,o=e.height;if(n||o)return!0}if(t.getBoundingClientRect){var i=t.getBoundingClientRect(),r=i.width,a=i.height;if(r||a)return!0}}return!1};function hIt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;return n?t[0]===e[0]:t[0]===e[0]&&t[1]===e[1]}function pIt(t,e,n,o){for(var i=n.points,r=Object.keys(t),a=0;a1&&arguments[1]!==void 0?arguments[1]:1;return Number.isNaN(t)?e:t}function xz(t){return Jk(parseFloat(t),0)}function V8e(t,e){var n=$h({},t);return(e||[]).forEach(function(o){if(!(o instanceof HTMLBodyElement||o instanceof HTMLHtmlElement)){var i=HW(o).getComputedStyle(o),r=i.overflow,a=i.overflowClipMargin,l=i.borderTopWidth,s=i.borderBottomWidth,c=i.borderLeftWidth,u=i.borderRightWidth,d=o.getBoundingClientRect(),f=o.offsetHeight,p=o.clientHeight,g=o.offsetWidth,y=o.clientWidth,A=xz(l),x=xz(s),C=xz(c),b=xz(u),v=Jk(Math.round(d.width/g*1e3)/1e3),S=Jk(Math.round(d.height/f*1e3)/1e3),w=(g-y-C-b)*v,T=(f-p-A-x)*S,P=A*S,R=x*S,H=C*v,D=b*v,E=0,L=0;if(r==="clip"){var U=xz(a);E=U*v,L=U*S}var F=d.x+H-E,W=d.y+P-L,B=F+d.width+2*E-H-D-w,k=W+d.height+2*L-P-R-T;n.left=Math.max(n.left,F),n.top=Math.max(n.top,W),n.right=Math.min(n.right,B),n.bottom=Math.min(n.bottom,k)}}),n}function G8e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n="".concat(e),o=n.match(/^(.*)\%$/);return o?t*(parseFloat(o[1])/100):parseFloat(n)}function X8e(t,e){var n=e||[],o=$d(n,2),i=o[0],r=o[1];return[G8e(t.width,i),G8e(t.height,r)]}function J8e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return[t[0],t[1]]}function ST(t,e){var n=e[0],o=e[1],i,r;return n==="t"?r=t.y:n==="b"?r=t.y+t.height:r=t.y+t.height/2,o==="l"?i=t.x:o==="r"?i=t.x+t.width:i=t.x+t.width/2,{x:i,y:r}}function w4(t,e){var n={t:"b",b:"t",l:"r",r:"l"};return t.map(function(o,i){return i===e?n[o]||"c":o}).join("")}function gIt(t,e,n,o,i,r,a){var l=m.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:i[o]||{}}),s=$d(l,2),c=s[0],u=s[1],d=m.useRef(0),f=m.useMemo(function(){return e?w0e(e):[]},[e]),p=m.useRef({}),g=function(){p.current={}};t||g();var y=Ia(function(){if(e&&n&&t){let go=function(Uo,_i){var Qo=arguments.length>2&&arguments[2]!==void 0?arguments[2]:me,ar=j.x+Uo,ur=j.y+_i,$o=ar+ie,ba=ur+le,Mo=Math.max(ar,Qo.left),$i=Math.max(ur,Qo.top),Za=Math.min($o,Qo.right),ti=Math.min(ba,Qo.bottom);return Math.max(0,(Za-Mo)*(ti-$i))},So=function(){Mt=j.y+at,st=Mt+le,ft=j.x+je,Rt=ft+ie};var Ro=go,oi=So,C,b,v=e,S=v.ownerDocument,w=HW(v),T=w.getComputedStyle(v),P=T.width,R=T.height,H=T.position,D=v.style.left,E=v.style.top,L=v.style.right,U=v.style.bottom,F=v.style.overflow,W=$h($h({},i[o]),r),B=S.createElement("div");(C=v.parentElement)===null||C===void 0||C.appendChild(B),B.style.left="".concat(v.offsetLeft,"px"),B.style.top="".concat(v.offsetTop,"px"),B.style.position=H,B.style.height="".concat(v.offsetHeight,"px"),B.style.width="".concat(v.offsetWidth,"px"),v.style.left="0",v.style.top="0",v.style.right="auto",v.style.bottom="auto",v.style.overflow="hidden";var k;if(Array.isArray(n))k={x:n[0],y:n[1],width:0,height:0};else{var N=n.getBoundingClientRect();k={x:N.x,y:N.y,width:N.width,height:N.height}}var j=v.getBoundingClientRect(),Y=S.documentElement,_=Y.clientWidth,J=Y.clientHeight,Q=Y.scrollWidth,ee=Y.scrollHeight,$=Y.scrollTop,q=Y.scrollLeft,le=j.height,ie=j.width,pe=k.height,ne=k.width,Z={left:0,top:0,right:_,bottom:J},he={left:-q,top:-$,right:Q-q,bottom:ee-$},fe=W.htmlRegion,se="visible",oe="visibleFirst";fe!=="scroll"&&fe!==oe&&(fe=se);var de=fe===oe,ve=V8e(he,f),Pe=V8e(Z,f),me=fe===se?Pe:ve,Re=de?Pe:me;v.style.left="auto",v.style.top="auto",v.style.right="0",v.style.bottom="0";var ze=v.getBoundingClientRect();v.style.left=D,v.style.top=E,v.style.right=L,v.style.bottom=U,v.style.overflow=F,(b=v.parentElement)===null||b===void 0||b.removeChild(B);var Ae=Jk(Math.round(ie/parseFloat(P)*1e3)/1e3),re=Jk(Math.round(le/parseFloat(R)*1e3)/1e3);if(Ae===0||re===0||iG(n)&&!A$(n))return;var ge=W.offset,we=W.targetOffset,ye=X8e(j,ge),Te=$d(ye,2),Ie=Te[0],Ce=Te[1],Ee=X8e(k,we),Ue=$d(Ee,2),Ne=Ue[0],Le=Ue[1];k.x-=Ne,k.y-=Le;var qe=W.points||[],We=$d(qe,2),De=We[0],Fe=We[1],_e=J8e(Fe),ot=J8e(De),Ye=ST(k,_e),St=ST(j,ot),dt=$h({},W),je=Ye.x-St.x+Ie,at=Ye.y-St.y+Ce,ut=go(je,at),wt=go(je,at,Pe),rt=ST(k,["t","l"]),Qe=ST(j,["t","l"]),Oe=ST(k,["b","r"]),et=ST(j,["b","r"]),vt=W.overflow||{},ct=vt.adjustX,lt=vt.adjustY,tt=vt.shiftX,it=vt.shiftY,At=function(_i){return typeof _i=="boolean"?_i:_i>=0},Mt,st,ft,Rt;So();var zt=At(lt),Xe=ot[0]===_e[0];if(zt&&ot[0]==="t"&&(st>Re.bottom||p.current.bt)){var ht=at;Xe?ht-=le-pe:ht=rt.y-et.y-Ce;var Je=go(je,ht),mt=go(je,ht,Pe);Je>ut||Je===ut&&(!de||mt>=wt)?(p.current.bt=!0,at=ht,Ce=-Ce,dt.points=[w4(ot,0),w4(_e,0)]):p.current.bt=!1}if(zt&&ot[0]==="b"&&(Mtut||xt===ut&&(!de||It>=wt)?(p.current.tb=!0,at=Ge,Ce=-Ce,dt.points=[w4(ot,0),w4(_e,0)]):p.current.tb=!1}var Tt=At(ct),Dt=ot[1]===_e[1];if(Tt&&ot[1]==="l"&&(Rt>Re.right||p.current.rl)){var Lt=je;Dt?Lt-=ie-ne:Lt=rt.x-et.x-Ie;var Et=go(Lt,at),an=go(Lt,at,Pe);Et>ut||Et===ut&&(!de||an>=wt)?(p.current.rl=!0,je=Lt,Ie=-Ie,dt.points=[w4(ot,1),w4(_e,1)]):p.current.rl=!1}if(Tt&&ot[1]==="r"&&(ftut||hn===ut&&(!de||cn>=wt)?(p.current.lr=!0,je=Jt,Ie=-Ie,dt.points=[w4(ot,1),w4(_e,1)]):p.current.lr=!1}So();var Sn=tt===!0?0:tt;typeof Sn=="number"&&(ftPe.right&&(je-=Rt-Pe.right-Ie,k.x>Pe.right-Sn&&(je+=k.x-Pe.right+Sn)));var Pn=it===!0?0:it;typeof Pn=="number"&&(MtPe.bottom&&(at-=st-Pe.bottom-Ce,k.y>Pe.bottom-Pn&&(at+=k.y-Pe.bottom+Pn)));var Un=j.x+je,Ai=Un+ie,vo=j.y+at,Oo=vo+le,li=k.x,po=li+ne,eo=k.y,uo=eo+pe,qo=Math.max(Un,li),Hi=Math.min(Ai,po),vi=(qo+Hi)/2,Cn=vi-Un,yn=Math.max(vo,eo),to=Math.min(Oo,uo),Do=(yn+to)/2,ni=Do-vo;a==null||a(e,dt);var Fo=ze.right-j.x-(je+j.width),bo=ze.bottom-j.y-(at+j.height);u({ready:!0,offsetX:je/Ae,offsetY:at/re,offsetR:Fo/Ae,offsetB:bo/re,arrowX:Cn/Ae,arrowY:ni/re,scaleX:Ae,scaleY:re,align:dt})}}),A=function(){d.current+=1;var b=d.current;Promise.resolve().then(function(){d.current===b&&y()})},x=function(){u(function(b){return $h($h({},b),{},{ready:!1})})};return Ba(x,[o]),Ba(function(){t||x()},[t]),[c.ready,c.offsetX,c.offsetY,c.offsetR,c.offsetB,c.arrowX,c.arrowY,c.scaleX,c.scaleY,c.align,A]}function mIt(t){if(Array.isArray(t))return A0e(t)}function yIt(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function AIt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function K8e(t){return mIt(t)||yIt(t)||AVe(t)||AIt()}function wIt(t,e,n,o,i){Ba(function(){if(t&&e&&n){let f=function(){o(),i()};var d=f,r=e,a=n,l=w0e(r),s=w0e(a),c=HW(a),u=new Set([c].concat(K8e(l),K8e(s)));return u.forEach(function(p){p.addEventListener("scroll",f,{passive:!0})}),c.addEventListener("resize",f,{passive:!0}),o(),function(){u.forEach(function(p){p.removeEventListener("scroll",f),c.removeEventListener("resize",f)})}}},[t,e,n])}function vIt(t,e,n,o,i,r,a,l){var s=m.useRef(t);s.current=t,m.useEffect(function(){if(e&&o&&(!i||r)){var c=function(p){var g=p.target;s.current&&!a(g)&&l(!1)},u=HW(o);u.addEventListener("mousedown",c,!0),u.addEventListener("contextmenu",c,!0);var d=gG(n);return d&&(d.addEventListener("mousedown",c,!0),d.addEventListener("contextmenu",c,!0)),function(){u.removeEventListener("mousedown",c,!0),u.removeEventListener("contextmenu",c,!0),d&&(d.removeEventListener("mousedown",c,!0),d.removeEventListener("contextmenu",c,!0))}}},[e,n,o,i,r])}var xIt=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];function bIt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:u$,e=m.forwardRef(function(n,o){var i=n.prefixCls,r=i===void 0?"rc-trigger-popup":i,a=n.children,l=n.action,s=l===void 0?"hover":l,c=n.showAction,u=n.hideAction,d=n.popupVisible,f=n.defaultPopupVisible,p=n.onPopupVisibleChange,g=n.afterPopupVisibleChange,y=n.mouseEnterDelay,A=n.mouseLeaveDelay,x=A===void 0?.1:A,C=n.focusDelay,b=n.blurDelay,v=n.mask,S=n.maskClosable,w=S===void 0?!0:S,T=n.getPopupContainer,P=n.forceRender,R=n.autoDestroy,H=n.destroyPopupOnHide,D=n.popup,E=n.popupClassName,L=n.popupStyle,U=n.popupPlacement,F=n.builtinPlacements,W=F===void 0?{}:F,B=n.popupAlign,k=n.zIndex,N=n.stretch,j=n.getPopupClassNameFromAlign,Y=n.fresh,_=n.alignPoint,J=n.onPopupClick,Q=n.onPopupAlign,ee=n.arrow,$=n.popupMotion,q=n.maskMotion,le=n.popupTransitionName,ie=n.popupAnimation,pe=n.maskTransitionName,ne=n.maskAnimation,Z=n.className,he=n.getTriggerDOMNode,fe=aIt(n,xIt),se=R||H||!1,oe=m.useState(!1),de=$d(oe,2),ve=de[0],Pe=de[1];Ba(function(){Pe(m$())},[]);var me=m.useRef({}),Re=m.useContext(Y8e),ze=m.useMemo(function(){return{registerSubPopup:function(ui,Fr){me.current[ui]=Fr,Re==null||Re.registerSubPopup(ui,Fr)}}},[Re]),Ae=z_e(),re=m.useState(null),ge=$d(re,2),we=ge[0],ye=ge[1],Te=m.useRef(null),Ie=Ia(function(ti){Te.current=ti,iG(ti)&&we!==ti&&ye(ti),Re==null||Re.registerSubPopup(Ae,ti)}),Ce=m.useState(null),Ee=$d(Ce,2),Ue=Ee[0],Ne=Ee[1],Le=m.useRef(null),qe=Ia(function(ti){iG(ti)&&Ue!==ti&&(Ne(ti),Le.current=ti)}),We=m.Children.only(a),De=(We==null?void 0:We.props)||{},Fe={},_e=Ia(function(ti){var ui,Fr,Oa=Ue;return(Oa==null?void 0:Oa.contains(ti))||((ui=gG(Oa))===null||ui===void 0?void 0:ui.host)===ti||ti===Oa||(we==null?void 0:we.contains(ti))||((Fr=gG(we))===null||Fr===void 0?void 0:Fr.host)===ti||ti===we||Object.values(me.current).some(function(Br){return(Br==null?void 0:Br.contains(ti))||ti===Br})}),ot=_8e(r,$,ie,le),Ye=_8e(r,q,ne,pe),St=m.useState(f||!1),dt=$d(St,2),je=dt[0],at=dt[1],ut=d??je,wt=Ia(function(ti){d===void 0&&at(ti)});Ba(function(){at(d||!1)},[d]);var rt=m.useRef(ut);rt.current=ut;var Qe=m.useRef([]);Qe.current=[];var Oe=Ia(function(ti){var ui;wt(ti),((ui=Qe.current[Qe.current.length-1])!==null&&ui!==void 0?ui:ut)!==ti&&(Qe.current.push(ti),p==null||p(ti))}),et=m.useRef(),vt=function(){clearTimeout(et.current)},ct=function(ui){var Fr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;vt(),Fr===0?Oe(ui):et.current=setTimeout(function(){Oe(ui)},Fr*1e3)};m.useEffect(function(){return vt},[]);var lt=m.useState(!1),tt=$d(lt,2),it=tt[0],At=tt[1];Ba(function(ti){(!ti||ut)&&At(!0)},[ut]);var Mt=m.useState(null),st=$d(Mt,2),ft=st[0],Rt=st[1],zt=m.useState([0,0]),Xe=$d(zt,2),ht=Xe[0],Je=Xe[1],mt=function(ui){Je([ui.clientX,ui.clientY])},Ge=gIt(ut,we,_?ht:Ue,U,W,B,Q),xt=$d(Ge,11),It=xt[0],Tt=xt[1],Dt=xt[2],Lt=xt[3],Et=xt[4],an=xt[5],Jt=xt[6],hn=xt[7],cn=xt[8],Sn=xt[9],Pn=xt[10],Un=fIt(ve,s,c,u),Ai=$d(Un,2),vo=Ai[0],Oo=Ai[1],li=vo.has("click"),po=Oo.has("click")||Oo.has("contextMenu"),eo=Ia(function(){it||Pn()}),uo=function(){rt.current&&_&&po&&ct(!1)};wIt(ut,Ue,we,eo,uo),Ba(function(){eo()},[ht,U]),Ba(function(){ut&&!(W!=null&&W[U])&&eo()},[JSON.stringify(B)]);var qo=m.useMemo(function(){var ti=pIt(W,r,Sn,_);return Vn(ti,j==null?void 0:j(Sn))},[Sn,j,W,r,_]);m.useImperativeHandle(o,function(){return{nativeElement:Le.current,popupElement:Te.current,forceAlign:eo}});var Hi=m.useState(0),vi=$d(Hi,2),Cn=vi[0],yn=vi[1],to=m.useState(0),Do=$d(to,2),ni=Do[0],Fo=Do[1],bo=function(){if(N&&Ue){var ui=Ue.getBoundingClientRect();yn(ui.width),Fo(ui.height)}},Ro=function(){bo(),eo()},oi=function(ui){At(!1),Pn(),g==null||g(ui)},go=function(){return new Promise(function(ui){bo(),Rt(function(){return ui})})};Ba(function(){ft&&(Pn(),ft(),Rt(null))},[ft]);function So(ti,ui,Fr,Oa){Fe[ti]=function(Br){var Pc;Oa==null||Oa(Br),ct(ui,Fr);for(var Is=arguments.length,qs=new Array(Is>1?Is-1:0),Pr=1;Pr1?Fr-1:0),Br=1;Br1?Fr-1:0),Br=1;Br1&&arguments[1]!==void 0?arguments[1]:{},n=e.fieldNames,o=e.childrenAsData,i=[],r=wVe(n,!1),a=r.label,l=r.value,s=r.options,c=r.groupLabel;function u(d,f){Array.isArray(d)&&d.forEach(function(p){if(f||!(s in p)){var g=p[l];i.push({key:q8e(p,i.length),groupOption:f,data:p,label:p[a],value:g})}else{var y=p[c];y===void 0&&o&&(y=p.label),i.push({key:q8e(p,i.length),group:!0,data:p,label:y}),u(p[s],!0)}})}return u(t,!1),i}function x0e(t){var e=$t({},t);return"props"in e||Object.defineProperty(e,"props",{get:function(){return U0(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),e}}),e}var HIt=function(e,n,o){if(!n||!n.length)return null;var i=!1,r=function l(s,c){var u=j_e(c),d=u[0],f=u.slice(1);if(!d)return[s];var p=s.split(d);return i=i||p.length>1,p.reduce(function(g,y){return[].concat(Wo(g),Wo(l(y,f)))},[]).filter(Boolean)},a=r(e,n);return i?typeof o<"u"?a.slice(0,o):a:null},Qge=m.createContext(null),MIt=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],IIt=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],b0e=function(e){return e==="tags"||e==="multiple"},zIt=m.forwardRef(function(t,e){var n,o=t.id,i=t.prefixCls,r=t.className,a=t.showSearch,l=t.tagRender,s=t.direction,c=t.omitDomProps,u=t.displayValues,d=t.onDisplayValuesChange,f=t.emptyOptions,p=t.notFoundContent,g=p===void 0?"Not Found":p,y=t.onClear,A=t.mode,x=t.disabled,C=t.loading,b=t.getInputElement,v=t.getRawInputElement,S=t.open,w=t.defaultOpen,T=t.onDropdownVisibleChange,P=t.activeValue,R=t.onActiveValueChange,H=t.activeDescendantId,D=t.searchValue,E=t.autoClearSearchValue,L=t.onSearch,U=t.onSearchSplit,F=t.tokenSeparators,W=t.allowClear,B=t.suffixIcon,k=t.clearIcon,N=t.OptionList,j=t.animation,Y=t.transitionName,_=t.dropdownStyle,J=t.dropdownClassName,Q=t.dropdownMatchSelectWidth,ee=t.dropdownRender,$=t.dropdownAlign,q=t.placement,le=t.builtinPlacements,ie=t.getPopupContainer,pe=t.showAction,ne=pe===void 0?[]:pe,Z=t.onFocus,he=t.onBlur,fe=t.onKeyUp,se=t.onKeyDown,oe=t.onMouseDown,de=ir(t,MIt),ve=b0e(A),Pe=(a!==void 0?a:ve)||A==="combobox",me=$t({},de);IIt.forEach(function(eo){delete me[eo]}),c==null||c.forEach(function(eo){delete me[eo]});var Re=m.useState(!1),ze=on(Re,2),Ae=ze[0],re=ze[1];m.useEffect(function(){re(m$())},[]);var ge=m.useRef(null),we=m.useRef(null),ye=m.useRef(null),Te=m.useRef(null),Ie=m.useRef(null),Ce=m.useRef(!1),Ee=HMt(),Ue=on(Ee,3),Ne=Ue[0],Le=Ue[1],qe=Ue[2];m.useImperativeHandle(e,function(){var eo,uo;return{focus:(eo=Te.current)===null||eo===void 0?void 0:eo.focus,blur:(uo=Te.current)===null||uo===void 0?void 0:uo.blur,scrollTo:function(Hi){var vi;return(vi=Ie.current)===null||vi===void 0?void 0:vi.scrollTo(Hi)}}});var We=m.useMemo(function(){var eo;if(A!=="combobox")return D;var uo=(eo=u[0])===null||eo===void 0?void 0:eo.value;return typeof uo=="string"||typeof uo=="number"?String(uo):""},[D,A,u]),De=A==="combobox"&&typeof b=="function"&&b()||null,Fe=typeof v=="function"&&v(),_e=z7(we,Fe==null||(n=Fe.props)===null||n===void 0?void 0:n.ref),ot=m.useState(!1),Ye=on(ot,2),St=Ye[0],dt=Ye[1];Ba(function(){dt(!0)},[]);var je=Rs(!1,{defaultValue:w,value:S}),at=on(je,2),ut=at[0],wt=at[1],rt=St?ut:!1,Qe=!g&&f;(x||Qe&&rt&&A==="combobox")&&(rt=!1);var Oe=Qe?!1:rt,et=m.useCallback(function(eo){var uo=eo!==void 0?eo:!rt;x||(wt(uo),rt!==uo&&(T==null||T(uo)))},[x,rt,wt,T]),vt=m.useMemo(function(){return(F||[]).some(function(eo){return[` + ${e}-confirm-body-wrapper`]:{display:"flex",flexDirection:"column",flex:"auto"},[`${e}-confirm-body`]:{marginBottom:"auto"}}}]},cMt=t=>{const{componentCls:e}=t;return{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl",[`${e}-confirm-body`]:{direction:"rtl"}}}}},q_e=t=>{const e=t.padding,n=t.fontSizeHeading5,o=t.lineHeightHeading5;return Zr(t,{modalHeaderHeight:t.calc(t.calc(o).mul(n).equal()).add(t.calc(e).mul(2).equal()).equal(),modalFooterBorderColorSplit:t.colorSplit,modalFooterBorderStyle:t.lineType,modalFooterBorderWidth:t.lineWidth,modalCloseIconColor:t.colorIcon,modalCloseIconHoverColor:t.colorIconHover,modalCloseBtnSize:t.controlHeight,modalConfirmIconSize:t.fontHeight,modalTitleHeight:t.calc(t.titleFontSize).mul(t.titleLineHeight).equal()})},$_e=t=>({footerBg:"transparent",headerBg:t.colorBgElevated,titleLineHeight:t.lineHeightHeading5,titleFontSize:t.fontSizeHeading5,contentBg:t.colorBgElevated,titleColor:t.colorTextHeading,contentPadding:t.wireframe?0:`${Ut(t.paddingMD)} ${Ut(t.paddingContentHorizontalLG)}`,headerPadding:t.wireframe?`${Ut(t.padding)} ${Ut(t.paddingLG)}`:0,headerBorderBottom:t.wireframe?`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`:"none",headerMarginBottom:t.wireframe?0:t.marginXS,bodyPadding:t.wireframe?t.paddingLG:0,footerPadding:t.wireframe?`${Ut(t.paddingXS)} ${Ut(t.padding)}`:0,footerBorderTop:t.wireframe?`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`:"none",footerBorderRadius:t.wireframe?`0 0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)}`:0,footerMarginTop:t.wireframe?0:t.marginSM,confirmBodyPadding:t.wireframe?`${Ut(t.padding*2)} ${Ut(t.padding*2)} ${Ut(t.paddingLG)}`:0,confirmIconMarginInlineEnd:t.wireframe?t.margin:t.marginSM,confirmBtnsMarginTop:t.wireframe?t.marginLG:t.marginSM}),Q_e=Fl("Modal",t=>{const e=q_e(t);return[sMt(e),cMt(e),lMt(e),PW(e,"zoom")]},$_e,{unitless:{titleLineHeight:!0}});var uMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{y0e={x:t.pageX,y:t.pageY},setTimeout(()=>{y0e=null},100)};SRt()&&document.documentElement.addEventListener("click",dMt,!0);const Z_e=t=>{var e;const{getPopupContainer:n,getPrefixCls:o,direction:i,modal:r}=m.useContext(Mi),a=j=>{const{onCancel:Y}=t;Y==null||Y(j)},l=j=>{const{onOk:Y}=t;Y==null||Y(j)},{prefixCls:s,className:c,rootClassName:u,open:d,wrapClassName:f,centered:p,getContainer:g,focusTriggerAfterClose:y=!0,style:A,visible:x,width:C=520,footer:b,classNames:v,styles:S}=t,w=uMt(t,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","focusTriggerAfterClose","style","visible","width","footer","classNames","styles"]),T=o("modal",s),P=o(),R=j0(T),[H,D,E]=Q_e(T,R),L=Gn(f,{[`${T}-centered`]:!!p,[`${T}-wrap-rtl`]:i==="rtl"}),U=b!==null&&m.createElement(K_e,Object.assign({},t,{onOk:l,onCancel:a})),[F,W]=Jge(oR(t),oR(r),{closable:!0,closeIcon:m.createElement(E7,{className:`${T}-close-icon`}),closeIconRender:j=>J_e(T,j)}),B=X_e(`.${T}-content`),[k,N]=k7("Modal",w.zIndex);return H(m.createElement(k9,null,m.createElement(rR,{status:!0,override:!0},m.createElement(yW.Provider,{value:N},m.createElement(k_e,Object.assign({width:C},w,{zIndex:k,getContainer:g===void 0?n:g,prefixCls:T,rootClassName:Gn(D,u,E,R),footer:U,visible:d??x,mousePosition:(e=w.mousePosition)!==null&&e!==void 0?e:y0e,onClose:a,closable:F,closeIcon:W,focusTriggerAfterClose:y,transitionName:D9(P,"zoom",t.transitionName),maskTransitionName:D9(P,"fade",t.maskTransitionName),className:Gn(D,c,r==null?void 0:r.className),style:Object.assign(Object.assign({},r==null?void 0:r.style),A),classNames:Object.assign(Object.assign(Object.assign({},r==null?void 0:r.classNames),v),{wrapper:Gn(L,v==null?void 0:v.wrapper)}),styles:Object.assign(Object.assign({},r==null?void 0:r.styles),S),panelRef:B}))))))},fMt=t=>{const{componentCls:e,titleFontSize:n,titleLineHeight:o,modalConfirmIconSize:i,fontSize:r,lineHeight:a,modalTitleHeight:l,fontHeight:s,confirmBodyPadding:c}=t,u=`${e}-confirm`;return{[u]:{"&-rtl":{direction:"rtl"},[`${t.antCls}-modal-header`]:{display:"none"},[`${u}-body-wrapper`]:Object.assign({},Yk()),[`&${e} ${e}-body`]:{padding:c},[`${u}-body`]:{display:"flex",flexWrap:"nowrap",alignItems:"start",[`> ${t.iconCls}`]:{flex:"none",fontSize:i,marginInlineEnd:t.confirmIconMarginInlineEnd,marginTop:t.calc(t.calc(s).sub(i).equal()).div(2).equal()},[`&-has-title > ${t.iconCls}`]:{marginTop:t.calc(t.calc(l).sub(i).equal()).div(2).equal()}},[`${u}-paragraph`]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:t.marginXS},[`${t.iconCls} + ${u}-paragraph`]:{maxWidth:`calc(100% - ${Ut(t.calc(t.modalConfirmIconSize).add(t.marginSM).equal())})`},[`${u}-title`]:{color:t.colorTextHeading,fontWeight:t.fontWeightStrong,fontSize:n,lineHeight:o},[`${u}-content`]:{color:t.colorText,fontSize:r,lineHeight:a},[`${u}-btns`]:{textAlign:"end",marginTop:t.confirmBtnsMarginTop,[`${t.antCls}-btn + ${t.antCls}-btn`]:{marginBottom:0,marginInlineStart:t.marginXS}}},[`${u}-error ${u}-body > ${t.iconCls}`]:{color:t.colorError},[`${u}-warning ${u}-body > ${t.iconCls}, + ${u}-confirm ${u}-body > ${t.iconCls}`]:{color:t.colorWarning},[`${u}-info ${u}-body > ${t.iconCls}`]:{color:t.colorInfo},[`${u}-success ${u}-body > ${t.iconCls}`]:{color:t.colorSuccess}}},hMt=mW(["Modal","confirm"],t=>{const e=q_e(t);return[fMt(e)]},$_e,{order:-1e3});var pMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);iC,Xa(Object.values(C))),v=m.createElement(m.Fragment,null,m.createElement(i8e,null),m.createElement(r8e,null)),S=t.title!==void 0&&t.title!==null,w=`${r}-body`;return m.createElement("div",{className:`${r}-body-wrapper`},m.createElement("div",{className:Gn(w,{[`${w}-has-title`]:S})},d,m.createElement("div",{className:`${r}-paragraph`},S&&m.createElement("span",{className:`${r}-title`},t.title),m.createElement("div",{className:`${r}-content`},t.content))),s===void 0||typeof s=="function"?m.createElement(H_e,{value:b},m.createElement("div",{className:`${r}-btns`},typeof s=="function"?s(v,{OkBtn:r8e,CancelBtn:i8e}):v)):s,m.createElement(hMt,{prefixCls:e}))}const gMt=t=>{const{close:e,zIndex:n,afterClose:o,open:i,keyboard:r,centered:a,getContainer:l,maskStyle:s,direction:c,prefixCls:u,wrapClassName:d,rootPrefixCls:f,bodyStyle:p,closable:g=!1,closeIcon:y,modalRender:A,focusTriggerAfterClose:x,onConfirm:C,styles:b}=t,v=`${u}-confirm`,S=t.width||416,w=t.style||{},T=t.mask===void 0?!0:t.mask,P=t.maskClosable===void 0?!1:t.maskClosable,R=Gn(v,`${v}-${t.type}`,{[`${v}-rtl`]:c==="rtl"},t.className),[,H]=Yu(),D=m.useMemo(()=>n!==void 0?n:H.zIndexPopupBase+Yge,[n,H]);return m.createElement(Z_e,{prefixCls:u,className:R,wrapClassName:Gn({[`${v}-centered`]:!!t.centered},d),onCancel:()=>{e==null||e({triggerCancel:!0}),C==null||C(!1)},open:i,title:"",footer:null,transitionName:D9(f||"","zoom",t.transitionName),maskTransitionName:D9(f||"","fade",t.maskTransitionName),mask:T,maskClosable:P,style:w,styles:Object.assign({body:p,mask:s},b),width:S,zIndex:D,afterClose:o,keyboard:r,centered:a,getContainer:l,closable:g,closeIcon:y,modalRender:A,focusTriggerAfterClose:x},m.createElement(eVe,Object.assign({},t,{confirmPrefixCls:v})))},tVe=t=>{const{rootPrefixCls:e,iconPrefixCls:n,direction:o,theme:i}=t;return m.createElement(iy,{prefixCls:e,iconPrefixCls:n,direction:o,theme:i},m.createElement(gMt,Object.assign({},t)))},Fv=[];let nVe="";function oVe(){return nVe}const mMt=t=>{var e,n;const{prefixCls:o,getContainer:i,direction:r}=t,a=lOe(),l=m.useContext(Mi),s=oVe()||l.getPrefixCls(),c=o||`${s}-modal`;let u=i;return u===!1&&(u=void 0),Se.createElement(tVe,Object.assign({},t,{rootPrefixCls:s,prefixCls:c,iconPrefixCls:l.iconPrefixCls,theme:l.theme,direction:r??l.direction,locale:(n=(e=l.locale)===null||e===void 0?void 0:e.Modal)!==null&&n!==void 0?n:a,getContainer:u}))};function CW(t){const e=$Oe(),n=document.createDocumentFragment();let o=Object.assign(Object.assign({},t),{close:l,open:!0}),i;function r(){for(var c=arguments.length,u=new Array(c),d=0;dp&&p.triggerCancel);t.onCancel&&f&&t.onCancel.apply(t,[()=>{}].concat(Xa(u.slice(1))));for(let p=0;p{const u=e.getPrefixCls(void 0,oVe()),d=e.getIconPrefixCls(),f=e.getTheme(),p=Se.createElement(mMt,Object.assign({},c));_ge(Se.createElement(iy,{prefixCls:u,iconPrefixCls:d,theme:f},e.holderRender?e.holderRender(p):p),n)})}function l(){for(var c=arguments.length,u=new Array(c),d=0;d{typeof t.afterClose=="function"&&t.afterClose(),r.apply(this,u)}}),o.visible&&delete o.visible,a(o)}function s(c){typeof c=="function"?o=c(o):o=Object.assign(Object.assign({},o),c),a(o)}return a(o),Fv.push(l),{destroy:l,update:s}}function iVe(t){return Object.assign(Object.assign({},t),{type:"warning"})}function rVe(t){return Object.assign(Object.assign({},t),{type:"info"})}function aVe(t){return Object.assign(Object.assign({},t),{type:"success"})}function lVe(t){return Object.assign(Object.assign({},t),{type:"error"})}function sVe(t){return Object.assign(Object.assign({},t),{type:"confirm"})}function yMt(t){let{rootPrefixCls:e}=t;nVe=e}var AMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,{afterClose:o,config:i}=t,r=AMt(t,["afterClose","config"]);const[a,l]=m.useState(!0),[s,c]=m.useState(i),{direction:u,getPrefixCls:d}=m.useContext(Mi),f=d("modal"),p=d(),g=()=>{var C;o(),(C=s.afterClose)===null||C===void 0||C.call(s)},y=function(){l(!1);for(var C=arguments.length,b=new Array(C),v=0;vw&&w.triggerCancel);s.onCancel&&S&&s.onCancel.apply(s,[()=>{}].concat(Xa(b.slice(1))))};m.useImperativeHandle(e,()=>({destroy:y,update:C=>{c(b=>Object.assign(Object.assign({},b),C))}}));const A=(n=s.okCancel)!==null&&n!==void 0?n:s.type==="confirm",[x]=D7("Modal",t7.Modal);return m.createElement(tVe,Object.assign({prefixCls:f,rootPrefixCls:p},s,{close:y,open:a,afterClose:g,okText:s.okText||(A?x==null?void 0:x.okText:x==null?void 0:x.justOkText),direction:s.direction||u,cancelText:s.cancelText||(x==null?void 0:x.cancelText)},r))},vMt=m.forwardRef(wMt);let N8e=0;const xMt=m.memo(m.forwardRef((t,e)=>{const[n,o]=cCt();return m.useImperativeHandle(e,()=>({patchElement:o}),[]),m.createElement(m.Fragment,null,n)}));function bMt(){const t=m.useRef(null),[e,n]=m.useState([]);m.useEffect(()=>{e.length&&(Xa(e).forEach(a=>{a()}),n([]))},[e]);const o=m.useCallback(r=>function(l){var s;N8e+=1;const c=m.createRef();let u;const d=new Promise(A=>{u=A});let f=!1,p;const g=m.createElement(vMt,{key:`modal-${N8e}`,config:r(l),ref:c,afterClose:()=>{p==null||p()},isSilent:()=>f,onConfirm:A=>{u(A)}});return p=(s=t.current)===null||s===void 0?void 0:s.patchElement(g),p&&Fv.push(p),{destroy:()=>{function A(){var x;(x=c.current)===null||x===void 0||x.destroy()}c.current?A():n(x=>[].concat(Xa(x),[A]))},update:A=>{function x(){var C;(C=c.current)===null||C===void 0||C.update(A)}c.current?x():n(C=>[].concat(Xa(C),[x]))},then:A=>(f=!0,d.then(A))}},[]);return[m.useMemo(()=>({info:o(rVe),success:o(aVe),error:o(lVe),warning:o(iVe),confirm:o(sVe)}),[]),m.createElement(xMt,{key:"modal-holder",ref:t})]}const SMt=Se.createContext({});function cVe(t){return e=>m.createElement(iy,{theme:{token:{motion:!1,zIndexPopupBase:0}}},m.createElement(t,Object.assign({},e)))}const RW=(t,e,n,o)=>cVe(r=>{const{prefixCls:a,style:l}=r,s=m.useRef(null),[c,u]=m.useState(0),[d,f]=m.useState(0),[p,g]=_6(!1,{value:r.open}),{getPrefixCls:y}=m.useContext(Mi),A=y(e||"select",a);m.useEffect(()=>{if(g(!0),typeof ResizeObserver<"u"){const b=new ResizeObserver(S=>{const w=S[0].target;u(w.offsetHeight+8),f(w.offsetWidth)}),v=setInterval(()=>{var S;const w=n?`.${n(A)}`:`.${A}-dropdown`,T=(S=s.current)===null||S===void 0?void 0:S.querySelector(w);T&&(clearInterval(v),b.observe(T))},10);return()=>{clearInterval(v),b.disconnect()}}},[]);let x=Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},l),{margin:0}),open:p,visible:p,getPopupContainer:()=>s.current});o&&(x=o(x));const C={paddingBottom:c,position:"relative",minWidth:d};return m.createElement("div",{ref:s,style:C},m.createElement(t,Object.assign({},x)))});function Ia(t){var e=m.useRef();e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a"u"||typeof window>"u")return!1;var t=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(t==null?void 0:t.substr(0,4))};var y$=function(e){var n=e.className,o=e.customizeIcon,i=e.customizeIconProps,r=e.children,a=e.onMouseDown,l=e.onClick,s=typeof o=="function"?o(i):o;return m.createElement("span",{className:n,onMouseDown:function(u){u.preventDefault(),a==null||a(u)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:l,"aria-hidden":!0},s!==void 0?s:m.createElement("span",{className:Vn(n.split(/\s+/).map(function(c){return"".concat(c,"-icon")}))},r))},TMt=function(e,n,o,i,r){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,l=arguments.length>6?arguments[6]:void 0,s=arguments.length>7?arguments[7]:void 0,c=Se.useMemo(function(){if(gr(i)==="object")return i.clearIcon;if(r)return r},[i,r]),u=Se.useMemo(function(){return!!(!a&&i&&(o.length||l)&&!(s==="combobox"&&l===""))},[i,a,o.length,l,s]);return{allowClear:u,clearIcon:Se.createElement(y$,{className:"".concat(e,"-clear"),onMouseDown:n,customizeIcon:c},"×")}},uVe=m.createContext(null);function PMt(){return m.useContext(uVe)}function CMt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,e=m.useState(!1),n=on(e,2),o=n[0],i=n[1],r=m.useRef(null),a=function(){window.clearTimeout(r.current)};m.useEffect(function(){return a},[]);var l=function(c,u){a(),r.current=window.setTimeout(function(){i(c),u&&u()},t)};return[o,l,a]}function dVe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,e=m.useRef(null),n=m.useRef(null);m.useEffect(function(){return function(){window.clearTimeout(n.current)}},[]);function o(i){(i||e.current===null)&&(e.current=i),window.clearTimeout(n.current),n.current=window.setTimeout(function(){e.current=null},t)}return[function(){return e.current},o]}function RMt(t,e,n,o){var i=m.useRef(null);i.current={open:e,triggerOpen:n,customizedTrigger:o},m.useEffect(function(){function r(a){var l;if(!((l=i.current)!==null&&l!==void 0&&l.customizedTrigger)){var s=a.target;s.shadowRoot&&a.composed&&(s=a.composedPath()[0]||s),i.current.open&&t().filter(function(c){return c}).every(function(c){return!c.contains(s)&&c!==s})&&i.current.triggerOpen(!1)}}return window.addEventListener("mousedown",r),function(){return window.removeEventListener("mousedown",r)}},[])}function HMt(t){return![Bn.ESC,Bn.SHIFT,Bn.BACKSPACE,Bn.TAB,Bn.WIN_KEY,Bn.ALT,Bn.META,Bn.WIN_KEY_RIGHT,Bn.CTRL,Bn.SEMICOLON,Bn.EQUALS,Bn.CAPS_LOCK,Bn.CONTEXT_MENU,Bn.F1,Bn.F2,Bn.F3,Bn.F4,Bn.F5,Bn.F6,Bn.F7,Bn.F8,Bn.F9,Bn.F10,Bn.F11,Bn.F12].includes(t)}var MMt=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],bT=void 0;function IMt(t,e){var n=t.prefixCls,o=t.invalidate,i=t.item,r=t.renderItem,a=t.responsive,l=t.responsiveDisabled,s=t.registerSize,c=t.itemKey,u=t.className,d=t.style,f=t.children,p=t.display,g=t.order,y=t.component,A=y===void 0?"div":y,x=ir(t,MMt),C=a&&!p;function b(P){s(c,P)}m.useEffect(function(){return function(){b(null)}},[]);var v=r&&i!==bT?r(i):f,S;o||(S={opacity:C?0:1,height:C?0:bT,overflowY:C?"hidden":bT,order:a?g:bT,pointerEvents:C?"none":bT,position:C?"absolute":bT});var w={};C&&(w["aria-hidden"]=!0);var T=m.createElement(A,so({className:Vn(!o&&n,u),style:$t($t({},S),d)},w,x,{ref:e}),v);return a&&(T=m.createElement(xd,{onResize:function(R){var H=R.offsetWidth;b(H)},disabled:l},T)),T}var cE=m.forwardRef(IMt);cE.displayName="Item";function zMt(t){if(typeof MessageChannel>"u")za(t);else{var e=new MessageChannel;e.port1.onmessage=function(){return t()},e.port2.postMessage(void 0)}}function DMt(){var t=m.useRef(null),e=function(o){t.current||(t.current=[],zMt(function(){Sd.unstable_batchedUpdates(function(){t.current.forEach(function(i){i()}),t.current=null})})),t.current.push(o)};return e}function vz(t,e){var n=m.useState(e),o=on(n,2),i=o[0],r=o[1],a=Ia(function(l){t(function(){r(l)})});return[i,a]}var wG=Se.createContext(null),EMt=["component"],kMt=["className"],FMt=["className"],LMt=function(e,n){var o=m.useContext(wG);if(!o){var i=e.component,r=i===void 0?"div":i,a=ir(e,EMt);return m.createElement(r,so({},a,{ref:n}))}var l=o.className,s=ir(o,kMt),c=e.className,u=ir(e,FMt);return m.createElement(wG.Provider,{value:null},m.createElement(cE,so({ref:n,className:Vn(l,c)},s,u)))},fVe=m.forwardRef(LMt);fVe.displayName="RawItem";var WMt=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],hVe="responsive",pVe="invalidate";function NMt(t){return"+ ".concat(t.length," ...")}function UMt(t,e){var n=t.prefixCls,o=n===void 0?"rc-overflow":n,i=t.data,r=i===void 0?[]:i,a=t.renderItem,l=t.renderRawItem,s=t.itemKey,c=t.itemWidth,u=c===void 0?10:c,d=t.ssr,f=t.style,p=t.className,g=t.maxCount,y=t.renderRest,A=t.renderRawRest,x=t.suffix,C=t.component,b=C===void 0?"div":C,v=t.itemComponent,S=t.onVisibleChange,w=ir(t,WMt),T=d==="full",P=DMt(),R=vz(P,null),H=on(R,2),D=H[0],E=H[1],L=D||0,U=vz(P,new Map),F=on(U,2),W=F[0],B=F[1],k=vz(P,0),N=on(k,2),j=N[0],Y=N[1],_=vz(P,0),J=on(_,2),Q=J[0],ee=J[1],$=vz(P,0),q=on($,2),le=q[0],ie=q[1],pe=m.useState(null),ne=on(pe,2),Z=ne[0],he=ne[1],fe=m.useState(null),se=on(fe,2),oe=se[0],de=se[1],ve=m.useMemo(function(){return oe===null&&T?Number.MAX_SAFE_INTEGER:oe||0},[oe,D]),Pe=m.useState(!1),me=on(Pe,2),Re=me[0],ze=me[1],Ae="".concat(o,"-item"),re=Math.max(j,Q),ge=g===hVe,we=r.length&&ge,ye=g===pVe,Te=we||typeof g=="number"&&r.length>g,Ie=m.useMemo(function(){var wt=r;return we?D===null&&T?wt=r:wt=r.slice(0,Math.min(r.length,L/u)):typeof g=="number"&&(wt=r.slice(0,g)),wt},[r,u,D,g,we]),Ce=m.useMemo(function(){return we?r.slice(ve+1):r.slice(Ie.length)},[r,Ie,we,ve]),Ee=m.useCallback(function(wt,rt){var Qe;return typeof s=="function"?s(wt):(Qe=s&&(wt==null?void 0:wt[s]))!==null&&Qe!==void 0?Qe:rt},[s]),Ue=m.useCallback(a||function(wt){return wt},[a]);function Ne(wt,rt,Qe){oe===wt&&(rt===void 0||rt===Z)||(de(wt),Qe||(ze(wtL){Ne(Oe-1,wt-et-le+Q);break}}x&&Fe(0)+le>L&&he(null)}},[L,W,Q,le,Ee,Ie]);var _e=Re&&!!Ce.length,ot={};Z!==null&&we&&(ot={position:"absolute",left:Z,top:0});var Ye={prefixCls:Ae,responsive:we,component:v,invalidate:ye},St=l?function(wt,rt){var Qe=Ee(wt,rt);return m.createElement(wG.Provider,{key:Qe,value:$t($t({},Ye),{},{order:rt,item:wt,itemKey:Qe,registerSize:qe,display:rt<=ve})},l(wt,rt))}:function(wt,rt){var Qe=Ee(wt,rt);return m.createElement(cE,so({},Ye,{order:rt,key:Qe,item:wt,renderItem:Ue,itemKey:Qe,registerSize:qe,display:rt<=ve}))},dt,je={order:_e?ve:Number.MAX_SAFE_INTEGER,className:"".concat(Ae,"-rest"),registerSize:We,display:_e};if(A)A&&(dt=m.createElement(wG.Provider,{value:$t($t({},Ye),je)},A(Ce)));else{var at=y||NMt;dt=m.createElement(cE,so({},Ye,je),typeof at=="function"?at(Ce):at)}var ut=m.createElement(b,so({className:Vn(!ye&&o,p),style:f,ref:e},w),Ie.map(St),Te?dt:null,x&&m.createElement(cE,so({},Ye,{responsive:ge,responsiveDisabled:!we,order:ve,className:"".concat(Ae,"-suffix"),registerSize:De,display:!0,style:ot}),x));return ge&&(ut=m.createElement(xd,{onResize:Le,disabled:!we},ut)),ut}var H2=m.forwardRef(UMt);H2.displayName="Overflow";H2.Item=fVe;H2.RESPONSIVE=hVe;H2.INVALIDATE=pVe;var BMt=function(e,n){var o,i=e.prefixCls,r=e.id,a=e.inputElement,l=e.disabled,s=e.tabIndex,c=e.autoFocus,u=e.autoComplete,d=e.editable,f=e.activeDescendantId,p=e.value,g=e.maxLength,y=e.onKeyDown,A=e.onMouseDown,x=e.onChange,C=e.onPaste,b=e.onCompositionStart,v=e.onCompositionEnd,S=e.open,w=e.attrs,T=a||m.createElement("input",null),P=T,R=P.ref,H=P.props,D=H.onKeyDown,E=H.onChange,L=H.onMouseDown,U=H.onCompositionStart,F=H.onCompositionEnd,W=H.style;return"maxLength"in T.props,T=m.cloneElement(T,$t($t($t({type:"search"},H),{},{id:r,ref:Rb(n,R),disabled:l,tabIndex:s,autoComplete:u||"off",autoFocus:c,className:Vn("".concat(i,"-selection-search-input"),(o=T)===null||o===void 0||(o=o.props)===null||o===void 0?void 0:o.className),role:"combobox","aria-expanded":S||!1,"aria-haspopup":"listbox","aria-owns":"".concat(r,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(r,"_list"),"aria-activedescendant":S?f:void 0},w),{},{value:d?p:"",maxLength:g,readOnly:!d,unselectable:d?null:"on",style:$t($t({},W),{},{opacity:d?null:0}),onKeyDown:function(k){y(k),D&&D(k)},onMouseDown:function(k){A(k),L&&L(k)},onChange:function(k){x(k),E&&E(k)},onCompositionStart:function(k){b(k),U&&U(k)},onCompositionEnd:function(k){v(k),F&&F(k)},onPaste:C})),T},gVe=m.forwardRef(BMt);function mVe(t){return Array.isArray(t)?t:t!==void 0?[t]:[]}var jMt=typeof window<"u"&&window.document&&window.document.documentElement,YMt=jMt;function OMt(t){return t!=null}function _Mt(t){return!t&&t!==0}function U8e(t){return["string","number"].includes(gr(t))}function yVe(t){var e=void 0;return t&&(U8e(t.title)?e=t.title.toString():U8e(t.label)&&(e=t.label.toString())),e}function VMt(t,e){YMt?m.useLayoutEffect(t,e):m.useEffect(t,e)}function GMt(t){var e;return(e=t.key)!==null&&e!==void 0?e:t.value}var B8e=function(e){e.preventDefault(),e.stopPropagation()},XMt=function(e){var n=e.id,o=e.prefixCls,i=e.values,r=e.open,a=e.searchValue,l=e.autoClearSearchValue,s=e.inputRef,c=e.placeholder,u=e.disabled,d=e.mode,f=e.showSearch,p=e.autoFocus,g=e.autoComplete,y=e.activeDescendantId,A=e.tabIndex,x=e.removeIcon,C=e.maxTagCount,b=e.maxTagTextLength,v=e.maxTagPlaceholder,S=v===void 0?function(he){return"+ ".concat(he.length," ...")}:v,w=e.tagRender,T=e.onToggleOpen,P=e.onRemove,R=e.onInputChange,H=e.onInputPaste,D=e.onInputKeyDown,E=e.onInputMouseDown,L=e.onInputCompositionStart,U=e.onInputCompositionEnd,F=m.useRef(null),W=m.useState(0),B=on(W,2),k=B[0],N=B[1],j=m.useState(!1),Y=on(j,2),_=Y[0],J=Y[1],Q="".concat(o,"-selection"),ee=r||d==="multiple"&&l===!1||d==="tags"?a:"",$=d==="tags"||d==="multiple"&&l===!1||f&&(r||_);VMt(function(){N(F.current.scrollWidth)},[ee]);var q=function(fe,se,oe,de,ve){return m.createElement("span",{title:yVe(fe),className:Vn("".concat(Q,"-item"),_t({},"".concat(Q,"-item-disabled"),oe))},m.createElement("span",{className:"".concat(Q,"-item-content")},se),de&&m.createElement(y$,{className:"".concat(Q,"-item-remove"),onMouseDown:B8e,onClick:ve,customizeIcon:x},"×"))},le=function(fe,se,oe,de,ve,Pe){var me=function(ze){B8e(ze),T(!r)};return m.createElement("span",{onMouseDown:me},w({label:se,value:fe,disabled:oe,closable:de,onClose:ve,isMaxTag:!!Pe}))},ie=function(fe){var se=fe.disabled,oe=fe.label,de=fe.value,ve=!u&&!se,Pe=oe;if(typeof b=="number"&&(typeof oe=="string"||typeof oe=="number")){var me=String(Pe);me.length>b&&(Pe="".concat(me.slice(0,b),"..."))}var Re=function(Ae){Ae&&Ae.stopPropagation(),P(fe)};return typeof w=="function"?le(de,Pe,se,ve,Re):q(fe,Pe,se,ve,Re)},pe=function(fe){var se=typeof S=="function"?S(fe):S;return typeof w=="function"?le(void 0,se,!1,!1,void 0,!0):q({title:se},se,!1)},ne=m.createElement("div",{className:"".concat(Q,"-search"),style:{width:k},onFocus:function(){J(!0)},onBlur:function(){J(!1)}},m.createElement(gVe,{ref:s,open:r,prefixCls:o,id:n,inputElement:null,disabled:u,autoFocus:p,autoComplete:g,editable:$,activeDescendantId:y,value:ee,onKeyDown:D,onMouseDown:E,onChange:R,onPaste:H,onCompositionStart:L,onCompositionEnd:U,tabIndex:A,attrs:gf(e,!0)}),m.createElement("span",{ref:F,className:"".concat(Q,"-search-mirror"),"aria-hidden":!0},ee," ")),Z=m.createElement(H2,{prefixCls:"".concat(Q,"-overflow"),data:i,renderItem:ie,renderRest:pe,suffix:ne,itemKey:GMt,maxCount:C});return m.createElement(m.Fragment,null,Z,!i.length&&!ee&&m.createElement("span",{className:"".concat(Q,"-placeholder")},c))},JMt=function(e){var n=e.inputElement,o=e.prefixCls,i=e.id,r=e.inputRef,a=e.disabled,l=e.autoFocus,s=e.autoComplete,c=e.activeDescendantId,u=e.mode,d=e.open,f=e.values,p=e.placeholder,g=e.tabIndex,y=e.showSearch,A=e.searchValue,x=e.activeValue,C=e.maxLength,b=e.onInputKeyDown,v=e.onInputMouseDown,S=e.onInputChange,w=e.onInputPaste,T=e.onInputCompositionStart,P=e.onInputCompositionEnd,R=e.title,H=m.useState(!1),D=on(H,2),E=D[0],L=D[1],U=u==="combobox",F=U||y,W=f[0],B=A||"";U&&x&&!E&&(B=x),m.useEffect(function(){U&&L(!1)},[U,x]);var k=u!=="combobox"&&!d&&!y?!1:!!B,N=R===void 0?yVe(W):R,j=m.useMemo(function(){return W?null:m.createElement("span",{className:"".concat(o,"-selection-placeholder"),style:k?{visibility:"hidden"}:void 0},p)},[W,k,p,o]);return m.createElement(m.Fragment,null,m.createElement("span",{className:"".concat(o,"-selection-search")},m.createElement(gVe,{ref:r,prefixCls:o,id:i,open:d,inputElement:n,disabled:a,autoFocus:l,autoComplete:s,editable:F,activeDescendantId:c,value:B,onKeyDown:b,onMouseDown:v,onChange:function(_){L(!0),S(_)},onPaste:w,onCompositionStart:T,onCompositionEnd:P,tabIndex:g,attrs:gf(e,!0),maxLength:U?C:void 0})),!U&&W?m.createElement("span",{className:"".concat(o,"-selection-item"),title:N,style:k?{visibility:"hidden"}:void 0},W.label):null,j)},KMt=function(e,n){var o=m.useRef(null),i=m.useRef(!1),r=e.prefixCls,a=e.open,l=e.mode,s=e.showSearch,c=e.tokenWithEnter,u=e.disabled,d=e.autoClearSearchValue,f=e.onSearch,p=e.onSearchSubmit,g=e.onToggleOpen,y=e.onInputKeyDown,A=e.domRef;m.useImperativeHandle(n,function(){return{focus:function(k){o.current.focus(k)},blur:function(){o.current.blur()}}});var x=dVe(0),C=on(x,2),b=C[0],v=C[1],S=function(k){var N=k.which;(N===Bn.UP||N===Bn.DOWN)&&k.preventDefault(),y&&y(k),N===Bn.ENTER&&l==="tags"&&!i.current&&!a&&(p==null||p(k.target.value)),HMt(N)&&g(!0)},w=function(){v(!0)},T=m.useRef(null),P=function(k){f(k,!0,i.current)!==!1&&g(!0)},R=function(){i.current=!0},H=function(k){i.current=!1,l!=="combobox"&&P(k.target.value)},D=function(k){var N=k.target.value;if(c&&T.current&&/[\r\n]/.test(T.current)){var j=T.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");N=N.replace(j,T.current)}T.current=null,P(N)},E=function(k){var N=k.clipboardData,j=N==null?void 0:N.getData("text");T.current=j||""},L=function(k){var N=k.target;if(N!==o.current){var j=document.body.style.msTouchAction!==void 0;j?setTimeout(function(){o.current.focus()}):o.current.focus()}},U=function(k){var N=b();k.target!==o.current&&!N&&!(l==="combobox"&&u)&&k.preventDefault(),(l!=="combobox"&&(!s||!N)||!a)&&(a&&d!==!1&&f("",!0,!1),g())},F={inputRef:o,onInputKeyDown:S,onInputMouseDown:w,onInputChange:D,onInputPaste:E,onInputCompositionStart:R,onInputCompositionEnd:H},W=l==="multiple"||l==="tags"?m.createElement(XMt,so({},e,F)):m.createElement(JMt,so({},e,F));return m.createElement("div",{ref:A,className:"".concat(r,"-selector"),onClick:L,onMouseDown:U},W)},qMt=m.forwardRef(KMt);function Xk(t){"@babel/helpers - typeof";return Xk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xk(t)}function $Mt(t,e){if(Xk(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(Xk(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function QMt(t){var e=$Mt(t,"string");return Xk(e)==="symbol"?e:String(e)}function ZMt(t,e,n){return e=QMt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function j8e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $h(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function iIt(t,e){if(t==null)return{};var n=oIt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function vG(){return vG=Object.assign?Object.assign.bind():function(t){for(var e=1;e0,J=m.useState(!b||!_),Q=$d(J,2),ee=Q[0],$=Q[1];if(Ba(function(){!ee&&_&&a&&$(!0)},[ee,_,a]),!ee)return null;var q="auto",le={left:"-1000vw",top:"-1000vh",right:q,bottom:q};if(H||!s){var ie,pe=y.points,ne=y.dynamicInset||((ie=y._experimental)===null||ie===void 0?void 0:ie.dynamicInset),Z=ne&&pe[0][1]==="r",he=ne&&pe[0][0]==="b";Z?(le.right=L,le.left=q):(le.left=D,le.right=q),he?(le.bottom=U,le.top=q):(le.top=E,le.bottom=q)}var fe={};return B&&(B.includes("height")&&N?fe.height=N:B.includes("minHeight")&&N&&(fe.minHeight=N),B.includes("width")&&k?fe.width=k:B.includes("minWidth")&&k&&(fe.minWidth=k)),s||(fe.pointerEvents="none"),m.createElement(S,{open:C||Y,getContainer:b&&function(){return b(a)},autoDestroy:v},m.createElement(aIt,{prefixCls:i,open:s,zIndex:w,mask:f,motion:x}),m.createElement(xd,{onResize:F,disabled:!s},function(se){return m.createElement(Cg,vG({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:C,leavedClassName:"".concat(i,"-hidden")},A,{onAppearPrepare:W,onEnterPrepare:W,visible:s,onVisibleChanged:function(de){var ve;A==null||(ve=A.onVisibleChanged)===null||ve===void 0||ve.call(A,de),l(de)}}),function(oe,de){var ve=oe.className,Pe=oe.style,me=Vn(i,ve,o);return m.createElement("div",{ref:Rb(se,e,de),className:me,style:$h($h($h($h({"--arrow-x":"".concat(g.x||0,"px"),"--arrow-y":"".concat(g.y||0,"px")},le),fe),Pe),{},{boxSizing:"border-box",zIndex:w},r),onMouseEnter:T,onMouseLeave:P,onPointerEnter:R,onClick:d},p&&m.createElement(rIt,{prefixCls:i,arrow:p,arrowPos:g,align:y}),m.createElement(lIt,{cache:!s&&!u},j))})}))}),cIt=m.forwardRef(function(t,e){var n=t.children,o=t.getTriggerDOMNode,i=Zw(n),r=m.useCallback(function(l){Lk(e,o?o(l):l)},[o]),a=z7(r,n.ref);return i?m.cloneElement(n,{ref:a}):n}),Y8e=m.createContext(null);function O8e(t){return t?Array.isArray(t)?t:[t]:[]}function uIt(t,e,n,o){return m.useMemo(function(){var i=O8e(n??e),r=O8e(o??e),a=new Set(i),l=new Set(r);return t&&(a.has("hover")&&(a.delete("hover"),a.add("click")),l.has("hover")&&(l.delete("hover"),l.add("click"))),[a,l]},[t,e,n,o])}const A$=function(t){if(!t)return!1;if(t instanceof Element){if(t.offsetParent)return!0;if(t.getBBox){var e=t.getBBox(),n=e.width,o=e.height;if(n||o)return!0}if(t.getBoundingClientRect){var i=t.getBoundingClientRect(),r=i.width,a=i.height;if(r||a)return!0}}return!1};function dIt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;return n?t[0]===e[0]:t[0]===e[0]&&t[1]===e[1]}function fIt(t,e,n,o){for(var i=n.points,r=Object.keys(t),a=0;a1&&arguments[1]!==void 0?arguments[1]:1;return Number.isNaN(t)?e:t}function xz(t){return Jk(parseFloat(t),0)}function V8e(t,e){var n=$h({},t);return(e||[]).forEach(function(o){if(!(o instanceof HTMLBodyElement||o instanceof HTMLHtmlElement)){var i=HW(o).getComputedStyle(o),r=i.overflow,a=i.overflowClipMargin,l=i.borderTopWidth,s=i.borderBottomWidth,c=i.borderLeftWidth,u=i.borderRightWidth,d=o.getBoundingClientRect(),f=o.offsetHeight,p=o.clientHeight,g=o.offsetWidth,y=o.clientWidth,A=xz(l),x=xz(s),C=xz(c),b=xz(u),v=Jk(Math.round(d.width/g*1e3)/1e3),S=Jk(Math.round(d.height/f*1e3)/1e3),w=(g-y-C-b)*v,T=(f-p-A-x)*S,P=A*S,R=x*S,H=C*v,D=b*v,E=0,L=0;if(r==="clip"){var U=xz(a);E=U*v,L=U*S}var F=d.x+H-E,W=d.y+P-L,B=F+d.width+2*E-H-D-w,k=W+d.height+2*L-P-R-T;n.left=Math.max(n.left,F),n.top=Math.max(n.top,W),n.right=Math.min(n.right,B),n.bottom=Math.min(n.bottom,k)}}),n}function G8e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n="".concat(e),o=n.match(/^(.*)\%$/);return o?t*(parseFloat(o[1])/100):parseFloat(n)}function X8e(t,e){var n=e||[],o=$d(n,2),i=o[0],r=o[1];return[G8e(t.width,i),G8e(t.height,r)]}function J8e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return[t[0],t[1]]}function ST(t,e){var n=e[0],o=e[1],i,r;return n==="t"?r=t.y:n==="b"?r=t.y+t.height:r=t.y+t.height/2,o==="l"?i=t.x:o==="r"?i=t.x+t.width:i=t.x+t.width/2,{x:i,y:r}}function w4(t,e){var n={t:"b",b:"t",l:"r",r:"l"};return t.map(function(o,i){return i===e?n[o]||"c":o}).join("")}function hIt(t,e,n,o,i,r,a){var l=m.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:i[o]||{}}),s=$d(l,2),c=s[0],u=s[1],d=m.useRef(0),f=m.useMemo(function(){return e?w0e(e):[]},[e]),p=m.useRef({}),g=function(){p.current={}};t||g();var y=Ia(function(){if(e&&n&&t){let go=function(Uo,_i){var Qo=arguments.length>2&&arguments[2]!==void 0?arguments[2]:me,ar=j.x+Uo,ur=j.y+_i,$o=ar+ie,ba=ur+le,Mo=Math.max(ar,Qo.left),$i=Math.max(ur,Qo.top),Za=Math.min($o,Qo.right),ti=Math.min(ba,Qo.bottom);return Math.max(0,(Za-Mo)*(ti-$i))},So=function(){Mt=j.y+at,st=Mt+le,ft=j.x+je,Rt=ft+ie};var Ro=go,oi=So,C,b,v=e,S=v.ownerDocument,w=HW(v),T=w.getComputedStyle(v),P=T.width,R=T.height,H=T.position,D=v.style.left,E=v.style.top,L=v.style.right,U=v.style.bottom,F=v.style.overflow,W=$h($h({},i[o]),r),B=S.createElement("div");(C=v.parentElement)===null||C===void 0||C.appendChild(B),B.style.left="".concat(v.offsetLeft,"px"),B.style.top="".concat(v.offsetTop,"px"),B.style.position=H,B.style.height="".concat(v.offsetHeight,"px"),B.style.width="".concat(v.offsetWidth,"px"),v.style.left="0",v.style.top="0",v.style.right="auto",v.style.bottom="auto",v.style.overflow="hidden";var k;if(Array.isArray(n))k={x:n[0],y:n[1],width:0,height:0};else{var N=n.getBoundingClientRect();k={x:N.x,y:N.y,width:N.width,height:N.height}}var j=v.getBoundingClientRect(),Y=S.documentElement,_=Y.clientWidth,J=Y.clientHeight,Q=Y.scrollWidth,ee=Y.scrollHeight,$=Y.scrollTop,q=Y.scrollLeft,le=j.height,ie=j.width,pe=k.height,ne=k.width,Z={left:0,top:0,right:_,bottom:J},he={left:-q,top:-$,right:Q-q,bottom:ee-$},fe=W.htmlRegion,se="visible",oe="visibleFirst";fe!=="scroll"&&fe!==oe&&(fe=se);var de=fe===oe,ve=V8e(he,f),Pe=V8e(Z,f),me=fe===se?Pe:ve,Re=de?Pe:me;v.style.left="auto",v.style.top="auto",v.style.right="0",v.style.bottom="0";var ze=v.getBoundingClientRect();v.style.left=D,v.style.top=E,v.style.right=L,v.style.bottom=U,v.style.overflow=F,(b=v.parentElement)===null||b===void 0||b.removeChild(B);var Ae=Jk(Math.round(ie/parseFloat(P)*1e3)/1e3),re=Jk(Math.round(le/parseFloat(R)*1e3)/1e3);if(Ae===0||re===0||iG(n)&&!A$(n))return;var ge=W.offset,we=W.targetOffset,ye=X8e(j,ge),Te=$d(ye,2),Ie=Te[0],Ce=Te[1],Ee=X8e(k,we),Ue=$d(Ee,2),Ne=Ue[0],Le=Ue[1];k.x-=Ne,k.y-=Le;var qe=W.points||[],We=$d(qe,2),De=We[0],Fe=We[1],_e=J8e(Fe),ot=J8e(De),Ye=ST(k,_e),St=ST(j,ot),dt=$h({},W),je=Ye.x-St.x+Ie,at=Ye.y-St.y+Ce,ut=go(je,at),wt=go(je,at,Pe),rt=ST(k,["t","l"]),Qe=ST(j,["t","l"]),Oe=ST(k,["b","r"]),et=ST(j,["b","r"]),vt=W.overflow||{},ct=vt.adjustX,lt=vt.adjustY,tt=vt.shiftX,it=vt.shiftY,At=function(_i){return typeof _i=="boolean"?_i:_i>=0},Mt,st,ft,Rt;So();var zt=At(lt),Xe=ot[0]===_e[0];if(zt&&ot[0]==="t"&&(st>Re.bottom||p.current.bt)){var ht=at;Xe?ht-=le-pe:ht=rt.y-et.y-Ce;var Je=go(je,ht),mt=go(je,ht,Pe);Je>ut||Je===ut&&(!de||mt>=wt)?(p.current.bt=!0,at=ht,Ce=-Ce,dt.points=[w4(ot,0),w4(_e,0)]):p.current.bt=!1}if(zt&&ot[0]==="b"&&(Mtut||xt===ut&&(!de||It>=wt)?(p.current.tb=!0,at=Ge,Ce=-Ce,dt.points=[w4(ot,0),w4(_e,0)]):p.current.tb=!1}var Tt=At(ct),Dt=ot[1]===_e[1];if(Tt&&ot[1]==="l"&&(Rt>Re.right||p.current.rl)){var Lt=je;Dt?Lt-=ie-ne:Lt=rt.x-et.x-Ie;var Et=go(Lt,at),an=go(Lt,at,Pe);Et>ut||Et===ut&&(!de||an>=wt)?(p.current.rl=!0,je=Lt,Ie=-Ie,dt.points=[w4(ot,1),w4(_e,1)]):p.current.rl=!1}if(Tt&&ot[1]==="r"&&(ftut||hn===ut&&(!de||cn>=wt)?(p.current.lr=!0,je=Jt,Ie=-Ie,dt.points=[w4(ot,1),w4(_e,1)]):p.current.lr=!1}So();var Sn=tt===!0?0:tt;typeof Sn=="number"&&(ftPe.right&&(je-=Rt-Pe.right-Ie,k.x>Pe.right-Sn&&(je+=k.x-Pe.right+Sn)));var Pn=it===!0?0:it;typeof Pn=="number"&&(MtPe.bottom&&(at-=st-Pe.bottom-Ce,k.y>Pe.bottom-Pn&&(at+=k.y-Pe.bottom+Pn)));var Un=j.x+je,Ai=Un+ie,vo=j.y+at,Oo=vo+le,li=k.x,po=li+ne,eo=k.y,uo=eo+pe,qo=Math.max(Un,li),Hi=Math.min(Ai,po),vi=(qo+Hi)/2,Cn=vi-Un,yn=Math.max(vo,eo),to=Math.min(Oo,uo),Do=(yn+to)/2,ni=Do-vo;a==null||a(e,dt);var Fo=ze.right-j.x-(je+j.width),bo=ze.bottom-j.y-(at+j.height);u({ready:!0,offsetX:je/Ae,offsetY:at/re,offsetR:Fo/Ae,offsetB:bo/re,arrowX:Cn/Ae,arrowY:ni/re,scaleX:Ae,scaleY:re,align:dt})}}),A=function(){d.current+=1;var b=d.current;Promise.resolve().then(function(){d.current===b&&y()})},x=function(){u(function(b){return $h($h({},b),{},{ready:!1})})};return Ba(x,[o]),Ba(function(){t||x()},[t]),[c.ready,c.offsetX,c.offsetY,c.offsetR,c.offsetB,c.arrowX,c.arrowY,c.scaleX,c.scaleY,c.align,A]}function pIt(t){if(Array.isArray(t))return A0e(t)}function gIt(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function mIt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function K8e(t){return pIt(t)||gIt(t)||AVe(t)||mIt()}function yIt(t,e,n,o,i){Ba(function(){if(t&&e&&n){let f=function(){o(),i()};var d=f,r=e,a=n,l=w0e(r),s=w0e(a),c=HW(a),u=new Set([c].concat(K8e(l),K8e(s)));return u.forEach(function(p){p.addEventListener("scroll",f,{passive:!0})}),c.addEventListener("resize",f,{passive:!0}),o(),function(){u.forEach(function(p){p.removeEventListener("scroll",f),c.removeEventListener("resize",f)})}}},[t,e,n])}function AIt(t,e,n,o,i,r,a,l){var s=m.useRef(t);s.current=t,m.useEffect(function(){if(e&&o&&(!i||r)){var c=function(p){var g=p.target;s.current&&!a(g)&&l(!1)},u=HW(o);u.addEventListener("mousedown",c,!0),u.addEventListener("contextmenu",c,!0);var d=gG(n);return d&&(d.addEventListener("mousedown",c,!0),d.addEventListener("contextmenu",c,!0)),function(){u.removeEventListener("mousedown",c,!0),u.removeEventListener("contextmenu",c,!0),d&&(d.removeEventListener("mousedown",c,!0),d.removeEventListener("contextmenu",c,!0))}}},[e,n,o,i,r])}var wIt=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];function vIt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:u$,e=m.forwardRef(function(n,o){var i=n.prefixCls,r=i===void 0?"rc-trigger-popup":i,a=n.children,l=n.action,s=l===void 0?"hover":l,c=n.showAction,u=n.hideAction,d=n.popupVisible,f=n.defaultPopupVisible,p=n.onPopupVisibleChange,g=n.afterPopupVisibleChange,y=n.mouseEnterDelay,A=n.mouseLeaveDelay,x=A===void 0?.1:A,C=n.focusDelay,b=n.blurDelay,v=n.mask,S=n.maskClosable,w=S===void 0?!0:S,T=n.getPopupContainer,P=n.forceRender,R=n.autoDestroy,H=n.destroyPopupOnHide,D=n.popup,E=n.popupClassName,L=n.popupStyle,U=n.popupPlacement,F=n.builtinPlacements,W=F===void 0?{}:F,B=n.popupAlign,k=n.zIndex,N=n.stretch,j=n.getPopupClassNameFromAlign,Y=n.fresh,_=n.alignPoint,J=n.onPopupClick,Q=n.onPopupAlign,ee=n.arrow,$=n.popupMotion,q=n.maskMotion,le=n.popupTransitionName,ie=n.popupAnimation,pe=n.maskTransitionName,ne=n.maskAnimation,Z=n.className,he=n.getTriggerDOMNode,fe=iIt(n,wIt),se=R||H||!1,oe=m.useState(!1),de=$d(oe,2),ve=de[0],Pe=de[1];Ba(function(){Pe(m$())},[]);var me=m.useRef({}),Re=m.useContext(Y8e),ze=m.useMemo(function(){return{registerSubPopup:function(ui,Fr){me.current[ui]=Fr,Re==null||Re.registerSubPopup(ui,Fr)}}},[Re]),Ae=z_e(),re=m.useState(null),ge=$d(re,2),we=ge[0],ye=ge[1],Te=m.useRef(null),Ie=Ia(function(ti){Te.current=ti,iG(ti)&&we!==ti&&ye(ti),Re==null||Re.registerSubPopup(Ae,ti)}),Ce=m.useState(null),Ee=$d(Ce,2),Ue=Ee[0],Ne=Ee[1],Le=m.useRef(null),qe=Ia(function(ti){iG(ti)&&Ue!==ti&&(Ne(ti),Le.current=ti)}),We=m.Children.only(a),De=(We==null?void 0:We.props)||{},Fe={},_e=Ia(function(ti){var ui,Fr,Oa=Ue;return(Oa==null?void 0:Oa.contains(ti))||((ui=gG(Oa))===null||ui===void 0?void 0:ui.host)===ti||ti===Oa||(we==null?void 0:we.contains(ti))||((Fr=gG(we))===null||Fr===void 0?void 0:Fr.host)===ti||ti===we||Object.values(me.current).some(function(Br){return(Br==null?void 0:Br.contains(ti))||ti===Br})}),ot=_8e(r,$,ie,le),Ye=_8e(r,q,ne,pe),St=m.useState(f||!1),dt=$d(St,2),je=dt[0],at=dt[1],ut=d??je,wt=Ia(function(ti){d===void 0&&at(ti)});Ba(function(){at(d||!1)},[d]);var rt=m.useRef(ut);rt.current=ut;var Qe=m.useRef([]);Qe.current=[];var Oe=Ia(function(ti){var ui;wt(ti),((ui=Qe.current[Qe.current.length-1])!==null&&ui!==void 0?ui:ut)!==ti&&(Qe.current.push(ti),p==null||p(ti))}),et=m.useRef(),vt=function(){clearTimeout(et.current)},ct=function(ui){var Fr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;vt(),Fr===0?Oe(ui):et.current=setTimeout(function(){Oe(ui)},Fr*1e3)};m.useEffect(function(){return vt},[]);var lt=m.useState(!1),tt=$d(lt,2),it=tt[0],At=tt[1];Ba(function(ti){(!ti||ut)&&At(!0)},[ut]);var Mt=m.useState(null),st=$d(Mt,2),ft=st[0],Rt=st[1],zt=m.useState([0,0]),Xe=$d(zt,2),ht=Xe[0],Je=Xe[1],mt=function(ui){Je([ui.clientX,ui.clientY])},Ge=hIt(ut,we,_?ht:Ue,U,W,B,Q),xt=$d(Ge,11),It=xt[0],Tt=xt[1],Dt=xt[2],Lt=xt[3],Et=xt[4],an=xt[5],Jt=xt[6],hn=xt[7],cn=xt[8],Sn=xt[9],Pn=xt[10],Un=uIt(ve,s,c,u),Ai=$d(Un,2),vo=Ai[0],Oo=Ai[1],li=vo.has("click"),po=Oo.has("click")||Oo.has("contextMenu"),eo=Ia(function(){it||Pn()}),uo=function(){rt.current&&_&&po&&ct(!1)};yIt(ut,Ue,we,eo,uo),Ba(function(){eo()},[ht,U]),Ba(function(){ut&&!(W!=null&&W[U])&&eo()},[JSON.stringify(B)]);var qo=m.useMemo(function(){var ti=fIt(W,r,Sn,_);return Vn(ti,j==null?void 0:j(Sn))},[Sn,j,W,r,_]);m.useImperativeHandle(o,function(){return{nativeElement:Le.current,popupElement:Te.current,forceAlign:eo}});var Hi=m.useState(0),vi=$d(Hi,2),Cn=vi[0],yn=vi[1],to=m.useState(0),Do=$d(to,2),ni=Do[0],Fo=Do[1],bo=function(){if(N&&Ue){var ui=Ue.getBoundingClientRect();yn(ui.width),Fo(ui.height)}},Ro=function(){bo(),eo()},oi=function(ui){At(!1),Pn(),g==null||g(ui)},go=function(){return new Promise(function(ui){bo(),Rt(function(){return ui})})};Ba(function(){ft&&(Pn(),ft(),Rt(null))},[ft]);function So(ti,ui,Fr,Oa){Fe[ti]=function(Br){var Pc;Oa==null||Oa(Br),ct(ui,Fr);for(var Is=arguments.length,qs=new Array(Is>1?Is-1:0),Pr=1;Pr1?Fr-1:0),Br=1;Br1?Fr-1:0),Br=1;Br1&&arguments[1]!==void 0?arguments[1]:{},n=e.fieldNames,o=e.childrenAsData,i=[],r=wVe(n,!1),a=r.label,l=r.value,s=r.options,c=r.groupLabel;function u(d,f){Array.isArray(d)&&d.forEach(function(p){if(f||!(s in p)){var g=p[l];i.push({key:q8e(p,i.length),groupOption:f,data:p,label:p[a],value:g})}else{var y=p[c];y===void 0&&o&&(y=p.label),i.push({key:q8e(p,i.length),group:!0,data:p,label:y}),u(p[s],!0)}})}return u(t,!1),i}function x0e(t){var e=$t({},t);return"props"in e||Object.defineProperty(e,"props",{get:function(){return U0(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),e}}),e}var CIt=function(e,n,o){if(!n||!n.length)return null;var i=!1,r=function l(s,c){var u=j_e(c),d=u[0],f=u.slice(1);if(!d)return[s];var p=s.split(d);return i=i||p.length>1,p.reduce(function(g,y){return[].concat(Wo(g),Wo(l(y,f)))},[]).filter(Boolean)},a=r(e,n);return i?typeof o<"u"?a.slice(0,o):a:null},Qge=m.createContext(null),RIt=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],HIt=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],b0e=function(e){return e==="tags"||e==="multiple"},MIt=m.forwardRef(function(t,e){var n,o=t.id,i=t.prefixCls,r=t.className,a=t.showSearch,l=t.tagRender,s=t.direction,c=t.omitDomProps,u=t.displayValues,d=t.onDisplayValuesChange,f=t.emptyOptions,p=t.notFoundContent,g=p===void 0?"Not Found":p,y=t.onClear,A=t.mode,x=t.disabled,C=t.loading,b=t.getInputElement,v=t.getRawInputElement,S=t.open,w=t.defaultOpen,T=t.onDropdownVisibleChange,P=t.activeValue,R=t.onActiveValueChange,H=t.activeDescendantId,D=t.searchValue,E=t.autoClearSearchValue,L=t.onSearch,U=t.onSearchSplit,F=t.tokenSeparators,W=t.allowClear,B=t.suffixIcon,k=t.clearIcon,N=t.OptionList,j=t.animation,Y=t.transitionName,_=t.dropdownStyle,J=t.dropdownClassName,Q=t.dropdownMatchSelectWidth,ee=t.dropdownRender,$=t.dropdownAlign,q=t.placement,le=t.builtinPlacements,ie=t.getPopupContainer,pe=t.showAction,ne=pe===void 0?[]:pe,Z=t.onFocus,he=t.onBlur,fe=t.onKeyUp,se=t.onKeyDown,oe=t.onMouseDown,de=ir(t,RIt),ve=b0e(A),Pe=(a!==void 0?a:ve)||A==="combobox",me=$t({},de);HIt.forEach(function(eo){delete me[eo]}),c==null||c.forEach(function(eo){delete me[eo]});var Re=m.useState(!1),ze=on(Re,2),Ae=ze[0],re=ze[1];m.useEffect(function(){re(m$())},[]);var ge=m.useRef(null),we=m.useRef(null),ye=m.useRef(null),Te=m.useRef(null),Ie=m.useRef(null),Ce=m.useRef(!1),Ee=CMt(),Ue=on(Ee,3),Ne=Ue[0],Le=Ue[1],qe=Ue[2];m.useImperativeHandle(e,function(){var eo,uo;return{focus:(eo=Te.current)===null||eo===void 0?void 0:eo.focus,blur:(uo=Te.current)===null||uo===void 0?void 0:uo.blur,scrollTo:function(Hi){var vi;return(vi=Ie.current)===null||vi===void 0?void 0:vi.scrollTo(Hi)}}});var We=m.useMemo(function(){var eo;if(A!=="combobox")return D;var uo=(eo=u[0])===null||eo===void 0?void 0:eo.value;return typeof uo=="string"||typeof uo=="number"?String(uo):""},[D,A,u]),De=A==="combobox"&&typeof b=="function"&&b()||null,Fe=typeof v=="function"&&v(),_e=z7(we,Fe==null||(n=Fe.props)===null||n===void 0?void 0:n.ref),ot=m.useState(!1),Ye=on(ot,2),St=Ye[0],dt=Ye[1];Ba(function(){dt(!0)},[]);var je=Rs(!1,{defaultValue:w,value:S}),at=on(je,2),ut=at[0],wt=at[1],rt=St?ut:!1,Qe=!g&&f;(x||Qe&&rt&&A==="combobox")&&(rt=!1);var Oe=Qe?!1:rt,et=m.useCallback(function(eo){var uo=eo!==void 0?eo:!rt;x||(wt(uo),rt!==uo&&(T==null||T(uo)))},[x,rt,wt,T]),vt=m.useMemo(function(){return(F||[]).some(function(eo){return[` `,`\r -`].includes(eo)})},[F]),ct=m.useContext(Qge)||{},lt=ct.maxCount,tt=ct.rawValues,it=function(uo,qo,Hi){if(!(ve&&v0e(lt)&&(tt==null?void 0:tt.size)>=lt)){var vi=!0,Cn=uo;R==null||R(null);var yn=HIt(uo,F,v0e(lt)?lt-tt.size:void 0),to=Hi?null:yn;return A!=="combobox"&&to&&(Cn="",U==null||U(to),et(!1),vi=!1),L&&We!==Cn&&L(Cn,{source:qo?"typing":"effect"}),vi}},At=function(uo){!uo||!uo.trim()||L(uo,{source:"submit"})};m.useEffect(function(){!rt&&!ve&&A!=="combobox"&&it("",!1,!1)},[rt]),m.useEffect(function(){ut&&x&&wt(!1),x&&!Ce.current&&Le(!1)},[x]);var Mt=dVe(),st=on(Mt,2),ft=st[0],Rt=st[1],zt=function(uo){var qo=ft(),Hi=uo.which;if(Hi===Bn.ENTER&&(A!=="combobox"&&uo.preventDefault(),rt||et(!0)),Rt(!!We),Hi===Bn.BACKSPACE&&!qo&&ve&&!We&&u.length){for(var vi=Wo(u),Cn=null,yn=vi.length-1;yn>=0;yn-=1){var to=vi[yn];if(!to.disabled){vi.splice(yn,1),Cn=to;break}}Cn&&d(vi,{type:"remove",values:[Cn]})}for(var Do=arguments.length,ni=new Array(Do>1?Do-1:0),Fo=1;Fo1?qo-1:0),vi=1;vi1?yn-1:0),Do=1;Do0,J=m.useMemo(function(){if(r===0||j===0)return 0;var Z=r/j;return Z*Y},[r,j,Y]),Q=function(he){he.stopPropagation(),he.preventDefault()},ee=m.useRef({top:J,dragging:x,pageY:S,startTop:R});ee.current={top:J,dragging:x,pageY:S,startTop:R};var $=function(he){C(!0),w($8e(he,u)),H(ee.current.top),l(),he.stopPropagation(),he.preventDefault()};m.useEffect(function(){var Z=function(oe){oe.preventDefault()},he=E.current,fe=L.current;return he.addEventListener("touchstart",Z),fe.addEventListener("touchstart",$),function(){he.removeEventListener("touchstart",Z),fe.removeEventListener("touchstart",$)}},[]);var q=m.useRef();q.current=j;var le=m.useRef();le.current=Y,m.useEffect(function(){if(x){var Z,he=function(oe){var de=ee.current,ve=de.dragging,Pe=de.pageY,me=de.startTop;if(za.cancel(Z),ve){var Re=$8e(oe,u)-Pe,ze=me;!D&&u?ze-=Re:ze+=Re;var Ae=q.current,re=le.current,ge=re?ze/re:0,we=Math.ceil(ge*Ae);we=Math.max(we,0),we=Math.min(we,Ae),Z=za(function(){c(we,u)})}},fe=function(){C(!1),s()};return window.addEventListener("mousemove",he),window.addEventListener("touchmove",he),window.addEventListener("mouseup",fe),window.addEventListener("touchend",fe),function(){window.removeEventListener("mousemove",he),window.removeEventListener("touchmove",he),window.removeEventListener("mouseup",fe),window.removeEventListener("touchend",fe),za.cancel(Z)}}},[x]),m.useEffect(function(){N()},[r]),m.useImperativeHandle(e,function(){return{delayHidden:N}});var ie="".concat(o,"-scrollbar"),pe={position:"absolute",visibility:W&&_?null:"hidden"},ne={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return u?(pe.height=8,pe.left=0,pe.right=0,pe.bottom=0,ne.height="100%",ne.width=d,D?ne.left=J:ne.right=J):(pe.width=8,pe.top=0,pe.bottom=0,D?pe.right=0:pe.left=0,ne.width="100%",ne.height=d,ne.top=J),m.createElement("div",{ref:E,className:Vn(ie,(n={},_t(n,"".concat(ie,"-horizontal"),u),_t(n,"".concat(ie,"-vertical"),!u),_t(n,"".concat(ie,"-visible"),W),n)),style:$t($t({},pe),p),onMouseDown:Q,onMouseMove:N},m.createElement("div",{ref:L,className:Vn("".concat(ie,"-thumb"),_t({},"".concat(ie,"-thumb-moving"),x)),style:$t($t({},ne),g),onMouseDown:$}))});function DIt(t){var e=t.children,n=t.setRef,o=m.useCallback(function(i){n(i)},[]);return m.cloneElement(e,{ref:o})}function EIt(t,e,n,o,i,r,a){var l=a.getKey;return t.slice(e,n+1).map(function(s,c){var u=e+c,d=r(s,u,{style:{width:o}}),f=l(s);return m.createElement(DIt,{key:f,setRef:function(g){return i(s,g)}},d)})}var kIt=function(){function t(){pp(this,t),this.maps=void 0,this.id=0,this.maps=Object.create(null)}return gp(t,[{key:"set",value:function(n,o){this.maps[n]=o,this.id+=1}},{key:"get",value:function(n){return this.maps[n]}}]),t}();function FIt(t,e,n){var o=m.useState(0),i=on(o,2),r=i[0],a=i[1],l=m.useRef(new Map),s=m.useRef(new kIt),c=m.useRef();function u(){za.cancel(c.current)}function d(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;u();var g=function(){l.current.forEach(function(A,x){if(A&&A.offsetParent){var C=rE(A),b=C.offsetHeight;s.current.get(x)!==b&&s.current.set(x,C.offsetHeight)}}),a(function(A){return A+1})};p?g():c.current=za(g)}function f(p,g){var y=t(p);l.current.get(y),g?(l.current.set(y,g),d()):l.current.delete(y)}return m.useEffect(function(){return u},[]),[f,d,s.current,r]}var LIt=10;function WIt(t,e,n,o,i,r,a,l){var s=m.useRef(),c=m.useState(null),u=on(c,2),d=u[0],f=u[1];return Ba(function(){if(d&&d.times=0;U-=1){var F=i(e[U]),W=n.get(F);if(W===void 0){C=!0;break}if(L-=W,L<=0)break}switch(S){case"top":v=T-A;break;case"bottom":v=P-x+A;break;default:{var B=t.current.scrollTop,k=B+x;Tk&&(b="bottom")}}v!==null&&a(v),v!==d.lastTop&&(C=!0)}C&&f($t($t({},d),{},{times:d.times+1,targetAlign:b,lastTop:v}))}},[d,t.current]),function(p){if(p==null){l();return}if(za.cancel(s.current),typeof p=="number")a(p);else if(p&&gr(p)==="object"){var g,y=p.align;"index"in p?g=p.index:g=e.findIndex(function(C){return i(C)===p.key});var A=p.offset,x=A===void 0?0:A;f({times:0,index:g,offset:x,originAlign:y})}}}function NIt(t,e,n){var o=t.length,i=e.length,r,a;if(o===0&&i===0)return null;o"u"?"undefined":gr(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const xVe=function(t,e){var n=m.useRef(!1),o=m.useRef(null);function i(){clearTimeout(o.current),n.current=!0,o.current=setTimeout(function(){n.current=!1},50)}var r=m.useRef({top:t,bottom:e});return r.current.top=t,r.current.bottom=e,function(a){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=a<0&&r.current.top||a>0&&r.current.bottom;return l&&s?(clearTimeout(o.current),n.current=!1):(!s||n.current)&&i(),!n.current&&s}};function BIt(t,e,n,o,i){var r=m.useRef(0),a=m.useRef(null),l=m.useRef(null),s=m.useRef(!1),c=xVe(e,n);function u(A,x){za.cancel(a.current),r.current+=x,l.current=x,!c(x)&&(Z8e||A.preventDefault(),a.current=za(function(){var C=s.current?10:1;i(r.current*C),r.current=0}))}function d(A,x){i(x,!0),Z8e||A.preventDefault()}var f=m.useRef(null),p=m.useRef(null);function g(A){if(t){za.cancel(p.current),p.current=za(function(){f.current=null},2);var x=A.deltaX,C=A.deltaY,b=A.shiftKey,v=x,S=C;(f.current==="sx"||!f.current&&b&&C&&!x)&&(v=C,S=0,f.current="sx");var w=Math.abs(v),T=Math.abs(S);f.current===null&&(f.current=o&&w>T?"x":"y"),f.current==="y"?u(A,S):d(A,v)}}function y(A){t&&(s.current=A.detail===l.current)}return[g,y]}var jIt=14/15;function YIt(t,e,n){var o=m.useRef(!1),i=m.useRef(0),r=m.useRef(null),a=m.useRef(null),l,s=function(f){if(o.current){var p=Math.ceil(f.touches[0].pageY),g=i.current-p;i.current=p,n(g)&&f.preventDefault(),clearInterval(a.current),a.current=setInterval(function(){g*=jIt,(!n(g,!0)||Math.abs(g)<=.1)&&clearInterval(a.current)},16)}},c=function(){o.current=!1,l()},u=function(f){l(),f.touches.length===1&&!o.current&&(o.current=!0,i.current=Math.ceil(f.touches[0].pageY),r.current=f.target,r.current.addEventListener("touchmove",s),r.current.addEventListener("touchend",c))};l=function(){r.current&&(r.current.removeEventListener("touchmove",s),r.current.removeEventListener("touchend",c))},Ba(function(){return t&&e.current.addEventListener("touchstart",u),function(){var d;(d=e.current)===null||d===void 0||d.removeEventListener("touchstart",u),l(),clearInterval(a.current)}},[t])}var OIt=20;function eve(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=t/e*100;return isNaN(n)&&(n=0),n=Math.max(n,OIt),n=Math.min(n,t/2),Math.floor(n)}function _It(t,e,n,o){var i=m.useMemo(function(){return[new Map,[]]},[t,n.id,o]),r=on(i,2),a=r[0],l=r[1],s=function(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:u,f=a.get(u),p=a.get(d);if(f===void 0||p===void 0)for(var g=t.length,y=l.length;yr||!!y),D=g==="rtl",E=Vn(o,_t({},"".concat(o,"-rtl"),D),i),L=u||GIt,U=m.useRef(),F=m.useRef(),W=m.useState(0),B=on(W,2),k=B[0],N=B[1],j=m.useState(0),Y=on(j,2),_=Y[0],J=Y[1],Q=m.useState(!1),ee=on(Q,2),$=ee[0],q=ee[1],le=function(){q(!0)},ie=function(){q(!1)},pe=m.useCallback(function(zt){return typeof f=="function"?f(zt):zt==null?void 0:zt[f]},[f]),ne={getKey:pe};function Z(zt){N(function(Xe){var ht;typeof zt=="function"?ht=zt(Xe):ht=zt;var Je=ot(ht);return U.current.scrollTop=Je,Je})}var he=m.useRef({start:0,end:L.length}),fe=m.useRef(),se=UIt(L,pe),oe=on(se,1),de=oe[0];fe.current=de;var ve=FIt(pe),Pe=on(ve,4),me=Pe[0],Re=Pe[1],ze=Pe[2],Ae=Pe[3],re=m.useMemo(function(){if(!R)return{scrollHeight:void 0,start:0,end:L.length-1,offset:void 0};if(!H){var zt;return{scrollHeight:((zt=F.current)===null||zt===void 0?void 0:zt.offsetHeight)||0,start:0,end:L.length-1,offset:void 0}}for(var Xe=0,ht,Je,mt,Ge=L.length,xt=0;xt=k&&ht===void 0&&(ht=xt,Je=Xe),Lt>k+r&&mt===void 0&&(mt=xt),Xe=Lt}return ht===void 0&&(ht=0,Je=0,mt=Math.ceil(r/a)),mt===void 0&&(mt=L.length-1),mt=Math.min(mt+1,L.length-1),{scrollHeight:Xe,start:ht,end:mt,offset:Je}},[H,R,k,L,Ae,r]),ge=re.scrollHeight,we=re.start,ye=re.end,Te=re.offset;he.current.start=we,he.current.end=ye;var Ie=m.useState({width:0,height:r}),Ce=on(Ie,2),Ee=Ce[0],Ue=Ce[1],Ne=function(Xe){Ue({width:Xe.width||Xe.offsetWidth,height:Xe.height||Xe.offsetHeight})},Le=m.useRef(),qe=m.useRef(),We=m.useMemo(function(){return eve(Ee.width,y)},[Ee.width,y]),De=m.useMemo(function(){return eve(Ee.height,ge)},[Ee.height,ge]),Fe=ge-r,_e=m.useRef(Fe);_e.current=Fe;function ot(zt){var Xe=zt;return Number.isNaN(_e.current)||(Xe=Math.min(Xe,_e.current)),Xe=Math.max(Xe,0),Xe}var Ye=k<=0,St=k>=Fe,dt=xVe(Ye,St),je=function(){return{x:D?-_:_,y:k}},at=m.useRef(je()),ut=Ia(function(){if(b){var zt=je();(at.current.x!==zt.x||at.current.y!==zt.y)&&(b(zt),at.current=zt)}});function wt(zt,Xe){var ht=zt;Xe?(Sd.flushSync(function(){J(ht)}),ut()):Z(ht)}function rt(zt){var Xe=zt.currentTarget.scrollTop;Xe!==k&&Z(Xe),C==null||C(zt),ut()}var Qe=function(Xe){var ht=Xe,Je=y-Ee.width;return ht=Math.max(ht,0),ht=Math.min(ht,Je),ht},Oe=Ia(function(zt,Xe){Xe?(Sd.flushSync(function(){J(function(ht){var Je=ht+(D?-zt:zt);return Qe(Je)})}),ut()):Z(function(ht){var Je=ht+zt;return Je})}),et=BIt(R,Ye,St,!!y,Oe),vt=on(et,2),ct=vt[0],lt=vt[1];YIt(R,U,function(zt,Xe){return dt(zt,Xe)?!1:(ct({preventDefault:function(){},deltaY:zt}),!0)}),Ba(function(){function zt(ht){R&&ht.preventDefault()}var Xe=U.current;return Xe.addEventListener("wheel",ct),Xe.addEventListener("DOMMouseScroll",lt),Xe.addEventListener("MozMousePixelScroll",zt),function(){Xe.removeEventListener("wheel",ct),Xe.removeEventListener("DOMMouseScroll",lt),Xe.removeEventListener("MozMousePixelScroll",zt)}},[R]),Ba(function(){y&&J(function(zt){return Qe(zt)})},[Ee.width,y]);var tt=function(){var Xe,ht;(Xe=Le.current)===null||Xe===void 0||Xe.delayHidden(),(ht=qe.current)===null||ht===void 0||ht.delayHidden()},it=WIt(U,L,ze,a,pe,function(){return Re(!0)},Z,tt);m.useImperativeHandle(e,function(){return{getScrollInfo:je,scrollTo:function(Xe){function ht(Je){return Je&&gr(Je)==="object"&&("left"in Je||"top"in Je)}ht(Xe)?(Xe.left!==void 0&&J(Qe(Xe.left)),it(Xe.top)):it(Xe)}}}),Ba(function(){if(v){var zt=L.slice(we,ye+1);v(zt,L)}},[we,ye,L]);var At=_It(L,pe,ze,a),Mt=w==null?void 0:w({start:we,end:ye,virtual:H,offsetX:_,offsetY:Te,rtl:D,getSize:At}),st=EIt(L,we,ye,y,me,d,ne),ft=null;r&&(ft=$t(_t({},s?"height":"maxHeight",r),XIt),R&&(ft.overflowY="hidden",y&&(ft.overflowX="hidden"),$&&(ft.pointerEvents="none")));var Rt={};return D&&(Rt.dir="rtl"),m.createElement("div",so({style:$t($t({},c),{},{position:"relative"}),className:E},Rt,P),m.createElement(xd,{onResize:Ne},m.createElement(x,{className:"".concat(o,"-holder"),style:ft,ref:U,onScroll:rt,onMouseEnter:tt},m.createElement(vVe,{prefixCls:o,height:ge,offsetX:_,offsetY:Te,scrollWidth:y,onInnerResize:Re,ref:F,innerProps:S,rtl:D,extra:Mt},st))),H&&ge>r&&m.createElement(Q8e,{ref:Le,prefixCls:o,scrollOffset:k,scrollRange:ge,rtl:D,onScroll:wt,onStartMove:le,onStopMove:ie,spinSize:De,containerSize:Ee.height,style:T==null?void 0:T.verticalScrollBar,thumbStyle:T==null?void 0:T.verticalScrollBarThumb}),H&&y&&m.createElement(Q8e,{ref:qe,prefixCls:o,scrollOffset:_,scrollRange:y,rtl:D,onScroll:wt,onStartMove:le,onStopMove:ie,spinSize:We,containerSize:Ee.width,horizontal:!0,style:T==null?void 0:T.horizontalScrollBar,thumbStyle:T==null?void 0:T.horizontalScrollBarThumb}))}var w$=m.forwardRef(JIt);w$.displayName="List";function KIt(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var qIt=["disabled","title","children","style","className"];function tve(t){return typeof t=="string"||typeof t=="number"}var $It=function(e,n){var o=RMt(),i=o.prefixCls,r=o.id,a=o.open,l=o.multiple,s=o.mode,c=o.searchValue,u=o.toggleOpen,d=o.notFoundContent,f=o.onPopupScroll,p=m.useContext(Qge),g=p.maxCount,y=p.flattenOptions,A=p.onActiveValue,x=p.defaultActiveFirstOption,C=p.onSelect,b=p.menuItemSelectedIcon,v=p.rawValues,S=p.fieldNames,w=p.virtual,T=p.direction,P=p.listHeight,R=p.listItemHeight,H=p.optionRender,D="".concat(i,"-item"),E=fW(function(){return y},[a,y],function(pe,ne){return ne[0]&&pe[1]!==ne[1]}),L=m.useRef(null),U=m.useMemo(function(){return l&&v0e(g)&&(v==null?void 0:v.size)>=g},[l,g,v==null?void 0:v.size]),F=function(ne){ne.preventDefault()},W=function(ne){var Z;(Z=L.current)===null||Z===void 0||Z.scrollTo(typeof ne=="number"?{index:ne}:ne)},B=function(ne){for(var Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,he=E.length,fe=0;fe1&&arguments[1]!==void 0?arguments[1]:!1;Y(ne);var he={source:Z?"keyboard":"mouse"},fe=E[ne];if(!fe){A(null,-1,he);return}A(fe.value,ne,he)};m.useEffect(function(){_(x!==!1?B(0):-1)},[E.length,c]);var J=m.useCallback(function(pe){return v.has(pe)&&s!=="combobox"},[s,Wo(v).toString(),v.size]);m.useEffect(function(){var pe=setTimeout(function(){if(!l&&a&&v.size===1){var Z=Array.from(v)[0],he=E.findIndex(function(fe){var se=fe.data;return se.value===Z});he!==-1&&(_(he),W(he))}});if(a){var ne;(ne=L.current)===null||ne===void 0||ne.scrollTo(void 0)}return function(){return clearTimeout(pe)}},[a,c]);var Q=function(ne){ne!==void 0&&C(ne,{selected:!v.has(ne)}),l||u(!1)};if(m.useImperativeHandle(n,function(){return{onKeyDown:function(ne){var Z=ne.which,he=ne.ctrlKey;switch(Z){case Bn.N:case Bn.P:case Bn.UP:case Bn.DOWN:{var fe=0;if(Z===Bn.UP?fe=-1:Z===Bn.DOWN?fe=1:KIt()&&he&&(Z===Bn.N?fe=1:Z===Bn.P&&(fe=-1)),fe!==0){var se=B(j+fe,fe);W(se),_(se,!0)}break}case Bn.ENTER:{var oe,de=E[j];de&&!(de!=null&&(oe=de.data)!==null&&oe!==void 0&&oe.disabled)&&!U?Q(de.value):Q(void 0),a&&ne.preventDefault();break}case Bn.ESC:u(!1),a&&ne.stopPropagation()}},onKeyUp:function(){},scrollTo:function(ne){W(ne)}}}),E.length===0)return m.createElement("div",{role:"listbox",id:"".concat(r,"_list"),className:"".concat(D,"-empty"),onMouseDown:F},d);var ee=Object.keys(S).map(function(pe){return S[pe]}),$=function(ne){return ne.label};function q(pe,ne){var Z=pe.group;return{role:Z?"presentation":"option",id:"".concat(r,"_list_").concat(ne)}}var le=function(ne){var Z=E[ne];if(!Z)return null;var he=Z.data||{},fe=he.value,se=Z.group,oe=gf(he,!0),de=$(Z);return Z?m.createElement("div",so({"aria-label":typeof de=="string"&&!se?de:null},oe,{key:ne},q(Z,ne),{"aria-selected":J(fe)}),fe):null},ie={role:"listbox",id:"".concat(r,"_list")};return m.createElement(m.Fragment,null,w&&m.createElement("div",so({},ie,{style:{height:0,width:0,overflow:"hidden"}}),le(j-1),le(j),le(j+1)),m.createElement(w$,{itemKey:"key",ref:L,data:E,height:P,itemHeight:R,fullHeight:!1,onMouseDown:F,onScroll:f,virtual:w,direction:T,innerProps:w?null:ie},function(pe,ne){var Z=pe.group,he=pe.groupOption,fe=pe.data,se=pe.label,oe=pe.value,de=fe.key;if(Z){var ve,Pe=(ve=fe.title)!==null&&ve!==void 0?ve:tve(se)?se.toString():void 0;return m.createElement("div",{className:Vn(D,"".concat(D,"-group"),fe.className),title:Pe},se!==void 0?se:de)}var me=fe.disabled,Re=fe.title;fe.children;var ze=fe.style,Ae=fe.className,re=ir(fe,qIt),ge=MH(re,ee),we=J(oe),ye=me||!we&&U,Te="".concat(D,"-option"),Ie=Vn(D,Te,Ae,_t(_t(_t(_t({},"".concat(Te,"-grouped"),he),"".concat(Te,"-active"),j===ne&&!ye),"".concat(Te,"-disabled"),ye),"".concat(Te,"-selected"),we)),Ce=$(pe),Ee=!b||typeof b=="function"||we,Ue=typeof Ce=="number"?Ce:Ce||oe,Ne=tve(Ue)?Ue.toString():void 0;return Re!==void 0&&(Ne=Re),m.createElement("div",so({},gf(ge),w?{}:q(pe,ne),{"aria-selected":we,className:Ie,title:Ne,onMouseMove:function(){j===ne||ye||_(ne)},onClick:function(){ye||Q(oe)},style:ze}),m.createElement("div",{className:"".concat(Te,"-content")},typeof H=="function"?H(pe,{index:ne}):Ue),m.isValidElement(b)||we,Ee&&m.createElement(y$,{className:"".concat(D,"-option-state"),customizeIcon:b,customizeIconProps:{value:oe,disabled:ye,isSelected:we}},we?"✓":null))}))},QIt=m.forwardRef($It);const ZIt=function(t,e){var n=m.useRef({values:new Map,options:new Map}),o=m.useMemo(function(){var r=n.current,a=r.values,l=r.options,s=t.map(function(d){if(d.label===void 0){var f;return $t($t({},d),{},{label:(f=a.get(d.value))===null||f===void 0?void 0:f.label})}return d}),c=new Map,u=new Map;return s.forEach(function(d){c.set(d.value,d),u.set(d.value,e.get(d.value)||l.get(d.value))}),n.current.values=c,n.current.options=u,s},[t,e]),i=m.useCallback(function(r){return e.get(r)||n.current.options.get(r)},[e]);return[o,i]};function Iie(t,e){return mVe(t).join("").toUpperCase().includes(e)}const ezt=function(t,e,n,o,i){return m.useMemo(function(){if(!n||o===!1)return t;var r=e.options,a=e.label,l=e.value,s=[],c=typeof o=="function",u=n.toUpperCase(),d=c?o:function(p,g){return i?Iie(g[i],u):g[r]?Iie(g[a!=="children"?a:"label"],u):Iie(g[l],u)},f=c?function(p){return x0e(p)}:function(p){return p};return t.forEach(function(p){if(p[r]){var g=d(n,f(p));if(g)s.push(p);else{var y=p[r].filter(function(A){return d(n,f(A))});y.length&&s.push($t($t({},p),{},_t({},r,y)))}return}d(n,f(p))&&s.push(p)}),s},[t,o,i,n,e])};var nve=0,tzt=sp();function nzt(){var t;return tzt?(t=nve,nve+=1):t="TEST_OR_SSR",t}function ozt(t){var e=m.useState(),n=on(e,2),o=n[0],i=n[1];return m.useEffect(function(){i("rc_select_".concat(nzt()))},[]),t||o}var izt=["children","value"],rzt=["children"];function azt(t){var e=t,n=e.key,o=e.props,i=o.children,r=o.value,a=ir(o,izt);return $t({key:n,value:r!==void 0?r:n,children:i},a)}function bVe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Qw(t).map(function(n,o){if(!m.isValidElement(n)||!n.type)return null;var i=n,r=i.type.isSelectOptGroup,a=i.key,l=i.props,s=l.children,c=ir(l,rzt);return e||!r?azt(n):$t($t({key:"__RC_SELECT_GRP__".concat(a===null?o:a,"__"),label:a},c),{},{options:bVe(s)})}).filter(function(n){return n})}var lzt=function(e,n,o,i,r){return m.useMemo(function(){var a=e,l=!e;l&&(a=bVe(n));var s=new Map,c=new Map,u=function(p,g,y){y&&typeof y=="string"&&p.set(g[y],g)},d=function f(p){for(var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,y=0;y2&&arguments[2]!==void 0?arguments[2]:{},lt=ct.source,tt=lt===void 0?"keyboard":lt;St(vt),a&&o==="combobox"&&et!==null&&tt==="keyboard"&&Fe(String(et))},[a,o]),at=function(vt,ct,lt){var tt=function(){var Je,mt=ge(vt);return[N?{label:mt==null?void 0:mt[q.label],value:vt,key:(Je=mt==null?void 0:mt.key)!==null&&Je!==void 0?Je:vt}:vt,x0e(mt)]};if(ct&&p){var it=tt(),At=on(it,2),Mt=At[0],st=At[1];p(Mt,st)}else if(!ct&&g&<!=="clear"){var ft=tt(),Rt=on(ft,2),zt=Rt[0],Xe=Rt[1];g(zt,Xe)}},ut=ove(function(et,vt){var ct,lt=Q?vt.selected:!0;lt?ct=Q?[].concat(Wo(re),[et]):[et]:ct=re.filter(function(tt){return tt.value!==et}),Le(ct),at(et,lt),o==="combobox"?Fe(""):(!b0e||f)&&(ne(""),Fe(""))}),wt=function(vt,ct){Le(vt);var lt=ct.type,tt=ct.values;(lt==="remove"||lt==="clear")&&tt.forEach(function(it){at(it.value,!1,lt)})},rt=function(vt,ct){if(ne(vt),Fe(null),ct.source==="submit"){var lt=(vt||"").trim();if(lt){var tt=Array.from(new Set([].concat(Wo(ye),[lt])));Le(tt),at(lt,!0),ne("")}return}ct.source!=="blur"&&(o==="combobox"&&Le(vt),u==null||u(vt))},Qe=function(vt){var ct=vt;o!=="tags"&&(ct=vt.map(function(tt){var it=fe.get(tt);return it==null?void 0:it.value}).filter(function(tt){return tt!==void 0}));var lt=Array.from(new Set([].concat(Wo(ye),Wo(ct))));Le(lt),lt.forEach(function(tt){at(tt,!0)})},Oe=m.useMemo(function(){var et=H!==!1&&A!==!1;return $t($t({},Z),{},{flattenOptions:Ne,onActiveValue:je,defaultActiveFirstOption:dt,onSelect:ut,menuItemSelectedIcon:R,rawValues:ye,fieldNames:q,virtual:et,direction:D,listHeight:L,listItemHeight:F,childrenAsData:ee,maxCount:Y,optionRender:w})},[Y,Z,Ne,je,dt,ut,R,ye,q,H,A,D,L,F,ee,w]);return m.createElement(Qge.Provider,{value:Oe},m.createElement(zIt,so({},_,{id:J,prefixCls:r,ref:e,omitDomProps:czt,mode:o,displayValues:we,onDisplayValuesChange:wt,direction:D,searchValue:pe,onSearch:rt,autoClearSearchValue:f,onSearchSplit:Qe,dropdownMatchSelectWidth:A,OptionList:QIt,emptyOptions:!Ne.length,activeValue:De,activeDescendantId:"".concat(J,"_list_").concat(Ye)})))}),tme=dzt;tme.Option=eme;tme.OptGroup=Zge;function o7(t,e,n){return Gn({[`${t}-status-success`]:e==="success",[`${t}-status-warning`]:e==="warning",[`${t}-status-error`]:e==="error",[`${t}-status-validating`]:e==="validating",[`${t}-has-feedback`]:n})}const Mb=(t,e)=>e||t,fzt=()=>{const[,t]=Yu(),n=new Il(t.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return m.createElement("svg",{style:n,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},m.createElement("g",{fill:"none",fillRule:"evenodd"},m.createElement("g",{transform:"translate(24 31.67)"},m.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),m.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),m.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),m.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),m.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),m.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),m.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},m.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),m.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},hzt=()=>{const[,t]=Yu(),{colorFill:e,colorFillTertiary:n,colorFillQuaternary:o,colorBgContainer:i}=t,{borderColor:r,shadowColor:a,contentColor:l}=m.useMemo(()=>({borderColor:new Il(e).onBackground(i).toHexShortString(),shadowColor:new Il(n).onBackground(i).toHexShortString(),contentColor:new Il(o).onBackground(i).toHexShortString()}),[e,n,o,i]);return m.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},m.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},m.createElement("ellipse",{fill:a,cx:"32",cy:"33",rx:"32",ry:"7"}),m.createElement("g",{fillRule:"nonzero",stroke:r},m.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),m.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:l}))))},pzt=t=>{const{componentCls:e,margin:n,marginXS:o,marginXL:i,fontSize:r,lineHeight:a}=t;return{[e]:{marginInline:o,fontSize:r,lineHeight:a,textAlign:"center",[`${e}-image`]:{height:t.emptyImgHeight,marginBottom:o,opacity:t.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${e}-description`]:{color:t.colorText},[`${e}-footer`]:{marginTop:n},"&-normal":{marginBlock:i,color:t.colorTextDescription,[`${e}-description`]:{color:t.colorTextDescription},[`${e}-image`]:{height:t.emptyImgHeightMD}},"&-small":{marginBlock:o,color:t.colorTextDescription,[`${e}-image`]:{height:t.emptyImgHeightSM}}}}},gzt=Fl("Empty",t=>{const{componentCls:e,controlHeightLG:n,calc:o}=t,i=Zr(t,{emptyImgCls:`${e}-img`,emptyImgHeight:o(n).mul(2.5).equal(),emptyImgHeightMD:n,emptyImgHeightSM:o(n).mul(.875).equal()});return[pzt(i)]});var mzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{className:e,rootClassName:n,prefixCls:o,image:i=SVe,description:r,children:a,imageStyle:l,style:s}=t,c=mzt(t,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:u,direction:d,empty:f}=m.useContext(Mi),p=u("empty",o),[g,y,A]=gzt(p),[x]=D7("Empty"),C=typeof r<"u"?r:x==null?void 0:x.description,b=typeof C=="string"?C:"empty";let v=null;return typeof i=="string"?v=m.createElement("img",{alt:b,src:i}):v=i,g(m.createElement("div",Object.assign({className:Gn(y,A,p,f==null?void 0:f.className,{[`${p}-normal`]:i===TVe,[`${p}-rtl`]:d==="rtl"},e,n),style:Object.assign(Object.assign({},f==null?void 0:f.style),s)},c),m.createElement("div",{className:`${p}-image`,style:l},v),C&&m.createElement("div",{className:`${p}-description`},C),a&&m.createElement("div",{className:`${p}-footer`},a)))};rg.PRESENTED_IMAGE_DEFAULT=SVe;rg.PRESENTED_IMAGE_SIMPLE=TVe;const nme=t=>{const{componentName:e}=t,{getPrefixCls:n}=m.useContext(Mi),o=n("empty");switch(e){case"Table":case"List":return Se.createElement(rg,{image:rg.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return Se.createElement(rg,{image:rg.PRESENTED_IMAGE_SIMPLE,className:`${o}-small`});default:return Se.createElement(rg,null)}},yzt=["outlined","borderless","filled"],IH=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;const n=m.useContext(zHt);let o;typeof t<"u"?o=t:e===!1?o="borderless":o=n??"outlined";const i=yzt.includes(o);return[o,i]},Azt=t=>{const n={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:t==="scroll"?"scroll":"visible",dynamicInset:!0};return{bottomLeft:Object.assign(Object.assign({},n),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},n),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},n),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},n),{points:["br","tr"],offset:[0,-4]})}};function wzt(t,e){return t||Azt(e)}const ive=t=>{const{optionHeight:e,optionFontSize:n,optionLineHeight:o,optionPadding:i}=t;return{position:"relative",display:"block",minHeight:e,padding:i,color:t.colorText,fontWeight:"normal",fontSize:n,lineHeight:o,boxSizing:"border-box"}},vzt=t=>{const{antCls:e,componentCls:n}=t,o=`${n}-item`,i=`&${e}-slide-up-enter${e}-slide-up-enter-active`,r=`&${e}-slide-up-appear${e}-slide-up-appear-active`,a=`&${e}-slide-up-leave${e}-slide-up-leave-active`,l=`${n}-dropdown-placement-`;return[{[`${n}-dropdown`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,zIndex:t.zIndexPopup,boxSizing:"border-box",padding:t.paddingXXS,overflow:"hidden",fontSize:t.fontSize,fontVariant:"initial",backgroundColor:t.colorBgElevated,borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary,[` +`].includes(eo)})},[F]),ct=m.useContext(Qge)||{},lt=ct.maxCount,tt=ct.rawValues,it=function(uo,qo,Hi){if(!(ve&&v0e(lt)&&(tt==null?void 0:tt.size)>=lt)){var vi=!0,Cn=uo;R==null||R(null);var yn=CIt(uo,F,v0e(lt)?lt-tt.size:void 0),to=Hi?null:yn;return A!=="combobox"&&to&&(Cn="",U==null||U(to),et(!1),vi=!1),L&&We!==Cn&&L(Cn,{source:qo?"typing":"effect"}),vi}},At=function(uo){!uo||!uo.trim()||L(uo,{source:"submit"})};m.useEffect(function(){!rt&&!ve&&A!=="combobox"&&it("",!1,!1)},[rt]),m.useEffect(function(){ut&&x&&wt(!1),x&&!Ce.current&&Le(!1)},[x]);var Mt=dVe(),st=on(Mt,2),ft=st[0],Rt=st[1],zt=function(uo){var qo=ft(),Hi=uo.which;if(Hi===Bn.ENTER&&(A!=="combobox"&&uo.preventDefault(),rt||et(!0)),Rt(!!We),Hi===Bn.BACKSPACE&&!qo&&ve&&!We&&u.length){for(var vi=Wo(u),Cn=null,yn=vi.length-1;yn>=0;yn-=1){var to=vi[yn];if(!to.disabled){vi.splice(yn,1),Cn=to;break}}Cn&&d(vi,{type:"remove",values:[Cn]})}for(var Do=arguments.length,ni=new Array(Do>1?Do-1:0),Fo=1;Fo1?qo-1:0),vi=1;vi1?yn-1:0),Do=1;Do0,J=m.useMemo(function(){if(r===0||j===0)return 0;var Z=r/j;return Z*Y},[r,j,Y]),Q=function(he){he.stopPropagation(),he.preventDefault()},ee=m.useRef({top:J,dragging:x,pageY:S,startTop:R});ee.current={top:J,dragging:x,pageY:S,startTop:R};var $=function(he){C(!0),w($8e(he,u)),H(ee.current.top),l(),he.stopPropagation(),he.preventDefault()};m.useEffect(function(){var Z=function(oe){oe.preventDefault()},he=E.current,fe=L.current;return he.addEventListener("touchstart",Z),fe.addEventListener("touchstart",$),function(){he.removeEventListener("touchstart",Z),fe.removeEventListener("touchstart",$)}},[]);var q=m.useRef();q.current=j;var le=m.useRef();le.current=Y,m.useEffect(function(){if(x){var Z,he=function(oe){var de=ee.current,ve=de.dragging,Pe=de.pageY,me=de.startTop;if(za.cancel(Z),ve){var Re=$8e(oe,u)-Pe,ze=me;!D&&u?ze-=Re:ze+=Re;var Ae=q.current,re=le.current,ge=re?ze/re:0,we=Math.ceil(ge*Ae);we=Math.max(we,0),we=Math.min(we,Ae),Z=za(function(){c(we,u)})}},fe=function(){C(!1),s()};return window.addEventListener("mousemove",he),window.addEventListener("touchmove",he),window.addEventListener("mouseup",fe),window.addEventListener("touchend",fe),function(){window.removeEventListener("mousemove",he),window.removeEventListener("touchmove",he),window.removeEventListener("mouseup",fe),window.removeEventListener("touchend",fe),za.cancel(Z)}}},[x]),m.useEffect(function(){N()},[r]),m.useImperativeHandle(e,function(){return{delayHidden:N}});var ie="".concat(o,"-scrollbar"),pe={position:"absolute",visibility:W&&_?null:"hidden"},ne={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return u?(pe.height=8,pe.left=0,pe.right=0,pe.bottom=0,ne.height="100%",ne.width=d,D?ne.left=J:ne.right=J):(pe.width=8,pe.top=0,pe.bottom=0,D?pe.right=0:pe.left=0,ne.width="100%",ne.height=d,ne.top=J),m.createElement("div",{ref:E,className:Vn(ie,(n={},_t(n,"".concat(ie,"-horizontal"),u),_t(n,"".concat(ie,"-vertical"),!u),_t(n,"".concat(ie,"-visible"),W),n)),style:$t($t({},pe),p),onMouseDown:Q,onMouseMove:N},m.createElement("div",{ref:L,className:Vn("".concat(ie,"-thumb"),_t({},"".concat(ie,"-thumb-moving"),x)),style:$t($t({},ne),g),onMouseDown:$}))});function IIt(t){var e=t.children,n=t.setRef,o=m.useCallback(function(i){n(i)},[]);return m.cloneElement(e,{ref:o})}function zIt(t,e,n,o,i,r,a){var l=a.getKey;return t.slice(e,n+1).map(function(s,c){var u=e+c,d=r(s,u,{style:{width:o}}),f=l(s);return m.createElement(IIt,{key:f,setRef:function(g){return i(s,g)}},d)})}var DIt=function(){function t(){pp(this,t),this.maps=void 0,this.id=0,this.maps=Object.create(null)}return gp(t,[{key:"set",value:function(n,o){this.maps[n]=o,this.id+=1}},{key:"get",value:function(n){return this.maps[n]}}]),t}();function EIt(t,e,n){var o=m.useState(0),i=on(o,2),r=i[0],a=i[1],l=m.useRef(new Map),s=m.useRef(new DIt),c=m.useRef();function u(){za.cancel(c.current)}function d(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;u();var g=function(){l.current.forEach(function(A,x){if(A&&A.offsetParent){var C=rE(A),b=C.offsetHeight;s.current.get(x)!==b&&s.current.set(x,C.offsetHeight)}}),a(function(A){return A+1})};p?g():c.current=za(g)}function f(p,g){var y=t(p);l.current.get(y),g?(l.current.set(y,g),d()):l.current.delete(y)}return m.useEffect(function(){return u},[]),[f,d,s.current,r]}var kIt=10;function FIt(t,e,n,o,i,r,a,l){var s=m.useRef(),c=m.useState(null),u=on(c,2),d=u[0],f=u[1];return Ba(function(){if(d&&d.times=0;U-=1){var F=i(e[U]),W=n.get(F);if(W===void 0){C=!0;break}if(L-=W,L<=0)break}switch(S){case"top":v=T-A;break;case"bottom":v=P-x+A;break;default:{var B=t.current.scrollTop,k=B+x;Tk&&(b="bottom")}}v!==null&&a(v),v!==d.lastTop&&(C=!0)}C&&f($t($t({},d),{},{times:d.times+1,targetAlign:b,lastTop:v}))}},[d,t.current]),function(p){if(p==null){l();return}if(za.cancel(s.current),typeof p=="number")a(p);else if(p&&gr(p)==="object"){var g,y=p.align;"index"in p?g=p.index:g=e.findIndex(function(C){return i(C)===p.key});var A=p.offset,x=A===void 0?0:A;f({times:0,index:g,offset:x,originAlign:y})}}}function LIt(t,e,n){var o=t.length,i=e.length,r,a;if(o===0&&i===0)return null;o"u"?"undefined":gr(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const xVe=function(t,e){var n=m.useRef(!1),o=m.useRef(null);function i(){clearTimeout(o.current),n.current=!0,o.current=setTimeout(function(){n.current=!1},50)}var r=m.useRef({top:t,bottom:e});return r.current.top=t,r.current.bottom=e,function(a){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=a<0&&r.current.top||a>0&&r.current.bottom;return l&&s?(clearTimeout(o.current),n.current=!1):(!s||n.current)&&i(),!n.current&&s}};function NIt(t,e,n,o,i){var r=m.useRef(0),a=m.useRef(null),l=m.useRef(null),s=m.useRef(!1),c=xVe(e,n);function u(A,x){za.cancel(a.current),r.current+=x,l.current=x,!c(x)&&(Z8e||A.preventDefault(),a.current=za(function(){var C=s.current?10:1;i(r.current*C),r.current=0}))}function d(A,x){i(x,!0),Z8e||A.preventDefault()}var f=m.useRef(null),p=m.useRef(null);function g(A){if(t){za.cancel(p.current),p.current=za(function(){f.current=null},2);var x=A.deltaX,C=A.deltaY,b=A.shiftKey,v=x,S=C;(f.current==="sx"||!f.current&&b&&C&&!x)&&(v=C,S=0,f.current="sx");var w=Math.abs(v),T=Math.abs(S);f.current===null&&(f.current=o&&w>T?"x":"y"),f.current==="y"?u(A,S):d(A,v)}}function y(A){t&&(s.current=A.detail===l.current)}return[g,y]}var UIt=14/15;function BIt(t,e,n){var o=m.useRef(!1),i=m.useRef(0),r=m.useRef(null),a=m.useRef(null),l,s=function(f){if(o.current){var p=Math.ceil(f.touches[0].pageY),g=i.current-p;i.current=p,n(g)&&f.preventDefault(),clearInterval(a.current),a.current=setInterval(function(){g*=UIt,(!n(g,!0)||Math.abs(g)<=.1)&&clearInterval(a.current)},16)}},c=function(){o.current=!1,l()},u=function(f){l(),f.touches.length===1&&!o.current&&(o.current=!0,i.current=Math.ceil(f.touches[0].pageY),r.current=f.target,r.current.addEventListener("touchmove",s),r.current.addEventListener("touchend",c))};l=function(){r.current&&(r.current.removeEventListener("touchmove",s),r.current.removeEventListener("touchend",c))},Ba(function(){return t&&e.current.addEventListener("touchstart",u),function(){var d;(d=e.current)===null||d===void 0||d.removeEventListener("touchstart",u),l(),clearInterval(a.current)}},[t])}var jIt=20;function eve(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=t/e*100;return isNaN(n)&&(n=0),n=Math.max(n,jIt),n=Math.min(n,t/2),Math.floor(n)}function YIt(t,e,n,o){var i=m.useMemo(function(){return[new Map,[]]},[t,n.id,o]),r=on(i,2),a=r[0],l=r[1],s=function(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:u,f=a.get(u),p=a.get(d);if(f===void 0||p===void 0)for(var g=t.length,y=l.length;yr||!!y),D=g==="rtl",E=Vn(o,_t({},"".concat(o,"-rtl"),D),i),L=u||_It,U=m.useRef(),F=m.useRef(),W=m.useState(0),B=on(W,2),k=B[0],N=B[1],j=m.useState(0),Y=on(j,2),_=Y[0],J=Y[1],Q=m.useState(!1),ee=on(Q,2),$=ee[0],q=ee[1],le=function(){q(!0)},ie=function(){q(!1)},pe=m.useCallback(function(zt){return typeof f=="function"?f(zt):zt==null?void 0:zt[f]},[f]),ne={getKey:pe};function Z(zt){N(function(Xe){var ht;typeof zt=="function"?ht=zt(Xe):ht=zt;var Je=ot(ht);return U.current.scrollTop=Je,Je})}var he=m.useRef({start:0,end:L.length}),fe=m.useRef(),se=WIt(L,pe),oe=on(se,1),de=oe[0];fe.current=de;var ve=EIt(pe),Pe=on(ve,4),me=Pe[0],Re=Pe[1],ze=Pe[2],Ae=Pe[3],re=m.useMemo(function(){if(!R)return{scrollHeight:void 0,start:0,end:L.length-1,offset:void 0};if(!H){var zt;return{scrollHeight:((zt=F.current)===null||zt===void 0?void 0:zt.offsetHeight)||0,start:0,end:L.length-1,offset:void 0}}for(var Xe=0,ht,Je,mt,Ge=L.length,xt=0;xt=k&&ht===void 0&&(ht=xt,Je=Xe),Lt>k+r&&mt===void 0&&(mt=xt),Xe=Lt}return ht===void 0&&(ht=0,Je=0,mt=Math.ceil(r/a)),mt===void 0&&(mt=L.length-1),mt=Math.min(mt+1,L.length-1),{scrollHeight:Xe,start:ht,end:mt,offset:Je}},[H,R,k,L,Ae,r]),ge=re.scrollHeight,we=re.start,ye=re.end,Te=re.offset;he.current.start=we,he.current.end=ye;var Ie=m.useState({width:0,height:r}),Ce=on(Ie,2),Ee=Ce[0],Ue=Ce[1],Ne=function(Xe){Ue({width:Xe.width||Xe.offsetWidth,height:Xe.height||Xe.offsetHeight})},Le=m.useRef(),qe=m.useRef(),We=m.useMemo(function(){return eve(Ee.width,y)},[Ee.width,y]),De=m.useMemo(function(){return eve(Ee.height,ge)},[Ee.height,ge]),Fe=ge-r,_e=m.useRef(Fe);_e.current=Fe;function ot(zt){var Xe=zt;return Number.isNaN(_e.current)||(Xe=Math.min(Xe,_e.current)),Xe=Math.max(Xe,0),Xe}var Ye=k<=0,St=k>=Fe,dt=xVe(Ye,St),je=function(){return{x:D?-_:_,y:k}},at=m.useRef(je()),ut=Ia(function(){if(b){var zt=je();(at.current.x!==zt.x||at.current.y!==zt.y)&&(b(zt),at.current=zt)}});function wt(zt,Xe){var ht=zt;Xe?(Sd.flushSync(function(){J(ht)}),ut()):Z(ht)}function rt(zt){var Xe=zt.currentTarget.scrollTop;Xe!==k&&Z(Xe),C==null||C(zt),ut()}var Qe=function(Xe){var ht=Xe,Je=y-Ee.width;return ht=Math.max(ht,0),ht=Math.min(ht,Je),ht},Oe=Ia(function(zt,Xe){Xe?(Sd.flushSync(function(){J(function(ht){var Je=ht+(D?-zt:zt);return Qe(Je)})}),ut()):Z(function(ht){var Je=ht+zt;return Je})}),et=NIt(R,Ye,St,!!y,Oe),vt=on(et,2),ct=vt[0],lt=vt[1];BIt(R,U,function(zt,Xe){return dt(zt,Xe)?!1:(ct({preventDefault:function(){},deltaY:zt}),!0)}),Ba(function(){function zt(ht){R&&ht.preventDefault()}var Xe=U.current;return Xe.addEventListener("wheel",ct),Xe.addEventListener("DOMMouseScroll",lt),Xe.addEventListener("MozMousePixelScroll",zt),function(){Xe.removeEventListener("wheel",ct),Xe.removeEventListener("DOMMouseScroll",lt),Xe.removeEventListener("MozMousePixelScroll",zt)}},[R]),Ba(function(){y&&J(function(zt){return Qe(zt)})},[Ee.width,y]);var tt=function(){var Xe,ht;(Xe=Le.current)===null||Xe===void 0||Xe.delayHidden(),(ht=qe.current)===null||ht===void 0||ht.delayHidden()},it=FIt(U,L,ze,a,pe,function(){return Re(!0)},Z,tt);m.useImperativeHandle(e,function(){return{getScrollInfo:je,scrollTo:function(Xe){function ht(Je){return Je&&gr(Je)==="object"&&("left"in Je||"top"in Je)}ht(Xe)?(Xe.left!==void 0&&J(Qe(Xe.left)),it(Xe.top)):it(Xe)}}}),Ba(function(){if(v){var zt=L.slice(we,ye+1);v(zt,L)}},[we,ye,L]);var At=YIt(L,pe,ze,a),Mt=w==null?void 0:w({start:we,end:ye,virtual:H,offsetX:_,offsetY:Te,rtl:D,getSize:At}),st=zIt(L,we,ye,y,me,d,ne),ft=null;r&&(ft=$t(_t({},s?"height":"maxHeight",r),VIt),R&&(ft.overflowY="hidden",y&&(ft.overflowX="hidden"),$&&(ft.pointerEvents="none")));var Rt={};return D&&(Rt.dir="rtl"),m.createElement("div",so({style:$t($t({},c),{},{position:"relative"}),className:E},Rt,P),m.createElement(xd,{onResize:Ne},m.createElement(x,{className:"".concat(o,"-holder"),style:ft,ref:U,onScroll:rt,onMouseEnter:tt},m.createElement(vVe,{prefixCls:o,height:ge,offsetX:_,offsetY:Te,scrollWidth:y,onInnerResize:Re,ref:F,innerProps:S,rtl:D,extra:Mt},st))),H&&ge>r&&m.createElement(Q8e,{ref:Le,prefixCls:o,scrollOffset:k,scrollRange:ge,rtl:D,onScroll:wt,onStartMove:le,onStopMove:ie,spinSize:De,containerSize:Ee.height,style:T==null?void 0:T.verticalScrollBar,thumbStyle:T==null?void 0:T.verticalScrollBarThumb}),H&&y&&m.createElement(Q8e,{ref:qe,prefixCls:o,scrollOffset:_,scrollRange:y,rtl:D,onScroll:wt,onStartMove:le,onStopMove:ie,spinSize:We,containerSize:Ee.width,horizontal:!0,style:T==null?void 0:T.horizontalScrollBar,thumbStyle:T==null?void 0:T.horizontalScrollBarThumb}))}var w$=m.forwardRef(GIt);w$.displayName="List";function XIt(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var JIt=["disabled","title","children","style","className"];function tve(t){return typeof t=="string"||typeof t=="number"}var KIt=function(e,n){var o=PMt(),i=o.prefixCls,r=o.id,a=o.open,l=o.multiple,s=o.mode,c=o.searchValue,u=o.toggleOpen,d=o.notFoundContent,f=o.onPopupScroll,p=m.useContext(Qge),g=p.maxCount,y=p.flattenOptions,A=p.onActiveValue,x=p.defaultActiveFirstOption,C=p.onSelect,b=p.menuItemSelectedIcon,v=p.rawValues,S=p.fieldNames,w=p.virtual,T=p.direction,P=p.listHeight,R=p.listItemHeight,H=p.optionRender,D="".concat(i,"-item"),E=fW(function(){return y},[a,y],function(pe,ne){return ne[0]&&pe[1]!==ne[1]}),L=m.useRef(null),U=m.useMemo(function(){return l&&v0e(g)&&(v==null?void 0:v.size)>=g},[l,g,v==null?void 0:v.size]),F=function(ne){ne.preventDefault()},W=function(ne){var Z;(Z=L.current)===null||Z===void 0||Z.scrollTo(typeof ne=="number"?{index:ne}:ne)},B=function(ne){for(var Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,he=E.length,fe=0;fe1&&arguments[1]!==void 0?arguments[1]:!1;Y(ne);var he={source:Z?"keyboard":"mouse"},fe=E[ne];if(!fe){A(null,-1,he);return}A(fe.value,ne,he)};m.useEffect(function(){_(x!==!1?B(0):-1)},[E.length,c]);var J=m.useCallback(function(pe){return v.has(pe)&&s!=="combobox"},[s,Wo(v).toString(),v.size]);m.useEffect(function(){var pe=setTimeout(function(){if(!l&&a&&v.size===1){var Z=Array.from(v)[0],he=E.findIndex(function(fe){var se=fe.data;return se.value===Z});he!==-1&&(_(he),W(he))}});if(a){var ne;(ne=L.current)===null||ne===void 0||ne.scrollTo(void 0)}return function(){return clearTimeout(pe)}},[a,c]);var Q=function(ne){ne!==void 0&&C(ne,{selected:!v.has(ne)}),l||u(!1)};if(m.useImperativeHandle(n,function(){return{onKeyDown:function(ne){var Z=ne.which,he=ne.ctrlKey;switch(Z){case Bn.N:case Bn.P:case Bn.UP:case Bn.DOWN:{var fe=0;if(Z===Bn.UP?fe=-1:Z===Bn.DOWN?fe=1:XIt()&&he&&(Z===Bn.N?fe=1:Z===Bn.P&&(fe=-1)),fe!==0){var se=B(j+fe,fe);W(se),_(se,!0)}break}case Bn.ENTER:{var oe,de=E[j];de&&!(de!=null&&(oe=de.data)!==null&&oe!==void 0&&oe.disabled)&&!U?Q(de.value):Q(void 0),a&&ne.preventDefault();break}case Bn.ESC:u(!1),a&&ne.stopPropagation()}},onKeyUp:function(){},scrollTo:function(ne){W(ne)}}}),E.length===0)return m.createElement("div",{role:"listbox",id:"".concat(r,"_list"),className:"".concat(D,"-empty"),onMouseDown:F},d);var ee=Object.keys(S).map(function(pe){return S[pe]}),$=function(ne){return ne.label};function q(pe,ne){var Z=pe.group;return{role:Z?"presentation":"option",id:"".concat(r,"_list_").concat(ne)}}var le=function(ne){var Z=E[ne];if(!Z)return null;var he=Z.data||{},fe=he.value,se=Z.group,oe=gf(he,!0),de=$(Z);return Z?m.createElement("div",so({"aria-label":typeof de=="string"&&!se?de:null},oe,{key:ne},q(Z,ne),{"aria-selected":J(fe)}),fe):null},ie={role:"listbox",id:"".concat(r,"_list")};return m.createElement(m.Fragment,null,w&&m.createElement("div",so({},ie,{style:{height:0,width:0,overflow:"hidden"}}),le(j-1),le(j),le(j+1)),m.createElement(w$,{itemKey:"key",ref:L,data:E,height:P,itemHeight:R,fullHeight:!1,onMouseDown:F,onScroll:f,virtual:w,direction:T,innerProps:w?null:ie},function(pe,ne){var Z=pe.group,he=pe.groupOption,fe=pe.data,se=pe.label,oe=pe.value,de=fe.key;if(Z){var ve,Pe=(ve=fe.title)!==null&&ve!==void 0?ve:tve(se)?se.toString():void 0;return m.createElement("div",{className:Vn(D,"".concat(D,"-group"),fe.className),title:Pe},se!==void 0?se:de)}var me=fe.disabled,Re=fe.title;fe.children;var ze=fe.style,Ae=fe.className,re=ir(fe,JIt),ge=MH(re,ee),we=J(oe),ye=me||!we&&U,Te="".concat(D,"-option"),Ie=Vn(D,Te,Ae,_t(_t(_t(_t({},"".concat(Te,"-grouped"),he),"".concat(Te,"-active"),j===ne&&!ye),"".concat(Te,"-disabled"),ye),"".concat(Te,"-selected"),we)),Ce=$(pe),Ee=!b||typeof b=="function"||we,Ue=typeof Ce=="number"?Ce:Ce||oe,Ne=tve(Ue)?Ue.toString():void 0;return Re!==void 0&&(Ne=Re),m.createElement("div",so({},gf(ge),w?{}:q(pe,ne),{"aria-selected":we,className:Ie,title:Ne,onMouseMove:function(){j===ne||ye||_(ne)},onClick:function(){ye||Q(oe)},style:ze}),m.createElement("div",{className:"".concat(Te,"-content")},typeof H=="function"?H(pe,{index:ne}):Ue),m.isValidElement(b)||we,Ee&&m.createElement(y$,{className:"".concat(D,"-option-state"),customizeIcon:b,customizeIconProps:{value:oe,disabled:ye,isSelected:we}},we?"✓":null))}))},qIt=m.forwardRef(KIt);const $It=function(t,e){var n=m.useRef({values:new Map,options:new Map}),o=m.useMemo(function(){var r=n.current,a=r.values,l=r.options,s=t.map(function(d){if(d.label===void 0){var f;return $t($t({},d),{},{label:(f=a.get(d.value))===null||f===void 0?void 0:f.label})}return d}),c=new Map,u=new Map;return s.forEach(function(d){c.set(d.value,d),u.set(d.value,e.get(d.value)||l.get(d.value))}),n.current.values=c,n.current.options=u,s},[t,e]),i=m.useCallback(function(r){return e.get(r)||n.current.options.get(r)},[e]);return[o,i]};function Iie(t,e){return mVe(t).join("").toUpperCase().includes(e)}const QIt=function(t,e,n,o,i){return m.useMemo(function(){if(!n||o===!1)return t;var r=e.options,a=e.label,l=e.value,s=[],c=typeof o=="function",u=n.toUpperCase(),d=c?o:function(p,g){return i?Iie(g[i],u):g[r]?Iie(g[a!=="children"?a:"label"],u):Iie(g[l],u)},f=c?function(p){return x0e(p)}:function(p){return p};return t.forEach(function(p){if(p[r]){var g=d(n,f(p));if(g)s.push(p);else{var y=p[r].filter(function(A){return d(n,f(A))});y.length&&s.push($t($t({},p),{},_t({},r,y)))}return}d(n,f(p))&&s.push(p)}),s},[t,o,i,n,e])};var nve=0,ZIt=sp();function ezt(){var t;return ZIt?(t=nve,nve+=1):t="TEST_OR_SSR",t}function tzt(t){var e=m.useState(),n=on(e,2),o=n[0],i=n[1];return m.useEffect(function(){i("rc_select_".concat(ezt()))},[]),t||o}var nzt=["children","value"],ozt=["children"];function izt(t){var e=t,n=e.key,o=e.props,i=o.children,r=o.value,a=ir(o,nzt);return $t({key:n,value:r!==void 0?r:n,children:i},a)}function bVe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Qw(t).map(function(n,o){if(!m.isValidElement(n)||!n.type)return null;var i=n,r=i.type.isSelectOptGroup,a=i.key,l=i.props,s=l.children,c=ir(l,ozt);return e||!r?izt(n):$t($t({key:"__RC_SELECT_GRP__".concat(a===null?o:a,"__"),label:a},c),{},{options:bVe(s)})}).filter(function(n){return n})}var rzt=function(e,n,o,i,r){return m.useMemo(function(){var a=e,l=!e;l&&(a=bVe(n));var s=new Map,c=new Map,u=function(p,g,y){y&&typeof y=="string"&&p.set(g[y],g)},d=function f(p){for(var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,y=0;y2&&arguments[2]!==void 0?arguments[2]:{},lt=ct.source,tt=lt===void 0?"keyboard":lt;St(vt),a&&o==="combobox"&&et!==null&&tt==="keyboard"&&Fe(String(et))},[a,o]),at=function(vt,ct,lt){var tt=function(){var Je,mt=ge(vt);return[N?{label:mt==null?void 0:mt[q.label],value:vt,key:(Je=mt==null?void 0:mt.key)!==null&&Je!==void 0?Je:vt}:vt,x0e(mt)]};if(ct&&p){var it=tt(),At=on(it,2),Mt=At[0],st=At[1];p(Mt,st)}else if(!ct&&g&<!=="clear"){var ft=tt(),Rt=on(ft,2),zt=Rt[0],Xe=Rt[1];g(zt,Xe)}},ut=ove(function(et,vt){var ct,lt=Q?vt.selected:!0;lt?ct=Q?[].concat(Wo(re),[et]):[et]:ct=re.filter(function(tt){return tt.value!==et}),Le(ct),at(et,lt),o==="combobox"?Fe(""):(!b0e||f)&&(ne(""),Fe(""))}),wt=function(vt,ct){Le(vt);var lt=ct.type,tt=ct.values;(lt==="remove"||lt==="clear")&&tt.forEach(function(it){at(it.value,!1,lt)})},rt=function(vt,ct){if(ne(vt),Fe(null),ct.source==="submit"){var lt=(vt||"").trim();if(lt){var tt=Array.from(new Set([].concat(Wo(ye),[lt])));Le(tt),at(lt,!0),ne("")}return}ct.source!=="blur"&&(o==="combobox"&&Le(vt),u==null||u(vt))},Qe=function(vt){var ct=vt;o!=="tags"&&(ct=vt.map(function(tt){var it=fe.get(tt);return it==null?void 0:it.value}).filter(function(tt){return tt!==void 0}));var lt=Array.from(new Set([].concat(Wo(ye),Wo(ct))));Le(lt),lt.forEach(function(tt){at(tt,!0)})},Oe=m.useMemo(function(){var et=H!==!1&&A!==!1;return $t($t({},Z),{},{flattenOptions:Ne,onActiveValue:je,defaultActiveFirstOption:dt,onSelect:ut,menuItemSelectedIcon:R,rawValues:ye,fieldNames:q,virtual:et,direction:D,listHeight:L,listItemHeight:F,childrenAsData:ee,maxCount:Y,optionRender:w})},[Y,Z,Ne,je,dt,ut,R,ye,q,H,A,D,L,F,ee,w]);return m.createElement(Qge.Provider,{value:Oe},m.createElement(MIt,so({},_,{id:J,prefixCls:r,ref:e,omitDomProps:lzt,mode:o,displayValues:we,onDisplayValuesChange:wt,direction:D,searchValue:pe,onSearch:rt,autoClearSearchValue:f,onSearchSplit:Qe,dropdownMatchSelectWidth:A,OptionList:qIt,emptyOptions:!Ne.length,activeValue:De,activeDescendantId:"".concat(J,"_list_").concat(Ye)})))}),tme=czt;tme.Option=eme;tme.OptGroup=Zge;function o7(t,e,n){return Gn({[`${t}-status-success`]:e==="success",[`${t}-status-warning`]:e==="warning",[`${t}-status-error`]:e==="error",[`${t}-status-validating`]:e==="validating",[`${t}-has-feedback`]:n})}const Mb=(t,e)=>e||t,uzt=()=>{const[,t]=Yu(),n=new Il(t.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return m.createElement("svg",{style:n,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},m.createElement("g",{fill:"none",fillRule:"evenodd"},m.createElement("g",{transform:"translate(24 31.67)"},m.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),m.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),m.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),m.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),m.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),m.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),m.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},m.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),m.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},dzt=()=>{const[,t]=Yu(),{colorFill:e,colorFillTertiary:n,colorFillQuaternary:o,colorBgContainer:i}=t,{borderColor:r,shadowColor:a,contentColor:l}=m.useMemo(()=>({borderColor:new Il(e).onBackground(i).toHexShortString(),shadowColor:new Il(n).onBackground(i).toHexShortString(),contentColor:new Il(o).onBackground(i).toHexShortString()}),[e,n,o,i]);return m.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},m.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},m.createElement("ellipse",{fill:a,cx:"32",cy:"33",rx:"32",ry:"7"}),m.createElement("g",{fillRule:"nonzero",stroke:r},m.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),m.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:l}))))},fzt=t=>{const{componentCls:e,margin:n,marginXS:o,marginXL:i,fontSize:r,lineHeight:a}=t;return{[e]:{marginInline:o,fontSize:r,lineHeight:a,textAlign:"center",[`${e}-image`]:{height:t.emptyImgHeight,marginBottom:o,opacity:t.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${e}-description`]:{color:t.colorText},[`${e}-footer`]:{marginTop:n},"&-normal":{marginBlock:i,color:t.colorTextDescription,[`${e}-description`]:{color:t.colorTextDescription},[`${e}-image`]:{height:t.emptyImgHeightMD}},"&-small":{marginBlock:o,color:t.colorTextDescription,[`${e}-image`]:{height:t.emptyImgHeightSM}}}}},hzt=Fl("Empty",t=>{const{componentCls:e,controlHeightLG:n,calc:o}=t,i=Zr(t,{emptyImgCls:`${e}-img`,emptyImgHeight:o(n).mul(2.5).equal(),emptyImgHeightMD:n,emptyImgHeightSM:o(n).mul(.875).equal()});return[fzt(i)]});var pzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{className:e,rootClassName:n,prefixCls:o,image:i=SVe,description:r,children:a,imageStyle:l,style:s}=t,c=pzt(t,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:u,direction:d,empty:f}=m.useContext(Mi),p=u("empty",o),[g,y,A]=hzt(p),[x]=D7("Empty"),C=typeof r<"u"?r:x==null?void 0:x.description,b=typeof C=="string"?C:"empty";let v=null;return typeof i=="string"?v=m.createElement("img",{alt:b,src:i}):v=i,g(m.createElement("div",Object.assign({className:Gn(y,A,p,f==null?void 0:f.className,{[`${p}-normal`]:i===TVe,[`${p}-rtl`]:d==="rtl"},e,n),style:Object.assign(Object.assign({},f==null?void 0:f.style),s)},c),m.createElement("div",{className:`${p}-image`,style:l},v),C&&m.createElement("div",{className:`${p}-description`},C),a&&m.createElement("div",{className:`${p}-footer`},a)))};ag.PRESENTED_IMAGE_DEFAULT=SVe;ag.PRESENTED_IMAGE_SIMPLE=TVe;const nme=t=>{const{componentName:e}=t,{getPrefixCls:n}=m.useContext(Mi),o=n("empty");switch(e){case"Table":case"List":return Se.createElement(ag,{image:ag.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return Se.createElement(ag,{image:ag.PRESENTED_IMAGE_SIMPLE,className:`${o}-small`});default:return Se.createElement(ag,null)}},gzt=["outlined","borderless","filled"],IH=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;const n=m.useContext(MHt);let o;typeof t<"u"?o=t:e===!1?o="borderless":o=n??"outlined";const i=gzt.includes(o);return[o,i]},mzt=t=>{const n={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:t==="scroll"?"scroll":"visible",dynamicInset:!0};return{bottomLeft:Object.assign(Object.assign({},n),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},n),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},n),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},n),{points:["br","tr"],offset:[0,-4]})}};function yzt(t,e){return t||mzt(e)}const ive=t=>{const{optionHeight:e,optionFontSize:n,optionLineHeight:o,optionPadding:i}=t;return{position:"relative",display:"block",minHeight:e,padding:i,color:t.colorText,fontWeight:"normal",fontSize:n,lineHeight:o,boxSizing:"border-box"}},Azt=t=>{const{antCls:e,componentCls:n}=t,o=`${n}-item`,i=`&${e}-slide-up-enter${e}-slide-up-enter-active`,r=`&${e}-slide-up-appear${e}-slide-up-appear-active`,a=`&${e}-slide-up-leave${e}-slide-up-leave-active`,l=`${n}-dropdown-placement-`;return[{[`${n}-dropdown`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,zIndex:t.zIndexPopup,boxSizing:"border-box",padding:t.paddingXXS,overflow:"hidden",fontSize:t.fontSize,fontVariant:"initial",backgroundColor:t.colorBgElevated,borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary,[` ${i}${l}bottomLeft, ${r}${l}bottomLeft `]:{animationName:f$},[` @@ -4516,31 +4516,31 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `]:{animationName:p$},[`${a}${l}bottomLeft`]:{animationName:h$},[` ${a}${l}topLeft, ${a}${l}topRight - `]:{animationName:g$},"&-hidden":{display:"none"},[`${o}`]:Object.assign(Object.assign({},ive(t)),{cursor:"pointer",transition:`background ${t.motionDurationSlow} ease`,borderRadius:t.borderRadiusSM,"&-group":{color:t.colorTextDescription,fontSize:t.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},Yx),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${o}-option-disabled)`]:{backgroundColor:t.optionActiveBg},[`&-selected:not(${o}-option-disabled)`]:{color:t.optionSelectedColor,fontWeight:t.optionSelectedFontWeight,backgroundColor:t.optionSelectedBg,[`${o}-option-state`]:{color:t.colorPrimary},[`&:has(+ ${o}-option-selected:not(${o}-option-disabled))`]:{borderEndStartRadius:0,borderEndEndRadius:0,[`& + ${o}-option-selected:not(${o}-option-disabled)`]:{borderStartStartRadius:0,borderStartEndRadius:0}}},"&-disabled":{[`&${o}-option-selected`]:{backgroundColor:t.colorBgContainerDisabled},color:t.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:t.calc(t.controlPaddingHorizontal).mul(2).equal()}},"&-empty":Object.assign(Object.assign({},ive(t)),{color:t.colorTextDisabled})}),"&-rtl":{direction:"rtl"}})},F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down")]},PVe=t=>{const{multipleSelectItemHeight:e,paddingXXS:n,lineWidth:o,INTERNAL_FIXED_ITEM_MARGIN:i}=t,r=t.max(t.calc(n).sub(o).equal(),0),a=t.max(t.calc(r).sub(i).equal(),0);return{basePadding:r,containerPadding:a,itemHeight:Ut(e),itemLineHeight:Ut(t.calc(e).sub(t.calc(t.lineWidth).mul(2)).equal())}},xzt=t=>{const{multipleSelectItemHeight:e,selectHeight:n,lineWidth:o}=t;return t.calc(n).sub(e).div(2).sub(o).equal()},CVe=t=>{const{componentCls:e,iconCls:n,borderRadiusSM:o,motionDurationSlow:i,paddingXS:r,multipleItemColorDisabled:a,multipleItemBorderColorDisabled:l,colorIcon:s,colorIconHover:c,INTERNAL_FIXED_ITEM_MARGIN:u}=t;return{[`${e}-selection-overflow`]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"},[`${e}-selection-item`]:{display:"flex",alignSelf:"center",flex:"none",boxSizing:"border-box",maxWidth:"100%",marginBlock:u,borderRadius:o,cursor:"default",transition:`font-size ${i}, line-height ${i}, height ${i}`,marginInlineEnd:t.calc(u).mul(2).equal(),paddingInlineStart:r,paddingInlineEnd:t.calc(r).div(2).equal(),[`${e}-disabled&`]:{color:a,borderColor:l,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:t.calc(r).div(2).equal(),overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},CH()),{display:"inline-flex",alignItems:"center",color:s,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${n}`]:{verticalAlign:"-0.2em"},"&:hover":{color:c}})}}}},bzt=(t,e)=>{const{componentCls:n,INTERNAL_FIXED_ITEM_MARGIN:o}=t,i=`${n}-selection-overflow`,r=t.multipleSelectItemHeight,a=xzt(t),l=e?`${n}-${e}`:"",s=PVe(t);return{[`${n}-multiple${l}`]:Object.assign(Object.assign({},CVe(t)),{[`${n}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",height:"100%",paddingInline:s.basePadding,paddingBlock:s.containerPadding,borderRadius:t.borderRadius,[`${n}-disabled&`]:{background:t.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${Ut(o)} 0`,lineHeight:Ut(r),visibility:"hidden",content:'"\\a0"'}},[`${n}-selection-item`]:{height:s.itemHeight,lineHeight:Ut(s.itemLineHeight)},[`${i}-item + ${i}-item`]:{[`${n}-selection-search`]:{marginInlineStart:0}},[`${i}-item-suffix`]:{height:"100%"},[`${n}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:t.calc(t.inputPaddingHorizontalBase).sub(a).equal(),"\n &-input,\n &-mirror\n ":{height:r,fontFamily:t.fontFamily,lineHeight:Ut(r),transition:`all ${t.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${n}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:t.inputPaddingHorizontalBase,insetInlineEnd:t.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${t.motionDurationSlow}`}})}};function zie(t,e){const{componentCls:n}=t,o=e?`${n}-${e}`:"",i={[`${n}-multiple${o}`]:{fontSize:t.fontSize,[`${n}-selector`]:{[`${n}-show-search&`]:{cursor:"text"}},[` + `]:{animationName:g$},"&-hidden":{display:"none"},[`${o}`]:Object.assign(Object.assign({},ive(t)),{cursor:"pointer",transition:`background ${t.motionDurationSlow} ease`,borderRadius:t.borderRadiusSM,"&-group":{color:t.colorTextDescription,fontSize:t.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},Yx),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${o}-option-disabled)`]:{backgroundColor:t.optionActiveBg},[`&-selected:not(${o}-option-disabled)`]:{color:t.optionSelectedColor,fontWeight:t.optionSelectedFontWeight,backgroundColor:t.optionSelectedBg,[`${o}-option-state`]:{color:t.colorPrimary},[`&:has(+ ${o}-option-selected:not(${o}-option-disabled))`]:{borderEndStartRadius:0,borderEndEndRadius:0,[`& + ${o}-option-selected:not(${o}-option-disabled)`]:{borderStartStartRadius:0,borderStartEndRadius:0}}},"&-disabled":{[`&${o}-option-selected`]:{backgroundColor:t.colorBgContainerDisabled},color:t.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:t.calc(t.controlPaddingHorizontal).mul(2).equal()}},"&-empty":Object.assign(Object.assign({},ive(t)),{color:t.colorTextDisabled})}),"&-rtl":{direction:"rtl"}})},F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down")]},PVe=t=>{const{multipleSelectItemHeight:e,paddingXXS:n,lineWidth:o,INTERNAL_FIXED_ITEM_MARGIN:i}=t,r=t.max(t.calc(n).sub(o).equal(),0),a=t.max(t.calc(r).sub(i).equal(),0);return{basePadding:r,containerPadding:a,itemHeight:Ut(e),itemLineHeight:Ut(t.calc(e).sub(t.calc(t.lineWidth).mul(2)).equal())}},wzt=t=>{const{multipleSelectItemHeight:e,selectHeight:n,lineWidth:o}=t;return t.calc(n).sub(e).div(2).sub(o).equal()},CVe=t=>{const{componentCls:e,iconCls:n,borderRadiusSM:o,motionDurationSlow:i,paddingXS:r,multipleItemColorDisabled:a,multipleItemBorderColorDisabled:l,colorIcon:s,colorIconHover:c,INTERNAL_FIXED_ITEM_MARGIN:u}=t;return{[`${e}-selection-overflow`]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"},[`${e}-selection-item`]:{display:"flex",alignSelf:"center",flex:"none",boxSizing:"border-box",maxWidth:"100%",marginBlock:u,borderRadius:o,cursor:"default",transition:`font-size ${i}, line-height ${i}, height ${i}`,marginInlineEnd:t.calc(u).mul(2).equal(),paddingInlineStart:r,paddingInlineEnd:t.calc(r).div(2).equal(),[`${e}-disabled&`]:{color:a,borderColor:l,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:t.calc(r).div(2).equal(),overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},CH()),{display:"inline-flex",alignItems:"center",color:s,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${n}`]:{verticalAlign:"-0.2em"},"&:hover":{color:c}})}}}},vzt=(t,e)=>{const{componentCls:n,INTERNAL_FIXED_ITEM_MARGIN:o}=t,i=`${n}-selection-overflow`,r=t.multipleSelectItemHeight,a=wzt(t),l=e?`${n}-${e}`:"",s=PVe(t);return{[`${n}-multiple${l}`]:Object.assign(Object.assign({},CVe(t)),{[`${n}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",height:"100%",paddingInline:s.basePadding,paddingBlock:s.containerPadding,borderRadius:t.borderRadius,[`${n}-disabled&`]:{background:t.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${Ut(o)} 0`,lineHeight:Ut(r),visibility:"hidden",content:'"\\a0"'}},[`${n}-selection-item`]:{height:s.itemHeight,lineHeight:Ut(s.itemLineHeight)},[`${i}-item + ${i}-item`]:{[`${n}-selection-search`]:{marginInlineStart:0}},[`${i}-item-suffix`]:{height:"100%"},[`${n}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:t.calc(t.inputPaddingHorizontalBase).sub(a).equal(),"\n &-input,\n &-mirror\n ":{height:r,fontFamily:t.fontFamily,lineHeight:Ut(r),transition:`all ${t.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${n}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:t.inputPaddingHorizontalBase,insetInlineEnd:t.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${t.motionDurationSlow}`}})}};function zie(t,e){const{componentCls:n}=t,o=e?`${n}-${e}`:"",i={[`${n}-multiple${o}`]:{fontSize:t.fontSize,[`${n}-selector`]:{[`${n}-show-search&`]:{cursor:"text"}},[` &${n}-show-arrow ${n}-selector, &${n}-allow-clear ${n}-selector - `]:{paddingInlineEnd:t.calc(t.fontSizeIcon).add(t.controlPaddingHorizontal).equal()}}};return[bzt(t,e),i]}const Szt=t=>{const{componentCls:e}=t,n=Zr(t,{selectHeight:t.controlHeightSM,multipleSelectItemHeight:t.multipleItemHeightSM,borderRadius:t.borderRadiusSM,borderRadiusSM:t.borderRadiusXS}),o=Zr(t,{fontSize:t.fontSizeLG,selectHeight:t.controlHeightLG,multipleSelectItemHeight:t.multipleItemHeightLG,borderRadius:t.borderRadiusLG,borderRadiusSM:t.borderRadius});return[zie(t),zie(n,"sm"),{[`${e}-multiple${e}-sm`]:{[`${e}-selection-placeholder`]:{insetInline:t.calc(t.controlPaddingHorizontalSM).sub(t.lineWidth).equal()},[`${e}-selection-search`]:{marginInlineStart:2}}},zie(o,"lg")]};function Die(t,e){const{componentCls:n,inputPaddingHorizontalBase:o,borderRadius:i}=t,r=t.calc(t.controlHeight).sub(t.calc(t.lineWidth).mul(2)).equal(),a=e?`${n}-${e}`:"";return{[`${n}-single${a}`]:{fontSize:t.fontSize,height:t.controlHeight,[`${n}-selector`]:Object.assign(Object.assign({},$a(t,!0)),{display:"flex",borderRadius:i,[`${n}-selection-search`]:{position:"absolute",top:0,insetInlineStart:o,insetInlineEnd:o,bottom:0,"&-input":{width:"100%",WebkitAppearance:"textfield"}},[` + `]:{paddingInlineEnd:t.calc(t.fontSizeIcon).add(t.controlPaddingHorizontal).equal()}}};return[vzt(t,e),i]}const xzt=t=>{const{componentCls:e}=t,n=Zr(t,{selectHeight:t.controlHeightSM,multipleSelectItemHeight:t.multipleItemHeightSM,borderRadius:t.borderRadiusSM,borderRadiusSM:t.borderRadiusXS}),o=Zr(t,{fontSize:t.fontSizeLG,selectHeight:t.controlHeightLG,multipleSelectItemHeight:t.multipleItemHeightLG,borderRadius:t.borderRadiusLG,borderRadiusSM:t.borderRadius});return[zie(t),zie(n,"sm"),{[`${e}-multiple${e}-sm`]:{[`${e}-selection-placeholder`]:{insetInline:t.calc(t.controlPaddingHorizontalSM).sub(t.lineWidth).equal()},[`${e}-selection-search`]:{marginInlineStart:2}}},zie(o,"lg")]};function Die(t,e){const{componentCls:n,inputPaddingHorizontalBase:o,borderRadius:i}=t,r=t.calc(t.controlHeight).sub(t.calc(t.lineWidth).mul(2)).equal(),a=e?`${n}-${e}`:"";return{[`${n}-single${a}`]:{fontSize:t.fontSize,height:t.controlHeight,[`${n}-selector`]:Object.assign(Object.assign({},$a(t,!0)),{display:"flex",borderRadius:i,[`${n}-selection-search`]:{position:"absolute",top:0,insetInlineStart:o,insetInlineEnd:o,bottom:0,"&-input":{width:"100%",WebkitAppearance:"textfield"}},[` ${n}-selection-item, ${n}-selection-placeholder `]:{padding:0,lineHeight:Ut(r),transition:`all ${t.motionDurationSlow}, visibility 0s`,alignSelf:"center"},[`${n}-selection-placeholder`]:{transition:"none",pointerEvents:"none"},[["&:after",`${n}-selection-item:empty:after`,`${n}-selection-placeholder:empty:after`].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),[` &${n}-show-arrow ${n}-selection-item, &${n}-show-arrow ${n}-selection-placeholder - `]:{paddingInlineEnd:t.showArrowPaddingInlineEnd},[`&${n}-open ${n}-selection-item`]:{color:t.colorTextPlaceholder},[`&:not(${n}-customize-input)`]:{[`${n}-selector`]:{width:"100%",height:"100%",padding:`0 ${Ut(o)}`,[`${n}-selection-search-input`]:{height:r},"&:after":{lineHeight:Ut(r)}}},[`&${n}-customize-input`]:{[`${n}-selector`]:{"&:after":{display:"none"},[`${n}-selection-search`]:{position:"static",width:"100%"},[`${n}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${Ut(o)}`,"&:after":{display:"none"}}}}}}}function Tzt(t){const{componentCls:e}=t,n=t.calc(t.controlPaddingHorizontalSM).sub(t.lineWidth).equal();return[Die(t),Die(Zr(t,{controlHeight:t.controlHeightSM,borderRadius:t.borderRadiusSM}),"sm"),{[`${e}-single${e}-sm`]:{[`&:not(${e}-customize-input)`]:{[`${e}-selection-search`]:{insetInlineStart:n,insetInlineEnd:n},[`${e}-selector`]:{padding:`0 ${Ut(n)}`},[`&${e}-show-arrow ${e}-selection-search`]:{insetInlineEnd:t.calc(n).add(t.calc(t.fontSize).mul(1.5)).equal()},[` + `]:{paddingInlineEnd:t.showArrowPaddingInlineEnd},[`&${n}-open ${n}-selection-item`]:{color:t.colorTextPlaceholder},[`&:not(${n}-customize-input)`]:{[`${n}-selector`]:{width:"100%",height:"100%",padding:`0 ${Ut(o)}`,[`${n}-selection-search-input`]:{height:r},"&:after":{lineHeight:Ut(r)}}},[`&${n}-customize-input`]:{[`${n}-selector`]:{"&:after":{display:"none"},[`${n}-selection-search`]:{position:"static",width:"100%"},[`${n}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${Ut(o)}`,"&:after":{display:"none"}}}}}}}function bzt(t){const{componentCls:e}=t,n=t.calc(t.controlPaddingHorizontalSM).sub(t.lineWidth).equal();return[Die(t),Die(Zr(t,{controlHeight:t.controlHeightSM,borderRadius:t.borderRadiusSM}),"sm"),{[`${e}-single${e}-sm`]:{[`&:not(${e}-customize-input)`]:{[`${e}-selection-search`]:{insetInlineStart:n,insetInlineEnd:n},[`${e}-selector`]:{padding:`0 ${Ut(n)}`},[`&${e}-show-arrow ${e}-selection-search`]:{insetInlineEnd:t.calc(n).add(t.calc(t.fontSize).mul(1.5)).equal()},[` &${e}-show-arrow ${e}-selection-item, &${e}-show-arrow ${e}-selection-placeholder - `]:{paddingInlineEnd:t.calc(t.fontSize).mul(1.5).equal()}}}},Die(Zr(t,{controlHeight:t.singleItemHeightLG,fontSize:t.fontSizeLG,borderRadius:t.borderRadiusLG}),"lg")]}const Pzt=t=>{const{fontSize:e,lineHeight:n,lineWidth:o,controlHeight:i,controlHeightSM:r,controlHeightLG:a,paddingXXS:l,controlPaddingHorizontal:s,zIndexPopupBase:c,colorText:u,fontWeightStrong:d,controlItemBgActive:f,controlItemBgHover:p,colorBgContainer:g,colorFillSecondary:y,colorBgContainerDisabled:A,colorTextDisabled:x}=t,C=l*2,b=o*2,v=Math.min(i-C,i-b),S=Math.min(r-C,r-b),w=Math.min(a-C,a-b);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(l/2),zIndexPopup:c+50,optionSelectedColor:u,optionSelectedFontWeight:d,optionSelectedBg:f,optionActiveBg:p,optionPadding:`${(i-e*n)/2}px ${s}px`,optionFontSize:e,optionLineHeight:n,optionHeight:i,selectorBg:g,clearBg:g,singleItemHeightLG:a,multipleItemBg:y,multipleItemBorderColor:"transparent",multipleItemHeight:v,multipleItemHeightSM:S,multipleItemHeightLG:w,multipleSelectorBgDisabled:A,multipleItemColorDisabled:x,multipleItemBorderColorDisabled:"transparent",showArrowPaddingInlineEnd:Math.ceil(t.fontSize*1.25)}},RVe=(t,e)=>{const{componentCls:n,antCls:o,controlOutlineWidth:i}=t;return{[`&:not(${n}-customize-input) ${n}-selector`]:{border:`${Ut(t.lineWidth)} ${t.lineType} ${e.borderColor}`,background:t.selectorBg},[`&:not(${n}-disabled):not(${n}-customize-input):not(${o}-pagination-size-changer)`]:{[`&:hover ${n}-selector`]:{borderColor:e.hoverBorderHover},[`${n}-focused& ${n}-selector`]:{borderColor:e.activeBorderColor,boxShadow:`0 0 0 ${Ut(i)} ${e.activeShadowColor}`,outline:0}}}},rve=(t,e)=>({[`&${t.componentCls}-status-${e.status}`]:Object.assign({},RVe(t,e))}),Czt=t=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign({},RVe(t,{borderColor:t.colorBorder,hoverBorderHover:t.colorPrimaryHover,activeBorderColor:t.colorPrimary,activeShadowColor:t.controlOutline})),rve(t,{status:"error",borderColor:t.colorError,hoverBorderHover:t.colorErrorHover,activeBorderColor:t.colorError,activeShadowColor:t.colorErrorOutline})),rve(t,{status:"warning",borderColor:t.colorWarning,hoverBorderHover:t.colorWarningHover,activeBorderColor:t.colorWarning,activeShadowColor:t.colorWarningOutline})),{[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{background:t.colorBgContainerDisabled,color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}})}),HVe=(t,e)=>{const{componentCls:n,antCls:o}=t;return{[`&:not(${n}-customize-input) ${n}-selector`]:{background:e.bg,border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,color:e.color},[`&:not(${n}-disabled):not(${n}-customize-input):not(${o}-pagination-size-changer)`]:{[`&:hover ${n}-selector`]:{background:e.hoverBg},[`${n}-focused& ${n}-selector`]:{background:t.selectorBg,borderColor:e.activeBorderColor,outline:0}}}},ave=(t,e)=>({[`&${t.componentCls}-status-${e.status}`]:Object.assign({},HVe(t,e))}),Rzt=t=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign({},HVe(t,{bg:t.colorFillTertiary,hoverBg:t.colorFillSecondary,activeBorderColor:t.colorPrimary,color:t.colorText})),ave(t,{status:"error",bg:t.colorErrorBg,hoverBg:t.colorErrorBgHover,activeBorderColor:t.colorError,color:t.colorError})),ave(t,{status:"warning",bg:t.colorWarningBg,hoverBg:t.colorWarningBgHover,activeBorderColor:t.colorWarning,color:t.colorWarning})),{[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{borderColor:t.colorBorder,background:t.colorBgContainerDisabled,color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}})}),Hzt=t=>({"&-borderless":{[`${t.componentCls}-selector`]:{background:"transparent",borderColor:"transparent"},[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}}}),Mzt=t=>({[t.componentCls]:Object.assign(Object.assign(Object.assign({},Czt(t)),Rzt(t)),Hzt(t))}),Izt=t=>{const{componentCls:e}=t;return{position:"relative",transition:`all ${t.motionDurationMid} ${t.motionEaseInOut}`,input:{cursor:"pointer"},[`${e}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit",height:"100%"}},[`${e}-disabled&`]:{cursor:"not-allowed",input:{cursor:"not-allowed"}}}},zzt=t=>{const{componentCls:e}=t;return{[`${e}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none",fontFamily:"inherit","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},Dzt=t=>{const{antCls:e,componentCls:n,inputPaddingHorizontalBase:o,iconCls:i}=t;return{[n]:Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${n}-customize-input) ${n}-selector`]:Object.assign(Object.assign({},Izt(t)),zzt(t)),[`${n}-selection-item`]:Object.assign(Object.assign({flex:1,fontWeight:"normal",position:"relative",userSelect:"none"},Yx),{[`> ${e}-typography`]:{display:"inline"}}),[`${n}-selection-placeholder`]:Object.assign(Object.assign({},Yx),{flex:1,color:t.colorTextPlaceholder,pointerEvents:"none"}),[`${n}-arrow`]:Object.assign(Object.assign({},CH()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:o,height:t.fontSizeIcon,marginTop:t.calc(t.fontSizeIcon).mul(-1).div(2).equal(),color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",transition:`opacity ${t.motionDurationSlow} ease`,[i]:{verticalAlign:"top",transition:`transform ${t.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${n}-suffix)`]:{pointerEvents:"auto"}},[`${n}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${n}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:o,zIndex:1,display:"inline-block",width:t.fontSizeIcon,height:t.fontSizeIcon,marginTop:t.calc(t.fontSizeIcon).mul(-1).div(2).equal(),color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",cursor:"pointer",opacity:0,transition:`color ${t.motionDurationMid} ease, opacity ${t.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:t.colorTextTertiary}},"&:hover":{[`${n}-clear`]:{opacity:1},[`${n}-arrow:not(:last-child)`]:{opacity:0}}}),[`${n}-has-feedback`]:{[`${n}-clear`]:{insetInlineEnd:t.calc(o).add(t.fontSize).add(t.paddingXS).equal()}}}},Ezt=t=>{const{componentCls:e}=t;return[{[e]:{[`&${e}-in-form-item`]:{width:"100%"}}},Dzt(t),Tzt(t),Szt(t),vzt(t),{[`${e}-rtl`]:{direction:"rtl"}},vW(t,{borderElCls:`${e}-selector`,focusElCls:`${e}-focused`})]},kzt=Fl("Select",(t,e)=>{let{rootPrefixCls:n}=e;const o=Zr(t,{rootPrefixCls:n,inputPaddingHorizontalBase:t.calc(t.paddingSM).sub(1).equal(),multipleSelectItemHeight:t.multipleItemHeight,selectHeight:t.controlHeight});return[Ezt(o),Mzt(o)]},Pzt,{unitless:{optionLineHeight:!0,optionSelectedFontWeight:!0}});var Fzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},Lzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Fzt}))},MVe=m.forwardRef(Lzt),Wzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},Nzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Wzt}))},ome=m.forwardRef(Nzt),Uzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},Bzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Uzt}))},ime=m.forwardRef(Bzt);function IVe(t){let{suffixIcon:e,clearIcon:n,menuItemSelectedIcon:o,removeIcon:i,loading:r,multiple:a,hasFeedback:l,prefixCls:s,showSuffixIcon:c,feedbackIcon:u,showArrow:d,componentName:f}=t;const p=n??m.createElement(a$,null),g=C=>e===null&&!l&&!d?null:m.createElement(m.Fragment,null,c!==!1&&C,l&&u);let y=null;if(e!==void 0)y=g(e);else if(r)y=g(m.createElement(HH,{spin:!0}));else{const C=`${s}-suffix`;y=b=>{let{open:v,showSearch:S}=b;return g(v&&S?m.createElement(ime,{className:C}):m.createElement(ome,{className:C}))}}let A=null;o!==void 0?A=o:a?A=m.createElement(MVe,null):A=null;let x=null;return i!==void 0?x=i:x=m.createElement(E7,null),{clearIcon:p,suffixIcon:y,itemIcon:A,removeIcon:x}}function jzt(t,e){return e!==void 0?e:t!==null}var Yzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,bordered:i,className:r,rootClassName:a,getPopupContainer:l,popupClassName:s,dropdownClassName:c,listHeight:u=256,placement:d,listItemHeight:f,size:p,disabled:g,notFoundContent:y,status:A,builtinPlacements:x,dropdownMatchSelectWidth:C,popupMatchSelectWidth:b,direction:v,style:S,allowClear:w,variant:T,dropdownStyle:P,transitionName:R,tagRender:H,maxCount:D}=t,E=Yzt(t,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear","variant","dropdownStyle","transitionName","tagRender","maxCount"]),{getPopupContainer:L,getPrefixCls:U,renderEmpty:F,direction:W,virtual:B,popupMatchSelectWidth:k,popupOverflow:N,select:j}=m.useContext(Mi),[,Y]=Yu(),_=f??(Y==null?void 0:Y.controlHeight),J=U("select",o),Q=U(),ee=v??W,{compactSize:$,compactItemClassnames:q}=F7(J,ee),[le,ie]=IH(T,i),pe=j0(J),[ne,Z,he]=kzt(J,pe),fe=m.useMemo(()=>{const{mode:De}=t;if(De!=="combobox")return De===zVe?"combobox":De},[t.mode]),se=fe==="multiple"||fe==="tags",oe=jzt(t.suffixIcon,t.showArrow),de=(n=b??C)!==null&&n!==void 0?n:k,{status:ve,hasFeedback:Pe,isFormItemInput:me,feedbackIcon:Re}=m.useContext($p),ze=Mb(ve,A);let Ae;y!==void 0?Ae=y:fe==="combobox"?Ae=null:Ae=(F==null?void 0:F("Select"))||m.createElement(nme,{componentName:"Select"});const{suffixIcon:re,itemIcon:ge,removeIcon:we,clearIcon:ye}=IVe(Object.assign(Object.assign({},E),{multiple:se,hasFeedback:Pe,feedbackIcon:Re,showSuffixIcon:oe,prefixCls:J,componentName:"Select"})),Te=w===!0?{clearIcon:ye}:w,Ie=lp(E,["suffixIcon","itemIcon"]),Ce=Gn(s||c,{[`${J}-dropdown-${ee}`]:ee==="rtl"},a,he,pe,Z),Ee=Cd(De=>{var Fe;return(Fe=p??$)!==null&&Fe!==void 0?Fe:De}),Ue=m.useContext(qp),Ne=g??Ue,Le=Gn({[`${J}-lg`]:Ee==="large",[`${J}-sm`]:Ee==="small",[`${J}-rtl`]:ee==="rtl",[`${J}-${le}`]:ie,[`${J}-in-form-item`]:me},o7(J,ze,Pe),q,j==null?void 0:j.className,r,a,he,pe,Z),qe=m.useMemo(()=>d!==void 0?d:ee==="rtl"?"bottomRight":"bottomLeft",[d,ee]),[We]=k7("SelectLike",P==null?void 0:P.zIndex);return ne(m.createElement(tme,Object.assign({ref:e,virtual:B,showSearch:j==null?void 0:j.showSearch},Ie,{style:Object.assign(Object.assign({},j==null?void 0:j.style),S),dropdownMatchSelectWidth:de,transitionName:D9(Q,"slide-up",R),builtinPlacements:wzt(x,N),listHeight:u,listItemHeight:_,mode:fe,prefixCls:J,placement:qe,direction:ee,suffixIcon:re,menuItemSelectedIcon:ge,removeIcon:we,allowClear:Te,notFoundContent:Ae,className:Le,getPopupContainer:l||L,dropdownClassName:Ce,disabled:Ne,dropdownStyle:Object.assign(Object.assign({},P),{zIndex:We}),maxCount:se?D:void 0,tagRender:se?H:void 0})))},Yo=m.forwardRef(Ozt),_zt=RW(Yo);Yo.SECRET_COMBOBOX_MODE_DO_NOT_USE=zVe;Yo.Option=eme;Yo.OptGroup=Zge;Yo._InternalPanelDoNotUseOrYouWillBeFired=_zt;const i7=["xxl","xl","lg","md","sm","xs"],Vzt=t=>({xs:`(max-width: ${t.screenXSMax}px)`,sm:`(min-width: ${t.screenSM}px)`,md:`(min-width: ${t.screenMD}px)`,lg:`(min-width: ${t.screenLG}px)`,xl:`(min-width: ${t.screenXL}px)`,xxl:`(min-width: ${t.screenXXL}px)`}),Gzt=t=>{const e=t,n=[].concat(i7).reverse();return n.forEach((o,i)=>{const r=o.toUpperCase(),a=`screen${r}Min`,l=`screen${r}`;if(!(e[a]<=e[l]))throw new Error(`${a}<=${l} fails : !(${e[a]}<=${e[l]})`);if(i{const n=new Map;let o=-1,i={};return{matchHandlers:{},dispatch(r){return i=r,n.forEach(a=>a(i)),n.size>=1},subscribe(r){return n.size||this.register(),o+=1,n.set(o,r),r(i),o},unsubscribe(r){n.delete(r),n.size||this.unregister()},unregister(){Object.keys(e).forEach(r=>{const a=e[r],l=this.matchHandlers[a];l==null||l.mql.removeListener(l==null?void 0:l.listener)}),n.clear()},register(){Object.keys(e).forEach(r=>{const a=e[r],l=c=>{let{matches:u}=c;this.dispatch(Object.assign(Object.assign({},i),{[r]:u}))},s=window.matchMedia(a);s.addListener(l),this.matchHandlers[a]={mql:s,listener:l},l(s)})},responsiveMap:e}},[t])}function EVe(){const[,t]=m.useReducer(e=>e+1,0);return t}function v$(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;const e=m.useRef({}),n=EVe(),o=DVe();return dx(()=>{const i=o.subscribe(r=>{e.current=r,t&&n()});return()=>o.unsubscribe(i)},[]),e.current}const S0e=m.createContext({}),Xzt=t=>{const{antCls:e,componentCls:n,iconCls:o,avatarBg:i,avatarColor:r,containerSize:a,containerSizeLG:l,containerSizeSM:s,textFontSize:c,textFontSizeLG:u,textFontSizeSM:d,borderRadius:f,borderRadiusLG:p,borderRadiusSM:g,lineWidth:y,lineType:A}=t,x=(C,b,v)=>({width:C,height:C,borderRadius:"50%",[`&${n}-square`]:{borderRadius:v},[`&${n}-icon`]:{fontSize:b,[`> ${o}`]:{margin:0}}});return{[n]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-flex",justifyContent:"center",alignItems:"center",overflow:"hidden",color:r,whiteSpace:"nowrap",textAlign:"center",verticalAlign:"middle",background:i,border:`${Ut(y)} ${A} transparent`,"&-image":{background:"transparent"},[`${e}-image-img`]:{display:"block"}}),x(a,c,f)),{"&-lg":Object.assign({},x(l,u,p)),"&-sm":Object.assign({},x(s,d,g)),"> img":{display:"block",width:"100%",height:"100%",objectFit:"cover"}})}},Jzt=t=>{const{componentCls:e,groupBorderColor:n,groupOverlapping:o,groupSpace:i}=t;return{[`${e}-group`]:{display:"inline-flex",[`${e}`]:{borderColor:n},"> *:not(:first-child)":{marginInlineStart:o}},[`${e}-group-popover`]:{[`${e} + ${e}`]:{marginInlineStart:i}}}},Kzt=t=>{const{controlHeight:e,controlHeightLG:n,controlHeightSM:o,fontSize:i,fontSizeLG:r,fontSizeXL:a,fontSizeHeading3:l,marginXS:s,marginXXS:c,colorBorderBg:u}=t;return{containerSize:e,containerSizeLG:n,containerSizeSM:o,textFontSize:Math.round((r+a)/2),textFontSizeLG:l,textFontSizeSM:i,groupSpace:c,groupOverlapping:-s,groupBorderColor:u}},kVe=Fl("Avatar",t=>{const{colorTextLightSolid:e,colorTextPlaceholder:n}=t,o=Zr(t,{avatarBg:n,avatarColor:e});return[Xzt(o),Jzt(o)]},Kzt);var qzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const[n,o]=m.useState(1),[i,r]=m.useState(!1),[a,l]=m.useState(!0),s=m.useRef(null),c=m.useRef(null),u=q2(e,s),{getPrefixCls:d,avatar:f}=m.useContext(Mi),p=m.useContext(S0e),g=()=>{if(!c.current||!s.current)return;const le=c.current.offsetWidth,ie=s.current.offsetWidth;if(le!==0&&ie!==0){const{gap:pe=4}=t;pe*2{r(!0)},[]),m.useEffect(()=>{l(!0),o(1)},[t.src]),m.useEffect(g,[t.gap]);const y=()=>{const{onError:le}=t;(le==null?void 0:le())!==!1&&l(!1)},{prefixCls:A,shape:x,size:C,src:b,srcSet:v,icon:S,className:w,rootClassName:T,alt:P,draggable:R,children:H,crossOrigin:D}=t,E=qzt(t,["prefixCls","shape","size","src","srcSet","icon","className","rootClassName","alt","draggable","children","crossOrigin"]),L=Cd(le=>{var ie,pe;return(pe=(ie=C??(p==null?void 0:p.size))!==null&&ie!==void 0?ie:le)!==null&&pe!==void 0?pe:"default"}),U=Object.keys(typeof L=="object"?L||{}:{}).some(le=>["xs","sm","md","lg","xl","xxl"].includes(le)),F=v$(U),W=m.useMemo(()=>{if(typeof L!="object")return{};const le=i7.find(pe=>F[pe]),ie=L[le];return ie?{width:ie,height:ie,fontSize:ie&&(S||H)?ie/2:18}:{}},[F,L]),B=d("avatar",A),k=j0(B),[N,j,Y]=kVe(B,k),_=Gn({[`${B}-lg`]:L==="large",[`${B}-sm`]:L==="small"}),J=m.isValidElement(b),Q=x||(p==null?void 0:p.shape)||"circle",ee=Gn(B,_,f==null?void 0:f.className,`${B}-${Q}`,{[`${B}-image`]:J||b&&a,[`${B}-icon`]:!!S},Y,k,w,T,j),$=typeof L=="number"?{width:L,height:L,fontSize:S?L/2:18}:{};let q;if(typeof b=="string"&&a)q=m.createElement("img",{src:b,draggable:R,srcSet:v,onError:y,alt:P,crossOrigin:D});else if(J)q=b;else if(S)q=S;else if(i||n!==1){const le=`scale(${n})`,ie={msTransform:le,WebkitTransform:le,transform:le};q=m.createElement(xd,{onResize:g},m.createElement("span",{className:`${B}-string`,ref:c,style:Object.assign({},ie)},H))}else q=m.createElement("span",{className:`${B}-string`,style:{opacity:0},ref:c},H);return delete E.onError,delete E.gap,N(m.createElement("span",Object.assign({},E,{style:Object.assign(Object.assign(Object.assign(Object.assign({},$),W),f==null?void 0:f.style),E.style),className:ee,ref:u}),q))},FVe=m.forwardRef($zt);var hr={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=hr.F1&&n<=hr.F12)return!1;switch(n){case hr.ALT:case hr.CAPS_LOCK:case hr.CONTEXT_MENU:case hr.CTRL:case hr.DOWN:case hr.END:case hr.ESC:case hr.HOME:case hr.INSERT:case hr.LEFT:case hr.MAC_FF_META:case hr.META:case hr.NUMLOCK:case hr.NUM_CENTER:case hr.PAGE_DOWN:case hr.PAGE_UP:case hr.PAUSE:case hr.PRINT_SCREEN:case hr.RIGHT:case hr.SHIFT:case hr.UP:case hr.WIN_KEY:case hr.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=hr.ZERO&&e<=hr.NINE||e>=hr.NUM_ZERO&&e<=hr.NUM_MULTIPLY||e>=hr.A&&e<=hr.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case hr.SPACE:case hr.QUESTION_MARK:case hr.NUM_PLUS:case hr.NUM_MINUS:case hr.NUM_PERIOD:case hr.NUM_DIVISION:case hr.SEMICOLON:case hr.DASH:case hr.EQUALS:case hr.COMMA:case hr.PERIOD:case hr.SLASH:case hr.APOSTROPHE:case hr.SINGLE_QUOTE:case hr.OPEN_SQUARE_BRACKET:case hr.BACKSLASH:case hr.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};const xG=t=>t?typeof t=="function"?t():t:null;function rme(t){var e=t.children,n=t.prefixCls,o=t.id,i=t.overlayInnerStyle,r=t.className,a=t.style;return m.createElement("div",{className:Vn("".concat(n,"-content"),r),style:a},m.createElement("div",{className:"".concat(n,"-inner"),id:o,role:"tooltip",style:i},typeof e=="function"?e():e))}function T0e(){return T0e=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(n[i]=t[i]);return n}function oDt(t,e){if(t==null)return{};var n=nDt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var TT={shiftX:64,adjustY:1},PT={adjustX:1,shiftY:!0},sm=[0,0],iDt={left:{points:["cr","cl"],overflow:PT,offset:[-4,0],targetOffset:sm},right:{points:["cl","cr"],overflow:PT,offset:[4,0],targetOffset:sm},top:{points:["bc","tc"],overflow:TT,offset:[0,-4],targetOffset:sm},bottom:{points:["tc","bc"],overflow:TT,offset:[0,4],targetOffset:sm},topLeft:{points:["bl","tl"],overflow:TT,offset:[0,-4],targetOffset:sm},leftTop:{points:["tr","tl"],overflow:PT,offset:[-4,0],targetOffset:sm},topRight:{points:["br","tr"],overflow:TT,offset:[0,-4],targetOffset:sm},rightTop:{points:["tl","tr"],overflow:PT,offset:[4,0],targetOffset:sm},bottomRight:{points:["tr","br"],overflow:TT,offset:[0,4],targetOffset:sm},rightBottom:{points:["bl","br"],overflow:PT,offset:[4,0],targetOffset:sm},bottomLeft:{points:["tl","bl"],overflow:TT,offset:[0,4],targetOffset:sm},leftBottom:{points:["br","bl"],overflow:PT,offset:[-4,0],targetOffset:sm}},rDt=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],aDt=function(e,n){var o=e.overlayClassName,i=e.trigger,r=i===void 0?["hover"]:i,a=e.mouseEnterDelay,l=a===void 0?0:a,s=e.mouseLeaveDelay,c=s===void 0?.1:s,u=e.overlayStyle,d=e.prefixCls,f=d===void 0?"rc-tooltip":d,p=e.children,g=e.onVisibleChange,y=e.afterVisibleChange,A=e.transitionName,x=e.animation,C=e.motion,b=e.placement,v=b===void 0?"right":b,S=e.align,w=S===void 0?{}:S,T=e.destroyTooltipOnHide,P=T===void 0?!1:T,R=e.defaultVisible,H=e.getTooltipContainer,D=e.overlayInnerStyle;e.arrowContent;var E=e.overlay,L=e.id,U=e.showArrow,F=U===void 0?!0:U,W=oDt(e,rDt),B=m.useRef(null);m.useImperativeHandle(n,function(){return B.current});var k=tDt({},W);"visible"in e&&(k.popupVisible=e.visible);var N=function(){return m.createElement(rme,{key:"content",prefixCls:f,id:L,overlayInnerStyle:D},E)};return m.createElement(MW,T0e({popupClassName:o,prefixCls:f,popup:N,action:r,builtinPlacements:iDt,popupPlacement:v,ref:B,popupAlign:w,getPopupContainer:H,onPopupVisibleChange:g,afterPopupVisibleChange:y,popupTransitionName:A,popupAnimation:x,popupMotion:C,defaultPopupVisible:R,autoDestroy:P,mouseLeaveDelay:c,popupStyle:u,mouseEnterDelay:l,arrow:F},k),p)};const lDt=m.forwardRef(aDt);function x$(t){const{sizePopupArrow:e,borderRadiusXS:n,borderRadiusOuter:o}=t,i=e/2,r=0,a=i,l=o*1/Math.sqrt(2),s=i-o*(1-1/Math.sqrt(2)),c=i-n*(1/Math.sqrt(2)),u=o*(Math.sqrt(2)-1)+n*(1/Math.sqrt(2)),d=2*i-c,f=u,p=2*i-l,g=s,y=2*i-r,A=a,x=i*Math.sqrt(2)+o*(Math.sqrt(2)-2),C=o*(Math.sqrt(2)-1),b=`polygon(${C}px 100%, 50% ${C}px, ${2*i-C}px 100%, ${C}px 100%)`,v=`path('M ${r} ${a} A ${o} ${o} 0 0 0 ${l} ${s} L ${c} ${u} A ${n} ${n} 0 0 1 ${d} ${f} L ${p} ${g} A ${o} ${o} 0 0 0 ${y} ${A} Z')`;return{arrowShadowWidth:x,arrowPath:v,arrowPolygon:b}}const LVe=(t,e,n)=>{const{sizePopupArrow:o,arrowPolygon:i,arrowPath:r,arrowShadowWidth:a,borderRadiusXS:l,calc:s}=t;return{pointerEvents:"none",width:o,height:o,overflow:"hidden","&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:o,height:s(o).div(2).equal(),background:e,clipPath:{_multi_value_:!0,value:[i,r]},content:'""'},"&::after":{content:'""',position:"absolute",width:a,height:a,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${Ut(l)} 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:n,zIndex:0,background:"transparent"}}},WVe=8;function b$(t){const{contentRadius:e,limitVerticalRadius:n}=t,o=e>12?e+2:12;return{arrowOffsetHorizontal:o,arrowOffsetVertical:n?WVe:o}}function hY(t,e){return t?e:{}}function ame(t,e,n){const{componentCls:o,boxShadowPopoverArrow:i,arrowOffsetVertical:r,arrowOffsetHorizontal:a}=t,{arrowDistance:l=0,arrowPlacement:s={left:!0,right:!0,top:!0,bottom:!0}}=n||{};return{[o]:Object.assign(Object.assign(Object.assign(Object.assign({[`${o}-arrow`]:[Object.assign(Object.assign({position:"absolute",zIndex:1,display:"block"},LVe(t,e,i)),{"&:before":{background:e}})]},hY(!!s.top,{[[`&-placement-top > ${o}-arrow`,`&-placement-topLeft > ${o}-arrow`,`&-placement-topRight > ${o}-arrow`].join(",")]:{bottom:l,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top > ${o}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft > ${o}-arrow`]:{left:{_skip_check_:!0,value:a}},[`&-placement-topRight > ${o}-arrow`]:{right:{_skip_check_:!0,value:a}}})),hY(!!s.bottom,{[[`&-placement-bottom > ${o}-arrow`,`&-placement-bottomLeft > ${o}-arrow`,`&-placement-bottomRight > ${o}-arrow`].join(",")]:{top:l,transform:"translateY(-100%)"},[`&-placement-bottom > ${o}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft > ${o}-arrow`]:{left:{_skip_check_:!0,value:a}},[`&-placement-bottomRight > ${o}-arrow`]:{right:{_skip_check_:!0,value:a}}})),hY(!!s.left,{[[`&-placement-left > ${o}-arrow`,`&-placement-leftTop > ${o}-arrow`,`&-placement-leftBottom > ${o}-arrow`].join(",")]:{right:{_skip_check_:!0,value:l},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left > ${o}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop > ${o}-arrow`]:{top:r},[`&-placement-leftBottom > ${o}-arrow`]:{bottom:r}})),hY(!!s.right,{[[`&-placement-right > ${o}-arrow`,`&-placement-rightTop > ${o}-arrow`,`&-placement-rightBottom > ${o}-arrow`].join(",")]:{left:{_skip_check_:!0,value:l},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right > ${o}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop > ${o}-arrow`]:{top:r},[`&-placement-rightBottom > ${o}-arrow`]:{bottom:r}}))}}function sDt(t,e,n,o){if(o===!1)return{adjustX:!1,adjustY:!1};const i=o&&typeof o=="object"?o:{},r={};switch(t){case"top":case"bottom":r.shiftX=e.arrowOffsetHorizontal*2+n,r.shiftY=!0,r.adjustY=!0;break;case"left":case"right":r.shiftY=e.arrowOffsetVertical*2+n,r.shiftX=!0,r.adjustX=!0;break}const a=Object.assign(Object.assign({},r),i);return a.shiftX||(a.adjustX=!0),a.shiftY||(a.adjustY=!0),a}const sve={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},cDt={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},uDt=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);function NVe(t){const{arrowWidth:e,autoAdjustOverflow:n,arrowPointAtCenter:o,offset:i,borderRadius:r,visibleFirst:a}=t,l=e/2,s={};return Object.keys(sve).forEach(c=>{const u=o&&cDt[c]||sve[c],d=Object.assign(Object.assign({},u),{offset:[0,0],dynamicInset:!0});switch(s[c]=d,uDt.has(c)&&(d.autoArrow=!1),c){case"top":case"topLeft":case"topRight":d.offset[1]=-l-i;break;case"bottom":case"bottomLeft":case"bottomRight":d.offset[1]=l+i;break;case"left":case"leftTop":case"leftBottom":d.offset[0]=-l-i;break;case"right":case"rightTop":case"rightBottom":d.offset[0]=l+i;break}const f=b$({contentRadius:r,limitVerticalRadius:!0});if(o)switch(c){case"topLeft":case"bottomLeft":d.offset[0]=-f.arrowOffsetHorizontal-l;break;case"topRight":case"bottomRight":d.offset[0]=f.arrowOffsetHorizontal+l;break;case"leftTop":case"rightTop":d.offset[1]=-f.arrowOffsetHorizontal-l;break;case"leftBottom":case"rightBottom":d.offset[1]=f.arrowOffsetHorizontal+l;break}d.overflow=sDt(c,f,e,n),a&&(d.htmlRegion="visibleFirst")}),s}const dDt=t=>{const{componentCls:e,tooltipMaxWidth:n,tooltipColor:o,tooltipBg:i,tooltipBorderRadius:r,zIndexPopup:a,controlHeight:l,boxShadowSecondary:s,paddingSM:c,paddingXS:u}=t;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"absolute",zIndex:a,display:"block",width:"max-content",maxWidth:n,visibility:"visible",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","&-hidden":{display:"none"},"--antd-arrow-background-color":i,[`${e}-inner`]:{minWidth:l,minHeight:l,padding:`${Ut(t.calc(c).div(2).equal())} ${Ut(u)}`,color:o,textAlign:"start",textDecoration:"none",wordWrap:"break-word",backgroundColor:i,borderRadius:r,boxShadow:s,boxSizing:"border-box"},[["&-placement-left","&-placement-leftTop","&-placement-leftBottom","&-placement-right","&-placement-rightTop","&-placement-rightBottom"].join(",")]:{[`${e}-inner`]:{borderRadius:t.min(r,WVe)}},[`${e}-content`]:{position:"relative"}}),EOe(t,(d,f)=>{let{darkColor:p}=f;return{[`&${e}-${d}`]:{[`${e}-inner`]:{backgroundColor:p},[`${e}-arrow`]:{"--antd-arrow-background-color":p}}}})),{"&-rtl":{direction:"rtl"}})},ame(t,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:t.sizePopupArrow}}]},fDt=t=>Object.assign(Object.assign({zIndexPopup:t.zIndexPopupBase+70},b$({contentRadius:t.borderRadius,limitVerticalRadius:!0})),x$(Zr(t,{borderRadiusOuter:Math.min(t.borderRadiusOuter,4)}))),UVe=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Fl("Tooltip",o=>{const{borderRadius:i,colorTextLightSolid:r,colorBgSpotlight:a}=o,l=Zr(o,{tooltipMaxWidth:250,tooltipColor:r,tooltipBorderRadius:i,tooltipBg:a});return[dDt(l),PW(o,"zoom-big-fast")]},fDt,{resetStyle:!1,injectStyle:e})(t)},hDt=jk.map(t=>`${t}-inverse`),pDt=["success","processing","error","default","warning"];function BVe(t){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[].concat(Xa(hDt),Xa(jk)).includes(t):jk.includes(t)}function gDt(t){return pDt.includes(t)}function jVe(t,e){const n=BVe(e),o=Gn({[`${t}-${e}`]:e&&n}),i={},r={};return e&&!n&&(i.background=e,r["--antd-arrow-background-color"]=e),{className:o,overlayStyle:i,arrowStyle:r}}const mDt=t=>{const{prefixCls:e,className:n,placement:o="top",title:i,color:r,overlayInnerStyle:a}=t,{getPrefixCls:l}=m.useContext(Mi),s=l("tooltip",e),[c,u,d]=UVe(s),f=jVe(s,r),p=f.arrowStyle,g=Object.assign(Object.assign({},a),f.overlayStyle),y=Gn(u,d,s,`${s}-pure`,`${s}-placement-${o}`,n,f.className);return c(m.createElement("div",{className:y,style:p},m.createElement("div",{className:`${s}-arrow`}),m.createElement(rme,Object.assign({},t,{className:u,prefixCls:s,overlayInnerStyle:g}),i)))};var yDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const{prefixCls:i,openClassName:r,getTooltipContainer:a,overlayClassName:l,color:s,overlayInnerStyle:c,children:u,afterOpenChange:d,afterVisibleChange:f,destroyTooltipOnHide:p,arrow:g=!0,title:y,overlay:A,builtinPlacements:x,arrowPointAtCenter:C=!1,autoAdjustOverflow:b=!0}=t,v=!!g,[,S]=Yu(),{getPopupContainer:w,getPrefixCls:T,direction:P}=m.useContext(Mi),R=Hb(),H=m.useRef(null),D=()=>{var Ae;(Ae=H.current)===null||Ae===void 0||Ae.forceAlign()};m.useImperativeHandle(e,()=>({forceAlign:D,forcePopupAlign:()=>{R.deprecated(!1,"forcePopupAlign","forceAlign"),D()}}));const[E,L]=_6(!1,{value:(n=t.open)!==null&&n!==void 0?n:t.visible,defaultValue:(o=t.defaultOpen)!==null&&o!==void 0?o:t.defaultVisible}),U=!y&&!A&&y!==0,F=Ae=>{var re,ge;L(U?!1:Ae),U||((re=t.onOpenChange)===null||re===void 0||re.call(t,Ae),(ge=t.onVisibleChange)===null||ge===void 0||ge.call(t,Ae))},W=m.useMemo(()=>{var Ae,re;let ge=C;return typeof g=="object"&&(ge=(re=(Ae=g.pointAtCenter)!==null&&Ae!==void 0?Ae:g.arrowPointAtCenter)!==null&&re!==void 0?re:C),x||NVe({arrowPointAtCenter:ge,autoAdjustOverflow:b,arrowWidth:v?S.sizePopupArrow:0,borderRadius:S.borderRadius,offset:S.marginXXS,visibleFirst:!0})},[C,g,x,S]),B=m.useMemo(()=>y===0?y:A||y||"",[A,y]),k=m.createElement(k9,null,typeof B=="function"?B():B),{getPopupContainer:N,placement:j="top",mouseEnterDelay:Y=.1,mouseLeaveDelay:_=.1,overlayStyle:J,rootClassName:Q}=t,ee=yDt(t,["getPopupContainer","placement","mouseEnterDelay","mouseLeaveDelay","overlayStyle","rootClassName"]),$=T("tooltip",i),q=T(),le=t["data-popover-inject"];let ie=E;!("open"in t)&&!("visible"in t)&&U&&(ie=!1);const pe=m.isValidElement(u)&&!s_e(u)?u:m.createElement("span",null,u),ne=pe.props,Z=!ne.className||typeof ne.className=="string"?Gn(ne.className,r||`${$}-open`):ne.className,[he,fe,se]=UVe($,!le),oe=jVe($,s),de=oe.arrowStyle,ve=Object.assign(Object.assign({},c),oe.overlayStyle),Pe=Gn(l,{[`${$}-rtl`]:P==="rtl"},oe.className,Q,fe,se),[me,Re]=k7("Tooltip",ee.zIndex),ze=m.createElement(lDt,Object.assign({},ee,{zIndex:me,showArrow:v,placement:j,mouseEnterDelay:Y,mouseLeaveDelay:_,prefixCls:$,overlayClassName:Pe,overlayStyle:Object.assign(Object.assign({},de),J),getTooltipContainer:N||a||w,ref:H,builtinPlacements:W,overlay:k,visible:ie,onVisibleChange:F,afterVisibleChange:d??f,overlayInnerStyle:ve,arrowContent:m.createElement("span",{className:`${$}-arrow-content`}),motion:{motionName:D9(q,"zoom-big-fast",t.transitionName),motionDeadline:1e3},destroyTooltipOnHide:!!p}),ie?Ou(pe,{className:Z}):pe);return he(m.createElement(yW.Provider,{value:Re},ze))}),J6=ADt;J6._InternalPanelDoNotUseOrYouWillBeFired=mDt;const wDt=t=>{const{componentCls:e,popoverColor:n,titleMinWidth:o,fontWeightStrong:i,innerPadding:r,boxShadowSecondary:a,colorTextHeading:l,borderRadiusLG:s,zIndexPopup:c,titleMarginBottom:u,colorBgElevated:d,popoverBg:f,titleBorderBottom:p,innerContentPadding:g,titlePadding:y}=t;return[{[e]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:c,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":d,width:"max-content",maxWidth:"100vw","&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},[`${e}-content`]:{position:"relative"},[`${e}-inner`]:{backgroundColor:f,backgroundClip:"padding-box",borderRadius:s,boxShadow:a,padding:r},[`${e}-title`]:{minWidth:o,marginBottom:u,color:l,fontWeight:i,borderBottom:p,padding:y},[`${e}-inner-content`]:{color:n,padding:g}})},ame(t,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:t.sizePopupArrow,display:"inline-block",[`${e}-content`]:{display:"inline-block"}}}]},vDt=t=>{const{componentCls:e}=t;return{[e]:jk.map(n=>{const o=t[`${n}6`];return{[`&${e}-${n}`]:{"--antd-arrow-background-color":o,[`${e}-inner`]:{backgroundColor:o},[`${e}-arrow`]:{background:"transparent"}}}})}},xDt=t=>{const{lineWidth:e,controlHeight:n,fontHeight:o,padding:i,wireframe:r,zIndexPopupBase:a,borderRadiusLG:l,marginXS:s,lineType:c,colorSplit:u,paddingSM:d}=t,f=n-o,p=f/2,g=f/2-e,y=i;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:a+30},x$(t)),b$({contentRadius:l,limitVerticalRadius:!0})),{innerPadding:r?0:12,titleMarginBottom:r?0:s,titlePadding:r?`${p}px ${y}px ${g}px`:0,titleBorderBottom:r?`${e}px ${c} ${u}`:"none",innerContentPadding:r?`${d}px ${y}px`:0})},YVe=Fl("Popover",t=>{const{colorBgElevated:e,colorText:n}=t,o=Zr(t,{popoverBg:e,popoverColor:n});return[wDt(o),vDt(o),PW(o,"zoom-big")]},xDt,{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]});var bDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i!e&&!n?null:m.createElement(m.Fragment,null,e&&m.createElement("div",{className:`${t}-title`},xG(e)),m.createElement("div",{className:`${t}-inner-content`},xG(n))),TDt=t=>{const{hashId:e,prefixCls:n,className:o,style:i,placement:r="top",title:a,content:l,children:s}=t;return m.createElement("div",{className:Gn(e,n,`${n}-pure`,`${n}-placement-${r}`,o),style:i},m.createElement("div",{className:`${n}-arrow`}),m.createElement(rme,Object.assign({},t,{className:e,prefixCls:n}),s||SDt(n,a,l)))},PDt=t=>{const{prefixCls:e,className:n}=t,o=bDt(t,["prefixCls","className"]),{getPrefixCls:i}=m.useContext(Mi),r=i("popover",e),[a,l,s]=YVe(r);return a(m.createElement(TDt,Object.assign({},o,{prefixCls:r,hashId:l,className:Gn(n,s)})))};var CDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{title:e,content:n,prefixCls:o}=t;return m.createElement(m.Fragment,null,e&&m.createElement("div",{className:`${o}-title`},xG(e)),m.createElement("div",{className:`${o}-inner-content`},xG(n)))},HDt=m.forwardRef((t,e)=>{var n,o;const{prefixCls:i,title:r,content:a,overlayClassName:l,placement:s="top",trigger:c="hover",children:u,mouseEnterDelay:d=.1,mouseLeaveDelay:f=.1,onOpenChange:p,overlayStyle:g={}}=t,y=CDt(t,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle"]),{getPrefixCls:A}=m.useContext(Mi),x=A("popover",i),[C,b,v]=YVe(x),S=A(),w=Gn(l,b,v),[T,P]=_6(!1,{value:(n=t.open)!==null&&n!==void 0?n:t.visible,defaultValue:(o=t.defaultOpen)!==null&&o!==void 0?o:t.defaultVisible}),R=(E,L)=>{P(E,!0),p==null||p(E,L)},H=E=>{E.keyCode===hr.ESC&&R(!1,E)},D=E=>{R(E)};return C(m.createElement(J6,Object.assign({placement:s,trigger:c,mouseEnterDelay:d,mouseLeaveDelay:f,overlayStyle:g},y,{prefixCls:x,overlayClassName:w,ref:e,open:T,onOpenChange:D,overlay:r||a?m.createElement(RDt,{prefixCls:x,title:r,content:a}):null,transitionName:D9(S,"zoom-big",y.transitionName),"data-popover-inject":!0}),Ou(u,{onKeyDown:E=>{var L,U;m.isValidElement(u)&&((U=u==null?void 0:(L=u.props).onKeyDown)===null||U===void 0||U.call(L,E)),H(E)}})))}),gl=HDt;gl._InternalPanelDoNotUseOrYouWillBeFired=PDt;const cve=t=>{const{size:e,shape:n}=m.useContext(S0e),o=m.useMemo(()=>({size:t.size||e,shape:t.shape||n}),[t.size,t.shape,e,n]);return m.createElement(S0e.Provider,{value:o},t.children)},MDt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,className:i,rootClassName:r,style:a,maxCount:l,maxStyle:s,size:c,shape:u,maxPopoverPlacement:d="top",maxPopoverTrigger:f="hover",children:p}=t,g=e("avatar",o),y=`${g}-group`,A=j0(g),[x,C,b]=kVe(g,A),v=Gn(y,{[`${y}-rtl`]:n==="rtl"},b,A,i,r,C),S=E9(p).map((T,P)=>Ou(T,{key:`avatar-key-${P}`})),w=S.length;if(l&&l1&&arguments[1]!==void 0?arguments[1]:!1;if(A$(t)){var n=t.nodeName.toLowerCase(),o=["input","select","textarea","button"].includes(n)||t.isContentEditable||n==="a"&&!!t.getAttribute("href"),i=t.getAttribute("tabindex"),r=Number(i),a=null;return i&&!Number.isNaN(r)?a=r:o&&a===null&&(a=0),o&&t.disabled&&(a=null),a!==null&&(a>=0||e&&a<0)}return!1}function VDt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=Wo(t.querySelectorAll("*")).filter(function(o){return uve(o,e)});return uve(t,e)&&n.unshift(t),n}var P0e=Bn.LEFT,C0e=Bn.RIGHT,R0e=Bn.UP,E_=Bn.DOWN,k_=Bn.ENTER,$Ve=Bn.ESC,bz=Bn.HOME,Sz=Bn.END,dve=[R0e,E_,P0e,C0e];function GDt(t,e,n,o){var i,r="prev",a="next",l="children",s="parent";if(t==="inline"&&o===k_)return{inlineTrigger:!0};var c=_t(_t({},R0e,r),E_,a),u=_t(_t(_t(_t({},P0e,n?a:r),C0e,n?r:a),E_,l),k_,l),d=_t(_t(_t(_t(_t(_t({},R0e,r),E_,a),k_,l),$Ve,s),P0e,n?l:s),C0e,n?s:l),f={inline:c,horizontal:u,vertical:d,inlineSub:c,horizontalSub:d,verticalSub:d},p=(i=f["".concat(t).concat(e?"":"Sub")])===null||i===void 0?void 0:i[o];switch(p){case r:return{offset:-1,sibling:!0};case a:return{offset:1,sibling:!0};case s:return{offset:-1,sibling:!1};case l:return{offset:1,sibling:!1};default:return null}}function XDt(t){for(var e=t;e;){if(e.getAttribute("data-menu-list"))return e;e=e.parentElement}return null}function JDt(t,e){for(var n=t||document.activeElement;n;){if(e.has(n))return n;n=n.parentElement}return null}function sme(t,e){var n=VDt(t,!0);return n.filter(function(o){return e.has(o)})}function fve(t,e,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!t)return null;var i=sme(t,e),r=i.length,a=i.findIndex(function(l){return n===l});return o<0?a===-1?a=r-1:a-=1:o>0&&(a+=1),a=(a+r)%r,i[a]}var H0e=function(e,n){var o=new Set,i=new Map,r=new Map;return e.forEach(function(a){var l=document.querySelector("[data-menu-id='".concat(GVe(n,a),"']"));l&&(o.add(l),r.set(l,a),i.set(a,l))}),{elements:o,key2element:i,element2key:r}};function KDt(t,e,n,o,i,r,a,l,s,c){var u=m.useRef(),d=m.useRef();d.current=e;var f=function(){za.cancel(u.current)};return m.useEffect(function(){return function(){f()}},[]),function(p){var g=p.which;if([].concat(dve,[k_,$Ve,bz,Sz]).includes(g)){var y=r(),A=H0e(y,o),x=A,C=x.elements,b=x.key2element,v=x.element2key,S=b.get(e),w=JDt(S,C),T=v.get(w),P=GDt(t,a(T,!0).length===1,n,g);if(!P&&g!==bz&&g!==Sz)return;(dve.includes(g)||[bz,Sz].includes(g))&&p.preventDefault();var R=function(B){if(B){var k=B,N=B.querySelector("a");N!=null&&N.getAttribute("href")&&(k=N);var j=v.get(B);l(j),f(),u.current=za(function(){d.current===j&&k.focus()})}};if([bz,Sz].includes(g)||P.sibling||!w){var H;!w||t==="inline"?H=i.current:H=XDt(w);var D,E=sme(H,C);g===bz?D=E[0]:g===Sz?D=E[E.length-1]:D=fve(H,C,w,P.offset),R(D)}else if(P.inlineTrigger)s(T);else if(P.offset>0)s(T,!0),f(),u.current=za(function(){A=H0e(y,o);var W=w.getAttribute("aria-controls"),B=document.getElementById(W),k=fve(B,A.elements);R(k)},5);else if(P.offset<0){var L=a(T,!0),U=L[L.length-2],F=b.get(U);s(U,!1),R(F)}}c==null||c(p)}}function qDt(t){Promise.resolve().then(t)}var cme="__RC_UTIL_PATH_SPLIT__",hve=function(e){return e.join(cme)},$Dt=function(e){return e.split(cme)},M0e="rc-menu-more";function QDt(){var t=m.useState({}),e=on(t,2),n=e[1],o=m.useRef(new Map),i=m.useRef(new Map),r=m.useState([]),a=on(r,2),l=a[0],s=a[1],c=m.useRef(0),u=m.useRef(!1),d=function(){u.current||n({})},f=m.useCallback(function(b,v){var S=hve(v);i.current.set(S,b),o.current.set(b,S),c.current+=1;var w=c.current;qDt(function(){w===c.current&&d()})},[]),p=m.useCallback(function(b,v){var S=hve(v);i.current.delete(S),o.current.delete(b)},[]),g=m.useCallback(function(b){s(b)},[]),y=m.useCallback(function(b,v){var S=o.current.get(b)||"",w=$Dt(S);return v&&l.includes(w[0])&&w.unshift(M0e),w},[l]),A=m.useCallback(function(b,v){return b.some(function(S){var w=y(S,!0);return w.includes(v)})},[y]),x=function(){var v=Wo(o.current.keys());return l.length&&v.push(M0e),v},C=m.useCallback(function(b){var v="".concat(o.current.get(b)).concat(cme),S=new Set;return Wo(i.current.keys()).forEach(function(w){w.startsWith(v)&&S.add(i.current.get(w))}),S},[]);return m.useEffect(function(){return function(){u.current=!0}},[]),{registerPath:f,unregisterPath:p,refreshOverflowKeys:g,isSubPathKey:A,getKeyPath:y,getKeys:x,getSubPathKeys:C}}function gD(t){var e=m.useRef(t);e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a1&&(C.motionAppear=!1);var b=C.onVisibleChanged;return C.onVisibleChanged=function(v){return!f.current&&!v&&A(!0),b==null?void 0:b(v)},y?null:m.createElement(qk,{mode:r,locked:!f.current},m.createElement(Cg,so({visible:x},C,{forceRender:s,removeOnLeave:!1,leavedClassName:"".concat(l,"-hidden")}),function(v){var S=v.className,w=v.style;return m.createElement(ume,{id:e,className:S,style:w},i)}))}var gEt=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],mEt=["active"],yEt=function(e){var n=e.style,o=e.className,i=e.title,r=e.eventKey;e.warnKey;var a=e.disabled,l=e.internalPopupClose,s=e.children,c=e.itemIcon,u=e.expandIcon,d=e.popupClassName,f=e.popupOffset,p=e.popupStyle,g=e.onClick,y=e.onMouseEnter,A=e.onMouseLeave,x=e.onTitleClick,C=e.onTitleMouseEnter,b=e.onTitleMouseLeave,v=ir(e,gEt),S=XVe(r),w=m.useContext(U2),T=w.prefixCls,P=w.mode,R=w.openKeys,H=w.disabled,D=w.overflowDisabled,E=w.activeKey,L=w.selectedKeys,U=w.itemIcon,F=w.expandIcon,W=w.onItemClick,B=w.onOpenChange,k=w.onActive,N=m.useContext(lme),j=N._internalRenderSubMenuItem,Y=m.useContext(qVe),_=Y.isSubPathKey,J=zH(),Q="".concat(T,"-submenu"),ee=H||a,$=m.useRef(),q=m.useRef(),le=c??U,ie=u??F,pe=R.includes(r),ne=!D&&pe,Z=_(L,r),he=QVe(r,ee,C,b),fe=he.active,se=ir(he,mEt),oe=m.useState(!1),de=on(oe,2),ve=de[0],Pe=de[1],me=function(qe){ee||Pe(qe)},Re=function(qe){me(!0),y==null||y({key:r,domEvent:qe})},ze=function(qe){me(!1),A==null||A({key:r,domEvent:qe})},Ae=m.useMemo(function(){return fe||(P!=="inline"?ve||_([E],r):!1)},[P,fe,E,ve,r,_]),re=ZVe(J.length),ge=function(qe){ee||(x==null||x({key:r,domEvent:qe}),P==="inline"&&B(r,!pe))},we=gD(function(Le){g==null||g(SG(Le)),W(Le)}),ye=function(qe){P!=="inline"&&B(r,qe)},Te=function(){k(r)},Ie=S&&"".concat(S,"-popup"),Ce=m.createElement("div",so({role:"menuitem",style:re,className:"".concat(Q,"-title"),tabIndex:ee?null:-1,ref:$,title:typeof i=="string"?i:null,"data-menu-id":D&&S?null:S,"aria-expanded":ne,"aria-haspopup":!0,"aria-controls":Ie,"aria-disabled":ee,onClick:ge,onFocus:Te},se),i,m.createElement(eGe,{icon:P!=="horizontal"?ie:void 0,props:$t($t({},e),{},{isOpen:ne,isSubMenu:!0})},m.createElement("i",{className:"".concat(Q,"-arrow")}))),Ee=m.useRef(P);if(P!=="inline"&&J.length>1?Ee.current="vertical":Ee.current=P,!D){var Ue=Ee.current;Ce=m.createElement(hEt,{mode:Ue,prefixCls:Q,visible:!l&&ne&&P!=="inline",popupClassName:d,popupOffset:f,popupStyle:p,popup:m.createElement(qk,{mode:Ue==="horizontal"?"vertical":Ue},m.createElement(ume,{id:Ie,ref:q},s)),disabled:ee,onVisibleChange:ye},Ce)}var Ne=m.createElement(H2.Item,so({role:"none"},v,{component:"li",style:n,className:Vn(Q,"".concat(Q,"-").concat(P),o,_t(_t(_t(_t({},"".concat(Q,"-open"),ne),"".concat(Q,"-active"),Ae),"".concat(Q,"-selected"),Z),"".concat(Q,"-disabled"),ee)),onMouseEnter:Re,onMouseLeave:ze}),Ce,!D&&m.createElement(pEt,{id:Ie,open:ne,keyPath:J},s));return j&&(Ne=j(Ne,e,{selected:Z,active:Ae,open:ne,disabled:ee})),m.createElement(qk,{onItemClick:we,mode:P==="horizontal"?"vertical":P,itemIcon:le,expandIcon:ie},Ne)};function T$(t){var e=t.eventKey,n=t.children,o=zH(e),i=dme(n,o),r=S$();m.useEffect(function(){if(r)return r.registerPath(e,o),function(){r.unregisterPath(e,o)}},[o]);var a;return r?a=i:a=m.createElement(yEt,t,i),m.createElement(KVe.Provider,{value:o},a)}var AEt=["className","title","eventKey","children"],wEt=["children"],vEt=function(e){var n=e.className,o=e.title;e.eventKey;var i=e.children,r=ir(e,AEt),a=m.useContext(U2),l=a.prefixCls,s="".concat(l,"-item-group");return m.createElement("li",so({role:"presentation"},r,{onClick:function(u){return u.stopPropagation()},className:Vn(s,n)}),m.createElement("div",{role:"presentation",className:"".concat(s,"-title"),title:typeof o=="string"?o:void 0},o),m.createElement("ul",{role:"group",className:"".concat(s,"-list")},i))};function P$(t){var e=t.children,n=ir(t,wEt),o=zH(n.eventKey),i=dme(e,o),r=S$();return r?i:m.createElement(vEt,MH(n,["warnKey"]),i)}function fme(t){var e=t.className,n=t.style,o=m.useContext(U2),i=o.prefixCls,r=S$();return r?null:m.createElement("li",{role:"separator",className:Vn("".concat(i,"-item-divider"),e),style:n})}var xEt=["label","children","key","type"];function I0e(t){return(t||[]).map(function(e,n){if(e&&gr(e)==="object"){var o=e,i=o.label,r=o.children,a=o.key,l=o.type,s=ir(o,xEt),c=a??"tmp-".concat(n);return r||l==="group"?l==="group"?m.createElement(P$,so({key:c},s,{title:i}),I0e(r)):m.createElement(T$,so({key:c},s,{title:i}),I0e(r)):l==="divider"?m.createElement(fme,so({key:c},s)):m.createElement(IW,so({key:c},s),i)}return null}).filter(function(e){return e})}function bEt(t,e,n){var o=t;return e&&(o=I0e(e)),dme(o,n)}var SEt=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],HT=[],TEt=m.forwardRef(function(t,e){var n,o=t,i=o.prefixCls,r=i===void 0?"rc-menu":i,a=o.rootClassName,l=o.style,s=o.className,c=o.tabIndex,u=c===void 0?0:c,d=o.items,f=o.children,p=o.direction,g=o.id,y=o.mode,A=y===void 0?"vertical":y,x=o.inlineCollapsed,C=o.disabled,b=o.disabledOverflow,v=o.subMenuOpenDelay,S=v===void 0?.1:v,w=o.subMenuCloseDelay,T=w===void 0?.1:w,P=o.forceSubMenuRender,R=o.defaultOpenKeys,H=o.openKeys,D=o.activeKey,E=o.defaultActiveFirst,L=o.selectable,U=L===void 0?!0:L,F=o.multiple,W=F===void 0?!1:F,B=o.defaultSelectedKeys,k=o.selectedKeys,N=o.onSelect,j=o.onDeselect,Y=o.inlineIndent,_=Y===void 0?24:Y,J=o.motion,Q=o.defaultMotions,ee=o.triggerSubMenuAction,$=ee===void 0?"hover":ee,q=o.builtinPlacements,le=o.itemIcon,ie=o.expandIcon,pe=o.overflowedIndicator,ne=pe===void 0?"...":pe,Z=o.overflowedIndicatorPopupClassName,he=o.getPopupContainer,fe=o.onClick,se=o.onOpenChange,oe=o.onKeyDown;o.openAnimation,o.openTransitionName;var de=o._internalRenderMenuItem,ve=o._internalRenderSubMenuItem,Pe=ir(o,SEt),me=m.useMemo(function(){return bEt(f,d,HT)},[f,d]),Re=m.useState(!1),ze=on(Re,2),Ae=ze[0],re=ze[1],ge=m.useRef(),we=eEt(g),ye=p==="rtl",Te=Rs(R,{value:H,postState:function(po){return po||HT}}),Ie=on(Te,2),Ce=Ie[0],Ee=Ie[1],Ue=function(po){var eo=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function uo(){Ee(po),se==null||se(po)}eo?Sd.flushSync(uo):uo()},Ne=m.useState(Ce),Le=on(Ne,2),qe=Le[0],We=Le[1],De=m.useRef(!1),Fe=m.useMemo(function(){return(A==="inline"||A==="vertical")&&x?["vertical",x]:[A,!1]},[A,x]),_e=on(Fe,2),ot=_e[0],Ye=_e[1],St=ot==="inline",dt=m.useState(ot),je=on(dt,2),at=je[0],ut=je[1],wt=m.useState(Ye),rt=on(wt,2),Qe=rt[0],Oe=rt[1];m.useEffect(function(){ut(ot),Oe(Ye),De.current&&(St?Ee(qe):Ue(HT))},[ot,Ye]);var et=m.useState(0),vt=on(et,2),ct=vt[0],lt=vt[1],tt=ct>=me.length-1||at!=="horizontal"||b;m.useEffect(function(){St&&We(Ce)},[Ce]),m.useEffect(function(){return De.current=!0,function(){De.current=!1}},[]);var it=QDt(),At=it.registerPath,Mt=it.unregisterPath,st=it.refreshOverflowKeys,ft=it.isSubPathKey,Rt=it.getKeyPath,zt=it.getKeys,Xe=it.getSubPathKeys,ht=m.useMemo(function(){return{registerPath:At,unregisterPath:Mt}},[At,Mt]),Je=m.useMemo(function(){return{isSubPathKey:ft}},[ft]);m.useEffect(function(){st(tt?HT:me.slice(ct+1).map(function(li){return li.key}))},[ct,tt]);var mt=Rs(D||E&&((n=me[0])===null||n===void 0?void 0:n.key),{value:D}),Ge=on(mt,2),xt=Ge[0],It=Ge[1],Tt=gD(function(li){It(li)}),Dt=gD(function(){It(void 0)});m.useImperativeHandle(e,function(){return{list:ge.current,focus:function(po){var eo,uo=zt(),qo=H0e(uo,we),Hi=qo.elements,vi=qo.key2element,Cn=qo.element2key,yn=sme(ge.current,Hi),to=xt??(yn[0]?Cn.get(yn[0]):(eo=me.find(function(Fo){return!Fo.props.disabled}))===null||eo===void 0?void 0:eo.key),Do=vi.get(to);if(to&&Do){var ni;Do==null||(ni=Do.focus)===null||ni===void 0||ni.call(Do,po)}}}});var Lt=Rs(B||[],{value:k,postState:function(po){return Array.isArray(po)?po:po==null?HT:[po]}}),Et=on(Lt,2),an=Et[0],Jt=Et[1],hn=function(po){if(U){var eo=po.key,uo=an.includes(eo),qo;W?uo?qo=an.filter(function(vi){return vi!==eo}):qo=[].concat(Wo(an),[eo]):qo=[eo],Jt(qo);var Hi=$t($t({},po),{},{selectedKeys:qo});uo?j==null||j(Hi):N==null||N(Hi)}!W&&Ce.length&&at!=="inline"&&Ue(HT)},cn=gD(function(li){fe==null||fe(SG(li)),hn(li)}),Sn=gD(function(li,po){var eo=Ce.filter(function(qo){return qo!==li});if(po)eo.push(li);else if(at!=="inline"){var uo=Xe(li);eo=eo.filter(function(qo){return!uo.has(qo)})}e7(Ce,eo,!0)||Ue(eo,!0)}),Pn=function(po,eo){var uo=eo??!Ce.includes(po);Sn(po,uo)},Un=KDt(at,xt,ye,we,ge,zt,Rt,It,Pn,oe);m.useEffect(function(){re(!0)},[]);var Ai=m.useMemo(function(){return{_internalRenderMenuItem:de,_internalRenderSubMenuItem:ve}},[de,ve]),vo=at!=="horizontal"||b?me:me.map(function(li,po){return m.createElement(qk,{key:li.key,overflowDisabled:po>ct},li)}),Oo=m.createElement(H2,so({id:g,ref:ge,prefixCls:"".concat(r,"-overflow"),component:"ul",itemComponent:IW,className:Vn(r,"".concat(r,"-root"),"".concat(r,"-").concat(at),s,_t(_t({},"".concat(r,"-inline-collapsed"),Qe),"".concat(r,"-rtl"),ye),a),dir:p,style:l,role:"menu",tabIndex:u,data:vo,renderRawItem:function(po){return po},renderRawRest:function(po){var eo=po.length,uo=eo?me.slice(-eo):null;return m.createElement(T$,{eventKey:M0e,title:ne,disabled:tt,internalPopupClose:eo===0,popupClassName:Z},uo)},maxCount:at!=="horizontal"||b?H2.INVALIDATE:H2.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(po){lt(po)},onKeyDown:Un},Pe));return m.createElement(lme.Provider,{value:Ai},m.createElement(VVe.Provider,{value:we},m.createElement(qk,{prefixCls:r,rootClassName:a,mode:at,openKeys:Ce,rtl:ye,disabled:C,motion:Ae?J:null,defaultMotions:Ae?Q:null,activeKey:xt,onActive:Tt,onInactive:Dt,selectedKeys:an,inlineIndent:_,subMenuOpenDelay:S,subMenuCloseDelay:T,forceSubMenuRender:P,builtinPlacements:q,triggerSubMenuAction:$,getPopupContainer:he,itemIcon:le,expandIcon:ie,onItemClick:cn,onOpenChange:Sn},m.createElement(qVe.Provider,{value:Je},Oo),m.createElement("div",{style:{display:"none"},"aria-hidden":!0},m.createElement(JVe.Provider,{value:ht},me)))))}),DH=TEt;DH.Item=IW;DH.SubMenu=T$;DH.ItemGroup=P$;DH.Divider=fme;var PEt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},CEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:PEt}))},hme=m.forwardRef(CEt),REt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},HEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:REt}))},gve=m.forwardRef(HEt);const nGe=m.createContext({});var MEt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"},IEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:MEt}))},pme=m.forwardRef(IEt),zEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,className:n,dashed:o}=t,i=zEt(t,["prefixCls","className","dashed"]),{getPrefixCls:r}=m.useContext(Mi),a=r("menu",e),l=Gn({[`${a}-item-divider-dashed`]:!!o},n);return m.createElement(fme,Object.assign({className:l},i))},TG=m.createContext({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),iGe=t=>{var e;const{className:n,children:o,icon:i,title:r,danger:a}=t,{prefixCls:l,firstLevel:s,direction:c,disableMenuItemTitleTooltip:u,inlineCollapsed:d}=m.useContext(TG),f=C=>{const b=m.createElement("span",{className:`${l}-title-content`},o);return(!i||m.isValidElement(o)&&o.type==="span")&&o&&C&&s&&typeof o=="string"?m.createElement("div",{className:`${l}-inline-collapsed-noicon`},o.charAt(0)):b},{siderCollapsed:p}=m.useContext(nGe);let g=r;typeof r>"u"?g=s?o:"":r===!1&&(g="");const y={title:g};!p&&!d&&(y.title=null,y.open=!1);const A=E9(o).length;let x=m.createElement(IW,Object.assign({},lp(t,["title","icon","danger"]),{className:Gn({[`${l}-item-danger`]:a,[`${l}-item-only-child`]:(i?A+1:A)===1},n),title:typeof r=="string"?r:void 0}),Ou(i,{className:Gn(m.isValidElement(i)?(e=i.props)===null||e===void 0?void 0:e.className:"",`${l}-item-icon`)}),f(d));return u||(x=m.createElement(J6,Object.assign({},y,{placement:c==="rtl"?"left":"right",overlayClassName:`${l}-inline-collapsed-tooltip`}),x)),x},rGe=t=>{var e;const{popupClassName:n,icon:o,title:i,theme:r}=t,a=m.useContext(TG),{prefixCls:l,inlineCollapsed:s,theme:c}=a,u=zH();let d;if(!o)d=s&&!u.length&&i&&typeof i=="string"?m.createElement("div",{className:`${l}-inline-collapsed-noicon`},i.charAt(0)):m.createElement("span",{className:`${l}-title-content`},i);else{const g=m.isValidElement(i)&&i.type==="span";d=m.createElement(m.Fragment,null,Ou(o,{className:Gn(m.isValidElement(o)?(e=o.props)===null||e===void 0?void 0:e.className:"",`${l}-item-icon`)}),g?i:m.createElement("span",{className:`${l}-title-content`},i))}const f=m.useMemo(()=>Object.assign(Object.assign({},a),{firstLevel:!1}),[a]),[p]=k7("Menu");return m.createElement(TG.Provider,{value:f},m.createElement(T$,Object.assign({},lp(t,["icon"]),{title:d,popupClassName:Gn(l,n,`${l}-${r||c}`),popupStyle:{zIndex:p}})))};var DEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{if(e&&typeof e=="object"){const o=e,{label:i,children:r,key:a,type:l}=o,s=DEt(o,["label","children","key","type"]),c=a??`tmp-${n}`;return r||l==="group"?l==="group"?m.createElement(P$,Object.assign({key:c},s,{title:i}),z0e(r)):m.createElement(rGe,Object.assign({key:c},s,{title:i}),z0e(r)):l==="divider"?m.createElement(oGe,Object.assign({key:c},s)):m.createElement(iGe,Object.assign({key:c},s),i)}return null}).filter(e=>e)}function EEt(t){return m.useMemo(()=>t&&z0e(t),[t])}var kEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{children:n}=t,o=kEt(t,["children"]),i=m.useContext(PG),r=m.useMemo(()=>Object.assign(Object.assign({},i),o),[i,o.prefixCls,o.mode,o.selectable,o.rootClassName]),a=oTt(n),l=nTt(e,a?n.ref:null);return m.createElement(PG.Provider,{value:r},m.createElement(k9,null,a?m.cloneElement(n,{ref:l}):n))}),FEt=t=>{const{componentCls:e,motionDurationSlow:n,horizontalLineHeight:o,colorSplit:i,lineWidth:r,lineType:a,itemPaddingInline:l}=t;return{[`${e}-horizontal`]:{lineHeight:o,border:0,borderBottom:`${Ut(r)} ${a} ${i}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${e}-item, ${e}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:l},[`> ${e}-item:hover, + `]:{paddingInlineEnd:t.calc(t.fontSize).mul(1.5).equal()}}}},Die(Zr(t,{controlHeight:t.singleItemHeightLG,fontSize:t.fontSizeLG,borderRadius:t.borderRadiusLG}),"lg")]}const Szt=t=>{const{fontSize:e,lineHeight:n,lineWidth:o,controlHeight:i,controlHeightSM:r,controlHeightLG:a,paddingXXS:l,controlPaddingHorizontal:s,zIndexPopupBase:c,colorText:u,fontWeightStrong:d,controlItemBgActive:f,controlItemBgHover:p,colorBgContainer:g,colorFillSecondary:y,colorBgContainerDisabled:A,colorTextDisabled:x}=t,C=l*2,b=o*2,v=Math.min(i-C,i-b),S=Math.min(r-C,r-b),w=Math.min(a-C,a-b);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(l/2),zIndexPopup:c+50,optionSelectedColor:u,optionSelectedFontWeight:d,optionSelectedBg:f,optionActiveBg:p,optionPadding:`${(i-e*n)/2}px ${s}px`,optionFontSize:e,optionLineHeight:n,optionHeight:i,selectorBg:g,clearBg:g,singleItemHeightLG:a,multipleItemBg:y,multipleItemBorderColor:"transparent",multipleItemHeight:v,multipleItemHeightSM:S,multipleItemHeightLG:w,multipleSelectorBgDisabled:A,multipleItemColorDisabled:x,multipleItemBorderColorDisabled:"transparent",showArrowPaddingInlineEnd:Math.ceil(t.fontSize*1.25)}},RVe=(t,e)=>{const{componentCls:n,antCls:o,controlOutlineWidth:i}=t;return{[`&:not(${n}-customize-input) ${n}-selector`]:{border:`${Ut(t.lineWidth)} ${t.lineType} ${e.borderColor}`,background:t.selectorBg},[`&:not(${n}-disabled):not(${n}-customize-input):not(${o}-pagination-size-changer)`]:{[`&:hover ${n}-selector`]:{borderColor:e.hoverBorderHover},[`${n}-focused& ${n}-selector`]:{borderColor:e.activeBorderColor,boxShadow:`0 0 0 ${Ut(i)} ${e.activeShadowColor}`,outline:0}}}},rve=(t,e)=>({[`&${t.componentCls}-status-${e.status}`]:Object.assign({},RVe(t,e))}),Tzt=t=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign({},RVe(t,{borderColor:t.colorBorder,hoverBorderHover:t.colorPrimaryHover,activeBorderColor:t.colorPrimary,activeShadowColor:t.controlOutline})),rve(t,{status:"error",borderColor:t.colorError,hoverBorderHover:t.colorErrorHover,activeBorderColor:t.colorError,activeShadowColor:t.colorErrorOutline})),rve(t,{status:"warning",borderColor:t.colorWarning,hoverBorderHover:t.colorWarningHover,activeBorderColor:t.colorWarning,activeShadowColor:t.colorWarningOutline})),{[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{background:t.colorBgContainerDisabled,color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}})}),HVe=(t,e)=>{const{componentCls:n,antCls:o}=t;return{[`&:not(${n}-customize-input) ${n}-selector`]:{background:e.bg,border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,color:e.color},[`&:not(${n}-disabled):not(${n}-customize-input):not(${o}-pagination-size-changer)`]:{[`&:hover ${n}-selector`]:{background:e.hoverBg},[`${n}-focused& ${n}-selector`]:{background:t.selectorBg,borderColor:e.activeBorderColor,outline:0}}}},ave=(t,e)=>({[`&${t.componentCls}-status-${e.status}`]:Object.assign({},HVe(t,e))}),Pzt=t=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign({},HVe(t,{bg:t.colorFillTertiary,hoverBg:t.colorFillSecondary,activeBorderColor:t.colorPrimary,color:t.colorText})),ave(t,{status:"error",bg:t.colorErrorBg,hoverBg:t.colorErrorBgHover,activeBorderColor:t.colorError,color:t.colorError})),ave(t,{status:"warning",bg:t.colorWarningBg,hoverBg:t.colorWarningBgHover,activeBorderColor:t.colorWarning,color:t.colorWarning})),{[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{borderColor:t.colorBorder,background:t.colorBgContainerDisabled,color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}})}),Czt=t=>({"&-borderless":{[`${t.componentCls}-selector`]:{background:"transparent",borderColor:"transparent"},[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}}}),Rzt=t=>({[t.componentCls]:Object.assign(Object.assign(Object.assign({},Tzt(t)),Pzt(t)),Czt(t))}),Hzt=t=>{const{componentCls:e}=t;return{position:"relative",transition:`all ${t.motionDurationMid} ${t.motionEaseInOut}`,input:{cursor:"pointer"},[`${e}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit",height:"100%"}},[`${e}-disabled&`]:{cursor:"not-allowed",input:{cursor:"not-allowed"}}}},Mzt=t=>{const{componentCls:e}=t;return{[`${e}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none",fontFamily:"inherit","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},Izt=t=>{const{antCls:e,componentCls:n,inputPaddingHorizontalBase:o,iconCls:i}=t;return{[n]:Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${n}-customize-input) ${n}-selector`]:Object.assign(Object.assign({},Hzt(t)),Mzt(t)),[`${n}-selection-item`]:Object.assign(Object.assign({flex:1,fontWeight:"normal",position:"relative",userSelect:"none"},Yx),{[`> ${e}-typography`]:{display:"inline"}}),[`${n}-selection-placeholder`]:Object.assign(Object.assign({},Yx),{flex:1,color:t.colorTextPlaceholder,pointerEvents:"none"}),[`${n}-arrow`]:Object.assign(Object.assign({},CH()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:o,height:t.fontSizeIcon,marginTop:t.calc(t.fontSizeIcon).mul(-1).div(2).equal(),color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",transition:`opacity ${t.motionDurationSlow} ease`,[i]:{verticalAlign:"top",transition:`transform ${t.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${n}-suffix)`]:{pointerEvents:"auto"}},[`${n}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${n}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:o,zIndex:1,display:"inline-block",width:t.fontSizeIcon,height:t.fontSizeIcon,marginTop:t.calc(t.fontSizeIcon).mul(-1).div(2).equal(),color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",cursor:"pointer",opacity:0,transition:`color ${t.motionDurationMid} ease, opacity ${t.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:t.colorTextTertiary}},"&:hover":{[`${n}-clear`]:{opacity:1},[`${n}-arrow:not(:last-child)`]:{opacity:0}}}),[`${n}-has-feedback`]:{[`${n}-clear`]:{insetInlineEnd:t.calc(o).add(t.fontSize).add(t.paddingXS).equal()}}}},zzt=t=>{const{componentCls:e}=t;return[{[e]:{[`&${e}-in-form-item`]:{width:"100%"}}},Izt(t),bzt(t),xzt(t),Azt(t),{[`${e}-rtl`]:{direction:"rtl"}},vW(t,{borderElCls:`${e}-selector`,focusElCls:`${e}-focused`})]},Dzt=Fl("Select",(t,e)=>{let{rootPrefixCls:n}=e;const o=Zr(t,{rootPrefixCls:n,inputPaddingHorizontalBase:t.calc(t.paddingSM).sub(1).equal(),multipleSelectItemHeight:t.multipleItemHeight,selectHeight:t.controlHeight});return[zzt(o),Rzt(o)]},Szt,{unitless:{optionLineHeight:!0,optionSelectedFontWeight:!0}});var Ezt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},kzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ezt}))},MVe=m.forwardRef(kzt),Fzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},Lzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Fzt}))},ome=m.forwardRef(Lzt),Wzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},Nzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Wzt}))},ime=m.forwardRef(Nzt);function IVe(t){let{suffixIcon:e,clearIcon:n,menuItemSelectedIcon:o,removeIcon:i,loading:r,multiple:a,hasFeedback:l,prefixCls:s,showSuffixIcon:c,feedbackIcon:u,showArrow:d,componentName:f}=t;const p=n??m.createElement(a$,null),g=C=>e===null&&!l&&!d?null:m.createElement(m.Fragment,null,c!==!1&&C,l&&u);let y=null;if(e!==void 0)y=g(e);else if(r)y=g(m.createElement(HH,{spin:!0}));else{const C=`${s}-suffix`;y=b=>{let{open:v,showSearch:S}=b;return g(v&&S?m.createElement(ime,{className:C}):m.createElement(ome,{className:C}))}}let A=null;o!==void 0?A=o:a?A=m.createElement(MVe,null):A=null;let x=null;return i!==void 0?x=i:x=m.createElement(E7,null),{clearIcon:p,suffixIcon:y,itemIcon:A,removeIcon:x}}function Uzt(t,e){return e!==void 0?e:t!==null}var Bzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,bordered:i,className:r,rootClassName:a,getPopupContainer:l,popupClassName:s,dropdownClassName:c,listHeight:u=256,placement:d,listItemHeight:f,size:p,disabled:g,notFoundContent:y,status:A,builtinPlacements:x,dropdownMatchSelectWidth:C,popupMatchSelectWidth:b,direction:v,style:S,allowClear:w,variant:T,dropdownStyle:P,transitionName:R,tagRender:H,maxCount:D}=t,E=Bzt(t,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear","variant","dropdownStyle","transitionName","tagRender","maxCount"]),{getPopupContainer:L,getPrefixCls:U,renderEmpty:F,direction:W,virtual:B,popupMatchSelectWidth:k,popupOverflow:N,select:j}=m.useContext(Mi),[,Y]=Yu(),_=f??(Y==null?void 0:Y.controlHeight),J=U("select",o),Q=U(),ee=v??W,{compactSize:$,compactItemClassnames:q}=F7(J,ee),[le,ie]=IH(T,i),pe=j0(J),[ne,Z,he]=Dzt(J,pe),fe=m.useMemo(()=>{const{mode:De}=t;if(De!=="combobox")return De===zVe?"combobox":De},[t.mode]),se=fe==="multiple"||fe==="tags",oe=Uzt(t.suffixIcon,t.showArrow),de=(n=b??C)!==null&&n!==void 0?n:k,{status:ve,hasFeedback:Pe,isFormItemInput:me,feedbackIcon:Re}=m.useContext(Qp),ze=Mb(ve,A);let Ae;y!==void 0?Ae=y:fe==="combobox"?Ae=null:Ae=(F==null?void 0:F("Select"))||m.createElement(nme,{componentName:"Select"});const{suffixIcon:re,itemIcon:ge,removeIcon:we,clearIcon:ye}=IVe(Object.assign(Object.assign({},E),{multiple:se,hasFeedback:Pe,feedbackIcon:Re,showSuffixIcon:oe,prefixCls:J,componentName:"Select"})),Te=w===!0?{clearIcon:ye}:w,Ie=lp(E,["suffixIcon","itemIcon"]),Ce=Gn(s||c,{[`${J}-dropdown-${ee}`]:ee==="rtl"},a,he,pe,Z),Ee=Cd(De=>{var Fe;return(Fe=p??$)!==null&&Fe!==void 0?Fe:De}),Ue=m.useContext($p),Ne=g??Ue,Le=Gn({[`${J}-lg`]:Ee==="large",[`${J}-sm`]:Ee==="small",[`${J}-rtl`]:ee==="rtl",[`${J}-${le}`]:ie,[`${J}-in-form-item`]:me},o7(J,ze,Pe),q,j==null?void 0:j.className,r,a,he,pe,Z),qe=m.useMemo(()=>d!==void 0?d:ee==="rtl"?"bottomRight":"bottomLeft",[d,ee]),[We]=k7("SelectLike",P==null?void 0:P.zIndex);return ne(m.createElement(tme,Object.assign({ref:e,virtual:B,showSearch:j==null?void 0:j.showSearch},Ie,{style:Object.assign(Object.assign({},j==null?void 0:j.style),S),dropdownMatchSelectWidth:de,transitionName:D9(Q,"slide-up",R),builtinPlacements:yzt(x,N),listHeight:u,listItemHeight:_,mode:fe,prefixCls:J,placement:qe,direction:ee,suffixIcon:re,menuItemSelectedIcon:ge,removeIcon:we,allowClear:Te,notFoundContent:Ae,className:Le,getPopupContainer:l||L,dropdownClassName:Ce,disabled:Ne,dropdownStyle:Object.assign(Object.assign({},P),{zIndex:We}),maxCount:se?D:void 0,tagRender:se?H:void 0})))},Yo=m.forwardRef(jzt),Yzt=RW(Yo);Yo.SECRET_COMBOBOX_MODE_DO_NOT_USE=zVe;Yo.Option=eme;Yo.OptGroup=Zge;Yo._InternalPanelDoNotUseOrYouWillBeFired=Yzt;const i7=["xxl","xl","lg","md","sm","xs"],Ozt=t=>({xs:`(max-width: ${t.screenXSMax}px)`,sm:`(min-width: ${t.screenSM}px)`,md:`(min-width: ${t.screenMD}px)`,lg:`(min-width: ${t.screenLG}px)`,xl:`(min-width: ${t.screenXL}px)`,xxl:`(min-width: ${t.screenXXL}px)`}),_zt=t=>{const e=t,n=[].concat(i7).reverse();return n.forEach((o,i)=>{const r=o.toUpperCase(),a=`screen${r}Min`,l=`screen${r}`;if(!(e[a]<=e[l]))throw new Error(`${a}<=${l} fails : !(${e[a]}<=${e[l]})`);if(i{const n=new Map;let o=-1,i={};return{matchHandlers:{},dispatch(r){return i=r,n.forEach(a=>a(i)),n.size>=1},subscribe(r){return n.size||this.register(),o+=1,n.set(o,r),r(i),o},unsubscribe(r){n.delete(r),n.size||this.unregister()},unregister(){Object.keys(e).forEach(r=>{const a=e[r],l=this.matchHandlers[a];l==null||l.mql.removeListener(l==null?void 0:l.listener)}),n.clear()},register(){Object.keys(e).forEach(r=>{const a=e[r],l=c=>{let{matches:u}=c;this.dispatch(Object.assign(Object.assign({},i),{[r]:u}))},s=window.matchMedia(a);s.addListener(l),this.matchHandlers[a]={mql:s,listener:l},l(s)})},responsiveMap:e}},[t])}function EVe(){const[,t]=m.useReducer(e=>e+1,0);return t}function v$(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;const e=m.useRef({}),n=EVe(),o=DVe();return dx(()=>{const i=o.subscribe(r=>{e.current=r,t&&n()});return()=>o.unsubscribe(i)},[]),e.current}const S0e=m.createContext({}),Vzt=t=>{const{antCls:e,componentCls:n,iconCls:o,avatarBg:i,avatarColor:r,containerSize:a,containerSizeLG:l,containerSizeSM:s,textFontSize:c,textFontSizeLG:u,textFontSizeSM:d,borderRadius:f,borderRadiusLG:p,borderRadiusSM:g,lineWidth:y,lineType:A}=t,x=(C,b,v)=>({width:C,height:C,borderRadius:"50%",[`&${n}-square`]:{borderRadius:v},[`&${n}-icon`]:{fontSize:b,[`> ${o}`]:{margin:0}}});return{[n]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-flex",justifyContent:"center",alignItems:"center",overflow:"hidden",color:r,whiteSpace:"nowrap",textAlign:"center",verticalAlign:"middle",background:i,border:`${Ut(y)} ${A} transparent`,"&-image":{background:"transparent"},[`${e}-image-img`]:{display:"block"}}),x(a,c,f)),{"&-lg":Object.assign({},x(l,u,p)),"&-sm":Object.assign({},x(s,d,g)),"> img":{display:"block",width:"100%",height:"100%",objectFit:"cover"}})}},Gzt=t=>{const{componentCls:e,groupBorderColor:n,groupOverlapping:o,groupSpace:i}=t;return{[`${e}-group`]:{display:"inline-flex",[`${e}`]:{borderColor:n},"> *:not(:first-child)":{marginInlineStart:o}},[`${e}-group-popover`]:{[`${e} + ${e}`]:{marginInlineStart:i}}}},Xzt=t=>{const{controlHeight:e,controlHeightLG:n,controlHeightSM:o,fontSize:i,fontSizeLG:r,fontSizeXL:a,fontSizeHeading3:l,marginXS:s,marginXXS:c,colorBorderBg:u}=t;return{containerSize:e,containerSizeLG:n,containerSizeSM:o,textFontSize:Math.round((r+a)/2),textFontSizeLG:l,textFontSizeSM:i,groupSpace:c,groupOverlapping:-s,groupBorderColor:u}},kVe=Fl("Avatar",t=>{const{colorTextLightSolid:e,colorTextPlaceholder:n}=t,o=Zr(t,{avatarBg:n,avatarColor:e});return[Vzt(o),Gzt(o)]},Xzt);var Jzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const[n,o]=m.useState(1),[i,r]=m.useState(!1),[a,l]=m.useState(!0),s=m.useRef(null),c=m.useRef(null),u=q2(e,s),{getPrefixCls:d,avatar:f}=m.useContext(Mi),p=m.useContext(S0e),g=()=>{if(!c.current||!s.current)return;const le=c.current.offsetWidth,ie=s.current.offsetWidth;if(le!==0&&ie!==0){const{gap:pe=4}=t;pe*2{r(!0)},[]),m.useEffect(()=>{l(!0),o(1)},[t.src]),m.useEffect(g,[t.gap]);const y=()=>{const{onError:le}=t;(le==null?void 0:le())!==!1&&l(!1)},{prefixCls:A,shape:x,size:C,src:b,srcSet:v,icon:S,className:w,rootClassName:T,alt:P,draggable:R,children:H,crossOrigin:D}=t,E=Jzt(t,["prefixCls","shape","size","src","srcSet","icon","className","rootClassName","alt","draggable","children","crossOrigin"]),L=Cd(le=>{var ie,pe;return(pe=(ie=C??(p==null?void 0:p.size))!==null&&ie!==void 0?ie:le)!==null&&pe!==void 0?pe:"default"}),U=Object.keys(typeof L=="object"?L||{}:{}).some(le=>["xs","sm","md","lg","xl","xxl"].includes(le)),F=v$(U),W=m.useMemo(()=>{if(typeof L!="object")return{};const le=i7.find(pe=>F[pe]),ie=L[le];return ie?{width:ie,height:ie,fontSize:ie&&(S||H)?ie/2:18}:{}},[F,L]),B=d("avatar",A),k=j0(B),[N,j,Y]=kVe(B,k),_=Gn({[`${B}-lg`]:L==="large",[`${B}-sm`]:L==="small"}),J=m.isValidElement(b),Q=x||(p==null?void 0:p.shape)||"circle",ee=Gn(B,_,f==null?void 0:f.className,`${B}-${Q}`,{[`${B}-image`]:J||b&&a,[`${B}-icon`]:!!S},Y,k,w,T,j),$=typeof L=="number"?{width:L,height:L,fontSize:S?L/2:18}:{};let q;if(typeof b=="string"&&a)q=m.createElement("img",{src:b,draggable:R,srcSet:v,onError:y,alt:P,crossOrigin:D});else if(J)q=b;else if(S)q=S;else if(i||n!==1){const le=`scale(${n})`,ie={msTransform:le,WebkitTransform:le,transform:le};q=m.createElement(xd,{onResize:g},m.createElement("span",{className:`${B}-string`,ref:c,style:Object.assign({},ie)},H))}else q=m.createElement("span",{className:`${B}-string`,style:{opacity:0},ref:c},H);return delete E.onError,delete E.gap,N(m.createElement("span",Object.assign({},E,{style:Object.assign(Object.assign(Object.assign(Object.assign({},$),W),f==null?void 0:f.style),E.style),className:ee,ref:u}),q))},FVe=m.forwardRef(Kzt);var hr={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=hr.F1&&n<=hr.F12)return!1;switch(n){case hr.ALT:case hr.CAPS_LOCK:case hr.CONTEXT_MENU:case hr.CTRL:case hr.DOWN:case hr.END:case hr.ESC:case hr.HOME:case hr.INSERT:case hr.LEFT:case hr.MAC_FF_META:case hr.META:case hr.NUMLOCK:case hr.NUM_CENTER:case hr.PAGE_DOWN:case hr.PAGE_UP:case hr.PAUSE:case hr.PRINT_SCREEN:case hr.RIGHT:case hr.SHIFT:case hr.UP:case hr.WIN_KEY:case hr.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=hr.ZERO&&e<=hr.NINE||e>=hr.NUM_ZERO&&e<=hr.NUM_MULTIPLY||e>=hr.A&&e<=hr.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case hr.SPACE:case hr.QUESTION_MARK:case hr.NUM_PLUS:case hr.NUM_MINUS:case hr.NUM_PERIOD:case hr.NUM_DIVISION:case hr.SEMICOLON:case hr.DASH:case hr.EQUALS:case hr.COMMA:case hr.PERIOD:case hr.SLASH:case hr.APOSTROPHE:case hr.SINGLE_QUOTE:case hr.OPEN_SQUARE_BRACKET:case hr.BACKSLASH:case hr.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};const xG=t=>t?typeof t=="function"?t():t:null;function rme(t){var e=t.children,n=t.prefixCls,o=t.id,i=t.overlayInnerStyle,r=t.className,a=t.style;return m.createElement("div",{className:Vn("".concat(n,"-content"),r),style:a},m.createElement("div",{className:"".concat(n,"-inner"),id:o,role:"tooltip",style:i},typeof e=="function"?e():e))}function T0e(){return T0e=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(n[i]=t[i]);return n}function tDt(t,e){if(t==null)return{};var n=eDt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var TT={shiftX:64,adjustY:1},PT={adjustX:1,shiftY:!0},sm=[0,0],nDt={left:{points:["cr","cl"],overflow:PT,offset:[-4,0],targetOffset:sm},right:{points:["cl","cr"],overflow:PT,offset:[4,0],targetOffset:sm},top:{points:["bc","tc"],overflow:TT,offset:[0,-4],targetOffset:sm},bottom:{points:["tc","bc"],overflow:TT,offset:[0,4],targetOffset:sm},topLeft:{points:["bl","tl"],overflow:TT,offset:[0,-4],targetOffset:sm},leftTop:{points:["tr","tl"],overflow:PT,offset:[-4,0],targetOffset:sm},topRight:{points:["br","tr"],overflow:TT,offset:[0,-4],targetOffset:sm},rightTop:{points:["tl","tr"],overflow:PT,offset:[4,0],targetOffset:sm},bottomRight:{points:["tr","br"],overflow:TT,offset:[0,4],targetOffset:sm},rightBottom:{points:["bl","br"],overflow:PT,offset:[4,0],targetOffset:sm},bottomLeft:{points:["tl","bl"],overflow:TT,offset:[0,4],targetOffset:sm},leftBottom:{points:["br","bl"],overflow:PT,offset:[-4,0],targetOffset:sm}},oDt=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],iDt=function(e,n){var o=e.overlayClassName,i=e.trigger,r=i===void 0?["hover"]:i,a=e.mouseEnterDelay,l=a===void 0?0:a,s=e.mouseLeaveDelay,c=s===void 0?.1:s,u=e.overlayStyle,d=e.prefixCls,f=d===void 0?"rc-tooltip":d,p=e.children,g=e.onVisibleChange,y=e.afterVisibleChange,A=e.transitionName,x=e.animation,C=e.motion,b=e.placement,v=b===void 0?"right":b,S=e.align,w=S===void 0?{}:S,T=e.destroyTooltipOnHide,P=T===void 0?!1:T,R=e.defaultVisible,H=e.getTooltipContainer,D=e.overlayInnerStyle;e.arrowContent;var E=e.overlay,L=e.id,U=e.showArrow,F=U===void 0?!0:U,W=tDt(e,oDt),B=m.useRef(null);m.useImperativeHandle(n,function(){return B.current});var k=Zzt({},W);"visible"in e&&(k.popupVisible=e.visible);var N=function(){return m.createElement(rme,{key:"content",prefixCls:f,id:L,overlayInnerStyle:D},E)};return m.createElement(MW,T0e({popupClassName:o,prefixCls:f,popup:N,action:r,builtinPlacements:nDt,popupPlacement:v,ref:B,popupAlign:w,getPopupContainer:H,onPopupVisibleChange:g,afterPopupVisibleChange:y,popupTransitionName:A,popupAnimation:x,popupMotion:C,defaultPopupVisible:R,autoDestroy:P,mouseLeaveDelay:c,popupStyle:u,mouseEnterDelay:l,arrow:F},k),p)};const rDt=m.forwardRef(iDt);function x$(t){const{sizePopupArrow:e,borderRadiusXS:n,borderRadiusOuter:o}=t,i=e/2,r=0,a=i,l=o*1/Math.sqrt(2),s=i-o*(1-1/Math.sqrt(2)),c=i-n*(1/Math.sqrt(2)),u=o*(Math.sqrt(2)-1)+n*(1/Math.sqrt(2)),d=2*i-c,f=u,p=2*i-l,g=s,y=2*i-r,A=a,x=i*Math.sqrt(2)+o*(Math.sqrt(2)-2),C=o*(Math.sqrt(2)-1),b=`polygon(${C}px 100%, 50% ${C}px, ${2*i-C}px 100%, ${C}px 100%)`,v=`path('M ${r} ${a} A ${o} ${o} 0 0 0 ${l} ${s} L ${c} ${u} A ${n} ${n} 0 0 1 ${d} ${f} L ${p} ${g} A ${o} ${o} 0 0 0 ${y} ${A} Z')`;return{arrowShadowWidth:x,arrowPath:v,arrowPolygon:b}}const LVe=(t,e,n)=>{const{sizePopupArrow:o,arrowPolygon:i,arrowPath:r,arrowShadowWidth:a,borderRadiusXS:l,calc:s}=t;return{pointerEvents:"none",width:o,height:o,overflow:"hidden","&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:o,height:s(o).div(2).equal(),background:e,clipPath:{_multi_value_:!0,value:[i,r]},content:'""'},"&::after":{content:'""',position:"absolute",width:a,height:a,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${Ut(l)} 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:n,zIndex:0,background:"transparent"}}},WVe=8;function b$(t){const{contentRadius:e,limitVerticalRadius:n}=t,o=e>12?e+2:12;return{arrowOffsetHorizontal:o,arrowOffsetVertical:n?WVe:o}}function hY(t,e){return t?e:{}}function ame(t,e,n){const{componentCls:o,boxShadowPopoverArrow:i,arrowOffsetVertical:r,arrowOffsetHorizontal:a}=t,{arrowDistance:l=0,arrowPlacement:s={left:!0,right:!0,top:!0,bottom:!0}}=n||{};return{[o]:Object.assign(Object.assign(Object.assign(Object.assign({[`${o}-arrow`]:[Object.assign(Object.assign({position:"absolute",zIndex:1,display:"block"},LVe(t,e,i)),{"&:before":{background:e}})]},hY(!!s.top,{[[`&-placement-top > ${o}-arrow`,`&-placement-topLeft > ${o}-arrow`,`&-placement-topRight > ${o}-arrow`].join(",")]:{bottom:l,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top > ${o}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft > ${o}-arrow`]:{left:{_skip_check_:!0,value:a}},[`&-placement-topRight > ${o}-arrow`]:{right:{_skip_check_:!0,value:a}}})),hY(!!s.bottom,{[[`&-placement-bottom > ${o}-arrow`,`&-placement-bottomLeft > ${o}-arrow`,`&-placement-bottomRight > ${o}-arrow`].join(",")]:{top:l,transform:"translateY(-100%)"},[`&-placement-bottom > ${o}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft > ${o}-arrow`]:{left:{_skip_check_:!0,value:a}},[`&-placement-bottomRight > ${o}-arrow`]:{right:{_skip_check_:!0,value:a}}})),hY(!!s.left,{[[`&-placement-left > ${o}-arrow`,`&-placement-leftTop > ${o}-arrow`,`&-placement-leftBottom > ${o}-arrow`].join(",")]:{right:{_skip_check_:!0,value:l},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left > ${o}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop > ${o}-arrow`]:{top:r},[`&-placement-leftBottom > ${o}-arrow`]:{bottom:r}})),hY(!!s.right,{[[`&-placement-right > ${o}-arrow`,`&-placement-rightTop > ${o}-arrow`,`&-placement-rightBottom > ${o}-arrow`].join(",")]:{left:{_skip_check_:!0,value:l},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right > ${o}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop > ${o}-arrow`]:{top:r},[`&-placement-rightBottom > ${o}-arrow`]:{bottom:r}}))}}function aDt(t,e,n,o){if(o===!1)return{adjustX:!1,adjustY:!1};const i=o&&typeof o=="object"?o:{},r={};switch(t){case"top":case"bottom":r.shiftX=e.arrowOffsetHorizontal*2+n,r.shiftY=!0,r.adjustY=!0;break;case"left":case"right":r.shiftY=e.arrowOffsetVertical*2+n,r.shiftX=!0,r.adjustX=!0;break}const a=Object.assign(Object.assign({},r),i);return a.shiftX||(a.adjustX=!0),a.shiftY||(a.adjustY=!0),a}const sve={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},lDt={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},sDt=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);function NVe(t){const{arrowWidth:e,autoAdjustOverflow:n,arrowPointAtCenter:o,offset:i,borderRadius:r,visibleFirst:a}=t,l=e/2,s={};return Object.keys(sve).forEach(c=>{const u=o&&lDt[c]||sve[c],d=Object.assign(Object.assign({},u),{offset:[0,0],dynamicInset:!0});switch(s[c]=d,sDt.has(c)&&(d.autoArrow=!1),c){case"top":case"topLeft":case"topRight":d.offset[1]=-l-i;break;case"bottom":case"bottomLeft":case"bottomRight":d.offset[1]=l+i;break;case"left":case"leftTop":case"leftBottom":d.offset[0]=-l-i;break;case"right":case"rightTop":case"rightBottom":d.offset[0]=l+i;break}const f=b$({contentRadius:r,limitVerticalRadius:!0});if(o)switch(c){case"topLeft":case"bottomLeft":d.offset[0]=-f.arrowOffsetHorizontal-l;break;case"topRight":case"bottomRight":d.offset[0]=f.arrowOffsetHorizontal+l;break;case"leftTop":case"rightTop":d.offset[1]=-f.arrowOffsetHorizontal-l;break;case"leftBottom":case"rightBottom":d.offset[1]=f.arrowOffsetHorizontal+l;break}d.overflow=aDt(c,f,e,n),a&&(d.htmlRegion="visibleFirst")}),s}const cDt=t=>{const{componentCls:e,tooltipMaxWidth:n,tooltipColor:o,tooltipBg:i,tooltipBorderRadius:r,zIndexPopup:a,controlHeight:l,boxShadowSecondary:s,paddingSM:c,paddingXS:u}=t;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"absolute",zIndex:a,display:"block",width:"max-content",maxWidth:n,visibility:"visible",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","&-hidden":{display:"none"},"--antd-arrow-background-color":i,[`${e}-inner`]:{minWidth:l,minHeight:l,padding:`${Ut(t.calc(c).div(2).equal())} ${Ut(u)}`,color:o,textAlign:"start",textDecoration:"none",wordWrap:"break-word",backgroundColor:i,borderRadius:r,boxShadow:s,boxSizing:"border-box"},[["&-placement-left","&-placement-leftTop","&-placement-leftBottom","&-placement-right","&-placement-rightTop","&-placement-rightBottom"].join(",")]:{[`${e}-inner`]:{borderRadius:t.min(r,WVe)}},[`${e}-content`]:{position:"relative"}}),EOe(t,(d,f)=>{let{darkColor:p}=f;return{[`&${e}-${d}`]:{[`${e}-inner`]:{backgroundColor:p},[`${e}-arrow`]:{"--antd-arrow-background-color":p}}}})),{"&-rtl":{direction:"rtl"}})},ame(t,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:t.sizePopupArrow}}]},uDt=t=>Object.assign(Object.assign({zIndexPopup:t.zIndexPopupBase+70},b$({contentRadius:t.borderRadius,limitVerticalRadius:!0})),x$(Zr(t,{borderRadiusOuter:Math.min(t.borderRadiusOuter,4)}))),UVe=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Fl("Tooltip",o=>{const{borderRadius:i,colorTextLightSolid:r,colorBgSpotlight:a}=o,l=Zr(o,{tooltipMaxWidth:250,tooltipColor:r,tooltipBorderRadius:i,tooltipBg:a});return[cDt(l),PW(o,"zoom-big-fast")]},uDt,{resetStyle:!1,injectStyle:e})(t)},dDt=jk.map(t=>`${t}-inverse`),fDt=["success","processing","error","default","warning"];function BVe(t){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[].concat(Xa(dDt),Xa(jk)).includes(t):jk.includes(t)}function hDt(t){return fDt.includes(t)}function jVe(t,e){const n=BVe(e),o=Gn({[`${t}-${e}`]:e&&n}),i={},r={};return e&&!n&&(i.background=e,r["--antd-arrow-background-color"]=e),{className:o,overlayStyle:i,arrowStyle:r}}const pDt=t=>{const{prefixCls:e,className:n,placement:o="top",title:i,color:r,overlayInnerStyle:a}=t,{getPrefixCls:l}=m.useContext(Mi),s=l("tooltip",e),[c,u,d]=UVe(s),f=jVe(s,r),p=f.arrowStyle,g=Object.assign(Object.assign({},a),f.overlayStyle),y=Gn(u,d,s,`${s}-pure`,`${s}-placement-${o}`,n,f.className);return c(m.createElement("div",{className:y,style:p},m.createElement("div",{className:`${s}-arrow`}),m.createElement(rme,Object.assign({},t,{className:u,prefixCls:s,overlayInnerStyle:g}),i)))};var gDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const{prefixCls:i,openClassName:r,getTooltipContainer:a,overlayClassName:l,color:s,overlayInnerStyle:c,children:u,afterOpenChange:d,afterVisibleChange:f,destroyTooltipOnHide:p,arrow:g=!0,title:y,overlay:A,builtinPlacements:x,arrowPointAtCenter:C=!1,autoAdjustOverflow:b=!0}=t,v=!!g,[,S]=Yu(),{getPopupContainer:w,getPrefixCls:T,direction:P}=m.useContext(Mi),R=Hb(),H=m.useRef(null),D=()=>{var Ae;(Ae=H.current)===null||Ae===void 0||Ae.forceAlign()};m.useImperativeHandle(e,()=>({forceAlign:D,forcePopupAlign:()=>{R.deprecated(!1,"forcePopupAlign","forceAlign"),D()}}));const[E,L]=_6(!1,{value:(n=t.open)!==null&&n!==void 0?n:t.visible,defaultValue:(o=t.defaultOpen)!==null&&o!==void 0?o:t.defaultVisible}),U=!y&&!A&&y!==0,F=Ae=>{var re,ge;L(U?!1:Ae),U||((re=t.onOpenChange)===null||re===void 0||re.call(t,Ae),(ge=t.onVisibleChange)===null||ge===void 0||ge.call(t,Ae))},W=m.useMemo(()=>{var Ae,re;let ge=C;return typeof g=="object"&&(ge=(re=(Ae=g.pointAtCenter)!==null&&Ae!==void 0?Ae:g.arrowPointAtCenter)!==null&&re!==void 0?re:C),x||NVe({arrowPointAtCenter:ge,autoAdjustOverflow:b,arrowWidth:v?S.sizePopupArrow:0,borderRadius:S.borderRadius,offset:S.marginXXS,visibleFirst:!0})},[C,g,x,S]),B=m.useMemo(()=>y===0?y:A||y||"",[A,y]),k=m.createElement(k9,null,typeof B=="function"?B():B),{getPopupContainer:N,placement:j="top",mouseEnterDelay:Y=.1,mouseLeaveDelay:_=.1,overlayStyle:J,rootClassName:Q}=t,ee=gDt(t,["getPopupContainer","placement","mouseEnterDelay","mouseLeaveDelay","overlayStyle","rootClassName"]),$=T("tooltip",i),q=T(),le=t["data-popover-inject"];let ie=E;!("open"in t)&&!("visible"in t)&&U&&(ie=!1);const pe=m.isValidElement(u)&&!s_e(u)?u:m.createElement("span",null,u),ne=pe.props,Z=!ne.className||typeof ne.className=="string"?Gn(ne.className,r||`${$}-open`):ne.className,[he,fe,se]=UVe($,!le),oe=jVe($,s),de=oe.arrowStyle,ve=Object.assign(Object.assign({},c),oe.overlayStyle),Pe=Gn(l,{[`${$}-rtl`]:P==="rtl"},oe.className,Q,fe,se),[me,Re]=k7("Tooltip",ee.zIndex),ze=m.createElement(rDt,Object.assign({},ee,{zIndex:me,showArrow:v,placement:j,mouseEnterDelay:Y,mouseLeaveDelay:_,prefixCls:$,overlayClassName:Pe,overlayStyle:Object.assign(Object.assign({},de),J),getTooltipContainer:N||a||w,ref:H,builtinPlacements:W,overlay:k,visible:ie,onVisibleChange:F,afterVisibleChange:d??f,overlayInnerStyle:ve,arrowContent:m.createElement("span",{className:`${$}-arrow-content`}),motion:{motionName:D9(q,"zoom-big-fast",t.transitionName),motionDeadline:1e3},destroyTooltipOnHide:!!p}),ie?Ou(pe,{className:Z}):pe);return he(m.createElement(yW.Provider,{value:Re},ze))}),J6=mDt;J6._InternalPanelDoNotUseOrYouWillBeFired=pDt;const yDt=t=>{const{componentCls:e,popoverColor:n,titleMinWidth:o,fontWeightStrong:i,innerPadding:r,boxShadowSecondary:a,colorTextHeading:l,borderRadiusLG:s,zIndexPopup:c,titleMarginBottom:u,colorBgElevated:d,popoverBg:f,titleBorderBottom:p,innerContentPadding:g,titlePadding:y}=t;return[{[e]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:c,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":d,width:"max-content",maxWidth:"100vw","&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},[`${e}-content`]:{position:"relative"},[`${e}-inner`]:{backgroundColor:f,backgroundClip:"padding-box",borderRadius:s,boxShadow:a,padding:r},[`${e}-title`]:{minWidth:o,marginBottom:u,color:l,fontWeight:i,borderBottom:p,padding:y},[`${e}-inner-content`]:{color:n,padding:g}})},ame(t,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:t.sizePopupArrow,display:"inline-block",[`${e}-content`]:{display:"inline-block"}}}]},ADt=t=>{const{componentCls:e}=t;return{[e]:jk.map(n=>{const o=t[`${n}6`];return{[`&${e}-${n}`]:{"--antd-arrow-background-color":o,[`${e}-inner`]:{backgroundColor:o},[`${e}-arrow`]:{background:"transparent"}}}})}},wDt=t=>{const{lineWidth:e,controlHeight:n,fontHeight:o,padding:i,wireframe:r,zIndexPopupBase:a,borderRadiusLG:l,marginXS:s,lineType:c,colorSplit:u,paddingSM:d}=t,f=n-o,p=f/2,g=f/2-e,y=i;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:a+30},x$(t)),b$({contentRadius:l,limitVerticalRadius:!0})),{innerPadding:r?0:12,titleMarginBottom:r?0:s,titlePadding:r?`${p}px ${y}px ${g}px`:0,titleBorderBottom:r?`${e}px ${c} ${u}`:"none",innerContentPadding:r?`${d}px ${y}px`:0})},YVe=Fl("Popover",t=>{const{colorBgElevated:e,colorText:n}=t,o=Zr(t,{popoverBg:e,popoverColor:n});return[yDt(o),ADt(o),PW(o,"zoom-big")]},wDt,{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]});var vDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i!e&&!n?null:m.createElement(m.Fragment,null,e&&m.createElement("div",{className:`${t}-title`},xG(e)),m.createElement("div",{className:`${t}-inner-content`},xG(n))),bDt=t=>{const{hashId:e,prefixCls:n,className:o,style:i,placement:r="top",title:a,content:l,children:s}=t;return m.createElement("div",{className:Gn(e,n,`${n}-pure`,`${n}-placement-${r}`,o),style:i},m.createElement("div",{className:`${n}-arrow`}),m.createElement(rme,Object.assign({},t,{className:e,prefixCls:n}),s||xDt(n,a,l)))},SDt=t=>{const{prefixCls:e,className:n}=t,o=vDt(t,["prefixCls","className"]),{getPrefixCls:i}=m.useContext(Mi),r=i("popover",e),[a,l,s]=YVe(r);return a(m.createElement(bDt,Object.assign({},o,{prefixCls:r,hashId:l,className:Gn(n,s)})))};var TDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{title:e,content:n,prefixCls:o}=t;return m.createElement(m.Fragment,null,e&&m.createElement("div",{className:`${o}-title`},xG(e)),m.createElement("div",{className:`${o}-inner-content`},xG(n)))},CDt=m.forwardRef((t,e)=>{var n,o;const{prefixCls:i,title:r,content:a,overlayClassName:l,placement:s="top",trigger:c="hover",children:u,mouseEnterDelay:d=.1,mouseLeaveDelay:f=.1,onOpenChange:p,overlayStyle:g={}}=t,y=TDt(t,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle"]),{getPrefixCls:A}=m.useContext(Mi),x=A("popover",i),[C,b,v]=YVe(x),S=A(),w=Gn(l,b,v),[T,P]=_6(!1,{value:(n=t.open)!==null&&n!==void 0?n:t.visible,defaultValue:(o=t.defaultOpen)!==null&&o!==void 0?o:t.defaultVisible}),R=(E,L)=>{P(E,!0),p==null||p(E,L)},H=E=>{E.keyCode===hr.ESC&&R(!1,E)},D=E=>{R(E)};return C(m.createElement(J6,Object.assign({placement:s,trigger:c,mouseEnterDelay:d,mouseLeaveDelay:f,overlayStyle:g},y,{prefixCls:x,overlayClassName:w,ref:e,open:T,onOpenChange:D,overlay:r||a?m.createElement(PDt,{prefixCls:x,title:r,content:a}):null,transitionName:D9(S,"zoom-big",y.transitionName),"data-popover-inject":!0}),Ou(u,{onKeyDown:E=>{var L,U;m.isValidElement(u)&&((U=u==null?void 0:(L=u.props).onKeyDown)===null||U===void 0||U.call(L,E)),H(E)}})))}),gl=CDt;gl._InternalPanelDoNotUseOrYouWillBeFired=SDt;const cve=t=>{const{size:e,shape:n}=m.useContext(S0e),o=m.useMemo(()=>({size:t.size||e,shape:t.shape||n}),[t.size,t.shape,e,n]);return m.createElement(S0e.Provider,{value:o},t.children)},RDt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,className:i,rootClassName:r,style:a,maxCount:l,maxStyle:s,size:c,shape:u,maxPopoverPlacement:d="top",maxPopoverTrigger:f="hover",children:p}=t,g=e("avatar",o),y=`${g}-group`,A=j0(g),[x,C,b]=kVe(g,A),v=Gn(y,{[`${y}-rtl`]:n==="rtl"},b,A,i,r,C),S=E9(p).map((T,P)=>Ou(T,{key:`avatar-key-${P}`})),w=S.length;if(l&&l1&&arguments[1]!==void 0?arguments[1]:!1;if(A$(t)){var n=t.nodeName.toLowerCase(),o=["input","select","textarea","button"].includes(n)||t.isContentEditable||n==="a"&&!!t.getAttribute("href"),i=t.getAttribute("tabindex"),r=Number(i),a=null;return i&&!Number.isNaN(r)?a=r:o&&a===null&&(a=0),o&&t.disabled&&(a=null),a!==null&&(a>=0||e&&a<0)}return!1}function ODt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=Wo(t.querySelectorAll("*")).filter(function(o){return uve(o,e)});return uve(t,e)&&n.unshift(t),n}var P0e=Bn.LEFT,C0e=Bn.RIGHT,R0e=Bn.UP,E_=Bn.DOWN,k_=Bn.ENTER,$Ve=Bn.ESC,bz=Bn.HOME,Sz=Bn.END,dve=[R0e,E_,P0e,C0e];function _Dt(t,e,n,o){var i,r="prev",a="next",l="children",s="parent";if(t==="inline"&&o===k_)return{inlineTrigger:!0};var c=_t(_t({},R0e,r),E_,a),u=_t(_t(_t(_t({},P0e,n?a:r),C0e,n?r:a),E_,l),k_,l),d=_t(_t(_t(_t(_t(_t({},R0e,r),E_,a),k_,l),$Ve,s),P0e,n?l:s),C0e,n?s:l),f={inline:c,horizontal:u,vertical:d,inlineSub:c,horizontalSub:d,verticalSub:d},p=(i=f["".concat(t).concat(e?"":"Sub")])===null||i===void 0?void 0:i[o];switch(p){case r:return{offset:-1,sibling:!0};case a:return{offset:1,sibling:!0};case s:return{offset:-1,sibling:!1};case l:return{offset:1,sibling:!1};default:return null}}function VDt(t){for(var e=t;e;){if(e.getAttribute("data-menu-list"))return e;e=e.parentElement}return null}function GDt(t,e){for(var n=t||document.activeElement;n;){if(e.has(n))return n;n=n.parentElement}return null}function sme(t,e){var n=ODt(t,!0);return n.filter(function(o){return e.has(o)})}function fve(t,e,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!t)return null;var i=sme(t,e),r=i.length,a=i.findIndex(function(l){return n===l});return o<0?a===-1?a=r-1:a-=1:o>0&&(a+=1),a=(a+r)%r,i[a]}var H0e=function(e,n){var o=new Set,i=new Map,r=new Map;return e.forEach(function(a){var l=document.querySelector("[data-menu-id='".concat(GVe(n,a),"']"));l&&(o.add(l),r.set(l,a),i.set(a,l))}),{elements:o,key2element:i,element2key:r}};function XDt(t,e,n,o,i,r,a,l,s,c){var u=m.useRef(),d=m.useRef();d.current=e;var f=function(){za.cancel(u.current)};return m.useEffect(function(){return function(){f()}},[]),function(p){var g=p.which;if([].concat(dve,[k_,$Ve,bz,Sz]).includes(g)){var y=r(),A=H0e(y,o),x=A,C=x.elements,b=x.key2element,v=x.element2key,S=b.get(e),w=GDt(S,C),T=v.get(w),P=_Dt(t,a(T,!0).length===1,n,g);if(!P&&g!==bz&&g!==Sz)return;(dve.includes(g)||[bz,Sz].includes(g))&&p.preventDefault();var R=function(B){if(B){var k=B,N=B.querySelector("a");N!=null&&N.getAttribute("href")&&(k=N);var j=v.get(B);l(j),f(),u.current=za(function(){d.current===j&&k.focus()})}};if([bz,Sz].includes(g)||P.sibling||!w){var H;!w||t==="inline"?H=i.current:H=VDt(w);var D,E=sme(H,C);g===bz?D=E[0]:g===Sz?D=E[E.length-1]:D=fve(H,C,w,P.offset),R(D)}else if(P.inlineTrigger)s(T);else if(P.offset>0)s(T,!0),f(),u.current=za(function(){A=H0e(y,o);var W=w.getAttribute("aria-controls"),B=document.getElementById(W),k=fve(B,A.elements);R(k)},5);else if(P.offset<0){var L=a(T,!0),U=L[L.length-2],F=b.get(U);s(U,!1),R(F)}}c==null||c(p)}}function JDt(t){Promise.resolve().then(t)}var cme="__RC_UTIL_PATH_SPLIT__",hve=function(e){return e.join(cme)},KDt=function(e){return e.split(cme)},M0e="rc-menu-more";function qDt(){var t=m.useState({}),e=on(t,2),n=e[1],o=m.useRef(new Map),i=m.useRef(new Map),r=m.useState([]),a=on(r,2),l=a[0],s=a[1],c=m.useRef(0),u=m.useRef(!1),d=function(){u.current||n({})},f=m.useCallback(function(b,v){var S=hve(v);i.current.set(S,b),o.current.set(b,S),c.current+=1;var w=c.current;JDt(function(){w===c.current&&d()})},[]),p=m.useCallback(function(b,v){var S=hve(v);i.current.delete(S),o.current.delete(b)},[]),g=m.useCallback(function(b){s(b)},[]),y=m.useCallback(function(b,v){var S=o.current.get(b)||"",w=KDt(S);return v&&l.includes(w[0])&&w.unshift(M0e),w},[l]),A=m.useCallback(function(b,v){return b.some(function(S){var w=y(S,!0);return w.includes(v)})},[y]),x=function(){var v=Wo(o.current.keys());return l.length&&v.push(M0e),v},C=m.useCallback(function(b){var v="".concat(o.current.get(b)).concat(cme),S=new Set;return Wo(i.current.keys()).forEach(function(w){w.startsWith(v)&&S.add(i.current.get(w))}),S},[]);return m.useEffect(function(){return function(){u.current=!0}},[]),{registerPath:f,unregisterPath:p,refreshOverflowKeys:g,isSubPathKey:A,getKeyPath:y,getKeys:x,getSubPathKeys:C}}function gD(t){var e=m.useRef(t);e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a1&&(C.motionAppear=!1);var b=C.onVisibleChanged;return C.onVisibleChanged=function(v){return!f.current&&!v&&A(!0),b==null?void 0:b(v)},y?null:m.createElement(qk,{mode:r,locked:!f.current},m.createElement(Cg,so({visible:x},C,{forceRender:s,removeOnLeave:!1,leavedClassName:"".concat(l,"-hidden")}),function(v){var S=v.className,w=v.style;return m.createElement(ume,{id:e,className:S,style:w},i)}))}var hEt=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],pEt=["active"],gEt=function(e){var n=e.style,o=e.className,i=e.title,r=e.eventKey;e.warnKey;var a=e.disabled,l=e.internalPopupClose,s=e.children,c=e.itemIcon,u=e.expandIcon,d=e.popupClassName,f=e.popupOffset,p=e.popupStyle,g=e.onClick,y=e.onMouseEnter,A=e.onMouseLeave,x=e.onTitleClick,C=e.onTitleMouseEnter,b=e.onTitleMouseLeave,v=ir(e,hEt),S=XVe(r),w=m.useContext(U2),T=w.prefixCls,P=w.mode,R=w.openKeys,H=w.disabled,D=w.overflowDisabled,E=w.activeKey,L=w.selectedKeys,U=w.itemIcon,F=w.expandIcon,W=w.onItemClick,B=w.onOpenChange,k=w.onActive,N=m.useContext(lme),j=N._internalRenderSubMenuItem,Y=m.useContext(qVe),_=Y.isSubPathKey,J=zH(),Q="".concat(T,"-submenu"),ee=H||a,$=m.useRef(),q=m.useRef(),le=c??U,ie=u??F,pe=R.includes(r),ne=!D&&pe,Z=_(L,r),he=QVe(r,ee,C,b),fe=he.active,se=ir(he,pEt),oe=m.useState(!1),de=on(oe,2),ve=de[0],Pe=de[1],me=function(qe){ee||Pe(qe)},Re=function(qe){me(!0),y==null||y({key:r,domEvent:qe})},ze=function(qe){me(!1),A==null||A({key:r,domEvent:qe})},Ae=m.useMemo(function(){return fe||(P!=="inline"?ve||_([E],r):!1)},[P,fe,E,ve,r,_]),re=ZVe(J.length),ge=function(qe){ee||(x==null||x({key:r,domEvent:qe}),P==="inline"&&B(r,!pe))},we=gD(function(Le){g==null||g(SG(Le)),W(Le)}),ye=function(qe){P!=="inline"&&B(r,qe)},Te=function(){k(r)},Ie=S&&"".concat(S,"-popup"),Ce=m.createElement("div",so({role:"menuitem",style:re,className:"".concat(Q,"-title"),tabIndex:ee?null:-1,ref:$,title:typeof i=="string"?i:null,"data-menu-id":D&&S?null:S,"aria-expanded":ne,"aria-haspopup":!0,"aria-controls":Ie,"aria-disabled":ee,onClick:ge,onFocus:Te},se),i,m.createElement(eGe,{icon:P!=="horizontal"?ie:void 0,props:$t($t({},e),{},{isOpen:ne,isSubMenu:!0})},m.createElement("i",{className:"".concat(Q,"-arrow")}))),Ee=m.useRef(P);if(P!=="inline"&&J.length>1?Ee.current="vertical":Ee.current=P,!D){var Ue=Ee.current;Ce=m.createElement(dEt,{mode:Ue,prefixCls:Q,visible:!l&&ne&&P!=="inline",popupClassName:d,popupOffset:f,popupStyle:p,popup:m.createElement(qk,{mode:Ue==="horizontal"?"vertical":Ue},m.createElement(ume,{id:Ie,ref:q},s)),disabled:ee,onVisibleChange:ye},Ce)}var Ne=m.createElement(H2.Item,so({role:"none"},v,{component:"li",style:n,className:Vn(Q,"".concat(Q,"-").concat(P),o,_t(_t(_t(_t({},"".concat(Q,"-open"),ne),"".concat(Q,"-active"),Ae),"".concat(Q,"-selected"),Z),"".concat(Q,"-disabled"),ee)),onMouseEnter:Re,onMouseLeave:ze}),Ce,!D&&m.createElement(fEt,{id:Ie,open:ne,keyPath:J},s));return j&&(Ne=j(Ne,e,{selected:Z,active:Ae,open:ne,disabled:ee})),m.createElement(qk,{onItemClick:we,mode:P==="horizontal"?"vertical":P,itemIcon:le,expandIcon:ie},Ne)};function T$(t){var e=t.eventKey,n=t.children,o=zH(e),i=dme(n,o),r=S$();m.useEffect(function(){if(r)return r.registerPath(e,o),function(){r.unregisterPath(e,o)}},[o]);var a;return r?a=i:a=m.createElement(gEt,t,i),m.createElement(KVe.Provider,{value:o},a)}var mEt=["className","title","eventKey","children"],yEt=["children"],AEt=function(e){var n=e.className,o=e.title;e.eventKey;var i=e.children,r=ir(e,mEt),a=m.useContext(U2),l=a.prefixCls,s="".concat(l,"-item-group");return m.createElement("li",so({role:"presentation"},r,{onClick:function(u){return u.stopPropagation()},className:Vn(s,n)}),m.createElement("div",{role:"presentation",className:"".concat(s,"-title"),title:typeof o=="string"?o:void 0},o),m.createElement("ul",{role:"group",className:"".concat(s,"-list")},i))};function P$(t){var e=t.children,n=ir(t,yEt),o=zH(n.eventKey),i=dme(e,o),r=S$();return r?i:m.createElement(AEt,MH(n,["warnKey"]),i)}function fme(t){var e=t.className,n=t.style,o=m.useContext(U2),i=o.prefixCls,r=S$();return r?null:m.createElement("li",{role:"separator",className:Vn("".concat(i,"-item-divider"),e),style:n})}var wEt=["label","children","key","type"];function I0e(t){return(t||[]).map(function(e,n){if(e&&gr(e)==="object"){var o=e,i=o.label,r=o.children,a=o.key,l=o.type,s=ir(o,wEt),c=a??"tmp-".concat(n);return r||l==="group"?l==="group"?m.createElement(P$,so({key:c},s,{title:i}),I0e(r)):m.createElement(T$,so({key:c},s,{title:i}),I0e(r)):l==="divider"?m.createElement(fme,so({key:c},s)):m.createElement(IW,so({key:c},s),i)}return null}).filter(function(e){return e})}function vEt(t,e,n){var o=t;return e&&(o=I0e(e)),dme(o,n)}var xEt=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],HT=[],bEt=m.forwardRef(function(t,e){var n,o=t,i=o.prefixCls,r=i===void 0?"rc-menu":i,a=o.rootClassName,l=o.style,s=o.className,c=o.tabIndex,u=c===void 0?0:c,d=o.items,f=o.children,p=o.direction,g=o.id,y=o.mode,A=y===void 0?"vertical":y,x=o.inlineCollapsed,C=o.disabled,b=o.disabledOverflow,v=o.subMenuOpenDelay,S=v===void 0?.1:v,w=o.subMenuCloseDelay,T=w===void 0?.1:w,P=o.forceSubMenuRender,R=o.defaultOpenKeys,H=o.openKeys,D=o.activeKey,E=o.defaultActiveFirst,L=o.selectable,U=L===void 0?!0:L,F=o.multiple,W=F===void 0?!1:F,B=o.defaultSelectedKeys,k=o.selectedKeys,N=o.onSelect,j=o.onDeselect,Y=o.inlineIndent,_=Y===void 0?24:Y,J=o.motion,Q=o.defaultMotions,ee=o.triggerSubMenuAction,$=ee===void 0?"hover":ee,q=o.builtinPlacements,le=o.itemIcon,ie=o.expandIcon,pe=o.overflowedIndicator,ne=pe===void 0?"...":pe,Z=o.overflowedIndicatorPopupClassName,he=o.getPopupContainer,fe=o.onClick,se=o.onOpenChange,oe=o.onKeyDown;o.openAnimation,o.openTransitionName;var de=o._internalRenderMenuItem,ve=o._internalRenderSubMenuItem,Pe=ir(o,xEt),me=m.useMemo(function(){return vEt(f,d,HT)},[f,d]),Re=m.useState(!1),ze=on(Re,2),Ae=ze[0],re=ze[1],ge=m.useRef(),we=QDt(g),ye=p==="rtl",Te=Rs(R,{value:H,postState:function(po){return po||HT}}),Ie=on(Te,2),Ce=Ie[0],Ee=Ie[1],Ue=function(po){var eo=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function uo(){Ee(po),se==null||se(po)}eo?Sd.flushSync(uo):uo()},Ne=m.useState(Ce),Le=on(Ne,2),qe=Le[0],We=Le[1],De=m.useRef(!1),Fe=m.useMemo(function(){return(A==="inline"||A==="vertical")&&x?["vertical",x]:[A,!1]},[A,x]),_e=on(Fe,2),ot=_e[0],Ye=_e[1],St=ot==="inline",dt=m.useState(ot),je=on(dt,2),at=je[0],ut=je[1],wt=m.useState(Ye),rt=on(wt,2),Qe=rt[0],Oe=rt[1];m.useEffect(function(){ut(ot),Oe(Ye),De.current&&(St?Ee(qe):Ue(HT))},[ot,Ye]);var et=m.useState(0),vt=on(et,2),ct=vt[0],lt=vt[1],tt=ct>=me.length-1||at!=="horizontal"||b;m.useEffect(function(){St&&We(Ce)},[Ce]),m.useEffect(function(){return De.current=!0,function(){De.current=!1}},[]);var it=qDt(),At=it.registerPath,Mt=it.unregisterPath,st=it.refreshOverflowKeys,ft=it.isSubPathKey,Rt=it.getKeyPath,zt=it.getKeys,Xe=it.getSubPathKeys,ht=m.useMemo(function(){return{registerPath:At,unregisterPath:Mt}},[At,Mt]),Je=m.useMemo(function(){return{isSubPathKey:ft}},[ft]);m.useEffect(function(){st(tt?HT:me.slice(ct+1).map(function(li){return li.key}))},[ct,tt]);var mt=Rs(D||E&&((n=me[0])===null||n===void 0?void 0:n.key),{value:D}),Ge=on(mt,2),xt=Ge[0],It=Ge[1],Tt=gD(function(li){It(li)}),Dt=gD(function(){It(void 0)});m.useImperativeHandle(e,function(){return{list:ge.current,focus:function(po){var eo,uo=zt(),qo=H0e(uo,we),Hi=qo.elements,vi=qo.key2element,Cn=qo.element2key,yn=sme(ge.current,Hi),to=xt??(yn[0]?Cn.get(yn[0]):(eo=me.find(function(Fo){return!Fo.props.disabled}))===null||eo===void 0?void 0:eo.key),Do=vi.get(to);if(to&&Do){var ni;Do==null||(ni=Do.focus)===null||ni===void 0||ni.call(Do,po)}}}});var Lt=Rs(B||[],{value:k,postState:function(po){return Array.isArray(po)?po:po==null?HT:[po]}}),Et=on(Lt,2),an=Et[0],Jt=Et[1],hn=function(po){if(U){var eo=po.key,uo=an.includes(eo),qo;W?uo?qo=an.filter(function(vi){return vi!==eo}):qo=[].concat(Wo(an),[eo]):qo=[eo],Jt(qo);var Hi=$t($t({},po),{},{selectedKeys:qo});uo?j==null||j(Hi):N==null||N(Hi)}!W&&Ce.length&&at!=="inline"&&Ue(HT)},cn=gD(function(li){fe==null||fe(SG(li)),hn(li)}),Sn=gD(function(li,po){var eo=Ce.filter(function(qo){return qo!==li});if(po)eo.push(li);else if(at!=="inline"){var uo=Xe(li);eo=eo.filter(function(qo){return!uo.has(qo)})}e7(Ce,eo,!0)||Ue(eo,!0)}),Pn=function(po,eo){var uo=eo??!Ce.includes(po);Sn(po,uo)},Un=XDt(at,xt,ye,we,ge,zt,Rt,It,Pn,oe);m.useEffect(function(){re(!0)},[]);var Ai=m.useMemo(function(){return{_internalRenderMenuItem:de,_internalRenderSubMenuItem:ve}},[de,ve]),vo=at!=="horizontal"||b?me:me.map(function(li,po){return m.createElement(qk,{key:li.key,overflowDisabled:po>ct},li)}),Oo=m.createElement(H2,so({id:g,ref:ge,prefixCls:"".concat(r,"-overflow"),component:"ul",itemComponent:IW,className:Vn(r,"".concat(r,"-root"),"".concat(r,"-").concat(at),s,_t(_t({},"".concat(r,"-inline-collapsed"),Qe),"".concat(r,"-rtl"),ye),a),dir:p,style:l,role:"menu",tabIndex:u,data:vo,renderRawItem:function(po){return po},renderRawRest:function(po){var eo=po.length,uo=eo?me.slice(-eo):null;return m.createElement(T$,{eventKey:M0e,title:ne,disabled:tt,internalPopupClose:eo===0,popupClassName:Z},uo)},maxCount:at!=="horizontal"||b?H2.INVALIDATE:H2.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(po){lt(po)},onKeyDown:Un},Pe));return m.createElement(lme.Provider,{value:Ai},m.createElement(VVe.Provider,{value:we},m.createElement(qk,{prefixCls:r,rootClassName:a,mode:at,openKeys:Ce,rtl:ye,disabled:C,motion:Ae?J:null,defaultMotions:Ae?Q:null,activeKey:xt,onActive:Tt,onInactive:Dt,selectedKeys:an,inlineIndent:_,subMenuOpenDelay:S,subMenuCloseDelay:T,forceSubMenuRender:P,builtinPlacements:q,triggerSubMenuAction:$,getPopupContainer:he,itemIcon:le,expandIcon:ie,onItemClick:cn,onOpenChange:Sn},m.createElement(qVe.Provider,{value:Je},Oo),m.createElement("div",{style:{display:"none"},"aria-hidden":!0},m.createElement(JVe.Provider,{value:ht},me)))))}),DH=bEt;DH.Item=IW;DH.SubMenu=T$;DH.ItemGroup=P$;DH.Divider=fme;var SEt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},TEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:SEt}))},hme=m.forwardRef(TEt),PEt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},CEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:PEt}))},gve=m.forwardRef(CEt);const nGe=m.createContext({});var REt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"},HEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:REt}))},pme=m.forwardRef(HEt),MEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,className:n,dashed:o}=t,i=MEt(t,["prefixCls","className","dashed"]),{getPrefixCls:r}=m.useContext(Mi),a=r("menu",e),l=Gn({[`${a}-item-divider-dashed`]:!!o},n);return m.createElement(fme,Object.assign({className:l},i))},TG=m.createContext({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),iGe=t=>{var e;const{className:n,children:o,icon:i,title:r,danger:a}=t,{prefixCls:l,firstLevel:s,direction:c,disableMenuItemTitleTooltip:u,inlineCollapsed:d}=m.useContext(TG),f=C=>{const b=m.createElement("span",{className:`${l}-title-content`},o);return(!i||m.isValidElement(o)&&o.type==="span")&&o&&C&&s&&typeof o=="string"?m.createElement("div",{className:`${l}-inline-collapsed-noicon`},o.charAt(0)):b},{siderCollapsed:p}=m.useContext(nGe);let g=r;typeof r>"u"?g=s?o:"":r===!1&&(g="");const y={title:g};!p&&!d&&(y.title=null,y.open=!1);const A=E9(o).length;let x=m.createElement(IW,Object.assign({},lp(t,["title","icon","danger"]),{className:Gn({[`${l}-item-danger`]:a,[`${l}-item-only-child`]:(i?A+1:A)===1},n),title:typeof r=="string"?r:void 0}),Ou(i,{className:Gn(m.isValidElement(i)?(e=i.props)===null||e===void 0?void 0:e.className:"",`${l}-item-icon`)}),f(d));return u||(x=m.createElement(J6,Object.assign({},y,{placement:c==="rtl"?"left":"right",overlayClassName:`${l}-inline-collapsed-tooltip`}),x)),x},rGe=t=>{var e;const{popupClassName:n,icon:o,title:i,theme:r}=t,a=m.useContext(TG),{prefixCls:l,inlineCollapsed:s,theme:c}=a,u=zH();let d;if(!o)d=s&&!u.length&&i&&typeof i=="string"?m.createElement("div",{className:`${l}-inline-collapsed-noicon`},i.charAt(0)):m.createElement("span",{className:`${l}-title-content`},i);else{const g=m.isValidElement(i)&&i.type==="span";d=m.createElement(m.Fragment,null,Ou(o,{className:Gn(m.isValidElement(o)?(e=o.props)===null||e===void 0?void 0:e.className:"",`${l}-item-icon`)}),g?i:m.createElement("span",{className:`${l}-title-content`},i))}const f=m.useMemo(()=>Object.assign(Object.assign({},a),{firstLevel:!1}),[a]),[p]=k7("Menu");return m.createElement(TG.Provider,{value:f},m.createElement(T$,Object.assign({},lp(t,["icon"]),{title:d,popupClassName:Gn(l,n,`${l}-${r||c}`),popupStyle:{zIndex:p}})))};var IEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{if(e&&typeof e=="object"){const o=e,{label:i,children:r,key:a,type:l}=o,s=IEt(o,["label","children","key","type"]),c=a??`tmp-${n}`;return r||l==="group"?l==="group"?m.createElement(P$,Object.assign({key:c},s,{title:i}),z0e(r)):m.createElement(rGe,Object.assign({key:c},s,{title:i}),z0e(r)):l==="divider"?m.createElement(oGe,Object.assign({key:c},s)):m.createElement(iGe,Object.assign({key:c},s),i)}return null}).filter(e=>e)}function zEt(t){return m.useMemo(()=>t&&z0e(t),[t])}var DEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{children:n}=t,o=DEt(t,["children"]),i=m.useContext(PG),r=m.useMemo(()=>Object.assign(Object.assign({},i),o),[i,o.prefixCls,o.mode,o.selectable,o.rootClassName]),a=tTt(n),l=eTt(e,a?n.ref:null);return m.createElement(PG.Provider,{value:r},m.createElement(k9,null,a?m.cloneElement(n,{ref:l}):n))}),EEt=t=>{const{componentCls:e,motionDurationSlow:n,horizontalLineHeight:o,colorSplit:i,lineWidth:r,lineType:a,itemPaddingInline:l}=t;return{[`${e}-horizontal`]:{lineHeight:o,border:0,borderBottom:`${Ut(r)} ${a} ${i}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${e}-item, ${e}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:l},[`> ${e}-item:hover, > ${e}-item-active, - > ${e}-submenu ${e}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${e}-item, ${e}-submenu-title`]:{transition:[`border-color ${n}`,`background ${n}`].join(",")},[`${e}-submenu-arrow`]:{display:"none"}}}},LEt=t=>{let{componentCls:e,menuArrowOffset:n,calc:o}=t;return{[`${e}-rtl`]:{direction:"rtl"},[`${e}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${e}-rtl${e}-vertical, + > ${e}-submenu ${e}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${e}-item, ${e}-submenu-title`]:{transition:[`border-color ${n}`,`background ${n}`].join(",")},[`${e}-submenu-arrow`]:{display:"none"}}}},kEt=t=>{let{componentCls:e,menuArrowOffset:n,calc:o}=t;return{[`${e}-rtl`]:{direction:"rtl"},[`${e}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${e}-rtl${e}-vertical, ${e}-submenu-rtl ${e}-vertical`]:{[`${e}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(${Ut(o(n).mul(-1).equal())})`},"&::after":{transform:`rotate(45deg) translateY(${Ut(n)})`}}}}},mve=t=>Object.assign({},n7(t)),yve=(t,e)=>{const{componentCls:n,itemColor:o,itemSelectedColor:i,groupTitleColor:r,itemBg:a,subMenuItemBg:l,itemSelectedBg:s,activeBarHeight:c,activeBarWidth:u,activeBarBorderWidth:d,motionDurationSlow:f,motionEaseInOut:p,motionEaseOut:g,itemPaddingInline:y,motionDurationMid:A,itemHoverColor:x,lineType:C,colorSplit:b,itemDisabledColor:v,dangerItemColor:S,dangerItemHoverColor:w,dangerItemSelectedColor:T,dangerItemActiveBg:P,dangerItemSelectedBg:R,popupBg:H,itemHoverBg:D,itemActiveBg:E,menuSubMenuBg:L,horizontalItemSelectedColor:U,horizontalItemSelectedBg:F,horizontalItemBorderRadius:W,horizontalItemHoverBg:B}=t;return{[`${n}-${e}, ${n}-${e} > ${n}`]:{color:o,background:a,[`&${n}-root:focus-visible`]:Object.assign({},mve(t)),[`${n}-item-group-title`]:{color:r},[`${n}-submenu-selected`]:{[`> ${n}-submenu-title`]:{color:i}},[`${n}-item, ${n}-submenu-title`]:{color:o,[`&:not(${n}-item-disabled):focus-visible`]:Object.assign({},mve(t))},[`${n}-item-disabled, ${n}-submenu-disabled`]:{color:`${v} !important`},[`${n}-item:not(${n}-item-selected):not(${n}-submenu-selected)`]:{[`&:hover, > ${n}-submenu-title:hover`]:{color:x}},[`&:not(${n}-horizontal)`]:{[`${n}-item:not(${n}-item-selected)`]:{"&:hover":{backgroundColor:D},"&:active":{backgroundColor:E}},[`${n}-submenu-title`]:{"&:hover":{backgroundColor:D},"&:active":{backgroundColor:E}}},[`${n}-item-danger`]:{color:S,[`&${n}-item:hover`]:{[`&:not(${n}-item-selected):not(${n}-submenu-selected)`]:{color:w}},[`&${n}-item:active`]:{background:P}},[`${n}-item a`]:{"&, &:hover":{color:"inherit"}},[`${n}-item-selected`]:{color:i,[`&${n}-item-danger`]:{color:T},"a, a:hover":{color:"inherit"}},[`& ${n}-item-selected`]:{backgroundColor:s,[`&${n}-item-danger`]:{backgroundColor:R}},[`&${n}-submenu > ${n}`]:{backgroundColor:L},[`&${n}-popup > ${n}`]:{backgroundColor:H},[`&${n}-submenu-popup > ${n}`]:{backgroundColor:H},[`&${n}-horizontal`]:Object.assign(Object.assign({},e==="dark"?{borderBottom:0}:{}),{[`> ${n}-item, > ${n}-submenu`]:{top:d,marginTop:t.calc(d).mul(-1).equal(),marginBottom:0,borderRadius:W,"&::after":{position:"absolute",insetInline:y,bottom:0,borderBottom:`${Ut(c)} solid transparent`,transition:`border-color ${f} ${p}`,content:'""'},"&:hover, &-active, &-open":{background:B,"&::after":{borderBottomWidth:c,borderBottomColor:U}},"&-selected":{color:U,backgroundColor:F,"&:hover":{backgroundColor:F},"&::after":{borderBottomWidth:c,borderBottomColor:U}}}}),[`&${n}-root`]:{[`&${n}-inline, &${n}-vertical`]:{borderInlineEnd:`${Ut(d)} ${C} ${b}`}},[`&${n}-inline`]:{[`${n}-sub${n}-inline`]:{background:l},[`${n}-item`]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${Ut(u)} solid ${i}`,transform:"scaleY(0.0001)",opacity:0,transition:[`transform ${A} ${g}`,`opacity ${A} ${g}`].join(","),content:'""'},[`&${n}-item-danger`]:{"&::after":{borderInlineEndColor:T}}},[`${n}-selected, ${n}-item-selected`]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:[`transform ${A} ${p}`,`opacity ${A} ${p}`].join(",")}}}}}},Ave=t=>{const{componentCls:e,itemHeight:n,itemMarginInline:o,padding:i,menuArrowSize:r,marginXS:a,itemMarginBlock:l,itemWidth:s}=t,c=t.calc(r).add(i).add(a).equal();return{[`${e}-item`]:{position:"relative",overflow:"hidden"},[`${e}-item, ${e}-submenu-title`]:{height:n,lineHeight:Ut(n),paddingInline:i,overflow:"hidden",textOverflow:"ellipsis",marginInline:o,marginBlock:l,width:s},[`> ${e}-item, > ${e}-submenu > ${e}-submenu-title`]:{height:n,lineHeight:Ut(n)},[`${e}-item-group-list ${e}-submenu-title, - ${e}-submenu-title`]:{paddingInlineEnd:c}}},WEt=t=>{const{componentCls:e,iconCls:n,itemHeight:o,colorTextLightSolid:i,dropdownWidth:r,controlHeightLG:a,motionDurationMid:l,motionEaseOut:s,paddingXL:c,itemMarginInline:u,fontSizeLG:d,motionDurationSlow:f,paddingXS:p,boxShadowSecondary:g,collapsedWidth:y,collapsedIconSize:A}=t,x={height:o,lineHeight:Ut(o),listStylePosition:"inside",listStyleType:"disc"};return[{[e]:{"&-inline, &-vertical":Object.assign({[`&${e}-root`]:{boxShadow:"none"}},Ave(t))},[`${e}-submenu-popup`]:{[`${e}-vertical`]:Object.assign(Object.assign({},Ave(t)),{boxShadow:g})}},{[`${e}-submenu-popup ${e}-vertical${e}-sub`]:{minWidth:r,maxHeight:`calc(100vh - ${Ut(t.calc(a).mul(2.5).equal())})`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${e}-inline`]:{width:"100%",[`&${e}-root`]:{[`${e}-item, ${e}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${f}`,`background ${f}`,`padding ${l} ${s}`,`padding-inline calc(50% - ${Ut(t.calc(d).div(2).equal())} - ${Ut(u)})`].join(","),[`> ${e}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${e}-sub${e}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${e}-submenu > ${e}-submenu-title`]:x,[`& ${e}-item-group-title`]:{paddingInlineStart:c}},[`${e}-item`]:x}},{[`${e}-inline-collapsed`]:{width:y,[`&${e}-root`]:{[`${e}-item, ${e}-submenu ${e}-submenu-title`]:{[`> ${e}-inline-collapsed-noicon`]:{fontSize:d,textAlign:"center"}}},[`> ${e}-item, + ${e}-submenu-title`]:{paddingInlineEnd:c}}},FEt=t=>{const{componentCls:e,iconCls:n,itemHeight:o,colorTextLightSolid:i,dropdownWidth:r,controlHeightLG:a,motionDurationMid:l,motionEaseOut:s,paddingXL:c,itemMarginInline:u,fontSizeLG:d,motionDurationSlow:f,paddingXS:p,boxShadowSecondary:g,collapsedWidth:y,collapsedIconSize:A}=t,x={height:o,lineHeight:Ut(o),listStylePosition:"inside",listStyleType:"disc"};return[{[e]:{"&-inline, &-vertical":Object.assign({[`&${e}-root`]:{boxShadow:"none"}},Ave(t))},[`${e}-submenu-popup`]:{[`${e}-vertical`]:Object.assign(Object.assign({},Ave(t)),{boxShadow:g})}},{[`${e}-submenu-popup ${e}-vertical${e}-sub`]:{minWidth:r,maxHeight:`calc(100vh - ${Ut(t.calc(a).mul(2.5).equal())})`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${e}-inline`]:{width:"100%",[`&${e}-root`]:{[`${e}-item, ${e}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${f}`,`background ${f}`,`padding ${l} ${s}`,`padding-inline calc(50% - ${Ut(t.calc(d).div(2).equal())} - ${Ut(u)})`].join(","),[`> ${e}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${e}-sub${e}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${e}-submenu > ${e}-submenu-title`]:x,[`& ${e}-item-group-title`]:{paddingInlineStart:c}},[`${e}-item`]:x}},{[`${e}-inline-collapsed`]:{width:y,[`&${e}-root`]:{[`${e}-item, ${e}-submenu ${e}-submenu-title`]:{[`> ${e}-inline-collapsed-noicon`]:{fontSize:d,textAlign:"center"}}},[`> ${e}-item, > ${e}-item-group > ${e}-item-group-list > ${e}-item, > ${e}-item-group > ${e}-item-group-list > ${e}-submenu > ${e}-submenu-title, > ${e}-submenu > ${e}-submenu-title`]:{insetInlineStart:0,paddingInline:`calc(50% - ${Ut(t.calc(d).div(2).equal())} - ${Ut(u)})`,textOverflow:"clip",[` ${e}-submenu-arrow, ${e}-submenu-expand-icon - `]:{opacity:0},[`${e}-item-icon, ${n}`]:{margin:0,fontSize:A,lineHeight:Ut(o),"+ span":{display:"inline-block",opacity:0}}},[`${e}-item-icon, ${n}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${e}-item-icon, ${n}`]:{display:"none"},"a, a:hover":{color:i}},[`${e}-item-group-title`]:Object.assign(Object.assign({},Yx),{paddingInline:p})}}]},wve=t=>{const{componentCls:e,motionDurationSlow:n,motionDurationMid:o,motionEaseInOut:i,motionEaseOut:r,iconCls:a,iconSize:l,iconMarginInlineEnd:s}=t;return{[`${e}-item, ${e}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${n}`,`background ${n}`,`padding ${n} ${i}`].join(","),[`${e}-item-icon, ${a}`]:{minWidth:l,fontSize:l,transition:[`font-size ${o} ${r}`,`margin ${n} ${i}`,`color ${n}`].join(","),"+ span":{marginInlineStart:s,opacity:1,transition:[`opacity ${n} ${i}`,`margin ${n}`,`color ${n}`].join(",")}},[`${e}-item-icon`]:Object.assign({},CH()),[`&${e}-item-only-child`]:{[`> ${a}, > ${e}-item-icon`]:{marginInlineEnd:0}}},[`${e}-item-disabled, ${e}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${e}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},vve=t=>{const{componentCls:e,motionDurationSlow:n,motionEaseInOut:o,borderRadius:i,menuArrowSize:r,menuArrowOffset:a}=t;return{[`${e}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:t.margin,width:r,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${n} ${o}, opacity ${n}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:t.calc(r).mul(.6).equal(),height:t.calc(r).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:i,transition:[`background ${n} ${o}`,`transform ${n} ${o}`,`top ${n} ${o}`,`color ${n} ${o}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(${Ut(t.calc(a).mul(-1).equal())})`},"&::after":{transform:`rotate(-45deg) translateY(${Ut(a)})`}}}}},NEt=t=>{const{antCls:e,componentCls:n,fontSize:o,motionDurationSlow:i,motionDurationMid:r,motionEaseInOut:a,paddingXS:l,padding:s,colorSplit:c,lineWidth:u,zIndexPopup:d,borderRadiusLG:f,subMenuItemBorderRadius:p,menuArrowSize:g,menuArrowOffset:y,lineType:A,groupTitleLineHeight:x,groupTitleFontSize:C}=t;return[{"":{[`${n}`]:Object.assign(Object.assign({},Yk()),{"&-hidden":{display:"none"}})},[`${n}-submenu-hidden`]:{display:"none"}},{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),Yk()),{marginBottom:0,paddingInlineStart:0,fontSize:o,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${i} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${n}-item`]:{flex:"none"}},[`${n}-item, ${n}-submenu, ${n}-submenu-title`]:{borderRadius:t.itemBorderRadius},[`${n}-item-group-title`]:{padding:`${Ut(l)} ${Ut(s)}`,fontSize:C,lineHeight:x,transition:`all ${i}`},[`&-horizontal ${n}-submenu`]:{transition:[`border-color ${i} ${a}`,`background ${i} ${a}`].join(",")},[`${n}-submenu, ${n}-submenu-inline`]:{transition:[`border-color ${i} ${a}`,`background ${i} ${a}`,`padding ${r} ${a}`].join(",")},[`${n}-submenu ${n}-sub`]:{cursor:"initial",transition:[`background ${i} ${a}`,`padding ${i} ${a}`].join(",")},[`${n}-title-content`]:{transition:`color ${i}`,[`> ${e}-typography-ellipsis-single-line`]:{display:"inline",verticalAlign:"unset"}},[`${n}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${n}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:c,borderStyle:A,borderWidth:0,borderTopWidth:u,marginBlock:u,padding:0,"&-dashed":{borderStyle:"dashed"}}}),wve(t)),{[`${n}-item-group`]:{[`${n}-item-group-list`]:{margin:0,padding:0,[`${n}-item, ${n}-submenu-title`]:{paddingInline:`${Ut(t.calc(o).mul(2).equal())} ${Ut(s)}`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:d,borderRadius:f,boxShadow:"none",transformOrigin:"0 0",[`&${n}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:0,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'},[`> ${n}`]:Object.assign(Object.assign(Object.assign({borderRadius:f},wve(t)),vve(t)),{[`${n}-item, ${n}-submenu > ${n}-submenu-title`]:{borderRadius:p},[`${n}-submenu-title::after`]:{transition:`transform ${i} ${a}`}})},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:t.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:t.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:t.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:t.paddingXS}}}),vve(t)),{[`&-inline-collapsed ${n}-submenu-arrow, - &-inline ${n}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${Ut(y)})`},"&::after":{transform:`rotate(45deg) translateX(${Ut(t.calc(y).mul(-1).equal())})`}},[`${n}-submenu-open${n}-submenu-inline > ${n}-submenu-title > ${n}-submenu-arrow`]:{transform:`translateY(${Ut(t.calc(g).mul(.2).mul(-1).equal())})`,"&::after":{transform:`rotate(-45deg) translateX(${Ut(t.calc(y).mul(-1).equal())})`},"&::before":{transform:`rotate(45deg) translateX(${Ut(y)})`}}})},{[`${e}-layout-header`]:{[n]:{lineHeight:"inherit"}}}]},UEt=t=>{var e,n,o;const{colorPrimary:i,colorError:r,colorTextDisabled:a,colorErrorBg:l,colorText:s,colorTextDescription:c,colorBgContainer:u,colorFillAlter:d,colorFillContent:f,lineWidth:p,lineWidthBold:g,controlItemBgActive:y,colorBgTextHover:A,controlHeightLG:x,lineHeight:C,colorBgElevated:b,marginXXS:v,padding:S,fontSize:w,controlHeightSM:T,fontSizeLG:P,colorTextLightSolid:R,colorErrorHover:H}=t,D=(e=t.activeBarWidth)!==null&&e!==void 0?e:0,E=(n=t.activeBarBorderWidth)!==null&&n!==void 0?n:p,L=(o=t.itemMarginInline)!==null&&o!==void 0?o:t.marginXXS,U=new Il(R).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:t.zIndexPopupBase+50,radiusItem:t.borderRadiusLG,itemBorderRadius:t.borderRadiusLG,radiusSubMenuItem:t.borderRadiusSM,subMenuItemBorderRadius:t.borderRadiusSM,colorItemText:s,itemColor:s,colorItemTextHover:s,itemHoverColor:s,colorItemTextHoverHorizontal:i,horizontalItemHoverColor:i,colorGroupTitle:c,groupTitleColor:c,colorItemTextSelected:i,itemSelectedColor:i,colorItemTextSelectedHorizontal:i,horizontalItemSelectedColor:i,colorItemBg:u,itemBg:u,colorItemBgHover:A,itemHoverBg:A,colorItemBgActive:f,itemActiveBg:y,colorSubItemBg:d,subMenuItemBg:d,colorItemBgSelected:y,itemSelectedBg:y,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:D,colorActiveBarHeight:g,activeBarHeight:g,colorActiveBarBorderSize:p,activeBarBorderWidth:E,colorItemTextDisabled:a,itemDisabledColor:a,colorDangerItemText:r,dangerItemColor:r,colorDangerItemTextHover:r,dangerItemHoverColor:r,colorDangerItemTextSelected:r,dangerItemSelectedColor:r,colorDangerItemBgActive:l,dangerItemActiveBg:l,colorDangerItemBgSelected:l,dangerItemSelectedBg:l,itemMarginInline:L,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:x,groupTitleLineHeight:C,collapsedWidth:x*2,popupBg:b,itemMarginBlock:v,itemPaddingInline:S,horizontalLineHeight:`${x*1.15}px`,iconSize:w,iconMarginInlineEnd:T-w,collapsedIconSize:P,groupTitleFontSize:w,darkItemDisabledColor:new Il(R).setAlpha(.25).toRgbString(),darkItemColor:U,darkDangerItemColor:r,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:R,darkItemSelectedBg:i,darkDangerItemSelectedBg:r,darkItemHoverBg:"transparent",darkGroupTitleColor:U,darkItemHoverColor:R,darkDangerItemHoverColor:H,darkDangerItemSelectedColor:R,darkDangerItemActiveBg:r,itemWidth:D?`calc(100% + ${E}px)`:`calc(100% - ${L*2}px)`}},BEt=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return Fl("Menu",i=>{const{colorBgElevated:r,controlHeightLG:a,fontSize:l,darkItemColor:s,darkDangerItemColor:c,darkItemBg:u,darkSubMenuItemBg:d,darkItemSelectedColor:f,darkItemSelectedBg:p,darkDangerItemSelectedBg:g,darkItemHoverBg:y,darkGroupTitleColor:A,darkItemHoverColor:x,darkItemDisabledColor:C,darkDangerItemHoverColor:b,darkDangerItemSelectedColor:v,darkDangerItemActiveBg:S,popupBg:w,darkPopupBg:T}=i,P=i.calc(l).div(7).mul(5).equal(),R=Zr(i,{menuArrowSize:P,menuHorizontalHeight:i.calc(a).mul(1.15).equal(),menuArrowOffset:i.calc(P).mul(.25).equal(),menuSubMenuBg:r,calc:i.calc,popupBg:w}),H=Zr(R,{itemColor:s,itemHoverColor:x,groupTitleColor:A,itemSelectedColor:f,itemBg:u,popupBg:T,subMenuItemBg:d,itemActiveBg:"transparent",itemSelectedBg:p,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:y,itemDisabledColor:C,dangerItemColor:c,dangerItemHoverColor:b,dangerItemSelectedColor:v,dangerItemActiveBg:S,dangerItemSelectedBg:g,menuSubMenuBg:d,horizontalItemSelectedColor:f,horizontalItemSelectedBg:p});return[NEt(R),FEt(R),WEt(R),yve(R,"light"),yve(H,"dark"),LEt(R),$ge(R),F9(R,"slide-up"),F9(R,"slide-down"),PW(R,"zoom-big")]},UEt,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:n,unitless:{groupTitleLineHeight:!0}})(t,e)};var jEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const o=m.useContext(PG),i=o||{},{getPrefixCls:r,getPopupContainer:a,direction:l,menu:s}=m.useContext(Mi),c=r(),{prefixCls:u,className:d,style:f,theme:p="light",expandIcon:g,_internalDisableMenuItemTitleTooltip:y,inlineCollapsed:A,siderCollapsed:x,items:C,children:b,rootClassName:v,mode:S,selectable:w,onClick:T,overflowedIndicatorPopupClassName:P}=t,R=jEt(t,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),H=lp(R,["collapsedWidth"]),D=EEt(C)||b;(n=i.validator)===null||n===void 0||n.call(i,{mode:S});const E=O6(function(){var ee;T==null||T.apply(void 0,arguments),(ee=i.onClick)===null||ee===void 0||ee.call(i)}),L=i.mode||S,U=w??i.selectable,F=m.useMemo(()=>x!==void 0?x:A,[A,x]),W={horizontal:{motionName:`${c}-slide-up`},inline:Vge(c),other:{motionName:`${c}-zoom-big`}},B=r("menu",u||i.prefixCls),k=j0(B),[N,j,Y]=BEt(B,k,!o),_=Gn(`${B}-${p}`,s==null?void 0:s.className,d),J=m.useMemo(()=>{var ee,$;if(typeof g=="function"||Eie(g))return g||null;if(typeof i.expandIcon=="function"||Eie(i.expandIcon))return i.expandIcon||null;if(typeof(s==null?void 0:s.expandIcon)=="function"||Eie(s==null?void 0:s.expandIcon))return(s==null?void 0:s.expandIcon)||null;const q=(ee=g??(i==null?void 0:i.expandIcon))!==null&&ee!==void 0?ee:s==null?void 0:s.expandIcon;return Ou(q,{className:Gn(`${B}-submenu-expand-icon`,m.isValidElement(q)?($=q.props)===null||$===void 0?void 0:$.className:void 0)})},[g,i==null?void 0:i.expandIcon,s==null?void 0:s.expandIcon,B]),Q=m.useMemo(()=>({prefixCls:B,inlineCollapsed:F||!1,direction:l,firstLevel:!0,theme:p,mode:L,disableMenuItemTitleTooltip:y}),[B,F,l,y,p]);return N(m.createElement(PG.Provider,{value:null},m.createElement(TG.Provider,{value:Q},m.createElement(DH,Object.assign({getPopupContainer:a,overflowedIndicator:m.createElement(pme,null),overflowedIndicatorPopupClassName:Gn(B,`${B}-${p}`,P),mode:L,selectable:U,onClick:E},H,{inlineCollapsed:F,style:Object.assign(Object.assign({},s==null?void 0:s.style),f),className:_,prefixCls:B,direction:l,defaultMotions:W,expandIcon:J,ref:e,rootClassName:Gn(v,j,i.rootClassName,Y,k)}),D))))}),EH=m.forwardRef((t,e)=>{const n=m.useRef(null),o=m.useContext(nGe);return m.useImperativeHandle(e,()=>({menu:n.current,focus:i=>{var r;(r=n.current)===null||r===void 0||r.focus(i)}})),m.createElement(YEt,Object.assign({ref:n},t,o))});EH.Item=iGe;EH.SubMenu=rGe;EH.Divider=oGe;EH.ItemGroup=P$;const OEt=t=>{const{componentCls:e,menuCls:n,colorError:o,colorTextLightSolid:i}=t,r=`${n}-item`;return{[`${e}, ${e}-menu-submenu`]:{[`${n} ${r}`]:{[`&${r}-danger:not(${r}-disabled)`]:{color:o,"&:hover":{color:i,backgroundColor:o}}}}}},_Et=t=>{const{componentCls:e,menuCls:n,zIndexPopup:o,dropdownArrowDistance:i,sizePopupArrow:r,antCls:a,iconCls:l,motionDurationMid:s,paddingBlock:c,fontSize:u,dropdownEdgeChildPadding:d,colorTextDisabled:f,fontSizeIcon:p,controlPaddingHorizontal:g,colorBgElevated:y}=t;return[{[e]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:o,display:"block","&::before":{position:"absolute",insetBlock:t.calc(r).div(2).sub(i).equal(),zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${a}-btn`]:{[`& > ${l}-down, & > ${a}-btn-icon > ${l}-down`]:{fontSize:p}},[`${e}-wrap`]:{position:"relative",[`${a}-btn > ${l}-down`]:{fontSize:p},[`${l}-down::before`]:{transition:`transform ${s}`}},[`${e}-wrap-open`]:{[`${l}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${a}-slide-down-enter${a}-slide-down-enter-active${e}-placement-bottomLeft, + `]:{opacity:0},[`${e}-item-icon, ${n}`]:{margin:0,fontSize:A,lineHeight:Ut(o),"+ span":{display:"inline-block",opacity:0}}},[`${e}-item-icon, ${n}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${e}-item-icon, ${n}`]:{display:"none"},"a, a:hover":{color:i}},[`${e}-item-group-title`]:Object.assign(Object.assign({},Yx),{paddingInline:p})}}]},wve=t=>{const{componentCls:e,motionDurationSlow:n,motionDurationMid:o,motionEaseInOut:i,motionEaseOut:r,iconCls:a,iconSize:l,iconMarginInlineEnd:s}=t;return{[`${e}-item, ${e}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${n}`,`background ${n}`,`padding ${n} ${i}`].join(","),[`${e}-item-icon, ${a}`]:{minWidth:l,fontSize:l,transition:[`font-size ${o} ${r}`,`margin ${n} ${i}`,`color ${n}`].join(","),"+ span":{marginInlineStart:s,opacity:1,transition:[`opacity ${n} ${i}`,`margin ${n}`,`color ${n}`].join(",")}},[`${e}-item-icon`]:Object.assign({},CH()),[`&${e}-item-only-child`]:{[`> ${a}, > ${e}-item-icon`]:{marginInlineEnd:0}}},[`${e}-item-disabled, ${e}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${e}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},vve=t=>{const{componentCls:e,motionDurationSlow:n,motionEaseInOut:o,borderRadius:i,menuArrowSize:r,menuArrowOffset:a}=t;return{[`${e}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:t.margin,width:r,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${n} ${o}, opacity ${n}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:t.calc(r).mul(.6).equal(),height:t.calc(r).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:i,transition:[`background ${n} ${o}`,`transform ${n} ${o}`,`top ${n} ${o}`,`color ${n} ${o}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(${Ut(t.calc(a).mul(-1).equal())})`},"&::after":{transform:`rotate(-45deg) translateY(${Ut(a)})`}}}}},LEt=t=>{const{antCls:e,componentCls:n,fontSize:o,motionDurationSlow:i,motionDurationMid:r,motionEaseInOut:a,paddingXS:l,padding:s,colorSplit:c,lineWidth:u,zIndexPopup:d,borderRadiusLG:f,subMenuItemBorderRadius:p,menuArrowSize:g,menuArrowOffset:y,lineType:A,groupTitleLineHeight:x,groupTitleFontSize:C}=t;return[{"":{[`${n}`]:Object.assign(Object.assign({},Yk()),{"&-hidden":{display:"none"}})},[`${n}-submenu-hidden`]:{display:"none"}},{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),Yk()),{marginBottom:0,paddingInlineStart:0,fontSize:o,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${i} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${n}-item`]:{flex:"none"}},[`${n}-item, ${n}-submenu, ${n}-submenu-title`]:{borderRadius:t.itemBorderRadius},[`${n}-item-group-title`]:{padding:`${Ut(l)} ${Ut(s)}`,fontSize:C,lineHeight:x,transition:`all ${i}`},[`&-horizontal ${n}-submenu`]:{transition:[`border-color ${i} ${a}`,`background ${i} ${a}`].join(",")},[`${n}-submenu, ${n}-submenu-inline`]:{transition:[`border-color ${i} ${a}`,`background ${i} ${a}`,`padding ${r} ${a}`].join(",")},[`${n}-submenu ${n}-sub`]:{cursor:"initial",transition:[`background ${i} ${a}`,`padding ${i} ${a}`].join(",")},[`${n}-title-content`]:{transition:`color ${i}`,[`> ${e}-typography-ellipsis-single-line`]:{display:"inline",verticalAlign:"unset"}},[`${n}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${n}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:c,borderStyle:A,borderWidth:0,borderTopWidth:u,marginBlock:u,padding:0,"&-dashed":{borderStyle:"dashed"}}}),wve(t)),{[`${n}-item-group`]:{[`${n}-item-group-list`]:{margin:0,padding:0,[`${n}-item, ${n}-submenu-title`]:{paddingInline:`${Ut(t.calc(o).mul(2).equal())} ${Ut(s)}`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:d,borderRadius:f,boxShadow:"none",transformOrigin:"0 0",[`&${n}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:0,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'},[`> ${n}`]:Object.assign(Object.assign(Object.assign({borderRadius:f},wve(t)),vve(t)),{[`${n}-item, ${n}-submenu > ${n}-submenu-title`]:{borderRadius:p},[`${n}-submenu-title::after`]:{transition:`transform ${i} ${a}`}})},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:t.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:t.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:t.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:t.paddingXS}}}),vve(t)),{[`&-inline-collapsed ${n}-submenu-arrow, + &-inline ${n}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${Ut(y)})`},"&::after":{transform:`rotate(45deg) translateX(${Ut(t.calc(y).mul(-1).equal())})`}},[`${n}-submenu-open${n}-submenu-inline > ${n}-submenu-title > ${n}-submenu-arrow`]:{transform:`translateY(${Ut(t.calc(g).mul(.2).mul(-1).equal())})`,"&::after":{transform:`rotate(-45deg) translateX(${Ut(t.calc(y).mul(-1).equal())})`},"&::before":{transform:`rotate(45deg) translateX(${Ut(y)})`}}})},{[`${e}-layout-header`]:{[n]:{lineHeight:"inherit"}}}]},WEt=t=>{var e,n,o;const{colorPrimary:i,colorError:r,colorTextDisabled:a,colorErrorBg:l,colorText:s,colorTextDescription:c,colorBgContainer:u,colorFillAlter:d,colorFillContent:f,lineWidth:p,lineWidthBold:g,controlItemBgActive:y,colorBgTextHover:A,controlHeightLG:x,lineHeight:C,colorBgElevated:b,marginXXS:v,padding:S,fontSize:w,controlHeightSM:T,fontSizeLG:P,colorTextLightSolid:R,colorErrorHover:H}=t,D=(e=t.activeBarWidth)!==null&&e!==void 0?e:0,E=(n=t.activeBarBorderWidth)!==null&&n!==void 0?n:p,L=(o=t.itemMarginInline)!==null&&o!==void 0?o:t.marginXXS,U=new Il(R).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:t.zIndexPopupBase+50,radiusItem:t.borderRadiusLG,itemBorderRadius:t.borderRadiusLG,radiusSubMenuItem:t.borderRadiusSM,subMenuItemBorderRadius:t.borderRadiusSM,colorItemText:s,itemColor:s,colorItemTextHover:s,itemHoverColor:s,colorItemTextHoverHorizontal:i,horizontalItemHoverColor:i,colorGroupTitle:c,groupTitleColor:c,colorItemTextSelected:i,itemSelectedColor:i,colorItemTextSelectedHorizontal:i,horizontalItemSelectedColor:i,colorItemBg:u,itemBg:u,colorItemBgHover:A,itemHoverBg:A,colorItemBgActive:f,itemActiveBg:y,colorSubItemBg:d,subMenuItemBg:d,colorItemBgSelected:y,itemSelectedBg:y,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:D,colorActiveBarHeight:g,activeBarHeight:g,colorActiveBarBorderSize:p,activeBarBorderWidth:E,colorItemTextDisabled:a,itemDisabledColor:a,colorDangerItemText:r,dangerItemColor:r,colorDangerItemTextHover:r,dangerItemHoverColor:r,colorDangerItemTextSelected:r,dangerItemSelectedColor:r,colorDangerItemBgActive:l,dangerItemActiveBg:l,colorDangerItemBgSelected:l,dangerItemSelectedBg:l,itemMarginInline:L,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:x,groupTitleLineHeight:C,collapsedWidth:x*2,popupBg:b,itemMarginBlock:v,itemPaddingInline:S,horizontalLineHeight:`${x*1.15}px`,iconSize:w,iconMarginInlineEnd:T-w,collapsedIconSize:P,groupTitleFontSize:w,darkItemDisabledColor:new Il(R).setAlpha(.25).toRgbString(),darkItemColor:U,darkDangerItemColor:r,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:R,darkItemSelectedBg:i,darkDangerItemSelectedBg:r,darkItemHoverBg:"transparent",darkGroupTitleColor:U,darkItemHoverColor:R,darkDangerItemHoverColor:H,darkDangerItemSelectedColor:R,darkDangerItemActiveBg:r,itemWidth:D?`calc(100% + ${E}px)`:`calc(100% - ${L*2}px)`}},NEt=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return Fl("Menu",i=>{const{colorBgElevated:r,controlHeightLG:a,fontSize:l,darkItemColor:s,darkDangerItemColor:c,darkItemBg:u,darkSubMenuItemBg:d,darkItemSelectedColor:f,darkItemSelectedBg:p,darkDangerItemSelectedBg:g,darkItemHoverBg:y,darkGroupTitleColor:A,darkItemHoverColor:x,darkItemDisabledColor:C,darkDangerItemHoverColor:b,darkDangerItemSelectedColor:v,darkDangerItemActiveBg:S,popupBg:w,darkPopupBg:T}=i,P=i.calc(l).div(7).mul(5).equal(),R=Zr(i,{menuArrowSize:P,menuHorizontalHeight:i.calc(a).mul(1.15).equal(),menuArrowOffset:i.calc(P).mul(.25).equal(),menuSubMenuBg:r,calc:i.calc,popupBg:w}),H=Zr(R,{itemColor:s,itemHoverColor:x,groupTitleColor:A,itemSelectedColor:f,itemBg:u,popupBg:T,subMenuItemBg:d,itemActiveBg:"transparent",itemSelectedBg:p,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:y,itemDisabledColor:C,dangerItemColor:c,dangerItemHoverColor:b,dangerItemSelectedColor:v,dangerItemActiveBg:S,dangerItemSelectedBg:g,menuSubMenuBg:d,horizontalItemSelectedColor:f,horizontalItemSelectedBg:p});return[LEt(R),EEt(R),FEt(R),yve(R,"light"),yve(H,"dark"),kEt(R),$ge(R),F9(R,"slide-up"),F9(R,"slide-down"),PW(R,"zoom-big")]},WEt,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:n,unitless:{groupTitleLineHeight:!0}})(t,e)};var UEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const o=m.useContext(PG),i=o||{},{getPrefixCls:r,getPopupContainer:a,direction:l,menu:s}=m.useContext(Mi),c=r(),{prefixCls:u,className:d,style:f,theme:p="light",expandIcon:g,_internalDisableMenuItemTitleTooltip:y,inlineCollapsed:A,siderCollapsed:x,items:C,children:b,rootClassName:v,mode:S,selectable:w,onClick:T,overflowedIndicatorPopupClassName:P}=t,R=UEt(t,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),H=lp(R,["collapsedWidth"]),D=zEt(C)||b;(n=i.validator)===null||n===void 0||n.call(i,{mode:S});const E=O6(function(){var ee;T==null||T.apply(void 0,arguments),(ee=i.onClick)===null||ee===void 0||ee.call(i)}),L=i.mode||S,U=w??i.selectable,F=m.useMemo(()=>x!==void 0?x:A,[A,x]),W={horizontal:{motionName:`${c}-slide-up`},inline:Vge(c),other:{motionName:`${c}-zoom-big`}},B=r("menu",u||i.prefixCls),k=j0(B),[N,j,Y]=NEt(B,k,!o),_=Gn(`${B}-${p}`,s==null?void 0:s.className,d),J=m.useMemo(()=>{var ee,$;if(typeof g=="function"||Eie(g))return g||null;if(typeof i.expandIcon=="function"||Eie(i.expandIcon))return i.expandIcon||null;if(typeof(s==null?void 0:s.expandIcon)=="function"||Eie(s==null?void 0:s.expandIcon))return(s==null?void 0:s.expandIcon)||null;const q=(ee=g??(i==null?void 0:i.expandIcon))!==null&&ee!==void 0?ee:s==null?void 0:s.expandIcon;return Ou(q,{className:Gn(`${B}-submenu-expand-icon`,m.isValidElement(q)?($=q.props)===null||$===void 0?void 0:$.className:void 0)})},[g,i==null?void 0:i.expandIcon,s==null?void 0:s.expandIcon,B]),Q=m.useMemo(()=>({prefixCls:B,inlineCollapsed:F||!1,direction:l,firstLevel:!0,theme:p,mode:L,disableMenuItemTitleTooltip:y}),[B,F,l,y,p]);return N(m.createElement(PG.Provider,{value:null},m.createElement(TG.Provider,{value:Q},m.createElement(DH,Object.assign({getPopupContainer:a,overflowedIndicator:m.createElement(pme,null),overflowedIndicatorPopupClassName:Gn(B,`${B}-${p}`,P),mode:L,selectable:U,onClick:E},H,{inlineCollapsed:F,style:Object.assign(Object.assign({},s==null?void 0:s.style),f),className:_,prefixCls:B,direction:l,defaultMotions:W,expandIcon:J,ref:e,rootClassName:Gn(v,j,i.rootClassName,Y,k)}),D))))}),EH=m.forwardRef((t,e)=>{const n=m.useRef(null),o=m.useContext(nGe);return m.useImperativeHandle(e,()=>({menu:n.current,focus:i=>{var r;(r=n.current)===null||r===void 0||r.focus(i)}})),m.createElement(BEt,Object.assign({ref:n},t,o))});EH.Item=iGe;EH.SubMenu=rGe;EH.Divider=oGe;EH.ItemGroup=P$;const jEt=t=>{const{componentCls:e,menuCls:n,colorError:o,colorTextLightSolid:i}=t,r=`${n}-item`;return{[`${e}, ${e}-menu-submenu`]:{[`${n} ${r}`]:{[`&${r}-danger:not(${r}-disabled)`]:{color:o,"&:hover":{color:i,backgroundColor:o}}}}}},YEt=t=>{const{componentCls:e,menuCls:n,zIndexPopup:o,dropdownArrowDistance:i,sizePopupArrow:r,antCls:a,iconCls:l,motionDurationMid:s,paddingBlock:c,fontSize:u,dropdownEdgeChildPadding:d,colorTextDisabled:f,fontSizeIcon:p,controlPaddingHorizontal:g,colorBgElevated:y}=t;return[{[e]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:o,display:"block","&::before":{position:"absolute",insetBlock:t.calc(r).div(2).sub(i).equal(),zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${a}-btn`]:{[`& > ${l}-down, & > ${a}-btn-icon > ${l}-down`]:{fontSize:p}},[`${e}-wrap`]:{position:"relative",[`${a}-btn > ${l}-down`]:{fontSize:p},[`${l}-down::before`]:{transition:`transform ${s}`}},[`${e}-wrap-open`]:{[`${l}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${a}-slide-down-enter${a}-slide-down-enter-active${e}-placement-bottomLeft, &${a}-slide-down-appear${a}-slide-down-appear-active${e}-placement-bottomLeft, &${a}-slide-down-enter${a}-slide-down-enter-active${e}-placement-bottom, &${a}-slide-down-appear${a}-slide-down-appear-active${e}-placement-bottom, @@ -4554,8 +4554,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho &${a}-slide-down-leave${a}-slide-down-leave-active${e}-placement-bottom, &${a}-slide-down-leave${a}-slide-down-leave-active${e}-placement-bottomRight`]:{animationName:h$},[`&${a}-slide-up-leave${a}-slide-up-leave-active${e}-placement-topLeft, &${a}-slide-up-leave${a}-slide-up-leave-active${e}-placement-top, - &${a}-slide-up-leave${a}-slide-up-leave-active${e}-placement-topRight`]:{animationName:g$}})},ame(t,y,{arrowPlacement:{top:!0,bottom:!0}}),{[`${e} ${n}`]:{position:"relative",margin:0},[`${n}-submenu-popup`]:{position:"absolute",zIndex:o,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${e}, ${e}-menu-submenu`]:{[n]:Object.assign(Object.assign({padding:d,listStyleType:"none",backgroundColor:y,backgroundClip:"padding-box",borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary},V6(t)),{"&:empty":{padding:0,boxShadow:"none"},[`${n}-item-group-title`]:{padding:`${Ut(c)} ${Ut(g)}`,color:t.colorTextDescription,transition:`all ${s}`},[`${n}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${n}-item-icon`]:{minWidth:u,marginInlineEnd:t.marginXS,fontSize:t.fontSizeSM},[`${n}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${s}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${n}-item, ${n}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${Ut(c)} ${Ut(g)}`,color:t.colorText,fontWeight:"normal",fontSize:u,lineHeight:t.lineHeight,cursor:"pointer",transition:`all ${s}`,borderRadius:t.borderRadiusSM,"&:hover, &-active":{backgroundColor:t.controlItemBgHover}},V6(t)),{"&-selected":{color:t.colorPrimary,backgroundColor:t.controlItemBgActive,"&:hover, &-active":{backgroundColor:t.controlItemBgActiveHover}},"&-disabled":{color:f,cursor:"not-allowed","&:hover":{color:f,backgroundColor:y,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${Ut(t.marginXXS)} 0`,overflow:"hidden",lineHeight:0,backgroundColor:t.colorSplit},[`${e}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:t.paddingXS,[`${e}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:t.colorTextDescription,fontSize:p,fontStyle:"normal"}}}),[`${n}-item-group-list`]:{margin:`0 ${Ut(t.marginXS)}`,padding:0,listStyle:"none"},[`${n}-submenu-title`]:{paddingInlineEnd:t.calc(g).add(t.fontSizeSM).equal()},[`${n}-submenu-vertical`]:{position:"relative"},[`${n}-submenu${n}-submenu-disabled ${e}-menu-submenu-title`]:{[`&, ${e}-menu-submenu-arrow-icon`]:{color:f,backgroundColor:y,cursor:"not-allowed"}},[`${n}-submenu-selected ${e}-menu-submenu-title`]:{color:t.colorPrimary}})}},[F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down"),PW(t,"zoom-big")]]},VEt=t=>Object.assign(Object.assign({zIndexPopup:t.zIndexPopupBase+50,paddingBlock:(t.controlHeight-t.fontSize*t.lineHeight)/2},b$({contentRadius:t.borderRadiusLG,limitVerticalRadius:!0})),x$(t)),GEt=Fl("Dropdown",t=>{const{marginXXS:e,sizePopupArrow:n,paddingXXS:o,componentCls:i}=t,r=Zr(t,{menuCls:`${i}-menu`,dropdownArrowDistance:t.calc(n).div(2).add(e).equal(),dropdownEdgeChildPadding:o});return[_Et(r),OEt(r)]},VEt),C$=t=>{const{menu:e,arrow:n,prefixCls:o,children:i,trigger:r,disabled:a,dropdownRender:l,getPopupContainer:s,overlayClassName:c,rootClassName:u,overlayStyle:d,open:f,onOpenChange:p,visible:g,onVisibleChange:y,mouseEnterDelay:A=.15,mouseLeaveDelay:x=.1,autoAdjustOverflow:C=!0,placement:b="",overlay:v,transitionName:S}=t,{getPopupContainer:w,getPrefixCls:T,direction:P,dropdown:R}=m.useContext(Mi);Hb();const H=m.useMemo(()=>{const Z=T();return S!==void 0?S:b.includes("top")?`${Z}-slide-down`:`${Z}-slide-up`},[T,b,S]),D=m.useMemo(()=>b?b.includes("Center")?b.slice(0,b.indexOf("Center")):b:P==="rtl"?"bottomRight":"bottomLeft",[b,P]),E=T("dropdown",o),L=j0(E),[U,F,W]=GEt(E,L),[,B]=Yu(),k=m.Children.only(i),N=Ou(k,{className:Gn(`${E}-trigger`,{[`${E}-rtl`]:P==="rtl"},k.props.className),disabled:a}),j=a?[]:r;let Y;j&&j.includes("contextMenu")&&(Y=!0);const[_,J]=_6(!1,{value:f??g}),Q=O6(Z=>{p==null||p(Z,{source:"trigger"}),y==null||y(Z),J(Z)}),ee=Gn(c,u,F,W,L,R==null?void 0:R.className,{[`${E}-rtl`]:P==="rtl"}),$=NVe({arrowPointAtCenter:typeof n=="object"&&n.pointAtCenter,autoAdjustOverflow:C,offset:B.marginXXS,arrowWidth:n?B.sizePopupArrow:0,borderRadius:B.borderRadius}),q=m.useCallback(()=>{e!=null&&e.selectable&&(e!=null&&e.multiple)||(p==null||p(!1,{source:"menu"}),J(!1))},[e==null?void 0:e.selectable,e==null?void 0:e.multiple]),le=()=>{let Z;return e!=null&&e.items?Z=m.createElement(EH,Object.assign({},e)):typeof v=="function"?Z=v():Z=v,l&&(Z=l(Z)),Z=m.Children.only(typeof Z=="string"?m.createElement("span",null,Z):Z),m.createElement(aGe,{prefixCls:`${E}-menu`,rootClassName:Gn(W,L),expandIcon:m.createElement("span",{className:`${E}-menu-submenu-arrow`},m.createElement(bG,{className:`${E}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:q,validator:he=>{}},Z)},[ie,pe]=k7("Dropdown",d==null?void 0:d.zIndex);let ne=m.createElement(_Ve,Object.assign({alignPoint:Y},lp(t,["rootClassName"]),{mouseEnterDelay:A,mouseLeaveDelay:x,visible:_,builtinPlacements:$,arrow:!!n,overlayClassName:ee,prefixCls:E,getPopupContainer:s||w,transitionName:H,trigger:j,overlay:le,placement:D,onVisibleChange:Q,overlayStyle:Object.assign(Object.assign(Object.assign({},R==null?void 0:R.style),d),{zIndex:ie})}),N);return ie&&(ne=m.createElement(yW.Provider,{value:pe},ne)),U(ne)};function XEt(t){return Object.assign(Object.assign({},t),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const JEt=RW(C$,"dropdown",t=>t,XEt),KEt=t=>m.createElement(JEt,Object.assign({},t),m.createElement("span",null));C$._InternalPanelDoNotUseOrYouWillBeFired=KEt;var lGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){o.prototype.weekday=function(i){var r=this.$locale().weekStart||0,a=this.$W,l=(a25){var u=a(this).startOf(o).add(1,o).date(c),d=a(this).endOf(n);if(u.isBefore(d))return 1}var f=a(this).startOf(o).date(c).startOf(n).subtract(1,"millisecond"),p=this.diff(f,n,!0);return p<0?a(this).startOf("week").week():Math.ceil(p)},l.weeks=function(s){return s===void 0&&(s=null),this.week(s)}}})})(cGe);var ekt=cGe.exports;const tkt=kr(ekt);var uGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){o.prototype.weekYear=function(){var i=this.month(),r=this.week(),a=this.year();return r===1&&i===11?a+1:i===0&&r>=52?a-1:a}}})})(uGe);var nkt=uGe.exports;const okt=kr(nkt);var dGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){var i=o.prototype,r=i.format;i.format=function(a){var l=this,s=this.$locale();if(!this.isValid())return r.bind(this)(a);var c=this.$utils(),u=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(d){switch(d){case"Q":return Math.ceil((l.$M+1)/3);case"Do":return s.ordinal(l.$D);case"gggg":return l.weekYear();case"GGGG":return l.isoWeekYear();case"wo":return s.ordinal(l.week(),"W");case"w":case"ww":return c.s(l.week(),d==="w"?1:2,"0");case"W":case"WW":return c.s(l.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return c.s(String(l.$H===0?24:l.$H),d==="k"?1:2,"0");case"X":return Math.floor(l.$d.getTime()/1e3);case"x":return l.$d.getTime();case"z":return"["+l.offsetName()+"]";case"zzz":return"["+l.offsetName("long")+"]";default:return d}});return r.bind(this)(u)}}})})(dGe);var ikt=dGe.exports;const rkt=kr(ikt);var fGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},o=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,r=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,l={},s=function(y){return(y=+y)+(y>68?1900:2e3)},c=function(y){return function(A){this[y]=+A}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(y){(this.zone||(this.zone={})).offset=function(A){if(!A||A==="Z")return 0;var x=A.match(/([+-]|\d\d)/g),C=60*x[1]+(+x[2]||0);return C===0?0:x[0]==="+"?-C:C}(y)}],d=function(y){var A=l[y];return A&&(A.indexOf?A:A.s.concat(A.f))},f=function(y,A){var x,C=l.meridiem;if(C){for(var b=1;b<=24;b+=1)if(y.indexOf(C(b,0,A))>-1){x=b>12;break}}else x=y===(A?"pm":"PM");return x},p={A:[a,function(y){this.afternoon=f(y,!1)}],a:[a,function(y){this.afternoon=f(y,!0)}],S:[/\d/,function(y){this.milliseconds=100*+y}],SS:[i,function(y){this.milliseconds=10*+y}],SSS:[/\d{3}/,function(y){this.milliseconds=+y}],s:[r,c("seconds")],ss:[r,c("seconds")],m:[r,c("minutes")],mm:[r,c("minutes")],H:[r,c("hours")],h:[r,c("hours")],HH:[r,c("hours")],hh:[r,c("hours")],D:[r,c("day")],DD:[i,c("day")],Do:[a,function(y){var A=l.ordinal,x=y.match(/\d+/);if(this.day=x[0],A)for(var C=1;C<=31;C+=1)A(C).replace(/\[|\]/g,"")===y&&(this.day=C)}],M:[r,c("month")],MM:[i,c("month")],MMM:[a,function(y){var A=d("months"),x=(d("monthsShort")||A.map(function(C){return C.slice(0,3)})).indexOf(y)+1;if(x<1)throw new Error;this.month=x%12||x}],MMMM:[a,function(y){var A=d("months").indexOf(y)+1;if(A<1)throw new Error;this.month=A%12||A}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(y){this.year=s(y)}],YYYY:[/\d{4}/,c("year")],Z:u,ZZ:u};function g(y){var A,x;A=y,x=l&&l.formats;for(var C=(y=A.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(R,H,D){var E=D&&D.toUpperCase();return H||x[D]||n[D]||x[E].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(L,U,F){return U||F.slice(1)})})).match(o),b=C.length,v=0;v-1)return new Date((B==="X"?1e3:1)*W);var N=g(B)(W),j=N.year,Y=N.month,_=N.day,J=N.hours,Q=N.minutes,ee=N.seconds,$=N.milliseconds,q=N.zone,le=new Date,ie=_||(j||Y?1:le.getDate()),pe=j||le.getFullYear(),ne=0;j&&!Y||(ne=Y>0?Y-1:le.getMonth());var Z=J||0,he=Q||0,fe=ee||0,se=$||0;return q?new Date(Date.UTC(pe,ne,ie,Z,he,fe,se+60*q.offset*1e3)):k?new Date(Date.UTC(pe,ne,ie,Z,he,fe,se)):new Date(pe,ne,ie,Z,he,fe,se)}catch{return new Date("")}}(S,P,w),this.init(),E&&E!==!0&&(this.$L=this.locale(E).$L),D&&S!=this.format(P)&&(this.$d=new Date("")),l={}}else if(P instanceof Array)for(var L=P.length,U=1;U<=L;U+=1){T[1]=P[U-1];var F=x.apply(this,T);if(F.isValid()){this.$d=F.$d,this.$L=F.$L,this.init();break}U===L&&(this.$d=new Date(""))}else b.call(this,v)}}})})(fGe);var akt=fGe.exports;const lkt=kr(akt);gc.extend(lkt);gc.extend(rkt);gc.extend($Et);gc.extend(ZEt);gc.extend(tkt);gc.extend(okt);gc.extend(function(t,e){var n=e.prototype,o=n.format;n.format=function(r){var a=(r||"").replace("Wo","wo");return o.bind(this)(a)}});var skt={bn_BD:"bn-bd",by_BY:"be",en_GB:"en-gb",en_US:"en",fr_BE:"fr",fr_CA:"fr-ca",hy_AM:"hy-am",kmr_IQ:"ku",nl_BE:"nl-be",pt_BR:"pt-br",zh_CN:"zh-cn",zh_HK:"zh-hk",zh_TW:"zh-tw"},Y8=function(e){var n=skt[e];return n||e.split("_")[0]},xve=function(){xYe(!1,"Not match any format. Please help to fire a issue about this.")},ckt={getNow:function(){return gc()},getFixedDate:function(e){return gc(e,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function(e){return e.endOf("month")},getWeekDay:function(e){var n=e.locale("en");return n.weekday()+n.localeData().firstDayOfWeek()},getYear:function(e){return e.year()},getMonth:function(e){return e.month()},getDate:function(e){return e.date()},getHour:function(e){return e.hour()},getMinute:function(e){return e.minute()},getSecond:function(e){return e.second()},getMillisecond:function(e){return e.millisecond()},addYear:function(e,n){return e.add(n,"year")},addMonth:function(e,n){return e.add(n,"month")},addDate:function(e,n){return e.add(n,"day")},setYear:function(e,n){return e.year(n)},setMonth:function(e,n){return e.month(n)},setDate:function(e,n){return e.date(n)},setHour:function(e,n){return e.hour(n)},setMinute:function(e,n){return e.minute(n)},setSecond:function(e,n){return e.second(n)},setMillisecond:function(e,n){return e.millisecond(n)},isAfter:function(e,n){return e.isAfter(n)},isValidate:function(e){return e.isValid()},locale:{getWeekFirstDay:function(e){return gc().locale(Y8(e)).localeData().firstDayOfWeek()},getWeekFirstDate:function(e,n){return n.locale(Y8(e)).weekday(0)},getWeek:function(e,n){return n.locale(Y8(e)).week()},getShortWeekDays:function(e){return gc().locale(Y8(e)).localeData().weekdaysMin()},getShortMonths:function(e){return gc().locale(Y8(e)).localeData().monthsShort()},format:function(e,n,o){return n.locale(Y8(e)).format(o)},parse:function(e,n,o){for(var i=Y8(e),r=0;r2&&arguments[2]!==void 0?arguments[2]:"0",o=String(t);o.length2&&arguments[2]!==void 0?arguments[2]:[],o=m.useState([!1,!1]),i=on(o,2),r=i[0],a=i[1],l=function(u,d){a(function(f){return uE(f,d,u)})},s=m.useMemo(function(){return r.map(function(c,u){if(c)return!0;var d=t[u];return d?!!(!n[u]&&!d||d&&e(d,{activeIndex:u})):!1})},[t,r,e,n]);return[s,l]}function AGe(t,e,n,o,i){var r="",a=[];return t&&a.push(i?"hh":"HH"),e&&a.push("mm"),n&&a.push("ss"),r=a.join(":"),o&&(r+=".SSS"),i&&(r+=" A"),r}function dkt(t,e,n,o,i,r){var a=t.fieldDateTimeFormat,l=t.fieldDateFormat,s=t.fieldTimeFormat,c=t.fieldMonthFormat,u=t.fieldYearFormat,d=t.fieldWeekFormat,f=t.fieldQuarterFormat,p=t.yearFormat,g=t.cellYearFormat,y=t.cellQuarterFormat,A=t.dayFormat,x=t.cellDateFormat,C=AGe(e,n,o,i,r);return $t($t({},t),{},{fieldDateTimeFormat:a||"YYYY-MM-DD ".concat(C),fieldDateFormat:l||"YYYY-MM-DD",fieldTimeFormat:s||C,fieldMonthFormat:c||"YYYY-MM",fieldYearFormat:u||"YYYY",fieldWeekFormat:d||"gggg-wo",fieldQuarterFormat:f||"YYYY-[Q]Q",yearFormat:p||"YYYY",cellYearFormat:g||"YYYY",cellQuarterFormat:y||"[Q]Q",cellDateFormat:x||A||"D"})}function wGe(t,e){var n=e.showHour,o=e.showMinute,i=e.showSecond,r=e.showMillisecond,a=e.use12Hours;return Se.useMemo(function(){return dkt(t,n,o,i,r,a)},[t,n,o,i,r,a])}function Tz(t,e,n){return n??e.some(function(o){return t.includes(o)})}var fkt=["showNow","showHour","showMinute","showSecond","showMillisecond","use12Hours","hourStep","minuteStep","secondStep","millisecondStep","hideDisabledOptions","defaultValue","disabledHours","disabledMinutes","disabledSeconds","disabledMilliseconds","disabledTime","changeOnScroll","defaultOpenValue"];function hkt(t){var e=R$(t,fkt),n=t.format,o=t.picker,i=null;return n&&(i=n,Array.isArray(i)&&(i=i[0]),i=gr(i)==="object"?i.format:i),o==="time"&&(e.format=i),[e,i]}function pkt(t){return t&&typeof t=="string"}function vGe(t,e,n,o){return[t,e,n,o].some(function(i){return i!==void 0})}function xGe(t,e,n,o,i){var r=e,a=n,l=o;if(!t&&!r&&!a&&!l&&!i)r=!0,a=!0,l=!0;else if(t){var s,c,u,d=[r,a,l].some(function(g){return g===!1}),f=[r,a,l].some(function(g){return g===!0}),p=d?!0:!f;r=(s=r)!==null&&s!==void 0?s:p,a=(c=a)!==null&&c!==void 0?c:p,l=(u=l)!==null&&u!==void 0?u:p}return[r,a,l,i]}function bGe(t){var e=t.showTime,n=hkt(t),o=on(n,2),i=o[0],r=o[1],a=e&&gr(e)==="object"?e:{},l=$t($t({defaultOpenValue:a.defaultOpenValue||a.defaultValue},i),a),s=l.showMillisecond,c=l.showHour,u=l.showMinute,d=l.showSecond,f=vGe(c,u,d,s),p=xGe(f,c,u,d,s),g=on(p,3);return c=g[0],u=g[1],d=g[2],[l,$t($t({},l),{},{showHour:c,showMinute:u,showSecond:d,showMillisecond:s}),l.format,r]}function SGe(t,e,n,o,i){var r=t==="time";if(t==="datetime"||r){for(var a=o,l=pGe(t,i,null),s=l,c=[e,n],u=0;u1&&(a=e.addDate(a,-7)),a}function ku(t,e){var n=e.generateConfig,o=e.locale,i=e.format;return t?typeof i=="function"?i(t):n.locale.format(o.locale,t,i):""}function CG(t,e,n){var o=e,i=["getHour","getMinute","getSecond","getMillisecond"],r=["setHour","setMinute","setSecond","setMillisecond"];return r.forEach(function(a,l){n?o=t[a](o,t[i[l]](n)):o=t[a](o,0)}),o}function Akt(t,e,n,o,i){var r=Ia(function(a,l){return!!(n&&n(a,l)||o&&t.isAfter(o,a)&&!lh(t,e,o,a,l.type)||i&&t.isAfter(a,i)&&!lh(t,e,i,a,l.type))});return r}function wkt(t,e,n){return m.useMemo(function(){var o=pGe(t,e,n),i=Ib(o),r=i[0],a=gr(r)==="object"&&r.type==="mask"?r.format:null;return[i.map(function(l){return typeof l=="string"||typeof l=="function"?l:l.format}),a]},[t,e,n])}function vkt(t,e,n){return typeof t[0]=="function"||n?!0:e}function xkt(t,e,n,o){var i=Ia(function(r,a){var l=$t({type:e},a);if(delete l.activeIndex,!t.isValidate(r)||n&&n(r,l))return!0;if((e==="date"||e==="time")&&o){var s,c=a&&a.activeIndex===1?"end":"start",u=((s=o.disabledTime)===null||s===void 0?void 0:s.call(o,r,c,{from:l.from}))||{},d=u.disabledHours,f=u.disabledMinutes,p=u.disabledSeconds,g=u.disabledMilliseconds,y=o.disabledHours,A=o.disabledMinutes,x=o.disabledSeconds,C=d||y,b=f||A,v=p||x,S=t.getHour(r),w=t.getMinute(r),T=t.getSecond(r),P=t.getMillisecond(r);if(C&&C().includes(S)||b&&b(S).includes(w)||v&&v(S,w).includes(T)||g&&g(S,w,T).includes(P))return!0}return!1});return i}function gY(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=m.useMemo(function(){var o=t&&Ib(t);return e&&o&&(o[1]=o[1]||o[0]),o},[t,e]);return n}function CGe(t,e){var n=t.generateConfig,o=t.locale,i=t.picker,r=i===void 0?"date":i,a=t.prefixCls,l=a===void 0?"rc-picker":a,s=t.styles,c=s===void 0?{}:s,u=t.classNames,d=u===void 0?{}:u,f=t.order,p=f===void 0?!0:f,g=t.components,y=g===void 0?{}:g,A=t.inputRender,x=t.allowClear,C=t.clearIcon,b=t.needConfirm,v=t.multiple,S=t.format,w=t.inputReadOnly,T=t.disabledDate,P=t.minDate,R=t.maxDate,H=t.showTime,D=t.value,E=t.defaultValue,L=t.pickerValue,U=t.defaultPickerValue,F=gY(D),W=gY(E),B=gY(L),k=gY(U),N=r==="date"&&H?"datetime":r,j=N==="time"||N==="datetime",Y=j||v,_=b??j,J=bGe(t),Q=on(J,4),ee=Q[0],$=Q[1],q=Q[2],le=Q[3],ie=wGe(o,$),pe=m.useMemo(function(){return SGe(N,q,le,ee,ie)},[N,q,le,ee,ie]),ne=m.useMemo(function(){return $t($t({},t),{},{prefixCls:l,locale:ie,picker:r,styles:c,classNames:d,order:p,components:$t({input:A},y),clearIcon:gkt(l,x,C),showTime:pe,value:F,defaultValue:W,pickerValue:B,defaultPickerValue:k},e==null?void 0:e())},[t]),Z=wkt(N,ie,S),he=on(Z,2),fe=he[0],se=he[1],oe=vkt(fe,w,v),de=Akt(n,o,T,P,R),ve=xkt(n,r,de,pe),Pe=m.useMemo(function(){return $t($t({},ne),{},{needConfirm:_,inputReadOnly:oe,disabledDate:de})},[ne,_,oe,de]);return[Pe,N,Y,fe,se,ve]}function bkt(t,e,n){var o=Rs(e,{value:t}),i=on(o,2),r=i[0],a=i[1],l=Se.useRef(t),s=Se.useRef(),c=function(){za.cancel(s.current)},u=Ia(function(){a(l.current),n&&r!==l.current&&n(l.current)}),d=Ia(function(f,p){c(),l.current=f,f||p?u():s.current=za(u)});return Se.useEffect(function(){return c},[]),[r,d]}function RGe(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],o=arguments.length>3?arguments[3]:void 0,i=n.every(function(u){return u})?!1:t,r=bkt(i,e||!1,o),a=on(r,2),l=a[0],s=a[1];function c(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(!d.inherit||l)&&s(u,d.force)}return[l,c]}function HGe(t){var e=m.useRef();return m.useImperativeHandle(t,function(){var n;return{nativeElement:(n=e.current)===null||n===void 0?void 0:n.nativeElement,focus:function(i){var r;(r=e.current)===null||r===void 0||r.focus(i)},blur:function(){var i;(i=e.current)===null||i===void 0||i.blur()}}}),e}function MGe(t,e){return m.useMemo(function(){return t||(e?(U0(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries(e).map(function(n){var o=on(n,2),i=o[0],r=o[1];return{label:i,value:r}})):[])},[t,e])}function wme(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,o=m.useRef(e);o.current=e,sx(function(){if(t)o.current(t);else{var i=za(function(){o.current(t)},n);return function(){za.cancel(i)}}},[t])}function IGe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=m.useState(0),o=on(n,2),i=o[0],r=o[1],a=m.useState(!1),l=on(a,2),s=l[0],c=l[1],u=m.useRef([]),d=m.useRef(null),f=function(A){c(A)},p=function(A){return A&&(d.current=A),d.current},g=function(A){var x=u.current,C=new Set(x.filter(function(v){return A[v]||e[v]})),b=x[x.length-1]===0?1:0;return C.size>=2||t[b]?null:b};return wme(s,function(){s||(u.current=[])}),m.useEffect(function(){s&&u.current.push(i)},[s,i]),[s,f,p,i,r,g,u.current]}function Skt(t,e,n,o,i,r){var a=n[n.length-1],l=function(c,u){var d=on(t,2),f=d[0],p=d[1],g=$t($t({},u),{},{from:gGe(t,n)});return a===1&&e[0]&&f&&!lh(o,i,f,c,g.type)&&o.isAfter(f,c)||a===0&&e[1]&&p&&!lh(o,i,p,c,g.type)&&o.isAfter(c,p)?!0:r==null?void 0:r(c,g)};return l}function yD(t,e,n,o){switch(e){case"date":case"week":return t.addMonth(n,o);case"month":case"quarter":return t.addYear(n,o);case"year":return t.addYear(n,o*10);case"decade":return t.addYear(n,o*100);default:return n}}var Fie=[];function zGe(t,e,n,o,i,r,a,l){var s=arguments.length>8&&arguments[8]!==void 0?arguments[8]:Fie,c=arguments.length>9&&arguments[9]!==void 0?arguments[9]:Fie,u=arguments.length>10&&arguments[10]!==void 0?arguments[10]:Fie,d=arguments.length>11?arguments[11]:void 0,f=arguments.length>12?arguments[12]:void 0,p=arguments.length>13?arguments[13]:void 0,g=a==="time",y=r||0,A=function(B){var k=t.getNow();return g&&(k=CG(t,k)),s[B]||n[B]||k},x=on(c,2),C=x[0],b=x[1],v=Rs(function(){return A(0)},{value:C}),S=on(v,2),w=S[0],T=S[1],P=Rs(function(){return A(1)},{value:b}),R=on(P,2),H=R[0],D=R[1],E=m.useMemo(function(){var W=[w,H][y];return g?W:CG(t,W,u[y])},[g,w,H,y,t,u]),L=function(B){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"panel",N=[T,D][y];N(B);var j=[w,H];j[y]=B,d&&(!lh(t,e,w,j[0],a)||!lh(t,e,H,j[1],a))&&d(j,{source:k,range:y===1?"end":"start",mode:o})},U=function(B,k){if(l){var N={date:"month",week:"month",month:"year",quarter:"year"},j=N[a];if(j&&!lh(t,e,B,k,j))return yD(t,a,k,-1);if(a==="year"){var Y=Math.floor(t.getYear(B)/10),_=Math.floor(t.getYear(k)/10);if(Y!==_)return yD(t,a,k,-1)}}return k},F=m.useRef(null);return Ba(function(){if(i&&!s[y]){var W=g?null:t.getNow();if(F.current!==null&&F.current!==y?W=[w,H][y^1]:n[y]?W=y===0?n[0]:U(n[0],n[1]):n[y^1]&&(W=n[y^1]),W){f&&t.isAfter(f,W)&&(W=f);var B=l?yD(t,a,W,1):W;p&&t.isAfter(B,p)&&(W=l?yD(t,a,p,-1):p),L(W,"reset")}}},[i,y,n[y]]),m.useEffect(function(){i?F.current=y:F.current=null},[i,y]),Ba(function(){i&&s&&s[y]&&L(s[y],"reset")},[i,y]),[E,L]}function DGe(t,e){var n=m.useRef(t),o=m.useState({}),i=on(o,2),r=i[1],a=function(c){return c&&e!==void 0?e:n.current},l=function(c){n.current=c,r({})};return[a,l,a(!0)]}var Tkt=[];function EGe(t,e,n){var o=function(a){return a.map(function(l){return ku(l,{generateConfig:t,locale:e,format:n[0]})})},i=function(a,l){for(var s=Math.max(a.length,l.length),c=-1,u=0;u2&&arguments[2]!==void 0?arguments[2]:1,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:2,a=[],l=n>=1?n|0:1,s=t;s<=e;s+=l){var c=i.includes(s);(!c||!o)&&a.push({label:gme(s,r),value:s,disabled:c})}return a}function vme(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,o=e||{},i=o.use12Hours,r=o.hourStep,a=r===void 0?1:r,l=o.minuteStep,s=l===void 0?1:l,c=o.secondStep,u=c===void 0?1:c,d=o.millisecondStep,f=d===void 0?100:d,p=o.hideDisabledOptions,g=o.disabledTime,y=o.disabledHours,A=o.disabledMinutes,x=o.disabledSeconds,C=m.useMemo(function(){return n||t.getNow()},[n,t]),b=m.useCallback(function(k){var N=(g==null?void 0:g(k))||{};return[N.disabledHours||y||mY,N.disabledMinutes||A||mY,N.disabledSeconds||x||mY,N.disabledMilliseconds||mY]},[g,y,A,x]),v=m.useMemo(function(){return b(C)},[C,b]),S=on(v,4),w=S[0],T=S[1],P=S[2],R=S[3],H=m.useCallback(function(k,N,j,Y){var _=yY(0,23,a,p,k()),J=i?_.map(function(q){return $t($t({},q),{},{label:gme(q.value%12||12,2)})}):_,Q=function(le){return yY(0,59,s,p,N(le))},ee=function(le,ie){return yY(0,59,u,p,j(le,ie))},$=function(le,ie,pe){return yY(0,999,f,p,Y(le,ie,pe),3)};return[J,Q,ee,$]},[p,a,i,f,s,u]),D=m.useMemo(function(){return H(w,T,P,R)},[H,w,T,P,R]),E=on(D,4),L=E[0],U=E[1],F=E[2],W=E[3],B=function(N,j){var Y=function(){return L},_=U,J=F,Q=W;if(j){var ee=b(j),$=on(ee,4),q=$[0],le=$[1],ie=$[2],pe=$[3],ne=H(q,le,ie,pe),Z=on(ne,4),he=Z[0],fe=Z[1],se=Z[2],oe=Z[3];Y=function(){return he},_=fe,J=se,Q=oe}var de=Ckt(N,Y,_,J,Q,t);return de};return[B,L,U,F,W]}function Rkt(t){var e=t.mode,n=t.internalMode,o=t.renderExtraFooter,i=t.showNow,r=t.showTime,a=t.onSubmit,l=t.onNow,s=t.invalid,c=t.needConfirm,u=t.generateConfig,d=t.disabledDate,f=m.useContext($2),p=f.prefixCls,g=f.locale,y=f.button,A=y===void 0?"button":y,x=u.getNow(),C=vme(u,r,x),b=on(C,1),v=b[0],S=o==null?void 0:o(e),w=d(x,{type:e}),T=function(){if(!w){var U=v(x);l(U)}},P="".concat(p,"-now"),R="".concat(P,"-btn"),H=i&&m.createElement("li",{className:P},m.createElement("a",{className:Vn(R,w&&"".concat(R,"-disabled")),"aria-disabled":w,onClick:T},n==="date"?g.today:g.now)),D=c&&m.createElement("li",{className:"".concat(p,"-ok")},m.createElement(A,{disabled:s,onClick:a},g.ok)),E=(H||D)&&m.createElement("ul",{className:"".concat(p,"-ranges")},H,D);return!S&&!E?null:m.createElement("div",{className:"".concat(p,"-footer")},S&&m.createElement("div",{className:"".concat(p,"-footer-extra")},S),E)}function NGe(t,e,n){function o(i,r){var a=i.findIndex(function(s){return lh(t,e,s,r,n)});if(a===-1)return[].concat(Wo(i),[r]);var l=Wo(i);return l.splice(a,1),l}return o}var zb=m.createContext(null);function M$(){return m.useContext(zb)}function kH(t,e){var n=t.prefixCls,o=t.generateConfig,i=t.locale,r=t.disabledDate,a=t.minDate,l=t.maxDate,s=t.cellRender,c=t.hoverValue,u=t.hoverRangeValue,d=t.onHover,f=t.values,p=t.pickerValue,g=t.onSelect,y=t.prevIcon,A=t.nextIcon,x=t.superPrevIcon,C=t.superNextIcon,b=o.getNow(),v={now:b,values:f,pickerValue:p,prefixCls:n,disabledDate:r,minDate:a,maxDate:l,cellRender:s,hoverValue:c,hoverRangeValue:u,onHover:d,locale:i,generateConfig:o,onSelect:g,panelType:e,prevIcon:y,nextIcon:A,superPrevIcon:x,superNextIcon:C};return[v,b]}var Fw=m.createContext({});function zW(t){for(var e=t.rowNum,n=t.colNum,o=t.baseDate,i=t.getCellDate,r=t.prefixColumn,a=t.rowClassName,l=t.titleFormat,s=t.getCellText,c=t.getCellClassName,u=t.headerCells,d=t.cellSelection,f=d===void 0?!0:d,p=t.disabledDate,g=M$(),y=g.prefixCls,A=g.panelType,x=g.now,C=g.disabledDate,b=g.cellRender,v=g.onHover,S=g.hoverValue,w=g.hoverRangeValue,T=g.generateConfig,P=g.values,R=g.locale,H=g.onSelect,D=p||C,E="".concat(y,"-cell"),L=m.useContext(Fw),U=L.onCellDblClick,F=function(J){return P.some(function(Q){return Q&&lh(T,R,J,Q,A)})},W=[],B=0;B1&&arguments[1]!==void 0?arguments[1]:!1;ze(qe),A==null||A(qe),We&&Ae(qe)},ge=function(qe,We){ie(qe),We&&re(We),Ae(We,qe)},we=function(qe){if(ve(qe),re(qe),le!==v){var We=["decade","year"],De=[].concat(We,["month"]),Fe={quarter:[].concat(We,["quarter"]),week:[].concat(Wo(De),["week"]),date:[].concat(Wo(De),["date"])},_e=Fe[v]||De,ot=_e.indexOf(le),Ye=_e[ot+1];Ye&&ge(Ye,qe)}},ye=m.useMemo(function(){var Le,qe;if(Array.isArray(T)){var We=on(T,2);Le=We[0],qe=We[1]}else Le=T;return!Le&&!qe?null:(Le=Le||qe,qe=qe||Le,i.isAfter(Le,qe)?[qe,Le]:[Le,qe])},[T,i]),Te=mme(P,R,H),Ie=E[pe]||Nkt[pe]||I$,Ce=m.useContext(Fw),Ee=m.useMemo(function(){return $t($t({},Ce),{},{hideHeader:L})},[Ce,L]),Ue="".concat(U,"-panel"),Ne=R$(t,["showWeek","prevIcon","nextIcon","superPrevIcon","superNextIcon","disabledDate","minDate","maxDate","onHover"]);return m.createElement(Fw.Provider,{value:Ee},m.createElement("div",{ref:F,tabIndex:s,className:Vn(Ue,_t({},"".concat(Ue,"-rtl"),r==="rtl"))},m.createElement(Ie,so({},Ne,{showTime:Q,prefixCls:U,locale:_,generateConfig:i,onModeChange:ge,pickerValue:Re,onPickerValueChange:function(qe){re(qe,!0)},value:oe[0],onSelect:we,values:oe,cellRender:Te,hoverRangeValue:ye,hoverValue:w}))))}var Lie=m.memo(m.forwardRef(Ukt));function Bkt(t){var e=t.picker,n=t.multiplePanel,o=t.pickerValue,i=t.onPickerValueChange,r=t.needConfirm,a=t.onSubmit,l=t.range,s=t.hoverValue,c=m.useContext($2),u=c.prefixCls,d=c.generateConfig,f=m.useCallback(function(C,b){return yD(d,e,C,b)},[d,e]),p=m.useMemo(function(){return f(o,1)},[o,f]),g=function(b){i(f(b,-1))},y={onCellDblClick:function(){r&&a()}},A=e==="time",x=$t($t({},t),{},{hoverValue:null,hoverRangeValue:null,hideHeader:A});return l?x.hoverRangeValue=s:x.hoverValue=s,n?m.createElement("div",{className:"".concat(u,"-panels")},m.createElement(Fw.Provider,{value:$t($t({},y),{},{hideNext:!0})},m.createElement(Lie,x)),m.createElement(Fw.Provider,{value:$t($t({},y),{},{hidePrev:!0})},m.createElement(Lie,so({},x,{pickerValue:p,onPickerValueChange:g})))):m.createElement(Fw.Provider,{value:$t({},y)},m.createElement(Lie,x))}function Sve(t){return typeof t=="function"?t():t}function jkt(t){var e=t.prefixCls,n=t.presets,o=t.onClick,i=t.onHover;return n.length?m.createElement("div",{className:"".concat(e,"-presets")},m.createElement("ul",null,n.map(function(r,a){var l=r.label,s=r.value;return m.createElement("li",{key:a,onClick:function(){o(Sve(s))},onMouseEnter:function(){i(Sve(s))},onMouseLeave:function(){i(null)}},l)}))):null}function BGe(t){var e=t.panelRender,n=t.internalMode,o=t.picker,i=t.showNow,r=t.range,a=t.multiple,l=t.activeOffset,s=l===void 0?0:l,c=t.presets,u=t.onPresetHover,d=t.onPresetSubmit,f=t.onFocus,p=t.onBlur,g=t.direction,y=t.value,A=t.onSelect,x=t.isInvalid,C=t.defaultOpenValue,b=t.onOk,v=t.onSubmit,S=m.useContext($2),w=S.prefixCls,T="".concat(w,"-panel"),P=g==="rtl",R=m.useRef(null),H=m.useRef(null),D=m.useState(0),E=on(D,2),L=E[0],U=E[1],F=m.useState(0),W=on(F,2),B=W[0],k=W[1],N=function(he){he.offsetWidth&&U(he.offsetWidth)};m.useEffect(function(){if(r){var Z,he=((Z=R.current)===null||Z===void 0?void 0:Z.offsetWidth)||0,fe=L-he;s<=fe?k(0):k(s+he-L)}},[L,s,r]);function j(Z){return Z.filter(function(he){return he})}var Y=m.useMemo(function(){return j(Ib(y))},[y]),_=o==="time"&&!Y.length,J=m.useMemo(function(){return _?j([C]):Y},[_,Y,C]),Q=_?C:Y,ee=m.useMemo(function(){return J.length?J.some(function(Z){return x(Z)}):!0},[J,x]),$=function(){_&&A(C),b(),v()},q=m.createElement("div",{className:"".concat(w,"-panel-layout")},m.createElement(jkt,{prefixCls:w,presets:c,onClick:d,onHover:u}),m.createElement("div",null,m.createElement(Bkt,so({},t,{value:Q})),m.createElement(Rkt,so({},t,{showNow:a?!1:i,invalid:ee,onSubmit:$}))));e&&(q=e(q));var le="".concat(T,"-container"),ie="marginLeft",pe="marginRight",ne=m.createElement("div",{tabIndex:-1,className:Vn(le,"".concat(w,"-").concat(n,"-panel-container")),style:_t(_t({},P?pe:ie,B),P?ie:pe,"auto"),onFocus:f,onBlur:p},q);return r&&(ne=m.createElement("div",{ref:H,className:Vn("".concat(w,"-range-wrapper"),"".concat(w,"-").concat(o,"-range-wrapper"))},m.createElement("div",{ref:R,className:"".concat(w,"-range-arrow"),style:_t({},P?"right":"left",s)}),m.createElement(xd,{onResize:N},ne))),ne}function jGe(t,e){var n=t.format,o=t.maskFormat,i=t.generateConfig,r=t.locale,a=t.preserveInvalidOnBlur,l=t.inputReadOnly,s=t.required,c=t["aria-required"],u=t.onSubmit,d=t.onFocus,f=t.onBlur,p=t.onInputChange,g=t.onInvalid,y=t.open,A=t.onOpenChange,x=t.onKeyDown,C=t.onChange,b=t.activeHelp,v=t.name,S=t.autoComplete,w=t.id,T=t.value,P=t.invalid,R=t.placeholder,H=t.disabled,D=t.activeIndex,E=t.allHelp,L=t.picker,U=function(_,J){var Q=i.locale.parse(r.locale,_,[J]);return Q&&i.isValidate(Q)?Q:null},F=n[0],W=m.useCallback(function(Y){return ku(Y,{locale:r,format:F,generateConfig:i})},[r,i,F]),B=m.useMemo(function(){return T.map(W)},[T,W]),k=m.useMemo(function(){var Y=L==="time"?8:10,_=typeof F=="function"?F(i.getNow()).length:F.length;return Math.max(Y,_)+2},[F,L,i]),N=function(_){for(var J=0;J=l&&n<=s)return r;var c=Math.min(Math.abs(n-l),Math.abs(n-s));c0?wt:rt));var vt=et+je,ct=rt-wt+1;return String(wt+(ct+vt-wt)%ct)};switch(qe){case"Backspace":case"Delete":We="",De=_e;break;case"ArrowLeft":We="",ot(-1);break;case"ArrowRight":We="",ot(1);break;case"ArrowUp":We="",De=Ye(1);break;case"ArrowDown":We="",De=Ye(-1);break;default:isNaN(Number(qe))||(We=Y+qe,De=We);break}if(We!==null&&(_(We),We.length>=Fe&&(ot(1),_(""))),De!==null){var St=ne.slice(0,de)+gme(De,Fe)+ne.slice(ve);me(St.slice(0,a.length))}pe({})},Ee=m.useRef();Ba(function(){if(!(!L||!a||Ae.current)){if(!fe.match(ne)){me(a);return}return he.current.setSelectionRange(de,ve),Ee.current=za(function(){he.current.setSelectionRange(de,ve)}),function(){za.cancel(Ee.current)}}},[fe,a,L,ne,ee,de,ve,ie,me]);var Ue=a?{onFocus:we,onBlur:Te,onKeyDown:Ce,onMouseDown:re,onMouseUp:ge,onPaste:ze}:{};return m.createElement("div",{ref:Z,className:Vn(H,_t(_t({},"".concat(H,"-active"),n&&i),"".concat(H,"-placeholder"),c))},m.createElement(R,so({ref:he,"aria-invalid":y,autoComplete:"off"},x,{onKeyDown:Ie,onBlur:ye},Ue,{value:ne,onChange:Re})),m.createElement(z$,{type:"suffix",icon:r}),A)}),Jkt=["id","clearIcon","suffixIcon","separator","activeIndex","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","value","onChange","onSubmit","onInputChange","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onActiveOffset","onMouseDown","required","aria-required","autoFocus"],Kkt=["index"];function qkt(t,e){var n=t.id,o=t.clearIcon,i=t.suffixIcon,r=t.separator,a=r===void 0?"~":r,l=t.activeIndex;t.activeHelp,t.allHelp;var s=t.focused;t.onFocus,t.onBlur,t.onKeyDown,t.locale,t.generateConfig;var c=t.placeholder,u=t.className,d=t.style,f=t.onClick,p=t.onClear,g=t.value;t.onChange,t.onSubmit,t.onInputChange,t.format,t.maskFormat,t.preserveInvalidOnBlur,t.onInvalid;var y=t.disabled,A=t.invalid;t.inputReadOnly;var x=t.direction;t.onOpenChange;var C=t.onActiveOffset,b=t.onMouseDown;t.required,t["aria-required"];var v=t.autoFocus,S=ir(t,Jkt),w=x==="rtl",T=m.useContext($2),P=T.prefixCls,R=m.useMemo(function(){if(typeof n=="string")return[n];var le=n||{};return[le.start,le.end]},[n]),H=m.useRef(),D=m.useRef(),E=m.useRef(),L=function(ie){var pe;return(pe=[D,E][ie])===null||pe===void 0?void 0:pe.current};m.useImperativeHandle(e,function(){return{nativeElement:H.current,focus:function(ie){if(gr(ie)==="object"){var pe,ne=ie||{},Z=ne.index,he=Z===void 0?0:Z,fe=ir(ne,Kkt);(pe=L(he))===null||pe===void 0||pe.focus(fe)}else{var se;(se=L(ie??0))===null||se===void 0||se.focus()}},blur:function(){var ie,pe;(ie=L(0))===null||ie===void 0||ie.blur(),(pe=L(1))===null||pe===void 0||pe.blur()}}});var U=YGe(S),F=m.useMemo(function(){return Array.isArray(c)?c:[c,c]},[c]),W=jGe($t($t({},t),{},{id:R,placeholder:F})),B=on(W,1),k=B[0],N=w?"right":"left",j=m.useState(_t({position:"absolute",width:0},N,0)),Y=on(j,2),_=Y[0],J=Y[1],Q=Ia(function(){var le=L(l);if(le){var ie=le.nativeElement,pe=ie.offsetWidth,ne=ie.offsetLeft,Z=ie.offsetParent,he=ne;if(w){var fe=Z,se=getComputedStyle(fe);he=fe.offsetWidth-parseFloat(se.borderRightWidth)-parseFloat(se.borderLeftWidth)-ne-pe}J(function(oe){return $t($t({},oe),{},_t({width:pe},N,he))}),C(l===0?0:he)}});m.useEffect(function(){Q()},[l]);var ee=o&&(g[0]&&!y[0]||g[1]&&!y[1]),$=v&&!y[0],q=v&&!$&&!y[1];return m.createElement(xd,{onResize:Q},m.createElement("div",so({},U,{className:Vn(P,"".concat(P,"-range"),_t(_t(_t(_t({},"".concat(P,"-focused"),s),"".concat(P,"-disabled"),y.every(function(le){return le})),"".concat(P,"-invalid"),A.some(function(le){return le})),"".concat(P,"-rtl"),w),u),style:d,ref:H,onClick:f,onMouseDown:function(ie){var pe=ie.target;pe!==D.current.inputElement&&pe!==E.current.inputElement&&ie.preventDefault(),b==null||b(ie)}}),m.createElement(k0e,so({ref:D},k(0),{autoFocus:$,"date-range":"start"})),m.createElement("div",{className:"".concat(P,"-range-separator")},a),m.createElement(k0e,so({ref:E},k(1),{autoFocus:q,"date-range":"end"})),m.createElement("div",{className:"".concat(P,"-active-bar"),style:_}),m.createElement(z$,{type:"suffix",icon:i}),ee&&m.createElement(E0e,{icon:o,onClear:p})))}var $kt=m.forwardRef(qkt);function Pve(t,e){var n=t??e;return Array.isArray(n)?n:[n,n]}function wY(t){return t===1?"end":"start"}function Qkt(t,e){var n=CGe(t,function(){var bo=t.disabled,Ro=t.allowEmpty,oi=Pve(bo,!1),go=Pve(Ro,!1);return{disabled:oi,allowEmpty:go}}),o=on(n,6),i=o[0],r=o[1],a=o[2],l=o[3],s=o[4],c=o[5],u=i.prefixCls,d=i.styles,f=i.classNames,p=i.defaultValue,g=i.value,y=i.needConfirm,A=i.onKeyDown,x=i.disabled,C=i.allowEmpty,b=i.disabledDate,v=i.minDate,S=i.maxDate,w=i.defaultOpen,T=i.open,P=i.onOpenChange,R=i.locale,H=i.generateConfig,D=i.picker,E=i.showNow,L=i.showToday,U=i.showTime,F=i.mode,W=i.onPanelChange,B=i.onCalendarChange,k=i.onOk,N=i.defaultPickerValue,j=i.pickerValue,Y=i.onPickerValueChange,_=i.inputReadOnly,J=i.suffixIcon,Q=i.onFocus,ee=i.onBlur,$=i.presets,q=i.ranges,le=i.components,ie=i.cellRender,pe=i.dateRender,ne=i.monthCellRender,Z=i.onClick,he=HGe(e),fe=RGe(T,w,x,P),se=on(fe,2),oe=se[0],de=se[1],ve=function(Ro,oi){(x.some(function(go){return!go})||!Ro)&&de(Ro,oi)},Pe=FGe(H,R,l,!0,!1,p,g,B,k),me=on(Pe,5),Re=me[0],ze=me[1],Ae=me[2],re=me[3],ge=me[4],we=Ae(),ye=IGe(x,C),Te=on(ye,7),Ie=Te[0],Ce=Te[1],Ee=Te[2],Ue=Te[3],Ne=Te[4],Le=Te[5],qe=Te[6],We=function(Ro,oi){Ce(!0),Q==null||Q(Ro,{range:wY(oi??Ue)})},De=function(Ro,oi){Ce(!1),ee==null||ee(Ro,{range:wY(oi??Ue)})},Fe=m.useMemo(function(){if(!U)return null;var bo=U.disabledTime,Ro=bo?function(oi){var go=wY(Ue),So=gGe(we,qe,Ue);return bo(oi,go,{from:So})}:void 0;return $t($t({},U),{},{disabledTime:Ro})},[U,Ue,we,qe]),_e=Rs([D,D],{value:F}),ot=on(_e,2),Ye=ot[0],St=ot[1],dt=Ye[Ue]||D,je=dt==="date"&&Fe?"datetime":dt,at=je===D&&je!=="time",ut=WGe(D,dt,E,L,!0),wt=LGe(i,Re,ze,Ae,re,x,l,Ie,oe,c),rt=on(wt,2),Qe=rt[0],Oe=rt[1],et=Skt(we,x,qe,H,R,b),vt=yGe(we,c,C),ct=on(vt,2),lt=ct[0],tt=ct[1],it=zGe(H,R,we,Ye,oe,Ue,r,at,N,j,Fe==null?void 0:Fe.defaultOpenValue,Y,v,S),At=on(it,2),Mt=At[0],st=At[1],ft=Ia(function(bo,Ro,oi){var go=uE(Ye,Ue,Ro);if((go[0]!==Ye[0]||go[1]!==Ye[1])&&St(go),W&&oi!==!1){var So=Wo(we);bo&&(So[Ue]=bo),W(So,go)}}),Rt=function(Ro,oi){return uE(we,oi,Ro)},zt=function(Ro,oi){var go=we;Ro&&(go=Rt(Ro,Ue));var So=Le(go);re(go),Qe(Ue,So===null),So===null?ve(!1,{force:!0}):oi||he.current.focus({index:So})},Xe=function(Ro){if(!he.current.nativeElement.contains(document.activeElement)){var oi=x.findIndex(function(go){return!go});oi>=0&&he.current.focus({index:oi})}ve(!0),Z==null||Z(Ro)},ht=function(){Oe(null),ve(!1,{force:!0})},Je=m.useState(null),mt=on(Je,2),Ge=mt[0],xt=mt[1],It=m.useState(null),Tt=on(It,2),Dt=Tt[0],Lt=Tt[1],Et=m.useMemo(function(){return Dt||we},[we,Dt]);m.useEffect(function(){oe||Lt(null)},[oe]);var an=m.useState(0),Jt=on(an,2),hn=Jt[0],cn=Jt[1],Sn=MGe($,q),Pn=function(Ro){Lt(Ro),xt("preset")},Un=function(Ro){var oi=Oe(Ro);oi&&ve(!1,{force:!0})},Ai=function(Ro){zt(Ro)},vo=function(Ro){Lt(Ro?Rt(Ro,Ue):null),xt("cell")},Oo=function(Ro){ve(!0),We(Ro)},li=function(Ro){Ee("panel");var oi=uE(we,Ue,Ro);re(oi),!y&&!a&&r===je&&zt(Ro)},po=function(){ve(!1)},eo=mme(ie,pe,ne,wY(Ue)),uo=we[Ue]||null,qo=Ia(function(bo){return c(bo,{activeIndex:Ue})}),Hi=m.useMemo(function(){var bo=gf(i,!1),Ro=MH(i,[].concat(Wo(Object.keys(bo)),["onChange","onCalendarChange","style","className","onPanelChange","disabledTime"]));return Ro},[i]),vi=m.createElement(BGe,so({},Hi,{showNow:ut,showTime:Fe,range:!0,multiplePanel:at,activeOffset:hn,disabledDate:et,onFocus:Oo,onBlur:De,picker:D,mode:dt,internalMode:je,onPanelChange:ft,format:s,value:uo,isInvalid:qo,onChange:null,onSelect:li,pickerValue:Mt,defaultOpenValue:Ib(U==null?void 0:U.defaultOpenValue)[Ue],onPickerValueChange:st,hoverValue:Et,onHover:vo,needConfirm:y,onSubmit:zt,onOk:ge,presets:Sn,onPresetHover:Pn,onPresetSubmit:Un,onNow:Ai,cellRender:eo})),Cn=function(Ro,oi){var go=Rt(Ro,oi);re(go)},yn=function(){Ee("input")},to=function(Ro,oi){Ee("input"),ve(!0,{inherit:!0}),Ne(oi),We(Ro,oi)},Do=function(Ro,oi){ve(!1),De(Ro,oi)},ni=function(Ro,oi){Ro.key==="Tab"&&zt(null,!0),A==null||A(Ro,oi)},Fo=m.useMemo(function(){return{prefixCls:u,locale:R,generateConfig:H,button:le.button,input:le.input}},[u,R,H,le.button,le.input]);return Ba(function(){oe&&Ue!==void 0&&ft(null,D,!1)},[oe,Ue,D]),Ba(function(){var bo=Ee();!oe&&bo==="input"&&(ve(!1),zt(null,!0)),!oe&&a&&!y&&bo==="panel"&&(ve(!0),zt())},[oe]),m.createElement($2.Provider,{value:Fo},m.createElement(hGe,so({},mGe(i),{popupElement:vi,popupStyle:d.popup,popupClassName:f.popup,visible:oe,onClose:po,range:!0}),m.createElement($kt,so({},i,{ref:he,suffixIcon:J,activeIndex:Ie||oe?Ue:null,activeHelp:!!Dt,allHelp:!!Dt&&Ge==="preset",focused:Ie,onFocus:to,onBlur:Do,onKeyDown:ni,onSubmit:zt,value:Et,maskFormat:s,onChange:Cn,onInputChange:yn,format:l,inputReadOnly:_,disabled:x,open:oe,onOpenChange:ve,onClick:Xe,onClear:ht,invalid:lt,onInvalid:tt,onActiveOffset:cn}))))}var Zkt=m.forwardRef(Qkt);function eFt(t){var e=t.prefixCls,n=t.value,o=t.onRemove,i=t.removeIcon,r=i===void 0?"×":i,a=t.formatDate,l=t.disabled,s=t.maxTagCount,c=t.placeholder,u="".concat(e,"-selector"),d="".concat(e,"-selection"),f="".concat(d,"-overflow");function p(A,x){return m.createElement("span",{className:Vn("".concat(d,"-item")),title:typeof A=="string"?A:null},m.createElement("span",{className:"".concat(d,"-item-content")},A),!l&&x&&m.createElement("span",{onMouseDown:function(b){b.preventDefault()},onClick:x,className:"".concat(d,"-item-remove")},r))}function g(A){var x=a(A),C=function(v){v&&v.stopPropagation(),o(A)};return p(x,C)}function y(A){var x="+ ".concat(A.length," ...");return p(x)}return m.createElement("div",{className:u},m.createElement(H2,{prefixCls:f,data:n,renderItem:g,renderRest:y,itemKey:function(x){return a(x)},maxCount:s}),!n.length&&m.createElement("span",{className:"".concat(e,"-selection-placeholder")},c))}var tFt=["id","open","clearIcon","suffixIcon","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","internalPicker","value","onChange","onSubmit","onInputChange","multiple","maxTagCount","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onMouseDown","required","aria-required","autoFocus","removeIcon"];function nFt(t,e){t.id;var n=t.open,o=t.clearIcon,i=t.suffixIcon;t.activeHelp,t.allHelp;var r=t.focused;t.onFocus,t.onBlur,t.onKeyDown;var a=t.locale,l=t.generateConfig,s=t.placeholder,c=t.className,u=t.style,d=t.onClick,f=t.onClear,p=t.internalPicker,g=t.value,y=t.onChange,A=t.onSubmit;t.onInputChange;var x=t.multiple,C=t.maxTagCount;t.format,t.maskFormat,t.preserveInvalidOnBlur,t.onInvalid;var b=t.disabled,v=t.invalid;t.inputReadOnly;var S=t.direction;t.onOpenChange;var w=t.onMouseDown;t.required,t["aria-required"];var T=t.autoFocus,P=t.removeIcon,R=ir(t,tFt),H=S==="rtl",D=m.useContext($2),E=D.prefixCls,L=m.useRef(),U=m.useRef();m.useImperativeHandle(e,function(){return{nativeElement:L.current,focus:function(ee){var $;($=U.current)===null||$===void 0||$.focus(ee)},blur:function(){var ee;(ee=U.current)===null||ee===void 0||ee.blur()}}});var F=YGe(R),W=function(ee){y([ee])},B=function(ee){var $=g.filter(function(q){return q&&!lh(l,a,q,ee,p)});y($),n||A()},k=jGe($t($t({},t),{},{onChange:W}),function(Q){var ee=Q.valueTexts;return{value:ee[0]||"",active:r}}),N=on(k,2),j=N[0],Y=N[1],_=!!(o&&g.length&&!b),J=x?m.createElement(m.Fragment,null,m.createElement(eFt,{prefixCls:E,value:g,onRemove:B,formatDate:Y,maxTagCount:C,disabled:b,removeIcon:P,placeholder:s}),m.createElement("input",{className:"".concat(E,"-multiple-input"),value:g.map(Y).join(","),ref:U,readOnly:!0,autoFocus:T}),m.createElement(z$,{type:"suffix",icon:i}),_&&m.createElement(E0e,{icon:o,onClear:f})):m.createElement(k0e,so({ref:U},j(),{autoFocus:T,suffixIcon:i,clearIcon:_&&m.createElement(E0e,{icon:o,onClear:f}),showActiveCls:!1}));return m.createElement("div",so({},F,{className:Vn(E,_t(_t(_t(_t(_t({},"".concat(E,"-multiple"),x),"".concat(E,"-focused"),r),"".concat(E,"-disabled"),b),"".concat(E,"-invalid"),v),"".concat(E,"-rtl"),H),c),style:u,ref:L,onClick:d,onMouseDown:function(ee){var $,q=ee.target;q!==(($=U.current)===null||$===void 0?void 0:$.inputElement)&&ee.preventDefault(),w==null||w(ee)}}),J)}var oFt=m.forwardRef(nFt);function iFt(t,e){var n=CGe(t),o=on(n,6),i=o[0],r=o[1],a=o[2],l=o[3],s=o[4],c=o[5],u=i,d=u.prefixCls,f=u.styles,p=u.classNames,g=u.order,y=u.defaultValue,A=u.value,x=u.needConfirm,C=u.onChange,b=u.onKeyDown,v=u.disabled,S=u.disabledDate,w=u.minDate,T=u.maxDate,P=u.defaultOpen,R=u.open,H=u.onOpenChange,D=u.locale,E=u.generateConfig,L=u.picker,U=u.showNow,F=u.showToday,W=u.showTime,B=u.mode,k=u.onPanelChange,N=u.onCalendarChange,j=u.onOk,Y=u.multiple,_=u.defaultPickerValue,J=u.pickerValue,Q=u.onPickerValueChange,ee=u.inputReadOnly,$=u.suffixIcon,q=u.removeIcon,le=u.onFocus,ie=u.onBlur,pe=u.presets,ne=u.components,Z=u.cellRender,he=u.dateRender,fe=u.monthCellRender,se=u.onClick,oe=HGe(e);function de(yn){return yn===null?null:Y?yn:yn[0]}var ve=NGe(E,D,r),Pe=RGe(R,P,[v],H),me=on(Pe,2),Re=me[0],ze=me[1],Ae=function(to,Do,ni){if(N){var Fo=$t({},ni);delete Fo.range,N(de(to),de(Do),Fo)}},re=function(to){j==null||j(de(to))},ge=FGe(E,D,l,!1,g,y,A,Ae,re),we=on(ge,5),ye=we[0],Te=we[1],Ie=we[2],Ce=we[3],Ee=we[4],Ue=Ie(),Ne=IGe([v]),Le=on(Ne,4),qe=Le[0],We=Le[1],De=Le[2],Fe=Le[3],_e=function(to){We(!0),le==null||le(to,{})},ot=function(to){We(!1),ie==null||ie(to,{})},Ye=Rs(L,{value:B}),St=on(Ye,2),dt=St[0],je=St[1],at=dt==="date"&&W?"datetime":dt,ut=WGe(L,dt,U,F),wt=C&&function(yn,to){C(de(yn),de(to))},rt=LGe($t($t({},i),{},{onChange:wt}),ye,Te,Ie,Ce,[],l,qe,Re,c),Qe=on(rt,2),Oe=Qe[1],et=yGe(Ue,c),vt=on(et,2),ct=vt[0],lt=vt[1],tt=m.useMemo(function(){return ct.some(function(yn){return yn})},[ct]),it=function(to,Do){if(Q){var ni=$t($t({},Do),{},{mode:Do.mode[0]});delete ni.range,Q(to[0],ni)}},At=zGe(E,D,Ue,[dt],Re,Fe,r,!1,_,J,Ib(W==null?void 0:W.defaultOpenValue),it,w,T),Mt=on(At,2),st=Mt[0],ft=Mt[1],Rt=Ia(function(yn,to,Do){if(je(to),k&&Do!==!1){var ni=yn||Ue[Ue.length-1];k(ni,to)}}),zt=function(){Oe(Ie()),ze(!1,{force:!0})},Xe=function(to){!v&&!oe.current.nativeElement.contains(document.activeElement)&&oe.current.focus(),ze(!0),se==null||se(to)},ht=function(){Oe(null),ze(!1,{force:!0})},Je=m.useState(null),mt=on(Je,2),Ge=mt[0],xt=mt[1],It=m.useState(null),Tt=on(It,2),Dt=Tt[0],Lt=Tt[1],Et=m.useMemo(function(){var yn=[Dt].concat(Wo(Ue)).filter(function(to){return to});return Y?yn:yn.slice(0,1)},[Ue,Dt,Y]),an=m.useMemo(function(){return!Y&&Dt?[Dt]:Ue.filter(function(yn){return yn})},[Ue,Dt,Y]);m.useEffect(function(){Re||Lt(null)},[Re]);var Jt=MGe(pe),hn=function(to){Lt(to),xt("preset")},cn=function(to){var Do=Y?ve(Ie(),to):[to],ni=Oe(Do);ni&&!Y&&ze(!1,{force:!0})},Sn=function(to){cn(to)},Pn=function(to){Lt(to),xt("cell")},Un=function(to){ze(!0),_e(to)},Ai=function(to){De("panel");var Do=Y?ve(Ie(),to):[to];Ce(Do),!x&&!a&&r===at&&zt()},vo=function(){ze(!1)},Oo=mme(Z,he,fe),li=m.useMemo(function(){var yn=gf(i,!1),to=MH(i,[].concat(Wo(Object.keys(yn)),["onChange","onCalendarChange","style","className","onPanelChange"]));return $t($t({},to),{},{multiple:i.multiple})},[i]),po=m.createElement(BGe,so({},li,{showNow:ut,showTime:W,disabledDate:S,onFocus:Un,onBlur:ot,picker:L,mode:dt,internalMode:at,onPanelChange:Rt,format:s,value:Ue,isInvalid:c,onChange:null,onSelect:Ai,pickerValue:st,defaultOpenValue:W==null?void 0:W.defaultOpenValue,onPickerValueChange:ft,hoverValue:Et,onHover:Pn,needConfirm:x,onSubmit:zt,onOk:Ee,presets:Jt,onPresetHover:hn,onPresetSubmit:cn,onNow:Sn,cellRender:Oo})),eo=function(to){Ce(to)},uo=function(){De("input")},qo=function(to){De("input"),ze(!0,{inherit:!0}),_e(to)},Hi=function(to){ze(!1),ot(to)},vi=function(to,Do){to.key==="Tab"&&zt(),b==null||b(to,Do)},Cn=m.useMemo(function(){return{prefixCls:d,locale:D,generateConfig:E,button:ne.button,input:ne.input}},[d,D,E,ne.button,ne.input]);return Ba(function(){Re&&Fe!==void 0&&Rt(null,L,!1)},[Re,Fe,L]),Ba(function(){var yn=De();!Re&&yn==="input"&&(ze(!1),zt()),!Re&&a&&!x&&yn==="panel"&&(ze(!0),zt())},[Re]),m.createElement($2.Provider,{value:Cn},m.createElement(hGe,so({},mGe(i),{popupElement:po,popupStyle:f.popup,popupClassName:p.popup,visible:Re,onClose:vo}),m.createElement(oFt,so({},i,{ref:oe,suffixIcon:$,removeIcon:q,activeHelp:!!Dt,allHelp:!!Dt&&Ge==="preset",focused:qe,onFocus:qo,onBlur:Hi,onKeyDown:vi,onSubmit:zt,value:an,maskFormat:s,onChange:eo,onInputChange:uo,internalPicker:r,format:l,inputReadOnly:ee,disabled:v,open:Re,onOpenChange:ze,onClick:Xe,onClear:ht,invalid:tt,onInvalid:function(to){lt(to,0)}}))))}var rFt=m.forwardRef(iFt);const OGe=m.createContext(null),aFt=OGe.Provider,_Ge=m.createContext(null),lFt=_Ge.Provider;var sFt=["prefixCls","className","style","checked","disabled","defaultChecked","type","title","onChange"],VGe=m.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-checkbox":n,i=t.className,r=t.style,a=t.checked,l=t.disabled,s=t.defaultChecked,c=s===void 0?!1:s,u=t.type,d=u===void 0?"checkbox":u,f=t.title,p=t.onChange,g=ir(t,sFt),y=m.useRef(null),A=Rs(c,{value:a}),x=on(A,2),C=x[0],b=x[1];m.useImperativeHandle(e,function(){return{focus:function(T){var P;(P=y.current)===null||P===void 0||P.focus(T)},blur:function(){var T;(T=y.current)===null||T===void 0||T.blur()},input:y.current}});var v=Vn(o,i,_t(_t({},"".concat(o,"-checked"),C),"".concat(o,"-disabled"),l)),S=function(T){l||("checked"in t||b(T.target.checked),p==null||p({target:$t($t({},t),{},{type:d,checked:T.target.checked}),stopPropagation:function(){T.stopPropagation()},preventDefault:function(){T.preventDefault()},nativeEvent:T.nativeEvent}))};return m.createElement("span",{className:v,title:f,style:r},m.createElement("input",so({},g,{className:"".concat(o,"-input"),ref:y,onChange:S,disabled:l,checked:!!C,type:d})),m.createElement("span",{className:"".concat(o,"-inner")}))});const cFt=t=>{const{componentCls:e,antCls:n}=t,o=`${e}-group`;return{[o]:Object.assign(Object.assign({},$a(t)),{display:"inline-block",fontSize:0,[`&${o}-rtl`]:{direction:"rtl"},[`${n}-badge ${n}-badge-count`]:{zIndex:1},[`> ${n}-badge:not(:first-child) > ${n}-button-wrapper`]:{borderInlineStart:"none"}})}},uFt=t=>{const{componentCls:e,wrapperMarginInlineEnd:n,colorPrimary:o,radioSize:i,motionDurationSlow:r,motionDurationMid:a,motionEaseInOutCirc:l,colorBgContainer:s,colorBorder:c,lineWidth:u,colorBgContainerDisabled:d,colorTextDisabled:f,paddingXS:p,dotColorDisabled:g,lineType:y,radioColor:A,radioBgColor:x,calc:C}=t,b=`${e}-inner`,S=C(i).sub(C(4).mul(2)),w=C(1).mul(i).equal();return{[`${e}-wrapper`]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:n,cursor:"pointer",[`&${e}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:t.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${e}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${Ut(u)} ${y} ${o}`,borderRadius:"50%",visibility:"hidden",opacity:0,content:'""'},[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${e}-wrapper:hover &, - &:hover ${b}`]:{borderColor:o},[`${e}-input:focus-visible + ${b}`]:Object.assign({},n7(t)),[`${e}:hover::after, ${e}-wrapper:hover &::after`]:{visibility:"visible"},[`${e}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:w,height:w,marginBlockStart:C(1).mul(i).div(-2).equal(),marginInlineStart:C(1).mul(i).div(-2).equal(),backgroundColor:A,borderBlockStart:0,borderInlineStart:0,borderRadius:w,transform:"scale(0)",opacity:0,transition:`all ${r} ${l}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:w,height:w,backgroundColor:s,borderColor:c,borderStyle:"solid",borderWidth:u,borderRadius:"50%",transition:`all ${a}`},[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${e}-checked`]:{[b]:{borderColor:o,backgroundColor:x,"&::after":{transform:`scale(${t.calc(t.dotSize).div(i).equal()})`,opacity:1,transition:`all ${r} ${l}`}}},[`${e}-disabled`]:{cursor:"not-allowed",[b]:{backgroundColor:d,borderColor:c,cursor:"not-allowed","&::after":{backgroundColor:g}},[`${e}-input`]:{cursor:"not-allowed"},[`${e}-disabled + span`]:{color:f,cursor:"not-allowed"},[`&${e}-checked`]:{[b]:{"&::after":{transform:`scale(${C(S).div(i).equal({unit:!1})})`}}}},[`span${e} + *`]:{paddingInlineStart:p,paddingInlineEnd:p}})}},dFt=t=>{const{buttonColor:e,controlHeight:n,componentCls:o,lineWidth:i,lineType:r,colorBorder:a,motionDurationSlow:l,motionDurationMid:s,buttonPaddingInline:c,fontSize:u,buttonBg:d,fontSizeLG:f,controlHeightLG:p,controlHeightSM:g,paddingXS:y,borderRadius:A,borderRadiusSM:x,borderRadiusLG:C,buttonCheckedBg:b,buttonSolidCheckedColor:v,colorTextDisabled:S,colorBgContainerDisabled:w,buttonCheckedBgDisabled:T,buttonCheckedColorDisabled:P,colorPrimary:R,colorPrimaryHover:H,colorPrimaryActive:D,buttonSolidCheckedBg:E,buttonSolidCheckedHoverBg:L,buttonSolidCheckedActiveBg:U,calc:F}=t;return{[`${o}-button-wrapper`]:{position:"relative",display:"inline-block",height:n,margin:0,paddingInline:c,paddingBlock:0,color:e,fontSize:u,lineHeight:Ut(F(n).sub(F(i).mul(2)).equal()),background:d,border:`${Ut(i)} ${r} ${a}`,borderBlockStartWidth:F(i).add(.02).equal(),borderInlineStartWidth:0,borderInlineEndWidth:i,cursor:"pointer",transition:[`color ${s}`,`background ${s}`,`box-shadow ${s}`].join(","),a:{color:e},[`> ${o}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:F(i).mul(-1).equal(),insetInlineStart:F(i).mul(-1).equal(),display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:i,paddingInline:0,backgroundColor:a,transition:`background-color ${l}`,content:'""'}},"&:first-child":{borderInlineStart:`${Ut(i)} ${r} ${a}`,borderStartStartRadius:A,borderEndStartRadius:A},"&:last-child":{borderStartEndRadius:A,borderEndEndRadius:A},"&:first-child:last-child":{borderRadius:A},[`${o}-group-large &`]:{height:p,fontSize:f,lineHeight:Ut(F(p).sub(F(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:C,borderEndStartRadius:C},"&:last-child":{borderStartEndRadius:C,borderEndEndRadius:C}},[`${o}-group-small &`]:{height:g,paddingInline:F(y).sub(i).equal(),paddingBlock:0,lineHeight:Ut(F(g).sub(F(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:x,borderEndStartRadius:x},"&:last-child":{borderStartEndRadius:x,borderEndEndRadius:x}},"&:hover":{position:"relative",color:R},"&:has(:focus-visible)":Object.assign({},n7(t)),[`${o}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${o}-button-wrapper-disabled)`]:{zIndex:1,color:R,background:b,borderColor:R,"&::before":{backgroundColor:R},"&:first-child":{borderColor:R},"&:hover":{color:H,borderColor:H,"&::before":{backgroundColor:H}},"&:active":{color:D,borderColor:D,"&::before":{backgroundColor:D}}},[`${o}-group-solid &-checked:not(${o}-button-wrapper-disabled)`]:{color:v,background:E,borderColor:E,"&:hover":{color:v,background:L,borderColor:L},"&:active":{color:v,background:U,borderColor:U}},"&-disabled":{color:S,backgroundColor:w,borderColor:a,cursor:"not-allowed","&:first-child, &:hover":{color:S,backgroundColor:w,borderColor:a}},[`&-disabled${o}-button-wrapper-checked`]:{color:P,backgroundColor:T,borderColor:a,boxShadow:"none"}}}},fFt=t=>{const{wireframe:e,padding:n,marginXS:o,lineWidth:i,fontSizeLG:r,colorText:a,colorBgContainer:l,colorTextDisabled:s,controlItemBgActiveDisabled:c,colorTextLightSolid:u,colorPrimary:d,colorPrimaryHover:f,colorPrimaryActive:p,colorWhite:g}=t,y=4,A=r,x=e?A-y*2:A-(y+i)*2;return{radioSize:A,dotSize:x,dotColorDisabled:s,buttonSolidCheckedColor:u,buttonSolidCheckedBg:d,buttonSolidCheckedHoverBg:f,buttonSolidCheckedActiveBg:p,buttonBg:l,buttonCheckedBg:l,buttonColor:a,buttonCheckedBgDisabled:c,buttonCheckedColorDisabled:s,buttonPaddingInline:n-i,wrapperMarginInlineEnd:o,radioColor:e?d:g,radioBgColor:e?l:d}},GGe=Fl("Radio",t=>{const{controlOutline:e,controlOutlineWidth:n}=t,o=`0 0 0 ${Ut(n)} ${e}`,r=Zr(t,{radioFocusShadow:o,radioButtonFocusShadow:o});return[cFt(r),uFt(r),dFt(r)]},fFt,{unitless:{radioSize:!0,dotSize:!0}});var hFt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const i=m.useContext(OGe),r=m.useContext(_Ge),{getPrefixCls:a,direction:l,radio:s}=m.useContext(Mi),c=m.useRef(null),u=q2(e,c),{isFormItemInput:d}=m.useContext($p),f=U=>{var F,W;(F=t.onChange)===null||F===void 0||F.call(t,U),(W=i==null?void 0:i.onChange)===null||W===void 0||W.call(i,U)},{prefixCls:p,className:g,rootClassName:y,children:A,style:x,title:C}=t,b=hFt(t,["prefixCls","className","rootClassName","children","style","title"]),v=a("radio",p),S=((i==null?void 0:i.optionType)||r)==="button",w=S?`${v}-button`:v,T=j0(v),[P,R,H]=GGe(v,T),D=Object.assign({},b),E=m.useContext(qp);i&&(D.name=i.name,D.onChange=f,D.checked=t.value===i.value,D.disabled=(n=D.disabled)!==null&&n!==void 0?n:i.disabled),D.disabled=(o=D.disabled)!==null&&o!==void 0?o:E;const L=Gn(`${w}-wrapper`,{[`${w}-wrapper-checked`]:D.checked,[`${w}-wrapper-disabled`]:D.disabled,[`${w}-wrapper-rtl`]:l==="rtl",[`${w}-wrapper-in-form-item`]:d},s==null?void 0:s.className,g,y,R,H,T);return P(m.createElement(wW,{component:"Radio",disabled:D.disabled},m.createElement("label",{className:L,style:Object.assign(Object.assign({},s==null?void 0:s.style),x),onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,title:C},m.createElement(VGe,Object.assign({},D,{className:Gn(D.className,!S&&s$),type:"radio",prefixCls:w,ref:u})),A!==void 0?m.createElement("span",null,A):null)))},RG=m.forwardRef(pFt),gFt=m.forwardRef((t,e)=>{const{getPrefixCls:n,direction:o}=m.useContext(Mi),[i,r]=_6(t.defaultValue,{value:t.value}),a=U=>{const F=i,W=U.target.value;"value"in t||r(W);const{onChange:B}=t;B&&W!==F&&B(U)},{prefixCls:l,className:s,rootClassName:c,options:u,buttonStyle:d="outline",disabled:f,children:p,size:g,style:y,id:A,onMouseEnter:x,onMouseLeave:C,onFocus:b,onBlur:v}=t,S=n("radio",l),w=`${S}-group`,T=j0(S),[P,R,H]=GGe(S,T);let D=p;u&&u.length>0&&(D=u.map(U=>typeof U=="string"||typeof U=="number"?m.createElement(RG,{key:U.toString(),prefixCls:S,disabled:f,value:U,checked:i===U},U):m.createElement(RG,{key:`radio-group-value-options-${U.value}`,prefixCls:S,disabled:U.disabled||f,value:U.value,checked:i===U.value,title:U.title,style:U.style,id:U.id,required:U.required},U.label)));const E=Cd(g),L=Gn(w,`${w}-${d}`,{[`${w}-${E}`]:E,[`${w}-rtl`]:o==="rtl"},s,c,R,H,T);return P(m.createElement("div",Object.assign({},jge(t,{aria:!0,data:!0}),{className:L,style:y,onMouseEnter:x,onMouseLeave:C,onFocus:b,onBlur:v,id:A,ref:e}),m.createElement(aFt,{value:{onChange:a,value:i,disabled:t.disabled,name:t.name,optionType:t.optionType}},D)))}),mFt=m.memo(gFt);var yFt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n}=m.useContext(Mi),{prefixCls:o}=t,i=yFt(t,["prefixCls"]),r=n("radio",o);return m.createElement(lFt,{value:"button"},m.createElement(RG,Object.assign({prefixCls:r},i,{type:"radio",ref:e})))},wFt=m.forwardRef(AFt),Be=RG;Be.Button=wFt;Be.Group=mFt;Be.__ANT_RADIO=!0;function DW(t){return Zr(t,{inputAffixPadding:t.paddingXXS})}const EW=t=>{const{controlHeight:e,fontSize:n,lineHeight:o,lineWidth:i,controlHeightSM:r,controlHeightLG:a,fontSizeLG:l,lineHeightLG:s,paddingSM:c,controlPaddingHorizontalSM:u,controlPaddingHorizontal:d,colorFillAlter:f,colorPrimaryHover:p,colorPrimary:g,controlOutlineWidth:y,controlOutline:A,colorErrorOutline:x,colorWarningOutline:C,colorBgContainer:b}=t;return{paddingBlock:Math.max(Math.round((e-n*o)/2*10)/10-i,0),paddingBlockSM:Math.max(Math.round((r-n*o)/2*10)/10-i,0),paddingBlockLG:Math.ceil((a-l*s)/2*10)/10-i,paddingInline:c-i,paddingInlineSM:u-i,paddingInlineLG:d-i,addonBg:f,activeBorderColor:g,hoverBorderColor:p,activeShadow:`0 0 0 ${y}px ${A}`,errorActiveShadow:`0 0 0 ${y}px ${x}`,warningActiveShadow:`0 0 0 ${y}px ${C}`,hoverBg:b,activeBg:b,inputFontSize:n,inputFontSizeLG:l,inputFontSizeSM:n}},vFt=t=>({borderColor:t.hoverBorderColor,backgroundColor:t.hoverBg}),D$=t=>({color:t.colorTextDisabled,backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"input[disabled], textarea[disabled]":{cursor:"not-allowed"},"&:hover:not([disabled])":Object.assign({},vFt(Zr(t,{hoverBorderColor:t.colorBorder,hoverBg:t.colorBgContainerDisabled})))}),xme=(t,e)=>({background:t.colorBgContainer,borderWidth:t.lineWidth,borderStyle:t.lineType,borderColor:e.borderColor,"&:hover":{borderColor:e.hoverBorderColor,backgroundColor:t.hoverBg},"&:focus, &:focus-within":{borderColor:e.activeBorderColor,boxShadow:e.activeShadow,outline:0,backgroundColor:t.activeBg}}),Cve=(t,e)=>({[`&${t.componentCls}-status-${e.status}:not(${t.componentCls}-disabled)`]:Object.assign(Object.assign({},xme(t,e)),{[`${t.componentCls}-prefix, ${t.componentCls}-suffix`]:{color:e.affixColor}}),[`&${t.componentCls}-status-${e.status}${t.componentCls}-disabled`]:{borderColor:e.borderColor}}),bme=(t,e)=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},xme(t,{borderColor:t.colorBorder,hoverBorderColor:t.hoverBorderColor,activeBorderColor:t.activeBorderColor,activeShadow:t.activeShadow})),{[`&${t.componentCls}-disabled, &[disabled]`]:Object.assign({},D$(t))}),Cve(t,{status:"error",borderColor:t.colorError,hoverBorderColor:t.colorErrorBorderHover,activeBorderColor:t.colorError,activeShadow:t.errorActiveShadow,affixColor:t.colorError})),Cve(t,{status:"warning",borderColor:t.colorWarning,hoverBorderColor:t.colorWarningBorderHover,activeBorderColor:t.colorWarning,activeShadow:t.warningActiveShadow,affixColor:t.colorWarning})),e)}),Rve=(t,e)=>({[`&${t.componentCls}-group-wrapper-status-${e.status}`]:{[`${t.componentCls}-group-addon`]:{borderColor:e.addonBorderColor,color:e.addonColor}}}),XGe=t=>({"&-outlined":Object.assign(Object.assign(Object.assign({[`${t.componentCls}-group`]:{"&-addon":{background:t.addonBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}}},Rve(t,{status:"error",addonBorderColor:t.colorError,addonColor:t.colorErrorText})),Rve(t,{status:"warning",addonBorderColor:t.colorWarning,addonColor:t.colorWarningText})),{[`&${t.componentCls}-group-wrapper-disabled`]:{[`${t.componentCls}-group-addon`]:Object.assign({},D$(t))}})}),Sme=(t,e)=>({"&-borderless":Object.assign({background:"transparent",border:"none","&:focus, &:focus-within":{outline:"none"},[`&${t.componentCls}-disabled, &[disabled]`]:{color:t.colorTextDisabled}},e)}),JGe=(t,e)=>({background:e.bg,borderWidth:t.lineWidth,borderStyle:t.lineType,borderColor:"transparent","input&, & input, textarea&, & textarea":{color:e==null?void 0:e.inputColor},"&:hover":{background:e.hoverBg},"&:focus, &:focus-within":{outline:0,borderColor:e.activeBorderColor,backgroundColor:t.activeBg}}),Hve=(t,e)=>({[`&${t.componentCls}-status-${e.status}:not(${t.componentCls}-disabled)`]:Object.assign(Object.assign({},JGe(t,e)),{[`${t.componentCls}-prefix, ${t.componentCls}-suffix`]:{color:e.affixColor}})}),Tme=(t,e)=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},JGe(t,{bg:t.colorFillTertiary,hoverBg:t.colorFillSecondary,activeBorderColor:t.colorPrimary})),{[`&${t.componentCls}-disabled, &[disabled]`]:Object.assign({},D$(t))}),Hve(t,{status:"error",bg:t.colorErrorBg,hoverBg:t.colorErrorBgHover,activeBorderColor:t.colorError,inputColor:t.colorErrorText,affixColor:t.colorError})),Hve(t,{status:"warning",bg:t.colorWarningBg,hoverBg:t.colorWarningBgHover,activeBorderColor:t.colorWarning,inputColor:t.colorWarningText,affixColor:t.colorWarning})),e)}),Mve=(t,e)=>({[`&${t.componentCls}-group-wrapper-status-${e.status}`]:{[`${t.componentCls}-group-addon`]:{background:e.addonBg,color:e.addonColor}}}),KGe=t=>({"&-filled":Object.assign(Object.assign(Object.assign({[`${t.componentCls}-group`]:{"&-addon":{background:t.colorFillTertiary},[`${t.componentCls}-filled:not(:focus):not(:focus-within)`]:{"&:not(:first-child)":{borderInlineStart:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},"&:not(:last-child)":{borderInlineEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}}}},Mve(t,{status:"error",addonBg:t.colorErrorBg,addonColor:t.colorErrorText})),Mve(t,{status:"warning",addonBg:t.colorWarningBg,addonColor:t.colorWarningText})),{[`&${t.componentCls}-group-wrapper-disabled`]:{[`${t.componentCls}-group`]:{"&-addon":{background:t.colorFillTertiary,color:t.colorTextDisabled},"&-addon:first-child":{borderInlineStart:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},"&-addon:last-child":{borderInlineEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`}}}})}),Pme=t=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:t,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),qGe=t=>{const{paddingBlockLG:e,lineHeightLG:n,borderRadiusLG:o,paddingInlineLG:i}=t;return{padding:`${Ut(e)} ${Ut(i)}`,fontSize:t.inputFontSizeLG,lineHeight:n,borderRadius:o}},Cme=t=>({padding:`${Ut(t.paddingBlockSM)} ${Ut(t.paddingInlineSM)}`,fontSize:t.inputFontSizeSM,borderRadius:t.borderRadiusSM}),kW=t=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${Ut(t.paddingBlock)} ${Ut(t.paddingInline)}`,color:t.colorText,fontSize:t.inputFontSize,lineHeight:t.lineHeight,borderRadius:t.borderRadius,transition:`all ${t.motionDurationMid}`},Pme(t.colorTextPlaceholder)),{"textarea&":{maxWidth:"100%",height:"auto",minHeight:t.controlHeight,lineHeight:t.lineHeight,verticalAlign:"bottom",transition:`all ${t.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},qGe(t)),"&-sm":Object.assign({},Cme(t)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),$Ge=t=>{const{componentCls:e,antCls:n}=t;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:t.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${e}, &-lg > ${e}-group-addon`]:Object.assign({},qGe(t)),[`&-sm ${e}, &-sm > ${e}-group-addon`]:Object.assign({},Cme(t)),[`&-lg ${n}-select-single ${n}-select-selector`]:{height:t.controlHeightLG},[`&-sm ${n}-select-single ${n}-select-selector`]:{height:t.controlHeightSM},[`> ${e}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${e}-group`]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${Ut(t.paddingInline)}`,color:t.colorText,fontWeight:"normal",fontSize:t.inputFontSize,textAlign:"center",borderRadius:t.borderRadius,transition:`all ${t.motionDurationSlow}`,lineHeight:1,[`${n}-select`]:{margin:`${Ut(t.calc(t.paddingBlock).add(1).mul(-1).equal())} ${Ut(t.calc(t.paddingInline).mul(-1).equal())}`,[`&${n}-select-single:not(${n}-select-customize-input):not(${n}-pagination-size-changer)`]:{[`${n}-select-selector`]:{backgroundColor:"inherit",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${n}-select-selector`]:{color:t.colorPrimary}}},[`${n}-cascader-picker`]:{margin:`-9px ${Ut(t.calc(t.paddingInline).mul(-1).equal())}`,backgroundColor:"transparent",[`${n}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}}},[`${e}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${e}-search-with-button &`]:{zIndex:0}}},[`> ${e}:first-child, ${e}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${n}-select ${n}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}-affix-wrapper`]:{[`&:not(:first-child) ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}:last-child, ${e}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${n}-select ${n}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${e}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${e}-search &`]:{borderStartStartRadius:t.borderRadius,borderEndStartRadius:t.borderRadius}},[`&:not(:first-child), ${e}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${e}-group-compact`]:Object.assign(Object.assign({display:"block"},Yk()),{[`${e}-group-addon, ${e}-group-wrap, > ${e}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:t.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[` + &${a}-slide-up-leave${a}-slide-up-leave-active${e}-placement-topRight`]:{animationName:g$}})},ame(t,y,{arrowPlacement:{top:!0,bottom:!0}}),{[`${e} ${n}`]:{position:"relative",margin:0},[`${n}-submenu-popup`]:{position:"absolute",zIndex:o,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${e}, ${e}-menu-submenu`]:{[n]:Object.assign(Object.assign({padding:d,listStyleType:"none",backgroundColor:y,backgroundClip:"padding-box",borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary},V6(t)),{"&:empty":{padding:0,boxShadow:"none"},[`${n}-item-group-title`]:{padding:`${Ut(c)} ${Ut(g)}`,color:t.colorTextDescription,transition:`all ${s}`},[`${n}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${n}-item-icon`]:{minWidth:u,marginInlineEnd:t.marginXS,fontSize:t.fontSizeSM},[`${n}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${s}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${n}-item, ${n}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${Ut(c)} ${Ut(g)}`,color:t.colorText,fontWeight:"normal",fontSize:u,lineHeight:t.lineHeight,cursor:"pointer",transition:`all ${s}`,borderRadius:t.borderRadiusSM,"&:hover, &-active":{backgroundColor:t.controlItemBgHover}},V6(t)),{"&-selected":{color:t.colorPrimary,backgroundColor:t.controlItemBgActive,"&:hover, &-active":{backgroundColor:t.controlItemBgActiveHover}},"&-disabled":{color:f,cursor:"not-allowed","&:hover":{color:f,backgroundColor:y,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${Ut(t.marginXXS)} 0`,overflow:"hidden",lineHeight:0,backgroundColor:t.colorSplit},[`${e}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:t.paddingXS,[`${e}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:t.colorTextDescription,fontSize:p,fontStyle:"normal"}}}),[`${n}-item-group-list`]:{margin:`0 ${Ut(t.marginXS)}`,padding:0,listStyle:"none"},[`${n}-submenu-title`]:{paddingInlineEnd:t.calc(g).add(t.fontSizeSM).equal()},[`${n}-submenu-vertical`]:{position:"relative"},[`${n}-submenu${n}-submenu-disabled ${e}-menu-submenu-title`]:{[`&, ${e}-menu-submenu-arrow-icon`]:{color:f,backgroundColor:y,cursor:"not-allowed"}},[`${n}-submenu-selected ${e}-menu-submenu-title`]:{color:t.colorPrimary}})}},[F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down"),PW(t,"zoom-big")]]},OEt=t=>Object.assign(Object.assign({zIndexPopup:t.zIndexPopupBase+50,paddingBlock:(t.controlHeight-t.fontSize*t.lineHeight)/2},b$({contentRadius:t.borderRadiusLG,limitVerticalRadius:!0})),x$(t)),_Et=Fl("Dropdown",t=>{const{marginXXS:e,sizePopupArrow:n,paddingXXS:o,componentCls:i}=t,r=Zr(t,{menuCls:`${i}-menu`,dropdownArrowDistance:t.calc(n).div(2).add(e).equal(),dropdownEdgeChildPadding:o});return[YEt(r),jEt(r)]},OEt),C$=t=>{const{menu:e,arrow:n,prefixCls:o,children:i,trigger:r,disabled:a,dropdownRender:l,getPopupContainer:s,overlayClassName:c,rootClassName:u,overlayStyle:d,open:f,onOpenChange:p,visible:g,onVisibleChange:y,mouseEnterDelay:A=.15,mouseLeaveDelay:x=.1,autoAdjustOverflow:C=!0,placement:b="",overlay:v,transitionName:S}=t,{getPopupContainer:w,getPrefixCls:T,direction:P,dropdown:R}=m.useContext(Mi);Hb();const H=m.useMemo(()=>{const Z=T();return S!==void 0?S:b.includes("top")?`${Z}-slide-down`:`${Z}-slide-up`},[T,b,S]),D=m.useMemo(()=>b?b.includes("Center")?b.slice(0,b.indexOf("Center")):b:P==="rtl"?"bottomRight":"bottomLeft",[b,P]),E=T("dropdown",o),L=j0(E),[U,F,W]=_Et(E,L),[,B]=Yu(),k=m.Children.only(i),N=Ou(k,{className:Gn(`${E}-trigger`,{[`${E}-rtl`]:P==="rtl"},k.props.className),disabled:a}),j=a?[]:r;let Y;j&&j.includes("contextMenu")&&(Y=!0);const[_,J]=_6(!1,{value:f??g}),Q=O6(Z=>{p==null||p(Z,{source:"trigger"}),y==null||y(Z),J(Z)}),ee=Gn(c,u,F,W,L,R==null?void 0:R.className,{[`${E}-rtl`]:P==="rtl"}),$=NVe({arrowPointAtCenter:typeof n=="object"&&n.pointAtCenter,autoAdjustOverflow:C,offset:B.marginXXS,arrowWidth:n?B.sizePopupArrow:0,borderRadius:B.borderRadius}),q=m.useCallback(()=>{e!=null&&e.selectable&&(e!=null&&e.multiple)||(p==null||p(!1,{source:"menu"}),J(!1))},[e==null?void 0:e.selectable,e==null?void 0:e.multiple]),le=()=>{let Z;return e!=null&&e.items?Z=m.createElement(EH,Object.assign({},e)):typeof v=="function"?Z=v():Z=v,l&&(Z=l(Z)),Z=m.Children.only(typeof Z=="string"?m.createElement("span",null,Z):Z),m.createElement(aGe,{prefixCls:`${E}-menu`,rootClassName:Gn(W,L),expandIcon:m.createElement("span",{className:`${E}-menu-submenu-arrow`},m.createElement(bG,{className:`${E}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:q,validator:he=>{}},Z)},[ie,pe]=k7("Dropdown",d==null?void 0:d.zIndex);let ne=m.createElement(_Ve,Object.assign({alignPoint:Y},lp(t,["rootClassName"]),{mouseEnterDelay:A,mouseLeaveDelay:x,visible:_,builtinPlacements:$,arrow:!!n,overlayClassName:ee,prefixCls:E,getPopupContainer:s||w,transitionName:H,trigger:j,overlay:le,placement:D,onVisibleChange:Q,overlayStyle:Object.assign(Object.assign(Object.assign({},R==null?void 0:R.style),d),{zIndex:ie})}),N);return ie&&(ne=m.createElement(yW.Provider,{value:pe},ne)),U(ne)};function VEt(t){return Object.assign(Object.assign({},t),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const GEt=RW(C$,"dropdown",t=>t,VEt),XEt=t=>m.createElement(GEt,Object.assign({},t),m.createElement("span",null));C$._InternalPanelDoNotUseOrYouWillBeFired=XEt;var lGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){o.prototype.weekday=function(i){var r=this.$locale().weekStart||0,a=this.$W,l=(a25){var u=a(this).startOf(o).add(1,o).date(c),d=a(this).endOf(n);if(u.isBefore(d))return 1}var f=a(this).startOf(o).date(c).startOf(n).subtract(1,"millisecond"),p=this.diff(f,n,!0);return p<0?a(this).startOf("week").week():Math.ceil(p)},l.weeks=function(s){return s===void 0&&(s=null),this.week(s)}}})})(cGe);var QEt=cGe.exports;const ZEt=kr(QEt);var uGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){o.prototype.weekYear=function(){var i=this.month(),r=this.week(),a=this.year();return r===1&&i===11?a+1:i===0&&r>=52?a-1:a}}})})(uGe);var ekt=uGe.exports;const tkt=kr(ekt);var dGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){var i=o.prototype,r=i.format;i.format=function(a){var l=this,s=this.$locale();if(!this.isValid())return r.bind(this)(a);var c=this.$utils(),u=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(d){switch(d){case"Q":return Math.ceil((l.$M+1)/3);case"Do":return s.ordinal(l.$D);case"gggg":return l.weekYear();case"GGGG":return l.isoWeekYear();case"wo":return s.ordinal(l.week(),"W");case"w":case"ww":return c.s(l.week(),d==="w"?1:2,"0");case"W":case"WW":return c.s(l.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return c.s(String(l.$H===0?24:l.$H),d==="k"?1:2,"0");case"X":return Math.floor(l.$d.getTime()/1e3);case"x":return l.$d.getTime();case"z":return"["+l.offsetName()+"]";case"zzz":return"["+l.offsetName("long")+"]";default:return d}});return r.bind(this)(u)}}})})(dGe);var nkt=dGe.exports;const okt=kr(nkt);var fGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},o=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,r=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,l={},s=function(y){return(y=+y)+(y>68?1900:2e3)},c=function(y){return function(A){this[y]=+A}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(y){(this.zone||(this.zone={})).offset=function(A){if(!A||A==="Z")return 0;var x=A.match(/([+-]|\d\d)/g),C=60*x[1]+(+x[2]||0);return C===0?0:x[0]==="+"?-C:C}(y)}],d=function(y){var A=l[y];return A&&(A.indexOf?A:A.s.concat(A.f))},f=function(y,A){var x,C=l.meridiem;if(C){for(var b=1;b<=24;b+=1)if(y.indexOf(C(b,0,A))>-1){x=b>12;break}}else x=y===(A?"pm":"PM");return x},p={A:[a,function(y){this.afternoon=f(y,!1)}],a:[a,function(y){this.afternoon=f(y,!0)}],S:[/\d/,function(y){this.milliseconds=100*+y}],SS:[i,function(y){this.milliseconds=10*+y}],SSS:[/\d{3}/,function(y){this.milliseconds=+y}],s:[r,c("seconds")],ss:[r,c("seconds")],m:[r,c("minutes")],mm:[r,c("minutes")],H:[r,c("hours")],h:[r,c("hours")],HH:[r,c("hours")],hh:[r,c("hours")],D:[r,c("day")],DD:[i,c("day")],Do:[a,function(y){var A=l.ordinal,x=y.match(/\d+/);if(this.day=x[0],A)for(var C=1;C<=31;C+=1)A(C).replace(/\[|\]/g,"")===y&&(this.day=C)}],M:[r,c("month")],MM:[i,c("month")],MMM:[a,function(y){var A=d("months"),x=(d("monthsShort")||A.map(function(C){return C.slice(0,3)})).indexOf(y)+1;if(x<1)throw new Error;this.month=x%12||x}],MMMM:[a,function(y){var A=d("months").indexOf(y)+1;if(A<1)throw new Error;this.month=A%12||A}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(y){this.year=s(y)}],YYYY:[/\d{4}/,c("year")],Z:u,ZZ:u};function g(y){var A,x;A=y,x=l&&l.formats;for(var C=(y=A.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(R,H,D){var E=D&&D.toUpperCase();return H||x[D]||n[D]||x[E].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(L,U,F){return U||F.slice(1)})})).match(o),b=C.length,v=0;v-1)return new Date((B==="X"?1e3:1)*W);var N=g(B)(W),j=N.year,Y=N.month,_=N.day,J=N.hours,Q=N.minutes,ee=N.seconds,$=N.milliseconds,q=N.zone,le=new Date,ie=_||(j||Y?1:le.getDate()),pe=j||le.getFullYear(),ne=0;j&&!Y||(ne=Y>0?Y-1:le.getMonth());var Z=J||0,he=Q||0,fe=ee||0,se=$||0;return q?new Date(Date.UTC(pe,ne,ie,Z,he,fe,se+60*q.offset*1e3)):k?new Date(Date.UTC(pe,ne,ie,Z,he,fe,se)):new Date(pe,ne,ie,Z,he,fe,se)}catch{return new Date("")}}(S,P,w),this.init(),E&&E!==!0&&(this.$L=this.locale(E).$L),D&&S!=this.format(P)&&(this.$d=new Date("")),l={}}else if(P instanceof Array)for(var L=P.length,U=1;U<=L;U+=1){T[1]=P[U-1];var F=x.apply(this,T);if(F.isValid()){this.$d=F.$d,this.$L=F.$L,this.init();break}U===L&&(this.$d=new Date(""))}else b.call(this,v)}}})})(fGe);var ikt=fGe.exports;const rkt=kr(ikt);gc.extend(rkt);gc.extend(okt);gc.extend(KEt);gc.extend($Et);gc.extend(ZEt);gc.extend(tkt);gc.extend(function(t,e){var n=e.prototype,o=n.format;n.format=function(r){var a=(r||"").replace("Wo","wo");return o.bind(this)(a)}});var akt={bn_BD:"bn-bd",by_BY:"be",en_GB:"en-gb",en_US:"en",fr_BE:"fr",fr_CA:"fr-ca",hy_AM:"hy-am",kmr_IQ:"ku",nl_BE:"nl-be",pt_BR:"pt-br",zh_CN:"zh-cn",zh_HK:"zh-hk",zh_TW:"zh-tw"},Y8=function(e){var n=akt[e];return n||e.split("_")[0]},xve=function(){xYe(!1,"Not match any format. Please help to fire a issue about this.")},lkt={getNow:function(){return gc()},getFixedDate:function(e){return gc(e,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function(e){return e.endOf("month")},getWeekDay:function(e){var n=e.locale("en");return n.weekday()+n.localeData().firstDayOfWeek()},getYear:function(e){return e.year()},getMonth:function(e){return e.month()},getDate:function(e){return e.date()},getHour:function(e){return e.hour()},getMinute:function(e){return e.minute()},getSecond:function(e){return e.second()},getMillisecond:function(e){return e.millisecond()},addYear:function(e,n){return e.add(n,"year")},addMonth:function(e,n){return e.add(n,"month")},addDate:function(e,n){return e.add(n,"day")},setYear:function(e,n){return e.year(n)},setMonth:function(e,n){return e.month(n)},setDate:function(e,n){return e.date(n)},setHour:function(e,n){return e.hour(n)},setMinute:function(e,n){return e.minute(n)},setSecond:function(e,n){return e.second(n)},setMillisecond:function(e,n){return e.millisecond(n)},isAfter:function(e,n){return e.isAfter(n)},isValidate:function(e){return e.isValid()},locale:{getWeekFirstDay:function(e){return gc().locale(Y8(e)).localeData().firstDayOfWeek()},getWeekFirstDate:function(e,n){return n.locale(Y8(e)).weekday(0)},getWeek:function(e,n){return n.locale(Y8(e)).week()},getShortWeekDays:function(e){return gc().locale(Y8(e)).localeData().weekdaysMin()},getShortMonths:function(e){return gc().locale(Y8(e)).localeData().monthsShort()},format:function(e,n,o){return n.locale(Y8(e)).format(o)},parse:function(e,n,o){for(var i=Y8(e),r=0;r2&&arguments[2]!==void 0?arguments[2]:"0",o=String(t);o.length2&&arguments[2]!==void 0?arguments[2]:[],o=m.useState([!1,!1]),i=on(o,2),r=i[0],a=i[1],l=function(u,d){a(function(f){return uE(f,d,u)})},s=m.useMemo(function(){return r.map(function(c,u){if(c)return!0;var d=t[u];return d?!!(!n[u]&&!d||d&&e(d,{activeIndex:u})):!1})},[t,r,e,n]);return[s,l]}function AGe(t,e,n,o,i){var r="",a=[];return t&&a.push(i?"hh":"HH"),e&&a.push("mm"),n&&a.push("ss"),r=a.join(":"),o&&(r+=".SSS"),i&&(r+=" A"),r}function ckt(t,e,n,o,i,r){var a=t.fieldDateTimeFormat,l=t.fieldDateFormat,s=t.fieldTimeFormat,c=t.fieldMonthFormat,u=t.fieldYearFormat,d=t.fieldWeekFormat,f=t.fieldQuarterFormat,p=t.yearFormat,g=t.cellYearFormat,y=t.cellQuarterFormat,A=t.dayFormat,x=t.cellDateFormat,C=AGe(e,n,o,i,r);return $t($t({},t),{},{fieldDateTimeFormat:a||"YYYY-MM-DD ".concat(C),fieldDateFormat:l||"YYYY-MM-DD",fieldTimeFormat:s||C,fieldMonthFormat:c||"YYYY-MM",fieldYearFormat:u||"YYYY",fieldWeekFormat:d||"gggg-wo",fieldQuarterFormat:f||"YYYY-[Q]Q",yearFormat:p||"YYYY",cellYearFormat:g||"YYYY",cellQuarterFormat:y||"[Q]Q",cellDateFormat:x||A||"D"})}function wGe(t,e){var n=e.showHour,o=e.showMinute,i=e.showSecond,r=e.showMillisecond,a=e.use12Hours;return Se.useMemo(function(){return ckt(t,n,o,i,r,a)},[t,n,o,i,r,a])}function Tz(t,e,n){return n??e.some(function(o){return t.includes(o)})}var ukt=["showNow","showHour","showMinute","showSecond","showMillisecond","use12Hours","hourStep","minuteStep","secondStep","millisecondStep","hideDisabledOptions","defaultValue","disabledHours","disabledMinutes","disabledSeconds","disabledMilliseconds","disabledTime","changeOnScroll","defaultOpenValue"];function dkt(t){var e=R$(t,ukt),n=t.format,o=t.picker,i=null;return n&&(i=n,Array.isArray(i)&&(i=i[0]),i=gr(i)==="object"?i.format:i),o==="time"&&(e.format=i),[e,i]}function fkt(t){return t&&typeof t=="string"}function vGe(t,e,n,o){return[t,e,n,o].some(function(i){return i!==void 0})}function xGe(t,e,n,o,i){var r=e,a=n,l=o;if(!t&&!r&&!a&&!l&&!i)r=!0,a=!0,l=!0;else if(t){var s,c,u,d=[r,a,l].some(function(g){return g===!1}),f=[r,a,l].some(function(g){return g===!0}),p=d?!0:!f;r=(s=r)!==null&&s!==void 0?s:p,a=(c=a)!==null&&c!==void 0?c:p,l=(u=l)!==null&&u!==void 0?u:p}return[r,a,l,i]}function bGe(t){var e=t.showTime,n=dkt(t),o=on(n,2),i=o[0],r=o[1],a=e&&gr(e)==="object"?e:{},l=$t($t({defaultOpenValue:a.defaultOpenValue||a.defaultValue},i),a),s=l.showMillisecond,c=l.showHour,u=l.showMinute,d=l.showSecond,f=vGe(c,u,d,s),p=xGe(f,c,u,d,s),g=on(p,3);return c=g[0],u=g[1],d=g[2],[l,$t($t({},l),{},{showHour:c,showMinute:u,showSecond:d,showMillisecond:s}),l.format,r]}function SGe(t,e,n,o,i){var r=t==="time";if(t==="datetime"||r){for(var a=o,l=pGe(t,i,null),s=l,c=[e,n],u=0;u1&&(a=e.addDate(a,-7)),a}function ku(t,e){var n=e.generateConfig,o=e.locale,i=e.format;return t?typeof i=="function"?i(t):n.locale.format(o.locale,t,i):""}function CG(t,e,n){var o=e,i=["getHour","getMinute","getSecond","getMillisecond"],r=["setHour","setMinute","setSecond","setMillisecond"];return r.forEach(function(a,l){n?o=t[a](o,t[i[l]](n)):o=t[a](o,0)}),o}function mkt(t,e,n,o,i){var r=Ia(function(a,l){return!!(n&&n(a,l)||o&&t.isAfter(o,a)&&!lh(t,e,o,a,l.type)||i&&t.isAfter(a,i)&&!lh(t,e,i,a,l.type))});return r}function ykt(t,e,n){return m.useMemo(function(){var o=pGe(t,e,n),i=Ib(o),r=i[0],a=gr(r)==="object"&&r.type==="mask"?r.format:null;return[i.map(function(l){return typeof l=="string"||typeof l=="function"?l:l.format}),a]},[t,e,n])}function Akt(t,e,n){return typeof t[0]=="function"||n?!0:e}function wkt(t,e,n,o){var i=Ia(function(r,a){var l=$t({type:e},a);if(delete l.activeIndex,!t.isValidate(r)||n&&n(r,l))return!0;if((e==="date"||e==="time")&&o){var s,c=a&&a.activeIndex===1?"end":"start",u=((s=o.disabledTime)===null||s===void 0?void 0:s.call(o,r,c,{from:l.from}))||{},d=u.disabledHours,f=u.disabledMinutes,p=u.disabledSeconds,g=u.disabledMilliseconds,y=o.disabledHours,A=o.disabledMinutes,x=o.disabledSeconds,C=d||y,b=f||A,v=p||x,S=t.getHour(r),w=t.getMinute(r),T=t.getSecond(r),P=t.getMillisecond(r);if(C&&C().includes(S)||b&&b(S).includes(w)||v&&v(S,w).includes(T)||g&&g(S,w,T).includes(P))return!0}return!1});return i}function gY(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=m.useMemo(function(){var o=t&&Ib(t);return e&&o&&(o[1]=o[1]||o[0]),o},[t,e]);return n}function CGe(t,e){var n=t.generateConfig,o=t.locale,i=t.picker,r=i===void 0?"date":i,a=t.prefixCls,l=a===void 0?"rc-picker":a,s=t.styles,c=s===void 0?{}:s,u=t.classNames,d=u===void 0?{}:u,f=t.order,p=f===void 0?!0:f,g=t.components,y=g===void 0?{}:g,A=t.inputRender,x=t.allowClear,C=t.clearIcon,b=t.needConfirm,v=t.multiple,S=t.format,w=t.inputReadOnly,T=t.disabledDate,P=t.minDate,R=t.maxDate,H=t.showTime,D=t.value,E=t.defaultValue,L=t.pickerValue,U=t.defaultPickerValue,F=gY(D),W=gY(E),B=gY(L),k=gY(U),N=r==="date"&&H?"datetime":r,j=N==="time"||N==="datetime",Y=j||v,_=b??j,J=bGe(t),Q=on(J,4),ee=Q[0],$=Q[1],q=Q[2],le=Q[3],ie=wGe(o,$),pe=m.useMemo(function(){return SGe(N,q,le,ee,ie)},[N,q,le,ee,ie]),ne=m.useMemo(function(){return $t($t({},t),{},{prefixCls:l,locale:ie,picker:r,styles:c,classNames:d,order:p,components:$t({input:A},y),clearIcon:hkt(l,x,C),showTime:pe,value:F,defaultValue:W,pickerValue:B,defaultPickerValue:k},e==null?void 0:e())},[t]),Z=ykt(N,ie,S),he=on(Z,2),fe=he[0],se=he[1],oe=Akt(fe,w,v),de=mkt(n,o,T,P,R),ve=wkt(n,r,de,pe),Pe=m.useMemo(function(){return $t($t({},ne),{},{needConfirm:_,inputReadOnly:oe,disabledDate:de})},[ne,_,oe,de]);return[Pe,N,Y,fe,se,ve]}function vkt(t,e,n){var o=Rs(e,{value:t}),i=on(o,2),r=i[0],a=i[1],l=Se.useRef(t),s=Se.useRef(),c=function(){za.cancel(s.current)},u=Ia(function(){a(l.current),n&&r!==l.current&&n(l.current)}),d=Ia(function(f,p){c(),l.current=f,f||p?u():s.current=za(u)});return Se.useEffect(function(){return c},[]),[r,d]}function RGe(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],o=arguments.length>3?arguments[3]:void 0,i=n.every(function(u){return u})?!1:t,r=vkt(i,e||!1,o),a=on(r,2),l=a[0],s=a[1];function c(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(!d.inherit||l)&&s(u,d.force)}return[l,c]}function HGe(t){var e=m.useRef();return m.useImperativeHandle(t,function(){var n;return{nativeElement:(n=e.current)===null||n===void 0?void 0:n.nativeElement,focus:function(i){var r;(r=e.current)===null||r===void 0||r.focus(i)},blur:function(){var i;(i=e.current)===null||i===void 0||i.blur()}}}),e}function MGe(t,e){return m.useMemo(function(){return t||(e?(U0(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries(e).map(function(n){var o=on(n,2),i=o[0],r=o[1];return{label:i,value:r}})):[])},[t,e])}function wme(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,o=m.useRef(e);o.current=e,sx(function(){if(t)o.current(t);else{var i=za(function(){o.current(t)},n);return function(){za.cancel(i)}}},[t])}function IGe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=m.useState(0),o=on(n,2),i=o[0],r=o[1],a=m.useState(!1),l=on(a,2),s=l[0],c=l[1],u=m.useRef([]),d=m.useRef(null),f=function(A){c(A)},p=function(A){return A&&(d.current=A),d.current},g=function(A){var x=u.current,C=new Set(x.filter(function(v){return A[v]||e[v]})),b=x[x.length-1]===0?1:0;return C.size>=2||t[b]?null:b};return wme(s,function(){s||(u.current=[])}),m.useEffect(function(){s&&u.current.push(i)},[s,i]),[s,f,p,i,r,g,u.current]}function xkt(t,e,n,o,i,r){var a=n[n.length-1],l=function(c,u){var d=on(t,2),f=d[0],p=d[1],g=$t($t({},u),{},{from:gGe(t,n)});return a===1&&e[0]&&f&&!lh(o,i,f,c,g.type)&&o.isAfter(f,c)||a===0&&e[1]&&p&&!lh(o,i,p,c,g.type)&&o.isAfter(c,p)?!0:r==null?void 0:r(c,g)};return l}function yD(t,e,n,o){switch(e){case"date":case"week":return t.addMonth(n,o);case"month":case"quarter":return t.addYear(n,o);case"year":return t.addYear(n,o*10);case"decade":return t.addYear(n,o*100);default:return n}}var Fie=[];function zGe(t,e,n,o,i,r,a,l){var s=arguments.length>8&&arguments[8]!==void 0?arguments[8]:Fie,c=arguments.length>9&&arguments[9]!==void 0?arguments[9]:Fie,u=arguments.length>10&&arguments[10]!==void 0?arguments[10]:Fie,d=arguments.length>11?arguments[11]:void 0,f=arguments.length>12?arguments[12]:void 0,p=arguments.length>13?arguments[13]:void 0,g=a==="time",y=r||0,A=function(B){var k=t.getNow();return g&&(k=CG(t,k)),s[B]||n[B]||k},x=on(c,2),C=x[0],b=x[1],v=Rs(function(){return A(0)},{value:C}),S=on(v,2),w=S[0],T=S[1],P=Rs(function(){return A(1)},{value:b}),R=on(P,2),H=R[0],D=R[1],E=m.useMemo(function(){var W=[w,H][y];return g?W:CG(t,W,u[y])},[g,w,H,y,t,u]),L=function(B){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"panel",N=[T,D][y];N(B);var j=[w,H];j[y]=B,d&&(!lh(t,e,w,j[0],a)||!lh(t,e,H,j[1],a))&&d(j,{source:k,range:y===1?"end":"start",mode:o})},U=function(B,k){if(l){var N={date:"month",week:"month",month:"year",quarter:"year"},j=N[a];if(j&&!lh(t,e,B,k,j))return yD(t,a,k,-1);if(a==="year"){var Y=Math.floor(t.getYear(B)/10),_=Math.floor(t.getYear(k)/10);if(Y!==_)return yD(t,a,k,-1)}}return k},F=m.useRef(null);return Ba(function(){if(i&&!s[y]){var W=g?null:t.getNow();if(F.current!==null&&F.current!==y?W=[w,H][y^1]:n[y]?W=y===0?n[0]:U(n[0],n[1]):n[y^1]&&(W=n[y^1]),W){f&&t.isAfter(f,W)&&(W=f);var B=l?yD(t,a,W,1):W;p&&t.isAfter(B,p)&&(W=l?yD(t,a,p,-1):p),L(W,"reset")}}},[i,y,n[y]]),m.useEffect(function(){i?F.current=y:F.current=null},[i,y]),Ba(function(){i&&s&&s[y]&&L(s[y],"reset")},[i,y]),[E,L]}function DGe(t,e){var n=m.useRef(t),o=m.useState({}),i=on(o,2),r=i[1],a=function(c){return c&&e!==void 0?e:n.current},l=function(c){n.current=c,r({})};return[a,l,a(!0)]}var bkt=[];function EGe(t,e,n){var o=function(a){return a.map(function(l){return ku(l,{generateConfig:t,locale:e,format:n[0]})})},i=function(a,l){for(var s=Math.max(a.length,l.length),c=-1,u=0;u2&&arguments[2]!==void 0?arguments[2]:1,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:2,a=[],l=n>=1?n|0:1,s=t;s<=e;s+=l){var c=i.includes(s);(!c||!o)&&a.push({label:gme(s,r),value:s,disabled:c})}return a}function vme(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,o=e||{},i=o.use12Hours,r=o.hourStep,a=r===void 0?1:r,l=o.minuteStep,s=l===void 0?1:l,c=o.secondStep,u=c===void 0?1:c,d=o.millisecondStep,f=d===void 0?100:d,p=o.hideDisabledOptions,g=o.disabledTime,y=o.disabledHours,A=o.disabledMinutes,x=o.disabledSeconds,C=m.useMemo(function(){return n||t.getNow()},[n,t]),b=m.useCallback(function(k){var N=(g==null?void 0:g(k))||{};return[N.disabledHours||y||mY,N.disabledMinutes||A||mY,N.disabledSeconds||x||mY,N.disabledMilliseconds||mY]},[g,y,A,x]),v=m.useMemo(function(){return b(C)},[C,b]),S=on(v,4),w=S[0],T=S[1],P=S[2],R=S[3],H=m.useCallback(function(k,N,j,Y){var _=yY(0,23,a,p,k()),J=i?_.map(function(q){return $t($t({},q),{},{label:gme(q.value%12||12,2)})}):_,Q=function(le){return yY(0,59,s,p,N(le))},ee=function(le,ie){return yY(0,59,u,p,j(le,ie))},$=function(le,ie,pe){return yY(0,999,f,p,Y(le,ie,pe),3)};return[J,Q,ee,$]},[p,a,i,f,s,u]),D=m.useMemo(function(){return H(w,T,P,R)},[H,w,T,P,R]),E=on(D,4),L=E[0],U=E[1],F=E[2],W=E[3],B=function(N,j){var Y=function(){return L},_=U,J=F,Q=W;if(j){var ee=b(j),$=on(ee,4),q=$[0],le=$[1],ie=$[2],pe=$[3],ne=H(q,le,ie,pe),Z=on(ne,4),he=Z[0],fe=Z[1],se=Z[2],oe=Z[3];Y=function(){return he},_=fe,J=se,Q=oe}var de=Tkt(N,Y,_,J,Q,t);return de};return[B,L,U,F,W]}function Pkt(t){var e=t.mode,n=t.internalMode,o=t.renderExtraFooter,i=t.showNow,r=t.showTime,a=t.onSubmit,l=t.onNow,s=t.invalid,c=t.needConfirm,u=t.generateConfig,d=t.disabledDate,f=m.useContext($2),p=f.prefixCls,g=f.locale,y=f.button,A=y===void 0?"button":y,x=u.getNow(),C=vme(u,r,x),b=on(C,1),v=b[0],S=o==null?void 0:o(e),w=d(x,{type:e}),T=function(){if(!w){var U=v(x);l(U)}},P="".concat(p,"-now"),R="".concat(P,"-btn"),H=i&&m.createElement("li",{className:P},m.createElement("a",{className:Vn(R,w&&"".concat(R,"-disabled")),"aria-disabled":w,onClick:T},n==="date"?g.today:g.now)),D=c&&m.createElement("li",{className:"".concat(p,"-ok")},m.createElement(A,{disabled:s,onClick:a},g.ok)),E=(H||D)&&m.createElement("ul",{className:"".concat(p,"-ranges")},H,D);return!S&&!E?null:m.createElement("div",{className:"".concat(p,"-footer")},S&&m.createElement("div",{className:"".concat(p,"-footer-extra")},S),E)}function NGe(t,e,n){function o(i,r){var a=i.findIndex(function(s){return lh(t,e,s,r,n)});if(a===-1)return[].concat(Wo(i),[r]);var l=Wo(i);return l.splice(a,1),l}return o}var zb=m.createContext(null);function M$(){return m.useContext(zb)}function kH(t,e){var n=t.prefixCls,o=t.generateConfig,i=t.locale,r=t.disabledDate,a=t.minDate,l=t.maxDate,s=t.cellRender,c=t.hoverValue,u=t.hoverRangeValue,d=t.onHover,f=t.values,p=t.pickerValue,g=t.onSelect,y=t.prevIcon,A=t.nextIcon,x=t.superPrevIcon,C=t.superNextIcon,b=o.getNow(),v={now:b,values:f,pickerValue:p,prefixCls:n,disabledDate:r,minDate:a,maxDate:l,cellRender:s,hoverValue:c,hoverRangeValue:u,onHover:d,locale:i,generateConfig:o,onSelect:g,panelType:e,prevIcon:y,nextIcon:A,superPrevIcon:x,superNextIcon:C};return[v,b]}var Fw=m.createContext({});function zW(t){for(var e=t.rowNum,n=t.colNum,o=t.baseDate,i=t.getCellDate,r=t.prefixColumn,a=t.rowClassName,l=t.titleFormat,s=t.getCellText,c=t.getCellClassName,u=t.headerCells,d=t.cellSelection,f=d===void 0?!0:d,p=t.disabledDate,g=M$(),y=g.prefixCls,A=g.panelType,x=g.now,C=g.disabledDate,b=g.cellRender,v=g.onHover,S=g.hoverValue,w=g.hoverRangeValue,T=g.generateConfig,P=g.values,R=g.locale,H=g.onSelect,D=p||C,E="".concat(y,"-cell"),L=m.useContext(Fw),U=L.onCellDblClick,F=function(J){return P.some(function(Q){return Q&&lh(T,R,J,Q,A)})},W=[],B=0;B1&&arguments[1]!==void 0?arguments[1]:!1;ze(qe),A==null||A(qe),We&&Ae(qe)},ge=function(qe,We){ie(qe),We&&re(We),Ae(We,qe)},we=function(qe){if(ve(qe),re(qe),le!==v){var We=["decade","year"],De=[].concat(We,["month"]),Fe={quarter:[].concat(We,["quarter"]),week:[].concat(Wo(De),["week"]),date:[].concat(Wo(De),["date"])},_e=Fe[v]||De,ot=_e.indexOf(le),Ye=_e[ot+1];Ye&&ge(Ye,qe)}},ye=m.useMemo(function(){var Le,qe;if(Array.isArray(T)){var We=on(T,2);Le=We[0],qe=We[1]}else Le=T;return!Le&&!qe?null:(Le=Le||qe,qe=qe||Le,i.isAfter(Le,qe)?[qe,Le]:[Le,qe])},[T,i]),Te=mme(P,R,H),Ie=E[pe]||Lkt[pe]||I$,Ce=m.useContext(Fw),Ee=m.useMemo(function(){return $t($t({},Ce),{},{hideHeader:L})},[Ce,L]),Ue="".concat(U,"-panel"),Ne=R$(t,["showWeek","prevIcon","nextIcon","superPrevIcon","superNextIcon","disabledDate","minDate","maxDate","onHover"]);return m.createElement(Fw.Provider,{value:Ee},m.createElement("div",{ref:F,tabIndex:s,className:Vn(Ue,_t({},"".concat(Ue,"-rtl"),r==="rtl"))},m.createElement(Ie,so({},Ne,{showTime:Q,prefixCls:U,locale:_,generateConfig:i,onModeChange:ge,pickerValue:Re,onPickerValueChange:function(qe){re(qe,!0)},value:oe[0],onSelect:we,values:oe,cellRender:Te,hoverRangeValue:ye,hoverValue:w}))))}var Lie=m.memo(m.forwardRef(Wkt));function Nkt(t){var e=t.picker,n=t.multiplePanel,o=t.pickerValue,i=t.onPickerValueChange,r=t.needConfirm,a=t.onSubmit,l=t.range,s=t.hoverValue,c=m.useContext($2),u=c.prefixCls,d=c.generateConfig,f=m.useCallback(function(C,b){return yD(d,e,C,b)},[d,e]),p=m.useMemo(function(){return f(o,1)},[o,f]),g=function(b){i(f(b,-1))},y={onCellDblClick:function(){r&&a()}},A=e==="time",x=$t($t({},t),{},{hoverValue:null,hoverRangeValue:null,hideHeader:A});return l?x.hoverRangeValue=s:x.hoverValue=s,n?m.createElement("div",{className:"".concat(u,"-panels")},m.createElement(Fw.Provider,{value:$t($t({},y),{},{hideNext:!0})},m.createElement(Lie,x)),m.createElement(Fw.Provider,{value:$t($t({},y),{},{hidePrev:!0})},m.createElement(Lie,so({},x,{pickerValue:p,onPickerValueChange:g})))):m.createElement(Fw.Provider,{value:$t({},y)},m.createElement(Lie,x))}function Sve(t){return typeof t=="function"?t():t}function Ukt(t){var e=t.prefixCls,n=t.presets,o=t.onClick,i=t.onHover;return n.length?m.createElement("div",{className:"".concat(e,"-presets")},m.createElement("ul",null,n.map(function(r,a){var l=r.label,s=r.value;return m.createElement("li",{key:a,onClick:function(){o(Sve(s))},onMouseEnter:function(){i(Sve(s))},onMouseLeave:function(){i(null)}},l)}))):null}function BGe(t){var e=t.panelRender,n=t.internalMode,o=t.picker,i=t.showNow,r=t.range,a=t.multiple,l=t.activeOffset,s=l===void 0?0:l,c=t.presets,u=t.onPresetHover,d=t.onPresetSubmit,f=t.onFocus,p=t.onBlur,g=t.direction,y=t.value,A=t.onSelect,x=t.isInvalid,C=t.defaultOpenValue,b=t.onOk,v=t.onSubmit,S=m.useContext($2),w=S.prefixCls,T="".concat(w,"-panel"),P=g==="rtl",R=m.useRef(null),H=m.useRef(null),D=m.useState(0),E=on(D,2),L=E[0],U=E[1],F=m.useState(0),W=on(F,2),B=W[0],k=W[1],N=function(he){he.offsetWidth&&U(he.offsetWidth)};m.useEffect(function(){if(r){var Z,he=((Z=R.current)===null||Z===void 0?void 0:Z.offsetWidth)||0,fe=L-he;s<=fe?k(0):k(s+he-L)}},[L,s,r]);function j(Z){return Z.filter(function(he){return he})}var Y=m.useMemo(function(){return j(Ib(y))},[y]),_=o==="time"&&!Y.length,J=m.useMemo(function(){return _?j([C]):Y},[_,Y,C]),Q=_?C:Y,ee=m.useMemo(function(){return J.length?J.some(function(Z){return x(Z)}):!0},[J,x]),$=function(){_&&A(C),b(),v()},q=m.createElement("div",{className:"".concat(w,"-panel-layout")},m.createElement(Ukt,{prefixCls:w,presets:c,onClick:d,onHover:u}),m.createElement("div",null,m.createElement(Nkt,so({},t,{value:Q})),m.createElement(Pkt,so({},t,{showNow:a?!1:i,invalid:ee,onSubmit:$}))));e&&(q=e(q));var le="".concat(T,"-container"),ie="marginLeft",pe="marginRight",ne=m.createElement("div",{tabIndex:-1,className:Vn(le,"".concat(w,"-").concat(n,"-panel-container")),style:_t(_t({},P?pe:ie,B),P?ie:pe,"auto"),onFocus:f,onBlur:p},q);return r&&(ne=m.createElement("div",{ref:H,className:Vn("".concat(w,"-range-wrapper"),"".concat(w,"-").concat(o,"-range-wrapper"))},m.createElement("div",{ref:R,className:"".concat(w,"-range-arrow"),style:_t({},P?"right":"left",s)}),m.createElement(xd,{onResize:N},ne))),ne}function jGe(t,e){var n=t.format,o=t.maskFormat,i=t.generateConfig,r=t.locale,a=t.preserveInvalidOnBlur,l=t.inputReadOnly,s=t.required,c=t["aria-required"],u=t.onSubmit,d=t.onFocus,f=t.onBlur,p=t.onInputChange,g=t.onInvalid,y=t.open,A=t.onOpenChange,x=t.onKeyDown,C=t.onChange,b=t.activeHelp,v=t.name,S=t.autoComplete,w=t.id,T=t.value,P=t.invalid,R=t.placeholder,H=t.disabled,D=t.activeIndex,E=t.allHelp,L=t.picker,U=function(_,J){var Q=i.locale.parse(r.locale,_,[J]);return Q&&i.isValidate(Q)?Q:null},F=n[0],W=m.useCallback(function(Y){return ku(Y,{locale:r,format:F,generateConfig:i})},[r,i,F]),B=m.useMemo(function(){return T.map(W)},[T,W]),k=m.useMemo(function(){var Y=L==="time"?8:10,_=typeof F=="function"?F(i.getNow()).length:F.length;return Math.max(Y,_)+2},[F,L,i]),N=function(_){for(var J=0;J=l&&n<=s)return r;var c=Math.min(Math.abs(n-l),Math.abs(n-s));c0?wt:rt));var vt=et+je,ct=rt-wt+1;return String(wt+(ct+vt-wt)%ct)};switch(qe){case"Backspace":case"Delete":We="",De=_e;break;case"ArrowLeft":We="",ot(-1);break;case"ArrowRight":We="",ot(1);break;case"ArrowUp":We="",De=Ye(1);break;case"ArrowDown":We="",De=Ye(-1);break;default:isNaN(Number(qe))||(We=Y+qe,De=We);break}if(We!==null&&(_(We),We.length>=Fe&&(ot(1),_(""))),De!==null){var St=ne.slice(0,de)+gme(De,Fe)+ne.slice(ve);me(St.slice(0,a.length))}pe({})},Ee=m.useRef();Ba(function(){if(!(!L||!a||Ae.current)){if(!fe.match(ne)){me(a);return}return he.current.setSelectionRange(de,ve),Ee.current=za(function(){he.current.setSelectionRange(de,ve)}),function(){za.cancel(Ee.current)}}},[fe,a,L,ne,ee,de,ve,ie,me]);var Ue=a?{onFocus:we,onBlur:Te,onKeyDown:Ce,onMouseDown:re,onMouseUp:ge,onPaste:ze}:{};return m.createElement("div",{ref:Z,className:Vn(H,_t(_t({},"".concat(H,"-active"),n&&i),"".concat(H,"-placeholder"),c))},m.createElement(R,so({ref:he,"aria-invalid":y,autoComplete:"off"},x,{onKeyDown:Ie,onBlur:ye},Ue,{value:ne,onChange:Re})),m.createElement(z$,{type:"suffix",icon:r}),A)}),Gkt=["id","clearIcon","suffixIcon","separator","activeIndex","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","value","onChange","onSubmit","onInputChange","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onActiveOffset","onMouseDown","required","aria-required","autoFocus"],Xkt=["index"];function Jkt(t,e){var n=t.id,o=t.clearIcon,i=t.suffixIcon,r=t.separator,a=r===void 0?"~":r,l=t.activeIndex;t.activeHelp,t.allHelp;var s=t.focused;t.onFocus,t.onBlur,t.onKeyDown,t.locale,t.generateConfig;var c=t.placeholder,u=t.className,d=t.style,f=t.onClick,p=t.onClear,g=t.value;t.onChange,t.onSubmit,t.onInputChange,t.format,t.maskFormat,t.preserveInvalidOnBlur,t.onInvalid;var y=t.disabled,A=t.invalid;t.inputReadOnly;var x=t.direction;t.onOpenChange;var C=t.onActiveOffset,b=t.onMouseDown;t.required,t["aria-required"];var v=t.autoFocus,S=ir(t,Gkt),w=x==="rtl",T=m.useContext($2),P=T.prefixCls,R=m.useMemo(function(){if(typeof n=="string")return[n];var le=n||{};return[le.start,le.end]},[n]),H=m.useRef(),D=m.useRef(),E=m.useRef(),L=function(ie){var pe;return(pe=[D,E][ie])===null||pe===void 0?void 0:pe.current};m.useImperativeHandle(e,function(){return{nativeElement:H.current,focus:function(ie){if(gr(ie)==="object"){var pe,ne=ie||{},Z=ne.index,he=Z===void 0?0:Z,fe=ir(ne,Xkt);(pe=L(he))===null||pe===void 0||pe.focus(fe)}else{var se;(se=L(ie??0))===null||se===void 0||se.focus()}},blur:function(){var ie,pe;(ie=L(0))===null||ie===void 0||ie.blur(),(pe=L(1))===null||pe===void 0||pe.blur()}}});var U=YGe(S),F=m.useMemo(function(){return Array.isArray(c)?c:[c,c]},[c]),W=jGe($t($t({},t),{},{id:R,placeholder:F})),B=on(W,1),k=B[0],N=w?"right":"left",j=m.useState(_t({position:"absolute",width:0},N,0)),Y=on(j,2),_=Y[0],J=Y[1],Q=Ia(function(){var le=L(l);if(le){var ie=le.nativeElement,pe=ie.offsetWidth,ne=ie.offsetLeft,Z=ie.offsetParent,he=ne;if(w){var fe=Z,se=getComputedStyle(fe);he=fe.offsetWidth-parseFloat(se.borderRightWidth)-parseFloat(se.borderLeftWidth)-ne-pe}J(function(oe){return $t($t({},oe),{},_t({width:pe},N,he))}),C(l===0?0:he)}});m.useEffect(function(){Q()},[l]);var ee=o&&(g[0]&&!y[0]||g[1]&&!y[1]),$=v&&!y[0],q=v&&!$&&!y[1];return m.createElement(xd,{onResize:Q},m.createElement("div",so({},U,{className:Vn(P,"".concat(P,"-range"),_t(_t(_t(_t({},"".concat(P,"-focused"),s),"".concat(P,"-disabled"),y.every(function(le){return le})),"".concat(P,"-invalid"),A.some(function(le){return le})),"".concat(P,"-rtl"),w),u),style:d,ref:H,onClick:f,onMouseDown:function(ie){var pe=ie.target;pe!==D.current.inputElement&&pe!==E.current.inputElement&&ie.preventDefault(),b==null||b(ie)}}),m.createElement(k0e,so({ref:D},k(0),{autoFocus:$,"date-range":"start"})),m.createElement("div",{className:"".concat(P,"-range-separator")},a),m.createElement(k0e,so({ref:E},k(1),{autoFocus:q,"date-range":"end"})),m.createElement("div",{className:"".concat(P,"-active-bar"),style:_}),m.createElement(z$,{type:"suffix",icon:i}),ee&&m.createElement(E0e,{icon:o,onClear:p})))}var Kkt=m.forwardRef(Jkt);function Pve(t,e){var n=t??e;return Array.isArray(n)?n:[n,n]}function wY(t){return t===1?"end":"start"}function qkt(t,e){var n=CGe(t,function(){var bo=t.disabled,Ro=t.allowEmpty,oi=Pve(bo,!1),go=Pve(Ro,!1);return{disabled:oi,allowEmpty:go}}),o=on(n,6),i=o[0],r=o[1],a=o[2],l=o[3],s=o[4],c=o[5],u=i.prefixCls,d=i.styles,f=i.classNames,p=i.defaultValue,g=i.value,y=i.needConfirm,A=i.onKeyDown,x=i.disabled,C=i.allowEmpty,b=i.disabledDate,v=i.minDate,S=i.maxDate,w=i.defaultOpen,T=i.open,P=i.onOpenChange,R=i.locale,H=i.generateConfig,D=i.picker,E=i.showNow,L=i.showToday,U=i.showTime,F=i.mode,W=i.onPanelChange,B=i.onCalendarChange,k=i.onOk,N=i.defaultPickerValue,j=i.pickerValue,Y=i.onPickerValueChange,_=i.inputReadOnly,J=i.suffixIcon,Q=i.onFocus,ee=i.onBlur,$=i.presets,q=i.ranges,le=i.components,ie=i.cellRender,pe=i.dateRender,ne=i.monthCellRender,Z=i.onClick,he=HGe(e),fe=RGe(T,w,x,P),se=on(fe,2),oe=se[0],de=se[1],ve=function(Ro,oi){(x.some(function(go){return!go})||!Ro)&&de(Ro,oi)},Pe=FGe(H,R,l,!0,!1,p,g,B,k),me=on(Pe,5),Re=me[0],ze=me[1],Ae=me[2],re=me[3],ge=me[4],we=Ae(),ye=IGe(x,C),Te=on(ye,7),Ie=Te[0],Ce=Te[1],Ee=Te[2],Ue=Te[3],Ne=Te[4],Le=Te[5],qe=Te[6],We=function(Ro,oi){Ce(!0),Q==null||Q(Ro,{range:wY(oi??Ue)})},De=function(Ro,oi){Ce(!1),ee==null||ee(Ro,{range:wY(oi??Ue)})},Fe=m.useMemo(function(){if(!U)return null;var bo=U.disabledTime,Ro=bo?function(oi){var go=wY(Ue),So=gGe(we,qe,Ue);return bo(oi,go,{from:So})}:void 0;return $t($t({},U),{},{disabledTime:Ro})},[U,Ue,we,qe]),_e=Rs([D,D],{value:F}),ot=on(_e,2),Ye=ot[0],St=ot[1],dt=Ye[Ue]||D,je=dt==="date"&&Fe?"datetime":dt,at=je===D&&je!=="time",ut=WGe(D,dt,E,L,!0),wt=LGe(i,Re,ze,Ae,re,x,l,Ie,oe,c),rt=on(wt,2),Qe=rt[0],Oe=rt[1],et=xkt(we,x,qe,H,R,b),vt=yGe(we,c,C),ct=on(vt,2),lt=ct[0],tt=ct[1],it=zGe(H,R,we,Ye,oe,Ue,r,at,N,j,Fe==null?void 0:Fe.defaultOpenValue,Y,v,S),At=on(it,2),Mt=At[0],st=At[1],ft=Ia(function(bo,Ro,oi){var go=uE(Ye,Ue,Ro);if((go[0]!==Ye[0]||go[1]!==Ye[1])&&St(go),W&&oi!==!1){var So=Wo(we);bo&&(So[Ue]=bo),W(So,go)}}),Rt=function(Ro,oi){return uE(we,oi,Ro)},zt=function(Ro,oi){var go=we;Ro&&(go=Rt(Ro,Ue));var So=Le(go);re(go),Qe(Ue,So===null),So===null?ve(!1,{force:!0}):oi||he.current.focus({index:So})},Xe=function(Ro){if(!he.current.nativeElement.contains(document.activeElement)){var oi=x.findIndex(function(go){return!go});oi>=0&&he.current.focus({index:oi})}ve(!0),Z==null||Z(Ro)},ht=function(){Oe(null),ve(!1,{force:!0})},Je=m.useState(null),mt=on(Je,2),Ge=mt[0],xt=mt[1],It=m.useState(null),Tt=on(It,2),Dt=Tt[0],Lt=Tt[1],Et=m.useMemo(function(){return Dt||we},[we,Dt]);m.useEffect(function(){oe||Lt(null)},[oe]);var an=m.useState(0),Jt=on(an,2),hn=Jt[0],cn=Jt[1],Sn=MGe($,q),Pn=function(Ro){Lt(Ro),xt("preset")},Un=function(Ro){var oi=Oe(Ro);oi&&ve(!1,{force:!0})},Ai=function(Ro){zt(Ro)},vo=function(Ro){Lt(Ro?Rt(Ro,Ue):null),xt("cell")},Oo=function(Ro){ve(!0),We(Ro)},li=function(Ro){Ee("panel");var oi=uE(we,Ue,Ro);re(oi),!y&&!a&&r===je&&zt(Ro)},po=function(){ve(!1)},eo=mme(ie,pe,ne,wY(Ue)),uo=we[Ue]||null,qo=Ia(function(bo){return c(bo,{activeIndex:Ue})}),Hi=m.useMemo(function(){var bo=gf(i,!1),Ro=MH(i,[].concat(Wo(Object.keys(bo)),["onChange","onCalendarChange","style","className","onPanelChange","disabledTime"]));return Ro},[i]),vi=m.createElement(BGe,so({},Hi,{showNow:ut,showTime:Fe,range:!0,multiplePanel:at,activeOffset:hn,disabledDate:et,onFocus:Oo,onBlur:De,picker:D,mode:dt,internalMode:je,onPanelChange:ft,format:s,value:uo,isInvalid:qo,onChange:null,onSelect:li,pickerValue:Mt,defaultOpenValue:Ib(U==null?void 0:U.defaultOpenValue)[Ue],onPickerValueChange:st,hoverValue:Et,onHover:vo,needConfirm:y,onSubmit:zt,onOk:ge,presets:Sn,onPresetHover:Pn,onPresetSubmit:Un,onNow:Ai,cellRender:eo})),Cn=function(Ro,oi){var go=Rt(Ro,oi);re(go)},yn=function(){Ee("input")},to=function(Ro,oi){Ee("input"),ve(!0,{inherit:!0}),Ne(oi),We(Ro,oi)},Do=function(Ro,oi){ve(!1),De(Ro,oi)},ni=function(Ro,oi){Ro.key==="Tab"&&zt(null,!0),A==null||A(Ro,oi)},Fo=m.useMemo(function(){return{prefixCls:u,locale:R,generateConfig:H,button:le.button,input:le.input}},[u,R,H,le.button,le.input]);return Ba(function(){oe&&Ue!==void 0&&ft(null,D,!1)},[oe,Ue,D]),Ba(function(){var bo=Ee();!oe&&bo==="input"&&(ve(!1),zt(null,!0)),!oe&&a&&!y&&bo==="panel"&&(ve(!0),zt())},[oe]),m.createElement($2.Provider,{value:Fo},m.createElement(hGe,so({},mGe(i),{popupElement:vi,popupStyle:d.popup,popupClassName:f.popup,visible:oe,onClose:po,range:!0}),m.createElement(Kkt,so({},i,{ref:he,suffixIcon:J,activeIndex:Ie||oe?Ue:null,activeHelp:!!Dt,allHelp:!!Dt&&Ge==="preset",focused:Ie,onFocus:to,onBlur:Do,onKeyDown:ni,onSubmit:zt,value:Et,maskFormat:s,onChange:Cn,onInputChange:yn,format:l,inputReadOnly:_,disabled:x,open:oe,onOpenChange:ve,onClick:Xe,onClear:ht,invalid:lt,onInvalid:tt,onActiveOffset:cn}))))}var $kt=m.forwardRef(qkt);function Qkt(t){var e=t.prefixCls,n=t.value,o=t.onRemove,i=t.removeIcon,r=i===void 0?"×":i,a=t.formatDate,l=t.disabled,s=t.maxTagCount,c=t.placeholder,u="".concat(e,"-selector"),d="".concat(e,"-selection"),f="".concat(d,"-overflow");function p(A,x){return m.createElement("span",{className:Vn("".concat(d,"-item")),title:typeof A=="string"?A:null},m.createElement("span",{className:"".concat(d,"-item-content")},A),!l&&x&&m.createElement("span",{onMouseDown:function(b){b.preventDefault()},onClick:x,className:"".concat(d,"-item-remove")},r))}function g(A){var x=a(A),C=function(v){v&&v.stopPropagation(),o(A)};return p(x,C)}function y(A){var x="+ ".concat(A.length," ...");return p(x)}return m.createElement("div",{className:u},m.createElement(H2,{prefixCls:f,data:n,renderItem:g,renderRest:y,itemKey:function(x){return a(x)},maxCount:s}),!n.length&&m.createElement("span",{className:"".concat(e,"-selection-placeholder")},c))}var Zkt=["id","open","clearIcon","suffixIcon","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","internalPicker","value","onChange","onSubmit","onInputChange","multiple","maxTagCount","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onMouseDown","required","aria-required","autoFocus","removeIcon"];function eFt(t,e){t.id;var n=t.open,o=t.clearIcon,i=t.suffixIcon;t.activeHelp,t.allHelp;var r=t.focused;t.onFocus,t.onBlur,t.onKeyDown;var a=t.locale,l=t.generateConfig,s=t.placeholder,c=t.className,u=t.style,d=t.onClick,f=t.onClear,p=t.internalPicker,g=t.value,y=t.onChange,A=t.onSubmit;t.onInputChange;var x=t.multiple,C=t.maxTagCount;t.format,t.maskFormat,t.preserveInvalidOnBlur,t.onInvalid;var b=t.disabled,v=t.invalid;t.inputReadOnly;var S=t.direction;t.onOpenChange;var w=t.onMouseDown;t.required,t["aria-required"];var T=t.autoFocus,P=t.removeIcon,R=ir(t,Zkt),H=S==="rtl",D=m.useContext($2),E=D.prefixCls,L=m.useRef(),U=m.useRef();m.useImperativeHandle(e,function(){return{nativeElement:L.current,focus:function(ee){var $;($=U.current)===null||$===void 0||$.focus(ee)},blur:function(){var ee;(ee=U.current)===null||ee===void 0||ee.blur()}}});var F=YGe(R),W=function(ee){y([ee])},B=function(ee){var $=g.filter(function(q){return q&&!lh(l,a,q,ee,p)});y($),n||A()},k=jGe($t($t({},t),{},{onChange:W}),function(Q){var ee=Q.valueTexts;return{value:ee[0]||"",active:r}}),N=on(k,2),j=N[0],Y=N[1],_=!!(o&&g.length&&!b),J=x?m.createElement(m.Fragment,null,m.createElement(Qkt,{prefixCls:E,value:g,onRemove:B,formatDate:Y,maxTagCount:C,disabled:b,removeIcon:P,placeholder:s}),m.createElement("input",{className:"".concat(E,"-multiple-input"),value:g.map(Y).join(","),ref:U,readOnly:!0,autoFocus:T}),m.createElement(z$,{type:"suffix",icon:i}),_&&m.createElement(E0e,{icon:o,onClear:f})):m.createElement(k0e,so({ref:U},j(),{autoFocus:T,suffixIcon:i,clearIcon:_&&m.createElement(E0e,{icon:o,onClear:f}),showActiveCls:!1}));return m.createElement("div",so({},F,{className:Vn(E,_t(_t(_t(_t(_t({},"".concat(E,"-multiple"),x),"".concat(E,"-focused"),r),"".concat(E,"-disabled"),b),"".concat(E,"-invalid"),v),"".concat(E,"-rtl"),H),c),style:u,ref:L,onClick:d,onMouseDown:function(ee){var $,q=ee.target;q!==(($=U.current)===null||$===void 0?void 0:$.inputElement)&&ee.preventDefault(),w==null||w(ee)}}),J)}var tFt=m.forwardRef(eFt);function nFt(t,e){var n=CGe(t),o=on(n,6),i=o[0],r=o[1],a=o[2],l=o[3],s=o[4],c=o[5],u=i,d=u.prefixCls,f=u.styles,p=u.classNames,g=u.order,y=u.defaultValue,A=u.value,x=u.needConfirm,C=u.onChange,b=u.onKeyDown,v=u.disabled,S=u.disabledDate,w=u.minDate,T=u.maxDate,P=u.defaultOpen,R=u.open,H=u.onOpenChange,D=u.locale,E=u.generateConfig,L=u.picker,U=u.showNow,F=u.showToday,W=u.showTime,B=u.mode,k=u.onPanelChange,N=u.onCalendarChange,j=u.onOk,Y=u.multiple,_=u.defaultPickerValue,J=u.pickerValue,Q=u.onPickerValueChange,ee=u.inputReadOnly,$=u.suffixIcon,q=u.removeIcon,le=u.onFocus,ie=u.onBlur,pe=u.presets,ne=u.components,Z=u.cellRender,he=u.dateRender,fe=u.monthCellRender,se=u.onClick,oe=HGe(e);function de(yn){return yn===null?null:Y?yn:yn[0]}var ve=NGe(E,D,r),Pe=RGe(R,P,[v],H),me=on(Pe,2),Re=me[0],ze=me[1],Ae=function(to,Do,ni){if(N){var Fo=$t({},ni);delete Fo.range,N(de(to),de(Do),Fo)}},re=function(to){j==null||j(de(to))},ge=FGe(E,D,l,!1,g,y,A,Ae,re),we=on(ge,5),ye=we[0],Te=we[1],Ie=we[2],Ce=we[3],Ee=we[4],Ue=Ie(),Ne=IGe([v]),Le=on(Ne,4),qe=Le[0],We=Le[1],De=Le[2],Fe=Le[3],_e=function(to){We(!0),le==null||le(to,{})},ot=function(to){We(!1),ie==null||ie(to,{})},Ye=Rs(L,{value:B}),St=on(Ye,2),dt=St[0],je=St[1],at=dt==="date"&&W?"datetime":dt,ut=WGe(L,dt,U,F),wt=C&&function(yn,to){C(de(yn),de(to))},rt=LGe($t($t({},i),{},{onChange:wt}),ye,Te,Ie,Ce,[],l,qe,Re,c),Qe=on(rt,2),Oe=Qe[1],et=yGe(Ue,c),vt=on(et,2),ct=vt[0],lt=vt[1],tt=m.useMemo(function(){return ct.some(function(yn){return yn})},[ct]),it=function(to,Do){if(Q){var ni=$t($t({},Do),{},{mode:Do.mode[0]});delete ni.range,Q(to[0],ni)}},At=zGe(E,D,Ue,[dt],Re,Fe,r,!1,_,J,Ib(W==null?void 0:W.defaultOpenValue),it,w,T),Mt=on(At,2),st=Mt[0],ft=Mt[1],Rt=Ia(function(yn,to,Do){if(je(to),k&&Do!==!1){var ni=yn||Ue[Ue.length-1];k(ni,to)}}),zt=function(){Oe(Ie()),ze(!1,{force:!0})},Xe=function(to){!v&&!oe.current.nativeElement.contains(document.activeElement)&&oe.current.focus(),ze(!0),se==null||se(to)},ht=function(){Oe(null),ze(!1,{force:!0})},Je=m.useState(null),mt=on(Je,2),Ge=mt[0],xt=mt[1],It=m.useState(null),Tt=on(It,2),Dt=Tt[0],Lt=Tt[1],Et=m.useMemo(function(){var yn=[Dt].concat(Wo(Ue)).filter(function(to){return to});return Y?yn:yn.slice(0,1)},[Ue,Dt,Y]),an=m.useMemo(function(){return!Y&&Dt?[Dt]:Ue.filter(function(yn){return yn})},[Ue,Dt,Y]);m.useEffect(function(){Re||Lt(null)},[Re]);var Jt=MGe(pe),hn=function(to){Lt(to),xt("preset")},cn=function(to){var Do=Y?ve(Ie(),to):[to],ni=Oe(Do);ni&&!Y&&ze(!1,{force:!0})},Sn=function(to){cn(to)},Pn=function(to){Lt(to),xt("cell")},Un=function(to){ze(!0),_e(to)},Ai=function(to){De("panel");var Do=Y?ve(Ie(),to):[to];Ce(Do),!x&&!a&&r===at&&zt()},vo=function(){ze(!1)},Oo=mme(Z,he,fe),li=m.useMemo(function(){var yn=gf(i,!1),to=MH(i,[].concat(Wo(Object.keys(yn)),["onChange","onCalendarChange","style","className","onPanelChange"]));return $t($t({},to),{},{multiple:i.multiple})},[i]),po=m.createElement(BGe,so({},li,{showNow:ut,showTime:W,disabledDate:S,onFocus:Un,onBlur:ot,picker:L,mode:dt,internalMode:at,onPanelChange:Rt,format:s,value:Ue,isInvalid:c,onChange:null,onSelect:Ai,pickerValue:st,defaultOpenValue:W==null?void 0:W.defaultOpenValue,onPickerValueChange:ft,hoverValue:Et,onHover:Pn,needConfirm:x,onSubmit:zt,onOk:Ee,presets:Jt,onPresetHover:hn,onPresetSubmit:cn,onNow:Sn,cellRender:Oo})),eo=function(to){Ce(to)},uo=function(){De("input")},qo=function(to){De("input"),ze(!0,{inherit:!0}),_e(to)},Hi=function(to){ze(!1),ot(to)},vi=function(to,Do){to.key==="Tab"&&zt(),b==null||b(to,Do)},Cn=m.useMemo(function(){return{prefixCls:d,locale:D,generateConfig:E,button:ne.button,input:ne.input}},[d,D,E,ne.button,ne.input]);return Ba(function(){Re&&Fe!==void 0&&Rt(null,L,!1)},[Re,Fe,L]),Ba(function(){var yn=De();!Re&&yn==="input"&&(ze(!1),zt()),!Re&&a&&!x&&yn==="panel"&&(ze(!0),zt())},[Re]),m.createElement($2.Provider,{value:Cn},m.createElement(hGe,so({},mGe(i),{popupElement:po,popupStyle:f.popup,popupClassName:p.popup,visible:Re,onClose:vo}),m.createElement(tFt,so({},i,{ref:oe,suffixIcon:$,removeIcon:q,activeHelp:!!Dt,allHelp:!!Dt&&Ge==="preset",focused:qe,onFocus:qo,onBlur:Hi,onKeyDown:vi,onSubmit:zt,value:an,maskFormat:s,onChange:eo,onInputChange:uo,internalPicker:r,format:l,inputReadOnly:ee,disabled:v,open:Re,onOpenChange:ze,onClick:Xe,onClear:ht,invalid:tt,onInvalid:function(to){lt(to,0)}}))))}var oFt=m.forwardRef(nFt);const OGe=m.createContext(null),iFt=OGe.Provider,_Ge=m.createContext(null),rFt=_Ge.Provider;var aFt=["prefixCls","className","style","checked","disabled","defaultChecked","type","title","onChange"],VGe=m.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-checkbox":n,i=t.className,r=t.style,a=t.checked,l=t.disabled,s=t.defaultChecked,c=s===void 0?!1:s,u=t.type,d=u===void 0?"checkbox":u,f=t.title,p=t.onChange,g=ir(t,aFt),y=m.useRef(null),A=Rs(c,{value:a}),x=on(A,2),C=x[0],b=x[1];m.useImperativeHandle(e,function(){return{focus:function(T){var P;(P=y.current)===null||P===void 0||P.focus(T)},blur:function(){var T;(T=y.current)===null||T===void 0||T.blur()},input:y.current}});var v=Vn(o,i,_t(_t({},"".concat(o,"-checked"),C),"".concat(o,"-disabled"),l)),S=function(T){l||("checked"in t||b(T.target.checked),p==null||p({target:$t($t({},t),{},{type:d,checked:T.target.checked}),stopPropagation:function(){T.stopPropagation()},preventDefault:function(){T.preventDefault()},nativeEvent:T.nativeEvent}))};return m.createElement("span",{className:v,title:f,style:r},m.createElement("input",so({},g,{className:"".concat(o,"-input"),ref:y,onChange:S,disabled:l,checked:!!C,type:d})),m.createElement("span",{className:"".concat(o,"-inner")}))});const lFt=t=>{const{componentCls:e,antCls:n}=t,o=`${e}-group`;return{[o]:Object.assign(Object.assign({},$a(t)),{display:"inline-block",fontSize:0,[`&${o}-rtl`]:{direction:"rtl"},[`${n}-badge ${n}-badge-count`]:{zIndex:1},[`> ${n}-badge:not(:first-child) > ${n}-button-wrapper`]:{borderInlineStart:"none"}})}},sFt=t=>{const{componentCls:e,wrapperMarginInlineEnd:n,colorPrimary:o,radioSize:i,motionDurationSlow:r,motionDurationMid:a,motionEaseInOutCirc:l,colorBgContainer:s,colorBorder:c,lineWidth:u,colorBgContainerDisabled:d,colorTextDisabled:f,paddingXS:p,dotColorDisabled:g,lineType:y,radioColor:A,radioBgColor:x,calc:C}=t,b=`${e}-inner`,S=C(i).sub(C(4).mul(2)),w=C(1).mul(i).equal();return{[`${e}-wrapper`]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:n,cursor:"pointer",[`&${e}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:t.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${e}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${Ut(u)} ${y} ${o}`,borderRadius:"50%",visibility:"hidden",opacity:0,content:'""'},[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${e}-wrapper:hover &, + &:hover ${b}`]:{borderColor:o},[`${e}-input:focus-visible + ${b}`]:Object.assign({},n7(t)),[`${e}:hover::after, ${e}-wrapper:hover &::after`]:{visibility:"visible"},[`${e}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:w,height:w,marginBlockStart:C(1).mul(i).div(-2).equal(),marginInlineStart:C(1).mul(i).div(-2).equal(),backgroundColor:A,borderBlockStart:0,borderInlineStart:0,borderRadius:w,transform:"scale(0)",opacity:0,transition:`all ${r} ${l}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:w,height:w,backgroundColor:s,borderColor:c,borderStyle:"solid",borderWidth:u,borderRadius:"50%",transition:`all ${a}`},[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${e}-checked`]:{[b]:{borderColor:o,backgroundColor:x,"&::after":{transform:`scale(${t.calc(t.dotSize).div(i).equal()})`,opacity:1,transition:`all ${r} ${l}`}}},[`${e}-disabled`]:{cursor:"not-allowed",[b]:{backgroundColor:d,borderColor:c,cursor:"not-allowed","&::after":{backgroundColor:g}},[`${e}-input`]:{cursor:"not-allowed"},[`${e}-disabled + span`]:{color:f,cursor:"not-allowed"},[`&${e}-checked`]:{[b]:{"&::after":{transform:`scale(${C(S).div(i).equal({unit:!1})})`}}}},[`span${e} + *`]:{paddingInlineStart:p,paddingInlineEnd:p}})}},cFt=t=>{const{buttonColor:e,controlHeight:n,componentCls:o,lineWidth:i,lineType:r,colorBorder:a,motionDurationSlow:l,motionDurationMid:s,buttonPaddingInline:c,fontSize:u,buttonBg:d,fontSizeLG:f,controlHeightLG:p,controlHeightSM:g,paddingXS:y,borderRadius:A,borderRadiusSM:x,borderRadiusLG:C,buttonCheckedBg:b,buttonSolidCheckedColor:v,colorTextDisabled:S,colorBgContainerDisabled:w,buttonCheckedBgDisabled:T,buttonCheckedColorDisabled:P,colorPrimary:R,colorPrimaryHover:H,colorPrimaryActive:D,buttonSolidCheckedBg:E,buttonSolidCheckedHoverBg:L,buttonSolidCheckedActiveBg:U,calc:F}=t;return{[`${o}-button-wrapper`]:{position:"relative",display:"inline-block",height:n,margin:0,paddingInline:c,paddingBlock:0,color:e,fontSize:u,lineHeight:Ut(F(n).sub(F(i).mul(2)).equal()),background:d,border:`${Ut(i)} ${r} ${a}`,borderBlockStartWidth:F(i).add(.02).equal(),borderInlineStartWidth:0,borderInlineEndWidth:i,cursor:"pointer",transition:[`color ${s}`,`background ${s}`,`box-shadow ${s}`].join(","),a:{color:e},[`> ${o}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:F(i).mul(-1).equal(),insetInlineStart:F(i).mul(-1).equal(),display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:i,paddingInline:0,backgroundColor:a,transition:`background-color ${l}`,content:'""'}},"&:first-child":{borderInlineStart:`${Ut(i)} ${r} ${a}`,borderStartStartRadius:A,borderEndStartRadius:A},"&:last-child":{borderStartEndRadius:A,borderEndEndRadius:A},"&:first-child:last-child":{borderRadius:A},[`${o}-group-large &`]:{height:p,fontSize:f,lineHeight:Ut(F(p).sub(F(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:C,borderEndStartRadius:C},"&:last-child":{borderStartEndRadius:C,borderEndEndRadius:C}},[`${o}-group-small &`]:{height:g,paddingInline:F(y).sub(i).equal(),paddingBlock:0,lineHeight:Ut(F(g).sub(F(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:x,borderEndStartRadius:x},"&:last-child":{borderStartEndRadius:x,borderEndEndRadius:x}},"&:hover":{position:"relative",color:R},"&:has(:focus-visible)":Object.assign({},n7(t)),[`${o}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${o}-button-wrapper-disabled)`]:{zIndex:1,color:R,background:b,borderColor:R,"&::before":{backgroundColor:R},"&:first-child":{borderColor:R},"&:hover":{color:H,borderColor:H,"&::before":{backgroundColor:H}},"&:active":{color:D,borderColor:D,"&::before":{backgroundColor:D}}},[`${o}-group-solid &-checked:not(${o}-button-wrapper-disabled)`]:{color:v,background:E,borderColor:E,"&:hover":{color:v,background:L,borderColor:L},"&:active":{color:v,background:U,borderColor:U}},"&-disabled":{color:S,backgroundColor:w,borderColor:a,cursor:"not-allowed","&:first-child, &:hover":{color:S,backgroundColor:w,borderColor:a}},[`&-disabled${o}-button-wrapper-checked`]:{color:P,backgroundColor:T,borderColor:a,boxShadow:"none"}}}},uFt=t=>{const{wireframe:e,padding:n,marginXS:o,lineWidth:i,fontSizeLG:r,colorText:a,colorBgContainer:l,colorTextDisabled:s,controlItemBgActiveDisabled:c,colorTextLightSolid:u,colorPrimary:d,colorPrimaryHover:f,colorPrimaryActive:p,colorWhite:g}=t,y=4,A=r,x=e?A-y*2:A-(y+i)*2;return{radioSize:A,dotSize:x,dotColorDisabled:s,buttonSolidCheckedColor:u,buttonSolidCheckedBg:d,buttonSolidCheckedHoverBg:f,buttonSolidCheckedActiveBg:p,buttonBg:l,buttonCheckedBg:l,buttonColor:a,buttonCheckedBgDisabled:c,buttonCheckedColorDisabled:s,buttonPaddingInline:n-i,wrapperMarginInlineEnd:o,radioColor:e?d:g,radioBgColor:e?l:d}},GGe=Fl("Radio",t=>{const{controlOutline:e,controlOutlineWidth:n}=t,o=`0 0 0 ${Ut(n)} ${e}`,r=Zr(t,{radioFocusShadow:o,radioButtonFocusShadow:o});return[lFt(r),sFt(r),cFt(r)]},uFt,{unitless:{radioSize:!0,dotSize:!0}});var dFt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const i=m.useContext(OGe),r=m.useContext(_Ge),{getPrefixCls:a,direction:l,radio:s}=m.useContext(Mi),c=m.useRef(null),u=q2(e,c),{isFormItemInput:d}=m.useContext(Qp),f=U=>{var F,W;(F=t.onChange)===null||F===void 0||F.call(t,U),(W=i==null?void 0:i.onChange)===null||W===void 0||W.call(i,U)},{prefixCls:p,className:g,rootClassName:y,children:A,style:x,title:C}=t,b=dFt(t,["prefixCls","className","rootClassName","children","style","title"]),v=a("radio",p),S=((i==null?void 0:i.optionType)||r)==="button",w=S?`${v}-button`:v,T=j0(v),[P,R,H]=GGe(v,T),D=Object.assign({},b),E=m.useContext($p);i&&(D.name=i.name,D.onChange=f,D.checked=t.value===i.value,D.disabled=(n=D.disabled)!==null&&n!==void 0?n:i.disabled),D.disabled=(o=D.disabled)!==null&&o!==void 0?o:E;const L=Gn(`${w}-wrapper`,{[`${w}-wrapper-checked`]:D.checked,[`${w}-wrapper-disabled`]:D.disabled,[`${w}-wrapper-rtl`]:l==="rtl",[`${w}-wrapper-in-form-item`]:d},s==null?void 0:s.className,g,y,R,H,T);return P(m.createElement(wW,{component:"Radio",disabled:D.disabled},m.createElement("label",{className:L,style:Object.assign(Object.assign({},s==null?void 0:s.style),x),onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,title:C},m.createElement(VGe,Object.assign({},D,{className:Gn(D.className,!S&&s$),type:"radio",prefixCls:w,ref:u})),A!==void 0?m.createElement("span",null,A):null)))},RG=m.forwardRef(fFt),hFt=m.forwardRef((t,e)=>{const{getPrefixCls:n,direction:o}=m.useContext(Mi),[i,r]=_6(t.defaultValue,{value:t.value}),a=U=>{const F=i,W=U.target.value;"value"in t||r(W);const{onChange:B}=t;B&&W!==F&&B(U)},{prefixCls:l,className:s,rootClassName:c,options:u,buttonStyle:d="outline",disabled:f,children:p,size:g,style:y,id:A,onMouseEnter:x,onMouseLeave:C,onFocus:b,onBlur:v}=t,S=n("radio",l),w=`${S}-group`,T=j0(S),[P,R,H]=GGe(S,T);let D=p;u&&u.length>0&&(D=u.map(U=>typeof U=="string"||typeof U=="number"?m.createElement(RG,{key:U.toString(),prefixCls:S,disabled:f,value:U,checked:i===U},U):m.createElement(RG,{key:`radio-group-value-options-${U.value}`,prefixCls:S,disabled:U.disabled||f,value:U.value,checked:i===U.value,title:U.title,style:U.style,id:U.id,required:U.required},U.label)));const E=Cd(g),L=Gn(w,`${w}-${d}`,{[`${w}-${E}`]:E,[`${w}-rtl`]:o==="rtl"},s,c,R,H,T);return P(m.createElement("div",Object.assign({},jge(t,{aria:!0,data:!0}),{className:L,style:y,onMouseEnter:x,onMouseLeave:C,onFocus:b,onBlur:v,id:A,ref:e}),m.createElement(iFt,{value:{onChange:a,value:i,disabled:t.disabled,name:t.name,optionType:t.optionType}},D)))}),pFt=m.memo(hFt);var gFt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n}=m.useContext(Mi),{prefixCls:o}=t,i=gFt(t,["prefixCls"]),r=n("radio",o);return m.createElement(rFt,{value:"button"},m.createElement(RG,Object.assign({prefixCls:r},i,{type:"radio",ref:e})))},yFt=m.forwardRef(mFt),Be=RG;Be.Button=yFt;Be.Group=pFt;Be.__ANT_RADIO=!0;function DW(t){return Zr(t,{inputAffixPadding:t.paddingXXS})}const EW=t=>{const{controlHeight:e,fontSize:n,lineHeight:o,lineWidth:i,controlHeightSM:r,controlHeightLG:a,fontSizeLG:l,lineHeightLG:s,paddingSM:c,controlPaddingHorizontalSM:u,controlPaddingHorizontal:d,colorFillAlter:f,colorPrimaryHover:p,colorPrimary:g,controlOutlineWidth:y,controlOutline:A,colorErrorOutline:x,colorWarningOutline:C,colorBgContainer:b}=t;return{paddingBlock:Math.max(Math.round((e-n*o)/2*10)/10-i,0),paddingBlockSM:Math.max(Math.round((r-n*o)/2*10)/10-i,0),paddingBlockLG:Math.ceil((a-l*s)/2*10)/10-i,paddingInline:c-i,paddingInlineSM:u-i,paddingInlineLG:d-i,addonBg:f,activeBorderColor:g,hoverBorderColor:p,activeShadow:`0 0 0 ${y}px ${A}`,errorActiveShadow:`0 0 0 ${y}px ${x}`,warningActiveShadow:`0 0 0 ${y}px ${C}`,hoverBg:b,activeBg:b,inputFontSize:n,inputFontSizeLG:l,inputFontSizeSM:n}},AFt=t=>({borderColor:t.hoverBorderColor,backgroundColor:t.hoverBg}),D$=t=>({color:t.colorTextDisabled,backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"input[disabled], textarea[disabled]":{cursor:"not-allowed"},"&:hover:not([disabled])":Object.assign({},AFt(Zr(t,{hoverBorderColor:t.colorBorder,hoverBg:t.colorBgContainerDisabled})))}),xme=(t,e)=>({background:t.colorBgContainer,borderWidth:t.lineWidth,borderStyle:t.lineType,borderColor:e.borderColor,"&:hover":{borderColor:e.hoverBorderColor,backgroundColor:t.hoverBg},"&:focus, &:focus-within":{borderColor:e.activeBorderColor,boxShadow:e.activeShadow,outline:0,backgroundColor:t.activeBg}}),Cve=(t,e)=>({[`&${t.componentCls}-status-${e.status}:not(${t.componentCls}-disabled)`]:Object.assign(Object.assign({},xme(t,e)),{[`${t.componentCls}-prefix, ${t.componentCls}-suffix`]:{color:e.affixColor}}),[`&${t.componentCls}-status-${e.status}${t.componentCls}-disabled`]:{borderColor:e.borderColor}}),bme=(t,e)=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},xme(t,{borderColor:t.colorBorder,hoverBorderColor:t.hoverBorderColor,activeBorderColor:t.activeBorderColor,activeShadow:t.activeShadow})),{[`&${t.componentCls}-disabled, &[disabled]`]:Object.assign({},D$(t))}),Cve(t,{status:"error",borderColor:t.colorError,hoverBorderColor:t.colorErrorBorderHover,activeBorderColor:t.colorError,activeShadow:t.errorActiveShadow,affixColor:t.colorError})),Cve(t,{status:"warning",borderColor:t.colorWarning,hoverBorderColor:t.colorWarningBorderHover,activeBorderColor:t.colorWarning,activeShadow:t.warningActiveShadow,affixColor:t.colorWarning})),e)}),Rve=(t,e)=>({[`&${t.componentCls}-group-wrapper-status-${e.status}`]:{[`${t.componentCls}-group-addon`]:{borderColor:e.addonBorderColor,color:e.addonColor}}}),XGe=t=>({"&-outlined":Object.assign(Object.assign(Object.assign({[`${t.componentCls}-group`]:{"&-addon":{background:t.addonBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}}},Rve(t,{status:"error",addonBorderColor:t.colorError,addonColor:t.colorErrorText})),Rve(t,{status:"warning",addonBorderColor:t.colorWarning,addonColor:t.colorWarningText})),{[`&${t.componentCls}-group-wrapper-disabled`]:{[`${t.componentCls}-group-addon`]:Object.assign({},D$(t))}})}),Sme=(t,e)=>({"&-borderless":Object.assign({background:"transparent",border:"none","&:focus, &:focus-within":{outline:"none"},[`&${t.componentCls}-disabled, &[disabled]`]:{color:t.colorTextDisabled}},e)}),JGe=(t,e)=>({background:e.bg,borderWidth:t.lineWidth,borderStyle:t.lineType,borderColor:"transparent","input&, & input, textarea&, & textarea":{color:e==null?void 0:e.inputColor},"&:hover":{background:e.hoverBg},"&:focus, &:focus-within":{outline:0,borderColor:e.activeBorderColor,backgroundColor:t.activeBg}}),Hve=(t,e)=>({[`&${t.componentCls}-status-${e.status}:not(${t.componentCls}-disabled)`]:Object.assign(Object.assign({},JGe(t,e)),{[`${t.componentCls}-prefix, ${t.componentCls}-suffix`]:{color:e.affixColor}})}),Tme=(t,e)=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},JGe(t,{bg:t.colorFillTertiary,hoverBg:t.colorFillSecondary,activeBorderColor:t.colorPrimary})),{[`&${t.componentCls}-disabled, &[disabled]`]:Object.assign({},D$(t))}),Hve(t,{status:"error",bg:t.colorErrorBg,hoverBg:t.colorErrorBgHover,activeBorderColor:t.colorError,inputColor:t.colorErrorText,affixColor:t.colorError})),Hve(t,{status:"warning",bg:t.colorWarningBg,hoverBg:t.colorWarningBgHover,activeBorderColor:t.colorWarning,inputColor:t.colorWarningText,affixColor:t.colorWarning})),e)}),Mve=(t,e)=>({[`&${t.componentCls}-group-wrapper-status-${e.status}`]:{[`${t.componentCls}-group-addon`]:{background:e.addonBg,color:e.addonColor}}}),KGe=t=>({"&-filled":Object.assign(Object.assign(Object.assign({[`${t.componentCls}-group`]:{"&-addon":{background:t.colorFillTertiary},[`${t.componentCls}-filled:not(:focus):not(:focus-within)`]:{"&:not(:first-child)":{borderInlineStart:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},"&:not(:last-child)":{borderInlineEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}}}},Mve(t,{status:"error",addonBg:t.colorErrorBg,addonColor:t.colorErrorText})),Mve(t,{status:"warning",addonBg:t.colorWarningBg,addonColor:t.colorWarningText})),{[`&${t.componentCls}-group-wrapper-disabled`]:{[`${t.componentCls}-group`]:{"&-addon":{background:t.colorFillTertiary,color:t.colorTextDisabled},"&-addon:first-child":{borderInlineStart:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},"&-addon:last-child":{borderInlineEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`}}}})}),Pme=t=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:t,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),qGe=t=>{const{paddingBlockLG:e,lineHeightLG:n,borderRadiusLG:o,paddingInlineLG:i}=t;return{padding:`${Ut(e)} ${Ut(i)}`,fontSize:t.inputFontSizeLG,lineHeight:n,borderRadius:o}},Cme=t=>({padding:`${Ut(t.paddingBlockSM)} ${Ut(t.paddingInlineSM)}`,fontSize:t.inputFontSizeSM,borderRadius:t.borderRadiusSM}),kW=t=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${Ut(t.paddingBlock)} ${Ut(t.paddingInline)}`,color:t.colorText,fontSize:t.inputFontSize,lineHeight:t.lineHeight,borderRadius:t.borderRadius,transition:`all ${t.motionDurationMid}`},Pme(t.colorTextPlaceholder)),{"textarea&":{maxWidth:"100%",height:"auto",minHeight:t.controlHeight,lineHeight:t.lineHeight,verticalAlign:"bottom",transition:`all ${t.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},qGe(t)),"&-sm":Object.assign({},Cme(t)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),$Ge=t=>{const{componentCls:e,antCls:n}=t;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:t.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${e}, &-lg > ${e}-group-addon`]:Object.assign({},qGe(t)),[`&-sm ${e}, &-sm > ${e}-group-addon`]:Object.assign({},Cme(t)),[`&-lg ${n}-select-single ${n}-select-selector`]:{height:t.controlHeightLG},[`&-sm ${n}-select-single ${n}-select-selector`]:{height:t.controlHeightSM},[`> ${e}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${e}-group`]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${Ut(t.paddingInline)}`,color:t.colorText,fontWeight:"normal",fontSize:t.inputFontSize,textAlign:"center",borderRadius:t.borderRadius,transition:`all ${t.motionDurationSlow}`,lineHeight:1,[`${n}-select`]:{margin:`${Ut(t.calc(t.paddingBlock).add(1).mul(-1).equal())} ${Ut(t.calc(t.paddingInline).mul(-1).equal())}`,[`&${n}-select-single:not(${n}-select-customize-input):not(${n}-pagination-size-changer)`]:{[`${n}-select-selector`]:{backgroundColor:"inherit",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${n}-select-selector`]:{color:t.colorPrimary}}},[`${n}-cascader-picker`]:{margin:`-9px ${Ut(t.calc(t.paddingInline).mul(-1).equal())}`,backgroundColor:"transparent",[`${n}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}}},[`${e}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${e}-search-with-button &`]:{zIndex:0}}},[`> ${e}:first-child, ${e}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${n}-select ${n}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}-affix-wrapper`]:{[`&:not(:first-child) ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}:last-child, ${e}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${n}-select ${n}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${e}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${e}-search &`]:{borderStartStartRadius:t.borderRadius,borderEndStartRadius:t.borderRadius}},[`&:not(:first-child), ${e}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${e}-group-compact`]:Object.assign(Object.assign({display:"block"},Yk()),{[`${e}-group-addon, ${e}-group-wrap, > ${e}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:t.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[` & > ${e}-affix-wrapper, & > ${e}-number-affix-wrapper, & > ${n}-picker-range @@ -4568,20 +4568,20 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho & > ${n}-cascader-picker:first-child ${e}`]:{borderStartStartRadius:t.borderRadius,borderEndStartRadius:t.borderRadius},[`& > *:last-child, & > ${n}-select:last-child > ${n}-select-selector, & > ${n}-cascader-picker:last-child ${e}, - & > ${n}-cascader-picker-focused:last-child ${e}`]:{borderInlineEndWidth:t.lineWidth,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius},[`& > ${n}-select-auto-complete ${e}`]:{verticalAlign:"top"},[`${e}-group-wrapper + ${e}-group-wrapper`]:{marginInlineStart:t.calc(t.lineWidth).mul(-1).equal(),[`${e}-affix-wrapper`]:{borderRadius:0}},[`${e}-group-wrapper:not(:last-child)`]:{[`&${e}-search > ${e}-group`]:{[`& > ${e}-group-addon > ${e}-search-button`]:{borderRadius:0},[`& > ${e}`]:{borderStartStartRadius:t.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:t.borderRadius}}}})}},xFt=t=>{const{componentCls:e,controlHeightSM:n,lineWidth:o,calc:i}=t,a=i(n).sub(i(o).mul(2)).sub(16).div(2).equal();return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),kW(t)),bme(t)),Tme(t)),Sme(t)),{'&[type="color"]':{height:t.controlHeight,[`&${e}-lg`]:{height:t.controlHeightLG},[`&${e}-sm`]:{height:n,paddingTop:a,paddingBottom:a}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},bFt=t=>{const{componentCls:e}=t;return{[`${e}-clear-icon`]:{margin:0,color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"&:hover":{color:t.colorTextTertiary},"&:active":{color:t.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:`0 ${Ut(t.inputAffixPadding)}`}}}},SFt=t=>{const{componentCls:e,inputAffixPadding:n,colorTextDescription:o,motionDurationSlow:i,colorIcon:r,colorIconHover:a,iconCls:l}=t;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign(Object.assign(Object.assign({},kW(t)),{display:"inline-flex",[`&:not(${e}-disabled):hover`]:{zIndex:1,[`${e}-search-with-button &`]:{zIndex:0}},"&-focused, &:focus":{zIndex:1},[`> input${e}`]:{padding:0},[`> input${e}, > textarea${e}`]:{fontSize:"inherit",border:"none",borderRadius:0,outline:"none",background:"transparent",color:"inherit","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}`]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:t.paddingXS}},"&-show-count-suffix":{color:o},"&-show-count-has-suffix":{marginInlineEnd:t.paddingXXS},"&-prefix":{marginInlineEnd:n},"&-suffix":{marginInlineStart:n}}}),bFt(t)),{[`${l}${e}-password-icon`]:{color:r,cursor:"pointer",transition:`all ${i}`,"&:hover":{color:a}}})}},TFt=t=>{const{componentCls:e,borderRadiusLG:n,borderRadiusSM:o}=t;return{[`${e}-group`]:Object.assign(Object.assign(Object.assign({},$a(t)),$Ge(t)),{"&-rtl":{direction:"rtl"},"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{[`${e}-group-addon`]:{borderRadius:n,fontSize:t.inputFontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:o}}},XGe(t)),KGe(t)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}-affix-wrapper`]:{borderStartEndRadius:0,borderEndEndRadius:0}}})})}},PFt=t=>{const{componentCls:e,antCls:n}=t,o=`${e}-search`;return{[o]:{[`${e}`]:{"&:hover, &:focus":{borderColor:t.colorPrimaryHover,[`+ ${e}-group-addon ${o}-button:not(${n}-btn-primary)`]:{borderInlineStartColor:t.colorPrimaryHover}}},[`${e}-affix-wrapper`]:{borderRadius:0},[`${e}-lg`]:{lineHeight:t.calc(t.lineHeightLG).sub(2e-4).equal({unit:!1})},[`> ${e}-group`]:{[`> ${e}-group-addon:last-child`]:{insetInlineStart:-1,padding:0,border:0,[`${o}-button`]:{marginInlineEnd:-1,paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius,borderEndStartRadius:0,boxShadow:"none"},[`${o}-button:not(${n}-btn-primary)`]:{color:t.colorTextDescription,"&:hover":{color:t.colorPrimaryHover},"&:active":{color:t.colorPrimaryActive},[`&${n}-btn-loading::before`]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},[`${o}-button`]:{height:t.controlHeight,"&:hover, &:focus":{zIndex:1}},[`&-large ${o}-button`]:{height:t.controlHeightLG},[`&-small ${o}-button`]:{height:t.controlHeightSM},"&-rtl":{direction:"rtl"},[`&${e}-compact-item`]:{[`&:not(${e}-compact-last-item)`]:{[`${e}-group-addon`]:{[`${e}-search-button`]:{marginInlineEnd:t.calc(t.lineWidth).mul(-1).equal(),borderRadius:0}}},[`&:not(${e}-compact-first-item)`]:{[`${e},${e}-affix-wrapper`]:{borderRadius:0}},[`> ${e}-group-addon ${e}-search-button, + & > ${n}-cascader-picker-focused:last-child ${e}`]:{borderInlineEndWidth:t.lineWidth,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius},[`& > ${n}-select-auto-complete ${e}`]:{verticalAlign:"top"},[`${e}-group-wrapper + ${e}-group-wrapper`]:{marginInlineStart:t.calc(t.lineWidth).mul(-1).equal(),[`${e}-affix-wrapper`]:{borderRadius:0}},[`${e}-group-wrapper:not(:last-child)`]:{[`&${e}-search > ${e}-group`]:{[`& > ${e}-group-addon > ${e}-search-button`]:{borderRadius:0},[`& > ${e}`]:{borderStartStartRadius:t.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:t.borderRadius}}}})}},wFt=t=>{const{componentCls:e,controlHeightSM:n,lineWidth:o,calc:i}=t,a=i(n).sub(i(o).mul(2)).sub(16).div(2).equal();return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),kW(t)),bme(t)),Tme(t)),Sme(t)),{'&[type="color"]':{height:t.controlHeight,[`&${e}-lg`]:{height:t.controlHeightLG},[`&${e}-sm`]:{height:n,paddingTop:a,paddingBottom:a}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},vFt=t=>{const{componentCls:e}=t;return{[`${e}-clear-icon`]:{margin:0,color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"&:hover":{color:t.colorTextTertiary},"&:active":{color:t.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:`0 ${Ut(t.inputAffixPadding)}`}}}},xFt=t=>{const{componentCls:e,inputAffixPadding:n,colorTextDescription:o,motionDurationSlow:i,colorIcon:r,colorIconHover:a,iconCls:l}=t;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign(Object.assign(Object.assign({},kW(t)),{display:"inline-flex",[`&:not(${e}-disabled):hover`]:{zIndex:1,[`${e}-search-with-button &`]:{zIndex:0}},"&-focused, &:focus":{zIndex:1},[`> input${e}`]:{padding:0},[`> input${e}, > textarea${e}`]:{fontSize:"inherit",border:"none",borderRadius:0,outline:"none",background:"transparent",color:"inherit","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}`]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:t.paddingXS}},"&-show-count-suffix":{color:o},"&-show-count-has-suffix":{marginInlineEnd:t.paddingXXS},"&-prefix":{marginInlineEnd:n},"&-suffix":{marginInlineStart:n}}}),vFt(t)),{[`${l}${e}-password-icon`]:{color:r,cursor:"pointer",transition:`all ${i}`,"&:hover":{color:a}}})}},bFt=t=>{const{componentCls:e,borderRadiusLG:n,borderRadiusSM:o}=t;return{[`${e}-group`]:Object.assign(Object.assign(Object.assign({},$a(t)),$Ge(t)),{"&-rtl":{direction:"rtl"},"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{[`${e}-group-addon`]:{borderRadius:n,fontSize:t.inputFontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:o}}},XGe(t)),KGe(t)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}-affix-wrapper`]:{borderStartEndRadius:0,borderEndEndRadius:0}}})})}},SFt=t=>{const{componentCls:e,antCls:n}=t,o=`${e}-search`;return{[o]:{[`${e}`]:{"&:hover, &:focus":{borderColor:t.colorPrimaryHover,[`+ ${e}-group-addon ${o}-button:not(${n}-btn-primary)`]:{borderInlineStartColor:t.colorPrimaryHover}}},[`${e}-affix-wrapper`]:{borderRadius:0},[`${e}-lg`]:{lineHeight:t.calc(t.lineHeightLG).sub(2e-4).equal({unit:!1})},[`> ${e}-group`]:{[`> ${e}-group-addon:last-child`]:{insetInlineStart:-1,padding:0,border:0,[`${o}-button`]:{marginInlineEnd:-1,paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius,borderEndStartRadius:0,boxShadow:"none"},[`${o}-button:not(${n}-btn-primary)`]:{color:t.colorTextDescription,"&:hover":{color:t.colorPrimaryHover},"&:active":{color:t.colorPrimaryActive},[`&${n}-btn-loading::before`]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},[`${o}-button`]:{height:t.controlHeight,"&:hover, &:focus":{zIndex:1}},[`&-large ${o}-button`]:{height:t.controlHeightLG},[`&-small ${o}-button`]:{height:t.controlHeightSM},"&-rtl":{direction:"rtl"},[`&${e}-compact-item`]:{[`&:not(${e}-compact-last-item)`]:{[`${e}-group-addon`]:{[`${e}-search-button`]:{marginInlineEnd:t.calc(t.lineWidth).mul(-1).equal(),borderRadius:0}}},[`&:not(${e}-compact-first-item)`]:{[`${e},${e}-affix-wrapper`]:{borderRadius:0}},[`> ${e}-group-addon ${e}-search-button, > ${e}, - ${e}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${e}-affix-wrapper-focused`]:{zIndex:2}}}}},CFt=t=>{const{componentCls:e,paddingLG:n}=t,o=`${e}-textarea`;return{[o]:{position:"relative","&-show-count":{[`> ${e}`]:{height:"100%"},[`${e}-data-count`]:{position:"absolute",bottom:t.calc(t.fontSize).mul(t.lineHeight).mul(-1).equal(),insetInlineEnd:0,color:t.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${e}`]:{paddingInlineEnd:n}},[`&-affix-wrapper${o}-has-feedback`]:{[`${e}`]:{paddingInlineEnd:n}},[`&-affix-wrapper${e}-affix-wrapper`]:{padding:0,[`> textarea${e}`]:{fontSize:"inherit",border:"none",outline:"none",background:"transparent","&:focus":{boxShadow:"none !important"}},[`${e}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${e}-clear-icon`]:{position:"absolute",insetInlineEnd:t.paddingXS,insetBlockStart:t.paddingXS},[`${o}-suffix`]:{position:"absolute",top:0,insetInlineEnd:t.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}},RFt=t=>{const{componentCls:e}=t;return{[`${e}-out-of-range`]:{[`&, & input, & textarea, ${e}-show-count-suffix, ${e}-data-count`]:{color:t.colorError}}}},Rme=Fl("Input",t=>{const e=Zr(t,DW(t));return[xFt(e),CFt(e),SFt(e),TFt(e),PFt(e),RFt(e),vW(e)]},EW,{resetFont:!1}),Nie=(t,e)=>{const{componentCls:n,controlHeight:o}=t,i=e?`${n}-${e}`:"",r=PVe(t);return[{[`${n}-multiple${i}`]:{paddingBlock:r.containerPadding,paddingInlineStart:r.basePadding,minHeight:o,[`${n}-selection-item`]:{height:r.itemHeight,lineHeight:Ut(r.itemLineHeight)}}}]},HFt=t=>{const{componentCls:e,calc:n,lineWidth:o}=t,i=Zr(t,{fontHeight:t.fontSize,selectHeight:t.controlHeightSM,multipleSelectItemHeight:t.multipleItemHeightSM,borderRadius:t.borderRadiusSM,borderRadiusSM:t.borderRadiusXS,controlHeight:t.controlHeightSM}),r=Zr(t,{fontHeight:n(t.multipleItemHeightLG).sub(n(o).mul(2).equal()).equal(),fontSize:t.fontSizeLG,selectHeight:t.controlHeightLG,multipleSelectItemHeight:t.multipleItemHeightLG,borderRadius:t.borderRadiusLG,borderRadiusSM:t.borderRadius,controlHeight:t.controlHeightLG});return[Nie(i,"small"),Nie(t),Nie(r,"large"),{[`${e}${e}-multiple`]:Object.assign(Object.assign({width:"100%",cursor:"text",[`${e}-selector`]:{flex:"auto",padding:0,position:"relative","&:after":{margin:0},[`${e}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:t.inputPaddingHorizontalBase,insetInlineEnd:0,transform:"translateY(-50%)",transition:`all ${t.motionDurationSlow}`,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",flex:1,color:t.colorTextPlaceholder,pointerEvents:"none"}}},CVe(t)),{[`${e}-multiple-input`]:{width:0,height:0,border:0,visibility:"hidden",position:"absolute",zIndex:-1}})}]},MFt=t=>{const{pickerCellCls:e,pickerCellInnerCls:n,cellHeight:o,borderRadiusSM:i,motionDurationMid:r,cellHoverBg:a,lineWidth:l,lineType:s,colorPrimary:c,cellActiveWithRangeBg:u,colorTextLightSolid:d,colorTextDisabled:f,cellBgDisabled:p,colorFillSecondary:g}=t;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:o,transform:"translateY(-50%)",content:'""'},[n]:{position:"relative",zIndex:2,display:"inline-block",minWidth:o,height:o,lineHeight:Ut(o),borderRadius:i,transition:`background ${r}`},[`&:hover:not(${e}-in-view), + ${e}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${e}-affix-wrapper-focused`]:{zIndex:2}}}}},TFt=t=>{const{componentCls:e,paddingLG:n}=t,o=`${e}-textarea`;return{[o]:{position:"relative","&-show-count":{[`> ${e}`]:{height:"100%"},[`${e}-data-count`]:{position:"absolute",bottom:t.calc(t.fontSize).mul(t.lineHeight).mul(-1).equal(),insetInlineEnd:0,color:t.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${e}`]:{paddingInlineEnd:n}},[`&-affix-wrapper${o}-has-feedback`]:{[`${e}`]:{paddingInlineEnd:n}},[`&-affix-wrapper${e}-affix-wrapper`]:{padding:0,[`> textarea${e}`]:{fontSize:"inherit",border:"none",outline:"none",background:"transparent","&:focus":{boxShadow:"none !important"}},[`${e}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${e}-clear-icon`]:{position:"absolute",insetInlineEnd:t.paddingXS,insetBlockStart:t.paddingXS},[`${o}-suffix`]:{position:"absolute",top:0,insetInlineEnd:t.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}},PFt=t=>{const{componentCls:e}=t;return{[`${e}-out-of-range`]:{[`&, & input, & textarea, ${e}-show-count-suffix, ${e}-data-count`]:{color:t.colorError}}}},Rme=Fl("Input",t=>{const e=Zr(t,DW(t));return[wFt(e),TFt(e),xFt(e),bFt(e),SFt(e),PFt(e),vW(e)]},EW,{resetFont:!1}),Nie=(t,e)=>{const{componentCls:n,controlHeight:o}=t,i=e?`${n}-${e}`:"",r=PVe(t);return[{[`${n}-multiple${i}`]:{paddingBlock:r.containerPadding,paddingInlineStart:r.basePadding,minHeight:o,[`${n}-selection-item`]:{height:r.itemHeight,lineHeight:Ut(r.itemLineHeight)}}}]},CFt=t=>{const{componentCls:e,calc:n,lineWidth:o}=t,i=Zr(t,{fontHeight:t.fontSize,selectHeight:t.controlHeightSM,multipleSelectItemHeight:t.multipleItemHeightSM,borderRadius:t.borderRadiusSM,borderRadiusSM:t.borderRadiusXS,controlHeight:t.controlHeightSM}),r=Zr(t,{fontHeight:n(t.multipleItemHeightLG).sub(n(o).mul(2).equal()).equal(),fontSize:t.fontSizeLG,selectHeight:t.controlHeightLG,multipleSelectItemHeight:t.multipleItemHeightLG,borderRadius:t.borderRadiusLG,borderRadiusSM:t.borderRadius,controlHeight:t.controlHeightLG});return[Nie(i,"small"),Nie(t),Nie(r,"large"),{[`${e}${e}-multiple`]:Object.assign(Object.assign({width:"100%",cursor:"text",[`${e}-selector`]:{flex:"auto",padding:0,position:"relative","&:after":{margin:0},[`${e}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:t.inputPaddingHorizontalBase,insetInlineEnd:0,transform:"translateY(-50%)",transition:`all ${t.motionDurationSlow}`,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",flex:1,color:t.colorTextPlaceholder,pointerEvents:"none"}}},CVe(t)),{[`${e}-multiple-input`]:{width:0,height:0,border:0,visibility:"hidden",position:"absolute",zIndex:-1}})}]},RFt=t=>{const{pickerCellCls:e,pickerCellInnerCls:n,cellHeight:o,borderRadiusSM:i,motionDurationMid:r,cellHoverBg:a,lineWidth:l,lineType:s,colorPrimary:c,cellActiveWithRangeBg:u,colorTextLightSolid:d,colorTextDisabled:f,cellBgDisabled:p,colorFillSecondary:g}=t;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:o,transform:"translateY(-50%)",content:'""'},[n]:{position:"relative",zIndex:2,display:"inline-block",minWidth:o,height:o,lineHeight:Ut(o),borderRadius:i,transition:`background ${r}`},[`&:hover:not(${e}-in-view), &:hover:not(${e}-selected):not(${e}-range-start):not(${e}-range-end)`]:{[n]:{background:a}},[`&-in-view${e}-today ${n}`]:{"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:1,border:`${Ut(l)} ${s} ${c}`,borderRadius:i,content:'""'}},[`&-in-view${e}-in-range, &-in-view${e}-range-start, &-in-view${e}-range-end`]:{position:"relative",[`&:not(${e}-disabled):before`]:{background:u}},[`&-in-view${e}-selected, &-in-view${e}-range-start, - &-in-view${e}-range-end`]:{[`&:not(${e}-disabled) ${n}`]:{color:d,background:c},[`&${e}-disabled ${n}`]:{background:g}},[`&-in-view${e}-range-start:not(${e}-disabled):before`]:{insetInlineStart:"50%"},[`&-in-view${e}-range-end:not(${e}-disabled):before`]:{insetInlineEnd:"50%"},[`&-in-view${e}-range-start:not(${e}-range-end) ${n}`]:{borderStartStartRadius:i,borderEndStartRadius:i,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${e}-range-end:not(${e}-range-start) ${n}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:i,borderEndEndRadius:i},"&-disabled":{color:f,pointerEvents:"none",[n]:{background:"transparent"},"&::before":{background:p}},[`&-disabled${e}-today ${n}::before`]:{borderColor:f}}},IFt=t=>{const{componentCls:e,pickerCellCls:n,pickerCellInnerCls:o,pickerYearMonthCellWidth:i,pickerControlIconSize:r,cellWidth:a,paddingSM:l,paddingXS:s,paddingXXS:c,colorBgContainer:u,lineWidth:d,lineType:f,borderRadiusLG:p,colorPrimary:g,colorTextHeading:y,colorSplit:A,pickerControlIconBorderWidth:x,colorIcon:C,textHeight:b,motionDurationMid:v,colorIconHover:S,fontWeightStrong:w,cellHeight:T,pickerCellPaddingVertical:P,colorTextDisabled:R,colorText:H,fontSize:D,motionDurationSlow:E,withoutTimeCellHeight:L,pickerQuarterPanelContentHeight:U,borderRadiusSM:F,colorTextLightSolid:W,cellHoverBg:B,timeColumnHeight:k,timeColumnWidth:N,timeCellHeight:j,controlItemBgActive:Y,marginXXS:_,pickerDatePanelPaddingHorizontal:J,pickerControlIconMargin:Q}=t,ee=t.calc(a).mul(7).add(t.calc(J).mul(2)).equal();return{[e]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:u,borderRadius:p,outline:"none","&-focused":{borderColor:g},"&-rtl":{direction:"rtl",[`${e}-prev-icon, + &-in-view${e}-range-end`]:{[`&:not(${e}-disabled) ${n}`]:{color:d,background:c},[`&${e}-disabled ${n}`]:{background:g}},[`&-in-view${e}-range-start:not(${e}-disabled):before`]:{insetInlineStart:"50%"},[`&-in-view${e}-range-end:not(${e}-disabled):before`]:{insetInlineEnd:"50%"},[`&-in-view${e}-range-start:not(${e}-range-end) ${n}`]:{borderStartStartRadius:i,borderEndStartRadius:i,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${e}-range-end:not(${e}-range-start) ${n}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:i,borderEndEndRadius:i},"&-disabled":{color:f,pointerEvents:"none",[n]:{background:"transparent"},"&::before":{background:p}},[`&-disabled${e}-today ${n}::before`]:{borderColor:f}}},HFt=t=>{const{componentCls:e,pickerCellCls:n,pickerCellInnerCls:o,pickerYearMonthCellWidth:i,pickerControlIconSize:r,cellWidth:a,paddingSM:l,paddingXS:s,paddingXXS:c,colorBgContainer:u,lineWidth:d,lineType:f,borderRadiusLG:p,colorPrimary:g,colorTextHeading:y,colorSplit:A,pickerControlIconBorderWidth:x,colorIcon:C,textHeight:b,motionDurationMid:v,colorIconHover:S,fontWeightStrong:w,cellHeight:T,pickerCellPaddingVertical:P,colorTextDisabled:R,colorText:H,fontSize:D,motionDurationSlow:E,withoutTimeCellHeight:L,pickerQuarterPanelContentHeight:U,borderRadiusSM:F,colorTextLightSolid:W,cellHoverBg:B,timeColumnHeight:k,timeColumnWidth:N,timeCellHeight:j,controlItemBgActive:Y,marginXXS:_,pickerDatePanelPaddingHorizontal:J,pickerControlIconMargin:Q}=t,ee=t.calc(a).mul(7).add(t.calc(J).mul(2)).equal();return{[e]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:u,borderRadius:p,outline:"none","&-focused":{borderColor:g},"&-rtl":{direction:"rtl",[`${e}-prev-icon, ${e}-super-prev-icon`]:{transform:"rotate(45deg)"},[`${e}-next-icon, - ${e}-super-next-icon`]:{transform:"rotate(-135deg)"}}},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel,\n &-week-panel,\n &-date-panel,\n &-time-panel":{display:"flex",flexDirection:"column",width:ee},"&-header":{display:"flex",padding:`0 ${Ut(s)}`,color:y,borderBottom:`${Ut(d)} ${f} ${A}`,"> *":{flex:"none"},button:{padding:0,color:C,lineHeight:Ut(b),background:"transparent",border:0,cursor:"pointer",transition:`color ${v}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:D,"&:hover":{color:S},"&:disabled":{opacity:.25,pointerEvents:"none"}},"&-view":{flex:"auto",fontWeight:w,lineHeight:Ut(b),button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:s},"&:hover":{color:g}}}},"&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon":{position:"relative",display:"inline-block",width:r,height:r,"&::before":{position:"absolute",top:0,insetInlineStart:0,display:"inline-block",width:r,height:r,border:"0 solid currentcolor",borderBlockWidth:`${Ut(x)} 0`,borderInlineWidth:`${Ut(x)} 0`,content:'""'}},"&-super-prev-icon,\n &-super-next-icon":{"&::after":{position:"absolute",top:Q,insetInlineStart:Q,display:"inline-block",width:r,height:r,border:"0 solid currentcolor",borderBlockWidth:`${Ut(x)} 0`,borderInlineWidth:`${Ut(x)} 0`,content:'""'}},"&-prev-icon,\n &-super-prev-icon":{transform:"rotate(-45deg)"},"&-next-icon,\n &-super-next-icon":{transform:"rotate(135deg)"},"&-content":{width:"100%",tableLayout:"fixed",borderCollapse:"collapse","th, td":{position:"relative",minWidth:T,fontWeight:"normal"},th:{height:t.calc(T).add(t.calc(P).mul(2)).equal(),color:H,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${Ut(P)} 0`,color:R,cursor:"pointer","&-in-view":{color:H}},MFt(t)),"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-content`]:{height:t.calc(L).mul(4).equal()},[o]:{padding:`0 ${Ut(s)}`}},"&-quarter-panel":{[`${e}-content`]:{height:U}},"&-decade-panel":{[o]:{padding:`0 ${Ut(t.calc(s).div(2).equal())}`},[`${e}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-body`]:{padding:`0 ${Ut(s)}`},[o]:{width:i}},"&-date-panel":{[`${e}-body`]:{padding:`${Ut(s)} ${Ut(J)}`},[`${e}-content th`]:{boxSizing:"border-box",padding:0}},"&-week-panel":{[`${e}-cell`]:{[`&:hover ${o}, + ${e}-super-next-icon`]:{transform:"rotate(-135deg)"}}},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel,\n &-week-panel,\n &-date-panel,\n &-time-panel":{display:"flex",flexDirection:"column",width:ee},"&-header":{display:"flex",padding:`0 ${Ut(s)}`,color:y,borderBottom:`${Ut(d)} ${f} ${A}`,"> *":{flex:"none"},button:{padding:0,color:C,lineHeight:Ut(b),background:"transparent",border:0,cursor:"pointer",transition:`color ${v}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:D,"&:hover":{color:S},"&:disabled":{opacity:.25,pointerEvents:"none"}},"&-view":{flex:"auto",fontWeight:w,lineHeight:Ut(b),button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:s},"&:hover":{color:g}}}},"&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon":{position:"relative",display:"inline-block",width:r,height:r,"&::before":{position:"absolute",top:0,insetInlineStart:0,display:"inline-block",width:r,height:r,border:"0 solid currentcolor",borderBlockWidth:`${Ut(x)} 0`,borderInlineWidth:`${Ut(x)} 0`,content:'""'}},"&-super-prev-icon,\n &-super-next-icon":{"&::after":{position:"absolute",top:Q,insetInlineStart:Q,display:"inline-block",width:r,height:r,border:"0 solid currentcolor",borderBlockWidth:`${Ut(x)} 0`,borderInlineWidth:`${Ut(x)} 0`,content:'""'}},"&-prev-icon,\n &-super-prev-icon":{transform:"rotate(-45deg)"},"&-next-icon,\n &-super-next-icon":{transform:"rotate(135deg)"},"&-content":{width:"100%",tableLayout:"fixed",borderCollapse:"collapse","th, td":{position:"relative",minWidth:T,fontWeight:"normal"},th:{height:t.calc(T).add(t.calc(P).mul(2)).equal(),color:H,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${Ut(P)} 0`,color:R,cursor:"pointer","&-in-view":{color:H}},RFt(t)),"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-content`]:{height:t.calc(L).mul(4).equal()},[o]:{padding:`0 ${Ut(s)}`}},"&-quarter-panel":{[`${e}-content`]:{height:U}},"&-decade-panel":{[o]:{padding:`0 ${Ut(t.calc(s).div(2).equal())}`},[`${e}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-body`]:{padding:`0 ${Ut(s)}`},[o]:{width:i}},"&-date-panel":{[`${e}-body`]:{padding:`${Ut(s)} ${Ut(J)}`},[`${e}-content th`]:{boxSizing:"border-box",padding:0}},"&-week-panel":{[`${e}-cell`]:{[`&:hover ${o}, &-selected ${o}, ${o}`]:{background:"transparent !important"}},"&-row":{td:{"&:before":{transition:`background ${v}`},"&:first-child:before":{borderStartStartRadius:F,borderEndStartRadius:F},"&:last-child:before":{borderStartEndRadius:F,borderEndEndRadius:F}},"&:hover td":{"&:before":{background:B}},"&-range-start td,\n &-range-end td,\n &-selected td,\n &-hover td":{[`&${n}`]:{"&:before":{background:g},[`&${e}-cell-week`]:{color:new Il(W).setAlpha(.5).toHexString()},[o]:{color:W}}},"&-range-hover td:before":{background:Y}}},"&-week-panel, &-date-panel-show-week":{[`${e}-body`]:{padding:`${Ut(s)} ${Ut(l)}`},[`${e}-content th`]:{width:"auto"}},"&-datetime-panel":{display:"flex",[`${e}-time-panel`]:{borderInlineStart:`${Ut(d)} ${f} ${A}`},[`${e}-date-panel, ${e}-time-panel`]:{transition:`opacity ${E}`},"&-active":{[`${e}-date-panel, - ${e}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${e}-content`]:{display:"flex",flex:"auto",height:k},"&-column":{flex:"1 0 auto",width:N,margin:`${Ut(c)} 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${v}`,overflowX:"hidden","&::-webkit-scrollbar":{width:8,backgroundColor:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:t.colorTextTertiary,borderRadius:t.borderRadiusSM},"&":{scrollbarWidth:"thin",scrollbarColor:`${t.colorTextTertiary} transparent`},"&::after":{display:"block",height:t.calc("100%").sub(j).equal(),content:'""'},"&:not(:first-child)":{borderInlineStart:`${Ut(d)} ${f} ${A}`},"&-active":{background:new Il(Y).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${e}-time-panel-cell`]:{marginInline:_,[`${e}-time-panel-cell-inner`]:{display:"block",width:t.calc(N).sub(t.calc(_).mul(2)).equal(),height:j,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:t.calc(N).sub(j).div(2).equal(),color:H,lineHeight:Ut(j),borderRadius:F,cursor:"pointer",transition:`background ${v}`,"&:hover":{background:B}},"&-selected":{[`${e}-time-panel-cell-inner`]:{background:Y}},"&-disabled":{[`${e}-time-panel-cell-inner`]:{color:R,background:"transparent",cursor:"not-allowed"}}}}}}}}},zFt=t=>{const{componentCls:e,textHeight:n,lineWidth:o,paddingSM:i,antCls:r,colorPrimary:a,cellActiveWithRangeBg:l,colorPrimaryBorder:s,lineType:c,colorSplit:u}=t;return{[`${e}-dropdown`]:{[`${e}-footer`]:{borderTop:`${Ut(o)} ${c} ${u}`,"&-extra":{padding:`0 ${Ut(i)}`,lineHeight:Ut(t.calc(n).sub(t.calc(o).mul(2)).equal()),textAlign:"start","&:not(:last-child)":{borderBottom:`${Ut(o)} ${c} ${u}`}}},[`${e}-panels + ${e}-footer ${e}-ranges`]:{justifyContent:"space-between"},[`${e}-ranges`]:{marginBlock:0,paddingInline:Ut(i),overflow:"hidden",textAlign:"start",listStyle:"none",display:"flex",justifyContent:"center",alignItems:"center","> li":{lineHeight:Ut(t.calc(n).sub(t.calc(o).mul(2)).equal()),display:"inline-block"},[`${e}-now-btn-disabled`]:{pointerEvents:"none",color:t.colorTextDisabled},[`${e}-preset > ${r}-tag-blue`]:{color:a,background:l,borderColor:s,cursor:"pointer"},[`${e}-ok`]:{paddingBlock:t.calc(o).mul(2).equal(),marginInlineStart:"auto"}}}}},DFt=t=>{const{componentCls:e,controlHeightLG:n,paddingXXS:o,padding:i}=t;return{pickerCellCls:`${e}-cell`,pickerCellInnerCls:`${e}-cell-inner`,pickerYearMonthCellWidth:t.calc(n).mul(1.5).equal(),pickerQuarterPanelContentHeight:t.calc(n).mul(1.4).equal(),pickerCellPaddingVertical:t.calc(o).add(t.calc(o).div(2)).equal(),pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconMargin:4,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:t.calc(i).add(t.calc(o).div(2)).equal()}},EFt=t=>{const{colorBgContainerDisabled:e,controlHeight:n,controlHeightSM:o,controlHeightLG:i,paddingXXS:r,lineWidth:a}=t,l=r*2,s=a*2,c=Math.min(n-l,n-s),u=Math.min(o-l,o-s),d=Math.min(i-l,i-s);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(r/2),cellHoverBg:t.controlItemBgHover,cellActiveWithRangeBg:t.controlItemBgActive,cellHoverWithRangeBg:new Il(t.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new Il(t.colorPrimary).lighten(20).toHexString(),cellBgDisabled:e,timeColumnWidth:i*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:o*1.5,cellHeight:o,textHeight:i,withoutTimeCellHeight:i*1.65,multipleItemBg:t.colorFillSecondary,multipleItemBorderColor:"transparent",multipleItemHeight:c,multipleItemHeightSM:u,multipleItemHeightLG:d,multipleSelectorBgDisabled:e,multipleItemColorDisabled:t.colorTextDisabled,multipleItemBorderColorDisabled:"transparent"}},kFt=t=>Object.assign(Object.assign(Object.assign(Object.assign({},EW(t)),EFt(t)),x$(t)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:t.zIndexPopupBase+50}),FFt=t=>{const{componentCls:e}=t;return{[e]:[Object.assign(Object.assign(Object.assign({},bme(t)),Tme(t)),Sme(t)),{"&-outlined":{[`&${e}-multiple ${e}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}},"&-filled":{[`&${e}-multiple ${e}-selection-item`]:{background:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}},"&-borderless":{[`&${e}-multiple ${e}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}}}]}},Uie=(t,e,n,o)=>{const i=t.calc(n).add(2).equal(),r=t.max(t.calc(e).sub(i).div(2).equal(),0),a=t.max(t.calc(e).sub(i).sub(r).equal(),0);return{padding:`${Ut(r)} ${Ut(o)} ${Ut(a)}`}},LFt=t=>{const{componentCls:e,colorError:n,colorWarning:o}=t;return{[`${e}:not(${e}-disabled):not([disabled])`]:{[`&${e}-status-error`]:{[`${e}-active-bar`]:{background:n}},[`&${e}-status-warning`]:{[`${e}-active-bar`]:{background:o}}}}},WFt=t=>{const{componentCls:e,antCls:n,controlHeight:o,paddingInline:i,lineWidth:r,lineType:a,colorBorder:l,borderRadius:s,motionDurationMid:c,colorTextDisabled:u,colorTextPlaceholder:d,controlHeightLG:f,fontSizeLG:p,controlHeightSM:g,paddingInlineSM:y,paddingXS:A,marginXS:x,colorTextDescription:C,lineWidthBold:b,colorPrimary:v,motionDurationSlow:S,zIndexPopup:w,paddingXXS:T,sizePopupArrow:P,colorBgElevated:R,borderRadiusLG:H,boxShadowSecondary:D,borderRadiusSM:E,colorSplit:L,cellHoverBg:U,presetsWidth:F,presetsMaxWidth:W,boxShadowPopoverArrow:B,fontHeight:k,fontHeightLG:N,lineHeightLG:j}=t;return[{[e]:Object.assign(Object.assign(Object.assign({},$a(t)),Uie(t,o,k,i)),{position:"relative",display:"inline-flex",alignItems:"center",lineHeight:1,borderRadius:s,transition:`border ${c}, box-shadow ${c}, background ${c}`,[`${e}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",color:"inherit",fontSize:t.fontSize,lineHeight:t.lineHeight,transition:`all ${c}`},Pme(d)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,fontFamily:"inherit","&:focus":{boxShadow:"none",outline:0},"&[disabled]":{background:"transparent",color:u,cursor:"not-allowed"}}),"&-placeholder":{"> input":{color:d}}},"&-large":Object.assign(Object.assign({},Uie(t,f,N,i)),{[`${e}-input > input`]:{fontSize:p,lineHeight:j}}),"&-small":Object.assign({},Uie(t,g,k,y)),[`${e}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:t.calc(A).div(2).equal(),color:u,lineHeight:1,pointerEvents:"none",transition:`opacity ${c}, color ${c}`,"> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:x}}},[`${e}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:u,lineHeight:1,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${c}, color ${c}`,"> *":{verticalAlign:"top"},"&:hover":{color:C}},"&:hover":{[`${e}-clear`]:{opacity:1},[`${e}-suffix:not(:last-child)`]:{opacity:0}},[`${e}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:p,color:u,fontSize:p,verticalAlign:"top",cursor:"default",[`${e}-focused &`]:{color:C},[`${e}-range-separator &`]:{[`${e}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${e}-active-bar`]:{bottom:t.calc(r).mul(-1).equal(),height:b,background:v,opacity:0,transition:`all ${S} ease-out`,pointerEvents:"none"},[`&${e}-focused`]:{[`${e}-active-bar`]:{opacity:1}},[`${e}-range-separator`]:{alignItems:"center",padding:`0 ${Ut(A)}`,lineHeight:1}},"&-range, &-multiple":{[`${e}-clear`]:{insetInlineEnd:i},[`&${e}-small`]:{[`${e}-clear`]:{insetInlineEnd:y}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},$a(t)),IFt(t)),{pointerEvents:"none",position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:w,[`&${e}-dropdown-hidden`]:{display:"none"},[`&${e}-dropdown-placement-bottomLeft`]:{[`${e}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${e}-dropdown-placement-topLeft`]:{[`${e}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${n}-slide-up-enter${n}-slide-up-enter-active${e}-dropdown-placement-topLeft, + ${e}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${e}-content`]:{display:"flex",flex:"auto",height:k},"&-column":{flex:"1 0 auto",width:N,margin:`${Ut(c)} 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${v}`,overflowX:"hidden","&::-webkit-scrollbar":{width:8,backgroundColor:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:t.colorTextTertiary,borderRadius:t.borderRadiusSM},"&":{scrollbarWidth:"thin",scrollbarColor:`${t.colorTextTertiary} transparent`},"&::after":{display:"block",height:t.calc("100%").sub(j).equal(),content:'""'},"&:not(:first-child)":{borderInlineStart:`${Ut(d)} ${f} ${A}`},"&-active":{background:new Il(Y).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${e}-time-panel-cell`]:{marginInline:_,[`${e}-time-panel-cell-inner`]:{display:"block",width:t.calc(N).sub(t.calc(_).mul(2)).equal(),height:j,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:t.calc(N).sub(j).div(2).equal(),color:H,lineHeight:Ut(j),borderRadius:F,cursor:"pointer",transition:`background ${v}`,"&:hover":{background:B}},"&-selected":{[`${e}-time-panel-cell-inner`]:{background:Y}},"&-disabled":{[`${e}-time-panel-cell-inner`]:{color:R,background:"transparent",cursor:"not-allowed"}}}}}}}}},MFt=t=>{const{componentCls:e,textHeight:n,lineWidth:o,paddingSM:i,antCls:r,colorPrimary:a,cellActiveWithRangeBg:l,colorPrimaryBorder:s,lineType:c,colorSplit:u}=t;return{[`${e}-dropdown`]:{[`${e}-footer`]:{borderTop:`${Ut(o)} ${c} ${u}`,"&-extra":{padding:`0 ${Ut(i)}`,lineHeight:Ut(t.calc(n).sub(t.calc(o).mul(2)).equal()),textAlign:"start","&:not(:last-child)":{borderBottom:`${Ut(o)} ${c} ${u}`}}},[`${e}-panels + ${e}-footer ${e}-ranges`]:{justifyContent:"space-between"},[`${e}-ranges`]:{marginBlock:0,paddingInline:Ut(i),overflow:"hidden",textAlign:"start",listStyle:"none",display:"flex",justifyContent:"center",alignItems:"center","> li":{lineHeight:Ut(t.calc(n).sub(t.calc(o).mul(2)).equal()),display:"inline-block"},[`${e}-now-btn-disabled`]:{pointerEvents:"none",color:t.colorTextDisabled},[`${e}-preset > ${r}-tag-blue`]:{color:a,background:l,borderColor:s,cursor:"pointer"},[`${e}-ok`]:{paddingBlock:t.calc(o).mul(2).equal(),marginInlineStart:"auto"}}}}},IFt=t=>{const{componentCls:e,controlHeightLG:n,paddingXXS:o,padding:i}=t;return{pickerCellCls:`${e}-cell`,pickerCellInnerCls:`${e}-cell-inner`,pickerYearMonthCellWidth:t.calc(n).mul(1.5).equal(),pickerQuarterPanelContentHeight:t.calc(n).mul(1.4).equal(),pickerCellPaddingVertical:t.calc(o).add(t.calc(o).div(2)).equal(),pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconMargin:4,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:t.calc(i).add(t.calc(o).div(2)).equal()}},zFt=t=>{const{colorBgContainerDisabled:e,controlHeight:n,controlHeightSM:o,controlHeightLG:i,paddingXXS:r,lineWidth:a}=t,l=r*2,s=a*2,c=Math.min(n-l,n-s),u=Math.min(o-l,o-s),d=Math.min(i-l,i-s);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(r/2),cellHoverBg:t.controlItemBgHover,cellActiveWithRangeBg:t.controlItemBgActive,cellHoverWithRangeBg:new Il(t.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new Il(t.colorPrimary).lighten(20).toHexString(),cellBgDisabled:e,timeColumnWidth:i*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:o*1.5,cellHeight:o,textHeight:i,withoutTimeCellHeight:i*1.65,multipleItemBg:t.colorFillSecondary,multipleItemBorderColor:"transparent",multipleItemHeight:c,multipleItemHeightSM:u,multipleItemHeightLG:d,multipleSelectorBgDisabled:e,multipleItemColorDisabled:t.colorTextDisabled,multipleItemBorderColorDisabled:"transparent"}},DFt=t=>Object.assign(Object.assign(Object.assign(Object.assign({},EW(t)),zFt(t)),x$(t)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:t.zIndexPopupBase+50}),EFt=t=>{const{componentCls:e}=t;return{[e]:[Object.assign(Object.assign(Object.assign({},bme(t)),Tme(t)),Sme(t)),{"&-outlined":{[`&${e}-multiple ${e}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}},"&-filled":{[`&${e}-multiple ${e}-selection-item`]:{background:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}},"&-borderless":{[`&${e}-multiple ${e}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}}}]}},Uie=(t,e,n,o)=>{const i=t.calc(n).add(2).equal(),r=t.max(t.calc(e).sub(i).div(2).equal(),0),a=t.max(t.calc(e).sub(i).sub(r).equal(),0);return{padding:`${Ut(r)} ${Ut(o)} ${Ut(a)}`}},kFt=t=>{const{componentCls:e,colorError:n,colorWarning:o}=t;return{[`${e}:not(${e}-disabled):not([disabled])`]:{[`&${e}-status-error`]:{[`${e}-active-bar`]:{background:n}},[`&${e}-status-warning`]:{[`${e}-active-bar`]:{background:o}}}}},FFt=t=>{const{componentCls:e,antCls:n,controlHeight:o,paddingInline:i,lineWidth:r,lineType:a,colorBorder:l,borderRadius:s,motionDurationMid:c,colorTextDisabled:u,colorTextPlaceholder:d,controlHeightLG:f,fontSizeLG:p,controlHeightSM:g,paddingInlineSM:y,paddingXS:A,marginXS:x,colorTextDescription:C,lineWidthBold:b,colorPrimary:v,motionDurationSlow:S,zIndexPopup:w,paddingXXS:T,sizePopupArrow:P,colorBgElevated:R,borderRadiusLG:H,boxShadowSecondary:D,borderRadiusSM:E,colorSplit:L,cellHoverBg:U,presetsWidth:F,presetsMaxWidth:W,boxShadowPopoverArrow:B,fontHeight:k,fontHeightLG:N,lineHeightLG:j}=t;return[{[e]:Object.assign(Object.assign(Object.assign({},$a(t)),Uie(t,o,k,i)),{position:"relative",display:"inline-flex",alignItems:"center",lineHeight:1,borderRadius:s,transition:`border ${c}, box-shadow ${c}, background ${c}`,[`${e}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",color:"inherit",fontSize:t.fontSize,lineHeight:t.lineHeight,transition:`all ${c}`},Pme(d)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,fontFamily:"inherit","&:focus":{boxShadow:"none",outline:0},"&[disabled]":{background:"transparent",color:u,cursor:"not-allowed"}}),"&-placeholder":{"> input":{color:d}}},"&-large":Object.assign(Object.assign({},Uie(t,f,N,i)),{[`${e}-input > input`]:{fontSize:p,lineHeight:j}}),"&-small":Object.assign({},Uie(t,g,k,y)),[`${e}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:t.calc(A).div(2).equal(),color:u,lineHeight:1,pointerEvents:"none",transition:`opacity ${c}, color ${c}`,"> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:x}}},[`${e}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:u,lineHeight:1,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${c}, color ${c}`,"> *":{verticalAlign:"top"},"&:hover":{color:C}},"&:hover":{[`${e}-clear`]:{opacity:1},[`${e}-suffix:not(:last-child)`]:{opacity:0}},[`${e}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:p,color:u,fontSize:p,verticalAlign:"top",cursor:"default",[`${e}-focused &`]:{color:C},[`${e}-range-separator &`]:{[`${e}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${e}-active-bar`]:{bottom:t.calc(r).mul(-1).equal(),height:b,background:v,opacity:0,transition:`all ${S} ease-out`,pointerEvents:"none"},[`&${e}-focused`]:{[`${e}-active-bar`]:{opacity:1}},[`${e}-range-separator`]:{alignItems:"center",padding:`0 ${Ut(A)}`,lineHeight:1}},"&-range, &-multiple":{[`${e}-clear`]:{insetInlineEnd:i},[`&${e}-small`]:{[`${e}-clear`]:{insetInlineEnd:y}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},$a(t)),HFt(t)),{pointerEvents:"none",position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:w,[`&${e}-dropdown-hidden`]:{display:"none"},[`&${e}-dropdown-placement-bottomLeft`]:{[`${e}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${e}-dropdown-placement-topLeft`]:{[`${e}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${n}-slide-up-enter${n}-slide-up-enter-active${e}-dropdown-placement-topLeft, &${n}-slide-up-enter${n}-slide-up-enter-active${e}-dropdown-placement-topRight, &${n}-slide-up-appear${n}-slide-up-appear-active${e}-dropdown-placement-topLeft, &${n}-slide-up-appear${n}-slide-up-appear-active${e}-dropdown-placement-topRight`]:{animationName:p$},[`&${n}-slide-up-enter${n}-slide-up-enter-active${e}-dropdown-placement-bottomLeft, @@ -4590,22 +4590,22 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho &${n}-slide-up-appear${n}-slide-up-appear-active${e}-dropdown-placement-bottomRight`]:{animationName:f$},[`&${n}-slide-up-leave ${e}-panel-container`]:{pointerEvents:"none"},[`&${n}-slide-up-leave${n}-slide-up-leave-active${e}-dropdown-placement-topLeft, &${n}-slide-up-leave${n}-slide-up-leave-active${e}-dropdown-placement-topRight`]:{animationName:g$},[`&${n}-slide-up-leave${n}-slide-up-leave-active${e}-dropdown-placement-bottomLeft, &${n}-slide-up-leave${n}-slide-up-leave-active${e}-dropdown-placement-bottomRight`]:{animationName:h$},[`${e}-panel > ${e}-time-panel`]:{paddingTop:T},[`${e}-range-wrapper`]:{display:"flex",position:"relative"},[`${e}-range-arrow`]:Object.assign(Object.assign({position:"absolute",zIndex:1,display:"none",paddingInline:t.calc(i).mul(1.5).equal(),boxSizing:"content-box",transition:`left ${S} ease-out`},LVe(t,R,B)),{"&:before":{insetInlineStart:t.calc(i).mul(1.5).equal()}}),[`${e}-panel-container`]:{overflow:"hidden",verticalAlign:"top",background:R,borderRadius:H,boxShadow:D,transition:`margin ${S}`,display:"inline-block",pointerEvents:"auto",[`${e}-panel-layout`]:{display:"flex",flexWrap:"nowrap",alignItems:"stretch"},[`${e}-presets`]:{display:"flex",flexDirection:"column",minWidth:F,maxWidth:W,ul:{height:0,flex:"auto",listStyle:"none",overflow:"auto",margin:0,padding:A,borderInlineEnd:`${Ut(r)} ${a} ${L}`,li:Object.assign(Object.assign({},Yx),{borderRadius:E,paddingInline:A,paddingBlock:t.calc(g).sub(k).div(2).equal(),cursor:"pointer",transition:`all ${S}`,"+ li":{marginTop:x},"&:hover":{background:U}})}},[`${e}-panels`]:{display:"inline-flex",flexWrap:"nowrap",direction:"ltr","&:last-child":{[`${e}-panel`]:{borderWidth:0}}},[`${e}-panel`]:{verticalAlign:"top",background:"transparent",borderRadius:0,borderWidth:0,[`${e}-content, - table`]:{textAlign:"center"},"&-focused":{borderColor:l}}}}),"&-dropdown-range":{padding:`${Ut(t.calc(P).mul(2).div(3).equal())} 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${e}-separator`]:{transform:"rotate(180deg)"},[`${e}-footer`]:{"&-extra":{direction:"rtl"}}}})},F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down")]},QGe=Fl("DatePicker",t=>{const e=Zr(DW(t),DFt(t),{inputPaddingHorizontalBase:t.calc(t.paddingSM).sub(1).equal(),multipleSelectItemHeight:t.multipleItemHeight,selectHeight:t.controlHeight});return[zFt(e),WFt(e),FFt(e),LFt(e),HFt(e),vW(t,{focusElCls:`${t.componentCls}-focused`})]},kFt);var NFt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},UFt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:NFt}))},BFt=m.forwardRef(UFt),jFt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"},YFt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:jFt}))},OFt=m.forwardRef(YFt);function A9(){return A9=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function HG(t,e){if(t==null)return{};var n=KFt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}const E$=m.createContext(null);function qFt(t){if(Array.isArray(t))return F0e(t)}function $Ft(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function QFt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zve(t){return qFt(t)||$Ft(t)||ZGe(t)||QFt()}var ZFt=function(e){var n=e.activeTabOffset,o=e.horizontal,i=e.rtl,r=e.indicator,a=r===void 0?{}:r,l=a.size,s=a.align,c=s===void 0?"center":s,u=m.useState(),d=Lc(u,2),f=d[0],p=d[1],g=m.useRef(),y=Se.useCallback(function(x){return typeof l=="function"?l(x):typeof l=="number"?l:x},[l]);function A(){za.cancel(g.current)}return m.useEffect(function(){var x={};if(n)if(o){x.width=y(n.width);var C=i?"right":"left";c==="start"&&(x[C]=n[C]),c==="center"&&(x[C]=n[C]+n.width/2,x.transform=i?"translateX(50%)":"translateX(-50%)"),c==="end"&&(x[C]=n[C]+n.width,x.transform="translateX(-100%)")}else x.height=y(n.height),c==="start"&&(x.top=n.top),c==="center"&&(x.top=n.top+n.height/2,x.transform="translateY(-50%)"),c==="end"&&(x.top=n.top+n.height,x.transform="translateY(-100%)");return A(),g.current=za(function(){p(x)}),A},[n,o,i,c,y]),{style:f}},Dve={width:0,height:0,left:0,top:0};function eLt(t,e,n){return m.useMemo(function(){for(var o,i=new Map,r=e.get((o=t[0])===null||o===void 0?void 0:o.key)||Dve,a=r.left+r.width,l=0;lU?(E=H,w.current="x"):(E=D,w.current="y"),e(-E,-E)&&R.preventDefault()}var P=m.useRef(null);P.current={onTouchStart:b,onTouchMove:v,onTouchEnd:S,onWheel:T},m.useEffect(function(){function R(L){P.current.onTouchStart(L)}function H(L){P.current.onTouchMove(L)}function D(L){P.current.onTouchEnd(L)}function E(L){P.current.onWheel(L)}return document.addEventListener("touchmove",H,{passive:!1}),document.addEventListener("touchend",D,{passive:!1}),t.current.addEventListener("touchstart",R,{passive:!1}),t.current.addEventListener("wheel",E),function(){document.removeEventListener("touchmove",H),document.removeEventListener("touchend",D)}},[])}function eXe(t){var e=m.useState(0),n=Lc(e,2),o=n[0],i=n[1],r=m.useRef(0),a=m.useRef();return a.current=t,sx(function(){var l;(l=a.current)===null||l===void 0||l.call(a)},[o]),function(){r.current===o&&(r.current+=1,i(r.current))}}function oLt(t){var e=m.useRef([]),n=m.useState({}),o=Lc(n,2),i=o[1],r=m.useRef(typeof t=="function"?t():t),a=eXe(function(){var s=r.current;e.current.forEach(function(c){s=c(s)}),e.current=[],r.current=s,i({})});function l(s){e.current.push(s),a()}return[r.current,l]}var Lve={width:0,height:0,left:0,top:0,right:0};function iLt(t,e,n,o,i,r,a){var l=a.tabs,s=a.tabPosition,c=a.rtl,u,d,f;return["top","bottom"].includes(s)?(u="width",d=c?"right":"left",f=Math.abs(n)):(u="height",d="top",f=-n),m.useMemo(function(){if(!l.length)return[0,0];for(var p=l.length,g=p,y=0;yf+e){g=y-1;break}}for(var x=0,C=p-1;C>=0;C-=1){var b=t.get(l[C].key)||Lve;if(b[d]=g?[0,0]:[x,g]},[t,e,o,i,r,f,s,l.map(function(p){return p.key}).join("_"),c])}function Wve(t){var e;return t instanceof Map?(e={},t.forEach(function(n,o){e[o]=n})):e=t,JSON.stringify(e)}var rLt="TABS_DQ";function tXe(t){return String(t).replace(/"/g,rLt)}function nXe(t,e,n,o){return!(!n||o||t===!1||t===void 0&&(e===!1||e===null))}var oXe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.editable,i=t.locale,r=t.style;return!o||o.showAdd===!1?null:m.createElement("button",{ref:e,type:"button",className:"".concat(n,"-nav-add"),style:r,"aria-label":(i==null?void 0:i.addAriaLabel)||"Add tab",onClick:function(l){o.onEdit("add",{event:l})}},o.addIcon||"+")}),Nve=m.forwardRef(function(t,e){var n=t.position,o=t.prefixCls,i=t.extra;if(!i)return null;var r,a={};return r7(i)==="object"&&!m.isValidElement(i)?a=i:a.right=i,n==="right"&&(r=a.right),n==="left"&&(r=a.left),r?m.createElement("div",{className:"".concat(o,"-extra-content"),ref:e},r):null}),aLt=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.id,i=t.tabs,r=t.locale,a=t.mobile,l=t.more,s=l===void 0?{}:l,c=t.style,u=t.className,d=t.editable,f=t.tabBarGutter,p=t.rtl,g=t.removeAriaLabel,y=t.onTabClick,A=t.getPopupContainer,x=t.popupClassName,C=m.useState(!1),b=Lc(C,2),v=b[0],S=b[1],w=m.useState(null),T=Lc(w,2),P=T[0],R=T[1],H=s.icon,D=H===void 0?"More":H,E="".concat(o,"-more-popup"),L="".concat(n,"-dropdown"),U=P!==null?"".concat(E,"-").concat(P):null,F=r==null?void 0:r.dropdownAriaLabel;function W(J,Q){J.preventDefault(),J.stopPropagation(),d.onEdit("remove",{key:Q,event:J})}var B=m.createElement(DH,{onClick:function(Q){var ee=Q.key,$=Q.domEvent;y(ee,$),S(!1)},prefixCls:"".concat(L,"-menu"),id:E,tabIndex:-1,role:"listbox","aria-activedescendant":U,selectedKeys:[P],"aria-label":F!==void 0?F:"expanded dropdown"},i.map(function(J){var Q=J.closable,ee=J.disabled,$=J.closeIcon,q=J.key,le=J.label,ie=nXe(Q,$,d,ee);return m.createElement(IW,{key:q,id:"".concat(E,"-").concat(q),role:"option","aria-controls":o&&"".concat(o,"-panel-").concat(q),disabled:ee},m.createElement("span",null,le),ie&&m.createElement("button",{type:"button","aria-label":g||"remove",tabIndex:0,className:"".concat(L,"-menu-item-remove"),onClick:function(ne){ne.stopPropagation(),W(ne,q)}},$||d.removeIcon||"×"))}));function k(J){for(var Q=i.filter(function(ie){return!ie.disabled}),ee=Q.findIndex(function(ie){return ie.key===P})||0,$=Q.length,q=0;q<$;q+=1){ee=(ee+J+$)%$;var le=Q[ee];if(!le.disabled){R(le.key);return}}}function N(J){var Q=J.which;if(!v){[Bn.DOWN,Bn.SPACE,Bn.ENTER].includes(Q)&&(S(!0),J.preventDefault());return}switch(Q){case Bn.UP:k(-1),J.preventDefault();break;case Bn.DOWN:k(1),J.preventDefault();break;case Bn.ESC:S(!1);break;case Bn.SPACE:case Bn.ENTER:P!==null&&y(P,J);break}}m.useEffect(function(){var J=document.getElementById(U);J&&J.scrollIntoView&&J.scrollIntoView(!1)},[P]),m.useEffect(function(){v||R(null)},[v]);var j=Qh({},p?"marginRight":"marginLeft",f);i.length||(j.visibility="hidden",j.order=1);var Y=Vn(Qh({},"".concat(L,"-rtl"),p)),_=a?null:m.createElement(_Ve,A9({prefixCls:L,overlay:B,visible:i.length?v:!1,onVisibleChange:S,overlayClassName:Vn(Y,x),mouseEnterDelay:.1,mouseLeaveDelay:.1,getPopupContainer:A},s),m.createElement("button",{type:"button",className:"".concat(n,"-nav-more"),style:j,tabIndex:-1,"aria-hidden":"true","aria-haspopup":"listbox","aria-controls":E,id:"".concat(o,"-more"),"aria-expanded":v,onKeyDown:N},D));return m.createElement("div",{className:Vn("".concat(n,"-nav-operations"),u),style:c,ref:e},_,m.createElement(oXe,{prefixCls:n,locale:r,editable:d}))});const lLt=m.memo(aLt,function(t,e){return e.tabMoving});var sLt=function(e){var n=e.prefixCls,o=e.id,i=e.active,r=e.tab,a=r.key,l=r.label,s=r.disabled,c=r.closeIcon,u=r.icon,d=e.closable,f=e.renderWrapper,p=e.removeAriaLabel,g=e.editable,y=e.onClick,A=e.onFocus,x=e.style,C="".concat(n,"-tab"),b=nXe(d,c,g,s);function v(P){s||y(P)}function S(P){P.preventDefault(),P.stopPropagation(),g.onEdit("remove",{key:a,event:P})}var w=m.useMemo(function(){return u&&typeof l=="string"?m.createElement("span",null,l):l},[l,u]),T=m.createElement("div",{key:a,"data-node-key":tXe(a),className:Vn(C,Qh(Qh(Qh({},"".concat(C,"-with-remove"),b),"".concat(C,"-active"),i),"".concat(C,"-disabled"),s)),style:x,onClick:v},m.createElement("div",{role:"tab","aria-selected":i,id:o&&"".concat(o,"-tab-").concat(a),className:"".concat(C,"-btn"),"aria-controls":o&&"".concat(o,"-panel-").concat(a),"aria-disabled":s,tabIndex:s?null:0,onClick:function(R){R.stopPropagation(),v(R)},onKeyDown:function(R){[Bn.SPACE,Bn.ENTER].includes(R.which)&&(R.preventDefault(),v(R))},onFocus:A},u&&m.createElement("span",{className:"".concat(C,"-icon")},u),l&&w),b&&m.createElement("button",{type:"button","aria-label":p||"remove",tabIndex:0,className:"".concat(C,"-remove"),onClick:function(R){R.stopPropagation(),S(R)}},c||g.removeIcon||"×"));return f?f(T):T},cLt=function(e,n){var o=e.offsetWidth,i=e.offsetHeight,r=e.offsetTop,a=e.offsetLeft,l=e.getBoundingClientRect(),s=l.width,c=l.height,u=l.x,d=l.y;return Math.abs(s-o)<1?[s,c,u-n.x,d-n.y]:[o,i,a,r]},MT=function(e){var n=e.current||{},o=n.offsetWidth,i=o===void 0?0:o,r=n.offsetHeight,a=r===void 0?0:r;if(e.current){var l=e.current.getBoundingClientRect(),s=l.width,c=l.height;if(Math.abs(s-i)<1)return[s,c]}return[i,a]},vY=function(e,n){return e[n?0:1]},Uve=m.forwardRef(function(t,e){var n=t.className,o=t.style,i=t.id,r=t.animated,a=t.activeKey,l=t.rtl,s=t.extra,c=t.editable,u=t.locale,d=t.tabPosition,f=t.tabBarGutter,p=t.children,g=t.onTabClick,y=t.onTabScroll,A=t.indicator,x=m.useContext(E$),C=x.prefixCls,b=x.tabs,v=m.useRef(null),S=m.useRef(null),w=m.useRef(null),T=m.useRef(null),P=m.useRef(null),R=m.useRef(null),H=m.useRef(null),D=d==="top"||d==="bottom",E=Eve(0,function(st,ft){D&&y&&y({direction:st>ft?"left":"right"})}),L=Lc(E,2),U=L[0],F=L[1],W=Eve(0,function(st,ft){!D&&y&&y({direction:st>ft?"top":"bottom"})}),B=Lc(W,2),k=B[0],N=B[1],j=m.useState([0,0]),Y=Lc(j,2),_=Y[0],J=Y[1],Q=m.useState([0,0]),ee=Lc(Q,2),$=ee[0],q=ee[1],le=m.useState([0,0]),ie=Lc(le,2),pe=ie[0],ne=ie[1],Z=m.useState([0,0]),he=Lc(Z,2),fe=he[0],se=he[1],oe=oLt(new Map),de=Lc(oe,2),ve=de[0],Pe=de[1],me=eLt(b,ve,$[0]),Re=vY(_,D),ze=vY($,D),Ae=vY(pe,D),re=vY(fe,D),ge=ReIe?Ie:st}var Ee=m.useRef(null),Ue=m.useState(),Ne=Lc(Ue,2),Le=Ne[0],qe=Ne[1];function We(){qe(Date.now())}function De(){Ee.current&&clearTimeout(Ee.current)}nLt(T,function(st,ft){function Rt(zt,Xe){zt(function(ht){var Je=Ce(ht+Xe);return Je})}return ge?(D?Rt(F,st):Rt(N,ft),De(),We(),!0):!1}),m.useEffect(function(){return De(),Le&&(Ee.current=setTimeout(function(){qe(0)},100)),De},[Le]);var Fe=iLt(me,we,D?U:k,ze,Ae,re,zm(zm({},t),{},{tabs:b})),_e=Lc(Fe,2),ot=_e[0],Ye=_e[1],St=Ia(function(){var st=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a,ft=me.get(st)||{width:0,height:0,left:0,right:0,top:0};if(D){var Rt=U;l?ft.rightU+we&&(Rt=ft.right+ft.width-we):ft.left<-U?Rt=-ft.left:ft.left+ft.width>-U+we&&(Rt=-(ft.left+ft.width-we)),N(0),F(Ce(Rt))}else{var zt=k;ft.top<-k?zt=-ft.top:ft.top+ft.height>-k+we&&(zt=-(ft.top+ft.height-we)),F(0),N(Ce(zt))}}),dt={};d==="top"||d==="bottom"?dt[l?"marginRight":"marginLeft"]=f:dt.marginTop=f;var je=b.map(function(st,ft){var Rt=st.key;return m.createElement(sLt,{id:i,prefixCls:C,key:Rt,tab:st,style:ft===0?void 0:dt,closable:st.closable,editable:c,active:Rt===a,renderWrapper:p,removeAriaLabel:u==null?void 0:u.removeAriaLabel,onClick:function(Xe){g(Rt,Xe)},onFocus:function(){St(Rt),We(),T.current&&(l||(T.current.scrollLeft=0),T.current.scrollTop=0)}})}),at=function(){return Pe(function(){var ft,Rt=new Map,zt=(ft=P.current)===null||ft===void 0?void 0:ft.getBoundingClientRect();return b.forEach(function(Xe){var ht,Je=Xe.key,mt=(ht=P.current)===null||ht===void 0?void 0:ht.querySelector('[data-node-key="'.concat(tXe(Je),'"]'));if(mt){var Ge=cLt(mt,zt),xt=Lc(Ge,4),It=xt[0],Tt=xt[1],Dt=xt[2],Lt=xt[3];Rt.set(Je,{width:It,height:Tt,left:Dt,top:Lt})}}),Rt})};m.useEffect(function(){at()},[b.map(function(st){return st.key}).join("_")]);var ut=eXe(function(){var st=MT(v),ft=MT(S),Rt=MT(w);J([st[0]-ft[0]-Rt[0],st[1]-ft[1]-Rt[1]]);var zt=MT(H);ne(zt);var Xe=MT(R);se(Xe);var ht=MT(P);q([ht[0]-zt[0],ht[1]-zt[1]]),at()}),wt=b.slice(0,ot),rt=b.slice(Ye+1),Qe=[].concat(zve(wt),zve(rt)),Oe=me.get(a),et=ZFt({activeTabOffset:Oe,horizontal:D,indicator:A,rtl:l}),vt=et.style;m.useEffect(function(){St()},[a,Te,Ie,Wve(Oe),Wve(me),D]),m.useEffect(function(){ut()},[l]);var ct=!!Qe.length,lt="".concat(C,"-nav-wrap"),tt,it,At,Mt;return D?l?(it=U>0,tt=U!==Ie):(tt=U<0,it=U!==Te):(At=k<0,Mt=k!==Te),m.createElement(xd,{onResize:ut},m.createElement("div",{ref:z7(e,v),role:"tablist",className:Vn("".concat(C,"-nav"),n),style:o,onKeyDown:function(){We()}},m.createElement(Nve,{ref:S,position:"left",extra:s,prefixCls:C}),m.createElement(xd,{onResize:ut},m.createElement("div",{className:Vn(lt,Qh(Qh(Qh(Qh({},"".concat(lt,"-ping-left"),tt),"".concat(lt,"-ping-right"),it),"".concat(lt,"-ping-top"),At),"".concat(lt,"-ping-bottom"),Mt)),ref:T},m.createElement(xd,{onResize:ut},m.createElement("div",{ref:P,className:"".concat(C,"-nav-list"),style:{transform:"translate(".concat(U,"px, ").concat(k,"px)"),transition:Le?"none":void 0}},je,m.createElement(oXe,{ref:H,prefixCls:C,locale:u,editable:c,style:zm(zm({},je.length===0?void 0:dt),{},{visibility:ct?"hidden":null})}),m.createElement("div",{className:Vn("".concat(C,"-ink-bar"),Qh({},"".concat(C,"-ink-bar-animated"),r.inkBar)),style:vt}))))),m.createElement(lLt,A9({},t,{removeAriaLabel:u==null?void 0:u.removeAriaLabel,ref:R,prefixCls:C,tabs:Qe,className:!ct&&ye,tabMoving:!!Le})),m.createElement(Nve,{ref:w,position:"right",extra:s,prefixCls:C})))}),iXe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.className,i=t.style,r=t.id,a=t.active,l=t.tabKey,s=t.children;return m.createElement("div",{id:r&&"".concat(r,"-panel-").concat(l),role:"tabpanel",tabIndex:a?0:-1,"aria-labelledby":r&&"".concat(r,"-tab-").concat(l),"aria-hidden":!a,style:i,className:Vn(n,a&&"".concat(n,"-active"),o),ref:e},s)}),uLt=["renderTabBar"],dLt=["label","key"],fLt=function(e){var n=e.renderTabBar,o=HG(e,uLt),i=m.useContext(E$),r=i.tabs;if(n){var a=zm(zm({},o),{},{panes:r.map(function(l){var s=l.label,c=l.key,u=HG(l,dLt);return m.createElement(iXe,A9({tab:s,key:c,tabKey:c},u))})});return n(a,Uve)}return m.createElement(Uve,o)},hLt=["key","forceRender","style","className","destroyInactiveTabPane"],pLt=function(e){var n=e.id,o=e.activeKey,i=e.animated,r=e.tabPosition,a=e.destroyInactiveTabPane,l=m.useContext(E$),s=l.prefixCls,c=l.tabs,u=i.tabPane,d="".concat(s,"-tabpane");return m.createElement("div",{className:Vn("".concat(s,"-content-holder"))},m.createElement("div",{className:Vn("".concat(s,"-content"),"".concat(s,"-content-").concat(r),Qh({},"".concat(s,"-content-animated"),u))},c.map(function(f){var p=f.key,g=f.forceRender,y=f.style,A=f.className,x=f.destroyInactiveTabPane,C=HG(f,hLt),b=p===o;return m.createElement(Cg,A9({key:p,visible:b,forceRender:g,removeOnLeave:!!(a||x),leavedClassName:"".concat(d,"-hidden")},i.tabPaneMotion),function(v,S){var w=v.style,T=v.className;return m.createElement(iXe,A9({},C,{prefixCls:d,id:n,tabKey:p,animated:u,active:b,style:zm(zm({},y),w),className:Vn(A,T),ref:S}))})})))};function gLt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},e;return t===!1?e={inkBar:!1,tabPane:!1}:t===!0?e={inkBar:!0,tabPane:!1}:e=zm({inkBar:!0},r7(t)==="object"?t:{}),e.tabPaneMotion&&e.tabPane===void 0&&(e.tabPane=!0),!e.tabPaneMotion&&e.tabPane&&(e.tabPane=!1),e}var mLt=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","more","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName","indicator"],Bve=0,yLt=m.forwardRef(function(t,e){var n=t.id,o=t.prefixCls,i=o===void 0?"rc-tabs":o,r=t.className,a=t.items,l=t.direction,s=t.activeKey,c=t.defaultActiveKey,u=t.editable,d=t.animated,f=t.tabPosition,p=f===void 0?"top":f,g=t.tabBarGutter,y=t.tabBarStyle,A=t.tabBarExtraContent,x=t.locale,C=t.more,b=t.destroyInactiveTabPane,v=t.renderTabBar,S=t.onChange,w=t.onTabClick,T=t.onTabScroll,P=t.getPopupContainer,R=t.popupClassName,H=t.indicator,D=HG(t,mLt),E=m.useMemo(function(){return(a||[]).filter(function(fe){return fe&&r7(fe)==="object"&&"key"in fe})},[a]),L=l==="rtl",U=gLt(d),F=m.useState(!1),W=Lc(F,2),B=W[0],k=W[1];m.useEffect(function(){k(m$())},[]);var N=Rs(function(){var fe;return(fe=E[0])===null||fe===void 0?void 0:fe.key},{value:s,defaultValue:c}),j=Lc(N,2),Y=j[0],_=j[1],J=m.useState(function(){return E.findIndex(function(fe){return fe.key===Y})}),Q=Lc(J,2),ee=Q[0],$=Q[1];m.useEffect(function(){var fe=E.findIndex(function(oe){return oe.key===Y});if(fe===-1){var se;fe=Math.max(0,Math.min(ee,E.length-1)),_((se=E[fe])===null||se===void 0?void 0:se.key)}$(fe)},[E.map(function(fe){return fe.key}).join("_"),Y,ee]);var q=Rs(null,{value:n}),le=Lc(q,2),ie=le[0],pe=le[1];m.useEffect(function(){n||(pe("rc-tabs-".concat(Bve)),Bve+=1)},[]);function ne(fe,se){w==null||w(fe,se);var oe=fe!==Y;_(fe),oe&&(S==null||S(fe))}var Z={id:ie,activeKey:Y,animated:U,tabPosition:p,rtl:L,mobile:B},he=zm(zm({},Z),{},{editable:u,locale:x,more:C,tabBarGutter:g,onTabClick:ne,onTabScroll:T,extra:A,style:y,panes:null,getPopupContainer:P,popupClassName:R,indicator:H});return m.createElement(E$.Provider,{value:{tabs:E,prefixCls:i}},m.createElement("div",A9({ref:e,id:n,className:Vn(i,"".concat(i,"-").concat(p),Qh(Qh(Qh({},"".concat(i,"-mobile"),B),"".concat(i,"-editable"),u),"".concat(i,"-rtl"),L),r)},D),m.createElement(fLt,A9({},he,{renderTabBar:v})),m.createElement(pLt,A9({destroyInactiveTabPane:b},Z,{animated:U}))))});const ALt={motionAppear:!1,motionEnter:!0,motionLeave:!0};function wLt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},n;return e===!1?n={inkBar:!1,tabPane:!1}:e===!0?n={inkBar:!0,tabPane:!0}:n=Object.assign({inkBar:!0},typeof e=="object"?e:{}),n.tabPane&&(n.tabPaneMotion=Object.assign(Object.assign({},ALt),{motionName:D9(t,"switch")})),n}var vLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);ie)}function bLt(t,e){if(t)return t;const n=E9(e).map(o=>{if(m.isValidElement(o)){const{key:i,props:r}=o,a=r||{},{tab:l}=a,s=vLt(a,["tab"]);return Object.assign(Object.assign({key:String(i)},s),{label:l})}return null});return xLt(n)}const SLt=t=>{const{componentCls:e,motionDurationSlow:n}=t;return[{[e]:{[`${e}-switch`]:{"&-appear, &-enter":{transition:"none","&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${n}`}},"&-leave":{position:"absolute",transition:"none",inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${n}`}}}}},[F9(t,"slide-up"),F9(t,"slide-down")]]},TLt=t=>{const{componentCls:e,tabsCardPadding:n,cardBg:o,cardGutter:i,colorBorderSecondary:r,itemSelectedColor:a}=t;return{[`${e}-card`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{margin:0,padding:n,background:o,border:`${Ut(t.lineWidth)} ${t.lineType} ${r}`,transition:`all ${t.motionDurationSlow} ${t.motionEaseInOut}`},[`${e}-tab-active`]:{color:a,background:t.colorBgContainer},[`${e}-ink-bar`]:{visibility:"hidden"}},[`&${e}-top, &${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginLeft:{_skip_check_:!0,value:Ut(i)}}}},[`&${e}-top`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`},[`${e}-tab-active`]:{borderBottomColor:t.colorBgContainer}}},[`&${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`0 0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)}`},[`${e}-tab-active`]:{borderTopColor:t.colorBgContainer}}},[`&${e}-left, &${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginTop:Ut(i)}}},[`&${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ut(t.borderRadiusLG)} 0 0 ${Ut(t.borderRadiusLG)}`}},[`${e}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:t.colorBgContainer}}}},[`&${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0`}},[`${e}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:t.colorBgContainer}}}}}}},PLt=t=>{const{componentCls:e,itemHoverColor:n,dropdownEdgeChildVerticalPadding:o}=t;return{[`${e}-dropdown`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:t.zIndexPopup,display:"block","&-hidden":{display:"none"},[`${e}-dropdown-menu`]:{maxHeight:t.tabsDropdownHeight,margin:0,padding:`${Ut(o)} 0`,overflowX:"hidden",overflowY:"auto",textAlign:{_skip_check_:!0,value:"left"},listStyleType:"none",backgroundColor:t.colorBgContainer,backgroundClip:"padding-box",borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary,"&-item":Object.assign(Object.assign({},Yx),{display:"flex",alignItems:"center",minWidth:t.tabsDropdownWidth,margin:0,padding:`${Ut(t.paddingXXS)} ${Ut(t.paddingSM)}`,color:t.colorText,fontWeight:"normal",fontSize:t.fontSize,lineHeight:t.lineHeight,cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"> span":{flex:1,whiteSpace:"nowrap"},"&-remove":{flex:"none",marginLeft:{_skip_check_:!0,value:t.marginSM},color:t.colorTextDescription,fontSize:t.fontSizeSM,background:"transparent",border:0,cursor:"pointer","&:hover":{color:n}},"&:hover":{background:t.controlItemBgHover},"&-disabled":{"&, &:hover":{color:t.colorTextDisabled,background:"transparent",cursor:"not-allowed"}}})}})}},CLt=t=>{const{componentCls:e,margin:n,colorBorderSecondary:o,horizontalMargin:i,verticalItemPadding:r,verticalItemMargin:a,calc:l}=t;return{[`${e}-top, ${e}-bottom`]:{flexDirection:"column",[`> ${e}-nav, > div > ${e}-nav`]:{margin:i,"&::before":{position:"absolute",right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${o}`,content:"''"},[`${e}-ink-bar`]:{height:t.lineWidthBold,"&-animated":{transition:`width ${t.motionDurationSlow}, left ${t.motionDurationSlow}, + table`]:{textAlign:"center"},"&-focused":{borderColor:l}}}}),"&-dropdown-range":{padding:`${Ut(t.calc(P).mul(2).div(3).equal())} 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${e}-separator`]:{transform:"rotate(180deg)"},[`${e}-footer`]:{"&-extra":{direction:"rtl"}}}})},F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down")]},QGe=Fl("DatePicker",t=>{const e=Zr(DW(t),IFt(t),{inputPaddingHorizontalBase:t.calc(t.paddingSM).sub(1).equal(),multipleSelectItemHeight:t.multipleItemHeight,selectHeight:t.controlHeight});return[MFt(e),FFt(e),EFt(e),kFt(e),CFt(e),vW(t,{focusElCls:`${t.componentCls}-focused`})]},DFt);var LFt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},WFt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:LFt}))},NFt=m.forwardRef(WFt),UFt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"},BFt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:UFt}))},jFt=m.forwardRef(BFt);function A9(){return A9=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function HG(t,e){if(t==null)return{};var n=XFt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}const E$=m.createContext(null);function JFt(t){if(Array.isArray(t))return F0e(t)}function KFt(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function qFt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zve(t){return JFt(t)||KFt(t)||ZGe(t)||qFt()}var $Ft=function(e){var n=e.activeTabOffset,o=e.horizontal,i=e.rtl,r=e.indicator,a=r===void 0?{}:r,l=a.size,s=a.align,c=s===void 0?"center":s,u=m.useState(),d=Lc(u,2),f=d[0],p=d[1],g=m.useRef(),y=Se.useCallback(function(x){return typeof l=="function"?l(x):typeof l=="number"?l:x},[l]);function A(){za.cancel(g.current)}return m.useEffect(function(){var x={};if(n)if(o){x.width=y(n.width);var C=i?"right":"left";c==="start"&&(x[C]=n[C]),c==="center"&&(x[C]=n[C]+n.width/2,x.transform=i?"translateX(50%)":"translateX(-50%)"),c==="end"&&(x[C]=n[C]+n.width,x.transform="translateX(-100%)")}else x.height=y(n.height),c==="start"&&(x.top=n.top),c==="center"&&(x.top=n.top+n.height/2,x.transform="translateY(-50%)"),c==="end"&&(x.top=n.top+n.height,x.transform="translateY(-100%)");return A(),g.current=za(function(){p(x)}),A},[n,o,i,c,y]),{style:f}},Dve={width:0,height:0,left:0,top:0};function QFt(t,e,n){return m.useMemo(function(){for(var o,i=new Map,r=e.get((o=t[0])===null||o===void 0?void 0:o.key)||Dve,a=r.left+r.width,l=0;lU?(E=H,w.current="x"):(E=D,w.current="y"),e(-E,-E)&&R.preventDefault()}var P=m.useRef(null);P.current={onTouchStart:b,onTouchMove:v,onTouchEnd:S,onWheel:T},m.useEffect(function(){function R(L){P.current.onTouchStart(L)}function H(L){P.current.onTouchMove(L)}function D(L){P.current.onTouchEnd(L)}function E(L){P.current.onWheel(L)}return document.addEventListener("touchmove",H,{passive:!1}),document.addEventListener("touchend",D,{passive:!1}),t.current.addEventListener("touchstart",R,{passive:!1}),t.current.addEventListener("wheel",E),function(){document.removeEventListener("touchmove",H),document.removeEventListener("touchend",D)}},[])}function eXe(t){var e=m.useState(0),n=Lc(e,2),o=n[0],i=n[1],r=m.useRef(0),a=m.useRef();return a.current=t,sx(function(){var l;(l=a.current)===null||l===void 0||l.call(a)},[o]),function(){r.current===o&&(r.current+=1,i(r.current))}}function tLt(t){var e=m.useRef([]),n=m.useState({}),o=Lc(n,2),i=o[1],r=m.useRef(typeof t=="function"?t():t),a=eXe(function(){var s=r.current;e.current.forEach(function(c){s=c(s)}),e.current=[],r.current=s,i({})});function l(s){e.current.push(s),a()}return[r.current,l]}var Lve={width:0,height:0,left:0,top:0,right:0};function nLt(t,e,n,o,i,r,a){var l=a.tabs,s=a.tabPosition,c=a.rtl,u,d,f;return["top","bottom"].includes(s)?(u="width",d=c?"right":"left",f=Math.abs(n)):(u="height",d="top",f=-n),m.useMemo(function(){if(!l.length)return[0,0];for(var p=l.length,g=p,y=0;yf+e){g=y-1;break}}for(var x=0,C=p-1;C>=0;C-=1){var b=t.get(l[C].key)||Lve;if(b[d]=g?[0,0]:[x,g]},[t,e,o,i,r,f,s,l.map(function(p){return p.key}).join("_"),c])}function Wve(t){var e;return t instanceof Map?(e={},t.forEach(function(n,o){e[o]=n})):e=t,JSON.stringify(e)}var oLt="TABS_DQ";function tXe(t){return String(t).replace(/"/g,oLt)}function nXe(t,e,n,o){return!(!n||o||t===!1||t===void 0&&(e===!1||e===null))}var oXe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.editable,i=t.locale,r=t.style;return!o||o.showAdd===!1?null:m.createElement("button",{ref:e,type:"button",className:"".concat(n,"-nav-add"),style:r,"aria-label":(i==null?void 0:i.addAriaLabel)||"Add tab",onClick:function(l){o.onEdit("add",{event:l})}},o.addIcon||"+")}),Nve=m.forwardRef(function(t,e){var n=t.position,o=t.prefixCls,i=t.extra;if(!i)return null;var r,a={};return r7(i)==="object"&&!m.isValidElement(i)?a=i:a.right=i,n==="right"&&(r=a.right),n==="left"&&(r=a.left),r?m.createElement("div",{className:"".concat(o,"-extra-content"),ref:e},r):null}),iLt=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.id,i=t.tabs,r=t.locale,a=t.mobile,l=t.more,s=l===void 0?{}:l,c=t.style,u=t.className,d=t.editable,f=t.tabBarGutter,p=t.rtl,g=t.removeAriaLabel,y=t.onTabClick,A=t.getPopupContainer,x=t.popupClassName,C=m.useState(!1),b=Lc(C,2),v=b[0],S=b[1],w=m.useState(null),T=Lc(w,2),P=T[0],R=T[1],H=s.icon,D=H===void 0?"More":H,E="".concat(o,"-more-popup"),L="".concat(n,"-dropdown"),U=P!==null?"".concat(E,"-").concat(P):null,F=r==null?void 0:r.dropdownAriaLabel;function W(J,Q){J.preventDefault(),J.stopPropagation(),d.onEdit("remove",{key:Q,event:J})}var B=m.createElement(DH,{onClick:function(Q){var ee=Q.key,$=Q.domEvent;y(ee,$),S(!1)},prefixCls:"".concat(L,"-menu"),id:E,tabIndex:-1,role:"listbox","aria-activedescendant":U,selectedKeys:[P],"aria-label":F!==void 0?F:"expanded dropdown"},i.map(function(J){var Q=J.closable,ee=J.disabled,$=J.closeIcon,q=J.key,le=J.label,ie=nXe(Q,$,d,ee);return m.createElement(IW,{key:q,id:"".concat(E,"-").concat(q),role:"option","aria-controls":o&&"".concat(o,"-panel-").concat(q),disabled:ee},m.createElement("span",null,le),ie&&m.createElement("button",{type:"button","aria-label":g||"remove",tabIndex:0,className:"".concat(L,"-menu-item-remove"),onClick:function(ne){ne.stopPropagation(),W(ne,q)}},$||d.removeIcon||"×"))}));function k(J){for(var Q=i.filter(function(ie){return!ie.disabled}),ee=Q.findIndex(function(ie){return ie.key===P})||0,$=Q.length,q=0;q<$;q+=1){ee=(ee+J+$)%$;var le=Q[ee];if(!le.disabled){R(le.key);return}}}function N(J){var Q=J.which;if(!v){[Bn.DOWN,Bn.SPACE,Bn.ENTER].includes(Q)&&(S(!0),J.preventDefault());return}switch(Q){case Bn.UP:k(-1),J.preventDefault();break;case Bn.DOWN:k(1),J.preventDefault();break;case Bn.ESC:S(!1);break;case Bn.SPACE:case Bn.ENTER:P!==null&&y(P,J);break}}m.useEffect(function(){var J=document.getElementById(U);J&&J.scrollIntoView&&J.scrollIntoView(!1)},[P]),m.useEffect(function(){v||R(null)},[v]);var j=Qh({},p?"marginRight":"marginLeft",f);i.length||(j.visibility="hidden",j.order=1);var Y=Vn(Qh({},"".concat(L,"-rtl"),p)),_=a?null:m.createElement(_Ve,A9({prefixCls:L,overlay:B,visible:i.length?v:!1,onVisibleChange:S,overlayClassName:Vn(Y,x),mouseEnterDelay:.1,mouseLeaveDelay:.1,getPopupContainer:A},s),m.createElement("button",{type:"button",className:"".concat(n,"-nav-more"),style:j,tabIndex:-1,"aria-hidden":"true","aria-haspopup":"listbox","aria-controls":E,id:"".concat(o,"-more"),"aria-expanded":v,onKeyDown:N},D));return m.createElement("div",{className:Vn("".concat(n,"-nav-operations"),u),style:c,ref:e},_,m.createElement(oXe,{prefixCls:n,locale:r,editable:d}))});const rLt=m.memo(iLt,function(t,e){return e.tabMoving});var aLt=function(e){var n=e.prefixCls,o=e.id,i=e.active,r=e.tab,a=r.key,l=r.label,s=r.disabled,c=r.closeIcon,u=r.icon,d=e.closable,f=e.renderWrapper,p=e.removeAriaLabel,g=e.editable,y=e.onClick,A=e.onFocus,x=e.style,C="".concat(n,"-tab"),b=nXe(d,c,g,s);function v(P){s||y(P)}function S(P){P.preventDefault(),P.stopPropagation(),g.onEdit("remove",{key:a,event:P})}var w=m.useMemo(function(){return u&&typeof l=="string"?m.createElement("span",null,l):l},[l,u]),T=m.createElement("div",{key:a,"data-node-key":tXe(a),className:Vn(C,Qh(Qh(Qh({},"".concat(C,"-with-remove"),b),"".concat(C,"-active"),i),"".concat(C,"-disabled"),s)),style:x,onClick:v},m.createElement("div",{role:"tab","aria-selected":i,id:o&&"".concat(o,"-tab-").concat(a),className:"".concat(C,"-btn"),"aria-controls":o&&"".concat(o,"-panel-").concat(a),"aria-disabled":s,tabIndex:s?null:0,onClick:function(R){R.stopPropagation(),v(R)},onKeyDown:function(R){[Bn.SPACE,Bn.ENTER].includes(R.which)&&(R.preventDefault(),v(R))},onFocus:A},u&&m.createElement("span",{className:"".concat(C,"-icon")},u),l&&w),b&&m.createElement("button",{type:"button","aria-label":p||"remove",tabIndex:0,className:"".concat(C,"-remove"),onClick:function(R){R.stopPropagation(),S(R)}},c||g.removeIcon||"×"));return f?f(T):T},lLt=function(e,n){var o=e.offsetWidth,i=e.offsetHeight,r=e.offsetTop,a=e.offsetLeft,l=e.getBoundingClientRect(),s=l.width,c=l.height,u=l.x,d=l.y;return Math.abs(s-o)<1?[s,c,u-n.x,d-n.y]:[o,i,a,r]},MT=function(e){var n=e.current||{},o=n.offsetWidth,i=o===void 0?0:o,r=n.offsetHeight,a=r===void 0?0:r;if(e.current){var l=e.current.getBoundingClientRect(),s=l.width,c=l.height;if(Math.abs(s-i)<1)return[s,c]}return[i,a]},vY=function(e,n){return e[n?0:1]},Uve=m.forwardRef(function(t,e){var n=t.className,o=t.style,i=t.id,r=t.animated,a=t.activeKey,l=t.rtl,s=t.extra,c=t.editable,u=t.locale,d=t.tabPosition,f=t.tabBarGutter,p=t.children,g=t.onTabClick,y=t.onTabScroll,A=t.indicator,x=m.useContext(E$),C=x.prefixCls,b=x.tabs,v=m.useRef(null),S=m.useRef(null),w=m.useRef(null),T=m.useRef(null),P=m.useRef(null),R=m.useRef(null),H=m.useRef(null),D=d==="top"||d==="bottom",E=Eve(0,function(st,ft){D&&y&&y({direction:st>ft?"left":"right"})}),L=Lc(E,2),U=L[0],F=L[1],W=Eve(0,function(st,ft){!D&&y&&y({direction:st>ft?"top":"bottom"})}),B=Lc(W,2),k=B[0],N=B[1],j=m.useState([0,0]),Y=Lc(j,2),_=Y[0],J=Y[1],Q=m.useState([0,0]),ee=Lc(Q,2),$=ee[0],q=ee[1],le=m.useState([0,0]),ie=Lc(le,2),pe=ie[0],ne=ie[1],Z=m.useState([0,0]),he=Lc(Z,2),fe=he[0],se=he[1],oe=tLt(new Map),de=Lc(oe,2),ve=de[0],Pe=de[1],me=QFt(b,ve,$[0]),Re=vY(_,D),ze=vY($,D),Ae=vY(pe,D),re=vY(fe,D),ge=ReIe?Ie:st}var Ee=m.useRef(null),Ue=m.useState(),Ne=Lc(Ue,2),Le=Ne[0],qe=Ne[1];function We(){qe(Date.now())}function De(){Ee.current&&clearTimeout(Ee.current)}eLt(T,function(st,ft){function Rt(zt,Xe){zt(function(ht){var Je=Ce(ht+Xe);return Je})}return ge?(D?Rt(F,st):Rt(N,ft),De(),We(),!0):!1}),m.useEffect(function(){return De(),Le&&(Ee.current=setTimeout(function(){qe(0)},100)),De},[Le]);var Fe=nLt(me,we,D?U:k,ze,Ae,re,zm(zm({},t),{},{tabs:b})),_e=Lc(Fe,2),ot=_e[0],Ye=_e[1],St=Ia(function(){var st=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a,ft=me.get(st)||{width:0,height:0,left:0,right:0,top:0};if(D){var Rt=U;l?ft.rightU+we&&(Rt=ft.right+ft.width-we):ft.left<-U?Rt=-ft.left:ft.left+ft.width>-U+we&&(Rt=-(ft.left+ft.width-we)),N(0),F(Ce(Rt))}else{var zt=k;ft.top<-k?zt=-ft.top:ft.top+ft.height>-k+we&&(zt=-(ft.top+ft.height-we)),F(0),N(Ce(zt))}}),dt={};d==="top"||d==="bottom"?dt[l?"marginRight":"marginLeft"]=f:dt.marginTop=f;var je=b.map(function(st,ft){var Rt=st.key;return m.createElement(aLt,{id:i,prefixCls:C,key:Rt,tab:st,style:ft===0?void 0:dt,closable:st.closable,editable:c,active:Rt===a,renderWrapper:p,removeAriaLabel:u==null?void 0:u.removeAriaLabel,onClick:function(Xe){g(Rt,Xe)},onFocus:function(){St(Rt),We(),T.current&&(l||(T.current.scrollLeft=0),T.current.scrollTop=0)}})}),at=function(){return Pe(function(){var ft,Rt=new Map,zt=(ft=P.current)===null||ft===void 0?void 0:ft.getBoundingClientRect();return b.forEach(function(Xe){var ht,Je=Xe.key,mt=(ht=P.current)===null||ht===void 0?void 0:ht.querySelector('[data-node-key="'.concat(tXe(Je),'"]'));if(mt){var Ge=lLt(mt,zt),xt=Lc(Ge,4),It=xt[0],Tt=xt[1],Dt=xt[2],Lt=xt[3];Rt.set(Je,{width:It,height:Tt,left:Dt,top:Lt})}}),Rt})};m.useEffect(function(){at()},[b.map(function(st){return st.key}).join("_")]);var ut=eXe(function(){var st=MT(v),ft=MT(S),Rt=MT(w);J([st[0]-ft[0]-Rt[0],st[1]-ft[1]-Rt[1]]);var zt=MT(H);ne(zt);var Xe=MT(R);se(Xe);var ht=MT(P);q([ht[0]-zt[0],ht[1]-zt[1]]),at()}),wt=b.slice(0,ot),rt=b.slice(Ye+1),Qe=[].concat(zve(wt),zve(rt)),Oe=me.get(a),et=$Ft({activeTabOffset:Oe,horizontal:D,indicator:A,rtl:l}),vt=et.style;m.useEffect(function(){St()},[a,Te,Ie,Wve(Oe),Wve(me),D]),m.useEffect(function(){ut()},[l]);var ct=!!Qe.length,lt="".concat(C,"-nav-wrap"),tt,it,At,Mt;return D?l?(it=U>0,tt=U!==Ie):(tt=U<0,it=U!==Te):(At=k<0,Mt=k!==Te),m.createElement(xd,{onResize:ut},m.createElement("div",{ref:z7(e,v),role:"tablist",className:Vn("".concat(C,"-nav"),n),style:o,onKeyDown:function(){We()}},m.createElement(Nve,{ref:S,position:"left",extra:s,prefixCls:C}),m.createElement(xd,{onResize:ut},m.createElement("div",{className:Vn(lt,Qh(Qh(Qh(Qh({},"".concat(lt,"-ping-left"),tt),"".concat(lt,"-ping-right"),it),"".concat(lt,"-ping-top"),At),"".concat(lt,"-ping-bottom"),Mt)),ref:T},m.createElement(xd,{onResize:ut},m.createElement("div",{ref:P,className:"".concat(C,"-nav-list"),style:{transform:"translate(".concat(U,"px, ").concat(k,"px)"),transition:Le?"none":void 0}},je,m.createElement(oXe,{ref:H,prefixCls:C,locale:u,editable:c,style:zm(zm({},je.length===0?void 0:dt),{},{visibility:ct?"hidden":null})}),m.createElement("div",{className:Vn("".concat(C,"-ink-bar"),Qh({},"".concat(C,"-ink-bar-animated"),r.inkBar)),style:vt}))))),m.createElement(rLt,A9({},t,{removeAriaLabel:u==null?void 0:u.removeAriaLabel,ref:R,prefixCls:C,tabs:Qe,className:!ct&&ye,tabMoving:!!Le})),m.createElement(Nve,{ref:w,position:"right",extra:s,prefixCls:C})))}),iXe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.className,i=t.style,r=t.id,a=t.active,l=t.tabKey,s=t.children;return m.createElement("div",{id:r&&"".concat(r,"-panel-").concat(l),role:"tabpanel",tabIndex:a?0:-1,"aria-labelledby":r&&"".concat(r,"-tab-").concat(l),"aria-hidden":!a,style:i,className:Vn(n,a&&"".concat(n,"-active"),o),ref:e},s)}),sLt=["renderTabBar"],cLt=["label","key"],uLt=function(e){var n=e.renderTabBar,o=HG(e,sLt),i=m.useContext(E$),r=i.tabs;if(n){var a=zm(zm({},o),{},{panes:r.map(function(l){var s=l.label,c=l.key,u=HG(l,cLt);return m.createElement(iXe,A9({tab:s,key:c,tabKey:c},u))})});return n(a,Uve)}return m.createElement(Uve,o)},dLt=["key","forceRender","style","className","destroyInactiveTabPane"],fLt=function(e){var n=e.id,o=e.activeKey,i=e.animated,r=e.tabPosition,a=e.destroyInactiveTabPane,l=m.useContext(E$),s=l.prefixCls,c=l.tabs,u=i.tabPane,d="".concat(s,"-tabpane");return m.createElement("div",{className:Vn("".concat(s,"-content-holder"))},m.createElement("div",{className:Vn("".concat(s,"-content"),"".concat(s,"-content-").concat(r),Qh({},"".concat(s,"-content-animated"),u))},c.map(function(f){var p=f.key,g=f.forceRender,y=f.style,A=f.className,x=f.destroyInactiveTabPane,C=HG(f,dLt),b=p===o;return m.createElement(Cg,A9({key:p,visible:b,forceRender:g,removeOnLeave:!!(a||x),leavedClassName:"".concat(d,"-hidden")},i.tabPaneMotion),function(v,S){var w=v.style,T=v.className;return m.createElement(iXe,A9({},C,{prefixCls:d,id:n,tabKey:p,animated:u,active:b,style:zm(zm({},y),w),className:Vn(A,T),ref:S}))})})))};function hLt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},e;return t===!1?e={inkBar:!1,tabPane:!1}:t===!0?e={inkBar:!0,tabPane:!1}:e=zm({inkBar:!0},r7(t)==="object"?t:{}),e.tabPaneMotion&&e.tabPane===void 0&&(e.tabPane=!0),!e.tabPaneMotion&&e.tabPane&&(e.tabPane=!1),e}var pLt=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","more","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName","indicator"],Bve=0,gLt=m.forwardRef(function(t,e){var n=t.id,o=t.prefixCls,i=o===void 0?"rc-tabs":o,r=t.className,a=t.items,l=t.direction,s=t.activeKey,c=t.defaultActiveKey,u=t.editable,d=t.animated,f=t.tabPosition,p=f===void 0?"top":f,g=t.tabBarGutter,y=t.tabBarStyle,A=t.tabBarExtraContent,x=t.locale,C=t.more,b=t.destroyInactiveTabPane,v=t.renderTabBar,S=t.onChange,w=t.onTabClick,T=t.onTabScroll,P=t.getPopupContainer,R=t.popupClassName,H=t.indicator,D=HG(t,pLt),E=m.useMemo(function(){return(a||[]).filter(function(fe){return fe&&r7(fe)==="object"&&"key"in fe})},[a]),L=l==="rtl",U=hLt(d),F=m.useState(!1),W=Lc(F,2),B=W[0],k=W[1];m.useEffect(function(){k(m$())},[]);var N=Rs(function(){var fe;return(fe=E[0])===null||fe===void 0?void 0:fe.key},{value:s,defaultValue:c}),j=Lc(N,2),Y=j[0],_=j[1],J=m.useState(function(){return E.findIndex(function(fe){return fe.key===Y})}),Q=Lc(J,2),ee=Q[0],$=Q[1];m.useEffect(function(){var fe=E.findIndex(function(oe){return oe.key===Y});if(fe===-1){var se;fe=Math.max(0,Math.min(ee,E.length-1)),_((se=E[fe])===null||se===void 0?void 0:se.key)}$(fe)},[E.map(function(fe){return fe.key}).join("_"),Y,ee]);var q=Rs(null,{value:n}),le=Lc(q,2),ie=le[0],pe=le[1];m.useEffect(function(){n||(pe("rc-tabs-".concat(Bve)),Bve+=1)},[]);function ne(fe,se){w==null||w(fe,se);var oe=fe!==Y;_(fe),oe&&(S==null||S(fe))}var Z={id:ie,activeKey:Y,animated:U,tabPosition:p,rtl:L,mobile:B},he=zm(zm({},Z),{},{editable:u,locale:x,more:C,tabBarGutter:g,onTabClick:ne,onTabScroll:T,extra:A,style:y,panes:null,getPopupContainer:P,popupClassName:R,indicator:H});return m.createElement(E$.Provider,{value:{tabs:E,prefixCls:i}},m.createElement("div",A9({ref:e,id:n,className:Vn(i,"".concat(i,"-").concat(p),Qh(Qh(Qh({},"".concat(i,"-mobile"),B),"".concat(i,"-editable"),u),"".concat(i,"-rtl"),L),r)},D),m.createElement(uLt,A9({},he,{renderTabBar:v})),m.createElement(fLt,A9({destroyInactiveTabPane:b},Z,{animated:U}))))});const mLt={motionAppear:!1,motionEnter:!0,motionLeave:!0};function yLt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},n;return e===!1?n={inkBar:!1,tabPane:!1}:e===!0?n={inkBar:!0,tabPane:!0}:n=Object.assign({inkBar:!0},typeof e=="object"?e:{}),n.tabPane&&(n.tabPaneMotion=Object.assign(Object.assign({},mLt),{motionName:D9(t,"switch")})),n}var ALt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);ie)}function vLt(t,e){if(t)return t;const n=E9(e).map(o=>{if(m.isValidElement(o)){const{key:i,props:r}=o,a=r||{},{tab:l}=a,s=ALt(a,["tab"]);return Object.assign(Object.assign({key:String(i)},s),{label:l})}return null});return wLt(n)}const xLt=t=>{const{componentCls:e,motionDurationSlow:n}=t;return[{[e]:{[`${e}-switch`]:{"&-appear, &-enter":{transition:"none","&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${n}`}},"&-leave":{position:"absolute",transition:"none",inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${n}`}}}}},[F9(t,"slide-up"),F9(t,"slide-down")]]},bLt=t=>{const{componentCls:e,tabsCardPadding:n,cardBg:o,cardGutter:i,colorBorderSecondary:r,itemSelectedColor:a}=t;return{[`${e}-card`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{margin:0,padding:n,background:o,border:`${Ut(t.lineWidth)} ${t.lineType} ${r}`,transition:`all ${t.motionDurationSlow} ${t.motionEaseInOut}`},[`${e}-tab-active`]:{color:a,background:t.colorBgContainer},[`${e}-ink-bar`]:{visibility:"hidden"}},[`&${e}-top, &${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginLeft:{_skip_check_:!0,value:Ut(i)}}}},[`&${e}-top`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`},[`${e}-tab-active`]:{borderBottomColor:t.colorBgContainer}}},[`&${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`0 0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)}`},[`${e}-tab-active`]:{borderTopColor:t.colorBgContainer}}},[`&${e}-left, &${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginTop:Ut(i)}}},[`&${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ut(t.borderRadiusLG)} 0 0 ${Ut(t.borderRadiusLG)}`}},[`${e}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:t.colorBgContainer}}}},[`&${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0`}},[`${e}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:t.colorBgContainer}}}}}}},SLt=t=>{const{componentCls:e,itemHoverColor:n,dropdownEdgeChildVerticalPadding:o}=t;return{[`${e}-dropdown`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:t.zIndexPopup,display:"block","&-hidden":{display:"none"},[`${e}-dropdown-menu`]:{maxHeight:t.tabsDropdownHeight,margin:0,padding:`${Ut(o)} 0`,overflowX:"hidden",overflowY:"auto",textAlign:{_skip_check_:!0,value:"left"},listStyleType:"none",backgroundColor:t.colorBgContainer,backgroundClip:"padding-box",borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary,"&-item":Object.assign(Object.assign({},Yx),{display:"flex",alignItems:"center",minWidth:t.tabsDropdownWidth,margin:0,padding:`${Ut(t.paddingXXS)} ${Ut(t.paddingSM)}`,color:t.colorText,fontWeight:"normal",fontSize:t.fontSize,lineHeight:t.lineHeight,cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"> span":{flex:1,whiteSpace:"nowrap"},"&-remove":{flex:"none",marginLeft:{_skip_check_:!0,value:t.marginSM},color:t.colorTextDescription,fontSize:t.fontSizeSM,background:"transparent",border:0,cursor:"pointer","&:hover":{color:n}},"&:hover":{background:t.controlItemBgHover},"&-disabled":{"&, &:hover":{color:t.colorTextDisabled,background:"transparent",cursor:"not-allowed"}}})}})}},TLt=t=>{const{componentCls:e,margin:n,colorBorderSecondary:o,horizontalMargin:i,verticalItemPadding:r,verticalItemMargin:a,calc:l}=t;return{[`${e}-top, ${e}-bottom`]:{flexDirection:"column",[`> ${e}-nav, > div > ${e}-nav`]:{margin:i,"&::before":{position:"absolute",right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${o}`,content:"''"},[`${e}-ink-bar`]:{height:t.lineWidthBold,"&-animated":{transition:`width ${t.motionDurationSlow}, left ${t.motionDurationSlow}, right ${t.motionDurationSlow}`}},[`${e}-nav-wrap`]:{"&::before, &::after":{top:0,bottom:0,width:t.controlHeight},"&::before":{left:{_skip_check_:!0,value:0},boxShadow:t.boxShadowTabsOverflowLeft},"&::after":{right:{_skip_check_:!0,value:0},boxShadow:t.boxShadowTabsOverflowRight},[`&${e}-nav-wrap-ping-left::before`]:{opacity:1},[`&${e}-nav-wrap-ping-right::after`]:{opacity:1}}}},[`${e}-top`]:{[`> ${e}-nav, - > div > ${e}-nav`]:{"&::before":{bottom:0},[`${e}-ink-bar`]:{bottom:0}}},[`${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,marginTop:n,marginBottom:0,"&::before":{top:0},[`${e}-ink-bar`]:{top:0}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0}},[`${e}-left, ${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{flexDirection:"column",minWidth:l(t.controlHeight).mul(1.25).equal(),[`${e}-tab`]:{padding:r,textAlign:"center"},[`${e}-tab + ${e}-tab`]:{margin:a},[`${e}-nav-wrap`]:{flexDirection:"column","&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:t.controlHeight},"&::before":{top:0,boxShadow:t.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:t.boxShadowTabsOverflowBottom},[`&${e}-nav-wrap-ping-top::before`]:{opacity:1},[`&${e}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${e}-ink-bar`]:{width:t.lineWidthBold,"&-animated":{transition:`height ${t.motionDurationSlow}, top ${t.motionDurationSlow}`}},[`${e}-nav-list, ${e}-nav-operations`]:{flex:"1 0 auto",flexDirection:"column"}}},[`${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{marginLeft:{_skip_check_:!0,value:Ut(l(t.lineWidth).mul(-1).equal())},borderLeft:{_skip_check_:!0,value:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:t.paddingLG}}}},[`${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,[`${e}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:l(t.lineWidth).mul(-1).equal()},borderRight:{_skip_check_:!0,value:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingRight:{_skip_check_:!0,value:t.paddingLG}}}}}},RLt=t=>{const{componentCls:e,cardPaddingSM:n,cardPaddingLG:o,horizontalItemPaddingSM:i,horizontalItemPaddingLG:r}=t;return{[e]:{"&-small":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:i,fontSize:t.titleFontSizeSM}}},"&-large":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:r,fontSize:t.titleFontSizeLG}}}},[`${e}-card`]:{[`&${e}-small`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:n}},[`&${e}-bottom`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`0 0 ${Ut(t.borderRadius)} ${Ut(t.borderRadius)}`}},[`&${e}-top`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`${Ut(t.borderRadius)} ${Ut(t.borderRadius)} 0 0`}},[`&${e}-right`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ut(t.borderRadius)} ${Ut(t.borderRadius)} 0`}}},[`&${e}-left`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ut(t.borderRadius)} 0 0 ${Ut(t.borderRadius)}`}}}},[`&${e}-large`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:o}}}}}},HLt=t=>{const{componentCls:e,itemActiveColor:n,itemHoverColor:o,iconCls:i,tabsHorizontalItemMargin:r,horizontalItemPadding:a,itemSelectedColor:l,itemColor:s}=t,c=`${e}-tab`;return{[c]:{position:"relative",WebkitTouchCallout:"none",WebkitTapHighlightColor:"transparent",display:"inline-flex",alignItems:"center",padding:a,fontSize:t.titleFontSize,background:"transparent",border:0,outline:"none",cursor:"pointer",color:s,"&-btn, &-remove":Object.assign({"&:focus:not(:focus-visible), &:active":{color:n}},V6(t)),"&-btn":{outline:"none",transition:`all ${t.motionDurationSlow}`,[`${c}-icon:not(:last-child)`]:{marginInlineEnd:t.marginSM}},"&-remove":{flex:"none",marginRight:{_skip_check_:!0,value:t.calc(t.marginXXS).mul(-1).equal()},marginLeft:{_skip_check_:!0,value:t.marginXS},color:t.colorTextDescription,fontSize:t.fontSizeSM,background:"transparent",border:"none",outline:"none",cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"&:hover":{color:t.colorTextHeading}},"&:hover":{color:o},[`&${c}-active ${c}-btn`]:{color:l,textShadow:t.tabsActiveTextShadow},[`&${c}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed"},[`&${c}-disabled ${c}-btn, &${c}-disabled ${e}-remove`]:{"&:focus, &:active":{color:t.colorTextDisabled}},[`& ${c}-remove ${i}`]:{margin:0},[`${i}:not(:last-child)`]:{marginRight:{_skip_check_:!0,value:t.marginSM}}},[`${c} + ${c}`]:{margin:{_skip_check_:!0,value:r}}}},MLt=t=>{const{componentCls:e,tabsHorizontalItemMarginRTL:n,iconCls:o,cardGutter:i,calc:r}=t;return{[`${e}-rtl`]:{direction:"rtl",[`${e}-nav`]:{[`${e}-tab`]:{margin:{_skip_check_:!0,value:n},[`${e}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[o]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:Ut(t.marginSM)}},[`${e}-tab-remove`]:{marginRight:{_skip_check_:!0,value:Ut(t.marginXS)},marginLeft:{_skip_check_:!0,value:Ut(r(t.marginXXS).mul(-1).equal())},[o]:{margin:0}}}},[`&${e}-left`]:{[`> ${e}-nav`]:{order:1},[`> ${e}-content-holder`]:{order:0}},[`&${e}-right`]:{[`> ${e}-nav`]:{order:0},[`> ${e}-content-holder`]:{order:1}},[`&${e}-card${e}-top, &${e}-card${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginRight:{_skip_check_:!0,value:i},marginLeft:{_skip_check_:!0,value:0}}}}},[`${e}-dropdown-rtl`]:{direction:"rtl"},[`${e}-menu-item`]:{[`${e}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:"right"}}}}},ILt=t=>{const{componentCls:e,tabsCardPadding:n,cardHeight:o,cardGutter:i,itemHoverColor:r,itemActiveColor:a,colorBorderSecondary:l}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{display:"flex",[`> ${e}-nav, > div > ${e}-nav`]:{position:"relative",display:"flex",flex:"none",alignItems:"center",[`${e}-nav-wrap`]:{position:"relative",display:"flex",flex:"auto",alignSelf:"stretch",overflow:"hidden",whiteSpace:"nowrap",transform:"translate(0)","&::before, &::after":{position:"absolute",zIndex:1,opacity:0,transition:`opacity ${t.motionDurationSlow}`,content:"''",pointerEvents:"none"}},[`${e}-nav-list`]:{position:"relative",display:"flex",transition:`opacity ${t.motionDurationSlow}`},[`${e}-nav-operations`]:{display:"flex",alignSelf:"stretch"},[`${e}-nav-operations-hidden`]:{position:"absolute",visibility:"hidden",pointerEvents:"none"},[`${e}-nav-more`]:{position:"relative",padding:n,background:"transparent",border:0,color:t.colorText,"&::after":{position:"absolute",right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:t.calc(t.controlHeightLG).div(8).equal(),transform:"translateY(100%)",content:"''"}},[`${e}-nav-add`]:Object.assign({minWidth:o,minHeight:o,marginLeft:{_skip_check_:!0,value:i},padding:`0 ${Ut(t.paddingXS)}`,background:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} ${l}`,borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`,outline:"none",cursor:"pointer",color:t.colorText,transition:`all ${t.motionDurationSlow} ${t.motionEaseInOut}`,"&:hover":{color:r},"&:active, &:focus:not(:focus-visible)":{color:a}},V6(t))},[`${e}-extra-content`]:{flex:"none"},[`${e}-ink-bar`]:{position:"absolute",background:t.inkBarColor,pointerEvents:"none"}}),HLt(t)),{[`${e}-content`]:{position:"relative",width:"100%"},[`${e}-content-holder`]:{flex:"auto",minWidth:0,minHeight:0},[`${e}-tabpane`]:{outline:"none","&-hidden":{display:"none"}}}),[`${e}-centered`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-nav-wrap`]:{[`&:not([class*='${e}-nav-wrap-ping'])`]:{justifyContent:"center"}}}}}},zLt=t=>{const e=t.controlHeightLG;return{zIndexPopup:t.zIndexPopupBase+50,cardBg:t.colorFillAlter,cardHeight:e,cardPadding:`${(e-Math.round(t.fontSize*t.lineHeight))/2-t.lineWidth}px ${t.padding}px`,cardPaddingSM:`${t.paddingXXS*1.5}px ${t.padding}px`,cardPaddingLG:`${t.paddingXS}px ${t.padding}px ${t.paddingXXS*1.5}px`,titleFontSize:t.fontSize,titleFontSizeLG:t.fontSizeLG,titleFontSizeSM:t.fontSize,inkBarColor:t.colorPrimary,horizontalMargin:`0 0 ${t.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:"",horizontalItemMarginRTL:"",horizontalItemPadding:`${t.paddingSM}px 0`,horizontalItemPaddingSM:`${t.paddingXS}px 0`,horizontalItemPaddingLG:`${t.padding}px 0`,verticalItemPadding:`${t.paddingXS}px ${t.paddingLG}px`,verticalItemMargin:`${t.margin}px 0 0 0`,itemColor:t.colorText,itemSelectedColor:t.colorPrimary,itemHoverColor:t.colorPrimaryHover,itemActiveColor:t.colorPrimaryActive,cardGutter:t.marginXXS/2}},DLt=Fl("Tabs",t=>{const e=Zr(t,{tabsCardPadding:t.cardPadding,dropdownEdgeChildVerticalPadding:t.paddingXXS,tabsActiveTextShadow:"0 0 0.25px currentcolor",tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${Ut(t.horizontalItemGutter)}`,tabsHorizontalItemMarginRTL:`0 0 0 ${Ut(t.horizontalItemGutter)}`});return[RLt(e),MLt(e),CLt(e),PLt(e),TLt(e),ILt(e),SLt(e)]},zLt),ELt=()=>null;var kLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var e,n,o,i,r,a,l,s,c,u,d;const{type:f,className:p,rootClassName:g,size:y,onEdit:A,hideAdd:x,centered:C,addIcon:b,removeIcon:v,moreIcon:S,more:w,popupClassName:T,children:P,items:R,animated:H,style:D,indicatorSize:E,indicator:L}=t,U=kLt(t,["type","className","rootClassName","size","onEdit","hideAdd","centered","addIcon","removeIcon","moreIcon","more","popupClassName","children","items","animated","style","indicatorSize","indicator"]),{prefixCls:F}=U,{direction:W,tabs:B,getPrefixCls:k,getPopupContainer:N}=m.useContext(Mi),j=k("tabs",F),Y=j0(j),[_,J,Q]=DLt(j,Y);let ee;f==="editable-card"&&(ee={onEdit:(Z,he)=>{let{key:fe,event:se}=he;A==null||A(Z==="add"?se:fe,Z)},removeIcon:(e=v??(B==null?void 0:B.removeIcon))!==null&&e!==void 0?e:m.createElement(E7,null),addIcon:(b??(B==null?void 0:B.addIcon))||m.createElement(OFt,null),showAdd:x!==!0});const $=k(),q=Cd(y),le=bLt(R,P),ie=wLt(j,H),pe=Object.assign(Object.assign({},B==null?void 0:B.style),D),ne={align:(n=L==null?void 0:L.align)!==null&&n!==void 0?n:(o=B==null?void 0:B.indicator)===null||o===void 0?void 0:o.align,size:(l=(r=(i=L==null?void 0:L.size)!==null&&i!==void 0?i:E)!==null&&r!==void 0?r:(a=B==null?void 0:B.indicator)===null||a===void 0?void 0:a.size)!==null&&l!==void 0?l:B==null?void 0:B.indicatorSize};return _(m.createElement(yLt,Object.assign({direction:W,getPopupContainer:N},U,{items:le,className:Gn({[`${j}-${q}`]:q,[`${j}-card`]:["card","editable-card"].includes(f),[`${j}-editable-card`]:f==="editable-card",[`${j}-centered`]:C},B==null?void 0:B.className,p,g,J,Q,Y),popupClassName:Gn(T,J,Q,Y),style:pe,editable:ee,more:Object.assign({icon:(d=(u=(c=(s=B==null?void 0:B.more)===null||s===void 0?void 0:s.icon)!==null&&c!==void 0?c:B==null?void 0:B.moreIcon)!==null&&u!==void 0?u:S)!==null&&d!==void 0?d:m.createElement(pme,null),transitionName:`${$}-slide-up`},w),prefixCls:j,animated:ie,indicator:ne})))};FW.TabPane=ELt;function FLt(t,e,n){var o=n||{},i=o.noTrailing,r=i===void 0?!1:i,a=o.noLeading,l=a===void 0?!1:a,s=o.debounceMode,c=s===void 0?void 0:s,u,d=!1,f=0;function p(){u&&clearTimeout(u)}function g(A){var x=A||{},C=x.upcomingOnly,b=C===void 0?!1:C;p(),d=!b}function y(){for(var A=arguments.length,x=new Array(A),C=0;Ct?l?(f=Date.now(),r||(u=setTimeout(c?w:S,t))):S():r!==!0&&(u=setTimeout(c?w:S,c===void 0?t-v:t))}return y.cancel=g,y}function LLt(t,e,n){var o={},i=o.atBegin,r=i===void 0?!1:i;return FLt(t,e,{debounceMode:r!==!1})}const WLt=t=>{const{checkboxCls:e}=t,n=`${e}-wrapper`;return[{[`${e}-group`]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",flexWrap:"wrap",columnGap:t.marginXS,[`> ${t.antCls}-row`]:{flex:1}}),[n]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${n}`]:{marginInlineStart:0},[`&${n}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:t.borderRadiusSM,alignSelf:"center",[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${e}-inner`]:Object.assign({},n7(t))},[`${e}-inner`]:{boxSizing:"border-box",display:"block",width:t.checkboxSize,height:t.checkboxSize,direction:"ltr",backgroundColor:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadiusSM,borderCollapse:"separate",transition:`all ${t.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"25%",display:"table",width:t.calc(t.checkboxSize).div(14).mul(5).equal(),height:t.calc(t.checkboxSize).div(14).mul(8).equal(),border:`${Ut(t.lineWidthBold)} solid ${t.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${t.motionDurationFast} ${t.motionEaseInBack}, opacity ${t.motionDurationFast}`}},"& + span":{paddingInlineStart:t.paddingXS,paddingInlineEnd:t.paddingXS}})},{[` + > div > ${e}-nav`]:{"&::before":{bottom:0},[`${e}-ink-bar`]:{bottom:0}}},[`${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,marginTop:n,marginBottom:0,"&::before":{top:0},[`${e}-ink-bar`]:{top:0}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0}},[`${e}-left, ${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{flexDirection:"column",minWidth:l(t.controlHeight).mul(1.25).equal(),[`${e}-tab`]:{padding:r,textAlign:"center"},[`${e}-tab + ${e}-tab`]:{margin:a},[`${e}-nav-wrap`]:{flexDirection:"column","&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:t.controlHeight},"&::before":{top:0,boxShadow:t.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:t.boxShadowTabsOverflowBottom},[`&${e}-nav-wrap-ping-top::before`]:{opacity:1},[`&${e}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${e}-ink-bar`]:{width:t.lineWidthBold,"&-animated":{transition:`height ${t.motionDurationSlow}, top ${t.motionDurationSlow}`}},[`${e}-nav-list, ${e}-nav-operations`]:{flex:"1 0 auto",flexDirection:"column"}}},[`${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{marginLeft:{_skip_check_:!0,value:Ut(l(t.lineWidth).mul(-1).equal())},borderLeft:{_skip_check_:!0,value:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:t.paddingLG}}}},[`${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,[`${e}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:l(t.lineWidth).mul(-1).equal()},borderRight:{_skip_check_:!0,value:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingRight:{_skip_check_:!0,value:t.paddingLG}}}}}},PLt=t=>{const{componentCls:e,cardPaddingSM:n,cardPaddingLG:o,horizontalItemPaddingSM:i,horizontalItemPaddingLG:r}=t;return{[e]:{"&-small":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:i,fontSize:t.titleFontSizeSM}}},"&-large":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:r,fontSize:t.titleFontSizeLG}}}},[`${e}-card`]:{[`&${e}-small`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:n}},[`&${e}-bottom`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`0 0 ${Ut(t.borderRadius)} ${Ut(t.borderRadius)}`}},[`&${e}-top`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`${Ut(t.borderRadius)} ${Ut(t.borderRadius)} 0 0`}},[`&${e}-right`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ut(t.borderRadius)} ${Ut(t.borderRadius)} 0`}}},[`&${e}-left`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ut(t.borderRadius)} 0 0 ${Ut(t.borderRadius)}`}}}},[`&${e}-large`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:o}}}}}},CLt=t=>{const{componentCls:e,itemActiveColor:n,itemHoverColor:o,iconCls:i,tabsHorizontalItemMargin:r,horizontalItemPadding:a,itemSelectedColor:l,itemColor:s}=t,c=`${e}-tab`;return{[c]:{position:"relative",WebkitTouchCallout:"none",WebkitTapHighlightColor:"transparent",display:"inline-flex",alignItems:"center",padding:a,fontSize:t.titleFontSize,background:"transparent",border:0,outline:"none",cursor:"pointer",color:s,"&-btn, &-remove":Object.assign({"&:focus:not(:focus-visible), &:active":{color:n}},V6(t)),"&-btn":{outline:"none",transition:`all ${t.motionDurationSlow}`,[`${c}-icon:not(:last-child)`]:{marginInlineEnd:t.marginSM}},"&-remove":{flex:"none",marginRight:{_skip_check_:!0,value:t.calc(t.marginXXS).mul(-1).equal()},marginLeft:{_skip_check_:!0,value:t.marginXS},color:t.colorTextDescription,fontSize:t.fontSizeSM,background:"transparent",border:"none",outline:"none",cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"&:hover":{color:t.colorTextHeading}},"&:hover":{color:o},[`&${c}-active ${c}-btn`]:{color:l,textShadow:t.tabsActiveTextShadow},[`&${c}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed"},[`&${c}-disabled ${c}-btn, &${c}-disabled ${e}-remove`]:{"&:focus, &:active":{color:t.colorTextDisabled}},[`& ${c}-remove ${i}`]:{margin:0},[`${i}:not(:last-child)`]:{marginRight:{_skip_check_:!0,value:t.marginSM}}},[`${c} + ${c}`]:{margin:{_skip_check_:!0,value:r}}}},RLt=t=>{const{componentCls:e,tabsHorizontalItemMarginRTL:n,iconCls:o,cardGutter:i,calc:r}=t;return{[`${e}-rtl`]:{direction:"rtl",[`${e}-nav`]:{[`${e}-tab`]:{margin:{_skip_check_:!0,value:n},[`${e}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[o]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:Ut(t.marginSM)}},[`${e}-tab-remove`]:{marginRight:{_skip_check_:!0,value:Ut(t.marginXS)},marginLeft:{_skip_check_:!0,value:Ut(r(t.marginXXS).mul(-1).equal())},[o]:{margin:0}}}},[`&${e}-left`]:{[`> ${e}-nav`]:{order:1},[`> ${e}-content-holder`]:{order:0}},[`&${e}-right`]:{[`> ${e}-nav`]:{order:0},[`> ${e}-content-holder`]:{order:1}},[`&${e}-card${e}-top, &${e}-card${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginRight:{_skip_check_:!0,value:i},marginLeft:{_skip_check_:!0,value:0}}}}},[`${e}-dropdown-rtl`]:{direction:"rtl"},[`${e}-menu-item`]:{[`${e}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:"right"}}}}},HLt=t=>{const{componentCls:e,tabsCardPadding:n,cardHeight:o,cardGutter:i,itemHoverColor:r,itemActiveColor:a,colorBorderSecondary:l}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{display:"flex",[`> ${e}-nav, > div > ${e}-nav`]:{position:"relative",display:"flex",flex:"none",alignItems:"center",[`${e}-nav-wrap`]:{position:"relative",display:"flex",flex:"auto",alignSelf:"stretch",overflow:"hidden",whiteSpace:"nowrap",transform:"translate(0)","&::before, &::after":{position:"absolute",zIndex:1,opacity:0,transition:`opacity ${t.motionDurationSlow}`,content:"''",pointerEvents:"none"}},[`${e}-nav-list`]:{position:"relative",display:"flex",transition:`opacity ${t.motionDurationSlow}`},[`${e}-nav-operations`]:{display:"flex",alignSelf:"stretch"},[`${e}-nav-operations-hidden`]:{position:"absolute",visibility:"hidden",pointerEvents:"none"},[`${e}-nav-more`]:{position:"relative",padding:n,background:"transparent",border:0,color:t.colorText,"&::after":{position:"absolute",right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:t.calc(t.controlHeightLG).div(8).equal(),transform:"translateY(100%)",content:"''"}},[`${e}-nav-add`]:Object.assign({minWidth:o,minHeight:o,marginLeft:{_skip_check_:!0,value:i},padding:`0 ${Ut(t.paddingXS)}`,background:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} ${l}`,borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`,outline:"none",cursor:"pointer",color:t.colorText,transition:`all ${t.motionDurationSlow} ${t.motionEaseInOut}`,"&:hover":{color:r},"&:active, &:focus:not(:focus-visible)":{color:a}},V6(t))},[`${e}-extra-content`]:{flex:"none"},[`${e}-ink-bar`]:{position:"absolute",background:t.inkBarColor,pointerEvents:"none"}}),CLt(t)),{[`${e}-content`]:{position:"relative",width:"100%"},[`${e}-content-holder`]:{flex:"auto",minWidth:0,minHeight:0},[`${e}-tabpane`]:{outline:"none","&-hidden":{display:"none"}}}),[`${e}-centered`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-nav-wrap`]:{[`&:not([class*='${e}-nav-wrap-ping'])`]:{justifyContent:"center"}}}}}},MLt=t=>{const e=t.controlHeightLG;return{zIndexPopup:t.zIndexPopupBase+50,cardBg:t.colorFillAlter,cardHeight:e,cardPadding:`${(e-Math.round(t.fontSize*t.lineHeight))/2-t.lineWidth}px ${t.padding}px`,cardPaddingSM:`${t.paddingXXS*1.5}px ${t.padding}px`,cardPaddingLG:`${t.paddingXS}px ${t.padding}px ${t.paddingXXS*1.5}px`,titleFontSize:t.fontSize,titleFontSizeLG:t.fontSizeLG,titleFontSizeSM:t.fontSize,inkBarColor:t.colorPrimary,horizontalMargin:`0 0 ${t.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:"",horizontalItemMarginRTL:"",horizontalItemPadding:`${t.paddingSM}px 0`,horizontalItemPaddingSM:`${t.paddingXS}px 0`,horizontalItemPaddingLG:`${t.padding}px 0`,verticalItemPadding:`${t.paddingXS}px ${t.paddingLG}px`,verticalItemMargin:`${t.margin}px 0 0 0`,itemColor:t.colorText,itemSelectedColor:t.colorPrimary,itemHoverColor:t.colorPrimaryHover,itemActiveColor:t.colorPrimaryActive,cardGutter:t.marginXXS/2}},ILt=Fl("Tabs",t=>{const e=Zr(t,{tabsCardPadding:t.cardPadding,dropdownEdgeChildVerticalPadding:t.paddingXXS,tabsActiveTextShadow:"0 0 0.25px currentcolor",tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${Ut(t.horizontalItemGutter)}`,tabsHorizontalItemMarginRTL:`0 0 0 ${Ut(t.horizontalItemGutter)}`});return[PLt(e),RLt(e),TLt(e),SLt(e),bLt(e),HLt(e),xLt(e)]},MLt),zLt=()=>null;var DLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var e,n,o,i,r,a,l,s,c,u,d;const{type:f,className:p,rootClassName:g,size:y,onEdit:A,hideAdd:x,centered:C,addIcon:b,removeIcon:v,moreIcon:S,more:w,popupClassName:T,children:P,items:R,animated:H,style:D,indicatorSize:E,indicator:L}=t,U=DLt(t,["type","className","rootClassName","size","onEdit","hideAdd","centered","addIcon","removeIcon","moreIcon","more","popupClassName","children","items","animated","style","indicatorSize","indicator"]),{prefixCls:F}=U,{direction:W,tabs:B,getPrefixCls:k,getPopupContainer:N}=m.useContext(Mi),j=k("tabs",F),Y=j0(j),[_,J,Q]=ILt(j,Y);let ee;f==="editable-card"&&(ee={onEdit:(Z,he)=>{let{key:fe,event:se}=he;A==null||A(Z==="add"?se:fe,Z)},removeIcon:(e=v??(B==null?void 0:B.removeIcon))!==null&&e!==void 0?e:m.createElement(E7,null),addIcon:(b??(B==null?void 0:B.addIcon))||m.createElement(jFt,null),showAdd:x!==!0});const $=k(),q=Cd(y),le=vLt(R,P),ie=yLt(j,H),pe=Object.assign(Object.assign({},B==null?void 0:B.style),D),ne={align:(n=L==null?void 0:L.align)!==null&&n!==void 0?n:(o=B==null?void 0:B.indicator)===null||o===void 0?void 0:o.align,size:(l=(r=(i=L==null?void 0:L.size)!==null&&i!==void 0?i:E)!==null&&r!==void 0?r:(a=B==null?void 0:B.indicator)===null||a===void 0?void 0:a.size)!==null&&l!==void 0?l:B==null?void 0:B.indicatorSize};return _(m.createElement(gLt,Object.assign({direction:W,getPopupContainer:N},U,{items:le,className:Gn({[`${j}-${q}`]:q,[`${j}-card`]:["card","editable-card"].includes(f),[`${j}-editable-card`]:f==="editable-card",[`${j}-centered`]:C},B==null?void 0:B.className,p,g,J,Q,Y),popupClassName:Gn(T,J,Q,Y),style:pe,editable:ee,more:Object.assign({icon:(d=(u=(c=(s=B==null?void 0:B.more)===null||s===void 0?void 0:s.icon)!==null&&c!==void 0?c:B==null?void 0:B.moreIcon)!==null&&u!==void 0?u:S)!==null&&d!==void 0?d:m.createElement(pme,null),transitionName:`${$}-slide-up`},w),prefixCls:j,animated:ie,indicator:ne})))};FW.TabPane=zLt;function ELt(t,e,n){var o=n||{},i=o.noTrailing,r=i===void 0?!1:i,a=o.noLeading,l=a===void 0?!1:a,s=o.debounceMode,c=s===void 0?void 0:s,u,d=!1,f=0;function p(){u&&clearTimeout(u)}function g(A){var x=A||{},C=x.upcomingOnly,b=C===void 0?!1:C;p(),d=!b}function y(){for(var A=arguments.length,x=new Array(A),C=0;Ct?l?(f=Date.now(),r||(u=setTimeout(c?w:S,t))):S():r!==!0&&(u=setTimeout(c?w:S,c===void 0?t-v:t))}return y.cancel=g,y}function kLt(t,e,n){var o={},i=o.atBegin,r=i===void 0?!1:i;return ELt(t,e,{debounceMode:r!==!1})}const FLt=t=>{const{checkboxCls:e}=t,n=`${e}-wrapper`;return[{[`${e}-group`]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",flexWrap:"wrap",columnGap:t.marginXS,[`> ${t.antCls}-row`]:{flex:1}}),[n]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${n}`]:{marginInlineStart:0},[`&${n}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:t.borderRadiusSM,alignSelf:"center",[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${e}-inner`]:Object.assign({},n7(t))},[`${e}-inner`]:{boxSizing:"border-box",display:"block",width:t.checkboxSize,height:t.checkboxSize,direction:"ltr",backgroundColor:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadiusSM,borderCollapse:"separate",transition:`all ${t.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"25%",display:"table",width:t.calc(t.checkboxSize).div(14).mul(5).equal(),height:t.calc(t.checkboxSize).div(14).mul(8).equal(),border:`${Ut(t.lineWidthBold)} solid ${t.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${t.motionDurationFast} ${t.motionEaseInBack}, opacity ${t.motionDurationFast}`}},"& + span":{paddingInlineStart:t.paddingXS,paddingInlineEnd:t.paddingXS}})},{[` ${n}:not(${n}-disabled), ${e}:not(${e}-disabled) `]:{[`&:hover ${e}-inner`]:{borderColor:t.colorPrimary}},[`${n}:not(${n}-disabled)`]:{[`&:hover ${e}-checked:not(${e}-disabled) ${e}-inner`]:{backgroundColor:t.colorPrimaryHover,borderColor:"transparent"},[`&:hover ${e}-checked:not(${e}-disabled):after`]:{borderColor:t.colorPrimaryHover}}},{[`${e}-checked`]:{[`${e}-inner`]:{backgroundColor:t.colorPrimary,borderColor:t.colorPrimary,"&:after":{opacity:1,transform:"rotate(45deg) scale(1) translate(-50%,-50%)",transition:`all ${t.motionDurationMid} ${t.motionEaseOutBack} ${t.motionDurationFast}`}}},[` ${n}-checked:not(${n}-disabled), ${e}-checked:not(${e}-disabled) - `]:{[`&:hover ${e}-inner`]:{backgroundColor:t.colorPrimaryHover,borderColor:"transparent"}}},{[e]:{"&-indeterminate":{[`${e}-inner`]:{backgroundColor:t.colorBgContainer,borderColor:t.colorBorder,"&:after":{top:"50%",insetInlineStart:"50%",width:t.calc(t.fontSizeLG).div(2).equal(),height:t.calc(t.fontSizeLG).div(2).equal(),backgroundColor:t.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}}}}},{[`${n}-disabled`]:{cursor:"not-allowed"},[`${e}-disabled`]:{[`&, ${e}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${e}-inner`]:{background:t.colorBgContainerDisabled,borderColor:t.colorBorder,"&:after":{borderColor:t.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:t.colorTextDisabled},[`&${e}-indeterminate ${e}-inner::after`]:{background:t.colorTextDisabled}}}]};function rXe(t,e){const n=Zr(e,{checkboxCls:`.${t}`,checkboxSize:e.controlInteractiveSize});return[WLt(n)]}const aXe=Fl("Checkbox",(t,e)=>{let{prefixCls:n}=e;return[rXe(n,t)]}),lXe=Se.createContext(null);var NLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,className:i,rootClassName:r,children:a,indeterminate:l=!1,style:s,onMouseEnter:c,onMouseLeave:u,skipGroup:d=!1,disabled:f}=t,p=NLt(t,["prefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled"]),{getPrefixCls:g,direction:y,checkbox:A}=m.useContext(Mi),x=m.useContext(lXe),{isFormItemInput:C}=m.useContext($p),b=m.useContext(qp),v=(n=(x==null?void 0:x.disabled)||f)!==null&&n!==void 0?n:b,S=m.useRef(p.value);m.useEffect(()=>{x==null||x.registerValue(p.value)},[]),m.useEffect(()=>{if(!d)return p.value!==S.current&&(x==null||x.cancelValue(S.current),x==null||x.registerValue(p.value),S.current=p.value),()=>x==null?void 0:x.cancelValue(p.value)},[p.value]);const w=g("checkbox",o),T=j0(w),[P,R,H]=aXe(w,T),D=Object.assign({},p);x&&!d&&(D.onChange=function(){p.onChange&&p.onChange.apply(p,arguments),x.toggleOption&&x.toggleOption({label:a,value:p.value})},D.name=x.name,D.checked=x.value.includes(p.value));const E=Gn(`${w}-wrapper`,{[`${w}-rtl`]:y==="rtl",[`${w}-wrapper-checked`]:D.checked,[`${w}-wrapper-disabled`]:v,[`${w}-wrapper-in-form-item`]:C},A==null?void 0:A.className,i,r,H,T,R),L=Gn({[`${w}-indeterminate`]:l},s$,R),U=l?"mixed":void 0;return P(m.createElement(wW,{component:"Checkbox",disabled:v},m.createElement("label",{className:E,style:Object.assign(Object.assign({},A==null?void 0:A.style),s),onMouseEnter:c,onMouseLeave:u},m.createElement(VGe,Object.assign({"aria-checked":U},D,{prefixCls:w,className:L,disabled:v,ref:e})),a!==void 0&&m.createElement("span",null,a))))},sXe=m.forwardRef(ULt);var BLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{defaultValue:n,children:o,options:i=[],prefixCls:r,className:a,rootClassName:l,style:s,onChange:c}=t,u=BLt(t,["defaultValue","children","options","prefixCls","className","rootClassName","style","onChange"]),{getPrefixCls:d,direction:f}=m.useContext(Mi),[p,g]=m.useState(u.value||n||[]),[y,A]=m.useState([]);m.useEffect(()=>{"value"in u&&g(u.value||[])},[u.value]);const x=m.useMemo(()=>i.map(F=>typeof F=="string"||typeof F=="number"?{label:F,value:F}:F),[i]),C=F=>{A(W=>W.filter(B=>B!==F))},b=F=>{A(W=>[].concat(Xa(W),[F]))},v=F=>{const W=p.indexOf(F.value),B=Xa(p);W===-1?B.push(F.value):B.splice(W,1),"value"in u||g(B),c==null||c(B.filter(k=>y.includes(k)).sort((k,N)=>{const j=x.findIndex(_=>_.value===k),Y=x.findIndex(_=>_.value===N);return j-Y}))},S=d("checkbox",r),w=`${S}-group`,T=j0(S),[P,R,H]=aXe(S,T),D=lp(u,["value","disabled"]),E=i.length?x.map(F=>m.createElement(sXe,{prefixCls:S,key:F.value.toString(),disabled:"disabled"in F?F.disabled:u.disabled,value:F.value,checked:p.includes(F.value),onChange:F.onChange,className:`${w}-item`,style:F.style,title:F.title,id:F.id,required:F.required},F.label)):o,L={toggleOption:v,value:p,disabled:u.disabled,name:u.name,registerValue:b,cancelValue:C},U=Gn(w,{[`${w}-rtl`]:f==="rtl"},a,l,H,T,R);return P(m.createElement("div",Object.assign({className:U,style:s},D,{ref:e}),m.createElement(lXe.Provider,{value:L},E)))}),Wr=sXe;Wr.Group=jLt;Wr.__ANT_CHECKBOX=!0;const cXe=m.createContext({}),YLt=t=>{const{componentCls:e}=t;return{[e]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},OLt=t=>{const{componentCls:e}=t;return{[e]:{position:"relative",maxWidth:"100%",minHeight:1}}},_Lt=(t,e)=>{const{prefixCls:n,componentCls:o,gridColumns:i}=t,r={};for(let a=i;a>=0;a--)a===0?(r[`${o}${e}-${a}`]={display:"none"},r[`${o}-push-${a}`]={insetInlineStart:"auto"},r[`${o}-pull-${a}`]={insetInlineEnd:"auto"},r[`${o}${e}-push-${a}`]={insetInlineStart:"auto"},r[`${o}${e}-pull-${a}`]={insetInlineEnd:"auto"},r[`${o}${e}-offset-${a}`]={marginInlineStart:0},r[`${o}${e}-order-${a}`]={order:0}):(r[`${o}${e}-${a}`]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:`0 0 ${a/i*100}%`,maxWidth:`${a/i*100}%`}],r[`${o}${e}-push-${a}`]={insetInlineStart:`${a/i*100}%`},r[`${o}${e}-pull-${a}`]={insetInlineEnd:`${a/i*100}%`},r[`${o}${e}-offset-${a}`]={marginInlineStart:`${a/i*100}%`},r[`${o}${e}-order-${a}`]={order:a});return r[`${o}${e}-flex`]={flex:`var(--${n}${e}-flex)`},r},L0e=(t,e)=>_Lt(t,e),VLt=(t,e,n)=>({[`@media (min-width: ${Ut(e)})`]:Object.assign({},L0e(t,n))}),GLt=()=>({}),XLt=()=>({}),JLt=Fl("Grid",YLt,GLt),KLt=Fl("Grid",t=>{const e=Zr(t,{gridColumns:24}),n={"-sm":e.screenSMMin,"-md":e.screenMDMin,"-lg":e.screenLGMin,"-xl":e.screenXLMin,"-xxl":e.screenXXLMin};return[OLt(e),L0e(e,""),L0e(e,"-xs"),Object.keys(n).map(o=>VLt(e,n[o],o)).reduce((o,i)=>Object.assign(Object.assign({},o),i),{})]},XLt);var qLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n,direction:o}=m.useContext(Mi),{gutter:i,wrap:r}=m.useContext(cXe),{prefixCls:a,span:l,order:s,offset:c,push:u,pull:d,className:f,children:p,flex:g,style:y}=t,A=qLt(t,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),x=n("col",a),[C,b,v]=KLt(x),S={};let w={};$Lt.forEach(R=>{let H={};const D=t[R];typeof D=="number"?H.span=D:typeof D=="object"&&(H=D||{}),delete A[R],w=Object.assign(Object.assign({},w),{[`${x}-${R}-${H.span}`]:H.span!==void 0,[`${x}-${R}-order-${H.order}`]:H.order||H.order===0,[`${x}-${R}-offset-${H.offset}`]:H.offset||H.offset===0,[`${x}-${R}-push-${H.push}`]:H.push||H.push===0,[`${x}-${R}-pull-${H.pull}`]:H.pull||H.pull===0,[`${x}-rtl`]:o==="rtl"}),H.flex&&(w[`${x}-${R}-flex`]=!0,S[`--${x}-${R}-flex`]=jve(H.flex))});const T=Gn(x,{[`${x}-${l}`]:l!==void 0,[`${x}-order-${s}`]:s,[`${x}-offset-${c}`]:c,[`${x}-push-${u}`]:u,[`${x}-pull-${d}`]:d},f,w,b,v),P={};if(i&&i[0]>0){const R=i[0]/2;P.paddingLeft=R,P.paddingRight=R}return g&&(P.flex=jve(g),r===!1&&!P.minWidth&&(P.minWidth=0)),C(m.createElement("div",Object.assign({},A,{style:Object.assign(Object.assign(Object.assign({},P),y),S),className:T,ref:e}),p))});var QLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{if(typeof t=="string"&&o(t),typeof t=="object")for(let r=0;r{i()},[JSON.stringify(t),e]),n}const nn=m.forwardRef((t,e)=>{const{prefixCls:n,justify:o,align:i,className:r,style:a,children:l,gutter:s=0,wrap:c}=t,u=QLt(t,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:d,direction:f}=m.useContext(Mi),[p,g]=m.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[y,A]=m.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),x=Yve(i,y),C=Yve(o,y),b=m.useRef(s),v=DVe();m.useEffect(()=>{const B=v.subscribe(k=>{A(k);const N=b.current||0;(!Array.isArray(N)&&typeof N=="object"||Array.isArray(N)&&(typeof N[0]=="object"||typeof N[1]=="object"))&&g(k)});return()=>v.unsubscribe(B)},[]);const S=()=>{const B=[void 0,void 0];return(Array.isArray(s)?s:[s,void 0]).forEach((N,j)=>{if(typeof N=="object")for(let Y=0;Y0?H[0]/-2:void 0;L&&(E.marginLeft=L,E.marginRight=L);const[U,F]=H;E.rowGap=F;const W=m.useMemo(()=>({gutter:[U,F],wrap:c}),[U,F,c]);return T(m.createElement(cXe.Provider,{value:W},m.createElement("div",Object.assign({},u,{className:D,style:Object.assign(Object.assign({},E),a),ref:e}),l)))});var uXe=Se.forwardRef(function(t,e){var n=t.prefixCls,o=t.forceRender,i=t.className,r=t.style,a=t.children,l=t.isActive,s=t.role,c=Se.useState(l||o),u=on(c,2),d=u[0],f=u[1];return Se.useEffect(function(){(o||l)&&f(!0)},[o,l]),d?Se.createElement("div",{ref:e,className:Vn("".concat(n,"-content"),_t(_t({},"".concat(n,"-content-active"),l),"".concat(n,"-content-inactive"),!l),i),style:r,role:s},Se.createElement("div",{className:"".concat(n,"-content-box")},a)):null});uXe.displayName="PanelContent";var ZLt=["showArrow","headerClass","isActive","onItemClick","forceRender","className","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],dXe=Se.forwardRef(function(t,e){var n=t.showArrow,o=n===void 0?!0:n,i=t.headerClass,r=t.isActive,a=t.onItemClick,l=t.forceRender,s=t.className,c=t.prefixCls,u=t.collapsible,d=t.accordion,f=t.panelKey,p=t.extra,g=t.header,y=t.expandIcon,A=t.openMotion,x=t.destroyInactivePanel,C=t.children,b=ir(t,ZLt),v=u==="disabled",S=u==="header",w=u==="icon",T=p!=null&&typeof p!="boolean",P=function(){a==null||a(f)},R=function(F){(F.key==="Enter"||F.keyCode===Bn.ENTER||F.which===Bn.ENTER)&&P()},H=typeof y=="function"?y(t):Se.createElement("i",{className:"arrow"});H&&(H=Se.createElement("div",{className:"".concat(c,"-expand-icon"),onClick:["header","icon"].includes(u)?P:void 0},H));var D=Vn(_t(_t(_t({},"".concat(c,"-item"),!0),"".concat(c,"-item-active"),r),"".concat(c,"-item-disabled"),v),s),E=Vn(i,_t(_t(_t({},"".concat(c,"-header"),!0),"".concat(c,"-header-collapsible-only"),S),"".concat(c,"-icon-collapsible-only"),w)),L={className:E,"aria-expanded":r,"aria-disabled":v,onKeyDown:R};return!S&&!w&&(L.onClick=P,L.role=d?"tab":"button",L.tabIndex=v?-1:0),Se.createElement("div",so({},b,{ref:e,className:D}),Se.createElement("div",L,o&&H,Se.createElement("span",{className:"".concat(c,"-header-text"),onClick:u==="header"?P:void 0},g),T&&Se.createElement("div",{className:"".concat(c,"-extra")},p)),Se.createElement(Cg,so({visible:r,leavedClassName:"".concat(c,"-content-hidden")},A,{forceRender:l,removeOnLeave:x}),function(U,F){var W=U.className,B=U.style;return Se.createElement(uXe,{ref:F,prefixCls:c,className:W,style:B,isActive:r,forceRender:l,role:d?"tabpanel":void 0},C)}))}),eWt=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],tWt=function(e,n){var o=n.prefixCls,i=n.accordion,r=n.collapsible,a=n.destroyInactivePanel,l=n.onItemClick,s=n.activeKey,c=n.openMotion,u=n.expandIcon;return e.map(function(d,f){var p=d.children,g=d.label,y=d.key,A=d.collapsible,x=d.onItemClick,C=d.destroyInactivePanel,b=ir(d,eWt),v=String(y??f),S=A??r,w=C??a,T=function(H){S!=="disabled"&&(l(H),x==null||x(H))},P=!1;return i?P=s[0]===v:P=s.indexOf(v)>-1,Se.createElement(dXe,so({},b,{prefixCls:o,key:v,panelKey:v,isActive:P,accordion:i,openMotion:c,expandIcon:u,header:g,collapsible:S,onItemClick:T,destroyInactivePanel:w}),p)})},nWt=function(e,n,o){if(!e)return null;var i=o.prefixCls,r=o.accordion,a=o.collapsible,l=o.destroyInactivePanel,s=o.onItemClick,c=o.activeKey,u=o.openMotion,d=o.expandIcon,f=e.key||String(n),p=e.props,g=p.header,y=p.headerClass,A=p.destroyInactivePanel,x=p.collapsible,C=p.onItemClick,b=!1;r?b=c[0]===f:b=c.indexOf(f)>-1;var v=x??a,S=function(P){v!=="disabled"&&(s(P),C==null||C(P))},w={key:f,panelKey:f,header:g,headerClass:y,isActive:b,prefixCls:i,destroyInactivePanel:A??l,openMotion:u,accordion:r,children:e.props.children,onItemClick:S,expandIcon:d,collapsible:v};return typeof e.type=="string"?e:(Object.keys(w).forEach(function(T){typeof w[T]>"u"&&delete w[T]}),Se.cloneElement(e,w))};function oWt(t,e,n){return Array.isArray(t)?tWt(t,n):Qw(e).map(function(o,i){return nWt(o,i,n)})}function iWt(t){var e=t;if(!Array.isArray(e)){var n=gr(e);e=n==="number"||n==="string"?[e]:[]}return e.map(function(o){return String(o)})}var rWt=Se.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-collapse":n,i=t.destroyInactivePanel,r=i===void 0?!1:i,a=t.style,l=t.accordion,s=t.className,c=t.children,u=t.collapsible,d=t.openMotion,f=t.expandIcon,p=t.activeKey,g=t.defaultActiveKey,y=t.onChange,A=t.items,x=Vn(o,s),C=Rs([],{value:p,onChange:function(R){return y==null?void 0:y(R)},defaultValue:g,postState:iWt}),b=on(C,2),v=b[0],S=b[1],w=function(R){return S(function(){if(l)return v[0]===R?[]:[R];var H=v.indexOf(R),D=H>-1;return D?v.filter(function(E){return E!==R}):[].concat(Wo(v),[R])})};U0(!c,"[rc-collapse] `children` will be removed in next major version. Please use `items` instead.");var T=oWt(A,c,{prefixCls:o,accordion:l,openMotion:d,expandIcon:f,collapsible:u,destroyInactivePanel:r,onItemClick:w,activeKey:v});return Se.createElement("div",so({ref:e,className:x,style:a,role:l?"tablist":void 0},gf(t,{aria:!0,data:!0})),T)});const Hme=Object.assign(rWt,{Panel:dXe});Hme.Panel;const aWt=m.forwardRef((t,e)=>{const{getPrefixCls:n}=m.useContext(Mi),{prefixCls:o,className:i,showArrow:r=!0}=t,a=n("collapse",o),l=Gn({[`${a}-no-arrow`]:!r},i);return m.createElement(Hme.Panel,Object.assign({ref:e},t,{prefixCls:a,className:l}))}),lWt=t=>{const{componentCls:e,contentBg:n,padding:o,headerBg:i,headerPadding:r,collapseHeaderPaddingSM:a,collapseHeaderPaddingLG:l,collapsePanelBorderRadius:s,lineWidth:c,lineType:u,colorBorder:d,colorText:f,colorTextHeading:p,colorTextDisabled:g,fontSizeLG:y,lineHeight:A,lineHeightLG:x,marginSM:C,paddingSM:b,paddingLG:v,paddingXS:S,motionDurationSlow:w,fontSizeIcon:T,contentPadding:P,fontHeight:R,fontHeightLG:H}=t,D=`${Ut(c)} ${u} ${d}`;return{[e]:Object.assign(Object.assign({},$a(t)),{backgroundColor:i,border:D,borderRadius:s,"&-rtl":{direction:"rtl"},[`& > ${e}-item`]:{borderBottom:D,"&:last-child":{[` + `]:{[`&:hover ${e}-inner`]:{backgroundColor:t.colorPrimaryHover,borderColor:"transparent"}}},{[e]:{"&-indeterminate":{[`${e}-inner`]:{backgroundColor:t.colorBgContainer,borderColor:t.colorBorder,"&:after":{top:"50%",insetInlineStart:"50%",width:t.calc(t.fontSizeLG).div(2).equal(),height:t.calc(t.fontSizeLG).div(2).equal(),backgroundColor:t.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}}}}},{[`${n}-disabled`]:{cursor:"not-allowed"},[`${e}-disabled`]:{[`&, ${e}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${e}-inner`]:{background:t.colorBgContainerDisabled,borderColor:t.colorBorder,"&:after":{borderColor:t.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:t.colorTextDisabled},[`&${e}-indeterminate ${e}-inner::after`]:{background:t.colorTextDisabled}}}]};function rXe(t,e){const n=Zr(e,{checkboxCls:`.${t}`,checkboxSize:e.controlInteractiveSize});return[FLt(n)]}const aXe=Fl("Checkbox",(t,e)=>{let{prefixCls:n}=e;return[rXe(n,t)]}),lXe=Se.createContext(null);var LLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,className:i,rootClassName:r,children:a,indeterminate:l=!1,style:s,onMouseEnter:c,onMouseLeave:u,skipGroup:d=!1,disabled:f}=t,p=LLt(t,["prefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled"]),{getPrefixCls:g,direction:y,checkbox:A}=m.useContext(Mi),x=m.useContext(lXe),{isFormItemInput:C}=m.useContext(Qp),b=m.useContext($p),v=(n=(x==null?void 0:x.disabled)||f)!==null&&n!==void 0?n:b,S=m.useRef(p.value);m.useEffect(()=>{x==null||x.registerValue(p.value)},[]),m.useEffect(()=>{if(!d)return p.value!==S.current&&(x==null||x.cancelValue(S.current),x==null||x.registerValue(p.value),S.current=p.value),()=>x==null?void 0:x.cancelValue(p.value)},[p.value]);const w=g("checkbox",o),T=j0(w),[P,R,H]=aXe(w,T),D=Object.assign({},p);x&&!d&&(D.onChange=function(){p.onChange&&p.onChange.apply(p,arguments),x.toggleOption&&x.toggleOption({label:a,value:p.value})},D.name=x.name,D.checked=x.value.includes(p.value));const E=Gn(`${w}-wrapper`,{[`${w}-rtl`]:y==="rtl",[`${w}-wrapper-checked`]:D.checked,[`${w}-wrapper-disabled`]:v,[`${w}-wrapper-in-form-item`]:C},A==null?void 0:A.className,i,r,H,T,R),L=Gn({[`${w}-indeterminate`]:l},s$,R),U=l?"mixed":void 0;return P(m.createElement(wW,{component:"Checkbox",disabled:v},m.createElement("label",{className:E,style:Object.assign(Object.assign({},A==null?void 0:A.style),s),onMouseEnter:c,onMouseLeave:u},m.createElement(VGe,Object.assign({"aria-checked":U},D,{prefixCls:w,className:L,disabled:v,ref:e})),a!==void 0&&m.createElement("span",null,a))))},sXe=m.forwardRef(WLt);var NLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{defaultValue:n,children:o,options:i=[],prefixCls:r,className:a,rootClassName:l,style:s,onChange:c}=t,u=NLt(t,["defaultValue","children","options","prefixCls","className","rootClassName","style","onChange"]),{getPrefixCls:d,direction:f}=m.useContext(Mi),[p,g]=m.useState(u.value||n||[]),[y,A]=m.useState([]);m.useEffect(()=>{"value"in u&&g(u.value||[])},[u.value]);const x=m.useMemo(()=>i.map(F=>typeof F=="string"||typeof F=="number"?{label:F,value:F}:F),[i]),C=F=>{A(W=>W.filter(B=>B!==F))},b=F=>{A(W=>[].concat(Xa(W),[F]))},v=F=>{const W=p.indexOf(F.value),B=Xa(p);W===-1?B.push(F.value):B.splice(W,1),"value"in u||g(B),c==null||c(B.filter(k=>y.includes(k)).sort((k,N)=>{const j=x.findIndex(_=>_.value===k),Y=x.findIndex(_=>_.value===N);return j-Y}))},S=d("checkbox",r),w=`${S}-group`,T=j0(S),[P,R,H]=aXe(S,T),D=lp(u,["value","disabled"]),E=i.length?x.map(F=>m.createElement(sXe,{prefixCls:S,key:F.value.toString(),disabled:"disabled"in F?F.disabled:u.disabled,value:F.value,checked:p.includes(F.value),onChange:F.onChange,className:`${w}-item`,style:F.style,title:F.title,id:F.id,required:F.required},F.label)):o,L={toggleOption:v,value:p,disabled:u.disabled,name:u.name,registerValue:b,cancelValue:C},U=Gn(w,{[`${w}-rtl`]:f==="rtl"},a,l,H,T,R);return P(m.createElement("div",Object.assign({className:U,style:s},D,{ref:e}),m.createElement(lXe.Provider,{value:L},E)))}),Wr=sXe;Wr.Group=ULt;Wr.__ANT_CHECKBOX=!0;const cXe=m.createContext({}),BLt=t=>{const{componentCls:e}=t;return{[e]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},jLt=t=>{const{componentCls:e}=t;return{[e]:{position:"relative",maxWidth:"100%",minHeight:1}}},YLt=(t,e)=>{const{prefixCls:n,componentCls:o,gridColumns:i}=t,r={};for(let a=i;a>=0;a--)a===0?(r[`${o}${e}-${a}`]={display:"none"},r[`${o}-push-${a}`]={insetInlineStart:"auto"},r[`${o}-pull-${a}`]={insetInlineEnd:"auto"},r[`${o}${e}-push-${a}`]={insetInlineStart:"auto"},r[`${o}${e}-pull-${a}`]={insetInlineEnd:"auto"},r[`${o}${e}-offset-${a}`]={marginInlineStart:0},r[`${o}${e}-order-${a}`]={order:0}):(r[`${o}${e}-${a}`]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:`0 0 ${a/i*100}%`,maxWidth:`${a/i*100}%`}],r[`${o}${e}-push-${a}`]={insetInlineStart:`${a/i*100}%`},r[`${o}${e}-pull-${a}`]={insetInlineEnd:`${a/i*100}%`},r[`${o}${e}-offset-${a}`]={marginInlineStart:`${a/i*100}%`},r[`${o}${e}-order-${a}`]={order:a});return r[`${o}${e}-flex`]={flex:`var(--${n}${e}-flex)`},r},L0e=(t,e)=>YLt(t,e),OLt=(t,e,n)=>({[`@media (min-width: ${Ut(e)})`]:Object.assign({},L0e(t,n))}),_Lt=()=>({}),VLt=()=>({}),GLt=Fl("Grid",BLt,_Lt),XLt=Fl("Grid",t=>{const e=Zr(t,{gridColumns:24}),n={"-sm":e.screenSMMin,"-md":e.screenMDMin,"-lg":e.screenLGMin,"-xl":e.screenXLMin,"-xxl":e.screenXXLMin};return[jLt(e),L0e(e,""),L0e(e,"-xs"),Object.keys(n).map(o=>OLt(e,n[o],o)).reduce((o,i)=>Object.assign(Object.assign({},o),i),{})]},VLt);var JLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n,direction:o}=m.useContext(Mi),{gutter:i,wrap:r}=m.useContext(cXe),{prefixCls:a,span:l,order:s,offset:c,push:u,pull:d,className:f,children:p,flex:g,style:y}=t,A=JLt(t,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),x=n("col",a),[C,b,v]=XLt(x),S={};let w={};KLt.forEach(R=>{let H={};const D=t[R];typeof D=="number"?H.span=D:typeof D=="object"&&(H=D||{}),delete A[R],w=Object.assign(Object.assign({},w),{[`${x}-${R}-${H.span}`]:H.span!==void 0,[`${x}-${R}-order-${H.order}`]:H.order||H.order===0,[`${x}-${R}-offset-${H.offset}`]:H.offset||H.offset===0,[`${x}-${R}-push-${H.push}`]:H.push||H.push===0,[`${x}-${R}-pull-${H.pull}`]:H.pull||H.pull===0,[`${x}-rtl`]:o==="rtl"}),H.flex&&(w[`${x}-${R}-flex`]=!0,S[`--${x}-${R}-flex`]=jve(H.flex))});const T=Gn(x,{[`${x}-${l}`]:l!==void 0,[`${x}-order-${s}`]:s,[`${x}-offset-${c}`]:c,[`${x}-push-${u}`]:u,[`${x}-pull-${d}`]:d},f,w,b,v),P={};if(i&&i[0]>0){const R=i[0]/2;P.paddingLeft=R,P.paddingRight=R}return g&&(P.flex=jve(g),r===!1&&!P.minWidth&&(P.minWidth=0)),C(m.createElement("div",Object.assign({},A,{style:Object.assign(Object.assign(Object.assign({},P),y),S),className:T,ref:e}),p))});var qLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{if(typeof t=="string"&&o(t),typeof t=="object")for(let r=0;r{i()},[JSON.stringify(t),e]),n}const nn=m.forwardRef((t,e)=>{const{prefixCls:n,justify:o,align:i,className:r,style:a,children:l,gutter:s=0,wrap:c}=t,u=qLt(t,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:d,direction:f}=m.useContext(Mi),[p,g]=m.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[y,A]=m.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),x=Yve(i,y),C=Yve(o,y),b=m.useRef(s),v=DVe();m.useEffect(()=>{const B=v.subscribe(k=>{A(k);const N=b.current||0;(!Array.isArray(N)&&typeof N=="object"||Array.isArray(N)&&(typeof N[0]=="object"||typeof N[1]=="object"))&&g(k)});return()=>v.unsubscribe(B)},[]);const S=()=>{const B=[void 0,void 0];return(Array.isArray(s)?s:[s,void 0]).forEach((N,j)=>{if(typeof N=="object")for(let Y=0;Y0?H[0]/-2:void 0;L&&(E.marginLeft=L,E.marginRight=L);const[U,F]=H;E.rowGap=F;const W=m.useMemo(()=>({gutter:[U,F],wrap:c}),[U,F,c]);return T(m.createElement(cXe.Provider,{value:W},m.createElement("div",Object.assign({},u,{className:D,style:Object.assign(Object.assign({},E),a),ref:e}),l)))});var uXe=Se.forwardRef(function(t,e){var n=t.prefixCls,o=t.forceRender,i=t.className,r=t.style,a=t.children,l=t.isActive,s=t.role,c=Se.useState(l||o),u=on(c,2),d=u[0],f=u[1];return Se.useEffect(function(){(o||l)&&f(!0)},[o,l]),d?Se.createElement("div",{ref:e,className:Vn("".concat(n,"-content"),_t(_t({},"".concat(n,"-content-active"),l),"".concat(n,"-content-inactive"),!l),i),style:r,role:s},Se.createElement("div",{className:"".concat(n,"-content-box")},a)):null});uXe.displayName="PanelContent";var $Lt=["showArrow","headerClass","isActive","onItemClick","forceRender","className","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],dXe=Se.forwardRef(function(t,e){var n=t.showArrow,o=n===void 0?!0:n,i=t.headerClass,r=t.isActive,a=t.onItemClick,l=t.forceRender,s=t.className,c=t.prefixCls,u=t.collapsible,d=t.accordion,f=t.panelKey,p=t.extra,g=t.header,y=t.expandIcon,A=t.openMotion,x=t.destroyInactivePanel,C=t.children,b=ir(t,$Lt),v=u==="disabled",S=u==="header",w=u==="icon",T=p!=null&&typeof p!="boolean",P=function(){a==null||a(f)},R=function(F){(F.key==="Enter"||F.keyCode===Bn.ENTER||F.which===Bn.ENTER)&&P()},H=typeof y=="function"?y(t):Se.createElement("i",{className:"arrow"});H&&(H=Se.createElement("div",{className:"".concat(c,"-expand-icon"),onClick:["header","icon"].includes(u)?P:void 0},H));var D=Vn(_t(_t(_t({},"".concat(c,"-item"),!0),"".concat(c,"-item-active"),r),"".concat(c,"-item-disabled"),v),s),E=Vn(i,_t(_t(_t({},"".concat(c,"-header"),!0),"".concat(c,"-header-collapsible-only"),S),"".concat(c,"-icon-collapsible-only"),w)),L={className:E,"aria-expanded":r,"aria-disabled":v,onKeyDown:R};return!S&&!w&&(L.onClick=P,L.role=d?"tab":"button",L.tabIndex=v?-1:0),Se.createElement("div",so({},b,{ref:e,className:D}),Se.createElement("div",L,o&&H,Se.createElement("span",{className:"".concat(c,"-header-text"),onClick:u==="header"?P:void 0},g),T&&Se.createElement("div",{className:"".concat(c,"-extra")},p)),Se.createElement(Cg,so({visible:r,leavedClassName:"".concat(c,"-content-hidden")},A,{forceRender:l,removeOnLeave:x}),function(U,F){var W=U.className,B=U.style;return Se.createElement(uXe,{ref:F,prefixCls:c,className:W,style:B,isActive:r,forceRender:l,role:d?"tabpanel":void 0},C)}))}),QLt=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],ZLt=function(e,n){var o=n.prefixCls,i=n.accordion,r=n.collapsible,a=n.destroyInactivePanel,l=n.onItemClick,s=n.activeKey,c=n.openMotion,u=n.expandIcon;return e.map(function(d,f){var p=d.children,g=d.label,y=d.key,A=d.collapsible,x=d.onItemClick,C=d.destroyInactivePanel,b=ir(d,QLt),v=String(y??f),S=A??r,w=C??a,T=function(H){S!=="disabled"&&(l(H),x==null||x(H))},P=!1;return i?P=s[0]===v:P=s.indexOf(v)>-1,Se.createElement(dXe,so({},b,{prefixCls:o,key:v,panelKey:v,isActive:P,accordion:i,openMotion:c,expandIcon:u,header:g,collapsible:S,onItemClick:T,destroyInactivePanel:w}),p)})},eWt=function(e,n,o){if(!e)return null;var i=o.prefixCls,r=o.accordion,a=o.collapsible,l=o.destroyInactivePanel,s=o.onItemClick,c=o.activeKey,u=o.openMotion,d=o.expandIcon,f=e.key||String(n),p=e.props,g=p.header,y=p.headerClass,A=p.destroyInactivePanel,x=p.collapsible,C=p.onItemClick,b=!1;r?b=c[0]===f:b=c.indexOf(f)>-1;var v=x??a,S=function(P){v!=="disabled"&&(s(P),C==null||C(P))},w={key:f,panelKey:f,header:g,headerClass:y,isActive:b,prefixCls:i,destroyInactivePanel:A??l,openMotion:u,accordion:r,children:e.props.children,onItemClick:S,expandIcon:d,collapsible:v};return typeof e.type=="string"?e:(Object.keys(w).forEach(function(T){typeof w[T]>"u"&&delete w[T]}),Se.cloneElement(e,w))};function tWt(t,e,n){return Array.isArray(t)?ZLt(t,n):Qw(e).map(function(o,i){return eWt(o,i,n)})}function nWt(t){var e=t;if(!Array.isArray(e)){var n=gr(e);e=n==="number"||n==="string"?[e]:[]}return e.map(function(o){return String(o)})}var oWt=Se.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-collapse":n,i=t.destroyInactivePanel,r=i===void 0?!1:i,a=t.style,l=t.accordion,s=t.className,c=t.children,u=t.collapsible,d=t.openMotion,f=t.expandIcon,p=t.activeKey,g=t.defaultActiveKey,y=t.onChange,A=t.items,x=Vn(o,s),C=Rs([],{value:p,onChange:function(R){return y==null?void 0:y(R)},defaultValue:g,postState:nWt}),b=on(C,2),v=b[0],S=b[1],w=function(R){return S(function(){if(l)return v[0]===R?[]:[R];var H=v.indexOf(R),D=H>-1;return D?v.filter(function(E){return E!==R}):[].concat(Wo(v),[R])})};U0(!c,"[rc-collapse] `children` will be removed in next major version. Please use `items` instead.");var T=tWt(A,c,{prefixCls:o,accordion:l,openMotion:d,expandIcon:f,collapsible:u,destroyInactivePanel:r,onItemClick:w,activeKey:v});return Se.createElement("div",so({ref:e,className:x,style:a,role:l?"tablist":void 0},gf(t,{aria:!0,data:!0})),T)});const Hme=Object.assign(oWt,{Panel:dXe});Hme.Panel;const iWt=m.forwardRef((t,e)=>{const{getPrefixCls:n}=m.useContext(Mi),{prefixCls:o,className:i,showArrow:r=!0}=t,a=n("collapse",o),l=Gn({[`${a}-no-arrow`]:!r},i);return m.createElement(Hme.Panel,Object.assign({ref:e},t,{prefixCls:a,className:l}))}),rWt=t=>{const{componentCls:e,contentBg:n,padding:o,headerBg:i,headerPadding:r,collapseHeaderPaddingSM:a,collapseHeaderPaddingLG:l,collapsePanelBorderRadius:s,lineWidth:c,lineType:u,colorBorder:d,colorText:f,colorTextHeading:p,colorTextDisabled:g,fontSizeLG:y,lineHeight:A,lineHeightLG:x,marginSM:C,paddingSM:b,paddingLG:v,paddingXS:S,motionDurationSlow:w,fontSizeIcon:T,contentPadding:P,fontHeight:R,fontHeightLG:H}=t,D=`${Ut(c)} ${u} ${d}`;return{[e]:Object.assign(Object.assign({},$a(t)),{backgroundColor:i,border:D,borderRadius:s,"&-rtl":{direction:"rtl"},[`& > ${e}-item`]:{borderBottom:D,"&:last-child":{[` &, - & > ${e}-header`]:{borderRadius:`0 0 ${Ut(s)} ${Ut(s)}`}},[`> ${e}-header`]:{position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:r,color:p,lineHeight:A,cursor:"pointer",transition:`all ${w}, visibility 0s`,[`> ${e}-header-text`]:{flex:"auto"},"&:focus":{outline:"none"},[`${e}-expand-icon`]:{height:R,display:"flex",alignItems:"center",paddingInlineEnd:C},[`${e}-arrow`]:Object.assign(Object.assign({},CH()),{fontSize:T,transition:`transform ${w}`,svg:{transition:`transform ${w}`}}),[`${e}-header-text`]:{marginInlineEnd:"auto"}},[`${e}-icon-collapsible-only`]:{cursor:"unset",[`${e}-expand-icon`]:{cursor:"pointer"}}},[`${e}-content`]:{color:f,backgroundColor:n,borderTop:D,[`& > ${e}-content-box`]:{padding:P},"&-hidden":{display:"none"}},"&-small":{[`> ${e}-item`]:{[`> ${e}-header`]:{padding:a,paddingInlineStart:S,[`> ${e}-expand-icon`]:{marginInlineStart:t.calc(b).sub(S).equal()}},[`> ${e}-content > ${e}-content-box`]:{padding:b}}},"&-large":{[`> ${e}-item`]:{fontSize:y,lineHeight:x,[`> ${e}-header`]:{padding:l,paddingInlineStart:o,[`> ${e}-expand-icon`]:{height:H,marginInlineStart:t.calc(v).sub(o).equal()}},[`> ${e}-content > ${e}-content-box`]:{padding:v}}},[`${e}-item:last-child`]:{borderBottom:0,[`> ${e}-content`]:{borderRadius:`0 0 ${Ut(s)} ${Ut(s)}`}},[`& ${e}-item-disabled > ${e}-header`]:{"\n &,\n & > .arrow\n ":{color:g,cursor:"not-allowed"}},[`&${e}-icon-position-end`]:{[`& > ${e}-item`]:{[`> ${e}-header`]:{[`${e}-expand-icon`]:{order:1,paddingInlineEnd:0,paddingInlineStart:C}}}}})}},sWt=t=>{const{componentCls:e}=t,n=`> ${e}-item > ${e}-header ${e}-arrow`;return{[`${e}-rtl`]:{[n]:{transform:"rotate(180deg)"}}}},cWt=t=>{const{componentCls:e,headerBg:n,paddingXXS:o,colorBorder:i}=t;return{[`${e}-borderless`]:{backgroundColor:n,border:0,[`> ${e}-item`]:{borderBottom:`1px solid ${i}`},[` + & > ${e}-header`]:{borderRadius:`0 0 ${Ut(s)} ${Ut(s)}`}},[`> ${e}-header`]:{position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:r,color:p,lineHeight:A,cursor:"pointer",transition:`all ${w}, visibility 0s`,[`> ${e}-header-text`]:{flex:"auto"},"&:focus":{outline:"none"},[`${e}-expand-icon`]:{height:R,display:"flex",alignItems:"center",paddingInlineEnd:C},[`${e}-arrow`]:Object.assign(Object.assign({},CH()),{fontSize:T,transition:`transform ${w}`,svg:{transition:`transform ${w}`}}),[`${e}-header-text`]:{marginInlineEnd:"auto"}},[`${e}-icon-collapsible-only`]:{cursor:"unset",[`${e}-expand-icon`]:{cursor:"pointer"}}},[`${e}-content`]:{color:f,backgroundColor:n,borderTop:D,[`& > ${e}-content-box`]:{padding:P},"&-hidden":{display:"none"}},"&-small":{[`> ${e}-item`]:{[`> ${e}-header`]:{padding:a,paddingInlineStart:S,[`> ${e}-expand-icon`]:{marginInlineStart:t.calc(b).sub(S).equal()}},[`> ${e}-content > ${e}-content-box`]:{padding:b}}},"&-large":{[`> ${e}-item`]:{fontSize:y,lineHeight:x,[`> ${e}-header`]:{padding:l,paddingInlineStart:o,[`> ${e}-expand-icon`]:{height:H,marginInlineStart:t.calc(v).sub(o).equal()}},[`> ${e}-content > ${e}-content-box`]:{padding:v}}},[`${e}-item:last-child`]:{borderBottom:0,[`> ${e}-content`]:{borderRadius:`0 0 ${Ut(s)} ${Ut(s)}`}},[`& ${e}-item-disabled > ${e}-header`]:{"\n &,\n & > .arrow\n ":{color:g,cursor:"not-allowed"}},[`&${e}-icon-position-end`]:{[`& > ${e}-item`]:{[`> ${e}-header`]:{[`${e}-expand-icon`]:{order:1,paddingInlineEnd:0,paddingInlineStart:C}}}}})}},aWt=t=>{const{componentCls:e}=t,n=`> ${e}-item > ${e}-header ${e}-arrow`;return{[`${e}-rtl`]:{[n]:{transform:"rotate(180deg)"}}}},lWt=t=>{const{componentCls:e,headerBg:n,paddingXXS:o,colorBorder:i}=t;return{[`${e}-borderless`]:{backgroundColor:n,border:0,[`> ${e}-item`]:{borderBottom:`1px solid ${i}`},[` > ${e}-item:last-child, > ${e}-item:last-child ${e}-header - `]:{borderRadius:0},[`> ${e}-item:last-child`]:{borderBottom:0},[`> ${e}-item > ${e}-content`]:{backgroundColor:"transparent",borderTop:0},[`> ${e}-item > ${e}-content > ${e}-content-box`]:{paddingTop:o}}}},uWt=t=>{const{componentCls:e,paddingSM:n}=t;return{[`${e}-ghost`]:{backgroundColor:"transparent",border:0,[`> ${e}-item`]:{borderBottom:0,[`> ${e}-content`]:{backgroundColor:"transparent",border:0,[`> ${e}-content-box`]:{paddingBlock:n}}}}}},dWt=t=>({headerPadding:`${t.paddingSM}px ${t.padding}px`,headerBg:t.colorFillAlter,contentPadding:`${t.padding}px 16px`,contentBg:t.colorBgContainer}),fWt=Fl("Collapse",t=>{const e=Zr(t,{collapseHeaderPaddingSM:`${Ut(t.paddingXS)} ${Ut(t.paddingSM)}`,collapseHeaderPaddingLG:`${Ut(t.padding)} ${Ut(t.paddingLG)}`,collapsePanelBorderRadius:t.borderRadiusLG});return[lWt(e),cWt(e),uWt(e),sWt(e),$ge(e)]},dWt),hWt=m.forwardRef((t,e)=>{const{getPrefixCls:n,direction:o,collapse:i}=m.useContext(Mi),{prefixCls:r,className:a,rootClassName:l,style:s,bordered:c=!0,ghost:u,size:d,expandIconPosition:f="start",children:p,expandIcon:g}=t,y=Cd(D=>{var E;return(E=d??D)!==null&&E!==void 0?E:"middle"}),A=n("collapse",r),x=n(),[C,b,v]=fWt(A),S=m.useMemo(()=>f==="left"?"start":f==="right"?"end":f,[f]),w=g??(i==null?void 0:i.expandIcon),T=m.useCallback(function(){let D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const E=typeof w=="function"?w(D):m.createElement(bG,{rotate:D.isActive?90:void 0});return Ou(E,()=>{var L;return{className:Gn((L=E==null?void 0:E.props)===null||L===void 0?void 0:L.className,`${A}-arrow`)}})},[w,A]),P=Gn(`${A}-icon-position-${S}`,{[`${A}-borderless`]:!c,[`${A}-rtl`]:o==="rtl",[`${A}-ghost`]:!!u,[`${A}-${y}`]:y!=="middle"},i==null?void 0:i.className,a,l,b,v),R=Object.assign(Object.assign({},Vge(x)),{motionAppear:!1,leavedClassName:`${A}-content-hidden`}),H=m.useMemo(()=>p?E9(p).map((D,E)=>{var L,U;if(!((L=D.props)===null||L===void 0)&&L.disabled){const F=(U=D.key)!==null&&U!==void 0?U:String(E),{disabled:W,collapsible:B}=D.props,k=Object.assign(Object.assign({},lp(D.props,["disabled"])),{key:F,collapsible:B??(W?"disabled":void 0)});return Ou(D,k)}return D}):null,[p]);return C(m.createElement(Hme,Object.assign({ref:e,openMotion:R},lp(t,["rootClassName"]),{expandIcon:T,prefixCls:A,className:P,style:Object.assign(Object.assign({},i==null?void 0:i.style),s)}),H))}),Mme=Object.assign(hWt,{Panel:aWt}),pWt=t=>{const{componentCls:e,sizePaddingEdgeHorizontal:n,colorSplit:o,lineWidth:i,textPaddingInline:r,orientationMargin:a,verticalMarginInline:l}=t;return{[e]:Object.assign(Object.assign({},$a(t)),{borderBlockStart:`${Ut(i)} solid ${o}`,"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:l,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:`${Ut(i)} solid ${o}`},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:`${Ut(t.dividerHorizontalGutterMargin)} 0`},[`&-horizontal${e}-with-text`]:{display:"flex",alignItems:"center",margin:`${Ut(t.dividerHorizontalWithTextGutterMargin)} 0`,color:t.colorTextHeading,fontWeight:500,fontSize:t.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:`0 ${o}`,"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:`${Ut(i)} solid transparent`,borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},[`&-horizontal${e}-with-text-left`]:{"&::before":{width:`calc(${a} * 100%)`},"&::after":{width:`calc(100% - ${a} * 100%)`}},[`&-horizontal${e}-with-text-right`]:{"&::before":{width:`calc(100% - ${a} * 100%)`},"&::after":{width:`calc(${a} * 100%)`}},[`${e}-inner-text`]:{display:"inline-block",paddingBlock:0,paddingInline:r},"&-dashed":{background:"none",borderColor:o,borderStyle:"dashed",borderWidth:`${Ut(i)} 0 0`},[`&-horizontal${e}-with-text${e}-dashed`]:{"&::before, &::after":{borderStyle:"dashed none none"}},[`&-vertical${e}-dashed`]:{borderInlineStartWidth:i,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},[`&-plain${e}-with-text`]:{color:t.colorText,fontWeight:"normal",fontSize:t.fontSize},[`&-horizontal${e}-with-text-left${e}-no-default-orientation-margin-left`]:{"&::before":{width:0},"&::after":{width:"100%"},[`${e}-inner-text`]:{paddingInlineStart:n}},[`&-horizontal${e}-with-text-right${e}-no-default-orientation-margin-right`]:{"&::before":{width:"100%"},"&::after":{width:0},[`${e}-inner-text`]:{paddingInlineEnd:n}}})}},gWt=t=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:t.marginXS}),mWt=Fl("Divider",t=>{const e=Zr(t,{dividerHorizontalWithTextGutterMargin:t.margin,dividerHorizontalGutterMargin:t.marginLG,sizePaddingEdgeHorizontal:0});return[pWt(e)]},gWt,{unitless:{orientationMargin:!0}});var yWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:e,direction:n,divider:o}=m.useContext(Mi),{prefixCls:i,type:r="horizontal",orientation:a="center",orientationMargin:l,className:s,rootClassName:c,children:u,dashed:d,plain:f,style:p}=t,g=yWt(t,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","plain","style"]),y=e("divider",i),[A,x,C]=mWt(y),b=a.length>0?`-${a}`:a,v=!!u,S=a==="left"&&l!=null,w=a==="right"&&l!=null,T=Gn(y,o==null?void 0:o.className,x,C,`${y}-${r}`,{[`${y}-with-text`]:v,[`${y}-with-text${b}`]:v,[`${y}-dashed`]:!!d,[`${y}-plain`]:!!f,[`${y}-rtl`]:n==="rtl",[`${y}-no-default-orientation-margin-left`]:S,[`${y}-no-default-orientation-margin-right`]:w},s,c),P=m.useMemo(()=>typeof l=="number"?l:/^\d+$/.test(l)?Number(l):l,[l]),R=Object.assign(Object.assign({},S&&{marginLeft:P}),w&&{marginRight:P});return A(m.createElement("div",Object.assign({className:T,style:Object.assign(Object.assign({},o==null?void 0:o.style),p)},g,{role:"separator"}),u&&r!=="vertical"&&m.createElement("span",{className:`${y}-inner-text`,style:R},u)))};var AWt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"},wWt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:AWt}))},vWt=m.forwardRef(wWt);function W0e(){return typeof BigInt=="function"}function fXe(t){return!t&&t!==0&&!Number.isNaN(t)||!String(t).trim()}function fx(t){var e=t.trim(),n=e.startsWith("-");n&&(e=e.slice(1)),e=e.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),e.startsWith(".")&&(e="0".concat(e));var o=e||"0",i=o.split("."),r=i[0]||"0",a=i[1]||"0";r==="0"&&a==="0"&&(n=!1);var l=n?"-":"";return{negative:n,negativeStr:l,trimStr:o,integerStr:r,decimalStr:a,fullStr:"".concat(l).concat(o)}}function Ime(t){var e=String(t);return!Number.isNaN(Number(e))&&e.includes("e")}function Lv(t){var e=String(t);if(Ime(t)){var n=Number(e.slice(e.indexOf("e-")+2)),o=e.match(/\.(\d+)/);return o!=null&&o[1]&&(n+=o[1].length),n}return e.includes(".")&&zme(e)?e.length-e.indexOf(".")-1:0}function k$(t){var e=String(t);if(Ime(t)){if(t>Number.MAX_SAFE_INTEGER)return String(W0e()?BigInt(t).toString():Number.MAX_SAFE_INTEGER);if(t0&&arguments[0]!==void 0?arguments[0]:!0;return n?this.isInvalidate()?"":fx("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),t}(),bWt=function(){function t(e){if(pp(this,t),_t(this,"origin",""),_t(this,"number",void 0),_t(this,"empty",void 0),fXe(e)){this.empty=!0;return}this.origin=String(e),this.number=Number(e)}return gp(t,[{key:"negate",value:function(){return new t(-this.toNumber())}},{key:"add",value:function(n){if(this.isInvalidate())return new t(n);var o=Number(n);if(Number.isNaN(o))return this;var i=this.number+o;if(i>Number.MAX_SAFE_INTEGER)return new t(Number.MAX_SAFE_INTEGER);if(iNumber.MAX_SAFE_INTEGER)return new t(Number.MAX_SAFE_INTEGER);if(i0&&arguments[0]!==void 0?arguments[0]:!0;return n?this.isInvalidate()?"":k$(this.number):this.origin}}]),t}();function $y(t){return W0e()?new xWt(t):new bWt(t)}function L_(t,e,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(t==="")return"";var i=fx(t),r=i.negativeStr,a=i.integerStr,l=i.decimalStr,s="".concat(e).concat(l),c="".concat(r).concat(a);if(n>=0){var u=Number(l[n]);if(u>=5&&!o){var d=$y(t).add("".concat(r,"0.").concat("0".repeat(n)).concat(10-u));return L_(d.toString(),e,n,o)}return n===0?c:"".concat(c).concat(e).concat(l.padEnd(n,"0").slice(0,n))}return s===".0"?c:"".concat(c).concat(s)}function SWt(t){return!!(t.addonBefore||t.addonAfter)}function TWt(t){return!!(t.prefix||t.suffix||t.allowClear)}function _ve(t,e,n){var o=e.cloneNode(!0),i=Object.create(t,{target:{value:o},currentTarget:{value:o}});return o.value=n,typeof e.selectionStart=="number"&&typeof e.selectionEnd=="number"&&(o.selectionStart=e.selectionStart,o.selectionEnd=e.selectionEnd),i}function MG(t,e,n,o){if(n){var i=e;if(e.type==="click"){i=_ve(e,t,""),n(i);return}if(t.type!=="file"&&o!==void 0){i=_ve(e,t,o),n(i);return}n(i)}}function hXe(t,e){if(t){t.focus(e);var n=e||{},o=n.cursor;if(o){var i=t.value.length;switch(o){case"start":t.setSelectionRange(0,0);break;case"end":t.setSelectionRange(i,i);break;default:t.setSelectionRange(0,i)}}}}var Dme=function(e){var n,o,i=e.inputElement,r=e.children,a=e.prefixCls,l=e.prefix,s=e.suffix,c=e.addonBefore,u=e.addonAfter,d=e.className,f=e.style,p=e.disabled,g=e.readOnly,y=e.focused,A=e.triggerFocus,x=e.allowClear,C=e.value,b=e.handleReset,v=e.hidden,S=e.classes,w=e.classNames,T=e.dataAttrs,P=e.styles,R=e.components,H=r??i,D=(R==null?void 0:R.affixWrapper)||"span",E=(R==null?void 0:R.groupWrapper)||"span",L=(R==null?void 0:R.wrapper)||"span",U=(R==null?void 0:R.groupAddon)||"span",F=m.useRef(null),W=function(fe){var se;(se=F.current)!==null&&se!==void 0&&se.contains(fe.target)&&(A==null||A())},B=TWt(e),k=m.cloneElement(H,{value:C,className:Vn(H.props.className,!B&&(w==null?void 0:w.variant))||null});if(B){var N,j=null;if(x){var Y,_=!p&&!g&&C,J="".concat(a,"-clear-icon"),Q=gr(x)==="object"&&x!==null&&x!==void 0&&x.clearIcon?x.clearIcon:"✖";j=Se.createElement("span",{onClick:b,onMouseDown:function(fe){return fe.preventDefault()},className:Vn(J,(Y={},_t(Y,"".concat(J,"-hidden"),!_),_t(Y,"".concat(J,"-has-suffix"),!!s),Y)),role:"button",tabIndex:-1},Q)}var ee="".concat(a,"-affix-wrapper"),$=Vn(ee,(N={},_t(N,"".concat(a,"-disabled"),p),_t(N,"".concat(ee,"-disabled"),p),_t(N,"".concat(ee,"-focused"),y),_t(N,"".concat(ee,"-readonly"),g),_t(N,"".concat(ee,"-input-with-clear-btn"),s&&x&&C),N),S==null?void 0:S.affixWrapper,w==null?void 0:w.affixWrapper,w==null?void 0:w.variant),q=(s||x)&&Se.createElement("span",{className:Vn("".concat(a,"-suffix"),w==null?void 0:w.suffix),style:P==null?void 0:P.suffix},j,s);k=Se.createElement(D,so({className:$,style:P==null?void 0:P.affixWrapper,onClick:W},T==null?void 0:T.affixWrapper,{ref:F}),l&&Se.createElement("span",{className:Vn("".concat(a,"-prefix"),w==null?void 0:w.prefix),style:P==null?void 0:P.prefix},l),k,q)}if(SWt(e)){var le="".concat(a,"-group"),ie="".concat(le,"-addon"),pe="".concat(le,"-wrapper"),ne=Vn("".concat(a,"-wrapper"),le,S==null?void 0:S.wrapper,w==null?void 0:w.wrapper),Z=Vn(pe,_t({},"".concat(pe,"-disabled"),p),S==null?void 0:S.group,w==null?void 0:w.groupWrapper);k=Se.createElement(E,{className:Z},Se.createElement(L,{className:ne},c&&Se.createElement(U,{className:ie},c),k,u&&Se.createElement(U,{className:ie},u)))}return Se.cloneElement(k,{className:Vn((n=k.props)===null||n===void 0?void 0:n.className,d)||null,style:$t($t({},(o=k.props)===null||o===void 0?void 0:o.style),f),hidden:v})},PWt=["show"];function pXe(t,e){return m.useMemo(function(){var n={};e&&(n.show=gr(e)==="object"&&e.formatter?e.formatter:!!e),n=$t($t({},n),t);var o=n,i=o.show,r=ir(o,PWt);return $t($t({},r),{},{show:!!i,showFormatter:typeof i=="function"?i:void 0,strategy:r.strategy||function(a){return a.length}})},[t,e])}var CWt=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","count","type","classes","classNames","styles","onCompositionStart","onCompositionEnd"],RWt=m.forwardRef(function(t,e){var n=t.autoComplete,o=t.onChange,i=t.onFocus,r=t.onBlur,a=t.onPressEnter,l=t.onKeyDown,s=t.prefixCls,c=s===void 0?"rc-input":s,u=t.disabled,d=t.htmlSize,f=t.className,p=t.maxLength,g=t.suffix,y=t.showCount,A=t.count,x=t.type,C=x===void 0?"text":x,b=t.classes,v=t.classNames,S=t.styles,w=t.onCompositionStart,T=t.onCompositionEnd,P=ir(t,CWt),R=m.useState(!1),H=on(R,2),D=H[0],E=H[1],L=m.useRef(!1),U=m.useRef(null),F=function(me){U.current&&hXe(U.current,me)},W=Rs(t.defaultValue,{value:t.value}),B=on(W,2),k=B[0],N=B[1],j=k==null?"":String(k),Y=m.useState(null),_=on(Y,2),J=_[0],Q=_[1],ee=pXe(A,y),$=ee.max||p,q=ee.strategy(j),le=!!$&&q>$;m.useImperativeHandle(e,function(){return{focus:F,blur:function(){var me;(me=U.current)===null||me===void 0||me.blur()},setSelectionRange:function(me,Re,ze){var Ae;(Ae=U.current)===null||Ae===void 0||Ae.setSelectionRange(me,Re,ze)},select:function(){var me;(me=U.current)===null||me===void 0||me.select()},input:U.current}}),m.useEffect(function(){E(function(Pe){return Pe&&u?!1:Pe})},[u]);var ie=function(me,Re,ze){var Ae=Re;if(!L.current&&ee.exceedFormatter&&ee.max&&ee.strategy(Re)>ee.max){if(Ae=ee.exceedFormatter(Re,{max:ee.max}),Re!==Ae){var re,ge;Q([((re=U.current)===null||re===void 0?void 0:re.selectionStart)||0,((ge=U.current)===null||ge===void 0?void 0:ge.selectionEnd)||0])}}else if(ze.source==="compositionEnd")return;N(Ae),U.current&&MG(U.current,me,o,Ae)};m.useEffect(function(){if(J){var Pe;(Pe=U.current)===null||Pe===void 0||Pe.setSelectionRange.apply(Pe,Wo(J))}},[J]);var pe=function(me){ie(me,me.target.value,{source:"change"})},ne=function(me){L.current=!1,ie(me,me.currentTarget.value,{source:"compositionEnd"}),T==null||T(me)},Z=function(me){a&&me.key==="Enter"&&a(me),l==null||l(me)},he=function(me){E(!0),i==null||i(me)},fe=function(me){E(!1),r==null||r(me)},se=function(me){N(""),F(),U.current&&MG(U.current,me,o)},oe=le&&"".concat(c,"-out-of-range"),de=function(){var me=MH(t,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames"]);return Se.createElement("input",so({autoComplete:n},me,{onChange:pe,onFocus:he,onBlur:fe,onKeyDown:Z,className:Vn(c,_t({},"".concat(c,"-disabled"),u),v==null?void 0:v.input),style:S==null?void 0:S.input,ref:U,size:d,type:C,onCompositionStart:function(ze){L.current=!0,w==null||w(ze)},onCompositionEnd:ne}))},ve=function(){var me=Number($)>0;if(g||ee.show){var Re=ee.showFormatter?ee.showFormatter({value:j,count:q,maxLength:$}):"".concat(q).concat(me?" / ".concat($):"");return Se.createElement(Se.Fragment,null,ee.show&&Se.createElement("span",{className:Vn("".concat(c,"-show-count-suffix"),_t({},"".concat(c,"-show-count-has-suffix"),!!g),v==null?void 0:v.count),style:$t({},S==null?void 0:S.count)},Re),g)}return null};return Se.createElement(Dme,so({},P,{prefixCls:c,className:Vn(f,oe),handleReset:se,value:j,focused:D,triggerFocus:F,suffix:ve(),disabled:u,classes:b,classNames:v,styles:S}),de())});function HWt(t,e){var n=m.useRef(null);function o(){try{var r=t.selectionStart,a=t.selectionEnd,l=t.value,s=l.substring(0,r),c=l.substring(a);n.current={start:r,end:a,value:l,beforeTxt:s,afterTxt:c}}catch{}}function i(){if(t&&n.current&&e)try{var r=t.value,a=n.current,l=a.beforeTxt,s=a.afterTxt,c=a.start,u=r.length;if(r.endsWith(s))u=r.length-n.current.afterTxt.length;else if(r.startsWith(l))u=l.length;else{var d=l[c-1],f=r.indexOf(d,c-1);f!==-1&&(u=f+1)}t.setSelectionRange(u,u)}catch(p){U0(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(p.message))}}return[o,i]}var MWt=function(){var e=m.useState(!1),n=on(e,2),o=n[0],i=n[1];return Ba(function(){i(m$())},[]),o},IWt=200,zWt=600;function DWt(t){var e=t.prefixCls,n=t.upNode,o=t.downNode,i=t.upDisabled,r=t.downDisabled,a=t.onStep,l=m.useRef(),s=m.useRef([]),c=m.useRef();c.current=a;var u=function(){clearTimeout(l.current)},d=function(b,v){b.preventDefault(),u(),c.current(v);function S(){c.current(v),l.current=setTimeout(S,IWt)}l.current=setTimeout(S,zWt)};m.useEffect(function(){return function(){u(),s.current.forEach(function(C){return za.cancel(C)})}},[]);var f=MWt();if(f)return null;var p="".concat(e,"-handler"),g=Vn(p,"".concat(p,"-up"),_t({},"".concat(p,"-up-disabled"),i)),y=Vn(p,"".concat(p,"-down"),_t({},"".concat(p,"-down-disabled"),r)),A=function(){return s.current.push(za(u))},x={unselectable:"on",role:"button",onMouseUp:A,onMouseLeave:A};return m.createElement("div",{className:"".concat(p,"-wrap")},m.createElement("span",so({},x,{onMouseDown:function(b){d(b,!0)},"aria-label":"Increase Value","aria-disabled":i,className:g}),n||m.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-up-inner")})),m.createElement("span",so({},x,{onMouseDown:function(b){d(b,!1)},"aria-label":"Decrease Value","aria-disabled":r,className:y}),o||m.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-down-inner")})))}function Vve(t){var e=typeof t=="number"?k$(t):fx(t).fullStr,n=e.includes(".");return n?fx(e.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:t+"0"}const EWt=function(){var t=m.useRef(0),e=function(){za.cancel(t.current)};return m.useEffect(function(){return e},[]),function(n){e(),t.current=za(function(){n()})}};var kWt=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","changeOnWheel","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep","changeOnBlur"],FWt=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","className","classNames"],Gve=function(e,n){return e||n.isEmpty()?n.toString():n.toNumber()},Xve=function(e){var n=$y(e);return n.isInvalidate()?null:n},LWt=m.forwardRef(function(t,e){var n,o=t.prefixCls,i=o===void 0?"rc-input-number":o,r=t.className,a=t.style,l=t.min,s=t.max,c=t.step,u=c===void 0?1:c,d=t.defaultValue,f=t.value,p=t.disabled,g=t.readOnly,y=t.upHandler,A=t.downHandler,x=t.keyboard,C=t.changeOnWheel,b=C===void 0?!1:C,v=t.controls,S=v===void 0?!0:v;t.classNames;var w=t.stringMode,T=t.parser,P=t.formatter,R=t.precision,H=t.decimalSeparator,D=t.onChange,E=t.onInput,L=t.onPressEnter,U=t.onStep,F=t.changeOnBlur,W=F===void 0?!0:F,B=ir(t,kWt),k="".concat(i,"-input"),N=m.useRef(null),j=m.useState(!1),Y=on(j,2),_=Y[0],J=Y[1],Q=m.useRef(!1),ee=m.useRef(!1),$=m.useRef(!1),q=m.useState(function(){return $y(f??d)}),le=on(q,2),ie=le[0],pe=le[1];function ne(dt){f===void 0&&pe(dt)}var Z=m.useCallback(function(dt,je){if(!je)return R>=0?R:Math.max(Lv(dt),Lv(u))},[R,u]),he=m.useCallback(function(dt){var je=String(dt);if(T)return T(je);var at=je;return H&&(at=at.replace(H,".")),at.replace(/[^\w.-]+/g,"")},[T,H]),fe=m.useRef(""),se=m.useCallback(function(dt,je){if(P)return P(dt,{userTyping:je,input:String(fe.current)});var at=typeof dt=="number"?k$(dt):dt;if(!je){var ut=Z(at,je);if(zme(at)&&(H||ut>=0)){var wt=H||".";at=L_(at,wt,ut)}}return at},[P,Z,H]),oe=m.useState(function(){var dt=d??f;return ie.isInvalidate()&&["string","number"].includes(gr(dt))?Number.isNaN(dt)?"":dt:se(ie.toString(),!1)}),de=on(oe,2),ve=de[0],Pe=de[1];fe.current=ve;function me(dt,je){Pe(se(dt.isInvalidate()?dt.toString(!1):dt.toString(!je),je))}var Re=m.useMemo(function(){return Xve(s)},[s,R]),ze=m.useMemo(function(){return Xve(l)},[l,R]),Ae=m.useMemo(function(){return!Re||!ie||ie.isInvalidate()?!1:Re.lessEquals(ie)},[Re,ie]),re=m.useMemo(function(){return!ze||!ie||ie.isInvalidate()?!1:ie.lessEquals(ze)},[ze,ie]),ge=HWt(N.current,_),we=on(ge,2),ye=we[0],Te=we[1],Ie=function(je){return Re&&!je.lessEquals(Re)?Re:ze&&!ze.lessEquals(je)?ze:null},Ce=function(je){return!Ie(je)},Ee=function(je,at){var ut=je,wt=Ce(ut)||ut.isEmpty();if(!ut.isEmpty()&&!at&&(ut=Ie(ut)||ut,wt=!0),!g&&!p&&wt){var rt=ut.toString(),Qe=Z(rt,at);return Qe>=0&&(ut=$y(L_(rt,".",Qe)),Ce(ut)||(ut=$y(L_(rt,".",Qe,!0)))),ut.equals(ie)||(ne(ut),D==null||D(ut.isEmpty()?null:Gve(w,ut)),f===void 0&&me(ut,at)),ut}return ie},Ue=EWt(),Ne=function dt(je){if(ye(),fe.current=je,Pe(je),!ee.current){var at=he(je),ut=$y(at);ut.isNaN()||Ee(ut,!0)}E==null||E(je),Ue(function(){var wt=je;T||(wt=je.replace(/。/g,".")),wt!==je&&dt(wt)})},Le=function(){ee.current=!0},qe=function(){ee.current=!1,Ne(N.current.value)},We=function(je){Ne(je.target.value)},De=function(je){var at;if(!(je&&Ae||!je&&re)){Q.current=!1;var ut=$y($.current?Vve(u):u);je||(ut=ut.negate());var wt=(ie||$y(0)).add(ut.toString()),rt=Ee(wt,!1);U==null||U(Gve(w,rt),{offset:$.current?Vve(u):u,type:je?"up":"down"}),(at=N.current)===null||at===void 0||at.focus()}},Fe=function(je){var at=$y(he(ve)),ut=at;at.isNaN()?ut=Ee(ie,je):ut=Ee(at,je),f!==void 0?me(ie,!1):ut.isNaN()||me(ut,!1)},_e=function(){Q.current=!0},ot=function(je){var at=je.key,ut=je.shiftKey;Q.current=!0,$.current=ut,at==="Enter"&&(ee.current||(Q.current=!1),Fe(!1),L==null||L(je)),x!==!1&&!ee.current&&["Up","ArrowUp","Down","ArrowDown"].includes(at)&&(De(at==="Up"||at==="ArrowUp"),je.preventDefault())},Ye=function(){Q.current=!1,$.current=!1};m.useEffect(function(){if(b&&_){var dt=function(ut){De(ut.deltaY<0),ut.preventDefault()},je=N.current;if(je)return je.addEventListener("wheel",dt,{passive:!1}),function(){return je.removeEventListener("wheel",dt)}}});var St=function(){W&&Fe(!1),J(!1),Q.current=!1};return sx(function(){ie.isInvalidate()||me(ie,!1)},[R,P]),sx(function(){var dt=$y(f);pe(dt);var je=$y(he(ve));(!dt.equals(je)||!Q.current||P)&&me(dt,Q.current)},[f]),sx(function(){P&&Te()},[ve]),m.createElement("div",{className:Vn(i,r,(n={},_t(n,"".concat(i,"-focused"),_),_t(n,"".concat(i,"-disabled"),p),_t(n,"".concat(i,"-readonly"),g),_t(n,"".concat(i,"-not-a-number"),ie.isNaN()),_t(n,"".concat(i,"-out-of-range"),!ie.isInvalidate()&&!Ce(ie)),n)),style:a,onFocus:function(){J(!0)},onBlur:St,onKeyDown:ot,onKeyUp:Ye,onCompositionStart:Le,onCompositionEnd:qe,onBeforeInput:_e},S&&m.createElement(DWt,{prefixCls:i,upNode:y,downNode:A,upDisabled:Ae,downDisabled:re,onStep:De}),m.createElement("div",{className:"".concat(k,"-wrap")},m.createElement("input",so({autoComplete:"off",role:"spinbutton","aria-valuemin":l,"aria-valuemax":s,"aria-valuenow":ie.isInvalidate()?null:ie.toString(),step:u},B,{ref:Rb(N,e),className:k,value:ve,onChange:We,disabled:p,readOnly:g}))))}),gXe=m.forwardRef(function(t,e){var n=t.disabled,o=t.style,i=t.prefixCls,r=t.value,a=t.prefix,l=t.suffix,s=t.addonBefore,c=t.addonAfter,u=t.className,d=t.classNames,f=ir(t,FWt),p=m.useRef(null),g=function(A){p.current&&hXe(p.current,A)};return m.createElement(Dme,{className:u,triggerFocus:g,prefixCls:i,value:r,disabled:n,style:o,prefix:a,suffix:l,addonAfter:c,addonBefore:s,classNames:d,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}},m.createElement(LWt,so({prefixCls:i,disabled:n,ref:Rb(p,e),className:d==null?void 0:d.input},f)))});gXe.displayName="InputNumber";const WWt=t=>{var e;const n=(e=t.handleVisible)!==null&&e!==void 0?e:"auto";return Object.assign(Object.assign({},EW(t)),{controlWidth:90,handleWidth:t.controlHeightSM-t.lineWidth*2,handleFontSize:t.fontSize/2,handleVisible:n,handleActiveBg:t.colorFillAlter,handleBg:t.colorBgContainer,filledHandleBg:new Il(t.colorFillSecondary).onBackground(t.colorBgContainer).toHexString(),handleHoverColor:t.colorPrimary,handleBorderColor:t.colorBorder,handleOpacity:n===!0?1:0})},Jve=(t,e)=>{let{componentCls:n,borderRadiusSM:o,borderRadiusLG:i}=t;const r=e==="lg"?i:o;return{[`&-${e}`]:{[`${n}-handler-wrap`]:{borderStartEndRadius:r,borderEndEndRadius:r},[`${n}-handler-up`]:{borderStartEndRadius:r},[`${n}-handler-down`]:{borderEndEndRadius:r}}}},NWt=t=>{const{componentCls:e,lineWidth:n,lineType:o,borderRadius:i,fontSizeLG:r,controlHeightLG:a,controlHeightSM:l,colorError:s,paddingInlineSM:c,paddingBlockSM:u,paddingBlockLG:d,paddingInlineLG:f,colorTextDescription:p,motionDurationMid:g,handleHoverColor:y,paddingInline:A,paddingBlock:x,handleBg:C,handleActiveBg:b,colorTextDisabled:v,borderRadiusSM:S,borderRadiusLG:w,controlWidth:T,handleOpacity:P,handleBorderColor:R,filledHandleBg:H,lineHeightLG:D,calc:E}=t;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),kW(t)),{display:"inline-block",width:T,margin:0,padding:0,borderRadius:i}),bme(t,{[`${e}-handler-wrap`]:{background:C,[`${e}-handler-down`]:{borderBlockStart:`${Ut(n)} ${o} ${R}`}}})),Tme(t,{[`${e}-handler-wrap`]:{background:H,[`${e}-handler-down`]:{borderBlockStart:`${Ut(n)} ${o} ${R}`}},"&:focus-within":{[`${e}-handler-wrap`]:{background:C}}})),Sme(t)),{"&-rtl":{direction:"rtl",[`${e}-input`]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:r,lineHeight:D,borderRadius:w,[`input${e}-input`]:{height:E(a).sub(E(n).mul(2)).equal(),padding:`${Ut(d)} ${Ut(f)}`}},"&-sm":{padding:0,borderRadius:S,[`input${e}-input`]:{height:E(l).sub(E(n).mul(2)).equal(),padding:`${Ut(u)} ${Ut(c)}`}},"&-out-of-range":{[`${e}-input-wrap`]:{input:{color:s}}},"&-group":Object.assign(Object.assign(Object.assign({},$a(t)),$Ge(t)),{"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",textAlign:"start",verticalAlign:"top",[`${e}-affix-wrapper`]:{width:"100%"},"&-lg":{[`${e}-group-addon`]:{borderRadius:w,fontSize:t.fontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:S}}},XGe(t)),KGe(t)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}})}),[`&-disabled ${e}-input`]:{cursor:"not-allowed"},[e]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{width:"100%",padding:`${Ut(x)} ${Ut(A)}`,textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:i,outline:0,transition:`all ${g} linear`,appearance:"textfield",fontSize:"inherit"}),Pme(t.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[e]:Object.assign(Object.assign(Object.assign({[`&:hover ${e}-handler-wrap, &-focused ${e}-handler-wrap`]:{opacity:1},[`${e}-handler-wrap`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:t.handleWidth,height:"100%",borderStartStartRadius:0,borderStartEndRadius:i,borderEndEndRadius:i,borderEndStartRadius:0,opacity:P,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`opacity ${g} linear ${g}`,[`${e}-handler`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",[` + `]:{borderRadius:0},[`> ${e}-item:last-child`]:{borderBottom:0},[`> ${e}-item > ${e}-content`]:{backgroundColor:"transparent",borderTop:0},[`> ${e}-item > ${e}-content > ${e}-content-box`]:{paddingTop:o}}}},sWt=t=>{const{componentCls:e,paddingSM:n}=t;return{[`${e}-ghost`]:{backgroundColor:"transparent",border:0,[`> ${e}-item`]:{borderBottom:0,[`> ${e}-content`]:{backgroundColor:"transparent",border:0,[`> ${e}-content-box`]:{paddingBlock:n}}}}}},cWt=t=>({headerPadding:`${t.paddingSM}px ${t.padding}px`,headerBg:t.colorFillAlter,contentPadding:`${t.padding}px 16px`,contentBg:t.colorBgContainer}),uWt=Fl("Collapse",t=>{const e=Zr(t,{collapseHeaderPaddingSM:`${Ut(t.paddingXS)} ${Ut(t.paddingSM)}`,collapseHeaderPaddingLG:`${Ut(t.padding)} ${Ut(t.paddingLG)}`,collapsePanelBorderRadius:t.borderRadiusLG});return[rWt(e),lWt(e),sWt(e),aWt(e),$ge(e)]},cWt),dWt=m.forwardRef((t,e)=>{const{getPrefixCls:n,direction:o,collapse:i}=m.useContext(Mi),{prefixCls:r,className:a,rootClassName:l,style:s,bordered:c=!0,ghost:u,size:d,expandIconPosition:f="start",children:p,expandIcon:g}=t,y=Cd(D=>{var E;return(E=d??D)!==null&&E!==void 0?E:"middle"}),A=n("collapse",r),x=n(),[C,b,v]=uWt(A),S=m.useMemo(()=>f==="left"?"start":f==="right"?"end":f,[f]),w=g??(i==null?void 0:i.expandIcon),T=m.useCallback(function(){let D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const E=typeof w=="function"?w(D):m.createElement(bG,{rotate:D.isActive?90:void 0});return Ou(E,()=>{var L;return{className:Gn((L=E==null?void 0:E.props)===null||L===void 0?void 0:L.className,`${A}-arrow`)}})},[w,A]),P=Gn(`${A}-icon-position-${S}`,{[`${A}-borderless`]:!c,[`${A}-rtl`]:o==="rtl",[`${A}-ghost`]:!!u,[`${A}-${y}`]:y!=="middle"},i==null?void 0:i.className,a,l,b,v),R=Object.assign(Object.assign({},Vge(x)),{motionAppear:!1,leavedClassName:`${A}-content-hidden`}),H=m.useMemo(()=>p?E9(p).map((D,E)=>{var L,U;if(!((L=D.props)===null||L===void 0)&&L.disabled){const F=(U=D.key)!==null&&U!==void 0?U:String(E),{disabled:W,collapsible:B}=D.props,k=Object.assign(Object.assign({},lp(D.props,["disabled"])),{key:F,collapsible:B??(W?"disabled":void 0)});return Ou(D,k)}return D}):null,[p]);return C(m.createElement(Hme,Object.assign({ref:e,openMotion:R},lp(t,["rootClassName"]),{expandIcon:T,prefixCls:A,className:P,style:Object.assign(Object.assign({},i==null?void 0:i.style),s)}),H))}),Mme=Object.assign(dWt,{Panel:iWt}),fWt=t=>{const{componentCls:e,sizePaddingEdgeHorizontal:n,colorSplit:o,lineWidth:i,textPaddingInline:r,orientationMargin:a,verticalMarginInline:l}=t;return{[e]:Object.assign(Object.assign({},$a(t)),{borderBlockStart:`${Ut(i)} solid ${o}`,"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:l,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:`${Ut(i)} solid ${o}`},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:`${Ut(t.dividerHorizontalGutterMargin)} 0`},[`&-horizontal${e}-with-text`]:{display:"flex",alignItems:"center",margin:`${Ut(t.dividerHorizontalWithTextGutterMargin)} 0`,color:t.colorTextHeading,fontWeight:500,fontSize:t.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:`0 ${o}`,"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:`${Ut(i)} solid transparent`,borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},[`&-horizontal${e}-with-text-left`]:{"&::before":{width:`calc(${a} * 100%)`},"&::after":{width:`calc(100% - ${a} * 100%)`}},[`&-horizontal${e}-with-text-right`]:{"&::before":{width:`calc(100% - ${a} * 100%)`},"&::after":{width:`calc(${a} * 100%)`}},[`${e}-inner-text`]:{display:"inline-block",paddingBlock:0,paddingInline:r},"&-dashed":{background:"none",borderColor:o,borderStyle:"dashed",borderWidth:`${Ut(i)} 0 0`},[`&-horizontal${e}-with-text${e}-dashed`]:{"&::before, &::after":{borderStyle:"dashed none none"}},[`&-vertical${e}-dashed`]:{borderInlineStartWidth:i,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},[`&-plain${e}-with-text`]:{color:t.colorText,fontWeight:"normal",fontSize:t.fontSize},[`&-horizontal${e}-with-text-left${e}-no-default-orientation-margin-left`]:{"&::before":{width:0},"&::after":{width:"100%"},[`${e}-inner-text`]:{paddingInlineStart:n}},[`&-horizontal${e}-with-text-right${e}-no-default-orientation-margin-right`]:{"&::before":{width:"100%"},"&::after":{width:0},[`${e}-inner-text`]:{paddingInlineEnd:n}}})}},hWt=t=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:t.marginXS}),pWt=Fl("Divider",t=>{const e=Zr(t,{dividerHorizontalWithTextGutterMargin:t.margin,dividerHorizontalGutterMargin:t.marginLG,sizePaddingEdgeHorizontal:0});return[fWt(e)]},hWt,{unitless:{orientationMargin:!0}});var gWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:e,direction:n,divider:o}=m.useContext(Mi),{prefixCls:i,type:r="horizontal",orientation:a="center",orientationMargin:l,className:s,rootClassName:c,children:u,dashed:d,plain:f,style:p}=t,g=gWt(t,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","plain","style"]),y=e("divider",i),[A,x,C]=pWt(y),b=a.length>0?`-${a}`:a,v=!!u,S=a==="left"&&l!=null,w=a==="right"&&l!=null,T=Gn(y,o==null?void 0:o.className,x,C,`${y}-${r}`,{[`${y}-with-text`]:v,[`${y}-with-text${b}`]:v,[`${y}-dashed`]:!!d,[`${y}-plain`]:!!f,[`${y}-rtl`]:n==="rtl",[`${y}-no-default-orientation-margin-left`]:S,[`${y}-no-default-orientation-margin-right`]:w},s,c),P=m.useMemo(()=>typeof l=="number"?l:/^\d+$/.test(l)?Number(l):l,[l]),R=Object.assign(Object.assign({},S&&{marginLeft:P}),w&&{marginRight:P});return A(m.createElement("div",Object.assign({className:T,style:Object.assign(Object.assign({},o==null?void 0:o.style),p)},g,{role:"separator"}),u&&r!=="vertical"&&m.createElement("span",{className:`${y}-inner-text`,style:R},u)))};var mWt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"},yWt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:mWt}))},AWt=m.forwardRef(yWt);function W0e(){return typeof BigInt=="function"}function fXe(t){return!t&&t!==0&&!Number.isNaN(t)||!String(t).trim()}function fx(t){var e=t.trim(),n=e.startsWith("-");n&&(e=e.slice(1)),e=e.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),e.startsWith(".")&&(e="0".concat(e));var o=e||"0",i=o.split("."),r=i[0]||"0",a=i[1]||"0";r==="0"&&a==="0"&&(n=!1);var l=n?"-":"";return{negative:n,negativeStr:l,trimStr:o,integerStr:r,decimalStr:a,fullStr:"".concat(l).concat(o)}}function Ime(t){var e=String(t);return!Number.isNaN(Number(e))&&e.includes("e")}function Lv(t){var e=String(t);if(Ime(t)){var n=Number(e.slice(e.indexOf("e-")+2)),o=e.match(/\.(\d+)/);return o!=null&&o[1]&&(n+=o[1].length),n}return e.includes(".")&&zme(e)?e.length-e.indexOf(".")-1:0}function k$(t){var e=String(t);if(Ime(t)){if(t>Number.MAX_SAFE_INTEGER)return String(W0e()?BigInt(t).toString():Number.MAX_SAFE_INTEGER);if(t0&&arguments[0]!==void 0?arguments[0]:!0;return n?this.isInvalidate()?"":fx("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),t}(),vWt=function(){function t(e){if(pp(this,t),_t(this,"origin",""),_t(this,"number",void 0),_t(this,"empty",void 0),fXe(e)){this.empty=!0;return}this.origin=String(e),this.number=Number(e)}return gp(t,[{key:"negate",value:function(){return new t(-this.toNumber())}},{key:"add",value:function(n){if(this.isInvalidate())return new t(n);var o=Number(n);if(Number.isNaN(o))return this;var i=this.number+o;if(i>Number.MAX_SAFE_INTEGER)return new t(Number.MAX_SAFE_INTEGER);if(iNumber.MAX_SAFE_INTEGER)return new t(Number.MAX_SAFE_INTEGER);if(i0&&arguments[0]!==void 0?arguments[0]:!0;return n?this.isInvalidate()?"":k$(this.number):this.origin}}]),t}();function $y(t){return W0e()?new wWt(t):new vWt(t)}function L_(t,e,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(t==="")return"";var i=fx(t),r=i.negativeStr,a=i.integerStr,l=i.decimalStr,s="".concat(e).concat(l),c="".concat(r).concat(a);if(n>=0){var u=Number(l[n]);if(u>=5&&!o){var d=$y(t).add("".concat(r,"0.").concat("0".repeat(n)).concat(10-u));return L_(d.toString(),e,n,o)}return n===0?c:"".concat(c).concat(e).concat(l.padEnd(n,"0").slice(0,n))}return s===".0"?c:"".concat(c).concat(s)}function xWt(t){return!!(t.addonBefore||t.addonAfter)}function bWt(t){return!!(t.prefix||t.suffix||t.allowClear)}function _ve(t,e,n){var o=e.cloneNode(!0),i=Object.create(t,{target:{value:o},currentTarget:{value:o}});return o.value=n,typeof e.selectionStart=="number"&&typeof e.selectionEnd=="number"&&(o.selectionStart=e.selectionStart,o.selectionEnd=e.selectionEnd),i}function MG(t,e,n,o){if(n){var i=e;if(e.type==="click"){i=_ve(e,t,""),n(i);return}if(t.type!=="file"&&o!==void 0){i=_ve(e,t,o),n(i);return}n(i)}}function hXe(t,e){if(t){t.focus(e);var n=e||{},o=n.cursor;if(o){var i=t.value.length;switch(o){case"start":t.setSelectionRange(0,0);break;case"end":t.setSelectionRange(i,i);break;default:t.setSelectionRange(0,i)}}}}var Dme=function(e){var n,o,i=e.inputElement,r=e.children,a=e.prefixCls,l=e.prefix,s=e.suffix,c=e.addonBefore,u=e.addonAfter,d=e.className,f=e.style,p=e.disabled,g=e.readOnly,y=e.focused,A=e.triggerFocus,x=e.allowClear,C=e.value,b=e.handleReset,v=e.hidden,S=e.classes,w=e.classNames,T=e.dataAttrs,P=e.styles,R=e.components,H=r??i,D=(R==null?void 0:R.affixWrapper)||"span",E=(R==null?void 0:R.groupWrapper)||"span",L=(R==null?void 0:R.wrapper)||"span",U=(R==null?void 0:R.groupAddon)||"span",F=m.useRef(null),W=function(fe){var se;(se=F.current)!==null&&se!==void 0&&se.contains(fe.target)&&(A==null||A())},B=bWt(e),k=m.cloneElement(H,{value:C,className:Vn(H.props.className,!B&&(w==null?void 0:w.variant))||null});if(B){var N,j=null;if(x){var Y,_=!p&&!g&&C,J="".concat(a,"-clear-icon"),Q=gr(x)==="object"&&x!==null&&x!==void 0&&x.clearIcon?x.clearIcon:"✖";j=Se.createElement("span",{onClick:b,onMouseDown:function(fe){return fe.preventDefault()},className:Vn(J,(Y={},_t(Y,"".concat(J,"-hidden"),!_),_t(Y,"".concat(J,"-has-suffix"),!!s),Y)),role:"button",tabIndex:-1},Q)}var ee="".concat(a,"-affix-wrapper"),$=Vn(ee,(N={},_t(N,"".concat(a,"-disabled"),p),_t(N,"".concat(ee,"-disabled"),p),_t(N,"".concat(ee,"-focused"),y),_t(N,"".concat(ee,"-readonly"),g),_t(N,"".concat(ee,"-input-with-clear-btn"),s&&x&&C),N),S==null?void 0:S.affixWrapper,w==null?void 0:w.affixWrapper,w==null?void 0:w.variant),q=(s||x)&&Se.createElement("span",{className:Vn("".concat(a,"-suffix"),w==null?void 0:w.suffix),style:P==null?void 0:P.suffix},j,s);k=Se.createElement(D,so({className:$,style:P==null?void 0:P.affixWrapper,onClick:W},T==null?void 0:T.affixWrapper,{ref:F}),l&&Se.createElement("span",{className:Vn("".concat(a,"-prefix"),w==null?void 0:w.prefix),style:P==null?void 0:P.prefix},l),k,q)}if(xWt(e)){var le="".concat(a,"-group"),ie="".concat(le,"-addon"),pe="".concat(le,"-wrapper"),ne=Vn("".concat(a,"-wrapper"),le,S==null?void 0:S.wrapper,w==null?void 0:w.wrapper),Z=Vn(pe,_t({},"".concat(pe,"-disabled"),p),S==null?void 0:S.group,w==null?void 0:w.groupWrapper);k=Se.createElement(E,{className:Z},Se.createElement(L,{className:ne},c&&Se.createElement(U,{className:ie},c),k,u&&Se.createElement(U,{className:ie},u)))}return Se.cloneElement(k,{className:Vn((n=k.props)===null||n===void 0?void 0:n.className,d)||null,style:$t($t({},(o=k.props)===null||o===void 0?void 0:o.style),f),hidden:v})},SWt=["show"];function pXe(t,e){return m.useMemo(function(){var n={};e&&(n.show=gr(e)==="object"&&e.formatter?e.formatter:!!e),n=$t($t({},n),t);var o=n,i=o.show,r=ir(o,SWt);return $t($t({},r),{},{show:!!i,showFormatter:typeof i=="function"?i:void 0,strategy:r.strategy||function(a){return a.length}})},[t,e])}var TWt=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","count","type","classes","classNames","styles","onCompositionStart","onCompositionEnd"],PWt=m.forwardRef(function(t,e){var n=t.autoComplete,o=t.onChange,i=t.onFocus,r=t.onBlur,a=t.onPressEnter,l=t.onKeyDown,s=t.prefixCls,c=s===void 0?"rc-input":s,u=t.disabled,d=t.htmlSize,f=t.className,p=t.maxLength,g=t.suffix,y=t.showCount,A=t.count,x=t.type,C=x===void 0?"text":x,b=t.classes,v=t.classNames,S=t.styles,w=t.onCompositionStart,T=t.onCompositionEnd,P=ir(t,TWt),R=m.useState(!1),H=on(R,2),D=H[0],E=H[1],L=m.useRef(!1),U=m.useRef(null),F=function(me){U.current&&hXe(U.current,me)},W=Rs(t.defaultValue,{value:t.value}),B=on(W,2),k=B[0],N=B[1],j=k==null?"":String(k),Y=m.useState(null),_=on(Y,2),J=_[0],Q=_[1],ee=pXe(A,y),$=ee.max||p,q=ee.strategy(j),le=!!$&&q>$;m.useImperativeHandle(e,function(){return{focus:F,blur:function(){var me;(me=U.current)===null||me===void 0||me.blur()},setSelectionRange:function(me,Re,ze){var Ae;(Ae=U.current)===null||Ae===void 0||Ae.setSelectionRange(me,Re,ze)},select:function(){var me;(me=U.current)===null||me===void 0||me.select()},input:U.current}}),m.useEffect(function(){E(function(Pe){return Pe&&u?!1:Pe})},[u]);var ie=function(me,Re,ze){var Ae=Re;if(!L.current&&ee.exceedFormatter&&ee.max&&ee.strategy(Re)>ee.max){if(Ae=ee.exceedFormatter(Re,{max:ee.max}),Re!==Ae){var re,ge;Q([((re=U.current)===null||re===void 0?void 0:re.selectionStart)||0,((ge=U.current)===null||ge===void 0?void 0:ge.selectionEnd)||0])}}else if(ze.source==="compositionEnd")return;N(Ae),U.current&&MG(U.current,me,o,Ae)};m.useEffect(function(){if(J){var Pe;(Pe=U.current)===null||Pe===void 0||Pe.setSelectionRange.apply(Pe,Wo(J))}},[J]);var pe=function(me){ie(me,me.target.value,{source:"change"})},ne=function(me){L.current=!1,ie(me,me.currentTarget.value,{source:"compositionEnd"}),T==null||T(me)},Z=function(me){a&&me.key==="Enter"&&a(me),l==null||l(me)},he=function(me){E(!0),i==null||i(me)},fe=function(me){E(!1),r==null||r(me)},se=function(me){N(""),F(),U.current&&MG(U.current,me,o)},oe=le&&"".concat(c,"-out-of-range"),de=function(){var me=MH(t,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames"]);return Se.createElement("input",so({autoComplete:n},me,{onChange:pe,onFocus:he,onBlur:fe,onKeyDown:Z,className:Vn(c,_t({},"".concat(c,"-disabled"),u),v==null?void 0:v.input),style:S==null?void 0:S.input,ref:U,size:d,type:C,onCompositionStart:function(ze){L.current=!0,w==null||w(ze)},onCompositionEnd:ne}))},ve=function(){var me=Number($)>0;if(g||ee.show){var Re=ee.showFormatter?ee.showFormatter({value:j,count:q,maxLength:$}):"".concat(q).concat(me?" / ".concat($):"");return Se.createElement(Se.Fragment,null,ee.show&&Se.createElement("span",{className:Vn("".concat(c,"-show-count-suffix"),_t({},"".concat(c,"-show-count-has-suffix"),!!g),v==null?void 0:v.count),style:$t({},S==null?void 0:S.count)},Re),g)}return null};return Se.createElement(Dme,so({},P,{prefixCls:c,className:Vn(f,oe),handleReset:se,value:j,focused:D,triggerFocus:F,suffix:ve(),disabled:u,classes:b,classNames:v,styles:S}),de())});function CWt(t,e){var n=m.useRef(null);function o(){try{var r=t.selectionStart,a=t.selectionEnd,l=t.value,s=l.substring(0,r),c=l.substring(a);n.current={start:r,end:a,value:l,beforeTxt:s,afterTxt:c}}catch{}}function i(){if(t&&n.current&&e)try{var r=t.value,a=n.current,l=a.beforeTxt,s=a.afterTxt,c=a.start,u=r.length;if(r.endsWith(s))u=r.length-n.current.afterTxt.length;else if(r.startsWith(l))u=l.length;else{var d=l[c-1],f=r.indexOf(d,c-1);f!==-1&&(u=f+1)}t.setSelectionRange(u,u)}catch(p){U0(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(p.message))}}return[o,i]}var RWt=function(){var e=m.useState(!1),n=on(e,2),o=n[0],i=n[1];return Ba(function(){i(m$())},[]),o},HWt=200,MWt=600;function IWt(t){var e=t.prefixCls,n=t.upNode,o=t.downNode,i=t.upDisabled,r=t.downDisabled,a=t.onStep,l=m.useRef(),s=m.useRef([]),c=m.useRef();c.current=a;var u=function(){clearTimeout(l.current)},d=function(b,v){b.preventDefault(),u(),c.current(v);function S(){c.current(v),l.current=setTimeout(S,HWt)}l.current=setTimeout(S,MWt)};m.useEffect(function(){return function(){u(),s.current.forEach(function(C){return za.cancel(C)})}},[]);var f=RWt();if(f)return null;var p="".concat(e,"-handler"),g=Vn(p,"".concat(p,"-up"),_t({},"".concat(p,"-up-disabled"),i)),y=Vn(p,"".concat(p,"-down"),_t({},"".concat(p,"-down-disabled"),r)),A=function(){return s.current.push(za(u))},x={unselectable:"on",role:"button",onMouseUp:A,onMouseLeave:A};return m.createElement("div",{className:"".concat(p,"-wrap")},m.createElement("span",so({},x,{onMouseDown:function(b){d(b,!0)},"aria-label":"Increase Value","aria-disabled":i,className:g}),n||m.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-up-inner")})),m.createElement("span",so({},x,{onMouseDown:function(b){d(b,!1)},"aria-label":"Decrease Value","aria-disabled":r,className:y}),o||m.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-down-inner")})))}function Vve(t){var e=typeof t=="number"?k$(t):fx(t).fullStr,n=e.includes(".");return n?fx(e.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:t+"0"}const zWt=function(){var t=m.useRef(0),e=function(){za.cancel(t.current)};return m.useEffect(function(){return e},[]),function(n){e(),t.current=za(function(){n()})}};var DWt=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","changeOnWheel","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep","changeOnBlur"],EWt=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","className","classNames"],Gve=function(e,n){return e||n.isEmpty()?n.toString():n.toNumber()},Xve=function(e){var n=$y(e);return n.isInvalidate()?null:n},kWt=m.forwardRef(function(t,e){var n,o=t.prefixCls,i=o===void 0?"rc-input-number":o,r=t.className,a=t.style,l=t.min,s=t.max,c=t.step,u=c===void 0?1:c,d=t.defaultValue,f=t.value,p=t.disabled,g=t.readOnly,y=t.upHandler,A=t.downHandler,x=t.keyboard,C=t.changeOnWheel,b=C===void 0?!1:C,v=t.controls,S=v===void 0?!0:v;t.classNames;var w=t.stringMode,T=t.parser,P=t.formatter,R=t.precision,H=t.decimalSeparator,D=t.onChange,E=t.onInput,L=t.onPressEnter,U=t.onStep,F=t.changeOnBlur,W=F===void 0?!0:F,B=ir(t,DWt),k="".concat(i,"-input"),N=m.useRef(null),j=m.useState(!1),Y=on(j,2),_=Y[0],J=Y[1],Q=m.useRef(!1),ee=m.useRef(!1),$=m.useRef(!1),q=m.useState(function(){return $y(f??d)}),le=on(q,2),ie=le[0],pe=le[1];function ne(dt){f===void 0&&pe(dt)}var Z=m.useCallback(function(dt,je){if(!je)return R>=0?R:Math.max(Lv(dt),Lv(u))},[R,u]),he=m.useCallback(function(dt){var je=String(dt);if(T)return T(je);var at=je;return H&&(at=at.replace(H,".")),at.replace(/[^\w.-]+/g,"")},[T,H]),fe=m.useRef(""),se=m.useCallback(function(dt,je){if(P)return P(dt,{userTyping:je,input:String(fe.current)});var at=typeof dt=="number"?k$(dt):dt;if(!je){var ut=Z(at,je);if(zme(at)&&(H||ut>=0)){var wt=H||".";at=L_(at,wt,ut)}}return at},[P,Z,H]),oe=m.useState(function(){var dt=d??f;return ie.isInvalidate()&&["string","number"].includes(gr(dt))?Number.isNaN(dt)?"":dt:se(ie.toString(),!1)}),de=on(oe,2),ve=de[0],Pe=de[1];fe.current=ve;function me(dt,je){Pe(se(dt.isInvalidate()?dt.toString(!1):dt.toString(!je),je))}var Re=m.useMemo(function(){return Xve(s)},[s,R]),ze=m.useMemo(function(){return Xve(l)},[l,R]),Ae=m.useMemo(function(){return!Re||!ie||ie.isInvalidate()?!1:Re.lessEquals(ie)},[Re,ie]),re=m.useMemo(function(){return!ze||!ie||ie.isInvalidate()?!1:ie.lessEquals(ze)},[ze,ie]),ge=CWt(N.current,_),we=on(ge,2),ye=we[0],Te=we[1],Ie=function(je){return Re&&!je.lessEquals(Re)?Re:ze&&!ze.lessEquals(je)?ze:null},Ce=function(je){return!Ie(je)},Ee=function(je,at){var ut=je,wt=Ce(ut)||ut.isEmpty();if(!ut.isEmpty()&&!at&&(ut=Ie(ut)||ut,wt=!0),!g&&!p&&wt){var rt=ut.toString(),Qe=Z(rt,at);return Qe>=0&&(ut=$y(L_(rt,".",Qe)),Ce(ut)||(ut=$y(L_(rt,".",Qe,!0)))),ut.equals(ie)||(ne(ut),D==null||D(ut.isEmpty()?null:Gve(w,ut)),f===void 0&&me(ut,at)),ut}return ie},Ue=zWt(),Ne=function dt(je){if(ye(),fe.current=je,Pe(je),!ee.current){var at=he(je),ut=$y(at);ut.isNaN()||Ee(ut,!0)}E==null||E(je),Ue(function(){var wt=je;T||(wt=je.replace(/。/g,".")),wt!==je&&dt(wt)})},Le=function(){ee.current=!0},qe=function(){ee.current=!1,Ne(N.current.value)},We=function(je){Ne(je.target.value)},De=function(je){var at;if(!(je&&Ae||!je&&re)){Q.current=!1;var ut=$y($.current?Vve(u):u);je||(ut=ut.negate());var wt=(ie||$y(0)).add(ut.toString()),rt=Ee(wt,!1);U==null||U(Gve(w,rt),{offset:$.current?Vve(u):u,type:je?"up":"down"}),(at=N.current)===null||at===void 0||at.focus()}},Fe=function(je){var at=$y(he(ve)),ut=at;at.isNaN()?ut=Ee(ie,je):ut=Ee(at,je),f!==void 0?me(ie,!1):ut.isNaN()||me(ut,!1)},_e=function(){Q.current=!0},ot=function(je){var at=je.key,ut=je.shiftKey;Q.current=!0,$.current=ut,at==="Enter"&&(ee.current||(Q.current=!1),Fe(!1),L==null||L(je)),x!==!1&&!ee.current&&["Up","ArrowUp","Down","ArrowDown"].includes(at)&&(De(at==="Up"||at==="ArrowUp"),je.preventDefault())},Ye=function(){Q.current=!1,$.current=!1};m.useEffect(function(){if(b&&_){var dt=function(ut){De(ut.deltaY<0),ut.preventDefault()},je=N.current;if(je)return je.addEventListener("wheel",dt,{passive:!1}),function(){return je.removeEventListener("wheel",dt)}}});var St=function(){W&&Fe(!1),J(!1),Q.current=!1};return sx(function(){ie.isInvalidate()||me(ie,!1)},[R,P]),sx(function(){var dt=$y(f);pe(dt);var je=$y(he(ve));(!dt.equals(je)||!Q.current||P)&&me(dt,Q.current)},[f]),sx(function(){P&&Te()},[ve]),m.createElement("div",{className:Vn(i,r,(n={},_t(n,"".concat(i,"-focused"),_),_t(n,"".concat(i,"-disabled"),p),_t(n,"".concat(i,"-readonly"),g),_t(n,"".concat(i,"-not-a-number"),ie.isNaN()),_t(n,"".concat(i,"-out-of-range"),!ie.isInvalidate()&&!Ce(ie)),n)),style:a,onFocus:function(){J(!0)},onBlur:St,onKeyDown:ot,onKeyUp:Ye,onCompositionStart:Le,onCompositionEnd:qe,onBeforeInput:_e},S&&m.createElement(IWt,{prefixCls:i,upNode:y,downNode:A,upDisabled:Ae,downDisabled:re,onStep:De}),m.createElement("div",{className:"".concat(k,"-wrap")},m.createElement("input",so({autoComplete:"off",role:"spinbutton","aria-valuemin":l,"aria-valuemax":s,"aria-valuenow":ie.isInvalidate()?null:ie.toString(),step:u},B,{ref:Rb(N,e),className:k,value:ve,onChange:We,disabled:p,readOnly:g}))))}),gXe=m.forwardRef(function(t,e){var n=t.disabled,o=t.style,i=t.prefixCls,r=t.value,a=t.prefix,l=t.suffix,s=t.addonBefore,c=t.addonAfter,u=t.className,d=t.classNames,f=ir(t,EWt),p=m.useRef(null),g=function(A){p.current&&hXe(p.current,A)};return m.createElement(Dme,{className:u,triggerFocus:g,prefixCls:i,value:r,disabled:n,style:o,prefix:a,suffix:l,addonAfter:c,addonBefore:s,classNames:d,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}},m.createElement(kWt,so({prefixCls:i,disabled:n,ref:Rb(p,e),className:d==null?void 0:d.input},f)))});gXe.displayName="InputNumber";const FWt=t=>{var e;const n=(e=t.handleVisible)!==null&&e!==void 0?e:"auto";return Object.assign(Object.assign({},EW(t)),{controlWidth:90,handleWidth:t.controlHeightSM-t.lineWidth*2,handleFontSize:t.fontSize/2,handleVisible:n,handleActiveBg:t.colorFillAlter,handleBg:t.colorBgContainer,filledHandleBg:new Il(t.colorFillSecondary).onBackground(t.colorBgContainer).toHexString(),handleHoverColor:t.colorPrimary,handleBorderColor:t.colorBorder,handleOpacity:n===!0?1:0})},Jve=(t,e)=>{let{componentCls:n,borderRadiusSM:o,borderRadiusLG:i}=t;const r=e==="lg"?i:o;return{[`&-${e}`]:{[`${n}-handler-wrap`]:{borderStartEndRadius:r,borderEndEndRadius:r},[`${n}-handler-up`]:{borderStartEndRadius:r},[`${n}-handler-down`]:{borderEndEndRadius:r}}}},LWt=t=>{const{componentCls:e,lineWidth:n,lineType:o,borderRadius:i,fontSizeLG:r,controlHeightLG:a,controlHeightSM:l,colorError:s,paddingInlineSM:c,paddingBlockSM:u,paddingBlockLG:d,paddingInlineLG:f,colorTextDescription:p,motionDurationMid:g,handleHoverColor:y,paddingInline:A,paddingBlock:x,handleBg:C,handleActiveBg:b,colorTextDisabled:v,borderRadiusSM:S,borderRadiusLG:w,controlWidth:T,handleOpacity:P,handleBorderColor:R,filledHandleBg:H,lineHeightLG:D,calc:E}=t;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),kW(t)),{display:"inline-block",width:T,margin:0,padding:0,borderRadius:i}),bme(t,{[`${e}-handler-wrap`]:{background:C,[`${e}-handler-down`]:{borderBlockStart:`${Ut(n)} ${o} ${R}`}}})),Tme(t,{[`${e}-handler-wrap`]:{background:H,[`${e}-handler-down`]:{borderBlockStart:`${Ut(n)} ${o} ${R}`}},"&:focus-within":{[`${e}-handler-wrap`]:{background:C}}})),Sme(t)),{"&-rtl":{direction:"rtl",[`${e}-input`]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:r,lineHeight:D,borderRadius:w,[`input${e}-input`]:{height:E(a).sub(E(n).mul(2)).equal(),padding:`${Ut(d)} ${Ut(f)}`}},"&-sm":{padding:0,borderRadius:S,[`input${e}-input`]:{height:E(l).sub(E(n).mul(2)).equal(),padding:`${Ut(u)} ${Ut(c)}`}},"&-out-of-range":{[`${e}-input-wrap`]:{input:{color:s}}},"&-group":Object.assign(Object.assign(Object.assign({},$a(t)),$Ge(t)),{"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",textAlign:"start",verticalAlign:"top",[`${e}-affix-wrapper`]:{width:"100%"},"&-lg":{[`${e}-group-addon`]:{borderRadius:w,fontSize:t.fontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:S}}},XGe(t)),KGe(t)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}})}),[`&-disabled ${e}-input`]:{cursor:"not-allowed"},[e]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{width:"100%",padding:`${Ut(x)} ${Ut(A)}`,textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:i,outline:0,transition:`all ${g} linear`,appearance:"textfield",fontSize:"inherit"}),Pme(t.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[e]:Object.assign(Object.assign(Object.assign({[`&:hover ${e}-handler-wrap, &-focused ${e}-handler-wrap`]:{opacity:1},[`${e}-handler-wrap`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:t.handleWidth,height:"100%",borderStartStartRadius:0,borderStartEndRadius:i,borderEndEndRadius:i,borderEndStartRadius:0,opacity:P,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`opacity ${g} linear ${g}`,[`${e}-handler`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",[` ${e}-handler-up-inner, ${e}-handler-down-inner `]:{marginInlineEnd:0,fontSize:t.handleFontSize}}},[`${e}-handler`]:{height:"50%",overflow:"hidden",color:p,fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",borderInlineStart:`${Ut(n)} ${o} ${R}`,transition:`all ${g} linear`,"&:active":{background:b},"&:hover":{height:"60%",[` @@ -4617,7 +4617,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `]:{cursor:"not-allowed"},[` ${e}-handler-up-disabled:hover &-handler-up-inner, ${e}-handler-down-disabled:hover &-handler-down-inner - `]:{color:v}})}]},UWt=t=>{const{componentCls:e,paddingBlock:n,paddingInline:o,inputAffixPadding:i,controlWidth:r,borderRadiusLG:a,borderRadiusSM:l,paddingInlineLG:s,paddingInlineSM:c,paddingBlockLG:u,paddingBlockSM:d}=t;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign({[`input${e}-input`]:{padding:`${Ut(n)} 0`}},kW(t)),{position:"relative",display:"inline-flex",width:r,padding:0,paddingInlineStart:o,"&-lg":{borderRadius:a,paddingInlineStart:s,[`input${e}-input`]:{padding:`${Ut(u)} 0`}},"&-sm":{borderRadius:l,paddingInlineStart:c,[`input${e}-input`]:{padding:`${Ut(d)} 0`}},[`&:not(${e}-disabled):hover`]:{zIndex:1},"&-focused, &:focus":{zIndex:1},[`&-disabled > ${e}-disabled`]:{background:"transparent"},[`> div${e}`]:{width:"100%",border:"none",outline:"none",[`&${e}-focused`]:{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}-handler-wrap`]:{zIndex:2},[e]:{color:"inherit","&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:i},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:o,marginInlineStart:i}}})}},BWt=Fl("InputNumber",t=>{const e=Zr(t,DW(t));return[NWt(e),UWt(e),vW(e)]},WWt,{unitless:{handleOpacity:!0}});var jWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n,direction:o}=m.useContext(Mi),i=m.useRef(null);m.useImperativeHandle(e,()=>i.current);const{className:r,rootClassName:a,size:l,disabled:s,prefixCls:c,addonBefore:u,addonAfter:d,prefix:f,bordered:p,readOnly:g,status:y,controls:A,variant:x}=t,C=jWt(t,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls","variant"]),b=n("input-number",c),v=j0(b),[S,w,T]=BWt(b,v),{compactSize:P,compactItemClassnames:R}=F7(b,o);let H=m.createElement(vWt,{className:`${b}-handler-up-inner`}),D=m.createElement(ome,{className:`${b}-handler-down-inner`});const E=typeof A=="boolean"?A:void 0;typeof A=="object"&&(H=typeof A.upIcon>"u"?H:m.createElement("span",{className:`${b}-handler-up-inner`},A.upIcon),D=typeof A.downIcon>"u"?D:m.createElement("span",{className:`${b}-handler-down-inner`},A.downIcon));const{hasFeedback:L,status:U,isFormItemInput:F,feedbackIcon:W}=m.useContext($p),B=Mb(U,y),k=Cd(q=>{var le;return(le=l??P)!==null&&le!==void 0?le:q}),N=m.useContext(qp),j=s??N,[Y,_]=IH(x,p),J=L&&m.createElement(m.Fragment,null,W),Q=Gn({[`${b}-lg`]:k==="large",[`${b}-sm`]:k==="small",[`${b}-rtl`]:o==="rtl",[`${b}-in-form-item`]:F},w),ee=`${b}-group`,$=m.createElement(gXe,Object.assign({ref:i,disabled:j,className:Gn(T,v,r,a,R),upHandler:H,downHandler:D,prefixCls:b,readOnly:g,controls:E,prefix:f,suffix:J,addonAfter:d&&m.createElement(k9,null,m.createElement(rR,{override:!0,status:!0},d)),addonBefore:u&&m.createElement(k9,null,m.createElement(rR,{override:!0,status:!0},u)),classNames:{input:Q,variant:Gn({[`${b}-${Y}`]:_},o7(b,B,L)),affixWrapper:Gn({[`${b}-affix-wrapper-sm`]:k==="small",[`${b}-affix-wrapper-lg`]:k==="large",[`${b}-affix-wrapper-rtl`]:o==="rtl"},w),wrapper:Gn({[`${ee}-rtl`]:o==="rtl"},w),groupWrapper:Gn({[`${b}-group-wrapper-sm`]:k==="small",[`${b}-group-wrapper-lg`]:k==="large",[`${b}-group-wrapper-rtl`]:o==="rtl",[`${b}-group-wrapper-${Y}`]:_},o7(`${b}-group-wrapper`,B,L),w)}},C));return S($)}),Hn=mXe,YWt=t=>m.createElement(iy,{theme:{components:{InputNumber:{handleVisible:!0}}}},m.createElement(mXe,Object.assign({},t)));Hn._InternalPanelDoNotUseOrYouWillBeFired=YWt;const OWt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,className:i}=t,r=e("input-group",o),a=e("input"),[l,s]=Rme(a),c=Gn(r,{[`${r}-lg`]:t.size==="large",[`${r}-sm`]:t.size==="small",[`${r}-compact`]:t.compact,[`${r}-rtl`]:n==="rtl"},s,i),u=m.useContext($p),d=m.useMemo(()=>Object.assign(Object.assign({},u),{isFormItemInput:!1}),[u]);return l(m.createElement("span",{className:c,style:t.style,onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,onFocus:t.onFocus,onBlur:t.onBlur},m.createElement($p.Provider,{value:d},t.children)))},yXe=t=>{let e;return typeof t=="object"&&(t!=null&&t.clearIcon)?e=t:t&&(e={clearIcon:Se.createElement(a$,null)}),e};function AXe(t,e){const n=m.useRef([]),o=()=>{n.current.push(setTimeout(()=>{var i,r,a,l;!((i=t.current)===null||i===void 0)&&i.input&&((r=t.current)===null||r===void 0?void 0:r.input.getAttribute("type"))==="password"&&(!((a=t.current)===null||a===void 0)&&a.input.hasAttribute("value"))&&((l=t.current)===null||l===void 0||l.input.removeAttribute("value"))}))};return m.useEffect(()=>(e&&o(),()=>n.current.forEach(i=>{i&&clearTimeout(i)})),[]),o}function _Wt(t){return!!(t.prefix||t.suffix||t.allowClear||t.showCount)}var VWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,bordered:i=!0,status:r,size:a,disabled:l,onBlur:s,onFocus:c,suffix:u,allowClear:d,addonAfter:f,addonBefore:p,className:g,style:y,styles:A,rootClassName:x,onChange:C,classNames:b,variant:v}=t,S=VWt(t,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames","variant"]),{getPrefixCls:w,direction:T,input:P}=Se.useContext(Mi),R=w("input",o),H=m.useRef(null),D=j0(R),[E,L,U]=Rme(R,D),{compactSize:F,compactItemClassnames:W}=F7(R,T),B=Cd(he=>{var fe;return(fe=a??F)!==null&&fe!==void 0?fe:he}),k=Se.useContext(qp),N=l??k,{status:j,hasFeedback:Y,feedbackIcon:_}=m.useContext($p),J=Mb(j,r),Q=_Wt(t)||!!Y;m.useRef(Q);const ee=AXe(H,!0),$=he=>{ee(),s==null||s(he)},q=he=>{ee(),c==null||c(he)},le=he=>{ee(),C==null||C(he)},ie=(Y||u)&&Se.createElement(Se.Fragment,null,u,Y&&_),pe=yXe(d??(P==null?void 0:P.allowClear)),[ne,Z]=IH(v,i);return E(Se.createElement(RWt,Object.assign({ref:q2(e,H),prefixCls:R,autoComplete:P==null?void 0:P.autoComplete},S,{disabled:N,onBlur:$,onFocus:q,style:Object.assign(Object.assign({},P==null?void 0:P.style),y),styles:Object.assign(Object.assign({},P==null?void 0:P.styles),A),suffix:ie,allowClear:pe,className:Gn(g,x,U,D,W,P==null?void 0:P.className),onChange:le,addonAfter:f&&Se.createElement(k9,null,Se.createElement(rR,{override:!0,status:!0},f)),addonBefore:p&&Se.createElement(k9,null,Se.createElement(rR,{override:!0,status:!0},p)),classNames:Object.assign(Object.assign(Object.assign({},b),P==null?void 0:P.classNames),{input:Gn({[`${R}-sm`]:B==="small",[`${R}-lg`]:B==="large",[`${R}-rtl`]:T==="rtl"},b==null?void 0:b.input,(n=P==null?void 0:P.classNames)===null||n===void 0?void 0:n.input,L),variant:Gn({[`${R}-${ne}`]:Z},o7(R,J)),affixWrapper:Gn({[`${R}-affix-wrapper-sm`]:B==="small",[`${R}-affix-wrapper-lg`]:B==="large",[`${R}-affix-wrapper-rtl`]:T==="rtl"},L),wrapper:Gn({[`${R}-group-rtl`]:T==="rtl"},L),groupWrapper:Gn({[`${R}-group-wrapper-sm`]:B==="small",[`${R}-group-wrapper-lg`]:B==="large",[`${R}-group-wrapper-rtl`]:T==="rtl",[`${R}-group-wrapper-${ne}`]:Z},o7(`${R}-group-wrapper`,J,Y),L)})})))}),XWt=t=>{const{componentCls:e,paddingXS:n}=t;return{[`${e}`]:{display:"inline-flex",alignItems:"center",flexWrap:"nowrap",columnGap:n,"&-rtl":{direction:"rtl"},[`${e}-input`]:{textAlign:"center",paddingInline:t.paddingXXS},[`&${e}-sm ${e}-input`]:{paddingInline:t.calc(t.paddingXXS).div(2).equal()},[`&${e}-lg ${e}-input`]:{paddingInline:t.paddingXS}}}},JWt=Fl(["Input","OTP"],t=>{const e=Zr(t,DW(t));return[XWt(e)]},EW);var KWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{value:n,onChange:o,onActiveChange:i,index:r,mask:a}=t,l=KWt(t,["value","onChange","onActiveChange","index","mask"]),s=n&&typeof a=="string"?a:n,c=g=>{o(r,g.target.value)},u=m.useRef(null);m.useImperativeHandle(e,()=>u.current);const d=()=>{Pg(()=>{var g;const y=(g=u.current)===null||g===void 0?void 0:g.input;document.activeElement===y&&y&&y.select()})},f=g=>{let{key:y}=g;y==="ArrowLeft"?i(r-1):y==="ArrowRight"&&i(r+1),d()},p=g=>{g.key==="Backspace"&&!n&&i(r-1),d()};return m.createElement(F$,Object.assign({},l,{ref:u,value:s,onInput:c,onFocus:d,onKeyDown:f,onKeyUp:p,onMouseDown:d,onMouseUp:d,type:a===!0?"password":"text"}))});var $Wt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,length:o=6,size:i,defaultValue:r,value:a,onChange:l,formatter:s,variant:c,disabled:u,status:d,autoFocus:f,mask:p}=t,g=$Wt(t,["prefixCls","length","size","defaultValue","value","onChange","formatter","variant","disabled","status","autoFocus","mask"]),{getPrefixCls:y,direction:A}=m.useContext(Mi),x=y("otp",n),C=jge(g,{aria:!0,data:!0,attr:!0}),b=j0(x),[v,S,w]=JWt(x,b),T=Cd(Y=>i??Y),P=m.useContext($p),R=Mb(P.status,d),H=m.useMemo(()=>Object.assign(Object.assign({},P),{status:R,hasFeedback:!1,feedbackIcon:null}),[P,R]),D=m.useRef(null),E=m.useRef({});m.useImperativeHandle(e,()=>({focus:()=>{var Y;(Y=E.current[0])===null||Y===void 0||Y.focus()},blur:()=>{var Y;for(let _=0;_s?s(Y):Y,[U,F]=m.useState(xY(L(r||"")));m.useEffect(()=>{a!==void 0&&F(xY(a))},[a]);const W=O6(Y=>{F(Y),l&&Y.length===o&&Y.every(_=>_)&&Y.some((_,J)=>U[J]!==_)&&l(Y.join(""))}),B=O6((Y,_)=>{let J=Xa(U);for(let ee=0;ee=0&&!J[ee];ee-=1)J.pop();const Q=L(J.map(ee=>ee||" ").join(""));return J=xY(Q).map((ee,$)=>ee===" "&&!J[$]?J[$]:ee),J}),k=(Y,_)=>{var J;const Q=B(Y,_),ee=Math.min(Y+_.length,o-1);ee!==Y&&((J=E.current[ee])===null||J===void 0||J.focus()),W(Q)},N=Y=>{var _;(_=E.current[Y])===null||_===void 0||_.focus()},j={variant:c,disabled:u,status:R,mask:p};return v(m.createElement("div",Object.assign({},C,{ref:D,className:Gn(x,{[`${x}-sm`]:T==="small",[`${x}-lg`]:T==="large",[`${x}-rtl`]:A==="rtl"},w,S)}),m.createElement($p.Provider,{value:H},Array.from({length:o}).map((Y,_)=>{const J=`otp-${_}`,Q=U[_]||"";return m.createElement(qWt,Object.assign({ref:ee=>{E.current[_]=ee},key:J,index:_,size:T,htmlSize:1,className:`${x}-input`,onChange:k,value:Q,onActiveChange:N,autoFocus:_===0&&f},j))}))))});var ZWt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},eNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ZWt}))},tNt=m.forwardRef(eNt),nNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},oNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:nNt}))},iNt=m.forwardRef(oNt),rNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);it?m.createElement(iNt,null):m.createElement(tNt,null),lNt={click:"onClick",hover:"onMouseOver"},sNt=m.forwardRef((t,e)=>{const{disabled:n,action:o="click",visibilityToggle:i=!0,iconRender:r=aNt}=t,a=typeof i=="object"&&i.visible!==void 0,[l,s]=m.useState(()=>a?i.visible:!1),c=m.useRef(null);m.useEffect(()=>{a&&s(i.visible)},[a,i]);const u=AXe(c),d=()=>{n||(l&&u(),s(P=>{var R;const H=!P;return typeof i=="object"&&((R=i.onVisibleChange)===null||R===void 0||R.call(i,H)),H}))},f=P=>{const R=lNt[o]||"",H=r(l),D={[R]:d,className:`${P}-icon`,key:"passwordIcon",onMouseDown:E=>{E.preventDefault()},onMouseUp:E=>{E.preventDefault()}};return m.cloneElement(m.isValidElement(H)?H:m.createElement("span",null,H),D)},{className:p,prefixCls:g,inputPrefixCls:y,size:A}=t,x=rNt(t,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:C}=m.useContext(Mi),b=C("input",y),v=C("input-password",g),S=i&&f(v),w=Gn(v,p,{[`${v}-${A}`]:!!A}),T=Object.assign(Object.assign({},lp(x,["suffix","iconRender","visibilityToggle"])),{type:l?"text":"password",className:w,prefixCls:b,suffix:S});return A&&(T.size=A),m.createElement(F$,Object.assign({ref:q2(e,c)},T))});var cNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,inputPrefixCls:o,className:i,size:r,suffix:a,enterButton:l=!1,addonAfter:s,loading:c,disabled:u,onSearch:d,onChange:f,onCompositionStart:p,onCompositionEnd:g}=t,y=cNt(t,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:A,direction:x}=m.useContext(Mi),C=m.useRef(!1),b=A("input-search",n),v=A("input",o),{compactSize:S}=F7(b,x),w=Cd(j=>{var Y;return(Y=r??S)!==null&&Y!==void 0?Y:j}),T=m.useRef(null),P=j=>{j&&j.target&&j.type==="click"&&d&&d(j.target.value,j,{source:"clear"}),f&&f(j)},R=j=>{var Y;document.activeElement===((Y=T.current)===null||Y===void 0?void 0:Y.input)&&j.preventDefault()},H=j=>{var Y,_;d&&d((_=(Y=T.current)===null||Y===void 0?void 0:Y.input)===null||_===void 0?void 0:_.value,j,{source:"input"})},D=j=>{C.current||c||H(j)},E=typeof l=="boolean"?m.createElement(ime,null):null,L=`${b}-button`;let U;const F=l||{},W=F.type&&F.type.__ANT_BUTTON===!0;W||F.type==="button"?U=Ou(F,Object.assign({onMouseDown:R,onClick:j=>{var Y,_;(_=(Y=F==null?void 0:F.props)===null||Y===void 0?void 0:Y.onClick)===null||_===void 0||_.call(Y,j),H(j)},key:"enterButton"},W?{className:L,size:w}:{})):U=m.createElement(no,{className:L,type:l?"primary":void 0,size:w,disabled:u,key:"enterButton",onMouseDown:R,onClick:H,loading:c,icon:E},l),s&&(U=[U,Ou(s,{key:"addonAfter"})]);const B=Gn(b,{[`${b}-rtl`]:x==="rtl",[`${b}-${w}`]:!!w,[`${b}-with-button`]:!!l},i),k=j=>{C.current=!0,p==null||p(j)},N=j=>{C.current=!1,g==null||g(j)};return m.createElement(F$,Object.assign({ref:q2(T,e),onPressEnter:D},y,{size:w,onCompositionStart:k,onCompositionEnd:N,prefixCls:v,addonAfter:U,suffix:a,onChange:P,className:B,disabled:u}))});var dNt=` + `]:{color:v}})}]},WWt=t=>{const{componentCls:e,paddingBlock:n,paddingInline:o,inputAffixPadding:i,controlWidth:r,borderRadiusLG:a,borderRadiusSM:l,paddingInlineLG:s,paddingInlineSM:c,paddingBlockLG:u,paddingBlockSM:d}=t;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign({[`input${e}-input`]:{padding:`${Ut(n)} 0`}},kW(t)),{position:"relative",display:"inline-flex",width:r,padding:0,paddingInlineStart:o,"&-lg":{borderRadius:a,paddingInlineStart:s,[`input${e}-input`]:{padding:`${Ut(u)} 0`}},"&-sm":{borderRadius:l,paddingInlineStart:c,[`input${e}-input`]:{padding:`${Ut(d)} 0`}},[`&:not(${e}-disabled):hover`]:{zIndex:1},"&-focused, &:focus":{zIndex:1},[`&-disabled > ${e}-disabled`]:{background:"transparent"},[`> div${e}`]:{width:"100%",border:"none",outline:"none",[`&${e}-focused`]:{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}-handler-wrap`]:{zIndex:2},[e]:{color:"inherit","&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:i},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:o,marginInlineStart:i}}})}},NWt=Fl("InputNumber",t=>{const e=Zr(t,DW(t));return[LWt(e),WWt(e),vW(e)]},FWt,{unitless:{handleOpacity:!0}});var UWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n,direction:o}=m.useContext(Mi),i=m.useRef(null);m.useImperativeHandle(e,()=>i.current);const{className:r,rootClassName:a,size:l,disabled:s,prefixCls:c,addonBefore:u,addonAfter:d,prefix:f,bordered:p,readOnly:g,status:y,controls:A,variant:x}=t,C=UWt(t,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls","variant"]),b=n("input-number",c),v=j0(b),[S,w,T]=NWt(b,v),{compactSize:P,compactItemClassnames:R}=F7(b,o);let H=m.createElement(AWt,{className:`${b}-handler-up-inner`}),D=m.createElement(ome,{className:`${b}-handler-down-inner`});const E=typeof A=="boolean"?A:void 0;typeof A=="object"&&(H=typeof A.upIcon>"u"?H:m.createElement("span",{className:`${b}-handler-up-inner`},A.upIcon),D=typeof A.downIcon>"u"?D:m.createElement("span",{className:`${b}-handler-down-inner`},A.downIcon));const{hasFeedback:L,status:U,isFormItemInput:F,feedbackIcon:W}=m.useContext(Qp),B=Mb(U,y),k=Cd(q=>{var le;return(le=l??P)!==null&&le!==void 0?le:q}),N=m.useContext($p),j=s??N,[Y,_]=IH(x,p),J=L&&m.createElement(m.Fragment,null,W),Q=Gn({[`${b}-lg`]:k==="large",[`${b}-sm`]:k==="small",[`${b}-rtl`]:o==="rtl",[`${b}-in-form-item`]:F},w),ee=`${b}-group`,$=m.createElement(gXe,Object.assign({ref:i,disabled:j,className:Gn(T,v,r,a,R),upHandler:H,downHandler:D,prefixCls:b,readOnly:g,controls:E,prefix:f,suffix:J,addonAfter:d&&m.createElement(k9,null,m.createElement(rR,{override:!0,status:!0},d)),addonBefore:u&&m.createElement(k9,null,m.createElement(rR,{override:!0,status:!0},u)),classNames:{input:Q,variant:Gn({[`${b}-${Y}`]:_},o7(b,B,L)),affixWrapper:Gn({[`${b}-affix-wrapper-sm`]:k==="small",[`${b}-affix-wrapper-lg`]:k==="large",[`${b}-affix-wrapper-rtl`]:o==="rtl"},w),wrapper:Gn({[`${ee}-rtl`]:o==="rtl"},w),groupWrapper:Gn({[`${b}-group-wrapper-sm`]:k==="small",[`${b}-group-wrapper-lg`]:k==="large",[`${b}-group-wrapper-rtl`]:o==="rtl",[`${b}-group-wrapper-${Y}`]:_},o7(`${b}-group-wrapper`,B,L),w)}},C));return S($)}),Hn=mXe,BWt=t=>m.createElement(iy,{theme:{components:{InputNumber:{handleVisible:!0}}}},m.createElement(mXe,Object.assign({},t)));Hn._InternalPanelDoNotUseOrYouWillBeFired=BWt;const jWt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,className:i}=t,r=e("input-group",o),a=e("input"),[l,s]=Rme(a),c=Gn(r,{[`${r}-lg`]:t.size==="large",[`${r}-sm`]:t.size==="small",[`${r}-compact`]:t.compact,[`${r}-rtl`]:n==="rtl"},s,i),u=m.useContext(Qp),d=m.useMemo(()=>Object.assign(Object.assign({},u),{isFormItemInput:!1}),[u]);return l(m.createElement("span",{className:c,style:t.style,onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,onFocus:t.onFocus,onBlur:t.onBlur},m.createElement(Qp.Provider,{value:d},t.children)))},yXe=t=>{let e;return typeof t=="object"&&(t!=null&&t.clearIcon)?e=t:t&&(e={clearIcon:Se.createElement(a$,null)}),e};function AXe(t,e){const n=m.useRef([]),o=()=>{n.current.push(setTimeout(()=>{var i,r,a,l;!((i=t.current)===null||i===void 0)&&i.input&&((r=t.current)===null||r===void 0?void 0:r.input.getAttribute("type"))==="password"&&(!((a=t.current)===null||a===void 0)&&a.input.hasAttribute("value"))&&((l=t.current)===null||l===void 0||l.input.removeAttribute("value"))}))};return m.useEffect(()=>(e&&o(),()=>n.current.forEach(i=>{i&&clearTimeout(i)})),[]),o}function YWt(t){return!!(t.prefix||t.suffix||t.allowClear||t.showCount)}var OWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,bordered:i=!0,status:r,size:a,disabled:l,onBlur:s,onFocus:c,suffix:u,allowClear:d,addonAfter:f,addonBefore:p,className:g,style:y,styles:A,rootClassName:x,onChange:C,classNames:b,variant:v}=t,S=OWt(t,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames","variant"]),{getPrefixCls:w,direction:T,input:P}=Se.useContext(Mi),R=w("input",o),H=m.useRef(null),D=j0(R),[E,L,U]=Rme(R,D),{compactSize:F,compactItemClassnames:W}=F7(R,T),B=Cd(he=>{var fe;return(fe=a??F)!==null&&fe!==void 0?fe:he}),k=Se.useContext($p),N=l??k,{status:j,hasFeedback:Y,feedbackIcon:_}=m.useContext(Qp),J=Mb(j,r),Q=YWt(t)||!!Y;m.useRef(Q);const ee=AXe(H,!0),$=he=>{ee(),s==null||s(he)},q=he=>{ee(),c==null||c(he)},le=he=>{ee(),C==null||C(he)},ie=(Y||u)&&Se.createElement(Se.Fragment,null,u,Y&&_),pe=yXe(d??(P==null?void 0:P.allowClear)),[ne,Z]=IH(v,i);return E(Se.createElement(PWt,Object.assign({ref:q2(e,H),prefixCls:R,autoComplete:P==null?void 0:P.autoComplete},S,{disabled:N,onBlur:$,onFocus:q,style:Object.assign(Object.assign({},P==null?void 0:P.style),y),styles:Object.assign(Object.assign({},P==null?void 0:P.styles),A),suffix:ie,allowClear:pe,className:Gn(g,x,U,D,W,P==null?void 0:P.className),onChange:le,addonAfter:f&&Se.createElement(k9,null,Se.createElement(rR,{override:!0,status:!0},f)),addonBefore:p&&Se.createElement(k9,null,Se.createElement(rR,{override:!0,status:!0},p)),classNames:Object.assign(Object.assign(Object.assign({},b),P==null?void 0:P.classNames),{input:Gn({[`${R}-sm`]:B==="small",[`${R}-lg`]:B==="large",[`${R}-rtl`]:T==="rtl"},b==null?void 0:b.input,(n=P==null?void 0:P.classNames)===null||n===void 0?void 0:n.input,L),variant:Gn({[`${R}-${ne}`]:Z},o7(R,J)),affixWrapper:Gn({[`${R}-affix-wrapper-sm`]:B==="small",[`${R}-affix-wrapper-lg`]:B==="large",[`${R}-affix-wrapper-rtl`]:T==="rtl"},L),wrapper:Gn({[`${R}-group-rtl`]:T==="rtl"},L),groupWrapper:Gn({[`${R}-group-wrapper-sm`]:B==="small",[`${R}-group-wrapper-lg`]:B==="large",[`${R}-group-wrapper-rtl`]:T==="rtl",[`${R}-group-wrapper-${ne}`]:Z},o7(`${R}-group-wrapper`,J,Y),L)})})))}),VWt=t=>{const{componentCls:e,paddingXS:n}=t;return{[`${e}`]:{display:"inline-flex",alignItems:"center",flexWrap:"nowrap",columnGap:n,"&-rtl":{direction:"rtl"},[`${e}-input`]:{textAlign:"center",paddingInline:t.paddingXXS},[`&${e}-sm ${e}-input`]:{paddingInline:t.calc(t.paddingXXS).div(2).equal()},[`&${e}-lg ${e}-input`]:{paddingInline:t.paddingXS}}}},GWt=Fl(["Input","OTP"],t=>{const e=Zr(t,DW(t));return[VWt(e)]},EW);var XWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{value:n,onChange:o,onActiveChange:i,index:r,mask:a}=t,l=XWt(t,["value","onChange","onActiveChange","index","mask"]),s=n&&typeof a=="string"?a:n,c=g=>{o(r,g.target.value)},u=m.useRef(null);m.useImperativeHandle(e,()=>u.current);const d=()=>{Pg(()=>{var g;const y=(g=u.current)===null||g===void 0?void 0:g.input;document.activeElement===y&&y&&y.select()})},f=g=>{let{key:y}=g;y==="ArrowLeft"?i(r-1):y==="ArrowRight"&&i(r+1),d()},p=g=>{g.key==="Backspace"&&!n&&i(r-1),d()};return m.createElement(F$,Object.assign({},l,{ref:u,value:s,onInput:c,onFocus:d,onKeyDown:f,onKeyUp:p,onMouseDown:d,onMouseUp:d,type:a===!0?"password":"text"}))});var KWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,length:o=6,size:i,defaultValue:r,value:a,onChange:l,formatter:s,variant:c,disabled:u,status:d,autoFocus:f,mask:p}=t,g=KWt(t,["prefixCls","length","size","defaultValue","value","onChange","formatter","variant","disabled","status","autoFocus","mask"]),{getPrefixCls:y,direction:A}=m.useContext(Mi),x=y("otp",n),C=jge(g,{aria:!0,data:!0,attr:!0}),b=j0(x),[v,S,w]=GWt(x,b),T=Cd(Y=>i??Y),P=m.useContext(Qp),R=Mb(P.status,d),H=m.useMemo(()=>Object.assign(Object.assign({},P),{status:R,hasFeedback:!1,feedbackIcon:null}),[P,R]),D=m.useRef(null),E=m.useRef({});m.useImperativeHandle(e,()=>({focus:()=>{var Y;(Y=E.current[0])===null||Y===void 0||Y.focus()},blur:()=>{var Y;for(let _=0;_s?s(Y):Y,[U,F]=m.useState(xY(L(r||"")));m.useEffect(()=>{a!==void 0&&F(xY(a))},[a]);const W=O6(Y=>{F(Y),l&&Y.length===o&&Y.every(_=>_)&&Y.some((_,J)=>U[J]!==_)&&l(Y.join(""))}),B=O6((Y,_)=>{let J=Xa(U);for(let ee=0;ee=0&&!J[ee];ee-=1)J.pop();const Q=L(J.map(ee=>ee||" ").join(""));return J=xY(Q).map((ee,$)=>ee===" "&&!J[$]?J[$]:ee),J}),k=(Y,_)=>{var J;const Q=B(Y,_),ee=Math.min(Y+_.length,o-1);ee!==Y&&((J=E.current[ee])===null||J===void 0||J.focus()),W(Q)},N=Y=>{var _;(_=E.current[Y])===null||_===void 0||_.focus()},j={variant:c,disabled:u,status:R,mask:p};return v(m.createElement("div",Object.assign({},C,{ref:D,className:Gn(x,{[`${x}-sm`]:T==="small",[`${x}-lg`]:T==="large",[`${x}-rtl`]:A==="rtl"},w,S)}),m.createElement(Qp.Provider,{value:H},Array.from({length:o}).map((Y,_)=>{const J=`otp-${_}`,Q=U[_]||"";return m.createElement(JWt,Object.assign({ref:ee=>{E.current[_]=ee},key:J,index:_,size:T,htmlSize:1,className:`${x}-input`,onChange:k,value:Q,onActiveChange:N,autoFocus:_===0&&f},j))}))))});var $Wt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},QWt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:$Wt}))},ZWt=m.forwardRef(QWt),eNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},tNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:eNt}))},nNt=m.forwardRef(tNt),oNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);it?m.createElement(nNt,null):m.createElement(ZWt,null),rNt={click:"onClick",hover:"onMouseOver"},aNt=m.forwardRef((t,e)=>{const{disabled:n,action:o="click",visibilityToggle:i=!0,iconRender:r=iNt}=t,a=typeof i=="object"&&i.visible!==void 0,[l,s]=m.useState(()=>a?i.visible:!1),c=m.useRef(null);m.useEffect(()=>{a&&s(i.visible)},[a,i]);const u=AXe(c),d=()=>{n||(l&&u(),s(P=>{var R;const H=!P;return typeof i=="object"&&((R=i.onVisibleChange)===null||R===void 0||R.call(i,H)),H}))},f=P=>{const R=rNt[o]||"",H=r(l),D={[R]:d,className:`${P}-icon`,key:"passwordIcon",onMouseDown:E=>{E.preventDefault()},onMouseUp:E=>{E.preventDefault()}};return m.cloneElement(m.isValidElement(H)?H:m.createElement("span",null,H),D)},{className:p,prefixCls:g,inputPrefixCls:y,size:A}=t,x=oNt(t,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:C}=m.useContext(Mi),b=C("input",y),v=C("input-password",g),S=i&&f(v),w=Gn(v,p,{[`${v}-${A}`]:!!A}),T=Object.assign(Object.assign({},lp(x,["suffix","iconRender","visibilityToggle"])),{type:l?"text":"password",className:w,prefixCls:b,suffix:S});return A&&(T.size=A),m.createElement(F$,Object.assign({ref:q2(e,c)},T))});var lNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,inputPrefixCls:o,className:i,size:r,suffix:a,enterButton:l=!1,addonAfter:s,loading:c,disabled:u,onSearch:d,onChange:f,onCompositionStart:p,onCompositionEnd:g}=t,y=lNt(t,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:A,direction:x}=m.useContext(Mi),C=m.useRef(!1),b=A("input-search",n),v=A("input",o),{compactSize:S}=F7(b,x),w=Cd(j=>{var Y;return(Y=r??S)!==null&&Y!==void 0?Y:j}),T=m.useRef(null),P=j=>{j&&j.target&&j.type==="click"&&d&&d(j.target.value,j,{source:"clear"}),f&&f(j)},R=j=>{var Y;document.activeElement===((Y=T.current)===null||Y===void 0?void 0:Y.input)&&j.preventDefault()},H=j=>{var Y,_;d&&d((_=(Y=T.current)===null||Y===void 0?void 0:Y.input)===null||_===void 0?void 0:_.value,j,{source:"input"})},D=j=>{C.current||c||H(j)},E=typeof l=="boolean"?m.createElement(ime,null):null,L=`${b}-button`;let U;const F=l||{},W=F.type&&F.type.__ANT_BUTTON===!0;W||F.type==="button"?U=Ou(F,Object.assign({onMouseDown:R,onClick:j=>{var Y,_;(_=(Y=F==null?void 0:F.props)===null||Y===void 0?void 0:Y.onClick)===null||_===void 0||_.call(Y,j),H(j)},key:"enterButton"},W?{className:L,size:w}:{})):U=m.createElement(no,{className:L,type:l?"primary":void 0,size:w,disabled:u,key:"enterButton",onMouseDown:R,onClick:H,loading:c,icon:E},l),s&&(U=[U,Ou(s,{key:"addonAfter"})]);const B=Gn(b,{[`${b}-rtl`]:x==="rtl",[`${b}-${w}`]:!!w,[`${b}-with-button`]:!!l},i),k=j=>{C.current=!0,p==null||p(j)},N=j=>{C.current=!1,g==null||g(j)};return m.createElement(F$,Object.assign({ref:q2(T,e),onPressEnter:D},y,{size:w,onCompositionStart:k,onCompositionEnd:N,prefixCls:v,addonAfter:U,suffix:a,onChange:P,className:B,disabled:u}))});var cNt=` min-height:0 !important; max-height:none !important; height:0 !important; @@ -4628,14 +4628,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho top:0 !important; right:0 !important; pointer-events: none !important; -`,fNt=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],Bie={},cm;function hNt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=t.getAttribute("id")||t.getAttribute("data-reactid")||t.getAttribute("name");if(e&&Bie[n])return Bie[n];var o=window.getComputedStyle(t),i=o.getPropertyValue("box-sizing")||o.getPropertyValue("-moz-box-sizing")||o.getPropertyValue("-webkit-box-sizing"),r=parseFloat(o.getPropertyValue("padding-bottom"))+parseFloat(o.getPropertyValue("padding-top")),a=parseFloat(o.getPropertyValue("border-bottom-width"))+parseFloat(o.getPropertyValue("border-top-width")),l=fNt.map(function(c){return"".concat(c,":").concat(o.getPropertyValue(c))}).join(";"),s={sizingStyle:l,paddingSize:r,borderSize:a,boxSizing:i};return e&&n&&(Bie[n]=s),s}function pNt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;cm||(cm=document.createElement("textarea"),cm.setAttribute("tab-index","-1"),cm.setAttribute("aria-hidden","true"),document.body.appendChild(cm)),t.getAttribute("wrap")?cm.setAttribute("wrap",t.getAttribute("wrap")):cm.removeAttribute("wrap");var i=hNt(t,e),r=i.paddingSize,a=i.borderSize,l=i.boxSizing,s=i.sizingStyle;cm.setAttribute("style","".concat(s,";").concat(dNt)),cm.value=t.value||t.placeholder||"";var c=void 0,u=void 0,d,f=cm.scrollHeight;if(l==="border-box"?f+=a:l==="content-box"&&(f-=r),n!==null||o!==null){cm.value=" ";var p=cm.scrollHeight-r;n!==null&&(c=p*n,l==="border-box"&&(c=c+r+a),f=Math.max(c,f)),o!==null&&(u=p*o,l==="border-box"&&(u=u+r+a),d=f>u?"":"hidden",f=Math.min(u,f))}var g={height:f,overflowY:d,resize:"none"};return c&&(g.minHeight=c),u&&(g.maxHeight=u),g}var gNt=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],jie=0,Yie=1,Oie=2,mNt=m.forwardRef(function(t,e){var n=t,o=n.prefixCls;n.onPressEnter;var i=n.defaultValue,r=n.value,a=n.autoSize,l=n.onResize,s=n.className,c=n.style,u=n.disabled,d=n.onChange;n.onInternalAutoSize;var f=ir(n,gNt),p=Rs(i,{value:r,postState:function(Q){return Q??""}}),g=on(p,2),y=g[0],A=g[1],x=function(Q){A(Q.target.value),d==null||d(Q)},C=m.useRef();m.useImperativeHandle(e,function(){return{textArea:C.current}});var b=m.useMemo(function(){return a&&gr(a)==="object"?[a.minRows,a.maxRows]:[]},[a]),v=on(b,2),S=v[0],w=v[1],T=!!a,P=function(){try{if(document.activeElement===C.current){var Q=C.current,ee=Q.selectionStart,$=Q.selectionEnd,q=Q.scrollTop;C.current.setSelectionRange(ee,$),C.current.scrollTop=q}}catch{}},R=m.useState(Oie),H=on(R,2),D=H[0],E=H[1],L=m.useState(),U=on(L,2),F=U[0],W=U[1],B=function(){E(jie)};Ba(function(){T&&B()},[r,S,w,T]),Ba(function(){if(D===jie)E(Yie);else if(D===Yie){var J=pNt(C.current,!1,S,w);E(Oie),W(J)}else P()},[D]);var k=m.useRef(),N=function(){za.cancel(k.current)},j=function(Q){D===Oie&&(l==null||l(Q),a&&(N(),k.current=za(function(){B()})))};m.useEffect(function(){return N},[]);var Y=T?F:null,_=$t($t({},c),Y);return(D===jie||D===Yie)&&(_.overflowY="hidden",_.overflowX="hidden"),m.createElement(xd,{onResize:j,disabled:!(a||l)},m.createElement("textarea",so({},f,{ref:C,style:_,className:Vn(o,s,_t({},"".concat(o,"-disabled"),u)),disabled:u,value:y,onChange:x})))}),yNt=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize"],ANt=Se.forwardRef(function(t,e){var n,o,i=t.defaultValue,r=t.value,a=t.onFocus,l=t.onBlur,s=t.onChange,c=t.allowClear,u=t.maxLength,d=t.onCompositionStart,f=t.onCompositionEnd,p=t.suffix,g=t.prefixCls,y=g===void 0?"rc-textarea":g,A=t.showCount,x=t.count,C=t.className,b=t.style,v=t.disabled,S=t.hidden,w=t.classNames,T=t.styles,P=t.onResize,R=ir(t,yNt),H=Rs(i,{value:r,defaultValue:i}),D=on(H,2),E=D[0],L=D[1],U=E==null?"":String(E),F=Se.useState(!1),W=on(F,2),B=W[0],k=W[1],N=Se.useRef(!1),j=Se.useState(null),Y=on(j,2),_=Y[0],J=Y[1],Q=m.useRef(null),ee=function(){var Ie;return(Ie=Q.current)===null||Ie===void 0?void 0:Ie.textArea},$=function(){ee().focus()};m.useImperativeHandle(e,function(){return{resizableTextArea:Q.current,focus:$,blur:function(){ee().blur()}}}),m.useEffect(function(){k(function(Te){return!v&&Te})},[v]);var q=Se.useState(null),le=on(q,2),ie=le[0],pe=le[1];Se.useEffect(function(){if(ie){var Te;(Te=ee()).setSelectionRange.apply(Te,Wo(ie))}},[ie]);var ne=pXe(x,A),Z=(n=ne.max)!==null&&n!==void 0?n:u,he=Number(Z)>0,fe=ne.strategy(U),se=!!Z&&fe>Z,oe=function(Ie,Ce){var Ee=Ce;!N.current&&ne.exceedFormatter&&ne.max&&ne.strategy(Ce)>ne.max&&(Ee=ne.exceedFormatter(Ce,{max:ne.max}),Ce!==Ee&&pe([ee().selectionStart||0,ee().selectionEnd||0])),L(Ee),MG(Ie.currentTarget,Ie,s,Ee)},de=function(Ie){N.current=!0,d==null||d(Ie)},ve=function(Ie){N.current=!1,oe(Ie,Ie.currentTarget.value),f==null||f(Ie)},Pe=function(Ie){oe(Ie,Ie.target.value)},me=function(Ie){var Ce=R.onPressEnter,Ee=R.onKeyDown;Ie.key==="Enter"&&Ce&&Ce(Ie),Ee==null||Ee(Ie)},Re=function(Ie){k(!0),a==null||a(Ie)},ze=function(Ie){k(!1),l==null||l(Ie)},Ae=function(Ie){L(""),$(),MG(ee(),Ie,s)},re=p,ge;ne.show&&(ne.showFormatter?ge=ne.showFormatter({value:U,count:fe,maxLength:Z}):ge="".concat(fe).concat(he?" / ".concat(Z):""),re=Se.createElement(Se.Fragment,null,re,Se.createElement("span",{className:Vn("".concat(y,"-data-count"),w==null?void 0:w.count),style:T==null?void 0:T.count},ge)));var we=function(Ie){var Ce;P==null||P(Ie),(Ce=ee())!==null&&Ce!==void 0&&Ce.style.height&&J(!0)},ye=!R.autoSize&&!A&&!c;return Se.createElement(Dme,{value:U,allowClear:c,handleReset:Ae,suffix:re,prefixCls:y,classNames:$t($t({},w),{},{affixWrapper:Vn(w==null?void 0:w.affixWrapper,(o={},_t(o,"".concat(y,"-show-count"),A),_t(o,"".concat(y,"-textarea-allow-clear"),c),o))}),disabled:v,focused:B,className:Vn(C,se&&"".concat(y,"-out-of-range")),style:$t($t({},b),_&&!ye?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof ge=="string"?ge:void 0}},hidden:S},Se.createElement(mNt,so({},R,{maxLength:u,onKeyDown:me,onChange:Pe,onFocus:Re,onBlur:ze,onCompositionStart:de,onCompositionEnd:ve,className:Vn(w==null?void 0:w.textarea),style:$t($t({},T==null?void 0:T.textarea),{},{resize:b==null?void 0:b.resize}),disabled:v,prefixCls:y,onResize:we,ref:Q})))}),wNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const{prefixCls:i,bordered:r=!0,size:a,disabled:l,status:s,allowClear:c,classNames:u,rootClassName:d,className:f,style:p,styles:g,variant:y}=t,A=wNt(t,["prefixCls","bordered","size","disabled","status","allowClear","classNames","rootClassName","className","style","styles","variant"]),{getPrefixCls:x,direction:C,textArea:b}=m.useContext(Mi),v=Cd(a),S=m.useContext(qp),w=l??S,{status:T,hasFeedback:P,feedbackIcon:R}=m.useContext($p),H=Mb(T,s),D=m.useRef(null);m.useImperativeHandle(e,()=>{var j;return{resizableTextArea:(j=D.current)===null||j===void 0?void 0:j.resizableTextArea,focus:Y=>{var _,J;GWt((J=(_=D.current)===null||_===void 0?void 0:_.resizableTextArea)===null||J===void 0?void 0:J.textArea,Y)},blur:()=>{var Y;return(Y=D.current)===null||Y===void 0?void 0:Y.blur()}}});const E=x("input",i),L=j0(E),[U,F,W]=Rme(E,L),[B,k]=IH(y,r),N=yXe(c??(b==null?void 0:b.allowClear));return U(m.createElement(ANt,Object.assign({autoComplete:b==null?void 0:b.autoComplete},A,{style:Object.assign(Object.assign({},b==null?void 0:b.style),p),styles:Object.assign(Object.assign({},b==null?void 0:b.styles),g),disabled:w,allowClear:N,className:Gn(W,L,f,d,b==null?void 0:b.className),classNames:Object.assign(Object.assign(Object.assign({},u),b==null?void 0:b.classNames),{textarea:Gn({[`${E}-sm`]:v==="small",[`${E}-lg`]:v==="large"},F,u==null?void 0:u.textarea,(n=b==null?void 0:b.classNames)===null||n===void 0?void 0:n.textarea),variant:Gn({[`${E}-${B}`]:k},o7(E,H)),affixWrapper:Gn(`${E}-textarea-affix-wrapper`,{[`${E}-affix-wrapper-rtl`]:C==="rtl",[`${E}-affix-wrapper-sm`]:v==="small",[`${E}-affix-wrapper-lg`]:v==="large",[`${E}-textarea-show-count`]:t.showCount||((o=t.count)===null||o===void 0?void 0:o.show)},F)}),prefixCls:E,suffix:P&&m.createElement("span",{className:`${E}-textarea-suffix`},R),ref:D})))}),ns=F$;ns.Group=OWt;ns.Search=uNt;ns.TextArea=wXe;ns.Password=sNt;ns.OTP=QWt;var vNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},xNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:vNt}))},vXe=m.forwardRef(xNt),bNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},SNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:bNt}))},xXe=m.forwardRef(SNt),TNt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"},PNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:TNt}))},CNt=m.forwardRef(PNt);function RNt(t,e,n){return n!==void 0?n:e==="year"&&t.lang.yearPlaceholder?t.lang.yearPlaceholder:e==="quarter"&&t.lang.quarterPlaceholder?t.lang.quarterPlaceholder:e==="month"&&t.lang.monthPlaceholder?t.lang.monthPlaceholder:e==="week"&&t.lang.weekPlaceholder?t.lang.weekPlaceholder:e==="time"&&t.timePickerLocale.placeholder?t.timePickerLocale.placeholder:t.lang.placeholder}function HNt(t,e,n){return n!==void 0?n:e==="year"&&t.lang.yearPlaceholder?t.lang.rangeYearPlaceholder:e==="quarter"&&t.lang.quarterPlaceholder?t.lang.rangeQuarterPlaceholder:e==="month"&&t.lang.monthPlaceholder?t.lang.rangeMonthPlaceholder:e==="week"&&t.lang.weekPlaceholder?t.lang.rangeWeekPlaceholder:e==="time"&&t.timePickerLocale.placeholder?t.timePickerLocale.rangePlaceholder:t.lang.rangePlaceholder}function Eme(t,e){const n={adjustX:1,adjustY:1};switch(e){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:n};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:n};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:n};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:n};default:return{points:t==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:n}}}function bXe(t,e){const{allowClear:n=!0}=t,{clearIcon:o,removeIcon:i}=IVe(Object.assign(Object.assign({},t),{prefixCls:e,componentName:"DatePicker"}));return[m.useMemo(()=>n===!1?!1:Object.assign({clearIcon:o},n===!0?{}:n),[n,o]),i]}function MNt(t){return m.createElement(no,Object.assign({size:"small",type:"primary"},t))}function SXe(t){return m.useMemo(()=>Object.assign({button:MNt},t),[t])}var INt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var i;const{prefixCls:r,getPopupContainer:a,components:l,className:s,style:c,placement:u,size:d,disabled:f,bordered:p=!0,placeholder:g,popupClassName:y,dropdownClassName:A,status:x,rootClassName:C,variant:b}=n,v=INt(n,["prefixCls","getPopupContainer","components","className","style","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","rootClassName","variant"]),S=m.useRef(null),{getPrefixCls:w,direction:T,getPopupContainer:P,rangePicker:R}=m.useContext(Mi),H=w("picker",r),{compactSize:D,compactItemClassnames:E}=F7(H,T),{picker:L}=n,U=w(),[F,W]=IH(b,p),B=j0(H),[k,N,j]=QGe(H,B),[Y]=bXe(n,H),_=SXe(l),J=Cd(fe=>{var se;return(se=d??D)!==null&&se!==void 0?se:fe}),Q=m.useContext(qp),ee=f??Q,$=m.useContext($p),{hasFeedback:q,status:le,feedbackIcon:ie}=$,pe=m.createElement(m.Fragment,null,L==="time"?m.createElement(xXe,null):m.createElement(vXe,null),q&&ie);m.useImperativeHandle(o,()=>S.current);const[ne]=D7("Calendar",uG),Z=Object.assign(Object.assign({},ne),n.locale),[he]=k7("DatePicker",(i=n.popupStyle)===null||i===void 0?void 0:i.zIndex);return k(m.createElement(k9,null,m.createElement(Zkt,Object.assign({separator:m.createElement("span",{"aria-label":"to",className:`${H}-separator`},m.createElement(CNt,null)),disabled:ee,ref:S,popupAlign:Eme(T,u),placeholder:HNt(Z,L,g),suffixIcon:pe,prevIcon:m.createElement("span",{className:`${H}-prev-icon`}),nextIcon:m.createElement("span",{className:`${H}-next-icon`}),superPrevIcon:m.createElement("span",{className:`${H}-super-prev-icon`}),superNextIcon:m.createElement("span",{className:`${H}-super-next-icon`}),transitionName:`${U}-slide-up`},v,{className:Gn({[`${H}-${J}`]:J,[`${H}-${F}`]:W},o7(H,Mb(le,x),q),N,E,s,R==null?void 0:R.className,j,B,C),style:Object.assign(Object.assign({},R==null?void 0:R.style),c),locale:Z.lang,prefixCls:H,getPopupContainer:a||P,generateConfig:t,components:_,direction:T,classNames:{popup:Gn(N,y||A,j,B,C)},styles:{popup:Object.assign(Object.assign({},n.popupStyle),{zIndex:he})},allowClear:Y}))))})}var DNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var g;const{prefixCls:y,getPopupContainer:A,components:x,style:C,className:b,rootClassName:v,size:S,bordered:w,placement:T,placeholder:P,popupClassName:R,dropdownClassName:H,disabled:D,status:E,variant:L,onCalendarChange:U}=f,F=DNt(f,["prefixCls","getPopupContainer","components","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","variant","onCalendarChange"]),{getPrefixCls:W,direction:B,getPopupContainer:k,[u]:N}=m.useContext(Mi),j=W("picker",y),{compactSize:Y,compactItemClassnames:_}=F7(j,B),J=m.useRef(null),[Q,ee]=IH(L,w),$=j0(j),[q,le,ie]=QGe(j,$);m.useImperativeHandle(p,()=>J.current);const pe={showToday:!0},ne=s||f.picker,Z=W(),{onSelect:he,multiple:fe}=F,se=he&&s==="time"&&!fe,oe=(Ee,Ue,Ne)=>{U==null||U(Ee,Ue,Ne),se&&he(Ee)},[de,ve]=bXe(f,j),Pe=SXe(x),me=Cd(Ee=>{var Ue;return(Ue=S??Y)!==null&&Ue!==void 0?Ue:Ee}),Re=m.useContext(qp),ze=D??Re,Ae=m.useContext($p),{hasFeedback:re,status:ge,feedbackIcon:we}=Ae,ye=m.createElement(m.Fragment,null,ne==="time"?m.createElement(xXe,null):m.createElement(vXe,null),re&&we),[Te]=D7("DatePicker",uG),Ie=Object.assign(Object.assign({},Te),f.locale),[Ce]=k7("DatePicker",(g=f.popupStyle)===null||g===void 0?void 0:g.zIndex);return q(m.createElement(k9,null,m.createElement(rFt,Object.assign({ref:J,placeholder:RNt(Ie,ne,P),suffixIcon:ye,dropdownAlign:Eme(B,T),prevIcon:m.createElement("span",{className:`${j}-prev-icon`}),nextIcon:m.createElement("span",{className:`${j}-next-icon`}),superPrevIcon:m.createElement("span",{className:`${j}-super-prev-icon`}),superNextIcon:m.createElement("span",{className:`${j}-super-next-icon`}),transitionName:`${Z}-slide-up`,picker:s,onCalendarChange:oe},pe,F,{locale:Ie.lang,className:Gn({[`${j}-${me}`]:me,[`${j}-${Q}`]:ee},o7(j,Mb(ge,E),re),le,_,N==null?void 0:N.className,b,ie,$,v),style:Object.assign(Object.assign({},N==null?void 0:N.style),C),prefixCls:j,getPopupContainer:A||k,generateConfig:t,components:Pe,direction:B,disabled:ze,classNames:{popup:Gn(le,ie,$,v,R||H)},styles:{popup:Object.assign(Object.assign({},f.popupStyle),{zIndex:Ce})},allowClear:de,removeIcon:ve}))))})}const n=e(),o=e("week","WeekPicker"),i=e("month","MonthPicker"),r=e("year","YearPicker"),a=e("quarter","QuarterPicker"),l=e("time","TimePicker");return{DatePicker:n,WeekPicker:o,MonthPicker:i,YearPicker:r,TimePicker:l,QuarterPicker:a}}function TXe(t){const{DatePicker:e,WeekPicker:n,MonthPicker:o,YearPicker:i,TimePicker:r,QuarterPicker:a}=ENt(t),l=zNt(t),s=e;return s.WeekPicker=n,s.MonthPicker=o,s.YearPicker=i,s.RangePicker=l,s.TimePicker=r,s.QuarterPicker=a,s}const Db=TXe(ckt);function PXe(t){const e=Eme(t.direction,t.placement);return e.overflow.adjustY=!1,e.overflow.adjustX=!1,Object.assign(Object.assign({},t),{dropdownAlign:e})}const kNt=RW(Db,"picker",null,PXe);Db._InternalPanelDoNotUseOrYouWillBeFired=kNt;const FNt=RW(Db.RangePicker,"picker",null,PXe);Db._InternalRangePanelDoNotUseOrYouWillBeFired=FNt;Db.generatePicker=TXe;function $k(t){"@babel/helpers - typeof";return $k=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$k(t)}function LNt(t,e){if($k(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if($k(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function WNt(t){var e=LNt(t,"string");return $k(e)=="symbol"?e:e+""}function N0e(t,e,n){return e=WNt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Kve(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Qy(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)continue;n[o]=t[o]}return n}function ONt(t,e){if(t==null)return{};var n=YNt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var _Nt=["prefixCls","className","containerRef"],VNt=function(e){var n=e.prefixCls,o=e.className,i=e.containerRef,r=ONt(e,_Nt),a=m.useContext(CXe),l=a.panel,s=z7(l,i);return m.createElement("div",Wv({className:Vn("".concat(n,"-content"),o),role:"dialog",ref:s},gf(e,{aria:!0}),{"aria-modal":"true"},r))};function Qve(t){return typeof t=="string"&&String(Number(t))===t?(U0(!1,"Invalid value type of `width` or `height` which should be number type instead."),Number(t)):t}var Zve={width:0,height:0,overflow:"hidden",outline:"none",position:"absolute"};function GNt(t,e){var n,o,i,r=t.prefixCls,a=t.open,l=t.placement,s=t.inline,c=t.push,u=t.forceRender,d=t.autoFocus,f=t.keyboard,p=t.classNames,g=t.rootClassName,y=t.rootStyle,A=t.zIndex,x=t.className,C=t.id,b=t.style,v=t.motion,S=t.width,w=t.height,T=t.children,P=t.mask,R=t.maskClosable,H=t.maskMotion,D=t.maskClassName,E=t.maskStyle,L=t.afterOpenChange,U=t.onClose,F=t.onMouseEnter,W=t.onMouseOver,B=t.onMouseLeave,k=t.onClick,N=t.onKeyDown,j=t.onKeyUp,Y=t.styles,_=m.useRef(),J=m.useRef(),Q=m.useRef();m.useImperativeHandle(e,function(){return _.current});var ee=function(Re){var ze=Re.keyCode,Ae=Re.shiftKey;switch(ze){case Bn.TAB:{if(ze===Bn.TAB){if(!Ae&&document.activeElement===Q.current){var re;(re=J.current)===null||re===void 0||re.focus({preventScroll:!0})}else if(Ae&&document.activeElement===J.current){var ge;(ge=Q.current)===null||ge===void 0||ge.focus({preventScroll:!0})}}break}case Bn.ESC:{U&&f&&(Re.stopPropagation(),U(Re));break}}};m.useEffect(function(){if(a&&d){var me;(me=_.current)===null||me===void 0||me.focus({preventScroll:!0})}},[a]);var $=m.useState(!1),q=U0e($,2),le=q[0],ie=q[1],pe=m.useContext($ve),ne;typeof c=="boolean"?ne=c?{}:{distance:0}:ne=c||{};var Z=(n=(o=(i=ne)===null||i===void 0?void 0:i.distance)!==null&&o!==void 0?o:pe==null?void 0:pe.pushDistance)!==null&&n!==void 0?n:180,he=m.useMemo(function(){return{pushDistance:Z,push:function(){ie(!0)},pull:function(){ie(!1)}}},[Z]);m.useEffect(function(){if(a){var me;pe==null||(me=pe.push)===null||me===void 0||me.call(pe)}else{var Re;pe==null||(Re=pe.pull)===null||Re===void 0||Re.call(pe)}},[a]),m.useEffect(function(){return function(){var me;pe==null||(me=pe.pull)===null||me===void 0||me.call(pe)}},[]);var fe=P&&m.createElement(Cg,Wv({key:"mask"},H,{visible:a}),function(me,Re){var ze=me.className,Ae=me.style;return m.createElement("div",{className:Vn("".concat(r,"-mask"),ze,p==null?void 0:p.mask,D),style:Qy(Qy(Qy({},Ae),E),Y==null?void 0:Y.mask),onClick:R&&a?U:void 0,ref:Re})}),se=typeof v=="function"?v(l):v,oe={};if(le&&Z)switch(l){case"top":oe.transform="translateY(".concat(Z,"px)");break;case"bottom":oe.transform="translateY(".concat(-Z,"px)");break;case"left":oe.transform="translateX(".concat(Z,"px)");break;default:oe.transform="translateX(".concat(-Z,"px)");break}l==="left"||l==="right"?oe.width=Qve(S):oe.height=Qve(w);var de={onMouseEnter:F,onMouseOver:W,onMouseLeave:B,onClick:k,onKeyDown:N,onKeyUp:j},ve=m.createElement(Cg,Wv({key:"panel"},se,{visible:a,forceRender:u,onVisibleChanged:function(Re){L==null||L(Re)},removeOnLeave:!1,leavedClassName:"".concat(r,"-content-wrapper-hidden")}),function(me,Re){var ze=me.className,Ae=me.style;return m.createElement("div",Wv({className:Vn("".concat(r,"-content-wrapper"),p==null?void 0:p.wrapper,ze),style:Qy(Qy(Qy({},oe),Ae),Y==null?void 0:Y.wrapper)},gf(t,{data:!0})),m.createElement(VNt,Wv({id:C,containerRef:Re,prefixCls:r,className:Vn(x,p==null?void 0:p.content),style:Qy(Qy({},b),Y==null?void 0:Y.content)},gf(t,{aria:!0}),de),T))}),Pe=Qy({},y);return A&&(Pe.zIndex=A),m.createElement($ve.Provider,{value:he},m.createElement("div",{className:Vn(r,"".concat(r,"-").concat(l),g,N0e(N0e({},"".concat(r,"-open"),a),"".concat(r,"-inline"),s)),style:Pe,tabIndex:-1,ref:_,onKeyDown:ee},fe,m.createElement("div",{tabIndex:0,ref:J,style:Zve,"aria-hidden":"true","data-sentinel":"start"}),ve,m.createElement("div",{tabIndex:0,ref:Q,style:Zve,"aria-hidden":"true","data-sentinel":"end"})))}var XNt=m.forwardRef(GNt),JNt=function(e){var n=e.open,o=n===void 0?!1:n,i=e.prefixCls,r=i===void 0?"rc-drawer":i,a=e.placement,l=a===void 0?"right":a,s=e.autoFocus,c=s===void 0?!0:s,u=e.keyboard,d=u===void 0?!0:u,f=e.width,p=f===void 0?378:f,g=e.mask,y=g===void 0?!0:g,A=e.maskClosable,x=A===void 0?!0:A,C=e.getContainer,b=e.forceRender,v=e.afterOpenChange,S=e.destroyOnClose,w=e.onMouseEnter,T=e.onMouseOver,P=e.onMouseLeave,R=e.onClick,H=e.onKeyDown,D=e.onKeyUp,E=e.panelRef,L=m.useState(!1),U=U0e(L,2),F=U[0],W=U[1],B=m.useState(!1),k=U0e(B,2),N=k[0],j=k[1];Ba(function(){j(!0)},[]);var Y=N?o:!1,_=m.useRef(),J=m.useRef();Ba(function(){Y&&(J.current=document.activeElement)},[Y]);var Q=function(ie){var pe;if(W(ie),v==null||v(ie),!ie&&J.current&&!((pe=_.current)!==null&&pe!==void 0&&pe.contains(J.current))){var ne;(ne=J.current)===null||ne===void 0||ne.focus({preventScroll:!0})}},ee=m.useMemo(function(){return{panel:E}},[E]);if(!b&&!F&&!Y&&S)return null;var $={onMouseEnter:w,onMouseOver:T,onMouseLeave:P,onClick:R,onKeyDown:H,onKeyUp:D},q=Qy(Qy({},e),{},{open:Y,prefixCls:r,placement:l,autoFocus:c,keyboard:d,width:p,mask:y,maskClosable:x,inline:C===!1,afterOpenChange:Q,ref:_},$);return m.createElement(CXe.Provider,{value:ee},m.createElement(u$,{open:Y||b||F,autoDestroy:!1,getContainer:C,autoLock:y&&(Y||F)},m.createElement(XNt,q)))};const KNt=new ul("antSpinMove",{to:{opacity:1}}),qNt=new ul("antRotate",{to:{transform:"rotate(405deg)"}}),$Nt=t=>{const{componentCls:e,calc:n}=t;return{[`${e}`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",display:"none",color:t.colorPrimary,fontSize:0,textAlign:"center",verticalAlign:"middle",opacity:0,transition:`transform ${t.motionDurationSlow} ${t.motionEaseInOutCirc}`,"&-spinning":{position:"static",display:"inline-block",opacity:1},[`${e}-text`]:{fontSize:t.fontSize,paddingTop:n(n(t.dotSize).sub(t.fontSize)).div(2).add(2).equal()},"&-fullscreen":{position:"fixed",width:"100vw",height:"100vh",backgroundColor:t.colorBgMask,zIndex:t.zIndexPopupBase,inset:0,display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center",opacity:0,visibility:"hidden",transition:`all ${t.motionDurationMid}`,"&-show":{opacity:1,visibility:"visible"},[`${e}-dot ${e}-dot-item`]:{backgroundColor:t.colorWhite},[`${e}-text`]:{color:t.colorTextLightSolid}},"&-nested-loading":{position:"relative",[`> div > ${e}`]:{position:"absolute",top:0,insetInlineStart:0,zIndex:4,display:"block",width:"100%",height:"100%",maxHeight:t.contentHeight,[`${e}-dot`]:{position:"absolute",top:"50%",insetInlineStart:"50%",margin:n(t.dotSize).mul(-1).div(2).equal()},[`${e}-text`]:{position:"absolute",top:"50%",width:"100%",textShadow:`0 1px 2px ${t.colorBgContainer}`},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSize).div(2).mul(-1).sub(10).equal()},"&-sm":{[`${e}-dot`]:{margin:n(t.dotSizeSM).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:n(n(t.dotSizeSM).sub(t.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSizeSM).div(2).mul(-1).sub(10).equal()}},"&-lg":{[`${e}-dot`]:{margin:n(t.dotSizeLG).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:n(n(t.dotSizeLG).sub(t.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSizeLG).div(2).mul(-1).sub(10).equal()}}},[`${e}-container`]:{position:"relative",transition:`opacity ${t.motionDurationSlow}`,"&::after":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:10,width:"100%",height:"100%",background:t.colorBgContainer,opacity:0,transition:`all ${t.motionDurationSlow}`,content:'""',pointerEvents:"none"}},[`${e}-blur`]:{clear:"both",opacity:.5,userSelect:"none",pointerEvents:"none","&::after":{opacity:.4,pointerEvents:"auto"}}},"&-tip":{color:t.spinDotDefault},[`${e}-dot`]:{position:"relative",display:"inline-block",fontSize:t.dotSize,width:"1em",height:"1em","&-item":{position:"absolute",display:"block",width:n(t.dotSize).sub(n(t.marginXXS).div(2)).div(2).equal(),height:n(t.dotSize).sub(n(t.marginXXS).div(2)).div(2).equal(),backgroundColor:t.colorPrimary,borderRadius:"100%",transform:"scale(0.75)",transformOrigin:"50% 50%",opacity:.3,animationName:KNt,animationDuration:"1s",animationIterationCount:"infinite",animationTimingFunction:"linear",animationDirection:"alternate","&:nth-child(1)":{top:0,insetInlineStart:0,animationDelay:"0s"},"&:nth-child(2)":{top:0,insetInlineEnd:0,animationDelay:"0.4s"},"&:nth-child(3)":{insetInlineEnd:0,bottom:0,animationDelay:"0.8s"},"&:nth-child(4)":{bottom:0,insetInlineStart:0,animationDelay:"1.2s"}},"&-spin":{transform:"rotate(45deg)",animationName:qNt,animationDuration:"1.2s",animationIterationCount:"infinite",animationTimingFunction:"linear"}},[`&-sm ${e}-dot`]:{fontSize:t.dotSizeSM,i:{width:n(n(t.dotSizeSM).sub(n(t.marginXXS).div(2))).div(2).equal(),height:n(n(t.dotSizeSM).sub(n(t.marginXXS).div(2))).div(2).equal()}},[`&-lg ${e}-dot`]:{fontSize:t.dotSizeLG,i:{width:n(n(t.dotSizeLG).sub(t.marginXXS)).div(2).equal(),height:n(n(t.dotSizeLG).sub(t.marginXXS)).div(2).equal()}},[`&${e}-show-text ${e}-text`]:{display:"block"}})}},QNt=t=>{const{controlHeightLG:e,controlHeight:n}=t;return{contentHeight:400,dotSize:e/2,dotSizeSM:e*.35,dotSizeLG:n}},ZNt=Fl("Spin",t=>{const e=Zr(t,{spinDotDefault:t.colorTextDescription});return[$Nt(e)]},QNt);var eUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,spinning:n=!0,delay:o=0,className:i,rootClassName:r,size:a="default",tip:l,wrapperClassName:s,style:c,children:u,fullscreen:d=!1}=t,f=eUt(t,["prefixCls","spinning","delay","className","rootClassName","size","tip","wrapperClassName","style","children","fullscreen"]),{getPrefixCls:p}=m.useContext(Mi),g=p("spin",e),[y,A,x]=ZNt(g),[C,b]=m.useState(()=>n&&!nUt(n,o));m.useEffect(()=>{if(n){const E=LLt(o,()=>{b(!0)});return E(),()=>{var L;(L=E==null?void 0:E.cancel)===null||L===void 0||L.call(E)}}b(!1)},[o,n]);const v=m.useMemo(()=>typeof u<"u"&&!d,[u,d]),{direction:S,spin:w}=m.useContext(Mi),T=Gn(g,w==null?void 0:w.className,{[`${g}-sm`]:a==="small",[`${g}-lg`]:a==="large",[`${g}-spinning`]:C,[`${g}-show-text`]:!!l,[`${g}-fullscreen`]:d,[`${g}-fullscreen-show`]:d&&C,[`${g}-rtl`]:S==="rtl"},i,r,A,x),P=Gn(`${g}-container`,{[`${g}-blur`]:C}),R=lp(f,["indicator"]),H=Object.assign(Object.assign({},w==null?void 0:w.style),c),D=m.createElement("div",Object.assign({},R,{style:H,className:T,"aria-live":"polite","aria-busy":C}),tUt(g,t),l&&(v||d)?m.createElement("div",{className:`${g}-text`},l):null);return y(v?m.createElement("div",Object.assign({},R,{className:Gn(`${g}-nested-loading`,s,A,x)}),C&&m.createElement("div",{key:"loading"},D),m.createElement("div",{className:P,key:"container"},u)):D)};LW.setDefaultIndicator=t=>{W_=t};const RXe=t=>{var e,n;const{prefixCls:o,title:i,footer:r,extra:a,loading:l,onClose:s,headerStyle:c,bodyStyle:u,footerStyle:d,children:f,classNames:p,styles:g}=t,{drawer:y}=m.useContext(Mi),A=m.useCallback(w=>m.createElement("button",{type:"button",onClick:s,"aria-label":"Close",className:`${o}-close`},w),[s]),[x,C]=Jge(oR(t),oR(y),{closable:!0,closeIconRender:A});let b;typeof l=="boolean"?b={spinning:l}:typeof l=="object"&&(b=Object.assign({spinning:!0},l));const v=m.useMemo(()=>{var w,T;return!i&&!x?null:m.createElement("div",{style:Object.assign(Object.assign(Object.assign({},(w=y==null?void 0:y.styles)===null||w===void 0?void 0:w.header),c),g==null?void 0:g.header),className:Gn(`${o}-header`,{[`${o}-header-close-only`]:x&&!i&&!a},(T=y==null?void 0:y.classNames)===null||T===void 0?void 0:T.header,p==null?void 0:p.header)},m.createElement("div",{className:`${o}-header-title`},C,i&&m.createElement("div",{className:`${o}-title`},i)),a&&m.createElement("div",{className:`${o}-extra`},a))},[x,C,a,c,o,i]),S=m.useMemo(()=>{var w,T;if(!r)return null;const P=`${o}-footer`;return m.createElement("div",{className:Gn(P,(w=y==null?void 0:y.classNames)===null||w===void 0?void 0:w.footer,p==null?void 0:p.footer),style:Object.assign(Object.assign(Object.assign({},(T=y==null?void 0:y.styles)===null||T===void 0?void 0:T.footer),d),g==null?void 0:g.footer)},r)},[r,d,o]);return b!=null&&b.spinning?m.createElement(LW,Object.assign({spinning:!1,style:{height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},b)):m.createElement(m.Fragment,null,v,m.createElement("div",{className:Gn(`${o}-body`,p==null?void 0:p.body,(e=y==null?void 0:y.classNames)===null||e===void 0?void 0:e.body),style:Object.assign(Object.assign(Object.assign({},(n=y==null?void 0:y.styles)===null||n===void 0?void 0:n.body),u),g==null?void 0:g.body)},f),S)},oUt=t=>{const e="100%";return{left:`translateX(-${e})`,right:`translateX(${e})`,top:`translateY(-${e})`,bottom:`translateY(${e})`}[t]},HXe=(t,e)=>({"&-enter, &-appear":Object.assign(Object.assign({},t),{"&-active":e}),"&-leave":Object.assign(Object.assign({},e),{"&-active":t})}),MXe=(t,e)=>Object.assign({"&-enter, &-appear, &-leave":{"&-start":{transition:"none"},"&-active":{transition:`all ${e}`}}},HXe({opacity:t},{opacity:1})),iUt=(t,e)=>[MXe(.7,e),HXe({transform:oUt(t)},{transform:"none"})],rUt=t=>{const{componentCls:e,motionDurationSlow:n}=t;return{[e]:{[`${e}-mask-motion`]:MXe(0,n),[`${e}-panel-motion`]:["left","right","top","bottom"].reduce((o,i)=>Object.assign(Object.assign({},o),{[`&-${i}`]:iUt(i,n)}),{})}}},aUt=t=>{const{borderRadiusSM:e,componentCls:n,zIndexPopup:o,colorBgMask:i,colorBgElevated:r,motionDurationSlow:a,motionDurationMid:l,paddingXS:s,padding:c,paddingLG:u,fontSizeLG:d,lineHeightLG:f,lineWidth:p,lineType:g,colorSplit:y,marginXS:A,colorIcon:x,colorIconHover:C,colorBgTextHover:b,colorBgTextActive:v,colorText:S,fontWeightStrong:w,footerPaddingBlock:T,footerPaddingInline:P,calc:R}=t,H=`${n}-content-wrapper`;return{[n]:{position:"fixed",inset:0,zIndex:o,pointerEvents:"none","&-pure":{position:"relative",background:r,display:"flex",flexDirection:"column",[`&${n}-left`]:{boxShadow:t.boxShadowDrawerLeft},[`&${n}-right`]:{boxShadow:t.boxShadowDrawerRight},[`&${n}-top`]:{boxShadow:t.boxShadowDrawerUp},[`&${n}-bottom`]:{boxShadow:t.boxShadowDrawerDown}},"&-inline":{position:"absolute"},[`${n}-mask`]:{position:"absolute",inset:0,zIndex:o,background:i,pointerEvents:"auto"},[H]:{position:"absolute",zIndex:o,maxWidth:"100vw",transition:`all ${a}`,"&-hidden":{display:"none"}},[`&-left > ${H}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:t.boxShadowDrawerLeft},[`&-right > ${H}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:t.boxShadowDrawerRight},[`&-top > ${H}`]:{top:0,insetInline:0,boxShadow:t.boxShadowDrawerUp},[`&-bottom > ${H}`]:{bottom:0,insetInline:0,boxShadow:t.boxShadowDrawerDown},[`${n}-content`]:{display:"flex",flexDirection:"column",width:"100%",height:"100%",overflow:"auto",background:r,pointerEvents:"auto"},[`${n}-header`]:{display:"flex",flex:0,alignItems:"center",padding:`${Ut(c)} ${Ut(u)}`,fontSize:d,lineHeight:f,borderBottom:`${Ut(p)} ${g} ${y}`,"&-title":{display:"flex",flex:1,alignItems:"center",minWidth:0,minHeight:0}},[`${n}-extra`]:{flex:"none"},[`${n}-close`]:Object.assign({display:"inline-flex",width:R(d).add(s).equal(),height:R(d).add(s).equal(),borderRadius:e,justifyContent:"center",alignItems:"center",marginInlineEnd:A,color:x,fontWeight:w,fontSize:d,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",textDecoration:"none",background:"transparent",border:0,cursor:"pointer",transition:`all ${l}`,textRendering:"auto","&:hover":{color:C,backgroundColor:b,textDecoration:"none"},"&:active":{backgroundColor:v}},V6(t)),[`${n}-title`]:{flex:1,margin:0,color:S,fontWeight:t.fontWeightStrong,fontSize:d,lineHeight:f},[`${n}-body`]:{flex:1,minWidth:0,minHeight:0,padding:u,overflow:"auto"},[`${n}-footer`]:{flexShrink:0,padding:`${Ut(T)} ${Ut(P)}`,borderTop:`${Ut(p)} ${g} ${y}`},"&-rtl":{direction:"rtl"}}}},lUt=t=>({zIndexPopup:t.zIndexPopupBase,footerPaddingBlock:t.paddingXS,footerPaddingInline:t.padding}),IXe=Fl("Drawer",t=>{const e=Zr(t,{});return[aUt(e),rUt(e)]},lUt);var zXe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{rootClassName:e,width:n,height:o,size:i="default",mask:r=!0,push:a=sUt,open:l,afterOpenChange:s,onClose:c,prefixCls:u,getContainer:d,style:f,className:p,visible:g,afterVisibleChange:y,maskStyle:A,drawerStyle:x,contentWrapperStyle:C}=t,b=zXe(t,["rootClassName","width","height","size","mask","push","open","afterOpenChange","onClose","prefixCls","getContainer","style","className","visible","afterVisibleChange","maskStyle","drawerStyle","contentWrapperStyle"]),{getPopupContainer:v,getPrefixCls:S,direction:w,drawer:T}=m.useContext(Mi),P=S("drawer",u),[R,H,D]=IXe(P),E=d===void 0&&v?()=>v(document.body):d,L=Gn({"no-mask":!r,[`${P}-rtl`]:w==="rtl"},e,H,D),U=m.useMemo(()=>n??(i==="large"?736:378),[n,i]),F=m.useMemo(()=>o??(i==="large"?736:378),[o,i]),W={motionName:D9(P,"mask-motion"),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500},B=ee=>({motionName:D9(P,`panel-motion-${ee}`),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500}),k=X_e(),[N,j]=k7("Drawer",b.zIndex),{classNames:Y={},styles:_={}}=b,{classNames:J={},styles:Q={}}=T||{};return R(m.createElement(k9,null,m.createElement(rR,{status:!0,override:!0},m.createElement(yW.Provider,{value:j},m.createElement(JNt,Object.assign({prefixCls:P,onClose:c,maskMotion:W,motion:B},b,{classNames:{mask:Gn(Y.mask,J.mask),content:Gn(Y.content,J.content),wrapper:Gn(Y.wrapper,J.wrapper)},styles:{mask:Object.assign(Object.assign(Object.assign({},_.mask),A),Q.mask),content:Object.assign(Object.assign(Object.assign({},_.content),x),Q.content),wrapper:Object.assign(Object.assign(Object.assign({},_.wrapper),C),Q.wrapper)},open:l??g,mask:r,push:a,width:U,height:F,style:Object.assign(Object.assign({},T==null?void 0:T.style),f),className:Gn(T==null?void 0:T.className,p),rootClassName:L,getContainer:E,afterOpenChange:s??y,panelRef:k,zIndex:N}),m.createElement(RXe,Object.assign({prefixCls:P},b,{onClose:c})))))))},cUt=t=>{const{prefixCls:e,style:n,className:o,placement:i="right"}=t,r=zXe(t,["prefixCls","style","className","placement"]),{getPrefixCls:a}=m.useContext(Mi),l=a("drawer",e),[s,c,u]=IXe(l),d=Gn(l,`${l}-pure`,`${l}-${i}`,c,u,o);return s(m.createElement("div",{className:d,style:n},m.createElement(RXe,Object.assign({prefixCls:l},r))))};B0e._InternalPanelDoNotUseOrYouWillBeFired=cUt;function exe(t){return["small","middle","large"].includes(t)}function txe(t){return t?typeof t=="number"&&!Number.isNaN(t):!1}const DXe=Se.createContext({latestIndex:0}),uUt=DXe.Provider,dUt=t=>{let{className:e,index:n,children:o,split:i,style:r}=t;const{latestIndex:a}=m.useContext(DXe);return o==null?null:m.createElement(m.Fragment,null,m.createElement("div",{className:e,style:r},o),n{var n,o;const{getPrefixCls:i,space:r,direction:a}=m.useContext(Mi),{size:l=(r==null?void 0:r.size)||"small",align:s,className:c,rootClassName:u,children:d,direction:f="horizontal",prefixCls:p,split:g,style:y,wrap:A=!1,classNames:x,styles:C}=t,b=fUt(t,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[v,S]=Array.isArray(l)?l:[l,l],w=exe(S),T=exe(v),P=txe(S),R=txe(v),H=E9(d,{keepEmpty:!0}),D=s===void 0&&f==="horizontal"?"center":s,E=i("space",p),[L,U,F]=A_e(E),W=Gn(E,r==null?void 0:r.className,U,`${E}-${f}`,{[`${E}-rtl`]:a==="rtl",[`${E}-align-${D}`]:D,[`${E}-gap-row-${S}`]:w,[`${E}-gap-col-${v}`]:T},c,u,F),B=Gn(`${E}-item`,(n=x==null?void 0:x.item)!==null&&n!==void 0?n:(o=r==null?void 0:r.classNames)===null||o===void 0?void 0:o.item);let k=0;const N=H.map((_,J)=>{var Q,ee;_!=null&&(k=J);const $=_&&_.key||`${B}-${J}`;return m.createElement(dUt,{className:B,key:$,index:J,split:g,style:(Q=C==null?void 0:C.item)!==null&&Q!==void 0?Q:(ee=r==null?void 0:r.styles)===null||ee===void 0?void 0:ee.item},_)}),j=m.useMemo(()=>({latestIndex:k}),[k]);if(H.length===0)return null;const Y={};return A&&(Y.flexWrap="wrap"),!T&&R&&(Y.columnGap=v),!w&&P&&(Y.rowGap=S),L(m.createElement("div",Object.assign({ref:e,className:W,style:Object.assign(Object.assign(Object.assign({},Y),r==null?void 0:r.style),y)},b),m.createElement(uUt,{value:j},N)))}),en=hUt;en.Compact=kCt;var pUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPopupContainer:e,getPrefixCls:n,direction:o}=m.useContext(Mi),{prefixCls:i,type:r="default",danger:a,disabled:l,loading:s,onClick:c,htmlType:u,children:d,className:f,menu:p,arrow:g,autoFocus:y,overlay:A,trigger:x,align:C,open:b,onOpenChange:v,placement:S,getPopupContainer:w,href:T,icon:P=m.createElement(pme,null),title:R,buttonsRender:H=le=>le,mouseEnterDelay:D,mouseLeaveDelay:E,overlayClassName:L,overlayStyle:U,destroyPopupOnHide:F,dropdownRender:W}=t,B=pUt(t,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),k=n("dropdown",i),N=`${k}-button`,j={menu:p,arrow:g,autoFocus:y,align:C,disabled:l,trigger:l?[]:x,onOpenChange:v,getPopupContainer:w||e,mouseEnterDelay:D,mouseLeaveDelay:E,overlayClassName:L,overlayStyle:U,destroyPopupOnHide:F,dropdownRender:W},{compactSize:Y,compactItemClassnames:_}=F7(k,o),J=Gn(N,_,f);"overlay"in t&&(j.overlay=A),"open"in t&&(j.open=b),"placement"in t?j.placement=S:j.placement=o==="rtl"?"bottomLeft":"bottomRight";const Q=m.createElement(no,{type:r,danger:a,disabled:l,loading:s,onClick:c,htmlType:u,href:T,title:R},d),ee=m.createElement(no,{type:r,danger:a,icon:P}),[$,q]=H([Q,ee]);return m.createElement(en.Compact,Object.assign({className:J,size:Y,block:!0},B),$,m.createElement(C$,Object.assign({},j),q))};EXe.__ANT_BUTTON=!0;const W7=C$;W7.Button=EXe;var gUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},mUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:gUt}))},WW=m.forwardRef(mUt);function nxe(t){var e=t.getBoundingClientRect(),n=document.documentElement;return{left:e.left+(window.pageXOffset||n.scrollLeft)-(n.clientLeft||document.body.clientLeft||0),top:e.top+(window.pageYOffset||n.scrollTop)-(n.clientTop||document.body.clientTop||0)}}function bY(t,e,n,o){var i=MV.unstable_batchedUpdates?function(a){MV.unstable_batchedUpdates(n,a)}:n;return t!=null&&t.addEventListener&&t.addEventListener(e,i,o),{remove:function(){t!=null&&t.removeEventListener&&t.removeEventListener(e,i,o)}}}const kXe=function(){const t=Object.assign({},arguments.length<=0?void 0:arguments[0]);for(let e=1;e{const i=n[o];i!==void 0&&(t[o]=i)})}return t};var yUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"},AUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yUt}))},oxe=m.forwardRef(AUt),wUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"},vUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:wUt}))},ixe=m.forwardRef(vUt),xUt={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"},bUt=["10","20","50","100"],SUt=function(e){var n=e.pageSizeOptions,o=n===void 0?bUt:n,i=e.locale,r=e.changeSize,a=e.pageSize,l=e.goButton,s=e.quickGo,c=e.rootPrefixCls,u=e.selectComponentClass,d=e.selectPrefixCls,f=e.disabled,p=e.buildOptionText,g=Se.useState(""),y=on(g,2),A=y[0],x=y[1],C=function(){return!A||Number.isNaN(A)?void 0:Number(A)},b=typeof p=="function"?p:function(U){return"".concat(U," ").concat(i.items_per_page)},v=function(F){r==null||r(Number(F))},S=function(F){x(F.target.value)},w=function(F){l||A===""||(x(""),!(F.relatedTarget&&(F.relatedTarget.className.indexOf("".concat(c,"-item-link"))>=0||F.relatedTarget.className.indexOf("".concat(c,"-item"))>=0))&&(s==null||s(C())))},T=function(F){A!==""&&(F.keyCode===Bn.ENTER||F.type==="click")&&(x(""),s==null||s(C()))},P=function(){return o.some(function(F){return F.toString()===a.toString()})?o:o.concat([a.toString()]).sort(function(F,W){var B=Number.isNaN(Number(F))?0:Number(F),k=Number.isNaN(Number(W))?0:Number(W);return B-k})},R="".concat(c,"-options");if(!r&&!s)return null;var H=null,D=null,E=null;if(r&&u){var L=P().map(function(U,F){return Se.createElement(u.Option,{key:F,value:U.toString()},b(U))});H=Se.createElement(u,{disabled:f,prefixCls:d,showSearch:!1,className:"".concat(R,"-size-changer"),optionLabelProp:"children",popupMatchSelectWidth:!1,value:(a||o[0]).toString(),onChange:v,getPopupContainer:function(F){return F.parentNode},"aria-label":i.page_size,defaultOpen:!1},L)}return s&&(l&&(E=typeof l=="boolean"?Se.createElement("button",{type:"button",onClick:T,onKeyUp:T,disabled:f,className:"".concat(R,"-quick-jumper-button")},i.jump_to_confirm):Se.createElement("span",{onClick:T,onKeyUp:T},l)),D=Se.createElement("div",{className:"".concat(R,"-quick-jumper")},i.jump_to,Se.createElement("input",{disabled:f,type:"text",value:A,onChange:S,onKeyUp:T,onBlur:w,"aria-label":i.page}),i.page,E)),Se.createElement("li",{className:R},H,D)},Cz=function(e){var n,o=e.rootPrefixCls,i=e.page,r=e.active,a=e.className,l=e.showTitle,s=e.onClick,c=e.onKeyPress,u=e.itemRender,d="".concat(o,"-item"),f=Vn(d,"".concat(d,"-").concat(i),(n={},_t(n,"".concat(d,"-active"),r),_t(n,"".concat(d,"-disabled"),!i),n),a),p=function(){s(i)},g=function(x){c(x,s,i)},y=u(i,"page",Se.createElement("a",{rel:"nofollow"},i));return y?Se.createElement("li",{title:l?String(i):null,className:f,onClick:p,onKeyDown:g,tabIndex:0},y):null},TUt=function(e,n,o){return o};function rxe(){}function axe(t){var e=Number(t);return typeof e=="number"&&!Number.isNaN(e)&&isFinite(e)&&Math.floor(e)===e}function O8(t,e,n){var o=typeof t>"u"?e:t;return Math.floor((n-1)/o)+1}var PUt=function(e){var n,o=e.prefixCls,i=o===void 0?"rc-pagination":o,r=e.selectPrefixCls,a=r===void 0?"rc-select":r,l=e.className,s=e.selectComponentClass,c=e.current,u=e.defaultCurrent,d=u===void 0?1:u,f=e.total,p=f===void 0?0:f,g=e.pageSize,y=e.defaultPageSize,A=y===void 0?10:y,x=e.onChange,C=x===void 0?rxe:x,b=e.hideOnSinglePage,v=e.showPrevNextJumpers,S=v===void 0?!0:v,w=e.showQuickJumper,T=e.showLessItems,P=e.showTitle,R=P===void 0?!0:P,H=e.onShowSizeChange,D=H===void 0?rxe:H,E=e.locale,L=E===void 0?xUt:E,U=e.style,F=e.totalBoundaryShowSizeChanger,W=F===void 0?50:F,B=e.disabled,k=e.simple,N=e.showTotal,j=e.showSizeChanger,Y=e.pageSizeOptions,_=e.itemRender,J=_===void 0?TUt:_,Q=e.jumpPrevIcon,ee=e.jumpNextIcon,$=e.prevIcon,q=e.nextIcon,le=Se.useRef(null),ie=Rs(10,{value:g,defaultValue:A}),pe=on(ie,2),ne=pe[0],Z=pe[1],he=Rs(1,{value:c,defaultValue:d,postState:function(hn){return Math.max(1,Math.min(hn,O8(void 0,ne,p)))}}),fe=on(he,2),se=fe[0],oe=fe[1],de=Se.useState(se),ve=on(de,2),Pe=ve[0],me=ve[1];m.useEffect(function(){me(se)},[se]);var Re=Math.max(1,se-(T?3:5)),ze=Math.min(O8(void 0,ne,p),se+(T?3:5));function Ae(Jt,hn){var cn=Jt||Se.createElement("button",{type:"button","aria-label":hn,className:"".concat(i,"-item-link")});return typeof Jt=="function"&&(cn=Se.createElement(Jt,$t({},e))),cn}function re(Jt){var hn=Jt.target.value,cn=O8(void 0,ne,p),Sn;return hn===""?Sn=hn:Number.isNaN(Number(hn))?Sn=Pe:hn>=cn?Sn=cn:Sn=Number(hn),Sn}function ge(Jt){return axe(Jt)&&Jt!==se&&axe(p)&&p>0}var we=p>ne?w:!1;function ye(Jt){(Jt.keyCode===Bn.UP||Jt.keyCode===Bn.DOWN)&&Jt.preventDefault()}function Te(Jt){var hn=re(Jt);switch(hn!==Pe&&me(hn),Jt.keyCode){case Bn.ENTER:Ee(hn);break;case Bn.UP:Ee(hn-1);break;case Bn.DOWN:Ee(hn+1);break}}function Ie(Jt){Ee(re(Jt))}function Ce(Jt){var hn=O8(Jt,ne,p),cn=se>hn&&hn!==0?hn:se;Z(Jt),me(cn),D==null||D(se,Jt),oe(cn),C==null||C(cn,Jt)}function Ee(Jt){if(ge(Jt)&&!B){var hn=O8(void 0,ne,p),cn=Jt;return Jt>hn?cn=hn:Jt<1&&(cn=1),cn!==Pe&&me(cn),oe(cn),C==null||C(cn,ne),cn}return se}var Ue=se>1,Ne=seW;function qe(){Ue&&Ee(se-1)}function We(){Ne&&Ee(se+1)}function De(){Ee(Re)}function Fe(){Ee(ze)}function _e(Jt,hn){if(Jt.key==="Enter"||Jt.charCode===Bn.ENTER||Jt.keyCode===Bn.ENTER){for(var cn=arguments.length,Sn=new Array(cn>2?cn-2:0),Pn=2;Pnp?p:se*ne])),Oe=null,et=O8(void 0,ne,p);if(b&&p<=ne)return null;var vt=[],ct={rootPrefixCls:i,onClick:Ee,onKeyPress:_e,showTitle:R,itemRender:J,page:-1},lt=se-1>0?se-1:0,tt=se+1=st*2&&se!==3&&(vt[0]=Se.cloneElement(vt[0],{className:Vn("".concat(i,"-item-after-jump-prev"),vt[0].props.className)}),vt.unshift(wt)),et-se>=st*2&&se!==et-2){var xt=vt[vt.length-1];vt[vt.length-1]=Se.cloneElement(xt,{className:Vn("".concat(i,"-item-before-jump-next"),xt.props.className)}),vt.push(Oe)}Je!==1&&vt.unshift(Se.createElement(Cz,so({},ct,{key:1,page:1}))),mt!==et&&vt.push(Se.createElement(Cz,so({},ct,{key:et,page:et})))}var It=je(lt);if(It){var Tt=!Ue||!et;It=Se.createElement("li",{title:R?L.prev_page:null,onClick:qe,tabIndex:Tt?null:0,onKeyDown:ot,className:Vn("".concat(i,"-prev"),_t({},"".concat(i,"-disabled"),Tt)),"aria-disabled":Tt},It)}var Dt=at(tt);if(Dt){var Lt,Et;k?(Lt=!Ne,Et=Ue?0:null):(Lt=!Ne||!et,Et=Lt?null:0),Dt=Se.createElement("li",{title:R?L.next_page:null,onClick:We,tabIndex:Et,onKeyDown:Ye,className:Vn("".concat(i,"-next"),_t({},"".concat(i,"-disabled"),Lt)),"aria-disabled":Lt},Dt)}var an=Vn(i,l,(n={},_t(n,"".concat(i,"-simple"),k),_t(n,"".concat(i,"-disabled"),B),n));return Se.createElement("ul",so({className:an,style:U,ref:le},rt),Qe,It,k?Mt:vt,Dt,Se.createElement(SUt,{locale:L,rootPrefixCls:i,disabled:B,selectComponentClass:s,selectPrefixCls:a,changeSize:Le?Ce:null,pageSize:ne,pageSizeOptions:Y,quickGo:we?Ee:null,goButton:At}))};const FXe=t=>m.createElement(Yo,Object.assign({},t,{showSearch:!0,size:"small"})),LXe=t=>m.createElement(Yo,Object.assign({},t,{showSearch:!0,size:"middle"}));FXe.Option=Yo.Option;LXe.Option=Yo.Option;const CUt=t=>{const{componentCls:e}=t;return{[`${e}-disabled`]:{"&, &:hover":{cursor:"not-allowed",[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed"}},"&:focus-visible":{cursor:"not-allowed",[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed"}}},[`&${e}-disabled`]:{cursor:"not-allowed",[`${e}-item`]:{cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},a:{color:t.colorTextDisabled,backgroundColor:"transparent",border:"none",cursor:"not-allowed"},"&-active":{borderColor:t.colorBorder,backgroundColor:t.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:t.itemActiveBgDisabled},a:{color:t.itemActiveColorDisabled}}},[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},[`${e}-simple&`]:{backgroundColor:"transparent","&:hover, &:active":{backgroundColor:"transparent"}}},[`${e}-simple-pager`]:{color:t.colorTextDisabled},[`${e}-jump-prev, ${e}-jump-next`]:{[`${e}-item-link-icon`]:{opacity:0},[`${e}-item-ellipsis`]:{opacity:1}}},[`&${e}-simple`]:{[`${e}-prev, ${e}-next`]:{[`&${e}-disabled ${e}-item-link`]:{"&:hover, &:active":{backgroundColor:"transparent"}}}}}},RUt=t=>{const{componentCls:e}=t;return{[`&${e}-mini ${e}-total-text, &${e}-mini ${e}-simple-pager`]:{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini ${e}-item`]:{minWidth:t.itemSizeSM,height:t.itemSizeSM,margin:0,lineHeight:Ut(t.calc(t.itemSizeSM).sub(2).equal())},[`&${e}-mini:not(${e}-disabled) ${e}-item:not(${e}-item-active)`]:{backgroundColor:"transparent",borderColor:"transparent","&:hover":{backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive}},[`&${e}-mini ${e}-prev, &${e}-mini ${e}-next`]:{minWidth:t.itemSizeSM,height:t.itemSizeSM,margin:0,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini:not(${e}-disabled)`]:{[`${e}-prev, ${e}-next`]:{[`&:hover ${e}-item-link`]:{backgroundColor:t.colorBgTextHover},[`&:active ${e}-item-link`]:{backgroundColor:t.colorBgTextActive},[`&${e}-disabled:hover ${e}-item-link`]:{backgroundColor:"transparent"}}},[` +`,uNt=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],Bie={},cm;function dNt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=t.getAttribute("id")||t.getAttribute("data-reactid")||t.getAttribute("name");if(e&&Bie[n])return Bie[n];var o=window.getComputedStyle(t),i=o.getPropertyValue("box-sizing")||o.getPropertyValue("-moz-box-sizing")||o.getPropertyValue("-webkit-box-sizing"),r=parseFloat(o.getPropertyValue("padding-bottom"))+parseFloat(o.getPropertyValue("padding-top")),a=parseFloat(o.getPropertyValue("border-bottom-width"))+parseFloat(o.getPropertyValue("border-top-width")),l=uNt.map(function(c){return"".concat(c,":").concat(o.getPropertyValue(c))}).join(";"),s={sizingStyle:l,paddingSize:r,borderSize:a,boxSizing:i};return e&&n&&(Bie[n]=s),s}function fNt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;cm||(cm=document.createElement("textarea"),cm.setAttribute("tab-index","-1"),cm.setAttribute("aria-hidden","true"),document.body.appendChild(cm)),t.getAttribute("wrap")?cm.setAttribute("wrap",t.getAttribute("wrap")):cm.removeAttribute("wrap");var i=dNt(t,e),r=i.paddingSize,a=i.borderSize,l=i.boxSizing,s=i.sizingStyle;cm.setAttribute("style","".concat(s,";").concat(cNt)),cm.value=t.value||t.placeholder||"";var c=void 0,u=void 0,d,f=cm.scrollHeight;if(l==="border-box"?f+=a:l==="content-box"&&(f-=r),n!==null||o!==null){cm.value=" ";var p=cm.scrollHeight-r;n!==null&&(c=p*n,l==="border-box"&&(c=c+r+a),f=Math.max(c,f)),o!==null&&(u=p*o,l==="border-box"&&(u=u+r+a),d=f>u?"":"hidden",f=Math.min(u,f))}var g={height:f,overflowY:d,resize:"none"};return c&&(g.minHeight=c),u&&(g.maxHeight=u),g}var hNt=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],jie=0,Yie=1,Oie=2,pNt=m.forwardRef(function(t,e){var n=t,o=n.prefixCls;n.onPressEnter;var i=n.defaultValue,r=n.value,a=n.autoSize,l=n.onResize,s=n.className,c=n.style,u=n.disabled,d=n.onChange;n.onInternalAutoSize;var f=ir(n,hNt),p=Rs(i,{value:r,postState:function(Q){return Q??""}}),g=on(p,2),y=g[0],A=g[1],x=function(Q){A(Q.target.value),d==null||d(Q)},C=m.useRef();m.useImperativeHandle(e,function(){return{textArea:C.current}});var b=m.useMemo(function(){return a&&gr(a)==="object"?[a.minRows,a.maxRows]:[]},[a]),v=on(b,2),S=v[0],w=v[1],T=!!a,P=function(){try{if(document.activeElement===C.current){var Q=C.current,ee=Q.selectionStart,$=Q.selectionEnd,q=Q.scrollTop;C.current.setSelectionRange(ee,$),C.current.scrollTop=q}}catch{}},R=m.useState(Oie),H=on(R,2),D=H[0],E=H[1],L=m.useState(),U=on(L,2),F=U[0],W=U[1],B=function(){E(jie)};Ba(function(){T&&B()},[r,S,w,T]),Ba(function(){if(D===jie)E(Yie);else if(D===Yie){var J=fNt(C.current,!1,S,w);E(Oie),W(J)}else P()},[D]);var k=m.useRef(),N=function(){za.cancel(k.current)},j=function(Q){D===Oie&&(l==null||l(Q),a&&(N(),k.current=za(function(){B()})))};m.useEffect(function(){return N},[]);var Y=T?F:null,_=$t($t({},c),Y);return(D===jie||D===Yie)&&(_.overflowY="hidden",_.overflowX="hidden"),m.createElement(xd,{onResize:j,disabled:!(a||l)},m.createElement("textarea",so({},f,{ref:C,style:_,className:Vn(o,s,_t({},"".concat(o,"-disabled"),u)),disabled:u,value:y,onChange:x})))}),gNt=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize"],mNt=Se.forwardRef(function(t,e){var n,o,i=t.defaultValue,r=t.value,a=t.onFocus,l=t.onBlur,s=t.onChange,c=t.allowClear,u=t.maxLength,d=t.onCompositionStart,f=t.onCompositionEnd,p=t.suffix,g=t.prefixCls,y=g===void 0?"rc-textarea":g,A=t.showCount,x=t.count,C=t.className,b=t.style,v=t.disabled,S=t.hidden,w=t.classNames,T=t.styles,P=t.onResize,R=ir(t,gNt),H=Rs(i,{value:r,defaultValue:i}),D=on(H,2),E=D[0],L=D[1],U=E==null?"":String(E),F=Se.useState(!1),W=on(F,2),B=W[0],k=W[1],N=Se.useRef(!1),j=Se.useState(null),Y=on(j,2),_=Y[0],J=Y[1],Q=m.useRef(null),ee=function(){var Ie;return(Ie=Q.current)===null||Ie===void 0?void 0:Ie.textArea},$=function(){ee().focus()};m.useImperativeHandle(e,function(){return{resizableTextArea:Q.current,focus:$,blur:function(){ee().blur()}}}),m.useEffect(function(){k(function(Te){return!v&&Te})},[v]);var q=Se.useState(null),le=on(q,2),ie=le[0],pe=le[1];Se.useEffect(function(){if(ie){var Te;(Te=ee()).setSelectionRange.apply(Te,Wo(ie))}},[ie]);var ne=pXe(x,A),Z=(n=ne.max)!==null&&n!==void 0?n:u,he=Number(Z)>0,fe=ne.strategy(U),se=!!Z&&fe>Z,oe=function(Ie,Ce){var Ee=Ce;!N.current&&ne.exceedFormatter&&ne.max&&ne.strategy(Ce)>ne.max&&(Ee=ne.exceedFormatter(Ce,{max:ne.max}),Ce!==Ee&&pe([ee().selectionStart||0,ee().selectionEnd||0])),L(Ee),MG(Ie.currentTarget,Ie,s,Ee)},de=function(Ie){N.current=!0,d==null||d(Ie)},ve=function(Ie){N.current=!1,oe(Ie,Ie.currentTarget.value),f==null||f(Ie)},Pe=function(Ie){oe(Ie,Ie.target.value)},me=function(Ie){var Ce=R.onPressEnter,Ee=R.onKeyDown;Ie.key==="Enter"&&Ce&&Ce(Ie),Ee==null||Ee(Ie)},Re=function(Ie){k(!0),a==null||a(Ie)},ze=function(Ie){k(!1),l==null||l(Ie)},Ae=function(Ie){L(""),$(),MG(ee(),Ie,s)},re=p,ge;ne.show&&(ne.showFormatter?ge=ne.showFormatter({value:U,count:fe,maxLength:Z}):ge="".concat(fe).concat(he?" / ".concat(Z):""),re=Se.createElement(Se.Fragment,null,re,Se.createElement("span",{className:Vn("".concat(y,"-data-count"),w==null?void 0:w.count),style:T==null?void 0:T.count},ge)));var we=function(Ie){var Ce;P==null||P(Ie),(Ce=ee())!==null&&Ce!==void 0&&Ce.style.height&&J(!0)},ye=!R.autoSize&&!A&&!c;return Se.createElement(Dme,{value:U,allowClear:c,handleReset:Ae,suffix:re,prefixCls:y,classNames:$t($t({},w),{},{affixWrapper:Vn(w==null?void 0:w.affixWrapper,(o={},_t(o,"".concat(y,"-show-count"),A),_t(o,"".concat(y,"-textarea-allow-clear"),c),o))}),disabled:v,focused:B,className:Vn(C,se&&"".concat(y,"-out-of-range")),style:$t($t({},b),_&&!ye?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof ge=="string"?ge:void 0}},hidden:S},Se.createElement(pNt,so({},R,{maxLength:u,onKeyDown:me,onChange:Pe,onFocus:Re,onBlur:ze,onCompositionStart:de,onCompositionEnd:ve,className:Vn(w==null?void 0:w.textarea),style:$t($t({},T==null?void 0:T.textarea),{},{resize:b==null?void 0:b.resize}),disabled:v,prefixCls:y,onResize:we,ref:Q})))}),yNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const{prefixCls:i,bordered:r=!0,size:a,disabled:l,status:s,allowClear:c,classNames:u,rootClassName:d,className:f,style:p,styles:g,variant:y}=t,A=yNt(t,["prefixCls","bordered","size","disabled","status","allowClear","classNames","rootClassName","className","style","styles","variant"]),{getPrefixCls:x,direction:C,textArea:b}=m.useContext(Mi),v=Cd(a),S=m.useContext($p),w=l??S,{status:T,hasFeedback:P,feedbackIcon:R}=m.useContext(Qp),H=Mb(T,s),D=m.useRef(null);m.useImperativeHandle(e,()=>{var j;return{resizableTextArea:(j=D.current)===null||j===void 0?void 0:j.resizableTextArea,focus:Y=>{var _,J;_Wt((J=(_=D.current)===null||_===void 0?void 0:_.resizableTextArea)===null||J===void 0?void 0:J.textArea,Y)},blur:()=>{var Y;return(Y=D.current)===null||Y===void 0?void 0:Y.blur()}}});const E=x("input",i),L=j0(E),[U,F,W]=Rme(E,L),[B,k]=IH(y,r),N=yXe(c??(b==null?void 0:b.allowClear));return U(m.createElement(mNt,Object.assign({autoComplete:b==null?void 0:b.autoComplete},A,{style:Object.assign(Object.assign({},b==null?void 0:b.style),p),styles:Object.assign(Object.assign({},b==null?void 0:b.styles),g),disabled:w,allowClear:N,className:Gn(W,L,f,d,b==null?void 0:b.className),classNames:Object.assign(Object.assign(Object.assign({},u),b==null?void 0:b.classNames),{textarea:Gn({[`${E}-sm`]:v==="small",[`${E}-lg`]:v==="large"},F,u==null?void 0:u.textarea,(n=b==null?void 0:b.classNames)===null||n===void 0?void 0:n.textarea),variant:Gn({[`${E}-${B}`]:k},o7(E,H)),affixWrapper:Gn(`${E}-textarea-affix-wrapper`,{[`${E}-affix-wrapper-rtl`]:C==="rtl",[`${E}-affix-wrapper-sm`]:v==="small",[`${E}-affix-wrapper-lg`]:v==="large",[`${E}-textarea-show-count`]:t.showCount||((o=t.count)===null||o===void 0?void 0:o.show)},F)}),prefixCls:E,suffix:P&&m.createElement("span",{className:`${E}-textarea-suffix`},R),ref:D})))}),ns=F$;ns.Group=jWt;ns.Search=sNt;ns.TextArea=wXe;ns.Password=aNt;ns.OTP=qWt;var ANt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},wNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ANt}))},vXe=m.forwardRef(wNt),vNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},xNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:vNt}))},xXe=m.forwardRef(xNt),bNt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"},SNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:bNt}))},TNt=m.forwardRef(SNt);function PNt(t,e,n){return n!==void 0?n:e==="year"&&t.lang.yearPlaceholder?t.lang.yearPlaceholder:e==="quarter"&&t.lang.quarterPlaceholder?t.lang.quarterPlaceholder:e==="month"&&t.lang.monthPlaceholder?t.lang.monthPlaceholder:e==="week"&&t.lang.weekPlaceholder?t.lang.weekPlaceholder:e==="time"&&t.timePickerLocale.placeholder?t.timePickerLocale.placeholder:t.lang.placeholder}function CNt(t,e,n){return n!==void 0?n:e==="year"&&t.lang.yearPlaceholder?t.lang.rangeYearPlaceholder:e==="quarter"&&t.lang.quarterPlaceholder?t.lang.rangeQuarterPlaceholder:e==="month"&&t.lang.monthPlaceholder?t.lang.rangeMonthPlaceholder:e==="week"&&t.lang.weekPlaceholder?t.lang.rangeWeekPlaceholder:e==="time"&&t.timePickerLocale.placeholder?t.timePickerLocale.rangePlaceholder:t.lang.rangePlaceholder}function Eme(t,e){const n={adjustX:1,adjustY:1};switch(e){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:n};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:n};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:n};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:n};default:return{points:t==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:n}}}function bXe(t,e){const{allowClear:n=!0}=t,{clearIcon:o,removeIcon:i}=IVe(Object.assign(Object.assign({},t),{prefixCls:e,componentName:"DatePicker"}));return[m.useMemo(()=>n===!1?!1:Object.assign({clearIcon:o},n===!0?{}:n),[n,o]),i]}function RNt(t){return m.createElement(no,Object.assign({size:"small",type:"primary"},t))}function SXe(t){return m.useMemo(()=>Object.assign({button:RNt},t),[t])}var HNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var i;const{prefixCls:r,getPopupContainer:a,components:l,className:s,style:c,placement:u,size:d,disabled:f,bordered:p=!0,placeholder:g,popupClassName:y,dropdownClassName:A,status:x,rootClassName:C,variant:b}=n,v=HNt(n,["prefixCls","getPopupContainer","components","className","style","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","rootClassName","variant"]),S=m.useRef(null),{getPrefixCls:w,direction:T,getPopupContainer:P,rangePicker:R}=m.useContext(Mi),H=w("picker",r),{compactSize:D,compactItemClassnames:E}=F7(H,T),{picker:L}=n,U=w(),[F,W]=IH(b,p),B=j0(H),[k,N,j]=QGe(H,B),[Y]=bXe(n,H),_=SXe(l),J=Cd(fe=>{var se;return(se=d??D)!==null&&se!==void 0?se:fe}),Q=m.useContext($p),ee=f??Q,$=m.useContext(Qp),{hasFeedback:q,status:le,feedbackIcon:ie}=$,pe=m.createElement(m.Fragment,null,L==="time"?m.createElement(xXe,null):m.createElement(vXe,null),q&&ie);m.useImperativeHandle(o,()=>S.current);const[ne]=D7("Calendar",uG),Z=Object.assign(Object.assign({},ne),n.locale),[he]=k7("DatePicker",(i=n.popupStyle)===null||i===void 0?void 0:i.zIndex);return k(m.createElement(k9,null,m.createElement($kt,Object.assign({separator:m.createElement("span",{"aria-label":"to",className:`${H}-separator`},m.createElement(TNt,null)),disabled:ee,ref:S,popupAlign:Eme(T,u),placeholder:CNt(Z,L,g),suffixIcon:pe,prevIcon:m.createElement("span",{className:`${H}-prev-icon`}),nextIcon:m.createElement("span",{className:`${H}-next-icon`}),superPrevIcon:m.createElement("span",{className:`${H}-super-prev-icon`}),superNextIcon:m.createElement("span",{className:`${H}-super-next-icon`}),transitionName:`${U}-slide-up`},v,{className:Gn({[`${H}-${J}`]:J,[`${H}-${F}`]:W},o7(H,Mb(le,x),q),N,E,s,R==null?void 0:R.className,j,B,C),style:Object.assign(Object.assign({},R==null?void 0:R.style),c),locale:Z.lang,prefixCls:H,getPopupContainer:a||P,generateConfig:t,components:_,direction:T,classNames:{popup:Gn(N,y||A,j,B,C)},styles:{popup:Object.assign(Object.assign({},n.popupStyle),{zIndex:he})},allowClear:Y}))))})}var INt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var g;const{prefixCls:y,getPopupContainer:A,components:x,style:C,className:b,rootClassName:v,size:S,bordered:w,placement:T,placeholder:P,popupClassName:R,dropdownClassName:H,disabled:D,status:E,variant:L,onCalendarChange:U}=f,F=INt(f,["prefixCls","getPopupContainer","components","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","variant","onCalendarChange"]),{getPrefixCls:W,direction:B,getPopupContainer:k,[u]:N}=m.useContext(Mi),j=W("picker",y),{compactSize:Y,compactItemClassnames:_}=F7(j,B),J=m.useRef(null),[Q,ee]=IH(L,w),$=j0(j),[q,le,ie]=QGe(j,$);m.useImperativeHandle(p,()=>J.current);const pe={showToday:!0},ne=s||f.picker,Z=W(),{onSelect:he,multiple:fe}=F,se=he&&s==="time"&&!fe,oe=(Ee,Ue,Ne)=>{U==null||U(Ee,Ue,Ne),se&&he(Ee)},[de,ve]=bXe(f,j),Pe=SXe(x),me=Cd(Ee=>{var Ue;return(Ue=S??Y)!==null&&Ue!==void 0?Ue:Ee}),Re=m.useContext($p),ze=D??Re,Ae=m.useContext(Qp),{hasFeedback:re,status:ge,feedbackIcon:we}=Ae,ye=m.createElement(m.Fragment,null,ne==="time"?m.createElement(xXe,null):m.createElement(vXe,null),re&&we),[Te]=D7("DatePicker",uG),Ie=Object.assign(Object.assign({},Te),f.locale),[Ce]=k7("DatePicker",(g=f.popupStyle)===null||g===void 0?void 0:g.zIndex);return q(m.createElement(k9,null,m.createElement(oFt,Object.assign({ref:J,placeholder:PNt(Ie,ne,P),suffixIcon:ye,dropdownAlign:Eme(B,T),prevIcon:m.createElement("span",{className:`${j}-prev-icon`}),nextIcon:m.createElement("span",{className:`${j}-next-icon`}),superPrevIcon:m.createElement("span",{className:`${j}-super-prev-icon`}),superNextIcon:m.createElement("span",{className:`${j}-super-next-icon`}),transitionName:`${Z}-slide-up`,picker:s,onCalendarChange:oe},pe,F,{locale:Ie.lang,className:Gn({[`${j}-${me}`]:me,[`${j}-${Q}`]:ee},o7(j,Mb(ge,E),re),le,_,N==null?void 0:N.className,b,ie,$,v),style:Object.assign(Object.assign({},N==null?void 0:N.style),C),prefixCls:j,getPopupContainer:A||k,generateConfig:t,components:Pe,direction:B,disabled:ze,classNames:{popup:Gn(le,ie,$,v,R||H)},styles:{popup:Object.assign(Object.assign({},f.popupStyle),{zIndex:Ce})},allowClear:de,removeIcon:ve}))))})}const n=e(),o=e("week","WeekPicker"),i=e("month","MonthPicker"),r=e("year","YearPicker"),a=e("quarter","QuarterPicker"),l=e("time","TimePicker");return{DatePicker:n,WeekPicker:o,MonthPicker:i,YearPicker:r,TimePicker:l,QuarterPicker:a}}function TXe(t){const{DatePicker:e,WeekPicker:n,MonthPicker:o,YearPicker:i,TimePicker:r,QuarterPicker:a}=zNt(t),l=MNt(t),s=e;return s.WeekPicker=n,s.MonthPicker=o,s.YearPicker=i,s.RangePicker=l,s.TimePicker=r,s.QuarterPicker=a,s}const Db=TXe(lkt);function PXe(t){const e=Eme(t.direction,t.placement);return e.overflow.adjustY=!1,e.overflow.adjustX=!1,Object.assign(Object.assign({},t),{dropdownAlign:e})}const DNt=RW(Db,"picker",null,PXe);Db._InternalPanelDoNotUseOrYouWillBeFired=DNt;const ENt=RW(Db.RangePicker,"picker",null,PXe);Db._InternalRangePanelDoNotUseOrYouWillBeFired=ENt;Db.generatePicker=TXe;function $k(t){"@babel/helpers - typeof";return $k=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$k(t)}function kNt(t,e){if($k(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if($k(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function FNt(t){var e=kNt(t,"string");return $k(e)=="symbol"?e:e+""}function N0e(t,e,n){return e=FNt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Kve(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Qy(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)continue;n[o]=t[o]}return n}function jNt(t,e){if(t==null)return{};var n=BNt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var YNt=["prefixCls","className","containerRef"],ONt=function(e){var n=e.prefixCls,o=e.className,i=e.containerRef,r=jNt(e,YNt),a=m.useContext(CXe),l=a.panel,s=z7(l,i);return m.createElement("div",Wv({className:Vn("".concat(n,"-content"),o),role:"dialog",ref:s},gf(e,{aria:!0}),{"aria-modal":"true"},r))};function Qve(t){return typeof t=="string"&&String(Number(t))===t?(U0(!1,"Invalid value type of `width` or `height` which should be number type instead."),Number(t)):t}var Zve={width:0,height:0,overflow:"hidden",outline:"none",position:"absolute"};function _Nt(t,e){var n,o,i,r=t.prefixCls,a=t.open,l=t.placement,s=t.inline,c=t.push,u=t.forceRender,d=t.autoFocus,f=t.keyboard,p=t.classNames,g=t.rootClassName,y=t.rootStyle,A=t.zIndex,x=t.className,C=t.id,b=t.style,v=t.motion,S=t.width,w=t.height,T=t.children,P=t.mask,R=t.maskClosable,H=t.maskMotion,D=t.maskClassName,E=t.maskStyle,L=t.afterOpenChange,U=t.onClose,F=t.onMouseEnter,W=t.onMouseOver,B=t.onMouseLeave,k=t.onClick,N=t.onKeyDown,j=t.onKeyUp,Y=t.styles,_=m.useRef(),J=m.useRef(),Q=m.useRef();m.useImperativeHandle(e,function(){return _.current});var ee=function(Re){var ze=Re.keyCode,Ae=Re.shiftKey;switch(ze){case Bn.TAB:{if(ze===Bn.TAB){if(!Ae&&document.activeElement===Q.current){var re;(re=J.current)===null||re===void 0||re.focus({preventScroll:!0})}else if(Ae&&document.activeElement===J.current){var ge;(ge=Q.current)===null||ge===void 0||ge.focus({preventScroll:!0})}}break}case Bn.ESC:{U&&f&&(Re.stopPropagation(),U(Re));break}}};m.useEffect(function(){if(a&&d){var me;(me=_.current)===null||me===void 0||me.focus({preventScroll:!0})}},[a]);var $=m.useState(!1),q=U0e($,2),le=q[0],ie=q[1],pe=m.useContext($ve),ne;typeof c=="boolean"?ne=c?{}:{distance:0}:ne=c||{};var Z=(n=(o=(i=ne)===null||i===void 0?void 0:i.distance)!==null&&o!==void 0?o:pe==null?void 0:pe.pushDistance)!==null&&n!==void 0?n:180,he=m.useMemo(function(){return{pushDistance:Z,push:function(){ie(!0)},pull:function(){ie(!1)}}},[Z]);m.useEffect(function(){if(a){var me;pe==null||(me=pe.push)===null||me===void 0||me.call(pe)}else{var Re;pe==null||(Re=pe.pull)===null||Re===void 0||Re.call(pe)}},[a]),m.useEffect(function(){return function(){var me;pe==null||(me=pe.pull)===null||me===void 0||me.call(pe)}},[]);var fe=P&&m.createElement(Cg,Wv({key:"mask"},H,{visible:a}),function(me,Re){var ze=me.className,Ae=me.style;return m.createElement("div",{className:Vn("".concat(r,"-mask"),ze,p==null?void 0:p.mask,D),style:Qy(Qy(Qy({},Ae),E),Y==null?void 0:Y.mask),onClick:R&&a?U:void 0,ref:Re})}),se=typeof v=="function"?v(l):v,oe={};if(le&&Z)switch(l){case"top":oe.transform="translateY(".concat(Z,"px)");break;case"bottom":oe.transform="translateY(".concat(-Z,"px)");break;case"left":oe.transform="translateX(".concat(Z,"px)");break;default:oe.transform="translateX(".concat(-Z,"px)");break}l==="left"||l==="right"?oe.width=Qve(S):oe.height=Qve(w);var de={onMouseEnter:F,onMouseOver:W,onMouseLeave:B,onClick:k,onKeyDown:N,onKeyUp:j},ve=m.createElement(Cg,Wv({key:"panel"},se,{visible:a,forceRender:u,onVisibleChanged:function(Re){L==null||L(Re)},removeOnLeave:!1,leavedClassName:"".concat(r,"-content-wrapper-hidden")}),function(me,Re){var ze=me.className,Ae=me.style;return m.createElement("div",Wv({className:Vn("".concat(r,"-content-wrapper"),p==null?void 0:p.wrapper,ze),style:Qy(Qy(Qy({},oe),Ae),Y==null?void 0:Y.wrapper)},gf(t,{data:!0})),m.createElement(ONt,Wv({id:C,containerRef:Re,prefixCls:r,className:Vn(x,p==null?void 0:p.content),style:Qy(Qy({},b),Y==null?void 0:Y.content)},gf(t,{aria:!0}),de),T))}),Pe=Qy({},y);return A&&(Pe.zIndex=A),m.createElement($ve.Provider,{value:he},m.createElement("div",{className:Vn(r,"".concat(r,"-").concat(l),g,N0e(N0e({},"".concat(r,"-open"),a),"".concat(r,"-inline"),s)),style:Pe,tabIndex:-1,ref:_,onKeyDown:ee},fe,m.createElement("div",{tabIndex:0,ref:J,style:Zve,"aria-hidden":"true","data-sentinel":"start"}),ve,m.createElement("div",{tabIndex:0,ref:Q,style:Zve,"aria-hidden":"true","data-sentinel":"end"})))}var VNt=m.forwardRef(_Nt),GNt=function(e){var n=e.open,o=n===void 0?!1:n,i=e.prefixCls,r=i===void 0?"rc-drawer":i,a=e.placement,l=a===void 0?"right":a,s=e.autoFocus,c=s===void 0?!0:s,u=e.keyboard,d=u===void 0?!0:u,f=e.width,p=f===void 0?378:f,g=e.mask,y=g===void 0?!0:g,A=e.maskClosable,x=A===void 0?!0:A,C=e.getContainer,b=e.forceRender,v=e.afterOpenChange,S=e.destroyOnClose,w=e.onMouseEnter,T=e.onMouseOver,P=e.onMouseLeave,R=e.onClick,H=e.onKeyDown,D=e.onKeyUp,E=e.panelRef,L=m.useState(!1),U=U0e(L,2),F=U[0],W=U[1],B=m.useState(!1),k=U0e(B,2),N=k[0],j=k[1];Ba(function(){j(!0)},[]);var Y=N?o:!1,_=m.useRef(),J=m.useRef();Ba(function(){Y&&(J.current=document.activeElement)},[Y]);var Q=function(ie){var pe;if(W(ie),v==null||v(ie),!ie&&J.current&&!((pe=_.current)!==null&&pe!==void 0&&pe.contains(J.current))){var ne;(ne=J.current)===null||ne===void 0||ne.focus({preventScroll:!0})}},ee=m.useMemo(function(){return{panel:E}},[E]);if(!b&&!F&&!Y&&S)return null;var $={onMouseEnter:w,onMouseOver:T,onMouseLeave:P,onClick:R,onKeyDown:H,onKeyUp:D},q=Qy(Qy({},e),{},{open:Y,prefixCls:r,placement:l,autoFocus:c,keyboard:d,width:p,mask:y,maskClosable:x,inline:C===!1,afterOpenChange:Q,ref:_},$);return m.createElement(CXe.Provider,{value:ee},m.createElement(u$,{open:Y||b||F,autoDestroy:!1,getContainer:C,autoLock:y&&(Y||F)},m.createElement(VNt,q)))};const XNt=new ul("antSpinMove",{to:{opacity:1}}),JNt=new ul("antRotate",{to:{transform:"rotate(405deg)"}}),KNt=t=>{const{componentCls:e,calc:n}=t;return{[`${e}`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",display:"none",color:t.colorPrimary,fontSize:0,textAlign:"center",verticalAlign:"middle",opacity:0,transition:`transform ${t.motionDurationSlow} ${t.motionEaseInOutCirc}`,"&-spinning":{position:"static",display:"inline-block",opacity:1},[`${e}-text`]:{fontSize:t.fontSize,paddingTop:n(n(t.dotSize).sub(t.fontSize)).div(2).add(2).equal()},"&-fullscreen":{position:"fixed",width:"100vw",height:"100vh",backgroundColor:t.colorBgMask,zIndex:t.zIndexPopupBase,inset:0,display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center",opacity:0,visibility:"hidden",transition:`all ${t.motionDurationMid}`,"&-show":{opacity:1,visibility:"visible"},[`${e}-dot ${e}-dot-item`]:{backgroundColor:t.colorWhite},[`${e}-text`]:{color:t.colorTextLightSolid}},"&-nested-loading":{position:"relative",[`> div > ${e}`]:{position:"absolute",top:0,insetInlineStart:0,zIndex:4,display:"block",width:"100%",height:"100%",maxHeight:t.contentHeight,[`${e}-dot`]:{position:"absolute",top:"50%",insetInlineStart:"50%",margin:n(t.dotSize).mul(-1).div(2).equal()},[`${e}-text`]:{position:"absolute",top:"50%",width:"100%",textShadow:`0 1px 2px ${t.colorBgContainer}`},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSize).div(2).mul(-1).sub(10).equal()},"&-sm":{[`${e}-dot`]:{margin:n(t.dotSizeSM).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:n(n(t.dotSizeSM).sub(t.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSizeSM).div(2).mul(-1).sub(10).equal()}},"&-lg":{[`${e}-dot`]:{margin:n(t.dotSizeLG).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:n(n(t.dotSizeLG).sub(t.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSizeLG).div(2).mul(-1).sub(10).equal()}}},[`${e}-container`]:{position:"relative",transition:`opacity ${t.motionDurationSlow}`,"&::after":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:10,width:"100%",height:"100%",background:t.colorBgContainer,opacity:0,transition:`all ${t.motionDurationSlow}`,content:'""',pointerEvents:"none"}},[`${e}-blur`]:{clear:"both",opacity:.5,userSelect:"none",pointerEvents:"none","&::after":{opacity:.4,pointerEvents:"auto"}}},"&-tip":{color:t.spinDotDefault},[`${e}-dot`]:{position:"relative",display:"inline-block",fontSize:t.dotSize,width:"1em",height:"1em","&-item":{position:"absolute",display:"block",width:n(t.dotSize).sub(n(t.marginXXS).div(2)).div(2).equal(),height:n(t.dotSize).sub(n(t.marginXXS).div(2)).div(2).equal(),backgroundColor:t.colorPrimary,borderRadius:"100%",transform:"scale(0.75)",transformOrigin:"50% 50%",opacity:.3,animationName:XNt,animationDuration:"1s",animationIterationCount:"infinite",animationTimingFunction:"linear",animationDirection:"alternate","&:nth-child(1)":{top:0,insetInlineStart:0,animationDelay:"0s"},"&:nth-child(2)":{top:0,insetInlineEnd:0,animationDelay:"0.4s"},"&:nth-child(3)":{insetInlineEnd:0,bottom:0,animationDelay:"0.8s"},"&:nth-child(4)":{bottom:0,insetInlineStart:0,animationDelay:"1.2s"}},"&-spin":{transform:"rotate(45deg)",animationName:JNt,animationDuration:"1.2s",animationIterationCount:"infinite",animationTimingFunction:"linear"}},[`&-sm ${e}-dot`]:{fontSize:t.dotSizeSM,i:{width:n(n(t.dotSizeSM).sub(n(t.marginXXS).div(2))).div(2).equal(),height:n(n(t.dotSizeSM).sub(n(t.marginXXS).div(2))).div(2).equal()}},[`&-lg ${e}-dot`]:{fontSize:t.dotSizeLG,i:{width:n(n(t.dotSizeLG).sub(t.marginXXS)).div(2).equal(),height:n(n(t.dotSizeLG).sub(t.marginXXS)).div(2).equal()}},[`&${e}-show-text ${e}-text`]:{display:"block"}})}},qNt=t=>{const{controlHeightLG:e,controlHeight:n}=t;return{contentHeight:400,dotSize:e/2,dotSizeSM:e*.35,dotSizeLG:n}},$Nt=Fl("Spin",t=>{const e=Zr(t,{spinDotDefault:t.colorTextDescription});return[KNt(e)]},qNt);var QNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,spinning:n=!0,delay:o=0,className:i,rootClassName:r,size:a="default",tip:l,wrapperClassName:s,style:c,children:u,fullscreen:d=!1}=t,f=QNt(t,["prefixCls","spinning","delay","className","rootClassName","size","tip","wrapperClassName","style","children","fullscreen"]),{getPrefixCls:p}=m.useContext(Mi),g=p("spin",e),[y,A,x]=$Nt(g),[C,b]=m.useState(()=>n&&!eUt(n,o));m.useEffect(()=>{if(n){const E=kLt(o,()=>{b(!0)});return E(),()=>{var L;(L=E==null?void 0:E.cancel)===null||L===void 0||L.call(E)}}b(!1)},[o,n]);const v=m.useMemo(()=>typeof u<"u"&&!d,[u,d]),{direction:S,spin:w}=m.useContext(Mi),T=Gn(g,w==null?void 0:w.className,{[`${g}-sm`]:a==="small",[`${g}-lg`]:a==="large",[`${g}-spinning`]:C,[`${g}-show-text`]:!!l,[`${g}-fullscreen`]:d,[`${g}-fullscreen-show`]:d&&C,[`${g}-rtl`]:S==="rtl"},i,r,A,x),P=Gn(`${g}-container`,{[`${g}-blur`]:C}),R=lp(f,["indicator"]),H=Object.assign(Object.assign({},w==null?void 0:w.style),c),D=m.createElement("div",Object.assign({},R,{style:H,className:T,"aria-live":"polite","aria-busy":C}),ZNt(g,t),l&&(v||d)?m.createElement("div",{className:`${g}-text`},l):null);return y(v?m.createElement("div",Object.assign({},R,{className:Gn(`${g}-nested-loading`,s,A,x)}),C&&m.createElement("div",{key:"loading"},D),m.createElement("div",{className:P,key:"container"},u)):D)};LW.setDefaultIndicator=t=>{W_=t};const RXe=t=>{var e,n;const{prefixCls:o,title:i,footer:r,extra:a,loading:l,onClose:s,headerStyle:c,bodyStyle:u,footerStyle:d,children:f,classNames:p,styles:g}=t,{drawer:y}=m.useContext(Mi),A=m.useCallback(w=>m.createElement("button",{type:"button",onClick:s,"aria-label":"Close",className:`${o}-close`},w),[s]),[x,C]=Jge(oR(t),oR(y),{closable:!0,closeIconRender:A});let b;typeof l=="boolean"?b={spinning:l}:typeof l=="object"&&(b=Object.assign({spinning:!0},l));const v=m.useMemo(()=>{var w,T;return!i&&!x?null:m.createElement("div",{style:Object.assign(Object.assign(Object.assign({},(w=y==null?void 0:y.styles)===null||w===void 0?void 0:w.header),c),g==null?void 0:g.header),className:Gn(`${o}-header`,{[`${o}-header-close-only`]:x&&!i&&!a},(T=y==null?void 0:y.classNames)===null||T===void 0?void 0:T.header,p==null?void 0:p.header)},m.createElement("div",{className:`${o}-header-title`},C,i&&m.createElement("div",{className:`${o}-title`},i)),a&&m.createElement("div",{className:`${o}-extra`},a))},[x,C,a,c,o,i]),S=m.useMemo(()=>{var w,T;if(!r)return null;const P=`${o}-footer`;return m.createElement("div",{className:Gn(P,(w=y==null?void 0:y.classNames)===null||w===void 0?void 0:w.footer,p==null?void 0:p.footer),style:Object.assign(Object.assign(Object.assign({},(T=y==null?void 0:y.styles)===null||T===void 0?void 0:T.footer),d),g==null?void 0:g.footer)},r)},[r,d,o]);return b!=null&&b.spinning?m.createElement(LW,Object.assign({spinning:!1,style:{height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},b)):m.createElement(m.Fragment,null,v,m.createElement("div",{className:Gn(`${o}-body`,p==null?void 0:p.body,(e=y==null?void 0:y.classNames)===null||e===void 0?void 0:e.body),style:Object.assign(Object.assign(Object.assign({},(n=y==null?void 0:y.styles)===null||n===void 0?void 0:n.body),u),g==null?void 0:g.body)},f),S)},tUt=t=>{const e="100%";return{left:`translateX(-${e})`,right:`translateX(${e})`,top:`translateY(-${e})`,bottom:`translateY(${e})`}[t]},HXe=(t,e)=>({"&-enter, &-appear":Object.assign(Object.assign({},t),{"&-active":e}),"&-leave":Object.assign(Object.assign({},e),{"&-active":t})}),MXe=(t,e)=>Object.assign({"&-enter, &-appear, &-leave":{"&-start":{transition:"none"},"&-active":{transition:`all ${e}`}}},HXe({opacity:t},{opacity:1})),nUt=(t,e)=>[MXe(.7,e),HXe({transform:tUt(t)},{transform:"none"})],oUt=t=>{const{componentCls:e,motionDurationSlow:n}=t;return{[e]:{[`${e}-mask-motion`]:MXe(0,n),[`${e}-panel-motion`]:["left","right","top","bottom"].reduce((o,i)=>Object.assign(Object.assign({},o),{[`&-${i}`]:nUt(i,n)}),{})}}},iUt=t=>{const{borderRadiusSM:e,componentCls:n,zIndexPopup:o,colorBgMask:i,colorBgElevated:r,motionDurationSlow:a,motionDurationMid:l,paddingXS:s,padding:c,paddingLG:u,fontSizeLG:d,lineHeightLG:f,lineWidth:p,lineType:g,colorSplit:y,marginXS:A,colorIcon:x,colorIconHover:C,colorBgTextHover:b,colorBgTextActive:v,colorText:S,fontWeightStrong:w,footerPaddingBlock:T,footerPaddingInline:P,calc:R}=t,H=`${n}-content-wrapper`;return{[n]:{position:"fixed",inset:0,zIndex:o,pointerEvents:"none","&-pure":{position:"relative",background:r,display:"flex",flexDirection:"column",[`&${n}-left`]:{boxShadow:t.boxShadowDrawerLeft},[`&${n}-right`]:{boxShadow:t.boxShadowDrawerRight},[`&${n}-top`]:{boxShadow:t.boxShadowDrawerUp},[`&${n}-bottom`]:{boxShadow:t.boxShadowDrawerDown}},"&-inline":{position:"absolute"},[`${n}-mask`]:{position:"absolute",inset:0,zIndex:o,background:i,pointerEvents:"auto"},[H]:{position:"absolute",zIndex:o,maxWidth:"100vw",transition:`all ${a}`,"&-hidden":{display:"none"}},[`&-left > ${H}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:t.boxShadowDrawerLeft},[`&-right > ${H}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:t.boxShadowDrawerRight},[`&-top > ${H}`]:{top:0,insetInline:0,boxShadow:t.boxShadowDrawerUp},[`&-bottom > ${H}`]:{bottom:0,insetInline:0,boxShadow:t.boxShadowDrawerDown},[`${n}-content`]:{display:"flex",flexDirection:"column",width:"100%",height:"100%",overflow:"auto",background:r,pointerEvents:"auto"},[`${n}-header`]:{display:"flex",flex:0,alignItems:"center",padding:`${Ut(c)} ${Ut(u)}`,fontSize:d,lineHeight:f,borderBottom:`${Ut(p)} ${g} ${y}`,"&-title":{display:"flex",flex:1,alignItems:"center",minWidth:0,minHeight:0}},[`${n}-extra`]:{flex:"none"},[`${n}-close`]:Object.assign({display:"inline-flex",width:R(d).add(s).equal(),height:R(d).add(s).equal(),borderRadius:e,justifyContent:"center",alignItems:"center",marginInlineEnd:A,color:x,fontWeight:w,fontSize:d,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",textDecoration:"none",background:"transparent",border:0,cursor:"pointer",transition:`all ${l}`,textRendering:"auto","&:hover":{color:C,backgroundColor:b,textDecoration:"none"},"&:active":{backgroundColor:v}},V6(t)),[`${n}-title`]:{flex:1,margin:0,color:S,fontWeight:t.fontWeightStrong,fontSize:d,lineHeight:f},[`${n}-body`]:{flex:1,minWidth:0,minHeight:0,padding:u,overflow:"auto"},[`${n}-footer`]:{flexShrink:0,padding:`${Ut(T)} ${Ut(P)}`,borderTop:`${Ut(p)} ${g} ${y}`},"&-rtl":{direction:"rtl"}}}},rUt=t=>({zIndexPopup:t.zIndexPopupBase,footerPaddingBlock:t.paddingXS,footerPaddingInline:t.padding}),IXe=Fl("Drawer",t=>{const e=Zr(t,{});return[iUt(e),oUt(e)]},rUt);var zXe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{rootClassName:e,width:n,height:o,size:i="default",mask:r=!0,push:a=aUt,open:l,afterOpenChange:s,onClose:c,prefixCls:u,getContainer:d,style:f,className:p,visible:g,afterVisibleChange:y,maskStyle:A,drawerStyle:x,contentWrapperStyle:C}=t,b=zXe(t,["rootClassName","width","height","size","mask","push","open","afterOpenChange","onClose","prefixCls","getContainer","style","className","visible","afterVisibleChange","maskStyle","drawerStyle","contentWrapperStyle"]),{getPopupContainer:v,getPrefixCls:S,direction:w,drawer:T}=m.useContext(Mi),P=S("drawer",u),[R,H,D]=IXe(P),E=d===void 0&&v?()=>v(document.body):d,L=Gn({"no-mask":!r,[`${P}-rtl`]:w==="rtl"},e,H,D),U=m.useMemo(()=>n??(i==="large"?736:378),[n,i]),F=m.useMemo(()=>o??(i==="large"?736:378),[o,i]),W={motionName:D9(P,"mask-motion"),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500},B=ee=>({motionName:D9(P,`panel-motion-${ee}`),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500}),k=X_e(),[N,j]=k7("Drawer",b.zIndex),{classNames:Y={},styles:_={}}=b,{classNames:J={},styles:Q={}}=T||{};return R(m.createElement(k9,null,m.createElement(rR,{status:!0,override:!0},m.createElement(yW.Provider,{value:j},m.createElement(GNt,Object.assign({prefixCls:P,onClose:c,maskMotion:W,motion:B},b,{classNames:{mask:Gn(Y.mask,J.mask),content:Gn(Y.content,J.content),wrapper:Gn(Y.wrapper,J.wrapper)},styles:{mask:Object.assign(Object.assign(Object.assign({},_.mask),A),Q.mask),content:Object.assign(Object.assign(Object.assign({},_.content),x),Q.content),wrapper:Object.assign(Object.assign(Object.assign({},_.wrapper),C),Q.wrapper)},open:l??g,mask:r,push:a,width:U,height:F,style:Object.assign(Object.assign({},T==null?void 0:T.style),f),className:Gn(T==null?void 0:T.className,p),rootClassName:L,getContainer:E,afterOpenChange:s??y,panelRef:k,zIndex:N}),m.createElement(RXe,Object.assign({prefixCls:P},b,{onClose:c})))))))},lUt=t=>{const{prefixCls:e,style:n,className:o,placement:i="right"}=t,r=zXe(t,["prefixCls","style","className","placement"]),{getPrefixCls:a}=m.useContext(Mi),l=a("drawer",e),[s,c,u]=IXe(l),d=Gn(l,`${l}-pure`,`${l}-${i}`,c,u,o);return s(m.createElement("div",{className:d,style:n},m.createElement(RXe,Object.assign({prefixCls:l},r))))};B0e._InternalPanelDoNotUseOrYouWillBeFired=lUt;function exe(t){return["small","middle","large"].includes(t)}function txe(t){return t?typeof t=="number"&&!Number.isNaN(t):!1}const DXe=Se.createContext({latestIndex:0}),sUt=DXe.Provider,cUt=t=>{let{className:e,index:n,children:o,split:i,style:r}=t;const{latestIndex:a}=m.useContext(DXe);return o==null?null:m.createElement(m.Fragment,null,m.createElement("div",{className:e,style:r},o),n{var n,o;const{getPrefixCls:i,space:r,direction:a}=m.useContext(Mi),{size:l=(r==null?void 0:r.size)||"small",align:s,className:c,rootClassName:u,children:d,direction:f="horizontal",prefixCls:p,split:g,style:y,wrap:A=!1,classNames:x,styles:C}=t,b=uUt(t,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[v,S]=Array.isArray(l)?l:[l,l],w=exe(S),T=exe(v),P=txe(S),R=txe(v),H=E9(d,{keepEmpty:!0}),D=s===void 0&&f==="horizontal"?"center":s,E=i("space",p),[L,U,F]=A_e(E),W=Gn(E,r==null?void 0:r.className,U,`${E}-${f}`,{[`${E}-rtl`]:a==="rtl",[`${E}-align-${D}`]:D,[`${E}-gap-row-${S}`]:w,[`${E}-gap-col-${v}`]:T},c,u,F),B=Gn(`${E}-item`,(n=x==null?void 0:x.item)!==null&&n!==void 0?n:(o=r==null?void 0:r.classNames)===null||o===void 0?void 0:o.item);let k=0;const N=H.map((_,J)=>{var Q,ee;_!=null&&(k=J);const $=_&&_.key||`${B}-${J}`;return m.createElement(cUt,{className:B,key:$,index:J,split:g,style:(Q=C==null?void 0:C.item)!==null&&Q!==void 0?Q:(ee=r==null?void 0:r.styles)===null||ee===void 0?void 0:ee.item},_)}),j=m.useMemo(()=>({latestIndex:k}),[k]);if(H.length===0)return null;const Y={};return A&&(Y.flexWrap="wrap"),!T&&R&&(Y.columnGap=v),!w&&P&&(Y.rowGap=S),L(m.createElement("div",Object.assign({ref:e,className:W,style:Object.assign(Object.assign(Object.assign({},Y),r==null?void 0:r.style),y)},b),m.createElement(sUt,{value:j},N)))}),en=dUt;en.Compact=DCt;var fUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPopupContainer:e,getPrefixCls:n,direction:o}=m.useContext(Mi),{prefixCls:i,type:r="default",danger:a,disabled:l,loading:s,onClick:c,htmlType:u,children:d,className:f,menu:p,arrow:g,autoFocus:y,overlay:A,trigger:x,align:C,open:b,onOpenChange:v,placement:S,getPopupContainer:w,href:T,icon:P=m.createElement(pme,null),title:R,buttonsRender:H=le=>le,mouseEnterDelay:D,mouseLeaveDelay:E,overlayClassName:L,overlayStyle:U,destroyPopupOnHide:F,dropdownRender:W}=t,B=fUt(t,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),k=n("dropdown",i),N=`${k}-button`,j={menu:p,arrow:g,autoFocus:y,align:C,disabled:l,trigger:l?[]:x,onOpenChange:v,getPopupContainer:w||e,mouseEnterDelay:D,mouseLeaveDelay:E,overlayClassName:L,overlayStyle:U,destroyPopupOnHide:F,dropdownRender:W},{compactSize:Y,compactItemClassnames:_}=F7(k,o),J=Gn(N,_,f);"overlay"in t&&(j.overlay=A),"open"in t&&(j.open=b),"placement"in t?j.placement=S:j.placement=o==="rtl"?"bottomLeft":"bottomRight";const Q=m.createElement(no,{type:r,danger:a,disabled:l,loading:s,onClick:c,htmlType:u,href:T,title:R},d),ee=m.createElement(no,{type:r,danger:a,icon:P}),[$,q]=H([Q,ee]);return m.createElement(en.Compact,Object.assign({className:J,size:Y,block:!0},B),$,m.createElement(C$,Object.assign({},j),q))};EXe.__ANT_BUTTON=!0;const W7=C$;W7.Button=EXe;var hUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},pUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:hUt}))},WW=m.forwardRef(pUt);function nxe(t){var e=t.getBoundingClientRect(),n=document.documentElement;return{left:e.left+(window.pageXOffset||n.scrollLeft)-(n.clientLeft||document.body.clientLeft||0),top:e.top+(window.pageYOffset||n.scrollTop)-(n.clientTop||document.body.clientTop||0)}}function bY(t,e,n,o){var i=MV.unstable_batchedUpdates?function(a){MV.unstable_batchedUpdates(n,a)}:n;return t!=null&&t.addEventListener&&t.addEventListener(e,i,o),{remove:function(){t!=null&&t.removeEventListener&&t.removeEventListener(e,i,o)}}}const kXe=function(){const t=Object.assign({},arguments.length<=0?void 0:arguments[0]);for(let e=1;e{const i=n[o];i!==void 0&&(t[o]=i)})}return t};var gUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"},mUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:gUt}))},oxe=m.forwardRef(mUt),yUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"},AUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yUt}))},ixe=m.forwardRef(AUt),wUt={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"},vUt=["10","20","50","100"],xUt=function(e){var n=e.pageSizeOptions,o=n===void 0?vUt:n,i=e.locale,r=e.changeSize,a=e.pageSize,l=e.goButton,s=e.quickGo,c=e.rootPrefixCls,u=e.selectComponentClass,d=e.selectPrefixCls,f=e.disabled,p=e.buildOptionText,g=Se.useState(""),y=on(g,2),A=y[0],x=y[1],C=function(){return!A||Number.isNaN(A)?void 0:Number(A)},b=typeof p=="function"?p:function(U){return"".concat(U," ").concat(i.items_per_page)},v=function(F){r==null||r(Number(F))},S=function(F){x(F.target.value)},w=function(F){l||A===""||(x(""),!(F.relatedTarget&&(F.relatedTarget.className.indexOf("".concat(c,"-item-link"))>=0||F.relatedTarget.className.indexOf("".concat(c,"-item"))>=0))&&(s==null||s(C())))},T=function(F){A!==""&&(F.keyCode===Bn.ENTER||F.type==="click")&&(x(""),s==null||s(C()))},P=function(){return o.some(function(F){return F.toString()===a.toString()})?o:o.concat([a.toString()]).sort(function(F,W){var B=Number.isNaN(Number(F))?0:Number(F),k=Number.isNaN(Number(W))?0:Number(W);return B-k})},R="".concat(c,"-options");if(!r&&!s)return null;var H=null,D=null,E=null;if(r&&u){var L=P().map(function(U,F){return Se.createElement(u.Option,{key:F,value:U.toString()},b(U))});H=Se.createElement(u,{disabled:f,prefixCls:d,showSearch:!1,className:"".concat(R,"-size-changer"),optionLabelProp:"children",popupMatchSelectWidth:!1,value:(a||o[0]).toString(),onChange:v,getPopupContainer:function(F){return F.parentNode},"aria-label":i.page_size,defaultOpen:!1},L)}return s&&(l&&(E=typeof l=="boolean"?Se.createElement("button",{type:"button",onClick:T,onKeyUp:T,disabled:f,className:"".concat(R,"-quick-jumper-button")},i.jump_to_confirm):Se.createElement("span",{onClick:T,onKeyUp:T},l)),D=Se.createElement("div",{className:"".concat(R,"-quick-jumper")},i.jump_to,Se.createElement("input",{disabled:f,type:"text",value:A,onChange:S,onKeyUp:T,onBlur:w,"aria-label":i.page}),i.page,E)),Se.createElement("li",{className:R},H,D)},Cz=function(e){var n,o=e.rootPrefixCls,i=e.page,r=e.active,a=e.className,l=e.showTitle,s=e.onClick,c=e.onKeyPress,u=e.itemRender,d="".concat(o,"-item"),f=Vn(d,"".concat(d,"-").concat(i),(n={},_t(n,"".concat(d,"-active"),r),_t(n,"".concat(d,"-disabled"),!i),n),a),p=function(){s(i)},g=function(x){c(x,s,i)},y=u(i,"page",Se.createElement("a",{rel:"nofollow"},i));return y?Se.createElement("li",{title:l?String(i):null,className:f,onClick:p,onKeyDown:g,tabIndex:0},y):null},bUt=function(e,n,o){return o};function rxe(){}function axe(t){var e=Number(t);return typeof e=="number"&&!Number.isNaN(e)&&isFinite(e)&&Math.floor(e)===e}function O8(t,e,n){var o=typeof t>"u"?e:t;return Math.floor((n-1)/o)+1}var SUt=function(e){var n,o=e.prefixCls,i=o===void 0?"rc-pagination":o,r=e.selectPrefixCls,a=r===void 0?"rc-select":r,l=e.className,s=e.selectComponentClass,c=e.current,u=e.defaultCurrent,d=u===void 0?1:u,f=e.total,p=f===void 0?0:f,g=e.pageSize,y=e.defaultPageSize,A=y===void 0?10:y,x=e.onChange,C=x===void 0?rxe:x,b=e.hideOnSinglePage,v=e.showPrevNextJumpers,S=v===void 0?!0:v,w=e.showQuickJumper,T=e.showLessItems,P=e.showTitle,R=P===void 0?!0:P,H=e.onShowSizeChange,D=H===void 0?rxe:H,E=e.locale,L=E===void 0?wUt:E,U=e.style,F=e.totalBoundaryShowSizeChanger,W=F===void 0?50:F,B=e.disabled,k=e.simple,N=e.showTotal,j=e.showSizeChanger,Y=e.pageSizeOptions,_=e.itemRender,J=_===void 0?bUt:_,Q=e.jumpPrevIcon,ee=e.jumpNextIcon,$=e.prevIcon,q=e.nextIcon,le=Se.useRef(null),ie=Rs(10,{value:g,defaultValue:A}),pe=on(ie,2),ne=pe[0],Z=pe[1],he=Rs(1,{value:c,defaultValue:d,postState:function(hn){return Math.max(1,Math.min(hn,O8(void 0,ne,p)))}}),fe=on(he,2),se=fe[0],oe=fe[1],de=Se.useState(se),ve=on(de,2),Pe=ve[0],me=ve[1];m.useEffect(function(){me(se)},[se]);var Re=Math.max(1,se-(T?3:5)),ze=Math.min(O8(void 0,ne,p),se+(T?3:5));function Ae(Jt,hn){var cn=Jt||Se.createElement("button",{type:"button","aria-label":hn,className:"".concat(i,"-item-link")});return typeof Jt=="function"&&(cn=Se.createElement(Jt,$t({},e))),cn}function re(Jt){var hn=Jt.target.value,cn=O8(void 0,ne,p),Sn;return hn===""?Sn=hn:Number.isNaN(Number(hn))?Sn=Pe:hn>=cn?Sn=cn:Sn=Number(hn),Sn}function ge(Jt){return axe(Jt)&&Jt!==se&&axe(p)&&p>0}var we=p>ne?w:!1;function ye(Jt){(Jt.keyCode===Bn.UP||Jt.keyCode===Bn.DOWN)&&Jt.preventDefault()}function Te(Jt){var hn=re(Jt);switch(hn!==Pe&&me(hn),Jt.keyCode){case Bn.ENTER:Ee(hn);break;case Bn.UP:Ee(hn-1);break;case Bn.DOWN:Ee(hn+1);break}}function Ie(Jt){Ee(re(Jt))}function Ce(Jt){var hn=O8(Jt,ne,p),cn=se>hn&&hn!==0?hn:se;Z(Jt),me(cn),D==null||D(se,Jt),oe(cn),C==null||C(cn,Jt)}function Ee(Jt){if(ge(Jt)&&!B){var hn=O8(void 0,ne,p),cn=Jt;return Jt>hn?cn=hn:Jt<1&&(cn=1),cn!==Pe&&me(cn),oe(cn),C==null||C(cn,ne),cn}return se}var Ue=se>1,Ne=seW;function qe(){Ue&&Ee(se-1)}function We(){Ne&&Ee(se+1)}function De(){Ee(Re)}function Fe(){Ee(ze)}function _e(Jt,hn){if(Jt.key==="Enter"||Jt.charCode===Bn.ENTER||Jt.keyCode===Bn.ENTER){for(var cn=arguments.length,Sn=new Array(cn>2?cn-2:0),Pn=2;Pnp?p:se*ne])),Oe=null,et=O8(void 0,ne,p);if(b&&p<=ne)return null;var vt=[],ct={rootPrefixCls:i,onClick:Ee,onKeyPress:_e,showTitle:R,itemRender:J,page:-1},lt=se-1>0?se-1:0,tt=se+1=st*2&&se!==3&&(vt[0]=Se.cloneElement(vt[0],{className:Vn("".concat(i,"-item-after-jump-prev"),vt[0].props.className)}),vt.unshift(wt)),et-se>=st*2&&se!==et-2){var xt=vt[vt.length-1];vt[vt.length-1]=Se.cloneElement(xt,{className:Vn("".concat(i,"-item-before-jump-next"),xt.props.className)}),vt.push(Oe)}Je!==1&&vt.unshift(Se.createElement(Cz,so({},ct,{key:1,page:1}))),mt!==et&&vt.push(Se.createElement(Cz,so({},ct,{key:et,page:et})))}var It=je(lt);if(It){var Tt=!Ue||!et;It=Se.createElement("li",{title:R?L.prev_page:null,onClick:qe,tabIndex:Tt?null:0,onKeyDown:ot,className:Vn("".concat(i,"-prev"),_t({},"".concat(i,"-disabled"),Tt)),"aria-disabled":Tt},It)}var Dt=at(tt);if(Dt){var Lt,Et;k?(Lt=!Ne,Et=Ue?0:null):(Lt=!Ne||!et,Et=Lt?null:0),Dt=Se.createElement("li",{title:R?L.next_page:null,onClick:We,tabIndex:Et,onKeyDown:Ye,className:Vn("".concat(i,"-next"),_t({},"".concat(i,"-disabled"),Lt)),"aria-disabled":Lt},Dt)}var an=Vn(i,l,(n={},_t(n,"".concat(i,"-simple"),k),_t(n,"".concat(i,"-disabled"),B),n));return Se.createElement("ul",so({className:an,style:U,ref:le},rt),Qe,It,k?Mt:vt,Dt,Se.createElement(xUt,{locale:L,rootPrefixCls:i,disabled:B,selectComponentClass:s,selectPrefixCls:a,changeSize:Le?Ce:null,pageSize:ne,pageSizeOptions:Y,quickGo:we?Ee:null,goButton:At}))};const FXe=t=>m.createElement(Yo,Object.assign({},t,{showSearch:!0,size:"small"})),LXe=t=>m.createElement(Yo,Object.assign({},t,{showSearch:!0,size:"middle"}));FXe.Option=Yo.Option;LXe.Option=Yo.Option;const TUt=t=>{const{componentCls:e}=t;return{[`${e}-disabled`]:{"&, &:hover":{cursor:"not-allowed",[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed"}},"&:focus-visible":{cursor:"not-allowed",[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed"}}},[`&${e}-disabled`]:{cursor:"not-allowed",[`${e}-item`]:{cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},a:{color:t.colorTextDisabled,backgroundColor:"transparent",border:"none",cursor:"not-allowed"},"&-active":{borderColor:t.colorBorder,backgroundColor:t.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:t.itemActiveBgDisabled},a:{color:t.itemActiveColorDisabled}}},[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},[`${e}-simple&`]:{backgroundColor:"transparent","&:hover, &:active":{backgroundColor:"transparent"}}},[`${e}-simple-pager`]:{color:t.colorTextDisabled},[`${e}-jump-prev, ${e}-jump-next`]:{[`${e}-item-link-icon`]:{opacity:0},[`${e}-item-ellipsis`]:{opacity:1}}},[`&${e}-simple`]:{[`${e}-prev, ${e}-next`]:{[`&${e}-disabled ${e}-item-link`]:{"&:hover, &:active":{backgroundColor:"transparent"}}}}}},PUt=t=>{const{componentCls:e}=t;return{[`&${e}-mini ${e}-total-text, &${e}-mini ${e}-simple-pager`]:{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini ${e}-item`]:{minWidth:t.itemSizeSM,height:t.itemSizeSM,margin:0,lineHeight:Ut(t.calc(t.itemSizeSM).sub(2).equal())},[`&${e}-mini:not(${e}-disabled) ${e}-item:not(${e}-item-active)`]:{backgroundColor:"transparent",borderColor:"transparent","&:hover":{backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive}},[`&${e}-mini ${e}-prev, &${e}-mini ${e}-next`]:{minWidth:t.itemSizeSM,height:t.itemSizeSM,margin:0,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini:not(${e}-disabled)`]:{[`${e}-prev, ${e}-next`]:{[`&:hover ${e}-item-link`]:{backgroundColor:t.colorBgTextHover},[`&:active ${e}-item-link`]:{backgroundColor:t.colorBgTextActive},[`&${e}-disabled:hover ${e}-item-link`]:{backgroundColor:"transparent"}}},[` &${e}-mini ${e}-prev ${e}-item-link, &${e}-mini ${e}-next ${e}-item-link - `]:{backgroundColor:"transparent",borderColor:"transparent","&::after":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)}},[`&${e}-mini ${e}-jump-prev, &${e}-mini ${e}-jump-next`]:{height:t.itemSizeSM,marginInlineEnd:0,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini ${e}-options`]:{marginInlineStart:t.paginationMiniOptionsMarginInlineStart,"&-size-changer":{top:t.miniOptionsSizeChangerTop},"&-quick-jumper":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM),input:Object.assign(Object.assign({},Cme(t)),{width:t.paginationMiniQuickJumperInputWidth,height:t.controlHeightSM})}}}},HUt=t=>{const{componentCls:e}=t;return{[` + `]:{backgroundColor:"transparent",borderColor:"transparent","&::after":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)}},[`&${e}-mini ${e}-jump-prev, &${e}-mini ${e}-jump-next`]:{height:t.itemSizeSM,marginInlineEnd:0,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini ${e}-options`]:{marginInlineStart:t.paginationMiniOptionsMarginInlineStart,"&-size-changer":{top:t.miniOptionsSizeChangerTop},"&-quick-jumper":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM),input:Object.assign(Object.assign({},Cme(t)),{width:t.paginationMiniQuickJumperInputWidth,height:t.controlHeightSM})}}}},CUt=t=>{const{componentCls:e}=t;return{[` &${e}-simple ${e}-prev, &${e}-simple ${e}-next - `]:{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM),verticalAlign:"top",[`${e}-item-link`]:{height:t.itemSizeSM,backgroundColor:"transparent",border:0,"&:hover":{backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive},"&::after":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)}}},[`&${e}-simple ${e}-simple-pager`]:{display:"inline-block",height:t.itemSizeSM,marginInlineEnd:t.marginXS,input:{boxSizing:"border-box",height:"100%",marginInlineEnd:t.marginXS,padding:`0 ${Ut(t.paginationItemPaddingInline)}`,textAlign:"center",backgroundColor:t.itemInputBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadius,outline:"none",transition:`border-color ${t.motionDurationMid}`,color:"inherit","&:hover":{borderColor:t.colorPrimary},"&:focus":{borderColor:t.colorPrimaryHover,boxShadow:`${Ut(t.inputOutlineOffset)} 0 ${Ut(t.controlOutlineWidth)} ${t.controlOutline}`},"&[disabled]":{color:t.colorTextDisabled,backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,cursor:"not-allowed"}}}}},MUt=t=>{const{componentCls:e}=t;return{[`${e}-jump-prev, ${e}-jump-next`]:{outline:0,[`${e}-item-container`]:{position:"relative",[`${e}-item-link-icon`]:{color:t.colorPrimary,fontSize:t.fontSizeSM,opacity:0,transition:`all ${t.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:"auto"}},[`${e}-item-ellipsis`]:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,display:"block",margin:"auto",color:t.colorTextDisabled,fontFamily:"Arial, Helvetica, sans-serif",letterSpacing:t.paginationEllipsisLetterSpacing,textAlign:"center",textIndent:t.paginationEllipsisTextIndent,opacity:1,transition:`all ${t.motionDurationMid}`}},"&:hover":{[`${e}-item-link-icon`]:{opacity:1},[`${e}-item-ellipsis`]:{opacity:0}}},[` + `]:{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM),verticalAlign:"top",[`${e}-item-link`]:{height:t.itemSizeSM,backgroundColor:"transparent",border:0,"&:hover":{backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive},"&::after":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)}}},[`&${e}-simple ${e}-simple-pager`]:{display:"inline-block",height:t.itemSizeSM,marginInlineEnd:t.marginXS,input:{boxSizing:"border-box",height:"100%",marginInlineEnd:t.marginXS,padding:`0 ${Ut(t.paginationItemPaddingInline)}`,textAlign:"center",backgroundColor:t.itemInputBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadius,outline:"none",transition:`border-color ${t.motionDurationMid}`,color:"inherit","&:hover":{borderColor:t.colorPrimary},"&:focus":{borderColor:t.colorPrimaryHover,boxShadow:`${Ut(t.inputOutlineOffset)} 0 ${Ut(t.controlOutlineWidth)} ${t.controlOutline}`},"&[disabled]":{color:t.colorTextDisabled,backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,cursor:"not-allowed"}}}}},RUt=t=>{const{componentCls:e}=t;return{[`${e}-jump-prev, ${e}-jump-next`]:{outline:0,[`${e}-item-container`]:{position:"relative",[`${e}-item-link-icon`]:{color:t.colorPrimary,fontSize:t.fontSizeSM,opacity:0,transition:`all ${t.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:"auto"}},[`${e}-item-ellipsis`]:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,display:"block",margin:"auto",color:t.colorTextDisabled,fontFamily:"Arial, Helvetica, sans-serif",letterSpacing:t.paginationEllipsisLetterSpacing,textAlign:"center",textIndent:t.paginationEllipsisTextIndent,opacity:1,transition:`all ${t.motionDurationMid}`}},"&:hover":{[`${e}-item-link-icon`]:{opacity:1},[`${e}-item-ellipsis`]:{opacity:0}}},[` ${e}-prev, ${e}-jump-prev, ${e}-jump-next @@ -4644,7 +4644,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho ${e}-next, ${e}-jump-prev, ${e}-jump-next - `]:{display:"inline-block",minWidth:t.itemSize,height:t.itemSize,color:t.colorText,fontFamily:t.fontFamily,lineHeight:`${Ut(t.itemSize)}`,textAlign:"center",verticalAlign:"middle",listStyle:"none",borderRadius:t.borderRadius,cursor:"pointer",transition:`all ${t.motionDurationMid}`},[`${e}-prev, ${e}-next`]:{fontFamily:"Arial, Helvetica, sans-serif",outline:0,button:{color:t.colorText,cursor:"pointer",userSelect:"none"},[`${e}-item-link`]:{display:"block",width:"100%",height:"100%",padding:0,fontSize:t.fontSizeSM,textAlign:"center",backgroundColor:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,borderRadius:t.borderRadius,outline:"none",transition:`all ${t.motionDurationMid}`},[`&:hover ${e}-item-link`]:{backgroundColor:t.colorBgTextHover},[`&:active ${e}-item-link`]:{backgroundColor:t.colorBgTextActive},[`&${e}-disabled:hover`]:{[`${e}-item-link`]:{backgroundColor:"transparent"}}},[`${e}-slash`]:{marginInlineEnd:t.paginationSlashMarginInlineEnd,marginInlineStart:t.paginationSlashMarginInlineStart},[`${e}-options`]:{display:"inline-block",marginInlineStart:t.margin,verticalAlign:"middle","&-size-changer.-select":{display:"inline-block",width:"auto"},"&-quick-jumper":{display:"inline-block",height:t.controlHeight,marginInlineStart:t.marginXS,lineHeight:Ut(t.controlHeight),verticalAlign:"top",input:Object.assign(Object.assign(Object.assign({},kW(t)),xme(t,{borderColor:t.colorBorder,hoverBorderColor:t.colorPrimaryHover,activeBorderColor:t.colorPrimary,activeShadow:t.activeShadow})),{"&[disabled]":Object.assign({},D$(t)),width:t.calc(t.controlHeightLG).mul(1.25).equal(),height:t.controlHeight,boxSizing:"border-box",margin:0,marginInlineStart:t.marginXS,marginInlineEnd:t.marginXS})}}}},IUt=t=>{const{componentCls:e}=t;return{[`${e}-item`]:{display:"inline-block",minWidth:t.itemSize,height:t.itemSize,marginInlineEnd:t.marginXS,fontFamily:t.fontFamily,lineHeight:Ut(t.calc(t.itemSize).sub(2).equal()),textAlign:"center",verticalAlign:"middle",listStyle:"none",backgroundColor:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,borderRadius:t.borderRadius,outline:0,cursor:"pointer",userSelect:"none",a:{display:"block",padding:`0 ${Ut(t.paginationItemPaddingInline)}`,color:t.colorText,"&:hover":{textDecoration:"none"}},[`&:not(${e}-item-active)`]:{"&:hover":{transition:`all ${t.motionDurationMid}`,backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive}},"&-active":{fontWeight:t.fontWeightStrong,backgroundColor:t.itemActiveBg,borderColor:t.colorPrimary,a:{color:t.colorPrimary},"&:hover":{borderColor:t.colorPrimaryHover},"&:hover a":{color:t.colorPrimaryHover}}}}},zUt=t=>{const{componentCls:e}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{"ul, ol":{margin:0,padding:0,listStyle:"none"},"&::after":{display:"block",clear:"both",height:0,overflow:"hidden",visibility:"hidden",content:'""'},[`${e}-total-text`]:{display:"inline-block",height:t.itemSize,marginInlineEnd:t.marginXS,lineHeight:Ut(t.calc(t.itemSize).sub(2).equal()),verticalAlign:"middle"}}),IUt(t)),MUt(t)),HUt(t)),RUt(t)),CUt(t)),{[`@media only screen and (max-width: ${t.screenLG}px)`]:{[`${e}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:"none"}}},[`@media only screen and (max-width: ${t.screenSM}px)`]:{[`${e}-options`]:{display:"none"}}}),[`&${t.componentCls}-rtl`]:{direction:"rtl"}}},DUt=t=>{const{componentCls:e}=t;return{[`${e}:not(${e}-disabled)`]:{[`${e}-item`]:Object.assign({},V6(t)),[`${e}-jump-prev, ${e}-jump-next`]:{"&:focus-visible":Object.assign({[`${e}-item-link-icon`]:{opacity:1},[`${e}-item-ellipsis`]:{opacity:0}},n7(t))},[`${e}-prev, ${e}-next`]:{[`&:focus-visible ${e}-item-link`]:Object.assign({},n7(t))}}}},WXe=t=>Object.assign({itemBg:t.colorBgContainer,itemSize:t.controlHeight,itemSizeSM:t.controlHeightSM,itemActiveBg:t.colorBgContainer,itemLinkBg:t.colorBgContainer,itemActiveColorDisabled:t.colorTextDisabled,itemActiveBgDisabled:t.controlItemBgActiveDisabled,itemInputBg:t.colorBgContainer,miniOptionsSizeChangerTop:0},EW(t)),NXe=t=>Zr(t,{inputOutlineOffset:0,paginationMiniOptionsMarginInlineStart:t.calc(t.marginXXS).div(2).equal(),paginationMiniQuickJumperInputWidth:t.calc(t.controlHeightLG).mul(1.1).equal(),paginationItemPaddingInline:t.calc(t.marginXXS).mul(1.5).equal(),paginationEllipsisLetterSpacing:t.calc(t.marginXXS).div(2).equal(),paginationSlashMarginInlineStart:t.marginXXS,paginationSlashMarginInlineEnd:t.marginSM,paginationEllipsisTextIndent:"0.13em"},DW(t)),EUt=Fl("Pagination",t=>{const e=NXe(t);return[zUt(e),DUt(e)]},WXe),kUt=t=>{const{componentCls:e}=t;return{[`${e}${e}-bordered${e}-disabled:not(${e}-mini)`]:{"&, &:hover":{[`${e}-item-link`]:{borderColor:t.colorBorder}},"&:focus-visible":{[`${e}-item-link`]:{borderColor:t.colorBorder}},[`${e}-item, ${e}-item-link`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,[`&:hover:not(${e}-item-active)`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,a:{color:t.colorTextDisabled}},[`&${e}-item-active`]:{backgroundColor:t.itemActiveBgDisabled}},[`${e}-prev, ${e}-next`]:{"&:hover button":{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,color:t.colorTextDisabled},[`${e}-item-link`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder}}},[`${e}${e}-bordered:not(${e}-mini)`]:{[`${e}-prev, ${e}-next`]:{"&:hover button":{borderColor:t.colorPrimaryHover,backgroundColor:t.itemBg},[`${e}-item-link`]:{backgroundColor:t.itemLinkBg,borderColor:t.colorBorder},[`&:hover ${e}-item-link`]:{borderColor:t.colorPrimary,backgroundColor:t.itemBg,color:t.colorPrimary},[`&${e}-disabled`]:{[`${e}-item-link`]:{borderColor:t.colorBorder,color:t.colorTextDisabled}}},[`${e}-item`]:{backgroundColor:t.itemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,[`&:hover:not(${e}-item-active)`]:{borderColor:t.colorPrimary,backgroundColor:t.itemBg,a:{color:t.colorPrimary}},"&-active":{borderColor:t.colorPrimary}}}}},FUt=mW(["Pagination","bordered"],t=>{const e=NXe(t);return[kUt(e)]},WXe);var LUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,selectPrefixCls:n,className:o,rootClassName:i,style:r,size:a,locale:l,selectComponentClass:s,responsive:c,showSizeChanger:u}=t,d=LUt(t,["prefixCls","selectPrefixCls","className","rootClassName","style","size","locale","selectComponentClass","responsive","showSizeChanger"]),{xs:f}=v$(c),[,p]=Yu(),{getPrefixCls:g,direction:y,pagination:A={}}=m.useContext(Mi),x=g("pagination",e),[C,b,v]=EUt(x),S=u??A.showSizeChanger,w=m.useMemo(()=>{const U=m.createElement("span",{className:`${x}-item-ellipsis`},"•••"),F=m.createElement("button",{className:`${x}-item-link`,type:"button",tabIndex:-1},y==="rtl"?m.createElement(bG,null):m.createElement(gve,null)),W=m.createElement("button",{className:`${x}-item-link`,type:"button",tabIndex:-1},y==="rtl"?m.createElement(gve,null):m.createElement(bG,null)),B=m.createElement("a",{className:`${x}-item-link`},m.createElement("div",{className:`${x}-item-container`},y==="rtl"?m.createElement(ixe,{className:`${x}-item-link-icon`}):m.createElement(oxe,{className:`${x}-item-link-icon`}),U)),k=m.createElement("a",{className:`${x}-item-link`},m.createElement("div",{className:`${x}-item-container`},y==="rtl"?m.createElement(oxe,{className:`${x}-item-link-icon`}):m.createElement(ixe,{className:`${x}-item-link-icon`}),U));return{prevIcon:F,nextIcon:W,jumpPrevIcon:B,jumpNextIcon:k}},[y,x]),[T]=D7("Pagination",rOe),P=Object.assign(Object.assign({},T),l),R=Cd(a),H=R==="small"||!!(f&&!R&&c),D=g("select",n),E=Gn({[`${x}-mini`]:H,[`${x}-rtl`]:y==="rtl",[`${x}-bordered`]:p.wireframe},A==null?void 0:A.className,o,i,b,v),L=Object.assign(Object.assign({},A==null?void 0:A.style),r);return C(m.createElement(m.Fragment,null,p.wireframe&&m.createElement(FUt,{prefixCls:x}),m.createElement(PUt,Object.assign({},w,d,{style:L,prefixCls:x,selectPrefixCls:D,className:E,selectComponentClass:s||(H?FXe:LXe),locale:P,showSizeChanger:S}))))},kme=Se.createContext({});kme.Consumer;var BXe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{prefixCls:e,className:n,avatar:o,title:i,description:r}=t,a=BXe(t,["prefixCls","className","avatar","title","description"]);const{getPrefixCls:l}=m.useContext(Mi),s=l("list",e),c=Gn(`${s}-item-meta`,n),u=Se.createElement("div",{className:`${s}-item-meta-content`},i&&Se.createElement("h4",{className:`${s}-item-meta-title`},i),r&&Se.createElement("div",{className:`${s}-item-meta-description`},r));return Se.createElement("div",Object.assign({},a,{className:c}),o&&Se.createElement("div",{className:`${s}-item-meta-avatar`},o),(i||r)&&u)},NUt=Se.forwardRef((t,e)=>{const{prefixCls:n,children:o,actions:i,extra:r,className:a,colStyle:l}=t,s=BXe(t,["prefixCls","children","actions","extra","className","colStyle"]),{grid:c,itemLayout:u}=m.useContext(kme),{getPrefixCls:d}=m.useContext(Mi),f=()=>{let C;return m.Children.forEach(o,b=>{typeof b=="string"&&(C=!0)}),C&&m.Children.count(o)>1},p=()=>u==="vertical"?!!r:!f(),g=d("list",n),y=i&&i.length>0&&Se.createElement("ul",{className:`${g}-item-action`,key:"actions"},i.map((C,b)=>Se.createElement("li",{key:`${g}-item-action-${b}`},C,b!==i.length-1&&Se.createElement("em",{className:`${g}-item-action-split`})))),A=c?"div":"li",x=Se.createElement(A,Object.assign({},s,c?{}:{ref:e},{className:Gn(`${g}-item`,{[`${g}-item-no-flex`]:!p()},a)}),u==="vertical"&&r?[Se.createElement("div",{className:`${g}-item-main`,key:"content"},o,y),Se.createElement("div",{className:`${g}-item-extra`,key:"extra"},r)]:[o,y,Ou(r,{key:"extra"})]);return c?Se.createElement(nt,{ref:e,flex:1,style:l},x):x}),jXe=NUt;jXe.Meta=WUt;const UUt=t=>{const{listBorderedCls:e,componentCls:n,paddingLG:o,margin:i,itemPaddingSM:r,itemPaddingLG:a,marginLG:l,borderRadiusLG:s}=t;return{[`${e}`]:{border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:s,[`${n}-header,${n}-footer,${n}-item`]:{paddingInline:o},[`${n}-pagination`]:{margin:`${Ut(i)} ${Ut(l)}`}},[`${e}${n}-sm`]:{[`${n}-item,${n}-header,${n}-footer`]:{padding:r}},[`${e}${n}-lg`]:{[`${n}-item,${n}-header,${n}-footer`]:{padding:a}}}},BUt=t=>{const{componentCls:e,screenSM:n,screenMD:o,marginLG:i,marginSM:r,margin:a}=t;return{[`@media screen and (max-width:${o}px)`]:{[`${e}`]:{[`${e}-item`]:{[`${e}-item-action`]:{marginInlineStart:i}}},[`${e}-vertical`]:{[`${e}-item`]:{[`${e}-item-extra`]:{marginInlineStart:i}}}},[`@media screen and (max-width: ${n}px)`]:{[`${e}`]:{[`${e}-item`]:{flexWrap:"wrap",[`${e}-action`]:{marginInlineStart:r}}},[`${e}-vertical`]:{[`${e}-item`]:{flexWrap:"wrap-reverse",[`${e}-item-main`]:{minWidth:t.contentWidth},[`${e}-item-extra`]:{margin:`auto auto ${Ut(a)}`}}}}}},jUt=t=>{const{componentCls:e,antCls:n,controlHeight:o,minHeight:i,paddingSM:r,marginLG:a,padding:l,itemPadding:s,colorPrimary:c,itemPaddingSM:u,itemPaddingLG:d,paddingXS:f,margin:p,colorText:g,colorTextDescription:y,motionDurationSlow:A,lineWidth:x,headerBg:C,footerBg:b,emptyTextPadding:v,metaMarginBottom:S,avatarMarginRight:w,titleMarginBottom:T,descriptionFontSize:P}=t,R={};return["start","center","end"].forEach(H=>{R[`&-align-${H}`]={textAlign:H}}),{[`${e}`]:Object.assign(Object.assign({},$a(t)),{position:"relative","*":{outline:"none"},[`${e}-header`]:{background:C},[`${e}-footer`]:{background:b},[`${e}-header, ${e}-footer`]:{paddingBlock:r},[`${e}-pagination`]:Object.assign(Object.assign({marginBlockStart:a},R),{[`${n}-pagination-options`]:{textAlign:"start"}}),[`${e}-spin`]:{minHeight:i,textAlign:"center"},[`${e}-items`]:{margin:0,padding:0,listStyle:"none"},[`${e}-item`]:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:s,color:g,[`${e}-item-meta`]:{display:"flex",flex:1,alignItems:"flex-start",maxWidth:"100%",[`${e}-item-meta-avatar`]:{marginInlineEnd:w},[`${e}-item-meta-content`]:{flex:"1 0",width:0,color:g},[`${e}-item-meta-title`]:{margin:`0 0 ${Ut(t.marginXXS)} 0`,color:g,fontSize:t.fontSize,lineHeight:t.lineHeight,"> a":{color:g,transition:`all ${A}`,"&:hover":{color:c}}},[`${e}-item-meta-description`]:{color:y,fontSize:P,lineHeight:t.lineHeight}},[`${e}-item-action`]:{flex:"0 0 auto",marginInlineStart:t.marginXXL,padding:0,fontSize:0,listStyle:"none","& > li":{position:"relative",display:"inline-block",padding:`0 ${Ut(f)}`,color:y,fontSize:t.fontSize,lineHeight:t.lineHeight,textAlign:"center","&:first-child":{paddingInlineStart:0}},[`${e}-item-action-split`]:{position:"absolute",insetBlockStart:"50%",insetInlineEnd:0,width:x,height:t.calc(t.fontHeight).sub(t.calc(t.marginXXS).mul(2)).equal(),transform:"translateY(-50%)",backgroundColor:t.colorSplit}}},[`${e}-empty`]:{padding:`${Ut(l)} 0`,color:y,fontSize:t.fontSizeSM,textAlign:"center"},[`${e}-empty-text`]:{padding:v,color:t.colorTextDisabled,fontSize:t.fontSize,textAlign:"center"},[`${e}-item-no-flex`]:{display:"block"}}),[`${e}-grid ${n}-col > ${e}-item`]:{display:"block",maxWidth:"100%",marginBlockEnd:p,paddingBlock:0,borderBlockEnd:"none"},[`${e}-vertical ${e}-item`]:{alignItems:"initial",[`${e}-item-main`]:{display:"block",flex:1},[`${e}-item-extra`]:{marginInlineStart:a},[`${e}-item-meta`]:{marginBlockEnd:S,[`${e}-item-meta-title`]:{marginBlockStart:0,marginBlockEnd:T,color:g,fontSize:t.fontSizeLG,lineHeight:t.lineHeightLG}},[`${e}-item-action`]:{marginBlockStart:l,marginInlineStart:"auto","> li":{padding:`0 ${Ut(l)}`,"&:first-child":{paddingInlineStart:0}}}},[`${e}-split ${e}-item`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`,"&:last-child":{borderBlockEnd:"none"}},[`${e}-split ${e}-header`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-split${e}-empty ${e}-footer`]:{borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-loading ${e}-spin-nested-loading`]:{minHeight:o},[`${e}-split${e}-something-after-last-item ${n}-spin-container > ${e}-items > ${e}-item:last-child`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-lg ${e}-item`]:{padding:d},[`${e}-sm ${e}-item`]:{padding:u},[`${e}:not(${e}-vertical)`]:{[`${e}-item-no-flex`]:{[`${e}-item-action`]:{float:"right"}}}}},YUt=t=>({contentWidth:220,itemPadding:`${Ut(t.paddingContentVertical)} 0`,itemPaddingSM:`${Ut(t.paddingContentVerticalSM)} ${Ut(t.paddingContentHorizontal)}`,itemPaddingLG:`${Ut(t.paddingContentVerticalLG)} ${Ut(t.paddingContentHorizontalLG)}`,headerBg:"transparent",footerBg:"transparent",emptyTextPadding:t.padding,metaMarginBottom:t.padding,avatarMarginRight:t.padding,titleMarginBottom:t.paddingSM,descriptionFontSize:t.fontSize}),OUt=Fl("List",t=>{const e=Zr(t,{listBorderedCls:`${t.componentCls}-bordered`,minHeight:t.controlHeightLG});return[jUt(e),UUt(e),BUt(e)]},YUt);var _Ut=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i(ze,Ae)=>{var re;P(ze),H(Ae),n&&n[Re]&&((re=n==null?void 0:n[Re])===null||re===void 0||re.call(n,ze,Ae))},B=W("onChange"),k=W("onShowSizeChange"),N=(Re,ze)=>{if(!b)return null;let Ae;return typeof C=="function"?Ae=C(Re):C?Ae=Re[C]:Ae=Re.key,Ae||(Ae=`list-item-${ze}`),m.createElement(m.Fragment,{key:Ae},b(Re,ze))},j=()=>!!(d||n||A),Y=D("list",o),[_,J,Q]=OUt(Y);let ee=x;typeof ee=="boolean"&&(ee={spinning:ee});const $=ee&&ee.spinning,q=Cd(g);let le="";switch(q){case"large":le="lg";break;case"small":le="sm";break}const ie=Gn(Y,{[`${Y}-vertical`]:u==="vertical",[`${Y}-${le}`]:le,[`${Y}-split`]:r,[`${Y}-bordered`]:i,[`${Y}-loading`]:$,[`${Y}-grid`]:!!f,[`${Y}-something-after-last-item`]:j(),[`${Y}-rtl`]:L==="rtl"},U==null?void 0:U.className,a,l,J,Q),pe=kXe(F,{total:p.length,current:T,pageSize:R},n||{}),ne=Math.ceil(pe.total/pe.pageSize);pe.current>ne&&(pe.current=ne);const Z=n?m.createElement("div",{className:Gn(`${Y}-pagination`,`${Y}-pagination-align-${(e=pe==null?void 0:pe.align)!==null&&e!==void 0?e:"end"}`)},m.createElement(UXe,Object.assign({},pe,{onChange:B,onShowSizeChange:k}))):null;let he=Xa(p);n&&p.length>(pe.current-1)*pe.pageSize&&(he=Xa(p).splice((pe.current-1)*pe.pageSize,pe.pageSize));const fe=Object.keys(f||{}).some(Re=>["xs","sm","md","lg","xl","xxl"].includes(Re)),se=v$(fe),oe=m.useMemo(()=>{for(let Re=0;Re{if(!f)return;const Re=oe&&f[oe]?f[oe]:f.column;if(Re)return{width:`${100/Re}%`,maxWidth:`${100/Re}%`}},[JSON.stringify(f),oe]);let ve=$&&m.createElement("div",{style:{minHeight:53}});if(he.length>0){const Re=he.map((ze,Ae)=>N(ze,Ae));ve=f?m.createElement(nn,{gutter:f.gutter},m.Children.map(Re,ze=>m.createElement("div",{key:ze==null?void 0:ze.key,style:de},ze))):m.createElement("ul",{className:`${Y}-items`},Re)}else!c&&!$&&(ve=m.createElement("div",{className:`${Y}-empty-text`},v&&v.emptyText||(E==null?void 0:E("List"))||m.createElement(nme,{componentName:"List"})));const Pe=pe.position||"bottom",me=m.useMemo(()=>({grid:f,itemLayout:u}),[JSON.stringify(f),u]);return _(m.createElement(kme.Provider,{value:me},m.createElement("div",Object.assign({style:Object.assign(Object.assign({},U==null?void 0:U.style),s),className:ie},S),(Pe==="top"||Pe==="both")&&Z,y&&m.createElement("div",{className:`${Y}-header`},y),m.createElement(LW,Object.assign({},ee),ve,c),A&&m.createElement("div",{className:`${Y}-footer`},A),d||(Pe==="bottom"||Pe==="both")&&Z)))}j0e.Item=jXe;let wm=null,Nv=t=>t(),Qk=[],Zk={};function lxe(){const{getContainer:t,duration:e,rtl:n,maxCount:o,top:i}=Zk,r=(t==null?void 0:t())||document.body;return{getContainer:()=>r,duration:e,rtl:n,maxCount:o,top:i}}const VUt=Se.forwardRef((t,e)=>{const{messageConfig:n,sync:o}=t,{getPrefixCls:i}=m.useContext(Mi),r=Zk.prefixCls||i("message"),a=m.useContext(PMt),[l,s]=g_e(Object.assign(Object.assign(Object.assign({},n),{prefixCls:r}),a.message));return Se.useImperativeHandle(e,()=>{const c=Object.assign({},l);return Object.keys(c).forEach(u=>{c[u]=function(){return o(),l[u].apply(l,arguments)}}),{instance:c,sync:o}}),s}),GUt=Se.forwardRef((t,e)=>{const[n,o]=Se.useState(lxe),i=()=>{o(lxe)};Se.useEffect(i,[]);const r=$Oe(),a=r.getRootPrefixCls(),l=r.getIconPrefixCls(),s=r.getTheme(),c=Se.createElement(VUt,{ref:e,sync:i,messageConfig:n});return Se.createElement(iy,{prefixCls:a,iconPrefixCls:l,theme:s},r.holderRender?r.holderRender(c):c)});function L$(){if(!wm){const t=document.createDocumentFragment(),e={fragment:t};wm=e,Nv(()=>{_ge(Se.createElement(GUt,{ref:n=>{const{instance:o,sync:i}=n||{};Promise.resolve().then(()=>{!e.instance&&o&&(e.instance=o,e.sync=i,L$())})}}),t)});return}wm.instance&&(Qk.forEach(t=>{const{type:e,skipped:n}=t;if(!n)switch(e){case"open":{Nv(()=>{const o=wm.instance.open(Object.assign(Object.assign({},Zk),t.config));o==null||o.then(t.resolve),t.setCloseFn(o)});break}case"destroy":Nv(()=>{wm==null||wm.instance.destroy(t.key)});break;default:Nv(()=>{var o;const i=(o=wm.instance)[e].apply(o,Xa(t.args));i==null||i.then(t.resolve),t.setCloseFn(i)})}}),Qk=[])}function XUt(t){Zk=Object.assign(Object.assign({},Zk),t),Nv(()=>{var e;(e=wm==null?void 0:wm.sync)===null||e===void 0||e.call(wm)})}function JUt(t){const e=Oge(n=>{let o;const i={type:"open",config:t,resolve:n,setCloseFn:r=>{o=r}};return Qk.push(i),()=>{o?Nv(()=>{o()}):i.skipped=!0}});return L$(),e}function KUt(t,e){const n=Oge(o=>{let i;const r={type:t,args:e,resolve:o,setCloseFn:a=>{i=a}};return Qk.push(r),()=>{i?Nv(()=>{i()}):r.skipped=!0}});return L$(),n}const qUt=t=>{Qk.push({type:"destroy",key:t}),L$()},$Ut=["success","info","warning","error","loading"],QUt={open:JUt,destroy:qUt,config:XUt,useMessage:uCt,_InternalPanelDoNotUseOrYouWillBeFired:nCt},K6=QUt;$Ut.forEach(t=>{K6[t]=function(){for(var e=arguments.length,n=new Array(e),o=0;o{const{prefixCls:e,className:n,closeIcon:o,closable:i,type:r,title:a,children:l,footer:s}=t,c=ZUt(t,["prefixCls","className","closeIcon","closable","type","title","children","footer"]),{getPrefixCls:u}=m.useContext(Mi),d=u(),f=e||u("modal"),p=j0(d),[g,y,A]=Q_e(f,p),x=`${f}-confirm`;let C={};return r?C={closable:i??!1,title:"",footer:"",children:m.createElement(eVe,Object.assign({},t,{prefixCls:f,confirmPrefixCls:x,rootPrefixCls:d,content:l}))}:C={closable:i??!0,title:a,footer:s!==null&&m.createElement(K_e,Object.assign({},t)),children:l},g(m.createElement(D_e,Object.assign({prefixCls:f,className:Gn(y,`${f}-pure-panel`,r&&x,r&&`${x}-${r}`,n,A,p)},c,{closeIcon:J_e(f,o),closable:i},C)))},tBt=cVe(eBt);function YXe(t){return CW(iVe(t))}const _r=Z_e;_r.useModal=TMt;_r.info=function(e){return CW(rVe(e))};_r.success=function(e){return CW(aVe(e))};_r.error=function(e){return CW(lVe(e))};_r.warning=YXe;_r.warn=YXe;_r.confirm=function(e){return CW(sVe(e))};_r.destroyAll=function(){for(;Fv.length;){const e=Fv.pop();e&&e()}};_r.config=wMt;_r._InternalPanelDoNotUseOrYouWillBeFired=tBt;var nBt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"},oBt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:nBt}))},xf=m.forwardRef(oBt);function Y0e(t,e,n){return(t-e)/(n-e)}function Fme(t,e,n,o){var i=Y0e(e,n,o),r={};switch(t){case"rtl":r.right="".concat(i*100,"%"),r.transform="translateX(50%)";break;case"btt":r.bottom="".concat(i*100,"%"),r.transform="translateY(50%)";break;case"ttb":r.top="".concat(i*100,"%"),r.transform="translateY(-50%)";break;default:r.left="".concat(i*100,"%"),r.transform="translateX(-50%)";break}return r}function XP(t,e){return Array.isArray(t)?t[e]:t}var Eb=m.createContext({min:0,max:0,direction:"ltr",step:1,includedStart:0,includedEnd:0,tabIndex:0,keyboard:!0,styles:{},classNames:{}}),iBt=["prefixCls","value","valueIndex","onStartMove","style","render","dragging","onOffsetChange","onChangeComplete","onFocus","onMouseEnter"],sxe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.value,i=t.valueIndex,r=t.onStartMove,a=t.style,l=t.render,s=t.dragging,c=t.onOffsetChange,u=t.onChangeComplete,d=t.onFocus,f=t.onMouseEnter,p=ir(t,iBt),g=m.useContext(Eb),y=g.min,A=g.max,x=g.direction,C=g.disabled,b=g.keyboard,v=g.range,S=g.tabIndex,w=g.ariaLabelForHandle,T=g.ariaLabelledByForHandle,P=g.ariaValueTextFormatterForHandle,R=g.styles,H=g.classNames,D="".concat(n,"-handle"),E=function(_){C||r(_,i)},L=function(_){d==null||d(_,i)},U=function(_){f(_,i)},F=function(_){if(!C&&b){var J=null;switch(_.which||_.keyCode){case Bn.LEFT:J=x==="ltr"||x==="btt"?-1:1;break;case Bn.RIGHT:J=x==="ltr"||x==="btt"?1:-1;break;case Bn.UP:J=x!=="ttb"?1:-1;break;case Bn.DOWN:J=x!=="ttb"?-1:1;break;case Bn.HOME:J="min";break;case Bn.END:J="max";break;case Bn.PAGE_UP:J=2;break;case Bn.PAGE_DOWN:J=-2;break}J!==null&&(_.preventDefault(),c(J,i))}},W=function(_){switch(_.which||_.keyCode){case Bn.LEFT:case Bn.RIGHT:case Bn.UP:case Bn.DOWN:case Bn.HOME:case Bn.END:case Bn.PAGE_UP:case Bn.PAGE_DOWN:u==null||u();break}},B=Fme(x,o,y,A),k={};if(i!==null){var N;k={tabIndex:C?null:XP(S,i),role:"slider","aria-valuemin":y,"aria-valuemax":A,"aria-valuenow":o,"aria-disabled":C,"aria-label":XP(w,i),"aria-labelledby":XP(T,i),"aria-valuetext":(N=XP(P,i))===null||N===void 0?void 0:N(o),"aria-orientation":x==="ltr"||x==="rtl"?"horizontal":"vertical",onMouseDown:E,onTouchStart:E,onFocus:L,onMouseEnter:U,onKeyDown:F,onKeyUp:W}}var j=m.createElement("div",so({ref:e,className:Vn(D,_t(_t({},"".concat(D,"-").concat(i+1),i!==null&&v),"".concat(D,"-dragging"),s),H.handle),style:$t($t($t({},B),a),R.handle)},k,p));return l&&(j=l(j,{index:i,prefixCls:n,value:o,dragging:s})),j}),rBt=["prefixCls","style","onStartMove","onOffsetChange","values","handleRender","activeHandleRender","draggingIndex","onFocus"],aBt=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.style,i=t.onStartMove,r=t.onOffsetChange,a=t.values,l=t.handleRender,s=t.activeHandleRender,c=t.draggingIndex,u=t.onFocus,d=ir(t,rBt),f=m.useRef({});m.useImperativeHandle(e,function(){return{focus:function(S){var w;(w=f.current[S])===null||w===void 0||w.focus()}}});var p=m.useState(-1),g=on(p,2),y=g[0],A=g[1],x=function(S,w){A(w),u==null||u(S)},C=function(S,w){A(w)},b=$t({prefixCls:n,onStartMove:i,onOffsetChange:r,render:l,onFocus:x,onMouseEnter:C},d);return m.createElement(m.Fragment,null,a.map(function(v,S){return m.createElement(sxe,so({ref:function(T){T?f.current[S]=T:delete f.current[S]},dragging:c===S,style:XP(o,S),key:S,value:v,valueIndex:S},b))}),s&&m.createElement(sxe,so({key:"a11y"},b,{value:a[y],valueIndex:null,dragging:c!==-1,render:s,style:{pointerEvents:"none"},tabIndex:null,"aria-hidden":!0})))}),lBt=function(e){var n=e.prefixCls,o=e.style,i=e.children,r=e.value,a=e.onClick,l=m.useContext(Eb),s=l.min,c=l.max,u=l.direction,d=l.includedStart,f=l.includedEnd,p=l.included,g="".concat(n,"-text"),y=Fme(u,r,s,c);return m.createElement("span",{className:Vn(g,_t({},"".concat(g,"-active"),p&&d<=r&&r<=f)),style:$t($t({},y),o),onMouseDown:function(x){x.stopPropagation()},onClick:function(){a(r)}},i)},sBt=function(e){var n=e.prefixCls,o=e.marks,i=e.onClick,r="".concat(n,"-mark");return o.length?m.createElement("div",{className:r},o.map(function(a){var l=a.value,s=a.style,c=a.label;return m.createElement(lBt,{key:l,prefixCls:r,style:s,value:l,onClick:i},c)})):null},cBt=function(e){var n=e.prefixCls,o=e.value,i=e.style,r=e.activeStyle,a=m.useContext(Eb),l=a.min,s=a.max,c=a.direction,u=a.included,d=a.includedStart,f=a.includedEnd,p="".concat(n,"-dot"),g=u&&d<=o&&o<=f,y=$t($t({},Fme(c,o,l,s)),typeof i=="function"?i(o):i);return g&&(y=$t($t({},y),typeof r=="function"?r(o):r)),m.createElement("span",{className:Vn(p,_t({},"".concat(p,"-active"),g)),style:y})},uBt=function(e){var n=e.prefixCls,o=e.marks,i=e.dots,r=e.style,a=e.activeStyle,l=m.useContext(Eb),s=l.min,c=l.max,u=l.step,d=m.useMemo(function(){var f=new Set;if(o.forEach(function(g){f.add(g.value)}),i&&u!==null)for(var p=s;p<=c;)f.add(p),p+=u;return Array.from(f)},[s,c,u,i,o]);return m.createElement("div",{className:"".concat(n,"-step")},d.map(function(f){return m.createElement(cBt,{prefixCls:n,key:f,value:f,style:r,activeStyle:a})}))},cxe=function(e){var n=e.prefixCls,o=e.style,i=e.start,r=e.end,a=e.index,l=e.onStartMove,s=e.replaceCls,c=m.useContext(Eb),u=c.direction,d=c.min,f=c.max,p=c.disabled,g=c.range,y=c.classNames,A="".concat(n,"-track"),x=Y0e(i,d,f),C=Y0e(r,d,f),b=function(T){!p&&l&&l(T,-1)},v={};switch(u){case"rtl":v.right="".concat(x*100,"%"),v.width="".concat(C*100-x*100,"%");break;case"btt":v.bottom="".concat(x*100,"%"),v.height="".concat(C*100-x*100,"%");break;case"ttb":v.top="".concat(x*100,"%"),v.height="".concat(C*100-x*100,"%");break;default:v.left="".concat(x*100,"%"),v.width="".concat(C*100-x*100,"%")}var S=s||Vn(A,_t(_t({},"".concat(A,"-").concat(a+1),a!==null&&g),"".concat(n,"-track-draggable"),l),y.track);return m.createElement("div",{className:S,style:$t($t({},v),o),onMouseDown:b,onTouchStart:b})},dBt=function(e){var n=e.prefixCls,o=e.style,i=e.values,r=e.startPoint,a=e.onStartMove,l=m.useContext(Eb),s=l.included,c=l.range,u=l.min,d=l.styles,f=l.classNames,p=m.useMemo(function(){if(!c){if(i.length===0)return[];var y=r??u,A=i[0];return[{start:Math.min(y,A),end:Math.max(y,A)}]}for(var x=[],C=0;C3&&arguments[3]!==void 0?arguments[3]:"unit";if(typeof y=="number"){var C,b=g[A],v=b+y,S=[];o.forEach(function(H){S.push(H.value)}),S.push(t,e),S.push(l(b));var w=y>0?1:-1;x==="unit"?S.push(l(b+w*n)):S.push(l(v)),S=S.filter(function(H){return H!==null}).filter(function(H){return y<0?H<=b:H>=b}),x==="unit"&&(S=S.filter(function(H){return H!==b}));var T=x==="unit"?b:v;C=S[0];var P=Math.abs(C-T);if(S.forEach(function(H){var D=Math.abs(H-T);D1){var R=Wo(g);return R[A]=C,p(R,y-w,A,x)}return C}else{if(y==="min")return t;if(y==="max")return e}},u=function(g,y,A){var x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"unit",C=g[A],b=c(g,y,A,x);return{value:b,changed:b!==C}},d=function(g){return r===null&&g===0||typeof r=="number"&&g3&&arguments[3]!==void 0?arguments[3]:"unit",C=g.map(s),b=C[A],v=c(C,y,A,x);if(C[A]=v,i===!1){var S=r||0;A>0&&C[A-1]!==b&&(C[A]=Math.max(C[A],C[A-1]+S)),A0;R-=1)for(var H=!0;d(C[R]-C[R-1])&&H;){var D=u(C,-1,R-1);C[R-1]=D.value,H=D.changed}for(var E=C.length-1;E>0;E-=1)for(var L=!0;d(C[E]-C[E-1])&&L;){var U=u(C,-1,E-1);C[E-1]=U.value,L=U.changed}for(var F=0;F=0?W:!1},[W,ze]),re=m.useMemo(function(){return Object.keys(le||{}).map(function(ft){var Rt=le[ft],zt={value:Number(ft)};return Rt&&gr(Rt)==="object"&&!m.isValidElement(Rt)&&("label"in Rt||"style"in Rt)?(zt.style=Rt.style,zt.label=Rt.label):zt.label=Rt,zt}).filter(function(ft){var Rt=ft.label;return Rt||typeof Rt=="number"}).sort(function(ft,Rt){return ft.value-Rt.value})},[le]),ge=hBt(me,Re,ze,re,U,Ae),we=on(ge,2),ye=we[0],Te=we[1],Ie=Rs(w,{value:S}),Ce=on(Ie,2),Ee=Ce[0],Ue=Ce[1],Ne=m.useMemo(function(){var ft=Ee==null?[]:Array.isArray(Ee)?Ee:[Ee],Rt=on(ft,1),zt=Rt[0],Xe=zt===void 0?me:zt,ht=Ee===null?[]:[Xe];if(T){if(ht=Wo(ft),P||Ee===void 0){var Je=P>=0?P+1:2;for(ht=ht.slice(0,Je);ht.length=0&&de.current.focus(ft)}Qe(null)},[rt]);var et=m.useMemo(function(){return B&&ze===null?!1:B},[B,ze]),vt=function(Rt,zt){dt(Rt,zt),H==null||H(qe(Le.current))},ct=ot!==-1;m.useEffect(function(){if(!ct){var ft=Ne.lastIndexOf(Ye);de.current.focus(ft)}},[ct]);var lt=m.useMemo(function(){return Wo(St).sort(function(ft,Rt){return ft-Rt})},[St]),tt=m.useMemo(function(){return T?[lt[0],lt[lt.length-1]]:[me,lt[0]]},[lt,T,me]),it=on(tt,2),At=it[0],Mt=it[1];m.useImperativeHandle(e,function(){return{focus:function(){de.current.focus(0)},blur:function(){var Rt,zt=document,Xe=zt.activeElement;(Rt=ve.current)!==null&&Rt!==void 0&&Rt.contains(Xe)&&(Xe==null||Xe.blur())}}}),m.useEffect(function(){f&&de.current.focus(0)},[]);var st=m.useMemo(function(){return{min:me,max:Re,direction:Pe,disabled:c,keyboard:d,step:ze,included:Y,includedStart:At,includedEnd:Mt,range:T,tabIndex:he,ariaLabelForHandle:fe,ariaLabelledByForHandle:se,ariaValueTextFormatterForHandle:oe,styles:l||{},classNames:a||{}}},[me,Re,Pe,c,d,ze,Y,At,Mt,T,he,fe,se,oe,l,a]);return m.createElement(Eb.Provider,{value:st},m.createElement("div",{ref:ve,className:Vn(o,i,_t(_t(_t(_t({},"".concat(o,"-disabled"),c),"".concat(o,"-vertical"),N),"".concat(o,"-horizontal"),!N),"".concat(o,"-with-marks"),re.length)),style:r,onMouseDown:at},m.createElement("div",{className:Vn("".concat(o,"-rail"),a==null?void 0:a.rail),style:$t($t({},ee),l==null?void 0:l.rail)}),m.createElement(dBt,{prefixCls:o,style:J,values:lt,startPoint:_,onStartMove:et?vt:void 0}),m.createElement(uBt,{prefixCls:o,marks:re,dots:ie,style:$,activeStyle:q}),m.createElement(aBt,{ref:de,prefixCls:o,style:Q,values:St,draggingIndex:ot,onStartMove:vt,onOffsetChange:Oe,onFocus:p,onBlur:g,handleRender:pe,activeHandleRender:ne,onChangeComplete:De}),m.createElement(sBt,{prefixCls:o,marks:re,onClick:je})))});const dxe=m.forwardRef((t,e)=>{const{open:n}=t,o=m.useRef(null),i=m.useRef(null);function r(){Pg.cancel(i.current),i.current=null}function a(){i.current=Pg(()=>{var l;(l=o.current)===null||l===void 0||l.forceAlign(),i.current=null})}return m.useEffect(()=>(n?a():r(),r),[n,t.title]),m.createElement(J6,Object.assign({ref:q2(o,e)},t))}),gBt=t=>{const{componentCls:e,antCls:n,controlSize:o,dotSize:i,marginFull:r,marginPart:a,colorFillContentHover:l,handleColorDisabled:s,calc:c}=t;return{[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",height:o,margin:`${Ut(a)} ${Ut(r)}`,padding:0,cursor:"pointer",touchAction:"none","&-vertical":{margin:`${Ut(r)} ${Ut(a)}`},[`${e}-rail`]:{position:"absolute",backgroundColor:t.railBg,borderRadius:t.borderRadiusXS,transition:`background-color ${t.motionDurationMid}`},[`${e}-track,${e}-tracks`]:{position:"absolute",transition:`background-color ${t.motionDurationMid}`},[`${e}-track`]:{backgroundColor:t.trackBg,borderRadius:t.borderRadiusXS},[`${e}-track-draggable`]:{boxSizing:"content-box",backgroundClip:"content-box",border:"solid rgba(0,0,0,0)"},"&:hover":{[`${e}-rail`]:{backgroundColor:t.railHoverBg},[`${e}-track`]:{backgroundColor:t.trackHoverBg},[`${e}-dot`]:{borderColor:l},[`${e}-handle::after`]:{boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${t.colorPrimaryBorderHover}`},[`${e}-dot-active`]:{borderColor:t.dotActiveBorderColor}},[`${e}-handle`]:{position:"absolute",width:t.handleSize,height:t.handleSize,outline:"none","&::before":{content:'""',position:"absolute",insetInlineStart:c(t.handleLineWidth).mul(-1).equal(),insetBlockStart:c(t.handleLineWidth).mul(-1).equal(),width:c(t.handleSize).add(c(t.handleLineWidth).mul(2)).equal(),height:c(t.handleSize).add(c(t.handleLineWidth).mul(2)).equal(),backgroundColor:"transparent"},"&::after":{content:'""',position:"absolute",insetBlockStart:0,insetInlineStart:0,width:t.handleSize,height:t.handleSize,backgroundColor:t.colorBgElevated,boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${t.handleColor}`,borderRadius:"50%",cursor:"pointer",transition:` + `]:{display:"inline-block",minWidth:t.itemSize,height:t.itemSize,color:t.colorText,fontFamily:t.fontFamily,lineHeight:`${Ut(t.itemSize)}`,textAlign:"center",verticalAlign:"middle",listStyle:"none",borderRadius:t.borderRadius,cursor:"pointer",transition:`all ${t.motionDurationMid}`},[`${e}-prev, ${e}-next`]:{fontFamily:"Arial, Helvetica, sans-serif",outline:0,button:{color:t.colorText,cursor:"pointer",userSelect:"none"},[`${e}-item-link`]:{display:"block",width:"100%",height:"100%",padding:0,fontSize:t.fontSizeSM,textAlign:"center",backgroundColor:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,borderRadius:t.borderRadius,outline:"none",transition:`all ${t.motionDurationMid}`},[`&:hover ${e}-item-link`]:{backgroundColor:t.colorBgTextHover},[`&:active ${e}-item-link`]:{backgroundColor:t.colorBgTextActive},[`&${e}-disabled:hover`]:{[`${e}-item-link`]:{backgroundColor:"transparent"}}},[`${e}-slash`]:{marginInlineEnd:t.paginationSlashMarginInlineEnd,marginInlineStart:t.paginationSlashMarginInlineStart},[`${e}-options`]:{display:"inline-block",marginInlineStart:t.margin,verticalAlign:"middle","&-size-changer.-select":{display:"inline-block",width:"auto"},"&-quick-jumper":{display:"inline-block",height:t.controlHeight,marginInlineStart:t.marginXS,lineHeight:Ut(t.controlHeight),verticalAlign:"top",input:Object.assign(Object.assign(Object.assign({},kW(t)),xme(t,{borderColor:t.colorBorder,hoverBorderColor:t.colorPrimaryHover,activeBorderColor:t.colorPrimary,activeShadow:t.activeShadow})),{"&[disabled]":Object.assign({},D$(t)),width:t.calc(t.controlHeightLG).mul(1.25).equal(),height:t.controlHeight,boxSizing:"border-box",margin:0,marginInlineStart:t.marginXS,marginInlineEnd:t.marginXS})}}}},HUt=t=>{const{componentCls:e}=t;return{[`${e}-item`]:{display:"inline-block",minWidth:t.itemSize,height:t.itemSize,marginInlineEnd:t.marginXS,fontFamily:t.fontFamily,lineHeight:Ut(t.calc(t.itemSize).sub(2).equal()),textAlign:"center",verticalAlign:"middle",listStyle:"none",backgroundColor:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,borderRadius:t.borderRadius,outline:0,cursor:"pointer",userSelect:"none",a:{display:"block",padding:`0 ${Ut(t.paginationItemPaddingInline)}`,color:t.colorText,"&:hover":{textDecoration:"none"}},[`&:not(${e}-item-active)`]:{"&:hover":{transition:`all ${t.motionDurationMid}`,backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive}},"&-active":{fontWeight:t.fontWeightStrong,backgroundColor:t.itemActiveBg,borderColor:t.colorPrimary,a:{color:t.colorPrimary},"&:hover":{borderColor:t.colorPrimaryHover},"&:hover a":{color:t.colorPrimaryHover}}}}},MUt=t=>{const{componentCls:e}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{"ul, ol":{margin:0,padding:0,listStyle:"none"},"&::after":{display:"block",clear:"both",height:0,overflow:"hidden",visibility:"hidden",content:'""'},[`${e}-total-text`]:{display:"inline-block",height:t.itemSize,marginInlineEnd:t.marginXS,lineHeight:Ut(t.calc(t.itemSize).sub(2).equal()),verticalAlign:"middle"}}),HUt(t)),RUt(t)),CUt(t)),PUt(t)),TUt(t)),{[`@media only screen and (max-width: ${t.screenLG}px)`]:{[`${e}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:"none"}}},[`@media only screen and (max-width: ${t.screenSM}px)`]:{[`${e}-options`]:{display:"none"}}}),[`&${t.componentCls}-rtl`]:{direction:"rtl"}}},IUt=t=>{const{componentCls:e}=t;return{[`${e}:not(${e}-disabled)`]:{[`${e}-item`]:Object.assign({},V6(t)),[`${e}-jump-prev, ${e}-jump-next`]:{"&:focus-visible":Object.assign({[`${e}-item-link-icon`]:{opacity:1},[`${e}-item-ellipsis`]:{opacity:0}},n7(t))},[`${e}-prev, ${e}-next`]:{[`&:focus-visible ${e}-item-link`]:Object.assign({},n7(t))}}}},WXe=t=>Object.assign({itemBg:t.colorBgContainer,itemSize:t.controlHeight,itemSizeSM:t.controlHeightSM,itemActiveBg:t.colorBgContainer,itemLinkBg:t.colorBgContainer,itemActiveColorDisabled:t.colorTextDisabled,itemActiveBgDisabled:t.controlItemBgActiveDisabled,itemInputBg:t.colorBgContainer,miniOptionsSizeChangerTop:0},EW(t)),NXe=t=>Zr(t,{inputOutlineOffset:0,paginationMiniOptionsMarginInlineStart:t.calc(t.marginXXS).div(2).equal(),paginationMiniQuickJumperInputWidth:t.calc(t.controlHeightLG).mul(1.1).equal(),paginationItemPaddingInline:t.calc(t.marginXXS).mul(1.5).equal(),paginationEllipsisLetterSpacing:t.calc(t.marginXXS).div(2).equal(),paginationSlashMarginInlineStart:t.marginXXS,paginationSlashMarginInlineEnd:t.marginSM,paginationEllipsisTextIndent:"0.13em"},DW(t)),zUt=Fl("Pagination",t=>{const e=NXe(t);return[MUt(e),IUt(e)]},WXe),DUt=t=>{const{componentCls:e}=t;return{[`${e}${e}-bordered${e}-disabled:not(${e}-mini)`]:{"&, &:hover":{[`${e}-item-link`]:{borderColor:t.colorBorder}},"&:focus-visible":{[`${e}-item-link`]:{borderColor:t.colorBorder}},[`${e}-item, ${e}-item-link`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,[`&:hover:not(${e}-item-active)`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,a:{color:t.colorTextDisabled}},[`&${e}-item-active`]:{backgroundColor:t.itemActiveBgDisabled}},[`${e}-prev, ${e}-next`]:{"&:hover button":{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,color:t.colorTextDisabled},[`${e}-item-link`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder}}},[`${e}${e}-bordered:not(${e}-mini)`]:{[`${e}-prev, ${e}-next`]:{"&:hover button":{borderColor:t.colorPrimaryHover,backgroundColor:t.itemBg},[`${e}-item-link`]:{backgroundColor:t.itemLinkBg,borderColor:t.colorBorder},[`&:hover ${e}-item-link`]:{borderColor:t.colorPrimary,backgroundColor:t.itemBg,color:t.colorPrimary},[`&${e}-disabled`]:{[`${e}-item-link`]:{borderColor:t.colorBorder,color:t.colorTextDisabled}}},[`${e}-item`]:{backgroundColor:t.itemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,[`&:hover:not(${e}-item-active)`]:{borderColor:t.colorPrimary,backgroundColor:t.itemBg,a:{color:t.colorPrimary}},"&-active":{borderColor:t.colorPrimary}}}}},EUt=mW(["Pagination","bordered"],t=>{const e=NXe(t);return[DUt(e)]},WXe);var kUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,selectPrefixCls:n,className:o,rootClassName:i,style:r,size:a,locale:l,selectComponentClass:s,responsive:c,showSizeChanger:u}=t,d=kUt(t,["prefixCls","selectPrefixCls","className","rootClassName","style","size","locale","selectComponentClass","responsive","showSizeChanger"]),{xs:f}=v$(c),[,p]=Yu(),{getPrefixCls:g,direction:y,pagination:A={}}=m.useContext(Mi),x=g("pagination",e),[C,b,v]=zUt(x),S=u??A.showSizeChanger,w=m.useMemo(()=>{const U=m.createElement("span",{className:`${x}-item-ellipsis`},"•••"),F=m.createElement("button",{className:`${x}-item-link`,type:"button",tabIndex:-1},y==="rtl"?m.createElement(bG,null):m.createElement(gve,null)),W=m.createElement("button",{className:`${x}-item-link`,type:"button",tabIndex:-1},y==="rtl"?m.createElement(gve,null):m.createElement(bG,null)),B=m.createElement("a",{className:`${x}-item-link`},m.createElement("div",{className:`${x}-item-container`},y==="rtl"?m.createElement(ixe,{className:`${x}-item-link-icon`}):m.createElement(oxe,{className:`${x}-item-link-icon`}),U)),k=m.createElement("a",{className:`${x}-item-link`},m.createElement("div",{className:`${x}-item-container`},y==="rtl"?m.createElement(oxe,{className:`${x}-item-link-icon`}):m.createElement(ixe,{className:`${x}-item-link-icon`}),U));return{prevIcon:F,nextIcon:W,jumpPrevIcon:B,jumpNextIcon:k}},[y,x]),[T]=D7("Pagination",rOe),P=Object.assign(Object.assign({},T),l),R=Cd(a),H=R==="small"||!!(f&&!R&&c),D=g("select",n),E=Gn({[`${x}-mini`]:H,[`${x}-rtl`]:y==="rtl",[`${x}-bordered`]:p.wireframe},A==null?void 0:A.className,o,i,b,v),L=Object.assign(Object.assign({},A==null?void 0:A.style),r);return C(m.createElement(m.Fragment,null,p.wireframe&&m.createElement(EUt,{prefixCls:x}),m.createElement(SUt,Object.assign({},w,d,{style:L,prefixCls:x,selectPrefixCls:D,className:E,selectComponentClass:s||(H?FXe:LXe),locale:P,showSizeChanger:S}))))},kme=Se.createContext({});kme.Consumer;var BXe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{prefixCls:e,className:n,avatar:o,title:i,description:r}=t,a=BXe(t,["prefixCls","className","avatar","title","description"]);const{getPrefixCls:l}=m.useContext(Mi),s=l("list",e),c=Gn(`${s}-item-meta`,n),u=Se.createElement("div",{className:`${s}-item-meta-content`},i&&Se.createElement("h4",{className:`${s}-item-meta-title`},i),r&&Se.createElement("div",{className:`${s}-item-meta-description`},r));return Se.createElement("div",Object.assign({},a,{className:c}),o&&Se.createElement("div",{className:`${s}-item-meta-avatar`},o),(i||r)&&u)},LUt=Se.forwardRef((t,e)=>{const{prefixCls:n,children:o,actions:i,extra:r,className:a,colStyle:l}=t,s=BXe(t,["prefixCls","children","actions","extra","className","colStyle"]),{grid:c,itemLayout:u}=m.useContext(kme),{getPrefixCls:d}=m.useContext(Mi),f=()=>{let C;return m.Children.forEach(o,b=>{typeof b=="string"&&(C=!0)}),C&&m.Children.count(o)>1},p=()=>u==="vertical"?!!r:!f(),g=d("list",n),y=i&&i.length>0&&Se.createElement("ul",{className:`${g}-item-action`,key:"actions"},i.map((C,b)=>Se.createElement("li",{key:`${g}-item-action-${b}`},C,b!==i.length-1&&Se.createElement("em",{className:`${g}-item-action-split`})))),A=c?"div":"li",x=Se.createElement(A,Object.assign({},s,c?{}:{ref:e},{className:Gn(`${g}-item`,{[`${g}-item-no-flex`]:!p()},a)}),u==="vertical"&&r?[Se.createElement("div",{className:`${g}-item-main`,key:"content"},o,y),Se.createElement("div",{className:`${g}-item-extra`,key:"extra"},r)]:[o,y,Ou(r,{key:"extra"})]);return c?Se.createElement(nt,{ref:e,flex:1,style:l},x):x}),jXe=LUt;jXe.Meta=FUt;const WUt=t=>{const{listBorderedCls:e,componentCls:n,paddingLG:o,margin:i,itemPaddingSM:r,itemPaddingLG:a,marginLG:l,borderRadiusLG:s}=t;return{[`${e}`]:{border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:s,[`${n}-header,${n}-footer,${n}-item`]:{paddingInline:o},[`${n}-pagination`]:{margin:`${Ut(i)} ${Ut(l)}`}},[`${e}${n}-sm`]:{[`${n}-item,${n}-header,${n}-footer`]:{padding:r}},[`${e}${n}-lg`]:{[`${n}-item,${n}-header,${n}-footer`]:{padding:a}}}},NUt=t=>{const{componentCls:e,screenSM:n,screenMD:o,marginLG:i,marginSM:r,margin:a}=t;return{[`@media screen and (max-width:${o}px)`]:{[`${e}`]:{[`${e}-item`]:{[`${e}-item-action`]:{marginInlineStart:i}}},[`${e}-vertical`]:{[`${e}-item`]:{[`${e}-item-extra`]:{marginInlineStart:i}}}},[`@media screen and (max-width: ${n}px)`]:{[`${e}`]:{[`${e}-item`]:{flexWrap:"wrap",[`${e}-action`]:{marginInlineStart:r}}},[`${e}-vertical`]:{[`${e}-item`]:{flexWrap:"wrap-reverse",[`${e}-item-main`]:{minWidth:t.contentWidth},[`${e}-item-extra`]:{margin:`auto auto ${Ut(a)}`}}}}}},UUt=t=>{const{componentCls:e,antCls:n,controlHeight:o,minHeight:i,paddingSM:r,marginLG:a,padding:l,itemPadding:s,colorPrimary:c,itemPaddingSM:u,itemPaddingLG:d,paddingXS:f,margin:p,colorText:g,colorTextDescription:y,motionDurationSlow:A,lineWidth:x,headerBg:C,footerBg:b,emptyTextPadding:v,metaMarginBottom:S,avatarMarginRight:w,titleMarginBottom:T,descriptionFontSize:P}=t,R={};return["start","center","end"].forEach(H=>{R[`&-align-${H}`]={textAlign:H}}),{[`${e}`]:Object.assign(Object.assign({},$a(t)),{position:"relative","*":{outline:"none"},[`${e}-header`]:{background:C},[`${e}-footer`]:{background:b},[`${e}-header, ${e}-footer`]:{paddingBlock:r},[`${e}-pagination`]:Object.assign(Object.assign({marginBlockStart:a},R),{[`${n}-pagination-options`]:{textAlign:"start"}}),[`${e}-spin`]:{minHeight:i,textAlign:"center"},[`${e}-items`]:{margin:0,padding:0,listStyle:"none"},[`${e}-item`]:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:s,color:g,[`${e}-item-meta`]:{display:"flex",flex:1,alignItems:"flex-start",maxWidth:"100%",[`${e}-item-meta-avatar`]:{marginInlineEnd:w},[`${e}-item-meta-content`]:{flex:"1 0",width:0,color:g},[`${e}-item-meta-title`]:{margin:`0 0 ${Ut(t.marginXXS)} 0`,color:g,fontSize:t.fontSize,lineHeight:t.lineHeight,"> a":{color:g,transition:`all ${A}`,"&:hover":{color:c}}},[`${e}-item-meta-description`]:{color:y,fontSize:P,lineHeight:t.lineHeight}},[`${e}-item-action`]:{flex:"0 0 auto",marginInlineStart:t.marginXXL,padding:0,fontSize:0,listStyle:"none","& > li":{position:"relative",display:"inline-block",padding:`0 ${Ut(f)}`,color:y,fontSize:t.fontSize,lineHeight:t.lineHeight,textAlign:"center","&:first-child":{paddingInlineStart:0}},[`${e}-item-action-split`]:{position:"absolute",insetBlockStart:"50%",insetInlineEnd:0,width:x,height:t.calc(t.fontHeight).sub(t.calc(t.marginXXS).mul(2)).equal(),transform:"translateY(-50%)",backgroundColor:t.colorSplit}}},[`${e}-empty`]:{padding:`${Ut(l)} 0`,color:y,fontSize:t.fontSizeSM,textAlign:"center"},[`${e}-empty-text`]:{padding:v,color:t.colorTextDisabled,fontSize:t.fontSize,textAlign:"center"},[`${e}-item-no-flex`]:{display:"block"}}),[`${e}-grid ${n}-col > ${e}-item`]:{display:"block",maxWidth:"100%",marginBlockEnd:p,paddingBlock:0,borderBlockEnd:"none"},[`${e}-vertical ${e}-item`]:{alignItems:"initial",[`${e}-item-main`]:{display:"block",flex:1},[`${e}-item-extra`]:{marginInlineStart:a},[`${e}-item-meta`]:{marginBlockEnd:S,[`${e}-item-meta-title`]:{marginBlockStart:0,marginBlockEnd:T,color:g,fontSize:t.fontSizeLG,lineHeight:t.lineHeightLG}},[`${e}-item-action`]:{marginBlockStart:l,marginInlineStart:"auto","> li":{padding:`0 ${Ut(l)}`,"&:first-child":{paddingInlineStart:0}}}},[`${e}-split ${e}-item`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`,"&:last-child":{borderBlockEnd:"none"}},[`${e}-split ${e}-header`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-split${e}-empty ${e}-footer`]:{borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-loading ${e}-spin-nested-loading`]:{minHeight:o},[`${e}-split${e}-something-after-last-item ${n}-spin-container > ${e}-items > ${e}-item:last-child`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-lg ${e}-item`]:{padding:d},[`${e}-sm ${e}-item`]:{padding:u},[`${e}:not(${e}-vertical)`]:{[`${e}-item-no-flex`]:{[`${e}-item-action`]:{float:"right"}}}}},BUt=t=>({contentWidth:220,itemPadding:`${Ut(t.paddingContentVertical)} 0`,itemPaddingSM:`${Ut(t.paddingContentVerticalSM)} ${Ut(t.paddingContentHorizontal)}`,itemPaddingLG:`${Ut(t.paddingContentVerticalLG)} ${Ut(t.paddingContentHorizontalLG)}`,headerBg:"transparent",footerBg:"transparent",emptyTextPadding:t.padding,metaMarginBottom:t.padding,avatarMarginRight:t.padding,titleMarginBottom:t.paddingSM,descriptionFontSize:t.fontSize}),jUt=Fl("List",t=>{const e=Zr(t,{listBorderedCls:`${t.componentCls}-bordered`,minHeight:t.controlHeightLG});return[UUt(e),WUt(e),NUt(e)]},BUt);var YUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i(ze,Ae)=>{var re;P(ze),H(Ae),n&&n[Re]&&((re=n==null?void 0:n[Re])===null||re===void 0||re.call(n,ze,Ae))},B=W("onChange"),k=W("onShowSizeChange"),N=(Re,ze)=>{if(!b)return null;let Ae;return typeof C=="function"?Ae=C(Re):C?Ae=Re[C]:Ae=Re.key,Ae||(Ae=`list-item-${ze}`),m.createElement(m.Fragment,{key:Ae},b(Re,ze))},j=()=>!!(d||n||A),Y=D("list",o),[_,J,Q]=jUt(Y);let ee=x;typeof ee=="boolean"&&(ee={spinning:ee});const $=ee&&ee.spinning,q=Cd(g);let le="";switch(q){case"large":le="lg";break;case"small":le="sm";break}const ie=Gn(Y,{[`${Y}-vertical`]:u==="vertical",[`${Y}-${le}`]:le,[`${Y}-split`]:r,[`${Y}-bordered`]:i,[`${Y}-loading`]:$,[`${Y}-grid`]:!!f,[`${Y}-something-after-last-item`]:j(),[`${Y}-rtl`]:L==="rtl"},U==null?void 0:U.className,a,l,J,Q),pe=kXe(F,{total:p.length,current:T,pageSize:R},n||{}),ne=Math.ceil(pe.total/pe.pageSize);pe.current>ne&&(pe.current=ne);const Z=n?m.createElement("div",{className:Gn(`${Y}-pagination`,`${Y}-pagination-align-${(e=pe==null?void 0:pe.align)!==null&&e!==void 0?e:"end"}`)},m.createElement(UXe,Object.assign({},pe,{onChange:B,onShowSizeChange:k}))):null;let he=Xa(p);n&&p.length>(pe.current-1)*pe.pageSize&&(he=Xa(p).splice((pe.current-1)*pe.pageSize,pe.pageSize));const fe=Object.keys(f||{}).some(Re=>["xs","sm","md","lg","xl","xxl"].includes(Re)),se=v$(fe),oe=m.useMemo(()=>{for(let Re=0;Re{if(!f)return;const Re=oe&&f[oe]?f[oe]:f.column;if(Re)return{width:`${100/Re}%`,maxWidth:`${100/Re}%`}},[JSON.stringify(f),oe]);let ve=$&&m.createElement("div",{style:{minHeight:53}});if(he.length>0){const Re=he.map((ze,Ae)=>N(ze,Ae));ve=f?m.createElement(nn,{gutter:f.gutter},m.Children.map(Re,ze=>m.createElement("div",{key:ze==null?void 0:ze.key,style:de},ze))):m.createElement("ul",{className:`${Y}-items`},Re)}else!c&&!$&&(ve=m.createElement("div",{className:`${Y}-empty-text`},v&&v.emptyText||(E==null?void 0:E("List"))||m.createElement(nme,{componentName:"List"})));const Pe=pe.position||"bottom",me=m.useMemo(()=>({grid:f,itemLayout:u}),[JSON.stringify(f),u]);return _(m.createElement(kme.Provider,{value:me},m.createElement("div",Object.assign({style:Object.assign(Object.assign({},U==null?void 0:U.style),s),className:ie},S),(Pe==="top"||Pe==="both")&&Z,y&&m.createElement("div",{className:`${Y}-header`},y),m.createElement(LW,Object.assign({},ee),ve,c),A&&m.createElement("div",{className:`${Y}-footer`},A),d||(Pe==="bottom"||Pe==="both")&&Z)))}j0e.Item=jXe;let wm=null,Nv=t=>t(),Qk=[],Zk={};function lxe(){const{getContainer:t,duration:e,rtl:n,maxCount:o,top:i}=Zk,r=(t==null?void 0:t())||document.body;return{getContainer:()=>r,duration:e,rtl:n,maxCount:o,top:i}}const OUt=Se.forwardRef((t,e)=>{const{messageConfig:n,sync:o}=t,{getPrefixCls:i}=m.useContext(Mi),r=Zk.prefixCls||i("message"),a=m.useContext(SMt),[l,s]=g_e(Object.assign(Object.assign(Object.assign({},n),{prefixCls:r}),a.message));return Se.useImperativeHandle(e,()=>{const c=Object.assign({},l);return Object.keys(c).forEach(u=>{c[u]=function(){return o(),l[u].apply(l,arguments)}}),{instance:c,sync:o}}),s}),_Ut=Se.forwardRef((t,e)=>{const[n,o]=Se.useState(lxe),i=()=>{o(lxe)};Se.useEffect(i,[]);const r=$Oe(),a=r.getRootPrefixCls(),l=r.getIconPrefixCls(),s=r.getTheme(),c=Se.createElement(OUt,{ref:e,sync:i,messageConfig:n});return Se.createElement(iy,{prefixCls:a,iconPrefixCls:l,theme:s},r.holderRender?r.holderRender(c):c)});function L$(){if(!wm){const t=document.createDocumentFragment(),e={fragment:t};wm=e,Nv(()=>{_ge(Se.createElement(_Ut,{ref:n=>{const{instance:o,sync:i}=n||{};Promise.resolve().then(()=>{!e.instance&&o&&(e.instance=o,e.sync=i,L$())})}}),t)});return}wm.instance&&(Qk.forEach(t=>{const{type:e,skipped:n}=t;if(!n)switch(e){case"open":{Nv(()=>{const o=wm.instance.open(Object.assign(Object.assign({},Zk),t.config));o==null||o.then(t.resolve),t.setCloseFn(o)});break}case"destroy":Nv(()=>{wm==null||wm.instance.destroy(t.key)});break;default:Nv(()=>{var o;const i=(o=wm.instance)[e].apply(o,Xa(t.args));i==null||i.then(t.resolve),t.setCloseFn(i)})}}),Qk=[])}function VUt(t){Zk=Object.assign(Object.assign({},Zk),t),Nv(()=>{var e;(e=wm==null?void 0:wm.sync)===null||e===void 0||e.call(wm)})}function GUt(t){const e=Oge(n=>{let o;const i={type:"open",config:t,resolve:n,setCloseFn:r=>{o=r}};return Qk.push(i),()=>{o?Nv(()=>{o()}):i.skipped=!0}});return L$(),e}function XUt(t,e){const n=Oge(o=>{let i;const r={type:t,args:e,resolve:o,setCloseFn:a=>{i=a}};return Qk.push(r),()=>{i?Nv(()=>{i()}):r.skipped=!0}});return L$(),n}const JUt=t=>{Qk.push({type:"destroy",key:t}),L$()},KUt=["success","info","warning","error","loading"],qUt={open:GUt,destroy:JUt,config:VUt,useMessage:sCt,_InternalPanelDoNotUseOrYouWillBeFired:eCt},K6=qUt;KUt.forEach(t=>{K6[t]=function(){for(var e=arguments.length,n=new Array(e),o=0;o{const{prefixCls:e,className:n,closeIcon:o,closable:i,type:r,title:a,children:l,footer:s}=t,c=$Ut(t,["prefixCls","className","closeIcon","closable","type","title","children","footer"]),{getPrefixCls:u}=m.useContext(Mi),d=u(),f=e||u("modal"),p=j0(d),[g,y,A]=Q_e(f,p),x=`${f}-confirm`;let C={};return r?C={closable:i??!1,title:"",footer:"",children:m.createElement(eVe,Object.assign({},t,{prefixCls:f,confirmPrefixCls:x,rootPrefixCls:d,content:l}))}:C={closable:i??!0,title:a,footer:s!==null&&m.createElement(K_e,Object.assign({},t)),children:l},g(m.createElement(D_e,Object.assign({prefixCls:f,className:Gn(y,`${f}-pure-panel`,r&&x,r&&`${x}-${r}`,n,A,p)},c,{closeIcon:J_e(f,o),closable:i},C)))},ZUt=cVe(QUt);function YXe(t){return CW(iVe(t))}const _r=Z_e;_r.useModal=bMt;_r.info=function(e){return CW(rVe(e))};_r.success=function(e){return CW(aVe(e))};_r.error=function(e){return CW(lVe(e))};_r.warning=YXe;_r.warn=YXe;_r.confirm=function(e){return CW(sVe(e))};_r.destroyAll=function(){for(;Fv.length;){const e=Fv.pop();e&&e()}};_r.config=yMt;_r._InternalPanelDoNotUseOrYouWillBeFired=ZUt;var eBt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"},tBt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:eBt}))},xf=m.forwardRef(tBt);function Y0e(t,e,n){return(t-e)/(n-e)}function Fme(t,e,n,o){var i=Y0e(e,n,o),r={};switch(t){case"rtl":r.right="".concat(i*100,"%"),r.transform="translateX(50%)";break;case"btt":r.bottom="".concat(i*100,"%"),r.transform="translateY(50%)";break;case"ttb":r.top="".concat(i*100,"%"),r.transform="translateY(-50%)";break;default:r.left="".concat(i*100,"%"),r.transform="translateX(-50%)";break}return r}function XP(t,e){return Array.isArray(t)?t[e]:t}var Eb=m.createContext({min:0,max:0,direction:"ltr",step:1,includedStart:0,includedEnd:0,tabIndex:0,keyboard:!0,styles:{},classNames:{}}),nBt=["prefixCls","value","valueIndex","onStartMove","style","render","dragging","onOffsetChange","onChangeComplete","onFocus","onMouseEnter"],sxe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.value,i=t.valueIndex,r=t.onStartMove,a=t.style,l=t.render,s=t.dragging,c=t.onOffsetChange,u=t.onChangeComplete,d=t.onFocus,f=t.onMouseEnter,p=ir(t,nBt),g=m.useContext(Eb),y=g.min,A=g.max,x=g.direction,C=g.disabled,b=g.keyboard,v=g.range,S=g.tabIndex,w=g.ariaLabelForHandle,T=g.ariaLabelledByForHandle,P=g.ariaValueTextFormatterForHandle,R=g.styles,H=g.classNames,D="".concat(n,"-handle"),E=function(_){C||r(_,i)},L=function(_){d==null||d(_,i)},U=function(_){f(_,i)},F=function(_){if(!C&&b){var J=null;switch(_.which||_.keyCode){case Bn.LEFT:J=x==="ltr"||x==="btt"?-1:1;break;case Bn.RIGHT:J=x==="ltr"||x==="btt"?1:-1;break;case Bn.UP:J=x!=="ttb"?1:-1;break;case Bn.DOWN:J=x!=="ttb"?-1:1;break;case Bn.HOME:J="min";break;case Bn.END:J="max";break;case Bn.PAGE_UP:J=2;break;case Bn.PAGE_DOWN:J=-2;break}J!==null&&(_.preventDefault(),c(J,i))}},W=function(_){switch(_.which||_.keyCode){case Bn.LEFT:case Bn.RIGHT:case Bn.UP:case Bn.DOWN:case Bn.HOME:case Bn.END:case Bn.PAGE_UP:case Bn.PAGE_DOWN:u==null||u();break}},B=Fme(x,o,y,A),k={};if(i!==null){var N;k={tabIndex:C?null:XP(S,i),role:"slider","aria-valuemin":y,"aria-valuemax":A,"aria-valuenow":o,"aria-disabled":C,"aria-label":XP(w,i),"aria-labelledby":XP(T,i),"aria-valuetext":(N=XP(P,i))===null||N===void 0?void 0:N(o),"aria-orientation":x==="ltr"||x==="rtl"?"horizontal":"vertical",onMouseDown:E,onTouchStart:E,onFocus:L,onMouseEnter:U,onKeyDown:F,onKeyUp:W}}var j=m.createElement("div",so({ref:e,className:Vn(D,_t(_t({},"".concat(D,"-").concat(i+1),i!==null&&v),"".concat(D,"-dragging"),s),H.handle),style:$t($t($t({},B),a),R.handle)},k,p));return l&&(j=l(j,{index:i,prefixCls:n,value:o,dragging:s})),j}),oBt=["prefixCls","style","onStartMove","onOffsetChange","values","handleRender","activeHandleRender","draggingIndex","onFocus"],iBt=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.style,i=t.onStartMove,r=t.onOffsetChange,a=t.values,l=t.handleRender,s=t.activeHandleRender,c=t.draggingIndex,u=t.onFocus,d=ir(t,oBt),f=m.useRef({});m.useImperativeHandle(e,function(){return{focus:function(S){var w;(w=f.current[S])===null||w===void 0||w.focus()}}});var p=m.useState(-1),g=on(p,2),y=g[0],A=g[1],x=function(S,w){A(w),u==null||u(S)},C=function(S,w){A(w)},b=$t({prefixCls:n,onStartMove:i,onOffsetChange:r,render:l,onFocus:x,onMouseEnter:C},d);return m.createElement(m.Fragment,null,a.map(function(v,S){return m.createElement(sxe,so({ref:function(T){T?f.current[S]=T:delete f.current[S]},dragging:c===S,style:XP(o,S),key:S,value:v,valueIndex:S},b))}),s&&m.createElement(sxe,so({key:"a11y"},b,{value:a[y],valueIndex:null,dragging:c!==-1,render:s,style:{pointerEvents:"none"},tabIndex:null,"aria-hidden":!0})))}),rBt=function(e){var n=e.prefixCls,o=e.style,i=e.children,r=e.value,a=e.onClick,l=m.useContext(Eb),s=l.min,c=l.max,u=l.direction,d=l.includedStart,f=l.includedEnd,p=l.included,g="".concat(n,"-text"),y=Fme(u,r,s,c);return m.createElement("span",{className:Vn(g,_t({},"".concat(g,"-active"),p&&d<=r&&r<=f)),style:$t($t({},y),o),onMouseDown:function(x){x.stopPropagation()},onClick:function(){a(r)}},i)},aBt=function(e){var n=e.prefixCls,o=e.marks,i=e.onClick,r="".concat(n,"-mark");return o.length?m.createElement("div",{className:r},o.map(function(a){var l=a.value,s=a.style,c=a.label;return m.createElement(rBt,{key:l,prefixCls:r,style:s,value:l,onClick:i},c)})):null},lBt=function(e){var n=e.prefixCls,o=e.value,i=e.style,r=e.activeStyle,a=m.useContext(Eb),l=a.min,s=a.max,c=a.direction,u=a.included,d=a.includedStart,f=a.includedEnd,p="".concat(n,"-dot"),g=u&&d<=o&&o<=f,y=$t($t({},Fme(c,o,l,s)),typeof i=="function"?i(o):i);return g&&(y=$t($t({},y),typeof r=="function"?r(o):r)),m.createElement("span",{className:Vn(p,_t({},"".concat(p,"-active"),g)),style:y})},sBt=function(e){var n=e.prefixCls,o=e.marks,i=e.dots,r=e.style,a=e.activeStyle,l=m.useContext(Eb),s=l.min,c=l.max,u=l.step,d=m.useMemo(function(){var f=new Set;if(o.forEach(function(g){f.add(g.value)}),i&&u!==null)for(var p=s;p<=c;)f.add(p),p+=u;return Array.from(f)},[s,c,u,i,o]);return m.createElement("div",{className:"".concat(n,"-step")},d.map(function(f){return m.createElement(lBt,{prefixCls:n,key:f,value:f,style:r,activeStyle:a})}))},cxe=function(e){var n=e.prefixCls,o=e.style,i=e.start,r=e.end,a=e.index,l=e.onStartMove,s=e.replaceCls,c=m.useContext(Eb),u=c.direction,d=c.min,f=c.max,p=c.disabled,g=c.range,y=c.classNames,A="".concat(n,"-track"),x=Y0e(i,d,f),C=Y0e(r,d,f),b=function(T){!p&&l&&l(T,-1)},v={};switch(u){case"rtl":v.right="".concat(x*100,"%"),v.width="".concat(C*100-x*100,"%");break;case"btt":v.bottom="".concat(x*100,"%"),v.height="".concat(C*100-x*100,"%");break;case"ttb":v.top="".concat(x*100,"%"),v.height="".concat(C*100-x*100,"%");break;default:v.left="".concat(x*100,"%"),v.width="".concat(C*100-x*100,"%")}var S=s||Vn(A,_t(_t({},"".concat(A,"-").concat(a+1),a!==null&&g),"".concat(n,"-track-draggable"),l),y.track);return m.createElement("div",{className:S,style:$t($t({},v),o),onMouseDown:b,onTouchStart:b})},cBt=function(e){var n=e.prefixCls,o=e.style,i=e.values,r=e.startPoint,a=e.onStartMove,l=m.useContext(Eb),s=l.included,c=l.range,u=l.min,d=l.styles,f=l.classNames,p=m.useMemo(function(){if(!c){if(i.length===0)return[];var y=r??u,A=i[0];return[{start:Math.min(y,A),end:Math.max(y,A)}]}for(var x=[],C=0;C3&&arguments[3]!==void 0?arguments[3]:"unit";if(typeof y=="number"){var C,b=g[A],v=b+y,S=[];o.forEach(function(H){S.push(H.value)}),S.push(t,e),S.push(l(b));var w=y>0?1:-1;x==="unit"?S.push(l(b+w*n)):S.push(l(v)),S=S.filter(function(H){return H!==null}).filter(function(H){return y<0?H<=b:H>=b}),x==="unit"&&(S=S.filter(function(H){return H!==b}));var T=x==="unit"?b:v;C=S[0];var P=Math.abs(C-T);if(S.forEach(function(H){var D=Math.abs(H-T);D1){var R=Wo(g);return R[A]=C,p(R,y-w,A,x)}return C}else{if(y==="min")return t;if(y==="max")return e}},u=function(g,y,A){var x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"unit",C=g[A],b=c(g,y,A,x);return{value:b,changed:b!==C}},d=function(g){return r===null&&g===0||typeof r=="number"&&g3&&arguments[3]!==void 0?arguments[3]:"unit",C=g.map(s),b=C[A],v=c(C,y,A,x);if(C[A]=v,i===!1){var S=r||0;A>0&&C[A-1]!==b&&(C[A]=Math.max(C[A],C[A-1]+S)),A0;R-=1)for(var H=!0;d(C[R]-C[R-1])&&H;){var D=u(C,-1,R-1);C[R-1]=D.value,H=D.changed}for(var E=C.length-1;E>0;E-=1)for(var L=!0;d(C[E]-C[E-1])&&L;){var U=u(C,-1,E-1);C[E-1]=U.value,L=U.changed}for(var F=0;F=0?W:!1},[W,ze]),re=m.useMemo(function(){return Object.keys(le||{}).map(function(ft){var Rt=le[ft],zt={value:Number(ft)};return Rt&&gr(Rt)==="object"&&!m.isValidElement(Rt)&&("label"in Rt||"style"in Rt)?(zt.style=Rt.style,zt.label=Rt.label):zt.label=Rt,zt}).filter(function(ft){var Rt=ft.label;return Rt||typeof Rt=="number"}).sort(function(ft,Rt){return ft.value-Rt.value})},[le]),ge=dBt(me,Re,ze,re,U,Ae),we=on(ge,2),ye=we[0],Te=we[1],Ie=Rs(w,{value:S}),Ce=on(Ie,2),Ee=Ce[0],Ue=Ce[1],Ne=m.useMemo(function(){var ft=Ee==null?[]:Array.isArray(Ee)?Ee:[Ee],Rt=on(ft,1),zt=Rt[0],Xe=zt===void 0?me:zt,ht=Ee===null?[]:[Xe];if(T){if(ht=Wo(ft),P||Ee===void 0){var Je=P>=0?P+1:2;for(ht=ht.slice(0,Je);ht.length=0&&de.current.focus(ft)}Qe(null)},[rt]);var et=m.useMemo(function(){return B&&ze===null?!1:B},[B,ze]),vt=function(Rt,zt){dt(Rt,zt),H==null||H(qe(Le.current))},ct=ot!==-1;m.useEffect(function(){if(!ct){var ft=Ne.lastIndexOf(Ye);de.current.focus(ft)}},[ct]);var lt=m.useMemo(function(){return Wo(St).sort(function(ft,Rt){return ft-Rt})},[St]),tt=m.useMemo(function(){return T?[lt[0],lt[lt.length-1]]:[me,lt[0]]},[lt,T,me]),it=on(tt,2),At=it[0],Mt=it[1];m.useImperativeHandle(e,function(){return{focus:function(){de.current.focus(0)},blur:function(){var Rt,zt=document,Xe=zt.activeElement;(Rt=ve.current)!==null&&Rt!==void 0&&Rt.contains(Xe)&&(Xe==null||Xe.blur())}}}),m.useEffect(function(){f&&de.current.focus(0)},[]);var st=m.useMemo(function(){return{min:me,max:Re,direction:Pe,disabled:c,keyboard:d,step:ze,included:Y,includedStart:At,includedEnd:Mt,range:T,tabIndex:he,ariaLabelForHandle:fe,ariaLabelledByForHandle:se,ariaValueTextFormatterForHandle:oe,styles:l||{},classNames:a||{}}},[me,Re,Pe,c,d,ze,Y,At,Mt,T,he,fe,se,oe,l,a]);return m.createElement(Eb.Provider,{value:st},m.createElement("div",{ref:ve,className:Vn(o,i,_t(_t(_t(_t({},"".concat(o,"-disabled"),c),"".concat(o,"-vertical"),N),"".concat(o,"-horizontal"),!N),"".concat(o,"-with-marks"),re.length)),style:r,onMouseDown:at},m.createElement("div",{className:Vn("".concat(o,"-rail"),a==null?void 0:a.rail),style:$t($t({},ee),l==null?void 0:l.rail)}),m.createElement(cBt,{prefixCls:o,style:J,values:lt,startPoint:_,onStartMove:et?vt:void 0}),m.createElement(sBt,{prefixCls:o,marks:re,dots:ie,style:$,activeStyle:q}),m.createElement(iBt,{ref:de,prefixCls:o,style:Q,values:St,draggingIndex:ot,onStartMove:vt,onOffsetChange:Oe,onFocus:p,onBlur:g,handleRender:pe,activeHandleRender:ne,onChangeComplete:De}),m.createElement(aBt,{prefixCls:o,marks:re,onClick:je})))});const dxe=m.forwardRef((t,e)=>{const{open:n}=t,o=m.useRef(null),i=m.useRef(null);function r(){Pg.cancel(i.current),i.current=null}function a(){i.current=Pg(()=>{var l;(l=o.current)===null||l===void 0||l.forceAlign(),i.current=null})}return m.useEffect(()=>(n?a():r(),r),[n,t.title]),m.createElement(J6,Object.assign({ref:q2(o,e)},t))}),hBt=t=>{const{componentCls:e,antCls:n,controlSize:o,dotSize:i,marginFull:r,marginPart:a,colorFillContentHover:l,handleColorDisabled:s,calc:c}=t;return{[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",height:o,margin:`${Ut(a)} ${Ut(r)}`,padding:0,cursor:"pointer",touchAction:"none","&-vertical":{margin:`${Ut(r)} ${Ut(a)}`},[`${e}-rail`]:{position:"absolute",backgroundColor:t.railBg,borderRadius:t.borderRadiusXS,transition:`background-color ${t.motionDurationMid}`},[`${e}-track,${e}-tracks`]:{position:"absolute",transition:`background-color ${t.motionDurationMid}`},[`${e}-track`]:{backgroundColor:t.trackBg,borderRadius:t.borderRadiusXS},[`${e}-track-draggable`]:{boxSizing:"content-box",backgroundClip:"content-box",border:"solid rgba(0,0,0,0)"},"&:hover":{[`${e}-rail`]:{backgroundColor:t.railHoverBg},[`${e}-track`]:{backgroundColor:t.trackHoverBg},[`${e}-dot`]:{borderColor:l},[`${e}-handle::after`]:{boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${t.colorPrimaryBorderHover}`},[`${e}-dot-active`]:{borderColor:t.dotActiveBorderColor}},[`${e}-handle`]:{position:"absolute",width:t.handleSize,height:t.handleSize,outline:"none","&::before":{content:'""',position:"absolute",insetInlineStart:c(t.handleLineWidth).mul(-1).equal(),insetBlockStart:c(t.handleLineWidth).mul(-1).equal(),width:c(t.handleSize).add(c(t.handleLineWidth).mul(2)).equal(),height:c(t.handleSize).add(c(t.handleLineWidth).mul(2)).equal(),backgroundColor:"transparent"},"&::after":{content:'""',position:"absolute",insetBlockStart:0,insetInlineStart:0,width:t.handleSize,height:t.handleSize,backgroundColor:t.colorBgElevated,boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${t.handleColor}`,borderRadius:"50%",cursor:"pointer",transition:` inset-inline-start ${t.motionDurationMid}, inset-block-start ${t.motionDurationMid}, width ${t.motionDurationMid}, @@ -4655,12 +4655,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `]:{backgroundColor:t.colorBgElevated,borderColor:t.trackBgDisabled,boxShadow:"none",cursor:"not-allowed"},[`${e}-handle::after`]:{backgroundColor:t.colorBgElevated,cursor:"not-allowed",width:t.handleSize,height:t.handleSize,boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${s}`,insetInlineStart:0,insetBlockStart:0},[` ${e}-mark-text, ${e}-dot - `]:{cursor:"not-allowed !important"}},[`&-tooltip ${n}-tooltip-inner`]:{minWidth:"unset"}})}},OXe=(t,e)=>{const{componentCls:n,railSize:o,handleSize:i,dotSize:r,marginFull:a,calc:l}=t,s=e?"paddingBlock":"paddingInline",c=e?"width":"height",u=e?"height":"width",d=e?"insetBlockStart":"insetInlineStart",f=e?"top":"insetInlineStart",p=l(o).mul(3).sub(i).div(2).equal(),g=l(i).sub(o).div(2).equal(),y=e?{borderWidth:`${Ut(g)} 0`,transform:`translateY(${Ut(l(g).mul(-1).equal())})`}:{borderWidth:`0 ${Ut(g)}`,transform:`translateX(${Ut(t.calc(g).mul(-1).equal())})`};return{[s]:o,[u]:l(o).mul(3).equal(),[`${n}-rail`]:{[c]:"100%",[u]:o},[`${n}-track,${n}-tracks`]:{[u]:o},[`${n}-track-draggable`]:Object.assign({},y),[`${n}-handle`]:{[d]:p},[`${n}-mark`]:{insetInlineStart:0,top:0,[f]:l(o).mul(3).add(e?0:a).equal(),[c]:"100%"},[`${n}-step`]:{insetInlineStart:0,top:0,[f]:o,[c]:"100%",[u]:o},[`${n}-dot`]:{position:"absolute",[d]:l(o).sub(r).div(2).equal()}}},mBt=t=>{const{componentCls:e,marginPartWithMark:n}=t;return{[`${e}-horizontal`]:Object.assign(Object.assign({},OXe(t,!0)),{[`&${e}-with-marks`]:{marginBottom:n}})}},yBt=t=>{const{componentCls:e}=t;return{[`${e}-vertical`]:Object.assign(Object.assign({},OXe(t,!1)),{height:"100%"})}},ABt=t=>{const n=t.controlHeightLG/4,o=t.controlHeightSM/2,i=t.lineWidth+1,r=t.lineWidth+1*3;return{controlSize:n,railSize:4,handleSize:n,handleSizeHover:o,dotSize:8,handleLineWidth:i,handleLineWidthHover:r,railBg:t.colorFillTertiary,railHoverBg:t.colorFillSecondary,trackBg:t.colorPrimaryBorder,trackHoverBg:t.colorPrimaryBorderHover,handleColor:t.colorPrimaryBorder,handleActiveColor:t.colorPrimary,handleColorDisabled:new Il(t.colorTextDisabled).onBackground(t.colorBgContainer).toHexShortString(),dotBorderColor:t.colorBorderSecondary,dotActiveBorderColor:t.colorPrimaryBorder,trackBgDisabled:t.colorBgContainerDisabled}},wBt=Fl("Slider",t=>{const e=Zr(t,{marginPart:t.calc(t.controlHeight).sub(t.controlSize).div(2).equal(),marginFull:t.calc(t.controlSize).div(2).equal(),marginPartWithMark:t.calc(t.controlHeightLG).sub(t.controlSize).equal()});return[gBt(e),mBt(e),yBt(e)]},ABt);function _ie(){const[t,e]=m.useState(!1),n=m.useRef(),o=()=>{Pg.cancel(n.current)},i=r=>{o(),r?e(r):n.current=Pg(()=>{e(r)})};return m.useEffect(()=>o,[]),[t,i]}var vBt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);itypeof n=="number"?n.toString():""}const Mu=Se.forwardRef((t,e)=>{const{prefixCls:n,range:o,className:i,rootClassName:r,style:a,disabled:l,tooltipPrefixCls:s,tipFormatter:c,tooltipVisible:u,getTooltipPopupContainer:d,tooltipPlacement:f,tooltip:p={},onChangeComplete:g}=t,y=vBt(t,["prefixCls","range","className","rootClassName","style","disabled","tooltipPrefixCls","tipFormatter","tooltipVisible","getTooltipPopupContainer","tooltipPlacement","tooltip","onChangeComplete"]),{vertical:A}=t,{direction:x,slider:C,getPrefixCls:b,getPopupContainer:v}=Se.useContext(Mi),S=Se.useContext(qp),w=l??S,[T,P]=_ie(),[R,H]=_ie(),D=Object.assign({},p),{open:E,placement:L,getPopupContainer:U,prefixCls:F,formatter:W}=D,B=E??u,k=(T||R)&&B!==!1,N=xBt(W,c),[j,Y]=_ie(),_=se=>{g==null||g(se),Y(!1)},J=(se,oe)=>se||(oe?x==="rtl"?"left":"right":"top"),Q=b("slider",n),[ee,$,q]=wBt(Q),le=Gn(i,C==null?void 0:C.className,r,{[`${Q}-rtl`]:x==="rtl",[`${Q}-lock`]:j},$,q);x==="rtl"&&!y.vertical&&(y.reverse=!y.reverse);const[ie,pe]=Se.useMemo(()=>o?typeof o=="object"?[!0,o.draggableTrack]:[!0,!1]:[!1],[o]);Se.useEffect(()=>{const se=()=>{Pg(()=>{H(!1)},1)};return document.addEventListener("mouseup",se),()=>{document.removeEventListener("mouseup",se)}},[]);const ne=ie&&!B,Z=(se,oe)=>{const{index:de}=oe,ve=se.props,Pe=Object.assign(Object.assign({},ve),{onMouseEnter:ze=>{var Ae;P(!0),(Ae=ve.onMouseEnter)===null||Ae===void 0||Ae.call(ve,ze)},onMouseLeave:ze=>{var Ae;P(!1),(Ae=ve.onMouseLeave)===null||Ae===void 0||Ae.call(ve,ze)},onMouseDown:ze=>{var Ae;H(!0),Y(!0),(Ae=ve.onMouseDown)===null||Ae===void 0||Ae.call(ve,ze)},onFocus:ze=>{var Ae,re;H(!0),(Ae=y.onFocus)===null||Ae===void 0||Ae.call(y,ze),(re=ve.onFocus)===null||re===void 0||re.call(ve,ze)},onBlur:ze=>{var Ae,re;H(!1),(Ae=y.onBlur)===null||Ae===void 0||Ae.call(y,ze),(re=ve.onBlur)===null||re===void 0||re.call(ve,ze)}}),me=Se.cloneElement(se,Pe),Re=(!!B||k)&&N!==null;return ne?me:Se.createElement(dxe,Object.assign({},D,{prefixCls:b("tooltip",F??s),title:N?N(oe.value):"",open:Re,placement:J(L??f,A),key:de,overlayClassName:`${Q}-tooltip`,getPopupContainer:U||d||v}),me)},he=ne?(se,oe)=>{const de=Se.cloneElement(se,{style:Object.assign(Object.assign({},se.props.style),{visibility:"hidden"})});return Se.createElement(dxe,Object.assign({},D,{prefixCls:b("tooltip",F??s),title:N?N(oe.value):"",open:N!==null&&k,placement:J(L??f,A),key:"tooltip",overlayClassName:`${Q}-tooltip`,getPopupContainer:U||d||v}),de)}:void 0,fe=Object.assign(Object.assign({},C==null?void 0:C.style),a);return ee(Se.createElement(pBt,Object.assign({},y,{step:y.step,range:ie,draggableTrack:pe,className:le,style:fe,disabled:w,ref:e,prefixCls:Q,handleRender:Z,activeHandleRender:he,onChangeComplete:_})))});var bBt=["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"],_Xe=m.forwardRef(function(t,e){var n,o=t.prefixCls,i=o===void 0?"rc-switch":o,r=t.className,a=t.checked,l=t.defaultChecked,s=t.disabled,c=t.loadingIcon,u=t.checkedChildren,d=t.unCheckedChildren,f=t.onClick,p=t.onChange,g=t.onKeyDown,y=ir(t,bBt),A=Rs(!1,{value:a,defaultValue:l}),x=on(A,2),C=x[0],b=x[1];function v(P,R){var H=C;return s||(H=P,b(H),p==null||p(H,R)),H}function S(P){P.which===Bn.LEFT?v(!1,P):P.which===Bn.RIGHT&&v(!0,P),g==null||g(P)}function w(P){var R=v(!C,P);f==null||f(R,P)}var T=Vn(i,r,(n={},_t(n,"".concat(i,"-checked"),C),_t(n,"".concat(i,"-disabled"),s),n));return m.createElement("button",so({},y,{type:"button",role:"switch","aria-checked":C,disabled:s,className:T,ref:e,onKeyDown:S,onClick:w}),c,m.createElement("span",{className:"".concat(i,"-inner")},m.createElement("span",{className:"".concat(i,"-inner-checked")},u),m.createElement("span",{className:"".concat(i,"-inner-unchecked")},d)))});_Xe.displayName="Switch";const SBt=t=>{const{componentCls:e,trackHeightSM:n,trackPadding:o,trackMinWidthSM:i,innerMinMarginSM:r,innerMaxMarginSM:a,handleSizeSM:l,calc:s}=t,c=`${e}-inner`,u=Ut(s(l).add(s(o).mul(2)).equal()),d=Ut(s(a).mul(2).equal());return{[e]:{[`&${e}-small`]:{minWidth:i,height:n,lineHeight:Ut(n),[`${e}-inner`]:{paddingInlineStart:a,paddingInlineEnd:r,[`${c}-checked, ${c}-unchecked`]:{minHeight:n},[`${c}-checked`]:{marginInlineStart:`calc(-100% + ${u} - ${d})`,marginInlineEnd:`calc(100% - ${u} + ${d})`},[`${c}-unchecked`]:{marginTop:s(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`${e}-handle`]:{width:l,height:l},[`${e}-loading-icon`]:{top:s(s(l).sub(t.switchLoadingIconSize)).div(2).equal(),fontSize:t.switchLoadingIconSize},[`&${e}-checked`]:{[`${e}-inner`]:{paddingInlineStart:r,paddingInlineEnd:a,[`${c}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${c}-unchecked`]:{marginInlineStart:`calc(100% - ${u} + ${d})`,marginInlineEnd:`calc(-100% + ${u} - ${d})`}},[`${e}-handle`]:{insetInlineStart:`calc(100% - ${Ut(s(l).add(o).equal())})`}},[`&:not(${e}-disabled):active`]:{[`&:not(${e}-checked) ${c}`]:{[`${c}-unchecked`]:{marginInlineStart:s(t.marginXXS).div(2).equal(),marginInlineEnd:s(t.marginXXS).mul(-1).div(2).equal()}},[`&${e}-checked ${c}`]:{[`${c}-checked`]:{marginInlineStart:s(t.marginXXS).mul(-1).div(2).equal(),marginInlineEnd:s(t.marginXXS).div(2).equal()}}}}}}},TBt=t=>{const{componentCls:e,handleSize:n,calc:o}=t;return{[e]:{[`${e}-loading-icon${t.iconCls}`]:{position:"relative",top:o(o(n).sub(t.fontSize)).div(2).equal(),color:t.switchLoadingIconColor,verticalAlign:"top"},[`&${e}-checked ${e}-loading-icon`]:{color:t.switchColor}}}},PBt=t=>{const{componentCls:e,trackPadding:n,handleBg:o,handleShadow:i,handleSize:r,calc:a}=t,l=`${e}-handle`;return{[e]:{[l]:{position:"absolute",top:n,insetInlineStart:n,width:r,height:r,transition:`all ${t.switchDuration} ease-in-out`,"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,backgroundColor:o,borderRadius:a(r).div(2).equal(),boxShadow:i,transition:`all ${t.switchDuration} ease-in-out`,content:'""'}},[`&${e}-checked ${l}`]:{insetInlineStart:`calc(100% - ${Ut(a(r).add(n).equal())})`},[`&:not(${e}-disabled):active`]:{[`${l}::before`]:{insetInlineEnd:t.switchHandleActiveInset,insetInlineStart:0},[`&${e}-checked ${l}::before`]:{insetInlineEnd:0,insetInlineStart:t.switchHandleActiveInset}}}}},CBt=t=>{const{componentCls:e,trackHeight:n,trackPadding:o,innerMinMargin:i,innerMaxMargin:r,handleSize:a,calc:l}=t,s=`${e}-inner`,c=Ut(l(a).add(l(o).mul(2)).equal()),u=Ut(l(r).mul(2).equal());return{[e]:{[s]:{display:"block",overflow:"hidden",borderRadius:100,height:"100%",paddingInlineStart:r,paddingInlineEnd:i,transition:`padding-inline-start ${t.switchDuration} ease-in-out, padding-inline-end ${t.switchDuration} ease-in-out`,[`${s}-checked, ${s}-unchecked`]:{display:"block",color:t.colorTextLightSolid,fontSize:t.fontSizeSM,transition:`margin-inline-start ${t.switchDuration} ease-in-out, margin-inline-end ${t.switchDuration} ease-in-out`,pointerEvents:"none",minHeight:n},[`${s}-checked`]:{marginInlineStart:`calc(-100% + ${c} - ${u})`,marginInlineEnd:`calc(100% - ${c} + ${u})`},[`${s}-unchecked`]:{marginTop:l(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`&${e}-checked ${s}`]:{paddingInlineStart:i,paddingInlineEnd:r,[`${s}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${s}-unchecked`]:{marginInlineStart:`calc(100% - ${c} + ${u})`,marginInlineEnd:`calc(-100% + ${c} - ${u})`}},[`&:not(${e}-disabled):active`]:{[`&:not(${e}-checked) ${s}`]:{[`${s}-unchecked`]:{marginInlineStart:l(o).mul(2).equal(),marginInlineEnd:l(o).mul(-1).mul(2).equal()}},[`&${e}-checked ${s}`]:{[`${s}-checked`]:{marginInlineStart:l(o).mul(-1).mul(2).equal(),marginInlineEnd:l(o).mul(2).equal()}}}}}},RBt=t=>{const{componentCls:e,trackHeight:n,trackMinWidth:o}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",boxSizing:"border-box",minWidth:o,height:n,lineHeight:`${Ut(n)}`,verticalAlign:"middle",background:t.colorTextQuaternary,border:"0",borderRadius:100,cursor:"pointer",transition:`all ${t.motionDurationMid}`,userSelect:"none",[`&:hover:not(${e}-disabled)`]:{background:t.colorTextTertiary}}),V6(t)),{[`&${e}-checked`]:{background:t.switchColor,[`&:hover:not(${e}-disabled)`]:{background:t.colorPrimaryHover}},[`&${e}-loading, &${e}-disabled`]:{cursor:"not-allowed",opacity:t.switchDisabledOpacity,"*":{boxShadow:"none",cursor:"not-allowed"}},[`&${e}-rtl`]:{direction:"rtl"}})}},HBt=t=>{const{fontSize:e,lineHeight:n,controlHeight:o,colorWhite:i}=t,r=e*n,a=o/2,l=2,s=r-l*2,c=a-l*2;return{trackHeight:r,trackHeightSM:a,trackMinWidth:s*2+l*4,trackMinWidthSM:c*2+l*2,trackPadding:l,handleBg:i,handleSize:s,handleSizeSM:c,handleShadow:`0 2px 4px 0 ${new Il("#00230b").setAlpha(.2).toRgbString()}`,innerMinMargin:s/2,innerMaxMargin:s+l+l*2,innerMinMarginSM:c/2,innerMaxMarginSM:c+l+l*2}},MBt=Fl("Switch",t=>{const e=Zr(t,{switchDuration:t.motionDurationMid,switchColor:t.colorPrimary,switchDisabledOpacity:t.opacityLoading,switchLoadingIconSize:t.calc(t.fontSizeIcon).mul(.75).equal(),switchLoadingIconColor:`rgba(0, 0, 0, ${t.opacityLoading})`,switchHandleActiveInset:"-30%"});return[RBt(e),CBt(e),PBt(e),TBt(e),SBt(e)]},HBt);var IBt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,size:o,disabled:i,loading:r,className:a,rootClassName:l,style:s,checked:c,value:u,defaultChecked:d,defaultValue:f,onChange:p}=t,g=IBt(t,["prefixCls","size","disabled","loading","className","rootClassName","style","checked","value","defaultChecked","defaultValue","onChange"]),[y,A]=_6(!1,{value:c??u,defaultValue:d??f}),{getPrefixCls:x,direction:C,switch:b}=m.useContext(Mi),v=m.useContext(qp),S=(i??v)||r,w=x("switch",n),T=m.createElement("div",{className:`${w}-handle`},r&&m.createElement(HH,{className:`${w}-loading-icon`})),[P,R,H]=MBt(w),D=Cd(o),E=Gn(b==null?void 0:b.className,{[`${w}-small`]:D==="small",[`${w}-loading`]:r,[`${w}-rtl`]:C==="rtl"},a,l,R,H),L=Object.assign(Object.assign({},b==null?void 0:b.style),s),U=function(){A(arguments.length<=0?void 0:arguments[0]),p==null||p.apply(void 0,arguments)};return P(m.createElement(wW,{component:"Switch"},m.createElement(_Xe,Object.assign({},g,{checked:y,onChange:U,prefixCls:w,className:E,style:L,disabled:S,ref:e,loadingIcon:T}))))}),wc=zBt;wc.__ANT_SWITCH=!0;var O4={},NW="rc-table-internal-hook";function Lme(t){var e=m.createContext(void 0),n=function(i){var r=i.value,a=i.children,l=m.useRef(r);l.current=r;var s=m.useState(function(){return{getValue:function(){return l.current},listeners:new Set}}),c=on(s,1),u=c[0];return Ba(function(){Sd.unstable_batchedUpdates(function(){u.listeners.forEach(function(d){d(r)})})},[r]),m.createElement(e.Provider,{value:u},a)};return{Context:e,Provider:n,defaultValue:t}}function hh(t,e){var n=Ia(typeof e=="function"?e:function(d){if(e===void 0)return d;if(!Array.isArray(e))return d[e];var f={};return e.forEach(function(p){f[p]=d[p]}),f}),o=m.useContext(t==null?void 0:t.Context),i=o||{},r=i.listeners,a=i.getValue,l=m.useRef();l.current=n(o?a():t==null?void 0:t.defaultValue);var s=m.useState({}),c=on(s,2),u=c[1];return Ba(function(){if(!o)return;function d(f){var p=n(f);e7(l.current,p,!0)||u({})}return r.add(d),function(){r.delete(d)}},[o]),l.current}function DBt(){var t=m.createContext(null);function e(){return m.useContext(t)}function n(i,r){var a=Zw(i),l=function(c,u){var d=a?{ref:u}:{},f=m.useRef(0),p=m.useRef(c),g=e();return g!==null?m.createElement(i,so({},c,d)):((!r||r(p.current,c))&&(f.current+=1),p.current=c,m.createElement(t.Provider,{value:f.current},m.createElement(i,so({},c,d))))};return a?m.forwardRef(l):l}function o(i,r){var a=Zw(i),l=function(c,u){var d=a?{ref:u}:{};return e(),m.createElement(i,so({},c,d))};return a?m.memo(m.forwardRef(l),r):m.memo(l,r)}return{makeImmutable:n,responseImmutable:o,useImmutableMark:e}}var Wme=DBt(),VXe=Wme.makeImmutable,LH=Wme.responseImmutable,EBt=Wme.useImmutableMark,a1=Lme(),GXe=m.createContext({renderWithProps:!1}),kBt="RC_TABLE_KEY";function FBt(t){return t==null?[]:Array.isArray(t)?t:[t]}function W$(t){var e=[],n={};return t.forEach(function(o){for(var i=o||{},r=i.key,a=i.dataIndex,l=r||FBt(a).join("-")||kBt;n[l];)l="".concat(l,"_next");n[l]=!0,e.push(l)}),e}function O0e(t){return t!=null}function LBt(t){return t&&gr(t)==="object"&&!Array.isArray(t)&&!m.isValidElement(t)}function WBt(t,e,n,o,i,r){var a=m.useContext(GXe),l=EBt(),s=fW(function(){if(O0e(o))return[o];var c=e==null||e===""?[]:Array.isArray(e)?e:[e],u=dg(t,c),d=u,f=void 0;if(i){var p=i(u,t,n);LBt(p)?(d=p.children,f=p.props,a.renderWithProps=!0):d=p}return[d,f]},[l,t,o,e,i,n],function(c,u){if(r){var d=on(c,2),f=d[1],p=on(u,2),g=p[1];return r(g,f)}return a.renderWithProps?!0:!e7(c,u,!0)});return s}function NBt(t,e,n,o){var i=t+e-1;return t<=o&&i>=n}function UBt(t,e){return hh(a1,function(n){var o=NBt(t,e||1,n.hoverStartRow,n.hoverEndRow);return[o,n.onHover]})}var BBt=function(e){var n=e.ellipsis,o=e.rowType,i=e.children,r,a=n===!0?{showTitle:!0}:n;return a&&(a.showTitle||o==="header")&&(typeof i=="string"||typeof i=="number"?r=i.toString():m.isValidElement(i)&&typeof i.props.children=="string"&&(r=i.props.children)),r};function jBt(t){var e,n,o,i,r,a,l,s,c=t.component,u=t.children,d=t.ellipsis,f=t.scope,p=t.prefixCls,g=t.className,y=t.align,A=t.record,x=t.render,C=t.dataIndex,b=t.renderIndex,v=t.shouldCellUpdate,S=t.index,w=t.rowType,T=t.colSpan,P=t.rowSpan,R=t.fixLeft,H=t.fixRight,D=t.firstFixLeft,E=t.lastFixLeft,L=t.firstFixRight,U=t.lastFixRight,F=t.appendNode,W=t.additionalProps,B=W===void 0?{}:W,k=t.isSticky,N="".concat(p,"-cell"),j=hh(a1,["supportSticky","allColumnsFixedLeft","rowHoverable"]),Y=j.supportSticky,_=j.allColumnsFixedLeft,J=j.rowHoverable,Q=WBt(A,C,b,u,x,v),ee=on(Q,2),$=ee[0],q=ee[1],le={},ie=typeof R=="number"&&Y,pe=typeof H=="number"&&Y;ie&&(le.position="sticky",le.left=R),pe&&(le.position="sticky",le.right=H);var ne=(e=(n=(o=q==null?void 0:q.colSpan)!==null&&o!==void 0?o:B.colSpan)!==null&&n!==void 0?n:T)!==null&&e!==void 0?e:1,Z=(i=(r=(a=q==null?void 0:q.rowSpan)!==null&&a!==void 0?a:B.rowSpan)!==null&&r!==void 0?r:P)!==null&&i!==void 0?i:1,he=UBt(S,Z),fe=on(he,2),se=fe[0],oe=fe[1],de=Ia(function(re){var ge;A&&oe(S,S+Z-1),B==null||(ge=B.onMouseEnter)===null||ge===void 0||ge.call(B,re)}),ve=Ia(function(re){var ge;A&&oe(-1,-1),B==null||(ge=B.onMouseLeave)===null||ge===void 0||ge.call(B,re)});if(ne===0||Z===0)return null;var Pe=(l=B.title)!==null&&l!==void 0?l:BBt({rowType:w,ellipsis:d,children:$}),me=Vn(N,g,(s={},_t(_t(_t(_t(_t(_t(_t(_t(_t(_t(s,"".concat(N,"-fix-left"),ie&&Y),"".concat(N,"-fix-left-first"),D&&Y),"".concat(N,"-fix-left-last"),E&&Y),"".concat(N,"-fix-left-all"),E&&_&&Y),"".concat(N,"-fix-right"),pe&&Y),"".concat(N,"-fix-right-first"),L&&Y),"".concat(N,"-fix-right-last"),U&&Y),"".concat(N,"-ellipsis"),d),"".concat(N,"-with-append"),F),"".concat(N,"-fix-sticky"),(ie||pe)&&k&&Y),_t(s,"".concat(N,"-row-hover"),!q&&se)),B.className,q==null?void 0:q.className),Re={};y&&(Re.textAlign=y);var ze=$t($t($t($t({},le),B.style),Re),q==null?void 0:q.style),Ae=$;return gr(Ae)==="object"&&!Array.isArray(Ae)&&!m.isValidElement(Ae)&&(Ae=null),d&&(E||L)&&(Ae=m.createElement("span",{className:"".concat(N,"-content")},Ae)),m.createElement(c,so({},q,B,{className:me,style:ze,title:Pe,scope:f,onMouseEnter:J?de:void 0,onMouseLeave:J?ve:void 0,colSpan:ne!==1?ne:null,rowSpan:Z!==1?Z:null}),F,Ae)}const kb=m.memo(jBt);function Nme(t,e,n,o,i){var r=n[t]||{},a=n[e]||{},l,s;r.fixed==="left"?l=o.left[i==="rtl"?e:t]:a.fixed==="right"&&(s=o.right[i==="rtl"?t:e]);var c=!1,u=!1,d=!1,f=!1,p=n[e+1],g=n[t-1],y=p&&!p.fixed||g&&!g.fixed||n.every(function(v){return v.fixed==="left"});if(i==="rtl"){if(l!==void 0){var A=g&&g.fixed==="left";f=!A&&y}else if(s!==void 0){var x=p&&p.fixed==="right";d=!x&&y}}else if(l!==void 0){var C=p&&p.fixed==="left";c=!C&&y}else if(s!==void 0){var b=g&&g.fixed==="right";u=!b&&y}return{fixLeft:l,fixRight:s,lastFixLeft:c,firstFixRight:u,lastFixRight:d,firstFixLeft:f,isSticky:o.isSticky}}var XXe=m.createContext({});function YBt(t){var e=t.className,n=t.index,o=t.children,i=t.colSpan,r=i===void 0?1:i,a=t.rowSpan,l=t.align,s=hh(a1,["prefixCls","direction"]),c=s.prefixCls,u=s.direction,d=m.useContext(XXe),f=d.scrollColumnIndex,p=d.stickyOffsets,g=d.flattenColumns,y=n+r-1,A=y+1===f?r+1:r,x=Nme(n,n+A-1,g,p,u);return m.createElement(kb,so({className:e,index:n,component:"td",prefixCls:c,record:null,dataIndex:null,align:l,colSpan:A,rowSpan:a,render:function(){return o}},x))}var OBt=["children"];function _Bt(t){var e=t.children,n=ir(t,OBt);return m.createElement("tr",n,e)}function N$(t){var e=t.children;return e}N$.Row=_Bt;N$.Cell=YBt;function VBt(t){var e=t.children,n=t.stickyOffsets,o=t.flattenColumns,i=hh(a1,"prefixCls"),r=o.length-1,a=o[r],l=m.useMemo(function(){return{stickyOffsets:n,flattenColumns:o,scrollColumnIndex:a!=null&&a.scrollbar?r:null}},[a,o,r,n]);return m.createElement(XXe.Provider,{value:l},m.createElement("tfoot",{className:"".concat(i,"-summary")},e))}const SY=LH(VBt);var JXe=N$;function GBt(t){return null}function XBt(t){return null}var KXe=function(e){if(sp()&&window.document.documentElement){var n=Array.isArray(e)?e:[e],o=window.document.documentElement;return n.some(function(i){return i in o.style})}return!1},JBt=function(e,n){if(!KXe(e))return!1;var o=document.createElement("div"),i=o.style[e];return o.style[e]=n,o.style[e]!==i};function KBt(t,e){return!Array.isArray(t)&&e!==void 0?JBt(t,e):KXe(t)}function qXe(t,e,n,o,i,r,a){t.push({record:e,indent:n,index:a});var l=r(e),s=i==null?void 0:i.has(l);if(e&&Array.isArray(e[o])&&s)for(var c=0;c1?D-1:0),L=1;L=1?S:""),style:$t($t({},n),x==null?void 0:x.style)}),g.map(function(R,H){var D=R.render,E=R.dataIndex,L=R.className,U=eJe(f,R,H,s,i),F=U.key,W=U.fixedInfo,B=U.appendCellNode,k=U.additionalCellProps;return m.createElement(kb,so({className:L,ellipsis:R.ellipsis,align:R.align,scope:R.rowScope,component:R.rowScope?d:u,prefixCls:p,key:F,record:o,index:i,renderIndex:r,dataIndex:E,render:D,shouldCellUpdate:R.shouldCellUpdate},W,{appendNode:B,additionalProps:k}))})),T;if(b&&(v.current||C)){var P=A(o,i,s+1,C);T=m.createElement(ZXe,{expanded:C,className:Vn("".concat(p,"-expanded-row"),"".concat(p,"-expanded-row-level-").concat(s+1),S),prefixCls:p,component:c,cellComponent:u,colSpan:g.length,isEmpty:!1},P)}return m.createElement(m.Fragment,null,w,T)}const $Bt=LH(qBt);function QBt(t){var e=t.columnKey,n=t.onColumnResize,o=m.useRef();return m.useEffect(function(){o.current&&n(e,o.current.offsetWidth)},[]),m.createElement(xd,{data:e},m.createElement("td",{ref:o,style:{padding:0,border:0,height:0}},m.createElement("div",{style:{height:0,overflow:"hidden"}}," ")))}function ZBt(t){var e=t.prefixCls,n=t.columnsKey,o=t.onColumnResize;return m.createElement("tr",{"aria-hidden":"true",className:"".concat(e,"-measure-row"),style:{height:0,fontSize:0}},m.createElement(xd.Collection,{onBatchResize:function(r){r.forEach(function(a){var l=a.data,s=a.size;o(l,s.offsetWidth)})}},n.map(function(i){return m.createElement(QBt,{key:i,columnKey:i,onColumnResize:o})})))}function ejt(t){var e=t.data,n=t.measureColumnWidth,o=hh(a1,["prefixCls","getComponent","onColumnResize","flattenColumns","getRowKey","expandedKeys","childrenColumnName","emptyNode"]),i=o.prefixCls,r=o.getComponent,a=o.onColumnResize,l=o.flattenColumns,s=o.getRowKey,c=o.expandedKeys,u=o.childrenColumnName,d=o.emptyNode,f=$Xe(e,u,c,s),p=m.useRef({renderWithProps:!1}),g=r(["body","wrapper"],"tbody"),y=r(["body","row"],"tr"),A=r(["body","cell"],"td"),x=r(["body","cell"],"th"),C;e.length?C=f.map(function(v,S){var w=v.record,T=v.indent,P=v.index,R=s(w,S);return m.createElement($Bt,{key:R,rowKey:R,record:w,index:S,renderIndex:P,rowComponent:y,cellComponent:A,scopeCellComponent:x,getRowKey:s,indent:T})}):C=m.createElement(ZXe,{expanded:!0,className:"".concat(i,"-placeholder"),prefixCls:i,component:y,cellComponent:A,colSpan:l.length,isEmpty:!0},d);var b=W$(l);return m.createElement(GXe.Provider,{value:p.current},m.createElement(g,{className:"".concat(i,"-tbody")},n&&m.createElement(ZBt,{prefixCls:i,columnsKey:b,onColumnResize:a}),C))}const tjt=LH(ejt);var njt=["expandable"],dE="RC_TABLE_INTERNAL_COL_DEFINE";function ojt(t){var e=t.expandable,n=ir(t,njt),o;return"expandable"in t?o=$t($t({},n),e):o=n,o.showExpandColumn===!1&&(o.expandIconColumnIndex=-1),o}var ijt=["columnType"];function tJe(t){for(var e=t.colWidths,n=t.columns,o=t.columCount,i=[],r=o||n.length,a=!1,l=r-1;l>=0;l-=1){var s=e[l],c=n&&n[l],u=c&&c[dE];if(s||u||a){var d=u||{};d.columnType;var f=ir(d,ijt);i.unshift(m.createElement("col",so({key:l,style:{width:s}},f))),a=!0}}return m.createElement("colgroup",null,i)}var rjt=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];function ajt(t,e){return m.useMemo(function(){for(var n=[],o=0;o1?"colgroup":"col":null,ellipsis:A.ellipsis,align:A.align,component:a,prefixCls:u,key:p[y]},x,{additionalProps:C,rowType:"header"}))}))};function cjt(t){var e=[];function n(a,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;e[s]=e[s]||[];var c=l,u=a.filter(Boolean).map(function(d){var f={key:d.key,className:d.className||"",children:d.title,column:d,colStart:c},p=1,g=d.children;return g&&g.length>0&&(p=n(g,c,s+1).reduce(function(y,A){return y+A},0),f.hasSubColumns=!0),"colSpan"in d&&(p=d.colSpan),"rowSpan"in d&&(f.rowSpan=d.rowSpan),f.colSpan=p,f.colEnd=f.colStart+p-1,e[s].push(f),c+=p,p});return u}n(t,0);for(var o=e.length,i=function(l){e[l].forEach(function(s){!("rowSpan"in s)&&!s.hasSubColumns&&(s.rowSpan=o-l)})},r=0;r1&&arguments[1]!==void 0?arguments[1]:"";return typeof e=="number"?e:e.endsWith("%")?t*parseFloat(e)/100:null}function djt(t,e,n){return m.useMemo(function(){if(e&&e>0){var o=0,i=0;t.forEach(function(f){var p=pxe(e,f.width);p?o+=p:i+=1});var r=Math.max(e,n),a=Math.max(r-o,i),l=i,s=a/i,c=0,u=t.map(function(f){var p=$t({},f),g=pxe(e,p.width);if(g)p.width=g;else{var y=Math.floor(s);p.width=l===1?a:y,a-=y,l-=1}return c+=p.width,p});if(c0?$t($t({},e),{},{children:nJe(n)}):e})}function _0e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key";return t.filter(function(n){return n&&gr(n)==="object"}).reduce(function(n,o,i){var r=o.fixed,a=r===!0?"left":r,l="".concat(e,"-").concat(i),s=o.children;return s&&s.length>0?[].concat(Wo(n),Wo(_0e(s,l).map(function(c){return $t({fixed:a},c)}))):[].concat(Wo(n),[$t($t({key:l},o),{},{fixed:a})])},[])}function pjt(t){return t.map(function(e){var n=e.fixed,o=ir(e,hjt),i=n;return n==="left"?i="right":n==="right"&&(i="left"),$t({fixed:i},o)})}function gjt(t,e){var n=t.prefixCls,o=t.columns,i=t.children,r=t.expandable,a=t.expandedKeys,l=t.columnTitle,s=t.getRowKey,c=t.onTriggerExpand,u=t.expandIcon,d=t.rowExpandable,f=t.expandIconColumnIndex,p=t.direction,g=t.expandRowByClick,y=t.columnWidth,A=t.fixed,x=t.scrollWidth,C=t.clientWidth,b=m.useMemo(function(){var E=o||Ume(i)||[];return nJe(E.slice())},[o,i]),v=m.useMemo(function(){if(r){var E=b.slice();if(!E.includes(O4)){var L=f||0;L>=0&&E.splice(L,0,O4)}var U=E.indexOf(O4);E=E.filter(function(k,N){return k!==O4||N===U});var F=b[U],W;(A==="left"||A)&&!f?W="left":(A==="right"||A)&&f===b.length?W="right":W=F?F.fixed:null;var B=_t(_t(_t(_t(_t(_t({},dE,{className:"".concat(n,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),"title",l),"fixed",W),"className","".concat(n,"-row-expand-icon-cell")),"width",y),"render",function(N,j,Y){var _=s(j,Y),J=a.has(_),Q=d?d(j):!0,ee=u({prefixCls:n,expanded:J,expandable:Q,record:j,onExpand:c});return g?m.createElement("span",{onClick:function(q){return q.stopPropagation()}},ee):ee});return E.map(function(k){return k===O4?B:k})}return b.filter(function(k){return k!==O4})},[r,b,s,a,u,p]),S=m.useMemo(function(){var E=v;return e&&(E=e(E)),E.length||(E=[{render:function(){return null}}]),E},[e,v,p]),w=m.useMemo(function(){return p==="rtl"?pjt(_0e(S)):_0e(S)},[S,p,x]),T=m.useMemo(function(){for(var E=-1,L=w.length-1;L>=0;L-=1){var U=w[L].fixed;if(U==="left"||U===!0){E=L;break}}if(E>=0)for(var F=0;F<=E;F+=1){var W=w[F].fixed;if(W!=="left"&&W!==!0)return!0}var B=w.findIndex(function(j){var Y=j.fixed;return Y==="right"});if(B>=0)for(var k=B;k=d&&(k=d-f),a({scrollLeft:k/d*(u+2)}),C.current.x=U.pageX},D=function(){T.current=za(function(){if(r.current){var U=nxe(r.current).top,F=U+r.current.offsetHeight,W=s===window?document.documentElement.scrollTop+window.innerHeight:nxe(s).top+s.clientHeight;F-o0e()<=W||U>=W-l?x(function(B){return $t($t({},B),{},{isHiddenScrollBar:!0})}):x(function(B){return $t($t({},B),{},{isHiddenScrollBar:!1})})}})},E=function(U){x(function(F){return $t($t({},F),{},{scrollLeft:U/u*d||0})})};return m.useImperativeHandle(n,function(){return{setScrollLeft:E,checkScrollBarVisible:D}}),m.useEffect(function(){var L=bY(document.body,"mouseup",P,!1),U=bY(document.body,"mousemove",H,!1);return D(),function(){L.remove(),U.remove()}},[f,S]),m.useEffect(function(){var L=bY(s,"scroll",D,!1),U=bY(window,"resize",D,!1);return function(){L.remove(),U.remove()}},[s]),m.useEffect(function(){A.isHiddenScrollBar||x(function(L){var U=r.current;return U?$t($t({},L),{},{scrollLeft:U.scrollLeft/U.scrollWidth*U.clientWidth}):L})},[A.isHiddenScrollBar]),u<=d||!f||A.isHiddenScrollBar?null:m.createElement("div",{style:{height:o0e(),width:d,bottom:l},className:"".concat(c,"-sticky-scroll")},m.createElement("div",{onMouseDown:R,ref:p,className:Vn("".concat(c,"-sticky-scroll-bar"),_t({},"".concat(c,"-sticky-scroll-bar-active"),S)),style:{width:"".concat(f,"px"),transform:"translate3d(".concat(A.scrollLeft,"px, 0, 0)")}}))};const Pjt=m.forwardRef(Tjt);var iJe="rc-table",Cjt=[],Rjt={};function Hjt(){return"No Data"}function Mjt(t,e){var n=$t({rowKey:"key",prefixCls:iJe,emptyText:Hjt},t),o=n.prefixCls,i=n.className,r=n.rowClassName,a=n.style,l=n.data,s=n.rowKey,c=n.scroll,u=n.tableLayout,d=n.direction,f=n.title,p=n.footer,g=n.summary,y=n.caption,A=n.id,x=n.showHeader,C=n.components,b=n.emptyText,v=n.onRow,S=n.onHeaderRow,w=n.onScroll,T=n.internalHooks,P=n.transformColumns,R=n.internalRefs,H=n.tailor,D=n.getContainerWidth,E=n.sticky,L=n.rowHoverable,U=L===void 0?!0:L,F=l||Cjt,W=!!F.length,B=T===NW,k=m.useCallback(function(go,So){return dg(C,go)||So},[C]),N=m.useMemo(function(){return typeof s=="function"?s:function(go){var So=go&&go[s];return So}},[s]),j=k(["body"]),Y=xjt(),_=on(Y,3),J=_[0],Q=_[1],ee=_[2],$=Ajt(n,F,N),q=on($,6),le=q[0],ie=q[1],pe=q[2],ne=q[3],Z=q[4],he=q[5],fe=c==null?void 0:c.x,se=m.useState(0),oe=on(se,2),de=oe[0],ve=oe[1],Pe=gjt($t($t($t({},n),le),{},{expandable:!!le.expandedRowRender,columnTitle:le.columnTitle,expandedKeys:pe,getRowKey:N,onTriggerExpand:he,expandIcon:ne,expandIconColumnIndex:le.expandIconColumnIndex,direction:d,scrollWidth:B&&H&&typeof fe=="number"?fe:null,clientWidth:de}),B?P:null),me=on(Pe,4),Re=me[0],ze=me[1],Ae=me[2],re=me[3],ge=Ae??fe,we=m.useMemo(function(){return{columns:Re,flattenColumns:ze}},[Re,ze]),ye=m.useRef(),Te=m.useRef(),Ie=m.useRef(),Ce=m.useRef();m.useImperativeHandle(e,function(){return{nativeElement:ye.current,scrollTo:function(So){var Uo;if(Ie.current instanceof HTMLElement){var _i=So.index,Qo=So.top,ar=So.key;if(Qo){var ur;(ur=Ie.current)===null||ur===void 0||ur.scrollTo({top:Qo})}else{var $o,ba=ar??N(F[_i]);($o=Ie.current.querySelector('[data-row-key="'.concat(ba,'"]')))===null||$o===void 0||$o.scrollIntoView()}}else(Uo=Ie.current)!==null&&Uo!==void 0&&Uo.scrollTo&&Ie.current.scrollTo(So)}}});var Ee=m.useRef(),Ue=m.useState(!1),Ne=on(Ue,2),Le=Ne[0],qe=Ne[1],We=m.useState(!1),De=on(We,2),Fe=De[0],_e=De[1],ot=oJe(new Map),Ye=on(ot,2),St=Ye[0],dt=Ye[1],je=W$(ze),at=je.map(function(go){return St.get(go)}),ut=m.useMemo(function(){return at},[at.join("_")]),wt=Sjt(ut,ze,d),rt=c&&O0e(c.y),Qe=c&&O0e(ge)||!!le.fixed,Oe=Qe&&ze.some(function(go){var So=go.fixed;return So}),et=m.useRef(),vt=bjt(E,o),ct=vt.isSticky,lt=vt.offsetHeader,tt=vt.offsetSummary,it=vt.offsetScroll,At=vt.stickyClassName,Mt=vt.container,st=m.useMemo(function(){return g==null?void 0:g(F)},[g,F]),ft=(rt||ct)&&m.isValidElement(st)&&st.type===N$&&st.props.fixed,Rt,zt,Xe;rt&&(zt={overflowY:"scroll",maxHeight:c.y}),Qe&&(Rt={overflowX:"auto"},rt||(zt={overflowY:"hidden"}),Xe={width:ge===!0?"auto":ge,minWidth:"100%"});var ht=m.useCallback(function(go,So){A$(ye.current)&&dt(function(Uo){if(Uo.get(go)!==So){var _i=new Map(Uo);return _i.set(go,So),_i}return Uo})},[]),Je=vjt(),mt=on(Je,2),Ge=mt[0],xt=mt[1];function It(go,So){So&&(typeof So=="function"?So(go):So.scrollLeft!==go&&(So.scrollLeft=go,So.scrollLeft!==go&&setTimeout(function(){So.scrollLeft=go},0)))}var Tt=Ia(function(go){var So=go.currentTarget,Uo=go.scrollLeft,_i=d==="rtl",Qo=typeof Uo=="number"?Uo:So.scrollLeft,ar=So||Rjt;if(!xt()||xt()===ar){var ur;Ge(ar),It(Qo,Te.current),It(Qo,Ie.current),It(Qo,Ee.current),It(Qo,(ur=et.current)===null||ur===void 0?void 0:ur.setScrollLeft)}var $o=So||Te.current;if($o){var ba=$o.scrollWidth,Mo=$o.clientWidth;if(ba===Mo){qe(!1),_e(!1);return}_i?(qe(-Qo0)):(qe(Qo>0),_e(Qo1?A-U:0,W=$t($t($t({},P),c),{},{flex:"0 0 ".concat(U,"px"),width:"".concat(U,"px"),marginRight:F,pointerEvents:"auto"}),B=m.useMemo(function(){return d?E<=1:H===0||E===0||E>1},[E,H,d]);B?W.visibility="hidden":d&&(W.height=f==null?void 0:f(E));var k=B?function(){return null}:p,N={};return(E===0||H===0)&&(N.rowSpan=1,N.colSpan=1),m.createElement(kb,so({className:Vn(y,u),ellipsis:n.ellipsis,align:n.align,scope:n.rowScope,component:a,prefixCls:e.prefixCls,key:v,record:s,index:r,renderIndex:l,dataIndex:g,render:k,shouldCellUpdate:n.shouldCellUpdate},S,{appendNode:w,additionalProps:$t($t({},T),{},{style:W},N)}))}var Ejt=["data","index","className","rowKey","style","extra","getHeight"],kjt=m.forwardRef(function(t,e){var n=t.data,o=t.index,i=t.className,r=t.rowKey,a=t.style,l=t.extra,s=t.getHeight,c=ir(t,Ejt),u=n.record,d=n.indent,f=n.index,p=hh(a1,["prefixCls","flattenColumns","fixColumn","componentWidth","scrollX"]),g=p.scrollX,y=p.flattenColumns,A=p.prefixCls,x=p.fixColumn,C=p.componentWidth,b=hh(Bme,["getComponent"]),v=b.getComponent,S=QXe(u,r,o,d),w=v(["body","row"],"div"),T=v(["body","cell"],"div"),P=S.rowSupportExpand,R=S.expanded,H=S.rowProps,D=S.expandedRowRender,E=S.expandedRowClassName,L;if(P&&R){var U=D(u,o,d+1,R),F=E==null?void 0:E(u,o,d),W={};x&&(W={style:_t({},"--virtual-width","".concat(C,"px"))});var B="".concat(A,"-expanded-row-cell");L=m.createElement(w,{className:Vn("".concat(A,"-expanded-row"),"".concat(A,"-expanded-row-level-").concat(d+1),F)},m.createElement(kb,{component:T,prefixCls:A,className:Vn(B,_t({},"".concat(B,"-fixed"),x)),additionalProps:W},U))}var k=$t($t({},a),{},{width:g});l&&(k.position="absolute",k.pointerEvents="none");var N=m.createElement(w,so({},H,c,{"data-row-key":r,ref:P?null:e,className:Vn(i,"".concat(A,"-row"),H==null?void 0:H.className,_t({},"".concat(A,"-row-extra"),l)),style:$t($t({},k),H==null?void 0:H.style)}),y.map(function(j,Y){return m.createElement(Djt,{key:Y,component:T,rowInfo:S,column:j,colIndex:Y,indent:d,index:o,renderIndex:f,record:u,inverse:l,getHeight:s})}));return P?m.createElement("div",{ref:e},N,L):N}),yxe=LH(kjt),Fjt=m.forwardRef(function(t,e){var n=t.data,o=t.onScroll,i=hh(a1,["flattenColumns","onColumnResize","getRowKey","prefixCls","expandedKeys","childrenColumnName","emptyNode","scrollX"]),r=i.flattenColumns,a=i.onColumnResize,l=i.getRowKey,s=i.expandedKeys,c=i.prefixCls,u=i.childrenColumnName,d=i.emptyNode,f=i.scrollX,p=hh(Bme),g=p.sticky,y=p.scrollY,A=p.listItemHeight,x=p.getComponent,C=p.onScroll,b=m.useRef(),v=$Xe(n,u,s,l),S=m.useMemo(function(){var W=0;return r.map(function(B){var k=B.width,N=B.key;return W+=k,[N,k,W]})},[r]),w=m.useMemo(function(){return S.map(function(W){return W[2]})},[S]);m.useEffect(function(){S.forEach(function(W){var B=on(W,2),k=B[0],N=B[1];a(k,N)})},[S]),m.useImperativeHandle(e,function(){var W={scrollTo:function(k){var N;(N=b.current)===null||N===void 0||N.scrollTo(k)}};return Object.defineProperty(W,"scrollLeft",{get:function(){var k;return((k=b.current)===null||k===void 0?void 0:k.getScrollInfo().x)||0},set:function(k){var N;(N=b.current)===null||N===void 0||N.scrollTo({left:k})}}),W});var T=function(B,k){var N,j=(N=v[k])===null||N===void 0?void 0:N.record,Y=B.onCell;if(Y){var _,J=Y(j,k);return(_=J==null?void 0:J.rowSpan)!==null&&_!==void 0?_:1}return 1},P=function(B){var k=B.start,N=B.end,j=B.getSize,Y=B.offsetY;if(N<0)return null;for(var _=r.filter(function(fe){return T(fe,k)===0}),J=k,Q=function(se){if(_=_.filter(function(oe){return T(oe,se)===0}),!_.length)return J=se,1},ee=k;ee>=0&&!Q(ee);ee-=1);for(var $=r.filter(function(fe){return T(fe,N)!==1}),q=N,le=function(se){if($=$.filter(function(oe){return T(oe,se)!==1}),!$.length)return q=Math.max(se-1,N),1},ie=N;ie1})&&pe.push(se)},Z=J;Z<=q;Z+=1)ne(Z);var he=pe.map(function(fe){var se=v[fe],oe=l(se.record,fe),de=function(me){var Re=fe+me-1,ze=l(v[Re].record,Re),Ae=j(oe,ze);return Ae.bottom-Ae.top},ve=j(oe);return m.createElement(yxe,{key:fe,data:se,rowKey:oe,index:fe,style:{top:-Y+ve.top},extra:!0,getHeight:de})});return he},R=m.useMemo(function(){return{columnsOffset:w}},[w]),H="".concat(c,"-tbody"),D=x(["body","wrapper"]),E=x(["body","row"],"div"),L=x(["body","cell"],"div"),U;if(v.length){var F={};g&&(F.position="sticky",F.bottom=0,gr(g)==="object"&&g.offsetScroll&&(F.bottom=g.offsetScroll)),U=m.createElement(w$,{fullHeight:!1,ref:b,prefixCls:"".concat(H,"-virtual"),styles:{horizontalScrollBar:F},className:H,height:y,itemHeight:A||24,data:v,itemKey:function(B){return l(B.record)},component:D,scrollWidth:f,onVirtualScroll:function(B){var k=B.x;o({scrollLeft:k})},onScroll:C,extraRender:P},function(W,B,k){var N=l(W.record,B);return m.createElement(yxe,so({data:W,rowKey:N,index:B},k))})}else U=m.createElement(E,{className:Vn("".concat(c,"-placeholder"))},m.createElement(kb,{component:L,prefixCls:c},d));return m.createElement(aJe.Provider,{value:R},U)}),Ljt=LH(Fjt),Wjt=function(e,n){var o=n.ref,i=n.onScroll;return m.createElement(Ljt,{ref:o,data:e,onScroll:i})};function Njt(t,e){var n=t.columns,o=t.scroll,i=t.sticky,r=t.prefixCls,a=r===void 0?iJe:r,l=t.className,s=t.listItemHeight,c=t.components,u=t.onScroll,d=o||{},f=d.x,p=d.y;typeof f!="number"&&(f=1),typeof p!="number"&&(p=500);var g=Ia(function(x,C){return dg(c,x)||C}),y=Ia(u),A=m.useMemo(function(){return{sticky:i,scrollY:p,listItemHeight:s,getComponent:g,onScroll:y}},[i,p,s,g,y]);return m.createElement(Bme.Provider,{value:A},m.createElement(WH,so({},t,{className:Vn(l,"".concat(a,"-virtual")),scroll:$t($t({},o),{},{x:f}),components:$t($t({},c),{},{body:Wjt}),columns:n,internalHooks:NW,tailor:!0,ref:e})))}var Ujt=m.forwardRef(Njt);function lJe(t){return VXe(Ujt,t)}lJe();function Bjt(t){return null}function jjt(t){return null}function V0e(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function U$(t,e){if(t==null)return{};var n=Vjt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var G0e={},Gjt=function(e){};function Xjt(t,e){}function Jjt(t,e){}function Kjt(){G0e={}}function cJe(t,e,n){!e&&!G0e[n]&&(t(!1,n),G0e[n]=!0)}function g2(t,e){cJe(Xjt,t,e)}function qjt(t,e){cJe(Jjt,t,e)}g2.preMessage=Gjt;g2.resetWarned=Kjt;g2.noteOnce=qjt;function $jt(t,e){if(q6(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(q6(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function uJe(t){var e=$jt(t,"string");return q6(e)==="symbol"?e:String(e)}function jo(t,e,n){return e=uJe(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Axe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Ru(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zjt(t,e){if(e&&(q6(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yi(t)}function pJe(t){var e=Qjt();return function(){var o=IG(t),i;if(e){var r=IG(this).constructor;i=Reflect.construct(o,arguments,r)}else i=o.apply(this,arguments);return Zjt(this,i)}}var gJe={exports:{}};/*! + `]:{cursor:"not-allowed !important"}},[`&-tooltip ${n}-tooltip-inner`]:{minWidth:"unset"}})}},OXe=(t,e)=>{const{componentCls:n,railSize:o,handleSize:i,dotSize:r,marginFull:a,calc:l}=t,s=e?"paddingBlock":"paddingInline",c=e?"width":"height",u=e?"height":"width",d=e?"insetBlockStart":"insetInlineStart",f=e?"top":"insetInlineStart",p=l(o).mul(3).sub(i).div(2).equal(),g=l(i).sub(o).div(2).equal(),y=e?{borderWidth:`${Ut(g)} 0`,transform:`translateY(${Ut(l(g).mul(-1).equal())})`}:{borderWidth:`0 ${Ut(g)}`,transform:`translateX(${Ut(t.calc(g).mul(-1).equal())})`};return{[s]:o,[u]:l(o).mul(3).equal(),[`${n}-rail`]:{[c]:"100%",[u]:o},[`${n}-track,${n}-tracks`]:{[u]:o},[`${n}-track-draggable`]:Object.assign({},y),[`${n}-handle`]:{[d]:p},[`${n}-mark`]:{insetInlineStart:0,top:0,[f]:l(o).mul(3).add(e?0:a).equal(),[c]:"100%"},[`${n}-step`]:{insetInlineStart:0,top:0,[f]:o,[c]:"100%",[u]:o},[`${n}-dot`]:{position:"absolute",[d]:l(o).sub(r).div(2).equal()}}},pBt=t=>{const{componentCls:e,marginPartWithMark:n}=t;return{[`${e}-horizontal`]:Object.assign(Object.assign({},OXe(t,!0)),{[`&${e}-with-marks`]:{marginBottom:n}})}},gBt=t=>{const{componentCls:e}=t;return{[`${e}-vertical`]:Object.assign(Object.assign({},OXe(t,!1)),{height:"100%"})}},mBt=t=>{const n=t.controlHeightLG/4,o=t.controlHeightSM/2,i=t.lineWidth+1,r=t.lineWidth+1*3;return{controlSize:n,railSize:4,handleSize:n,handleSizeHover:o,dotSize:8,handleLineWidth:i,handleLineWidthHover:r,railBg:t.colorFillTertiary,railHoverBg:t.colorFillSecondary,trackBg:t.colorPrimaryBorder,trackHoverBg:t.colorPrimaryBorderHover,handleColor:t.colorPrimaryBorder,handleActiveColor:t.colorPrimary,handleColorDisabled:new Il(t.colorTextDisabled).onBackground(t.colorBgContainer).toHexShortString(),dotBorderColor:t.colorBorderSecondary,dotActiveBorderColor:t.colorPrimaryBorder,trackBgDisabled:t.colorBgContainerDisabled}},yBt=Fl("Slider",t=>{const e=Zr(t,{marginPart:t.calc(t.controlHeight).sub(t.controlSize).div(2).equal(),marginFull:t.calc(t.controlSize).div(2).equal(),marginPartWithMark:t.calc(t.controlHeightLG).sub(t.controlSize).equal()});return[hBt(e),pBt(e),gBt(e)]},mBt);function _ie(){const[t,e]=m.useState(!1),n=m.useRef(),o=()=>{Pg.cancel(n.current)},i=r=>{o(),r?e(r):n.current=Pg(()=>{e(r)})};return m.useEffect(()=>o,[]),[t,i]}var ABt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);itypeof n=="number"?n.toString():""}const Mu=Se.forwardRef((t,e)=>{const{prefixCls:n,range:o,className:i,rootClassName:r,style:a,disabled:l,tooltipPrefixCls:s,tipFormatter:c,tooltipVisible:u,getTooltipPopupContainer:d,tooltipPlacement:f,tooltip:p={},onChangeComplete:g}=t,y=ABt(t,["prefixCls","range","className","rootClassName","style","disabled","tooltipPrefixCls","tipFormatter","tooltipVisible","getTooltipPopupContainer","tooltipPlacement","tooltip","onChangeComplete"]),{vertical:A}=t,{direction:x,slider:C,getPrefixCls:b,getPopupContainer:v}=Se.useContext(Mi),S=Se.useContext($p),w=l??S,[T,P]=_ie(),[R,H]=_ie(),D=Object.assign({},p),{open:E,placement:L,getPopupContainer:U,prefixCls:F,formatter:W}=D,B=E??u,k=(T||R)&&B!==!1,N=wBt(W,c),[j,Y]=_ie(),_=se=>{g==null||g(se),Y(!1)},J=(se,oe)=>se||(oe?x==="rtl"?"left":"right":"top"),Q=b("slider",n),[ee,$,q]=yBt(Q),le=Gn(i,C==null?void 0:C.className,r,{[`${Q}-rtl`]:x==="rtl",[`${Q}-lock`]:j},$,q);x==="rtl"&&!y.vertical&&(y.reverse=!y.reverse);const[ie,pe]=Se.useMemo(()=>o?typeof o=="object"?[!0,o.draggableTrack]:[!0,!1]:[!1],[o]);Se.useEffect(()=>{const se=()=>{Pg(()=>{H(!1)},1)};return document.addEventListener("mouseup",se),()=>{document.removeEventListener("mouseup",se)}},[]);const ne=ie&&!B,Z=(se,oe)=>{const{index:de}=oe,ve=se.props,Pe=Object.assign(Object.assign({},ve),{onMouseEnter:ze=>{var Ae;P(!0),(Ae=ve.onMouseEnter)===null||Ae===void 0||Ae.call(ve,ze)},onMouseLeave:ze=>{var Ae;P(!1),(Ae=ve.onMouseLeave)===null||Ae===void 0||Ae.call(ve,ze)},onMouseDown:ze=>{var Ae;H(!0),Y(!0),(Ae=ve.onMouseDown)===null||Ae===void 0||Ae.call(ve,ze)},onFocus:ze=>{var Ae,re;H(!0),(Ae=y.onFocus)===null||Ae===void 0||Ae.call(y,ze),(re=ve.onFocus)===null||re===void 0||re.call(ve,ze)},onBlur:ze=>{var Ae,re;H(!1),(Ae=y.onBlur)===null||Ae===void 0||Ae.call(y,ze),(re=ve.onBlur)===null||re===void 0||re.call(ve,ze)}}),me=Se.cloneElement(se,Pe),Re=(!!B||k)&&N!==null;return ne?me:Se.createElement(dxe,Object.assign({},D,{prefixCls:b("tooltip",F??s),title:N?N(oe.value):"",open:Re,placement:J(L??f,A),key:de,overlayClassName:`${Q}-tooltip`,getPopupContainer:U||d||v}),me)},he=ne?(se,oe)=>{const de=Se.cloneElement(se,{style:Object.assign(Object.assign({},se.props.style),{visibility:"hidden"})});return Se.createElement(dxe,Object.assign({},D,{prefixCls:b("tooltip",F??s),title:N?N(oe.value):"",open:N!==null&&k,placement:J(L??f,A),key:"tooltip",overlayClassName:`${Q}-tooltip`,getPopupContainer:U||d||v}),de)}:void 0,fe=Object.assign(Object.assign({},C==null?void 0:C.style),a);return ee(Se.createElement(fBt,Object.assign({},y,{step:y.step,range:ie,draggableTrack:pe,className:le,style:fe,disabled:w,ref:e,prefixCls:Q,handleRender:Z,activeHandleRender:he,onChangeComplete:_})))});var vBt=["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"],_Xe=m.forwardRef(function(t,e){var n,o=t.prefixCls,i=o===void 0?"rc-switch":o,r=t.className,a=t.checked,l=t.defaultChecked,s=t.disabled,c=t.loadingIcon,u=t.checkedChildren,d=t.unCheckedChildren,f=t.onClick,p=t.onChange,g=t.onKeyDown,y=ir(t,vBt),A=Rs(!1,{value:a,defaultValue:l}),x=on(A,2),C=x[0],b=x[1];function v(P,R){var H=C;return s||(H=P,b(H),p==null||p(H,R)),H}function S(P){P.which===Bn.LEFT?v(!1,P):P.which===Bn.RIGHT&&v(!0,P),g==null||g(P)}function w(P){var R=v(!C,P);f==null||f(R,P)}var T=Vn(i,r,(n={},_t(n,"".concat(i,"-checked"),C),_t(n,"".concat(i,"-disabled"),s),n));return m.createElement("button",so({},y,{type:"button",role:"switch","aria-checked":C,disabled:s,className:T,ref:e,onKeyDown:S,onClick:w}),c,m.createElement("span",{className:"".concat(i,"-inner")},m.createElement("span",{className:"".concat(i,"-inner-checked")},u),m.createElement("span",{className:"".concat(i,"-inner-unchecked")},d)))});_Xe.displayName="Switch";const xBt=t=>{const{componentCls:e,trackHeightSM:n,trackPadding:o,trackMinWidthSM:i,innerMinMarginSM:r,innerMaxMarginSM:a,handleSizeSM:l,calc:s}=t,c=`${e}-inner`,u=Ut(s(l).add(s(o).mul(2)).equal()),d=Ut(s(a).mul(2).equal());return{[e]:{[`&${e}-small`]:{minWidth:i,height:n,lineHeight:Ut(n),[`${e}-inner`]:{paddingInlineStart:a,paddingInlineEnd:r,[`${c}-checked, ${c}-unchecked`]:{minHeight:n},[`${c}-checked`]:{marginInlineStart:`calc(-100% + ${u} - ${d})`,marginInlineEnd:`calc(100% - ${u} + ${d})`},[`${c}-unchecked`]:{marginTop:s(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`${e}-handle`]:{width:l,height:l},[`${e}-loading-icon`]:{top:s(s(l).sub(t.switchLoadingIconSize)).div(2).equal(),fontSize:t.switchLoadingIconSize},[`&${e}-checked`]:{[`${e}-inner`]:{paddingInlineStart:r,paddingInlineEnd:a,[`${c}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${c}-unchecked`]:{marginInlineStart:`calc(100% - ${u} + ${d})`,marginInlineEnd:`calc(-100% + ${u} - ${d})`}},[`${e}-handle`]:{insetInlineStart:`calc(100% - ${Ut(s(l).add(o).equal())})`}},[`&:not(${e}-disabled):active`]:{[`&:not(${e}-checked) ${c}`]:{[`${c}-unchecked`]:{marginInlineStart:s(t.marginXXS).div(2).equal(),marginInlineEnd:s(t.marginXXS).mul(-1).div(2).equal()}},[`&${e}-checked ${c}`]:{[`${c}-checked`]:{marginInlineStart:s(t.marginXXS).mul(-1).div(2).equal(),marginInlineEnd:s(t.marginXXS).div(2).equal()}}}}}}},bBt=t=>{const{componentCls:e,handleSize:n,calc:o}=t;return{[e]:{[`${e}-loading-icon${t.iconCls}`]:{position:"relative",top:o(o(n).sub(t.fontSize)).div(2).equal(),color:t.switchLoadingIconColor,verticalAlign:"top"},[`&${e}-checked ${e}-loading-icon`]:{color:t.switchColor}}}},SBt=t=>{const{componentCls:e,trackPadding:n,handleBg:o,handleShadow:i,handleSize:r,calc:a}=t,l=`${e}-handle`;return{[e]:{[l]:{position:"absolute",top:n,insetInlineStart:n,width:r,height:r,transition:`all ${t.switchDuration} ease-in-out`,"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,backgroundColor:o,borderRadius:a(r).div(2).equal(),boxShadow:i,transition:`all ${t.switchDuration} ease-in-out`,content:'""'}},[`&${e}-checked ${l}`]:{insetInlineStart:`calc(100% - ${Ut(a(r).add(n).equal())})`},[`&:not(${e}-disabled):active`]:{[`${l}::before`]:{insetInlineEnd:t.switchHandleActiveInset,insetInlineStart:0},[`&${e}-checked ${l}::before`]:{insetInlineEnd:0,insetInlineStart:t.switchHandleActiveInset}}}}},TBt=t=>{const{componentCls:e,trackHeight:n,trackPadding:o,innerMinMargin:i,innerMaxMargin:r,handleSize:a,calc:l}=t,s=`${e}-inner`,c=Ut(l(a).add(l(o).mul(2)).equal()),u=Ut(l(r).mul(2).equal());return{[e]:{[s]:{display:"block",overflow:"hidden",borderRadius:100,height:"100%",paddingInlineStart:r,paddingInlineEnd:i,transition:`padding-inline-start ${t.switchDuration} ease-in-out, padding-inline-end ${t.switchDuration} ease-in-out`,[`${s}-checked, ${s}-unchecked`]:{display:"block",color:t.colorTextLightSolid,fontSize:t.fontSizeSM,transition:`margin-inline-start ${t.switchDuration} ease-in-out, margin-inline-end ${t.switchDuration} ease-in-out`,pointerEvents:"none",minHeight:n},[`${s}-checked`]:{marginInlineStart:`calc(-100% + ${c} - ${u})`,marginInlineEnd:`calc(100% - ${c} + ${u})`},[`${s}-unchecked`]:{marginTop:l(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`&${e}-checked ${s}`]:{paddingInlineStart:i,paddingInlineEnd:r,[`${s}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${s}-unchecked`]:{marginInlineStart:`calc(100% - ${c} + ${u})`,marginInlineEnd:`calc(-100% + ${c} - ${u})`}},[`&:not(${e}-disabled):active`]:{[`&:not(${e}-checked) ${s}`]:{[`${s}-unchecked`]:{marginInlineStart:l(o).mul(2).equal(),marginInlineEnd:l(o).mul(-1).mul(2).equal()}},[`&${e}-checked ${s}`]:{[`${s}-checked`]:{marginInlineStart:l(o).mul(-1).mul(2).equal(),marginInlineEnd:l(o).mul(2).equal()}}}}}},PBt=t=>{const{componentCls:e,trackHeight:n,trackMinWidth:o}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",boxSizing:"border-box",minWidth:o,height:n,lineHeight:`${Ut(n)}`,verticalAlign:"middle",background:t.colorTextQuaternary,border:"0",borderRadius:100,cursor:"pointer",transition:`all ${t.motionDurationMid}`,userSelect:"none",[`&:hover:not(${e}-disabled)`]:{background:t.colorTextTertiary}}),V6(t)),{[`&${e}-checked`]:{background:t.switchColor,[`&:hover:not(${e}-disabled)`]:{background:t.colorPrimaryHover}},[`&${e}-loading, &${e}-disabled`]:{cursor:"not-allowed",opacity:t.switchDisabledOpacity,"*":{boxShadow:"none",cursor:"not-allowed"}},[`&${e}-rtl`]:{direction:"rtl"}})}},CBt=t=>{const{fontSize:e,lineHeight:n,controlHeight:o,colorWhite:i}=t,r=e*n,a=o/2,l=2,s=r-l*2,c=a-l*2;return{trackHeight:r,trackHeightSM:a,trackMinWidth:s*2+l*4,trackMinWidthSM:c*2+l*2,trackPadding:l,handleBg:i,handleSize:s,handleSizeSM:c,handleShadow:`0 2px 4px 0 ${new Il("#00230b").setAlpha(.2).toRgbString()}`,innerMinMargin:s/2,innerMaxMargin:s+l+l*2,innerMinMarginSM:c/2,innerMaxMarginSM:c+l+l*2}},RBt=Fl("Switch",t=>{const e=Zr(t,{switchDuration:t.motionDurationMid,switchColor:t.colorPrimary,switchDisabledOpacity:t.opacityLoading,switchLoadingIconSize:t.calc(t.fontSizeIcon).mul(.75).equal(),switchLoadingIconColor:`rgba(0, 0, 0, ${t.opacityLoading})`,switchHandleActiveInset:"-30%"});return[PBt(e),TBt(e),SBt(e),bBt(e),xBt(e)]},CBt);var HBt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,size:o,disabled:i,loading:r,className:a,rootClassName:l,style:s,checked:c,value:u,defaultChecked:d,defaultValue:f,onChange:p}=t,g=HBt(t,["prefixCls","size","disabled","loading","className","rootClassName","style","checked","value","defaultChecked","defaultValue","onChange"]),[y,A]=_6(!1,{value:c??u,defaultValue:d??f}),{getPrefixCls:x,direction:C,switch:b}=m.useContext(Mi),v=m.useContext($p),S=(i??v)||r,w=x("switch",n),T=m.createElement("div",{className:`${w}-handle`},r&&m.createElement(HH,{className:`${w}-loading-icon`})),[P,R,H]=RBt(w),D=Cd(o),E=Gn(b==null?void 0:b.className,{[`${w}-small`]:D==="small",[`${w}-loading`]:r,[`${w}-rtl`]:C==="rtl"},a,l,R,H),L=Object.assign(Object.assign({},b==null?void 0:b.style),s),U=function(){A(arguments.length<=0?void 0:arguments[0]),p==null||p.apply(void 0,arguments)};return P(m.createElement(wW,{component:"Switch"},m.createElement(_Xe,Object.assign({},g,{checked:y,onChange:U,prefixCls:w,className:E,style:L,disabled:S,ref:e,loadingIcon:T}))))}),wc=MBt;wc.__ANT_SWITCH=!0;var O4={},NW="rc-table-internal-hook";function Lme(t){var e=m.createContext(void 0),n=function(i){var r=i.value,a=i.children,l=m.useRef(r);l.current=r;var s=m.useState(function(){return{getValue:function(){return l.current},listeners:new Set}}),c=on(s,1),u=c[0];return Ba(function(){Sd.unstable_batchedUpdates(function(){u.listeners.forEach(function(d){d(r)})})},[r]),m.createElement(e.Provider,{value:u},a)};return{Context:e,Provider:n,defaultValue:t}}function hh(t,e){var n=Ia(typeof e=="function"?e:function(d){if(e===void 0)return d;if(!Array.isArray(e))return d[e];var f={};return e.forEach(function(p){f[p]=d[p]}),f}),o=m.useContext(t==null?void 0:t.Context),i=o||{},r=i.listeners,a=i.getValue,l=m.useRef();l.current=n(o?a():t==null?void 0:t.defaultValue);var s=m.useState({}),c=on(s,2),u=c[1];return Ba(function(){if(!o)return;function d(f){var p=n(f);e7(l.current,p,!0)||u({})}return r.add(d),function(){r.delete(d)}},[o]),l.current}function IBt(){var t=m.createContext(null);function e(){return m.useContext(t)}function n(i,r){var a=Zw(i),l=function(c,u){var d=a?{ref:u}:{},f=m.useRef(0),p=m.useRef(c),g=e();return g!==null?m.createElement(i,so({},c,d)):((!r||r(p.current,c))&&(f.current+=1),p.current=c,m.createElement(t.Provider,{value:f.current},m.createElement(i,so({},c,d))))};return a?m.forwardRef(l):l}function o(i,r){var a=Zw(i),l=function(c,u){var d=a?{ref:u}:{};return e(),m.createElement(i,so({},c,d))};return a?m.memo(m.forwardRef(l),r):m.memo(l,r)}return{makeImmutable:n,responseImmutable:o,useImmutableMark:e}}var Wme=IBt(),VXe=Wme.makeImmutable,LH=Wme.responseImmutable,zBt=Wme.useImmutableMark,l1=Lme(),GXe=m.createContext({renderWithProps:!1}),DBt="RC_TABLE_KEY";function EBt(t){return t==null?[]:Array.isArray(t)?t:[t]}function W$(t){var e=[],n={};return t.forEach(function(o){for(var i=o||{},r=i.key,a=i.dataIndex,l=r||EBt(a).join("-")||DBt;n[l];)l="".concat(l,"_next");n[l]=!0,e.push(l)}),e}function O0e(t){return t!=null}function kBt(t){return t&&gr(t)==="object"&&!Array.isArray(t)&&!m.isValidElement(t)}function FBt(t,e,n,o,i,r){var a=m.useContext(GXe),l=zBt(),s=fW(function(){if(O0e(o))return[o];var c=e==null||e===""?[]:Array.isArray(e)?e:[e],u=fg(t,c),d=u,f=void 0;if(i){var p=i(u,t,n);kBt(p)?(d=p.children,f=p.props,a.renderWithProps=!0):d=p}return[d,f]},[l,t,o,e,i,n],function(c,u){if(r){var d=on(c,2),f=d[1],p=on(u,2),g=p[1];return r(g,f)}return a.renderWithProps?!0:!e7(c,u,!0)});return s}function LBt(t,e,n,o){var i=t+e-1;return t<=o&&i>=n}function WBt(t,e){return hh(l1,function(n){var o=LBt(t,e||1,n.hoverStartRow,n.hoverEndRow);return[o,n.onHover]})}var NBt=function(e){var n=e.ellipsis,o=e.rowType,i=e.children,r,a=n===!0?{showTitle:!0}:n;return a&&(a.showTitle||o==="header")&&(typeof i=="string"||typeof i=="number"?r=i.toString():m.isValidElement(i)&&typeof i.props.children=="string"&&(r=i.props.children)),r};function UBt(t){var e,n,o,i,r,a,l,s,c=t.component,u=t.children,d=t.ellipsis,f=t.scope,p=t.prefixCls,g=t.className,y=t.align,A=t.record,x=t.render,C=t.dataIndex,b=t.renderIndex,v=t.shouldCellUpdate,S=t.index,w=t.rowType,T=t.colSpan,P=t.rowSpan,R=t.fixLeft,H=t.fixRight,D=t.firstFixLeft,E=t.lastFixLeft,L=t.firstFixRight,U=t.lastFixRight,F=t.appendNode,W=t.additionalProps,B=W===void 0?{}:W,k=t.isSticky,N="".concat(p,"-cell"),j=hh(l1,["supportSticky","allColumnsFixedLeft","rowHoverable"]),Y=j.supportSticky,_=j.allColumnsFixedLeft,J=j.rowHoverable,Q=FBt(A,C,b,u,x,v),ee=on(Q,2),$=ee[0],q=ee[1],le={},ie=typeof R=="number"&&Y,pe=typeof H=="number"&&Y;ie&&(le.position="sticky",le.left=R),pe&&(le.position="sticky",le.right=H);var ne=(e=(n=(o=q==null?void 0:q.colSpan)!==null&&o!==void 0?o:B.colSpan)!==null&&n!==void 0?n:T)!==null&&e!==void 0?e:1,Z=(i=(r=(a=q==null?void 0:q.rowSpan)!==null&&a!==void 0?a:B.rowSpan)!==null&&r!==void 0?r:P)!==null&&i!==void 0?i:1,he=WBt(S,Z),fe=on(he,2),se=fe[0],oe=fe[1],de=Ia(function(re){var ge;A&&oe(S,S+Z-1),B==null||(ge=B.onMouseEnter)===null||ge===void 0||ge.call(B,re)}),ve=Ia(function(re){var ge;A&&oe(-1,-1),B==null||(ge=B.onMouseLeave)===null||ge===void 0||ge.call(B,re)});if(ne===0||Z===0)return null;var Pe=(l=B.title)!==null&&l!==void 0?l:NBt({rowType:w,ellipsis:d,children:$}),me=Vn(N,g,(s={},_t(_t(_t(_t(_t(_t(_t(_t(_t(_t(s,"".concat(N,"-fix-left"),ie&&Y),"".concat(N,"-fix-left-first"),D&&Y),"".concat(N,"-fix-left-last"),E&&Y),"".concat(N,"-fix-left-all"),E&&_&&Y),"".concat(N,"-fix-right"),pe&&Y),"".concat(N,"-fix-right-first"),L&&Y),"".concat(N,"-fix-right-last"),U&&Y),"".concat(N,"-ellipsis"),d),"".concat(N,"-with-append"),F),"".concat(N,"-fix-sticky"),(ie||pe)&&k&&Y),_t(s,"".concat(N,"-row-hover"),!q&&se)),B.className,q==null?void 0:q.className),Re={};y&&(Re.textAlign=y);var ze=$t($t($t($t({},le),B.style),Re),q==null?void 0:q.style),Ae=$;return gr(Ae)==="object"&&!Array.isArray(Ae)&&!m.isValidElement(Ae)&&(Ae=null),d&&(E||L)&&(Ae=m.createElement("span",{className:"".concat(N,"-content")},Ae)),m.createElement(c,so({},q,B,{className:me,style:ze,title:Pe,scope:f,onMouseEnter:J?de:void 0,onMouseLeave:J?ve:void 0,colSpan:ne!==1?ne:null,rowSpan:Z!==1?Z:null}),F,Ae)}const kb=m.memo(UBt);function Nme(t,e,n,o,i){var r=n[t]||{},a=n[e]||{},l,s;r.fixed==="left"?l=o.left[i==="rtl"?e:t]:a.fixed==="right"&&(s=o.right[i==="rtl"?t:e]);var c=!1,u=!1,d=!1,f=!1,p=n[e+1],g=n[t-1],y=p&&!p.fixed||g&&!g.fixed||n.every(function(v){return v.fixed==="left"});if(i==="rtl"){if(l!==void 0){var A=g&&g.fixed==="left";f=!A&&y}else if(s!==void 0){var x=p&&p.fixed==="right";d=!x&&y}}else if(l!==void 0){var C=p&&p.fixed==="left";c=!C&&y}else if(s!==void 0){var b=g&&g.fixed==="right";u=!b&&y}return{fixLeft:l,fixRight:s,lastFixLeft:c,firstFixRight:u,lastFixRight:d,firstFixLeft:f,isSticky:o.isSticky}}var XXe=m.createContext({});function BBt(t){var e=t.className,n=t.index,o=t.children,i=t.colSpan,r=i===void 0?1:i,a=t.rowSpan,l=t.align,s=hh(l1,["prefixCls","direction"]),c=s.prefixCls,u=s.direction,d=m.useContext(XXe),f=d.scrollColumnIndex,p=d.stickyOffsets,g=d.flattenColumns,y=n+r-1,A=y+1===f?r+1:r,x=Nme(n,n+A-1,g,p,u);return m.createElement(kb,so({className:e,index:n,component:"td",prefixCls:c,record:null,dataIndex:null,align:l,colSpan:A,rowSpan:a,render:function(){return o}},x))}var jBt=["children"];function YBt(t){var e=t.children,n=ir(t,jBt);return m.createElement("tr",n,e)}function N$(t){var e=t.children;return e}N$.Row=YBt;N$.Cell=BBt;function OBt(t){var e=t.children,n=t.stickyOffsets,o=t.flattenColumns,i=hh(l1,"prefixCls"),r=o.length-1,a=o[r],l=m.useMemo(function(){return{stickyOffsets:n,flattenColumns:o,scrollColumnIndex:a!=null&&a.scrollbar?r:null}},[a,o,r,n]);return m.createElement(XXe.Provider,{value:l},m.createElement("tfoot",{className:"".concat(i,"-summary")},e))}const SY=LH(OBt);var JXe=N$;function _Bt(t){return null}function VBt(t){return null}var KXe=function(e){if(sp()&&window.document.documentElement){var n=Array.isArray(e)?e:[e],o=window.document.documentElement;return n.some(function(i){return i in o.style})}return!1},GBt=function(e,n){if(!KXe(e))return!1;var o=document.createElement("div"),i=o.style[e];return o.style[e]=n,o.style[e]!==i};function XBt(t,e){return!Array.isArray(t)&&e!==void 0?GBt(t,e):KXe(t)}function qXe(t,e,n,o,i,r,a){t.push({record:e,indent:n,index:a});var l=r(e),s=i==null?void 0:i.has(l);if(e&&Array.isArray(e[o])&&s)for(var c=0;c1?D-1:0),L=1;L=1?S:""),style:$t($t({},n),x==null?void 0:x.style)}),g.map(function(R,H){var D=R.render,E=R.dataIndex,L=R.className,U=eJe(f,R,H,s,i),F=U.key,W=U.fixedInfo,B=U.appendCellNode,k=U.additionalCellProps;return m.createElement(kb,so({className:L,ellipsis:R.ellipsis,align:R.align,scope:R.rowScope,component:R.rowScope?d:u,prefixCls:p,key:F,record:o,index:i,renderIndex:r,dataIndex:E,render:D,shouldCellUpdate:R.shouldCellUpdate},W,{appendNode:B,additionalProps:k}))})),T;if(b&&(v.current||C)){var P=A(o,i,s+1,C);T=m.createElement(ZXe,{expanded:C,className:Vn("".concat(p,"-expanded-row"),"".concat(p,"-expanded-row-level-").concat(s+1),S),prefixCls:p,component:c,cellComponent:u,colSpan:g.length,isEmpty:!1},P)}return m.createElement(m.Fragment,null,w,T)}const KBt=LH(JBt);function qBt(t){var e=t.columnKey,n=t.onColumnResize,o=m.useRef();return m.useEffect(function(){o.current&&n(e,o.current.offsetWidth)},[]),m.createElement(xd,{data:e},m.createElement("td",{ref:o,style:{padding:0,border:0,height:0}},m.createElement("div",{style:{height:0,overflow:"hidden"}}," ")))}function $Bt(t){var e=t.prefixCls,n=t.columnsKey,o=t.onColumnResize;return m.createElement("tr",{"aria-hidden":"true",className:"".concat(e,"-measure-row"),style:{height:0,fontSize:0}},m.createElement(xd.Collection,{onBatchResize:function(r){r.forEach(function(a){var l=a.data,s=a.size;o(l,s.offsetWidth)})}},n.map(function(i){return m.createElement(qBt,{key:i,columnKey:i,onColumnResize:o})})))}function QBt(t){var e=t.data,n=t.measureColumnWidth,o=hh(l1,["prefixCls","getComponent","onColumnResize","flattenColumns","getRowKey","expandedKeys","childrenColumnName","emptyNode"]),i=o.prefixCls,r=o.getComponent,a=o.onColumnResize,l=o.flattenColumns,s=o.getRowKey,c=o.expandedKeys,u=o.childrenColumnName,d=o.emptyNode,f=$Xe(e,u,c,s),p=m.useRef({renderWithProps:!1}),g=r(["body","wrapper"],"tbody"),y=r(["body","row"],"tr"),A=r(["body","cell"],"td"),x=r(["body","cell"],"th"),C;e.length?C=f.map(function(v,S){var w=v.record,T=v.indent,P=v.index,R=s(w,S);return m.createElement(KBt,{key:R,rowKey:R,record:w,index:S,renderIndex:P,rowComponent:y,cellComponent:A,scopeCellComponent:x,getRowKey:s,indent:T})}):C=m.createElement(ZXe,{expanded:!0,className:"".concat(i,"-placeholder"),prefixCls:i,component:y,cellComponent:A,colSpan:l.length,isEmpty:!0},d);var b=W$(l);return m.createElement(GXe.Provider,{value:p.current},m.createElement(g,{className:"".concat(i,"-tbody")},n&&m.createElement($Bt,{prefixCls:i,columnsKey:b,onColumnResize:a}),C))}const ZBt=LH(QBt);var ejt=["expandable"],dE="RC_TABLE_INTERNAL_COL_DEFINE";function tjt(t){var e=t.expandable,n=ir(t,ejt),o;return"expandable"in t?o=$t($t({},n),e):o=n,o.showExpandColumn===!1&&(o.expandIconColumnIndex=-1),o}var njt=["columnType"];function tJe(t){for(var e=t.colWidths,n=t.columns,o=t.columCount,i=[],r=o||n.length,a=!1,l=r-1;l>=0;l-=1){var s=e[l],c=n&&n[l],u=c&&c[dE];if(s||u||a){var d=u||{};d.columnType;var f=ir(d,njt);i.unshift(m.createElement("col",so({key:l,style:{width:s}},f))),a=!0}}return m.createElement("colgroup",null,i)}var ojt=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];function ijt(t,e){return m.useMemo(function(){for(var n=[],o=0;o1?"colgroup":"col":null,ellipsis:A.ellipsis,align:A.align,component:a,prefixCls:u,key:p[y]},x,{additionalProps:C,rowType:"header"}))}))};function ljt(t){var e=[];function n(a,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;e[s]=e[s]||[];var c=l,u=a.filter(Boolean).map(function(d){var f={key:d.key,className:d.className||"",children:d.title,column:d,colStart:c},p=1,g=d.children;return g&&g.length>0&&(p=n(g,c,s+1).reduce(function(y,A){return y+A},0),f.hasSubColumns=!0),"colSpan"in d&&(p=d.colSpan),"rowSpan"in d&&(f.rowSpan=d.rowSpan),f.colSpan=p,f.colEnd=f.colStart+p-1,e[s].push(f),c+=p,p});return u}n(t,0);for(var o=e.length,i=function(l){e[l].forEach(function(s){!("rowSpan"in s)&&!s.hasSubColumns&&(s.rowSpan=o-l)})},r=0;r1&&arguments[1]!==void 0?arguments[1]:"";return typeof e=="number"?e:e.endsWith("%")?t*parseFloat(e)/100:null}function cjt(t,e,n){return m.useMemo(function(){if(e&&e>0){var o=0,i=0;t.forEach(function(f){var p=pxe(e,f.width);p?o+=p:i+=1});var r=Math.max(e,n),a=Math.max(r-o,i),l=i,s=a/i,c=0,u=t.map(function(f){var p=$t({},f),g=pxe(e,p.width);if(g)p.width=g;else{var y=Math.floor(s);p.width=l===1?a:y,a-=y,l-=1}return c+=p.width,p});if(c0?$t($t({},e),{},{children:nJe(n)}):e})}function _0e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key";return t.filter(function(n){return n&&gr(n)==="object"}).reduce(function(n,o,i){var r=o.fixed,a=r===!0?"left":r,l="".concat(e,"-").concat(i),s=o.children;return s&&s.length>0?[].concat(Wo(n),Wo(_0e(s,l).map(function(c){return $t({fixed:a},c)}))):[].concat(Wo(n),[$t($t({key:l},o),{},{fixed:a})])},[])}function fjt(t){return t.map(function(e){var n=e.fixed,o=ir(e,djt),i=n;return n==="left"?i="right":n==="right"&&(i="left"),$t({fixed:i},o)})}function hjt(t,e){var n=t.prefixCls,o=t.columns,i=t.children,r=t.expandable,a=t.expandedKeys,l=t.columnTitle,s=t.getRowKey,c=t.onTriggerExpand,u=t.expandIcon,d=t.rowExpandable,f=t.expandIconColumnIndex,p=t.direction,g=t.expandRowByClick,y=t.columnWidth,A=t.fixed,x=t.scrollWidth,C=t.clientWidth,b=m.useMemo(function(){var E=o||Ume(i)||[];return nJe(E.slice())},[o,i]),v=m.useMemo(function(){if(r){var E=b.slice();if(!E.includes(O4)){var L=f||0;L>=0&&E.splice(L,0,O4)}var U=E.indexOf(O4);E=E.filter(function(k,N){return k!==O4||N===U});var F=b[U],W;(A==="left"||A)&&!f?W="left":(A==="right"||A)&&f===b.length?W="right":W=F?F.fixed:null;var B=_t(_t(_t(_t(_t(_t({},dE,{className:"".concat(n,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),"title",l),"fixed",W),"className","".concat(n,"-row-expand-icon-cell")),"width",y),"render",function(N,j,Y){var _=s(j,Y),J=a.has(_),Q=d?d(j):!0,ee=u({prefixCls:n,expanded:J,expandable:Q,record:j,onExpand:c});return g?m.createElement("span",{onClick:function(q){return q.stopPropagation()}},ee):ee});return E.map(function(k){return k===O4?B:k})}return b.filter(function(k){return k!==O4})},[r,b,s,a,u,p]),S=m.useMemo(function(){var E=v;return e&&(E=e(E)),E.length||(E=[{render:function(){return null}}]),E},[e,v,p]),w=m.useMemo(function(){return p==="rtl"?fjt(_0e(S)):_0e(S)},[S,p,x]),T=m.useMemo(function(){for(var E=-1,L=w.length-1;L>=0;L-=1){var U=w[L].fixed;if(U==="left"||U===!0){E=L;break}}if(E>=0)for(var F=0;F<=E;F+=1){var W=w[F].fixed;if(W!=="left"&&W!==!0)return!0}var B=w.findIndex(function(j){var Y=j.fixed;return Y==="right"});if(B>=0)for(var k=B;k=d&&(k=d-f),a({scrollLeft:k/d*(u+2)}),C.current.x=U.pageX},D=function(){T.current=za(function(){if(r.current){var U=nxe(r.current).top,F=U+r.current.offsetHeight,W=s===window?document.documentElement.scrollTop+window.innerHeight:nxe(s).top+s.clientHeight;F-o0e()<=W||U>=W-l?x(function(B){return $t($t({},B),{},{isHiddenScrollBar:!0})}):x(function(B){return $t($t({},B),{},{isHiddenScrollBar:!1})})}})},E=function(U){x(function(F){return $t($t({},F),{},{scrollLeft:U/u*d||0})})};return m.useImperativeHandle(n,function(){return{setScrollLeft:E,checkScrollBarVisible:D}}),m.useEffect(function(){var L=bY(document.body,"mouseup",P,!1),U=bY(document.body,"mousemove",H,!1);return D(),function(){L.remove(),U.remove()}},[f,S]),m.useEffect(function(){var L=bY(s,"scroll",D,!1),U=bY(window,"resize",D,!1);return function(){L.remove(),U.remove()}},[s]),m.useEffect(function(){A.isHiddenScrollBar||x(function(L){var U=r.current;return U?$t($t({},L),{},{scrollLeft:U.scrollLeft/U.scrollWidth*U.clientWidth}):L})},[A.isHiddenScrollBar]),u<=d||!f||A.isHiddenScrollBar?null:m.createElement("div",{style:{height:o0e(),width:d,bottom:l},className:"".concat(c,"-sticky-scroll")},m.createElement("div",{onMouseDown:R,ref:p,className:Vn("".concat(c,"-sticky-scroll-bar"),_t({},"".concat(c,"-sticky-scroll-bar-active"),S)),style:{width:"".concat(f,"px"),transform:"translate3d(".concat(A.scrollLeft,"px, 0, 0)")}}))};const Sjt=m.forwardRef(bjt);var iJe="rc-table",Tjt=[],Pjt={};function Cjt(){return"No Data"}function Rjt(t,e){var n=$t({rowKey:"key",prefixCls:iJe,emptyText:Cjt},t),o=n.prefixCls,i=n.className,r=n.rowClassName,a=n.style,l=n.data,s=n.rowKey,c=n.scroll,u=n.tableLayout,d=n.direction,f=n.title,p=n.footer,g=n.summary,y=n.caption,A=n.id,x=n.showHeader,C=n.components,b=n.emptyText,v=n.onRow,S=n.onHeaderRow,w=n.onScroll,T=n.internalHooks,P=n.transformColumns,R=n.internalRefs,H=n.tailor,D=n.getContainerWidth,E=n.sticky,L=n.rowHoverable,U=L===void 0?!0:L,F=l||Tjt,W=!!F.length,B=T===NW,k=m.useCallback(function(go,So){return fg(C,go)||So},[C]),N=m.useMemo(function(){return typeof s=="function"?s:function(go){var So=go&&go[s];return So}},[s]),j=k(["body"]),Y=wjt(),_=on(Y,3),J=_[0],Q=_[1],ee=_[2],$=mjt(n,F,N),q=on($,6),le=q[0],ie=q[1],pe=q[2],ne=q[3],Z=q[4],he=q[5],fe=c==null?void 0:c.x,se=m.useState(0),oe=on(se,2),de=oe[0],ve=oe[1],Pe=hjt($t($t($t({},n),le),{},{expandable:!!le.expandedRowRender,columnTitle:le.columnTitle,expandedKeys:pe,getRowKey:N,onTriggerExpand:he,expandIcon:ne,expandIconColumnIndex:le.expandIconColumnIndex,direction:d,scrollWidth:B&&H&&typeof fe=="number"?fe:null,clientWidth:de}),B?P:null),me=on(Pe,4),Re=me[0],ze=me[1],Ae=me[2],re=me[3],ge=Ae??fe,we=m.useMemo(function(){return{columns:Re,flattenColumns:ze}},[Re,ze]),ye=m.useRef(),Te=m.useRef(),Ie=m.useRef(),Ce=m.useRef();m.useImperativeHandle(e,function(){return{nativeElement:ye.current,scrollTo:function(So){var Uo;if(Ie.current instanceof HTMLElement){var _i=So.index,Qo=So.top,ar=So.key;if(Qo){var ur;(ur=Ie.current)===null||ur===void 0||ur.scrollTo({top:Qo})}else{var $o,ba=ar??N(F[_i]);($o=Ie.current.querySelector('[data-row-key="'.concat(ba,'"]')))===null||$o===void 0||$o.scrollIntoView()}}else(Uo=Ie.current)!==null&&Uo!==void 0&&Uo.scrollTo&&Ie.current.scrollTo(So)}}});var Ee=m.useRef(),Ue=m.useState(!1),Ne=on(Ue,2),Le=Ne[0],qe=Ne[1],We=m.useState(!1),De=on(We,2),Fe=De[0],_e=De[1],ot=oJe(new Map),Ye=on(ot,2),St=Ye[0],dt=Ye[1],je=W$(ze),at=je.map(function(go){return St.get(go)}),ut=m.useMemo(function(){return at},[at.join("_")]),wt=xjt(ut,ze,d),rt=c&&O0e(c.y),Qe=c&&O0e(ge)||!!le.fixed,Oe=Qe&&ze.some(function(go){var So=go.fixed;return So}),et=m.useRef(),vt=vjt(E,o),ct=vt.isSticky,lt=vt.offsetHeader,tt=vt.offsetSummary,it=vt.offsetScroll,At=vt.stickyClassName,Mt=vt.container,st=m.useMemo(function(){return g==null?void 0:g(F)},[g,F]),ft=(rt||ct)&&m.isValidElement(st)&&st.type===N$&&st.props.fixed,Rt,zt,Xe;rt&&(zt={overflowY:"scroll",maxHeight:c.y}),Qe&&(Rt={overflowX:"auto"},rt||(zt={overflowY:"hidden"}),Xe={width:ge===!0?"auto":ge,minWidth:"100%"});var ht=m.useCallback(function(go,So){A$(ye.current)&&dt(function(Uo){if(Uo.get(go)!==So){var _i=new Map(Uo);return _i.set(go,So),_i}return Uo})},[]),Je=Ajt(),mt=on(Je,2),Ge=mt[0],xt=mt[1];function It(go,So){So&&(typeof So=="function"?So(go):So.scrollLeft!==go&&(So.scrollLeft=go,So.scrollLeft!==go&&setTimeout(function(){So.scrollLeft=go},0)))}var Tt=Ia(function(go){var So=go.currentTarget,Uo=go.scrollLeft,_i=d==="rtl",Qo=typeof Uo=="number"?Uo:So.scrollLeft,ar=So||Pjt;if(!xt()||xt()===ar){var ur;Ge(ar),It(Qo,Te.current),It(Qo,Ie.current),It(Qo,Ee.current),It(Qo,(ur=et.current)===null||ur===void 0?void 0:ur.setScrollLeft)}var $o=So||Te.current;if($o){var ba=$o.scrollWidth,Mo=$o.clientWidth;if(ba===Mo){qe(!1),_e(!1);return}_i?(qe(-Qo0)):(qe(Qo>0),_e(Qo1?A-U:0,W=$t($t($t({},P),c),{},{flex:"0 0 ".concat(U,"px"),width:"".concat(U,"px"),marginRight:F,pointerEvents:"auto"}),B=m.useMemo(function(){return d?E<=1:H===0||E===0||E>1},[E,H,d]);B?W.visibility="hidden":d&&(W.height=f==null?void 0:f(E));var k=B?function(){return null}:p,N={};return(E===0||H===0)&&(N.rowSpan=1,N.colSpan=1),m.createElement(kb,so({className:Vn(y,u),ellipsis:n.ellipsis,align:n.align,scope:n.rowScope,component:a,prefixCls:e.prefixCls,key:v,record:s,index:r,renderIndex:l,dataIndex:g,render:k,shouldCellUpdate:n.shouldCellUpdate},S,{appendNode:w,additionalProps:$t($t({},T),{},{style:W},N)}))}var zjt=["data","index","className","rowKey","style","extra","getHeight"],Djt=m.forwardRef(function(t,e){var n=t.data,o=t.index,i=t.className,r=t.rowKey,a=t.style,l=t.extra,s=t.getHeight,c=ir(t,zjt),u=n.record,d=n.indent,f=n.index,p=hh(l1,["prefixCls","flattenColumns","fixColumn","componentWidth","scrollX"]),g=p.scrollX,y=p.flattenColumns,A=p.prefixCls,x=p.fixColumn,C=p.componentWidth,b=hh(Bme,["getComponent"]),v=b.getComponent,S=QXe(u,r,o,d),w=v(["body","row"],"div"),T=v(["body","cell"],"div"),P=S.rowSupportExpand,R=S.expanded,H=S.rowProps,D=S.expandedRowRender,E=S.expandedRowClassName,L;if(P&&R){var U=D(u,o,d+1,R),F=E==null?void 0:E(u,o,d),W={};x&&(W={style:_t({},"--virtual-width","".concat(C,"px"))});var B="".concat(A,"-expanded-row-cell");L=m.createElement(w,{className:Vn("".concat(A,"-expanded-row"),"".concat(A,"-expanded-row-level-").concat(d+1),F)},m.createElement(kb,{component:T,prefixCls:A,className:Vn(B,_t({},"".concat(B,"-fixed"),x)),additionalProps:W},U))}var k=$t($t({},a),{},{width:g});l&&(k.position="absolute",k.pointerEvents="none");var N=m.createElement(w,so({},H,c,{"data-row-key":r,ref:P?null:e,className:Vn(i,"".concat(A,"-row"),H==null?void 0:H.className,_t({},"".concat(A,"-row-extra"),l)),style:$t($t({},k),H==null?void 0:H.style)}),y.map(function(j,Y){return m.createElement(Ijt,{key:Y,component:T,rowInfo:S,column:j,colIndex:Y,indent:d,index:o,renderIndex:f,record:u,inverse:l,getHeight:s})}));return P?m.createElement("div",{ref:e},N,L):N}),yxe=LH(Djt),Ejt=m.forwardRef(function(t,e){var n=t.data,o=t.onScroll,i=hh(l1,["flattenColumns","onColumnResize","getRowKey","prefixCls","expandedKeys","childrenColumnName","emptyNode","scrollX"]),r=i.flattenColumns,a=i.onColumnResize,l=i.getRowKey,s=i.expandedKeys,c=i.prefixCls,u=i.childrenColumnName,d=i.emptyNode,f=i.scrollX,p=hh(Bme),g=p.sticky,y=p.scrollY,A=p.listItemHeight,x=p.getComponent,C=p.onScroll,b=m.useRef(),v=$Xe(n,u,s,l),S=m.useMemo(function(){var W=0;return r.map(function(B){var k=B.width,N=B.key;return W+=k,[N,k,W]})},[r]),w=m.useMemo(function(){return S.map(function(W){return W[2]})},[S]);m.useEffect(function(){S.forEach(function(W){var B=on(W,2),k=B[0],N=B[1];a(k,N)})},[S]),m.useImperativeHandle(e,function(){var W={scrollTo:function(k){var N;(N=b.current)===null||N===void 0||N.scrollTo(k)}};return Object.defineProperty(W,"scrollLeft",{get:function(){var k;return((k=b.current)===null||k===void 0?void 0:k.getScrollInfo().x)||0},set:function(k){var N;(N=b.current)===null||N===void 0||N.scrollTo({left:k})}}),W});var T=function(B,k){var N,j=(N=v[k])===null||N===void 0?void 0:N.record,Y=B.onCell;if(Y){var _,J=Y(j,k);return(_=J==null?void 0:J.rowSpan)!==null&&_!==void 0?_:1}return 1},P=function(B){var k=B.start,N=B.end,j=B.getSize,Y=B.offsetY;if(N<0)return null;for(var _=r.filter(function(fe){return T(fe,k)===0}),J=k,Q=function(se){if(_=_.filter(function(oe){return T(oe,se)===0}),!_.length)return J=se,1},ee=k;ee>=0&&!Q(ee);ee-=1);for(var $=r.filter(function(fe){return T(fe,N)!==1}),q=N,le=function(se){if($=$.filter(function(oe){return T(oe,se)!==1}),!$.length)return q=Math.max(se-1,N),1},ie=N;ie1})&&pe.push(se)},Z=J;Z<=q;Z+=1)ne(Z);var he=pe.map(function(fe){var se=v[fe],oe=l(se.record,fe),de=function(me){var Re=fe+me-1,ze=l(v[Re].record,Re),Ae=j(oe,ze);return Ae.bottom-Ae.top},ve=j(oe);return m.createElement(yxe,{key:fe,data:se,rowKey:oe,index:fe,style:{top:-Y+ve.top},extra:!0,getHeight:de})});return he},R=m.useMemo(function(){return{columnsOffset:w}},[w]),H="".concat(c,"-tbody"),D=x(["body","wrapper"]),E=x(["body","row"],"div"),L=x(["body","cell"],"div"),U;if(v.length){var F={};g&&(F.position="sticky",F.bottom=0,gr(g)==="object"&&g.offsetScroll&&(F.bottom=g.offsetScroll)),U=m.createElement(w$,{fullHeight:!1,ref:b,prefixCls:"".concat(H,"-virtual"),styles:{horizontalScrollBar:F},className:H,height:y,itemHeight:A||24,data:v,itemKey:function(B){return l(B.record)},component:D,scrollWidth:f,onVirtualScroll:function(B){var k=B.x;o({scrollLeft:k})},onScroll:C,extraRender:P},function(W,B,k){var N=l(W.record,B);return m.createElement(yxe,so({data:W,rowKey:N,index:B},k))})}else U=m.createElement(E,{className:Vn("".concat(c,"-placeholder"))},m.createElement(kb,{component:L,prefixCls:c},d));return m.createElement(aJe.Provider,{value:R},U)}),kjt=LH(Ejt),Fjt=function(e,n){var o=n.ref,i=n.onScroll;return m.createElement(kjt,{ref:o,data:e,onScroll:i})};function Ljt(t,e){var n=t.columns,o=t.scroll,i=t.sticky,r=t.prefixCls,a=r===void 0?iJe:r,l=t.className,s=t.listItemHeight,c=t.components,u=t.onScroll,d=o||{},f=d.x,p=d.y;typeof f!="number"&&(f=1),typeof p!="number"&&(p=500);var g=Ia(function(x,C){return fg(c,x)||C}),y=Ia(u),A=m.useMemo(function(){return{sticky:i,scrollY:p,listItemHeight:s,getComponent:g,onScroll:y}},[i,p,s,g,y]);return m.createElement(Bme.Provider,{value:A},m.createElement(WH,so({},t,{className:Vn(l,"".concat(a,"-virtual")),scroll:$t($t({},o),{},{x:f}),components:$t($t({},c),{},{body:Fjt}),columns:n,internalHooks:NW,tailor:!0,ref:e})))}var Wjt=m.forwardRef(Ljt);function lJe(t){return VXe(Wjt,t)}lJe();function Njt(t){return null}function Ujt(t){return null}function V0e(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function U$(t,e){if(t==null)return{};var n=Ojt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var G0e={},_jt=function(e){};function Vjt(t,e){}function Gjt(t,e){}function Xjt(){G0e={}}function cJe(t,e,n){!e&&!G0e[n]&&(t(!1,n),G0e[n]=!0)}function g2(t,e){cJe(Vjt,t,e)}function Jjt(t,e){cJe(Gjt,t,e)}g2.preMessage=_jt;g2.resetWarned=Xjt;g2.noteOnce=Jjt;function Kjt(t,e){if(q6(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(q6(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function uJe(t){var e=Kjt(t,"string");return q6(e)==="symbol"?e:String(e)}function jo(t,e,n){return e=uJe(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Axe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Ru(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function $jt(t,e){if(e&&(q6(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yi(t)}function pJe(t){var e=qjt();return function(){var o=IG(t),i;if(e){var r=IG(this).constructor;i=Reflect.construct(o,arguments,r)}else i=o.apply(this,arguments);return $jt(this,i)}}var gJe={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var o=[],i=0;i1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=Ru({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||vxe(i,iYt))||n.data&&vxe(i,rYt)||n.attr&&oYt.includes(i))&&(o[i]=t[i])}),o}var jme=m.createContext(null),aYt=function(e){for(var n=e.prefixCls,o=e.level,i=e.isStart,r=e.isEnd,a="".concat(n,"-indent-unit"),l=[],s=0;s1&&arguments[1]!==void 0?arguments[1]:{},n=[];return Se.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(J0e(o)):gC.isFragment(o)&&o.props?n=n.concat(J0e(o.props.children,e)):n.push(o))}),n}function sYt(t,e){var n=Ru({},t);return Array.isArray(e)&&e.forEach(function(o){delete n[o]}),n}var cYt=["children"];function yJe(t,e){return"".concat(t,"-").concat(e)}function uYt(t){return t&&t.type&&t.type.isTreeNode}function UW(t,e){return t??e}function lR(t){var e=t||{},n=e.title,o=e._title,i=e.key,r=e.children,a=n||"title";return{title:a,_title:o||[a],key:i||"key",children:r||"children"}}function AJe(t){function e(n){var o=J0e(n);return o.map(function(i){if(!uYt(i))return g2(!i,"Tree/TreeNode can only accept TreeNode as children."),null;var r=i.key,a=i.props,l=a.children,s=U$(a,cYt),c=Ru({key:r},s),u=e(l);return u.length&&(c.children=u),c}).filter(function(i){return i})}return e(t)}function Vie(t,e,n){var o=lR(n),i=o._title,r=o.key,a=o.children,l=new Set(e===!0?[]:e),s=[];function c(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return u.map(function(f,p){for(var g=yJe(d?d.pos:"0",p),y=UW(f[r],g),A,x=0;x1&&arguments[1]!==void 0?arguments[1]:{},n=e.initWrapper,o=e.processEntity,i=e.onProcessFinished,r=e.externalGetKey,a=e.childrenPropName,l=e.fieldNames,s=arguments.length>2?arguments[2]:void 0,c=r||s,u={},d={},f={posEntities:u,keyEntities:d};return n&&(f=n(f)||f),dYt(t,function(p){var g=p.node,y=p.index,A=p.pos,x=p.key,C=p.parentPos,b=p.level,v=p.nodes,S={node:g,nodes:v,index:y,key:x,pos:A,level:b},w=UW(x,A);u[A]=S,d[w]=S,S.parent=u[C],S.parent&&(S.parent.children=S.parent.children||[],S.parent.children.push(S)),o&&o(S,f)},{externalGetKey:c,childrenPropName:a,fieldNames:l}),i&&i(f),f}function fE(t,e){var n=e.expandedKeys,o=e.selectedKeys,i=e.loadedKeys,r=e.loadingKeys,a=e.checkedKeys,l=e.halfCheckedKeys,s=e.dragOverNodeKey,c=e.dropPosition,u=e.keyEntities,d=Ep(u,t),f={eventKey:t,expanded:n.indexOf(t)!==-1,selected:o.indexOf(t)!==-1,loaded:i.indexOf(t)!==-1,loading:r.indexOf(t)!==-1,checked:a.indexOf(t)!==-1,halfChecked:l.indexOf(t)!==-1,pos:String(d?d.pos:""),dragOver:s===t&&c===0,dragOverGapTop:s===t&&c===-1,dragOverGapBottom:s===t&&c===1};return f}function eu(t){var e=t.data,n=t.expanded,o=t.selected,i=t.checked,r=t.loaded,a=t.loading,l=t.halfChecked,s=t.dragOver,c=t.dragOverGapTop,u=t.dragOverGapBottom,d=t.pos,f=t.active,p=t.eventKey,g=Ru(Ru({},e),{},{expanded:n,selected:o,checked:i,loaded:r,loading:a,halfChecked:l,dragOver:s,dragOverGapTop:c,dragOverGapBottom:u,pos:d,active:f,key:p});return"props"in g||Object.defineProperty(g,"props",{get:function(){return g2(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),t}}),g}var fYt=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],xxe="open",bxe="close",hYt="---",pYt=function(t){hJe(n,t);var e=pJe(n);function n(){var o;dJe(this,n);for(var i=arguments.length,r=new Array(i),a=0;a=0&&n.splice(o,1),n}function n6(t,e){var n=(t||[]).slice();return n.indexOf(e)===-1&&n.push(e),n}function Ome(t){return t.split("-")}function gYt(t,e){var n=[],o=Ep(e,t);function i(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];r.forEach(function(a){var l=a.key,s=a.children;n.push(l),i(s)})}return i(o.children),n}function mYt(t){if(t.parent){var e=Ome(t.pos);return Number(e[e.length-1])===t.parent.children.length-1}return!1}function yYt(t){var e=Ome(t.pos);return Number(e[e.length-1])===0}function Sxe(t,e,n,o,i,r,a,l,s,c){var u,d=t.clientX,f=t.clientY,p=t.target.getBoundingClientRect(),g=p.top,y=p.height,A=(c==="rtl"?-1:1)*(((i==null?void 0:i.x)||0)-d),x=(A-12)/o,C=s.filter(function(W){var B;return(B=l[W])===null||B===void 0||(B=B.children)===null||B===void 0?void 0:B.length}),b=Ep(l,n.props.eventKey);if(f-1.5?r({dragNode:L,dropNode:U,dropPosition:1})?H=1:F=!1:r({dragNode:L,dropNode:U,dropPosition:0})?H=0:r({dragNode:L,dropNode:U,dropPosition:1})?H=1:F=!1:r({dragNode:L,dropNode:U,dropPosition:1})?H=1:F=!1,{dropPosition:H,dropLevelOffset:D,dropTargetKey:b.key,dropTargetPos:b.pos,dragOverNodeKey:R,dropContainerKey:H===0?null:((u=b.parent)===null||u===void 0?void 0:u.key)||null,dropAllowed:F}}function Txe(t,e){if(t){var n=e.multiple;return n?t.slice():t.length?[t[0]]:t}}function Gie(t){if(!t)return null;var e;if(Array.isArray(t))e={checkedKeys:t,halfCheckedKeys:void 0};else if(q6(t)==="object")e={checkedKeys:t.checked||void 0,halfCheckedKeys:t.halfChecked||void 0};else return g2(!1,"`checkedKeys` is not an array or an object"),null;return e}function K0e(t,e){var n=new Set;function o(i){if(!n.has(i)){var r=Ep(e,i);if(r){n.add(i);var a=r.parent,l=r.node;l.disabled||a&&o(a.key)}}}return(t||[]).forEach(function(i){o(i)}),hx(n)}function wJe(t,e){var n=new Set;return t.forEach(function(o){e.has(o)||n.add(o)}),n}function AYt(t){var e=t||{},n=e.disabled,o=e.disableCheckbox,i=e.checkable;return!!(n||o)||i===!1}function wYt(t,e,n,o){for(var i=new Set(t),r=new Set,a=0;a<=n;a+=1){var l=e.get(a)||new Set;l.forEach(function(d){var f=d.key,p=d.node,g=d.children,y=g===void 0?[]:g;i.has(f)&&!o(p)&&y.filter(function(A){return!o(A.node)}).forEach(function(A){i.add(A.key)})})}for(var s=new Set,c=n;c>=0;c-=1){var u=e.get(c)||new Set;u.forEach(function(d){var f=d.parent,p=d.node;if(!(o(p)||!d.parent||s.has(d.parent.key))){if(o(d.parent.node)){s.add(f.key);return}var g=!0,y=!1;(f.children||[]).filter(function(A){return!o(A.node)}).forEach(function(A){var x=A.key,C=i.has(x);g&&!C&&(g=!1),!y&&(C||r.has(x))&&(y=!0)}),g&&i.add(f.key),y&&r.add(f.key),s.add(f.key)}})}return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(wJe(r,i))}}function vYt(t,e,n,o,i){for(var r=new Set(t),a=new Set(e),l=0;l<=o;l+=1){var s=n.get(l)||new Set;s.forEach(function(f){var p=f.key,g=f.node,y=f.children,A=y===void 0?[]:y;!r.has(p)&&!a.has(p)&&!i(g)&&A.filter(function(x){return!i(x.node)}).forEach(function(x){r.delete(x.key)})})}a=new Set;for(var c=new Set,u=o;u>=0;u-=1){var d=n.get(u)||new Set;d.forEach(function(f){var p=f.parent,g=f.node;if(!(i(g)||!f.parent||c.has(f.parent.key))){if(i(f.parent.node)){c.add(p.key);return}var y=!0,A=!1;(p.children||[]).filter(function(x){return!i(x.node)}).forEach(function(x){var C=x.key,b=r.has(C);y&&!b&&(y=!1),!A&&(b||a.has(C))&&(A=!0)}),y||r.delete(p.key),A&&a.add(p.key),c.add(p.key)}})}return{checkedKeys:Array.from(r),halfCheckedKeys:Array.from(wJe(a,r))}}function AC(t,e,n,o){var i=[],r;o?r=o:r=AYt;var a=new Set(t.filter(function(u){var d=!!Ep(n,u);return d||i.push(u),d})),l=new Map,s=0;Object.keys(n).forEach(function(u){var d=n[u],f=d.level,p=l.get(f);p||(p=new Set,l.set(f,p)),p.add(d),s=Math.max(s,f)}),g2(!i.length,"Tree missing follow keys: ".concat(i.slice(0,100).map(function(u){return"'".concat(u,"'")}).join(", ")));var c;return e===!0?c=wYt(a,l,s,r):c=vYt(a,e.halfCheckedKeys,l,s,r),c}function xYt(t){const[e,n]=m.useState(null);return[m.useCallback((r,a,l)=>{const s=e??r,c=Math.min(s||0,r),u=Math.max(s||0,r),d=a.slice(c,u+1).map(g=>t(g)),f=d.some(g=>!l.has(g)),p=[];return d.forEach(g=>{f?(l.has(g)||p.push(g),l.add(g)):(l.delete(g),p.push(g))}),n(f?u:null),p},[e]),r=>{n(r)}]}const z4={},q0e="SELECT_ALL",$0e="SELECT_INVERT",Q0e="SELECT_NONE",Pxe=[],vJe=(t,e)=>{let n=[];return(e||[]).forEach(o=>{n.push(o),o&&typeof o=="object"&&t in o&&(n=[].concat(Xa(n),Xa(vJe(t,o[t]))))}),n},bYt=(t,e)=>{const{preserveSelectedRowKeys:n,selectedRowKeys:o,defaultSelectedRowKeys:i,getCheckboxProps:r,onChange:a,onSelect:l,onSelectAll:s,onSelectInvert:c,onSelectNone:u,onSelectMultiple:d,columnWidth:f,type:p,selections:g,fixed:y,renderCell:A,hideSelectAll:x,checkStrictly:C=!0}=e||{},{prefixCls:b,data:v,pageData:S,getRecordByKey:w,getRowKey:T,expandType:P,childrenColumnName:R,locale:H,getPopupContainer:D}=t,E=Hb(),[L,U]=xYt(ne=>ne),[F,W]=_6(o||i||Pxe,{value:o}),B=m.useRef(new Map),k=m.useCallback(ne=>{if(n){const Z=new Map;ne.forEach(he=>{let fe=w(he);!fe&&B.current.has(he)&&(fe=B.current.get(he)),Z.set(he,fe)}),B.current=Z}},[w,n]);m.useEffect(()=>{k(F)},[F]);const{keyEntities:N}=m.useMemo(()=>{if(C)return{keyEntities:null};let ne=v;if(n){const Z=new Set(v.map((fe,se)=>T(fe,se))),he=Array.from(B.current).reduce((fe,se)=>{let[oe,de]=se;return Z.has(oe)?fe:fe.concat(de)},[]);ne=[].concat(Xa(ne),Xa(he))}return Yme(ne,{externalGetKey:T,childrenPropName:R})},[v,T,C,R,n]),j=m.useMemo(()=>vJe(R,S),[R,S]),Y=m.useMemo(()=>{const ne=new Map;return j.forEach((Z,he)=>{const fe=T(Z,he),se=(r?r(Z):null)||{};ne.set(fe,se)}),ne},[j,T,r]),_=m.useCallback(ne=>{var Z;return!!(!((Z=Y.get(T(ne)))===null||Z===void 0)&&Z.disabled)},[Y,T]),[J,Q]=m.useMemo(()=>{if(C)return[F||[],[]];const{checkedKeys:ne,halfCheckedKeys:Z}=AC(F,!0,N,_);return[ne||[],Z]},[F,C,N,_]),ee=m.useMemo(()=>{const ne=p==="radio"?J.slice(0,1):J;return new Set(ne)},[J,p]),$=m.useMemo(()=>p==="radio"?new Set:new Set(Q),[Q,p]);m.useEffect(()=>{e||W(Pxe)},[!!e]);const q=m.useCallback((ne,Z)=>{let he,fe;k(ne),n?(he=ne,fe=ne.map(se=>B.current.get(se))):(he=[],fe=[],ne.forEach(se=>{const oe=w(se);oe!==void 0&&(he.push(se),fe.push(oe))})),W(he),a==null||a(he,fe,{type:Z})},[W,w,a,n]),le=m.useCallback((ne,Z,he,fe)=>{if(l){const se=he.map(oe=>w(oe));l(w(ne),Z,se,fe)}q(he,"single")},[l,w,q]),ie=m.useMemo(()=>!g||x?null:(g===!0?[q0e,$0e,Q0e]:g).map(Z=>Z===q0e?{key:"all",text:H.selectionAll,onSelect(){q(v.map((he,fe)=>T(he,fe)).filter(he=>{const fe=Y.get(he);return!(fe!=null&&fe.disabled)||ee.has(he)}),"all")}}:Z===$0e?{key:"invert",text:H.selectInvert,onSelect(){const he=new Set(ee);S.forEach((se,oe)=>{const de=T(se,oe),ve=Y.get(de);ve!=null&&ve.disabled||(he.has(de)?he.delete(de):he.add(de))});const fe=Array.from(he);c&&(E.deprecated(!1,"onSelectInvert","onChange"),c(fe)),q(fe,"invert")}}:Z===Q0e?{key:"none",text:H.selectNone,onSelect(){u==null||u(),q(Array.from(ee).filter(he=>{const fe=Y.get(he);return fe==null?void 0:fe.disabled}),"none")}}:Z).map(Z=>Object.assign(Object.assign({},Z),{onSelect:function(){for(var he,fe,se=arguments.length,oe=new Array(se),de=0;de{var Z;if(!e)return ne.filter(Ce=>Ce!==z4);let he=Xa(ne);const fe=new Set(ee),se=j.map(T).filter(Ce=>!Y.get(Ce).disabled),oe=se.every(Ce=>fe.has(Ce)),de=se.some(Ce=>fe.has(Ce)),ve=()=>{const Ce=[];oe?se.forEach(Ue=>{fe.delete(Ue),Ce.push(Ue)}):se.forEach(Ue=>{fe.has(Ue)||(fe.add(Ue),Ce.push(Ue))});const Ee=Array.from(fe);s==null||s(!oe,Ee.map(Ue=>w(Ue)),Ce.map(Ue=>w(Ue))),q(Ee,"all"),U(null)};let Pe,me;if(p!=="radio"){let Ce;if(ie){const qe={getPopupContainer:D,items:ie.map((We,De)=>{const{key:Fe,text:_e,onSelect:ot}=We;return{key:Fe??De,onClick:()=>{ot==null||ot(se)},label:_e}})};Ce=m.createElement("div",{className:`${b}-selection-extra`},m.createElement(W7,{menu:qe,getPopupContainer:D},m.createElement("span",null,m.createElement(ome,null))))}const Ee=j.map((qe,We)=>{const De=T(qe,We),Fe=Y.get(De)||{};return Object.assign({checked:fe.has(De)},Fe)}).filter(qe=>{let{disabled:We}=qe;return We}),Ue=!!Ee.length&&Ee.length===j.length,Ne=Ue&&Ee.every(qe=>{let{checked:We}=qe;return We}),Le=Ue&&Ee.some(qe=>{let{checked:We}=qe;return We});me=m.createElement(Wr,{checked:Ue?Ne:!!j.length&&oe,indeterminate:Ue?!Ne&&Le:!oe&&de,onChange:ve,disabled:j.length===0||Ue,"aria-label":Ce?"Custom selection":"Select all",skipGroup:!0}),Pe=!x&&m.createElement("div",{className:`${b}-selection`},me,Ce)}let Re;p==="radio"?Re=(Ce,Ee,Ue)=>{const Ne=T(Ee,Ue),Le=fe.has(Ne);return{node:m.createElement(Be,Object.assign({},Y.get(Ne),{checked:Le,onClick:qe=>qe.stopPropagation(),onChange:qe=>{fe.has(Ne)||le(Ne,!0,[Ne],qe.nativeEvent)}})),checked:Le}}:Re=(Ce,Ee,Ue)=>{var Ne;const Le=T(Ee,Ue),qe=fe.has(Le),We=$.has(Le),De=Y.get(Le);let Fe;return P==="nest"?Fe=We:Fe=(Ne=De==null?void 0:De.indeterminate)!==null&&Ne!==void 0?Ne:We,{node:m.createElement(Wr,Object.assign({},De,{indeterminate:Fe,checked:qe,skipGroup:!0,onClick:_e=>_e.stopPropagation(),onChange:_e=>{let{nativeEvent:ot}=_e;const{shiftKey:Ye}=ot,St=se.findIndex(je=>je===Le),dt=J.some(je=>se.includes(je));if(Ye&&C&&dt){const je=L(St,se,fe),at=Array.from(fe);d==null||d(!qe,at.map(ut=>w(ut)),je.map(ut=>w(ut))),q(at,"multiple")}else{const je=J;if(C){const at=qe?Y5(je,Le):n6(je,Le);le(Le,!qe,at,ot)}else{const at=AC([].concat(Xa(je),[Le]),!0,N,_),{checkedKeys:ut,halfCheckedKeys:wt}=at;let rt=ut;if(qe){const Qe=new Set(ut);Qe.delete(Le),rt=AC(Array.from(Qe),{checked:!1,halfCheckedKeys:wt},N,_).checkedKeys}le(Le,!qe,rt,ot)}}U(qe?null:St)}})),checked:qe}};const ze=(Ce,Ee,Ue)=>{const{node:Ne,checked:Le}=Re(Ce,Ee,Ue);return A?A(Le,Ee,Ue,Ne):Ne};if(!he.includes(z4))if(he.findIndex(Ce=>{var Ee;return((Ee=Ce[dE])===null||Ee===void 0?void 0:Ee.columnType)==="EXPAND_COLUMN"})===0){const[Ce,...Ee]=he;he=[Ce,z4].concat(Xa(Ee))}else he=[z4].concat(Xa(he));const Ae=he.indexOf(z4);he=he.filter((Ce,Ee)=>Ce!==z4||Ee===Ae);const re=he[Ae-1],ge=he[Ae+1];let we=y;we===void 0&&((ge==null?void 0:ge.fixed)!==void 0?we=ge.fixed:(re==null?void 0:re.fixed)!==void 0&&(we=re.fixed)),we&&re&&((Z=re[dE])===null||Z===void 0?void 0:Z.columnType)==="EXPAND_COLUMN"&&re.fixed===void 0&&(re.fixed=we);const ye=Gn(`${b}-selection-col`,{[`${b}-selection-col-with-dropdown`]:g&&p==="checkbox"}),Te=()=>e!=null&&e.columnTitle?typeof e.columnTitle=="function"?e.columnTitle(me):e.columnTitle:Pe,Ie={fixed:we,width:f,className:`${b}-selection-column`,title:Te(),render:ze,onCell:e.onCell,[dE]:{className:ye}};return he.map(Ce=>Ce===z4?Ie:Ce)},[T,j,e,J,ee,$,f,ie,P,Y,d,le,_]),ee]};function SYt(t,e){return t._antProxy=t._antProxy||{},Object.keys(e).forEach(n=>{if(!(n in t._antProxy)){const o=t[n];t._antProxy[n]=o,t[n]=e[n]}}),t}function TYt(t,e){return m.useImperativeHandle(t,()=>{const n=e(),{nativeElement:o}=n;return typeof Proxy<"u"?new Proxy(o,{get(i,r){return n[r]?n[r]:Reflect.get(i,r)}}):SYt(o,n)})}function PYt(t){return function(n){let{prefixCls:o,onExpand:i,record:r,expanded:a,expandable:l}=n;const s=`${o}-row-expand-icon`;return m.createElement("button",{type:"button",onClick:c=>{i(r,c),c.stopPropagation()},className:Gn(s,{[`${s}-spaced`]:!l,[`${s}-expanded`]:l&&a,[`${s}-collapsed`]:l&&!a}),"aria-label":a?t.collapse:t.expand,"aria-expanded":a})}}function CYt(t){return(n,o)=>{const i=n.querySelector(`.${t}-container`);let r=o;if(i){const a=getComputedStyle(i),l=parseInt(a.borderLeftWidth,10),s=parseInt(a.borderRightWidth,10);r=o-l-s}return r}}function Vx(t,e){return"key"in t&&t.key!==void 0&&t.key!==null?t.key:t.dataIndex?Array.isArray(t.dataIndex)?t.dataIndex.join("."):t.dataIndex:e}function BW(t,e){return e?`${e}-${t}`:`${t}`}function B$(t,e){return typeof t=="function"?t(e):t}function RYt(t,e){const n=B$(t,e);return Object.prototype.toString.call(n)==="[object Object]"?"":n}var HYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z"}}]},name:"filter",theme:"filled"},MYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:HYt}))},IYt=m.forwardRef(MYt);function zYt(t){const e=m.useRef(t),n=EVe();return[()=>e.current,o=>{e.current=o,n()}]}var Ar={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=Ar.F1&&n<=Ar.F12)return!1;switch(n){case Ar.ALT:case Ar.CAPS_LOCK:case Ar.CONTEXT_MENU:case Ar.CTRL:case Ar.DOWN:case Ar.END:case Ar.ESC:case Ar.HOME:case Ar.INSERT:case Ar.LEFT:case Ar.MAC_FF_META:case Ar.META:case Ar.NUMLOCK:case Ar.NUM_CENTER:case Ar.PAGE_DOWN:case Ar.PAGE_UP:case Ar.PAUSE:case Ar.PRINT_SCREEN:case Ar.RIGHT:case Ar.SHIFT:case Ar.UP:case Ar.WIN_KEY:case Ar.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Ar.ZERO&&e<=Ar.NINE||e>=Ar.NUM_ZERO&&e<=Ar.NUM_MULTIPLY||e>=Ar.A&&e<=Ar.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Ar.SPACE:case Ar.QUESTION_MARK:case Ar.NUM_PLUS:case Ar.NUM_MINUS:case Ar.NUM_PERIOD:case Ar.NUM_DIVISION:case Ar.SEMICOLON:case Ar.DASH:case Ar.EQUALS:case Ar.COMMA:case Ar.PERIOD:case Ar.SLASH:case Ar.APOSTROPHE:case Ar.SINGLE_QUOTE:case Ar.OPEN_SQUARE_BRACKET:case Ar.BACKSLASH:case Ar.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};function DYt(t){var e=t.dropPosition,n=t.dropLevelOffset,o=t.indent,i={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(e){case-1:i.top=0,i.left=-n*o;break;case 1:i.bottom=0,i.left=-n*o;break;case 0:i.bottom=0,i.left=o;break}return m.createElement("div",{style:i})}function xJe(t){if(t==null)throw new TypeError("Cannot destructure "+t)}function EYt(t){if(Array.isArray(t))return t}function kYt(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e!==0)for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function FYt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Av(t,e){return EYt(t)||kYt(t,e)||sJe(t,e)||FYt()}function LYt(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var Cxe=LYt()?m.useLayoutEffect:m.useEffect,zG=function(e,n){var o=m.useRef(!0);Cxe(function(){return e(o.current)},n),Cxe(function(){return o.current=!1,function(){o.current=!0}},[])};function WYt(t,e){var n=m.useState(!1),o=Av(n,2),i=o[0],r=o[1];zG(function(){if(i)return t(),function(){e()}},[i]),zG(function(){return r(!0),function(){r(!1)}},[])}var NYt=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],bJe=function(e,n){var o=e.className,i=e.style,r=e.motion,a=e.motionNodes,l=e.motionType,s=e.onMotionStart,c=e.onMotionEnd,u=e.active,d=e.treeNodeRequiredProps,f=U$(e,NYt),p=m.useState(!0),g=Av(p,2),y=g[0],A=g[1],x=m.useContext(jme),C=x.prefixCls,b=a&&l!=="hide";zG(function(){a&&b!==y&&A(b)},[a]);var v=function(){a&&s()},S=m.useRef(!1),w=function(){a&&!S.current&&(S.current=!0,c())};WYt(v,w);var T=function(R){b===R&&w()};return a?m.createElement(Cg,w9({ref:n,visible:y},r,{motionAppear:l==="show",onVisibleChanged:T}),function(P,R){var H=P.className,D=P.style;return m.createElement("div",{ref:R,className:q5("".concat(C,"-treenode-motion"),H),style:D},a.map(function(E){var L=Object.assign({},(xJe(E.data),E.data)),U=E.title,F=E.key,W=E.isStart,B=E.isEnd;delete L.children;var k=fE(F,d);return m.createElement(sR,w9({},L,k,{title:U,active:u,data:E.data,key:F,isStart:W,isEnd:B}))}))}):m.createElement(sR,w9({domRef:n,className:o,style:i},f,{active:u}))};bJe.displayName="MotionTreeNode";var UYt=m.forwardRef(bJe);function BYt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=t.length,o=e.length;if(Math.abs(n-o)!==1)return{add:!1,key:null};function i(r,a){var l=new Map;r.forEach(function(c){l.set(c,!0)});var s=a.filter(function(c){return!l.has(c)});return s.length===1?s[0]:null}return n ").concat(e);return e}var TJe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.data;t.selectable,t.checkable;var i=t.expandedKeys,r=t.selectedKeys,a=t.checkedKeys,l=t.loadedKeys,s=t.loadingKeys,c=t.halfCheckedKeys,u=t.keyEntities,d=t.disabled,f=t.dragging,p=t.dragOverNodeKey,g=t.dropPosition,y=t.motion,A=t.height,x=t.itemHeight,C=t.virtual,b=t.focusable,v=t.activeItem,S=t.focused,w=t.tabIndex,T=t.onKeyDown,P=t.onFocus,R=t.onBlur,H=t.onActiveChange,D=t.onListChangeStart,E=t.onListChangeEnd,L=U$(t,jYt),U=m.useRef(null),F=m.useRef(null);m.useImperativeHandle(e,function(){return{scrollTo:function(Re){U.current.scrollTo(Re)},getIndentWidth:function(){return F.current.offsetWidth}}});var W=m.useState(i),B=Av(W,2),k=B[0],N=B[1],j=m.useState(o),Y=Av(j,2),_=Y[0],J=Y[1],Q=m.useState(o),ee=Av(Q,2),$=ee[0],q=ee[1],le=m.useState([]),ie=Av(le,2),pe=ie[0],ne=ie[1],Z=m.useState(null),he=Av(Z,2),fe=he[0],se=he[1],oe=m.useRef(o);oe.current=o;function de(){var me=oe.current;J(me),q(me),ne([]),se(null),E()}zG(function(){N(i);var me=BYt(k,i);if(me.key!==null)if(me.add){var Re=_.findIndex(function(ye){var Te=ye.key;return Te===me.key}),ze=Ixe(Rxe(_,o,me.key),C,A,x),Ae=_.slice();Ae.splice(Re+1,0,Mxe),q(Ae),ne(ze),se("show")}else{var re=o.findIndex(function(ye){var Te=ye.key;return Te===me.key}),ge=Ixe(Rxe(o,_,me.key),C,A,x),we=o.slice();we.splice(re+1,0,Mxe),q(we),ne(ge),se("hide")}else _!==o&&(J(o),q(o))},[i,o]),m.useEffect(function(){f||de()},[f]);var ve=y?$:o,Pe={expandedKeys:i,selectedKeys:r,loadedKeys:l,loadingKeys:s,checkedKeys:a,halfCheckedKeys:c,dragOverNodeKey:p,dropPosition:g,keyEntities:u};return m.createElement(m.Fragment,null,S&&v&&m.createElement("span",{style:Hxe,"aria-live":"assertive"},OYt(v)),m.createElement("div",null,m.createElement("input",{style:Hxe,disabled:b===!1||d,tabIndex:b!==!1?w:null,onKeyDown:T,onFocus:P,onBlur:R,value:"",onChange:YYt,"aria-label":"for screen reader"})),m.createElement("div",{className:"".concat(n,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},m.createElement("div",{className:"".concat(n,"-indent")},m.createElement("div",{ref:F,className:"".concat(n,"-indent-unit")}))),m.createElement(w$,w9({},L,{data:ve,itemKey:zxe,height:A,fullHeight:!1,virtual:C,itemHeight:x,prefixCls:"".concat(n,"-list"),ref:U,onVisibleChange:function(Re,ze){var Ae=new Set(Re),re=ze.filter(function(ge){return!Ae.has(ge)});re.some(function(ge){return zxe(ge)===Gx})&&de()}}),function(me){var Re=me.pos,ze=Object.assign({},(xJe(me.data),me.data)),Ae=me.title,re=me.key,ge=me.isStart,we=me.isEnd,ye=UW(re,Re);delete ze.key,delete ze.children;var Te=fE(ye,Pe);return m.createElement(UYt,w9({},ze,Te,{title:Ae,active:!!v&&re===v.key,pos:Re,data:me.data,isStart:ge,isEnd:we,motion:y,motionNodes:re===Gx?pe:null,motionType:fe,onMotionStart:D,onMotionEnd:de,treeNodeRequiredProps:Pe,onMouseMove:function(){H(null)}}))}))});TJe.displayName="NodeList";var _Yt=10,_me=function(t){hJe(n,t);var e=pJe(n);function n(){var o;dJe(this,n);for(var i=arguments.length,r=new Array(i),a=0;a2&&arguments[2]!==void 0?arguments[2]:!1,d=o.state,f=d.dragChildrenKeys,p=d.dropPosition,g=d.dropTargetKey,y=d.dropTargetPos,A=d.dropAllowed;if(A){var x=o.props.onDrop;if(o.setState({dragOverNodeKey:null}),o.cleanDragState(),g!==null){var C=Ru(Ru({},fE(g,o.getTreeNodeRequiredProps())),{},{active:((c=o.getActiveItem())===null||c===void 0?void 0:c.key)===g,data:Ep(o.state.keyEntities,g).node}),b=f.indexOf(g)!==-1;g2(!b,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var v=Ome(y),S={event:l,node:eu(C),dragNode:o.dragNode?eu(o.dragNode.props):null,dragNodesKeys:[o.dragNode.props.eventKey].concat(f),dropToGap:p!==0,dropPosition:p+Number(v[v.length-1])};u||x==null||x(S),o.dragNode=null}}}),jo(yi(o),"cleanDragState",function(){var l=o.state.draggingNodeKey;l!==null&&o.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),o.dragStartMousePosition=null,o.currentMouseOverDroppableNodeKey=null}),jo(yi(o),"triggerExpandActionExpand",function(l,s){var c=o.state,u=c.expandedKeys,d=c.flattenNodes,f=s.expanded,p=s.key,g=s.isLeaf;if(!(g||l.shiftKey||l.metaKey||l.ctrlKey)){var y=d.filter(function(x){return x.key===p})[0],A=eu(Ru(Ru({},fE(p,o.getTreeNodeRequiredProps())),{},{data:y.data}));o.setExpandedKeys(f?Y5(u,p):n6(u,p)),o.onNodeExpand(l,A)}}),jo(yi(o),"onNodeClick",function(l,s){var c=o.props,u=c.onClick,d=c.expandAction;d==="click"&&o.triggerExpandActionExpand(l,s),u==null||u(l,s)}),jo(yi(o),"onNodeDoubleClick",function(l,s){var c=o.props,u=c.onDoubleClick,d=c.expandAction;d==="doubleClick"&&o.triggerExpandActionExpand(l,s),u==null||u(l,s)}),jo(yi(o),"onNodeSelect",function(l,s){var c=o.state.selectedKeys,u=o.state,d=u.keyEntities,f=u.fieldNames,p=o.props,g=p.onSelect,y=p.multiple,A=s.selected,x=s[f.key],C=!A;C?y?c=n6(c,x):c=[x]:c=Y5(c,x);var b=c.map(function(v){var S=Ep(d,v);return S?S.node:null}).filter(function(v){return v});o.setUncontrolledState({selectedKeys:c}),g==null||g(c,{event:"select",selected:C,node:s,selectedNodes:b,nativeEvent:l.nativeEvent})}),jo(yi(o),"onNodeCheck",function(l,s,c){var u=o.state,d=u.keyEntities,f=u.checkedKeys,p=u.halfCheckedKeys,g=o.props,y=g.checkStrictly,A=g.onCheck,x=s.key,C,b={event:"check",node:s,checked:c,nativeEvent:l.nativeEvent};if(y){var v=c?n6(f,x):Y5(f,x),S=Y5(p,x);C={checked:v,halfChecked:S},b.checkedNodes=v.map(function(D){return Ep(d,D)}).filter(function(D){return D}).map(function(D){return D.node}),o.setUncontrolledState({checkedKeys:v})}else{var w=AC([].concat(hx(f),[x]),!0,d),T=w.checkedKeys,P=w.halfCheckedKeys;if(!c){var R=new Set(T);R.delete(x);var H=AC(Array.from(R),{checked:!1,halfCheckedKeys:P},d);T=H.checkedKeys,P=H.halfCheckedKeys}C=T,b.checkedNodes=[],b.checkedNodesPositions=[],b.halfCheckedKeys=P,T.forEach(function(D){var E=Ep(d,D);if(E){var L=E.node,U=E.pos;b.checkedNodes.push(L),b.checkedNodesPositions.push({node:L,pos:U})}}),o.setUncontrolledState({checkedKeys:T},!1,{halfCheckedKeys:P})}A==null||A(C,b)}),jo(yi(o),"onNodeLoad",function(l){var s,c=l.key,u=o.state.keyEntities,d=Ep(u,c);if(!(d!=null&&(s=d.children)!==null&&s!==void 0&&s.length)){var f=new Promise(function(p,g){o.setState(function(y){var A=y.loadedKeys,x=A===void 0?[]:A,C=y.loadingKeys,b=C===void 0?[]:C,v=o.props,S=v.loadData,w=v.onLoad;if(!S||x.indexOf(c)!==-1||b.indexOf(c)!==-1)return null;var T=S(l);return T.then(function(){var P=o.state.loadedKeys,R=n6(P,c);w==null||w(R,{event:"load",node:l}),o.setUncontrolledState({loadedKeys:R}),o.setState(function(H){return{loadingKeys:Y5(H.loadingKeys,c)}}),p()}).catch(function(P){if(o.setState(function(H){return{loadingKeys:Y5(H.loadingKeys,c)}}),o.loadingRetryTimes[c]=(o.loadingRetryTimes[c]||0)+1,o.loadingRetryTimes[c]>=_Yt){var R=o.state.loadedKeys;g2(!1,"Retry for `loadData` many times but still failed. No more retry."),o.setUncontrolledState({loadedKeys:n6(R,c)}),p()}g(P)}),{loadingKeys:n6(b,c)}})});return f.catch(function(){}),f}}),jo(yi(o),"onNodeMouseEnter",function(l,s){var c=o.props.onMouseEnter;c==null||c({event:l,node:s})}),jo(yi(o),"onNodeMouseLeave",function(l,s){var c=o.props.onMouseLeave;c==null||c({event:l,node:s})}),jo(yi(o),"onNodeContextMenu",function(l,s){var c=o.props.onRightClick;c&&(l.preventDefault(),c({event:l,node:s}))}),jo(yi(o),"onFocus",function(){var l=o.props.onFocus;o.setState({focused:!0});for(var s=arguments.length,c=new Array(s),u=0;u1&&arguments[1]!==void 0?arguments[1]:!1,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!o.destroyed){var u=!1,d=!0,f={};Object.keys(l).forEach(function(p){if(p in o.props){d=!1;return}u=!0,f[p]=l[p]}),u&&(!s||d)&&o.setState(Ru(Ru({},f),c))}}),jo(yi(o),"scrollTo",function(l){o.listRef.current.scrollTo(l)}),o}return fJe(n,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var i=this.props,r=i.activeKey,a=i.itemScrollOffset,l=a===void 0?0:a;r!==void 0&&r!==this.state.activeKey&&(this.setState({activeKey:r}),r!==null&&this.scrollTo({key:r,offset:l}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var i=this.state,r=i.focused,a=i.flattenNodes,l=i.keyEntities,s=i.draggingNodeKey,c=i.activeKey,u=i.dropLevelOffset,d=i.dropContainerKey,f=i.dropTargetKey,p=i.dropPosition,g=i.dragOverNodeKey,y=i.indent,A=this.props,x=A.prefixCls,C=A.className,b=A.style,v=A.showLine,S=A.focusable,w=A.tabIndex,T=w===void 0?0:w,P=A.selectable,R=A.showIcon,H=A.icon,D=A.switcherIcon,E=A.draggable,L=A.checkable,U=A.checkStrictly,F=A.disabled,W=A.motion,B=A.loadData,k=A.filterTreeNode,N=A.height,j=A.itemHeight,Y=A.virtual,_=A.titleRender,J=A.dropIndicatorRender,Q=A.onContextMenu,ee=A.onScroll,$=A.direction,q=A.rootClassName,le=A.rootStyle,ie=mJe(this.props,{aria:!0,data:!0}),pe;return E&&(q6(E)==="object"?pe=E:typeof E=="function"?pe={nodeDraggable:E}:pe={}),m.createElement(jme.Provider,{value:{prefixCls:x,selectable:P,showIcon:R,icon:H,switcherIcon:D,draggable:pe,draggingNodeKey:s,checkable:L,checkStrictly:U,disabled:F,keyEntities:l,dropLevelOffset:u,dropContainerKey:d,dropTargetKey:f,dropPosition:p,dragOverNodeKey:g,indent:y,direction:$,dropIndicatorRender:J,loadData:B,filterTreeNode:k,titleRender:_,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop}},m.createElement("div",{role:"tree",className:q5(x,C,q,jo(jo(jo({},"".concat(x,"-show-line"),v),"".concat(x,"-focused"),r),"".concat(x,"-active-focused"),c!==null)),style:le},m.createElement(TJe,w9({ref:this.listRef,prefixCls:x,style:b,data:a,disabled:F,selectable:P,checkable:!!L,motion:W,dragging:s!==null,height:N,itemHeight:j,virtual:Y,focusable:S,focused:r,tabIndex:T,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:Q,onScroll:ee},this.getTreeNodeRequiredProps(),ie))))}}],[{key:"getDerivedStateFromProps",value:function(i,r){var a=r.prevProps,l={prevProps:i};function s(w){return!a&&w in i||a&&a[w]!==i[w]}var c,u=r.fieldNames;if(s("fieldNames")&&(u=lR(i.fieldNames),l.fieldNames=u),s("treeData")?c=i.treeData:s("children")&&(g2(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),c=AJe(i.children)),c){l.treeData=c;var d=Yme(c,{fieldNames:u});l.keyEntities=Ru(jo({},Gx,SJe),d.keyEntities)}var f=l.keyEntities||r.keyEntities;if(s("expandedKeys")||a&&s("autoExpandParent"))l.expandedKeys=i.autoExpandParent||!a&&i.defaultExpandParent?K0e(i.expandedKeys,f):i.expandedKeys;else if(!a&&i.defaultExpandAll){var p=Ru({},f);delete p[Gx],l.expandedKeys=Object.keys(p).map(function(w){return p[w].key})}else!a&&i.defaultExpandedKeys&&(l.expandedKeys=i.autoExpandParent||i.defaultExpandParent?K0e(i.defaultExpandedKeys,f):i.defaultExpandedKeys);if(l.expandedKeys||delete l.expandedKeys,c||l.expandedKeys){var g=Vie(c||r.treeData,l.expandedKeys||r.expandedKeys,u);l.flattenNodes=g}if(i.selectable&&(s("selectedKeys")?l.selectedKeys=Txe(i.selectedKeys,i):!a&&i.defaultSelectedKeys&&(l.selectedKeys=Txe(i.defaultSelectedKeys,i))),i.checkable){var y;if(s("checkedKeys")?y=Gie(i.checkedKeys)||{}:!a&&i.defaultCheckedKeys?y=Gie(i.defaultCheckedKeys)||{}:c&&(y=Gie(i.checkedKeys)||{checkedKeys:r.checkedKeys,halfCheckedKeys:r.halfCheckedKeys}),y){var A=y,x=A.checkedKeys,C=x===void 0?[]:x,b=A.halfCheckedKeys,v=b===void 0?[]:b;if(!i.checkStrictly){var S=AC(C,!0,f);C=S.checkedKeys,v=S.halfCheckedKeys}l.checkedKeys=C,l.halfCheckedKeys=v}}return s("loadedKeys")&&(l.loadedKeys=i.loadedKeys),l}}]),n}(m.Component);jo(_me,"defaultProps",{prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:DYt,allowDrop:function(){return!0},expandAction:!1});jo(_me,"TreeNode",sR);var VYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file",theme:"outlined"},GYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:VYt}))},PJe=m.forwardRef(GYt),XYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}}]},name:"folder-open",theme:"outlined"},JYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:XYt}))},CJe=m.forwardRef(JYt),KYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"},qYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:KYt}))},$Yt=m.forwardRef(qYt),QYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z"}}]},name:"holder",theme:"outlined"},ZYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:QYt}))},eOt=m.forwardRef(ZYt);const tOt=new ul("ant-tree-node-fx-do-not-use",{"0%":{opacity:0},"100%":{opacity:1}}),nOt=(t,e)=>({[`.${t}-switcher-icon`]:{display:"inline-block",fontSize:10,verticalAlign:"baseline",svg:{transition:`transform ${e.motionDurationSlow}`}}}),oOt=(t,e)=>({[`.${t}-drop-indicator`]:{position:"absolute",zIndex:1,height:2,backgroundColor:e.colorPrimary,borderRadius:1,pointerEvents:"none","&:after":{position:"absolute",top:-3,insetInlineStart:-6,width:8,height:8,backgroundColor:"transparent",border:`${Ut(e.lineWidthBold)} solid ${e.colorPrimary}`,borderRadius:"50%",content:'""'}}}),iOt=(t,e)=>{const{treeCls:n,treeNodeCls:o,treeNodePadding:i,titleHeight:r,nodeSelectedBg:a,nodeHoverBg:l}=e,s=e.paddingXS;return{[n]:Object.assign(Object.assign({},$a(e)),{background:e.colorBgContainer,borderRadius:e.borderRadius,transition:`background-color ${e.motionDurationSlow}`,[`&${n}-rtl`]:{[`${n}-switcher`]:{"&_close":{[`${n}-switcher-icon`]:{svg:{transform:"rotate(90deg)"}}}}},[`&-focused:not(:hover):not(${n}-active-focused)`]:Object.assign({},n7(e)),[`${n}-list-holder-inner`]:{alignItems:"flex-start"},[`&${n}-block-node`]:{[`${n}-list-holder-inner`]:{alignItems:"stretch",[`${n}-node-content-wrapper`]:{flex:"auto"},[`${o}.dragging`]:{position:"relative","&:after":{position:"absolute",top:0,insetInlineEnd:0,bottom:i,insetInlineStart:0,border:`1px solid ${e.colorPrimary}`,opacity:0,animationName:tOt,animationDuration:e.motionDurationSlow,animationPlayState:"running",animationFillMode:"forwards",content:'""',pointerEvents:"none"}}}},[`${o}`]:{display:"flex",alignItems:"flex-start",padding:`0 0 ${Ut(i)} 0`,outline:"none","&-rtl":{direction:"rtl"},"&-disabled":{[`${n}-node-content-wrapper`]:{color:e.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"}}},[`&-active ${n}-node-content-wrapper`]:{background:e.controlItemBgHover},[`&:not(${o}-disabled).filter-node ${n}-title`]:{color:"inherit",fontWeight:500},"&-draggable":{cursor:"grab",[`${n}-draggable-icon`]:{flexShrink:0,width:r,lineHeight:`${Ut(r)}`,textAlign:"center",visibility:"visible",opacity:.2,transition:`opacity ${e.motionDurationSlow}`,[`${o}:hover &`]:{opacity:.45}},[`&${o}-disabled`]:{[`${n}-draggable-icon`]:{visibility:"hidden"}}}},[`${n}-indent`]:{alignSelf:"stretch",whiteSpace:"nowrap",userSelect:"none","&-unit":{display:"inline-block",width:r}},[`${n}-draggable-icon`]:{visibility:"hidden"},[`${n}-switcher`]:Object.assign(Object.assign({},nOt(t,e)),{position:"relative",flex:"none",alignSelf:"stretch",width:r,margin:0,lineHeight:`${Ut(r)}`,textAlign:"center",cursor:"pointer",userSelect:"none",transition:`all ${e.motionDurationSlow}`,borderRadius:e.borderRadius,"&-noop":{cursor:"unset"},[`&:not(${n}-switcher-noop):hover`]:{backgroundColor:e.colorBgTextHover},"&_close":{[`${n}-switcher-icon`]:{svg:{transform:"rotate(-90deg)"}}},"&-loading-icon":{color:e.colorPrimary},"&-leaf-line":{position:"relative",zIndex:1,display:"inline-block",width:"100%",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:e.calc(r).div(2).equal(),bottom:e.calc(i).mul(-1).equal(),marginInlineStart:-1,borderInlineEnd:`1px solid ${e.colorBorder}`,content:'""'},"&:after":{position:"absolute",width:e.calc(e.calc(r).div(2).equal()).mul(.8).equal(),height:e.calc(r).div(2).equal(),borderBottom:`1px solid ${e.colorBorder}`,content:'""'}}}),[`${n}-checkbox`]:{top:"initial",marginInlineEnd:s,alignSelf:"flex-start",marginTop:e.marginXXS},[`${n}-node-content-wrapper, ${n}-checkbox + span`]:{position:"relative",zIndex:"auto",minHeight:r,margin:0,padding:`0 ${Ut(e.calc(e.paddingXS).div(2).equal())}`,color:"inherit",lineHeight:`${Ut(r)}`,background:"transparent",borderRadius:e.borderRadius,cursor:"pointer",transition:`all ${e.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,"&:hover":{backgroundColor:l},[`&${n}-node-selected`]:{backgroundColor:a},[`${n}-iconEle`]:{display:"inline-block",width:r,height:r,lineHeight:`${Ut(r)}`,textAlign:"center",verticalAlign:"top","&:empty":{display:"none"}}},[`${n}-unselectable ${n}-node-content-wrapper:hover`]:{backgroundColor:"transparent"},[`${n}-node-content-wrapper`]:Object.assign({lineHeight:`${Ut(r)}`,userSelect:"none"},oOt(t,e)),[`${o}.drop-container`]:{"> [draggable]":{boxShadow:`0 0 0 2px ${e.colorPrimary}`}},"&-show-line":{[`${n}-indent`]:{"&-unit":{position:"relative",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:e.calc(r).div(2).equal(),bottom:e.calc(i).mul(-1).equal(),borderInlineEnd:`1px solid ${e.colorBorder}`,content:'""'},"&-end":{"&:before":{display:"none"}}}},[`${n}-switcher`]:{background:"transparent","&-line-icon":{verticalAlign:"-0.15em"}}},[`${o}-leaf-last`]:{[`${n}-switcher`]:{"&-leaf-line":{"&:before":{top:"auto !important",bottom:"auto !important",height:`${Ut(e.calc(r).div(2).equal())} !important`}}}}})}},rOt=t=>{const{treeCls:e,treeNodeCls:n,treeNodePadding:o,directoryNodeSelectedBg:i,directoryNodeSelectedColor:r}=t;return{[`${e}${e}-directory`]:{[n]:{position:"relative","&:before":{position:"absolute",top:0,insetInlineEnd:0,bottom:o,insetInlineStart:0,transition:`background-color ${t.motionDurationMid}`,content:'""',pointerEvents:"none"},"&:hover":{"&:before":{background:t.controlItemBgHover}},"> *":{zIndex:1},[`${e}-switcher`]:{transition:`color ${t.motionDurationMid}`},[`${e}-node-content-wrapper`]:{borderRadius:0,userSelect:"none","&:hover":{background:"transparent"},[`&${e}-node-selected`]:{color:r,background:"transparent"}},"&-selected":{"\n &:hover::before,\n &::before\n ":{background:i},[`${e}-switcher`]:{color:r},[`${e}-node-content-wrapper`]:{color:r,background:"transparent"}}}}}},aOt=(t,e)=>{const n=`.${t}`,o=`${n}-treenode`,i=e.calc(e.paddingXS).div(2).equal(),r=Zr(e,{treeCls:n,treeNodeCls:o,treeNodePadding:i});return[iOt(t,r),rOt(r)]},lOt=t=>{const{controlHeightSM:e}=t;return{titleHeight:e,nodeHoverBg:t.controlItemBgHover,nodeSelectedBg:t.controlItemBgActive}},sOt=t=>{const{colorTextLightSolid:e,colorPrimary:n}=t;return Object.assign(Object.assign({},lOt(t)),{directoryNodeSelectedColor:e,directoryNodeSelectedBg:n})},cOt=Fl("Tree",(t,e)=>{let{prefixCls:n}=e;return[{[t.componentCls]:rXe(`${n}-checkbox`,t)},aOt(n,t),$ge(t)]},sOt),Dxe=4;function uOt(t){const{dropPosition:e,dropLevelOffset:n,prefixCls:o,indent:i,direction:r="ltr"}=t,a=r==="ltr"?"left":"right",l=r==="ltr"?"right":"left",s={[a]:-n*i+Dxe,[l]:0};switch(e){case-1:s.top=-3;break;case 1:s.bottom=-3;break;default:s.bottom=-3,s[a]=i+Dxe;break}return Se.createElement("div",{style:s,className:`${o}-drop-indicator`})}var dOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"filled"},fOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:dOt}))},hOt=m.forwardRef(fOt),pOt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"},gOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:pOt}))},mOt=m.forwardRef(gOt),yOt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"},AOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yOt}))},wOt=m.forwardRef(AOt);const vOt=t=>{const{prefixCls:e,switcherIcon:n,treeNodeProps:o,showLine:i}=t,{isLeaf:r,expanded:a,loading:l}=o;if(l)return m.createElement(HH,{className:`${e}-switcher-loading-icon`});let s;if(i&&typeof i=="object"&&(s=i.showLeafIcon),r){if(!i)return null;if(typeof s!="boolean"&&s){const d=typeof s=="function"?s(o):s,f=`${e}-switcher-line-custom-icon`;return m.isValidElement(d)?Ou(d,{className:Gn(d.props.className||"",f)}):d}return s?m.createElement(PJe,{className:`${e}-switcher-line-icon`}):m.createElement("span",{className:`${e}-switcher-leaf-line`})}const c=`${e}-switcher-icon`,u=typeof n=="function"?n(o):n;return m.isValidElement(u)?Ou(u,{className:Gn(u.props.className||"",c)}):u!==void 0?u:i?a?m.createElement(mOt,{className:`${e}-switcher-line-icon`}):m.createElement(wOt,{className:`${e}-switcher-line-icon`}):m.createElement(hOt,{className:c})},RJe=Se.forwardRef((t,e)=>{var n;const{getPrefixCls:o,direction:i,virtual:r,tree:a}=Se.useContext(Mi),{prefixCls:l,className:s,showIcon:c=!1,showLine:u,switcherIcon:d,blockNode:f=!1,children:p,checkable:g=!1,selectable:y=!0,draggable:A,motion:x,style:C}=t,b=o("tree",l),v=o(),S=x??Object.assign(Object.assign({},Vge(v)),{motionAppear:!1}),w=Object.assign(Object.assign({},t),{checkable:g,selectable:y,showIcon:c,motion:S,blockNode:f,showLine:!!u,dropIndicatorRender:uOt}),[T,P,R]=cOt(b),[,H]=Yu(),D=H.paddingXS/2+(((n=H.Tree)===null||n===void 0?void 0:n.titleHeight)||H.controlHeightSM),E=Se.useMemo(()=>{if(!A)return!1;let U={};switch(typeof A){case"function":U.nodeDraggable=A;break;case"object":U=Object.assign({},A);break}return U.icon!==!1&&(U.icon=U.icon||Se.createElement(eOt,null)),U},[A]),L=U=>Se.createElement(vOt,{prefixCls:b,switcherIcon:d,treeNodeProps:U,showLine:u});return T(Se.createElement(_me,Object.assign({itemHeight:D,ref:e,virtual:r},w,{style:Object.assign(Object.assign({},a==null?void 0:a.style),C),prefixCls:b,className:Gn({[`${b}-icon-hide`]:!c,[`${b}-block-node`]:f,[`${b}-unselectable`]:!y,[`${b}-rtl`]:i==="rtl"},a==null?void 0:a.className,s,P,R),direction:i,checkable:g&&Se.createElement("span",{className:`${b}-checkbox-inner`}),selectable:y,switcherIcon:L,draggable:E}),p))}),Exe=0,Xie=1,kxe=2;function Vme(t,e,n){const{key:o,children:i}=n;function r(a){const l=a[o],s=a[i];e(l,a)!==!1&&Vme(s||[],e,n)}t.forEach(r)}function xOt(t){let{treeData:e,expandedKeys:n,startKey:o,endKey:i,fieldNames:r}=t;const a=[];let l=Exe;if(o&&o===i)return[o];if(!o||!i)return[];function s(c){return c===o||c===i}return Vme(e,c=>{if(l===kxe)return!1;if(s(c)){if(a.push(c),l===Exe)l=Xie;else if(l===Xie)return l=kxe,!1}else l===Xie&&a.push(c);return n.includes(c)},lR(r)),a}function Jie(t,e,n){const o=Xa(e),i=[];return Vme(t,(r,a)=>{const l=o.indexOf(r);return l!==-1&&(i.push(a),o.splice(l,1)),!!o.length},lR(n)),i}var Fxe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{defaultExpandAll:n,defaultExpandParent:o,defaultExpandedKeys:i}=t,r=Fxe(t,["defaultExpandAll","defaultExpandParent","defaultExpandedKeys"]);const a=m.useRef(),l=m.useRef(),s=()=>{const{keyEntities:P}=Yme(Lxe(r));let R;return n?R=Object.keys(P):o?R=K0e(r.expandedKeys||i||[],P):R=r.expandedKeys||i||[],R},[c,u]=m.useState(r.selectedKeys||r.defaultSelectedKeys||[]),[d,f]=m.useState(()=>s());m.useEffect(()=>{"selectedKeys"in r&&u(r.selectedKeys)},[r.selectedKeys]),m.useEffect(()=>{"expandedKeys"in r&&f(r.expandedKeys)},[r.expandedKeys]);const p=(P,R)=>{var H;return"expandedKeys"in r||f(P),(H=r.onExpand)===null||H===void 0?void 0:H.call(r,P,R)},g=(P,R)=>{var H;const{multiple:D,fieldNames:E}=r,{node:L,nativeEvent:U}=R,{key:F=""}=L,W=Lxe(r),B=Object.assign(Object.assign({},R),{selected:!0}),k=(U==null?void 0:U.ctrlKey)||(U==null?void 0:U.metaKey),N=U==null?void 0:U.shiftKey;let j;D&&k?(j=P,a.current=F,l.current=j,B.selectedNodes=Jie(W,j,E)):D&&N?(j=Array.from(new Set([].concat(Xa(l.current||[]),Xa(xOt({treeData:W,expandedKeys:d,startKey:F,endKey:a.current,fieldNames:E}))))),B.selectedNodes=Jie(W,j,E)):(j=[F],a.current=F,l.current=j,B.selectedNodes=Jie(W,j,E)),(H=r.onSelect)===null||H===void 0||H.call(r,j,B),"selectedKeys"in r||u(j)},{getPrefixCls:y,direction:A}=m.useContext(Mi),{prefixCls:x,className:C,showIcon:b=!0,expandAction:v="click"}=r,S=Fxe(r,["prefixCls","className","showIcon","expandAction"]),w=y("tree",x),T=Gn(`${w}-directory`,{[`${w}-directory-rtl`]:A==="rtl"},C);return m.createElement(RJe,Object.assign({icon:bOt,ref:e,blockNode:!0},S,{showIcon:b,expandAction:v,prefixCls:w,className:T,expandedKeys:d,selectedKeys:c,onSelect:g,onExpand:p}))},TOt=m.forwardRef(SOt),Gme=RJe;Gme.DirectoryTree=TOt;Gme.TreeNode=sR;function Wxe(t){let{value:e,onChange:n,filterSearch:o,tablePrefixCls:i,locale:r}=t;return o?m.createElement("div",{className:`${i}-filter-dropdown-search`},m.createElement(ns,{prefix:m.createElement(ime,null),placeholder:r.filterSearchPlaceholder,onChange:n,value:e,htmlSize:1,className:`${i}-filter-dropdown-search-input`})):null}const POt=t=>{const{keyCode:e}=t;e===hr.ENTER&&t.stopPropagation()},COt=m.forwardRef((t,e)=>m.createElement("div",{className:t.className,onClick:n=>n.stopPropagation(),onKeyDown:POt,ref:e},t.children));function wC(t){let e=[];return(t||[]).forEach(n=>{let{value:o,children:i}=n;e.push(o),i&&(e=[].concat(Xa(e),Xa(wC(i))))}),e}function ROt(t){return t.some(e=>{let{children:n}=e;return n})}function HJe(t,e){return typeof e=="string"||typeof e=="number"?e==null?void 0:e.toString().toLowerCase().includes(t.trim().toLowerCase()):!1}function MJe(t){let{filters:e,prefixCls:n,filteredKeys:o,filterMultiple:i,searchValue:r,filterSearch:a}=t;return e.map((l,s)=>{const c=String(l.value);if(l.children)return{key:c||s,label:l.text,popupClassName:`${n}-dropdown-submenu`,children:MJe({filters:l.children,prefixCls:n,filteredKeys:o,filterMultiple:i,searchValue:r,filterSearch:a})};const u=i?Wr:Be,d={key:l.value!==void 0?c:s,label:m.createElement(m.Fragment,null,m.createElement(u,{checked:o.includes(c)}),m.createElement("span",null,l.text))};return r.trim()?typeof a=="function"?a(r,l)?d:null:HJe(r,l.text)?d:null:d})}function Kie(t){return t||[]}function HOt(t){var e,n;const{tablePrefixCls:o,prefixCls:i,column:r,dropdownPrefixCls:a,columnKey:l,filterOnClose:s,filterMultiple:c,filterMode:u="menu",filterSearch:d=!1,filterState:f,triggerFilter:p,locale:g,children:y,getPopupContainer:A,rootClassName:x}=t,{filterDropdownOpen:C,onFilterDropdownOpenChange:b,filterResetToDefaultFilteredValue:v,defaultFilteredValue:S,filterDropdownVisible:w,onFilterDropdownVisibleChange:T}=r,[P,R]=m.useState(!1),H=!!(f&&(!((e=f.filteredKeys)===null||e===void 0)&&e.length||f.forceFiltered)),D=de=>{R(de),b==null||b(de),T==null||T(de)},E=(n=C??w)!==null&&n!==void 0?n:P,L=f==null?void 0:f.filteredKeys,[U,F]=zYt(Kie(L)),W=de=>{let{selectedKeys:ve}=de;F(ve)},B=(de,ve)=>{let{node:Pe,checked:me}=ve;W(c?{selectedKeys:de}:{selectedKeys:me&&Pe.key?[Pe.key]:[]})};m.useEffect(()=>{P&&W({selectedKeys:Kie(L)})},[L]);const[k,N]=m.useState([]),j=de=>{N(de)},[Y,_]=m.useState(""),J=de=>{const{value:ve}=de.target;_(ve)};m.useEffect(()=>{P||_("")},[P]);const Q=de=>{const ve=de&&de.length?de:null;if(ve===null&&(!f||!f.filteredKeys)||jce(ve,f==null?void 0:f.filteredKeys,!0))return null;p({column:r,key:l,filteredKeys:ve})},ee=()=>{D(!1),Q(U())},$=function(){let{confirm:de,closeDropdown:ve}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{confirm:!1,closeDropdown:!1};de&&Q([]),ve&&D(!1),_(""),F(v?(S||[]).map(Pe=>String(Pe)):[])},q=function(){let{closeDropdown:de}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{closeDropdown:!0};de&&D(!1),Q(U())},le=(de,ve)=>{ve.source==="trigger"&&(de&&L!==void 0&&F(Kie(L)),D(de),!de&&!r.filterDropdown&&s&&ee())},ie=Gn({[`${a}-menu-without-submenu`]:!ROt(r.filters||[])}),pe=de=>{if(de.target.checked){const ve=wC(r==null?void 0:r.filters).map(Pe=>String(Pe));F(ve)}else F([])},ne=de=>{let{filters:ve}=de;return(ve||[]).map((Pe,me)=>{const Re=String(Pe.value),ze={title:Pe.text,key:Pe.value!==void 0?Re:String(me)};return Pe.children&&(ze.children=ne({filters:Pe.children})),ze})},Z=de=>{var ve;return Object.assign(Object.assign({},de),{text:de.title,value:de.key,children:((ve=de.children)===null||ve===void 0?void 0:ve.map(Pe=>Z(Pe)))||[]})};let he;if(typeof r.filterDropdown=="function")he=r.filterDropdown({prefixCls:`${a}-custom`,setSelectedKeys:de=>W({selectedKeys:de}),selectedKeys:U(),confirm:q,clearFilters:$,filters:r.filters,visible:E,close:()=>{D(!1)}});else if(r.filterDropdown)he=r.filterDropdown;else{const de=U()||[],ve=()=>{const me=m.createElement(rg,{image:rg.PRESENTED_IMAGE_SIMPLE,description:g.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}});if((r.filters||[]).length===0)return me;if(u==="tree")return m.createElement(m.Fragment,null,m.createElement(Wxe,{filterSearch:d,value:Y,onChange:J,tablePrefixCls:o,locale:g}),m.createElement("div",{className:`${o}-filter-dropdown-tree`},c?m.createElement(Wr,{checked:de.length===wC(r.filters).length,indeterminate:de.length>0&&de.lengthtypeof d=="function"?d(Y,Z(Ae)):HJe(Y,Ae.title):void 0})));const Re=MJe({filters:r.filters||[],filterSearch:d,prefixCls:i,filteredKeys:U(),filterMultiple:c,searchValue:Y}),ze=Re.every(Ae=>Ae===null);return m.createElement(m.Fragment,null,m.createElement(Wxe,{filterSearch:d,value:Y,onChange:J,tablePrefixCls:o,locale:g}),ze?me:m.createElement(EH,{selectable:!0,multiple:c,prefixCls:`${a}-menu`,className:ie,onSelect:W,onDeselect:W,selectedKeys:de,getPopupContainer:A,openKeys:k,onOpenChange:j,items:Re}))},Pe=()=>v?jce((S||[]).map(me=>String(me)),de,!0):de.length===0;he=m.createElement(m.Fragment,null,ve(),m.createElement("div",{className:`${i}-dropdown-btns`},m.createElement(no,{type:"link",size:"small",disabled:Pe(),onClick:()=>$()},g.filterReset),m.createElement(no,{type:"primary",size:"small",onClick:ee},g.filterConfirm)))}r.filterDropdown&&(he=m.createElement(aGe,{selectable:void 0},he));const fe=()=>m.createElement(COt,{className:`${i}-dropdown`},he);let se;typeof r.filterIcon=="function"?se=r.filterIcon(H):r.filterIcon?se=r.filterIcon:se=m.createElement(IYt,null);const{direction:oe}=m.useContext(Mi);return m.createElement("div",{className:`${i}-column`},m.createElement("span",{className:`${o}-column-title`},y),m.createElement(W7,{dropdownRender:fe,trigger:["click"],open:E,onOpenChange:le,getPopupContainer:A,placement:oe==="rtl"?"bottomLeft":"bottomRight",rootClassName:x},m.createElement("span",{role:"button",tabIndex:-1,className:Gn(`${i}-trigger`,{active:H}),onClick:de=>{de.stopPropagation()}},se)))}function eue(t,e,n){let o=[];return(t||[]).forEach((i,r)=>{var a;const l=BW(r,n);if(i.filters||"filterDropdown"in i||"onFilter"in i)if("filteredValue"in i){let s=i.filteredValue;"filterDropdown"in i||(s=(a=s==null?void 0:s.map(String))!==null&&a!==void 0?a:s),o.push({column:i,key:Vx(i,l),filteredKeys:s,forceFiltered:i.filtered})}else o.push({column:i,key:Vx(i,l),filteredKeys:e&&i.defaultFilteredValue?i.defaultFilteredValue:void 0,forceFiltered:i.filtered});"children"in i&&(o=[].concat(Xa(o),Xa(eue(i.children,e,l))))}),o}function IJe(t,e,n,o,i,r,a,l,s){return n.map((c,u)=>{const d=BW(u,l),{filterOnClose:f=!0,filterMultiple:p=!0,filterMode:g,filterSearch:y}=c;let A=c;if(A.filters||A.filterDropdown){const x=Vx(A,d),C=o.find(b=>{let{key:v}=b;return x===v});A=Object.assign(Object.assign({},A),{title:b=>m.createElement(HOt,{tablePrefixCls:t,prefixCls:`${t}-filter`,dropdownPrefixCls:e,column:A,columnKey:x,filterState:C,filterOnClose:f,filterMultiple:p,filterMode:g,filterSearch:y,triggerFilter:r,locale:i,getPopupContainer:a,rootClassName:s},B$(c.title,b))})}return"children"in A&&(A=Object.assign(Object.assign({},A),{children:IJe(t,e,A.children,o,i,r,a,d,s)})),A})}function Nxe(t){const e={};return t.forEach(n=>{let{key:o,filteredKeys:i,column:r}=n;const a=o,{filters:l,filterDropdown:s}=r;if(s)e[a]=i||null;else if(Array.isArray(i)){const c=wC(l);e[a]=c.filter(u=>i.includes(String(u)))}else e[a]=null}),e}function tue(t,e,n){return e.reduce((o,i)=>{const{column:{onFilter:r,filters:a},filteredKeys:l}=i;return r&&l&&l.length?o.map(s=>Object.assign({},s)).filter(s=>l.some(c=>{const u=wC(a),d=u.findIndex(p=>String(p)===String(c)),f=d!==-1?u[d]:c;return s[n]&&(s[n]=tue(s[n],e,n)),r(f,s)})):o},t)}const zJe=t=>t.flatMap(e=>"children"in e?[e].concat(Xa(zJe(e.children||[]))):[e]);function MOt(t){let{prefixCls:e,dropdownPrefixCls:n,mergedColumns:o,onFilterChange:i,getPopupContainer:r,locale:a,rootClassName:l}=t;Hb();const s=m.useMemo(()=>zJe(o||[]),[o]),[c,u]=m.useState(()=>eue(s,!0)),d=m.useMemo(()=>{const y=eue(s,!1);if(y.length===0)return y;let A=!0;if(y.forEach(x=>{let{filteredKeys:C}=x;C!==void 0&&(A=!1)}),A){const x=(s||[]).map((C,b)=>Vx(C,BW(b)));return c.filter(C=>{let{key:b}=C;return x.includes(b)}).map(C=>{const b=s[x.findIndex(v=>v===C.key)];return Object.assign(Object.assign({},C),{column:Object.assign(Object.assign({},C.column),b),forceFiltered:b.filtered})})}return y},[s,c]),f=m.useMemo(()=>Nxe(d),[d]),p=y=>{const A=d.filter(x=>{let{key:C}=x;return C!==y.key});A.push(y),u(A),i(Nxe(A),A)};return[y=>IJe(e,n,y,d,a,p,r,void 0,l),d,f]}function IOt(t,e,n){const o=m.useRef({});function i(r){if(!o.current||o.current.data!==t||o.current.childrenColumnName!==e||o.current.getRowKey!==n){let s=function(c){c.forEach((u,d)=>{const f=n(u,d);l.set(f,u),u&&typeof u=="object"&&e in u&&s(u[e]||[])})};var a=s;const l=new Map;s(t),o.current={data:t,childrenColumnName:e,kvMap:l,getRowKey:n}}return o.current.kvMap.get(r)}return[i]}var zOt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const r=t[i];typeof r!="function"&&(n[i]=r)}),n}function EOt(t,e,n){const o=n&&typeof n=="object"?n:{},{total:i=0}=o,r=zOt(o,["total"]),[a,l]=m.useState(()=>({current:"defaultCurrent"in r?r.defaultCurrent:1,pageSize:"defaultPageSize"in r?r.defaultPageSize:DJe})),s=kXe(a,r,{total:i>0?i:t}),c=Math.ceil((i||t)/s.pageSize);s.current>c&&(s.current=c||1);const u=(f,p)=>{l({current:f??1,pageSize:p||s.pageSize})},d=(f,p)=>{var g;n&&((g=n.onChange)===null||g===void 0||g.call(n,f,p)),u(f,p),e(f,p||(s==null?void 0:s.pageSize))};return n===!1?[{},()=>{}]:[Object.assign(Object.assign({},s),{onChange:d}),u]}var kOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"outlined"},FOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:kOt}))},EJe=m.forwardRef(FOt),LOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z"}}]},name:"caret-up",theme:"outlined"},WOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:LOt}))},NOt=m.forwardRef(WOt);const N_="ascend",qie="descend";function DG(t){return typeof t.sorter=="object"&&typeof t.sorter.multiple=="number"?t.sorter.multiple:!1}function Uxe(t){return typeof t=="function"?t:t&&typeof t=="object"&&t.compare?t.compare:!1}function UOt(t,e){return e?t[t.indexOf(e)+1]:t[0]}function nue(t,e,n){let o=[];function i(r,a){o.push({column:r,key:Vx(r,a),multiplePriority:DG(r),sortOrder:r.sortOrder})}return(t||[]).forEach((r,a)=>{const l=BW(a,n);r.children?("sortOrder"in r&&i(r,l),o=[].concat(Xa(o),Xa(nue(r.children,e,l)))):r.sorter&&("sortOrder"in r?i(r,l):e&&r.defaultSortOrder&&o.push({column:r,key:Vx(r,l),multiplePriority:DG(r),sortOrder:r.defaultSortOrder}))}),o}function kJe(t,e,n,o,i,r,a,l){return(e||[]).map((s,c)=>{const u=BW(c,l);let d=s;if(d.sorter){const f=d.sortDirections||i,p=d.showSorterTooltip===void 0?a:d.showSorterTooltip,g=Vx(d,u),y=n.find(P=>{let{key:R}=P;return R===g}),A=y?y.sortOrder:null,x=UOt(f,A);let C;if(s.sortIcon)C=s.sortIcon({sortOrder:A});else{const P=f.includes(N_)&&m.createElement(NOt,{className:Gn(`${t}-column-sorter-up`,{active:A===N_})}),R=f.includes(qie)&&m.createElement(EJe,{className:Gn(`${t}-column-sorter-down`,{active:A===qie})});C=m.createElement("span",{className:Gn(`${t}-column-sorter`,{[`${t}-column-sorter-full`]:!!(P&&R)})},m.createElement("span",{className:`${t}-column-sorter-inner`,"aria-hidden":"true"},P,R))}const{cancelSort:b,triggerAsc:v,triggerDesc:S}=r||{};let w=b;x===qie?w=S:x===N_&&(w=v);const T=typeof p=="object"?Object.assign({title:w},p):{title:w};d=Object.assign(Object.assign({},d),{className:Gn(d.className,{[`${t}-column-sort`]:A}),title:P=>{const R=`${t}-column-sorters`,H=m.createElement("span",{className:`${t}-column-title`},B$(s.title,P)),D=m.createElement("div",{className:R},H,C);return p?typeof p!="boolean"&&(p==null?void 0:p.target)==="sorter-icon"?m.createElement("div",{className:`${R} ${t}-column-sorters-tooltip-target-sorter`},H,m.createElement(J6,Object.assign({},T),C)):m.createElement(J6,Object.assign({},T),D):D},onHeaderCell:P=>{const R=s.onHeaderCell&&s.onHeaderCell(P)||{},H=R.onClick,D=R.onKeyDown;R.onClick=U=>{o({column:s,key:g,sortOrder:x,multiplePriority:DG(s)}),H==null||H(U)},R.onKeyDown=U=>{U.keyCode===hr.ENTER&&(o({column:s,key:g,sortOrder:x,multiplePriority:DG(s)}),D==null||D(U))};const E=RYt(s.title,{}),L=E==null?void 0:E.toString();return A?R["aria-sort"]=A==="ascend"?"ascending":"descending":R["aria-label"]=L||"",R.className=Gn(R.className,`${t}-column-has-sorters`),R.tabIndex=0,s.ellipsis&&(R.title=(E??"").toString()),R}})}return"children"in d&&(d=Object.assign(Object.assign({},d),{children:kJe(t,d.children,n,o,i,r,a,u)})),d})}const Bxe=t=>{const{column:e,sortOrder:n}=t;return{column:e,order:n,field:e.dataIndex,columnKey:e.key}},jxe=t=>{const e=t.filter(n=>{let{sortOrder:o}=n;return o}).map(Bxe);if(e.length===0&&t.length){const n=t.length-1;return Object.assign(Object.assign({},Bxe(t[n])),{column:void 0})}return e.length<=1?e[0]||{}:e};function oue(t,e,n){const o=e.slice().sort((a,l)=>l.multiplePriority-a.multiplePriority),i=t.slice(),r=o.filter(a=>{let{column:{sorter:l},sortOrder:s}=a;return Uxe(l)&&s});return r.length?i.sort((a,l)=>{for(let s=0;s{const l=a[n];return l?Object.assign(Object.assign({},a),{[n]:oue(l,e,n)}):a}):i}function BOt(t){let{prefixCls:e,mergedColumns:n,onSorterChange:o,sortDirections:i,tableLocale:r,showSorterTooltip:a}=t;const[l,s]=m.useState(nue(n,!0)),c=m.useMemo(()=>{let g=!0;const y=nue(n,!1);if(!y.length)return l;const A=[];function x(b){g?A.push(b):A.push(Object.assign(Object.assign({},b),{sortOrder:null}))}let C=null;return y.forEach(b=>{C===null?(x(b),b.sortOrder&&(b.multiplePriority===!1?g=!1:C=!0)):(C&&b.multiplePriority!==!1||(g=!1),x(b))}),A},[n,l]),u=m.useMemo(()=>{const g=c.map(y=>{let{column:A,sortOrder:x}=y;return{column:A,order:x}});return{sortColumns:g,sortColumn:g[0]&&g[0].column,sortOrder:g[0]&&g[0].order}},[c]),d=g=>{let y;g.multiplePriority===!1||!c.length||c[0].multiplePriority===!1?y=[g]:y=[].concat(Xa(c.filter(A=>{let{key:x}=A;return x!==g.key})),[g]),s(y),o(jxe(y),y)};return[g=>kJe(e,g,c,d,i,r,a),c,u,()=>jxe(c)]}function FJe(t,e){return t.map(n=>{const o=Object.assign({},n);return o.title=B$(n.title,e),"children"in o&&(o.children=FJe(o.children,e)),o})}function jOt(t){return[m.useCallback(n=>FJe(n,t),[t])]}const YOt=rJe((t,e)=>{const{_renderTimes:n}=t,{_renderTimes:o}=e;return n!==o}),OOt=lJe((t,e)=>{const{_renderTimes:n}=t,{_renderTimes:o}=e;return n!==o}),_Ot=t=>{const{componentCls:e,lineWidth:n,lineType:o,tableBorderColor:i,tableHeaderBg:r,tablePaddingVertical:a,tablePaddingHorizontal:l,calc:s}=t,c=`${Ut(n)} ${o} ${i}`,u=(d,f,p)=>({[`&${e}-${d}`]:{[`> ${e}-container`]:{[`> ${e}-content, > ${e}-body`]:{"\n > table > tbody > tr > th,\n > table > tbody > tr > td\n ":{[`> ${e}-expanded-row-fixed`]:{margin:`${Ut(s(f).mul(-1).equal())} + onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,tYt="".concat(Zjt," ").concat(eYt).split(/[\s\n]+/),nYt="aria-",oYt="data-";function vxe(t,e){return t.indexOf(e)===0}function mJe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=Ru({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||vxe(i,nYt))||n.data&&vxe(i,oYt)||n.attr&&tYt.includes(i))&&(o[i]=t[i])}),o}var jme=m.createContext(null),iYt=function(e){for(var n=e.prefixCls,o=e.level,i=e.isStart,r=e.isEnd,a="".concat(n,"-indent-unit"),l=[],s=0;s1&&arguments[1]!==void 0?arguments[1]:{},n=[];return Se.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(J0e(o)):gC.isFragment(o)&&o.props?n=n.concat(J0e(o.props.children,e)):n.push(o))}),n}function aYt(t,e){var n=Ru({},t);return Array.isArray(e)&&e.forEach(function(o){delete n[o]}),n}var lYt=["children"];function yJe(t,e){return"".concat(t,"-").concat(e)}function sYt(t){return t&&t.type&&t.type.isTreeNode}function UW(t,e){return t??e}function lR(t){var e=t||{},n=e.title,o=e._title,i=e.key,r=e.children,a=n||"title";return{title:a,_title:o||[a],key:i||"key",children:r||"children"}}function AJe(t){function e(n){var o=J0e(n);return o.map(function(i){if(!sYt(i))return g2(!i,"Tree/TreeNode can only accept TreeNode as children."),null;var r=i.key,a=i.props,l=a.children,s=U$(a,lYt),c=Ru({key:r},s),u=e(l);return u.length&&(c.children=u),c}).filter(function(i){return i})}return e(t)}function Vie(t,e,n){var o=lR(n),i=o._title,r=o.key,a=o.children,l=new Set(e===!0?[]:e),s=[];function c(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return u.map(function(f,p){for(var g=yJe(d?d.pos:"0",p),y=UW(f[r],g),A,x=0;x1&&arguments[1]!==void 0?arguments[1]:{},n=e.initWrapper,o=e.processEntity,i=e.onProcessFinished,r=e.externalGetKey,a=e.childrenPropName,l=e.fieldNames,s=arguments.length>2?arguments[2]:void 0,c=r||s,u={},d={},f={posEntities:u,keyEntities:d};return n&&(f=n(f)||f),cYt(t,function(p){var g=p.node,y=p.index,A=p.pos,x=p.key,C=p.parentPos,b=p.level,v=p.nodes,S={node:g,nodes:v,index:y,key:x,pos:A,level:b},w=UW(x,A);u[A]=S,d[w]=S,S.parent=u[C],S.parent&&(S.parent.children=S.parent.children||[],S.parent.children.push(S)),o&&o(S,f)},{externalGetKey:c,childrenPropName:a,fieldNames:l}),i&&i(f),f}function fE(t,e){var n=e.expandedKeys,o=e.selectedKeys,i=e.loadedKeys,r=e.loadingKeys,a=e.checkedKeys,l=e.halfCheckedKeys,s=e.dragOverNodeKey,c=e.dropPosition,u=e.keyEntities,d=Ep(u,t),f={eventKey:t,expanded:n.indexOf(t)!==-1,selected:o.indexOf(t)!==-1,loaded:i.indexOf(t)!==-1,loading:r.indexOf(t)!==-1,checked:a.indexOf(t)!==-1,halfChecked:l.indexOf(t)!==-1,pos:String(d?d.pos:""),dragOver:s===t&&c===0,dragOverGapTop:s===t&&c===-1,dragOverGapBottom:s===t&&c===1};return f}function eu(t){var e=t.data,n=t.expanded,o=t.selected,i=t.checked,r=t.loaded,a=t.loading,l=t.halfChecked,s=t.dragOver,c=t.dragOverGapTop,u=t.dragOverGapBottom,d=t.pos,f=t.active,p=t.eventKey,g=Ru(Ru({},e),{},{expanded:n,selected:o,checked:i,loaded:r,loading:a,halfChecked:l,dragOver:s,dragOverGapTop:c,dragOverGapBottom:u,pos:d,active:f,key:p});return"props"in g||Object.defineProperty(g,"props",{get:function(){return g2(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),t}}),g}var uYt=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],xxe="open",bxe="close",dYt="---",fYt=function(t){hJe(n,t);var e=pJe(n);function n(){var o;dJe(this,n);for(var i=arguments.length,r=new Array(i),a=0;a=0&&n.splice(o,1),n}function n6(t,e){var n=(t||[]).slice();return n.indexOf(e)===-1&&n.push(e),n}function Ome(t){return t.split("-")}function hYt(t,e){var n=[],o=Ep(e,t);function i(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];r.forEach(function(a){var l=a.key,s=a.children;n.push(l),i(s)})}return i(o.children),n}function pYt(t){if(t.parent){var e=Ome(t.pos);return Number(e[e.length-1])===t.parent.children.length-1}return!1}function gYt(t){var e=Ome(t.pos);return Number(e[e.length-1])===0}function Sxe(t,e,n,o,i,r,a,l,s,c){var u,d=t.clientX,f=t.clientY,p=t.target.getBoundingClientRect(),g=p.top,y=p.height,A=(c==="rtl"?-1:1)*(((i==null?void 0:i.x)||0)-d),x=(A-12)/o,C=s.filter(function(W){var B;return(B=l[W])===null||B===void 0||(B=B.children)===null||B===void 0?void 0:B.length}),b=Ep(l,n.props.eventKey);if(f-1.5?r({dragNode:L,dropNode:U,dropPosition:1})?H=1:F=!1:r({dragNode:L,dropNode:U,dropPosition:0})?H=0:r({dragNode:L,dropNode:U,dropPosition:1})?H=1:F=!1:r({dragNode:L,dropNode:U,dropPosition:1})?H=1:F=!1,{dropPosition:H,dropLevelOffset:D,dropTargetKey:b.key,dropTargetPos:b.pos,dragOverNodeKey:R,dropContainerKey:H===0?null:((u=b.parent)===null||u===void 0?void 0:u.key)||null,dropAllowed:F}}function Txe(t,e){if(t){var n=e.multiple;return n?t.slice():t.length?[t[0]]:t}}function Gie(t){if(!t)return null;var e;if(Array.isArray(t))e={checkedKeys:t,halfCheckedKeys:void 0};else if(q6(t)==="object")e={checkedKeys:t.checked||void 0,halfCheckedKeys:t.halfChecked||void 0};else return g2(!1,"`checkedKeys` is not an array or an object"),null;return e}function K0e(t,e){var n=new Set;function o(i){if(!n.has(i)){var r=Ep(e,i);if(r){n.add(i);var a=r.parent,l=r.node;l.disabled||a&&o(a.key)}}}return(t||[]).forEach(function(i){o(i)}),hx(n)}function wJe(t,e){var n=new Set;return t.forEach(function(o){e.has(o)||n.add(o)}),n}function mYt(t){var e=t||{},n=e.disabled,o=e.disableCheckbox,i=e.checkable;return!!(n||o)||i===!1}function yYt(t,e,n,o){for(var i=new Set(t),r=new Set,a=0;a<=n;a+=1){var l=e.get(a)||new Set;l.forEach(function(d){var f=d.key,p=d.node,g=d.children,y=g===void 0?[]:g;i.has(f)&&!o(p)&&y.filter(function(A){return!o(A.node)}).forEach(function(A){i.add(A.key)})})}for(var s=new Set,c=n;c>=0;c-=1){var u=e.get(c)||new Set;u.forEach(function(d){var f=d.parent,p=d.node;if(!(o(p)||!d.parent||s.has(d.parent.key))){if(o(d.parent.node)){s.add(f.key);return}var g=!0,y=!1;(f.children||[]).filter(function(A){return!o(A.node)}).forEach(function(A){var x=A.key,C=i.has(x);g&&!C&&(g=!1),!y&&(C||r.has(x))&&(y=!0)}),g&&i.add(f.key),y&&r.add(f.key),s.add(f.key)}})}return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(wJe(r,i))}}function AYt(t,e,n,o,i){for(var r=new Set(t),a=new Set(e),l=0;l<=o;l+=1){var s=n.get(l)||new Set;s.forEach(function(f){var p=f.key,g=f.node,y=f.children,A=y===void 0?[]:y;!r.has(p)&&!a.has(p)&&!i(g)&&A.filter(function(x){return!i(x.node)}).forEach(function(x){r.delete(x.key)})})}a=new Set;for(var c=new Set,u=o;u>=0;u-=1){var d=n.get(u)||new Set;d.forEach(function(f){var p=f.parent,g=f.node;if(!(i(g)||!f.parent||c.has(f.parent.key))){if(i(f.parent.node)){c.add(p.key);return}var y=!0,A=!1;(p.children||[]).filter(function(x){return!i(x.node)}).forEach(function(x){var C=x.key,b=r.has(C);y&&!b&&(y=!1),!A&&(b||a.has(C))&&(A=!0)}),y||r.delete(p.key),A&&a.add(p.key),c.add(p.key)}})}return{checkedKeys:Array.from(r),halfCheckedKeys:Array.from(wJe(a,r))}}function AC(t,e,n,o){var i=[],r;o?r=o:r=mYt;var a=new Set(t.filter(function(u){var d=!!Ep(n,u);return d||i.push(u),d})),l=new Map,s=0;Object.keys(n).forEach(function(u){var d=n[u],f=d.level,p=l.get(f);p||(p=new Set,l.set(f,p)),p.add(d),s=Math.max(s,f)}),g2(!i.length,"Tree missing follow keys: ".concat(i.slice(0,100).map(function(u){return"'".concat(u,"'")}).join(", ")));var c;return e===!0?c=yYt(a,l,s,r):c=AYt(a,e.halfCheckedKeys,l,s,r),c}function wYt(t){const[e,n]=m.useState(null);return[m.useCallback((r,a,l)=>{const s=e??r,c=Math.min(s||0,r),u=Math.max(s||0,r),d=a.slice(c,u+1).map(g=>t(g)),f=d.some(g=>!l.has(g)),p=[];return d.forEach(g=>{f?(l.has(g)||p.push(g),l.add(g)):(l.delete(g),p.push(g))}),n(f?u:null),p},[e]),r=>{n(r)}]}const z4={},q0e="SELECT_ALL",$0e="SELECT_INVERT",Q0e="SELECT_NONE",Pxe=[],vJe=(t,e)=>{let n=[];return(e||[]).forEach(o=>{n.push(o),o&&typeof o=="object"&&t in o&&(n=[].concat(Xa(n),Xa(vJe(t,o[t]))))}),n},vYt=(t,e)=>{const{preserveSelectedRowKeys:n,selectedRowKeys:o,defaultSelectedRowKeys:i,getCheckboxProps:r,onChange:a,onSelect:l,onSelectAll:s,onSelectInvert:c,onSelectNone:u,onSelectMultiple:d,columnWidth:f,type:p,selections:g,fixed:y,renderCell:A,hideSelectAll:x,checkStrictly:C=!0}=e||{},{prefixCls:b,data:v,pageData:S,getRecordByKey:w,getRowKey:T,expandType:P,childrenColumnName:R,locale:H,getPopupContainer:D}=t,E=Hb(),[L,U]=wYt(ne=>ne),[F,W]=_6(o||i||Pxe,{value:o}),B=m.useRef(new Map),k=m.useCallback(ne=>{if(n){const Z=new Map;ne.forEach(he=>{let fe=w(he);!fe&&B.current.has(he)&&(fe=B.current.get(he)),Z.set(he,fe)}),B.current=Z}},[w,n]);m.useEffect(()=>{k(F)},[F]);const{keyEntities:N}=m.useMemo(()=>{if(C)return{keyEntities:null};let ne=v;if(n){const Z=new Set(v.map((fe,se)=>T(fe,se))),he=Array.from(B.current).reduce((fe,se)=>{let[oe,de]=se;return Z.has(oe)?fe:fe.concat(de)},[]);ne=[].concat(Xa(ne),Xa(he))}return Yme(ne,{externalGetKey:T,childrenPropName:R})},[v,T,C,R,n]),j=m.useMemo(()=>vJe(R,S),[R,S]),Y=m.useMemo(()=>{const ne=new Map;return j.forEach((Z,he)=>{const fe=T(Z,he),se=(r?r(Z):null)||{};ne.set(fe,se)}),ne},[j,T,r]),_=m.useCallback(ne=>{var Z;return!!(!((Z=Y.get(T(ne)))===null||Z===void 0)&&Z.disabled)},[Y,T]),[J,Q]=m.useMemo(()=>{if(C)return[F||[],[]];const{checkedKeys:ne,halfCheckedKeys:Z}=AC(F,!0,N,_);return[ne||[],Z]},[F,C,N,_]),ee=m.useMemo(()=>{const ne=p==="radio"?J.slice(0,1):J;return new Set(ne)},[J,p]),$=m.useMemo(()=>p==="radio"?new Set:new Set(Q),[Q,p]);m.useEffect(()=>{e||W(Pxe)},[!!e]);const q=m.useCallback((ne,Z)=>{let he,fe;k(ne),n?(he=ne,fe=ne.map(se=>B.current.get(se))):(he=[],fe=[],ne.forEach(se=>{const oe=w(se);oe!==void 0&&(he.push(se),fe.push(oe))})),W(he),a==null||a(he,fe,{type:Z})},[W,w,a,n]),le=m.useCallback((ne,Z,he,fe)=>{if(l){const se=he.map(oe=>w(oe));l(w(ne),Z,se,fe)}q(he,"single")},[l,w,q]),ie=m.useMemo(()=>!g||x?null:(g===!0?[q0e,$0e,Q0e]:g).map(Z=>Z===q0e?{key:"all",text:H.selectionAll,onSelect(){q(v.map((he,fe)=>T(he,fe)).filter(he=>{const fe=Y.get(he);return!(fe!=null&&fe.disabled)||ee.has(he)}),"all")}}:Z===$0e?{key:"invert",text:H.selectInvert,onSelect(){const he=new Set(ee);S.forEach((se,oe)=>{const de=T(se,oe),ve=Y.get(de);ve!=null&&ve.disabled||(he.has(de)?he.delete(de):he.add(de))});const fe=Array.from(he);c&&(E.deprecated(!1,"onSelectInvert","onChange"),c(fe)),q(fe,"invert")}}:Z===Q0e?{key:"none",text:H.selectNone,onSelect(){u==null||u(),q(Array.from(ee).filter(he=>{const fe=Y.get(he);return fe==null?void 0:fe.disabled}),"none")}}:Z).map(Z=>Object.assign(Object.assign({},Z),{onSelect:function(){for(var he,fe,se=arguments.length,oe=new Array(se),de=0;de{var Z;if(!e)return ne.filter(Ce=>Ce!==z4);let he=Xa(ne);const fe=new Set(ee),se=j.map(T).filter(Ce=>!Y.get(Ce).disabled),oe=se.every(Ce=>fe.has(Ce)),de=se.some(Ce=>fe.has(Ce)),ve=()=>{const Ce=[];oe?se.forEach(Ue=>{fe.delete(Ue),Ce.push(Ue)}):se.forEach(Ue=>{fe.has(Ue)||(fe.add(Ue),Ce.push(Ue))});const Ee=Array.from(fe);s==null||s(!oe,Ee.map(Ue=>w(Ue)),Ce.map(Ue=>w(Ue))),q(Ee,"all"),U(null)};let Pe,me;if(p!=="radio"){let Ce;if(ie){const qe={getPopupContainer:D,items:ie.map((We,De)=>{const{key:Fe,text:_e,onSelect:ot}=We;return{key:Fe??De,onClick:()=>{ot==null||ot(se)},label:_e}})};Ce=m.createElement("div",{className:`${b}-selection-extra`},m.createElement(W7,{menu:qe,getPopupContainer:D},m.createElement("span",null,m.createElement(ome,null))))}const Ee=j.map((qe,We)=>{const De=T(qe,We),Fe=Y.get(De)||{};return Object.assign({checked:fe.has(De)},Fe)}).filter(qe=>{let{disabled:We}=qe;return We}),Ue=!!Ee.length&&Ee.length===j.length,Ne=Ue&&Ee.every(qe=>{let{checked:We}=qe;return We}),Le=Ue&&Ee.some(qe=>{let{checked:We}=qe;return We});me=m.createElement(Wr,{checked:Ue?Ne:!!j.length&&oe,indeterminate:Ue?!Ne&&Le:!oe&&de,onChange:ve,disabled:j.length===0||Ue,"aria-label":Ce?"Custom selection":"Select all",skipGroup:!0}),Pe=!x&&m.createElement("div",{className:`${b}-selection`},me,Ce)}let Re;p==="radio"?Re=(Ce,Ee,Ue)=>{const Ne=T(Ee,Ue),Le=fe.has(Ne);return{node:m.createElement(Be,Object.assign({},Y.get(Ne),{checked:Le,onClick:qe=>qe.stopPropagation(),onChange:qe=>{fe.has(Ne)||le(Ne,!0,[Ne],qe.nativeEvent)}})),checked:Le}}:Re=(Ce,Ee,Ue)=>{var Ne;const Le=T(Ee,Ue),qe=fe.has(Le),We=$.has(Le),De=Y.get(Le);let Fe;return P==="nest"?Fe=We:Fe=(Ne=De==null?void 0:De.indeterminate)!==null&&Ne!==void 0?Ne:We,{node:m.createElement(Wr,Object.assign({},De,{indeterminate:Fe,checked:qe,skipGroup:!0,onClick:_e=>_e.stopPropagation(),onChange:_e=>{let{nativeEvent:ot}=_e;const{shiftKey:Ye}=ot,St=se.findIndex(je=>je===Le),dt=J.some(je=>se.includes(je));if(Ye&&C&&dt){const je=L(St,se,fe),at=Array.from(fe);d==null||d(!qe,at.map(ut=>w(ut)),je.map(ut=>w(ut))),q(at,"multiple")}else{const je=J;if(C){const at=qe?Y5(je,Le):n6(je,Le);le(Le,!qe,at,ot)}else{const at=AC([].concat(Xa(je),[Le]),!0,N,_),{checkedKeys:ut,halfCheckedKeys:wt}=at;let rt=ut;if(qe){const Qe=new Set(ut);Qe.delete(Le),rt=AC(Array.from(Qe),{checked:!1,halfCheckedKeys:wt},N,_).checkedKeys}le(Le,!qe,rt,ot)}}U(qe?null:St)}})),checked:qe}};const ze=(Ce,Ee,Ue)=>{const{node:Ne,checked:Le}=Re(Ce,Ee,Ue);return A?A(Le,Ee,Ue,Ne):Ne};if(!he.includes(z4))if(he.findIndex(Ce=>{var Ee;return((Ee=Ce[dE])===null||Ee===void 0?void 0:Ee.columnType)==="EXPAND_COLUMN"})===0){const[Ce,...Ee]=he;he=[Ce,z4].concat(Xa(Ee))}else he=[z4].concat(Xa(he));const Ae=he.indexOf(z4);he=he.filter((Ce,Ee)=>Ce!==z4||Ee===Ae);const re=he[Ae-1],ge=he[Ae+1];let we=y;we===void 0&&((ge==null?void 0:ge.fixed)!==void 0?we=ge.fixed:(re==null?void 0:re.fixed)!==void 0&&(we=re.fixed)),we&&re&&((Z=re[dE])===null||Z===void 0?void 0:Z.columnType)==="EXPAND_COLUMN"&&re.fixed===void 0&&(re.fixed=we);const ye=Gn(`${b}-selection-col`,{[`${b}-selection-col-with-dropdown`]:g&&p==="checkbox"}),Te=()=>e!=null&&e.columnTitle?typeof e.columnTitle=="function"?e.columnTitle(me):e.columnTitle:Pe,Ie={fixed:we,width:f,className:`${b}-selection-column`,title:Te(),render:ze,onCell:e.onCell,[dE]:{className:ye}};return he.map(Ce=>Ce===z4?Ie:Ce)},[T,j,e,J,ee,$,f,ie,P,Y,d,le,_]),ee]};function xYt(t,e){return t._antProxy=t._antProxy||{},Object.keys(e).forEach(n=>{if(!(n in t._antProxy)){const o=t[n];t._antProxy[n]=o,t[n]=e[n]}}),t}function bYt(t,e){return m.useImperativeHandle(t,()=>{const n=e(),{nativeElement:o}=n;return typeof Proxy<"u"?new Proxy(o,{get(i,r){return n[r]?n[r]:Reflect.get(i,r)}}):xYt(o,n)})}function SYt(t){return function(n){let{prefixCls:o,onExpand:i,record:r,expanded:a,expandable:l}=n;const s=`${o}-row-expand-icon`;return m.createElement("button",{type:"button",onClick:c=>{i(r,c),c.stopPropagation()},className:Gn(s,{[`${s}-spaced`]:!l,[`${s}-expanded`]:l&&a,[`${s}-collapsed`]:l&&!a}),"aria-label":a?t.collapse:t.expand,"aria-expanded":a})}}function TYt(t){return(n,o)=>{const i=n.querySelector(`.${t}-container`);let r=o;if(i){const a=getComputedStyle(i),l=parseInt(a.borderLeftWidth,10),s=parseInt(a.borderRightWidth,10);r=o-l-s}return r}}function Vx(t,e){return"key"in t&&t.key!==void 0&&t.key!==null?t.key:t.dataIndex?Array.isArray(t.dataIndex)?t.dataIndex.join("."):t.dataIndex:e}function BW(t,e){return e?`${e}-${t}`:`${t}`}function B$(t,e){return typeof t=="function"?t(e):t}function PYt(t,e){const n=B$(t,e);return Object.prototype.toString.call(n)==="[object Object]"?"":n}var CYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z"}}]},name:"filter",theme:"filled"},RYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:CYt}))},HYt=m.forwardRef(RYt);function MYt(t){const e=m.useRef(t),n=EVe();return[()=>e.current,o=>{e.current=o,n()}]}var Ar={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=Ar.F1&&n<=Ar.F12)return!1;switch(n){case Ar.ALT:case Ar.CAPS_LOCK:case Ar.CONTEXT_MENU:case Ar.CTRL:case Ar.DOWN:case Ar.END:case Ar.ESC:case Ar.HOME:case Ar.INSERT:case Ar.LEFT:case Ar.MAC_FF_META:case Ar.META:case Ar.NUMLOCK:case Ar.NUM_CENTER:case Ar.PAGE_DOWN:case Ar.PAGE_UP:case Ar.PAUSE:case Ar.PRINT_SCREEN:case Ar.RIGHT:case Ar.SHIFT:case Ar.UP:case Ar.WIN_KEY:case Ar.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Ar.ZERO&&e<=Ar.NINE||e>=Ar.NUM_ZERO&&e<=Ar.NUM_MULTIPLY||e>=Ar.A&&e<=Ar.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Ar.SPACE:case Ar.QUESTION_MARK:case Ar.NUM_PLUS:case Ar.NUM_MINUS:case Ar.NUM_PERIOD:case Ar.NUM_DIVISION:case Ar.SEMICOLON:case Ar.DASH:case Ar.EQUALS:case Ar.COMMA:case Ar.PERIOD:case Ar.SLASH:case Ar.APOSTROPHE:case Ar.SINGLE_QUOTE:case Ar.OPEN_SQUARE_BRACKET:case Ar.BACKSLASH:case Ar.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};function IYt(t){var e=t.dropPosition,n=t.dropLevelOffset,o=t.indent,i={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(e){case-1:i.top=0,i.left=-n*o;break;case 1:i.bottom=0,i.left=-n*o;break;case 0:i.bottom=0,i.left=o;break}return m.createElement("div",{style:i})}function xJe(t){if(t==null)throw new TypeError("Cannot destructure "+t)}function zYt(t){if(Array.isArray(t))return t}function DYt(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e!==0)for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function EYt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Av(t,e){return zYt(t)||DYt(t,e)||sJe(t,e)||EYt()}function kYt(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var Cxe=kYt()?m.useLayoutEffect:m.useEffect,zG=function(e,n){var o=m.useRef(!0);Cxe(function(){return e(o.current)},n),Cxe(function(){return o.current=!1,function(){o.current=!0}},[])};function FYt(t,e){var n=m.useState(!1),o=Av(n,2),i=o[0],r=o[1];zG(function(){if(i)return t(),function(){e()}},[i]),zG(function(){return r(!0),function(){r(!1)}},[])}var LYt=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],bJe=function(e,n){var o=e.className,i=e.style,r=e.motion,a=e.motionNodes,l=e.motionType,s=e.onMotionStart,c=e.onMotionEnd,u=e.active,d=e.treeNodeRequiredProps,f=U$(e,LYt),p=m.useState(!0),g=Av(p,2),y=g[0],A=g[1],x=m.useContext(jme),C=x.prefixCls,b=a&&l!=="hide";zG(function(){a&&b!==y&&A(b)},[a]);var v=function(){a&&s()},S=m.useRef(!1),w=function(){a&&!S.current&&(S.current=!0,c())};FYt(v,w);var T=function(R){b===R&&w()};return a?m.createElement(Cg,w9({ref:n,visible:y},r,{motionAppear:l==="show",onVisibleChanged:T}),function(P,R){var H=P.className,D=P.style;return m.createElement("div",{ref:R,className:q5("".concat(C,"-treenode-motion"),H),style:D},a.map(function(E){var L=Object.assign({},(xJe(E.data),E.data)),U=E.title,F=E.key,W=E.isStart,B=E.isEnd;delete L.children;var k=fE(F,d);return m.createElement(sR,w9({},L,k,{title:U,active:u,data:E.data,key:F,isStart:W,isEnd:B}))}))}):m.createElement(sR,w9({domRef:n,className:o,style:i},f,{active:u}))};bJe.displayName="MotionTreeNode";var WYt=m.forwardRef(bJe);function NYt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=t.length,o=e.length;if(Math.abs(n-o)!==1)return{add:!1,key:null};function i(r,a){var l=new Map;r.forEach(function(c){l.set(c,!0)});var s=a.filter(function(c){return!l.has(c)});return s.length===1?s[0]:null}return n ").concat(e);return e}var TJe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.data;t.selectable,t.checkable;var i=t.expandedKeys,r=t.selectedKeys,a=t.checkedKeys,l=t.loadedKeys,s=t.loadingKeys,c=t.halfCheckedKeys,u=t.keyEntities,d=t.disabled,f=t.dragging,p=t.dragOverNodeKey,g=t.dropPosition,y=t.motion,A=t.height,x=t.itemHeight,C=t.virtual,b=t.focusable,v=t.activeItem,S=t.focused,w=t.tabIndex,T=t.onKeyDown,P=t.onFocus,R=t.onBlur,H=t.onActiveChange,D=t.onListChangeStart,E=t.onListChangeEnd,L=U$(t,UYt),U=m.useRef(null),F=m.useRef(null);m.useImperativeHandle(e,function(){return{scrollTo:function(Re){U.current.scrollTo(Re)},getIndentWidth:function(){return F.current.offsetWidth}}});var W=m.useState(i),B=Av(W,2),k=B[0],N=B[1],j=m.useState(o),Y=Av(j,2),_=Y[0],J=Y[1],Q=m.useState(o),ee=Av(Q,2),$=ee[0],q=ee[1],le=m.useState([]),ie=Av(le,2),pe=ie[0],ne=ie[1],Z=m.useState(null),he=Av(Z,2),fe=he[0],se=he[1],oe=m.useRef(o);oe.current=o;function de(){var me=oe.current;J(me),q(me),ne([]),se(null),E()}zG(function(){N(i);var me=NYt(k,i);if(me.key!==null)if(me.add){var Re=_.findIndex(function(ye){var Te=ye.key;return Te===me.key}),ze=Ixe(Rxe(_,o,me.key),C,A,x),Ae=_.slice();Ae.splice(Re+1,0,Mxe),q(Ae),ne(ze),se("show")}else{var re=o.findIndex(function(ye){var Te=ye.key;return Te===me.key}),ge=Ixe(Rxe(o,_,me.key),C,A,x),we=o.slice();we.splice(re+1,0,Mxe),q(we),ne(ge),se("hide")}else _!==o&&(J(o),q(o))},[i,o]),m.useEffect(function(){f||de()},[f]);var ve=y?$:o,Pe={expandedKeys:i,selectedKeys:r,loadedKeys:l,loadingKeys:s,checkedKeys:a,halfCheckedKeys:c,dragOverNodeKey:p,dropPosition:g,keyEntities:u};return m.createElement(m.Fragment,null,S&&v&&m.createElement("span",{style:Hxe,"aria-live":"assertive"},jYt(v)),m.createElement("div",null,m.createElement("input",{style:Hxe,disabled:b===!1||d,tabIndex:b!==!1?w:null,onKeyDown:T,onFocus:P,onBlur:R,value:"",onChange:BYt,"aria-label":"for screen reader"})),m.createElement("div",{className:"".concat(n,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},m.createElement("div",{className:"".concat(n,"-indent")},m.createElement("div",{ref:F,className:"".concat(n,"-indent-unit")}))),m.createElement(w$,w9({},L,{data:ve,itemKey:zxe,height:A,fullHeight:!1,virtual:C,itemHeight:x,prefixCls:"".concat(n,"-list"),ref:U,onVisibleChange:function(Re,ze){var Ae=new Set(Re),re=ze.filter(function(ge){return!Ae.has(ge)});re.some(function(ge){return zxe(ge)===Gx})&&de()}}),function(me){var Re=me.pos,ze=Object.assign({},(xJe(me.data),me.data)),Ae=me.title,re=me.key,ge=me.isStart,we=me.isEnd,ye=UW(re,Re);delete ze.key,delete ze.children;var Te=fE(ye,Pe);return m.createElement(WYt,w9({},ze,Te,{title:Ae,active:!!v&&re===v.key,pos:Re,data:me.data,isStart:ge,isEnd:we,motion:y,motionNodes:re===Gx?pe:null,motionType:fe,onMotionStart:D,onMotionEnd:de,treeNodeRequiredProps:Pe,onMouseMove:function(){H(null)}}))}))});TJe.displayName="NodeList";var YYt=10,_me=function(t){hJe(n,t);var e=pJe(n);function n(){var o;dJe(this,n);for(var i=arguments.length,r=new Array(i),a=0;a2&&arguments[2]!==void 0?arguments[2]:!1,d=o.state,f=d.dragChildrenKeys,p=d.dropPosition,g=d.dropTargetKey,y=d.dropTargetPos,A=d.dropAllowed;if(A){var x=o.props.onDrop;if(o.setState({dragOverNodeKey:null}),o.cleanDragState(),g!==null){var C=Ru(Ru({},fE(g,o.getTreeNodeRequiredProps())),{},{active:((c=o.getActiveItem())===null||c===void 0?void 0:c.key)===g,data:Ep(o.state.keyEntities,g).node}),b=f.indexOf(g)!==-1;g2(!b,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var v=Ome(y),S={event:l,node:eu(C),dragNode:o.dragNode?eu(o.dragNode.props):null,dragNodesKeys:[o.dragNode.props.eventKey].concat(f),dropToGap:p!==0,dropPosition:p+Number(v[v.length-1])};u||x==null||x(S),o.dragNode=null}}}),jo(yi(o),"cleanDragState",function(){var l=o.state.draggingNodeKey;l!==null&&o.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),o.dragStartMousePosition=null,o.currentMouseOverDroppableNodeKey=null}),jo(yi(o),"triggerExpandActionExpand",function(l,s){var c=o.state,u=c.expandedKeys,d=c.flattenNodes,f=s.expanded,p=s.key,g=s.isLeaf;if(!(g||l.shiftKey||l.metaKey||l.ctrlKey)){var y=d.filter(function(x){return x.key===p})[0],A=eu(Ru(Ru({},fE(p,o.getTreeNodeRequiredProps())),{},{data:y.data}));o.setExpandedKeys(f?Y5(u,p):n6(u,p)),o.onNodeExpand(l,A)}}),jo(yi(o),"onNodeClick",function(l,s){var c=o.props,u=c.onClick,d=c.expandAction;d==="click"&&o.triggerExpandActionExpand(l,s),u==null||u(l,s)}),jo(yi(o),"onNodeDoubleClick",function(l,s){var c=o.props,u=c.onDoubleClick,d=c.expandAction;d==="doubleClick"&&o.triggerExpandActionExpand(l,s),u==null||u(l,s)}),jo(yi(o),"onNodeSelect",function(l,s){var c=o.state.selectedKeys,u=o.state,d=u.keyEntities,f=u.fieldNames,p=o.props,g=p.onSelect,y=p.multiple,A=s.selected,x=s[f.key],C=!A;C?y?c=n6(c,x):c=[x]:c=Y5(c,x);var b=c.map(function(v){var S=Ep(d,v);return S?S.node:null}).filter(function(v){return v});o.setUncontrolledState({selectedKeys:c}),g==null||g(c,{event:"select",selected:C,node:s,selectedNodes:b,nativeEvent:l.nativeEvent})}),jo(yi(o),"onNodeCheck",function(l,s,c){var u=o.state,d=u.keyEntities,f=u.checkedKeys,p=u.halfCheckedKeys,g=o.props,y=g.checkStrictly,A=g.onCheck,x=s.key,C,b={event:"check",node:s,checked:c,nativeEvent:l.nativeEvent};if(y){var v=c?n6(f,x):Y5(f,x),S=Y5(p,x);C={checked:v,halfChecked:S},b.checkedNodes=v.map(function(D){return Ep(d,D)}).filter(function(D){return D}).map(function(D){return D.node}),o.setUncontrolledState({checkedKeys:v})}else{var w=AC([].concat(hx(f),[x]),!0,d),T=w.checkedKeys,P=w.halfCheckedKeys;if(!c){var R=new Set(T);R.delete(x);var H=AC(Array.from(R),{checked:!1,halfCheckedKeys:P},d);T=H.checkedKeys,P=H.halfCheckedKeys}C=T,b.checkedNodes=[],b.checkedNodesPositions=[],b.halfCheckedKeys=P,T.forEach(function(D){var E=Ep(d,D);if(E){var L=E.node,U=E.pos;b.checkedNodes.push(L),b.checkedNodesPositions.push({node:L,pos:U})}}),o.setUncontrolledState({checkedKeys:T},!1,{halfCheckedKeys:P})}A==null||A(C,b)}),jo(yi(o),"onNodeLoad",function(l){var s,c=l.key,u=o.state.keyEntities,d=Ep(u,c);if(!(d!=null&&(s=d.children)!==null&&s!==void 0&&s.length)){var f=new Promise(function(p,g){o.setState(function(y){var A=y.loadedKeys,x=A===void 0?[]:A,C=y.loadingKeys,b=C===void 0?[]:C,v=o.props,S=v.loadData,w=v.onLoad;if(!S||x.indexOf(c)!==-1||b.indexOf(c)!==-1)return null;var T=S(l);return T.then(function(){var P=o.state.loadedKeys,R=n6(P,c);w==null||w(R,{event:"load",node:l}),o.setUncontrolledState({loadedKeys:R}),o.setState(function(H){return{loadingKeys:Y5(H.loadingKeys,c)}}),p()}).catch(function(P){if(o.setState(function(H){return{loadingKeys:Y5(H.loadingKeys,c)}}),o.loadingRetryTimes[c]=(o.loadingRetryTimes[c]||0)+1,o.loadingRetryTimes[c]>=YYt){var R=o.state.loadedKeys;g2(!1,"Retry for `loadData` many times but still failed. No more retry."),o.setUncontrolledState({loadedKeys:n6(R,c)}),p()}g(P)}),{loadingKeys:n6(b,c)}})});return f.catch(function(){}),f}}),jo(yi(o),"onNodeMouseEnter",function(l,s){var c=o.props.onMouseEnter;c==null||c({event:l,node:s})}),jo(yi(o),"onNodeMouseLeave",function(l,s){var c=o.props.onMouseLeave;c==null||c({event:l,node:s})}),jo(yi(o),"onNodeContextMenu",function(l,s){var c=o.props.onRightClick;c&&(l.preventDefault(),c({event:l,node:s}))}),jo(yi(o),"onFocus",function(){var l=o.props.onFocus;o.setState({focused:!0});for(var s=arguments.length,c=new Array(s),u=0;u1&&arguments[1]!==void 0?arguments[1]:!1,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!o.destroyed){var u=!1,d=!0,f={};Object.keys(l).forEach(function(p){if(p in o.props){d=!1;return}u=!0,f[p]=l[p]}),u&&(!s||d)&&o.setState(Ru(Ru({},f),c))}}),jo(yi(o),"scrollTo",function(l){o.listRef.current.scrollTo(l)}),o}return fJe(n,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var i=this.props,r=i.activeKey,a=i.itemScrollOffset,l=a===void 0?0:a;r!==void 0&&r!==this.state.activeKey&&(this.setState({activeKey:r}),r!==null&&this.scrollTo({key:r,offset:l}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var i=this.state,r=i.focused,a=i.flattenNodes,l=i.keyEntities,s=i.draggingNodeKey,c=i.activeKey,u=i.dropLevelOffset,d=i.dropContainerKey,f=i.dropTargetKey,p=i.dropPosition,g=i.dragOverNodeKey,y=i.indent,A=this.props,x=A.prefixCls,C=A.className,b=A.style,v=A.showLine,S=A.focusable,w=A.tabIndex,T=w===void 0?0:w,P=A.selectable,R=A.showIcon,H=A.icon,D=A.switcherIcon,E=A.draggable,L=A.checkable,U=A.checkStrictly,F=A.disabled,W=A.motion,B=A.loadData,k=A.filterTreeNode,N=A.height,j=A.itemHeight,Y=A.virtual,_=A.titleRender,J=A.dropIndicatorRender,Q=A.onContextMenu,ee=A.onScroll,$=A.direction,q=A.rootClassName,le=A.rootStyle,ie=mJe(this.props,{aria:!0,data:!0}),pe;return E&&(q6(E)==="object"?pe=E:typeof E=="function"?pe={nodeDraggable:E}:pe={}),m.createElement(jme.Provider,{value:{prefixCls:x,selectable:P,showIcon:R,icon:H,switcherIcon:D,draggable:pe,draggingNodeKey:s,checkable:L,checkStrictly:U,disabled:F,keyEntities:l,dropLevelOffset:u,dropContainerKey:d,dropTargetKey:f,dropPosition:p,dragOverNodeKey:g,indent:y,direction:$,dropIndicatorRender:J,loadData:B,filterTreeNode:k,titleRender:_,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop}},m.createElement("div",{role:"tree",className:q5(x,C,q,jo(jo(jo({},"".concat(x,"-show-line"),v),"".concat(x,"-focused"),r),"".concat(x,"-active-focused"),c!==null)),style:le},m.createElement(TJe,w9({ref:this.listRef,prefixCls:x,style:b,data:a,disabled:F,selectable:P,checkable:!!L,motion:W,dragging:s!==null,height:N,itemHeight:j,virtual:Y,focusable:S,focused:r,tabIndex:T,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:Q,onScroll:ee},this.getTreeNodeRequiredProps(),ie))))}}],[{key:"getDerivedStateFromProps",value:function(i,r){var a=r.prevProps,l={prevProps:i};function s(w){return!a&&w in i||a&&a[w]!==i[w]}var c,u=r.fieldNames;if(s("fieldNames")&&(u=lR(i.fieldNames),l.fieldNames=u),s("treeData")?c=i.treeData:s("children")&&(g2(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),c=AJe(i.children)),c){l.treeData=c;var d=Yme(c,{fieldNames:u});l.keyEntities=Ru(jo({},Gx,SJe),d.keyEntities)}var f=l.keyEntities||r.keyEntities;if(s("expandedKeys")||a&&s("autoExpandParent"))l.expandedKeys=i.autoExpandParent||!a&&i.defaultExpandParent?K0e(i.expandedKeys,f):i.expandedKeys;else if(!a&&i.defaultExpandAll){var p=Ru({},f);delete p[Gx],l.expandedKeys=Object.keys(p).map(function(w){return p[w].key})}else!a&&i.defaultExpandedKeys&&(l.expandedKeys=i.autoExpandParent||i.defaultExpandParent?K0e(i.defaultExpandedKeys,f):i.defaultExpandedKeys);if(l.expandedKeys||delete l.expandedKeys,c||l.expandedKeys){var g=Vie(c||r.treeData,l.expandedKeys||r.expandedKeys,u);l.flattenNodes=g}if(i.selectable&&(s("selectedKeys")?l.selectedKeys=Txe(i.selectedKeys,i):!a&&i.defaultSelectedKeys&&(l.selectedKeys=Txe(i.defaultSelectedKeys,i))),i.checkable){var y;if(s("checkedKeys")?y=Gie(i.checkedKeys)||{}:!a&&i.defaultCheckedKeys?y=Gie(i.defaultCheckedKeys)||{}:c&&(y=Gie(i.checkedKeys)||{checkedKeys:r.checkedKeys,halfCheckedKeys:r.halfCheckedKeys}),y){var A=y,x=A.checkedKeys,C=x===void 0?[]:x,b=A.halfCheckedKeys,v=b===void 0?[]:b;if(!i.checkStrictly){var S=AC(C,!0,f);C=S.checkedKeys,v=S.halfCheckedKeys}l.checkedKeys=C,l.halfCheckedKeys=v}}return s("loadedKeys")&&(l.loadedKeys=i.loadedKeys),l}}]),n}(m.Component);jo(_me,"defaultProps",{prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:IYt,allowDrop:function(){return!0},expandAction:!1});jo(_me,"TreeNode",sR);var OYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file",theme:"outlined"},_Yt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:OYt}))},PJe=m.forwardRef(_Yt),VYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}}]},name:"folder-open",theme:"outlined"},GYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:VYt}))},CJe=m.forwardRef(GYt),XYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"},JYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:XYt}))},KYt=m.forwardRef(JYt),qYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z"}}]},name:"holder",theme:"outlined"},$Yt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:qYt}))},QYt=m.forwardRef($Yt);const ZYt=new ul("ant-tree-node-fx-do-not-use",{"0%":{opacity:0},"100%":{opacity:1}}),eOt=(t,e)=>({[`.${t}-switcher-icon`]:{display:"inline-block",fontSize:10,verticalAlign:"baseline",svg:{transition:`transform ${e.motionDurationSlow}`}}}),tOt=(t,e)=>({[`.${t}-drop-indicator`]:{position:"absolute",zIndex:1,height:2,backgroundColor:e.colorPrimary,borderRadius:1,pointerEvents:"none","&:after":{position:"absolute",top:-3,insetInlineStart:-6,width:8,height:8,backgroundColor:"transparent",border:`${Ut(e.lineWidthBold)} solid ${e.colorPrimary}`,borderRadius:"50%",content:'""'}}}),nOt=(t,e)=>{const{treeCls:n,treeNodeCls:o,treeNodePadding:i,titleHeight:r,nodeSelectedBg:a,nodeHoverBg:l}=e,s=e.paddingXS;return{[n]:Object.assign(Object.assign({},$a(e)),{background:e.colorBgContainer,borderRadius:e.borderRadius,transition:`background-color ${e.motionDurationSlow}`,[`&${n}-rtl`]:{[`${n}-switcher`]:{"&_close":{[`${n}-switcher-icon`]:{svg:{transform:"rotate(90deg)"}}}}},[`&-focused:not(:hover):not(${n}-active-focused)`]:Object.assign({},n7(e)),[`${n}-list-holder-inner`]:{alignItems:"flex-start"},[`&${n}-block-node`]:{[`${n}-list-holder-inner`]:{alignItems:"stretch",[`${n}-node-content-wrapper`]:{flex:"auto"},[`${o}.dragging`]:{position:"relative","&:after":{position:"absolute",top:0,insetInlineEnd:0,bottom:i,insetInlineStart:0,border:`1px solid ${e.colorPrimary}`,opacity:0,animationName:ZYt,animationDuration:e.motionDurationSlow,animationPlayState:"running",animationFillMode:"forwards",content:'""',pointerEvents:"none"}}}},[`${o}`]:{display:"flex",alignItems:"flex-start",padding:`0 0 ${Ut(i)} 0`,outline:"none","&-rtl":{direction:"rtl"},"&-disabled":{[`${n}-node-content-wrapper`]:{color:e.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"}}},[`&-active ${n}-node-content-wrapper`]:{background:e.controlItemBgHover},[`&:not(${o}-disabled).filter-node ${n}-title`]:{color:"inherit",fontWeight:500},"&-draggable":{cursor:"grab",[`${n}-draggable-icon`]:{flexShrink:0,width:r,lineHeight:`${Ut(r)}`,textAlign:"center",visibility:"visible",opacity:.2,transition:`opacity ${e.motionDurationSlow}`,[`${o}:hover &`]:{opacity:.45}},[`&${o}-disabled`]:{[`${n}-draggable-icon`]:{visibility:"hidden"}}}},[`${n}-indent`]:{alignSelf:"stretch",whiteSpace:"nowrap",userSelect:"none","&-unit":{display:"inline-block",width:r}},[`${n}-draggable-icon`]:{visibility:"hidden"},[`${n}-switcher`]:Object.assign(Object.assign({},eOt(t,e)),{position:"relative",flex:"none",alignSelf:"stretch",width:r,margin:0,lineHeight:`${Ut(r)}`,textAlign:"center",cursor:"pointer",userSelect:"none",transition:`all ${e.motionDurationSlow}`,borderRadius:e.borderRadius,"&-noop":{cursor:"unset"},[`&:not(${n}-switcher-noop):hover`]:{backgroundColor:e.colorBgTextHover},"&_close":{[`${n}-switcher-icon`]:{svg:{transform:"rotate(-90deg)"}}},"&-loading-icon":{color:e.colorPrimary},"&-leaf-line":{position:"relative",zIndex:1,display:"inline-block",width:"100%",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:e.calc(r).div(2).equal(),bottom:e.calc(i).mul(-1).equal(),marginInlineStart:-1,borderInlineEnd:`1px solid ${e.colorBorder}`,content:'""'},"&:after":{position:"absolute",width:e.calc(e.calc(r).div(2).equal()).mul(.8).equal(),height:e.calc(r).div(2).equal(),borderBottom:`1px solid ${e.colorBorder}`,content:'""'}}}),[`${n}-checkbox`]:{top:"initial",marginInlineEnd:s,alignSelf:"flex-start",marginTop:e.marginXXS},[`${n}-node-content-wrapper, ${n}-checkbox + span`]:{position:"relative",zIndex:"auto",minHeight:r,margin:0,padding:`0 ${Ut(e.calc(e.paddingXS).div(2).equal())}`,color:"inherit",lineHeight:`${Ut(r)}`,background:"transparent",borderRadius:e.borderRadius,cursor:"pointer",transition:`all ${e.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,"&:hover":{backgroundColor:l},[`&${n}-node-selected`]:{backgroundColor:a},[`${n}-iconEle`]:{display:"inline-block",width:r,height:r,lineHeight:`${Ut(r)}`,textAlign:"center",verticalAlign:"top","&:empty":{display:"none"}}},[`${n}-unselectable ${n}-node-content-wrapper:hover`]:{backgroundColor:"transparent"},[`${n}-node-content-wrapper`]:Object.assign({lineHeight:`${Ut(r)}`,userSelect:"none"},tOt(t,e)),[`${o}.drop-container`]:{"> [draggable]":{boxShadow:`0 0 0 2px ${e.colorPrimary}`}},"&-show-line":{[`${n}-indent`]:{"&-unit":{position:"relative",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:e.calc(r).div(2).equal(),bottom:e.calc(i).mul(-1).equal(),borderInlineEnd:`1px solid ${e.colorBorder}`,content:'""'},"&-end":{"&:before":{display:"none"}}}},[`${n}-switcher`]:{background:"transparent","&-line-icon":{verticalAlign:"-0.15em"}}},[`${o}-leaf-last`]:{[`${n}-switcher`]:{"&-leaf-line":{"&:before":{top:"auto !important",bottom:"auto !important",height:`${Ut(e.calc(r).div(2).equal())} !important`}}}}})}},oOt=t=>{const{treeCls:e,treeNodeCls:n,treeNodePadding:o,directoryNodeSelectedBg:i,directoryNodeSelectedColor:r}=t;return{[`${e}${e}-directory`]:{[n]:{position:"relative","&:before":{position:"absolute",top:0,insetInlineEnd:0,bottom:o,insetInlineStart:0,transition:`background-color ${t.motionDurationMid}`,content:'""',pointerEvents:"none"},"&:hover":{"&:before":{background:t.controlItemBgHover}},"> *":{zIndex:1},[`${e}-switcher`]:{transition:`color ${t.motionDurationMid}`},[`${e}-node-content-wrapper`]:{borderRadius:0,userSelect:"none","&:hover":{background:"transparent"},[`&${e}-node-selected`]:{color:r,background:"transparent"}},"&-selected":{"\n &:hover::before,\n &::before\n ":{background:i},[`${e}-switcher`]:{color:r},[`${e}-node-content-wrapper`]:{color:r,background:"transparent"}}}}}},iOt=(t,e)=>{const n=`.${t}`,o=`${n}-treenode`,i=e.calc(e.paddingXS).div(2).equal(),r=Zr(e,{treeCls:n,treeNodeCls:o,treeNodePadding:i});return[nOt(t,r),oOt(r)]},rOt=t=>{const{controlHeightSM:e}=t;return{titleHeight:e,nodeHoverBg:t.controlItemBgHover,nodeSelectedBg:t.controlItemBgActive}},aOt=t=>{const{colorTextLightSolid:e,colorPrimary:n}=t;return Object.assign(Object.assign({},rOt(t)),{directoryNodeSelectedColor:e,directoryNodeSelectedBg:n})},lOt=Fl("Tree",(t,e)=>{let{prefixCls:n}=e;return[{[t.componentCls]:rXe(`${n}-checkbox`,t)},iOt(n,t),$ge(t)]},aOt),Dxe=4;function sOt(t){const{dropPosition:e,dropLevelOffset:n,prefixCls:o,indent:i,direction:r="ltr"}=t,a=r==="ltr"?"left":"right",l=r==="ltr"?"right":"left",s={[a]:-n*i+Dxe,[l]:0};switch(e){case-1:s.top=-3;break;case 1:s.bottom=-3;break;default:s.bottom=-3,s[a]=i+Dxe;break}return Se.createElement("div",{style:s,className:`${o}-drop-indicator`})}var cOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"filled"},uOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:cOt}))},dOt=m.forwardRef(uOt),fOt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"},hOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:fOt}))},pOt=m.forwardRef(hOt),gOt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"},mOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:gOt}))},yOt=m.forwardRef(mOt);const AOt=t=>{const{prefixCls:e,switcherIcon:n,treeNodeProps:o,showLine:i}=t,{isLeaf:r,expanded:a,loading:l}=o;if(l)return m.createElement(HH,{className:`${e}-switcher-loading-icon`});let s;if(i&&typeof i=="object"&&(s=i.showLeafIcon),r){if(!i)return null;if(typeof s!="boolean"&&s){const d=typeof s=="function"?s(o):s,f=`${e}-switcher-line-custom-icon`;return m.isValidElement(d)?Ou(d,{className:Gn(d.props.className||"",f)}):d}return s?m.createElement(PJe,{className:`${e}-switcher-line-icon`}):m.createElement("span",{className:`${e}-switcher-leaf-line`})}const c=`${e}-switcher-icon`,u=typeof n=="function"?n(o):n;return m.isValidElement(u)?Ou(u,{className:Gn(u.props.className||"",c)}):u!==void 0?u:i?a?m.createElement(pOt,{className:`${e}-switcher-line-icon`}):m.createElement(yOt,{className:`${e}-switcher-line-icon`}):m.createElement(dOt,{className:c})},RJe=Se.forwardRef((t,e)=>{var n;const{getPrefixCls:o,direction:i,virtual:r,tree:a}=Se.useContext(Mi),{prefixCls:l,className:s,showIcon:c=!1,showLine:u,switcherIcon:d,blockNode:f=!1,children:p,checkable:g=!1,selectable:y=!0,draggable:A,motion:x,style:C}=t,b=o("tree",l),v=o(),S=x??Object.assign(Object.assign({},Vge(v)),{motionAppear:!1}),w=Object.assign(Object.assign({},t),{checkable:g,selectable:y,showIcon:c,motion:S,blockNode:f,showLine:!!u,dropIndicatorRender:sOt}),[T,P,R]=lOt(b),[,H]=Yu(),D=H.paddingXS/2+(((n=H.Tree)===null||n===void 0?void 0:n.titleHeight)||H.controlHeightSM),E=Se.useMemo(()=>{if(!A)return!1;let U={};switch(typeof A){case"function":U.nodeDraggable=A;break;case"object":U=Object.assign({},A);break}return U.icon!==!1&&(U.icon=U.icon||Se.createElement(QYt,null)),U},[A]),L=U=>Se.createElement(AOt,{prefixCls:b,switcherIcon:d,treeNodeProps:U,showLine:u});return T(Se.createElement(_me,Object.assign({itemHeight:D,ref:e,virtual:r},w,{style:Object.assign(Object.assign({},a==null?void 0:a.style),C),prefixCls:b,className:Gn({[`${b}-icon-hide`]:!c,[`${b}-block-node`]:f,[`${b}-unselectable`]:!y,[`${b}-rtl`]:i==="rtl"},a==null?void 0:a.className,s,P,R),direction:i,checkable:g&&Se.createElement("span",{className:`${b}-checkbox-inner`}),selectable:y,switcherIcon:L,draggable:E}),p))}),Exe=0,Xie=1,kxe=2;function Vme(t,e,n){const{key:o,children:i}=n;function r(a){const l=a[o],s=a[i];e(l,a)!==!1&&Vme(s||[],e,n)}t.forEach(r)}function wOt(t){let{treeData:e,expandedKeys:n,startKey:o,endKey:i,fieldNames:r}=t;const a=[];let l=Exe;if(o&&o===i)return[o];if(!o||!i)return[];function s(c){return c===o||c===i}return Vme(e,c=>{if(l===kxe)return!1;if(s(c)){if(a.push(c),l===Exe)l=Xie;else if(l===Xie)return l=kxe,!1}else l===Xie&&a.push(c);return n.includes(c)},lR(r)),a}function Jie(t,e,n){const o=Xa(e),i=[];return Vme(t,(r,a)=>{const l=o.indexOf(r);return l!==-1&&(i.push(a),o.splice(l,1)),!!o.length},lR(n)),i}var Fxe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{defaultExpandAll:n,defaultExpandParent:o,defaultExpandedKeys:i}=t,r=Fxe(t,["defaultExpandAll","defaultExpandParent","defaultExpandedKeys"]);const a=m.useRef(),l=m.useRef(),s=()=>{const{keyEntities:P}=Yme(Lxe(r));let R;return n?R=Object.keys(P):o?R=K0e(r.expandedKeys||i||[],P):R=r.expandedKeys||i||[],R},[c,u]=m.useState(r.selectedKeys||r.defaultSelectedKeys||[]),[d,f]=m.useState(()=>s());m.useEffect(()=>{"selectedKeys"in r&&u(r.selectedKeys)},[r.selectedKeys]),m.useEffect(()=>{"expandedKeys"in r&&f(r.expandedKeys)},[r.expandedKeys]);const p=(P,R)=>{var H;return"expandedKeys"in r||f(P),(H=r.onExpand)===null||H===void 0?void 0:H.call(r,P,R)},g=(P,R)=>{var H;const{multiple:D,fieldNames:E}=r,{node:L,nativeEvent:U}=R,{key:F=""}=L,W=Lxe(r),B=Object.assign(Object.assign({},R),{selected:!0}),k=(U==null?void 0:U.ctrlKey)||(U==null?void 0:U.metaKey),N=U==null?void 0:U.shiftKey;let j;D&&k?(j=P,a.current=F,l.current=j,B.selectedNodes=Jie(W,j,E)):D&&N?(j=Array.from(new Set([].concat(Xa(l.current||[]),Xa(wOt({treeData:W,expandedKeys:d,startKey:F,endKey:a.current,fieldNames:E}))))),B.selectedNodes=Jie(W,j,E)):(j=[F],a.current=F,l.current=j,B.selectedNodes=Jie(W,j,E)),(H=r.onSelect)===null||H===void 0||H.call(r,j,B),"selectedKeys"in r||u(j)},{getPrefixCls:y,direction:A}=m.useContext(Mi),{prefixCls:x,className:C,showIcon:b=!0,expandAction:v="click"}=r,S=Fxe(r,["prefixCls","className","showIcon","expandAction"]),w=y("tree",x),T=Gn(`${w}-directory`,{[`${w}-directory-rtl`]:A==="rtl"},C);return m.createElement(RJe,Object.assign({icon:vOt,ref:e,blockNode:!0},S,{showIcon:b,expandAction:v,prefixCls:w,className:T,expandedKeys:d,selectedKeys:c,onSelect:g,onExpand:p}))},bOt=m.forwardRef(xOt),Gme=RJe;Gme.DirectoryTree=bOt;Gme.TreeNode=sR;function Wxe(t){let{value:e,onChange:n,filterSearch:o,tablePrefixCls:i,locale:r}=t;return o?m.createElement("div",{className:`${i}-filter-dropdown-search`},m.createElement(ns,{prefix:m.createElement(ime,null),placeholder:r.filterSearchPlaceholder,onChange:n,value:e,htmlSize:1,className:`${i}-filter-dropdown-search-input`})):null}const SOt=t=>{const{keyCode:e}=t;e===hr.ENTER&&t.stopPropagation()},TOt=m.forwardRef((t,e)=>m.createElement("div",{className:t.className,onClick:n=>n.stopPropagation(),onKeyDown:SOt,ref:e},t.children));function wC(t){let e=[];return(t||[]).forEach(n=>{let{value:o,children:i}=n;e.push(o),i&&(e=[].concat(Xa(e),Xa(wC(i))))}),e}function POt(t){return t.some(e=>{let{children:n}=e;return n})}function HJe(t,e){return typeof e=="string"||typeof e=="number"?e==null?void 0:e.toString().toLowerCase().includes(t.trim().toLowerCase()):!1}function MJe(t){let{filters:e,prefixCls:n,filteredKeys:o,filterMultiple:i,searchValue:r,filterSearch:a}=t;return e.map((l,s)=>{const c=String(l.value);if(l.children)return{key:c||s,label:l.text,popupClassName:`${n}-dropdown-submenu`,children:MJe({filters:l.children,prefixCls:n,filteredKeys:o,filterMultiple:i,searchValue:r,filterSearch:a})};const u=i?Wr:Be,d={key:l.value!==void 0?c:s,label:m.createElement(m.Fragment,null,m.createElement(u,{checked:o.includes(c)}),m.createElement("span",null,l.text))};return r.trim()?typeof a=="function"?a(r,l)?d:null:HJe(r,l.text)?d:null:d})}function Kie(t){return t||[]}function COt(t){var e,n;const{tablePrefixCls:o,prefixCls:i,column:r,dropdownPrefixCls:a,columnKey:l,filterOnClose:s,filterMultiple:c,filterMode:u="menu",filterSearch:d=!1,filterState:f,triggerFilter:p,locale:g,children:y,getPopupContainer:A,rootClassName:x}=t,{filterDropdownOpen:C,onFilterDropdownOpenChange:b,filterResetToDefaultFilteredValue:v,defaultFilteredValue:S,filterDropdownVisible:w,onFilterDropdownVisibleChange:T}=r,[P,R]=m.useState(!1),H=!!(f&&(!((e=f.filteredKeys)===null||e===void 0)&&e.length||f.forceFiltered)),D=de=>{R(de),b==null||b(de),T==null||T(de)},E=(n=C??w)!==null&&n!==void 0?n:P,L=f==null?void 0:f.filteredKeys,[U,F]=MYt(Kie(L)),W=de=>{let{selectedKeys:ve}=de;F(ve)},B=(de,ve)=>{let{node:Pe,checked:me}=ve;W(c?{selectedKeys:de}:{selectedKeys:me&&Pe.key?[Pe.key]:[]})};m.useEffect(()=>{P&&W({selectedKeys:Kie(L)})},[L]);const[k,N]=m.useState([]),j=de=>{N(de)},[Y,_]=m.useState(""),J=de=>{const{value:ve}=de.target;_(ve)};m.useEffect(()=>{P||_("")},[P]);const Q=de=>{const ve=de&&de.length?de:null;if(ve===null&&(!f||!f.filteredKeys)||jce(ve,f==null?void 0:f.filteredKeys,!0))return null;p({column:r,key:l,filteredKeys:ve})},ee=()=>{D(!1),Q(U())},$=function(){let{confirm:de,closeDropdown:ve}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{confirm:!1,closeDropdown:!1};de&&Q([]),ve&&D(!1),_(""),F(v?(S||[]).map(Pe=>String(Pe)):[])},q=function(){let{closeDropdown:de}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{closeDropdown:!0};de&&D(!1),Q(U())},le=(de,ve)=>{ve.source==="trigger"&&(de&&L!==void 0&&F(Kie(L)),D(de),!de&&!r.filterDropdown&&s&&ee())},ie=Gn({[`${a}-menu-without-submenu`]:!POt(r.filters||[])}),pe=de=>{if(de.target.checked){const ve=wC(r==null?void 0:r.filters).map(Pe=>String(Pe));F(ve)}else F([])},ne=de=>{let{filters:ve}=de;return(ve||[]).map((Pe,me)=>{const Re=String(Pe.value),ze={title:Pe.text,key:Pe.value!==void 0?Re:String(me)};return Pe.children&&(ze.children=ne({filters:Pe.children})),ze})},Z=de=>{var ve;return Object.assign(Object.assign({},de),{text:de.title,value:de.key,children:((ve=de.children)===null||ve===void 0?void 0:ve.map(Pe=>Z(Pe)))||[]})};let he;if(typeof r.filterDropdown=="function")he=r.filterDropdown({prefixCls:`${a}-custom`,setSelectedKeys:de=>W({selectedKeys:de}),selectedKeys:U(),confirm:q,clearFilters:$,filters:r.filters,visible:E,close:()=>{D(!1)}});else if(r.filterDropdown)he=r.filterDropdown;else{const de=U()||[],ve=()=>{const me=m.createElement(ag,{image:ag.PRESENTED_IMAGE_SIMPLE,description:g.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}});if((r.filters||[]).length===0)return me;if(u==="tree")return m.createElement(m.Fragment,null,m.createElement(Wxe,{filterSearch:d,value:Y,onChange:J,tablePrefixCls:o,locale:g}),m.createElement("div",{className:`${o}-filter-dropdown-tree`},c?m.createElement(Wr,{checked:de.length===wC(r.filters).length,indeterminate:de.length>0&&de.lengthtypeof d=="function"?d(Y,Z(Ae)):HJe(Y,Ae.title):void 0})));const Re=MJe({filters:r.filters||[],filterSearch:d,prefixCls:i,filteredKeys:U(),filterMultiple:c,searchValue:Y}),ze=Re.every(Ae=>Ae===null);return m.createElement(m.Fragment,null,m.createElement(Wxe,{filterSearch:d,value:Y,onChange:J,tablePrefixCls:o,locale:g}),ze?me:m.createElement(EH,{selectable:!0,multiple:c,prefixCls:`${a}-menu`,className:ie,onSelect:W,onDeselect:W,selectedKeys:de,getPopupContainer:A,openKeys:k,onOpenChange:j,items:Re}))},Pe=()=>v?jce((S||[]).map(me=>String(me)),de,!0):de.length===0;he=m.createElement(m.Fragment,null,ve(),m.createElement("div",{className:`${i}-dropdown-btns`},m.createElement(no,{type:"link",size:"small",disabled:Pe(),onClick:()=>$()},g.filterReset),m.createElement(no,{type:"primary",size:"small",onClick:ee},g.filterConfirm)))}r.filterDropdown&&(he=m.createElement(aGe,{selectable:void 0},he));const fe=()=>m.createElement(TOt,{className:`${i}-dropdown`},he);let se;typeof r.filterIcon=="function"?se=r.filterIcon(H):r.filterIcon?se=r.filterIcon:se=m.createElement(HYt,null);const{direction:oe}=m.useContext(Mi);return m.createElement("div",{className:`${i}-column`},m.createElement("span",{className:`${o}-column-title`},y),m.createElement(W7,{dropdownRender:fe,trigger:["click"],open:E,onOpenChange:le,getPopupContainer:A,placement:oe==="rtl"?"bottomLeft":"bottomRight",rootClassName:x},m.createElement("span",{role:"button",tabIndex:-1,className:Gn(`${i}-trigger`,{active:H}),onClick:de=>{de.stopPropagation()}},se)))}function eue(t,e,n){let o=[];return(t||[]).forEach((i,r)=>{var a;const l=BW(r,n);if(i.filters||"filterDropdown"in i||"onFilter"in i)if("filteredValue"in i){let s=i.filteredValue;"filterDropdown"in i||(s=(a=s==null?void 0:s.map(String))!==null&&a!==void 0?a:s),o.push({column:i,key:Vx(i,l),filteredKeys:s,forceFiltered:i.filtered})}else o.push({column:i,key:Vx(i,l),filteredKeys:e&&i.defaultFilteredValue?i.defaultFilteredValue:void 0,forceFiltered:i.filtered});"children"in i&&(o=[].concat(Xa(o),Xa(eue(i.children,e,l))))}),o}function IJe(t,e,n,o,i,r,a,l,s){return n.map((c,u)=>{const d=BW(u,l),{filterOnClose:f=!0,filterMultiple:p=!0,filterMode:g,filterSearch:y}=c;let A=c;if(A.filters||A.filterDropdown){const x=Vx(A,d),C=o.find(b=>{let{key:v}=b;return x===v});A=Object.assign(Object.assign({},A),{title:b=>m.createElement(COt,{tablePrefixCls:t,prefixCls:`${t}-filter`,dropdownPrefixCls:e,column:A,columnKey:x,filterState:C,filterOnClose:f,filterMultiple:p,filterMode:g,filterSearch:y,triggerFilter:r,locale:i,getPopupContainer:a,rootClassName:s},B$(c.title,b))})}return"children"in A&&(A=Object.assign(Object.assign({},A),{children:IJe(t,e,A.children,o,i,r,a,d,s)})),A})}function Nxe(t){const e={};return t.forEach(n=>{let{key:o,filteredKeys:i,column:r}=n;const a=o,{filters:l,filterDropdown:s}=r;if(s)e[a]=i||null;else if(Array.isArray(i)){const c=wC(l);e[a]=c.filter(u=>i.includes(String(u)))}else e[a]=null}),e}function tue(t,e,n){return e.reduce((o,i)=>{const{column:{onFilter:r,filters:a},filteredKeys:l}=i;return r&&l&&l.length?o.map(s=>Object.assign({},s)).filter(s=>l.some(c=>{const u=wC(a),d=u.findIndex(p=>String(p)===String(c)),f=d!==-1?u[d]:c;return s[n]&&(s[n]=tue(s[n],e,n)),r(f,s)})):o},t)}const zJe=t=>t.flatMap(e=>"children"in e?[e].concat(Xa(zJe(e.children||[]))):[e]);function ROt(t){let{prefixCls:e,dropdownPrefixCls:n,mergedColumns:o,onFilterChange:i,getPopupContainer:r,locale:a,rootClassName:l}=t;Hb();const s=m.useMemo(()=>zJe(o||[]),[o]),[c,u]=m.useState(()=>eue(s,!0)),d=m.useMemo(()=>{const y=eue(s,!1);if(y.length===0)return y;let A=!0;if(y.forEach(x=>{let{filteredKeys:C}=x;C!==void 0&&(A=!1)}),A){const x=(s||[]).map((C,b)=>Vx(C,BW(b)));return c.filter(C=>{let{key:b}=C;return x.includes(b)}).map(C=>{const b=s[x.findIndex(v=>v===C.key)];return Object.assign(Object.assign({},C),{column:Object.assign(Object.assign({},C.column),b),forceFiltered:b.filtered})})}return y},[s,c]),f=m.useMemo(()=>Nxe(d),[d]),p=y=>{const A=d.filter(x=>{let{key:C}=x;return C!==y.key});A.push(y),u(A),i(Nxe(A),A)};return[y=>IJe(e,n,y,d,a,p,r,void 0,l),d,f]}function HOt(t,e,n){const o=m.useRef({});function i(r){if(!o.current||o.current.data!==t||o.current.childrenColumnName!==e||o.current.getRowKey!==n){let s=function(c){c.forEach((u,d)=>{const f=n(u,d);l.set(f,u),u&&typeof u=="object"&&e in u&&s(u[e]||[])})};var a=s;const l=new Map;s(t),o.current={data:t,childrenColumnName:e,kvMap:l,getRowKey:n}}return o.current.kvMap.get(r)}return[i]}var MOt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const r=t[i];typeof r!="function"&&(n[i]=r)}),n}function zOt(t,e,n){const o=n&&typeof n=="object"?n:{},{total:i=0}=o,r=MOt(o,["total"]),[a,l]=m.useState(()=>({current:"defaultCurrent"in r?r.defaultCurrent:1,pageSize:"defaultPageSize"in r?r.defaultPageSize:DJe})),s=kXe(a,r,{total:i>0?i:t}),c=Math.ceil((i||t)/s.pageSize);s.current>c&&(s.current=c||1);const u=(f,p)=>{l({current:f??1,pageSize:p||s.pageSize})},d=(f,p)=>{var g;n&&((g=n.onChange)===null||g===void 0||g.call(n,f,p)),u(f,p),e(f,p||(s==null?void 0:s.pageSize))};return n===!1?[{},()=>{}]:[Object.assign(Object.assign({},s),{onChange:d}),u]}var DOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"outlined"},EOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:DOt}))},EJe=m.forwardRef(EOt),kOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z"}}]},name:"caret-up",theme:"outlined"},FOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:kOt}))},LOt=m.forwardRef(FOt);const N_="ascend",qie="descend";function DG(t){return typeof t.sorter=="object"&&typeof t.sorter.multiple=="number"?t.sorter.multiple:!1}function Uxe(t){return typeof t=="function"?t:t&&typeof t=="object"&&t.compare?t.compare:!1}function WOt(t,e){return e?t[t.indexOf(e)+1]:t[0]}function nue(t,e,n){let o=[];function i(r,a){o.push({column:r,key:Vx(r,a),multiplePriority:DG(r),sortOrder:r.sortOrder})}return(t||[]).forEach((r,a)=>{const l=BW(a,n);r.children?("sortOrder"in r&&i(r,l),o=[].concat(Xa(o),Xa(nue(r.children,e,l)))):r.sorter&&("sortOrder"in r?i(r,l):e&&r.defaultSortOrder&&o.push({column:r,key:Vx(r,l),multiplePriority:DG(r),sortOrder:r.defaultSortOrder}))}),o}function kJe(t,e,n,o,i,r,a,l){return(e||[]).map((s,c)=>{const u=BW(c,l);let d=s;if(d.sorter){const f=d.sortDirections||i,p=d.showSorterTooltip===void 0?a:d.showSorterTooltip,g=Vx(d,u),y=n.find(P=>{let{key:R}=P;return R===g}),A=y?y.sortOrder:null,x=WOt(f,A);let C;if(s.sortIcon)C=s.sortIcon({sortOrder:A});else{const P=f.includes(N_)&&m.createElement(LOt,{className:Gn(`${t}-column-sorter-up`,{active:A===N_})}),R=f.includes(qie)&&m.createElement(EJe,{className:Gn(`${t}-column-sorter-down`,{active:A===qie})});C=m.createElement("span",{className:Gn(`${t}-column-sorter`,{[`${t}-column-sorter-full`]:!!(P&&R)})},m.createElement("span",{className:`${t}-column-sorter-inner`,"aria-hidden":"true"},P,R))}const{cancelSort:b,triggerAsc:v,triggerDesc:S}=r||{};let w=b;x===qie?w=S:x===N_&&(w=v);const T=typeof p=="object"?Object.assign({title:w},p):{title:w};d=Object.assign(Object.assign({},d),{className:Gn(d.className,{[`${t}-column-sort`]:A}),title:P=>{const R=`${t}-column-sorters`,H=m.createElement("span",{className:`${t}-column-title`},B$(s.title,P)),D=m.createElement("div",{className:R},H,C);return p?typeof p!="boolean"&&(p==null?void 0:p.target)==="sorter-icon"?m.createElement("div",{className:`${R} ${t}-column-sorters-tooltip-target-sorter`},H,m.createElement(J6,Object.assign({},T),C)):m.createElement(J6,Object.assign({},T),D):D},onHeaderCell:P=>{const R=s.onHeaderCell&&s.onHeaderCell(P)||{},H=R.onClick,D=R.onKeyDown;R.onClick=U=>{o({column:s,key:g,sortOrder:x,multiplePriority:DG(s)}),H==null||H(U)},R.onKeyDown=U=>{U.keyCode===hr.ENTER&&(o({column:s,key:g,sortOrder:x,multiplePriority:DG(s)}),D==null||D(U))};const E=PYt(s.title,{}),L=E==null?void 0:E.toString();return A?R["aria-sort"]=A==="ascend"?"ascending":"descending":R["aria-label"]=L||"",R.className=Gn(R.className,`${t}-column-has-sorters`),R.tabIndex=0,s.ellipsis&&(R.title=(E??"").toString()),R}})}return"children"in d&&(d=Object.assign(Object.assign({},d),{children:kJe(t,d.children,n,o,i,r,a,u)})),d})}const Bxe=t=>{const{column:e,sortOrder:n}=t;return{column:e,order:n,field:e.dataIndex,columnKey:e.key}},jxe=t=>{const e=t.filter(n=>{let{sortOrder:o}=n;return o}).map(Bxe);if(e.length===0&&t.length){const n=t.length-1;return Object.assign(Object.assign({},Bxe(t[n])),{column:void 0})}return e.length<=1?e[0]||{}:e};function oue(t,e,n){const o=e.slice().sort((a,l)=>l.multiplePriority-a.multiplePriority),i=t.slice(),r=o.filter(a=>{let{column:{sorter:l},sortOrder:s}=a;return Uxe(l)&&s});return r.length?i.sort((a,l)=>{for(let s=0;s{const l=a[n];return l?Object.assign(Object.assign({},a),{[n]:oue(l,e,n)}):a}):i}function NOt(t){let{prefixCls:e,mergedColumns:n,onSorterChange:o,sortDirections:i,tableLocale:r,showSorterTooltip:a}=t;const[l,s]=m.useState(nue(n,!0)),c=m.useMemo(()=>{let g=!0;const y=nue(n,!1);if(!y.length)return l;const A=[];function x(b){g?A.push(b):A.push(Object.assign(Object.assign({},b),{sortOrder:null}))}let C=null;return y.forEach(b=>{C===null?(x(b),b.sortOrder&&(b.multiplePriority===!1?g=!1:C=!0)):(C&&b.multiplePriority!==!1||(g=!1),x(b))}),A},[n,l]),u=m.useMemo(()=>{const g=c.map(y=>{let{column:A,sortOrder:x}=y;return{column:A,order:x}});return{sortColumns:g,sortColumn:g[0]&&g[0].column,sortOrder:g[0]&&g[0].order}},[c]),d=g=>{let y;g.multiplePriority===!1||!c.length||c[0].multiplePriority===!1?y=[g]:y=[].concat(Xa(c.filter(A=>{let{key:x}=A;return x!==g.key})),[g]),s(y),o(jxe(y),y)};return[g=>kJe(e,g,c,d,i,r,a),c,u,()=>jxe(c)]}function FJe(t,e){return t.map(n=>{const o=Object.assign({},n);return o.title=B$(n.title,e),"children"in o&&(o.children=FJe(o.children,e)),o})}function UOt(t){return[m.useCallback(n=>FJe(n,t),[t])]}const BOt=rJe((t,e)=>{const{_renderTimes:n}=t,{_renderTimes:o}=e;return n!==o}),jOt=lJe((t,e)=>{const{_renderTimes:n}=t,{_renderTimes:o}=e;return n!==o}),YOt=t=>{const{componentCls:e,lineWidth:n,lineType:o,tableBorderColor:i,tableHeaderBg:r,tablePaddingVertical:a,tablePaddingHorizontal:l,calc:s}=t,c=`${Ut(n)} ${o} ${i}`,u=(d,f,p)=>({[`&${e}-${d}`]:{[`> ${e}-container`]:{[`> ${e}-content, > ${e}-body`]:{"\n > table > tbody > tr > th,\n > table > tbody > tr > td\n ":{[`> ${e}-expanded-row-fixed`]:{margin:`${Ut(s(f).mul(-1).equal())} ${Ut(s(s(p).add(n)).mul(-1).equal())}`}}}}}});return{[`${e}-wrapper`]:{[`${e}${e}-bordered`]:Object.assign(Object.assign(Object.assign({[`> ${e}-title`]:{border:c,borderBottom:0},[`> ${e}-container`]:{borderInlineStart:c,borderTop:c,[` > ${e}-content, > ${e}-header, @@ -4687,10 +4687,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `]:{"> table":{"\n > thead > tr > th,\n > thead > tr > td,\n > tbody > tr > th,\n > tbody > tr > td,\n > tfoot > tr > th,\n > tfoot > tr > td\n ":{borderInlineEnd:c},"> thead":{"> tr:not(:last-child) > th":{borderBottom:c},"> tr > th::before":{backgroundColor:"transparent !important"}},"\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n ":{[`> ${e}-cell-fix-right-first::after`]:{borderInlineEnd:c}},"\n > tbody > tr > th,\n > tbody > tr > td\n ":{[`> ${e}-expanded-row-fixed`]:{margin:`${Ut(s(a).mul(-1).equal())} ${Ut(s(s(l).add(n)).mul(-1).equal())}`,"&::after":{position:"absolute",top:0,insetInlineEnd:n,bottom:0,borderInlineEnd:c,content:'""'}}}}}},[`&${e}-scroll-horizontal`]:{[`> ${e}-container > ${e}-body`]:{"> table > tbody":{[` > tr${e}-expanded-row, > tr${e}-placeholder - `]:{"> th, > td":{borderInlineEnd:0}}}}}},u("middle",t.tablePaddingVerticalMiddle,t.tablePaddingHorizontalMiddle)),u("small",t.tablePaddingVerticalSmall,t.tablePaddingHorizontalSmall)),{[`> ${e}-footer`]:{border:c,borderTop:0}}),[`${e}-cell`]:{[`${e}-container:first-child`]:{borderTop:0},"&-scrollbar:not([rowspan])":{boxShadow:`0 ${Ut(n)} 0 ${Ut(n)} ${r}`}},[`${e}-bordered ${e}-cell-scrollbar`]:{borderInlineEnd:c}}}},VOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper`]:{[`${e}-cell-ellipsis`]:Object.assign(Object.assign({},Yx),{wordBreak:"keep-all",[` + `]:{"> th, > td":{borderInlineEnd:0}}}}}},u("middle",t.tablePaddingVerticalMiddle,t.tablePaddingHorizontalMiddle)),u("small",t.tablePaddingVerticalSmall,t.tablePaddingHorizontalSmall)),{[`> ${e}-footer`]:{border:c,borderTop:0}}),[`${e}-cell`]:{[`${e}-container:first-child`]:{borderTop:0},"&-scrollbar:not([rowspan])":{boxShadow:`0 ${Ut(n)} 0 ${Ut(n)} ${r}`}},[`${e}-bordered ${e}-cell-scrollbar`]:{borderInlineEnd:c}}}},OOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper`]:{[`${e}-cell-ellipsis`]:Object.assign(Object.assign({},Yx),{wordBreak:"keep-all",[` &${e}-cell-fix-left-last, &${e}-cell-fix-right-first - `]:{overflow:"visible",[`${e}-cell-content`]:{display:"block",overflow:"hidden",textOverflow:"ellipsis"}},[`${e}-column-title`]:{overflow:"hidden",textOverflow:"ellipsis",wordBreak:"keep-all"}})}}},GOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper`]:{[`${e}-tbody > tr${e}-placeholder`]:{textAlign:"center",color:t.colorTextDisabled,"\n &:hover > th,\n &:hover > td,\n ":{background:t.colorBgContainer}}}}},XOt=t=>{const{componentCls:e,antCls:n,motionDurationSlow:o,lineWidth:i,paddingXS:r,lineType:a,tableBorderColor:l,tableExpandIconBg:s,tableExpandColumnWidth:c,borderRadius:u,tablePaddingVertical:d,tablePaddingHorizontal:f,tableExpandedRowBg:p,paddingXXS:g,expandIconMarginTop:y,expandIconSize:A,expandIconHalfInner:x,expandIconScale:C,calc:b}=t,v=`${Ut(i)} ${a} ${l}`,S=b(g).sub(i).equal();return{[`${e}-wrapper`]:{[`${e}-expand-icon-col`]:{width:c},[`${e}-row-expand-icon-cell`]:{textAlign:"center",[`${e}-row-expand-icon`]:{display:"inline-flex",float:"none",verticalAlign:"sub"}},[`${e}-row-indent`]:{height:1,float:"left"},[`${e}-row-expand-icon`]:Object.assign(Object.assign({},Lge(t)),{position:"relative",float:"left",boxSizing:"border-box",width:A,height:A,padding:0,color:"inherit",lineHeight:Ut(A),background:s,border:v,borderRadius:u,transform:`scale(${C})`,transition:`all ${o}`,userSelect:"none","&:focus, &:hover, &:active":{borderColor:"currentcolor"},"&::before, &::after":{position:"absolute",background:"currentcolor",transition:`transform ${o} ease-out`,content:'""'},"&::before":{top:x,insetInlineEnd:S,insetInlineStart:S,height:i},"&::after":{top:S,bottom:S,insetInlineStart:x,width:i,transform:"rotate(90deg)"},"&-collapsed::before":{transform:"rotate(-180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"},"&-spaced":{"&::before, &::after":{display:"none",content:"none"},background:"transparent",border:0,visibility:"hidden"}}),[`${e}-row-indent + ${e}-row-expand-icon`]:{marginTop:y,marginInlineEnd:r},[`tr${e}-expanded-row`]:{"&, &:hover":{"> th, > td":{background:p}},[`${n}-descriptions-view`]:{display:"flex",table:{flex:"auto",width:"auto"}}},[`${e}-expanded-row-fixed`]:{position:"relative",margin:`${Ut(b(d).mul(-1).equal())} ${Ut(b(f).mul(-1).equal())}`,padding:`${Ut(d)} ${Ut(f)}`}}}},JOt=t=>{const{componentCls:e,antCls:n,iconCls:o,tableFilterDropdownWidth:i,tableFilterDropdownSearchWidth:r,paddingXXS:a,paddingXS:l,colorText:s,lineWidth:c,lineType:u,tableBorderColor:d,headerIconColor:f,fontSizeSM:p,tablePaddingHorizontal:g,borderRadius:y,motionDurationSlow:A,colorTextDescription:x,colorPrimary:C,tableHeaderFilterActiveBg:b,colorTextDisabled:v,tableFilterDropdownBg:S,tableFilterDropdownHeight:w,controlItemBgHover:T,controlItemBgActive:P,boxShadowSecondary:R,filterDropdownMenuBg:H,calc:D}=t,E=`${n}-dropdown`,L=`${e}-filter-dropdown`,U=`${n}-tree`,F=`${Ut(c)} ${u} ${d}`;return[{[`${e}-wrapper`]:{[`${e}-filter-column`]:{display:"flex",justifyContent:"space-between"},[`${e}-filter-trigger`]:{position:"relative",display:"flex",alignItems:"center",marginBlock:D(a).mul(-1).equal(),marginInline:`${Ut(a)} ${Ut(D(g).div(2).mul(-1).equal())}`,padding:`0 ${Ut(a)}`,color:f,fontSize:p,borderRadius:y,cursor:"pointer",transition:`all ${A}`,"&:hover":{color:x,background:b},"&.active":{color:C}}}},{[`${n}-dropdown`]:{[L]:Object.assign(Object.assign({},$a(t)),{minWidth:i,backgroundColor:S,borderRadius:y,boxShadow:R,overflow:"hidden",[`${E}-menu`]:{maxHeight:w,overflowX:"hidden",border:0,boxShadow:"none",borderRadius:"unset",backgroundColor:H,"&:empty::after":{display:"block",padding:`${Ut(l)} 0`,color:v,fontSize:p,textAlign:"center",content:'"Not Found"'}},[`${L}-tree`]:{paddingBlock:`${Ut(l)} 0`,paddingInline:l,[U]:{padding:0},[`${U}-treenode ${U}-node-content-wrapper:hover`]:{backgroundColor:T},[`${U}-treenode-checkbox-checked ${U}-node-content-wrapper`]:{"&, &:hover":{backgroundColor:P}}},[`${L}-search`]:{padding:l,borderBottom:F,"&-input":{input:{minWidth:r},[o]:{color:v}}},[`${L}-checkall`]:{width:"100%",marginBottom:a,marginInlineStart:a},[`${L}-btns`]:{display:"flex",justifyContent:"space-between",padding:`${Ut(D(l).sub(c).equal())} ${Ut(l)}`,overflow:"hidden",borderTop:F}})}},{[`${n}-dropdown ${L}, ${L}-submenu`]:{[`${n}-checkbox-wrapper + span`]:{paddingInlineStart:l,color:s},"> ul":{maxHeight:"calc(100vh - 130px)",overflowX:"hidden",overflowY:"auto"}}}]},KOt=t=>{const{componentCls:e,lineWidth:n,colorSplit:o,motionDurationSlow:i,zIndexTableFixed:r,tableBg:a,zIndexTableSticky:l,calc:s}=t,c=o;return{[`${e}-wrapper`]:{[` + `]:{overflow:"visible",[`${e}-cell-content`]:{display:"block",overflow:"hidden",textOverflow:"ellipsis"}},[`${e}-column-title`]:{overflow:"hidden",textOverflow:"ellipsis",wordBreak:"keep-all"}})}}},_Ot=t=>{const{componentCls:e}=t;return{[`${e}-wrapper`]:{[`${e}-tbody > tr${e}-placeholder`]:{textAlign:"center",color:t.colorTextDisabled,"\n &:hover > th,\n &:hover > td,\n ":{background:t.colorBgContainer}}}}},VOt=t=>{const{componentCls:e,antCls:n,motionDurationSlow:o,lineWidth:i,paddingXS:r,lineType:a,tableBorderColor:l,tableExpandIconBg:s,tableExpandColumnWidth:c,borderRadius:u,tablePaddingVertical:d,tablePaddingHorizontal:f,tableExpandedRowBg:p,paddingXXS:g,expandIconMarginTop:y,expandIconSize:A,expandIconHalfInner:x,expandIconScale:C,calc:b}=t,v=`${Ut(i)} ${a} ${l}`,S=b(g).sub(i).equal();return{[`${e}-wrapper`]:{[`${e}-expand-icon-col`]:{width:c},[`${e}-row-expand-icon-cell`]:{textAlign:"center",[`${e}-row-expand-icon`]:{display:"inline-flex",float:"none",verticalAlign:"sub"}},[`${e}-row-indent`]:{height:1,float:"left"},[`${e}-row-expand-icon`]:Object.assign(Object.assign({},Lge(t)),{position:"relative",float:"left",boxSizing:"border-box",width:A,height:A,padding:0,color:"inherit",lineHeight:Ut(A),background:s,border:v,borderRadius:u,transform:`scale(${C})`,transition:`all ${o}`,userSelect:"none","&:focus, &:hover, &:active":{borderColor:"currentcolor"},"&::before, &::after":{position:"absolute",background:"currentcolor",transition:`transform ${o} ease-out`,content:'""'},"&::before":{top:x,insetInlineEnd:S,insetInlineStart:S,height:i},"&::after":{top:S,bottom:S,insetInlineStart:x,width:i,transform:"rotate(90deg)"},"&-collapsed::before":{transform:"rotate(-180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"},"&-spaced":{"&::before, &::after":{display:"none",content:"none"},background:"transparent",border:0,visibility:"hidden"}}),[`${e}-row-indent + ${e}-row-expand-icon`]:{marginTop:y,marginInlineEnd:r},[`tr${e}-expanded-row`]:{"&, &:hover":{"> th, > td":{background:p}},[`${n}-descriptions-view`]:{display:"flex",table:{flex:"auto",width:"auto"}}},[`${e}-expanded-row-fixed`]:{position:"relative",margin:`${Ut(b(d).mul(-1).equal())} ${Ut(b(f).mul(-1).equal())}`,padding:`${Ut(d)} ${Ut(f)}`}}}},GOt=t=>{const{componentCls:e,antCls:n,iconCls:o,tableFilterDropdownWidth:i,tableFilterDropdownSearchWidth:r,paddingXXS:a,paddingXS:l,colorText:s,lineWidth:c,lineType:u,tableBorderColor:d,headerIconColor:f,fontSizeSM:p,tablePaddingHorizontal:g,borderRadius:y,motionDurationSlow:A,colorTextDescription:x,colorPrimary:C,tableHeaderFilterActiveBg:b,colorTextDisabled:v,tableFilterDropdownBg:S,tableFilterDropdownHeight:w,controlItemBgHover:T,controlItemBgActive:P,boxShadowSecondary:R,filterDropdownMenuBg:H,calc:D}=t,E=`${n}-dropdown`,L=`${e}-filter-dropdown`,U=`${n}-tree`,F=`${Ut(c)} ${u} ${d}`;return[{[`${e}-wrapper`]:{[`${e}-filter-column`]:{display:"flex",justifyContent:"space-between"},[`${e}-filter-trigger`]:{position:"relative",display:"flex",alignItems:"center",marginBlock:D(a).mul(-1).equal(),marginInline:`${Ut(a)} ${Ut(D(g).div(2).mul(-1).equal())}`,padding:`0 ${Ut(a)}`,color:f,fontSize:p,borderRadius:y,cursor:"pointer",transition:`all ${A}`,"&:hover":{color:x,background:b},"&.active":{color:C}}}},{[`${n}-dropdown`]:{[L]:Object.assign(Object.assign({},$a(t)),{minWidth:i,backgroundColor:S,borderRadius:y,boxShadow:R,overflow:"hidden",[`${E}-menu`]:{maxHeight:w,overflowX:"hidden",border:0,boxShadow:"none",borderRadius:"unset",backgroundColor:H,"&:empty::after":{display:"block",padding:`${Ut(l)} 0`,color:v,fontSize:p,textAlign:"center",content:'"Not Found"'}},[`${L}-tree`]:{paddingBlock:`${Ut(l)} 0`,paddingInline:l,[U]:{padding:0},[`${U}-treenode ${U}-node-content-wrapper:hover`]:{backgroundColor:T},[`${U}-treenode-checkbox-checked ${U}-node-content-wrapper`]:{"&, &:hover":{backgroundColor:P}}},[`${L}-search`]:{padding:l,borderBottom:F,"&-input":{input:{minWidth:r},[o]:{color:v}}},[`${L}-checkall`]:{width:"100%",marginBottom:a,marginInlineStart:a},[`${L}-btns`]:{display:"flex",justifyContent:"space-between",padding:`${Ut(D(l).sub(c).equal())} ${Ut(l)}`,overflow:"hidden",borderTop:F}})}},{[`${n}-dropdown ${L}, ${L}-submenu`]:{[`${n}-checkbox-wrapper + span`]:{paddingInlineStart:l,color:s},"> ul":{maxHeight:"calc(100vh - 130px)",overflowX:"hidden",overflowY:"auto"}}}]},XOt=t=>{const{componentCls:e,lineWidth:n,colorSplit:o,motionDurationSlow:i,zIndexTableFixed:r,tableBg:a,zIndexTableSticky:l,calc:s}=t,c=o;return{[`${e}-wrapper`]:{[` ${e}-cell-fix-left, ${e}-cell-fix-right `]:{position:"sticky !important",zIndex:r,background:a},[` @@ -4710,11 +4710,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho ${e}-cell-fix-left-last::after, ${e}-cell-fix-right-first::after, ${e}-cell-fix-right-last::after - `]:{boxShadow:"none"}}}}},qOt=t=>{const{componentCls:e,antCls:n,margin:o}=t;return{[`${e}-wrapper`]:{[`${e}-pagination${n}-pagination`]:{margin:`${Ut(o)} 0`},[`${e}-pagination`]:{display:"flex",flexWrap:"wrap",rowGap:t.paddingXS,"> *":{flex:"none"},"&-left":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-right":{justifyContent:"flex-end"}}}}},$Ot=t=>{const{componentCls:e,tableRadius:n}=t;return{[`${e}-wrapper`]:{[e]:{[`${e}-title, ${e}-header`]:{borderRadius:`${Ut(n)} ${Ut(n)} 0 0`},[`${e}-title + ${e}-container`]:{borderStartStartRadius:0,borderStartEndRadius:0,[`${e}-header, table`]:{borderRadius:0},"table > thead > tr:first-child":{"th:first-child, th:last-child, td:first-child, td:last-child":{borderRadius:0}}},"&-container":{borderStartStartRadius:n,borderStartEndRadius:n,"table > thead > tr:first-child":{"> *:first-child":{borderStartStartRadius:n},"> *:last-child":{borderStartEndRadius:n}}},"&-footer":{borderRadius:`0 0 ${Ut(n)} ${Ut(n)}`}}}}},QOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper-rtl`]:{direction:"rtl",table:{direction:"rtl"},[`${e}-pagination-left`]:{justifyContent:"flex-end"},[`${e}-pagination-right`]:{justifyContent:"flex-start"},[`${e}-row-expand-icon`]:{float:"right","&::after":{transform:"rotate(-90deg)"},"&-collapsed::before":{transform:"rotate(180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"}},[`${e}-container`]:{"&::before":{insetInlineStart:"unset",insetInlineEnd:0},"&::after":{insetInlineStart:0,insetInlineEnd:"unset"},[`${e}-row-indent`]:{float:"right"}}}}},ZOt=t=>{const{componentCls:e,antCls:n,iconCls:o,fontSizeIcon:i,padding:r,paddingXS:a,headerIconColor:l,headerIconHoverColor:s,tableSelectionColumnWidth:c,tableSelectedRowBg:u,tableSelectedRowHoverBg:d,tableRowHoverBg:f,tablePaddingHorizontal:p,calc:g}=t;return{[`${e}-wrapper`]:{[`${e}-selection-col`]:{width:c,[`&${e}-selection-col-with-dropdown`]:{width:g(c).add(i).add(g(r).div(4)).equal()}},[`${e}-bordered ${e}-selection-col`]:{width:g(c).add(g(a).mul(2)).equal(),[`&${e}-selection-col-with-dropdown`]:{width:g(c).add(i).add(g(r).div(4)).add(g(a).mul(2)).equal()}},[` + `]:{boxShadow:"none"}}}}},JOt=t=>{const{componentCls:e,antCls:n,margin:o}=t;return{[`${e}-wrapper`]:{[`${e}-pagination${n}-pagination`]:{margin:`${Ut(o)} 0`},[`${e}-pagination`]:{display:"flex",flexWrap:"wrap",rowGap:t.paddingXS,"> *":{flex:"none"},"&-left":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-right":{justifyContent:"flex-end"}}}}},KOt=t=>{const{componentCls:e,tableRadius:n}=t;return{[`${e}-wrapper`]:{[e]:{[`${e}-title, ${e}-header`]:{borderRadius:`${Ut(n)} ${Ut(n)} 0 0`},[`${e}-title + ${e}-container`]:{borderStartStartRadius:0,borderStartEndRadius:0,[`${e}-header, table`]:{borderRadius:0},"table > thead > tr:first-child":{"th:first-child, th:last-child, td:first-child, td:last-child":{borderRadius:0}}},"&-container":{borderStartStartRadius:n,borderStartEndRadius:n,"table > thead > tr:first-child":{"> *:first-child":{borderStartStartRadius:n},"> *:last-child":{borderStartEndRadius:n}}},"&-footer":{borderRadius:`0 0 ${Ut(n)} ${Ut(n)}`}}}}},qOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper-rtl`]:{direction:"rtl",table:{direction:"rtl"},[`${e}-pagination-left`]:{justifyContent:"flex-end"},[`${e}-pagination-right`]:{justifyContent:"flex-start"},[`${e}-row-expand-icon`]:{float:"right","&::after":{transform:"rotate(-90deg)"},"&-collapsed::before":{transform:"rotate(180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"}},[`${e}-container`]:{"&::before":{insetInlineStart:"unset",insetInlineEnd:0},"&::after":{insetInlineStart:0,insetInlineEnd:"unset"},[`${e}-row-indent`]:{float:"right"}}}}},$Ot=t=>{const{componentCls:e,antCls:n,iconCls:o,fontSizeIcon:i,padding:r,paddingXS:a,headerIconColor:l,headerIconHoverColor:s,tableSelectionColumnWidth:c,tableSelectedRowBg:u,tableSelectedRowHoverBg:d,tableRowHoverBg:f,tablePaddingHorizontal:p,calc:g}=t;return{[`${e}-wrapper`]:{[`${e}-selection-col`]:{width:c,[`&${e}-selection-col-with-dropdown`]:{width:g(c).add(i).add(g(r).div(4)).equal()}},[`${e}-bordered ${e}-selection-col`]:{width:g(c).add(g(a).mul(2)).equal(),[`&${e}-selection-col-with-dropdown`]:{width:g(c).add(i).add(g(r).div(4)).add(g(a).mul(2)).equal()}},[` table tr th${e}-selection-column, table tr td${e}-selection-column, ${e}-selection-column - `]:{paddingInlineEnd:t.paddingXS,paddingInlineStart:t.paddingXS,textAlign:"center",[`${n}-radio-wrapper`]:{marginInlineEnd:0}},[`table tr th${e}-selection-column${e}-cell-fix-left`]:{zIndex:t.zIndexTableFixed+1},[`table tr th${e}-selection-column::after`]:{backgroundColor:"transparent !important"},[`${e}-selection`]:{position:"relative",display:"inline-flex",flexDirection:"column"},[`${e}-selection-extra`]:{position:"absolute",top:0,zIndex:1,cursor:"pointer",transition:`all ${t.motionDurationSlow}`,marginInlineStart:"100%",paddingInlineStart:Ut(g(p).div(4).equal()),[o]:{color:l,fontSize:i,verticalAlign:"baseline","&:hover":{color:s}}},[`${e}-tbody`]:{[`${e}-row`]:{[`&${e}-row-selected`]:{[`> ${e}-cell`]:{background:u,"&-row-hover":{background:d}}},[`> ${e}-cell-row-hover`]:{background:f}}}}}},e_t=t=>{const{componentCls:e,tableExpandColumnWidth:n,calc:o}=t,i=(r,a,l,s)=>({[`${e}${e}-${r}`]:{fontSize:s,[` + `]:{paddingInlineEnd:t.paddingXS,paddingInlineStart:t.paddingXS,textAlign:"center",[`${n}-radio-wrapper`]:{marginInlineEnd:0}},[`table tr th${e}-selection-column${e}-cell-fix-left`]:{zIndex:t.zIndexTableFixed+1},[`table tr th${e}-selection-column::after`]:{backgroundColor:"transparent !important"},[`${e}-selection`]:{position:"relative",display:"inline-flex",flexDirection:"column"},[`${e}-selection-extra`]:{position:"absolute",top:0,zIndex:1,cursor:"pointer",transition:`all ${t.motionDurationSlow}`,marginInlineStart:"100%",paddingInlineStart:Ut(g(p).div(4).equal()),[o]:{color:l,fontSize:i,verticalAlign:"baseline","&:hover":{color:s}}},[`${e}-tbody`]:{[`${e}-row`]:{[`&${e}-row-selected`]:{[`> ${e}-cell`]:{background:u,"&-row-hover":{background:d}}},[`> ${e}-cell-row-hover`]:{background:f}}}}}},QOt=t=>{const{componentCls:e,tableExpandColumnWidth:n,calc:o}=t,i=(r,a,l,s)=>({[`${e}${e}-${r}`]:{fontSize:s,[` ${e}-title, ${e}-footer, ${e}-cell, @@ -4723,10 +4723,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho ${e}-tbody > tr > td, tfoot > tr > th, tfoot > tr > td - `]:{padding:`${Ut(a)} ${Ut(l)}`},[`${e}-filter-trigger`]:{marginInlineEnd:Ut(o(l).div(2).mul(-1).equal())},[`${e}-expanded-row-fixed`]:{margin:`${Ut(o(a).mul(-1).equal())} ${Ut(o(l).mul(-1).equal())}`},[`${e}-tbody`]:{[`${e}-wrapper:only-child ${e}`]:{marginBlock:Ut(o(a).mul(-1).equal()),marginInline:`${Ut(o(n).sub(l).equal())} ${Ut(o(l).mul(-1).equal())}`}},[`${e}-selection-extra`]:{paddingInlineStart:Ut(o(l).div(4).equal())}}});return{[`${e}-wrapper`]:Object.assign(Object.assign({},i("middle",t.tablePaddingVerticalMiddle,t.tablePaddingHorizontalMiddle,t.tableFontSizeMiddle)),i("small",t.tablePaddingVerticalSmall,t.tablePaddingHorizontalSmall,t.tableFontSizeSmall))}},t_t=t=>{const{componentCls:e,marginXXS:n,fontSizeIcon:o,headerIconColor:i,headerIconHoverColor:r}=t;return{[`${e}-wrapper`]:{[`${e}-thead th${e}-column-has-sorters`]:{outline:"none",cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"&:hover":{background:t.tableHeaderSortHoverBg,"&::before":{backgroundColor:"transparent !important"}},"&:focus-visible":{color:t.colorPrimary},[` + `]:{padding:`${Ut(a)} ${Ut(l)}`},[`${e}-filter-trigger`]:{marginInlineEnd:Ut(o(l).div(2).mul(-1).equal())},[`${e}-expanded-row-fixed`]:{margin:`${Ut(o(a).mul(-1).equal())} ${Ut(o(l).mul(-1).equal())}`},[`${e}-tbody`]:{[`${e}-wrapper:only-child ${e}`]:{marginBlock:Ut(o(a).mul(-1).equal()),marginInline:`${Ut(o(n).sub(l).equal())} ${Ut(o(l).mul(-1).equal())}`}},[`${e}-selection-extra`]:{paddingInlineStart:Ut(o(l).div(4).equal())}}});return{[`${e}-wrapper`]:Object.assign(Object.assign({},i("middle",t.tablePaddingVerticalMiddle,t.tablePaddingHorizontalMiddle,t.tableFontSizeMiddle)),i("small",t.tablePaddingVerticalSmall,t.tablePaddingHorizontalSmall,t.tableFontSizeSmall))}},ZOt=t=>{const{componentCls:e,marginXXS:n,fontSizeIcon:o,headerIconColor:i,headerIconHoverColor:r}=t;return{[`${e}-wrapper`]:{[`${e}-thead th${e}-column-has-sorters`]:{outline:"none",cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"&:hover":{background:t.tableHeaderSortHoverBg,"&::before":{backgroundColor:"transparent !important"}},"&:focus-visible":{color:t.colorPrimary},[` &${e}-cell-fix-left:hover, &${e}-cell-fix-right:hover - `]:{background:t.tableFixedHeaderSortActiveBg}},[`${e}-thead th${e}-column-sort`]:{background:t.tableHeaderSortBg,"&::before":{backgroundColor:"transparent !important"}},[`td${e}-column-sort`]:{background:t.tableBodySortBg},[`${e}-column-title`]:{position:"relative",zIndex:1,flex:1},[`${e}-column-sorters`]:{display:"flex",flex:"auto",alignItems:"center",justifyContent:"space-between","&::after":{position:"absolute",inset:0,width:"100%",height:"100%",content:'""'}},[`${e}-column-sorters-tooltip-target-sorter`]:{"&::after":{content:"none"}},[`${e}-column-sorter`]:{marginInlineStart:n,color:i,fontSize:0,transition:`color ${t.motionDurationSlow}`,"&-inner":{display:"inline-flex",flexDirection:"column",alignItems:"center"},"&-up, &-down":{fontSize:o,"&.active":{color:t.colorPrimary}},[`${e}-column-sorter-up + ${e}-column-sorter-down`]:{marginTop:"-0.3em"}},[`${e}-column-sorters:hover ${e}-column-sorter`]:{color:r}}}},n_t=t=>{const{componentCls:e,opacityLoading:n,tableScrollThumbBg:o,tableScrollThumbBgHover:i,tableScrollThumbSize:r,tableScrollBg:a,zIndexTableSticky:l,stickyScrollBarBorderRadius:s,lineWidth:c,lineType:u,tableBorderColor:d}=t,f=`${Ut(c)} ${u} ${d}`;return{[`${e}-wrapper`]:{[`${e}-sticky`]:{"&-holder":{position:"sticky",zIndex:l,background:t.colorBgContainer},"&-scroll":{position:"sticky",bottom:0,height:`${Ut(r)} !important`,zIndex:l,display:"flex",alignItems:"center",background:a,borderTop:f,opacity:n,"&:hover":{transformOrigin:"center bottom"},"&-bar":{height:r,backgroundColor:o,borderRadius:s,transition:`all ${t.motionDurationSlow}, transform none`,position:"absolute",bottom:0,"&:hover, &-active":{backgroundColor:i}}}}}}},Yxe=t=>{const{componentCls:e,lineWidth:n,tableBorderColor:o,calc:i}=t,r=`${Ut(n)} ${t.lineType} ${o}`;return{[`${e}-wrapper`]:{[`${e}-summary`]:{position:"relative",zIndex:t.zIndexTableFixed,background:t.tableBg,"> tr":{"> th, > td":{borderBottom:r}}},[`div${e}-summary`]:{boxShadow:`0 ${Ut(i(n).mul(-1).equal())} 0 ${o}`}}}},o_t=t=>{const{componentCls:e,motionDurationMid:n,lineWidth:o,lineType:i,tableBorderColor:r,calc:a}=t,l=`${Ut(o)} ${i} ${r}`,s=`${e}-expanded-row-cell`;return{[`${e}-wrapper`]:{[`${e}-tbody-virtual`]:{[`${e}-row:not(tr)`]:{display:"flex",boxSizing:"border-box",width:"100%"},[`${e}-cell`]:{borderBottom:l,transition:`background ${n}`},[`${e}-expanded-row`]:{[`${s}${s}-fixed`]:{position:"sticky",insetInlineStart:0,overflow:"hidden",width:`calc(var(--virtual-width) - ${Ut(o)})`,borderInlineEnd:"none"}}},[`${e}-bordered`]:{[`${e}-tbody-virtual`]:{"&:after":{content:'""',insetInline:0,bottom:0,borderBottom:l,position:"absolute"},[`${e}-cell`]:{borderInlineEnd:l,[`&${e}-cell-fix-right-first:before`]:{content:'""',position:"absolute",insetBlock:0,insetInlineStart:a(o).mul(-1).equal(),borderInlineStart:l}}},[`&${e}-virtual`]:{[`${e}-placeholder ${e}-cell`]:{borderInlineEnd:l,borderBottom:l}}}}}},i_t=t=>{const{componentCls:e,fontWeightStrong:n,tablePaddingVertical:o,tablePaddingHorizontal:i,tableExpandColumnWidth:r,lineWidth:a,lineType:l,tableBorderColor:s,tableFontSize:c,tableBg:u,tableRadius:d,tableHeaderTextColor:f,motionDurationMid:p,tableHeaderBg:g,tableHeaderCellSplitColor:y,tableFooterTextColor:A,tableFooterBg:x,calc:C}=t,b=`${Ut(a)} ${l} ${s}`;return{[`${e}-wrapper`]:Object.assign(Object.assign({clear:"both",maxWidth:"100%"},Yk()),{[e]:Object.assign(Object.assign({},$a(t)),{fontSize:c,background:u,borderRadius:`${Ut(d)} ${Ut(d)} 0 0`,scrollbarColor:`${t.tableScrollThumbBg} ${t.tableScrollBg}`}),table:{width:"100%",textAlign:"start",borderRadius:`${Ut(d)} ${Ut(d)} 0 0`,borderCollapse:"separate",borderSpacing:0},[` + `]:{background:t.tableFixedHeaderSortActiveBg}},[`${e}-thead th${e}-column-sort`]:{background:t.tableHeaderSortBg,"&::before":{backgroundColor:"transparent !important"}},[`td${e}-column-sort`]:{background:t.tableBodySortBg},[`${e}-column-title`]:{position:"relative",zIndex:1,flex:1},[`${e}-column-sorters`]:{display:"flex",flex:"auto",alignItems:"center",justifyContent:"space-between","&::after":{position:"absolute",inset:0,width:"100%",height:"100%",content:'""'}},[`${e}-column-sorters-tooltip-target-sorter`]:{"&::after":{content:"none"}},[`${e}-column-sorter`]:{marginInlineStart:n,color:i,fontSize:0,transition:`color ${t.motionDurationSlow}`,"&-inner":{display:"inline-flex",flexDirection:"column",alignItems:"center"},"&-up, &-down":{fontSize:o,"&.active":{color:t.colorPrimary}},[`${e}-column-sorter-up + ${e}-column-sorter-down`]:{marginTop:"-0.3em"}},[`${e}-column-sorters:hover ${e}-column-sorter`]:{color:r}}}},e_t=t=>{const{componentCls:e,opacityLoading:n,tableScrollThumbBg:o,tableScrollThumbBgHover:i,tableScrollThumbSize:r,tableScrollBg:a,zIndexTableSticky:l,stickyScrollBarBorderRadius:s,lineWidth:c,lineType:u,tableBorderColor:d}=t,f=`${Ut(c)} ${u} ${d}`;return{[`${e}-wrapper`]:{[`${e}-sticky`]:{"&-holder":{position:"sticky",zIndex:l,background:t.colorBgContainer},"&-scroll":{position:"sticky",bottom:0,height:`${Ut(r)} !important`,zIndex:l,display:"flex",alignItems:"center",background:a,borderTop:f,opacity:n,"&:hover":{transformOrigin:"center bottom"},"&-bar":{height:r,backgroundColor:o,borderRadius:s,transition:`all ${t.motionDurationSlow}, transform none`,position:"absolute",bottom:0,"&:hover, &-active":{backgroundColor:i}}}}}}},Yxe=t=>{const{componentCls:e,lineWidth:n,tableBorderColor:o,calc:i}=t,r=`${Ut(n)} ${t.lineType} ${o}`;return{[`${e}-wrapper`]:{[`${e}-summary`]:{position:"relative",zIndex:t.zIndexTableFixed,background:t.tableBg,"> tr":{"> th, > td":{borderBottom:r}}},[`div${e}-summary`]:{boxShadow:`0 ${Ut(i(n).mul(-1).equal())} 0 ${o}`}}}},t_t=t=>{const{componentCls:e,motionDurationMid:n,lineWidth:o,lineType:i,tableBorderColor:r,calc:a}=t,l=`${Ut(o)} ${i} ${r}`,s=`${e}-expanded-row-cell`;return{[`${e}-wrapper`]:{[`${e}-tbody-virtual`]:{[`${e}-row:not(tr)`]:{display:"flex",boxSizing:"border-box",width:"100%"},[`${e}-cell`]:{borderBottom:l,transition:`background ${n}`},[`${e}-expanded-row`]:{[`${s}${s}-fixed`]:{position:"sticky",insetInlineStart:0,overflow:"hidden",width:`calc(var(--virtual-width) - ${Ut(o)})`,borderInlineEnd:"none"}}},[`${e}-bordered`]:{[`${e}-tbody-virtual`]:{"&:after":{content:'""',insetInline:0,bottom:0,borderBottom:l,position:"absolute"},[`${e}-cell`]:{borderInlineEnd:l,[`&${e}-cell-fix-right-first:before`]:{content:'""',position:"absolute",insetBlock:0,insetInlineStart:a(o).mul(-1).equal(),borderInlineStart:l}}},[`&${e}-virtual`]:{[`${e}-placeholder ${e}-cell`]:{borderInlineEnd:l,borderBottom:l}}}}}},n_t=t=>{const{componentCls:e,fontWeightStrong:n,tablePaddingVertical:o,tablePaddingHorizontal:i,tableExpandColumnWidth:r,lineWidth:a,lineType:l,tableBorderColor:s,tableFontSize:c,tableBg:u,tableRadius:d,tableHeaderTextColor:f,motionDurationMid:p,tableHeaderBg:g,tableHeaderCellSplitColor:y,tableFooterTextColor:A,tableFooterBg:x,calc:C}=t,b=`${Ut(a)} ${l} ${s}`;return{[`${e}-wrapper`]:Object.assign(Object.assign({clear:"both",maxWidth:"100%"},Yk()),{[e]:Object.assign(Object.assign({},$a(t)),{fontSize:c,background:u,borderRadius:`${Ut(d)} ${Ut(d)} 0 0`,scrollbarColor:`${t.tableScrollThumbBg} ${t.tableScrollBg}`}),table:{width:"100%",textAlign:"start",borderRadius:`${Ut(d)} ${Ut(d)} 0 0`,borderCollapse:"separate",borderSpacing:0},[` ${e}-cell, ${e}-thead > tr > th, ${e}-tbody > tr > th, @@ -4737,23 +4737,23 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho > ${e}-wrapper:only-child, > ${e}-expanded-row-fixed > ${e}-wrapper:only-child `]:{[e]:{marginBlock:Ut(C(o).mul(-1).equal()),marginInline:`${Ut(C(r).sub(i).equal())} - ${Ut(C(i).mul(-1).equal())}`,[`${e}-tbody > tr:last-child > td`]:{borderBottom:0,"&:first-child, &:last-child":{borderRadius:0}}}}},"> th":{position:"relative",color:f,fontWeight:n,textAlign:"start",background:g,borderBottom:b,transition:`background ${p} ease`}}},[`${e}-footer`]:{padding:`${Ut(o)} ${Ut(i)}`,color:A,background:x}})}},r_t=t=>{const{colorFillAlter:e,colorBgContainer:n,colorTextHeading:o,colorFillSecondary:i,colorFillContent:r,controlItemBgActive:a,controlItemBgActiveHover:l,padding:s,paddingSM:c,paddingXS:u,colorBorderSecondary:d,borderRadiusLG:f,controlHeight:p,colorTextPlaceholder:g,fontSize:y,fontSizeSM:A,lineHeight:x,lineWidth:C,colorIcon:b,colorIconHover:v,opacityLoading:S,controlInteractiveSize:w}=t,T=new Il(i).onBackground(n).toHexShortString(),P=new Il(r).onBackground(n).toHexShortString(),R=new Il(e).onBackground(n).toHexShortString(),H=new Il(b),D=new Il(v),E=w/2-C,L=E*2+C*3;return{headerBg:R,headerColor:o,headerSortActiveBg:T,headerSortHoverBg:P,bodySortBg:R,rowHoverBg:R,rowSelectedBg:a,rowSelectedHoverBg:l,rowExpandedBg:e,cellPaddingBlock:s,cellPaddingInline:s,cellPaddingBlockMD:c,cellPaddingInlineMD:u,cellPaddingBlockSM:u,cellPaddingInlineSM:u,borderColor:d,headerBorderRadius:f,footerBg:R,footerColor:o,cellFontSize:y,cellFontSizeMD:y,cellFontSizeSM:y,headerSplitColor:d,fixedHeaderSortActiveBg:T,headerFilterHoverBg:r,filterDropdownMenuBg:n,filterDropdownBg:n,expandIconBg:n,selectionColumnWidth:p,stickyScrollBarBg:g,stickyScrollBarBorderRadius:100,expandIconMarginTop:(y*x-C*3)/2-Math.ceil((A*1.4-C*3)/2),headerIconColor:H.clone().setAlpha(H.getAlpha()*S).toRgbString(),headerIconHoverColor:D.clone().setAlpha(D.getAlpha()*S).toRgbString(),expandIconHalfInner:E,expandIconSize:L,expandIconScale:w/L}},a_t=Fl("Table",t=>{const{colorTextHeading:e,colorSplit:n,colorBgContainer:o,controlInteractiveSize:i,headerBg:r,headerColor:a,headerSortActiveBg:l,headerSortHoverBg:s,bodySortBg:c,rowHoverBg:u,rowSelectedBg:d,rowSelectedHoverBg:f,rowExpandedBg:p,cellPaddingBlock:g,cellPaddingInline:y,cellPaddingBlockMD:A,cellPaddingInlineMD:x,cellPaddingBlockSM:C,cellPaddingInlineSM:b,borderColor:v,footerBg:S,footerColor:w,headerBorderRadius:T,cellFontSize:P,cellFontSizeMD:R,cellFontSizeSM:H,headerSplitColor:D,fixedHeaderSortActiveBg:E,headerFilterHoverBg:L,filterDropdownBg:U,expandIconBg:F,selectionColumnWidth:W,stickyScrollBarBg:B,calc:k}=t,N=2,j=Zr(t,{tableFontSize:P,tableBg:o,tableRadius:T,tablePaddingVertical:g,tablePaddingHorizontal:y,tablePaddingVerticalMiddle:A,tablePaddingHorizontalMiddle:x,tablePaddingVerticalSmall:C,tablePaddingHorizontalSmall:b,tableBorderColor:v,tableHeaderTextColor:a,tableHeaderBg:r,tableFooterTextColor:w,tableFooterBg:S,tableHeaderCellSplitColor:D,tableHeaderSortBg:l,tableHeaderSortHoverBg:s,tableBodySortBg:c,tableFixedHeaderSortActiveBg:E,tableHeaderFilterActiveBg:L,tableFilterDropdownBg:U,tableRowHoverBg:u,tableSelectedRowBg:d,tableSelectedRowHoverBg:f,zIndexTableFixed:N,zIndexTableSticky:N+1,tableFontSizeMiddle:R,tableFontSizeSmall:H,tableSelectionColumnWidth:W,tableExpandIconBg:F,tableExpandColumnWidth:k(i).add(k(t.padding).mul(2)).equal(),tableExpandedRowBg:p,tableFilterDropdownWidth:120,tableFilterDropdownHeight:264,tableFilterDropdownSearchWidth:140,tableScrollThumbSize:8,tableScrollThumbBg:B,tableScrollThumbBgHover:e,tableScrollBg:n});return[i_t(j),qOt(j),Yxe(j),t_t(j),JOt(j),_Ot(j),$Ot(j),XOt(j),Yxe(j),GOt(j),ZOt(j),KOt(j),n_t(j),VOt(j),e_t(j),QOt(j),o_t(j)]},r_t,{unitless:{expandIconScale:!0}}),l_t=[],s_t=(t,e)=>{var n,o;const{prefixCls:i,className:r,rootClassName:a,style:l,size:s,bordered:c,dropdownPrefixCls:u,dataSource:d,pagination:f,rowSelection:p,rowKey:g="key",rowClassName:y,columns:A,children:x,childrenColumnName:C,onChange:b,getPopupContainer:v,loading:S,expandIcon:w,expandable:T,expandedRowRender:P,expandIconColumnIndex:R,indentSize:H,scroll:D,sortDirections:E,locale:L,showSorterTooltip:U={target:"full-header"},virtual:F}=t;Hb();const W=m.useMemo(()=>A||Ume(x),[A,x]),B=m.useMemo(()=>W.some(Mt=>Mt.responsive),[W]),k=v$(B),N=m.useMemo(()=>{const Mt=new Set(Object.keys(k).filter(st=>k[st]));return W.filter(st=>!st.responsive||st.responsive.some(ft=>Mt.has(ft)))},[W,k]),j=lp(t,["className","style","columns"]),{locale:Y=t7,direction:_,table:J,renderEmpty:Q,getPrefixCls:ee,getPopupContainer:$}=m.useContext(Mi),q=Cd(s),le=Object.assign(Object.assign({},Y.Table),L),ie=d||l_t,pe=ee("table",i),ne=ee("dropdown",u),[,Z]=Yu(),he=j0(pe),[fe,se,oe]=a_t(pe,he),de=Object.assign(Object.assign({childrenColumnName:C,expandIconColumnIndex:R},T),{expandIcon:(n=T==null?void 0:T.expandIcon)!==null&&n!==void 0?n:(o=J==null?void 0:J.expandable)===null||o===void 0?void 0:o.expandIcon}),{childrenColumnName:ve="children"}=de,Pe=m.useMemo(()=>ie.some(Mt=>Mt==null?void 0:Mt[ve])?"nest":P||T&&T.expandedRowRender?"row":null,[ie]),me={body:m.useRef()},Re=CYt(pe),ze=m.useRef(null),Ae=m.useRef(null);TYt(e,()=>Object.assign(Object.assign({},Ae.current),{nativeElement:ze.current}));const re=m.useMemo(()=>typeof g=="function"?g:Mt=>Mt==null?void 0:Mt[g],[g]),[ge]=IOt(ie,ve,re),we={},ye=function(Mt,st){let ft=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var Rt,zt,Xe;const ht=Object.assign(Object.assign({},we),Mt);ft&&((Rt=we.resetPagination)===null||Rt===void 0||Rt.call(we),!((zt=ht.pagination)===null||zt===void 0)&&zt.current&&(ht.pagination.current=1),f&&f.onChange&&f.onChange(1,(Xe=ht.pagination)===null||Xe===void 0?void 0:Xe.pageSize)),D&&D.scrollToFirstRowOnChange!==!1&&me.body.current&&DPt(0,{getContainer:()=>me.body.current}),b==null||b(ht.pagination,ht.filters,ht.sorter,{currentDataSource:tue(oue(ie,ht.sorterStates,ve),ht.filterStates,ve),action:st})},Te=(Mt,st)=>{ye({sorter:Mt,sorterStates:st},"sort",!1)},[Ie,Ce,Ee,Ue]=BOt({prefixCls:pe,mergedColumns:N,onSorterChange:Te,sortDirections:E||["ascend","descend"],tableLocale:le,showSorterTooltip:U}),Ne=m.useMemo(()=>oue(ie,Ce,ve),[ie,Ce]);we.sorter=Ue(),we.sorterStates=Ce;const Le=(Mt,st)=>{ye({filters:Mt,filterStates:st},"filter",!0)},[qe,We,De]=MOt({prefixCls:pe,locale:le,dropdownPrefixCls:ne,mergedColumns:N,onFilterChange:Le,getPopupContainer:v||$,rootClassName:Gn(a,he)}),Fe=tue(Ne,We,ve);we.filters=De,we.filterStates=We;const _e=m.useMemo(()=>{const Mt={};return Object.keys(De).forEach(st=>{De[st]!==null&&(Mt[st]=De[st])}),Object.assign(Object.assign({},Ee),{filters:Mt})},[Ee,De]),[ot]=jOt(_e),Ye=(Mt,st)=>{ye({pagination:Object.assign(Object.assign({},we.pagination),{current:Mt,pageSize:st})},"paginate")},[St,dt]=EOt(Fe.length,Ye,f);we.pagination=f===!1?{}:DOt(St,f),we.resetPagination=dt;const je=m.useMemo(()=>{if(f===!1||!St.pageSize)return Fe;const{current:Mt=1,total:st,pageSize:ft=DJe}=St;return Fe.lengthft?Fe.slice((Mt-1)*ft,Mt*ft):Fe:Fe.slice((Mt-1)*ft,Mt*ft)},[!!f,Fe,St&&St.current,St&&St.pageSize,St&&St.total]),[at,ut]=bYt({prefixCls:pe,data:Fe,pageData:je,getRowKey:re,getRecordByKey:ge,expandType:Pe,childrenColumnName:ve,locale:le,getPopupContainer:v||$},p),wt=(Mt,st,ft)=>{let Rt;return typeof y=="function"?Rt=Gn(y(Mt,st,ft)):Rt=Gn(y),Gn({[`${pe}-row-selected`]:ut.has(re(Mt,st))},Rt)};de.__PARENT_RENDER_ICON__=de.expandIcon,de.expandIcon=de.expandIcon||w||PYt(le),Pe==="nest"&&de.expandIconColumnIndex===void 0?de.expandIconColumnIndex=p?1:0:de.expandIconColumnIndex>0&&p&&(de.expandIconColumnIndex-=1),typeof de.indentSize!="number"&&(de.indentSize=typeof H=="number"?H:15);const rt=m.useCallback(Mt=>ot(at(qe(Ie(Mt)))),[Ie,qe,at]);let Qe,Oe;if(f!==!1&&(St!=null&&St.total)){let Mt;St.size?Mt=St.size:Mt=q==="small"||q==="middle"?"small":void 0;const st=zt=>m.createElement(UXe,Object.assign({},St,{className:Gn(`${pe}-pagination ${pe}-pagination-${zt}`,St.className),size:Mt})),ft=_==="rtl"?"left":"right",{position:Rt}=St;if(Rt!==null&&Array.isArray(Rt)){const zt=Rt.find(Je=>Je.includes("top")),Xe=Rt.find(Je=>Je.includes("bottom")),ht=Rt.every(Je=>`${Je}`=="none");!zt&&!Xe&&!ht&&(Oe=st(ft)),zt&&(Qe=st(zt.toLowerCase().replace("top",""))),Xe&&(Oe=st(Xe.toLowerCase().replace("bottom","")))}else Oe=st(ft)}let et;typeof S=="boolean"?et={spinning:S}:typeof S=="object"&&(et=Object.assign({spinning:!0},S));const vt=Gn(oe,he,`${pe}-wrapper`,J==null?void 0:J.className,{[`${pe}-wrapper-rtl`]:_==="rtl"},r,a,se),ct=Object.assign(Object.assign({},J==null?void 0:J.style),l),lt=L&&L.emptyText||(Q==null?void 0:Q("Table"))||m.createElement(nme,{componentName:"Table"}),tt=F?OOt:YOt,it={},At=m.useMemo(()=>{const{fontSize:Mt,lineHeight:st,padding:ft,paddingXS:Rt,paddingSM:zt}=Z,Xe=Math.floor(Mt*st);switch(q){case"large":return ft*2+Xe;case"small":return Rt*2+Xe;default:return zt*2+Xe}},[Z,q]);return F&&(it.listItemHeight=At),fe(m.createElement("div",{ref:ze,className:vt,style:ct},m.createElement(LW,Object.assign({spinning:!1},et),Qe,m.createElement(tt,Object.assign({},it,j,{ref:Ae,columns:N,direction:_,expandable:de,prefixCls:pe,className:Gn({[`${pe}-middle`]:q==="middle",[`${pe}-small`]:q==="small",[`${pe}-bordered`]:c,[`${pe}-empty`]:ie.length===0},oe,he,se),data:je,rowKey:re,rowClassName:wt,emptyText:lt,internalHooks:NW,internalRefs:me,transformColumns:rt,getContainerWidth:Re})),Oe)))},c_t=m.forwardRef(s_t),u_t=(t,e)=>{const n=m.useRef(0);return n.current+=1,m.createElement(c_t,Object.assign({},t,{ref:e,_renderTimes:n.current}))},Rd=m.forwardRef(u_t);Rd.SELECTION_COLUMN=z4;Rd.EXPAND_COLUMN=O4;Rd.SELECTION_ALL=q0e;Rd.SELECTION_INVERT=$0e;Rd.SELECTION_NONE=Q0e;Rd.Column=Bjt;Rd.ColumnGroup=jjt;Rd.Summary=JXe;const d_t=t=>{const{paddingXXS:e,lineWidth:n,tagPaddingHorizontal:o,componentCls:i,calc:r}=t,a=r(o).sub(n).equal(),l=r(e).sub(n).equal();return{[i]:Object.assign(Object.assign({},$a(t)),{display:"inline-block",height:"auto",marginInlineEnd:t.marginXS,paddingInline:a,fontSize:t.tagFontSize,lineHeight:t.tagLineHeight,whiteSpace:"nowrap",background:t.defaultBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadiusSM,opacity:1,transition:`all ${t.motionDurationMid}`,textAlign:"start",position:"relative",[`&${i}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:t.defaultColor},[`${i}-close-icon`]:{marginInlineStart:l,fontSize:t.tagIconSize,color:t.colorTextDescription,cursor:"pointer",transition:`all ${t.motionDurationMid}`,"&:hover":{color:t.colorTextHeading}},[`&${i}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${t.iconCls}-close, ${t.iconCls}-close:hover`]:{color:t.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${i}-checkable-checked):hover`]:{color:t.colorPrimary,backgroundColor:t.colorFillSecondary},"&:active, &-checked":{color:t.colorTextLightSolid},"&-checked":{backgroundColor:t.colorPrimary,"&:hover":{backgroundColor:t.colorPrimaryHover}},"&:active":{backgroundColor:t.colorPrimaryActive}},"&-hidden":{display:"none"},[`> ${t.iconCls} + span, > span + ${t.iconCls}`]:{marginInlineStart:a}}),[`${i}-borderless`]:{borderColor:"transparent",background:t.tagBorderlessBg}}},Xme=t=>{const{lineWidth:e,fontSizeIcon:n,calc:o}=t,i=t.fontSizeSM;return Zr(t,{tagFontSize:i,tagLineHeight:Ut(o(t.lineHeightSM).mul(i).equal()),tagIconSize:o(n).sub(o(e).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:t.defaultBg})},Jme=t=>({defaultBg:new Il(t.colorFillQuaternary).onBackground(t.colorBgContainer).toHexString(),defaultColor:t.colorText}),LJe=Fl("Tag",t=>{const e=Xme(t);return d_t(e)},Jme);var f_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,style:o,className:i,checked:r,onChange:a,onClick:l}=t,s=f_t(t,["prefixCls","style","className","checked","onChange","onClick"]),{getPrefixCls:c,tag:u}=m.useContext(Mi),d=x=>{a==null||a(!r),l==null||l(x)},f=c("tag",n),[p,g,y]=LJe(f),A=Gn(f,`${f}-checkable`,{[`${f}-checkable-checked`]:r},u==null?void 0:u.className,i,g,y);return p(m.createElement("span",Object.assign({},s,{ref:e,style:Object.assign(Object.assign({},o),u==null?void 0:u.style),className:A,onClick:d})))}),p_t=t=>EOe(t,(e,n)=>{let{textColor:o,lightBorderColor:i,lightColor:r,darkColor:a}=n;return{[`${t.componentCls}${t.componentCls}-${e}`]:{color:o,background:r,borderColor:i,"&-inverse":{color:t.colorTextLightSolid,background:a,borderColor:a},[`&${t.componentCls}-borderless`]:{borderColor:"transparent"}}}}),g_t=mW(["Tag","preset"],t=>{const e=Xme(t);return p_t(e)},Jme);function m_t(t){return typeof t!="string"?t:t.charAt(0).toUpperCase()+t.slice(1)}const TY=(t,e,n)=>{const o=m_t(n);return{[`${t.componentCls}${t.componentCls}-${e}`]:{color:t[`color${n}`],background:t[`color${o}Bg`],borderColor:t[`color${o}Border`],[`&${t.componentCls}-borderless`]:{borderColor:"transparent"}}}},y_t=mW(["Tag","status"],t=>{const e=Xme(t);return[TY(e,"success","Success"),TY(e,"processing","Info"),TY(e,"error","Error"),TY(e,"warning","Warning")]},Jme);var A_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,className:o,rootClassName:i,style:r,children:a,icon:l,color:s,onClose:c,bordered:u=!0,visible:d}=t,f=A_t(t,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:p,direction:g,tag:y}=m.useContext(Mi),[A,x]=m.useState(!0),C=lp(f,["closeIcon","closable"]);m.useEffect(()=>{d!==void 0&&x(d)},[d]);const b=BVe(s),v=gDt(s),S=b||v,w=Object.assign(Object.assign({backgroundColor:s&&!S?s:void 0},y==null?void 0:y.style),r),T=p("tag",n),[P,R,H]=LJe(T),D=Gn(T,y==null?void 0:y.className,{[`${T}-${s}`]:S,[`${T}-has-color`]:s&&!S,[`${T}-hidden`]:!A,[`${T}-rtl`]:g==="rtl",[`${T}-borderless`]:!u},o,i,R,H),E=k=>{k.stopPropagation(),c==null||c(k),!k.defaultPrevented&&x(!1)},[,L]=Jge(oR(t),oR(y),{closable:!1,closeIconRender:k=>{const N=m.createElement("span",{className:`${T}-close-icon`,onClick:E},k);return c_e(k,N,j=>({onClick:Y=>{var _;(_=j==null?void 0:j.onClick)===null||_===void 0||_.call(j,Y),E(Y)},className:Gn(j==null?void 0:j.className,`${T}-close-icon`)}))}}),U=typeof f.onClick=="function"||a&&a.type==="a",F=l||null,W=F?m.createElement(m.Fragment,null,F,a&&m.createElement("span",null,a)):a,B=m.createElement("span",Object.assign({},C,{ref:e,className:D,style:w}),W,L,b&&m.createElement(g_t,{key:"preset",prefixCls:T}),v&&m.createElement(y_t,{key:"status",prefixCls:T}));return P(U?m.createElement(wW,{component:"Tag"},B):B)}),WJe=w_t;WJe.CheckableTag=h_t;var v_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);im.createElement(b_t,Object.assign({},t,{picker:"time",mode:void 0,ref:e}))),jW=m.forwardRef((t,e)=>{var{addon:n,renderExtraFooter:o}=t,i=v_t(t,["addon","renderExtraFooter"]);const r=m.useMemo(()=>{if(o)return o;if(n)return n},[n,o]);return m.createElement(x_t,Object.assign({},i,{mode:void 0,ref:e,renderExtraFooter:r}))}),NJe=RW(jW,"picker");jW._InternalPanelDoNotUseOrYouWillBeFired=NJe;jW.RangePicker=S_t;jW._InternalPanelDoNotUseOrYouWillBeFired=NJe;var T_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"},P_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:T_t}))},C_t=m.forwardRef(P_t),R_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const n=u=>{const{keyCode:d}=u;d===hr.ENTER&&u.preventDefault()},o=u=>{const{keyCode:d}=u,{onClick:f}=t;d===hr.ENTER&&f&&f()},{style:i,noStyle:r,disabled:a,tabIndex:l=0}=t,s=R_t(t,["style","noStyle","disabled","tabIndex"]);let c={};return r||(c=Object.assign({},H_t)),a&&(c.pointerEvents="none"),c=Object.assign(Object.assign({},c),i),m.createElement("div",Object.assign({role:"button",tabIndex:l,ref:e},s,{onKeyDown:n,onKeyUp:o,style:c}))});var M_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"}}]},name:"edit",theme:"outlined"},I_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:M_t}))},BJe=m.forwardRef(I_t),z_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z"}}]},name:"enter",theme:"outlined"},D_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:z_t}))},E_t=m.forwardRef(D_t);const k_t=(t,e,n,o)=>{const{titleMarginBottom:i,fontWeightStrong:r}=o;return{marginBottom:i,color:n,fontWeight:r,fontSize:t,lineHeight:e}},F_t=t=>{const e=[1,2,3,4,5],n={};return e.forEach(o=>{n[` + ${Ut(C(i).mul(-1).equal())}`,[`${e}-tbody > tr:last-child > td`]:{borderBottom:0,"&:first-child, &:last-child":{borderRadius:0}}}}},"> th":{position:"relative",color:f,fontWeight:n,textAlign:"start",background:g,borderBottom:b,transition:`background ${p} ease`}}},[`${e}-footer`]:{padding:`${Ut(o)} ${Ut(i)}`,color:A,background:x}})}},o_t=t=>{const{colorFillAlter:e,colorBgContainer:n,colorTextHeading:o,colorFillSecondary:i,colorFillContent:r,controlItemBgActive:a,controlItemBgActiveHover:l,padding:s,paddingSM:c,paddingXS:u,colorBorderSecondary:d,borderRadiusLG:f,controlHeight:p,colorTextPlaceholder:g,fontSize:y,fontSizeSM:A,lineHeight:x,lineWidth:C,colorIcon:b,colorIconHover:v,opacityLoading:S,controlInteractiveSize:w}=t,T=new Il(i).onBackground(n).toHexShortString(),P=new Il(r).onBackground(n).toHexShortString(),R=new Il(e).onBackground(n).toHexShortString(),H=new Il(b),D=new Il(v),E=w/2-C,L=E*2+C*3;return{headerBg:R,headerColor:o,headerSortActiveBg:T,headerSortHoverBg:P,bodySortBg:R,rowHoverBg:R,rowSelectedBg:a,rowSelectedHoverBg:l,rowExpandedBg:e,cellPaddingBlock:s,cellPaddingInline:s,cellPaddingBlockMD:c,cellPaddingInlineMD:u,cellPaddingBlockSM:u,cellPaddingInlineSM:u,borderColor:d,headerBorderRadius:f,footerBg:R,footerColor:o,cellFontSize:y,cellFontSizeMD:y,cellFontSizeSM:y,headerSplitColor:d,fixedHeaderSortActiveBg:T,headerFilterHoverBg:r,filterDropdownMenuBg:n,filterDropdownBg:n,expandIconBg:n,selectionColumnWidth:p,stickyScrollBarBg:g,stickyScrollBarBorderRadius:100,expandIconMarginTop:(y*x-C*3)/2-Math.ceil((A*1.4-C*3)/2),headerIconColor:H.clone().setAlpha(H.getAlpha()*S).toRgbString(),headerIconHoverColor:D.clone().setAlpha(D.getAlpha()*S).toRgbString(),expandIconHalfInner:E,expandIconSize:L,expandIconScale:w/L}},i_t=Fl("Table",t=>{const{colorTextHeading:e,colorSplit:n,colorBgContainer:o,controlInteractiveSize:i,headerBg:r,headerColor:a,headerSortActiveBg:l,headerSortHoverBg:s,bodySortBg:c,rowHoverBg:u,rowSelectedBg:d,rowSelectedHoverBg:f,rowExpandedBg:p,cellPaddingBlock:g,cellPaddingInline:y,cellPaddingBlockMD:A,cellPaddingInlineMD:x,cellPaddingBlockSM:C,cellPaddingInlineSM:b,borderColor:v,footerBg:S,footerColor:w,headerBorderRadius:T,cellFontSize:P,cellFontSizeMD:R,cellFontSizeSM:H,headerSplitColor:D,fixedHeaderSortActiveBg:E,headerFilterHoverBg:L,filterDropdownBg:U,expandIconBg:F,selectionColumnWidth:W,stickyScrollBarBg:B,calc:k}=t,N=2,j=Zr(t,{tableFontSize:P,tableBg:o,tableRadius:T,tablePaddingVertical:g,tablePaddingHorizontal:y,tablePaddingVerticalMiddle:A,tablePaddingHorizontalMiddle:x,tablePaddingVerticalSmall:C,tablePaddingHorizontalSmall:b,tableBorderColor:v,tableHeaderTextColor:a,tableHeaderBg:r,tableFooterTextColor:w,tableFooterBg:S,tableHeaderCellSplitColor:D,tableHeaderSortBg:l,tableHeaderSortHoverBg:s,tableBodySortBg:c,tableFixedHeaderSortActiveBg:E,tableHeaderFilterActiveBg:L,tableFilterDropdownBg:U,tableRowHoverBg:u,tableSelectedRowBg:d,tableSelectedRowHoverBg:f,zIndexTableFixed:N,zIndexTableSticky:N+1,tableFontSizeMiddle:R,tableFontSizeSmall:H,tableSelectionColumnWidth:W,tableExpandIconBg:F,tableExpandColumnWidth:k(i).add(k(t.padding).mul(2)).equal(),tableExpandedRowBg:p,tableFilterDropdownWidth:120,tableFilterDropdownHeight:264,tableFilterDropdownSearchWidth:140,tableScrollThumbSize:8,tableScrollThumbBg:B,tableScrollThumbBgHover:e,tableScrollBg:n});return[n_t(j),JOt(j),Yxe(j),ZOt(j),GOt(j),YOt(j),KOt(j),VOt(j),Yxe(j),_Ot(j),$Ot(j),XOt(j),e_t(j),OOt(j),QOt(j),qOt(j),t_t(j)]},o_t,{unitless:{expandIconScale:!0}}),r_t=[],a_t=(t,e)=>{var n,o;const{prefixCls:i,className:r,rootClassName:a,style:l,size:s,bordered:c,dropdownPrefixCls:u,dataSource:d,pagination:f,rowSelection:p,rowKey:g="key",rowClassName:y,columns:A,children:x,childrenColumnName:C,onChange:b,getPopupContainer:v,loading:S,expandIcon:w,expandable:T,expandedRowRender:P,expandIconColumnIndex:R,indentSize:H,scroll:D,sortDirections:E,locale:L,showSorterTooltip:U={target:"full-header"},virtual:F}=t;Hb();const W=m.useMemo(()=>A||Ume(x),[A,x]),B=m.useMemo(()=>W.some(Mt=>Mt.responsive),[W]),k=v$(B),N=m.useMemo(()=>{const Mt=new Set(Object.keys(k).filter(st=>k[st]));return W.filter(st=>!st.responsive||st.responsive.some(ft=>Mt.has(ft)))},[W,k]),j=lp(t,["className","style","columns"]),{locale:Y=t7,direction:_,table:J,renderEmpty:Q,getPrefixCls:ee,getPopupContainer:$}=m.useContext(Mi),q=Cd(s),le=Object.assign(Object.assign({},Y.Table),L),ie=d||r_t,pe=ee("table",i),ne=ee("dropdown",u),[,Z]=Yu(),he=j0(pe),[fe,se,oe]=i_t(pe,he),de=Object.assign(Object.assign({childrenColumnName:C,expandIconColumnIndex:R},T),{expandIcon:(n=T==null?void 0:T.expandIcon)!==null&&n!==void 0?n:(o=J==null?void 0:J.expandable)===null||o===void 0?void 0:o.expandIcon}),{childrenColumnName:ve="children"}=de,Pe=m.useMemo(()=>ie.some(Mt=>Mt==null?void 0:Mt[ve])?"nest":P||T&&T.expandedRowRender?"row":null,[ie]),me={body:m.useRef()},Re=TYt(pe),ze=m.useRef(null),Ae=m.useRef(null);bYt(e,()=>Object.assign(Object.assign({},Ae.current),{nativeElement:ze.current}));const re=m.useMemo(()=>typeof g=="function"?g:Mt=>Mt==null?void 0:Mt[g],[g]),[ge]=HOt(ie,ve,re),we={},ye=function(Mt,st){let ft=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var Rt,zt,Xe;const ht=Object.assign(Object.assign({},we),Mt);ft&&((Rt=we.resetPagination)===null||Rt===void 0||Rt.call(we),!((zt=ht.pagination)===null||zt===void 0)&&zt.current&&(ht.pagination.current=1),f&&f.onChange&&f.onChange(1,(Xe=ht.pagination)===null||Xe===void 0?void 0:Xe.pageSize)),D&&D.scrollToFirstRowOnChange!==!1&&me.body.current&&IPt(0,{getContainer:()=>me.body.current}),b==null||b(ht.pagination,ht.filters,ht.sorter,{currentDataSource:tue(oue(ie,ht.sorterStates,ve),ht.filterStates,ve),action:st})},Te=(Mt,st)=>{ye({sorter:Mt,sorterStates:st},"sort",!1)},[Ie,Ce,Ee,Ue]=NOt({prefixCls:pe,mergedColumns:N,onSorterChange:Te,sortDirections:E||["ascend","descend"],tableLocale:le,showSorterTooltip:U}),Ne=m.useMemo(()=>oue(ie,Ce,ve),[ie,Ce]);we.sorter=Ue(),we.sorterStates=Ce;const Le=(Mt,st)=>{ye({filters:Mt,filterStates:st},"filter",!0)},[qe,We,De]=ROt({prefixCls:pe,locale:le,dropdownPrefixCls:ne,mergedColumns:N,onFilterChange:Le,getPopupContainer:v||$,rootClassName:Gn(a,he)}),Fe=tue(Ne,We,ve);we.filters=De,we.filterStates=We;const _e=m.useMemo(()=>{const Mt={};return Object.keys(De).forEach(st=>{De[st]!==null&&(Mt[st]=De[st])}),Object.assign(Object.assign({},Ee),{filters:Mt})},[Ee,De]),[ot]=UOt(_e),Ye=(Mt,st)=>{ye({pagination:Object.assign(Object.assign({},we.pagination),{current:Mt,pageSize:st})},"paginate")},[St,dt]=zOt(Fe.length,Ye,f);we.pagination=f===!1?{}:IOt(St,f),we.resetPagination=dt;const je=m.useMemo(()=>{if(f===!1||!St.pageSize)return Fe;const{current:Mt=1,total:st,pageSize:ft=DJe}=St;return Fe.lengthft?Fe.slice((Mt-1)*ft,Mt*ft):Fe:Fe.slice((Mt-1)*ft,Mt*ft)},[!!f,Fe,St&&St.current,St&&St.pageSize,St&&St.total]),[at,ut]=vYt({prefixCls:pe,data:Fe,pageData:je,getRowKey:re,getRecordByKey:ge,expandType:Pe,childrenColumnName:ve,locale:le,getPopupContainer:v||$},p),wt=(Mt,st,ft)=>{let Rt;return typeof y=="function"?Rt=Gn(y(Mt,st,ft)):Rt=Gn(y),Gn({[`${pe}-row-selected`]:ut.has(re(Mt,st))},Rt)};de.__PARENT_RENDER_ICON__=de.expandIcon,de.expandIcon=de.expandIcon||w||SYt(le),Pe==="nest"&&de.expandIconColumnIndex===void 0?de.expandIconColumnIndex=p?1:0:de.expandIconColumnIndex>0&&p&&(de.expandIconColumnIndex-=1),typeof de.indentSize!="number"&&(de.indentSize=typeof H=="number"?H:15);const rt=m.useCallback(Mt=>ot(at(qe(Ie(Mt)))),[Ie,qe,at]);let Qe,Oe;if(f!==!1&&(St!=null&&St.total)){let Mt;St.size?Mt=St.size:Mt=q==="small"||q==="middle"?"small":void 0;const st=zt=>m.createElement(UXe,Object.assign({},St,{className:Gn(`${pe}-pagination ${pe}-pagination-${zt}`,St.className),size:Mt})),ft=_==="rtl"?"left":"right",{position:Rt}=St;if(Rt!==null&&Array.isArray(Rt)){const zt=Rt.find(Je=>Je.includes("top")),Xe=Rt.find(Je=>Je.includes("bottom")),ht=Rt.every(Je=>`${Je}`=="none");!zt&&!Xe&&!ht&&(Oe=st(ft)),zt&&(Qe=st(zt.toLowerCase().replace("top",""))),Xe&&(Oe=st(Xe.toLowerCase().replace("bottom","")))}else Oe=st(ft)}let et;typeof S=="boolean"?et={spinning:S}:typeof S=="object"&&(et=Object.assign({spinning:!0},S));const vt=Gn(oe,he,`${pe}-wrapper`,J==null?void 0:J.className,{[`${pe}-wrapper-rtl`]:_==="rtl"},r,a,se),ct=Object.assign(Object.assign({},J==null?void 0:J.style),l),lt=L&&L.emptyText||(Q==null?void 0:Q("Table"))||m.createElement(nme,{componentName:"Table"}),tt=F?jOt:BOt,it={},At=m.useMemo(()=>{const{fontSize:Mt,lineHeight:st,padding:ft,paddingXS:Rt,paddingSM:zt}=Z,Xe=Math.floor(Mt*st);switch(q){case"large":return ft*2+Xe;case"small":return Rt*2+Xe;default:return zt*2+Xe}},[Z,q]);return F&&(it.listItemHeight=At),fe(m.createElement("div",{ref:ze,className:vt,style:ct},m.createElement(LW,Object.assign({spinning:!1},et),Qe,m.createElement(tt,Object.assign({},it,j,{ref:Ae,columns:N,direction:_,expandable:de,prefixCls:pe,className:Gn({[`${pe}-middle`]:q==="middle",[`${pe}-small`]:q==="small",[`${pe}-bordered`]:c,[`${pe}-empty`]:ie.length===0},oe,he,se),data:je,rowKey:re,rowClassName:wt,emptyText:lt,internalHooks:NW,internalRefs:me,transformColumns:rt,getContainerWidth:Re})),Oe)))},l_t=m.forwardRef(a_t),s_t=(t,e)=>{const n=m.useRef(0);return n.current+=1,m.createElement(l_t,Object.assign({},t,{ref:e,_renderTimes:n.current}))},Rd=m.forwardRef(s_t);Rd.SELECTION_COLUMN=z4;Rd.EXPAND_COLUMN=O4;Rd.SELECTION_ALL=q0e;Rd.SELECTION_INVERT=$0e;Rd.SELECTION_NONE=Q0e;Rd.Column=Njt;Rd.ColumnGroup=Ujt;Rd.Summary=JXe;const c_t=t=>{const{paddingXXS:e,lineWidth:n,tagPaddingHorizontal:o,componentCls:i,calc:r}=t,a=r(o).sub(n).equal(),l=r(e).sub(n).equal();return{[i]:Object.assign(Object.assign({},$a(t)),{display:"inline-block",height:"auto",marginInlineEnd:t.marginXS,paddingInline:a,fontSize:t.tagFontSize,lineHeight:t.tagLineHeight,whiteSpace:"nowrap",background:t.defaultBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadiusSM,opacity:1,transition:`all ${t.motionDurationMid}`,textAlign:"start",position:"relative",[`&${i}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:t.defaultColor},[`${i}-close-icon`]:{marginInlineStart:l,fontSize:t.tagIconSize,color:t.colorTextDescription,cursor:"pointer",transition:`all ${t.motionDurationMid}`,"&:hover":{color:t.colorTextHeading}},[`&${i}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${t.iconCls}-close, ${t.iconCls}-close:hover`]:{color:t.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${i}-checkable-checked):hover`]:{color:t.colorPrimary,backgroundColor:t.colorFillSecondary},"&:active, &-checked":{color:t.colorTextLightSolid},"&-checked":{backgroundColor:t.colorPrimary,"&:hover":{backgroundColor:t.colorPrimaryHover}},"&:active":{backgroundColor:t.colorPrimaryActive}},"&-hidden":{display:"none"},[`> ${t.iconCls} + span, > span + ${t.iconCls}`]:{marginInlineStart:a}}),[`${i}-borderless`]:{borderColor:"transparent",background:t.tagBorderlessBg}}},Xme=t=>{const{lineWidth:e,fontSizeIcon:n,calc:o}=t,i=t.fontSizeSM;return Zr(t,{tagFontSize:i,tagLineHeight:Ut(o(t.lineHeightSM).mul(i).equal()),tagIconSize:o(n).sub(o(e).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:t.defaultBg})},Jme=t=>({defaultBg:new Il(t.colorFillQuaternary).onBackground(t.colorBgContainer).toHexString(),defaultColor:t.colorText}),LJe=Fl("Tag",t=>{const e=Xme(t);return c_t(e)},Jme);var u_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,style:o,className:i,checked:r,onChange:a,onClick:l}=t,s=u_t(t,["prefixCls","style","className","checked","onChange","onClick"]),{getPrefixCls:c,tag:u}=m.useContext(Mi),d=x=>{a==null||a(!r),l==null||l(x)},f=c("tag",n),[p,g,y]=LJe(f),A=Gn(f,`${f}-checkable`,{[`${f}-checkable-checked`]:r},u==null?void 0:u.className,i,g,y);return p(m.createElement("span",Object.assign({},s,{ref:e,style:Object.assign(Object.assign({},o),u==null?void 0:u.style),className:A,onClick:d})))}),f_t=t=>EOe(t,(e,n)=>{let{textColor:o,lightBorderColor:i,lightColor:r,darkColor:a}=n;return{[`${t.componentCls}${t.componentCls}-${e}`]:{color:o,background:r,borderColor:i,"&-inverse":{color:t.colorTextLightSolid,background:a,borderColor:a},[`&${t.componentCls}-borderless`]:{borderColor:"transparent"}}}}),h_t=mW(["Tag","preset"],t=>{const e=Xme(t);return f_t(e)},Jme);function p_t(t){return typeof t!="string"?t:t.charAt(0).toUpperCase()+t.slice(1)}const TY=(t,e,n)=>{const o=p_t(n);return{[`${t.componentCls}${t.componentCls}-${e}`]:{color:t[`color${n}`],background:t[`color${o}Bg`],borderColor:t[`color${o}Border`],[`&${t.componentCls}-borderless`]:{borderColor:"transparent"}}}},g_t=mW(["Tag","status"],t=>{const e=Xme(t);return[TY(e,"success","Success"),TY(e,"processing","Info"),TY(e,"error","Error"),TY(e,"warning","Warning")]},Jme);var m_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,className:o,rootClassName:i,style:r,children:a,icon:l,color:s,onClose:c,bordered:u=!0,visible:d}=t,f=m_t(t,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:p,direction:g,tag:y}=m.useContext(Mi),[A,x]=m.useState(!0),C=lp(f,["closeIcon","closable"]);m.useEffect(()=>{d!==void 0&&x(d)},[d]);const b=BVe(s),v=hDt(s),S=b||v,w=Object.assign(Object.assign({backgroundColor:s&&!S?s:void 0},y==null?void 0:y.style),r),T=p("tag",n),[P,R,H]=LJe(T),D=Gn(T,y==null?void 0:y.className,{[`${T}-${s}`]:S,[`${T}-has-color`]:s&&!S,[`${T}-hidden`]:!A,[`${T}-rtl`]:g==="rtl",[`${T}-borderless`]:!u},o,i,R,H),E=k=>{k.stopPropagation(),c==null||c(k),!k.defaultPrevented&&x(!1)},[,L]=Jge(oR(t),oR(y),{closable:!1,closeIconRender:k=>{const N=m.createElement("span",{className:`${T}-close-icon`,onClick:E},k);return c_e(k,N,j=>({onClick:Y=>{var _;(_=j==null?void 0:j.onClick)===null||_===void 0||_.call(j,Y),E(Y)},className:Gn(j==null?void 0:j.className,`${T}-close-icon`)}))}}),U=typeof f.onClick=="function"||a&&a.type==="a",F=l||null,W=F?m.createElement(m.Fragment,null,F,a&&m.createElement("span",null,a)):a,B=m.createElement("span",Object.assign({},C,{ref:e,className:D,style:w}),W,L,b&&m.createElement(h_t,{key:"preset",prefixCls:T}),v&&m.createElement(g_t,{key:"status",prefixCls:T}));return P(U?m.createElement(wW,{component:"Tag"},B):B)}),WJe=y_t;WJe.CheckableTag=d_t;var A_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);im.createElement(v_t,Object.assign({},t,{picker:"time",mode:void 0,ref:e}))),jW=m.forwardRef((t,e)=>{var{addon:n,renderExtraFooter:o}=t,i=A_t(t,["addon","renderExtraFooter"]);const r=m.useMemo(()=>{if(o)return o;if(n)return n},[n,o]);return m.createElement(w_t,Object.assign({},i,{mode:void 0,ref:e,renderExtraFooter:r}))}),NJe=RW(jW,"picker");jW._InternalPanelDoNotUseOrYouWillBeFired=NJe;jW.RangePicker=x_t;jW._InternalPanelDoNotUseOrYouWillBeFired=NJe;var b_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"},S_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:b_t}))},T_t=m.forwardRef(S_t),P_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const n=u=>{const{keyCode:d}=u;d===hr.ENTER&&u.preventDefault()},o=u=>{const{keyCode:d}=u,{onClick:f}=t;d===hr.ENTER&&f&&f()},{style:i,noStyle:r,disabled:a,tabIndex:l=0}=t,s=P_t(t,["style","noStyle","disabled","tabIndex"]);let c={};return r||(c=Object.assign({},C_t)),a&&(c.pointerEvents="none"),c=Object.assign(Object.assign({},c),i),m.createElement("div",Object.assign({role:"button",tabIndex:l,ref:e},s,{onKeyDown:n,onKeyUp:o,style:c}))});var R_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"}}]},name:"edit",theme:"outlined"},H_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:R_t}))},BJe=m.forwardRef(H_t),M_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z"}}]},name:"enter",theme:"outlined"},I_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:M_t}))},z_t=m.forwardRef(I_t);const D_t=(t,e,n,o)=>{const{titleMarginBottom:i,fontWeightStrong:r}=o;return{marginBottom:i,color:n,fontWeight:r,fontSize:t,lineHeight:e}},E_t=t=>{const e=[1,2,3,4,5],n={};return e.forEach(o=>{n[` h${o}&, div&-h${o}, div&-h${o} > textarea, h${o} - `]=k_t(t[`fontSizeHeading${o}`],t[`lineHeightHeading${o}`],t.colorTextHeading,t)}),n},L_t=t=>{const{componentCls:e}=t;return{"a&, a":Object.assign(Object.assign({},Lge(t)),{textDecoration:t.linkDecoration,"&:active, &:hover":{textDecoration:t.linkHoverDecoration},[`&[disabled], &${e}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed","&:active, &:hover":{color:t.colorTextDisabled},"&:active":{pointerEvents:"none"}}})}},W_t=t=>({code:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.2em 0.1em",fontSize:"85%",fontFamily:t.fontFamilyCode,background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3},kbd:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.15em 0.1em",fontSize:"90%",fontFamily:t.fontFamilyCode,background:"rgba(150, 150, 150, 0.06)",border:"1px solid rgba(100, 100, 100, 0.2)",borderBottomWidth:2,borderRadius:3},mark:{padding:0,backgroundColor:ySt[2]},"u, ins":{textDecoration:"underline",textDecorationSkipInk:"auto"},"s, del":{textDecoration:"line-through"},strong:{fontWeight:600},"ul, ol":{marginInline:0,marginBlock:"0 1em",padding:0,li:{marginInline:"20px 0",marginBlock:0,paddingInline:"4px 0",paddingBlock:0}},ul:{listStyleType:"circle",ul:{listStyleType:"disc"}},ol:{listStyleType:"decimal"},"pre, blockquote":{margin:"1em 0"},pre:{padding:"0.4em 0.6em",whiteSpace:"pre-wrap",wordWrap:"break-word",background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3,fontFamily:t.fontFamilyCode,code:{display:"inline",margin:0,padding:0,fontSize:"inherit",fontFamily:"inherit",background:"transparent",border:0}},blockquote:{paddingInline:"0.6em 0",paddingBlock:0,borderInlineStart:"4px solid rgba(100, 100, 100, 0.2)",opacity:.85}}),N_t=t=>{const{componentCls:e,paddingSM:n}=t,o=n;return{"&-edit-content":{position:"relative","div&":{insetInlineStart:t.calc(t.paddingSM).mul(-1).equal(),marginTop:t.calc(o).mul(-1).equal(),marginBottom:`calc(1em - ${Ut(o)})`},[`${e}-edit-content-confirm`]:{position:"absolute",insetInlineEnd:t.calc(t.marginXS).add(2).equal(),insetBlockEnd:t.marginXS,color:t.colorTextDescription,fontWeight:"normal",fontSize:t.fontSize,fontStyle:"normal",pointerEvents:"none"},textarea:{margin:"0!important",MozTransition:"none",height:"1em"}}}},U_t=t=>({[`${t.componentCls}-copy-success`]:{"\n &,\n &:hover,\n &:focus":{color:t.colorSuccess}},[`${t.componentCls}-copy-icon-only`]:{marginInlineStart:0}}),B_t=()=>({"\n a&-ellipsis,\n span&-ellipsis\n ":{display:"inline-block",maxWidth:"100%"},"&-single-line":{whiteSpace:"nowrap"},"&-ellipsis-single-line":{overflow:"hidden",textOverflow:"ellipsis","a&, span&":{verticalAlign:"bottom"},"> code":{paddingBlock:0,maxWidth:"calc(100% - 1.2em)",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"bottom",boxSizing:"content-box"}},"&-ellipsis-multiple-line":{display:"-webkit-box",overflow:"hidden",WebkitLineClamp:3,WebkitBoxOrient:"vertical"}}),j_t=t=>{const{componentCls:e,titleMarginTop:n}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:t.colorText,wordBreak:"break-word",lineHeight:t.lineHeight,[`&${e}-secondary`]:{color:t.colorTextDescription},[`&${e}-success`]:{color:t.colorSuccess},[`&${e}-warning`]:{color:t.colorWarning},[`&${e}-danger`]:{color:t.colorError,"a&:active, a&:focus":{color:t.colorErrorActive},"a&:hover":{color:t.colorErrorHover}},[`&${e}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed",userSelect:"none"},"\n div&,\n p\n ":{marginBottom:"1em"}},F_t(t)),{[` + `]=D_t(t[`fontSizeHeading${o}`],t[`lineHeightHeading${o}`],t.colorTextHeading,t)}),n},k_t=t=>{const{componentCls:e}=t;return{"a&, a":Object.assign(Object.assign({},Lge(t)),{textDecoration:t.linkDecoration,"&:active, &:hover":{textDecoration:t.linkHoverDecoration},[`&[disabled], &${e}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed","&:active, &:hover":{color:t.colorTextDisabled},"&:active":{pointerEvents:"none"}}})}},F_t=t=>({code:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.2em 0.1em",fontSize:"85%",fontFamily:t.fontFamilyCode,background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3},kbd:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.15em 0.1em",fontSize:"90%",fontFamily:t.fontFamilyCode,background:"rgba(150, 150, 150, 0.06)",border:"1px solid rgba(100, 100, 100, 0.2)",borderBottomWidth:2,borderRadius:3},mark:{padding:0,backgroundColor:gSt[2]},"u, ins":{textDecoration:"underline",textDecorationSkipInk:"auto"},"s, del":{textDecoration:"line-through"},strong:{fontWeight:600},"ul, ol":{marginInline:0,marginBlock:"0 1em",padding:0,li:{marginInline:"20px 0",marginBlock:0,paddingInline:"4px 0",paddingBlock:0}},ul:{listStyleType:"circle",ul:{listStyleType:"disc"}},ol:{listStyleType:"decimal"},"pre, blockquote":{margin:"1em 0"},pre:{padding:"0.4em 0.6em",whiteSpace:"pre-wrap",wordWrap:"break-word",background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3,fontFamily:t.fontFamilyCode,code:{display:"inline",margin:0,padding:0,fontSize:"inherit",fontFamily:"inherit",background:"transparent",border:0}},blockquote:{paddingInline:"0.6em 0",paddingBlock:0,borderInlineStart:"4px solid rgba(100, 100, 100, 0.2)",opacity:.85}}),L_t=t=>{const{componentCls:e,paddingSM:n}=t,o=n;return{"&-edit-content":{position:"relative","div&":{insetInlineStart:t.calc(t.paddingSM).mul(-1).equal(),marginTop:t.calc(o).mul(-1).equal(),marginBottom:`calc(1em - ${Ut(o)})`},[`${e}-edit-content-confirm`]:{position:"absolute",insetInlineEnd:t.calc(t.marginXS).add(2).equal(),insetBlockEnd:t.marginXS,color:t.colorTextDescription,fontWeight:"normal",fontSize:t.fontSize,fontStyle:"normal",pointerEvents:"none"},textarea:{margin:"0!important",MozTransition:"none",height:"1em"}}}},W_t=t=>({[`${t.componentCls}-copy-success`]:{"\n &,\n &:hover,\n &:focus":{color:t.colorSuccess}},[`${t.componentCls}-copy-icon-only`]:{marginInlineStart:0}}),N_t=()=>({"\n a&-ellipsis,\n span&-ellipsis\n ":{display:"inline-block",maxWidth:"100%"},"&-single-line":{whiteSpace:"nowrap"},"&-ellipsis-single-line":{overflow:"hidden",textOverflow:"ellipsis","a&, span&":{verticalAlign:"bottom"},"> code":{paddingBlock:0,maxWidth:"calc(100% - 1.2em)",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"bottom",boxSizing:"content-box"}},"&-ellipsis-multiple-line":{display:"-webkit-box",overflow:"hidden",WebkitLineClamp:3,WebkitBoxOrient:"vertical"}}),U_t=t=>{const{componentCls:e,titleMarginTop:n}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:t.colorText,wordBreak:"break-word",lineHeight:t.lineHeight,[`&${e}-secondary`]:{color:t.colorTextDescription},[`&${e}-success`]:{color:t.colorSuccess},[`&${e}-warning`]:{color:t.colorWarning},[`&${e}-danger`]:{color:t.colorError,"a&:active, a&:focus":{color:t.colorErrorActive},"a&:hover":{color:t.colorErrorHover}},[`&${e}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed",userSelect:"none"},"\n div&,\n p\n ":{marginBottom:"1em"}},E_t(t)),{[` & + h1${e}, & + h2${e}, & + h3${e}, & + h4${e}, & + h5${e} - `]:{marginTop:n},"\n div,\n ul,\n li,\n p,\n h1,\n h2,\n h3,\n h4,\n h5":{"\n + h1,\n + h2,\n + h3,\n + h4,\n + h5\n ":{marginTop:n}}}),W_t(t)),L_t(t)),{[` + `]:{marginTop:n},"\n div,\n ul,\n li,\n p,\n h1,\n h2,\n h3,\n h4,\n h5":{"\n + h1,\n + h2,\n + h3,\n + h4,\n + h5\n ":{marginTop:n}}}),F_t(t)),k_t(t)),{[` ${e}-expand, ${e}-collapse, ${e}-edit, ${e}-copy - `]:Object.assign(Object.assign({},Lge(t)),{marginInlineStart:t.marginXXS})}),N_t(t)),U_t(t)),B_t()),{"&-rtl":{direction:"rtl"}})}},Y_t=()=>({titleMarginTop:"1.2em",titleMarginBottom:"0.5em"}),jJe=Fl("Typography",t=>[j_t(t)],Y_t),O_t=t=>{const{prefixCls:e,"aria-label":n,className:o,style:i,direction:r,maxLength:a,autoSize:l=!0,value:s,onSave:c,onCancel:u,onEnd:d,component:f,enterIcon:p=m.createElement(E_t,null)}=t,g=m.useRef(null),y=m.useRef(!1),A=m.useRef(),[x,C]=m.useState(s);m.useEffect(()=>{C(s)},[s]),m.useEffect(()=>{if(g.current&&g.current.resizableTextArea){const{textArea:F}=g.current.resizableTextArea;F.focus();const{length:W}=F.value;F.setSelectionRange(W,W)}},[]);const b=F=>{let{target:W}=F;C(W.value.replace(/[\n\r]/g,""))},v=()=>{y.current=!0},S=()=>{y.current=!1},w=F=>{let{keyCode:W}=F;y.current||(A.current=W)},T=()=>{c(x.trim())},P=F=>{let{keyCode:W,ctrlKey:B,altKey:k,metaKey:N,shiftKey:j}=F;A.current===W&&!y.current&&!B&&!k&&!N&&!j&&(W===hr.ENTER?(T(),d==null||d()):W===hr.ESC&&u())},R=()=>{T()},H=f?`${e}-${f}`:"",[D,E,L]=jJe(e),U=Gn(e,`${e}-edit-content`,{[`${e}-rtl`]:r==="rtl"},o,H,E,L);return D(m.createElement("div",{className:U,style:i},m.createElement(wXe,{ref:g,maxLength:a,value:x,onChange:b,onKeyDown:w,onKeyUp:P,onCompositionStart:v,onCompositionEnd:S,onBlur:R,"aria-label":n,rows:1,autoSize:l}),p!==null?Ou(p,{className:`${e}-edit-content-confirm`}):null))};var __t=function(){var t=document.getSelection();if(!t.rangeCount)return function(){};for(var e=document.activeElement,n=[],o=0;o"u"){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var d=Oxe[e.format]||Oxe.default;window.clipboardData.setData(d,t)}else u.clipboardData.clearData(),u.clipboardData.setData(e.format,t);e.onCopy&&(u.preventDefault(),e.onCopy(u.clipboardData))}),document.body.appendChild(l),r.selectNodeContents(l),a.addRange(r);var c=document.execCommand("copy");if(!c)throw new Error("copy command was unsuccessful");s=!0}catch(u){n&&console.error("unable to copy using execCommand: ",u),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",t),e.onCopy&&e.onCopy(window.clipboardData),s=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),o=X_t("message"in e?e.message:G_t),window.prompt(o,t)}}finally{a&&(typeof a.removeRange=="function"?a.removeRange(r):a.removeAllRanges()),l&&document.body.removeChild(l),i()}return s}var K_t=J_t;const q_t=kr(K_t);var $_t=function(t,e,n,o){function i(r){return r instanceof n?r:new n(function(a){a(r)})}return new(n||(n=Promise))(function(r,a){function l(u){try{c(o.next(u))}catch(d){a(d)}}function s(u){try{c(o.throw(u))}catch(d){a(d)}}function c(u){u.done?r(u.value):i(u.value).then(l,s)}c((o=o.apply(t,e||[])).next())})};const Q_t=t=>{let{copyConfig:e,children:n}=t;const[o,i]=m.useState(!1),[r,a]=m.useState(!1),l=m.useRef(null),s=()=>{l.current&&clearTimeout(l.current)},c={};e.format&&(c.format=e.format),m.useEffect(()=>s,[]);const u=O6(d=>$_t(void 0,void 0,void 0,function*(){var f;d==null||d.preventDefault(),d==null||d.stopPropagation(),a(!0);try{const p=typeof e.text=="function"?yield e.text():e.text;q_t(p||String(n)||"",c),a(!1),i(!0),s(),l.current=setTimeout(()=>{i(!1)},3e3),(f=e.onCopy)===null||f===void 0||f.call(e,d)}catch(p){throw a(!1),p}}));return{copied:o,copyLoading:r,onClick:u}};function $ie(t,e){return m.useMemo(()=>{const n=!!t;return[n,Object.assign(Object.assign({},e),n&&typeof t=="object"?t:null)]},[t])}const Z_t=(t,e)=>{const n=m.useRef(!1);m.useEffect(()=>{n.current?t():n.current=!0},e)},eVt=t=>{const e=m.useRef();return m.useEffect(()=>{e.current=t}),e.current};var tVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,component:o="article",className:i,rootClassName:r,setContentRef:a,children:l,direction:s,style:c}=t,u=tVt(t,["prefixCls","component","className","rootClassName","setContentRef","children","direction","style"]),{getPrefixCls:d,direction:f,typography:p}=m.useContext(Mi),g=s??f;let y=e;a&&(y=q2(e,a));const A=d("typography",n),[x,C,b]=jJe(A),v=Gn(A,p==null?void 0:p.className,{[`${A}-rtl`]:g==="rtl"},i,r,C,b),S=Object.assign(Object.assign({},p==null?void 0:p.style),c);return x(m.createElement(o,Object.assign({className:v,style:S,ref:y},u),l))});var nVt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},oVt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:nVt}))},OJe=m.forwardRef(oVt);function _xe(t){return t===!1?[!1,!1]:Array.isArray(t)?t:[t]}function PY(t,e,n){return t===!0||t===void 0?e:t||n&&e}const iVt=t=>{const{prefixCls:e,copied:n,locale:o,iconOnly:i,tooltips:r,icon:a,loading:l,tabIndex:s,onCopy:c}=t,u=_xe(r),d=_xe(a),{copied:f,copy:p}=o??{},g=n?PY(u[1],f):PY(u[0],p),A=typeof g=="string"?g:n?f:p;return m.createElement(J6,{key:"copy",title:g},m.createElement(UJe,{className:Gn(`${e}-copy`,{[`${e}-copy-success`]:n,[`${e}-copy-icon-only`]:i}),onClick:c,"aria-label":A,tabIndex:s},n?PY(d[1],m.createElement(MVe,null),!0):PY(d[0],l?m.createElement(HH,null):m.createElement(OJe,null),!0)))},CY=m.forwardRef((t,e)=>{let{style:n,children:o}=t;const i=m.useRef(null);return m.useImperativeHandle(e,()=>({isExceed:()=>{const r=i.current;return r.scrollHeight>r.clientHeight},getHeight:()=>i.current.clientHeight})),m.createElement("span",{"aria-hidden":!0,ref:i,style:Object.assign({position:"fixed",display:"block",left:0,top:0,pointerEvents:"none",backgroundColor:"rgba(255, 0, 0, 0.65)"},n)},o)});function _Je(t){const e=typeof t;return e==="string"||e==="number"}function rVt(t){let e=0;return t.forEach(n=>{_Je(n)?e+=String(n).length:e+=1}),e}function Vxe(t,e){let n=0;const o=[];for(let i=0;ie){const c=e-n;return o.push(String(r).slice(0,c)),o}o.push(r),n=s}return t}const Qie=0,Zie=1,ere=2,Gxe=3,RY={display:"-webkit-box",overflow:"hidden",WebkitBoxOrient:"vertical"};function aVt(t){const{enableMeasure:e,width:n,text:o,children:i,rows:r,expanded:a,miscDeps:l,onEllipsis:s}=t,c=m.useMemo(()=>E9(o),[o]),u=m.useMemo(()=>rVt(c),[o]),d=m.useMemo(()=>i(c,!1),[o]),[f,p]=m.useState(null),g=m.useRef(null),y=m.useRef(null),A=m.useRef(null),x=m.useRef(null),[C,b]=m.useState(!1),[v,S]=m.useState(Qie),[w,T]=m.useState(0);dx(()=>{S(e&&n&&u?Zie:Qie)},[n,o,r,e,c]),dx(()=>{var D,E,L,U;if(v===Zie){const F=!!(!((D=y.current)===null||D===void 0)&&D.isExceed());S(F?ere:Gxe),p(F?[0,u]:null),b(F);const W=((E=y.current)===null||E===void 0?void 0:E.getHeight())||0,B=r===1?0:((L=A.current)===null||L===void 0?void 0:L.getHeight())||0,k=((U=x.current)===null||U===void 0?void 0:U.getHeight())||0,N=B+k,j=Math.max(W,N);T(j+1),s(F)}},[v]);const P=f?Math.ceil((f[0]+f[1])/2):0;dx(()=>{var D;const[E,L]=f||[0,0];if(E!==L){const F=(((D=g.current)===null||D===void 0?void 0:D.getHeight())||0)>w;let W=P;L-E===1&&(W=F?E:L),p(F?[E,W]:[W,L])}},[f,P]);const R=m.useMemo(()=>{if(v!==ere||!f||f[0]!==f[1]){const D=i(c,!1);return v!==Gxe&&v!==Qie?m.createElement("span",{style:Object.assign(Object.assign({},RY),{WebkitLineClamp:r})},D):D}return i(a?c:Vxe(c,f[0]),C)},[a,v,f,c].concat(Xa(l))),H={width:n,whiteSpace:"normal",margin:0,padding:0};return m.createElement(m.Fragment,null,R,v===Zie&&m.createElement(m.Fragment,null,m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:r}),ref:y},d),m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:r-1}),ref:A},d),m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:1}),ref:x},i([],!0))),v===ere&&f&&f[0]!==f[1]&&m.createElement(CY,{style:Object.assign(Object.assign({},H),{top:400}),ref:g},i(Vxe(c,P),!0)))}const lVt=t=>{let{enableEllipsis:e,isEllipsis:n,children:o,tooltipProps:i}=t;return!(i!=null&&i.title)||!e?o:m.createElement(J6,Object.assign({open:n?void 0:!1},i),o)};var sVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o,i;const{prefixCls:r,className:a,style:l,type:s,disabled:c,children:u,ellipsis:d,editable:f,copyable:p,component:g,title:y}=t,A=sVt(t,["prefixCls","className","style","type","disabled","children","ellipsis","editable","copyable","component","title"]),{getPrefixCls:x,direction:C}=m.useContext(Mi),[b]=D7("Text"),v=m.useRef(null),S=m.useRef(null),w=x("typography",r),T=lp(A,["mark","code","delete","underline","strong","keyboard","italic"]),[P,R]=$ie(f),[H,D]=_6(!1,{value:R.editing}),{triggerType:E=["icon"]}=R,L=Fe=>{var _e;Fe&&((_e=R.onStart)===null||_e===void 0||_e.call(R)),D(Fe)},U=eVt(H);Z_t(()=>{var Fe;!H&&U&&((Fe=S.current)===null||Fe===void 0||Fe.focus())},[H]);const F=Fe=>{Fe==null||Fe.preventDefault(),L(!0)},W=Fe=>{var _e;(_e=R.onChange)===null||_e===void 0||_e.call(R,Fe),L(!1)},B=()=>{var Fe;(Fe=R.onCancel)===null||Fe===void 0||Fe.call(R),L(!1)},[k,N]=$ie(p),{copied:j,copyLoading:Y,onClick:_}=Q_t({copyConfig:N,children:u}),[J,Q]=m.useState(!1),[ee,$]=m.useState(!1),[q,le]=m.useState(!1),[ie,pe]=m.useState(!1),[ne,Z]=m.useState(!0),[he,fe]=$ie(d,{expandable:!1,symbol:Fe=>Fe?b==null?void 0:b.collapse:b==null?void 0:b.expand}),[se,oe]=_6(fe.defaultExpanded||!1,{value:fe.expanded}),de=he&&(!se||fe.expandable==="collapsible"),{rows:ve=1}=fe,Pe=m.useMemo(()=>de&&(fe.suffix!==void 0||fe.onEllipsis||fe.expandable||P||k),[de,fe,P,k]);dx(()=>{he&&!Pe&&(Q(y8e("webkitLineClamp")),$(y8e("textOverflow")))},[Pe,he]);const[me,Re]=m.useState(de),ze=m.useMemo(()=>Pe?!1:ve===1?ee:J,[Pe,ee,J]);dx(()=>{Re(ze&&de)},[ze,de]);const Ae=de&&(me?ie:q),re=de&&ve===1&&me,ge=de&&ve>1&&me,we=(Fe,_e)=>{var ot;oe(_e.expanded),(ot=fe.onExpand)===null||ot===void 0||ot.call(fe,Fe,_e)},[ye,Te]=m.useState(0),Ie=Fe=>{let{offsetWidth:_e}=Fe;Te(_e)},Ce=Fe=>{var _e;le(Fe),q!==Fe&&((_e=fe.onEllipsis)===null||_e===void 0||_e.call(fe,Fe))};m.useEffect(()=>{const Fe=v.current;if(he&&me&&Fe){const _e=ge?Fe.offsetHeight{const Fe=v.current;if(typeof IntersectionObserver>"u"||!Fe||!me||!de)return;const _e=new IntersectionObserver(()=>{Z(!!Fe.offsetParent)});return _e.observe(Fe),()=>{_e.disconnect()}},[me,de]);let Ee={};fe.tooltip===!0?Ee={title:(n=R.text)!==null&&n!==void 0?n:u}:m.isValidElement(fe.tooltip)?Ee={title:fe.tooltip}:typeof fe.tooltip=="object"?Ee=Object.assign({title:(o=R.text)!==null&&o!==void 0?o:u},fe.tooltip):Ee={title:fe.tooltip};const Ue=m.useMemo(()=>{const Fe=_e=>["string","number"].includes(typeof _e);if(!(!he||me)){if(Fe(R.text))return R.text;if(Fe(u))return u;if(Fe(y))return y;if(Fe(Ee.title))return Ee.title}},[he,me,y,Ee.title,Ae]);if(H)return m.createElement(O_t,{value:(i=R.text)!==null&&i!==void 0?i:typeof u=="string"?u:"",onSave:W,onCancel:B,onEnd:R.onEnd,prefixCls:w,className:a,style:l,direction:C,component:g,maxLength:R.maxLength,autoSize:R.autoSize,enterIcon:R.enterIcon});const Ne=()=>{const{expandable:Fe,symbol:_e}=fe;return!Fe||se&&Fe!=="collapsible"?null:m.createElement("a",{key:"expand",className:`${w}-${se?"collapse":"expand"}`,onClick:ot=>we(ot,{expanded:!se}),"aria-label":se?b.collapse:b==null?void 0:b.expand},typeof _e=="function"?_e(se):_e)},Le=()=>{if(!P)return;const{icon:Fe,tooltip:_e,tabIndex:ot}=R,Ye=E9(_e)[0]||(b==null?void 0:b.edit),St=typeof Ye=="string"?Ye:"";return E.includes("icon")?m.createElement(J6,{key:"edit",title:_e===!1?"":Ye},m.createElement(UJe,{ref:S,className:`${w}-edit`,onClick:F,"aria-label":St,tabIndex:ot},Fe||m.createElement(BJe,{role:"button"}))):null},qe=()=>k?m.createElement(iVt,Object.assign({key:"copy"},N,{prefixCls:w,copied:j,locale:b,onCopy:_,loading:Y,iconOnly:u==null})):null,We=Fe=>[Fe&&Ne(),Le(),qe()],De=Fe=>[Fe&&!se&&m.createElement("span",{"aria-hidden":!0,key:"ellipsis"},uVt),fe.suffix,We(Fe)];return m.createElement(xd,{onResize:Ie,disabled:!de},Fe=>m.createElement(lVt,{tooltipProps:Ee,enableEllipsis:de,isEllipsis:Ae},m.createElement(YJe,Object.assign({className:Gn({[`${w}-${s}`]:s,[`${w}-disabled`]:c,[`${w}-ellipsis`]:he,[`${w}-single-line`]:de&&ve===1&&!se,[`${w}-ellipsis-single-line`]:re,[`${w}-ellipsis-multiple-line`]:ge},a),prefixCls:r,style:Object.assign(Object.assign({},l),{WebkitLineClamp:ge?ve:void 0}),component:g,ref:q2(Fe,v,e),direction:C,onClick:E.includes("text")?F:void 0,"aria-label":Ue==null?void 0:Ue.toString(),title:y},T),m.createElement(aVt,{enableMeasure:de&&!me,text:u,rows:ve,width:ye,onEllipsis:Ce,expanded:se,miscDeps:[j,se,Y,P,k]},(_e,ot)=>cVt(t,m.createElement(m.Fragment,null,_e.length>0&&ot&&!se&&Ue?m.createElement("span",{key:"show-content","aria-hidden":!0},_e):_e,De(ot)))))))});var dVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{ellipsis:n,rel:o}=t,i=dVt(t,["ellipsis","rel"]);const r=Object.assign(Object.assign({},i),{rel:o===void 0&&i.target==="_blank"?"noopener noreferrer":o});return delete r.navigate,m.createElement(j$,Object.assign({},r,{ref:e,ellipsis:!!n,component:"a"}))}),hVt=m.forwardRef((t,e)=>m.createElement(j$,Object.assign({ref:e},t,{component:"div"})));var pVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{ellipsis:n}=t,o=pVt(t,["ellipsis"]);const i=m.useMemo(()=>n&&typeof n=="object"?lp(n,["expandable","rows"]):n,[n]);return m.createElement(j$,Object.assign({ref:e},o,{ellipsis:i,component:"span"}))},mVt=m.forwardRef(gVt);var yVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{level:n=1}=t,o=yVt(t,["level"]);let i;return AVt.includes(n)?i=`h${n}`:i="h1",m.createElement(j$,Object.assign({ref:e},o,{component:i}))}),C6=YJe;C6.Text=mVt;C6.Link=fVt;C6.Title=wVt;C6.Paragraph=hVt;/*! + `]:Object.assign(Object.assign({},Lge(t)),{marginInlineStart:t.marginXXS})}),L_t(t)),W_t(t)),N_t()),{"&-rtl":{direction:"rtl"}})}},B_t=()=>({titleMarginTop:"1.2em",titleMarginBottom:"0.5em"}),jJe=Fl("Typography",t=>[U_t(t)],B_t),j_t=t=>{const{prefixCls:e,"aria-label":n,className:o,style:i,direction:r,maxLength:a,autoSize:l=!0,value:s,onSave:c,onCancel:u,onEnd:d,component:f,enterIcon:p=m.createElement(z_t,null)}=t,g=m.useRef(null),y=m.useRef(!1),A=m.useRef(),[x,C]=m.useState(s);m.useEffect(()=>{C(s)},[s]),m.useEffect(()=>{if(g.current&&g.current.resizableTextArea){const{textArea:F}=g.current.resizableTextArea;F.focus();const{length:W}=F.value;F.setSelectionRange(W,W)}},[]);const b=F=>{let{target:W}=F;C(W.value.replace(/[\n\r]/g,""))},v=()=>{y.current=!0},S=()=>{y.current=!1},w=F=>{let{keyCode:W}=F;y.current||(A.current=W)},T=()=>{c(x.trim())},P=F=>{let{keyCode:W,ctrlKey:B,altKey:k,metaKey:N,shiftKey:j}=F;A.current===W&&!y.current&&!B&&!k&&!N&&!j&&(W===hr.ENTER?(T(),d==null||d()):W===hr.ESC&&u())},R=()=>{T()},H=f?`${e}-${f}`:"",[D,E,L]=jJe(e),U=Gn(e,`${e}-edit-content`,{[`${e}-rtl`]:r==="rtl"},o,H,E,L);return D(m.createElement("div",{className:U,style:i},m.createElement(wXe,{ref:g,maxLength:a,value:x,onChange:b,onKeyDown:w,onKeyUp:P,onCompositionStart:v,onCompositionEnd:S,onBlur:R,"aria-label":n,rows:1,autoSize:l}),p!==null?Ou(p,{className:`${e}-edit-content-confirm`}):null))};var Y_t=function(){var t=document.getSelection();if(!t.rangeCount)return function(){};for(var e=document.activeElement,n=[],o=0;o"u"){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var d=Oxe[e.format]||Oxe.default;window.clipboardData.setData(d,t)}else u.clipboardData.clearData(),u.clipboardData.setData(e.format,t);e.onCopy&&(u.preventDefault(),e.onCopy(u.clipboardData))}),document.body.appendChild(l),r.selectNodeContents(l),a.addRange(r);var c=document.execCommand("copy");if(!c)throw new Error("copy command was unsuccessful");s=!0}catch(u){n&&console.error("unable to copy using execCommand: ",u),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",t),e.onCopy&&e.onCopy(window.clipboardData),s=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),o=V_t("message"in e?e.message:__t),window.prompt(o,t)}}finally{a&&(typeof a.removeRange=="function"?a.removeRange(r):a.removeAllRanges()),l&&document.body.removeChild(l),i()}return s}var X_t=G_t;const J_t=kr(X_t);var K_t=function(t,e,n,o){function i(r){return r instanceof n?r:new n(function(a){a(r)})}return new(n||(n=Promise))(function(r,a){function l(u){try{c(o.next(u))}catch(d){a(d)}}function s(u){try{c(o.throw(u))}catch(d){a(d)}}function c(u){u.done?r(u.value):i(u.value).then(l,s)}c((o=o.apply(t,e||[])).next())})};const q_t=t=>{let{copyConfig:e,children:n}=t;const[o,i]=m.useState(!1),[r,a]=m.useState(!1),l=m.useRef(null),s=()=>{l.current&&clearTimeout(l.current)},c={};e.format&&(c.format=e.format),m.useEffect(()=>s,[]);const u=O6(d=>K_t(void 0,void 0,void 0,function*(){var f;d==null||d.preventDefault(),d==null||d.stopPropagation(),a(!0);try{const p=typeof e.text=="function"?yield e.text():e.text;J_t(p||String(n)||"",c),a(!1),i(!0),s(),l.current=setTimeout(()=>{i(!1)},3e3),(f=e.onCopy)===null||f===void 0||f.call(e,d)}catch(p){throw a(!1),p}}));return{copied:o,copyLoading:r,onClick:u}};function $ie(t,e){return m.useMemo(()=>{const n=!!t;return[n,Object.assign(Object.assign({},e),n&&typeof t=="object"?t:null)]},[t])}const $_t=(t,e)=>{const n=m.useRef(!1);m.useEffect(()=>{n.current?t():n.current=!0},e)},Q_t=t=>{const e=m.useRef();return m.useEffect(()=>{e.current=t}),e.current};var Z_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,component:o="article",className:i,rootClassName:r,setContentRef:a,children:l,direction:s,style:c}=t,u=Z_t(t,["prefixCls","component","className","rootClassName","setContentRef","children","direction","style"]),{getPrefixCls:d,direction:f,typography:p}=m.useContext(Mi),g=s??f;let y=e;a&&(y=q2(e,a));const A=d("typography",n),[x,C,b]=jJe(A),v=Gn(A,p==null?void 0:p.className,{[`${A}-rtl`]:g==="rtl"},i,r,C,b),S=Object.assign(Object.assign({},p==null?void 0:p.style),c);return x(m.createElement(o,Object.assign({className:v,style:S,ref:y},u),l))});var eVt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},tVt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:eVt}))},OJe=m.forwardRef(tVt);function _xe(t){return t===!1?[!1,!1]:Array.isArray(t)?t:[t]}function PY(t,e,n){return t===!0||t===void 0?e:t||n&&e}const nVt=t=>{const{prefixCls:e,copied:n,locale:o,iconOnly:i,tooltips:r,icon:a,loading:l,tabIndex:s,onCopy:c}=t,u=_xe(r),d=_xe(a),{copied:f,copy:p}=o??{},g=n?PY(u[1],f):PY(u[0],p),A=typeof g=="string"?g:n?f:p;return m.createElement(J6,{key:"copy",title:g},m.createElement(UJe,{className:Gn(`${e}-copy`,{[`${e}-copy-success`]:n,[`${e}-copy-icon-only`]:i}),onClick:c,"aria-label":A,tabIndex:s},n?PY(d[1],m.createElement(MVe,null),!0):PY(d[0],l?m.createElement(HH,null):m.createElement(OJe,null),!0)))},CY=m.forwardRef((t,e)=>{let{style:n,children:o}=t;const i=m.useRef(null);return m.useImperativeHandle(e,()=>({isExceed:()=>{const r=i.current;return r.scrollHeight>r.clientHeight},getHeight:()=>i.current.clientHeight})),m.createElement("span",{"aria-hidden":!0,ref:i,style:Object.assign({position:"fixed",display:"block",left:0,top:0,pointerEvents:"none",backgroundColor:"rgba(255, 0, 0, 0.65)"},n)},o)});function _Je(t){const e=typeof t;return e==="string"||e==="number"}function oVt(t){let e=0;return t.forEach(n=>{_Je(n)?e+=String(n).length:e+=1}),e}function Vxe(t,e){let n=0;const o=[];for(let i=0;ie){const c=e-n;return o.push(String(r).slice(0,c)),o}o.push(r),n=s}return t}const Qie=0,Zie=1,ere=2,Gxe=3,RY={display:"-webkit-box",overflow:"hidden",WebkitBoxOrient:"vertical"};function iVt(t){const{enableMeasure:e,width:n,text:o,children:i,rows:r,expanded:a,miscDeps:l,onEllipsis:s}=t,c=m.useMemo(()=>E9(o),[o]),u=m.useMemo(()=>oVt(c),[o]),d=m.useMemo(()=>i(c,!1),[o]),[f,p]=m.useState(null),g=m.useRef(null),y=m.useRef(null),A=m.useRef(null),x=m.useRef(null),[C,b]=m.useState(!1),[v,S]=m.useState(Qie),[w,T]=m.useState(0);dx(()=>{S(e&&n&&u?Zie:Qie)},[n,o,r,e,c]),dx(()=>{var D,E,L,U;if(v===Zie){const F=!!(!((D=y.current)===null||D===void 0)&&D.isExceed());S(F?ere:Gxe),p(F?[0,u]:null),b(F);const W=((E=y.current)===null||E===void 0?void 0:E.getHeight())||0,B=r===1?0:((L=A.current)===null||L===void 0?void 0:L.getHeight())||0,k=((U=x.current)===null||U===void 0?void 0:U.getHeight())||0,N=B+k,j=Math.max(W,N);T(j+1),s(F)}},[v]);const P=f?Math.ceil((f[0]+f[1])/2):0;dx(()=>{var D;const[E,L]=f||[0,0];if(E!==L){const F=(((D=g.current)===null||D===void 0?void 0:D.getHeight())||0)>w;let W=P;L-E===1&&(W=F?E:L),p(F?[E,W]:[W,L])}},[f,P]);const R=m.useMemo(()=>{if(v!==ere||!f||f[0]!==f[1]){const D=i(c,!1);return v!==Gxe&&v!==Qie?m.createElement("span",{style:Object.assign(Object.assign({},RY),{WebkitLineClamp:r})},D):D}return i(a?c:Vxe(c,f[0]),C)},[a,v,f,c].concat(Xa(l))),H={width:n,whiteSpace:"normal",margin:0,padding:0};return m.createElement(m.Fragment,null,R,v===Zie&&m.createElement(m.Fragment,null,m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:r}),ref:y},d),m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:r-1}),ref:A},d),m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:1}),ref:x},i([],!0))),v===ere&&f&&f[0]!==f[1]&&m.createElement(CY,{style:Object.assign(Object.assign({},H),{top:400}),ref:g},i(Vxe(c,P),!0)))}const rVt=t=>{let{enableEllipsis:e,isEllipsis:n,children:o,tooltipProps:i}=t;return!(i!=null&&i.title)||!e?o:m.createElement(J6,Object.assign({open:n?void 0:!1},i),o)};var aVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o,i;const{prefixCls:r,className:a,style:l,type:s,disabled:c,children:u,ellipsis:d,editable:f,copyable:p,component:g,title:y}=t,A=aVt(t,["prefixCls","className","style","type","disabled","children","ellipsis","editable","copyable","component","title"]),{getPrefixCls:x,direction:C}=m.useContext(Mi),[b]=D7("Text"),v=m.useRef(null),S=m.useRef(null),w=x("typography",r),T=lp(A,["mark","code","delete","underline","strong","keyboard","italic"]),[P,R]=$ie(f),[H,D]=_6(!1,{value:R.editing}),{triggerType:E=["icon"]}=R,L=Fe=>{var _e;Fe&&((_e=R.onStart)===null||_e===void 0||_e.call(R)),D(Fe)},U=Q_t(H);$_t(()=>{var Fe;!H&&U&&((Fe=S.current)===null||Fe===void 0||Fe.focus())},[H]);const F=Fe=>{Fe==null||Fe.preventDefault(),L(!0)},W=Fe=>{var _e;(_e=R.onChange)===null||_e===void 0||_e.call(R,Fe),L(!1)},B=()=>{var Fe;(Fe=R.onCancel)===null||Fe===void 0||Fe.call(R),L(!1)},[k,N]=$ie(p),{copied:j,copyLoading:Y,onClick:_}=q_t({copyConfig:N,children:u}),[J,Q]=m.useState(!1),[ee,$]=m.useState(!1),[q,le]=m.useState(!1),[ie,pe]=m.useState(!1),[ne,Z]=m.useState(!0),[he,fe]=$ie(d,{expandable:!1,symbol:Fe=>Fe?b==null?void 0:b.collapse:b==null?void 0:b.expand}),[se,oe]=_6(fe.defaultExpanded||!1,{value:fe.expanded}),de=he&&(!se||fe.expandable==="collapsible"),{rows:ve=1}=fe,Pe=m.useMemo(()=>de&&(fe.suffix!==void 0||fe.onEllipsis||fe.expandable||P||k),[de,fe,P,k]);dx(()=>{he&&!Pe&&(Q(y8e("webkitLineClamp")),$(y8e("textOverflow")))},[Pe,he]);const[me,Re]=m.useState(de),ze=m.useMemo(()=>Pe?!1:ve===1?ee:J,[Pe,ee,J]);dx(()=>{Re(ze&&de)},[ze,de]);const Ae=de&&(me?ie:q),re=de&&ve===1&&me,ge=de&&ve>1&&me,we=(Fe,_e)=>{var ot;oe(_e.expanded),(ot=fe.onExpand)===null||ot===void 0||ot.call(fe,Fe,_e)},[ye,Te]=m.useState(0),Ie=Fe=>{let{offsetWidth:_e}=Fe;Te(_e)},Ce=Fe=>{var _e;le(Fe),q!==Fe&&((_e=fe.onEllipsis)===null||_e===void 0||_e.call(fe,Fe))};m.useEffect(()=>{const Fe=v.current;if(he&&me&&Fe){const _e=ge?Fe.offsetHeight{const Fe=v.current;if(typeof IntersectionObserver>"u"||!Fe||!me||!de)return;const _e=new IntersectionObserver(()=>{Z(!!Fe.offsetParent)});return _e.observe(Fe),()=>{_e.disconnect()}},[me,de]);let Ee={};fe.tooltip===!0?Ee={title:(n=R.text)!==null&&n!==void 0?n:u}:m.isValidElement(fe.tooltip)?Ee={title:fe.tooltip}:typeof fe.tooltip=="object"?Ee=Object.assign({title:(o=R.text)!==null&&o!==void 0?o:u},fe.tooltip):Ee={title:fe.tooltip};const Ue=m.useMemo(()=>{const Fe=_e=>["string","number"].includes(typeof _e);if(!(!he||me)){if(Fe(R.text))return R.text;if(Fe(u))return u;if(Fe(y))return y;if(Fe(Ee.title))return Ee.title}},[he,me,y,Ee.title,Ae]);if(H)return m.createElement(j_t,{value:(i=R.text)!==null&&i!==void 0?i:typeof u=="string"?u:"",onSave:W,onCancel:B,onEnd:R.onEnd,prefixCls:w,className:a,style:l,direction:C,component:g,maxLength:R.maxLength,autoSize:R.autoSize,enterIcon:R.enterIcon});const Ne=()=>{const{expandable:Fe,symbol:_e}=fe;return!Fe||se&&Fe!=="collapsible"?null:m.createElement("a",{key:"expand",className:`${w}-${se?"collapse":"expand"}`,onClick:ot=>we(ot,{expanded:!se}),"aria-label":se?b.collapse:b==null?void 0:b.expand},typeof _e=="function"?_e(se):_e)},Le=()=>{if(!P)return;const{icon:Fe,tooltip:_e,tabIndex:ot}=R,Ye=E9(_e)[0]||(b==null?void 0:b.edit),St=typeof Ye=="string"?Ye:"";return E.includes("icon")?m.createElement(J6,{key:"edit",title:_e===!1?"":Ye},m.createElement(UJe,{ref:S,className:`${w}-edit`,onClick:F,"aria-label":St,tabIndex:ot},Fe||m.createElement(BJe,{role:"button"}))):null},qe=()=>k?m.createElement(nVt,Object.assign({key:"copy"},N,{prefixCls:w,copied:j,locale:b,onCopy:_,loading:Y,iconOnly:u==null})):null,We=Fe=>[Fe&&Ne(),Le(),qe()],De=Fe=>[Fe&&!se&&m.createElement("span",{"aria-hidden":!0,key:"ellipsis"},sVt),fe.suffix,We(Fe)];return m.createElement(xd,{onResize:Ie,disabled:!de},Fe=>m.createElement(rVt,{tooltipProps:Ee,enableEllipsis:de,isEllipsis:Ae},m.createElement(YJe,Object.assign({className:Gn({[`${w}-${s}`]:s,[`${w}-disabled`]:c,[`${w}-ellipsis`]:he,[`${w}-single-line`]:de&&ve===1&&!se,[`${w}-ellipsis-single-line`]:re,[`${w}-ellipsis-multiple-line`]:ge},a),prefixCls:r,style:Object.assign(Object.assign({},l),{WebkitLineClamp:ge?ve:void 0}),component:g,ref:q2(Fe,v,e),direction:C,onClick:E.includes("text")?F:void 0,"aria-label":Ue==null?void 0:Ue.toString(),title:y},T),m.createElement(iVt,{enableMeasure:de&&!me,text:u,rows:ve,width:ye,onEllipsis:Ce,expanded:se,miscDeps:[j,se,Y,P,k]},(_e,ot)=>lVt(t,m.createElement(m.Fragment,null,_e.length>0&&ot&&!se&&Ue?m.createElement("span",{key:"show-content","aria-hidden":!0},_e):_e,De(ot)))))))});var cVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{ellipsis:n,rel:o}=t,i=cVt(t,["ellipsis","rel"]);const r=Object.assign(Object.assign({},i),{rel:o===void 0&&i.target==="_blank"?"noopener noreferrer":o});return delete r.navigate,m.createElement(j$,Object.assign({},r,{ref:e,ellipsis:!!n,component:"a"}))}),dVt=m.forwardRef((t,e)=>m.createElement(j$,Object.assign({ref:e},t,{component:"div"})));var fVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{ellipsis:n}=t,o=fVt(t,["ellipsis"]);const i=m.useMemo(()=>n&&typeof n=="object"?lp(n,["expandable","rows"]):n,[n]);return m.createElement(j$,Object.assign({ref:e},o,{ellipsis:i,component:"span"}))},pVt=m.forwardRef(hVt);var gVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{level:n=1}=t,o=gVt(t,["level"]);let i;return mVt.includes(n)?i=`h${n}`:i="h1",m.createElement(j$,Object.assign({ref:e},o,{component:i}))}),C6=YJe;C6.Text=pVt;C6.Link=uVt;C6.Title=yVt;C6.Paragraph=dVt;/*! * html2canvas 1.4.1 * Copyright (c) 2022 Niklas von Hertzen * Released under MIT License @@ -4770,29 +4770,29 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var iue=function(t,e){return iue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},iue(t,e)};function Q2(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");iue(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var rue=function(){return rue=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(i+1===n||o.length>16384)&&(r+=String.fromCharCode.apply(String,o),o.length=0)}return r},Xxe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",xVt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var MY=0;MY"u"?[]:new Uint8Array(256);for(var IY=0;IY>4,u[i++]=(a&15)<<4|l>>2,u[i++]=(l&3)<<6|s&63;return c},SVt=function(t){for(var e=t.length,n=[],o=0;o>px,CVt=1<>px,HVt=VJe+RVt,MVt=HVt,IVt=32,zVt=MVt+IVt,DVt=65536>>Kme,EVt=1<=0){if(e<55296||e>56319&&e<=65535)return n=this.index[e>>px],n=(n<>px)],n=(n<>Kme),n=this.index[n],n+=e>>px&kVt,n=this.index[n],n=(n<"u"?[]:new Uint8Array(256);for(var zY=0;zY$xe?(i.push(!0),l-=$xe):i.push(!1),["normal","auto","loose"].indexOf(e)!==-1&&[8208,8211,12316,12448].indexOf(r)!==-1)return o.push(a),n.push(sue);if(l===jVt||l===aue){if(a===0)return o.push(a),n.push(wv);var s=n[a-1];return KVt.indexOf(s)===-1?(o.push(o[a-1]),n.push(s)):(o.push(a),n.push(wv))}if(o.push(a),l===GVt)return n.push(e==="strict"?cue:eF);if(l===KJe||l===VVt)return n.push(wv);if(l===XVt)return r>=131072&&r<=196605||r>=196608&&r<=262141?n.push(eF):n.push(wv);n.push(l)}),[o,n,i]},rre=function(t,e,n,o){var i=o[n];if(Array.isArray(t)?t.indexOf(i)!==-1:t===i)for(var r=n;r<=o.length;){r++;var a=o[r];if(a===e)return!0;if(a!==pw)break}if(i===pw)for(var r=n;r>0;){r--;var l=o[r];if(Array.isArray(t)?t.indexOf(l)!==-1:t===l)for(var s=n;s<=o.length;){s++;var a=o[s];if(a===e)return!0;if(a!==pw)break}if(l!==pw)break}return!1},ibe=function(t,e){for(var n=t;n>=0;){var o=e[n];if(o===pw)n--;else return o}return 0},QVt=function(t,e,n,o,i){if(n[o]===0)return Va;var r=o-1;if(Array.isArray(i)&&i[r]===!0)return Va;var a=r-1,l=r+1,s=e[r],c=a>=0?e[a]:0,u=e[l];if(s===GJe&&u===XJe)return Va;if(gue.indexOf(s)!==-1)return qJe;if(gue.indexOf(u)!==-1||$Je.indexOf(u)!==-1)return Va;if(ibe(r,e)===JJe)return FY;if(pue.get(t[r])===aue||(s===EY||s===kY)&&pue.get(t[l])===aue||s===Qxe||u===Qxe||s===Zxe||[pw,lue,wD].indexOf(s)===-1&&u===Zxe||[DY,Rz,_Vt,IT,zT].indexOf(u)!==-1||ibe(r,e)===Hz||rre(ore,Hz,r,e)||rre([DY,Rz],cue,r,e)||rre(ebe,ebe,r,e))return Va;if(s===pw)return FY;if(s===ore||u===ore)return Va;if(u===sue||s===sue)return FY;if([lue,wD,cue].indexOf(u)!==-1||s===OVt||c===fue&&qVt.indexOf(s)!==-1||s===zT&&u===fue||u===tbe||$3.indexOf(u)!==-1&&s===j1||$3.indexOf(s)!==-1&&u===j1||s===xD&&[eF,EY,kY].indexOf(u)!==-1||[eF,EY,kY].indexOf(s)!==-1&&u===vD||$3.indexOf(s)!==-1&&nbe.indexOf(u)!==-1||nbe.indexOf(s)!==-1&&$3.indexOf(u)!==-1||[xD,vD].indexOf(s)!==-1&&(u===j1||[Hz,wD].indexOf(u)!==-1&&e[l+1]===j1)||[Hz,wD].indexOf(s)!==-1&&u===j1||s===j1&&[j1,zT,IT].indexOf(u)!==-1)return Va;if([j1,zT,IT,DY,Rz].indexOf(u)!==-1)for(var d=r;d>=0;){var f=e[d];if(f===j1)return Va;if([zT,IT].indexOf(f)!==-1)d--;else break}if([xD,vD].indexOf(u)!==-1)for(var d=[DY,Rz].indexOf(s)!==-1?a:r;d>=0;){var f=e[d];if(f===j1)return Va;if([zT,IT].indexOf(f)!==-1)d--;else break}if(hue===s&&[hue,U_,uue,due].indexOf(u)!==-1||[U_,uue].indexOf(s)!==-1&&[U_,B_].indexOf(u)!==-1||[B_,due].indexOf(s)!==-1&&u===B_||obe.indexOf(s)!==-1&&[tbe,vD].indexOf(u)!==-1||obe.indexOf(u)!==-1&&s===xD||$3.indexOf(s)!==-1&&$3.indexOf(u)!==-1||s===IT&&$3.indexOf(u)!==-1||$3.concat(j1).indexOf(s)!==-1&&u===Hz&&JVt.indexOf(t[l])===-1||$3.concat(j1).indexOf(u)!==-1&&s===Rz)return Va;if(s===ire&&u===ire){for(var p=n[r],g=1;p>0&&(p--,e[p]===ire);)g++;if(g%2!==0)return Va}return s===EY&&u===kY?Va:FY},ZVt=function(t,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var n=$Vt(t,e.lineBreak),o=n[0],i=n[1],r=n[2];(e.wordBreak==="break-all"||e.wordBreak==="break-word")&&(i=i.map(function(l){return[j1,wv,KJe].indexOf(l)!==-1?eF:l}));var a=e.wordBreak==="keep-all"?r.map(function(l,s){return l&&t[s]>=19968&&t[s]<=40959}):void 0;return[o,i,a]},eGt=function(){function t(e,n,o,i){this.codePoints=e,this.required=n===qJe,this.start=o,this.end=i}return t.prototype.slice=function(){return E0.apply(void 0,this.codePoints.slice(this.start,this.end))},t}(),tGt=function(t,e){var n=O$(t),o=ZVt(n,e),i=o[0],r=o[1],a=o[2],l=n.length,s=0,c=0;return{next:function(){if(c>=l)return{done:!0,value:null};for(var u=Va;c=QJe&&t<=57},FGt=function(t){return t>=55296&&t<=57343},DT=function(t){return $f(t)||t>=tKe&&t<=oKe||t>=ZJe&&t<=IGt},LGt=function(t){return t>=ZJe&&t<=DGt},WGt=function(t){return t>=tKe&&t<=kGt},NGt=function(t){return LGt(t)||WGt(t)},UGt=function(t){return t>=vGt},BY=function(t){return t===EG||t===iGt||t===rGt},kG=function(t){return NGt(t)||UGt(t)||t===cGt},cbe=function(t){return kG(t)||$f(t)||t===zp},BGt=function(t){return t>=TGt&&t<=PGt||t===CGt||t>=RGt&&t<=HGt||t===MGt},_4=function(t,e){return t!==hE?!1:e!==EG},jY=function(t,e,n){return t===zp?kG(e)||_4(e,n):kG(t)?!0:!!(t===hE&&_4(t,e))},lre=function(t,e,n){return t===Uv||t===zp?$f(e)?!0:e===tF&&$f(n):$f(t===tF?e:t)},jGt=function(t){var e=0,n=1;(t[e]===Uv||t[e]===zp)&&(t[e]===zp&&(n=-1),e++);for(var o=[];$f(t[e]);)o.push(t[e++]);var i=o.length?parseInt(E0.apply(void 0,o),10):0;t[e]===tF&&e++;for(var r=[];$f(t[e]);)r.push(t[e++]);var a=r.length,l=a?parseInt(E0.apply(void 0,r),10):0;(t[e]===nKe||t[e]===eKe)&&e++;var s=1;(t[e]===Uv||t[e]===zp)&&(t[e]===zp&&(s=-1),e++);for(var c=[];$f(t[e]);)c.push(t[e++]);var u=c.length?parseInt(E0.apply(void 0,c),10):0;return n*(i+l*Math.pow(10,-a))*Math.pow(10,s*u)},YGt={type:2},OGt={type:3},_Gt={type:4},VGt={type:13},GGt={type:8},XGt={type:21},JGt={type:9},KGt={type:10},qGt={type:11},$Gt={type:12},QGt={type:14},YY={type:23},ZGt={type:1},eXt={type:25},tXt={type:24},nXt={type:26},oXt={type:27},iXt={type:28},rXt={type:29},aXt={type:31},mue={type:32},iKe=function(){function t(){this._value=[]}return t.prototype.write=function(e){this._value=this._value.concat(O$(e))},t.prototype.read=function(){for(var e=[],n=this.consumeToken();n!==mue;)e.push(n),n=this.consumeToken();return e},t.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case LY:return this.consumeStringToken(LY);case aGt:var n=this.peekCodePoint(0),o=this.peekCodePoint(1),i=this.peekCodePoint(2);if(cbe(n)||_4(o,i)){var r=jY(n,o,i)?oGt:nGt,a=this.consumeName();return{type:5,value:a,flags:r}}break;case lGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),VGt;break;case WY:return this.consumeStringToken(WY);case NY:return YGt;case Iz:return OGt;case are:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),QGt;break;case Uv:if(lre(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case xGt:return _Gt;case zp:var l=e,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(lre(l,s,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(jY(l,s,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(s===zp&&c===fGt)return this.consumeCodePoint(),this.consumeCodePoint(),tXt;break;case tF:if(lre(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case abe:if(this.peekCodePoint(0)===are)for(this.consumeCodePoint();;){var u=this.consumeCodePoint();if(u===are&&(u=this.consumeCodePoint(),u===abe))return this.consumeToken();if(u===U5)return this.consumeToken()}break;case bGt:return nXt;case SGt:return oXt;case dGt:if(this.peekCodePoint(0)===uGt&&this.peekCodePoint(1)===zp&&this.peekCodePoint(2)===zp)return this.consumeCodePoint(),this.consumeCodePoint(),eXt;break;case hGt:var d=this.peekCodePoint(0),f=this.peekCodePoint(1),p=this.peekCodePoint(2);if(jY(d,f,p)){var a=this.consumeName();return{type:7,value:a}}break;case pGt:return iXt;case hE:if(_4(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case gGt:return rXt;case mGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),GGt;break;case yGt:return qGt;case AGt:return $Gt;case zGt:case EGt:var g=this.peekCodePoint(0),y=this.peekCodePoint(1);return g===Uv&&(DT(y)||y===UY)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case lbe:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),JGt;if(this.peekCodePoint(0)===lbe)return this.consumeCodePoint(),XGt;break;case wGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),KGt;break;case U5:return mue}return BY(e)?(this.consumeWhiteSpace(),aXt):$f(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):kG(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:E0(e)}},t.prototype.consumeCodePoint=function(){var e=this._value.shift();return typeof e>"u"?-1:e},t.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},t.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},t.prototype.consumeUnicodeRangeToken=function(){for(var e=[],n=this.consumeCodePoint();DT(n)&&e.length<6;)e.push(n),n=this.consumeCodePoint();for(var o=!1;n===UY&&e.length<6;)e.push(n),n=this.consumeCodePoint(),o=!0;if(o){var i=parseInt(E0.apply(void 0,e.map(function(s){return s===UY?QJe:s})),16),r=parseInt(E0.apply(void 0,e.map(function(s){return s===UY?oKe:s})),16);return{type:30,start:i,end:r}}var a=parseInt(E0.apply(void 0,e),16);if(this.peekCodePoint(0)===zp&&DT(this.peekCodePoint(1))){this.consumeCodePoint(),n=this.consumeCodePoint();for(var l=[];DT(n)&&l.length<6;)l.push(n),n=this.consumeCodePoint();var r=parseInt(E0.apply(void 0,l),16);return{type:30,start:a,end:r}}else return{type:30,start:a,end:a}},t.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()==="url"&&this.peekCodePoint(0)===NY?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===NY?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},t.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===U5)return{type:22,value:""};var n=this.peekCodePoint(0);if(n===WY||n===LY){var o=this.consumeStringToken(this.consumeCodePoint());return o.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===U5||this.peekCodePoint(0)===Iz)?(this.consumeCodePoint(),{type:22,value:o.value}):(this.consumeBadUrlRemnants(),YY)}for(;;){var i=this.consumeCodePoint();if(i===U5||i===Iz)return{type:22,value:E0.apply(void 0,e)};if(BY(i))return this.consumeWhiteSpace(),this.peekCodePoint(0)===U5||this.peekCodePoint(0)===Iz?(this.consumeCodePoint(),{type:22,value:E0.apply(void 0,e)}):(this.consumeBadUrlRemnants(),YY);if(i===LY||i===WY||i===NY||BGt(i))return this.consumeBadUrlRemnants(),YY;if(i===hE)if(_4(i,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),YY;else e.push(i)}},t.prototype.consumeWhiteSpace=function(){for(;BY(this.peekCodePoint(0));)this.consumeCodePoint()},t.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===Iz||e===U5)return;_4(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},t.prototype.consumeStringSlice=function(e){for(var n=5e4,o="";e>0;){var i=Math.min(n,e);o+=E0.apply(void 0,this._value.splice(0,i)),e-=i}return this._value.shift(),o},t.prototype.consumeStringToken=function(e){var n="",o=0;do{var i=this._value[o];if(i===U5||i===void 0||i===e)return n+=this.consumeStringSlice(o),{type:0,value:n};if(i===EG)return this._value.splice(0,o),ZGt;if(i===hE){var r=this._value[o+1];r!==U5&&r!==void 0&&(r===EG?(n+=this.consumeStringSlice(o),o=-1,this._value.shift()):_4(i,r)&&(n+=this.consumeStringSlice(o),n+=E0(this.consumeEscapedCodePoint()),o=-1))}o++}while(!0)},t.prototype.consumeNumber=function(){var e=[],n=YW,o=this.peekCodePoint(0);for((o===Uv||o===zp)&&e.push(this.consumeCodePoint());$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());o=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(o===tF&&$f(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),n=rbe;$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());o=this.peekCodePoint(0),i=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((o===nKe||o===eKe)&&((i===Uv||i===zp)&&$f(r)||$f(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),n=rbe;$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[jGt(e),n]},t.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),n=e[0],o=e[1],i=this.peekCodePoint(0),r=this.peekCodePoint(1),a=this.peekCodePoint(2);if(jY(i,r,a)){var l=this.consumeName();return{type:15,number:n,flags:o,unit:l}}return i===sGt?(this.consumeCodePoint(),{type:16,number:n,flags:o}):{type:17,number:n,flags:o}},t.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(DT(e)){for(var n=E0(e);DT(this.peekCodePoint(0))&&n.length<6;)n+=E0(this.consumeCodePoint());BY(this.peekCodePoint(0))&&this.consumeCodePoint();var o=parseInt(n,16);return o===0||FGt(o)||o>1114111?sbe:o}return e===U5?sbe:e},t.prototype.consumeName=function(){for(var e="";;){var n=this.consumeCodePoint();if(cbe(n))e+=E0(n);else if(_4(n,this.peekCodePoint(0)))e+=E0(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(n),e}},t}(),rKe=function(){function t(e){this._tokens=e}return t.create=function(e){var n=new iKe;return n.write(e),new t(n.read())},t.parseValue=function(e){return t.create(e).parseComponentValue()},t.parseValues=function(e){return t.create(e).parseComponentValues()},t.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var n=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return n;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},t.prototype.parseComponentValues=function(){for(var e=[];;){var n=this.consumeComponentValue();if(n.type===32)return e;e.push(n),e.push()}},t.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},t.prototype.consumeSimpleBlock=function(e){for(var n={type:e,values:[]},o=this.consumeToken();;){if(o.type===32||sXt(o,e))return n;this.reconsumeToken(o),n.values.push(this.consumeComponentValue()),o=this.consumeToken()}},t.prototype.consumeFunction=function(e){for(var n={name:e.value,values:[],type:18};;){var o=this.consumeToken();if(o.type===32||o.type===3)return n;this.reconsumeToken(o),n.values.push(this.consumeComponentValue())}},t.prototype.consumeToken=function(){var e=this._tokens.shift();return typeof e>"u"?mue:e},t.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},t}(),OW=function(t){return t.type===15},NH=function(t){return t.type===17},As=function(t){return t.type===20},lXt=function(t){return t.type===0},yue=function(t,e){return As(t)&&t.value===e},aKe=function(t){return t.type!==31},cR=function(t){return t.type!==31&&t.type!==4},l3=function(t){var e=[],n=[];return t.forEach(function(o){if(o.type===4){if(n.length===0)throw new Error("Error parsing function args, zero tokens for arg");e.push(n),n=[];return}o.type!==31&&n.push(o)}),n.length&&e.push(n),e},sXt=function(t,e){return e===11&&t.type===12||e===28&&t.type===29?!0:e===2&&t.type===3},a7=function(t){return t.type===17||t.type===15},iu=function(t){return t.type===16||a7(t)},lKe=function(t){return t.length>1?[t[0],t[1]]:[t[0]]},of={type:17,number:0,flags:YW},qme={type:16,number:50,flags:YW},gw={type:16,number:100,flags:YW},bD=function(t,e,n){var o=t[0],i=t[1];return[Ys(o,e),Ys(typeof i<"u"?i:o,n)]},Ys=function(t,e){if(t.type===16)return t.number/100*e;if(OW(t))switch(t.unit){case"rem":case"em":return 16*t.number;case"px":default:return t.number}return t.number},sKe="deg",cKe="grad",uKe="rad",dKe="turn",_$={name:"angle",parse:function(t,e){if(e.type===15)switch(e.unit){case sKe:return Math.PI*e.number/180;case cKe:return Math.PI/200*e.number;case uKe:return e.number;case dKe:return Math.PI*2*e.number}throw new Error("Unsupported angle type")}},fKe=function(t){return t.type===15&&(t.unit===sKe||t.unit===cKe||t.unit===uKe||t.unit===dKe)},hKe=function(t){var e=t.filter(As).map(function(n){return n.value}).join(" ");switch(e){case"to bottom right":case"to right bottom":case"left top":case"top left":return[of,of];case"to top":case"bottom":return Dm(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[of,gw];case"to right":case"left":return Dm(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[gw,gw];case"to bottom":case"top":return Dm(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[gw,of];case"to left":case"right":return Dm(270)}return 0},Dm=function(t){return Math.PI*t/180},Lw={name:"color",parse:function(t,e){if(e.type===18){var n=cXt[e.name];if(typeof n>"u")throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return n(t,e.values)}if(e.type===5){if(e.value.length===3){var o=e.value.substring(0,1),i=e.value.substring(1,2),r=e.value.substring(2,3);return mw(parseInt(o+o,16),parseInt(i+i,16),parseInt(r+r,16),1)}if(e.value.length===4){var o=e.value.substring(0,1),i=e.value.substring(1,2),r=e.value.substring(2,3),a=e.value.substring(3,4);return mw(parseInt(o+o,16),parseInt(i+i,16),parseInt(r+r,16),parseInt(a+a,16)/255)}if(e.value.length===6){var o=e.value.substring(0,2),i=e.value.substring(2,4),r=e.value.substring(4,6);return mw(parseInt(o,16),parseInt(i,16),parseInt(r,16),1)}if(e.value.length===8){var o=e.value.substring(0,2),i=e.value.substring(2,4),r=e.value.substring(4,6),a=e.value.substring(6,8);return mw(parseInt(o,16),parseInt(i,16),parseInt(r,16),parseInt(a,16)/255)}}if(e.type===20){var l=R6[e.value.toUpperCase()];if(typeof l<"u")return l}return R6.TRANSPARENT}},Ww=function(t){return(255&t)===0},cd=function(t){var e=255&t,n=255&t>>8,o=255&t>>16,i=255&t>>24;return e<255?"rgba("+i+","+o+","+n+","+e/255+")":"rgb("+i+","+o+","+n+")"},mw=function(t,e,n,o){return(t<<24|e<<16|n<<8|Math.round(o*255)<<0)>>>0},ube=function(t,e){if(t.type===17)return t.number;if(t.type===16){var n=e===3?1:255;return e===3?t.number/100*n:Math.round(t.number/100*n)}return 0},dbe=function(t,e){var n=e.filter(cR);if(n.length===3){var o=n.map(ube),i=o[0],r=o[1],a=o[2];return mw(i,r,a,1)}if(n.length===4){var l=n.map(ube),i=l[0],r=l[1],a=l[2],s=l[3];return mw(i,r,a,s)}return 0};function sre(t,e,n){return n<0&&(n+=1),n>=1&&(n-=1),n<1/6?(e-t)*n*6+t:n<1/2?e:n<2/3?(e-t)*6*(2/3-n)+t:t}var fbe=function(t,e){var n=e.filter(cR),o=n[0],i=n[1],r=n[2],a=n[3],l=(o.type===17?Dm(o.number):_$.parse(t,o))/(Math.PI*2),s=iu(i)?i.number/100:0,c=iu(r)?r.number/100:0,u=typeof a<"u"&&iu(a)?Ys(a,1):1;if(s===0)return mw(c*255,c*255,c*255,1);var d=c<=.5?c*(s+1):c+s-c*s,f=c*2-d,p=sre(f,d,l+1/3),g=sre(f,d,l),y=sre(f,d,l-1/3);return mw(p*255,g*255,y*255,u)},cXt={hsl:fbe,hsla:fbe,rgb:dbe,rgba:dbe},pE=function(t,e){return Lw.parse(t,rKe.create(e).parseComponentValue())},R6={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},uXt={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(t,e){return e.map(function(n){if(As(n))switch(n.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},dXt={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},V$=function(t,e){var n=Lw.parse(t,e[0]),o=e[1];return o&&iu(o)?{color:n,stop:o}:{color:n,stop:null}},hbe=function(t,e){var n=t[0],o=t[t.length-1];n.stop===null&&(n.stop=of),o.stop===null&&(o.stop=gw);for(var i=[],r=0,a=0;ar?i.push(s):i.push(r),r=s}else i.push(null)}for(var c=null,a=0;aa.optimumDistance)?{optimumCorner:l,optimumDistance:u}:a},{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},pXt=function(t,e,n,o,i){var r=0,a=0;switch(t.size){case 0:t.shape===0?r=a=Math.min(Math.abs(e),Math.abs(e-o),Math.abs(n),Math.abs(n-i)):t.shape===1&&(r=Math.min(Math.abs(e),Math.abs(e-o)),a=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(t.shape===0)r=a=Math.min(Gy(e,n),Gy(e,n-i),Gy(e-o,n),Gy(e-o,n-i));else if(t.shape===1){var l=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(e),Math.abs(e-o)),s=pbe(o,i,e,n,!0),c=s[0],u=s[1];r=Gy(c-e,(u-n)/l),a=l*r}break;case 1:t.shape===0?r=a=Math.max(Math.abs(e),Math.abs(e-o),Math.abs(n),Math.abs(n-i)):t.shape===1&&(r=Math.max(Math.abs(e),Math.abs(e-o)),a=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(t.shape===0)r=a=Math.max(Gy(e,n),Gy(e,n-i),Gy(e-o,n),Gy(e-o,n-i));else if(t.shape===1){var l=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(e),Math.abs(e-o)),d=pbe(o,i,e,n,!1),c=d[0],u=d[1];r=Gy(c-e,(u-n)/l),a=l*r}break}return Array.isArray(t.size)&&(r=Ys(t.size[0],o),a=t.size.length===2?Ys(t.size[1],i):r),[r,a]},gXt=function(t,e){var n=Dm(180),o=[];return l3(e).forEach(function(i,r){if(r===0){var a=i[0];if(a.type===20&&a.value==="to"){n=hKe(i);return}else if(fKe(a)){n=_$.parse(t,a);return}}var l=V$(t,i);o.push(l)}),{angle:n,stops:o,type:1}},OY=function(t,e){var n=Dm(180),o=[];return l3(e).forEach(function(i,r){if(r===0){var a=i[0];if(a.type===20&&["top","left","right","bottom"].indexOf(a.value)!==-1){n=hKe(i);return}else if(fKe(a)){n=(_$.parse(t,a)+Dm(270))%Dm(360);return}}var l=V$(t,i);o.push(l)}),{angle:n,stops:o,type:1}},mXt=function(t,e){var n=Dm(180),o=[],i=1,r=0,a=3,l=[];return l3(e).forEach(function(s,c){var u=s[0];if(c===0){if(As(u)&&u.value==="linear"){i=1;return}else if(As(u)&&u.value==="radial"){i=2;return}}if(u.type===18){if(u.name==="from"){var d=Lw.parse(t,u.values[0]);o.push({stop:of,color:d})}else if(u.name==="to"){var d=Lw.parse(t,u.values[0]);o.push({stop:gw,color:d})}else if(u.name==="color-stop"){var f=u.values.filter(cR);if(f.length===2){var d=Lw.parse(t,f[1]),p=f[0];NH(p)&&o.push({stop:{type:16,number:p.number*100,flags:p.flags},color:d})}}}}),i===1?{angle:(n+Dm(180))%Dm(360),stops:o,type:i}:{size:a,shape:r,stops:o,position:l,type:i}},pKe="closest-side",gKe="farthest-side",mKe="closest-corner",yKe="farthest-corner",AKe="circle",wKe="ellipse",vKe="cover",xKe="contain",yXt=function(t,e){var n=0,o=3,i=[],r=[];return l3(e).forEach(function(a,l){var s=!0;if(l===0){var c=!1;s=a.reduce(function(d,f){if(c)if(As(f))switch(f.value){case"center":return r.push(qme),d;case"top":case"left":return r.push(of),d;case"right":case"bottom":return r.push(gw),d}else(iu(f)||a7(f))&&r.push(f);else if(As(f))switch(f.value){case AKe:return n=0,!1;case wKe:return n=1,!1;case"at":return c=!0,!1;case pKe:return o=0,!1;case vKe:case gKe:return o=1,!1;case xKe:case mKe:return o=2,!1;case yKe:return o=3,!1}else if(a7(f)||iu(f))return Array.isArray(o)||(o=[]),o.push(f),!1;return d},s)}if(s){var u=V$(t,a);i.push(u)}}),{size:o,shape:n,stops:i,position:r,type:2}},_Y=function(t,e){var n=0,o=3,i=[],r=[];return l3(e).forEach(function(a,l){var s=!0;if(l===0?s=a.reduce(function(u,d){if(As(d))switch(d.value){case"center":return r.push(qme),!1;case"top":case"left":return r.push(of),!1;case"right":case"bottom":return r.push(gw),!1}else if(iu(d)||a7(d))return r.push(d),!1;return u},s):l===1&&(s=a.reduce(function(u,d){if(As(d))switch(d.value){case AKe:return n=0,!1;case wKe:return n=1,!1;case xKe:case pKe:return o=0,!1;case gKe:return o=1,!1;case mKe:return o=2,!1;case vKe:case yKe:return o=3,!1}else if(a7(d)||iu(d))return Array.isArray(o)||(o=[]),o.push(d),!1;return u},s)),s){var c=V$(t,a);i.push(c)}}),{size:o,shape:n,stops:i,position:r,type:2}},AXt=function(t){return t.type===1},wXt=function(t){return t.type===2},$me={name:"image",parse:function(t,e){if(e.type===22){var n={url:e.value,type:0};return t.cache.addImage(e.value),n}if(e.type===18){var o=bKe[e.name];if(typeof o>"u")throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return o(t,e.values)}throw new Error("Unsupported image type "+e.type)}};function vXt(t){return!(t.type===20&&t.value==="none")&&(t.type!==18||!!bKe[t.name])}var bKe={"linear-gradient":gXt,"-moz-linear-gradient":OY,"-ms-linear-gradient":OY,"-o-linear-gradient":OY,"-webkit-linear-gradient":OY,"radial-gradient":yXt,"-moz-radial-gradient":_Y,"-ms-radial-gradient":_Y,"-o-radial-gradient":_Y,"-webkit-radial-gradient":_Y,"-webkit-gradient":mXt},xXt={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(t,e){if(e.length===0)return[];var n=e[0];return n.type===20&&n.value==="none"?[]:e.filter(function(o){return cR(o)&&vXt(o)}).map(function(o){return $me.parse(t,o)})}},bXt={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(t,e){return e.map(function(n){if(As(n))switch(n.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},SXt={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(t,e){return l3(e).map(function(n){return n.filter(iu)}).map(lKe)}},TXt={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(t,e){return l3(e).map(function(n){return n.filter(As).map(function(o){return o.value}).join(" ")}).map(PXt)}},PXt=function(t){switch(t){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},vC;(function(t){t.AUTO="auto",t.CONTAIN="contain",t.COVER="cover"})(vC||(vC={}));var CXt={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(t,e){return l3(e).map(function(n){return n.filter(RXt)})}},RXt=function(t){return As(t)||iu(t)},G$=function(t){return{name:"border-"+t+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},HXt=G$("top"),MXt=G$("right"),IXt=G$("bottom"),zXt=G$("left"),X$=function(t){return{name:"border-radius-"+t,initialValue:"0 0",prefix:!1,type:1,parse:function(e,n){return lKe(n.filter(iu))}}},DXt=X$("top-left"),EXt=X$("top-right"),kXt=X$("bottom-right"),FXt=X$("bottom-left"),J$=function(t){return{name:"border-"+t+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,n){switch(n){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},LXt=J$("top"),WXt=J$("right"),NXt=J$("bottom"),UXt=J$("left"),K$=function(t){return{name:"border-"+t+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,n){return OW(n)?n.number:0}}},BXt=K$("top"),jXt=K$("right"),YXt=K$("bottom"),OXt=K$("left"),_Xt={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},VXt={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(t,e){switch(e){case"rtl":return 1;case"ltr":default:return 0}}},GXt={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(t,e){return e.filter(As).reduce(function(n,o){return n|XXt(o.value)},0)}},XXt=function(t){switch(t){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},JXt={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},KXt={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(t,e){return e.type===20&&e.value==="normal"?0:e.type===17||e.type===15?e.number:0}},FG;(function(t){t.NORMAL="normal",t.STRICT="strict"})(FG||(FG={}));var qXt={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"strict":return FG.STRICT;case"normal":default:return FG.NORMAL}}},$Xt={name:"line-height",initialValue:"normal",prefix:!1,type:4},gbe=function(t,e){return As(t)&&t.value==="normal"?1.2*e:t.type===17?e*t.number:iu(t)?Ys(t,e):e},QXt={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(t,e){return e.type===20&&e.value==="none"?null:$me.parse(t,e)}},ZXt={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(t,e){switch(e){case"inside":return 0;case"outside":default:return 1}}},Aue={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},q$=function(t){return{name:"margin-"+t,initialValue:"0",prefix:!1,type:4}},eJt=q$("top"),tJt=q$("right"),nJt=q$("bottom"),oJt=q$("left"),iJt={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(t,e){return e.filter(As).map(function(n){switch(n.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},rJt={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"break-word":return"break-word";case"normal":default:return"normal"}}},$$=function(t){return{name:"padding-"+t,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},aJt=$$("top"),lJt=$$("right"),sJt=$$("bottom"),cJt=$$("left"),uJt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(t,e){switch(e){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},dJt={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(t,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},fJt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(t,e){return e.length===1&&yue(e[0],"none")?[]:l3(e).map(function(n){for(var o={color:R6.TRANSPARENT,offsetX:of,offsetY:of,blur:of},i=0,r=0;r"u")throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return n(e.values)}return null}},gJt=function(t){var e=t.filter(function(n){return n.type===17}).map(function(n){return n.number});return e.length===6?e:null},mJt=function(t){var e=t.filter(function(s){return s.type===17}).map(function(s){return s.number}),n=e[0],o=e[1];e[2],e[3];var i=e[4],r=e[5];e[6],e[7],e[8],e[9],e[10],e[11];var a=e[12],l=e[13];return e[14],e[15],e.length===16?[n,o,i,r,a,l]:null},yJt={matrix:gJt,matrix3d:mJt},mbe={type:16,number:50,flags:YW},AJt=[mbe,mbe],wJt={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(t,e){var n=e.filter(iu);return n.length!==2?AJt:[n[0],n[1]]}},vJt={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},gE;(function(t){t.NORMAL="normal",t.BREAK_ALL="break-all",t.KEEP_ALL="keep-all"})(gE||(gE={}));var xJt={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"break-all":return gE.BREAK_ALL;case"keep-all":return gE.KEEP_ALL;case"normal":default:return gE.NORMAL}}},bJt={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(t,e){if(e.type===20)return{auto:!0,order:0};if(NH(e))return{auto:!1,order:e.number};throw new Error("Invalid z-index number parsed")}},SKe={name:"time",parse:function(t,e){if(e.type===15)switch(e.unit.toLowerCase()){case"s":return 1e3*e.number;case"ms":return e.number}throw new Error("Unsupported time type")}},SJt={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(t,e){return NH(e)?e.number:1}},TJt={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},PJt={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(t,e){return e.filter(As).map(function(n){switch(n.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(n){return n!==0})}},CJt={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(t,e){var n=[],o=[];return e.forEach(function(i){switch(i.type){case 20:case 0:n.push(i.value);break;case 17:n.push(i.number.toString());break;case 4:o.push(n.join(" ")),n.length=0;break}}),n.length&&o.push(n.join(" ")),o.map(function(i){return i.indexOf(" ")===-1?i:"'"+i+"'"})}},RJt={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},HJt={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(t,e){if(NH(e))return e.number;if(As(e))switch(e.value){case"bold":return 700;case"normal":default:return 400}return 400}},MJt={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(t,e){return e.filter(As).map(function(n){return n.value})}},IJt={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},zu=function(t,e){return(t&e)!==0},zJt={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(t,e){if(e.length===0)return[];var n=e[0];return n.type===20&&n.value==="none"?[]:e}},DJt={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(t,e){if(e.length===0)return null;var n=e[0];if(n.type===20&&n.value==="none")return null;for(var o=[],i=e.filter(aKe),r=0;r1?1:0],this.overflowWrap=Di(e,rJt,n.overflowWrap),this.paddingTop=Di(e,aJt,n.paddingTop),this.paddingRight=Di(e,lJt,n.paddingRight),this.paddingBottom=Di(e,sJt,n.paddingBottom),this.paddingLeft=Di(e,cJt,n.paddingLeft),this.paintOrder=Di(e,WJt,n.paintOrder),this.position=Di(e,dJt,n.position),this.textAlign=Di(e,uJt,n.textAlign),this.textDecorationColor=Di(e,TJt,(o=n.textDecorationColor)!==null&&o!==void 0?o:n.color),this.textDecorationLine=Di(e,PJt,(i=n.textDecorationLine)!==null&&i!==void 0?i:n.textDecoration),this.textShadow=Di(e,fJt,n.textShadow),this.textTransform=Di(e,hJt,n.textTransform),this.transform=Di(e,pJt,n.transform),this.transformOrigin=Di(e,wJt,n.transformOrigin),this.visibility=Di(e,vJt,n.visibility),this.webkitTextStrokeColor=Di(e,NJt,n.webkitTextStrokeColor),this.webkitTextStrokeWidth=Di(e,UJt,n.webkitTextStrokeWidth),this.wordBreak=Di(e,xJt,n.wordBreak),this.zIndex=Di(e,bJt,n.zIndex)}return t.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},t.prototype.isTransparent=function(){return Ww(this.backgroundColor)},t.prototype.isTransformed=function(){return this.transform!==null},t.prototype.isPositioned=function(){return this.position!==0},t.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},t.prototype.isFloating=function(){return this.float!==0},t.prototype.isInlineLevel=function(){return zu(this.display,4)||zu(this.display,33554432)||zu(this.display,268435456)||zu(this.display,536870912)||zu(this.display,67108864)||zu(this.display,134217728)},t}(),jJt=function(){function t(e,n){this.content=Di(e,zJt,n.content),this.quotes=Di(e,FJt,n.quotes)}return t}(),Abe=function(){function t(e,n){this.counterIncrement=Di(e,DJt,n.counterIncrement),this.counterReset=Di(e,EJt,n.counterReset)}return t}(),Di=function(t,e,n){var o=new iKe,i=n!==null&&typeof n<"u"?n.toString():e.initialValue;o.write(i);var r=new rKe(o.read());switch(e.type){case 2:var a=r.parseComponentValue();return e.parse(t,As(a)?a.value:e.initialValue);case 0:return e.parse(t,r.parseComponentValue());case 1:return e.parse(t,r.parseComponentValues());case 4:return r.parseComponentValue();case 3:switch(e.format){case"angle":return _$.parse(t,r.parseComponentValue());case"color":return Lw.parse(t,r.parseComponentValue());case"image":return $me.parse(t,r.parseComponentValue());case"length":var l=r.parseComponentValue();return a7(l)?l:of;case"length-percentage":var s=r.parseComponentValue();return iu(s)?s:of;case"time":return SKe.parse(t,r.parseComponentValue())}break}},YJt="data-html2canvas-debug",OJt=function(t){var e=t.getAttribute(YJt);switch(e){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},wue=function(t,e){var n=OJt(t);return n===1||e===n},s3=function(){function t(e,n){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,wue(n,3))debugger;this.styles=new BJt(e,window.getComputedStyle(n,null)),bue(n)&&(this.styles.animationDuration.some(function(o){return o>0})&&(n.style.animationDuration="0s"),this.styles.transform!==null&&(n.style.transform="none")),this.bounds=Y$(this.context,n),wue(n,4)&&(this.flags|=16)}return t}(),_Jt="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",wbe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",SD=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var VY=0;VY>4,u[i++]=(a&15)<<4|l>>2,u[i++]=(l&3)<<6|s&63;return c},GJt=function(t){for(var e=t.length,n=[],o=0;o>gx,KJt=1<>gx,$Jt=TKe+qJt,QJt=$Jt,ZJt=32,eKt=QJt+ZJt,tKt=65536>>Qme,nKt=1<=0){if(e<55296||e>56319&&e<=65535)return n=this.index[e>>gx],n=(n<>gx)],n=(n<>Qme),n=this.index[n],n+=e>>gx&oKt,n=this.index[n],n=(n<"u"?[]:new Uint8Array(256);for(var GY=0;GY=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(i+1===n||o.length>16384)&&(r+=String.fromCharCode.apply(String,o),o.length=0)}return r},fKt=rKt(_Jt),ym="×",mre="÷",hKt=function(t){return fKt.get(t)},pKt=function(t,e,n){var o=n-2,i=e[o],r=e[n-1],a=e[n];if(r===dre&&a===fre)return ym;if(r===dre||r===fre||r===bbe||a===dre||a===fre||a===bbe)return mre;if(r===Tbe&&[Tbe,hre,Pbe,Cbe].indexOf(a)!==-1||(r===Pbe||r===hre)&&(a===hre||a===pre)||(r===Cbe||r===pre)&&a===pre||a===Rbe||a===Sbe||a===cKt||r===sKt)return ym;if(r===Rbe&&a===Hbe){for(;i===Sbe;)i=e[--o];if(i===Hbe)return ym}if(r===gre&&a===gre){for(var l=0;i===gre;)l++,i=e[--o];if(l%2===0)return ym}return mre},gKt=function(t){var e=uKt(t),n=e.length,o=0,i=0,r=e.map(hKt);return{next:function(){if(o>=n)return{done:!0,value:null};for(var a=ym;oa.x||u.y>a.y;return a=u,c===0?!0:d});return t.body.removeChild(e),l},wKt=function(){return typeof new Image().crossOrigin<"u"},vKt=function(){return typeof new XMLHttpRequest().responseType=="string"},xKt=function(t){var e=new Image,n=t.createElement("canvas"),o=n.getContext("2d");if(!o)return!1;e.src="data:image/svg+xml,";try{o.drawImage(e,0,0),n.toDataURL()}catch{return!1}return!0},Mbe=function(t){return t[0]===0&&t[1]===255&&t[2]===0&&t[3]===255},bKt=function(t){var e=t.createElement("canvas"),n=100;e.width=n,e.height=n;var o=e.getContext("2d");if(!o)return Promise.reject(!1);o.fillStyle="rgb(0, 255, 0)",o.fillRect(0,0,n,n);var i=new Image,r=e.toDataURL();i.src=r;var a=vue(n,n,0,0,i);return o.fillStyle="red",o.fillRect(0,0,n,n),Ibe(a).then(function(l){o.drawImage(l,0,0);var s=o.getImageData(0,0,n,n).data;o.fillStyle="red",o.fillRect(0,0,n,n);var c=t.createElement("div");return c.style.backgroundImage="url("+r+")",c.style.height=n+"px",Mbe(s)?Ibe(vue(n,n,0,0,c)):Promise.reject(!1)}).then(function(l){return o.drawImage(l,0,0),Mbe(o.getImageData(0,0,n,n).data)}).catch(function(){return!1})},vue=function(t,e,n,o,i){var r="http://www.w3.org/2000/svg",a=document.createElementNS(r,"svg"),l=document.createElementNS(r,"foreignObject");return a.setAttributeNS(null,"width",t.toString()),a.setAttributeNS(null,"height",e.toString()),l.setAttributeNS(null,"width","100%"),l.setAttributeNS(null,"height","100%"),l.setAttributeNS(null,"x",n.toString()),l.setAttributeNS(null,"y",o.toString()),l.setAttributeNS(null,"externalResourcesRequired","true"),a.appendChild(l),l.appendChild(i),a},Ibe=function(t){return new Promise(function(e,n){var o=new Image;o.onload=function(){return e(o)},o.onerror=n,o.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(t))})},Qd={get SUPPORT_RANGE_BOUNDS(){var t=yKt(document);return Object.defineProperty(Qd,"SUPPORT_RANGE_BOUNDS",{value:t}),t},get SUPPORT_WORD_BREAKING(){var t=Qd.SUPPORT_RANGE_BOUNDS&&AKt(document);return Object.defineProperty(Qd,"SUPPORT_WORD_BREAKING",{value:t}),t},get SUPPORT_SVG_DRAWING(){var t=xKt(document);return Object.defineProperty(Qd,"SUPPORT_SVG_DRAWING",{value:t}),t},get SUPPORT_FOREIGNOBJECT_DRAWING(){var t=typeof Array.from=="function"&&typeof window.fetch=="function"?bKt(document):Promise.resolve(!1);return Object.defineProperty(Qd,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:t}),t},get SUPPORT_CORS_IMAGES(){var t=wKt();return Object.defineProperty(Qd,"SUPPORT_CORS_IMAGES",{value:t}),t},get SUPPORT_RESPONSE_TYPE(){var t=vKt();return Object.defineProperty(Qd,"SUPPORT_RESPONSE_TYPE",{value:t}),t},get SUPPORT_CORS_XHR(){var t="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Qd,"SUPPORT_CORS_XHR",{value:t}),t},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var t=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(Qd,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:t}),t}},mE=function(){function t(e,n){this.text=e,this.bounds=n}return t}(),SKt=function(t,e,n,o){var i=CKt(e,n),r=[],a=0;return i.forEach(function(l){if(n.textDecorationLine.length||l.trim().length>0)if(Qd.SUPPORT_RANGE_BOUNDS){var s=zbe(o,a,l.length).getClientRects();if(s.length>1){var c=Zme(l),u=0;c.forEach(function(f){r.push(new mE(f,$6.fromDOMRectList(t,zbe(o,u+a,f.length).getClientRects()))),u+=f.length})}else r.push(new mE(l,$6.fromDOMRectList(t,s)))}else{var d=o.splitText(l.length);r.push(new mE(l,TKt(t,o))),o=d}else Qd.SUPPORT_RANGE_BOUNDS||(o=o.splitText(l.length));a+=l.length}),r},TKt=function(t,e){var n=e.ownerDocument;if(n){var o=n.createElement("html2canvaswrapper");o.appendChild(e.cloneNode(!0));var i=e.parentNode;if(i){i.replaceChild(o,e);var r=Y$(t,o);return o.firstChild&&i.replaceChild(o.firstChild,o),r}}return $6.EMPTY},zbe=function(t,e,n){var o=t.ownerDocument;if(!o)throw new Error("Node has no owner document");var i=o.createRange();return i.setStart(t,e),i.setEnd(t,e+n),i},Zme=function(t){if(Qd.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(t)).map(function(n){return n.segment})}return mKt(t)},PKt=function(t,e){if(Qd.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(n.segment(t)).map(function(o){return o.segment})}return HKt(t,e)},CKt=function(t,e){return e.letterSpacing!==0?Zme(t):PKt(t,e)},RKt=[32,160,4961,65792,65793,4153,4241],HKt=function(t,e){for(var n=tGt(t,{lineBreak:e.lineBreak,wordBreak:e.overflowWrap==="break-word"?"break-word":e.wordBreak}),o=[],i,r=function(){if(i.value){var a=i.value.slice(),l=O$(a),s="";l.forEach(function(c){RKt.indexOf(c)===-1?s+=E0(c):(s.length&&o.push(s),o.push(E0(c)),s="")}),s.length&&o.push(s)}};!(i=n.next()).done;)r();return o},MKt=function(){function t(e,n,o){this.text=IKt(n.data,o.textTransform),this.textBounds=SKt(e,this.text,o,n)}return t}(),IKt=function(t,e){switch(e){case 1:return t.toLowerCase();case 3:return t.replace(zKt,DKt);case 2:return t.toUpperCase();default:return t}},zKt=/(^|\s|:|-|\(|\))([a-z])/g,DKt=function(t,e,n){return t.length>0?e+n.toUpperCase():t},PKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.src=o.currentSrc||o.src,i.intrinsicWidth=o.naturalWidth,i.intrinsicHeight=o.naturalHeight,i.context.cache.addImage(i.src),i}return e}(s3),CKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.canvas=o,i.intrinsicWidth=o.width,i.intrinsicHeight=o.height,i}return e}(s3),RKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this,r=new XMLSerializer,a=Y$(n,o);return o.setAttribute("width",a.width+"px"),o.setAttribute("height",a.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(o)),i.intrinsicWidth=o.width.baseVal.value,i.intrinsicHeight=o.height.baseVal.value,i.context.cache.addImage(i.svg),i}return e}(s3),HKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.value=o.value,i}return e}(s3),xue=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.start=o.start,i.reversed=typeof o.reversed=="boolean"&&o.reversed===!0,i}return e}(s3),EKt=[{type:15,flags:0,unit:"px",number:3}],kKt=[{type:16,flags:0,number:50}],FKt=function(t){return t.width>t.height?new $6(t.left+(t.width-t.height)/2,t.top,t.height,t.height):t.width0)n.textNodes.push(new MKt(t,i,n.styles));else if(JP(i))if(NKe(i)&&i.assignedNodes)i.assignedNodes().forEach(function(l){return j_(t,l,n,o)});else{var a=DKe(t,i);a.styles.isVisible()&&(UKt(i,a,o)?a.flags|=4:BKt(a.styles)&&(a.flags|=2),NKt.indexOf(i.tagName)!==-1&&(a.flags|=8),n.elements.push(a),i.slot,i.shadowRoot?j_(t,i.shadowRoot,a,o):!NG(i)&&!FKe(i)&&!UG(i)&&j_(t,i,a,o))}},DKe=function(t,e){return Sue(e)?new PKe(t,e):LKe(e)?new CKe(t,e):FKe(e)?new RKe(t,e):jKt(e)?new HKe(t,e):YKt(e)?new xue(t,e):OKt(e)?new eye(t,e):UG(e)?new MKe(t,e):NG(e)?new IKe(t,e):WKe(e)?new zKe(t,e):new s3(t,e)},EKe=function(t,e){var n=DKe(t,e);return n.flags|=4,j_(t,e,n,n),n},UKt=function(t,e,n){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||tye(t)&&n.styles.isTransparent()},BKt=function(t){return t.isPositioned()||t.isFloating()},kKe=function(t){return t.nodeType===Node.TEXT_NODE},JP=function(t){return t.nodeType===Node.ELEMENT_NODE},bue=function(t){return JP(t)&&typeof t.style<"u"&&!Y_(t)},Y_=function(t){return typeof t.className=="object"},jKt=function(t){return t.tagName==="LI"},YKt=function(t){return t.tagName==="OL"},OKt=function(t){return t.tagName==="INPUT"},_Kt=function(t){return t.tagName==="HTML"},FKe=function(t){return t.tagName==="svg"},tye=function(t){return t.tagName==="BODY"},LKe=function(t){return t.tagName==="CANVAS"},Ebe=function(t){return t.tagName==="VIDEO"},Sue=function(t){return t.tagName==="IMG"},WKe=function(t){return t.tagName==="IFRAME"},kbe=function(t){return t.tagName==="STYLE"},VKt=function(t){return t.tagName==="SCRIPT"},NG=function(t){return t.tagName==="TEXTAREA"},UG=function(t){return t.tagName==="SELECT"},NKe=function(t){return t.tagName==="SLOT"},Fbe=function(t){return t.tagName.indexOf("-")>0},GKt=function(){function t(){this.counters={}}return t.prototype.getCounterValue=function(e){var n=this.counters[e];return n&&n.length?n[n.length-1]:1},t.prototype.getCounterValues=function(e){var n=this.counters[e];return n||[]},t.prototype.pop=function(e){var n=this;e.forEach(function(o){return n.counters[o].pop()})},t.prototype.parse=function(e){var n=this,o=e.counterIncrement,i=e.counterReset,r=!0;o!==null&&o.forEach(function(l){var s=n.counters[l.counter];s&&l.increment!==0&&(r=!1,s.length||s.push(1),s[Math.max(0,s.length-1)]+=l.increment)});var a=[];return r&&i.forEach(function(l){var s=n.counters[l.counter];a.push(l.counter),s||(s=n.counters[l.counter]=[]),s.push(l.reset)}),a},t}(),Lbe={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Wbe={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},XKt={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},JKt={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},ET=function(t,e,n,o,i,r){return tn?nF(t,i,r.length>0):o.integers.reduce(function(a,l,s){for(;t>=l;)t-=l,a+=o.values[s];return a},"")+r},UKe=function(t,e,n,o){var i="";do n||t--,i=o(t)+i,t/=e;while(t*e>=e);return i},I0=function(t,e,n,o,i){var r=n-e+1;return(t<0?"-":"")+(UKe(Math.abs(t),r,o,function(a){return E0(Math.floor(a%r)+e)})+i)},_8=function(t,e,n){n===void 0&&(n=". ");var o=e.length;return UKe(Math.abs(t),o,!1,function(i){return e[Math.floor(i%o)]})+n},QT=1,D4=2,E4=4,TD=8,Q3=function(t,e,n,o,i,r){if(t<-9999||t>9999)return nF(t,4,i.length>0);var a=Math.abs(t),l=i;if(a===0)return e[0]+l;for(var s=0;a>0&&s<=4;s++){var c=a%10;c===0&&zu(r,QT)&&l!==""?l=e[c]+l:c>1||c===1&&s===0||c===1&&s===1&&zu(r,D4)||c===1&&s===1&&zu(r,E4)&&t>100||c===1&&s>1&&zu(r,TD)?l=e[c]+(s>0?n[s-1]:"")+l:c===1&&s>0&&(l=n[s-1]+l),a=Math.floor(a/10)}return(t<0?o:"")+l},Nbe="十百千萬",Ube="拾佰仟萬",Bbe="マイナス",yre="마이너스",nF=function(t,e,n){var o=n?". ":"",i=n?"、":"",r=n?", ":"",a=n?" ":"";switch(e){case 0:return"•"+a;case 1:return"◦"+a;case 2:return"◾"+a;case 5:var l=I0(t,48,57,!0,o);return l.length<4?"0"+l:l;case 4:return _8(t,"〇一二三四五六七八九",i);case 6:return ET(t,1,3999,Lbe,3,o).toLowerCase();case 7:return ET(t,1,3999,Lbe,3,o);case 8:return I0(t,945,969,!1,o);case 9:return I0(t,97,122,!1,o);case 10:return I0(t,65,90,!1,o);case 11:return I0(t,1632,1641,!0,o);case 12:case 49:return ET(t,1,9999,Wbe,3,o);case 35:return ET(t,1,9999,Wbe,3,o).toLowerCase();case 13:return I0(t,2534,2543,!0,o);case 14:case 30:return I0(t,6112,6121,!0,o);case 15:return _8(t,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return _8(t,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return Q3(t,"零一二三四五六七八九",Nbe,"負",i,D4|E4|TD);case 47:return Q3(t,"零壹貳參肆伍陸柒捌玖",Ube,"負",i,QT|D4|E4|TD);case 42:return Q3(t,"零一二三四五六七八九",Nbe,"负",i,D4|E4|TD);case 41:return Q3(t,"零壹贰叁肆伍陆柒捌玖",Ube,"负",i,QT|D4|E4|TD);case 26:return Q3(t,"〇一二三四五六七八九","十百千万",Bbe,i,0);case 25:return Q3(t,"零壱弐参四伍六七八九","拾百千万",Bbe,i,QT|D4|E4);case 31:return Q3(t,"영일이삼사오육칠팔구","십백천만",yre,r,QT|D4|E4);case 33:return Q3(t,"零一二三四五六七八九","十百千萬",yre,r,0);case 32:return Q3(t,"零壹貳參四五六七八九","拾百千",yre,r,QT|D4|E4);case 18:return I0(t,2406,2415,!0,o);case 20:return ET(t,1,19999,JKt,3,o);case 21:return I0(t,2790,2799,!0,o);case 22:return I0(t,2662,2671,!0,o);case 22:return ET(t,1,10999,XKt,3,o);case 23:return _8(t,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return _8(t,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return I0(t,3302,3311,!0,o);case 28:return _8(t,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return _8(t,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return I0(t,3792,3801,!0,o);case 37:return I0(t,6160,6169,!0,o);case 38:return I0(t,4160,4169,!0,o);case 39:return I0(t,2918,2927,!0,o);case 40:return I0(t,1776,1785,!0,o);case 43:return I0(t,3046,3055,!0,o);case 44:return I0(t,3174,3183,!0,o);case 45:return I0(t,3664,3673,!0,o);case 46:return I0(t,3872,3881,!0,o);case 3:default:return I0(t,48,57,!0,o)}},BKe="data-html2canvas-ignore",jbe=function(){function t(e,n,o){if(this.context=e,this.options=o,this.scrolledElements=[],this.referenceElement=n,this.counters=new GKt,this.quoteDepth=0,!n.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(n.ownerDocument.documentElement,!1)}return t.prototype.toIFrame=function(e,n){var o=this,i=KKt(e,n);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,a=e.defaultView.pageYOffset,l=i.contentWindow,s=l.document,c=QKt(i).then(function(){return _h(o,void 0,void 0,function(){var u,d;return Xf(this,function(f){switch(f.label){case 0:return this.scrolledElements.forEach(nqt),l&&(l.scrollTo(n.left,n.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(l.scrollY!==n.top||l.scrollX!==n.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(l.scrollX-n.left,l.scrollY-n.top,0,0))),u=this.options.onclone,d=this.clonedReferenceElement,typeof d>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:s.fonts&&s.fonts.ready?[4,s.fonts.ready]:[3,2];case 1:f.sent(),f.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,$Kt(s)]:[3,4];case 3:f.sent(),f.label=4;case 4:return typeof u=="function"?[2,Promise.resolve().then(function(){return u(s,d)}).then(function(){return i})]:[2,i]}})})});return s.open(),s.write(eqt(document.doctype)+""),tqt(this.referenceElement.ownerDocument,r,a),s.replaceChild(s.adoptNode(this.documentElement),s.documentElement),s.close(),c},t.prototype.createElementClone=function(e){if(wue(e,2))debugger;if(LKe(e))return this.createCanvasClone(e);if(Ebe(e))return this.createVideoClone(e);if(kbe(e))return this.createStyleClone(e);var n=e.cloneNode(!1);return Sue(n)&&(Sue(e)&&e.currentSrc&&e.currentSrc!==e.src&&(n.src=e.currentSrc,n.srcset=""),n.loading==="lazy"&&(n.loading="eager")),Fbe(n)?this.createCustomElementClone(n):n},t.prototype.createCustomElementClone=function(e){var n=document.createElement("html2canvascustomelement");return Are(e.style,n),n},t.prototype.createStyleClone=function(e){try{var n=e.sheet;if(n&&n.cssRules){var o=[].slice.call(n.cssRules,0).reduce(function(r,a){return a&&typeof a.cssText=="string"?r+a.cssText:r},""),i=e.cloneNode(!1);return i.textContent=o,i}}catch(r){if(this.context.logger.error("Unable to access cssRules property",r),r.name!=="SecurityError")throw r}return e.cloneNode(!1)},t.prototype.createCanvasClone=function(e){var n;if(this.options.inlineImages&&e.ownerDocument){var o=e.ownerDocument.createElement("img");try{return o.src=e.toDataURL(),o}catch{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var r=e.getContext("2d"),a=i.getContext("2d");if(a)if(!this.options.allowTaint&&r)a.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var l=(n=e.getContext("webgl2"))!==null&&n!==void 0?n:e.getContext("webgl");if(l){var s=l.getContextAttributes();(s==null?void 0:s.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return i}catch{this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},t.prototype.createVideoClone=function(e){var n=e.ownerDocument.createElement("canvas");n.width=e.offsetWidth,n.height=e.offsetHeight;var o=n.getContext("2d");try{return o&&(o.drawImage(e,0,0,n.width,n.height),this.options.allowTaint||o.getImageData(0,0,n.width,n.height)),n}catch{this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},t.prototype.appendChildNode=function(e,n,o){(!JP(n)||!VKt(n)&&!n.hasAttribute(BKe)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(n)))&&(!this.options.copyStyles||!JP(n)||!kbe(n))&&e.appendChild(this.cloneNode(n,o))},t.prototype.cloneChildNodes=function(e,n,o){for(var i=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(JP(r)&&NKe(r)&&typeof r.assignedNodes=="function"){var a=r.assignedNodes();a.length&&a.forEach(function(l){return i.appendChildNode(n,l,o)})}else this.appendChildNode(n,r,o)},t.prototype.cloneNode=function(e,n){if(kKe(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var o=e.ownerDocument.defaultView;if(o&&JP(e)&&(bue(e)||Y_(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var r=o.getComputedStyle(e),a=o.getComputedStyle(e,":before"),l=o.getComputedStyle(e,":after");this.referenceElement===e&&bue(i)&&(this.clonedReferenceElement=i),tye(i)&&rqt(i);var s=this.counters.parse(new Abe(this.context,r)),c=this.resolvePseudoContent(e,i,a,yE.BEFORE);Fbe(e)&&(n=!0),Ebe(e)||this.cloneChildNodes(e,i,n),c&&i.insertBefore(c,i.firstChild);var u=this.resolvePseudoContent(e,i,l,yE.AFTER);return u&&i.appendChild(u),this.counters.pop(s),(r&&(this.options.copyStyles||Y_(e))&&!WKe(e)||n)&&Are(r,i),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(NG(e)||UG(e))&&(NG(i)||UG(i))&&(i.value=e.value),i}return e.cloneNode(!1)},t.prototype.resolvePseudoContent=function(e,n,o,i){var r=this;if(o){var a=o.content,l=n.ownerDocument;if(!(!l||!a||a==="none"||a==="-moz-alt-content"||o.display==="none")){this.counters.parse(new Abe(this.context,o));var s=new jJt(this.context,o),c=l.createElement("html2canvaspseudoelement");Are(o,c),s.content.forEach(function(d){if(d.type===0)c.appendChild(l.createTextNode(d.value));else if(d.type===22){var f=l.createElement("img");f.src=d.value,f.style.opacity="1",c.appendChild(f)}else if(d.type===18){if(d.name==="attr"){var p=d.values.filter(As);p.length&&c.appendChild(l.createTextNode(e.getAttribute(p[0].value)||""))}else if(d.name==="counter"){var g=d.values.filter(cR),y=g[0],A=g[1];if(y&&As(y)){var x=r.counters.getCounterValue(y.value),C=A&&As(A)?Aue.parse(r.context,A.value):3;c.appendChild(l.createTextNode(nF(x,C,!1)))}}else if(d.name==="counters"){var b=d.values.filter(cR),y=b[0],v=b[1],A=b[2];if(y&&As(y)){var S=r.counters.getCounterValues(y.value),w=A&&As(A)?Aue.parse(r.context,A.value):3,T=v&&v.type===0?v.value:"",P=S.map(function(D){return nF(D,w,!1)}).join(T);c.appendChild(l.createTextNode(P))}}}else if(d.type===20)switch(d.value){case"open-quote":c.appendChild(l.createTextNode(ybe(s.quotes,r.quoteDepth++,!0)));break;case"close-quote":c.appendChild(l.createTextNode(ybe(s.quotes,--r.quoteDepth,!1)));break;default:c.appendChild(l.createTextNode(d.value))}}),c.className=Tue+" "+Pue;var u=i===yE.BEFORE?" "+Tue:" "+Pue;return Y_(n)?n.className.baseValue+=u:n.className+=u,c}}},t.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},t}(),yE;(function(t){t[t.BEFORE=0]="BEFORE",t[t.AFTER=1]="AFTER"})(yE||(yE={}));var KKt=function(t,e){var n=t.createElement("iframe");return n.className="html2canvas-container",n.style.visibility="hidden",n.style.position="fixed",n.style.left="-10000px",n.style.top="0px",n.style.border="0",n.width=e.width.toString(),n.height=e.height.toString(),n.scrolling="no",n.setAttribute(BKe,"true"),t.body.appendChild(n),n},qKt=function(t){return new Promise(function(e){if(t.complete){e();return}if(!t.src){e();return}t.onload=e,t.onerror=e})},$Kt=function(t){return Promise.all([].slice.call(t.images,0).map(qKt))},QKt=function(t){return new Promise(function(e,n){var o=t.contentWindow;if(!o)return n("No window assigned for iframe");var i=o.document;o.onload=t.onload=function(){o.onload=t.onload=null;var r=setInterval(function(){i.body.childNodes.length>0&&i.readyState==="complete"&&(clearInterval(r),e(t))},50)}})},ZKt=["all","d","content"],Are=function(t,e){for(var n=t.length-1;n>=0;n--){var o=t.item(n);ZKt.indexOf(o)===-1&&e.style.setProperty(o,t.getPropertyValue(o))}return e},eqt=function(t){var e="";return t&&(e+=""),e},tqt=function(t,e,n){t&&t.defaultView&&(e!==t.defaultView.pageXOffset||n!==t.defaultView.pageYOffset)&&t.defaultView.scrollTo(e,n)},nqt=function(t){var e=t[0],n=t[1],o=t[2];e.scrollLeft=n,e.scrollTop=o},oqt=":before",iqt=":after",Tue="___html2canvas___pseudoelement_before",Pue="___html2canvas___pseudoelement_after",Ybe=`{ +***************************************************************************** */var iue=function(t,e){return iue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},iue(t,e)};function Q2(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");iue(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var rue=function(){return rue=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(i+1===n||o.length>16384)&&(r+=String.fromCharCode.apply(String,o),o.length=0)}return r},Xxe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wVt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var MY=0;MY"u"?[]:new Uint8Array(256);for(var IY=0;IY>4,u[i++]=(a&15)<<4|l>>2,u[i++]=(l&3)<<6|s&63;return c},xVt=function(t){for(var e=t.length,n=[],o=0;o>px,TVt=1<>px,CVt=VJe+PVt,RVt=CVt,HVt=32,MVt=RVt+HVt,IVt=65536>>Kme,zVt=1<=0){if(e<55296||e>56319&&e<=65535)return n=this.index[e>>px],n=(n<>px)],n=(n<>Kme),n=this.index[n],n+=e>>px&DVt,n=this.index[n],n=(n<"u"?[]:new Uint8Array(256);for(var zY=0;zY$xe?(i.push(!0),l-=$xe):i.push(!1),["normal","auto","loose"].indexOf(e)!==-1&&[8208,8211,12316,12448].indexOf(r)!==-1)return o.push(a),n.push(sue);if(l===UVt||l===aue){if(a===0)return o.push(a),n.push(wv);var s=n[a-1];return XVt.indexOf(s)===-1?(o.push(o[a-1]),n.push(s)):(o.push(a),n.push(wv))}if(o.push(a),l===_Vt)return n.push(e==="strict"?cue:eF);if(l===KJe||l===OVt)return n.push(wv);if(l===VVt)return r>=131072&&r<=196605||r>=196608&&r<=262141?n.push(eF):n.push(wv);n.push(l)}),[o,n,i]},rre=function(t,e,n,o){var i=o[n];if(Array.isArray(t)?t.indexOf(i)!==-1:t===i)for(var r=n;r<=o.length;){r++;var a=o[r];if(a===e)return!0;if(a!==pw)break}if(i===pw)for(var r=n;r>0;){r--;var l=o[r];if(Array.isArray(t)?t.indexOf(l)!==-1:t===l)for(var s=n;s<=o.length;){s++;var a=o[s];if(a===e)return!0;if(a!==pw)break}if(l!==pw)break}return!1},ibe=function(t,e){for(var n=t;n>=0;){var o=e[n];if(o===pw)n--;else return o}return 0},qVt=function(t,e,n,o,i){if(n[o]===0)return Va;var r=o-1;if(Array.isArray(i)&&i[r]===!0)return Va;var a=r-1,l=r+1,s=e[r],c=a>=0?e[a]:0,u=e[l];if(s===GJe&&u===XJe)return Va;if(gue.indexOf(s)!==-1)return qJe;if(gue.indexOf(u)!==-1||$Je.indexOf(u)!==-1)return Va;if(ibe(r,e)===JJe)return FY;if(pue.get(t[r])===aue||(s===EY||s===kY)&&pue.get(t[l])===aue||s===Qxe||u===Qxe||s===Zxe||[pw,lue,wD].indexOf(s)===-1&&u===Zxe||[DY,Rz,YVt,IT,zT].indexOf(u)!==-1||ibe(r,e)===Hz||rre(ore,Hz,r,e)||rre([DY,Rz],cue,r,e)||rre(ebe,ebe,r,e))return Va;if(s===pw)return FY;if(s===ore||u===ore)return Va;if(u===sue||s===sue)return FY;if([lue,wD,cue].indexOf(u)!==-1||s===jVt||c===fue&&JVt.indexOf(s)!==-1||s===zT&&u===fue||u===tbe||$3.indexOf(u)!==-1&&s===Y1||$3.indexOf(s)!==-1&&u===Y1||s===xD&&[eF,EY,kY].indexOf(u)!==-1||[eF,EY,kY].indexOf(s)!==-1&&u===vD||$3.indexOf(s)!==-1&&nbe.indexOf(u)!==-1||nbe.indexOf(s)!==-1&&$3.indexOf(u)!==-1||[xD,vD].indexOf(s)!==-1&&(u===Y1||[Hz,wD].indexOf(u)!==-1&&e[l+1]===Y1)||[Hz,wD].indexOf(s)!==-1&&u===Y1||s===Y1&&[Y1,zT,IT].indexOf(u)!==-1)return Va;if([Y1,zT,IT,DY,Rz].indexOf(u)!==-1)for(var d=r;d>=0;){var f=e[d];if(f===Y1)return Va;if([zT,IT].indexOf(f)!==-1)d--;else break}if([xD,vD].indexOf(u)!==-1)for(var d=[DY,Rz].indexOf(s)!==-1?a:r;d>=0;){var f=e[d];if(f===Y1)return Va;if([zT,IT].indexOf(f)!==-1)d--;else break}if(hue===s&&[hue,U_,uue,due].indexOf(u)!==-1||[U_,uue].indexOf(s)!==-1&&[U_,B_].indexOf(u)!==-1||[B_,due].indexOf(s)!==-1&&u===B_||obe.indexOf(s)!==-1&&[tbe,vD].indexOf(u)!==-1||obe.indexOf(u)!==-1&&s===xD||$3.indexOf(s)!==-1&&$3.indexOf(u)!==-1||s===IT&&$3.indexOf(u)!==-1||$3.concat(Y1).indexOf(s)!==-1&&u===Hz&&GVt.indexOf(t[l])===-1||$3.concat(Y1).indexOf(u)!==-1&&s===Rz)return Va;if(s===ire&&u===ire){for(var p=n[r],g=1;p>0&&(p--,e[p]===ire);)g++;if(g%2!==0)return Va}return s===EY&&u===kY?Va:FY},$Vt=function(t,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var n=KVt(t,e.lineBreak),o=n[0],i=n[1],r=n[2];(e.wordBreak==="break-all"||e.wordBreak==="break-word")&&(i=i.map(function(l){return[Y1,wv,KJe].indexOf(l)!==-1?eF:l}));var a=e.wordBreak==="keep-all"?r.map(function(l,s){return l&&t[s]>=19968&&t[s]<=40959}):void 0;return[o,i,a]},QVt=function(){function t(e,n,o,i){this.codePoints=e,this.required=n===qJe,this.start=o,this.end=i}return t.prototype.slice=function(){return E0.apply(void 0,this.codePoints.slice(this.start,this.end))},t}(),ZVt=function(t,e){var n=O$(t),o=$Vt(n,e),i=o[0],r=o[1],a=o[2],l=n.length,s=0,c=0;return{next:function(){if(c>=l)return{done:!0,value:null};for(var u=Va;c=QJe&&t<=57},EGt=function(t){return t>=55296&&t<=57343},DT=function(t){return $f(t)||t>=tKe&&t<=oKe||t>=ZJe&&t<=HGt},kGt=function(t){return t>=ZJe&&t<=IGt},FGt=function(t){return t>=tKe&&t<=DGt},LGt=function(t){return kGt(t)||FGt(t)},WGt=function(t){return t>=AGt},BY=function(t){return t===EG||t===nGt||t===oGt},kG=function(t){return LGt(t)||WGt(t)||t===lGt},cbe=function(t){return kG(t)||$f(t)||t===zp},NGt=function(t){return t>=bGt&&t<=SGt||t===TGt||t>=PGt&&t<=CGt||t===RGt},_4=function(t,e){return t!==hE?!1:e!==EG},jY=function(t,e,n){return t===zp?kG(e)||_4(e,n):kG(t)?!0:!!(t===hE&&_4(t,e))},lre=function(t,e,n){return t===Uv||t===zp?$f(e)?!0:e===tF&&$f(n):$f(t===tF?e:t)},UGt=function(t){var e=0,n=1;(t[e]===Uv||t[e]===zp)&&(t[e]===zp&&(n=-1),e++);for(var o=[];$f(t[e]);)o.push(t[e++]);var i=o.length?parseInt(E0.apply(void 0,o),10):0;t[e]===tF&&e++;for(var r=[];$f(t[e]);)r.push(t[e++]);var a=r.length,l=a?parseInt(E0.apply(void 0,r),10):0;(t[e]===nKe||t[e]===eKe)&&e++;var s=1;(t[e]===Uv||t[e]===zp)&&(t[e]===zp&&(s=-1),e++);for(var c=[];$f(t[e]);)c.push(t[e++]);var u=c.length?parseInt(E0.apply(void 0,c),10):0;return n*(i+l*Math.pow(10,-a))*Math.pow(10,s*u)},BGt={type:2},jGt={type:3},YGt={type:4},OGt={type:13},_Gt={type:8},VGt={type:21},GGt={type:9},XGt={type:10},JGt={type:11},KGt={type:12},qGt={type:14},YY={type:23},$Gt={type:1},QGt={type:25},ZGt={type:24},eXt={type:26},tXt={type:27},nXt={type:28},oXt={type:29},iXt={type:31},mue={type:32},iKe=function(){function t(){this._value=[]}return t.prototype.write=function(e){this._value=this._value.concat(O$(e))},t.prototype.read=function(){for(var e=[],n=this.consumeToken();n!==mue;)e.push(n),n=this.consumeToken();return e},t.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case LY:return this.consumeStringToken(LY);case iGt:var n=this.peekCodePoint(0),o=this.peekCodePoint(1),i=this.peekCodePoint(2);if(cbe(n)||_4(o,i)){var r=jY(n,o,i)?tGt:eGt,a=this.consumeName();return{type:5,value:a,flags:r}}break;case rGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),OGt;break;case WY:return this.consumeStringToken(WY);case NY:return BGt;case Iz:return jGt;case are:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),qGt;break;case Uv:if(lre(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case wGt:return YGt;case zp:var l=e,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(lre(l,s,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(jY(l,s,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(s===zp&&c===uGt)return this.consumeCodePoint(),this.consumeCodePoint(),ZGt;break;case tF:if(lre(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case abe:if(this.peekCodePoint(0)===are)for(this.consumeCodePoint();;){var u=this.consumeCodePoint();if(u===are&&(u=this.consumeCodePoint(),u===abe))return this.consumeToken();if(u===U5)return this.consumeToken()}break;case vGt:return eXt;case xGt:return tXt;case cGt:if(this.peekCodePoint(0)===sGt&&this.peekCodePoint(1)===zp&&this.peekCodePoint(2)===zp)return this.consumeCodePoint(),this.consumeCodePoint(),QGt;break;case dGt:var d=this.peekCodePoint(0),f=this.peekCodePoint(1),p=this.peekCodePoint(2);if(jY(d,f,p)){var a=this.consumeName();return{type:7,value:a}}break;case fGt:return nXt;case hE:if(_4(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case hGt:return oXt;case pGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),_Gt;break;case gGt:return JGt;case mGt:return KGt;case MGt:case zGt:var g=this.peekCodePoint(0),y=this.peekCodePoint(1);return g===Uv&&(DT(y)||y===UY)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case lbe:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),GGt;if(this.peekCodePoint(0)===lbe)return this.consumeCodePoint(),VGt;break;case yGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),XGt;break;case U5:return mue}return BY(e)?(this.consumeWhiteSpace(),iXt):$f(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):kG(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:E0(e)}},t.prototype.consumeCodePoint=function(){var e=this._value.shift();return typeof e>"u"?-1:e},t.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},t.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},t.prototype.consumeUnicodeRangeToken=function(){for(var e=[],n=this.consumeCodePoint();DT(n)&&e.length<6;)e.push(n),n=this.consumeCodePoint();for(var o=!1;n===UY&&e.length<6;)e.push(n),n=this.consumeCodePoint(),o=!0;if(o){var i=parseInt(E0.apply(void 0,e.map(function(s){return s===UY?QJe:s})),16),r=parseInt(E0.apply(void 0,e.map(function(s){return s===UY?oKe:s})),16);return{type:30,start:i,end:r}}var a=parseInt(E0.apply(void 0,e),16);if(this.peekCodePoint(0)===zp&&DT(this.peekCodePoint(1))){this.consumeCodePoint(),n=this.consumeCodePoint();for(var l=[];DT(n)&&l.length<6;)l.push(n),n=this.consumeCodePoint();var r=parseInt(E0.apply(void 0,l),16);return{type:30,start:a,end:r}}else return{type:30,start:a,end:a}},t.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()==="url"&&this.peekCodePoint(0)===NY?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===NY?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},t.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===U5)return{type:22,value:""};var n=this.peekCodePoint(0);if(n===WY||n===LY){var o=this.consumeStringToken(this.consumeCodePoint());return o.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===U5||this.peekCodePoint(0)===Iz)?(this.consumeCodePoint(),{type:22,value:o.value}):(this.consumeBadUrlRemnants(),YY)}for(;;){var i=this.consumeCodePoint();if(i===U5||i===Iz)return{type:22,value:E0.apply(void 0,e)};if(BY(i))return this.consumeWhiteSpace(),this.peekCodePoint(0)===U5||this.peekCodePoint(0)===Iz?(this.consumeCodePoint(),{type:22,value:E0.apply(void 0,e)}):(this.consumeBadUrlRemnants(),YY);if(i===LY||i===WY||i===NY||NGt(i))return this.consumeBadUrlRemnants(),YY;if(i===hE)if(_4(i,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),YY;else e.push(i)}},t.prototype.consumeWhiteSpace=function(){for(;BY(this.peekCodePoint(0));)this.consumeCodePoint()},t.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===Iz||e===U5)return;_4(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},t.prototype.consumeStringSlice=function(e){for(var n=5e4,o="";e>0;){var i=Math.min(n,e);o+=E0.apply(void 0,this._value.splice(0,i)),e-=i}return this._value.shift(),o},t.prototype.consumeStringToken=function(e){var n="",o=0;do{var i=this._value[o];if(i===U5||i===void 0||i===e)return n+=this.consumeStringSlice(o),{type:0,value:n};if(i===EG)return this._value.splice(0,o),$Gt;if(i===hE){var r=this._value[o+1];r!==U5&&r!==void 0&&(r===EG?(n+=this.consumeStringSlice(o),o=-1,this._value.shift()):_4(i,r)&&(n+=this.consumeStringSlice(o),n+=E0(this.consumeEscapedCodePoint()),o=-1))}o++}while(!0)},t.prototype.consumeNumber=function(){var e=[],n=YW,o=this.peekCodePoint(0);for((o===Uv||o===zp)&&e.push(this.consumeCodePoint());$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());o=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(o===tF&&$f(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),n=rbe;$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());o=this.peekCodePoint(0),i=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((o===nKe||o===eKe)&&((i===Uv||i===zp)&&$f(r)||$f(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),n=rbe;$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[UGt(e),n]},t.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),n=e[0],o=e[1],i=this.peekCodePoint(0),r=this.peekCodePoint(1),a=this.peekCodePoint(2);if(jY(i,r,a)){var l=this.consumeName();return{type:15,number:n,flags:o,unit:l}}return i===aGt?(this.consumeCodePoint(),{type:16,number:n,flags:o}):{type:17,number:n,flags:o}},t.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(DT(e)){for(var n=E0(e);DT(this.peekCodePoint(0))&&n.length<6;)n+=E0(this.consumeCodePoint());BY(this.peekCodePoint(0))&&this.consumeCodePoint();var o=parseInt(n,16);return o===0||EGt(o)||o>1114111?sbe:o}return e===U5?sbe:e},t.prototype.consumeName=function(){for(var e="";;){var n=this.consumeCodePoint();if(cbe(n))e+=E0(n);else if(_4(n,this.peekCodePoint(0)))e+=E0(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(n),e}},t}(),rKe=function(){function t(e){this._tokens=e}return t.create=function(e){var n=new iKe;return n.write(e),new t(n.read())},t.parseValue=function(e){return t.create(e).parseComponentValue()},t.parseValues=function(e){return t.create(e).parseComponentValues()},t.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var n=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return n;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},t.prototype.parseComponentValues=function(){for(var e=[];;){var n=this.consumeComponentValue();if(n.type===32)return e;e.push(n),e.push()}},t.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},t.prototype.consumeSimpleBlock=function(e){for(var n={type:e,values:[]},o=this.consumeToken();;){if(o.type===32||aXt(o,e))return n;this.reconsumeToken(o),n.values.push(this.consumeComponentValue()),o=this.consumeToken()}},t.prototype.consumeFunction=function(e){for(var n={name:e.value,values:[],type:18};;){var o=this.consumeToken();if(o.type===32||o.type===3)return n;this.reconsumeToken(o),n.values.push(this.consumeComponentValue())}},t.prototype.consumeToken=function(){var e=this._tokens.shift();return typeof e>"u"?mue:e},t.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},t}(),OW=function(t){return t.type===15},NH=function(t){return t.type===17},As=function(t){return t.type===20},rXt=function(t){return t.type===0},yue=function(t,e){return As(t)&&t.value===e},aKe=function(t){return t.type!==31},cR=function(t){return t.type!==31&&t.type!==4},l3=function(t){var e=[],n=[];return t.forEach(function(o){if(o.type===4){if(n.length===0)throw new Error("Error parsing function args, zero tokens for arg");e.push(n),n=[];return}o.type!==31&&n.push(o)}),n.length&&e.push(n),e},aXt=function(t,e){return e===11&&t.type===12||e===28&&t.type===29?!0:e===2&&t.type===3},a7=function(t){return t.type===17||t.type===15},iu=function(t){return t.type===16||a7(t)},lKe=function(t){return t.length>1?[t[0],t[1]]:[t[0]]},of={type:17,number:0,flags:YW},qme={type:16,number:50,flags:YW},gw={type:16,number:100,flags:YW},bD=function(t,e,n){var o=t[0],i=t[1];return[Ys(o,e),Ys(typeof i<"u"?i:o,n)]},Ys=function(t,e){if(t.type===16)return t.number/100*e;if(OW(t))switch(t.unit){case"rem":case"em":return 16*t.number;case"px":default:return t.number}return t.number},sKe="deg",cKe="grad",uKe="rad",dKe="turn",_$={name:"angle",parse:function(t,e){if(e.type===15)switch(e.unit){case sKe:return Math.PI*e.number/180;case cKe:return Math.PI/200*e.number;case uKe:return e.number;case dKe:return Math.PI*2*e.number}throw new Error("Unsupported angle type")}},fKe=function(t){return t.type===15&&(t.unit===sKe||t.unit===cKe||t.unit===uKe||t.unit===dKe)},hKe=function(t){var e=t.filter(As).map(function(n){return n.value}).join(" ");switch(e){case"to bottom right":case"to right bottom":case"left top":case"top left":return[of,of];case"to top":case"bottom":return Dm(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[of,gw];case"to right":case"left":return Dm(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[gw,gw];case"to bottom":case"top":return Dm(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[gw,of];case"to left":case"right":return Dm(270)}return 0},Dm=function(t){return Math.PI*t/180},Lw={name:"color",parse:function(t,e){if(e.type===18){var n=lXt[e.name];if(typeof n>"u")throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return n(t,e.values)}if(e.type===5){if(e.value.length===3){var o=e.value.substring(0,1),i=e.value.substring(1,2),r=e.value.substring(2,3);return mw(parseInt(o+o,16),parseInt(i+i,16),parseInt(r+r,16),1)}if(e.value.length===4){var o=e.value.substring(0,1),i=e.value.substring(1,2),r=e.value.substring(2,3),a=e.value.substring(3,4);return mw(parseInt(o+o,16),parseInt(i+i,16),parseInt(r+r,16),parseInt(a+a,16)/255)}if(e.value.length===6){var o=e.value.substring(0,2),i=e.value.substring(2,4),r=e.value.substring(4,6);return mw(parseInt(o,16),parseInt(i,16),parseInt(r,16),1)}if(e.value.length===8){var o=e.value.substring(0,2),i=e.value.substring(2,4),r=e.value.substring(4,6),a=e.value.substring(6,8);return mw(parseInt(o,16),parseInt(i,16),parseInt(r,16),parseInt(a,16)/255)}}if(e.type===20){var l=R6[e.value.toUpperCase()];if(typeof l<"u")return l}return R6.TRANSPARENT}},Ww=function(t){return(255&t)===0},cd=function(t){var e=255&t,n=255&t>>8,o=255&t>>16,i=255&t>>24;return e<255?"rgba("+i+","+o+","+n+","+e/255+")":"rgb("+i+","+o+","+n+")"},mw=function(t,e,n,o){return(t<<24|e<<16|n<<8|Math.round(o*255)<<0)>>>0},ube=function(t,e){if(t.type===17)return t.number;if(t.type===16){var n=e===3?1:255;return e===3?t.number/100*n:Math.round(t.number/100*n)}return 0},dbe=function(t,e){var n=e.filter(cR);if(n.length===3){var o=n.map(ube),i=o[0],r=o[1],a=o[2];return mw(i,r,a,1)}if(n.length===4){var l=n.map(ube),i=l[0],r=l[1],a=l[2],s=l[3];return mw(i,r,a,s)}return 0};function sre(t,e,n){return n<0&&(n+=1),n>=1&&(n-=1),n<1/6?(e-t)*n*6+t:n<1/2?e:n<2/3?(e-t)*6*(2/3-n)+t:t}var fbe=function(t,e){var n=e.filter(cR),o=n[0],i=n[1],r=n[2],a=n[3],l=(o.type===17?Dm(o.number):_$.parse(t,o))/(Math.PI*2),s=iu(i)?i.number/100:0,c=iu(r)?r.number/100:0,u=typeof a<"u"&&iu(a)?Ys(a,1):1;if(s===0)return mw(c*255,c*255,c*255,1);var d=c<=.5?c*(s+1):c+s-c*s,f=c*2-d,p=sre(f,d,l+1/3),g=sre(f,d,l),y=sre(f,d,l-1/3);return mw(p*255,g*255,y*255,u)},lXt={hsl:fbe,hsla:fbe,rgb:dbe,rgba:dbe},pE=function(t,e){return Lw.parse(t,rKe.create(e).parseComponentValue())},R6={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},sXt={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(t,e){return e.map(function(n){if(As(n))switch(n.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},cXt={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},V$=function(t,e){var n=Lw.parse(t,e[0]),o=e[1];return o&&iu(o)?{color:n,stop:o}:{color:n,stop:null}},hbe=function(t,e){var n=t[0],o=t[t.length-1];n.stop===null&&(n.stop=of),o.stop===null&&(o.stop=gw);for(var i=[],r=0,a=0;ar?i.push(s):i.push(r),r=s}else i.push(null)}for(var c=null,a=0;aa.optimumDistance)?{optimumCorner:l,optimumDistance:u}:a},{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},fXt=function(t,e,n,o,i){var r=0,a=0;switch(t.size){case 0:t.shape===0?r=a=Math.min(Math.abs(e),Math.abs(e-o),Math.abs(n),Math.abs(n-i)):t.shape===1&&(r=Math.min(Math.abs(e),Math.abs(e-o)),a=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(t.shape===0)r=a=Math.min(Gy(e,n),Gy(e,n-i),Gy(e-o,n),Gy(e-o,n-i));else if(t.shape===1){var l=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(e),Math.abs(e-o)),s=pbe(o,i,e,n,!0),c=s[0],u=s[1];r=Gy(c-e,(u-n)/l),a=l*r}break;case 1:t.shape===0?r=a=Math.max(Math.abs(e),Math.abs(e-o),Math.abs(n),Math.abs(n-i)):t.shape===1&&(r=Math.max(Math.abs(e),Math.abs(e-o)),a=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(t.shape===0)r=a=Math.max(Gy(e,n),Gy(e,n-i),Gy(e-o,n),Gy(e-o,n-i));else if(t.shape===1){var l=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(e),Math.abs(e-o)),d=pbe(o,i,e,n,!1),c=d[0],u=d[1];r=Gy(c-e,(u-n)/l),a=l*r}break}return Array.isArray(t.size)&&(r=Ys(t.size[0],o),a=t.size.length===2?Ys(t.size[1],i):r),[r,a]},hXt=function(t,e){var n=Dm(180),o=[];return l3(e).forEach(function(i,r){if(r===0){var a=i[0];if(a.type===20&&a.value==="to"){n=hKe(i);return}else if(fKe(a)){n=_$.parse(t,a);return}}var l=V$(t,i);o.push(l)}),{angle:n,stops:o,type:1}},OY=function(t,e){var n=Dm(180),o=[];return l3(e).forEach(function(i,r){if(r===0){var a=i[0];if(a.type===20&&["top","left","right","bottom"].indexOf(a.value)!==-1){n=hKe(i);return}else if(fKe(a)){n=(_$.parse(t,a)+Dm(270))%Dm(360);return}}var l=V$(t,i);o.push(l)}),{angle:n,stops:o,type:1}},pXt=function(t,e){var n=Dm(180),o=[],i=1,r=0,a=3,l=[];return l3(e).forEach(function(s,c){var u=s[0];if(c===0){if(As(u)&&u.value==="linear"){i=1;return}else if(As(u)&&u.value==="radial"){i=2;return}}if(u.type===18){if(u.name==="from"){var d=Lw.parse(t,u.values[0]);o.push({stop:of,color:d})}else if(u.name==="to"){var d=Lw.parse(t,u.values[0]);o.push({stop:gw,color:d})}else if(u.name==="color-stop"){var f=u.values.filter(cR);if(f.length===2){var d=Lw.parse(t,f[1]),p=f[0];NH(p)&&o.push({stop:{type:16,number:p.number*100,flags:p.flags},color:d})}}}}),i===1?{angle:(n+Dm(180))%Dm(360),stops:o,type:i}:{size:a,shape:r,stops:o,position:l,type:i}},pKe="closest-side",gKe="farthest-side",mKe="closest-corner",yKe="farthest-corner",AKe="circle",wKe="ellipse",vKe="cover",xKe="contain",gXt=function(t,e){var n=0,o=3,i=[],r=[];return l3(e).forEach(function(a,l){var s=!0;if(l===0){var c=!1;s=a.reduce(function(d,f){if(c)if(As(f))switch(f.value){case"center":return r.push(qme),d;case"top":case"left":return r.push(of),d;case"right":case"bottom":return r.push(gw),d}else(iu(f)||a7(f))&&r.push(f);else if(As(f))switch(f.value){case AKe:return n=0,!1;case wKe:return n=1,!1;case"at":return c=!0,!1;case pKe:return o=0,!1;case vKe:case gKe:return o=1,!1;case xKe:case mKe:return o=2,!1;case yKe:return o=3,!1}else if(a7(f)||iu(f))return Array.isArray(o)||(o=[]),o.push(f),!1;return d},s)}if(s){var u=V$(t,a);i.push(u)}}),{size:o,shape:n,stops:i,position:r,type:2}},_Y=function(t,e){var n=0,o=3,i=[],r=[];return l3(e).forEach(function(a,l){var s=!0;if(l===0?s=a.reduce(function(u,d){if(As(d))switch(d.value){case"center":return r.push(qme),!1;case"top":case"left":return r.push(of),!1;case"right":case"bottom":return r.push(gw),!1}else if(iu(d)||a7(d))return r.push(d),!1;return u},s):l===1&&(s=a.reduce(function(u,d){if(As(d))switch(d.value){case AKe:return n=0,!1;case wKe:return n=1,!1;case xKe:case pKe:return o=0,!1;case gKe:return o=1,!1;case mKe:return o=2,!1;case vKe:case yKe:return o=3,!1}else if(a7(d)||iu(d))return Array.isArray(o)||(o=[]),o.push(d),!1;return u},s)),s){var c=V$(t,a);i.push(c)}}),{size:o,shape:n,stops:i,position:r,type:2}},mXt=function(t){return t.type===1},yXt=function(t){return t.type===2},$me={name:"image",parse:function(t,e){if(e.type===22){var n={url:e.value,type:0};return t.cache.addImage(e.value),n}if(e.type===18){var o=bKe[e.name];if(typeof o>"u")throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return o(t,e.values)}throw new Error("Unsupported image type "+e.type)}};function AXt(t){return!(t.type===20&&t.value==="none")&&(t.type!==18||!!bKe[t.name])}var bKe={"linear-gradient":hXt,"-moz-linear-gradient":OY,"-ms-linear-gradient":OY,"-o-linear-gradient":OY,"-webkit-linear-gradient":OY,"radial-gradient":gXt,"-moz-radial-gradient":_Y,"-ms-radial-gradient":_Y,"-o-radial-gradient":_Y,"-webkit-radial-gradient":_Y,"-webkit-gradient":pXt},wXt={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(t,e){if(e.length===0)return[];var n=e[0];return n.type===20&&n.value==="none"?[]:e.filter(function(o){return cR(o)&&AXt(o)}).map(function(o){return $me.parse(t,o)})}},vXt={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(t,e){return e.map(function(n){if(As(n))switch(n.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},xXt={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(t,e){return l3(e).map(function(n){return n.filter(iu)}).map(lKe)}},bXt={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(t,e){return l3(e).map(function(n){return n.filter(As).map(function(o){return o.value}).join(" ")}).map(SXt)}},SXt=function(t){switch(t){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},vC;(function(t){t.AUTO="auto",t.CONTAIN="contain",t.COVER="cover"})(vC||(vC={}));var TXt={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(t,e){return l3(e).map(function(n){return n.filter(PXt)})}},PXt=function(t){return As(t)||iu(t)},G$=function(t){return{name:"border-"+t+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},CXt=G$("top"),RXt=G$("right"),HXt=G$("bottom"),MXt=G$("left"),X$=function(t){return{name:"border-radius-"+t,initialValue:"0 0",prefix:!1,type:1,parse:function(e,n){return lKe(n.filter(iu))}}},IXt=X$("top-left"),zXt=X$("top-right"),DXt=X$("bottom-right"),EXt=X$("bottom-left"),J$=function(t){return{name:"border-"+t+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,n){switch(n){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},kXt=J$("top"),FXt=J$("right"),LXt=J$("bottom"),WXt=J$("left"),K$=function(t){return{name:"border-"+t+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,n){return OW(n)?n.number:0}}},NXt=K$("top"),UXt=K$("right"),BXt=K$("bottom"),jXt=K$("left"),YXt={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},OXt={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(t,e){switch(e){case"rtl":return 1;case"ltr":default:return 0}}},_Xt={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(t,e){return e.filter(As).reduce(function(n,o){return n|VXt(o.value)},0)}},VXt=function(t){switch(t){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},GXt={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},XXt={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(t,e){return e.type===20&&e.value==="normal"?0:e.type===17||e.type===15?e.number:0}},FG;(function(t){t.NORMAL="normal",t.STRICT="strict"})(FG||(FG={}));var JXt={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"strict":return FG.STRICT;case"normal":default:return FG.NORMAL}}},KXt={name:"line-height",initialValue:"normal",prefix:!1,type:4},gbe=function(t,e){return As(t)&&t.value==="normal"?1.2*e:t.type===17?e*t.number:iu(t)?Ys(t,e):e},qXt={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(t,e){return e.type===20&&e.value==="none"?null:$me.parse(t,e)}},$Xt={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(t,e){switch(e){case"inside":return 0;case"outside":default:return 1}}},Aue={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},q$=function(t){return{name:"margin-"+t,initialValue:"0",prefix:!1,type:4}},QXt=q$("top"),ZXt=q$("right"),eJt=q$("bottom"),tJt=q$("left"),nJt={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(t,e){return e.filter(As).map(function(n){switch(n.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},oJt={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"break-word":return"break-word";case"normal":default:return"normal"}}},$$=function(t){return{name:"padding-"+t,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},iJt=$$("top"),rJt=$$("right"),aJt=$$("bottom"),lJt=$$("left"),sJt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(t,e){switch(e){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},cJt={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(t,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},uJt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(t,e){return e.length===1&&yue(e[0],"none")?[]:l3(e).map(function(n){for(var o={color:R6.TRANSPARENT,offsetX:of,offsetY:of,blur:of},i=0,r=0;r"u")throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return n(e.values)}return null}},hJt=function(t){var e=t.filter(function(n){return n.type===17}).map(function(n){return n.number});return e.length===6?e:null},pJt=function(t){var e=t.filter(function(s){return s.type===17}).map(function(s){return s.number}),n=e[0],o=e[1];e[2],e[3];var i=e[4],r=e[5];e[6],e[7],e[8],e[9],e[10],e[11];var a=e[12],l=e[13];return e[14],e[15],e.length===16?[n,o,i,r,a,l]:null},gJt={matrix:hJt,matrix3d:pJt},mbe={type:16,number:50,flags:YW},mJt=[mbe,mbe],yJt={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(t,e){var n=e.filter(iu);return n.length!==2?mJt:[n[0],n[1]]}},AJt={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},gE;(function(t){t.NORMAL="normal",t.BREAK_ALL="break-all",t.KEEP_ALL="keep-all"})(gE||(gE={}));var wJt={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"break-all":return gE.BREAK_ALL;case"keep-all":return gE.KEEP_ALL;case"normal":default:return gE.NORMAL}}},vJt={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(t,e){if(e.type===20)return{auto:!0,order:0};if(NH(e))return{auto:!1,order:e.number};throw new Error("Invalid z-index number parsed")}},SKe={name:"time",parse:function(t,e){if(e.type===15)switch(e.unit.toLowerCase()){case"s":return 1e3*e.number;case"ms":return e.number}throw new Error("Unsupported time type")}},xJt={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(t,e){return NH(e)?e.number:1}},bJt={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},SJt={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(t,e){return e.filter(As).map(function(n){switch(n.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(n){return n!==0})}},TJt={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(t,e){var n=[],o=[];return e.forEach(function(i){switch(i.type){case 20:case 0:n.push(i.value);break;case 17:n.push(i.number.toString());break;case 4:o.push(n.join(" ")),n.length=0;break}}),n.length&&o.push(n.join(" ")),o.map(function(i){return i.indexOf(" ")===-1?i:"'"+i+"'"})}},PJt={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},CJt={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(t,e){if(NH(e))return e.number;if(As(e))switch(e.value){case"bold":return 700;case"normal":default:return 400}return 400}},RJt={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(t,e){return e.filter(As).map(function(n){return n.value})}},HJt={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},zu=function(t,e){return(t&e)!==0},MJt={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(t,e){if(e.length===0)return[];var n=e[0];return n.type===20&&n.value==="none"?[]:e}},IJt={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(t,e){if(e.length===0)return null;var n=e[0];if(n.type===20&&n.value==="none")return null;for(var o=[],i=e.filter(aKe),r=0;r1?1:0],this.overflowWrap=Di(e,oJt,n.overflowWrap),this.paddingTop=Di(e,iJt,n.paddingTop),this.paddingRight=Di(e,rJt,n.paddingRight),this.paddingBottom=Di(e,aJt,n.paddingBottom),this.paddingLeft=Di(e,lJt,n.paddingLeft),this.paintOrder=Di(e,FJt,n.paintOrder),this.position=Di(e,cJt,n.position),this.textAlign=Di(e,sJt,n.textAlign),this.textDecorationColor=Di(e,bJt,(o=n.textDecorationColor)!==null&&o!==void 0?o:n.color),this.textDecorationLine=Di(e,SJt,(i=n.textDecorationLine)!==null&&i!==void 0?i:n.textDecoration),this.textShadow=Di(e,uJt,n.textShadow),this.textTransform=Di(e,dJt,n.textTransform),this.transform=Di(e,fJt,n.transform),this.transformOrigin=Di(e,yJt,n.transformOrigin),this.visibility=Di(e,AJt,n.visibility),this.webkitTextStrokeColor=Di(e,LJt,n.webkitTextStrokeColor),this.webkitTextStrokeWidth=Di(e,WJt,n.webkitTextStrokeWidth),this.wordBreak=Di(e,wJt,n.wordBreak),this.zIndex=Di(e,vJt,n.zIndex)}return t.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},t.prototype.isTransparent=function(){return Ww(this.backgroundColor)},t.prototype.isTransformed=function(){return this.transform!==null},t.prototype.isPositioned=function(){return this.position!==0},t.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},t.prototype.isFloating=function(){return this.float!==0},t.prototype.isInlineLevel=function(){return zu(this.display,4)||zu(this.display,33554432)||zu(this.display,268435456)||zu(this.display,536870912)||zu(this.display,67108864)||zu(this.display,134217728)},t}(),UJt=function(){function t(e,n){this.content=Di(e,MJt,n.content),this.quotes=Di(e,EJt,n.quotes)}return t}(),Abe=function(){function t(e,n){this.counterIncrement=Di(e,IJt,n.counterIncrement),this.counterReset=Di(e,zJt,n.counterReset)}return t}(),Di=function(t,e,n){var o=new iKe,i=n!==null&&typeof n<"u"?n.toString():e.initialValue;o.write(i);var r=new rKe(o.read());switch(e.type){case 2:var a=r.parseComponentValue();return e.parse(t,As(a)?a.value:e.initialValue);case 0:return e.parse(t,r.parseComponentValue());case 1:return e.parse(t,r.parseComponentValues());case 4:return r.parseComponentValue();case 3:switch(e.format){case"angle":return _$.parse(t,r.parseComponentValue());case"color":return Lw.parse(t,r.parseComponentValue());case"image":return $me.parse(t,r.parseComponentValue());case"length":var l=r.parseComponentValue();return a7(l)?l:of;case"length-percentage":var s=r.parseComponentValue();return iu(s)?s:of;case"time":return SKe.parse(t,r.parseComponentValue())}break}},BJt="data-html2canvas-debug",jJt=function(t){var e=t.getAttribute(BJt);switch(e){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},wue=function(t,e){var n=jJt(t);return n===1||e===n},s3=function(){function t(e,n){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,wue(n,3))debugger;this.styles=new NJt(e,window.getComputedStyle(n,null)),bue(n)&&(this.styles.animationDuration.some(function(o){return o>0})&&(n.style.animationDuration="0s"),this.styles.transform!==null&&(n.style.transform="none")),this.bounds=Y$(this.context,n),wue(n,4)&&(this.flags|=16)}return t}(),YJt="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",wbe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",SD=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var VY=0;VY>4,u[i++]=(a&15)<<4|l>>2,u[i++]=(l&3)<<6|s&63;return c},_Jt=function(t){for(var e=t.length,n=[],o=0;o>gx,XJt=1<>gx,KJt=TKe+JJt,qJt=KJt,$Jt=32,QJt=qJt+$Jt,ZJt=65536>>Qme,eKt=1<=0){if(e<55296||e>56319&&e<=65535)return n=this.index[e>>gx],n=(n<>gx)],n=(n<>Qme),n=this.index[n],n+=e>>gx&tKt,n=this.index[n],n=(n<"u"?[]:new Uint8Array(256);for(var GY=0;GY=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(i+1===n||o.length>16384)&&(r+=String.fromCharCode.apply(String,o),o.length=0)}return r},uKt=oKt(YJt),ym="×",mre="÷",dKt=function(t){return uKt.get(t)},fKt=function(t,e,n){var o=n-2,i=e[o],r=e[n-1],a=e[n];if(r===dre&&a===fre)return ym;if(r===dre||r===fre||r===bbe||a===dre||a===fre||a===bbe)return mre;if(r===Tbe&&[Tbe,hre,Pbe,Cbe].indexOf(a)!==-1||(r===Pbe||r===hre)&&(a===hre||a===pre)||(r===Cbe||r===pre)&&a===pre||a===Rbe||a===Sbe||a===lKt||r===aKt)return ym;if(r===Rbe&&a===Hbe){for(;i===Sbe;)i=e[--o];if(i===Hbe)return ym}if(r===gre&&a===gre){for(var l=0;i===gre;)l++,i=e[--o];if(l%2===0)return ym}return mre},hKt=function(t){var e=sKt(t),n=e.length,o=0,i=0,r=e.map(dKt);return{next:function(){if(o>=n)return{done:!0,value:null};for(var a=ym;oa.x||u.y>a.y;return a=u,c===0?!0:d});return t.body.removeChild(e),l},yKt=function(){return typeof new Image().crossOrigin<"u"},AKt=function(){return typeof new XMLHttpRequest().responseType=="string"},wKt=function(t){var e=new Image,n=t.createElement("canvas"),o=n.getContext("2d");if(!o)return!1;e.src="data:image/svg+xml,";try{o.drawImage(e,0,0),n.toDataURL()}catch{return!1}return!0},Mbe=function(t){return t[0]===0&&t[1]===255&&t[2]===0&&t[3]===255},vKt=function(t){var e=t.createElement("canvas"),n=100;e.width=n,e.height=n;var o=e.getContext("2d");if(!o)return Promise.reject(!1);o.fillStyle="rgb(0, 255, 0)",o.fillRect(0,0,n,n);var i=new Image,r=e.toDataURL();i.src=r;var a=vue(n,n,0,0,i);return o.fillStyle="red",o.fillRect(0,0,n,n),Ibe(a).then(function(l){o.drawImage(l,0,0);var s=o.getImageData(0,0,n,n).data;o.fillStyle="red",o.fillRect(0,0,n,n);var c=t.createElement("div");return c.style.backgroundImage="url("+r+")",c.style.height=n+"px",Mbe(s)?Ibe(vue(n,n,0,0,c)):Promise.reject(!1)}).then(function(l){return o.drawImage(l,0,0),Mbe(o.getImageData(0,0,n,n).data)}).catch(function(){return!1})},vue=function(t,e,n,o,i){var r="http://www.w3.org/2000/svg",a=document.createElementNS(r,"svg"),l=document.createElementNS(r,"foreignObject");return a.setAttributeNS(null,"width",t.toString()),a.setAttributeNS(null,"height",e.toString()),l.setAttributeNS(null,"width","100%"),l.setAttributeNS(null,"height","100%"),l.setAttributeNS(null,"x",n.toString()),l.setAttributeNS(null,"y",o.toString()),l.setAttributeNS(null,"externalResourcesRequired","true"),a.appendChild(l),l.appendChild(i),a},Ibe=function(t){return new Promise(function(e,n){var o=new Image;o.onload=function(){return e(o)},o.onerror=n,o.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(t))})},Qd={get SUPPORT_RANGE_BOUNDS(){var t=gKt(document);return Object.defineProperty(Qd,"SUPPORT_RANGE_BOUNDS",{value:t}),t},get SUPPORT_WORD_BREAKING(){var t=Qd.SUPPORT_RANGE_BOUNDS&&mKt(document);return Object.defineProperty(Qd,"SUPPORT_WORD_BREAKING",{value:t}),t},get SUPPORT_SVG_DRAWING(){var t=wKt(document);return Object.defineProperty(Qd,"SUPPORT_SVG_DRAWING",{value:t}),t},get SUPPORT_FOREIGNOBJECT_DRAWING(){var t=typeof Array.from=="function"&&typeof window.fetch=="function"?vKt(document):Promise.resolve(!1);return Object.defineProperty(Qd,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:t}),t},get SUPPORT_CORS_IMAGES(){var t=yKt();return Object.defineProperty(Qd,"SUPPORT_CORS_IMAGES",{value:t}),t},get SUPPORT_RESPONSE_TYPE(){var t=AKt();return Object.defineProperty(Qd,"SUPPORT_RESPONSE_TYPE",{value:t}),t},get SUPPORT_CORS_XHR(){var t="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Qd,"SUPPORT_CORS_XHR",{value:t}),t},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var t=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(Qd,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:t}),t}},mE=function(){function t(e,n){this.text=e,this.bounds=n}return t}(),xKt=function(t,e,n,o){var i=TKt(e,n),r=[],a=0;return i.forEach(function(l){if(n.textDecorationLine.length||l.trim().length>0)if(Qd.SUPPORT_RANGE_BOUNDS){var s=zbe(o,a,l.length).getClientRects();if(s.length>1){var c=Zme(l),u=0;c.forEach(function(f){r.push(new mE(f,$6.fromDOMRectList(t,zbe(o,u+a,f.length).getClientRects()))),u+=f.length})}else r.push(new mE(l,$6.fromDOMRectList(t,s)))}else{var d=o.splitText(l.length);r.push(new mE(l,bKt(t,o))),o=d}else Qd.SUPPORT_RANGE_BOUNDS||(o=o.splitText(l.length));a+=l.length}),r},bKt=function(t,e){var n=e.ownerDocument;if(n){var o=n.createElement("html2canvaswrapper");o.appendChild(e.cloneNode(!0));var i=e.parentNode;if(i){i.replaceChild(o,e);var r=Y$(t,o);return o.firstChild&&i.replaceChild(o.firstChild,o),r}}return $6.EMPTY},zbe=function(t,e,n){var o=t.ownerDocument;if(!o)throw new Error("Node has no owner document");var i=o.createRange();return i.setStart(t,e),i.setEnd(t,e+n),i},Zme=function(t){if(Qd.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(t)).map(function(n){return n.segment})}return pKt(t)},SKt=function(t,e){if(Qd.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(n.segment(t)).map(function(o){return o.segment})}return CKt(t,e)},TKt=function(t,e){return e.letterSpacing!==0?Zme(t):SKt(t,e)},PKt=[32,160,4961,65792,65793,4153,4241],CKt=function(t,e){for(var n=ZVt(t,{lineBreak:e.lineBreak,wordBreak:e.overflowWrap==="break-word"?"break-word":e.wordBreak}),o=[],i,r=function(){if(i.value){var a=i.value.slice(),l=O$(a),s="";l.forEach(function(c){PKt.indexOf(c)===-1?s+=E0(c):(s.length&&o.push(s),o.push(E0(c)),s="")}),s.length&&o.push(s)}};!(i=n.next()).done;)r();return o},RKt=function(){function t(e,n,o){this.text=HKt(n.data,o.textTransform),this.textBounds=xKt(e,this.text,o,n)}return t}(),HKt=function(t,e){switch(e){case 1:return t.toLowerCase();case 3:return t.replace(MKt,IKt);case 2:return t.toUpperCase();default:return t}},MKt=/(^|\s|:|-|\(|\))([a-z])/g,IKt=function(t,e,n){return t.length>0?e+n.toUpperCase():t},PKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.src=o.currentSrc||o.src,i.intrinsicWidth=o.naturalWidth,i.intrinsicHeight=o.naturalHeight,i.context.cache.addImage(i.src),i}return e}(s3),CKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.canvas=o,i.intrinsicWidth=o.width,i.intrinsicHeight=o.height,i}return e}(s3),RKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this,r=new XMLSerializer,a=Y$(n,o);return o.setAttribute("width",a.width+"px"),o.setAttribute("height",a.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(o)),i.intrinsicWidth=o.width.baseVal.value,i.intrinsicHeight=o.height.baseVal.value,i.context.cache.addImage(i.svg),i}return e}(s3),HKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.value=o.value,i}return e}(s3),xue=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.start=o.start,i.reversed=typeof o.reversed=="boolean"&&o.reversed===!0,i}return e}(s3),zKt=[{type:15,flags:0,unit:"px",number:3}],DKt=[{type:16,flags:0,number:50}],EKt=function(t){return t.width>t.height?new $6(t.left+(t.width-t.height)/2,t.top,t.height,t.height):t.width0)n.textNodes.push(new RKt(t,i,n.styles));else if(JP(i))if(NKe(i)&&i.assignedNodes)i.assignedNodes().forEach(function(l){return j_(t,l,n,o)});else{var a=DKe(t,i);a.styles.isVisible()&&(WKt(i,a,o)?a.flags|=4:NKt(a.styles)&&(a.flags|=2),LKt.indexOf(i.tagName)!==-1&&(a.flags|=8),n.elements.push(a),i.slot,i.shadowRoot?j_(t,i.shadowRoot,a,o):!NG(i)&&!FKe(i)&&!UG(i)&&j_(t,i,a,o))}},DKe=function(t,e){return Sue(e)?new PKe(t,e):LKe(e)?new CKe(t,e):FKe(e)?new RKe(t,e):UKt(e)?new HKe(t,e):BKt(e)?new xue(t,e):jKt(e)?new eye(t,e):UG(e)?new MKe(t,e):NG(e)?new IKe(t,e):WKe(e)?new zKe(t,e):new s3(t,e)},EKe=function(t,e){var n=DKe(t,e);return n.flags|=4,j_(t,e,n,n),n},WKt=function(t,e,n){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||tye(t)&&n.styles.isTransparent()},NKt=function(t){return t.isPositioned()||t.isFloating()},kKe=function(t){return t.nodeType===Node.TEXT_NODE},JP=function(t){return t.nodeType===Node.ELEMENT_NODE},bue=function(t){return JP(t)&&typeof t.style<"u"&&!Y_(t)},Y_=function(t){return typeof t.className=="object"},UKt=function(t){return t.tagName==="LI"},BKt=function(t){return t.tagName==="OL"},jKt=function(t){return t.tagName==="INPUT"},YKt=function(t){return t.tagName==="HTML"},FKe=function(t){return t.tagName==="svg"},tye=function(t){return t.tagName==="BODY"},LKe=function(t){return t.tagName==="CANVAS"},Ebe=function(t){return t.tagName==="VIDEO"},Sue=function(t){return t.tagName==="IMG"},WKe=function(t){return t.tagName==="IFRAME"},kbe=function(t){return t.tagName==="STYLE"},OKt=function(t){return t.tagName==="SCRIPT"},NG=function(t){return t.tagName==="TEXTAREA"},UG=function(t){return t.tagName==="SELECT"},NKe=function(t){return t.tagName==="SLOT"},Fbe=function(t){return t.tagName.indexOf("-")>0},_Kt=function(){function t(){this.counters={}}return t.prototype.getCounterValue=function(e){var n=this.counters[e];return n&&n.length?n[n.length-1]:1},t.prototype.getCounterValues=function(e){var n=this.counters[e];return n||[]},t.prototype.pop=function(e){var n=this;e.forEach(function(o){return n.counters[o].pop()})},t.prototype.parse=function(e){var n=this,o=e.counterIncrement,i=e.counterReset,r=!0;o!==null&&o.forEach(function(l){var s=n.counters[l.counter];s&&l.increment!==0&&(r=!1,s.length||s.push(1),s[Math.max(0,s.length-1)]+=l.increment)});var a=[];return r&&i.forEach(function(l){var s=n.counters[l.counter];a.push(l.counter),s||(s=n.counters[l.counter]=[]),s.push(l.reset)}),a},t}(),Lbe={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Wbe={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},VKt={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},GKt={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},ET=function(t,e,n,o,i,r){return tn?nF(t,i,r.length>0):o.integers.reduce(function(a,l,s){for(;t>=l;)t-=l,a+=o.values[s];return a},"")+r},UKe=function(t,e,n,o){var i="";do n||t--,i=o(t)+i,t/=e;while(t*e>=e);return i},I0=function(t,e,n,o,i){var r=n-e+1;return(t<0?"-":"")+(UKe(Math.abs(t),r,o,function(a){return E0(Math.floor(a%r)+e)})+i)},_8=function(t,e,n){n===void 0&&(n=". ");var o=e.length;return UKe(Math.abs(t),o,!1,function(i){return e[Math.floor(i%o)]})+n},QT=1,D4=2,E4=4,TD=8,Q3=function(t,e,n,o,i,r){if(t<-9999||t>9999)return nF(t,4,i.length>0);var a=Math.abs(t),l=i;if(a===0)return e[0]+l;for(var s=0;a>0&&s<=4;s++){var c=a%10;c===0&&zu(r,QT)&&l!==""?l=e[c]+l:c>1||c===1&&s===0||c===1&&s===1&&zu(r,D4)||c===1&&s===1&&zu(r,E4)&&t>100||c===1&&s>1&&zu(r,TD)?l=e[c]+(s>0?n[s-1]:"")+l:c===1&&s>0&&(l=n[s-1]+l),a=Math.floor(a/10)}return(t<0?o:"")+l},Nbe="十百千萬",Ube="拾佰仟萬",Bbe="マイナス",yre="마이너스",nF=function(t,e,n){var o=n?". ":"",i=n?"、":"",r=n?", ":"",a=n?" ":"";switch(e){case 0:return"•"+a;case 1:return"◦"+a;case 2:return"◾"+a;case 5:var l=I0(t,48,57,!0,o);return l.length<4?"0"+l:l;case 4:return _8(t,"〇一二三四五六七八九",i);case 6:return ET(t,1,3999,Lbe,3,o).toLowerCase();case 7:return ET(t,1,3999,Lbe,3,o);case 8:return I0(t,945,969,!1,o);case 9:return I0(t,97,122,!1,o);case 10:return I0(t,65,90,!1,o);case 11:return I0(t,1632,1641,!0,o);case 12:case 49:return ET(t,1,9999,Wbe,3,o);case 35:return ET(t,1,9999,Wbe,3,o).toLowerCase();case 13:return I0(t,2534,2543,!0,o);case 14:case 30:return I0(t,6112,6121,!0,o);case 15:return _8(t,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return _8(t,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return Q3(t,"零一二三四五六七八九",Nbe,"負",i,D4|E4|TD);case 47:return Q3(t,"零壹貳參肆伍陸柒捌玖",Ube,"負",i,QT|D4|E4|TD);case 42:return Q3(t,"零一二三四五六七八九",Nbe,"负",i,D4|E4|TD);case 41:return Q3(t,"零壹贰叁肆伍陆柒捌玖",Ube,"负",i,QT|D4|E4|TD);case 26:return Q3(t,"〇一二三四五六七八九","十百千万",Bbe,i,0);case 25:return Q3(t,"零壱弐参四伍六七八九","拾百千万",Bbe,i,QT|D4|E4);case 31:return Q3(t,"영일이삼사오육칠팔구","십백천만",yre,r,QT|D4|E4);case 33:return Q3(t,"零一二三四五六七八九","十百千萬",yre,r,0);case 32:return Q3(t,"零壹貳參四五六七八九","拾百千",yre,r,QT|D4|E4);case 18:return I0(t,2406,2415,!0,o);case 20:return ET(t,1,19999,GKt,3,o);case 21:return I0(t,2790,2799,!0,o);case 22:return I0(t,2662,2671,!0,o);case 22:return ET(t,1,10999,VKt,3,o);case 23:return _8(t,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return _8(t,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return I0(t,3302,3311,!0,o);case 28:return _8(t,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return _8(t,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return I0(t,3792,3801,!0,o);case 37:return I0(t,6160,6169,!0,o);case 38:return I0(t,4160,4169,!0,o);case 39:return I0(t,2918,2927,!0,o);case 40:return I0(t,1776,1785,!0,o);case 43:return I0(t,3046,3055,!0,o);case 44:return I0(t,3174,3183,!0,o);case 45:return I0(t,3664,3673,!0,o);case 46:return I0(t,3872,3881,!0,o);case 3:default:return I0(t,48,57,!0,o)}},BKe="data-html2canvas-ignore",jbe=function(){function t(e,n,o){if(this.context=e,this.options=o,this.scrolledElements=[],this.referenceElement=n,this.counters=new _Kt,this.quoteDepth=0,!n.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(n.ownerDocument.documentElement,!1)}return t.prototype.toIFrame=function(e,n){var o=this,i=XKt(e,n);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,a=e.defaultView.pageYOffset,l=i.contentWindow,s=l.document,c=qKt(i).then(function(){return _h(o,void 0,void 0,function(){var u,d;return Xf(this,function(f){switch(f.label){case 0:return this.scrolledElements.forEach(eqt),l&&(l.scrollTo(n.left,n.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(l.scrollY!==n.top||l.scrollX!==n.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(l.scrollX-n.left,l.scrollY-n.top,0,0))),u=this.options.onclone,d=this.clonedReferenceElement,typeof d>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:s.fonts&&s.fonts.ready?[4,s.fonts.ready]:[3,2];case 1:f.sent(),f.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,KKt(s)]:[3,4];case 3:f.sent(),f.label=4;case 4:return typeof u=="function"?[2,Promise.resolve().then(function(){return u(s,d)}).then(function(){return i})]:[2,i]}})})});return s.open(),s.write(QKt(document.doctype)+""),ZKt(this.referenceElement.ownerDocument,r,a),s.replaceChild(s.adoptNode(this.documentElement),s.documentElement),s.close(),c},t.prototype.createElementClone=function(e){if(wue(e,2))debugger;if(LKe(e))return this.createCanvasClone(e);if(Ebe(e))return this.createVideoClone(e);if(kbe(e))return this.createStyleClone(e);var n=e.cloneNode(!1);return Sue(n)&&(Sue(e)&&e.currentSrc&&e.currentSrc!==e.src&&(n.src=e.currentSrc,n.srcset=""),n.loading==="lazy"&&(n.loading="eager")),Fbe(n)?this.createCustomElementClone(n):n},t.prototype.createCustomElementClone=function(e){var n=document.createElement("html2canvascustomelement");return Are(e.style,n),n},t.prototype.createStyleClone=function(e){try{var n=e.sheet;if(n&&n.cssRules){var o=[].slice.call(n.cssRules,0).reduce(function(r,a){return a&&typeof a.cssText=="string"?r+a.cssText:r},""),i=e.cloneNode(!1);return i.textContent=o,i}}catch(r){if(this.context.logger.error("Unable to access cssRules property",r),r.name!=="SecurityError")throw r}return e.cloneNode(!1)},t.prototype.createCanvasClone=function(e){var n;if(this.options.inlineImages&&e.ownerDocument){var o=e.ownerDocument.createElement("img");try{return o.src=e.toDataURL(),o}catch{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var r=e.getContext("2d"),a=i.getContext("2d");if(a)if(!this.options.allowTaint&&r)a.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var l=(n=e.getContext("webgl2"))!==null&&n!==void 0?n:e.getContext("webgl");if(l){var s=l.getContextAttributes();(s==null?void 0:s.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return i}catch{this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},t.prototype.createVideoClone=function(e){var n=e.ownerDocument.createElement("canvas");n.width=e.offsetWidth,n.height=e.offsetHeight;var o=n.getContext("2d");try{return o&&(o.drawImage(e,0,0,n.width,n.height),this.options.allowTaint||o.getImageData(0,0,n.width,n.height)),n}catch{this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},t.prototype.appendChildNode=function(e,n,o){(!JP(n)||!OKt(n)&&!n.hasAttribute(BKe)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(n)))&&(!this.options.copyStyles||!JP(n)||!kbe(n))&&e.appendChild(this.cloneNode(n,o))},t.prototype.cloneChildNodes=function(e,n,o){for(var i=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(JP(r)&&NKe(r)&&typeof r.assignedNodes=="function"){var a=r.assignedNodes();a.length&&a.forEach(function(l){return i.appendChildNode(n,l,o)})}else this.appendChildNode(n,r,o)},t.prototype.cloneNode=function(e,n){if(kKe(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var o=e.ownerDocument.defaultView;if(o&&JP(e)&&(bue(e)||Y_(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var r=o.getComputedStyle(e),a=o.getComputedStyle(e,":before"),l=o.getComputedStyle(e,":after");this.referenceElement===e&&bue(i)&&(this.clonedReferenceElement=i),tye(i)&&oqt(i);var s=this.counters.parse(new Abe(this.context,r)),c=this.resolvePseudoContent(e,i,a,yE.BEFORE);Fbe(e)&&(n=!0),Ebe(e)||this.cloneChildNodes(e,i,n),c&&i.insertBefore(c,i.firstChild);var u=this.resolvePseudoContent(e,i,l,yE.AFTER);return u&&i.appendChild(u),this.counters.pop(s),(r&&(this.options.copyStyles||Y_(e))&&!WKe(e)||n)&&Are(r,i),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(NG(e)||UG(e))&&(NG(i)||UG(i))&&(i.value=e.value),i}return e.cloneNode(!1)},t.prototype.resolvePseudoContent=function(e,n,o,i){var r=this;if(o){var a=o.content,l=n.ownerDocument;if(!(!l||!a||a==="none"||a==="-moz-alt-content"||o.display==="none")){this.counters.parse(new Abe(this.context,o));var s=new UJt(this.context,o),c=l.createElement("html2canvaspseudoelement");Are(o,c),s.content.forEach(function(d){if(d.type===0)c.appendChild(l.createTextNode(d.value));else if(d.type===22){var f=l.createElement("img");f.src=d.value,f.style.opacity="1",c.appendChild(f)}else if(d.type===18){if(d.name==="attr"){var p=d.values.filter(As);p.length&&c.appendChild(l.createTextNode(e.getAttribute(p[0].value)||""))}else if(d.name==="counter"){var g=d.values.filter(cR),y=g[0],A=g[1];if(y&&As(y)){var x=r.counters.getCounterValue(y.value),C=A&&As(A)?Aue.parse(r.context,A.value):3;c.appendChild(l.createTextNode(nF(x,C,!1)))}}else if(d.name==="counters"){var b=d.values.filter(cR),y=b[0],v=b[1],A=b[2];if(y&&As(y)){var S=r.counters.getCounterValues(y.value),w=A&&As(A)?Aue.parse(r.context,A.value):3,T=v&&v.type===0?v.value:"",P=S.map(function(D){return nF(D,w,!1)}).join(T);c.appendChild(l.createTextNode(P))}}}else if(d.type===20)switch(d.value){case"open-quote":c.appendChild(l.createTextNode(ybe(s.quotes,r.quoteDepth++,!0)));break;case"close-quote":c.appendChild(l.createTextNode(ybe(s.quotes,--r.quoteDepth,!1)));break;default:c.appendChild(l.createTextNode(d.value))}}),c.className=Tue+" "+Pue;var u=i===yE.BEFORE?" "+Tue:" "+Pue;return Y_(n)?n.className.baseValue+=u:n.className+=u,c}}},t.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},t}(),yE;(function(t){t[t.BEFORE=0]="BEFORE",t[t.AFTER=1]="AFTER"})(yE||(yE={}));var XKt=function(t,e){var n=t.createElement("iframe");return n.className="html2canvas-container",n.style.visibility="hidden",n.style.position="fixed",n.style.left="-10000px",n.style.top="0px",n.style.border="0",n.width=e.width.toString(),n.height=e.height.toString(),n.scrolling="no",n.setAttribute(BKe,"true"),t.body.appendChild(n),n},JKt=function(t){return new Promise(function(e){if(t.complete){e();return}if(!t.src){e();return}t.onload=e,t.onerror=e})},KKt=function(t){return Promise.all([].slice.call(t.images,0).map(JKt))},qKt=function(t){return new Promise(function(e,n){var o=t.contentWindow;if(!o)return n("No window assigned for iframe");var i=o.document;o.onload=t.onload=function(){o.onload=t.onload=null;var r=setInterval(function(){i.body.childNodes.length>0&&i.readyState==="complete"&&(clearInterval(r),e(t))},50)}})},$Kt=["all","d","content"],Are=function(t,e){for(var n=t.length-1;n>=0;n--){var o=t.item(n);$Kt.indexOf(o)===-1&&e.style.setProperty(o,t.getPropertyValue(o))}return e},QKt=function(t){var e="";return t&&(e+=""),e},ZKt=function(t,e,n){t&&t.defaultView&&(e!==t.defaultView.pageXOffset||n!==t.defaultView.pageYOffset)&&t.defaultView.scrollTo(e,n)},eqt=function(t){var e=t[0],n=t[1],o=t[2];e.scrollLeft=n,e.scrollTop=o},tqt=":before",nqt=":after",Tue="___html2canvas___pseudoelement_before",Pue="___html2canvas___pseudoelement_after",Ybe=`{ content: "" !important; display: none !important; -}`,rqt=function(t){aqt(t,"."+Tue+oqt+Ybe+` - .`+Pue+iqt+Ybe)},aqt=function(t,e){var n=t.ownerDocument;if(n){var o=n.createElement("style");o.textContent=e,t.appendChild(o)}},jKe=function(){function t(){}return t.getOrigin=function(e){var n=t._link;return n?(n.href=e,n.href=n.href,n.protocol+n.hostname+n.port):"about:blank"},t.isSameOrigin=function(e){return t.getOrigin(e)===t._origin},t.setContext=function(e){t._link=e.document.createElement("a"),t._origin=t.getOrigin(e.location.href)},t._origin="about:blank",t}(),lqt=function(){function t(e,n){this.context=e,this._options=n,this._cache={}}return t.prototype.addImage=function(e){var n=Promise.resolve();return this.has(e)||(vre(e)||dqt(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),n},t.prototype.match=function(e){return this._cache[e]},t.prototype.loadImage=function(e){return _h(this,void 0,void 0,function(){var n,o,i,r,a=this;return Xf(this,function(l){switch(l.label){case 0:return n=jKe.isSameOrigin(e),o=!wre(e)&&this._options.useCORS===!0&&Qd.SUPPORT_CORS_IMAGES&&!n,i=!wre(e)&&!n&&!vre(e)&&typeof this._options.proxy=="string"&&Qd.SUPPORT_CORS_XHR&&!o,!n&&this._options.allowTaint===!1&&!wre(e)&&!vre(e)&&!i&&!o?[2]:(r=e,i?[4,this.proxy(r)]:[3,2]);case 1:r=l.sent(),l.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(s,c){var u=new Image;u.onload=function(){return s(u)},u.onerror=c,(fqt(r)||o)&&(u.crossOrigin="anonymous"),u.src=r,u.complete===!0&&setTimeout(function(){return s(u)},500),a._options.imageTimeout>0&&setTimeout(function(){return c("Timed out ("+a._options.imageTimeout+"ms) loading image")},a._options.imageTimeout)})];case 3:return[2,l.sent()]}})})},t.prototype.has=function(e){return typeof this._cache[e]<"u"},t.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},t.prototype.proxy=function(e){var n=this,o=this._options.proxy;if(!o)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise(function(r,a){var l=Qd.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(s.status===200)if(l==="text")r(s.response);else{var d=new FileReader;d.addEventListener("load",function(){return r(d.result)},!1),d.addEventListener("error",function(f){return a(f)},!1),d.readAsDataURL(s.response)}else a("Failed to proxy resource "+i+" with status code "+s.status)},s.onerror=a;var c=o.indexOf("?")>-1?"&":"?";if(s.open("GET",""+o+c+"url="+encodeURIComponent(e)+"&responseType="+l),l!=="text"&&s instanceof XMLHttpRequest&&(s.responseType=l),n._options.imageTimeout){var u=n._options.imageTimeout;s.timeout=u,s.ontimeout=function(){return a("Timed out ("+u+"ms) proxying "+i)}}s.send()})},t}(),sqt=/^data:image\/svg\+xml/i,cqt=/^data:image\/.*;base64,/i,uqt=/^data:image\/.*/i,dqt=function(t){return Qd.SUPPORT_SVG_DRAWING||!hqt(t)},wre=function(t){return uqt.test(t)},fqt=function(t){return cqt.test(t)},vre=function(t){return t.substr(0,4)==="blob"},hqt=function(t){return t.substr(-3).toLowerCase()==="svg"||sqt.test(t)},Ci=function(){function t(e,n){this.type=0,this.x=e,this.y=n}return t.prototype.add=function(e,n){return new t(this.x+e,this.y+n)},t}(),kT=function(t,e,n){return new Ci(t.x+(e.x-t.x)*n,t.y+(e.y-t.y)*n)},XY=function(){function t(e,n,o,i){this.type=1,this.start=e,this.startControl=n,this.endControl=o,this.end=i}return t.prototype.subdivide=function(e,n){var o=kT(this.start,this.startControl,e),i=kT(this.startControl,this.endControl,e),r=kT(this.endControl,this.end,e),a=kT(o,i,e),l=kT(i,r,e),s=kT(a,l,e);return n?new t(this.start,o,a,s):new t(s,l,r,this.end)},t.prototype.add=function(e,n){return new t(this.start.add(e,n),this.startControl.add(e,n),this.endControl.add(e,n),this.end.add(e,n))},t.prototype.reverse=function(){return new t(this.end,this.endControl,this.startControl,this.start)},t}(),bm=function(t){return t.type===1},pqt=function(){function t(e){var n=e.styles,o=e.bounds,i=bD(n.borderTopLeftRadius,o.width,o.height),r=i[0],a=i[1],l=bD(n.borderTopRightRadius,o.width,o.height),s=l[0],c=l[1],u=bD(n.borderBottomRightRadius,o.width,o.height),d=u[0],f=u[1],p=bD(n.borderBottomLeftRadius,o.width,o.height),g=p[0],y=p[1],A=[];A.push((r+s)/o.width),A.push((g+d)/o.width),A.push((a+y)/o.height),A.push((c+f)/o.height);var x=Math.max.apply(Math,A);x>1&&(r/=x,a/=x,s/=x,c/=x,d/=x,f/=x,g/=x,y/=x);var C=o.width-s,b=o.height-f,v=o.width-d,S=o.height-y,w=n.borderTopWidth,T=n.borderRightWidth,P=n.borderBottomWidth,R=n.borderLeftWidth,H=Ys(n.paddingTop,e.bounds.width),D=Ys(n.paddingRight,e.bounds.width),E=Ys(n.paddingBottom,e.bounds.width),L=Ys(n.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||a>0?kc(o.left+R/3,o.top+w/3,r-R/3,a-w/3,Kl.TOP_LEFT):new Ci(o.left+R/3,o.top+w/3),this.topRightBorderDoubleOuterBox=r>0||a>0?kc(o.left+C,o.top+w/3,s-T/3,c-w/3,Kl.TOP_RIGHT):new Ci(o.left+o.width-T/3,o.top+w/3),this.bottomRightBorderDoubleOuterBox=d>0||f>0?kc(o.left+v,o.top+b,d-T/3,f-P/3,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-T/3,o.top+o.height-P/3),this.bottomLeftBorderDoubleOuterBox=g>0||y>0?kc(o.left+R/3,o.top+S,g-R/3,y-P/3,Kl.BOTTOM_LEFT):new Ci(o.left+R/3,o.top+o.height-P/3),this.topLeftBorderDoubleInnerBox=r>0||a>0?kc(o.left+R*2/3,o.top+w*2/3,r-R*2/3,a-w*2/3,Kl.TOP_LEFT):new Ci(o.left+R*2/3,o.top+w*2/3),this.topRightBorderDoubleInnerBox=r>0||a>0?kc(o.left+C,o.top+w*2/3,s-T*2/3,c-w*2/3,Kl.TOP_RIGHT):new Ci(o.left+o.width-T*2/3,o.top+w*2/3),this.bottomRightBorderDoubleInnerBox=d>0||f>0?kc(o.left+v,o.top+b,d-T*2/3,f-P*2/3,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-T*2/3,o.top+o.height-P*2/3),this.bottomLeftBorderDoubleInnerBox=g>0||y>0?kc(o.left+R*2/3,o.top+S,g-R*2/3,y-P*2/3,Kl.BOTTOM_LEFT):new Ci(o.left+R*2/3,o.top+o.height-P*2/3),this.topLeftBorderStroke=r>0||a>0?kc(o.left+R/2,o.top+w/2,r-R/2,a-w/2,Kl.TOP_LEFT):new Ci(o.left+R/2,o.top+w/2),this.topRightBorderStroke=r>0||a>0?kc(o.left+C,o.top+w/2,s-T/2,c-w/2,Kl.TOP_RIGHT):new Ci(o.left+o.width-T/2,o.top+w/2),this.bottomRightBorderStroke=d>0||f>0?kc(o.left+v,o.top+b,d-T/2,f-P/2,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-T/2,o.top+o.height-P/2),this.bottomLeftBorderStroke=g>0||y>0?kc(o.left+R/2,o.top+S,g-R/2,y-P/2,Kl.BOTTOM_LEFT):new Ci(o.left+R/2,o.top+o.height-P/2),this.topLeftBorderBox=r>0||a>0?kc(o.left,o.top,r,a,Kl.TOP_LEFT):new Ci(o.left,o.top),this.topRightBorderBox=s>0||c>0?kc(o.left+C,o.top,s,c,Kl.TOP_RIGHT):new Ci(o.left+o.width,o.top),this.bottomRightBorderBox=d>0||f>0?kc(o.left+v,o.top+b,d,f,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width,o.top+o.height),this.bottomLeftBorderBox=g>0||y>0?kc(o.left,o.top+S,g,y,Kl.BOTTOM_LEFT):new Ci(o.left,o.top+o.height),this.topLeftPaddingBox=r>0||a>0?kc(o.left+R,o.top+w,Math.max(0,r-R),Math.max(0,a-w),Kl.TOP_LEFT):new Ci(o.left+R,o.top+w),this.topRightPaddingBox=s>0||c>0?kc(o.left+Math.min(C,o.width-T),o.top+w,C>o.width+T?0:Math.max(0,s-T),Math.max(0,c-w),Kl.TOP_RIGHT):new Ci(o.left+o.width-T,o.top+w),this.bottomRightPaddingBox=d>0||f>0?kc(o.left+Math.min(v,o.width-R),o.top+Math.min(b,o.height-P),Math.max(0,d-T),Math.max(0,f-P),Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-T,o.top+o.height-P),this.bottomLeftPaddingBox=g>0||y>0?kc(o.left+R,o.top+Math.min(S,o.height-P),Math.max(0,g-R),Math.max(0,y-P),Kl.BOTTOM_LEFT):new Ci(o.left+R,o.top+o.height-P),this.topLeftContentBox=r>0||a>0?kc(o.left+R+L,o.top+w+H,Math.max(0,r-(R+L)),Math.max(0,a-(w+H)),Kl.TOP_LEFT):new Ci(o.left+R+L,o.top+w+H),this.topRightContentBox=s>0||c>0?kc(o.left+Math.min(C,o.width+R+L),o.top+w+H,C>o.width+R+L?0:s-R+L,c-(w+H),Kl.TOP_RIGHT):new Ci(o.left+o.width-(T+D),o.top+w+H),this.bottomRightContentBox=d>0||f>0?kc(o.left+Math.min(v,o.width-(R+L)),o.top+Math.min(b,o.height+w+H),Math.max(0,d-(T+D)),f-(P+E),Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-(T+D),o.top+o.height-(P+E)),this.bottomLeftContentBox=g>0||y>0?kc(o.left+R+L,o.top+S,Math.max(0,g-(R+L)),y-(P+E),Kl.BOTTOM_LEFT):new Ci(o.left+R+L,o.top+o.height-(P+E))}return t}(),Kl;(function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=1]="TOP_RIGHT",t[t.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",t[t.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(Kl||(Kl={}));var kc=function(t,e,n,o,i){var r=4*((Math.sqrt(2)-1)/3),a=n*r,l=o*r,s=t+n,c=e+o;switch(i){case Kl.TOP_LEFT:return new XY(new Ci(t,c),new Ci(t,c-l),new Ci(s-a,e),new Ci(s,e));case Kl.TOP_RIGHT:return new XY(new Ci(t,e),new Ci(t+a,e),new Ci(s,c-l),new Ci(s,c));case Kl.BOTTOM_RIGHT:return new XY(new Ci(s,e),new Ci(s,e+l),new Ci(t+a,c),new Ci(t,c));case Kl.BOTTOM_LEFT:default:return new XY(new Ci(s,c),new Ci(s-a,c),new Ci(t,e+l),new Ci(t,e))}},BG=function(t){return[t.topLeftBorderBox,t.topRightBorderBox,t.bottomRightBorderBox,t.bottomLeftBorderBox]},gqt=function(t){return[t.topLeftContentBox,t.topRightContentBox,t.bottomRightContentBox,t.bottomLeftContentBox]},jG=function(t){return[t.topLeftPaddingBox,t.topRightPaddingBox,t.bottomRightPaddingBox,t.bottomLeftPaddingBox]},mqt=function(){function t(e,n,o){this.offsetX=e,this.offsetY=n,this.matrix=o,this.type=0,this.target=6}return t}(),JY=function(){function t(e,n){this.path=e,this.target=n,this.type=1}return t}(),yqt=function(){function t(e){this.opacity=e,this.type=2,this.target=6}return t}(),Aqt=function(t){return t.type===0},YKe=function(t){return t.type===1},wqt=function(t){return t.type===2},Obe=function(t,e){return t.length===e.length?t.some(function(n,o){return n===e[o]}):!1},vqt=function(t,e,n,o,i){return t.map(function(r,a){switch(a){case 0:return r.add(e,n);case 1:return r.add(e+o,n);case 2:return r.add(e+o,n+i);case 3:return r.add(e,n+i)}return r})},OKe=function(){function t(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return t}(),_Ke=function(){function t(e,n){if(this.container=e,this.parent=n,this.effects=[],this.curves=new pqt(this.container),this.container.styles.opacity<1&&this.effects.push(new yqt(this.container.styles.opacity)),this.container.styles.transform!==null){var o=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new mqt(o,i,r))}if(this.container.styles.overflowX!==0){var a=BG(this.curves),l=jG(this.curves);Obe(a,l)?this.effects.push(new JY(a,6)):(this.effects.push(new JY(a,2)),this.effects.push(new JY(l,4)))}}return t.prototype.getEffects=function(e){for(var n=[2,3].indexOf(this.container.styles.position)===-1,o=this.parent,i=this.effects.slice(0);o;){var r=o.effects.filter(function(s){return!YKe(s)});if(n||o.container.styles.position!==0||!o.parent){if(i.unshift.apply(i,r),n=[2,3].indexOf(o.container.styles.position)===-1,o.container.styles.overflowX!==0){var a=BG(o.curves),l=jG(o.curves);Obe(a,l)||i.unshift(new JY(l,6))}}else i.unshift.apply(i,r);o=o.parent}return i.filter(function(s){return zu(s.target,e)})},t}(),Cue=function(t,e,n,o){t.container.elements.forEach(function(i){var r=zu(i.flags,4),a=zu(i.flags,2),l=new _Ke(i,t);zu(i.styles.display,2048)&&o.push(l);var s=zu(i.flags,8)?[]:o;if(r||a){var c=r||i.styles.isPositioned()?n:e,u=new OKe(l);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){var d=i.styles.zIndex.order;if(d<0){var f=0;c.negativeZIndex.some(function(g,y){return d>g.element.container.styles.zIndex.order?(f=y,!1):f>0}),c.negativeZIndex.splice(f,0,u)}else if(d>0){var p=0;c.positiveZIndex.some(function(g,y){return d>=g.element.container.styles.zIndex.order?(p=y+1,!1):p>0}),c.positiveZIndex.splice(p,0,u)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(u)}else i.styles.isFloating()?c.nonPositionedFloats.push(u):c.nonPositionedInlineLevel.push(u);Cue(l,u,r?u:n,s)}else i.styles.isInlineLevel()?e.inlineLevel.push(l):e.nonInlineLevel.push(l),Cue(l,e,n,s);zu(i.flags,8)&&VKe(i,s)})},VKe=function(t,e){for(var n=t instanceof xue?t.start:1,o=t instanceof xue?t.reversed:!1,i=0;i"u"?t[0]:n},Hqt=function(t,e,n,o,i){var r=e[0],a=e[1],l=n[0],s=n[1];switch(t){case 2:return[new Ci(Math.round(o.left),Math.round(o.top+a)),new Ci(Math.round(o.left+o.width),Math.round(o.top+a)),new Ci(Math.round(o.left+o.width),Math.round(s+o.top+a)),new Ci(Math.round(o.left),Math.round(s+o.top+a))];case 3:return[new Ci(Math.round(o.left+r),Math.round(o.top)),new Ci(Math.round(o.left+r+l),Math.round(o.top)),new Ci(Math.round(o.left+r+l),Math.round(o.height+o.top)),new Ci(Math.round(o.left+r),Math.round(o.height+o.top))];case 1:return[new Ci(Math.round(o.left+r),Math.round(o.top+a)),new Ci(Math.round(o.left+r+l),Math.round(o.top+a)),new Ci(Math.round(o.left+r+l),Math.round(o.top+a+s)),new Ci(Math.round(o.left+r),Math.round(o.top+a+s))];default:return[new Ci(Math.round(i.left),Math.round(i.top)),new Ci(Math.round(i.left+i.width),Math.round(i.top)),new Ci(Math.round(i.left+i.width),Math.round(i.height+i.top)),new Ci(Math.round(i.left),Math.round(i.height+i.top))]}},Mqt="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Vbe="Hidden Text",Iqt=function(){function t(e){this._data={},this._document=e}return t.prototype.parseMetrics=function(e,n){var o=this._document.createElement("div"),i=this._document.createElement("img"),r=this._document.createElement("span"),a=this._document.body;o.style.visibility="hidden",o.style.fontFamily=e,o.style.fontSize=n,o.style.margin="0",o.style.padding="0",o.style.whiteSpace="nowrap",a.appendChild(o),i.src=Mqt,i.width=1,i.height=1,i.style.margin="0",i.style.padding="0",i.style.verticalAlign="baseline",r.style.fontFamily=e,r.style.fontSize=n,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(Vbe)),o.appendChild(r),o.appendChild(i);var l=i.offsetTop-r.offsetTop+2;o.removeChild(r),o.appendChild(this._document.createTextNode(Vbe)),o.style.lineHeight="normal",i.style.verticalAlign="super";var s=i.offsetTop-o.offsetTop+2;return a.removeChild(o),{baseline:l,middle:s}},t.prototype.getMetrics=function(e,n){var o=e+" "+n;return typeof this._data[o]>"u"&&(this._data[o]=this.parseMetrics(e,n)),this._data[o]},t}(),XKe=function(){function t(e,n){this.context=e,this.options=n}return t}(),zqt=1e4,Dqt=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i._activeEffects=[],i.canvas=o.canvas?o.canvas:document.createElement("canvas"),i.ctx=i.canvas.getContext("2d"),o.canvas||(i.canvas.width=Math.floor(o.width*o.scale),i.canvas.height=Math.floor(o.height*o.scale),i.canvas.style.width=o.width+"px",i.canvas.style.height=o.height+"px"),i.fontMetrics=new Iqt(document),i.ctx.scale(i.options.scale,i.options.scale),i.ctx.translate(-o.x,-o.y),i.ctx.textBaseline="bottom",i._activeEffects=[],i.context.logger.debug("Canvas renderer initialized ("+o.width+"x"+o.height+") with scale "+o.scale),i}return e.prototype.applyEffects=function(n){for(var o=this;this._activeEffects.length;)this.popEffect();n.forEach(function(i){return o.applyEffect(i)})},e.prototype.applyEffect=function(n){this.ctx.save(),wqt(n)&&(this.ctx.globalAlpha=n.opacity),Aqt(n)&&(this.ctx.translate(n.offsetX,n.offsetY),this.ctx.transform(n.matrix[0],n.matrix[1],n.matrix[2],n.matrix[3],n.matrix[4],n.matrix[5]),this.ctx.translate(-n.offsetX,-n.offsetY)),YKe(n)&&(this.path(n.path),this.ctx.clip()),this._activeEffects.push(n)},e.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},e.prototype.renderStack=function(n){return _h(this,void 0,void 0,function(){var o;return Xf(this,function(i){switch(i.label){case 0:return o=n.element.container.styles,o.isVisible()?[4,this.renderStackContent(n)]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})},e.prototype.renderNode=function(n){return _h(this,void 0,void 0,function(){return Xf(this,function(o){switch(o.label){case 0:if(zu(n.container.flags,16))debugger;return n.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(n)]:[3,3];case 1:return o.sent(),[4,this.renderNodeContent(n)];case 2:o.sent(),o.label=3;case 3:return[2]}})})},e.prototype.renderTextWithLetterSpacing=function(n,o,i){var r=this;if(o===0)this.ctx.fillText(n.text,n.bounds.left,n.bounds.top+i);else{var a=Zme(n.text);a.reduce(function(l,s){return r.ctx.fillText(s,l,n.bounds.top+i),l+r.ctx.measureText(s).width},n.bounds.left)}},e.prototype.createFontStyle=function(n){var o=n.fontVariant.filter(function(a){return a==="normal"||a==="small-caps"}).join(""),i=Wqt(n.fontFamily).join(", "),r=OW(n.fontSize)?""+n.fontSize.number+n.fontSize.unit:n.fontSize.number+"px";return[[n.fontStyle,o,n.fontWeight,r,i].join(" "),i,r]},e.prototype.renderTextNode=function(n,o){return _h(this,void 0,void 0,function(){var i,r,a,l,s,c,u,d,f=this;return Xf(this,function(p){return i=this.createFontStyle(o),r=i[0],a=i[1],l=i[2],this.ctx.font=r,this.ctx.direction=o.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",s=this.fontMetrics.getMetrics(a,l),c=s.baseline,u=s.middle,d=o.paintOrder,n.textBounds.forEach(function(g){d.forEach(function(y){switch(y){case 0:f.ctx.fillStyle=cd(o.color),f.renderTextWithLetterSpacing(g,o.letterSpacing,c);var A=o.textShadow;A.length&&g.text.trim().length&&(A.slice(0).reverse().forEach(function(x){f.ctx.shadowColor=cd(x.color),f.ctx.shadowOffsetX=x.offsetX.number*f.options.scale,f.ctx.shadowOffsetY=x.offsetY.number*f.options.scale,f.ctx.shadowBlur=x.blur.number,f.renderTextWithLetterSpacing(g,o.letterSpacing,c)}),f.ctx.shadowColor="",f.ctx.shadowOffsetX=0,f.ctx.shadowOffsetY=0,f.ctx.shadowBlur=0),o.textDecorationLine.length&&(f.ctx.fillStyle=cd(o.textDecorationColor||o.color),o.textDecorationLine.forEach(function(x){switch(x){case 1:f.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top+c),g.bounds.width,1);break;case 2:f.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top),g.bounds.width,1);break;case 3:f.ctx.fillRect(g.bounds.left,Math.ceil(g.bounds.top+u),g.bounds.width,1);break}}));break;case 1:o.webkitTextStrokeWidth&&g.text.trim().length&&(f.ctx.strokeStyle=cd(o.webkitTextStrokeColor),f.ctx.lineWidth=o.webkitTextStrokeWidth,f.ctx.lineJoin=window.chrome?"miter":"round",f.ctx.strokeText(g.text,g.bounds.left,g.bounds.top+c)),f.ctx.strokeStyle="",f.ctx.lineWidth=0,f.ctx.lineJoin="miter";break}})}),[2]})})},e.prototype.renderReplacedElement=function(n,o,i){if(i&&n.intrinsicWidth>0&&n.intrinsicHeight>0){var r=YG(n),a=jG(o);this.path(a),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(i,0,0,n.intrinsicWidth,n.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},e.prototype.renderNodeContent=function(n){return _h(this,void 0,void 0,function(){var o,i,r,a,l,s,C,C,c,u,d,f,v,p,g,S,y,A,x,C,b,v,S;return Xf(this,function(w){switch(w.label){case 0:this.applyEffects(n.getEffects(4)),o=n.container,i=n.curves,r=o.styles,a=0,l=o.textNodes,w.label=1;case 1:return a0&&U>0&&(P=r.ctx.createPattern(S,"repeat"),r.renderRepeat(H,P,W,B))):wXt(u)&&(R=xre(n,o,[null,null,null]),H=R[0],D=R[1],E=R[2],L=R[3],U=R[4],F=u.position.length===0?[qme]:u.position,W=Ys(F[0],L),B=Ys(F[F.length-1],U),k=pXt(u,W,B,L,U),N=k[0],j=k[1],N>0&&j>0&&(Y=r.ctx.createRadialGradient(D+W,E+B,0,D+W,E+B,N),hbe(u.stops,N*2).forEach(function(q){return Y.addColorStop(q.stop,cd(q.color))}),r.path(H),r.ctx.fillStyle=Y,N!==j?(_=n.bounds.left+.5*n.bounds.width,J=n.bounds.top+.5*n.bounds.height,Q=j/N,ee=1/Q,r.ctx.save(),r.ctx.translate(_,J),r.ctx.transform(1,0,0,Q,0,0),r.ctx.translate(-_,-J),r.ctx.fillRect(D,ee*(E-J)+J,L,U*ee),r.ctx.restore()):r.ctx.fill())),$.label=6;case 6:return o--,[2]}})},r=this,a=0,l=n.styles.backgroundImage.slice(0).reverse(),c.label=1;case 1:return a0?u.style!==2?[3,5]:[4,this.renderDashedDottedBorder(u.color,u.width,l,n.curves,2)]:[3,11]):[3,13];case 4:return f.sent(),[3,11];case 5:return u.style!==3?[3,7]:[4,this.renderDashedDottedBorder(u.color,u.width,l,n.curves,3)];case 6:return f.sent(),[3,11];case 7:return u.style!==4?[3,9]:[4,this.renderDoubleBorder(u.color,u.width,l,n.curves)];case 8:return f.sent(),[3,11];case 9:return[4,this.renderSolidBorder(u.color,l,n.curves)];case 10:f.sent(),f.label=11;case 11:l++,f.label=12;case 12:return s++,[3,3];case 13:return[2]}})})},e.prototype.renderDashedDottedBorder=function(n,o,i,r,a){return _h(this,void 0,void 0,function(){var l,s,c,u,d,f,p,g,y,A,x,C,b,v,S,w,S,w;return Xf(this,function(T){return this.ctx.save(),l=Tqt(r,i),s=_be(r,i),a===2&&(this.path(s),this.ctx.clip()),bm(s[0])?(c=s[0].start.x,u=s[0].start.y):(c=s[0].x,u=s[0].y),bm(s[1])?(d=s[1].end.x,f=s[1].end.y):(d=s[1].x,f=s[1].y),i===0||i===2?p=Math.abs(c-d):p=Math.abs(u-f),this.ctx.beginPath(),a===3?this.formatPath(l):this.formatPath(s.slice(0,2)),g=o<3?o*3:o*2,y=o<3?o*2:o,a===3&&(g=o,y=o),A=!0,p<=g*2?A=!1:p<=g*2+y?(x=p/(2*g+y),g*=x,y*=x):(C=Math.floor((p+y)/(g+y)),b=(p-C*g)/(C-1),v=(p-(C+1)*g)/C,y=v<=0||Math.abs(y-b)"u"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(c.type)?new Blob(["\uFEFF",c],{type:c.type}):c}function o(c,u,d){var f=new XMLHttpRequest;f.open("GET",c),f.responseType="blob",f.onload=function(){s(f.response,u,d)},f.onerror=function(){console.error("could not download file")},f.send()}function i(c){var u=new XMLHttpRequest;u.open("HEAD",c,!1);try{u.send()}catch{}return 200<=u.status&&299>=u.status}function r(c){try{c.dispatchEvent(new MouseEvent("click"))}catch{var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),c.dispatchEvent(u)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof mc=="object"&&mc.global===mc?mc:void 0,l=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!l?function(c,u,d){var f=a.URL||a.webkitURL,p=document.createElement("a");u=u||c.name||"download",p.download=u,p.rel="noopener",typeof c=="string"?(p.href=c,p.origin===location.origin?r(p):i(p.href)?o(c,u,d):r(p,p.target="_blank")):(p.href=f.createObjectURL(c),setTimeout(function(){f.revokeObjectURL(p.href)},4e4),setTimeout(function(){r(p)},0))}:"msSaveOrOpenBlob"in navigator?function(c,u,d){if(u=u||c.name||"download",typeof c!="string")navigator.msSaveOrOpenBlob(n(c,d),u);else if(i(c))o(c,u,d);else{var f=document.createElement("a");f.href=c,f.target="_blank",setTimeout(function(){r(f)})}}:function(c,u,d,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof c=="string")return o(c,u,d);var p=c.type==="application/octet-stream",g=/constructor/i.test(a.HTMLElement)||a.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||p&&g||l)&&typeof FileReader<"u"){var A=new FileReader;A.onloadend=function(){var b=A.result;b=y?b:b.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=b:location=b,f=null},A.readAsDataURL(c)}else{var x=a.URL||a.webkitURL,C=x.createObjectURL(c);f?f.location=C:location.href=C,f=null,setTimeout(function(){x.revokeObjectURL(C)},4e4)}});a.saveAs=s.saveAs=s,t.exports=s})})(JKe);var KKe=JKe.exports;const Gbe=()=>{window.open("https://intofuture.org","_blank")},Vqt=()=>{window.open("https://intofuture.org/aladdin.html","_blank")},Gqt=(t,e,n,o)=>"https://maps.googleapis.com/maps/api/staticmap?maptype=satellite¢er="+e+","+n+"&zoom="+o+"&size="+t+"x"+t+"&scale=2&key=AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",Xqt=(t,e,n,o)=>"https://maps.googleapis.com/maps/api/staticmap?maptype=roadmap&style=feature:poi|element:labels|visibility:off¢er="+e+","+n+"&zoom="+o+"&size="+t+"x"+t+"&scale=2&key=AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",m2=(t,e)=>{K6.success({duration:2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},fn=(t,e)=>{K6.info({duration:e??2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},uR=(t,e)=>{K6.warning({duration:2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},Lo=(t,e)=>{K6.error({duration:e??2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},Jqt=(t,e)=>{const n=document.createElement("a");n.download=t,n.href=e,n.click()},Hd=async(t,e,n)=>{const o=window.document.getElementById(t);if(o){const i=await Yqt(o,{...n,removeContainer:!0}),r=document.createElement("a");r.href=i.toDataURL("image/png",1),r.download=`${e}.png`,r.click()}else throw new Error(`Cannot find element with ID ${t}`)},wh=(t,e)=>{let n="";for(const i of Object.keys(t[0]))n+=i+", ";n+=` +}`,oqt=function(t){iqt(t,"."+Tue+tqt+Ybe+` + .`+Pue+nqt+Ybe)},iqt=function(t,e){var n=t.ownerDocument;if(n){var o=n.createElement("style");o.textContent=e,t.appendChild(o)}},jKe=function(){function t(){}return t.getOrigin=function(e){var n=t._link;return n?(n.href=e,n.href=n.href,n.protocol+n.hostname+n.port):"about:blank"},t.isSameOrigin=function(e){return t.getOrigin(e)===t._origin},t.setContext=function(e){t._link=e.document.createElement("a"),t._origin=t.getOrigin(e.location.href)},t._origin="about:blank",t}(),rqt=function(){function t(e,n){this.context=e,this._options=n,this._cache={}}return t.prototype.addImage=function(e){var n=Promise.resolve();return this.has(e)||(vre(e)||cqt(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),n},t.prototype.match=function(e){return this._cache[e]},t.prototype.loadImage=function(e){return _h(this,void 0,void 0,function(){var n,o,i,r,a=this;return Xf(this,function(l){switch(l.label){case 0:return n=jKe.isSameOrigin(e),o=!wre(e)&&this._options.useCORS===!0&&Qd.SUPPORT_CORS_IMAGES&&!n,i=!wre(e)&&!n&&!vre(e)&&typeof this._options.proxy=="string"&&Qd.SUPPORT_CORS_XHR&&!o,!n&&this._options.allowTaint===!1&&!wre(e)&&!vre(e)&&!i&&!o?[2]:(r=e,i?[4,this.proxy(r)]:[3,2]);case 1:r=l.sent(),l.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(s,c){var u=new Image;u.onload=function(){return s(u)},u.onerror=c,(uqt(r)||o)&&(u.crossOrigin="anonymous"),u.src=r,u.complete===!0&&setTimeout(function(){return s(u)},500),a._options.imageTimeout>0&&setTimeout(function(){return c("Timed out ("+a._options.imageTimeout+"ms) loading image")},a._options.imageTimeout)})];case 3:return[2,l.sent()]}})})},t.prototype.has=function(e){return typeof this._cache[e]<"u"},t.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},t.prototype.proxy=function(e){var n=this,o=this._options.proxy;if(!o)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise(function(r,a){var l=Qd.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(s.status===200)if(l==="text")r(s.response);else{var d=new FileReader;d.addEventListener("load",function(){return r(d.result)},!1),d.addEventListener("error",function(f){return a(f)},!1),d.readAsDataURL(s.response)}else a("Failed to proxy resource "+i+" with status code "+s.status)},s.onerror=a;var c=o.indexOf("?")>-1?"&":"?";if(s.open("GET",""+o+c+"url="+encodeURIComponent(e)+"&responseType="+l),l!=="text"&&s instanceof XMLHttpRequest&&(s.responseType=l),n._options.imageTimeout){var u=n._options.imageTimeout;s.timeout=u,s.ontimeout=function(){return a("Timed out ("+u+"ms) proxying "+i)}}s.send()})},t}(),aqt=/^data:image\/svg\+xml/i,lqt=/^data:image\/.*;base64,/i,sqt=/^data:image\/.*/i,cqt=function(t){return Qd.SUPPORT_SVG_DRAWING||!dqt(t)},wre=function(t){return sqt.test(t)},uqt=function(t){return lqt.test(t)},vre=function(t){return t.substr(0,4)==="blob"},dqt=function(t){return t.substr(-3).toLowerCase()==="svg"||aqt.test(t)},Ci=function(){function t(e,n){this.type=0,this.x=e,this.y=n}return t.prototype.add=function(e,n){return new t(this.x+e,this.y+n)},t}(),kT=function(t,e,n){return new Ci(t.x+(e.x-t.x)*n,t.y+(e.y-t.y)*n)},XY=function(){function t(e,n,o,i){this.type=1,this.start=e,this.startControl=n,this.endControl=o,this.end=i}return t.prototype.subdivide=function(e,n){var o=kT(this.start,this.startControl,e),i=kT(this.startControl,this.endControl,e),r=kT(this.endControl,this.end,e),a=kT(o,i,e),l=kT(i,r,e),s=kT(a,l,e);return n?new t(this.start,o,a,s):new t(s,l,r,this.end)},t.prototype.add=function(e,n){return new t(this.start.add(e,n),this.startControl.add(e,n),this.endControl.add(e,n),this.end.add(e,n))},t.prototype.reverse=function(){return new t(this.end,this.endControl,this.startControl,this.start)},t}(),bm=function(t){return t.type===1},fqt=function(){function t(e){var n=e.styles,o=e.bounds,i=bD(n.borderTopLeftRadius,o.width,o.height),r=i[0],a=i[1],l=bD(n.borderTopRightRadius,o.width,o.height),s=l[0],c=l[1],u=bD(n.borderBottomRightRadius,o.width,o.height),d=u[0],f=u[1],p=bD(n.borderBottomLeftRadius,o.width,o.height),g=p[0],y=p[1],A=[];A.push((r+s)/o.width),A.push((g+d)/o.width),A.push((a+y)/o.height),A.push((c+f)/o.height);var x=Math.max.apply(Math,A);x>1&&(r/=x,a/=x,s/=x,c/=x,d/=x,f/=x,g/=x,y/=x);var C=o.width-s,b=o.height-f,v=o.width-d,S=o.height-y,w=n.borderTopWidth,T=n.borderRightWidth,P=n.borderBottomWidth,R=n.borderLeftWidth,H=Ys(n.paddingTop,e.bounds.width),D=Ys(n.paddingRight,e.bounds.width),E=Ys(n.paddingBottom,e.bounds.width),L=Ys(n.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||a>0?kc(o.left+R/3,o.top+w/3,r-R/3,a-w/3,Kl.TOP_LEFT):new Ci(o.left+R/3,o.top+w/3),this.topRightBorderDoubleOuterBox=r>0||a>0?kc(o.left+C,o.top+w/3,s-T/3,c-w/3,Kl.TOP_RIGHT):new Ci(o.left+o.width-T/3,o.top+w/3),this.bottomRightBorderDoubleOuterBox=d>0||f>0?kc(o.left+v,o.top+b,d-T/3,f-P/3,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-T/3,o.top+o.height-P/3),this.bottomLeftBorderDoubleOuterBox=g>0||y>0?kc(o.left+R/3,o.top+S,g-R/3,y-P/3,Kl.BOTTOM_LEFT):new Ci(o.left+R/3,o.top+o.height-P/3),this.topLeftBorderDoubleInnerBox=r>0||a>0?kc(o.left+R*2/3,o.top+w*2/3,r-R*2/3,a-w*2/3,Kl.TOP_LEFT):new Ci(o.left+R*2/3,o.top+w*2/3),this.topRightBorderDoubleInnerBox=r>0||a>0?kc(o.left+C,o.top+w*2/3,s-T*2/3,c-w*2/3,Kl.TOP_RIGHT):new Ci(o.left+o.width-T*2/3,o.top+w*2/3),this.bottomRightBorderDoubleInnerBox=d>0||f>0?kc(o.left+v,o.top+b,d-T*2/3,f-P*2/3,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-T*2/3,o.top+o.height-P*2/3),this.bottomLeftBorderDoubleInnerBox=g>0||y>0?kc(o.left+R*2/3,o.top+S,g-R*2/3,y-P*2/3,Kl.BOTTOM_LEFT):new Ci(o.left+R*2/3,o.top+o.height-P*2/3),this.topLeftBorderStroke=r>0||a>0?kc(o.left+R/2,o.top+w/2,r-R/2,a-w/2,Kl.TOP_LEFT):new Ci(o.left+R/2,o.top+w/2),this.topRightBorderStroke=r>0||a>0?kc(o.left+C,o.top+w/2,s-T/2,c-w/2,Kl.TOP_RIGHT):new Ci(o.left+o.width-T/2,o.top+w/2),this.bottomRightBorderStroke=d>0||f>0?kc(o.left+v,o.top+b,d-T/2,f-P/2,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-T/2,o.top+o.height-P/2),this.bottomLeftBorderStroke=g>0||y>0?kc(o.left+R/2,o.top+S,g-R/2,y-P/2,Kl.BOTTOM_LEFT):new Ci(o.left+R/2,o.top+o.height-P/2),this.topLeftBorderBox=r>0||a>0?kc(o.left,o.top,r,a,Kl.TOP_LEFT):new Ci(o.left,o.top),this.topRightBorderBox=s>0||c>0?kc(o.left+C,o.top,s,c,Kl.TOP_RIGHT):new Ci(o.left+o.width,o.top),this.bottomRightBorderBox=d>0||f>0?kc(o.left+v,o.top+b,d,f,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width,o.top+o.height),this.bottomLeftBorderBox=g>0||y>0?kc(o.left,o.top+S,g,y,Kl.BOTTOM_LEFT):new Ci(o.left,o.top+o.height),this.topLeftPaddingBox=r>0||a>0?kc(o.left+R,o.top+w,Math.max(0,r-R),Math.max(0,a-w),Kl.TOP_LEFT):new Ci(o.left+R,o.top+w),this.topRightPaddingBox=s>0||c>0?kc(o.left+Math.min(C,o.width-T),o.top+w,C>o.width+T?0:Math.max(0,s-T),Math.max(0,c-w),Kl.TOP_RIGHT):new Ci(o.left+o.width-T,o.top+w),this.bottomRightPaddingBox=d>0||f>0?kc(o.left+Math.min(v,o.width-R),o.top+Math.min(b,o.height-P),Math.max(0,d-T),Math.max(0,f-P),Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-T,o.top+o.height-P),this.bottomLeftPaddingBox=g>0||y>0?kc(o.left+R,o.top+Math.min(S,o.height-P),Math.max(0,g-R),Math.max(0,y-P),Kl.BOTTOM_LEFT):new Ci(o.left+R,o.top+o.height-P),this.topLeftContentBox=r>0||a>0?kc(o.left+R+L,o.top+w+H,Math.max(0,r-(R+L)),Math.max(0,a-(w+H)),Kl.TOP_LEFT):new Ci(o.left+R+L,o.top+w+H),this.topRightContentBox=s>0||c>0?kc(o.left+Math.min(C,o.width+R+L),o.top+w+H,C>o.width+R+L?0:s-R+L,c-(w+H),Kl.TOP_RIGHT):new Ci(o.left+o.width-(T+D),o.top+w+H),this.bottomRightContentBox=d>0||f>0?kc(o.left+Math.min(v,o.width-(R+L)),o.top+Math.min(b,o.height+w+H),Math.max(0,d-(T+D)),f-(P+E),Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-(T+D),o.top+o.height-(P+E)),this.bottomLeftContentBox=g>0||y>0?kc(o.left+R+L,o.top+S,Math.max(0,g-(R+L)),y-(P+E),Kl.BOTTOM_LEFT):new Ci(o.left+R+L,o.top+o.height-(P+E))}return t}(),Kl;(function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=1]="TOP_RIGHT",t[t.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",t[t.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(Kl||(Kl={}));var kc=function(t,e,n,o,i){var r=4*((Math.sqrt(2)-1)/3),a=n*r,l=o*r,s=t+n,c=e+o;switch(i){case Kl.TOP_LEFT:return new XY(new Ci(t,c),new Ci(t,c-l),new Ci(s-a,e),new Ci(s,e));case Kl.TOP_RIGHT:return new XY(new Ci(t,e),new Ci(t+a,e),new Ci(s,c-l),new Ci(s,c));case Kl.BOTTOM_RIGHT:return new XY(new Ci(s,e),new Ci(s,e+l),new Ci(t+a,c),new Ci(t,c));case Kl.BOTTOM_LEFT:default:return new XY(new Ci(s,c),new Ci(s-a,c),new Ci(t,e+l),new Ci(t,e))}},BG=function(t){return[t.topLeftBorderBox,t.topRightBorderBox,t.bottomRightBorderBox,t.bottomLeftBorderBox]},hqt=function(t){return[t.topLeftContentBox,t.topRightContentBox,t.bottomRightContentBox,t.bottomLeftContentBox]},jG=function(t){return[t.topLeftPaddingBox,t.topRightPaddingBox,t.bottomRightPaddingBox,t.bottomLeftPaddingBox]},pqt=function(){function t(e,n,o){this.offsetX=e,this.offsetY=n,this.matrix=o,this.type=0,this.target=6}return t}(),JY=function(){function t(e,n){this.path=e,this.target=n,this.type=1}return t}(),gqt=function(){function t(e){this.opacity=e,this.type=2,this.target=6}return t}(),mqt=function(t){return t.type===0},YKe=function(t){return t.type===1},yqt=function(t){return t.type===2},Obe=function(t,e){return t.length===e.length?t.some(function(n,o){return n===e[o]}):!1},Aqt=function(t,e,n,o,i){return t.map(function(r,a){switch(a){case 0:return r.add(e,n);case 1:return r.add(e+o,n);case 2:return r.add(e+o,n+i);case 3:return r.add(e,n+i)}return r})},OKe=function(){function t(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return t}(),_Ke=function(){function t(e,n){if(this.container=e,this.parent=n,this.effects=[],this.curves=new fqt(this.container),this.container.styles.opacity<1&&this.effects.push(new gqt(this.container.styles.opacity)),this.container.styles.transform!==null){var o=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new pqt(o,i,r))}if(this.container.styles.overflowX!==0){var a=BG(this.curves),l=jG(this.curves);Obe(a,l)?this.effects.push(new JY(a,6)):(this.effects.push(new JY(a,2)),this.effects.push(new JY(l,4)))}}return t.prototype.getEffects=function(e){for(var n=[2,3].indexOf(this.container.styles.position)===-1,o=this.parent,i=this.effects.slice(0);o;){var r=o.effects.filter(function(s){return!YKe(s)});if(n||o.container.styles.position!==0||!o.parent){if(i.unshift.apply(i,r),n=[2,3].indexOf(o.container.styles.position)===-1,o.container.styles.overflowX!==0){var a=BG(o.curves),l=jG(o.curves);Obe(a,l)||i.unshift(new JY(l,6))}}else i.unshift.apply(i,r);o=o.parent}return i.filter(function(s){return zu(s.target,e)})},t}(),Cue=function(t,e,n,o){t.container.elements.forEach(function(i){var r=zu(i.flags,4),a=zu(i.flags,2),l=new _Ke(i,t);zu(i.styles.display,2048)&&o.push(l);var s=zu(i.flags,8)?[]:o;if(r||a){var c=r||i.styles.isPositioned()?n:e,u=new OKe(l);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){var d=i.styles.zIndex.order;if(d<0){var f=0;c.negativeZIndex.some(function(g,y){return d>g.element.container.styles.zIndex.order?(f=y,!1):f>0}),c.negativeZIndex.splice(f,0,u)}else if(d>0){var p=0;c.positiveZIndex.some(function(g,y){return d>=g.element.container.styles.zIndex.order?(p=y+1,!1):p>0}),c.positiveZIndex.splice(p,0,u)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(u)}else i.styles.isFloating()?c.nonPositionedFloats.push(u):c.nonPositionedInlineLevel.push(u);Cue(l,u,r?u:n,s)}else i.styles.isInlineLevel()?e.inlineLevel.push(l):e.nonInlineLevel.push(l),Cue(l,e,n,s);zu(i.flags,8)&&VKe(i,s)})},VKe=function(t,e){for(var n=t instanceof xue?t.start:1,o=t instanceof xue?t.reversed:!1,i=0;i"u"?t[0]:n},Cqt=function(t,e,n,o,i){var r=e[0],a=e[1],l=n[0],s=n[1];switch(t){case 2:return[new Ci(Math.round(o.left),Math.round(o.top+a)),new Ci(Math.round(o.left+o.width),Math.round(o.top+a)),new Ci(Math.round(o.left+o.width),Math.round(s+o.top+a)),new Ci(Math.round(o.left),Math.round(s+o.top+a))];case 3:return[new Ci(Math.round(o.left+r),Math.round(o.top)),new Ci(Math.round(o.left+r+l),Math.round(o.top)),new Ci(Math.round(o.left+r+l),Math.round(o.height+o.top)),new Ci(Math.round(o.left+r),Math.round(o.height+o.top))];case 1:return[new Ci(Math.round(o.left+r),Math.round(o.top+a)),new Ci(Math.round(o.left+r+l),Math.round(o.top+a)),new Ci(Math.round(o.left+r+l),Math.round(o.top+a+s)),new Ci(Math.round(o.left+r),Math.round(o.top+a+s))];default:return[new Ci(Math.round(i.left),Math.round(i.top)),new Ci(Math.round(i.left+i.width),Math.round(i.top)),new Ci(Math.round(i.left+i.width),Math.round(i.height+i.top)),new Ci(Math.round(i.left),Math.round(i.height+i.top))]}},Rqt="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Vbe="Hidden Text",Hqt=function(){function t(e){this._data={},this._document=e}return t.prototype.parseMetrics=function(e,n){var o=this._document.createElement("div"),i=this._document.createElement("img"),r=this._document.createElement("span"),a=this._document.body;o.style.visibility="hidden",o.style.fontFamily=e,o.style.fontSize=n,o.style.margin="0",o.style.padding="0",o.style.whiteSpace="nowrap",a.appendChild(o),i.src=Rqt,i.width=1,i.height=1,i.style.margin="0",i.style.padding="0",i.style.verticalAlign="baseline",r.style.fontFamily=e,r.style.fontSize=n,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(Vbe)),o.appendChild(r),o.appendChild(i);var l=i.offsetTop-r.offsetTop+2;o.removeChild(r),o.appendChild(this._document.createTextNode(Vbe)),o.style.lineHeight="normal",i.style.verticalAlign="super";var s=i.offsetTop-o.offsetTop+2;return a.removeChild(o),{baseline:l,middle:s}},t.prototype.getMetrics=function(e,n){var o=e+" "+n;return typeof this._data[o]>"u"&&(this._data[o]=this.parseMetrics(e,n)),this._data[o]},t}(),XKe=function(){function t(e,n){this.context=e,this.options=n}return t}(),Mqt=1e4,Iqt=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i._activeEffects=[],i.canvas=o.canvas?o.canvas:document.createElement("canvas"),i.ctx=i.canvas.getContext("2d"),o.canvas||(i.canvas.width=Math.floor(o.width*o.scale),i.canvas.height=Math.floor(o.height*o.scale),i.canvas.style.width=o.width+"px",i.canvas.style.height=o.height+"px"),i.fontMetrics=new Hqt(document),i.ctx.scale(i.options.scale,i.options.scale),i.ctx.translate(-o.x,-o.y),i.ctx.textBaseline="bottom",i._activeEffects=[],i.context.logger.debug("Canvas renderer initialized ("+o.width+"x"+o.height+") with scale "+o.scale),i}return e.prototype.applyEffects=function(n){for(var o=this;this._activeEffects.length;)this.popEffect();n.forEach(function(i){return o.applyEffect(i)})},e.prototype.applyEffect=function(n){this.ctx.save(),yqt(n)&&(this.ctx.globalAlpha=n.opacity),mqt(n)&&(this.ctx.translate(n.offsetX,n.offsetY),this.ctx.transform(n.matrix[0],n.matrix[1],n.matrix[2],n.matrix[3],n.matrix[4],n.matrix[5]),this.ctx.translate(-n.offsetX,-n.offsetY)),YKe(n)&&(this.path(n.path),this.ctx.clip()),this._activeEffects.push(n)},e.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},e.prototype.renderStack=function(n){return _h(this,void 0,void 0,function(){var o;return Xf(this,function(i){switch(i.label){case 0:return o=n.element.container.styles,o.isVisible()?[4,this.renderStackContent(n)]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})},e.prototype.renderNode=function(n){return _h(this,void 0,void 0,function(){return Xf(this,function(o){switch(o.label){case 0:if(zu(n.container.flags,16))debugger;return n.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(n)]:[3,3];case 1:return o.sent(),[4,this.renderNodeContent(n)];case 2:o.sent(),o.label=3;case 3:return[2]}})})},e.prototype.renderTextWithLetterSpacing=function(n,o,i){var r=this;if(o===0)this.ctx.fillText(n.text,n.bounds.left,n.bounds.top+i);else{var a=Zme(n.text);a.reduce(function(l,s){return r.ctx.fillText(s,l,n.bounds.top+i),l+r.ctx.measureText(s).width},n.bounds.left)}},e.prototype.createFontStyle=function(n){var o=n.fontVariant.filter(function(a){return a==="normal"||a==="small-caps"}).join(""),i=Fqt(n.fontFamily).join(", "),r=OW(n.fontSize)?""+n.fontSize.number+n.fontSize.unit:n.fontSize.number+"px";return[[n.fontStyle,o,n.fontWeight,r,i].join(" "),i,r]},e.prototype.renderTextNode=function(n,o){return _h(this,void 0,void 0,function(){var i,r,a,l,s,c,u,d,f=this;return Xf(this,function(p){return i=this.createFontStyle(o),r=i[0],a=i[1],l=i[2],this.ctx.font=r,this.ctx.direction=o.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",s=this.fontMetrics.getMetrics(a,l),c=s.baseline,u=s.middle,d=o.paintOrder,n.textBounds.forEach(function(g){d.forEach(function(y){switch(y){case 0:f.ctx.fillStyle=cd(o.color),f.renderTextWithLetterSpacing(g,o.letterSpacing,c);var A=o.textShadow;A.length&&g.text.trim().length&&(A.slice(0).reverse().forEach(function(x){f.ctx.shadowColor=cd(x.color),f.ctx.shadowOffsetX=x.offsetX.number*f.options.scale,f.ctx.shadowOffsetY=x.offsetY.number*f.options.scale,f.ctx.shadowBlur=x.blur.number,f.renderTextWithLetterSpacing(g,o.letterSpacing,c)}),f.ctx.shadowColor="",f.ctx.shadowOffsetX=0,f.ctx.shadowOffsetY=0,f.ctx.shadowBlur=0),o.textDecorationLine.length&&(f.ctx.fillStyle=cd(o.textDecorationColor||o.color),o.textDecorationLine.forEach(function(x){switch(x){case 1:f.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top+c),g.bounds.width,1);break;case 2:f.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top),g.bounds.width,1);break;case 3:f.ctx.fillRect(g.bounds.left,Math.ceil(g.bounds.top+u),g.bounds.width,1);break}}));break;case 1:o.webkitTextStrokeWidth&&g.text.trim().length&&(f.ctx.strokeStyle=cd(o.webkitTextStrokeColor),f.ctx.lineWidth=o.webkitTextStrokeWidth,f.ctx.lineJoin=window.chrome?"miter":"round",f.ctx.strokeText(g.text,g.bounds.left,g.bounds.top+c)),f.ctx.strokeStyle="",f.ctx.lineWidth=0,f.ctx.lineJoin="miter";break}})}),[2]})})},e.prototype.renderReplacedElement=function(n,o,i){if(i&&n.intrinsicWidth>0&&n.intrinsicHeight>0){var r=YG(n),a=jG(o);this.path(a),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(i,0,0,n.intrinsicWidth,n.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},e.prototype.renderNodeContent=function(n){return _h(this,void 0,void 0,function(){var o,i,r,a,l,s,C,C,c,u,d,f,v,p,g,S,y,A,x,C,b,v,S;return Xf(this,function(w){switch(w.label){case 0:this.applyEffects(n.getEffects(4)),o=n.container,i=n.curves,r=o.styles,a=0,l=o.textNodes,w.label=1;case 1:return a0&&U>0&&(P=r.ctx.createPattern(S,"repeat"),r.renderRepeat(H,P,W,B))):yXt(u)&&(R=xre(n,o,[null,null,null]),H=R[0],D=R[1],E=R[2],L=R[3],U=R[4],F=u.position.length===0?[qme]:u.position,W=Ys(F[0],L),B=Ys(F[F.length-1],U),k=fXt(u,W,B,L,U),N=k[0],j=k[1],N>0&&j>0&&(Y=r.ctx.createRadialGradient(D+W,E+B,0,D+W,E+B,N),hbe(u.stops,N*2).forEach(function(q){return Y.addColorStop(q.stop,cd(q.color))}),r.path(H),r.ctx.fillStyle=Y,N!==j?(_=n.bounds.left+.5*n.bounds.width,J=n.bounds.top+.5*n.bounds.height,Q=j/N,ee=1/Q,r.ctx.save(),r.ctx.translate(_,J),r.ctx.transform(1,0,0,Q,0,0),r.ctx.translate(-_,-J),r.ctx.fillRect(D,ee*(E-J)+J,L,U*ee),r.ctx.restore()):r.ctx.fill())),$.label=6;case 6:return o--,[2]}})},r=this,a=0,l=n.styles.backgroundImage.slice(0).reverse(),c.label=1;case 1:return a0?u.style!==2?[3,5]:[4,this.renderDashedDottedBorder(u.color,u.width,l,n.curves,2)]:[3,11]):[3,13];case 4:return f.sent(),[3,11];case 5:return u.style!==3?[3,7]:[4,this.renderDashedDottedBorder(u.color,u.width,l,n.curves,3)];case 6:return f.sent(),[3,11];case 7:return u.style!==4?[3,9]:[4,this.renderDoubleBorder(u.color,u.width,l,n.curves)];case 8:return f.sent(),[3,11];case 9:return[4,this.renderSolidBorder(u.color,l,n.curves)];case 10:f.sent(),f.label=11;case 11:l++,f.label=12;case 12:return s++,[3,3];case 13:return[2]}})})},e.prototype.renderDashedDottedBorder=function(n,o,i,r,a){return _h(this,void 0,void 0,function(){var l,s,c,u,d,f,p,g,y,A,x,C,b,v,S,w,S,w;return Xf(this,function(T){return this.ctx.save(),l=bqt(r,i),s=_be(r,i),a===2&&(this.path(s),this.ctx.clip()),bm(s[0])?(c=s[0].start.x,u=s[0].start.y):(c=s[0].x,u=s[0].y),bm(s[1])?(d=s[1].end.x,f=s[1].end.y):(d=s[1].x,f=s[1].y),i===0||i===2?p=Math.abs(c-d):p=Math.abs(u-f),this.ctx.beginPath(),a===3?this.formatPath(l):this.formatPath(s.slice(0,2)),g=o<3?o*3:o*2,y=o<3?o*2:o,a===3&&(g=o,y=o),A=!0,p<=g*2?A=!1:p<=g*2+y?(x=p/(2*g+y),g*=x,y*=x):(C=Math.floor((p+y)/(g+y)),b=(p-C*g)/(C-1),v=(p-(C+1)*g)/C,y=v<=0||Math.abs(y-b)"u"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(c.type)?new Blob(["\uFEFF",c],{type:c.type}):c}function o(c,u,d){var f=new XMLHttpRequest;f.open("GET",c),f.responseType="blob",f.onload=function(){s(f.response,u,d)},f.onerror=function(){console.error("could not download file")},f.send()}function i(c){var u=new XMLHttpRequest;u.open("HEAD",c,!1);try{u.send()}catch{}return 200<=u.status&&299>=u.status}function r(c){try{c.dispatchEvent(new MouseEvent("click"))}catch{var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),c.dispatchEvent(u)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof mc=="object"&&mc.global===mc?mc:void 0,l=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!l?function(c,u,d){var f=a.URL||a.webkitURL,p=document.createElement("a");u=u||c.name||"download",p.download=u,p.rel="noopener",typeof c=="string"?(p.href=c,p.origin===location.origin?r(p):i(p.href)?o(c,u,d):r(p,p.target="_blank")):(p.href=f.createObjectURL(c),setTimeout(function(){f.revokeObjectURL(p.href)},4e4),setTimeout(function(){r(p)},0))}:"msSaveOrOpenBlob"in navigator?function(c,u,d){if(u=u||c.name||"download",typeof c!="string")navigator.msSaveOrOpenBlob(n(c,d),u);else if(i(c))o(c,u,d);else{var f=document.createElement("a");f.href=c,f.target="_blank",setTimeout(function(){r(f)})}}:function(c,u,d,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof c=="string")return o(c,u,d);var p=c.type==="application/octet-stream",g=/constructor/i.test(a.HTMLElement)||a.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||p&&g||l)&&typeof FileReader<"u"){var A=new FileReader;A.onloadend=function(){var b=A.result;b=y?b:b.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=b:location=b,f=null},A.readAsDataURL(c)}else{var x=a.URL||a.webkitURL,C=x.createObjectURL(c);f?f.location=C:location.href=C,f=null,setTimeout(function(){x.revokeObjectURL(C)},4e4)}});a.saveAs=s.saveAs=s,t.exports=s})})(JKe);var KKe=JKe.exports;const Gbe=()=>{window.open("https://intofuture.org","_blank")},Oqt=()=>{window.open("https://intofuture.org/aladdin.html","_blank")},_qt=(t,e,n,o)=>"https://maps.googleapis.com/maps/api/staticmap?maptype=satellite¢er="+e+","+n+"&zoom="+o+"&size="+t+"x"+t+"&scale=2&key=AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",Vqt=(t,e,n,o)=>"https://maps.googleapis.com/maps/api/staticmap?maptype=roadmap&style=feature:poi|element:labels|visibility:off¢er="+e+","+n+"&zoom="+o+"&size="+t+"x"+t+"&scale=2&key=AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",m2=(t,e)=>{K6.success({duration:2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},fn=(t,e)=>{K6.info({duration:e??2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},uR=(t,e)=>{K6.warning({duration:2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},Lo=(t,e)=>{K6.error({duration:e??2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},Gqt=(t,e)=>{const n=document.createElement("a");n.download=t,n.href=e,n.click()},Hd=async(t,e,n)=>{const o=window.document.getElementById(t);if(o){const i=await Bqt(o,{...n,removeContainer:!0}),r=document.createElement("a");r.href=i.toDataURL("image/png",1),r.download=`${e}.png`,r.click()}else throw new Error(`Cannot find element with ID ${t}`)},wh=(t,e)=>{let n="";for(const i of Object.keys(t[0]))n+=i+", ";n+=` `;for(const i of t){for(const r of Object.values(i))n+=r+", ";n+=` -`}const o=new Blob([n],{type:"text/csv;charset=utf-8"});KKe.saveAs(o,e)},nye="/aladdin/assets/wall_edge-B4PmTeCj.png",Kqt="/aladdin/assets/wall_01-B-g_tqAI.png",qqt="/aladdin/assets/wall_02-9M_qG3R_.png",$qt="/aladdin/assets/wall_03-ChpvVFgd.png",Qqt="/aladdin/assets/wall_04-BkmmH41c.png",Zqt="/aladdin/assets/wall_05-DFi74_0h.png",e$t="/aladdin/assets/wall_06-CtX-9FCz.png",t$t="/aladdin/assets/wall_07-CJgSaJ5B.png",n$t="/aladdin/assets/wall_08-DwhD-VRH.png",o$t="/aladdin/assets/wall_09-D3ncCSYQ.png",i$t="/aladdin/assets/wall_10-RK6QVYt5.png",r$t=(t,e,n,o)=>{const i=c=>c.parentId===t||c.id===o,r=M(c=>{if(e){for(const u of c.elements)if(u.id===e)return u}return null}),a=M(c=>{if(n){for(const u of c.elements)if(u.id===n)return u}return null}),l=M(c=>JSON.stringify(c.elements.filter(i)));return{elementsOnWall:m.useMemo(()=>M.getState().elements.filter(c=>i(c)&&be.isLegalOnWall(c.type)),[l]),leftWall:r,rightWall:a}},UH=(t=.3)=>{const e=M(r=>r.viewState.orthographic),n=M(r=>r.viewState.cameraPosition),o=M(r=>r.viewState.cameraZoom);let i;if(e)i=Math.max(t,15/o);else{const r=M.getState().viewState.panCenter,a=new ae(...r),s=new ae(...n).distanceTo(a);i=Math.max(t,s/100)}return i},qKe=(t,e)=>{const n=m.useMemo(()=>new tf,[]);return m.useMemo(()=>{let o;switch(t){case No.Default:o=nye;break;case No.NoTexture:o=Q1;break;case No.Texture01:o=Kqt;break;case No.Texture02:o=qqt;break;case No.Texture03:o=$qt;break;case No.Texture04:o=Qqt;break;case No.Texture05:o=Zqt;break;case No.Texture06:o=e$t;break;case No.Texture07:o=t$t;break;case No.Texture08:o=n$t;break;case No.Texture09:o=o$t;break;case No.Texture10:o=i$t;break;default:o=Q1}return e===hc.Stud&&(o=Q1),n.load(o,i=>{i.wrapS=i.wrapT=Ss,i.offset.set(0,0);let r=.6,a=.6;switch(t){case No.Default:r=2,a=2;break;case No.Texture03:r=2,a=1;break;case No.Texture06:r=1,a=1;break}i.repeat.set(r,a),Zh()})},[t,e])},$Ke=t=>{const e=m.useRef(!0);gt(o=>o.foundationMovedFlag);let n=t;if(!e.current){const o=M.getState().elements.find(i=>i.id===t.id&&i.type===z.Foundation);o&&(n=o)}return e.current=!1,n},eK=class eK{static getIntersectionObjects(e){return e.intersections.filter(n=>n.eventObject.name.includes("Cuboid")||n.eventObject.name==="Foundation"||n.eventObject.name.includes("Roof")||n.eventObject.name.includes(eK.WALL_OUTSIDE_SURFACE_MESH_NAME))}static addUndoableMove(){const e=M.getState().selectedElement;if(!e)return;const n=M.getState().getElementById(e.id),o=gt.getState().oldParentId,i=gt.getState().oldFoundationId;if(!n||!o||!i)return;const r=e.type===z.SolarPanel,a=e.type===z.Polygon,l={name:"Move",timestamp:Date.now(),movedElementId:n.id,movedElementType:n.type,oldCx:e.cx,oldCy:e.cy,oldCz:e.cz,newCx:n.cx,newCy:n.cy,newCz:n.cz,oldParentType:r?e.parentType:void 0,newParentType:r?n.parentType:void 0,oldParentId:o,newParentId:n.parentId,oldFoundationId:i,newFoundationId:n.foundationId,oldNormal:new ae().fromArray(e.normal),newNormal:new ae().fromArray(n.normal),oldRotation:[...e.rotation],newRotation:[...n.rotation],undo(){s(this.movedElementId,[this.oldCx,this.oldCy,this.oldCz],this.oldParentId,this.newParentId,this.oldFoundationId,this.oldParentType,this.oldRotation,this.oldNormal,a?e.vertices:void 0)},redo(){s(this.movedElementId,[this.newCx,this.newCy,this.newCz],this.newParentId,this.oldParentId,this.newFoundationId,this.newParentType,this.newRotation,this.newNormal,a?n.vertices:void 0)}};M.getState().addUndoable(l);const s=(c,u,d,f,p,g,y,A,x)=>{M.getState().set(C=>{const b=C.elements.find(v=>v.id===c);if(b){if(b.type===z.Polygon){if(x){const v=b;v.vertices=[...x]}}else[b.cx,b.cy,b.cz]=[...u];if(d&&f&&p&&(b.parentId=d,b.foundationId=p,g&&b.type===z.SolarPanel&&(b.parentType=g),y&&(b.rotation=[...y]),A&&(b.normal=[A.x,A.y,A.z]),b.type===z.Window)){const v=C.elements.find(P=>P.id===d),S=C.elements.find(P=>P.id===f);if(!v||!S)return;const w=b.lx*S.lx,T=b.lz*S.lz;b.lx=w/v.lx,b.lz=T/v.lz}}})}}static undoInvalidOperation(){M.getState().set(e=>{var n;if(e.selectedElement){for(let o=0;o{const e={name:`Add ${t.type} on Roof`,timestamp:Date.now(),addedElement:t,undo:()=>{M.getState().removeElementById(t.id,!1)},redo:()=>{M.getState().set(n=>{n.elements.push(e.addedElement),n.selectedElement=e.addedElement})}};M.getState().addUndoable(e)},a$t=t=>{for(const e of t.intersections)if(e.eventObject.name.includes("Roof Segments Group"))return e.object.name.includes("Flat roof")?e.point.clone().setZ(e.point.z-.01):e.point;return t.intersections[0].point},l$t=(t,e,n,o,i)=>{if(t.intersections.length===0)return;const r=M.getState().objectTypeToAdd;if(r===z.None)return;const a=M.getState().getElementById(n),l=M.getState().getElementById(e);if(!a||!l)return;const s=a$t(t),c=new ae().subVectors(s,new ae(l.cx,l.cy,l.lz)).applyEuler(new Qt(0,0,-l.rotation[2])),u=c.clone().sub(i);switch(r){case z.SolarPanel:{const{normal:d,rotation:f}=In.computeState(o,u),p=M.getState().actionState,g=rl.makeSolarPanel(a,M.getState().getPvModule(p.solarPanelModelName??"SPR-X21-335-BLK"),c.x/l.lx,c.y/l.ly,c.z,p.solarPanelOrientation??ci.landscape,p.solarPanelPoleHeight??1,p.solarPanelPoleSpacing??3,p.solarPanelTiltAngle??0,p.solarPanelRelativeAzimuth??0,d,f??[0,0,1],p.solarPanelFrameColor,void 0,void 0,z.Roof);M.getState().set(y=>{y.elements.push(g),y.selectedElementIdSet.clear(),y.selectedElementIdSet.add(g.id),y.actionModeLock||(y.objectTypeToAdd=z.None)}),$Y(g);break}case z.Window:{const{normal:d,rotation:f}=In.computeState(o,u),p=rl.makeWindow(a,c.x,c.y,c.z,z.Roof,f,.5,.5);M.getState().set(g=>{g.elements.push(p),g.selectedElementIdSet.clear(),g.selectedElementIdSet.add(p.id),g.actionModeLock||(g.objectTypeToAdd=z.None)}),$Y(p);break}case z.Sensor:{const{normal:d,rotation:f}=In.computeState(o,u),p=rl.makeSensor(a,c.x/l.lx,c.y/l.ly,c.z,d,f??[0,0,1]);M.getState().set(g=>{g.elements.push(p),g.selectedElementIdSet.clear(),g.selectedElementIdSet.add(p.id),g.actionModeLock||(g.objectTypeToAdd=z.None)}),$Y(p);break}case z.Light:{const{normal:d,rotation:f}=In.computeState(o,u),p=M.getState().actionState,g=rl.makeLight(a,2,p.lightDistance,p.lightIntensity,p.lightColor,c.x/l.lx,c.y/l.ly,c.z,d,f??[0,0,1]);M.getState().set(y=>{y.elements.push(g),y.selectedElementIdSet.clear(),y.selectedElementIdSet.add(g.id),y.actionModeLock||(y.objectTypeToAdd=z.None)}),$Y(g);break}}},QKe=(t,e,n)=>{M.getState().isAddingElement()||M.getState().objectTypeToAdd!==z.None||t.intersections.length>0&&t.intersections[0].eventObject.name===t.eventObject.name&&(t.stopPropagation(),M.getState().set(o=>{if(o.contextMenuObjectType=null,o.groupActionMode)o.multiSelectionsMode||o.selectedElementIdSet.clear(),o.selectedElementIdSet.has(n)?o.selectedElementIdSet.delete(n):o.selectedElementIdSet.add(n);else for(const i of o.elements)i.id===e?(i.selected=!0,o.selectedElement=i,o.multiSelectionsMode?o.selectedElementIdSet.has(e)?o.selectedElementIdSet.delete(e):o.selectedElementIdSet.add(e):(o.selectedElementIdSet.clear(),o.selectedElementIdSet.add(e))):i.selected=!1}))},_W=(t,e,n)=>{const o={name:"Resize Roof Rise",timestamp:Date.now(),resizedElementId:t,resizedElementType:z.Roof,oldRise:e,newRise:n,undo:()=>{M.getState().updateRoofRiseById(o.resizedElementId,o.oldRise,0)},redo:()=>{M.getState().updateRoofRiseById(o.resizedElementId,o.newRise,0)}};M.getState().addUndoable(o)},oye=(t,e)=>{const n={lng:M.getState().language};return In.rooftopElementBoundaryCheck(t,e)?!0:(M.getState().moveHandleType||M.getState().viewState.orthographic?Lo(O.t("message.MoveOutsideBoundaryCancelled",n)):M.getState().resizeHandleType?Lo(O.t("message.ResizingOutsideBoundaryCancelled",n)):M.getState().rotateHandleType&&Lo(O.t("message.RotationOutsideBoundaryCancelled",n)),!1)},iye=(t,e,n)=>{const o={lng:M.getState().language};return In.rooftopSPCollisionCheck(t,e,n)?!0:(M.getState().moveHandleType||M.getState().viewState.orthographic?Lo(O.t("message.MoveCancelledBecauseOfOverlap",o)):M.getState().resizeHandleType?Lo(O.t("message.ResizingCancelledBecauseOfOverlap",o)):M.getState().rotateHandleType&&Lo(O.t("message.RotationCancelledBecauseOfOverlap",o)),!1)},Q$=(t,e,n,o,i,r,a)=>{t!==null&&M.getState().set(l=>{if(t!==null){for(const s of l.elements)if(s.parentId===e&&s.foundationId){if(s.type===z.SolarPanel){const u=new ae(s.cx*t.lx,s.cy*t.ly,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.normal=f.toArray(),s.rotation=[...p],s.cz=g)}else if(s.type===z.Window){const u=new ae(s.cx,s.cy,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.rotation=[...p],s.cz=g)}else if(s.type===z.Sensor||s.type===z.Light){const u=new ae(s.cx*t.lx,s.cy*t.ly,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.normal=f.toArray(),s.rotation=[...p],s.cz=g)}}}})},VW=(t,e,n,o,i)=>{t.button!==2&&(t.intersections[0].eventObject.name!==t.eventObject.name||(QKe(t,n,e),l$t(t,e,n,o,i)))},GW=(t,e)=>{const n=M.getState().selectedElement;if(!n||!In.isValidOnRoof(n))return;const o=M.getState().getElementById(n.id);if(o&&M.getState().moveHandleType&&nf.getIntersectionObjects(t)[0].eventObject.userData.roofId===e.id&&o.foundationId){const a=M.getState().getElementById(o.foundationId);if(a)switch(o.type){case z.SolarPanel:{const l=o,s=In.getRoofBoundaryVertices(e),c=In.getSolarPanelVerticesOnRoof(l,a);!oye(c,s)||!iye(l,a,c)?nf.undoInvalidOperation():nf.addUndoableMove();break}case z.Sensor:nf.addUndoableMove();break;case z.Light:nf.addUndoableMove();break}}M.getState().set(i=>{i.moveHandleType=null})},XW=(t,e)=>{const n=M.getState().getSelectedElement();if(!(!n||!In.isValidOnRoof(n)))switch(n.type){case z.Sensor:case z.Light:case z.SolarPanel:{if(n.type===z.SolarPanel&&n.parentType===void 0)return;if(M.getState().moveHandleType){const o=t.intersections.filter(r=>r.eventObject.name==="Foundation"||r.eventObject.name.includes("Cuboid")||r.eventObject.name.includes("Roof")||r.eventObject.name.includes(nf.WALL_OUTSIDE_SURFACE_MESH_NAME));o[0].eventObject.userData.roofId===e&&M.getState().set(r=>{for(const a of r.elements)if(a.id===n.id){const{roofId:l,foundation:s,centroid:c,roofSegments:u}=o[0].eventObject.userData;if(s&&c&&u&&l){const d=o[0].point,f=new ae().subVectors(d,new ae(s.cx,s.cy)).applyEuler(new Qt(0,0,-s.rotation[2])),p=f.clone().sub(c),{normal:g,rotation:y}=In.computeState(u,p);a.cx=f.x/s.lx,a.cy=f.y/s.ly,a.cz=f.z-s.lz,a.rotation=[...y],a.normal=g.toArray(),a.parentId=l,a.foundationId=s.id,a.type===z.SolarPanel&&(a.parentType=z.Roof,a.color="#fff"),r.selectedElement&&(r.selectedElement.parentId=l,r.selectedElement.foundationId=s.id),gt.getState().setPrimitiveStore("showWallIntersectionPlaneId",null)}break}})}}}},dR=(t,e)=>{t.intersections.length>0&&t.intersections[0].eventObject.name===t.eventObject.name&&(t.stopPropagation(),M.getState().set(n=>{n.contextMenuObjectType=z.Roof,n.pastePoint.copy(t.intersections[0].point);for(const o of n.elements)if(o.id===e)if(o.selected=!0,n.selectedElement=o,n.selectedElementIdSet.has(e))for(const i of n.elements)n.selectedElementIdSet.has(i.id)&&i.type!==n.selectedElement.type&&n.selectedElementIdSet.delete(i.id);else if(n.multiSelectionsMode){n.selectedElementIdSet.add(e);for(const i of n.elements)n.selectedElementIdSet.has(i.id)&&i.type!==n.selectedElement.type&&n.selectedElementIdSet.delete(i.id)}else n.selectedElementIdSet.clear(),n.selectedElementIdSet.add(e);else o.selected=!1}))},Qf=({position:t,onPointerDown:e,onPointerUp:n,onPointerOver:o})=>{const i=M(dn),r=UH(),{gl:a}=Xi(),l=m.useRef(!1),s=m.useRef(!1),c=m.useRef(!1),u=m.useRef(null),[d,f]=m.useState("white"),p=y=>{y?(f(nr),a.domElement.style.cursor="pointer"):(f("white"),a.domElement.style.cursor="default")};m.useEffect(()=>{const y=()=>{s.current&&(c.current=!0),!s.current&&l.current&&p(!1),l.current=!1};return window.addEventListener("pointerup",y),()=>{window.removeEventListener("pointerup",y)}},[]);const g=y=>{if(y.intersections.length>0){for(const{eventObject:A}of y.intersections)if(A.name==="Roof Handle")return A===u.current}return!1};return h.jsx(ts,{name:"Roof Handle",ref:u,args:[r],position:t,onPointerMove:y=>{g(y)?(c.current=!1,s.current||(s.current=!0,p(!0))):f("white")},onPointerOut:y=>{c.current||(l.current||(y.intersections.length>0&&y.intersections[0].eventObject.name==="Roof Handle"?f("white"):p(!1)),s.current=!1,i(A=>{A.hoveredHandle=null}))},onPointerDown:y=>{g(y)&&(e&&e(y),l.current=!0)},onPointerUp:y=>{g(y)&&n&&n(y)},onPointerOver:y=>{g(y)&&o&&o(y)},onPointerLeave:y=>{g(y)&&i(A=>{A.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{attach:"material",color:d})})},s$t=({roofModel:t,foundationModel:e})=>{const n=M(hp),{id:o,wallsId:i,roofType:r}=t;return m.useEffect(()=>{i.length===0&&n(o,!1)},[i]),(()=>{switch(r){case Vo.Pyramid:return h.jsx(Cvt,{roofModel:t,foundationModel:e});case Vo.Gable:return h.jsx(Wvt,{roofModel:t,foundationModel:e});case Vo.Hip:return h.jsx(jvt,{roofModel:t,foundationModel:e});case Vo.Gambrel:return h.jsx(zvt,{roofModel:t,foundationModel:e});case Vo.Mansard:return h.jsx(Vvt,{roofModel:t,foundationModel:e});default:return null}})()};function BH(t,e){return t.roofModel===e.roofModel&&t.foundationModel.lx===e.foundationModel.lx&&t.foundationModel.ly===e.foundationModel.ly&&t.foundationModel.lz===e.foundationModel.lz}const c$t=Se.memo(s$t,BH),jH=t=>{const e=m.useMemo(()=>{let r;switch(t){case Ui.NoTexture:r=Q1;break;case Ui.Texture01:r=nvt;break;case Ui.Texture02:r=ovt;break;case Ui.Texture03:r=ivt;break;case Ui.Texture04:r=rvt;break;case Ui.Texture05:r=avt;break;case Ui.Texture06:r=lvt;break;case Ui.Texture07:r=svt;break;default:r=tvt}return new tf().load(r,a=>{switch(a.wrapS=a.wrapT=Ss,t){case Ui.NoTexture:case Ui.Default:a.repeat.set(5,3);break;case Ui.Texture01:a.repeat.set(.5,.25);break;case Ui.Texture03:a.repeat.set(.9,.9);break;case Ui.Texture04:case Ui.Texture05:case Ui.Texture06:a.repeat.set(.75,.75);break;default:a.repeat.set(.5,.5)}o(a),i()})},[t]),[n,o]=m.useState(e),{invalidate:i}=Xi();return n},Z$=(t,e)=>{const n=M(sA),o=M(hu),i=n&&o;return{transparent:t||i,opacity:Math.min(e!==void 0?e:1,i?.25:1)}},ZKe=(t,e,n)=>{const o=M(l=>l.elements.filter(s=>s.foundationId===t&&s.type===z.Wall),a3),i=l=>o.find(s=>s.id===l),r=m.useRef(!1);return{currentWallArray:m.useMemo(()=>{for(const l of n){let s=i(l);if(!s)return[];const c=[],u=s;let d=0;for(;s&&(!s.roofId||s.roofId===e)&&d++<100&&(c.push(s),s.leftJoints[0]);)if(s.leftJoints[0]!==u.id)s=i(s.leftJoints[0]);else return c.reverse(),r.current=!0,c;for(c.reverse(),s=i(u.rightJoints[0]),d=0;s&&(!s.roofId||s.roofId===e)&&d++<100&&(c.push(s),s.rightJoints[0]&&s.rightJoints[0]!==u.id);)s=i(s.rightJoints[0]);if(r.current=!1,c.length>1)return c}return[]},[n,o]),isLoopRef:r}},rye=(t,e)=>{const n=M(i=>i.elements.filter(r=>r.foundationId===e&&r.type===z.Wall),a3);return m.useMemo(()=>{var f;const i=p=>n.find(g=>g.id===p),r=new Map,a=new Map,l=i(t);let s=l,c=0,u=!1;for(;s&&s.type===z.Wall&&c<100;){r.set(s.id,s);const p=s.relativeAngle.toFixed(1);if(a.has(p)?(f=a.get(p))==null||f.push(s):a.set(p,[s]),s.rightJoints.length!==0){if(s=i(s.rightJoints[0]),s&&s.id===l.id){u=!0;break}c++}else s=null}if(!u||a.size!==4)return null;const d=[];for(const[p,g]of a){let y=0;for(const v of g){const S=r.get(v.leftJoints[0]),w=r.get(v.rightJoints[0]);if(S&&S.relativeAngle.toFixed(1)!==p&&y++,w&&w.relativeAngle.toFixed(1)!==p&&y++,y>2)break}if(y!==2)return null;let A=null,x=null,C=0,b=-1;for(const v of g){const S=r.get(v.leftJoints[0]),w=r.get(v.rightJoints[0]);C=Math.max(C,v.lz),b=Math.max(b,v.eavesLength),S&&S.relativeAngle.toFixed(1)!==p&&(A=v),w&&w.relativeAngle.toFixed(1)!==p&&(x=v)}A&&x&&C>0&&b!==-1&&d.push({leftPoint:new ae().fromArray(A.leftPoint),rightPoint:new ae().fromArray(x.rightPoint),relativeAngle:A.relativeAngle,lz:C,eavesLength:b,wallsId:g.map(v=>v.id)})}return d.length!==4?null:d},[n])},aye=(t,e,n)=>{const o=m.useMemo(()=>In.getHighestComposedWallHeight(t,n),[t]),i=m.useMemo(()=>o+e,[o,e]);return{highestWallHeight:o,topZ:i}},eqe=(t,e,n)=>{const o=m.useMemo(()=>In.getHighestWallHeight(t,n),[t]),[i,r]=m.useState(e),a=o+i;return m.useEffect(()=>{e!==i&&r(e)},[e]),{highestWallHeight:o,topZ:a,riseInnerState:i,setRiseInnerState:r}},JW=(t,e,n,o,i,r)=>{const a=gt(ZL),l=gt(Z1e),s=gt(QL),c=()=>{const u=f=>f.clone().add(e);let d=[];if(o)if(i===Vo.Gambrel)d.push(cye(n).map(u));else{const f=[];for(const p of n)f.push(p.points[1].clone().add(e));d.push(f)}else{for(const f of n){const p=f.points;if(p.length===6)d.push(p.slice(3).map(u));else if(p.length===8)d.push(p.slice(4).map(u));else throw new Error("Invalid Roof segment data")}r&&d.push(r)}return bn.getState().setRoofSegmentVertices(t,d),d};return(a||l||s)&&c(),m.useEffect(()=>{c()},[n]),c},KW=t=>{const e=gt(QL),n=gt(Aq);(e||n)&&t()},qW=(t,e)=>{const n=M(AH);m.useEffect(()=>{t.rise===void 0&&M.getState().set(o=>{for(const i of o.elements)if(i.id===t.id&&i.type===z.Roof){const r=i;r.rise===void 0&&(r.rise=r.lz-e,r.lz=0);break}})},[n])},u$t=()=>{const[,t]=m.useState(!1);m.useEffect(()=>{t(e=>!e)},[])},eQ=()=>{const t=m.useRef(!0);return t.current?(t.current=!1,!0):!1},lye=(t,e,n,o,i,r,a)=>{const l=M(s=>s.updateElementOnRoofFlag);m.useEffect(()=>{l&&(Q$(t,e,n,o,i,r,a),M.getState().setUpdateElementOnRoofFlag(!1))},[i,r,l])},d$t=(t,e,n,o,i,r,a)=>{const l=eQ();m.useEffect(()=>{l||Q$(t,e,n,o,i,r,a)},[n])},sye=(t,e,n,o,i,r,a)=>{d$t(t,e,n,o,i,r,a),lye(t,e,n,o,i,r,a)},$W=(t,e,n,o)=>{const i=$Ke(e);return m.useMemo(()=>({roofId:t,foundation:i,centroid:n,roofSegments:o}),[t,n,o,i])},Xbe=(t,e)=>{const[n,o,i,r]=e;t.moveTo(n.points[0].x,n.points[0].y),t.lineTo(n.points[1].x,n.points[1].y),t.lineTo(r.points[0].x,r.points[0].y),t.lineTo(r.points[1].x,r.points[1].y),t.closePath()},cye=(t,e)=>{const n=[],[o,i,r,a]=t;return n.push(o.points[0].clone()),n.push(o.points[1].clone()),n.push(a.points[0].clone()),n.push(a.points[1].clone()),e?(e.push(...n),e):n},OG=({uuid:t,shape:e,thickness:n,holeMeshes:o,simulation:i,castShadow:r,receiveShadow:a,children:l})=>{const s=m.useRef(null);if(s.current&&(s.current.geometry=new H9(e,{steps:1,depth:n,bevelEnabled:!1}),s.current.updateMatrix(),o.length>0)){const c=[];for(let d=0;d{const f=M.getState().world,p=M(ss),g=gt(cs),y=gt(i3),A=M(X2),x=M(q9),C=M($9),b=bn($L),v=bn.getState().hourlyHeatExchangeArrayMap,S=m.useRef(0),w=m.useRef(),T=m.useRef(),{transparent:P,opacity:R}=Z$(),H=M(_=>_.elements.filter(J=>J.type===z.Window&&J.parentId===t),a3),D=m.useMemo(()=>{if(!y||e&&e.notBuilding)return;const _=v.get(t);if(!_)return;const J=_.reduce((we,ye)=>we+ye,0),Q=b(t);if(!Q||!Q[0])return;const ee=[],$=Q[0].map(we=>we.clone().sub(i)),q=K9*(f.solarRadiationHeatmapGridCellSize??.5),le=$[0].clone(),ie=$[1].clone(),pe=$[2].clone(),ne=new ae().subVectors(ie,le),Z=new ae().subVectors(pe,le),he=new ae().subVectors(pe,ie),fe=ne.length(),se=new ae().crossVectors(Z,he).length()/fe,oe=Math.max(2,Math.floor(fe/q)),de=Math.max(2,Math.floor(se/q));ne.normalize(),Z.normalize(),he.normalize();const ve=new ae().crossVectors(Z,he).normalize(),Pe=ne.multiplyScalar(.5*fe/oe),me=new ae().crossVectors(ve,ne).normalize().multiplyScalar(.5*se/de),Re=le.clone().add(Pe).add(me).add(new ae(0,0,r));Pe.multiplyScalar(2),me.multiplyScalar(2),w.current=ve.clone().multiplyScalar(.1);const ze=new ae,Ae=new Array;for(const we of $)Ae.push({x:we.x,y:we.y});const re=be.getPolygonArea(Ae);if(re===0)return;const ge=J/re*(A??Vm);S.current=ge<0?1:0,T.current=new Qt(-Math.sign(ge)*Vt,0,0);for(let we=0;we{if(o.length===0)return[new ae];const _=[];if(n===Vo.Gambrel){cye(o,_);const J=_.reduce((Q,ee)=>Math.max(Q,ee.z),0);_.forEach(Q=>Q.setZ(J))}else{_.push(o[0].points[0]);for(const J of o){const Q=J.points[1];_.push(Q)}}return _},[o,n]),L=m.useMemo(()=>new ae(0,0,r),[r]),U=h.jsx(Fn,{points:E,lineWidth:l,color:a}),F=jH(u),W=m.useMemo(()=>{const _=new Ml;if(o.length===0)return _;if(n===Vo.Gambrel)Xbe(_,o);else{const J=o[0].points[0];_.moveTo(J.x,J.y);for(const Q of o){const ee=Q.points[1];_.lineTo(ee.x,ee.y)}_.closePath()}return _},[o,i,n]),B=m.useMemo(()=>{const _=new Ml;if(o.length===0)return _;if(n===Vo.Gambrel)Xbe(_,o);else{const J=o[0].points[0];_.moveTo(J.x,J.y);for(const Q of o){const ee=Q.points[1];_.lineTo(ee.x,ee.y)}_.closePath()}if(H.length>0)for(const J of H){const Q=new ae(J.cx,J.cy,J.cz).sub(i);switch(J.windowType){case Sr.Polygonal:{const[ee,$]=J.polygonTop??jp,[q,le,ie]=[J.lx/2,J.lz/2,ee*J.lx],pe=oG(q,le,ie,$,Q.x,Q.y);_.holes.push(pe);break}case Sr.Arched:{const ee=nG(J.lx,J.lz,J.archHeight,Q.x,Q.y);_.holes.push(ee);break}default:{const ee=new Ml,[$,q]=[J.lx/2,J.lz/2];ee.moveTo(Q.x-$,Q.y-q),ee.lineTo(Q.x+$,Q.y-q),ee.lineTo(Q.x+$,Q.y+q),ee.lineTo(Q.x-$,Q.y+q),ee.closePath(),_.holes.push(ee)}}}return _},[o,i,H,n]),k=m.useMemo(()=>H.map(_=>{const[J,Q,ee]=_.rotation,$=new ae(_.cx,_.cy,_.cz).sub(i),q=new Qt().fromArray([_.rotation[0],_.rotation[1],_.rotation[2],"ZXY"]);switch(_.windowType){case Sr.Polygonal:{const[le,ie]=_.polygonTop??jp,[pe,ne,Z]=[_.lx/2,_.lz/2,le*_.lx],he=oG(pe,ne,Z,ie),fe=new es(new H9([he],{steps:1,depth:_.ly,bevelEnabled:!1})),se=new ae(0,0,-_.ly).applyEuler(q);return fe.position.copy($.clone().add(se)),fe.rotation.copy(q),fe.updateMatrix(),fe}case Sr.Arched:{const le=nG(_.lx,_.lz,_.archHeight),ie=new es(new H9([le],{steps:1,depth:_.ly,bevelEnabled:!1})),pe=new ae(0,0,-_.ly).applyEuler(q);return ie.position.copy($.clone().add(pe)),ie.rotation.copy(q),ie.updateMatrix(),ie}default:{const le=new es(new X9(_.lx,_.lz,_.ly*2));return le.position.copy($),le.rotation.set(J,Q,ee),le.updateMatrix(),le}}}),[H,r]),N=u===Ui.NoTexture&&c&&c===s,j=p&&!P,Y=g&&d;return h.jsxs(h.Fragment,{children:[N&&!Y?h.jsx(OG,{uuid:t,simulation:!0,shape:W,holeMeshes:k,thickness:r,castShadow:j,receiveShadow:p,children:h.jsx("meshStandardMaterial",{color:c,transparent:P,opacity:R})}):h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{uuid:t,userData:{simulation:!0},name:"Flat roof top shape",position:[0,0,r+.001],receiveShadow:p,children:[h.jsx("shapeGeometry",{args:[B]}),Y?h.jsx("meshBasicMaterial",{map:d,side:ia}):h.jsx("meshStandardMaterial",{map:F,color:c,transparent:P,opacity:R,side:ia})]}),h.jsx(OG,{shape:W,holeMeshes:k,thickness:r,castShadow:j,receiveShadow:p,children:h.jsx("meshStandardMaterial",{color:s??"white",transparent:P,opacity:R})})]}),U,h.jsxs("group",{position:[0,0,r],children:[U,E.map((_,J)=>{const Q=[_.clone().sub(L),_];return h.jsx(Fn,{points:Q,lineWidth:l,color:a},J)})]}),D&&D.map((_,J)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:_,name:"Heat Flux "+J,lineWidth:C??Gm,color:x??g0}),";",h.jsx(cu,{userData:{unintersectable:!0},position:w.current?_[S.current].clone().add(w.current):_[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:T.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:x??g0})})]},J))]})},tqe="/aladdin/assets/foundation_01--kFbnI98.png",nqe="/aladdin/assets/foundation_02-wZzxF61c.png",oqe="/aladdin/assets/foundation_03-CrR6CCyr.png",iqe="/aladdin/assets/foundation_04-k0ozbTjk.png",rqe="/aladdin/assets/foundation_05-Bwrj98Mu.png",aqe="/aladdin/assets/foundation_06-BOa0J0il.png",lqe="/aladdin/assets/foundation_07-C9gRAfER.png",nQ="/aladdin/assets/helvetiker_regular.typeface-B9JafPRX.fnt",uye=Se.memo(({element:t,height:e})=>{const n=M(sW),o=M(ey),i=M(Kwt),r=M(rr),a=M(sA),[l,s]=m.useState(),[c,u]=m.useState(10),[d,f]=m.useState(0);m.useEffect(()=>{if(n||o){const{cx:b,cy:v,lx:S,ly:w,type:T}=t;switch(T){case z.SolarPanel:{const P=r(t);if(P){const R=b*P.lx,H=v*P.ly;s(new ae(R,H,e??P.lz))}break}case z.Foundation:{s(new ae(b,v,a?.1:0));break}case z.Cuboid:{const{pos:P}=be.getWorldDataById(t.id),{rot:R}=be.getWorldDataById(t.parentId);s(new ae(P.x,P.y,P.z-t.lz/2+.2)),f(R);break}default:{s(new ae(b,v,a?.2:0));break}}u(Math.max(5,Math.hypot(S,w)*.75))}},[t,n,o,a,e]);const p=aA(lq,nQ),g=c*.05,y={font:p,height:0,size:g},A=new Array(25).fill(0),x=b=>b===0?-g*.3:b>0&&b<7?-g*.8:-g*1.2,C=a?"#222":"#ccc";return h.jsx(h.Fragment,{children:l&&h.jsxs("group",{position:l,rotation:[Vt,d,0],name:"Polar Auxiliary",children:[h.jsx("polarGridHelper",{args:[c,24,6,120,C,C],userData:{unintersectable:!0}}),h.jsx(Y6,{args:[c*.98,c,24,1,Vt,i],userData:{unintersectable:!0},rotation:[-Vt,0,0],children:h.jsx("meshBasicMaterial",{side:ji,color:"yellow"})}),h.jsx("group",{rotation:[0,i,0],children:h.jsx("mesh",{position:[-.5,0,-c*.9],rotation:[-Vt,0,0],userData:{unintersectable:!0},children:h.jsx("textGeometry",{args:[`${-be.toDegrees(i).toFixed(1)}°`,y]})})}),A.map((b,v)=>{let S=Math.ceil(v/2)*(v%2===0?1:-1);S===-12&&(S=12);const w=x(Math.abs(S));return h.jsx("group",{rotation:[0,S*Math.PI/12,0],children:h.jsxs("mesh",{position:[w,0,-c*1.05],rotation:[-Vt,0,0],userData:{unintersectable:!0},children:[h.jsx("textGeometry",{args:[`${-15*S}°`,y]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]})},v)})]})})}),l7=Se.memo(({id:t,position:e,ratio:n,handleType:o,hoverHandle:i,noHoverHandle:r})=>{const a=M(Vc),l=M(sW),c=M(ey)===o||l===o?nr:pr,u=h.jsx("meshBasicMaterial",{color:c});return h.jsxs("group",{position:e,rotation:[Vt,0,0],scale:n,name:o,children:[h.jsxs("group",{children:[h.jsx(N1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:u}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:u}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:u})]}),h.jsx(sa,{name:o,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1,onPointerDown:d=>{a(t,d,zo.Rotate)},onPointerOver:d=>{i(d,o)},onPointerOut:r})]})}),s7=Se.memo(({hx:t,hy:e,hz:n,lineColor:o="black",lineWidth:i=.2})=>h.jsx(Fn,{points:[[-t,-e,-n],[t,-e,-n],[t,-e,n],[t,-e,-n],[t,e,-n],[t,e,n],[t,e,-n],[-t,e,-n],[-t,e,n],[-t,e,-n],[-t,-e,-n],[-t,-e,n],[t,-e,n],[t,e,n],[-t,e,n],[-t,-e,n]],name:"Wireframe",userData:{unintersectable:!0},lineWidth:i,color:o}));var Ki=(t=>(t.left="Left",t.right="Right",t.loop="Loop",t.null="Null",t))(Ki||{});const dye=Se.memo(({element:t,verticalLift:e})=>{const n=M(Sc),o=M(hu),i=M(yh),r=M(ey),a=t.lx/2,l=t.ly/2,s=.2,c=1,u=.5,d=t.lineColor??"white",f="darkorchid",p=Math.max(1,(a+l)/32),g=m.useMemo(()=>({lng:n}),[n]),y=m.useMemo(()=>{switch(t.type){case z.Cuboid:return Math.max(.5,Math.max(a,l)*.1)}return .5},[t.type,a,l]),A=m.useMemo(()=>{switch(t.type){case z.Cuboid:return o?t.lz/2+.1:-t.lz/2+.1;case z.Foundation:return t.lz+.1}return .1},[o,t.type,t.lz]),x=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.ly.toFixed(1)+O.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[-a-y,0,A+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-y,-l,A],[-a-y,l,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-y+s,-l+3*s,A],[-a-y,-l,A],[-a-y-s,-l+3*s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-y+s,l-3*s,A],[-a-y,l,A],[-a-y-s,l-3*s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l,A],[-a-y*2,-l,A]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l,A],[-a-y*2,l,A]],color:d,linewidth:u})]}),[a,l,A,g,d,e]),C=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.ly.toFixed(1)+O.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[a+y,0,A+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+y,-l,A],[a+y,l,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+y+s,-l+3*s,A],[a+y,-l,A],[a+y-s,-l+3*s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+y+s,l-3*s,A],[a+y,l,A],[a+y-s,l-3*s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,-l,A],[a+y*2,-l,A]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,l,A],[a+y*2,l,A]],color:d,linewidth:u})]}),[a,l,A,g,d,e]),b=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.lx.toFixed(1)+O.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[0,-l-y,A+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l-y,A],[a,-l-y,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a+3*s,-l-y-s,A],[-a,-l-y,A],[-a+3*s,-l-y+s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a-3*s,-l-y-s,A],[a,-l-y,A],[a-3*s,-l-y+s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l,A],[-a,-l-y*2,A]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,-l,A],[a,-l-y*2,A]],color:d,linewidth:u})]}),[a,l,A,g,d,e]),v=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.lx.toFixed(1)+O.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[0,l+y,A+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l+y,A],[a,l+y,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a+3*s,l+y-s,A],[-a,l+y,A],[-a+3*s,l+y+s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a-3*s,l+y-s,A],[a,l+y,A],[a-3*s,l+y+s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l,A],[-a,l+y*2,A]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,l,A],[a,l+y*2,A]],color:d,linewidth:u})]}),[a,l,A,g,d,e]);if(i)if(t.type===z.Wall)switch(i){case yt.LowerLeft:return b;case yt.LowerRight:return b}else switch(i){case yt.LowerLeft:return h.jsxs(h.Fragment,{children:[x,b]});case yt.LowerRight:return h.jsxs(h.Fragment,{children:[C,b]});case yt.UpperLeft:return h.jsxs(h.Fragment,{children:[x,v]});case yt.UpperRight:return h.jsxs(h.Fragment,{children:[C,v]})}if(r)if(t.type===z.Wall)switch(r){case yt.LowerLeft:return b;case yt.LowerRight:return b}else switch(r){case yt.LowerLeft:return h.jsxs(h.Fragment,{children:[x,b]});case yt.LowerRight:return h.jsxs(h.Fragment,{children:[C,b]});case yt.UpperLeft:return h.jsxs(h.Fragment,{children:[x,v]});case yt.UpperRight:return h.jsxs(h.Fragment,{children:[C,v]})}return h.jsx(h.Fragment,{})}),f$t=1.361,Jbe=9.8067,Kbe=1012,QY=1.225,x4=273.15,qbe=567e-10,h$t=[.103,.104,.109,.12,.13,.137,.138,.134,.121,.111,.106,.103];var vr=(t=>(t[t.NONE=0]="NONE",t[t.KASTEN_YOUNG=1]="KASTEN_YOUNG",t[t.SPHERE_MODEL=2]="SPHERE_MODEL",t))(vr||{});const y2=1440,Rue=Math.PI/720,bre=Math.PI/182.5,$be=30,p$t=120;class Qbe{constructor(e,n){this.sunrise=e,this.sunset=n}daylight(){return this.sunset-this.sunrise}}const Z3=.5,f0=.1,eP=23.45/180*Math.PI,g$t=1e3*60*60*24,xC=720,QW=t=>{const e=Math.floor((t.getTime()-new Date(t.getFullYear(),0,0).getTime())/g$t);return eP*Math.sin(na*(284+e)/365.25)},sl=(t,e)=>{const n=Math.tan(be.toRadians(e))*Math.tan(QW(t));if(Math.abs(n)>1)return new Qbe(0,n>0?xC*2:0);const o=60*Math.acos(-n)/be.toRadians(15);return new Qbe(xC-o,xC+o)},fye=t=>(t.getHours()*60+t.getMinutes()-xC)/xC*Math.PI,ZY=t=>(t/xC-1)*Math.PI,zr=(t,e)=>$5(1,fye(t),QW(t),be.toRadians(e)).normalize(),$5=(t,e,n,o)=>{const i=Math.cos(n),r=Math.sin(n),a=Math.cos(o),l=Math.sin(o),s=Math.cos(e),c=Math.sin(e),u=Math.asin(r*l+i*s*a),d=c*i,f=a*r-s*i*l,p=Math.atan2(f,d),g=new ae(t,p,u);return be.sphericalToCartesianZ(g),g.x=-g.x,g},m$t=t=>{const e=na*t/365,n=1.00011+.034221*Math.cos(e)+.00128*Math.sin(e)+719e-6*Math.cos(2*e)+77e-6*Math.sin(2*e);return f$t*n},y$t=(t,e,n)=>{let o;switch(t){case vr.NONE:return 1;case vr.KASTEN_YOUNG:return o=e.angleTo(Po),1/(Math.cos(o)+.50572*Math.pow(96.07995-o/Math.PI*180,-1.6364));default:{o=e.angleTo(Po);const i=Math.cos(o),r=708,a=n/9e3;return Math.sqrt((r+a)*(r+a)*i*i+(2*r+1+a)*(1-a))-(r+a)*i}}},Rr=(t,e,n,o)=>m$t(e)*Math.pow(.7,Math.pow(y$t(o,t,n),.678)),tr=(t,e,n,o)=>{let i=0;const r=n.dot(Po),a=.5*(1+r);a>0&&(i+=h$t[e]*a*o);const l=.5*Math.abs(1-r);return be.isZero(l)||(i+=t.albedo*l*o),i},A$t=Se.memo(({foundation:t})=>{const e=M(Ya),n=M(Xs),o=gt(JBe),i=gt(vf),r=gt(cge),a=gt(cs),l=M(wf),s=bn(n1),[c,u]=m.useState(null),d=m.useRef(null),{lx:f,ly:p,lz:g,solarUpdraftTower:y}=t,A=((y==null?void 0:y.collectorRadius)??100)*.016,x=m.useMemo(()=>zr(new Date(e),n),[e,n]),C=m.useMemo(()=>{const v=[],S=(((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))+g)/2,w=(y==null?void 0:y.chimneyHeight)??Math.max(f,p),T=(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,P=(y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),R=T*1.15,H=P*.5,D=P,E=P*2,L=P*4,U=6;for(let F=0;F{const v=[],S=((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))+g,w=(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,T=25,P=2*w/T;for(let R=0;R<=T;R++){const H=[],D=-w+R*P,E=Math.sqrt(w*w-D*D);H.push(new ae(-E,D,S)),H.push(new ae(E,D,S)),v.push({points:H})}for(let R=0;R<=T;R++){const H=[],D=-w+R*P,E=Math.sqrt(w*w-D*D);H.push(new ae(D,-E,S)),H.push(new ae(D,E,S)),v.push({points:H})}return v},[f,p,g,y==null?void 0:y.collectorRadius,y==null?void 0:y.collectorHeight]);return m.useEffect(()=>{if(t&&a){const v=s(t.id+"-sut");v&&u(be.fetchHeatmapTexture(v,l??5))}},[a,l]),rA((v,S)=>{(o||i&&!r)&&x.z>0&&d.current&&d.current.children.forEach(w=>{if(w.name==="Streamlines"){const T=w;T.material.uniforms.dashOffset.value-=S*A*10}})}),h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0,simulation:!0},name:"Chimney",castShadow:!0,receiveShadow:!1,args:[(y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),(y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),(y==null?void 0:y.chimneyHeight)??Math.max(f,p),16,2,!0],position:[0,0,((y==null?void 0:y.chimneyHeight)??Math.max(f,p))/2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Chimney Base",castShadow:!0,receiveShadow:!1,args:[(y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),((y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)))*1.6,((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))*4,16,2,!0],position:[0,0,((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))*2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Greenhouse Wall",castShadow:!0,receiveShadow:!0,args:[(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,(y==null?void 0:y.collectorHeight)??Math.max(3,10*g),50,2,!0],position:[0,0,((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))/2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(KC,{uuid:t.id+"-sut",userData:{unintersectable:!0,simulation:!0},name:"Greenhouse Ceiling",castShadow:!1,receiveShadow:!1,args:[(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,50,0,na],position:[0,0,g+((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))],children:a&&c?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:c}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:50,side:ia,color:"lightskyblue",transparent:!0,opacity:.75})}),h.jsx(KC,{userData:{unintersectable:!0},name:"Greenhouse Ground",castShadow:!1,receiveShadow:!0,args:[(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,50,0,na],position:[0,0,.1],children:h.jsx("meshStandardMaterial",{attach:"material",color:"dimgray"})}),b&&b.map((v,S)=>h.jsx(Fn,{name:"Greenhouse Roof Grid Lines",userData:{unintersectable:!0},points:v.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"gray"},S)),x.z>0&&C&&h.jsx("group",{ref:d,children:C.map((v,S)=>{const w=v.points[0].x+v.points[1].x,T=v.points[0].y+v.points[1].y,P=new Qt(0,0,na*S/C.length+Vt),R=A,H=A;return h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{name:"Streamlines",userData:{unintersectable:!0},points:v.points,castShadow:!1,receiveShadow:!1,lineWidth:.5,dashed:!0,dashSize:R,gapSize:H,color:"white"}),h.jsx(cu,{userData:{unintersectable:!0},args:[A,A*4,4,2],name:"Streamline Inlet Arrow Head",position:[w*.1,T*.1,v.points[0].z],rotation:P,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(cu,{userData:{unintersectable:!0},args:[A,A*4,4,2],name:"Streamline Inlet Arrow Head",position:[w*.9,T*.9,v.points[0].z],rotation:P,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})})]},S)})})]})}),hye="/aladdin/assets/glow-CV5NAijT.png",w$t=Se.memo(({foundation:t})=>{const e=M(Ya),n=M(Xs),o=Ab(hye),i=m.useMemo(()=>zr(new Date(e),n),[e,n]),{lz:r,solarPowerTower:a}=t,l=(a==null?void 0:a.towerRadius)??1,s=(a==null?void 0:a.towerHeight)??20,c=s/10,u=l*1.5,d=Math.max(c,u)*2.4;return h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0},name:"Focus Tower",castShadow:!0,receiveShadow:!1,args:[l,l,s,6,2],position:[0,0,s/2+r/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Center Receiver",castShadow:!0,receiveShadow:!1,args:[u,u,c,10,2],position:[0,0,s+r/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),i.z>0&&h.jsx("mesh",{position:[0,0,s+r/2],children:h.jsx("sprite",{scale:[d,d,d],children:h.jsx("spriteMaterial",{map:o,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})})]})}),v$t=Se.memo(({foundation:t})=>{const{ly:e,lz:n,solarAbsorberPipe:o}=t,i=(o==null?void 0:o.absorberHeight)??10,r=(o==null?void 0:o.apertureWidth)??.6,a=(o==null?void 0:o.relativeLength)??.9,l=(o==null?void 0:o.poleNumber)??5,s=m.useMemo(()=>{const c=[],u=a*e/(l+1);for(let d=1;d<=l;d++)c.push(new ae(0,d*u-a*e/2,i/2+n/2));return c},[e,n,l,i,a]);return h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Vertical Pipe 1",castShadow:!1,receiveShadow:!1,args:[r/4,r/4,i,6,2],position:[0,-a*e/2,i/2+n/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Vertical Pipe 2",castShadow:!1,receiveShadow:!1,args:[r/4,r/4,i,6,2],position:[0,a*e/2,i/2+n/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Horizontal Pipe",castShadow:!1,receiveShadow:!1,args:[r/2,r/2,a*e+r/2,6,2,!1,3*Vt,Math.PI],position:[0,0,i+n/2-r/4],rotation:[0,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),s&&s.map((c,u)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Solar Receiver Pole "+u,castShadow:!1,receiveShadow:!1,args:[r/8,r/8,i,4,2],position:c,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})},u))]})});class mx{static selectMe(e,n,o,i){var r,a,l;if(o.intersections.length>0&&o.intersections.filter(c=>!c.eventObject.name.startsWith("Wall Intersection Plane"))[0].object===o.eventObject){for(const c of e.elements)c.id===n?(c.selected=!0,e.selectedElement=c,e.selectedElementHeight=c.lz):c.selected=!1;if(!e.selectedElement)return;if(i===zo.ContextMenu)if(e.selectedElementIdSet.has(n))for(const c of e.elements)e.selectedElementIdSet.has(c.id)&&c.type!==e.selectedElement.type&&e.selectedElementIdSet.delete(c.id);else if(e.multiSelectionsMode){e.selectedElementIdSet.add(n);for(const c of e.elements)e.selectedElementIdSet.has(c.id)&&c.type!==e.selectedElement.type&&e.selectedElementIdSet.delete(c.id)}else e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n);else e.multiSelectionsMode?e.selectedElementIdSet.has(n)?e.selectedElementIdSet.delete(n):e.selectedElementIdSet.add(n):(e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n));if(e.moveHandleType=null,e.resizeHandleType=null,e.rotateHandleType=null,i)switch(i){case zo.Move:((r=e.selectedElement)==null?void 0:r.type)===z.Tree||((a=e.selectedElement)==null?void 0:a.type)===z.Human?e.moveHandleType=yo.Default:e.moveHandleType=o.eventObject.name;break;case zo.Resize:e.resizeHandleType=o.eventObject.name;break;case zo.Rotate:e.rotateHandleType=o.eventObject.name;break;case zo.Select:e.selectedElementAngle=((l=o.object.parent)==null?void 0:l.rotation.z)??0;break}}}static selectNone(e){e.selectedElementIdSet.clear();for(const n of e.elements)n.selected=!1;e.selectedElement=null,e.selectedElementIdSet.clear()}static clearThenAddSelectedElementIdSet(e,n){e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n)}}var _G={exports:{}};/** +`}const o=new Blob([n],{type:"text/csv;charset=utf-8"});KKe.saveAs(o,e)},nye="/aladdin/assets/wall_edge-B4PmTeCj.png",Xqt="/aladdin/assets/wall_01-B-g_tqAI.png",Jqt="/aladdin/assets/wall_02-9M_qG3R_.png",Kqt="/aladdin/assets/wall_03-ChpvVFgd.png",qqt="/aladdin/assets/wall_04-BkmmH41c.png",$qt="/aladdin/assets/wall_05-DFi74_0h.png",Qqt="/aladdin/assets/wall_06-CtX-9FCz.png",Zqt="/aladdin/assets/wall_07-CJgSaJ5B.png",e$t="/aladdin/assets/wall_08-DwhD-VRH.png",t$t="/aladdin/assets/wall_09-D3ncCSYQ.png",n$t="/aladdin/assets/wall_10-RK6QVYt5.png",o$t=(t,e,n,o)=>{const i=c=>c.parentId===t||c.id===o,r=M(c=>{if(e){for(const u of c.elements)if(u.id===e)return u}return null}),a=M(c=>{if(n){for(const u of c.elements)if(u.id===n)return u}return null}),l=M(c=>JSON.stringify(c.elements.filter(i)));return{elementsOnWall:m.useMemo(()=>M.getState().elements.filter(c=>i(c)&&be.isLegalOnWall(c.type)),[l]),leftWall:r,rightWall:a}},UH=(t=.3)=>{const e=M(r=>r.viewState.orthographic),n=M(r=>r.viewState.cameraPosition),o=M(r=>r.viewState.cameraZoom);let i;if(e)i=Math.max(t,15/o);else{const r=M.getState().viewState.panCenter,a=new ae(...r),s=new ae(...n).distanceTo(a);i=Math.max(t,s/100)}return i},qKe=(t,e)=>{const n=m.useMemo(()=>new tf,[]);return m.useMemo(()=>{let o;switch(t){case No.Default:o=nye;break;case No.NoTexture:o=Z1;break;case No.Texture01:o=Xqt;break;case No.Texture02:o=Jqt;break;case No.Texture03:o=Kqt;break;case No.Texture04:o=qqt;break;case No.Texture05:o=$qt;break;case No.Texture06:o=Qqt;break;case No.Texture07:o=Zqt;break;case No.Texture08:o=e$t;break;case No.Texture09:o=t$t;break;case No.Texture10:o=n$t;break;default:o=Z1}return e===hc.Stud&&(o=Z1),n.load(o,i=>{i.wrapS=i.wrapT=Ss,i.offset.set(0,0);let r=.6,a=.6;switch(t){case No.Default:r=2,a=2;break;case No.Texture03:r=2,a=1;break;case No.Texture06:r=1,a=1;break}i.repeat.set(r,a),Zh()})},[t,e])},$Ke=t=>{const e=m.useRef(!0);gt(o=>o.foundationMovedFlag);let n=t;if(!e.current){const o=M.getState().elements.find(i=>i.id===t.id&&i.type===z.Foundation);o&&(n=o)}return e.current=!1,n},eK=class eK{static getIntersectionObjects(e){return e.intersections.filter(n=>n.eventObject.name.includes("Cuboid")||n.eventObject.name==="Foundation"||n.eventObject.name.includes("Roof")||n.eventObject.name.includes(eK.WALL_OUTSIDE_SURFACE_MESH_NAME))}static addUndoableMove(){const e=M.getState().selectedElement;if(!e)return;const n=M.getState().getElementById(e.id),o=gt.getState().oldParentId,i=gt.getState().oldFoundationId;if(!n||!o||!i)return;const r=e.type===z.SolarPanel,a=e.type===z.Polygon,l={name:"Move",timestamp:Date.now(),movedElementId:n.id,movedElementType:n.type,oldCx:e.cx,oldCy:e.cy,oldCz:e.cz,newCx:n.cx,newCy:n.cy,newCz:n.cz,oldParentType:r?e.parentType:void 0,newParentType:r?n.parentType:void 0,oldParentId:o,newParentId:n.parentId,oldFoundationId:i,newFoundationId:n.foundationId,oldNormal:new ae().fromArray(e.normal),newNormal:new ae().fromArray(n.normal),oldRotation:[...e.rotation],newRotation:[...n.rotation],undo(){s(this.movedElementId,[this.oldCx,this.oldCy,this.oldCz],this.oldParentId,this.newParentId,this.oldFoundationId,this.oldParentType,this.oldRotation,this.oldNormal,a?e.vertices:void 0)},redo(){s(this.movedElementId,[this.newCx,this.newCy,this.newCz],this.newParentId,this.oldParentId,this.newFoundationId,this.newParentType,this.newRotation,this.newNormal,a?n.vertices:void 0)}};M.getState().addUndoable(l);const s=(c,u,d,f,p,g,y,A,x)=>{M.getState().set(C=>{const b=C.elements.find(v=>v.id===c);if(b){if(b.type===z.Polygon){if(x){const v=b;v.vertices=[...x]}}else[b.cx,b.cy,b.cz]=[...u];if(d&&f&&p&&(b.parentId=d,b.foundationId=p,g&&b.type===z.SolarPanel&&(b.parentType=g),y&&(b.rotation=[...y]),A&&(b.normal=[A.x,A.y,A.z]),b.type===z.Window)){const v=C.elements.find(P=>P.id===d),S=C.elements.find(P=>P.id===f);if(!v||!S)return;const w=b.lx*S.lx,T=b.lz*S.lz;b.lx=w/v.lx,b.lz=T/v.lz}}})}}static undoInvalidOperation(){M.getState().set(e=>{var n;if(e.selectedElement){for(let o=0;o{const e={name:`Add ${t.type} on Roof`,timestamp:Date.now(),addedElement:t,undo:()=>{M.getState().removeElementById(t.id,!1)},redo:()=>{M.getState().set(n=>{n.elements.push(e.addedElement),n.selectedElement=e.addedElement})}};M.getState().addUndoable(e)},i$t=t=>{for(const e of t.intersections)if(e.eventObject.name.includes("Roof Segments Group"))return e.object.name.includes("Flat roof")?e.point.clone().setZ(e.point.z-.01):e.point;return t.intersections[0].point},r$t=(t,e,n,o,i)=>{if(t.intersections.length===0)return;const r=M.getState().objectTypeToAdd;if(r===z.None)return;const a=M.getState().getElementById(n),l=M.getState().getElementById(e);if(!a||!l)return;const s=i$t(t),c=new ae().subVectors(s,new ae(l.cx,l.cy,l.lz)).applyEuler(new Qt(0,0,-l.rotation[2])),u=c.clone().sub(i);switch(r){case z.SolarPanel:{const{normal:d,rotation:f}=In.computeState(o,u),p=M.getState().actionState,g=rl.makeSolarPanel(a,M.getState().getPvModule(p.solarPanelModelName??"SPR-X21-335-BLK"),c.x/l.lx,c.y/l.ly,c.z,p.solarPanelOrientation??ci.landscape,p.solarPanelPoleHeight??1,p.solarPanelPoleSpacing??3,p.solarPanelTiltAngle??0,p.solarPanelRelativeAzimuth??0,d,f??[0,0,1],p.solarPanelFrameColor,void 0,void 0,z.Roof);M.getState().set(y=>{y.elements.push(g),y.selectedElementIdSet.clear(),y.selectedElementIdSet.add(g.id),y.actionModeLock||(y.objectTypeToAdd=z.None)}),$Y(g);break}case z.Window:{const{normal:d,rotation:f}=In.computeState(o,u),p=rl.makeWindow(a,c.x,c.y,c.z,z.Roof,f,.5,.5);M.getState().set(g=>{g.elements.push(p),g.selectedElementIdSet.clear(),g.selectedElementIdSet.add(p.id),g.actionModeLock||(g.objectTypeToAdd=z.None)}),$Y(p);break}case z.Sensor:{const{normal:d,rotation:f}=In.computeState(o,u),p=rl.makeSensor(a,c.x/l.lx,c.y/l.ly,c.z,d,f??[0,0,1]);M.getState().set(g=>{g.elements.push(p),g.selectedElementIdSet.clear(),g.selectedElementIdSet.add(p.id),g.actionModeLock||(g.objectTypeToAdd=z.None)}),$Y(p);break}case z.Light:{const{normal:d,rotation:f}=In.computeState(o,u),p=M.getState().actionState,g=rl.makeLight(a,2,p.lightDistance,p.lightIntensity,p.lightColor,c.x/l.lx,c.y/l.ly,c.z,d,f??[0,0,1]);M.getState().set(y=>{y.elements.push(g),y.selectedElementIdSet.clear(),y.selectedElementIdSet.add(g.id),y.actionModeLock||(y.objectTypeToAdd=z.None)}),$Y(g);break}}},QKe=(t,e,n)=>{M.getState().isAddingElement()||M.getState().objectTypeToAdd!==z.None||t.intersections.length>0&&t.intersections[0].eventObject.name===t.eventObject.name&&(t.stopPropagation(),M.getState().set(o=>{if(o.contextMenuObjectType=null,o.groupActionMode)o.multiSelectionsMode||o.selectedElementIdSet.clear(),o.selectedElementIdSet.has(n)?o.selectedElementIdSet.delete(n):o.selectedElementIdSet.add(n);else for(const i of o.elements)i.id===e?(i.selected=!0,o.selectedElement=i,o.multiSelectionsMode?o.selectedElementIdSet.has(e)?o.selectedElementIdSet.delete(e):o.selectedElementIdSet.add(e):(o.selectedElementIdSet.clear(),o.selectedElementIdSet.add(e))):i.selected=!1}))},_W=(t,e,n)=>{const o={name:"Resize Roof Rise",timestamp:Date.now(),resizedElementId:t,resizedElementType:z.Roof,oldRise:e,newRise:n,undo:()=>{M.getState().updateRoofRiseById(o.resizedElementId,o.oldRise,0)},redo:()=>{M.getState().updateRoofRiseById(o.resizedElementId,o.newRise,0)}};M.getState().addUndoable(o)},oye=(t,e)=>{const n={lng:M.getState().language};return In.rooftopElementBoundaryCheck(t,e)?!0:(M.getState().moveHandleType||M.getState().viewState.orthographic?Lo(O.t("message.MoveOutsideBoundaryCancelled",n)):M.getState().resizeHandleType?Lo(O.t("message.ResizingOutsideBoundaryCancelled",n)):M.getState().rotateHandleType&&Lo(O.t("message.RotationOutsideBoundaryCancelled",n)),!1)},iye=(t,e,n)=>{const o={lng:M.getState().language};return In.rooftopSPCollisionCheck(t,e,n)?!0:(M.getState().moveHandleType||M.getState().viewState.orthographic?Lo(O.t("message.MoveCancelledBecauseOfOverlap",o)):M.getState().resizeHandleType?Lo(O.t("message.ResizingCancelledBecauseOfOverlap",o)):M.getState().rotateHandleType&&Lo(O.t("message.RotationCancelledBecauseOfOverlap",o)),!1)},Q$=(t,e,n,o,i,r,a)=>{t!==null&&M.getState().set(l=>{if(t!==null){for(const s of l.elements)if(s.parentId===e&&s.foundationId){if(s.type===z.SolarPanel){const u=new ae(s.cx*t.lx,s.cy*t.ly,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.normal=f.toArray(),s.rotation=[...p],s.cz=g)}else if(s.type===z.Window){const u=new ae(s.cx,s.cy,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.rotation=[...p],s.cz=g)}else if(s.type===z.Sensor||s.type===z.Light){const u=new ae(s.cx*t.lx,s.cy*t.ly,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.normal=f.toArray(),s.rotation=[...p],s.cz=g)}}}})},VW=(t,e,n,o,i)=>{t.button!==2&&(t.intersections[0].eventObject.name!==t.eventObject.name||(QKe(t,n,e),r$t(t,e,n,o,i)))},GW=(t,e)=>{const n=M.getState().selectedElement;if(!n||!In.isValidOnRoof(n))return;const o=M.getState().getElementById(n.id);if(o&&M.getState().moveHandleType&&nf.getIntersectionObjects(t)[0].eventObject.userData.roofId===e.id&&o.foundationId){const a=M.getState().getElementById(o.foundationId);if(a)switch(o.type){case z.SolarPanel:{const l=o,s=In.getRoofBoundaryVertices(e),c=In.getSolarPanelVerticesOnRoof(l,a);!oye(c,s)||!iye(l,a,c)?nf.undoInvalidOperation():nf.addUndoableMove();break}case z.Sensor:nf.addUndoableMove();break;case z.Light:nf.addUndoableMove();break}}M.getState().set(i=>{i.moveHandleType=null})},XW=(t,e)=>{const n=M.getState().getSelectedElement();if(!(!n||!In.isValidOnRoof(n)))switch(n.type){case z.Sensor:case z.Light:case z.SolarPanel:{if(n.type===z.SolarPanel&&n.parentType===void 0)return;if(M.getState().moveHandleType){const o=t.intersections.filter(r=>r.eventObject.name==="Foundation"||r.eventObject.name.includes("Cuboid")||r.eventObject.name.includes("Roof")||r.eventObject.name.includes(nf.WALL_OUTSIDE_SURFACE_MESH_NAME));o[0].eventObject.userData.roofId===e&&M.getState().set(r=>{for(const a of r.elements)if(a.id===n.id){const{roofId:l,foundation:s,centroid:c,roofSegments:u}=o[0].eventObject.userData;if(s&&c&&u&&l){const d=o[0].point,f=new ae().subVectors(d,new ae(s.cx,s.cy)).applyEuler(new Qt(0,0,-s.rotation[2])),p=f.clone().sub(c),{normal:g,rotation:y}=In.computeState(u,p);a.cx=f.x/s.lx,a.cy=f.y/s.ly,a.cz=f.z-s.lz,a.rotation=[...y],a.normal=g.toArray(),a.parentId=l,a.foundationId=s.id,a.type===z.SolarPanel&&(a.parentType=z.Roof,a.color="#fff"),r.selectedElement&&(r.selectedElement.parentId=l,r.selectedElement.foundationId=s.id),gt.getState().setPrimitiveStore("showWallIntersectionPlaneId",null)}break}})}}}},dR=(t,e)=>{t.intersections.length>0&&t.intersections[0].eventObject.name===t.eventObject.name&&(t.stopPropagation(),M.getState().set(n=>{n.contextMenuObjectType=z.Roof,n.pastePoint.copy(t.intersections[0].point);for(const o of n.elements)if(o.id===e)if(o.selected=!0,n.selectedElement=o,n.selectedElementIdSet.has(e))for(const i of n.elements)n.selectedElementIdSet.has(i.id)&&i.type!==n.selectedElement.type&&n.selectedElementIdSet.delete(i.id);else if(n.multiSelectionsMode){n.selectedElementIdSet.add(e);for(const i of n.elements)n.selectedElementIdSet.has(i.id)&&i.type!==n.selectedElement.type&&n.selectedElementIdSet.delete(i.id)}else n.selectedElementIdSet.clear(),n.selectedElementIdSet.add(e);else o.selected=!1}))},Qf=({position:t,onPointerDown:e,onPointerUp:n,onPointerOver:o})=>{const i=M(dn),r=UH(),{gl:a}=Xi(),l=m.useRef(!1),s=m.useRef(!1),c=m.useRef(!1),u=m.useRef(null),[d,f]=m.useState("white"),p=y=>{y?(f(nr),a.domElement.style.cursor="pointer"):(f("white"),a.domElement.style.cursor="default")};m.useEffect(()=>{const y=()=>{s.current&&(c.current=!0),!s.current&&l.current&&p(!1),l.current=!1};return window.addEventListener("pointerup",y),()=>{window.removeEventListener("pointerup",y)}},[]);const g=y=>{if(y.intersections.length>0){for(const{eventObject:A}of y.intersections)if(A.name==="Roof Handle")return A===u.current}return!1};return h.jsx(ts,{name:"Roof Handle",ref:u,args:[r],position:t,onPointerMove:y=>{g(y)?(c.current=!1,s.current||(s.current=!0,p(!0))):f("white")},onPointerOut:y=>{c.current||(l.current||(y.intersections.length>0&&y.intersections[0].eventObject.name==="Roof Handle"?f("white"):p(!1)),s.current=!1,i(A=>{A.hoveredHandle=null}))},onPointerDown:y=>{g(y)&&(e&&e(y),l.current=!0)},onPointerUp:y=>{g(y)&&n&&n(y)},onPointerOver:y=>{g(y)&&o&&o(y)},onPointerLeave:y=>{g(y)&&i(A=>{A.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{attach:"material",color:d})})},a$t=({roofModel:t,foundationModel:e})=>{const n=M(hp),{id:o,wallsId:i,roofType:r}=t;return m.useEffect(()=>{i.length===0&&n(o,!1)},[i]),(()=>{switch(r){case Vo.Pyramid:return h.jsx(Tvt,{roofModel:t,foundationModel:e});case Vo.Gable:return h.jsx(Fvt,{roofModel:t,foundationModel:e});case Vo.Hip:return h.jsx(Uvt,{roofModel:t,foundationModel:e});case Vo.Gambrel:return h.jsx(Mvt,{roofModel:t,foundationModel:e});case Vo.Mansard:return h.jsx(Ovt,{roofModel:t,foundationModel:e});default:return null}})()};function BH(t,e){return t.roofModel===e.roofModel&&t.foundationModel.lx===e.foundationModel.lx&&t.foundationModel.ly===e.foundationModel.ly&&t.foundationModel.lz===e.foundationModel.lz}const l$t=Se.memo(a$t,BH),jH=t=>{const e=m.useMemo(()=>{let r;switch(t){case Ui.NoTexture:r=Z1;break;case Ui.Texture01:r=evt;break;case Ui.Texture02:r=tvt;break;case Ui.Texture03:r=nvt;break;case Ui.Texture04:r=ovt;break;case Ui.Texture05:r=ivt;break;case Ui.Texture06:r=rvt;break;case Ui.Texture07:r=avt;break;default:r=Z8t}return new tf().load(r,a=>{switch(a.wrapS=a.wrapT=Ss,t){case Ui.NoTexture:case Ui.Default:a.repeat.set(5,3);break;case Ui.Texture01:a.repeat.set(.5,.25);break;case Ui.Texture03:a.repeat.set(.9,.9);break;case Ui.Texture04:case Ui.Texture05:case Ui.Texture06:a.repeat.set(.75,.75);break;default:a.repeat.set(.5,.5)}o(a),i()})},[t]),[n,o]=m.useState(e),{invalidate:i}=Xi();return n},Z$=(t,e)=>{const n=M(sA),o=M(hu),i=n&&o;return{transparent:t||i,opacity:Math.min(e!==void 0?e:1,i?.25:1)}},ZKe=(t,e,n)=>{const o=M(l=>l.elements.filter(s=>s.foundationId===t&&s.type===z.Wall),a3),i=l=>o.find(s=>s.id===l),r=m.useRef(!1);return{currentWallArray:m.useMemo(()=>{for(const l of n){let s=i(l);if(!s)return[];const c=[],u=s;let d=0;for(;s&&(!s.roofId||s.roofId===e)&&d++<100&&(c.push(s),s.leftJoints[0]);)if(s.leftJoints[0]!==u.id)s=i(s.leftJoints[0]);else return c.reverse(),r.current=!0,c;for(c.reverse(),s=i(u.rightJoints[0]),d=0;s&&(!s.roofId||s.roofId===e)&&d++<100&&(c.push(s),s.rightJoints[0]&&s.rightJoints[0]!==u.id);)s=i(s.rightJoints[0]);if(r.current=!1,c.length>1)return c}return[]},[n,o]),isLoopRef:r}},rye=(t,e)=>{const n=M(i=>i.elements.filter(r=>r.foundationId===e&&r.type===z.Wall),a3);return m.useMemo(()=>{var f;const i=p=>n.find(g=>g.id===p),r=new Map,a=new Map,l=i(t);let s=l,c=0,u=!1;for(;s&&s.type===z.Wall&&c<100;){r.set(s.id,s);const p=s.relativeAngle.toFixed(1);if(a.has(p)?(f=a.get(p))==null||f.push(s):a.set(p,[s]),s.rightJoints.length!==0){if(s=i(s.rightJoints[0]),s&&s.id===l.id){u=!0;break}c++}else s=null}if(!u||a.size!==4)return null;const d=[];for(const[p,g]of a){let y=0;for(const v of g){const S=r.get(v.leftJoints[0]),w=r.get(v.rightJoints[0]);if(S&&S.relativeAngle.toFixed(1)!==p&&y++,w&&w.relativeAngle.toFixed(1)!==p&&y++,y>2)break}if(y!==2)return null;let A=null,x=null,C=0,b=-1;for(const v of g){const S=r.get(v.leftJoints[0]),w=r.get(v.rightJoints[0]);C=Math.max(C,v.lz),b=Math.max(b,v.eavesLength),S&&S.relativeAngle.toFixed(1)!==p&&(A=v),w&&w.relativeAngle.toFixed(1)!==p&&(x=v)}A&&x&&C>0&&b!==-1&&d.push({leftPoint:new ae().fromArray(A.leftPoint),rightPoint:new ae().fromArray(x.rightPoint),relativeAngle:A.relativeAngle,lz:C,eavesLength:b,wallsId:g.map(v=>v.id)})}return d.length!==4?null:d},[n])},aye=(t,e,n)=>{const o=m.useMemo(()=>In.getHighestComposedWallHeight(t,n),[t]),i=m.useMemo(()=>o+e,[o,e]);return{highestWallHeight:o,topZ:i}},eqe=(t,e,n)=>{const o=m.useMemo(()=>In.getHighestWallHeight(t,n),[t]),[i,r]=m.useState(e),a=o+i;return m.useEffect(()=>{e!==i&&r(e)},[e]),{highestWallHeight:o,topZ:a,riseInnerState:i,setRiseInnerState:r}},JW=(t,e,n,o,i,r)=>{const a=gt(ZL),l=gt(Z1e),s=gt(QL),c=()=>{const u=f=>f.clone().add(e);let d=[];if(o)if(i===Vo.Gambrel)d.push(cye(n).map(u));else{const f=[];for(const p of n)f.push(p.points[1].clone().add(e));d.push(f)}else{for(const f of n){const p=f.points;if(p.length===6)d.push(p.slice(3).map(u));else if(p.length===8)d.push(p.slice(4).map(u));else throw new Error("Invalid Roof segment data")}r&&d.push(r)}return bn.getState().setRoofSegmentVertices(t,d),d};return(a||l||s)&&c(),m.useEffect(()=>{c()},[n]),c},KW=t=>{const e=gt(QL),n=gt(Aq);(e||n)&&t()},qW=(t,e)=>{const n=M(AH);m.useEffect(()=>{t.rise===void 0&&M.getState().set(o=>{for(const i of o.elements)if(i.id===t.id&&i.type===z.Roof){const r=i;r.rise===void 0&&(r.rise=r.lz-e,r.lz=0);break}})},[n])},s$t=()=>{const[,t]=m.useState(!1);m.useEffect(()=>{t(e=>!e)},[])},eQ=()=>{const t=m.useRef(!0);return t.current?(t.current=!1,!0):!1},lye=(t,e,n,o,i,r,a)=>{const l=M(s=>s.updateElementOnRoofFlag);m.useEffect(()=>{l&&(Q$(t,e,n,o,i,r,a),M.getState().setUpdateElementOnRoofFlag(!1))},[i,r,l])},c$t=(t,e,n,o,i,r,a)=>{const l=eQ();m.useEffect(()=>{l||Q$(t,e,n,o,i,r,a)},[n])},sye=(t,e,n,o,i,r,a)=>{c$t(t,e,n,o,i,r,a),lye(t,e,n,o,i,r,a)},$W=(t,e,n,o)=>{const i=$Ke(e);return m.useMemo(()=>({roofId:t,foundation:i,centroid:n,roofSegments:o}),[t,n,o,i])},Xbe=(t,e)=>{const[n,o,i,r]=e;t.moveTo(n.points[0].x,n.points[0].y),t.lineTo(n.points[1].x,n.points[1].y),t.lineTo(r.points[0].x,r.points[0].y),t.lineTo(r.points[1].x,r.points[1].y),t.closePath()},cye=(t,e)=>{const n=[],[o,i,r,a]=t;return n.push(o.points[0].clone()),n.push(o.points[1].clone()),n.push(a.points[0].clone()),n.push(a.points[1].clone()),e?(e.push(...n),e):n},OG=({uuid:t,shape:e,thickness:n,holeMeshes:o,simulation:i,castShadow:r,receiveShadow:a,children:l})=>{const s=m.useRef(null);if(s.current&&(s.current.geometry=new H9(e,{steps:1,depth:n,bevelEnabled:!1}),s.current.updateMatrix(),o.length>0)){const c=[];for(let d=0;d{const f=M.getState().world,p=M(ss),g=gt(cs),y=gt(i3),A=M(X2),x=M(q9),C=M($9),b=bn($L),v=bn.getState().hourlyHeatExchangeArrayMap,S=m.useRef(0),w=m.useRef(),T=m.useRef(),{transparent:P,opacity:R}=Z$(),H=M(_=>_.elements.filter(J=>J.type===z.Window&&J.parentId===t),a3),D=m.useMemo(()=>{if(!y||e&&e.notBuilding)return;const _=v.get(t);if(!_)return;const J=_.reduce((we,ye)=>we+ye,0),Q=b(t);if(!Q||!Q[0])return;const ee=[],$=Q[0].map(we=>we.clone().sub(i)),q=K9*(f.solarRadiationHeatmapGridCellSize??.5),le=$[0].clone(),ie=$[1].clone(),pe=$[2].clone(),ne=new ae().subVectors(ie,le),Z=new ae().subVectors(pe,le),he=new ae().subVectors(pe,ie),fe=ne.length(),se=new ae().crossVectors(Z,he).length()/fe,oe=Math.max(2,Math.floor(fe/q)),de=Math.max(2,Math.floor(se/q));ne.normalize(),Z.normalize(),he.normalize();const ve=new ae().crossVectors(Z,he).normalize(),Pe=ne.multiplyScalar(.5*fe/oe),me=new ae().crossVectors(ve,ne).normalize().multiplyScalar(.5*se/de),Re=le.clone().add(Pe).add(me).add(new ae(0,0,r));Pe.multiplyScalar(2),me.multiplyScalar(2),w.current=ve.clone().multiplyScalar(.1);const ze=new ae,Ae=new Array;for(const we of $)Ae.push({x:we.x,y:we.y});const re=be.getPolygonArea(Ae);if(re===0)return;const ge=J/re*(A??Vm);S.current=ge<0?1:0,T.current=new Qt(-Math.sign(ge)*Vt,0,0);for(let we=0;we{if(o.length===0)return[new ae];const _=[];if(n===Vo.Gambrel){cye(o,_);const J=_.reduce((Q,ee)=>Math.max(Q,ee.z),0);_.forEach(Q=>Q.setZ(J))}else{_.push(o[0].points[0]);for(const J of o){const Q=J.points[1];_.push(Q)}}return _},[o,n]),L=m.useMemo(()=>new ae(0,0,r),[r]),U=h.jsx(Fn,{points:E,lineWidth:l,color:a}),F=jH(u),W=m.useMemo(()=>{const _=new Ml;if(o.length===0)return _;if(n===Vo.Gambrel)Xbe(_,o);else{const J=o[0].points[0];_.moveTo(J.x,J.y);for(const Q of o){const ee=Q.points[1];_.lineTo(ee.x,ee.y)}_.closePath()}return _},[o,i,n]),B=m.useMemo(()=>{const _=new Ml;if(o.length===0)return _;if(n===Vo.Gambrel)Xbe(_,o);else{const J=o[0].points[0];_.moveTo(J.x,J.y);for(const Q of o){const ee=Q.points[1];_.lineTo(ee.x,ee.y)}_.closePath()}if(H.length>0)for(const J of H){const Q=new ae(J.cx,J.cy,J.cz).sub(i);switch(J.windowType){case Sr.Polygonal:{const[ee,$]=J.polygonTop??jp,[q,le,ie]=[J.lx/2,J.lz/2,ee*J.lx],pe=oG(q,le,ie,$,Q.x,Q.y);_.holes.push(pe);break}case Sr.Arched:{const ee=nG(J.lx,J.lz,J.archHeight,Q.x,Q.y);_.holes.push(ee);break}default:{const ee=new Ml,[$,q]=[J.lx/2,J.lz/2];ee.moveTo(Q.x-$,Q.y-q),ee.lineTo(Q.x+$,Q.y-q),ee.lineTo(Q.x+$,Q.y+q),ee.lineTo(Q.x-$,Q.y+q),ee.closePath(),_.holes.push(ee)}}}return _},[o,i,H,n]),k=m.useMemo(()=>H.map(_=>{const[J,Q,ee]=_.rotation,$=new ae(_.cx,_.cy,_.cz).sub(i),q=new Qt().fromArray([_.rotation[0],_.rotation[1],_.rotation[2],"ZXY"]);switch(_.windowType){case Sr.Polygonal:{const[le,ie]=_.polygonTop??jp,[pe,ne,Z]=[_.lx/2,_.lz/2,le*_.lx],he=oG(pe,ne,Z,ie),fe=new es(new H9([he],{steps:1,depth:_.ly,bevelEnabled:!1})),se=new ae(0,0,-_.ly).applyEuler(q);return fe.position.copy($.clone().add(se)),fe.rotation.copy(q),fe.updateMatrix(),fe}case Sr.Arched:{const le=nG(_.lx,_.lz,_.archHeight),ie=new es(new H9([le],{steps:1,depth:_.ly,bevelEnabled:!1})),pe=new ae(0,0,-_.ly).applyEuler(q);return ie.position.copy($.clone().add(pe)),ie.rotation.copy(q),ie.updateMatrix(),ie}default:{const le=new es(new X9(_.lx,_.lz,_.ly*2));return le.position.copy($),le.rotation.set(J,Q,ee),le.updateMatrix(),le}}}),[H,r]),N=u===Ui.NoTexture&&c&&c===s,j=p&&!P,Y=g&&d;return h.jsxs(h.Fragment,{children:[N&&!Y?h.jsx(OG,{uuid:t,simulation:!0,shape:W,holeMeshes:k,thickness:r,castShadow:j,receiveShadow:p,children:h.jsx("meshStandardMaterial",{color:c,transparent:P,opacity:R})}):h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{uuid:t,userData:{simulation:!0},name:"Flat roof top shape",position:[0,0,r+.001],receiveShadow:p,children:[h.jsx("shapeGeometry",{args:[B]}),Y?h.jsx("meshBasicMaterial",{map:d,side:ia}):h.jsx("meshStandardMaterial",{map:F,color:c,transparent:P,opacity:R,side:ia})]}),h.jsx(OG,{shape:W,holeMeshes:k,thickness:r,castShadow:j,receiveShadow:p,children:h.jsx("meshStandardMaterial",{color:s??"white",transparent:P,opacity:R})})]}),U,h.jsxs("group",{position:[0,0,r],children:[U,E.map((_,J)=>{const Q=[_.clone().sub(L),_];return h.jsx(Fn,{points:Q,lineWidth:l,color:a},J)})]}),D&&D.map((_,J)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:_,name:"Heat Flux "+J,lineWidth:C??Gm,color:x??g0}),";",h.jsx(cu,{userData:{unintersectable:!0},position:w.current?_[S.current].clone().add(w.current):_[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:T.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:x??g0})})]},J))]})},tqe="/aladdin/assets/foundation_01--kFbnI98.png",nqe="/aladdin/assets/foundation_02-wZzxF61c.png",oqe="/aladdin/assets/foundation_03-CrR6CCyr.png",iqe="/aladdin/assets/foundation_04-k0ozbTjk.png",rqe="/aladdin/assets/foundation_05-Bwrj98Mu.png",aqe="/aladdin/assets/foundation_06-BOa0J0il.png",lqe="/aladdin/assets/foundation_07-C9gRAfER.png",nQ="/aladdin/assets/helvetiker_regular.typeface-B9JafPRX.fnt",uye=Se.memo(({element:t,height:e})=>{const n=M(sW),o=M(ey),i=M(Xwt),r=M(rr),a=M(sA),[l,s]=m.useState(),[c,u]=m.useState(10),[d,f]=m.useState(0);m.useEffect(()=>{if(n||o){const{cx:b,cy:v,lx:S,ly:w,type:T}=t;switch(T){case z.SolarPanel:{const P=r(t);if(P){const R=b*P.lx,H=v*P.ly;s(new ae(R,H,e??P.lz))}break}case z.Foundation:{s(new ae(b,v,a?.1:0));break}case z.Cuboid:{const{pos:P}=be.getWorldDataById(t.id),{rot:R}=be.getWorldDataById(t.parentId);s(new ae(P.x,P.y,P.z-t.lz/2+.2)),f(R);break}default:{s(new ae(b,v,a?.2:0));break}}u(Math.max(5,Math.hypot(S,w)*.75))}},[t,n,o,a,e]);const p=aA(lq,nQ),g=c*.05,y={font:p,height:0,size:g},A=new Array(25).fill(0),x=b=>b===0?-g*.3:b>0&&b<7?-g*.8:-g*1.2,C=a?"#222":"#ccc";return h.jsx(h.Fragment,{children:l&&h.jsxs("group",{position:l,rotation:[Vt,d,0],name:"Polar Auxiliary",children:[h.jsx("polarGridHelper",{args:[c,24,6,120,C,C],userData:{unintersectable:!0}}),h.jsx(Y6,{args:[c*.98,c,24,1,Vt,i],userData:{unintersectable:!0},rotation:[-Vt,0,0],children:h.jsx("meshBasicMaterial",{side:ji,color:"yellow"})}),h.jsx("group",{rotation:[0,i,0],children:h.jsx("mesh",{position:[-.5,0,-c*.9],rotation:[-Vt,0,0],userData:{unintersectable:!0},children:h.jsx("textGeometry",{args:[`${-be.toDegrees(i).toFixed(1)}°`,y]})})}),A.map((b,v)=>{let S=Math.ceil(v/2)*(v%2===0?1:-1);S===-12&&(S=12);const w=x(Math.abs(S));return h.jsx("group",{rotation:[0,S*Math.PI/12,0],children:h.jsxs("mesh",{position:[w,0,-c*1.05],rotation:[-Vt,0,0],userData:{unintersectable:!0},children:[h.jsx("textGeometry",{args:[`${-15*S}°`,y]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]})},v)})]})})}),l7=Se.memo(({id:t,position:e,ratio:n,handleType:o,hoverHandle:i,noHoverHandle:r})=>{const a=M(Vc),l=M(sW),c=M(ey)===o||l===o?nr:pr,u=h.jsx("meshBasicMaterial",{color:c});return h.jsxs("group",{position:e,rotation:[Vt,0,0],scale:n,name:o,children:[h.jsxs("group",{children:[h.jsx(N1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:u}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:u}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:u})]}),h.jsx(sa,{name:o,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1,onPointerDown:d=>{a(t,d,zo.Rotate)},onPointerOver:d=>{i(d,o)},onPointerOut:r})]})}),s7=Se.memo(({hx:t,hy:e,hz:n,lineColor:o="black",lineWidth:i=.2})=>h.jsx(Fn,{points:[[-t,-e,-n],[t,-e,-n],[t,-e,n],[t,-e,-n],[t,e,-n],[t,e,n],[t,e,-n],[-t,e,-n],[-t,e,n],[-t,e,-n],[-t,-e,-n],[-t,-e,n],[t,-e,n],[t,e,n],[-t,e,n],[-t,-e,n]],name:"Wireframe",userData:{unintersectable:!0},lineWidth:i,color:o}));var Ki=(t=>(t.left="Left",t.right="Right",t.loop="Loop",t.null="Null",t))(Ki||{});const dye=Se.memo(({element:t,verticalLift:e})=>{const n=M(Sc),o=M(hu),i=M(yh),r=M(ey),a=t.lx/2,l=t.ly/2,s=.2,c=1,u=.5,d=t.lineColor??"white",f="darkorchid",p=Math.max(1,(a+l)/32),g=m.useMemo(()=>({lng:n}),[n]),y=m.useMemo(()=>{switch(t.type){case z.Cuboid:return Math.max(.5,Math.max(a,l)*.1)}return .5},[t.type,a,l]),A=m.useMemo(()=>{switch(t.type){case z.Cuboid:return o?t.lz/2+.1:-t.lz/2+.1;case z.Foundation:return t.lz+.1}return .1},[o,t.type,t.lz]),x=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.ly.toFixed(1)+O.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[-a-y,0,A+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-y,-l,A],[-a-y,l,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-y+s,-l+3*s,A],[-a-y,-l,A],[-a-y-s,-l+3*s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-y+s,l-3*s,A],[-a-y,l,A],[-a-y-s,l-3*s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l,A],[-a-y*2,-l,A]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l,A],[-a-y*2,l,A]],color:d,linewidth:u})]}),[a,l,A,g,d,e]),C=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.ly.toFixed(1)+O.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[a+y,0,A+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+y,-l,A],[a+y,l,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+y+s,-l+3*s,A],[a+y,-l,A],[a+y-s,-l+3*s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+y+s,l-3*s,A],[a+y,l,A],[a+y-s,l-3*s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,-l,A],[a+y*2,-l,A]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,l,A],[a+y*2,l,A]],color:d,linewidth:u})]}),[a,l,A,g,d,e]),b=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.lx.toFixed(1)+O.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[0,-l-y,A+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l-y,A],[a,-l-y,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a+3*s,-l-y-s,A],[-a,-l-y,A],[-a+3*s,-l-y+s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a-3*s,-l-y-s,A],[a,-l-y,A],[a-3*s,-l-y+s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l,A],[-a,-l-y*2,A]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,-l,A],[a,-l-y*2,A]],color:d,linewidth:u})]}),[a,l,A,g,d,e]),v=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.lx.toFixed(1)+O.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[0,l+y,A+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l+y,A],[a,l+y,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a+3*s,l+y-s,A],[-a,l+y,A],[-a+3*s,l+y+s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a-3*s,l+y-s,A],[a,l+y,A],[a-3*s,l+y+s,A]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l,A],[-a,l+y*2,A]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,l,A],[a,l+y*2,A]],color:d,linewidth:u})]}),[a,l,A,g,d,e]);if(i)if(t.type===z.Wall)switch(i){case yt.LowerLeft:return b;case yt.LowerRight:return b}else switch(i){case yt.LowerLeft:return h.jsxs(h.Fragment,{children:[x,b]});case yt.LowerRight:return h.jsxs(h.Fragment,{children:[C,b]});case yt.UpperLeft:return h.jsxs(h.Fragment,{children:[x,v]});case yt.UpperRight:return h.jsxs(h.Fragment,{children:[C,v]})}if(r)if(t.type===z.Wall)switch(r){case yt.LowerLeft:return b;case yt.LowerRight:return b}else switch(r){case yt.LowerLeft:return h.jsxs(h.Fragment,{children:[x,b]});case yt.LowerRight:return h.jsxs(h.Fragment,{children:[C,b]});case yt.UpperLeft:return h.jsxs(h.Fragment,{children:[x,v]});case yt.UpperRight:return h.jsxs(h.Fragment,{children:[C,v]})}return h.jsx(h.Fragment,{})}),u$t=1.361,Jbe=9.8067,Kbe=1012,QY=1.225,x4=273.15,qbe=567e-10,d$t=[.103,.104,.109,.12,.13,.137,.138,.134,.121,.111,.106,.103];var vr=(t=>(t[t.NONE=0]="NONE",t[t.KASTEN_YOUNG=1]="KASTEN_YOUNG",t[t.SPHERE_MODEL=2]="SPHERE_MODEL",t))(vr||{});const y2=1440,Rue=Math.PI/720,bre=Math.PI/182.5,$be=30,f$t=120;class Qbe{constructor(e,n){this.sunrise=e,this.sunset=n}daylight(){return this.sunset-this.sunrise}}const Z3=.5,f0=.1,eP=23.45/180*Math.PI,h$t=1e3*60*60*24,xC=720,QW=t=>{const e=Math.floor((t.getTime()-new Date(t.getFullYear(),0,0).getTime())/h$t);return eP*Math.sin(na*(284+e)/365.25)},sl=(t,e)=>{const n=Math.tan(be.toRadians(e))*Math.tan(QW(t));if(Math.abs(n)>1)return new Qbe(0,n>0?xC*2:0);const o=60*Math.acos(-n)/be.toRadians(15);return new Qbe(xC-o,xC+o)},fye=t=>(t.getHours()*60+t.getMinutes()-xC)/xC*Math.PI,ZY=t=>(t/xC-1)*Math.PI,zr=(t,e)=>$5(1,fye(t),QW(t),be.toRadians(e)).normalize(),$5=(t,e,n,o)=>{const i=Math.cos(n),r=Math.sin(n),a=Math.cos(o),l=Math.sin(o),s=Math.cos(e),c=Math.sin(e),u=Math.asin(r*l+i*s*a),d=c*i,f=a*r-s*i*l,p=Math.atan2(f,d),g=new ae(t,p,u);return be.sphericalToCartesianZ(g),g.x=-g.x,g},p$t=t=>{const e=na*t/365,n=1.00011+.034221*Math.cos(e)+.00128*Math.sin(e)+719e-6*Math.cos(2*e)+77e-6*Math.sin(2*e);return u$t*n},g$t=(t,e,n)=>{let o;switch(t){case vr.NONE:return 1;case vr.KASTEN_YOUNG:return o=e.angleTo(Po),1/(Math.cos(o)+.50572*Math.pow(96.07995-o/Math.PI*180,-1.6364));default:{o=e.angleTo(Po);const i=Math.cos(o),r=708,a=n/9e3;return Math.sqrt((r+a)*(r+a)*i*i+(2*r+1+a)*(1-a))-(r+a)*i}}},Rr=(t,e,n,o)=>p$t(e)*Math.pow(.7,Math.pow(g$t(o,t,n),.678)),tr=(t,e,n,o)=>{let i=0;const r=n.dot(Po),a=.5*(1+r);a>0&&(i+=d$t[e]*a*o);const l=.5*Math.abs(1-r);return be.isZero(l)||(i+=t.albedo*l*o),i},m$t=Se.memo(({foundation:t})=>{const e=M(Ya),n=M(Xs),o=gt(JBe),i=gt(vf),r=gt(cge),a=gt(cs),l=M(wf),s=bn(o1),[c,u]=m.useState(null),d=m.useRef(null),{lx:f,ly:p,lz:g,solarUpdraftTower:y}=t,A=((y==null?void 0:y.collectorRadius)??100)*.016,x=m.useMemo(()=>zr(new Date(e),n),[e,n]),C=m.useMemo(()=>{const v=[],S=(((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))+g)/2,w=(y==null?void 0:y.chimneyHeight)??Math.max(f,p),T=(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,P=(y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),R=T*1.15,H=P*.5,D=P,E=P*2,L=P*4,U=6;for(let F=0;F{const v=[],S=((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))+g,w=(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,T=25,P=2*w/T;for(let R=0;R<=T;R++){const H=[],D=-w+R*P,E=Math.sqrt(w*w-D*D);H.push(new ae(-E,D,S)),H.push(new ae(E,D,S)),v.push({points:H})}for(let R=0;R<=T;R++){const H=[],D=-w+R*P,E=Math.sqrt(w*w-D*D);H.push(new ae(D,-E,S)),H.push(new ae(D,E,S)),v.push({points:H})}return v},[f,p,g,y==null?void 0:y.collectorRadius,y==null?void 0:y.collectorHeight]);return m.useEffect(()=>{if(t&&a){const v=s(t.id+"-sut");v&&u(be.fetchHeatmapTexture(v,l??5))}},[a,l]),rA((v,S)=>{(o||i&&!r)&&x.z>0&&d.current&&d.current.children.forEach(w=>{if(w.name==="Streamlines"){const T=w;T.material.uniforms.dashOffset.value-=S*A*10}})}),h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0,simulation:!0},name:"Chimney",castShadow:!0,receiveShadow:!1,args:[(y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),(y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),(y==null?void 0:y.chimneyHeight)??Math.max(f,p),16,2,!0],position:[0,0,((y==null?void 0:y.chimneyHeight)??Math.max(f,p))/2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Chimney Base",castShadow:!0,receiveShadow:!1,args:[(y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),((y==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(f,p)))*1.6,((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))*4,16,2,!0],position:[0,0,((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))*2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Greenhouse Wall",castShadow:!0,receiveShadow:!0,args:[(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,(y==null?void 0:y.collectorHeight)??Math.max(3,10*g),50,2,!0],position:[0,0,((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))/2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(KC,{uuid:t.id+"-sut",userData:{unintersectable:!0,simulation:!0},name:"Greenhouse Ceiling",castShadow:!1,receiveShadow:!1,args:[(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,50,0,na],position:[0,0,g+((y==null?void 0:y.collectorHeight)??Math.max(3,10*g))],children:a&&c?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:c}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:50,side:ia,color:"lightskyblue",transparent:!0,opacity:.75})}),h.jsx(KC,{userData:{unintersectable:!0},name:"Greenhouse Ground",castShadow:!1,receiveShadow:!0,args:[(y==null?void 0:y.collectorRadius)??Math.min(f,p)/2,50,0,na],position:[0,0,.1],children:h.jsx("meshStandardMaterial",{attach:"material",color:"dimgray"})}),b&&b.map((v,S)=>h.jsx(Fn,{name:"Greenhouse Roof Grid Lines",userData:{unintersectable:!0},points:v.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"gray"},S)),x.z>0&&C&&h.jsx("group",{ref:d,children:C.map((v,S)=>{const w=v.points[0].x+v.points[1].x,T=v.points[0].y+v.points[1].y,P=new Qt(0,0,na*S/C.length+Vt),R=A,H=A;return h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{name:"Streamlines",userData:{unintersectable:!0},points:v.points,castShadow:!1,receiveShadow:!1,lineWidth:.5,dashed:!0,dashSize:R,gapSize:H,color:"white"}),h.jsx(cu,{userData:{unintersectable:!0},args:[A,A*4,4,2],name:"Streamline Inlet Arrow Head",position:[w*.1,T*.1,v.points[0].z],rotation:P,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(cu,{userData:{unintersectable:!0},args:[A,A*4,4,2],name:"Streamline Inlet Arrow Head",position:[w*.9,T*.9,v.points[0].z],rotation:P,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})})]},S)})})]})}),hye="/aladdin/assets/glow-CV5NAijT.png",y$t=Se.memo(({foundation:t})=>{const e=M(Ya),n=M(Xs),o=Ab(hye),i=m.useMemo(()=>zr(new Date(e),n),[e,n]),{lz:r,solarPowerTower:a}=t,l=(a==null?void 0:a.towerRadius)??1,s=(a==null?void 0:a.towerHeight)??20,c=s/10,u=l*1.5,d=Math.max(c,u)*2.4;return h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0},name:"Focus Tower",castShadow:!0,receiveShadow:!1,args:[l,l,s,6,2],position:[0,0,s/2+r/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Center Receiver",castShadow:!0,receiveShadow:!1,args:[u,u,c,10,2],position:[0,0,s+r/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),i.z>0&&h.jsx("mesh",{position:[0,0,s+r/2],children:h.jsx("sprite",{scale:[d,d,d],children:h.jsx("spriteMaterial",{map:o,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})})]})}),A$t=Se.memo(({foundation:t})=>{const{ly:e,lz:n,solarAbsorberPipe:o}=t,i=(o==null?void 0:o.absorberHeight)??10,r=(o==null?void 0:o.apertureWidth)??.6,a=(o==null?void 0:o.relativeLength)??.9,l=(o==null?void 0:o.poleNumber)??5,s=m.useMemo(()=>{const c=[],u=a*e/(l+1);for(let d=1;d<=l;d++)c.push(new ae(0,d*u-a*e/2,i/2+n/2));return c},[e,n,l,i,a]);return h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Vertical Pipe 1",castShadow:!1,receiveShadow:!1,args:[r/4,r/4,i,6,2],position:[0,-a*e/2,i/2+n/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Vertical Pipe 2",castShadow:!1,receiveShadow:!1,args:[r/4,r/4,i,6,2],position:[0,a*e/2,i/2+n/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Horizontal Pipe",castShadow:!1,receiveShadow:!1,args:[r/2,r/2,a*e+r/2,6,2,!1,3*Vt,Math.PI],position:[0,0,i+n/2-r/4],rotation:[0,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),s&&s.map((c,u)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Solar Receiver Pole "+u,castShadow:!1,receiveShadow:!1,args:[r/8,r/8,i,4,2],position:c,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})},u))]})});class mx{static selectMe(e,n,o,i){var r,a,l;if(o.intersections.length>0&&o.intersections.filter(c=>!c.eventObject.name.startsWith("Wall Intersection Plane"))[0].object===o.eventObject){for(const c of e.elements)c.id===n?(c.selected=!0,e.selectedElement=c,e.selectedElementHeight=c.lz):c.selected=!1;if(!e.selectedElement)return;if(i===zo.ContextMenu)if(e.selectedElementIdSet.has(n))for(const c of e.elements)e.selectedElementIdSet.has(c.id)&&c.type!==e.selectedElement.type&&e.selectedElementIdSet.delete(c.id);else if(e.multiSelectionsMode){e.selectedElementIdSet.add(n);for(const c of e.elements)e.selectedElementIdSet.has(c.id)&&c.type!==e.selectedElement.type&&e.selectedElementIdSet.delete(c.id)}else e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n);else e.multiSelectionsMode?e.selectedElementIdSet.has(n)?e.selectedElementIdSet.delete(n):e.selectedElementIdSet.add(n):(e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n));if(e.moveHandleType=null,e.resizeHandleType=null,e.rotateHandleType=null,i)switch(i){case zo.Move:((r=e.selectedElement)==null?void 0:r.type)===z.Tree||((a=e.selectedElement)==null?void 0:a.type)===z.Human?e.moveHandleType=yo.Default:e.moveHandleType=o.eventObject.name;break;case zo.Resize:e.resizeHandleType=o.eventObject.name;break;case zo.Rotate:e.rotateHandleType=o.eventObject.name;break;case zo.Select:e.selectedElementAngle=((l=o.object.parent)==null?void 0:l.rotation.z)??0;break}}}static selectNone(e){e.selectedElementIdSet.clear();for(const n of e.elements)n.selected=!1;e.selectedElement=null,e.selectedElementIdSet.clear()}static clearThenAddSelectedElementIdSet(e,n){e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n)}}var _G={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */_G.exports;(function(t,e){(function(){var n,o="4.17.21",i=200,r="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",l="Invalid `variable` option passed into `_.template`",s="__lodash_hash_undefined__",c=500,u="__lodash_placeholder__",d=1,f=2,p=4,g=1,y=2,A=1,x=2,C=4,b=8,v=16,S=32,w=64,T=128,P=256,R=512,H=30,D="...",E=800,L=16,U=1,F=2,W=3,B=1/0,k=9007199254740991,N=17976931348623157e292,j=NaN,Y=4294967295,_=Y-1,J=Y>>>1,Q=[["ary",T],["bind",A],["bindKey",x],["curry",b],["curryRight",v],["flip",R],["partial",S],["partialRight",w],["rearg",P]],ee="[object Arguments]",$="[object Array]",q="[object AsyncFunction]",le="[object Boolean]",ie="[object Date]",pe="[object DOMException]",ne="[object Error]",Z="[object Function]",he="[object GeneratorFunction]",fe="[object Map]",se="[object Number]",oe="[object Null]",de="[object Object]",ve="[object Promise]",Pe="[object Proxy]",me="[object RegExp]",Re="[object Set]",ze="[object String]",Ae="[object Symbol]",re="[object Undefined]",ge="[object WeakMap]",we="[object WeakSet]",ye="[object ArrayBuffer]",Te="[object DataView]",Ie="[object Float32Array]",Ce="[object Float64Array]",Ee="[object Int8Array]",Ue="[object Int16Array]",Ne="[object Int32Array]",Le="[object Uint8Array]",qe="[object Uint8ClampedArray]",We="[object Uint16Array]",De="[object Uint32Array]",Fe=/\b__p \+= '';/g,_e=/\b(__p \+=) '' \+/g,ot=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ye=/&(?:amp|lt|gt|quot|#39);/g,St=/[&<>"']/g,dt=RegExp(Ye.source),je=RegExp(St.source),at=/<%-([\s\S]+?)%>/g,ut=/<%([\s\S]+?)%>/g,wt=/<%=([\s\S]+?)%>/g,rt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qe=/^\w*$/,Oe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,vt=RegExp(et.source),ct=/^\s+/,lt=/\s/,tt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,it=/\{\n\/\* \[wrapped with (.+)\] \*/,At=/,? & /,Mt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,st=/[()=,{}\[\]\/\s]/,ft=/\\(\\)?/g,Rt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,zt=/\w*$/,Xe=/^[-+]0x[0-9a-f]+$/i,ht=/^0b[01]+$/i,Je=/^\[object .+?Constructor\]$/,mt=/^0o[0-7]+$/i,Ge=/^(?:0|[1-9]\d*)$/,xt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,It=/($^)/,Tt=/['\n\r\u2028\u2029\\]/g,Dt="\\ud800-\\udfff",Lt="\\u0300-\\u036f",Et="\\ufe20-\\ufe2f",an="\\u20d0-\\u20ff",Jt=Lt+Et+an,hn="\\u2700-\\u27bf",cn="a-z\\xdf-\\xf6\\xf8-\\xff",Sn="\\xac\\xb1\\xd7\\xf7",Pn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Un="\\u2000-\\u206f",Ai=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",vo="A-Z\\xc0-\\xd6\\xd8-\\xde",Oo="\\ufe0e\\ufe0f",li=Sn+Pn+Un+Ai,po="['’]",eo="["+Dt+"]",uo="["+li+"]",qo="["+Jt+"]",Hi="\\d+",vi="["+hn+"]",Cn="["+cn+"]",yn="[^"+Dt+li+Hi+hn+cn+vo+"]",to="\\ud83c[\\udffb-\\udfff]",Do="(?:"+qo+"|"+to+")",ni="[^"+Dt+"]",Fo="(?:\\ud83c[\\udde6-\\uddff]){2}",bo="[\\ud800-\\udbff][\\udc00-\\udfff]",Ro="["+vo+"]",oi="\\u200d",go="(?:"+Cn+"|"+yn+")",So="(?:"+Ro+"|"+yn+")",Uo="(?:"+po+"(?:d|ll|m|re|s|t|ve))?",_i="(?:"+po+"(?:D|LL|M|RE|S|T|VE))?",Qo=Do+"?",ar="["+Oo+"]?",ur="(?:"+oi+"(?:"+[ni,Fo,bo].join("|")+")"+ar+Qo+")*",$o="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ba="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Mo=ar+Qo+ur,$i="(?:"+[vi,Fo,bo].join("|")+")"+Mo,Za="(?:"+[ni+qo+"?",qo,Fo,bo,eo].join("|")+")",ti=RegExp(po,"g"),ui=RegExp(qo,"g"),Fr=RegExp(to+"(?="+to+")|"+Za+Mo,"g"),Oa=RegExp([Ro+"?"+Cn+"+"+Uo+"(?="+[uo,Ro,"$"].join("|")+")",So+"+"+_i+"(?="+[uo,Ro+go,"$"].join("|")+")",Ro+"?"+go+"+"+Uo,Ro+"+"+_i,ba,$o,Hi,$i].join("|"),"g"),Br=RegExp("["+oi+Dt+Jt+Oo+"]"),Pc=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Is=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],qs=-1,Pr={};Pr[Ie]=Pr[Ce]=Pr[Ee]=Pr[Ue]=Pr[Ne]=Pr[Le]=Pr[qe]=Pr[We]=Pr[De]=!0,Pr[ee]=Pr[$]=Pr[ye]=Pr[le]=Pr[Te]=Pr[ie]=Pr[ne]=Pr[Z]=Pr[fe]=Pr[se]=Pr[de]=Pr[me]=Pr[Re]=Pr[ze]=Pr[ge]=!1;var pa={};pa[ee]=pa[$]=pa[ye]=pa[Te]=pa[le]=pa[ie]=pa[Ie]=pa[Ce]=pa[Ee]=pa[Ue]=pa[Ne]=pa[fe]=pa[se]=pa[de]=pa[me]=pa[Re]=pa[ze]=pa[Ae]=pa[Le]=pa[qe]=pa[We]=pa[De]=!0,pa[ne]=pa[Z]=pa[ge]=!1;var Wl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Yl={"&":"&","<":"<",">":">",'"':""","'":"'"},Xu={"&":"&","<":"<",">":">",""":'"',"'":"'"},Cc={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},mu=parseFloat,sn=parseInt,qt=typeof mc=="object"&&mc&&mc.Object===Object&&mc,jt=typeof self=="object"&&self&&self.Object===Object&&self,pn=qt||jt||Function("return this")(),Tn=e&&!e.nodeType&&e,$e=Tn&&!0&&t&&!t.nodeType&&t,Pt=$e&&$e.exports===Tn,Nt=Pt&&qt.process,Ct=function(){try{var An=$e&&$e.require&&$e.require("util").types;return An||Nt&&Nt.binding&&Nt.binding("util")}catch{}}(),Bt=Ct&&Ct.isArrayBuffer,Xt=Ct&&Ct.isDate,rn=Ct&&Ct.isMap,gn=Ct&&Ct.isRegExp,mn=Ct&&Ct.isSet,vn=Ct&&Ct.isTypedArray;function kn(An,Qn,Nn){switch(Nn.length){case 0:return An.call(Qn);case 1:return An.call(Qn,Nn[0]);case 2:return An.call(Qn,Nn[0],Nn[1]);case 3:return An.call(Qn,Nn[0],Nn[1],Nn[2])}return An.apply(Qn,Nn)}function Yn(An,Qn,Nn,bi){for(var dr=-1,jr=An==null?0:An.length;++dr-1}function Kr(An,Qn,Nn){for(var bi=-1,dr=An==null?0:An.length;++bi-1;);return Nn}function Ng(An,Qn){for(var Nn=An.length;Nn--&&Y0(Qn,An[Nn],0)>-1;);return Nn}function el(An,Qn){for(var Nn=An.length,bi=0;Nn--;)An[Nn]===Qn&&++bi;return bi}var Dd=yu(Wl),wu=yu(Yl);function a5(An){return"\\"+Cc[An]}function dy(An,Qn){return An==null?n:An[Qn]}function Rh(An){return Br.test(An)}function g3(An){return Pc.test(An)}function fy(An){for(var Qn,Nn=[];!(Qn=An.next()).done;)Nn.push(Qn.value);return Nn}function m3(An){var Qn=-1,Nn=Array(An.size);return An.forEach(function(bi,dr){Nn[++Qn]=[dr,bi]}),Nn}function l5(An,Qn){return function(Nn){return An(Qn(Nn))}}function Hh(An,Qn){for(var Nn=-1,bi=An.length,dr=0,jr=[];++Nn-1}function T3(G,te){var Me=this.__data__,Ze=vp(Me,G);return Ze<0?(++this.size,Me.push([G,te])):Me[Ze][1]=te,this}Ih.prototype.clear=fS,Ih.prototype.delete=EA,Ih.prototype.get=hS,Ih.prototype.has=pS,Ih.prototype.set=T3;function xu(G){var te=-1,Me=G==null?0:G.length;for(this.clear();++te=te?G:te)),G}function nd(G,te,Me,Ze,Ht,Ot){var un,wn=te&d,Mn=te&f,mo=te&p;if(Me&&(un=Ht?Me(G,Ze,Ht,Ot):Me(G)),un!==n)return un;if(!gs(G))return G;var wo=$r(G);if(wo){if(un=$ee(G),!wn)return b0(G,un)}else{var Eo=q0(G),Si=Eo==Z||Eo==he;if(om(G))return KA(G,wn);if(Eo==de||Eo==ee||Si&&!Ht){if(un=Mn||Si?{}:sU(G),!wn)return Mn?z5(G,jA(un,G)):$A(G,BA(un,G))}else{if(!pa[Eo])return Ht?G:{};un=Qee(G,Eo,wn)}}Ot||(Ot=new Hc);var Zi=Ot.get(G);if(Zi)return Zi;Ot.set(G,un),WS(G)?G.forEach(function(Ir){un.add(nd(Ir,te,Me,Ir,G,Ot))}):nB(G)&&G.forEach(function(Ir,Na){un.set(Na,nd(Ir,te,Me,Na,G,Ot))});var Mr=mo?Mn?Sa:Wa:Mn?R0:C0,Ta=wo?n:Mr(G);return Wn(Ta||G,function(Ir,Na){Ta&&(Na=Ir,Ir=G[Na]),td(un,Na,nd(Ir,te,Me,Na,G,Ot))}),un}function YA(G){var te=C0(G);return function(Me){return C3(Me,G,te)}}function C3(G,te,Me){var Ze=Me.length;if(G==null)return!Ze;for(G=br(G);Ze--;){var Ht=Me[Ze],Ot=te[Ht],un=G[Ht];if(un===n&&!(Ht in G)||!Ot(un))return!1}return!0}function OA(G,te,Me){if(typeof G!="function")throw new _0(a);return h8(function(){G.apply(n,Me)},te)}function Gg(G,te,Me,Ze){var Ht=-1,Ot=lr,un=!0,wn=G.length,Mn=[],mo=te.length;if(!wn)return Mn;Me&&(te=Vi(te,Au(Me))),Ze?(Ot=Kr,un=!1):te.length>=i&&(Ot=$s,un=!1,te=new m1(te));e:for(;++HtHt?0:Ht+Me),Ze=Ze===n||Ze>Ht?Ht:Gr(Ze),Ze<0&&(Ze+=Ht),Ze=Me>Ze?0:US(Ze);Me0&&Me(wn)?te>1?Mc(wn,te-1,Me,Ze,Ht):ga(Ht,wn):Ze||(Ht[Ht.length]=wn)}return Ht}var S5=QA(),Ld=QA(!0);function bu(G,te){return G&&S5(G,te,C0)}function T5(G,te){return G&&Ld(G,te,C0)}function Wd(G,te){return Jo(te,function(Me){return im(G[Me])})}function zf(G,te){te=x1(te,G);for(var Me=0,Ze=te.length;G!=null&&Mete}function Xg(G,te){return G!=null&&La.call(G,te)}function VA(G,te){return G!=null&&te in br(G)}function vy(G,te,Me){return G>=V0(te,Me)&&G=120&&wo.length>=120)?new m1(un&&wo):n}wo=G[0];var Eo=-1,Si=wn[0];e:for(;++Eo-1;)wn!==G&&Qu.call(wn,Mn,1),Qu.call(G,Mn,1);return G}function v0(G,te){for(var Me=G?te.length:0,Ze=Me-1;Me--;){var Ht=te[Me];if(Me==Ze||Ht!==Ot){var Ot=Ht;Dy(Ht)?Qu.call(G,Ht,1):Ry(G,Ht)}}return G}function Df(G,te){return G+y5(x3()*(te-G+1))}function rd(G,te,Me,Ze){for(var Ht=-1,Ot=Kc(m5((te-G)/(Me||1)),0),un=Nn(Ot);Ot--;)un[Ze?Ot:++Ht]=G,G+=Me;return un}function qg(G,te){var Me="";if(!G||te<1||te>k)return Me;do te%2&&(Me+=G),te=y5(te/2),te&&(G+=G);while(te);return Me}function Qi(G,te){return UM(WM(G,te,Pu),G+"")}function c8(G){return Vg(ky(G))}function D3(G,te){var Me=ky(G);return wS(Me,w0(te,0,Me.length))}function Py(G,te,Me,Ze){if(!gs(G))return G;te=x1(te,G);for(var Ht=-1,Ot=te.length,un=Ot-1,wn=G;wn!=null&&++HtHt?0:Ht+te),Me=Me>Ht?Ht:Me,Me<0&&(Me+=Ht),Ht=te>Me?0:Me-te>>>0,te>>>=0;for(var Ot=Nn(Ht);++Ze>>1,un=G[Ot];un!==null&&!T0(un)&&(Me?un<=te:un=i){var mo=te?null:S0(G);if(mo)return y3(mo);un=!1,Ht=$s,Mn=new m1}else Mn=te?[]:wn;e:for(;++Ze=Ze?G:J0(G,te,Me)}var k3=g5||function(G){return pn.clearTimeout(G)};function KA(G,te){if(te)return G.slice();var Me=G.length,Ze=Yg?Yg(Me):new G.constructor(Me);return G.copy(Ze),Ze}function Zg(G){var te=new G.constructor(G.byteLength);return new f5(te).set(new f5(G)),te}function qA(G,te){var Me=te?Zg(G.buffer):G.buffer;return new G.constructor(Me,G.byteOffset,G.byteLength)}function kf(G){var te=new G.constructor(G.source,zt.exec(G));return te.lastIndex=G.lastIndex,te}function Dh(G){return Mh?br(Mh.call(G)):{}}function em(G,te){var Me=te?Zg(G.buffer):G.buffer;return new G.constructor(Me,G.byteOffset,G.length)}function Bd(G,te){if(G!==te){var Me=G!==n,Ze=G===null,Ht=G===G,Ot=T0(G),un=te!==n,wn=te===null,Mn=te===te,mo=T0(te);if(!wn&&!mo&&!Ot&&G>te||Ot&&un&&Mn&&!wn&&!mo||Ze&&un&&Mn||!Me&&Mn||!Ht)return 1;if(!Ze&&!Ot&&!mo&&G=wn)return Mn;var mo=Me[Ze];return Mn*(mo=="desc"?-1:1)}}return G.index-te.index}function tm(G,te,Me,Ze){for(var Ht=-1,Ot=G.length,un=Me.length,wn=-1,Mn=te.length,mo=Kc(Ot-un,0),wo=Nn(Mn+mo),Eo=!Ze;++wn1?Me[Ht-1]:n,un=Ht>2?Me[2]:n;for(Ot=G.length>3&&typeof Ot=="function"?(Ht--,Ot):n,un&&Od(Me[0],Me[1],un)&&(Ot=Ht<3?n:Ot,Ht=1),te=br(te);++Ze-1?Ht[Ot?te[un]:un]:n}}function Ke(G){return ea(function(te){var Me=te.length,Ze=Me,Ht=G0.prototype.thru;for(G&&te.reverse();Ze--;){var Ot=te[Ze];if(typeof Ot!="function")throw new _0(a);if(Ht&&!un&&ZA(Ot)=="wrapper")var un=new G0([],!0)}for(Ze=un?Ze:Me;++Ze1&&ol.reverse(),wo&&Mnwn))return!1;var mo=Ot.get(G),wo=Ot.get(te);if(mo&&wo)return mo==te&&wo==G;var Eo=-1,Si=!0,Zi=Me&y?new m1:n;for(Ot.set(G,te),Ot.set(te,G);++Eo1?"& ":"")+te[Ze],te=te.join(Me>2?", ":" "),G.replace(tt,`{ + */_G.exports;(function(t,e){(function(){var n,o="4.17.21",i=200,r="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",l="Invalid `variable` option passed into `_.template`",s="__lodash_hash_undefined__",c=500,u="__lodash_placeholder__",d=1,f=2,p=4,g=1,y=2,A=1,x=2,C=4,b=8,v=16,S=32,w=64,T=128,P=256,R=512,H=30,D="...",E=800,L=16,U=1,F=2,W=3,B=1/0,k=9007199254740991,N=17976931348623157e292,j=NaN,Y=4294967295,_=Y-1,J=Y>>>1,Q=[["ary",T],["bind",A],["bindKey",x],["curry",b],["curryRight",v],["flip",R],["partial",S],["partialRight",w],["rearg",P]],ee="[object Arguments]",$="[object Array]",q="[object AsyncFunction]",le="[object Boolean]",ie="[object Date]",pe="[object DOMException]",ne="[object Error]",Z="[object Function]",he="[object GeneratorFunction]",fe="[object Map]",se="[object Number]",oe="[object Null]",de="[object Object]",ve="[object Promise]",Pe="[object Proxy]",me="[object RegExp]",Re="[object Set]",ze="[object String]",Ae="[object Symbol]",re="[object Undefined]",ge="[object WeakMap]",we="[object WeakSet]",ye="[object ArrayBuffer]",Te="[object DataView]",Ie="[object Float32Array]",Ce="[object Float64Array]",Ee="[object Int8Array]",Ue="[object Int16Array]",Ne="[object Int32Array]",Le="[object Uint8Array]",qe="[object Uint8ClampedArray]",We="[object Uint16Array]",De="[object Uint32Array]",Fe=/\b__p \+= '';/g,_e=/\b(__p \+=) '' \+/g,ot=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ye=/&(?:amp|lt|gt|quot|#39);/g,St=/[&<>"']/g,dt=RegExp(Ye.source),je=RegExp(St.source),at=/<%-([\s\S]+?)%>/g,ut=/<%([\s\S]+?)%>/g,wt=/<%=([\s\S]+?)%>/g,rt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qe=/^\w*$/,Oe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,vt=RegExp(et.source),ct=/^\s+/,lt=/\s/,tt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,it=/\{\n\/\* \[wrapped with (.+)\] \*/,At=/,? & /,Mt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,st=/[()=,{}\[\]\/\s]/,ft=/\\(\\)?/g,Rt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,zt=/\w*$/,Xe=/^[-+]0x[0-9a-f]+$/i,ht=/^0b[01]+$/i,Je=/^\[object .+?Constructor\]$/,mt=/^0o[0-7]+$/i,Ge=/^(?:0|[1-9]\d*)$/,xt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,It=/($^)/,Tt=/['\n\r\u2028\u2029\\]/g,Dt="\\ud800-\\udfff",Lt="\\u0300-\\u036f",Et="\\ufe20-\\ufe2f",an="\\u20d0-\\u20ff",Jt=Lt+Et+an,hn="\\u2700-\\u27bf",cn="a-z\\xdf-\\xf6\\xf8-\\xff",Sn="\\xac\\xb1\\xd7\\xf7",Pn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Un="\\u2000-\\u206f",Ai=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",vo="A-Z\\xc0-\\xd6\\xd8-\\xde",Oo="\\ufe0e\\ufe0f",li=Sn+Pn+Un+Ai,po="['’]",eo="["+Dt+"]",uo="["+li+"]",qo="["+Jt+"]",Hi="\\d+",vi="["+hn+"]",Cn="["+cn+"]",yn="[^"+Dt+li+Hi+hn+cn+vo+"]",to="\\ud83c[\\udffb-\\udfff]",Do="(?:"+qo+"|"+to+")",ni="[^"+Dt+"]",Fo="(?:\\ud83c[\\udde6-\\uddff]){2}",bo="[\\ud800-\\udbff][\\udc00-\\udfff]",Ro="["+vo+"]",oi="\\u200d",go="(?:"+Cn+"|"+yn+")",So="(?:"+Ro+"|"+yn+")",Uo="(?:"+po+"(?:d|ll|m|re|s|t|ve))?",_i="(?:"+po+"(?:D|LL|M|RE|S|T|VE))?",Qo=Do+"?",ar="["+Oo+"]?",ur="(?:"+oi+"(?:"+[ni,Fo,bo].join("|")+")"+ar+Qo+")*",$o="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ba="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Mo=ar+Qo+ur,$i="(?:"+[vi,Fo,bo].join("|")+")"+Mo,Za="(?:"+[ni+qo+"?",qo,Fo,bo,eo].join("|")+")",ti=RegExp(po,"g"),ui=RegExp(qo,"g"),Fr=RegExp(to+"(?="+to+")|"+Za+Mo,"g"),Oa=RegExp([Ro+"?"+Cn+"+"+Uo+"(?="+[uo,Ro,"$"].join("|")+")",So+"+"+_i+"(?="+[uo,Ro+go,"$"].join("|")+")",Ro+"?"+go+"+"+Uo,Ro+"+"+_i,ba,$o,Hi,$i].join("|"),"g"),Br=RegExp("["+oi+Dt+Jt+Oo+"]"),Pc=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Is=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],qs=-1,Pr={};Pr[Ie]=Pr[Ce]=Pr[Ee]=Pr[Ue]=Pr[Ne]=Pr[Le]=Pr[qe]=Pr[We]=Pr[De]=!0,Pr[ee]=Pr[$]=Pr[ye]=Pr[le]=Pr[Te]=Pr[ie]=Pr[ne]=Pr[Z]=Pr[fe]=Pr[se]=Pr[de]=Pr[me]=Pr[Re]=Pr[ze]=Pr[ge]=!1;var pa={};pa[ee]=pa[$]=pa[ye]=pa[Te]=pa[le]=pa[ie]=pa[Ie]=pa[Ce]=pa[Ee]=pa[Ue]=pa[Ne]=pa[fe]=pa[se]=pa[de]=pa[me]=pa[Re]=pa[ze]=pa[Ae]=pa[Le]=pa[qe]=pa[We]=pa[De]=!0,pa[ne]=pa[Z]=pa[ge]=!1;var Wl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Yl={"&":"&","<":"<",">":">",'"':""","'":"'"},Xu={"&":"&","<":"<",">":">",""":'"',"'":"'"},Cc={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},mu=parseFloat,sn=parseInt,qt=typeof mc=="object"&&mc&&mc.Object===Object&&mc,jt=typeof self=="object"&&self&&self.Object===Object&&self,pn=qt||jt||Function("return this")(),Tn=e&&!e.nodeType&&e,$e=Tn&&!0&&t&&!t.nodeType&&t,Pt=$e&&$e.exports===Tn,Nt=Pt&&qt.process,Ct=function(){try{var An=$e&&$e.require&&$e.require("util").types;return An||Nt&&Nt.binding&&Nt.binding("util")}catch{}}(),Bt=Ct&&Ct.isArrayBuffer,Xt=Ct&&Ct.isDate,rn=Ct&&Ct.isMap,gn=Ct&&Ct.isRegExp,mn=Ct&&Ct.isSet,vn=Ct&&Ct.isTypedArray;function kn(An,Qn,Nn){switch(Nn.length){case 0:return An.call(Qn);case 1:return An.call(Qn,Nn[0]);case 2:return An.call(Qn,Nn[0],Nn[1]);case 3:return An.call(Qn,Nn[0],Nn[1],Nn[2])}return An.apply(Qn,Nn)}function Yn(An,Qn,Nn,bi){for(var dr=-1,jr=An==null?0:An.length;++dr-1}function Kr(An,Qn,Nn){for(var bi=-1,dr=An==null?0:An.length;++bi-1;);return Nn}function Ng(An,Qn){for(var Nn=An.length;Nn--&&Y0(Qn,An[Nn],0)>-1;);return Nn}function el(An,Qn){for(var Nn=An.length,bi=0;Nn--;)An[Nn]===Qn&&++bi;return bi}var Dd=yu(Wl),wu=yu(Yl);function a5(An){return"\\"+Cc[An]}function dy(An,Qn){return An==null?n:An[Qn]}function Rh(An){return Br.test(An)}function g3(An){return Pc.test(An)}function fy(An){for(var Qn,Nn=[];!(Qn=An.next()).done;)Nn.push(Qn.value);return Nn}function m3(An){var Qn=-1,Nn=Array(An.size);return An.forEach(function(bi,dr){Nn[++Qn]=[dr,bi]}),Nn}function l5(An,Qn){return function(Nn){return An(Qn(Nn))}}function Hh(An,Qn){for(var Nn=-1,bi=An.length,dr=0,jr=[];++Nn-1}function T3(G,te){var Me=this.__data__,Ze=vp(Me,G);return Ze<0?(++this.size,Me.push([G,te])):Me[Ze][1]=te,this}Ih.prototype.clear=fS,Ih.prototype.delete=EA,Ih.prototype.get=hS,Ih.prototype.has=pS,Ih.prototype.set=T3;function xu(G){var te=-1,Me=G==null?0:G.length;for(this.clear();++te=te?G:te)),G}function nd(G,te,Me,Ze,Ht,Ot){var un,wn=te&d,Mn=te&f,mo=te&p;if(Me&&(un=Ht?Me(G,Ze,Ht,Ot):Me(G)),un!==n)return un;if(!gs(G))return G;var wo=$r(G);if(wo){if(un=$ee(G),!wn)return b0(G,un)}else{var Eo=q0(G),Si=Eo==Z||Eo==he;if(om(G))return KA(G,wn);if(Eo==de||Eo==ee||Si&&!Ht){if(un=Mn||Si?{}:sU(G),!wn)return Mn?z5(G,jA(un,G)):$A(G,BA(un,G))}else{if(!pa[Eo])return Ht?G:{};un=Qee(G,Eo,wn)}}Ot||(Ot=new Hc);var Zi=Ot.get(G);if(Zi)return Zi;Ot.set(G,un),WS(G)?G.forEach(function(Ir){un.add(nd(Ir,te,Me,Ir,G,Ot))}):nB(G)&&G.forEach(function(Ir,Na){un.set(Na,nd(Ir,te,Me,Na,G,Ot))});var Mr=mo?Mn?Sa:Wa:Mn?R0:C0,Ta=wo?n:Mr(G);return Wn(Ta||G,function(Ir,Na){Ta&&(Na=Ir,Ir=G[Na]),td(un,Na,nd(Ir,te,Me,Na,G,Ot))}),un}function YA(G){var te=C0(G);return function(Me){return C3(Me,G,te)}}function C3(G,te,Me){var Ze=Me.length;if(G==null)return!Ze;for(G=br(G);Ze--;){var Ht=Me[Ze],Ot=te[Ht],un=G[Ht];if(un===n&&!(Ht in G)||!Ot(un))return!1}return!0}function OA(G,te,Me){if(typeof G!="function")throw new _0(a);return h8(function(){G.apply(n,Me)},te)}function Gg(G,te,Me,Ze){var Ht=-1,Ot=lr,un=!0,wn=G.length,Mn=[],mo=te.length;if(!wn)return Mn;Me&&(te=Vi(te,Au(Me))),Ze?(Ot=Kr,un=!1):te.length>=i&&(Ot=$s,un=!1,te=new y1(te));e:for(;++HtHt?0:Ht+Me),Ze=Ze===n||Ze>Ht?Ht:Gr(Ze),Ze<0&&(Ze+=Ht),Ze=Me>Ze?0:US(Ze);Me0&&Me(wn)?te>1?Mc(wn,te-1,Me,Ze,Ht):ga(Ht,wn):Ze||(Ht[Ht.length]=wn)}return Ht}var S5=QA(),Ld=QA(!0);function bu(G,te){return G&&S5(G,te,C0)}function T5(G,te){return G&&Ld(G,te,C0)}function Wd(G,te){return Jo(te,function(Me){return im(G[Me])})}function zf(G,te){te=b1(te,G);for(var Me=0,Ze=te.length;G!=null&&Mete}function Xg(G,te){return G!=null&&La.call(G,te)}function VA(G,te){return G!=null&&te in br(G)}function vy(G,te,Me){return G>=V0(te,Me)&&G=120&&wo.length>=120)?new y1(un&&wo):n}wo=G[0];var Eo=-1,Si=wn[0];e:for(;++Eo-1;)wn!==G&&Qu.call(wn,Mn,1),Qu.call(G,Mn,1);return G}function v0(G,te){for(var Me=G?te.length:0,Ze=Me-1;Me--;){var Ht=te[Me];if(Me==Ze||Ht!==Ot){var Ot=Ht;Dy(Ht)?Qu.call(G,Ht,1):Ry(G,Ht)}}return G}function Df(G,te){return G+y5(x3()*(te-G+1))}function rd(G,te,Me,Ze){for(var Ht=-1,Ot=Kc(m5((te-G)/(Me||1)),0),un=Nn(Ot);Ot--;)un[Ze?Ot:++Ht]=G,G+=Me;return un}function qg(G,te){var Me="";if(!G||te<1||te>k)return Me;do te%2&&(Me+=G),te=y5(te/2),te&&(G+=G);while(te);return Me}function Qi(G,te){return UM(WM(G,te,Pu),G+"")}function c8(G){return Vg(ky(G))}function D3(G,te){var Me=ky(G);return wS(Me,w0(te,0,Me.length))}function Py(G,te,Me,Ze){if(!gs(G))return G;te=b1(te,G);for(var Ht=-1,Ot=te.length,un=Ot-1,wn=G;wn!=null&&++HtHt?0:Ht+te),Me=Me>Ht?Ht:Me,Me<0&&(Me+=Ht),Ht=te>Me?0:Me-te>>>0,te>>>=0;for(var Ot=Nn(Ht);++Ze>>1,un=G[Ot];un!==null&&!T0(un)&&(Me?un<=te:un=i){var mo=te?null:S0(G);if(mo)return y3(mo);un=!1,Ht=$s,Mn=new y1}else Mn=te?[]:wn;e:for(;++Ze=Ze?G:J0(G,te,Me)}var k3=g5||function(G){return pn.clearTimeout(G)};function KA(G,te){if(te)return G.slice();var Me=G.length,Ze=Yg?Yg(Me):new G.constructor(Me);return G.copy(Ze),Ze}function Zg(G){var te=new G.constructor(G.byteLength);return new f5(te).set(new f5(G)),te}function qA(G,te){var Me=te?Zg(G.buffer):G.buffer;return new G.constructor(Me,G.byteOffset,G.byteLength)}function kf(G){var te=new G.constructor(G.source,zt.exec(G));return te.lastIndex=G.lastIndex,te}function Dh(G){return Mh?br(Mh.call(G)):{}}function em(G,te){var Me=te?Zg(G.buffer):G.buffer;return new G.constructor(Me,G.byteOffset,G.length)}function Bd(G,te){if(G!==te){var Me=G!==n,Ze=G===null,Ht=G===G,Ot=T0(G),un=te!==n,wn=te===null,Mn=te===te,mo=T0(te);if(!wn&&!mo&&!Ot&&G>te||Ot&&un&&Mn&&!wn&&!mo||Ze&&un&&Mn||!Me&&Mn||!Ht)return 1;if(!Ze&&!Ot&&!mo&&G=wn)return Mn;var mo=Me[Ze];return Mn*(mo=="desc"?-1:1)}}return G.index-te.index}function tm(G,te,Me,Ze){for(var Ht=-1,Ot=G.length,un=Me.length,wn=-1,Mn=te.length,mo=Kc(Ot-un,0),wo=Nn(Mn+mo),Eo=!Ze;++wn1?Me[Ht-1]:n,un=Ht>2?Me[2]:n;for(Ot=G.length>3&&typeof Ot=="function"?(Ht--,Ot):n,un&&Od(Me[0],Me[1],un)&&(Ot=Ht<3?n:Ot,Ht=1),te=br(te);++Ze-1?Ht[Ot?te[un]:un]:n}}function Ke(G){return ea(function(te){var Me=te.length,Ze=Me,Ht=G0.prototype.thru;for(G&&te.reverse();Ze--;){var Ot=te[Ze];if(typeof Ot!="function")throw new _0(a);if(Ht&&!un&&ZA(Ot)=="wrapper")var un=new G0([],!0)}for(Ze=un?Ze:Me;++Ze1&&ol.reverse(),wo&&Mnwn))return!1;var mo=Ot.get(G),wo=Ot.get(te);if(mo&&wo)return mo==te&&wo==G;var Eo=-1,Si=!0,Zi=Me&y?new y1:n;for(Ot.set(G,te),Ot.set(te,G);++Eo1?"& ":"")+te[Ze],te=te.join(Me>2?", ":" "),G.replace(tt,`{ /* [wrapped with `+te+`] */ -`)}function ete(G){return $r(G)||E5(G)||!!(p5&&G&&G[p5])}function Dy(G,te){var Me=typeof G;return te=te??k,!!te&&(Me=="number"||Me!="symbol"&&Ge.test(G))&&G>-1&&G%1==0&&G0){if(++te>=E)return arguments[0]}else te=0;return G.apply(n,arguments)}}function wS(G,te){var Me=-1,Ze=G.length,Ht=Ze-1;for(te=te===n?Ze:te;++Me1?G[te-1]:n;return Me=typeof Me=="function"?(G.pop(),Me):n,kU(G,Me)});function U3(G){var te=Wt(G);return te.__chain__=!0,te}function Rte(G,te){return te(G),G}function Ey(G,te){return te(G)}var Hte=ea(function(G){var te=G.length,Me=te?G[0]:0,Ze=this.__wrapped__,Ht=function(Ot){return x5(Ot,G)};return te>1||this.__actions__.length||!(Ze instanceof fr)||!Dy(Me)?this.thru(Ht):(Ze=Ze.slice(Me,+Me+(te?1:0)),Ze.__actions__.push({func:Ey,args:[Ht],thisArg:n}),new G0(Ze,this.__chain__).thru(function(Ot){return te&&!Ot.length&&Ot.push(n),Ot}))});function $M(){return U3(this)}function Mte(){return new G0(this.value(),this.__chain__)}function QM(){this.__values__===n&&(this.__values__=TI(this.value()));var G=this.__index__>=this.__values__.length,te=G?n:this.__values__[this.__index__++];return{done:G,value:te}}function Ite(){return this}function zte(G){for(var te,Me=this;Me instanceof S3;){var Ze=jM(Me);Ze.__index__=0,Ze.__values__=n,te?Ht.__wrapped__=Ze:te=Ze;var Ht=Ze;Me=Me.__wrapped__}return Ht.__wrapped__=G,te}function Dte(){var G=this.__wrapped__;if(G instanceof fr){var te=G;return this.__actions__.length&&(te=new fr(this)),te=te.reverse(),te.__actions__.push({func:Ey,args:[p8],thisArg:n}),new G0(te,this.__chain__)}return this.thru(p8)}function CS(){return $g(this.__wrapped__,this.__actions__)}var RS=D5(function(G,te,Me){La.call(G,Me)?++G[Me]:zh(G,Me,1)});function LU(G,te,Me){var Ze=$r(G)?Xn:_A;return Me&&Od(G,te,Me)&&(te=n),Ze(G,yr(te,3))}function Ete(G,te){var Me=$r(G)?Jo:y1;return Me(G,yr(te,3))}var WU=ke(xS),ZM=ke(bS);function NU(G,te){return Mc(MS(G,te),1)}function eI(G,te){return Mc(MS(G,te),B)}function tI(G,te,Me){return Me=Me===n?1:Gr(Me),Mc(MS(G,te),Me)}function nI(G,te){var Me=$r(G)?Wn:od;return Me(G,yr(te,3))}function oI(G,te){var Me=$r(G)?qn:b5;return Me(G,yr(te,3))}var kte=D5(function(G,te,Me){La.call(G,Me)?G[Me].push(te):zh(G,Me,[te])});function UU(G,te,Me,Ze){G=ad(G)?G:ky(G),Me=Me&&!Ze?Gr(Me):0;var Ht=G.length;return Me<0&&(Me=Kc(Ht+Me,0)),NS(G)?Me<=Ht&&G.indexOf(te,Me)>-1:!!Ht&&Y0(G,te,Me)>-1}var HS=Qi(function(G,te,Me){var Ze=-1,Ht=typeof te=="function",Ot=ad(G)?Nn(G.length):[];return od(G,function(un){Ot[++Ze]=Ht?kn(te,un,Me):Vl(un,te,Me)}),Ot}),Fte=D5(function(G,te,Me){zh(G,Me,te)});function MS(G,te){var Me=$r(G)?Vi:A1;return Me(G,yr(te,3))}function Lte(G,te,Me,Ze){return G==null?[]:($r(te)||(te=te==null?[]:[te]),Me=Ze?n:Me,$r(Me)||(Me=Me==null?[]:[Me]),R5(G,te,Me))}var BU=D5(function(G,te,Me){G[Me?0:1].push(te)},function(){return[[],[]]});function jU(G,te,Me){var Ze=$r(G)?vs:u1,Ht=arguments.length<3;return Ze(G,yr(te,4),Me,Ht,od)}function iI(G,te,Me){var Ze=$r(G)?Ju:u1,Ht=arguments.length<3;return Ze(G,yr(te,4),Me,Ht,b5)}function Wte(G,te){var Me=$r(G)?Jo:y1;return Me(G,i4(yr(te,3)))}function Nte(G){var te=$r(G)?Vg:c8;return te(G)}function rI(G,te,Me){(Me?Od(G,te,Me):te===n)?te=1:te=Gr(te);var Ze=$r(G)?v5:D3;return Ze(G,te)}function Ute(G){var te=$r(G)?s8:XA;return te(G)}function aI(G){if(G==null)return 0;if(ad(G))return NS(G)?Xc(G):G.length;var te=q0(G);return te==fe||te==Re?G.size:Gl(G).length}function Bte(G,te,Me){var Ze=$r(G)?Ku:E3;return Me&&Od(G,te,Me)&&(te=n),Ze(G,yr(te,3))}var IS=Qi(function(G,te){if(G==null)return[];var Me=te.length;return Me>1&&Od(G,te[0],te[1])?te=[]:Me>2&&Od(te[0],te[1],te[2])&&(te=[te[0]]),R5(G,Mc(te,1),[])}),w8=my||function(){return pn.Date.now()};function YU(G,te){if(typeof te!="function")throw new _0(a);return G=Gr(G),function(){if(--G<1)return te.apply(this,arguments)}}function lI(G,te,Me){return te=Me?n:te,te=G&&te==null?G.length:te,Dn(G,T,n,n,n,n,te)}function v8(G,te){var Me;if(typeof te!="function")throw new _0(a);return G=Gr(G),function(){return--G>0&&(Me=te.apply(this,arguments)),G<=1&&(te=n),Me}}var x8=Qi(function(G,te,Me){var Ze=A;if(Me.length){var Ht=Hh(Me,e4(x8));Ze|=S}return Dn(G,Ze,te,Me,Ht)}),OU=Qi(function(G,te,Me){var Ze=A|x;if(Me.length){var Ht=Hh(Me,e4(OU));Ze|=S}return Dn(te,Ze,G,Me,Ht)});function _U(G,te,Me){te=Me?n:te;var Ze=Dn(G,b,n,n,n,n,n,te);return Ze.placeholder=_U.placeholder,Ze}function sI(G,te,Me){te=Me?n:te;var Ze=Dn(G,v,n,n,n,n,n,te);return Ze.placeholder=sI.placeholder,Ze}function zS(G,te,Me){var Ze,Ht,Ot,un,wn,Mn,mo=0,wo=!1,Eo=!1,Si=!0;if(typeof G!="function")throw new _0(a);te=$c(te)||0,gs(Me)&&(wo=!!Me.leading,Eo="maxWait"in Me,Ot=Eo?Kc($c(Me.maxWait)||0,te):Ot,Si="trailing"in Me?!!Me.trailing:Si);function Zi(H0){var Ly=Ze,Y3=Ht;return Ze=Ht=n,mo=H0,un=G.apply(Y3,Ly),un}function Mr(H0){return mo=H0,wn=h8(Na,te),wo?Zi(H0):un}function Ta(H0){var Ly=H0-Mn,Y3=H0-mo,Z3e=te-Ly;return Eo?V0(Z3e,Ot-Y3):Z3e}function Ir(H0){var Ly=H0-Mn,Y3=H0-mo;return Mn===n||Ly>=te||Ly<0||Eo&&Y3>=Ot}function Na(){var H0=w8();if(Ir(H0))return ol(H0);wn=h8(Na,Ta(H0))}function ol(H0){return wn=n,Si&&Ze?Zi(H0):(Ze=Ht=n,un)}function P1(){wn!==n&&k3(wn),mo=0,Ze=Mn=Ht=wn=n}function Fh(){return wn===n?un:ol(w8())}function C1(){var H0=w8(),Ly=Ir(H0);if(Ze=arguments,Ht=this,Mn=H0,Ly){if(wn===n)return Mr(Mn);if(Eo)return k3(wn),wn=h8(Na,te),Zi(Mn)}return wn===n&&(wn=h8(Na,te)),un}return C1.cancel=P1,C1.flush=Fh,C1}var VU=Qi(function(G,te){return OA(G,1,te)}),GU=Qi(function(G,te,Me){return OA(G,$c(te)||0,Me)});function cI(G){return Dn(G,R)}function b8(G,te){if(typeof G!="function"||te!=null&&typeof te!="function")throw new _0(a);var Me=function(){var Ze=arguments,Ht=te?te.apply(this,Ze):Ze[0],Ot=Me.cache;if(Ot.has(Ht))return Ot.get(Ht);var un=G.apply(this,Ze);return Me.cache=Ot.set(Ht,un)||Ot,un};return Me.cache=new(b8.Cache||xu),Me}b8.Cache=xu;function i4(G){if(typeof G!="function")throw new _0(a);return function(){var te=arguments;switch(te.length){case 0:return!G.call(this);case 1:return!G.call(this,te[0]);case 2:return!G.call(this,te[0],te[1]);case 3:return!G.call(this,te[0],te[1],te[2])}return!G.apply(this,te)}}function DS(G){return v8(2,G)}var XU=d8(function(G,te){te=te.length==1&&$r(te[0])?Vi(te[0],Au(yr())):Vi(Mc(te,1),Au(yr()));var Me=te.length;return Qi(function(Ze){for(var Ht=-1,Ot=V0(Ze.length,Me);++Ht=te}),E5=Cr(function(){return arguments}())?Cr:function(G){return Dc(G)&&La.call(G,"callee")&&!h5.call(G,"callee")},$r=Nn.isArray,Vte=Bt?Au(Bt):Ic;function ad(G){return G!=null&&kS(G.length)&&!im(G)}function zc(G){return Dc(G)&&ad(G)}function a4(G){return G===!0||G===!1||Dc(G)&&xs(G)==le}var om=CA||Al,Gte=Xt?Au(Xt):tl;function ES(G){return Dc(G)&&G.nodeType===1&&!P8(G)}function pI(G){if(G==null)return!0;if(ad(G)&&($r(G)||typeof G=="string"||typeof G.splice=="function"||om(G)||rm(G)||E5(G)))return!G.length;var te=q0(G);if(te==fe||te==Re)return!G.size;if(f8(G))return!Gl(G).length;for(var Me in G)if(La.call(G,Me))return!1;return!0}function Xte(G,te){return Fs(G,te)}function gI(G,te,Me){Me=typeof Me=="function"?Me:n;var Ze=Me?Me(G,te):n;return Ze===n?Fs(G,te,n,Me):!!Ze}function S8(G){if(!Dc(G))return!1;var te=xs(G);return te==ne||te==pe||typeof G.message=="string"&&typeof G.name=="string"&&!P8(G)}function eB(G){return typeof G=="number"&&Z7(G)}function im(G){if(!gs(G))return!1;var te=xs(G);return te==Z||te==he||te==q||te==Pe}function tB(G){return typeof G=="number"&&G==Gr(G)}function kS(G){return typeof G=="number"&&G>-1&&G%1==0&&G<=k}function gs(G){var te=typeof G;return G!=null&&(te=="object"||te=="function")}function Dc(G){return G!=null&&typeof G=="object"}var nB=rn?Au(rn):Nd;function kh(G,te){return G===te||Zs(G,te,zM(te))}function mI(G,te,Me){return Me=typeof Me=="function"?Me:n,Zs(G,te,zM(te),Me)}function yI(G){return FS(G)&&G!=+G}function AI(G){if(ote(G))throw new dr(r);return bp(G)}function T8(G){return G===null}function wI(G){return G==null}function FS(G){return typeof G=="number"||Dc(G)&&xs(G)==se}function P8(G){if(!Dc(G)||xs(G)!=de)return!1;var te=Qs(G);if(te===null)return!0;var Me=La.call(te,"constructor")&&te.constructor;return typeof Me=="function"&&Me instanceof Me&&c5.call(Me)==jg}var LS=gn?Au(gn):id;function vI(G){return tB(G)&&G>=-k&&G<=k}var WS=mn?Au(mn):R3;function NS(G){return typeof G=="string"||!$r(G)&&Dc(G)&&xs(G)==ze}function T0(G){return typeof G=="symbol"||Dc(G)&&xs(G)==Ae}var rm=vn?Au(vn):H3;function oB(G){return G===n}function iB(G){return Dc(G)&&q0(G)==ge}function xI(G){return Dc(G)&&xs(G)==we}var bI=Ji(M3),SI=Ji(function(G,te){return G<=te});function TI(G){if(!G)return[];if(ad(G))return NS(G)?hs(G):b0(G);if(kd&&G[kd])return fy(G[kd]());var te=q0(G),Me=te==fe?m3:te==Re?y3:ky;return Me(G)}function ld(G){if(!G)return G===0?G:0;if(G=$c(G),G===B||G===-B){var te=G<0?-1:1;return te*N}return G===G?G:0}function Gr(G){var te=ld(G),Me=te%1;return te===te?Me?te-Me:te:0}function US(G){return G?w0(Gr(G),0,Y):0}function $c(G){if(typeof G=="number")return G;if(T0(G))return j;if(gs(G)){var te=typeof G.valueOf=="function"?G.valueOf():G;G=gs(te)?te+"":te}if(typeof G!="string")return G===0?G:+G;G=p3(G);var Me=ht.test(G);return Me||mt.test(G)?sn(G.slice(2),Me?2:8):Xe.test(G)?j:+G}function rB(G){return jd(G,R0(G))}function Jte(G){return G?w0(Gr(G),-k,k):G===0?G:0}function nl(G){return G==null?"":x0(G)}var C8=Sp(function(G,te){if(f8(te)||ad(te)){jd(te,C0(te),G);return}for(var Me in te)La.call(te,Me)&&td(G,Me,te[Me])}),PI=Sp(function(G,te){jd(te,R0(te),G)}),R8=Sp(function(G,te,Me,Ze){jd(te,R0(te),G,Ze)}),aB=Sp(function(G,te,Me,Ze){jd(te,C0(te),G,Ze)}),lB=ea(x5);function P0(G,te){var Me=g1(G);return te==null?Me:BA(Me,te)}var Kte=Qi(function(G,te){G=br(G);var Me=-1,Ze=te.length,Ht=Ze>2?te[2]:n;for(Ht&&Od(te[0],te[1],Ht)&&(Ze=1);++Me1),Ot}),jd(G,Sa(G),Me),Ze&&(Me=nd(Me,d|f|p,xi));for(var Ht=te.length;Ht--;)Ry(Me,te[Ht]);return Me});function nne(G,te){return pB(G,i4(yr(te)))}var DI=ea(function(G,te){return G==null?{}:Sy(G,te)});function pB(G,te){if(G==null)return{};var Me=Vi(Sa(G),function(Ze){return[Ze]});return te=yr(te),Ty(G,Me,function(Ze,Ht){return te(Ze,Ht[0])})}function gB(G,te,Me){te=x1(te,G);var Ze=-1,Ht=te.length;for(Ht||(Ht=1,G=n);++Zete){var Ze=G;G=te,te=Ze}if(Me||G%1||te%1){var Ht=x3();return V0(G+Ht*(te-G+mu("1e-"+((Ht+"").length-1))),te)}return Df(G,te)}var s4=X(function(G,te,Me){return te=te.toLowerCase(),G+(Me?BS(te):te)});function BS(G){return k5(nl(G).toLowerCase())}function jS(G){return G=nl(G),G&&G.replace(xt,Dd).replace(ui,"")}function AB(G,te,Me){G=nl(G),te=x0(te);var Ze=G.length;Me=Me===n?Ze:w0(Gr(Me),0,Ze);var Ht=Me;return Me-=te.length,Me>=0&&G.slice(Me,Ht)==te}function YS(G){return G=nl(G),G&&je.test(G)?G.replace(St,wu):G}function EI(G){return G=nl(G),G&&vt.test(G)?G.replace(et,"\\$&"):G}var kI=X(function(G,te,Me){return G+(Me?"-":"")+te.toLowerCase()}),FI=X(function(G,te,Me){return G+(Me?" ":"")+te.toLowerCase()}),LI=L3("toLowerCase");function WI(G,te,Me){G=nl(G),te=Gr(te);var Ze=te?Xc(G):0;if(!te||Ze>=te)return G;var Ht=(te-Ze)/2;return Bo(y5(Ht),Me)+G+Bo(m5(Ht),Me)}function ane(G,te,Me){G=nl(G),te=Gr(te);var Ze=te?Xc(G):0;return te&&Ze>>0,Me?(G=nl(G),G&&(typeof te=="string"||te!=null&&!LS(te))&&(te=x0(te),!te&&Rh(G))?b1(hs(G),0,Me):G.split(te,Me)):[]}var sne=X(function(G,te,Me){return G+(Me?" ":"")+k5(te)});function bB(G,te,Me){return G=nl(G),Me=Me==null?0:w0(Gr(Me),0,G.length),te=x0(te),G.slice(Me,Me+te.length)==te}function cne(G,te,Me){var Ze=Wt.templateSettings;Me&&Od(G,te,Me)&&(te=n),G=nl(G),te=R8({},te,Ze,Rn);var Ht=R8({},te.imports,Ze.imports,Rn),Ot=C0(Ht),un=zs(Ht,Ot),wn,Mn,mo=0,wo=te.interpolate||It,Eo="__p += '",Si=Jc((te.escape||It).source+"|"+wo.source+"|"+(wo===wt?Rt:It).source+"|"+(te.evaluate||It).source+"|$","g"),Zi="//# sourceURL="+(La.call(te,"sourceURL")?(te.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++qs+"]")+` -`;G.replace(Si,function(Ir,Na,ol,P1,Fh,C1){return ol||(ol=P1),Eo+=G.slice(mo,C1).replace(Tt,a5),Na&&(wn=!0,Eo+=`' + +`)}function ete(G){return $r(G)||E5(G)||!!(p5&&G&&G[p5])}function Dy(G,te){var Me=typeof G;return te=te??k,!!te&&(Me=="number"||Me!="symbol"&&Ge.test(G))&&G>-1&&G%1==0&&G0){if(++te>=E)return arguments[0]}else te=0;return G.apply(n,arguments)}}function wS(G,te){var Me=-1,Ze=G.length,Ht=Ze-1;for(te=te===n?Ze:te;++Me1?G[te-1]:n;return Me=typeof Me=="function"?(G.pop(),Me):n,kU(G,Me)});function U3(G){var te=Wt(G);return te.__chain__=!0,te}function Rte(G,te){return te(G),G}function Ey(G,te){return te(G)}var Hte=ea(function(G){var te=G.length,Me=te?G[0]:0,Ze=this.__wrapped__,Ht=function(Ot){return x5(Ot,G)};return te>1||this.__actions__.length||!(Ze instanceof fr)||!Dy(Me)?this.thru(Ht):(Ze=Ze.slice(Me,+Me+(te?1:0)),Ze.__actions__.push({func:Ey,args:[Ht],thisArg:n}),new G0(Ze,this.__chain__).thru(function(Ot){return te&&!Ot.length&&Ot.push(n),Ot}))});function $M(){return U3(this)}function Mte(){return new G0(this.value(),this.__chain__)}function QM(){this.__values__===n&&(this.__values__=TI(this.value()));var G=this.__index__>=this.__values__.length,te=G?n:this.__values__[this.__index__++];return{done:G,value:te}}function Ite(){return this}function zte(G){for(var te,Me=this;Me instanceof S3;){var Ze=jM(Me);Ze.__index__=0,Ze.__values__=n,te?Ht.__wrapped__=Ze:te=Ze;var Ht=Ze;Me=Me.__wrapped__}return Ht.__wrapped__=G,te}function Dte(){var G=this.__wrapped__;if(G instanceof fr){var te=G;return this.__actions__.length&&(te=new fr(this)),te=te.reverse(),te.__actions__.push({func:Ey,args:[p8],thisArg:n}),new G0(te,this.__chain__)}return this.thru(p8)}function CS(){return $g(this.__wrapped__,this.__actions__)}var RS=D5(function(G,te,Me){La.call(G,Me)?++G[Me]:zh(G,Me,1)});function LU(G,te,Me){var Ze=$r(G)?Xn:_A;return Me&&Od(G,te,Me)&&(te=n),Ze(G,yr(te,3))}function Ete(G,te){var Me=$r(G)?Jo:A1;return Me(G,yr(te,3))}var WU=ke(xS),ZM=ke(bS);function NU(G,te){return Mc(MS(G,te),1)}function eI(G,te){return Mc(MS(G,te),B)}function tI(G,te,Me){return Me=Me===n?1:Gr(Me),Mc(MS(G,te),Me)}function nI(G,te){var Me=$r(G)?Wn:od;return Me(G,yr(te,3))}function oI(G,te){var Me=$r(G)?qn:b5;return Me(G,yr(te,3))}var kte=D5(function(G,te,Me){La.call(G,Me)?G[Me].push(te):zh(G,Me,[te])});function UU(G,te,Me,Ze){G=ad(G)?G:ky(G),Me=Me&&!Ze?Gr(Me):0;var Ht=G.length;return Me<0&&(Me=Kc(Ht+Me,0)),NS(G)?Me<=Ht&&G.indexOf(te,Me)>-1:!!Ht&&Y0(G,te,Me)>-1}var HS=Qi(function(G,te,Me){var Ze=-1,Ht=typeof te=="function",Ot=ad(G)?Nn(G.length):[];return od(G,function(un){Ot[++Ze]=Ht?kn(te,un,Me):Vl(un,te,Me)}),Ot}),Fte=D5(function(G,te,Me){zh(G,Me,te)});function MS(G,te){var Me=$r(G)?Vi:w1;return Me(G,yr(te,3))}function Lte(G,te,Me,Ze){return G==null?[]:($r(te)||(te=te==null?[]:[te]),Me=Ze?n:Me,$r(Me)||(Me=Me==null?[]:[Me]),R5(G,te,Me))}var BU=D5(function(G,te,Me){G[Me?0:1].push(te)},function(){return[[],[]]});function jU(G,te,Me){var Ze=$r(G)?vs:d1,Ht=arguments.length<3;return Ze(G,yr(te,4),Me,Ht,od)}function iI(G,te,Me){var Ze=$r(G)?Ju:d1,Ht=arguments.length<3;return Ze(G,yr(te,4),Me,Ht,b5)}function Wte(G,te){var Me=$r(G)?Jo:A1;return Me(G,i4(yr(te,3)))}function Nte(G){var te=$r(G)?Vg:c8;return te(G)}function rI(G,te,Me){(Me?Od(G,te,Me):te===n)?te=1:te=Gr(te);var Ze=$r(G)?v5:D3;return Ze(G,te)}function Ute(G){var te=$r(G)?s8:XA;return te(G)}function aI(G){if(G==null)return 0;if(ad(G))return NS(G)?Xc(G):G.length;var te=q0(G);return te==fe||te==Re?G.size:Gl(G).length}function Bte(G,te,Me){var Ze=$r(G)?Ku:E3;return Me&&Od(G,te,Me)&&(te=n),Ze(G,yr(te,3))}var IS=Qi(function(G,te){if(G==null)return[];var Me=te.length;return Me>1&&Od(G,te[0],te[1])?te=[]:Me>2&&Od(te[0],te[1],te[2])&&(te=[te[0]]),R5(G,Mc(te,1),[])}),w8=my||function(){return pn.Date.now()};function YU(G,te){if(typeof te!="function")throw new _0(a);return G=Gr(G),function(){if(--G<1)return te.apply(this,arguments)}}function lI(G,te,Me){return te=Me?n:te,te=G&&te==null?G.length:te,Dn(G,T,n,n,n,n,te)}function v8(G,te){var Me;if(typeof te!="function")throw new _0(a);return G=Gr(G),function(){return--G>0&&(Me=te.apply(this,arguments)),G<=1&&(te=n),Me}}var x8=Qi(function(G,te,Me){var Ze=A;if(Me.length){var Ht=Hh(Me,e4(x8));Ze|=S}return Dn(G,Ze,te,Me,Ht)}),OU=Qi(function(G,te,Me){var Ze=A|x;if(Me.length){var Ht=Hh(Me,e4(OU));Ze|=S}return Dn(te,Ze,G,Me,Ht)});function _U(G,te,Me){te=Me?n:te;var Ze=Dn(G,b,n,n,n,n,n,te);return Ze.placeholder=_U.placeholder,Ze}function sI(G,te,Me){te=Me?n:te;var Ze=Dn(G,v,n,n,n,n,n,te);return Ze.placeholder=sI.placeholder,Ze}function zS(G,te,Me){var Ze,Ht,Ot,un,wn,Mn,mo=0,wo=!1,Eo=!1,Si=!0;if(typeof G!="function")throw new _0(a);te=$c(te)||0,gs(Me)&&(wo=!!Me.leading,Eo="maxWait"in Me,Ot=Eo?Kc($c(Me.maxWait)||0,te):Ot,Si="trailing"in Me?!!Me.trailing:Si);function Zi(H0){var Ly=Ze,Y3=Ht;return Ze=Ht=n,mo=H0,un=G.apply(Y3,Ly),un}function Mr(H0){return mo=H0,wn=h8(Na,te),wo?Zi(H0):un}function Ta(H0){var Ly=H0-Mn,Y3=H0-mo,Z3e=te-Ly;return Eo?V0(Z3e,Ot-Y3):Z3e}function Ir(H0){var Ly=H0-Mn,Y3=H0-mo;return Mn===n||Ly>=te||Ly<0||Eo&&Y3>=Ot}function Na(){var H0=w8();if(Ir(H0))return ol(H0);wn=h8(Na,Ta(H0))}function ol(H0){return wn=n,Si&&Ze?Zi(H0):(Ze=Ht=n,un)}function C1(){wn!==n&&k3(wn),mo=0,Ze=Mn=Ht=wn=n}function Fh(){return wn===n?un:ol(w8())}function R1(){var H0=w8(),Ly=Ir(H0);if(Ze=arguments,Ht=this,Mn=H0,Ly){if(wn===n)return Mr(Mn);if(Eo)return k3(wn),wn=h8(Na,te),Zi(Mn)}return wn===n&&(wn=h8(Na,te)),un}return R1.cancel=C1,R1.flush=Fh,R1}var VU=Qi(function(G,te){return OA(G,1,te)}),GU=Qi(function(G,te,Me){return OA(G,$c(te)||0,Me)});function cI(G){return Dn(G,R)}function b8(G,te){if(typeof G!="function"||te!=null&&typeof te!="function")throw new _0(a);var Me=function(){var Ze=arguments,Ht=te?te.apply(this,Ze):Ze[0],Ot=Me.cache;if(Ot.has(Ht))return Ot.get(Ht);var un=G.apply(this,Ze);return Me.cache=Ot.set(Ht,un)||Ot,un};return Me.cache=new(b8.Cache||xu),Me}b8.Cache=xu;function i4(G){if(typeof G!="function")throw new _0(a);return function(){var te=arguments;switch(te.length){case 0:return!G.call(this);case 1:return!G.call(this,te[0]);case 2:return!G.call(this,te[0],te[1]);case 3:return!G.call(this,te[0],te[1],te[2])}return!G.apply(this,te)}}function DS(G){return v8(2,G)}var XU=d8(function(G,te){te=te.length==1&&$r(te[0])?Vi(te[0],Au(yr())):Vi(Mc(te,1),Au(yr()));var Me=te.length;return Qi(function(Ze){for(var Ht=-1,Ot=V0(Ze.length,Me);++Ht=te}),E5=Cr(function(){return arguments}())?Cr:function(G){return Dc(G)&&La.call(G,"callee")&&!h5.call(G,"callee")},$r=Nn.isArray,Vte=Bt?Au(Bt):Ic;function ad(G){return G!=null&&kS(G.length)&&!im(G)}function zc(G){return Dc(G)&&ad(G)}function a4(G){return G===!0||G===!1||Dc(G)&&xs(G)==le}var om=CA||Al,Gte=Xt?Au(Xt):tl;function ES(G){return Dc(G)&&G.nodeType===1&&!P8(G)}function pI(G){if(G==null)return!0;if(ad(G)&&($r(G)||typeof G=="string"||typeof G.splice=="function"||om(G)||rm(G)||E5(G)))return!G.length;var te=q0(G);if(te==fe||te==Re)return!G.size;if(f8(G))return!Gl(G).length;for(var Me in G)if(La.call(G,Me))return!1;return!0}function Xte(G,te){return Fs(G,te)}function gI(G,te,Me){Me=typeof Me=="function"?Me:n;var Ze=Me?Me(G,te):n;return Ze===n?Fs(G,te,n,Me):!!Ze}function S8(G){if(!Dc(G))return!1;var te=xs(G);return te==ne||te==pe||typeof G.message=="string"&&typeof G.name=="string"&&!P8(G)}function eB(G){return typeof G=="number"&&Z7(G)}function im(G){if(!gs(G))return!1;var te=xs(G);return te==Z||te==he||te==q||te==Pe}function tB(G){return typeof G=="number"&&G==Gr(G)}function kS(G){return typeof G=="number"&&G>-1&&G%1==0&&G<=k}function gs(G){var te=typeof G;return G!=null&&(te=="object"||te=="function")}function Dc(G){return G!=null&&typeof G=="object"}var nB=rn?Au(rn):Nd;function kh(G,te){return G===te||Zs(G,te,zM(te))}function mI(G,te,Me){return Me=typeof Me=="function"?Me:n,Zs(G,te,zM(te),Me)}function yI(G){return FS(G)&&G!=+G}function AI(G){if(ote(G))throw new dr(r);return bp(G)}function T8(G){return G===null}function wI(G){return G==null}function FS(G){return typeof G=="number"||Dc(G)&&xs(G)==se}function P8(G){if(!Dc(G)||xs(G)!=de)return!1;var te=Qs(G);if(te===null)return!0;var Me=La.call(te,"constructor")&&te.constructor;return typeof Me=="function"&&Me instanceof Me&&c5.call(Me)==jg}var LS=gn?Au(gn):id;function vI(G){return tB(G)&&G>=-k&&G<=k}var WS=mn?Au(mn):R3;function NS(G){return typeof G=="string"||!$r(G)&&Dc(G)&&xs(G)==ze}function T0(G){return typeof G=="symbol"||Dc(G)&&xs(G)==Ae}var rm=vn?Au(vn):H3;function oB(G){return G===n}function iB(G){return Dc(G)&&q0(G)==ge}function xI(G){return Dc(G)&&xs(G)==we}var bI=Ji(M3),SI=Ji(function(G,te){return G<=te});function TI(G){if(!G)return[];if(ad(G))return NS(G)?hs(G):b0(G);if(kd&&G[kd])return fy(G[kd]());var te=q0(G),Me=te==fe?m3:te==Re?y3:ky;return Me(G)}function ld(G){if(!G)return G===0?G:0;if(G=$c(G),G===B||G===-B){var te=G<0?-1:1;return te*N}return G===G?G:0}function Gr(G){var te=ld(G),Me=te%1;return te===te?Me?te-Me:te:0}function US(G){return G?w0(Gr(G),0,Y):0}function $c(G){if(typeof G=="number")return G;if(T0(G))return j;if(gs(G)){var te=typeof G.valueOf=="function"?G.valueOf():G;G=gs(te)?te+"":te}if(typeof G!="string")return G===0?G:+G;G=p3(G);var Me=ht.test(G);return Me||mt.test(G)?sn(G.slice(2),Me?2:8):Xe.test(G)?j:+G}function rB(G){return jd(G,R0(G))}function Jte(G){return G?w0(Gr(G),-k,k):G===0?G:0}function nl(G){return G==null?"":x0(G)}var C8=Sp(function(G,te){if(f8(te)||ad(te)){jd(te,C0(te),G);return}for(var Me in te)La.call(te,Me)&&td(G,Me,te[Me])}),PI=Sp(function(G,te){jd(te,R0(te),G)}),R8=Sp(function(G,te,Me,Ze){jd(te,R0(te),G,Ze)}),aB=Sp(function(G,te,Me,Ze){jd(te,C0(te),G,Ze)}),lB=ea(x5);function P0(G,te){var Me=m1(G);return te==null?Me:BA(Me,te)}var Kte=Qi(function(G,te){G=br(G);var Me=-1,Ze=te.length,Ht=Ze>2?te[2]:n;for(Ht&&Od(te[0],te[1],Ht)&&(Ze=1);++Me1),Ot}),jd(G,Sa(G),Me),Ze&&(Me=nd(Me,d|f|p,xi));for(var Ht=te.length;Ht--;)Ry(Me,te[Ht]);return Me});function nne(G,te){return pB(G,i4(yr(te)))}var DI=ea(function(G,te){return G==null?{}:Sy(G,te)});function pB(G,te){if(G==null)return{};var Me=Vi(Sa(G),function(Ze){return[Ze]});return te=yr(te),Ty(G,Me,function(Ze,Ht){return te(Ze,Ht[0])})}function gB(G,te,Me){te=b1(te,G);var Ze=-1,Ht=te.length;for(Ht||(Ht=1,G=n);++Zete){var Ze=G;G=te,te=Ze}if(Me||G%1||te%1){var Ht=x3();return V0(G+Ht*(te-G+mu("1e-"+((Ht+"").length-1))),te)}return Df(G,te)}var s4=X(function(G,te,Me){return te=te.toLowerCase(),G+(Me?BS(te):te)});function BS(G){return k5(nl(G).toLowerCase())}function jS(G){return G=nl(G),G&&G.replace(xt,Dd).replace(ui,"")}function AB(G,te,Me){G=nl(G),te=x0(te);var Ze=G.length;Me=Me===n?Ze:w0(Gr(Me),0,Ze);var Ht=Me;return Me-=te.length,Me>=0&&G.slice(Me,Ht)==te}function YS(G){return G=nl(G),G&&je.test(G)?G.replace(St,wu):G}function EI(G){return G=nl(G),G&&vt.test(G)?G.replace(et,"\\$&"):G}var kI=X(function(G,te,Me){return G+(Me?"-":"")+te.toLowerCase()}),FI=X(function(G,te,Me){return G+(Me?" ":"")+te.toLowerCase()}),LI=L3("toLowerCase");function WI(G,te,Me){G=nl(G),te=Gr(te);var Ze=te?Xc(G):0;if(!te||Ze>=te)return G;var Ht=(te-Ze)/2;return Bo(y5(Ht),Me)+G+Bo(m5(Ht),Me)}function ane(G,te,Me){G=nl(G),te=Gr(te);var Ze=te?Xc(G):0;return te&&Ze>>0,Me?(G=nl(G),G&&(typeof te=="string"||te!=null&&!LS(te))&&(te=x0(te),!te&&Rh(G))?S1(hs(G),0,Me):G.split(te,Me)):[]}var sne=X(function(G,te,Me){return G+(Me?" ":"")+k5(te)});function bB(G,te,Me){return G=nl(G),Me=Me==null?0:w0(Gr(Me),0,G.length),te=x0(te),G.slice(Me,Me+te.length)==te}function cne(G,te,Me){var Ze=Wt.templateSettings;Me&&Od(G,te,Me)&&(te=n),G=nl(G),te=R8({},te,Ze,Rn);var Ht=R8({},te.imports,Ze.imports,Rn),Ot=C0(Ht),un=zs(Ht,Ot),wn,Mn,mo=0,wo=te.interpolate||It,Eo="__p += '",Si=Jc((te.escape||It).source+"|"+wo.source+"|"+(wo===wt?Rt:It).source+"|"+(te.evaluate||It).source+"|$","g"),Zi="//# sourceURL="+(La.call(te,"sourceURL")?(te.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++qs+"]")+` +`;G.replace(Si,function(Ir,Na,ol,C1,Fh,R1){return ol||(ol=C1),Eo+=G.slice(mo,R1).replace(Tt,a5),Na&&(wn=!0,Eo+=`' + __e(`+Na+`) + '`),Fh&&(Mn=!0,Eo+=`'; `+Fh+`; __p += '`),ol&&(Eo+=`' + ((__t = (`+ol+`)) == null ? '' : __t) + -'`),mo=C1+Ir.length,Ir}),Eo+=`'; +'`),mo=R1+Ir.length,Ir}),Eo+=`'; `;var Mr=La.call(te,"variable")&&te.variable;if(!Mr)Eo=`with (obj) { `+Eo+` } @@ -4802,22 +4802,22 @@ __p += '`),ol&&(Eo+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+Eo+`return __p -}`;var Ta=PB(function(){return jr(Ot,Zi+"return "+Eo).apply(n,un)});if(Ta.source=Eo,S8(Ta))throw Ta;return Ta}function BI(G){return nl(G).toLowerCase()}function OS(G){return nl(G).toUpperCase()}function jI(G,te,Me){if(G=nl(G),G&&(Me||te===n))return p3(G);if(!G||!(te=x0(te)))return G;var Ze=hs(G),Ht=hs(te),Ot=yl(Ze,Ht),un=Ng(Ze,Ht)+1;return b1(Ze,Ot,un).join("")}function SB(G,te,Me){if(G=nl(G),G&&(Me||te===n))return G.slice(0,hy(G)+1);if(!G||!(te=x0(te)))return G;var Ze=hs(G),Ht=Ng(Ze,hs(te))+1;return b1(Ze,0,Ht).join("")}function TB(G,te,Me){if(G=nl(G),G&&(Me||te===n))return G.replace(ct,"");if(!G||!(te=x0(te)))return G;var Ze=hs(G),Ht=yl(Ze,hs(te));return b1(Ze,Ht).join("")}function Ni(G,te){var Me=H,Ze=D;if(gs(te)){var Ht="separator"in te?te.separator:Ht;Me="length"in te?Gr(te.length):Me,Ze="omission"in te?x0(te.omission):Ze}G=nl(G);var Ot=G.length;if(Rh(G)){var un=hs(G);Ot=un.length}if(Me>=Ot)return G;var wn=Me-Xc(Ze);if(wn<1)return Ze;var Mn=un?b1(un,0,wn).join(""):G.slice(0,wn);if(Ht===n)return Mn+Ze;if(un&&(wn+=Mn.length-wn),LS(Ht)){if(G.slice(wn).search(Ht)){var mo,wo=Mn;for(Ht.global||(Ht=Jc(Ht.source,nl(zt.exec(Ht))+"g")),Ht.lastIndex=0;mo=Ht.exec(wo);)var Eo=mo.index;Mn=Mn.slice(0,Eo===n?wn:Eo)}}else if(G.indexOf(x0(Ht),wn)!=wn){var Si=Mn.lastIndexOf(Ht);Si>-1&&(Mn=Mn.slice(0,Si))}return Mn+Ze}function YI(G){return G=nl(G),G&&dt.test(G)?G.replace(Ye,py):G}var s0=X(function(G,te,Me){return G+(Me?" ":"")+te.toUpperCase()}),k5=L3("toUpperCase");function T1(G,te,Me){return G=nl(G),te=Me?n:te,te===n?g3(G)?gy(G):qu(G):G.match(te)||[]}var PB=Qi(function(G,te){try{return kn(G,n,te)}catch(Me){return S8(Me)?Me:new dr(Me)}}),une=ea(function(G,te){return Wn(te,function(Me){Me=nm(Me),zh(G,Me,x8(G[Me],G))}),G});function dne(G){var te=G==null?0:G.length,Me=yr();return G=te?Vi(G,function(Ze){if(typeof Ze[1]!="function")throw new _0(a);return[Me(Ze[0]),Ze[1]]}):[],Qi(function(Ze){for(var Ht=-1;++Htk)return[];var Me=Y,Ze=V0(G,Y);te=yr(te),G-=Y;for(var Ht=Ch(Ze,te);++Me0||te<0)?new fr(Me):(G<0?Me=Me.takeRight(-G):G&&(Me=Me.drop(G)),te!==n&&(te=Gr(te),Me=te<0?Me.dropRight(-te):Me.take(te-G)),Me)},fr.prototype.takeRightWhile=function(G){return this.reverse().takeWhile(G).reverse()},fr.prototype.toArray=function(){return this.take(Y)},bu(fr.prototype,function(G,te){var Me=/^(?:filter|find|map|reject)|While$/.test(te),Ze=/^(?:head|last)$/.test(te),Ht=Wt[Ze?"take"+(te=="last"?"Right":""):te],Ot=Ze||/^find/.test(te);Ht&&(Wt.prototype[te]=function(){var un=this.__wrapped__,wn=Ze?[1]:arguments,Mn=un instanceof fr,mo=wn[0],wo=Mn||$r(un),Eo=function(Na){var ol=Ht.apply(Wt,ga([Na],wn));return Ze&&Si?ol[0]:ol};wo&&Me&&typeof mo=="function"&&mo.length!=1&&(Mn=wo=!1);var Si=this.__chain__,Zi=!!this.__actions__.length,Mr=Ot&&!Si,Ta=Mn&&!Zi;if(!Ot&&wo){un=Ta?un:new fr(this);var Ir=G.apply(un,wn);return Ir.__actions__.push({func:Ey,args:[Eo],thisArg:n}),new G0(Ir,Si)}return Mr&&Ta?G.apply(this,wn):(Ir=this.thru(Eo),Mr?Ze?Ir.value()[0]:Ir.value():Ir)})}),Wn(["pop","push","shift","sort","splice","unshift"],function(G){var te=Bg[G],Me=/^(?:push|sort|unshift)$/.test(G)?"tap":"thru",Ze=/^(?:pop|shift)$/.test(G);Wt.prototype[G]=function(){var Ht=arguments;if(Ze&&!this.__chain__){var Ot=this.value();return te.apply($r(Ot)?Ot:[],Ht)}return this[Me](function(un){return te.apply($r(un)?un:[],Ht)})}}),bu(fr.prototype,function(G,te){var Me=Wt[te];if(Me){var Ze=Me.name+"";La.call(h1,Ze)||(h1[Ze]=[]),h1[Ze].push({name:te,func:Me})}}),h1[pt(n,x).name]=[{name:"wrapper",func:n}],fr.prototype.clone=sS,fr.prototype.reverse=cS,fr.prototype.value=Fd,Wt.prototype.at=Hte,Wt.prototype.chain=$M,Wt.prototype.commit=Mte,Wt.prototype.next=QM,Wt.prototype.plant=zte,Wt.prototype.reverse=Dte,Wt.prototype.toJSON=Wt.prototype.valueOf=Wt.prototype.value=CS,Wt.prototype.first=Wt.prototype.head,kd&&(Wt.prototype[kd]=Ite),Wt},Ap=lS();$e?(($e.exports=Ap)._=Ap,Tn._=Ap):pn._=Ap}).call(mc)})(_G,_G.exports);var M2=_G.exports;const oQ=t=>{const e=gt(cs),n=M(wf),[o,i]=m.useState(null);return m.useEffect(()=>{if(e){const r=bn.getState().getHeatmap(t);r&&i(be.fetchHeatmapTexture(r,n??5))}},[e,n]),o},iQ=(t,e,n,o,i,r)=>{const a=i??((n==null?void 0:n.color)==="Black"&&(n==null?void 0:n.cellType)==="Monocrystalline"?"silver":"white"),l=r??"gray",s=m.useMemo(()=>{if(!n)return null;const{cellType:d,length:f,width:p,m:g,n:y,color:A}=n;return o===ci.portrait?Zbe(d,p,f,y,g,A,a,l):Zbe(d,f,p,g,y,A,a,l)},[n,o,a,l]),[c,u]=m.useState(s);return m.useEffect(()=>{if(s&&n){const{length:d,width:f}=n,p=Math.max(1,Math.round(t/(o===ci.landscape?d:f))),g=Math.max(1,Math.round(e/(o===ci.landscape?f:d)));s.repeat.set(p,g),s.wrapS=s.wrapT=Ss,u(s.clone())}},[s,t,e]),c},Zbe=(t,e,n,o,i,r,a,l)=>{e*=Cwe,n*=Cwe;const s=document.createElement("canvas");[s.width,s.height]=[e,n];const c=s.getContext("2d");if(c){c.fillStyle=a,c.fillRect(0,0,e,n);const u=Math.max(e,n)*W3t;if(c.fillStyle=l,c.fillRect(u,u,e-2*u,n-2*u),c.fillStyle=r==="Black"?U3t:B3t,t==="Thin Film"){const d=u*.6;c.fillRect(d,d,e-d*2,n-d*2)}else{const d=Math.max(e,n)*N3t,f=u+d,p=(e-f*2-d*(o-1))/o,g=(n-f*2-d*(i-1))/i,y=p*.1,A=g*.1;if(t==="Monocrystalline")for(let x=0;x{const i=Xi().gl.domElement;return h.jsx(ts,{args:[o,6,6],name:yo.Default,onPointerOver:()=>{i.style.cursor="move"},onPointerOut:()=>{i.style.cursor="default"},onPointerDown:r=>{M.getState().selectMe(t,r,zo.Move),gt.getState().set(a=>{a.showWallIntersectionPlaneId=e,a.oldParentId=e,a.oldFoundationId=n})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})})},eO=({pos:t,dms:e,handleType:n,initPointerDown:o})=>{const[i,r,a]=t,[l,s]=e,c=Xi().gl.domElement,[u,d]=m.useState(pr),f=m.useRef(null),p=()=>{o();const g=new ae;switch(n){case yt.Left:case yt.Right:g.set(-i*2,0,-a);break;case yt.Upper:case yt.Lower:g.set(0,-r*2,-a);break}M.getState().set(y=>{f.current&&(y.resizeAnchor=f.current.localToWorld(g),y.resizeHandleType=n)})};return h.jsx(Ei,{ref:f,position:[i,r,a],args:[s,s,l*1.2],name:n,onPointerDown:p,onPointerOver:()=>{c.style.cursor="pointer",d(nr)},onPointerOut:()=>{c.style.cursor="default",d(pr)},children:h.jsx("meshBasicMaterial",{attach:"material",color:u})})},eSe=({position:t,ratio:e,handleType:n,initPointerDown:o})=>{const[i,r]=m.useState(pr),a=Xi().gl.domElement,l=m.useMemo(()=>h.jsx("meshBasicMaterial",{attach:"material",color:i}),[i]),s=()=>{o(),M.getState().set(c=>{c.rotateHandleType=n})};return h.jsxs("group",{position:t,rotation:[Vt,0,0],scale:e,name:n,children:[h.jsxs("group",{children:[h.jsx(N1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:l}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:l}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:l})]}),h.jsx(sa,{name:n,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1,onPointerDown:s,onPointerOver:c=>{a.style.cursor="grab",r(nr)},onPointerOut:()=>{a.style.cursor="default",r(pr)}})]})},b$t=({rotationZ:t,tiltAngle:e,handleSize:n,initPointerDown:o,handlePointerMove:i,handlePointerUp:r})=>{const{gl:a}=Xi(),[l,s]=m.useState(pr),[c,u]=m.useState(!1),d=m.useRef(null),f=m.useMemo(()=>new Array(13).fill(0),[]),p=M(dn);return h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[n,1.1*n,18,2,-Vt,Math.PI],rotation:[0,-Vt,t,"ZXY"],onPointerOver:()=>{a.domElement.style.cursor="grab",s(nr)},onPointerOut:()=>{a.domElement.style.cursor="default",s(pr)},onPointerDown:g=>{o(),g.stopPropagation(),u(!0),p(y=>{y.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:l})}),c&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:d,name:"Solar panel tilt handle",args:[n,2*n,18,2,-Vt,Math.PI],rotation:[0,-Vt,t,"ZXY"],onPointerDown:g=>{},onPointerMove:g=>{i(g,d)},onPointerUp:()=>{u(!1),r()},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,n],[0,0,1.75*n]],rotation:new Qt(e,0,t,"ZXY"),lineWidth:1}),f.map((g,y)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*y-Vt,0,t,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*n],[0,0,2*n]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${y*15-90}°`,fontSize:20*n,fontFace:"Times Roman",textHeight:.15*n,position:[0,0,1.6*n]})]},y)),h.jsx("group",{rotation:new Qt(e,0,t,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(e/Math.PI*180)}°`,fontSize:20*n,fontFace:"Times Roman",textHeight:.2*n,position:[0,0,.75*n]})})]})]})},S$t=Se.memo(({drawSunbeam:t,rotation:e,normal:n,relativeEuler:o,fRotation:i})=>{const r=new Qt().fromArray([e[0],e[1],e[2],"ZXY"]),a=m.useMemo(()=>e[0]===0?new ae().fromArray(n).applyEuler(new Qt(o.x,o.y,o.z+e[2]+i,"ZXY")):new ae(0,0,1).applyEuler(r).applyEuler(new Qt(0,0,i)),[e,o,i]),l=M(Ya),s=M(Xs),c=M(mh),u=Math.max(100,10*c),d=m.useMemo(()=>zr(new Date(l),s),[l,s]);return h.jsx(h.Fragment,{children:t&&d.z>0&&h.jsxs("group",{rotation:[-r.x,0,-r.z-i],children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[a.clone().multiplyScalar(.75),[0,0,0],d.clone().multiplyScalar(u)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[d.clone().multiplyScalar(.5),a.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:be.toDegrees(d.angleTo(a)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:d.clone().multiplyScalar(.75).add(a.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:a.clone().multiplyScalar(.75),rotation:[Vt+r.x+o.x,0,r.z+o.z+i,"ZXY"],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",rotation:[0,0,-o.y],children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})})}),T$t=({id:t})=>{M(Jn);const e=M(jn),n=M(Sc),o=m.useMemo(()=>({lng:n}),[n]),i=m.useMemo(()=>e(t),[t]);if(!i||!i.foundationId)return null;const r=e(i.foundationId);if(!r)return null;const a=new ae(r.cx,r.cy,r.cz),l=new ae(i.cx*r.lx,i.cy*r.ly,r.lz/2+i.cz+i.lz/2+i.poleHeight).applyEuler(new Qt(0,0,r.rotation[2])).add(a),s=((i==null?void 0:i.label)??O.t("shared.SolarPanelElement",o))+(i!=null&&i.locked?` ( + ${O.t("shared.ElementLocked",o)} + )`:"")+(i!=null&&i.label?"":` -`+O.t("word.Coordinates",o)+": ("+l.x.toFixed(1)+", "+l.y.toFixed(1)+", "+l.z.toFixed(1)+") "+O.t("word.MeterAbbreviation",o));return h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:s,color:i.labelColor??"white",fontSize:i.labelFontSize??20,textHeight:i.labelSize??.2,position:[0,0,i.labelHeight??Math.max(i.ly/2*Math.abs(Math.sin(i.tiltAngle))+.1,.2)]})},P$t=({id:t,pvModelName:e="SPR-X21-335-BLK",cx:n,cy:o,cz:i,lx:r,ly:a,lz:l,tiltAngle:s,relativeAzimuth:c,poleHeight:u,poleRadius:d,poleSpacing:f,drawSunBeam:p,rotation:g=[0,0,0],normal:y=[0,0,1],color:A="white",frameColor:x,backsheetColor:C,showLabel:b=!1,locked:v=!1,parentId:S,foundationId:w,foundationModel:T,orientation:P=ci.portrait})=>{const R=M(dn),H=M(Vc),D=M(jn),E=gt(cs),L=M(ss),U=M(pq),F=M(hu)??!1,W=M(C7),B=M(mh),k=Hs(t),N=m.useRef(null),j=W[e];j&&(l=Math.max(j.thickness,.02));const Y=r/2,_=a/2,J=l/2,Q=M.getState().elements.length<100?4:2,ee=-u/2-l/2,[$,q]=m.useState(g[0]===0),[le,ie]=m.useState(!1),[pe,ne]=m.useState(!1),{gl:Z,camera:he}=Xi(),fe=m.useRef(null),se=m.useRef(),oe=m.useRef(null),de=m.useRef(!1),ve=m.useRef(null),Pe=m.useRef(null),me=m.useRef(null),Re=m.useRef(null),ze=m.useRef(null),Ae=m.useRef(null),re=m.useMemo(()=>new Gs,[]),ge=m.useMemo(()=>new Gt,[]),we=m.useMemo(()=>$?new ae(n,o,i+J+u):new ae(n,o,i+l/2+.02),[n,o,i,J,$,u,B]),ye=m.useMemo(()=>new Qt().fromArray([g[0],g[1],g[2],"ZXY"]),[g]),Te=m.useMemo(()=>$?new Qt(s,0,c,"ZXY"):new Qt,[s,c,$]),Ie=m.useMemo(()=>{const rt=[],Qe=Math.floor(.5*r/f),Oe=Math.floor(.5*a*Math.abs(Math.cos(s))/f),et=.5*Math.sin(s),vt=Math.cos(c)*f,ct=Math.sin(c)*f;for(let lt=-Qe;lt<=Qe;lt++)for(let tt=-Oe;tt<=Oe;tt++){const it=lt*vt-tt*ct,At=lt*ct+tt*vt;rt.push(new ae(it,At,ee+et*f*tt))}return rt},[c,s,f,r,a,u,l]);m.useEffect(()=>{q(g[0]===0)},[g]),m.useEffect(()=>{if(j){let rt,Qe;P===ci.portrait?(rt=Math.max(1,Math.round(r/j.width)),Qe=Math.max(1,Math.round(a/j.length))):(rt=Math.max(1,Math.round(r/j.length)),Qe=Math.max(1,Math.round(a/j.width))),se.current=[];const Oe=r/rt,et=a/Qe;for(let vt=0;vt<=rt;vt++)se.current.push({points:[new ae(-Y+vt*Oe,-_,l),new ae(-Y+vt*Oe,_,l)]});for(let vt=0;vt<=Qe;vt++)se.current.push({points:[new ae(-Y,-_+vt*et,l),new ae(Y,-_+vt*et,l)]})}},[P,e,r,a,l]);const Ce=()=>{R(rt=>{if(ve.current&&me.current!==null&&Ae.current&&Pe.current&&ze.current){for(const Qe of rt.elements)if(Qe.id===t){[Qe.cx,Qe.cy,Qe.cz]=[...ve.current],[Qe.lx,Qe.ly,Qe.lz]=[...Pe.current],Qe.relativeAzimuth=me.current,Qe.normal=[...Ae.current],Qe.rotation=[...ze.current];break}}})},Ee=()=>{if(de.current){const rt=D(S);if(rt&&w){const Qe=D(t),Oe=N.current;if(Qe&&Oe){const et=In.getRoofBoundaryVertices(rt),vt=In.getSolarPanelVerticesOnRoof(Qe,Oe);!oye(vt,et)||!iye(Qe,Oe,vt)?Ce():St(Qe)}}Ln.getState().setEnableOrbitController(!0),de.current=!1,ie(!1),R(Qe=>{Qe.moveHandleType=null,Qe.resizeHandleType=null,Qe.rotateHandleType=null,Qe.updateElementOnRoofFlag=!0}),N.current=null}},Ue=Math.max(1,(r+a)/16),Ne=Af*Ue*2,Le=I9*Ue*1.5,qe=Ue*2/3,We=()=>{const rt=M.getState().elements.find(Qe=>Qe.id===w&&Qe.type===z.Foundation);rt&&(ve.current=[n/rt.lx,o/rt.ly,i-rt.lz/2],Pe.current=[r,a,l],me.current=c,Re.current=s,Ae.current=[...y],ze.current=[...g],N.current=rt),ie(!0),de.current=!0,Ln.getState().setEnableOrbitController(!1)},De=rt=>{ge.x=rt.offsetX/Z.domElement.clientWidth*2-1,ge.y=-(rt.offsetY/Z.domElement.clientHeight)*2+1,re.setFromCamera(ge,he)},Fe=(rt,Qe)=>!!($&&Qe!==0&&.5*rt*Math.abs(Math.sin(Qe))>u),_e=rt=>{if(oe.current&&de.current&&N.current&&j){De(rt);const Qe=re.intersectObjects([oe.current]);if(Qe.length>0){const Oe=Qe[0].point;if(Oe.z<.001)return;const et=M.getState().rotateHandleType;if(M.getState().resizeHandleType){const vt=$?c:0,ct=M.getState().resizeAnchor,lt=new ae(N.current.cx,N.current.cy,N.current.lz),tt=new ae().subVectors(Oe,ct).applyEuler(new Qt(0,0,-g[2]-N.current.rotation[2]-vt));R(it=>{for(const At of it.elements)if(At.id===t&&N.current){switch(it.resizeHandleType){case yt.Left:case yt.Right:{const Mt=At.orientation===ci.landscape?j.length:j.width,st=Math.abs(tt.x),Rt=Math.max(1,Math.ceil((st-Mt/2)/Mt))*Mt,zt=new ae(Math.sign(tt.x)*Rt/2,0,0).applyEuler(new Qt(0,0,g[2]+N.current.rotation[2]+vt)),Xe=new ae().addVectors(ct,zt).sub(lt).applyEuler(new Qt(0,0,-N.current.rotation[2]));At.lx=Rt,At.cx=Xe.x/N.current.lx,At.cy=Xe.y/N.current.ly;break}case yt.Upper:case yt.Lower:{const Mt=Math.abs(tt.y),st=Math.abs(tt.z),ft=Math.hypot(Mt,st),Rt=At.orientation===ci.landscape?j.width:j.length,Xe=Math.max(1,Math.ceil((ft-Rt/2)/Rt))*Rt,ht=new ae(0,Xe*Math.sign(tt.y)/2,0).applyEuler(new Qt(g[0],g[1],g[2]+N.current.rotation[2]+vt,"ZXY")),Je=new ae().addVectors(ct,ht).sub(lt).applyEuler(new Qt(0,0,-N.current.rotation[2]));Fe(Xe,s)||(At.ly=Xe,At.cx=Je.x/N.current.lx,At.cy=Je.y/N.current.ly,$||(At.cz=Je.z-J));break}}break}})}else if(et===wi.Lower||et===wi.Upper){const vt=N.current.rotation[2],ct=new Gt(N.current.cx,N.current.cy),lt=new Gt(n,o).rotateAround(wr,vt),tt=new Gt().addVectors(lt,ct),it=Math.atan2(-Oe.x+tt.x,Oe.y-tt.y)-vt+(et===wi.Lower?Math.PI:0),At=Math.abs(it)>Math.PI?-Math.sign(it)*na:0,Mt=it+At;M.getState().updateSolarCollectorRelativeAzimuthById(t,Mt)}}}},ot=(rt,Qe)=>{var Oe,et;if(de.current&&(De(rt),Qe.current&&M.getState().rotateHandleType===wi.Tilt)){const vt=re.intersectObjects([Qe.current]);if(vt.length>0){const ct=vt[0].point,lt=(Oe=Qe.current.parent)==null?void 0:Oe.localToWorld(new ae);if(lt){const tt=new ae().subVectors(ct,lt);let it=tt.angleTo(Po);if(!(.5*a*Math.abs(Math.sin(it))>u)){const Mt=c+g[2]+(((et=N.current)==null?void 0:et.rotation[2])??0),st=Mt%Math.PI===0?Math.sign(-tt.y)*Math.sign(Math.cos(Mt)):Math.sign(tt.x)*Math.sign(Math.sin(Mt));it*=st,M.getState().updateSolarPanelTiltAngleById(t,it)}}}}},Ye=()=>{const rt=D(t);if(rt&&Re.current&&Math.abs(rt.tiltAngle-Re.current)>kt){const Qe={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Re.current,newValue:rt.tiltAngle,changedElementId:t,changedElementType:z.SolarPanel,undo:()=>{M.getState().updateSolarPanelTiltAngleById(Qe.changedElementId,Qe.oldValue)},redo:()=>{M.getState().updateSolarPanelTiltAngleById(Qe.changedElementId,Qe.newValue)}};M.getState().addUndoable(Qe)}},St=rt=>{if(M.getState().resizeHandleType){if(Pe.current&&ve.current&&Ae.current&&ze.current){const Qe={name:"Resize Solar Panel On Roof",timestamp:Date.now(),id:rt.id,oldDms:[...Pe.current],oldNor:[...Ae.current],oldPos:[...ve.current],oldRot:[...ze.current],newDms:[rt.lx,rt.ly,rt.lz],newPos:[rt.cx,rt.cy,rt.cz],newNor:[...rt.normal],newRot:[...rt.rotation],undo(){R(Oe=>{for(const et of Oe.elements)if(et.id===Qe.id){[et.cx,et.cy,et.cz]=[...Qe.oldPos],[et.lx,et.ly,et.lz]=[...Qe.oldDms],et.normal=[...Qe.oldNor],et.rotation=[...Qe.oldRot];break}})},redo(){R(Oe=>{for(const et of Oe.elements)if(et.id===Qe.id){[et.cx,et.cy,et.cz]=[...Qe.newPos],[et.lx,et.ly,et.lz]=[...Qe.newDms],et.normal=[...Qe.newNor],et.rotation=[...Qe.newRot];break}})}};M.getState().addUndoable(Qe)}}else if(M.getState().rotateHandleType&&me.current!==void 0){const Qe={name:"Rotate Solar Panel On Roof",timestamp:Date.now(),oldValue:me.current,newValue:rt.relativeAzimuth,changedElementId:rt.id,changedElementType:rt.type,undo:()=>{M.getState().updateSolarCollectorRelativeAzimuthById(Qe.changedElementId,Qe.oldValue)},redo:()=>{M.getState().updateSolarCollectorRelativeAzimuthById(Qe.changedElementId,Qe.newValue)}};M.getState().addUndoable(Qe)}},dt=M(rt=>{for(const Qe of rt.elements)if(Qe.id===S)return Qe}),je=iQ(r,a,j,P,x,C),at=oQ(t),ut=()=>E&&at?h.jsx("meshBasicMaterial",{attach:"material-4",map:at}):je?F||U===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:je,color:A}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((j==null?void 0:j.color)==="Blue"?Kw:qw),shininess:U??Xm,side:ia,map:je,color:A}):h.jsx("meshStandardMaterial",{attach:"material-4",color:A}),wt=()=>(j==null?void 0:j.bifacialityFactor)===0||F||u===0&&s===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:A}):je?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((j==null?void 0:j.color)==="Blue"?Kw:qw),shininess:U??Xm,side:ia,map:je,color:A}):null;return dt&&dt.type===z.Roof&&dt.opacity===0?null:h.jsxs("group",{name:"Solar Panel Group Grandpa "+t,rotation:ye,position:we,children:[h.jsxs("group",{name:"Solar Panel Group Dad "+t,rotation:Te,children:[h.jsxs(Ei,{receiveShadow:L,castShadow:L,uuid:t,ref:fe,args:[r,a,l],name:"Solar Panel",onPointerDown:rt=>{rt.button!==2&&M.getState().objectTypeToAdd===z.None&&H(t,rt,zo.Select)},onContextMenu:rt=>{H(t,rt,zo.ContextMenu),R(Qe=>{rt.intersections.length>0&&rt.intersections[0].object===fe.current&&(Qe.contextMenuObjectType=z.SolarPanel)})},onPointerOver:rt=>{rt.intersections.length>0&&rt.intersections[0].object===fe.current&&ne(!0)},onPointerOut:rt=>{ne(!1)},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:A}),h.jsx("meshStandardMaterial",{attach:"material-1",color:A}),h.jsx("meshStandardMaterial",{attach:"material-2",color:A}),h.jsx("meshStandardMaterial",{attach:"material-3",color:A}),ut(),wt()]}),k&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(x$t,{id:t,handleSize:Ne,parentId:S,foundationId:w}),h.jsxs("group",{name:"Resize Handle Group",children:[h.jsx(eO,{pos:[-Y,0,J],dms:[l,Le],handleType:yt.Left,initPointerDown:We}),h.jsx(eO,{pos:[Y,0,J],dms:[l,Le],handleType:yt.Right,initPointerDown:We}),h.jsx(eO,{pos:[0,-_,J],dms:[l,Le],handleType:yt.Lower,initPointerDown:We}),h.jsx(eO,{pos:[0,_,J],dms:[l,Le],handleType:yt.Upper,initPointerDown:We})]})]}),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:t,position:[0,0,f0],args:[r,a],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),E&&at&&se.current&&se.current.map((rt,Qe)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:rt.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Qe)),k&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Y,-_,0],[-Y,_,0],[Y,_,0],[Y,-_,0],[-Y,-_,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0})]}),$&&k&&!v&&h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Rotate Handle Group",rotation:[0,0,Te.z],children:[h.jsx(eSe,{position:[0,-_-1,0],ratio:1,handleType:wi.Lower,initPointerDown:We}),h.jsx(eSe,{position:[0,_+1,0],ratio:1,handleType:wi.Upper,initPointerDown:We})]}),h.jsx(b$t,{rotationZ:c,tiltAngle:s,handleSize:qe,initPointerDown:We,handlePointerMove:ot,handlePointerUp:Ye})]}),le&&h.jsx(sa,{ref:oe,args:[1e3,1e3],visible:!1,onPointerMove:_e,onPointerUp:Ee}),$&&u>0&&Ie.map((rt,Qe)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+Qe,castShadow:!1,receiveShadow:!1,args:[d,d,u+(rt.z-ee)*2+l,Q,1],position:rt,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:A})},Qe)),h.jsx(S$t,{drawSunbeam:p,rotation:g,normal:y,relativeEuler:Te,fRotation:(T==null?void 0:T.rotation[2])??0}),(pe||b)&&!k&&h.jsx(T$t,{id:t})]})},C$t=t=>{const{lx:e,lz:n,parentId:o,id:i,roofId:r}=t,a=M(B8t),l=M(hge);m.useEffect(()=>{r&&(a===r||l.has(r))&&M.getState().set(d=>{for(const f of d.elements)if(f.id===i&&f.type===z.Wall){const p=f;p.roofId=null,p.leftRoofHeight=void 0,p.rightRoofHeight=void 0,p.centerRoofHeight=void 0,p.centerLeftRoofHeight=void 0,p.centerRightRoofHeight=void 0;break}})},[r,a,l]);const s=d=>!(d.button===2||M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().objectTypeToAdd!==z.None||M.getState().isAddingElement()),c=d=>{s(d)&&(M.getState().set(f=>{f.contextMenuObjectType=null}),M.getState().selectMe(i,d,zo.Select))},u=d=>{M.getState().selectMe(i,d,zo.ContextMenu),M.getState().set(f=>{d.intersections.length>0&&d.intersections[0].object===d.eventObject&&(f.contextMenuObjectType=z.Wall)})};return h.jsx(sa,{args:[e,n],rotation:[Vt,0,0],visible:!1,onPointerDown:c,onContextMenu:u,children:h.jsx("meshBasicMaterial",{side:ji})})},R$t=Se.memo(C$t),tSe=({cy:t,size:e,type:n})=>{const[o,i]=m.useState(Fk),r=()=>{i(nr)},a=()=>{i(Fk)};return h.jsx(ts,{name:n,args:[e],position:[0,t,0],onPointerEnter:r,onPointerOut:a,children:h.jsx("meshBasicMaterial",{attach:"material",color:o})})},H$t=({ply:t,phz:e})=>{const n=UH(),o=i=>{i.intersections.length>0&&i.intersections[0].eventObject.parent===i.eventObject&&(M.getState().set(r=>{r.moveHandleType=i.object.name}),Ln.getState().setEnableOrbitController(!1))};return h.jsxs("group",{name:"Move Handle Group",position:[0,0,-e],onPointerDown:o,children:[h.jsx(tSe,{cy:-n,size:n,type:yo.Lower}),h.jsx(tSe,{cy:t+n,size:n,type:yo.Upper})]})},M$t=Se.memo(H$t),I$t="#ADD8E6",b4=Se.memo(({x:t,z:e,handleType:n,highLight:o,handleSize:i,partial:r})=>{const a=M(dn),l=M(yh),s=M(cYe),[c,u]=m.useState(!1),d=o||c||n===l||s&&(n===yt.LowerRight||n===yt.UpperRight)?nr:r?I$t:pr;let f=i,p=i,g=i;if(n===yt.LowerRight||n===yt.LowerLeft)f=i*1.7;else if(r){f*=.75,p=i/2,g=i*2.5;const y=g/4;n===yt.WallPartialResizeLeft||n===yt.WallPartialResizeRight?e-=y:(n===yt.WallPartialResizeLeftTop||n===yt.WallPartialResizeRightTop)&&(e+=y)}else p=i/2,g=i*1.7;return h.jsx(Ei,{name:n,args:[f,p,g],position:[t,0,e],onPointerOver:()=>{u(!0),a(y=>{y.hoveredHandle=n})},onPointerLeave:()=>{u(!1),a(y=>{y.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{color:d})})}),z$t=Se.memo(({id:t,parentLz:e,roofId:n,x:o,z:i,absAngle:r,leftUnfilledHeight:a,rightUnfilledHeight:l,leftTopPartialResizeHandleHeight:s,rightTopPartialResizeHandleHeight:c,fill:u,wallLeftHeight:d,wallRightHeight:f,highLight:p,leftJoints:g,rightJoints:y})=>{const A=M(dn),x=M(hu),C=UH(),[b,v]=m.useState(!1),[S,w]=m.useState(new ae),[T,P]=m.useState(new Qt),R=m.useRef(null),H=m.useRef(!1),D=m.useRef([i*2,a,l]),E=m.useRef(new Map),L=m.useRef(null),U=m.useRef(null),F=m.useRef([]),W=m.useMemo(()=>{if(!n)return null;const q=M.getState().elements.find(le=>le.id===n&&le.type===z.Roof);return q?q.roofType:null},[n]);x&&(i=-i);const B=q=>{const le=M.getState().cameraDirection,ie=Math.atan2(le.x,le.y);w(new ae(q,0,0)),P(new Qt(Vt,0,-ie-r,"ZXY")),v(!0)},k=(q,le,ie)=>{const[pe,ne,Z,he,fe]=le;A(se=>{for(const oe of se.elements)if(oe.id===q&&oe.type===z.Wall){const de=oe;oe.lz=pe,de.leftUnfilledHeight=ne,de.rightUnfilledHeight=Z,de.leftTopPartialHeight=he,de.rightTopPartialHeight=fe}else if(oe.type===z.Wall&&ie.has(oe.id)){const de=ie.get(oe.id);de!==void 0&&(oe.lz=de,oe.cz=de/2)}})},N=()=>{n&&(g.length>0||y.length>0)&&(W===Vo.Gable||W===Vo.Gambrel?M.getState().elements.forEach(q=>{q.id===g[0]&&(L.current=q.lz),q.id===y[0]&&(U.current=q.lz)}):(E.current.clear(),M.getState().elements.forEach(q=>{q.type===z.Wall&&q.roofId===n&&E.current.set(q.id,q.lz)})))},j=()=>{F.current=M.getState().elements.filter(q=>q.parentId===t)},Y=(q,le,ie,pe,ne)=>{const{lx:Z,lz:he,roofId:fe,leftRoofHeight:se,rightRoofHeight:oe,centerLeftRoofHeight:de,centerRightRoofHeight:ve,centerRoofHeight:Pe}=q,me=u===Hl.Partial,Re=me?Math.min(d,pe):d,ze=me?Math.min(f,ne):f,Ae=me&&(!be.isZero(d-Re)||!be.isZero(f-ze)),[re,ge]=[Z/2,he/2],we=[];return we.push({x:-re,y:-ge+le},{x:re,y:-ge+ie}),Ae?we.push({x:re,y:-ge+ze},{x:-re,y:-ge+Re}):fe?(oe?we.push({x:re,y:-ge+oe}):we.push({x:re,y:ge}),ve&&we.push({x:ve[0]*Z,y:-ge+ve[1]}),Pe&&we.push({x:Pe[0]*Z,y:-ge+Pe[1]}),de&&we.push({x:de[0]*Z,y:-ge+de[1]}),se?we.push({x:-re,y:-ge+se}):we.push({x:-re,y:ge})):we.push({x:re,y:ge},{x:-re,y:ge}),we},_=(q,le,ie,pe,ne)=>{const Z=Y(q,le,ie,pe,ne);if(F.current.length>0)for(const he of F.current){let{cx:fe,cz:se,lx:oe,ly:de,lz:ve}=he;if(fe*=q.lx,se*=q.lz,he.type!==z.SolarPanel?(oe*=q.lx,ve*=q.lz):ve=de,he.type===z.Window&&he.windowType===Sr.Polygonal){const[Pe,me]=he.polygonTop??jp,Re=fe+Pe*oe,ze=se+ve/2+me;if(!be.isPointInside(Re,ze,Z))return!1}if(!be.isElementInsideWall(new ae(fe,0,se),oe,ve,Z,he.type===z.Door))return!1}return!0},J=()=>{L.current=null,U.current=null},Q=q=>{var ie;if(M.getState().addedWallId||q.object!==((ie=q.intersections[0])==null?void 0:ie.object))return;const le=q.object;switch(le.name){case yt.LowerLeft:{A(pe=>{pe.resizeAnchor.copy(le.localToWorld(new ae(o*2,0,0)))});break}case yt.LowerRight:{A(pe=>{pe.resizeAnchor.copy(le.localToWorld(new ae(-o*2,0,0)))});break}case yt.UpperLeft:case yt.WallPartialResizeLeft:case yt.WallPartialResizeLeftTop:{B(-o),N(),j();break}case yt.UpperRight:case yt.WallPartialResizeRight:case yt.WallPartialResizeRightTop:{B(o),N(),j();break}default:console.error("Wall resize handle unknown");return}A(pe=>{pe.resizeHandleType=le.name}),Ln.getState().setEnableOrbitController(!1),H.current=!0,D.current=[i*2,a,l,s,c]},ee=q=>{if(q.intersections.length===0||!H.current)return;const le=q.intersections[0].point;switch(M.getState().resizeHandleType){case yt.UpperLeft:case yt.UpperRight:{A(ie=>{const pe=u===Hl.Partial?Math.max(a,l):0;let ne=Math.max(pe+C,le.z-e);if(W===null||W===Vo.Gable||W===Vo.Gambrel){if(L.current||U.current){const Z=Math.abs(ne-(L.current??1/0)),he=Math.abs(ne-(U.current??1/0));Z{for(const pe of ie.elements)if(pe.id===t&&pe.type===z.Wall){const ne=pe;let Z=be.clamp(le.z-e,0,ne.leftTopPartialHeight);if(ne.leftJoints.length>0){const he=ie.elements.find(fe=>fe.id===ne.leftJoints[0]&&fe.type===z.Wall);if(he&&he.fill===Hl.Partial){const fe=he.rightUnfilledHeight;Math.abs(Z-fe)<.5&&(Z=fe)}}_(ne,Z,ie.enableFineGrid?Z:ne.rightUnfilledHeight,ne.leftTopPartialHeight,ne.rightTopPartialHeight)&&(ne.leftUnfilledHeight=Z,ie.enableFineGrid&&(ne.rightUnfilledHeight=Z));break}});break}case yt.WallPartialResizeRight:{A(ie=>{for(const pe of ie.elements)if(pe.id===t&&pe.type===z.Wall){const ne=pe;let Z=be.clamp(le.z-e,0,ne.rightTopPartialHeight);if(ne.rightJoints.length>0){const he=ie.elements.find(fe=>fe.id===ne.rightJoints[0]&&fe.type===z.Wall);if(he&&he.fill===Hl.Partial){const fe=he.leftUnfilledHeight;Math.abs(Z-fe)<.5&&(Z=fe)}}_(ne,ie.enableFineGrid?Z:ne.leftUnfilledHeight,Z,ne.leftTopPartialHeight,ne.rightTopPartialHeight)&&(ne.rightUnfilledHeight=Z,ie.enableFineGrid&&(ne.leftUnfilledHeight=Z));break}});break}case yt.WallPartialResizeLeftTop:{A(ie=>{const pe=ie.elements.find(ne=>ne.id===t&&ne.type===z.Wall);if(pe){let ne=be.clamp(le.z-e,pe.leftUnfilledHeight,pe.lz);if(pe.leftJoints.length>0){const Z=ie.elements.find(he=>he.id===pe.leftJoints[0]&&he.type===z.Wall);if(Z&&Z.fill===Hl.Partial){const he=Z.rightTopPartialHeight;Math.abs(ne-he)<.5&&(ne=he)}}_(pe,pe.leftUnfilledHeight,pe.rightUnfilledHeight,ne,ie.enableFineGrid?ne:pe.rightTopPartialHeight)&&(pe.leftTopPartialHeight=ne,ie.enableFineGrid&&(pe.rightTopPartialHeight=ne))}});break}case yt.WallPartialResizeRightTop:{A(ie=>{const pe=ie.elements.find(ne=>ne.id===t&&ne.type===z.Wall);if(pe){let ne=be.clamp(le.z-e,pe.rightUnfilledHeight,pe.lz);if(pe.rightJoints.length>0){const Z=ie.elements.find(he=>he.id===pe.rightJoints[0]&&he.type===z.Wall);if(Z&&Z.fill===Hl.Partial){const he=Z.leftTopPartialHeight;Math.abs(ne-he)<.5&&(ne=he)}}_(pe,pe.leftUnfilledHeight,pe.rightUnfilledHeight,ie.enableFineGrid?ne:pe.leftTopPartialHeight,ne)&&(pe.rightTopPartialHeight=ne,ie.enableFineGrid&&(pe.leftTopPartialHeight=ne))}});break}}},$=()=>{Ln.getState().setEnableOrbitController(!0),v(!1),J(),H.current=!1;const q=new Map;n&&W!==Vo.Gable&&W!==Vo.Gambrel&&M.getState().elements.forEach(ie=>{ie.type===z.Wall&&ie.roofId===n&&q.set(ie.id,ie.lz)});const le={name:"Change Wall Height",timestamp:Date.now(),resizedElementId:t,resizedElementType:z.Wall,oldHeights:[...D.current],newHeights:[i*2,a,l,s,c],oldSameBuildingWallsHeightMap:new Map(E.current),newSameBuildingWallsHeightMap:q,undo(){k(this.resizedElementId,this.oldHeights,this.oldSameBuildingWallsHeightMap)},redo(){k(this.resizedElementId,this.newHeights,this.newSameBuildingWallsHeightMap)}};M.getState().addUndoable(le),A(ie=>{ie.actionState.wallHeight=i*2,ie.resizeHandleType=null})};return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Wall Resize Handle Group",onPointerDown:Q,children:[h.jsx(b4,{x:-o,z:-i,handleType:yt.LowerLeft,highLight:p,handleSize:C}),h.jsx(b4,{x:o,z:-i,handleType:yt.LowerRight,highLight:p,handleSize:C}),!x&&h.jsxs(h.Fragment,{children:[h.jsx(b4,{x:-o,z:i,handleType:yt.UpperLeft,highLight:p,handleSize:C}),h.jsx(b4,{x:o,z:i,handleType:yt.UpperRight,highLight:p,handleSize:C}),u===Hl.Partial&&h.jsxs(h.Fragment,{children:[h.jsx(b4,{x:-o,z:-i+a,handleType:yt.WallPartialResizeLeft,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:o,z:-i+l,handleType:yt.WallPartialResizeRight,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:-o,z:-i+s,handleType:yt.WallPartialResizeLeftTop,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:o,z:-i+c,handleType:yt.WallPartialResizeRightTop,highLight:p,handleSize:C,partial:!0})]})]})]}),b&&h.jsx(sa,{ref:R,position:S,rotation:T,args:[1e4,1e4],visible:!1,onPointerMove:ee,onPointerUp:$,children:h.jsx("meshBasicMaterial",{side:ji})})]})}),D$t=({wallModel:t,foundationModel:e})=>{const{id:n,roofId:o,cx:i,cy:r,lx:a,ly:l,lz:s,relativeAngle:c,fill:u,locked:d,leftUnfilledHeight:f,rightUnfilledHeight:p,leftTopPartialHeight:g,rightTopPartialHeight:y,leftJoints:A,rightJoints:x}=t,C=Hs(n),[b,v]=[a/2,s/2],S=u===Hl.Partial,w=A.length>0?t.leftRoofHeight:s,T=x.length>0?t.rightRoofHeight:s,P=w??s,R=T??s,H=S?Math.min(P,g):P,D=S?Math.min(R,y):R,E=a===0,L=()=>u===Hl.Empty?h.jsx(R$t,{...t}):h.jsx(HQt,{wallModel:t,foundationModel:e});return h.jsxs("group",{name:`Wall Group ${n}`,position:[i,r,v],rotation:[0,0,c],userData:{aabb:!0},children:[L(),C&&!d&&h.jsxs(h.Fragment,{children:[a>.5&&h.jsx(M$t,{ply:l,phz:v}),h.jsx(z$t,{id:n,parentLz:e.lz,roofId:o,absAngle:c+e.rotation[2],x:b,z:v,leftUnfilledHeight:f,rightUnfilledHeight:p,leftTopPartialResizeHandleHeight:H,rightTopPartialResizeHandleHeight:D,fill:u,wallLeftHeight:P,wallRightHeight:R,highLight:E,leftJoints:A,rightJoints:x})]})]})},E$t=(t,e)=>t.wallModel===e.wallModel,k$t=Se.memo(D$t,E$t),sqe="Building Group",F$t=t=>{const{id:e,lx:n,ly:o,lz:i}=t,r=l=>l.foundationId!==e?!1:l.type===z.Wall||l.type===z.Roof||l.type===z.SolarPanel&&l.parentType===z.Roof||l.type===z.Window&&l.parentType===z.Roof,a=M(l=>l.elements.filter(r),a3);return a.length===0?null:h.jsx("group",{name:sqe,position:[0,0,i/2],children:a.map(l=>{switch(l.type){case z.Wall:return h.jsx(k$t,{wallModel:l,foundationModel:t},l.id);case z.Roof:return h.jsx(c$t,{roofModel:l,foundationModel:t},l.id);case z.SolarPanel:return h.jsx(P$t,{...l,cx:l.cx*n,cy:l.cy*o,cz:l.cz,foundationModel:t},l.id);case z.Window:return h.jsx(fqe,{...l,cz:l.cz},l.id);default:return null}})})},L$t=(t,e)=>t.lx===e.lx&&t.ly===e.ly&&t.lz===e.lz&&t.rotation===e.rotation,W$t=Se.memo(F$t,L$t),N$t=t=>{let{id:e,pvModelName:n="SPR-X21-335-BLK",cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,tiltAngle:c,relativeAzimuth:u,trackerType:d=Ma.NO_TRACKER,poleHeight:f,poleRadius:p,poleSpacing:g,drawSunBeam:y,color:A="white",lineColor:x="black",lineWidth:C=.1,showLabel:b=!1,locked:v=!1,orientation:S=ci.landscape,parentPosition:w,parentRotation:T}=t;const P=[0,0,1],R=M(dn),H=M(Sc),D=M(Ya),E=M(Xs),L=M(Jn),U=gt(cs),F=M(ss),W=M(pq),B=M(jn),k=M(Vc),N=M(rge),j=M(mh),Y=M(yh),_=M(sW),J=M(En),Q=M(hu)??!1,ee=M(C7),$=Hs(e),{gl:{domElement:q},camera:le}=Xi(),[ie,pe]=m.useState(!1),[ne,Z]=m.useState(null),he=m.useRef(null),fe=m.useRef(null),se=m.useRef(null),oe=m.useRef(null),de=m.useRef(null),ve=m.useRef(null),Pe=m.useRef(null),me=m.useRef(!1),Re=m.useRef(0),ze=m.useRef(0),Ae=m.useRef(),re=m.useMemo(()=>new Gs,[]),ge=Math.max(100,10*j),we=ee[n],ye=m.useMemo(()=>({lng:H}),[H]);we&&(s=Math.max(we.thickness,.02));const Te=a/2,Ie=l/2,Ce=s/2,Ee=new ae(-Te,-Ie,Ce),Ue=new ae(-Te,Ie,Ce),Ne=new ae(Te,-Ie,Ce),Le=new ae(Te,Ie,Ce),qe=L.length<100?4:2;m.useEffect(()=>{if(we){let At,Mt;S===ci.portrait?(At=Math.max(1,Math.round(a/we.width)),Mt=Math.max(1,Math.round(l/we.length))):(At=Math.max(1,Math.round(a/we.length)),Mt=Math.max(1,Math.round(l/we.width))),Ae.current=[];const st=a/At,ft=l/Mt;for(let Rt=0;Rt<=At;Rt++)Ae.current.push({points:[new ae(-Te+Rt*st,-Ie,s),new ae(-Te+Rt*st,Ie,s)]});for(let Rt=0;Rt<=Mt;Rt++)Ae.current.push({points:[new ae(-Te,-Ie+Rt*ft,s),new ae(Te,-Ie+Rt*ft,s)]})}},[S,n,a,l,s]),m.useEffect(()=>{const At=()=>{Ln.getState().setEnableOrbitController(!0),me.current=!1,vt(!1)};return window.addEventListener("pointerup",At),()=>{window.removeEventListener("pointerup",At)}},[]);const We=m.useMemo(()=>(t!=null&&t.label?t.label:O.t("shared.SolarPanelElement",ye))+(t!=null&&t.locked?" ("+O.t("shared.ElementLocked",ye)+")":"")+(t!=null&&t.label?"":` -`+O.t("word.Coordinates",ye)+": ("+o.toFixed(1)+", "+i.toFixed(1)+", "+r.toFixed(1)+") "+O.t("word.MeterAbbreviation",ye)),[t==null?void 0:t.label,t==null?void 0:t.locked,ye,o,i,r]),De=(At,Mt)=>{At.intersections.length>0&&At.intersections[0].object===At.eventObject&&(Z(Mt),Mt===yo.Top?q.style.cursor="move":Mt===wi.Lower||Mt===wi.Upper||Mt===wi.Tilt?q.style.cursor="grab":q.style.cursor="pointer")},Fe=()=>{Z(null),q.style.cursor="default"},_e=m.useMemo(()=>zr(new Date(D),E),[D,E]),ot=T?_e.clone().applyAxisAngle(Po,-T):_e,Ye=m.useMemo(()=>{if(_e.z>0)switch(d){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:const At=Math.hypot(ot.x,ot.y);return new Qt(Math.atan2(At,ot.z),0,Math.atan2(ot.y,ot.x)+Vt,"ZXY");case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:return new Qt(0,Math.atan2(ot.x,ot.z),0,"ZXY");case Ma.VERTICAL_SINGLE_AXIS_TRACKER:return new Qt(c,0,Math.atan2(ot.y,ot.x)+Vt,"ZXY")}return new Qt(c,0,u,"ZXY")},[d,_e,c,u]),St=m.useMemo(()=>{const At=new ae;return y?At.fromArray(P).applyEuler(new Qt(Ye.x,Ye.y,Ye.z+T,"ZXY")):At},[y,P,Ye,T]),dt=-f/2-s/2,je=m.useMemo(()=>{const At=[],Mt=Math.floor(.5*a/g),st=Math.floor(.5*l*Math.abs(Math.cos(c))/g),ft=.5*Math.sin(c),Rt=Math.cos(u)*g,zt=Math.sin(u)*g;for(let Xe=-Mt;Xe<=Mt;Xe++)for(let ht=-st;ht<=st;ht++){const Je=Xe*Rt-ht*zt,mt=Xe*zt+ht*Rt;At.push(new ae(Je,mt,dt+ft*g*ht))}return At},[u,c,g,a,l,dt]),at=Math.max(1,(a+l)/16),ut=I9*at*1.5,wt=Af*at*2,rt=at*2/3,Qe=rt,Oe=new Array(13).fill(0),[et,vt]=m.useState(!1),ct=iQ(a,l,we,S,t==null?void 0:t.frameColor,t==null?void 0:t.backsheetColor),lt=oQ(e),tt=()=>U&<?h.jsx("meshBasicMaterial",{attach:"material-4",map:lt}):ct?Q||W===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:ct,color:A}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((we==null?void 0:we.color)==="Blue"?Kw:qw),shininess:W??Xm,side:ia,map:ct,color:A}):null,it=()=>(we==null?void 0:we.bifacialityFactor)===0||Q||f===0&&c===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:A}):ct?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((we==null?void 0:we.color)==="Blue"?Kw:qw),shininess:W??Xm,side:ia,map:ct,color:A}):null;return h.jsxs("group",{name:"Solar Panel Group Grandpa "+e,position:[o,i,r+Ce],children:[h.jsxs("group",{name:"Solar Panel Group Dad "+e,rotation:Ye,children:[h.jsxs(Ei,{receiveShadow:F,castShadow:F,uuid:e,ref:he,args:[a,l,s],name:"Solar Panel",onPointerDown:At=>{At.button!==2&&k(e,At,zo.Select)},onContextMenu:At=>{k(e,At,zo.ContextMenu),R(Mt=>{At.intersections.length>0&&At.intersections[0].object===he.current&&(Mt.contextMenuObjectType=z.SolarPanel)})},onPointerOver:At=>{At.intersections.length>0&&At.intersections[0].object===he.current&&(pe(!0),q.style.cursor="move")},onPointerOut:At=>{pe(!1),q.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:A}),h.jsx("meshStandardMaterial",{attach:"material-1",color:A}),h.jsx("meshStandardMaterial",{attach:"material-2",color:A}),h.jsx("meshStandardMaterial",{attach:"material-3",color:A}),tt(),it()]}),U&<&&Ae.current&&Ae.current.map((At,Mt)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:At.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Mt)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:e,args:[a,l],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),$&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Te,-Ie,0],[-Te,Ie,0],[Te,Ie,0],[Te,-Ie,0],[-Te,-Ie,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0}),$&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:fe,position:new ae(0,0,0),args:[wt,6,6],name:yo.Default,onPointerOver:At=>{De(At,yo.Top)},onPointerOut:At=>{Fe()},onPointerDown:At=>{k(e,At,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:se,position:[(Ee.x+Ne.x)/2,Ee.y,Ee.z],args:[ut,ut,s*1.2],name:yt.Lower,onPointerDown:At=>{k(e,At,zo.Resize),de.current&&R(Mt=>{const st=se.current.localToWorld(new ae(0,l,-Ee.z));Mt.resizeAnchor.copy(st)})},onPointerOver:At=>{De(At,yt.Lower)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yt.Lower||Y===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:oe,position:[(Ue.x+Le.x)/2,Ue.y,Ue.z],args:[ut,ut,s*1.2],name:yt.Upper,onPointerDown:At=>{k(e,At,zo.Resize),de.current&&R(Mt=>{const st=oe.current.localToWorld(new ae(0,-l,-Ue.z));Mt.resizeAnchor.copy(st)})},onPointerOver:At=>{De(At,yt.Upper)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yt.Upper||Y===yt.Upper?nr:pr})}),h.jsx(Ei,{ref:de,position:[Ee.x,(Ee.y+Ue.y)/2,Ee.z],args:[ut,ut,s*1.2],name:yt.Left,onPointerDown:At=>{k(e,At,zo.Resize),de.current&&R(Mt=>{const st=de.current.localToWorld(new ae(a,0,-Ee.z));Mt.resizeAnchor.copy(st)})},onPointerOver:At=>{De(At,yt.Left)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yt.Left||Y===yt.Left?nr:pr})}),h.jsx(Ei,{ref:ve,position:[Ne.x,(Ne.y+Le.y)/2,Ne.z],args:[ut,ut,s*1.2],name:yt.Right,onPointerDown:At=>{k(e,At,zo.Resize),de.current&&R(Mt=>{const st=ve.current.localToWorld(new ae(-a,0,-Ne.z));Mt.resizeAnchor.copy(st)})},onPointerOver:At=>{De(At,yt.Right)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yt.Right||Y===yt.Right?nr:pr})})]})]})]}),$&&!v&&d===Ma.NO_TRACKER&&h.jsxs("group",{position:[0,0,-f],rotation:[0,0,Ye.z],children:[h.jsx(l7,{id:e,position:[0,-Ie-rt/2,f],color:ne===wi.Upper||_===wi.Upper?nr:pr,ratio:rt,handleType:wi.Upper,hoverHandle:De,noHoverHandle:Fe}),h.jsx(l7,{id:e,position:[0,Ie+rt/2,f],color:ne===wi.Lower||_===wi.Lower?nr:pr,ratio:rt,handleType:wi.Lower,hoverHandle:De,noHoverHandle:Fe})]}),$&&!v&&d===Ma.NO_TRACKER&&Math.abs(f)>.1&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[Qe,1.1*Qe,18,2,-Vt,Math.PI],rotation:[0,-Vt,Ye.z,"ZXY"],onPointerOver:At=>{De(At,wi.Tilt)},onPointerOut:At=>{Fe()},onPointerDown:At=>{if(vt(!0),ne){Ln.getState().setEnableOrbitController(!1),me.current=!0;const Mt=B(e);Re.current=Mt.tiltAngle}R(Mt=>{Mt.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:ne===wi.Tilt||et?nr:pr})}),et&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:Pe,name:"Solar panel tilt handle",args:[Qe,2*Qe,18,2,-Vt,Math.PI],rotation:[0,-Vt,Ye.z,"ZXY"],onPointerDown:At=>{},onPointerUp:At=>{if(Math.abs(ze.current-Re.current)>kt){const Mt={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Re.current,newValue:ze.current,changedElementId:e,changedElementType:z.SolarPanel,undo:()=>{N(Mt.changedElementId,Mt.oldValue)},redo:()=>{N(Mt.changedElementId,Mt.newValue)}};J(Mt)}},onPointerMove:At=>{if(me.current){const Mt=new Gt;if(Mt.x=At.offsetX/q.clientWidth*2-1,Mt.y=-(At.offsetY/q.clientHeight)*2+1,re.setFromCamera(Mt,le),Pe.current){const st=re.intersectObjects([Pe.current]);if(st.length>0){const ft=st[0].point,Rt=new ae(o,i).applyEuler(new Qt(0,0,T)).add(new ae().fromArray(w)).setZ(w[2]+r+Ce),zt=new ae().subVectors(ft,Rt);let Xe=zt.angleTo(Po);if(!(.5*t.ly*Math.abs(Math.sin(Xe))>t.poleHeight)){const Je=u,mt=Je%Math.PI===0?Math.sign(-zt.y)*Math.sign(Math.cos(Je)):Math.sign(zt.x)*Math.sign(Math.sin(Je));Xe*=mt,N(e,Xe),ze.current=Xe}}}}},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,Qe],[0,0,1.75*Qe]],rotation:new Qt(c,0,Ye.z,"ZXY"),lineWidth:1}),Oe.map((At,Mt)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*Mt-Vt,0,Ye.z,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*Qe],[0,0,2*Qe]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Mt*15-90}°`,fontSize:20*Qe,fontFace:"Times Roman",textHeight:.15*Qe,position:[0,0,1.6*Qe]})]},Mt)),h.jsx("group",{rotation:new Qt(c,0,Ye.z,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(c/Math.PI*180)}°`,fontSize:20*Qe,fontFace:"Times Roman",textHeight:.2*Qe,position:[0,0,.75*Qe]})})]})]}),f>0&&je.map((At,Mt)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+Mt,castShadow:!1,receiveShadow:!1,args:[p,p,f+(At.z-dt)*2+s,qe,1],position:At,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:A})},Mt)),y&&_e.z>0&&h.jsxs("group",{rotation:[0,0,-T],children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[St.clone().multiplyScalar(.75),[0,0,0],_e.clone().multiplyScalar(ge)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[_e.clone().multiplyScalar(.5),St.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:be.toDegrees(_e.angleTo(St)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:_e.clone().multiplyScalar(.75).add(St.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:St.clone().multiplyScalar(.75),rotation:[Vt+Ye.x,0,Ye.z+T,"ZXY"],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",rotation:[0,0,-Ye.y],children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]}),(ie||b)&&!$&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:We,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(Ie*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})},U$t=Se.memo(N$t),nSe=Se.memo(({hx:t,hy:e,position:n,direction:o,color:i})=>{if(n===null)return null;const[r,a]=n,l=[];if(o==="x")l.push([-t,a,0]),l.push([t,a,0]);else if(o==="y")l.push([r,-e,0]),l.push([r,e,0]);else return o==="xy"?h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[[-t,a,0],[t,a,0]],color:i}),h.jsx(Fn,{points:[[r,-e,0],[r,e,0]],color:i})]}):null;return h.jsx(Fn,{points:l,color:i})}),cqe="Foundation Group",B$t=Se.memo(t=>{const{id:e,cx:n,cy:o,lx:i=1,ly:r=1,lz:a=.1,rotation:l=[0,0,0],color:s="gray",lineColor:c="black",lineWidth:u=.2,locked:d=!1,showLabel:f=!1,textureType:p=Or.NoTexture,solarStructure:g}=t,y=Hs(e),A=M(Sc),x=M(hu),C=M(jn),b=M(xb),v=M(dn),S=M(e3),w=M(nge),T=M(t3),P=M(R7),R=M(pge),H=M(gge),D=M(G8t),E=M(age),L=M(tje),U=M(H7),F=M(Rje),W=M(Hje),B=M(hp),k=M(Vc),N=M(sge),j=M(J2),Y=M(U8t),_=M(V8t),J=M(ss),Q=M(sA),ee=M(Hq),$=M(En),q=M(fge),le=M(tge),ie=M(ey),pe=gt(cs),ne=M(wf),Z=M(U1e),he=bn(n1),{camera:fe,gl:{domElement:se}}=Xi(),[oe,de]=m.useState(!1),[ve,Pe]=m.useState(null),[me,Re]=m.useState(!1),[ze,Ae]=m.useState({show:!1,direction:null,position:null}),[re,ge]=m.useState([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]),we=m.useRef(null),ye=m.useRef(!1),Te=m.useRef(!1),Ie=m.useRef(null),Ce=m.useRef(Ki.null),Ee=m.useRef(new Map),Ue=m.useRef(null),Ne=m.useRef(null),Le=m.useRef(null),qe=m.useRef(null),We=m.useRef(null),De=m.useRef(null),Fe=m.useRef(null),_e=m.useRef(null),ot=m.useRef(null),Ye=m.useRef(null),St=m.useRef(null),dt=m.useRef(null),je=m.useRef(new ae),at=m.useRef(new ae),ut=m.useRef(new ae(1,1,1)),wt=m.useRef(new ae(1,1,1)),rt=m.useRef(0),Qe=m.useRef(0),Oe=m.useRef([]),et=m.useRef([]),vt=m.useRef([]),ct=m.useRef([]),lt=m.useRef([]),tt=m.useRef([]),it=m.useMemo(()=>({lng:A}),[A]),At=m.useMemo(()=>new Gt,[]),Mt=m.useMemo(()=>new Gs,[]),st=i/2,ft=r/2,Rt=a/2,zt=m.useMemo(()=>new ae(-st,-ft,Rt),[st,ft,Rt]),Xe=m.useMemo(()=>new ae(-st,ft,Rt),[st,ft,Rt]),ht=m.useMemo(()=>new ae(st,-ft,Rt),[st,ft,Rt]),Je=m.useMemo(()=>new ae(st,ft,Rt),[st,ft,Rt]),mt=UH(),Ge=mt,xt=mt,It=mt*4,Tt=ft+It,Dt=m.useRef(!1),Lt=m.useRef(null),Et=M(j8t),an=M(dYe),Jt=m.useMemo(()=>new ae,[]);if(Le.current){let sn=-1;switch(Le.current.type){case z.SolarPanel:{sn=Le.current.poleHeight;break}case z.ParabolicTrough:{const qt=Le.current;sn=qt.poleHeight+qt.lx/2;break}case z.ParabolicDish:{const qt=Le.current;sn=qt.poleHeight+qt.lx/2+qt.lx*qt.lx/(4*qt.latusRectum);break}case z.FresnelReflector:{const qt=Le.current;sn=qt.poleHeight+qt.lx/2;break}}sn>=0&&Jt.set(0,0,(t==null?void 0:t.lz)/2+sn)}m.useEffect(()=>{Ee.current.clear();for(const sn of M.getState().elements)sn.type===z.Wall&&sn.parentId===e&&Ee.current.set(sn.id,sn)},[e,_]),m.useEffect(()=>{Y&&Y===we.current&&(Ee.current.delete(Y),ye.current=!1,Te.current=!1,we.current=null,v(sn=>{sn.addedWallId===sn.deletedWallId&&(sn.addedWallId=null),sn.deletedWallId=null}),Ln.getState().setEnableOrbitController(!0),Ae({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]))},[Y]),m.useEffect(()=>{if(t&&pe){const sn=he(t.id);Pe(sn?be.fetchHeatmapTexture(sn,ne??5):null)}},[pe,ne,Z]),m.useEffect(()=>{!Dt.current||!M.getState().getAutoDeletedElements()||hn()},[Et,an]);const hn=M2.debounce(()=>{if(!Lt.current)return;const sn=M.getState().getAutoDeletedElements();if(!sn)return;const{wall:qt,newAngle:jt,newJoints:pn}=Lt.current,Tn={name:"Move Wall",timestamp:Date.now(),id:qt.id,oldPoints:[[...lt.current[0]],[...lt.current[1]]],newPoints:[[...qt.leftPoint],[...qt.rightPoint]],oldJoints:[[...vt.current[0]],[...vt.current[1]]],newJoints:[[...pn[0]],[...pn[1]]],oldAngle:rt.current,newAngle:jt,flippedWallSide:Ce.current,autoDeletedElements:[...sn],undo(){switch(this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Bt=C(this.newJoints[0][0]);Bt&&qo(Bt);break}case Ki.right:{const Bt=C(this.newJoints[1][0]);Bt&&Hi(Bt);break}}const[$e,Pt]=this.oldJoints,[Nt,Ct]=this.newJoints;v(Bt=>{for(const Xt of Bt.elements)if(Xt.id===this.id){const[rn,gn]=this.oldPoints;Xt.cx=(rn[0]+gn[0])/2,Xt.cy=(rn[1]+gn[1])/2,Xt.lx=Math.hypot(rn[0]-gn[0],rn[1]-gn[1]);const mn=Xt;mn.relativeAngle=this.oldAngle,mn.leftPoint=[...rn],mn.rightPoint=[...gn],mn.leftJoints=[...$e],mn.rightJoints=[...Pt];break}Bt.resizeHandleType=null,Bt.elements.push(...this.autoDeletedElements),Bt.deletedRoofId=null,Bt.autoDeletedChild=null,Bt.autoDeletedRoofs=null,Bt.autoDeletedRoofIdSet.clear()}),$e[0]!==Nt[0]&&v(Bt=>{for(const Xt of Bt.elements)Xt.type===z.Wall&&(Xt.id===$e[0]&&(Xt.rightJoints=[this.id]),Xt.id===Nt[0]&&(this.flippedWallSide!==Ki.left?Xt.rightJoints=[]:Xt.leftJoints=[]))}),Pt[0]!==Ct[0]&&v(Bt=>{for(const Xt of Bt.elements)Xt.type===z.Wall&&(Xt.id===Pt[0]&&(Xt.leftJoints=[this.id]),Xt.id===Ct[0]&&(this.flippedWallSide!==Ki.right?Xt.leftJoints=[]:Xt.rightJoints=[]))}),Ce.current=Ki.null},redo(){const[$e,Pt]=this.oldJoints,[Nt,Ct]=this.newJoints;switch(v(Xt=>{for(const rn of Xt.elements)if(rn.id===this.id&&rn.type===z.Wall){const[gn,mn]=this.newPoints;rn.cx=(gn[0]+mn[0])/2,rn.cy=(gn[1]+mn[1])/2,rn.lx=Math.hypot(gn[0]-mn[0],gn[1]-mn[1]);const vn=rn;vn.relativeAngle=this.newAngle,vn.leftPoint=[...gn],vn.rightPoint=[...mn],vn.leftJoints=[...Nt],vn.rightJoints=[...Ct];break}}),$e[0]!==Nt[0]&&v(Xt=>{for(const rn of Xt.elements)rn.type===z.Wall&&(rn.id===$e[0]&&(rn.rightJoints=[]),rn.id===Nt[0]&&(this.flippedWallSide===Ki.right?rn.leftJoints=[this.id]:rn.rightJoints=[this.id]))}),Pt[0]!==Ct[0]&&v(Xt=>{for(const rn of Xt.elements)rn.type===z.Wall&&(rn.id===Pt[0]&&(rn.leftJoints=[]),rn.id===Ct[0]&&(this.flippedWallSide===Ki.right?rn.rightJoints=[this.id]:rn.leftJoints=[this.id]))}),this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Xt=C(this.newJoints[0][0]);Xt&&Hi(Xt);break}case Ki.right:{const Xt=C(this.newJoints[1][0]);Xt&&qo(Xt);break}}const Bt=new Set(this.autoDeletedElements.map(Xt=>Xt.id));v(Xt=>{Xt.resizeHandleType=null,Xt.elements=Xt.elements.filter(gn=>!Bt.has(gn.id));const rn=this.autoDeletedElements.find(gn=>gn.type===z.Roof);rn&&(Xt.deletedRoofId=rn.id)}),Ce.current=Ki.null}};$(Tn),Dt.current=!1,v($e=>{$e.autoDeletedRoofs=null,$e.autoDeletedRoofIdSet.clear(),$e.autoDeletedChild=null})},100),cn=sn=>{At.x=sn.offsetX/se.clientWidth*2-1,At.y=-(sn.offsetY/se.clientHeight)*2+1,Mt.setFromCamera(At,fe)},Sn=sn=>{switch(sn){case Or.Texture01:return{x:1,y:1};case Or.Texture02:return{x:2,y:2};case Or.Texture03:return{x:.4,y:.4};case Or.Texture04:return{x:.25,y:.25};case Or.Texture05:return{x:5,y:5};case Or.Texture06:return{x:1,y:1};case Or.Texture07:return{x:1,y:1};default:return{x:1,y:1}}},Pn=m.useMemo(()=>{let sn;switch(p){case Or.Texture01:sn=tqe;break;case Or.Texture02:sn=nqe;break;case Or.Texture03:sn=oqe;break;case Or.Texture04:sn=iqe;break;case Or.Texture05:sn=rqe;break;case Or.Texture06:sn=aqe;break;case Or.Texture07:sn=lqe;break;default:sn=Q1}return new tf().load(sn,qt=>{qt.wrapS=qt.wrapT=Ss;const jt=Sn(p);qt.repeat.set(i/jt.x,r/jt.y),Ai(qt)})},[p,i,r]),[Un,Ai]=m.useState(Pn),vo=m.useCallback((sn,qt)=>{gt.getState().duringCameraInteraction||sn.intersections.length>0&&(sn.intersections[0].object===sn.eventObject||sn.intersections.length>1&&sn.intersections[1].object===sn.eventObject)&&(v(pn=>{pn.hoveredHandle=qt}),be.isMoveHandle(qt)?se.style.cursor="move":qt===wi.Lower||qt===wi.Upper?se.style.cursor="grab":se.style.cursor=M.getState().addedFoundationId?"crosshair":"pointer")},[]),Oo=m.useCallback(()=>{v(sn=>{sn.hoveredHandle=null}),se.style.cursor=M.getState().addedFoundationId?"crosshair":"default"},[]),li=sn=>{switch(sn){case z.Human:case z.Tree:case z.Flower:case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Wall:return!0;default:return!1}},po=(sn,qt)=>{let jt=qt,pn=null,Tn=null,$e=null,Pt;if(!M.getState().enableFineGrid)for(const[Nt,Ct]of Ee.current){if(Nt===we.current||Le.current&&Nt===Le.current.id)continue;const Bt=new ae(Ct.leftPoint[0],Ct.leftPoint[1],0),Xt=new ae(Ct.rightPoint[0],Ct.rightPoint[1],0),rn=(Bt==null?void 0:Bt.distanceTo(sn))??Number.MAX_VALUE,gn=(Xt==null?void 0:Xt.distanceTo(sn))??Number.MAX_VALUE,mn=rn<=gn,vn=mn?rn:gn,kn=mn?Bt:Xt;vn<=jt+.01&&(jt=vn,pn=kn,Pt=mn?Ct.leftJoints[0]:Ct.rightJoints[0],Tn=Nt,$e=mn?U1.Left:U1.Right)}return{id:Tn,point:pn,side:$e,jointId:Pt}},eo=(sn,qt)=>(M.getState().enableFineGrid?(sn=be.snapToFineGrid(sn),qt=null):qt?sn=qt:sn=be.snapToNormalGrid(sn),sn),uo=sn=>{Ee.current.clear();for(const jt of M.getState().elements)jt.type===z.Wall&&jt.parentId===e&&Ee.current.set(jt.id,jt);let qt=Ee.current.get(sn);for(;qt&&qt.leftJoints.length>0;){const jt=Ee.current.get(qt.id);if(!jt||(v(pn=>{for(const Tn of pn.elements)if(Tn.id===jt.id){const $e=Tn;$e.relativeAngle=(jt.relativeAngle+Math.PI)%na,$e.leftPoint=[...jt.rightPoint],$e.rightPoint=[...jt.leftPoint],$e.leftJoints=[jt.rightJoints[0]],$e.rightJoints=[jt.leftJoints[0]];break}}),qt=Ee.current.get(qt.leftJoints[0]),qt&&qt.id===sn))break}v(jt=>{jt.updateWallMapOnFoundationFlag=!jt.updateWallMapOnFoundationFlag,M.getState().resizeHandleType&&(jt.resizeHandleType=M.getState().resizeHandleType===yt.LowerLeft?yt.LowerRight:yt.LowerLeft)}),Ce.current=Ce.current===Ki.null?Ki.loop:Ki.null},qo=(sn,qt)=>{Ee.current.clear();for(const Tn of M.getState().elements)Tn.type===z.Wall&&Tn.parentId===e&&Ee.current.set(Tn.id,Tn);const jt=sn;let pn=sn;for(;pn;){const Tn=Ee.current.get(pn.id);if(!Tn)break;v(Pt=>{for(const Nt of Pt.elements)if(Tn&&Nt.id===Tn.id){const Ct=Nt;Ct.relativeAngle=(Tn.relativeAngle+Math.PI)%na,Ct.leftPoint=[...Tn.rightPoint],Ct.rightPoint=[...Tn.leftPoint],Ct.leftJoints=Tn.rightJoints.length>0?[Tn.rightJoints[0]]:[],Ct.rightJoints=Tn.leftJoints.length>0?[Tn.leftJoints[0]]:[];break}});let $e;if(Tn.leftJoints.length>0&&($e=Ee.current.get(Tn.leftJoints[0])),$e&&$e.id!==jt.id)pn=$e;else break}v(Tn=>{if(qt)for(const $e of Tn.elements)$e.type===z.Wall&&($e.id===jt.id&&($e.leftJoints=[qt.id]),$e.id===qt.id&&($e.rightJoints=[jt.id]));Tn.updateWallMapOnFoundationFlag=!Tn.updateWallMapOnFoundationFlag,Tn.resizeHandleType=yt.LowerLeft}),Ce.current=Ce.current===Ki.null?Ki.right:Ki.null},Hi=(sn,qt)=>{Ee.current.clear();for(const Tn of M.getState().elements)Tn.type===z.Wall&&Tn.parentId===e&&Ee.current.set(Tn.id,Tn);const jt=sn;let pn=sn;for(;pn;){const Tn=Ee.current.get(pn.id);if(!Tn)break;v(Pt=>{for(const Nt of Pt.elements)if(Tn&&Nt.id===Tn.id){const Ct=Nt;Ct.relativeAngle=(Tn.relativeAngle+Math.PI)%na,Ct.leftPoint=[...Tn.rightPoint],Ct.rightPoint=[...Tn.leftPoint],Ct.leftJoints=Tn.rightJoints.length>0?[Tn.rightJoints[0]]:[],Ct.rightJoints=Tn.leftJoints.length>0?[Tn.leftJoints[0]]:[];break}});let $e;if(Tn.rightJoints.length>0&&($e=Ee.current.get(Tn.rightJoints[0])),$e&&$e.id!==jt.id)pn=$e;else break}v(Tn=>{if(qt)for(const $e of Tn.elements)$e.type===z.Wall&&($e.id===jt.id&&($e.rightJoints=[qt.id]),$e.id===qt.id&&($e.leftJoints=[jt.id]));Tn.updateWallMapOnFoundationFlag=!Tn.updateWallMapOnFoundationFlag,Tn.resizeHandleType=yt.LowerRight}),Ce.current=Ce.current===Ki.null?Ki.left:Ki.null},vi=sn=>{let qt;Ee.current.clear();for(const pn of M.getState().elements)pn.id===sn&&(qt=pn),pn.type===z.Wall&&pn.parentId===e&&Ee.current.set(pn.id,pn);let jt=!1;for(;qt&&qt.leftJoints.length>0;)if(qt=Ee.current.get(qt.leftJoints[0]),(qt==null?void 0:qt.id)===sn){jt=!0;break}if(jt){let pn=0,Tn=0;for(;qt&&qt.leftJoints.length>0;){const $e=Ee.current.get(qt.leftJoints[0]),Pt=(Math.PI*3-(qt.relativeAngle-$e.relativeAngle))%na;if(pn+=Pt,Tn+=1,qt=$e,qt.id===sn)break}pn>(Tn-2)*Math.PI+.1?uo(sn):Ce.current!==Ki.null&&(Ce.current=Ki.loop)}return jt},Cn=sn=>{const qt={name:"Add",timestamp:Date.now(),addedElement:sn,undo:()=>{B(qt.addedElement.id,!1)},redo:()=>{v(jt=>{jt.elements.push(qt.addedElement),jt.selectedElement=qt.addedElement})}};$(qt)},yn=sn=>{const qt={name:"Add",timestamp:Date.now(),addedElement:sn,flippedWallSide:Ce.current,undo:()=>{const jt=qt.addedElement;if(B(jt.id,!1),(qt.flippedWallSide===Ki.right||qt.flippedWallSide===Ki.loop)&&jt.rightJoints.length>0){const pn=C(jt.rightJoints[0]);pn&&Hi(pn)}else if(qt.flippedWallSide===Ki.left&&jt.leftJoints.length>0){const pn=C(jt.leftJoints[0]);pn&&qo(pn)}},redo:()=>{const jt=qt.addedElement;if(qt.flippedWallSide===Ki.right||qt.flippedWallSide===Ki.loop&&jt.rightJoints.length>0){const pn=C(jt.rightJoints[0]);pn&&qo(pn)}else if(qt.flippedWallSide===Ki.left&&jt.leftJoints.length>0){const pn=C(jt.leftJoints[0]);pn&&Hi(pn)}jt.rightJoints.length>0&&R(jt.rightJoints[0],[jt.id]),jt.leftJoints.length>0&&H(jt.leftJoints[0],[jt.id]),v(pn=>{pn.elements.push(jt),pn.selectedElement=jt,pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag})}};$(qt)},to=sn=>{const qt=M.getState().getAutoDeletedElements(),jt={name:"Resize Wall",timestamp:Date.now(),resizedElementId:sn.id,resizedElementType:sn.type,oldPosition:je.current.clone(),newPosition:at.current.clone(),oldDimension:ut.current.clone(),newDimension:wt.current.clone(),oldAngle:rt.current,newAngle:Qe.current,oldJoints:[[...vt.current[0]],[...vt.current[1]]],newJoints:[[...ct.current[0]],[...ct.current[1]]],oldPoint:[[...lt.current[0]],[...lt.current[1]]],newPoint:[[...tt.current[0]],[...tt.current[1]]],flippedWallSide:Ce.current,autoDeletedElement:qt?[...qt]:[],undo:()=>{switch(jt.flippedWallSide){case Ki.right:if(jt.newJoints[1]){const pn=C(jt.newJoints[1][0]);pn&&Hi(pn)}break;case Ki.left:if(jt.newJoints[0]){const pn=C(jt.newJoints[0][0]);pn&&qo(pn)}break;case Ki.loop:if(jt.newJoints[0]&&jt.newJoints[1])uo(jt.resizedElementId);else if(jt.newJoints[1]){const pn=C(jt.newJoints[1][0]);pn&&Hi(pn)}else if(jt.newJoints[0]){const pn=C(jt.newJoints[0][0]);pn&&qo(pn)}break}v(pn=>{for(const Tn of pn.elements)if(Tn.id===jt.resizedElementId){const $e=Tn;switch($e.cx=jt.oldPosition.x,$e.cy=jt.oldPosition.y,$e.cz=jt.oldPosition.z,$e.lx=jt.oldDimension.x,$e.ly=jt.oldDimension.y,$e.lz=jt.oldDimension.z,$e.relativeAngle=jt.oldAngle,$e.leftJoints=[...jt.oldJoints[0]],$e.rightJoints=[...jt.oldJoints[1]],$e.leftPoint=[...jt.oldPoint[0]],$e.rightPoint=[...jt.oldPoint[1]],jt.flippedWallSide){case Ki.loop:{if(jt.oldJoints[0]!==jt.newJoints[1])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[1][0]&&(Pt.rightJoints=[]),Pt.id===jt.oldJoints[0][0]&&(Pt.rightJoints=[jt.resizedElementId]));else if(jt.oldJoints[1]!==jt.newJoints[0])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[0][0]&&(Pt.leftJoints=[]),Pt.id===jt.oldJoints[1][0]&&(Pt.leftJoints=[jt.resizedElementId]));break}case Ki.left:case Ki.right:{if(!jt.oldJoints[0]&&jt.newJoints[1]){for(const Pt of pn.elements)if(Pt.type===z.Wall&&Pt.id===jt.newJoints[1][0]){Pt.leftJoints=[];break}}else if(!jt.oldJoints[1]&&jt.newJoints[0]){for(const Pt of pn.elements)if(Pt.type===z.Wall&&Pt.id===jt.newJoints[0][0]){Pt.rightJoints=[];break}}else if(jt.flippedWallSide===Ki.left&&jt.oldJoints[0])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[1][0]&&(Pt.leftJoints=[]),Pt.id===jt.oldJoints[0][0]&&(Pt.rightJoints=[$e.id]));else if(jt.flippedWallSide===Ki.right&&jt.oldJoints[1])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[0][0]&&(Pt.rightJoints=[]),Pt.id===jt.oldJoints[1][0]&&(Pt.leftJoints=[$e.id]));break}case Ki.null:{if(jt.oldJoints[0]!==jt.newJoints[0])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[0][0]&&(Pt.rightJoints=[]),Pt.id===jt.oldJoints[0][0]&&(Pt.rightJoints=[$e.id]));if(jt.oldJoints[1]!==jt.newJoints[1])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[1][0]&&(Pt.leftJoints=[]),Pt.id===jt.oldJoints[1][0]&&(Pt.leftJoints=[$e.id]));pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag;break}}break}pn.elements.push(...jt.autoDeletedElement),pn.resizeHandleType=null,pn.deletedRoofId=null,pn.autoDeletedRoofs=null,pn.autoDeletedRoofIdSet.clear(),pn.autoDeletedChild=null}),Ce.current=Ki.null},redo:()=>{jt.autoDeletedElement.length>0&&B(jt.autoDeletedElement[0].id,!1,!1,!0);const pn=new Set(jt.autoDeletedElement.map(Tn=>Tn.id));switch(v(Tn=>{Tn.elements=Tn.elements.filter($e=>!pn.has($e.id));for(const $e of Tn.elements)if($e.id===jt.resizedElementId){const Pt=$e;switch(Pt.cx=jt.newPosition.x,Pt.cy=jt.newPosition.y,Pt.cz=jt.newPosition.z,Pt.lx=jt.newDimension.x,Pt.ly=jt.newDimension.y,Pt.lz=jt.newDimension.z,jt.flippedWallSide){case Ki.left:Pt.relativeAngle=(jt.newAngle+Math.PI)%na;for(const Nt of Tn.elements)if(Nt.type===z.Wall&&Nt.id===jt.oldJoints[0][0]){Nt.rightJoints=[];break}break;case Ki.right:Pt.relativeAngle=(jt.newAngle+Math.PI)%na;for(const Nt of Tn.elements)if(Nt.type===z.Wall&&Nt.id===jt.oldJoints[1][0]){Nt.leftJoints=[];break}break;case Ki.loop:Pt.relativeAngle=(jt.newAngle+Math.PI)%na,Pt.leftJoints=[...jt.newJoints[1]],Pt.rightJoints=[...jt.newJoints[0]],Pt.leftPoint=[...jt.newPoint[1]],Pt.rightPoint=[...jt.newPoint[0]];for(const Nt of Tn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[0][0]&&(Nt.leftJoints=[Pt.id]),Nt.id===jt.newJoints[1][0]&&(Nt.rightJoints=[Pt.id]));break;case Ki.null:if(Pt.relativeAngle=jt.newAngle,Pt.leftJoints=[...jt.newJoints[0]],Pt.rightJoints=[...jt.newJoints[1]],Pt.leftPoint=[...jt.newPoint[0]],Pt.rightPoint=[...jt.newPoint[1]],jt.oldJoints[0][0]!==jt.newJoints[0][0])for(const Nt of Tn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[0][0]&&(Nt.rightJoints=[Pt.id]),Nt.id===jt.oldJoints[0][0]&&(Nt.rightJoints=[]));if(jt.oldJoints[1][0]!==jt.newJoints[1][0])for(const Nt of Tn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[1][0]&&(Nt.leftJoints=[Pt.id]),Nt.id===jt.oldJoints[1][0]&&(Nt.leftJoints=[]));Tn.updateWallMapOnFoundationFlag=!Tn.updateWallMapOnFoundationFlag;break}break}Tn.resizeHandleType=null}),setTimeout(()=>{v(Tn=>{Tn.deletedRoofId=null,Tn.autoDeletedRoofs=null,Tn.autoDeletedRoofIdSet.clear()})}),jt.flippedWallSide){case Ki.left:{const Tn=C(jt.resizedElementId),$e=C(jt.newJoints[1][0]);Hi(Tn,$e);break}case Ki.right:{const Tn=C(jt.resizedElementId),$e=C(jt.newJoints[0][0]);qo(Tn,$e);break}case Ki.loop:Ee.current.clear();for(const Tn of M.getState().elements)Tn.type===z.Wall&&Tn.parentId===e&&Ee.current.set(Tn.id,Tn);uo(jt.resizedElementId);break}Ce.current=Ki.null}};$(jt),v(pn=>{pn.actionState.wallHeight=sn.lz,pn.deletedRoofId=null,pn.autoDeletedRoofs=null,pn.autoDeletedRoofIdSet.clear(),pn.autoDeletedChild=[]})},Do=(sn,qt,jt)=>{if(sn.roofId)Dt.current=!0,Lt.current={wall:sn,newAngle:qt,newJoints:[[...jt[0]],[...jt[1]]]};else{const pn={name:"Move Wall",timestamp:Date.now(),id:sn.id,oldPoints:[[...lt.current[0]],[...lt.current[1]]],newPoints:[[...sn.leftPoint],[...sn.rightPoint]],oldJoints:[[...vt.current[0]],[...vt.current[1]]],newJoints:[[...jt[0]],[...jt[1]]],oldAngle:rt.current,newAngle:qt,flippedWallSide:Ce.current,undo(){switch(this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Ct=C(this.newJoints[0][0]);Ct&&qo(Ct);break}case Ki.right:{const Ct=C(this.newJoints[1][0]);Ct&&Hi(Ct);break}}const[Tn,$e]=this.oldJoints,[Pt,Nt]=this.newJoints;v(Ct=>{for(const Bt of Ct.elements)if(Bt.id===this.id){const[Xt,rn]=this.oldPoints;Bt.cx=(Xt[0]+rn[0])/2,Bt.cy=(Xt[1]+rn[1])/2,Bt.lx=Math.hypot(Xt[0]-rn[0],Xt[1]-rn[1]);const gn=Bt;gn.relativeAngle=this.oldAngle,gn.leftPoint=[...Xt],gn.rightPoint=[...rn],gn.leftJoints=[...Tn],gn.rightJoints=[...$e];break}Ct.resizeHandleType=null}),Tn[0]!==Pt[0]&&v(Ct=>{for(const Bt of Ct.elements)Bt.type===z.Wall&&(Bt.id===Tn[0]&&(Bt.rightJoints=[this.id]),Bt.id===Pt[0]&&(this.flippedWallSide!==Ki.left?Bt.rightJoints=[]:Bt.leftJoints=[]))}),$e[0]!==Nt[0]&&v(Ct=>{for(const Bt of Ct.elements)Bt.type===z.Wall&&(Bt.id===$e[0]&&(Bt.leftJoints=[this.id]),Bt.id===Nt[0]&&(this.flippedWallSide!==Ki.right?Bt.leftJoints=[]:Bt.rightJoints=[]))}),Ce.current=Ki.null},redo(){const[Tn,$e]=this.oldJoints,[Pt,Nt]=this.newJoints;switch(v(Ct=>{for(const Bt of Ct.elements)if(Bt.id===this.id&&Bt.type===z.Wall){const[Xt,rn]=this.newPoints;Bt.cx=(Xt[0]+rn[0])/2,Bt.cy=(Xt[1]+rn[1])/2,Bt.lx=Math.hypot(Xt[0]-rn[0],Xt[1]-rn[1]);const gn=Bt;gn.relativeAngle=this.newAngle,gn.leftPoint=[...Xt],gn.rightPoint=[...rn],gn.leftJoints=[...Pt],gn.rightJoints=[...Nt];break}}),Tn[0]!==Pt[0]&&v(Ct=>{for(const Bt of Ct.elements)Bt.type===z.Wall&&(Bt.id===Tn[0]&&(Bt.rightJoints=[]),Bt.id===Pt[0]&&(this.flippedWallSide===Ki.right?Bt.leftJoints=[this.id]:Bt.rightJoints=[this.id]))}),$e[0]!==Nt[0]&&v(Ct=>{for(const Bt of Ct.elements)Bt.type===z.Wall&&(Bt.id===$e[0]&&(Bt.leftJoints=[]),Bt.id===Nt[0]&&(this.flippedWallSide===Ki.right?Bt.rightJoints=[this.id]:Bt.leftJoints=[this.id]))}),this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Ct=C(this.newJoints[0][0]);Ct&&Hi(Ct);break}case Ki.right:{const Ct=C(this.newJoints[1][0]);Ct&&qo(Ct);break}}v(Ct=>{Ct.resizeHandleType=null}),Ce.current=Ki.null}};$(pn)}},ni=sn=>{if(sn.button===2){sn.altKey&&k(e,sn,zo.Select);return}v(pn=>{pn.contextMenuObjectType=null}),M.getState().objectTypeToAdd!==z.Window&&!q()&&k(e,sn,zo.Select);const qt=b();let jt=!1;if(sn.intersections[0].object.name===z.Polygon&&M.getState().objectTypeToAdd!==z.None&&(jt=!0),(qt==null?void 0:qt.id)===e||jt)if(li(M.getState().objectTypeToAdd)){if(t){Re(!0);const pn=sn.intersections.filter($e=>!$e.eventObject.name.startsWith("Wall Intersection Plane"))[0].point,Tn=N(t,pn);Tn&&Cn(Tn),v($e=>{$e.actionModeLock||($e.objectTypeToAdd=z.None)})}}else Ln.getState().selectNone(),Ln.setState({foundationRef:Ue});else if(qt&&qt.parentId===e&&li(qt.type))switch(Le.current=qt,qt.type===z.Wall&&!ye.current&&(Ie.current=[...M.getState().elements]),Re(!0),je.current.set(qt.cx,qt.cy,qt.cz),ut.current.set(qt.lx,qt.ly,qt.lz),gt.getState().setPrimitiveStore("oldParentId",e),gt.getState().setPrimitiveStore("oldFoundationId",e),qt.type){case z.SolarPanel:case z.ParabolicTrough:case z.FresnelReflector:{rt.current=qt.relativeAzimuth;break}case z.Polygon:{Oe.current=qt.vertices.map(pn=>({...pn}));break}case z.Wall:{const pn=qt;rt.current=pn.relativeAngle,vt.current=[[...pn.leftJoints],[...pn.rightJoints]],lt.current=[[...pn.leftPoint],[...pn.rightPoint]],bo.current=pn.leftJoints[0],Ro.current=pn.rightJoints[0],Ee.current.clear();for(const Tn of M.getState().elements)Tn.type===z.Wall&&Tn.parentId===e&&Ee.current.set(Tn.id,Tn);break}}if(ye.current&&we.current&&Ne.current){const pn=Mt.intersectObjects([Ne.current]);if(pn.length===0)return;let Tn=be.wallRelativePosition(pn[0].point,t);re[0].position&&(Tn.setX(re[0].position[0]),Tn.setY(re[0].position[1]));const{id:$e,point:Pt,side:Nt,jointId:Ct}=po(Tn,1.5);Tn=eo(Tn,Pt);let Bt=yt.LowerRight;if($e){const Xt=C($e);Nt===U1.Right?v(rn=>{for(const gn of rn.elements)if(gn.type===z.Wall){if(gn.id===we.current){const mn=gn;mn.cx=Tn.x,mn.cy=Tn.y,Xt.rightJoints.length===0&&(mn.leftJoints=[Xt.id])}gn.id===$e&&Xt.rightJoints.length===0&&(gn.rightJoints=we.current?[we.current]:[])}}):Nt===U1.Left&&!Ct&&(v(rn=>{for(const gn of rn.elements)if(gn.type===z.Wall){if(gn.id===we.current){const mn=gn;mn.cx=Tn.x,mn.cy=Tn.y,Xt.leftJoints.length===0&&(mn.rightJoints=[Xt.id])}gn.id===$e&&Xt.leftJoints.length===0&&(gn.leftJoints=we.current?[we.current]:[])}}),Bt=yt.LowerLeft)}else S(we.current,Tn.x,Tn.y);ye.current=!1,Te.current=!0,D(we.current,[Tn.x,Tn.y,Tn.z]),v(Xt=>{Xt.resizeHandleType=Bt,Xt.resizeAnchor=be.wallAbsolutePosition(Tn,t)}),Ln.getState().setEnableOrbitController(!1),Le.current=qt}},Fo=sn=>{if(Wl&&Cc(!1),sn.altKey&&sn.button===2&&W&&W.length>0){v(pn=>{pn.pastePoint.copy(sn.intersections[0].point),pn.clickObjectType=z.Foundation,pn.pasteNormal=Po});const jt=F();if(jt.length>0){const pn={name:"Paste to Point",timestamp:Date.now(),pastedElements:jt.map(Tn=>({...Tn})),undo:()=>{for(const Tn of pn.pastedElements)B(Tn.id,!1)},redo:()=>{v(Tn=>{Tn.elements.push(...pn.pastedElements),Tn.selectedElement=pn.pastedElements[0]})}};$(pn)}}if(!Le.current||Le.current.type===z.Tree||Le.current.type===z.Flower||Le.current.type===z.Human)return;const qt=C(Le.current.id);if(qt){switch(qt.type){case z.Wall:{const jt=qt;if(ye.current)v(pn=>{pn.elements.pop(),pn.addedWallId=null,pn.actionModeLock&&(pn.objectTypeToAdd=z.Wall,mx.selectNone(pn))}),we.current&&Ee.current.delete(we.current),we.current=null,ye.current=!1,Te.current=!1;else if(Te.current&&we.current&&Ne.current)Ln.getState().setEnableOrbitController(!0),v(pn=>{pn.actionModeLock&&(pn.objectTypeToAdd=z.Wall,mx.selectNone(pn)),pn.addedWallId=null,jt.lx===0&&Ie.current?(pn.elements=[...Ie.current],we.current&&Ee.current.delete(we.current)):(yn(jt),Ee.current.set(jt.id,jt))}),we.current=null,Te.current=!1;else if(M.getState().resizeHandleType)jt.lx>.45?(Ee.current.set(jt.id,jt),at.current.set(jt.cx,jt.cy,jt.cz),wt.current.set(jt.lx,jt.ly,jt.lz),Qe.current=jt.relativeAngle,ct.current=[[...jt.leftJoints],[...jt.rightJoints]],tt.current=[[...jt.leftPoint],[...jt.rightPoint]],to(jt)):v(pn=>{Ie.current&&(pn.elements=[...Ie.current],Ie.current=null)});else if(M.getState().moveHandleType){let pn=jt.relativeAngle,Tn=[],$e=[];if(bo.current)if(jt.leftJoints.length>0&&(bo.current!==jt.leftJoints[0]||bo.current===jt.leftJoints[0]&&oi.current)&&H(jt.leftJoints[0],[]),oi.current)R(bo.current,[jt.id]),$e=[bo.current];else if(Tn=[bo.current],So.current){R(bo.current,[jt.id]);const Pt=C(bo.current);Pt&&Hi(Pt)}else H(bo.current,[jt.id]);else jt.leftJoints.length>0&&jt.leftJoints[0]!==Ro.current&&(Tn=[],H(jt.leftJoints[0],[]));if(Ro.current)if(jt.rightJoints.length>0&&(Ro.current!==jt.rightJoints[0]||Ro.current===jt.rightJoints[0]&&oi.current)&&jt.rightJoints[0]!==bo.current&&R(jt.rightJoints[0],[]),oi.current)H(Ro.current,[jt.id]),Tn=[Ro.current];else if($e=[Ro.current],go.current){H(Ro.current,[jt.id]);const Pt=C(Ro.current);Pt&&qo(Pt)}else R(Ro.current,[jt.id]);else jt.rightJoints.length>0&&jt.rightJoints[0]!==bo.current&&($e=[],R(jt.rightJoints[0],[]));v(Pt=>{for(const Nt of Pt.elements)if(Nt.id===jt.id&&Nt.type===z.Wall){const Ct=Nt;if(oi.current&&(pn=(Ct.relativeAngle+Math.PI)%na,Ct.relativeAngle=pn,[Ct.leftPoint,Ct.rightPoint]=[[...Ct.rightPoint],[...Ct.leftPoint]]),Tn.length===0&&$e.length===0)Ct.roofId=null;else if(Tn.length>0){const Bt=Pt.elements.find(Xt=>Xt.id===Tn[0]);Bt&&(Ct.roofId=Bt.roofId)}else if($e.length>0){const Bt=Pt.elements.find(Xt=>Xt.id===$e[0]);Bt&&(Ct.roofId=Bt.roofId)}Ct.leftJoints=[...Tn],Ct.rightJoints=[...$e];break}Pt.updateWallMapOnFoundationFlag=!Pt.updateWallMapOnFoundationFlag}),vi(jt.id),Do(jt,pn,[[...Tn],[...$e]]),oi.current=!1,So.current=!1,go.current=!1,bo.current=null,Ro.current=null}Ce.current=Ki.null,v(pn=>{pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag}),Ae({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]);break}case z.Polygon:{if(M.getState().moveHandleType||M.getState().resizeHandleType){et.current=qt.vertices.map(pn=>({...pn}));const jt={name:M.getState().moveHandleType?"Move Polygon":"Resize Polygon",timestamp:Date.now(),oldValue:Oe.current,newValue:et.current,changedElementId:qt.id,changedElementType:qt.type,undo:()=>{U(jt.changedElementId,jt.oldValue)},redo:()=>{U(jt.changedElementId,jt.newValue)}};$(jt)}break}default:if(M.getState().resizeHandleType){if(at.current.set(qt.cx,qt.cy,qt.cz),wt.current.set(qt.lx,qt.ly,qt.lz),at.current.distanceToSquared(je.current)>kt||wt.current.distanceToSquared(ut.current)>kt){const jt={name:"Resize",timestamp:Date.now(),resizedElementId:Le.current.id,resizedElementType:Le.current.type,oldCx:je.current.x,oldCy:je.current.y,oldCz:je.current.z,newCx:at.current.x,newCy:at.current.y,newCz:at.current.z,oldLx:ut.current.x,oldLy:ut.current.y,oldLz:ut.current.z,newLx:wt.current.x,newLy:wt.current.y,newLz:wt.current.z,undo:()=>{S(jt.resizedElementId,jt.oldCx,jt.oldCy,jt.oldCz),w(jt.resizedElementId,jt.oldLx,jt.oldLy,jt.oldLz)},redo:()=>{S(jt.resizedElementId,jt.newCx,jt.newCy,jt.newCz),w(jt.resizedElementId,jt.newLx,jt.newLy,jt.newLz)}};$(jt)}}else if(M.getState().rotateHandleType){if(be.isSolarCollector(Le.current)){const jt=Le.current;if(Math.abs(Qe.current-rt.current)>kt)if(Pc(jt,Qe.current)){v(Tn=>{Tn.selectedElementAngle=Qe.current});const pn={name:"Rotate",timestamp:Date.now(),oldValue:rt.current,newValue:Qe.current,changedElementId:jt.id,changedElementType:jt.type,undo:()=>{E(pn.changedElementId,pn.oldValue)},redo:()=>{E(pn.changedElementId,pn.newValue)}};$(pn)}else E(jt.id,rt.current)}}else if(at.current.set(qt.cx,qt.cy,qt.cz),at.current.distanceToSquared(je.current)>kt){let jt=!0;be.isSolarCollector(qt)&&(jt=Br(qt,qt.cx,qt.cy)),jt?nf.addUndoableMove():v(pn=>{const Tn=pn.elements.find(Ct=>Ct.id===qt.id);if(!Tn||!pn.selectedElement)return;const $e=pn.selectedElement;Tn.cx=$e.cx,Tn.cy=$e.cy,Tn.cz=$e.cz,Tn.rotation=[...$e.rotation],Tn.normal=[...$e.normal];const Pt=gt.getState().oldParentId,Nt=gt.getState().oldFoundationId;Pt&&(Tn.parentId=Pt),Nt&&(Tn.foundationId=Nt)})}}Re(!1),Le.current=null,v(jt=>{jt.resizeHandleType=null,jt.moveHandleType=null})}},bo=m.useRef(null),Ro=m.useRef(null),oi=m.useRef(!1),go=m.useRef(!1),So=m.useRef(!1),Uo=(sn,qt,jt)=>{let pn=Math.atan2(qt.y-sn.y,qt.x-sn.x)-(jt===yt.LowerLeft?Math.PI:0);return pn=pn>=0?pn:(na+pn)%na,pn},_i=(sn,qt)=>{let pn=null,Tn=null,$e=1/0,Pt=1/0;for(const[Nt,Ct]of Ee.current)if(Le.current!==null&&Ct.id!==Le.current.id&&Ct.id!==qt){const Bt=Math.abs(sn.x-Ct.leftPoint[0]),Xt=Math.abs(sn.x-Ct.rightPoint[0]),rn=Math.abs(sn.y-Ct.leftPoint[1]),gn=Math.abs(sn.y-Ct.rightPoint[1]);Bt<1&&Bt<$e&&($e=Bt,pn=Ct.leftPoint[0]),Xt<1&&Xt<$e&&($e=Xt,pn=Ct.rightPoint[0]),rn<1&&rn{const $e=Uo(sn,qt,jt);let Pt=null,Nt=null;return $e<.05||$e>na-.05||Math.abs($e-Math.PI)<.05||Math.abs(qt.y-sn.y)<1?Nt=sn.y:(Math.abs($e-Math.PI/2)<.05||Math.abs($e-3*Math.PI/2)<.05||Math.abs(qt.x-sn.x)<1)&&(Pt=sn.x),[Pt,Nt]},ar=(sn,qt,jt,pn)=>{const[Tn,$e]=_i(qt),[Pt,Nt]=Qo(sn,qt,jt),Ct=ur(qt.x,Tn,Pt),Bt=ur(qt.y,$e,Nt);return new ae(Ct,Bt,qt.z)},ur=(sn,qt,jt)=>qt!==null&&jt!==null?Math.abs(qt-sn){let[pn,Tn]=[1/0,1/0],$e=null,Pt=null;for(const[Nt,Ct]of Ee.current)if(Le.current!==null&&Ct.id!==Le.current.id&&Ct.id!==jt){const Bt=Math.abs(sn.x-Ct.leftPoint[0]),Xt=Math.abs(sn.x-Ct.rightPoint[0]);Bt<.01&&Bt{$e!==null&&Pt!==null?(Nt[qt].direction="xy",Nt[qt].position=[$e,Pt]):$e!==null?(Nt[qt].direction="y",Nt[qt].position=[$e,sn.y]):Pt!==null?(Nt[qt].direction="x",Nt[qt].position=[sn.x,Pt]):(Nt[qt].direction=null,Nt[qt].position=null)})),[$e!==null,Pt!==null]},ba=(sn,qt)=>Math.abs(qt)<.01||Math.abs(qt-Math.PI)<.01?(Ae(jt=>({...jt,direction:"x",position:[sn.x,sn.y]})),[!0,!1]):Math.abs(qt-Math.PI/2)<.01||Math.abs(qt-3*Math.PI/2)<.01?(Ae(jt=>({...jt,direction:"y",position:[sn.x,sn.y]})),[!1,!0]):(Ae(jt=>({...jt,direction:null,position:null})),[!1,!1]),Mo=(sn,qt)=>{ge(LP(jt=>{jt[0].show=sn})),Ae(jt=>({...jt,show:qt}))},$i=(sn,qt)=>{const[jt,pn]=$o(sn),[Tn,$e]=ba(sn,qt);jt&&pn?Mo(!0,!1):jt?Mo(!0,!$e&&Tn):pn?Mo(!0,!Tn&&$e):Mo(!1,Tn||$e)},Za=sn=>{var $e,Pt;if(!t||(Xu(sn),Le.current&&be.isSolarCollector(Le.current)))return;const qt=M.getState().objectTypeToAdd;if(!Le.current&&!we.current&&qt!==z.Wall||(($e=Le.current)==null?void 0:$e.parentId)!==e&&qt===z.None)return;const jt=M.getState().moveHandleType,pn=M.getState().resizeHandleType,Tn=M.getState().resizeAnchor;if(cn(sn),Ne.current){const Nt=Mt.intersectObjects([Ne.current]);if(Nt.length===0)return;let Ct=Nt[0].point;if(Le.current&&Le.current.type&&!Le.current.locked&&Nt.length>0)switch(Re(!0),Le.current.type){case z.Sensor:case z.Light:case z.WindTurbine:{Ct=be.relativeCoordinates(Ct.x,Ct.y,Ct.z,t),S(Le.current.id,Ct.x,Ct.y);break}case z.Polygon:{const Bt=Le.current;if(jt===yo.Default){Ct=be.relativeCoordinates(Ct.x,Ct.y,Ct.z,t);const Xt=be.calculatePolygonCentroid(Bt.vertices),rn=Ct.x-Xt.x,gn=Ct.y-Xt.y,mn=Bt.vertices.map(vn=>({...vn}));mn.forEach(vn=>{vn.x+=rn,vn.y+=gn}),U(Bt.id,mn)}else pn===yt.Default&&(Ct.x-=t.cx,Ct.y-=t.cy,Ct.applyEuler(new Qt().fromArray(t.rotation.map(Xt=>-Xt))),Ct=M.getState().enableFineGrid?be.snapToFineGrid(Ct):be.snapToNormalGrid(Ct),Ct.x/=t.lx,Ct.y/=t.ly,L(Bt.id,Bt.selectedIndex,Ct.x,Ct.y));break}case z.Wall:{if(((Pt=M.getState().selectedElement)==null?void 0:Pt.type)!==z.Wall)break;if(pn&&(pn===yt.LowerLeft||pn===yt.LowerRight)){const Bt=be.wallRelativePosition(Tn,t);Ct=be.wallRelativePosition(Ct,t);let Xt=null;M.getState().enableFineGrid?Ct=be.snapToFineGrid(Ct):(Xt=po(Ct,1.5),Xt!=null&&Xt.point?Ct=Xt.point:(Ct=be.snapToNormalGrid(Ct),Ct=ar(Bt,Ct,pn),Xt=po(Ct,1.5),Xt!=null&&Xt.point&&(Ct=Xt.point)));const rn=Uo(Bt,Ct,pn);$i(Ct,rn);const gn=Ct.distanceTo(Bt),mn=new ae().addVectors(Ct,Bt).divideScalar(2),vn=pn===yt.LowerLeft?Ct:Bt,kn=pn===yt.LowerLeft?Bt:Ct;v(Wn=>{for(const qn of Wn.elements)if(qn.id===Le.current.id&&qn.type===z.Wall){const Xn=qn;Xn.cx=mn.x,Xn.cy=mn.y,Xn.lx=gn,Xn.relativeAngle=rn,Xn.leftPoint=[vn.x,vn.y,0],Xn.rightPoint=[kn.x,kn.y,0];break}});const Yn=C(Le.current.id);if(Yn){if(Xt&&Xt.point){if(Xt.id&&Xt.side&&!Xt.jointId){const Wn=C(Xt.id);if(Wn){if(pn===yt.LowerLeft&&Wn.leftJoints.length===0&&Xt.side===U1.Left){if(Yn.leftJoints.length>0&&Yn.leftJoints[0]!==Xt.id){const qn=Yn.leftJoints[0];v(Xn=>{for(const Jo of Xn.elements)if(Jo.id===qn&&Jo.type===z.Wall){Jo.rightJoints=[];break}})}Hi(Yn,Wn)}else if(pn===yt.LowerRight&&Wn.rightJoints.length===0&&Xt.side===U1.Right){if(Yn.rightJoints.length>0&&Yn.rightJoints[0]!==Xt.id){const qn=Yn.rightJoints[0];v(Xn=>{for(const Jo of Xn.elements)if(Jo.id===qn&&Jo.type===z.Wall){Jo.leftJoints=[];break}})}qo(Yn,Wn)}else pn===yt.LowerRight&&Xt.side===U1.Left&&Wn.leftJoints.length===0&&Wn.rightJoints[0]!==Yn.id?v(qn=>{let Xn=null;Yn.rightJoints.length>0&&Yn.rightJoints[0]!==(Xt==null?void 0:Xt.id)&&(Xn=Yn.rightJoints[0]);for(const Jo of qn.elements)Jo.type===z.Wall&&(Jo.id===Yn.id&&(Jo.rightJoints=[Wn.id]),Jo.id===Wn.id&&(Jo.leftJoints=[Yn.id]),Jo.id===Xn&&(Jo.leftJoints=[]))}):pn===yt.LowerLeft&&Xt.side===U1.Right&&Wn.rightJoints.length===0&&Wn.leftJoints[0]!==Yn.id&&v(qn=>{let Xn=null;Yn.leftJoints.length>0&&Yn.leftJoints[0]!==(Xt==null?void 0:Xt.id)&&(Xn=Yn.leftJoints[0]);for(const Jo of qn.elements)Jo.type===z.Wall&&(Jo.id===Yn.id&&(Jo.leftJoints=[Wn.id]),Jo.id===Wn.id&&(Jo.rightJoints=[Yn.id]),Jo.id===Xn&&(Jo.rightJoints=[]))});vi(Yn.id)}}}else if(pn===yt.LowerRight&&Yn.rightJoints.length>0){const Wn=Yn.rightJoints[0];v(qn=>{for(const Xn of qn.elements)Xn.type===z.Wall&&(Xn.id===Yn.id&&(Xn.rightJoints=[]),Xn.id===Wn&&(Xn.leftJoints=[]));qn.updateWallMapOnFoundationFlag=!qn.updateWallMapOnFoundationFlag})}else if(pn===yt.LowerLeft&&Yn.leftJoints.length>0){const Wn=Yn.leftJoints[0];v(qn=>{for(const Xn of qn.elements)Xn.type===z.Wall&&(Xn.id===Yn.id&&(Xn.leftJoints=[]),Xn.id===Wn&&(Xn.rightJoints=[]));qn.updateWallMapOnFoundationFlag=!qn.updateWallMapOnFoundationFlag})}}}else if(jt){const Bt=C(Le.current.id);if(Bt){Ct=be.wallRelativePosition(Ct,t);const Xt=new ae,rn=new Qt(0,0,Bt.relativeAngle);jt===yo.Lower?Xt.setY(mt):jt===yo.Upper&&Xt.setY(-mt-Bt.ly),Ct.add(Xt.applyEuler(rn));const gn=new ae().addVectors(Ct,new ae(-Bt.lx/2,0,0).applyEuler(rn)),mn=new ae().addVectors(Ct,new ae(Bt.lx/2,0,0).applyEuler(rn));let vn=null,kn=null,Yn=!1;oi.current=!1,So.current=!1,go.current=!1,bo.current=null,Ro.current=null;const Wn=(qn,Xn)=>{const Jo=Xn==="left"?gn:mn,lr=new ae().subVectors(qn,Jo);Ct.add(lr),gn.add(lr),mn.add(lr)};if(!M.getState().enableFineGrid){let qn=po(gn,1);qn.point?(Wn(qn.point,"left"),qn.id&&(!qn.jointId||qn.jointId===Bt.id)&&(bo.current=qn.id,vn=qn.side===U1.Left)):bo.current=null;let Xn=po(mn,1);if(Xn.point?(qn.id||Wn(Xn.point,"right"),Xn.id&&(!Xn.jointId||Xn.jointId===Bt.id)&&(qn.id!==Xn.id||qn.side!==Xn.side)&&(Ro.current=Xn.id,kn=Xn.side===U1.Right)):Ro.current=null,!qn.point&&!Xn.point){const[ga,vs]=_i(gn),[Ju,Ku]=_i(mn);if(ga!==null||Ju!==null){const Th=(ga??1/0)-gn.x,Rf=(Ju??1/0)-mn.x,qu=Math.min(Th,Rf);gn.setX(gn.x+qu),mn.setX(mn.x+qu),Ct.setX(Ct.x+qu),qn=po(gn,1),qn.point?(Wn(qn.point,"left"),qn.id&&(!qn.jointId||qn.jointId===Bt.id)&&(bo.current=qn.id,vn=qn.side===U1.Left)):bo.current=null}if(vs!==null||Ku!==null){const Th=(vs??1/0)-gn.y,Rf=(Ku??1/0)-mn.y,qu=Math.min(Th,Rf);gn.setY(gn.y+qu),mn.setY(mn.y+qu),Ct.setY(Ct.y+qu),Xn=po(mn,1),Xn.point?(qn.id||Wn(Xn.point,"right"),Xn.id&&(!Xn.jointId||Xn.jointId===Bt.id)&&(qn.id!==Xn.id||qn.side!==Xn.side)&&(Ro.current=Xn.id,kn=Xn.side===U1.Right)):Ro.current=null}}const[Jo,lr]=$o(gn,0),[Kr,Vi]=$o(mn,1);ge(LP(ga=>{ga[0].show=Jo||lr,ga[1].show=Kr||Vi})),vn&&kn===null||kn&&vn===null||vn&&kn?oi.current=!0:(vn&&kn===!1||kn&&vn===!1)&&(So.current=vn,go.current=kn),qn.point&&Xn.point&&(qn.id!==Xn.id||qn.side!==Xn.side)&&(gn.copy(qn.point),mn.copy(Xn.point),Yn=!0)}v(qn=>{var Xn;for(const Jo of qn.elements)if(Jo.id===((Xn=Le.current)==null?void 0:Xn.id)&&Jo.type===z.Wall){const lr=Jo;if(Yn){lr.cx=(gn.x+mn.x)/2,lr.cy=(gn.y+mn.y)/2,lr.lx=gn.distanceTo(mn);let Kr=Math.atan2(mn.y-gn.y,mn.x-gn.x);Kr=Kr>=0?Kr:(na+Kr)%na,lr.relativeAngle=Kr}else lr.cx=Ct.x,lr.cy=Ct.y;lr.leftPoint=gn.toArray(),lr.rightPoint=mn.toArray();break}})}}break}}if(qt===z.Wall&&!ye.current){Ie.current=[...M.getState().elements];const Bt=N(t,Ct);Le.current=Bt,we.current=Bt.id,ye.current=!0,Re(!0),Ln.getState().setEnableOrbitController(!1),v(Xt=>{Xt.addedWallId=Bt.id,Xt.objectTypeToAdd=z.None})}if(we.current&&ye.current){Ct=be.wallRelativePosition(Nt[0].point,t);let Bt=null;if(M.getState().enableFineGrid)Ct=be.snapToFineGrid(Ct);else if(Bt=po(Ct,1.5),Bt!=null&&Bt.point)Ct=Bt.point;else{Ct=be.snapToNormalGrid(Ct);const[gn,mn]=_i(Ct);gn!==null&&Ct.setX(gn),mn!==null&&Ct.setY(mn),Bt=po(Ct,1.5),Bt!=null&&Bt.point&&(Ct=Bt.point)}const[Xt,rn]=$o(Ct);ge(LP(gn=>{gn[0].show=Xt||rn})),S(we.current,Ct.x,Ct.y)}}},ti=sn=>{sn.intersections.length>0&&sn.intersections[0].object===Ne.current&&de(!0)},ui=sn=>{v(qt=>{mx.selectMe(qt,e,sn,zo.ContextMenu),qt.pastePoint.copy(sn.intersections[0].point),qt.clickObjectType=z.Foundation,qt.pasteNormal=Po,sn.altKey?qt.contextMenuObjectType=null:sn.intersections.length>0&&sn.intersections[0].object===Ne.current&&(qt.contextMenuObjectType=z.Foundation),qt.pasteNormal=Po})},Fr=()=>{Wl&&(Cc(!1),Le.current=null),de(!1),Re(!1),Le.current&&ye.current&&(B(Le.current.id,!1),ye.current=!1,v(sn=>{sn.addedWallId=null,sn.objectTypeToAdd=z.Wall}),Le.current=null),Ae({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}])},Oa=sn=>{Le.current&&be.isPlantOrHuman(Le.current)&&sn.intersections[0].object===Ne.current&&Re(!0)},Br=(sn,qt,jt)=>{const pn=JSON.parse(JSON.stringify(sn));return pn.cx=qt,pn.cy=jt,le(pn)?(Lo(O.t("message.MoveCancelledBecauseOfOverlap",it)),!1):be.isSolarCollectorWithinHorizontalSurface(pn,t)?!0:(Lo(O.t("message.MoveOutsideBoundaryCancelled",it)),!1)},Pc=(sn,qt)=>{const jt=JSON.parse(JSON.stringify(sn));return jt.relativeAzimuth=qt,le(jt)?(Lo(O.t("message.RotationCancelledBecauseOfOverlap",it)),!1):be.isSolarCollectorWithinHorizontalSurface(jt,t)?!0:(Lo(O.t("message.RotationOutsideBoundaryCancelled",it)),!1)},Is=(sn,qt,jt,pn,Tn)=>{if(sn.type===z.SolarPanel&&sn.tiltAngle!==0&&.5*Tn*Math.abs(Math.sin(sn.tiltAngle))>sn.poleHeight)return!1;const $e=JSON.parse(JSON.stringify(sn));return $e.cx=qt,$e.cy=jt,$e.lx=pn,$e.ly=Tn,be.isSolarCollectorWithinHorizontalSurface($e,t)},qs=sn=>{if(qe.current&&t&&Le.current&&t){if(!be.isSolarCollector(Le.current))return;const qt=Le.current;cn(sn);const jt=Mt.intersectObjects([qe.current]);if(jt.length>0){let pn=jt[0].point;const Tn=M.getState().moveHandleType,$e=M.getState().rotateHandleType,Pt=M.getState().resizeHandleType;if(Tn&&t)pn=be.relativeCoordinates(pn.x,pn.y,pn.z,t),S(qt.id,pn.x,pn.y),qt.parentId!==e&&M.getState().set(Nt=>{const Ct=Nt.elements.find(Bt=>Bt.id===qt.id&&Bt.type===z.SolarPanel);Ct&&(Ct.parentId!==e||Ct.foundationId!==e)&&(Ct.parentId=e,Ct.foundationId=e,Ct.parentType=z.Foundation,Nt.selectedElement&&(Nt.selectedElement.parentId=e,Ct.color=Nt.selectedElement.color))});else if($e){if($e===wi.Upper||$e===wi.Lower){const Nt=t.rotation[2],Ct=new Gt(t.cx,t.cy),Bt=new Gt(t.lx*qt.cx,t.ly*qt.cy).rotateAround(wr,Nt),Xt=new Gt().addVectors(Bt,Ct),rn=Math.atan2(-pn.x+Xt.x,pn.y-Xt.y)-Nt+($e===wi.Lower?0:Math.PI),gn=Math.abs(rn)>Math.PI?-Math.sign(rn)*na:0,mn=rn+gn;E(qt.id,mn),Qe.current=mn}}else if(Pt){const Nt=M.getState().resizeAnchor,Ct=new Gt(pn.x,pn.y),Bt=new Gt(Nt.x,Nt.y),Xt=Ct.distanceTo(Bt),rn=qt.relativeAzimuth+l[2],gn=new Gt().subVectors(Ct,Bt),mn=new Gt(n,o);if(qt.type===z.SolarPanel){const vn=qt,kn=j(vn.pvModelName);switch(Pt){case yt.Lower:case yt.Upper:{const Yn=Pt===yt.Lower?1:-1,Wn=gn.angle()-rn+Yn*Vt;let qn=Xt*Math.cos(Wn);vn.orientation===ci.portrait?qn=Math.max(1,Math.ceil((qn-kn.length/2)/kn.length))*kn.length:qn=Math.max(1,Math.ceil((qn-kn.width/2)/kn.width))*kn.width;const Xn=Nt.x+Yn*(qn*Math.sin(rn))/2,Jo=Nt.y-Yn*(qn*Math.cos(rn))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,qn)&&(P(qt.id,qn),S(qt.id,Vi,ga))}break;case yt.Left:case yt.Right:{const Yn=Pt===yt.Left?-1:1,Wn=gn.angle()-rn+(Pt===yt.Left?Math.PI:0);let qn=Xt*Math.cos(Wn);vn.orientation===ci.portrait?qn=Math.max(1,Math.ceil((qn-kn.width/2)/kn.width))*kn.width:qn=Math.max(1,Math.ceil((qn-kn.length/2)/kn.length))*kn.length;const Xn=Nt.x+Yn*(qn*Math.cos(rn))/2,Jo=Nt.y+Yn*(qn*Math.sin(rn))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qn,qt.ly)&&(T(qt.id,qn),S(qt.id,Vi,ga))}break}}else if(qt.type===z.ParabolicTrough){const vn=qt;switch(Pt){case yt.Lower:case yt.Upper:{const kn=Pt===yt.Lower?1:-1,Yn=gn.angle()-rn+kn*Vt;let Wn=Xt*Math.cos(Yn);Wn=Math.max(1,Math.ceil((Wn-vn.moduleLength/2)/vn.moduleLength))*vn.moduleLength;const Xn=Nt.x+kn*(Wn*Math.sin(rn))/2,Jo=Nt.y-kn*(Wn*Math.cos(rn))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,Wn)&&(P(qt.id,Wn),S(qt.id,Vi,ga))}break;case yt.Left:case yt.Right:{const kn=Pt===yt.Left?-1:1,Yn=gn.angle()-rn+(Pt===yt.Left?Math.PI:0),Wn=Xt*Math.cos(Yn),qn=Nt.x+kn*(Wn*Math.cos(rn))/2,Xn=Nt.y+kn*(Wn*Math.sin(rn))/2,Jo=new Gt(qn,Xn),lr=new Gt().subVectors(Jo,mn).rotateAround(wr,-l[2]),Kr=lr.x/i,Vi=lr.y/r;Is(qt,Kr,Vi,Wn,qt.ly)&&(T(qt.id,Wn),S(qt.id,Kr,Vi),v(ga=>{ga.actionState.parabolicTroughWidth=Wn}))}break}}else if(qt.type===z.FresnelReflector){const vn=qt;switch(Pt){case yt.Lower:case yt.Upper:{const kn=Pt===yt.Lower?1:-1,Yn=gn.angle()-rn+kn*Vt;let Wn=Xt*Math.cos(Yn);Wn=Math.max(1,Math.ceil((Wn-vn.moduleLength/2)/vn.moduleLength))*vn.moduleLength;const Xn=Nt.x+kn*(Wn*Math.sin(rn))/2,Jo=Nt.y-kn*(Wn*Math.cos(rn))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,Wn)&&(P(qt.id,Wn),S(qt.id,Vi,ga))}break;case yt.Left:case yt.Right:{const kn=Pt===yt.Left?-1:1,Yn=gn.angle()-rn+(Pt===yt.Left?Math.PI:0),Wn=Xt*Math.cos(Yn),qn=Nt.x+kn*(Wn*Math.cos(rn))/2,Xn=Nt.y+kn*(Wn*Math.sin(rn))/2,Jo=new Gt(qn,Xn),lr=new Gt().subVectors(Jo,mn).rotateAround(wr,-l[2]),Kr=lr.x/i,Vi=lr.y/r;Is(qt,Kr,Vi,Wn,qt.ly)&&(T(qt.id,Wn),S(qt.id,Kr,Vi),v(ga=>{ga.actionState.fresnelReflectorWidth=Wn}))}break}}else if(qt.type===z.ParabolicDish){const vn=qt;switch(Pt){case yt.Left:case yt.Right:case yt.Lower:case yt.Upper:{const kn=Math.min(10,Xt);Is(qt,vn.cx,vn.cy,qt.lx,kn)&&(T(qt.id,kn),P(qt.id,kn),v(Yn=>{Yn.actionState.parabolicDishRimDiameter=kn}));break}}}}}}},Pr=Q?x?.25:.75:1,pa=M(sn=>sn.elements.filter(qt=>qt.type===z.SolarPanel&&qt.parentId===e),a3),[Wl,Yl]=m.useState(!1),Xu=sn=>{const qt=nf.getIntersectionObjects(sn);if(qt.length==0||qt[0].eventObject.userData.id!==e){Wl&&(Cc(!1),Le.current=null,Re(!1));return}const jt=M.getState().selectedElement;!Wl&&jt&&!jt.locked&&jt.type===z.SolarPanel&&M.getState().moveHandleType&&(Cc(!0,jt.poleHeight),Le.current=jt,Re(!0))},Cc=(sn,qt)=>{sn&&qt!==void 0?(Yl(!0),Jt.setZ(qt)):(Yl(!1),Jt.setZ(0))},mu=()=>Wl?!0:Le.current&&be.isSolarCollector(Le.current)&&!Le.current.locked;return h.jsx(h.Fragment,{children:h.jsxs("group",{ref:Ue,name:`${cqe} ${e}`,position:[n,o,Rt],rotation:[0,0,l[2]],children:[h.jsxs(Ei,{castShadow:J,receiveShadow:J,uuid:e,userData:{simulation:!0,stand:!0,id:e,aabb:!0},ref:Ne,name:"Foundation",args:[i,r,a],onContextMenu:ui,onPointerOver:ti,onPointerDown:ni,onPointerUp:Fo,onPointerMove:M2.throttle(Za,Ek),onPointerOut:Fr,onPointerEnter:Oa,children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:s,transparent:Q,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-1",color:s,transparent:Q,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-2",color:s,transparent:Q,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-3",color:s,transparent:Q,opacity:Pr}),pe&&ve?h.jsx("meshBasicMaterial",{attach:"material-4",color:"white",map:ve,transparent:Q,opacity:Pr}):h.jsx("meshStandardMaterial",{attach:"material-4",color:p===Or.NoTexture?s:"white",map:Un,transparent:Q,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-5",color:s,transparent:Q,opacity:Pr})]}),mu()&&h.jsx(sa,{ref:qe,name:"Foundation Intersection Plane",position:Jt,args:[i,r],visible:!1,onPointerMove:M2.throttle(qs,Ek)}),me&&h.jsxs(h.Fragment,{children:[M.getState().rotateHandleType&&Le.current&&be.isSolarCollector(Le.current)&&h.jsx(uye,{element:Le.current,height:Le.current.poleHeight+Rt}),(M.getState().moveHandleType||M.getState().resizeHandleType||we.current)&&h.jsx(mge,{hx:st,hy:ft,hz:Rt})]}),y&&h.jsx(dye,{element:t,verticalLift:Ge}),(!y||Q)&&h.jsx(s7,{hx:st,hy:ft,hz:Rt,lineColor:Q&&x?"white":c,lineWidth:Q&&x?u*3:u}),y&&d&&h.jsx(s7,{hx:st,hy:ft,hz:Rt,lineColor:l0,lineWidth:u*5}),ze.show&&h.jsx("group",{position:[0,0,Rt+.01],children:h.jsx(nSe,{hx:st,hy:ft,position:ze.position,direction:ze.direction,color:"black"})}),h.jsx("group",{position:[0,0,Rt+.01],children:re.map((sn,qt)=>sn.show?h.jsx(nSe,{hx:st,hy:ft,position:sn.position,direction:sn.direction,color:"yellow"},qt):null)}),y&&!d&&h.jsxs(h.Fragment,{children:[h.jsx(Ei,{ref:We,position:[zt.x,zt.y,0],args:[xt,xt,a*1.2],name:yt.LowerLeft,onPointerDown:sn=>{k(e,sn,zo.Resize),We.current&&v(qt=>{const jt=We.current.localToWorld(new ae(i,r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:sn=>{vo(sn,yt.LowerLeft)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yt.LowerLeft||M.getState().resizeHandleType===yt.LowerLeft?nr:pr})}),h.jsx(Ei,{ref:De,position:[Xe.x,Xe.y,0],args:[xt,xt,a*1.2],name:yt.UpperLeft,onPointerDown:sn=>{k(e,sn,zo.Resize),De.current&&v(qt=>{const jt=De.current.localToWorld(new ae(i,-r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:sn=>{vo(sn,yt.UpperLeft)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yt.UpperLeft||M.getState().resizeHandleType===yt.UpperLeft?nr:pr})}),h.jsx(Ei,{ref:Fe,position:[ht.x,ht.y,0],args:[xt,xt,a*1.2],name:yt.LowerRight,onPointerDown:sn=>{k(e,sn,zo.Resize),Fe.current&&v(qt=>{const jt=Fe.current.localToWorld(new ae(-i,r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:sn=>{vo(sn,yt.LowerRight)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yt.LowerRight||M.getState().resizeHandleType===yt.LowerRight?nr:pr})}),h.jsx(Ei,{ref:_e,position:[Je.x,Je.y,0],args:[xt,xt,a*1.2],name:yt.UpperRight,onPointerDown:sn=>{k(e,sn,zo.Resize),_e.current&&v(qt=>{const jt=_e.current.localToWorld(new ae(-i,-r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:sn=>{vo(sn,yt.UpperRight)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yt.UpperRight||M.getState().resizeHandleType===yt.UpperRight?nr:pr})}),!ee&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:ot,args:[Ge,6,6,0,Math.PI],position:[0,-ft-Ge,0],name:yo.Lower,onPointerDown:()=>{v(sn=>{sn.moveHandleType=yo.Lower,sn.selectedElement=sn.elements.find(qt=>qt.id===e)??null;for(const qt of sn.elements)sn.selectedElementIdSet.has(qt.id)&&!be.isElementAllowedMultipleMoveOnGround(qt)&&sn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:sn=>{vo(sn,yo.Lower)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yo.Lower||M.getState().moveHandleType===yo.Lower?nr:Fk})}),h.jsx(ts,{ref:Ye,args:[Ge,6,6,0,Math.PI],position:[0,ft+Ge,0],name:yo.Upper,onPointerDown:()=>{v(sn=>{sn.moveHandleType=yo.Upper,sn.selectedElement=sn.elements.find(qt=>qt.id===e)??null;for(const qt of sn.elements)sn.selectedElementIdSet.has(qt.id)&&!be.isElementAllowedMultipleMoveOnGround(qt)&&sn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:sn=>{vo(sn,yo.Upper)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yo.Upper||M.getState().moveHandleType===yo.Upper?nr:Fk})}),h.jsx(ts,{ref:St,args:[Ge,6,6,0,Math.PI],position:[-st-Ge,0,0],name:yo.Left,onPointerDown:()=>{v(sn=>{sn.moveHandleType=yo.Left,sn.selectedElement=sn.elements.find(qt=>qt.id===e)??null;for(const qt of sn.elements)sn.selectedElementIdSet.has(qt.id)&&!be.isElementAllowedMultipleMoveOnGround(qt)&&sn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:sn=>{vo(sn,yo.Left)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yo.Left||M.getState().moveHandleType===yo.Left?nr:jx})}),h.jsx(ts,{ref:dt,args:[Ge,6,6,0,Math.PI],position:[st+Ge,0,0],name:yo.Right,onPointerDown:()=>{v(sn=>{sn.moveHandleType=yo.Right,sn.selectedElement=sn.elements.find(qt=>qt.id===e)??null;for(const qt of sn.elements)sn.selectedElementIdSet.has(qt.id)&&!be.isElementAllowedMultipleMoveOnGround(qt)&&sn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:sn=>{vo(sn,yo.Right)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yo.Right||M.getState().moveHandleType===yo.Right?nr:jx})}),h.jsx(l7,{id:e,position:[0,-Tt,0],color:ie===wi.Lower||M.getState().rotateHandleType===wi.Lower?nr:pr,ratio:It,handleType:wi.Lower,hoverHandle:vo,noHoverHandle:Oo}),h.jsx(l7,{id:e,position:[0,Tt,0],color:ie===wi.Upper||M.getState().rotateHandleType===wi.Upper?nr:pr,ratio:It,handleType:wi.Upper,hoverHandle:vo,noHoverHandle:Oo})]})]}),!ee&&h.jsxs(h.Fragment,{children:[(oe||f)&&!y&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:(t!=null&&t.label?t.label:O.t("shared.FoundationElement",it))+(d?" ("+O.t("shared.ElementLocked",it)+")":""),color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,fontFace:"Roboto",textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Rt+.2]}),!d&&ie===yt.LowerLeft&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-LL",text:"LL",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[-st,-ft,Rt+.2]}),!d&&ie===yt.UpperLeft&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-UL",text:"UL",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[-st,ft,Rt+.2]}),!d&&ie===yt.LowerRight&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-LR",text:"LR",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[st,-ft,Rt+.2]}),!d&&ie===yt.UpperRight&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-UR",text:"UR",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[st,ft,Rt+.2]})]}),g===zn.FocusPipe&&h.jsx(v$t,{foundation:t}),g===zn.FocusTower&&h.jsx(w$t,{foundation:t}),g===zn.UpdraftTower&&h.jsx(A$t,{foundation:t}),h.jsx(W$t,{...t}),pa.map(sn=>h.jsx(U$t,{...sn,cx:sn.cx*i,cy:sn.cy*r,cz:sn.poleHeight+sn.lz/2+a/2,parentPosition:[n,o,a/2],parentRotation:l[2]},sn.id))]})})}),pye="Handles Intersection Plane",zz=t=>{if(t.intersections.length>0){for(const e of t.intersections)if(e.eventObject.name===pye)return e.point.z<0?null:e.point}return null},V8=(t,e)=>new ae().subVectors(t,new ae(e.cx,e.cy,e.lz)).applyEuler(new Qt(0,0,-e.rotation[2])),uqe=(t,e,n,o,i)=>{const[r,a]=[e/2,n/2],[l,s,c]=o,u=new Qt().fromArray([l-Vt,s,c,"ZXY"]),d=i.map(f=>({x:f.x,y:f.y}));for(let f=-1;f<=1;f+=2)for(let p=-1;p<=1;p+=2){const g=new ae(r*f,0,a*p).applyEuler(u),y=new ae().addVectors(t,g);if(!be.isPointInside(y.x,y.y,d))return!1}return!0},j$t=(t,e,n,o,i,r,a)=>{const l=n/2,[s,c,u]=r,d=new Qt().fromArray([s-Vt,c,u,"ZXY"]),f=a.map(g=>({x:g.x,y:g.y})),p=new ae().addVectors(t,new ae(o*e,0,l+i).applyEuler(d));return!(!be.isPointInside(p.x,p.y,f)||!uqe(t,e,n,r,a))},Y$t=(t,e,n)=>{if(t.intersections.length>0)for(const o of t.intersections){const i=o.eventObject.name;if(i.includes("Window")&&i.includes(e)&&o.object.name!==pye)return null;if(i.includes("Roof")&&i.includes(n)){const r=o.point.clone(),a=Number.parseInt(o.object.name.split(" ").pop()??"-1");return{pointer:r,segmentIdx:a}}}return null},oSe=t=>{switch(t){case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:return!0}return!1},O$t=(t,e,n)=>{const o=new ae().subVectors(e,t).applyEuler(new Qt(0,0,-n)),i=Math.abs(o.x),r=Math.hypot(o.y,o.z),a=new ae().addVectors(t,e).divideScalar(2);return{newLx:i,newLz:r,newCenter:a}},_$t=(t,e,n)=>n===Vo.Gambrel?cye(t).map(o=>o.add(e)):t.map(o=>o.points[0].clone().add(e)),iSe=(t,e,n)=>{M.getState().set(o=>{const i=o.elements.find(r=>r.id===t&&r.type===z.Window);i&&([i.cx,i.cy,i.cz]=e,i.rotation=[...n])})},rSe=(t,e,n,o)=>{M.getState().set(i=>{const r=i.elements.find(a=>a.id===t&&a.type===z.Window);r&&([r.cx,r.cy,r.cz]=e,[r.lx,r.ly,r.lz]=n,o!=null&&(r.archHeight=o))})},aSe=(t,e)=>{M.getState().set(n=>{const o=n.elements.find(i=>i.id===t&&i.type===z.Window);o&&(o.polygonTop=[...e])})},V$t=(t,e,n=.01)=>{if(t.type!==z.SolarPanel&&t.type!==z.Window)return null;const o=new Qt().fromArray([t.rotation[0],t.rotation[1],t.rotation[2],"ZXY"]),i=new ae,r=t.lx/2+n;let a=n;t.type===z.SolarPanel?(a+=t.ly/2,i.set(t.cx*e.lx,t.cy*e.ly,0)):(a+=t.lz/2,i.set(t.cx,t.cy,0));const l=[];for(let s=-1;s<=1;s+=2)for(let c=-1;c<=1;c+=2){const u=new ae(s*r,s*c*a).applyEuler(o).add(i);l.push(u)}if(t.type===z.Window&&t.windowType===Sr.Polygonal){const[s,c]=t.polygonTop??jp,u=new ae(s*r,c+a).applyEuler(o).add(i);l.push(u)}return l},Sre=t=>{if(t.windowType===Sr.Polygonal)return t.polygonTop??jp},dqe=({z:t})=>{const e=m.useRef(null),[n,o]=m.useState("white");return h.jsx(Ei,{ref:e,name:yt.Arch,args:[.2,.2,.2],position:[0,0,t],onPointerEnter:()=>{o("red")},onPointerLeave:()=>{o("white")},children:h.jsx("meshBasicMaterial",{color:n})})},G$t=({id:t,parentId:e,foundationId:n,lx:o,lz:i,polygonTop:r,rotation:a,windowType:l,parentType:s})=>{const c=M(ne=>ne.addedWindowId),u=M(En),d=c===t,f=s===z.Roof,p=m.useRef(null),g=m.useRef(null),y=m.useRef(null),A=m.useRef(null),x=m.useRef(null),C=m.useRef(null),b=m.useRef(null),v=m.useRef(null),S=m.useRef([]),w=m.useRef(null),T=m.useRef(null),P=m.useRef(null),R=m.useRef(null),H=m.useRef(null),[D,E]=m.useState(!1),[L,U]=[o/2,i/2],[F,W]=r,B=m.useMemo(()=>o*F,[o,F]),k=M(dn),N=(ne,Z,he)=>{if(!n)return null;const fe=M.getState().elements.find(Re=>Re.id===n&&Re.type===z.Foundation);if(!fe)return null;const se=ne.object.localToWorld(new ae),[oe,de,ve]=a,Pe=new Qt().fromArray([oe-Vt,de,ve+fe.rotation[2],"ZXY"]),me=new ae(Z,0,he).applyEuler(Pe);return new ae().addVectors(se,me)},j=ne=>{let Z,he,fe;for(const ge of M.getState().elements)ge.id===t&&ge.type===z.Window?Z=ge:ge.id===n&&ge.type===z.Foundation?he=ge:ge.id===e&&ge.type===z.Roof&&(fe=ge);const se=Ln.getState().contentRef;if(!Z||!he||!fe||!se||!se.current)return;const oe=he.id,de=se.current.children.find(ge=>ge.name===`${cqe} ${oe}`);if(!de)return;const ve=de.children.find(ge=>ge.name===sqe);if(!ve)return;const Pe=ve.children.find(ge=>ge.name.includes("Roof")&&ge.name.includes(e));if(!Pe)return;const me=Pe.children[0];if(!me)return;for(const ge of M.getState().elements)if(ge.parentId===e&&ge.id!==t){const we=V$t(ge,he);we&&S.current.push(we)}const{centroid:Re,roofSegments:ze}=me.userData,re=new ae(Z.cx,Z.cy,Z.cz+he.lz).clone().sub(Re);p.current=ne,g.current=he,y.current=fe,C.current=In.getSegmentIdx(ze,re),x.current=Re,A.current=ze,v.current=_$t(A.current,x.current,fe.roofType),w.current=[Z.cx,Z.cy,Z.cz],P.current=[Z.lx,Z.ly,Z.lz],T.current=[...Z.rotation],R.current=Z.archHeight,H.current=Z.polygonTop??null},Y=()=>{if(!w.current||!T.current)return;const ne=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!ne)return;const Z={name:"Move skylight",timestamp:Date.now(),id:ne.id,oldPosition:[...w.current],newPosition:[ne.cx,ne.cy,ne.cz],oldRotation:[...T.current],newRotation:[...ne.rotation],undo(){iSe(Z.id,Z.oldPosition,Z.oldRotation)},redo(){iSe(Z.id,Z.newPosition,Z.newRotation)}};u(Z)},_=()=>{if(!P.current||!w.current)return;const ne=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!ne)return;const Z={name:"Resize skylight",timestamp:Date.now(),id:ne.id,oldPosition:[...w.current],newPosition:[ne.cx,ne.cy,ne.cz],oldDimension:[...P.current],newDimension:[ne.lx,ne.ly,ne.lz],oldArchHeight:R.current,newArchHeight:ne.archHeight,undo(){rSe(this.id,this.oldPosition,this.oldDimension,this.oldArchHeight)},redo(){rSe(this.id,this.newPosition,this.newDimension,this.newArchHeight)}};u(Z)},J=()=>{if(!H.current)return;const ne=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!ne)return;const Z={name:"Resize skylight top vertex",timestamp:Date.now(),id:ne.id,oldPolygonTop:[...H.current],newPolygonTop:ne.polygonTop??jp,undo(){aSe(this.id,this.oldPolygonTop)},redo(){aSe(this.id,this.newPolygonTop)}};u(Z)},Q=ne=>ne.roofType===Vo.Gable?!1:Math.abs(ne.rise)<.001,ee=ne=>{if(y.current&&Q(y.current))return v.current;if(ne!=null){const he=bn.getState().getRoofSegmentVertices(e);if(!he)return;const fe=ne===-1?he.length-1:ne;return he[fe]}},$=(ne,Z,he,fe,se)=>{const[oe,de]=[Z/2,he/2],ve=new Qt().fromArray([fe[0],fe[1],fe[2],"ZXY"]),Pe=[];for(let me=-1;me<=1;me+=2)for(let Re=-1;Re<=1;Re+=2){const ze=new ae(me*oe,me*Re*de).applyEuler(ve).add(ne);Pe.push(ze)}if(se){const[me,Re]=se,ze=new ae(me*oe*2,Re+de).applyEuler(ve).add(ne);Pe.push(ze)}for(const me of S.current){for(const Re of Pe)if(be.isPointInside(Re.x,Re.y,me))return!1;for(const Re of me)if(be.isPointInside(Re.x,Re.y,Pe))return!1}return!0},q=(ne,Z,he,fe,se,oe)=>{if(oe){const[de,ve]=oe;return j$t(Z,he,fe,de,ve,se,ne)}else return uqe(Z,he,fe,se,ne)},le=ne=>{if(!f||d)return;const Z=ne.object.name;switch(Z){case yo.Mid:break;case yt.LowerLeft:{b.current=N(ne,o,i);break}case yt.LowerRight:{b.current=N(ne,-o,i);break}case yt.UpperLeft:{b.current=N(ne,o,-i);break}case yt.UpperRight:{b.current=N(ne,-o,-i);break}case yt.Arch:{b.current=N(ne,0,-i);break}case yt.Upper:break;default:return}j(Z),E(!0),Ln.getState().setEnableOrbitController(!1)},ie=ne=>{if(p.current===null||!g.current||!y.current||!A.current||!x.current||!v.current)return;const Z=g.current;if(p.current===yo.Mid){const he=y.current,fe=Y$t(ne,t,e),se=new ae;if(Q(he)){const oe=zz(ne);if(!oe)return;se.copy(oe);const de=V8(se,Z);k(ve=>{if(!v.current)return;const Pe=ve.elements.find(ye=>ye.id===t&&ye.type===z.Window);if(!Pe)return;const{lx:me,lz:Re,rotation:ze}=Pe,Ae=v.current,re=Sre(Pe),ge=q(Ae,de,me,Re,ze,re),we=$(de,me,Re,ze,re);ge&&we&&(Pe.cx=de.x,Pe.cy=de.y,Pe.cz=de.z)})}else{if(fe&&fe.segmentIdx!==C.current){const Re=fe.pointer;se.copy(Re)}else{const Re=zz(ne);if(!Re)return;se.copy(Re)}const oe=V8(se,Z),de=oe.clone().sub(x.current),{rotation:ve,segmentVertices:Pe,segmentIdx:me}=In.computeState(A.current,de);Pe?oe.setZ(In.getRooftopElementZ(Pe,de,x.current.z+he.thickness)):oe.setZ(x.current.z+he.thickness),k(Re=>{const ze=bn.getState().getRoofSegmentVertices(e);if(!ze)return;const Ae=me===-1?ze.length-1:me,re=ze[Ae];if(!re)return;const ge=Re.elements.find(Ee=>Ee.id===t&&Ee.type===z.Window);if(!ge)return;const{lx:we,lz:ye}=ge,Te=Sre(ge),Ie=q(re,oe,we,ye,ve,Te),Ce=$(oe,we,ye,ve,Te);Ie&&Ce&&(ge.cx=oe.x,ge.cy=oe.y,ge.cz=oe.z,ge.rotation=[...ve],fe&&fe.segmentIdx!==C.current&&(C.current=fe.segmentIdx))})}}else if(oSe(p.current)){const he=ee(C.current),fe=zz(ne),se=b.current;if(!fe||!se||!he)return;const oe=V8(fe,Z),de=V8(se,Z),{newLx:ve,newLz:Pe,newCenter:me}=O$t(de,oe,a[2]);M.getState().set(Re=>{const ze=Re.elements.find(we=>we.id===t&&we.type===z.Window);if(!ze)return;const Ae=Sre(ze),re=q(he,me,ve,Pe,a,Ae),ge=$(me,ve,Pe,a,Ae);re&&ge&&(ze.cx=me.x,ze.cy=me.y,ze.cz=me.z,ze.lx=ve,ze.lz=Math.max(.001,Pe))})}else if(p.current===yt.Upper){const he=ee(C.current),fe=zz(ne);if(!fe||!he)return;const se=V8(fe,Z);k(oe=>{const de=oe.elements.find(De=>De.id===t);if(!de)return;const[ve,Pe]=[de.lx/2,de.lz/2],me=new ae(de.cx,de.cy,de.cz),Re=new Qt().fromArray([de.rotation[0],de.rotation[1],de.rotation[2],"ZXY"]),ze=new ae(-ve,-Pe,0).applyEuler(Re).add(me),Ae=new ae(ve,-Pe,0).applyEuler(Re).add(me),re=new ae().subVectors(se,ze),ge=new ae().subVectors(Ae,ze).normalize(),we=re.clone().projectOnVector(ge).applyEuler(new Qt(0,0,-de.rotation[2])),ye=be.clamp((we.x-ve)/de.lx,-.5,.5),Te=In.getDistance(ze,Ae,se),Ie=Math.hypot(Te,se.z-ze.z),Ce=Math.max(0,Ie-de.lz),Ee=[ye,Ce],Ue=new ae(de.cx,de.cy,de.cz),{lx:Ne,lz:Le}=de,qe=q(he,Ue,Ne,Le,a,Ee),We=$(Ue,Ne,Le,a,Ee);qe&&We&&(de.polygonTop=[...Ee])})}else if(p.current===yt.Arch){const he=zz(ne),fe=b.current,se=ee(C.current);if(!he||!fe||!se)return;const oe=V8(he,Z),de=V8(fe,Z);k(ve=>{const Pe=ve.elements.find(Ce=>Ce.id===t&&Ce.type===z.Window);if(!Pe)return;const[me,Re]=[Pe.lx/2,Pe.lz/2],ze=new ae(Pe.cx,Pe.cy,Pe.cz),Ae=new Qt().fromArray([Pe.rotation[0],Pe.rotation[1],Pe.rotation[2],"ZXY"]),re=new ae(-me,-Re,0).applyEuler(Ae).add(ze),ge=new ae(me,-Re,0).applyEuler(Ae).add(ze),we=In.getDistance(re,ge,oe);let ye=Math.hypot(we,oe.z-re.z);const Te=Math.min(Pe.archHeight,Pe.lz,Pe.lx/2),Ie=Pe.lz-Te;if(ye>Ie&&ye{p.current===yo.Mid?Y():oSe(p.current)?_():p.current===yt.Upper?J():p.current===yt.Arch&&_(),w.current=null,P.current=null,T.current=null,R.current=null,H.current=null,p.current=null,g.current=null,y.current=null,A.current=null,x.current=null,C.current=null,b.current=null,v.current=null,S.current=[],E(!1),Ln.getState().setEnableOrbitController(!0)};return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Handle Wrapper",onPointerDown:le,children:[!d&&h.jsxs(h.Fragment,{children:[l===Sr.Polygonal&&h.jsx(mv,{x:B,z:U+W,handleType:yt.Upper,scale:[.5,1,1.5]}),h.jsx(mv,{x:-L,z:U,handleType:yt.UpperLeft}),h.jsx(mv,{x:L,z:U,handleType:yt.UpperRight}),h.jsx(mv,{x:-L,z:-U,handleType:yt.LowerLeft}),h.jsx(mv,{x:L,z:-U,handleType:yt.LowerRight}),l===Sr.Arched&&h.jsx(dqe,{z:U})]}),h.jsx(Z8t,{handleType:yo.Mid})]}),f&&D&&h.jsx(sa,{name:pye,args:[1e3,1e3],rotation:[Vt,0,0],onPointerMove:ie,onPointerUp:pe,visible:!1,children:h.jsx("meshBasicMaterial",{color:"red",side:ji,transparent:!0,opacity:.5})})]})},X$t=Se.memo(G$t),J$t=new sf({color:"white",side:ji}),K$t=Se.memo(({dimension:t,mullionData:e,shadowEnabled:n})=>{const[o,i,r]=t,{width:a,horizontalMullionSpacing:l,verticalMullionSpacing:s,color:c}=e,u=3,d=1,f=a/2,p=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),g=m.useMemo(()=>{const A=[],x=Math.round(o/s)-1;if(x<=0||a===0)return A;const C=o/(x+1);let b=C/2;x%2!==0&&(A.push(0),b=C);for(let v=0;v{const A=[],x=Math.round(r/l)-1;if(x<=0||a===0)return A;const C=r/(x+1);let b=C/2;x%2!==0&&(A.push(0),b=C);for(let v=0;vh.jsx(wa,{position:[A,25e-5,0],args:[f,f,r,u,d],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:p},x)),e.horizontalMullion&&y.map((A,x)=>h.jsx(wa,{position:[0,5e-4,A],args:[f,f,o,u,d],rotation:[0,0,Vt],receiveShadow:n,castShadow:n,children:p},x))]})}),q$t=Se.memo(({dimension:t,frameData:e,shadowEnabled:n})=>{const[o,i,r]=t,{color:a,width:l,sillWidth:s}=e,c=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:a}),[a]),u=l/2,d=u/2,f=o+l*3,p=l;return h.jsxs("group",{name:"Window Frame Group",position:[0,-d/2,0],children:[h.jsx(Ei,{position:[0,0,r/2],args:[o+2*l,d,l],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[-o/2-u,0,0],args:[l,d,r],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[o/2+u,0,0],args:[l,d,r],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[0,0,-r/2-(s===0?0:p/2)],args:s===0?[o+2*l,d,l]:[f,s??l,p],castShadow:n,receiveShadow:n,children:c})]})}),$$t=Se.memo(({cy:t,dimension:e,wireframeData:n})=>{const[o,i,r]=e,{lineWidth:a,lineColor:l,selected:s,locked:c,opacity:u}=n,d=o/2,f=r/2,p=3,g=1,y=m.useMemo(()=>new sf({color:l}),[l]),A=m.useMemo(()=>new sf({color:l0}),[]),x=(C,b)=>{const v=C/2;return h.jsxs(h.Fragment,{children:[h.jsx(wa,{args:[C,C,o,p,g],rotation:[0,0,Vt],position:[0,0,f-v],material:b}),h.jsx(wa,{args:[C,C,o,p,g],rotation:[0,0,Vt],position:[0,0,-f+v],material:b}),h.jsx(wa,{args:[C,C,r,p,g],rotation:[Vt,Vt,0],position:[d-v,0,0],material:b}),h.jsx(wa,{args:[C,C,r,p,g],rotation:[Vt,Vt,0],position:[-d+v,0,0],material:b})]})};return h.jsxs("group",{name:"Window Wireframe Group",children:[u>0&&h.jsx("group",{position:[0,t,0],children:x(a/20,y)}),c&&s&&x(a/5,A)]})}),Q$t=({id:t,dimension:e,position:n,mullionData:o,frameData:i,wireframeData:r,leftShutter:a,rightShutter:l,shutterColor:s,shutterWidth:c,glassMaterial:u,showHeatFluxes:d,area:f,empty:p,interior:g,foundation:y})=>{const A=M.getState().world,x=M(X2),C=M(q9),b=M($9),v=M(ss),S=bn(vb),w=m.useRef(0),T=m.useRef(),[P,R,H]=e,[D,E,L]=n,U=m.useMemo(()=>{if(!d||g||y&&y.notBuilding)return;const k=S.get(t);if(!k)return;const N=k.reduce((q,le)=>q+le,0);if(f===0)return;const j=K9*(A.solarRadiationHeatmapGridCellSize??.5),Y=Math.max(2,Math.round(P/j)),_=Math.max(2,Math.round(H/j)),J=P/Y,Q=H/_,ee=N/f*(x??Vm);w.current=ee<0?1:0,T.current=be.getEuler(Po,Yc,"YXZ",Math.sign(ee)*Vt);const $=[];if(ee<0)for(let q=0;qc*P,[P,c]),W=m.useMemo(()=>(F+i.width+P)/2*1.025,[P,F,i.width]),B=(k,N,j)=>h.jsx(sa,{name:"Window Seal Plane",args:k,position:N,rotation:j,material:J$t,receiveShadow:v,castShadow:v});return h.jsxs(h.Fragment,{children:[!p&&h.jsxs("group",{name:"Rectangle Window Plane Group",position:[0,E,0],children:[h.jsx(sa,{name:"Window Glass Plane",args:[P,H],rotation:[Vt,0,0],children:u}),(o.horizontalMullion||o.verticalMullion)&&h.jsx(K$t,{dimension:e,mullionData:o,shadowEnabled:v})]}),i.showFrame&&h.jsx(q$t,{dimension:e,frameData:i,shadowEnabled:v}),h.jsx(mye,{cx:W,lx:F,lz:H,color:s,showLeft:a,showRight:l,spacing:i.showFrame?i.width/2:0}),h.jsx($$t,{cy:E,dimension:e,wireframeData:r}),B([R,H],[-P/2+.001,R/2,0],[Vt,Vt,0]),B([R,H],[P/2-1e-4,R/2,0],[Vt,-Vt,0]),B([P,R],[0,R/2,H/2-.001],[Math.PI,0,0]),B([P,R],[0,R/2,-H/2+.001]),U&&U.map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:k,name:"Heat Flux "+N,lineWidth:b??Gm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:k[w.current].clone().add(new ae(0,w.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:T.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},N))]})},Z$t=Se.memo(Q$t),gye=({element:t})=>{const e=M(Sc),n=M(yh),o=M(ey),i=t.lx/2,r=t.lz/2,a=.05,l=1,s=.5,c=t.lineColor??"white",u="darkorchid",d=Math.max(.25,(i+r)/32),f=.25,p=30,g=-.1,y=m.useMemo(()=>({lng:e}),[e]),A=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lz.toFixed(1)+O.t("word.MeterAbbreviation",y),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[-i-f,g,0]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f,0,-r],[-i-f,0,r]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f+a,0,-r+3*a],[-i-f,0,-r],[-i-f-a,0,-r+3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f+a,0,r-3*a],[-i-f,0,r],[-i-f-a,0,r-3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r],[-i-f*2,0,-r]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r],[-i-f*2,0,r]],color:c,linewidth:s})]}),[i,r,y]),x=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lz.toFixed(1)+O.t("word.MeterAbbreviation",y),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[i+f,g,0]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f,0,-r],[i+f,0,r]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f+a,0,-r+3*a],[i+f,0,-r],[i+f-a,0,-r+3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f+a,0,r-3*a],[i+f,0,r],[i+f-a,0,r-3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,-r],[i+f*2,0,-r]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,r],[i+f*2,0,r]],color:c,linewidth:s})]}),[i,r,y]),C=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lx.toFixed(1)+O.t("word.MeterAbbreviation",y),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[0,g,-r-f]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r-f],[i,0,-r-f]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i+3*a,0,-r-f-a],[-i,0,-r-f],[-i+3*a,0,-r-f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i-3*a,0,-r-f-a],[i,0,-r-f],[i-3*a,0,-r-f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r],[-i,0,-r-f*2]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,-r],[i,0,-r-f*2]],color:c,linewidth:s})]}),[i,r,y]),b=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lx.toFixed(1)+O.t("word.MeterAbbreviation",y),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[0,g,r+f]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r+f],[i,0,r+f]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i+3*a,0,r+f-a],[-i,0,r+f],[-i+3*a,0,r+f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i-3*a,0,r+f-a],[i,0,r+f],[i-3*a,0,r+f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r],[-i,0,r+f*2]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,r],[i,0,r+f*2]],color:c,linewidth:s})]}),[i,r,y]);if(n)switch(n){case yt.LowerLeft:return h.jsxs(h.Fragment,{children:[A,C]});case yt.LowerRight:return h.jsxs(h.Fragment,{children:[x,C]});case yt.UpperLeft:return h.jsxs(h.Fragment,{children:[A,b]});case yt.UpperRight:return h.jsxs(h.Fragment,{children:[x,b]})}if(o)switch(o){case yt.LowerLeft:return h.jsxs(h.Fragment,{children:[A,C]});case yt.LowerRight:return h.jsxs(h.Fragment,{children:[x,C]});case yt.UpperLeft:return h.jsxs(h.Fragment,{children:[A,b]});case yt.UpperRight:return h.jsxs(h.Fragment,{children:[x,b]})}return h.jsx(h.Fragment,{})};Se.memo(gye);const mye=({cx:t,cz:e=0,lx:n,lz:o,color:i,showLeft:r,showRight:a,spacing:l})=>{const s=M(ss),c=gt(cs),u=gt(i3);return c||u?null:h.jsxs("group",{name:"Shutter Group",children:[a&&h.jsx(Ei,{args:[n,.1,o],position:[t+l,0,e],castShadow:s,receiveShadow:s,children:h.jsx("meshStandardMaterial",{color:i})}),r&&h.jsx(Ei,{args:[n,.1,o],position:[-t-l,0,e],castShadow:s,receiveShadow:s,children:h.jsx("meshStandardMaterial",{color:i})})]})},Hue="Window Group",jp=[0,.5],eQt=t=>{const{id:e,parentId:n,foundationId:o,cx:i,cy:r,cz:a,lx:l,ly:s,lz:c,rotation:u,locked:d,lineWidth:f=.2,lineColor:p="black",horizontalMullion:g=!0,verticalMullion:y=!0,mullionWidth:A=.06,horizontalMullionSpacing:x=.5,verticalMullionSpacing:C=.5,tint:b="#73D8FF",opacity:v=.5,leftShutter:S=!1,rightShutter:w=!1,shutterColor:T="gray",shutterWidth:P=.5,mullionColor:R="white",frame:H=!1,color:D="white",frameWidth:E=.1,sillWidth:L=.1,windowType:U=Sr.Default,archHeight:F,parentType:W=z.Wall,polygonTop:B=jp}=t,k=`${Hue} ${e}`,N=M(dn),j=M(cA),Y=gt(Ah),_=M(uBe),J=Hs(e),Q=(me=!1)=>{N(Re=>{if(Re.contextMenuObjectType=null,Re.groupActionMode)Re.multiSelectionsMode||Re.selectedElementIdSet.clear(),t.foundationId&&(Re.selectedElementIdSet.has(n)?Re.selectedElementIdSet.delete(n):Re.selectedElementIdSet.add(t.foundationId));else for(const ze of Re.elements)if(ze.id===e)if(ze.selected=!0,Re.selectedElement=ze,me)if(Re.selectedElementIdSet.has(e))for(const Ae of Re.elements)Re.selectedElementIdSet.has(Ae.id)&&Ae.type!==Re.selectedElement.type&&Re.selectedElementIdSet.delete(Ae.id);else if(Re.multiSelectionsMode){Re.selectedElementIdSet.add(e);for(const Ae of Re.elements)Re.selectedElementIdSet.has(Ae.id)&&Ae.type!==Re.selectedElement.type&&Re.selectedElementIdSet.delete(Ae.id)}else Re.selectedElementIdSet.clear(),Re.selectedElementIdSet.add(e);else Re.multiSelectionsMode?Re.selectedElementIdSet.has(e)?Re.selectedElementIdSet.delete(e):Re.selectedElementIdSet.add(e):(Re.selectedElementIdSet.clear(),Re.selectedElementIdSet.add(e));else ze.selected=!1})},ee=me=>me.intersections.length>0&&me.intersections[0].eventObject.name===k&&!M.getState().moveHandleType&&!M.getState().resizeHandleType&&!M.getState().isAddingElement()&&M.getState().objectTypeToAdd===z.None,$=me=>{if(me.eventObject.name===k&&me.intersections.length>0)switch(me.object.name){case yo.Mid:case yt.UpperLeft:case yt.UpperRight:case yt.LowerLeft:case yt.LowerRight:case yt.Arch:case yt.Upper:return!0}return!1},q=(me,Re)=>{Ln.getState().setEnableOrbitController(!1),Y("showWallIntersectionPlaneId",n),N(ze=>{ze.resizeHandleType=me,ze.resizeAnchor.copy(new ae(i,0,a).add(Re))})},le=me=>{if(!(me.button===2||M.getState().addedWallId)&&(ee(me)&&Q(),$(me))){const Re=me.intersections[0].eventObject.name;switch(Re){case yo.Mid:{Ln.getState().setEnableOrbitController(!1),gt.getState().set(ze=>{ze.showWallIntersectionPlaneId=n,ze.oldParentId=n,ze.oldFoundationId=o}),N(ze=>{ze.moveHandleType=Re,ze.selectedElement=ze.elements.find(Ae=>{var re;return Ae.id===((re=ze.selectedElement)==null?void 0:re.id)})});break}case yt.UpperLeft:{q(Re,new ae(l/2,0,-c/2));break}case yt.UpperRight:{q(Re,new ae(-l/2,0,-c/2));break}case yt.LowerLeft:{q(Re,new ae(l/2,0,c/2));break}case yt.LowerRight:{q(Re,new ae(-l/2,0,c/2));break}case yt.Arch:{q(Re,new ae(0,0,0));break}case yt.Upper:{q(Re,new ae(0,0,c/2));break}}}},ie=me=>{M.getState().addedWallId||ee(me)&&(Q(!0),N(Re=>{Re.contextMenuObjectType=z.Window}))},pe=m.useMemo(()=>{if(W===z.Roof){const[me,Re,ze]=u;return new Qt().fromArray([me-Vt,Re,ze,"ZXY"])}else return new Qt},[W,u]),ne=m.useMemo(()=>h.jsx("meshPhongMaterial",{specular:new Xo("white"),shininess:_??QV,color:b,side:ji,opacity:v,transparent:!0}),[_,b,v]),Z=m.useMemo(()=>F!==void 0?[l,s,c,F]:[l,s,c],[l,s,c,F]),he=m.useMemo(()=>W===z.Roof?[i,.05,a]:[i,r,a],[i,r,a,W]),fe=m.useMemo(()=>({horizontalMullion:g,verticalMullion:y,width:A,horizontalMullionSpacing:x,verticalMullionSpacing:C,color:R}),[g,y,A,x,C,R]),se=m.useMemo(()=>({showFrame:H,width:E,color:D,sillWidth:L}),[H,E,D,L]),oe=m.useMemo(()=>({lineColor:p,lineWidth:f,selected:J,locked:d,opacity:v}),[p,f,J,d,v]),de=gt(i3),ve=()=>{switch(U){case Sr.Default:return h.jsx(Z$t,{id:t.id,dimension:Z,position:he,mullionData:fe,frameData:se,wireframeData:oe,leftShutter:S,rightShutter:w,shutterColor:T,shutterWidth:P,glassMaterial:ne,showHeatFluxes:de,area:be.getWindowArea(t),empty:!!t.empty,interior:!!t.interior,foundation:j(t)});case Sr.Arched:return h.jsx(hvt,{id:t.id,dimension:Z,position:he,mullionData:fe,frameData:se,wireframeData:oe,leftShutter:S,rightShutter:w,shutterColor:T,shutterWidth:P,glassMaterial:ne,showHeatFluxes:de,area:be.getWindowArea(t),empty:!!t.empty,interior:!!t.interior,foundation:j(t)});case Sr.Polygonal:return h.jsx(vvt,{id:t.id,dimension:Z,polygonTop:B,position:he,glassMaterial:ne,empty:!!t.empty,interior:!!t.interior,wireframeData:oe,frameData:se,leftShutter:S,rightShutter:w,shutterColor:T,shutterWidth:P,showHeatFluxes:de,area:be.getWindowArea(t),foundation:j(t)})}},Pe=W===z.Roof?r:0;return h.jsxs("group",{name:k,position:[i,Pe,a],rotation:pe,onPointerDown:le,onContextMenu:ie,onPointerMove:()=>{},children:[ve(),J&&h.jsx(gye,{element:t}),J&&!d&&h.jsx(X$t,{id:e,parentId:n,foundationId:o,lx:l,lz:c,polygonTop:B,rotation:u,windowType:U,parentType:W})]},e)},fqe=Se.memo(eQt),tQt=Se.memo(({lineColor:t="black",lineWidth:e=.2,hx:n,hz:o,fill:i,isTopPartial:r,leftUnfilledHeight:a,rightUnfilledHeight:l,showParapet:s=!1,leftHeight:c=2*o,rightHeight:u=2*o,center:d,centerLeft:f,centerRight:p})=>{const g=M(S=>S.viewState.orthographic),y=[-n,-o+.001+(i===Hl.Partial?a:0),.001],A=[n,-o+.001+(i===Hl.Partial?l:0),.001],x=[-n,c-o-.001,.001],C=[n,u-o-.001,.001],b=n*2,v=[];if(g)e=2,v.push(x,C);else if(s)v.push(x,y,A,C);else if(r)v.push(y,x,C,A,y);else{if(v.push(y,x),f){const S=[f[0]*b,f[1]-o,.001];v.push(S)}if(d){const S=[d[0]*b,d[1]-o,.001];v.push(S)}if(p){const S=[p[0]*b,p[1]-o,.001];v.push(S)}v.push(C,A)}return h.jsx(Se.Fragment,{children:h.jsx(Fn,{rotation:[Vt,0,0],points:v,color:t,lineWidth:e})})});var bd=(t=>(t.Default="Default",t.Arched="Arched",t))(bd||{});const nQt=Se.memo(({dimension:t,lineColor:e,lineWidth:n})=>{const[o,i,r]=t.map(u=>u/2),a=[-o,0,r+.05],l=[o,0,r+.05],s=[-o,0,-r],c=[o,0,-r];return h.jsx(Fn,{points:[s,a,l,c],lineWidth:n,color:e})}),oQt=Se.memo(({dimension:t,color:e})=>{const[n,o,i]=t,r=M(ss),a=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:e}),[e]),l=.1,s=l/2;return h.jsxs("group",{name:"Door frame group",children:[h.jsx(Ei,{position:[0,0,i/2],args:[n,l,l],castShadow:r,receiveShadow:r,children:a}),h.jsx(Ei,{position:[-n/2+s,0,0],args:[l,l,i],castShadow:r,receiveShadow:r,children:a}),h.jsx(Ei,{position:[n/2-s,0,0],args:[l,l,i],castShadow:r,receiveShadow:r,children:a})]})}),iQt=Se.memo(({id:t,dimension:e,color:n,frameColor:o,selected:i,locked:r,material:a,filled:l,area:s,showHeatFluxes:c,foundation:u})=>{const d=M.getState().world,f=M(X2),p=M(q9),g=M($9),y=M(ss),A=bn(vb),x=m.useRef(0),C=m.useRef(),[b,v,S]=e,w=m.useMemo(()=>{if(!c||u&&u.notBuilding)return;const P=A.get(t);if(!P)return;const R=P.reduce((B,k)=>B+k,0);if(s===0)return;const H=K9*(d.solarRadiationHeatmapGridCellSize??.5),D=Math.max(2,Math.round(b/H)),E=Math.max(2,Math.round(S/H)),L=b/D,U=S/E,F=R/s*(f??Vm);x.current=F<0?1:0,C.current=be.getEuler(Po,Yc,"YXZ",Math.sign(F)*Vt);const W=[];if(F<0)for(let B=0;B{const P=new Ml,[R,H]=[b/2,S/2],D=Math.max(R,H)*.2;return P.moveTo(-R,-H),P.lineTo(-R,H),P.lineTo(R,H),P.lineTo(R,-H),l||(P.lineTo(R-D,-H),P.lineTo(R-D,H-D),P.lineTo(-R+D,H-D),P.lineTo(-R+D,-H)),P.closePath(),P},[b,S,l]);return h.jsxs("group",{name:"Rectangle door group",position:[0,-.01,0],children:[h.jsx("mesh",{name:"Rectangular Door Mesh",rotation:[Vt,0,0],material:a,castShadow:y&&l,receiveShadow:y&&l,children:h.jsx("shapeGeometry",{args:[T]})}),l&&h.jsxs("mesh",{name:"Rectangular Door Simulation Mesh",rotation:[Vt,0,0],uuid:t,userData:{simulation:!0},castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[T]}),h.jsx("meshBasicMaterial",{side:ji})]}),l&&h.jsx("mesh",{name:"Door plane inside",position:[0,.1,0],rotation:[-Vt,0,Math.PI],material:a,castShadow:y&&l,receiveShadow:y&&l,children:h.jsx("shapeGeometry",{args:[T]})}),h.jsx(nQt,{dimension:e,lineColor:i&&r?l0:"black",lineWidth:i&&r?2:.2}),h.jsx(oQt,{dimension:e,color:o}),w&&w.map((P,R)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:P,name:"Heat Flux "+R,lineWidth:g??Gm,color:p??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:P[x.current].clone().add(new ae(0,x.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:C.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:p??g0})})]},R))]})}),rQt=Se.memo(({id:t,dimension:e,color:n,frameColor:o,selected:i,locked:r,material:a,filled:l,showHeatFluxes:s,area:c,foundation:u})=>{const d=M.getState().world,f=M(ss),p=M(X2),g=M(q9),y=M($9),A=bn(vb),x=m.useRef(0),C=m.useRef(),[b,v,S,w]=e,T=(D,E)=>{if(w>0){const L=.5*b,U=.5*S,F=Math.min(w,S,L),W=.5*(F+L*L/F);if(Math.abs(D)-U)return!0;const B=E-(S-W-U);return D*D+B*B{if(!s||u&&u.notBuilding)return;const D=A.get(t);if(!D)return;const E=D.reduce((j,Y)=>j+Y,0);if(c===0)return;const L=K9*(d.solarRadiationHeatmapGridCellSize??.5),U=Math.max(2,Math.round(b/L)),F=Math.max(2,Math.round(S/L)),W=b/U,B=S/F,k=E/c*(p??Vm);x.current=k<0?1:0,C.current=be.getEuler(Po,Yc,"YXZ",Math.sign(k)*Vt);const N=[];if(k<0)for(let j=0;j{const D=new Ml,E=b/2,L=S/2,U=Math.min(w,S,E);if(D.moveTo(E,-L),D.lineTo(E,L-U),U>.1){const F=U/2+b**2/(8*U),[W,B]=[0,L-F],k=Math.acos(Math.min(E/F,1)),N=Math.PI-k;D.absarc(W,B,F,k,N,!1)}else D.lineTo(-E,L);if(D.lineTo(-E,-L),!l){const F=b*.4,W=S*.4,B=Math.min(w*.8,S*.8,E*.8);if(D.lineTo(-F,-L),B>.1){D.lineTo(-F,L-B);const k=B/2+(b*.8)**2/(8*B),[N,j]=[0,W-k],Y=Math.acos(Math.min(F/k,1)),_=Math.PI-Y;D.absarc(N,j,k,_,Y,!0)}else D.lineTo(-F,W),D.lineTo(F,W);D.lineTo(F,-L)}return D.closePath(),D},[b,S,w,l]),H=m.useMemo(()=>({lineColor:"black",lineWidth:r&&i?.2:.1,opacity:1,selected:i,locked:r}),[i,r]);return h.jsxs("group",{name:"Arched door group",children:[h.jsx("mesh",{name:"Arched Door Mesh",rotation:[Vt,0,0],material:a,castShadow:f&&l,receiveShadow:f&&l,children:h.jsx("shapeGeometry",{args:[R]})}),l&&h.jsxs("mesh",{name:"Arched Door Simulation Mesh",rotation:[Vt,0,0],material:a,uuid:t,userData:{simulation:!0},castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[R]}),h.jsx("meshBasicMaterial",{side:ji})]}),l&&h.jsx("mesh",{name:"Door plane mesh inside",position:[0,.1,0],rotation:[-Vt,0,Math.PI],material:a,castShadow:f&&l,receiveShadow:f&&l,children:h.jsx("shapeGeometry",{args:[R]})}),h.jsx(vce,{cy:0,dimension:e,wireframeData:H}),h.jsx(vce,{cy:v,dimension:e,wireframeData:H}),P&&P.map((D,E)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:D,name:"Heat Flux "+E,lineWidth:y??Gm,color:g??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:D[x.current].clone().add(new ae(0,x.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:C.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:g??g0})})]},E))]})}),hqe="/aladdin/assets/door_edge-Dxz9LnYZ.png",pqe="/aladdin/assets/door_01-Bl1yYWKp.png",Mue="/aladdin/assets/door_02-eLAy3erM.png",gqe="/aladdin/assets/door_03-CX-eEQtv.png",mqe="/aladdin/assets/door_04-Bk3Xe_KE.png",yqe="/aladdin/assets/door_05-15BnnbHK.png",Aqe="/aladdin/assets/door_06-B08sjms-.png",wqe="/aladdin/assets/door_07-BVyEwygm.png",vqe="/aladdin/assets/door_08-Cd1Vc7FQ.png",xqe="/aladdin/assets/door_09-DQcA4jCn.png",bqe="/aladdin/assets/door_10-DVLJsY3W.png",Sqe="/aladdin/assets/door_11-dOCMnkGG.png",Tqe="/aladdin/assets/door_12-7f2iD2B7.png",Pqe="/aladdin/assets/door_13-IsPl-xmI.png",Cqe="/aladdin/assets/door_14-CljRO-fX.png",Rqe="/aladdin/assets/door_15-CoUc1lfF.png",Hqe="/aladdin/assets/door_16-Dlbc5tIF.png",Mqe="/aladdin/assets/door_17-CHob_UgA.png",aQt=(t,e,n,o)=>{const i=m.useMemo(()=>{let s;switch(t){case ii.Default:s=hqe;break;case ii.NoTexture:s=Q1;break;case ii.Texture01:s=pqe;break;case ii.Texture02:s=Mue;break;case ii.Texture03:s=gqe;break;case ii.Texture04:s=mqe;break;case ii.Texture05:s=yqe;break;case ii.Texture06:s=Aqe;break;case ii.Texture07:s=wqe;break;case ii.Texture08:s=vqe;break;case ii.Texture09:s=xqe;break;case ii.Texture10:s=bqe;break;case ii.Texture11:s=Sqe;break;case ii.Texture12:s=Tqe;break;case ii.Texture13:s=Pqe;break;case ii.Texture14:s=Cqe;break;case ii.Texture15:s=Rqe;break;case ii.Texture16:s=Hqe;break;case ii.Texture17:s=Mqe;break;default:s=Mue}return new tf().load(s,c=>{n!==void 0&&o!==void 0&&(c.offset.set(.5,.5),c.repeat.set(1/n,1/o)),a(c),l()})},[t,e,n,o]),[r,a]=m.useState(i),{invalidate:l}=Xi();return r},lQt=new sf({color:"white",side:ia}),sQt=Se.memo(({dimension:t,doorType:e})=>{const[n,o,i]=t.map(a=>a/2);return n===0&&i===0?null:h.jsxs("group",{name:"Door handle wrapper",children:[h.jsx(mv,{x:-n,z:i,handleType:yt.UpperLeft}),h.jsx(mv,{x:n,z:i,handleType:yt.UpperRight}),e===bd.Arched&&h.jsx(dqe,{z:i})]})}),cQt=Se.memo(({dimension:t})=>{const e=M(ss),[n,o,i]=t,[r,a,l]=t.map(c=>c/2),s=(c,u,d)=>h.jsx(sa,{name:"Door seal plane",args:c,position:u,rotation:d,material:lQt,receiveShadow:e});return h.jsxs("group",{name:"Door seal planes group",children:[s([o,i],[-r,a,0],[Vt,Vt,0]),s([o,i],[r,a,0],[Vt,-Vt,0]),s([n,o],[0,a,l],[Math.PI,0,0])]})}),uQt=t=>{const{id:e,parentId:n,cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,textureType:c,locked:u=!1,color:d="white",doorType:f=bd.Default,archHeight:p=1,filled:g=!0,opacity:y=1,frameColor:A="white"}=t,x=`Door Group ${e}`,C=M(dn),b=gt(Ah),v=M(uBe),S=Hs(e),w=m.useRef(!1);m.useEffect(()=>{const Q=()=>{w.current=!1};return window.addEventListener("pointerup",Q),()=>window.removeEventListener("pointerup",Q)},[]);const T=(Q=!1)=>{C(ee=>{if(ee.groupActionMode)ee.multiSelectionsMode||ee.selectedElementIdSet.clear(),t.foundationId&&(ee.selectedElementIdSet.has(n)?ee.selectedElementIdSet.delete(n):ee.selectedElementIdSet.add(t.foundationId));else for(const $ of ee.elements)if($.id===e)if($.selected=!0,ee.selectedElement=$,Q)if(ee.selectedElementIdSet.has(e))for(const q of ee.elements)ee.selectedElementIdSet.has(q.id)&&q.type!==ee.selectedElement.type&&ee.selectedElementIdSet.delete(q.id);else if(ee.multiSelectionsMode){ee.selectedElementIdSet.add(e);for(const q of ee.elements)ee.selectedElementIdSet.has(q.id)&&q.type!==ee.selectedElement.type&&ee.selectedElementIdSet.delete(q.id)}else ee.selectedElementIdSet.clear(),ee.selectedElementIdSet.add(e);else ee.multiSelectionsMode?ee.selectedElementIdSet.has(e)?ee.selectedElementIdSet.delete(e):ee.selectedElementIdSet.add(e):(ee.selectedElementIdSet.clear(),ee.selectedElementIdSet.add(e));else $.selected=!1})},P=Q=>Q.intersections.length>0&&Q.intersections[0].eventObject.name===x&&!M.getState().moveHandleType&&!M.getState().resizeHandleType&&!M.getState().isAddingElement()&&M.getState().objectTypeToAdd===z.None,R=Q=>{if(Q.eventObject.name===x&&Q.intersections.length>0)switch(Q.object.name){case yt.UpperLeft:case yt.UpperRight:case yt.Arch:return!0}return!1},H=(Q,ee)=>{Ln.getState().setEnableOrbitController(!1),b("showWallIntersectionPlaneId",n),C($=>{$.resizeHandleType=Q,$.resizeAnchor.copy(new ae(o,0,r).add(ee)),$.selectedElement=$.elements.find(q=>q.selected)})},D=Q=>{M.getState().addedWallId||P(Q)&&(T(!0),C(ee=>{ee.contextMenuObjectType=z.Door}))},E=Q=>{if(!(w.current||Q.button===2||M.getState().addedWallId)&&(w.current=!0,P(Q)&&T(),R(Q))){const ee=Q.intersections[0].eventObject.name;switch(ee){case yt.UpperLeft:{H(ee,new ae(a/2,0,-s/2));break}case yt.UpperRight:{H(ee,new ae(-a/2,0,-s/2));break}case yt.Arch:{H(ee,new ae(0,0,0));break}}}},L=M(cA),U=gt(cs),F=gt(i3),W=M(wf),B=bn(n1),[k,N]=m.useState(null),j=()=>{switch(f){case bd.Default:return h.jsx(iQt,{id:e,dimension:_,color:d,frameColor:A,selected:S,locked:u,material:J,filled:g,showHeatFluxes:F,area:be.getDoorArea(t),foundation:L(t)});case bd.Arched:return h.jsx(rQt,{id:e,dimension:_,color:d,frameColor:A,selected:S,locked:u,material:J,filled:g,showHeatFluxes:F,area:be.getDoorArea(t),foundation:L(t)})}};m.useEffect(()=>{if(t&&U){const Q=B(t.id);if(Q){const ee=be.fetchHeatmapTexture(Q,W??5);ee&&(ee.wrapS=Ss,ee.wrapT=Ss,ee.offset.set(-a/2,-s/2),ee.center.set(a/2,s/2),ee.repeat.set(1/a,1/s),N(ee))}}},[U,W]);const Y=aQt(c,f,a,s),_=m.useMemo(()=>[a,l,s,p],[a,l,s,p]),J=m.useMemo(()=>U&&k&&t.filled?new G9({color:d,map:k,side:ia}):g?c===ii.Default||c===ii.NoTexture?y<1?new A1e({specular:"white",shininess:v??QV,color:d,side:ia,opacity:y,transparent:!0}):new sf({map:Y,color:d,side:ia}):new sf({map:Y,side:ia}):new sf({opacity:d===lce?.5:0,color:d,transparent:!0,side:ji}),[U,k,d,c,Y,g,y]);return h.jsxs("group",{name:x,position:[o,0,r],onPointerDown:E,onContextMenu:D,children:[j(),S&&h.jsx(gye,{element:t}),S&&!u&&h.jsx(sQt,{dimension:_,doorType:f}),h.jsx(cQt,{dimension:_})]})},dQt=Se.memo(uQt),fQt=Se.memo(({drawSunbeam:t,absRotation:e,tiltAngle:n})=>{const o=new ae(0,0,1),i=M(Ya),r=M(Xs),a=M(mh),l=Math.max(100,10*a),s=m.useMemo(()=>zr(new Date(i),r).applyEuler(new Qt(-Vt-n,0,-e)),[i,r,e,n]);return h.jsx(h.Fragment,{children:t&&s.z>0&&h.jsxs("group",{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[o.clone().multiplyScalar(.75),[0,0,0],s.clone().multiplyScalar(l)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[s.clone().multiplyScalar(.5),o.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:be.toDegrees(s.angleTo(o)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:s.clone().multiplyScalar(.75).add(o.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:o.clone().multiplyScalar(.75),rotation:[Vt,0,0],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})})}),hQt=({sp:t})=>{M(Jn);const e=M(jn),n=M(Sc),o=m.useMemo(()=>({lng:n}),[n]);if(!t.foundationId||!t.parentId)return null;const i=e(t.parentId),r=e(t.foundationId);if(!i||!r)return null;const a=new ae(r.cx,r.cy,r.cz),l=new ae(i.cx,i.cy,i.cz),s=new ae(t.cx*i.lx,0,t.cz*i.lz).applyEuler(new Qt(0,0,i.relativeAngle)).add(l).applyEuler(new Qt(0,0,r.rotation[2])).add(a),c=((t==null?void 0:t.label)??O.t("shared.SolarPanelElement",o))+(t!=null&&t.locked?` ( + ${O.t("shared.ElementLocked",o)} + )`:"")+(t!=null&&t.label?"":` -`+O.t("word.Coordinates",o)+": ("+s.x.toFixed(1)+", "+s.y.toFixed(1)+", "+s.z.toFixed(1)+") "+O.t("word.MeterAbbreviation",o));return h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:c,color:t.labelColor??"white",fontSize:t.labelFontSize??20,textHeight:t.labelSize??.2,position:[0,0,t.labelHeight??Math.max(t.ly/2*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})},pQt=({tiltAngle:t,handleSize:e,initPointerDown:n,handlePointerMove:o,handlePointerUp:i})=>{const{gl:r}=Xi(),[a,l]=m.useState(pr),[s,c]=m.useState(!1),[u,d]=m.useState(!1),f=m.useRef(null),p=m.useRef(null),g=m.useMemo(()=>new Array(7).fill(0),[]),y=M(dn);return h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[e,1.1*e,18,2,0,Vt],rotation:[0,-Vt,0,"ZXY"],onPointerOver:()=>{r.domElement.style.cursor="grab",l(nr)},onPointerOut:()=>{r.domElement.style.cursor="default",l(pr)},onPointerDown:A=>{n(),A.stopPropagation(),c(!0),d(!0),y(x=>{x.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:a})}),s&&h.jsxs(h.Fragment,{children:[u&&h.jsx(sa,{name:"Solar panel tilt handle intersection plane",ref:p,args:[1e3,1e3],rotation:[0,-Vt,0,"ZXY"],visible:!1,onPointerMove:A=>{o(A,p)},onPointerUp:()=>{i(),d(!1),c(!1)},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji})}),h.jsx(Y6,{ref:f,name:"Solar panel tilt handle",args:[e,2*e,18,2,-0,Vt],rotation:[0,-Vt,0,"ZXY"],children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,e],[0,0,1.75*e]],rotation:new Qt(t,0,0,"ZXY"),lineWidth:1}),g.map((A,x)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*x-Vt,0,0,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*e],[0,0,2*e]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${90-x*15}°`,fontSize:20*e,fontFace:"Times Roman",textHeight:.15*e,position:[0,0,1.6*e]})]},x)),h.jsx("group",{rotation:new Qt(t,0,0,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(-t/Math.PI*180)}°`,fontSize:20*e,fontFace:"Times Roman",textHeight:.2*e,position:[0,0,.75*e]})})]})]})},gQt=Se.memo(({tiltAngle:t,spCy:e,spLy:n,lx:o,nx:i})=>{const r=M(ss),a=m.useMemo(()=>{const s=n*Math.cos(t)/2,c=n*.75-s,u=-e*1.5,d=c-s/2,f=Math.hypot(u,d),p=Math.atan2(d,u);return h.jsx("group",{position:[0,-c,e],rotation:[-p,0,0],children:h.jsx(Ei,{args:[.05,.05,f],position:[0,0,f/2],castShadow:r,receiveShadow:r,children:h.jsx("meshStandardMaterial",{color:"#BFBFBF"})})})},[t,e,n,r]),l=m.useMemo(()=>{const s=[];let c=i%2===0?o/2:0;for(;ch.jsx("group",{position:[s,0,0],children:a},c))})}),tO="Handle Group Move & Resize",mQt=({id:t,pvModelName:e="SPR-X21-335-BLK",cx:n,cy:o,cz:i,lx:r,ly:a,lz:l,color:s="white",locked:c=!1,parentId:u,foundationId:d,orientation:f=ci.portrait,showLabel:p,drawSunBeam:g,absRotation:y,tiltAngle:A,relativeAzimuth:x})=>{A=Math.min(0,A);const C=Hs(t),b=M(dn),v=gt(cs),S=M(ss),w=M(pq),T=M(jn),P=M(Vc),R=M(yh),H=M(hu)??!1,D=M(C7),{camera:E,gl:L}=Xi(),[U,F]=m.useState(!1),[W,B]=m.useState(null),[k,N]=m.useState(1),j=m.useRef(null),Y=m.useRef(),_=m.useRef(!1),J=m.useRef(null),Q=m.useMemo(()=>new Gs,[]),ee=m.useMemo(()=>new Gt,[]),$=D[e];$&&(l=Math.max($.thickness,.02));const q=r/2,le=a/2,ie=l/2,pe=new ae(-q,-le,ie),ne=new ae(-q,le,ie),Z=new ae(q,-le,ie),he=new ae(q,le,ie),fe=T(t);m.useEffect(()=>{if($){let Ne,Le;f===ci.portrait?(Ne=Math.max(1,Math.round(r/$.width)),Le=Math.max(1,Math.round(a/$.length))):(Ne=Math.max(1,Math.round(r/$.length)),Le=Math.max(1,Math.round(a/$.width))),N(Ne),Y.current=[];const qe=r/Ne,We=a/Le;for(let De=0;De<=Ne;De++)Y.current.push({points:[new ae(-q+De*qe,-le,l),new ae(-q+De*qe,le,l)]});for(let De=0;De<=Le;De++)Y.current.push({points:[new ae(-q,-le+De*We,l),new ae(q,-le+De*We,l)]})}},[f,e,r,a,l]);const se=m.useMemo(()=>new Qt(Vt,0,0),[]),oe=m.useMemo(()=>new Qt(A,0,0,"ZXY"),[A]),de=Ne=>{if(Ne.intersections.length>0&&Ne.eventObject.name.includes(tO)){const qe=Ne.object.name;B(qe),qe===yo.Top?L.domElement.style.cursor="move":qe===wi.Lower||qe===wi.Upper||qe===wi.Tilt?L.domElement.style.cursor="grab":L.domElement.style.cursor="pointer"}},ve=()=>{B(null),L.domElement.style.cursor="default"},Pe=Math.max(1,(r+a)/16),me=I9*Pe*1.5,Re=Af*Pe*2,ze=Pe*2/3;o=a*Math.sin(A)/2;const Ae=Ne=>{ee.x=Ne.offsetX/L.domElement.clientWidth*2-1,ee.y=-(Ne.offsetY/L.domElement.clientHeight)*2+1,Q.setFromCamera(ee,E)},re=()=>{J.current=A,_.current=!0,Ln.getState().setEnableOrbitController(!1)},ge=(Ne,Le)=>{var qe;if(_.current&&(Ae(Ne),Le.current&&M.getState().rotateHandleType===wi.Tilt)){const We=Q.intersectObjects([Le.current]);if(We.length>0){const De=We[0].point,Fe=(qe=Le.current.parent)==null?void 0:qe.localToWorld(new ae);if(Fe){const _e=new ae().subVectors(De,Fe);let ot=_e.angleTo(Po);const Ye=y;ot=(Ye%Math.PI===0?Math.sign(-_e.y)*Math.sign(Math.cos(Ye)):Math.sign(_e.x)*Math.sign(Math.sin(Ye)))*ot-Vt,ot=be.clamp(ot,-Vt,0),M.getState().updateSolarPanelTiltAngleById(t,ot)}}}},we=()=>{const Ne=T(t);if(Ne&&J.current!==null&&Math.abs(Ne.tiltAngle-J.current)>kt){const Le={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:J.current,newValue:Ne.tiltAngle,changedElementId:t,changedElementType:z.SolarPanel,undo:()=>{M.getState().updateSolarPanelTiltAngleById(Le.changedElementId,Le.oldValue)},redo:()=>{M.getState().updateSolarPanelTiltAngleById(Le.changedElementId,Le.newValue)}};M.getState().addUndoable(Le)}Ln.getState().setEnableOrbitController(!0),_.current=!1},ye=(Ne,Le)=>{Ln.getState().setEnableOrbitController(!1),gt.getState().set(qe=>{qe.showWallIntersectionPlaneId=u,qe.oldParentId=u,qe.oldFoundationId=d}),b(qe=>{qe.resizeHandleType=Ne,qe.resizeAnchor.copy(new ae(n,0,i).add(Le))})},Te=Ne=>{if(Ne.intersections.length>0&&Ne.intersections[0].eventObject.name===tO){const Le=Ne.object.name;switch(Le){case yo.Default:{Ln.getState().setEnableOrbitController(!1),gt.getState().set(qe=>{qe.showWallIntersectionPlaneId=u,qe.oldParentId=u,qe.oldFoundationId=d}),b(qe=>{qe.moveHandleType=Le,qe.selectedElement=qe.elements.find(We=>{var De;return We.id===((De=qe.selectedElement)==null?void 0:De.id)})});break}case yt.Left:{ye(Le,new ae(r/2,0,0));break}case yt.Right:{ye(Le,new ae(-r/2,0,0));break}case yt.Lower:{ye(Le,new ae(0,0,a/2));break}case yt.Upper:{ye(Le,new ae(0,0,-a/2));break}}}},Ie=iQ(r,a,$,f,fe==null?void 0:fe.frameColor,fe==null?void 0:fe.backsheetColor),Ce=oQ(t),Ee=()=>v&&Ce?h.jsx("meshBasicMaterial",{attach:"material-4",map:Ce}):Ie?H||w===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Ie,color:s}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo(($==null?void 0:$.color)==="Blue"?Kw:qw),shininess:w??Xm,side:ia,map:Ie,color:s}):h.jsx("meshStandardMaterial",{attach:"material-4",color:s}),Ue=()=>($==null?void 0:$.bifacialityFactor)===0||A===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:s}):Ie?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo(($==null?void 0:$.color)==="Blue"?Kw:qw),shininess:w??Xm,side:ia,map:Ie,color:s}):null;return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Solar Panel Group Grandpa "+t,rotation:se,position:[n,o,i+ie],children:[h.jsxs("group",{name:"Solar Panel Group Dad "+t,rotation:oe,children:[h.jsxs(Ei,{receiveShadow:S,castShadow:S,uuid:t,ref:j,args:[r,a,l],name:"Solar Panel",onPointerDown:Ne=>{Ne.button===2||M.getState().isAddingElement()||M.getState().objectTypeToAdd!==z.None||P(t,Ne,zo.Select)},onContextMenu:Ne=>{P(t,Ne,zo.ContextMenu),b(Le=>{Ne.intersections.length>0&&Ne.intersections[0].object===j.current&&(Le.contextMenuObjectType=z.SolarPanel)})},onPointerOver:Ne=>{Ne.intersections.length>0&&Ne.intersections[0].object===j.current&&(L.domElement.style.cursor="move",F(!0))},onPointerOut:Ne=>{L.domElement.style.cursor="default",F(!1)},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:s}),h.jsx("meshStandardMaterial",{attach:"material-1",color:s}),h.jsx("meshStandardMaterial",{attach:"material-2",color:s}),h.jsx("meshStandardMaterial",{attach:"material-3",color:s}),Ee(),Ue()]}),v&&Ce&&Y.current&&Y.current.map((Ne,Le)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:Ne.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Le)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:t,args:[r,a],position:[0,0,l],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),C&&c&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-le,0],[-q,le,0],[q,le,0],[q,-le,0],[-q,-le,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0}),C&&!c&&h.jsx(h.Fragment,{children:h.jsxs("group",{name:tO,onPointerDown:Te,onPointerOver:de,onPointerOut:ve,children:[h.jsx(ts,{position:new ae(0,0,0),args:[Re,6,6],name:yo.Default,children:h.jsx("meshBasicMaterial",{color:"orange"})}),h.jsx(Ei,{position:[(pe.x+Z.x)/2,pe.y,pe.z],args:[me,me,l*1.2],name:yt.Lower,children:h.jsx("meshBasicMaterial",{color:W===yt.Lower||R===yt.Lower?nr:pr})}),h.jsx(Ei,{position:[(ne.x+he.x)/2,ne.y,ne.z],args:[me,me,l*1.2],name:yt.Upper,children:h.jsx("meshBasicMaterial",{color:W===yt.Upper||R===yt.Upper?nr:pr})}),h.jsx(Ei,{position:[pe.x,(pe.y+ne.y)/2,pe.z],args:[me,me,l*1.2],name:yt.Left,children:h.jsx("meshBasicMaterial",{color:W===yt.Left||R===yt.Left?nr:pr})}),h.jsx(Ei,{position:[Z.x,(Z.y+he.y)/2,Z.z],args:[me,me,l*1.2],name:yt.Right,children:h.jsx("meshBasicMaterial",{color:W===yt.Right||R===yt.Right?nr:pr})})]})}),h.jsx(fQt,{drawSunbeam:g,absRotation:y,tiltAngle:A}),(U||p)&&!C&&h.jsx(hQt,{sp:fe})]}),A!==0&&$&&h.jsx(gQt,{tiltAngle:-A,spCy:o-ie,spLy:a,lx:f===ci.portrait?$.width:$.length,nx:k})]}),C&&!c&&h.jsx("group",{name:tO,position:[n,0,i+ie],rotation:se,children:h.jsx(pQt,{tiltAngle:A,handleSize:ze,initPointerDown:re,handlePointerMove:ge,handlePointerUp:we})})]})},yQt=Se.memo(mQt),AQt="/aladdin/assets/polygon_08-BBFzZjDj.png",wQt="/aladdin/assets/polygon_09-B_8KpAt3.png",vQt="/aladdin/assets/polygon_10-CKqrpQre.png",Iqe=({id:t,lz:e=.1,filled:n=!1,rotation:o=[0,0,0],normal:i=[0,0,1],color:r="yellow",label:a,text:l,fontSize:s=1,fontColor:c="black",fontOutlineWidth:u=0,fontOutlineColor:d="white",fontStrokeWidth:f=0,fontStrokeColor:p="black",lineStyle:g=Oh.Solid,lineColor:y="black",lineWidth:A=1,locked:x=!1,showLabel:C=!1,parentId:b,foundationId:v,vertices:S,opacity:w=1,noOutline:T=!1,shininess:P=0,selectedIndex:R=-1,textureType:H=qi.NoTexture})=>{const D=M(dn),E=M(Vc),L=M(Cq),U=M(ss),F=Hs(t),{gl:{domElement:W}}=Xi(),[B,k]=m.useState(!1),[N,j]=m.useState(0),[Y,_]=m.useState(0),[J,Q]=m.useState(null),ee=m.useRef(null),$=m.useRef(null),q=M(Ce=>{for(const Ee of Ce.elements)if(Ee.id===b)return Ee}),le=new ae,ie=new Qt;if((q==null?void 0:q.type)===z.Cuboid){const{pos:Ce,rot:Ee}=be.getWorldDataById(q.id);le.copy(Ce),ie.set(0,0,Ee)}const pe=q?Math.max(1,Math.max(q.lx,q.ly)/24):1,ne=I9*pe,Z=Af*pe,he=Kt(),fe=(Ce,Ee)=>{D(Ue=>{for(const Ne of Ue.elements)if(Ne.type===z.Polygon&&Ne.id===Ce){Ne.selectedIndex=Ee;break}})},se=m.useMemo(()=>{const Ce=new Array;if(q){switch(q.type){case z.Foundation:{for(const Ue of S)Ce.push({x:Ue.x*q.lx,y:Ue.y*q.ly});break}case z.Wall:{for(const Ue of S)Ce.push({x:Ue.x*q.lx,y:Ue.y*q.lz});break}case z.Cuboid:{const Ue=new ae().fromArray(i);let Ne,Le;be.isUnitVectorX(Ue)?(Ne=q.lz,Le=q.ly):be.isUnitVectorY(Ue)?(Ne=q.lx,Le=q.lz):(Ne=q.lx,Le=q.ly);for(const qe of S)Ce.push({x:qe.x*Ne,y:qe.y*Le});break}}const Ee=be.calculatePolygonCentroid(Ce);j(Ee.x),_(Ee.y)}return Ce},[S,q,i]),de=(()=>{if((q==null?void 0:q.type)===z.Cuboid){const Ce=be.isIdentical(i,o0);return le.z+(q.lz+(Ce?0:e))/2+.01}return(q==null?void 0:q.type)===z.Foundation?q.lz+.01:e/2+.01})(),Pe=(()=>{if((q==null?void 0:q.type)===z.Wall)return new Qt(-Vt,0,Math.PI,"ZXY");const Ce=new ae().fromArray(i);let Ee=o[2];return(q==null?void 0:q.type)===z.Cuboid&&(Ee=ie.z),be.isSame(Ce,Np)?new Qt(0,Vt,Ee,"ZXY"):be.isSame(Ce,Up)?new Qt(0,-Vt,Ee,"ZXY"):be.isSame(Ce,Yc)?new Qt(-Vt,0,Ee,"ZXY"):be.isSame(Ce,Bp)?new Qt(Vt,0,Ee,"ZXY"):new Qt(0,0,Ee,"ZXY")})(),Re=(()=>{if(q){if(q.type===z.Cuboid){const Ce=new ae(le.x,le.y,de),Ee=new ae().fromArray(i);let Ue=!1;const Ne=new ae;return be.isSame(Ee,Np)?(Ue=!0,Ne.x=q.lx/2+.01):be.isSame(Ee,Up)?(Ue=!0,Ne.x=-q.lx/2-.01):be.isSame(Ee,Yc)?(Ue=!0,Ne.y=q.ly/2+.01):be.isSame(Ee,Bp)&&(Ue=!0,Ne.y=-q.ly/2-.01),Ue&&(Ne.applyEuler(ie),Ce.x=le.x+Ne.x,Ce.y=le.y+Ne.y,Ce.z=le.z+Ne.z),Ce}else if(q.type===z.Wall)return new ae(0,-.01,0)}return new ae((q==null?void 0:q.cx)??0,(q==null?void 0:q.cy)??0,de)})(),ze=m.useMemo(()=>{const Ce=new Array;for(const Ee of se)Ce.push(new ae(Ee.x,Ee.y,0));return Ce.push(new ae(se[0].x,se[0].y,0)),Ce},[se]),Ae=m.useMemo(()=>{const Ce=new Ml;Ce.moveTo(se[0].x,se[0].y);for(let Ee=1;Ee{Ce.intersections.length>0&&Ce.intersections[0].object===Ce.eventObject&&(Q(Ee),Ee===yo.Default?W.style.cursor="move":W.style.cursor="pointer")},[]),ge=m.useCallback(()=>{Q(null),W.style.cursor="default"},[]),we=Ce=>{switch(Ce){case qi.Texture01:return{x:1,y:1};case qi.Texture02:return{x:2,y:2};case qi.Texture03:return{x:.4,y:.4};case qi.Texture04:return{x:.25,y:.25};case qi.Texture05:return{x:5,y:5};case qi.Texture06:return{x:1,y:1};case qi.Texture07:return{x:1,y:1};case qi.Texture08:return{x:2,y:2};case qi.Texture09:return{x:2,y:2};case qi.Texture10:return{x:4,y:4};default:return{x:1,y:1}}},ye=m.useMemo(()=>{let Ce;switch(H){case qi.Texture01:Ce=tqe;break;case qi.Texture02:Ce=nqe;break;case qi.Texture03:Ce=oqe;break;case qi.Texture04:Ce=iqe;break;case qi.Texture05:Ce=rqe;break;case qi.Texture06:Ce=aqe;break;case qi.Texture07:Ce=lqe;break;case qi.Texture08:Ce=AQt;break;case qi.Texture09:Ce=wQt;break;case qi.Texture10:Ce=vQt;break;default:Ce=Q1}return new tf().load(Ce,Ee=>{const Ue=we(H);Ee.wrapT=Ee.wrapS=Ss,Ee.repeat.set(1/Ue.x,1/Ue.y);const Ne=new ae().fromArray(i);be.isSame(Ne,Np)?Ee.rotation=Vt:be.isSame(Ne,Up)?Ee.rotation=-Vt:be.isSame(Ne,Bp)&&(Ee.rotation=Math.PI),Ie(Ee)})},[H,i]),[Te,Ie]=m.useState(ye);return h.jsxs("group",{name:"Polygon Group "+t,rotation:Pe,position:Re,children:[n&&h.jsxs("mesh",{uuid:t,ref:ee,receiveShadow:U,castShadow:!1,name:z.Polygon,onPointerDown:Ce=>{Ce.button!==2&&L===z.None&&E(t,Ce)},onContextMenu:Ce=>{E(t,Ce,zo.ContextMenu),D(Ee=>{Ce.intersections.length>0&&Ce.intersections[0].object===ee.current&&(Ce.intersections.length>1&&Ee.pastePoint.copy(Ce.intersections[1].point),Ee.contextMenuObjectType=z.Polygon)})},onPointerOver:Ce=>{Ce.intersections.length>0&&Ce.intersections[0].object===ee.current&&k(!0)},onPointerOut:()=>{k(!1),W.style.cursor="default"},children:[h.jsx("shapeGeometry",{attach:"geometry",args:[Ae]}),P===void 0||P===0?h.jsx("meshStandardMaterial",{attach:"material",color:H===qi.NoTexture?r:"white",map:Te,side:ji,transparent:w<1,opacity:w}):h.jsx("meshPhongMaterial",{attach:"material",color:H===qi.NoTexture?r:"white",map:Te,side:ia,specular:new Xo("white"),shininess:P,transparent:w<1,opacity:w})]}),l&&h.jsx(B6t,{fontSize:s,scale:[1,1,1],color:c,position:[N,Y,.01],rotation:[0,0,(q==null?void 0:q.type)===z.Wall?Math.PI:0],anchorX:"center",anchorY:"middle",outlineWidth:u,outlineColor:d,strokeWidth:f,strokeColor:p,children:l}),(!T||x&&F)&&h.jsx(Fn,{points:ze,color:x&&F?l0:y,lineWidth:A,dashed:g&&g!==Oh.Solid,dashSize:g===Oh.Dashed?.3:.1,gapSize:.1,uuid:t,receiveShadow:!1,castShadow:!1,name:"Polygon Wireframe",onPointerDown:Ce=>{Ce.button!==2&&E(t,Ce)},onContextMenu:Ce=>{L===z.None&&(E(t,Ce,zo.ContextMenu),D(Ee=>{if(Ce.intersections.length>0){const Ue=Ce.intersections[0].object;Ue.name==="Polygon Wireframe"&&Ue.uuid===t&&(Ee.contextMenuObjectType=z.Polygon)}}))}}),!n&&h.jsx(Fn,{position:[0,0,.1],points:ze,visible:!1,lineWidth:Math.min(A*10,10),receiveShadow:!1,castShadow:!1,uuid:t,name:"Polygon Enlarged Line",onPointerDown:Ce=>{Ce.button!==2&&E(t,Ce)},onContextMenu:Ce=>{L===z.None&&(E(t,Ce,zo.ContextMenu),D(Ee=>{if(Ce.intersections.length>0){const Ue=Ce.intersections[0].object;Ue.name==="Polygon Enlarged Line"&&Ue.uuid===t&&(Ee.contextMenuObjectType=z.Polygon)}}))}}),F&&!x&&h.jsx(ts,{ref:$,position:[N,Y,0],args:[Z,6,6],name:yo.Default,onPointerDown:Ce=>{Ce.button!==2&&(E(t,Ce,zo.Move),Ln.getState().setEnableOrbitController(!1),gt.getState().set(Ee=>{Ee.showWallIntersectionPlaneId=b,Ee.oldParentId=b,Ee.oldFoundationId=v}),D(Ee=>{Ee.moveHandleType=yo.Default}))},onPointerOver:Ce=>{re(Ce,yo.Default)},onPointerOut:ge,children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),F&&!x&&se.map((Ce,Ee)=>h.jsxs(Se.Fragment,{children:[h.jsx(Ei,{userData:{vertexIndex:Ee},position:[Ce.x,Ce.y,0],name:yt.Default,args:[ne,ne,e/2+(n?0:.1)],onPointerDown:Ue=>{Ue.button!==2&&(E(t,Ue,zo.Resize),fe(t,Ee),Ln.getState().setEnableOrbitController(!1),gt.getState().set(Ne=>{Ne.showWallIntersectionPlaneId=b,Ne.oldParentId=b,Ne.oldFoundationId=v}),D(Ne=>{Ne.resizeHandleType=yt.Default}))},onPointerOver:Ue=>{re(Ue,yt.Default),fe(t,Ee)},onPointerOut:ge,onContextMenu:Ue=>{D(Ne=>{if(Ue.intersections.length>0){const Le=Ue.intersections[0].object.userData.vertexIndex;Le!==void 0&&(Ne.contextMenuObjectType=z.PolygonVertex,fe(t,Le))}})},children:h.jsx("meshBasicMaterial",{attach:"material",color:(J===yt.Default||M.getState().resizeHandleType===yt.Default)&&R===Ee?nr:pr})}),h.jsx("textSprite",{name:"Label "+Ee,text:""+Ee,fontSize:20*pe,fontFace:"Times Roman",textHeight:.2*pe,position:[Ce.x,Ce.y,.2*pe]})]},"resize-handle-"+Ee)),(B||C)&&!F&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:(a??O.t("shared.PolygonElement",he))+(x?" ("+O.t("shared.ElementLocked",he)+")":""),fontSize:20*pe,fontFace:"Times Roman",textHeight:.2*pe,position:[0,0,e+.2]})]})},yye={display:!1,color:"white",textureType:No.NoTexture,parapetHeight:1,copingsWidth:.5,copingsHeight:.1},xQt=({args:t,wallData:e,parapetZ:n,currWallPointData:o,leftWallPointData:i,rightWallPointData:r})=>{const{display:a,color:l,textureType:s,parapetHeight:c,copingsWidth:u,copingsHeight:d}=t,{id:f,cx:p,cy:g,hx:y,hy:A,angle:x}=e,C=c-d,b=qKe(s),v=m.useMemo(()=>{const F=new ae(-y,A-u/2),W=new ae(y,A-u/2),B=new ae(y,A+u/2),k=new ae(-y,A+u/2),N=[F,W,B,k];if(r||i){const j=lSe(o);if(r&&nO(o.rightPoint,r.leftPoint)){const Y=H(j,r);Y&&(W.copy(Y.outerIntersection),B.copy(Y.innerIntersection))}if(i&&nO(o.leftPoint,i.rightPoint)){const Y=H(j,i);Y&&(F.copy(Y.outerIntersection),k.copy(Y.innerIntersection))}}return N},[y,A,u,o,i,r]),S=m.useMemo(()=>{const F=new Ml,W=new ae(-y,A*2),B=new ae(y,A*2);if(r||i){const k=VG(o,o.ly);if(r&&nO(o.rightPoint,r.leftPoint)){const N=D(k,r);N&&B.copy(N)}if(i&&nO(o.leftPoint,i.rightPoint)){const N=D(k,i);N&&W.copy(N)}}return F.moveTo(-y,0),F.lineTo(y,0),F.lineTo(B.x,B.y),F.lineTo(W.x,W.y),F.closePath(),F},[y,A,o,i,r]),w=m.useMemo(()=>{const F=new Ml;if(u===0)return F;const[W,B,k,N]=v;return F.moveTo(W.x,W.y),F.lineTo(B.x,B.y),F.lineTo(k.x,k.y),F.lineTo(N.x,N.y),F.closePath(),F},[u,v]),T=m.useMemo(()=>v.map(F=>F.toArray()),[v]),P=m.useMemo(()=>[new ae(-y,0,0),new ae(y,0,0)],[y]),R=m.useMemo(()=>[new ae,new ae(0,0,C)],[C]);function H(F,W){const B=lSe(W),k=Tre(F.outerPoints.leftPoint,F.outerPoints.rightPoint,B.outerPoints.leftPoint,B.outerPoints.rightPoint);if(!k)return null;const N=Tre(F.innerPoints.leftPoint,F.innerPoints.rightPoint,B.innerPoints.leftPoint,B.innerPoints.rightPoint);return N?{innerIntersection:new ae().subVectors(N,new ae(p,g)).applyEuler(new Qt(0,0,-x)),outerIntersection:new ae().subVectors(k,new ae(p,g)).applyEuler(new Qt(0,0,-x))}:null}function D(F,W){const B=VG(W,W.ly),k=Tre(F.leftPoint,F.rightPoint,B.leftPoint,B.rightPoint);return k?new ae().subVectors(k,new ae(p,g)).applyEuler(new Qt(0,0,-x)):null}function E(){return!(M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().isAddingElement())}function L(F){F.button!==2&&F.intersections.length>0&&F.intersections[0].eventObject===F.eventObject&&E()&&M.getState().selectMe(f,F,zo.Select,!0)}function U(F){M.getState().selectMe(f,F,zo.ContextMenu,!0),M.getState().set(W=>{F.intersections.length>0&&F.intersections[0].eventObject===F.eventObject&&(W.contextMenuObjectType=z.Wall)})}return a?h.jsxs("group",{name:"Wall Parapet Group",position:[0,0,n],onContextMenu:U,onPointerDown:L,children:[h.jsx($w,{name:"Body Extrude Mesh",args:[S,{steps:1,depth:C,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{color:l,map:b})}),h.jsx(Fn,{position:[y,0,0],points:R,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[-y,0,0],points:R,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[0,0,C],points:P,color:"black",lineWidth:.2}),h.jsx($w,{name:"Copings Extrude Mesh",position:[0,0,C],args:[w,{steps:1,depth:d,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{color:l})}),h.jsx(Fn,{position:[0,0,C+d],points:T,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[0,0,C],points:T,color:"black",lineWidth:.2})]}):null};function lSe(t){const e=(t.ly+t.copingsWidth)/2,n=(t.ly-t.copingsWidth)/2;return{innerPoints:VG(t,e),outerPoints:VG(t,n)}}function VG(t,e){const{leftPoint:n,rightPoint:o}=t,i=new ae().fromArray(n),r=new ae().fromArray(o),l=new ae().subVectors(r,i).applyEuler(new Qt(0,0,Vt)).normalize().clone().multiplyScalar(e);return{leftPoint:i.clone().add(l),rightPoint:r.clone().add(l)}}function nO(t,e){return Math.abs(t[0]-e[0]){const{id:n,lx:o,lz:i}=t,r=M(Q9),a=M(X2),l=M(q9),s=M($9),c=bn(vb),u=gt(i3),d=m.useRef(0),f=m.useRef(),p=m.useMemo(()=>{if(!u||e)return;const g=c.get(n);if(!g)return;const y=g.reduce((N,j)=>N+j,0),A=t.fill===Hl.Partial&&!be.isPartialWallFull(t),x=be.getWallVertices(t,0),C=A?be.getPartialWallVertices(t,0):x,b=be.getPolygonArea(x);let v=A?be.getPolygonArea(C):b;if(v===0)return;const S=r(z.Window,n),w=r(z.Door,n);if(S&&S.length>0)for(const N of S)v-=be.getWindowArea(N,t);if(w&&w.length>0)for(const N of w)v-=N.lx*N.lz*t.lx*t.lz;const T=M.getState().world,P=K9*(T.solarRadiationHeatmapGridCellSize??.5),R=be.getHighestPointOfWall(t),H=Math.max(2,Math.round(o/P)),D=Math.max(2,Math.round(R/P)),E=o/H,L=R/D,U=(R-t.lz)/2,F=y/v*(a??Vm);d.current=F<0?1:0,f.current=be.getEuler(Po,Yc,"YXZ",Math.sign(F)*Vt);const W=[],B=A?be.getPartialWallVertices(t,0):be.getWallVertices(t,0);let k;for(let N=0;N0)for(const Q of S){if(Q.type!==z.Window)continue;const ee=Q.cx*t.lx,$=Q.cz*t.lz,q=Q.lx*t.lx/2,le=Q.lz*t.lz/2;if(Q.windowType===Sr.Arched){if(_>=ee-q&&_=$-le&&J<$+le){k=!1;break}}else if(_>=ee-q&&_=$-le&&J<$+le){k=!1;break}}if(w&&w.length>0)for(const Q of w){const ee=Q.cx*o,$=Q.cz*R,q=Q.lx*o/2,le=Q.lz*R/2;if(_>=ee-q&&_=$-le&&J<$+le){k=!1;break}}k&&(F<0?(Y.push(new ae(_,0,J)),Y.push(new ae(_,F,J))):(Y.push(new ae(_,0,J)),Y.push(new ae(_,-F,J))),W.push(Y))}}return W},[o,i,u,a,e]);return p?h.jsx(h.Fragment,{children:p.map((g,y)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:g,name:"Heat Flux "+y,lineWidth:s??Gm,color:l??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:g[d.current].clone().add(new ae(0,d.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:f.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:l??g0})})]},y))}):null},TQt=Se.memo(SQt),Pre="Wall Block Plane",sSe="Wall Intersection Plane",tP=.1,PQt=Se.memo(({transparent:t,color:e,opacity:n})=>{const i=M(M7).z<=0;return h.jsx("meshStandardMaterial",{color:t?e:"white",transparent:t,opacity:n,side:i?p0:ji})}),CQt=({wallModel:t,foundationModel:e})=>{var mu,sn,qt,jt,pn,Tn;let{id:n,cx:o,cy:i,lx:r=1,ly:a=.5,lz:l=5,relativeAngle:s,leftJoints:c,rightJoints:u,textureType:d,color:f="white",lineColor:p="black",lineWidth:g=.2,parentId:y,locked:A=!1,roofId:x,leftRoofHeight:C,rightRoofHeight:b,centerRoofHeight:v,centerLeftRoofHeight:S,centerRightRoofHeight:w,wallStructure:T=hc.Default,structureSpacing:P=2,structureWidth:R=.1,structureColor:H="white",opacity:D=.5,fill:E=Hl.Full,leftUnfilledHeight:L=.5,rightUnfilledHeight:U=.5,leftTopPartialHeight:F=l,rightTopPartialHeight:W=l,parapet:B=yye,leftPoint:k,rightPoint:N}=t;C=c.length>0?C:l,b=u.length>0?b:l;const j=qKe(d),Y=Hs(n),_=M(dn),J=M(xb),Q=M(Vc),ee=M(En),$=M(fge),q=bn(n1),le=M(H7),ie=M(ss),pe=M(hge),ne=M(uYe),Z=M(wf),he=gt(Ah),fe=gt(cs),se=gt($e=>$e.elementBeingCanceledId),oe=gt($e=>$e.showWallIntersectionPlaneId),[de,ve]=m.useState(!1),[Pe,me]=m.useState(null),{camera:Re,gl:ze}=Xi(),{elementsOnWall:Ae,leftWall:re,rightWall:ge}=r$t(n,c[0],u[0]),we=$Ke(e),ye=m.useRef(null),Te=m.useRef(null),Ie=m.useRef(null),Ce=m.useRef(null),Ee=m.useRef(null),Ue=m.useRef(null),Ne=m.useRef(null),Le=m.useRef(null),qe=r/2,We=a/2,De=l/2,Fe=we?we.rotation[2]+s:s,_e=be.getInnerWallOffset(re,r,a,s,"left"),ot=be.getInnerWallOffset(ge,r,a,s,"right"),Ye=T===hc.Stud||T===hc.Pillar,St=C??l,dt=b??l,je=E===Hl.Partial,at=je?L:0,ut=je?U:0,wt=je?Math.min(St,F):St,rt=je?Math.min(dt,W):dt,Qe=je&&(!be.isZero(St-wt)||!be.isZero(dt-rt)),Oe=ie&&!Ye,et=B.display,vt=Math.max(wt,rt)-De,ct=m.useMemo(()=>new Gt,[]),lt=m.useMemo(()=>new Gs,[]),tt=m.useMemo(()=>new sf({color:"white",side:ji,transparent:Ye,opacity:D}),[Ye,D]),it=m.useMemo(()=>be.getHighestPointOfWall(t),[t.lz,t.leftRoofHeight,t.rightRoofHeight,t.centerRoofHeight,t.centerLeftRoofHeight,t.centerRightRoofHeight]),At=m.useMemo(()=>{const $e=new Ml;return xt($e,r,l,0,0,0,0),Ae.forEach(Pt=>{if(Pt.type===z.Window&&Pt.id!==Ne.current&&Pt.lx>0&&Pt.lz>0){const Nt=Pt,Ct=new Ml,[Bt,Xt,rn,gn]=[Pt.lx*r,Pt.lz*l,Pt.cx*r,Pt.cz*l];if(Nt.windowType)switch(Nt.windowType){case Sr.Arched:Pn(Ct,Bt,Xt,rn,gn,Nt.archHeight);break;case Sr.Polygonal:{const[mn,vn]=Nt.polygonTop??jp;Un(Ct,Bt,Xt,rn,gn,mn*Bt,vn);break}case Sr.Default:default:Sn(Ct,Bt,Xt,rn,gn)}else Sn(Ct,Bt,Xt,rn,gn);$e.holes.push(Ct)}}),$e},[r,l,E,L,U,wt,rt,Ae,C,b,v,S,w]),Mt=m.useMemo(()=>{const $e=new Ml,Pt=l,Nt=l/2;if(je)$e.moveTo(-qe+_e,-Nt+L),$e.lineTo(qe-ot,-Nt+U);else{$e.moveTo(-qe+_e,-Nt);const Ct=Ae.filter(Bt=>Bt.type===z.Door).sort((Bt,Xt)=>Bt.cx-Xt.cx);for(const Bt of Ct)if(Bt.id!==Ne.current){const[Xt,rn,gn,mn]=[Bt.cx*r,Bt.cz*Pt,Bt.lx*r,Bt.lz*Pt];if(Bt.doorType===bd.Default)$e.lineTo(Xt-gn/2,-Nt),$e.lineTo(Xt-gn/2,-Nt+mn),$e.lineTo(Xt+gn/2,-Nt+mn),$e.lineTo(Xt+gn/2,-Nt);else{const vn=Math.min(Bt.archHeight,mn,gn/2);if($e.lineTo(Xt-gn/2,-Nt),vn>.1){$e.lineTo(Xt-gn/2,-Nt+mn/2-vn);const kn=vn/2+gn**2/(8*vn),[Yn,Wn]=[Xt,rn+mn/2-kn],qn=Math.acos(Math.min(gn/2/kn,1)),Xn=Math.PI-qn;$e.absarc(Yn,Wn,kn,Xn,qn,!0)}else $e.lineTo(Xt-gn/2,-Nt+mn),$e.lineTo(Xt+gn/2,-Nt+mn);$e.lineTo(Xt+gn/2,-Nt)}}$e.lineTo(qe-ot,-Nt)}if(Qe){const Ct=rt-wt,Bt=(r-ot)*Ct/r,Xt=_e*Ct/r;$e.lineTo(qe-ot,-Nt+wt+Bt),$e.lineTo(-qe+_e,-Nt+wt+Xt)}else x?(b?$e.lineTo(qe-ot,b-Nt):$e.lineTo(qe-ot,Nt),w&&$e.lineTo(w[0]*r,w[1]-Nt),v&&$e.lineTo(v[0]*r,v[1]-Nt),S&&$e.lineTo(S[0]*r,S[1]-Nt),C?$e.lineTo(-qe+_e,C-Nt):$e.lineTo(-qe+_e,Nt)):($e.lineTo(qe-ot,Nt),$e.lineTo(-qe+_e,Nt));return $e.closePath(),Ae.forEach(Ct=>{if(Ct.type===z.Window&&Ct.id!==Ne.current&&Ct.lx>0&&Ct.lz>0){const Bt=Ct,Xt=new Ml,[rn,gn,mn,vn]=[Ct.lx*r,Ct.lz*l,Ct.cx*r,Ct.cz*l];if(Bt.windowType)switch(Bt.windowType){case Sr.Arched:Pn(Xt,rn,gn,mn,vn,Bt.archHeight);break;case Sr.Polygonal:{const[kn,Yn]=Bt.polygonTop??jp;Un(Xt,rn,gn,mn,vn,kn*rn,Yn);break}case Sr.Default:default:Sn(Xt,rn,gn,mn,vn);break}else Sn(Xt,rn,gn,mn,vn);$e.holes.push(Xt)}}),$e},[r,l,E,L,U,wt,rt,_e,ot,Ae,x,C,b,v,S,w]),st=m.useMemo(()=>je?(wt+rt)/2-De:De,[De,je,wt,rt]),ft=m.useMemo(()=>{const $e=rt-wt;return!je||Math.abs($e)<.01?0:Math.atan2($e,r)},[r,je,wt,rt]),Rt=m.useMemo(()=>{const $e=new Ml;if(!je||Math.abs(ft)<1e-4)return cn($e,r,a,_e,ot),$e;{const Pt=r/2,Nt=a/2,Ct=Math.cos(ft),Bt=Pt/Ct,Xt=(Pt-_e)/Ct,rn=(Pt-ot)/Ct;return $e.moveTo(-Bt,-Nt),$e.lineTo(Bt,-Nt),$e.lineTo(rn,Nt),$e.lineTo(-Xt,Nt),$e.closePath(),$e}},[r,a,_e,ot,je,ft]),zt=m.useMemo(()=>{const $e=[],Pt=r/2,Nt=l/2;return je?($e.push({x:-Pt+_e,y:-Nt+at}),$e.push({x:Pt-ot,y:-Nt+ut})):($e.push({x:-Pt,y:-Nt}),$e.push({x:Pt,y:-Nt})),Qe?($e.push({x:Pt-ot,y:-Nt+rt}),$e.push({x:-Pt+_e,y:-Nt+wt})):(b?$e.push({x:Pt,y:b-Nt}):$e.push({x:Pt,y:Nt}),w&&$e.push({x:w[0]*r,y:w[1]-Nt}),v&&$e.push({x:v[0]*r,y:v[1]-Nt}),S&&$e.push({x:S[0]*r,y:S[1]-Nt}),C?$e.push({x:-Pt,y:C-Nt}):$e.push({x:-Pt,y:Nt})),$e},[r,l,E,at,ut,wt,rt,C,b,v,S,w]),Xe=m.useMemo(()=>{const $e=[];let Pt=0,Nt=0;if(E===Hl.Partial&&(Pt=(U-L)/r,Nt=L+qe*Pt),T===hc.Stud){let Ct=-qe+R/2;for(;Ct<=qe;)$e.push([Ct,Pt*Ct+Nt]),Ct+=P;Ct=qe-R/2,$e.push([Ct,Pt*Ct+Nt])}else if(T===hc.Pillar){let Ct=-qe;for(;Ct<=qe;)$e.push([Ct,Pt*Ct+Nt]),Ct+=P;$e.push([qe,Pt*qe+Nt])}return $e},[T,R,P,r,a,l,L,U]),ht=m.useMemo(()=>({id:n,parentId:y,cx:o,cy:i,hx:qe,hy:We,angle:s,selected:Y}),[n,y,o,i,qe,We,s,Y]),Je=m.useMemo(()=>({leftPoint:k,rightPoint:N,ly:a,copingsWidth:B.copingsWidth}),[k,N,a,B.copingsWidth]),mt=m.useMemo(()=>!re||!re.parapet||!re.parapet.display?null:{leftPoint:re.leftPoint,rightPoint:re.rightPoint,ly:re.ly,copingsWidth:re.parapet.copingsWidth},[re==null?void 0:re.leftPoint,re==null?void 0:re.rightPoint,re==null?void 0:re.ly,(mu=re==null?void 0:re.parapet)==null?void 0:mu.copingsWidth,(sn=re==null?void 0:re.parapet)==null?void 0:sn.display]),Ge=m.useMemo(()=>!ge||!ge.parapet||!ge.parapet.display?null:{leftPoint:ge.leftPoint,rightPoint:ge.rightPoint,ly:ge.ly,copingsWidth:ge.parapet.copingsWidth},[ge==null?void 0:ge.leftPoint,ge==null?void 0:ge.rightPoint,ge==null?void 0:ge.ly,(qt=ge==null?void 0:ge.parapet)==null?void 0:qt.copingsWidth,(jt=ge==null?void 0:ge.parapet)==null?void 0:jt.display]);m.useEffect(()=>{Le.current&&Le.current.id===se&&(Le.current=null,qo())},[se]),m.useEffect(()=>{if(t&&fe){const $e=q(t.id);if($e){const Pt=be.fetchHeatmapTexture($e,Z??5);if(Pt){Pt.wrapS=Ss,Pt.wrapT=Ss;const Nt=l===it?0:(1-l/it)/2;Pt.offset.set(-r/2,-it/2-Nt),Pt.center.set(r/2,it/2),Pt.repeat.set(1/r,1/it),me(Pt)}}}},[fe,Z]),m.useEffect(()=>{x&&(pe.has(x)||ne.has(x))&&M.getState().set($e=>{const Pt=new Set;for(const Nt of $e.elements)if(Nt.id===n&&Nt.type===z.Wall){const Ct=Nt;if(Ct.roofId=null,Ct.leftRoofHeight=void 0,Ct.rightRoofHeight=void 0,Ct.centerRoofHeight=void 0,Ct.centerLeftRoofHeight=void 0,Ct.centerRightRoofHeight=void 0,Ae.length>0){const Bt=In.getWallPoints2D(Ct);Ae.forEach(Xt=>{if(Xt.type===z.Polygon)return;const rn=Xt.type===z.Door,gn=Xt.type===z.SolarPanel,mn=gn?Xt.lx-.01:Xt.lx*r,vn=gn?Xt.ly-.01:Xt.lz*l,kn=new ae(Xt.cx*r,0,Xt.cz*l);be.isElementInsideWall(kn,mn,vn,Bt,rn)||(Pt.add(Xt.id),$e.autoDeletedChild?$e.autoDeletedChild.push(Xt):$e.autoDeletedChild=[Xt])})}break}Pt.size>0?$e.elements=$e.elements.filter(Nt=>!Pt.has(Nt.id)):$e.autoDeletedChild===null&&($e.autoDeletedChild=[])})},[x,pe,ne]);function xt($e,Pt,Nt,Ct=0,Bt=0,Xt=0,rn=0,gn=!0){const mn=Pt/2,vn=Nt/2;if(je?$e.moveTo(Ct-mn+Xt,Bt-vn+L):$e.moveTo(Ct-mn+Xt,Bt-vn),gn){const kn=Ae.filter(Yn=>Yn.type===z.Door).sort((Yn,Wn)=>Yn.cx-Wn.cx);for(const Yn of kn)if(Yn.id!==Ne.current){const[Wn,qn,Xn,Jo]=[Yn.cx*Pt,Yn.cz*Nt,Yn.lx*Pt,Yn.lz*l];if(Yn.doorType===bd.Default)$e.lineTo(Ct+Wn-Xn/2,Bt-vn),$e.lineTo(Ct+Wn-Xn/2,Bt-vn+Jo),$e.lineTo(Ct+Wn+Xn/2,Bt-vn+Jo),$e.lineTo(Ct+Wn+Xn/2,Bt-vn);else{const lr=Math.min(Yn.archHeight,Jo,Xn/2);if($e.lineTo(Ct+Wn-Xn/2,Bt-vn),lr>.1){$e.lineTo(Ct+Wn-Xn/2,Bt-vn+Jo/2-lr);const Kr=lr/2+Xn**2/(8*lr),[Vi,ga]=[Wn,Bt+qn+Jo/2-Kr],vs=Math.acos(Math.min(Xn/2/Kr,1)),Ju=Math.PI-vs;$e.absarc(Vi,ga,Kr,Ju,vs,!0)}else $e.lineTo(Ct+Wn-Xn/2,Bt-vn+Jo),$e.lineTo(Ct+Wn+Xn/2,Bt-vn+Jo);$e.lineTo(Ct+Wn+Xn/2,Bt-vn)}}}je?$e.lineTo(Ct+mn-rn,Bt-vn+U):$e.lineTo(Ct+mn-rn,Bt-vn),Qe?($e.lineTo(Ct+mn-rn,Bt-vn+rt),$e.lineTo(Ct-mn+Xt,Bt-vn+wt)):x?(b?$e.lineTo(Ct+mn-rn,b-vn):$e.lineTo(Ct+mn-rn,Bt+vn),w&&$e.lineTo(w[0]*Pt,w[1]-vn),v&&$e.lineTo(v[0]*Pt,v[1]-vn),S&&$e.lineTo(S[0]*Pt,S[1]-vn),C?$e.lineTo(Ct-mn+Xt,C-vn):$e.lineTo(Ct-mn+Xt,Bt+vn)):($e.lineTo(Ct+mn-rn,Bt+vn),$e.lineTo(Ct-mn+Xt,Bt+vn)),$e.closePath()}function It($e,Pt){const{cx:Nt,cy:Ct,cz:Bt}=Pt;if(we&&Fe!==void 0){const Xt=be.wallAbsolutePosition(new ae(Nt,Ct,Bt),we).setZ(l/2+we.lz);return new ae().subVectors($e,Xt).applyEuler(new Qt(0,0,-Fe))}return new ae}function Tt($e){const Pt=[];for(let Nt=-1;Nt<=1;Nt+=2)for(let Ct=-1;Ct<=1;Ct+=2){const[Bt,Xt]=[Nt,Nt*Ct];switch($e.type){case z.Window:{const[rn,gn]=[$e.cx*r,$e.cz*l],[mn,vn]=[$e.lx*r/2,$e.lz*l/2],kn=rn+Bt*mn,Yn=gn+Xt*vn;Pt.push({x:kn,y:Yn});break}case z.Door:{const[rn,gn]=[$e.cx*r,$e.cz*l],[mn,vn]=[$e.lx*r/2,$e.lz*l/2],kn=rn+Bt*mn,Yn=gn+Xt*vn;Pt.push({x:kn,y:Yn});break}case z.SolarPanel:{const[rn,gn]=[$e.cx*r,$e.cz*l],[mn,vn]=[$e.lx/2,$e.ly/2],kn=rn+Bt*mn,Yn=gn+Xt*vn;Pt.push({x:kn,y:Yn})}}}if($e.type===z.Window&&$e.windowType===Sr.Polygonal){const Nt=$e,[Ct,Bt]=Nt.polygonTop??[0,0];Pt.push({x:$e.cx*r+Ct*$e.lx*r,y:$e.cz*l+$e.lz*l/2+Bt})}return Pt}function Dt($e,Pt=0){if(!je)return be.getWallVertices($e,Pt);const Nt=$e.lx/2,Ct=$e.lz/2,Bt={x:-Nt-Pt,y:$e.leftUnfilledHeight-Ct-Pt},Xt={x:Nt+Pt,y:$e.rightUnfilledHeight-Ct-Pt},rn={x:-Nt-Pt,y:$e.leftTopPartialHeight-Ct+Pt},gn={x:Nt+Pt,y:$e.rightTopPartialHeight-Ct+Pt},mn=[];return mn.push(rn,Bt,Xt,gn),Qe||($e.centerRightRoofHeight&&mn.push({x:$e.centerRightRoofHeight[0]*$e.lx,y:$e.centerRightRoofHeight[1]-Ct+Pt}),$e.centerRoofHeight&&mn.push({x:$e.centerRoofHeight[0]*$e.lx,y:$e.centerRoofHeight[1]-Ct+Pt}),$e.centerLeftRoofHeight&&mn.push({x:$e.centerLeftRoofHeight[0]*$e.lx,y:$e.centerLeftRoofHeight[1]-Ct+Pt})),mn}function Lt($e,Pt,Nt,Ct,Bt){if(Nt<.1||Ct<.1||Nt>r||!x&&Ct>l)return Ne.current=$e,!1;const Xt=.1;Nt+=Xt,Ct+=Xt;for(const rn of Ae){if(rn.id===$e||rn.type===z.Polygon)continue;const gn=Tt(rn),mn=[];for(let vn=-1;vn<=1;vn+=2)for(let kn=-1;kn<=1;kn+=2){const Yn=Pt.x+vn*Nt/2,Wn=Pt.z+vn*kn*Ct/2;if(mn.push({x:Yn,y:Wn}),be.isPointInside(Yn,Wn,gn))return Ne.current=$e,!1}if(Bt){const[vn,kn]=Bt,Yn=Pt.x+vn*Nt,Wn=Pt.z+Ct/2+kn;if(mn.push({x:Yn,y:Wn}),be.isPointInside(Yn,Wn,gn))return Ne.current=$e,!1}for(const vn of gn)if(be.isPointInside(vn.x,vn.y,mn))return Ne.current=$e,!1}return Ne.current=null,!0}function Et($e,Pt,Nt,Ct,Bt){return be.isElementInsideWall(Pt,Nt,Ct,zt,Bt)?!0:(Ne.current=$e,!1)}function an($e,Pt,Nt,Ct){const[Bt,Xt]=Ct,rn=$e.x+Pt*Bt,gn=$e.z+Nt/2+Xt;return!!be.isPointInside(rn,gn,Dt(t,0))}function Jt($e){ct.x=$e.offsetX/ze.domElement.clientWidth*2-1,ct.y=-($e.offsetY/ze.domElement.clientHeight)*2+1,lt.setFromCamera(ct,Re)}function hn($e){return!($e.button===2||M.getState().addedWallId||Ue.current||M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().objectTypeToAdd!==z.None||Y||$())}function cn($e,Pt,Nt,Ct,Bt){const Xt=Pt/2,rn=Nt/2;$e.moveTo(-Xt,-rn),$e.lineTo(Xt,-rn),$e.lineTo(Xt-Bt,rn),$e.lineTo(-Xt+Ct,rn),$e.closePath()}function Sn($e,Pt,Nt,Ct=0,Bt=0){const Xt=Pt/2,rn=Nt/2;$e.moveTo(Ct-Xt,Bt-rn),$e.lineTo(Ct+Xt,Bt-rn),$e.lineTo(Ct+Xt,Bt+rn),$e.lineTo(Ct-Xt,Bt+rn),$e.closePath()}function Pn($e,Pt,Nt,Ct,Bt,Xt=0){const rn=Pt/2,gn=Nt/2,mn=Math.min(Xt,Nt,rn);if($e.moveTo(Ct-rn,Bt-gn),$e.lineTo(Ct+rn,Bt-gn),$e.lineTo(Ct+rn,Bt+gn-mn),mn>0){const vn=mn/2+Pt**2/(8*mn),[kn,Yn]=[Ct,Bt+gn-vn],Wn=Math.acos(Math.min(1,rn/vn)),qn=Math.PI-Wn;$e.absarc(kn,Yn,vn,Wn,qn,!1)}else $e.lineTo(Ct-rn,Bt+gn);$e.closePath()}function Un($e,Pt,Nt,Ct,Bt,Xt,rn){const[gn,mn]=[Pt/2,Nt/2];$e.moveTo(Ct-gn,Bt-mn),$e.lineTo(Ct+gn,Bt-mn),$e.lineTo(Ct+gn,Bt+mn),$e.lineTo(Ct+Xt,Bt+mn+rn),$e.lineTo(Ct-gn,Bt+mn),$e.closePath()}function Ai($e){const Pt=parseFloat((Math.round($e.x/g6)*g6).toFixed(1)),Nt=parseFloat((Math.round($e.z/g6)*g6).toFixed(1));return new ae(Pt,$e.y,Nt)}function vo($e){const Pt=parseFloat((Math.round($e.x/l9)*l9).toFixed(1)),Nt=parseFloat((Math.round($e.z/l9)*l9).toFixed(1));return new ae(Pt,$e.y,Nt)}function Oo($e){return M.getState().enableFineGrid?$e=vo($e):$e=Ai($e),$e}function li($e,Pt,Nt,Ct,Bt){M.getState().set(Xt=>{for(const rn of Xt.elements)if(rn.id===$e){if([rn.cx,rn.cy,rn.cz]=Pt,[rn.lx,rn.ly,rn.lz]=Nt,Ct!==void 0&&(rn.type===z.Window||rn.type===z.Door)&&(rn.archHeight=Ct),Bt!==void 0&&rn.type===z.Window){const gn=rn;gn.windowType===Sr.Polygonal&&(gn.polygonTop=[...Bt])}break}})}function po($e){return $e.type===z.Window&&$e.windowType===Sr.Polygonal&&$e.polygonTop}function eo($e){const Pt={name:"Add",timestamp:Date.now(),addedElement:$e,undo:()=>{M.getState().removeElementById($e.id,!1)},redo:()=>{M.getState().set(Nt=>{Nt.elements.push(Pt.addedElement),Nt.selectedElement=Pt.addedElement,Nt.deletedRoofId=null})}};ee(Pt)}function uo(){const $e=M.getState().selectedElement;if(!$e)return;const Pt=M.getState().getElementById($e.id);if(Pt)switch(Pt.type){case z.Door:case z.Window:case z.SolarPanel:const Nt={name:`Resize ${Pt.type}`,timestamp:Date.now(),resizedElementId:Pt.id,resizedElementType:Pt.type,oldPosition:[$e.cx,$e.cy,$e.cz],oldDimension:[$e.lx,$e.ly,$e.lz],newPosition:[Pt.cx,Pt.cy,Pt.cz],newDimension:[Pt.lx,Pt.ly,Pt.lz],oldArchHeight:$e.type===z.Window||$e.type===z.Door?$e.archHeight:void 0,newArchHeight:Pt.type===z.Window||Pt.type===z.Door?Pt.archHeight:void 0,oldPolygonTop:po($e)?[...$e.polygonTop]:void 0,newPolygonTop:po(Pt)?[...Pt.polygonTop]:void 0,undo(){li(this.resizedElementId,this.oldPosition,this.oldDimension,this.oldArchHeight,this.oldPolygonTop)},redo(){li(this.resizedElementId,this.newPosition,this.newDimension,this.newArchHeight,this.newPolygonTop)}};ee(Nt);break;case z.Polygon:const Ct=$e,Bt=Pt,Xt={name:"Edit Polygon",timestamp:Date.now(),oldValue:[...Ct.vertices],newValue:[...Bt.vertices],changedElementId:Bt.id,changedElementType:Bt.type,undo(){le(this.changedElementId,this.oldValue)},redo(){le(this.changedElementId,this.newValue)}};ee(Xt);break}}function qo(){M.getState().set($e=>{$e.addedWindowId=null,$e.addedDoorId=null})}function Hi($e){return $e===z.Window||$e===z.Door}function vi($e,Pt){const Nt=$e.intersections.filter(Ct=>Ct.object.name!==sSe);return Nt.length>0&&Nt[0].object.name===`${nf.WALL_OUTSIDE_SURFACE_MESH_NAME} ${Pt}`}function Cn($e){return $e.intersections.length>0&&$e.intersections[0].object===$e.eventObject}function yn($e,Pt,Nt){if(M.getState().moveHandleType&&Pt&&to(Pt)&&Pt.parentId!==$e){const Ct=Nt.intersections.filter(Xt=>Xt.eventObject.name.includes(nf.WALL_OUTSIDE_SURFACE_MESH_NAME)||Xt.eventObject.name.includes(Hue)||Xt.eventObject.name===Pre);if(!(Ct.length>0&&(Ct[0].eventObject.name===Pre||Ct[0].eventObject.name.includes(Hue))))return!0}return!1}function to($e){if(!$e)return!1;switch($e.type){case z.Window:case z.Door:case z.SolarPanel:case z.Light:case z.Sensor:return!0}return!1}function Do($e){if(M.getState().resizeHandleType!==yt.Arch)return!1;if($e.type===z.Window){const Pt=$e;return Pt.windowType===Sr.Arched&&Pt.archHeight!==void 0}if($e.type===z.Door){const Pt=$e;return Pt.doorType===bd.Arched&&Pt.archHeight!==void 0}}function ni($e,Pt){const Nt=$e.getPoints().map(Ct=>({x:Ct.x,y:Ct.y}));return!be.isPointInside(Pt.x,Pt.y,Nt)}function Fo($e,Pt,Nt,Ct,Bt,Xt=!1){const rn=new ae().subVectors(Pt,$e).normalize(),[gn,mn]=Xt?[Pt.y,$e.y]:[$e.y,Pt.y];let vn;if(gn(vn.type===z.Wall&&vn.parentId===y&&mn.set(vn.id,vn),mn),new Map);let Ct=!1,Bt=0;const Xt={lng:M.getState().language},rn=t;let gn=rn;for(;gn&&gn.rightJoints.length>0;){Bt++;const mn=Nt.get(gn.rightJoints[0]);if(!mn)break;if(Pt&&mn.lz!==rn.lz)return Lo(O.t("message.WallsAreNotAtSameHeight",Xt)),!1;if(mn.id===rn.id){Ct=!0;break}if(gn=mn,Bt>100)break}return Ct?!0:(Lo(O.t("message.WallsAreNotConnected",Xt)),!1)}function go(){return Le.current&&Le.current.status===0&&M.getState().moveHandleType===yo.Mid}function So(){return!(M.getState().moveHandleType||M.getState().resizeHandleType||$())}function Uo(){return Qe||L!==U||F!==W?!1:x?!(C!==b||v!==void 0||S!==void 0||w!==void 0):!0}function _i($e,Pt,Nt){var gn;Jt($e);const Bt=((gn=(Pt?lt.intersectObjects([Pt]):$e.intersections)[0])==null?void 0:gn.point)??$e.point,Xt=It(Bt,t),rn=Nt?Oo(Xt.clone().add(Nt)).sub(Nt):Oo(Xt);return{relativePointer:Xt,pointerOnGrid:rn}}function Qo($e,Pt){if(!ye.current)return null;const{pointerOnGrid:Nt}=_i($e,ye.current),Ct=Nt.x/t.lx,Bt=Nt.z/t.lz;return Pt===z.Window?rl.makeWindow(t,Ct,0,Bt,z.Wall):Pt===z.Door?rl.makeDoor(t):null}function ar($e){$e&&(Le.current={id:$e.id,type:$e.type,status:0}),_(Pt=>{$e&&(Pt.elements.push($e),Pt.selectedElement=$e,Pt.selectedElementIdSet.clear(),Pt.selectedElementIdSet.add($e.id),$e.type===z.Window?Pt.addedWindowId=$e.id:$e.type===z.Door&&(Pt.addedDoorId=$e.id)),Pt.moveHandleType=yo.Mid,Pt.objectTypeToAdd=z.None})}function ur($e){if(!$e)return;const{id:Pt,type:Nt}=$e;_(Ct=>{Ct.elements=Ct.elements.filter(Bt=>Bt.id!==Pt),Ct.selectedElement=null,Ct.moveHandleType=null,Ct.objectTypeToAdd=Nt,Ct.addedWindowId=null,Ct.addedDoorId=null}),Le.current=null}function $o($e){if(!$e)return[0,0];switch($e.type){case z.Window:{const Pt=gt.getState().oldParentId;if($e.parentId!==Pt){const Nt=M.getState().elements.find(Ct=>Ct.id===Pt);return Nt?[$e.lx*Nt.lx/2,$e.lz*Nt.lz/2]:[0,0]}else return[$e.lx*r/2,$e.lz*l/2]}case z.Door:return[$e.lx*r/2,$e.lz*l/2];case z.SolarPanel:return[$e.lx/2,$e.ly/2]}return[tP,tP]}function ba(){const $e=[];if(v){const Pt=v[0];if(Pt===.5&&C!==void 0)return $e.push(new ae(qe,v[1]-De),new ae(-qe,C-De)),$e;if(Pt===-.5&&b!==void 0)return $e.push(new ae(qe,b-De),new ae(-qe,v[1]-De)),$e}return b!==void 0?$e.push(new ae(qe,b-De)):$e.push(new ae(qe,De)),w!==void 0&&$e.push(new ae(w[0]*r,w[1]-De)),v!==void 0&&$e.push(new ae(v[0]*r,v[1]-De)),S!==void 0&&$e.push(new ae(S[0]*r,S[1]-De)),C!==void 0?$e.push(new ae(-qe,C-De)):$e.push(new ae(-qe,De)),$e}function Mo($e,Pt){const Nt=Pt==null?void 0:Pt.ignorePadding,Ct=Pt!=null&&Pt.elementHalfSize?[...Pt.elementHalfSize]:[0,0],Bt=Nt?0:tP,Xt=Nt?0:tP+_e,rn=Nt?0:tP+ot,[gn,mn]=Ct,[vn,kn,Yn,Wn]=[-qe+gn+Xt,qe-gn-rn,-De+mn+Bt,De-mn-Bt],qn=$e.clone();if(Uo()){const Xn=je?L:0,Jo=l-(je?wt:l);return qn.setX(be.clamp($e.x,vn,kn)),qn.setZ(be.clamp($e.z,Yn+Xn,Wn-Jo)),qn}else{const Xn=Za(gn,mn,vn,kn,Bt),Jo=new Gt($e.x,$e.z);let lr=1/0,Kr=-1/0;if(Pt!=null&&Pt.resizeAnchor){const vs=Pt.resizeAnchor.x,Ju=[];if(Qe)Ju.push(new ae(-qe,-De+wt),new ae(qe,-De+rt));else{const Hf=ba().reverse();Ju.push(...Hf)}for(let Hf=1;Hf=Ol.x&&vs<=Y0.x){const Ph=(Y0.y-Ol.y)/(Y0.x-Ol.x),yp=-Ph*Ol.x+Ol.y;lr=Ph*vs+yp;break}}const Ku=new ae(-qe,-De+at),Th=new ae(qe,-De+ut),Rf=(Th.y-Ku.y)/(Th.x-Ku.x),qu=-Rf*Ku.x+Ku.y;Kr=Rf*vs+qu}const Vi=Jo.y>lr;if(ni(Xn,Jo)){const vs=bo(Xn,Jo);qn.setX(vs.x),qn.setZ(be.clamp(vs.y,Kr+Bt,lr-Bt))}else Vi&&qn.setZ(lr-Bt)}return qn.setZ(Math.max(Yn,qn.z)),qn}function $i($e,Pt){_(Nt=>{const Ct=Nt.elements.find(Bt=>Bt.id===$e);if(Ct)switch(Ct.type){case z.Window:{Ct.cx=Pt.x/r,Ct.cz=Pt.z/l,Ct.cy=Ct.id===Ne.current?-.01:.3,Ct.tint=Ct.id===Ne.current?"red":Nt.selectedElement.tint;break}case z.Door:{const Bt=l/2;Ct.cx=Pt.x/r,Ct.cz=(Pt.z-Bt)/2/l,Ct.lz=(Pt.z+Bt)/l;break}case z.SolarPanel:{Ct.cx=Pt.x/r,Ct.cz=Pt.z/l,Ct.color=Ct.id===Ne.current?"red":"#fff";break}case z.Sensor:case z.Light:{Ct.cx=Pt.x/r,Ct.cz=Pt.z/l;break}case z.Polygon:{const Bt=Ct;if(Bt.vertices.length>0){const Xt=be.calculatePolygonCentroid(Bt.vertices),rn=-Pt.x/r-Xt.x,gn=-Pt.z/l-Xt.y,mn=Bt.vertices.map(vn=>({x:vn.x+rn,y:vn.y+gn}));Ct.vertices=mn}break}}})}function Za($e,Pt,Nt,Ct,Bt){const Xt=[],rn=new ae(-qe,-De+at),gn=new ae(qe,-De+ut);if(Fo(rn,gn,$e,Pt,Bt,!0),Xt.push({start:new ae(Nt,De),end:new ae(Nt,rn.y)}),Xt.push({start:rn.clone(),end:gn.clone()}),Xt.push({start:new ae(Ct,gn.y),end:new ae(Ct,De)}),Qe){const vn=new ae(qe,-De+rt),kn=new ae(-qe,-De+wt);Fo(vn,kn,$e,Pt,Bt),Xt.push({start:vn.clone(),end:kn.clone()})}else{const vn=ba();for(let kn=1;kn{const Bt=Ct.elements.find(mn=>mn.id===(Nt==null?void 0:Nt.id));if(!Bt||Bt.type===z.SolarPanel&&Bt.parentType===void 0)return;if(Bt.type===z.Window){const mn=Ct.elements.find(vn=>vn.id===Bt.parentId);if(mn){const vn=Bt.lx*mn.lx,kn=Bt.lz*mn.lz;Bt.lx=vn/r,Bt.lz=kn/l}}const{pointerOnGrid:Xt}=_i($e,ye.current),rn=$o(Bt),gn=Mo(Xt,{elementHalfSize:rn,ignorePadding:Bt.type===z.SolarPanel});Lt(Bt.id,gn,rn[0]*2,rn[1]*2),Bt.cx=gn.x/r,Bt.cz=gn.z/l,Bt.parentId=n,Bt.foundationId=y,Ct.selectedElement&&(Ct.selectedElement.parentId=n,Ct.selectedElement.foundationId=y),Bt.type===z.Window?(Bt.cy=Bt.id===Ne.current?-.01:0,Bt.tint=Bt.id===Ne.current?"red":Ct.selectedElement.tint):Bt.type===z.SolarPanel&&(Bt.color=Bt.id===Ne.current?"red":"#fff",Bt.parentType=z.Wall)}),he("showWallIntersectionPlaneId",n))}else go()&&ur(Le.current)}function Fr($e){if($e.button!==2){if(go()){Ln.getState().setEnableOrbitController(!1),ve(!0);const{pointerOnGrid:Pt}=_i($e,ye.current),Nt=Mo(Pt);_(Ct=>{var Bt,Xt;Ct.moveHandleType=null,((Bt=Le.current)==null?void 0:Bt.type)===z.Window?(Ct.resizeHandleType=yt.LowerRight,Ct.resizeAnchor.copy(Nt)):((Xt=Le.current)==null?void 0:Xt.type)===z.Door&&(Ct.resizeHandleType=yt.UpperRight,Ct.resizeAnchor.copy(Nt).setZ(-l/2))}),Le.current.status=1}else if(Cn($e))if(M.getState().objectTypeToAdd!==z.None){const Nt=$e.point;qs(Nt,!0)}else M.getState().groupActionMode?(_(Nt=>{for(const Ct of Nt.elements)Ct.selected=Ct.id===y;Nt.multiSelectionsMode||Nt.selectedElementIdSet.clear(),Nt.selectedElementIdSet.has(y)?Nt.selectedElementIdSet.delete(y):Nt.selectedElementIdSet.add(y)}),$e.stopPropagation()):So()&&M.getState().selectMe(n,$e,zo.Select)}}function Oa(){Le.current&&Le.current.status===0&&(_($e=>{$e.elements.pop(),$e.addedDoorId=null,$e.addedWindowId=null,$e.moveHandleType=null,$e.actionModeLock&&Le.current&&($e.objectTypeToAdd=Le.current.type)}),Le.current=null)}function Br(){go()&&ur(Le.current),Ne.current=null}function Pc($e){const Pt=M.getState().selectedElement??J();if((Pt==null?void 0:Pt.parentId)===t.id){if(M.getState().moveHandleType){const Nt=Pt.type!==z.Polygon?new ae(-Pt.lx/2*r,0,Pt.lz/2*l):void 0,{relativePointer:Ct,pointerOnGrid:Bt}=_i($e,Ce.current,Nt),Xt=$o(Pt),rn=Mo(Bt,{elementHalfSize:Xt,ignorePadding:Pt.type===z.SolarPanel}),[gn,mn]=[Xt[0]*2,Xt[1]*2];if(Pt.type!==z.SolarPanel&&Et(Pt.id,rn,gn,mn),Pt.type!==z.Polygon){let vn=!0,kn;Pt.type===z.Window&&Pt.windowType===Sr.Polygonal&&(kn=Pt.polygonTop??jp,vn=an(rn,gn,mn,kn));const Yn=Lt(Pt.id,rn,gn,mn,kn);vn&&Yn?Ne.current=null:Ne.current=Pt.id}$i(Pt.id,rn)}else if(M.getState().resizeHandleType){const{relativePointer:Nt,pointerOnGrid:Ct}=_i($e,Ce.current),Bt=M.getState().resizeHandleType,Xt=M.getState().resizeAnchor;switch(Pt.type){case z.Window:{const rn=Pt,gn=Mo(Ct,{resizeAnchor:Xt});if(Do(rn)){const{newLz:mn,newCz:vn,newArchHeight:kn}=ti(rn,gn,Xt),Yn=new ae(rn.cx*r,0,vn);Lt(rn.id,Yn,rn.lx*r,mn),Et(rn.id,Yn,rn.lx*r,mn),_(Wn=>{const qn=Wn.elements.find(Xn=>Xn.id===rn.id);qn&&(qn.lz=mn/l,qn.cz=vn/l,qn.archHeight=kn,qn.cy=qn.id===Ne.current?-.01:.3,qn.tint=qn.id===Ne.current?"red":rn.tint)})}else if(Bt===yt.Upper){const mn=new ae(rn.cx*r,0,rn.cz*l),[vn,kn]=[rn.lx*r,rn.lz*l],Yn=be.clamp((Ct.x-Xt.x)/vn,-.5,.5),Wn=Math.max(0,Ct.z-Xt.z),qn=[Yn,Wn];(!Lt(rn.id,mn,vn,kn,qn)||!an(mn,vn,kn,qn))&&(Ne.current=rn.id),_(Xn=>{const Jo=Xn.elements.find(lr=>lr.id===rn.id);Jo&&(Jo.polygonTop=[...qn],Jo.cy=Jo.id===Ne.current?-.01:.3,Jo.tint=Jo.id===Ne.current?"red":rn.tint)})}else{const{dimensionXZ:mn,positionXZ:vn}=Ro($e,gn,Xt),kn=new ae(vn.x,0,vn.z);let Yn=!0,Wn;rn.windowType===Sr.Polygonal&&(Wn=rn.polygonTop??jp,Yn=an(kn,mn.x,mn.z,Wn)),(!Lt(rn.id,kn,mn.x,mn.z,Wn)||!Yn||!Et(rn.id,kn,mn.x,mn.z))&&(Ne.current=rn.id),_(qn=>{const Xn=qn.elements.find(Jo=>Jo.id===rn.id);Xn&&(Xn.lx=mn.x/r,Xn.lz=mn.z/l,Xn.cx=vn.x/r,Xn.cz=vn.z/l,Xn.cy=Xn.id===Ne.current?-.01:.3,Xn.tint=Xn.id===Ne.current?"red":rn.tint)})}break}case z.Door:{const rn=Pt,gn=Mo(Ct,{resizeAnchor:Xt});if(Do(rn)){const{newLz:mn,newCz:vn,newArchHeight:kn}=ti(rn,gn,Xt),Yn=new ae(rn.cx*r,0,vn);Lt(rn.id,Yn,rn.lx*r,mn),Et(rn.id,Yn,rn.lx*r,mn,!0),_(Wn=>{const qn=Wn.elements.find(Xn=>Xn.id===rn.id);qn&&(qn.lz=mn/l,qn.cz=vn/l,qn.archHeight=kn,qn.color=qn.id===Ne.current?lce:Pt.color)})}else{const{dimensionXZ:mn,positionXZ:vn}=Ro($e,gn,Xt),kn=new ae(vn.x,0,vn.z);Lt(rn.id,kn,mn.x,mn.z),Et(rn.id,kn,mn.x,mn.z,!0),_(Yn=>{const Wn=Yn.elements.find(qn=>qn.id===rn.id);Wn&&(Wn.cx=vn.x/r,Wn.lx=mn.x/r,Wn.cz=(gn.z-l/2)/2/l,Wn.lz=(gn.z+l/2)/l,Wn.color=Wn.id===Ne.current?lce:Pt.color)})}break}case z.SolarPanel:{const rn=Pt,[gn,mn]=zqe(rn);if(Bt===yt.Lower||Bt===yt.Upper){const kn=Math.max(1,Math.round(Math.abs(Nt.z-Xt.z)/mn))*mn,Yn=new ae(0,0,Nt.z-Xt.z).normalize().multiplyScalar(kn),Wn=new ae().addVectors(Xt,Yn.clone().divideScalar(2));if(!be.isElementInsideWall(Wn,rn.lx-.01,kn-.01,zt))return;Lt(rn.id,Wn,rn.lx,Math.abs(Yn.z)),_(qn=>{const Xn=qn.elements.find(Jo=>Jo.id===rn.id);Xn&&(Xn.cz=Wn.z/l,Xn.ly=Math.abs(Yn.z),Xn.color=Xn.id===Ne.current?"red":"#fff")})}else if(Bt===yt.Left||Bt===yt.Right){const kn=Math.max(1,Math.round(Math.abs(Nt.x-Xt.x)/gn))*gn,Yn=new ae(Nt.x-Xt.x,0,0).normalize().multiplyScalar(kn),Wn=new ae().addVectors(Xt,Yn.clone().divideScalar(2));if(!be.isElementInsideWall(Wn,kn-.01,rn.ly-.01,zt))return;Lt(rn.id,Wn,Math.abs(Yn.x),rn.ly),_(qn=>{const Xn=qn.elements.find(Jo=>Jo.id===rn.id);Xn&&(Xn.cx=Wn.x/r,Xn.lx=Math.abs(Yn.x),Xn.color=Xn.id===Ne.current?"red":"#fff")})}break}case z.Polygon:{_(rn=>{const gn=rn.elements.find(mn=>mn.id===Pt.id);(gn==null?void 0:gn.selectedIndex)>=0&&(gn.vertices[gn.selectedIndex].x=-Ct.x/r,gn.vertices[gn.selectedIndex].y=-Ct.z/l)});break}}}}}function Is(){if(Ne.current)Le.current&&Le.current.status===1?(_($e=>{$e.elements.pop(),$e.actionModeLock&&Le.current&&($e.objectTypeToAdd=Le.current.type)}),Le.current=null):(M.getState().moveHandleType||M.getState().resizeHandleType)&&nf.undoInvalidOperation();else if(Le.current){if(Le.current.status===0)_($e=>{$e.elements.pop(),$e.actionModeLock&&Le.current&&($e.objectTypeToAdd=Le.current.type)}),Le.current=null;else if(Le.current.status===1){const $e=M.getState().elements,Pt=$e[$e.length-1];Pt.lx*r<.1||Pt.lz*l<.1?_(Nt=>{Nt.elements.pop(),Nt.actionModeLock&&Le.current&&(Nt.objectTypeToAdd=Le.current.type)}):(_(Nt=>{Nt.actionModeLock&&Le.current&&(Nt.objectTypeToAdd=Le.current.type,mx.selectNone(Nt))}),eo(Pt)),Le.current=null}}else M.getState().moveHandleType?nf.addUndoableMove():M.getState().resizeHandleType&&uo();Ln.getState().setEnableOrbitController(!0),ve(!1),_($e=>{$e.moveHandleType=null,$e.resizeHandleType=null,$e.selectedElement=$e.elements.find(Pt=>{var Nt;return Pt.id===((Nt=$e.selectedElement)==null?void 0:Nt.id)})}),he("showWallIntersectionPlaneId",null),Ne.current=null,qo()}function qs($e,Pt){if(we&&M.getState().objectTypeToAdd){let Nt=null;switch(M.getState().objectTypeToAdd){case z.PyramidRoof:{!x&&oi(!1,!0)&&(Nt=rl.makePyramidRoof([t.id],we));break}case z.GableRoof:{!x&&oi(!1,!1)&&(Nt=rl.makeGableRoof([t.id],we));break}case z.HipRoof:{!x&&oi(!1,!0)&&(Nt=rl.makeHipRoof([t.id],we,r/2));break}case z.GambrelRoof:{!x&&oi(!1,!1)&&(Nt=rl.makeGambrelRoof([t.id],we));break}case z.MansardRoof:{!x&&oi(!1,!0)&&(Nt=rl.makeMansardRoof([t.id],we));break}case z.SolarPanel:{if($e&&Pt){const Ct=It($e,t),Bt=t.relativeAngle-Vt,Xt=M.getState().actionState;Nt=rl.makeSolarPanel(t,M.getState().getPvModule(Xt.solarPanelModelName??"SPR-X21-335-BLK"),Ct.x/r,0,Ct.z/l,Xt.solarPanelOrientation??ci.landscape,Xt.solarPanelPoleHeight??1,Xt.solarPanelPoleSpacing??3,0,0,new ae(Math.cos(Bt),Math.sin(Bt),0),[0,0,0],Xt.solarPanelFrameColor,void 0,void 0,z.Wall)}break}case z.Sensor:{if($e&&Pt){const Ct=It($e,t),Bt=t.relativeAngle-Vt;Nt=rl.makeSensor(t,(Ct.x-.05)/r,0,(Ct.z-.05)/l,new ae(Math.cos(Bt),Math.sin(Bt),0),[0,0,0])}break}case z.Light:{if($e&&Pt){const Ct=It($e,t),Bt=t.relativeAngle-Vt,Xt=M.getState().actionState;Nt=rl.makeLight(t,2,Xt.lightDistance,Xt.lightIntensity,Xt.lightColor,(Ct.x-.05)/r,0,(Ct.z-.05)/l,new ae(Math.cos(Bt),Math.sin(Bt),0),[0,0,0])}break}}Nt&&(eo(Nt),_(Ct=>{Ct.elements.push(Nt),Nt&&Nt.type===z.Roof&&Ct.addedRoofIdSet.add(Nt.id),Ct.actionModeLock||(Ct.objectTypeToAdd=z.None)}))}}function Pr($e,Pt,Nt){Ee.current||(Q(n,$e,zo.ContextMenu),_(Ct=>{$e.intersections.length>0&&$e.intersections[0].object===Pt&&(Ct.contextMenuObjectType=z.Wall,Nt&&Ct.pastePoint.copy($e.intersections[0].point))}),$e.stopPropagation())}function pa($e){if($e.button===2)return;const Pt=M.getState().objectTypeToAdd;!go()&&!$()&&Cn($e)&&Pt===z.None?M.getState().groupActionMode?(_(Nt=>{for(const Ct of Nt.elements)Ct.id===y?Ct.selected=!0:Ct.selected=!1}),$e.stopPropagation()):So()&&M.getState().selectMe(n,$e,zo.Select):In.isTypeRoof(Pt)&&Fr($e)}function Wl($e){$e.button===2||$e.intersections.length===0||$e.intersections[0].object!==$e.eventObject||(M.getState().groupActionMode?_(Pt=>{for(const Nt of Pt.elements)Nt.selected=Nt.id===y;Pt.selectedElementIdSet.clear(),Pt.selectedElementIdSet.add(y)}):(hn($e)&&(_(Pt=>{Pt.contextMenuObjectType=null}),Q(n,$e,zo.Select)),qs(),$e.stopPropagation()))}function Yl($e){$e.intersections.length>0&&$e.intersections[0].object===$e.eventObject&&(Q(n,$e,zo.ContextMenu),_(Pt=>{Pt.contextMenuObjectType=z.Wall}),$e.stopPropagation())}function Xu(){let[$e,Pt]=v??[0,(wt+rt)/2];$e=$e*r;const Nt=$e+qe,Ct=Math.hypot(Nt,Pt-wt),Bt=-Math.atan2(Pt-wt,Nt),Xt=qe-$e,rn=Math.hypot(Xt,rt-Pt),gn=-Math.atan2(rt-Pt,Xt);return h.jsxs("group",{name:`wall stud group ${n}`,children:[Xe.map(([mn,vn],kn)=>{let Yn;return mn<$e?Yn=(mn+qe)*(Pt-wt)/($e+qe)+wt-vn:Yn=(mn-qe)*(Pt-rt)/($e-qe)+rt-vn,h.jsx(Ei,{args:[R,a,Yn],position:[mn,We,(Yn-l)/2+vn],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})},kn)}),h.jsx(Ei,{args:[Ct,a,a],position:[-qe+Nt/2,We,(wt+Pt)/2-De-a/2],rotation:[0,Bt,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})}),h.jsx(Ei,{args:[rn,a,a],position:[qe-Xt/2,We,(rt+Pt)/2-De-a/2],rotation:[0,gn,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})})]})}function Cc(){let[$e,Pt]=v??[0,(wt+rt)/2];$e=$e*r;const Nt=$e+qe,Ct=Math.hypot(Nt,Pt-wt),Bt=-Math.atan2(Pt-wt,Nt),Xt=qe-$e,rn=Math.hypot(Xt,rt-Pt),gn=-Math.atan2(rt-Pt,Xt),mn=a;return h.jsxs("group",{name:`wall pillar group ${n}`,position:[0,-a/2,0],children:[Xe.map(([vn,kn],Yn)=>{let Wn;return vn<$e?Wn=(vn+qe)*(Pt-wt)/($e+qe)+wt-kn:Wn=(vn-qe)*(Pt-rt)/($e-qe)+rt-kn,h.jsx(wa,{args:[R/2,R/2,Wn],position:[vn,We,(Wn-l)/2+kn],rotation:[-Vt,0,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})},Yn)}),h.jsx(Ei,{args:[Ct,R,mn],position:[-qe+Nt/2,We,(wt+Pt)/2-De-mn/2],rotation:[0,Bt,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})}),h.jsx(Ei,{args:[rn,R,mn],position:[qe-Xt/2,We,(rt+Pt)/2-De-mn/2],rotation:[0,gn,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})})]})}return h.jsxs(h.Fragment,{children:[(D>0||T===hc.Default)&&h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{name:"Wall Simulation Mesh",uuid:n,userData:{simulation:!0},rotation:[Vt,0,0],castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[At]}),h.jsx("meshBasicMaterial",{side:ji})]}),h.jsxs("mesh",{name:`${nf.WALL_OUTSIDE_SURFACE_MESH_NAME} ${n}`,ref:ye,rotation:[Vt,0,0],castShadow:Oe,receiveShadow:ie,onContextMenu:$e=>{Pr($e,ye.current,!0)},onPointerMove:ui,onPointerDown:Fr,onPointerUp:Oa,onPointerOut:Br,children:[h.jsx("shapeGeometry",{args:[At]}),fe&&Pe?h.jsx("meshBasicMaterial",{attach:"material",map:Pe,color:"white",opacity:D,transparent:Ye}):h.jsx("meshStandardMaterial",{attach:"material",color:d===No.Default||d===No.NoTexture?f:"white",map:j,transparent:Ye,opacity:D})]}),h.jsxs("mesh",{rotation:[Vt,0,0],position:[0,.05,0],castShadow:Oe,children:[h.jsx("shapeGeometry",{args:[Mt]}),h.jsx("meshStandardMaterial",{color:"white",side:p0,transparent:Ye,opacity:D})]}),h.jsxs("mesh",{name:"Inside Wall",ref:Te,position:[0,a,0],rotation:[Vt,0,0],castShadow:Oe,receiveShadow:ie,onPointerDown:pa,onContextMenu:$e=>{Pr($e,Te.current)},children:[h.jsx("shapeGeometry",{args:[Mt]}),h.jsx(PQt,{transparent:Ye,color:f,opacity:D})]}),h.jsxs("mesh",{rotation:[Vt,0,0],position:[0,a-.01,0],receiveShadow:!0,children:[h.jsx("shapeGeometry",{args:[Mt]}),h.jsx("meshStandardMaterial",{color:"white",side:ia,transparent:Ye,opacity:D})]}),(!x||Qe)&&!et&&h.jsx("mesh",{name:"Top Wall",ref:Ie,material:tt,position:[0,We,st],rotation:[0,-ft,0],castShadow:Oe,receiveShadow:ie,onPointerDown:pa,onContextMenu:$e=>{Pr($e,Ie.current)},children:h.jsx("shapeGeometry",{args:[Rt]})}),_e===0&&h.jsx(sa,{args:[wt-at,a],material:tt,position:[-qe+.01,We,-De+at+(wt-at)/2],rotation:[0,Vt,0],castShadow:Oe,receiveShadow:ie,onPointerDown:pa}),ot===0&&h.jsx(sa,{args:[rt-ut,a],material:tt,position:[qe-.01,We,-De+ut+(rt-ut)/2],rotation:[0,Vt,0],castShadow:Oe,receiveShadow:ie,onPointerDown:pa}),(de||oe===n)&&((pn=M.getState().selectedElement)==null?void 0:pn.parentId)===n&&h.jsxs(h.Fragment,{children:[h.jsx(sa,{ref:Ce,name:sSe,args:[1e4,1e4],position:[0,a/3,0],rotation:[Vt,0,0],onPointerMove:Pc,onPointerUp:Is,visible:!1,children:h.jsx("meshBasicMaterial",{color:"blue",side:ji})}),h.jsx(sa,{name:Pre,args:[r,l],rotation:[Vt,0,0],position:[0,a,0],onPointerMove:()=>{},visible:!1})]}),Ae.map($e=>{switch($e.type){case z.Window:return h.jsx(fqe,{...$e,cx:$e.cx*r,cy:$e.cy*a,cz:$e.cz*l,lx:$e.lx*r,ly:a,lz:$e.lz*l},$e.id);case z.Door:return E!==Hl.Full?null:h.jsx(dQt,{...$e,cx:$e.cx*r,cy:0,cz:$e.cz*l,lx:$e.lx*r,ly:a,lz:$e.lz*l},$e.id);case z.SolarPanel:let Pt=0;return we&&t&&(Pt=we.rotation[2]+t.relativeAngle),h.jsx("group",{position:[0,-$e.lz/2,0],children:h.jsx(yQt,{...$e,cx:$e.cx*r,cz:$e.cz*l,absRotation:Pt})},$e.id);default:return null}})]}),Ae.map($e=>$e.type===z.Polygon&&E!==Hl.Empty?h.jsx(Iqe,{...$e},$e.id):null),T===hc.Stud&&Xu(),T===hc.Pillar&&Cc(),et&&h.jsx(bQt,{args:B,wallData:ht,parapetZ:vt,currWallPointData:Je,leftWallPointData:mt,rightWallPointData:Ge}),(T===hc.Default||A&&Y)&&h.jsx(tQt,{lineColor:Y&&A?l0:p,lineWidth:Y&&A?2:g,hx:qe,hz:De,fill:E,isTopPartial:Qe,leftUnfilledHeight:L,rightUnfilledHeight:U,showParapet:et,leftHeight:wt,rightHeight:rt,center:v,centerLeft:S,centerRight:w}),Y&&h.jsx(dye,{element:t,verticalLift:0}),(de||oe===n)&&((Tn=M.getState().selectedElement)==null?void 0:Tn.parentId)===n&&h.jsx("group",{position:[0,-.001,0],rotation:[Vt,0,0],children:h.jsx(mge,{hx:qe,hy:De,hz:0})}),h.jsx(TQt,{wallModel:t,notBuilding:we.notBuilding})]})};function zqe(t){const e=M.getState().getPvModule(t.pvModelName);return t.orientation===ci.landscape?[e.length,e.width]:[e.width,e.length]}const RQt=(t,e)=>t.wallModel===e.wallModel,HQt=Se.memo(CQt,RQt);class In{static getWireframetStyle(e,n,o,i){return[o&&i?l0:e,o&&i?1:n]}static getComposedWallNormal(e){return new ae().subVectors(e.leftPoint,e.rightPoint).applyEuler(ZV).normalize()}static getWallNormal(e){return new ae().subVectors(new ae(e.leftPoint[0],e.leftPoint[1]),new ae(e.rightPoint[0],e.rightPoint[1])).applyEuler(ZV).normalize()}static isTypeRoof(e){return e===z.Roof||e===z.PyramidRoof||e===z.HipRoof||e===z.GableRoof||e===z.GambrelRoof||e===z.MansardRoof}static getIntersectionPoint(e,n,o,i){if(Math.abs(e.x-n.x)<.001&&Math.abs(o.x-i.x)<.001)return n.clone();const r=(n.y-e.y)/(n.x-e.x),a=(i.y-o.y)/(i.x-o.x);if(Math.abs(r-a)<.001)return n.clone();const l=[e.x,n.x,o.x,i.x],s=[e.y,n.y,o.y,i.y],c=((l[2]-l[3])*(l[1]*s[0]-l[0]*s[1])-(l[0]-l[1])*(l[3]*s[2]-l[2]*s[3]))/((l[2]-l[3])*(s[0]-s[1])-(l[0]-l[1])*(s[2]-s[3])),u=((s[2]-s[3])*(s[1]*l[0]-s[0]*l[1])-(s[0]-s[1])*(s[3]*l[2]-s[2]*l[3]))/((s[2]-s[3])*(l[0]-l[1])-(s[0]-s[1])*(l[2]-l[3]));return!Number.isFinite(c)||!Number.isFinite(u)?n.clone():new ae(c,u)}static getDistance(e,n,o){const i=n.y-e.y;if(i===0)return Math.abs(e.y-o.y);const r=e.x-n.x;if(r===0)return Math.abs(e.x-o.x);const a=n.x*e.y-e.x*n.y,l=Math.abs((i*o.x+r*o.y+a)/Math.sqrt(i*i+r*r));return l===0?1/0:l}static getWallPoints2D(e,n,o,i){const{lx:r,lz:a,rightRoofHeight:l,leftRoofHeight:s}=e,c=o??e.centerLeftRoofHeight,u=n??e.centerRoofHeight,d=i??e.centerRightRoofHeight,f=[],p=r/2,g=a/2;return f.push({x:-p,y:-g}),f.push({x:p,y:-g}),l?f.push({x:p,y:l-g}):f.push({x:p,y:g}),d&&f.push({x:d[0]*r,y:d[1]-g}),u&&f.push({x:u[0]*r,y:u[1]-g}),c&&f.push({x:c[0]*r,y:c[1]-g}),s?f.push({x:-p,y:s-g}):f.push({x:-p,y:g}),f}static isPointInside(e,n,o){let i=!1;for(let r=0,a=e.length-1;ro!=u>o&&n<(c-l)*(o-s)/(u-s)+l&&(i=!i)}return i}static isRoofValid(e,n,o,i,r,a){for(const l of M.getState().elements)if(l.type===z.Wall&&l.roofId===e){const s=l;let c=[];if(s.id===n)c=In.getWallPoints2D(s,i,r,a);else if(s.id===o){let u,d,f;i&&(u=[-i[0],i[1]]),a&&(d=[-a[0],a[1]]),r&&(f=[-r[0],r[1]]),c=In.getWallPoints2D(s,u,d,f)}if(s.id===n||s.id===o){for(const u of M.getState().elements)if(u.parentId===s.id){let d=u.lx/2,f=u.lz/2,p=tP;u.type===z.SolarPanel&&(d=(d-.01)/s.lx,f=(u.ly/2-.01)/s.lz,p=0);const g=u.cx*s.lx-d*s.lx,y=u.cx*s.lx+d*s.lx,A=u.cz*s.lz+f*s.lz+p;if(!In.isPointInside(c,g,A)||!In.isPointInside(c,y,A))return!1}}}return!0}static getSegmentIdx(e,n){for(let o=0;or.z){const u=[l,a,i];return be.isPointInside(o.x,o.y,u.map(be.mapVector3ToPoint2))?[i,a,l]:[i,r,a]}else{const u=[l,a,r];return be.isPointInside(o.x,o.y,u.map(be.mapVector3ToPoint2))?[r,a,l]:[r,l,i]}else if(s<=c){const u=[l,a,r];return be.isPointInside(o.x,o.y,u.map(be.mapVector3ToPoint2))?[r,a,l]:[r,l,i]}else{const u=[l,a,i];return be.isPointInside(o.x,o.y,u.map(be.mapVector3ToPoint2))?[i,a,l]:[i,r,a]}}static getSegmentNormal(e){const[n,o,i]=e;return new ae().crossVectors(new ae().subVectors(n,o),new ae().subVectors(n,i)).normalize()}static getRotationFromNormal(e){return be.isSame(e.normalize(),Po)?[0,0,0]:[Math.PI/2-Math.atan2(e.z,Math.hypot(e.x,e.y)),0,Math.atan2(e.y,e.x)+Math.PI/2]}static getRooftopElementZ(e,n,o){const[i,r,a]=e,l=(r.y-i.y)*(a.z-i.z)-(r.z-i.z)*(a.y-i.y),s=(r.z-i.z)*(a.x-i.x)-(r.x-i.x)*(a.z-i.z),c=(r.x-i.x)*(a.y-i.y)-(r.y-i.y)*(a.x-i.x);return-(-(l*i.x+s*i.y+c*i.z)+l*n.x+s*n.y)/c+o}static computeState(e,n,o){const i=In.getSegmentIdx(e,n);if(o)return{segmentIdx:-1,segmentVertices:null,normal:new ae(0,0,1),rotation:[0,0,0]};if(i!==-1){const r=In.getSegmentVertices(e,i,n),a=In.getSegmentNormal(r),l=In.getRotationFromNormal(a);return{segmentIdx:i,segmentVertices:r,normal:a,rotation:l}}else return{segmentIdx:-1,segmentVertices:null,normal:new ae(0,0,1),rotation:[0,0,0]}}static getOrderedWallArrayOfRoof(e){const n=new Map;for(const a of M.getState().elements)a.type===z.Wall&&a.roofId===e&&n.set(a.id,a);if(n.size===0)return{orderedWallArray:[],isLoop:!1};const o=n.entries().next().value[1],i=[o];let r=o.rightJoints[0];for(;r&&r!==o.id;){const a=n.get(r);if(a)i.push(a),r=a.rightJoints[0];else break}if(r===o.id)return{orderedWallArray:i,isLoop:!0};for(r=o.leftJoints[0];r;){const a=n.get(r);if(a)i.unshift(a),r=a.leftJoints[0];else break}return{orderedWallArray:i,isLoop:!1}}static getRoofBoundaryVertices(e){const n=bn.getState().roofSegmentVerticesMap.get(e.id);if(!n)throw new Error;if(e.roofType!==Vo.Gable&&e.rise<.01)return n[0].map(o=>({x:o.x,y:o.y}));switch(e.roofType){case Vo.Gable:return n.length===1?n[0].map(o=>({x:o.x,y:o.y})):n.reduce((o,i)=>(o.push({x:i[0].x,y:i[0].y},{x:i[1].x,y:i[1].y}),o),[]);case Vo.Gambrel:return n.reduce((o,i,r)=>((r===0||r===3)&&o.push({x:i[0].x,y:i[0].y},{x:i[1].x,y:i[1].y}),o),[]);case Vo.Mansard:return n.reduce((o,i,r)=>(r!==n.length-1&&o.push({x:i[0].x,y:i[0].y}),o),[]);default:return n.reduce((o,i,r)=>(o.push({x:i[0].x,y:i[0].y}),o),[])}}static getAbsoluteWindowVerticesOnRoof(e,n){const o=[],i=new ae(e.cx,e.cy,e.cz),r=new ae(n.cx,n.cy,n.lz);if(e.windowType===Sr.Arched){const a=Math.min(e.archHeight,e.lx/2,e.lz);for(let s=-1;s<=1;s+=2)for(let c=-1;c<=1;c+=2){const u=s*c>0?new ae(e.lx/2*s,(e.lz/2-a)*c*s,0):new ae(e.lx/2*s,e.lz/2*c*s,0);u.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),u.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(u)}const l=new ae(0,e.lz/2,0);l.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),l.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(l)}else{for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=new ae(e.lx/2*a,e.lz/2*l*a,0);s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),s.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(s)}if(e.windowType===Sr.Polygonal&&e.polygonTop){const a=new ae(e.lx*e.polygonTop[0],e.lz/2+e.polygonTop[1],0);a.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),a.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(a)}}return o}static getRelativeWindowVerticesOnRoof(e){const n=[],o=new ae(e.cx,e.cy,e.cz);if(e.windowType===Sr.Arched){const i=Math.min(e.archHeight,e.lx/2,e.lz);for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=a*l>0?new ae(e.lx/2*a,(e.lz/2-i)*l*a,0):new ae(e.lx/2*a,e.lz/2*l*a,0);s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(s)}const r=new ae(0,e.lz/2,0);r.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(r)}else{for(let i=-1;i<=1;i+=2)for(let r=-1;r<=1;r+=2){const a=new ae(e.lx/2*i,e.lz/2*r*i,0);a.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(a)}if(e.windowType===Sr.Polygonal&&e.polygonTop){const i=new ae(e.lx*e.polygonTop[0],e.lz/2+e.polygonTop[1],0);i.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(i)}}return n}static getAbsoluteSolarPanelVerticesOnRoof(e,n){const o=[],i=new ae(e.cx*n.lx,e.cy*n.ly,e.cz),r=new ae(n.cx,n.cy,n.lz);for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=new ae(e.lx/2*a,e.ly/2*l*a,0);e.rotation[0]===0?s.applyEuler(new Qt(e.tiltAngle,0,e.relativeAzimuth,"ZXY")).add(i):s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),s.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(s)}return o}static getSolarPanelVerticesOnRoof(e,n){const o=[],i=new ae(e.cx*n.lx,e.cy*n.ly,e.cz+n.lz);for(let r=-1;r<=1;r+=2)for(let a=-1;a<=1;a+=2){const l=new ae(e.lx/2*r,e.ly/2*a*r,0);e.rotation[0]===0?l.applyEuler(new Qt(e.tiltAngle,0,e.relativeAzimuth,"ZXY")).add(i):l.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),o.push(l)}return o}static getWindowVerticesOnRoof(e,n=0){const o=[],i=new ae(e.cx,e.cy,e.cz),[r,a]=[e.lx/2+n,e.lz/2+n];for(let l=-1;l<=1;l+=2)for(let s=-1;s<=1;s+=2){const c=new ae(l*r,l*s*a);c.applyEuler(new Qt().fromArray([e.rotation[0],e.rotation[1],e.rotation[2],"ZXY"])).add(i),o.push(c)}if(e.windowType===Sr.Polygonal){const[l,s]=e.polygonTop??jp,c=new ae(l*e.lx,e.lz+s).add(i);o.push(c)}return o}static rooftopElementBoundaryCheck(e,n){for(const o of e)if(!be.isPointInside(o.x,o.y,n))return!1;return!0}static rooftopWindowCollisionCheck(e,n,o){const i=[];for(const r of M.getState().elements)if(r.parentId===o&&r.id!==e){const a=In.getWindowVerticesOnRoof(r);i.push(a)}for(const r of i){for(const a of n)if(be.isPointInside(a.x,a.y,r))return!1;for(const a of r)if(be.isPointInside(a.x,a.y,n))return!1}return!0}static rooftopSPCollisionCheck(e,n,o){for(const i of M.getState().elements)if(i.type===e.type&&i.parentId===e.parentId&&i.id!==e.id){const r=In.getSolarPanelVerticesOnRoof(i,n);for(const s of o)if(be.isPointInside(s.x,s.y,r))return!1;for(const s of r)if(be.isPointInside(s.x,s.y,o))return!1;const a=o.map(be.mapVector3ToPoint2),l=r.map(be.mapVector3ToPoint2);a.push(a[0]),l.push(l[0]);for(let s=0;s{const a=M(Cb),l=M(ey),s=m.useRef(null),[c,u,d]=e;let f=jx;c===0&&u===0?f=L3t:c===0?f=Fk:u===0&&(f=jx);const p=l===t||a===t?nr:f;return h.jsx(ts,{ref:s,name:t,args:[n/2,6,6,0,Math.PI],position:[c,u,d],onPointerDown:o,onPointerOver:g=>{i(g,t)},onPointerOut:r,children:h.jsx("meshBasicMaterial",{color:p})})}),um=Se.memo(({handleType:t,position:e,size:n,onPointerOver:o,onPointerOut:i})=>{const r=M(yh),a=M(ey),l=m.useRef(null),[s,c,u]=e,d=a===t||r===t?nr:pr,f=()=>{if(l.current){const p=l.current.localToWorld(new ae(-s*2,-c*2,0));M.getState().set(g=>{g.resizeAnchor.copy(p),g.resizeHandleType=t}),Ln.getState().setEnableOrbitController(!1)}};return h.jsx(Ei,{ref:l,name:t,args:[n,n,n],position:[s,c,u],onPointerDown:f,onPointerOver:p=>{o(p,t)},onPointerOut:i,children:h.jsx("meshBasicMaterial",{color:d})})}),UQt=({id:t,args:e})=>{const[n,o,i]=e,r=M(dn),a=M(jn),l=M(hu),s=M(Mq),[c,u]=m.useState(null),{gl:d,raycaster:f}=Xi(),p=UH(),g=m.useRef(null),y=m.useRef(null),A=m.useRef(null),x=m.useRef(null),C=m.useRef(null),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(null),w=m.useMemo(()=>[0,Math.min(-1.2*o,-o-.75)-p*2,I9/2-i],[o,i,p]),T=m.useMemo(()=>[0,Math.max(1.2*o,o+.75)+p*2,I9/2-i],[o,i,p]),P=c!==null,R=!l,H=!s,D=m.useCallback((q,le)=>{gt.getState().duringCameraInteraction||q.intersections.length>0&&(q.intersections[0].object===q.eventObject||q.intersections.length>1&&q.intersections[1].object===q.eventObject)&&(r(pe=>{pe.hoveredHandle=le;const ne=a(t);ne&&(pe.selectedElementAngle=ne.rotation[2],pe.selectedElementHeight=ne.lz)}),be.isMoveHandle(le)?d.domElement.style.cursor="move":le===wi.Upper||le===wi.Lower?d.domElement.style.cursor="grab":d.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"pointer")},[]),E=m.useCallback(()=>{r(q=>{q.hoveredHandle=null}),d.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),L=q=>{const le=a(q);if(!le)return 0;const ie=le.rotation[2];return le.parentId===Zo?ie:ie+L(le.parentId)},U=q=>{switch(q){case z.Human:case z.Flower:case z.Tree:return!0}return!1},F=q=>U(q)||q===z.Cuboid,W=q=>{r(le=>{const ie=le.elements.find(Re=>Re.id===t);if(!ie)return;const pe=q.clone().setZ(0),ne=M.getState().resizeAnchor.clone().setZ(0),Z=new ae().subVectors(pe,ne).applyEuler(new Qt(0,0,-(A.current??0))),he=new ae().addVectors(pe,ne).multiplyScalar(.5),{pos:fe,rot:se}=be.getWorldDataById(ie.parentId),oe=new ae().subVectors(he,fe).applyEuler(new Qt(0,0,-se));ie.cx=oe.x,ie.cy=oe.y;const de=Math.abs(Z.x),ve=Math.abs(Z.y);ie.lx=de,ie.ly=ve;const Pe=new ae(oe.x,oe.y,ie.cz).applyEuler(new Qt(0,0,se)).add(fe),me=ie.rotation[2]+se;if(b.current.size>0)for(const Re of le.elements){const ze=b.current.get(Re.id);if(ze){const Ae=ze.clone().sub(Pe).applyEuler(new Qt(0,0,-me));if(U(Re.type)){const re=v.current.get(Re.id);if(re){const[ge,we]=re;ge==="Top"?(Re.cx=Ae.x,Re.cy=Ae.y):ge==="NS"?(Re.cx=Ae.x,Re.cy=Math.sign(we)*(ve/2)):ge==="EW"&&(Re.cx=Math.sign(we)*(de/2),Re.cy=Ae.y)}}else Re.type===z.Cuboid?(Re.cx=Ae.x,Re.cy=Ae.y):(Re.cx=Ae.x/de,Re.cy=Ae.y/ve)}}})},B=q=>{r(le=>{const ie=le.elements.find(me=>me.id===t);if(!ie)return;const pe=q.clone().setZ(0),ne=M.getState().resizeAnchor.clone().setZ(0),Z=new ae().subVectors(pe,ne).applyEuler(new Qt(0,0,-(A.current??0))),he=new ae().addVectors(pe,ne).multiplyScalar(.5),{pos:fe,rot:se}=be.getWorldDataById(ie.parentId),oe=new ae().subVectors(he,fe).applyEuler(new Qt(0,0,-se));ie.cx=oe.x;const de=Math.abs(Z.x);ie.lx=de;const ve=new ae(oe.x,oe.y,ie.cz).applyEuler(new Qt(0,0,se)).add(fe),Pe=ie.rotation[2]+se;if(b.current.size>0)for(const me of le.elements){const Re=b.current.get(me.id);if(Re){const ze=Re.clone().sub(ve).applyEuler(new Qt(0,0,-Pe));if(U(me.type)){const Ae=v.current.get(me.id);if(Ae){const[re,ge]=Ae;re==="Top"||re==="NS"?me.cx=ze.x:re==="EW"&&(me.cx=Math.sign(ge)*(de/2))}}else me.type===z.Cuboid?me.cx=ze.x:me.cx=ze.x/de}}})},k=q=>{r(le=>{const ie=le.elements.find(me=>me.id===t);if(!ie)return;const pe=q.clone().setZ(0),ne=M.getState().resizeAnchor.clone().setZ(0),Z=new ae().subVectors(pe,ne).applyEuler(new Qt(0,0,-(A.current??0))),he=new ae().addVectors(pe,ne).multiplyScalar(.5),{pos:fe,rot:se}=be.getWorldDataById(ie.parentId),oe=new ae().subVectors(he,fe).applyEuler(new Qt(0,0,-se));ie.cy=oe.y;const de=Math.abs(Z.y);ie.ly=de;const ve=new ae(oe.x,oe.y,ie.cz).applyEuler(new Qt(0,0,se)).add(fe),Pe=ie.rotation[2]+se;if(b.current.size>0)for(const me of le.elements){const Re=b.current.get(me.id);if(Re){const ze=Re.clone().sub(ve).applyEuler(new Qt(0,0,-Pe));if(U(me.type)){const Ae=v.current.get(me.id);if(Ae){const[re,ge]=Ae;re==="Top"?me.cy=ze.y:re==="NS"?me.cy=Math.sign(ge)*(de/2):re==="EW"&&(me.cy=ze.y)}}else me.type===z.Cuboid?me.cy=ze.y:me.cy=ze.y/de}}})},N=q=>{if(g.current!==null){const le=Math.max(1,q.z-g.current);r(ie=>{for(const pe of ie.elements)if(pe.id===t&&(pe.lz=le,pe.cz=le/2,ie.selectedElementHeight=le),pe.parentId===t&&U(pe.type)){const ne=v.current.get(pe.id);ne&&ne[0]==="Top"&&(pe.cz=le/2)}})}},j=q=>{if(y.current){const[le,ie]=y.current;let pe=Math.atan2(le-q.x,q.y-ie)+(M.getState().rotateHandleType===wi.Upper?0:Math.PI);const ne=Math.abs(pe)>Math.PI?-Math.sign(pe)*na:0;x.current&&(pe-=x.current),M.getState().updateElementRotationById(t,0,0,pe+ne)}},Y=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name||M.getState().addedCuboidId){const le=a(t);if(le&&le.parentId!==Zo){u({position:new ae(0,0,-i),rotation:new Qt});const{pos:ie,rot:pe}=be.getWorldDataById(le.parentId);C.current=ie,x.current=pe,A.current=pe+le.rotation[2];const ne=new ae(le.cx,le.cy,le.cz).applyEuler(new Qt(0,0,pe)).add(ie),Z=M.getState().elements.filter(he=>he.parentId===le.id&&(F(he.type)||be.isIdentical(he.normal,[0,0,1])));b.current.clear(),v.current.clear();for(const he of Z){const fe=new ae;U(he.type)?(fe.set(he.cx,he.cy,he.cz),Math.abs(he.cz-i)<.01?v.current.set(he.id,["Top",1]):Math.abs(Math.abs(he.cx)-n)<.01?v.current.set(he.id,["EW",Math.sign(he.cx)]):v.current.set(he.id,["NS",Math.sign(he.cy)])):he.type===z.Cuboid?fe.set(he.cx,he.cy,he.cz):fe.set(he.cx*le.lx,he.cy*le.ly,0),fe.applyEuler(new Qt(0,0,A.current)).add(ne),b.current.set(he.id,fe)}}r(ie=>{ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(t),ie.selectedElement=ie.elements.find(pe=>pe.id===t)??null})}},_=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name){const le=q.intersections[0].object,ie=M.getState().cameraDirection,pe=Math.atan2(ie.x,ie.y)+L(t);u({position:le.position.clone(),rotation:new Qt(-Vt,pe,0)});const ne=le.localToWorld(new ae);g.current=ne.z-i*2;const Z=M.getState().elements.filter(he=>he.parentId===t&&U(he.type));v.current.clear();for(const he of Z)new ae().set(he.cx,he.cy,he.cz),Math.abs(he.cz-i)<.01&&v.current.set(he.id,["Top",1]);r(he=>{he.selectedElementIdSet.clear(),he.selectedElementIdSet.add(t),he.selectedElement=he.elements.find(fe=>fe.id===t)??null})}},J=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name){u({position:new ae(0,0,-i),rotation:new Qt(0,0,0)});const le=q.eventObject;y.current=le.localToWorld(new ae).toArray();const ie=a(t);ie&&(x.current=L(ie.parentId))}},Q=q=>{if(q.intersections.length>0){const le=q.intersections[0].eventObject.name;switch(le){case yo.Lower:case yo.Upper:case yo.Left:case yo.Right:case yo.Top:{M.getState().set(ie=>{const pe=ie.elements.find(ne=>ne.id===t)??null;if(pe){if(ie.selectedElement=pe,pe.parentId===Zo)for(const ne of ie.elements)ie.selectedElementIdSet.has(ne.id)&&!be.isElementAllowedMultipleMoveOnGround(ne)&&ie.selectedElementIdSet.delete(ne.id);else ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(pe.id);ie.moveHandleType=le}}),Ln.getState().setEnableOrbitController(!1);break}}}},ee=q=>{if(S.current){const le=f.intersectObject(S.current);if(le.length){const ie=le[0].point,pe=M.getState().resizeHandleType;pe?be.isTopResizeHandle(pe)?N(ie):be.isXResizeHandle(pe)?B(ie):be.isYResizeHandle(pe)?k(ie):W(ie):M.getState().rotateHandleType&&j(ie)}}},$=()=>{u(null),g.current=null,y.current=null,A.current=null,x.current=null,C.current=null};return h.jsxs(h.Fragment,{children:[P&&h.jsx(sa,{name:"Cuboid Intersection Plane",ref:S,args:[1e4,1e4],position:c.position,rotation:c.rotation,visible:!1,onPointerMove:ee,onPointerUp:$}),h.jsxs("group",{name:"Bottom Resize Handle Group",position:[0,0,-i+p/2],onPointerDown:Y,children:[h.jsx(um,{handleType:yt.UpperLeft,position:[-n,o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.UpperRight,position:[n,o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.LowerLeft,position:[-n,-o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.LowerRight,position:[n,-o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.Left,position:[-n,0,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.Right,position:[n,0,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.Upper,position:[0,o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.Lower,position:[0,-o,0],size:p,onPointerOver:D,onPointerOut:E})]}),R&&h.jsxs("group",{name:"Cuboid Top Resize Handle Group",onPointerDown:_,children:[h.jsx(um,{handleType:yt.LowerLeftTop,position:[-n,-o,i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.UpperLeftTop,position:[-n,o,i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.LowerRightTop,position:[n,-o,i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.UpperRightTop,position:[n,o,i],size:p,onPointerOver:D,onPointerOut:E})]}),H&&h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Cuboid Move Handle Group",onPointerDown:Q,children:[h.jsx(Dz,{handleType:yo.Lower,position:[0,-o-p*1.2,-i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(Dz,{handleType:yo.Upper,position:[0,o+p*1.2,-i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(Dz,{handleType:yo.Left,position:[-n-p*1.2,0,-i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(Dz,{handleType:yo.Right,position:[n+p*1.2,0,-i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(Dz,{handleType:yo.Top,position:[0,0,i],size:p,onPointerOver:D,onPointerOut:E})]}),h.jsxs("group",{name:"Cuboid Rotate Handle Group",onPointerDown:J,children:[h.jsx(l7,{id:t,handleType:wi.Lower,position:w,ratio:p*4,hoverHandle:D,noHoverHandle:E}),h.jsx(l7,{id:t,position:T,handleType:wi.Upper,ratio:p*4,hoverHandle:D,noHoverHandle:E})]})]})]})},BQt=Se.memo(UQt),jQt=t=>{const{id:e,cx:n,cy:o,lx:i=1,ly:r=1,lz:a=1,color:l="silver",lineColor:s="black",lineWidth:c=.1,locked:u=!1,showLabel:d=!1,textureTypes:f=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],stackable:p}=t,g=Hs(e),y=M(dn),A=M(Sc),x=M(hu),C=M(jn),b=M(xb),v=M(sge),S=M(hp),w=M(t3),T=M(R7),P=M(e3),R=M(nge),H=M(hwt),D=M(Vc),E=M(age),L=M(J2),U=M(ss),F=M(En),W=M(fge),B=M(H7),k=M(tje),N=M(tge),j=gt(cs),Y=M(wf),_=bn(n1),J=M(sA),{camera:Q,gl:{domElement:ee},raycaster:$,mouse:q}=Xi(),[le,ie]=m.useState(null),[pe,ne]=m.useState(null),[Z,he]=m.useState(null),[fe,se]=m.useState(null),[oe,de]=m.useState(null),[ve,Pe]=m.useState(!1),[me,Re]=m.useState(!1),ze=m.useRef(null),Ae=m.useRef(null),re=m.useRef(null),ge=m.useRef(Po),[we,ye]=m.useState(new ae(0,0,0)),Te=m.useRef(new Qt(0,0,0)),Ie=m.useRef(new ae(1,1,1)),Ce=m.useRef(new ae),Ee=m.useRef(new ae),Ue=m.useRef(new ae),Ne=m.useRef(new ae),Le=m.useRef(new ae(1,1,1)),qe=m.useRef(new ae(1,1,1)),We=m.useRef(0),De=m.useRef(0),Fe=m.useRef([]),_e=m.useRef([]),ot=m.useRef(null),Ye=m.useRef(new ae),St=m.useRef(0),dt=m.useMemo(()=>({lng:A}),[A]),je=i/2,at=r/2,ut=a/2,wt=m.useMemo(()=>new ae,[]),rt=m.useMemo(()=>(t!=null&&t.label?t.label:O.t("shared.CuboidElement",dt))+(t!=null&&t.locked?" ("+O.t("shared.ElementLocked",dt)+")":"")+(t!=null&&t.label?"":` -`+O.t("word.Coordinates",dt)+": ("+n.toFixed(1)+", "+o.toFixed(1)+", "+(a/2).toFixed(1)+") "+O.t("word.MeterAbbreviation",dt)),[t==null?void 0:t.label,t==null?void 0:t.locked,dt,n,o,a]);m.useEffect(()=>{const Cn=()=>{re.current=null,Re(!1),Ln.getState().setEnableOrbitController(!0)};return window.addEventListener("pointerup",Cn),()=>{window.removeEventListener("pointerup",Cn)}},[]),m.useEffect(()=>{M.getState().tempHumanPlant.length>0&&y(Cn=>{Cn.elements.push(...Cn.tempHumanPlant),Cn.tempHumanPlant=[]})},[]),m.useEffect(()=>{if(t&&j){const Cn=Y??5,yn=_(t.id+"-top");yn&&ie(be.fetchHeatmapTexture(yn,Cn));const to=_(t.id+"-south");to&&ne(be.fetchHeatmapTexture(to,Cn));const Do=_(t.id+"-north");Do&&he(be.fetchHeatmapTexture(Do,Cn));const ni=_(t.id+"-west");ni&&se(be.fetchHeatmapTexture(ni,Cn));const Fo=_(t.id+"-east");Fo&&de(be.fetchHeatmapTexture(Fo,Cn,!0))}},[j,Y]);const Qe=Cn=>{switch(Cn){case Co.Facade01:return MQt;case Co.Facade02:return IQt;case Co.Facade03:return zQt;case Co.Facade04:return DQt;case Co.Facade05:return EQt;case Co.Facade06:return kQt;case Co.Facade07:return FQt;case Co.Facade08:return LQt;case Co.Facade09:return WQt;case Co.Facade10:return NQt;default:return Q1}},Oe=Cn=>{switch(Cn){case Co.Facade01:return{x:14,y:6.5};case Co.Facade02:return{x:14,y:6.5};case Co.Facade03:return{x:10,y:12};case Co.Facade04:return{x:20,y:11};case Co.Facade05:return{x:15,y:10};case Co.Facade06:return{x:11,y:3.5};case Co.Facade07:return{x:11,y:10};case Co.Facade08:return{x:16,y:9};case Co.Facade09:return{x:10,y:9};case Co.Facade10:return{x:12,y:9};default:return{x:1,y:1}}},et=m.useMemo(()=>new tf().load(f?Qe(f[0]):Q1,Cn=>{const yn=Oe(f[0]);Cn.repeat.set(r/yn.x,a/yn.y),Cn.rotation=Vt,Cn.center.x=1,Cn.center.y=0,Cn.wrapS=Cn.wrapT=Ss,ct(Cn)}),[f[0],r,a]),[vt,ct]=m.useState(et),lt=m.useMemo(()=>new tf().load(f?Qe(f[1]):Q1,Cn=>{const yn=Oe(f[1]);Cn.repeat.set(r/yn.x,a/yn.y),Cn.rotation=-Vt,Cn.wrapS=Cn.wrapT=Ss,it(Cn)}),[f[1],r,a]),[tt,it]=m.useState(lt),At=m.useMemo(()=>new tf().load(f?Qe(f[2]):Q1,Cn=>{const yn=Oe(f[2]);Cn.repeat.set(i/yn.x,a/yn.y),Cn.rotation=Math.PI,Cn.center.x=0,Cn.center.y=1,Cn.wrapS=Cn.wrapT=Ss,st(Cn)}),[f[2],i,a]),[Mt,st]=m.useState(At),ft=m.useMemo(()=>new tf().load(f?Qe(f[3]):Q1,Cn=>{const yn=Oe(f[3]);Cn.repeat.set(i/yn.x,a/yn.y),Cn.wrapS=Cn.wrapT=Ss,zt(Cn)}),[f[3],i,a]),[Rt,zt]=m.useState(ft),Xe=m.useMemo(()=>new tf().load(f?Qe(f[4]):Q1,Cn=>{const yn=Oe(f[4]);Cn.repeat.set(i/yn.x,r/yn.y),Cn.wrapS=Cn.wrapT=Ss,Je(Cn)}),[f[4],i,r]),[ht,Je]=m.useState(Xe);m.useEffect(()=>{Zh()},[f]);const mt=Cn=>{switch(Cn){case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:return!0}return!1},Ge=Cn=>{switch(Cn){case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:case z.Human:case z.Tree:case z.Flower:return!0}return!1},xt=Cn=>{ge.current=Cn;const yn=.01;be.isSame(ge.current,Po)?(ye(new ae(0,0,ut+yn)),Te.current=new Qt(0,0,0),Ie.current.set(je,at,ut)):be.isSame(ge.current,Np)?(ye(new ae(je+yn,0,0)),Te.current=new Qt(0,Vt,0),Ie.current.set(ut,at,je)):be.isSame(ge.current,Up)?(ye(new ae(-je-yn,0,0)),Te.current=new Qt(0,-Vt,0),Ie.current.set(ut,at,je)):be.isSame(ge.current,Bp)?(ye(new ae(0,-at-yn,0)),Te.current=new Qt(Vt,0,0),Ie.current.set(je,ut,at)):be.isSame(ge.current,Yc)&&(ye(new ae(0,at+yn,0)),Te.current=new Qt(-Vt,0,0),Ie.current.set(je,ut,at))},It=Math.max(1,Math.max(i,r)/8),Tt=Af*It,Dt=Cn=>{var Do,ni;const yn=Cn.intersections[0];if(M.getState().objectTypeToAdd===z.SolarPanel){const Fo=yn.point,{pos:bo,rot:Ro}=be.getWorldDataById(e),oi=new ae().subVectors(Fo,bo).applyEuler(new Qt(0,0,-Ro)),go=rl.makeSolarPanel(t,M.getState().getPvModule(M.getState().actionState.solarPanelModelName??"SPR-X21-335-BLK"),oi.x/i,oi.y/r,oi.z/a,M.getState().actionState.solarPanelOrientation??ci.landscape,M.getState().actionState.solarPanelPoleHeight??1,M.getState().actionState.solarPanelPoleSpacing??3,M.getState().actionState.solarPanelTiltAngle??0,M.getState().actionState.solarPanelRelativeAzimuth??0,(Do=yn.face)==null?void 0:Do.normal,[0,0,0],M.getState().actionState.solarPanelFrameColor??"white");return y(So=>{So.elements.push(go)}),go}else return v(t,yn.point,(ni=yn.face)==null?void 0:ni.normal)},Lt=Cn=>{if(Cn.button===2)return;W()||D(e,Cn,zo.Select);const yn=b();let to=!1;if(Cn.intersections[0].object.name===z.Polygon&&M.getState().objectTypeToAdd!==z.None&&(to=!0),(yn==null?void 0:yn.id)===e||to)if(Ge(M.getState().objectTypeToAdd)&&t){Re(!0);const Do=Dt(Cn);if(Do){const ni={name:"Add",timestamp:Date.now(),addedElement:Do,undo:()=>{S(ni.addedElement.id,!1)},redo:()=>{y(Fo=>{Fo.elements.push(ni.addedElement),Fo.selectedElement=ni.addedElement})}};F(ni),y(Fo=>{Fo.objectTypeToAdd=z.None})}}else Ln.getState().selectNone(),Ln.setState({cuboidRef:ze});else if(yn&&yn.parentId===e&&mt(yn.type)){Re(!0);const{rot:Do,pos:ni}=be.getWorldDataById(e);Ye.current.copy(ni),St.current=Do,re.current=yn;let Fo;for(const bo of Cn.intersections)if(bo.object===Ae.current){Fo=bo.face;break}switch(Fo&&xt(Fo.normal),Ln.getState().setEnableOrbitController(!1),Ce.current.x=yn.cx,Ce.current.y=yn.cy,Ce.current.z=yn.cz,Ue.current.fromArray(yn.normal),Le.current.x=yn.lx,Le.current.y=yn.ly,Le.current.z=yn.lz,yn.type){case z.SolarPanel:We.current=yn.relativeAzimuth,gt.getState().setPrimitiveStore("oldParentId",e),gt.getState().setPrimitiveStore("oldFoundationId",e);break;case z.Polygon:Fe.current=yn.vertices.map(bo=>({...bo}));break}}},Et=Cn=>{var Ro,oi;if(!Ae.current)return;const yn=$.intersectObjects([Ae.current]);if(yn.length===0)return;const to=yn[0].face;if(!to)return;const Do=nf.getIntersectionObjects(Cn);if(Do.length===0||Do[0].eventObject.userData.id!==e){vi(!1),re.current=null;return}const ni=M.getState().selectedElement;if(!!(ni&&!ni.locked&&ni.type===z.SolarPanel&&M.getState().moveHandleType)&&(re.current=ni),to.normal.z===1&&((Ro=re.current)==null?void 0:Ro.type)!==z.Polygon){const go=!!(((oi=re.current)==null?void 0:oi.type)===z.SolarPanel&&(M.getState().moveHandleType||M.getState().rotateHandleType||M.getState().resizeHandleType)&&!re.current.locked);vi(go),go&&(wt.set(0,0,re.current.poleHeight+a/2),xt(new ae(0,0,1)),Re(!0));return}else if(vi(!1),re.current&&t&&!re.current.locked){const go=new Gt(Cn.offsetX/ee.clientWidth*2-1,1-Cn.offsetY/ee.clientHeight*2);$.setFromCamera(go,Q);let So=yn[0].point;if(M.getState().moveHandleType){const Uo=to.normal;if(xt(Uo),So=be.relativeCoordinates(So.x,So.y,So.z,t),re.current.type===z.Polygon){const _i=re.current;if(M.getState().moveHandleType===yo.Default){const Qo=be.calculatePolygonCentroid(Fe.current),ar=new ae().fromArray(_i.normal);let ur,$o;be.isSame(ar,Np)?(ur=-(Qo.x+So.z),$o=So.y-Qo.y):be.isSame(ar,Up)?(ur=So.z-Qo.x,$o=So.y-Qo.y):be.isSame(ar,Yc)?(ur=So.x-Qo.x,$o=-(Qo.y+So.z)):be.isSame(ar,Bp)?(ur=So.x-Qo.x,$o=So.z-Qo.y):(ur=So.x-Qo.x,$o=So.y-Qo.y);const ba=Fe.current.map(Mo=>({...Mo}));ba.forEach(Mo=>{Mo.x+=ur,Mo.y+=$o}),B(_i.id,ba)}}else P(re.current.id,So.x,So.y,So.z),H(re.current.id,Uo.x,Uo.y,Uo.z),re.current.parentId!==e&&M.getState().set(_i=>{const Qo=_i.elements.find(ar=>{var ur;return ar.id===((ur=re.current)==null?void 0:ur.id)&&ar.type===z.SolarPanel});Qo&&(Qo.parentId!==e||Qo.foundationId!==e)&&(Qo.parentId=e,Qo.foundationId=e,Qo.parentType=z.Cuboid,_i.selectedElement&&(_i.selectedElement.parentId=e,Qo.color=_i.selectedElement.color))})}else if(M.getState().resizeHandleType)switch(re.current.type){case z.SolarPanel:const Uo=re.current;if(Uo.normal[2]===1)break;const[_i,Qo]=zqe(Uo),ar=M.getState().resizeAnchor,ur=M.getState().resizeHandleType;if(ur===yt.Lower||ur===yt.Upper){const ba=Math.max(1,Math.round(Math.abs(So.z-ar.z)/Qo))*Qo,Mo=new ae(0,0,So.z-ar.z).normalize().multiplyScalar(ba),$i=new ae().addVectors(ar,Mo.clone().divideScalar(2));y(Za=>{const ti=Za.elements.find(ui=>ui.id===Uo.id);ti&&(ti.cz=($i.z-Ye.current.z)/a,ti.ly=Math.abs(Mo.z))})}else if(ur===yt.Left||ur===yt.Right){const $o=new ae().subVectors(So,ar).setZ(0),Mo=Math.max(1,Math.round($o.length()/_i))*_i,$i=$o.clone().normalize().multiplyScalar(Mo),Za=new ae().addVectors(ar,$i.clone().divideScalar(2)),ti=new ae().subVectors(Za,Ye.current).applyEuler(new Qt(0,0,-St.current));y(ui=>{const Fr=ui.elements.find(Oa=>Oa.id===Uo.id);Fr&&(Math.abs(Math.abs(Fr.normal[1])-1)<.01?Fr.cx=ti.x/i:Fr.cy=ti.y/r,Fr.lx=$i.length())})}break;case z.Polygon:if(M.getState().resizeHandleType===yt.Default){let $o=new ae(So.x-Ye.current.x,So.y-Ye.current.y,0).applyEuler(new Qt(0,0,-St.current,"ZXY"));const ba=re.current,Mo=new ae().fromArray(ba.normal);let $i,Za;be.isSame(Mo,Np)?($i=t.lz,Za=t.ly,$o.x=-So.z+Ye.current.z):be.isSame(Mo,Up)?($i=t.lz,Za=t.ly,$o.x=So.z-Ye.current.z):be.isSame(Mo,Yc)?($i=t.lx,Za=t.lz,$o.y=-So.z+Ye.current.z):be.isSame(Mo,Bp)?($i=t.lx,Za=t.lz,$o.y=So.z-Ye.current.z):($i=t.lx,Za=t.ly),$o=M.getState().enableFineGrid?be.snapToFineGrid($o):be.snapToNormalGrid($o),$o.x/=$i,$o.y/=Za,k(ba.id,ba.selectedIndex,$o.x,$o.y)}break}Re(!0)}},an=Cn=>{if(ot.current&&re.current&&t){if(re.current.type!==z.SolarPanel)return;const yn=re.current;if(yn.locked)return;$.setFromCamera(q,Q);const to=$.intersectObjects([ot.current]);if(to.length>0){let Do=to[0].point.clone();if(M.getState().moveHandleType)Do=be.relativeCoordinates(Do.x,Do.y,Do.z-yn.poleHeight,t),P(yn.id,Do.x,Do.y,Do.z),H(re.current.id,0,0,1),re.current.parentId!==e&&M.getState().set(ni=>{const Fo=ni.elements.find(bo=>{var Ro;return bo.id===((Ro=re.current)==null?void 0:Ro.id)&&bo.type===z.SolarPanel});Fo&&(Fo.parentId!==e||Fo.foundationId!==e)&&(Fo.parentId=e,Fo.foundationId=e,Fo.parentType=z.Cuboid,ni.selectedElement&&(ni.selectedElement.parentId=e,Fo.color=ni.selectedElement.color))});else if(M.getState().rotateHandleType&&M.getState().rotateHandleType!==wi.Tilt){const ni=St.current,Fo=new Gt(Ye.current.x,Ye.current.y),bo=new Gt(t.lx*yn.cx,t.ly*yn.cy).rotateAround(wr,ni),Ro=new Gt().addVectors(bo,Fo),oi=-ni+Math.atan2(-Do.x+Ro.x,Do.y-Ro.y)+(M.getState().rotateHandleType===wi.Lower?0:Math.PI),go=Math.abs(oi)>Math.PI?-Math.sign(oi)*na:0,So=oi+go;E(yn.id,So),De.current=So}else if(M.getState().resizeHandleType){const ni=M.getState().resizeAnchor,Fo=L(yn.pvModelName),bo=new Gt(Do.x,Do.y),Ro=new Gt(ni.x,ni.y),oi=bo.distanceTo(Ro),go=yn.relativeAzimuth+St.current,So=new Gt().subVectors(bo,Ro);switch(M.getState().resizeHandleType){case yt.Lower:case yt.Upper:{const Uo=M.getState().resizeHandleType===yt.Lower?1:-1,_i=So.angle()-go+Uo*Vt;let Qo=oi*Math.cos(_i);yn.orientation===ci.portrait?Qo=Math.max(1,Math.ceil((Qo-Fo.length/2)/Fo.length))*Fo.length:Qo=Math.max(1,Math.ceil((Qo-Fo.width/2)/Fo.width))*Fo.width;const ar=ni.x+Uo*(Qo*Math.sin(go))/2,ur=ni.y-Uo*(Qo*Math.cos(go))/2,$o=new Gt(ar,ur),ba=new Gt(Ye.current.x,Ye.current.y),Mo=new Gt().subVectors($o,ba).rotateAround(wr,-St.current),$i=Mo.x/i,Za=Mo.y/r;cn(yn,$i,Za,yn.lx,Qo)&&(T(yn.id,Qo),P(yn.id,$i,Za))}break;case yt.Left:case yt.Right:{let Uo=M.getState().resizeHandleType===yt.Left?-1:1;const _i=So.angle()-go+(M.getState().resizeHandleType===yt.Left?Math.PI:0);let Qo=oi*Math.cos(_i);yn.orientation===ci.portrait?Qo=Math.max(1,Math.ceil((Qo-Fo.width/2)/Fo.width))*Fo.width:Qo=Math.max(1,Math.ceil((Qo-Fo.length/2)/Fo.length))*Fo.length;const ar=ni.x+Uo*(Qo*Math.cos(go))/2,ur=ni.y+Uo*(Qo*Math.sin(go))/2,$o=new Gt(ar,ur),ba=new Gt(Ye.current.x,Ye.current.y),Mo=new Gt().subVectors($o,ba).rotateAround(wr,-St.current),$i=Mo.x/i,Za=Mo.y/r;cn(yn,$i,Za,Qo,yn.ly)&&(w(yn.id,Qo),P(yn.id,$i,Za))}break}}}}},Jt=(Cn,yn,to)=>{const Do=JSON.parse(JSON.stringify(Cn));return Do.cx=yn,Do.cy=to,N(Do)?(Lo(O.t("message.MoveCancelledBecauseOfOverlap",dt)),!1):be.isIdentical(Cn.normal,o0)&&!be.isSolarCollectorWithinHorizontalSurface(Do,t)?(Lo(O.t("message.MoveOutsideBoundaryCancelled",dt)),!1):!0},hn=(Cn,yn)=>{const to=JSON.parse(JSON.stringify(Cn));return to.relativeAzimuth=yn,N(to)?(Lo(O.t("message.RotationCancelledBecauseOfOverlap",dt)),!1):be.isSolarCollectorWithinHorizontalSurface(to,t)?!0:(Lo(O.t("message.RotationOutsideBoundaryCancelled",dt)),!1)},cn=(Cn,yn,to,Do,ni)=>{if(Cn.tiltAngle!==0&&.5*ni*Math.abs(Math.sin(Cn.tiltAngle))>Cn.poleHeight)return!1;const Fo=JSON.parse(JSON.stringify(Cn));return Fo.cx=yn,Fo.cy=to,Fo.lx=Do,Fo.ly=ni,!!be.isSolarCollectorWithinHorizontalSurface(Fo,t)},Sn=()=>{if(!re.current)return;const Cn=C(re.current.id);if(Cn){if(Cn.type===z.Polygon){if(M.getState().moveHandleType||M.getState().resizeHandleType){_e.current=Cn.vertices.map(to=>({...to}));const yn={name:M.getState().moveHandleType?"Move Polygon":"Resize Polygon",timestamp:Date.now(),oldValue:Fe.current,newValue:_e.current,changedElementId:Cn.id,changedElementType:Cn.type,undo:()=>{B(yn.changedElementId,yn.oldValue)},redo:()=>{B(yn.changedElementId,yn.newValue)}};F(yn)}}else if(M.getState().resizeHandleType){if(Ee.current.x=Cn.cx,Ee.current.y=Cn.cy,Ee.current.z=Cn.cz,qe.current.x=Cn.lx,qe.current.y=Cn.ly,qe.current.z=Cn.lz,Ee.current.distanceToSquared(Ce.current)>kt&&qe.current.distanceToSquared(Le.current)>kt){const yn={name:"Resize",timestamp:Date.now(),resizedElementId:re.current.id,resizedElementType:re.current.type,oldCx:Ce.current.x,oldCy:Ce.current.y,oldCz:Ce.current.z,newCx:Ee.current.x,newCy:Ee.current.y,newCz:Ee.current.z,oldLx:Le.current.x,oldLy:Le.current.y,oldLz:Le.current.z,newLx:qe.current.x,newLy:qe.current.y,newLz:qe.current.z,undo:()=>{P(yn.resizedElementId,yn.oldCx,yn.oldCy,yn.oldCz),R(yn.resizedElementId,yn.oldLx,yn.oldLy,yn.oldLz)},redo:()=>{P(yn.resizedElementId,yn.newCx,yn.newCy,yn.newCz),R(yn.resizedElementId,yn.newLx,yn.newLy,yn.newLz)}};F(yn)}}else if(M.getState().rotateHandleType){if(re.current.type===z.SolarPanel){const yn=re.current;if(Math.abs(De.current-We.current)>kt)if(hn(yn,De.current)){y(Do=>{Do.selectedElementAngle=De.current});const to={name:"Rotate",timestamp:Date.now(),oldValue:We.current,newValue:De.current,changedElementId:yn.id,changedElementType:yn.type,undo:()=>{E(to.changedElementId,to.oldValue)},redo:()=>{E(to.changedElementId,to.newValue)}};F(to)}else E(yn.id,We.current)}}else if(Ee.current.x=Cn.cx,Ee.current.y=Cn.cy,Ee.current.z=Cn.cz,Ne.current.fromArray(Cn.normal),Ee.current.distanceToSquared(Ce.current)>kt){let yn=!0;Cn.type===z.SolarPanel&&(yn=Jt(Cn,Cn.cx,Cn.cy)),yn?nf.addUndoableMove():y(to=>{const Do=to.elements.find(Ro=>Ro.id===Cn.id);if(!Do||!to.selectedElement)return;const ni=to.selectedElement;Do.cx=ni.cx,Do.cy=ni.cy,Do.cz=ni.cz,Do.rotation=[...ni.rotation],Do.normal=[...ni.normal];const Fo=gt.getState().oldParentId,bo=gt.getState().oldFoundationId;Fo&&(Do.parentId=Fo),bo&&(Do.foundationId=bo)})}re.current=null}},Pn=Cn=>{Cn.intersections.length>0&&Cn.intersections[0].object===Ae.current&&Pe(!0)},Un=Cn=>{re.current&&be.isPlantOrHuman(re.current)&&Cn.intersections[0].object===Ae.current&&Re(!0)},Ai=()=>{Pe(!1),Re(!1)},vo=Cn=>{D(e,Cn,zo.ContextMenu),y(yn=>{yn.pastePoint.copy(Cn.intersections[0].point);const to=Cn.intersections[0].face;to&&(yn.pasteNormal=to.normal.clone(),be.isSame(to.normal,Np)?yn.selectedSideIndex=0:be.isSame(to.normal,Up)?yn.selectedSideIndex=1:be.isSame(to.normal,Yc)?yn.selectedSideIndex=2:be.isSame(to.normal,Bp)?yn.selectedSideIndex=3:be.isSame(to.normal,Po)&&(yn.selectedSideIndex=4)),yn.clickObjectType=z.Cuboid,Cn.intersections.length>0&&Cn.intersections[0].object===Ae.current&&(yn.contextMenuObjectType=z.Cuboid)})},Oo=J?x?.25:.75:1,li=[0,1,2,3,4,5],po=[j&&oe?oe:vt,j&&fe?fe:tt,j&&Z?Z:Mt,j&&pe?pe:Rt,j&&le?le:ht,null],eo=t&&t.faceColors?li.map(Cn=>f&&f[Cn]!==Co.NoTexture?j?h.jsx("meshBasicMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:x&&J,opacity:Oo},Cn):h.jsx("meshStandardMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:x&&J,opacity:Oo},Cn):j?h.jsx("meshBasicMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:x&&J,opacity:Oo},Cn):h.jsx("meshStandardMaterial",{side:ia,attach:`material-${Cn}`,color:t.faceColors?t.faceColors[Cn]:l,map:po[Cn],transparent:x&&J,opacity:Oo},Cn)):h.jsx("meshStandardMaterial",{side:ia,color:l,transparent:x&&J,opacity:Oo}),uo=m.useMemo(()=>[je,at,ut],[je,at,ut]),qo=g&&!u,[Hi,vi]=m.useState(!1);return h.jsxs("group",{ref:ze,name:"Cuboid Group "+e,children:[h.jsx(Ei,{castShadow:U,receiveShadow:U,userData:{simulation:!0,stand:!0,stackable:p,id:e,aabb:!0},uuid:e,ref:Ae,args:[i,r,a],name:"Cuboid "+e,onContextMenu:vo,onPointerDown:Lt,onPointerMove:Et,onPointerUp:Sn,onPointerOver:Pn,onPointerOut:Ai,onPointerEnter:Un,children:eo}),Hi&&h.jsx(sa,{ref:ot,name:"Intersection Plane",position:wt,args:[i,r],visible:!1,onPointerMove:an}),me&&h.jsxs(h.Fragment,{children:[(M.getState().moveHandleType||M.getState().resizeHandleType)&&h.jsx(mge,{hx:Ie.current.x,hy:Ie.current.y,hz:Ie.current.z,position:we,rotation:Te.current}),M.getState().rotateHandleType&&re.current&&re.current.type===z.SolarPanel&&h.jsx(uye,{element:re.current,height:re.current.poleHeight+ut})]}),g&&h.jsx(dye,{element:t,verticalLift:Tt}),(!g||J)&&h.jsx(s7,{hx:je,hy:at,hz:ut,lineColor:J&&x?"white":s,lineWidth:J&&x?c*5:c}),g&&u&&h.jsx(s7,{hx:je,hy:at,hz:ut,lineColor:l0,lineWidth:c*5}),qo&&h.jsx(BQt,{id:e,args:uo}),(ve||d)&&!g&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:rt,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,fontFace:"Roboto",textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,ut+((t==null?void 0:t.labelHeight)??.2)]})]})},YQt=Se.memo(jQt),Cre="Handle Group Move & Resize",OQt=t=>{const{id:e,parentId:n,cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,normal:c,locked:u,trackerType:d,tiltAngle:f,relativeAzimuth:p,poleHeight:g,poleRadius:y,poleSpacing:A,color:x="white"}=t,C=Hs(e),b=Eqe(c),v=l/2,S=b?g:0,w=Math.max(1,(a+l)/16),T=w*2/3,P=w*2/3,R=-g/2-s/2,H=M(dn),D=M(rge),E=M(En),L=M(Ya),U=M(Xs),{gl:{domElement:F},camera:W,raycaster:B,mouse:k}=Xi(),[N,j]=m.useState(null),[Y,_]=m.useState(!1),J=m.useRef(!1),Q=m.useRef(0),ee=m.useRef(0),$=m.useRef(null),q=m.useRef(null),le=m.useMemo(()=>new Array(13).fill(0),[]),ie=m.useMemo(()=>new Date(L),[L]),pe=m.useMemo(()=>{const Pe=[],me=Math.floor(.5*a/A),Re=Math.floor(.5*l*Math.abs(Math.cos(f))/A),ze=.5*Math.sin(f),Ae=Math.cos(p)*A,re=Math.sin(p)*A;for(let ge=-me;ge<=me;ge++)for(let we=-Re;we<=Re;we++){const ye=ge*Ae-we*re,Te=ge*re+we*Ae;Pe.push(new ae(ye,Te,R+ze*A*we))}return Pe},[p,f,A,a,l,R]),ne=m.useMemo(()=>Aye(c),[c]),Z=m.useMemo(()=>{if(b){if(d===Ma.NO_TRACKER)return new Qt(f,0,p,"ZXY");const Pe=zr(ie,U),me=kqe(n,ne.z)-ne.z;switch(d){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:const Re=Math.hypot(Pe.x,Pe.y);return new Qt(Math.atan2(Re,Pe.z),0,Math.atan2(Pe.y,Pe.x)+Vt-me,"ZXY");case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:return new Qt(0,Math.atan2(Pe.x,Pe.z),-me+(a.1,se=S>0&&b;m.useEffect(()=>{const Pe=()=>{Ln.getState().setEnableOrbitController(!0),J.current=!1,_(!1),(M.getState().rotateHandleType||M.getState().moveHandleType||M.getState().resizeHandleType)&&H(me=>{me.rotateHandleType=null,me.moveHandleType=null,me.resizeHandleType=null})};return window.addEventListener("pointerup",Pe),()=>{window.removeEventListener("pointerup",Pe)}},[]);const oe=(Pe,me)=>{Pe.intersections.length>0&&Pe.intersections[0].object===Pe.eventObject&&(j(me),me===yo.Top?F.style.cursor="move":me===wi.Lower||me===wi.Upper||me===wi.Tilt?F.style.cursor="grab":F.style.cursor="pointer")},de=()=>{j(null),F.style.cursor="default"},ve=Pe=>N===Pe||M.getState().rotateHandleType===Pe?nr:pr;return h.jsxs("group",{name:"Solar Panel Group",position:[o,i,S+r],rotation:ne,children:[h.jsx(_Qt,{solarPanelModel:t,groupRotation:ne,panelRotation:Z}),he&&h.jsxs("group",{position:[0,0,-S],rotation:[0,0,Z.z],children:[h.jsx(l7,{id:e,position:[0,-v-T/2,S],color:ve(wi.Upper),ratio:T,handleType:wi.Upper,hoverHandle:oe,noHoverHandle:de}),h.jsx(l7,{id:e,position:[0,v+T/2,S],color:ve(wi.Lower),ratio:T,handleType:wi.Lower,hoverHandle:oe,noHoverHandle:de})]}),fe&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[P,1.1*P,18,2,-Vt,Math.PI],rotation:[0,-Vt,Z.z,"ZXY"],onPointerOver:Pe=>{oe(Pe,wi.Tilt)},onPointerOut:Pe=>{de()},onPointerDown:Pe=>{if(_(!0),N){Ln.getState().setEnableOrbitController(!1),J.current=!0,Q.current=f;const{rot:me}=be.getWorldDataById(n);$.current=me}H(me=>{me.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:N===wi.Tilt||Y?nr:pr})}),Y&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:q,name:"Solar panel tilt handle",args:[P,2*P,18,2,-Vt,Math.PI],rotation:[0,-Vt,Z.z,"ZXY"],onPointerUp:Pe=>{if(Math.abs(ee.current-Q.current)>kt){const me={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Q.current,newValue:ee.current,changedElementId:e,changedElementType:z.SolarPanel,undo:()=>{D(me.changedElementId,me.oldValue)},redo:()=>{D(me.changedElementId,me.newValue)}};E(me)}},onPointerMove:Pe=>{if(J.current&&(B.setFromCamera(k,W),q.current)){const me=B.intersectObjects([q.current]);if(me.length>0){const Re=me[0].point,ze=q.current.parent;if(ze){const Ae=ze.localToWorld(new ae),re=new ae().subVectors(Re,Ae);let ge=re.angleTo(Po);if(!(.5*l*Math.abs(Math.sin(ge))>S)){const ye=p+($.current??0),Te=ye%Math.PI===0?Math.sign(-re.y)*Math.sign(Math.cos(ye)):Math.sign(re.x)*Math.sign(Math.sin(ye));ge*=Te,D(e,ge),ee.current=ge}}}}},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,P],[0,0,1.75*P]],rotation:new Qt(f,0,Z.z,"ZXY"),lineWidth:1}),le.map((Pe,me)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*me-Vt,0,Z.z,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*P],[0,0,2*P]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${me*15-90}°`,fontSize:20*P,fontFace:"Times Roman",textHeight:.15*P,position:[0,0,1.6*P]})]},me)),h.jsx("group",{rotation:new Qt(f,0,Z.z,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(f/Math.PI*180)}°`,fontSize:20*P,fontFace:"Times Roman",textHeight:.2*P,position:[0,0,.75*P]})})]})]}),se&&pe.map((Pe,me)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+me,castShadow:!1,receiveShadow:!1,args:[y,y,g+(Pe.z-R)*2+s,4,1],position:Pe,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:x})},me))]})},_Qt=({solarPanelModel:t,groupRotation:e,panelRotation:n})=>{let{id:o,parentId:i,lx:r,ly:a,lz:l,cx:s,cy:c,cz:u,normal:d,tiltAngle:f,relativeAzimuth:p,trackerType:g,drawSunBeam:y,locked:A,showLabel:x,label:C,pvModelName:b,orientation:v,frameColor:S,backsheetColor:w,color:T,poleHeight:P}=t;const R=Hs(o),H=M(dn),D=M(Vc),E=M(Ya),L=M(Xs),U=M(yh),F=M(Sc),W=gt(cs),B=M(C7),k=M(pq),N=M(hu)??!1,j=m.useMemo(()=>({lng:F}),[F]),Y=Eqe(d),_=Y?f:0,J=Y?p:0,Q=Math.max(1,(r+a)/16),ee=I9*Q*1.5,$=Af*Q*2,[q,le,ie]=[r,a,l].map(Ne=>Ne/2),pe=[ee,ee,l*1.2],ne=B[b];ne&&(l=Math.max(ne.thickness,.02));const Z=m.useMemo(()=>new Date(E),[E]),he=m.useMemo(()=>(C||O.t("shared.SolarPanelElement",j))+(A?" ("+O.t("shared.ElementLocked",j)+")":"")+(C?"":` -`+O.t("word.Coordinates",j)+": ("+s.toFixed(1)+", "+c.toFixed(1)+", "+u.toFixed(1)+") "+O.t("word.MeterAbbreviation",j)),[C,A,j,s,c,u]),fe=m.useMemo(()=>{const Ne=[];if(ne){let Le,qe;v===ci.portrait?(Le=Math.max(1,Math.round(r/ne.width)),qe=Math.max(1,Math.round(a/ne.length))):(Le=Math.max(1,Math.round(r/ne.length)),qe=Math.max(1,Math.round(a/ne.width)));const We=r/Le,De=a/qe;for(let Fe=0;Fe<=Le;Fe++)Ne.push({points:[new ae(-q+Fe*We,-le,l),new ae(-q+Fe*We,le,l)]});for(let Fe=0;Fe<=qe;Fe++)Ne.push({points:[new ae(-q,-le+Fe*De,l),new ae(q,-le+Fe*De,l)]})}return Ne},[ne,v,b,r,a,l]),[se,oe]=m.useState(ge()),[de,ve]=m.useState(!1),[Pe,me]=m.useState(null),Re=m.useRef(null),{gl:ze}=Xi(),Ae=iQ(r,a,ne,v,S,w),re=oQ(o);rA(()=>{const Ne=ge();Ne.equals(se)||oe(Ne)});function ge(){const Ne=new Qt,Le=kqe(i,e.z);return g===Ma.NO_TRACKER?Ne.set(-e.x-_,0,-Le-J):Ne.set(-e.x-n.x,-n.y,-Le-n.z),zr(Z,L).applyEuler(Ne)}function we(Ne){return Pe===Ne||U===Ne?nr:pr}function ye(Ne){if(Ne.intersections.length>0&&Ne.eventObject.name.includes(Cre)){const qe=Ne.object.name;me(qe),qe===yo.Top?ze.domElement.style.cursor="move":qe===wi.Lower||qe===wi.Upper||qe===wi.Tilt?ze.domElement.style.cursor="grab":ze.domElement.style.cursor="pointer"}}function Te(){me(null),ze.domElement.style.cursor="default"}function Ie(Ne,Le){Ln.getState().setEnableOrbitController(!1),H(qe=>{qe.resizeHandleType=Ne,qe.resizeAnchor.copy(Le)})}function Ce(Ne){if(Ne.intersections.length>0&&Ne.intersections[0].eventObject.name===Cre){const Le=Ne.object.name;switch(Le){case yo.Default:{Ln.getState().setEnableOrbitController(!1),H(qe=>{qe.moveHandleType=Le,qe.selectedElement=qe.elements.find(We=>{var De;return We.id===((De=qe.selectedElement)==null?void 0:De.id)})});break}case yt.Left:{const qe=Ne.object.localToWorld(new ae(r,0,0));Ie(Le,qe);break}case yt.Right:{const qe=Ne.object.localToWorld(new ae(-r,0,0));Ie(Le,qe);break}case yt.Lower:{const qe=Ne.object.localToWorld(new ae(0,a,0));Ie(Le,qe);break}case yt.Upper:{const qe=Ne.object.localToWorld(new ae(0,-a,0));Ie(Le,qe);break}}}}function Ee(){return W&&re?h.jsx("meshBasicMaterial",{attach:"material-4",map:re}):Ae?N||k===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Ae,color:T}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((ne==null?void 0:ne.color)==="Blue"?Kw:qw),shininess:k??Xm,side:ia,map:Ae,color:T}):h.jsx("meshStandardMaterial",{attach:"material-4",color:T})}function Ue(){return(ne==null?void 0:ne.bifacialityFactor)===0||N||P===0&&f===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:T}):Ae?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((ne==null?void 0:ne.color)==="Blue"?Kw:qw),shininess:k??Xm,side:ia,map:Ae,color:T}):null}return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Solar Panel Box Group",rotation:n,children:[h.jsxs(Ei,{uuid:o,ref:Re,args:[r,a,l],position:[0,0,ie],onPointerDown:Ne=>{Ne.button!==2&&D(o,Ne,zo.Select)},onContextMenu:Ne=>{D(o,Ne,zo.ContextMenu),H(Le=>{Ne.intersections.length>0&&Ne.intersections[0].object===Re.current&&(Le.contextMenuObjectType=z.SolarPanel)})},onPointerOver:Ne=>{Ne.intersections.length>0&&Ne.intersections[0].object===Re.current&&(ve(!0),ze.domElement.style.cursor="move")},onPointerOut:Ne=>{ve(!1),ze.domElement.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-1",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-2",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-3",color:"white"}),Ee(),Ue()]}),R&&!A&&h.jsxs("group",{name:Cre,onPointerDown:Ce,onPointerOver:ye,onPointerOut:Te,children:[h.jsx(ts,{args:[$,6,6],name:yo.Default,children:h.jsx("meshBasicMaterial",{color:"orange"})}),h.jsx(Ei,{position:[0,-le,ie],args:pe,name:yt.Lower,children:h.jsx("meshBasicMaterial",{color:we(yt.Lower)})}),h.jsx(Ei,{position:[0,le,ie],args:pe,name:yt.Upper,children:h.jsx("meshBasicMaterial",{color:we(yt.Upper)})}),h.jsx(Ei,{position:[-q,0,ie],args:pe,name:yt.Left,children:h.jsx("meshBasicMaterial",{color:we(yt.Left)})}),h.jsx(Ei,{position:[q,0,ie],args:pe,name:yt.Right,children:h.jsx("meshBasicMaterial",{color:we(yt.Right)})})]}),y&&se.z>0&&h.jsx(VQt,{sunDirection:se}),W&&re&&fe.map((Ne,Le)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:Ne.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Le)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:o,args:[r,a],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),R&&A&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-le,0],[-q,le,0],[q,le,0],[q,-le,0],[-q,-le,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0})]}),(de||x)&&!R&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:he,color:t.labelColor??"white",fontSize:t.labelFontSize??20,textHeight:t.labelSize??.2,position:[0,0,t.labelHeight??Math.max(le*Math.abs(Math.sin(f))+.1,.2)]})]})},VQt=Se.memo(({sunDirection:t})=>{const e=M(mh),n=m.useMemo(()=>Math.max(100,10*e),[e]);return h.jsxs("group",{name:"Sun Beam Group",children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[Po.clone().multiplyScalar(.75),[0,0,0],t.clone().multiplyScalar(n)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[t.clone().multiplyScalar(.5),Po.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:be.toDegrees(t.angleTo(Po)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:t.clone().multiplyScalar(.75).add(Po.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:Po.clone().multiplyScalar(.75),rotation:[Vt,0,0],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})});function Aye(t){const[e,n,o]=t;return o===1?new Qt(0,0,0):e!==0?new Qt(Vt,0,e*Vt,"ZXY"):n!==0?new Qt(-n*Vt,0,0):new Qt}function Eqe(t){return Math.abs(t[2]-1)<.01}function kqe(t,e){const{rot:n}=be.getWorldDataById(t);return n+e}const GQt=Se.memo(OQt),Fqe=Se.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r=1,ly:a=1,lz:l=.1,rotation:s=[0,0,0],normal:c=[0,0,1],color:u="white",lineColor:d="black",lineWidth:f=.1,locked:p=!1,label:g,showLabel:y=!1,parentId:A,foundationId:x,light:C=!0,heatFlux:b=!1}=t,v=M(dn),S=M(ss),w=M(Vc),T=Hs(e),{gl:{domElement:P}}=Xi(),[R,H]=m.useState(!1),D=m.useRef(null),E=m.useRef(null),L=Kt(),U=M(_=>{for(const J of _.elements)if(J.id===A)return J}),F=M(_=>{for(const J of _.elements)if(J.id===x)return J});let W=n,B=o,k=i;if(A&&U)switch(U.type){case z.Foundation:{if(k=U.cz+U.lz/2,be.isZero(s[2]))W=U.cx+n*U.lx,B=U.cy+o*U.ly;else{const _=new ae(n*U.lx,o*U.ly,0);_.applyAxisAngle(Po,s[2]),W=U.cx+_.x,B=U.cy+_.y}break}case z.Wall:{if((F==null?void 0:F.type)===z.Foundation){const _=be.absoluteCoordinates(n,o,i,U,F);W=_.x,B=_.y,k=_.z}break}case z.Roof:{if((F==null?void 0:F.type)===z.Foundation){const _=be.absoluteCoordinates(n,o,i,U,F);W=_.x,B=_.y,k=_.z}break}}const N=l/2,j=m.useMemo(()=>{if((U==null?void 0:U.type)===z.Wall){const J=U,Q=F?F.rotation[2]+J.relativeAngle:J.relativeAngle;return new Qt(Vt,0,Q,"ZXY")}if((U==null?void 0:U.type)===z.Roof)return new Qt(s[0],s[1],F?F.rotation[2]+s[2]:s[2],"ZXY");if((U==null?void 0:U.type)===z.Cuboid)return Aye(c);const _=new ae().fromArray(c);return be.isSame(_,Np)?new Qt(0,Vt,s[2],"ZXY"):be.isSame(_,Up)?new Qt(0,-Vt,s[2],"ZXY"):be.isSame(_,Yc)?new Qt(-Vt,0,s[2],"ZXY"):be.isSame(_,Bp)?new Qt(Vt,0,s[2],"ZXY"):new Qt(0,0,s[2])},[c,s,F==null?void 0:F.rotation]),Y=m.useMemo(()=>(g||O.t("shared.SensorElement",L))+(p?" ("+O.t("shared.ElementLocked",L)+")":"")+` +}`;var Ta=PB(function(){return jr(Ot,Zi+"return "+Eo).apply(n,un)});if(Ta.source=Eo,S8(Ta))throw Ta;return Ta}function BI(G){return nl(G).toLowerCase()}function OS(G){return nl(G).toUpperCase()}function jI(G,te,Me){if(G=nl(G),G&&(Me||te===n))return p3(G);if(!G||!(te=x0(te)))return G;var Ze=hs(G),Ht=hs(te),Ot=yl(Ze,Ht),un=Ng(Ze,Ht)+1;return S1(Ze,Ot,un).join("")}function SB(G,te,Me){if(G=nl(G),G&&(Me||te===n))return G.slice(0,hy(G)+1);if(!G||!(te=x0(te)))return G;var Ze=hs(G),Ht=Ng(Ze,hs(te))+1;return S1(Ze,0,Ht).join("")}function TB(G,te,Me){if(G=nl(G),G&&(Me||te===n))return G.replace(ct,"");if(!G||!(te=x0(te)))return G;var Ze=hs(G),Ht=yl(Ze,hs(te));return S1(Ze,Ht).join("")}function Ni(G,te){var Me=H,Ze=D;if(gs(te)){var Ht="separator"in te?te.separator:Ht;Me="length"in te?Gr(te.length):Me,Ze="omission"in te?x0(te.omission):Ze}G=nl(G);var Ot=G.length;if(Rh(G)){var un=hs(G);Ot=un.length}if(Me>=Ot)return G;var wn=Me-Xc(Ze);if(wn<1)return Ze;var Mn=un?S1(un,0,wn).join(""):G.slice(0,wn);if(Ht===n)return Mn+Ze;if(un&&(wn+=Mn.length-wn),LS(Ht)){if(G.slice(wn).search(Ht)){var mo,wo=Mn;for(Ht.global||(Ht=Jc(Ht.source,nl(zt.exec(Ht))+"g")),Ht.lastIndex=0;mo=Ht.exec(wo);)var Eo=mo.index;Mn=Mn.slice(0,Eo===n?wn:Eo)}}else if(G.indexOf(x0(Ht),wn)!=wn){var Si=Mn.lastIndexOf(Ht);Si>-1&&(Mn=Mn.slice(0,Si))}return Mn+Ze}function YI(G){return G=nl(G),G&&dt.test(G)?G.replace(Ye,py):G}var s0=X(function(G,te,Me){return G+(Me?" ":"")+te.toUpperCase()}),k5=L3("toUpperCase");function P1(G,te,Me){return G=nl(G),te=Me?n:te,te===n?g3(G)?gy(G):qu(G):G.match(te)||[]}var PB=Qi(function(G,te){try{return kn(G,n,te)}catch(Me){return S8(Me)?Me:new dr(Me)}}),une=ea(function(G,te){return Wn(te,function(Me){Me=nm(Me),zh(G,Me,x8(G[Me],G))}),G});function dne(G){var te=G==null?0:G.length,Me=yr();return G=te?Vi(G,function(Ze){if(typeof Ze[1]!="function")throw new _0(a);return[Me(Ze[0]),Ze[1]]}):[],Qi(function(Ze){for(var Ht=-1;++Htk)return[];var Me=Y,Ze=V0(G,Y);te=yr(te),G-=Y;for(var Ht=Ch(Ze,te);++Me0||te<0)?new fr(Me):(G<0?Me=Me.takeRight(-G):G&&(Me=Me.drop(G)),te!==n&&(te=Gr(te),Me=te<0?Me.dropRight(-te):Me.take(te-G)),Me)},fr.prototype.takeRightWhile=function(G){return this.reverse().takeWhile(G).reverse()},fr.prototype.toArray=function(){return this.take(Y)},bu(fr.prototype,function(G,te){var Me=/^(?:filter|find|map|reject)|While$/.test(te),Ze=/^(?:head|last)$/.test(te),Ht=Wt[Ze?"take"+(te=="last"?"Right":""):te],Ot=Ze||/^find/.test(te);Ht&&(Wt.prototype[te]=function(){var un=this.__wrapped__,wn=Ze?[1]:arguments,Mn=un instanceof fr,mo=wn[0],wo=Mn||$r(un),Eo=function(Na){var ol=Ht.apply(Wt,ga([Na],wn));return Ze&&Si?ol[0]:ol};wo&&Me&&typeof mo=="function"&&mo.length!=1&&(Mn=wo=!1);var Si=this.__chain__,Zi=!!this.__actions__.length,Mr=Ot&&!Si,Ta=Mn&&!Zi;if(!Ot&&wo){un=Ta?un:new fr(this);var Ir=G.apply(un,wn);return Ir.__actions__.push({func:Ey,args:[Eo],thisArg:n}),new G0(Ir,Si)}return Mr&&Ta?G.apply(this,wn):(Ir=this.thru(Eo),Mr?Ze?Ir.value()[0]:Ir.value():Ir)})}),Wn(["pop","push","shift","sort","splice","unshift"],function(G){var te=Bg[G],Me=/^(?:push|sort|unshift)$/.test(G)?"tap":"thru",Ze=/^(?:pop|shift)$/.test(G);Wt.prototype[G]=function(){var Ht=arguments;if(Ze&&!this.__chain__){var Ot=this.value();return te.apply($r(Ot)?Ot:[],Ht)}return this[Me](function(un){return te.apply($r(un)?un:[],Ht)})}}),bu(fr.prototype,function(G,te){var Me=Wt[te];if(Me){var Ze=Me.name+"";La.call(p1,Ze)||(p1[Ze]=[]),p1[Ze].push({name:te,func:Me})}}),p1[pt(n,x).name]=[{name:"wrapper",func:n}],fr.prototype.clone=sS,fr.prototype.reverse=cS,fr.prototype.value=Fd,Wt.prototype.at=Hte,Wt.prototype.chain=$M,Wt.prototype.commit=Mte,Wt.prototype.next=QM,Wt.prototype.plant=zte,Wt.prototype.reverse=Dte,Wt.prototype.toJSON=Wt.prototype.valueOf=Wt.prototype.value=CS,Wt.prototype.first=Wt.prototype.head,kd&&(Wt.prototype[kd]=Ite),Wt},Ap=lS();$e?(($e.exports=Ap)._=Ap,Tn._=Ap):pn._=Ap}).call(mc)})(_G,_G.exports);var M2=_G.exports;const oQ=t=>{const e=gt(cs),n=M(wf),[o,i]=m.useState(null);return m.useEffect(()=>{if(e){const r=bn.getState().getHeatmap(t);r&&i(be.fetchHeatmapTexture(r,n??5))}},[e,n]),o},iQ=(t,e,n,o,i,r)=>{const a=i??((n==null?void 0:n.color)==="Black"&&(n==null?void 0:n.cellType)==="Monocrystalline"?"silver":"white"),l=r??"gray",s=m.useMemo(()=>{if(!n)return null;const{cellType:d,length:f,width:p,m:g,n:y,color:A}=n;return o===ci.portrait?Zbe(d,p,f,y,g,A,a,l):Zbe(d,f,p,g,y,A,a,l)},[n,o,a,l]),[c,u]=m.useState(s);return m.useEffect(()=>{if(s&&n){const{length:d,width:f}=n,p=Math.max(1,Math.round(t/(o===ci.landscape?d:f))),g=Math.max(1,Math.round(e/(o===ci.landscape?f:d)));s.repeat.set(p,g),s.wrapS=s.wrapT=Ss,u(s.clone())}},[s,t,e]),c},Zbe=(t,e,n,o,i,r,a,l)=>{e*=Cwe,n*=Cwe;const s=document.createElement("canvas");[s.width,s.height]=[e,n];const c=s.getContext("2d");if(c){c.fillStyle=a,c.fillRect(0,0,e,n);const u=Math.max(e,n)*F3t;if(c.fillStyle=l,c.fillRect(u,u,e-2*u,n-2*u),c.fillStyle=r==="Black"?W3t:N3t,t==="Thin Film"){const d=u*.6;c.fillRect(d,d,e-d*2,n-d*2)}else{const d=Math.max(e,n)*L3t,f=u+d,p=(e-f*2-d*(o-1))/o,g=(n-f*2-d*(i-1))/i,y=p*.1,A=g*.1;if(t==="Monocrystalline")for(let x=0;x{const i=Xi().gl.domElement;return h.jsx(ts,{args:[o,6,6],name:yo.Default,onPointerOver:()=>{i.style.cursor="move"},onPointerOut:()=>{i.style.cursor="default"},onPointerDown:r=>{M.getState().selectMe(t,r,zo.Move),gt.getState().set(a=>{a.showWallIntersectionPlaneId=e,a.oldParentId=e,a.oldFoundationId=n})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})})},eO=({pos:t,dms:e,handleType:n,initPointerDown:o})=>{const[i,r,a]=t,[l,s]=e,c=Xi().gl.domElement,[u,d]=m.useState(pr),f=m.useRef(null),p=()=>{o();const g=new ae;switch(n){case yt.Left:case yt.Right:g.set(-i*2,0,-a);break;case yt.Upper:case yt.Lower:g.set(0,-r*2,-a);break}M.getState().set(y=>{f.current&&(y.resizeAnchor=f.current.localToWorld(g),y.resizeHandleType=n)})};return h.jsx(Ei,{ref:f,position:[i,r,a],args:[s,s,l*1.2],name:n,onPointerDown:p,onPointerOver:()=>{c.style.cursor="pointer",d(nr)},onPointerOut:()=>{c.style.cursor="default",d(pr)},children:h.jsx("meshBasicMaterial",{attach:"material",color:u})})},eSe=({position:t,ratio:e,handleType:n,initPointerDown:o})=>{const[i,r]=m.useState(pr),a=Xi().gl.domElement,l=m.useMemo(()=>h.jsx("meshBasicMaterial",{attach:"material",color:i}),[i]),s=()=>{o(),M.getState().set(c=>{c.rotateHandleType=n})};return h.jsxs("group",{position:t,rotation:[Vt,0,0],scale:e,name:n,children:[h.jsxs("group",{children:[h.jsx(N1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:l}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:l}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:l})]}),h.jsx(sa,{name:n,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1,onPointerDown:s,onPointerOver:c=>{a.style.cursor="grab",r(nr)},onPointerOut:()=>{a.style.cursor="default",r(pr)}})]})},v$t=({rotationZ:t,tiltAngle:e,handleSize:n,initPointerDown:o,handlePointerMove:i,handlePointerUp:r})=>{const{gl:a}=Xi(),[l,s]=m.useState(pr),[c,u]=m.useState(!1),d=m.useRef(null),f=m.useMemo(()=>new Array(13).fill(0),[]),p=M(dn);return h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[n,1.1*n,18,2,-Vt,Math.PI],rotation:[0,-Vt,t,"ZXY"],onPointerOver:()=>{a.domElement.style.cursor="grab",s(nr)},onPointerOut:()=>{a.domElement.style.cursor="default",s(pr)},onPointerDown:g=>{o(),g.stopPropagation(),u(!0),p(y=>{y.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:l})}),c&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:d,name:"Solar panel tilt handle",args:[n,2*n,18,2,-Vt,Math.PI],rotation:[0,-Vt,t,"ZXY"],onPointerDown:g=>{},onPointerMove:g=>{i(g,d)},onPointerUp:()=>{u(!1),r()},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,n],[0,0,1.75*n]],rotation:new Qt(e,0,t,"ZXY"),lineWidth:1}),f.map((g,y)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*y-Vt,0,t,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*n],[0,0,2*n]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${y*15-90}°`,fontSize:20*n,fontFace:"Times Roman",textHeight:.15*n,position:[0,0,1.6*n]})]},y)),h.jsx("group",{rotation:new Qt(e,0,t,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(e/Math.PI*180)}°`,fontSize:20*n,fontFace:"Times Roman",textHeight:.2*n,position:[0,0,.75*n]})})]})]})},x$t=Se.memo(({drawSunbeam:t,rotation:e,normal:n,relativeEuler:o,fRotation:i})=>{const r=new Qt().fromArray([e[0],e[1],e[2],"ZXY"]),a=m.useMemo(()=>e[0]===0?new ae().fromArray(n).applyEuler(new Qt(o.x,o.y,o.z+e[2]+i,"ZXY")):new ae(0,0,1).applyEuler(r).applyEuler(new Qt(0,0,i)),[e,o,i]),l=M(Ya),s=M(Xs),c=M(mh),u=Math.max(100,10*c),d=m.useMemo(()=>zr(new Date(l),s),[l,s]);return h.jsx(h.Fragment,{children:t&&d.z>0&&h.jsxs("group",{rotation:[-r.x,0,-r.z-i],children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[a.clone().multiplyScalar(.75),[0,0,0],d.clone().multiplyScalar(u)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[d.clone().multiplyScalar(.5),a.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:be.toDegrees(d.angleTo(a)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:d.clone().multiplyScalar(.75).add(a.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:a.clone().multiplyScalar(.75),rotation:[Vt+r.x+o.x,0,r.z+o.z+i,"ZXY"],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",rotation:[0,0,-o.y],children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})})}),b$t=({id:t})=>{M(Jn);const e=M(jn),n=M(Sc),o=m.useMemo(()=>({lng:n}),[n]),i=m.useMemo(()=>e(t),[t]);if(!i||!i.foundationId)return null;const r=e(i.foundationId);if(!r)return null;const a=new ae(r.cx,r.cy,r.cz),l=new ae(i.cx*r.lx,i.cy*r.ly,r.lz/2+i.cz+i.lz/2+i.poleHeight).applyEuler(new Qt(0,0,r.rotation[2])).add(a),s=((i==null?void 0:i.label)??O.t("shared.SolarPanelElement",o))+(i!=null&&i.locked?` ( + ${O.t("shared.ElementLocked",o)} + )`:"")+(i!=null&&i.label?"":` +`+O.t("word.Coordinates",o)+": ("+l.x.toFixed(1)+", "+l.y.toFixed(1)+", "+l.z.toFixed(1)+") "+O.t("word.MeterAbbreviation",o));return h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:s,color:i.labelColor??"white",fontSize:i.labelFontSize??20,textHeight:i.labelSize??.2,position:[0,0,i.labelHeight??Math.max(i.ly/2*Math.abs(Math.sin(i.tiltAngle))+.1,.2)]})},S$t=({id:t,pvModelName:e="SPR-X21-335-BLK",cx:n,cy:o,cz:i,lx:r,ly:a,lz:l,tiltAngle:s,relativeAzimuth:c,poleHeight:u,poleRadius:d,poleSpacing:f,drawSunBeam:p,rotation:g=[0,0,0],normal:y=[0,0,1],color:A="white",frameColor:x,backsheetColor:C,showLabel:b=!1,locked:v=!1,parentId:S,foundationId:w,foundationModel:T,orientation:P=ci.portrait})=>{const R=M(dn),H=M(Vc),D=M(jn),E=gt(cs),L=M(ss),U=M(pq),F=M(hu)??!1,W=M(C7),B=M(mh),k=Hs(t),N=m.useRef(null),j=W[e];j&&(l=Math.max(j.thickness,.02));const Y=r/2,_=a/2,J=l/2,Q=M.getState().elements.length<100?4:2,ee=-u/2-l/2,[$,q]=m.useState(g[0]===0),[le,ie]=m.useState(!1),[pe,ne]=m.useState(!1),{gl:Z,camera:he}=Xi(),fe=m.useRef(null),se=m.useRef(),oe=m.useRef(null),de=m.useRef(!1),ve=m.useRef(null),Pe=m.useRef(null),me=m.useRef(null),Re=m.useRef(null),ze=m.useRef(null),Ae=m.useRef(null),re=m.useMemo(()=>new Gs,[]),ge=m.useMemo(()=>new Gt,[]),we=m.useMemo(()=>$?new ae(n,o,i+J+u):new ae(n,o,i+l/2+.02),[n,o,i,J,$,u,B]),ye=m.useMemo(()=>new Qt().fromArray([g[0],g[1],g[2],"ZXY"]),[g]),Te=m.useMemo(()=>$?new Qt(s,0,c,"ZXY"):new Qt,[s,c,$]),Ie=m.useMemo(()=>{const rt=[],Qe=Math.floor(.5*r/f),Oe=Math.floor(.5*a*Math.abs(Math.cos(s))/f),et=.5*Math.sin(s),vt=Math.cos(c)*f,ct=Math.sin(c)*f;for(let lt=-Qe;lt<=Qe;lt++)for(let tt=-Oe;tt<=Oe;tt++){const it=lt*vt-tt*ct,At=lt*ct+tt*vt;rt.push(new ae(it,At,ee+et*f*tt))}return rt},[c,s,f,r,a,u,l]);m.useEffect(()=>{q(g[0]===0)},[g]),m.useEffect(()=>{if(j){let rt,Qe;P===ci.portrait?(rt=Math.max(1,Math.round(r/j.width)),Qe=Math.max(1,Math.round(a/j.length))):(rt=Math.max(1,Math.round(r/j.length)),Qe=Math.max(1,Math.round(a/j.width))),se.current=[];const Oe=r/rt,et=a/Qe;for(let vt=0;vt<=rt;vt++)se.current.push({points:[new ae(-Y+vt*Oe,-_,l),new ae(-Y+vt*Oe,_,l)]});for(let vt=0;vt<=Qe;vt++)se.current.push({points:[new ae(-Y,-_+vt*et,l),new ae(Y,-_+vt*et,l)]})}},[P,e,r,a,l]);const Ce=()=>{R(rt=>{if(ve.current&&me.current!==null&&Ae.current&&Pe.current&&ze.current){for(const Qe of rt.elements)if(Qe.id===t){[Qe.cx,Qe.cy,Qe.cz]=[...ve.current],[Qe.lx,Qe.ly,Qe.lz]=[...Pe.current],Qe.relativeAzimuth=me.current,Qe.normal=[...Ae.current],Qe.rotation=[...ze.current];break}}})},Ee=()=>{if(de.current){const rt=D(S);if(rt&&w){const Qe=D(t),Oe=N.current;if(Qe&&Oe){const et=In.getRoofBoundaryVertices(rt),vt=In.getSolarPanelVerticesOnRoof(Qe,Oe);!oye(vt,et)||!iye(Qe,Oe,vt)?Ce():St(Qe)}}Ln.getState().setEnableOrbitController(!0),de.current=!1,ie(!1),R(Qe=>{Qe.moveHandleType=null,Qe.resizeHandleType=null,Qe.rotateHandleType=null,Qe.updateElementOnRoofFlag=!0}),N.current=null}},Ue=Math.max(1,(r+a)/16),Ne=Af*Ue*2,Le=I9*Ue*1.5,qe=Ue*2/3,We=()=>{const rt=M.getState().elements.find(Qe=>Qe.id===w&&Qe.type===z.Foundation);rt&&(ve.current=[n/rt.lx,o/rt.ly,i-rt.lz/2],Pe.current=[r,a,l],me.current=c,Re.current=s,Ae.current=[...y],ze.current=[...g],N.current=rt),ie(!0),de.current=!0,Ln.getState().setEnableOrbitController(!1)},De=rt=>{ge.x=rt.offsetX/Z.domElement.clientWidth*2-1,ge.y=-(rt.offsetY/Z.domElement.clientHeight)*2+1,re.setFromCamera(ge,he)},Fe=(rt,Qe)=>!!($&&Qe!==0&&.5*rt*Math.abs(Math.sin(Qe))>u),_e=rt=>{if(oe.current&&de.current&&N.current&&j){De(rt);const Qe=re.intersectObjects([oe.current]);if(Qe.length>0){const Oe=Qe[0].point;if(Oe.z<.001)return;const et=M.getState().rotateHandleType;if(M.getState().resizeHandleType){const vt=$?c:0,ct=M.getState().resizeAnchor,lt=new ae(N.current.cx,N.current.cy,N.current.lz),tt=new ae().subVectors(Oe,ct).applyEuler(new Qt(0,0,-g[2]-N.current.rotation[2]-vt));R(it=>{for(const At of it.elements)if(At.id===t&&N.current){switch(it.resizeHandleType){case yt.Left:case yt.Right:{const Mt=At.orientation===ci.landscape?j.length:j.width,st=Math.abs(tt.x),Rt=Math.max(1,Math.ceil((st-Mt/2)/Mt))*Mt,zt=new ae(Math.sign(tt.x)*Rt/2,0,0).applyEuler(new Qt(0,0,g[2]+N.current.rotation[2]+vt)),Xe=new ae().addVectors(ct,zt).sub(lt).applyEuler(new Qt(0,0,-N.current.rotation[2]));At.lx=Rt,At.cx=Xe.x/N.current.lx,At.cy=Xe.y/N.current.ly;break}case yt.Upper:case yt.Lower:{const Mt=Math.abs(tt.y),st=Math.abs(tt.z),ft=Math.hypot(Mt,st),Rt=At.orientation===ci.landscape?j.width:j.length,Xe=Math.max(1,Math.ceil((ft-Rt/2)/Rt))*Rt,ht=new ae(0,Xe*Math.sign(tt.y)/2,0).applyEuler(new Qt(g[0],g[1],g[2]+N.current.rotation[2]+vt,"ZXY")),Je=new ae().addVectors(ct,ht).sub(lt).applyEuler(new Qt(0,0,-N.current.rotation[2]));Fe(Xe,s)||(At.ly=Xe,At.cx=Je.x/N.current.lx,At.cy=Je.y/N.current.ly,$||(At.cz=Je.z-J));break}}break}})}else if(et===wi.Lower||et===wi.Upper){const vt=N.current.rotation[2],ct=new Gt(N.current.cx,N.current.cy),lt=new Gt(n,o).rotateAround(wr,vt),tt=new Gt().addVectors(lt,ct),it=Math.atan2(-Oe.x+tt.x,Oe.y-tt.y)-vt+(et===wi.Lower?Math.PI:0),At=Math.abs(it)>Math.PI?-Math.sign(it)*na:0,Mt=it+At;M.getState().updateSolarCollectorRelativeAzimuthById(t,Mt)}}}},ot=(rt,Qe)=>{var Oe,et;if(de.current&&(De(rt),Qe.current&&M.getState().rotateHandleType===wi.Tilt)){const vt=re.intersectObjects([Qe.current]);if(vt.length>0){const ct=vt[0].point,lt=(Oe=Qe.current.parent)==null?void 0:Oe.localToWorld(new ae);if(lt){const tt=new ae().subVectors(ct,lt);let it=tt.angleTo(Po);if(!(.5*a*Math.abs(Math.sin(it))>u)){const Mt=c+g[2]+(((et=N.current)==null?void 0:et.rotation[2])??0),st=Mt%Math.PI===0?Math.sign(-tt.y)*Math.sign(Math.cos(Mt)):Math.sign(tt.x)*Math.sign(Math.sin(Mt));it*=st,M.getState().updateSolarPanelTiltAngleById(t,it)}}}}},Ye=()=>{const rt=D(t);if(rt&&Re.current&&Math.abs(rt.tiltAngle-Re.current)>kt){const Qe={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Re.current,newValue:rt.tiltAngle,changedElementId:t,changedElementType:z.SolarPanel,undo:()=>{M.getState().updateSolarPanelTiltAngleById(Qe.changedElementId,Qe.oldValue)},redo:()=>{M.getState().updateSolarPanelTiltAngleById(Qe.changedElementId,Qe.newValue)}};M.getState().addUndoable(Qe)}},St=rt=>{if(M.getState().resizeHandleType){if(Pe.current&&ve.current&&Ae.current&&ze.current){const Qe={name:"Resize Solar Panel On Roof",timestamp:Date.now(),id:rt.id,oldDms:[...Pe.current],oldNor:[...Ae.current],oldPos:[...ve.current],oldRot:[...ze.current],newDms:[rt.lx,rt.ly,rt.lz],newPos:[rt.cx,rt.cy,rt.cz],newNor:[...rt.normal],newRot:[...rt.rotation],undo(){R(Oe=>{for(const et of Oe.elements)if(et.id===Qe.id){[et.cx,et.cy,et.cz]=[...Qe.oldPos],[et.lx,et.ly,et.lz]=[...Qe.oldDms],et.normal=[...Qe.oldNor],et.rotation=[...Qe.oldRot];break}})},redo(){R(Oe=>{for(const et of Oe.elements)if(et.id===Qe.id){[et.cx,et.cy,et.cz]=[...Qe.newPos],[et.lx,et.ly,et.lz]=[...Qe.newDms],et.normal=[...Qe.newNor],et.rotation=[...Qe.newRot];break}})}};M.getState().addUndoable(Qe)}}else if(M.getState().rotateHandleType&&me.current!==void 0){const Qe={name:"Rotate Solar Panel On Roof",timestamp:Date.now(),oldValue:me.current,newValue:rt.relativeAzimuth,changedElementId:rt.id,changedElementType:rt.type,undo:()=>{M.getState().updateSolarCollectorRelativeAzimuthById(Qe.changedElementId,Qe.oldValue)},redo:()=>{M.getState().updateSolarCollectorRelativeAzimuthById(Qe.changedElementId,Qe.newValue)}};M.getState().addUndoable(Qe)}},dt=M(rt=>{for(const Qe of rt.elements)if(Qe.id===S)return Qe}),je=iQ(r,a,j,P,x,C),at=oQ(t),ut=()=>E&&at?h.jsx("meshBasicMaterial",{attach:"material-4",map:at}):je?F||U===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:je,color:A}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((j==null?void 0:j.color)==="Blue"?Kw:qw),shininess:U??Xm,side:ia,map:je,color:A}):h.jsx("meshStandardMaterial",{attach:"material-4",color:A}),wt=()=>(j==null?void 0:j.bifacialityFactor)===0||F||u===0&&s===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:A}):je?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((j==null?void 0:j.color)==="Blue"?Kw:qw),shininess:U??Xm,side:ia,map:je,color:A}):null;return dt&&dt.type===z.Roof&&dt.opacity===0?null:h.jsxs("group",{name:"Solar Panel Group Grandpa "+t,rotation:ye,position:we,children:[h.jsxs("group",{name:"Solar Panel Group Dad "+t,rotation:Te,children:[h.jsxs(Ei,{receiveShadow:L,castShadow:L,uuid:t,ref:fe,args:[r,a,l],name:"Solar Panel",onPointerDown:rt=>{rt.button!==2&&M.getState().objectTypeToAdd===z.None&&H(t,rt,zo.Select)},onContextMenu:rt=>{H(t,rt,zo.ContextMenu),R(Qe=>{rt.intersections.length>0&&rt.intersections[0].object===fe.current&&(Qe.contextMenuObjectType=z.SolarPanel)})},onPointerOver:rt=>{rt.intersections.length>0&&rt.intersections[0].object===fe.current&&ne(!0)},onPointerOut:rt=>{ne(!1)},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:A}),h.jsx("meshStandardMaterial",{attach:"material-1",color:A}),h.jsx("meshStandardMaterial",{attach:"material-2",color:A}),h.jsx("meshStandardMaterial",{attach:"material-3",color:A}),ut(),wt()]}),k&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(w$t,{id:t,handleSize:Ne,parentId:S,foundationId:w}),h.jsxs("group",{name:"Resize Handle Group",children:[h.jsx(eO,{pos:[-Y,0,J],dms:[l,Le],handleType:yt.Left,initPointerDown:We}),h.jsx(eO,{pos:[Y,0,J],dms:[l,Le],handleType:yt.Right,initPointerDown:We}),h.jsx(eO,{pos:[0,-_,J],dms:[l,Le],handleType:yt.Lower,initPointerDown:We}),h.jsx(eO,{pos:[0,_,J],dms:[l,Le],handleType:yt.Upper,initPointerDown:We})]})]}),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:t,position:[0,0,f0],args:[r,a],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),E&&at&&se.current&&se.current.map((rt,Qe)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:rt.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Qe)),k&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Y,-_,0],[-Y,_,0],[Y,_,0],[Y,-_,0],[-Y,-_,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0})]}),$&&k&&!v&&h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Rotate Handle Group",rotation:[0,0,Te.z],children:[h.jsx(eSe,{position:[0,-_-1,0],ratio:1,handleType:wi.Lower,initPointerDown:We}),h.jsx(eSe,{position:[0,_+1,0],ratio:1,handleType:wi.Upper,initPointerDown:We})]}),h.jsx(v$t,{rotationZ:c,tiltAngle:s,handleSize:qe,initPointerDown:We,handlePointerMove:ot,handlePointerUp:Ye})]}),le&&h.jsx(sa,{ref:oe,args:[1e3,1e3],visible:!1,onPointerMove:_e,onPointerUp:Ee}),$&&u>0&&Ie.map((rt,Qe)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+Qe,castShadow:!1,receiveShadow:!1,args:[d,d,u+(rt.z-ee)*2+l,Q,1],position:rt,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:A})},Qe)),h.jsx(x$t,{drawSunbeam:p,rotation:g,normal:y,relativeEuler:Te,fRotation:(T==null?void 0:T.rotation[2])??0}),(pe||b)&&!k&&h.jsx(b$t,{id:t})]})},T$t=t=>{const{lx:e,lz:n,parentId:o,id:i,roofId:r}=t,a=M(N8t),l=M(hge);m.useEffect(()=>{r&&(a===r||l.has(r))&&M.getState().set(d=>{for(const f of d.elements)if(f.id===i&&f.type===z.Wall){const p=f;p.roofId=null,p.leftRoofHeight=void 0,p.rightRoofHeight=void 0,p.centerRoofHeight=void 0,p.centerLeftRoofHeight=void 0,p.centerRightRoofHeight=void 0;break}})},[r,a,l]);const s=d=>!(d.button===2||M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().objectTypeToAdd!==z.None||M.getState().isAddingElement()),c=d=>{s(d)&&(M.getState().set(f=>{f.contextMenuObjectType=null}),M.getState().selectMe(i,d,zo.Select))},u=d=>{M.getState().selectMe(i,d,zo.ContextMenu),M.getState().set(f=>{d.intersections.length>0&&d.intersections[0].object===d.eventObject&&(f.contextMenuObjectType=z.Wall)})};return h.jsx(sa,{args:[e,n],rotation:[Vt,0,0],visible:!1,onPointerDown:c,onContextMenu:u,children:h.jsx("meshBasicMaterial",{side:ji})})},P$t=Se.memo(T$t),tSe=({cy:t,size:e,type:n})=>{const[o,i]=m.useState(Fk),r=()=>{i(nr)},a=()=>{i(Fk)};return h.jsx(ts,{name:n,args:[e],position:[0,t,0],onPointerEnter:r,onPointerOut:a,children:h.jsx("meshBasicMaterial",{attach:"material",color:o})})},C$t=({ply:t,phz:e})=>{const n=UH(),o=i=>{i.intersections.length>0&&i.intersections[0].eventObject.parent===i.eventObject&&(M.getState().set(r=>{r.moveHandleType=i.object.name}),Ln.getState().setEnableOrbitController(!1))};return h.jsxs("group",{name:"Move Handle Group",position:[0,0,-e],onPointerDown:o,children:[h.jsx(tSe,{cy:-n,size:n,type:yo.Lower}),h.jsx(tSe,{cy:t+n,size:n,type:yo.Upper})]})},R$t=Se.memo(C$t),H$t="#ADD8E6",b4=Se.memo(({x:t,z:e,handleType:n,highLight:o,handleSize:i,partial:r})=>{const a=M(dn),l=M(yh),s=M(cYe),[c,u]=m.useState(!1),d=o||c||n===l||s&&(n===yt.LowerRight||n===yt.UpperRight)?nr:r?H$t:pr;let f=i,p=i,g=i;if(n===yt.LowerRight||n===yt.LowerLeft)f=i*1.7;else if(r){f*=.75,p=i/2,g=i*2.5;const y=g/4;n===yt.WallPartialResizeLeft||n===yt.WallPartialResizeRight?e-=y:(n===yt.WallPartialResizeLeftTop||n===yt.WallPartialResizeRightTop)&&(e+=y)}else p=i/2,g=i*1.7;return h.jsx(Ei,{name:n,args:[f,p,g],position:[t,0,e],onPointerOver:()=>{u(!0),a(y=>{y.hoveredHandle=n})},onPointerLeave:()=>{u(!1),a(y=>{y.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{color:d})})}),M$t=Se.memo(({id:t,parentLz:e,roofId:n,x:o,z:i,absAngle:r,leftUnfilledHeight:a,rightUnfilledHeight:l,leftTopPartialResizeHandleHeight:s,rightTopPartialResizeHandleHeight:c,fill:u,wallLeftHeight:d,wallRightHeight:f,highLight:p,leftJoints:g,rightJoints:y})=>{const A=M(dn),x=M(hu),C=UH(),[b,v]=m.useState(!1),[S,w]=m.useState(new ae),[T,P]=m.useState(new Qt),R=m.useRef(null),H=m.useRef(!1),D=m.useRef([i*2,a,l]),E=m.useRef(new Map),L=m.useRef(null),U=m.useRef(null),F=m.useRef([]),W=m.useMemo(()=>{if(!n)return null;const q=M.getState().elements.find(le=>le.id===n&&le.type===z.Roof);return q?q.roofType:null},[n]);x&&(i=-i);const B=q=>{const le=M.getState().cameraDirection,ie=Math.atan2(le.x,le.y);w(new ae(q,0,0)),P(new Qt(Vt,0,-ie-r,"ZXY")),v(!0)},k=(q,le,ie)=>{const[pe,ne,Z,he,fe]=le;A(se=>{for(const oe of se.elements)if(oe.id===q&&oe.type===z.Wall){const de=oe;oe.lz=pe,de.leftUnfilledHeight=ne,de.rightUnfilledHeight=Z,de.leftTopPartialHeight=he,de.rightTopPartialHeight=fe}else if(oe.type===z.Wall&&ie.has(oe.id)){const de=ie.get(oe.id);de!==void 0&&(oe.lz=de,oe.cz=de/2)}})},N=()=>{n&&(g.length>0||y.length>0)&&(W===Vo.Gable||W===Vo.Gambrel?M.getState().elements.forEach(q=>{q.id===g[0]&&(L.current=q.lz),q.id===y[0]&&(U.current=q.lz)}):(E.current.clear(),M.getState().elements.forEach(q=>{q.type===z.Wall&&q.roofId===n&&E.current.set(q.id,q.lz)})))},j=()=>{F.current=M.getState().elements.filter(q=>q.parentId===t)},Y=(q,le,ie,pe,ne)=>{const{lx:Z,lz:he,roofId:fe,leftRoofHeight:se,rightRoofHeight:oe,centerLeftRoofHeight:de,centerRightRoofHeight:ve,centerRoofHeight:Pe}=q,me=u===Hl.Partial,Re=me?Math.min(d,pe):d,ze=me?Math.min(f,ne):f,Ae=me&&(!be.isZero(d-Re)||!be.isZero(f-ze)),[re,ge]=[Z/2,he/2],we=[];return we.push({x:-re,y:-ge+le},{x:re,y:-ge+ie}),Ae?we.push({x:re,y:-ge+ze},{x:-re,y:-ge+Re}):fe?(oe?we.push({x:re,y:-ge+oe}):we.push({x:re,y:ge}),ve&&we.push({x:ve[0]*Z,y:-ge+ve[1]}),Pe&&we.push({x:Pe[0]*Z,y:-ge+Pe[1]}),de&&we.push({x:de[0]*Z,y:-ge+de[1]}),se?we.push({x:-re,y:-ge+se}):we.push({x:-re,y:ge})):we.push({x:re,y:ge},{x:-re,y:ge}),we},_=(q,le,ie,pe,ne)=>{const Z=Y(q,le,ie,pe,ne);if(F.current.length>0)for(const he of F.current){let{cx:fe,cz:se,lx:oe,ly:de,lz:ve}=he;if(fe*=q.lx,se*=q.lz,he.type!==z.SolarPanel?(oe*=q.lx,ve*=q.lz):ve=de,he.type===z.Window&&he.windowType===Sr.Polygonal){const[Pe,me]=he.polygonTop??jp,Re=fe+Pe*oe,ze=se+ve/2+me;if(!be.isPointInside(Re,ze,Z))return!1}if(!be.isElementInsideWall(new ae(fe,0,se),oe,ve,Z,he.type===z.Door))return!1}return!0},J=()=>{L.current=null,U.current=null},Q=q=>{var ie;if(M.getState().addedWallId||q.object!==((ie=q.intersections[0])==null?void 0:ie.object))return;const le=q.object;switch(le.name){case yt.LowerLeft:{A(pe=>{pe.resizeAnchor.copy(le.localToWorld(new ae(o*2,0,0)))});break}case yt.LowerRight:{A(pe=>{pe.resizeAnchor.copy(le.localToWorld(new ae(-o*2,0,0)))});break}case yt.UpperLeft:case yt.WallPartialResizeLeft:case yt.WallPartialResizeLeftTop:{B(-o),N(),j();break}case yt.UpperRight:case yt.WallPartialResizeRight:case yt.WallPartialResizeRightTop:{B(o),N(),j();break}default:console.error("Wall resize handle unknown");return}A(pe=>{pe.resizeHandleType=le.name}),Ln.getState().setEnableOrbitController(!1),H.current=!0,D.current=[i*2,a,l,s,c]},ee=q=>{if(q.intersections.length===0||!H.current)return;const le=q.intersections[0].point;switch(M.getState().resizeHandleType){case yt.UpperLeft:case yt.UpperRight:{A(ie=>{const pe=u===Hl.Partial?Math.max(a,l):0;let ne=Math.max(pe+C,le.z-e);if(W===null||W===Vo.Gable||W===Vo.Gambrel){if(L.current||U.current){const Z=Math.abs(ne-(L.current??1/0)),he=Math.abs(ne-(U.current??1/0));Z{for(const pe of ie.elements)if(pe.id===t&&pe.type===z.Wall){const ne=pe;let Z=be.clamp(le.z-e,0,ne.leftTopPartialHeight);if(ne.leftJoints.length>0){const he=ie.elements.find(fe=>fe.id===ne.leftJoints[0]&&fe.type===z.Wall);if(he&&he.fill===Hl.Partial){const fe=he.rightUnfilledHeight;Math.abs(Z-fe)<.5&&(Z=fe)}}_(ne,Z,ie.enableFineGrid?Z:ne.rightUnfilledHeight,ne.leftTopPartialHeight,ne.rightTopPartialHeight)&&(ne.leftUnfilledHeight=Z,ie.enableFineGrid&&(ne.rightUnfilledHeight=Z));break}});break}case yt.WallPartialResizeRight:{A(ie=>{for(const pe of ie.elements)if(pe.id===t&&pe.type===z.Wall){const ne=pe;let Z=be.clamp(le.z-e,0,ne.rightTopPartialHeight);if(ne.rightJoints.length>0){const he=ie.elements.find(fe=>fe.id===ne.rightJoints[0]&&fe.type===z.Wall);if(he&&he.fill===Hl.Partial){const fe=he.leftUnfilledHeight;Math.abs(Z-fe)<.5&&(Z=fe)}}_(ne,ie.enableFineGrid?Z:ne.leftUnfilledHeight,Z,ne.leftTopPartialHeight,ne.rightTopPartialHeight)&&(ne.rightUnfilledHeight=Z,ie.enableFineGrid&&(ne.leftUnfilledHeight=Z));break}});break}case yt.WallPartialResizeLeftTop:{A(ie=>{const pe=ie.elements.find(ne=>ne.id===t&&ne.type===z.Wall);if(pe){let ne=be.clamp(le.z-e,pe.leftUnfilledHeight,pe.lz);if(pe.leftJoints.length>0){const Z=ie.elements.find(he=>he.id===pe.leftJoints[0]&&he.type===z.Wall);if(Z&&Z.fill===Hl.Partial){const he=Z.rightTopPartialHeight;Math.abs(ne-he)<.5&&(ne=he)}}_(pe,pe.leftUnfilledHeight,pe.rightUnfilledHeight,ne,ie.enableFineGrid?ne:pe.rightTopPartialHeight)&&(pe.leftTopPartialHeight=ne,ie.enableFineGrid&&(pe.rightTopPartialHeight=ne))}});break}case yt.WallPartialResizeRightTop:{A(ie=>{const pe=ie.elements.find(ne=>ne.id===t&&ne.type===z.Wall);if(pe){let ne=be.clamp(le.z-e,pe.rightUnfilledHeight,pe.lz);if(pe.rightJoints.length>0){const Z=ie.elements.find(he=>he.id===pe.rightJoints[0]&&he.type===z.Wall);if(Z&&Z.fill===Hl.Partial){const he=Z.leftTopPartialHeight;Math.abs(ne-he)<.5&&(ne=he)}}_(pe,pe.leftUnfilledHeight,pe.rightUnfilledHeight,ie.enableFineGrid?ne:pe.leftTopPartialHeight,ne)&&(pe.rightTopPartialHeight=ne,ie.enableFineGrid&&(pe.leftTopPartialHeight=ne))}});break}}},$=()=>{Ln.getState().setEnableOrbitController(!0),v(!1),J(),H.current=!1;const q=new Map;n&&W!==Vo.Gable&&W!==Vo.Gambrel&&M.getState().elements.forEach(ie=>{ie.type===z.Wall&&ie.roofId===n&&q.set(ie.id,ie.lz)});const le={name:"Change Wall Height",timestamp:Date.now(),resizedElementId:t,resizedElementType:z.Wall,oldHeights:[...D.current],newHeights:[i*2,a,l,s,c],oldSameBuildingWallsHeightMap:new Map(E.current),newSameBuildingWallsHeightMap:q,undo(){k(this.resizedElementId,this.oldHeights,this.oldSameBuildingWallsHeightMap)},redo(){k(this.resizedElementId,this.newHeights,this.newSameBuildingWallsHeightMap)}};M.getState().addUndoable(le),A(ie=>{ie.actionState.wallHeight=i*2,ie.resizeHandleType=null})};return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Wall Resize Handle Group",onPointerDown:Q,children:[h.jsx(b4,{x:-o,z:-i,handleType:yt.LowerLeft,highLight:p,handleSize:C}),h.jsx(b4,{x:o,z:-i,handleType:yt.LowerRight,highLight:p,handleSize:C}),!x&&h.jsxs(h.Fragment,{children:[h.jsx(b4,{x:-o,z:i,handleType:yt.UpperLeft,highLight:p,handleSize:C}),h.jsx(b4,{x:o,z:i,handleType:yt.UpperRight,highLight:p,handleSize:C}),u===Hl.Partial&&h.jsxs(h.Fragment,{children:[h.jsx(b4,{x:-o,z:-i+a,handleType:yt.WallPartialResizeLeft,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:o,z:-i+l,handleType:yt.WallPartialResizeRight,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:-o,z:-i+s,handleType:yt.WallPartialResizeLeftTop,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:o,z:-i+c,handleType:yt.WallPartialResizeRightTop,highLight:p,handleSize:C,partial:!0})]})]})]}),b&&h.jsx(sa,{ref:R,position:S,rotation:T,args:[1e4,1e4],visible:!1,onPointerMove:ee,onPointerUp:$,children:h.jsx("meshBasicMaterial",{side:ji})})]})}),I$t=({wallModel:t,foundationModel:e})=>{const{id:n,roofId:o,cx:i,cy:r,lx:a,ly:l,lz:s,relativeAngle:c,fill:u,locked:d,leftUnfilledHeight:f,rightUnfilledHeight:p,leftTopPartialHeight:g,rightTopPartialHeight:y,leftJoints:A,rightJoints:x}=t,C=Hs(n),[b,v]=[a/2,s/2],S=u===Hl.Partial,w=A.length>0?t.leftRoofHeight:s,T=x.length>0?t.rightRoofHeight:s,P=w??s,R=T??s,H=S?Math.min(P,g):P,D=S?Math.min(R,y):R,E=a===0,L=()=>u===Hl.Empty?h.jsx(P$t,{...t}):h.jsx(CQt,{wallModel:t,foundationModel:e});return h.jsxs("group",{name:`Wall Group ${n}`,position:[i,r,v],rotation:[0,0,c],userData:{aabb:!0},children:[L(),C&&!d&&h.jsxs(h.Fragment,{children:[a>.5&&h.jsx(R$t,{ply:l,phz:v}),h.jsx(M$t,{id:n,parentLz:e.lz,roofId:o,absAngle:c+e.rotation[2],x:b,z:v,leftUnfilledHeight:f,rightUnfilledHeight:p,leftTopPartialResizeHandleHeight:H,rightTopPartialResizeHandleHeight:D,fill:u,wallLeftHeight:P,wallRightHeight:R,highLight:E,leftJoints:A,rightJoints:x})]})]})},z$t=(t,e)=>t.wallModel===e.wallModel,D$t=Se.memo(I$t,z$t),sqe="Building Group",E$t=t=>{const{id:e,lx:n,ly:o,lz:i}=t,r=l=>l.foundationId!==e?!1:l.type===z.Wall||l.type===z.Roof||l.type===z.SolarPanel&&l.parentType===z.Roof||l.type===z.Window&&l.parentType===z.Roof,a=M(l=>l.elements.filter(r),a3);return a.length===0?null:h.jsx("group",{name:sqe,position:[0,0,i/2],children:a.map(l=>{switch(l.type){case z.Wall:return h.jsx(D$t,{wallModel:l,foundationModel:t},l.id);case z.Roof:return h.jsx(l$t,{roofModel:l,foundationModel:t},l.id);case z.SolarPanel:return h.jsx(S$t,{...l,cx:l.cx*n,cy:l.cy*o,cz:l.cz,foundationModel:t},l.id);case z.Window:return h.jsx(fqe,{...l,cz:l.cz},l.id);default:return null}})})},k$t=(t,e)=>t.lx===e.lx&&t.ly===e.ly&&t.lz===e.lz&&t.rotation===e.rotation,F$t=Se.memo(E$t,k$t),L$t=t=>{let{id:e,pvModelName:n="SPR-X21-335-BLK",cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,tiltAngle:c,relativeAzimuth:u,trackerType:d=Ma.NO_TRACKER,poleHeight:f,poleRadius:p,poleSpacing:g,drawSunBeam:y,color:A="white",lineColor:x="black",lineWidth:C=.1,showLabel:b=!1,locked:v=!1,orientation:S=ci.landscape,parentPosition:w,parentRotation:T}=t;const P=[0,0,1],R=M(dn),H=M(Sc),D=M(Ya),E=M(Xs),L=M(Jn),U=gt(cs),F=M(ss),W=M(pq),B=M(jn),k=M(Vc),N=M(rge),j=M(mh),Y=M(yh),_=M(sW),J=M(En),Q=M(hu)??!1,ee=M(C7),$=Hs(e),{gl:{domElement:q},camera:le}=Xi(),[ie,pe]=m.useState(!1),[ne,Z]=m.useState(null),he=m.useRef(null),fe=m.useRef(null),se=m.useRef(null),oe=m.useRef(null),de=m.useRef(null),ve=m.useRef(null),Pe=m.useRef(null),me=m.useRef(!1),Re=m.useRef(0),ze=m.useRef(0),Ae=m.useRef(),re=m.useMemo(()=>new Gs,[]),ge=Math.max(100,10*j),we=ee[n],ye=m.useMemo(()=>({lng:H}),[H]);we&&(s=Math.max(we.thickness,.02));const Te=a/2,Ie=l/2,Ce=s/2,Ee=new ae(-Te,-Ie,Ce),Ue=new ae(-Te,Ie,Ce),Ne=new ae(Te,-Ie,Ce),Le=new ae(Te,Ie,Ce),qe=L.length<100?4:2;m.useEffect(()=>{if(we){let At,Mt;S===ci.portrait?(At=Math.max(1,Math.round(a/we.width)),Mt=Math.max(1,Math.round(l/we.length))):(At=Math.max(1,Math.round(a/we.length)),Mt=Math.max(1,Math.round(l/we.width))),Ae.current=[];const st=a/At,ft=l/Mt;for(let Rt=0;Rt<=At;Rt++)Ae.current.push({points:[new ae(-Te+Rt*st,-Ie,s),new ae(-Te+Rt*st,Ie,s)]});for(let Rt=0;Rt<=Mt;Rt++)Ae.current.push({points:[new ae(-Te,-Ie+Rt*ft,s),new ae(Te,-Ie+Rt*ft,s)]})}},[S,n,a,l,s]),m.useEffect(()=>{const At=()=>{Ln.getState().setEnableOrbitController(!0),me.current=!1,vt(!1)};return window.addEventListener("pointerup",At),()=>{window.removeEventListener("pointerup",At)}},[]);const We=m.useMemo(()=>(t!=null&&t.label?t.label:O.t("shared.SolarPanelElement",ye))+(t!=null&&t.locked?" ("+O.t("shared.ElementLocked",ye)+")":"")+(t!=null&&t.label?"":` +`+O.t("word.Coordinates",ye)+": ("+o.toFixed(1)+", "+i.toFixed(1)+", "+r.toFixed(1)+") "+O.t("word.MeterAbbreviation",ye)),[t==null?void 0:t.label,t==null?void 0:t.locked,ye,o,i,r]),De=(At,Mt)=>{At.intersections.length>0&&At.intersections[0].object===At.eventObject&&(Z(Mt),Mt===yo.Top?q.style.cursor="move":Mt===wi.Lower||Mt===wi.Upper||Mt===wi.Tilt?q.style.cursor="grab":q.style.cursor="pointer")},Fe=()=>{Z(null),q.style.cursor="default"},_e=m.useMemo(()=>zr(new Date(D),E),[D,E]),ot=T?_e.clone().applyAxisAngle(Po,-T):_e,Ye=m.useMemo(()=>{if(_e.z>0)switch(d){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:const At=Math.hypot(ot.x,ot.y);return new Qt(Math.atan2(At,ot.z),0,Math.atan2(ot.y,ot.x)+Vt,"ZXY");case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:return new Qt(0,Math.atan2(ot.x,ot.z),0,"ZXY");case Ma.VERTICAL_SINGLE_AXIS_TRACKER:return new Qt(c,0,Math.atan2(ot.y,ot.x)+Vt,"ZXY")}return new Qt(c,0,u,"ZXY")},[d,_e,c,u]),St=m.useMemo(()=>{const At=new ae;return y?At.fromArray(P).applyEuler(new Qt(Ye.x,Ye.y,Ye.z+T,"ZXY")):At},[y,P,Ye,T]),dt=-f/2-s/2,je=m.useMemo(()=>{const At=[],Mt=Math.floor(.5*a/g),st=Math.floor(.5*l*Math.abs(Math.cos(c))/g),ft=.5*Math.sin(c),Rt=Math.cos(u)*g,zt=Math.sin(u)*g;for(let Xe=-Mt;Xe<=Mt;Xe++)for(let ht=-st;ht<=st;ht++){const Je=Xe*Rt-ht*zt,mt=Xe*zt+ht*Rt;At.push(new ae(Je,mt,dt+ft*g*ht))}return At},[u,c,g,a,l,dt]),at=Math.max(1,(a+l)/16),ut=I9*at*1.5,wt=Af*at*2,rt=at*2/3,Qe=rt,Oe=new Array(13).fill(0),[et,vt]=m.useState(!1),ct=iQ(a,l,we,S,t==null?void 0:t.frameColor,t==null?void 0:t.backsheetColor),lt=oQ(e),tt=()=>U&<?h.jsx("meshBasicMaterial",{attach:"material-4",map:lt}):ct?Q||W===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:ct,color:A}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((we==null?void 0:we.color)==="Blue"?Kw:qw),shininess:W??Xm,side:ia,map:ct,color:A}):null,it=()=>(we==null?void 0:we.bifacialityFactor)===0||Q||f===0&&c===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:A}):ct?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((we==null?void 0:we.color)==="Blue"?Kw:qw),shininess:W??Xm,side:ia,map:ct,color:A}):null;return h.jsxs("group",{name:"Solar Panel Group Grandpa "+e,position:[o,i,r+Ce],children:[h.jsxs("group",{name:"Solar Panel Group Dad "+e,rotation:Ye,children:[h.jsxs(Ei,{receiveShadow:F,castShadow:F,uuid:e,ref:he,args:[a,l,s],name:"Solar Panel",onPointerDown:At=>{At.button!==2&&k(e,At,zo.Select)},onContextMenu:At=>{k(e,At,zo.ContextMenu),R(Mt=>{At.intersections.length>0&&At.intersections[0].object===he.current&&(Mt.contextMenuObjectType=z.SolarPanel)})},onPointerOver:At=>{At.intersections.length>0&&At.intersections[0].object===he.current&&(pe(!0),q.style.cursor="move")},onPointerOut:At=>{pe(!1),q.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:A}),h.jsx("meshStandardMaterial",{attach:"material-1",color:A}),h.jsx("meshStandardMaterial",{attach:"material-2",color:A}),h.jsx("meshStandardMaterial",{attach:"material-3",color:A}),tt(),it()]}),U&<&&Ae.current&&Ae.current.map((At,Mt)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:At.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Mt)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:e,args:[a,l],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),$&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Te,-Ie,0],[-Te,Ie,0],[Te,Ie,0],[Te,-Ie,0],[-Te,-Ie,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0}),$&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:fe,position:new ae(0,0,0),args:[wt,6,6],name:yo.Default,onPointerOver:At=>{De(At,yo.Top)},onPointerOut:At=>{Fe()},onPointerDown:At=>{k(e,At,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:se,position:[(Ee.x+Ne.x)/2,Ee.y,Ee.z],args:[ut,ut,s*1.2],name:yt.Lower,onPointerDown:At=>{k(e,At,zo.Resize),de.current&&R(Mt=>{const st=se.current.localToWorld(new ae(0,l,-Ee.z));Mt.resizeAnchor.copy(st)})},onPointerOver:At=>{De(At,yt.Lower)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yt.Lower||Y===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:oe,position:[(Ue.x+Le.x)/2,Ue.y,Ue.z],args:[ut,ut,s*1.2],name:yt.Upper,onPointerDown:At=>{k(e,At,zo.Resize),de.current&&R(Mt=>{const st=oe.current.localToWorld(new ae(0,-l,-Ue.z));Mt.resizeAnchor.copy(st)})},onPointerOver:At=>{De(At,yt.Upper)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yt.Upper||Y===yt.Upper?nr:pr})}),h.jsx(Ei,{ref:de,position:[Ee.x,(Ee.y+Ue.y)/2,Ee.z],args:[ut,ut,s*1.2],name:yt.Left,onPointerDown:At=>{k(e,At,zo.Resize),de.current&&R(Mt=>{const st=de.current.localToWorld(new ae(a,0,-Ee.z));Mt.resizeAnchor.copy(st)})},onPointerOver:At=>{De(At,yt.Left)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yt.Left||Y===yt.Left?nr:pr})}),h.jsx(Ei,{ref:ve,position:[Ne.x,(Ne.y+Le.y)/2,Ne.z],args:[ut,ut,s*1.2],name:yt.Right,onPointerDown:At=>{k(e,At,zo.Resize),de.current&&R(Mt=>{const st=ve.current.localToWorld(new ae(-a,0,-Ne.z));Mt.resizeAnchor.copy(st)})},onPointerOver:At=>{De(At,yt.Right)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yt.Right||Y===yt.Right?nr:pr})})]})]})]}),$&&!v&&d===Ma.NO_TRACKER&&h.jsxs("group",{position:[0,0,-f],rotation:[0,0,Ye.z],children:[h.jsx(l7,{id:e,position:[0,-Ie-rt/2,f],color:ne===wi.Upper||_===wi.Upper?nr:pr,ratio:rt,handleType:wi.Upper,hoverHandle:De,noHoverHandle:Fe}),h.jsx(l7,{id:e,position:[0,Ie+rt/2,f],color:ne===wi.Lower||_===wi.Lower?nr:pr,ratio:rt,handleType:wi.Lower,hoverHandle:De,noHoverHandle:Fe})]}),$&&!v&&d===Ma.NO_TRACKER&&Math.abs(f)>.1&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[Qe,1.1*Qe,18,2,-Vt,Math.PI],rotation:[0,-Vt,Ye.z,"ZXY"],onPointerOver:At=>{De(At,wi.Tilt)},onPointerOut:At=>{Fe()},onPointerDown:At=>{if(vt(!0),ne){Ln.getState().setEnableOrbitController(!1),me.current=!0;const Mt=B(e);Re.current=Mt.tiltAngle}R(Mt=>{Mt.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:ne===wi.Tilt||et?nr:pr})}),et&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:Pe,name:"Solar panel tilt handle",args:[Qe,2*Qe,18,2,-Vt,Math.PI],rotation:[0,-Vt,Ye.z,"ZXY"],onPointerDown:At=>{},onPointerUp:At=>{if(Math.abs(ze.current-Re.current)>kt){const Mt={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Re.current,newValue:ze.current,changedElementId:e,changedElementType:z.SolarPanel,undo:()=>{N(Mt.changedElementId,Mt.oldValue)},redo:()=>{N(Mt.changedElementId,Mt.newValue)}};J(Mt)}},onPointerMove:At=>{if(me.current){const Mt=new Gt;if(Mt.x=At.offsetX/q.clientWidth*2-1,Mt.y=-(At.offsetY/q.clientHeight)*2+1,re.setFromCamera(Mt,le),Pe.current){const st=re.intersectObjects([Pe.current]);if(st.length>0){const ft=st[0].point,Rt=new ae(o,i).applyEuler(new Qt(0,0,T)).add(new ae().fromArray(w)).setZ(w[2]+r+Ce),zt=new ae().subVectors(ft,Rt);let Xe=zt.angleTo(Po);if(!(.5*t.ly*Math.abs(Math.sin(Xe))>t.poleHeight)){const Je=u,mt=Je%Math.PI===0?Math.sign(-zt.y)*Math.sign(Math.cos(Je)):Math.sign(zt.x)*Math.sign(Math.sin(Je));Xe*=mt,N(e,Xe),ze.current=Xe}}}}},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,Qe],[0,0,1.75*Qe]],rotation:new Qt(c,0,Ye.z,"ZXY"),lineWidth:1}),Oe.map((At,Mt)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*Mt-Vt,0,Ye.z,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*Qe],[0,0,2*Qe]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Mt*15-90}°`,fontSize:20*Qe,fontFace:"Times Roman",textHeight:.15*Qe,position:[0,0,1.6*Qe]})]},Mt)),h.jsx("group",{rotation:new Qt(c,0,Ye.z,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(c/Math.PI*180)}°`,fontSize:20*Qe,fontFace:"Times Roman",textHeight:.2*Qe,position:[0,0,.75*Qe]})})]})]}),f>0&&je.map((At,Mt)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+Mt,castShadow:!1,receiveShadow:!1,args:[p,p,f+(At.z-dt)*2+s,qe,1],position:At,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:A})},Mt)),y&&_e.z>0&&h.jsxs("group",{rotation:[0,0,-T],children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[St.clone().multiplyScalar(.75),[0,0,0],_e.clone().multiplyScalar(ge)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[_e.clone().multiplyScalar(.5),St.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:be.toDegrees(_e.angleTo(St)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:_e.clone().multiplyScalar(.75).add(St.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:St.clone().multiplyScalar(.75),rotation:[Vt+Ye.x,0,Ye.z+T,"ZXY"],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",rotation:[0,0,-Ye.y],children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]}),(ie||b)&&!$&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:We,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(Ie*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})},W$t=Se.memo(L$t),nSe=Se.memo(({hx:t,hy:e,position:n,direction:o,color:i})=>{if(n===null)return null;const[r,a]=n,l=[];if(o==="x")l.push([-t,a,0]),l.push([t,a,0]);else if(o==="y")l.push([r,-e,0]),l.push([r,e,0]);else return o==="xy"?h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[[-t,a,0],[t,a,0]],color:i}),h.jsx(Fn,{points:[[r,-e,0],[r,e,0]],color:i})]}):null;return h.jsx(Fn,{points:l,color:i})}),cqe="Foundation Group",N$t=Se.memo(t=>{const{id:e,cx:n,cy:o,lx:i=1,ly:r=1,lz:a=.1,rotation:l=[0,0,0],color:s="gray",lineColor:c="black",lineWidth:u=.2,locked:d=!1,showLabel:f=!1,textureType:p=Or.NoTexture,solarStructure:g}=t,y=Hs(e),A=M(Sc),x=M(hu),C=M(jn),b=M(xb),v=M(dn),S=M(e3),w=M(nge),T=M(t3),P=M(R7),R=M(pge),H=M(gge),D=M(_8t),E=M(age),L=M(tje),U=M(H7),F=M(Rje),W=M(Hje),B=M(hp),k=M(Vc),N=M(sge),j=M(J2),Y=M(W8t),_=M(O8t),J=M(ss),Q=M(sA),ee=M(Hq),$=M(En),q=M(fge),le=M(tge),ie=M(ey),pe=gt(cs),ne=M(wf),Z=M(U1e),he=bn(o1),{camera:fe,gl:{domElement:se}}=Xi(),[oe,de]=m.useState(!1),[ve,Pe]=m.useState(null),[me,Re]=m.useState(!1),[ze,Ae]=m.useState({show:!1,direction:null,position:null}),[re,ge]=m.useState([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]),we=m.useRef(null),ye=m.useRef(!1),Te=m.useRef(!1),Ie=m.useRef(null),Ce=m.useRef(Ki.null),Ee=m.useRef(new Map),Ue=m.useRef(null),Ne=m.useRef(null),Le=m.useRef(null),qe=m.useRef(null),We=m.useRef(null),De=m.useRef(null),Fe=m.useRef(null),_e=m.useRef(null),ot=m.useRef(null),Ye=m.useRef(null),St=m.useRef(null),dt=m.useRef(null),je=m.useRef(new ae),at=m.useRef(new ae),ut=m.useRef(new ae(1,1,1)),wt=m.useRef(new ae(1,1,1)),rt=m.useRef(0),Qe=m.useRef(0),Oe=m.useRef([]),et=m.useRef([]),vt=m.useRef([]),ct=m.useRef([]),lt=m.useRef([]),tt=m.useRef([]),it=m.useMemo(()=>({lng:A}),[A]),At=m.useMemo(()=>new Gt,[]),Mt=m.useMemo(()=>new Gs,[]),st=i/2,ft=r/2,Rt=a/2,zt=m.useMemo(()=>new ae(-st,-ft,Rt),[st,ft,Rt]),Xe=m.useMemo(()=>new ae(-st,ft,Rt),[st,ft,Rt]),ht=m.useMemo(()=>new ae(st,-ft,Rt),[st,ft,Rt]),Je=m.useMemo(()=>new ae(st,ft,Rt),[st,ft,Rt]),mt=UH(),Ge=mt,xt=mt,It=mt*4,Tt=ft+It,Dt=m.useRef(!1),Lt=m.useRef(null),Et=M(U8t),an=M(dYe),Jt=m.useMemo(()=>new ae,[]);if(Le.current){let sn=-1;switch(Le.current.type){case z.SolarPanel:{sn=Le.current.poleHeight;break}case z.ParabolicTrough:{const qt=Le.current;sn=qt.poleHeight+qt.lx/2;break}case z.ParabolicDish:{const qt=Le.current;sn=qt.poleHeight+qt.lx/2+qt.lx*qt.lx/(4*qt.latusRectum);break}case z.FresnelReflector:{const qt=Le.current;sn=qt.poleHeight+qt.lx/2;break}}sn>=0&&Jt.set(0,0,(t==null?void 0:t.lz)/2+sn)}m.useEffect(()=>{Ee.current.clear();for(const sn of M.getState().elements)sn.type===z.Wall&&sn.parentId===e&&Ee.current.set(sn.id,sn)},[e,_]),m.useEffect(()=>{Y&&Y===we.current&&(Ee.current.delete(Y),ye.current=!1,Te.current=!1,we.current=null,v(sn=>{sn.addedWallId===sn.deletedWallId&&(sn.addedWallId=null),sn.deletedWallId=null}),Ln.getState().setEnableOrbitController(!0),Ae({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]))},[Y]),m.useEffect(()=>{if(t&&pe){const sn=he(t.id);Pe(sn?be.fetchHeatmapTexture(sn,ne??5):null)}},[pe,ne,Z]),m.useEffect(()=>{!Dt.current||!M.getState().getAutoDeletedElements()||hn()},[Et,an]);const hn=M2.debounce(()=>{if(!Lt.current)return;const sn=M.getState().getAutoDeletedElements();if(!sn)return;const{wall:qt,newAngle:jt,newJoints:pn}=Lt.current,Tn={name:"Move Wall",timestamp:Date.now(),id:qt.id,oldPoints:[[...lt.current[0]],[...lt.current[1]]],newPoints:[[...qt.leftPoint],[...qt.rightPoint]],oldJoints:[[...vt.current[0]],[...vt.current[1]]],newJoints:[[...pn[0]],[...pn[1]]],oldAngle:rt.current,newAngle:jt,flippedWallSide:Ce.current,autoDeletedElements:[...sn],undo(){switch(this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Bt=C(this.newJoints[0][0]);Bt&&qo(Bt);break}case Ki.right:{const Bt=C(this.newJoints[1][0]);Bt&&Hi(Bt);break}}const[$e,Pt]=this.oldJoints,[Nt,Ct]=this.newJoints;v(Bt=>{for(const Xt of Bt.elements)if(Xt.id===this.id){const[rn,gn]=this.oldPoints;Xt.cx=(rn[0]+gn[0])/2,Xt.cy=(rn[1]+gn[1])/2,Xt.lx=Math.hypot(rn[0]-gn[0],rn[1]-gn[1]);const mn=Xt;mn.relativeAngle=this.oldAngle,mn.leftPoint=[...rn],mn.rightPoint=[...gn],mn.leftJoints=[...$e],mn.rightJoints=[...Pt];break}Bt.resizeHandleType=null,Bt.elements.push(...this.autoDeletedElements),Bt.deletedRoofId=null,Bt.autoDeletedChild=null,Bt.autoDeletedRoofs=null,Bt.autoDeletedRoofIdSet.clear()}),$e[0]!==Nt[0]&&v(Bt=>{for(const Xt of Bt.elements)Xt.type===z.Wall&&(Xt.id===$e[0]&&(Xt.rightJoints=[this.id]),Xt.id===Nt[0]&&(this.flippedWallSide!==Ki.left?Xt.rightJoints=[]:Xt.leftJoints=[]))}),Pt[0]!==Ct[0]&&v(Bt=>{for(const Xt of Bt.elements)Xt.type===z.Wall&&(Xt.id===Pt[0]&&(Xt.leftJoints=[this.id]),Xt.id===Ct[0]&&(this.flippedWallSide!==Ki.right?Xt.leftJoints=[]:Xt.rightJoints=[]))}),Ce.current=Ki.null},redo(){const[$e,Pt]=this.oldJoints,[Nt,Ct]=this.newJoints;switch(v(Xt=>{for(const rn of Xt.elements)if(rn.id===this.id&&rn.type===z.Wall){const[gn,mn]=this.newPoints;rn.cx=(gn[0]+mn[0])/2,rn.cy=(gn[1]+mn[1])/2,rn.lx=Math.hypot(gn[0]-mn[0],gn[1]-mn[1]);const vn=rn;vn.relativeAngle=this.newAngle,vn.leftPoint=[...gn],vn.rightPoint=[...mn],vn.leftJoints=[...Nt],vn.rightJoints=[...Ct];break}}),$e[0]!==Nt[0]&&v(Xt=>{for(const rn of Xt.elements)rn.type===z.Wall&&(rn.id===$e[0]&&(rn.rightJoints=[]),rn.id===Nt[0]&&(this.flippedWallSide===Ki.right?rn.leftJoints=[this.id]:rn.rightJoints=[this.id]))}),Pt[0]!==Ct[0]&&v(Xt=>{for(const rn of Xt.elements)rn.type===z.Wall&&(rn.id===Pt[0]&&(rn.leftJoints=[]),rn.id===Ct[0]&&(this.flippedWallSide===Ki.right?rn.rightJoints=[this.id]:rn.leftJoints=[this.id]))}),this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Xt=C(this.newJoints[0][0]);Xt&&Hi(Xt);break}case Ki.right:{const Xt=C(this.newJoints[1][0]);Xt&&qo(Xt);break}}const Bt=new Set(this.autoDeletedElements.map(Xt=>Xt.id));v(Xt=>{Xt.resizeHandleType=null,Xt.elements=Xt.elements.filter(gn=>!Bt.has(gn.id));const rn=this.autoDeletedElements.find(gn=>gn.type===z.Roof);rn&&(Xt.deletedRoofId=rn.id)}),Ce.current=Ki.null}};$(Tn),Dt.current=!1,v($e=>{$e.autoDeletedRoofs=null,$e.autoDeletedRoofIdSet.clear(),$e.autoDeletedChild=null})},100),cn=sn=>{At.x=sn.offsetX/se.clientWidth*2-1,At.y=-(sn.offsetY/se.clientHeight)*2+1,Mt.setFromCamera(At,fe)},Sn=sn=>{switch(sn){case Or.Texture01:return{x:1,y:1};case Or.Texture02:return{x:2,y:2};case Or.Texture03:return{x:.4,y:.4};case Or.Texture04:return{x:.25,y:.25};case Or.Texture05:return{x:5,y:5};case Or.Texture06:return{x:1,y:1};case Or.Texture07:return{x:1,y:1};default:return{x:1,y:1}}},Pn=m.useMemo(()=>{let sn;switch(p){case Or.Texture01:sn=tqe;break;case Or.Texture02:sn=nqe;break;case Or.Texture03:sn=oqe;break;case Or.Texture04:sn=iqe;break;case Or.Texture05:sn=rqe;break;case Or.Texture06:sn=aqe;break;case Or.Texture07:sn=lqe;break;default:sn=Z1}return new tf().load(sn,qt=>{qt.wrapS=qt.wrapT=Ss;const jt=Sn(p);qt.repeat.set(i/jt.x,r/jt.y),Ai(qt)})},[p,i,r]),[Un,Ai]=m.useState(Pn),vo=m.useCallback((sn,qt)=>{gt.getState().duringCameraInteraction||sn.intersections.length>0&&(sn.intersections[0].object===sn.eventObject||sn.intersections.length>1&&sn.intersections[1].object===sn.eventObject)&&(v(pn=>{pn.hoveredHandle=qt}),be.isMoveHandle(qt)?se.style.cursor="move":qt===wi.Lower||qt===wi.Upper?se.style.cursor="grab":se.style.cursor=M.getState().addedFoundationId?"crosshair":"pointer")},[]),Oo=m.useCallback(()=>{v(sn=>{sn.hoveredHandle=null}),se.style.cursor=M.getState().addedFoundationId?"crosshair":"default"},[]),li=sn=>{switch(sn){case z.Human:case z.Tree:case z.Flower:case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Wall:return!0;default:return!1}},po=(sn,qt)=>{let jt=qt,pn=null,Tn=null,$e=null,Pt;if(!M.getState().enableFineGrid)for(const[Nt,Ct]of Ee.current){if(Nt===we.current||Le.current&&Nt===Le.current.id)continue;const Bt=new ae(Ct.leftPoint[0],Ct.leftPoint[1],0),Xt=new ae(Ct.rightPoint[0],Ct.rightPoint[1],0),rn=(Bt==null?void 0:Bt.distanceTo(sn))??Number.MAX_VALUE,gn=(Xt==null?void 0:Xt.distanceTo(sn))??Number.MAX_VALUE,mn=rn<=gn,vn=mn?rn:gn,kn=mn?Bt:Xt;vn<=jt+.01&&(jt=vn,pn=kn,Pt=mn?Ct.leftJoints[0]:Ct.rightJoints[0],Tn=Nt,$e=mn?B1.Left:B1.Right)}return{id:Tn,point:pn,side:$e,jointId:Pt}},eo=(sn,qt)=>(M.getState().enableFineGrid?(sn=be.snapToFineGrid(sn),qt=null):qt?sn=qt:sn=be.snapToNormalGrid(sn),sn),uo=sn=>{Ee.current.clear();for(const jt of M.getState().elements)jt.type===z.Wall&&jt.parentId===e&&Ee.current.set(jt.id,jt);let qt=Ee.current.get(sn);for(;qt&&qt.leftJoints.length>0;){const jt=Ee.current.get(qt.id);if(!jt||(v(pn=>{for(const Tn of pn.elements)if(Tn.id===jt.id){const $e=Tn;$e.relativeAngle=(jt.relativeAngle+Math.PI)%na,$e.leftPoint=[...jt.rightPoint],$e.rightPoint=[...jt.leftPoint],$e.leftJoints=[jt.rightJoints[0]],$e.rightJoints=[jt.leftJoints[0]];break}}),qt=Ee.current.get(qt.leftJoints[0]),qt&&qt.id===sn))break}v(jt=>{jt.updateWallMapOnFoundationFlag=!jt.updateWallMapOnFoundationFlag,M.getState().resizeHandleType&&(jt.resizeHandleType=M.getState().resizeHandleType===yt.LowerLeft?yt.LowerRight:yt.LowerLeft)}),Ce.current=Ce.current===Ki.null?Ki.loop:Ki.null},qo=(sn,qt)=>{Ee.current.clear();for(const Tn of M.getState().elements)Tn.type===z.Wall&&Tn.parentId===e&&Ee.current.set(Tn.id,Tn);const jt=sn;let pn=sn;for(;pn;){const Tn=Ee.current.get(pn.id);if(!Tn)break;v(Pt=>{for(const Nt of Pt.elements)if(Tn&&Nt.id===Tn.id){const Ct=Nt;Ct.relativeAngle=(Tn.relativeAngle+Math.PI)%na,Ct.leftPoint=[...Tn.rightPoint],Ct.rightPoint=[...Tn.leftPoint],Ct.leftJoints=Tn.rightJoints.length>0?[Tn.rightJoints[0]]:[],Ct.rightJoints=Tn.leftJoints.length>0?[Tn.leftJoints[0]]:[];break}});let $e;if(Tn.leftJoints.length>0&&($e=Ee.current.get(Tn.leftJoints[0])),$e&&$e.id!==jt.id)pn=$e;else break}v(Tn=>{if(qt)for(const $e of Tn.elements)$e.type===z.Wall&&($e.id===jt.id&&($e.leftJoints=[qt.id]),$e.id===qt.id&&($e.rightJoints=[jt.id]));Tn.updateWallMapOnFoundationFlag=!Tn.updateWallMapOnFoundationFlag,Tn.resizeHandleType=yt.LowerLeft}),Ce.current=Ce.current===Ki.null?Ki.right:Ki.null},Hi=(sn,qt)=>{Ee.current.clear();for(const Tn of M.getState().elements)Tn.type===z.Wall&&Tn.parentId===e&&Ee.current.set(Tn.id,Tn);const jt=sn;let pn=sn;for(;pn;){const Tn=Ee.current.get(pn.id);if(!Tn)break;v(Pt=>{for(const Nt of Pt.elements)if(Tn&&Nt.id===Tn.id){const Ct=Nt;Ct.relativeAngle=(Tn.relativeAngle+Math.PI)%na,Ct.leftPoint=[...Tn.rightPoint],Ct.rightPoint=[...Tn.leftPoint],Ct.leftJoints=Tn.rightJoints.length>0?[Tn.rightJoints[0]]:[],Ct.rightJoints=Tn.leftJoints.length>0?[Tn.leftJoints[0]]:[];break}});let $e;if(Tn.rightJoints.length>0&&($e=Ee.current.get(Tn.rightJoints[0])),$e&&$e.id!==jt.id)pn=$e;else break}v(Tn=>{if(qt)for(const $e of Tn.elements)$e.type===z.Wall&&($e.id===jt.id&&($e.rightJoints=[qt.id]),$e.id===qt.id&&($e.leftJoints=[jt.id]));Tn.updateWallMapOnFoundationFlag=!Tn.updateWallMapOnFoundationFlag,Tn.resizeHandleType=yt.LowerRight}),Ce.current=Ce.current===Ki.null?Ki.left:Ki.null},vi=sn=>{let qt;Ee.current.clear();for(const pn of M.getState().elements)pn.id===sn&&(qt=pn),pn.type===z.Wall&&pn.parentId===e&&Ee.current.set(pn.id,pn);let jt=!1;for(;qt&&qt.leftJoints.length>0;)if(qt=Ee.current.get(qt.leftJoints[0]),(qt==null?void 0:qt.id)===sn){jt=!0;break}if(jt){let pn=0,Tn=0;for(;qt&&qt.leftJoints.length>0;){const $e=Ee.current.get(qt.leftJoints[0]),Pt=(Math.PI*3-(qt.relativeAngle-$e.relativeAngle))%na;if(pn+=Pt,Tn+=1,qt=$e,qt.id===sn)break}pn>(Tn-2)*Math.PI+.1?uo(sn):Ce.current!==Ki.null&&(Ce.current=Ki.loop)}return jt},Cn=sn=>{const qt={name:"Add",timestamp:Date.now(),addedElement:sn,undo:()=>{B(qt.addedElement.id,!1)},redo:()=>{v(jt=>{jt.elements.push(qt.addedElement),jt.selectedElement=qt.addedElement})}};$(qt)},yn=sn=>{const qt={name:"Add",timestamp:Date.now(),addedElement:sn,flippedWallSide:Ce.current,undo:()=>{const jt=qt.addedElement;if(B(jt.id,!1),(qt.flippedWallSide===Ki.right||qt.flippedWallSide===Ki.loop)&&jt.rightJoints.length>0){const pn=C(jt.rightJoints[0]);pn&&Hi(pn)}else if(qt.flippedWallSide===Ki.left&&jt.leftJoints.length>0){const pn=C(jt.leftJoints[0]);pn&&qo(pn)}},redo:()=>{const jt=qt.addedElement;if(qt.flippedWallSide===Ki.right||qt.flippedWallSide===Ki.loop&&jt.rightJoints.length>0){const pn=C(jt.rightJoints[0]);pn&&qo(pn)}else if(qt.flippedWallSide===Ki.left&&jt.leftJoints.length>0){const pn=C(jt.leftJoints[0]);pn&&Hi(pn)}jt.rightJoints.length>0&&R(jt.rightJoints[0],[jt.id]),jt.leftJoints.length>0&&H(jt.leftJoints[0],[jt.id]),v(pn=>{pn.elements.push(jt),pn.selectedElement=jt,pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag})}};$(qt)},to=sn=>{const qt=M.getState().getAutoDeletedElements(),jt={name:"Resize Wall",timestamp:Date.now(),resizedElementId:sn.id,resizedElementType:sn.type,oldPosition:je.current.clone(),newPosition:at.current.clone(),oldDimension:ut.current.clone(),newDimension:wt.current.clone(),oldAngle:rt.current,newAngle:Qe.current,oldJoints:[[...vt.current[0]],[...vt.current[1]]],newJoints:[[...ct.current[0]],[...ct.current[1]]],oldPoint:[[...lt.current[0]],[...lt.current[1]]],newPoint:[[...tt.current[0]],[...tt.current[1]]],flippedWallSide:Ce.current,autoDeletedElement:qt?[...qt]:[],undo:()=>{switch(jt.flippedWallSide){case Ki.right:if(jt.newJoints[1]){const pn=C(jt.newJoints[1][0]);pn&&Hi(pn)}break;case Ki.left:if(jt.newJoints[0]){const pn=C(jt.newJoints[0][0]);pn&&qo(pn)}break;case Ki.loop:if(jt.newJoints[0]&&jt.newJoints[1])uo(jt.resizedElementId);else if(jt.newJoints[1]){const pn=C(jt.newJoints[1][0]);pn&&Hi(pn)}else if(jt.newJoints[0]){const pn=C(jt.newJoints[0][0]);pn&&qo(pn)}break}v(pn=>{for(const Tn of pn.elements)if(Tn.id===jt.resizedElementId){const $e=Tn;switch($e.cx=jt.oldPosition.x,$e.cy=jt.oldPosition.y,$e.cz=jt.oldPosition.z,$e.lx=jt.oldDimension.x,$e.ly=jt.oldDimension.y,$e.lz=jt.oldDimension.z,$e.relativeAngle=jt.oldAngle,$e.leftJoints=[...jt.oldJoints[0]],$e.rightJoints=[...jt.oldJoints[1]],$e.leftPoint=[...jt.oldPoint[0]],$e.rightPoint=[...jt.oldPoint[1]],jt.flippedWallSide){case Ki.loop:{if(jt.oldJoints[0]!==jt.newJoints[1])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[1][0]&&(Pt.rightJoints=[]),Pt.id===jt.oldJoints[0][0]&&(Pt.rightJoints=[jt.resizedElementId]));else if(jt.oldJoints[1]!==jt.newJoints[0])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[0][0]&&(Pt.leftJoints=[]),Pt.id===jt.oldJoints[1][0]&&(Pt.leftJoints=[jt.resizedElementId]));break}case Ki.left:case Ki.right:{if(!jt.oldJoints[0]&&jt.newJoints[1]){for(const Pt of pn.elements)if(Pt.type===z.Wall&&Pt.id===jt.newJoints[1][0]){Pt.leftJoints=[];break}}else if(!jt.oldJoints[1]&&jt.newJoints[0]){for(const Pt of pn.elements)if(Pt.type===z.Wall&&Pt.id===jt.newJoints[0][0]){Pt.rightJoints=[];break}}else if(jt.flippedWallSide===Ki.left&&jt.oldJoints[0])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[1][0]&&(Pt.leftJoints=[]),Pt.id===jt.oldJoints[0][0]&&(Pt.rightJoints=[$e.id]));else if(jt.flippedWallSide===Ki.right&&jt.oldJoints[1])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[0][0]&&(Pt.rightJoints=[]),Pt.id===jt.oldJoints[1][0]&&(Pt.leftJoints=[$e.id]));break}case Ki.null:{if(jt.oldJoints[0]!==jt.newJoints[0])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[0][0]&&(Pt.rightJoints=[]),Pt.id===jt.oldJoints[0][0]&&(Pt.rightJoints=[$e.id]));if(jt.oldJoints[1]!==jt.newJoints[1])for(const Pt of pn.elements)Pt.type===z.Wall&&(Pt.id===jt.newJoints[1][0]&&(Pt.leftJoints=[]),Pt.id===jt.oldJoints[1][0]&&(Pt.leftJoints=[$e.id]));pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag;break}}break}pn.elements.push(...jt.autoDeletedElement),pn.resizeHandleType=null,pn.deletedRoofId=null,pn.autoDeletedRoofs=null,pn.autoDeletedRoofIdSet.clear(),pn.autoDeletedChild=null}),Ce.current=Ki.null},redo:()=>{jt.autoDeletedElement.length>0&&B(jt.autoDeletedElement[0].id,!1,!1,!0);const pn=new Set(jt.autoDeletedElement.map(Tn=>Tn.id));switch(v(Tn=>{Tn.elements=Tn.elements.filter($e=>!pn.has($e.id));for(const $e of Tn.elements)if($e.id===jt.resizedElementId){const Pt=$e;switch(Pt.cx=jt.newPosition.x,Pt.cy=jt.newPosition.y,Pt.cz=jt.newPosition.z,Pt.lx=jt.newDimension.x,Pt.ly=jt.newDimension.y,Pt.lz=jt.newDimension.z,jt.flippedWallSide){case Ki.left:Pt.relativeAngle=(jt.newAngle+Math.PI)%na;for(const Nt of Tn.elements)if(Nt.type===z.Wall&&Nt.id===jt.oldJoints[0][0]){Nt.rightJoints=[];break}break;case Ki.right:Pt.relativeAngle=(jt.newAngle+Math.PI)%na;for(const Nt of Tn.elements)if(Nt.type===z.Wall&&Nt.id===jt.oldJoints[1][0]){Nt.leftJoints=[];break}break;case Ki.loop:Pt.relativeAngle=(jt.newAngle+Math.PI)%na,Pt.leftJoints=[...jt.newJoints[1]],Pt.rightJoints=[...jt.newJoints[0]],Pt.leftPoint=[...jt.newPoint[1]],Pt.rightPoint=[...jt.newPoint[0]];for(const Nt of Tn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[0][0]&&(Nt.leftJoints=[Pt.id]),Nt.id===jt.newJoints[1][0]&&(Nt.rightJoints=[Pt.id]));break;case Ki.null:if(Pt.relativeAngle=jt.newAngle,Pt.leftJoints=[...jt.newJoints[0]],Pt.rightJoints=[...jt.newJoints[1]],Pt.leftPoint=[...jt.newPoint[0]],Pt.rightPoint=[...jt.newPoint[1]],jt.oldJoints[0][0]!==jt.newJoints[0][0])for(const Nt of Tn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[0][0]&&(Nt.rightJoints=[Pt.id]),Nt.id===jt.oldJoints[0][0]&&(Nt.rightJoints=[]));if(jt.oldJoints[1][0]!==jt.newJoints[1][0])for(const Nt of Tn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[1][0]&&(Nt.leftJoints=[Pt.id]),Nt.id===jt.oldJoints[1][0]&&(Nt.leftJoints=[]));Tn.updateWallMapOnFoundationFlag=!Tn.updateWallMapOnFoundationFlag;break}break}Tn.resizeHandleType=null}),setTimeout(()=>{v(Tn=>{Tn.deletedRoofId=null,Tn.autoDeletedRoofs=null,Tn.autoDeletedRoofIdSet.clear()})}),jt.flippedWallSide){case Ki.left:{const Tn=C(jt.resizedElementId),$e=C(jt.newJoints[1][0]);Hi(Tn,$e);break}case Ki.right:{const Tn=C(jt.resizedElementId),$e=C(jt.newJoints[0][0]);qo(Tn,$e);break}case Ki.loop:Ee.current.clear();for(const Tn of M.getState().elements)Tn.type===z.Wall&&Tn.parentId===e&&Ee.current.set(Tn.id,Tn);uo(jt.resizedElementId);break}Ce.current=Ki.null}};$(jt),v(pn=>{pn.actionState.wallHeight=sn.lz,pn.deletedRoofId=null,pn.autoDeletedRoofs=null,pn.autoDeletedRoofIdSet.clear(),pn.autoDeletedChild=[]})},Do=(sn,qt,jt)=>{if(sn.roofId)Dt.current=!0,Lt.current={wall:sn,newAngle:qt,newJoints:[[...jt[0]],[...jt[1]]]};else{const pn={name:"Move Wall",timestamp:Date.now(),id:sn.id,oldPoints:[[...lt.current[0]],[...lt.current[1]]],newPoints:[[...sn.leftPoint],[...sn.rightPoint]],oldJoints:[[...vt.current[0]],[...vt.current[1]]],newJoints:[[...jt[0]],[...jt[1]]],oldAngle:rt.current,newAngle:qt,flippedWallSide:Ce.current,undo(){switch(this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Ct=C(this.newJoints[0][0]);Ct&&qo(Ct);break}case Ki.right:{const Ct=C(this.newJoints[1][0]);Ct&&Hi(Ct);break}}const[Tn,$e]=this.oldJoints,[Pt,Nt]=this.newJoints;v(Ct=>{for(const Bt of Ct.elements)if(Bt.id===this.id){const[Xt,rn]=this.oldPoints;Bt.cx=(Xt[0]+rn[0])/2,Bt.cy=(Xt[1]+rn[1])/2,Bt.lx=Math.hypot(Xt[0]-rn[0],Xt[1]-rn[1]);const gn=Bt;gn.relativeAngle=this.oldAngle,gn.leftPoint=[...Xt],gn.rightPoint=[...rn],gn.leftJoints=[...Tn],gn.rightJoints=[...$e];break}Ct.resizeHandleType=null}),Tn[0]!==Pt[0]&&v(Ct=>{for(const Bt of Ct.elements)Bt.type===z.Wall&&(Bt.id===Tn[0]&&(Bt.rightJoints=[this.id]),Bt.id===Pt[0]&&(this.flippedWallSide!==Ki.left?Bt.rightJoints=[]:Bt.leftJoints=[]))}),$e[0]!==Nt[0]&&v(Ct=>{for(const Bt of Ct.elements)Bt.type===z.Wall&&(Bt.id===$e[0]&&(Bt.leftJoints=[this.id]),Bt.id===Nt[0]&&(this.flippedWallSide!==Ki.right?Bt.leftJoints=[]:Bt.rightJoints=[]))}),Ce.current=Ki.null},redo(){const[Tn,$e]=this.oldJoints,[Pt,Nt]=this.newJoints;switch(v(Ct=>{for(const Bt of Ct.elements)if(Bt.id===this.id&&Bt.type===z.Wall){const[Xt,rn]=this.newPoints;Bt.cx=(Xt[0]+rn[0])/2,Bt.cy=(Xt[1]+rn[1])/2,Bt.lx=Math.hypot(Xt[0]-rn[0],Xt[1]-rn[1]);const gn=Bt;gn.relativeAngle=this.newAngle,gn.leftPoint=[...Xt],gn.rightPoint=[...rn],gn.leftJoints=[...Pt],gn.rightJoints=[...Nt];break}}),Tn[0]!==Pt[0]&&v(Ct=>{for(const Bt of Ct.elements)Bt.type===z.Wall&&(Bt.id===Tn[0]&&(Bt.rightJoints=[]),Bt.id===Pt[0]&&(this.flippedWallSide===Ki.right?Bt.leftJoints=[this.id]:Bt.rightJoints=[this.id]))}),$e[0]!==Nt[0]&&v(Ct=>{for(const Bt of Ct.elements)Bt.type===z.Wall&&(Bt.id===$e[0]&&(Bt.leftJoints=[]),Bt.id===Nt[0]&&(this.flippedWallSide===Ki.right?Bt.rightJoints=[this.id]:Bt.leftJoints=[this.id]))}),this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Ct=C(this.newJoints[0][0]);Ct&&Hi(Ct);break}case Ki.right:{const Ct=C(this.newJoints[1][0]);Ct&&qo(Ct);break}}v(Ct=>{Ct.resizeHandleType=null}),Ce.current=Ki.null}};$(pn)}},ni=sn=>{if(sn.button===2){sn.altKey&&k(e,sn,zo.Select);return}v(pn=>{pn.contextMenuObjectType=null}),M.getState().objectTypeToAdd!==z.Window&&!q()&&k(e,sn,zo.Select);const qt=b();let jt=!1;if(sn.intersections[0].object.name===z.Polygon&&M.getState().objectTypeToAdd!==z.None&&(jt=!0),(qt==null?void 0:qt.id)===e||jt)if(li(M.getState().objectTypeToAdd)){if(t){Re(!0);const pn=sn.intersections.filter($e=>!$e.eventObject.name.startsWith("Wall Intersection Plane"))[0].point,Tn=N(t,pn);Tn&&Cn(Tn),v($e=>{$e.actionModeLock||($e.objectTypeToAdd=z.None)})}}else Ln.getState().selectNone(),Ln.setState({foundationRef:Ue});else if(qt&&qt.parentId===e&&li(qt.type))switch(Le.current=qt,qt.type===z.Wall&&!ye.current&&(Ie.current=[...M.getState().elements]),Re(!0),je.current.set(qt.cx,qt.cy,qt.cz),ut.current.set(qt.lx,qt.ly,qt.lz),gt.getState().setPrimitiveStore("oldParentId",e),gt.getState().setPrimitiveStore("oldFoundationId",e),qt.type){case z.SolarPanel:case z.ParabolicTrough:case z.FresnelReflector:{rt.current=qt.relativeAzimuth;break}case z.Polygon:{Oe.current=qt.vertices.map(pn=>({...pn}));break}case z.Wall:{const pn=qt;rt.current=pn.relativeAngle,vt.current=[[...pn.leftJoints],[...pn.rightJoints]],lt.current=[[...pn.leftPoint],[...pn.rightPoint]],bo.current=pn.leftJoints[0],Ro.current=pn.rightJoints[0],Ee.current.clear();for(const Tn of M.getState().elements)Tn.type===z.Wall&&Tn.parentId===e&&Ee.current.set(Tn.id,Tn);break}}if(ye.current&&we.current&&Ne.current){const pn=Mt.intersectObjects([Ne.current]);if(pn.length===0)return;let Tn=be.wallRelativePosition(pn[0].point,t);re[0].position&&(Tn.setX(re[0].position[0]),Tn.setY(re[0].position[1]));const{id:$e,point:Pt,side:Nt,jointId:Ct}=po(Tn,1.5);Tn=eo(Tn,Pt);let Bt=yt.LowerRight;if($e){const Xt=C($e);Nt===B1.Right?v(rn=>{for(const gn of rn.elements)if(gn.type===z.Wall){if(gn.id===we.current){const mn=gn;mn.cx=Tn.x,mn.cy=Tn.y,Xt.rightJoints.length===0&&(mn.leftJoints=[Xt.id])}gn.id===$e&&Xt.rightJoints.length===0&&(gn.rightJoints=we.current?[we.current]:[])}}):Nt===B1.Left&&!Ct&&(v(rn=>{for(const gn of rn.elements)if(gn.type===z.Wall){if(gn.id===we.current){const mn=gn;mn.cx=Tn.x,mn.cy=Tn.y,Xt.leftJoints.length===0&&(mn.rightJoints=[Xt.id])}gn.id===$e&&Xt.leftJoints.length===0&&(gn.leftJoints=we.current?[we.current]:[])}}),Bt=yt.LowerLeft)}else S(we.current,Tn.x,Tn.y);ye.current=!1,Te.current=!0,D(we.current,[Tn.x,Tn.y,Tn.z]),v(Xt=>{Xt.resizeHandleType=Bt,Xt.resizeAnchor=be.wallAbsolutePosition(Tn,t)}),Ln.getState().setEnableOrbitController(!1),Le.current=qt}},Fo=sn=>{if(Wl&&Cc(!1),sn.altKey&&sn.button===2&&W&&W.length>0){v(pn=>{pn.pastePoint.copy(sn.intersections[0].point),pn.clickObjectType=z.Foundation,pn.pasteNormal=Po});const jt=F();if(jt.length>0){const pn={name:"Paste to Point",timestamp:Date.now(),pastedElements:jt.map(Tn=>({...Tn})),undo:()=>{for(const Tn of pn.pastedElements)B(Tn.id,!1)},redo:()=>{v(Tn=>{Tn.elements.push(...pn.pastedElements),Tn.selectedElement=pn.pastedElements[0]})}};$(pn)}}if(!Le.current||Le.current.type===z.Tree||Le.current.type===z.Flower||Le.current.type===z.Human)return;const qt=C(Le.current.id);if(qt){switch(qt.type){case z.Wall:{const jt=qt;if(ye.current)v(pn=>{pn.elements.pop(),pn.addedWallId=null,pn.actionModeLock&&(pn.objectTypeToAdd=z.Wall,mx.selectNone(pn))}),we.current&&Ee.current.delete(we.current),we.current=null,ye.current=!1,Te.current=!1;else if(Te.current&&we.current&&Ne.current)Ln.getState().setEnableOrbitController(!0),v(pn=>{pn.actionModeLock&&(pn.objectTypeToAdd=z.Wall,mx.selectNone(pn)),pn.addedWallId=null,jt.lx===0&&Ie.current?(pn.elements=[...Ie.current],we.current&&Ee.current.delete(we.current)):(yn(jt),Ee.current.set(jt.id,jt))}),we.current=null,Te.current=!1;else if(M.getState().resizeHandleType)jt.lx>.45?(Ee.current.set(jt.id,jt),at.current.set(jt.cx,jt.cy,jt.cz),wt.current.set(jt.lx,jt.ly,jt.lz),Qe.current=jt.relativeAngle,ct.current=[[...jt.leftJoints],[...jt.rightJoints]],tt.current=[[...jt.leftPoint],[...jt.rightPoint]],to(jt)):v(pn=>{Ie.current&&(pn.elements=[...Ie.current],Ie.current=null)});else if(M.getState().moveHandleType){let pn=jt.relativeAngle,Tn=[],$e=[];if(bo.current)if(jt.leftJoints.length>0&&(bo.current!==jt.leftJoints[0]||bo.current===jt.leftJoints[0]&&oi.current)&&H(jt.leftJoints[0],[]),oi.current)R(bo.current,[jt.id]),$e=[bo.current];else if(Tn=[bo.current],So.current){R(bo.current,[jt.id]);const Pt=C(bo.current);Pt&&Hi(Pt)}else H(bo.current,[jt.id]);else jt.leftJoints.length>0&&jt.leftJoints[0]!==Ro.current&&(Tn=[],H(jt.leftJoints[0],[]));if(Ro.current)if(jt.rightJoints.length>0&&(Ro.current!==jt.rightJoints[0]||Ro.current===jt.rightJoints[0]&&oi.current)&&jt.rightJoints[0]!==bo.current&&R(jt.rightJoints[0],[]),oi.current)H(Ro.current,[jt.id]),Tn=[Ro.current];else if($e=[Ro.current],go.current){H(Ro.current,[jt.id]);const Pt=C(Ro.current);Pt&&qo(Pt)}else R(Ro.current,[jt.id]);else jt.rightJoints.length>0&&jt.rightJoints[0]!==bo.current&&($e=[],R(jt.rightJoints[0],[]));v(Pt=>{for(const Nt of Pt.elements)if(Nt.id===jt.id&&Nt.type===z.Wall){const Ct=Nt;if(oi.current&&(pn=(Ct.relativeAngle+Math.PI)%na,Ct.relativeAngle=pn,[Ct.leftPoint,Ct.rightPoint]=[[...Ct.rightPoint],[...Ct.leftPoint]]),Tn.length===0&&$e.length===0)Ct.roofId=null;else if(Tn.length>0){const Bt=Pt.elements.find(Xt=>Xt.id===Tn[0]);Bt&&(Ct.roofId=Bt.roofId)}else if($e.length>0){const Bt=Pt.elements.find(Xt=>Xt.id===$e[0]);Bt&&(Ct.roofId=Bt.roofId)}Ct.leftJoints=[...Tn],Ct.rightJoints=[...$e];break}Pt.updateWallMapOnFoundationFlag=!Pt.updateWallMapOnFoundationFlag}),vi(jt.id),Do(jt,pn,[[...Tn],[...$e]]),oi.current=!1,So.current=!1,go.current=!1,bo.current=null,Ro.current=null}Ce.current=Ki.null,v(pn=>{pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag}),Ae({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]);break}case z.Polygon:{if(M.getState().moveHandleType||M.getState().resizeHandleType){et.current=qt.vertices.map(pn=>({...pn}));const jt={name:M.getState().moveHandleType?"Move Polygon":"Resize Polygon",timestamp:Date.now(),oldValue:Oe.current,newValue:et.current,changedElementId:qt.id,changedElementType:qt.type,undo:()=>{U(jt.changedElementId,jt.oldValue)},redo:()=>{U(jt.changedElementId,jt.newValue)}};$(jt)}break}default:if(M.getState().resizeHandleType){if(at.current.set(qt.cx,qt.cy,qt.cz),wt.current.set(qt.lx,qt.ly,qt.lz),at.current.distanceToSquared(je.current)>kt||wt.current.distanceToSquared(ut.current)>kt){const jt={name:"Resize",timestamp:Date.now(),resizedElementId:Le.current.id,resizedElementType:Le.current.type,oldCx:je.current.x,oldCy:je.current.y,oldCz:je.current.z,newCx:at.current.x,newCy:at.current.y,newCz:at.current.z,oldLx:ut.current.x,oldLy:ut.current.y,oldLz:ut.current.z,newLx:wt.current.x,newLy:wt.current.y,newLz:wt.current.z,undo:()=>{S(jt.resizedElementId,jt.oldCx,jt.oldCy,jt.oldCz),w(jt.resizedElementId,jt.oldLx,jt.oldLy,jt.oldLz)},redo:()=>{S(jt.resizedElementId,jt.newCx,jt.newCy,jt.newCz),w(jt.resizedElementId,jt.newLx,jt.newLy,jt.newLz)}};$(jt)}}else if(M.getState().rotateHandleType){if(be.isSolarCollector(Le.current)){const jt=Le.current;if(Math.abs(Qe.current-rt.current)>kt)if(Pc(jt,Qe.current)){v(Tn=>{Tn.selectedElementAngle=Qe.current});const pn={name:"Rotate",timestamp:Date.now(),oldValue:rt.current,newValue:Qe.current,changedElementId:jt.id,changedElementType:jt.type,undo:()=>{E(pn.changedElementId,pn.oldValue)},redo:()=>{E(pn.changedElementId,pn.newValue)}};$(pn)}else E(jt.id,rt.current)}}else if(at.current.set(qt.cx,qt.cy,qt.cz),at.current.distanceToSquared(je.current)>kt){let jt=!0;be.isSolarCollector(qt)&&(jt=Br(qt,qt.cx,qt.cy)),jt?nf.addUndoableMove():v(pn=>{const Tn=pn.elements.find(Ct=>Ct.id===qt.id);if(!Tn||!pn.selectedElement)return;const $e=pn.selectedElement;Tn.cx=$e.cx,Tn.cy=$e.cy,Tn.cz=$e.cz,Tn.rotation=[...$e.rotation],Tn.normal=[...$e.normal];const Pt=gt.getState().oldParentId,Nt=gt.getState().oldFoundationId;Pt&&(Tn.parentId=Pt),Nt&&(Tn.foundationId=Nt)})}}Re(!1),Le.current=null,v(jt=>{jt.resizeHandleType=null,jt.moveHandleType=null})}},bo=m.useRef(null),Ro=m.useRef(null),oi=m.useRef(!1),go=m.useRef(!1),So=m.useRef(!1),Uo=(sn,qt,jt)=>{let pn=Math.atan2(qt.y-sn.y,qt.x-sn.x)-(jt===yt.LowerLeft?Math.PI:0);return pn=pn>=0?pn:(na+pn)%na,pn},_i=(sn,qt)=>{let pn=null,Tn=null,$e=1/0,Pt=1/0;for(const[Nt,Ct]of Ee.current)if(Le.current!==null&&Ct.id!==Le.current.id&&Ct.id!==qt){const Bt=Math.abs(sn.x-Ct.leftPoint[0]),Xt=Math.abs(sn.x-Ct.rightPoint[0]),rn=Math.abs(sn.y-Ct.leftPoint[1]),gn=Math.abs(sn.y-Ct.rightPoint[1]);Bt<1&&Bt<$e&&($e=Bt,pn=Ct.leftPoint[0]),Xt<1&&Xt<$e&&($e=Xt,pn=Ct.rightPoint[0]),rn<1&&rn{const $e=Uo(sn,qt,jt);let Pt=null,Nt=null;return $e<.05||$e>na-.05||Math.abs($e-Math.PI)<.05||Math.abs(qt.y-sn.y)<1?Nt=sn.y:(Math.abs($e-Math.PI/2)<.05||Math.abs($e-3*Math.PI/2)<.05||Math.abs(qt.x-sn.x)<1)&&(Pt=sn.x),[Pt,Nt]},ar=(sn,qt,jt,pn)=>{const[Tn,$e]=_i(qt),[Pt,Nt]=Qo(sn,qt,jt),Ct=ur(qt.x,Tn,Pt),Bt=ur(qt.y,$e,Nt);return new ae(Ct,Bt,qt.z)},ur=(sn,qt,jt)=>qt!==null&&jt!==null?Math.abs(qt-sn){let[pn,Tn]=[1/0,1/0],$e=null,Pt=null;for(const[Nt,Ct]of Ee.current)if(Le.current!==null&&Ct.id!==Le.current.id&&Ct.id!==jt){const Bt=Math.abs(sn.x-Ct.leftPoint[0]),Xt=Math.abs(sn.x-Ct.rightPoint[0]);Bt<.01&&Bt{$e!==null&&Pt!==null?(Nt[qt].direction="xy",Nt[qt].position=[$e,Pt]):$e!==null?(Nt[qt].direction="y",Nt[qt].position=[$e,sn.y]):Pt!==null?(Nt[qt].direction="x",Nt[qt].position=[sn.x,Pt]):(Nt[qt].direction=null,Nt[qt].position=null)})),[$e!==null,Pt!==null]},ba=(sn,qt)=>Math.abs(qt)<.01||Math.abs(qt-Math.PI)<.01?(Ae(jt=>({...jt,direction:"x",position:[sn.x,sn.y]})),[!0,!1]):Math.abs(qt-Math.PI/2)<.01||Math.abs(qt-3*Math.PI/2)<.01?(Ae(jt=>({...jt,direction:"y",position:[sn.x,sn.y]})),[!1,!0]):(Ae(jt=>({...jt,direction:null,position:null})),[!1,!1]),Mo=(sn,qt)=>{ge(LP(jt=>{jt[0].show=sn})),Ae(jt=>({...jt,show:qt}))},$i=(sn,qt)=>{const[jt,pn]=$o(sn),[Tn,$e]=ba(sn,qt);jt&&pn?Mo(!0,!1):jt?Mo(!0,!$e&&Tn):pn?Mo(!0,!Tn&&$e):Mo(!1,Tn||$e)},Za=sn=>{var $e,Pt;if(!t||(Xu(sn),Le.current&&be.isSolarCollector(Le.current)))return;const qt=M.getState().objectTypeToAdd;if(!Le.current&&!we.current&&qt!==z.Wall||(($e=Le.current)==null?void 0:$e.parentId)!==e&&qt===z.None)return;const jt=M.getState().moveHandleType,pn=M.getState().resizeHandleType,Tn=M.getState().resizeAnchor;if(cn(sn),Ne.current){const Nt=Mt.intersectObjects([Ne.current]);if(Nt.length===0)return;let Ct=Nt[0].point;if(Le.current&&Le.current.type&&!Le.current.locked&&Nt.length>0)switch(Re(!0),Le.current.type){case z.Sensor:case z.Light:case z.WindTurbine:{Ct=be.relativeCoordinates(Ct.x,Ct.y,Ct.z,t),S(Le.current.id,Ct.x,Ct.y);break}case z.Polygon:{const Bt=Le.current;if(jt===yo.Default){Ct=be.relativeCoordinates(Ct.x,Ct.y,Ct.z,t);const Xt=be.calculatePolygonCentroid(Bt.vertices),rn=Ct.x-Xt.x,gn=Ct.y-Xt.y,mn=Bt.vertices.map(vn=>({...vn}));mn.forEach(vn=>{vn.x+=rn,vn.y+=gn}),U(Bt.id,mn)}else pn===yt.Default&&(Ct.x-=t.cx,Ct.y-=t.cy,Ct.applyEuler(new Qt().fromArray(t.rotation.map(Xt=>-Xt))),Ct=M.getState().enableFineGrid?be.snapToFineGrid(Ct):be.snapToNormalGrid(Ct),Ct.x/=t.lx,Ct.y/=t.ly,L(Bt.id,Bt.selectedIndex,Ct.x,Ct.y));break}case z.Wall:{if(((Pt=M.getState().selectedElement)==null?void 0:Pt.type)!==z.Wall)break;if(pn&&(pn===yt.LowerLeft||pn===yt.LowerRight)){const Bt=be.wallRelativePosition(Tn,t);Ct=be.wallRelativePosition(Ct,t);let Xt=null;M.getState().enableFineGrid?Ct=be.snapToFineGrid(Ct):(Xt=po(Ct,1.5),Xt!=null&&Xt.point?Ct=Xt.point:(Ct=be.snapToNormalGrid(Ct),Ct=ar(Bt,Ct,pn),Xt=po(Ct,1.5),Xt!=null&&Xt.point&&(Ct=Xt.point)));const rn=Uo(Bt,Ct,pn);$i(Ct,rn);const gn=Ct.distanceTo(Bt),mn=new ae().addVectors(Ct,Bt).divideScalar(2),vn=pn===yt.LowerLeft?Ct:Bt,kn=pn===yt.LowerLeft?Bt:Ct;v(Wn=>{for(const qn of Wn.elements)if(qn.id===Le.current.id&&qn.type===z.Wall){const Xn=qn;Xn.cx=mn.x,Xn.cy=mn.y,Xn.lx=gn,Xn.relativeAngle=rn,Xn.leftPoint=[vn.x,vn.y,0],Xn.rightPoint=[kn.x,kn.y,0];break}});const Yn=C(Le.current.id);if(Yn){if(Xt&&Xt.point){if(Xt.id&&Xt.side&&!Xt.jointId){const Wn=C(Xt.id);if(Wn){if(pn===yt.LowerLeft&&Wn.leftJoints.length===0&&Xt.side===B1.Left){if(Yn.leftJoints.length>0&&Yn.leftJoints[0]!==Xt.id){const qn=Yn.leftJoints[0];v(Xn=>{for(const Jo of Xn.elements)if(Jo.id===qn&&Jo.type===z.Wall){Jo.rightJoints=[];break}})}Hi(Yn,Wn)}else if(pn===yt.LowerRight&&Wn.rightJoints.length===0&&Xt.side===B1.Right){if(Yn.rightJoints.length>0&&Yn.rightJoints[0]!==Xt.id){const qn=Yn.rightJoints[0];v(Xn=>{for(const Jo of Xn.elements)if(Jo.id===qn&&Jo.type===z.Wall){Jo.leftJoints=[];break}})}qo(Yn,Wn)}else pn===yt.LowerRight&&Xt.side===B1.Left&&Wn.leftJoints.length===0&&Wn.rightJoints[0]!==Yn.id?v(qn=>{let Xn=null;Yn.rightJoints.length>0&&Yn.rightJoints[0]!==(Xt==null?void 0:Xt.id)&&(Xn=Yn.rightJoints[0]);for(const Jo of qn.elements)Jo.type===z.Wall&&(Jo.id===Yn.id&&(Jo.rightJoints=[Wn.id]),Jo.id===Wn.id&&(Jo.leftJoints=[Yn.id]),Jo.id===Xn&&(Jo.leftJoints=[]))}):pn===yt.LowerLeft&&Xt.side===B1.Right&&Wn.rightJoints.length===0&&Wn.leftJoints[0]!==Yn.id&&v(qn=>{let Xn=null;Yn.leftJoints.length>0&&Yn.leftJoints[0]!==(Xt==null?void 0:Xt.id)&&(Xn=Yn.leftJoints[0]);for(const Jo of qn.elements)Jo.type===z.Wall&&(Jo.id===Yn.id&&(Jo.leftJoints=[Wn.id]),Jo.id===Wn.id&&(Jo.rightJoints=[Yn.id]),Jo.id===Xn&&(Jo.rightJoints=[]))});vi(Yn.id)}}}else if(pn===yt.LowerRight&&Yn.rightJoints.length>0){const Wn=Yn.rightJoints[0];v(qn=>{for(const Xn of qn.elements)Xn.type===z.Wall&&(Xn.id===Yn.id&&(Xn.rightJoints=[]),Xn.id===Wn&&(Xn.leftJoints=[]));qn.updateWallMapOnFoundationFlag=!qn.updateWallMapOnFoundationFlag})}else if(pn===yt.LowerLeft&&Yn.leftJoints.length>0){const Wn=Yn.leftJoints[0];v(qn=>{for(const Xn of qn.elements)Xn.type===z.Wall&&(Xn.id===Yn.id&&(Xn.leftJoints=[]),Xn.id===Wn&&(Xn.rightJoints=[]));qn.updateWallMapOnFoundationFlag=!qn.updateWallMapOnFoundationFlag})}}}else if(jt){const Bt=C(Le.current.id);if(Bt){Ct=be.wallRelativePosition(Ct,t);const Xt=new ae,rn=new Qt(0,0,Bt.relativeAngle);jt===yo.Lower?Xt.setY(mt):jt===yo.Upper&&Xt.setY(-mt-Bt.ly),Ct.add(Xt.applyEuler(rn));const gn=new ae().addVectors(Ct,new ae(-Bt.lx/2,0,0).applyEuler(rn)),mn=new ae().addVectors(Ct,new ae(Bt.lx/2,0,0).applyEuler(rn));let vn=null,kn=null,Yn=!1;oi.current=!1,So.current=!1,go.current=!1,bo.current=null,Ro.current=null;const Wn=(qn,Xn)=>{const Jo=Xn==="left"?gn:mn,lr=new ae().subVectors(qn,Jo);Ct.add(lr),gn.add(lr),mn.add(lr)};if(!M.getState().enableFineGrid){let qn=po(gn,1);qn.point?(Wn(qn.point,"left"),qn.id&&(!qn.jointId||qn.jointId===Bt.id)&&(bo.current=qn.id,vn=qn.side===B1.Left)):bo.current=null;let Xn=po(mn,1);if(Xn.point?(qn.id||Wn(Xn.point,"right"),Xn.id&&(!Xn.jointId||Xn.jointId===Bt.id)&&(qn.id!==Xn.id||qn.side!==Xn.side)&&(Ro.current=Xn.id,kn=Xn.side===B1.Right)):Ro.current=null,!qn.point&&!Xn.point){const[ga,vs]=_i(gn),[Ju,Ku]=_i(mn);if(ga!==null||Ju!==null){const Th=(ga??1/0)-gn.x,Rf=(Ju??1/0)-mn.x,qu=Math.min(Th,Rf);gn.setX(gn.x+qu),mn.setX(mn.x+qu),Ct.setX(Ct.x+qu),qn=po(gn,1),qn.point?(Wn(qn.point,"left"),qn.id&&(!qn.jointId||qn.jointId===Bt.id)&&(bo.current=qn.id,vn=qn.side===B1.Left)):bo.current=null}if(vs!==null||Ku!==null){const Th=(vs??1/0)-gn.y,Rf=(Ku??1/0)-mn.y,qu=Math.min(Th,Rf);gn.setY(gn.y+qu),mn.setY(mn.y+qu),Ct.setY(Ct.y+qu),Xn=po(mn,1),Xn.point?(qn.id||Wn(Xn.point,"right"),Xn.id&&(!Xn.jointId||Xn.jointId===Bt.id)&&(qn.id!==Xn.id||qn.side!==Xn.side)&&(Ro.current=Xn.id,kn=Xn.side===B1.Right)):Ro.current=null}}const[Jo,lr]=$o(gn,0),[Kr,Vi]=$o(mn,1);ge(LP(ga=>{ga[0].show=Jo||lr,ga[1].show=Kr||Vi})),vn&&kn===null||kn&&vn===null||vn&&kn?oi.current=!0:(vn&&kn===!1||kn&&vn===!1)&&(So.current=vn,go.current=kn),qn.point&&Xn.point&&(qn.id!==Xn.id||qn.side!==Xn.side)&&(gn.copy(qn.point),mn.copy(Xn.point),Yn=!0)}v(qn=>{var Xn;for(const Jo of qn.elements)if(Jo.id===((Xn=Le.current)==null?void 0:Xn.id)&&Jo.type===z.Wall){const lr=Jo;if(Yn){lr.cx=(gn.x+mn.x)/2,lr.cy=(gn.y+mn.y)/2,lr.lx=gn.distanceTo(mn);let Kr=Math.atan2(mn.y-gn.y,mn.x-gn.x);Kr=Kr>=0?Kr:(na+Kr)%na,lr.relativeAngle=Kr}else lr.cx=Ct.x,lr.cy=Ct.y;lr.leftPoint=gn.toArray(),lr.rightPoint=mn.toArray();break}})}}break}}if(qt===z.Wall&&!ye.current){Ie.current=[...M.getState().elements];const Bt=N(t,Ct);Le.current=Bt,we.current=Bt.id,ye.current=!0,Re(!0),Ln.getState().setEnableOrbitController(!1),v(Xt=>{Xt.addedWallId=Bt.id,Xt.objectTypeToAdd=z.None})}if(we.current&&ye.current){Ct=be.wallRelativePosition(Nt[0].point,t);let Bt=null;if(M.getState().enableFineGrid)Ct=be.snapToFineGrid(Ct);else if(Bt=po(Ct,1.5),Bt!=null&&Bt.point)Ct=Bt.point;else{Ct=be.snapToNormalGrid(Ct);const[gn,mn]=_i(Ct);gn!==null&&Ct.setX(gn),mn!==null&&Ct.setY(mn),Bt=po(Ct,1.5),Bt!=null&&Bt.point&&(Ct=Bt.point)}const[Xt,rn]=$o(Ct);ge(LP(gn=>{gn[0].show=Xt||rn})),S(we.current,Ct.x,Ct.y)}}},ti=sn=>{sn.intersections.length>0&&sn.intersections[0].object===Ne.current&&de(!0)},ui=sn=>{v(qt=>{mx.selectMe(qt,e,sn,zo.ContextMenu),qt.pastePoint.copy(sn.intersections[0].point),qt.clickObjectType=z.Foundation,qt.pasteNormal=Po,sn.altKey?qt.contextMenuObjectType=null:sn.intersections.length>0&&sn.intersections[0].object===Ne.current&&(qt.contextMenuObjectType=z.Foundation),qt.pasteNormal=Po})},Fr=()=>{Wl&&(Cc(!1),Le.current=null),de(!1),Re(!1),Le.current&&ye.current&&(B(Le.current.id,!1),ye.current=!1,v(sn=>{sn.addedWallId=null,sn.objectTypeToAdd=z.Wall}),Le.current=null),Ae({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}])},Oa=sn=>{Le.current&&be.isPlantOrHuman(Le.current)&&sn.intersections[0].object===Ne.current&&Re(!0)},Br=(sn,qt,jt)=>{const pn=JSON.parse(JSON.stringify(sn));return pn.cx=qt,pn.cy=jt,le(pn)?(Lo(O.t("message.MoveCancelledBecauseOfOverlap",it)),!1):be.isSolarCollectorWithinHorizontalSurface(pn,t)?!0:(Lo(O.t("message.MoveOutsideBoundaryCancelled",it)),!1)},Pc=(sn,qt)=>{const jt=JSON.parse(JSON.stringify(sn));return jt.relativeAzimuth=qt,le(jt)?(Lo(O.t("message.RotationCancelledBecauseOfOverlap",it)),!1):be.isSolarCollectorWithinHorizontalSurface(jt,t)?!0:(Lo(O.t("message.RotationOutsideBoundaryCancelled",it)),!1)},Is=(sn,qt,jt,pn,Tn)=>{if(sn.type===z.SolarPanel&&sn.tiltAngle!==0&&.5*Tn*Math.abs(Math.sin(sn.tiltAngle))>sn.poleHeight)return!1;const $e=JSON.parse(JSON.stringify(sn));return $e.cx=qt,$e.cy=jt,$e.lx=pn,$e.ly=Tn,be.isSolarCollectorWithinHorizontalSurface($e,t)},qs=sn=>{if(qe.current&&t&&Le.current&&t){if(!be.isSolarCollector(Le.current))return;const qt=Le.current;cn(sn);const jt=Mt.intersectObjects([qe.current]);if(jt.length>0){let pn=jt[0].point;const Tn=M.getState().moveHandleType,$e=M.getState().rotateHandleType,Pt=M.getState().resizeHandleType;if(Tn&&t)pn=be.relativeCoordinates(pn.x,pn.y,pn.z,t),S(qt.id,pn.x,pn.y),qt.parentId!==e&&M.getState().set(Nt=>{const Ct=Nt.elements.find(Bt=>Bt.id===qt.id&&Bt.type===z.SolarPanel);Ct&&(Ct.parentId!==e||Ct.foundationId!==e)&&(Ct.parentId=e,Ct.foundationId=e,Ct.parentType=z.Foundation,Nt.selectedElement&&(Nt.selectedElement.parentId=e,Ct.color=Nt.selectedElement.color))});else if($e){if($e===wi.Upper||$e===wi.Lower){const Nt=t.rotation[2],Ct=new Gt(t.cx,t.cy),Bt=new Gt(t.lx*qt.cx,t.ly*qt.cy).rotateAround(wr,Nt),Xt=new Gt().addVectors(Bt,Ct),rn=Math.atan2(-pn.x+Xt.x,pn.y-Xt.y)-Nt+($e===wi.Lower?0:Math.PI),gn=Math.abs(rn)>Math.PI?-Math.sign(rn)*na:0,mn=rn+gn;E(qt.id,mn),Qe.current=mn}}else if(Pt){const Nt=M.getState().resizeAnchor,Ct=new Gt(pn.x,pn.y),Bt=new Gt(Nt.x,Nt.y),Xt=Ct.distanceTo(Bt),rn=qt.relativeAzimuth+l[2],gn=new Gt().subVectors(Ct,Bt),mn=new Gt(n,o);if(qt.type===z.SolarPanel){const vn=qt,kn=j(vn.pvModelName);switch(Pt){case yt.Lower:case yt.Upper:{const Yn=Pt===yt.Lower?1:-1,Wn=gn.angle()-rn+Yn*Vt;let qn=Xt*Math.cos(Wn);vn.orientation===ci.portrait?qn=Math.max(1,Math.ceil((qn-kn.length/2)/kn.length))*kn.length:qn=Math.max(1,Math.ceil((qn-kn.width/2)/kn.width))*kn.width;const Xn=Nt.x+Yn*(qn*Math.sin(rn))/2,Jo=Nt.y-Yn*(qn*Math.cos(rn))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,qn)&&(P(qt.id,qn),S(qt.id,Vi,ga))}break;case yt.Left:case yt.Right:{const Yn=Pt===yt.Left?-1:1,Wn=gn.angle()-rn+(Pt===yt.Left?Math.PI:0);let qn=Xt*Math.cos(Wn);vn.orientation===ci.portrait?qn=Math.max(1,Math.ceil((qn-kn.width/2)/kn.width))*kn.width:qn=Math.max(1,Math.ceil((qn-kn.length/2)/kn.length))*kn.length;const Xn=Nt.x+Yn*(qn*Math.cos(rn))/2,Jo=Nt.y+Yn*(qn*Math.sin(rn))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qn,qt.ly)&&(T(qt.id,qn),S(qt.id,Vi,ga))}break}}else if(qt.type===z.ParabolicTrough){const vn=qt;switch(Pt){case yt.Lower:case yt.Upper:{const kn=Pt===yt.Lower?1:-1,Yn=gn.angle()-rn+kn*Vt;let Wn=Xt*Math.cos(Yn);Wn=Math.max(1,Math.ceil((Wn-vn.moduleLength/2)/vn.moduleLength))*vn.moduleLength;const Xn=Nt.x+kn*(Wn*Math.sin(rn))/2,Jo=Nt.y-kn*(Wn*Math.cos(rn))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,Wn)&&(P(qt.id,Wn),S(qt.id,Vi,ga))}break;case yt.Left:case yt.Right:{const kn=Pt===yt.Left?-1:1,Yn=gn.angle()-rn+(Pt===yt.Left?Math.PI:0),Wn=Xt*Math.cos(Yn),qn=Nt.x+kn*(Wn*Math.cos(rn))/2,Xn=Nt.y+kn*(Wn*Math.sin(rn))/2,Jo=new Gt(qn,Xn),lr=new Gt().subVectors(Jo,mn).rotateAround(wr,-l[2]),Kr=lr.x/i,Vi=lr.y/r;Is(qt,Kr,Vi,Wn,qt.ly)&&(T(qt.id,Wn),S(qt.id,Kr,Vi),v(ga=>{ga.actionState.parabolicTroughWidth=Wn}))}break}}else if(qt.type===z.FresnelReflector){const vn=qt;switch(Pt){case yt.Lower:case yt.Upper:{const kn=Pt===yt.Lower?1:-1,Yn=gn.angle()-rn+kn*Vt;let Wn=Xt*Math.cos(Yn);Wn=Math.max(1,Math.ceil((Wn-vn.moduleLength/2)/vn.moduleLength))*vn.moduleLength;const Xn=Nt.x+kn*(Wn*Math.sin(rn))/2,Jo=Nt.y-kn*(Wn*Math.cos(rn))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,Wn)&&(P(qt.id,Wn),S(qt.id,Vi,ga))}break;case yt.Left:case yt.Right:{const kn=Pt===yt.Left?-1:1,Yn=gn.angle()-rn+(Pt===yt.Left?Math.PI:0),Wn=Xt*Math.cos(Yn),qn=Nt.x+kn*(Wn*Math.cos(rn))/2,Xn=Nt.y+kn*(Wn*Math.sin(rn))/2,Jo=new Gt(qn,Xn),lr=new Gt().subVectors(Jo,mn).rotateAround(wr,-l[2]),Kr=lr.x/i,Vi=lr.y/r;Is(qt,Kr,Vi,Wn,qt.ly)&&(T(qt.id,Wn),S(qt.id,Kr,Vi),v(ga=>{ga.actionState.fresnelReflectorWidth=Wn}))}break}}else if(qt.type===z.ParabolicDish){const vn=qt;switch(Pt){case yt.Left:case yt.Right:case yt.Lower:case yt.Upper:{const kn=Math.min(10,Xt);Is(qt,vn.cx,vn.cy,qt.lx,kn)&&(T(qt.id,kn),P(qt.id,kn),v(Yn=>{Yn.actionState.parabolicDishRimDiameter=kn}));break}}}}}}},Pr=Q?x?.25:.75:1,pa=M(sn=>sn.elements.filter(qt=>qt.type===z.SolarPanel&&qt.parentId===e),a3),[Wl,Yl]=m.useState(!1),Xu=sn=>{const qt=nf.getIntersectionObjects(sn);if(qt.length==0||qt[0].eventObject.userData.id!==e){Wl&&(Cc(!1),Le.current=null,Re(!1));return}const jt=M.getState().selectedElement;!Wl&&jt&&!jt.locked&&jt.type===z.SolarPanel&&M.getState().moveHandleType&&(Cc(!0,jt.poleHeight),Le.current=jt,Re(!0))},Cc=(sn,qt)=>{sn&&qt!==void 0?(Yl(!0),Jt.setZ(qt)):(Yl(!1),Jt.setZ(0))},mu=()=>Wl?!0:Le.current&&be.isSolarCollector(Le.current)&&!Le.current.locked;return h.jsx(h.Fragment,{children:h.jsxs("group",{ref:Ue,name:`${cqe} ${e}`,position:[n,o,Rt],rotation:[0,0,l[2]],children:[h.jsxs(Ei,{castShadow:J,receiveShadow:J,uuid:e,userData:{simulation:!0,stand:!0,id:e,aabb:!0},ref:Ne,name:"Foundation",args:[i,r,a],onContextMenu:ui,onPointerOver:ti,onPointerDown:ni,onPointerUp:Fo,onPointerMove:M2.throttle(Za,Ek),onPointerOut:Fr,onPointerEnter:Oa,children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:s,transparent:Q,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-1",color:s,transparent:Q,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-2",color:s,transparent:Q,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-3",color:s,transparent:Q,opacity:Pr}),pe&&ve?h.jsx("meshBasicMaterial",{attach:"material-4",color:"white",map:ve,transparent:Q,opacity:Pr}):h.jsx("meshStandardMaterial",{attach:"material-4",color:p===Or.NoTexture?s:"white",map:Un,transparent:Q,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-5",color:s,transparent:Q,opacity:Pr})]}),mu()&&h.jsx(sa,{ref:qe,name:"Foundation Intersection Plane",position:Jt,args:[i,r],visible:!1,onPointerMove:M2.throttle(qs,Ek)}),me&&h.jsxs(h.Fragment,{children:[M.getState().rotateHandleType&&Le.current&&be.isSolarCollector(Le.current)&&h.jsx(uye,{element:Le.current,height:Le.current.poleHeight+Rt}),(M.getState().moveHandleType||M.getState().resizeHandleType||we.current)&&h.jsx(mge,{hx:st,hy:ft,hz:Rt})]}),y&&h.jsx(dye,{element:t,verticalLift:Ge}),(!y||Q)&&h.jsx(s7,{hx:st,hy:ft,hz:Rt,lineColor:Q&&x?"white":c,lineWidth:Q&&x?u*3:u}),y&&d&&h.jsx(s7,{hx:st,hy:ft,hz:Rt,lineColor:l0,lineWidth:u*5}),ze.show&&h.jsx("group",{position:[0,0,Rt+.01],children:h.jsx(nSe,{hx:st,hy:ft,position:ze.position,direction:ze.direction,color:"black"})}),h.jsx("group",{position:[0,0,Rt+.01],children:re.map((sn,qt)=>sn.show?h.jsx(nSe,{hx:st,hy:ft,position:sn.position,direction:sn.direction,color:"yellow"},qt):null)}),y&&!d&&h.jsxs(h.Fragment,{children:[h.jsx(Ei,{ref:We,position:[zt.x,zt.y,0],args:[xt,xt,a*1.2],name:yt.LowerLeft,onPointerDown:sn=>{k(e,sn,zo.Resize),We.current&&v(qt=>{const jt=We.current.localToWorld(new ae(i,r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:sn=>{vo(sn,yt.LowerLeft)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yt.LowerLeft||M.getState().resizeHandleType===yt.LowerLeft?nr:pr})}),h.jsx(Ei,{ref:De,position:[Xe.x,Xe.y,0],args:[xt,xt,a*1.2],name:yt.UpperLeft,onPointerDown:sn=>{k(e,sn,zo.Resize),De.current&&v(qt=>{const jt=De.current.localToWorld(new ae(i,-r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:sn=>{vo(sn,yt.UpperLeft)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yt.UpperLeft||M.getState().resizeHandleType===yt.UpperLeft?nr:pr})}),h.jsx(Ei,{ref:Fe,position:[ht.x,ht.y,0],args:[xt,xt,a*1.2],name:yt.LowerRight,onPointerDown:sn=>{k(e,sn,zo.Resize),Fe.current&&v(qt=>{const jt=Fe.current.localToWorld(new ae(-i,r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:sn=>{vo(sn,yt.LowerRight)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yt.LowerRight||M.getState().resizeHandleType===yt.LowerRight?nr:pr})}),h.jsx(Ei,{ref:_e,position:[Je.x,Je.y,0],args:[xt,xt,a*1.2],name:yt.UpperRight,onPointerDown:sn=>{k(e,sn,zo.Resize),_e.current&&v(qt=>{const jt=_e.current.localToWorld(new ae(-i,-r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:sn=>{vo(sn,yt.UpperRight)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yt.UpperRight||M.getState().resizeHandleType===yt.UpperRight?nr:pr})}),!ee&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:ot,args:[Ge,6,6,0,Math.PI],position:[0,-ft-Ge,0],name:yo.Lower,onPointerDown:()=>{v(sn=>{sn.moveHandleType=yo.Lower,sn.selectedElement=sn.elements.find(qt=>qt.id===e)??null;for(const qt of sn.elements)sn.selectedElementIdSet.has(qt.id)&&!be.isElementAllowedMultipleMoveOnGround(qt)&&sn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:sn=>{vo(sn,yo.Lower)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yo.Lower||M.getState().moveHandleType===yo.Lower?nr:Fk})}),h.jsx(ts,{ref:Ye,args:[Ge,6,6,0,Math.PI],position:[0,ft+Ge,0],name:yo.Upper,onPointerDown:()=>{v(sn=>{sn.moveHandleType=yo.Upper,sn.selectedElement=sn.elements.find(qt=>qt.id===e)??null;for(const qt of sn.elements)sn.selectedElementIdSet.has(qt.id)&&!be.isElementAllowedMultipleMoveOnGround(qt)&&sn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:sn=>{vo(sn,yo.Upper)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yo.Upper||M.getState().moveHandleType===yo.Upper?nr:Fk})}),h.jsx(ts,{ref:St,args:[Ge,6,6,0,Math.PI],position:[-st-Ge,0,0],name:yo.Left,onPointerDown:()=>{v(sn=>{sn.moveHandleType=yo.Left,sn.selectedElement=sn.elements.find(qt=>qt.id===e)??null;for(const qt of sn.elements)sn.selectedElementIdSet.has(qt.id)&&!be.isElementAllowedMultipleMoveOnGround(qt)&&sn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:sn=>{vo(sn,yo.Left)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yo.Left||M.getState().moveHandleType===yo.Left?nr:jx})}),h.jsx(ts,{ref:dt,args:[Ge,6,6,0,Math.PI],position:[st+Ge,0,0],name:yo.Right,onPointerDown:()=>{v(sn=>{sn.moveHandleType=yo.Right,sn.selectedElement=sn.elements.find(qt=>qt.id===e)??null;for(const qt of sn.elements)sn.selectedElementIdSet.has(qt.id)&&!be.isElementAllowedMultipleMoveOnGround(qt)&&sn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:sn=>{vo(sn,yo.Right)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===yo.Right||M.getState().moveHandleType===yo.Right?nr:jx})}),h.jsx(l7,{id:e,position:[0,-Tt,0],color:ie===wi.Lower||M.getState().rotateHandleType===wi.Lower?nr:pr,ratio:It,handleType:wi.Lower,hoverHandle:vo,noHoverHandle:Oo}),h.jsx(l7,{id:e,position:[0,Tt,0],color:ie===wi.Upper||M.getState().rotateHandleType===wi.Upper?nr:pr,ratio:It,handleType:wi.Upper,hoverHandle:vo,noHoverHandle:Oo})]})]}),!ee&&h.jsxs(h.Fragment,{children:[(oe||f)&&!y&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:(t!=null&&t.label?t.label:O.t("shared.FoundationElement",it))+(d?" ("+O.t("shared.ElementLocked",it)+")":""),color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,fontFace:"Roboto",textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Rt+.2]}),!d&&ie===yt.LowerLeft&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-LL",text:"LL",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[-st,-ft,Rt+.2]}),!d&&ie===yt.UpperLeft&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-UL",text:"UL",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[-st,ft,Rt+.2]}),!d&&ie===yt.LowerRight&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-LR",text:"LR",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[st,-ft,Rt+.2]}),!d&&ie===yt.UpperRight&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-UR",text:"UR",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[st,ft,Rt+.2]})]}),g===zn.FocusPipe&&h.jsx(A$t,{foundation:t}),g===zn.FocusTower&&h.jsx(y$t,{foundation:t}),g===zn.UpdraftTower&&h.jsx(m$t,{foundation:t}),h.jsx(F$t,{...t}),pa.map(sn=>h.jsx(W$t,{...sn,cx:sn.cx*i,cy:sn.cy*r,cz:sn.poleHeight+sn.lz/2+a/2,parentPosition:[n,o,a/2],parentRotation:l[2]},sn.id))]})})}),pye="Handles Intersection Plane",zz=t=>{if(t.intersections.length>0){for(const e of t.intersections)if(e.eventObject.name===pye)return e.point.z<0?null:e.point}return null},V8=(t,e)=>new ae().subVectors(t,new ae(e.cx,e.cy,e.lz)).applyEuler(new Qt(0,0,-e.rotation[2])),uqe=(t,e,n,o,i)=>{const[r,a]=[e/2,n/2],[l,s,c]=o,u=new Qt().fromArray([l-Vt,s,c,"ZXY"]),d=i.map(f=>({x:f.x,y:f.y}));for(let f=-1;f<=1;f+=2)for(let p=-1;p<=1;p+=2){const g=new ae(r*f,0,a*p).applyEuler(u),y=new ae().addVectors(t,g);if(!be.isPointInside(y.x,y.y,d))return!1}return!0},U$t=(t,e,n,o,i,r,a)=>{const l=n/2,[s,c,u]=r,d=new Qt().fromArray([s-Vt,c,u,"ZXY"]),f=a.map(g=>({x:g.x,y:g.y})),p=new ae().addVectors(t,new ae(o*e,0,l+i).applyEuler(d));return!(!be.isPointInside(p.x,p.y,f)||!uqe(t,e,n,r,a))},B$t=(t,e,n)=>{if(t.intersections.length>0)for(const o of t.intersections){const i=o.eventObject.name;if(i.includes("Window")&&i.includes(e)&&o.object.name!==pye)return null;if(i.includes("Roof")&&i.includes(n)){const r=o.point.clone(),a=Number.parseInt(o.object.name.split(" ").pop()??"-1");return{pointer:r,segmentIdx:a}}}return null},oSe=t=>{switch(t){case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:return!0}return!1},j$t=(t,e,n)=>{const o=new ae().subVectors(e,t).applyEuler(new Qt(0,0,-n)),i=Math.abs(o.x),r=Math.hypot(o.y,o.z),a=new ae().addVectors(t,e).divideScalar(2);return{newLx:i,newLz:r,newCenter:a}},Y$t=(t,e,n)=>n===Vo.Gambrel?cye(t).map(o=>o.add(e)):t.map(o=>o.points[0].clone().add(e)),iSe=(t,e,n)=>{M.getState().set(o=>{const i=o.elements.find(r=>r.id===t&&r.type===z.Window);i&&([i.cx,i.cy,i.cz]=e,i.rotation=[...n])})},rSe=(t,e,n,o)=>{M.getState().set(i=>{const r=i.elements.find(a=>a.id===t&&a.type===z.Window);r&&([r.cx,r.cy,r.cz]=e,[r.lx,r.ly,r.lz]=n,o!=null&&(r.archHeight=o))})},aSe=(t,e)=>{M.getState().set(n=>{const o=n.elements.find(i=>i.id===t&&i.type===z.Window);o&&(o.polygonTop=[...e])})},O$t=(t,e,n=.01)=>{if(t.type!==z.SolarPanel&&t.type!==z.Window)return null;const o=new Qt().fromArray([t.rotation[0],t.rotation[1],t.rotation[2],"ZXY"]),i=new ae,r=t.lx/2+n;let a=n;t.type===z.SolarPanel?(a+=t.ly/2,i.set(t.cx*e.lx,t.cy*e.ly,0)):(a+=t.lz/2,i.set(t.cx,t.cy,0));const l=[];for(let s=-1;s<=1;s+=2)for(let c=-1;c<=1;c+=2){const u=new ae(s*r,s*c*a).applyEuler(o).add(i);l.push(u)}if(t.type===z.Window&&t.windowType===Sr.Polygonal){const[s,c]=t.polygonTop??jp,u=new ae(s*r,c+a).applyEuler(o).add(i);l.push(u)}return l},Sre=t=>{if(t.windowType===Sr.Polygonal)return t.polygonTop??jp},dqe=({z:t})=>{const e=m.useRef(null),[n,o]=m.useState("white");return h.jsx(Ei,{ref:e,name:yt.Arch,args:[.2,.2,.2],position:[0,0,t],onPointerEnter:()=>{o("red")},onPointerLeave:()=>{o("white")},children:h.jsx("meshBasicMaterial",{color:n})})},_$t=({id:t,parentId:e,foundationId:n,lx:o,lz:i,polygonTop:r,rotation:a,windowType:l,parentType:s})=>{const c=M(ne=>ne.addedWindowId),u=M(En),d=c===t,f=s===z.Roof,p=m.useRef(null),g=m.useRef(null),y=m.useRef(null),A=m.useRef(null),x=m.useRef(null),C=m.useRef(null),b=m.useRef(null),v=m.useRef(null),S=m.useRef([]),w=m.useRef(null),T=m.useRef(null),P=m.useRef(null),R=m.useRef(null),H=m.useRef(null),[D,E]=m.useState(!1),[L,U]=[o/2,i/2],[F,W]=r,B=m.useMemo(()=>o*F,[o,F]),k=M(dn),N=(ne,Z,he)=>{if(!n)return null;const fe=M.getState().elements.find(Re=>Re.id===n&&Re.type===z.Foundation);if(!fe)return null;const se=ne.object.localToWorld(new ae),[oe,de,ve]=a,Pe=new Qt().fromArray([oe-Vt,de,ve+fe.rotation[2],"ZXY"]),me=new ae(Z,0,he).applyEuler(Pe);return new ae().addVectors(se,me)},j=ne=>{let Z,he,fe;for(const ge of M.getState().elements)ge.id===t&&ge.type===z.Window?Z=ge:ge.id===n&&ge.type===z.Foundation?he=ge:ge.id===e&&ge.type===z.Roof&&(fe=ge);const se=Ln.getState().contentRef;if(!Z||!he||!fe||!se||!se.current)return;const oe=he.id,de=se.current.children.find(ge=>ge.name===`${cqe} ${oe}`);if(!de)return;const ve=de.children.find(ge=>ge.name===sqe);if(!ve)return;const Pe=ve.children.find(ge=>ge.name.includes("Roof")&&ge.name.includes(e));if(!Pe)return;const me=Pe.children[0];if(!me)return;for(const ge of M.getState().elements)if(ge.parentId===e&&ge.id!==t){const we=O$t(ge,he);we&&S.current.push(we)}const{centroid:Re,roofSegments:ze}=me.userData,re=new ae(Z.cx,Z.cy,Z.cz+he.lz).clone().sub(Re);p.current=ne,g.current=he,y.current=fe,C.current=In.getSegmentIdx(ze,re),x.current=Re,A.current=ze,v.current=Y$t(A.current,x.current,fe.roofType),w.current=[Z.cx,Z.cy,Z.cz],P.current=[Z.lx,Z.ly,Z.lz],T.current=[...Z.rotation],R.current=Z.archHeight,H.current=Z.polygonTop??null},Y=()=>{if(!w.current||!T.current)return;const ne=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!ne)return;const Z={name:"Move skylight",timestamp:Date.now(),id:ne.id,oldPosition:[...w.current],newPosition:[ne.cx,ne.cy,ne.cz],oldRotation:[...T.current],newRotation:[...ne.rotation],undo(){iSe(Z.id,Z.oldPosition,Z.oldRotation)},redo(){iSe(Z.id,Z.newPosition,Z.newRotation)}};u(Z)},_=()=>{if(!P.current||!w.current)return;const ne=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!ne)return;const Z={name:"Resize skylight",timestamp:Date.now(),id:ne.id,oldPosition:[...w.current],newPosition:[ne.cx,ne.cy,ne.cz],oldDimension:[...P.current],newDimension:[ne.lx,ne.ly,ne.lz],oldArchHeight:R.current,newArchHeight:ne.archHeight,undo(){rSe(this.id,this.oldPosition,this.oldDimension,this.oldArchHeight)},redo(){rSe(this.id,this.newPosition,this.newDimension,this.newArchHeight)}};u(Z)},J=()=>{if(!H.current)return;const ne=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!ne)return;const Z={name:"Resize skylight top vertex",timestamp:Date.now(),id:ne.id,oldPolygonTop:[...H.current],newPolygonTop:ne.polygonTop??jp,undo(){aSe(this.id,this.oldPolygonTop)},redo(){aSe(this.id,this.newPolygonTop)}};u(Z)},Q=ne=>ne.roofType===Vo.Gable?!1:Math.abs(ne.rise)<.001,ee=ne=>{if(y.current&&Q(y.current))return v.current;if(ne!=null){const he=bn.getState().getRoofSegmentVertices(e);if(!he)return;const fe=ne===-1?he.length-1:ne;return he[fe]}},$=(ne,Z,he,fe,se)=>{const[oe,de]=[Z/2,he/2],ve=new Qt().fromArray([fe[0],fe[1],fe[2],"ZXY"]),Pe=[];for(let me=-1;me<=1;me+=2)for(let Re=-1;Re<=1;Re+=2){const ze=new ae(me*oe,me*Re*de).applyEuler(ve).add(ne);Pe.push(ze)}if(se){const[me,Re]=se,ze=new ae(me*oe*2,Re+de).applyEuler(ve).add(ne);Pe.push(ze)}for(const me of S.current){for(const Re of Pe)if(be.isPointInside(Re.x,Re.y,me))return!1;for(const Re of me)if(be.isPointInside(Re.x,Re.y,Pe))return!1}return!0},q=(ne,Z,he,fe,se,oe)=>{if(oe){const[de,ve]=oe;return U$t(Z,he,fe,de,ve,se,ne)}else return uqe(Z,he,fe,se,ne)},le=ne=>{if(!f||d)return;const Z=ne.object.name;switch(Z){case yo.Mid:break;case yt.LowerLeft:{b.current=N(ne,o,i);break}case yt.LowerRight:{b.current=N(ne,-o,i);break}case yt.UpperLeft:{b.current=N(ne,o,-i);break}case yt.UpperRight:{b.current=N(ne,-o,-i);break}case yt.Arch:{b.current=N(ne,0,-i);break}case yt.Upper:break;default:return}j(Z),E(!0),Ln.getState().setEnableOrbitController(!1)},ie=ne=>{if(p.current===null||!g.current||!y.current||!A.current||!x.current||!v.current)return;const Z=g.current;if(p.current===yo.Mid){const he=y.current,fe=B$t(ne,t,e),se=new ae;if(Q(he)){const oe=zz(ne);if(!oe)return;se.copy(oe);const de=V8(se,Z);k(ve=>{if(!v.current)return;const Pe=ve.elements.find(ye=>ye.id===t&&ye.type===z.Window);if(!Pe)return;const{lx:me,lz:Re,rotation:ze}=Pe,Ae=v.current,re=Sre(Pe),ge=q(Ae,de,me,Re,ze,re),we=$(de,me,Re,ze,re);ge&&we&&(Pe.cx=de.x,Pe.cy=de.y,Pe.cz=de.z)})}else{if(fe&&fe.segmentIdx!==C.current){const Re=fe.pointer;se.copy(Re)}else{const Re=zz(ne);if(!Re)return;se.copy(Re)}const oe=V8(se,Z),de=oe.clone().sub(x.current),{rotation:ve,segmentVertices:Pe,segmentIdx:me}=In.computeState(A.current,de);Pe?oe.setZ(In.getRooftopElementZ(Pe,de,x.current.z+he.thickness)):oe.setZ(x.current.z+he.thickness),k(Re=>{const ze=bn.getState().getRoofSegmentVertices(e);if(!ze)return;const Ae=me===-1?ze.length-1:me,re=ze[Ae];if(!re)return;const ge=Re.elements.find(Ee=>Ee.id===t&&Ee.type===z.Window);if(!ge)return;const{lx:we,lz:ye}=ge,Te=Sre(ge),Ie=q(re,oe,we,ye,ve,Te),Ce=$(oe,we,ye,ve,Te);Ie&&Ce&&(ge.cx=oe.x,ge.cy=oe.y,ge.cz=oe.z,ge.rotation=[...ve],fe&&fe.segmentIdx!==C.current&&(C.current=fe.segmentIdx))})}}else if(oSe(p.current)){const he=ee(C.current),fe=zz(ne),se=b.current;if(!fe||!se||!he)return;const oe=V8(fe,Z),de=V8(se,Z),{newLx:ve,newLz:Pe,newCenter:me}=j$t(de,oe,a[2]);M.getState().set(Re=>{const ze=Re.elements.find(we=>we.id===t&&we.type===z.Window);if(!ze)return;const Ae=Sre(ze),re=q(he,me,ve,Pe,a,Ae),ge=$(me,ve,Pe,a,Ae);re&&ge&&(ze.cx=me.x,ze.cy=me.y,ze.cz=me.z,ze.lx=ve,ze.lz=Math.max(.001,Pe))})}else if(p.current===yt.Upper){const he=ee(C.current),fe=zz(ne);if(!fe||!he)return;const se=V8(fe,Z);k(oe=>{const de=oe.elements.find(De=>De.id===t);if(!de)return;const[ve,Pe]=[de.lx/2,de.lz/2],me=new ae(de.cx,de.cy,de.cz),Re=new Qt().fromArray([de.rotation[0],de.rotation[1],de.rotation[2],"ZXY"]),ze=new ae(-ve,-Pe,0).applyEuler(Re).add(me),Ae=new ae(ve,-Pe,0).applyEuler(Re).add(me),re=new ae().subVectors(se,ze),ge=new ae().subVectors(Ae,ze).normalize(),we=re.clone().projectOnVector(ge).applyEuler(new Qt(0,0,-de.rotation[2])),ye=be.clamp((we.x-ve)/de.lx,-.5,.5),Te=In.getDistance(ze,Ae,se),Ie=Math.hypot(Te,se.z-ze.z),Ce=Math.max(0,Ie-de.lz),Ee=[ye,Ce],Ue=new ae(de.cx,de.cy,de.cz),{lx:Ne,lz:Le}=de,qe=q(he,Ue,Ne,Le,a,Ee),We=$(Ue,Ne,Le,a,Ee);qe&&We&&(de.polygonTop=[...Ee])})}else if(p.current===yt.Arch){const he=zz(ne),fe=b.current,se=ee(C.current);if(!he||!fe||!se)return;const oe=V8(he,Z),de=V8(fe,Z);k(ve=>{const Pe=ve.elements.find(Ce=>Ce.id===t&&Ce.type===z.Window);if(!Pe)return;const[me,Re]=[Pe.lx/2,Pe.lz/2],ze=new ae(Pe.cx,Pe.cy,Pe.cz),Ae=new Qt().fromArray([Pe.rotation[0],Pe.rotation[1],Pe.rotation[2],"ZXY"]),re=new ae(-me,-Re,0).applyEuler(Ae).add(ze),ge=new ae(me,-Re,0).applyEuler(Ae).add(ze),we=In.getDistance(re,ge,oe);let ye=Math.hypot(we,oe.z-re.z);const Te=Math.min(Pe.archHeight,Pe.lz,Pe.lx/2),Ie=Pe.lz-Te;if(ye>Ie&&ye{p.current===yo.Mid?Y():oSe(p.current)?_():p.current===yt.Upper?J():p.current===yt.Arch&&_(),w.current=null,P.current=null,T.current=null,R.current=null,H.current=null,p.current=null,g.current=null,y.current=null,A.current=null,x.current=null,C.current=null,b.current=null,v.current=null,S.current=[],E(!1),Ln.getState().setEnableOrbitController(!0)};return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Handle Wrapper",onPointerDown:le,children:[!d&&h.jsxs(h.Fragment,{children:[l===Sr.Polygonal&&h.jsx(mv,{x:B,z:U+W,handleType:yt.Upper,scale:[.5,1,1.5]}),h.jsx(mv,{x:-L,z:U,handleType:yt.UpperLeft}),h.jsx(mv,{x:L,z:U,handleType:yt.UpperRight}),h.jsx(mv,{x:-L,z:-U,handleType:yt.LowerLeft}),h.jsx(mv,{x:L,z:-U,handleType:yt.LowerRight}),l===Sr.Arched&&h.jsx(dqe,{z:U})]}),h.jsx($8t,{handleType:yo.Mid})]}),f&&D&&h.jsx(sa,{name:pye,args:[1e3,1e3],rotation:[Vt,0,0],onPointerMove:ie,onPointerUp:pe,visible:!1,children:h.jsx("meshBasicMaterial",{color:"red",side:ji,transparent:!0,opacity:.5})})]})},V$t=Se.memo(_$t),G$t=new sf({color:"white",side:ji}),X$t=Se.memo(({dimension:t,mullionData:e,shadowEnabled:n})=>{const[o,i,r]=t,{width:a,horizontalMullionSpacing:l,verticalMullionSpacing:s,color:c}=e,u=3,d=1,f=a/2,p=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),g=m.useMemo(()=>{const A=[],x=Math.round(o/s)-1;if(x<=0||a===0)return A;const C=o/(x+1);let b=C/2;x%2!==0&&(A.push(0),b=C);for(let v=0;v{const A=[],x=Math.round(r/l)-1;if(x<=0||a===0)return A;const C=r/(x+1);let b=C/2;x%2!==0&&(A.push(0),b=C);for(let v=0;vh.jsx(wa,{position:[A,25e-5,0],args:[f,f,r,u,d],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:p},x)),e.horizontalMullion&&y.map((A,x)=>h.jsx(wa,{position:[0,5e-4,A],args:[f,f,o,u,d],rotation:[0,0,Vt],receiveShadow:n,castShadow:n,children:p},x))]})}),J$t=Se.memo(({dimension:t,frameData:e,shadowEnabled:n})=>{const[o,i,r]=t,{color:a,width:l,sillWidth:s}=e,c=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:a}),[a]),u=l/2,d=u/2,f=o+l*3,p=l;return h.jsxs("group",{name:"Window Frame Group",position:[0,-d/2,0],children:[h.jsx(Ei,{position:[0,0,r/2],args:[o+2*l,d,l],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[-o/2-u,0,0],args:[l,d,r],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[o/2+u,0,0],args:[l,d,r],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[0,0,-r/2-(s===0?0:p/2)],args:s===0?[o+2*l,d,l]:[f,s??l,p],castShadow:n,receiveShadow:n,children:c})]})}),K$t=Se.memo(({cy:t,dimension:e,wireframeData:n})=>{const[o,i,r]=e,{lineWidth:a,lineColor:l,selected:s,locked:c,opacity:u}=n,d=o/2,f=r/2,p=3,g=1,y=m.useMemo(()=>new sf({color:l}),[l]),A=m.useMemo(()=>new sf({color:l0}),[]),x=(C,b)=>{const v=C/2;return h.jsxs(h.Fragment,{children:[h.jsx(wa,{args:[C,C,o,p,g],rotation:[0,0,Vt],position:[0,0,f-v],material:b}),h.jsx(wa,{args:[C,C,o,p,g],rotation:[0,0,Vt],position:[0,0,-f+v],material:b}),h.jsx(wa,{args:[C,C,r,p,g],rotation:[Vt,Vt,0],position:[d-v,0,0],material:b}),h.jsx(wa,{args:[C,C,r,p,g],rotation:[Vt,Vt,0],position:[-d+v,0,0],material:b})]})};return h.jsxs("group",{name:"Window Wireframe Group",children:[u>0&&h.jsx("group",{position:[0,t,0],children:x(a/20,y)}),c&&s&&x(a/5,A)]})}),q$t=({id:t,dimension:e,position:n,mullionData:o,frameData:i,wireframeData:r,leftShutter:a,rightShutter:l,shutterColor:s,shutterWidth:c,glassMaterial:u,showHeatFluxes:d,area:f,empty:p,interior:g,foundation:y})=>{const A=M.getState().world,x=M(X2),C=M(q9),b=M($9),v=M(ss),S=bn(vb),w=m.useRef(0),T=m.useRef(),[P,R,H]=e,[D,E,L]=n,U=m.useMemo(()=>{if(!d||g||y&&y.notBuilding)return;const k=S.get(t);if(!k)return;const N=k.reduce((q,le)=>q+le,0);if(f===0)return;const j=K9*(A.solarRadiationHeatmapGridCellSize??.5),Y=Math.max(2,Math.round(P/j)),_=Math.max(2,Math.round(H/j)),J=P/Y,Q=H/_,ee=N/f*(x??Vm);w.current=ee<0?1:0,T.current=be.getEuler(Po,Yc,"YXZ",Math.sign(ee)*Vt);const $=[];if(ee<0)for(let q=0;qc*P,[P,c]),W=m.useMemo(()=>(F+i.width+P)/2*1.025,[P,F,i.width]),B=(k,N,j)=>h.jsx(sa,{name:"Window Seal Plane",args:k,position:N,rotation:j,material:G$t,receiveShadow:v,castShadow:v});return h.jsxs(h.Fragment,{children:[!p&&h.jsxs("group",{name:"Rectangle Window Plane Group",position:[0,E,0],children:[h.jsx(sa,{name:"Window Glass Plane",args:[P,H],rotation:[Vt,0,0],children:u}),(o.horizontalMullion||o.verticalMullion)&&h.jsx(X$t,{dimension:e,mullionData:o,shadowEnabled:v})]}),i.showFrame&&h.jsx(J$t,{dimension:e,frameData:i,shadowEnabled:v}),h.jsx(mye,{cx:W,lx:F,lz:H,color:s,showLeft:a,showRight:l,spacing:i.showFrame?i.width/2:0}),h.jsx(K$t,{cy:E,dimension:e,wireframeData:r}),B([R,H],[-P/2+.001,R/2,0],[Vt,Vt,0]),B([R,H],[P/2-1e-4,R/2,0],[Vt,-Vt,0]),B([P,R],[0,R/2,H/2-.001],[Math.PI,0,0]),B([P,R],[0,R/2,-H/2+.001]),U&&U.map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:k,name:"Heat Flux "+N,lineWidth:b??Gm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:k[w.current].clone().add(new ae(0,w.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:T.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},N))]})},$$t=Se.memo(q$t),gye=({element:t})=>{const e=M(Sc),n=M(yh),o=M(ey),i=t.lx/2,r=t.lz/2,a=.05,l=1,s=.5,c=t.lineColor??"white",u="darkorchid",d=Math.max(.25,(i+r)/32),f=.25,p=30,g=-.1,y=m.useMemo(()=>({lng:e}),[e]),A=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lz.toFixed(1)+O.t("word.MeterAbbreviation",y),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[-i-f,g,0]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f,0,-r],[-i-f,0,r]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f+a,0,-r+3*a],[-i-f,0,-r],[-i-f-a,0,-r+3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f+a,0,r-3*a],[-i-f,0,r],[-i-f-a,0,r-3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r],[-i-f*2,0,-r]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r],[-i-f*2,0,r]],color:c,linewidth:s})]}),[i,r,y]),x=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lz.toFixed(1)+O.t("word.MeterAbbreviation",y),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[i+f,g,0]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f,0,-r],[i+f,0,r]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f+a,0,-r+3*a],[i+f,0,-r],[i+f-a,0,-r+3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f+a,0,r-3*a],[i+f,0,r],[i+f-a,0,r-3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,-r],[i+f*2,0,-r]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,r],[i+f*2,0,r]],color:c,linewidth:s})]}),[i,r,y]),C=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lx.toFixed(1)+O.t("word.MeterAbbreviation",y),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[0,g,-r-f]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r-f],[i,0,-r-f]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i+3*a,0,-r-f-a],[-i,0,-r-f],[-i+3*a,0,-r-f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i-3*a,0,-r-f-a],[i,0,-r-f],[i-3*a,0,-r-f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r],[-i,0,-r-f*2]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,-r],[i,0,-r-f*2]],color:c,linewidth:s})]}),[i,r,y]),b=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lx.toFixed(1)+O.t("word.MeterAbbreviation",y),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[0,g,r+f]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r+f],[i,0,r+f]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i+3*a,0,r+f-a],[-i,0,r+f],[-i+3*a,0,r+f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i-3*a,0,r+f-a],[i,0,r+f],[i-3*a,0,r+f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r],[-i,0,r+f*2]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,r],[i,0,r+f*2]],color:c,linewidth:s})]}),[i,r,y]);if(n)switch(n){case yt.LowerLeft:return h.jsxs(h.Fragment,{children:[A,C]});case yt.LowerRight:return h.jsxs(h.Fragment,{children:[x,C]});case yt.UpperLeft:return h.jsxs(h.Fragment,{children:[A,b]});case yt.UpperRight:return h.jsxs(h.Fragment,{children:[x,b]})}if(o)switch(o){case yt.LowerLeft:return h.jsxs(h.Fragment,{children:[A,C]});case yt.LowerRight:return h.jsxs(h.Fragment,{children:[x,C]});case yt.UpperLeft:return h.jsxs(h.Fragment,{children:[A,b]});case yt.UpperRight:return h.jsxs(h.Fragment,{children:[x,b]})}return h.jsx(h.Fragment,{})};Se.memo(gye);const mye=({cx:t,cz:e=0,lx:n,lz:o,color:i,showLeft:r,showRight:a,spacing:l})=>{const s=M(ss),c=gt(cs),u=gt(i3);return c||u?null:h.jsxs("group",{name:"Shutter Group",children:[a&&h.jsx(Ei,{args:[n,.1,o],position:[t+l,0,e],castShadow:s,receiveShadow:s,children:h.jsx("meshStandardMaterial",{color:i})}),r&&h.jsx(Ei,{args:[n,.1,o],position:[-t-l,0,e],castShadow:s,receiveShadow:s,children:h.jsx("meshStandardMaterial",{color:i})})]})},Hue="Window Group",jp=[0,.5],Q$t=t=>{const{id:e,parentId:n,foundationId:o,cx:i,cy:r,cz:a,lx:l,ly:s,lz:c,rotation:u,locked:d,lineWidth:f=.2,lineColor:p="black",horizontalMullion:g=!0,verticalMullion:y=!0,mullionWidth:A=.06,horizontalMullionSpacing:x=.5,verticalMullionSpacing:C=.5,tint:b="#73D8FF",opacity:v=.5,leftShutter:S=!1,rightShutter:w=!1,shutterColor:T="gray",shutterWidth:P=.5,mullionColor:R="white",frame:H=!1,color:D="white",frameWidth:E=.1,sillWidth:L=.1,windowType:U=Sr.Default,archHeight:F,parentType:W=z.Wall,polygonTop:B=jp}=t,k=`${Hue} ${e}`,N=M(dn),j=M(cA),Y=gt(Ah),_=M(uBe),J=Hs(e),Q=(me=!1)=>{N(Re=>{if(Re.contextMenuObjectType=null,Re.groupActionMode)Re.multiSelectionsMode||Re.selectedElementIdSet.clear(),t.foundationId&&(Re.selectedElementIdSet.has(n)?Re.selectedElementIdSet.delete(n):Re.selectedElementIdSet.add(t.foundationId));else for(const ze of Re.elements)if(ze.id===e)if(ze.selected=!0,Re.selectedElement=ze,me)if(Re.selectedElementIdSet.has(e))for(const Ae of Re.elements)Re.selectedElementIdSet.has(Ae.id)&&Ae.type!==Re.selectedElement.type&&Re.selectedElementIdSet.delete(Ae.id);else if(Re.multiSelectionsMode){Re.selectedElementIdSet.add(e);for(const Ae of Re.elements)Re.selectedElementIdSet.has(Ae.id)&&Ae.type!==Re.selectedElement.type&&Re.selectedElementIdSet.delete(Ae.id)}else Re.selectedElementIdSet.clear(),Re.selectedElementIdSet.add(e);else Re.multiSelectionsMode?Re.selectedElementIdSet.has(e)?Re.selectedElementIdSet.delete(e):Re.selectedElementIdSet.add(e):(Re.selectedElementIdSet.clear(),Re.selectedElementIdSet.add(e));else ze.selected=!1})},ee=me=>me.intersections.length>0&&me.intersections[0].eventObject.name===k&&!M.getState().moveHandleType&&!M.getState().resizeHandleType&&!M.getState().isAddingElement()&&M.getState().objectTypeToAdd===z.None,$=me=>{if(me.eventObject.name===k&&me.intersections.length>0)switch(me.object.name){case yo.Mid:case yt.UpperLeft:case yt.UpperRight:case yt.LowerLeft:case yt.LowerRight:case yt.Arch:case yt.Upper:return!0}return!1},q=(me,Re)=>{Ln.getState().setEnableOrbitController(!1),Y("showWallIntersectionPlaneId",n),N(ze=>{ze.resizeHandleType=me,ze.resizeAnchor.copy(new ae(i,0,a).add(Re))})},le=me=>{if(!(me.button===2||M.getState().addedWallId)&&(ee(me)&&Q(),$(me))){const Re=me.intersections[0].eventObject.name;switch(Re){case yo.Mid:{Ln.getState().setEnableOrbitController(!1),gt.getState().set(ze=>{ze.showWallIntersectionPlaneId=n,ze.oldParentId=n,ze.oldFoundationId=o}),N(ze=>{ze.moveHandleType=Re,ze.selectedElement=ze.elements.find(Ae=>{var re;return Ae.id===((re=ze.selectedElement)==null?void 0:re.id)})});break}case yt.UpperLeft:{q(Re,new ae(l/2,0,-c/2));break}case yt.UpperRight:{q(Re,new ae(-l/2,0,-c/2));break}case yt.LowerLeft:{q(Re,new ae(l/2,0,c/2));break}case yt.LowerRight:{q(Re,new ae(-l/2,0,c/2));break}case yt.Arch:{q(Re,new ae(0,0,0));break}case yt.Upper:{q(Re,new ae(0,0,c/2));break}}}},ie=me=>{M.getState().addedWallId||ee(me)&&(Q(!0),N(Re=>{Re.contextMenuObjectType=z.Window}))},pe=m.useMemo(()=>{if(W===z.Roof){const[me,Re,ze]=u;return new Qt().fromArray([me-Vt,Re,ze,"ZXY"])}else return new Qt},[W,u]),ne=m.useMemo(()=>h.jsx("meshPhongMaterial",{specular:new Xo("white"),shininess:_??QV,color:b,side:ji,opacity:v,transparent:!0}),[_,b,v]),Z=m.useMemo(()=>F!==void 0?[l,s,c,F]:[l,s,c],[l,s,c,F]),he=m.useMemo(()=>W===z.Roof?[i,.05,a]:[i,r,a],[i,r,a,W]),fe=m.useMemo(()=>({horizontalMullion:g,verticalMullion:y,width:A,horizontalMullionSpacing:x,verticalMullionSpacing:C,color:R}),[g,y,A,x,C,R]),se=m.useMemo(()=>({showFrame:H,width:E,color:D,sillWidth:L}),[H,E,D,L]),oe=m.useMemo(()=>({lineColor:p,lineWidth:f,selected:J,locked:d,opacity:v}),[p,f,J,d,v]),de=gt(i3),ve=()=>{switch(U){case Sr.Default:return h.jsx($$t,{id:t.id,dimension:Z,position:he,mullionData:fe,frameData:se,wireframeData:oe,leftShutter:S,rightShutter:w,shutterColor:T,shutterWidth:P,glassMaterial:ne,showHeatFluxes:de,area:be.getWindowArea(t),empty:!!t.empty,interior:!!t.interior,foundation:j(t)});case Sr.Arched:return h.jsx(dvt,{id:t.id,dimension:Z,position:he,mullionData:fe,frameData:se,wireframeData:oe,leftShutter:S,rightShutter:w,shutterColor:T,shutterWidth:P,glassMaterial:ne,showHeatFluxes:de,area:be.getWindowArea(t),empty:!!t.empty,interior:!!t.interior,foundation:j(t)});case Sr.Polygonal:return h.jsx(Avt,{id:t.id,dimension:Z,polygonTop:B,position:he,glassMaterial:ne,empty:!!t.empty,interior:!!t.interior,wireframeData:oe,frameData:se,leftShutter:S,rightShutter:w,shutterColor:T,shutterWidth:P,showHeatFluxes:de,area:be.getWindowArea(t),foundation:j(t)})}},Pe=W===z.Roof?r:0;return h.jsxs("group",{name:k,position:[i,Pe,a],rotation:pe,onPointerDown:le,onContextMenu:ie,onPointerMove:()=>{},children:[ve(),J&&h.jsx(gye,{element:t}),J&&!d&&h.jsx(V$t,{id:e,parentId:n,foundationId:o,lx:l,lz:c,polygonTop:B,rotation:u,windowType:U,parentType:W})]},e)},fqe=Se.memo(Q$t),Z$t=Se.memo(({lineColor:t="black",lineWidth:e=.2,hx:n,hz:o,fill:i,isTopPartial:r,leftUnfilledHeight:a,rightUnfilledHeight:l,showParapet:s=!1,leftHeight:c=2*o,rightHeight:u=2*o,center:d,centerLeft:f,centerRight:p})=>{const g=M(S=>S.viewState.orthographic),y=[-n,-o+.001+(i===Hl.Partial?a:0),.001],A=[n,-o+.001+(i===Hl.Partial?l:0),.001],x=[-n,c-o-.001,.001],C=[n,u-o-.001,.001],b=n*2,v=[];if(g)e=2,v.push(x,C);else if(s)v.push(x,y,A,C);else if(r)v.push(y,x,C,A,y);else{if(v.push(y,x),f){const S=[f[0]*b,f[1]-o,.001];v.push(S)}if(d){const S=[d[0]*b,d[1]-o,.001];v.push(S)}if(p){const S=[p[0]*b,p[1]-o,.001];v.push(S)}v.push(C,A)}return h.jsx(Se.Fragment,{children:h.jsx(Fn,{rotation:[Vt,0,0],points:v,color:t,lineWidth:e})})});var bd=(t=>(t.Default="Default",t.Arched="Arched",t))(bd||{});const eQt=Se.memo(({dimension:t,lineColor:e,lineWidth:n})=>{const[o,i,r]=t.map(u=>u/2),a=[-o,0,r+.05],l=[o,0,r+.05],s=[-o,0,-r],c=[o,0,-r];return h.jsx(Fn,{points:[s,a,l,c],lineWidth:n,color:e})}),tQt=Se.memo(({dimension:t,color:e})=>{const[n,o,i]=t,r=M(ss),a=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:e}),[e]),l=.1,s=l/2;return h.jsxs("group",{name:"Door frame group",children:[h.jsx(Ei,{position:[0,0,i/2],args:[n,l,l],castShadow:r,receiveShadow:r,children:a}),h.jsx(Ei,{position:[-n/2+s,0,0],args:[l,l,i],castShadow:r,receiveShadow:r,children:a}),h.jsx(Ei,{position:[n/2-s,0,0],args:[l,l,i],castShadow:r,receiveShadow:r,children:a})]})}),nQt=Se.memo(({id:t,dimension:e,color:n,frameColor:o,selected:i,locked:r,material:a,filled:l,area:s,showHeatFluxes:c,foundation:u})=>{const d=M.getState().world,f=M(X2),p=M(q9),g=M($9),y=M(ss),A=bn(vb),x=m.useRef(0),C=m.useRef(),[b,v,S]=e,w=m.useMemo(()=>{if(!c||u&&u.notBuilding)return;const P=A.get(t);if(!P)return;const R=P.reduce((B,k)=>B+k,0);if(s===0)return;const H=K9*(d.solarRadiationHeatmapGridCellSize??.5),D=Math.max(2,Math.round(b/H)),E=Math.max(2,Math.round(S/H)),L=b/D,U=S/E,F=R/s*(f??Vm);x.current=F<0?1:0,C.current=be.getEuler(Po,Yc,"YXZ",Math.sign(F)*Vt);const W=[];if(F<0)for(let B=0;B{const P=new Ml,[R,H]=[b/2,S/2],D=Math.max(R,H)*.2;return P.moveTo(-R,-H),P.lineTo(-R,H),P.lineTo(R,H),P.lineTo(R,-H),l||(P.lineTo(R-D,-H),P.lineTo(R-D,H-D),P.lineTo(-R+D,H-D),P.lineTo(-R+D,-H)),P.closePath(),P},[b,S,l]);return h.jsxs("group",{name:"Rectangle door group",position:[0,-.01,0],children:[h.jsx("mesh",{name:"Rectangular Door Mesh",rotation:[Vt,0,0],material:a,castShadow:y&&l,receiveShadow:y&&l,children:h.jsx("shapeGeometry",{args:[T]})}),l&&h.jsxs("mesh",{name:"Rectangular Door Simulation Mesh",rotation:[Vt,0,0],uuid:t,userData:{simulation:!0},castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[T]}),h.jsx("meshBasicMaterial",{side:ji})]}),l&&h.jsx("mesh",{name:"Door plane inside",position:[0,.1,0],rotation:[-Vt,0,Math.PI],material:a,castShadow:y&&l,receiveShadow:y&&l,children:h.jsx("shapeGeometry",{args:[T]})}),h.jsx(eQt,{dimension:e,lineColor:i&&r?l0:"black",lineWidth:i&&r?2:.2}),h.jsx(tQt,{dimension:e,color:o}),w&&w.map((P,R)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:P,name:"Heat Flux "+R,lineWidth:g??Gm,color:p??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:P[x.current].clone().add(new ae(0,x.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:C.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:p??g0})})]},R))]})}),oQt=Se.memo(({id:t,dimension:e,color:n,frameColor:o,selected:i,locked:r,material:a,filled:l,showHeatFluxes:s,area:c,foundation:u})=>{const d=M.getState().world,f=M(ss),p=M(X2),g=M(q9),y=M($9),A=bn(vb),x=m.useRef(0),C=m.useRef(),[b,v,S,w]=e,T=(D,E)=>{if(w>0){const L=.5*b,U=.5*S,F=Math.min(w,S,L),W=.5*(F+L*L/F);if(Math.abs(D)-U)return!0;const B=E-(S-W-U);return D*D+B*B{if(!s||u&&u.notBuilding)return;const D=A.get(t);if(!D)return;const E=D.reduce((j,Y)=>j+Y,0);if(c===0)return;const L=K9*(d.solarRadiationHeatmapGridCellSize??.5),U=Math.max(2,Math.round(b/L)),F=Math.max(2,Math.round(S/L)),W=b/U,B=S/F,k=E/c*(p??Vm);x.current=k<0?1:0,C.current=be.getEuler(Po,Yc,"YXZ",Math.sign(k)*Vt);const N=[];if(k<0)for(let j=0;j{const D=new Ml,E=b/2,L=S/2,U=Math.min(w,S,E);if(D.moveTo(E,-L),D.lineTo(E,L-U),U>.1){const F=U/2+b**2/(8*U),[W,B]=[0,L-F],k=Math.acos(Math.min(E/F,1)),N=Math.PI-k;D.absarc(W,B,F,k,N,!1)}else D.lineTo(-E,L);if(D.lineTo(-E,-L),!l){const F=b*.4,W=S*.4,B=Math.min(w*.8,S*.8,E*.8);if(D.lineTo(-F,-L),B>.1){D.lineTo(-F,L-B);const k=B/2+(b*.8)**2/(8*B),[N,j]=[0,W-k],Y=Math.acos(Math.min(F/k,1)),_=Math.PI-Y;D.absarc(N,j,k,_,Y,!0)}else D.lineTo(-F,W),D.lineTo(F,W);D.lineTo(F,-L)}return D.closePath(),D},[b,S,w,l]),H=m.useMemo(()=>({lineColor:"black",lineWidth:r&&i?.2:.1,opacity:1,selected:i,locked:r}),[i,r]);return h.jsxs("group",{name:"Arched door group",children:[h.jsx("mesh",{name:"Arched Door Mesh",rotation:[Vt,0,0],material:a,castShadow:f&&l,receiveShadow:f&&l,children:h.jsx("shapeGeometry",{args:[R]})}),l&&h.jsxs("mesh",{name:"Arched Door Simulation Mesh",rotation:[Vt,0,0],material:a,uuid:t,userData:{simulation:!0},castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[R]}),h.jsx("meshBasicMaterial",{side:ji})]}),l&&h.jsx("mesh",{name:"Door plane mesh inside",position:[0,.1,0],rotation:[-Vt,0,Math.PI],material:a,castShadow:f&&l,receiveShadow:f&&l,children:h.jsx("shapeGeometry",{args:[R]})}),h.jsx(vce,{cy:0,dimension:e,wireframeData:H}),h.jsx(vce,{cy:v,dimension:e,wireframeData:H}),P&&P.map((D,E)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:D,name:"Heat Flux "+E,lineWidth:y??Gm,color:g??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:D[x.current].clone().add(new ae(0,x.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:C.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:g??g0})})]},E))]})}),hqe="/aladdin/assets/door_edge-Dxz9LnYZ.png",pqe="/aladdin/assets/door_01-Bl1yYWKp.png",Mue="/aladdin/assets/door_02-eLAy3erM.png",gqe="/aladdin/assets/door_03-CX-eEQtv.png",mqe="/aladdin/assets/door_04-Bk3Xe_KE.png",yqe="/aladdin/assets/door_05-15BnnbHK.png",Aqe="/aladdin/assets/door_06-B08sjms-.png",wqe="/aladdin/assets/door_07-BVyEwygm.png",vqe="/aladdin/assets/door_08-Cd1Vc7FQ.png",xqe="/aladdin/assets/door_09-DQcA4jCn.png",bqe="/aladdin/assets/door_10-DVLJsY3W.png",Sqe="/aladdin/assets/door_11-dOCMnkGG.png",Tqe="/aladdin/assets/door_12-7f2iD2B7.png",Pqe="/aladdin/assets/door_13-IsPl-xmI.png",Cqe="/aladdin/assets/door_14-CljRO-fX.png",Rqe="/aladdin/assets/door_15-CoUc1lfF.png",Hqe="/aladdin/assets/door_16-Dlbc5tIF.png",Mqe="/aladdin/assets/door_17-CHob_UgA.png",iQt=(t,e,n,o)=>{const i=m.useMemo(()=>{let s;switch(t){case ii.Default:s=hqe;break;case ii.NoTexture:s=Z1;break;case ii.Texture01:s=pqe;break;case ii.Texture02:s=Mue;break;case ii.Texture03:s=gqe;break;case ii.Texture04:s=mqe;break;case ii.Texture05:s=yqe;break;case ii.Texture06:s=Aqe;break;case ii.Texture07:s=wqe;break;case ii.Texture08:s=vqe;break;case ii.Texture09:s=xqe;break;case ii.Texture10:s=bqe;break;case ii.Texture11:s=Sqe;break;case ii.Texture12:s=Tqe;break;case ii.Texture13:s=Pqe;break;case ii.Texture14:s=Cqe;break;case ii.Texture15:s=Rqe;break;case ii.Texture16:s=Hqe;break;case ii.Texture17:s=Mqe;break;default:s=Mue}return new tf().load(s,c=>{n!==void 0&&o!==void 0&&(c.offset.set(.5,.5),c.repeat.set(1/n,1/o)),a(c),l()})},[t,e,n,o]),[r,a]=m.useState(i),{invalidate:l}=Xi();return r},rQt=new sf({color:"white",side:ia}),aQt=Se.memo(({dimension:t,doorType:e})=>{const[n,o,i]=t.map(a=>a/2);return n===0&&i===0?null:h.jsxs("group",{name:"Door handle wrapper",children:[h.jsx(mv,{x:-n,z:i,handleType:yt.UpperLeft}),h.jsx(mv,{x:n,z:i,handleType:yt.UpperRight}),e===bd.Arched&&h.jsx(dqe,{z:i})]})}),lQt=Se.memo(({dimension:t})=>{const e=M(ss),[n,o,i]=t,[r,a,l]=t.map(c=>c/2),s=(c,u,d)=>h.jsx(sa,{name:"Door seal plane",args:c,position:u,rotation:d,material:rQt,receiveShadow:e});return h.jsxs("group",{name:"Door seal planes group",children:[s([o,i],[-r,a,0],[Vt,Vt,0]),s([o,i],[r,a,0],[Vt,-Vt,0]),s([n,o],[0,a,l],[Math.PI,0,0])]})}),sQt=t=>{const{id:e,parentId:n,cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,textureType:c,locked:u=!1,color:d="white",doorType:f=bd.Default,archHeight:p=1,filled:g=!0,opacity:y=1,frameColor:A="white"}=t,x=`Door Group ${e}`,C=M(dn),b=gt(Ah),v=M(uBe),S=Hs(e),w=m.useRef(!1);m.useEffect(()=>{const Q=()=>{w.current=!1};return window.addEventListener("pointerup",Q),()=>window.removeEventListener("pointerup",Q)},[]);const T=(Q=!1)=>{C(ee=>{if(ee.groupActionMode)ee.multiSelectionsMode||ee.selectedElementIdSet.clear(),t.foundationId&&(ee.selectedElementIdSet.has(n)?ee.selectedElementIdSet.delete(n):ee.selectedElementIdSet.add(t.foundationId));else for(const $ of ee.elements)if($.id===e)if($.selected=!0,ee.selectedElement=$,Q)if(ee.selectedElementIdSet.has(e))for(const q of ee.elements)ee.selectedElementIdSet.has(q.id)&&q.type!==ee.selectedElement.type&&ee.selectedElementIdSet.delete(q.id);else if(ee.multiSelectionsMode){ee.selectedElementIdSet.add(e);for(const q of ee.elements)ee.selectedElementIdSet.has(q.id)&&q.type!==ee.selectedElement.type&&ee.selectedElementIdSet.delete(q.id)}else ee.selectedElementIdSet.clear(),ee.selectedElementIdSet.add(e);else ee.multiSelectionsMode?ee.selectedElementIdSet.has(e)?ee.selectedElementIdSet.delete(e):ee.selectedElementIdSet.add(e):(ee.selectedElementIdSet.clear(),ee.selectedElementIdSet.add(e));else $.selected=!1})},P=Q=>Q.intersections.length>0&&Q.intersections[0].eventObject.name===x&&!M.getState().moveHandleType&&!M.getState().resizeHandleType&&!M.getState().isAddingElement()&&M.getState().objectTypeToAdd===z.None,R=Q=>{if(Q.eventObject.name===x&&Q.intersections.length>0)switch(Q.object.name){case yt.UpperLeft:case yt.UpperRight:case yt.Arch:return!0}return!1},H=(Q,ee)=>{Ln.getState().setEnableOrbitController(!1),b("showWallIntersectionPlaneId",n),C($=>{$.resizeHandleType=Q,$.resizeAnchor.copy(new ae(o,0,r).add(ee)),$.selectedElement=$.elements.find(q=>q.selected)})},D=Q=>{M.getState().addedWallId||P(Q)&&(T(!0),C(ee=>{ee.contextMenuObjectType=z.Door}))},E=Q=>{if(!(w.current||Q.button===2||M.getState().addedWallId)&&(w.current=!0,P(Q)&&T(),R(Q))){const ee=Q.intersections[0].eventObject.name;switch(ee){case yt.UpperLeft:{H(ee,new ae(a/2,0,-s/2));break}case yt.UpperRight:{H(ee,new ae(-a/2,0,-s/2));break}case yt.Arch:{H(ee,new ae(0,0,0));break}}}},L=M(cA),U=gt(cs),F=gt(i3),W=M(wf),B=bn(o1),[k,N]=m.useState(null),j=()=>{switch(f){case bd.Default:return h.jsx(nQt,{id:e,dimension:_,color:d,frameColor:A,selected:S,locked:u,material:J,filled:g,showHeatFluxes:F,area:be.getDoorArea(t),foundation:L(t)});case bd.Arched:return h.jsx(oQt,{id:e,dimension:_,color:d,frameColor:A,selected:S,locked:u,material:J,filled:g,showHeatFluxes:F,area:be.getDoorArea(t),foundation:L(t)})}};m.useEffect(()=>{if(t&&U){const Q=B(t.id);if(Q){const ee=be.fetchHeatmapTexture(Q,W??5);ee&&(ee.wrapS=Ss,ee.wrapT=Ss,ee.offset.set(-a/2,-s/2),ee.center.set(a/2,s/2),ee.repeat.set(1/a,1/s),N(ee))}}},[U,W]);const Y=iQt(c,f,a,s),_=m.useMemo(()=>[a,l,s,p],[a,l,s,p]),J=m.useMemo(()=>U&&k&&t.filled?new G9({color:d,map:k,side:ia}):g?c===ii.Default||c===ii.NoTexture?y<1?new A1e({specular:"white",shininess:v??QV,color:d,side:ia,opacity:y,transparent:!0}):new sf({map:Y,color:d,side:ia}):new sf({map:Y,side:ia}):new sf({opacity:d===lce?.5:0,color:d,transparent:!0,side:ji}),[U,k,d,c,Y,g,y]);return h.jsxs("group",{name:x,position:[o,0,r],onPointerDown:E,onContextMenu:D,children:[j(),S&&h.jsx(gye,{element:t}),S&&!u&&h.jsx(aQt,{dimension:_,doorType:f}),h.jsx(lQt,{dimension:_})]})},cQt=Se.memo(sQt),uQt=Se.memo(({drawSunbeam:t,absRotation:e,tiltAngle:n})=>{const o=new ae(0,0,1),i=M(Ya),r=M(Xs),a=M(mh),l=Math.max(100,10*a),s=m.useMemo(()=>zr(new Date(i),r).applyEuler(new Qt(-Vt-n,0,-e)),[i,r,e,n]);return h.jsx(h.Fragment,{children:t&&s.z>0&&h.jsxs("group",{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[o.clone().multiplyScalar(.75),[0,0,0],s.clone().multiplyScalar(l)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[s.clone().multiplyScalar(.5),o.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:be.toDegrees(s.angleTo(o)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:s.clone().multiplyScalar(.75).add(o.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:o.clone().multiplyScalar(.75),rotation:[Vt,0,0],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})})}),dQt=({sp:t})=>{M(Jn);const e=M(jn),n=M(Sc),o=m.useMemo(()=>({lng:n}),[n]);if(!t.foundationId||!t.parentId)return null;const i=e(t.parentId),r=e(t.foundationId);if(!i||!r)return null;const a=new ae(r.cx,r.cy,r.cz),l=new ae(i.cx,i.cy,i.cz),s=new ae(t.cx*i.lx,0,t.cz*i.lz).applyEuler(new Qt(0,0,i.relativeAngle)).add(l).applyEuler(new Qt(0,0,r.rotation[2])).add(a),c=((t==null?void 0:t.label)??O.t("shared.SolarPanelElement",o))+(t!=null&&t.locked?` ( + ${O.t("shared.ElementLocked",o)} + )`:"")+(t!=null&&t.label?"":` +`+O.t("word.Coordinates",o)+": ("+s.x.toFixed(1)+", "+s.y.toFixed(1)+", "+s.z.toFixed(1)+") "+O.t("word.MeterAbbreviation",o));return h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:c,color:t.labelColor??"white",fontSize:t.labelFontSize??20,textHeight:t.labelSize??.2,position:[0,0,t.labelHeight??Math.max(t.ly/2*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})},fQt=({tiltAngle:t,handleSize:e,initPointerDown:n,handlePointerMove:o,handlePointerUp:i})=>{const{gl:r}=Xi(),[a,l]=m.useState(pr),[s,c]=m.useState(!1),[u,d]=m.useState(!1),f=m.useRef(null),p=m.useRef(null),g=m.useMemo(()=>new Array(7).fill(0),[]),y=M(dn);return h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[e,1.1*e,18,2,0,Vt],rotation:[0,-Vt,0,"ZXY"],onPointerOver:()=>{r.domElement.style.cursor="grab",l(nr)},onPointerOut:()=>{r.domElement.style.cursor="default",l(pr)},onPointerDown:A=>{n(),A.stopPropagation(),c(!0),d(!0),y(x=>{x.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:a})}),s&&h.jsxs(h.Fragment,{children:[u&&h.jsx(sa,{name:"Solar panel tilt handle intersection plane",ref:p,args:[1e3,1e3],rotation:[0,-Vt,0,"ZXY"],visible:!1,onPointerMove:A=>{o(A,p)},onPointerUp:()=>{i(),d(!1),c(!1)},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji})}),h.jsx(Y6,{ref:f,name:"Solar panel tilt handle",args:[e,2*e,18,2,-0,Vt],rotation:[0,-Vt,0,"ZXY"],children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,e],[0,0,1.75*e]],rotation:new Qt(t,0,0,"ZXY"),lineWidth:1}),g.map((A,x)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*x-Vt,0,0,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*e],[0,0,2*e]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${90-x*15}°`,fontSize:20*e,fontFace:"Times Roman",textHeight:.15*e,position:[0,0,1.6*e]})]},x)),h.jsx("group",{rotation:new Qt(t,0,0,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(-t/Math.PI*180)}°`,fontSize:20*e,fontFace:"Times Roman",textHeight:.2*e,position:[0,0,.75*e]})})]})]})},hQt=Se.memo(({tiltAngle:t,spCy:e,spLy:n,lx:o,nx:i})=>{const r=M(ss),a=m.useMemo(()=>{const s=n*Math.cos(t)/2,c=n*.75-s,u=-e*1.5,d=c-s/2,f=Math.hypot(u,d),p=Math.atan2(d,u);return h.jsx("group",{position:[0,-c,e],rotation:[-p,0,0],children:h.jsx(Ei,{args:[.05,.05,f],position:[0,0,f/2],castShadow:r,receiveShadow:r,children:h.jsx("meshStandardMaterial",{color:"#BFBFBF"})})})},[t,e,n,r]),l=m.useMemo(()=>{const s=[];let c=i%2===0?o/2:0;for(;ch.jsx("group",{position:[s,0,0],children:a},c))})}),tO="Handle Group Move & Resize",pQt=({id:t,pvModelName:e="SPR-X21-335-BLK",cx:n,cy:o,cz:i,lx:r,ly:a,lz:l,color:s="white",locked:c=!1,parentId:u,foundationId:d,orientation:f=ci.portrait,showLabel:p,drawSunBeam:g,absRotation:y,tiltAngle:A,relativeAzimuth:x})=>{A=Math.min(0,A);const C=Hs(t),b=M(dn),v=gt(cs),S=M(ss),w=M(pq),T=M(jn),P=M(Vc),R=M(yh),H=M(hu)??!1,D=M(C7),{camera:E,gl:L}=Xi(),[U,F]=m.useState(!1),[W,B]=m.useState(null),[k,N]=m.useState(1),j=m.useRef(null),Y=m.useRef(),_=m.useRef(!1),J=m.useRef(null),Q=m.useMemo(()=>new Gs,[]),ee=m.useMemo(()=>new Gt,[]),$=D[e];$&&(l=Math.max($.thickness,.02));const q=r/2,le=a/2,ie=l/2,pe=new ae(-q,-le,ie),ne=new ae(-q,le,ie),Z=new ae(q,-le,ie),he=new ae(q,le,ie),fe=T(t);m.useEffect(()=>{if($){let Ne,Le;f===ci.portrait?(Ne=Math.max(1,Math.round(r/$.width)),Le=Math.max(1,Math.round(a/$.length))):(Ne=Math.max(1,Math.round(r/$.length)),Le=Math.max(1,Math.round(a/$.width))),N(Ne),Y.current=[];const qe=r/Ne,We=a/Le;for(let De=0;De<=Ne;De++)Y.current.push({points:[new ae(-q+De*qe,-le,l),new ae(-q+De*qe,le,l)]});for(let De=0;De<=Le;De++)Y.current.push({points:[new ae(-q,-le+De*We,l),new ae(q,-le+De*We,l)]})}},[f,e,r,a,l]);const se=m.useMemo(()=>new Qt(Vt,0,0),[]),oe=m.useMemo(()=>new Qt(A,0,0,"ZXY"),[A]),de=Ne=>{if(Ne.intersections.length>0&&Ne.eventObject.name.includes(tO)){const qe=Ne.object.name;B(qe),qe===yo.Top?L.domElement.style.cursor="move":qe===wi.Lower||qe===wi.Upper||qe===wi.Tilt?L.domElement.style.cursor="grab":L.domElement.style.cursor="pointer"}},ve=()=>{B(null),L.domElement.style.cursor="default"},Pe=Math.max(1,(r+a)/16),me=I9*Pe*1.5,Re=Af*Pe*2,ze=Pe*2/3;o=a*Math.sin(A)/2;const Ae=Ne=>{ee.x=Ne.offsetX/L.domElement.clientWidth*2-1,ee.y=-(Ne.offsetY/L.domElement.clientHeight)*2+1,Q.setFromCamera(ee,E)},re=()=>{J.current=A,_.current=!0,Ln.getState().setEnableOrbitController(!1)},ge=(Ne,Le)=>{var qe;if(_.current&&(Ae(Ne),Le.current&&M.getState().rotateHandleType===wi.Tilt)){const We=Q.intersectObjects([Le.current]);if(We.length>0){const De=We[0].point,Fe=(qe=Le.current.parent)==null?void 0:qe.localToWorld(new ae);if(Fe){const _e=new ae().subVectors(De,Fe);let ot=_e.angleTo(Po);const Ye=y;ot=(Ye%Math.PI===0?Math.sign(-_e.y)*Math.sign(Math.cos(Ye)):Math.sign(_e.x)*Math.sign(Math.sin(Ye)))*ot-Vt,ot=be.clamp(ot,-Vt,0),M.getState().updateSolarPanelTiltAngleById(t,ot)}}}},we=()=>{const Ne=T(t);if(Ne&&J.current!==null&&Math.abs(Ne.tiltAngle-J.current)>kt){const Le={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:J.current,newValue:Ne.tiltAngle,changedElementId:t,changedElementType:z.SolarPanel,undo:()=>{M.getState().updateSolarPanelTiltAngleById(Le.changedElementId,Le.oldValue)},redo:()=>{M.getState().updateSolarPanelTiltAngleById(Le.changedElementId,Le.newValue)}};M.getState().addUndoable(Le)}Ln.getState().setEnableOrbitController(!0),_.current=!1},ye=(Ne,Le)=>{Ln.getState().setEnableOrbitController(!1),gt.getState().set(qe=>{qe.showWallIntersectionPlaneId=u,qe.oldParentId=u,qe.oldFoundationId=d}),b(qe=>{qe.resizeHandleType=Ne,qe.resizeAnchor.copy(new ae(n,0,i).add(Le))})},Te=Ne=>{if(Ne.intersections.length>0&&Ne.intersections[0].eventObject.name===tO){const Le=Ne.object.name;switch(Le){case yo.Default:{Ln.getState().setEnableOrbitController(!1),gt.getState().set(qe=>{qe.showWallIntersectionPlaneId=u,qe.oldParentId=u,qe.oldFoundationId=d}),b(qe=>{qe.moveHandleType=Le,qe.selectedElement=qe.elements.find(We=>{var De;return We.id===((De=qe.selectedElement)==null?void 0:De.id)})});break}case yt.Left:{ye(Le,new ae(r/2,0,0));break}case yt.Right:{ye(Le,new ae(-r/2,0,0));break}case yt.Lower:{ye(Le,new ae(0,0,a/2));break}case yt.Upper:{ye(Le,new ae(0,0,-a/2));break}}}},Ie=iQ(r,a,$,f,fe==null?void 0:fe.frameColor,fe==null?void 0:fe.backsheetColor),Ce=oQ(t),Ee=()=>v&&Ce?h.jsx("meshBasicMaterial",{attach:"material-4",map:Ce}):Ie?H||w===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Ie,color:s}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo(($==null?void 0:$.color)==="Blue"?Kw:qw),shininess:w??Xm,side:ia,map:Ie,color:s}):h.jsx("meshStandardMaterial",{attach:"material-4",color:s}),Ue=()=>($==null?void 0:$.bifacialityFactor)===0||A===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:s}):Ie?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo(($==null?void 0:$.color)==="Blue"?Kw:qw),shininess:w??Xm,side:ia,map:Ie,color:s}):null;return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Solar Panel Group Grandpa "+t,rotation:se,position:[n,o,i+ie],children:[h.jsxs("group",{name:"Solar Panel Group Dad "+t,rotation:oe,children:[h.jsxs(Ei,{receiveShadow:S,castShadow:S,uuid:t,ref:j,args:[r,a,l],name:"Solar Panel",onPointerDown:Ne=>{Ne.button===2||M.getState().isAddingElement()||M.getState().objectTypeToAdd!==z.None||P(t,Ne,zo.Select)},onContextMenu:Ne=>{P(t,Ne,zo.ContextMenu),b(Le=>{Ne.intersections.length>0&&Ne.intersections[0].object===j.current&&(Le.contextMenuObjectType=z.SolarPanel)})},onPointerOver:Ne=>{Ne.intersections.length>0&&Ne.intersections[0].object===j.current&&(L.domElement.style.cursor="move",F(!0))},onPointerOut:Ne=>{L.domElement.style.cursor="default",F(!1)},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:s}),h.jsx("meshStandardMaterial",{attach:"material-1",color:s}),h.jsx("meshStandardMaterial",{attach:"material-2",color:s}),h.jsx("meshStandardMaterial",{attach:"material-3",color:s}),Ee(),Ue()]}),v&&Ce&&Y.current&&Y.current.map((Ne,Le)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:Ne.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Le)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:t,args:[r,a],position:[0,0,l],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),C&&c&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-le,0],[-q,le,0],[q,le,0],[q,-le,0],[-q,-le,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0}),C&&!c&&h.jsx(h.Fragment,{children:h.jsxs("group",{name:tO,onPointerDown:Te,onPointerOver:de,onPointerOut:ve,children:[h.jsx(ts,{position:new ae(0,0,0),args:[Re,6,6],name:yo.Default,children:h.jsx("meshBasicMaterial",{color:"orange"})}),h.jsx(Ei,{position:[(pe.x+Z.x)/2,pe.y,pe.z],args:[me,me,l*1.2],name:yt.Lower,children:h.jsx("meshBasicMaterial",{color:W===yt.Lower||R===yt.Lower?nr:pr})}),h.jsx(Ei,{position:[(ne.x+he.x)/2,ne.y,ne.z],args:[me,me,l*1.2],name:yt.Upper,children:h.jsx("meshBasicMaterial",{color:W===yt.Upper||R===yt.Upper?nr:pr})}),h.jsx(Ei,{position:[pe.x,(pe.y+ne.y)/2,pe.z],args:[me,me,l*1.2],name:yt.Left,children:h.jsx("meshBasicMaterial",{color:W===yt.Left||R===yt.Left?nr:pr})}),h.jsx(Ei,{position:[Z.x,(Z.y+he.y)/2,Z.z],args:[me,me,l*1.2],name:yt.Right,children:h.jsx("meshBasicMaterial",{color:W===yt.Right||R===yt.Right?nr:pr})})]})}),h.jsx(uQt,{drawSunbeam:g,absRotation:y,tiltAngle:A}),(U||p)&&!C&&h.jsx(dQt,{sp:fe})]}),A!==0&&$&&h.jsx(hQt,{tiltAngle:-A,spCy:o-ie,spLy:a,lx:f===ci.portrait?$.width:$.length,nx:k})]}),C&&!c&&h.jsx("group",{name:tO,position:[n,0,i+ie],rotation:se,children:h.jsx(fQt,{tiltAngle:A,handleSize:ze,initPointerDown:re,handlePointerMove:ge,handlePointerUp:we})})]})},gQt=Se.memo(pQt),mQt="/aladdin/assets/polygon_08-BBFzZjDj.png",yQt="/aladdin/assets/polygon_09-B_8KpAt3.png",AQt="/aladdin/assets/polygon_10-CKqrpQre.png",Iqe=({id:t,lz:e=.1,filled:n=!1,rotation:o=[0,0,0],normal:i=[0,0,1],color:r="yellow",label:a,text:l,fontSize:s=1,fontColor:c="black",fontOutlineWidth:u=0,fontOutlineColor:d="white",fontStrokeWidth:f=0,fontStrokeColor:p="black",lineStyle:g=Oh.Solid,lineColor:y="black",lineWidth:A=1,locked:x=!1,showLabel:C=!1,parentId:b,foundationId:v,vertices:S,opacity:w=1,noOutline:T=!1,shininess:P=0,selectedIndex:R=-1,textureType:H=qi.NoTexture})=>{const D=M(dn),E=M(Vc),L=M(Cq),U=M(ss),F=Hs(t),{gl:{domElement:W}}=Xi(),[B,k]=m.useState(!1),[N,j]=m.useState(0),[Y,_]=m.useState(0),[J,Q]=m.useState(null),ee=m.useRef(null),$=m.useRef(null),q=M(Ce=>{for(const Ee of Ce.elements)if(Ee.id===b)return Ee}),le=new ae,ie=new Qt;if((q==null?void 0:q.type)===z.Cuboid){const{pos:Ce,rot:Ee}=be.getWorldDataById(q.id);le.copy(Ce),ie.set(0,0,Ee)}const pe=q?Math.max(1,Math.max(q.lx,q.ly)/24):1,ne=I9*pe,Z=Af*pe,he=Kt(),fe=(Ce,Ee)=>{D(Ue=>{for(const Ne of Ue.elements)if(Ne.type===z.Polygon&&Ne.id===Ce){Ne.selectedIndex=Ee;break}})},se=m.useMemo(()=>{const Ce=new Array;if(q){switch(q.type){case z.Foundation:{for(const Ue of S)Ce.push({x:Ue.x*q.lx,y:Ue.y*q.ly});break}case z.Wall:{for(const Ue of S)Ce.push({x:Ue.x*q.lx,y:Ue.y*q.lz});break}case z.Cuboid:{const Ue=new ae().fromArray(i);let Ne,Le;be.isUnitVectorX(Ue)?(Ne=q.lz,Le=q.ly):be.isUnitVectorY(Ue)?(Ne=q.lx,Le=q.lz):(Ne=q.lx,Le=q.ly);for(const qe of S)Ce.push({x:qe.x*Ne,y:qe.y*Le});break}}const Ee=be.calculatePolygonCentroid(Ce);j(Ee.x),_(Ee.y)}return Ce},[S,q,i]),de=(()=>{if((q==null?void 0:q.type)===z.Cuboid){const Ce=be.isIdentical(i,o0);return le.z+(q.lz+(Ce?0:e))/2+.01}return(q==null?void 0:q.type)===z.Foundation?q.lz+.01:e/2+.01})(),Pe=(()=>{if((q==null?void 0:q.type)===z.Wall)return new Qt(-Vt,0,Math.PI,"ZXY");const Ce=new ae().fromArray(i);let Ee=o[2];return(q==null?void 0:q.type)===z.Cuboid&&(Ee=ie.z),be.isSame(Ce,Np)?new Qt(0,Vt,Ee,"ZXY"):be.isSame(Ce,Up)?new Qt(0,-Vt,Ee,"ZXY"):be.isSame(Ce,Yc)?new Qt(-Vt,0,Ee,"ZXY"):be.isSame(Ce,Bp)?new Qt(Vt,0,Ee,"ZXY"):new Qt(0,0,Ee,"ZXY")})(),Re=(()=>{if(q){if(q.type===z.Cuboid){const Ce=new ae(le.x,le.y,de),Ee=new ae().fromArray(i);let Ue=!1;const Ne=new ae;return be.isSame(Ee,Np)?(Ue=!0,Ne.x=q.lx/2+.01):be.isSame(Ee,Up)?(Ue=!0,Ne.x=-q.lx/2-.01):be.isSame(Ee,Yc)?(Ue=!0,Ne.y=q.ly/2+.01):be.isSame(Ee,Bp)&&(Ue=!0,Ne.y=-q.ly/2-.01),Ue&&(Ne.applyEuler(ie),Ce.x=le.x+Ne.x,Ce.y=le.y+Ne.y,Ce.z=le.z+Ne.z),Ce}else if(q.type===z.Wall)return new ae(0,-.01,0)}return new ae((q==null?void 0:q.cx)??0,(q==null?void 0:q.cy)??0,de)})(),ze=m.useMemo(()=>{const Ce=new Array;for(const Ee of se)Ce.push(new ae(Ee.x,Ee.y,0));return Ce.push(new ae(se[0].x,se[0].y,0)),Ce},[se]),Ae=m.useMemo(()=>{const Ce=new Ml;Ce.moveTo(se[0].x,se[0].y);for(let Ee=1;Ee{Ce.intersections.length>0&&Ce.intersections[0].object===Ce.eventObject&&(Q(Ee),Ee===yo.Default?W.style.cursor="move":W.style.cursor="pointer")},[]),ge=m.useCallback(()=>{Q(null),W.style.cursor="default"},[]),we=Ce=>{switch(Ce){case qi.Texture01:return{x:1,y:1};case qi.Texture02:return{x:2,y:2};case qi.Texture03:return{x:.4,y:.4};case qi.Texture04:return{x:.25,y:.25};case qi.Texture05:return{x:5,y:5};case qi.Texture06:return{x:1,y:1};case qi.Texture07:return{x:1,y:1};case qi.Texture08:return{x:2,y:2};case qi.Texture09:return{x:2,y:2};case qi.Texture10:return{x:4,y:4};default:return{x:1,y:1}}},ye=m.useMemo(()=>{let Ce;switch(H){case qi.Texture01:Ce=tqe;break;case qi.Texture02:Ce=nqe;break;case qi.Texture03:Ce=oqe;break;case qi.Texture04:Ce=iqe;break;case qi.Texture05:Ce=rqe;break;case qi.Texture06:Ce=aqe;break;case qi.Texture07:Ce=lqe;break;case qi.Texture08:Ce=mQt;break;case qi.Texture09:Ce=yQt;break;case qi.Texture10:Ce=AQt;break;default:Ce=Z1}return new tf().load(Ce,Ee=>{const Ue=we(H);Ee.wrapT=Ee.wrapS=Ss,Ee.repeat.set(1/Ue.x,1/Ue.y);const Ne=new ae().fromArray(i);be.isSame(Ne,Np)?Ee.rotation=Vt:be.isSame(Ne,Up)?Ee.rotation=-Vt:be.isSame(Ne,Bp)&&(Ee.rotation=Math.PI),Ie(Ee)})},[H,i]),[Te,Ie]=m.useState(ye);return h.jsxs("group",{name:"Polygon Group "+t,rotation:Pe,position:Re,children:[n&&h.jsxs("mesh",{uuid:t,ref:ee,receiveShadow:U,castShadow:!1,name:z.Polygon,onPointerDown:Ce=>{Ce.button!==2&&L===z.None&&E(t,Ce)},onContextMenu:Ce=>{E(t,Ce,zo.ContextMenu),D(Ee=>{Ce.intersections.length>0&&Ce.intersections[0].object===ee.current&&(Ce.intersections.length>1&&Ee.pastePoint.copy(Ce.intersections[1].point),Ee.contextMenuObjectType=z.Polygon)})},onPointerOver:Ce=>{Ce.intersections.length>0&&Ce.intersections[0].object===ee.current&&k(!0)},onPointerOut:()=>{k(!1),W.style.cursor="default"},children:[h.jsx("shapeGeometry",{attach:"geometry",args:[Ae]}),P===void 0||P===0?h.jsx("meshStandardMaterial",{attach:"material",color:H===qi.NoTexture?r:"white",map:Te,side:ji,transparent:w<1,opacity:w}):h.jsx("meshPhongMaterial",{attach:"material",color:H===qi.NoTexture?r:"white",map:Te,side:ia,specular:new Xo("white"),shininess:P,transparent:w<1,opacity:w})]}),l&&h.jsx(N6t,{fontSize:s,scale:[1,1,1],color:c,position:[N,Y,.01],rotation:[0,0,(q==null?void 0:q.type)===z.Wall?Math.PI:0],anchorX:"center",anchorY:"middle",outlineWidth:u,outlineColor:d,strokeWidth:f,strokeColor:p,children:l}),(!T||x&&F)&&h.jsx(Fn,{points:ze,color:x&&F?l0:y,lineWidth:A,dashed:g&&g!==Oh.Solid,dashSize:g===Oh.Dashed?.3:.1,gapSize:.1,uuid:t,receiveShadow:!1,castShadow:!1,name:"Polygon Wireframe",onPointerDown:Ce=>{Ce.button!==2&&E(t,Ce)},onContextMenu:Ce=>{L===z.None&&(E(t,Ce,zo.ContextMenu),D(Ee=>{if(Ce.intersections.length>0){const Ue=Ce.intersections[0].object;Ue.name==="Polygon Wireframe"&&Ue.uuid===t&&(Ee.contextMenuObjectType=z.Polygon)}}))}}),!n&&h.jsx(Fn,{position:[0,0,.1],points:ze,visible:!1,lineWidth:Math.min(A*10,10),receiveShadow:!1,castShadow:!1,uuid:t,name:"Polygon Enlarged Line",onPointerDown:Ce=>{Ce.button!==2&&E(t,Ce)},onContextMenu:Ce=>{L===z.None&&(E(t,Ce,zo.ContextMenu),D(Ee=>{if(Ce.intersections.length>0){const Ue=Ce.intersections[0].object;Ue.name==="Polygon Enlarged Line"&&Ue.uuid===t&&(Ee.contextMenuObjectType=z.Polygon)}}))}}),F&&!x&&h.jsx(ts,{ref:$,position:[N,Y,0],args:[Z,6,6],name:yo.Default,onPointerDown:Ce=>{Ce.button!==2&&(E(t,Ce,zo.Move),Ln.getState().setEnableOrbitController(!1),gt.getState().set(Ee=>{Ee.showWallIntersectionPlaneId=b,Ee.oldParentId=b,Ee.oldFoundationId=v}),D(Ee=>{Ee.moveHandleType=yo.Default}))},onPointerOver:Ce=>{re(Ce,yo.Default)},onPointerOut:ge,children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),F&&!x&&se.map((Ce,Ee)=>h.jsxs(Se.Fragment,{children:[h.jsx(Ei,{userData:{vertexIndex:Ee},position:[Ce.x,Ce.y,0],name:yt.Default,args:[ne,ne,e/2+(n?0:.1)],onPointerDown:Ue=>{Ue.button!==2&&(E(t,Ue,zo.Resize),fe(t,Ee),Ln.getState().setEnableOrbitController(!1),gt.getState().set(Ne=>{Ne.showWallIntersectionPlaneId=b,Ne.oldParentId=b,Ne.oldFoundationId=v}),D(Ne=>{Ne.resizeHandleType=yt.Default}))},onPointerOver:Ue=>{re(Ue,yt.Default),fe(t,Ee)},onPointerOut:ge,onContextMenu:Ue=>{D(Ne=>{if(Ue.intersections.length>0){const Le=Ue.intersections[0].object.userData.vertexIndex;Le!==void 0&&(Ne.contextMenuObjectType=z.PolygonVertex,fe(t,Le))}})},children:h.jsx("meshBasicMaterial",{attach:"material",color:(J===yt.Default||M.getState().resizeHandleType===yt.Default)&&R===Ee?nr:pr})}),h.jsx("textSprite",{name:"Label "+Ee,text:""+Ee,fontSize:20*pe,fontFace:"Times Roman",textHeight:.2*pe,position:[Ce.x,Ce.y,.2*pe]})]},"resize-handle-"+Ee)),(B||C)&&!F&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:(a??O.t("shared.PolygonElement",he))+(x?" ("+O.t("shared.ElementLocked",he)+")":""),fontSize:20*pe,fontFace:"Times Roman",textHeight:.2*pe,position:[0,0,e+.2]})]})},yye={display:!1,color:"white",textureType:No.NoTexture,parapetHeight:1,copingsWidth:.5,copingsHeight:.1},wQt=({args:t,wallData:e,parapetZ:n,currWallPointData:o,leftWallPointData:i,rightWallPointData:r})=>{const{display:a,color:l,textureType:s,parapetHeight:c,copingsWidth:u,copingsHeight:d}=t,{id:f,cx:p,cy:g,hx:y,hy:A,angle:x}=e,C=c-d,b=qKe(s),v=m.useMemo(()=>{const F=new ae(-y,A-u/2),W=new ae(y,A-u/2),B=new ae(y,A+u/2),k=new ae(-y,A+u/2),N=[F,W,B,k];if(r||i){const j=lSe(o);if(r&&nO(o.rightPoint,r.leftPoint)){const Y=H(j,r);Y&&(W.copy(Y.outerIntersection),B.copy(Y.innerIntersection))}if(i&&nO(o.leftPoint,i.rightPoint)){const Y=H(j,i);Y&&(F.copy(Y.outerIntersection),k.copy(Y.innerIntersection))}}return N},[y,A,u,o,i,r]),S=m.useMemo(()=>{const F=new Ml,W=new ae(-y,A*2),B=new ae(y,A*2);if(r||i){const k=VG(o,o.ly);if(r&&nO(o.rightPoint,r.leftPoint)){const N=D(k,r);N&&B.copy(N)}if(i&&nO(o.leftPoint,i.rightPoint)){const N=D(k,i);N&&W.copy(N)}}return F.moveTo(-y,0),F.lineTo(y,0),F.lineTo(B.x,B.y),F.lineTo(W.x,W.y),F.closePath(),F},[y,A,o,i,r]),w=m.useMemo(()=>{const F=new Ml;if(u===0)return F;const[W,B,k,N]=v;return F.moveTo(W.x,W.y),F.lineTo(B.x,B.y),F.lineTo(k.x,k.y),F.lineTo(N.x,N.y),F.closePath(),F},[u,v]),T=m.useMemo(()=>v.map(F=>F.toArray()),[v]),P=m.useMemo(()=>[new ae(-y,0,0),new ae(y,0,0)],[y]),R=m.useMemo(()=>[new ae,new ae(0,0,C)],[C]);function H(F,W){const B=lSe(W),k=Tre(F.outerPoints.leftPoint,F.outerPoints.rightPoint,B.outerPoints.leftPoint,B.outerPoints.rightPoint);if(!k)return null;const N=Tre(F.innerPoints.leftPoint,F.innerPoints.rightPoint,B.innerPoints.leftPoint,B.innerPoints.rightPoint);return N?{innerIntersection:new ae().subVectors(N,new ae(p,g)).applyEuler(new Qt(0,0,-x)),outerIntersection:new ae().subVectors(k,new ae(p,g)).applyEuler(new Qt(0,0,-x))}:null}function D(F,W){const B=VG(W,W.ly),k=Tre(F.leftPoint,F.rightPoint,B.leftPoint,B.rightPoint);return k?new ae().subVectors(k,new ae(p,g)).applyEuler(new Qt(0,0,-x)):null}function E(){return!(M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().isAddingElement())}function L(F){F.button!==2&&F.intersections.length>0&&F.intersections[0].eventObject===F.eventObject&&E()&&M.getState().selectMe(f,F,zo.Select,!0)}function U(F){M.getState().selectMe(f,F,zo.ContextMenu,!0),M.getState().set(W=>{F.intersections.length>0&&F.intersections[0].eventObject===F.eventObject&&(W.contextMenuObjectType=z.Wall)})}return a?h.jsxs("group",{name:"Wall Parapet Group",position:[0,0,n],onContextMenu:U,onPointerDown:L,children:[h.jsx($w,{name:"Body Extrude Mesh",args:[S,{steps:1,depth:C,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{color:l,map:b})}),h.jsx(Fn,{position:[y,0,0],points:R,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[-y,0,0],points:R,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[0,0,C],points:P,color:"black",lineWidth:.2}),h.jsx($w,{name:"Copings Extrude Mesh",position:[0,0,C],args:[w,{steps:1,depth:d,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{color:l})}),h.jsx(Fn,{position:[0,0,C+d],points:T,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[0,0,C],points:T,color:"black",lineWidth:.2})]}):null};function lSe(t){const e=(t.ly+t.copingsWidth)/2,n=(t.ly-t.copingsWidth)/2;return{innerPoints:VG(t,e),outerPoints:VG(t,n)}}function VG(t,e){const{leftPoint:n,rightPoint:o}=t,i=new ae().fromArray(n),r=new ae().fromArray(o),l=new ae().subVectors(r,i).applyEuler(new Qt(0,0,Vt)).normalize().clone().multiplyScalar(e);return{leftPoint:i.clone().add(l),rightPoint:r.clone().add(l)}}function nO(t,e){return Math.abs(t[0]-e[0]){const{id:n,lx:o,lz:i}=t,r=M(Q9),a=M(X2),l=M(q9),s=M($9),c=bn(vb),u=gt(i3),d=m.useRef(0),f=m.useRef(),p=m.useMemo(()=>{if(!u||e)return;const g=c.get(n);if(!g)return;const y=g.reduce((N,j)=>N+j,0),A=t.fill===Hl.Partial&&!be.isPartialWallFull(t),x=be.getWallVertices(t,0),C=A?be.getPartialWallVertices(t,0):x,b=be.getPolygonArea(x);let v=A?be.getPolygonArea(C):b;if(v===0)return;const S=r(z.Window,n),w=r(z.Door,n);if(S&&S.length>0)for(const N of S)v-=be.getWindowArea(N,t);if(w&&w.length>0)for(const N of w)v-=N.lx*N.lz*t.lx*t.lz;const T=M.getState().world,P=K9*(T.solarRadiationHeatmapGridCellSize??.5),R=be.getHighestPointOfWall(t),H=Math.max(2,Math.round(o/P)),D=Math.max(2,Math.round(R/P)),E=o/H,L=R/D,U=(R-t.lz)/2,F=y/v*(a??Vm);d.current=F<0?1:0,f.current=be.getEuler(Po,Yc,"YXZ",Math.sign(F)*Vt);const W=[],B=A?be.getPartialWallVertices(t,0):be.getWallVertices(t,0);let k;for(let N=0;N0)for(const Q of S){if(Q.type!==z.Window)continue;const ee=Q.cx*t.lx,$=Q.cz*t.lz,q=Q.lx*t.lx/2,le=Q.lz*t.lz/2;if(Q.windowType===Sr.Arched){if(_>=ee-q&&_=$-le&&J<$+le){k=!1;break}}else if(_>=ee-q&&_=$-le&&J<$+le){k=!1;break}}if(w&&w.length>0)for(const Q of w){const ee=Q.cx*o,$=Q.cz*R,q=Q.lx*o/2,le=Q.lz*R/2;if(_>=ee-q&&_=$-le&&J<$+le){k=!1;break}}k&&(F<0?(Y.push(new ae(_,0,J)),Y.push(new ae(_,F,J))):(Y.push(new ae(_,0,J)),Y.push(new ae(_,-F,J))),W.push(Y))}}return W},[o,i,u,a,e]);return p?h.jsx(h.Fragment,{children:p.map((g,y)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{points:g,name:"Heat Flux "+y,lineWidth:s??Gm,color:l??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:g[d.current].clone().add(new ae(0,d.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:f.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:l??g0})})]},y))}):null},bQt=Se.memo(xQt),Pre="Wall Block Plane",sSe="Wall Intersection Plane",tP=.1,SQt=Se.memo(({transparent:t,color:e,opacity:n})=>{const i=M(M7).z<=0;return h.jsx("meshStandardMaterial",{color:t?e:"white",transparent:t,opacity:n,side:i?p0:ji})}),TQt=({wallModel:t,foundationModel:e})=>{var mu,sn,qt,jt,pn,Tn;let{id:n,cx:o,cy:i,lx:r=1,ly:a=.5,lz:l=5,relativeAngle:s,leftJoints:c,rightJoints:u,textureType:d,color:f="white",lineColor:p="black",lineWidth:g=.2,parentId:y,locked:A=!1,roofId:x,leftRoofHeight:C,rightRoofHeight:b,centerRoofHeight:v,centerLeftRoofHeight:S,centerRightRoofHeight:w,wallStructure:T=hc.Default,structureSpacing:P=2,structureWidth:R=.1,structureColor:H="white",opacity:D=.5,fill:E=Hl.Full,leftUnfilledHeight:L=.5,rightUnfilledHeight:U=.5,leftTopPartialHeight:F=l,rightTopPartialHeight:W=l,parapet:B=yye,leftPoint:k,rightPoint:N}=t;C=c.length>0?C:l,b=u.length>0?b:l;const j=qKe(d),Y=Hs(n),_=M(dn),J=M(xb),Q=M(Vc),ee=M(En),$=M(fge),q=bn(o1),le=M(H7),ie=M(ss),pe=M(hge),ne=M(uYe),Z=M(wf),he=gt(Ah),fe=gt(cs),se=gt($e=>$e.elementBeingCanceledId),oe=gt($e=>$e.showWallIntersectionPlaneId),[de,ve]=m.useState(!1),[Pe,me]=m.useState(null),{camera:Re,gl:ze}=Xi(),{elementsOnWall:Ae,leftWall:re,rightWall:ge}=o$t(n,c[0],u[0]),we=$Ke(e),ye=m.useRef(null),Te=m.useRef(null),Ie=m.useRef(null),Ce=m.useRef(null),Ee=m.useRef(null),Ue=m.useRef(null),Ne=m.useRef(null),Le=m.useRef(null),qe=r/2,We=a/2,De=l/2,Fe=we?we.rotation[2]+s:s,_e=be.getInnerWallOffset(re,r,a,s,"left"),ot=be.getInnerWallOffset(ge,r,a,s,"right"),Ye=T===hc.Stud||T===hc.Pillar,St=C??l,dt=b??l,je=E===Hl.Partial,at=je?L:0,ut=je?U:0,wt=je?Math.min(St,F):St,rt=je?Math.min(dt,W):dt,Qe=je&&(!be.isZero(St-wt)||!be.isZero(dt-rt)),Oe=ie&&!Ye,et=B.display,vt=Math.max(wt,rt)-De,ct=m.useMemo(()=>new Gt,[]),lt=m.useMemo(()=>new Gs,[]),tt=m.useMemo(()=>new sf({color:"white",side:ji,transparent:Ye,opacity:D}),[Ye,D]),it=m.useMemo(()=>be.getHighestPointOfWall(t),[t.lz,t.leftRoofHeight,t.rightRoofHeight,t.centerRoofHeight,t.centerLeftRoofHeight,t.centerRightRoofHeight]),At=m.useMemo(()=>{const $e=new Ml;return xt($e,r,l,0,0,0,0),Ae.forEach(Pt=>{if(Pt.type===z.Window&&Pt.id!==Ne.current&&Pt.lx>0&&Pt.lz>0){const Nt=Pt,Ct=new Ml,[Bt,Xt,rn,gn]=[Pt.lx*r,Pt.lz*l,Pt.cx*r,Pt.cz*l];if(Nt.windowType)switch(Nt.windowType){case Sr.Arched:Pn(Ct,Bt,Xt,rn,gn,Nt.archHeight);break;case Sr.Polygonal:{const[mn,vn]=Nt.polygonTop??jp;Un(Ct,Bt,Xt,rn,gn,mn*Bt,vn);break}case Sr.Default:default:Sn(Ct,Bt,Xt,rn,gn)}else Sn(Ct,Bt,Xt,rn,gn);$e.holes.push(Ct)}}),$e},[r,l,E,L,U,wt,rt,Ae,C,b,v,S,w]),Mt=m.useMemo(()=>{const $e=new Ml,Pt=l,Nt=l/2;if(je)$e.moveTo(-qe+_e,-Nt+L),$e.lineTo(qe-ot,-Nt+U);else{$e.moveTo(-qe+_e,-Nt);const Ct=Ae.filter(Bt=>Bt.type===z.Door).sort((Bt,Xt)=>Bt.cx-Xt.cx);for(const Bt of Ct)if(Bt.id!==Ne.current){const[Xt,rn,gn,mn]=[Bt.cx*r,Bt.cz*Pt,Bt.lx*r,Bt.lz*Pt];if(Bt.doorType===bd.Default)$e.lineTo(Xt-gn/2,-Nt),$e.lineTo(Xt-gn/2,-Nt+mn),$e.lineTo(Xt+gn/2,-Nt+mn),$e.lineTo(Xt+gn/2,-Nt);else{const vn=Math.min(Bt.archHeight,mn,gn/2);if($e.lineTo(Xt-gn/2,-Nt),vn>.1){$e.lineTo(Xt-gn/2,-Nt+mn/2-vn);const kn=vn/2+gn**2/(8*vn),[Yn,Wn]=[Xt,rn+mn/2-kn],qn=Math.acos(Math.min(gn/2/kn,1)),Xn=Math.PI-qn;$e.absarc(Yn,Wn,kn,Xn,qn,!0)}else $e.lineTo(Xt-gn/2,-Nt+mn),$e.lineTo(Xt+gn/2,-Nt+mn);$e.lineTo(Xt+gn/2,-Nt)}}$e.lineTo(qe-ot,-Nt)}if(Qe){const Ct=rt-wt,Bt=(r-ot)*Ct/r,Xt=_e*Ct/r;$e.lineTo(qe-ot,-Nt+wt+Bt),$e.lineTo(-qe+_e,-Nt+wt+Xt)}else x?(b?$e.lineTo(qe-ot,b-Nt):$e.lineTo(qe-ot,Nt),w&&$e.lineTo(w[0]*r,w[1]-Nt),v&&$e.lineTo(v[0]*r,v[1]-Nt),S&&$e.lineTo(S[0]*r,S[1]-Nt),C?$e.lineTo(-qe+_e,C-Nt):$e.lineTo(-qe+_e,Nt)):($e.lineTo(qe-ot,Nt),$e.lineTo(-qe+_e,Nt));return $e.closePath(),Ae.forEach(Ct=>{if(Ct.type===z.Window&&Ct.id!==Ne.current&&Ct.lx>0&&Ct.lz>0){const Bt=Ct,Xt=new Ml,[rn,gn,mn,vn]=[Ct.lx*r,Ct.lz*l,Ct.cx*r,Ct.cz*l];if(Bt.windowType)switch(Bt.windowType){case Sr.Arched:Pn(Xt,rn,gn,mn,vn,Bt.archHeight);break;case Sr.Polygonal:{const[kn,Yn]=Bt.polygonTop??jp;Un(Xt,rn,gn,mn,vn,kn*rn,Yn);break}case Sr.Default:default:Sn(Xt,rn,gn,mn,vn);break}else Sn(Xt,rn,gn,mn,vn);$e.holes.push(Xt)}}),$e},[r,l,E,L,U,wt,rt,_e,ot,Ae,x,C,b,v,S,w]),st=m.useMemo(()=>je?(wt+rt)/2-De:De,[De,je,wt,rt]),ft=m.useMemo(()=>{const $e=rt-wt;return!je||Math.abs($e)<.01?0:Math.atan2($e,r)},[r,je,wt,rt]),Rt=m.useMemo(()=>{const $e=new Ml;if(!je||Math.abs(ft)<1e-4)return cn($e,r,a,_e,ot),$e;{const Pt=r/2,Nt=a/2,Ct=Math.cos(ft),Bt=Pt/Ct,Xt=(Pt-_e)/Ct,rn=(Pt-ot)/Ct;return $e.moveTo(-Bt,-Nt),$e.lineTo(Bt,-Nt),$e.lineTo(rn,Nt),$e.lineTo(-Xt,Nt),$e.closePath(),$e}},[r,a,_e,ot,je,ft]),zt=m.useMemo(()=>{const $e=[],Pt=r/2,Nt=l/2;return je?($e.push({x:-Pt+_e,y:-Nt+at}),$e.push({x:Pt-ot,y:-Nt+ut})):($e.push({x:-Pt,y:-Nt}),$e.push({x:Pt,y:-Nt})),Qe?($e.push({x:Pt-ot,y:-Nt+rt}),$e.push({x:-Pt+_e,y:-Nt+wt})):(b?$e.push({x:Pt,y:b-Nt}):$e.push({x:Pt,y:Nt}),w&&$e.push({x:w[0]*r,y:w[1]-Nt}),v&&$e.push({x:v[0]*r,y:v[1]-Nt}),S&&$e.push({x:S[0]*r,y:S[1]-Nt}),C?$e.push({x:-Pt,y:C-Nt}):$e.push({x:-Pt,y:Nt})),$e},[r,l,E,at,ut,wt,rt,C,b,v,S,w]),Xe=m.useMemo(()=>{const $e=[];let Pt=0,Nt=0;if(E===Hl.Partial&&(Pt=(U-L)/r,Nt=L+qe*Pt),T===hc.Stud){let Ct=-qe+R/2;for(;Ct<=qe;)$e.push([Ct,Pt*Ct+Nt]),Ct+=P;Ct=qe-R/2,$e.push([Ct,Pt*Ct+Nt])}else if(T===hc.Pillar){let Ct=-qe;for(;Ct<=qe;)$e.push([Ct,Pt*Ct+Nt]),Ct+=P;$e.push([qe,Pt*qe+Nt])}return $e},[T,R,P,r,a,l,L,U]),ht=m.useMemo(()=>({id:n,parentId:y,cx:o,cy:i,hx:qe,hy:We,angle:s,selected:Y}),[n,y,o,i,qe,We,s,Y]),Je=m.useMemo(()=>({leftPoint:k,rightPoint:N,ly:a,copingsWidth:B.copingsWidth}),[k,N,a,B.copingsWidth]),mt=m.useMemo(()=>!re||!re.parapet||!re.parapet.display?null:{leftPoint:re.leftPoint,rightPoint:re.rightPoint,ly:re.ly,copingsWidth:re.parapet.copingsWidth},[re==null?void 0:re.leftPoint,re==null?void 0:re.rightPoint,re==null?void 0:re.ly,(mu=re==null?void 0:re.parapet)==null?void 0:mu.copingsWidth,(sn=re==null?void 0:re.parapet)==null?void 0:sn.display]),Ge=m.useMemo(()=>!ge||!ge.parapet||!ge.parapet.display?null:{leftPoint:ge.leftPoint,rightPoint:ge.rightPoint,ly:ge.ly,copingsWidth:ge.parapet.copingsWidth},[ge==null?void 0:ge.leftPoint,ge==null?void 0:ge.rightPoint,ge==null?void 0:ge.ly,(qt=ge==null?void 0:ge.parapet)==null?void 0:qt.copingsWidth,(jt=ge==null?void 0:ge.parapet)==null?void 0:jt.display]);m.useEffect(()=>{Le.current&&Le.current.id===se&&(Le.current=null,qo())},[se]),m.useEffect(()=>{if(t&&fe){const $e=q(t.id);if($e){const Pt=be.fetchHeatmapTexture($e,Z??5);if(Pt){Pt.wrapS=Ss,Pt.wrapT=Ss;const Nt=l===it?0:(1-l/it)/2;Pt.offset.set(-r/2,-it/2-Nt),Pt.center.set(r/2,it/2),Pt.repeat.set(1/r,1/it),me(Pt)}}}},[fe,Z]),m.useEffect(()=>{x&&(pe.has(x)||ne.has(x))&&M.getState().set($e=>{const Pt=new Set;for(const Nt of $e.elements)if(Nt.id===n&&Nt.type===z.Wall){const Ct=Nt;if(Ct.roofId=null,Ct.leftRoofHeight=void 0,Ct.rightRoofHeight=void 0,Ct.centerRoofHeight=void 0,Ct.centerLeftRoofHeight=void 0,Ct.centerRightRoofHeight=void 0,Ae.length>0){const Bt=In.getWallPoints2D(Ct);Ae.forEach(Xt=>{if(Xt.type===z.Polygon)return;const rn=Xt.type===z.Door,gn=Xt.type===z.SolarPanel,mn=gn?Xt.lx-.01:Xt.lx*r,vn=gn?Xt.ly-.01:Xt.lz*l,kn=new ae(Xt.cx*r,0,Xt.cz*l);be.isElementInsideWall(kn,mn,vn,Bt,rn)||(Pt.add(Xt.id),$e.autoDeletedChild?$e.autoDeletedChild.push(Xt):$e.autoDeletedChild=[Xt])})}break}Pt.size>0?$e.elements=$e.elements.filter(Nt=>!Pt.has(Nt.id)):$e.autoDeletedChild===null&&($e.autoDeletedChild=[])})},[x,pe,ne]);function xt($e,Pt,Nt,Ct=0,Bt=0,Xt=0,rn=0,gn=!0){const mn=Pt/2,vn=Nt/2;if(je?$e.moveTo(Ct-mn+Xt,Bt-vn+L):$e.moveTo(Ct-mn+Xt,Bt-vn),gn){const kn=Ae.filter(Yn=>Yn.type===z.Door).sort((Yn,Wn)=>Yn.cx-Wn.cx);for(const Yn of kn)if(Yn.id!==Ne.current){const[Wn,qn,Xn,Jo]=[Yn.cx*Pt,Yn.cz*Nt,Yn.lx*Pt,Yn.lz*l];if(Yn.doorType===bd.Default)$e.lineTo(Ct+Wn-Xn/2,Bt-vn),$e.lineTo(Ct+Wn-Xn/2,Bt-vn+Jo),$e.lineTo(Ct+Wn+Xn/2,Bt-vn+Jo),$e.lineTo(Ct+Wn+Xn/2,Bt-vn);else{const lr=Math.min(Yn.archHeight,Jo,Xn/2);if($e.lineTo(Ct+Wn-Xn/2,Bt-vn),lr>.1){$e.lineTo(Ct+Wn-Xn/2,Bt-vn+Jo/2-lr);const Kr=lr/2+Xn**2/(8*lr),[Vi,ga]=[Wn,Bt+qn+Jo/2-Kr],vs=Math.acos(Math.min(Xn/2/Kr,1)),Ju=Math.PI-vs;$e.absarc(Vi,ga,Kr,Ju,vs,!0)}else $e.lineTo(Ct+Wn-Xn/2,Bt-vn+Jo),$e.lineTo(Ct+Wn+Xn/2,Bt-vn+Jo);$e.lineTo(Ct+Wn+Xn/2,Bt-vn)}}}je?$e.lineTo(Ct+mn-rn,Bt-vn+U):$e.lineTo(Ct+mn-rn,Bt-vn),Qe?($e.lineTo(Ct+mn-rn,Bt-vn+rt),$e.lineTo(Ct-mn+Xt,Bt-vn+wt)):x?(b?$e.lineTo(Ct+mn-rn,b-vn):$e.lineTo(Ct+mn-rn,Bt+vn),w&&$e.lineTo(w[0]*Pt,w[1]-vn),v&&$e.lineTo(v[0]*Pt,v[1]-vn),S&&$e.lineTo(S[0]*Pt,S[1]-vn),C?$e.lineTo(Ct-mn+Xt,C-vn):$e.lineTo(Ct-mn+Xt,Bt+vn)):($e.lineTo(Ct+mn-rn,Bt+vn),$e.lineTo(Ct-mn+Xt,Bt+vn)),$e.closePath()}function It($e,Pt){const{cx:Nt,cy:Ct,cz:Bt}=Pt;if(we&&Fe!==void 0){const Xt=be.wallAbsolutePosition(new ae(Nt,Ct,Bt),we).setZ(l/2+we.lz);return new ae().subVectors($e,Xt).applyEuler(new Qt(0,0,-Fe))}return new ae}function Tt($e){const Pt=[];for(let Nt=-1;Nt<=1;Nt+=2)for(let Ct=-1;Ct<=1;Ct+=2){const[Bt,Xt]=[Nt,Nt*Ct];switch($e.type){case z.Window:{const[rn,gn]=[$e.cx*r,$e.cz*l],[mn,vn]=[$e.lx*r/2,$e.lz*l/2],kn=rn+Bt*mn,Yn=gn+Xt*vn;Pt.push({x:kn,y:Yn});break}case z.Door:{const[rn,gn]=[$e.cx*r,$e.cz*l],[mn,vn]=[$e.lx*r/2,$e.lz*l/2],kn=rn+Bt*mn,Yn=gn+Xt*vn;Pt.push({x:kn,y:Yn});break}case z.SolarPanel:{const[rn,gn]=[$e.cx*r,$e.cz*l],[mn,vn]=[$e.lx/2,$e.ly/2],kn=rn+Bt*mn,Yn=gn+Xt*vn;Pt.push({x:kn,y:Yn})}}}if($e.type===z.Window&&$e.windowType===Sr.Polygonal){const Nt=$e,[Ct,Bt]=Nt.polygonTop??[0,0];Pt.push({x:$e.cx*r+Ct*$e.lx*r,y:$e.cz*l+$e.lz*l/2+Bt})}return Pt}function Dt($e,Pt=0){if(!je)return be.getWallVertices($e,Pt);const Nt=$e.lx/2,Ct=$e.lz/2,Bt={x:-Nt-Pt,y:$e.leftUnfilledHeight-Ct-Pt},Xt={x:Nt+Pt,y:$e.rightUnfilledHeight-Ct-Pt},rn={x:-Nt-Pt,y:$e.leftTopPartialHeight-Ct+Pt},gn={x:Nt+Pt,y:$e.rightTopPartialHeight-Ct+Pt},mn=[];return mn.push(rn,Bt,Xt,gn),Qe||($e.centerRightRoofHeight&&mn.push({x:$e.centerRightRoofHeight[0]*$e.lx,y:$e.centerRightRoofHeight[1]-Ct+Pt}),$e.centerRoofHeight&&mn.push({x:$e.centerRoofHeight[0]*$e.lx,y:$e.centerRoofHeight[1]-Ct+Pt}),$e.centerLeftRoofHeight&&mn.push({x:$e.centerLeftRoofHeight[0]*$e.lx,y:$e.centerLeftRoofHeight[1]-Ct+Pt})),mn}function Lt($e,Pt,Nt,Ct,Bt){if(Nt<.1||Ct<.1||Nt>r||!x&&Ct>l)return Ne.current=$e,!1;const Xt=.1;Nt+=Xt,Ct+=Xt;for(const rn of Ae){if(rn.id===$e||rn.type===z.Polygon)continue;const gn=Tt(rn),mn=[];for(let vn=-1;vn<=1;vn+=2)for(let kn=-1;kn<=1;kn+=2){const Yn=Pt.x+vn*Nt/2,Wn=Pt.z+vn*kn*Ct/2;if(mn.push({x:Yn,y:Wn}),be.isPointInside(Yn,Wn,gn))return Ne.current=$e,!1}if(Bt){const[vn,kn]=Bt,Yn=Pt.x+vn*Nt,Wn=Pt.z+Ct/2+kn;if(mn.push({x:Yn,y:Wn}),be.isPointInside(Yn,Wn,gn))return Ne.current=$e,!1}for(const vn of gn)if(be.isPointInside(vn.x,vn.y,mn))return Ne.current=$e,!1}return Ne.current=null,!0}function Et($e,Pt,Nt,Ct,Bt){return be.isElementInsideWall(Pt,Nt,Ct,zt,Bt)?!0:(Ne.current=$e,!1)}function an($e,Pt,Nt,Ct){const[Bt,Xt]=Ct,rn=$e.x+Pt*Bt,gn=$e.z+Nt/2+Xt;return!!be.isPointInside(rn,gn,Dt(t,0))}function Jt($e){ct.x=$e.offsetX/ze.domElement.clientWidth*2-1,ct.y=-($e.offsetY/ze.domElement.clientHeight)*2+1,lt.setFromCamera(ct,Re)}function hn($e){return!($e.button===2||M.getState().addedWallId||Ue.current||M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().objectTypeToAdd!==z.None||Y||$())}function cn($e,Pt,Nt,Ct,Bt){const Xt=Pt/2,rn=Nt/2;$e.moveTo(-Xt,-rn),$e.lineTo(Xt,-rn),$e.lineTo(Xt-Bt,rn),$e.lineTo(-Xt+Ct,rn),$e.closePath()}function Sn($e,Pt,Nt,Ct=0,Bt=0){const Xt=Pt/2,rn=Nt/2;$e.moveTo(Ct-Xt,Bt-rn),$e.lineTo(Ct+Xt,Bt-rn),$e.lineTo(Ct+Xt,Bt+rn),$e.lineTo(Ct-Xt,Bt+rn),$e.closePath()}function Pn($e,Pt,Nt,Ct,Bt,Xt=0){const rn=Pt/2,gn=Nt/2,mn=Math.min(Xt,Nt,rn);if($e.moveTo(Ct-rn,Bt-gn),$e.lineTo(Ct+rn,Bt-gn),$e.lineTo(Ct+rn,Bt+gn-mn),mn>0){const vn=mn/2+Pt**2/(8*mn),[kn,Yn]=[Ct,Bt+gn-vn],Wn=Math.acos(Math.min(1,rn/vn)),qn=Math.PI-Wn;$e.absarc(kn,Yn,vn,Wn,qn,!1)}else $e.lineTo(Ct-rn,Bt+gn);$e.closePath()}function Un($e,Pt,Nt,Ct,Bt,Xt,rn){const[gn,mn]=[Pt/2,Nt/2];$e.moveTo(Ct-gn,Bt-mn),$e.lineTo(Ct+gn,Bt-mn),$e.lineTo(Ct+gn,Bt+mn),$e.lineTo(Ct+Xt,Bt+mn+rn),$e.lineTo(Ct-gn,Bt+mn),$e.closePath()}function Ai($e){const Pt=parseFloat((Math.round($e.x/g6)*g6).toFixed(1)),Nt=parseFloat((Math.round($e.z/g6)*g6).toFixed(1));return new ae(Pt,$e.y,Nt)}function vo($e){const Pt=parseFloat((Math.round($e.x/l9)*l9).toFixed(1)),Nt=parseFloat((Math.round($e.z/l9)*l9).toFixed(1));return new ae(Pt,$e.y,Nt)}function Oo($e){return M.getState().enableFineGrid?$e=vo($e):$e=Ai($e),$e}function li($e,Pt,Nt,Ct,Bt){M.getState().set(Xt=>{for(const rn of Xt.elements)if(rn.id===$e){if([rn.cx,rn.cy,rn.cz]=Pt,[rn.lx,rn.ly,rn.lz]=Nt,Ct!==void 0&&(rn.type===z.Window||rn.type===z.Door)&&(rn.archHeight=Ct),Bt!==void 0&&rn.type===z.Window){const gn=rn;gn.windowType===Sr.Polygonal&&(gn.polygonTop=[...Bt])}break}})}function po($e){return $e.type===z.Window&&$e.windowType===Sr.Polygonal&&$e.polygonTop}function eo($e){const Pt={name:"Add",timestamp:Date.now(),addedElement:$e,undo:()=>{M.getState().removeElementById($e.id,!1)},redo:()=>{M.getState().set(Nt=>{Nt.elements.push(Pt.addedElement),Nt.selectedElement=Pt.addedElement,Nt.deletedRoofId=null})}};ee(Pt)}function uo(){const $e=M.getState().selectedElement;if(!$e)return;const Pt=M.getState().getElementById($e.id);if(Pt)switch(Pt.type){case z.Door:case z.Window:case z.SolarPanel:const Nt={name:`Resize ${Pt.type}`,timestamp:Date.now(),resizedElementId:Pt.id,resizedElementType:Pt.type,oldPosition:[$e.cx,$e.cy,$e.cz],oldDimension:[$e.lx,$e.ly,$e.lz],newPosition:[Pt.cx,Pt.cy,Pt.cz],newDimension:[Pt.lx,Pt.ly,Pt.lz],oldArchHeight:$e.type===z.Window||$e.type===z.Door?$e.archHeight:void 0,newArchHeight:Pt.type===z.Window||Pt.type===z.Door?Pt.archHeight:void 0,oldPolygonTop:po($e)?[...$e.polygonTop]:void 0,newPolygonTop:po(Pt)?[...Pt.polygonTop]:void 0,undo(){li(this.resizedElementId,this.oldPosition,this.oldDimension,this.oldArchHeight,this.oldPolygonTop)},redo(){li(this.resizedElementId,this.newPosition,this.newDimension,this.newArchHeight,this.newPolygonTop)}};ee(Nt);break;case z.Polygon:const Ct=$e,Bt=Pt,Xt={name:"Edit Polygon",timestamp:Date.now(),oldValue:[...Ct.vertices],newValue:[...Bt.vertices],changedElementId:Bt.id,changedElementType:Bt.type,undo(){le(this.changedElementId,this.oldValue)},redo(){le(this.changedElementId,this.newValue)}};ee(Xt);break}}function qo(){M.getState().set($e=>{$e.addedWindowId=null,$e.addedDoorId=null})}function Hi($e){return $e===z.Window||$e===z.Door}function vi($e,Pt){const Nt=$e.intersections.filter(Ct=>Ct.object.name!==sSe);return Nt.length>0&&Nt[0].object.name===`${nf.WALL_OUTSIDE_SURFACE_MESH_NAME} ${Pt}`}function Cn($e){return $e.intersections.length>0&&$e.intersections[0].object===$e.eventObject}function yn($e,Pt,Nt){if(M.getState().moveHandleType&&Pt&&to(Pt)&&Pt.parentId!==$e){const Ct=Nt.intersections.filter(Xt=>Xt.eventObject.name.includes(nf.WALL_OUTSIDE_SURFACE_MESH_NAME)||Xt.eventObject.name.includes(Hue)||Xt.eventObject.name===Pre);if(!(Ct.length>0&&(Ct[0].eventObject.name===Pre||Ct[0].eventObject.name.includes(Hue))))return!0}return!1}function to($e){if(!$e)return!1;switch($e.type){case z.Window:case z.Door:case z.SolarPanel:case z.Light:case z.Sensor:return!0}return!1}function Do($e){if(M.getState().resizeHandleType!==yt.Arch)return!1;if($e.type===z.Window){const Pt=$e;return Pt.windowType===Sr.Arched&&Pt.archHeight!==void 0}if($e.type===z.Door){const Pt=$e;return Pt.doorType===bd.Arched&&Pt.archHeight!==void 0}}function ni($e,Pt){const Nt=$e.getPoints().map(Ct=>({x:Ct.x,y:Ct.y}));return!be.isPointInside(Pt.x,Pt.y,Nt)}function Fo($e,Pt,Nt,Ct,Bt,Xt=!1){const rn=new ae().subVectors(Pt,$e).normalize(),[gn,mn]=Xt?[Pt.y,$e.y]:[$e.y,Pt.y];let vn;if(gn(vn.type===z.Wall&&vn.parentId===y&&mn.set(vn.id,vn),mn),new Map);let Ct=!1,Bt=0;const Xt={lng:M.getState().language},rn=t;let gn=rn;for(;gn&&gn.rightJoints.length>0;){Bt++;const mn=Nt.get(gn.rightJoints[0]);if(!mn)break;if(Pt&&mn.lz!==rn.lz)return Lo(O.t("message.WallsAreNotAtSameHeight",Xt)),!1;if(mn.id===rn.id){Ct=!0;break}if(gn=mn,Bt>100)break}return Ct?!0:(Lo(O.t("message.WallsAreNotConnected",Xt)),!1)}function go(){return Le.current&&Le.current.status===0&&M.getState().moveHandleType===yo.Mid}function So(){return!(M.getState().moveHandleType||M.getState().resizeHandleType||$())}function Uo(){return Qe||L!==U||F!==W?!1:x?!(C!==b||v!==void 0||S!==void 0||w!==void 0):!0}function _i($e,Pt,Nt){var gn;Jt($e);const Bt=((gn=(Pt?lt.intersectObjects([Pt]):$e.intersections)[0])==null?void 0:gn.point)??$e.point,Xt=It(Bt,t),rn=Nt?Oo(Xt.clone().add(Nt)).sub(Nt):Oo(Xt);return{relativePointer:Xt,pointerOnGrid:rn}}function Qo($e,Pt){if(!ye.current)return null;const{pointerOnGrid:Nt}=_i($e,ye.current),Ct=Nt.x/t.lx,Bt=Nt.z/t.lz;return Pt===z.Window?rl.makeWindow(t,Ct,0,Bt,z.Wall):Pt===z.Door?rl.makeDoor(t):null}function ar($e){$e&&(Le.current={id:$e.id,type:$e.type,status:0}),_(Pt=>{$e&&(Pt.elements.push($e),Pt.selectedElement=$e,Pt.selectedElementIdSet.clear(),Pt.selectedElementIdSet.add($e.id),$e.type===z.Window?Pt.addedWindowId=$e.id:$e.type===z.Door&&(Pt.addedDoorId=$e.id)),Pt.moveHandleType=yo.Mid,Pt.objectTypeToAdd=z.None})}function ur($e){if(!$e)return;const{id:Pt,type:Nt}=$e;_(Ct=>{Ct.elements=Ct.elements.filter(Bt=>Bt.id!==Pt),Ct.selectedElement=null,Ct.moveHandleType=null,Ct.objectTypeToAdd=Nt,Ct.addedWindowId=null,Ct.addedDoorId=null}),Le.current=null}function $o($e){if(!$e)return[0,0];switch($e.type){case z.Window:{const Pt=gt.getState().oldParentId;if($e.parentId!==Pt){const Nt=M.getState().elements.find(Ct=>Ct.id===Pt);return Nt?[$e.lx*Nt.lx/2,$e.lz*Nt.lz/2]:[0,0]}else return[$e.lx*r/2,$e.lz*l/2]}case z.Door:return[$e.lx*r/2,$e.lz*l/2];case z.SolarPanel:return[$e.lx/2,$e.ly/2]}return[tP,tP]}function ba(){const $e=[];if(v){const Pt=v[0];if(Pt===.5&&C!==void 0)return $e.push(new ae(qe,v[1]-De),new ae(-qe,C-De)),$e;if(Pt===-.5&&b!==void 0)return $e.push(new ae(qe,b-De),new ae(-qe,v[1]-De)),$e}return b!==void 0?$e.push(new ae(qe,b-De)):$e.push(new ae(qe,De)),w!==void 0&&$e.push(new ae(w[0]*r,w[1]-De)),v!==void 0&&$e.push(new ae(v[0]*r,v[1]-De)),S!==void 0&&$e.push(new ae(S[0]*r,S[1]-De)),C!==void 0?$e.push(new ae(-qe,C-De)):$e.push(new ae(-qe,De)),$e}function Mo($e,Pt){const Nt=Pt==null?void 0:Pt.ignorePadding,Ct=Pt!=null&&Pt.elementHalfSize?[...Pt.elementHalfSize]:[0,0],Bt=Nt?0:tP,Xt=Nt?0:tP+_e,rn=Nt?0:tP+ot,[gn,mn]=Ct,[vn,kn,Yn,Wn]=[-qe+gn+Xt,qe-gn-rn,-De+mn+Bt,De-mn-Bt],qn=$e.clone();if(Uo()){const Xn=je?L:0,Jo=l-(je?wt:l);return qn.setX(be.clamp($e.x,vn,kn)),qn.setZ(be.clamp($e.z,Yn+Xn,Wn-Jo)),qn}else{const Xn=Za(gn,mn,vn,kn,Bt),Jo=new Gt($e.x,$e.z);let lr=1/0,Kr=-1/0;if(Pt!=null&&Pt.resizeAnchor){const vs=Pt.resizeAnchor.x,Ju=[];if(Qe)Ju.push(new ae(-qe,-De+wt),new ae(qe,-De+rt));else{const Hf=ba().reverse();Ju.push(...Hf)}for(let Hf=1;Hf=Ol.x&&vs<=Y0.x){const Ph=(Y0.y-Ol.y)/(Y0.x-Ol.x),yp=-Ph*Ol.x+Ol.y;lr=Ph*vs+yp;break}}const Ku=new ae(-qe,-De+at),Th=new ae(qe,-De+ut),Rf=(Th.y-Ku.y)/(Th.x-Ku.x),qu=-Rf*Ku.x+Ku.y;Kr=Rf*vs+qu}const Vi=Jo.y>lr;if(ni(Xn,Jo)){const vs=bo(Xn,Jo);qn.setX(vs.x),qn.setZ(be.clamp(vs.y,Kr+Bt,lr-Bt))}else Vi&&qn.setZ(lr-Bt)}return qn.setZ(Math.max(Yn,qn.z)),qn}function $i($e,Pt){_(Nt=>{const Ct=Nt.elements.find(Bt=>Bt.id===$e);if(Ct)switch(Ct.type){case z.Window:{Ct.cx=Pt.x/r,Ct.cz=Pt.z/l,Ct.cy=Ct.id===Ne.current?-.01:.3,Ct.tint=Ct.id===Ne.current?"red":Nt.selectedElement.tint;break}case z.Door:{const Bt=l/2;Ct.cx=Pt.x/r,Ct.cz=(Pt.z-Bt)/2/l,Ct.lz=(Pt.z+Bt)/l;break}case z.SolarPanel:{Ct.cx=Pt.x/r,Ct.cz=Pt.z/l,Ct.color=Ct.id===Ne.current?"red":"#fff";break}case z.Sensor:case z.Light:{Ct.cx=Pt.x/r,Ct.cz=Pt.z/l;break}case z.Polygon:{const Bt=Ct;if(Bt.vertices.length>0){const Xt=be.calculatePolygonCentroid(Bt.vertices),rn=-Pt.x/r-Xt.x,gn=-Pt.z/l-Xt.y,mn=Bt.vertices.map(vn=>({x:vn.x+rn,y:vn.y+gn}));Ct.vertices=mn}break}}})}function Za($e,Pt,Nt,Ct,Bt){const Xt=[],rn=new ae(-qe,-De+at),gn=new ae(qe,-De+ut);if(Fo(rn,gn,$e,Pt,Bt,!0),Xt.push({start:new ae(Nt,De),end:new ae(Nt,rn.y)}),Xt.push({start:rn.clone(),end:gn.clone()}),Xt.push({start:new ae(Ct,gn.y),end:new ae(Ct,De)}),Qe){const vn=new ae(qe,-De+rt),kn=new ae(-qe,-De+wt);Fo(vn,kn,$e,Pt,Bt),Xt.push({start:vn.clone(),end:kn.clone()})}else{const vn=ba();for(let kn=1;kn{const Bt=Ct.elements.find(mn=>mn.id===(Nt==null?void 0:Nt.id));if(!Bt||Bt.type===z.SolarPanel&&Bt.parentType===void 0)return;if(Bt.type===z.Window){const mn=Ct.elements.find(vn=>vn.id===Bt.parentId);if(mn){const vn=Bt.lx*mn.lx,kn=Bt.lz*mn.lz;Bt.lx=vn/r,Bt.lz=kn/l}}const{pointerOnGrid:Xt}=_i($e,ye.current),rn=$o(Bt),gn=Mo(Xt,{elementHalfSize:rn,ignorePadding:Bt.type===z.SolarPanel});Lt(Bt.id,gn,rn[0]*2,rn[1]*2),Bt.cx=gn.x/r,Bt.cz=gn.z/l,Bt.parentId=n,Bt.foundationId=y,Ct.selectedElement&&(Ct.selectedElement.parentId=n,Ct.selectedElement.foundationId=y),Bt.type===z.Window?(Bt.cy=Bt.id===Ne.current?-.01:0,Bt.tint=Bt.id===Ne.current?"red":Ct.selectedElement.tint):Bt.type===z.SolarPanel&&(Bt.color=Bt.id===Ne.current?"red":"#fff",Bt.parentType=z.Wall)}),he("showWallIntersectionPlaneId",n))}else go()&&ur(Le.current)}function Fr($e){if($e.button!==2){if(go()){Ln.getState().setEnableOrbitController(!1),ve(!0);const{pointerOnGrid:Pt}=_i($e,ye.current),Nt=Mo(Pt);_(Ct=>{var Bt,Xt;Ct.moveHandleType=null,((Bt=Le.current)==null?void 0:Bt.type)===z.Window?(Ct.resizeHandleType=yt.LowerRight,Ct.resizeAnchor.copy(Nt)):((Xt=Le.current)==null?void 0:Xt.type)===z.Door&&(Ct.resizeHandleType=yt.UpperRight,Ct.resizeAnchor.copy(Nt).setZ(-l/2))}),Le.current.status=1}else if(Cn($e))if(M.getState().objectTypeToAdd!==z.None){const Nt=$e.point;qs(Nt,!0)}else M.getState().groupActionMode?(_(Nt=>{for(const Ct of Nt.elements)Ct.selected=Ct.id===y;Nt.multiSelectionsMode||Nt.selectedElementIdSet.clear(),Nt.selectedElementIdSet.has(y)?Nt.selectedElementIdSet.delete(y):Nt.selectedElementIdSet.add(y)}),$e.stopPropagation()):So()&&M.getState().selectMe(n,$e,zo.Select)}}function Oa(){Le.current&&Le.current.status===0&&(_($e=>{$e.elements.pop(),$e.addedDoorId=null,$e.addedWindowId=null,$e.moveHandleType=null,$e.actionModeLock&&Le.current&&($e.objectTypeToAdd=Le.current.type)}),Le.current=null)}function Br(){go()&&ur(Le.current),Ne.current=null}function Pc($e){const Pt=M.getState().selectedElement??J();if((Pt==null?void 0:Pt.parentId)===t.id){if(M.getState().moveHandleType){const Nt=Pt.type!==z.Polygon?new ae(-Pt.lx/2*r,0,Pt.lz/2*l):void 0,{relativePointer:Ct,pointerOnGrid:Bt}=_i($e,Ce.current,Nt),Xt=$o(Pt),rn=Mo(Bt,{elementHalfSize:Xt,ignorePadding:Pt.type===z.SolarPanel}),[gn,mn]=[Xt[0]*2,Xt[1]*2];if(Pt.type!==z.SolarPanel&&Et(Pt.id,rn,gn,mn),Pt.type!==z.Polygon){let vn=!0,kn;Pt.type===z.Window&&Pt.windowType===Sr.Polygonal&&(kn=Pt.polygonTop??jp,vn=an(rn,gn,mn,kn));const Yn=Lt(Pt.id,rn,gn,mn,kn);vn&&Yn?Ne.current=null:Ne.current=Pt.id}$i(Pt.id,rn)}else if(M.getState().resizeHandleType){const{relativePointer:Nt,pointerOnGrid:Ct}=_i($e,Ce.current),Bt=M.getState().resizeHandleType,Xt=M.getState().resizeAnchor;switch(Pt.type){case z.Window:{const rn=Pt,gn=Mo(Ct,{resizeAnchor:Xt});if(Do(rn)){const{newLz:mn,newCz:vn,newArchHeight:kn}=ti(rn,gn,Xt),Yn=new ae(rn.cx*r,0,vn);Lt(rn.id,Yn,rn.lx*r,mn),Et(rn.id,Yn,rn.lx*r,mn),_(Wn=>{const qn=Wn.elements.find(Xn=>Xn.id===rn.id);qn&&(qn.lz=mn/l,qn.cz=vn/l,qn.archHeight=kn,qn.cy=qn.id===Ne.current?-.01:.3,qn.tint=qn.id===Ne.current?"red":rn.tint)})}else if(Bt===yt.Upper){const mn=new ae(rn.cx*r,0,rn.cz*l),[vn,kn]=[rn.lx*r,rn.lz*l],Yn=be.clamp((Ct.x-Xt.x)/vn,-.5,.5),Wn=Math.max(0,Ct.z-Xt.z),qn=[Yn,Wn];(!Lt(rn.id,mn,vn,kn,qn)||!an(mn,vn,kn,qn))&&(Ne.current=rn.id),_(Xn=>{const Jo=Xn.elements.find(lr=>lr.id===rn.id);Jo&&(Jo.polygonTop=[...qn],Jo.cy=Jo.id===Ne.current?-.01:.3,Jo.tint=Jo.id===Ne.current?"red":rn.tint)})}else{const{dimensionXZ:mn,positionXZ:vn}=Ro($e,gn,Xt),kn=new ae(vn.x,0,vn.z);let Yn=!0,Wn;rn.windowType===Sr.Polygonal&&(Wn=rn.polygonTop??jp,Yn=an(kn,mn.x,mn.z,Wn)),(!Lt(rn.id,kn,mn.x,mn.z,Wn)||!Yn||!Et(rn.id,kn,mn.x,mn.z))&&(Ne.current=rn.id),_(qn=>{const Xn=qn.elements.find(Jo=>Jo.id===rn.id);Xn&&(Xn.lx=mn.x/r,Xn.lz=mn.z/l,Xn.cx=vn.x/r,Xn.cz=vn.z/l,Xn.cy=Xn.id===Ne.current?-.01:.3,Xn.tint=Xn.id===Ne.current?"red":rn.tint)})}break}case z.Door:{const rn=Pt,gn=Mo(Ct,{resizeAnchor:Xt});if(Do(rn)){const{newLz:mn,newCz:vn,newArchHeight:kn}=ti(rn,gn,Xt),Yn=new ae(rn.cx*r,0,vn);Lt(rn.id,Yn,rn.lx*r,mn),Et(rn.id,Yn,rn.lx*r,mn,!0),_(Wn=>{const qn=Wn.elements.find(Xn=>Xn.id===rn.id);qn&&(qn.lz=mn/l,qn.cz=vn/l,qn.archHeight=kn,qn.color=qn.id===Ne.current?lce:Pt.color)})}else{const{dimensionXZ:mn,positionXZ:vn}=Ro($e,gn,Xt),kn=new ae(vn.x,0,vn.z);Lt(rn.id,kn,mn.x,mn.z),Et(rn.id,kn,mn.x,mn.z,!0),_(Yn=>{const Wn=Yn.elements.find(qn=>qn.id===rn.id);Wn&&(Wn.cx=vn.x/r,Wn.lx=mn.x/r,Wn.cz=(gn.z-l/2)/2/l,Wn.lz=(gn.z+l/2)/l,Wn.color=Wn.id===Ne.current?lce:Pt.color)})}break}case z.SolarPanel:{const rn=Pt,[gn,mn]=zqe(rn);if(Bt===yt.Lower||Bt===yt.Upper){const kn=Math.max(1,Math.round(Math.abs(Nt.z-Xt.z)/mn))*mn,Yn=new ae(0,0,Nt.z-Xt.z).normalize().multiplyScalar(kn),Wn=new ae().addVectors(Xt,Yn.clone().divideScalar(2));if(!be.isElementInsideWall(Wn,rn.lx-.01,kn-.01,zt))return;Lt(rn.id,Wn,rn.lx,Math.abs(Yn.z)),_(qn=>{const Xn=qn.elements.find(Jo=>Jo.id===rn.id);Xn&&(Xn.cz=Wn.z/l,Xn.ly=Math.abs(Yn.z),Xn.color=Xn.id===Ne.current?"red":"#fff")})}else if(Bt===yt.Left||Bt===yt.Right){const kn=Math.max(1,Math.round(Math.abs(Nt.x-Xt.x)/gn))*gn,Yn=new ae(Nt.x-Xt.x,0,0).normalize().multiplyScalar(kn),Wn=new ae().addVectors(Xt,Yn.clone().divideScalar(2));if(!be.isElementInsideWall(Wn,kn-.01,rn.ly-.01,zt))return;Lt(rn.id,Wn,Math.abs(Yn.x),rn.ly),_(qn=>{const Xn=qn.elements.find(Jo=>Jo.id===rn.id);Xn&&(Xn.cx=Wn.x/r,Xn.lx=Math.abs(Yn.x),Xn.color=Xn.id===Ne.current?"red":"#fff")})}break}case z.Polygon:{_(rn=>{const gn=rn.elements.find(mn=>mn.id===Pt.id);(gn==null?void 0:gn.selectedIndex)>=0&&(gn.vertices[gn.selectedIndex].x=-Ct.x/r,gn.vertices[gn.selectedIndex].y=-Ct.z/l)});break}}}}}function Is(){if(Ne.current)Le.current&&Le.current.status===1?(_($e=>{$e.elements.pop(),$e.actionModeLock&&Le.current&&($e.objectTypeToAdd=Le.current.type)}),Le.current=null):(M.getState().moveHandleType||M.getState().resizeHandleType)&&nf.undoInvalidOperation();else if(Le.current){if(Le.current.status===0)_($e=>{$e.elements.pop(),$e.actionModeLock&&Le.current&&($e.objectTypeToAdd=Le.current.type)}),Le.current=null;else if(Le.current.status===1){const $e=M.getState().elements,Pt=$e[$e.length-1];Pt.lx*r<.1||Pt.lz*l<.1?_(Nt=>{Nt.elements.pop(),Nt.actionModeLock&&Le.current&&(Nt.objectTypeToAdd=Le.current.type)}):(_(Nt=>{Nt.actionModeLock&&Le.current&&(Nt.objectTypeToAdd=Le.current.type,mx.selectNone(Nt))}),eo(Pt)),Le.current=null}}else M.getState().moveHandleType?nf.addUndoableMove():M.getState().resizeHandleType&&uo();Ln.getState().setEnableOrbitController(!0),ve(!1),_($e=>{$e.moveHandleType=null,$e.resizeHandleType=null,$e.selectedElement=$e.elements.find(Pt=>{var Nt;return Pt.id===((Nt=$e.selectedElement)==null?void 0:Nt.id)})}),he("showWallIntersectionPlaneId",null),Ne.current=null,qo()}function qs($e,Pt){if(we&&M.getState().objectTypeToAdd){let Nt=null;switch(M.getState().objectTypeToAdd){case z.PyramidRoof:{!x&&oi(!1,!0)&&(Nt=rl.makePyramidRoof([t.id],we));break}case z.GableRoof:{!x&&oi(!1,!1)&&(Nt=rl.makeGableRoof([t.id],we));break}case z.HipRoof:{!x&&oi(!1,!0)&&(Nt=rl.makeHipRoof([t.id],we,r/2));break}case z.GambrelRoof:{!x&&oi(!1,!1)&&(Nt=rl.makeGambrelRoof([t.id],we));break}case z.MansardRoof:{!x&&oi(!1,!0)&&(Nt=rl.makeMansardRoof([t.id],we));break}case z.SolarPanel:{if($e&&Pt){const Ct=It($e,t),Bt=t.relativeAngle-Vt,Xt=M.getState().actionState;Nt=rl.makeSolarPanel(t,M.getState().getPvModule(Xt.solarPanelModelName??"SPR-X21-335-BLK"),Ct.x/r,0,Ct.z/l,Xt.solarPanelOrientation??ci.landscape,Xt.solarPanelPoleHeight??1,Xt.solarPanelPoleSpacing??3,0,0,new ae(Math.cos(Bt),Math.sin(Bt),0),[0,0,0],Xt.solarPanelFrameColor,void 0,void 0,z.Wall)}break}case z.Sensor:{if($e&&Pt){const Ct=It($e,t),Bt=t.relativeAngle-Vt;Nt=rl.makeSensor(t,(Ct.x-.05)/r,0,(Ct.z-.05)/l,new ae(Math.cos(Bt),Math.sin(Bt),0),[0,0,0])}break}case z.Light:{if($e&&Pt){const Ct=It($e,t),Bt=t.relativeAngle-Vt,Xt=M.getState().actionState;Nt=rl.makeLight(t,2,Xt.lightDistance,Xt.lightIntensity,Xt.lightColor,(Ct.x-.05)/r,0,(Ct.z-.05)/l,new ae(Math.cos(Bt),Math.sin(Bt),0),[0,0,0])}break}}Nt&&(eo(Nt),_(Ct=>{Ct.elements.push(Nt),Nt&&Nt.type===z.Roof&&Ct.addedRoofIdSet.add(Nt.id),Ct.actionModeLock||(Ct.objectTypeToAdd=z.None)}))}}function Pr($e,Pt,Nt){Ee.current||(Q(n,$e,zo.ContextMenu),_(Ct=>{$e.intersections.length>0&&$e.intersections[0].object===Pt&&(Ct.contextMenuObjectType=z.Wall,Nt&&Ct.pastePoint.copy($e.intersections[0].point))}),$e.stopPropagation())}function pa($e){if($e.button===2)return;const Pt=M.getState().objectTypeToAdd;!go()&&!$()&&Cn($e)&&Pt===z.None?M.getState().groupActionMode?(_(Nt=>{for(const Ct of Nt.elements)Ct.id===y?Ct.selected=!0:Ct.selected=!1}),$e.stopPropagation()):So()&&M.getState().selectMe(n,$e,zo.Select):In.isTypeRoof(Pt)&&Fr($e)}function Wl($e){$e.button===2||$e.intersections.length===0||$e.intersections[0].object!==$e.eventObject||(M.getState().groupActionMode?_(Pt=>{for(const Nt of Pt.elements)Nt.selected=Nt.id===y;Pt.selectedElementIdSet.clear(),Pt.selectedElementIdSet.add(y)}):(hn($e)&&(_(Pt=>{Pt.contextMenuObjectType=null}),Q(n,$e,zo.Select)),qs(),$e.stopPropagation()))}function Yl($e){$e.intersections.length>0&&$e.intersections[0].object===$e.eventObject&&(Q(n,$e,zo.ContextMenu),_(Pt=>{Pt.contextMenuObjectType=z.Wall}),$e.stopPropagation())}function Xu(){let[$e,Pt]=v??[0,(wt+rt)/2];$e=$e*r;const Nt=$e+qe,Ct=Math.hypot(Nt,Pt-wt),Bt=-Math.atan2(Pt-wt,Nt),Xt=qe-$e,rn=Math.hypot(Xt,rt-Pt),gn=-Math.atan2(rt-Pt,Xt);return h.jsxs("group",{name:`wall stud group ${n}`,children:[Xe.map(([mn,vn],kn)=>{let Yn;return mn<$e?Yn=(mn+qe)*(Pt-wt)/($e+qe)+wt-vn:Yn=(mn-qe)*(Pt-rt)/($e-qe)+rt-vn,h.jsx(Ei,{args:[R,a,Yn],position:[mn,We,(Yn-l)/2+vn],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})},kn)}),h.jsx(Ei,{args:[Ct,a,a],position:[-qe+Nt/2,We,(wt+Pt)/2-De-a/2],rotation:[0,Bt,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})}),h.jsx(Ei,{args:[rn,a,a],position:[qe-Xt/2,We,(rt+Pt)/2-De-a/2],rotation:[0,gn,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})})]})}function Cc(){let[$e,Pt]=v??[0,(wt+rt)/2];$e=$e*r;const Nt=$e+qe,Ct=Math.hypot(Nt,Pt-wt),Bt=-Math.atan2(Pt-wt,Nt),Xt=qe-$e,rn=Math.hypot(Xt,rt-Pt),gn=-Math.atan2(rt-Pt,Xt),mn=a;return h.jsxs("group",{name:`wall pillar group ${n}`,position:[0,-a/2,0],children:[Xe.map(([vn,kn],Yn)=>{let Wn;return vn<$e?Wn=(vn+qe)*(Pt-wt)/($e+qe)+wt-kn:Wn=(vn-qe)*(Pt-rt)/($e-qe)+rt-kn,h.jsx(wa,{args:[R/2,R/2,Wn],position:[vn,We,(Wn-l)/2+kn],rotation:[-Vt,0,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})},Yn)}),h.jsx(Ei,{args:[Ct,R,mn],position:[-qe+Nt/2,We,(wt+Pt)/2-De-mn/2],rotation:[0,Bt,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})}),h.jsx(Ei,{args:[rn,R,mn],position:[qe-Xt/2,We,(rt+Pt)/2-De-mn/2],rotation:[0,gn,0],castShadow:ie,receiveShadow:ie,onContextMenu:Yl,onPointerDown:Wl,children:h.jsx("meshStandardMaterial",{color:H})})]})}return h.jsxs(h.Fragment,{children:[(D>0||T===hc.Default)&&h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{name:"Wall Simulation Mesh",uuid:n,userData:{simulation:!0},rotation:[Vt,0,0],castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[At]}),h.jsx("meshBasicMaterial",{side:ji})]}),h.jsxs("mesh",{name:`${nf.WALL_OUTSIDE_SURFACE_MESH_NAME} ${n}`,ref:ye,rotation:[Vt,0,0],castShadow:Oe,receiveShadow:ie,onContextMenu:$e=>{Pr($e,ye.current,!0)},onPointerMove:ui,onPointerDown:Fr,onPointerUp:Oa,onPointerOut:Br,children:[h.jsx("shapeGeometry",{args:[At]}),fe&&Pe?h.jsx("meshBasicMaterial",{attach:"material",map:Pe,color:"white",opacity:D,transparent:Ye}):h.jsx("meshStandardMaterial",{attach:"material",color:d===No.Default||d===No.NoTexture?f:"white",map:j,transparent:Ye,opacity:D})]}),h.jsxs("mesh",{rotation:[Vt,0,0],position:[0,.05,0],castShadow:Oe,children:[h.jsx("shapeGeometry",{args:[Mt]}),h.jsx("meshStandardMaterial",{color:"white",side:p0,transparent:Ye,opacity:D})]}),h.jsxs("mesh",{name:"Inside Wall",ref:Te,position:[0,a,0],rotation:[Vt,0,0],castShadow:Oe,receiveShadow:ie,onPointerDown:pa,onContextMenu:$e=>{Pr($e,Te.current)},children:[h.jsx("shapeGeometry",{args:[Mt]}),h.jsx(SQt,{transparent:Ye,color:f,opacity:D})]}),h.jsxs("mesh",{rotation:[Vt,0,0],position:[0,a-.01,0],receiveShadow:!0,children:[h.jsx("shapeGeometry",{args:[Mt]}),h.jsx("meshStandardMaterial",{color:"white",side:ia,transparent:Ye,opacity:D})]}),(!x||Qe)&&!et&&h.jsx("mesh",{name:"Top Wall",ref:Ie,material:tt,position:[0,We,st],rotation:[0,-ft,0],castShadow:Oe,receiveShadow:ie,onPointerDown:pa,onContextMenu:$e=>{Pr($e,Ie.current)},children:h.jsx("shapeGeometry",{args:[Rt]})}),_e===0&&h.jsx(sa,{args:[wt-at,a],material:tt,position:[-qe+.01,We,-De+at+(wt-at)/2],rotation:[0,Vt,0],castShadow:Oe,receiveShadow:ie,onPointerDown:pa}),ot===0&&h.jsx(sa,{args:[rt-ut,a],material:tt,position:[qe-.01,We,-De+ut+(rt-ut)/2],rotation:[0,Vt,0],castShadow:Oe,receiveShadow:ie,onPointerDown:pa}),(de||oe===n)&&((pn=M.getState().selectedElement)==null?void 0:pn.parentId)===n&&h.jsxs(h.Fragment,{children:[h.jsx(sa,{ref:Ce,name:sSe,args:[1e4,1e4],position:[0,a/3,0],rotation:[Vt,0,0],onPointerMove:Pc,onPointerUp:Is,visible:!1,children:h.jsx("meshBasicMaterial",{color:"blue",side:ji})}),h.jsx(sa,{name:Pre,args:[r,l],rotation:[Vt,0,0],position:[0,a,0],onPointerMove:()=>{},visible:!1})]}),Ae.map($e=>{switch($e.type){case z.Window:return h.jsx(fqe,{...$e,cx:$e.cx*r,cy:$e.cy*a,cz:$e.cz*l,lx:$e.lx*r,ly:a,lz:$e.lz*l},$e.id);case z.Door:return E!==Hl.Full?null:h.jsx(cQt,{...$e,cx:$e.cx*r,cy:0,cz:$e.cz*l,lx:$e.lx*r,ly:a,lz:$e.lz*l},$e.id);case z.SolarPanel:let Pt=0;return we&&t&&(Pt=we.rotation[2]+t.relativeAngle),h.jsx("group",{position:[0,-$e.lz/2,0],children:h.jsx(gQt,{...$e,cx:$e.cx*r,cz:$e.cz*l,absRotation:Pt})},$e.id);default:return null}})]}),Ae.map($e=>$e.type===z.Polygon&&E!==Hl.Empty?h.jsx(Iqe,{...$e},$e.id):null),T===hc.Stud&&Xu(),T===hc.Pillar&&Cc(),et&&h.jsx(vQt,{args:B,wallData:ht,parapetZ:vt,currWallPointData:Je,leftWallPointData:mt,rightWallPointData:Ge}),(T===hc.Default||A&&Y)&&h.jsx(Z$t,{lineColor:Y&&A?l0:p,lineWidth:Y&&A?2:g,hx:qe,hz:De,fill:E,isTopPartial:Qe,leftUnfilledHeight:L,rightUnfilledHeight:U,showParapet:et,leftHeight:wt,rightHeight:rt,center:v,centerLeft:S,centerRight:w}),Y&&h.jsx(dye,{element:t,verticalLift:0}),(de||oe===n)&&((Tn=M.getState().selectedElement)==null?void 0:Tn.parentId)===n&&h.jsx("group",{position:[0,-.001,0],rotation:[Vt,0,0],children:h.jsx(mge,{hx:qe,hy:De,hz:0})}),h.jsx(bQt,{wallModel:t,notBuilding:we.notBuilding})]})};function zqe(t){const e=M.getState().getPvModule(t.pvModelName);return t.orientation===ci.landscape?[e.length,e.width]:[e.width,e.length]}const PQt=(t,e)=>t.wallModel===e.wallModel,CQt=Se.memo(TQt,PQt);class In{static getWireframetStyle(e,n,o,i){return[o&&i?l0:e,o&&i?1:n]}static getComposedWallNormal(e){return new ae().subVectors(e.leftPoint,e.rightPoint).applyEuler(ZV).normalize()}static getWallNormal(e){return new ae().subVectors(new ae(e.leftPoint[0],e.leftPoint[1]),new ae(e.rightPoint[0],e.rightPoint[1])).applyEuler(ZV).normalize()}static isTypeRoof(e){return e===z.Roof||e===z.PyramidRoof||e===z.HipRoof||e===z.GableRoof||e===z.GambrelRoof||e===z.MansardRoof}static getIntersectionPoint(e,n,o,i){if(Math.abs(e.x-n.x)<.001&&Math.abs(o.x-i.x)<.001)return n.clone();const r=(n.y-e.y)/(n.x-e.x),a=(i.y-o.y)/(i.x-o.x);if(Math.abs(r-a)<.001)return n.clone();const l=[e.x,n.x,o.x,i.x],s=[e.y,n.y,o.y,i.y],c=((l[2]-l[3])*(l[1]*s[0]-l[0]*s[1])-(l[0]-l[1])*(l[3]*s[2]-l[2]*s[3]))/((l[2]-l[3])*(s[0]-s[1])-(l[0]-l[1])*(s[2]-s[3])),u=((s[2]-s[3])*(s[1]*l[0]-s[0]*l[1])-(s[0]-s[1])*(s[3]*l[2]-s[2]*l[3]))/((s[2]-s[3])*(l[0]-l[1])-(s[0]-s[1])*(l[2]-l[3]));return!Number.isFinite(c)||!Number.isFinite(u)?n.clone():new ae(c,u)}static getDistance(e,n,o){const i=n.y-e.y;if(i===0)return Math.abs(e.y-o.y);const r=e.x-n.x;if(r===0)return Math.abs(e.x-o.x);const a=n.x*e.y-e.x*n.y,l=Math.abs((i*o.x+r*o.y+a)/Math.sqrt(i*i+r*r));return l===0?1/0:l}static getWallPoints2D(e,n,o,i){const{lx:r,lz:a,rightRoofHeight:l,leftRoofHeight:s}=e,c=o??e.centerLeftRoofHeight,u=n??e.centerRoofHeight,d=i??e.centerRightRoofHeight,f=[],p=r/2,g=a/2;return f.push({x:-p,y:-g}),f.push({x:p,y:-g}),l?f.push({x:p,y:l-g}):f.push({x:p,y:g}),d&&f.push({x:d[0]*r,y:d[1]-g}),u&&f.push({x:u[0]*r,y:u[1]-g}),c&&f.push({x:c[0]*r,y:c[1]-g}),s?f.push({x:-p,y:s-g}):f.push({x:-p,y:g}),f}static isPointInside(e,n,o){let i=!1;for(let r=0,a=e.length-1;ro!=u>o&&n<(c-l)*(o-s)/(u-s)+l&&(i=!i)}return i}static isRoofValid(e,n,o,i,r,a){for(const l of M.getState().elements)if(l.type===z.Wall&&l.roofId===e){const s=l;let c=[];if(s.id===n)c=In.getWallPoints2D(s,i,r,a);else if(s.id===o){let u,d,f;i&&(u=[-i[0],i[1]]),a&&(d=[-a[0],a[1]]),r&&(f=[-r[0],r[1]]),c=In.getWallPoints2D(s,u,d,f)}if(s.id===n||s.id===o){for(const u of M.getState().elements)if(u.parentId===s.id){let d=u.lx/2,f=u.lz/2,p=tP;u.type===z.SolarPanel&&(d=(d-.01)/s.lx,f=(u.ly/2-.01)/s.lz,p=0);const g=u.cx*s.lx-d*s.lx,y=u.cx*s.lx+d*s.lx,A=u.cz*s.lz+f*s.lz+p;if(!In.isPointInside(c,g,A)||!In.isPointInside(c,y,A))return!1}}}return!0}static getSegmentIdx(e,n){for(let o=0;or.z){const u=[l,a,i];return be.isPointInside(o.x,o.y,u.map(be.mapVector3ToPoint2))?[i,a,l]:[i,r,a]}else{const u=[l,a,r];return be.isPointInside(o.x,o.y,u.map(be.mapVector3ToPoint2))?[r,a,l]:[r,l,i]}else if(s<=c){const u=[l,a,r];return be.isPointInside(o.x,o.y,u.map(be.mapVector3ToPoint2))?[r,a,l]:[r,l,i]}else{const u=[l,a,i];return be.isPointInside(o.x,o.y,u.map(be.mapVector3ToPoint2))?[i,a,l]:[i,r,a]}}static getSegmentNormal(e){const[n,o,i]=e;return new ae().crossVectors(new ae().subVectors(n,o),new ae().subVectors(n,i)).normalize()}static getRotationFromNormal(e){return be.isSame(e.normalize(),Po)?[0,0,0]:[Math.PI/2-Math.atan2(e.z,Math.hypot(e.x,e.y)),0,Math.atan2(e.y,e.x)+Math.PI/2]}static getRooftopElementZ(e,n,o){const[i,r,a]=e,l=(r.y-i.y)*(a.z-i.z)-(r.z-i.z)*(a.y-i.y),s=(r.z-i.z)*(a.x-i.x)-(r.x-i.x)*(a.z-i.z),c=(r.x-i.x)*(a.y-i.y)-(r.y-i.y)*(a.x-i.x);return-(-(l*i.x+s*i.y+c*i.z)+l*n.x+s*n.y)/c+o}static computeState(e,n,o){const i=In.getSegmentIdx(e,n);if(o)return{segmentIdx:-1,segmentVertices:null,normal:new ae(0,0,1),rotation:[0,0,0]};if(i!==-1){const r=In.getSegmentVertices(e,i,n),a=In.getSegmentNormal(r),l=In.getRotationFromNormal(a);return{segmentIdx:i,segmentVertices:r,normal:a,rotation:l}}else return{segmentIdx:-1,segmentVertices:null,normal:new ae(0,0,1),rotation:[0,0,0]}}static getOrderedWallArrayOfRoof(e){const n=new Map;for(const a of M.getState().elements)a.type===z.Wall&&a.roofId===e&&n.set(a.id,a);if(n.size===0)return{orderedWallArray:[],isLoop:!1};const o=n.entries().next().value[1],i=[o];let r=o.rightJoints[0];for(;r&&r!==o.id;){const a=n.get(r);if(a)i.push(a),r=a.rightJoints[0];else break}if(r===o.id)return{orderedWallArray:i,isLoop:!0};for(r=o.leftJoints[0];r;){const a=n.get(r);if(a)i.unshift(a),r=a.leftJoints[0];else break}return{orderedWallArray:i,isLoop:!1}}static getRoofBoundaryVertices(e){const n=bn.getState().roofSegmentVerticesMap.get(e.id);if(!n)throw new Error;if(e.roofType!==Vo.Gable&&e.rise<.01)return n[0].map(o=>({x:o.x,y:o.y}));switch(e.roofType){case Vo.Gable:return n.length===1?n[0].map(o=>({x:o.x,y:o.y})):n.reduce((o,i)=>(o.push({x:i[0].x,y:i[0].y},{x:i[1].x,y:i[1].y}),o),[]);case Vo.Gambrel:return n.reduce((o,i,r)=>((r===0||r===3)&&o.push({x:i[0].x,y:i[0].y},{x:i[1].x,y:i[1].y}),o),[]);case Vo.Mansard:return n.reduce((o,i,r)=>(r!==n.length-1&&o.push({x:i[0].x,y:i[0].y}),o),[]);default:return n.reduce((o,i,r)=>(o.push({x:i[0].x,y:i[0].y}),o),[])}}static getAbsoluteWindowVerticesOnRoof(e,n){const o=[],i=new ae(e.cx,e.cy,e.cz),r=new ae(n.cx,n.cy,n.lz);if(e.windowType===Sr.Arched){const a=Math.min(e.archHeight,e.lx/2,e.lz);for(let s=-1;s<=1;s+=2)for(let c=-1;c<=1;c+=2){const u=s*c>0?new ae(e.lx/2*s,(e.lz/2-a)*c*s,0):new ae(e.lx/2*s,e.lz/2*c*s,0);u.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),u.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(u)}const l=new ae(0,e.lz/2,0);l.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),l.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(l)}else{for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=new ae(e.lx/2*a,e.lz/2*l*a,0);s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),s.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(s)}if(e.windowType===Sr.Polygonal&&e.polygonTop){const a=new ae(e.lx*e.polygonTop[0],e.lz/2+e.polygonTop[1],0);a.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),a.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(a)}}return o}static getRelativeWindowVerticesOnRoof(e){const n=[],o=new ae(e.cx,e.cy,e.cz);if(e.windowType===Sr.Arched){const i=Math.min(e.archHeight,e.lx/2,e.lz);for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=a*l>0?new ae(e.lx/2*a,(e.lz/2-i)*l*a,0):new ae(e.lx/2*a,e.lz/2*l*a,0);s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(s)}const r=new ae(0,e.lz/2,0);r.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(r)}else{for(let i=-1;i<=1;i+=2)for(let r=-1;r<=1;r+=2){const a=new ae(e.lx/2*i,e.lz/2*r*i,0);a.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(a)}if(e.windowType===Sr.Polygonal&&e.polygonTop){const i=new ae(e.lx*e.polygonTop[0],e.lz/2+e.polygonTop[1],0);i.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(i)}}return n}static getAbsoluteSolarPanelVerticesOnRoof(e,n){const o=[],i=new ae(e.cx*n.lx,e.cy*n.ly,e.cz),r=new ae(n.cx,n.cy,n.lz);for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=new ae(e.lx/2*a,e.ly/2*l*a,0);e.rotation[0]===0?s.applyEuler(new Qt(e.tiltAngle,0,e.relativeAzimuth,"ZXY")).add(i):s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),s.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(s)}return o}static getSolarPanelVerticesOnRoof(e,n){const o=[],i=new ae(e.cx*n.lx,e.cy*n.ly,e.cz+n.lz);for(let r=-1;r<=1;r+=2)for(let a=-1;a<=1;a+=2){const l=new ae(e.lx/2*r,e.ly/2*a*r,0);e.rotation[0]===0?l.applyEuler(new Qt(e.tiltAngle,0,e.relativeAzimuth,"ZXY")).add(i):l.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),o.push(l)}return o}static getWindowVerticesOnRoof(e,n=0){const o=[],i=new ae(e.cx,e.cy,e.cz),[r,a]=[e.lx/2+n,e.lz/2+n];for(let l=-1;l<=1;l+=2)for(let s=-1;s<=1;s+=2){const c=new ae(l*r,l*s*a);c.applyEuler(new Qt().fromArray([e.rotation[0],e.rotation[1],e.rotation[2],"ZXY"])).add(i),o.push(c)}if(e.windowType===Sr.Polygonal){const[l,s]=e.polygonTop??jp,c=new ae(l*e.lx,e.lz+s).add(i);o.push(c)}return o}static rooftopElementBoundaryCheck(e,n){for(const o of e)if(!be.isPointInside(o.x,o.y,n))return!1;return!0}static rooftopWindowCollisionCheck(e,n,o){const i=[];for(const r of M.getState().elements)if(r.parentId===o&&r.id!==e){const a=In.getWindowVerticesOnRoof(r);i.push(a)}for(const r of i){for(const a of n)if(be.isPointInside(a.x,a.y,r))return!1;for(const a of r)if(be.isPointInside(a.x,a.y,n))return!1}return!0}static rooftopSPCollisionCheck(e,n,o){for(const i of M.getState().elements)if(i.type===e.type&&i.parentId===e.parentId&&i.id!==e.id){const r=In.getSolarPanelVerticesOnRoof(i,n);for(const s of o)if(be.isPointInside(s.x,s.y,r))return!1;for(const s of r)if(be.isPointInside(s.x,s.y,o))return!1;const a=o.map(be.mapVector3ToPoint2),l=r.map(be.mapVector3ToPoint2);a.push(a[0]),l.push(l[0]);for(let s=0;s{const a=M(Cb),l=M(ey),s=m.useRef(null),[c,u,d]=e;let f=jx;c===0&&u===0?f=k3t:c===0?f=Fk:u===0&&(f=jx);const p=l===t||a===t?nr:f;return h.jsx(ts,{ref:s,name:t,args:[n/2,6,6,0,Math.PI],position:[c,u,d],onPointerDown:o,onPointerOver:g=>{i(g,t)},onPointerOut:r,children:h.jsx("meshBasicMaterial",{color:p})})}),um=Se.memo(({handleType:t,position:e,size:n,onPointerOver:o,onPointerOut:i})=>{const r=M(yh),a=M(ey),l=m.useRef(null),[s,c,u]=e,d=a===t||r===t?nr:pr,f=()=>{if(l.current){const p=l.current.localToWorld(new ae(-s*2,-c*2,0));M.getState().set(g=>{g.resizeAnchor.copy(p),g.resizeHandleType=t}),Ln.getState().setEnableOrbitController(!1)}};return h.jsx(Ei,{ref:l,name:t,args:[n,n,n],position:[s,c,u],onPointerDown:f,onPointerOver:p=>{o(p,t)},onPointerOut:i,children:h.jsx("meshBasicMaterial",{color:d})})}),WQt=({id:t,args:e})=>{const[n,o,i]=e,r=M(dn),a=M(jn),l=M(hu),s=M(Mq),[c,u]=m.useState(null),{gl:d,raycaster:f}=Xi(),p=UH(),g=m.useRef(null),y=m.useRef(null),A=m.useRef(null),x=m.useRef(null),C=m.useRef(null),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(null),w=m.useMemo(()=>[0,Math.min(-1.2*o,-o-.75)-p*2,I9/2-i],[o,i,p]),T=m.useMemo(()=>[0,Math.max(1.2*o,o+.75)+p*2,I9/2-i],[o,i,p]),P=c!==null,R=!l,H=!s,D=m.useCallback((q,le)=>{gt.getState().duringCameraInteraction||q.intersections.length>0&&(q.intersections[0].object===q.eventObject||q.intersections.length>1&&q.intersections[1].object===q.eventObject)&&(r(pe=>{pe.hoveredHandle=le;const ne=a(t);ne&&(pe.selectedElementAngle=ne.rotation[2],pe.selectedElementHeight=ne.lz)}),be.isMoveHandle(le)?d.domElement.style.cursor="move":le===wi.Upper||le===wi.Lower?d.domElement.style.cursor="grab":d.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"pointer")},[]),E=m.useCallback(()=>{r(q=>{q.hoveredHandle=null}),d.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),L=q=>{const le=a(q);if(!le)return 0;const ie=le.rotation[2];return le.parentId===Zo?ie:ie+L(le.parentId)},U=q=>{switch(q){case z.Human:case z.Flower:case z.Tree:return!0}return!1},F=q=>U(q)||q===z.Cuboid,W=q=>{r(le=>{const ie=le.elements.find(Re=>Re.id===t);if(!ie)return;const pe=q.clone().setZ(0),ne=M.getState().resizeAnchor.clone().setZ(0),Z=new ae().subVectors(pe,ne).applyEuler(new Qt(0,0,-(A.current??0))),he=new ae().addVectors(pe,ne).multiplyScalar(.5),{pos:fe,rot:se}=be.getWorldDataById(ie.parentId),oe=new ae().subVectors(he,fe).applyEuler(new Qt(0,0,-se));ie.cx=oe.x,ie.cy=oe.y;const de=Math.abs(Z.x),ve=Math.abs(Z.y);ie.lx=de,ie.ly=ve;const Pe=new ae(oe.x,oe.y,ie.cz).applyEuler(new Qt(0,0,se)).add(fe),me=ie.rotation[2]+se;if(b.current.size>0)for(const Re of le.elements){const ze=b.current.get(Re.id);if(ze){const Ae=ze.clone().sub(Pe).applyEuler(new Qt(0,0,-me));if(U(Re.type)){const re=v.current.get(Re.id);if(re){const[ge,we]=re;ge==="Top"?(Re.cx=Ae.x,Re.cy=Ae.y):ge==="NS"?(Re.cx=Ae.x,Re.cy=Math.sign(we)*(ve/2)):ge==="EW"&&(Re.cx=Math.sign(we)*(de/2),Re.cy=Ae.y)}}else Re.type===z.Cuboid?(Re.cx=Ae.x,Re.cy=Ae.y):(Re.cx=Ae.x/de,Re.cy=Ae.y/ve)}}})},B=q=>{r(le=>{const ie=le.elements.find(me=>me.id===t);if(!ie)return;const pe=q.clone().setZ(0),ne=M.getState().resizeAnchor.clone().setZ(0),Z=new ae().subVectors(pe,ne).applyEuler(new Qt(0,0,-(A.current??0))),he=new ae().addVectors(pe,ne).multiplyScalar(.5),{pos:fe,rot:se}=be.getWorldDataById(ie.parentId),oe=new ae().subVectors(he,fe).applyEuler(new Qt(0,0,-se));ie.cx=oe.x;const de=Math.abs(Z.x);ie.lx=de;const ve=new ae(oe.x,oe.y,ie.cz).applyEuler(new Qt(0,0,se)).add(fe),Pe=ie.rotation[2]+se;if(b.current.size>0)for(const me of le.elements){const Re=b.current.get(me.id);if(Re){const ze=Re.clone().sub(ve).applyEuler(new Qt(0,0,-Pe));if(U(me.type)){const Ae=v.current.get(me.id);if(Ae){const[re,ge]=Ae;re==="Top"||re==="NS"?me.cx=ze.x:re==="EW"&&(me.cx=Math.sign(ge)*(de/2))}}else me.type===z.Cuboid?me.cx=ze.x:me.cx=ze.x/de}}})},k=q=>{r(le=>{const ie=le.elements.find(me=>me.id===t);if(!ie)return;const pe=q.clone().setZ(0),ne=M.getState().resizeAnchor.clone().setZ(0),Z=new ae().subVectors(pe,ne).applyEuler(new Qt(0,0,-(A.current??0))),he=new ae().addVectors(pe,ne).multiplyScalar(.5),{pos:fe,rot:se}=be.getWorldDataById(ie.parentId),oe=new ae().subVectors(he,fe).applyEuler(new Qt(0,0,-se));ie.cy=oe.y;const de=Math.abs(Z.y);ie.ly=de;const ve=new ae(oe.x,oe.y,ie.cz).applyEuler(new Qt(0,0,se)).add(fe),Pe=ie.rotation[2]+se;if(b.current.size>0)for(const me of le.elements){const Re=b.current.get(me.id);if(Re){const ze=Re.clone().sub(ve).applyEuler(new Qt(0,0,-Pe));if(U(me.type)){const Ae=v.current.get(me.id);if(Ae){const[re,ge]=Ae;re==="Top"?me.cy=ze.y:re==="NS"?me.cy=Math.sign(ge)*(de/2):re==="EW"&&(me.cy=ze.y)}}else me.type===z.Cuboid?me.cy=ze.y:me.cy=ze.y/de}}})},N=q=>{if(g.current!==null){const le=Math.max(1,q.z-g.current);r(ie=>{for(const pe of ie.elements)if(pe.id===t&&(pe.lz=le,pe.cz=le/2,ie.selectedElementHeight=le),pe.parentId===t&&U(pe.type)){const ne=v.current.get(pe.id);ne&&ne[0]==="Top"&&(pe.cz=le/2)}})}},j=q=>{if(y.current){const[le,ie]=y.current;let pe=Math.atan2(le-q.x,q.y-ie)+(M.getState().rotateHandleType===wi.Upper?0:Math.PI);const ne=Math.abs(pe)>Math.PI?-Math.sign(pe)*na:0;x.current&&(pe-=x.current),M.getState().updateElementRotationById(t,0,0,pe+ne)}},Y=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name||M.getState().addedCuboidId){const le=a(t);if(le&&le.parentId!==Zo){u({position:new ae(0,0,-i),rotation:new Qt});const{pos:ie,rot:pe}=be.getWorldDataById(le.parentId);C.current=ie,x.current=pe,A.current=pe+le.rotation[2];const ne=new ae(le.cx,le.cy,le.cz).applyEuler(new Qt(0,0,pe)).add(ie),Z=M.getState().elements.filter(he=>he.parentId===le.id&&(F(he.type)||be.isIdentical(he.normal,[0,0,1])));b.current.clear(),v.current.clear();for(const he of Z){const fe=new ae;U(he.type)?(fe.set(he.cx,he.cy,he.cz),Math.abs(he.cz-i)<.01?v.current.set(he.id,["Top",1]):Math.abs(Math.abs(he.cx)-n)<.01?v.current.set(he.id,["EW",Math.sign(he.cx)]):v.current.set(he.id,["NS",Math.sign(he.cy)])):he.type===z.Cuboid?fe.set(he.cx,he.cy,he.cz):fe.set(he.cx*le.lx,he.cy*le.ly,0),fe.applyEuler(new Qt(0,0,A.current)).add(ne),b.current.set(he.id,fe)}}r(ie=>{ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(t),ie.selectedElement=ie.elements.find(pe=>pe.id===t)??null})}},_=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name){const le=q.intersections[0].object,ie=M.getState().cameraDirection,pe=Math.atan2(ie.x,ie.y)+L(t);u({position:le.position.clone(),rotation:new Qt(-Vt,pe,0)});const ne=le.localToWorld(new ae);g.current=ne.z-i*2;const Z=M.getState().elements.filter(he=>he.parentId===t&&U(he.type));v.current.clear();for(const he of Z)new ae().set(he.cx,he.cy,he.cz),Math.abs(he.cz-i)<.01&&v.current.set(he.id,["Top",1]);r(he=>{he.selectedElementIdSet.clear(),he.selectedElementIdSet.add(t),he.selectedElement=he.elements.find(fe=>fe.id===t)??null})}},J=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name){u({position:new ae(0,0,-i),rotation:new Qt(0,0,0)});const le=q.eventObject;y.current=le.localToWorld(new ae).toArray();const ie=a(t);ie&&(x.current=L(ie.parentId))}},Q=q=>{if(q.intersections.length>0){const le=q.intersections[0].eventObject.name;switch(le){case yo.Lower:case yo.Upper:case yo.Left:case yo.Right:case yo.Top:{M.getState().set(ie=>{const pe=ie.elements.find(ne=>ne.id===t)??null;if(pe){if(ie.selectedElement=pe,pe.parentId===Zo)for(const ne of ie.elements)ie.selectedElementIdSet.has(ne.id)&&!be.isElementAllowedMultipleMoveOnGround(ne)&&ie.selectedElementIdSet.delete(ne.id);else ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(pe.id);ie.moveHandleType=le}}),Ln.getState().setEnableOrbitController(!1);break}}}},ee=q=>{if(S.current){const le=f.intersectObject(S.current);if(le.length){const ie=le[0].point,pe=M.getState().resizeHandleType;pe?be.isTopResizeHandle(pe)?N(ie):be.isXResizeHandle(pe)?B(ie):be.isYResizeHandle(pe)?k(ie):W(ie):M.getState().rotateHandleType&&j(ie)}}},$=()=>{u(null),g.current=null,y.current=null,A.current=null,x.current=null,C.current=null};return h.jsxs(h.Fragment,{children:[P&&h.jsx(sa,{name:"Cuboid Intersection Plane",ref:S,args:[1e4,1e4],position:c.position,rotation:c.rotation,visible:!1,onPointerMove:ee,onPointerUp:$}),h.jsxs("group",{name:"Bottom Resize Handle Group",position:[0,0,-i+p/2],onPointerDown:Y,children:[h.jsx(um,{handleType:yt.UpperLeft,position:[-n,o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.UpperRight,position:[n,o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.LowerLeft,position:[-n,-o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.LowerRight,position:[n,-o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.Left,position:[-n,0,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.Right,position:[n,0,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.Upper,position:[0,o,0],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.Lower,position:[0,-o,0],size:p,onPointerOver:D,onPointerOut:E})]}),R&&h.jsxs("group",{name:"Cuboid Top Resize Handle Group",onPointerDown:_,children:[h.jsx(um,{handleType:yt.LowerLeftTop,position:[-n,-o,i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.UpperLeftTop,position:[-n,o,i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.LowerRightTop,position:[n,-o,i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(um,{handleType:yt.UpperRightTop,position:[n,o,i],size:p,onPointerOver:D,onPointerOut:E})]}),H&&h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Cuboid Move Handle Group",onPointerDown:Q,children:[h.jsx(Dz,{handleType:yo.Lower,position:[0,-o-p*1.2,-i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(Dz,{handleType:yo.Upper,position:[0,o+p*1.2,-i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(Dz,{handleType:yo.Left,position:[-n-p*1.2,0,-i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(Dz,{handleType:yo.Right,position:[n+p*1.2,0,-i],size:p,onPointerOver:D,onPointerOut:E}),h.jsx(Dz,{handleType:yo.Top,position:[0,0,i],size:p,onPointerOver:D,onPointerOut:E})]}),h.jsxs("group",{name:"Cuboid Rotate Handle Group",onPointerDown:J,children:[h.jsx(l7,{id:t,handleType:wi.Lower,position:w,ratio:p*4,hoverHandle:D,noHoverHandle:E}),h.jsx(l7,{id:t,position:T,handleType:wi.Upper,ratio:p*4,hoverHandle:D,noHoverHandle:E})]})]})]})},NQt=Se.memo(WQt),UQt=t=>{const{id:e,cx:n,cy:o,lx:i=1,ly:r=1,lz:a=1,color:l="silver",lineColor:s="black",lineWidth:c=.1,locked:u=!1,showLabel:d=!1,textureTypes:f=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],stackable:p}=t,g=Hs(e),y=M(dn),A=M(Sc),x=M(hu),C=M(jn),b=M(xb),v=M(sge),S=M(hp),w=M(t3),T=M(R7),P=M(e3),R=M(nge),H=M(dwt),D=M(Vc),E=M(age),L=M(J2),U=M(ss),F=M(En),W=M(fge),B=M(H7),k=M(tje),N=M(tge),j=gt(cs),Y=M(wf),_=bn(o1),J=M(sA),{camera:Q,gl:{domElement:ee},raycaster:$,mouse:q}=Xi(),[le,ie]=m.useState(null),[pe,ne]=m.useState(null),[Z,he]=m.useState(null),[fe,se]=m.useState(null),[oe,de]=m.useState(null),[ve,Pe]=m.useState(!1),[me,Re]=m.useState(!1),ze=m.useRef(null),Ae=m.useRef(null),re=m.useRef(null),ge=m.useRef(Po),[we,ye]=m.useState(new ae(0,0,0)),Te=m.useRef(new Qt(0,0,0)),Ie=m.useRef(new ae(1,1,1)),Ce=m.useRef(new ae),Ee=m.useRef(new ae),Ue=m.useRef(new ae),Ne=m.useRef(new ae),Le=m.useRef(new ae(1,1,1)),qe=m.useRef(new ae(1,1,1)),We=m.useRef(0),De=m.useRef(0),Fe=m.useRef([]),_e=m.useRef([]),ot=m.useRef(null),Ye=m.useRef(new ae),St=m.useRef(0),dt=m.useMemo(()=>({lng:A}),[A]),je=i/2,at=r/2,ut=a/2,wt=m.useMemo(()=>new ae,[]),rt=m.useMemo(()=>(t!=null&&t.label?t.label:O.t("shared.CuboidElement",dt))+(t!=null&&t.locked?" ("+O.t("shared.ElementLocked",dt)+")":"")+(t!=null&&t.label?"":` +`+O.t("word.Coordinates",dt)+": ("+n.toFixed(1)+", "+o.toFixed(1)+", "+(a/2).toFixed(1)+") "+O.t("word.MeterAbbreviation",dt)),[t==null?void 0:t.label,t==null?void 0:t.locked,dt,n,o,a]);m.useEffect(()=>{const Cn=()=>{re.current=null,Re(!1),Ln.getState().setEnableOrbitController(!0)};return window.addEventListener("pointerup",Cn),()=>{window.removeEventListener("pointerup",Cn)}},[]),m.useEffect(()=>{M.getState().tempHumanPlant.length>0&&y(Cn=>{Cn.elements.push(...Cn.tempHumanPlant),Cn.tempHumanPlant=[]})},[]),m.useEffect(()=>{if(t&&j){const Cn=Y??5,yn=_(t.id+"-top");yn&&ie(be.fetchHeatmapTexture(yn,Cn));const to=_(t.id+"-south");to&&ne(be.fetchHeatmapTexture(to,Cn));const Do=_(t.id+"-north");Do&&he(be.fetchHeatmapTexture(Do,Cn));const ni=_(t.id+"-west");ni&&se(be.fetchHeatmapTexture(ni,Cn));const Fo=_(t.id+"-east");Fo&&de(be.fetchHeatmapTexture(Fo,Cn,!0))}},[j,Y]);const Qe=Cn=>{switch(Cn){case Co.Facade01:return RQt;case Co.Facade02:return HQt;case Co.Facade03:return MQt;case Co.Facade04:return IQt;case Co.Facade05:return zQt;case Co.Facade06:return DQt;case Co.Facade07:return EQt;case Co.Facade08:return kQt;case Co.Facade09:return FQt;case Co.Facade10:return LQt;default:return Z1}},Oe=Cn=>{switch(Cn){case Co.Facade01:return{x:14,y:6.5};case Co.Facade02:return{x:14,y:6.5};case Co.Facade03:return{x:10,y:12};case Co.Facade04:return{x:20,y:11};case Co.Facade05:return{x:15,y:10};case Co.Facade06:return{x:11,y:3.5};case Co.Facade07:return{x:11,y:10};case Co.Facade08:return{x:16,y:9};case Co.Facade09:return{x:10,y:9};case Co.Facade10:return{x:12,y:9};default:return{x:1,y:1}}},et=m.useMemo(()=>new tf().load(f?Qe(f[0]):Z1,Cn=>{const yn=Oe(f[0]);Cn.repeat.set(r/yn.x,a/yn.y),Cn.rotation=Vt,Cn.center.x=1,Cn.center.y=0,Cn.wrapS=Cn.wrapT=Ss,ct(Cn)}),[f[0],r,a]),[vt,ct]=m.useState(et),lt=m.useMemo(()=>new tf().load(f?Qe(f[1]):Z1,Cn=>{const yn=Oe(f[1]);Cn.repeat.set(r/yn.x,a/yn.y),Cn.rotation=-Vt,Cn.wrapS=Cn.wrapT=Ss,it(Cn)}),[f[1],r,a]),[tt,it]=m.useState(lt),At=m.useMemo(()=>new tf().load(f?Qe(f[2]):Z1,Cn=>{const yn=Oe(f[2]);Cn.repeat.set(i/yn.x,a/yn.y),Cn.rotation=Math.PI,Cn.center.x=0,Cn.center.y=1,Cn.wrapS=Cn.wrapT=Ss,st(Cn)}),[f[2],i,a]),[Mt,st]=m.useState(At),ft=m.useMemo(()=>new tf().load(f?Qe(f[3]):Z1,Cn=>{const yn=Oe(f[3]);Cn.repeat.set(i/yn.x,a/yn.y),Cn.wrapS=Cn.wrapT=Ss,zt(Cn)}),[f[3],i,a]),[Rt,zt]=m.useState(ft),Xe=m.useMemo(()=>new tf().load(f?Qe(f[4]):Z1,Cn=>{const yn=Oe(f[4]);Cn.repeat.set(i/yn.x,r/yn.y),Cn.wrapS=Cn.wrapT=Ss,Je(Cn)}),[f[4],i,r]),[ht,Je]=m.useState(Xe);m.useEffect(()=>{Zh()},[f]);const mt=Cn=>{switch(Cn){case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:return!0}return!1},Ge=Cn=>{switch(Cn){case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:case z.Human:case z.Tree:case z.Flower:return!0}return!1},xt=Cn=>{ge.current=Cn;const yn=.01;be.isSame(ge.current,Po)?(ye(new ae(0,0,ut+yn)),Te.current=new Qt(0,0,0),Ie.current.set(je,at,ut)):be.isSame(ge.current,Np)?(ye(new ae(je+yn,0,0)),Te.current=new Qt(0,Vt,0),Ie.current.set(ut,at,je)):be.isSame(ge.current,Up)?(ye(new ae(-je-yn,0,0)),Te.current=new Qt(0,-Vt,0),Ie.current.set(ut,at,je)):be.isSame(ge.current,Bp)?(ye(new ae(0,-at-yn,0)),Te.current=new Qt(Vt,0,0),Ie.current.set(je,ut,at)):be.isSame(ge.current,Yc)&&(ye(new ae(0,at+yn,0)),Te.current=new Qt(-Vt,0,0),Ie.current.set(je,ut,at))},It=Math.max(1,Math.max(i,r)/8),Tt=Af*It,Dt=Cn=>{var Do,ni;const yn=Cn.intersections[0];if(M.getState().objectTypeToAdd===z.SolarPanel){const Fo=yn.point,{pos:bo,rot:Ro}=be.getWorldDataById(e),oi=new ae().subVectors(Fo,bo).applyEuler(new Qt(0,0,-Ro)),go=rl.makeSolarPanel(t,M.getState().getPvModule(M.getState().actionState.solarPanelModelName??"SPR-X21-335-BLK"),oi.x/i,oi.y/r,oi.z/a,M.getState().actionState.solarPanelOrientation??ci.landscape,M.getState().actionState.solarPanelPoleHeight??1,M.getState().actionState.solarPanelPoleSpacing??3,M.getState().actionState.solarPanelTiltAngle??0,M.getState().actionState.solarPanelRelativeAzimuth??0,(Do=yn.face)==null?void 0:Do.normal,[0,0,0],M.getState().actionState.solarPanelFrameColor??"white");return y(So=>{So.elements.push(go)}),go}else return v(t,yn.point,(ni=yn.face)==null?void 0:ni.normal)},Lt=Cn=>{if(Cn.button===2)return;W()||D(e,Cn,zo.Select);const yn=b();let to=!1;if(Cn.intersections[0].object.name===z.Polygon&&M.getState().objectTypeToAdd!==z.None&&(to=!0),(yn==null?void 0:yn.id)===e||to)if(Ge(M.getState().objectTypeToAdd)&&t){Re(!0);const Do=Dt(Cn);if(Do){const ni={name:"Add",timestamp:Date.now(),addedElement:Do,undo:()=>{S(ni.addedElement.id,!1)},redo:()=>{y(Fo=>{Fo.elements.push(ni.addedElement),Fo.selectedElement=ni.addedElement})}};F(ni),y(Fo=>{Fo.objectTypeToAdd=z.None})}}else Ln.getState().selectNone(),Ln.setState({cuboidRef:ze});else if(yn&&yn.parentId===e&&mt(yn.type)){Re(!0);const{rot:Do,pos:ni}=be.getWorldDataById(e);Ye.current.copy(ni),St.current=Do,re.current=yn;let Fo;for(const bo of Cn.intersections)if(bo.object===Ae.current){Fo=bo.face;break}switch(Fo&&xt(Fo.normal),Ln.getState().setEnableOrbitController(!1),Ce.current.x=yn.cx,Ce.current.y=yn.cy,Ce.current.z=yn.cz,Ue.current.fromArray(yn.normal),Le.current.x=yn.lx,Le.current.y=yn.ly,Le.current.z=yn.lz,yn.type){case z.SolarPanel:We.current=yn.relativeAzimuth,gt.getState().setPrimitiveStore("oldParentId",e),gt.getState().setPrimitiveStore("oldFoundationId",e);break;case z.Polygon:Fe.current=yn.vertices.map(bo=>({...bo}));break}}},Et=Cn=>{var Ro,oi;if(!Ae.current)return;const yn=$.intersectObjects([Ae.current]);if(yn.length===0)return;const to=yn[0].face;if(!to)return;const Do=nf.getIntersectionObjects(Cn);if(Do.length===0||Do[0].eventObject.userData.id!==e){vi(!1),re.current=null;return}const ni=M.getState().selectedElement;if(!!(ni&&!ni.locked&&ni.type===z.SolarPanel&&M.getState().moveHandleType)&&(re.current=ni),to.normal.z===1&&((Ro=re.current)==null?void 0:Ro.type)!==z.Polygon){const go=!!(((oi=re.current)==null?void 0:oi.type)===z.SolarPanel&&(M.getState().moveHandleType||M.getState().rotateHandleType||M.getState().resizeHandleType)&&!re.current.locked);vi(go),go&&(wt.set(0,0,re.current.poleHeight+a/2),xt(new ae(0,0,1)),Re(!0));return}else if(vi(!1),re.current&&t&&!re.current.locked){const go=new Gt(Cn.offsetX/ee.clientWidth*2-1,1-Cn.offsetY/ee.clientHeight*2);$.setFromCamera(go,Q);let So=yn[0].point;if(M.getState().moveHandleType){const Uo=to.normal;if(xt(Uo),So=be.relativeCoordinates(So.x,So.y,So.z,t),re.current.type===z.Polygon){const _i=re.current;if(M.getState().moveHandleType===yo.Default){const Qo=be.calculatePolygonCentroid(Fe.current),ar=new ae().fromArray(_i.normal);let ur,$o;be.isSame(ar,Np)?(ur=-(Qo.x+So.z),$o=So.y-Qo.y):be.isSame(ar,Up)?(ur=So.z-Qo.x,$o=So.y-Qo.y):be.isSame(ar,Yc)?(ur=So.x-Qo.x,$o=-(Qo.y+So.z)):be.isSame(ar,Bp)?(ur=So.x-Qo.x,$o=So.z-Qo.y):(ur=So.x-Qo.x,$o=So.y-Qo.y);const ba=Fe.current.map(Mo=>({...Mo}));ba.forEach(Mo=>{Mo.x+=ur,Mo.y+=$o}),B(_i.id,ba)}}else P(re.current.id,So.x,So.y,So.z),H(re.current.id,Uo.x,Uo.y,Uo.z),re.current.parentId!==e&&M.getState().set(_i=>{const Qo=_i.elements.find(ar=>{var ur;return ar.id===((ur=re.current)==null?void 0:ur.id)&&ar.type===z.SolarPanel});Qo&&(Qo.parentId!==e||Qo.foundationId!==e)&&(Qo.parentId=e,Qo.foundationId=e,Qo.parentType=z.Cuboid,_i.selectedElement&&(_i.selectedElement.parentId=e,Qo.color=_i.selectedElement.color))})}else if(M.getState().resizeHandleType)switch(re.current.type){case z.SolarPanel:const Uo=re.current;if(Uo.normal[2]===1)break;const[_i,Qo]=zqe(Uo),ar=M.getState().resizeAnchor,ur=M.getState().resizeHandleType;if(ur===yt.Lower||ur===yt.Upper){const ba=Math.max(1,Math.round(Math.abs(So.z-ar.z)/Qo))*Qo,Mo=new ae(0,0,So.z-ar.z).normalize().multiplyScalar(ba),$i=new ae().addVectors(ar,Mo.clone().divideScalar(2));y(Za=>{const ti=Za.elements.find(ui=>ui.id===Uo.id);ti&&(ti.cz=($i.z-Ye.current.z)/a,ti.ly=Math.abs(Mo.z))})}else if(ur===yt.Left||ur===yt.Right){const $o=new ae().subVectors(So,ar).setZ(0),Mo=Math.max(1,Math.round($o.length()/_i))*_i,$i=$o.clone().normalize().multiplyScalar(Mo),Za=new ae().addVectors(ar,$i.clone().divideScalar(2)),ti=new ae().subVectors(Za,Ye.current).applyEuler(new Qt(0,0,-St.current));y(ui=>{const Fr=ui.elements.find(Oa=>Oa.id===Uo.id);Fr&&(Math.abs(Math.abs(Fr.normal[1])-1)<.01?Fr.cx=ti.x/i:Fr.cy=ti.y/r,Fr.lx=$i.length())})}break;case z.Polygon:if(M.getState().resizeHandleType===yt.Default){let $o=new ae(So.x-Ye.current.x,So.y-Ye.current.y,0).applyEuler(new Qt(0,0,-St.current,"ZXY"));const ba=re.current,Mo=new ae().fromArray(ba.normal);let $i,Za;be.isSame(Mo,Np)?($i=t.lz,Za=t.ly,$o.x=-So.z+Ye.current.z):be.isSame(Mo,Up)?($i=t.lz,Za=t.ly,$o.x=So.z-Ye.current.z):be.isSame(Mo,Yc)?($i=t.lx,Za=t.lz,$o.y=-So.z+Ye.current.z):be.isSame(Mo,Bp)?($i=t.lx,Za=t.lz,$o.y=So.z-Ye.current.z):($i=t.lx,Za=t.ly),$o=M.getState().enableFineGrid?be.snapToFineGrid($o):be.snapToNormalGrid($o),$o.x/=$i,$o.y/=Za,k(ba.id,ba.selectedIndex,$o.x,$o.y)}break}Re(!0)}},an=Cn=>{if(ot.current&&re.current&&t){if(re.current.type!==z.SolarPanel)return;const yn=re.current;if(yn.locked)return;$.setFromCamera(q,Q);const to=$.intersectObjects([ot.current]);if(to.length>0){let Do=to[0].point.clone();if(M.getState().moveHandleType)Do=be.relativeCoordinates(Do.x,Do.y,Do.z-yn.poleHeight,t),P(yn.id,Do.x,Do.y,Do.z),H(re.current.id,0,0,1),re.current.parentId!==e&&M.getState().set(ni=>{const Fo=ni.elements.find(bo=>{var Ro;return bo.id===((Ro=re.current)==null?void 0:Ro.id)&&bo.type===z.SolarPanel});Fo&&(Fo.parentId!==e||Fo.foundationId!==e)&&(Fo.parentId=e,Fo.foundationId=e,Fo.parentType=z.Cuboid,ni.selectedElement&&(ni.selectedElement.parentId=e,Fo.color=ni.selectedElement.color))});else if(M.getState().rotateHandleType&&M.getState().rotateHandleType!==wi.Tilt){const ni=St.current,Fo=new Gt(Ye.current.x,Ye.current.y),bo=new Gt(t.lx*yn.cx,t.ly*yn.cy).rotateAround(wr,ni),Ro=new Gt().addVectors(bo,Fo),oi=-ni+Math.atan2(-Do.x+Ro.x,Do.y-Ro.y)+(M.getState().rotateHandleType===wi.Lower?0:Math.PI),go=Math.abs(oi)>Math.PI?-Math.sign(oi)*na:0,So=oi+go;E(yn.id,So),De.current=So}else if(M.getState().resizeHandleType){const ni=M.getState().resizeAnchor,Fo=L(yn.pvModelName),bo=new Gt(Do.x,Do.y),Ro=new Gt(ni.x,ni.y),oi=bo.distanceTo(Ro),go=yn.relativeAzimuth+St.current,So=new Gt().subVectors(bo,Ro);switch(M.getState().resizeHandleType){case yt.Lower:case yt.Upper:{const Uo=M.getState().resizeHandleType===yt.Lower?1:-1,_i=So.angle()-go+Uo*Vt;let Qo=oi*Math.cos(_i);yn.orientation===ci.portrait?Qo=Math.max(1,Math.ceil((Qo-Fo.length/2)/Fo.length))*Fo.length:Qo=Math.max(1,Math.ceil((Qo-Fo.width/2)/Fo.width))*Fo.width;const ar=ni.x+Uo*(Qo*Math.sin(go))/2,ur=ni.y-Uo*(Qo*Math.cos(go))/2,$o=new Gt(ar,ur),ba=new Gt(Ye.current.x,Ye.current.y),Mo=new Gt().subVectors($o,ba).rotateAround(wr,-St.current),$i=Mo.x/i,Za=Mo.y/r;cn(yn,$i,Za,yn.lx,Qo)&&(T(yn.id,Qo),P(yn.id,$i,Za))}break;case yt.Left:case yt.Right:{let Uo=M.getState().resizeHandleType===yt.Left?-1:1;const _i=So.angle()-go+(M.getState().resizeHandleType===yt.Left?Math.PI:0);let Qo=oi*Math.cos(_i);yn.orientation===ci.portrait?Qo=Math.max(1,Math.ceil((Qo-Fo.width/2)/Fo.width))*Fo.width:Qo=Math.max(1,Math.ceil((Qo-Fo.length/2)/Fo.length))*Fo.length;const ar=ni.x+Uo*(Qo*Math.cos(go))/2,ur=ni.y+Uo*(Qo*Math.sin(go))/2,$o=new Gt(ar,ur),ba=new Gt(Ye.current.x,Ye.current.y),Mo=new Gt().subVectors($o,ba).rotateAround(wr,-St.current),$i=Mo.x/i,Za=Mo.y/r;cn(yn,$i,Za,Qo,yn.ly)&&(w(yn.id,Qo),P(yn.id,$i,Za))}break}}}}},Jt=(Cn,yn,to)=>{const Do=JSON.parse(JSON.stringify(Cn));return Do.cx=yn,Do.cy=to,N(Do)?(Lo(O.t("message.MoveCancelledBecauseOfOverlap",dt)),!1):be.isIdentical(Cn.normal,o0)&&!be.isSolarCollectorWithinHorizontalSurface(Do,t)?(Lo(O.t("message.MoveOutsideBoundaryCancelled",dt)),!1):!0},hn=(Cn,yn)=>{const to=JSON.parse(JSON.stringify(Cn));return to.relativeAzimuth=yn,N(to)?(Lo(O.t("message.RotationCancelledBecauseOfOverlap",dt)),!1):be.isSolarCollectorWithinHorizontalSurface(to,t)?!0:(Lo(O.t("message.RotationOutsideBoundaryCancelled",dt)),!1)},cn=(Cn,yn,to,Do,ni)=>{if(Cn.tiltAngle!==0&&.5*ni*Math.abs(Math.sin(Cn.tiltAngle))>Cn.poleHeight)return!1;const Fo=JSON.parse(JSON.stringify(Cn));return Fo.cx=yn,Fo.cy=to,Fo.lx=Do,Fo.ly=ni,!!be.isSolarCollectorWithinHorizontalSurface(Fo,t)},Sn=()=>{if(!re.current)return;const Cn=C(re.current.id);if(Cn){if(Cn.type===z.Polygon){if(M.getState().moveHandleType||M.getState().resizeHandleType){_e.current=Cn.vertices.map(to=>({...to}));const yn={name:M.getState().moveHandleType?"Move Polygon":"Resize Polygon",timestamp:Date.now(),oldValue:Fe.current,newValue:_e.current,changedElementId:Cn.id,changedElementType:Cn.type,undo:()=>{B(yn.changedElementId,yn.oldValue)},redo:()=>{B(yn.changedElementId,yn.newValue)}};F(yn)}}else if(M.getState().resizeHandleType){if(Ee.current.x=Cn.cx,Ee.current.y=Cn.cy,Ee.current.z=Cn.cz,qe.current.x=Cn.lx,qe.current.y=Cn.ly,qe.current.z=Cn.lz,Ee.current.distanceToSquared(Ce.current)>kt&&qe.current.distanceToSquared(Le.current)>kt){const yn={name:"Resize",timestamp:Date.now(),resizedElementId:re.current.id,resizedElementType:re.current.type,oldCx:Ce.current.x,oldCy:Ce.current.y,oldCz:Ce.current.z,newCx:Ee.current.x,newCy:Ee.current.y,newCz:Ee.current.z,oldLx:Le.current.x,oldLy:Le.current.y,oldLz:Le.current.z,newLx:qe.current.x,newLy:qe.current.y,newLz:qe.current.z,undo:()=>{P(yn.resizedElementId,yn.oldCx,yn.oldCy,yn.oldCz),R(yn.resizedElementId,yn.oldLx,yn.oldLy,yn.oldLz)},redo:()=>{P(yn.resizedElementId,yn.newCx,yn.newCy,yn.newCz),R(yn.resizedElementId,yn.newLx,yn.newLy,yn.newLz)}};F(yn)}}else if(M.getState().rotateHandleType){if(re.current.type===z.SolarPanel){const yn=re.current;if(Math.abs(De.current-We.current)>kt)if(hn(yn,De.current)){y(Do=>{Do.selectedElementAngle=De.current});const to={name:"Rotate",timestamp:Date.now(),oldValue:We.current,newValue:De.current,changedElementId:yn.id,changedElementType:yn.type,undo:()=>{E(to.changedElementId,to.oldValue)},redo:()=>{E(to.changedElementId,to.newValue)}};F(to)}else E(yn.id,We.current)}}else if(Ee.current.x=Cn.cx,Ee.current.y=Cn.cy,Ee.current.z=Cn.cz,Ne.current.fromArray(Cn.normal),Ee.current.distanceToSquared(Ce.current)>kt){let yn=!0;Cn.type===z.SolarPanel&&(yn=Jt(Cn,Cn.cx,Cn.cy)),yn?nf.addUndoableMove():y(to=>{const Do=to.elements.find(Ro=>Ro.id===Cn.id);if(!Do||!to.selectedElement)return;const ni=to.selectedElement;Do.cx=ni.cx,Do.cy=ni.cy,Do.cz=ni.cz,Do.rotation=[...ni.rotation],Do.normal=[...ni.normal];const Fo=gt.getState().oldParentId,bo=gt.getState().oldFoundationId;Fo&&(Do.parentId=Fo),bo&&(Do.foundationId=bo)})}re.current=null}},Pn=Cn=>{Cn.intersections.length>0&&Cn.intersections[0].object===Ae.current&&Pe(!0)},Un=Cn=>{re.current&&be.isPlantOrHuman(re.current)&&Cn.intersections[0].object===Ae.current&&Re(!0)},Ai=()=>{Pe(!1),Re(!1)},vo=Cn=>{D(e,Cn,zo.ContextMenu),y(yn=>{yn.pastePoint.copy(Cn.intersections[0].point);const to=Cn.intersections[0].face;to&&(yn.pasteNormal=to.normal.clone(),be.isSame(to.normal,Np)?yn.selectedSideIndex=0:be.isSame(to.normal,Up)?yn.selectedSideIndex=1:be.isSame(to.normal,Yc)?yn.selectedSideIndex=2:be.isSame(to.normal,Bp)?yn.selectedSideIndex=3:be.isSame(to.normal,Po)&&(yn.selectedSideIndex=4)),yn.clickObjectType=z.Cuboid,Cn.intersections.length>0&&Cn.intersections[0].object===Ae.current&&(yn.contextMenuObjectType=z.Cuboid)})},Oo=J?x?.25:.75:1,li=[0,1,2,3,4,5],po=[j&&oe?oe:vt,j&&fe?fe:tt,j&&Z?Z:Mt,j&&pe?pe:Rt,j&&le?le:ht,null],eo=t&&t.faceColors?li.map(Cn=>f&&f[Cn]!==Co.NoTexture?j?h.jsx("meshBasicMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:x&&J,opacity:Oo},Cn):h.jsx("meshStandardMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:x&&J,opacity:Oo},Cn):j?h.jsx("meshBasicMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:x&&J,opacity:Oo},Cn):h.jsx("meshStandardMaterial",{side:ia,attach:`material-${Cn}`,color:t.faceColors?t.faceColors[Cn]:l,map:po[Cn],transparent:x&&J,opacity:Oo},Cn)):h.jsx("meshStandardMaterial",{side:ia,color:l,transparent:x&&J,opacity:Oo}),uo=m.useMemo(()=>[je,at,ut],[je,at,ut]),qo=g&&!u,[Hi,vi]=m.useState(!1);return h.jsxs("group",{ref:ze,name:"Cuboid Group "+e,children:[h.jsx(Ei,{castShadow:U,receiveShadow:U,userData:{simulation:!0,stand:!0,stackable:p,id:e,aabb:!0},uuid:e,ref:Ae,args:[i,r,a],name:"Cuboid "+e,onContextMenu:vo,onPointerDown:Lt,onPointerMove:Et,onPointerUp:Sn,onPointerOver:Pn,onPointerOut:Ai,onPointerEnter:Un,children:eo}),Hi&&h.jsx(sa,{ref:ot,name:"Intersection Plane",position:wt,args:[i,r],visible:!1,onPointerMove:an}),me&&h.jsxs(h.Fragment,{children:[(M.getState().moveHandleType||M.getState().resizeHandleType)&&h.jsx(mge,{hx:Ie.current.x,hy:Ie.current.y,hz:Ie.current.z,position:we,rotation:Te.current}),M.getState().rotateHandleType&&re.current&&re.current.type===z.SolarPanel&&h.jsx(uye,{element:re.current,height:re.current.poleHeight+ut})]}),g&&h.jsx(dye,{element:t,verticalLift:Tt}),(!g||J)&&h.jsx(s7,{hx:je,hy:at,hz:ut,lineColor:J&&x?"white":s,lineWidth:J&&x?c*5:c}),g&&u&&h.jsx(s7,{hx:je,hy:at,hz:ut,lineColor:l0,lineWidth:c*5}),qo&&h.jsx(NQt,{id:e,args:uo}),(ve||d)&&!g&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:rt,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,fontFace:"Roboto",textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,ut+((t==null?void 0:t.labelHeight)??.2)]})]})},BQt=Se.memo(UQt),Cre="Handle Group Move & Resize",jQt=t=>{const{id:e,parentId:n,cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,normal:c,locked:u,trackerType:d,tiltAngle:f,relativeAzimuth:p,poleHeight:g,poleRadius:y,poleSpacing:A,color:x="white"}=t,C=Hs(e),b=Eqe(c),v=l/2,S=b?g:0,w=Math.max(1,(a+l)/16),T=w*2/3,P=w*2/3,R=-g/2-s/2,H=M(dn),D=M(rge),E=M(En),L=M(Ya),U=M(Xs),{gl:{domElement:F},camera:W,raycaster:B,mouse:k}=Xi(),[N,j]=m.useState(null),[Y,_]=m.useState(!1),J=m.useRef(!1),Q=m.useRef(0),ee=m.useRef(0),$=m.useRef(null),q=m.useRef(null),le=m.useMemo(()=>new Array(13).fill(0),[]),ie=m.useMemo(()=>new Date(L),[L]),pe=m.useMemo(()=>{const Pe=[],me=Math.floor(.5*a/A),Re=Math.floor(.5*l*Math.abs(Math.cos(f))/A),ze=.5*Math.sin(f),Ae=Math.cos(p)*A,re=Math.sin(p)*A;for(let ge=-me;ge<=me;ge++)for(let we=-Re;we<=Re;we++){const ye=ge*Ae-we*re,Te=ge*re+we*Ae;Pe.push(new ae(ye,Te,R+ze*A*we))}return Pe},[p,f,A,a,l,R]),ne=m.useMemo(()=>Aye(c),[c]),Z=m.useMemo(()=>{if(b){if(d===Ma.NO_TRACKER)return new Qt(f,0,p,"ZXY");const Pe=zr(ie,U),me=kqe(n,ne.z)-ne.z;switch(d){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:const Re=Math.hypot(Pe.x,Pe.y);return new Qt(Math.atan2(Re,Pe.z),0,Math.atan2(Pe.y,Pe.x)+Vt-me,"ZXY");case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:return new Qt(0,Math.atan2(Pe.x,Pe.z),-me+(a.1,se=S>0&&b;m.useEffect(()=>{const Pe=()=>{Ln.getState().setEnableOrbitController(!0),J.current=!1,_(!1),(M.getState().rotateHandleType||M.getState().moveHandleType||M.getState().resizeHandleType)&&H(me=>{me.rotateHandleType=null,me.moveHandleType=null,me.resizeHandleType=null})};return window.addEventListener("pointerup",Pe),()=>{window.removeEventListener("pointerup",Pe)}},[]);const oe=(Pe,me)=>{Pe.intersections.length>0&&Pe.intersections[0].object===Pe.eventObject&&(j(me),me===yo.Top?F.style.cursor="move":me===wi.Lower||me===wi.Upper||me===wi.Tilt?F.style.cursor="grab":F.style.cursor="pointer")},de=()=>{j(null),F.style.cursor="default"},ve=Pe=>N===Pe||M.getState().rotateHandleType===Pe?nr:pr;return h.jsxs("group",{name:"Solar Panel Group",position:[o,i,S+r],rotation:ne,children:[h.jsx(YQt,{solarPanelModel:t,groupRotation:ne,panelRotation:Z}),he&&h.jsxs("group",{position:[0,0,-S],rotation:[0,0,Z.z],children:[h.jsx(l7,{id:e,position:[0,-v-T/2,S],color:ve(wi.Upper),ratio:T,handleType:wi.Upper,hoverHandle:oe,noHoverHandle:de}),h.jsx(l7,{id:e,position:[0,v+T/2,S],color:ve(wi.Lower),ratio:T,handleType:wi.Lower,hoverHandle:oe,noHoverHandle:de})]}),fe&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[P,1.1*P,18,2,-Vt,Math.PI],rotation:[0,-Vt,Z.z,"ZXY"],onPointerOver:Pe=>{oe(Pe,wi.Tilt)},onPointerOut:Pe=>{de()},onPointerDown:Pe=>{if(_(!0),N){Ln.getState().setEnableOrbitController(!1),J.current=!0,Q.current=f;const{rot:me}=be.getWorldDataById(n);$.current=me}H(me=>{me.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:N===wi.Tilt||Y?nr:pr})}),Y&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:q,name:"Solar panel tilt handle",args:[P,2*P,18,2,-Vt,Math.PI],rotation:[0,-Vt,Z.z,"ZXY"],onPointerUp:Pe=>{if(Math.abs(ee.current-Q.current)>kt){const me={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Q.current,newValue:ee.current,changedElementId:e,changedElementType:z.SolarPanel,undo:()=>{D(me.changedElementId,me.oldValue)},redo:()=>{D(me.changedElementId,me.newValue)}};E(me)}},onPointerMove:Pe=>{if(J.current&&(B.setFromCamera(k,W),q.current)){const me=B.intersectObjects([q.current]);if(me.length>0){const Re=me[0].point,ze=q.current.parent;if(ze){const Ae=ze.localToWorld(new ae),re=new ae().subVectors(Re,Ae);let ge=re.angleTo(Po);if(!(.5*l*Math.abs(Math.sin(ge))>S)){const ye=p+($.current??0),Te=ye%Math.PI===0?Math.sign(-re.y)*Math.sign(Math.cos(ye)):Math.sign(re.x)*Math.sign(Math.sin(ye));ge*=Te,D(e,ge),ee.current=ge}}}}},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,P],[0,0,1.75*P]],rotation:new Qt(f,0,Z.z,"ZXY"),lineWidth:1}),le.map((Pe,me)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*me-Vt,0,Z.z,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*P],[0,0,2*P]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${me*15-90}°`,fontSize:20*P,fontFace:"Times Roman",textHeight:.15*P,position:[0,0,1.6*P]})]},me)),h.jsx("group",{rotation:new Qt(f,0,Z.z,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(f/Math.PI*180)}°`,fontSize:20*P,fontFace:"Times Roman",textHeight:.2*P,position:[0,0,.75*P]})})]})]}),se&&pe.map((Pe,me)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+me,castShadow:!1,receiveShadow:!1,args:[y,y,g+(Pe.z-R)*2+s,4,1],position:Pe,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:x})},me))]})},YQt=({solarPanelModel:t,groupRotation:e,panelRotation:n})=>{let{id:o,parentId:i,lx:r,ly:a,lz:l,cx:s,cy:c,cz:u,normal:d,tiltAngle:f,relativeAzimuth:p,trackerType:g,drawSunBeam:y,locked:A,showLabel:x,label:C,pvModelName:b,orientation:v,frameColor:S,backsheetColor:w,color:T,poleHeight:P}=t;const R=Hs(o),H=M(dn),D=M(Vc),E=M(Ya),L=M(Xs),U=M(yh),F=M(Sc),W=gt(cs),B=M(C7),k=M(pq),N=M(hu)??!1,j=m.useMemo(()=>({lng:F}),[F]),Y=Eqe(d),_=Y?f:0,J=Y?p:0,Q=Math.max(1,(r+a)/16),ee=I9*Q*1.5,$=Af*Q*2,[q,le,ie]=[r,a,l].map(Ne=>Ne/2),pe=[ee,ee,l*1.2],ne=B[b];ne&&(l=Math.max(ne.thickness,.02));const Z=m.useMemo(()=>new Date(E),[E]),he=m.useMemo(()=>(C||O.t("shared.SolarPanelElement",j))+(A?" ("+O.t("shared.ElementLocked",j)+")":"")+(C?"":` +`+O.t("word.Coordinates",j)+": ("+s.toFixed(1)+", "+c.toFixed(1)+", "+u.toFixed(1)+") "+O.t("word.MeterAbbreviation",j)),[C,A,j,s,c,u]),fe=m.useMemo(()=>{const Ne=[];if(ne){let Le,qe;v===ci.portrait?(Le=Math.max(1,Math.round(r/ne.width)),qe=Math.max(1,Math.round(a/ne.length))):(Le=Math.max(1,Math.round(r/ne.length)),qe=Math.max(1,Math.round(a/ne.width)));const We=r/Le,De=a/qe;for(let Fe=0;Fe<=Le;Fe++)Ne.push({points:[new ae(-q+Fe*We,-le,l),new ae(-q+Fe*We,le,l)]});for(let Fe=0;Fe<=qe;Fe++)Ne.push({points:[new ae(-q,-le+Fe*De,l),new ae(q,-le+Fe*De,l)]})}return Ne},[ne,v,b,r,a,l]),[se,oe]=m.useState(ge()),[de,ve]=m.useState(!1),[Pe,me]=m.useState(null),Re=m.useRef(null),{gl:ze}=Xi(),Ae=iQ(r,a,ne,v,S,w),re=oQ(o);rA(()=>{const Ne=ge();Ne.equals(se)||oe(Ne)});function ge(){const Ne=new Qt,Le=kqe(i,e.z);return g===Ma.NO_TRACKER?Ne.set(-e.x-_,0,-Le-J):Ne.set(-e.x-n.x,-n.y,-Le-n.z),zr(Z,L).applyEuler(Ne)}function we(Ne){return Pe===Ne||U===Ne?nr:pr}function ye(Ne){if(Ne.intersections.length>0&&Ne.eventObject.name.includes(Cre)){const qe=Ne.object.name;me(qe),qe===yo.Top?ze.domElement.style.cursor="move":qe===wi.Lower||qe===wi.Upper||qe===wi.Tilt?ze.domElement.style.cursor="grab":ze.domElement.style.cursor="pointer"}}function Te(){me(null),ze.domElement.style.cursor="default"}function Ie(Ne,Le){Ln.getState().setEnableOrbitController(!1),H(qe=>{qe.resizeHandleType=Ne,qe.resizeAnchor.copy(Le)})}function Ce(Ne){if(Ne.intersections.length>0&&Ne.intersections[0].eventObject.name===Cre){const Le=Ne.object.name;switch(Le){case yo.Default:{Ln.getState().setEnableOrbitController(!1),H(qe=>{qe.moveHandleType=Le,qe.selectedElement=qe.elements.find(We=>{var De;return We.id===((De=qe.selectedElement)==null?void 0:De.id)})});break}case yt.Left:{const qe=Ne.object.localToWorld(new ae(r,0,0));Ie(Le,qe);break}case yt.Right:{const qe=Ne.object.localToWorld(new ae(-r,0,0));Ie(Le,qe);break}case yt.Lower:{const qe=Ne.object.localToWorld(new ae(0,a,0));Ie(Le,qe);break}case yt.Upper:{const qe=Ne.object.localToWorld(new ae(0,-a,0));Ie(Le,qe);break}}}}function Ee(){return W&&re?h.jsx("meshBasicMaterial",{attach:"material-4",map:re}):Ae?N||k===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Ae,color:T}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((ne==null?void 0:ne.color)==="Blue"?Kw:qw),shininess:k??Xm,side:ia,map:Ae,color:T}):h.jsx("meshStandardMaterial",{attach:"material-4",color:T})}function Ue(){return(ne==null?void 0:ne.bifacialityFactor)===0||N||P===0&&f===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:T}):Ae?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((ne==null?void 0:ne.color)==="Blue"?Kw:qw),shininess:k??Xm,side:ia,map:Ae,color:T}):null}return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Solar Panel Box Group",rotation:n,children:[h.jsxs(Ei,{uuid:o,ref:Re,args:[r,a,l],position:[0,0,ie],onPointerDown:Ne=>{Ne.button!==2&&D(o,Ne,zo.Select)},onContextMenu:Ne=>{D(o,Ne,zo.ContextMenu),H(Le=>{Ne.intersections.length>0&&Ne.intersections[0].object===Re.current&&(Le.contextMenuObjectType=z.SolarPanel)})},onPointerOver:Ne=>{Ne.intersections.length>0&&Ne.intersections[0].object===Re.current&&(ve(!0),ze.domElement.style.cursor="move")},onPointerOut:Ne=>{ve(!1),ze.domElement.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-1",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-2",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-3",color:"white"}),Ee(),Ue()]}),R&&!A&&h.jsxs("group",{name:Cre,onPointerDown:Ce,onPointerOver:ye,onPointerOut:Te,children:[h.jsx(ts,{args:[$,6,6],name:yo.Default,children:h.jsx("meshBasicMaterial",{color:"orange"})}),h.jsx(Ei,{position:[0,-le,ie],args:pe,name:yt.Lower,children:h.jsx("meshBasicMaterial",{color:we(yt.Lower)})}),h.jsx(Ei,{position:[0,le,ie],args:pe,name:yt.Upper,children:h.jsx("meshBasicMaterial",{color:we(yt.Upper)})}),h.jsx(Ei,{position:[-q,0,ie],args:pe,name:yt.Left,children:h.jsx("meshBasicMaterial",{color:we(yt.Left)})}),h.jsx(Ei,{position:[q,0,ie],args:pe,name:yt.Right,children:h.jsx("meshBasicMaterial",{color:we(yt.Right)})})]}),y&&se.z>0&&h.jsx(OQt,{sunDirection:se}),W&&re&&fe.map((Ne,Le)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:Ne.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Le)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:o,args:[r,a],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),R&&A&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-le,0],[-q,le,0],[q,le,0],[q,-le,0],[-q,-le,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0})]}),(de||x)&&!R&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:he,color:t.labelColor??"white",fontSize:t.labelFontSize??20,textHeight:t.labelSize??.2,position:[0,0,t.labelHeight??Math.max(le*Math.abs(Math.sin(f))+.1,.2)]})]})},OQt=Se.memo(({sunDirection:t})=>{const e=M(mh),n=m.useMemo(()=>Math.max(100,10*e),[e]);return h.jsxs("group",{name:"Sun Beam Group",children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[Po.clone().multiplyScalar(.75),[0,0,0],t.clone().multiplyScalar(n)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[t.clone().multiplyScalar(.5),Po.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:be.toDegrees(t.angleTo(Po)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:t.clone().multiplyScalar(.75).add(Po.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:Po.clone().multiplyScalar(.75),rotation:[Vt,0,0],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})});function Aye(t){const[e,n,o]=t;return o===1?new Qt(0,0,0):e!==0?new Qt(Vt,0,e*Vt,"ZXY"):n!==0?new Qt(-n*Vt,0,0):new Qt}function Eqe(t){return Math.abs(t[2]-1)<.01}function kqe(t,e){const{rot:n}=be.getWorldDataById(t);return n+e}const _Qt=Se.memo(jQt),Fqe=Se.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r=1,ly:a=1,lz:l=.1,rotation:s=[0,0,0],normal:c=[0,0,1],color:u="white",lineColor:d="black",lineWidth:f=.1,locked:p=!1,label:g,showLabel:y=!1,parentId:A,foundationId:x,light:C=!0,heatFlux:b=!1}=t,v=M(dn),S=M(ss),w=M(Vc),T=Hs(e),{gl:{domElement:P}}=Xi(),[R,H]=m.useState(!1),D=m.useRef(null),E=m.useRef(null),L=Kt(),U=M(_=>{for(const J of _.elements)if(J.id===A)return J}),F=M(_=>{for(const J of _.elements)if(J.id===x)return J});let W=n,B=o,k=i;if(A&&U)switch(U.type){case z.Foundation:{if(k=U.cz+U.lz/2,be.isZero(s[2]))W=U.cx+n*U.lx,B=U.cy+o*U.ly;else{const _=new ae(n*U.lx,o*U.ly,0);_.applyAxisAngle(Po,s[2]),W=U.cx+_.x,B=U.cy+_.y}break}case z.Wall:{if((F==null?void 0:F.type)===z.Foundation){const _=be.absoluteCoordinates(n,o,i,U,F);W=_.x,B=_.y,k=_.z}break}case z.Roof:{if((F==null?void 0:F.type)===z.Foundation){const _=be.absoluteCoordinates(n,o,i,U,F);W=_.x,B=_.y,k=_.z}break}}const N=l/2,j=m.useMemo(()=>{if((U==null?void 0:U.type)===z.Wall){const J=U,Q=F?F.rotation[2]+J.relativeAngle:J.relativeAngle;return new Qt(Vt,0,Q,"ZXY")}if((U==null?void 0:U.type)===z.Roof)return new Qt(s[0],s[1],F?F.rotation[2]+s[2]:s[2],"ZXY");if((U==null?void 0:U.type)===z.Cuboid)return Aye(c);const _=new ae().fromArray(c);return be.isSame(_,Np)?new Qt(0,Vt,s[2],"ZXY"):be.isSame(_,Up)?new Qt(0,-Vt,s[2],"ZXY"):be.isSame(_,Yc)?new Qt(-Vt,0,s[2],"ZXY"):be.isSame(_,Bp)?new Qt(Vt,0,s[2],"ZXY"):new Qt(0,0,s[2])},[c,s,F==null?void 0:F.rotation]),Y=m.useMemo(()=>(g||O.t("shared.SensorElement",L))+(p?" ("+O.t("shared.ElementLocked",L)+")":"")+` `+O.t("word.Coordinates",L)+": ("+W.toFixed(1)+", "+B.toFixed(1)+", "+k.toFixed(1)+") "+O.t("word.MeterAbbreviation",L),[g,p,L,W,B,k]);return h.jsxs("group",{name:"Sensor Group "+e,rotation:j,position:[W,B,k+N],children:[h.jsx(Ei,{receiveShadow:S,uuid:e,ref:D,args:[r,a,l],name:"Sensor",onPointerDown:_=>{_.button!==2&&(w(e,_,zo.Move),Ln.getState().setEnableOrbitController(!1),gt.getState().set(J=>{J.showWallIntersectionPlaneId=A,J.oldParentId=A,J.oldFoundationId=x}),v(J=>{J.moveHandleType=yo.Default}))},onContextMenu:_=>{w(e,_,zo.ContextMenu),v(J=>{_.intersections.length>0&&_.intersections[0].object===D.current&&(J.contextMenuObjectType=z.Sensor)})},onPointerOver:_=>{_.intersections.length>0&&_.intersections[0].object===D.current&&(H(!0),P.style.cursor="move")},onPointerOut:()=>{H(!1),P.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:t!=null&&t.lit?nr:u})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Meter",castShadow:!1,receiveShadow:!1,args:[r*.3,a*.3,N,8,1],position:new ae(0,0,N),rotation:[Vt,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:"black"})}),!T&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:d,lineWidth:f}),T&&p&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:l0,lineWidth:f*10}),T&&!p&&h.jsx(ts,{ref:E,position:new ae(0,0,0),args:[Af,6,6,0,Math.PI],name:yo.Default,onPointerDown:_=>{_.button===2?(w(e,_,zo.ContextMenu),v(J=>{_.intersections.length>0&&_.intersections[0].object===E.current&&(J.contextMenuObjectType=z.Sensor)})):w(e,_,zo.Move),Ln.getState().setEnableOrbitController(!1),gt.getState().set(J=>{J.showWallIntersectionPlaneId=A,J.oldParentId=A,J.oldFoundationId=x}),v(J=>{J.moveHandleType=yo.Default})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),(R||y)&&!T&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Y,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,l+((t==null?void 0:t.labelHeight)??.2)]})]})}),Lqe=Se.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r=1,ly:a=1,lz:l=.1,rotation:s=[0,0,0],normal:c=[0,0,1],color:u="#ffff99",lineWidth:d=.1,locked:f=!1,label:p,showLabel:g=!1,parentId:y,foundationId:A,decay:x=2,distance:C=5,intensity:b=3,inside:v=!1}=t,S=M(dn),w=M(ss),T=M(Vc),R=M(M7).z<=0,H=Hs(e),{gl:{domElement:D}}=Xi(),[E,L]=m.useState(!1),U=m.useRef(null),F=m.useRef(null),W=Kt(),B=M($=>{for(const q of $.elements)if(q.id===y)return q}),k=M($=>{for(const q of $.elements)if(q.id===A)return q});let N=.1,j=n,Y=o,_=i;if(y&&B)switch(B.type){case z.Foundation:if(_=B.cz+B.lz/2,be.isZero(s[2]))j=B.cx+n*B.lx,Y=B.cy+o*B.ly;else{const $=new ae(n*B.lx,o*B.ly,0);$.applyAxisAngle(Po,s[2]),j=B.cx+$.x,Y=B.cy+$.y}break;case z.Wall:if((k==null?void 0:k.type)===z.Foundation){const $=be.absoluteCoordinates(n,o,i,B,k);j=$.x,Y=$.y,_=$.z}N=B.ly;break;case z.Roof:if((k==null?void 0:k.type)===z.Foundation){const $=be.absoluteCoordinates(n,o,i,B,k);j=$.x,Y=$.y,_=$.z}N=B.thickness;break}const J=l/2,Q=m.useMemo(()=>{if((B==null?void 0:B.type)===z.Wall){const q=B,le=k?k.rotation[2]+q.relativeAngle:q.relativeAngle;return new Qt(Vt,0,le,"ZXY")}if((B==null?void 0:B.type)===z.Roof)return new Qt(s[0],s[1],k?k.rotation[2]+s[2]:s[2],"ZXY");if((B==null?void 0:B.type)===z.Cuboid)return Aye(c);const $=new ae().fromArray(c);return be.isSame($,Np)?new Qt(0,Vt,s[2],"ZXY"):be.isSame($,Up)?new Qt(0,-Vt,s[2],"ZXY"):be.isSame($,Yc)?new Qt(-Vt,0,s[2],"ZXY"):be.isSame($,Bp)?new Qt(Vt,0,s[2],"ZXY"):new Qt(0,0,s[2])},[c,s,k,B]),ee=m.useMemo(()=>(p||O.t("shared.LightElement",W))+(f?" ("+O.t("shared.ElementLocked",W)+")":"")+` -`+O.t("word.Coordinates",W)+": ("+j.toFixed(1)+", "+Y.toFixed(1)+", "+_.toFixed(1)+") "+O.t("word.MeterAbbreviation",W),[p,f,W,j,Y,_]);return h.jsxs("group",{name:"Light Group "+e,rotation:Q,position:[j,Y,_],children:[R&&h.jsx("pointLight",{color:u,name:"Point Light "+e,position:[0,0,v?-N-J:J],decay:x*.2,distance:C,intensity:b,castShadow:!0}),h.jsx(wa,{receiveShadow:w,userData:{unintersectable:!0},uuid:e,ref:U,position:[0,0,v?-N:0],rotation:[Vt,0,0],args:[r*.5,a*.5,J,16,1],name:"Light Base",onPointerDown:$=>{$.button!==2&&(T(e,$,zo.Move),Ln.getState().setEnableOrbitController(!1),gt.getState().set(q=>{q.showWallIntersectionPlaneId=y,q.oldParentId=y,q.oldFoundationId=A}))},onContextMenu:$=>{T(e,$,zo.ContextMenu),S(q=>{$.intersections.length>0&&$.intersections[0].object===U.current&&(q.contextMenuObjectType=z.Light)})},onPointerOver:$=>{$.intersections.length>0&&$.intersections[0].object===U.current&&(L(!0),D.style.cursor="move")},onPointerOut:()=>{L(!1),D.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:"lightgray"})}),h.jsx(ts,{userData:{unintersectable:!0},name:"Light Bulb",castShadow:!1,receiveShadow:w,args:[r*.3,8,8,0,na,0,Math.PI],position:new ae(0,0,v?-N-J:J),rotation:[Vt,0,0],children:R?h.jsx("meshBasicMaterial",{attach:"material",color:"white"}):h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),H&&f&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:l0,lineWidth:d*10}),H&&!f&&h.jsx(ts,{ref:F,position:new ae(0,0,v?-N-J:J),args:[Af,6,6,v?Math.PI:0,Math.PI],name:yo.Default,onPointerDown:$=>{$.button===2?(T(e,$,zo.ContextMenu),S(q=>{$.intersections.length>0&&$.intersections[0].object===F.current&&(q.contextMenuObjectType=z.Light)})):T(e,$,zo.Move),Ln.getState().setEnableOrbitController(!1),gt.getState().set(q=>{q.showWallIntersectionPlaneId=y,q.oldParentId=y,q.oldFoundationId=A})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),(E||g)&&!H&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:ee,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(v?-N:0)+l+((t==null?void 0:t.labelHeight)??.2)]})]})}),Wqe="Cuboid Wrapper",Nqe="Cuboid Stackable Child",Uqe=({elements:t,cuboidModel:e})=>{const{cx:n,cy:o,lz:i,rotation:r}=e,a=i/2,l=s=>Dqe(s)&&s.parentId===e.id;return h.jsx(h.Fragment,{children:h.jsxs("group",{name:Wqe,position:[n,o,a],rotation:[0,0,r[2]],children:[h.jsx(YQt,{...e}),t.map(s=>{if(l(s))return h.jsx("group",{name:Nqe,position:[0,0,a],children:h.jsx(Uqe,{elements:t,cuboidModel:s})},s.id);if(s.parentId===e.id){const{lx:c,ly:u,lz:d}=e;switch(s.type){case z.SolarPanel:return h.jsx(GQt,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);case z.Sensor:return h.jsx(Fqe,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);case z.Light:return h.jsx(Lqe,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);default:return null}}else return null})]})})},di=class di{static calculateProfit(e){return(e.yearlyYield*e.sellingPrice-e.panelCount*e.unitCost*365)*.001}static calculateCost(e){return e.panelCount*e.unitCost*.365}static getLatLngKey(e,n){return e.toFixed(sw)+", "+n.toFixed(sw)}static getModelKey(e){return e.title+", "+e.userid}static resizeCanvas(e,n,o){const i=document.createElement("canvas");i.width=n,i.height=o||n*e.height/e.width;const r=i.getContext("2d");return r&&r.drawImage(e,0,0,e.width,e.height,0,0,i.width,i.height),i}static getEuler(e,n,o,i,r,a){const l=new Ts;l.setFromUnitVectors(e,n);const s=new Qt;return s.setFromQuaternion(l),o&&(s.order=o),i&&(s.x+=i),r&&(s.y+=r),a&&(s.z+=a),s}static zero2DArray(e){for(let n=0;n0){for(const r of i)if(!r.leftJoints||r.leftJoints.length===0||!r.rightJoints||r.rightJoints.length===0)return Uc.WALL_DISJOINED}return Uc.COMPLETE}static calculateBuildingArea(e){const n=di.getWallPointsOfRoof(e);return di.getPolygonArea(n)}static toUValueInUS(e){return e/5.67826}static toUValueInSI(e){return e*5.67826}static toRValueInUS(e){return e*5.67826}static toRValueInSI(e){return e/5.67826}static fetchWaterTexture(e,n){const o=document.createElement("canvas");o.width=e,o.height=n;const i=o.getContext("2d");if(i){const r=i.createRadialGradient(e/2,n/2,0,e/2,n/2,Math.max(e,n)/2);r.addColorStop(0,"#45AAEA"),r.addColorStop(.04,"#2B65EC"),r.addColorStop(.2,"#0000FF"),i.fillStyle=r,i.fillRect(0,0,e,n)}return new BP(o)}static fetchWhiteTexture(e,n){const o=document.createElement("canvas");o.width=e,o.height=n;const i=o.getContext("2d");return i&&(i.fillStyle="white",i.fillRect(0,0,e,n)),new BP(o)}static fetchIntersectables(e){const n=[];return e.traverse(o=>{o.userData.unintersectable||n.push(o)}),n}static fetchSimulationElements(e,n){if(e.userData.simulation&&n.push(e),e.children.length>0)for(const o of e.children)di.fetchSimulationElements(o,n)}static getSimulationElements(e,n,o){if(e.userData.simulation&&e.uuid!==o&&n.push(e),e.children.length>0)for(const i of e.children)di.getSimulationElements(i,n,o)}static hasMovingParts(e){for(const n of e)switch(n.type){case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:return!0;case z.SolarPanel:if(n.trackerType!==Ma.NO_TRACKER)return!0}return!1}static onBuildingEnvelope(e){return e.type===z.Foundation||e.type===z.Window||e.type===z.Door||e.type===z.Wall||e.type===z.Roof}static getWindowArea(e,n){if(n){if(e.windowType===Sr.Arched&&e.archHeight>0){const o=.5*e.lx*n.lx,i=e.lz*n.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}else if(e.windowType===Sr.Polygonal&&e.polygonTop){let o=e.lx*e.lz*n.lx*n.lz;return o+=e.lx*n.lx*e.polygonTop[1]/2,o}return e.lx*e.lz*n.lx*n.lz}else{if(e.windowType===Sr.Arched&&e.archHeight>0){const o=.5*e.lx,i=e.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}else if(e.windowType===Sr.Polygonal&&e.polygonTop){let o=e.lx*e.lz;return o+=e.lx*e.polygonTop[1]/2,o}return e.lx*e.lz}}static getDoorArea(e,n){if(n){if(e.doorType===bd.Arched&&e.archHeight>0){const o=.5*e.lx*n.lx,i=e.lz*n.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}return e.lx*e.lz*n.lx*n.lz}else{if(e.doorType===bd.Arched&&e.archHeight>0){const o=.5*e.lx,i=e.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}return e.lx*e.lz}}static hasHeliostatOrFresnelReflectors(e){for(const n of e)if(n.type===z.FresnelReflector||n.type===z.Heliostat)return!0;return!1}static lineIntersection(e,n,o,i){const r=n.x-e.x,a=n.y-e.y,l=r*(i.y-o.y)-(i.x-o.x)*a;if(l===0)return;const s=((i.y-o.y)*(i.x-e.x)+(o.x-i.x)*(i.y-e.y))/l,c=((e.y-n.y)*(i.x-e.x)+r*(i.y-e.y))/l;if(!(!(0<=s&&s<=1)||!(0<=c&&c<=1)))return{x:e.x+s*r,y:e.y+s*a}}static calculateSolarRadiationColor(e,n){const o=n/(gz.length-1);let i=Math.max(0,Math.floor(e/o));i>gz.length-2&&(i=gz.length-2);const r=Math.min(1,(e-o*i)/o);return new Xo(gz[i]).lerp(gz[i+1],r)}static transpose(e){return e[0].map((n,o)=>e.map(i=>i[o]))}static clone2DArray(e){return e.map(n=>[...n])}static fetchHeatmapTexture(e,n,o){if(!e)return null;const i=document.createElement("canvas"),r=e.length,a=e[0].length;i.width=r,i.height=a;const l=i.getContext("2d");if(l){l.clearRect(0,0,r,a);const s=l.getImageData(0,0,r,a),c=s.data;for(let u=0;un!=u>n&&e<(c-l)*(n-s)/(u-s)+l&&(i=!i)}return i}static getPoints(e){const n=[];for(const o of e)n.push({x:o.x,y:o.y});return n}static polygonIntersections(e,n,o){const i=new Array;let r,a,l;for(let s=0;s0&&(n>l.x&&(n=l.x),i>l.y&&(i=l.y),o=o||Math.abs(a)>=i)return!1;const l=e.rightPoint[0],s=e.rightPoint[1];return!(Math.abs(l)>=o||Math.abs(s)>=i)}static isSensorWithin(e,n){return Math.abs(e.cx)<.5-e.lx/n.lx&&Math.abs(e.cy)<.5-e.ly/n.ly}static isSolarCollectorWithinHorizontalSurface(e,n){const o=e.cx*n.lx,i=e.cy*n.ly,r=Math.cos(e.relativeAzimuth),a=Math.sin(e.relativeAzimuth),l=n.lx*.5,s=n.ly*.5,c=e.lx*.5,u=e.ly*.5*Math.cos(e.tiltAngle);let d=o+c*r-u*a,f=i+c*a+u*r;return!(Math.abs(d)>l||Math.abs(f)>s||(d=o+c*r+u*a,f=i+c*a-u*r,Math.abs(d)>l||Math.abs(f)>s)||(d=o-c*r-u*a,f=i-c*a+u*r,Math.abs(d)>l||Math.abs(f)>s)||(d=o-c*r+u*a,f=i-c*a-u*r,Math.abs(d)>l||Math.abs(f)>s))}static isWindTurbineWithinHorizontalSurface(e,n){return Math.abs(e.cx)<=.5&&Math.abs(e.cy)<=.5}static isUnitVectorX(e){return di.isSame(e,Np)||di.isSame(e,Up)}static isUnitVectorY(e){return di.isSame(e,Yc)||di.isSame(e,Bp)}static isSame(e,n){return Math.abs(e.x-n.x)kt)return!1;return!0}static isZero(e){return Math.abs(e)-1&&e.splice(o,1)}static fixElements(e){const n=[];for(const o of e)o.type||n.push(o);if(n.length>0)for(const o of n)di.deleteElement(e,o)}static fixViewStateLight(e){e.ambientLightIntensity&&(e.ambientLightIntensity*=2),e.directLightIntensity&&(e.directLightIntensity*=3.5)}static isResizingVertical(e){switch(e){case yt.LowerLeftTop:case yt.UpperLeftTop:case yt.LowerRightTop:case yt.UpperRightTop:return!0;default:return!1}}static isTopResizeHandle(e){return e===yt.LowerLeftTop||e===yt.LowerRightTop||e===yt.UpperLeftTop||e===yt.UpperRightTop||e===yt.Top}static isXResizeHandle(e){return e===yt.Left||e===yt.Right}static isYResizeHandle(e){return e===yt.Upper||e===yt.Lower}static isTopResizeHandleOfWall(e){return e===yt.UpperLeft||e===yt.UpperRight}static isRiseHandleOfRoof(e){return e===ki.Top||e===ki.Mid||e===ki.TopMid}static isMoveHandle(e){return e===yo.Default||e===yo.Top||e===yo.Upper||e===yo.Lower||e===yo.Left||e===yo.Right}static snapToNormalGrid(e){const n=Math.round(e.x/g6)*g6,o=Math.round(e.y/g6)*g6;return new ae(n,o,e.z)}static snapToFineGrid(e){const n=Math.round(e.x/l9)*l9,o=Math.round(e.y/l9)*l9;return new ae(n,o,e.z)}static isPositionRelative(e){return e===z.SolarPanel||e===z.ParabolicTrough||e===z.ParabolicDish||e===z.FresnelReflector||e===z.Heliostat||e===z.WindTurbine||e===z.WaterHeater||e===z.Sensor||e===z.Light||e===z.Polygon||e===z.Window||e===z.Door||e===z.Roof||e===z.Wall}static isPlantOrHuman(e){return e.type===z.Tree||e.type===z.Flower||e.type===z.Human}static isFoundationOrCuboid(e){return e.type===z.Foundation||e.type===z.Cuboid}static isSolarCollector(e){return di.isSolarCollectorType(e.type)}static isSolarCollectorType(e){return e===z.SolarPanel||e===z.WaterHeater||di.isCspCollectorType(e)}static isCspCollector(e){return di.isCspCollectorType(e.type)}static isCspCollectorType(e){return e===z.ParabolicDish||e===z.ParabolicTrough||e===z.FresnelReflector||e===z.Heliostat}static isParabolicCollector(e){return di.isParabolaType(e.type)}static isParabolaType(e){return e===z.ParabolicDish||e===z.ParabolicTrough}static isParabolicTroughOrFresnelReflector(e){return e===z.FresnelReflector||e===z.ParabolicTrough}static isHeliostatOrFresnelReflector(e){return e===z.FresnelReflector||e===z.Heliostat}static isLegalOnWall(e){switch(e){case z.Window:case z.Door:case z.Sensor:case z.Light:case z.SolarPanel:case z.Polygon:return!0}return!1}static isDescendantOf(e,n){const o=e.parentId;if(!o||o===Zo)return!1;const i=M.getState().getElementById(o);return i?i.id===n?!0:di.isDescendantOf(i,n):!1}static isElementInsideWall(e,n,o,i,r){const a=n/2,l=o/2;for(let c=-1;c<=1;c+=2)for(let u=-1;u<=1;u+=2){if(r&&u===-1)continue;const d=e.x+a*c,f=e.z+l*u;if(!di.isPointInside(d,f,i))return!1}const s=[{x:e.x-a,y:e.z-l},{x:e.x-a,y:e.z+l},{x:e.x+a,y:e.z+l},{x:e.x+a,y:e.z-l}];for(const c of i)if(di.isPointInside(c.x,c.y,s))return!1;return!0}static checkElementOnWallState(e,n){let i=e.lx/2+1e-5,r=e.lz/2+1e-5;n&&e.type===z.SolarPanel&&(i=i/n.lx+1e-5,r=e.ly/2/n.lz+1e-5);const a=e.cx-i,l=e.cx+i,s=e.cz-r,c=e.cz+r;if(n&&n.type===z.Wall&&!di.isElementInsideWall(new ae(e.cx*n.lx,e.cy,e.cz*n.lz),n.lx*i*2,n.lz*r*2,di.getWallInnerSideShapePoints(n),e.type===z.Door))return fc.OutsideBoundary;for(const u of M.getState().elements)if(di.isLegalOnWall(u.type)&&u.type!==z.Polygon&&u.parentId===e.parentId&&u.id!==e.id){let d=u.lx/2,f=u.lz/2;n&&u.type===z.SolarPanel&&(d=d/n.lx,f=u.ly/2/n.lz);const p=u.cx-d,g=u.cx+d,y=u.cz-f,A=u.cz+f;if((a>=p&&a<=g||l>=p&&l<=g||p>=a&&p<=l||g>=a&&g<=l)&&(s>=y&&s<=A||c>=y&&c<=A||y>=s&&y<=c||A>=s&&A<=c))return fc.OverLap}return fc.Valid}static checkElementOnRoofState(e,n){if(e.foundationId){const o=M.getState().getElementById(e.foundationId);if(o){const i=In.getSolarPanelVerticesOnRoof(e,o),r=In.getRoofBoundaryVertices(n);return In.rooftopElementBoundaryCheck(i,r)?In.rooftopSPCollisionCheck(e,o,i)?fc.Valid:fc.OverLap:fc.OutsideBoundary}}return fc.Invalid}static relativeCoordinates(e,n,o,i){const r=new ae(e,n,o);if(i.type===z.Wall){const a=new ae(i.cx,i.cy),l=M.getState().getParent(i);if(l){const s=new ae(l.cx,l.cy);a.applyEuler(new Qt(0,0,l.rotation[2])).add(s).setZ(l.lz+i.lz/2),r.sub(a).applyEuler(new Qt(0,0,-i.relativeAngle-l.rotation[2]))}}else{const{pos:a,rot:l}=di.getWorldDataById(i.id);r.set(e-a.x,n-a.y,o-a.z),r.applyEuler(new Qt(0,0,-l))}return r.x/=i.lx,r.y/=i.ly,r.z/=i.lz,r}static absoluteCoordinates(e,n,o,i,r,a){if(i.type===z.Wall&&r){const s=i,c=r?r.rotation[2]+s.relativeAngle:s.relativeAngle;if(c!==void 0){const u=di.wallAbsolutePosition(new ae(s.cx,s.cy,s.cz),r).setZ(s.lz/2+r.lz),d=new ae(e*s.lx,n*s.ly,o*s.lz);if(d.applyAxisAngle(Po,c),a){const f=a*Math.cos(c-Vt),p=a*Math.sin(c-Vt);return new ae(u.x+d.x+f,u.y+d.y+p,u.z+d.z)}return new ae(u.x+d.x,u.y+d.y,u.z+d.z)}}if(i.type===z.Roof&&r){const s=new ae(e*r.lx,n*r.ly,o+r.lz);return s.applyEuler(new Qt().fromArray(r.rotation)),s.x+=r.cx,s.y+=r.cy,s}const l=new ae(e*i.lx,n*i.ly,o*i.lz);return l.applyEuler(new Qt().fromArray(i.rotation)),l.x+=i.cx,l.y+=i.cy,l.z+=i.cz,l}static absoluteHumanOrTreeCoordinates(e,n,o,i){const r=new ae(e,n,o);return r.applyEuler(new Qt().fromArray(i.rotation)),r.x+=i.cx,r.y+=i.cy,r.z+=i.cz,r}static relativePoint(e,n){const o=new ae(e.x-n.cx,e.y-n.cy,e.z-n.cz);return o.applyEuler(new Qt().fromArray(n.rotation.map(i=>-i))),o}static wallAbsolutePosition(e,n){const o=new ae(n.cx,n.cy);return new ae().addVectors(o,new ae(e.x,e.y).applyAxisAngle(Po,n.rotation[2]))}static wallRelativePosition(e,n){const o=new ae(n.cx,n.cy);return new ae().subVectors(new ae(e.x,e.y),o).applyAxisAngle(Po,-n.rotation[2])}static getObjectChildById(e,n){if(e){for(const o of e.children)if(o.name===Wqe){const i=di.getStackCuboidObjectById(o,n);if(i)return i}else if(o.name.includes(n))return o}return null}static getStackCuboidObjectById(e,n){if(e)for(const o of e.children){if(o.name.includes(n))return o;if(o.name===Nqe){const i=di.getStackCuboidObjectById(o.children[0],n);if(i)return i}}return null}static toRadians(e){return e*(Math.PI/180)}static toDegrees(e){return e*(180/Math.PI)}static getArrayMax(e){return e.reduce((n,o)=>Math.max(n,o))}static getArrayMin(e){return e.reduce((n,o)=>Math.min(n,o))}static getArrayMax2D(e){return di.getArrayMax(e.map(di.getArrayMax))}static getArrayMin2D(e){return di.getArrayMin(e.map(di.getArrayMin))}static sphericalToCartesianZ(e){let n=e.x*Math.cos(e.z),o=n*Math.cos(e.y),i=n*Math.sin(e.y),r=e.x*Math.sin(e.z);return e.set(o,i,r),e}static getDistance(e,n,o,i){return e=di.toRadians(e),n=di.toRadians(n),o=di.toRadians(o),i=di.toRadians(i),Math.acos(Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos(Math.abs(e-o)))}static minutesIntoDay(e){return e.getHours()*60+e.getMinutes()}static dayOfYear(e){return(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())-Date.UTC(e.getFullYear(),0,0))/864e5}static daysInYear(e){const n=e.getFullYear();return n%4===0&&n%100>0||n%400===0?366:365}static daysOfMonth(e,n){return new Date(n,e+1,0).getDate()}static fahrenheitToCelsius(e){return(e-32)*5/9}static celsiusToFahrenheit(e){return e*(9/5)+32}static getOS(){var e;return(e=XNe.os)==null?void 0:e.family}static isMac(){const e=di.getOS();return e?e.includes("Mac")||e.includes("OS X"):!1}static isChrome(){const e=di.getOS();return e?e.includes("Chrome"):!1}static detectWebGLContext(){try{const e=document.createElement("canvas");return!!window.WebGLRenderingContext&&(!!e.getContext("webgl")||!!e.getContext("experimental-webgl"))}catch{return!1}}static clamp(e,n,o){return n>o?(n+o)/2:Math.min(Math.max(e,n),o)}static distanceFromPointToLine2D(e,n,o){const[i,r]=[e.x,e.y],[a,l]=[n.x,n.y],[s,c]=[o.x,o.y],u=i-a,d=r-l,f=s-a,p=c-l,g=u*f+d*p,y=f*f+p*p;let A=-1;y!==0&&(A=g/y);let x,C;A<0?(x=a,C=l):A>1?(x=s,C=c):(x=a+A*f,C=l+A*p);const b=i-x,v=r-C;return Math.sqrt(b*b+v*v)}static mapVector3ToPoint2(e){return{x:e.x,y:e.y}}static getWallVertices(e,n){const o=e.lx/2,i=e.lz/2,r={x:-o-n,y:-i-n},a={x:o+n,y:-i-n},l={x:-o-n,y:(e.leftRoofHeight??e.lz)-i+n},s={x:o+n,y:(e.rightRoofHeight??e.lz)-i+n},c=[];return c.push(l,r,a,s),e.centerRightRoofHeight&&c.push({x:e.centerRightRoofHeight[0]*e.lx,y:e.centerRightRoofHeight[1]-i+n}),e.centerRoofHeight&&c.push({x:e.centerRoofHeight[0]*e.lx,y:e.centerRoofHeight[1]-i+n}),e.centerLeftRoofHeight&&c.push({x:e.centerLeftRoofHeight[0]*e.lx,y:e.centerLeftRoofHeight[1]-i+n}),c}static isPartialWallFull(e){return di.isZero((e.leftRoofHeight??e.lz)-e.leftTopPartialHeight)&&di.isZero((e.rightRoofHeight??e.lz)-e.rightTopPartialHeight)&&di.isZero(e.leftUnfilledHeight)&&di.isZero(e.rightUnfilledHeight)}static getPartialWallVertices(e,n){if(di.isPartialWallFull(e))return di.getWallVertices(e,n);const o=e.lx/2,i=e.lz/2,r={x:-o-n,y:e.leftUnfilledHeight-i-n},a={x:o+n,y:e.rightUnfilledHeight-i-n},l={x:-o-n,y:e.leftTopPartialHeight-i+n},s={x:o+n,y:e.rightTopPartialHeight-i+n},c=[];return c.push(l,r,a,s),e.centerRightRoofHeight&&c.push({x:e.centerRightRoofHeight[0]*e.lx,y:e.centerRightRoofHeight[1]-i+n}),e.centerRoofHeight&&c.push({x:e.centerRoofHeight[0]*e.lx,y:e.centerRoofHeight[1]-i+n}),e.centerLeftRoofHeight&&c.push({x:e.centerLeftRoofHeight[0]*e.lx,y:e.centerLeftRoofHeight[1]-i+n}),c}static getHighestPointOfWall(e){let n=e.lz;return e.leftRoofHeight&&(n=Math.max(n,e.leftRoofHeight)),e.rightRoofHeight&&(n=Math.max(n,e.rightRoofHeight)),e.centerRightRoofHeight&&(n=Math.max(n,e.centerRightRoofHeight[1])),e.centerRoofHeight&&(n=Math.max(n,e.centerRoofHeight[1])),e.centerLeftRoofHeight&&(n=Math.max(n,e.centerLeftRoofHeight[1])),n}static getWallPointsOfRoof(e,n){let o=n??M.getState().getElementById(e.wallsId[0]);if(!o)return[];const i=o,r=[];for(;o&&(!o.roofId||o.roofId===e.id)&&(r.push({x:o.leftPoint[0],y:o.leftPoint[1],eave:o.eavesLength??0}),o.leftJoints[0]);)if(o.leftJoints[0]!==i.id)o=M.getState().getElementById(o.leftJoints[0]);else return r.reverse(),r;for(r.reverse(),o=M.getState().getElementById(i==null?void 0:i.rightJoints[0]);o&&(!o.roofId||o.roofId===e.id)&&(r.push({x:o.leftPoint[0],y:o.leftPoint[1],eave:o.eavesLength??0}),o.rightJoints[0]&&o.rightJoints[0]!==i.id);)o=M.getState().getElementById(o.rightJoints[0]);return r}static getWallInnerSideShapePoints(e){const{lx:n,ly:o,lz:i,relativeAngle:r,fill:a,leftUnfilledHeight:l,rightUnfilledHeight:s,leftRoofHeight:c,centerLeftRoofHeight:u,centerRoofHeight:d,centerRightRoofHeight:f,rightRoofHeight:p,leftJoints:g,rightJoints:y}=e,A=g.length>0?M.getState().getElementById(g[0]):null,x=y.length>0?M.getState().getElementById(y[0]):null,C=A&&A.type===z.Wall?di.getInnerWallOffset(A,n,o,r,"left"):0,b=x&&x.type===z.Wall?di.getInnerWallOffset(x,n,o,r,"right"):0,v=[],S=n/2,w=i/2;return a===Hl.Partial?(v.push({x:-S+C,y:-w+l}),v.push({x:S-b,y:-w+s})):(v.push({x:-S+C,y:-w}),v.push({x:S-b,y:-w})),p?v.push({x:S-b,y:p-w}):v.push({x:S-b,y:w}),f&&v.push({x:f[0]*n,y:f[1]-w}),d&&v.push({x:d[0]*n,y:d[1]-w}),u&&v.push({x:u[0]*n,y:u[1]-w}),c?v.push({x:-S+C,y:c-w}):v.push({x:-S+C,y:w}),v}static getInnerWallOffset(e,n,o,i,r){let a=0;if(e&&e.fill!==Hl.Empty){const l=r==="left"?-1:1,s=(Math.PI*3+l*(i-e.relativeAngle))%na;s<=Vt+.01&&s>0&&(a=Math.min(o/Math.tan(s)+e.ly,n))}return a}static isElementAllowedMultipleMoveOnGround(e){return e.type===z.Foundation||e.type===z.Cuboid&&e.parentId===Zo}static compareVersion(e,n){if(!e)return!0;const[o,i,r]=e.split(".").map(c=>Number(c)),[a,l,s]=n.split(".").map(c=>Number(c));return oa?!1:il?!1:r{const n=M.getState().getElementById,o=[],i=e;for(;e&&(o.push(e),e.leftJoints[0]);)if(e.leftJoints[0]!==i.id){const a=n(e.leftJoints[0]);a&&a.type===z.Wall&&(e=a)}else return o;const r=n(i.rightJoints[0]);for(r&&r.type===z.Wall&&(e=r);e&&(o.push(e),e.rightJoints[0]&&e.rightJoints[0]!==i.id);){const a=n(e.rightJoints[0]);a&&(e=a)}return o},di.getWorldDataById=e=>{const n=M.getState().getElementById(e);if(!n)return{pos:new ae,rot:0,topZ:0};const o=new ae(n.cx,n.cy,n.cz),i=n.rotation[2],r=n.lz;if(n.parentId===Zo)return{pos:o,rot:i,topZ:r};const{pos:a,rot:l,topZ:s}=di.getWorldDataById(n.parentId),c=new Qt(0,0,l);return{pos:new ae().addVectors(o.applyEuler(c),a.clone().setZ(s)),rot:i+l,topZ:r+s}},di.isChild=(e,n,o=!1)=>{const i=M.getState().getElementById(n);return!i||o&&i.locked?!1:i.parentId===e?!0:di.isChild(e,i.parentId,o)},di.getBaseId=e=>{const n=M.getState().getElementById(e);return n?n.parentId===Zo?n.id:di.getBaseId(n.parentId):null},di.isElementTriggerAutoDeletion=e=>{if(e.type===z.Roof){const i=e;if(i.roofType===Vo.Gable||i.roofType===Vo.Gambrel)return!0}if(e.type!==z.Wall)return!1;const n=e;if(!n.roofId)return!1;const o=M.getState().getElementById(n.roofId);if(!o)return!1;switch(o.roofType){case Vo.Hip:case Vo.Gable:case Vo.Gambrel:return!0;case Vo.Pyramid:case Vo.Mansard:return o.wallsId.length===0?!1:o.wallsId[0]===n.id;default:return!1}};let be=di;var cSe;class uSe{constructor(){this[cSe]=!0,this.latitude=42.2844063,this.longitude=-71.3488548,this.address=qV,this.countryCode="US",this.date=new Date(new Date().getFullYear(),5,22,12).toLocaleString("en-US"),this.name="default",this.ground={albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:new Array(12).fill(0)},this.leafDayOfYear1=sq,this.leafDayOfYear2=cq,this.airAttenuationCoefficient=.01,this.airConvectiveCoefficient=5,this.timesPerHour=1,this.daysPerYear=12,this.monthlyIrradianceLosses=new Array(12).fill(.05),this.pvGridCellSize=.5,this.discretization=Rm.APPROXIMATE,this.diurnalTemperatureModel=u2.Sinusoidal,this.highestTemperatureTimeInMinutes=900,this.solarPanelVisibilityGridCellSize=.2,this.solarRadiationHeatmapGridCellSize=.5,this.cspTimesPerHour=1,this.cspDaysPerYear=4,this.cspGridCellSize=.5,this.sutTimesPerHour=1,this.sutDaysPerYear=4,this.sutGridCellSize=1,this.noAnimationForHeatmapSimulation=!1,this.noAnimationForThermalSimulation=!1,this.noAnimationForSensorDataCollection=!1,this.noAnimationForSolarPanelSimulation=!1,this.noAnimationForSolarUpdraftTowerSimulation=!1}static resetWorldModel(e){e.latitude=42.2844063,e.longitude=-71.3488548,e.address=qV,e.countryCode="US",e.date=new Date(new Date().getFullYear(),5,22,12).toLocaleString("en-US"),e.name="default",e.ground.albedo=.3,e.ground.thermalDiffusivity=.05,e.ground.snowReflectionFactors.fill(0),e.airAttenuationCoefficient=.01,e.airConvectiveCoefficient=5,e.timesPerHour=1,e.daysPerYear=12,e.monthlyIrradianceLosses=new Array(12).fill(.05),e.pvGridCellSize=.5,e.discretization=Rm.APPROXIMATE,e.diurnalTemperatureModel=u2.Sinusoidal,e.highestTemperatureTimeInMinutes=900,e.solarPanelVisibilityGridCellSize=.2,e.solarRadiationHeatmapGridCellSize=.5,e.cspTimesPerHour=1,e.cspDaysPerYear=4,e.cspGridCellSize=.5,e.sutTimesPerHour=1,e.sutDaysPerYear=4,e.sutGridCellSize=1,e.noAnimationForHeatmapSimulation=!1,e.noAnimationForThermalSimulation=!1,e.noAnimationForSensorDataCollection=!1,e.noAnimationForSolarPanelSimulation=!1,e.noAnimationForSolarUpdraftTowerSimulation=!1}getElements(){const e=[],n={type:z.Foundation,cx:0,cy:0,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,textureType:Or.NoTexture,id:ta.generate()};e.push(n);const o={type:z.Sensor,cx:-.1,cy:0,cz:.105,lx:.1,ly:.1,lz:.01,parentId:n.id,foundationId:n.id,normal:[0,0,1],rotation:[0,0,0],id:ta.generate(),showLabel:!0,light:!0,heatFlux:!1};e.push(o);const i={type:z.Human,name:Yt.Judd,cx:1,cy:-1,cz:0,lx:Ip.fetchWidth(Yt.Jiya),lz:Ip.fetchHeight(Yt.Jiya),normal:[1,0,0],rotation:[0,0,0],parentId:Zo,id:ta.generate()};return e.push(i),e}}cSe=Om;class Nl{static clone(e,n,o,i,r,a,l,s){let c=null;switch(n.type){case z.Polygon:e&&(c=Nl.clonePolygon(e,n,o,i,r,a,l));break;case z.Sensor:e&&(c=Nl.cloneSensor(e,n,o,i,r));break;case z.Light:e&&(c=Nl.cloneLight(e,n,o,i,r));break;case z.SolarPanel:e&&(c=Nl.cloneSolarPanel(e,n,o,i,r));break;case z.ParabolicTrough:e&&(c=Nl.cloneParabolicTrough(e,n,o,i,r));break;case z.ParabolicDish:e&&(c=Nl.cloneParabolicDish(e,n,o,i,r));break;case z.FresnelReflector:e&&(c=Nl.cloneFresnelReflector(e,n,o,i,r));break;case z.Heliostat:e&&(c=Nl.cloneHeliostat(e,n,o,i,r));break;case z.WindTurbine:e&&(c=Nl.cloneWindTurbine(e,n,o,i,r));break;case z.Wall:e&&(c=Nl.cloneWall(e,n,o,i,r));break;case z.Window:e&&(c=Nl.cloneWindow(e,n,o,i,r,s));break;case z.Door:e&&(c=Nl.cloneDoor(e,n,o,i,r));break;case z.Roof:e&&(c=Nl.cloneRoof(e,n,o,i,r));break;case z.Human:c=Nl.cloneHuman(n,o,i,r,e);break;case z.Tree:c=Nl.cloneTree(n,o,i,r,e);break;case z.Flower:c=Nl.cloneFlower(n,o,i,r,e);break;case z.Foundation:c=Nl.cloneFoundation(n,o,i);break;case z.Cuboid:const u=e?e.id:Zo;c=Nl.cloneCuboid(u,n,o,i);break}return c}static cloneHuman(e,n,o,i,r){return{type:z.Human,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static cloneTree(e,n,o,i,r){return{type:z.Tree,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static cloneFlower(e,n,o,i,r){return{type:z.Flower,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static clonePolygon(e,n,o,i,r,a,l){let s;switch(e.type){case z.Foundation:case z.Cuboid:s=e.id;break;case z.Wall:case z.Roof:s=e.parentId;break}const c=n.vertices.map(d=>({...d})),u={type:z.Polygon,cx:o,cy:i,cz:r,lx:n.lx,ly:n.ly,lz:n.lz,filled:n.filled,noOutline:n.noOutline,color:n.color,lineColor:n.lineColor,lineWidth:n.lineWidth,opacity:n.opacity,textureType:n.textureType,text:n.text,fontSize:n.fontSize,fontColor:n.fontColor,normal:[...n.normal],rotation:n.parentId?[...e.rotation]:[0,0,0],vertices:c,parentId:e.id,parentType:e.type,foundationId:s,id:ta.generate()};if(!a){let d=o,f=i;if(e.type===z.Cuboid&&l){be.isSame(l,Up)?d=r??0:be.isSame(l,Np)?d=-(r??0):be.isSame(l,Bp)?f=r??0:be.isSame(l,Yc)&&(f=-(r??0));const p=l.dot(new ae().fromArray(n.normal));if(Math.abs(p)0&&this.commands.length>this.limit&&this.commands.splice(0,this.commands.length-this.limit),this.index=this.commands.length-1)}undo(){const e=this.commands[this.index];if(e)return this.isExecuting=!0,e.undo(),this.isExecuting=!1,this.index--,e.name}redo(){const e=this.commands[this.index+1];if(e)return this.isExecuting=!0,e.redo(),this.isExecuting=!1,this.index++,e.name}clear(){this.commands=[],this.index=-1}hasUndo(){return this.index!==-1}hasRedo(){return this.index0||this.cuboidCount>0||this.wallCount>0||this.windowCount>0||this.doorCount>0||this.humanCount>0||this.treeCount>0||this.flowerCount>0||this.polygonCount>0||this.sensorCount>0||this.insideLightCount>0||this.outsideLightCount>0||this.solarPanelCount>0||this.parabolicTroughCount>0||this.parabolicDishCount>0||this.fresnelReflectorCount>0||this.heliostatCount>0||this.solarUpdraftTowerCount>0||this.windTurbineCount>0}}var mSe;class JQt{constructor(e){this[mSe]=!0,this.problem=e,this.objectiveFunctionType=xo.DAILY_TOTAL_OUTPUT,this.selectionMethod=Im.ROULETTE_WHEEL,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.populationSize=20,this.maximumGenerations=5,this.selectionRate=.5,this.crossoverRate=.5,this.mutationRate=.1,this.convergenceThreshold=.01,this.localSearchRadius=.1}}mSe=Om;var ySe;class KQt{constructor(e){this[ySe]=!0,this.problem=e,this.objectiveFunctionType=xo.DAILY_TOTAL_OUTPUT,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.swarmSize=20,this.maximumSteps=5,this.vmax=.01,this.inertia=.8,this.cognitiveCoefficient=.1,this.socialCoefficient=.1,this.convergenceThreshold=.01,this.localSearchRadius=.1}}ySe=Om;var ASe;class wSe{constructor(){this[ASe]=!0,this.geneticAlgorithmParams=new JQt(Tr.SOLAR_PANEL_TILT_ANGLE),this.particleSwarmOptimizationParams=new KQt(Tr.SOLAR_PANEL_TILT_ANGLE)}}ASe=Om;var vSe;class GG{constructor(){this[vSe]=!0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.poleHeight=1,this.poleSpacing=5,this.orientation=ci.landscape,this.pvModelName="CS6X-355P-FG",this.rowAxis=Rl.leftRight}}vSe=Om;var xSe;class bSe{constructor(){this[xSe]=!0,this.projectLifeSpan=25,this.electricitySellingPrice=.25,this.operationalCostPerUnit=.15}}xSe=Om;var SSe;class TSe{constructor(){this[SSe]=!0,this.humanName=Yt.Jack,this.flowerType=$n.YellowFlower,this.treeType=fi.Dogwood,this.treeSpread=3,this.treeHeight=4,this.foundationHeight=.1,this.foundationColor="#808080",this.foundationTexture=Or.NoTexture,this.groundFloorRValue=Q4,this.cuboidHeight=4,this.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"],this.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],this.cuboidStackable=!1,this.wallHeight=5,this.wallThickness=.3,this.wallColor="#ffffff",this.wallTexture=No.Default,this.wallStructure=hc.Default,this.wallStructureSpacing=2,this.wallStructureWidth=.1,this.wallStructureColor="#ffffff",this.wallOpacity=.5,this.wallRValue=i6,this.wallVolumetricHeatCapacity=.5,this.wallEavesLength=.3,this.wallParapet=yye,this.roofColor="#454769",this.roofSideColor="#ffffff",this.roofTexture=Ui.Default,this.roofThickness=.2,this.roofStructure=yc.Default,this.roofGlassOpacity=.5,this.roofGlassTint="#73D8FF",this.roofRafterWidth=.1,this.roofRafterSpacing=1,this.roofRafterColor="#ffffff",this.roofRValue=Z4,this.roofVolumetricHeatCapacity=.5,this.roofRise=2,this.roofCeiling=!1,this.ceilingRValue=c6,this.doorColor="#ffffff",this.doorFrameColor="#ffffff",this.doorTexture=ii.Default,this.doorType=bd.Default,this.doorArchHeight=1,this.doorFilled=!0,this.doorInterior=!1,this.doorUValue=j4,this.doorOpacity=1,this.doorVolumetricHeatCapacity=.5,this.windowWidth=1,this.windowHeight=1,this.windowColor="#ffffff",this.windowTint="#73D8FF",this.windowOpacity=.5,this.windowUValue=B4,this.windowHorizontalMullion=!0,this.windowVerticalMullion=!0,this.windowMullionWidth=.06,this.windowHorizontalMullionSpacing=.5,this.windowVerticalMullionSpacing=.5,this.windowMullionColor="#ffffff",this.windowFrame=!1,this.windowFrameWidth=.1,this.windowSillWidth=.1,this.windowType=Sr.Default,this.windowArchHeight=1,this.windowShutterLeft=!1,this.windowShutterRight=!1,this.windowShutterColor="gray",this.windowShutterWidth=.5,this.windowEmpty=!1,this.windowInterior=!1,this.windTurbineBirdSafeDesign=lc.None,this.windTurbineBladeColor=X5,this.windTurbineStripeColor=J5,this.windTurbineNumberOfBlades=3,this.windTurbinePitchAngle=Math.PI/18,this.windTurbineRelativeYawAngle=0,this.windTurbineInitialRotorAngle=0,this.windTurbineTowerHeight=20,this.windTurbineTowerRadius=.5,this.windTurbineBladeRadius=10,this.windTurbineBladeMaximumChordLength=1,this.windTurbineBladeMaximumChordRadius=3,this.windTurbineBladeRootRadius=.3,this.windTurbineHubRadius=.75,this.windTurbineHubLength=1.5,this.solarPanelModelName="SPR-X21-335-BLK",this.solarPanelOrientation=ci.landscape,this.solarPanelPoleHeight=1,this.solarPanelPoleSpacing=3,this.solarPanelTiltAngle=0,this.solarPanelRelativeAzimuth=0,this.solarPanelFrameColor="#ffffff",this.solarPanelCx=0,this.solarPanelCy=0,this.parabolicDishReflectance=.9,this.parabolicDishAbsorptance=.95,this.parabolicDishOpticalEfficiency=.7,this.parabolicDishThermalEfficiency=.3,this.parabolicDishRimDiameter=4,this.parabolicDishLatusRectum=8,this.parabolicDishPoleHeight=.2,this.parabolicDishPoleRadius=.1,this.parabolicDishReceiverStructure=ef.CentralPole,this.parabolicTroughReflectance=.9,this.parabolicTroughAbsorptance=.95,this.parabolicTroughOpticalEfficiency=.7,this.parabolicTroughThermalEfficiency=.3,this.parabolicTroughLatusRectum=2,this.parabolicTroughPoleHeight=.2,this.parabolicTroughWidth=2,this.parabolicTroughModuleLength=3,this.fresnelReflectorReceiver="None",this.fresnelReflectorReflectance=.9,this.fresnelReflectorPoleHeight=.2,this.fresnelReflectorWidth=2,this.fresnelReflectorModuleLength=3,this.heliostatTower="None",this.heliostatReflectance=.9,this.heliostatPoleHeight=.2,this.heliostatPoleRadius=.1,this.heliostatWidth=4,this.heliostatLength=2,this.lightColor="#ffff99",this.lightIntensity=3,this.lightDistance=5}}SSe=Om;var PSe;class CSe{constructor(){this[PSe]=!0,this.dailyPvIndividualOutputs=!1,this.yearlyPvIndividualOutputs=!1,this.dailyParabolicDishIndividualOutputs=!1,this.yearlyParabolicDishIndividualOutputs=!1,this.dailyParabolicTroughIndividualOutputs=!1,this.yearlyParabolicTroughIndividualOutputs=!1,this.dailyFresnelReflectorIndividualOutputs=!1,this.yearlyFresnelReflectorIndividualOutputs=!1,this.dailyHeliostatIndividualOutputs=!1,this.yearlyHeliostatIndividualOutputs=!1,this.dailyUpdraftTowerIndividualOutputs=!1,this.yearlyUpdraftTowerIndividualOutputs=!1}}PSe=Om;class dd{static getDefaultHiddenParameters(e){return e===Tr.SOLAR_PANEL_ARRAY?["latitude","orientation","poleHeight"]:[]}static getVariables(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push("rowWidth"),n.includes("tiltAngle")||o.push("tiltAngle"),n.includes("interRowSpacing")||o.push("interRowSpacing"),n.includes("latitude")||o.push("latitude"),n.includes("orientation")||o.push("orientation"),n.includes("poleHeight")||o.push("poleHeight"),n.includes("unitCost")||o.push("unitCost"),n.includes("sellingPrice")||o.push("sellingPrice"),n.includes("totalYearlyCost")||o.push("totalYearlyCost"),n.includes("totalYearlyYield")||o.push("totalYearlyYield"),n.includes("meanYearlyYield")||o.push("meanYearlyYield"),n.includes("yearlyProfit")||o.push("yearlyProfit"),o}return[]}static getTitles(e,n,o){if(e===Tr.SOLAR_PANEL_ARRAY){const i=[];return o.includes("rowWidth")||i.push(O.t("polygonMenu.SolarPanelArrayRowWidth",n)),o.includes("tiltAngle")||i.push(O.t("polygonMenu.SolarPanelArrayTiltAngle",n)),o.includes("interRowSpacing")||i.push(O.t("polygonMenu.SolarPanelArrayRowSpacing",n)),o.includes("latitude")||i.push(O.t("word.Latitude",n)),o.includes("orientation")||i.push(O.t("polygonMenu.SolarPanelArrayOrientation",n)),o.includes("poleHeight")||i.push(O.t("polygonMenu.SolarPanelArrayPoleHeight",n)),o.includes("unitCost")||i.push(O.t("economicsPanel.UnitCost",n)),o.includes("sellingPrice")||i.push(O.t("economicsPanel.SellingPrice",n)),o.includes("totalYearlyCost")||i.push(O.t("polygonMenu.SolarPanelArrayTotalYearlyCost",n)),o.includes("totalYearlyYield")||i.push(O.t("polygonMenu.SolarPanelArrayTotalYearlyYield",n)),o.includes("meanYearlyYield")||i.push(O.t("polygonMenu.SolarPanelArrayMeanYearlyYield",n)),o.includes("yearlyProfit")||i.push(O.t("polygonMenu.SolarPanelArrayYearlyProfit",n)),i}return[]}static getTypes(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push("number"),n.includes("tiltAngle")||o.push("number"),n.includes("interRowSpacing")||o.push("number"),n.includes("latitude")||o.push("number"),n.includes("orientation")||o.push("boolean"),n.includes("poleHeight")||o.push("number"),n.includes("unitCost")||o.push("number"),n.includes("sellingPrice")||o.push("number"),n.includes("totalYearlyCost")||o.push("number"),n.includes("totalYearlyYield")||o.push("number"),n.includes("meanYearlyYield")||o.push("number"),n.includes("yearlyProfit")||o.push("number"),o}return[]}static getDigits(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push(0),n.includes("tiltAngle")||o.push(1),n.includes("interRowSpacing")||o.push(1),n.includes("latitude")||o.push(1),n.includes("orientation")||o.push(0),n.includes("poleHeight")||o.push(1),n.includes("unitCost")||o.push(2),n.includes("sellingPrice")||o.push(2),n.includes("totalYearlyCost")||o.push(1),n.includes("totalYearlyYield")||o.push(1),n.includes("meanYearlyYield")||o.push(1),n.includes("yearlyProfit")||o.push(3),o}return[]}static getTickIntegers(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push(!0),n.includes("tiltAngle")||o.push(!1),n.includes("interRowSpacing")||o.push(!1),n.includes("latitude")||o.push(!1),n.includes("orientation")||o.push(!0),n.includes("poleHeight")||o.push(!1),n.includes("unitCost")||o.push(!1),n.includes("sellingPrice")||o.push(!1),n.includes("totalYearlyCost")||o.push(!1),n.includes("totalYearlyYield")||o.push(!1),n.includes("meanYearlyYield")||o.push(!1),n.includes("yearlyProfit")||o.push(!1),o}return[]}static getUnits(e,n,o){if(e===Tr.SOLAR_PANEL_ARRAY){const i=[];return o.includes("rowWidth")||i.push(" "+O.t("solarPanelMenu.Panels",n)),o.includes("tiltAngle")||i.push("°"),o.includes("interRowSpacing")||i.push(" "+O.t("word.MeterAbbreviation",n)),o.includes("latitude")||i.push("°"),o.includes("orientation")||i.push(""),o.includes("poleHeight")||i.push(" "+O.t("word.MeterAbbreviation",n)),o.includes("unitCost")||i.push(""),o.includes("sellingPrice")||i.push(""),o.includes("totalYearlyCost")||i.push("K"),o.includes("totalYearlyYield")||i.push(" MWh"),o.includes("meanYearlyYield")||i.push(" kWh"),o.includes("yearlyProfit")||i.push("K"),i}return[]}static getUnit(e,n){return e==="tiltAngle"||e==="latitude"?"°":e==="interRowSpacing"||e==="poleHeight"?O.t("word.MeterAbbreviation",n):e==="totalYearlyYield"?"MWh":e==="meanYearlyYield"?"kWh":e==="totalYearlyCost"||e==="yearlyProfit"?"K":""}static setScatterData(e,n,o,i){switch(e){case"rowWidth":o[n]=i.rowsPerRack;break;case"tiltAngle":o[n]=be.toDegrees(i.tiltAngle);break;case"interRowSpacing":o[n]=i.interRowSpacing;break;case"latitude":o[n]=i.latitude;break;case"orientation":o[n]=i.orientation===ci.landscape?0:1;break;case"poleHeight":o[n]=i.poleHeight;break;case"unitCost":o[n]=i.unitCost;break;case"sellingPrice":o[n]=i.sellingPrice;break;case"totalYearlyCost":o[n]=be.calculateCost(i);break;case"totalYearlyYield":o[n]=i.yearlyYield*.001;break;case"meanYearlyYield":o[n]=i.yearlyYield/i.panelCount;break;case"yearlyProfit":o[n]=be.calculateProfit(i);break}}}class qQt{static updateOldFileData(){M.getState().set(e=>{be.compareVersion(e.version,H3t)&&(e.viewState.ambientLightIntensity&&(e.viewState.ambientLightIntensity*=3),e.viewState.directLightIntensity&&(e.viewState.directLightIntensity*=3.5));const n=new Map;for(const o of e.elements)n.set(o.id,o);for(const o of e.elements)switch(o.type){case z.Foundation:{o.parentId!==Zo&&(console.error("Error: "+o.parentId+" is not ground!"),o.parentId=Zo);break}case z.Wall:{const i=o;if(i.wallStructure===void 0&&(i.wallStructure=hc.Default),i.structureSpacing===void 0&&(i.structureSpacing=2),i.structureWidth===void 0&&(i.structureWidth=.1),i.structureColor===void 0&&(i.structureColor="white"),i.opacity===void 0&&(i.opacity=.5),i.fill===void 0&&(i.fill=Hl.Full),i.unfilledHeight===void 0&&(i.unfilledHeight=.5),i.leftUnfilledHeight===void 0||i.rightUnfilledHeight===void 0){const r=i.unfilledHeight??.5;i.leftUnfilledHeight=r,i.rightUnfilledHeight=r}if((i.leftTopPartialHeight===void 0||i.rightTopPartialHeight===void 0)&&(i.leftTopPartialHeight=i.lz,i.rightTopPartialHeight=i.lz),i.eavesLength===void 0&&i.roofId){const r=n.get(i.roofId);if(r&&r.type===z.Roof){const a=r;i.eavesLength=a.overhang!==void 0?a.overhang:.3}else i.eavesLength=.3}if(i.parapet===void 0&&(i.parapet={...yye}),i.roofId){const r=n.get(i.roofId);if(r&&r.type===z.Roof){const a=r;(a.roofType===Vo.Pyramid||a.roofType===Vo.Hip||a.roofType===Vo.Mansard)&&(i.leftRoofHeight=void 0,i.rightRoofHeight=void 0)}}break}case z.Window:{const i=o;i.horizontalMullion===void 0&&(i.horizontalMullion=i.mullion),i.verticalMullion===void 0&&(i.verticalMullion=i.mullion),i.mullionWidth===void 0&&(i.mullionWidth=.06),i.horizontalMullionSpacing===void 0&&(i.horizontalMullionSpacing=i.mullionSpacing??.5),i.verticalMullionSpacing===void 0&&(i.verticalMullionSpacing=i.mullionSpacing??.5),i.tint===void 0&&(i.tint="#73D8FF"),i.opacity===void 0&&(i.opacity=.5),i.shutter&&(i.leftShutter=i.shutter.showLeft,i.rightShutter=i.shutter.showRight,i.shutterColor=i.shutter.color,i.shutterWidth=i.shutter.width,i.shutter=void 0),i.shutterColor===void 0&&(i.shutterColor="gray"),i.shutterWidth===void 0&&(i.shutterWidth=.5),i.mullionColor===void 0&&(i.mullionColor="white"),i.frame===void 0&&(i.frame=!1),i.color===void 0&&(i.color="white"),i.frameWidth===void 0&&(i.frameWidth=.1),i.windowType===void 0&&(i.windowType=Sr.Default),i.archHeight===void 0&&(i.archHeight=1);break}case z.Door:{const i=o;i.doorType===void 0&&(i.doorType=bd.Default),i.archHeight===void 0&&(i.archHeight=1),i.filled===void 0&&(i.filled=!0);break}case z.Roof:{const i=o;if(i.ceiling===void 0&&(i.ceiling=!1),i.roofType===Vo.Gambrel){const r=i;r.frontRidgePoint===void 0&&(r.frontRidgePoint=r.frontRidgeLeftPoint?[...r.frontRidgeLeftPoint]:[.35,.5],r.frontRidgeLeftPoint=void 0,r.frontRidgeRightPoint=void 0),r.backRidgePoint===void 0&&(r.backRidgePoint=r.backRidgeLeftPoint?[...r.backRidgeLeftPoint]:[-.35,.5],r.backRidgeLeftPoint=void 0,r.backRidgeRightPoint=void 0),r.topRidgePoint===void 0&&(r.topRidgePoint=r.topRidgeLeftPoint?[...r.topRidgeLeftPoint]:[0,1],r.topRidgeLeftPoint=void 0,r.topRidgeRightPoint=void 0)}}}})}}function hd(t){return t.type===z.Foundation||t.type===z.Cuboid}Aht();const M=vK()(x3t(P3t((t,e)=>{const n=be.isOpenFromURL(),o=new uSe,i=n?[]:o.getElements(),r=a=>t(LP(a));return{set:a=>{try{r(a)}catch(l){console.log(l)}},version:nE,world:o,elements:i,user:{},viewState:new fSe,actionState:new TSe,graphState:new CSe,shadowMapSize:$Ne,solarPanelArrayLayoutParams:new pSe,solarPanelArrayLayoutConstraints:new GG,evolutionaryAlgorithmState:new wSe,economicsParams:new bSe,geneticAlgorithmWizardSelectedTab:"1",particleSwarmOptimizationWizardSelectedTab:"1",modelType:da.UNKNOWN,modelAuthor:null,modelLabel:null,modelDescription:null,projectView:!1,projectState:{owner:null,title:null,description:null,type:Tr.SOLAR_PANEL_ARRAY,designs:new Array,ranges:new Array,filters:new Array,hiddenParameters:dd.getDefaultHiddenParameters(Tr.SOLAR_PANEL_ARRAY),counter:0,dataColoring:n9.ALL,selectedProperty:null,sortDescending:!1,xAxisNameScatterPlot:null,yAxisNameScatterPlot:null,dotSizeScatterPlot:5,thumbnailWidth:200},projectImages:new Map,designProjectType:null,notes:[],language:"en",floatingWindowOpacity:m0,selectedFloatingWindow:null,cloudFile:void 0,latestModelSite:void 0,modelSites:new Map,peopleModels:new Map,modelsMapLatitude:42.2844063,modelsMapLongitude:-71.3488548,modelsMapAddress:qV,modelsMapZoom:KNe,modelsMapType:"roadmap",modelsMapTilt:0,minimumNavigationMoveSpeed:3,minimumNavigationTurnSpeed:3,tempHumanPlant:[],ray:new Gs,mouse:new Gt,fileChanged:!1,setNavigationView(a){r(l=>{l.viewState.navigationView=a,l.viewState.enableRotate=!a,a&&(l.viewState.orthographic=!1)})},set2DView(a){r(l=>{l.viewState.orthographic=a,l.viewState.enableRotate=!a,a&&(l.viewState.navigationView=!1)})},applyCount:0,setApplyCount(a){r(l=>{l.applyCount=a})},revertApply(){if(e().applyCount){for(let a=0;a{s.version=a.version,s.world=a.world,s.viewState=a.view,s.graphState=a.graphState??new CSe,s.elements=a.elements,s.notes=a.notes??[],s.animate24Hours=!!a.animate24Hours,s.modelType=a.modelType??da.UNKNOWN,s.modelAuthor=a.modelAuthor??null,s.modelLabel=a.modelLabel??null,s.modelDescription=a.modelDescription??null,s.designProjectType=a.designProjectType??null,s.cloudFile=l,s.currentUndoable=void 0,s.actionInfo=void 0,s.sceneRadius=a.sceneRadius??100,s.updateSceneRadiusFlag=!s.updateSceneRadiusFlag,s.localContentToImportAfterCloudFileUpdate=void 0,s.fileChanged=!s.fileChanged,s.evolutionMethod=a.evolutionMethod??Bs.GENETIC_ALGORITHM,s.solarPanelArrayLayoutParams=a.solarPanelArrayLayoutParams??new pSe,s.solarPanelArrayLayoutConstraints=a.solarPanelArrayLayoutConstraints??new GG,s.evolutionaryAlgorithmState=a.evolutionaryAlgorithmState??new wSe,s.economicsParams=a.economicsParams??new bSe,s.minimumNavigationMoveSpeed=a.minimumNavigationMoveSpeed??3,s.minimumNavigationTurnSpeed=a.minimumNavigationTurnSpeed??3,s.fittestIndividualResults.length=0,s.undoManager.clear(),s.deletedRoofId=null,s.autoDeletedRoofs=null,s.autoDeletedRoofIdSet.clear(),s.autoDeletedChild=null,s.deletedRoofIdSet.clear(),s.addedRoofIdSet.clear(),s.actionState=new TSe,s.multiSelectionsMode=!1,s.selectedElementIdSet.clear(),s.groupActionMode=!1,s.selectedFloatingWindow=null}),qQt.updateOldFileData(),gt.getState().set(s=>{s.changed=!1,s.skipChange=!0,s.animateSun=!1,s.showSolarRadiationHeatmap=!1,s.showHeatFluxes=!1,s.simulationInProgress=!1,s.simulationPaused=!1,s.clearDailySimulationResultsFlag=!s.clearDailySimulationResultsFlag,s.clearYearlySimulationResultsFlag=!s.clearYearlySimulationResultsFlag,s.navigationMoveSpeed=a.minimumNavigationMoveSpeed??3,s.navigationTurnSpeed=a.minimumNavigationTurnSpeed??3}),bn.getState().clearDataStore(),bn.getState().clearRoofVerticesMap()},exportContent(){const a=e(),l=new Date,s=JSON.parse(JSON.stringify(a.elements));return be.fixElements(s),{docid:ta.generate(),time:gc(l).format("MM/DD/YYYY hh:mm A"),timestamp:l.getTime(),userid:a.user.uid,owner:a.user.signFile?a.user.displayName:null,email:a.user.signFile?a.user.email:null,version:nE,world:JSON.parse(JSON.stringify(a.world)),elements:s,sceneRadius:a.sceneRadius,view:JSON.parse(JSON.stringify(a.viewState)),animate24Hours:a.animate24Hours,graphState:JSON.parse(JSON.stringify(a.graphState)),evolutionMethod:a.evolutionMethod,solarPanelArrayLayoutParams:JSON.parse(JSON.stringify(a.solarPanelArrayLayoutParams)),solarPanelArrayLayoutConstraints:JSON.parse(JSON.stringify(a.solarPanelArrayLayoutConstraints)),evolutionaryAlgorithmState:JSON.parse(JSON.stringify(a.evolutionaryAlgorithmState)),economicsParams:JSON.parse(JSON.stringify(a.economicsParams)),modelType:a.modelType,modelAuthor:a.modelAuthor,modelLabel:a.modelLabel,modelDescription:a.modelDescription,designProjectType:a.designProjectType,notes:a.notes,minimumNavigationMoveSpeed:a.minimumNavigationMoveSpeed,minimumNavigationTurnSpeed:a.minimumNavigationTurnSpeed}},clearContent(){r(a=>{a.elements=[],a.sceneRadius=100}),bn.getState().clearDataStore(),bn.getState().clearRoofVerticesMap()},createEmptyFile(){r(a=>{uSe.resetWorldModel(a.world),fSe.resetViewState(a.viewState),a.version=nE,a.elements=[],a.sceneRadius=100,a.cloudFile=void 0,a.localContentToImportAfterCloudFileUpdate=void 0,a.notes=[],a.fileChanged=!a.fileChanged,a.currentUndoable=void 0,a.actionInfo=void 0,a.undoManager.clear(),a.modelType=da.UNKNOWN,a.modelLabel=null,a.modelDescription=null,a.designProjectType=null,a.minimumNavigationMoveSpeed=3,a.minimumNavigationTurnSpeed=3,a.multiSelectionsMode=!1,a.selectedElementIdSet.clear(),a.groupActionMode=!1,a.selectedFloatingWindow=null,a.deletedRoofId=null,a.autoDeletedRoofs=null,a.autoDeletedRoofIdSet.clear(),a.autoDeletedChild=null,a.deletedRoofIdSet.clear(),a.addedRoofIdSet.clear()}),gt.getState().set(a=>{a.changed=!1,a.skipChange=!0,a.animateSun=!1,a.showSolarRadiationHeatmap=!1,a.showHeatFluxes=!1}),bn.getState().clearDataStore(),bn.getState().clearRoofVerticesMap()},undoManager:new XQt,addUndoable(a){r(l=>{l.loggable&&(l.currentUndoable=a),l.undoManager.add(a)})},fittestIndividualResults:[],setFittestIndividualResults(a){r(l=>{l.fittestIndividualResults=[...a]})},variableLabels:[],setVariableLabels(a){r(l=>{l.variableLabels=[...a]})},aabb:new pf(new ae(-10,-10,-10),new ae(10,10,10)),animate24Hours:!1,evolutionMethod:Bs.GENETIC_ALGORITHM,clickObjectType:null,contextMenuObjectType:null,hoveredHandle:null,moveHandleType:null,resizeHandleType:null,rotateHandleType:null,resizeAnchor:new ae,selectedElement:null,getSelectedElement(){if(e().selectedElementIdSet.size===0)return null;const a=e().selectedElement;return a?e().elements.find(l=>l.id===a.id)??null:null},selectedElementIdSet:new Set,multiSelectionsMode:!1,findNearestSibling(a){let l=null;const s=e().getElementById(a);if(s){let c=Number.MAX_VALUE;for(const u of e().elements)if(u.type===s.type&&u.parentId===s.parentId&&u.id!==a){const d=s.cx-u.cx,f=s.cy-u.cy,p=s.cz-u.cz,g=d*d+f*f+p*p;c>g&&(c=g,l=u.id)}}return l},overlapWithSibling(a,l){let s=!1;if(l===void 0){const c=e().getParent(a);if(c){for(const u of e().elements)if(u.type===a.type&&u.parentId===a.parentId&&u.id!==a.id){if(a.type===z.SolarPanel){if(be.doSolarPanelsOverlap(a,u,c)){s=!0;break}}else if(Math.abs(a.cx-u.cx)*c.lx<.5*(a.lx+u.lx)&&Math.abs(a.cy-u.cy)*c.ly<.5*(a.ly+u.ly)&&Math.abs(a.cz-u.cz)*c.lz<.5*(a.lz+u.lz)){s=!0;break}}}}else{const c=l*l,u=e().getParent(a);for(const d of e().elements)if(d.type===a.type&&d.parentId===a.parentId&&d.id!==a.id){const f=(a.cx-d.cx)*(u?u.lx:1),p=(a.cy-d.cy)*(u?u.ly:1),g=(a.cz-d.cz)*(u?u.lz:1);if(f*f+p*p+g*gC.id===g);if(x){const C=new ae(x.cx,x.cy,x.lz),b=new Qt(0,0,x.rotation[2]),v=new ae;switch(l){case yt.UpperLeft:{v.fromArray(A.leftPoint).setZ(0);break}case yt.UpperRight:{v.fromArray(A.rightPoint).setZ(0);break}}y.copy(v.applyEuler(b).add(C))}break}case z.Roof:{const A=e().elements.find(x=>x.id===g);if(A){const x=new ae(A.cx,A.cy,A.lz),C=new Qt(0,0,A.rotation[2]),b=new ae(e().selectedElementX,e().selectedElementY).applyEuler(C).add(x);y.set(b.x,b.y,A.lz)}break}case z.Tree:{const A=e().elements.find(x=>x.id===g);if(A){const x=new ae(A.cx,A.cy,A.cz+A.lz/2),C=new Qt(0,0,A.rotation[2]);y.copy(new ae(a.cx,a.cy,A.lz).applyEuler(C).add(x))}break}}return y},getElementById(a){const l=e().elements;for(const s of l)if(s.id===a)return s;return null},getParent(a){const l=e().elements;for(const s of l)if(s.id===a.parentId)return s;return null},getFoundation(a){const l=e().elements;for(const s of l)if(s.id===a.foundationId&&s.type===z.Foundation)return s;return null},selectNone(){r(a=>{a.selectedElementIdSet.clear();for(const l of a.elements)l.selected=!1;a.selectedElement=null}),Ln.getState().selectNone()},selectMe(a,l,s,c){const u=Ln.getState().setEnableOrbitController;l.intersections.length>0&&(l.intersections.filter(f=>!f.eventObject.name.startsWith("Wall Intersection Plane"))[0].object===l.eventObject||c)&&r(f=>{var p,g,y;for(const A of f.elements)if(A.id===a)if(A.selected=!0,f.selectedElement=A,f.selectedElementHeight=A.lz,f.groupActionMode){let x=A.foundationId??null;!x&&hd(A)&&(x=be.getBaseId(A.id)),x&&(f.multiSelectionsMode||f.selectedElementIdSet.clear(),f.selectedElementIdSet.has(x)?f.selectedElementIdSet.delete(x):f.selectedElementIdSet.add(x))}else if(s===zo.ContextMenu)if(f.selectedElementIdSet.has(a))for(const x of f.elements)f.selectedElementIdSet.has(x.id)&&x.type!==f.selectedElement.type&&f.selectedElementIdSet.delete(x.id);else if(f.multiSelectionsMode){f.selectedElementIdSet.add(a);for(const x of f.elements)f.selectedElementIdSet.has(x.id)&&x.type!==f.selectedElement.type&&f.selectedElementIdSet.delete(x.id)}else f.selectedElementIdSet.clear(),f.selectedElementIdSet.add(a);else f.multiSelectionsMode?f.selectedElementIdSet.has(a)?f.selectedElementIdSet.delete(a):f.selectedElementIdSet.add(a):(f.selectedElementIdSet.clear(),f.selectedElementIdSet.add(a));else A.selected=!1;if(f.moveHandleType=null,f.resizeHandleType=null,f.rotateHandleType=null,f.contextMenuObjectType=null,s)switch(s){case zo.Move:{((p=f.selectedElement)==null?void 0:p.type)===z.Tree||((g=f.selectedElement)==null?void 0:g.type)===z.Human?f.moveHandleType=yo.Default:f.moveHandleType=l.eventObject.name,u(!1);break}case zo.Resize:{f.resizeHandleType=l.eventObject.name,u(!1);break}case zo.Rotate:{f.rotateHandleType=l.eventObject.name,u(!1);break}case zo.Select:{f.selectedElementAngle=((y=l.object.parent)==null?void 0:y.rotation.z)??0,u(!0);break}default:u(!0)}})},countHeatmapCells(){let a=0;return r(l=>{const s=l.world.solarRadiationHeatmapGridCellSize??.5,c=s*s;for(const u of l.elements)(u.type===z.Foundation||u.type===z.Cuboid)&&(a+=u.lx*u.ly/c)}),Math.round(a)},updateAllElementLocks(a){r(l=>{for(const s of l.elements)s.locked=a})},updateElementLockByFoundationId(a,l){r(s=>{for(const c of s.elements)(c.foundationId===a||c.parentId===a||c.id===a)&&(c.locked=l)})},updateElementLockByParentId(a,l,s){r(c=>{for(const u of c.elements)u.parentId===a&&l===u.type&&(u.locked=s)})},updateElementLockById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.locked=l;break}})},updateElementReferenceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.referenceId=l;break}})},updateElementLabelById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.label=l;break}})},updateElementShowLabelById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.showLabel=l;break}})},updateElementColorById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.color=l;break}})},updateElementColorOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&be.isIdentical(d.normal,s)&&!d.locked&&(d.color=c)})},updateElementColorAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.color=s)})},updateElementColorForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.color=l)})},updateElementLineColorById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lineColor=l;break}})},updateElementLineColorOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&be.isIdentical(d.normal,s)&&!d.locked&&(d.lineColor=c)})},updateElementLineColorAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lineColor=s)})},updateElementLineColorForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lineColor=l)})},updateElementLineWidthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.lineWidth=l;break}})},updateElementLineWidthOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&be.isIdentical(d.normal,s)&&!d.locked&&(d.lineWidth=c)})},updateElementLineWidthAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lineWidth=s)})},updateElementLineWidthForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lineWidth=l)})},updateElementCxById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cx=l,c.type===z.SolarPanel&&c.parentType===z.Roof&&(s.updateElementOnRoofFlag=!0);break}})},updateElementCyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cy=l,c.type===z.SolarPanel&&c.parentType===z.Roof&&(s.updateElementOnRoofFlag=!0);break}})},updateElementCzById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cz=l;break}})},updateElementCzForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cz=l)})},updateElementLxById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lx=l;break}})},updateElementLxAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lx=s)})},updateElementLxOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.lx=c)}})},updateElementLxForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lx=l)})},updateElementLyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.ly=l;break}})},updateElementLyAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.ly=s)})},updateElementLyOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.ly=c)}})},updateElementLyForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.ly=l)})},updateElementLzById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lz=l;break}})},updateElementLzAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lz=s)})},updateElementLzOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.lz=c)}})},updateElementLzForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lz=l)})},updateElementRotationById(a,l,s,c){r(u=>{for(const d of u.elements)(d.id===a&&!d.locked||d.parentId===a&&!Dqe(d)&&d.type!==z.SolarPanel)&&(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c);u.selectedElementAngle=c})},updateElementRotationForAll(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a)d.locked||(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c);else{const f=u.getParent(d);f&&!f.locked&&f.type===a&&(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c)}})},updateSolarCollectorDrawSunBeamById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.drawSunBeam=l;break}})},updateSolarCollectorDrawSunBeamAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.drawSunBeam=s)})},updateSolarCollectorDrawSunBeamForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.locked||c.type===a&&(c.drawSunBeam=l)})},updateSolarCollectorRelativeAzimuthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.relativeAzimuth=l,s.selectedElementAngle=l;break}})},updateSolarCollectorRelativeAzimuthAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&u.parentType!==z.Wall&&(u.relativeAzimuth=s)})},updateSolarCollectorRelativeAzimuthOnSurface(a,l,s,c){be.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.relativeAzimuth=c)}})},updateSolarCollectorRelativeAzimuthForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&c.parentType!==z.Wall&&(c.relativeAzimuth=l)})},updateSolarCollectorXById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.cx=l;break}})},updateSolarCollectorXAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.cx=s)})},updateSolarCollectorXForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cx=l)})},updateSolarCollectorYById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.cy=l;break}})},updateSolarCollectorYAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.cy=s)})},updateSolarCollectorYForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cy=l)})},updateSolarCollectorPoleHeightById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.poleHeight=l;break}})},updateSolarCollectorPoleHeightAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.poleHeight=s)})},updateSolarCollectorPoleHeightOnSurface(a,l,s,c){be.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(!d.locked&&d.type===a){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.poleHeight=c)}})},updateSolarCollectorPoleHeightForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.poleHeight=l)})},updateSolarCollectorPoleRadiusById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.poleRadius=l;break}})},updateSolarCollectorPoleRadiusAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.poleRadius=s)})},updateSolarCollectorPoleRadiusOnSurface(a,l,s,c){be.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(!d.locked&&d.type===a){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.poleRadius=c)}})},updateSolarCollectorPoleRadiusForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.poleRadius=l)})},clearAllSolarCollectorYields(){r(a=>{for(const l of a.elements)if(be.isSolarCollector(l)){const s=l;s.dailyYield=0,s.yearlyYield=0}})},updateSolarCollectorDailyYieldById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isSolarCollector(c)){c.dailyYield=l;break}})},updateSolarCollectorYearlyYieldById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isSolarCollector(c)){c.yearlyYield=l;break}})},updateCspReflectanceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isCspCollector(c)){c.reflectance=l;break}})},updateCspReflectanceAboveFoundation(a,l,s){be.isCspCollectorType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.reflectance=s)})},updateCspReflectanceForAll(a,l){be.isCspCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.reflectance=l)})},updateParabolicCollectorAbsorptanceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isParabolicCollector(c)){c.absorptance=l;break}})},updateParabolicCollectorAbsorptanceAboveFoundation(a,l,s){be.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.absorptance=s)})},updateParabolicCollectorAbsorptanceForAll(a,l){be.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.absorptance=l)})},updateParabolicCollectorOpticalEfficiencyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isParabolicCollector(c)){c.opticalEfficiency=l;break}})},updateParabolicCollectorOpticalEfficiencyAboveFoundation(a,l,s){be.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.opticalEfficiency=s)})},updateParabolicCollectorOpticalEfficiencyForAll(a,l){be.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.opticalEfficiency=l)})},updateParabolicCollectorThermalEfficiencyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isParabolicCollector(c)){c.thermalEfficiency=l;break}})},updateParabolicCollectorThermalEfficiencyAboveFoundation(a,l,s){be.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.thermalEfficiency=s)})},updateParabolicCollectorThermalEfficiencyForAll(a,l){be.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.thermalEfficiency=l)})},foundationActionScope:ue.OnlyThisObject,setFoundationActionScope(a){r(l=>{l.foundationActionScope=a})},cuboidActionScope:ue.OnlyThisSide,setCuboidActionScope(a){r(l=>{l.cuboidActionScope=a})},polygonActionScope:ue.OnlyThisObject,setPolygonActionScope(a){r(l=>{l.polygonActionScope=a})},updatePolygonVertexPositionById(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===z.Polygon&&d.id===a){const f=d;l>=0&&l{for(const c of s.elements)if(c.type===z.Polygon&&c.id===a){const u=c;u.vertices=l;break}})},solarPanelActionScope:ue.OnlyThisObject,setSolarPanelActionScope(a){r(l=>{l.solarPanelActionScope=a})},updateSolarPanelTiltAngleById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.SolarPanel&&c.id===a&&!c.locked){const u=c;u.tiltAngle=l;break}})},setSolarPanelOrientation(a,l,s){if(a.orientation=s,a.orientation===ci.portrait){const c=Math.max(1,Math.round(a.lx/l.width)),u=Math.max(1,Math.round(a.ly/l.length));a.lx=c*l.width,a.ly=u*l.length}else{const c=Math.max(1,Math.round(a.lx/l.length)),u=Math.max(1,Math.round(a.ly/l.width));a.lx=c*l.length,a.ly=u*l.width}},parabolicTroughActionScope:ue.OnlyThisObject,setParabolicTroughActionScope(a){r(l=>{l.parabolicTroughActionScope=a})},fresnelReflectorActionScope:ue.OnlyThisObject,setFresnelReflectorActionScope(a){r(l=>{l.fresnelReflectorActionScope=a})},heliostatActionScope:ue.OnlyThisObject,setHeliostatActionScope(a){r(l=>{l.heliostatActionScope=a})},updateSolarReceiverById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){if(c.type===z.Heliostat){c.towerId=l;break}else if(c.type===z.FresnelReflector){c.receiverId=l;break}}})},updateSolarReceiverAboveFoundation(a,l,s){be.isHeliostatOrFresnelReflector(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.Heliostat?u.towerId=s:u.type===z.FresnelReflector&&(u.receiverId=s))})},updateSolarReceiverForAll(a,l){be.isHeliostatOrFresnelReflector(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.Heliostat?c.towerId=l:c.type===z.FresnelReflector&&(c.receiverId=l))})},parabolicDishActionScope:ue.OnlyThisObject,setParabolicDishActionScope(a){r(l=>{l.parabolicDishActionScope=a})},updateModuleLengthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){if(c.type===z.ParabolicTrough){c.moduleLength=l;break}else if(c.type===z.FresnelReflector){c.moduleLength=l;break}}})},updateModuleLengthAboveFoundation(a,l,s){be.isParabolicTroughOrFresnelReflector(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.ParabolicTrough||u.type===z.FresnelReflector)&&(u.moduleLength=s)})},updateModuleLengthForAll(a,l){be.isParabolicTroughOrFresnelReflector(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.ParabolicTrough||c.type===z.FresnelReflector)&&(c.moduleLength=l)})},updateParabolaLatusRectumById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){(c.type===z.ParabolicTrough||c.type===z.ParabolicDish)&&(c.latusRectum=l);break}})},updateParabolaLatusRectumAboveFoundation(a,l,s){be.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.ParabolicTrough||u.type===z.ParabolicDish)&&(u.latusRectum=s)})},updateParabolaLatusRectumForAll(a,l){be.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.ParabolicTrough||c.type===z.ParabolicDish)&&(c.latusRectum=l)})},windTurbineActionScope:ue.OnlyThisObject,setWindTurbineActionScope(a){r(l=>{l.windTurbineActionScope=a})},wallActionScope:ue.OnlyThisObject,setWallActionScope(a){r(l=>{l.wallActionScope=a})},roofActionScope:ue.OnlyThisObject,setRoofActionScope(a){r(l=>{l.roofActionScope=a})},windowActionScope:ue.OnlyThisObject,setWindowActionScope(a){r(l=>{l.windowActionScope=a})},doorActionScope:ue.OnlyThisObject,setDoorActionScope(a){r(l=>{l.doorActionScope=a})},updateWallRelativeAngleById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.relativeAngle=l;break}})},updateWallLeftJointsById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a){c.leftJoints=l;break}})},updateWallRightJointsById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a){c.rightJoints=l;break}})},updateWallLeftPointById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.leftPoint=[...l];break}})},updateWallRightPointById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.rightPoint=[...l];break}})},updateRoofRiseById(a,l,s){r(c=>{for(const u of c.elements)if(u.id===a&&u.type===z.Roof){u.rise=l,c.actionState.roofRise=l,s!==void 0&&(c.selectedElementHeight=s);break}})},updateRoofStructureById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&c.type===z.Roof){const u=c;u.roofStructure=l;break}})},updateInsideLightById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Light&&c.id===a){c.inside=l;break}})},updateInsideLightsByParentId(a,l){r(s=>{for(const c of s.elements)c.parentId===a&&c.type===z.Light&&(c.inside=l)})},setElementPosition(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a){u.elements[d].cx=l,u.elements[d].cy=s,c!==void 0&&(u.elements[d].cz=c);break}})},setElementNormal(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a||f.parentId===a){const p=u.elements[d];p.normal[0]=l,p.normal[1]=s,p.normal[2]=c}})},setElementSize(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a){u.elements[d].lx=l,u.elements[d].ly=s,c&&(u.elements[d].lz=c,u.selectedElementHeight=c);break}})},actionModeLock:!1,objectTypeToAdd:z.None,addElement(a,l,s){let c=null;const u="id"in a?a.id:Zo;return r(d=>{switch(d.objectTypeToAdd){case z.Human:{const f=new ae().copy(l);if(u!==Zo){const{rot:g,pos:y}=be.getWorldDataById(u);f.sub(new ae(y.x,y.y,y.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeHuman(d.actionState.humanName,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Tree:{const f=new ae().copy(l);if(u!==Zo){const{rot:g,pos:y}=be.getWorldDataById(u);f.sub(new ae(y.x,y.y,y.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeTree(d.actionState.treeType,d.actionState.treeSpread,d.actionState.treeHeight,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Flower:{const f=new ae().copy(l);if(u!==Zo){const{rot:g,pos:y}=be.getWorldDataById(u);f.sub(new ae(y.x,y.y,y.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeFlower(d.actionState.flowerType,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Polygon:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makePolygon(f,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,f.type);c=g,d.elements.push(g);break}case z.Sensor:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeSensor(f,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0);c=g,d.elements.push(g);break}case z.Light:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeLight(f,2,d.actionState.lightDistance,d.actionState.lightIntensity,d.actionState.lightColor,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0);c=g,d.elements.push(g);break}case z.SolarPanel:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeSolarPanel(f,d.getPvModule(d.actionState.solarPanelModelName??"SPR-X21-335-BLK"),p.x,p.y,p.z,d.actionState.solarPanelOrientation??ci.landscape,d.actionState.solarPanelPoleHeight??1,d.actionState.solarPanelPoleSpacing??3,d.actionState.solarPanelTiltAngle??0,d.actionState.solarPanelRelativeAzimuth??0,s,"rotation"in a?a.rotation:void 0,d.actionState.solarPanelFrameColor??"white");c=g,d.elements.push(g);break}case z.ParabolicTrough:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeParabolicTrough(f,d.actionState.parabolicTroughReflectance,d.actionState.parabolicTroughAbsorptance,d.actionState.parabolicTroughOpticalEfficiency,d.actionState.parabolicTroughThermalEfficiency,d.actionState.parabolicTroughLatusRectum,d.actionState.parabolicTroughPoleHeight,d.actionState.parabolicTroughModuleLength,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.parabolicTroughWidth);c=g,d.elements.push(g);break}case z.ParabolicDish:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeParabolicDish(f,d.actionState.parabolicDishReflectance,d.actionState.parabolicDishAbsorptance,d.actionState.parabolicDishOpticalEfficiency,d.actionState.parabolicDishThermalEfficiency,d.actionState.parabolicDishLatusRectum,d.actionState.parabolicDishPoleHeight,d.actionState.parabolicDishReceiverStructure,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.parabolicDishRimDiameter,d.actionState.parabolicDishRimDiameter);c=g,d.elements.push(g);break}case z.FresnelReflector:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeFresnelReflector(f,d.actionState.fresnelReflectorReceiver,d.actionState.fresnelReflectorReflectance,d.actionState.fresnelReflectorPoleHeight,d.actionState.fresnelReflectorModuleLength,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.fresnelReflectorWidth);c=g,d.elements.push(g);break}case z.Heliostat:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeHeliostat(f,d.actionState.heliostatTower,d.actionState.heliostatReflectance,d.actionState.heliostatPoleHeight,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.heliostatLength,d.actionState.heliostatWidth);c=g,d.elements.push(g);break}case z.WindTurbine:{const f=a,p=be.relativeCoordinates(l.x,l.y,0,f),g=rl.makeWindTurbine(f,d.actionState.windTurbineBirdSafeDesign??lc.None,d.actionState.windTurbineBladeColor??X5,d.actionState.windTurbineStripeColor??J5,d.actionState.windTurbineNumberOfBlades??3,d.actionState.windTurbineInitialRotorAngle??0,d.actionState.windTurbineRelativeYawAngle??0,d.actionState.windTurbinePitchAngle??Math.PI/18,d.actionState.windTurbineBladeRadius??10,d.actionState.windTurbineBladeRootRadius??.3,d.actionState.windTurbineBladeMaximumChordLength??1,d.actionState.windTurbineBladeMaximumChordRadius??3,d.actionState.windTurbineTowerRadius??.5,d.actionState.windTurbineTowerHeight??20,d.actionState.windTurbineHubRadius??.75,d.actionState.windTurbineHubLength??1.5,p.x,p.y,0);c=g,d.elements.push(g);break}case z.Foundation:{const f=rl.makeFoundation(l.x,l.y,d.actionState.foundationHeight,d.actionState.foundationColor,d.actionState.foundationTexture);c=f,d.elements.push(f);break}case z.Cuboid:{const f=rl.makeCuboid(l.x,l.y,d.actionState.cuboidHeight,d.actionState.cuboidFaceColors,d.actionState.cuboidFaceTextures);c=f,d.elements.push(f);break}case z.Wall:{const f=a,p=be.wallRelativePosition(new ae(l.x,l.y),f),g=rl.makeWall(f,p.x,p.y,p.z,s);d.elements.push(g),d.selectedElement=g,c=g;break}}c&&(d.selectedElementIdSet.clear(),d.selectedElementIdSet.add(c.id))}),c},elementsToPaste:[],deletedElements:[],clearDeletedElements(){r(a=>{a.deletedElements=[]})},pastePoint:new ae,pasteNormal:void 0,copyElementById(a){r(l=>{l.elementsToPaste=[];for(const s of l.elements)if(s.id===a){if(s.type===z.Polygon){const c=be.calculatePolygonCentroid(s.vertices);s.cx=c.x,s.cy=c.y,l.elementsToPaste.push(s)}else l.elementsToPaste.push(s);break}for(const s of l.elements)if(be.isChild(a,s.id)){if(s.type===z.Polygon){const c=be.calculatePolygonCentroid(s.vertices);s.cx=c.x,s.cy=c.y}l.elementsToPaste.push(s)}})},removeSelectedElements(){const a=e().selectedElementIdSet;if(a.size===0)return[];const l=Array.from(a),s=new Set,c=new Set;for(const u of e().elements)if(a.has(u.id))s.add(u),c.add(u.id);else for(const d of l)be.isChild(d,u.id)&&(s.add(u),c.add(u.id));return r(u=>{u.autoDeletedRoofs=[],u.deletedElements=Array.from(s),u.elements=u.elements.filter(d=>{var f,p;if(c.has(d.id)){switch(d.type){case z.Wall:{const g=d;let y="",A="";g.leftJoints.length>0&&(y=((f=u.getElementById(g.leftJoints[0]))==null?void 0:f.id)??""),g.rightJoints.length>0&&(A=((p=u.getElementById(g.rightJoints[0]))==null?void 0:p.id)??"");for(const x of u.elements)x.id===y?x.rightJoints=[]:x.id===A&&(x.leftJoints=[]);u.updateWallMapOnFoundationFlag=!u.updateWallMapOnFoundationFlag;break}case z.Roof:{u.deletedRoofIdSet.add(d.id),bn.getState().deleteRoofSegmentVertices(d.id),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(d.id);break}}return!1}else return!0})}),Array.from(s)},removeElementById(a,l,s=!0,c){const u=e().elements.filter(d=>d.id===a||be.isChild(a,d.id));return r(d=>{var f,p;for(const g of d.elements)if(g.id===a){if(l)if(g.type===z.Polygon){const y=be.calculatePolygonCentroid(g.vertices);g.cx=y.x,g.cy=y.y,d.elementsToPaste=[g]}else d.elementsToPaste=[g];else c||(d.deletedElements=[g]);switch(g.selected=!1,g.type){case z.Roof:{const y=g;d.deletedRoofId=g.id,d.deletedRoofIdSet.add(g.id),bn.getState().deleteRoofSegmentVertices(a),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(a),c&&(d.autoDeletedRoofs?d.autoDeletedRoofs.push(y):d.autoDeletedRoofs=[y],d.autoDeletedRoofIdSet.add(y.id));break}case z.Wall:{const y=g;let A="",x="";y.leftJoints.length>0&&(A=((f=d.getElementById(y.leftJoints[0]))==null?void 0:f.id)??""),y.rightJoints.length>0&&(x=((p=d.getElementById(y.rightJoints[0]))==null?void 0:p.id)??"");for(const C of d.elements)C.id===A?C.rightJoints=[]:C.id===x&&(C.leftJoints=[]);d.elements=d.elements.filter(C=>!(C.type===z.Roof&&C.wallsId.length===0)),d.updateWallMapOnFoundationFlag=!d.updateWallMapOnFoundationFlag,d.deletedWallId=g.id;break}case z.Foundation:{d.deletedFoundationId=g.id;break}case z.Cuboid:{d.deletedCuboidId=g.id;break}}break}if(c)for(const g of d.elements)be.isChild(a,g.id)&&(d.autoDeletedChild?d.autoDeletedChild.push(g):d.autoDeletedChild=[g]);else if(l)for(const g of d.elements)be.isChild(a,g.id)&&d.elementsToPaste.push(g);else for(const g of d.elements)be.isChild(a,g.id)&&d.deletedElements.push(g);d.elements=d.elements.filter(g=>g.id===a||g.parentId===a||g.foundationId===a||be.isChild(a,g.id)?(g.type===z.Roof&&(bn.getState().deleteRoofSegmentVertices(a),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(a)),!1):!0),d.selectedElementIdSet.delete(a),s&&(d.selectedElement=null,d.selectedElementIdSet.clear())}),u},removeElementsByType(a){r(l=>{a===z.Foundation?l.elements=l.elements.filter(s=>s.locked||s.type!==z.Foundation&&!s.foundationId?!0:(s.type===z.Roof&&(bn.getState().deleteRoofSegmentVertices(s.id),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(s.id)),!1)):l.elements=l.elements.filter(s=>s.locked||s.type!==a?!0:(s.type===z.Roof&&(bn.getState().deleteRoofSegmentVertices(s.id),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(s.id)),!1))})},countElementsByType(a,l){let s=0;if(l)for(const c of e().elements)c.type===a&&!c.locked&&s++;else for(const c of e().elements)c.type===a&&s++;return s},countSolarStructuresByType(a,l){let s=0;if(l)for(const c of e().elements)c.type===z.Foundation&&!c.locked&&c.solarStructure===a&&s++;else for(const c of e().elements)c.type===z.Foundation&&c.solarStructure===a&&s++;return s},countObservers(){let a=0;for(const l of e().elements)l.type===z.Human&&l.observer&&a++;return a},removeElementsByReferenceId(a,l){r(s=>{if(l){s.deletedElements=[];for(const c of s.elements)c.referenceId===a&&s.deletedElements.push(c)}s.elements=s.elements.filter(c=>c.referenceId!==a)})},countElementsByReferenceId(a){let l=0;for(const s of e().elements)s.referenceId===a&&l++;return l},getChildren(a){const l=[];for(const s of e().elements)s.parentId===a&&l.push(s);return l},getChildrenOfType(a,l){const s=[];for(const c of e().elements)c.type===a&&c.parentId===l&&s.push(c);return s},removeAllChildElementsByType(a,l){r(s=>{s.elements=s.elements.filter(c=>c.locked||c.type!==l||c.parentId!==a),l===z.Wall&&(s.updateWallMapOnFoundationFlag=!s.updateWallMapOnFoundationFlag)})},removeAllElementsOnFoundationByType(a,l){r(s=>{s.elements=s.elements.filter(c=>c.locked||c.type!==l||c.foundationId!==a),l===z.Wall&&(s.updateWallMapOnFoundationFlag=!s.updateWallMapOnFoundationFlag)})},countAllElements(a){let l=0;if(a)for(const s of e().elements)s.locked||l++;else l=e().elements.length;return l},countAllElementsByType(a){const l=new gSe;for(const s of e().elements)if(s.locked?l.lockedCount++:l.unlockedCount++,!(a&&s.locked))switch(s.type){case z.Foundation:{s.solarStructure===zn.UpdraftTower&&l.solarUpdraftTowerCount++,l.foundationCount++;break}case z.Cuboid:{l.cuboidCount++;break}case z.Wall:{l.wallCount++;break}case z.Window:{l.windowCount++;break}case z.Door:{l.doorCount++;break}case z.Human:{l.humanCount++;break}case z.Tree:{l.treeCount++;break}case z.Flower:{l.flowerCount++;break}case z.Polygon:{l.polygonCount++;break}case z.Sensor:{l.sensorCount++;break}case z.Light:{s.inside?l.insideLightCount++:l.outsideLightCount++;break}case z.SolarPanel:{l.solarPanelCount++;const c=s,u=e().getPvModule(c.pvModelName);u&&(l.solarPanelModuleCount+=be.countSolarPanelsOnRack(c,u));break}case z.ParabolicDish:{l.parabolicDishCount++;break}case z.ParabolicTrough:{l.parabolicTroughCount++;break}case z.FresnelReflector:{l.fresnelReflectorCount++;break}case z.Heliostat:{l.heliostatCount++;break}case z.WindTurbine:{l.windTurbineCount++;break}}return l},countAllOffspringsByTypeAtOnce(a,l){const s=new gSe;for(const c of e().elements){const u=c.parentId===a||c.foundationId===a;if(u&&(c.locked?s.lockedCount++:s.unlockedCount++),(l||!c.locked)&&u)switch(c.type){case z.Foundation:{c.solarStructure===zn.UpdraftTower&&s.solarUpdraftTowerCount++,s.foundationCount++;break}case z.Cuboid:{s.cuboidCount++;break}case z.Wall:{s.wallCount++;break}case z.Window:{s.windowCount++,c.locked&&s.lockedWindowCount++;break}case z.Door:{s.doorCount++,c.locked&&s.lockedDoorCount++;break}case z.Human:{s.humanCount++;break}case z.Tree:{s.treeCount++;break}case z.Flower:{s.flowerCount++;break}case z.Polygon:{s.polygonCount++,c.locked&&s.lockedPolygonCount++;break}case z.Sensor:{s.sensorCount++,c.locked&&s.lockedSensorCount++;break}case z.Light:{c.inside?s.insideLightCount++:s.outsideLightCount++,c.locked&&s.lockedLightCount++;break}case z.SolarPanel:{s.solarPanelCount++,c.locked&&s.lockedSolarPanelCount++;const d=c,f=e().getPvModule(d.pvModelName);f&&(s.solarPanelModuleCount+=be.countSolarPanelsOnRack(d,f));break}case z.ParabolicDish:{s.parabolicDishCount++;break}case z.ParabolicTrough:{s.parabolicTroughCount++;break}case z.FresnelReflector:{s.fresnelReflectorCount++;break}case z.Heliostat:{s.heliostatCount++;break}case z.WindTurbine:{s.windTurbineCount++,c.locked&&s.lockedWindTurbineCount++;break}}}return s},countSolarPanelsOnRack(a){let l=0;for(const s of e().elements)if(s.id===a&&s.type===z.SolarPanel){const c=s,u=e().getPvModule(c.pvModelName);if(u){l=be.countSolarPanelsOnRack(c,u);break}}return l},copyCutElements(){const a=[],l=new Map,s=new Map,c=new Map;for(let u=0;ug.id===d.parentId);if(p){const g=l.get(p.id);g&&(e().getElementById(d.id)?f=Nl.clone(g,d,d.cx,d.cy,d.cz,d.type===z.Polygon):f=JSON.parse(JSON.stringify(d)))}}f&&(l.set(d.id,f),s.set(d.id,f.id),c.set(f.id,d.id),a.push(f))}for(const u of a){if(u.type===z.Roof){const d=c.get(u.id);if(d)for(const f of e().elementsToPaste)f.id===d&&(u.wallsId=f.wallsId.map(p=>s.get(p)))}if(u.type===z.Wall){const d=c.get(u.id);if(d){for(const f of e().elementsToPaste)if(f.id===d&&f.type===z.Wall){const p=f,g=s.get(p.leftJoints[0]);g&&(u.leftJoints=[g]);const y=s.get(p.rightJoints[0]);if(y&&(u.rightJoints=[y]),p.roofId){const A=s.get(p.roofId);A&&(u.roofId=A)}break}}}}return a},pasteElementsToPoint(){const a=[];return r(l=>{if(l.elementsToPaste.length===1){let s=l.pastePoint;const c=l.elementsToPaste[0];let u=l.selectedElement;const d=l.getParent(c);if(u){if(u.type===z.Polygon){const p=l.getParent(u);p&&(u=p,c.parentId=u.id,be.isPositionRelative(c.type)&&(s=be.relativeCoordinates(s.x,s.y,s.z,u)))}else if(u.type===z.Roof){if(u.parentId){const p=l.getElementById(u.parentId);p&&(s.sub(new ae(p.cx,p.cy,p.lz)).applyEuler(new Qt(0,0,-p.rotation[2])),c.type!==z.Window&&(s.setX(s.x/p.lx),s.setY(s.y/p.ly)))}}else if(u.type===z.Cuboid){if(c.type===z.Cuboid){const{pos:p}=be.getWorldDataById(u.id);s.sub(p)}else be.isPositionRelative(c.type)&&(s=be.relativeCoordinates(s.x,s.y,s.z,u));c.parentId=u.id}else u.type===z.Wall?s=be.relativeCoordinates(s.x,s.y,s.z,u):d&&d.type&&c.type!==z.Foundation&&(c.parentId=u.id,be.isPositionRelative(c.type)&&(s=be.relativeCoordinates(s.x,s.y,s.z,u)));c.type===z.Wall&&s.set(s.x*u.lx,s.y*u.ly,0)}const f=Nl.clone(u,c,s.x,s.y,s.z,!1,l.pasteNormal,d);if(f){l.pasteNormal&&(f.normal=l.pasteNormal.toArray());const p={lng:l.language};let g=!1;switch(f.type){case z.Cuboid:{const y=C=>{const b=[];for(const v of e().elements)if(v.parentId===C.id)switch(b.push(v),v.type){case z.Cuboid:case z.Foundation:case z.Wall:case z.Roof:b.push(...y(v))}return b},A=y(c),x=new Map;a.push(f),x.set(c.id,f);for(const C of A){const b=x.get(C.parentId);if(b){const v=Nl.clone(b,C,C.cx,C.cy,C.cz,C.type===z.Polygon);v&&(f.normal&&(v.normal=[...C.normal]),a.push(v),x.set(C.id,v))}}l.elements.push(...a),l.elementsToPaste=[f],g=!1;break}case z.Foundation:{const y=new Map,A=new Map;for(const x of l.elements)if(x.parentId===c.id){const C=Nl.clone(f,x,x.cx,x.cy,x.cz,x.type===z.Polygon);if(C&&(f.normal&&(C.normal=[...x.normal]),a.push(C),(C==null?void 0:C.type)===z.Wall||(C==null?void 0:C.type)===z.Roof)){y.set(C.id,x.id),A.set(x.id,C.id);for(const b of l.elements)if(b.parentId===x.id){const v=Nl.clone(C,b,b.cx,b.cy,b.cz);v&&(x.normal&&(v.normal=[...b.normal]),a.push(v))}}}l.elements.push(...a),g=!0;for(const x of l.elements){if(x.type===z.Roof){const C=y.get(x.id);if(C){const b=e().getElementById(C);b&&(x.wallsId=b.wallsId.map(v=>A.get(v)))}}if(x.type===z.Wall){const C=y.get(x.id);if(C){for(const b of l.elements)if(b.id===C&&b.type===z.Wall){const v=b,S=A.get(v.leftJoints[0]);S&&(x.leftJoints=[S]);const w=A.get(v.rightJoints[0]);if(w&&(x.rightJoints=[w]),v.roofId){const T=A.get(v.roofId);T&&(x.roofId=T)}break}}}}break}case z.SolarPanel:case z.Sensor:case z.Light:case z.WindTurbine:case z.ParabolicDish:case z.Heliostat:case z.FresnelReflector:case z.ParabolicTrough:{if((u==null?void 0:u.type)===z.Wall){if(u)switch(be.checkElementOnWallState(f,u)){case fc.Valid:{const y=u.relativeAngle-Vt;f.normal=[Math.cos(y),Math.sin(y),0],g=!0;break}case fc.OverLap:Lo(O.t("message.CannotPasteBecauseOfOverlap",p));break;case fc.OutsideBoundary:Lo(O.t("message.CannotPasteOutsideBoundary",p));break}break}if(u&&u.type===z.Roof){if(f.foundationId){const y=l.getElementById(f.foundationId);if(y){const A=In.getSolarPanelVerticesOnRoof(f,y),x=In.getRoofBoundaryVertices(u);if(!In.rooftopElementBoundaryCheck(A,x)){Lo(O.t("message.CannotPasteOutsideBoundary",p));break}if(!In.rooftopSPCollisionCheck(f,y,A)){Lo(O.t("message.CannotPasteBecauseOfOverlap",p));break}g=!0,l.updateElementOnRoofFlag=!0}}break}l.overlapWithSibling(f)?Lo(O.t("message.CannotPasteBecauseOfOverlap",p)):u&&(u.type===z.Foundation||u.type===z.Cuboid&&be.isIdentical(f.normal,o0))&&be.isSolarCollector(f)?(g=be.isSolarCollectorWithinHorizontalSurface(f,u),g||Lo(O.t("message.CannotPasteOutsideBoundary",p))):g=!0;break}case z.Wall:{const y=new ae(f.cx,f.cy,0),A=new ae(f.lx/2,0,0),x=new ae(-f.lx/2,0,0),C=f,b=new Qt(0,0,C.relativeAngle);C.leftPoint=y.clone().add(x.applyEuler(b)).toArray(),C.rightPoint=y.clone().add(A.applyEuler(b)).toArray(),C.roofId=void 0,C.leftRoofHeight=void 0,C.rightRoofHeight=void 0,C.centerLeftRoofHeight=void 0,C.centerRightRoofHeight=void 0,C.centerRoofHeight=void 0;for(const v of l.elements)if(v.parentId===c.id){const S=Nl.clone(f,v,v.cx,v.cy,v.cz,v.type===z.Polygon);S&&(f.normal&&(S.normal=[...v.normal]),a.push(S))}l.elements.push(...a),l.updateWallMapOnFoundationFlag=!l.updateWallMapOnFoundationFlag,g=!0;break}case z.Door:case z.Window:{if((u==null?void 0:u.type)===z.Wall)switch(be.checkElementOnWallState(f,u)){case fc.Valid:g=!0;break;case fc.OverLap:Lo(O.t("message.CannotPasteBecauseOfOverlap",p));break;case fc.OutsideBoundary:Lo(O.t("message.CannotPasteOutsideBoundary",p));break}else if((u==null?void 0:u.type)===z.Roof){const y=In.getRotationOnRoof(u.id,s);y&&(f.rotation=[...y]);const A=In.getWindowVerticesOnRoof(f),x=In.getRoofSegmentBoundary(u.id,s);if(!x)break;if(!In.rooftopElementBoundaryCheck(A,x)){Lo(O.t("message.CannotPasteOutsideBoundary",p));break}if(!In.rooftopWindowCollisionCheck(f.id,A,u.id)){Lo(O.t("message.CannotPasteBecauseOfOverlap",p));break}g=!0}break}default:if(g=!0,be.isPlantOrHuman(f))if(u){const y=l.getParent(f);if(y){const A=be.relativePoint(l.pastePoint,y);f.cx=A.x,f.cy=A.y,f.cz=A.z}}else f.parentId=Zo}g&&(l.elements.push(f),a.push(f))}}else if(l.elementsToPaste.length>1){let s=l.pastePoint;const c=l.copyCutElements();if(c.length>0){if(c[0].type===z.Cuboid){const u=l.selectedElement;if(u&&u.type===z.Cuboid){const{pos:d}=be.getWorldDataById(u.id);s.sub(d),c[0].parentId=u.id}}else if(c[0].type===z.Wall){const u=l.selectedElement;u&&u.type===z.Foundation&&(s=be.relativeCoordinates(s.x,s.y,s.z,u),s.set(s.x*u.lx,s.y*u.ly,0),c[0].parentId=u.id,c[0].foundationId=u.id)}c[0].cx=s.x,c[0].cy=s.y,c[0].cz=s.z,c[0].type===z.Foundation?c[0].cz+=c[0].lz/2:c[0].type===z.Cuboid&&(c[0].cz=c[0].lz/2),l.elements.push(...c),a.push(...c)}}a.length>0&&(l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(a[0].id),l.selectedElement=a[0])}),a},pasteElementsByKey(){const a=[];return r(l=>{if(l.elementsToPaste.length>0){const s=l.elementsToPaste[0],c=l.getParent(s),u=Nl.clone(c,s,s.cx,s.cy,s.cz);if(u){let d=!1;switch(u.type){case z.Door:case z.Window:{if(c){const f=u.lx/2;if(u.cx+=f*3,c.type===z.Wall)for(;u.cx+f<.5;)if(be.checkElementOnWallState(u,c)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx+=f;else if(c.type===z.Roof){const p=In.getRotationOnRoof(c.id,new ae(u.cx,u.cy));p&&(u.rotation=[...p]);let g=In.getWindowVerticesOnRoof(u),y=In.getRoofSegmentBoundary(c.id,new ae(u.cx,u.cy));const A=In.getRoofBoundaryVertices(c);for(;In.rooftopElementBoundaryCheck(g,A);)if(y&&In.rooftopElementBoundaryCheck(g,y)&&In.rooftopWindowCollisionCheck(u.id,g,c.id)){l.elements.push(u),d=!0;break}else{u.cx+=f/2;const x=In.getRotationOnRoof(c.id,new ae(u.cx,u.cy));x&&(u.rotation=[...x]),g=In.getWindowVerticesOnRoof(u),y=In.getRoofSegmentBoundary(c.id,new ae(u.cx,u.cy))}}if(!d){u.cx=s.cx-f*3;const p=In.getRotationOnRoof(c.id,new ae(u.cx,u.cy));if(p&&(u.rotation=[...p]),c.type===z.Wall){for(;u.cx-f>-.5;)if(c.type===z.Wall)if(be.checkElementOnWallState(u,c)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx-=f}else if(c.type===z.Roof){let g=In.getWindowVerticesOnRoof(u),y=In.getRoofSegmentBoundary(c.id,new ae(u.cx,u.cy));const A=In.getRoofBoundaryVertices(c);for(;In.rooftopElementBoundaryCheck(g,A);)if(y&&In.rooftopElementBoundaryCheck(g,y)&&In.rooftopWindowCollisionCheck(u.id,g,c.id)){l.elements.push(u),d=!0;break}else{u.cx-=f;const x=In.getRotationOnRoof(c.id,new ae(u.cx,u.cy));x&&(u.rotation=[...x]),g=In.getWindowVerticesOnRoof(u),y=In.getRoofSegmentBoundary(c.id,new ae(u.cx,u.cy))}}}if(!d){const p={lng:l.language};Lo(O.t("message.CannotPasteOutsideBoundary",p))}c.type===z.Roof&&d&&(l.updateElementOnRoofFlag=!0)}break}case z.Human:{u.cx+=1,l.elements.push(u),l.elementsToPaste=[u],d=!0;break}case z.Tree:case z.Flower:{u.cx+=u.lx,l.elements.push(u),l.elementsToPaste=[u],d=!0;break}case z.SolarPanel:case z.FresnelReflector:case z.Heliostat:case z.ParabolicDish:case z.ParabolicTrough:{if(u.parentId){const f=l.getParent(u);if(f){if(f.type===z.Wall){const y=u.lx/f.lx/2;for(u.cx+=y*3;u.cx+y<.5;)if(be.checkElementOnWallState(u,f)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx+=y;if(!d)for(u.cx=s.cx-y*3;u.cx-y>-.5;)if(be.checkElementOnWallState(u,f)===fc.Valid){l.elements.push(u),l.elementsToPaste=[u],d=!0;break}else u.cx-=y;if(!d){const A={lng:l.language};Lo(O.t("message.CannotPasteOutsideBoundary",A))}break}else if(f.type===z.Roof){if(s.foundationId){const y=l.getElementById(s.foundationId);if(y){const A=In.getRoofBoundaryVertices(f),x=u.lx/y.lx/2;for(u.cx+=x*1.25;u.cx+x<.5;){const C=In.getSolarPanelVerticesOnRoof(u,y);if(In.rooftopElementBoundaryCheck(C,A)&&In.rooftopSPCollisionCheck(u,y,C)){l.elements.push(u),d=!0;break}else u.cx+=x*1.25}if(!d)for(u.cx=s.cx-x*1.25;u.cx-x>-.5;){const C=In.getSolarPanelVerticesOnRoof(u,y);if(In.rooftopElementBoundaryCheck(C,A)&&In.rooftopSPCollisionCheck(u,y,C)){l.elements.push(u),d=!0;break}else u.cx-=x*1.25}if(d)l.updateElementOnRoofFlag=!0;else{const C={lng:l.language};Lo(O.t("message.CannotPasteOutsideBoundary",C))}}}break}const p=l.findNearestSibling(s.id);if(p){const y=l.getElementById(p);if(y){const A=u.cx,x=u.cy,C=u.cz,b=y.cx-s.cx,v=y.cy-s.cy,S=y.cz-s.cz;u.cx=y.cx+b,u.cy=y.cy+v,u.cz=y.cz+S,l.overlapWithSibling(u)&&(u.cx=s.cx-b,u.cy=s.cy-v,u.cz=s.cz-S,l.overlapWithSibling(u)&&(u.cx=s.cx-2*b,u.cy=s.cy-2*v,u.cz=s.cz-2*S,l.overlapWithSibling(u)&&(u.cx=A-b,u.cy=x-v,u.cz=C-S)))}else u.cx+=(.01+u.lx)/f.lx}else u.cx+=(.01+u.lx)/f.lx;const g={lng:l.language};l.overlapWithSibling(u)?Lo(O.t("message.CannotPasteBecauseOfOverlap",g)):f.type===z.Foundation||f.type===z.Cuboid&&be.isIdentical(u.normal,o0)?be.isSolarCollectorWithinHorizontalSurface(u,f)?(l.elements.push(u),l.elementsToPaste=[u],d=!0):Lo(O.t("message.CannotPasteOutsideBoundary",g)):(l.elements.push(u),l.elementsToPaste=[u],d=!0)}}break}case z.Sensor:case z.Light:case z.WindTurbine:{if(u.parentId){const f=l.getParent(u);f&&(u.cx+=u.lx/f.lx),u.cx<.5&&(l.elements.push(u),l.elementsToPaste=[u],d=!0)}break}case z.Polygon:{const f=u;for(const p of f.vertices)p.x+=.1;f.cx+=.1,l.elements.push(f),l.elementsToPaste=[f],d=!0;break}case z.Cuboid:{if(u.cx+=u.lx,l.elementsToPaste.length===1){const f=y=>{const A=[];for(const x of e().elements)if(x.parentId===y.id)switch(A.push(x),x.type){case z.Cuboid:case z.Foundation:case z.Wall:case z.Roof:A.push(...f(x))}return A},p=f(s),g=new Map;a.push(u),g.set(s.id,u);for(const y of p){const A=g.get(y.parentId);if(A){const x=Nl.clone(A,y,y.cx,y.cy,y.cz,y.type===z.Polygon);x&&(u.normal&&(x.normal=[...y.normal]),a.push(x),g.set(y.id,x))}}l.elements.push(...a),l.elementsToPaste=[u],l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(u.id),l.selectedElement=u}else if(l.elementsToPaste.length>1){const f=l.copyCutElements();f.length>0&&(f[0].cx+=f[0].lx,l.elements.push(...f),l.elementsToPaste=[...f],a.push(...f),l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(f[0].id),l.selectedElement=f[0])}d=!1;break}case z.Foundation:{if(u.cx+=u.lx,l.elementsToPaste.length===1){const f=new Map,p=new Map;for(const g of l.elements)if(g.parentId===s.id&&g.parentId!==g.id){const y=Nl.clone(u,g,g.cx,g.cy,g.cz,g.type===z.Polygon);if(y&&(u.normal&&(y.normal=[...g.normal]),a.push(y),(y==null?void 0:y.type)===z.Wall||(y==null?void 0:y.type)===z.Roof)){f.set(y.id,g.id),p.set(g.id,y.id);for(const A of l.elements)if(A.parentId===g.id){const x=Nl.clone(y,A,A.cx,A.cy,A.cz);x&&(g.normal&&(x.normal=[...A.normal]),a.push(x))}}}l.elements.push(...a),l.elements.push(u),l.elementsToPaste=[u];for(const g of l.elements){if(g.type===z.Roof){const y=f.get(g.id);if(y){const A=e().getElementById(y);A&&(g.wallsId=A.wallsId.map(x=>p.get(x)))}}if(g.type===z.Wall){const y=f.get(g.id);if(y){for(const A of l.elements)if(A.id===y&&A.type===z.Wall){const x=A,C=p.get(x.leftJoints[0]);C&&(g.leftJoints=[C]);const b=p.get(x.rightJoints[0]);if(b&&(g.rightJoints=[b]),x.roofId){const v=p.get(x.roofId);v&&(g.roofId=v)}break}}}}}else if(l.elementsToPaste.length>1){const f=l.copyCutElements();f.length>0&&(f[0].cx+=f[0].lx,l.elements.push(...f),a.push(...f),l.elementsToPaste=f,l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(f[0].id),l.selectedElement=f[0])}d=!0;break}case z.Wall:{const f=u,p=new ae(1,-1,0).applyEuler(new Qt(0,0,f.relativeAngle));if(u.cx+=p.x,u.cy+=p.y,l.elementsToPaste.length===1){const g=new ae(u.cx,u.cy,0),y=new ae(u.lx/2,0,0),A=new ae(-u.lx/2,0,0),x=new Qt(0,0,f.relativeAngle);f.leftPoint=g.clone().add(A.applyEuler(x)).toArray(),f.rightPoint=g.clone().add(y.applyEuler(x)).toArray(),f.roofId=void 0,f.leftRoofHeight=void 0,f.rightRoofHeight=void 0,f.centerLeftRoofHeight=void 0,f.centerRightRoofHeight=void 0,f.centerRoofHeight=void 0;for(const C of l.elements)if(C.parentId===s.id){const b=Nl.clone(u,C,C.cx,C.cy,C.cz,C.type===z.Polygon);b&&(u.normal&&(b.normal=[...C.normal]),a.push(b))}l.elements.push(...a),l.elements.push(u),l.elementsToPaste=[u]}else if(l.elementsToPaste.length>1){const g=l.copyCutElements();g.length>0&&(g[0].cx+=p.x,g[0].cy-=p.y,l.elements.push(...g),a.push(...g),l.elementsToPaste=g,l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(g[0].id),l.selectedElement=g[0])}l.updateWallMapOnFoundationFlag=!l.updateWallMapOnFoundationFlag,d=!0;break}}l.elementsToPaste.length===1&&d&&(a.push(u),l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(u.id),l.selectedElement=u)}}}),a},pvModules:{},loadPvModules(){const a=[];JB.parse(dht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c={name:s[0].trim(),brand:s[1].trim(),cellType:s[2].trim(),efficiency:parseFloat(s[3].trim()),length:parseFloat(s[4].trim()),nominalLength:parseFloat(s[5].trim()),width:parseFloat(s[6].trim()),nominalWidth:parseFloat(s[7].trim()),thickness:parseFloat(s[8].trim()),m:parseFloat(s[9].trim()),n:parseFloat(s[10].trim()),pmax:parseFloat(s[11].trim()),vmpp:parseFloat(s[12].trim()),impp:parseFloat(s[13].trim()),voc:parseFloat(s[14].trim()),isc:parseFloat(s[15].trim()),pmaxTC:parseFloat(s[16].trim()),noct:parseFloat(s[17].trim()),weight:parseFloat(s[18].trim()),color:s[19].trim(),shadeTolerance:s[20].trim(),bifacialityFactor:parseFloat(s[21].trim())};a.push(c)}r(s=>{for(const c of a)s.pvModules[c.name]=c})}})},getPvModule(a){return e().pvModules[a]},weatherModel:void 0,setWeatherModel(a){r(l=>{l.weatherModel=l.weatherData[a]})},weatherData:{},loadWeatherData(){if(Object.keys(e().weatherData).length>0)return;const a=[];JB.parse(sht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[],u=[],d=[];for(let p=5;p<29;p++)(p-5)%2===0?c.push(parseFloat(s[p].trim())):u.push(parseFloat(s[p].trim()));for(let p=29;p<41;p++)d.push(parseFloat(s[p].trim()));const f={city:s[0].trim(),country:s[1].trim(),longitude:parseFloat(s[2].trim()),latitude:parseFloat(s[3].trim()),elevation:parseFloat(s[4].trim()),lowestTemperatures:c,highestTemperatures:u,sunshineHours:d};a.push(f)}r(s=>{for(const c of a)s.weatherData[c.city+", "+c.country]=c;s.weatherModel=s.weatherData["Boston MA, USA"]}),console.log(a.length+" weather datasets loaded")}})},getWeather(a){const l=e().weatherModel;return l||e().weatherData[a]},horizontalSolarRadiationData:{},loadHorizontalSolarRadiationData(){const a=[];JB.parse(cht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[];for(let d=2;d<14;d++)c.push(parseFloat(s[d].trim()));const u={city:s[0].trim(),country:s[1].trim(),data:c};a.push(u)}r(s=>{for(const c of a)s.horizontalSolarRadiationData[c.city+", "+c.country]=c})}})},getHorizontalSolarRadiation(a){return e().horizontalSolarRadiationData[a]},verticalSolarRadiationData:{},loadVerticalSolarRadiationData(){const a=[];JB.parse(uht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[];for(let d=2;d<14;d++)c.push(parseFloat(s[d].trim()));const u={city:s[0].trim(),country:s[1].trim(),data:c};a.push(u)}r(s=>{for(const c of a)s.verticalSolarRadiationData[c.city+", "+c.country]=c})}})},getVerticalSolarRadiation(a){return e().verticalSolarRadiationData[a]},getClosestCity(a,l){let s=Number.MAX_VALUE,c=null,u;const d=e().weatherData;for(const f in d)Object.hasOwn(d,f)&&(u=be.getDistance(l,a,d[f].longitude,d[f].latitude),u{l.sunlightDirection=a.clone()})},cameraDirection:new ae,getCameraDirection(){return e().cameraDirection},updateSceneRadiusFlag:!1,updateSceneRadius(){r(a=>{a.updateSceneRadiusFlag=!a.updateSceneRadiusFlag})},sceneRadius:100,setSceneRadius(a){r(l=>{l.sceneRadius=a})},selectedElementAngle:0,selectedElementHeight:0,selectedElementX:0,selectedElementY:0,isAddingElement(){return!!(e().addedCuboidId||e().addedFoundationId||e().addedWallId||e().addedWindowId||e().addedDoorId)},addedFoundationId:null,deletedFoundationId:null,addedCuboidId:null,deletedCuboidId:null,addedWallId:null,deletedWallId:null,updateWallMapOnFoundationFlag:!1,updateWallMapOnFoundation(){r(a=>{a.updateWallMapOnFoundationFlag=!a.updateWallMapOnFoundationFlag})},updateElementOnRoofFlag:!1,setUpdateElementOnRoofFlag(a){r(l=>{l.updateElementOnRoofFlag=a})},updateElementOnRoofFn(){r(a=>{a.updateElementOnRoofFlag=!0})},addedWindowId:null,addedDoorId:null,addedRoofIdSet:new Set,deletedRoofId:null,deletedRoofIdSet:new Set,autoDeletedRoofs:null,autoDeletedRoofIdSet:new Set,autoDeletedChild:null,getAutoDeletedElements(){const a=e().autoDeletedRoofs,l=e().autoDeletedChild;return!a||!l?null:[...a,...l]},deleteAddedRoofId(a){r(l=>{l.addedRoofIdSet.delete(a)})},groupActionMode:!1,setGroupActionMode(a){r(l=>{l.groupActionMode=a})},groupActionUpdateFlag:!1,locale:Lpe,localFileDialogRequested:!1,loggable:!1,actionInfo:void 0,currentUndoable:void 0,showCloudFileTitleDialog:!1,showCloudFileTitleDialogFlag:!1,localContentToImportAfterCloudFileUpdate:void 0,enableFineGrid:!1,setEnableFineGrid(a){r(l=>{l.enableFineGrid=a})}}},{name:"aladdin-storage",storage:GNe(()=>new URLSearchParams(window.location.search).get("viewonly")==="true"?sessionStorage:localStorage),skipHydration:be.isOpenFromURL(),partialize:t=>({language:t.language,animate24Hours:t.animate24Hours,floatingWindowOpacity:t.floatingWindowOpacity,selectedFloatingWindow:t.selectedFloatingWindow,locale:t.locale,cloudFile:t.cloudFile,latestModelSite:t.latestModelSite,modelSites:t.modelSites,modelsMapLatitude:t.modelsMapLatitude,modelsMapLongitude:t.modelsMapLongitude,modelsMapAddress:t.modelsMapAddress,modelsMapZoom:t.modelsMapZoom,modelsMapType:t.modelsMapType,modelsMapTilt:t.modelsMapTilt,world:t.world,elements:t.elements,viewState:t.viewState,graphState:t.graphState,actionState:t.actionState,modelType:t.modelType,modelAuthor:t.modelAuthor,modelLabel:t.modelLabel,modelDescription:t.modelDescription,projectView:t.projectView,projectState:t.projectState,designProjectType:t.designProjectType,notes:t.notes,user:t.user,sceneRadius:t.sceneRadius,weatherModel:t.weatherModel,solarPanelArrayLayoutParams:t.solarPanelArrayLayoutParams,solarPanelArrayLayoutConstraints:t.solarPanelArrayLayoutConstraints,economicsParams:t.economicsParams,evolutionMethod:t.evolutionMethod,evolutionaryAlgorithmState:t.evolutionaryAlgorithmState,geneticAlgorithmWizardSelectedTab:t.geneticAlgorithmWizardSelectedTab,particleSwarmOptimizationWizardSelectedTab:t.particleSwarmOptimizationWizardSelectedTab,minimumNavigationMoveSpeed:t.minimumNavigationMoveSpeed,minimumNavigationTurnSpeed:t.minimumNavigationTurnSpeed,shadowMapSize:t.shadowMapSize})})));class $Qt extends Se.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0}}componentDidCatch(e,n){}clearCacheAndReload(){localStorage.clear(),window.location.reload()}render(){return this.state.hasError?h.jsxs("div",{style:{marginTop:10,marginLeft:20},children:[h.jsx("h1",{children:"Error"}),h.jsx("p",{children:"Something went wrong. Please click the following button to clear the cache and reload the page."}),h.jsx("p",{children:h.jsx("button",{onClick:this.clearCacheAndReload,children:"Refresh"})})]}):this.props.children}}const QQt=t=>{const e=typeof t=="function",n=m.useRef(t);m.useEffect(()=>{n.current=t}),m.useEffect(()=>{if(e){const o=i=>{const r=n.current(i);if(typeof r=="string")return i.preventDefault(),i.returnValue=r;if(i.defaultPrevented)return i.returnValue=""};return window.addEventListener("beforeunload",o),()=>{window.removeEventListener("beforeunload",o)}}},[e])},ZQt=({children:t=null,onBeforeunload:e})=>(QQt(e),t),eZt="/aladdin/assets/daysky-xGPh_lTa.jpg",tZt="/aladdin/assets/desert-C1g8PGRA.jpg",nZt="/aladdin/assets/dune-RJd7hu4h.jpg",oZt="/aladdin/assets/forest-DjILrMk4.jpg",iZt="/aladdin/assets/grassland-CDTfZBr_.jpg",RSe="/aladdin/assets/hill-spring-BepVmTLf.jpg",HSe="/aladdin/assets/hill-summer-RoU04vrD.jpg",MSe="/aladdin/assets/hill-fall-BPbpF4zI.jpg",ISe="/aladdin/assets/hill-winter-CQjb4ZNm.jpg",rZt="/aladdin/assets/lake-Dj_bK41O.jpg",aZt="/aladdin/assets/mountain-Du_Jo4ue.jpg",lZt="/aladdin/assets/rural-BqG-D3I1.jpg",sZt=Se.memo(({theme:t="Default"})=>{const e=M(dn),n=M(lW),o=M(xb),i=M(ege),r=M(dge),a=M(vH),l=M(jn),s=M(t3),c=M(oge),u=M(yh),d=M(Xs),f=M(Ya),p=M(En),g=M(e3),y=M(KBe),{scene:A,camera:x,gl:{domElement:C}}=Xi(),b=m.useRef(null),v=m.useRef(null),S=m.useRef(null),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new ae),R=m.useRef(new ae),H=m.useRef(new ae(1,1,1)),D=m.useRef(0),E=m.useRef(0),L=m.useRef(new Map),U=m.useRef(new Map),F=m.useRef(new Map),W=m.useRef(new Map),B=m.useRef(null),k=Kt(),N=m.useMemo(()=>new Gs,[]),j=m.useMemo(()=>new Qt,[]),_=new Date(f).getMonth()+1,[J,Q]=m.useState(Kf.Sky),ee=m.useMemo(()=>new ae,[]),$=m.useMemo(()=>new Qt,[]);if(v.current&&u){J!==Kf.Vertical&&Q(Kf.Vertical);const re=r(v.current,u),ge=i(),we=-Math.atan2(ge.x,ge.y);ee.set(re.x,re.y,0),$.set(-Vt,0,we,"ZXY")}const q=m.useMemo(()=>{switch(t){case Ns.Desert:return .5;case Ns.Dune:return .25;case Ns.Forest:return .25;case Ns.Grassland:return .15;case Ns.Hill:return .3;case Ns.Lake:return .1;case Ns.Mountain:return .4;case Ns.Rural:return .25;default:return .2}},[t]),le=m.useMemo(()=>{switch(t){case Ns.Desert:return tZt;case Ns.Dune:return nZt;case Ns.Forest:return oZt;case Ns.Grassland:return iZt;case Ns.Hill:return d>0?_>=12||_<=3?ISe:_>3&&_<=5?RSe:_>5&&_<=9?HSe:MSe:_>=12||_<=3?HSe:_>3&&_<=5?MSe:_>5&&_<=9?ISe:RSe;case Ns.Lake:return rZt;case Ns.Mountain:return aZt;case Ns.Rural:return lZt;default:return eZt}},[t,_,d]),ie=Ab(le),pe=re=>re===z.Foundation||re===z.Cuboid||re===z.Tree||re===z.Flower||re===z.Human,ne=re=>{if(re.intersections.length>0)if(re.intersections[0].object===b.current)n(),e(we=>{we.clickObjectType=z.Sky});else{const we=o();we&&pe(we.type)&&(v.current=we,be.isPlantOrHuman(v.current)&&(Q(Kf.Vertical),$.set(-Vt,0,0,"ZXY")),we.type!==z.Foundation&&we.type!==z.Cuboid&&Ln.getState().setEnableOrbitController(!1))}},Z=re=>{if(!re)return"";const ge=re.name.split(" ");return ge[2]?ge[2]:Z(re.parent)},he=(re,ge)=>{if(re==null)return null;for(const we of re.children)if(we.name.includes(`${ge}`))return we;return null},fe=(re,ge)=>{var Ie,Ce;const we=Ln.getState().contentRef,ye=he(we==null?void 0:we.current,re.id);if(ye){for(const Ee of ye.children)if(Ee.name.includes(`${ge.id}`)){(Ce=(Ie=Ln.getState().contentRef)==null?void 0:Ie.current)==null||Ce.add(Ee);break}}ge.parentId=Zo;const Te=new ae(ge.cx,ge.cy,ge.cz).applyEuler(new Qt(0,0,re.rotation[2])).add(P.current);ge.cx=Te.x,ge.cy=Te.y,ge.cz=0,F.current.set(ge.id,new ae(Te.x,Te.y,0)),W.current.set(ge.id,Zo)},se=(re,ge,we)=>{if(!re||!ge)return;const ye=Ln.getState().contentRef;if(ye!=null&&ye.current){const Te=be.getObjectChildById(ye.current,ge),Ie=be.getObjectChildById(ge===Zo?ye.current:Te,we);if(Ie){if(re===Zo)ye.current.add(Ie);else{const Ce=be.getObjectChildById(ye.current,re);Ce==null||Ce.add(Ie)}Zh()}}},oe=(re,ge)=>{re&&e(we=>{for(const ye of we.elements)if(ye.id===ge&&!be.isFoundationOrCuboid(ye)){ye.parentId=re;break}})},de=re=>{for(const ge of re)if(ge.object.userData.stand)return ge;return null},ve=(re,ge)=>{if(re&&re.current){const we=de(ge.intersections);if(we){const ye=we.object,Te=re.current.parent;if(ye.name==="Ground"){if(Te&&Te.name!=="Content"){const Ie=Ln.getState().contentRef;Ie&&Ie.current&&(Ie.current.add(re.current),oe(Zo,Z(re.current)))}re.current.position.copy(we.point),Zh()}else if(ye.userData.stand){const Ie=ye.parent;if(Ie){Te&&Te.uuid!==Ie.uuid&&(Ie.add(re.current),oe(Z(Ie),Z(re.current))),j.set(0,0,-Ie.rotation.z);const Ce=new ae().subVectors(we.point,Ie.position).applyEuler(j);re.current.position.copy(Ce),Zh()}}}}},Pe=(re,ge,we)=>{e(ye=>{for(const Te of ye.elements)if(Te.id===re){be.isFoundationOrCuboid(Te)||(Te.parentId=ge),Te.cx=we.x,Te.cy=we.y,Te.cz=we.z;break}})},me=()=>{if(M.getState().viewState.orthographic)return!1;if(b.current){const re=N.intersectObjects(be.fetchIntersectables(A),!1);if(re.length>0){for(const ge of re)if(ge.object.userData.stand)return!1}}return N.intersectObjects([b.current]).length>0},Re=re=>{if(v.current&&v.current.type&&!v.current.locked){const ge=new Gt;ge.x=re.offsetX/C.clientWidth*2-1,ge.y=-(re.offsetY/C.clientHeight)*2+1,N.setFromCamera(ge,x);let we;if(S.current&&J===Kf.Vertical&&(we=N.intersectObjects([S.current]),we&&we.length>0)){const ye=we[0].point;switch(v.current.type){case z.Tree:{const Te=v.current;switch(u){case yt.Top:c(Te.id,ye.z),e(Ie=>{Ie.selectedElementHeight=Math.max(1,ye.z)});break;case yt.Left:case yt.Right:case yt.Upper:case yt.Lower:s(Te.id,2*Math.hypot(ye.x-Te.cx,ye.y-Te.cy));break}ve(Ln.getState().treeRef,re);break}case z.Human:{ve(Ln.getState().humanRef,re);break}case z.Cuboid:{if(be.isTopResizeHandle(u)){e(Ie=>{var Ce;for(const Ee of Ie.elements)if(Ee.id===((Ce=v.current)==null?void 0:Ce.id)){Ee.cz=Math.max(.5,ye.z/2),Ee.lz=Math.max(1,ye.z);break}Ie.selectedElementHeight=Math.max(1,ye.z)});const Te=Ln.getState().cuboidRef;if(Te!=null&&Te.current){for(const Ie of Te.current.children)if(Ie.name.includes("Human")||Ie.name.includes("Tree")){const Ce=w.current.get(Z(Ie));Ce&&(Math.abs(E.current-Ce.z)<.01?Ie.position.setZ(Math.max(ye.z/2,.5)):Ie.position.setZ(Ce.z-Te.current.position.z))}}}break}}}}},ze=re=>{if(re.button===2)return;e(we=>{we.contextMenuObjectType=null}),ne(re);const ge=v.current;if(ge)switch(E.current=ge.lz,P.current.set(ge.cx,ge.cy,ge.cz),ge.type){case z.Human:B.current=ge.parentId;break;case z.Tree:B.current=ge.parentId,D.current=ge.lx;break;case z.Cuboid:{P.current.set(ge.cx,ge.cy,ge.cz),H.current.set(ge.lx,ge.ly,ge.lz),w.current.clear();const we=new ae(ge.cx,ge.cy,ge.cz),ye=a(ge.id);if(ye.length>0){L.current.clear();const Te=ge.rotation[2];for(const Ie of ye)switch(Ie.type){case z.Tree:case z.Human:{const Ce=new ae(Ie.cx,Ie.cy,Ie.cz).applyEuler(new Qt(0,0,Te));Ce.add(we),w.current.set(Ie.id,Ce),L.current.set(Ie.id,new ae(Ie.cx,Ie.cy,Ie.cz));break}case z.SolarPanel:case z.Sensor:{if(be.isIdentical(Ie.normal,o0)){const Ce=new ae(Ie.cx*ge.lx,Ie.cy*ge.ly,Ie.cz*ge.lz).applyEuler(new Qt(0,0,Te));Ce.add(we),w.current.set(Ie.id,Ce)}break}case z.Polygon:{if(be.isIdentical(Ie.normal,o0)){const Ce=Ie,Ee=[];for(const Ue of Ce.vertices){const Ne=new Gt(Ue.x*ge.lx,Ue.y*ge.ly).rotateAround(wr,Te);Ne.add(new Gt(we.x,we.y)),Ee.push(Ne)}T.current.set(Ce.id,Ee)}break}}}break}}},Ae=()=>{var re,ge;if(v.current){const we=l(v.current.id);if(we&&!we.locked){let ye=null,Te=B.current;switch(we.type){case z.Cuboid:switch(u){case yt.UpperLeftTop:case yt.UpperRightTop:case yt.LowerLeftTop:case yt.LowerRightTop:{U.current.clear(),e(Ee=>{Ee.actionState.cuboidHeight=we.lz;for(const Ue of Ee.elements)if(be.isPlantOrHuman(Ue)&&Ue.parentId===we.id)if(U.current.set(Ue.id,we.id),Math.abs(H.current.z/2-Ue.cz)<.01)Ue.cz=we.lz/2;else{const Ne=Ue.cz+P.current.z-we.cz;Math.abs(Ne)>we.lz/2?fe(we,Ue):Ue.cz=Ne}});const Ie=a(we.id);if(Ie.length>0)for(const Ee of Ie)F.current.set(Ee.id,new ae(Ee.cx,Ee.cy,Ee.cz));const Ce={name:"Change Cuboid Height",timestamp:Date.now(),changedElementId:we.id,changedElementType:we.type,oldValue:E.current,newValue:we.lz,oldChildrenPositionsMap:new Map(L.current),newChildrenPositionsMap:new Map(F.current),oldChildrenParentIdMap:new Map(U.current),newChildrenParentIdMap:new Map(W.current),undo:()=>{var Ee,Ue;if(e(Ne=>{for(const Le of Ne.elements)if(Le.id===Ce.changedElementId){Le.lz=Ce.oldValue,Le.cz=Ce.oldValue/2;break}}),Ce.oldChildrenPositionsMap&&Ce.oldChildrenPositionsMap.size>0)for(const[Ne,Le]of Ce.oldChildrenPositionsMap.entries()){const qe=l(Ne);if((qe==null?void 0:qe.type)!==z.Polygon){g(Ne,Le.x,Le.y,Le.z);const We=(Ee=Ce.oldChildrenParentIdMap)==null?void 0:Ee.get(Ne),De=(Ue=Ce.newChildrenParentIdMap)==null?void 0:Ue.get(Ne);We&&De&&We!==De&&(se(We,De,Ne),oe(We,Ne))}}},redo:()=>{var Ee,Ue;if(e(Ne=>{for(const Le of Ne.elements)if(Le.id===Ce.changedElementId){Le.lz=Ce.newValue,Le.cz=Ce.newValue/2;break}}),Ce.newChildrenPositionsMap&&Ce.newChildrenPositionsMap.size>0)for(const[Ne,Le]of Ce.newChildrenPositionsMap.entries()){g(Ne,Le.x,Le.y,Le.z);const qe=(Ee=Ce.oldChildrenParentIdMap)==null?void 0:Ee.get(Ne),We=(Ue=Ce.newChildrenParentIdMap)==null?void 0:Ue.get(Ne);qe&&We&&qe!==We&&(se(We,qe,Ne),oe(We,Ne))}}};p(Ce);break}}break;case z.Tree:switch(u){case yt.Top:{const Ie={name:"Change Tree Height",timestamp:Date.now(),changedElementId:we.id,changedElementType:we.type,oldValue:E.current,newValue:we.lz,undo:()=>{c(Ie.changedElementId,Ie.oldValue)},redo:()=>{c(Ie.changedElementId,Ie.newValue)}};p(Ie),e(Ce=>{Ce.actionState.treeHeight=we.lz});break}case yt.Left:case yt.Right:case yt.Lower:case yt.Upper:{const Ie={name:"Change Tree Spread",timestamp:Date.now(),changedElementId:we.id,changedElementType:we.type,oldValue:D.current,newValue:we.lx,undo:()=>{s(Ie.changedElementId,Ie.oldValue)},redo:()=>{s(Ie.changedElementId,Ie.newValue)}};p(Ie),e(Ce=>{Ce.actionState.treeSpread=we.lx});break}}ye=(re=Ln.getState().treeRef)==null?void 0:re.current;break;case z.Human:ye=(ge=Ln.getState().humanRef)==null?void 0:ge.current;break}if(ye){const Ie=N.intersectObjects(be.fetchIntersectables(A),!1),Ce=de(Ie);if(Ce){const Ee=Ce.point;if(Ce.object.name==="Ground")Pe(we.id,Zo,Ee),R.current.set(Ee.x,Ee.y,Ee.z),Te=Zo;else if(Ce.object.userData.stand){const Ue=Z(Ce.object),Ne=Ce.object.parent;if(Ne){const Le=new ae().subVectors(Ee,Ne.position).applyEuler(j);Pe(we.id,Ue,Le),R.current.set(Le.x,Le.y,Le.z),Te=Ue}}}}if(M.getState().moveHandleType&&be.isPlantOrHuman(we)&&(R.current.distanceToSquared(P.current)>kt||N.intersectObjects([b.current]).length>0)){let Ie=!0;if(!M.getState().viewState.orthographic&&(Ie=R.current.length().02}if(!Ie||me()){g(we.id,P.current.x,P.current.y,P.current.z),ye&&be.isPlantOrHuman(we)&&ye.position.copy(P.current),be.isPlantOrHuman(we)&&oe(B.current,we.id);const Ce=Ln.getState().contentRef;if(Ce!=null&&Ce.current&&B.current&&ye){if(B.current===Zo)Ce.current.add(ye);else{const Ee=be.getObjectChildById(Ce.current,B.current);Ee==null||Ee.add(ye)}Zh()}Lo(O.t("message.CannotMoveObjectTooFar",k))}else{const Ce={name:"Move",timestamp:Date.now(),movedElementId:we.id,movedElementType:we.type,oldCx:P.current.x,oldCy:P.current.y,oldCz:P.current.z,newCx:R.current.x,newCy:R.current.y,newCz:R.current.z,oldParentId:B.current,newParentId:Te,undo:()=>{g(Ce.movedElementId,Ce.oldCx,Ce.oldCy,Ce.oldCz),oe(Ce.oldParentId,Ce.movedElementId),se(Ce.oldParentId,Ce.newParentId,Ce.movedElementId)},redo:()=>{g(Ce.movedElementId,Ce.newCx,Ce.newCy,Ce.newCz),oe(Ce.newParentId,Ce.movedElementId),se(Ce.newParentId,Ce.oldParentId,Ce.movedElementId)}};p(Ce),y()}}}v.current=null,Q(Kf.Sky),e(ye=>{ye.moveHandleType=null,ye.resizeHandleType=null,ye.rotateHandleType=null}),Ln.setState({humanRef:null,treeRef:null}),Ln.getState().setEnableOrbitController(!0)}};return h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{ref:b,name:"Sky",rotation:[Vt,0,0],scale:[1,q,1],onContextMenu:re=>{re.intersections.length>0&&re.intersections[0].object===b.current&&(n(),e(we=>{we.clickObjectType=z.Sky,we.contextMenuObjectType=z.Sky}))},onPointerDown:ze,children:[h.jsx("sphereGeometry",{args:[k3t,16,8,0,na,0,Vt]}),h.jsx("meshToonMaterial",{map:ie,side:p0,opacity:1,color:"skyblue"})]}),v.current&&J!==Kf.Sky&&h.jsx(sa,{ref:S,visible:!1,name:"Sky Intersection Plane",rotation:$,position:ee,args:[1e3,1e3],onPointerMove:M2.throttle(Re,Ek),onPointerUp:Ae,children:h.jsx("meshStandardMaterial",{side:ji})})]})}),cZt=Se.memo(({lineWidth:t=1,endPoint:e=1e3,showTickMarks:n=!0,showTickLabels:o=!0})=>{const i=M(owt),r=M(mh),a=M(hu),[l,s]=m.useState(!1),c=50,u=m.useRef(1),d=m.useRef(u.current*10),f=m.useRef(new Array(c).fill(1)),p=.1,g=.3,y="FloralWhite",A=t/2,x=aA(lq,nQ),C=Math.min(1,Math.max(.5,r*.01)),b={font:x,height:0,size:C},v=a?i.max.z+.01:0;m.useEffect(()=>{r<50?u.current=1:r<100?u.current=2:u.current=5,d.current=10*u.current,f.current=new Array(c).fill(1),s(!l)},[r]);const S=w=>w%(5*u.current)===0?g:p;return h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},name:"x axis line",points:[[-e,0,v],[e,0,v]],color:"red",lineWidth:t}),a&&n&&f.current.map((w,T)=>{const P=(T+1)*u.current,R=S(P);return h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[P,-R,v],[P,R,v]],color:y,lineWidth:A}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-P,-R,v],[-P,R,v]],color:y,lineWidth:A})]},P)}),a&&o&&f.current.map((w,T)=>{const P=(T+1)*u.current;return P%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[P-C,-g*2-C,v],children:[h.jsx("textGeometry",{args:[(P<10?" ":"")+P,b]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},P):h.jsx(Se.Fragment,{},P)}),a&&o&&f.current.map((w,T)=>{const P=-(T+1)*u.current;return P%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[P-C,-g*2-C,v],children:[h.jsx("textGeometry",{args:[(P>-10?" ":"")+P,b]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},P):h.jsx(Se.Fragment,{},P)}),h.jsx(Fn,{name:"y axis line",userData:{unintersectable:!0},points:[[0,-e,v],[0,e,v]],color:"blue",lineWidth:t}),a&&n&&f.current.map((w,T)=>{const P=(T+1)*u.current,R=S(P);return h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[-R,P,v],[R,P,v]],color:y,lineWidth:A*1.5}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-R,-P,v],[R,-P,v]],color:y,lineWidth:A*1.5})]},P)}),a&&o&&f.current.map((w,T)=>{const P=(T+1)*u.current;return P%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[-g*2-C*2,P-C/2,v],children:[h.jsx("textGeometry",{args:[P+"",b]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},P):h.jsx(Se.Fragment,{},P)}),a&&o&&f.current.map((w,T)=>{const P=-(T+1)*u.current;return P%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[-g*2-C*2,P-C/2,v],children:[h.jsx("textGeometry",{args:[P+"",b]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},P):h.jsx(Se.Fragment,{},P)}),!a&&h.jsx(Fn,{userData:{unintersectable:!0},name:"z axis line",points:[[0,0,0],[0,0,e]],color:"green",lineWidth:t})]})}),uZt=Se.memo(({id:t,cx:e,cy:n,cz:o,name:i=Yt.Jack,locked:r=!1,flip:a=!1,observer:l=!1,parentId:s})=>{var ee;let c=!1;M($=>{if(s===Zo)c=!0;else for(const q of $.elements)if(q.id===s){c=!0;break}});const u=M(hp);m.useEffect(()=>{c||u(t,!1)},[c,t]);const d=M(dn),f=M(hu)??!1,p=M(Vc),g=M(jn),y=M(Cb),A=M(ey),x=gt(cs),C=Hs(t),{gl:b}=Xi(),[v,S]=m.useState(!1),w=Ln($=>$.contentRef),T=m.useRef(null),P=m.useRef(null),R=Kt(),H=m.useMemo(()=>g(t),[t]),D=m.useRef(!1),E=M(AH);E!==D.current&&(D.current=E,w!=null&&w.current&&T.current&&w.current.add(T.current)),m.useEffect(()=>{if(s!==Zo){const $=N();$&&T.current&&$.add(T.current)}},[E,s]);const L=m.useMemo(()=>new tf().load(Ip.fetchTextureImage(i),$=>{a&&($.wrapS=Ss,$.repeat.x=-1),F($)}),[i,a]),[U,F]=m.useState(L),W=m.useMemo(()=>Ip.fetchWidth(i),[i]),B=m.useMemo(()=>Ip.fetchHeight(i),[i]),k=m.useMemo(()=>Ip.fetchLabel(i,R)+(r?" ("+O.t("shared.ElementLocked",R)+")":"")+` -`+O.t("word.Coordinates",R)+": ("+e.toFixed(1)+", "+n.toFixed(1)+") "+O.t("word.MeterAbbreviation",R),[i,r,e,n,R]);m.useEffect(()=>{const $=N();$&&T.current&&$.add(T.current)},[w]);const N=()=>s!==Zo&&(w!=null&&w.current)?be.getObjectChildById(w.current,s):null;rA(({camera:$})=>{if(T.current){const{rot:q}=be.getWorldDataById(s);if(f)T.current.rotation.set(Vt,Math.PI-q,0);else{const{x:le,y:ie}=$.position,{x:pe,y:ne}=T.current.localToWorld(new ae);T.current.rotation.set(0,0,-Math.atan2(le-pe,ie-ne)-q)}}});const j=m.useCallback(($,q)=>{gt.getState().duringCameraInteraction||$.intersections.length>0&&($.intersections[0].object===$.eventObject||$.intersections.length>1&&$.intersections[1].object===$.eventObject)&&(d(ie=>{ie.hoveredHandle=q,ie.selectedElementHeight=H.lz}),be.isMoveHandle(q)?b.domElement.style.cursor="move":b.domElement.style.cursor="pointer")},[H.lz]),Y=m.useCallback(()=>{d($=>{$.hoveredHandle=null}),b.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),_=l?Ip.fetchGender(H.name):Ca.Male,J=l?(H.flip?-1:1)*Ip.fetchHatOffsetX(H.name):0,Q=l?Ip.fetchHatOffsetY(H.name):0;return c?h.jsx("group",{ref:T,name:"Human Group "+t,userData:{aabb:!0},position:[e,n,o??0],children:h.jsxs("group",{position:[0,.1,B/2],children:[h.jsx(pC,{rotation:[Vt,0,0],uuid:t,name:i,follow:!1,children:h.jsx(sa,{ref:P,renderOrder:3,receiveShadow:!x,name:`Human ${i} plane`,args:[W,B],onContextMenu:$=>{p(t,$,zo.ContextMenu),d(q=>{$.intersections.length>0&&$.intersections[0].object===P.current&&(q.contextMenuObjectType=z.Human)})},onPointerDown:$=>{$.button!==2&&$.eventObject===$.intersections[0].eventObject&&(p(t,$,zo.Move),Ln.setState({humanRef:T}))},onPointerOver:$=>{$.intersections.length>0&&$.intersections[0].object===P.current&&S(!0)},onPointerOut:()=>{S(!1)},children:h.jsx("meshToonMaterial",{map:U,alphaTest:.5,side:ji})})}),C&&r&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-W/2,0,-B/2],[-W/2,0,B/2],[-W/2,0,B/2],[W/2,0,B/2],[W/2,0,-B/2],[W/2,0,B/2],[W/2,0,-B/2],[-W/2,0,-B/2]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(ee=P.current)==null?void 0:ee.rotation,color:l0}),l&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{uuid:t,visible:!1,userData:{eyeball:!0},name:i+" eyeball",args:[W/5,4,4,0,na,0,na],position:[0,0,H.lz/2],children:h.jsx("meshBasicMaterial",{attach:"material",side:ji})}),h.jsx(wa,{name:"Observer hat 1",userData:{unintersectable:!0},castShadow:!1,receiveShadow:!1,args:[.1,.1,.1,16,2],position:[J,0,H.lz/2-.05+Q],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:_===Ca.Male?"gray":"hotpink"})}),h.jsx(wa,{name:"Observer hat 2",userData:{unintersectable:!0},castShadow:!1,receiveShadow:!1,args:[.2,.2,.01,16,2],position:[J,0,H.lz/2-.1+Q],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:_===Ca.Male?"gray":"hotpink"})})]}),C&&!r&&h.jsx(ts,{position:[0,0,-B/2],args:[Af*4,6,6,0,Math.PI],name:yo.Default,onPointerDown:$=>{$.button!==2&&$.eventObject===$.intersections[0].eventObject&&(p(t,$,zo.Move),Ln.setState({humanRef:T}))},onPointerEnter:$=>{j($,yo.Default)},onPointerLeave:Y,children:h.jsx("meshBasicMaterial",{attach:"material",color:A===yo.Default||y===yo.Default?nr:jx})}),v&&!C&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:k,color:(H==null?void 0:H.labelColor)??"white",fontSize:(H==null?void 0:H.labelFontSize)??20,textHeight:(H==null?void 0:H.labelSize)??.2,position:[0,0,B/2+((H==null?void 0:H.labelHeight)??.4)]})]})}):null}),zSe="/aladdin/assets/apple_spring-Ctq5fKrS.png",Iue="/aladdin/assets/apple_summer-Dr8H3cny.png",DSe="/aladdin/assets/apple_fall-Cp6pAzIj.png",ESe="/aladdin/assets/apple_winter-D03fshM0.png",kSe="/aladdin/assets/birch_spring-sKFxYorO.png",zue="/aladdin/assets/birch_summer-FaJ43Xt4.png",FSe="/aladdin/assets/birch_fall-PIQyyY4L.png",LSe="/aladdin/assets/birch_winter-C5h1hTVJ.png",Bqe="/aladdin/assets/coconut-rkhxogn3.png",WSe="/aladdin/assets/dogwood_spring-9vLsm3g2.png",Due="/aladdin/assets/dogwood_summer-DgdkRZ2O.png",NSe="/aladdin/assets/dogwood_fall-Wu983FGV.png",USe="/aladdin/assets/dogwood_winter-4w2TO6RG.png",BSe="/aladdin/assets/elm_spring-DJcRoCq2.png",Eue="/aladdin/assets/elm_summer-VNy_g1qe.png",jSe="/aladdin/assets/elm_fall-ChdMN8fe.png",YSe="/aladdin/assets/elm_winter-Qng-eWYe.png",jqe="/aladdin/assets/fan_palm-DbCJ1Nso.png",OSe="/aladdin/assets/linden_spring-C_zkyu46.png",kue="/aladdin/assets/linden_summer-zap94GfP.png",_Se="/aladdin/assets/linden_fall-CK-BpZ7U.png",VSe="/aladdin/assets/linden_winter-Dt7sgspu.png",GSe="/aladdin/assets/magnolia_spring-CNor1Lb8.png",Fue="/aladdin/assets/magnolia_summer-C7-8T4uo.png",XSe="/aladdin/assets/magnolia_fall-D3wi6n7Y.png",JSe="/aladdin/assets/magnolia_winter-116tEre9.png",KSe="/aladdin/assets/maple_spring-26OHjb4f.png",Lue="/aladdin/assets/maple_summer-BbcBLKSJ.png",qSe="/aladdin/assets/maple_fall-Bp5Vy2Jl.png",$Se="/aladdin/assets/maple_winter-BnFW631O.png",QSe="/aladdin/assets/oak_spring-CsUg07TC.png",Wue="/aladdin/assets/oak_summer-CPK7amde.png",ZSe="/aladdin/assets/oak_fall-rgRz_M_t.png",eTe="/aladdin/assets/oak_winter-CD4uumS6.png",Yqe="/aladdin/assets/pine-CI5zZHth.png",Oqe="/aladdin/assets/spruce-CEhjo5-Q.png";class Ez{static isEvergreen(e){return e===fi.Spruce||e===fi.Pine||e===fi.FanPalm||e===fi.Coconut}static isConic(e){return e===fi.Spruce}static fetchLabel(e,n){switch(e){case fi.Apple:return O.t("tree.Apple",n);case fi.Birch:return O.t("tree.Birch",n);case fi.Coconut:return O.t("tree.Coconut",n);case fi.Dogwood:return O.t("tree.Dogwood",n);case fi.Elm:return O.t("tree.Elm",n);case fi.FanPalm:return O.t("tree.FanPalm",n);case fi.Linden:return O.t("tree.Linden",n);case fi.Magnolia:return O.t("tree.Magnolia",n);case fi.Maple:return O.t("tree.Maple",n);case fi.Oak:return O.t("tree.Oak",n);case fi.Spruce:return O.t("tree.Spruce",n);default:return O.t("tree.Pine",n)}}static fetchTheta(e){switch(e){case fi.Apple:return .65*Math.PI;case fi.Birch:return .72*Math.PI;case fi.Coconut:return .5*Math.PI;case fi.Dogwood:return .65*Math.PI;case fi.Elm:return .78*Math.PI;case fi.FanPalm:return .52*Math.PI;case fi.Linden:return .75*Math.PI;case fi.Magnolia:return .68*Math.PI;case fi.Maple:return .65*Math.PI;case fi.Oak:return .75*Math.PI;case fi.Spruce:return Math.PI;default:return Math.PI*.5}}static fetchTextureImage(e,n,o,i,r){let a;const l=i+30,s=r-30,c=o>0;switch(e){case fi.Apple:n>=r||n<=i?a=c?ESe:Iue:n>i&&n<=l?a=c?zSe:DSe:n>l&&n<=s?a=c?Iue:ESe:a=c?DSe:zSe;break;case fi.Birch:n>=r||n<=i?a=c?LSe:zue:n>i&&n<=l?a=c?kSe:FSe:n>l&&n<=s?a=c?zue:LSe:a=c?FSe:kSe;break;case fi.Coconut:a=Bqe;break;case fi.Dogwood:n>=r||n<=i?a=c?USe:Due:n>i&&n<=l?a=c?WSe:NSe:n>l&&n<=s?a=c?Due:USe:a=c?NSe:WSe;break;case fi.Elm:n>=r||n<=i?a=c?YSe:Eue:n>i&&n<=l?a=c?BSe:jSe:n>l&&n<=s?a=c?Eue:YSe:a=c?jSe:BSe;break;case fi.FanPalm:a=jqe;break;case fi.Linden:n>=r||n<=i?a=c?VSe:kue:n>i&&n<=l?a=c?OSe:_Se:n>l&&n<=s?a=c?kue:VSe:a=c?_Se:OSe;break;case fi.Magnolia:n>=r||n<=i?a=c?JSe:Fue:n>i&&n<=l?a=c?GSe:XSe:n>l&&n<=s?a=c?Fue:JSe:a=c?XSe:GSe;break;case fi.Maple:n>=r||n<=i?a=c?$Se:Lue:n>i&&n<=l?a=c?KSe:qSe:n>l&&n<=s?a=c?Lue:$Se:a=c?qSe:KSe;break;case fi.Oak:n>=r||n<=i?a=c?eTe:Wue:n>i&&n<=l?a=c?QSe:ZSe:n>l&&n<=s?a=c?Wue:eTe:a=c?ZSe:QSe;break;case fi.Spruce:a=Oqe;break;default:a=Yqe}return a}}const dZt=Se.memo(({parentId:t,id:e,cx:n,cy:o,cz:i,lx:r,lz:a,name:l=fi.Pine,flip:s=!1,locked:c=!1,showModel:u=!1,showLabel:d=!1})=>{var ye;let f=!1;M(Te=>{if(t===Zo)f=!0;else for(const Ie of Te.elements)if(Ie.id===t){f=!0;break}});const p=M(hp);m.useEffect(()=>{f||p(e,!1)},[f]);const g=M(dn),y=M(hu)??!1,A=M(Ya),x=M(Xs),C=M(O1e)??sq,b=M(_1e)??cq,v=M(ss),S=M(Vc),w=M(jn),T=M(Cb),P=M(yh),R=M(ey),H=Hs(e),[D,E]=m.useState(!1),{gl:L}=Xi(),U=Ln(Te=>Te.contentRef),F=m.useRef(null),W=m.useRef(null),B=m.useRef(null),k=m.useRef(null),N=m.useRef(null),j=m.useRef(null),Y=m.useRef(null),_=m.useRef(null),J=m.useRef(null),Q=m.useRef(null),ee=Kt(),$=m.useMemo(()=>w(e),[e]),q=m.useMemo(()=>be.dayOfYear(new Date(A)),[A]),le=m.useMemo(()=>!Ez.isEvergreen($?$.name:fi.Dogwood)&&(x>0?qb:q>=C&&q<=b),[q,C,b,x,$==null?void 0:$.name]),ie=m.useRef(!1),pe=M(AH);pe!==ie.current&&(ie.current=pe,U!=null&&U.current&&F.current&&U.current.add(F.current)),m.useEffect(()=>{if(t!==Zo){const Te=ge();Te&&F.current&&Te.add(F.current)}},[pe]),m.useEffect(()=>{const Te=ge();Te&&F.current&&Te.add(F.current)},[U]);const ne=m.useMemo(()=>new tf().load(Ez.fetchTextureImage(l,q,x,C,b),Te=>{s&&(Te.wrapS=Ss,Te.repeat.x=-1),he(Te)}),[l,q,x,s,C,b]),[Z,he]=m.useState(ne),fe=m.useMemo(()=>($!=null&&$.label?$.label:Ez.fetchLabel(l,ee))+(c?" ("+O.t("shared.ElementLocked",ee)+")":"")+($!=null&&$.label?"":` -`+O.t("word.Coordinates",ee)+": ("+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",ee)),[$==null?void 0:$.label,l,n,o,c,ee]),se=m.useMemo(()=>Ez.fetchTheta(l),[l]),oe=r/2,de=a/2,ve=m.useMemo(()=>new ae(0,0,de),[de]),Pe=m.useMemo(()=>new ae(-oe,0,0),[oe]),me=m.useMemo(()=>new ae(oe,0,0),[oe]),Re=m.useMemo(()=>new ae(0,-oe,0),[oe]),ze=m.useMemo(()=>new ae(0,oe,0),[oe]),Ae=m.useCallback((Te,Ie)=>{gt.getState().duringCameraInteraction||Te.intersections.length>0&&(Te.intersections[0].object===Te.eventObject||Te.intersections.length>1&&Te.intersections[1].object===Te.eventObject)&&(g(Ee=>{Ee.hoveredHandle=Ie,Ee.selectedElementHeight=$.lz}),be.isMoveHandle(Ie)?L.domElement.style.cursor="move":L.domElement.style.cursor="pointer")},[$==null?void 0:$.lz]),re=m.useCallback(()=>{g(Te=>{Te.hoveredHandle=null}),L.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),ge=()=>t!==Zo&&(U!=null&&U.current)?be.getObjectChildById(U.current,t):null;rA(({camera:Te})=>{if(W.current&&F.current&&B.current&&N.current){const{rot:Ie}=be.getWorldDataById(t),{x:Ce,y:Ee}=Te.position,{x:Ue,y:Ne}=F.current.position,{x:Le,y:qe}=M.getState().sunlightDirection;if(ge()){const De=F.current.localToWorld(new ae),Fe=Math.atan2(Ce-De.x,Ee-De.y)+Ie;W.current.rotation.set(Vt,-Fe,0),N.current.rotation.set(-Vt,Fe,0),B.current.rotation.set(Vt,-Math.atan2(Le,qe)-Ie,0)}else{const De=Math.atan2(Ce-Ue,Ee-Ne);W.current.rotation.set(Vt,-De,0),N.current.rotation.set(-Vt,De,0),B.current.rotation.set(Vt,-Math.atan2(Le,qe),0)}}});const we=Af*3;return h.jsx(h.Fragment,{children:f?h.jsx("group",{ref:F,name:"Tree Group "+e,userData:{aabb:!0},position:[n,o,i??0],children:h.jsxs("group",{position:[0,0,a/2],children:[h.jsx(pC,{ref:W,uuid:e,name:l,follow:!1,children:h.jsx(sa,{args:[r,a],children:h.jsx("meshToonMaterial",{map:Z,side:ji,alphaTest:.5})})}),h.jsx(pC,{ref:B,name:l+" Shadow Billboard",follow:!1,children:h.jsx(sa,{args:[r,a],castShadow:v,children:h.jsx("meshBasicMaterial",{map:Z,side:ji,alphaTest:.5,opacity:0})})}),Ez.isConic(l)?h.jsx(cu,{visible:u||y,name:l+" Model",userData:{simulation:!0},position:[0,0,l===fi.Spruce?0:a*.06],args:[r/2,a,8,8,!0],scale:[1,1,1],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",side:ji,transparent:!0,opacity:.75})}):h.jsx(ts,{visible:u||y,userData:{simulation:!le},name:l+" Model",args:[r/2,8,8,0,na,0,se],scale:[1,a/r,1],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",side:ji,transparent:!0,opacity:.75})}),h.jsx(pC,{ref:N,name:"Interaction Billboard",visible:!1,position:[0,0,-a/2+.5],children:h.jsx(sa,{ref:k,renderOrder:3,name:l+" plane",args:[r/2,a/3],rotation:[y?Vt:0,0,0],onContextMenu:Te=>{S(e,Te,zo.ContextMenu),g(Ie=>{Te.intersections.length>0&&Te.intersections[0].object===k.current&&(Ie.contextMenuObjectType=z.Tree)})},onPointerDown:Te=>{Te.button!==2&&Te.eventObject===Te.intersections[0].eventObject&&(S(e,Te,zo.Move),Ln.setState({treeRef:F}))},onPointerOver:Te=>{Te.intersections.length>0&&Te.intersections[0].object===k.current&&E(!0)},onPointerOut:()=>{E(!1)}})}),H&&c&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-r/2,-a/2,0],[-r/2,a/2,0],[-r/2,a/2,0],[r/2,a/2,0],[r/2,-a/2,0],[r/2,a/2,0],[r/2,-a/2,0],[-r/2,-a/2,0]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(ye=W.current)==null?void 0:ye.rotation,color:l0}),H&&!c&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{position:new ae(0,0,-a/2),args:[we,6,6,0,Math.PI],name:yo.Default,renderOrder:2,onPointerDown:Te=>{Te.button!==2&&Te.eventObject===Te.intersections[0].eventObject&&(S(e,Te,zo.Move),Ln.setState({treeRef:F}))},onPointerEnter:Te=>{Ae(Te,yo.Default)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yo.Default||T===yo.Default?nr:jx})}),!y&&h.jsxs(h.Fragment,{children:[h.jsx(Ei,{ref:j,name:yt.Top,args:[we,we,we],position:ve,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Top)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Top||P===yt.Top?nr:pr})}),h.jsx(Ei,{ref:Y,name:yt.Left,args:[we,we,we],position:Pe,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Left)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Left||P===yt.Left?nr:pr})}),h.jsx(Ei,{ref:_,name:yt.Right,args:[we,we,we],position:me,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Right)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Right||P===yt.Right?nr:pr})}),h.jsx(Ei,{ref:J,name:yt.Lower,args:[we,we,we],position:Re,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Lower)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Lower||P===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:Q,name:yt.Upper,args:[we,we,we],position:ze,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Upper)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Upper||P===yt.Upper?nr:pr})})]})]}),(D||d)&&!H&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:fe,color:($==null?void 0:$.labelColor)??"white",fontSize:($==null?void 0:$.labelFontSize)??20,textHeight:($==null?void 0:$.labelSize)??.2,position:[0,0,a/2+(($==null?void 0:$.labelHeight)??.4)]})]})}):null})});function _qe(t){const e=t+"Geometry";return m.forwardRef(({args:n,children:o,...i},r)=>h.jsxs("mesh",{ref:r,...i,children:[h.jsx(e,{attach:"geometry",args:n}),o]}))}const tTe=_qe("ParabolicCylinder"),nTe=_qe("Paraboloid"),fZt=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,ly:r,lz:a=.1,reflectance:l=.9,absorberTubeRadius:s=.05,latusRectum:c=2,tiltAngle:u,relativeAzimuth:d,moduleLength:f,poleHeight:p,poleRadius:g,drawSunBeam:y,rotation:A=[0,0,0],color:x="white",lineColor:C="black",lineWidth:b=.5,showLabel:v=!1,locked:S=!1,parentId:w})=>{const T=M(dn),P=M(Ya),R=M(Xs),H=M(Jn),D=gt(cs),E=M(wf),L=bn(n1),U=M(ss),F=M(jn),W=M(Vc),B=M(mh),k=M(yh),N=M(M7),j=Hs(t),{gl:{domElement:Y}}=Xi(),[_,J]=m.useState(!1),[Q,ee]=m.useState(null),[$,q]=m.useState(1),[le,ie]=m.useState(null),pe=m.useRef(null),ne=m.useRef(null),Z=m.useRef(null),he=m.useRef(null),fe=m.useRef(null),se=m.useRef(null),oe=m.useRef(null),de=m.useRef(!1),ve=Math.max(100,10*B),Pe=16,me=N.z<=0,Re=Kt(),ze=i/2,Ae=r/2,re=a/2,ge=p+ze,we=M(ct=>{for(const lt of ct.elements)if(lt.id===w)return lt});if(w&&we)switch(we.type){case z.Foundation:if(o=ge+re+we.lz,be.isZero(A[2]))e=we.cx+e*we.lx,n=we.cy+n*we.ly;else{const ct=new ae(e*we.lx,n*we.ly,0);ct.applyAxisAngle(Po,A[2]),e=we.cx+ct.x,n=we.cy+ct.y}break}const ye=ze*ze/c,Te=.25*c,Ie=new ae(-ze,-Ae,re+ye),Ce=new ae(-ze,Ae,re+ye),Ee=new ae(ze,-Ae,re+ye),Ue=new ae(ze,Ae,re+ye),Ne=m.useMemo(()=>F(t),[t]);m.useEffect(()=>{if(Ne&&D){const ct=L(Ne.id);ct&&ie(be.fetchHeatmapTexture(ct,E??5))}},[D,E]),m.useEffect(()=>{q(Math.max(1,Math.round(r/f)))},[r,f]),m.useEffect(()=>{const ct=()=>{Ln.getState().setEnableOrbitController(!0),de.current=!1};return window.addEventListener("pointerup",ct),()=>{window.removeEventListener("pointerup",ct)}},[]);const Le=m.useMemo(()=>(Ne!=null&&Ne.label?Ne.label:O.t("shared.ParabolicTroughElement",Re))+(Ne!=null&&Ne.locked?" ("+O.t("shared.ElementLocked",Re)+")":"")+(Ne!=null&&Ne.label?"":` -`+O.t("word.Coordinates",Re)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",Re)),[Ne==null?void 0:Ne.label,Ne==null?void 0:Ne.locked,e,n,o,Re]),qe=m.useMemo(()=>new Qt(0,0,A[2],"ZXY"),[A]),We=(ct,lt)=>{ct.intersections.length>0&&ct.intersections[0].object===ct.eventObject&&(ee(lt),lt===yo.Top?Y.style.cursor="move":lt===wi.Lower||lt===wi.Upper||lt===wi.Tilt?Y.style.cursor="grab":Y.style.cursor="pointer")},De=()=>{ee(null),Y.style.cursor="default"},Fe=m.useMemo(()=>zr(new Date(P),R),[P,R]),_e=m.useMemo(()=>{var ct;return(ct=F(w))==null?void 0:ct.rotation[2]},[w]),ot=_e?Fe.clone().applyAxisAngle(Po,-_e):Fe,Ye=m.useMemo(()=>Fe.z>0?new Qt(0,Math.atan2(ot.x,ot.z),0,"ZXY"):new Qt(u,0,d,"ZXY"),[_e,Fe,u,d]),St=m.useMemo(()=>{if(Fe.z>0){const ct=_e?Math.cos(_e):1,lt=_e?Math.sin(_e):0;return-Te*(Fe.x*lt+Fe.y*ct)/Math.hypot(Fe.x,Fe.z)}return 0},[Fe,_e,Te]),dt=new ae(0,St,Te).applyEuler(Ye),je=Fe.clone().multiplyScalar(ve).applyEuler(new Qt(-qe.x,0,-qe.z)),at=-(ge+a)/2,ut=m.useMemo(()=>{const ct=[],lt=Math.cos(d)*f,tt=Math.sin(d)*f,it=$/2-.5;for(let At=0;At<$;At++)ct.push(new ae(-(At-it)*tt,(At-it)*lt,at));return ct},[$,f,at,d]),wt=m.useMemo(()=>{const ct=[],lt=r/$,tt=-i/c,it=-2*tt/Pe;for(let At=0;At<=$;At++){const Mt=[];for(let st=0;st<=Pe;st++){const ft=tt+st*it;Mt.push(new ae(c*ft/2,-Ae+At*lt,c*ft*ft/4))}ct.push({points:Mt})}return ct},[i,r,$,c]),rt=Math.max(1,(i+r)/16),Qe=I9*rt*1.5,Oe=Af*rt*2,et=H.length<50&&wt.length<10,vt=et?4:2;return h.jsxs("group",{name:"Parabolic Trough Group "+t,rotation:qe,position:[e,n,o+re],children:[h.jsxs("group",{rotation:Ye,children:[h.jsx(tTe,{receiveShadow:U,castShadow:U,uuid:t,ref:pe,args:[c/2,i,r,Pe,4],name:"Parabolic Trough Front Side",onPointerDown:ct=>{ct.button!==2&&W(t,ct,zo.Select)},onContextMenu:ct=>{W(t,ct,zo.ContextMenu),T(lt=>{ct.intersections.length>0&&ct.intersections[0].object===pe.current&&(lt.contextMenuObjectType=z.ParabolicTrough)})},onPointerOver:ct=>{ct.intersections.length>0&&ct.intersections[0].object===pe.current&&(J(!0),Y.style.cursor="move")},onPointerOut:()=>{J(!1),Y.style.cursor="default"},children:D&&le?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:le}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:100*l,side:ia,color:"lightskyblue"})}),h.jsx(tTe,{receiveShadow:U,castShadow:U,uuid:t+" backside",ref:ne,args:[c/2,i,r,Pe,4],name:"Parabolic Trough Back Side",position:[0,0,-re/2],onPointerDown:ct=>{ct.button!==2&&W(t,ct,zo.Select)},onContextMenu:ct=>{W(t,ct,zo.ContextMenu),T(lt=>{ct.intersections.length>0&&ct.intersections[0].object===ne.current&&(lt.contextMenuObjectType=z.ParabolicTrough)})},onPointerOver:ct=>{ct.intersections.length>0&&ct.intersections[0].object===ne.current&&(J(!0),Y.style.cursor="move")},onPointerOut:()=>{J(!1),Y.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",side:p0,color:"white"})}),wt&&wt.map((ct,lt)=>h.jsxs(Se.Fragment,{children:[et&&h.jsx(Fn,{name:"Parabolic Trough Rim Lines",userData:{unintersectable:!0},points:ct.points,castShadow:!1,receiveShadow:!1,lineWidth:b,color:C}),(lt===0||lt===wt.length-1||et)&&h.jsx(Fn,{name:"Parabolic Trough Focal Lines",userData:{unintersectable:!0},points:[ct.points[Pe/2].clone(),ct.points[Pe/2].clone().add(new ae(0,0,Te))],castShadow:!1,receiveShadow:!1,lineWidth:b,color:me?"dimgray":"white"})]},lt)),et&&h.jsx(Fn,{name:"Parabolic Trough Outline 1",userData:{unintersectable:!0},points:[[-ze,-Ae,ye],[-ze,Ae,ye]],castShadow:!1,receiveShadow:!1,lineWidth:b,color:C}),et&&h.jsx(Fn,{name:"Parabolic Trough Outline 2",userData:{unintersectable:!0},points:[[ze,-Ae,ye],[ze,Ae,ye]],castShadow:!1,receiveShadow:!1,lineWidth:b,color:C}),h.jsx(wa,{name:"Parabolic Trough Absorber Tube",uuid:t,args:[s,s,r,et?6:2,1],position:[0,0,Te],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(sa,{name:"Parabolic Trough Simulation Plane",uuid:t,args:[i,r],position:[0,0,ye],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),j&&S&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ze,-Ae,ye],[-ze,Ae,ye],[ze,Ae,ye],[ze,-Ae,ye],[-ze,-Ae,ye]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),j&&!S&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:Z,position:new ae(0,0,0),args:[Oe,6,6],name:yo.Default,onPointerOver:ct=>{We(ct,yo.Top)},onPointerOut:()=>{De()},onPointerDown:ct=>{ct.button!==2&&W(t,ct,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:he,position:[(Ie.x+Ee.x)/2,Ie.y,Ie.z-ye],args:[Qe,Qe,a*1.2],name:yt.Lower,onPointerDown:ct=>{W(t,ct,zo.Resize),se.current&&T(lt=>{const tt=he.current.localToWorld(new ae(0,r,-Ie.z));lt.resizeAnchor.copy(tt)})},onPointerOver:ct=>{We(ct,yt.Lower)},onPointerOut:()=>{De()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Q===yt.Lower||k===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:fe,position:[(Ce.x+Ue.x)/2,Ce.y,Ce.z-ye],args:[Qe,Qe,a*1.2],name:yt.Upper,onPointerDown:ct=>{W(t,ct,zo.Resize),se.current&&T(lt=>{const tt=fe.current.localToWorld(new ae(0,-r,-Ce.z));lt.resizeAnchor.copy(tt)})},onPointerOver:ct=>{We(ct,yt.Upper)},onPointerOut:()=>{De()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Q===yt.Upper||k===yt.Upper?nr:pr})}),h.jsx(Ei,{ref:se,position:[Ie.x,(Ie.y+Ce.y)/2,Ie.z],args:[Qe,Qe,a*1.2],name:yt.Left,onPointerDown:ct=>{W(t,ct,zo.Resize),se.current&&T(lt=>{const tt=se.current.localToWorld(new ae(i,0,-Ie.z));lt.resizeAnchor.copy(tt)})},onPointerOver:ct=>{We(ct,yt.Left)},onPointerOut:()=>{De()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Q===yt.Left||k===yt.Left?nr:pr})}),h.jsx(Ei,{ref:oe,position:[Ee.x,(Ee.y+Ue.y)/2,Ee.z],args:[Qe,Qe,a*1.2],name:yt.Right,onPointerDown:ct=>{W(t,ct,zo.Resize),se.current&&T(lt=>{const tt=oe.current.localToWorld(new ae(-i,0,-Ee.z));lt.resizeAnchor.copy(tt)})},onPointerOver:ct=>{We(ct,yt.Right)},onPointerOut:()=>{De()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Q===yt.Right||k===yt.Right?nr:pr})})]})]})]}),ge>0&&ut.map((ct,lt)=>lt%5!==0&&!et?h.jsx(Se.Fragment,{},lt):h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+lt,castShadow:!1,receiveShadow:!1,args:[g,g,ge+(ct.z-at)*2+a,vt,1],position:ct,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:x})},lt)),y&&Fe.z>0&&h.jsx(Fn,{userData:{unintersectable:!0},points:[dt,new ae(-.3*ze,0,.09*ye).applyEuler(Ye),je,new ae(-.6*ze,0,.36*ye).applyEuler(Ye),dt,new ae(-.9*ze,0,.81*ye).applyEuler(Ye),je,new ae(0,0,0),dt,new ae(.3*ze,0,.09*ye).applyEuler(Ye),je,new ae(.6*ze,0,.36*ye).applyEuler(Ye),dt,new ae(.9*ze,0,.81*ye).applyEuler(Ye),je],name:"Sun Beams",lineWidth:.25,color:"white"}),(_||v)&&!j&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Le,color:(Ne==null?void 0:Ne.labelColor)??"white",fontSize:(Ne==null?void 0:Ne.labelFontSize)??20,textHeight:(Ne==null?void 0:Ne.labelSize)??.2,position:[0,0,(Ne==null?void 0:Ne.labelHeight)??Math.max(Ae*Math.abs(Math.sin(Ne.tiltAngle))+.1,.2)]})]})}),hZt=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,ly:r,lz:a=.1,reflectance:l=.9,structureType:s=ef.CentralPole,receiverRadius:c=.25,receiverPoleRadius:u=.1,latusRectum:d=2,tiltAngle:f,relativeAzimuth:p,poleHeight:g,poleRadius:y=.2,drawSunBeam:A,rotation:x=[0,0,0],color:C="white",lineColor:b="black",lineWidth:v=.25,showLabel:S=!1,locked:w=!1,parentId:T})=>{const P=M(dn),R=M(Ya),H=M(Xs),D=M(Jn),E=gt(cs),L=M(wf),U=bn(n1),F=M(ss),W=M(jn),B=M(Vc),k=M(mh),N=M(yh),j=M(M7),Y=Hs(t),{gl:{domElement:_}}=Xi(),[J,Q]=m.useState(!1),[ee,$]=m.useState(null),[q,le]=m.useState(null),ie=m.useRef(null),pe=m.useRef(null),ne=m.useRef(null),Z=m.useRef(null),he=m.useRef(null),fe=m.useRef(null),se=m.useRef(null),oe=m.useRef(!1),de=Math.max(100,10*k),ve=32,Pe=8,me=j.z<=0,Re=i/2,ze=r/2,Ae=a/2,re=g+Re,ge=Kt(),we=M(lt=>{for(const tt of lt.elements)if(tt.id===T)return tt});if(T&&we)switch(we.type){case z.Foundation:if(o=re+Ae+we.lz,be.isZero(x[2]))e=we.cx+e*we.lx,n=we.cy+n*we.ly;else{const lt=new ae(e*we.lx,n*we.ly,0);lt.applyAxisAngle(Po,x[2]),e=we.cx+lt.x,n=we.cy+lt.y}break}const ye=Re*Re/d,Te=.25*d,Ie=new ae(-Re,-ze,Ae+ye),Ce=new ae(-Re,ze,Ae+ye),Ee=new ae(Re,-ze,Ae+ye),Ue=new ae(Re,ze,Ae+ye),Ne=m.useMemo(()=>W(t),[t]),Le=Ab(hye),qe=c+1;m.useEffect(()=>{if(Ne&&E){const lt=U(Ne.id);lt&&le(be.fetchHeatmapTexture(lt,L??5))}},[E,L]),m.useEffect(()=>{const lt=()=>{Ln.getState().setEnableOrbitController(!0),oe.current=!1};return window.addEventListener("pointerup",lt),()=>{window.removeEventListener("pointerup",lt)}},[]);const We=m.useMemo(()=>(Ne!=null&&Ne.label?Ne.label:O.t("shared.ParabolicDishElement",ge))+(Ne!=null&&Ne.locked?" ("+O.t("shared.ElementLocked",ge)+")":"")+(Ne!=null&&Ne.label?"":` -`+O.t("word.Coordinates",ge)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",ge)),[Ne==null?void 0:Ne.label,Ne==null?void 0:Ne.locked,ge,e,n,o]),De=m.useMemo(()=>new Qt(0,0,x[2],"ZXY"),[x]),Fe=(lt,tt)=>{lt.intersections.length>0&<.intersections[0].object===lt.eventObject&&($(tt),tt===yo.Top?_.style.cursor="move":tt===wi.Lower||tt===wi.Upper||tt===wi.Tilt?_.style.cursor="grab":_.style.cursor="pointer")},_e=()=>{$(null),_.style.cursor="default"},ot=m.useMemo(()=>zr(new Date(R),H),[R,H]),Ye=m.useMemo(()=>{var lt;return(lt=W(T))==null?void 0:lt.rotation[2]},[T]),St=Ye?ot.clone().applyAxisAngle(Po,-Ye):ot,dt=m.useMemo(()=>{if(ot.z>0){const lt=Math.hypot(St.x,St.y);return new Qt(Math.atan2(lt,St.z),0,Math.atan2(St.y,St.x)+Vt,"ZXY")}return new Qt(f,0,p,"ZXY")},[ot,f,p]),je=-(re+a)/2,at=D.length<50,ut=m.useMemo(()=>{const lt=[];if(at){const tt=[],it=[];let At,Mt,st;const ft=.25*ye;for(let Rt=0;Rt<=ve;Rt++)At=na*Rt/ve,Mt=Math.cos(At),st=Math.sin(At),tt.push(new ae(Re*Mt,Re*st,ye)),it.push(new ae(Re*Mt/2,Re*st/2,ft));lt.push({points:tt}),lt.push({points:it});for(let Rt=0;Rt<12;Rt++){At=na*Rt/12,Mt=Math.cos(At),st=Math.sin(At);const zt=[];for(let Xe=0;Xe<=Pe;Xe++){const ht=Xe===0?0:Xe/Pe*Re;zt.push(new ae(ht*Mt,ht*st,ht*ht/d+.01))}lt.push({points:zt})}}return lt},[Re,d,at]),wt=m.useMemo(()=>{if(s===ef.CentralPoleWithTripod){const lt=[];let tt;for(let it=0;it<3;it++){tt=na*it/3;const At=[];At.push(new ae(Re*Math.cos(tt),Re*Math.sin(tt),ye)),At.push(new ae(0,0,Te)),lt.push({points:At})}return lt}},[Re,d,s]),rt=m.useMemo(()=>{if(s===ef.Quadrupod){const lt=[];let tt;for(let it=0;it<4;it++){tt=na*it/4;const At=[];At.push(new ae(Re*Math.cos(tt),Re*Math.sin(tt),ye)),At.push(new ae(0,0,Te)),lt.push({points:At})}return lt}},[Re,d,s]),Qe=Math.max(1,(i+r)/16),Oe=I9*Qe*1.5,et=Af*Qe*3,vt=ot.clone().multiplyScalar(de),ct=new ae(0,0,Te).applyEuler(dt);return h.jsxs("group",{name:"Parabolic Dish Group "+t,rotation:De,position:[e,n,o+Ae],children:[h.jsxs("group",{rotation:dt,children:[h.jsx(nTe,{receiveShadow:F,castShadow:F,uuid:t,ref:ie,args:[d/2,Re,ve,Pe],name:"Parabolic Dish Front Side",onPointerDown:lt=>{lt.button!==2&&B(t,lt,zo.Select)},onContextMenu:lt=>{B(t,lt,zo.ContextMenu),P(tt=>{lt.intersections.length>0&<.intersections[0].object===ie.current&&(tt.contextMenuObjectType=z.ParabolicDish)})},onPointerOver:lt=>{lt.intersections.length>0&<.intersections[0].object===ie.current&&(Q(!0),_.style.cursor="move")},onPointerOut:()=>{Q(!1),_.style.cursor="default"},children:E&&q?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:q}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:100*l,side:ia,color:"lightskyblue"})}),h.jsx(nTe,{receiveShadow:F,castShadow:F,uuid:t+" backside",ref:pe,args:[d/2,Re,ve,Pe],name:"Parabolic Dish Back Side",position:[0,0,-Ae/4],onPointerDown:lt=>{lt.button!==2&&B(t,lt,zo.Select)},onContextMenu:lt=>{B(t,lt,zo.ContextMenu),P(tt=>{lt.intersections.length>0&<.intersections[0].object===pe.current&&(tt.contextMenuObjectType=z.ParabolicDish)})},onPointerOver:lt=>{lt.intersections.length>0&<.intersections[0].object===pe.current&&(Q(!0),_.style.cursor="move")},onPointerOut:()=>{Q(!1),_.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",side:p0,color:C})}),ut&&ut.length>0&&ut.map((lt,tt)=>h.jsx(Se.Fragment,{children:h.jsx(Fn,{name:"Parabolic Dish Wireframe",userData:{unintersectable:!0},points:lt.points,castShadow:!1,receiveShadow:!1,lineWidth:v,color:b})},tt)),h.jsx(wa,{name:"Parabolic Dish Receiver",uuid:t,args:[c,c,.5,at?12:4,1],rotation:[Vt,0,0],position:[0,0,Te-.1],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:C})}),ot.z>0&&h.jsx("mesh",{position:[0,0,Te-.1],children:h.jsx("sprite",{scale:[qe,qe,qe],children:h.jsx("spriteMaterial",{map:Le,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})}),(s===ef.CentralPole||s===ef.CentralPoleWithTripod)&&h.jsx(wa,{name:"Parabolic Dish Receiver Pole",uuid:t,args:[u,u,Te,at?6:2,1],rotation:[Vt,0,0],position:[0,0,Te/2],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:C})}),s===ef.CentralPoleWithTripod&&wt&&wt.map((lt,tt)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{name:"Parabolic Dish Tripod Lines",userData:{unintersectable:!0},points:lt.points,castShadow:!1,receiveShadow:!1,lineWidth:1,color:me?"dimgray":C}),h.jsx(ts,{position:new ae(lt.points[0].x,lt.points[0].y,lt.points[0].z),args:[u/2,4,4],name:"Parabolic Dish Tripod Joint",children:h.jsx("meshStandardMaterial",{attach:"material",color:C})})]},tt)),s===ef.Quadrupod&&rt&&rt.map((lt,tt)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{name:"Parabolic Dish Quadrupod Lines",userData:{unintersectable:!0},points:lt.points,castShadow:!1,receiveShadow:!1,lineWidth:2,color:me?"dimgray":C}),h.jsx(ts,{position:new ae(lt.points[0].x,lt.points[0].y,lt.points[0].z),args:[u/2,4,4],name:"Parabolic Dish Quadrupod Joint",children:h.jsx("meshStandardMaterial",{attach:"material",color:C})})]},tt)),h.jsx(KC,{name:"Parabolic Dish Simulation Circle",uuid:t,args:[i/2,ve],position:[0,0,ye],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),Y&&w&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Re,-ze,ye],[-Re,ze,ye],[Re,ze,ye],[Re,-ze,ye],[-Re,-ze,ye]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),Y&&!w&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:ne,position:new ae(0,0,0),args:[et,6,6],name:yo.Default,onPointerOver:lt=>{Fe(lt,yo.Top)},onPointerOut:()=>{_e()},onPointerDown:lt=>{lt.button!==2&&B(t,lt,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:Z,position:[(Ie.x+Ee.x)/2,Ie.y,Ie.z],args:[Oe,Oe,a*1.2],name:yt.Lower,onPointerDown:lt=>{B(t,lt,zo.Resize),fe.current&&P(tt=>{const it=Z.current.localToWorld(new ae(0,r,-Ie.z));tt.resizeAnchor.copy(it)})},onPointerOver:lt=>{Fe(lt,yt.Lower)},onPointerOut:()=>{_e()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===yt.Lower||N===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:he,position:[(Ce.x+Ue.x)/2,Ce.y,Ce.z],args:[Oe,Oe,a*1.2],name:yt.Upper,onPointerDown:lt=>{B(t,lt,zo.Resize),fe.current&&P(tt=>{const it=he.current.localToWorld(new ae(0,-r,-Ce.z));tt.resizeAnchor.copy(it)})},onPointerOver:lt=>{Fe(lt,yt.Upper)},onPointerOut:()=>{_e()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===yt.Upper||N===yt.Upper?nr:pr})}),h.jsx(Ei,{ref:fe,position:[Ie.x,(Ie.y+Ce.y)/2,Ie.z],args:[Oe,Oe,a*1.2],name:yt.Left,onPointerDown:lt=>{B(t,lt,zo.Resize),fe.current&&P(tt=>{const it=fe.current.localToWorld(new ae(i,0,-Ie.z));tt.resizeAnchor.copy(it)})},onPointerOver:lt=>{Fe(lt,yt.Left)},onPointerOut:()=>{_e()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===yt.Left||N===yt.Left?nr:pr})}),h.jsx(Ei,{ref:se,position:[Ee.x,(Ee.y+Ue.y)/2,Ee.z],args:[Oe,Oe,a*1.2],name:yt.Right,onPointerDown:lt=>{B(t,lt,zo.Resize),fe.current&&P(tt=>{const it=se.current.localToWorld(new ae(-i,0,-Ee.z));tt.resizeAnchor.copy(it)})},onPointerOver:lt=>{Fe(lt,yt.Right)},onPointerOut:()=>{_e()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===yt.Right||N===yt.Right?nr:pr})})]})]})]}),re>0&&h.jsx(wa,{userData:{unintersectable:!0},name:"Pole",castShadow:!1,receiveShadow:!1,args:[y,y,re+a,at?4:2,1],position:[0,0,je],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:C})}),A&&ot.z>0&&h.jsx(Fn,{rotation:[-De.x,0,-De.z],userData:{unintersectable:!0},points:[ct,new ae(-.3*Re,0,.09*ye).applyEuler(dt),vt,new ae(-.6*Re,0,.36*ye).applyEuler(dt),ct,new ae(-.9*Re,0,.81*ye).applyEuler(dt),vt,ct,new ae(.3*Re,0,.09*ye).applyEuler(dt),vt,new ae(.6*Re,0,.36*ye).applyEuler(dt),ct,new ae(.9*Re,0,.81*ye).applyEuler(dt),vt],name:"Sun Beams",lineWidth:.25,color:"white"}),(J||S)&&!Y&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:We,color:(Ne==null?void 0:Ne.labelColor)??"white",fontSize:(Ne==null?void 0:Ne.labelFontSize)??20,textHeight:(Ne==null?void 0:Ne.labelSize)??.2,position:[0,0,(Ne==null?void 0:Ne.labelHeight)??Math.max(ze*Math.abs(Math.sin(Ne.tiltAngle))+.1,.2)]})]})}),pZt=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,ly:r,lz:a=.1,reflectance:l=.9,tiltAngle:s,relativeAzimuth:c,moduleLength:u,poleHeight:d,poleRadius:f=.1,drawSunBeam:p,rotation:g=[0,0,0],color:y="white",lineColor:A="black",lineWidth:x=.5,showLabel:C=!1,locked:b=!1,parentId:v,receiverId:S})=>{const w=M(dn),T=M(Sc),P=M(Ya),R=M(Xs),H=M(Jn),D=gt(cs),E=M(wf),L=bn(n1),U=M(ss),F=M(jn),W=M(Vc),B=M(mh),k=M(yh),N=Hs(t),{gl:{domElement:j}}=Xi(),[Y,_]=m.useState(!1),[J,Q]=m.useState(null),[ee,$]=m.useState(1),[q,le]=m.useState(null),ie=m.useRef(null),pe=m.useRef(null),ne=m.useRef(null),Z=m.useRef(null),he=m.useRef(null),fe=m.useRef(null),se=m.useRef(!1),oe=Math.max(100,10*B),de=m.useMemo(()=>({lng:T}),[T]),ve=i/2,Pe=r/2,me=a/2,Re=d+ve,ze=M(je=>{for(const at of je.elements)if(at.id===v)return at});if(ze)switch(ze.type){case z.Foundation:if(o=Re+me+ze.lz,be.isZero(g[2]))e=ze.cx+e*ze.lx,n=ze.cy+n*ze.ly;else{const je=new ae(e*ze.lx,n*ze.ly,0);je.applyAxisAngle(Po,g[2]),e=ze.cx+je.x,n=ze.cy+je.y}break}const Ae=new ae(-ve,-Pe,me),re=new ae(-ve,Pe,me),ge=new ae(ve,-Pe,me),we=new ae(ve,Pe,me),ye=m.useMemo(()=>F(t),[t]);m.useEffect(()=>{if(ye&&D){const je=L(ye.id);je&&le(be.fetchHeatmapTexture(je,E??5))}},[D,E]),m.useEffect(()=>{$(Math.max(1,Math.round(r/u)))},[r,u]),m.useEffect(()=>{const je=()=>{Ln.getState().setEnableOrbitController(!0),se.current=!1};return window.addEventListener("pointerup",je),()=>{window.removeEventListener("pointerup",je)}},[]);const Te=m.useMemo(()=>(ye!=null&&ye.label?ye.label:O.t("shared.FresnelReflectorElement",de))+(ye!=null&&ye.locked?" ("+O.t("shared.ElementLocked",de)+")":"")+(ye!=null&&ye.label?"":` -`+O.t("word.Coordinates",de)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",de)),[ye==null?void 0:ye.label,ye==null?void 0:ye.locked,de,e,n,o]),Ie=m.useMemo(()=>new Qt(0,0,g[2],"ZXY"),[g]),Ce=(je,at)=>{je.intersections.length>0&&je.intersections[0].object===je.eventObject&&(Q(at),at===yo.Top?j.style.cursor="move":at===wi.Lower||at===wi.Upper||at===wi.Tilt?j.style.cursor="grab":j.style.cursor="pointer")},Ee=()=>{Q(null),j.style.cursor="default"},Ue=m.useMemo(()=>zr(new Date(P),R),[P,R]),Ne=ze==null?void 0:ze.rotation[2],Le=S&&S!==v?F(S):null,qe=m.useMemo(()=>{if(Le){if(Le.type===z.Foundation){const je=Le;if(je.solarStructure===zn.FocusPipe&&je.solarAbsorberPipe)return new ae((je.cx-e)*(Ne?Math.cos(Ne):1),(je.cy-n)*(Ne?Math.sin(Ne):0),je.cz-o+je.lz/2+(je.solarAbsorberPipe.absorberHeight??10))}}else if(ze&&ze.type===z.Foundation){const je=ze;if(je.solarStructure===zn.FocusPipe&&je.solarAbsorberPipe)return new ae((je.cx-e)*(Ne?Math.cos(Ne):1),(je.cy-n)*(Ne?Math.sin(Ne):0),je.cz-o+je.lz/2+(je.solarAbsorberPipe.absorberHeight??10))}return null},[Le,ze,e,n,o,Ne]),We=m.useRef(new ae),De=m.useMemo(()=>{if(qe&&Ue.z>0){const je=Ne?new ae(Math.sin(Ne),Math.cos(Ne),0):new ae(0,1,0);We.current.set(qe.x,qe.y,qe.z);const at=Ue.z{const je=[],at=Math.cos(c)*u,ut=Math.sin(c)*u,wt=ee/2-.5;for(let rt=0;rt{const je=[],at=r/ee;for(let ut=0;ut<=ee;ut++){const wt=[];wt.push(new ae(-ve,-Pe+ut*at,me)),wt.push(new ae(ve,-Pe+ut*at,me)),je.push({points:wt})}return je},[i,r,me,ee]),Ye=Math.max(1,Math.min(i*5,r*5,(i+r)/16)),St=I9*Ye*1.5,dt=Af*Ye*2;return h.jsxs("group",{name:"Fresnel Reflector Group "+t,rotation:Ie,position:[e,n,o+me],children:[h.jsxs("group",{rotation:De,children:[h.jsxs(Ei,{receiveShadow:U,castShadow:U,uuid:t,ref:ie,args:[i,r,a],name:"Fresnel Reflector",onPointerDown:je=>{je.button!==2&&W(t,je,zo.Select)},onContextMenu:je=>{W(t,je,zo.ContextMenu),w(at=>{je.intersections.length>0&&je.intersections[0].object===ie.current&&(at.contextMenuObjectType=z.FresnelReflector)})},onPointerOver:je=>{je.intersections.length>0&&je.intersections[0].object===ie.current&&(_(!0),j.style.cursor="move")},onPointerOut:()=>{_(!1),j.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:y}),h.jsx("meshStandardMaterial",{attach:"material-1",color:y}),h.jsx("meshStandardMaterial",{attach:"material-2",color:y}),h.jsx("meshStandardMaterial",{attach:"material-3",color:y}),D&&q?h.jsx("meshBasicMaterial",{attach:"material-4",side:ia,map:q}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo("white"),shininess:100*l,side:ia,color:"lightskyblue"}),h.jsx("meshStandardMaterial",{attach:"material-5",color:y})]}),ot&&ot.map((je,at)=>h.jsx(Fn,{name:"Fresnel Reflector Module Line",userData:{unintersectable:!0},points:je.points,castShadow:!1,receiveShadow:!1,lineWidth:x,color:A},at)),h.jsx(Fn,{name:"Fresnel Reflector Outline 1",userData:{unintersectable:!0},points:[[-ve,-Pe,me],[-ve,Pe,me]],castShadow:!1,receiveShadow:!1,lineWidth:x,color:A}),h.jsx(Fn,{name:"Fresnel Reflector Outline 2",userData:{unintersectable:!0},points:[[ve,-Pe,me],[ve,Pe,me]],castShadow:!1,receiveShadow:!1,lineWidth:x,color:A}),h.jsx(sa,{name:"Fresnel Reflector Simulation Plane",uuid:t,args:[i,r],position:[0,0,me],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),N&&b&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ve,-Pe,me],[-ve,Pe,me],[ve,Pe,me],[ve,-Pe,me],[-ve,-Pe,me]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),N&&!b&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:pe,position:new ae(0,0,0),args:[dt,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:je=>{Ce(je,yo.Top)},onPointerOut:()=>{Ee()},onPointerDown:je=>{je.button!==2&&W(t,je,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:ne,position:[(Ae.x+ge.x)/2,Ae.y,Ae.z-me],args:[St,St,a*1.2],name:yt.Lower,castShadow:!1,receiveShadow:!1,onPointerDown:je=>{W(t,je,zo.Resize),he.current&&w(at=>{const ut=ne.current.localToWorld(new ae(0,r,-Ae.z));at.resizeAnchor.copy(ut)})},onPointerOver:je=>{Ce(je,yt.Lower)},onPointerOut:()=>{Ee()},children:h.jsx("meshBasicMaterial",{attach:"material",color:J===yt.Lower||k===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:Z,position:[(re.x+we.x)/2,re.y,re.z-me],args:[St,St,a*1.2],name:yt.Upper,castShadow:!1,receiveShadow:!1,onPointerDown:je=>{W(t,je,zo.Resize),he.current&&w(at=>{const ut=Z.current.localToWorld(new ae(0,-r,-re.z));at.resizeAnchor.copy(ut)})},onPointerOver:je=>{Ce(je,yt.Upper)},onPointerOut:()=>{Ee()},children:h.jsx("meshBasicMaterial",{attach:"material",color:J===yt.Upper||k===yt.Upper?nr:pr})}),h.jsx(Ei,{ref:he,position:[Ae.x,(Ae.y+re.y)/2,Ae.z],args:[St,St,a*1.2],name:yt.Left,castShadow:!1,receiveShadow:!1,onPointerDown:je=>{W(t,je,zo.Resize),he.current&&w(at=>{const ut=he.current.localToWorld(new ae(i,0,-Ae.z));at.resizeAnchor.copy(ut)})},onPointerOver:je=>{Ce(je,yt.Left)},onPointerOut:()=>{Ee()},children:h.jsx("meshBasicMaterial",{attach:"material",color:J===yt.Left||k===yt.Left?nr:pr})}),h.jsx(Ei,{ref:fe,position:[ge.x,(ge.y+we.y)/2,ge.z],args:[St,St,a*1.2],name:yt.Right,castShadow:!1,receiveShadow:!1,onPointerDown:je=>{W(t,je,zo.Resize),he.current&&w(at=>{const ut=fe.current.localToWorld(new ae(-i,0,-ge.z));at.resizeAnchor.copy(ut)})},onPointerOver:je=>{Ce(je,yt.Right)},onPointerOut:()=>{Ee()},children:h.jsx("meshBasicMaterial",{attach:"material",color:J===yt.Right||k===yt.Right?nr:pr})})]})]})]}),Re>0&&_e.map((je,at)=>{const ut=H.length<100?4:2;return h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+at,castShadow:!1,receiveShadow:!1,args:[f,f,Re+(je.z-Fe)*2+a,ut,1],position:je,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:y})},at)}),p&&Ue.z>0&&h.jsx(Fn,{rotation:[-Ie.x,0,-Ie.z],userData:{unintersectable:!0},points:qe?[We.current,new ae(0,0,me),Ue.clone().multiplyScalar(oe)]:[new ae(0,0,me),Ue.clone().multiplyScalar(oe)],name:"Sun Beam",lineWidth:.25,color:"white",castShadow:!1,receiveShadow:!1}),(Y||C)&&!N&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Te,color:(ye==null?void 0:ye.labelColor)??"white",fontSize:(ye==null?void 0:ye.labelFontSize)??20,textHeight:(ye==null?void 0:ye.labelSize)??.2,castShadow:!1,receiveShadow:!1,position:[0,0,(ye==null?void 0:ye.labelHeight)??Math.max(Pe*Math.abs(Math.sin(ye.tiltAngle))+.1,.2)]})]})}),gZt=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,ly:r,lz:a=.1,reflectance:l=.9,tiltAngle:s,relativeAzimuth:c,poleHeight:u,poleRadius:d=Math.min(i,r)/20,drawSunBeam:f,rotation:p=[0,0,0],color:g="white",lineColor:y="black",lineWidth:A=.5,showLabel:x=!1,locked:C=!1,parentId:b,towerId:v})=>{const S=M(dn),w=M(Ya),T=M(Xs),P=M(Jn),R=gt(cs),H=M(wf),D=bn(n1),E=M(ss),L=M(jn),U=M(Vc),F=M(mh),W=Hs(t),{gl:{domElement:B}}=Xi(),[k,N]=m.useState(!1),[j,Y]=m.useState(null),_=m.useRef(null),J=m.useRef(null),Q=m.useRef(!1),ee=Math.max(100,10*F),$=Kt(),q=i/2,le=r/2,ie=a/2,pe=u+Math.max(q,le),ne=M(ge=>{for(const we of ge.elements)if(we.id===b)return we});if(ne)switch(ne.type){case z.Foundation:if(o=pe+ie+ne.lz,be.isZero(p[2]))e=ne.cx+e*ne.lx,n=ne.cy+n*ne.ly;else{const ge=new ae(e*ne.lx,n*ne.ly,0);ge.applyAxisAngle(Po,p[2]),e=ne.cx+ge.x,n=ne.cy+ge.y}break}const Z=m.useMemo(()=>L(t),[t]);m.useEffect(()=>{if(Z&&R){const ge=D(Z.id);ge&&Y(be.fetchHeatmapTexture(ge,H??5))}},[R,H]),m.useEffect(()=>{const ge=()=>{Ln.getState().setEnableOrbitController(!0),Q.current=!1};return window.addEventListener("pointerup",ge),()=>{window.removeEventListener("pointerup",ge)}},[]);const he=m.useMemo(()=>(Z!=null&&Z.label?Z.label:O.t("shared.HeliostatElement",$))+(Z!=null&&Z.locked?" ("+O.t("shared.ElementLocked",$)+")":"")+(Z!=null&&Z.label?"":` -`+O.t("word.Coordinates",$)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",$)),[Z==null?void 0:Z.label,Z==null?void 0:Z.locked,$,e,n,o]),fe=m.useMemo(()=>new Qt(0,0,p[2],"ZXY"),[p]),se=(ge,we)=>{ge.intersections.length>0&&ge.intersections[0].object===ge.eventObject&&(B.style.cursor=we===yo.Default?"move":"pointer")},oe=()=>{B.style.cursor="default"},de=m.useMemo(()=>zr(new Date(w),T),[w,T]),ve=ne==null?void 0:ne.rotation[2],Pe=v&&v!==b?L(v):null,me=m.useMemo(()=>{if(Pe){if(Pe.type===z.Foundation){const ge=Pe;if(ge.solarStructure===zn.FocusTower&&ge.solarPowerTower)return new ae(ge.cx-e,ge.cy-n,ge.cz-o+ge.lz/2+(ge.solarPowerTower.towerHeight??20))}}else if(ne&&ne.type===z.Foundation){const ge=ne;if(ge.solarStructure===zn.FocusTower&&ge.solarPowerTower)return new ae(ge.cx-e,ge.cy-n,ge.cz-o+ge.lz/2+(ge.solarPowerTower.towerHeight??20))}return null},[ne,e,n,o,Pe]),Re=m.useMemo(()=>{if(me&&de.z>0){let we=me.clone().normalize().add(de).normalize();be.isSame(we,Po)&&(we=new ae(-.001,0,1).normalize()),ve&&we.applyAxisAngle(Po,-ve);const ye=Math.hypot(we.x,we.y);return new Qt(Math.atan2(ye,we.z),0,Math.atan2(we.y,we.x)+Vt,"ZXY")}return new Qt(s,0,c,"ZXY")},[me,de,s,c,ve]),ze=-(pe+a)/2,Ae=Math.max(1,(i+r)/8),re=Af*Ae*4;return h.jsxs("group",{name:"Heliostat Group "+t,rotation:fe,position:[e,n,o+ie],children:[h.jsxs("group",{rotation:Re,children:[h.jsxs(Ei,{receiveShadow:E,castShadow:E,uuid:t,ref:_,args:[i,r,a],name:"Heliostat",onPointerDown:ge=>{ge.button!==2&&U(t,ge,zo.Select)},onContextMenu:ge=>{U(t,ge,zo.ContextMenu),S(we=>{ge.intersections.length>0&&ge.intersections[0].object===_.current&&(we.contextMenuObjectType=z.Heliostat)})},onPointerOver:ge=>{ge.intersections.length>0&&ge.intersections[0].object===_.current&&(N(!0),B.style.cursor="move")},onPointerOut:()=>{N(!1),B.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:g}),h.jsx("meshStandardMaterial",{attach:"material-1",color:g}),h.jsx("meshStandardMaterial",{attach:"material-2",color:g}),h.jsx("meshStandardMaterial",{attach:"material-3",color:g}),R&&j?h.jsx("meshBasicMaterial",{attach:"material-4",side:ia,map:j}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo("white"),shininess:100*l,side:ia,color:"lightskyblue"}),h.jsx("meshStandardMaterial",{attach:"material-5",color:g})]}),h.jsx(sa,{name:"Heliostat Simulation Plane",uuid:t,args:[i,r],position:[0,0,ie],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),W&&C&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-le,ie],[-q,le,ie],[q,le,ie],[q,-le,ie],[-q,-le,ie]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),W&&!C&&h.jsx(ts,{ref:J,position:new ae(0,0,0),args:[re,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:ge=>{se(ge,yo.Default)},onPointerOut:()=>{oe()},onPointerDown:ge=>{ge.button!==2&&U(t,ge,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})})]}),pe>0&&h.jsx(wa,{userData:{unintersectable:!0},name:"Pole",castShadow:!1,receiveShadow:!1,args:[d,d,pe+a,P.length<100?4:2,1],position:new ae(0,0,ze),rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:g})}),f&&de.z>0&&h.jsx(Fn,{rotation:[-fe.x,0,-fe.z],userData:{unintersectable:!0},points:me?[me,new ae(0,0,ie),de.clone().multiplyScalar(ee)]:[new ae(0,0,ie),de.clone().multiplyScalar(ee)],name:"Sun Beam",lineWidth:.25,color:"white",castShadow:!1,receiveShadow:!1}),(k||x)&&!W&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:he,color:(Z==null?void 0:Z.labelColor)??"white",fontSize:(Z==null?void 0:Z.labelFontSize)??20,textHeight:(Z==null?void 0:Z.labelSize)??.2,castShadow:!1,receiveShadow:!1,position:[0,0,(Z==null?void 0:Z.labelHeight)??Math.max(le*Math.abs(Math.sin(Z.tiltAngle))+.1,.2)]})]})}),mZt=Se.memo(({parentId:t,id:e,cx:n,cy:o,cz:i,name:r=$n.WhiteFlower,flip:a=!1,locked:l=!1})=>{var pe;let s=!1;M(ne=>{if(t===Zo)s=!0;else for(const Z of ne.elements)if(Z.id===t){s=!0;break}});const c=M(hp);m.useEffect(()=>{s||c(e,!1)},[s]);const u=M(dn),d=M(Sc),f=M(hu)??!1,p=M(Ya),g=M(Xs),y=M(O1e)??sq,A=M(_1e)??cq,x=M(Vc),C=M(jn),b=M(Cb),v=M(ey),S=gt(cs),[w,T]=m.useState(!1),{gl:P}=Xi(),R=Hs(e),H=Ln(ne=>ne.contentRef),D=m.useRef(null),E=m.useRef(null),L=m.useRef(null),U=m.useRef(null),F=m.useMemo(()=>C(e),[e]),W=m.useMemo(()=>({lng:d}),[d]),B=m.useMemo(()=>{const ne=be.dayOfYear(new Date(p));return g>0?neA:ne>=y&&ne<=A},[p,y,A,g]),k=m.useRef(!1),N=M(AH);N!==k.current&&(k.current=N,H!=null&&H.current&&D.current&&H.current.add(D.current)),m.useEffect(()=>{if(t!==Zo){const ne=$();ne&&D.current&&ne.add(D.current)}},[N,t]),m.useEffect(()=>{const ne=$();ne&&D.current&&ne.add(D.current)},[H]);const j=m.useMemo(()=>new tf().load(cw.fetchTextureImage(r,B),ne=>{a&&(ne.wrapS=Ss,ne.repeat.x=-1),_(ne)}),[r,B,a]),[Y,_]=m.useState(j),J=m.useMemo(()=>cw.fetchLabel(r,W)+(l?" ("+O.t("shared.ElementLocked",W)+")":"")+` -`+O.t("word.Coordinates",W)+": ("+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",W),[r,n,o,l,W]),Q=m.useCallback((ne,Z)=>{gt.getState().duringCameraInteraction||ne.intersections.length>0&&(ne.intersections[0].object===ne.eventObject||ne.intersections.length>1&&ne.intersections[1].object===ne.eventObject)&&(u(fe=>{fe.hoveredHandle=Z,fe.selectedElementHeight=F.lz}),be.isMoveHandle(Z)?P.domElement.style.cursor="move":P.domElement.style.cursor="pointer")},[F.lz]),ee=m.useCallback(()=>{u(ne=>{ne.hoveredHandle=null}),P.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),$=()=>t!==Zo&&(H!=null&&H.current)?be.getObjectChildById(H.current,t):null,q=m.useMemo(()=>cw.fetchSpread(r),[r]),le=m.useMemo(()=>cw.fetchHeight(r),[r]);rA(({camera:ne})=>{if(D.current){const{rot:Z}=be.getWorldDataById(t);if(f)E.current&&U.current&&(E.current.rotation.set(Vt,0,0),U.current.rotation.set(0,0,0)),D.current.rotation.set(-Vt,0,0);else{if(E.current&&U.current){const{x:he,y:fe}=ne.position,{x:se,y:oe}=D.current.position;if($()){const ve=D.current.localToWorld(new ae),Pe=Math.atan2(he-ve.x,fe-ve.y)+Z;E.current.rotation.set(Vt,-Pe,0),U.current.rotation.set(-Vt,Pe,0)}else{const ve=Math.atan2(he-se,fe-oe);E.current.rotation.set(Vt,-ve,0),U.current.rotation.set(-Vt,ve,0)}}D.current.rotation.set(0,0,0)}}});const ie=Af*3;return h.jsx(h.Fragment,{children:s?h.jsx("group",{ref:D,name:"Flower Group "+e,userData:{aabb:!0},position:[n,o,(i??0)+(f?.25:0)],children:h.jsxs("group",{position:[0,0,le/2],children:[h.jsx(pC,{ref:E,uuid:e,name:r,follow:!1,rotation:[Vt,0,0],children:h.jsx(sa,{args:[q,le],receiveShadow:!S,children:h.jsx("meshToonMaterial",{map:Y,side:ji,alphaTest:.5})})}),h.jsx(pC,{ref:U,name:"Interaction Billboard",visible:!1,position:[0,0,-le/2],children:h.jsx(sa,{ref:L,renderOrder:3,name:r+" plane",args:[q/2,le*2],rotation:[f?Vt:0,0,0],onContextMenu:ne=>{x(e,ne,zo.ContextMenu),u(Z=>{ne.intersections.length>0&&ne.intersections[0].object===L.current&&(Z.contextMenuObjectType=z.Flower)})},onPointerDown:ne=>{ne.button!==2&&ne.eventObject===ne.intersections[0].eventObject&&(x(e,ne,zo.Move),Ln.setState({flowerRef:D}))},onPointerOver:ne=>{ne.intersections.length>0&&ne.intersections[0].object===L.current&&T(!0)},onPointerOut:()=>{T(!1)}})}),R&&l&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q/2,-le/2,0],[-q/2,le/2,0],[-q/2,le/2,0],[q/2,le/2,0],[q/2,-le/2,0],[q/2,le/2,0],[q/2,-le/2,0],[-q/2,-le/2,0]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(pe=E.current)==null?void 0:pe.rotation,color:l0}),R&&!l&&h.jsx(h.Fragment,{children:h.jsx(ts,{position:new ae(0,0,-le/2),args:[ie,6,6,0,Math.PI],name:yo.Default,renderOrder:2,onPointerDown:ne=>{ne.button!==2&&ne.eventObject===ne.intersections[0].eventObject&&(x(e,ne,zo.Move),Ln.setState({flowerRef:D}))},onPointerEnter:ne=>{Q(ne,yo.Default)},onPointerLeave:ee,children:h.jsx("meshBasicMaterial",{attach:"material",color:v===yo.Default||b===yo.Default?nr:jx})})}),w&&!R&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:J,color:(F==null?void 0:F.labelColor)??"white",fontSize:(F==null?void 0:F.labelFontSize)??20,textHeight:(F==null?void 0:F.labelSize)??.2,position:[0,0,le/2+((F==null?void 0:F.labelHeight)??.4)]})]})}):null})});var Nue=function(t,e){return Nue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},Nue(t,e)};function Ti(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Nue(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var N0=function(){return N0=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function tp(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var o=n.call(t),i,r=[],a;try{for(;(e===void 0||e-- >0)&&!(i=o.next()).done;)r.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return r}function pl(t,e,n){if(n||arguments.length===2)for(var o=0,i=e.length,r;o0?yd(YH,--Km):0,hR--,ru===10&&(hR=1,aQ--),ru}function I2(){return ru=Km2||Bue(ru)>3?"":" "}function CZt(t,e){for(;--e&&I2()&&!(ru<48||ru>102||ru>57&&ru<65||ru>70&&ru<97););return sQ(t,__()+(e<6&&yx()==32&&I2()==32))}function jue(t){for(;I2();)switch(ru){case t:return Km;case 34:case 39:t!==34&&t!==39&&jue(ru);break;case 40:t===41&&jue(t);break;case 92:I2();break}return Km}function RZt(t,e){for(;I2()&&t+ru!==57;)if(t+ru===84&&yx()===47)break;return"/*"+sQ(e,Km-1)+"*"+vye(t===47?t:I2())}function HZt(t){for(;!Bue(yx());)I2();return sQ(t,Km)}function MZt(t){return TZt(V_("",null,null,null,[""],t=SZt(t),0,[0],t))}function V_(t,e,n,o,i,r,a,l,s){for(var c=0,u=0,d=a,f=0,p=0,g=0,y=1,A=1,x=1,C=0,b="",v=i,S=r,w=o,T=b;A;)switch(g=C,C=I2()){case 40:if(g!=108&&yd(T,d-1)==58){O_(T+=Pa(Rre(C),"&","&\f"),"&\f",Xqe(c?l[c-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:T+=Rre(C);break;case 9:case 10:case 13:case 32:T+=PZt(g);break;case 92:T+=CZt(__()-1,7);continue;case 47:switch(yx()){case 42:case 47:PD(IZt(RZt(I2(),__()),e,n,s),s);break;default:T+="/"}break;case 123*y:l[c++]=e9(T)*x;case 125*y:case 59:case 0:switch(C){case 0:case 125:A=0;case 59+u:x==-1&&(T=Pa(T,/\f/g,"")),p>0&&e9(T)-d&&PD(p>32?rTe(T+";",o,n,d-1,s):rTe(Pa(T," ","")+";",o,n,d-2,s),s);break;case 59:T+=";";default:if(PD(w=iTe(T,e,n,c,u,i,l,b,v=[],S=[],d,r),r),C===123)if(u===0)V_(T,e,w,w,v,r,d,l,S);else switch(f===99&&yd(T,3)===110?100:f){case 100:case 108:case 109:case 115:V_(t,w,w,o&&PD(iTe(t,w,w,0,0,i,l,b,i,v=[],d,S),S),i,S,d,l,o?v:S);break;default:V_(T,w,w,w,[""],S,0,l,S)}}c=u=p=0,y=x=1,b=T="",d=a;break;case 58:d=1+e9(T),p=g;default:if(y<1){if(C==123)--y;else if(C==125&&y++==0&&bZt()==125)continue}switch(T+=vye(C),C*y){case 38:x=u>0?1:(T+="\f",-1);break;case 44:l[c++]=(e9(T)-1)*x,x=1;break;case 64:yx()===45&&(T+=Rre(I2())),f=yx(),u=d=e9(b=T+=HZt(__())),C++;break;case 45:g===45&&e9(T)==2&&(y=0)}}return r}function iTe(t,e,n,o,i,r,a,l,s,c,u,d){for(var f=i-1,p=i===0?r:[""],g=Kqe(p),y=0,A=0,x=0;y0?p[C]+" "+b:Pa(b,/&\f/g,p[C])))&&(s[x++]=v);return lQ(t,e,n,i===0?rQ:l,s,c,u,d)}function IZt(t,e,n,o){return lQ(t,e,n,Vqe,vye(xZt()),fR(t,2,-2),0,o)}function rTe(t,e,n,o,i){return lQ(t,e,n,wye,fR(t,0,o),fR(t,o+1,-1),o,i)}function $qe(t,e,n){switch(wZt(t,e)){case 5103:return Jl+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Jl+t+t;case 4789:return AE+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return Jl+t+AE+t+ic+t+t;case 5936:switch(yd(t,e+11)){case 114:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"lr")+t}case 6828:case 4268:case 2903:return Jl+t+ic+t+t;case 6165:return Jl+t+ic+"flex-"+t+t;case 5187:return Jl+t+Pa(t,/(\w+).+(:[^]+)/,Jl+"box-$1$2"+ic+"flex-$1$2")+t;case 5443:return Jl+t+ic+"flex-item-"+Pa(t,/flex-|-self/g,"")+(r6(t,/flex-|baseline/)?"":ic+"grid-row-"+Pa(t,/flex-|-self/g,""))+t;case 4675:return Jl+t+ic+"flex-line-pack"+Pa(t,/align-content|flex-|-self/g,"")+t;case 5548:return Jl+t+ic+Pa(t,"shrink","negative")+t;case 5292:return Jl+t+ic+Pa(t,"basis","preferred-size")+t;case 6060:return Jl+"box-"+Pa(t,"-grow","")+Jl+t+ic+Pa(t,"grow","positive")+t;case 4554:return Jl+Pa(t,/([^-])(transform)/g,"$1"+Jl+"$2")+t;case 6187:return Pa(Pa(Pa(t,/(zoom-|grab)/,Jl+"$1"),/(image-set)/,Jl+"$1"),t,"")+t;case 5495:case 3959:return Pa(t,/(image-set\([^]*)/,Jl+"$1$`$1");case 4968:return Pa(Pa(t,/(.+:)(flex-)?(.*)/,Jl+"box-pack:$3"+ic+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Jl+t+t;case 4200:if(!r6(t,/flex-|baseline/))return ic+"grid-column-align"+fR(t,e)+t;break;case 2592:case 3360:return ic+Pa(t,"template-","")+t;case 4384:case 3616:return n&&n.some(function(o,i){return e=i,r6(o.props,/grid-\w+-end/)})?~O_(t+(n=n[e].value),"span",0)?t:ic+Pa(t,"-start","")+t+ic+"grid-row-span:"+(~O_(n,"span",0)?r6(n,/\d+/):+r6(n,/\d+/)-+r6(t,/\d+/))+";":ic+Pa(t,"-start","")+t;case 4896:case 4128:return n&&n.some(function(o){return r6(o.props,/grid-\w+-start/)})?t:ic+Pa(Pa(t,"-end","-span"),"span ","")+t;case 4095:case 3583:case 4068:case 2532:return Pa(t,/(.+)-inline(.+)/,Jl+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(e9(t)-1-e>6)switch(yd(t,e+1)){case 109:if(yd(t,e+4)!==45)break;case 102:return Pa(t,/(.+:)(.+)-([^]+)/,"$1"+Jl+"$2-$3$1"+AE+(yd(t,e+3)==108?"$3":"$2-$3"))+t;case 115:return~O_(t,"stretch",0)?$qe(Pa(t,"stretch","fill-available"),e,n)+t:t}break;case 5152:case 5920:return Pa(t,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(o,i,r,a,l,s,c){return ic+i+":"+r+c+(a?ic+i+"-span:"+(l?s:+s-+r)+c:"")+t});case 4949:if(yd(t,e+6)===121)return Pa(t,":",":"+Jl)+t;break;case 6444:switch(yd(t,yd(t,14)===45?18:11)){case 120:return Pa(t,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Jl+(yd(t,14)===45?"inline-":"")+"box$3$1"+Jl+"$2$3$1"+ic+"$2box$3")+t;case 100:return Pa(t,":",":"+ic)+t}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Pa(t,"scroll-","scroll-snap-")+t}return t}function XG(t,e){for(var n="",o=0;o-1&&!t.return)switch(t.type){case wye:t.return=$qe(t.value,t.length,n);return;case Gqe:return XG([k4(t,{value:Pa(t.value,"@","@"+Jl)})],o);case rQ:if(t.length)return vZt(n=t.props,function(i){switch(r6(i,o=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":LT(k4(t,{props:[Pa(i,/:(read-\w+)/,":"+AE+"$1")]})),LT(k4(t,{props:[i]})),Uue(t,{props:oTe(n,o)});break;case"::placeholder":LT(k4(t,{props:[Pa(i,/:(plac\w+)/,":"+Jl+"input-$1")]})),LT(k4(t,{props:[Pa(i,/:(plac\w+)/,":"+AE+"$1")]})),LT(k4(t,{props:[Pa(i,/:(plac\w+)/,ic+"input-$1")]})),LT(k4(t,{props:[i]})),Uue(t,{props:oTe(n,o)});break}return""})}}var FZt={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},V1={},pR=typeof process<"u"&&V1!==void 0&&(V1.REACT_APP_SC_ATTR||V1.SC_ATTR)||"data-styled",Qqe="active",Zqe="data-styled-version",cQ="6.1.10",xye=`/*!sc*/ -`,bye=typeof window<"u"&&"HTMLElement"in window,LZt=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof process<"u"&&V1!==void 0&&V1.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&V1.REACT_APP_SC_DISABLE_SPEEDY!==""?V1.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&V1.REACT_APP_SC_DISABLE_SPEEDY:typeof process<"u"&&V1!==void 0&&V1.SC_DISABLE_SPEEDY!==void 0&&V1.SC_DISABLE_SPEEDY!==""&&V1.SC_DISABLE_SPEEDY!=="false"&&V1.SC_DISABLE_SPEEDY),uQ=Object.freeze([]),gR=Object.freeze({});function WZt(t,e,n){return n===void 0&&(n=gR),t.theme!==n.theme&&t.theme||e||n.theme}var e$e=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),NZt=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,UZt=/(^-|-$)/g;function aTe(t){return t.replace(NZt,"-").replace(UZt,"")}var BZt=/(a)(d)/gi,oO=52,lTe=function(t){return String.fromCharCode(t+(t>25?39:97))};function Yue(t){var e,n="";for(e=Math.abs(t);e>oO;e=e/oO|0)n=lTe(e%oO)+n;return(lTe(e%oO)+n).replace(BZt,"$1-$2")}var Hre,t$e=5381,KP=function(t,e){for(var n=e.length;n;)t=33*t^e.charCodeAt(--n);return t},n$e=function(t){return KP(t$e,t)};function jZt(t){return Yue(n$e(t)>>>0)}function YZt(t){return t.displayName||t.name||"Component"}function Mre(t){return typeof t=="string"&&!0}var o$e=typeof Symbol=="function"&&Symbol.for,i$e=o$e?Symbol.for("react.memo"):60115,OZt=o$e?Symbol.for("react.forward_ref"):60112,_Zt={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},VZt={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r$e={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},GZt=((Hre={})[OZt]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Hre[i$e]=r$e,Hre);function sTe(t){return("type"in(e=t)&&e.type.$$typeof)===i$e?r$e:"$$typeof"in t?GZt[t.$$typeof]:_Zt;var e}var XZt=Object.defineProperty,JZt=Object.getOwnPropertyNames,cTe=Object.getOwnPropertySymbols,KZt=Object.getOwnPropertyDescriptor,qZt=Object.getPrototypeOf,uTe=Object.prototype;function a$e(t,e,n){if(typeof e!="string"){if(uTe){var o=qZt(e);o&&o!==uTe&&a$e(t,o,n)}var i=JZt(e);cTe&&(i=i.concat(cTe(e)));for(var r=sTe(t),a=sTe(e),l=0;l0?" Args: ".concat(e.join(", ")):""))}var $Zt=function(){function t(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return t.prototype.indexOfGroup=function(e){for(var n=0,o=0;o=this.groupSizes.length){for(var o=this.groupSizes,i=o.length,r=i;e>=r;)if((r<<=1)<0)throw ZW(16,"".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(o),this.length=r;for(var a=i;a=this.length||this.groupSizes[e]===0)return n;for(var o=this.groupSizes[e],i=this.indexOfGroup(e),r=i+o,a=i;a=0){var o=document.createTextNode(n);return this.element.insertBefore(o,this.nodes[e]||null),this.length++,!0}return!1},t.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.prototype.getRule=function(e){return e0&&(A+="".concat(x,","))}),s+="".concat(g).concat(y,'{content:"').concat(A,'"}').concat(xye)},u=0;u0?".".concat(e):f},u=s.slice();u.push(function(f){f.type===rQ&&f.value.includes("&")&&(f.props[0]=f.props[0].replace(sen,n).replace(o,c))}),a.prefix&&u.push(kZt),u.push(zZt);var d=function(f,p,g,y){p===void 0&&(p=""),g===void 0&&(g=""),y===void 0&&(y="&"),e=y,n=p,o=new RegExp("\\".concat(n,"\\b"),"g");var A=f.replace(cen,""),x=MZt(g||p?"".concat(g," ").concat(p," { ").concat(A," }"):A);a.namespace&&(x=c$e(x,a.namespace));var C=[];return XG(x,DZt(u.concat(EZt(function(b){return C.push(b)})))),C};return d.hash=s.length?s.reduce(function(f,p){return p.name||ZW(15),KP(f,p.name)},t$e).toString():"",d}var den=new s$e,_ue=uen(),u$e=Se.createContext({shouldForwardProp:void 0,styleSheet:den,stylis:_ue});u$e.Consumer;Se.createContext(void 0);function hTe(){return m.useContext(u$e)}var fen=function(){function t(e,n){var o=this;this.inject=function(i,r){r===void 0&&(r=_ue);var a=o.name+r.hash;i.hasNameForId(o.id,a)||i.insertRules(o.id,a,r(o.rules,a,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=n,Tye(this,function(){throw ZW(12,String(o.name))})}return t.prototype.getName=function(e){return e===void 0&&(e=_ue),this.name+e.hash},t}(),hen=function(t){return t>="A"&&t<="Z"};function pTe(t){for(var e="",n=0;n>>0);if(!n.hasNameForId(this.componentId,a)){var l=o(r,".".concat(a),void 0,this.componentId);n.insertRules(this.componentId,a,l)}i=Bv(i,a),this.staticRulesId=a}else{for(var s=KP(this.baseHash,o.hash),c="",u=0;u>>0);n.hasNameForId(this.componentId,p)||n.insertRules(this.componentId,p,o(c,".".concat(p),void 0,this.componentId)),i=Bv(i,p)}}return i},t}(),h$e=Se.createContext(void 0);h$e.Consumer;var Ire={};function yen(t,e,n){var o=Sye(t),i=t,r=!Mre(t),a=e.attrs,l=a===void 0?uQ:a,s=e.componentId,c=s===void 0?function(v,S){var w=typeof v!="string"?"sc":aTe(v);Ire[w]=(Ire[w]||0)+1;var T="".concat(w,"-").concat(jZt(cQ+w+Ire[w]));return S?"".concat(S,"-").concat(T):T}(e.displayName,e.parentComponentId):s,u=e.displayName,d=u===void 0?function(v){return Mre(v)?"styled.".concat(v):"Styled(".concat(YZt(v),")")}(t):u,f=e.displayName&&e.componentId?"".concat(aTe(e.displayName),"-").concat(e.componentId):e.componentId||c,p=o&&i.attrs?i.attrs.concat(l).filter(Boolean):l,g=e.shouldForwardProp;if(o&&i.shouldForwardProp){var y=i.shouldForwardProp;if(e.shouldForwardProp){var A=e.shouldForwardProp;g=function(v,S){return y(v,S)&&A(v,S)}}else g=y}var x=new men(n,f,o?i.componentStyle:void 0);function C(v,S){return function(w,T,P){var R=w.attrs,H=w.componentStyle,D=w.defaultProps,E=w.foldedComponentIds,L=w.styledComponentId,U=w.target,F=Se.useContext(h$e),W=hTe(),B=w.shouldForwardProp||W.shouldForwardProp,k=WZt(T,F,D)||gR,N=function(ee,$,q){for(var le,ie=N0(N0({},$),{className:void 0,theme:q}),pe=0;pe{$.button!==2&&(T(e,$,zo.Move),Ln.getState().setEnableOrbitController(!1),gt.getState().set(q=>{q.showWallIntersectionPlaneId=y,q.oldParentId=y,q.oldFoundationId=A}))},onContextMenu:$=>{T(e,$,zo.ContextMenu),S(q=>{$.intersections.length>0&&$.intersections[0].object===U.current&&(q.contextMenuObjectType=z.Light)})},onPointerOver:$=>{$.intersections.length>0&&$.intersections[0].object===U.current&&(L(!0),D.style.cursor="move")},onPointerOut:()=>{L(!1),D.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:"lightgray"})}),h.jsx(ts,{userData:{unintersectable:!0},name:"Light Bulb",castShadow:!1,receiveShadow:w,args:[r*.3,8,8,0,na,0,Math.PI],position:new ae(0,0,v?-N-J:J),rotation:[Vt,0,0],children:R?h.jsx("meshBasicMaterial",{attach:"material",color:"white"}):h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),H&&f&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:l0,lineWidth:d*10}),H&&!f&&h.jsx(ts,{ref:F,position:new ae(0,0,v?-N-J:J),args:[Af,6,6,v?Math.PI:0,Math.PI],name:yo.Default,onPointerDown:$=>{$.button===2?(T(e,$,zo.ContextMenu),S(q=>{$.intersections.length>0&&$.intersections[0].object===F.current&&(q.contextMenuObjectType=z.Light)})):T(e,$,zo.Move),Ln.getState().setEnableOrbitController(!1),gt.getState().set(q=>{q.showWallIntersectionPlaneId=y,q.oldParentId=y,q.oldFoundationId=A})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),(E||g)&&!H&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:ee,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(v?-N:0)+l+((t==null?void 0:t.labelHeight)??.2)]})]})}),Wqe="Cuboid Wrapper",Nqe="Cuboid Stackable Child",Uqe=({elements:t,cuboidModel:e})=>{const{cx:n,cy:o,lz:i,rotation:r}=e,a=i/2,l=s=>Dqe(s)&&s.parentId===e.id;return h.jsx(h.Fragment,{children:h.jsxs("group",{name:Wqe,position:[n,o,a],rotation:[0,0,r[2]],children:[h.jsx(BQt,{...e}),t.map(s=>{if(l(s))return h.jsx("group",{name:Nqe,position:[0,0,a],children:h.jsx(Uqe,{elements:t,cuboidModel:s})},s.id);if(s.parentId===e.id){const{lx:c,ly:u,lz:d}=e;switch(s.type){case z.SolarPanel:return h.jsx(_Qt,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);case z.Sensor:return h.jsx(Fqe,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);case z.Light:return h.jsx(Lqe,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);default:return null}}else return null})]})})},di=class di{static calculateProfit(e){return(e.yearlyYield*e.sellingPrice-e.panelCount*e.unitCost*365)*.001}static calculateCost(e){return e.panelCount*e.unitCost*.365}static getLatLngKey(e,n){return e.toFixed(sw)+", "+n.toFixed(sw)}static getModelKey(e){return e.title+", "+e.userid}static resizeCanvas(e,n,o){const i=document.createElement("canvas");i.width=n,i.height=o||n*e.height/e.width;const r=i.getContext("2d");return r&&r.drawImage(e,0,0,e.width,e.height,0,0,i.width,i.height),i}static getEuler(e,n,o,i,r,a){const l=new Ts;l.setFromUnitVectors(e,n);const s=new Qt;return s.setFromQuaternion(l),o&&(s.order=o),i&&(s.x+=i),r&&(s.y+=r),a&&(s.z+=a),s}static zero2DArray(e){for(let n=0;n0){for(const r of i)if(!r.leftJoints||r.leftJoints.length===0||!r.rightJoints||r.rightJoints.length===0)return Uc.WALL_DISJOINED}return Uc.COMPLETE}static calculateBuildingArea(e){const n=di.getWallPointsOfRoof(e);return di.getPolygonArea(n)}static toUValueInUS(e){return e/5.67826}static toUValueInSI(e){return e*5.67826}static toRValueInUS(e){return e*5.67826}static toRValueInSI(e){return e/5.67826}static fetchWaterTexture(e,n){const o=document.createElement("canvas");o.width=e,o.height=n;const i=o.getContext("2d");if(i){const r=i.createRadialGradient(e/2,n/2,0,e/2,n/2,Math.max(e,n)/2);r.addColorStop(0,"#45AAEA"),r.addColorStop(.04,"#2B65EC"),r.addColorStop(.2,"#0000FF"),i.fillStyle=r,i.fillRect(0,0,e,n)}return new BP(o)}static fetchWhiteTexture(e,n){const o=document.createElement("canvas");o.width=e,o.height=n;const i=o.getContext("2d");return i&&(i.fillStyle="white",i.fillRect(0,0,e,n)),new BP(o)}static fetchIntersectables(e){const n=[];return e.traverse(o=>{o.userData.unintersectable||n.push(o)}),n}static fetchSimulationElements(e,n){if(e.userData.simulation&&n.push(e),e.children.length>0)for(const o of e.children)di.fetchSimulationElements(o,n)}static getSimulationElements(e,n,o){if(e.userData.simulation&&e.uuid!==o&&n.push(e),e.children.length>0)for(const i of e.children)di.getSimulationElements(i,n,o)}static hasMovingParts(e){for(const n of e)switch(n.type){case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:return!0;case z.SolarPanel:if(n.trackerType!==Ma.NO_TRACKER)return!0}return!1}static onBuildingEnvelope(e){return e.type===z.Foundation||e.type===z.Window||e.type===z.Door||e.type===z.Wall||e.type===z.Roof}static getWindowArea(e,n){if(n){if(e.windowType===Sr.Arched&&e.archHeight>0){const o=.5*e.lx*n.lx,i=e.lz*n.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}else if(e.windowType===Sr.Polygonal&&e.polygonTop){let o=e.lx*e.lz*n.lx*n.lz;return o+=e.lx*n.lx*e.polygonTop[1]/2,o}return e.lx*e.lz*n.lx*n.lz}else{if(e.windowType===Sr.Arched&&e.archHeight>0){const o=.5*e.lx,i=e.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}else if(e.windowType===Sr.Polygonal&&e.polygonTop){let o=e.lx*e.lz;return o+=e.lx*e.polygonTop[1]/2,o}return e.lx*e.lz}}static getDoorArea(e,n){if(n){if(e.doorType===bd.Arched&&e.archHeight>0){const o=.5*e.lx*n.lx,i=e.lz*n.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}return e.lx*e.lz*n.lx*n.lz}else{if(e.doorType===bd.Arched&&e.archHeight>0){const o=.5*e.lx,i=e.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}return e.lx*e.lz}}static hasHeliostatOrFresnelReflectors(e){for(const n of e)if(n.type===z.FresnelReflector||n.type===z.Heliostat)return!0;return!1}static lineIntersection(e,n,o,i){const r=n.x-e.x,a=n.y-e.y,l=r*(i.y-o.y)-(i.x-o.x)*a;if(l===0)return;const s=((i.y-o.y)*(i.x-e.x)+(o.x-i.x)*(i.y-e.y))/l,c=((e.y-n.y)*(i.x-e.x)+r*(i.y-e.y))/l;if(!(!(0<=s&&s<=1)||!(0<=c&&c<=1)))return{x:e.x+s*r,y:e.y+s*a}}static calculateSolarRadiationColor(e,n){const o=n/(gz.length-1);let i=Math.max(0,Math.floor(e/o));i>gz.length-2&&(i=gz.length-2);const r=Math.min(1,(e-o*i)/o);return new Xo(gz[i]).lerp(gz[i+1],r)}static transpose(e){return e[0].map((n,o)=>e.map(i=>i[o]))}static clone2DArray(e){return e.map(n=>[...n])}static fetchHeatmapTexture(e,n,o){if(!e)return null;const i=document.createElement("canvas"),r=e.length,a=e[0].length;i.width=r,i.height=a;const l=i.getContext("2d");if(l){l.clearRect(0,0,r,a);const s=l.getImageData(0,0,r,a),c=s.data;for(let u=0;un!=u>n&&e<(c-l)*(n-s)/(u-s)+l&&(i=!i)}return i}static getPoints(e){const n=[];for(const o of e)n.push({x:o.x,y:o.y});return n}static polygonIntersections(e,n,o){const i=new Array;let r,a,l;for(let s=0;s0&&(n>l.x&&(n=l.x),i>l.y&&(i=l.y),o=o||Math.abs(a)>=i)return!1;const l=e.rightPoint[0],s=e.rightPoint[1];return!(Math.abs(l)>=o||Math.abs(s)>=i)}static isSensorWithin(e,n){return Math.abs(e.cx)<.5-e.lx/n.lx&&Math.abs(e.cy)<.5-e.ly/n.ly}static isSolarCollectorWithinHorizontalSurface(e,n){const o=e.cx*n.lx,i=e.cy*n.ly,r=Math.cos(e.relativeAzimuth),a=Math.sin(e.relativeAzimuth),l=n.lx*.5,s=n.ly*.5,c=e.lx*.5,u=e.ly*.5*Math.cos(e.tiltAngle);let d=o+c*r-u*a,f=i+c*a+u*r;return!(Math.abs(d)>l||Math.abs(f)>s||(d=o+c*r+u*a,f=i+c*a-u*r,Math.abs(d)>l||Math.abs(f)>s)||(d=o-c*r-u*a,f=i-c*a+u*r,Math.abs(d)>l||Math.abs(f)>s)||(d=o-c*r+u*a,f=i-c*a-u*r,Math.abs(d)>l||Math.abs(f)>s))}static isWindTurbineWithinHorizontalSurface(e,n){return Math.abs(e.cx)<=.5&&Math.abs(e.cy)<=.5}static isUnitVectorX(e){return di.isSame(e,Np)||di.isSame(e,Up)}static isUnitVectorY(e){return di.isSame(e,Yc)||di.isSame(e,Bp)}static isSame(e,n){return Math.abs(e.x-n.x)kt)return!1;return!0}static isZero(e){return Math.abs(e)-1&&e.splice(o,1)}static fixElements(e){const n=[];for(const o of e)o.type||n.push(o);if(n.length>0)for(const o of n)di.deleteElement(e,o)}static fixViewStateLight(e){e.ambientLightIntensity&&(e.ambientLightIntensity*=2),e.directLightIntensity&&(e.directLightIntensity*=3.5)}static isResizingVertical(e){switch(e){case yt.LowerLeftTop:case yt.UpperLeftTop:case yt.LowerRightTop:case yt.UpperRightTop:return!0;default:return!1}}static isTopResizeHandle(e){return e===yt.LowerLeftTop||e===yt.LowerRightTop||e===yt.UpperLeftTop||e===yt.UpperRightTop||e===yt.Top}static isXResizeHandle(e){return e===yt.Left||e===yt.Right}static isYResizeHandle(e){return e===yt.Upper||e===yt.Lower}static isTopResizeHandleOfWall(e){return e===yt.UpperLeft||e===yt.UpperRight}static isRiseHandleOfRoof(e){return e===ki.Top||e===ki.Mid||e===ki.TopMid}static isMoveHandle(e){return e===yo.Default||e===yo.Top||e===yo.Upper||e===yo.Lower||e===yo.Left||e===yo.Right}static snapToNormalGrid(e){const n=Math.round(e.x/g6)*g6,o=Math.round(e.y/g6)*g6;return new ae(n,o,e.z)}static snapToFineGrid(e){const n=Math.round(e.x/l9)*l9,o=Math.round(e.y/l9)*l9;return new ae(n,o,e.z)}static isPositionRelative(e){return e===z.SolarPanel||e===z.ParabolicTrough||e===z.ParabolicDish||e===z.FresnelReflector||e===z.Heliostat||e===z.WindTurbine||e===z.WaterHeater||e===z.Sensor||e===z.Light||e===z.Polygon||e===z.Window||e===z.Door||e===z.Roof||e===z.Wall}static isPlantOrHuman(e){return e.type===z.Tree||e.type===z.Flower||e.type===z.Human}static isFoundationOrCuboid(e){return e.type===z.Foundation||e.type===z.Cuboid}static isSolarCollector(e){return di.isSolarCollectorType(e.type)}static isSolarCollectorType(e){return e===z.SolarPanel||e===z.WaterHeater||di.isCspCollectorType(e)}static isCspCollector(e){return di.isCspCollectorType(e.type)}static isCspCollectorType(e){return e===z.ParabolicDish||e===z.ParabolicTrough||e===z.FresnelReflector||e===z.Heliostat}static isParabolicCollector(e){return di.isParabolaType(e.type)}static isParabolaType(e){return e===z.ParabolicDish||e===z.ParabolicTrough}static isParabolicTroughOrFresnelReflector(e){return e===z.FresnelReflector||e===z.ParabolicTrough}static isHeliostatOrFresnelReflector(e){return e===z.FresnelReflector||e===z.Heliostat}static isLegalOnWall(e){switch(e){case z.Window:case z.Door:case z.Sensor:case z.Light:case z.SolarPanel:case z.Polygon:return!0}return!1}static isDescendantOf(e,n){const o=e.parentId;if(!o||o===Zo)return!1;const i=M.getState().getElementById(o);return i?i.id===n?!0:di.isDescendantOf(i,n):!1}static isElementInsideWall(e,n,o,i,r){const a=n/2,l=o/2;for(let c=-1;c<=1;c+=2)for(let u=-1;u<=1;u+=2){if(r&&u===-1)continue;const d=e.x+a*c,f=e.z+l*u;if(!di.isPointInside(d,f,i))return!1}const s=[{x:e.x-a,y:e.z-l},{x:e.x-a,y:e.z+l},{x:e.x+a,y:e.z+l},{x:e.x+a,y:e.z-l}];for(const c of i)if(di.isPointInside(c.x,c.y,s))return!1;return!0}static checkElementOnWallState(e,n){let i=e.lx/2+1e-5,r=e.lz/2+1e-5;n&&e.type===z.SolarPanel&&(i=i/n.lx+1e-5,r=e.ly/2/n.lz+1e-5);const a=e.cx-i,l=e.cx+i,s=e.cz-r,c=e.cz+r;if(n&&n.type===z.Wall&&!di.isElementInsideWall(new ae(e.cx*n.lx,e.cy,e.cz*n.lz),n.lx*i*2,n.lz*r*2,di.getWallInnerSideShapePoints(n),e.type===z.Door))return fc.OutsideBoundary;for(const u of M.getState().elements)if(di.isLegalOnWall(u.type)&&u.type!==z.Polygon&&u.parentId===e.parentId&&u.id!==e.id){let d=u.lx/2,f=u.lz/2;n&&u.type===z.SolarPanel&&(d=d/n.lx,f=u.ly/2/n.lz);const p=u.cx-d,g=u.cx+d,y=u.cz-f,A=u.cz+f;if((a>=p&&a<=g||l>=p&&l<=g||p>=a&&p<=l||g>=a&&g<=l)&&(s>=y&&s<=A||c>=y&&c<=A||y>=s&&y<=c||A>=s&&A<=c))return fc.OverLap}return fc.Valid}static checkElementOnRoofState(e,n){if(e.foundationId){const o=M.getState().getElementById(e.foundationId);if(o){const i=In.getSolarPanelVerticesOnRoof(e,o),r=In.getRoofBoundaryVertices(n);return In.rooftopElementBoundaryCheck(i,r)?In.rooftopSPCollisionCheck(e,o,i)?fc.Valid:fc.OverLap:fc.OutsideBoundary}}return fc.Invalid}static relativeCoordinates(e,n,o,i){const r=new ae(e,n,o);if(i.type===z.Wall){const a=new ae(i.cx,i.cy),l=M.getState().getParent(i);if(l){const s=new ae(l.cx,l.cy);a.applyEuler(new Qt(0,0,l.rotation[2])).add(s).setZ(l.lz+i.lz/2),r.sub(a).applyEuler(new Qt(0,0,-i.relativeAngle-l.rotation[2]))}}else{const{pos:a,rot:l}=di.getWorldDataById(i.id);r.set(e-a.x,n-a.y,o-a.z),r.applyEuler(new Qt(0,0,-l))}return r.x/=i.lx,r.y/=i.ly,r.z/=i.lz,r}static absoluteCoordinates(e,n,o,i,r,a){if(i.type===z.Wall&&r){const s=i,c=r?r.rotation[2]+s.relativeAngle:s.relativeAngle;if(c!==void 0){const u=di.wallAbsolutePosition(new ae(s.cx,s.cy,s.cz),r).setZ(s.lz/2+r.lz),d=new ae(e*s.lx,n*s.ly,o*s.lz);if(d.applyAxisAngle(Po,c),a){const f=a*Math.cos(c-Vt),p=a*Math.sin(c-Vt);return new ae(u.x+d.x+f,u.y+d.y+p,u.z+d.z)}return new ae(u.x+d.x,u.y+d.y,u.z+d.z)}}if(i.type===z.Roof&&r){const s=new ae(e*r.lx,n*r.ly,o+r.lz);return s.applyEuler(new Qt().fromArray(r.rotation)),s.x+=r.cx,s.y+=r.cy,s}const l=new ae(e*i.lx,n*i.ly,o*i.lz);return l.applyEuler(new Qt().fromArray(i.rotation)),l.x+=i.cx,l.y+=i.cy,l.z+=i.cz,l}static absoluteHumanOrTreeCoordinates(e,n,o,i){const r=new ae(e,n,o);return r.applyEuler(new Qt().fromArray(i.rotation)),r.x+=i.cx,r.y+=i.cy,r.z+=i.cz,r}static relativePoint(e,n){const o=new ae(e.x-n.cx,e.y-n.cy,e.z-n.cz);return o.applyEuler(new Qt().fromArray(n.rotation.map(i=>-i))),o}static wallAbsolutePosition(e,n){const o=new ae(n.cx,n.cy);return new ae().addVectors(o,new ae(e.x,e.y).applyAxisAngle(Po,n.rotation[2]))}static wallRelativePosition(e,n){const o=new ae(n.cx,n.cy);return new ae().subVectors(new ae(e.x,e.y),o).applyAxisAngle(Po,-n.rotation[2])}static getObjectChildById(e,n){if(e){for(const o of e.children)if(o.name===Wqe){const i=di.getStackCuboidObjectById(o,n);if(i)return i}else if(o.name.includes(n))return o}return null}static getStackCuboidObjectById(e,n){if(e)for(const o of e.children){if(o.name.includes(n))return o;if(o.name===Nqe){const i=di.getStackCuboidObjectById(o.children[0],n);if(i)return i}}return null}static toRadians(e){return e*(Math.PI/180)}static toDegrees(e){return e*(180/Math.PI)}static getArrayMax(e){return e.reduce((n,o)=>Math.max(n,o))}static getArrayMin(e){return e.reduce((n,o)=>Math.min(n,o))}static getArrayMax2D(e){return di.getArrayMax(e.map(di.getArrayMax))}static getArrayMin2D(e){return di.getArrayMin(e.map(di.getArrayMin))}static sphericalToCartesianZ(e){let n=e.x*Math.cos(e.z),o=n*Math.cos(e.y),i=n*Math.sin(e.y),r=e.x*Math.sin(e.z);return e.set(o,i,r),e}static getDistance(e,n,o,i){return e=di.toRadians(e),n=di.toRadians(n),o=di.toRadians(o),i=di.toRadians(i),Math.acos(Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos(Math.abs(e-o)))}static minutesIntoDay(e){return e.getHours()*60+e.getMinutes()}static dayOfYear(e){return(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())-Date.UTC(e.getFullYear(),0,0))/864e5}static daysInYear(e){const n=e.getFullYear();return n%4===0&&n%100>0||n%400===0?366:365}static daysOfMonth(e,n){return new Date(n,e+1,0).getDate()}static fahrenheitToCelsius(e){return(e-32)*5/9}static celsiusToFahrenheit(e){return e*(9/5)+32}static getOS(){var e;return(e=XNe.os)==null?void 0:e.family}static isMac(){const e=di.getOS();return e?e.includes("Mac")||e.includes("OS X"):!1}static isChrome(){const e=di.getOS();return e?e.includes("Chrome"):!1}static detectWebGLContext(){try{const e=document.createElement("canvas");return!!window.WebGLRenderingContext&&(!!e.getContext("webgl")||!!e.getContext("experimental-webgl"))}catch{return!1}}static clamp(e,n,o){return n>o?(n+o)/2:Math.min(Math.max(e,n),o)}static distanceFromPointToLine2D(e,n,o){const[i,r]=[e.x,e.y],[a,l]=[n.x,n.y],[s,c]=[o.x,o.y],u=i-a,d=r-l,f=s-a,p=c-l,g=u*f+d*p,y=f*f+p*p;let A=-1;y!==0&&(A=g/y);let x,C;A<0?(x=a,C=l):A>1?(x=s,C=c):(x=a+A*f,C=l+A*p);const b=i-x,v=r-C;return Math.sqrt(b*b+v*v)}static mapVector3ToPoint2(e){return{x:e.x,y:e.y}}static getWallVertices(e,n){const o=e.lx/2,i=e.lz/2,r={x:-o-n,y:-i-n},a={x:o+n,y:-i-n},l={x:-o-n,y:(e.leftRoofHeight??e.lz)-i+n},s={x:o+n,y:(e.rightRoofHeight??e.lz)-i+n},c=[];return c.push(l,r,a,s),e.centerRightRoofHeight&&c.push({x:e.centerRightRoofHeight[0]*e.lx,y:e.centerRightRoofHeight[1]-i+n}),e.centerRoofHeight&&c.push({x:e.centerRoofHeight[0]*e.lx,y:e.centerRoofHeight[1]-i+n}),e.centerLeftRoofHeight&&c.push({x:e.centerLeftRoofHeight[0]*e.lx,y:e.centerLeftRoofHeight[1]-i+n}),c}static isPartialWallFull(e){return di.isZero((e.leftRoofHeight??e.lz)-e.leftTopPartialHeight)&&di.isZero((e.rightRoofHeight??e.lz)-e.rightTopPartialHeight)&&di.isZero(e.leftUnfilledHeight)&&di.isZero(e.rightUnfilledHeight)}static getPartialWallVertices(e,n){if(di.isPartialWallFull(e))return di.getWallVertices(e,n);const o=e.lx/2,i=e.lz/2,r={x:-o-n,y:e.leftUnfilledHeight-i-n},a={x:o+n,y:e.rightUnfilledHeight-i-n},l={x:-o-n,y:e.leftTopPartialHeight-i+n},s={x:o+n,y:e.rightTopPartialHeight-i+n},c=[];return c.push(l,r,a,s),e.centerRightRoofHeight&&c.push({x:e.centerRightRoofHeight[0]*e.lx,y:e.centerRightRoofHeight[1]-i+n}),e.centerRoofHeight&&c.push({x:e.centerRoofHeight[0]*e.lx,y:e.centerRoofHeight[1]-i+n}),e.centerLeftRoofHeight&&c.push({x:e.centerLeftRoofHeight[0]*e.lx,y:e.centerLeftRoofHeight[1]-i+n}),c}static getHighestPointOfWall(e){let n=e.lz;return e.leftRoofHeight&&(n=Math.max(n,e.leftRoofHeight)),e.rightRoofHeight&&(n=Math.max(n,e.rightRoofHeight)),e.centerRightRoofHeight&&(n=Math.max(n,e.centerRightRoofHeight[1])),e.centerRoofHeight&&(n=Math.max(n,e.centerRoofHeight[1])),e.centerLeftRoofHeight&&(n=Math.max(n,e.centerLeftRoofHeight[1])),n}static getWallPointsOfRoof(e,n){let o=n??M.getState().getElementById(e.wallsId[0]);if(!o)return[];const i=o,r=[];for(;o&&(!o.roofId||o.roofId===e.id)&&(r.push({x:o.leftPoint[0],y:o.leftPoint[1],eave:o.eavesLength??0}),o.leftJoints[0]);)if(o.leftJoints[0]!==i.id)o=M.getState().getElementById(o.leftJoints[0]);else return r.reverse(),r;for(r.reverse(),o=M.getState().getElementById(i==null?void 0:i.rightJoints[0]);o&&(!o.roofId||o.roofId===e.id)&&(r.push({x:o.leftPoint[0],y:o.leftPoint[1],eave:o.eavesLength??0}),o.rightJoints[0]&&o.rightJoints[0]!==i.id);)o=M.getState().getElementById(o.rightJoints[0]);return r}static getWallInnerSideShapePoints(e){const{lx:n,ly:o,lz:i,relativeAngle:r,fill:a,leftUnfilledHeight:l,rightUnfilledHeight:s,leftRoofHeight:c,centerLeftRoofHeight:u,centerRoofHeight:d,centerRightRoofHeight:f,rightRoofHeight:p,leftJoints:g,rightJoints:y}=e,A=g.length>0?M.getState().getElementById(g[0]):null,x=y.length>0?M.getState().getElementById(y[0]):null,C=A&&A.type===z.Wall?di.getInnerWallOffset(A,n,o,r,"left"):0,b=x&&x.type===z.Wall?di.getInnerWallOffset(x,n,o,r,"right"):0,v=[],S=n/2,w=i/2;return a===Hl.Partial?(v.push({x:-S+C,y:-w+l}),v.push({x:S-b,y:-w+s})):(v.push({x:-S+C,y:-w}),v.push({x:S-b,y:-w})),p?v.push({x:S-b,y:p-w}):v.push({x:S-b,y:w}),f&&v.push({x:f[0]*n,y:f[1]-w}),d&&v.push({x:d[0]*n,y:d[1]-w}),u&&v.push({x:u[0]*n,y:u[1]-w}),c?v.push({x:-S+C,y:c-w}):v.push({x:-S+C,y:w}),v}static getInnerWallOffset(e,n,o,i,r){let a=0;if(e&&e.fill!==Hl.Empty){const l=r==="left"?-1:1,s=(Math.PI*3+l*(i-e.relativeAngle))%na;s<=Vt+.01&&s>0&&(a=Math.min(o/Math.tan(s)+e.ly,n))}return a}static isElementAllowedMultipleMoveOnGround(e){return e.type===z.Foundation||e.type===z.Cuboid&&e.parentId===Zo}static compareVersion(e,n){if(!e)return!0;const[o,i,r]=e.split(".").map(c=>Number(c)),[a,l,s]=n.split(".").map(c=>Number(c));return oa?!1:il?!1:r{const n=M.getState().getElementById,o=[],i=e;for(;e&&(o.push(e),e.leftJoints[0]);)if(e.leftJoints[0]!==i.id){const a=n(e.leftJoints[0]);a&&a.type===z.Wall&&(e=a)}else return o;const r=n(i.rightJoints[0]);for(r&&r.type===z.Wall&&(e=r);e&&(o.push(e),e.rightJoints[0]&&e.rightJoints[0]!==i.id);){const a=n(e.rightJoints[0]);a&&(e=a)}return o},di.getWorldDataById=e=>{const n=M.getState().getElementById(e);if(!n)return{pos:new ae,rot:0,topZ:0};const o=new ae(n.cx,n.cy,n.cz),i=n.rotation[2],r=n.lz;if(n.parentId===Zo)return{pos:o,rot:i,topZ:r};const{pos:a,rot:l,topZ:s}=di.getWorldDataById(n.parentId),c=new Qt(0,0,l);return{pos:new ae().addVectors(o.applyEuler(c),a.clone().setZ(s)),rot:i+l,topZ:r+s}},di.isChild=(e,n,o=!1)=>{const i=M.getState().getElementById(n);return!i||o&&i.locked?!1:i.parentId===e?!0:di.isChild(e,i.parentId,o)},di.getBaseId=e=>{const n=M.getState().getElementById(e);return n?n.parentId===Zo?n.id:di.getBaseId(n.parentId):null},di.isElementTriggerAutoDeletion=e=>{if(e.type===z.Roof){const i=e;if(i.roofType===Vo.Gable||i.roofType===Vo.Gambrel)return!0}if(e.type!==z.Wall)return!1;const n=e;if(!n.roofId)return!1;const o=M.getState().getElementById(n.roofId);if(!o)return!1;switch(o.roofType){case Vo.Hip:case Vo.Gable:case Vo.Gambrel:return!0;case Vo.Pyramid:case Vo.Mansard:return o.wallsId.length===0?!1:o.wallsId[0]===n.id;default:return!1}};let be=di;var cSe;class uSe{constructor(){this[cSe]=!0,this.latitude=42.2844063,this.longitude=-71.3488548,this.address=qV,this.countryCode="US",this.date=new Date(new Date().getFullYear(),5,22,12).toLocaleString("en-US"),this.name="default",this.ground={albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:new Array(12).fill(0)},this.leafDayOfYear1=sq,this.leafDayOfYear2=cq,this.airAttenuationCoefficient=.01,this.airConvectiveCoefficient=5,this.timesPerHour=1,this.daysPerYear=12,this.monthlyIrradianceLosses=new Array(12).fill(.05),this.pvGridCellSize=.5,this.discretization=Rm.APPROXIMATE,this.diurnalTemperatureModel=u2.Sinusoidal,this.highestTemperatureTimeInMinutes=900,this.solarPanelVisibilityGridCellSize=.2,this.solarRadiationHeatmapGridCellSize=.5,this.cspTimesPerHour=1,this.cspDaysPerYear=4,this.cspGridCellSize=.5,this.sutTimesPerHour=1,this.sutDaysPerYear=4,this.sutGridCellSize=1,this.noAnimationForHeatmapSimulation=!1,this.noAnimationForThermalSimulation=!1,this.noAnimationForSensorDataCollection=!1,this.noAnimationForSolarPanelSimulation=!1,this.noAnimationForSolarUpdraftTowerSimulation=!1}static resetWorldModel(e){e.latitude=42.2844063,e.longitude=-71.3488548,e.address=qV,e.countryCode="US",e.date=new Date(new Date().getFullYear(),5,22,12).toLocaleString("en-US"),e.name="default",e.ground.albedo=.3,e.ground.thermalDiffusivity=.05,e.ground.snowReflectionFactors.fill(0),e.airAttenuationCoefficient=.01,e.airConvectiveCoefficient=5,e.timesPerHour=1,e.daysPerYear=12,e.monthlyIrradianceLosses=new Array(12).fill(.05),e.pvGridCellSize=.5,e.discretization=Rm.APPROXIMATE,e.diurnalTemperatureModel=u2.Sinusoidal,e.highestTemperatureTimeInMinutes=900,e.solarPanelVisibilityGridCellSize=.2,e.solarRadiationHeatmapGridCellSize=.5,e.cspTimesPerHour=1,e.cspDaysPerYear=4,e.cspGridCellSize=.5,e.sutTimesPerHour=1,e.sutDaysPerYear=4,e.sutGridCellSize=1,e.noAnimationForHeatmapSimulation=!1,e.noAnimationForThermalSimulation=!1,e.noAnimationForSensorDataCollection=!1,e.noAnimationForSolarPanelSimulation=!1,e.noAnimationForSolarUpdraftTowerSimulation=!1}getElements(){const e=[],n={type:z.Foundation,cx:0,cy:0,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,textureType:Or.NoTexture,id:ta.generate()};e.push(n);const o={type:z.Sensor,cx:-.1,cy:0,cz:.105,lx:.1,ly:.1,lz:.01,parentId:n.id,foundationId:n.id,normal:[0,0,1],rotation:[0,0,0],id:ta.generate(),showLabel:!0,light:!0,heatFlux:!1};e.push(o);const i={type:z.Human,name:Yt.Judd,cx:1,cy:-1,cz:0,lx:Ip.fetchWidth(Yt.Jiya),lz:Ip.fetchHeight(Yt.Jiya),normal:[1,0,0],rotation:[0,0,0],parentId:Zo,id:ta.generate()};return e.push(i),e}}cSe=Om;class Nl{static clone(e,n,o,i,r,a,l,s){let c=null;switch(n.type){case z.Polygon:e&&(c=Nl.clonePolygon(e,n,o,i,r,a,l));break;case z.Sensor:e&&(c=Nl.cloneSensor(e,n,o,i,r));break;case z.Light:e&&(c=Nl.cloneLight(e,n,o,i,r));break;case z.SolarPanel:e&&(c=Nl.cloneSolarPanel(e,n,o,i,r));break;case z.ParabolicTrough:e&&(c=Nl.cloneParabolicTrough(e,n,o,i,r));break;case z.ParabolicDish:e&&(c=Nl.cloneParabolicDish(e,n,o,i,r));break;case z.FresnelReflector:e&&(c=Nl.cloneFresnelReflector(e,n,o,i,r));break;case z.Heliostat:e&&(c=Nl.cloneHeliostat(e,n,o,i,r));break;case z.WindTurbine:e&&(c=Nl.cloneWindTurbine(e,n,o,i,r));break;case z.Wall:e&&(c=Nl.cloneWall(e,n,o,i,r));break;case z.Window:e&&(c=Nl.cloneWindow(e,n,o,i,r,s));break;case z.Door:e&&(c=Nl.cloneDoor(e,n,o,i,r));break;case z.Roof:e&&(c=Nl.cloneRoof(e,n,o,i,r));break;case z.Human:c=Nl.cloneHuman(n,o,i,r,e);break;case z.Tree:c=Nl.cloneTree(n,o,i,r,e);break;case z.Flower:c=Nl.cloneFlower(n,o,i,r,e);break;case z.Foundation:c=Nl.cloneFoundation(n,o,i);break;case z.Cuboid:const u=e?e.id:Zo;c=Nl.cloneCuboid(u,n,o,i);break}return c}static cloneHuman(e,n,o,i,r){return{type:z.Human,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static cloneTree(e,n,o,i,r){return{type:z.Tree,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static cloneFlower(e,n,o,i,r){return{type:z.Flower,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static clonePolygon(e,n,o,i,r,a,l){let s;switch(e.type){case z.Foundation:case z.Cuboid:s=e.id;break;case z.Wall:case z.Roof:s=e.parentId;break}const c=n.vertices.map(d=>({...d})),u={type:z.Polygon,cx:o,cy:i,cz:r,lx:n.lx,ly:n.ly,lz:n.lz,filled:n.filled,noOutline:n.noOutline,color:n.color,lineColor:n.lineColor,lineWidth:n.lineWidth,opacity:n.opacity,textureType:n.textureType,text:n.text,fontSize:n.fontSize,fontColor:n.fontColor,normal:[...n.normal],rotation:n.parentId?[...e.rotation]:[0,0,0],vertices:c,parentId:e.id,parentType:e.type,foundationId:s,id:ta.generate()};if(!a){let d=o,f=i;if(e.type===z.Cuboid&&l){be.isSame(l,Up)?d=r??0:be.isSame(l,Np)?d=-(r??0):be.isSame(l,Bp)?f=r??0:be.isSame(l,Yc)&&(f=-(r??0));const p=l.dot(new ae().fromArray(n.normal));if(Math.abs(p)0&&this.commands.length>this.limit&&this.commands.splice(0,this.commands.length-this.limit),this.index=this.commands.length-1)}undo(){const e=this.commands[this.index];if(e)return this.isExecuting=!0,e.undo(),this.isExecuting=!1,this.index--,e.name}redo(){const e=this.commands[this.index+1];if(e)return this.isExecuting=!0,e.redo(),this.isExecuting=!1,this.index++,e.name}clear(){this.commands=[],this.index=-1}hasUndo(){return this.index!==-1}hasRedo(){return this.index0||this.cuboidCount>0||this.wallCount>0||this.windowCount>0||this.doorCount>0||this.humanCount>0||this.treeCount>0||this.flowerCount>0||this.polygonCount>0||this.sensorCount>0||this.insideLightCount>0||this.outsideLightCount>0||this.solarPanelCount>0||this.parabolicTroughCount>0||this.parabolicDishCount>0||this.fresnelReflectorCount>0||this.heliostatCount>0||this.solarUpdraftTowerCount>0||this.windTurbineCount>0}}var mSe;class GQt{constructor(e){this[mSe]=!0,this.problem=e,this.objectiveFunctionType=xo.DAILY_TOTAL_OUTPUT,this.selectionMethod=Im.ROULETTE_WHEEL,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.populationSize=20,this.maximumGenerations=5,this.selectionRate=.5,this.crossoverRate=.5,this.mutationRate=.1,this.convergenceThreshold=.01,this.localSearchRadius=.1}}mSe=Om;var ySe;class XQt{constructor(e){this[ySe]=!0,this.problem=e,this.objectiveFunctionType=xo.DAILY_TOTAL_OUTPUT,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.swarmSize=20,this.maximumSteps=5,this.vmax=.01,this.inertia=.8,this.cognitiveCoefficient=.1,this.socialCoefficient=.1,this.convergenceThreshold=.01,this.localSearchRadius=.1}}ySe=Om;var ASe;class wSe{constructor(){this[ASe]=!0,this.geneticAlgorithmParams=new GQt(Tr.SOLAR_PANEL_TILT_ANGLE),this.particleSwarmOptimizationParams=new XQt(Tr.SOLAR_PANEL_TILT_ANGLE)}}ASe=Om;var vSe;class GG{constructor(){this[vSe]=!0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.poleHeight=1,this.poleSpacing=5,this.orientation=ci.landscape,this.pvModelName="CS6X-355P-FG",this.rowAxis=Rl.leftRight}}vSe=Om;var xSe;class bSe{constructor(){this[xSe]=!0,this.projectLifeSpan=25,this.electricitySellingPrice=.25,this.operationalCostPerUnit=.15}}xSe=Om;var SSe;class TSe{constructor(){this[SSe]=!0,this.humanName=Yt.Jack,this.flowerType=$n.YellowFlower,this.treeType=fi.Dogwood,this.treeSpread=3,this.treeHeight=4,this.foundationHeight=.1,this.foundationColor="#808080",this.foundationTexture=Or.NoTexture,this.groundFloorRValue=Q4,this.cuboidHeight=4,this.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"],this.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],this.cuboidStackable=!1,this.wallHeight=5,this.wallThickness=.3,this.wallColor="#ffffff",this.wallTexture=No.Default,this.wallStructure=hc.Default,this.wallStructureSpacing=2,this.wallStructureWidth=.1,this.wallStructureColor="#ffffff",this.wallOpacity=.5,this.wallRValue=i6,this.wallVolumetricHeatCapacity=.5,this.wallEavesLength=.3,this.wallParapet=yye,this.roofColor="#454769",this.roofSideColor="#ffffff",this.roofTexture=Ui.Default,this.roofThickness=.2,this.roofStructure=yc.Default,this.roofGlassOpacity=.5,this.roofGlassTint="#73D8FF",this.roofRafterWidth=.1,this.roofRafterSpacing=1,this.roofRafterColor="#ffffff",this.roofRValue=Z4,this.roofVolumetricHeatCapacity=.5,this.roofRise=2,this.roofCeiling=!1,this.ceilingRValue=c6,this.doorColor="#ffffff",this.doorFrameColor="#ffffff",this.doorTexture=ii.Default,this.doorType=bd.Default,this.doorArchHeight=1,this.doorFilled=!0,this.doorInterior=!1,this.doorUValue=j4,this.doorOpacity=1,this.doorVolumetricHeatCapacity=.5,this.windowWidth=1,this.windowHeight=1,this.windowColor="#ffffff",this.windowTint="#73D8FF",this.windowOpacity=.5,this.windowUValue=B4,this.windowHorizontalMullion=!0,this.windowVerticalMullion=!0,this.windowMullionWidth=.06,this.windowHorizontalMullionSpacing=.5,this.windowVerticalMullionSpacing=.5,this.windowMullionColor="#ffffff",this.windowFrame=!1,this.windowFrameWidth=.1,this.windowSillWidth=.1,this.windowType=Sr.Default,this.windowArchHeight=1,this.windowShutterLeft=!1,this.windowShutterRight=!1,this.windowShutterColor="gray",this.windowShutterWidth=.5,this.windowEmpty=!1,this.windowInterior=!1,this.windTurbineBirdSafeDesign=lc.None,this.windTurbineBladeColor=X5,this.windTurbineStripeColor=J5,this.windTurbineNumberOfBlades=3,this.windTurbinePitchAngle=Math.PI/18,this.windTurbineRelativeYawAngle=0,this.windTurbineInitialRotorAngle=0,this.windTurbineTowerHeight=20,this.windTurbineTowerRadius=.5,this.windTurbineBladeRadius=10,this.windTurbineBladeMaximumChordLength=1,this.windTurbineBladeMaximumChordRadius=3,this.windTurbineBladeRootRadius=.3,this.windTurbineHubRadius=.75,this.windTurbineHubLength=1.5,this.solarPanelModelName="SPR-X21-335-BLK",this.solarPanelOrientation=ci.landscape,this.solarPanelPoleHeight=1,this.solarPanelPoleSpacing=3,this.solarPanelTiltAngle=0,this.solarPanelRelativeAzimuth=0,this.solarPanelFrameColor="#ffffff",this.solarPanelCx=0,this.solarPanelCy=0,this.parabolicDishReflectance=.9,this.parabolicDishAbsorptance=.95,this.parabolicDishOpticalEfficiency=.7,this.parabolicDishThermalEfficiency=.3,this.parabolicDishRimDiameter=4,this.parabolicDishLatusRectum=8,this.parabolicDishPoleHeight=.2,this.parabolicDishPoleRadius=.1,this.parabolicDishReceiverStructure=ef.CentralPole,this.parabolicTroughReflectance=.9,this.parabolicTroughAbsorptance=.95,this.parabolicTroughOpticalEfficiency=.7,this.parabolicTroughThermalEfficiency=.3,this.parabolicTroughLatusRectum=2,this.parabolicTroughPoleHeight=.2,this.parabolicTroughWidth=2,this.parabolicTroughModuleLength=3,this.fresnelReflectorReceiver="None",this.fresnelReflectorReflectance=.9,this.fresnelReflectorPoleHeight=.2,this.fresnelReflectorWidth=2,this.fresnelReflectorModuleLength=3,this.heliostatTower="None",this.heliostatReflectance=.9,this.heliostatPoleHeight=.2,this.heliostatPoleRadius=.1,this.heliostatWidth=4,this.heliostatLength=2,this.lightColor="#ffff99",this.lightIntensity=3,this.lightDistance=5}}SSe=Om;var PSe;class CSe{constructor(){this[PSe]=!0,this.dailyPvIndividualOutputs=!1,this.yearlyPvIndividualOutputs=!1,this.dailyParabolicDishIndividualOutputs=!1,this.yearlyParabolicDishIndividualOutputs=!1,this.dailyParabolicTroughIndividualOutputs=!1,this.yearlyParabolicTroughIndividualOutputs=!1,this.dailyFresnelReflectorIndividualOutputs=!1,this.yearlyFresnelReflectorIndividualOutputs=!1,this.dailyHeliostatIndividualOutputs=!1,this.yearlyHeliostatIndividualOutputs=!1,this.dailyUpdraftTowerIndividualOutputs=!1,this.yearlyUpdraftTowerIndividualOutputs=!1}}PSe=Om;class dd{static getDefaultHiddenParameters(e){return e===Tr.SOLAR_PANEL_ARRAY?["latitude","orientation","poleHeight"]:[]}static getVariables(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push("rowWidth"),n.includes("tiltAngle")||o.push("tiltAngle"),n.includes("interRowSpacing")||o.push("interRowSpacing"),n.includes("latitude")||o.push("latitude"),n.includes("orientation")||o.push("orientation"),n.includes("poleHeight")||o.push("poleHeight"),n.includes("unitCost")||o.push("unitCost"),n.includes("sellingPrice")||o.push("sellingPrice"),n.includes("totalYearlyCost")||o.push("totalYearlyCost"),n.includes("totalYearlyYield")||o.push("totalYearlyYield"),n.includes("meanYearlyYield")||o.push("meanYearlyYield"),n.includes("yearlyProfit")||o.push("yearlyProfit"),o}return[]}static getTitles(e,n,o){if(e===Tr.SOLAR_PANEL_ARRAY){const i=[];return o.includes("rowWidth")||i.push(O.t("polygonMenu.SolarPanelArrayRowWidth",n)),o.includes("tiltAngle")||i.push(O.t("polygonMenu.SolarPanelArrayTiltAngle",n)),o.includes("interRowSpacing")||i.push(O.t("polygonMenu.SolarPanelArrayRowSpacing",n)),o.includes("latitude")||i.push(O.t("word.Latitude",n)),o.includes("orientation")||i.push(O.t("polygonMenu.SolarPanelArrayOrientation",n)),o.includes("poleHeight")||i.push(O.t("polygonMenu.SolarPanelArrayPoleHeight",n)),o.includes("unitCost")||i.push(O.t("economicsPanel.UnitCost",n)),o.includes("sellingPrice")||i.push(O.t("economicsPanel.SellingPrice",n)),o.includes("totalYearlyCost")||i.push(O.t("polygonMenu.SolarPanelArrayTotalYearlyCost",n)),o.includes("totalYearlyYield")||i.push(O.t("polygonMenu.SolarPanelArrayTotalYearlyYield",n)),o.includes("meanYearlyYield")||i.push(O.t("polygonMenu.SolarPanelArrayMeanYearlyYield",n)),o.includes("yearlyProfit")||i.push(O.t("polygonMenu.SolarPanelArrayYearlyProfit",n)),i}return[]}static getTypes(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push("number"),n.includes("tiltAngle")||o.push("number"),n.includes("interRowSpacing")||o.push("number"),n.includes("latitude")||o.push("number"),n.includes("orientation")||o.push("boolean"),n.includes("poleHeight")||o.push("number"),n.includes("unitCost")||o.push("number"),n.includes("sellingPrice")||o.push("number"),n.includes("totalYearlyCost")||o.push("number"),n.includes("totalYearlyYield")||o.push("number"),n.includes("meanYearlyYield")||o.push("number"),n.includes("yearlyProfit")||o.push("number"),o}return[]}static getDigits(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push(0),n.includes("tiltAngle")||o.push(1),n.includes("interRowSpacing")||o.push(1),n.includes("latitude")||o.push(1),n.includes("orientation")||o.push(0),n.includes("poleHeight")||o.push(1),n.includes("unitCost")||o.push(2),n.includes("sellingPrice")||o.push(2),n.includes("totalYearlyCost")||o.push(1),n.includes("totalYearlyYield")||o.push(1),n.includes("meanYearlyYield")||o.push(1),n.includes("yearlyProfit")||o.push(3),o}return[]}static getTickIntegers(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push(!0),n.includes("tiltAngle")||o.push(!1),n.includes("interRowSpacing")||o.push(!1),n.includes("latitude")||o.push(!1),n.includes("orientation")||o.push(!0),n.includes("poleHeight")||o.push(!1),n.includes("unitCost")||o.push(!1),n.includes("sellingPrice")||o.push(!1),n.includes("totalYearlyCost")||o.push(!1),n.includes("totalYearlyYield")||o.push(!1),n.includes("meanYearlyYield")||o.push(!1),n.includes("yearlyProfit")||o.push(!1),o}return[]}static getUnits(e,n,o){if(e===Tr.SOLAR_PANEL_ARRAY){const i=[];return o.includes("rowWidth")||i.push(" "+O.t("solarPanelMenu.Panels",n)),o.includes("tiltAngle")||i.push("°"),o.includes("interRowSpacing")||i.push(" "+O.t("word.MeterAbbreviation",n)),o.includes("latitude")||i.push("°"),o.includes("orientation")||i.push(""),o.includes("poleHeight")||i.push(" "+O.t("word.MeterAbbreviation",n)),o.includes("unitCost")||i.push(""),o.includes("sellingPrice")||i.push(""),o.includes("totalYearlyCost")||i.push("K"),o.includes("totalYearlyYield")||i.push(" MWh"),o.includes("meanYearlyYield")||i.push(" kWh"),o.includes("yearlyProfit")||i.push("K"),i}return[]}static getUnit(e,n){return e==="tiltAngle"||e==="latitude"?"°":e==="interRowSpacing"||e==="poleHeight"?O.t("word.MeterAbbreviation",n):e==="totalYearlyYield"?"MWh":e==="meanYearlyYield"?"kWh":e==="totalYearlyCost"||e==="yearlyProfit"?"K":""}static setScatterData(e,n,o,i){switch(e){case"rowWidth":o[n]=i.rowsPerRack;break;case"tiltAngle":o[n]=be.toDegrees(i.tiltAngle);break;case"interRowSpacing":o[n]=i.interRowSpacing;break;case"latitude":o[n]=i.latitude;break;case"orientation":o[n]=i.orientation===ci.landscape?0:1;break;case"poleHeight":o[n]=i.poleHeight;break;case"unitCost":o[n]=i.unitCost;break;case"sellingPrice":o[n]=i.sellingPrice;break;case"totalYearlyCost":o[n]=be.calculateCost(i);break;case"totalYearlyYield":o[n]=i.yearlyYield*.001;break;case"meanYearlyYield":o[n]=i.yearlyYield/i.panelCount;break;case"yearlyProfit":o[n]=be.calculateProfit(i);break}}}class JQt{static updateOldFileData(){M.getState().set(e=>{be.compareVersion(e.version,R3t)&&(e.viewState.ambientLightIntensity&&(e.viewState.ambientLightIntensity*=3),e.viewState.directLightIntensity&&(e.viewState.directLightIntensity*=3.5));const n=new Map;for(const o of e.elements)n.set(o.id,o);for(const o of e.elements)switch(o.type){case z.Foundation:{o.parentId!==Zo&&(console.error("Error: "+o.parentId+" is not ground!"),o.parentId=Zo);break}case z.Wall:{const i=o;if(i.wallStructure===void 0&&(i.wallStructure=hc.Default),i.structureSpacing===void 0&&(i.structureSpacing=2),i.structureWidth===void 0&&(i.structureWidth=.1),i.structureColor===void 0&&(i.structureColor="white"),i.opacity===void 0&&(i.opacity=.5),i.fill===void 0&&(i.fill=Hl.Full),i.unfilledHeight===void 0&&(i.unfilledHeight=.5),i.leftUnfilledHeight===void 0||i.rightUnfilledHeight===void 0){const r=i.unfilledHeight??.5;i.leftUnfilledHeight=r,i.rightUnfilledHeight=r}if((i.leftTopPartialHeight===void 0||i.rightTopPartialHeight===void 0)&&(i.leftTopPartialHeight=i.lz,i.rightTopPartialHeight=i.lz),i.eavesLength===void 0&&i.roofId){const r=n.get(i.roofId);if(r&&r.type===z.Roof){const a=r;i.eavesLength=a.overhang!==void 0?a.overhang:.3}else i.eavesLength=.3}if(i.parapet===void 0&&(i.parapet={...yye}),i.roofId){const r=n.get(i.roofId);if(r&&r.type===z.Roof){const a=r;(a.roofType===Vo.Pyramid||a.roofType===Vo.Hip||a.roofType===Vo.Mansard)&&(i.leftRoofHeight=void 0,i.rightRoofHeight=void 0)}}break}case z.Window:{const i=o;i.horizontalMullion===void 0&&(i.horizontalMullion=i.mullion),i.verticalMullion===void 0&&(i.verticalMullion=i.mullion),i.mullionWidth===void 0&&(i.mullionWidth=.06),i.horizontalMullionSpacing===void 0&&(i.horizontalMullionSpacing=i.mullionSpacing??.5),i.verticalMullionSpacing===void 0&&(i.verticalMullionSpacing=i.mullionSpacing??.5),i.tint===void 0&&(i.tint="#73D8FF"),i.opacity===void 0&&(i.opacity=.5),i.shutter&&(i.leftShutter=i.shutter.showLeft,i.rightShutter=i.shutter.showRight,i.shutterColor=i.shutter.color,i.shutterWidth=i.shutter.width,i.shutter=void 0),i.shutterColor===void 0&&(i.shutterColor="gray"),i.shutterWidth===void 0&&(i.shutterWidth=.5),i.mullionColor===void 0&&(i.mullionColor="white"),i.frame===void 0&&(i.frame=!1),i.color===void 0&&(i.color="white"),i.frameWidth===void 0&&(i.frameWidth=.1),i.windowType===void 0&&(i.windowType=Sr.Default),i.archHeight===void 0&&(i.archHeight=1);break}case z.Door:{const i=o;i.doorType===void 0&&(i.doorType=bd.Default),i.archHeight===void 0&&(i.archHeight=1),i.filled===void 0&&(i.filled=!0);break}case z.Roof:{const i=o;if(i.ceiling===void 0&&(i.ceiling=!1),i.roofType===Vo.Gambrel){const r=i;r.frontRidgePoint===void 0&&(r.frontRidgePoint=r.frontRidgeLeftPoint?[...r.frontRidgeLeftPoint]:[.35,.5],r.frontRidgeLeftPoint=void 0,r.frontRidgeRightPoint=void 0),r.backRidgePoint===void 0&&(r.backRidgePoint=r.backRidgeLeftPoint?[...r.backRidgeLeftPoint]:[-.35,.5],r.backRidgeLeftPoint=void 0,r.backRidgeRightPoint=void 0),r.topRidgePoint===void 0&&(r.topRidgePoint=r.topRidgeLeftPoint?[...r.topRidgeLeftPoint]:[0,1],r.topRidgeLeftPoint=void 0,r.topRidgeRightPoint=void 0)}}}})}}function hd(t){return t.type===z.Foundation||t.type===z.Cuboid}Aht();const M=vK()(x3t(P3t((t,e)=>{const n=be.isOpenFromURL(),o=new uSe,i=n?[]:o.getElements(),r=a=>t(LP(a));return{set:a=>{try{r(a)}catch(l){console.log(l)}},version:nE,world:o,elements:i,user:{},viewState:new fSe,actionState:new TSe,graphState:new CSe,shadowMapSize:$Ne,solarPanelArrayLayoutParams:new pSe,solarPanelArrayLayoutConstraints:new GG,evolutionaryAlgorithmState:new wSe,economicsParams:new bSe,geneticAlgorithmWizardSelectedTab:"1",particleSwarmOptimizationWizardSelectedTab:"1",modelType:da.UNKNOWN,modelAuthor:null,modelLabel:null,modelDescription:null,projectView:!1,projectState:{owner:null,title:null,description:null,type:Tr.SOLAR_PANEL_ARRAY,designs:new Array,ranges:new Array,filters:new Array,hiddenParameters:dd.getDefaultHiddenParameters(Tr.SOLAR_PANEL_ARRAY),counter:0,dataColoring:n9.ALL,selectedProperty:null,sortDescending:!1,xAxisNameScatterPlot:null,yAxisNameScatterPlot:null,dotSizeScatterPlot:5,thumbnailWidth:200},projectImages:new Map,designProjectType:null,notes:[],language:"en",floatingWindowOpacity:m0,selectedFloatingWindow:null,cloudFile:void 0,latestModelSite:void 0,modelSites:new Map,peopleModels:new Map,modelsMapLatitude:42.2844063,modelsMapLongitude:-71.3488548,modelsMapAddress:qV,modelsMapZoom:KNe,modelsMapType:"roadmap",modelsMapTilt:0,minimumNavigationMoveSpeed:3,minimumNavigationTurnSpeed:3,tempHumanPlant:[],ray:new Gs,mouse:new Gt,fileChanged:!1,setNavigationView(a){r(l=>{l.viewState.navigationView=a,l.viewState.enableRotate=!a,a&&(l.viewState.orthographic=!1)})},set2DView(a){r(l=>{l.viewState.orthographic=a,l.viewState.enableRotate=!a,a&&(l.viewState.navigationView=!1)})},applyCount:0,setApplyCount(a){r(l=>{l.applyCount=a})},revertApply(){if(e().applyCount){for(let a=0;a{s.version=a.version,s.world=a.world,s.viewState=a.view,s.graphState=a.graphState??new CSe,s.elements=a.elements,s.notes=a.notes??[],s.animate24Hours=!!a.animate24Hours,s.modelType=a.modelType??da.UNKNOWN,s.modelAuthor=a.modelAuthor??null,s.modelLabel=a.modelLabel??null,s.modelDescription=a.modelDescription??null,s.designProjectType=a.designProjectType??null,s.cloudFile=l,s.currentUndoable=void 0,s.actionInfo=void 0,s.sceneRadius=a.sceneRadius??100,s.updateSceneRadiusFlag=!s.updateSceneRadiusFlag,s.localContentToImportAfterCloudFileUpdate=void 0,s.fileChanged=!s.fileChanged,s.evolutionMethod=a.evolutionMethod??Bs.GENETIC_ALGORITHM,s.solarPanelArrayLayoutParams=a.solarPanelArrayLayoutParams??new pSe,s.solarPanelArrayLayoutConstraints=a.solarPanelArrayLayoutConstraints??new GG,s.evolutionaryAlgorithmState=a.evolutionaryAlgorithmState??new wSe,s.economicsParams=a.economicsParams??new bSe,s.minimumNavigationMoveSpeed=a.minimumNavigationMoveSpeed??3,s.minimumNavigationTurnSpeed=a.minimumNavigationTurnSpeed??3,s.fittestIndividualResults.length=0,s.undoManager.clear(),s.deletedRoofId=null,s.autoDeletedRoofs=null,s.autoDeletedRoofIdSet.clear(),s.autoDeletedChild=null,s.deletedRoofIdSet.clear(),s.addedRoofIdSet.clear(),s.actionState=new TSe,s.multiSelectionsMode=!1,s.selectedElementIdSet.clear(),s.groupActionMode=!1,s.selectedFloatingWindow=null}),JQt.updateOldFileData(),gt.getState().set(s=>{s.changed=!1,s.skipChange=!0,s.animateSun=!1,s.showSolarRadiationHeatmap=!1,s.showHeatFluxes=!1,s.simulationInProgress=!1,s.simulationPaused=!1,s.clearDailySimulationResultsFlag=!s.clearDailySimulationResultsFlag,s.clearYearlySimulationResultsFlag=!s.clearYearlySimulationResultsFlag,s.navigationMoveSpeed=a.minimumNavigationMoveSpeed??3,s.navigationTurnSpeed=a.minimumNavigationTurnSpeed??3}),bn.getState().clearDataStore(),bn.getState().clearRoofVerticesMap()},exportContent(){const a=e(),l=new Date,s=JSON.parse(JSON.stringify(a.elements));return be.fixElements(s),{docid:ta.generate(),time:gc(l).format("MM/DD/YYYY hh:mm A"),timestamp:l.getTime(),userid:a.user.uid,owner:a.user.signFile?a.user.displayName:null,email:a.user.signFile?a.user.email:null,version:nE,world:JSON.parse(JSON.stringify(a.world)),elements:s,sceneRadius:a.sceneRadius,view:JSON.parse(JSON.stringify(a.viewState)),animate24Hours:a.animate24Hours,graphState:JSON.parse(JSON.stringify(a.graphState)),evolutionMethod:a.evolutionMethod,solarPanelArrayLayoutParams:JSON.parse(JSON.stringify(a.solarPanelArrayLayoutParams)),solarPanelArrayLayoutConstraints:JSON.parse(JSON.stringify(a.solarPanelArrayLayoutConstraints)),evolutionaryAlgorithmState:JSON.parse(JSON.stringify(a.evolutionaryAlgorithmState)),economicsParams:JSON.parse(JSON.stringify(a.economicsParams)),modelType:a.modelType,modelAuthor:a.modelAuthor,modelLabel:a.modelLabel,modelDescription:a.modelDescription,designProjectType:a.designProjectType,notes:a.notes,minimumNavigationMoveSpeed:a.minimumNavigationMoveSpeed,minimumNavigationTurnSpeed:a.minimumNavigationTurnSpeed}},clearContent(){r(a=>{a.elements=[],a.sceneRadius=100}),bn.getState().clearDataStore(),bn.getState().clearRoofVerticesMap()},createEmptyFile(){r(a=>{uSe.resetWorldModel(a.world),fSe.resetViewState(a.viewState),a.version=nE,a.elements=[],a.sceneRadius=100,a.cloudFile=void 0,a.localContentToImportAfterCloudFileUpdate=void 0,a.notes=[],a.fileChanged=!a.fileChanged,a.currentUndoable=void 0,a.actionInfo=void 0,a.undoManager.clear(),a.modelType=da.UNKNOWN,a.modelLabel=null,a.modelDescription=null,a.designProjectType=null,a.minimumNavigationMoveSpeed=3,a.minimumNavigationTurnSpeed=3,a.multiSelectionsMode=!1,a.selectedElementIdSet.clear(),a.groupActionMode=!1,a.selectedFloatingWindow=null,a.deletedRoofId=null,a.autoDeletedRoofs=null,a.autoDeletedRoofIdSet.clear(),a.autoDeletedChild=null,a.deletedRoofIdSet.clear(),a.addedRoofIdSet.clear()}),gt.getState().set(a=>{a.changed=!1,a.skipChange=!0,a.animateSun=!1,a.showSolarRadiationHeatmap=!1,a.showHeatFluxes=!1}),bn.getState().clearDataStore(),bn.getState().clearRoofVerticesMap()},undoManager:new VQt,addUndoable(a){r(l=>{l.loggable&&(l.currentUndoable=a),l.undoManager.add(a)})},fittestIndividualResults:[],setFittestIndividualResults(a){r(l=>{l.fittestIndividualResults=[...a]})},variableLabels:[],setVariableLabels(a){r(l=>{l.variableLabels=[...a]})},aabb:new pf(new ae(-10,-10,-10),new ae(10,10,10)),animate24Hours:!1,evolutionMethod:Bs.GENETIC_ALGORITHM,clickObjectType:null,contextMenuObjectType:null,hoveredHandle:null,moveHandleType:null,resizeHandleType:null,rotateHandleType:null,resizeAnchor:new ae,selectedElement:null,getSelectedElement(){if(e().selectedElementIdSet.size===0)return null;const a=e().selectedElement;return a?e().elements.find(l=>l.id===a.id)??null:null},selectedElementIdSet:new Set,multiSelectionsMode:!1,findNearestSibling(a){let l=null;const s=e().getElementById(a);if(s){let c=Number.MAX_VALUE;for(const u of e().elements)if(u.type===s.type&&u.parentId===s.parentId&&u.id!==a){const d=s.cx-u.cx,f=s.cy-u.cy,p=s.cz-u.cz,g=d*d+f*f+p*p;c>g&&(c=g,l=u.id)}}return l},overlapWithSibling(a,l){let s=!1;if(l===void 0){const c=e().getParent(a);if(c){for(const u of e().elements)if(u.type===a.type&&u.parentId===a.parentId&&u.id!==a.id){if(a.type===z.SolarPanel){if(be.doSolarPanelsOverlap(a,u,c)){s=!0;break}}else if(Math.abs(a.cx-u.cx)*c.lx<.5*(a.lx+u.lx)&&Math.abs(a.cy-u.cy)*c.ly<.5*(a.ly+u.ly)&&Math.abs(a.cz-u.cz)*c.lz<.5*(a.lz+u.lz)){s=!0;break}}}}else{const c=l*l,u=e().getParent(a);for(const d of e().elements)if(d.type===a.type&&d.parentId===a.parentId&&d.id!==a.id){const f=(a.cx-d.cx)*(u?u.lx:1),p=(a.cy-d.cy)*(u?u.ly:1),g=(a.cz-d.cz)*(u?u.lz:1);if(f*f+p*p+g*gC.id===g);if(x){const C=new ae(x.cx,x.cy,x.lz),b=new Qt(0,0,x.rotation[2]),v=new ae;switch(l){case yt.UpperLeft:{v.fromArray(A.leftPoint).setZ(0);break}case yt.UpperRight:{v.fromArray(A.rightPoint).setZ(0);break}}y.copy(v.applyEuler(b).add(C))}break}case z.Roof:{const A=e().elements.find(x=>x.id===g);if(A){const x=new ae(A.cx,A.cy,A.lz),C=new Qt(0,0,A.rotation[2]),b=new ae(e().selectedElementX,e().selectedElementY).applyEuler(C).add(x);y.set(b.x,b.y,A.lz)}break}case z.Tree:{const A=e().elements.find(x=>x.id===g);if(A){const x=new ae(A.cx,A.cy,A.cz+A.lz/2),C=new Qt(0,0,A.rotation[2]);y.copy(new ae(a.cx,a.cy,A.lz).applyEuler(C).add(x))}break}}return y},getElementById(a){const l=e().elements;for(const s of l)if(s.id===a)return s;return null},getParent(a){const l=e().elements;for(const s of l)if(s.id===a.parentId)return s;return null},getFoundation(a){const l=e().elements;for(const s of l)if(s.id===a.foundationId&&s.type===z.Foundation)return s;return null},selectNone(){r(a=>{a.selectedElementIdSet.clear();for(const l of a.elements)l.selected=!1;a.selectedElement=null}),Ln.getState().selectNone()},selectMe(a,l,s,c){const u=Ln.getState().setEnableOrbitController;l.intersections.length>0&&(l.intersections.filter(f=>!f.eventObject.name.startsWith("Wall Intersection Plane"))[0].object===l.eventObject||c)&&r(f=>{var p,g,y;for(const A of f.elements)if(A.id===a)if(A.selected=!0,f.selectedElement=A,f.selectedElementHeight=A.lz,f.groupActionMode){let x=A.foundationId??null;!x&&hd(A)&&(x=be.getBaseId(A.id)),x&&(f.multiSelectionsMode||f.selectedElementIdSet.clear(),f.selectedElementIdSet.has(x)?f.selectedElementIdSet.delete(x):f.selectedElementIdSet.add(x))}else if(s===zo.ContextMenu)if(f.selectedElementIdSet.has(a))for(const x of f.elements)f.selectedElementIdSet.has(x.id)&&x.type!==f.selectedElement.type&&f.selectedElementIdSet.delete(x.id);else if(f.multiSelectionsMode){f.selectedElementIdSet.add(a);for(const x of f.elements)f.selectedElementIdSet.has(x.id)&&x.type!==f.selectedElement.type&&f.selectedElementIdSet.delete(x.id)}else f.selectedElementIdSet.clear(),f.selectedElementIdSet.add(a);else f.multiSelectionsMode?f.selectedElementIdSet.has(a)?f.selectedElementIdSet.delete(a):f.selectedElementIdSet.add(a):(f.selectedElementIdSet.clear(),f.selectedElementIdSet.add(a));else A.selected=!1;if(f.moveHandleType=null,f.resizeHandleType=null,f.rotateHandleType=null,f.contextMenuObjectType=null,s)switch(s){case zo.Move:{((p=f.selectedElement)==null?void 0:p.type)===z.Tree||((g=f.selectedElement)==null?void 0:g.type)===z.Human?f.moveHandleType=yo.Default:f.moveHandleType=l.eventObject.name,u(!1);break}case zo.Resize:{f.resizeHandleType=l.eventObject.name,u(!1);break}case zo.Rotate:{f.rotateHandleType=l.eventObject.name,u(!1);break}case zo.Select:{f.selectedElementAngle=((y=l.object.parent)==null?void 0:y.rotation.z)??0,u(!0);break}default:u(!0)}})},countHeatmapCells(){let a=0;return r(l=>{const s=l.world.solarRadiationHeatmapGridCellSize??.5,c=s*s;for(const u of l.elements)(u.type===z.Foundation||u.type===z.Cuboid)&&(a+=u.lx*u.ly/c)}),Math.round(a)},updateAllElementLocks(a){r(l=>{for(const s of l.elements)s.locked=a})},updateElementLockByFoundationId(a,l){r(s=>{for(const c of s.elements)(c.foundationId===a||c.parentId===a||c.id===a)&&(c.locked=l)})},updateElementLockByParentId(a,l,s){r(c=>{for(const u of c.elements)u.parentId===a&&l===u.type&&(u.locked=s)})},updateElementLockById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.locked=l;break}})},updateElementReferenceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.referenceId=l;break}})},updateElementLabelById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.label=l;break}})},updateElementShowLabelById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.showLabel=l;break}})},updateElementColorById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.color=l;break}})},updateElementColorOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&be.isIdentical(d.normal,s)&&!d.locked&&(d.color=c)})},updateElementColorAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.color=s)})},updateElementColorForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.color=l)})},updateElementLineColorById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lineColor=l;break}})},updateElementLineColorOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&be.isIdentical(d.normal,s)&&!d.locked&&(d.lineColor=c)})},updateElementLineColorAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lineColor=s)})},updateElementLineColorForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lineColor=l)})},updateElementLineWidthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.lineWidth=l;break}})},updateElementLineWidthOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&be.isIdentical(d.normal,s)&&!d.locked&&(d.lineWidth=c)})},updateElementLineWidthAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lineWidth=s)})},updateElementLineWidthForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lineWidth=l)})},updateElementCxById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cx=l,c.type===z.SolarPanel&&c.parentType===z.Roof&&(s.updateElementOnRoofFlag=!0);break}})},updateElementCyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cy=l,c.type===z.SolarPanel&&c.parentType===z.Roof&&(s.updateElementOnRoofFlag=!0);break}})},updateElementCzById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cz=l;break}})},updateElementCzForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cz=l)})},updateElementLxById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lx=l;break}})},updateElementLxAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lx=s)})},updateElementLxOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.lx=c)}})},updateElementLxForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lx=l)})},updateElementLyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.ly=l;break}})},updateElementLyAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.ly=s)})},updateElementLyOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.ly=c)}})},updateElementLyForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.ly=l)})},updateElementLzById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lz=l;break}})},updateElementLzAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lz=s)})},updateElementLzOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.lz=c)}})},updateElementLzForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lz=l)})},updateElementRotationById(a,l,s,c){r(u=>{for(const d of u.elements)(d.id===a&&!d.locked||d.parentId===a&&!Dqe(d)&&d.type!==z.SolarPanel)&&(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c);u.selectedElementAngle=c})},updateElementRotationForAll(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a)d.locked||(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c);else{const f=u.getParent(d);f&&!f.locked&&f.type===a&&(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c)}})},updateSolarCollectorDrawSunBeamById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.drawSunBeam=l;break}})},updateSolarCollectorDrawSunBeamAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.drawSunBeam=s)})},updateSolarCollectorDrawSunBeamForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.locked||c.type===a&&(c.drawSunBeam=l)})},updateSolarCollectorRelativeAzimuthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.relativeAzimuth=l,s.selectedElementAngle=l;break}})},updateSolarCollectorRelativeAzimuthAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&u.parentType!==z.Wall&&(u.relativeAzimuth=s)})},updateSolarCollectorRelativeAzimuthOnSurface(a,l,s,c){be.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.relativeAzimuth=c)}})},updateSolarCollectorRelativeAzimuthForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&c.parentType!==z.Wall&&(c.relativeAzimuth=l)})},updateSolarCollectorXById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.cx=l;break}})},updateSolarCollectorXAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.cx=s)})},updateSolarCollectorXForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cx=l)})},updateSolarCollectorYById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.cy=l;break}})},updateSolarCollectorYAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.cy=s)})},updateSolarCollectorYForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cy=l)})},updateSolarCollectorPoleHeightById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.poleHeight=l;break}})},updateSolarCollectorPoleHeightAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.poleHeight=s)})},updateSolarCollectorPoleHeightOnSurface(a,l,s,c){be.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(!d.locked&&d.type===a){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.poleHeight=c)}})},updateSolarCollectorPoleHeightForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.poleHeight=l)})},updateSolarCollectorPoleRadiusById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&be.isSolarCollector(c)){c.poleRadius=l;break}})},updateSolarCollectorPoleRadiusAboveFoundation(a,l,s){be.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.poleRadius=s)})},updateSolarCollectorPoleRadiusOnSurface(a,l,s,c){be.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(!d.locked&&d.type===a){let f;s?f=d.parentId===l&&be.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.poleRadius=c)}})},updateSolarCollectorPoleRadiusForAll(a,l){be.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.poleRadius=l)})},clearAllSolarCollectorYields(){r(a=>{for(const l of a.elements)if(be.isSolarCollector(l)){const s=l;s.dailyYield=0,s.yearlyYield=0}})},updateSolarCollectorDailyYieldById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isSolarCollector(c)){c.dailyYield=l;break}})},updateSolarCollectorYearlyYieldById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isSolarCollector(c)){c.yearlyYield=l;break}})},updateCspReflectanceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isCspCollector(c)){c.reflectance=l;break}})},updateCspReflectanceAboveFoundation(a,l,s){be.isCspCollectorType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.reflectance=s)})},updateCspReflectanceForAll(a,l){be.isCspCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.reflectance=l)})},updateParabolicCollectorAbsorptanceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isParabolicCollector(c)){c.absorptance=l;break}})},updateParabolicCollectorAbsorptanceAboveFoundation(a,l,s){be.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.absorptance=s)})},updateParabolicCollectorAbsorptanceForAll(a,l){be.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.absorptance=l)})},updateParabolicCollectorOpticalEfficiencyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isParabolicCollector(c)){c.opticalEfficiency=l;break}})},updateParabolicCollectorOpticalEfficiencyAboveFoundation(a,l,s){be.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.opticalEfficiency=s)})},updateParabolicCollectorOpticalEfficiencyForAll(a,l){be.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.opticalEfficiency=l)})},updateParabolicCollectorThermalEfficiencyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&be.isParabolicCollector(c)){c.thermalEfficiency=l;break}})},updateParabolicCollectorThermalEfficiencyAboveFoundation(a,l,s){be.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.thermalEfficiency=s)})},updateParabolicCollectorThermalEfficiencyForAll(a,l){be.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.thermalEfficiency=l)})},foundationActionScope:ue.OnlyThisObject,setFoundationActionScope(a){r(l=>{l.foundationActionScope=a})},cuboidActionScope:ue.OnlyThisSide,setCuboidActionScope(a){r(l=>{l.cuboidActionScope=a})},polygonActionScope:ue.OnlyThisObject,setPolygonActionScope(a){r(l=>{l.polygonActionScope=a})},updatePolygonVertexPositionById(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===z.Polygon&&d.id===a){const f=d;l>=0&&l{for(const c of s.elements)if(c.type===z.Polygon&&c.id===a){const u=c;u.vertices=l;break}})},solarPanelActionScope:ue.OnlyThisObject,setSolarPanelActionScope(a){r(l=>{l.solarPanelActionScope=a})},updateSolarPanelTiltAngleById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.SolarPanel&&c.id===a&&!c.locked){const u=c;u.tiltAngle=l;break}})},setSolarPanelOrientation(a,l,s){if(a.orientation=s,a.orientation===ci.portrait){const c=Math.max(1,Math.round(a.lx/l.width)),u=Math.max(1,Math.round(a.ly/l.length));a.lx=c*l.width,a.ly=u*l.length}else{const c=Math.max(1,Math.round(a.lx/l.length)),u=Math.max(1,Math.round(a.ly/l.width));a.lx=c*l.length,a.ly=u*l.width}},parabolicTroughActionScope:ue.OnlyThisObject,setParabolicTroughActionScope(a){r(l=>{l.parabolicTroughActionScope=a})},fresnelReflectorActionScope:ue.OnlyThisObject,setFresnelReflectorActionScope(a){r(l=>{l.fresnelReflectorActionScope=a})},heliostatActionScope:ue.OnlyThisObject,setHeliostatActionScope(a){r(l=>{l.heliostatActionScope=a})},updateSolarReceiverById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){if(c.type===z.Heliostat){c.towerId=l;break}else if(c.type===z.FresnelReflector){c.receiverId=l;break}}})},updateSolarReceiverAboveFoundation(a,l,s){be.isHeliostatOrFresnelReflector(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.Heliostat?u.towerId=s:u.type===z.FresnelReflector&&(u.receiverId=s))})},updateSolarReceiverForAll(a,l){be.isHeliostatOrFresnelReflector(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.Heliostat?c.towerId=l:c.type===z.FresnelReflector&&(c.receiverId=l))})},parabolicDishActionScope:ue.OnlyThisObject,setParabolicDishActionScope(a){r(l=>{l.parabolicDishActionScope=a})},updateModuleLengthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){if(c.type===z.ParabolicTrough){c.moduleLength=l;break}else if(c.type===z.FresnelReflector){c.moduleLength=l;break}}})},updateModuleLengthAboveFoundation(a,l,s){be.isParabolicTroughOrFresnelReflector(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.ParabolicTrough||u.type===z.FresnelReflector)&&(u.moduleLength=s)})},updateModuleLengthForAll(a,l){be.isParabolicTroughOrFresnelReflector(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.ParabolicTrough||c.type===z.FresnelReflector)&&(c.moduleLength=l)})},updateParabolaLatusRectumById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){(c.type===z.ParabolicTrough||c.type===z.ParabolicDish)&&(c.latusRectum=l);break}})},updateParabolaLatusRectumAboveFoundation(a,l,s){be.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.ParabolicTrough||u.type===z.ParabolicDish)&&(u.latusRectum=s)})},updateParabolaLatusRectumForAll(a,l){be.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.ParabolicTrough||c.type===z.ParabolicDish)&&(c.latusRectum=l)})},windTurbineActionScope:ue.OnlyThisObject,setWindTurbineActionScope(a){r(l=>{l.windTurbineActionScope=a})},wallActionScope:ue.OnlyThisObject,setWallActionScope(a){r(l=>{l.wallActionScope=a})},roofActionScope:ue.OnlyThisObject,setRoofActionScope(a){r(l=>{l.roofActionScope=a})},windowActionScope:ue.OnlyThisObject,setWindowActionScope(a){r(l=>{l.windowActionScope=a})},doorActionScope:ue.OnlyThisObject,setDoorActionScope(a){r(l=>{l.doorActionScope=a})},updateWallRelativeAngleById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.relativeAngle=l;break}})},updateWallLeftJointsById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a){c.leftJoints=l;break}})},updateWallRightJointsById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a){c.rightJoints=l;break}})},updateWallLeftPointById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.leftPoint=[...l];break}})},updateWallRightPointById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.rightPoint=[...l];break}})},updateRoofRiseById(a,l,s){r(c=>{for(const u of c.elements)if(u.id===a&&u.type===z.Roof){u.rise=l,c.actionState.roofRise=l,s!==void 0&&(c.selectedElementHeight=s);break}})},updateRoofStructureById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&c.type===z.Roof){const u=c;u.roofStructure=l;break}})},updateInsideLightById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Light&&c.id===a){c.inside=l;break}})},updateInsideLightsByParentId(a,l){r(s=>{for(const c of s.elements)c.parentId===a&&c.type===z.Light&&(c.inside=l)})},setElementPosition(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a){u.elements[d].cx=l,u.elements[d].cy=s,c!==void 0&&(u.elements[d].cz=c);break}})},setElementNormal(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a||f.parentId===a){const p=u.elements[d];p.normal[0]=l,p.normal[1]=s,p.normal[2]=c}})},setElementSize(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a){u.elements[d].lx=l,u.elements[d].ly=s,c&&(u.elements[d].lz=c,u.selectedElementHeight=c);break}})},actionModeLock:!1,objectTypeToAdd:z.None,addElement(a,l,s){let c=null;const u="id"in a?a.id:Zo;return r(d=>{switch(d.objectTypeToAdd){case z.Human:{const f=new ae().copy(l);if(u!==Zo){const{rot:g,pos:y}=be.getWorldDataById(u);f.sub(new ae(y.x,y.y,y.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeHuman(d.actionState.humanName,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Tree:{const f=new ae().copy(l);if(u!==Zo){const{rot:g,pos:y}=be.getWorldDataById(u);f.sub(new ae(y.x,y.y,y.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeTree(d.actionState.treeType,d.actionState.treeSpread,d.actionState.treeHeight,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Flower:{const f=new ae().copy(l);if(u!==Zo){const{rot:g,pos:y}=be.getWorldDataById(u);f.sub(new ae(y.x,y.y,y.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeFlower(d.actionState.flowerType,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Polygon:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makePolygon(f,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,f.type);c=g,d.elements.push(g);break}case z.Sensor:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeSensor(f,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0);c=g,d.elements.push(g);break}case z.Light:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeLight(f,2,d.actionState.lightDistance,d.actionState.lightIntensity,d.actionState.lightColor,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0);c=g,d.elements.push(g);break}case z.SolarPanel:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeSolarPanel(f,d.getPvModule(d.actionState.solarPanelModelName??"SPR-X21-335-BLK"),p.x,p.y,p.z,d.actionState.solarPanelOrientation??ci.landscape,d.actionState.solarPanelPoleHeight??1,d.actionState.solarPanelPoleSpacing??3,d.actionState.solarPanelTiltAngle??0,d.actionState.solarPanelRelativeAzimuth??0,s,"rotation"in a?a.rotation:void 0,d.actionState.solarPanelFrameColor??"white");c=g,d.elements.push(g);break}case z.ParabolicTrough:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeParabolicTrough(f,d.actionState.parabolicTroughReflectance,d.actionState.parabolicTroughAbsorptance,d.actionState.parabolicTroughOpticalEfficiency,d.actionState.parabolicTroughThermalEfficiency,d.actionState.parabolicTroughLatusRectum,d.actionState.parabolicTroughPoleHeight,d.actionState.parabolicTroughModuleLength,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.parabolicTroughWidth);c=g,d.elements.push(g);break}case z.ParabolicDish:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeParabolicDish(f,d.actionState.parabolicDishReflectance,d.actionState.parabolicDishAbsorptance,d.actionState.parabolicDishOpticalEfficiency,d.actionState.parabolicDishThermalEfficiency,d.actionState.parabolicDishLatusRectum,d.actionState.parabolicDishPoleHeight,d.actionState.parabolicDishReceiverStructure,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.parabolicDishRimDiameter,d.actionState.parabolicDishRimDiameter);c=g,d.elements.push(g);break}case z.FresnelReflector:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeFresnelReflector(f,d.actionState.fresnelReflectorReceiver,d.actionState.fresnelReflectorReflectance,d.actionState.fresnelReflectorPoleHeight,d.actionState.fresnelReflectorModuleLength,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.fresnelReflectorWidth);c=g,d.elements.push(g);break}case z.Heliostat:{const f=a,p=be.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeHeliostat(f,d.actionState.heliostatTower,d.actionState.heliostatReflectance,d.actionState.heliostatPoleHeight,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.heliostatLength,d.actionState.heliostatWidth);c=g,d.elements.push(g);break}case z.WindTurbine:{const f=a,p=be.relativeCoordinates(l.x,l.y,0,f),g=rl.makeWindTurbine(f,d.actionState.windTurbineBirdSafeDesign??lc.None,d.actionState.windTurbineBladeColor??X5,d.actionState.windTurbineStripeColor??J5,d.actionState.windTurbineNumberOfBlades??3,d.actionState.windTurbineInitialRotorAngle??0,d.actionState.windTurbineRelativeYawAngle??0,d.actionState.windTurbinePitchAngle??Math.PI/18,d.actionState.windTurbineBladeRadius??10,d.actionState.windTurbineBladeRootRadius??.3,d.actionState.windTurbineBladeMaximumChordLength??1,d.actionState.windTurbineBladeMaximumChordRadius??3,d.actionState.windTurbineTowerRadius??.5,d.actionState.windTurbineTowerHeight??20,d.actionState.windTurbineHubRadius??.75,d.actionState.windTurbineHubLength??1.5,p.x,p.y,0);c=g,d.elements.push(g);break}case z.Foundation:{const f=rl.makeFoundation(l.x,l.y,d.actionState.foundationHeight,d.actionState.foundationColor,d.actionState.foundationTexture);c=f,d.elements.push(f);break}case z.Cuboid:{const f=rl.makeCuboid(l.x,l.y,d.actionState.cuboidHeight,d.actionState.cuboidFaceColors,d.actionState.cuboidFaceTextures);c=f,d.elements.push(f);break}case z.Wall:{const f=a,p=be.wallRelativePosition(new ae(l.x,l.y),f),g=rl.makeWall(f,p.x,p.y,p.z,s);d.elements.push(g),d.selectedElement=g,c=g;break}}c&&(d.selectedElementIdSet.clear(),d.selectedElementIdSet.add(c.id))}),c},elementsToPaste:[],deletedElements:[],clearDeletedElements(){r(a=>{a.deletedElements=[]})},pastePoint:new ae,pasteNormal:void 0,copyElementById(a){r(l=>{l.elementsToPaste=[];for(const s of l.elements)if(s.id===a){if(s.type===z.Polygon){const c=be.calculatePolygonCentroid(s.vertices);s.cx=c.x,s.cy=c.y,l.elementsToPaste.push(s)}else l.elementsToPaste.push(s);break}for(const s of l.elements)if(be.isChild(a,s.id)){if(s.type===z.Polygon){const c=be.calculatePolygonCentroid(s.vertices);s.cx=c.x,s.cy=c.y}l.elementsToPaste.push(s)}})},removeSelectedElements(){const a=e().selectedElementIdSet;if(a.size===0)return[];const l=Array.from(a),s=new Set,c=new Set;for(const u of e().elements)if(a.has(u.id))s.add(u),c.add(u.id);else for(const d of l)be.isChild(d,u.id)&&(s.add(u),c.add(u.id));return r(u=>{u.autoDeletedRoofs=[],u.deletedElements=Array.from(s),u.elements=u.elements.filter(d=>{var f,p;if(c.has(d.id)){switch(d.type){case z.Wall:{const g=d;let y="",A="";g.leftJoints.length>0&&(y=((f=u.getElementById(g.leftJoints[0]))==null?void 0:f.id)??""),g.rightJoints.length>0&&(A=((p=u.getElementById(g.rightJoints[0]))==null?void 0:p.id)??"");for(const x of u.elements)x.id===y?x.rightJoints=[]:x.id===A&&(x.leftJoints=[]);u.updateWallMapOnFoundationFlag=!u.updateWallMapOnFoundationFlag;break}case z.Roof:{u.deletedRoofIdSet.add(d.id),bn.getState().deleteRoofSegmentVertices(d.id),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(d.id);break}}return!1}else return!0})}),Array.from(s)},removeElementById(a,l,s=!0,c){const u=e().elements.filter(d=>d.id===a||be.isChild(a,d.id));return r(d=>{var f,p;for(const g of d.elements)if(g.id===a){if(l)if(g.type===z.Polygon){const y=be.calculatePolygonCentroid(g.vertices);g.cx=y.x,g.cy=y.y,d.elementsToPaste=[g]}else d.elementsToPaste=[g];else c||(d.deletedElements=[g]);switch(g.selected=!1,g.type){case z.Roof:{const y=g;d.deletedRoofId=g.id,d.deletedRoofIdSet.add(g.id),bn.getState().deleteRoofSegmentVertices(a),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(a),c&&(d.autoDeletedRoofs?d.autoDeletedRoofs.push(y):d.autoDeletedRoofs=[y],d.autoDeletedRoofIdSet.add(y.id));break}case z.Wall:{const y=g;let A="",x="";y.leftJoints.length>0&&(A=((f=d.getElementById(y.leftJoints[0]))==null?void 0:f.id)??""),y.rightJoints.length>0&&(x=((p=d.getElementById(y.rightJoints[0]))==null?void 0:p.id)??"");for(const C of d.elements)C.id===A?C.rightJoints=[]:C.id===x&&(C.leftJoints=[]);d.elements=d.elements.filter(C=>!(C.type===z.Roof&&C.wallsId.length===0)),d.updateWallMapOnFoundationFlag=!d.updateWallMapOnFoundationFlag,d.deletedWallId=g.id;break}case z.Foundation:{d.deletedFoundationId=g.id;break}case z.Cuboid:{d.deletedCuboidId=g.id;break}}break}if(c)for(const g of d.elements)be.isChild(a,g.id)&&(d.autoDeletedChild?d.autoDeletedChild.push(g):d.autoDeletedChild=[g]);else if(l)for(const g of d.elements)be.isChild(a,g.id)&&d.elementsToPaste.push(g);else for(const g of d.elements)be.isChild(a,g.id)&&d.deletedElements.push(g);d.elements=d.elements.filter(g=>g.id===a||g.parentId===a||g.foundationId===a||be.isChild(a,g.id)?(g.type===z.Roof&&(bn.getState().deleteRoofSegmentVertices(a),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(a)),!1):!0),d.selectedElementIdSet.delete(a),s&&(d.selectedElement=null,d.selectedElementIdSet.clear())}),u},removeElementsByType(a){r(l=>{a===z.Foundation?l.elements=l.elements.filter(s=>s.locked||s.type!==z.Foundation&&!s.foundationId?!0:(s.type===z.Roof&&(bn.getState().deleteRoofSegmentVertices(s.id),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(s.id)),!1)):l.elements=l.elements.filter(s=>s.locked||s.type!==a?!0:(s.type===z.Roof&&(bn.getState().deleteRoofSegmentVertices(s.id),bn.getState().deleteRoofSegmentVerticesWithoutOverhang(s.id)),!1))})},countElementsByType(a,l){let s=0;if(l)for(const c of e().elements)c.type===a&&!c.locked&&s++;else for(const c of e().elements)c.type===a&&s++;return s},countSolarStructuresByType(a,l){let s=0;if(l)for(const c of e().elements)c.type===z.Foundation&&!c.locked&&c.solarStructure===a&&s++;else for(const c of e().elements)c.type===z.Foundation&&c.solarStructure===a&&s++;return s},countObservers(){let a=0;for(const l of e().elements)l.type===z.Human&&l.observer&&a++;return a},removeElementsByReferenceId(a,l){r(s=>{if(l){s.deletedElements=[];for(const c of s.elements)c.referenceId===a&&s.deletedElements.push(c)}s.elements=s.elements.filter(c=>c.referenceId!==a)})},countElementsByReferenceId(a){let l=0;for(const s of e().elements)s.referenceId===a&&l++;return l},getChildren(a){const l=[];for(const s of e().elements)s.parentId===a&&l.push(s);return l},getChildrenOfType(a,l){const s=[];for(const c of e().elements)c.type===a&&c.parentId===l&&s.push(c);return s},removeAllChildElementsByType(a,l){r(s=>{s.elements=s.elements.filter(c=>c.locked||c.type!==l||c.parentId!==a),l===z.Wall&&(s.updateWallMapOnFoundationFlag=!s.updateWallMapOnFoundationFlag)})},removeAllElementsOnFoundationByType(a,l){r(s=>{s.elements=s.elements.filter(c=>c.locked||c.type!==l||c.foundationId!==a),l===z.Wall&&(s.updateWallMapOnFoundationFlag=!s.updateWallMapOnFoundationFlag)})},countAllElements(a){let l=0;if(a)for(const s of e().elements)s.locked||l++;else l=e().elements.length;return l},countAllElementsByType(a){const l=new gSe;for(const s of e().elements)if(s.locked?l.lockedCount++:l.unlockedCount++,!(a&&s.locked))switch(s.type){case z.Foundation:{s.solarStructure===zn.UpdraftTower&&l.solarUpdraftTowerCount++,l.foundationCount++;break}case z.Cuboid:{l.cuboidCount++;break}case z.Wall:{l.wallCount++;break}case z.Window:{l.windowCount++;break}case z.Door:{l.doorCount++;break}case z.Human:{l.humanCount++;break}case z.Tree:{l.treeCount++;break}case z.Flower:{l.flowerCount++;break}case z.Polygon:{l.polygonCount++;break}case z.Sensor:{l.sensorCount++;break}case z.Light:{s.inside?l.insideLightCount++:l.outsideLightCount++;break}case z.SolarPanel:{l.solarPanelCount++;const c=s,u=e().getPvModule(c.pvModelName);u&&(l.solarPanelModuleCount+=be.countSolarPanelsOnRack(c,u));break}case z.ParabolicDish:{l.parabolicDishCount++;break}case z.ParabolicTrough:{l.parabolicTroughCount++;break}case z.FresnelReflector:{l.fresnelReflectorCount++;break}case z.Heliostat:{l.heliostatCount++;break}case z.WindTurbine:{l.windTurbineCount++;break}}return l},countAllOffspringsByTypeAtOnce(a,l){const s=new gSe;for(const c of e().elements){const u=c.parentId===a||c.foundationId===a;if(u&&(c.locked?s.lockedCount++:s.unlockedCount++),(l||!c.locked)&&u)switch(c.type){case z.Foundation:{c.solarStructure===zn.UpdraftTower&&s.solarUpdraftTowerCount++,s.foundationCount++;break}case z.Cuboid:{s.cuboidCount++;break}case z.Wall:{s.wallCount++;break}case z.Window:{s.windowCount++,c.locked&&s.lockedWindowCount++;break}case z.Door:{s.doorCount++,c.locked&&s.lockedDoorCount++;break}case z.Human:{s.humanCount++;break}case z.Tree:{s.treeCount++;break}case z.Flower:{s.flowerCount++;break}case z.Polygon:{s.polygonCount++,c.locked&&s.lockedPolygonCount++;break}case z.Sensor:{s.sensorCount++,c.locked&&s.lockedSensorCount++;break}case z.Light:{c.inside?s.insideLightCount++:s.outsideLightCount++,c.locked&&s.lockedLightCount++;break}case z.SolarPanel:{s.solarPanelCount++,c.locked&&s.lockedSolarPanelCount++;const d=c,f=e().getPvModule(d.pvModelName);f&&(s.solarPanelModuleCount+=be.countSolarPanelsOnRack(d,f));break}case z.ParabolicDish:{s.parabolicDishCount++;break}case z.ParabolicTrough:{s.parabolicTroughCount++;break}case z.FresnelReflector:{s.fresnelReflectorCount++;break}case z.Heliostat:{s.heliostatCount++;break}case z.WindTurbine:{s.windTurbineCount++,c.locked&&s.lockedWindTurbineCount++;break}}}return s},countSolarPanelsOnRack(a){let l=0;for(const s of e().elements)if(s.id===a&&s.type===z.SolarPanel){const c=s,u=e().getPvModule(c.pvModelName);if(u){l=be.countSolarPanelsOnRack(c,u);break}}return l},copyCutElements(){const a=[],l=new Map,s=new Map,c=new Map;for(let u=0;ug.id===d.parentId);if(p){const g=l.get(p.id);g&&(e().getElementById(d.id)?f=Nl.clone(g,d,d.cx,d.cy,d.cz,d.type===z.Polygon):f=JSON.parse(JSON.stringify(d)))}}f&&(l.set(d.id,f),s.set(d.id,f.id),c.set(f.id,d.id),a.push(f))}for(const u of a){if(u.type===z.Roof){const d=c.get(u.id);if(d)for(const f of e().elementsToPaste)f.id===d&&(u.wallsId=f.wallsId.map(p=>s.get(p)))}if(u.type===z.Wall){const d=c.get(u.id);if(d){for(const f of e().elementsToPaste)if(f.id===d&&f.type===z.Wall){const p=f,g=s.get(p.leftJoints[0]);g&&(u.leftJoints=[g]);const y=s.get(p.rightJoints[0]);if(y&&(u.rightJoints=[y]),p.roofId){const A=s.get(p.roofId);A&&(u.roofId=A)}break}}}}return a},pasteElementsToPoint(){const a=[];return r(l=>{if(l.elementsToPaste.length===1){let s=l.pastePoint;const c=l.elementsToPaste[0];let u=l.selectedElement;const d=l.getParent(c);if(u){if(u.type===z.Polygon){const p=l.getParent(u);p&&(u=p,c.parentId=u.id,be.isPositionRelative(c.type)&&(s=be.relativeCoordinates(s.x,s.y,s.z,u)))}else if(u.type===z.Roof){if(u.parentId){const p=l.getElementById(u.parentId);p&&(s.sub(new ae(p.cx,p.cy,p.lz)).applyEuler(new Qt(0,0,-p.rotation[2])),c.type!==z.Window&&(s.setX(s.x/p.lx),s.setY(s.y/p.ly)))}}else if(u.type===z.Cuboid){if(c.type===z.Cuboid){const{pos:p}=be.getWorldDataById(u.id);s.sub(p)}else be.isPositionRelative(c.type)&&(s=be.relativeCoordinates(s.x,s.y,s.z,u));c.parentId=u.id}else u.type===z.Wall?s=be.relativeCoordinates(s.x,s.y,s.z,u):d&&d.type&&c.type!==z.Foundation&&(c.parentId=u.id,be.isPositionRelative(c.type)&&(s=be.relativeCoordinates(s.x,s.y,s.z,u)));c.type===z.Wall&&s.set(s.x*u.lx,s.y*u.ly,0)}const f=Nl.clone(u,c,s.x,s.y,s.z,!1,l.pasteNormal,d);if(f){l.pasteNormal&&(f.normal=l.pasteNormal.toArray());const p={lng:l.language};let g=!1;switch(f.type){case z.Cuboid:{const y=C=>{const b=[];for(const v of e().elements)if(v.parentId===C.id)switch(b.push(v),v.type){case z.Cuboid:case z.Foundation:case z.Wall:case z.Roof:b.push(...y(v))}return b},A=y(c),x=new Map;a.push(f),x.set(c.id,f);for(const C of A){const b=x.get(C.parentId);if(b){const v=Nl.clone(b,C,C.cx,C.cy,C.cz,C.type===z.Polygon);v&&(f.normal&&(v.normal=[...C.normal]),a.push(v),x.set(C.id,v))}}l.elements.push(...a),l.elementsToPaste=[f],g=!1;break}case z.Foundation:{const y=new Map,A=new Map;for(const x of l.elements)if(x.parentId===c.id){const C=Nl.clone(f,x,x.cx,x.cy,x.cz,x.type===z.Polygon);if(C&&(f.normal&&(C.normal=[...x.normal]),a.push(C),(C==null?void 0:C.type)===z.Wall||(C==null?void 0:C.type)===z.Roof)){y.set(C.id,x.id),A.set(x.id,C.id);for(const b of l.elements)if(b.parentId===x.id){const v=Nl.clone(C,b,b.cx,b.cy,b.cz);v&&(x.normal&&(v.normal=[...b.normal]),a.push(v))}}}l.elements.push(...a),g=!0;for(const x of l.elements){if(x.type===z.Roof){const C=y.get(x.id);if(C){const b=e().getElementById(C);b&&(x.wallsId=b.wallsId.map(v=>A.get(v)))}}if(x.type===z.Wall){const C=y.get(x.id);if(C){for(const b of l.elements)if(b.id===C&&b.type===z.Wall){const v=b,S=A.get(v.leftJoints[0]);S&&(x.leftJoints=[S]);const w=A.get(v.rightJoints[0]);if(w&&(x.rightJoints=[w]),v.roofId){const T=A.get(v.roofId);T&&(x.roofId=T)}break}}}}break}case z.SolarPanel:case z.Sensor:case z.Light:case z.WindTurbine:case z.ParabolicDish:case z.Heliostat:case z.FresnelReflector:case z.ParabolicTrough:{if((u==null?void 0:u.type)===z.Wall){if(u)switch(be.checkElementOnWallState(f,u)){case fc.Valid:{const y=u.relativeAngle-Vt;f.normal=[Math.cos(y),Math.sin(y),0],g=!0;break}case fc.OverLap:Lo(O.t("message.CannotPasteBecauseOfOverlap",p));break;case fc.OutsideBoundary:Lo(O.t("message.CannotPasteOutsideBoundary",p));break}break}if(u&&u.type===z.Roof){if(f.foundationId){const y=l.getElementById(f.foundationId);if(y){const A=In.getSolarPanelVerticesOnRoof(f,y),x=In.getRoofBoundaryVertices(u);if(!In.rooftopElementBoundaryCheck(A,x)){Lo(O.t("message.CannotPasteOutsideBoundary",p));break}if(!In.rooftopSPCollisionCheck(f,y,A)){Lo(O.t("message.CannotPasteBecauseOfOverlap",p));break}g=!0,l.updateElementOnRoofFlag=!0}}break}l.overlapWithSibling(f)?Lo(O.t("message.CannotPasteBecauseOfOverlap",p)):u&&(u.type===z.Foundation||u.type===z.Cuboid&&be.isIdentical(f.normal,o0))&&be.isSolarCollector(f)?(g=be.isSolarCollectorWithinHorizontalSurface(f,u),g||Lo(O.t("message.CannotPasteOutsideBoundary",p))):g=!0;break}case z.Wall:{const y=new ae(f.cx,f.cy,0),A=new ae(f.lx/2,0,0),x=new ae(-f.lx/2,0,0),C=f,b=new Qt(0,0,C.relativeAngle);C.leftPoint=y.clone().add(x.applyEuler(b)).toArray(),C.rightPoint=y.clone().add(A.applyEuler(b)).toArray(),C.roofId=void 0,C.leftRoofHeight=void 0,C.rightRoofHeight=void 0,C.centerLeftRoofHeight=void 0,C.centerRightRoofHeight=void 0,C.centerRoofHeight=void 0;for(const v of l.elements)if(v.parentId===c.id){const S=Nl.clone(f,v,v.cx,v.cy,v.cz,v.type===z.Polygon);S&&(f.normal&&(S.normal=[...v.normal]),a.push(S))}l.elements.push(...a),l.updateWallMapOnFoundationFlag=!l.updateWallMapOnFoundationFlag,g=!0;break}case z.Door:case z.Window:{if((u==null?void 0:u.type)===z.Wall)switch(be.checkElementOnWallState(f,u)){case fc.Valid:g=!0;break;case fc.OverLap:Lo(O.t("message.CannotPasteBecauseOfOverlap",p));break;case fc.OutsideBoundary:Lo(O.t("message.CannotPasteOutsideBoundary",p));break}else if((u==null?void 0:u.type)===z.Roof){const y=In.getRotationOnRoof(u.id,s);y&&(f.rotation=[...y]);const A=In.getWindowVerticesOnRoof(f),x=In.getRoofSegmentBoundary(u.id,s);if(!x)break;if(!In.rooftopElementBoundaryCheck(A,x)){Lo(O.t("message.CannotPasteOutsideBoundary",p));break}if(!In.rooftopWindowCollisionCheck(f.id,A,u.id)){Lo(O.t("message.CannotPasteBecauseOfOverlap",p));break}g=!0}break}default:if(g=!0,be.isPlantOrHuman(f))if(u){const y=l.getParent(f);if(y){const A=be.relativePoint(l.pastePoint,y);f.cx=A.x,f.cy=A.y,f.cz=A.z}}else f.parentId=Zo}g&&(l.elements.push(f),a.push(f))}}else if(l.elementsToPaste.length>1){let s=l.pastePoint;const c=l.copyCutElements();if(c.length>0){if(c[0].type===z.Cuboid){const u=l.selectedElement;if(u&&u.type===z.Cuboid){const{pos:d}=be.getWorldDataById(u.id);s.sub(d),c[0].parentId=u.id}}else if(c[0].type===z.Wall){const u=l.selectedElement;u&&u.type===z.Foundation&&(s=be.relativeCoordinates(s.x,s.y,s.z,u),s.set(s.x*u.lx,s.y*u.ly,0),c[0].parentId=u.id,c[0].foundationId=u.id)}c[0].cx=s.x,c[0].cy=s.y,c[0].cz=s.z,c[0].type===z.Foundation?c[0].cz+=c[0].lz/2:c[0].type===z.Cuboid&&(c[0].cz=c[0].lz/2),l.elements.push(...c),a.push(...c)}}a.length>0&&(l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(a[0].id),l.selectedElement=a[0])}),a},pasteElementsByKey(){const a=[];return r(l=>{if(l.elementsToPaste.length>0){const s=l.elementsToPaste[0],c=l.getParent(s),u=Nl.clone(c,s,s.cx,s.cy,s.cz);if(u){let d=!1;switch(u.type){case z.Door:case z.Window:{if(c){const f=u.lx/2;if(u.cx+=f*3,c.type===z.Wall)for(;u.cx+f<.5;)if(be.checkElementOnWallState(u,c)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx+=f;else if(c.type===z.Roof){const p=In.getRotationOnRoof(c.id,new ae(u.cx,u.cy));p&&(u.rotation=[...p]);let g=In.getWindowVerticesOnRoof(u),y=In.getRoofSegmentBoundary(c.id,new ae(u.cx,u.cy));const A=In.getRoofBoundaryVertices(c);for(;In.rooftopElementBoundaryCheck(g,A);)if(y&&In.rooftopElementBoundaryCheck(g,y)&&In.rooftopWindowCollisionCheck(u.id,g,c.id)){l.elements.push(u),d=!0;break}else{u.cx+=f/2;const x=In.getRotationOnRoof(c.id,new ae(u.cx,u.cy));x&&(u.rotation=[...x]),g=In.getWindowVerticesOnRoof(u),y=In.getRoofSegmentBoundary(c.id,new ae(u.cx,u.cy))}}if(!d){u.cx=s.cx-f*3;const p=In.getRotationOnRoof(c.id,new ae(u.cx,u.cy));if(p&&(u.rotation=[...p]),c.type===z.Wall){for(;u.cx-f>-.5;)if(c.type===z.Wall)if(be.checkElementOnWallState(u,c)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx-=f}else if(c.type===z.Roof){let g=In.getWindowVerticesOnRoof(u),y=In.getRoofSegmentBoundary(c.id,new ae(u.cx,u.cy));const A=In.getRoofBoundaryVertices(c);for(;In.rooftopElementBoundaryCheck(g,A);)if(y&&In.rooftopElementBoundaryCheck(g,y)&&In.rooftopWindowCollisionCheck(u.id,g,c.id)){l.elements.push(u),d=!0;break}else{u.cx-=f;const x=In.getRotationOnRoof(c.id,new ae(u.cx,u.cy));x&&(u.rotation=[...x]),g=In.getWindowVerticesOnRoof(u),y=In.getRoofSegmentBoundary(c.id,new ae(u.cx,u.cy))}}}if(!d){const p={lng:l.language};Lo(O.t("message.CannotPasteOutsideBoundary",p))}c.type===z.Roof&&d&&(l.updateElementOnRoofFlag=!0)}break}case z.Human:{u.cx+=1,l.elements.push(u),l.elementsToPaste=[u],d=!0;break}case z.Tree:case z.Flower:{u.cx+=u.lx,l.elements.push(u),l.elementsToPaste=[u],d=!0;break}case z.SolarPanel:case z.FresnelReflector:case z.Heliostat:case z.ParabolicDish:case z.ParabolicTrough:{if(u.parentId){const f=l.getParent(u);if(f){if(f.type===z.Wall){const y=u.lx/f.lx/2;for(u.cx+=y*3;u.cx+y<.5;)if(be.checkElementOnWallState(u,f)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx+=y;if(!d)for(u.cx=s.cx-y*3;u.cx-y>-.5;)if(be.checkElementOnWallState(u,f)===fc.Valid){l.elements.push(u),l.elementsToPaste=[u],d=!0;break}else u.cx-=y;if(!d){const A={lng:l.language};Lo(O.t("message.CannotPasteOutsideBoundary",A))}break}else if(f.type===z.Roof){if(s.foundationId){const y=l.getElementById(s.foundationId);if(y){const A=In.getRoofBoundaryVertices(f),x=u.lx/y.lx/2;for(u.cx+=x*1.25;u.cx+x<.5;){const C=In.getSolarPanelVerticesOnRoof(u,y);if(In.rooftopElementBoundaryCheck(C,A)&&In.rooftopSPCollisionCheck(u,y,C)){l.elements.push(u),d=!0;break}else u.cx+=x*1.25}if(!d)for(u.cx=s.cx-x*1.25;u.cx-x>-.5;){const C=In.getSolarPanelVerticesOnRoof(u,y);if(In.rooftopElementBoundaryCheck(C,A)&&In.rooftopSPCollisionCheck(u,y,C)){l.elements.push(u),d=!0;break}else u.cx-=x*1.25}if(d)l.updateElementOnRoofFlag=!0;else{const C={lng:l.language};Lo(O.t("message.CannotPasteOutsideBoundary",C))}}}break}const p=l.findNearestSibling(s.id);if(p){const y=l.getElementById(p);if(y){const A=u.cx,x=u.cy,C=u.cz,b=y.cx-s.cx,v=y.cy-s.cy,S=y.cz-s.cz;u.cx=y.cx+b,u.cy=y.cy+v,u.cz=y.cz+S,l.overlapWithSibling(u)&&(u.cx=s.cx-b,u.cy=s.cy-v,u.cz=s.cz-S,l.overlapWithSibling(u)&&(u.cx=s.cx-2*b,u.cy=s.cy-2*v,u.cz=s.cz-2*S,l.overlapWithSibling(u)&&(u.cx=A-b,u.cy=x-v,u.cz=C-S)))}else u.cx+=(.01+u.lx)/f.lx}else u.cx+=(.01+u.lx)/f.lx;const g={lng:l.language};l.overlapWithSibling(u)?Lo(O.t("message.CannotPasteBecauseOfOverlap",g)):f.type===z.Foundation||f.type===z.Cuboid&&be.isIdentical(u.normal,o0)?be.isSolarCollectorWithinHorizontalSurface(u,f)?(l.elements.push(u),l.elementsToPaste=[u],d=!0):Lo(O.t("message.CannotPasteOutsideBoundary",g)):(l.elements.push(u),l.elementsToPaste=[u],d=!0)}}break}case z.Sensor:case z.Light:case z.WindTurbine:{if(u.parentId){const f=l.getParent(u);f&&(u.cx+=u.lx/f.lx),u.cx<.5&&(l.elements.push(u),l.elementsToPaste=[u],d=!0)}break}case z.Polygon:{const f=u;for(const p of f.vertices)p.x+=.1;f.cx+=.1,l.elements.push(f),l.elementsToPaste=[f],d=!0;break}case z.Cuboid:{if(u.cx+=u.lx,l.elementsToPaste.length===1){const f=y=>{const A=[];for(const x of e().elements)if(x.parentId===y.id)switch(A.push(x),x.type){case z.Cuboid:case z.Foundation:case z.Wall:case z.Roof:A.push(...f(x))}return A},p=f(s),g=new Map;a.push(u),g.set(s.id,u);for(const y of p){const A=g.get(y.parentId);if(A){const x=Nl.clone(A,y,y.cx,y.cy,y.cz,y.type===z.Polygon);x&&(u.normal&&(x.normal=[...y.normal]),a.push(x),g.set(y.id,x))}}l.elements.push(...a),l.elementsToPaste=[u],l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(u.id),l.selectedElement=u}else if(l.elementsToPaste.length>1){const f=l.copyCutElements();f.length>0&&(f[0].cx+=f[0].lx,l.elements.push(...f),l.elementsToPaste=[...f],a.push(...f),l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(f[0].id),l.selectedElement=f[0])}d=!1;break}case z.Foundation:{if(u.cx+=u.lx,l.elementsToPaste.length===1){const f=new Map,p=new Map;for(const g of l.elements)if(g.parentId===s.id&&g.parentId!==g.id){const y=Nl.clone(u,g,g.cx,g.cy,g.cz,g.type===z.Polygon);if(y&&(u.normal&&(y.normal=[...g.normal]),a.push(y),(y==null?void 0:y.type)===z.Wall||(y==null?void 0:y.type)===z.Roof)){f.set(y.id,g.id),p.set(g.id,y.id);for(const A of l.elements)if(A.parentId===g.id){const x=Nl.clone(y,A,A.cx,A.cy,A.cz);x&&(g.normal&&(x.normal=[...A.normal]),a.push(x))}}}l.elements.push(...a),l.elements.push(u),l.elementsToPaste=[u];for(const g of l.elements){if(g.type===z.Roof){const y=f.get(g.id);if(y){const A=e().getElementById(y);A&&(g.wallsId=A.wallsId.map(x=>p.get(x)))}}if(g.type===z.Wall){const y=f.get(g.id);if(y){for(const A of l.elements)if(A.id===y&&A.type===z.Wall){const x=A,C=p.get(x.leftJoints[0]);C&&(g.leftJoints=[C]);const b=p.get(x.rightJoints[0]);if(b&&(g.rightJoints=[b]),x.roofId){const v=p.get(x.roofId);v&&(g.roofId=v)}break}}}}}else if(l.elementsToPaste.length>1){const f=l.copyCutElements();f.length>0&&(f[0].cx+=f[0].lx,l.elements.push(...f),a.push(...f),l.elementsToPaste=f,l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(f[0].id),l.selectedElement=f[0])}d=!0;break}case z.Wall:{const f=u,p=new ae(1,-1,0).applyEuler(new Qt(0,0,f.relativeAngle));if(u.cx+=p.x,u.cy+=p.y,l.elementsToPaste.length===1){const g=new ae(u.cx,u.cy,0),y=new ae(u.lx/2,0,0),A=new ae(-u.lx/2,0,0),x=new Qt(0,0,f.relativeAngle);f.leftPoint=g.clone().add(A.applyEuler(x)).toArray(),f.rightPoint=g.clone().add(y.applyEuler(x)).toArray(),f.roofId=void 0,f.leftRoofHeight=void 0,f.rightRoofHeight=void 0,f.centerLeftRoofHeight=void 0,f.centerRightRoofHeight=void 0,f.centerRoofHeight=void 0;for(const C of l.elements)if(C.parentId===s.id){const b=Nl.clone(u,C,C.cx,C.cy,C.cz,C.type===z.Polygon);b&&(u.normal&&(b.normal=[...C.normal]),a.push(b))}l.elements.push(...a),l.elements.push(u),l.elementsToPaste=[u]}else if(l.elementsToPaste.length>1){const g=l.copyCutElements();g.length>0&&(g[0].cx+=p.x,g[0].cy-=p.y,l.elements.push(...g),a.push(...g),l.elementsToPaste=g,l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(g[0].id),l.selectedElement=g[0])}l.updateWallMapOnFoundationFlag=!l.updateWallMapOnFoundationFlag,d=!0;break}}l.elementsToPaste.length===1&&d&&(a.push(u),l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(u.id),l.selectedElement=u)}}}),a},pvModules:{},loadPvModules(){const a=[];JB.parse(dht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c={name:s[0].trim(),brand:s[1].trim(),cellType:s[2].trim(),efficiency:parseFloat(s[3].trim()),length:parseFloat(s[4].trim()),nominalLength:parseFloat(s[5].trim()),width:parseFloat(s[6].trim()),nominalWidth:parseFloat(s[7].trim()),thickness:parseFloat(s[8].trim()),m:parseFloat(s[9].trim()),n:parseFloat(s[10].trim()),pmax:parseFloat(s[11].trim()),vmpp:parseFloat(s[12].trim()),impp:parseFloat(s[13].trim()),voc:parseFloat(s[14].trim()),isc:parseFloat(s[15].trim()),pmaxTC:parseFloat(s[16].trim()),noct:parseFloat(s[17].trim()),weight:parseFloat(s[18].trim()),color:s[19].trim(),shadeTolerance:s[20].trim(),bifacialityFactor:parseFloat(s[21].trim())};a.push(c)}r(s=>{for(const c of a)s.pvModules[c.name]=c})}})},getPvModule(a){return e().pvModules[a]},weatherModel:void 0,setWeatherModel(a){r(l=>{l.weatherModel=l.weatherData[a]})},weatherData:{},loadWeatherData(){if(Object.keys(e().weatherData).length>0)return;const a=[];JB.parse(sht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[],u=[],d=[];for(let p=5;p<29;p++)(p-5)%2===0?c.push(parseFloat(s[p].trim())):u.push(parseFloat(s[p].trim()));for(let p=29;p<41;p++)d.push(parseFloat(s[p].trim()));const f={city:s[0].trim(),country:s[1].trim(),longitude:parseFloat(s[2].trim()),latitude:parseFloat(s[3].trim()),elevation:parseFloat(s[4].trim()),lowestTemperatures:c,highestTemperatures:u,sunshineHours:d};a.push(f)}r(s=>{for(const c of a)s.weatherData[c.city+", "+c.country]=c;s.weatherModel=s.weatherData["Boston MA, USA"]}),console.log(a.length+" weather datasets loaded")}})},getWeather(a){const l=e().weatherModel;return l||e().weatherData[a]},horizontalSolarRadiationData:{},loadHorizontalSolarRadiationData(){const a=[];JB.parse(cht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[];for(let d=2;d<14;d++)c.push(parseFloat(s[d].trim()));const u={city:s[0].trim(),country:s[1].trim(),data:c};a.push(u)}r(s=>{for(const c of a)s.horizontalSolarRadiationData[c.city+", "+c.country]=c})}})},getHorizontalSolarRadiation(a){return e().horizontalSolarRadiationData[a]},verticalSolarRadiationData:{},loadVerticalSolarRadiationData(){const a=[];JB.parse(uht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[];for(let d=2;d<14;d++)c.push(parseFloat(s[d].trim()));const u={city:s[0].trim(),country:s[1].trim(),data:c};a.push(u)}r(s=>{for(const c of a)s.verticalSolarRadiationData[c.city+", "+c.country]=c})}})},getVerticalSolarRadiation(a){return e().verticalSolarRadiationData[a]},getClosestCity(a,l){let s=Number.MAX_VALUE,c=null,u;const d=e().weatherData;for(const f in d)Object.hasOwn(d,f)&&(u=be.getDistance(l,a,d[f].longitude,d[f].latitude),u{l.sunlightDirection=a.clone()})},cameraDirection:new ae,getCameraDirection(){return e().cameraDirection},updateSceneRadiusFlag:!1,updateSceneRadius(){r(a=>{a.updateSceneRadiusFlag=!a.updateSceneRadiusFlag})},sceneRadius:100,setSceneRadius(a){r(l=>{l.sceneRadius=a})},selectedElementAngle:0,selectedElementHeight:0,selectedElementX:0,selectedElementY:0,isAddingElement(){return!!(e().addedCuboidId||e().addedFoundationId||e().addedWallId||e().addedWindowId||e().addedDoorId)},addedFoundationId:null,deletedFoundationId:null,addedCuboidId:null,deletedCuboidId:null,addedWallId:null,deletedWallId:null,updateWallMapOnFoundationFlag:!1,updateWallMapOnFoundation(){r(a=>{a.updateWallMapOnFoundationFlag=!a.updateWallMapOnFoundationFlag})},updateElementOnRoofFlag:!1,setUpdateElementOnRoofFlag(a){r(l=>{l.updateElementOnRoofFlag=a})},updateElementOnRoofFn(){r(a=>{a.updateElementOnRoofFlag=!0})},addedWindowId:null,addedDoorId:null,addedRoofIdSet:new Set,deletedRoofId:null,deletedRoofIdSet:new Set,autoDeletedRoofs:null,autoDeletedRoofIdSet:new Set,autoDeletedChild:null,getAutoDeletedElements(){const a=e().autoDeletedRoofs,l=e().autoDeletedChild;return!a||!l?null:[...a,...l]},deleteAddedRoofId(a){r(l=>{l.addedRoofIdSet.delete(a)})},groupActionMode:!1,setGroupActionMode(a){r(l=>{l.groupActionMode=a})},groupActionUpdateFlag:!1,locale:Lpe,localFileDialogRequested:!1,loggable:!1,actionInfo:void 0,currentUndoable:void 0,showCloudFileTitleDialog:!1,showCloudFileTitleDialogFlag:!1,localContentToImportAfterCloudFileUpdate:void 0,enableFineGrid:!1,setEnableFineGrid(a){r(l=>{l.enableFineGrid=a})}}},{name:"aladdin-storage",storage:GNe(()=>new URLSearchParams(window.location.search).get("viewonly")==="true"?sessionStorage:localStorage),skipHydration:be.isOpenFromURL(),partialize:t=>({language:t.language,animate24Hours:t.animate24Hours,floatingWindowOpacity:t.floatingWindowOpacity,selectedFloatingWindow:t.selectedFloatingWindow,locale:t.locale,cloudFile:t.cloudFile,latestModelSite:t.latestModelSite,modelSites:t.modelSites,modelsMapLatitude:t.modelsMapLatitude,modelsMapLongitude:t.modelsMapLongitude,modelsMapAddress:t.modelsMapAddress,modelsMapZoom:t.modelsMapZoom,modelsMapType:t.modelsMapType,modelsMapTilt:t.modelsMapTilt,world:t.world,elements:t.elements,viewState:t.viewState,graphState:t.graphState,actionState:t.actionState,modelType:t.modelType,modelAuthor:t.modelAuthor,modelLabel:t.modelLabel,modelDescription:t.modelDescription,projectView:t.projectView,projectState:t.projectState,designProjectType:t.designProjectType,notes:t.notes,user:t.user,sceneRadius:t.sceneRadius,weatherModel:t.weatherModel,solarPanelArrayLayoutParams:t.solarPanelArrayLayoutParams,solarPanelArrayLayoutConstraints:t.solarPanelArrayLayoutConstraints,economicsParams:t.economicsParams,evolutionMethod:t.evolutionMethod,evolutionaryAlgorithmState:t.evolutionaryAlgorithmState,geneticAlgorithmWizardSelectedTab:t.geneticAlgorithmWizardSelectedTab,particleSwarmOptimizationWizardSelectedTab:t.particleSwarmOptimizationWizardSelectedTab,minimumNavigationMoveSpeed:t.minimumNavigationMoveSpeed,minimumNavigationTurnSpeed:t.minimumNavigationTurnSpeed,shadowMapSize:t.shadowMapSize})})));class KQt extends Se.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0}}componentDidCatch(e,n){}clearCacheAndReload(){localStorage.clear(),window.location.reload()}render(){return this.state.hasError?h.jsxs("div",{style:{marginTop:10,marginLeft:20},children:[h.jsx("h1",{children:"Error"}),h.jsx("p",{children:"Something went wrong. Please click the following button to clear the cache and reload the page."}),h.jsx("p",{children:h.jsx("button",{onClick:this.clearCacheAndReload,children:"Refresh"})})]}):this.props.children}}const qQt=t=>{const e=typeof t=="function",n=m.useRef(t);m.useEffect(()=>{n.current=t}),m.useEffect(()=>{if(e){const o=i=>{const r=n.current(i);if(typeof r=="string")return i.preventDefault(),i.returnValue=r;if(i.defaultPrevented)return i.returnValue=""};return window.addEventListener("beforeunload",o),()=>{window.removeEventListener("beforeunload",o)}}},[e])},$Qt=({children:t=null,onBeforeunload:e})=>(qQt(e),t),QQt="/aladdin/assets/daysky-xGPh_lTa.jpg",ZQt="/aladdin/assets/desert-C1g8PGRA.jpg",eZt="/aladdin/assets/dune-RJd7hu4h.jpg",tZt="/aladdin/assets/forest-DjILrMk4.jpg",nZt="/aladdin/assets/grassland-CDTfZBr_.jpg",RSe="/aladdin/assets/hill-spring-BepVmTLf.jpg",HSe="/aladdin/assets/hill-summer-RoU04vrD.jpg",MSe="/aladdin/assets/hill-fall-BPbpF4zI.jpg",ISe="/aladdin/assets/hill-winter-CQjb4ZNm.jpg",oZt="/aladdin/assets/lake-Dj_bK41O.jpg",iZt="/aladdin/assets/mountain-Du_Jo4ue.jpg",rZt="/aladdin/assets/rural-BqG-D3I1.jpg",aZt=Se.memo(({theme:t="Default"})=>{const e=M(dn),n=M(lW),o=M(xb),i=M(ege),r=M(dge),a=M(vH),l=M(jn),s=M(t3),c=M(oge),u=M(yh),d=M(Xs),f=M(Ya),p=M(En),g=M(e3),y=M(KBe),{scene:A,camera:x,gl:{domElement:C}}=Xi(),b=m.useRef(null),v=m.useRef(null),S=m.useRef(null),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new ae),R=m.useRef(new ae),H=m.useRef(new ae(1,1,1)),D=m.useRef(0),E=m.useRef(0),L=m.useRef(new Map),U=m.useRef(new Map),F=m.useRef(new Map),W=m.useRef(new Map),B=m.useRef(null),k=Kt(),N=m.useMemo(()=>new Gs,[]),j=m.useMemo(()=>new Qt,[]),_=new Date(f).getMonth()+1,[J,Q]=m.useState(Kf.Sky),ee=m.useMemo(()=>new ae,[]),$=m.useMemo(()=>new Qt,[]);if(v.current&&u){J!==Kf.Vertical&&Q(Kf.Vertical);const re=r(v.current,u),ge=i(),we=-Math.atan2(ge.x,ge.y);ee.set(re.x,re.y,0),$.set(-Vt,0,we,"ZXY")}const q=m.useMemo(()=>{switch(t){case Ns.Desert:return .5;case Ns.Dune:return .25;case Ns.Forest:return .25;case Ns.Grassland:return .15;case Ns.Hill:return .3;case Ns.Lake:return .1;case Ns.Mountain:return .4;case Ns.Rural:return .25;default:return .2}},[t]),le=m.useMemo(()=>{switch(t){case Ns.Desert:return ZQt;case Ns.Dune:return eZt;case Ns.Forest:return tZt;case Ns.Grassland:return nZt;case Ns.Hill:return d>0?_>=12||_<=3?ISe:_>3&&_<=5?RSe:_>5&&_<=9?HSe:MSe:_>=12||_<=3?HSe:_>3&&_<=5?MSe:_>5&&_<=9?ISe:RSe;case Ns.Lake:return oZt;case Ns.Mountain:return iZt;case Ns.Rural:return rZt;default:return QQt}},[t,_,d]),ie=Ab(le),pe=re=>re===z.Foundation||re===z.Cuboid||re===z.Tree||re===z.Flower||re===z.Human,ne=re=>{if(re.intersections.length>0)if(re.intersections[0].object===b.current)n(),e(we=>{we.clickObjectType=z.Sky});else{const we=o();we&&pe(we.type)&&(v.current=we,be.isPlantOrHuman(v.current)&&(Q(Kf.Vertical),$.set(-Vt,0,0,"ZXY")),we.type!==z.Foundation&&we.type!==z.Cuboid&&Ln.getState().setEnableOrbitController(!1))}},Z=re=>{if(!re)return"";const ge=re.name.split(" ");return ge[2]?ge[2]:Z(re.parent)},he=(re,ge)=>{if(re==null)return null;for(const we of re.children)if(we.name.includes(`${ge}`))return we;return null},fe=(re,ge)=>{var Ie,Ce;const we=Ln.getState().contentRef,ye=he(we==null?void 0:we.current,re.id);if(ye){for(const Ee of ye.children)if(Ee.name.includes(`${ge.id}`)){(Ce=(Ie=Ln.getState().contentRef)==null?void 0:Ie.current)==null||Ce.add(Ee);break}}ge.parentId=Zo;const Te=new ae(ge.cx,ge.cy,ge.cz).applyEuler(new Qt(0,0,re.rotation[2])).add(P.current);ge.cx=Te.x,ge.cy=Te.y,ge.cz=0,F.current.set(ge.id,new ae(Te.x,Te.y,0)),W.current.set(ge.id,Zo)},se=(re,ge,we)=>{if(!re||!ge)return;const ye=Ln.getState().contentRef;if(ye!=null&&ye.current){const Te=be.getObjectChildById(ye.current,ge),Ie=be.getObjectChildById(ge===Zo?ye.current:Te,we);if(Ie){if(re===Zo)ye.current.add(Ie);else{const Ce=be.getObjectChildById(ye.current,re);Ce==null||Ce.add(Ie)}Zh()}}},oe=(re,ge)=>{re&&e(we=>{for(const ye of we.elements)if(ye.id===ge&&!be.isFoundationOrCuboid(ye)){ye.parentId=re;break}})},de=re=>{for(const ge of re)if(ge.object.userData.stand)return ge;return null},ve=(re,ge)=>{if(re&&re.current){const we=de(ge.intersections);if(we){const ye=we.object,Te=re.current.parent;if(ye.name==="Ground"){if(Te&&Te.name!=="Content"){const Ie=Ln.getState().contentRef;Ie&&Ie.current&&(Ie.current.add(re.current),oe(Zo,Z(re.current)))}re.current.position.copy(we.point),Zh()}else if(ye.userData.stand){const Ie=ye.parent;if(Ie){Te&&Te.uuid!==Ie.uuid&&(Ie.add(re.current),oe(Z(Ie),Z(re.current))),j.set(0,0,-Ie.rotation.z);const Ce=new ae().subVectors(we.point,Ie.position).applyEuler(j);re.current.position.copy(Ce),Zh()}}}}},Pe=(re,ge,we)=>{e(ye=>{for(const Te of ye.elements)if(Te.id===re){be.isFoundationOrCuboid(Te)||(Te.parentId=ge),Te.cx=we.x,Te.cy=we.y,Te.cz=we.z;break}})},me=()=>{if(M.getState().viewState.orthographic)return!1;if(b.current){const re=N.intersectObjects(be.fetchIntersectables(A),!1);if(re.length>0){for(const ge of re)if(ge.object.userData.stand)return!1}}return N.intersectObjects([b.current]).length>0},Re=re=>{if(v.current&&v.current.type&&!v.current.locked){const ge=new Gt;ge.x=re.offsetX/C.clientWidth*2-1,ge.y=-(re.offsetY/C.clientHeight)*2+1,N.setFromCamera(ge,x);let we;if(S.current&&J===Kf.Vertical&&(we=N.intersectObjects([S.current]),we&&we.length>0)){const ye=we[0].point;switch(v.current.type){case z.Tree:{const Te=v.current;switch(u){case yt.Top:c(Te.id,ye.z),e(Ie=>{Ie.selectedElementHeight=Math.max(1,ye.z)});break;case yt.Left:case yt.Right:case yt.Upper:case yt.Lower:s(Te.id,2*Math.hypot(ye.x-Te.cx,ye.y-Te.cy));break}ve(Ln.getState().treeRef,re);break}case z.Human:{ve(Ln.getState().humanRef,re);break}case z.Cuboid:{if(be.isTopResizeHandle(u)){e(Ie=>{var Ce;for(const Ee of Ie.elements)if(Ee.id===((Ce=v.current)==null?void 0:Ce.id)){Ee.cz=Math.max(.5,ye.z/2),Ee.lz=Math.max(1,ye.z);break}Ie.selectedElementHeight=Math.max(1,ye.z)});const Te=Ln.getState().cuboidRef;if(Te!=null&&Te.current){for(const Ie of Te.current.children)if(Ie.name.includes("Human")||Ie.name.includes("Tree")){const Ce=w.current.get(Z(Ie));Ce&&(Math.abs(E.current-Ce.z)<.01?Ie.position.setZ(Math.max(ye.z/2,.5)):Ie.position.setZ(Ce.z-Te.current.position.z))}}}break}}}}},ze=re=>{if(re.button===2)return;e(we=>{we.contextMenuObjectType=null}),ne(re);const ge=v.current;if(ge)switch(E.current=ge.lz,P.current.set(ge.cx,ge.cy,ge.cz),ge.type){case z.Human:B.current=ge.parentId;break;case z.Tree:B.current=ge.parentId,D.current=ge.lx;break;case z.Cuboid:{P.current.set(ge.cx,ge.cy,ge.cz),H.current.set(ge.lx,ge.ly,ge.lz),w.current.clear();const we=new ae(ge.cx,ge.cy,ge.cz),ye=a(ge.id);if(ye.length>0){L.current.clear();const Te=ge.rotation[2];for(const Ie of ye)switch(Ie.type){case z.Tree:case z.Human:{const Ce=new ae(Ie.cx,Ie.cy,Ie.cz).applyEuler(new Qt(0,0,Te));Ce.add(we),w.current.set(Ie.id,Ce),L.current.set(Ie.id,new ae(Ie.cx,Ie.cy,Ie.cz));break}case z.SolarPanel:case z.Sensor:{if(be.isIdentical(Ie.normal,o0)){const Ce=new ae(Ie.cx*ge.lx,Ie.cy*ge.ly,Ie.cz*ge.lz).applyEuler(new Qt(0,0,Te));Ce.add(we),w.current.set(Ie.id,Ce)}break}case z.Polygon:{if(be.isIdentical(Ie.normal,o0)){const Ce=Ie,Ee=[];for(const Ue of Ce.vertices){const Ne=new Gt(Ue.x*ge.lx,Ue.y*ge.ly).rotateAround(wr,Te);Ne.add(new Gt(we.x,we.y)),Ee.push(Ne)}T.current.set(Ce.id,Ee)}break}}}break}}},Ae=()=>{var re,ge;if(v.current){const we=l(v.current.id);if(we&&!we.locked){let ye=null,Te=B.current;switch(we.type){case z.Cuboid:switch(u){case yt.UpperLeftTop:case yt.UpperRightTop:case yt.LowerLeftTop:case yt.LowerRightTop:{U.current.clear(),e(Ee=>{Ee.actionState.cuboidHeight=we.lz;for(const Ue of Ee.elements)if(be.isPlantOrHuman(Ue)&&Ue.parentId===we.id)if(U.current.set(Ue.id,we.id),Math.abs(H.current.z/2-Ue.cz)<.01)Ue.cz=we.lz/2;else{const Ne=Ue.cz+P.current.z-we.cz;Math.abs(Ne)>we.lz/2?fe(we,Ue):Ue.cz=Ne}});const Ie=a(we.id);if(Ie.length>0)for(const Ee of Ie)F.current.set(Ee.id,new ae(Ee.cx,Ee.cy,Ee.cz));const Ce={name:"Change Cuboid Height",timestamp:Date.now(),changedElementId:we.id,changedElementType:we.type,oldValue:E.current,newValue:we.lz,oldChildrenPositionsMap:new Map(L.current),newChildrenPositionsMap:new Map(F.current),oldChildrenParentIdMap:new Map(U.current),newChildrenParentIdMap:new Map(W.current),undo:()=>{var Ee,Ue;if(e(Ne=>{for(const Le of Ne.elements)if(Le.id===Ce.changedElementId){Le.lz=Ce.oldValue,Le.cz=Ce.oldValue/2;break}}),Ce.oldChildrenPositionsMap&&Ce.oldChildrenPositionsMap.size>0)for(const[Ne,Le]of Ce.oldChildrenPositionsMap.entries()){const qe=l(Ne);if((qe==null?void 0:qe.type)!==z.Polygon){g(Ne,Le.x,Le.y,Le.z);const We=(Ee=Ce.oldChildrenParentIdMap)==null?void 0:Ee.get(Ne),De=(Ue=Ce.newChildrenParentIdMap)==null?void 0:Ue.get(Ne);We&&De&&We!==De&&(se(We,De,Ne),oe(We,Ne))}}},redo:()=>{var Ee,Ue;if(e(Ne=>{for(const Le of Ne.elements)if(Le.id===Ce.changedElementId){Le.lz=Ce.newValue,Le.cz=Ce.newValue/2;break}}),Ce.newChildrenPositionsMap&&Ce.newChildrenPositionsMap.size>0)for(const[Ne,Le]of Ce.newChildrenPositionsMap.entries()){g(Ne,Le.x,Le.y,Le.z);const qe=(Ee=Ce.oldChildrenParentIdMap)==null?void 0:Ee.get(Ne),We=(Ue=Ce.newChildrenParentIdMap)==null?void 0:Ue.get(Ne);qe&&We&&qe!==We&&(se(We,qe,Ne),oe(We,Ne))}}};p(Ce);break}}break;case z.Tree:switch(u){case yt.Top:{const Ie={name:"Change Tree Height",timestamp:Date.now(),changedElementId:we.id,changedElementType:we.type,oldValue:E.current,newValue:we.lz,undo:()=>{c(Ie.changedElementId,Ie.oldValue)},redo:()=>{c(Ie.changedElementId,Ie.newValue)}};p(Ie),e(Ce=>{Ce.actionState.treeHeight=we.lz});break}case yt.Left:case yt.Right:case yt.Lower:case yt.Upper:{const Ie={name:"Change Tree Spread",timestamp:Date.now(),changedElementId:we.id,changedElementType:we.type,oldValue:D.current,newValue:we.lx,undo:()=>{s(Ie.changedElementId,Ie.oldValue)},redo:()=>{s(Ie.changedElementId,Ie.newValue)}};p(Ie),e(Ce=>{Ce.actionState.treeSpread=we.lx});break}}ye=(re=Ln.getState().treeRef)==null?void 0:re.current;break;case z.Human:ye=(ge=Ln.getState().humanRef)==null?void 0:ge.current;break}if(ye){const Ie=N.intersectObjects(be.fetchIntersectables(A),!1),Ce=de(Ie);if(Ce){const Ee=Ce.point;if(Ce.object.name==="Ground")Pe(we.id,Zo,Ee),R.current.set(Ee.x,Ee.y,Ee.z),Te=Zo;else if(Ce.object.userData.stand){const Ue=Z(Ce.object),Ne=Ce.object.parent;if(Ne){const Le=new ae().subVectors(Ee,Ne.position).applyEuler(j);Pe(we.id,Ue,Le),R.current.set(Le.x,Le.y,Le.z),Te=Ue}}}}if(M.getState().moveHandleType&&be.isPlantOrHuman(we)&&(R.current.distanceToSquared(P.current)>kt||N.intersectObjects([b.current]).length>0)){let Ie=!0;if(!M.getState().viewState.orthographic&&(Ie=R.current.length().02}if(!Ie||me()){g(we.id,P.current.x,P.current.y,P.current.z),ye&&be.isPlantOrHuman(we)&&ye.position.copy(P.current),be.isPlantOrHuman(we)&&oe(B.current,we.id);const Ce=Ln.getState().contentRef;if(Ce!=null&&Ce.current&&B.current&&ye){if(B.current===Zo)Ce.current.add(ye);else{const Ee=be.getObjectChildById(Ce.current,B.current);Ee==null||Ee.add(ye)}Zh()}Lo(O.t("message.CannotMoveObjectTooFar",k))}else{const Ce={name:"Move",timestamp:Date.now(),movedElementId:we.id,movedElementType:we.type,oldCx:P.current.x,oldCy:P.current.y,oldCz:P.current.z,newCx:R.current.x,newCy:R.current.y,newCz:R.current.z,oldParentId:B.current,newParentId:Te,undo:()=>{g(Ce.movedElementId,Ce.oldCx,Ce.oldCy,Ce.oldCz),oe(Ce.oldParentId,Ce.movedElementId),se(Ce.oldParentId,Ce.newParentId,Ce.movedElementId)},redo:()=>{g(Ce.movedElementId,Ce.newCx,Ce.newCy,Ce.newCz),oe(Ce.newParentId,Ce.movedElementId),se(Ce.newParentId,Ce.oldParentId,Ce.movedElementId)}};p(Ce),y()}}}v.current=null,Q(Kf.Sky),e(ye=>{ye.moveHandleType=null,ye.resizeHandleType=null,ye.rotateHandleType=null}),Ln.setState({humanRef:null,treeRef:null}),Ln.getState().setEnableOrbitController(!0)}};return h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{ref:b,name:"Sky",rotation:[Vt,0,0],scale:[1,q,1],onContextMenu:re=>{re.intersections.length>0&&re.intersections[0].object===b.current&&(n(),e(we=>{we.clickObjectType=z.Sky,we.contextMenuObjectType=z.Sky}))},onPointerDown:ze,children:[h.jsx("sphereGeometry",{args:[D3t,16,8,0,na,0,Vt]}),h.jsx("meshToonMaterial",{map:ie,side:p0,opacity:1,color:"skyblue"})]}),v.current&&J!==Kf.Sky&&h.jsx(sa,{ref:S,visible:!1,name:"Sky Intersection Plane",rotation:$,position:ee,args:[1e3,1e3],onPointerMove:M2.throttle(Re,Ek),onPointerUp:Ae,children:h.jsx("meshStandardMaterial",{side:ji})})]})}),lZt=Se.memo(({lineWidth:t=1,endPoint:e=1e3,showTickMarks:n=!0,showTickLabels:o=!0})=>{const i=M(twt),r=M(mh),a=M(hu),[l,s]=m.useState(!1),c=50,u=m.useRef(1),d=m.useRef(u.current*10),f=m.useRef(new Array(c).fill(1)),p=.1,g=.3,y="FloralWhite",A=t/2,x=aA(lq,nQ),C=Math.min(1,Math.max(.5,r*.01)),b={font:x,height:0,size:C},v=a?i.max.z+.01:0;m.useEffect(()=>{r<50?u.current=1:r<100?u.current=2:u.current=5,d.current=10*u.current,f.current=new Array(c).fill(1),s(!l)},[r]);const S=w=>w%(5*u.current)===0?g:p;return h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},name:"x axis line",points:[[-e,0,v],[e,0,v]],color:"red",lineWidth:t}),a&&n&&f.current.map((w,T)=>{const P=(T+1)*u.current,R=S(P);return h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[P,-R,v],[P,R,v]],color:y,lineWidth:A}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-P,-R,v],[-P,R,v]],color:y,lineWidth:A})]},P)}),a&&o&&f.current.map((w,T)=>{const P=(T+1)*u.current;return P%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[P-C,-g*2-C,v],children:[h.jsx("textGeometry",{args:[(P<10?" ":"")+P,b]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},P):h.jsx(Se.Fragment,{},P)}),a&&o&&f.current.map((w,T)=>{const P=-(T+1)*u.current;return P%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[P-C,-g*2-C,v],children:[h.jsx("textGeometry",{args:[(P>-10?" ":"")+P,b]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},P):h.jsx(Se.Fragment,{},P)}),h.jsx(Fn,{name:"y axis line",userData:{unintersectable:!0},points:[[0,-e,v],[0,e,v]],color:"blue",lineWidth:t}),a&&n&&f.current.map((w,T)=>{const P=(T+1)*u.current,R=S(P);return h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[-R,P,v],[R,P,v]],color:y,lineWidth:A*1.5}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-R,-P,v],[R,-P,v]],color:y,lineWidth:A*1.5})]},P)}),a&&o&&f.current.map((w,T)=>{const P=(T+1)*u.current;return P%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[-g*2-C*2,P-C/2,v],children:[h.jsx("textGeometry",{args:[P+"",b]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},P):h.jsx(Se.Fragment,{},P)}),a&&o&&f.current.map((w,T)=>{const P=-(T+1)*u.current;return P%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[-g*2-C*2,P-C/2,v],children:[h.jsx("textGeometry",{args:[P+"",b]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},P):h.jsx(Se.Fragment,{},P)}),!a&&h.jsx(Fn,{userData:{unintersectable:!0},name:"z axis line",points:[[0,0,0],[0,0,e]],color:"green",lineWidth:t})]})}),sZt=Se.memo(({id:t,cx:e,cy:n,cz:o,name:i=Yt.Jack,locked:r=!1,flip:a=!1,observer:l=!1,parentId:s})=>{var ee;let c=!1;M($=>{if(s===Zo)c=!0;else for(const q of $.elements)if(q.id===s){c=!0;break}});const u=M(hp);m.useEffect(()=>{c||u(t,!1)},[c,t]);const d=M(dn),f=M(hu)??!1,p=M(Vc),g=M(jn),y=M(Cb),A=M(ey),x=gt(cs),C=Hs(t),{gl:b}=Xi(),[v,S]=m.useState(!1),w=Ln($=>$.contentRef),T=m.useRef(null),P=m.useRef(null),R=Kt(),H=m.useMemo(()=>g(t),[t]),D=m.useRef(!1),E=M(AH);E!==D.current&&(D.current=E,w!=null&&w.current&&T.current&&w.current.add(T.current)),m.useEffect(()=>{if(s!==Zo){const $=N();$&&T.current&&$.add(T.current)}},[E,s]);const L=m.useMemo(()=>new tf().load(Ip.fetchTextureImage(i),$=>{a&&($.wrapS=Ss,$.repeat.x=-1),F($)}),[i,a]),[U,F]=m.useState(L),W=m.useMemo(()=>Ip.fetchWidth(i),[i]),B=m.useMemo(()=>Ip.fetchHeight(i),[i]),k=m.useMemo(()=>Ip.fetchLabel(i,R)+(r?" ("+O.t("shared.ElementLocked",R)+")":"")+` +`+O.t("word.Coordinates",R)+": ("+e.toFixed(1)+", "+n.toFixed(1)+") "+O.t("word.MeterAbbreviation",R),[i,r,e,n,R]);m.useEffect(()=>{const $=N();$&&T.current&&$.add(T.current)},[w]);const N=()=>s!==Zo&&(w!=null&&w.current)?be.getObjectChildById(w.current,s):null;rA(({camera:$})=>{if(T.current){const{rot:q}=be.getWorldDataById(s);if(f)T.current.rotation.set(Vt,Math.PI-q,0);else{const{x:le,y:ie}=$.position,{x:pe,y:ne}=T.current.localToWorld(new ae);T.current.rotation.set(0,0,-Math.atan2(le-pe,ie-ne)-q)}}});const j=m.useCallback(($,q)=>{gt.getState().duringCameraInteraction||$.intersections.length>0&&($.intersections[0].object===$.eventObject||$.intersections.length>1&&$.intersections[1].object===$.eventObject)&&(d(ie=>{ie.hoveredHandle=q,ie.selectedElementHeight=H.lz}),be.isMoveHandle(q)?b.domElement.style.cursor="move":b.domElement.style.cursor="pointer")},[H.lz]),Y=m.useCallback(()=>{d($=>{$.hoveredHandle=null}),b.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),_=l?Ip.fetchGender(H.name):Ca.Male,J=l?(H.flip?-1:1)*Ip.fetchHatOffsetX(H.name):0,Q=l?Ip.fetchHatOffsetY(H.name):0;return c?h.jsx("group",{ref:T,name:"Human Group "+t,userData:{aabb:!0},position:[e,n,o??0],children:h.jsxs("group",{position:[0,.1,B/2],children:[h.jsx(pC,{rotation:[Vt,0,0],uuid:t,name:i,follow:!1,children:h.jsx(sa,{ref:P,renderOrder:3,receiveShadow:!x,name:`Human ${i} plane`,args:[W,B],onContextMenu:$=>{p(t,$,zo.ContextMenu),d(q=>{$.intersections.length>0&&$.intersections[0].object===P.current&&(q.contextMenuObjectType=z.Human)})},onPointerDown:$=>{$.button!==2&&$.eventObject===$.intersections[0].eventObject&&(p(t,$,zo.Move),Ln.setState({humanRef:T}))},onPointerOver:$=>{$.intersections.length>0&&$.intersections[0].object===P.current&&S(!0)},onPointerOut:()=>{S(!1)},children:h.jsx("meshToonMaterial",{map:U,alphaTest:.5,side:ji})})}),C&&r&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-W/2,0,-B/2],[-W/2,0,B/2],[-W/2,0,B/2],[W/2,0,B/2],[W/2,0,-B/2],[W/2,0,B/2],[W/2,0,-B/2],[-W/2,0,-B/2]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(ee=P.current)==null?void 0:ee.rotation,color:l0}),l&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{uuid:t,visible:!1,userData:{eyeball:!0},name:i+" eyeball",args:[W/5,4,4,0,na,0,na],position:[0,0,H.lz/2],children:h.jsx("meshBasicMaterial",{attach:"material",side:ji})}),h.jsx(wa,{name:"Observer hat 1",userData:{unintersectable:!0},castShadow:!1,receiveShadow:!1,args:[.1,.1,.1,16,2],position:[J,0,H.lz/2-.05+Q],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:_===Ca.Male?"gray":"hotpink"})}),h.jsx(wa,{name:"Observer hat 2",userData:{unintersectable:!0},castShadow:!1,receiveShadow:!1,args:[.2,.2,.01,16,2],position:[J,0,H.lz/2-.1+Q],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:_===Ca.Male?"gray":"hotpink"})})]}),C&&!r&&h.jsx(ts,{position:[0,0,-B/2],args:[Af*4,6,6,0,Math.PI],name:yo.Default,onPointerDown:$=>{$.button!==2&&$.eventObject===$.intersections[0].eventObject&&(p(t,$,zo.Move),Ln.setState({humanRef:T}))},onPointerEnter:$=>{j($,yo.Default)},onPointerLeave:Y,children:h.jsx("meshBasicMaterial",{attach:"material",color:A===yo.Default||y===yo.Default?nr:jx})}),v&&!C&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:k,color:(H==null?void 0:H.labelColor)??"white",fontSize:(H==null?void 0:H.labelFontSize)??20,textHeight:(H==null?void 0:H.labelSize)??.2,position:[0,0,B/2+((H==null?void 0:H.labelHeight)??.4)]})]})}):null}),zSe="/aladdin/assets/apple_spring-Ctq5fKrS.png",Iue="/aladdin/assets/apple_summer-Dr8H3cny.png",DSe="/aladdin/assets/apple_fall-Cp6pAzIj.png",ESe="/aladdin/assets/apple_winter-D03fshM0.png",kSe="/aladdin/assets/birch_spring-sKFxYorO.png",zue="/aladdin/assets/birch_summer-FaJ43Xt4.png",FSe="/aladdin/assets/birch_fall-PIQyyY4L.png",LSe="/aladdin/assets/birch_winter-C5h1hTVJ.png",Bqe="/aladdin/assets/coconut-rkhxogn3.png",WSe="/aladdin/assets/dogwood_spring-9vLsm3g2.png",Due="/aladdin/assets/dogwood_summer-DgdkRZ2O.png",NSe="/aladdin/assets/dogwood_fall-Wu983FGV.png",USe="/aladdin/assets/dogwood_winter-4w2TO6RG.png",BSe="/aladdin/assets/elm_spring-DJcRoCq2.png",Eue="/aladdin/assets/elm_summer-VNy_g1qe.png",jSe="/aladdin/assets/elm_fall-ChdMN8fe.png",YSe="/aladdin/assets/elm_winter-Qng-eWYe.png",jqe="/aladdin/assets/fan_palm-DbCJ1Nso.png",OSe="/aladdin/assets/linden_spring-C_zkyu46.png",kue="/aladdin/assets/linden_summer-zap94GfP.png",_Se="/aladdin/assets/linden_fall-CK-BpZ7U.png",VSe="/aladdin/assets/linden_winter-Dt7sgspu.png",GSe="/aladdin/assets/magnolia_spring-CNor1Lb8.png",Fue="/aladdin/assets/magnolia_summer-C7-8T4uo.png",XSe="/aladdin/assets/magnolia_fall-D3wi6n7Y.png",JSe="/aladdin/assets/magnolia_winter-116tEre9.png",KSe="/aladdin/assets/maple_spring-26OHjb4f.png",Lue="/aladdin/assets/maple_summer-BbcBLKSJ.png",qSe="/aladdin/assets/maple_fall-Bp5Vy2Jl.png",$Se="/aladdin/assets/maple_winter-BnFW631O.png",QSe="/aladdin/assets/oak_spring-CsUg07TC.png",Wue="/aladdin/assets/oak_summer-CPK7amde.png",ZSe="/aladdin/assets/oak_fall-rgRz_M_t.png",eTe="/aladdin/assets/oak_winter-CD4uumS6.png",Yqe="/aladdin/assets/pine-CI5zZHth.png",Oqe="/aladdin/assets/spruce-CEhjo5-Q.png";class Ez{static isEvergreen(e){return e===fi.Spruce||e===fi.Pine||e===fi.FanPalm||e===fi.Coconut}static isConic(e){return e===fi.Spruce}static fetchLabel(e,n){switch(e){case fi.Apple:return O.t("tree.Apple",n);case fi.Birch:return O.t("tree.Birch",n);case fi.Coconut:return O.t("tree.Coconut",n);case fi.Dogwood:return O.t("tree.Dogwood",n);case fi.Elm:return O.t("tree.Elm",n);case fi.FanPalm:return O.t("tree.FanPalm",n);case fi.Linden:return O.t("tree.Linden",n);case fi.Magnolia:return O.t("tree.Magnolia",n);case fi.Maple:return O.t("tree.Maple",n);case fi.Oak:return O.t("tree.Oak",n);case fi.Spruce:return O.t("tree.Spruce",n);default:return O.t("tree.Pine",n)}}static fetchTheta(e){switch(e){case fi.Apple:return .65*Math.PI;case fi.Birch:return .72*Math.PI;case fi.Coconut:return .5*Math.PI;case fi.Dogwood:return .65*Math.PI;case fi.Elm:return .78*Math.PI;case fi.FanPalm:return .52*Math.PI;case fi.Linden:return .75*Math.PI;case fi.Magnolia:return .68*Math.PI;case fi.Maple:return .65*Math.PI;case fi.Oak:return .75*Math.PI;case fi.Spruce:return Math.PI;default:return Math.PI*.5}}static fetchTextureImage(e,n,o,i,r){let a;const l=i+30,s=r-30,c=o>0;switch(e){case fi.Apple:n>=r||n<=i?a=c?ESe:Iue:n>i&&n<=l?a=c?zSe:DSe:n>l&&n<=s?a=c?Iue:ESe:a=c?DSe:zSe;break;case fi.Birch:n>=r||n<=i?a=c?LSe:zue:n>i&&n<=l?a=c?kSe:FSe:n>l&&n<=s?a=c?zue:LSe:a=c?FSe:kSe;break;case fi.Coconut:a=Bqe;break;case fi.Dogwood:n>=r||n<=i?a=c?USe:Due:n>i&&n<=l?a=c?WSe:NSe:n>l&&n<=s?a=c?Due:USe:a=c?NSe:WSe;break;case fi.Elm:n>=r||n<=i?a=c?YSe:Eue:n>i&&n<=l?a=c?BSe:jSe:n>l&&n<=s?a=c?Eue:YSe:a=c?jSe:BSe;break;case fi.FanPalm:a=jqe;break;case fi.Linden:n>=r||n<=i?a=c?VSe:kue:n>i&&n<=l?a=c?OSe:_Se:n>l&&n<=s?a=c?kue:VSe:a=c?_Se:OSe;break;case fi.Magnolia:n>=r||n<=i?a=c?JSe:Fue:n>i&&n<=l?a=c?GSe:XSe:n>l&&n<=s?a=c?Fue:JSe:a=c?XSe:GSe;break;case fi.Maple:n>=r||n<=i?a=c?$Se:Lue:n>i&&n<=l?a=c?KSe:qSe:n>l&&n<=s?a=c?Lue:$Se:a=c?qSe:KSe;break;case fi.Oak:n>=r||n<=i?a=c?eTe:Wue:n>i&&n<=l?a=c?QSe:ZSe:n>l&&n<=s?a=c?Wue:eTe:a=c?ZSe:QSe;break;case fi.Spruce:a=Oqe;break;default:a=Yqe}return a}}const cZt=Se.memo(({parentId:t,id:e,cx:n,cy:o,cz:i,lx:r,lz:a,name:l=fi.Pine,flip:s=!1,locked:c=!1,showModel:u=!1,showLabel:d=!1})=>{var ye;let f=!1;M(Te=>{if(t===Zo)f=!0;else for(const Ie of Te.elements)if(Ie.id===t){f=!0;break}});const p=M(hp);m.useEffect(()=>{f||p(e,!1)},[f]);const g=M(dn),y=M(hu)??!1,A=M(Ya),x=M(Xs),C=M(O1e)??sq,b=M(_1e)??cq,v=M(ss),S=M(Vc),w=M(jn),T=M(Cb),P=M(yh),R=M(ey),H=Hs(e),[D,E]=m.useState(!1),{gl:L}=Xi(),U=Ln(Te=>Te.contentRef),F=m.useRef(null),W=m.useRef(null),B=m.useRef(null),k=m.useRef(null),N=m.useRef(null),j=m.useRef(null),Y=m.useRef(null),_=m.useRef(null),J=m.useRef(null),Q=m.useRef(null),ee=Kt(),$=m.useMemo(()=>w(e),[e]),q=m.useMemo(()=>be.dayOfYear(new Date(A)),[A]),le=m.useMemo(()=>!Ez.isEvergreen($?$.name:fi.Dogwood)&&(x>0?qb:q>=C&&q<=b),[q,C,b,x,$==null?void 0:$.name]),ie=m.useRef(!1),pe=M(AH);pe!==ie.current&&(ie.current=pe,U!=null&&U.current&&F.current&&U.current.add(F.current)),m.useEffect(()=>{if(t!==Zo){const Te=ge();Te&&F.current&&Te.add(F.current)}},[pe]),m.useEffect(()=>{const Te=ge();Te&&F.current&&Te.add(F.current)},[U]);const ne=m.useMemo(()=>new tf().load(Ez.fetchTextureImage(l,q,x,C,b),Te=>{s&&(Te.wrapS=Ss,Te.repeat.x=-1),he(Te)}),[l,q,x,s,C,b]),[Z,he]=m.useState(ne),fe=m.useMemo(()=>($!=null&&$.label?$.label:Ez.fetchLabel(l,ee))+(c?" ("+O.t("shared.ElementLocked",ee)+")":"")+($!=null&&$.label?"":` +`+O.t("word.Coordinates",ee)+": ("+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",ee)),[$==null?void 0:$.label,l,n,o,c,ee]),se=m.useMemo(()=>Ez.fetchTheta(l),[l]),oe=r/2,de=a/2,ve=m.useMemo(()=>new ae(0,0,de),[de]),Pe=m.useMemo(()=>new ae(-oe,0,0),[oe]),me=m.useMemo(()=>new ae(oe,0,0),[oe]),Re=m.useMemo(()=>new ae(0,-oe,0),[oe]),ze=m.useMemo(()=>new ae(0,oe,0),[oe]),Ae=m.useCallback((Te,Ie)=>{gt.getState().duringCameraInteraction||Te.intersections.length>0&&(Te.intersections[0].object===Te.eventObject||Te.intersections.length>1&&Te.intersections[1].object===Te.eventObject)&&(g(Ee=>{Ee.hoveredHandle=Ie,Ee.selectedElementHeight=$.lz}),be.isMoveHandle(Ie)?L.domElement.style.cursor="move":L.domElement.style.cursor="pointer")},[$==null?void 0:$.lz]),re=m.useCallback(()=>{g(Te=>{Te.hoveredHandle=null}),L.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),ge=()=>t!==Zo&&(U!=null&&U.current)?be.getObjectChildById(U.current,t):null;rA(({camera:Te})=>{if(W.current&&F.current&&B.current&&N.current){const{rot:Ie}=be.getWorldDataById(t),{x:Ce,y:Ee}=Te.position,{x:Ue,y:Ne}=F.current.position,{x:Le,y:qe}=M.getState().sunlightDirection;if(ge()){const De=F.current.localToWorld(new ae),Fe=Math.atan2(Ce-De.x,Ee-De.y)+Ie;W.current.rotation.set(Vt,-Fe,0),N.current.rotation.set(-Vt,Fe,0),B.current.rotation.set(Vt,-Math.atan2(Le,qe)-Ie,0)}else{const De=Math.atan2(Ce-Ue,Ee-Ne);W.current.rotation.set(Vt,-De,0),N.current.rotation.set(-Vt,De,0),B.current.rotation.set(Vt,-Math.atan2(Le,qe),0)}}});const we=Af*3;return h.jsx(h.Fragment,{children:f?h.jsx("group",{ref:F,name:"Tree Group "+e,userData:{aabb:!0},position:[n,o,i??0],children:h.jsxs("group",{position:[0,0,a/2],children:[h.jsx(pC,{ref:W,uuid:e,name:l,follow:!1,children:h.jsx(sa,{args:[r,a],children:h.jsx("meshToonMaterial",{map:Z,side:ji,alphaTest:.5})})}),h.jsx(pC,{ref:B,name:l+" Shadow Billboard",follow:!1,children:h.jsx(sa,{args:[r,a],castShadow:v,children:h.jsx("meshBasicMaterial",{map:Z,side:ji,alphaTest:.5,opacity:0})})}),Ez.isConic(l)?h.jsx(cu,{visible:u||y,name:l+" Model",userData:{simulation:!0},position:[0,0,l===fi.Spruce?0:a*.06],args:[r/2,a,8,8,!0],scale:[1,1,1],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",side:ji,transparent:!0,opacity:.75})}):h.jsx(ts,{visible:u||y,userData:{simulation:!le},name:l+" Model",args:[r/2,8,8,0,na,0,se],scale:[1,a/r,1],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",side:ji,transparent:!0,opacity:.75})}),h.jsx(pC,{ref:N,name:"Interaction Billboard",visible:!1,position:[0,0,-a/2+.5],children:h.jsx(sa,{ref:k,renderOrder:3,name:l+" plane",args:[r/2,a/3],rotation:[y?Vt:0,0,0],onContextMenu:Te=>{S(e,Te,zo.ContextMenu),g(Ie=>{Te.intersections.length>0&&Te.intersections[0].object===k.current&&(Ie.contextMenuObjectType=z.Tree)})},onPointerDown:Te=>{Te.button!==2&&Te.eventObject===Te.intersections[0].eventObject&&(S(e,Te,zo.Move),Ln.setState({treeRef:F}))},onPointerOver:Te=>{Te.intersections.length>0&&Te.intersections[0].object===k.current&&E(!0)},onPointerOut:()=>{E(!1)}})}),H&&c&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-r/2,-a/2,0],[-r/2,a/2,0],[-r/2,a/2,0],[r/2,a/2,0],[r/2,-a/2,0],[r/2,a/2,0],[r/2,-a/2,0],[-r/2,-a/2,0]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(ye=W.current)==null?void 0:ye.rotation,color:l0}),H&&!c&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{position:new ae(0,0,-a/2),args:[we,6,6,0,Math.PI],name:yo.Default,renderOrder:2,onPointerDown:Te=>{Te.button!==2&&Te.eventObject===Te.intersections[0].eventObject&&(S(e,Te,zo.Move),Ln.setState({treeRef:F}))},onPointerEnter:Te=>{Ae(Te,yo.Default)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yo.Default||T===yo.Default?nr:jx})}),!y&&h.jsxs(h.Fragment,{children:[h.jsx(Ei,{ref:j,name:yt.Top,args:[we,we,we],position:ve,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Top)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Top||P===yt.Top?nr:pr})}),h.jsx(Ei,{ref:Y,name:yt.Left,args:[we,we,we],position:Pe,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Left)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Left||P===yt.Left?nr:pr})}),h.jsx(Ei,{ref:_,name:yt.Right,args:[we,we,we],position:me,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Right)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Right||P===yt.Right?nr:pr})}),h.jsx(Ei,{ref:J,name:yt.Lower,args:[we,we,we],position:Re,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Lower)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Lower||P===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:Q,name:yt.Upper,args:[we,we,we],position:ze,onPointerDown:Te=>{S(e,Te,zo.Resize)},onPointerEnter:Te=>{Ae(Te,yt.Upper)},onPointerLeave:re,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yt.Upper||P===yt.Upper?nr:pr})})]})]}),(D||d)&&!H&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:fe,color:($==null?void 0:$.labelColor)??"white",fontSize:($==null?void 0:$.labelFontSize)??20,textHeight:($==null?void 0:$.labelSize)??.2,position:[0,0,a/2+(($==null?void 0:$.labelHeight)??.4)]})]})}):null})});function _qe(t){const e=t+"Geometry";return m.forwardRef(({args:n,children:o,...i},r)=>h.jsxs("mesh",{ref:r,...i,children:[h.jsx(e,{attach:"geometry",args:n}),o]}))}const tTe=_qe("ParabolicCylinder"),nTe=_qe("Paraboloid"),uZt=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,ly:r,lz:a=.1,reflectance:l=.9,absorberTubeRadius:s=.05,latusRectum:c=2,tiltAngle:u,relativeAzimuth:d,moduleLength:f,poleHeight:p,poleRadius:g,drawSunBeam:y,rotation:A=[0,0,0],color:x="white",lineColor:C="black",lineWidth:b=.5,showLabel:v=!1,locked:S=!1,parentId:w})=>{const T=M(dn),P=M(Ya),R=M(Xs),H=M(Jn),D=gt(cs),E=M(wf),L=bn(o1),U=M(ss),F=M(jn),W=M(Vc),B=M(mh),k=M(yh),N=M(M7),j=Hs(t),{gl:{domElement:Y}}=Xi(),[_,J]=m.useState(!1),[Q,ee]=m.useState(null),[$,q]=m.useState(1),[le,ie]=m.useState(null),pe=m.useRef(null),ne=m.useRef(null),Z=m.useRef(null),he=m.useRef(null),fe=m.useRef(null),se=m.useRef(null),oe=m.useRef(null),de=m.useRef(!1),ve=Math.max(100,10*B),Pe=16,me=N.z<=0,Re=Kt(),ze=i/2,Ae=r/2,re=a/2,ge=p+ze,we=M(ct=>{for(const lt of ct.elements)if(lt.id===w)return lt});if(w&&we)switch(we.type){case z.Foundation:if(o=ge+re+we.lz,be.isZero(A[2]))e=we.cx+e*we.lx,n=we.cy+n*we.ly;else{const ct=new ae(e*we.lx,n*we.ly,0);ct.applyAxisAngle(Po,A[2]),e=we.cx+ct.x,n=we.cy+ct.y}break}const ye=ze*ze/c,Te=.25*c,Ie=new ae(-ze,-Ae,re+ye),Ce=new ae(-ze,Ae,re+ye),Ee=new ae(ze,-Ae,re+ye),Ue=new ae(ze,Ae,re+ye),Ne=m.useMemo(()=>F(t),[t]);m.useEffect(()=>{if(Ne&&D){const ct=L(Ne.id);ct&&ie(be.fetchHeatmapTexture(ct,E??5))}},[D,E]),m.useEffect(()=>{q(Math.max(1,Math.round(r/f)))},[r,f]),m.useEffect(()=>{const ct=()=>{Ln.getState().setEnableOrbitController(!0),de.current=!1};return window.addEventListener("pointerup",ct),()=>{window.removeEventListener("pointerup",ct)}},[]);const Le=m.useMemo(()=>(Ne!=null&&Ne.label?Ne.label:O.t("shared.ParabolicTroughElement",Re))+(Ne!=null&&Ne.locked?" ("+O.t("shared.ElementLocked",Re)+")":"")+(Ne!=null&&Ne.label?"":` +`+O.t("word.Coordinates",Re)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",Re)),[Ne==null?void 0:Ne.label,Ne==null?void 0:Ne.locked,e,n,o,Re]),qe=m.useMemo(()=>new Qt(0,0,A[2],"ZXY"),[A]),We=(ct,lt)=>{ct.intersections.length>0&&ct.intersections[0].object===ct.eventObject&&(ee(lt),lt===yo.Top?Y.style.cursor="move":lt===wi.Lower||lt===wi.Upper||lt===wi.Tilt?Y.style.cursor="grab":Y.style.cursor="pointer")},De=()=>{ee(null),Y.style.cursor="default"},Fe=m.useMemo(()=>zr(new Date(P),R),[P,R]),_e=m.useMemo(()=>{var ct;return(ct=F(w))==null?void 0:ct.rotation[2]},[w]),ot=_e?Fe.clone().applyAxisAngle(Po,-_e):Fe,Ye=m.useMemo(()=>Fe.z>0?new Qt(0,Math.atan2(ot.x,ot.z),0,"ZXY"):new Qt(u,0,d,"ZXY"),[_e,Fe,u,d]),St=m.useMemo(()=>{if(Fe.z>0){const ct=_e?Math.cos(_e):1,lt=_e?Math.sin(_e):0;return-Te*(Fe.x*lt+Fe.y*ct)/Math.hypot(Fe.x,Fe.z)}return 0},[Fe,_e,Te]),dt=new ae(0,St,Te).applyEuler(Ye),je=Fe.clone().multiplyScalar(ve).applyEuler(new Qt(-qe.x,0,-qe.z)),at=-(ge+a)/2,ut=m.useMemo(()=>{const ct=[],lt=Math.cos(d)*f,tt=Math.sin(d)*f,it=$/2-.5;for(let At=0;At<$;At++)ct.push(new ae(-(At-it)*tt,(At-it)*lt,at));return ct},[$,f,at,d]),wt=m.useMemo(()=>{const ct=[],lt=r/$,tt=-i/c,it=-2*tt/Pe;for(let At=0;At<=$;At++){const Mt=[];for(let st=0;st<=Pe;st++){const ft=tt+st*it;Mt.push(new ae(c*ft/2,-Ae+At*lt,c*ft*ft/4))}ct.push({points:Mt})}return ct},[i,r,$,c]),rt=Math.max(1,(i+r)/16),Qe=I9*rt*1.5,Oe=Af*rt*2,et=H.length<50&&wt.length<10,vt=et?4:2;return h.jsxs("group",{name:"Parabolic Trough Group "+t,rotation:qe,position:[e,n,o+re],children:[h.jsxs("group",{rotation:Ye,children:[h.jsx(tTe,{receiveShadow:U,castShadow:U,uuid:t,ref:pe,args:[c/2,i,r,Pe,4],name:"Parabolic Trough Front Side",onPointerDown:ct=>{ct.button!==2&&W(t,ct,zo.Select)},onContextMenu:ct=>{W(t,ct,zo.ContextMenu),T(lt=>{ct.intersections.length>0&&ct.intersections[0].object===pe.current&&(lt.contextMenuObjectType=z.ParabolicTrough)})},onPointerOver:ct=>{ct.intersections.length>0&&ct.intersections[0].object===pe.current&&(J(!0),Y.style.cursor="move")},onPointerOut:()=>{J(!1),Y.style.cursor="default"},children:D&&le?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:le}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:100*l,side:ia,color:"lightskyblue"})}),h.jsx(tTe,{receiveShadow:U,castShadow:U,uuid:t+" backside",ref:ne,args:[c/2,i,r,Pe,4],name:"Parabolic Trough Back Side",position:[0,0,-re/2],onPointerDown:ct=>{ct.button!==2&&W(t,ct,zo.Select)},onContextMenu:ct=>{W(t,ct,zo.ContextMenu),T(lt=>{ct.intersections.length>0&&ct.intersections[0].object===ne.current&&(lt.contextMenuObjectType=z.ParabolicTrough)})},onPointerOver:ct=>{ct.intersections.length>0&&ct.intersections[0].object===ne.current&&(J(!0),Y.style.cursor="move")},onPointerOut:()=>{J(!1),Y.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",side:p0,color:"white"})}),wt&&wt.map((ct,lt)=>h.jsxs(Se.Fragment,{children:[et&&h.jsx(Fn,{name:"Parabolic Trough Rim Lines",userData:{unintersectable:!0},points:ct.points,castShadow:!1,receiveShadow:!1,lineWidth:b,color:C}),(lt===0||lt===wt.length-1||et)&&h.jsx(Fn,{name:"Parabolic Trough Focal Lines",userData:{unintersectable:!0},points:[ct.points[Pe/2].clone(),ct.points[Pe/2].clone().add(new ae(0,0,Te))],castShadow:!1,receiveShadow:!1,lineWidth:b,color:me?"dimgray":"white"})]},lt)),et&&h.jsx(Fn,{name:"Parabolic Trough Outline 1",userData:{unintersectable:!0},points:[[-ze,-Ae,ye],[-ze,Ae,ye]],castShadow:!1,receiveShadow:!1,lineWidth:b,color:C}),et&&h.jsx(Fn,{name:"Parabolic Trough Outline 2",userData:{unintersectable:!0},points:[[ze,-Ae,ye],[ze,Ae,ye]],castShadow:!1,receiveShadow:!1,lineWidth:b,color:C}),h.jsx(wa,{name:"Parabolic Trough Absorber Tube",uuid:t,args:[s,s,r,et?6:2,1],position:[0,0,Te],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(sa,{name:"Parabolic Trough Simulation Plane",uuid:t,args:[i,r],position:[0,0,ye],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),j&&S&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ze,-Ae,ye],[-ze,Ae,ye],[ze,Ae,ye],[ze,-Ae,ye],[-ze,-Ae,ye]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),j&&!S&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:Z,position:new ae(0,0,0),args:[Oe,6,6],name:yo.Default,onPointerOver:ct=>{We(ct,yo.Top)},onPointerOut:()=>{De()},onPointerDown:ct=>{ct.button!==2&&W(t,ct,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:he,position:[(Ie.x+Ee.x)/2,Ie.y,Ie.z-ye],args:[Qe,Qe,a*1.2],name:yt.Lower,onPointerDown:ct=>{W(t,ct,zo.Resize),se.current&&T(lt=>{const tt=he.current.localToWorld(new ae(0,r,-Ie.z));lt.resizeAnchor.copy(tt)})},onPointerOver:ct=>{We(ct,yt.Lower)},onPointerOut:()=>{De()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Q===yt.Lower||k===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:fe,position:[(Ce.x+Ue.x)/2,Ce.y,Ce.z-ye],args:[Qe,Qe,a*1.2],name:yt.Upper,onPointerDown:ct=>{W(t,ct,zo.Resize),se.current&&T(lt=>{const tt=fe.current.localToWorld(new ae(0,-r,-Ce.z));lt.resizeAnchor.copy(tt)})},onPointerOver:ct=>{We(ct,yt.Upper)},onPointerOut:()=>{De()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Q===yt.Upper||k===yt.Upper?nr:pr})}),h.jsx(Ei,{ref:se,position:[Ie.x,(Ie.y+Ce.y)/2,Ie.z],args:[Qe,Qe,a*1.2],name:yt.Left,onPointerDown:ct=>{W(t,ct,zo.Resize),se.current&&T(lt=>{const tt=se.current.localToWorld(new ae(i,0,-Ie.z));lt.resizeAnchor.copy(tt)})},onPointerOver:ct=>{We(ct,yt.Left)},onPointerOut:()=>{De()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Q===yt.Left||k===yt.Left?nr:pr})}),h.jsx(Ei,{ref:oe,position:[Ee.x,(Ee.y+Ue.y)/2,Ee.z],args:[Qe,Qe,a*1.2],name:yt.Right,onPointerDown:ct=>{W(t,ct,zo.Resize),se.current&&T(lt=>{const tt=oe.current.localToWorld(new ae(-i,0,-Ee.z));lt.resizeAnchor.copy(tt)})},onPointerOver:ct=>{We(ct,yt.Right)},onPointerOut:()=>{De()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Q===yt.Right||k===yt.Right?nr:pr})})]})]})]}),ge>0&&ut.map((ct,lt)=>lt%5!==0&&!et?h.jsx(Se.Fragment,{},lt):h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+lt,castShadow:!1,receiveShadow:!1,args:[g,g,ge+(ct.z-at)*2+a,vt,1],position:ct,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:x})},lt)),y&&Fe.z>0&&h.jsx(Fn,{userData:{unintersectable:!0},points:[dt,new ae(-.3*ze,0,.09*ye).applyEuler(Ye),je,new ae(-.6*ze,0,.36*ye).applyEuler(Ye),dt,new ae(-.9*ze,0,.81*ye).applyEuler(Ye),je,new ae(0,0,0),dt,new ae(.3*ze,0,.09*ye).applyEuler(Ye),je,new ae(.6*ze,0,.36*ye).applyEuler(Ye),dt,new ae(.9*ze,0,.81*ye).applyEuler(Ye),je],name:"Sun Beams",lineWidth:.25,color:"white"}),(_||v)&&!j&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Le,color:(Ne==null?void 0:Ne.labelColor)??"white",fontSize:(Ne==null?void 0:Ne.labelFontSize)??20,textHeight:(Ne==null?void 0:Ne.labelSize)??.2,position:[0,0,(Ne==null?void 0:Ne.labelHeight)??Math.max(Ae*Math.abs(Math.sin(Ne.tiltAngle))+.1,.2)]})]})}),dZt=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,ly:r,lz:a=.1,reflectance:l=.9,structureType:s=ef.CentralPole,receiverRadius:c=.25,receiverPoleRadius:u=.1,latusRectum:d=2,tiltAngle:f,relativeAzimuth:p,poleHeight:g,poleRadius:y=.2,drawSunBeam:A,rotation:x=[0,0,0],color:C="white",lineColor:b="black",lineWidth:v=.25,showLabel:S=!1,locked:w=!1,parentId:T})=>{const P=M(dn),R=M(Ya),H=M(Xs),D=M(Jn),E=gt(cs),L=M(wf),U=bn(o1),F=M(ss),W=M(jn),B=M(Vc),k=M(mh),N=M(yh),j=M(M7),Y=Hs(t),{gl:{domElement:_}}=Xi(),[J,Q]=m.useState(!1),[ee,$]=m.useState(null),[q,le]=m.useState(null),ie=m.useRef(null),pe=m.useRef(null),ne=m.useRef(null),Z=m.useRef(null),he=m.useRef(null),fe=m.useRef(null),se=m.useRef(null),oe=m.useRef(!1),de=Math.max(100,10*k),ve=32,Pe=8,me=j.z<=0,Re=i/2,ze=r/2,Ae=a/2,re=g+Re,ge=Kt(),we=M(lt=>{for(const tt of lt.elements)if(tt.id===T)return tt});if(T&&we)switch(we.type){case z.Foundation:if(o=re+Ae+we.lz,be.isZero(x[2]))e=we.cx+e*we.lx,n=we.cy+n*we.ly;else{const lt=new ae(e*we.lx,n*we.ly,0);lt.applyAxisAngle(Po,x[2]),e=we.cx+lt.x,n=we.cy+lt.y}break}const ye=Re*Re/d,Te=.25*d,Ie=new ae(-Re,-ze,Ae+ye),Ce=new ae(-Re,ze,Ae+ye),Ee=new ae(Re,-ze,Ae+ye),Ue=new ae(Re,ze,Ae+ye),Ne=m.useMemo(()=>W(t),[t]),Le=Ab(hye),qe=c+1;m.useEffect(()=>{if(Ne&&E){const lt=U(Ne.id);lt&&le(be.fetchHeatmapTexture(lt,L??5))}},[E,L]),m.useEffect(()=>{const lt=()=>{Ln.getState().setEnableOrbitController(!0),oe.current=!1};return window.addEventListener("pointerup",lt),()=>{window.removeEventListener("pointerup",lt)}},[]);const We=m.useMemo(()=>(Ne!=null&&Ne.label?Ne.label:O.t("shared.ParabolicDishElement",ge))+(Ne!=null&&Ne.locked?" ("+O.t("shared.ElementLocked",ge)+")":"")+(Ne!=null&&Ne.label?"":` +`+O.t("word.Coordinates",ge)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",ge)),[Ne==null?void 0:Ne.label,Ne==null?void 0:Ne.locked,ge,e,n,o]),De=m.useMemo(()=>new Qt(0,0,x[2],"ZXY"),[x]),Fe=(lt,tt)=>{lt.intersections.length>0&<.intersections[0].object===lt.eventObject&&($(tt),tt===yo.Top?_.style.cursor="move":tt===wi.Lower||tt===wi.Upper||tt===wi.Tilt?_.style.cursor="grab":_.style.cursor="pointer")},_e=()=>{$(null),_.style.cursor="default"},ot=m.useMemo(()=>zr(new Date(R),H),[R,H]),Ye=m.useMemo(()=>{var lt;return(lt=W(T))==null?void 0:lt.rotation[2]},[T]),St=Ye?ot.clone().applyAxisAngle(Po,-Ye):ot,dt=m.useMemo(()=>{if(ot.z>0){const lt=Math.hypot(St.x,St.y);return new Qt(Math.atan2(lt,St.z),0,Math.atan2(St.y,St.x)+Vt,"ZXY")}return new Qt(f,0,p,"ZXY")},[ot,f,p]),je=-(re+a)/2,at=D.length<50,ut=m.useMemo(()=>{const lt=[];if(at){const tt=[],it=[];let At,Mt,st;const ft=.25*ye;for(let Rt=0;Rt<=ve;Rt++)At=na*Rt/ve,Mt=Math.cos(At),st=Math.sin(At),tt.push(new ae(Re*Mt,Re*st,ye)),it.push(new ae(Re*Mt/2,Re*st/2,ft));lt.push({points:tt}),lt.push({points:it});for(let Rt=0;Rt<12;Rt++){At=na*Rt/12,Mt=Math.cos(At),st=Math.sin(At);const zt=[];for(let Xe=0;Xe<=Pe;Xe++){const ht=Xe===0?0:Xe/Pe*Re;zt.push(new ae(ht*Mt,ht*st,ht*ht/d+.01))}lt.push({points:zt})}}return lt},[Re,d,at]),wt=m.useMemo(()=>{if(s===ef.CentralPoleWithTripod){const lt=[];let tt;for(let it=0;it<3;it++){tt=na*it/3;const At=[];At.push(new ae(Re*Math.cos(tt),Re*Math.sin(tt),ye)),At.push(new ae(0,0,Te)),lt.push({points:At})}return lt}},[Re,d,s]),rt=m.useMemo(()=>{if(s===ef.Quadrupod){const lt=[];let tt;for(let it=0;it<4;it++){tt=na*it/4;const At=[];At.push(new ae(Re*Math.cos(tt),Re*Math.sin(tt),ye)),At.push(new ae(0,0,Te)),lt.push({points:At})}return lt}},[Re,d,s]),Qe=Math.max(1,(i+r)/16),Oe=I9*Qe*1.5,et=Af*Qe*3,vt=ot.clone().multiplyScalar(de),ct=new ae(0,0,Te).applyEuler(dt);return h.jsxs("group",{name:"Parabolic Dish Group "+t,rotation:De,position:[e,n,o+Ae],children:[h.jsxs("group",{rotation:dt,children:[h.jsx(nTe,{receiveShadow:F,castShadow:F,uuid:t,ref:ie,args:[d/2,Re,ve,Pe],name:"Parabolic Dish Front Side",onPointerDown:lt=>{lt.button!==2&&B(t,lt,zo.Select)},onContextMenu:lt=>{B(t,lt,zo.ContextMenu),P(tt=>{lt.intersections.length>0&<.intersections[0].object===ie.current&&(tt.contextMenuObjectType=z.ParabolicDish)})},onPointerOver:lt=>{lt.intersections.length>0&<.intersections[0].object===ie.current&&(Q(!0),_.style.cursor="move")},onPointerOut:()=>{Q(!1),_.style.cursor="default"},children:E&&q?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:q}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:100*l,side:ia,color:"lightskyblue"})}),h.jsx(nTe,{receiveShadow:F,castShadow:F,uuid:t+" backside",ref:pe,args:[d/2,Re,ve,Pe],name:"Parabolic Dish Back Side",position:[0,0,-Ae/4],onPointerDown:lt=>{lt.button!==2&&B(t,lt,zo.Select)},onContextMenu:lt=>{B(t,lt,zo.ContextMenu),P(tt=>{lt.intersections.length>0&<.intersections[0].object===pe.current&&(tt.contextMenuObjectType=z.ParabolicDish)})},onPointerOver:lt=>{lt.intersections.length>0&<.intersections[0].object===pe.current&&(Q(!0),_.style.cursor="move")},onPointerOut:()=>{Q(!1),_.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",side:p0,color:C})}),ut&&ut.length>0&&ut.map((lt,tt)=>h.jsx(Se.Fragment,{children:h.jsx(Fn,{name:"Parabolic Dish Wireframe",userData:{unintersectable:!0},points:lt.points,castShadow:!1,receiveShadow:!1,lineWidth:v,color:b})},tt)),h.jsx(wa,{name:"Parabolic Dish Receiver",uuid:t,args:[c,c,.5,at?12:4,1],rotation:[Vt,0,0],position:[0,0,Te-.1],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:C})}),ot.z>0&&h.jsx("mesh",{position:[0,0,Te-.1],children:h.jsx("sprite",{scale:[qe,qe,qe],children:h.jsx("spriteMaterial",{map:Le,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})}),(s===ef.CentralPole||s===ef.CentralPoleWithTripod)&&h.jsx(wa,{name:"Parabolic Dish Receiver Pole",uuid:t,args:[u,u,Te,at?6:2,1],rotation:[Vt,0,0],position:[0,0,Te/2],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:C})}),s===ef.CentralPoleWithTripod&&wt&&wt.map((lt,tt)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{name:"Parabolic Dish Tripod Lines",userData:{unintersectable:!0},points:lt.points,castShadow:!1,receiveShadow:!1,lineWidth:1,color:me?"dimgray":C}),h.jsx(ts,{position:new ae(lt.points[0].x,lt.points[0].y,lt.points[0].z),args:[u/2,4,4],name:"Parabolic Dish Tripod Joint",children:h.jsx("meshStandardMaterial",{attach:"material",color:C})})]},tt)),s===ef.Quadrupod&&rt&&rt.map((lt,tt)=>h.jsxs(Se.Fragment,{children:[h.jsx(Fn,{name:"Parabolic Dish Quadrupod Lines",userData:{unintersectable:!0},points:lt.points,castShadow:!1,receiveShadow:!1,lineWidth:2,color:me?"dimgray":C}),h.jsx(ts,{position:new ae(lt.points[0].x,lt.points[0].y,lt.points[0].z),args:[u/2,4,4],name:"Parabolic Dish Quadrupod Joint",children:h.jsx("meshStandardMaterial",{attach:"material",color:C})})]},tt)),h.jsx(KC,{name:"Parabolic Dish Simulation Circle",uuid:t,args:[i/2,ve],position:[0,0,ye],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),Y&&w&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Re,-ze,ye],[-Re,ze,ye],[Re,ze,ye],[Re,-ze,ye],[-Re,-ze,ye]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),Y&&!w&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:ne,position:new ae(0,0,0),args:[et,6,6],name:yo.Default,onPointerOver:lt=>{Fe(lt,yo.Top)},onPointerOut:()=>{_e()},onPointerDown:lt=>{lt.button!==2&&B(t,lt,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:Z,position:[(Ie.x+Ee.x)/2,Ie.y,Ie.z],args:[Oe,Oe,a*1.2],name:yt.Lower,onPointerDown:lt=>{B(t,lt,zo.Resize),fe.current&&P(tt=>{const it=Z.current.localToWorld(new ae(0,r,-Ie.z));tt.resizeAnchor.copy(it)})},onPointerOver:lt=>{Fe(lt,yt.Lower)},onPointerOut:()=>{_e()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===yt.Lower||N===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:he,position:[(Ce.x+Ue.x)/2,Ce.y,Ce.z],args:[Oe,Oe,a*1.2],name:yt.Upper,onPointerDown:lt=>{B(t,lt,zo.Resize),fe.current&&P(tt=>{const it=he.current.localToWorld(new ae(0,-r,-Ce.z));tt.resizeAnchor.copy(it)})},onPointerOver:lt=>{Fe(lt,yt.Upper)},onPointerOut:()=>{_e()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===yt.Upper||N===yt.Upper?nr:pr})}),h.jsx(Ei,{ref:fe,position:[Ie.x,(Ie.y+Ce.y)/2,Ie.z],args:[Oe,Oe,a*1.2],name:yt.Left,onPointerDown:lt=>{B(t,lt,zo.Resize),fe.current&&P(tt=>{const it=fe.current.localToWorld(new ae(i,0,-Ie.z));tt.resizeAnchor.copy(it)})},onPointerOver:lt=>{Fe(lt,yt.Left)},onPointerOut:()=>{_e()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===yt.Left||N===yt.Left?nr:pr})}),h.jsx(Ei,{ref:se,position:[Ee.x,(Ee.y+Ue.y)/2,Ee.z],args:[Oe,Oe,a*1.2],name:yt.Right,onPointerDown:lt=>{B(t,lt,zo.Resize),fe.current&&P(tt=>{const it=se.current.localToWorld(new ae(-i,0,-Ee.z));tt.resizeAnchor.copy(it)})},onPointerOver:lt=>{Fe(lt,yt.Right)},onPointerOut:()=>{_e()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===yt.Right||N===yt.Right?nr:pr})})]})]})]}),re>0&&h.jsx(wa,{userData:{unintersectable:!0},name:"Pole",castShadow:!1,receiveShadow:!1,args:[y,y,re+a,at?4:2,1],position:[0,0,je],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:C})}),A&&ot.z>0&&h.jsx(Fn,{rotation:[-De.x,0,-De.z],userData:{unintersectable:!0},points:[ct,new ae(-.3*Re,0,.09*ye).applyEuler(dt),vt,new ae(-.6*Re,0,.36*ye).applyEuler(dt),ct,new ae(-.9*Re,0,.81*ye).applyEuler(dt),vt,ct,new ae(.3*Re,0,.09*ye).applyEuler(dt),vt,new ae(.6*Re,0,.36*ye).applyEuler(dt),ct,new ae(.9*Re,0,.81*ye).applyEuler(dt),vt],name:"Sun Beams",lineWidth:.25,color:"white"}),(J||S)&&!Y&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:We,color:(Ne==null?void 0:Ne.labelColor)??"white",fontSize:(Ne==null?void 0:Ne.labelFontSize)??20,textHeight:(Ne==null?void 0:Ne.labelSize)??.2,position:[0,0,(Ne==null?void 0:Ne.labelHeight)??Math.max(ze*Math.abs(Math.sin(Ne.tiltAngle))+.1,.2)]})]})}),fZt=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,ly:r,lz:a=.1,reflectance:l=.9,tiltAngle:s,relativeAzimuth:c,moduleLength:u,poleHeight:d,poleRadius:f=.1,drawSunBeam:p,rotation:g=[0,0,0],color:y="white",lineColor:A="black",lineWidth:x=.5,showLabel:C=!1,locked:b=!1,parentId:v,receiverId:S})=>{const w=M(dn),T=M(Sc),P=M(Ya),R=M(Xs),H=M(Jn),D=gt(cs),E=M(wf),L=bn(o1),U=M(ss),F=M(jn),W=M(Vc),B=M(mh),k=M(yh),N=Hs(t),{gl:{domElement:j}}=Xi(),[Y,_]=m.useState(!1),[J,Q]=m.useState(null),[ee,$]=m.useState(1),[q,le]=m.useState(null),ie=m.useRef(null),pe=m.useRef(null),ne=m.useRef(null),Z=m.useRef(null),he=m.useRef(null),fe=m.useRef(null),se=m.useRef(!1),oe=Math.max(100,10*B),de=m.useMemo(()=>({lng:T}),[T]),ve=i/2,Pe=r/2,me=a/2,Re=d+ve,ze=M(je=>{for(const at of je.elements)if(at.id===v)return at});if(ze)switch(ze.type){case z.Foundation:if(o=Re+me+ze.lz,be.isZero(g[2]))e=ze.cx+e*ze.lx,n=ze.cy+n*ze.ly;else{const je=new ae(e*ze.lx,n*ze.ly,0);je.applyAxisAngle(Po,g[2]),e=ze.cx+je.x,n=ze.cy+je.y}break}const Ae=new ae(-ve,-Pe,me),re=new ae(-ve,Pe,me),ge=new ae(ve,-Pe,me),we=new ae(ve,Pe,me),ye=m.useMemo(()=>F(t),[t]);m.useEffect(()=>{if(ye&&D){const je=L(ye.id);je&&le(be.fetchHeatmapTexture(je,E??5))}},[D,E]),m.useEffect(()=>{$(Math.max(1,Math.round(r/u)))},[r,u]),m.useEffect(()=>{const je=()=>{Ln.getState().setEnableOrbitController(!0),se.current=!1};return window.addEventListener("pointerup",je),()=>{window.removeEventListener("pointerup",je)}},[]);const Te=m.useMemo(()=>(ye!=null&&ye.label?ye.label:O.t("shared.FresnelReflectorElement",de))+(ye!=null&&ye.locked?" ("+O.t("shared.ElementLocked",de)+")":"")+(ye!=null&&ye.label?"":` +`+O.t("word.Coordinates",de)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",de)),[ye==null?void 0:ye.label,ye==null?void 0:ye.locked,de,e,n,o]),Ie=m.useMemo(()=>new Qt(0,0,g[2],"ZXY"),[g]),Ce=(je,at)=>{je.intersections.length>0&&je.intersections[0].object===je.eventObject&&(Q(at),at===yo.Top?j.style.cursor="move":at===wi.Lower||at===wi.Upper||at===wi.Tilt?j.style.cursor="grab":j.style.cursor="pointer")},Ee=()=>{Q(null),j.style.cursor="default"},Ue=m.useMemo(()=>zr(new Date(P),R),[P,R]),Ne=ze==null?void 0:ze.rotation[2],Le=S&&S!==v?F(S):null,qe=m.useMemo(()=>{if(Le){if(Le.type===z.Foundation){const je=Le;if(je.solarStructure===zn.FocusPipe&&je.solarAbsorberPipe)return new ae((je.cx-e)*(Ne?Math.cos(Ne):1),(je.cy-n)*(Ne?Math.sin(Ne):0),je.cz-o+je.lz/2+(je.solarAbsorberPipe.absorberHeight??10))}}else if(ze&&ze.type===z.Foundation){const je=ze;if(je.solarStructure===zn.FocusPipe&&je.solarAbsorberPipe)return new ae((je.cx-e)*(Ne?Math.cos(Ne):1),(je.cy-n)*(Ne?Math.sin(Ne):0),je.cz-o+je.lz/2+(je.solarAbsorberPipe.absorberHeight??10))}return null},[Le,ze,e,n,o,Ne]),We=m.useRef(new ae),De=m.useMemo(()=>{if(qe&&Ue.z>0){const je=Ne?new ae(Math.sin(Ne),Math.cos(Ne),0):new ae(0,1,0);We.current.set(qe.x,qe.y,qe.z);const at=Ue.z{const je=[],at=Math.cos(c)*u,ut=Math.sin(c)*u,wt=ee/2-.5;for(let rt=0;rt{const je=[],at=r/ee;for(let ut=0;ut<=ee;ut++){const wt=[];wt.push(new ae(-ve,-Pe+ut*at,me)),wt.push(new ae(ve,-Pe+ut*at,me)),je.push({points:wt})}return je},[i,r,me,ee]),Ye=Math.max(1,Math.min(i*5,r*5,(i+r)/16)),St=I9*Ye*1.5,dt=Af*Ye*2;return h.jsxs("group",{name:"Fresnel Reflector Group "+t,rotation:Ie,position:[e,n,o+me],children:[h.jsxs("group",{rotation:De,children:[h.jsxs(Ei,{receiveShadow:U,castShadow:U,uuid:t,ref:ie,args:[i,r,a],name:"Fresnel Reflector",onPointerDown:je=>{je.button!==2&&W(t,je,zo.Select)},onContextMenu:je=>{W(t,je,zo.ContextMenu),w(at=>{je.intersections.length>0&&je.intersections[0].object===ie.current&&(at.contextMenuObjectType=z.FresnelReflector)})},onPointerOver:je=>{je.intersections.length>0&&je.intersections[0].object===ie.current&&(_(!0),j.style.cursor="move")},onPointerOut:()=>{_(!1),j.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:y}),h.jsx("meshStandardMaterial",{attach:"material-1",color:y}),h.jsx("meshStandardMaterial",{attach:"material-2",color:y}),h.jsx("meshStandardMaterial",{attach:"material-3",color:y}),D&&q?h.jsx("meshBasicMaterial",{attach:"material-4",side:ia,map:q}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo("white"),shininess:100*l,side:ia,color:"lightskyblue"}),h.jsx("meshStandardMaterial",{attach:"material-5",color:y})]}),ot&&ot.map((je,at)=>h.jsx(Fn,{name:"Fresnel Reflector Module Line",userData:{unintersectable:!0},points:je.points,castShadow:!1,receiveShadow:!1,lineWidth:x,color:A},at)),h.jsx(Fn,{name:"Fresnel Reflector Outline 1",userData:{unintersectable:!0},points:[[-ve,-Pe,me],[-ve,Pe,me]],castShadow:!1,receiveShadow:!1,lineWidth:x,color:A}),h.jsx(Fn,{name:"Fresnel Reflector Outline 2",userData:{unintersectable:!0},points:[[ve,-Pe,me],[ve,Pe,me]],castShadow:!1,receiveShadow:!1,lineWidth:x,color:A}),h.jsx(sa,{name:"Fresnel Reflector Simulation Plane",uuid:t,args:[i,r],position:[0,0,me],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),N&&b&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ve,-Pe,me],[-ve,Pe,me],[ve,Pe,me],[ve,-Pe,me],[-ve,-Pe,me]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),N&&!b&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:pe,position:new ae(0,0,0),args:[dt,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:je=>{Ce(je,yo.Top)},onPointerOut:()=>{Ee()},onPointerDown:je=>{je.button!==2&&W(t,je,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:ne,position:[(Ae.x+ge.x)/2,Ae.y,Ae.z-me],args:[St,St,a*1.2],name:yt.Lower,castShadow:!1,receiveShadow:!1,onPointerDown:je=>{W(t,je,zo.Resize),he.current&&w(at=>{const ut=ne.current.localToWorld(new ae(0,r,-Ae.z));at.resizeAnchor.copy(ut)})},onPointerOver:je=>{Ce(je,yt.Lower)},onPointerOut:()=>{Ee()},children:h.jsx("meshBasicMaterial",{attach:"material",color:J===yt.Lower||k===yt.Lower?nr:pr})}),h.jsx(Ei,{ref:Z,position:[(re.x+we.x)/2,re.y,re.z-me],args:[St,St,a*1.2],name:yt.Upper,castShadow:!1,receiveShadow:!1,onPointerDown:je=>{W(t,je,zo.Resize),he.current&&w(at=>{const ut=Z.current.localToWorld(new ae(0,-r,-re.z));at.resizeAnchor.copy(ut)})},onPointerOver:je=>{Ce(je,yt.Upper)},onPointerOut:()=>{Ee()},children:h.jsx("meshBasicMaterial",{attach:"material",color:J===yt.Upper||k===yt.Upper?nr:pr})}),h.jsx(Ei,{ref:he,position:[Ae.x,(Ae.y+re.y)/2,Ae.z],args:[St,St,a*1.2],name:yt.Left,castShadow:!1,receiveShadow:!1,onPointerDown:je=>{W(t,je,zo.Resize),he.current&&w(at=>{const ut=he.current.localToWorld(new ae(i,0,-Ae.z));at.resizeAnchor.copy(ut)})},onPointerOver:je=>{Ce(je,yt.Left)},onPointerOut:()=>{Ee()},children:h.jsx("meshBasicMaterial",{attach:"material",color:J===yt.Left||k===yt.Left?nr:pr})}),h.jsx(Ei,{ref:fe,position:[ge.x,(ge.y+we.y)/2,ge.z],args:[St,St,a*1.2],name:yt.Right,castShadow:!1,receiveShadow:!1,onPointerDown:je=>{W(t,je,zo.Resize),he.current&&w(at=>{const ut=fe.current.localToWorld(new ae(-i,0,-ge.z));at.resizeAnchor.copy(ut)})},onPointerOver:je=>{Ce(je,yt.Right)},onPointerOut:()=>{Ee()},children:h.jsx("meshBasicMaterial",{attach:"material",color:J===yt.Right||k===yt.Right?nr:pr})})]})]})]}),Re>0&&_e.map((je,at)=>{const ut=H.length<100?4:2;return h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+at,castShadow:!1,receiveShadow:!1,args:[f,f,Re+(je.z-Fe)*2+a,ut,1],position:je,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:y})},at)}),p&&Ue.z>0&&h.jsx(Fn,{rotation:[-Ie.x,0,-Ie.z],userData:{unintersectable:!0},points:qe?[We.current,new ae(0,0,me),Ue.clone().multiplyScalar(oe)]:[new ae(0,0,me),Ue.clone().multiplyScalar(oe)],name:"Sun Beam",lineWidth:.25,color:"white",castShadow:!1,receiveShadow:!1}),(Y||C)&&!N&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Te,color:(ye==null?void 0:ye.labelColor)??"white",fontSize:(ye==null?void 0:ye.labelFontSize)??20,textHeight:(ye==null?void 0:ye.labelSize)??.2,castShadow:!1,receiveShadow:!1,position:[0,0,(ye==null?void 0:ye.labelHeight)??Math.max(Pe*Math.abs(Math.sin(ye.tiltAngle))+.1,.2)]})]})}),hZt=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,ly:r,lz:a=.1,reflectance:l=.9,tiltAngle:s,relativeAzimuth:c,poleHeight:u,poleRadius:d=Math.min(i,r)/20,drawSunBeam:f,rotation:p=[0,0,0],color:g="white",lineColor:y="black",lineWidth:A=.5,showLabel:x=!1,locked:C=!1,parentId:b,towerId:v})=>{const S=M(dn),w=M(Ya),T=M(Xs),P=M(Jn),R=gt(cs),H=M(wf),D=bn(o1),E=M(ss),L=M(jn),U=M(Vc),F=M(mh),W=Hs(t),{gl:{domElement:B}}=Xi(),[k,N]=m.useState(!1),[j,Y]=m.useState(null),_=m.useRef(null),J=m.useRef(null),Q=m.useRef(!1),ee=Math.max(100,10*F),$=Kt(),q=i/2,le=r/2,ie=a/2,pe=u+Math.max(q,le),ne=M(ge=>{for(const we of ge.elements)if(we.id===b)return we});if(ne)switch(ne.type){case z.Foundation:if(o=pe+ie+ne.lz,be.isZero(p[2]))e=ne.cx+e*ne.lx,n=ne.cy+n*ne.ly;else{const ge=new ae(e*ne.lx,n*ne.ly,0);ge.applyAxisAngle(Po,p[2]),e=ne.cx+ge.x,n=ne.cy+ge.y}break}const Z=m.useMemo(()=>L(t),[t]);m.useEffect(()=>{if(Z&&R){const ge=D(Z.id);ge&&Y(be.fetchHeatmapTexture(ge,H??5))}},[R,H]),m.useEffect(()=>{const ge=()=>{Ln.getState().setEnableOrbitController(!0),Q.current=!1};return window.addEventListener("pointerup",ge),()=>{window.removeEventListener("pointerup",ge)}},[]);const he=m.useMemo(()=>(Z!=null&&Z.label?Z.label:O.t("shared.HeliostatElement",$))+(Z!=null&&Z.locked?" ("+O.t("shared.ElementLocked",$)+")":"")+(Z!=null&&Z.label?"":` +`+O.t("word.Coordinates",$)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",$)),[Z==null?void 0:Z.label,Z==null?void 0:Z.locked,$,e,n,o]),fe=m.useMemo(()=>new Qt(0,0,p[2],"ZXY"),[p]),se=(ge,we)=>{ge.intersections.length>0&&ge.intersections[0].object===ge.eventObject&&(B.style.cursor=we===yo.Default?"move":"pointer")},oe=()=>{B.style.cursor="default"},de=m.useMemo(()=>zr(new Date(w),T),[w,T]),ve=ne==null?void 0:ne.rotation[2],Pe=v&&v!==b?L(v):null,me=m.useMemo(()=>{if(Pe){if(Pe.type===z.Foundation){const ge=Pe;if(ge.solarStructure===zn.FocusTower&&ge.solarPowerTower)return new ae(ge.cx-e,ge.cy-n,ge.cz-o+ge.lz/2+(ge.solarPowerTower.towerHeight??20))}}else if(ne&&ne.type===z.Foundation){const ge=ne;if(ge.solarStructure===zn.FocusTower&&ge.solarPowerTower)return new ae(ge.cx-e,ge.cy-n,ge.cz-o+ge.lz/2+(ge.solarPowerTower.towerHeight??20))}return null},[ne,e,n,o,Pe]),Re=m.useMemo(()=>{if(me&&de.z>0){let we=me.clone().normalize().add(de).normalize();be.isSame(we,Po)&&(we=new ae(-.001,0,1).normalize()),ve&&we.applyAxisAngle(Po,-ve);const ye=Math.hypot(we.x,we.y);return new Qt(Math.atan2(ye,we.z),0,Math.atan2(we.y,we.x)+Vt,"ZXY")}return new Qt(s,0,c,"ZXY")},[me,de,s,c,ve]),ze=-(pe+a)/2,Ae=Math.max(1,(i+r)/8),re=Af*Ae*4;return h.jsxs("group",{name:"Heliostat Group "+t,rotation:fe,position:[e,n,o+ie],children:[h.jsxs("group",{rotation:Re,children:[h.jsxs(Ei,{receiveShadow:E,castShadow:E,uuid:t,ref:_,args:[i,r,a],name:"Heliostat",onPointerDown:ge=>{ge.button!==2&&U(t,ge,zo.Select)},onContextMenu:ge=>{U(t,ge,zo.ContextMenu),S(we=>{ge.intersections.length>0&&ge.intersections[0].object===_.current&&(we.contextMenuObjectType=z.Heliostat)})},onPointerOver:ge=>{ge.intersections.length>0&&ge.intersections[0].object===_.current&&(N(!0),B.style.cursor="move")},onPointerOut:()=>{N(!1),B.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:g}),h.jsx("meshStandardMaterial",{attach:"material-1",color:g}),h.jsx("meshStandardMaterial",{attach:"material-2",color:g}),h.jsx("meshStandardMaterial",{attach:"material-3",color:g}),R&&j?h.jsx("meshBasicMaterial",{attach:"material-4",side:ia,map:j}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo("white"),shininess:100*l,side:ia,color:"lightskyblue"}),h.jsx("meshStandardMaterial",{attach:"material-5",color:g})]}),h.jsx(sa,{name:"Heliostat Simulation Plane",uuid:t,args:[i,r],position:[0,0,ie],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),W&&C&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-le,ie],[-q,le,ie],[q,le,ie],[q,-le,ie],[-q,-le,ie]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),W&&!C&&h.jsx(ts,{ref:J,position:new ae(0,0,0),args:[re,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:ge=>{se(ge,yo.Default)},onPointerOut:()=>{oe()},onPointerDown:ge=>{ge.button!==2&&U(t,ge,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})})]}),pe>0&&h.jsx(wa,{userData:{unintersectable:!0},name:"Pole",castShadow:!1,receiveShadow:!1,args:[d,d,pe+a,P.length<100?4:2,1],position:new ae(0,0,ze),rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:g})}),f&&de.z>0&&h.jsx(Fn,{rotation:[-fe.x,0,-fe.z],userData:{unintersectable:!0},points:me?[me,new ae(0,0,ie),de.clone().multiplyScalar(ee)]:[new ae(0,0,ie),de.clone().multiplyScalar(ee)],name:"Sun Beam",lineWidth:.25,color:"white",castShadow:!1,receiveShadow:!1}),(k||x)&&!W&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:he,color:(Z==null?void 0:Z.labelColor)??"white",fontSize:(Z==null?void 0:Z.labelFontSize)??20,textHeight:(Z==null?void 0:Z.labelSize)??.2,castShadow:!1,receiveShadow:!1,position:[0,0,(Z==null?void 0:Z.labelHeight)??Math.max(le*Math.abs(Math.sin(Z.tiltAngle))+.1,.2)]})]})}),pZt=Se.memo(({parentId:t,id:e,cx:n,cy:o,cz:i,name:r=$n.WhiteFlower,flip:a=!1,locked:l=!1})=>{var pe;let s=!1;M(ne=>{if(t===Zo)s=!0;else for(const Z of ne.elements)if(Z.id===t){s=!0;break}});const c=M(hp);m.useEffect(()=>{s||c(e,!1)},[s]);const u=M(dn),d=M(Sc),f=M(hu)??!1,p=M(Ya),g=M(Xs),y=M(O1e)??sq,A=M(_1e)??cq,x=M(Vc),C=M(jn),b=M(Cb),v=M(ey),S=gt(cs),[w,T]=m.useState(!1),{gl:P}=Xi(),R=Hs(e),H=Ln(ne=>ne.contentRef),D=m.useRef(null),E=m.useRef(null),L=m.useRef(null),U=m.useRef(null),F=m.useMemo(()=>C(e),[e]),W=m.useMemo(()=>({lng:d}),[d]),B=m.useMemo(()=>{const ne=be.dayOfYear(new Date(p));return g>0?neA:ne>=y&&ne<=A},[p,y,A,g]),k=m.useRef(!1),N=M(AH);N!==k.current&&(k.current=N,H!=null&&H.current&&D.current&&H.current.add(D.current)),m.useEffect(()=>{if(t!==Zo){const ne=$();ne&&D.current&&ne.add(D.current)}},[N,t]),m.useEffect(()=>{const ne=$();ne&&D.current&&ne.add(D.current)},[H]);const j=m.useMemo(()=>new tf().load(cw.fetchTextureImage(r,B),ne=>{a&&(ne.wrapS=Ss,ne.repeat.x=-1),_(ne)}),[r,B,a]),[Y,_]=m.useState(j),J=m.useMemo(()=>cw.fetchLabel(r,W)+(l?" ("+O.t("shared.ElementLocked",W)+")":"")+` +`+O.t("word.Coordinates",W)+": ("+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",W),[r,n,o,l,W]),Q=m.useCallback((ne,Z)=>{gt.getState().duringCameraInteraction||ne.intersections.length>0&&(ne.intersections[0].object===ne.eventObject||ne.intersections.length>1&&ne.intersections[1].object===ne.eventObject)&&(u(fe=>{fe.hoveredHandle=Z,fe.selectedElementHeight=F.lz}),be.isMoveHandle(Z)?P.domElement.style.cursor="move":P.domElement.style.cursor="pointer")},[F.lz]),ee=m.useCallback(()=>{u(ne=>{ne.hoveredHandle=null}),P.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),$=()=>t!==Zo&&(H!=null&&H.current)?be.getObjectChildById(H.current,t):null,q=m.useMemo(()=>cw.fetchSpread(r),[r]),le=m.useMemo(()=>cw.fetchHeight(r),[r]);rA(({camera:ne})=>{if(D.current){const{rot:Z}=be.getWorldDataById(t);if(f)E.current&&U.current&&(E.current.rotation.set(Vt,0,0),U.current.rotation.set(0,0,0)),D.current.rotation.set(-Vt,0,0);else{if(E.current&&U.current){const{x:he,y:fe}=ne.position,{x:se,y:oe}=D.current.position;if($()){const ve=D.current.localToWorld(new ae),Pe=Math.atan2(he-ve.x,fe-ve.y)+Z;E.current.rotation.set(Vt,-Pe,0),U.current.rotation.set(-Vt,Pe,0)}else{const ve=Math.atan2(he-se,fe-oe);E.current.rotation.set(Vt,-ve,0),U.current.rotation.set(-Vt,ve,0)}}D.current.rotation.set(0,0,0)}}});const ie=Af*3;return h.jsx(h.Fragment,{children:s?h.jsx("group",{ref:D,name:"Flower Group "+e,userData:{aabb:!0},position:[n,o,(i??0)+(f?.25:0)],children:h.jsxs("group",{position:[0,0,le/2],children:[h.jsx(pC,{ref:E,uuid:e,name:r,follow:!1,rotation:[Vt,0,0],children:h.jsx(sa,{args:[q,le],receiveShadow:!S,children:h.jsx("meshToonMaterial",{map:Y,side:ji,alphaTest:.5})})}),h.jsx(pC,{ref:U,name:"Interaction Billboard",visible:!1,position:[0,0,-le/2],children:h.jsx(sa,{ref:L,renderOrder:3,name:r+" plane",args:[q/2,le*2],rotation:[f?Vt:0,0,0],onContextMenu:ne=>{x(e,ne,zo.ContextMenu),u(Z=>{ne.intersections.length>0&&ne.intersections[0].object===L.current&&(Z.contextMenuObjectType=z.Flower)})},onPointerDown:ne=>{ne.button!==2&&ne.eventObject===ne.intersections[0].eventObject&&(x(e,ne,zo.Move),Ln.setState({flowerRef:D}))},onPointerOver:ne=>{ne.intersections.length>0&&ne.intersections[0].object===L.current&&T(!0)},onPointerOut:()=>{T(!1)}})}),R&&l&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q/2,-le/2,0],[-q/2,le/2,0],[-q/2,le/2,0],[q/2,le/2,0],[q/2,-le/2,0],[q/2,le/2,0],[q/2,-le/2,0],[-q/2,-le/2,0]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(pe=E.current)==null?void 0:pe.rotation,color:l0}),R&&!l&&h.jsx(h.Fragment,{children:h.jsx(ts,{position:new ae(0,0,-le/2),args:[ie,6,6,0,Math.PI],name:yo.Default,renderOrder:2,onPointerDown:ne=>{ne.button!==2&&ne.eventObject===ne.intersections[0].eventObject&&(x(e,ne,zo.Move),Ln.setState({flowerRef:D}))},onPointerEnter:ne=>{Q(ne,yo.Default)},onPointerLeave:ee,children:h.jsx("meshBasicMaterial",{attach:"material",color:v===yo.Default||b===yo.Default?nr:jx})})}),w&&!R&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:J,color:(F==null?void 0:F.labelColor)??"white",fontSize:(F==null?void 0:F.labelFontSize)??20,textHeight:(F==null?void 0:F.labelSize)??.2,position:[0,0,le/2+((F==null?void 0:F.labelHeight)??.4)]})]})}):null})});var Nue=function(t,e){return Nue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},Nue(t,e)};function Ti(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Nue(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var N0=function(){return N0=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function tp(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var o=n.call(t),i,r=[],a;try{for(;(e===void 0||e-- >0)&&!(i=o.next()).done;)r.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return r}function pl(t,e,n){if(n||arguments.length===2)for(var o=0,i=e.length,r;o0?yd(YH,--Km):0,hR--,ru===10&&(hR=1,aQ--),ru}function I2(){return ru=Km2||Bue(ru)>3?"":" "}function TZt(t,e){for(;--e&&I2()&&!(ru<48||ru>102||ru>57&&ru<65||ru>70&&ru<97););return sQ(t,__()+(e<6&&yx()==32&&I2()==32))}function jue(t){for(;I2();)switch(ru){case t:return Km;case 34:case 39:t!==34&&t!==39&&jue(ru);break;case 40:t===41&&jue(t);break;case 92:I2();break}return Km}function PZt(t,e){for(;I2()&&t+ru!==57;)if(t+ru===84&&yx()===47)break;return"/*"+sQ(e,Km-1)+"*"+vye(t===47?t:I2())}function CZt(t){for(;!Bue(yx());)I2();return sQ(t,Km)}function RZt(t){return bZt(V_("",null,null,null,[""],t=xZt(t),0,[0],t))}function V_(t,e,n,o,i,r,a,l,s){for(var c=0,u=0,d=a,f=0,p=0,g=0,y=1,A=1,x=1,C=0,b="",v=i,S=r,w=o,T=b;A;)switch(g=C,C=I2()){case 40:if(g!=108&&yd(T,d-1)==58){O_(T+=Pa(Rre(C),"&","&\f"),"&\f",Xqe(c?l[c-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:T+=Rre(C);break;case 9:case 10:case 13:case 32:T+=SZt(g);break;case 92:T+=TZt(__()-1,7);continue;case 47:switch(yx()){case 42:case 47:PD(HZt(PZt(I2(),__()),e,n,s),s);break;default:T+="/"}break;case 123*y:l[c++]=e9(T)*x;case 125*y:case 59:case 0:switch(C){case 0:case 125:A=0;case 59+u:x==-1&&(T=Pa(T,/\f/g,"")),p>0&&e9(T)-d&&PD(p>32?rTe(T+";",o,n,d-1,s):rTe(Pa(T," ","")+";",o,n,d-2,s),s);break;case 59:T+=";";default:if(PD(w=iTe(T,e,n,c,u,i,l,b,v=[],S=[],d,r),r),C===123)if(u===0)V_(T,e,w,w,v,r,d,l,S);else switch(f===99&&yd(T,3)===110?100:f){case 100:case 108:case 109:case 115:V_(t,w,w,o&&PD(iTe(t,w,w,0,0,i,l,b,i,v=[],d,S),S),i,S,d,l,o?v:S);break;default:V_(T,w,w,w,[""],S,0,l,S)}}c=u=p=0,y=x=1,b=T="",d=a;break;case 58:d=1+e9(T),p=g;default:if(y<1){if(C==123)--y;else if(C==125&&y++==0&&vZt()==125)continue}switch(T+=vye(C),C*y){case 38:x=u>0?1:(T+="\f",-1);break;case 44:l[c++]=(e9(T)-1)*x,x=1;break;case 64:yx()===45&&(T+=Rre(I2())),f=yx(),u=d=e9(b=T+=CZt(__())),C++;break;case 45:g===45&&e9(T)==2&&(y=0)}}return r}function iTe(t,e,n,o,i,r,a,l,s,c,u,d){for(var f=i-1,p=i===0?r:[""],g=Kqe(p),y=0,A=0,x=0;y0?p[C]+" "+b:Pa(b,/&\f/g,p[C])))&&(s[x++]=v);return lQ(t,e,n,i===0?rQ:l,s,c,u,d)}function HZt(t,e,n,o){return lQ(t,e,n,Vqe,vye(wZt()),fR(t,2,-2),0,o)}function rTe(t,e,n,o,i){return lQ(t,e,n,wye,fR(t,0,o),fR(t,o+1,-1),o,i)}function $qe(t,e,n){switch(yZt(t,e)){case 5103:return Jl+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Jl+t+t;case 4789:return AE+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return Jl+t+AE+t+ic+t+t;case 5936:switch(yd(t,e+11)){case 114:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"lr")+t}case 6828:case 4268:case 2903:return Jl+t+ic+t+t;case 6165:return Jl+t+ic+"flex-"+t+t;case 5187:return Jl+t+Pa(t,/(\w+).+(:[^]+)/,Jl+"box-$1$2"+ic+"flex-$1$2")+t;case 5443:return Jl+t+ic+"flex-item-"+Pa(t,/flex-|-self/g,"")+(r6(t,/flex-|baseline/)?"":ic+"grid-row-"+Pa(t,/flex-|-self/g,""))+t;case 4675:return Jl+t+ic+"flex-line-pack"+Pa(t,/align-content|flex-|-self/g,"")+t;case 5548:return Jl+t+ic+Pa(t,"shrink","negative")+t;case 5292:return Jl+t+ic+Pa(t,"basis","preferred-size")+t;case 6060:return Jl+"box-"+Pa(t,"-grow","")+Jl+t+ic+Pa(t,"grow","positive")+t;case 4554:return Jl+Pa(t,/([^-])(transform)/g,"$1"+Jl+"$2")+t;case 6187:return Pa(Pa(Pa(t,/(zoom-|grab)/,Jl+"$1"),/(image-set)/,Jl+"$1"),t,"")+t;case 5495:case 3959:return Pa(t,/(image-set\([^]*)/,Jl+"$1$`$1");case 4968:return Pa(Pa(t,/(.+:)(flex-)?(.*)/,Jl+"box-pack:$3"+ic+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Jl+t+t;case 4200:if(!r6(t,/flex-|baseline/))return ic+"grid-column-align"+fR(t,e)+t;break;case 2592:case 3360:return ic+Pa(t,"template-","")+t;case 4384:case 3616:return n&&n.some(function(o,i){return e=i,r6(o.props,/grid-\w+-end/)})?~O_(t+(n=n[e].value),"span",0)?t:ic+Pa(t,"-start","")+t+ic+"grid-row-span:"+(~O_(n,"span",0)?r6(n,/\d+/):+r6(n,/\d+/)-+r6(t,/\d+/))+";":ic+Pa(t,"-start","")+t;case 4896:case 4128:return n&&n.some(function(o){return r6(o.props,/grid-\w+-start/)})?t:ic+Pa(Pa(t,"-end","-span"),"span ","")+t;case 4095:case 3583:case 4068:case 2532:return Pa(t,/(.+)-inline(.+)/,Jl+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(e9(t)-1-e>6)switch(yd(t,e+1)){case 109:if(yd(t,e+4)!==45)break;case 102:return Pa(t,/(.+:)(.+)-([^]+)/,"$1"+Jl+"$2-$3$1"+AE+(yd(t,e+3)==108?"$3":"$2-$3"))+t;case 115:return~O_(t,"stretch",0)?$qe(Pa(t,"stretch","fill-available"),e,n)+t:t}break;case 5152:case 5920:return Pa(t,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(o,i,r,a,l,s,c){return ic+i+":"+r+c+(a?ic+i+"-span:"+(l?s:+s-+r)+c:"")+t});case 4949:if(yd(t,e+6)===121)return Pa(t,":",":"+Jl)+t;break;case 6444:switch(yd(t,yd(t,14)===45?18:11)){case 120:return Pa(t,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Jl+(yd(t,14)===45?"inline-":"")+"box$3$1"+Jl+"$2$3$1"+ic+"$2box$3")+t;case 100:return Pa(t,":",":"+ic)+t}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Pa(t,"scroll-","scroll-snap-")+t}return t}function XG(t,e){for(var n="",o=0;o-1&&!t.return)switch(t.type){case wye:t.return=$qe(t.value,t.length,n);return;case Gqe:return XG([k4(t,{value:Pa(t.value,"@","@"+Jl)})],o);case rQ:if(t.length)return AZt(n=t.props,function(i){switch(r6(i,o=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":LT(k4(t,{props:[Pa(i,/:(read-\w+)/,":"+AE+"$1")]})),LT(k4(t,{props:[i]})),Uue(t,{props:oTe(n,o)});break;case"::placeholder":LT(k4(t,{props:[Pa(i,/:(plac\w+)/,":"+Jl+"input-$1")]})),LT(k4(t,{props:[Pa(i,/:(plac\w+)/,":"+AE+"$1")]})),LT(k4(t,{props:[Pa(i,/:(plac\w+)/,ic+"input-$1")]})),LT(k4(t,{props:[i]})),Uue(t,{props:oTe(n,o)});break}return""})}}var EZt={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},G1={},pR=typeof process<"u"&&G1!==void 0&&(G1.REACT_APP_SC_ATTR||G1.SC_ATTR)||"data-styled",Qqe="active",Zqe="data-styled-version",cQ="6.1.10",xye=`/*!sc*/ +`,bye=typeof window<"u"&&"HTMLElement"in window,kZt=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof process<"u"&&G1!==void 0&&G1.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&G1.REACT_APP_SC_DISABLE_SPEEDY!==""?G1.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&G1.REACT_APP_SC_DISABLE_SPEEDY:typeof process<"u"&&G1!==void 0&&G1.SC_DISABLE_SPEEDY!==void 0&&G1.SC_DISABLE_SPEEDY!==""&&G1.SC_DISABLE_SPEEDY!=="false"&&G1.SC_DISABLE_SPEEDY),uQ=Object.freeze([]),gR=Object.freeze({});function FZt(t,e,n){return n===void 0&&(n=gR),t.theme!==n.theme&&t.theme||e||n.theme}var e$e=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),LZt=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,WZt=/(^-|-$)/g;function aTe(t){return t.replace(LZt,"-").replace(WZt,"")}var NZt=/(a)(d)/gi,oO=52,lTe=function(t){return String.fromCharCode(t+(t>25?39:97))};function Yue(t){var e,n="";for(e=Math.abs(t);e>oO;e=e/oO|0)n=lTe(e%oO)+n;return(lTe(e%oO)+n).replace(NZt,"$1-$2")}var Hre,t$e=5381,KP=function(t,e){for(var n=e.length;n;)t=33*t^e.charCodeAt(--n);return t},n$e=function(t){return KP(t$e,t)};function UZt(t){return Yue(n$e(t)>>>0)}function BZt(t){return t.displayName||t.name||"Component"}function Mre(t){return typeof t=="string"&&!0}var o$e=typeof Symbol=="function"&&Symbol.for,i$e=o$e?Symbol.for("react.memo"):60115,jZt=o$e?Symbol.for("react.forward_ref"):60112,YZt={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},OZt={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r$e={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},_Zt=((Hre={})[jZt]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Hre[i$e]=r$e,Hre);function sTe(t){return("type"in(e=t)&&e.type.$$typeof)===i$e?r$e:"$$typeof"in t?_Zt[t.$$typeof]:YZt;var e}var VZt=Object.defineProperty,GZt=Object.getOwnPropertyNames,cTe=Object.getOwnPropertySymbols,XZt=Object.getOwnPropertyDescriptor,JZt=Object.getPrototypeOf,uTe=Object.prototype;function a$e(t,e,n){if(typeof e!="string"){if(uTe){var o=JZt(e);o&&o!==uTe&&a$e(t,o,n)}var i=GZt(e);cTe&&(i=i.concat(cTe(e)));for(var r=sTe(t),a=sTe(e),l=0;l0?" Args: ".concat(e.join(", ")):""))}var KZt=function(){function t(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return t.prototype.indexOfGroup=function(e){for(var n=0,o=0;o=this.groupSizes.length){for(var o=this.groupSizes,i=o.length,r=i;e>=r;)if((r<<=1)<0)throw ZW(16,"".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(o),this.length=r;for(var a=i;a=this.length||this.groupSizes[e]===0)return n;for(var o=this.groupSizes[e],i=this.indexOfGroup(e),r=i+o,a=i;a=0){var o=document.createTextNode(n);return this.element.insertBefore(o,this.nodes[e]||null),this.length++,!0}return!1},t.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.prototype.getRule=function(e){return e0&&(A+="".concat(x,","))}),s+="".concat(g).concat(y,'{content:"').concat(A,'"}').concat(xye)},u=0;u0?".".concat(e):f},u=s.slice();u.push(function(f){f.type===rQ&&f.value.includes("&")&&(f.props[0]=f.props[0].replace(aen,n).replace(o,c))}),a.prefix&&u.push(DZt),u.push(MZt);var d=function(f,p,g,y){p===void 0&&(p=""),g===void 0&&(g=""),y===void 0&&(y="&"),e=y,n=p,o=new RegExp("\\".concat(n,"\\b"),"g");var A=f.replace(len,""),x=RZt(g||p?"".concat(g," ").concat(p," { ").concat(A," }"):A);a.namespace&&(x=c$e(x,a.namespace));var C=[];return XG(x,IZt(u.concat(zZt(function(b){return C.push(b)})))),C};return d.hash=s.length?s.reduce(function(f,p){return p.name||ZW(15),KP(f,p.name)},t$e).toString():"",d}var cen=new s$e,_ue=sen(),u$e=Se.createContext({shouldForwardProp:void 0,styleSheet:cen,stylis:_ue});u$e.Consumer;Se.createContext(void 0);function hTe(){return m.useContext(u$e)}var uen=function(){function t(e,n){var o=this;this.inject=function(i,r){r===void 0&&(r=_ue);var a=o.name+r.hash;i.hasNameForId(o.id,a)||i.insertRules(o.id,a,r(o.rules,a,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=n,Tye(this,function(){throw ZW(12,String(o.name))})}return t.prototype.getName=function(e){return e===void 0&&(e=_ue),this.name+e.hash},t}(),den=function(t){return t>="A"&&t<="Z"};function pTe(t){for(var e="",n=0;n>>0);if(!n.hasNameForId(this.componentId,a)){var l=o(r,".".concat(a),void 0,this.componentId);n.insertRules(this.componentId,a,l)}i=Bv(i,a),this.staticRulesId=a}else{for(var s=KP(this.baseHash,o.hash),c="",u=0;u>>0);n.hasNameForId(this.componentId,p)||n.insertRules(this.componentId,p,o(c,".".concat(p),void 0,this.componentId)),i=Bv(i,p)}}return i},t}(),h$e=Se.createContext(void 0);h$e.Consumer;var Ire={};function gen(t,e,n){var o=Sye(t),i=t,r=!Mre(t),a=e.attrs,l=a===void 0?uQ:a,s=e.componentId,c=s===void 0?function(v,S){var w=typeof v!="string"?"sc":aTe(v);Ire[w]=(Ire[w]||0)+1;var T="".concat(w,"-").concat(UZt(cQ+w+Ire[w]));return S?"".concat(S,"-").concat(T):T}(e.displayName,e.parentComponentId):s,u=e.displayName,d=u===void 0?function(v){return Mre(v)?"styled.".concat(v):"Styled(".concat(BZt(v),")")}(t):u,f=e.displayName&&e.componentId?"".concat(aTe(e.displayName),"-").concat(e.componentId):e.componentId||c,p=o&&i.attrs?i.attrs.concat(l).filter(Boolean):l,g=e.shouldForwardProp;if(o&&i.shouldForwardProp){var y=i.shouldForwardProp;if(e.shouldForwardProp){var A=e.shouldForwardProp;g=function(v,S){return y(v,S)&&A(v,S)}}else g=y}var x=new pen(n,f,o?i.componentStyle:void 0);function C(v,S){return function(w,T,P){var R=w.attrs,H=w.componentStyle,D=w.defaultProps,E=w.foldedComponentIds,L=w.styledComponentId,U=w.target,F=Se.useContext(h$e),W=hTe(),B=w.shouldForwardProp||W.shouldForwardProp,k=FZt(T,F,D)||gR,N=function(ee,$,q){for(var le,ie=N0(N0({},$),{className:void 0,theme:q}),pe=0;pe{const t=M(dn),e=M(ha),n=gt(cge),o=M(gq),i=Kt(),r=()=>{gt.getState().set(c=>{c.runDailyThermalSimulation=!1,c.runYearlyThermalSimulation=!1,c.pauseDailyThermalSimulation=!1,c.pauseYearlyThermalSimulation=!1,c.runStaticSimulation=!1,c.runDynamicSimulation=!1,c.pauseSimulation=!1,c.runDailyLightSensor=!1,c.runYearlyLightSensor=!1,c.pauseDailyLightSensor=!1,c.pauseYearlyLightSensor=!1,c.runDailySimulationForSolarPanels=!1,c.runYearlySimulationForSolarPanels=!1,c.pauseDailySimulationForSolarPanels=!1,c.pauseYearlySimulationForSolarPanels=!1,c.runDailySimulationForParabolicTroughs=!1,c.runYearlySimulationForParabolicTroughs=!1,c.pauseDailySimulationForParabolicTroughs=!1,c.pauseYearlySimulationForParabolicTroughs=!1,c.runDailySimulationForParabolicDishes=!1,c.runYearlySimulationForParabolicDishes=!1,c.pauseDailySimulationForParabolicDishes=!1,c.pauseYearlySimulationForParabolicDishes=!1,c.runDailySimulationForFresnelReflectors=!1,c.runYearlySimulationForFresnelReflectors=!1,c.pauseDailySimulationForFresnelReflectors=!1,c.pauseYearlySimulationForFresnelReflectors=!1,c.runDailySimulationForHeliostats=!1,c.runYearlySimulationForHeliostats=!1,c.pauseDailySimulationForHeliostats=!1,c.pauseYearlySimulationForHeliostats=!1}),t(c=>{e&&(c.actionInfo={name:"Cancel Simulation",timestamp:new Date().getTime()})})},a=()=>{gt.getState().set(c=>{c.runDailyThermalSimulation&&(c.pauseDailyThermalSimulation=!0),c.runYearlyThermalSimulation&&(c.pauseYearlyThermalSimulation=!0),c.runDynamicSimulation&&(c.pauseSimulation=!0),c.runDailyLightSensor&&(c.pauseDailyLightSensor=!0),c.runYearlyLightSensor&&(c.pauseYearlyLightSensor=!0),c.runDailySimulationForSolarPanels&&(c.pauseDailySimulationForSolarPanels=!0),c.runYearlySimulationForSolarPanels&&(c.pauseYearlySimulationForSolarPanels=!0),c.runDailySimulationForParabolicTroughs&&(c.pauseDailySimulationForParabolicTroughs=!0),c.runYearlySimulationForParabolicTroughs&&(c.pauseYearlySimulationForParabolicTroughs=!0),c.runDailySimulationForParabolicDishes&&(c.pauseDailySimulationForParabolicDishes=!0),c.runYearlySimulationForParabolicDishes&&(c.pauseYearlySimulationForParabolicDishes=!0),c.runDailySimulationForFresnelReflectors&&(c.pauseDailySimulationForFresnelReflectors=!0),c.runYearlySimulationForFresnelReflectors&&(c.pauseYearlySimulationForFresnelReflectors=!0),c.runDailySimulationForHeliostats&&(c.pauseDailySimulationForHeliostats=!0),c.runYearlySimulationForHeliostats&&(c.pauseYearlySimulationForHeliostats=!0)}),t(c=>{e&&(c.actionInfo={name:"Pause Simulation",timestamp:new Date().getTime()})})},l=()=>{gt.getState().set(c=>{c.runDailyThermalSimulation&&(c.pauseDailyThermalSimulation=!1),c.runYearlyThermalSimulation&&(c.pauseYearlyThermalSimulation=!1),c.runDynamicSimulation&&(c.pauseSimulation=!1),c.runDailyLightSensor&&(c.pauseDailyLightSensor=!1),c.runYearlyLightSensor&&(c.pauseYearlyLightSensor=!1),c.runDailySimulationForSolarPanels&&(c.pauseDailySimulationForSolarPanels=!1),c.runYearlySimulationForSolarPanels&&(c.pauseYearlySimulationForSolarPanels=!1),c.runDailySimulationForParabolicTroughs&&(c.pauseDailySimulationForParabolicTroughs=!1),c.runYearlySimulationForParabolicTroughs&&(c.pauseYearlySimulationForParabolicTroughs=!1),c.runDailySimulationForParabolicDishes&&(c.pauseDailySimulationForParabolicDishes=!1),c.runYearlySimulationForParabolicDishes&&(c.pauseYearlySimulationForParabolicDishes=!1),c.runDailySimulationForFresnelReflectors&&(c.pauseDailySimulationForFresnelReflectors=!1),c.runYearlySimulationForFresnelReflectors&&(c.pauseYearlySimulationForFresnelReflectors=!1),c.runDailySimulationForHeliostats&&(c.pauseDailySimulationForHeliostats=!1),c.runYearlySimulationForHeliostats&&(c.pauseYearlySimulationForHeliostats=!1)}),t(c=>{e&&(c.actionInfo={name:"Resume Simulation",timestamp:new Date().getTime()})})},{t:s}=jl();return h.jsx(wen,{style:{bottom:o?"42px":"6px"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[h.jsx(no,{type:"primary",onClick:r,title:s("message.CancelSimulation",i),children:s("word.Cancel",i)}),!n&&h.jsx(no,{type:"primary",onClick:a,title:s("message.PauseSimulation",i),children:s("word.Pause",i)}),n&&h.jsx(no,{type:"primary",onClick:l,title:s("message.ResumeSimulation",i),children:s("word.Resume",i)})]})})}),xen=Ho.div` +`,Aen=Se.memo(()=>{const t=M(dn),e=M(ha),n=gt(cge),o=M(gq),i=Kt(),r=()=>{gt.getState().set(c=>{c.runDailyThermalSimulation=!1,c.runYearlyThermalSimulation=!1,c.pauseDailyThermalSimulation=!1,c.pauseYearlyThermalSimulation=!1,c.runStaticSimulation=!1,c.runDynamicSimulation=!1,c.pauseSimulation=!1,c.runDailyLightSensor=!1,c.runYearlyLightSensor=!1,c.pauseDailyLightSensor=!1,c.pauseYearlyLightSensor=!1,c.runDailySimulationForSolarPanels=!1,c.runYearlySimulationForSolarPanels=!1,c.pauseDailySimulationForSolarPanels=!1,c.pauseYearlySimulationForSolarPanels=!1,c.runDailySimulationForParabolicTroughs=!1,c.runYearlySimulationForParabolicTroughs=!1,c.pauseDailySimulationForParabolicTroughs=!1,c.pauseYearlySimulationForParabolicTroughs=!1,c.runDailySimulationForParabolicDishes=!1,c.runYearlySimulationForParabolicDishes=!1,c.pauseDailySimulationForParabolicDishes=!1,c.pauseYearlySimulationForParabolicDishes=!1,c.runDailySimulationForFresnelReflectors=!1,c.runYearlySimulationForFresnelReflectors=!1,c.pauseDailySimulationForFresnelReflectors=!1,c.pauseYearlySimulationForFresnelReflectors=!1,c.runDailySimulationForHeliostats=!1,c.runYearlySimulationForHeliostats=!1,c.pauseDailySimulationForHeliostats=!1,c.pauseYearlySimulationForHeliostats=!1}),t(c=>{e&&(c.actionInfo={name:"Cancel Simulation",timestamp:new Date().getTime()})})},a=()=>{gt.getState().set(c=>{c.runDailyThermalSimulation&&(c.pauseDailyThermalSimulation=!0),c.runYearlyThermalSimulation&&(c.pauseYearlyThermalSimulation=!0),c.runDynamicSimulation&&(c.pauseSimulation=!0),c.runDailyLightSensor&&(c.pauseDailyLightSensor=!0),c.runYearlyLightSensor&&(c.pauseYearlyLightSensor=!0),c.runDailySimulationForSolarPanels&&(c.pauseDailySimulationForSolarPanels=!0),c.runYearlySimulationForSolarPanels&&(c.pauseYearlySimulationForSolarPanels=!0),c.runDailySimulationForParabolicTroughs&&(c.pauseDailySimulationForParabolicTroughs=!0),c.runYearlySimulationForParabolicTroughs&&(c.pauseYearlySimulationForParabolicTroughs=!0),c.runDailySimulationForParabolicDishes&&(c.pauseDailySimulationForParabolicDishes=!0),c.runYearlySimulationForParabolicDishes&&(c.pauseYearlySimulationForParabolicDishes=!0),c.runDailySimulationForFresnelReflectors&&(c.pauseDailySimulationForFresnelReflectors=!0),c.runYearlySimulationForFresnelReflectors&&(c.pauseYearlySimulationForFresnelReflectors=!0),c.runDailySimulationForHeliostats&&(c.pauseDailySimulationForHeliostats=!0),c.runYearlySimulationForHeliostats&&(c.pauseYearlySimulationForHeliostats=!0)}),t(c=>{e&&(c.actionInfo={name:"Pause Simulation",timestamp:new Date().getTime()})})},l=()=>{gt.getState().set(c=>{c.runDailyThermalSimulation&&(c.pauseDailyThermalSimulation=!1),c.runYearlyThermalSimulation&&(c.pauseYearlyThermalSimulation=!1),c.runDynamicSimulation&&(c.pauseSimulation=!1),c.runDailyLightSensor&&(c.pauseDailyLightSensor=!1),c.runYearlyLightSensor&&(c.pauseYearlyLightSensor=!1),c.runDailySimulationForSolarPanels&&(c.pauseDailySimulationForSolarPanels=!1),c.runYearlySimulationForSolarPanels&&(c.pauseYearlySimulationForSolarPanels=!1),c.runDailySimulationForParabolicTroughs&&(c.pauseDailySimulationForParabolicTroughs=!1),c.runYearlySimulationForParabolicTroughs&&(c.pauseYearlySimulationForParabolicTroughs=!1),c.runDailySimulationForParabolicDishes&&(c.pauseDailySimulationForParabolicDishes=!1),c.runYearlySimulationForParabolicDishes&&(c.pauseYearlySimulationForParabolicDishes=!1),c.runDailySimulationForFresnelReflectors&&(c.pauseDailySimulationForFresnelReflectors=!1),c.runYearlySimulationForFresnelReflectors&&(c.pauseYearlySimulationForFresnelReflectors=!1),c.runDailySimulationForHeliostats&&(c.pauseDailySimulationForHeliostats=!1),c.runYearlySimulationForHeliostats&&(c.pauseYearlySimulationForHeliostats=!1)}),t(c=>{e&&(c.actionInfo={name:"Resume Simulation",timestamp:new Date().getTime()})})},{t:s}=jl();return h.jsx(yen,{style:{bottom:o?"42px":"6px"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[h.jsx(no,{type:"primary",onClick:r,title:s("message.CancelSimulation",i),children:s("word.Cancel",i)}),!n&&h.jsx(no,{type:"primary",onClick:a,title:s("message.PauseSimulation",i),children:s("word.Pause",i)}),n&&h.jsx(no,{type:"primary",onClick:l,title:s("message.ResumeSimulation",i),children:s("word.Resume",i)})]})})}),wen=Ho.div` position: absolute; left: calc(100vw / 2 - 50px); width: 100px; @@ -4847,7 +4847,7 @@ function print() { __p += __j.call(arguments, '') } opacity: 100%; user-select: none; z-index: 10000; // must be larger than that of the spinner so that this can be clicked -`,ben=Se.memo(()=>{const t=M(dn),e=M(ha),n=gt(zje),o=M(gq),{t:i}=jl(),r=Kt(),a=()=>{gt.getState().set(c=>{c.runStaticSimulation=!1,c.pauseSimulation=!1,c.runEvolution=!1,c.pauseEvolution=!1}),e&&t(c=>{c.actionInfo={name:"Cancel Evolution",timestamp:new Date().getTime()}})},l=()=>{gt.getState().set(c=>{c.pauseSimulation=!0,c.runEvolution&&(c.pauseEvolution=!0)}),e&&t(c=>{c.actionInfo={name:"Pause Evolution",timestamp:new Date().getTime()}})},s=()=>{gt.getState().set(c=>{c.pauseSimulation=!1,c.runEvolution&&(c.pauseEvolution=!1)}),e&&t(c=>{c.actionInfo={name:"Resume Evolution",timestamp:new Date().getTime()}})};return h.jsx(xen,{style:{bottom:o?"42px":"6px"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[h.jsx(no,{type:"primary",onClick:a,title:i("message.CancelEvolution",r),children:i("word.Cancel",r)}),!n&&h.jsx(no,{type:"primary",onClick:l,title:i("message.PauseEvolution",r),children:i("word.Pause",r)}),n&&h.jsx(no,{type:"primary",onClick:s,title:i("message.ResumeEvolution",r),children:i("word.Resume",r)})]})})}),dQ=Ho(LW)` +`,ven=Se.memo(()=>{const t=M(dn),e=M(ha),n=gt(zje),o=M(gq),{t:i}=jl(),r=Kt(),a=()=>{gt.getState().set(c=>{c.runStaticSimulation=!1,c.pauseSimulation=!1,c.runEvolution=!1,c.pauseEvolution=!1}),e&&t(c=>{c.actionInfo={name:"Cancel Evolution",timestamp:new Date().getTime()}})},l=()=>{gt.getState().set(c=>{c.pauseSimulation=!0,c.runEvolution&&(c.pauseEvolution=!0)}),e&&t(c=>{c.actionInfo={name:"Pause Evolution",timestamp:new Date().getTime()}})},s=()=>{gt.getState().set(c=>{c.pauseSimulation=!1,c.runEvolution&&(c.pauseEvolution=!1)}),e&&t(c=>{c.actionInfo={name:"Resume Evolution",timestamp:new Date().getTime()}})};return h.jsx(wen,{style:{bottom:o?"42px":"6px"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[h.jsx(no,{type:"primary",onClick:a,title:i("message.CancelEvolution",r),children:i("word.Cancel",r)}),!n&&h.jsx(no,{type:"primary",onClick:l,title:i("message.PauseEvolution",r),children:i("word.Pause",r)}),n&&h.jsx(no,{type:"primary",onClick:s,title:i("message.ResumeEvolution",r),children:i("word.Resume",r)})]})})}),dQ=Ho(LW)` position: fixed; top: 0; left: 0; @@ -4859,8 +4859,8 @@ function print() { __p += __j.call(arguments, '') } align-items: center; background-color: rgba(255, 255, 255, 0.5); z-index: 9999; -`,Sen=Se.memo(function({initializing:e}){const n=gt(qwt),o=gt(vf),i=gt(Ije),r=gt(cge),a=gt(zje),l=M(G1e),s=M(X1e),c=M(V1e),u=M(WBe),d=M(f4t),f=gt(Wje),p=gt(Nje),g=gt(aYe),y=gt(lYe),A=gt(eYe),x=gt(tYe),C=gt(ZL),b=gt(QL),v=gt(Aq),S=M.getState().elements;return h.jsx(h.Fragment,{children:(e||n||o||i)&&h.jsxs(h.Fragment,{children:[o&&(!c&&C||!d&&(b||v)||!l&&(g||y)||!u&&(A||x)||!s&&(f||p)||be.hasMovingParts(S))&&h.jsx(ven,{}),i&&h.jsx(ben,{}),h.jsx(dQ,{spinning:!r||!a})]})})}),Ten=()=>{if(M(AH),!gt.getState().waiting)return null;const e=()=>(m.useEffect(()=>(gt.getState().set(n=>{n.waiting=!1}),()=>{gt.getState().set(n=>{n.waiting=!1})})),null);return h.jsx(e,{})},Pen=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,lz:r,birdSafe:a=lc.None,numberOfBlades:l=3,speed:s=10,hubRadius:c=.75,hubLength:u=1.5,maximumChordRadius:d=3,maximumChordLength:f=1,towerHeight:p,towerRadius:g,bladeRadius:y,bladeTipWidth:A=.2,bladeRootRadius:x=.3,rotation:C=[0,0,0],relativeYawAngle:b=0,initialRotorAngle:v=0,pitchAngle:S=be.toRadians(10),color:w="white",bladeColor:T=X5,stripeColor:P=J5,lineColor:R="black",lineWidth:H=.5,showLabel:D=!1,locked:E=!1,parentId:L})=>{const U=M(dn),F=M(jn),W=M(Vc),B=Hs(t),k=M(ss),N=M(Ya),{gl:{domElement:j}}=Xi(),[Y,_]=m.useState(!1),J=m.useRef(null),Q=m.useRef(null),ee=m.useRef(!1),$=Kt(),q=m.useMemo(()=>be.fetchBladeTexture(y,x*2,100,a,T,P),[x,y,a,T,P]),le=M(ze=>{for(const Ae of ze.elements)if(Ae.id===L)return Ae});if(le)switch(le.type){case z.Foundation:if(o=le.lz,be.isZero(C[2]))e=le.cx+e*le.lx,n=le.cy+n*le.ly;else{const ze=new ae(e*le.lx,n*le.ly,0);ze.applyAxisAngle(Po,C[2]),e=le.cx+ze.x,n=le.cy+ze.y}break}const ie=F(t),pe=c*1.25,ne=u*2.5,Z=y-d/3,he=m.useMemo(()=>{const ze=f-x,Ae=new Ml,re=[];return re.push(new Gt(-x,0)),re.push(new Gt(-ze/2,y-Z)),re.push(new Gt(-ze,d)),re.push(new Gt(x-A,y)),Ae.moveTo(-x,0),Ae.splineThru(re),Ae.lineTo(x,y),Ae.lineTo(x,0),Ae.closePath(),Ae},[y,Z,f,d,x,A]),fe=m.useMemo(()=>{const ze=new Date(N);return v+s*(ze.getHours()*60+ze.getMinutes())*Math.PI/72},[N,s,v]);m.useEffect(()=>{const ze=()=>{Ln.getState().setEnableOrbitController(!0),ee.current=!1};return window.addEventListener("pointerup",ze),()=>{window.removeEventListener("pointerup",ze)}},[]);const se=m.useMemo(()=>(ie!=null&&ie.label?ie.label:O.t("shared.WindTurbineElement",$))+(ie!=null&&ie.locked?" ("+O.t("shared.ElementLocked",$)+")":"")+(ie!=null&&ie.label?"":` -`+O.t("word.Coordinates",$)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",$)),[ie==null?void 0:ie.label,ie==null?void 0:ie.locked,$,e,n,o]),oe=m.useMemo(()=>new Qt(0,0,C[2]+b,"ZXY"),[C,b]),de=(ze,Ae)=>{ze.intersections.length>0&&ze.intersections[0].object===ze.eventObject&&(j.style.cursor=Ae===yo.Default?"move":"pointer")},ve=()=>{j.style.cursor="default"},Pe=Af*4,me=m.useMemo(()=>{const ze=Math.PI*2/l,Ae=new Array;for(let re=0;reh.jsxs("group",{position:new ae(0,-u*.85,p),rotation:[Vt,S,Ae,"XZY"],children:[h.jsxs("mesh",{name:"Blade "+ze+" Font Side",receiveShadow:k,castShadow:k,children:[h.jsx("shapeGeometry",{attach:"geometry",args:[he]}),h.jsx("meshStandardMaterial",{attach:"material",color:T,side:ia,map:re})]}),h.jsxs("mesh",{name:"Blade "+ze+" Back Side",receiveShadow:k,castShadow:k,position:new ae(0,-.05,0),children:[h.jsx("shapeGeometry",{attach:"geometry",args:[he]}),h.jsx("meshStandardMaterial",{attach:"material",color:T,side:p0,map:re})]}),h.jsx(wa,{name:"Blade root",castShadow:!1,receiveShadow:!1,args:[x*1.1,x*1.1,.24,12,1],position:new ae(0,c-.14,0),children:h.jsx("meshStandardMaterial",{attach:"material",color:w})})]},ze);return h.jsxs("group",{name:"Wind Turbine Group "+t,rotation:oe,position:[e,n,o],children:[h.jsx("group",{children:B&&!E&&h.jsx(ts,{ref:Q,position:new ae(0,0,0),args:[Pe+g,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:ze=>{de(ze,yo.Default)},onPointerOut:()=>{ve()},onPointerDown:ze=>{ze.button!==2&&W(t,ze,zo.Move)},children:h.jsx("meshStandardMaterial",{attach:"material",color:"orange"})})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Tower",ref:J,castShadow:k,receiveShadow:k,args:[g*.8,g*1.2,p,4,1],position:new ae(0,0,p*.5),rotation:[Vt,0,0],onPointerDown:ze=>{ze.button!==2&&(W(t,ze,zo.Select),Ln.getState().setEnableOrbitController(!1))},onContextMenu:ze=>{W(t,ze,zo.ContextMenu),U(Ae=>{ze.intersections.length>0&&ze.intersections[0].object===J.current&&(Ae.contextMenuObjectType=z.WindTurbine)})},onPointerOver:ze=>{ze.intersections.length>0&&ze.intersections[0].object===J.current&&(_(!0),j.style.cursor="move")},onPointerOut:()=>{_(!1),j.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:w})}),h.jsx(ts,{userData:{unintersectable:!0},name:"Hub",castShadow:k,receiveShadow:k,args:[c,8,8,Vt,Math.PI,0,Math.PI],position:new ae(0,-u*.5,p),rotation:[Math.PI,0,Vt],scale:[u/c,1,1],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Hub Cap",castShadow:k,receiveShadow:k,args:[c,c,.01,16,1],position:new ae(0,-u*.5,p),rotation:[Math.PI,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})}),h.jsx(G6t,{userData:{unintersectable:!0},name:"Nacelle",castShadow:k,receiveShadow:k,radius:.1,smoothness:4,args:[pe,pe,ne],position:new ae(0,(ne-u)*.5-.1,p),rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})}),a!==lc.None&&me.map((ze,Ae)=>Re(Ae,ze,q)),a===lc.None&&me.map((ze,Ae)=>Re(Ae,ze,null)),B&&E&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-i/2,0,0],[-i/2,r,0],[-i/2,r,0],[i/2,r,0],[i/2,0,0],[i/2,r,0],[i/2,0,0],[-i/2,0,0]],rotation:[Vt,0,0],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),(Y||D)&&!B&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:se,color:(ie==null?void 0:ie.labelColor)??"white",fontSize:(ie==null?void 0:ie.labelFontSize)??20,textHeight:(ie==null?void 0:ie.labelSize)??1,castShadow:!1,receiveShadow:!1,position:[0,0,1+p+c]})]})}),Cen=Se.memo(()=>{const t=M(Jn),e=m.useRef(null);return m.useEffect(()=>{e&&Ln.setState({contentRef:e})},[]),console.debug(t),h.jsxs("group",{ref:e,name:"Content",children:[t.map(n=>{switch(n.type){case z.Foundation:return h.jsx(B$t,{...n},n.id);case z.Sensor:{const o=n;return o.parentType===z.Cuboid?null:h.jsx(Fqe,{...o},n.id)}case z.Light:{const o=n;return o.parentType===z.Cuboid?null:h.jsx(Lqe,{...o},n.id)}case z.Cuboid:return n.parentId!==Zo?null:h.jsx(Uqe,{elements:t,cuboidModel:n},n.id);case z.Human:return h.jsx(uZt,{...n},n.id);case z.Tree:return h.jsx(dZt,{...n},n.id);case z.Flower:return h.jsx(mZt,{...n},n.id);case z.ParabolicDish:return h.jsx(hZt,{...n},n.id);case z.ParabolicTrough:return h.jsx(fZt,{...n},n.id);case z.FresnelReflector:return h.jsx(pZt,{...n},n.id);case z.Heliostat:return h.jsx(gZt,{...n},n.id);case z.WindTurbine:return h.jsx(Pen,{...n},n.id);case z.Polygon:switch(n.parentType){case z.Wall:return null;default:return h.jsx(Iqe,{...n},n.id)}default:if(n.id)return h.jsx(Se.Fragment,{},n.id)}return null}),h.jsx(Ten,{}),h.jsx(Ren,{})]})}),Ren=()=>{const t=M(hge);return m.useEffect(()=>{M.getState().set(e=>{e.deletedRoofIdSet.clear()})},[t]),null},Hen=Se.memo(()=>{const t=M(dn),e=M(xb),n=M(vH),o=M(e3),i=M(ige),r=M(sge),a=M(jn),l=M(t3),s=M(oge),c=M(hp),u=M(ege),d=M(dge),f=M(En),p=M(H7),g=M(KBe),y=M(Cq),A=M(Cb),x=M(yh),C=M(sW),b=M(L8t),v=M(ss),S=M(wBe),w=M(vBe),T=M(Ge=>Ge.world.ground),P=M(W8t),R=M(N8t),H=gt(cs),{get:D,scene:E,invalidate:L}=Xi(),U=m.useRef(null),F=m.useRef(null),W=m.useRef(null),B=m.useRef(new ae),k=m.useRef(new ae),N=m.useRef(new Map),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(new Map),J=m.useRef(new Map),Q=m.useRef(new Map),ee=m.useRef(new Map),$=m.useRef(new Map),q=m.useRef(new ae(1,1,1)),le=m.useRef(new ae(1,1,1)),ie=m.useRef([0,0,1]),pe=m.useRef([0,0,1]),ne=m.useRef(null),Z=m.useRef(null),he=m.useRef(new Map),fe=m.useRef(new Map),se=m.useRef(new Map),oe=m.useRef(!1),de=m.useRef(!1),ve=m.useRef(!1),Pe=m.useRef(!1),me=m.useRef(!1),Re=m.useRef(new Map),ze=m.useRef(new Map),Ae=m.useRef(new Map),re=m.useRef(new ae),ge=Kt();m.useEffect(()=>(window.addEventListener("pointerup",Oe),()=>{window.removeEventListener("pointerup",Oe)}),[]),m.useEffect(()=>{P&&(t(Ge=>{Ge.addedFoundationId=null,Ge.deletedFoundationId=null}),oe.current=!1,de.current=!1)},[P]),m.useEffect(()=>{R&&(t(Ge=>{Ge.addedCuboidId=null,Ge.deletedCuboidId=null}),ve.current=!1,Pe.current=!1)},[R]);const{camera:we}=Xi(),ye=m.useMemo(()=>new Gs,[]),Te=m.useMemo(()=>new Gt,[]),Ie=W.current?Math.cos(W.current.rotation[2]):1,Ce=W.current?Math.sin(W.current.rotation[2]):0;let Ee=Kf.Ground;const Ue=m.useMemo(()=>new ae,[]),Ne=m.useMemo(()=>new Qt,[]),Le=m.useMemo(()=>new Qt,[]);if(W.current){if(be.isPlantOrHuman(W.current)){Ee=Kf.Vertical;const Ge=M.getState().viewState.orthographic?0:-Vt,{x:xt,y:It}=we.position,Tt=-Math.atan2(xt,It);Ne.set(Ge,0,Tt,"ZXY"),Ue.set(W.current.cx,W.current.cy,0)}else if(A===yo.Top)Ee=Kf.Horizontal,Ue.set(W.current.cx,W.current.cy,W.current.lz),Ne.set(0,0,0);else if(be.isMoveHandle(A)||x===yt.Left||x===yt.Right||x===yt.Lower||x===yt.Upper||x===yt.LowerLeft||x===yt.UpperLeft&&W.current.type!==z.Wall||x===yt.LowerRight||x===yt.UpperRight&&W.current.type!==z.Wall||C===wi.Lower||C===wi.Upper)Ee=Kf.Horizontal,Ue.set(W.current.cx,W.current.cy,Af),Ne.set(0,0,0);else if(x){Ee=Kf.Vertical;const Ge=d(W.current,x),xt=u(),It=-Math.atan2(xt.x,xt.y);Ue.set(Ge.x,Ge.y,0),Ne.set(-Vt,0,It,"ZXY")}}const qe=Ge=>{Te.x=Ge.offsetX/D().gl.domElement.clientWidth*2-1,Te.y=-(Ge.offsetY/D().gl.domElement.clientHeight)*2+1,ye.setFromCamera(Te,D().camera)},We=Ge=>{for(const xt of Ge)if(xt.object.userData.stand)return xt;return null},De=(Ge,xt)=>{Ge&&t(It=>{for(const Tt of It.elements)if(Tt.id===xt&&Tt.type!==z.Foundation){Tt.parentId=Ge;break}})},Fe=Ge=>{if(!Ge)return"";const xt=Ge.name.split(" ");return xt[2]?xt[2]:Fe(Ge.parent)},_e=(Ge,xt,It)=>{if(!Ge||!xt)return;const Tt=Ln.getState().contentRef;if(Tt!=null&&Tt.current){const Dt=be.getObjectChildById(Tt.current,xt),Lt=be.getObjectChildById(xt===Zo?Tt.current:Dt,It);if(Lt){if(Ge===Zo)Tt.current.add(Lt);else{const Et=be.getObjectChildById(Tt.current,Ge);Et==null||Et.add(Lt)}L()}}},ot=(Ge,xt)=>{if(Ge&&Ge.current){const It=We(xt.intersections);if(It){const Tt=It.object,Dt=Ge.current.parent;if(Tt.name==="Ground"){if(Dt&&Dt.name!=="Content"){const Lt=Ln.getState().contentRef;Lt&&Lt.current&&(Lt.current.add(Ge.current),De(Zo,Fe(Ge.current)))}Ge.current.position.copy(It.point),L()}else if(Tt.userData.stand){const Lt=Tt.parent;if(Lt){Dt&&Dt.uuid!==Lt.uuid&&(Lt.add(Ge.current),De(Fe(Lt),Fe(Ge.current)));const{rot:Et}=be.getWorldDataById(Fe(Lt));Le.set(0,0,-Et);const an=new ae().subVectors(It.point,Lt.localToWorld(new ae)).applyEuler(Le);Ge.current.position.copy(an),L()}}me.current||(me.current=!0)}}},Ye=(Ge,xt,It)=>{t(Tt=>{for(const Dt of Tt.elements)if(Dt.id===Ge){be.isFoundationOrCuboid(Dt)||(Dt.parentId=xt),Dt.cx=It.x,Dt.cy=It.y,Dt.cz=It.z;break}})},St=()=>{if(!W.current)return;const Ge={name:"Resize",timestamp:Date.now(),resizedElementId:W.current.id,resizedElementType:W.current.type,oldCx:B.current.x,oldCy:B.current.y,oldCz:B.current.z,newCx:k.current.x,newCy:k.current.y,newCz:k.current.z,oldLx:q.current.x,oldLy:q.current.y,oldLz:q.current.z,newLx:le.current.x,newLy:le.current.y,newLz:le.current.z,oldChildrenPositionsMap:new Map(N.current),newChildrenPositionsMap:new Map(j.current),oldPolygonVerticesMap:new Map(Y.current),newPolygonVerticesMap:new Map(_.current),oldChildrenParentIdMap:new Map(ee.current),newChildrenParentIdMap:new Map($.current),oldWallPointsMap:new Map(J.current),newWallPointsMap:new Map(Q.current),undo:()=>{var xt,It;if(t(Tt=>{for(const Dt of Tt.elements)if(Dt.id===Ge.resizedElementId){Dt.cx=Ge.oldCx,Dt.cy=Ge.oldCy,Dt.cz=Ge.oldCz,Dt.lx=Ge.oldLx,Dt.ly=Ge.oldLy,Dt.lz=Ge.oldLz;break}}),Ge.oldChildrenPositionsMap.size>0)for(const[Tt,Dt]of Ge.oldChildrenPositionsMap.entries()){const Lt=a(Tt);if((Lt==null?void 0:Lt.type)!==z.Polygon){t(Jt=>{for(const hn of Jt.elements)if(hn.id===Tt){if(hn.cx=Dt.x,hn.cy=Dt.y,lt(hn)||(hn.cz=Dt.z),hn.type===z.Wall){const cn=hn,Sn=Ge.oldWallPointsMap.get(cn.id);Sn&&(cn.leftPoint=[Sn[0].x,Sn[0].y,0],cn.rightPoint=[Sn[1].x,Sn[1].y,0])}break}Ge.oldWallPointsMap.size>0&&(Jt.updateWallMapOnFoundationFlag=!Jt.updateWallMapOnFoundationFlag)});const Et=(xt=Ge.oldChildrenParentIdMap)==null?void 0:xt.get(Tt),an=(It=Ge.newChildrenParentIdMap)==null?void 0:It.get(Tt);Et&&an&&Et!==an&&(_e(Et,an,Tt),De(Et,Tt))}}if(Ge.oldPolygonVerticesMap.size>0)for(const[Tt,Dt]of Ge.oldPolygonVerticesMap.entries()){const Lt=a(Tt);(Lt==null?void 0:Lt.type)===z.Polygon&&p(Tt,Dt)}},redo:()=>{var xt,It;if(t(Tt=>{for(const Dt of Tt.elements)if(Dt.id===Ge.resizedElementId){Dt.cx=Ge.newCx,Dt.cy=Ge.newCy,Dt.cz=Ge.newCz,Dt.lx=Ge.newLx,Dt.ly=Ge.newLy,Dt.lz=Ge.newLz;break}}),Ge.newChildrenPositionsMap.size>0)for(const[Tt,Dt]of Ge.newChildrenPositionsMap.entries()){t(an=>{for(const Jt of an.elements)if(Jt.id===Tt){if(Jt.cx=Dt.x,Jt.cy=Dt.y,(Jt.type!==z.SolarPanel||Jt.parentType!==z.Roof)&&(Jt.cz=Dt.z),Jt.type===z.Wall){const hn=Jt,cn=Ge.newWallPointsMap.get(hn.id);cn&&(hn.leftPoint=[cn[0].x,cn[0].y,0],hn.rightPoint=[cn[1].x,cn[1].y,0])}break}Ge.newWallPointsMap.size>0&&(an.updateWallMapOnFoundationFlag=!an.updateWallMapOnFoundationFlag)});const Lt=(xt=Ge.oldChildrenParentIdMap)==null?void 0:xt.get(Tt),Et=(It=Ge.newChildrenParentIdMap)==null?void 0:It.get(Tt);Lt&&Et&&Lt!==Et&&(_e(Et,Lt,Tt),De(Et,Tt))}if(Ge.newPolygonVerticesMap.size>0)for(const[Tt,Dt]of Ge.newPolygonVerticesMap.entries()){const Lt=a(Tt);(Lt==null?void 0:Lt.type)===z.Polygon&&p(Tt,Dt)}}};return Ge},dt=(Ge,xt)=>{var Lt,Et;const It=Ln.getState().contentRef,Tt=be.getObjectChildById(It==null?void 0:It.current,Ge.id);if(Tt){for(const an of Tt.children)if(an.name.includes(`${xt.id}`)){(Et=(Lt=Ln.getState().contentRef)==null?void 0:Lt.current)==null||Et.add(an);break}}xt.parentId=Zo;const Dt=new ae(xt.cx,xt.cy,xt.cz).applyEuler(new Qt(0,0,Ge.rotation[2])).add(B.current);xt.cx=Dt.x,xt.cy=Dt.y,xt.cz=0,j.current.set(xt.id,new ae(Dt.x,Dt.y,0)),$.current.set(xt.id,Zo)},je=Ge=>{Ge.intersections.length>0&&Ge.intersections[0].object===U.current&&t(It=>{mx.selectNone(It),It.pastePoint.copy(Ge.intersections[0].point),It.clickObjectType=z.Ground,It.contextMenuObjectType=z.Ground,It.pasteNormal=Po})},at=Ge=>{const xt=M.getState().resizeHandleType;switch(Ge.type){case z.Tree:switch(xt){case yt.Top:{const It={name:"Change Tree Height",timestamp:Date.now(),changedElementId:Ge.id,changedElementType:Ge.type,oldValue:q.current.z,newValue:Ge.lz,undo:()=>{s(It.changedElementId,It.oldValue)},redo:()=>{s(It.changedElementId,It.newValue)}};f(It),t(Tt=>{Tt.actionState.treeHeight=Ge.lz});return}case yt.Left:case yt.Right:case yt.Lower:case yt.Upper:{const It={name:"Change Tree Spread",timestamp:Date.now(),changedElementId:Ge.id,changedElementType:Ge.type,oldValue:q.current.x,newValue:Ge.lx,undo:()=>{l(It.changedElementId,It.oldValue)},redo:()=>{l(It.changedElementId,It.newValue)}};f(It),t(Tt=>{Tt.actionState.treeSpread=Ge.lx});return}}break;case z.Wall:{const It={name:"Change Wall Height",timestamp:Date.now(),changedElementId:Ge.id,changedElementType:Ge.type,oldValue:q.current.z,newValue:Ge.lz,undo:()=>{s(It.changedElementId,It.oldValue)},redo:()=>{s(It.changedElementId,It.newValue)}};f(It),t(Tt=>{Tt.actionState.wallHeight=Ge.lz});return}}if(k.current.set(Ge.cx,Ge.cy,Ge.cz),le.current.set(Ge.lx,Ge.ly,Ge.lz),ee.current.clear(),$.current.clear(),j.current.clear(),_.current.clear(),Q.current.clear(),t(It=>{if(Ge.type===z.Cuboid&&(It.actionState.cuboidHeight=Ge.lz),It.updateSceneRadius(),It.updateWallMapOnFoundationFlag=!It.updateWallMapOnFoundationFlag,Ge.parentId===Zo){for(const Tt of It.elements)if(be.isPlantOrHuman(Tt)&&Tt.parentId===Ge.id&&(ee.current.set(Tt.id,Ge.id),!be.isResizingVertical(M.getState().resizeHandleType)))if(Math.abs(q.current.z/2-Tt.cz)<.01){const Dt=new ae(Tt.cx,Tt.cy,Tt.cz).applyEuler(new Qt(0,0,Ge.rotation[2])).add(B.current).sub(k.current).applyEuler(new Qt(0,0,-Ge.rotation[2]));Math.abs(Dt.x)>Math.abs(le.current.x/2)+.01||Math.abs(Dt.y)>Math.abs(le.current.y/2)+.01?dt(Ge,Tt):(Tt.cx=Dt.x,Tt.cy=Dt.y)}else{const Dt=new ae(Tt.cx,Tt.cy,Tt.cz),Lt=new ae().subVectors(k.current,B.current),Et=new ae().subVectors(Dt,Lt);Math.abs(Dt.x/q.current.x)>.49?Math.abs(Et.y)>Ge.ly/2+.5?dt(Ge,Tt):(Tt.cx=(Dt.x>0?Ge.lx:-Ge.lx)/2,Tt.cy=Et.y):Math.abs(Dt.y/q.current.y)>.49&&(Math.abs(Et.x)>Ge.lx/2+.5?dt(Ge,Tt):(Tt.cx=Et.x,Tt.cy=(Dt.y>0?Ge.ly:-Ge.ly)/2))}}}),k.current.distanceToSquared(B.current)>kt&&le.current.distanceToSquared(q.current)>kt){if(Ge.type===z.Foundation||Ge.type===z.Cuboid){const Tt=n(Ge.id);if(Tt.length>0)for(const Dt of Tt)if(Dt.type===z.Polygon)_.current.set(Dt.id,Dt.vertices.map(Lt=>({...Lt})));else{if(Dt.type===z.Wall){const Lt=Dt,Et=new Gt(Lt.leftPoint[0],Lt.leftPoint[1]),an=new Gt(Lt.rightPoint[0],Lt.rightPoint[1]);Q.current.set(Dt.id,[Et,an])}j.current.set(Dt.id,new ae(Dt.cx,Dt.cy,Dt.cz))}if(Ge.type===z.Foundation){const Dt=tt(Ge.id);if(Dt.length>0)for(const Lt of Dt){const Et=new ae(Lt.cx,Lt.cy);j.current.set(Lt.id,Et)}}}const It=St();It&&f(It)}},ut=()=>{if(M.getState().viewState.orthographic)return!1;if(U.current){const Ge=ye.intersectObjects(D().scene.children,!0);if(Ge.length>0){for(const xt of Ge)if(xt.object.userData.stand)return!1}}return ye.intersectObjects([U.current]).length===0},wt=Ge=>{t(xt=>{for(const It of xt.elements)if(Ge.has(It.id)){const Tt=Ge.get(It.id);Tt&&(It.cx=Tt[0],It.cy=Tt[1],It.cz=Tt[2])}})},rt=(Ge,xt)=>{var Dt,Lt,Et;if(Ge.locked)return;k.current.set(Ge.cx,Ge.cy,Ge.cz);let It=ne.current,Tt=null;switch(qe(xt),Ge.type){case z.Tree:Tt=(Dt=Ln.getState().treeRef)==null?void 0:Dt.current;break;case z.Flower:Tt=(Lt=Ln.getState().flowerRef)==null?void 0:Lt.current;break;case z.Human:Tt=(Et=Ln.getState().humanRef)==null?void 0:Et.current;break}if(Tt&&me.current){const an=ye.intersectObjects(be.fetchIntersectables(E),!1),Jt=We(an);if(Jt){const hn=Jt.point;if(Jt.object.name==="Ground")Ye(Ge.id,Zo,hn),k.current.set(hn.x,hn.y,hn.z),It=Zo;else if(Jt.object.userData.stand){const cn=Fe(Jt.object),Sn=Jt.object.parent;if(Sn){const Pn=new ae().subVectors(hn,Sn.localToWorld(new ae)).applyEuler(Le);Ye(Ge.id,cn,Pn),k.current.set(Pn.x,Pn.y,Pn.z),It=cn}}}me.current=!1}if(k.current.distanceToSquared(B.current)>kt||ye.intersectObjects([U.current]).length===0){let an=!0;if(!M.getState().viewState.orthographic&&(an=k.current.length().02}if(!an||ut()){o(Ge.id,B.current.x,B.current.y,B.current.z),Tt&&be.isPlantOrHuman(Ge)&&Tt.position.copy(B.current),be.isPlantOrHuman(Ge)&&De(ne.current,Ge.id);const Jt=Ln.getState().contentRef;if(Jt!=null&&Jt.current&&ne.current&&Tt){if(ne.current===Zo)Jt.current.add(Tt);else{const hn=be.getObjectChildById(Jt.current,ne.current);hn==null||hn.add(Tt)}L()}Lo(O.t("message.CannotMoveObjectTooFar",ge))}else{if(Re.current.size>1){Ae.current.clear();for(const hn of M.getState().elements)ze.current.has(hn.id)&&Ae.current.set(hn.id,[hn.cx,hn.cy,hn.cz]);const Jt={name:"Move Foundation Group",timestamp:Date.now(),oldPositionMap:new Map(ze.current),newPositionMap:new Map(Ae.current),undo:()=>{wt(Jt.oldPositionMap)},redo:()=>{wt(Jt.newPositionMap)}};f(Jt)}else{const Jt=Ge.type===z.Cuboid,hn=Jt?Z.current:ne.current,cn=Jt?Ge.parentId:It,Sn={name:"Move",timestamp:Date.now(),movedElementId:Ge.id,movedElementType:Ge.type,oldCx:B.current.x,oldCy:B.current.y,oldCz:B.current.z,newCx:k.current.x,newCy:k.current.y,newCz:k.current.z,oldRotation:[...ie.current],newRotation:[...Ge.rotation],oldParentId:hn,newParentId:cn,undo:()=>{o(Sn.movedElementId,Sn.oldCx,Sn.oldCy,Sn.oldCz),t(Pn=>{const Un=Pn.elements.find(Ai=>Ai.id===Sn.movedElementId);Un&&Sn.oldRotation&&(Un.rotation=[...Sn.oldRotation])}),De(Sn.oldParentId,Sn.movedElementId),Sn.movedElementType&&At(Sn.movedElementType)&&_e(Sn.oldParentId,Sn.newParentId,Sn.movedElementId)},redo:()=>{o(Sn.movedElementId,Sn.newCx,Sn.newCy,Sn.newCz),t(Pn=>{const Un=Pn.elements.find(Ai=>Ai.id===Sn.movedElementId);Un&&Sn.newRotation&&(Un.rotation=[...Sn.newRotation])}),De(Sn.newParentId,Sn.movedElementId),Sn.movedElementType&&At(Sn.movedElementType)&&_e(Sn.newParentId,Sn.oldParentId,Sn.movedElementId)}};f(Sn)}Re.current.clear(),g()}}},Qe=Ge=>{pe.current=[...Ge.rotation];const xt=new ae().fromArray(ie.current);if(new ae().fromArray(pe.current).distanceToSquared(xt)>kt){const Tt={name:"Rotate",timestamp:Date.now(),rotatedElementId:Ge.id,rotatedElementType:Ge.type,oldRotation:ie.current,newRotation:pe.current,undo:()=>{i(Tt.rotatedElementId,Tt.oldRotation[0],Tt.oldRotation[1],Tt.oldRotation[2])},redo:()=>{i(Tt.rotatedElementId,Tt.newRotation[0],Tt.newRotation[1],Tt.newRotation[2])}};f(Tt)}},Oe=Ge=>{if(Ge.button!==2){if(Ln.getState().setEnableOrbitController(!0),W.current){const xt=a(W.current.id);if(xt)if(de.current)if(oe.current=!1,de.current=!1,t(It=>{It.addedFoundationId=null,It.updateSceneRadius()}),xt.lx<=.1||xt.ly<=.1)c(xt.id,!1);else{const It={name:"Add",timestamp:Date.now(),addedElement:xt,undo:()=>{c(It.addedElement.id,!1),g()},redo:()=>{t(Tt=>{Tt.elements.push(It.addedElement),Tt.selectedElement=It.addedElement,Tt.updateSceneRadius()})}};f(It)}else if(Pe.current)if(ve.current=!1,Pe.current=!1,t(It=>{It.addedCuboidId=null,It.updateSceneRadius()}),xt.lx<=.1||xt.ly<=.1)c(xt.id,!1);else{const It={name:"Add",timestamp:Date.now(),addedElement:xt,undo:()=>{c(It.addedElement.id,!1),g()},redo:()=>{t(Tt=>{Tt.elements.push(It.addedElement),Tt.selectedElement=It.addedElement,Tt.updateSceneRadius()})}};f(It)}else M.getState().resizeHandleType?at(xt):M.getState().rotateHandleType?Qe(xt):M.getState().moveHandleType&&rt(xt,Ge),xt.type===z.Foundation&>.getState().updateFoundationMovedFlag();W.current=null}t(xt=>{xt.moveHandleType=null,xt.resizeHandleType=null,xt.rotateHandleType=null}),Ln.setState({humanRef:null,treeRef:null,flowerRef:null})}},et=(Ge,xt)=>{const{pos:It}=be.getWorldDataById(Ge.id),Tt=new ae(It.x,It.y),Dt=new ae().subVectors(Tt,xt);Re.current.set(Ge.id,Dt),ze.current.set(Ge.id,[Ge.cx,Ge.cy,Ge.cz])},vt=(Ge,xt)=>{const It=Ge.intersections[0].point.clone().setZ(0);for(const Tt of M.getState().elements)hd(Tt)&&Tt.parentId===Zo&&!Tt.locked&&Tt.id!==xt.id&&!Re.current.has(Tt.id)&&!be.isChild(xt.id,Tt.id)&&!be.isChild(Tt.id,xt.id)&&be.areTwoBasesOverlapped(Tt,xt)&&(et(Tt,It),Tt.enableGroupMaster&&vt(Ge,Tt)),Tt.id===xt.id&&et(Tt,It)},ct=(Ge,xt)=>{Re.current.clear(),ze.current.clear(),xt.enableGroupMaster&&M.getState().moveHandleType&&vt(Ge,xt)},lt=Ge=>{if(Ge.type===z.SolarPanel&&Ge.parentType===z.Roof||Ge.type===z.Window&&Ge.parentType===z.Roof)return!0},tt=Ge=>M.getState().elements.filter(xt=>xt.foundationId!==Ge?!1:xt.type===z.SolarPanel&&xt.parentType===z.Roof||xt.type===z.Window&&xt.parentType===z.Roof||xt.type===z.Sensor||xt.type===z.Light),it=Ge=>{if(Ge.button===2||Ge.intersections.length===0||!U.current)return;if(oe.current){qe(Ge);const It=ye.intersectObjects([U.current]);It.length>0&&(Ln.getState().setEnableOrbitController(!1),t(Tt=>{Tt.moveHandleType=null,Tt.resizeHandleType=yt.LowerRight,Tt.resizeAnchor.copy(It[0].point)}),oe.current=!1,de.current=!0);return}if(ve.current){qe(Ge);const It=ye.intersectObjects([U.current]);It.length>0&&(Ln.getState().setEnableOrbitController(!1),t(Tt=>{var Dt;if(Tt.moveHandleType=null,Tt.resizeHandleType=yt.LowerRight,Tt.resizeAnchor.copy(It[0].point),W.current){const Lt=st(Ge,(Dt=W.current)==null?void 0:Dt.id);if(Lt){const Et=ye.intersectObjects([Lt.eventObject]);Et.length>0&&Tt.resizeAnchor.copy(Et[0].point)}}}),ve.current=!1,Pe.current=!0);return}if(Ge.intersections[0].object===U.current){if(M.getState().multiSelectionsMode||t(It=>{It.clickObjectType=z.Ground,It.selectedElement=null,mx.selectNone(It),It.contextMenuObjectType=null}),zt(y)){const It=Ge.intersections[0].point,Tt=r(T,It),Dt={name:"Add",timestamp:Date.now(),addedElement:Tt,undo:()=>{c(Dt.addedElement.id,!1),g()},redo:()=>{t(Lt=>{Lt.elements.push(Dt.addedElement),Lt.selectedElement=Dt.addedElement,Lt.updateSceneRadius()})}};f(Dt),t(Lt=>{Lt.actionModeLock||(Lt.objectTypeToAdd=z.None),Lt.updateSceneRadius()})}}else{const It=M.getState().selectedElementIdSet;if(It.size>1){const Tt=M.getState().selectedElement;if(Tt){W.current=Tt,Re.current.clear();for(const Dt of M.getState().elements)if(be.isElementAllowedMultipleMoveOnGround(Dt)&&It.has(Dt.id))if(Dt.enableGroupMaster)vt(Ge,Dt);else{const Et=Ge.intersections[0].point.clone().setZ(0);et(Dt,Et)}}}else{const Tt=e();if(Tt&&zt(Tt.type)){if(W.current=Tt,B.current.set(Tt.cx,Tt.cy,Tt.cz),q.current.set(Tt.lx,Tt.ly,Tt.lz),ie.current=[...Tt.rotation],Tt.type===z.Foundation||Tt.type===z.Cuboid){const Dt=n(Tt.id);if(N.current.clear(),Y.current.clear(),J.current.clear(),Dt.length>0)for(const Lt of Dt)if(Lt.type===z.Polygon)Y.current.set(Lt.id,Lt.vertices.map(Et=>({...Et})));else{if(Lt.type===z.Wall){const Et=Lt,an=new Gt(Et.leftPoint[0],Et.leftPoint[1]),Jt=new Gt(Et.rightPoint[0],Et.rightPoint[1]);J.current.set(Lt.id,[an,Jt])}N.current.set(Lt.id,new ae(Lt.cx,Lt.cy,Lt.cz))}if(Tt.type===z.Foundation){const Lt=tt(Tt.id);if(Lt.length>0)for(const Et of Lt){const an=new ae(Et.cx,Et.cy);N.current.set(Et.id,an)}}}switch(Tt.type){case z.Tree:ne.current=Tt.parentId,q.current.set(Tt.lx,Tt.ly,Tt.lz);break;case z.Flower:ne.current=Tt.parentId;break;case z.Human:ne.current=Tt.parentId;break;case z.Cuboid:{if(hd(Tt)&&Tt.parentId===Zo?ct(Ge,Tt):Re.current.clear(),Z.current=Tt.parentId,M.getState().moveHandleType){const{rot:hn}=be.getWorldDataById(Tt.id),cn=new Qt(0,0,hn);switch(M.getState().moveHandleType){case yo.Right:{re.current.set(-Tt.lx/2,0,0).applyEuler(cn);break}case yo.Left:{re.current.set(Tt.lx/2,0,0).applyEuler(cn);break}case yo.Lower:{re.current.set(0,Tt.ly/2,0).applyEuler(cn);break}case yo.Upper:{re.current.set(0,-Tt.ly/2,0).applyEuler(cn);break}default:{re.current.set(0,0,0);break}}}he.current.clear();const{pos:Lt,rot:Et}=be.getWorldDataById(Tt.id),an=new ae(Lt.x,Lt.y,Lt.z),Jt=n(Tt.id);if(Jt.length>0)for(const hn of Jt)switch(hn.type){case z.Cuboid:{const cn=new ae(hn.cx,hn.cy,hn.cz).applyEuler(new Qt(0,0,Et));cn.add(an),he.current.set(hn.id,cn);break}case z.Tree:case z.Flower:case z.Human:{const cn=new ae(hn.cx,hn.cy,hn.cz).applyEuler(new Qt(0,0,Et));cn.add(an),he.current.set(hn.id,cn);break}case z.SolarPanel:case z.Light:case z.Sensor:if(be.isIdentical(hn.normal,o0)){const cn=new ae(hn.cx*Tt.lx,hn.cy*Tt.ly,hn.cz*Tt.lz).applyEuler(new Qt(0,0,Et));cn.add(an),he.current.set(hn.id,cn)}break;case z.Polygon:if(be.isIdentical(hn.normal,o0)){const cn=hn,Sn=[];for(const Pn of cn.vertices){const Un=new Gt(Pn.x*Tt.lx,Pn.y*Tt.ly).rotateAround(wr,Et);Un.add(new Gt(an.x,an.y)),Sn.push(Un)}fe.current.set(cn.id,Sn)}break}break}case z.Foundation:{hd(Tt)&&ct(Ge,Tt),he.current.clear(),fe.current.clear(),se.current.clear();const Dt=new Gt(Tt.cx,Tt.cy),Lt=new ae(Tt.cx,Tt.cy,Tt.cz),Et=n(Tt.id);if(Et.length>0){const Jt=Tt.rotation[2];for(const hn of Et)switch(hn.type){case z.Wall:{const cn=hn,Sn=new Gt(cn.cx,cn.cy).rotateAround(wr,Jt);Sn.add(Dt);const Pn=new Gt(cn.leftPoint[0],cn.leftPoint[1]).rotateAround(wr,Jt);Pn.add(Dt);const Un=new Gt(cn.rightPoint[0],cn.rightPoint[1]).rotateAround(wr,Jt);Un.add(Dt),se.current.set(cn.id,{centerPointAbsPos:Sn,leftPointAbsPos:Pn,rightPointAbsPos:Un});break}case z.Tree:case z.Flower:case z.Human:{const cn=new ae(hn.cx,hn.cy,hn.cz).applyEuler(new Qt(0,0,Jt));cn.add(Lt),he.current.set(hn.id,cn);break}case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Sensor:{const cn=new ae(hn.cx*Tt.lx,hn.cy*Tt.ly,hn.cz*Tt.lz).applyEuler(new Qt(0,0,Jt));cn.add(Lt),he.current.set(hn.id,cn);break}case z.Polygon:{const cn=hn,Sn=[];for(const Pn of cn.vertices){const Un=new Gt(Pn.x*Tt.lx,Pn.y*Tt.ly).rotateAround(wr,Jt);Un.add(Dt),Sn.push(Un)}fe.current.set(cn.id,Sn);break}}}const an=tt(Tt.id);if(an.length>0){const Jt=new Qt(0,0,Tt.rotation[2]);for(const hn of an)if(hn.type===z.Window){const cn=new ae(hn.cx,hn.cy).applyEuler(Jt);cn.add(Lt),he.current.set(hn.id,cn)}else{const cn=new ae(hn.cx*Tt.lx,hn.cy*Tt.ly).applyEuler(Jt);cn.add(Lt),he.current.set(hn.id,cn)}}break}}}}}},At=Ge=>Ge===z.Human||Ge===z.Tree||Ge===z.Flower,Mt=(Ge,xt)=>{if(Ge.tempHumanPlant.length===0){const It=Ge.elements.filter(Dt=>At(Dt.type)&&be.isDescendantOf(Dt,xt));Ge.tempHumanPlant=It;const Tt=new Set(It.map(Dt=>Dt.id));Ge.elements=Ge.elements.filter(Dt=>!Tt.has(Dt.id))}},st=(Ge,xt)=>{const It=Ge.intersections.find(Dt=>{const Lt=Dt.eventObject;if(!Lt.name.includes("Cuboid"))return!1;const Et=Lt.name.split(" ");return Et.length!==2?!1:Et[1]!==xt&&Lt.userData.stackable});if(!It)return;const Tt=It.eventObject.name.split(" ")[1];if(!Re.current.has(Tt))return be.isChild(xt,Tt)?void 0:It},ft=Ge=>{if(W.current&&W.current.type&&!W.current.locked){qe(Ge);let xt;switch(W.current.type){case z.Foundation:F.current&&(xt=ye.intersectObjects([F.current]),xt.length>0&&(A?mt(xt[0].point):x?ht(xt[0].point):C&&Je(xt[0].point)));break;case z.Cuboid:if(F.current&&Ee===Kf.Horizontal&&(xt=ye.intersectObjects([F.current]),xt.length>0)){const It=xt[0].point.clone(),Tt=st(Ge,W.current.id);if(A)if(Re.current.size>1)mt(It);else if(Tt){if(xt=ye.intersectObjects([Tt.eventObject]),xt.length===0)return;It.copy(xt[0].point).add(re.current);const Dt=Tt.eventObject.name.split(" ")[1];t(Lt=>{const Et=Lt.elements.find(Jt=>{var hn;return Jt.id===((hn=Lt.selectedElement)==null?void 0:hn.id)}),an=Lt.selectedElement;if(Et&&an){const{pos:Jt,rot:hn}=be.getWorldDataById(Dt),cn=new ae().subVectors(It,Jt);if(cn.applyEuler(new Qt(0,0,-hn)),Et.cx=cn.x,Et.cy=cn.y,an.parentId!==Dt){Et.parentId!==Dt&&Mt(Lt,Et.id);const{rot:Sn}=be.getWorldDataById(an.id);Et.rotation[2]=Sn-hn,Et.parentId=Dt}else Et.parentId!==Dt&&(Et.parentId!==an.parentId&&Mt(Lt,Et.id),Et.parentId=an.parentId,Et.rotation[2]=an.rotation[2])}})}else t(Dt=>{const Lt=Dt.elements.find(Et=>Et.id===W.current.id);if(Lt&&Lt.parentId!==Zo){Lt.parentId!==Zo&&Mt(Dt,Lt.id);const{rot:Et}=be.getWorldDataById(Lt.parentId);Lt.rotation[2]+=Et,Lt.parentId=Zo}}),mt(It);else if(x){const Dt=a(W.current.id);Dt&&Dt.parentId===Zo&&ht(It)}}break}}if(U.current){if(y!==z.None){qe(Ge);const xt=ye.intersectObjects([U.current]);if(xt.length>0){const It=xt[0].point;switch(y){case z.Foundation:{const Tt=r(T,It);Tt&&(t(Dt=>{Dt.addedFoundationId=Tt.id,Dt.objectTypeToAdd=z.None}),W.current=Tt,oe.current=!0);break}case z.Cuboid:{const Tt=r(T,It);Tt&&(t(Dt=>{Dt.addedCuboidId=Tt.id,Dt.objectTypeToAdd=z.None}),W.current=Tt,ve.current=!0);break}}}}if(W.current&&(oe.current||ve.current)){qe(Ge);let xt=ye.intersectObjects([U.current]);if(xt.length===0)return;const It=xt[0].point;if(W.current.type===z.Foundation)o(W.current.id,It.x,It.y);else if(W.current.type===z.Cuboid){const Tt=st(Ge,W.current.id);if(Tt){if(xt=ye.intersectObjects([Tt.eventObject]),xt.length===0)return;It.copy(xt[0].point);const Dt=Tt.eventObject.name.split(" ")[1];t(Lt=>{const Et=Lt.elements.find(an=>{var Jt;return an.id===((Jt=W.current)==null?void 0:Jt.id)});if(Et){const{pos:an,rot:Jt}=be.getWorldDataById(Dt),hn=new ae().subVectors(It,an);hn.applyEuler(new Qt(0,0,-Jt)),Et.cx=hn.x,Et.cy=hn.y,Et.parentId=Dt,Et.rotation[2]=-Jt}})}else t(Dt=>{const Lt=Dt.elements.find(Et=>{var an;return Et.id===((an=W.current)==null?void 0:an.id)});if(Lt&&Lt.parentId!==Zo){const{rot:Et}=be.getWorldDataById(Lt.parentId);Lt.rotation[2]+=Et,Lt.parentId=Zo}}),o(W.current.id,It.x,It.y)}}}},Rt=Ge=>{if(W.current&&W.current.type&&!W.current.locked){qe(Ge);let xt;if(F.current&&Ee===Kf.Vertical&&(xt=ye.intersectObjects([F.current]),xt&&xt.length>0)){const It=xt[0].point;switch(W.current.type){case z.Tree:{const Tt=W.current;switch(x){case yt.Top:s(Tt.id,It.z),t(Dt=>{Dt.selectedElementHeight=Math.max(1,It.z)});break;case yt.Left:case yt.Right:case yt.Upper:case yt.Lower:l(Tt.id,2*Math.hypot(It.x-Tt.cx,It.y-Tt.cy));break}ot(Ln.getState().treeRef,Ge);break}case z.Flower:{ot(Ln.getState().flowerRef,Ge);break}case z.Human:{ot(Ln.getState().humanRef,Ge);break}}}}},zt=Ge=>Ge===z.Foundation||Ge===z.Cuboid||Ge===z.Tree||Ge===z.Flower||Ge===z.Human,Xe=(Ge,xt,It,Tt,Dt)=>{if(Ge){for(const Lt of Ge.children)if(Lt.name.includes("Human")||Lt.name.includes("Tree")||Lt.name.includes("Flower")){const Et=Fe(Lt),an=he.current.get(Et);if(an)if(Math.abs(q.current.z/2-Lt.position.z)<.01){const Jt=new ae().subVectors(an,Tt).applyEuler(new Qt(0,0,-Dt));Lt.position.setX(Jt.x),Lt.position.setY(Jt.y)}else{const Jt=new ae().subVectors(an,B.current).applyEuler(new Qt(0,0,-Dt)),hn=new ae().subVectors(Tt,B.current),cn=new ae().subVectors(Jt,hn);Math.abs(Jt.x/q.current.x)>.49?(Lt.position.setX((Jt.x>0?xt:-xt)/2),Lt.position.setY(cn.y)):Math.abs(Jt.y/q.current.y)>.49&&(Lt.position.setX(cn.x),Lt.position.setY((Jt.y>0?It:-It)/2))}}}},ht=Ge=>{if(!W.current)return;const xt=new Gt(Ge.x,Ge.y),It=new Gt(b.x,b.y),Tt=It.distanceTo(xt),Dt=Math.atan2(xt.x-b.x,xt.y-b.y)+W.current.rotation[2];let Lt=Math.abs(Tt*Math.sin(Dt)),Et=Math.abs(Tt*Math.cos(Dt));const an=new Gt().addVectors(xt,It).multiplyScalar(.5);if(W.current.type===z.Cuboid&&(x===yt.Lower||x===yt.Upper||x===yt.Left||x===yt.Right)){const Jt=new ae(b.x,b.y),hn=W.current.rotation[2],cn=new ae(Ge.x,Ge.y).sub(Jt).applyEuler(new Qt(0,0,-hn)),Sn=new ae(1,0,0);(x===yt.Upper||x===yt.Lower)&&Sn.set(0,1,0),Sn.applyEuler(new Qt(0,0,hn));const Pn=Jt.clone().add(Sn.clone().multiplyScalar(cn.x/2));x===yt.Left||x===yt.Right?(Lt=Math.abs(cn.x),Et=W.current.ly):(x===yt.Upper||x===yt.Lower)&&(Lt=W.current.lx,Et=Math.abs(cn.y),Pn.copy(Jt.add(Sn.clone().multiplyScalar(cn.y/2)))),an.x=Pn.x,an.y=Pn.y}switch(t(Jt=>{if(!W.current)return;let hn=!1;for(const cn of Jt.elements)if(cn.id===W.current.id){switch(cn.type){case z.Cuboid:case z.Foundation:{const Sn=n(cn.id);if(Sn.length>0){const Pn=[];for(const Ai of Sn){if(be.isPlantOrHuman(Ai))continue;const vo=JSON.parse(JSON.stringify(Ai));if(Pn.push(vo),be.isIdentical(vo.normal,o0))if(Ai.type===z.Wall){const Oo=se.current.get(Ai.id);if(Oo){const li=-cn.rotation[2],{centerPointAbsPos:po,leftPointAbsPos:eo,rightPointAbsPos:uo}=Oo,qo=new Gt().subVectors(po,an).rotateAround(wr,li),Hi=new Gt().subVectors(eo,an).rotateAround(wr,li),vi=new Gt().subVectors(uo,an).rotateAround(wr,li);switch(x){case yt.Lower:case yt.Upper:vo.cy=qo.y;break;case yt.Left:case yt.Right:vo.cx=qo.x;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:vo.cx=qo.x,vo.cy=qo.y;break}vo.leftPoint=[Hi.x,Hi.y,0],vo.rightPoint=[vi.x,vi.y,0]}}else{const Oo=he.current.get(Ai.id);if(Oo){const li=-cn.rotation[2],po=new Gt().subVectors(new Gt(Oo.x,Oo.y),an).rotateAround(wr,li);switch(x){case yt.Lower:case yt.Upper:vo.cy=po.y/Et;break;case yt.Left:case yt.Right:vo.cx=po.x/Lt;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:vo.cx=po.x/Lt,vo.cy=po.y/Et;break}}}}const Un=JSON.parse(JSON.stringify(cn));switch(x){case yt.Lower:case yt.Upper:case yt.Left:case yt.Right:case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:Un.lx=Lt,Un.ly=Et,Un.cx=an.x,Un.cy=an.y;break}if(be.doesParentContainAllChildren(Un,Pn)){switch(x){case yt.Lower:case yt.Upper:case yt.Left:case yt.Right:case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.lx=Lt,cn.ly=Et,cn.cx=an.x,cn.cy=an.y;break}hn=!0}}else if(Lt>.49&&Et>.49){switch(x){case yt.Lower:case yt.Upper:case yt.Left:case yt.Right:case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.lx=Lt,cn.ly=Et,cn.cx=an.x,cn.cy=an.y;break}hn=!0}break}}break}if(hn)for(const cn of Jt.elements){if(cn.parentId===W.current.id)switch(cn.type){case z.Wall:{const Sn=cn,Pn=se.current.get(cn.id);if(Pn){const Un=-W.current.rotation[2],{centerPointAbsPos:Ai,leftPointAbsPos:vo,rightPointAbsPos:Oo}=Pn,li=new Gt().subVectors(Ai,an).rotateAround(wr,Un),po=new Gt().subVectors(vo,an).rotateAround(wr,Un),eo=new Gt().subVectors(Oo,an).rotateAround(wr,Un);switch(x){case yt.Lower:case yt.Upper:cn.cy=li.y;break;case yt.Left:case yt.Right:cn.cx=li.x;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.cx=li.x,cn.cy=li.y;break}Sn.leftPoint=[po.x,po.y,0],Sn.rightPoint=[eo.x,eo.y,0]}break}case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Sensor:if(be.isIdentical(cn.normal,o0)){const Sn=he.current.get(cn.id);if(Sn){const Pn=new Gt().subVectors(new Gt(Sn.x,Sn.y),an).rotateAround(wr,-W.current.rotation[2]);switch(x){case yt.Lower:case yt.Upper:cn.cy=Pn.y/Et;break;case yt.Left:case yt.Right:cn.cx=Pn.x/Lt;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.cx=Pn.x/Lt,cn.cy=Pn.y/Et;break}}}break;case z.Cuboid:{const Sn=he.current.get(cn.id);if(Sn){const Pn=new Gt().subVectors(new Gt(Sn.x,Sn.y),an).rotateAround(wr,-W.current.rotation[2]);switch(x){case yt.Lower:case yt.Upper:cn.cy=Pn.y;break;case yt.Left:case yt.Right:cn.cx=Pn.x;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.cx=Pn.x,cn.cy=Pn.y;break}}break}case z.Polygon:if(be.isIdentical(cn.normal,o0)){const Sn=cn,Pn=fe.current.get(Sn.id);if(Pn){const Un=[];Pn.forEach(Ai=>{const vo=new Gt().subVectors(Ai,an).rotateAround(wr,-W.current.rotation[2]);Un.push({x:vo.x/Lt,y:vo.y/Et})}),Sn.vertices=Un}}break}if(cn.foundationId===W.current.id&&cn.type===z.SolarPanel&&cn.parentType===z.Roof){const Sn=he.current.get(cn.id);if(Sn){const Pn=new Gt().subVectors(new Gt(Sn.x,Sn.y),an).rotateAround(wr,-W.current.rotation[2]);switch(x){case yt.Lower:case yt.Upper:cn.cy=Pn.y/Et;break;case yt.Left:case yt.Right:cn.cx=Pn.x/Lt;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.cx=Pn.x/Lt,cn.cy=Pn.y/Et;break}}}if(cn.foundationId===W.current.id&&cn.type===z.Window&&cn.parentType===z.Roof){const Sn=he.current.get(cn.id);if(Sn){const Pn=new Gt().subVectors(new Gt(Sn.x,Sn.y),an).rotateAround(wr,-W.current.rotation[2]);cn.cx=Pn.x,cn.cy=Pn.y}}}}),W.current.type){case z.Foundation:{const Jt=Ln.getState().foundationRef;Jt!=null&&Jt.current&&Xe(Jt==null?void 0:Jt.current,Lt,Et,Jt.current.position,W.current.rotation[2]);break}case z.Cuboid:{const Jt=Ln.getState().cuboidRef;Jt!=null&&Jt.current&&Jt.current.parent&&Xe(Jt==null?void 0:Jt.current,Lt,Et,Jt.current.parent.position,W.current.rotation[2]);break}}},Je=Ge=>{const{cx:xt,cy:It}=W.current,Tt=Math.atan2(xt-Ge.x,Ge.y-It)+(C===wi.Upper?0:Math.PI),Dt=Math.abs(Tt)>Math.PI?-Math.sign(Tt)*na:0;i(W.current.id,0,0,Tt+Dt)},mt=Ge=>{const xt=Re.current.size>1;if(xt){t(Et=>{for(const an of Et.elements)if(hd(an)&&Re.current.has(an.id)){const Jt=Re.current.get(an.id);Jt&&(an.cx=Ge.x+Jt.x,an.cy=Ge.y+Jt.y)}});return}let It,Tt;const Dt=W.current.lx/2,Lt=W.current.ly/2;switch(A){case yo.Top:{if(xt){const Et=new ae(Ge.x,Ge.y);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,Ge.x,Ge.y);break}case yo.Upper:if(It=Ge.x+Ce*Lt,Tt=Ge.y-Ie*Lt,xt){const Et=new ae(It,Tt);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,It,Tt);break;case yo.Lower:if(It=Ge.x-Ce*Lt,Tt=Ge.y+Ie*Lt,xt){const Et=new ae(It,Tt);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,It,Tt);break;case yo.Left:if(It=Ge.x+Ie*Dt,Tt=Ge.y+Ce*Dt,xt){const Et=new ae(It,Tt);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,It,Tt);break;case yo.Right:if(It=Ge.x-Ie*Dt,Tt=Ge.y-Ce*Dt,xt){const Et=new ae(It,Tt);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,It,Tt);break}};return h.jsxs(h.Fragment,{children:[W.current&&Ee!==Kf.Ground&&h.jsx(sa,{ref:F,visible:!1,name:"Ground Intersection Plane",rotation:Ne,position:Ue,args:[1e5,1e5],onPointerMove:M2.throttle(Rt,Ek),children:h.jsx("meshStandardMaterial",{side:ji,opacity:.5,transparent:!0})}),h.jsx(sa,{receiveShadow:v,ref:U,name:"Ground",userData:{stand:!0},rotation:[0,0,0],position:[0,0,0],args:[1e4,1e4],renderOrder:-2,onContextMenu:je,onPointerDown:it,onPointerMove:M2.throttle(ft,Ek),children:H&&!w?h.jsx("meshBasicMaterial",{color:S}):h.jsx("meshStandardMaterial",{depthTest:!1,color:w?"white":S,map:w?be.WATER_TEXTURE:be.WHITE_TEXTURE,needsUpdate:!0})})]})}),zre=48,Men=72,Ien=12,zen=Se.memo(({date:t,hourAngle:e,declinationAngle:n,worldLatitude:o})=>{const i=M(mh),r=M(bBe),a=M(pBe)??!0,l=M(gBe)??!0,s=M(mBe)??!0,[c,u]=m.useState(be.toRadians(42)),d=Ab(hye),f=Math.max(2,i*.2),p=Math.max(.4,i*.025),g=aA(lq,nQ),y=i*.05,A={font:g,height:0,size:y},x=6,C=new Array(2*x+1).fill(0),b=_=>_===0?-y*.3:_>0&&_<7?-y*.8:-y*1.2;m.useEffect(()=>{u(be.toRadians(o))},[o]);const v=6,[S,w]=m.useMemo(()=>{const _=new Ur,J=new Ur,Q=[],ee=[],$=na/Men;let q=0;for(let Z=0;Zkt&&(fe=.05*i+(q%3===0?.2:0),se=new ae(i,he,0),se.z=.002,ee.push(be.sphericalToCartesianZ(se)),se=new ae(i+fe,he,0),se.z=.002,ee.push(be.sphericalToCartesianZ(se))),q++}const le=Q.length*3,ie=new Float32Array(le),pe=new Float32Array(le),ne=new Float32Array(le);for(let Z=0;Z{const _=[],J=sl(t,be.toDegrees(c)),Q=ZY(J.sunrise),ee=ZY(J.sunset),$=(ee-Q)/zre;for(let q=Q;q-.01&&_.push(le)}return _},[t,c,i,n]),P=_=>{const J=QW(_),Q=[],ee=sl(_,be.toDegrees(c)),$=ZY(ee.sunrise),q=ZY(ee.sunset),le=(q-$)/zre;for(let ie=$;ie-.01&&Q.push(pe)}return Q},R=m.useMemo(()=>{const _=[];for(let J=0;J<=v;J++){const Q=new Date(2021,J===0?11:J-1,22);_.push(P(Q))}return _},[c,i]),H=m.useMemo(()=>$5(i,e,n,c),[c,n,e,i]),D=m.useMemo(()=>H.clone().normalize(),[H]),E=m.useMemo(()=>new ae(H.x,H.y,0).normalize(),[H]),L=m.useMemo(()=>Math.asin(H.z/H.length()),[H]),U=m.useMemo(()=>{const J=new P2(0,0,f,f,0,L,!1,0).getPoints(25),Q=new Array;for(const ee of J)Q.push(new ae(ee.x,ee.y,0));return Q},[L,H,f]),F=m.useMemo(()=>Math.acos(H.z/H.length()),[H]),W=m.useMemo(()=>{const J=new P2(0,0,f*.8,f*.8,L,Vt,!1,0).getPoints(25),Q=new Array;for(const ee of J)Q.push(new ae(ee.x,ee.y,0));return Q},[F,H,f,L]),B=m.useMemo(()=>{const _=Math.acos(H.y/Math.hypot(H.x,H.y));return H.x>0?-_:_},[H]),k=m.useMemo(()=>{const J=new P2(0,0,f*1.2,f*1.2,Vt,Vt+B,H.x>0,0).getPoints(50),Q=new Array;for(const ee of J)Q.push(new ae(ee.x,ee.y,0));return Q},[B,H,f]),N=m.useMemo(()=>{const _=2*eP/Ien,J=na/zre,Q=new Ur;let ee=0;const $=[],q=[];for(let le=-eP;leMath.PI&&(pe=Math.PI),ne>eP&&(ne=eP);const Z=$5(i,ie,le,c),he=$5(i,pe,le,c),fe=$5(i,pe,ne,c),se=$5(i,ie,ne,c);(Z.z>=0||he.z>=0||fe.z>=0||se.z>=0)&&($.push(Z,he,fe,se),q.push(ee),q.push(ee+1),q.push(ee+2),q.push(ee),q.push(ee+2),q.push(ee+3),ee+=4)}return Q.setFromPoints($),Q.setIndex(new qa(new Uint16Array(q),1)),Q},[c,i]),j=.05*i,Y=2+5*j;return h.jsxs("group",{children:[C.map((_,J)=>{let Q=Math.ceil(J/2)*(J%2===0?1:-1);Q===-x&&(Q=x);const ee=b(Math.abs(Q));return h.jsx("group",{rotation:[Vt,Q*Math.PI/x,0],children:h.jsxs("mesh",{position:[ee,0,-i*1.1],rotation:[-Vt,0,0],children:[h.jsx("textGeometry",{args:[`${-(180/x)*Q}°`,A]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]})},J)}),h.jsxs("mesh",{rotation:new Qt(0,0,0),name:"Heliodon",children:[h.jsxs("mesh",{children:[h.jsx("bufferGeometry",{...S}),h.jsx("meshBasicMaterial",{side:ji,vertexColors:!0,polygonOffset:!0,polygonOffsetFactor:-.7,polygonOffsetUnits:-2})]}),h.jsxs("lineSegments",{children:[h.jsx("bufferGeometry",{...w}),h.jsx("meshBasicMaterial",{color:0})]}),h.jsxs("mesh",{children:[T.length>3&&h.jsx(Fn,{lineWidth:2,points:T,color:"yellow"}),R.filter(_=>_.length>3).map((_,J)=>h.jsx(Fn,{opacity:J===0||J===v?1:.5,lineWidth:J===0||J===v?1:.5,points:_,color:"#999"},J)),h.jsx("mesh",{args:[N],children:h.jsx("meshBasicMaterial",{side:ji,color:[1,1,0],transparent:!0,opacity:.5,depthWrite:!1,clippingPlanes:[new Q5(Yc,0)]})}),h.jsx("mesh",{position:H,children:h.jsx("sprite",{scale:[Y,Y,Y],children:h.jsx("spriteMaterial",{map:d,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})}),h.jsxs("mesh",{position:H,children:[h.jsx("sphereGeometry",{args:[j,10,10]}),h.jsx("meshBasicMaterial",{color:"white"})]})]})]}),h.jsx(sa,{args:[1e4,1e4],renderOrder:-1,userData:{unintersectable:!0},children:h.jsx("meshBasicMaterial",{transparent:!0,opacity:0})}),r&&H.z>0&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[H.x,H.y,H.z]],name:"Line from origin to sun",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[H.x,H.y,0]],name:"Line from origin to sun projection on ground",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[H.x,H.y,0],[H.x,H.y,H.z]],name:"Line from sun projection on ground to sun",lineWidth:.5,color:"white"}),l&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:U,position:[0,0,0],rotation:new Qt(Vt,0,Vt+B,"ZXY"),color:"white",name:"Elevation Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Elevation Angle",backgroundColor:"indigo",text:be.toDegrees(L).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:D.clone().multiplyScalar(f).add(E.clone().multiplyScalar(f)).multiplyScalar(.65)})]}),s&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:W,position:[0,0,0],rotation:new Qt(Vt,0,Vt+B,"ZXY"),color:"white",name:"Zenith Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Zenith Angle",backgroundColor:"navy",text:be.toDegrees(F).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:D.clone().multiplyScalar(f).add(Po.clone().multiplyScalar(f)).multiplyScalar(.57)})]}),a&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:k,position:[0,0,0],color:"white",name:"Azimuth Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Azimuth Angle",backgroundColor:"firebrick",text:be.toDegrees(Math.abs(B-Math.PI)<1e-6?B:-B).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:E.clone().multiplyScalar(f).add(Yc.clone().multiplyScalar(f)).multiplyScalar(1.1).add(new ae(0,0,p/2))})]})]})]})}),Den=Se.memo(()=>{const t=M(xBe),e=M(mh),n=M(Xs),o=M(Ya),i=M(T7t),r=m.useMemo(()=>new Date(o),[o]),[a,l]=m.useMemo(()=>[fye(r),QW(r)],[r]);return m.useEffect(()=>{i($5(e,a,l,be.toRadians(n)))},[n,a,l,e]),h.jsx(h.Fragment,{children:t&&h.jsx(zen,{date:new Date(o),hourAngle:a,declinationAngle:l,worldLatitude:n})})}),yTe="/aladdin/assets/ifi-logo-CwxGDl7t.png",Een="/aladdin/assets/magic-lamp-XxXOV1dq.png",ken=Se.memo(({top:t,height:e,color:n})=>{const o=M(Sc),i=m.useMemo(()=>({lng:o}),[o]),r=t+56+"px",a=t+100+"px",l=t+205+"px";return h.jsxs("div",{children:[h.jsxs("div",{style:{position:"absolute",borderRadius:"20px",border:"thin",textAlign:"center",left:"15%",right:"15%",top:t+"px",height:(e??300)+"px"},children:[h.jsx("h2",{style:{marginTop:"20px",color:n},children:O.t("aboutUs.ProductBroughtToYouBy",i)}),h.jsxs("p",{style:{paddingTop:"6px",fontSize:"12px",color:n},children:[h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-terms.html",style:{color:n,textDecoration:"none"},children:O.t("aboutUs.TermsOfService",i)}),"   |   ",h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-privacy.html",style:{color:n,textDecoration:"none"},children:O.t("aboutUs.PrivacyPolicy",i)})]})]}),h.jsxs("div",{children:[h.jsx("hr",{style:{position:"absolute",left:"10%",width:"80%",marginTop:r,color:n}}),h.jsx("table",{style:{position:"absolute",border:"none",top:a,left:"10%",width:"80%",fontSize:"small",color:n},children:h.jsx("tbody",{children:h.jsxs("tr",{style:{verticalAlign:"top"},children:[h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:O.t("aboutUs.Software",i)}),"Xiaotong Ding",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]}),h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:O.t("aboutUs.Content",i)}),"Elena Sereiviene",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]}),h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:O.t("aboutUs.Support",i)}),"Elena Sereiviene",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]})]})})})]}),h.jsxs("div",{style:{position:"absolute",left:"10%",marginRight:"10%",top:l,fontSize:"12px",textAlign:"justify",color:n},children:[O.t("aboutUs.Translators",i),": ",Z5.Ukrainian," (Andriy Kashyrskyy), ",Z5.Spanish," (Alex Barco), ",Z5.Turkish," (Hasan Bircan)",h.jsx("br",{}),h.jsx("br",{}),O.t("aboutUs.Acknowledgment",i),": ",O.t("aboutUs.FundingInformation",i)," ",O.t("aboutUs.Contact",i)]})]})}),Fen=Ho.div` +`,xen=Se.memo(function({initializing:e}){const n=gt(Jwt),o=gt(vf),i=gt(Ije),r=gt(cge),a=gt(zje),l=M(G1e),s=M(X1e),c=M(V1e),u=M(WBe),d=M(u4t),f=gt(Wje),p=gt(Nje),g=gt(aYe),y=gt(lYe),A=gt(eYe),x=gt(tYe),C=gt(ZL),b=gt(QL),v=gt(Aq),S=M.getState().elements;return h.jsx(h.Fragment,{children:(e||n||o||i)&&h.jsxs(h.Fragment,{children:[o&&(!c&&C||!d&&(b||v)||!l&&(g||y)||!u&&(A||x)||!s&&(f||p)||be.hasMovingParts(S))&&h.jsx(Aen,{}),i&&h.jsx(ven,{}),h.jsx(dQ,{spinning:!r||!a})]})})}),ben=()=>{if(M(AH),!gt.getState().waiting)return null;const e=()=>(m.useEffect(()=>(gt.getState().set(n=>{n.waiting=!1}),()=>{gt.getState().set(n=>{n.waiting=!1})})),null);return h.jsx(e,{})},Sen=Se.memo(({id:t,cx:e,cy:n,cz:o,lx:i,lz:r,birdSafe:a=lc.None,numberOfBlades:l=3,speed:s=10,hubRadius:c=.75,hubLength:u=1.5,maximumChordRadius:d=3,maximumChordLength:f=1,towerHeight:p,towerRadius:g,bladeRadius:y,bladeTipWidth:A=.2,bladeRootRadius:x=.3,rotation:C=[0,0,0],relativeYawAngle:b=0,initialRotorAngle:v=0,pitchAngle:S=be.toRadians(10),color:w="white",bladeColor:T=X5,stripeColor:P=J5,lineColor:R="black",lineWidth:H=.5,showLabel:D=!1,locked:E=!1,parentId:L})=>{const U=M(dn),F=M(jn),W=M(Vc),B=Hs(t),k=M(ss),N=M(Ya),{gl:{domElement:j}}=Xi(),[Y,_]=m.useState(!1),J=m.useRef(null),Q=m.useRef(null),ee=m.useRef(!1),$=Kt(),q=m.useMemo(()=>be.fetchBladeTexture(y,x*2,100,a,T,P),[x,y,a,T,P]),le=M(ze=>{for(const Ae of ze.elements)if(Ae.id===L)return Ae});if(le)switch(le.type){case z.Foundation:if(o=le.lz,be.isZero(C[2]))e=le.cx+e*le.lx,n=le.cy+n*le.ly;else{const ze=new ae(e*le.lx,n*le.ly,0);ze.applyAxisAngle(Po,C[2]),e=le.cx+ze.x,n=le.cy+ze.y}break}const ie=F(t),pe=c*1.25,ne=u*2.5,Z=y-d/3,he=m.useMemo(()=>{const ze=f-x,Ae=new Ml,re=[];return re.push(new Gt(-x,0)),re.push(new Gt(-ze/2,y-Z)),re.push(new Gt(-ze,d)),re.push(new Gt(x-A,y)),Ae.moveTo(-x,0),Ae.splineThru(re),Ae.lineTo(x,y),Ae.lineTo(x,0),Ae.closePath(),Ae},[y,Z,f,d,x,A]),fe=m.useMemo(()=>{const ze=new Date(N);return v+s*(ze.getHours()*60+ze.getMinutes())*Math.PI/72},[N,s,v]);m.useEffect(()=>{const ze=()=>{Ln.getState().setEnableOrbitController(!0),ee.current=!1};return window.addEventListener("pointerup",ze),()=>{window.removeEventListener("pointerup",ze)}},[]);const se=m.useMemo(()=>(ie!=null&&ie.label?ie.label:O.t("shared.WindTurbineElement",$))+(ie!=null&&ie.locked?" ("+O.t("shared.ElementLocked",$)+")":"")+(ie!=null&&ie.label?"":` +`+O.t("word.Coordinates",$)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+O.t("word.MeterAbbreviation",$)),[ie==null?void 0:ie.label,ie==null?void 0:ie.locked,$,e,n,o]),oe=m.useMemo(()=>new Qt(0,0,C[2]+b,"ZXY"),[C,b]),de=(ze,Ae)=>{ze.intersections.length>0&&ze.intersections[0].object===ze.eventObject&&(j.style.cursor=Ae===yo.Default?"move":"pointer")},ve=()=>{j.style.cursor="default"},Pe=Af*4,me=m.useMemo(()=>{const ze=Math.PI*2/l,Ae=new Array;for(let re=0;reh.jsxs("group",{position:new ae(0,-u*.85,p),rotation:[Vt,S,Ae,"XZY"],children:[h.jsxs("mesh",{name:"Blade "+ze+" Font Side",receiveShadow:k,castShadow:k,children:[h.jsx("shapeGeometry",{attach:"geometry",args:[he]}),h.jsx("meshStandardMaterial",{attach:"material",color:T,side:ia,map:re})]}),h.jsxs("mesh",{name:"Blade "+ze+" Back Side",receiveShadow:k,castShadow:k,position:new ae(0,-.05,0),children:[h.jsx("shapeGeometry",{attach:"geometry",args:[he]}),h.jsx("meshStandardMaterial",{attach:"material",color:T,side:p0,map:re})]}),h.jsx(wa,{name:"Blade root",castShadow:!1,receiveShadow:!1,args:[x*1.1,x*1.1,.24,12,1],position:new ae(0,c-.14,0),children:h.jsx("meshStandardMaterial",{attach:"material",color:w})})]},ze);return h.jsxs("group",{name:"Wind Turbine Group "+t,rotation:oe,position:[e,n,o],children:[h.jsx("group",{children:B&&!E&&h.jsx(ts,{ref:Q,position:new ae(0,0,0),args:[Pe+g,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:ze=>{de(ze,yo.Default)},onPointerOut:()=>{ve()},onPointerDown:ze=>{ze.button!==2&&W(t,ze,zo.Move)},children:h.jsx("meshStandardMaterial",{attach:"material",color:"orange"})})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Tower",ref:J,castShadow:k,receiveShadow:k,args:[g*.8,g*1.2,p,4,1],position:new ae(0,0,p*.5),rotation:[Vt,0,0],onPointerDown:ze=>{ze.button!==2&&(W(t,ze,zo.Select),Ln.getState().setEnableOrbitController(!1))},onContextMenu:ze=>{W(t,ze,zo.ContextMenu),U(Ae=>{ze.intersections.length>0&&ze.intersections[0].object===J.current&&(Ae.contextMenuObjectType=z.WindTurbine)})},onPointerOver:ze=>{ze.intersections.length>0&&ze.intersections[0].object===J.current&&(_(!0),j.style.cursor="move")},onPointerOut:()=>{_(!1),j.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:w})}),h.jsx(ts,{userData:{unintersectable:!0},name:"Hub",castShadow:k,receiveShadow:k,args:[c,8,8,Vt,Math.PI,0,Math.PI],position:new ae(0,-u*.5,p),rotation:[Math.PI,0,Vt],scale:[u/c,1,1],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Hub Cap",castShadow:k,receiveShadow:k,args:[c,c,.01,16,1],position:new ae(0,-u*.5,p),rotation:[Math.PI,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})}),h.jsx(_6t,{userData:{unintersectable:!0},name:"Nacelle",castShadow:k,receiveShadow:k,radius:.1,smoothness:4,args:[pe,pe,ne],position:new ae(0,(ne-u)*.5-.1,p),rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})}),a!==lc.None&&me.map((ze,Ae)=>Re(Ae,ze,q)),a===lc.None&&me.map((ze,Ae)=>Re(Ae,ze,null)),B&&E&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-i/2,0,0],[-i/2,r,0],[-i/2,r,0],[i/2,r,0],[i/2,0,0],[i/2,r,0],[i/2,0,0],[-i/2,0,0]],rotation:[Vt,0,0],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),(Y||D)&&!B&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:se,color:(ie==null?void 0:ie.labelColor)??"white",fontSize:(ie==null?void 0:ie.labelFontSize)??20,textHeight:(ie==null?void 0:ie.labelSize)??1,castShadow:!1,receiveShadow:!1,position:[0,0,1+p+c]})]})}),Ten=Se.memo(()=>{const t=M(Jn),e=m.useRef(null);return m.useEffect(()=>{e&&Ln.setState({contentRef:e})},[]),console.debug(t),h.jsxs("group",{ref:e,name:"Content",children:[t.map(n=>{switch(n.type){case z.Foundation:return h.jsx(N$t,{...n},n.id);case z.Sensor:{const o=n;return o.parentType===z.Cuboid?null:h.jsx(Fqe,{...o},n.id)}case z.Light:{const o=n;return o.parentType===z.Cuboid?null:h.jsx(Lqe,{...o},n.id)}case z.Cuboid:return n.parentId!==Zo?null:h.jsx(Uqe,{elements:t,cuboidModel:n},n.id);case z.Human:return h.jsx(sZt,{...n},n.id);case z.Tree:return h.jsx(cZt,{...n},n.id);case z.Flower:return h.jsx(pZt,{...n},n.id);case z.ParabolicDish:return h.jsx(dZt,{...n},n.id);case z.ParabolicTrough:return h.jsx(uZt,{...n},n.id);case z.FresnelReflector:return h.jsx(fZt,{...n},n.id);case z.Heliostat:return h.jsx(hZt,{...n},n.id);case z.WindTurbine:return h.jsx(Sen,{...n},n.id);case z.Polygon:switch(n.parentType){case z.Wall:return null;default:return h.jsx(Iqe,{...n},n.id)}default:if(n.id)return h.jsx(Se.Fragment,{},n.id)}return null}),h.jsx(ben,{}),h.jsx(Pen,{})]})}),Pen=()=>{const t=M(hge);return m.useEffect(()=>{M.getState().set(e=>{e.deletedRoofIdSet.clear()})},[t]),null},Cen=Se.memo(()=>{const t=M(dn),e=M(xb),n=M(vH),o=M(e3),i=M(ige),r=M(sge),a=M(jn),l=M(t3),s=M(oge),c=M(hp),u=M(ege),d=M(dge),f=M(En),p=M(H7),g=M(KBe),y=M(Cq),A=M(Cb),x=M(yh),C=M(sW),b=M(k8t),v=M(ss),S=M(wBe),w=M(vBe),T=M(Ge=>Ge.world.ground),P=M(F8t),R=M(L8t),H=gt(cs),{get:D,scene:E,invalidate:L}=Xi(),U=m.useRef(null),F=m.useRef(null),W=m.useRef(null),B=m.useRef(new ae),k=m.useRef(new ae),N=m.useRef(new Map),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(new Map),J=m.useRef(new Map),Q=m.useRef(new Map),ee=m.useRef(new Map),$=m.useRef(new Map),q=m.useRef(new ae(1,1,1)),le=m.useRef(new ae(1,1,1)),ie=m.useRef([0,0,1]),pe=m.useRef([0,0,1]),ne=m.useRef(null),Z=m.useRef(null),he=m.useRef(new Map),fe=m.useRef(new Map),se=m.useRef(new Map),oe=m.useRef(!1),de=m.useRef(!1),ve=m.useRef(!1),Pe=m.useRef(!1),me=m.useRef(!1),Re=m.useRef(new Map),ze=m.useRef(new Map),Ae=m.useRef(new Map),re=m.useRef(new ae),ge=Kt();m.useEffect(()=>(window.addEventListener("pointerup",Oe),()=>{window.removeEventListener("pointerup",Oe)}),[]),m.useEffect(()=>{P&&(t(Ge=>{Ge.addedFoundationId=null,Ge.deletedFoundationId=null}),oe.current=!1,de.current=!1)},[P]),m.useEffect(()=>{R&&(t(Ge=>{Ge.addedCuboidId=null,Ge.deletedCuboidId=null}),ve.current=!1,Pe.current=!1)},[R]);const{camera:we}=Xi(),ye=m.useMemo(()=>new Gs,[]),Te=m.useMemo(()=>new Gt,[]),Ie=W.current?Math.cos(W.current.rotation[2]):1,Ce=W.current?Math.sin(W.current.rotation[2]):0;let Ee=Kf.Ground;const Ue=m.useMemo(()=>new ae,[]),Ne=m.useMemo(()=>new Qt,[]),Le=m.useMemo(()=>new Qt,[]);if(W.current){if(be.isPlantOrHuman(W.current)){Ee=Kf.Vertical;const Ge=M.getState().viewState.orthographic?0:-Vt,{x:xt,y:It}=we.position,Tt=-Math.atan2(xt,It);Ne.set(Ge,0,Tt,"ZXY"),Ue.set(W.current.cx,W.current.cy,0)}else if(A===yo.Top)Ee=Kf.Horizontal,Ue.set(W.current.cx,W.current.cy,W.current.lz),Ne.set(0,0,0);else if(be.isMoveHandle(A)||x===yt.Left||x===yt.Right||x===yt.Lower||x===yt.Upper||x===yt.LowerLeft||x===yt.UpperLeft&&W.current.type!==z.Wall||x===yt.LowerRight||x===yt.UpperRight&&W.current.type!==z.Wall||C===wi.Lower||C===wi.Upper)Ee=Kf.Horizontal,Ue.set(W.current.cx,W.current.cy,Af),Ne.set(0,0,0);else if(x){Ee=Kf.Vertical;const Ge=d(W.current,x),xt=u(),It=-Math.atan2(xt.x,xt.y);Ue.set(Ge.x,Ge.y,0),Ne.set(-Vt,0,It,"ZXY")}}const qe=Ge=>{Te.x=Ge.offsetX/D().gl.domElement.clientWidth*2-1,Te.y=-(Ge.offsetY/D().gl.domElement.clientHeight)*2+1,ye.setFromCamera(Te,D().camera)},We=Ge=>{for(const xt of Ge)if(xt.object.userData.stand)return xt;return null},De=(Ge,xt)=>{Ge&&t(It=>{for(const Tt of It.elements)if(Tt.id===xt&&Tt.type!==z.Foundation){Tt.parentId=Ge;break}})},Fe=Ge=>{if(!Ge)return"";const xt=Ge.name.split(" ");return xt[2]?xt[2]:Fe(Ge.parent)},_e=(Ge,xt,It)=>{if(!Ge||!xt)return;const Tt=Ln.getState().contentRef;if(Tt!=null&&Tt.current){const Dt=be.getObjectChildById(Tt.current,xt),Lt=be.getObjectChildById(xt===Zo?Tt.current:Dt,It);if(Lt){if(Ge===Zo)Tt.current.add(Lt);else{const Et=be.getObjectChildById(Tt.current,Ge);Et==null||Et.add(Lt)}L()}}},ot=(Ge,xt)=>{if(Ge&&Ge.current){const It=We(xt.intersections);if(It){const Tt=It.object,Dt=Ge.current.parent;if(Tt.name==="Ground"){if(Dt&&Dt.name!=="Content"){const Lt=Ln.getState().contentRef;Lt&&Lt.current&&(Lt.current.add(Ge.current),De(Zo,Fe(Ge.current)))}Ge.current.position.copy(It.point),L()}else if(Tt.userData.stand){const Lt=Tt.parent;if(Lt){Dt&&Dt.uuid!==Lt.uuid&&(Lt.add(Ge.current),De(Fe(Lt),Fe(Ge.current)));const{rot:Et}=be.getWorldDataById(Fe(Lt));Le.set(0,0,-Et);const an=new ae().subVectors(It.point,Lt.localToWorld(new ae)).applyEuler(Le);Ge.current.position.copy(an),L()}}me.current||(me.current=!0)}}},Ye=(Ge,xt,It)=>{t(Tt=>{for(const Dt of Tt.elements)if(Dt.id===Ge){be.isFoundationOrCuboid(Dt)||(Dt.parentId=xt),Dt.cx=It.x,Dt.cy=It.y,Dt.cz=It.z;break}})},St=()=>{if(!W.current)return;const Ge={name:"Resize",timestamp:Date.now(),resizedElementId:W.current.id,resizedElementType:W.current.type,oldCx:B.current.x,oldCy:B.current.y,oldCz:B.current.z,newCx:k.current.x,newCy:k.current.y,newCz:k.current.z,oldLx:q.current.x,oldLy:q.current.y,oldLz:q.current.z,newLx:le.current.x,newLy:le.current.y,newLz:le.current.z,oldChildrenPositionsMap:new Map(N.current),newChildrenPositionsMap:new Map(j.current),oldPolygonVerticesMap:new Map(Y.current),newPolygonVerticesMap:new Map(_.current),oldChildrenParentIdMap:new Map(ee.current),newChildrenParentIdMap:new Map($.current),oldWallPointsMap:new Map(J.current),newWallPointsMap:new Map(Q.current),undo:()=>{var xt,It;if(t(Tt=>{for(const Dt of Tt.elements)if(Dt.id===Ge.resizedElementId){Dt.cx=Ge.oldCx,Dt.cy=Ge.oldCy,Dt.cz=Ge.oldCz,Dt.lx=Ge.oldLx,Dt.ly=Ge.oldLy,Dt.lz=Ge.oldLz;break}}),Ge.oldChildrenPositionsMap.size>0)for(const[Tt,Dt]of Ge.oldChildrenPositionsMap.entries()){const Lt=a(Tt);if((Lt==null?void 0:Lt.type)!==z.Polygon){t(Jt=>{for(const hn of Jt.elements)if(hn.id===Tt){if(hn.cx=Dt.x,hn.cy=Dt.y,lt(hn)||(hn.cz=Dt.z),hn.type===z.Wall){const cn=hn,Sn=Ge.oldWallPointsMap.get(cn.id);Sn&&(cn.leftPoint=[Sn[0].x,Sn[0].y,0],cn.rightPoint=[Sn[1].x,Sn[1].y,0])}break}Ge.oldWallPointsMap.size>0&&(Jt.updateWallMapOnFoundationFlag=!Jt.updateWallMapOnFoundationFlag)});const Et=(xt=Ge.oldChildrenParentIdMap)==null?void 0:xt.get(Tt),an=(It=Ge.newChildrenParentIdMap)==null?void 0:It.get(Tt);Et&&an&&Et!==an&&(_e(Et,an,Tt),De(Et,Tt))}}if(Ge.oldPolygonVerticesMap.size>0)for(const[Tt,Dt]of Ge.oldPolygonVerticesMap.entries()){const Lt=a(Tt);(Lt==null?void 0:Lt.type)===z.Polygon&&p(Tt,Dt)}},redo:()=>{var xt,It;if(t(Tt=>{for(const Dt of Tt.elements)if(Dt.id===Ge.resizedElementId){Dt.cx=Ge.newCx,Dt.cy=Ge.newCy,Dt.cz=Ge.newCz,Dt.lx=Ge.newLx,Dt.ly=Ge.newLy,Dt.lz=Ge.newLz;break}}),Ge.newChildrenPositionsMap.size>0)for(const[Tt,Dt]of Ge.newChildrenPositionsMap.entries()){t(an=>{for(const Jt of an.elements)if(Jt.id===Tt){if(Jt.cx=Dt.x,Jt.cy=Dt.y,(Jt.type!==z.SolarPanel||Jt.parentType!==z.Roof)&&(Jt.cz=Dt.z),Jt.type===z.Wall){const hn=Jt,cn=Ge.newWallPointsMap.get(hn.id);cn&&(hn.leftPoint=[cn[0].x,cn[0].y,0],hn.rightPoint=[cn[1].x,cn[1].y,0])}break}Ge.newWallPointsMap.size>0&&(an.updateWallMapOnFoundationFlag=!an.updateWallMapOnFoundationFlag)});const Lt=(xt=Ge.oldChildrenParentIdMap)==null?void 0:xt.get(Tt),Et=(It=Ge.newChildrenParentIdMap)==null?void 0:It.get(Tt);Lt&&Et&&Lt!==Et&&(_e(Et,Lt,Tt),De(Et,Tt))}if(Ge.newPolygonVerticesMap.size>0)for(const[Tt,Dt]of Ge.newPolygonVerticesMap.entries()){const Lt=a(Tt);(Lt==null?void 0:Lt.type)===z.Polygon&&p(Tt,Dt)}}};return Ge},dt=(Ge,xt)=>{var Lt,Et;const It=Ln.getState().contentRef,Tt=be.getObjectChildById(It==null?void 0:It.current,Ge.id);if(Tt){for(const an of Tt.children)if(an.name.includes(`${xt.id}`)){(Et=(Lt=Ln.getState().contentRef)==null?void 0:Lt.current)==null||Et.add(an);break}}xt.parentId=Zo;const Dt=new ae(xt.cx,xt.cy,xt.cz).applyEuler(new Qt(0,0,Ge.rotation[2])).add(B.current);xt.cx=Dt.x,xt.cy=Dt.y,xt.cz=0,j.current.set(xt.id,new ae(Dt.x,Dt.y,0)),$.current.set(xt.id,Zo)},je=Ge=>{Ge.intersections.length>0&&Ge.intersections[0].object===U.current&&t(It=>{mx.selectNone(It),It.pastePoint.copy(Ge.intersections[0].point),It.clickObjectType=z.Ground,It.contextMenuObjectType=z.Ground,It.pasteNormal=Po})},at=Ge=>{const xt=M.getState().resizeHandleType;switch(Ge.type){case z.Tree:switch(xt){case yt.Top:{const It={name:"Change Tree Height",timestamp:Date.now(),changedElementId:Ge.id,changedElementType:Ge.type,oldValue:q.current.z,newValue:Ge.lz,undo:()=>{s(It.changedElementId,It.oldValue)},redo:()=>{s(It.changedElementId,It.newValue)}};f(It),t(Tt=>{Tt.actionState.treeHeight=Ge.lz});return}case yt.Left:case yt.Right:case yt.Lower:case yt.Upper:{const It={name:"Change Tree Spread",timestamp:Date.now(),changedElementId:Ge.id,changedElementType:Ge.type,oldValue:q.current.x,newValue:Ge.lx,undo:()=>{l(It.changedElementId,It.oldValue)},redo:()=>{l(It.changedElementId,It.newValue)}};f(It),t(Tt=>{Tt.actionState.treeSpread=Ge.lx});return}}break;case z.Wall:{const It={name:"Change Wall Height",timestamp:Date.now(),changedElementId:Ge.id,changedElementType:Ge.type,oldValue:q.current.z,newValue:Ge.lz,undo:()=>{s(It.changedElementId,It.oldValue)},redo:()=>{s(It.changedElementId,It.newValue)}};f(It),t(Tt=>{Tt.actionState.wallHeight=Ge.lz});return}}if(k.current.set(Ge.cx,Ge.cy,Ge.cz),le.current.set(Ge.lx,Ge.ly,Ge.lz),ee.current.clear(),$.current.clear(),j.current.clear(),_.current.clear(),Q.current.clear(),t(It=>{if(Ge.type===z.Cuboid&&(It.actionState.cuboidHeight=Ge.lz),It.updateSceneRadius(),It.updateWallMapOnFoundationFlag=!It.updateWallMapOnFoundationFlag,Ge.parentId===Zo){for(const Tt of It.elements)if(be.isPlantOrHuman(Tt)&&Tt.parentId===Ge.id&&(ee.current.set(Tt.id,Ge.id),!be.isResizingVertical(M.getState().resizeHandleType)))if(Math.abs(q.current.z/2-Tt.cz)<.01){const Dt=new ae(Tt.cx,Tt.cy,Tt.cz).applyEuler(new Qt(0,0,Ge.rotation[2])).add(B.current).sub(k.current).applyEuler(new Qt(0,0,-Ge.rotation[2]));Math.abs(Dt.x)>Math.abs(le.current.x/2)+.01||Math.abs(Dt.y)>Math.abs(le.current.y/2)+.01?dt(Ge,Tt):(Tt.cx=Dt.x,Tt.cy=Dt.y)}else{const Dt=new ae(Tt.cx,Tt.cy,Tt.cz),Lt=new ae().subVectors(k.current,B.current),Et=new ae().subVectors(Dt,Lt);Math.abs(Dt.x/q.current.x)>.49?Math.abs(Et.y)>Ge.ly/2+.5?dt(Ge,Tt):(Tt.cx=(Dt.x>0?Ge.lx:-Ge.lx)/2,Tt.cy=Et.y):Math.abs(Dt.y/q.current.y)>.49&&(Math.abs(Et.x)>Ge.lx/2+.5?dt(Ge,Tt):(Tt.cx=Et.x,Tt.cy=(Dt.y>0?Ge.ly:-Ge.ly)/2))}}}),k.current.distanceToSquared(B.current)>kt&&le.current.distanceToSquared(q.current)>kt){if(Ge.type===z.Foundation||Ge.type===z.Cuboid){const Tt=n(Ge.id);if(Tt.length>0)for(const Dt of Tt)if(Dt.type===z.Polygon)_.current.set(Dt.id,Dt.vertices.map(Lt=>({...Lt})));else{if(Dt.type===z.Wall){const Lt=Dt,Et=new Gt(Lt.leftPoint[0],Lt.leftPoint[1]),an=new Gt(Lt.rightPoint[0],Lt.rightPoint[1]);Q.current.set(Dt.id,[Et,an])}j.current.set(Dt.id,new ae(Dt.cx,Dt.cy,Dt.cz))}if(Ge.type===z.Foundation){const Dt=tt(Ge.id);if(Dt.length>0)for(const Lt of Dt){const Et=new ae(Lt.cx,Lt.cy);j.current.set(Lt.id,Et)}}}const It=St();It&&f(It)}},ut=()=>{if(M.getState().viewState.orthographic)return!1;if(U.current){const Ge=ye.intersectObjects(D().scene.children,!0);if(Ge.length>0){for(const xt of Ge)if(xt.object.userData.stand)return!1}}return ye.intersectObjects([U.current]).length===0},wt=Ge=>{t(xt=>{for(const It of xt.elements)if(Ge.has(It.id)){const Tt=Ge.get(It.id);Tt&&(It.cx=Tt[0],It.cy=Tt[1],It.cz=Tt[2])}})},rt=(Ge,xt)=>{var Dt,Lt,Et;if(Ge.locked)return;k.current.set(Ge.cx,Ge.cy,Ge.cz);let It=ne.current,Tt=null;switch(qe(xt),Ge.type){case z.Tree:Tt=(Dt=Ln.getState().treeRef)==null?void 0:Dt.current;break;case z.Flower:Tt=(Lt=Ln.getState().flowerRef)==null?void 0:Lt.current;break;case z.Human:Tt=(Et=Ln.getState().humanRef)==null?void 0:Et.current;break}if(Tt&&me.current){const an=ye.intersectObjects(be.fetchIntersectables(E),!1),Jt=We(an);if(Jt){const hn=Jt.point;if(Jt.object.name==="Ground")Ye(Ge.id,Zo,hn),k.current.set(hn.x,hn.y,hn.z),It=Zo;else if(Jt.object.userData.stand){const cn=Fe(Jt.object),Sn=Jt.object.parent;if(Sn){const Pn=new ae().subVectors(hn,Sn.localToWorld(new ae)).applyEuler(Le);Ye(Ge.id,cn,Pn),k.current.set(Pn.x,Pn.y,Pn.z),It=cn}}}me.current=!1}if(k.current.distanceToSquared(B.current)>kt||ye.intersectObjects([U.current]).length===0){let an=!0;if(!M.getState().viewState.orthographic&&(an=k.current.length().02}if(!an||ut()){o(Ge.id,B.current.x,B.current.y,B.current.z),Tt&&be.isPlantOrHuman(Ge)&&Tt.position.copy(B.current),be.isPlantOrHuman(Ge)&&De(ne.current,Ge.id);const Jt=Ln.getState().contentRef;if(Jt!=null&&Jt.current&&ne.current&&Tt){if(ne.current===Zo)Jt.current.add(Tt);else{const hn=be.getObjectChildById(Jt.current,ne.current);hn==null||hn.add(Tt)}L()}Lo(O.t("message.CannotMoveObjectTooFar",ge))}else{if(Re.current.size>1){Ae.current.clear();for(const hn of M.getState().elements)ze.current.has(hn.id)&&Ae.current.set(hn.id,[hn.cx,hn.cy,hn.cz]);const Jt={name:"Move Foundation Group",timestamp:Date.now(),oldPositionMap:new Map(ze.current),newPositionMap:new Map(Ae.current),undo:()=>{wt(Jt.oldPositionMap)},redo:()=>{wt(Jt.newPositionMap)}};f(Jt)}else{const Jt=Ge.type===z.Cuboid,hn=Jt?Z.current:ne.current,cn=Jt?Ge.parentId:It,Sn={name:"Move",timestamp:Date.now(),movedElementId:Ge.id,movedElementType:Ge.type,oldCx:B.current.x,oldCy:B.current.y,oldCz:B.current.z,newCx:k.current.x,newCy:k.current.y,newCz:k.current.z,oldRotation:[...ie.current],newRotation:[...Ge.rotation],oldParentId:hn,newParentId:cn,undo:()=>{o(Sn.movedElementId,Sn.oldCx,Sn.oldCy,Sn.oldCz),t(Pn=>{const Un=Pn.elements.find(Ai=>Ai.id===Sn.movedElementId);Un&&Sn.oldRotation&&(Un.rotation=[...Sn.oldRotation])}),De(Sn.oldParentId,Sn.movedElementId),Sn.movedElementType&&At(Sn.movedElementType)&&_e(Sn.oldParentId,Sn.newParentId,Sn.movedElementId)},redo:()=>{o(Sn.movedElementId,Sn.newCx,Sn.newCy,Sn.newCz),t(Pn=>{const Un=Pn.elements.find(Ai=>Ai.id===Sn.movedElementId);Un&&Sn.newRotation&&(Un.rotation=[...Sn.newRotation])}),De(Sn.newParentId,Sn.movedElementId),Sn.movedElementType&&At(Sn.movedElementType)&&_e(Sn.newParentId,Sn.oldParentId,Sn.movedElementId)}};f(Sn)}Re.current.clear(),g()}}},Qe=Ge=>{pe.current=[...Ge.rotation];const xt=new ae().fromArray(ie.current);if(new ae().fromArray(pe.current).distanceToSquared(xt)>kt){const Tt={name:"Rotate",timestamp:Date.now(),rotatedElementId:Ge.id,rotatedElementType:Ge.type,oldRotation:ie.current,newRotation:pe.current,undo:()=>{i(Tt.rotatedElementId,Tt.oldRotation[0],Tt.oldRotation[1],Tt.oldRotation[2])},redo:()=>{i(Tt.rotatedElementId,Tt.newRotation[0],Tt.newRotation[1],Tt.newRotation[2])}};f(Tt)}},Oe=Ge=>{if(Ge.button!==2){if(Ln.getState().setEnableOrbitController(!0),W.current){const xt=a(W.current.id);if(xt)if(de.current)if(oe.current=!1,de.current=!1,t(It=>{It.addedFoundationId=null,It.updateSceneRadius()}),xt.lx<=.1||xt.ly<=.1)c(xt.id,!1);else{const It={name:"Add",timestamp:Date.now(),addedElement:xt,undo:()=>{c(It.addedElement.id,!1),g()},redo:()=>{t(Tt=>{Tt.elements.push(It.addedElement),Tt.selectedElement=It.addedElement,Tt.updateSceneRadius()})}};f(It)}else if(Pe.current)if(ve.current=!1,Pe.current=!1,t(It=>{It.addedCuboidId=null,It.updateSceneRadius()}),xt.lx<=.1||xt.ly<=.1)c(xt.id,!1);else{const It={name:"Add",timestamp:Date.now(),addedElement:xt,undo:()=>{c(It.addedElement.id,!1),g()},redo:()=>{t(Tt=>{Tt.elements.push(It.addedElement),Tt.selectedElement=It.addedElement,Tt.updateSceneRadius()})}};f(It)}else M.getState().resizeHandleType?at(xt):M.getState().rotateHandleType?Qe(xt):M.getState().moveHandleType&&rt(xt,Ge),xt.type===z.Foundation&>.getState().updateFoundationMovedFlag();W.current=null}t(xt=>{xt.moveHandleType=null,xt.resizeHandleType=null,xt.rotateHandleType=null}),Ln.setState({humanRef:null,treeRef:null,flowerRef:null})}},et=(Ge,xt)=>{const{pos:It}=be.getWorldDataById(Ge.id),Tt=new ae(It.x,It.y),Dt=new ae().subVectors(Tt,xt);Re.current.set(Ge.id,Dt),ze.current.set(Ge.id,[Ge.cx,Ge.cy,Ge.cz])},vt=(Ge,xt)=>{const It=Ge.intersections[0].point.clone().setZ(0);for(const Tt of M.getState().elements)hd(Tt)&&Tt.parentId===Zo&&!Tt.locked&&Tt.id!==xt.id&&!Re.current.has(Tt.id)&&!be.isChild(xt.id,Tt.id)&&!be.isChild(Tt.id,xt.id)&&be.areTwoBasesOverlapped(Tt,xt)&&(et(Tt,It),Tt.enableGroupMaster&&vt(Ge,Tt)),Tt.id===xt.id&&et(Tt,It)},ct=(Ge,xt)=>{Re.current.clear(),ze.current.clear(),xt.enableGroupMaster&&M.getState().moveHandleType&&vt(Ge,xt)},lt=Ge=>{if(Ge.type===z.SolarPanel&&Ge.parentType===z.Roof||Ge.type===z.Window&&Ge.parentType===z.Roof)return!0},tt=Ge=>M.getState().elements.filter(xt=>xt.foundationId!==Ge?!1:xt.type===z.SolarPanel&&xt.parentType===z.Roof||xt.type===z.Window&&xt.parentType===z.Roof||xt.type===z.Sensor||xt.type===z.Light),it=Ge=>{if(Ge.button===2||Ge.intersections.length===0||!U.current)return;if(oe.current){qe(Ge);const It=ye.intersectObjects([U.current]);It.length>0&&(Ln.getState().setEnableOrbitController(!1),t(Tt=>{Tt.moveHandleType=null,Tt.resizeHandleType=yt.LowerRight,Tt.resizeAnchor.copy(It[0].point)}),oe.current=!1,de.current=!0);return}if(ve.current){qe(Ge);const It=ye.intersectObjects([U.current]);It.length>0&&(Ln.getState().setEnableOrbitController(!1),t(Tt=>{var Dt;if(Tt.moveHandleType=null,Tt.resizeHandleType=yt.LowerRight,Tt.resizeAnchor.copy(It[0].point),W.current){const Lt=st(Ge,(Dt=W.current)==null?void 0:Dt.id);if(Lt){const Et=ye.intersectObjects([Lt.eventObject]);Et.length>0&&Tt.resizeAnchor.copy(Et[0].point)}}}),ve.current=!1,Pe.current=!0);return}if(Ge.intersections[0].object===U.current){if(M.getState().multiSelectionsMode||t(It=>{It.clickObjectType=z.Ground,It.selectedElement=null,mx.selectNone(It),It.contextMenuObjectType=null}),zt(y)){const It=Ge.intersections[0].point,Tt=r(T,It),Dt={name:"Add",timestamp:Date.now(),addedElement:Tt,undo:()=>{c(Dt.addedElement.id,!1),g()},redo:()=>{t(Lt=>{Lt.elements.push(Dt.addedElement),Lt.selectedElement=Dt.addedElement,Lt.updateSceneRadius()})}};f(Dt),t(Lt=>{Lt.actionModeLock||(Lt.objectTypeToAdd=z.None),Lt.updateSceneRadius()})}}else{const It=M.getState().selectedElementIdSet;if(It.size>1){const Tt=M.getState().selectedElement;if(Tt){W.current=Tt,Re.current.clear();for(const Dt of M.getState().elements)if(be.isElementAllowedMultipleMoveOnGround(Dt)&&It.has(Dt.id))if(Dt.enableGroupMaster)vt(Ge,Dt);else{const Et=Ge.intersections[0].point.clone().setZ(0);et(Dt,Et)}}}else{const Tt=e();if(Tt&&zt(Tt.type)){if(W.current=Tt,B.current.set(Tt.cx,Tt.cy,Tt.cz),q.current.set(Tt.lx,Tt.ly,Tt.lz),ie.current=[...Tt.rotation],Tt.type===z.Foundation||Tt.type===z.Cuboid){const Dt=n(Tt.id);if(N.current.clear(),Y.current.clear(),J.current.clear(),Dt.length>0)for(const Lt of Dt)if(Lt.type===z.Polygon)Y.current.set(Lt.id,Lt.vertices.map(Et=>({...Et})));else{if(Lt.type===z.Wall){const Et=Lt,an=new Gt(Et.leftPoint[0],Et.leftPoint[1]),Jt=new Gt(Et.rightPoint[0],Et.rightPoint[1]);J.current.set(Lt.id,[an,Jt])}N.current.set(Lt.id,new ae(Lt.cx,Lt.cy,Lt.cz))}if(Tt.type===z.Foundation){const Lt=tt(Tt.id);if(Lt.length>0)for(const Et of Lt){const an=new ae(Et.cx,Et.cy);N.current.set(Et.id,an)}}}switch(Tt.type){case z.Tree:ne.current=Tt.parentId,q.current.set(Tt.lx,Tt.ly,Tt.lz);break;case z.Flower:ne.current=Tt.parentId;break;case z.Human:ne.current=Tt.parentId;break;case z.Cuboid:{if(hd(Tt)&&Tt.parentId===Zo?ct(Ge,Tt):Re.current.clear(),Z.current=Tt.parentId,M.getState().moveHandleType){const{rot:hn}=be.getWorldDataById(Tt.id),cn=new Qt(0,0,hn);switch(M.getState().moveHandleType){case yo.Right:{re.current.set(-Tt.lx/2,0,0).applyEuler(cn);break}case yo.Left:{re.current.set(Tt.lx/2,0,0).applyEuler(cn);break}case yo.Lower:{re.current.set(0,Tt.ly/2,0).applyEuler(cn);break}case yo.Upper:{re.current.set(0,-Tt.ly/2,0).applyEuler(cn);break}default:{re.current.set(0,0,0);break}}}he.current.clear();const{pos:Lt,rot:Et}=be.getWorldDataById(Tt.id),an=new ae(Lt.x,Lt.y,Lt.z),Jt=n(Tt.id);if(Jt.length>0)for(const hn of Jt)switch(hn.type){case z.Cuboid:{const cn=new ae(hn.cx,hn.cy,hn.cz).applyEuler(new Qt(0,0,Et));cn.add(an),he.current.set(hn.id,cn);break}case z.Tree:case z.Flower:case z.Human:{const cn=new ae(hn.cx,hn.cy,hn.cz).applyEuler(new Qt(0,0,Et));cn.add(an),he.current.set(hn.id,cn);break}case z.SolarPanel:case z.Light:case z.Sensor:if(be.isIdentical(hn.normal,o0)){const cn=new ae(hn.cx*Tt.lx,hn.cy*Tt.ly,hn.cz*Tt.lz).applyEuler(new Qt(0,0,Et));cn.add(an),he.current.set(hn.id,cn)}break;case z.Polygon:if(be.isIdentical(hn.normal,o0)){const cn=hn,Sn=[];for(const Pn of cn.vertices){const Un=new Gt(Pn.x*Tt.lx,Pn.y*Tt.ly).rotateAround(wr,Et);Un.add(new Gt(an.x,an.y)),Sn.push(Un)}fe.current.set(cn.id,Sn)}break}break}case z.Foundation:{hd(Tt)&&ct(Ge,Tt),he.current.clear(),fe.current.clear(),se.current.clear();const Dt=new Gt(Tt.cx,Tt.cy),Lt=new ae(Tt.cx,Tt.cy,Tt.cz),Et=n(Tt.id);if(Et.length>0){const Jt=Tt.rotation[2];for(const hn of Et)switch(hn.type){case z.Wall:{const cn=hn,Sn=new Gt(cn.cx,cn.cy).rotateAround(wr,Jt);Sn.add(Dt);const Pn=new Gt(cn.leftPoint[0],cn.leftPoint[1]).rotateAround(wr,Jt);Pn.add(Dt);const Un=new Gt(cn.rightPoint[0],cn.rightPoint[1]).rotateAround(wr,Jt);Un.add(Dt),se.current.set(cn.id,{centerPointAbsPos:Sn,leftPointAbsPos:Pn,rightPointAbsPos:Un});break}case z.Tree:case z.Flower:case z.Human:{const cn=new ae(hn.cx,hn.cy,hn.cz).applyEuler(new Qt(0,0,Jt));cn.add(Lt),he.current.set(hn.id,cn);break}case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Sensor:{const cn=new ae(hn.cx*Tt.lx,hn.cy*Tt.ly,hn.cz*Tt.lz).applyEuler(new Qt(0,0,Jt));cn.add(Lt),he.current.set(hn.id,cn);break}case z.Polygon:{const cn=hn,Sn=[];for(const Pn of cn.vertices){const Un=new Gt(Pn.x*Tt.lx,Pn.y*Tt.ly).rotateAround(wr,Jt);Un.add(Dt),Sn.push(Un)}fe.current.set(cn.id,Sn);break}}}const an=tt(Tt.id);if(an.length>0){const Jt=new Qt(0,0,Tt.rotation[2]);for(const hn of an)if(hn.type===z.Window){const cn=new ae(hn.cx,hn.cy).applyEuler(Jt);cn.add(Lt),he.current.set(hn.id,cn)}else{const cn=new ae(hn.cx*Tt.lx,hn.cy*Tt.ly).applyEuler(Jt);cn.add(Lt),he.current.set(hn.id,cn)}}break}}}}}},At=Ge=>Ge===z.Human||Ge===z.Tree||Ge===z.Flower,Mt=(Ge,xt)=>{if(Ge.tempHumanPlant.length===0){const It=Ge.elements.filter(Dt=>At(Dt.type)&&be.isDescendantOf(Dt,xt));Ge.tempHumanPlant=It;const Tt=new Set(It.map(Dt=>Dt.id));Ge.elements=Ge.elements.filter(Dt=>!Tt.has(Dt.id))}},st=(Ge,xt)=>{const It=Ge.intersections.find(Dt=>{const Lt=Dt.eventObject;if(!Lt.name.includes("Cuboid"))return!1;const Et=Lt.name.split(" ");return Et.length!==2?!1:Et[1]!==xt&&Lt.userData.stackable});if(!It)return;const Tt=It.eventObject.name.split(" ")[1];if(!Re.current.has(Tt))return be.isChild(xt,Tt)?void 0:It},ft=Ge=>{if(W.current&&W.current.type&&!W.current.locked){qe(Ge);let xt;switch(W.current.type){case z.Foundation:F.current&&(xt=ye.intersectObjects([F.current]),xt.length>0&&(A?mt(xt[0].point):x?ht(xt[0].point):C&&Je(xt[0].point)));break;case z.Cuboid:if(F.current&&Ee===Kf.Horizontal&&(xt=ye.intersectObjects([F.current]),xt.length>0)){const It=xt[0].point.clone(),Tt=st(Ge,W.current.id);if(A)if(Re.current.size>1)mt(It);else if(Tt){if(xt=ye.intersectObjects([Tt.eventObject]),xt.length===0)return;It.copy(xt[0].point).add(re.current);const Dt=Tt.eventObject.name.split(" ")[1];t(Lt=>{const Et=Lt.elements.find(Jt=>{var hn;return Jt.id===((hn=Lt.selectedElement)==null?void 0:hn.id)}),an=Lt.selectedElement;if(Et&&an){const{pos:Jt,rot:hn}=be.getWorldDataById(Dt),cn=new ae().subVectors(It,Jt);if(cn.applyEuler(new Qt(0,0,-hn)),Et.cx=cn.x,Et.cy=cn.y,an.parentId!==Dt){Et.parentId!==Dt&&Mt(Lt,Et.id);const{rot:Sn}=be.getWorldDataById(an.id);Et.rotation[2]=Sn-hn,Et.parentId=Dt}else Et.parentId!==Dt&&(Et.parentId!==an.parentId&&Mt(Lt,Et.id),Et.parentId=an.parentId,Et.rotation[2]=an.rotation[2])}})}else t(Dt=>{const Lt=Dt.elements.find(Et=>Et.id===W.current.id);if(Lt&&Lt.parentId!==Zo){Lt.parentId!==Zo&&Mt(Dt,Lt.id);const{rot:Et}=be.getWorldDataById(Lt.parentId);Lt.rotation[2]+=Et,Lt.parentId=Zo}}),mt(It);else if(x){const Dt=a(W.current.id);Dt&&Dt.parentId===Zo&&ht(It)}}break}}if(U.current){if(y!==z.None){qe(Ge);const xt=ye.intersectObjects([U.current]);if(xt.length>0){const It=xt[0].point;switch(y){case z.Foundation:{const Tt=r(T,It);Tt&&(t(Dt=>{Dt.addedFoundationId=Tt.id,Dt.objectTypeToAdd=z.None}),W.current=Tt,oe.current=!0);break}case z.Cuboid:{const Tt=r(T,It);Tt&&(t(Dt=>{Dt.addedCuboidId=Tt.id,Dt.objectTypeToAdd=z.None}),W.current=Tt,ve.current=!0);break}}}}if(W.current&&(oe.current||ve.current)){qe(Ge);let xt=ye.intersectObjects([U.current]);if(xt.length===0)return;const It=xt[0].point;if(W.current.type===z.Foundation)o(W.current.id,It.x,It.y);else if(W.current.type===z.Cuboid){const Tt=st(Ge,W.current.id);if(Tt){if(xt=ye.intersectObjects([Tt.eventObject]),xt.length===0)return;It.copy(xt[0].point);const Dt=Tt.eventObject.name.split(" ")[1];t(Lt=>{const Et=Lt.elements.find(an=>{var Jt;return an.id===((Jt=W.current)==null?void 0:Jt.id)});if(Et){const{pos:an,rot:Jt}=be.getWorldDataById(Dt),hn=new ae().subVectors(It,an);hn.applyEuler(new Qt(0,0,-Jt)),Et.cx=hn.x,Et.cy=hn.y,Et.parentId=Dt,Et.rotation[2]=-Jt}})}else t(Dt=>{const Lt=Dt.elements.find(Et=>{var an;return Et.id===((an=W.current)==null?void 0:an.id)});if(Lt&&Lt.parentId!==Zo){const{rot:Et}=be.getWorldDataById(Lt.parentId);Lt.rotation[2]+=Et,Lt.parentId=Zo}}),o(W.current.id,It.x,It.y)}}}},Rt=Ge=>{if(W.current&&W.current.type&&!W.current.locked){qe(Ge);let xt;if(F.current&&Ee===Kf.Vertical&&(xt=ye.intersectObjects([F.current]),xt&&xt.length>0)){const It=xt[0].point;switch(W.current.type){case z.Tree:{const Tt=W.current;switch(x){case yt.Top:s(Tt.id,It.z),t(Dt=>{Dt.selectedElementHeight=Math.max(1,It.z)});break;case yt.Left:case yt.Right:case yt.Upper:case yt.Lower:l(Tt.id,2*Math.hypot(It.x-Tt.cx,It.y-Tt.cy));break}ot(Ln.getState().treeRef,Ge);break}case z.Flower:{ot(Ln.getState().flowerRef,Ge);break}case z.Human:{ot(Ln.getState().humanRef,Ge);break}}}}},zt=Ge=>Ge===z.Foundation||Ge===z.Cuboid||Ge===z.Tree||Ge===z.Flower||Ge===z.Human,Xe=(Ge,xt,It,Tt,Dt)=>{if(Ge){for(const Lt of Ge.children)if(Lt.name.includes("Human")||Lt.name.includes("Tree")||Lt.name.includes("Flower")){const Et=Fe(Lt),an=he.current.get(Et);if(an)if(Math.abs(q.current.z/2-Lt.position.z)<.01){const Jt=new ae().subVectors(an,Tt).applyEuler(new Qt(0,0,-Dt));Lt.position.setX(Jt.x),Lt.position.setY(Jt.y)}else{const Jt=new ae().subVectors(an,B.current).applyEuler(new Qt(0,0,-Dt)),hn=new ae().subVectors(Tt,B.current),cn=new ae().subVectors(Jt,hn);Math.abs(Jt.x/q.current.x)>.49?(Lt.position.setX((Jt.x>0?xt:-xt)/2),Lt.position.setY(cn.y)):Math.abs(Jt.y/q.current.y)>.49&&(Lt.position.setX(cn.x),Lt.position.setY((Jt.y>0?It:-It)/2))}}}},ht=Ge=>{if(!W.current)return;const xt=new Gt(Ge.x,Ge.y),It=new Gt(b.x,b.y),Tt=It.distanceTo(xt),Dt=Math.atan2(xt.x-b.x,xt.y-b.y)+W.current.rotation[2];let Lt=Math.abs(Tt*Math.sin(Dt)),Et=Math.abs(Tt*Math.cos(Dt));const an=new Gt().addVectors(xt,It).multiplyScalar(.5);if(W.current.type===z.Cuboid&&(x===yt.Lower||x===yt.Upper||x===yt.Left||x===yt.Right)){const Jt=new ae(b.x,b.y),hn=W.current.rotation[2],cn=new ae(Ge.x,Ge.y).sub(Jt).applyEuler(new Qt(0,0,-hn)),Sn=new ae(1,0,0);(x===yt.Upper||x===yt.Lower)&&Sn.set(0,1,0),Sn.applyEuler(new Qt(0,0,hn));const Pn=Jt.clone().add(Sn.clone().multiplyScalar(cn.x/2));x===yt.Left||x===yt.Right?(Lt=Math.abs(cn.x),Et=W.current.ly):(x===yt.Upper||x===yt.Lower)&&(Lt=W.current.lx,Et=Math.abs(cn.y),Pn.copy(Jt.add(Sn.clone().multiplyScalar(cn.y/2)))),an.x=Pn.x,an.y=Pn.y}switch(t(Jt=>{if(!W.current)return;let hn=!1;for(const cn of Jt.elements)if(cn.id===W.current.id){switch(cn.type){case z.Cuboid:case z.Foundation:{const Sn=n(cn.id);if(Sn.length>0){const Pn=[];for(const Ai of Sn){if(be.isPlantOrHuman(Ai))continue;const vo=JSON.parse(JSON.stringify(Ai));if(Pn.push(vo),be.isIdentical(vo.normal,o0))if(Ai.type===z.Wall){const Oo=se.current.get(Ai.id);if(Oo){const li=-cn.rotation[2],{centerPointAbsPos:po,leftPointAbsPos:eo,rightPointAbsPos:uo}=Oo,qo=new Gt().subVectors(po,an).rotateAround(wr,li),Hi=new Gt().subVectors(eo,an).rotateAround(wr,li),vi=new Gt().subVectors(uo,an).rotateAround(wr,li);switch(x){case yt.Lower:case yt.Upper:vo.cy=qo.y;break;case yt.Left:case yt.Right:vo.cx=qo.x;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:vo.cx=qo.x,vo.cy=qo.y;break}vo.leftPoint=[Hi.x,Hi.y,0],vo.rightPoint=[vi.x,vi.y,0]}}else{const Oo=he.current.get(Ai.id);if(Oo){const li=-cn.rotation[2],po=new Gt().subVectors(new Gt(Oo.x,Oo.y),an).rotateAround(wr,li);switch(x){case yt.Lower:case yt.Upper:vo.cy=po.y/Et;break;case yt.Left:case yt.Right:vo.cx=po.x/Lt;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:vo.cx=po.x/Lt,vo.cy=po.y/Et;break}}}}const Un=JSON.parse(JSON.stringify(cn));switch(x){case yt.Lower:case yt.Upper:case yt.Left:case yt.Right:case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:Un.lx=Lt,Un.ly=Et,Un.cx=an.x,Un.cy=an.y;break}if(be.doesParentContainAllChildren(Un,Pn)){switch(x){case yt.Lower:case yt.Upper:case yt.Left:case yt.Right:case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.lx=Lt,cn.ly=Et,cn.cx=an.x,cn.cy=an.y;break}hn=!0}}else if(Lt>.49&&Et>.49){switch(x){case yt.Lower:case yt.Upper:case yt.Left:case yt.Right:case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.lx=Lt,cn.ly=Et,cn.cx=an.x,cn.cy=an.y;break}hn=!0}break}}break}if(hn)for(const cn of Jt.elements){if(cn.parentId===W.current.id)switch(cn.type){case z.Wall:{const Sn=cn,Pn=se.current.get(cn.id);if(Pn){const Un=-W.current.rotation[2],{centerPointAbsPos:Ai,leftPointAbsPos:vo,rightPointAbsPos:Oo}=Pn,li=new Gt().subVectors(Ai,an).rotateAround(wr,Un),po=new Gt().subVectors(vo,an).rotateAround(wr,Un),eo=new Gt().subVectors(Oo,an).rotateAround(wr,Un);switch(x){case yt.Lower:case yt.Upper:cn.cy=li.y;break;case yt.Left:case yt.Right:cn.cx=li.x;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.cx=li.x,cn.cy=li.y;break}Sn.leftPoint=[po.x,po.y,0],Sn.rightPoint=[eo.x,eo.y,0]}break}case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Sensor:if(be.isIdentical(cn.normal,o0)){const Sn=he.current.get(cn.id);if(Sn){const Pn=new Gt().subVectors(new Gt(Sn.x,Sn.y),an).rotateAround(wr,-W.current.rotation[2]);switch(x){case yt.Lower:case yt.Upper:cn.cy=Pn.y/Et;break;case yt.Left:case yt.Right:cn.cx=Pn.x/Lt;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.cx=Pn.x/Lt,cn.cy=Pn.y/Et;break}}}break;case z.Cuboid:{const Sn=he.current.get(cn.id);if(Sn){const Pn=new Gt().subVectors(new Gt(Sn.x,Sn.y),an).rotateAround(wr,-W.current.rotation[2]);switch(x){case yt.Lower:case yt.Upper:cn.cy=Pn.y;break;case yt.Left:case yt.Right:cn.cx=Pn.x;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.cx=Pn.x,cn.cy=Pn.y;break}}break}case z.Polygon:if(be.isIdentical(cn.normal,o0)){const Sn=cn,Pn=fe.current.get(Sn.id);if(Pn){const Un=[];Pn.forEach(Ai=>{const vo=new Gt().subVectors(Ai,an).rotateAround(wr,-W.current.rotation[2]);Un.push({x:vo.x/Lt,y:vo.y/Et})}),Sn.vertices=Un}}break}if(cn.foundationId===W.current.id&&cn.type===z.SolarPanel&&cn.parentType===z.Roof){const Sn=he.current.get(cn.id);if(Sn){const Pn=new Gt().subVectors(new Gt(Sn.x,Sn.y),an).rotateAround(wr,-W.current.rotation[2]);switch(x){case yt.Lower:case yt.Upper:cn.cy=Pn.y/Et;break;case yt.Left:case yt.Right:cn.cx=Pn.x/Lt;break;case yt.LowerLeft:case yt.LowerRight:case yt.UpperLeft:case yt.UpperRight:cn.cx=Pn.x/Lt,cn.cy=Pn.y/Et;break}}}if(cn.foundationId===W.current.id&&cn.type===z.Window&&cn.parentType===z.Roof){const Sn=he.current.get(cn.id);if(Sn){const Pn=new Gt().subVectors(new Gt(Sn.x,Sn.y),an).rotateAround(wr,-W.current.rotation[2]);cn.cx=Pn.x,cn.cy=Pn.y}}}}),W.current.type){case z.Foundation:{const Jt=Ln.getState().foundationRef;Jt!=null&&Jt.current&&Xe(Jt==null?void 0:Jt.current,Lt,Et,Jt.current.position,W.current.rotation[2]);break}case z.Cuboid:{const Jt=Ln.getState().cuboidRef;Jt!=null&&Jt.current&&Jt.current.parent&&Xe(Jt==null?void 0:Jt.current,Lt,Et,Jt.current.parent.position,W.current.rotation[2]);break}}},Je=Ge=>{const{cx:xt,cy:It}=W.current,Tt=Math.atan2(xt-Ge.x,Ge.y-It)+(C===wi.Upper?0:Math.PI),Dt=Math.abs(Tt)>Math.PI?-Math.sign(Tt)*na:0;i(W.current.id,0,0,Tt+Dt)},mt=Ge=>{const xt=Re.current.size>1;if(xt){t(Et=>{for(const an of Et.elements)if(hd(an)&&Re.current.has(an.id)){const Jt=Re.current.get(an.id);Jt&&(an.cx=Ge.x+Jt.x,an.cy=Ge.y+Jt.y)}});return}let It,Tt;const Dt=W.current.lx/2,Lt=W.current.ly/2;switch(A){case yo.Top:{if(xt){const Et=new ae(Ge.x,Ge.y);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,Ge.x,Ge.y);break}case yo.Upper:if(It=Ge.x+Ce*Lt,Tt=Ge.y-Ie*Lt,xt){const Et=new ae(It,Tt);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,It,Tt);break;case yo.Lower:if(It=Ge.x-Ce*Lt,Tt=Ge.y+Ie*Lt,xt){const Et=new ae(It,Tt);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,It,Tt);break;case yo.Left:if(It=Ge.x+Ie*Dt,Tt=Ge.y+Ce*Dt,xt){const Et=new ae(It,Tt);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,It,Tt);break;case yo.Right:if(It=Ge.x-Ie*Dt,Tt=Ge.y-Ce*Dt,xt){const Et=new ae(It,Tt);t(an=>{for(const Jt of an.elements)if(Jt.id===W.current.id)Jt.cx=Et.x,Jt.cy=Et.y;else if(Re.current.has(Jt.id)){const hn=Re.current.get(Jt.id);if(hn){const cn=new ae().addVectors(Et,hn);Jt.cx=cn.x,Jt.cy=cn.y}}})}else o(W.current.id,It,Tt);break}};return h.jsxs(h.Fragment,{children:[W.current&&Ee!==Kf.Ground&&h.jsx(sa,{ref:F,visible:!1,name:"Ground Intersection Plane",rotation:Ne,position:Ue,args:[1e5,1e5],onPointerMove:M2.throttle(Rt,Ek),children:h.jsx("meshStandardMaterial",{side:ji,opacity:.5,transparent:!0})}),h.jsx(sa,{receiveShadow:v,ref:U,name:"Ground",userData:{stand:!0},rotation:[0,0,0],position:[0,0,0],args:[1e4,1e4],renderOrder:-2,onContextMenu:je,onPointerDown:it,onPointerMove:M2.throttle(ft,Ek),children:H&&!w?h.jsx("meshBasicMaterial",{color:S}):h.jsx("meshStandardMaterial",{depthTest:!1,color:w?"white":S,map:w?be.WATER_TEXTURE:be.WHITE_TEXTURE,needsUpdate:!0})})]})}),zre=48,Ren=72,Hen=12,Men=Se.memo(({date:t,hourAngle:e,declinationAngle:n,worldLatitude:o})=>{const i=M(mh),r=M(bBe),a=M(pBe)??!0,l=M(gBe)??!0,s=M(mBe)??!0,[c,u]=m.useState(be.toRadians(42)),d=Ab(hye),f=Math.max(2,i*.2),p=Math.max(.4,i*.025),g=aA(lq,nQ),y=i*.05,A={font:g,height:0,size:y},x=6,C=new Array(2*x+1).fill(0),b=_=>_===0?-y*.3:_>0&&_<7?-y*.8:-y*1.2;m.useEffect(()=>{u(be.toRadians(o))},[o]);const v=6,[S,w]=m.useMemo(()=>{const _=new Ur,J=new Ur,Q=[],ee=[],$=na/Ren;let q=0;for(let Z=0;Zkt&&(fe=.05*i+(q%3===0?.2:0),se=new ae(i,he,0),se.z=.002,ee.push(be.sphericalToCartesianZ(se)),se=new ae(i+fe,he,0),se.z=.002,ee.push(be.sphericalToCartesianZ(se))),q++}const le=Q.length*3,ie=new Float32Array(le),pe=new Float32Array(le),ne=new Float32Array(le);for(let Z=0;Z{const _=[],J=sl(t,be.toDegrees(c)),Q=ZY(J.sunrise),ee=ZY(J.sunset),$=(ee-Q)/zre;for(let q=Q;q-.01&&_.push(le)}return _},[t,c,i,n]),P=_=>{const J=QW(_),Q=[],ee=sl(_,be.toDegrees(c)),$=ZY(ee.sunrise),q=ZY(ee.sunset),le=(q-$)/zre;for(let ie=$;ie-.01&&Q.push(pe)}return Q},R=m.useMemo(()=>{const _=[];for(let J=0;J<=v;J++){const Q=new Date(2021,J===0?11:J-1,22);_.push(P(Q))}return _},[c,i]),H=m.useMemo(()=>$5(i,e,n,c),[c,n,e,i]),D=m.useMemo(()=>H.clone().normalize(),[H]),E=m.useMemo(()=>new ae(H.x,H.y,0).normalize(),[H]),L=m.useMemo(()=>Math.asin(H.z/H.length()),[H]),U=m.useMemo(()=>{const J=new P2(0,0,f,f,0,L,!1,0).getPoints(25),Q=new Array;for(const ee of J)Q.push(new ae(ee.x,ee.y,0));return Q},[L,H,f]),F=m.useMemo(()=>Math.acos(H.z/H.length()),[H]),W=m.useMemo(()=>{const J=new P2(0,0,f*.8,f*.8,L,Vt,!1,0).getPoints(25),Q=new Array;for(const ee of J)Q.push(new ae(ee.x,ee.y,0));return Q},[F,H,f,L]),B=m.useMemo(()=>{const _=Math.acos(H.y/Math.hypot(H.x,H.y));return H.x>0?-_:_},[H]),k=m.useMemo(()=>{const J=new P2(0,0,f*1.2,f*1.2,Vt,Vt+B,H.x>0,0).getPoints(50),Q=new Array;for(const ee of J)Q.push(new ae(ee.x,ee.y,0));return Q},[B,H,f]),N=m.useMemo(()=>{const _=2*eP/Hen,J=na/zre,Q=new Ur;let ee=0;const $=[],q=[];for(let le=-eP;leMath.PI&&(pe=Math.PI),ne>eP&&(ne=eP);const Z=$5(i,ie,le,c),he=$5(i,pe,le,c),fe=$5(i,pe,ne,c),se=$5(i,ie,ne,c);(Z.z>=0||he.z>=0||fe.z>=0||se.z>=0)&&($.push(Z,he,fe,se),q.push(ee),q.push(ee+1),q.push(ee+2),q.push(ee),q.push(ee+2),q.push(ee+3),ee+=4)}return Q.setFromPoints($),Q.setIndex(new qa(new Uint16Array(q),1)),Q},[c,i]),j=.05*i,Y=2+5*j;return h.jsxs("group",{children:[C.map((_,J)=>{let Q=Math.ceil(J/2)*(J%2===0?1:-1);Q===-x&&(Q=x);const ee=b(Math.abs(Q));return h.jsx("group",{rotation:[Vt,Q*Math.PI/x,0],children:h.jsxs("mesh",{position:[ee,0,-i*1.1],rotation:[-Vt,0,0],children:[h.jsx("textGeometry",{args:[`${-(180/x)*Q}°`,A]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]})},J)}),h.jsxs("mesh",{rotation:new Qt(0,0,0),name:"Heliodon",children:[h.jsxs("mesh",{children:[h.jsx("bufferGeometry",{...S}),h.jsx("meshBasicMaterial",{side:ji,vertexColors:!0,polygonOffset:!0,polygonOffsetFactor:-.7,polygonOffsetUnits:-2})]}),h.jsxs("lineSegments",{children:[h.jsx("bufferGeometry",{...w}),h.jsx("meshBasicMaterial",{color:0})]}),h.jsxs("mesh",{children:[T.length>3&&h.jsx(Fn,{lineWidth:2,points:T,color:"yellow"}),R.filter(_=>_.length>3).map((_,J)=>h.jsx(Fn,{opacity:J===0||J===v?1:.5,lineWidth:J===0||J===v?1:.5,points:_,color:"#999"},J)),h.jsx("mesh",{args:[N],children:h.jsx("meshBasicMaterial",{side:ji,color:[1,1,0],transparent:!0,opacity:.5,depthWrite:!1,clippingPlanes:[new Q5(Yc,0)]})}),h.jsx("mesh",{position:H,children:h.jsx("sprite",{scale:[Y,Y,Y],children:h.jsx("spriteMaterial",{map:d,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})}),h.jsxs("mesh",{position:H,children:[h.jsx("sphereGeometry",{args:[j,10,10]}),h.jsx("meshBasicMaterial",{color:"white"})]})]})]}),h.jsx(sa,{args:[1e4,1e4],renderOrder:-1,userData:{unintersectable:!0},children:h.jsx("meshBasicMaterial",{transparent:!0,opacity:0})}),r&&H.z>0&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[H.x,H.y,H.z]],name:"Line from origin to sun",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[H.x,H.y,0]],name:"Line from origin to sun projection on ground",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[H.x,H.y,0],[H.x,H.y,H.z]],name:"Line from sun projection on ground to sun",lineWidth:.5,color:"white"}),l&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:U,position:[0,0,0],rotation:new Qt(Vt,0,Vt+B,"ZXY"),color:"white",name:"Elevation Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Elevation Angle",backgroundColor:"indigo",text:be.toDegrees(L).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:D.clone().multiplyScalar(f).add(E.clone().multiplyScalar(f)).multiplyScalar(.65)})]}),s&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:W,position:[0,0,0],rotation:new Qt(Vt,0,Vt+B,"ZXY"),color:"white",name:"Zenith Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Zenith Angle",backgroundColor:"navy",text:be.toDegrees(F).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:D.clone().multiplyScalar(f).add(Po.clone().multiplyScalar(f)).multiplyScalar(.57)})]}),a&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:k,position:[0,0,0],color:"white",name:"Azimuth Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Azimuth Angle",backgroundColor:"firebrick",text:be.toDegrees(Math.abs(B-Math.PI)<1e-6?B:-B).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:E.clone().multiplyScalar(f).add(Yc.clone().multiplyScalar(f)).multiplyScalar(1.1).add(new ae(0,0,p/2))})]})]})]})}),Ien=Se.memo(()=>{const t=M(xBe),e=M(mh),n=M(Xs),o=M(Ya),i=M(b7t),r=m.useMemo(()=>new Date(o),[o]),[a,l]=m.useMemo(()=>[fye(r),QW(r)],[r]);return m.useEffect(()=>{i($5(e,a,l,be.toRadians(n)))},[n,a,l,e]),h.jsx(h.Fragment,{children:t&&h.jsx(Men,{date:new Date(o),hourAngle:a,declinationAngle:l,worldLatitude:n})})}),yTe="/aladdin/assets/ifi-logo-CwxGDl7t.png",zen="/aladdin/assets/magic-lamp-XxXOV1dq.png",Den=Se.memo(({top:t,height:e,color:n})=>{const o=M(Sc),i=m.useMemo(()=>({lng:o}),[o]),r=t+56+"px",a=t+100+"px",l=t+205+"px";return h.jsxs("div",{children:[h.jsxs("div",{style:{position:"absolute",borderRadius:"20px",border:"thin",textAlign:"center",left:"15%",right:"15%",top:t+"px",height:(e??300)+"px"},children:[h.jsx("h2",{style:{marginTop:"20px",color:n},children:O.t("aboutUs.ProductBroughtToYouBy",i)}),h.jsxs("p",{style:{paddingTop:"6px",fontSize:"12px",color:n},children:[h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-terms.html",style:{color:n,textDecoration:"none"},children:O.t("aboutUs.TermsOfService",i)}),"   |   ",h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-privacy.html",style:{color:n,textDecoration:"none"},children:O.t("aboutUs.PrivacyPolicy",i)})]})]}),h.jsxs("div",{children:[h.jsx("hr",{style:{position:"absolute",left:"10%",width:"80%",marginTop:r,color:n}}),h.jsx("table",{style:{position:"absolute",border:"none",top:a,left:"10%",width:"80%",fontSize:"small",color:n},children:h.jsx("tbody",{children:h.jsxs("tr",{style:{verticalAlign:"top"},children:[h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:O.t("aboutUs.Software",i)}),"Xiaotong Ding",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]}),h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:O.t("aboutUs.Content",i)}),"Elena Sereiviene",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]}),h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:O.t("aboutUs.Support",i)}),"Elena Sereiviene",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]})]})})})]}),h.jsxs("div",{style:{position:"absolute",left:"10%",marginRight:"10%",top:l,fontSize:"12px",textAlign:"justify",color:n},children:[O.t("aboutUs.Translators",i),": ",Z5.Ukrainian," (Andriy Kashyrskyy), ",Z5.Spanish," (Alex Barco), ",Z5.Turkish," (Hasan Bircan)",h.jsx("br",{}),h.jsx("br",{}),O.t("aboutUs.Acknowledgment",i),": ",O.t("aboutUs.FundingInformation",i)," ",O.t("aboutUs.Contact",i)]})]})}),Een=Ho.div` position: absolute; top: 80px; left: 10px; @@ -4873,32 +4873,32 @@ function print() { __p += __j.call(arguments, '') } border-radius: 10px; background: dimgray; box-shadow: 3px 3px 3px 3px black; -`,Len=Se.memo(({close:t})=>{const e=M(Sc);return h.jsxs(Fen,{children:[h.jsx(ken,{top:10,color:"antiquewhite"}),h.jsx("div",{style:{position:"absolute",fontSize:"small",color:"antiquewhite",cursor:"pointer",bottom:"10px"},onMouseDown:()=>{t()},children:O.t("word.Close",{lng:e})})]})});var Wen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 00-12.8 0l-48 48a9.11 9.11 0 000 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z"}}]},name:"bg-colors",theme:"outlined"},Nen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Wen}))},Uen=m.forwardRef(Nen),Ben={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"}}]},name:"camera",theme:"outlined"},jen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ben}))},_u=m.forwardRef(jen),Yen={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z"}}]},name:"caret-right",theme:"outlined"},Oen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Yen}))},vh=m.forwardRef(Oen),_en={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z"}}]},name:"carry-out",theme:"outlined"},Ven=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:_en}))},Gen=m.forwardRef(Ven),Xen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"},Jen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Xen}))},Ken=m.forwardRef(Jen),qen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M518.3 459a8 8 0 00-12.6 0l-112 141.7a7.98 7.98 0 006.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z"}},{tag:"path",attrs:{d:"M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 01-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z"}}]},name:"cloud-upload",theme:"outlined"},$en=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:qen}))},Qen=m.forwardRef($en),Zen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"down-circle",theme:"outlined"},etn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Zen}))},ttn=m.forwardRef(etn),ntn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z"}}]},name:"edit",theme:"filled"},otn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ntn}))},itn=m.forwardRef(otn),rtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"},atn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:rtn}))},qm=m.forwardRef(atn),ltn={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z"}}]},name:"import",theme:"outlined"},stn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ltn}))},ctn=m.forwardRef(stn),utn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M603.3 327.5l-246 178a7.95 7.95 0 000 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"left-circle",theme:"outlined"},dtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:utn}))},ftn=m.forwardRef(dtn),htn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"}}]},name:"link",theme:"outlined"},ptn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:htn}))},gtn=m.forwardRef(ptn),mtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M456 231a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"more",theme:"outlined"},ytn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:mtn}))},Atn=m.forwardRef(ytn),wtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z"}}]},name:"pushpin",theme:"filled"},vtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:wtn}))},xtn=m.forwardRef(vtn),btn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 00-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 01-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z"}}]},name:"pushpin",theme:"outlined"},Stn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:btn}))},ATe=m.forwardRef(Stn),Ttn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M666.7 505.5l-246-178A8 8 0 00408 334v46.9c0 10.2 4.9 19.9 13.2 25.9L566.6 512 421.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.8 0-13z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"right-circle",theme:"outlined"},Ptn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ttn}))},g$e=m.forwardRef(Ptn),Ctn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z"}}]},name:"save",theme:"outlined"},Rtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ctn}))},bf=m.forwardRef(Rtn),Htn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"}}]},name:"setting",theme:"outlined"},Mtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Htn}))},Itn=m.forwardRef(Mtn),ztn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z"}}]},name:"sort-ascending",theme:"outlined"},Dtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ztn}))},Etn=m.forwardRef(Dtn),ktn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z"}}]},name:"sort-descending",theme:"outlined"},Ftn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ktn}))},Ltn=m.forwardRef(Ftn),Wtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"unordered-list",theme:"outlined"},Ntn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Wtn}))},du=m.forwardRef(Ntn),Utn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M518.5 360.3a7.95 7.95 0 00-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"up-circle",theme:"outlined"},Btn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Utn}))},jtn=m.forwardRef(Btn),Ytn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},Otn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ytn}))},_tn=m.forwardRef(Otn),Vtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z"}}]},name:"vertical-align-bottom",theme:"outlined"},Gtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Vtn}))},Xtn=m.forwardRef(Gtn),Jtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},Ktn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Jtn}))},KG=m.forwardRef(Ktn);const qtn="pSdH5rJWovu8hchgLSnsqT",$tn="02/02/2023 12:24 pm",Qtn=1675358675337,Ztn="QWecNcxhyvP6j6sBN11hBsfZDau1",enn=null,tnn=null,nnn={latitude:42.2844063,timesPerHour:20,date:"1/22/2022 10:15:00 AM",longitude:-71.3488548,name:"default",address:"Natick, MA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857},onn=[{cy:1.9385448115528998,name:"June",type:"Human",cz:11465644746167777e-31,normal:[0,1,0],cx:-2.72710574788732,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"Ground"}],inn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:0,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:0,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:0,showYearlyLightSensorPanel:!1,weatherPanelY:0,heliodonPanelX:-6,showStickyNotePanel:!0,groundColor:"#16cda5",weatherPanelX:0,heliodonPanelY:9,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[-2.2645315712935465,-19.016408185270922,3.0537676736998205],panCenter:[1.9284721678646957,1.0746189678250615,2.420128405670479],orthographic:!1,enableRotate:!0,cameraZoom:24.55475326309651,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999799],panCenter2D:[0,0,0],showSunAngles:!0,stickyNotePanelRect:{x:-5,y:-2,width:309,height:64}},rnn=1,ann={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},lnn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},snn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},cnn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},unn=["Sun angles relative to the ground"],dnn={docid:qtn,time:$tn,timestamp:Qtn,userid:Ztn,owner:enn,email:tnn,world:nnn,elements:onn,view:inn,evolutionMethod:rnn,solarPanelArrayLayoutParams:ann,solarPanelArrayLayoutConstraints:lnn,evolutionaryAlgorithmState:snn,economicsParams:cnn,notes:unn},fnn="aLZxDeCyLDDueFWdBcXne3",hnn="02/02/2023 12:27 pm",pnn=1675358863088,gnn="QWecNcxhyvP6j6sBN11hBsfZDau1",mnn=null,ynn=null,Ann={latitude:0,timesPerHour:6,date:"9/22/2022, 3:00:00 PM",longitude:-71.3488548,name:"default",address:"",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857,noAnimationForSensorDataCollection:!0},wnn=[{cy:-3.793749931074972,name:"Jeanette",type:"Human",cz:0,normal:[0,1,0],cx:-1.8371287635005462,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"Ground",lx:.4,ly:.6,lz:1.62},{type:"Foundation",cx:-.02034256309656146,cy:-.0945631153454527,cz:.05,lx:4.039349774896637,ly:4.009416382499952,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"vtjS16tFJ2nQYaRPqaTXtD",textureType:"Foundation Texture #2"},{type:"Sensor",cx:.24583065540477922,cy:-.24570551313996075,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"vtjS16tFJ2nQYaRPqaTXtD",foundationId:"vtjS16tFJ2nQYaRPqaTXtD",id:"1RgbN67ETfax1aEC4UN1sd",selected:!1}],vnn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:5,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:203,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:-31,showYearlyLightSensorPanel:!0,weatherPanelY:0,heliodonPanelX:-5,showStickyNotePanel:!0,groundColor:"#16cda5",weatherPanelX:0,heliodonPanelY:4,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:-1,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[14.252594110627898,-20.834202556609767,6.804345920821559],panCenter:[0,0,0],orthographic:!1,enableRotate:!0,cameraZoom:58.72652247402654,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999795],panCenter2D:[0,0,0],showSunAngles:!0,stickyNotePanelRect:{x:1204,y:154,width:595,height:199},yearlyLightSensorPanelRect:{x:-1284,y:2,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1},xnn=1,bnn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Snn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Tnn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Pnn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Cnn=["The solar radiation at different locations of the Earth in different seasons is largely responsible for local climate. Overall, every place on the Earth has about the same hours of daylight in total (ideally 12×365=4,380 hours), regardless of where it is. However, the distribution throughout the year is vastly different, resulting in large temperature variations across the globe. You can change the latitude to investigate these relationships. Make sure to refresh the graph after changing any variables."],Rnn={docid:fnn,time:hnn,timestamp:pnn,userid:gnn,owner:mnn,email:ynn,world:Ann,elements:wnn,view:vnn,evolutionMethod:xnn,solarPanelArrayLayoutParams:bnn,solarPanelArrayLayoutConstraints:Snn,evolutionaryAlgorithmState:Tnn,economicsParams:Pnn,notes:Cnn},Hnn="3DwyXjJjUExjZ1f5APPdnu",Mnn="11/13/2022 04:59 pm",Inn=1668376781695,znn="QWecNcxhyvP6j6sBN11hBsfZDau1",Dnn=null,Enn=null,knn={date:"6/22/2022 1:00:00 PM",timesPerHour:6,address:"Natick, MA",latitude:42.2844063,longitude:-71.3488548,name:"default",orthographic:!1,cameraZoom:35,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!0},Fnn=[{selected:!1,cz:-.00999999999999913,cx:-.2955982837076121,type:"Human",id:"3NsNQgPftGsbYSoSRa2zV4",normal:[0,1,0],cy:3.9255960830681698,name:"Jack",rotation:[0,0,0],parentId:"Ground",lx:.42,ly:.42,lz:1.8},{selected:!1,cy:4.081504375344256,name:"Jacqueline",rotation:[0,0,0],normal:[0,1,0],id:"xaNFgEDtpNwZNyUWnndg4x",cz:-.009999999999999095,type:"Human",cx:2.399220108700476,parentId:"Ground",lx:.43,ly:.6,lz:1.78},{cx:.20566332108722207,color:"gray",cz:2,type:"Cuboid",lz:4,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.646712311386908,cy:.10935014088128625,rotation:[0,0,0],lx:2.2290047878920136,id:"2QtCNEmEF6Mcs3vbbR96ZT",selected:!1,parentId:"Ground"},{ly:.1,selected:!1,type:"Sensor",showLabel:!0,normal:[0,0,1],lz:.01,rotation:[0,0,0],lx:.1,cz:.5,cx:.03109721392634064,cy:.16878784903489202,id:"iqgmPt2Nm3r4bW8A7g6DJy",label:"Top",parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{label:"North",rotation:[0,0,0],ly:.1,normal:[0,1,0],cy:.4999999988722325,type:"Sensor",showLabel:!0,selected:!1,id:"soQWet6PH9YYEVPLyKPtZ1",cz:-.036155842645941405,lx:.1,lz:.01,cx:-.0014535790327764226,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{normal:[1,0,0],cz:.012842850721372034,cy:-.02894757303561696,ly:.1,lz:.01,label:"East",id:"g3pxtSA3CsXPiogBgtEeYs",lx:.1,showLabel:!0,rotation:[0,0,0],type:"Sensor",cx:.5000000161579515,selected:!1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{lz:.01,showLabel:!0,rotation:[0,0,0],cy:-.4999999988722335,selected:!1,id:"1GCXGRbm6nuTH23uA8Yngz",cx:.028086152131634783,normal:[0,-1,0],cz:-.16060425332465766,ly:.1,type:"Sensor",label:"South",lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{selected:!1,ly:.1,normal:[-1,0,0],rotation:[0,0,0],id:"9Aqk7YM1qj7eBSDfhRzr51",cy:-.0010171489984738787,label:"West",cz:.04694614030299604,cx:-.5000000161579532,type:"Sensor",showLabel:!0,lz:.01,lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"}],Lnn={showDailyLightSensorPanel:!0,showYearlyLightSensorPanel:!1,autoRotate:!1,showGroundPanel:!1,yearlyLightSensorPanelY:70,stickyNotePanelX:6,mapType:"roadmap",weatherPanelY:0,shadowEnabled:!0,theme:"Default",stickyNotePanelY:0,mapWeatherStations:!1,groundColor:"#16cda5",heliodon:!0,dailyLightSensorPanelX:-19,axes:!0,showWeatherPanel:!1,dailyLightSensorPanelY:15,mapTilt:0,heliodonPanelX:-1235,groundPanelY:0,heliodonPanelY:7,groundImage:!1,mapZoom:16,showStickyNotePanel:!0,groundPanelX:0,weatherPanelX:0,yearlyLightSensorPanelX:-905,showHeliodonPanel:!1,cameraPosition:[11.69562560736218,15.284097405092108,4.526997191755329],panCenter:[-2.432389491951708,.8034413072625061,1.0138875329134873],orthographic:!1,enableRotate:!0,cameraZoom:28.63945562104857,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997991],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360}},Wnn=1,Nnn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Unn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Bnn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},jnn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ynn=[`Solar radiation to a box +`,ken=Se.memo(({close:t})=>{const e=M(Sc);return h.jsxs(Een,{children:[h.jsx(Den,{top:10,color:"antiquewhite"}),h.jsx("div",{style:{position:"absolute",fontSize:"small",color:"antiquewhite",cursor:"pointer",bottom:"10px"},onMouseDown:()=>{t()},children:O.t("word.Close",{lng:e})})]})});var Fen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 00-12.8 0l-48 48a9.11 9.11 0 000 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z"}}]},name:"bg-colors",theme:"outlined"},Len=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Fen}))},Wen=m.forwardRef(Len),Nen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"}}]},name:"camera",theme:"outlined"},Uen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Nen}))},_u=m.forwardRef(Uen),Ben={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z"}}]},name:"caret-right",theme:"outlined"},jen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ben}))},vh=m.forwardRef(jen),Yen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z"}}]},name:"carry-out",theme:"outlined"},Oen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Yen}))},_en=m.forwardRef(Oen),Ven={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"},Gen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ven}))},Xen=m.forwardRef(Gen),Jen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M518.3 459a8 8 0 00-12.6 0l-112 141.7a7.98 7.98 0 006.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z"}},{tag:"path",attrs:{d:"M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 01-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z"}}]},name:"cloud-upload",theme:"outlined"},Ken=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Jen}))},qen=m.forwardRef(Ken),$en={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"down-circle",theme:"outlined"},Qen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:$en}))},Zen=m.forwardRef(Qen),etn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z"}}]},name:"edit",theme:"filled"},ttn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:etn}))},ntn=m.forwardRef(ttn),otn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"},itn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:otn}))},qm=m.forwardRef(itn),rtn={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z"}}]},name:"import",theme:"outlined"},atn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:rtn}))},ltn=m.forwardRef(atn),stn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M603.3 327.5l-246 178a7.95 7.95 0 000 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"left-circle",theme:"outlined"},ctn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:stn}))},utn=m.forwardRef(ctn),dtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"}}]},name:"link",theme:"outlined"},ftn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:dtn}))},htn=m.forwardRef(ftn),ptn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M456 231a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"more",theme:"outlined"},gtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ptn}))},mtn=m.forwardRef(gtn),ytn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z"}}]},name:"pushpin",theme:"filled"},Atn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ytn}))},wtn=m.forwardRef(Atn),vtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 00-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 01-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z"}}]},name:"pushpin",theme:"outlined"},xtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:vtn}))},ATe=m.forwardRef(xtn),btn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M666.7 505.5l-246-178A8 8 0 00408 334v46.9c0 10.2 4.9 19.9 13.2 25.9L566.6 512 421.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.8 0-13z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"right-circle",theme:"outlined"},Stn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:btn}))},g$e=m.forwardRef(Stn),Ttn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z"}}]},name:"save",theme:"outlined"},Ptn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ttn}))},bf=m.forwardRef(Ptn),Ctn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"}}]},name:"setting",theme:"outlined"},Rtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ctn}))},Htn=m.forwardRef(Rtn),Mtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z"}}]},name:"sort-ascending",theme:"outlined"},Itn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Mtn}))},ztn=m.forwardRef(Itn),Dtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z"}}]},name:"sort-descending",theme:"outlined"},Etn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Dtn}))},ktn=m.forwardRef(Etn),Ftn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"unordered-list",theme:"outlined"},Ltn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ftn}))},du=m.forwardRef(Ltn),Wtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M518.5 360.3a7.95 7.95 0 00-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"up-circle",theme:"outlined"},Ntn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Wtn}))},Utn=m.forwardRef(Ntn),Btn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},jtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Btn}))},Ytn=m.forwardRef(jtn),Otn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z"}}]},name:"vertical-align-bottom",theme:"outlined"},_tn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Otn}))},Vtn=m.forwardRef(_tn),Gtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},Xtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Gtn}))},KG=m.forwardRef(Xtn);const Jtn="pSdH5rJWovu8hchgLSnsqT",Ktn="02/02/2023 12:24 pm",qtn=1675358675337,$tn="QWecNcxhyvP6j6sBN11hBsfZDau1",Qtn=null,Ztn=null,enn={latitude:42.2844063,timesPerHour:20,date:"1/22/2022 10:15:00 AM",longitude:-71.3488548,name:"default",address:"Natick, MA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857},tnn=[{cy:1.9385448115528998,name:"June",type:"Human",cz:11465644746167777e-31,normal:[0,1,0],cx:-2.72710574788732,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"Ground"}],nnn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:0,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:0,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:0,showYearlyLightSensorPanel:!1,weatherPanelY:0,heliodonPanelX:-6,showStickyNotePanel:!0,groundColor:"#16cda5",weatherPanelX:0,heliodonPanelY:9,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[-2.2645315712935465,-19.016408185270922,3.0537676736998205],panCenter:[1.9284721678646957,1.0746189678250615,2.420128405670479],orthographic:!1,enableRotate:!0,cameraZoom:24.55475326309651,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999799],panCenter2D:[0,0,0],showSunAngles:!0,stickyNotePanelRect:{x:-5,y:-2,width:309,height:64}},onn=1,inn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},rnn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ann={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},lnn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},snn=["Sun angles relative to the ground"],cnn={docid:Jtn,time:Ktn,timestamp:qtn,userid:$tn,owner:Qtn,email:Ztn,world:enn,elements:tnn,view:nnn,evolutionMethod:onn,solarPanelArrayLayoutParams:inn,solarPanelArrayLayoutConstraints:rnn,evolutionaryAlgorithmState:ann,economicsParams:lnn,notes:snn},unn="aLZxDeCyLDDueFWdBcXne3",dnn="02/02/2023 12:27 pm",fnn=1675358863088,hnn="QWecNcxhyvP6j6sBN11hBsfZDau1",pnn=null,gnn=null,mnn={latitude:0,timesPerHour:6,date:"9/22/2022, 3:00:00 PM",longitude:-71.3488548,name:"default",address:"",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857,noAnimationForSensorDataCollection:!0},ynn=[{cy:-3.793749931074972,name:"Jeanette",type:"Human",cz:0,normal:[0,1,0],cx:-1.8371287635005462,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"Ground",lx:.4,ly:.6,lz:1.62},{type:"Foundation",cx:-.02034256309656146,cy:-.0945631153454527,cz:.05,lx:4.039349774896637,ly:4.009416382499952,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"vtjS16tFJ2nQYaRPqaTXtD",textureType:"Foundation Texture #2"},{type:"Sensor",cx:.24583065540477922,cy:-.24570551313996075,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"vtjS16tFJ2nQYaRPqaTXtD",foundationId:"vtjS16tFJ2nQYaRPqaTXtD",id:"1RgbN67ETfax1aEC4UN1sd",selected:!1}],Ann={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:5,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:203,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:-31,showYearlyLightSensorPanel:!0,weatherPanelY:0,heliodonPanelX:-5,showStickyNotePanel:!0,groundColor:"#16cda5",weatherPanelX:0,heliodonPanelY:4,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:-1,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[14.252594110627898,-20.834202556609767,6.804345920821559],panCenter:[0,0,0],orthographic:!1,enableRotate:!0,cameraZoom:58.72652247402654,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999795],panCenter2D:[0,0,0],showSunAngles:!0,stickyNotePanelRect:{x:1204,y:154,width:595,height:199},yearlyLightSensorPanelRect:{x:-1284,y:2,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1},wnn=1,vnn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},xnn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},bnn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Snn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Tnn=["The solar radiation at different locations of the Earth in different seasons is largely responsible for local climate. Overall, every place on the Earth has about the same hours of daylight in total (ideally 12×365=4,380 hours), regardless of where it is. However, the distribution throughout the year is vastly different, resulting in large temperature variations across the globe. You can change the latitude to investigate these relationships. Make sure to refresh the graph after changing any variables."],Pnn={docid:unn,time:dnn,timestamp:fnn,userid:hnn,owner:pnn,email:gnn,world:mnn,elements:ynn,view:Ann,evolutionMethod:wnn,solarPanelArrayLayoutParams:vnn,solarPanelArrayLayoutConstraints:xnn,evolutionaryAlgorithmState:bnn,economicsParams:Snn,notes:Tnn},Cnn="3DwyXjJjUExjZ1f5APPdnu",Rnn="11/13/2022 04:59 pm",Hnn=1668376781695,Mnn="QWecNcxhyvP6j6sBN11hBsfZDau1",Inn=null,znn=null,Dnn={date:"6/22/2022 1:00:00 PM",timesPerHour:6,address:"Natick, MA",latitude:42.2844063,longitude:-71.3488548,name:"default",orthographic:!1,cameraZoom:35,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!0},Enn=[{selected:!1,cz:-.00999999999999913,cx:-.2955982837076121,type:"Human",id:"3NsNQgPftGsbYSoSRa2zV4",normal:[0,1,0],cy:3.9255960830681698,name:"Jack",rotation:[0,0,0],parentId:"Ground",lx:.42,ly:.42,lz:1.8},{selected:!1,cy:4.081504375344256,name:"Jacqueline",rotation:[0,0,0],normal:[0,1,0],id:"xaNFgEDtpNwZNyUWnndg4x",cz:-.009999999999999095,type:"Human",cx:2.399220108700476,parentId:"Ground",lx:.43,ly:.6,lz:1.78},{cx:.20566332108722207,color:"gray",cz:2,type:"Cuboid",lz:4,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.646712311386908,cy:.10935014088128625,rotation:[0,0,0],lx:2.2290047878920136,id:"2QtCNEmEF6Mcs3vbbR96ZT",selected:!1,parentId:"Ground"},{ly:.1,selected:!1,type:"Sensor",showLabel:!0,normal:[0,0,1],lz:.01,rotation:[0,0,0],lx:.1,cz:.5,cx:.03109721392634064,cy:.16878784903489202,id:"iqgmPt2Nm3r4bW8A7g6DJy",label:"Top",parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{label:"North",rotation:[0,0,0],ly:.1,normal:[0,1,0],cy:.4999999988722325,type:"Sensor",showLabel:!0,selected:!1,id:"soQWet6PH9YYEVPLyKPtZ1",cz:-.036155842645941405,lx:.1,lz:.01,cx:-.0014535790327764226,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{normal:[1,0,0],cz:.012842850721372034,cy:-.02894757303561696,ly:.1,lz:.01,label:"East",id:"g3pxtSA3CsXPiogBgtEeYs",lx:.1,showLabel:!0,rotation:[0,0,0],type:"Sensor",cx:.5000000161579515,selected:!1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{lz:.01,showLabel:!0,rotation:[0,0,0],cy:-.4999999988722335,selected:!1,id:"1GCXGRbm6nuTH23uA8Yngz",cx:.028086152131634783,normal:[0,-1,0],cz:-.16060425332465766,ly:.1,type:"Sensor",label:"South",lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{selected:!1,ly:.1,normal:[-1,0,0],rotation:[0,0,0],id:"9Aqk7YM1qj7eBSDfhRzr51",cy:-.0010171489984738787,label:"West",cz:.04694614030299604,cx:-.5000000161579532,type:"Sensor",showLabel:!0,lz:.01,lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"}],knn={showDailyLightSensorPanel:!0,showYearlyLightSensorPanel:!1,autoRotate:!1,showGroundPanel:!1,yearlyLightSensorPanelY:70,stickyNotePanelX:6,mapType:"roadmap",weatherPanelY:0,shadowEnabled:!0,theme:"Default",stickyNotePanelY:0,mapWeatherStations:!1,groundColor:"#16cda5",heliodon:!0,dailyLightSensorPanelX:-19,axes:!0,showWeatherPanel:!1,dailyLightSensorPanelY:15,mapTilt:0,heliodonPanelX:-1235,groundPanelY:0,heliodonPanelY:7,groundImage:!1,mapZoom:16,showStickyNotePanel:!0,groundPanelX:0,weatherPanelX:0,yearlyLightSensorPanelX:-905,showHeliodonPanel:!1,cameraPosition:[11.69562560736218,15.284097405092108,4.526997191755329],panCenter:[-2.432389491951708,.8034413072625061,1.0138875329134873],orthographic:!1,enableRotate:!0,cameraZoom:28.63945562104857,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997991],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360}},Fnn=1,Lnn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Wnn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Nnn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Unn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Bnn=[`Solar radiation to a box This model shows the solar radiation the five sides (top, west, east, south, and north sides) of a box receives. There is a sensor on each side. Analyze the daily and annual sensor data to compare the solar radiation the five sides receive. -You can also change the day and the location to investigate the dependency of the results on these factors. `],Onn={docid:Hnn,time:Mnn,timestamp:Inn,userid:znn,owner:Dnn,email:Enn,world:knn,elements:Fnn,view:Lnn,evolutionMethod:Wnn,solarPanelArrayLayoutParams:Nnn,solarPanelArrayLayoutConstraints:Unn,evolutionaryAlgorithmState:Bnn,economicsParams:jnn,notes:Ynn},_nn="9q5sS1hxGDArNFtMUxxGLt",Vnn="02/02/2023 12:31 pm",Gnn=1675359088220,Xnn="QWecNcxhyvP6j6sBN11hBsfZDau1",Jnn=null,Knn=null,qnn={latitude:42.2844063,timesPerHour:20,date:"2/22/2022 9:45:00 AM",longitude:-71.3488548,name:"default",address:"Natick, MA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857},$nn=[{cy:.9214233571448283,name:"Jaya",type:"Human",cz:.05000000074505806,normal:[0,1,0],cx:-2.0622287048965853,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"73EHGXQZFsvacbt1n2ck3h",lx:.6,ly:.42,lz:1.55},{rotation:[0,0,0],normal:[0,0,1],lx:8.151162622676603,ly:6.576493454880806,id:"73EHGXQZFsvacbt1n2ck3h",selected:!1,cz:.05,cy:1.1027590009475272,cx:-.9582675975183035,lz:.1,type:"Foundation",parentId:"Ground"},{poleSpacing:2,label:"Solar Panel",showLabel:!1,lx:.99,drawSunBeam:!0,type:"Solar Panel",trackerType:"None",relativeAzimuth:0,lz:.05,normal:[0,0,1],cy:-.16505049820470327,cx:.11464240173253676,cz:.5000000074505806,poleRadius:.05,ly:1.65,poleHeight:0,rotation:[0,0,0],selected:!1,orientation:"Portrait",tiltAngle:0,id:"5QH64n4W7t2nwnWmzmGyMg",parentId:"73EHGXQZFsvacbt1n2ck3h",foundationId:"73EHGXQZFsvacbt1n2ck3h",pvModelName:"SPR-X21-335-BLK"},{lz:.01,ly:.1,cx:.1375052960984675,showLabel:!1,id:"vPAwDhHdD9bH57J7RhabCf",cy:.12369628620569162,selected:!1,cz:.5000000074505806,type:"Sensor",normal:[0,0,1],lx:.1,rotation:[0,0,0],parentId:"73EHGXQZFsvacbt1n2ck3h",foundationId:"73EHGXQZFsvacbt1n2ck3h"}],Qnn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:0,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:0,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:0,showYearlyLightSensorPanel:!1,weatherPanelY:0,heliodonPanelX:-6,showStickyNotePanel:!0,groundColor:"#68ccca",weatherPanelX:0,heliodonPanelY:9,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[-5.789682038682944,18.727459047471708,4.434763103599393],panCenter:[-1.75129140268729,-.10770909213304464,1.3605382204171563],orthographic:!1,enableRotate:!0,cameraZoom:24.55475326309651,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999799],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:473,height:61}},Znn=1,eon={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ton={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},non={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},oon={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ion=["Test if the sun beam aligns with the heliodon correctly"],ron={docid:_nn,time:Vnn,timestamp:Gnn,userid:Xnn,owner:Jnn,email:Knn,world:qnn,elements:$nn,view:Qnn,evolutionMethod:Znn,solarPanelArrayLayoutParams:eon,solarPanelArrayLayoutConstraints:ton,evolutionaryAlgorithmState:non,economicsParams:oon,notes:ion},aon="a23ZVUe81EjtB3oPinKZm4",lon="02/02/2023 12:19 pm",son=1675358372271,con="QWecNcxhyvP6j6sBN11hBsfZDau1",uon=null,don=null,fon={latitude:42.2775281,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3468091,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA, USA",date:"6/15/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},hon=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground",color:"#999999"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!0,label:"Monocrystalline",cy:-.27899190547936026,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:.008285803864999835,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.138,poleHeight:1,drawSunBeam:!1,ly:2.092,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:1.984,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Polycrystalline",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],lx:17.712,selected:!1,orientation:"Landscape",cx:.0011144506933526612,relativeAzimuth:0,cy:.010234323153061437,poleHeight:1,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{poleRadius:.05,type:"Solar Panel",lx:18.081,lz:.046,relativeAzimuth:0,drawSunBeam:!1,rotation:[0,0,0],ly:2.464,normal:[0,0,1],poleSpacing:3,cx:.003982991962011493,trackerType:"None",cy:.32738584282585487,label:"Thin Film",cz:.5000000074506161,orientation:"Landscape",showLabel:!0,selected:!1,poleHeight:1,tiltAngle:.5235987755982988,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"FS-6430"},{type:"Human",name:"Justin",cx:-.6422253837185492,cy:-6.097930974223568,cz:.05000000074505806,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42}],pon={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Forest",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[6.231682260523529,-11.839635427091224,3.4189848625017474],panCenter:[1.5940644020050898,-.07013351095627554,.6762754823912617],orthographic:!1,enableRotate:!0,cameraZoom:37.01235612443422,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.1982070075600382,150],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:175,mapPanelY:53,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:200,height:65}},gon=1,mon={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},yon={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Aon={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},won={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},von=["Solar panel types"],xon={docid:aon,time:lon,timestamp:son,userid:con,owner:uon,email:don,world:fon,elements:hon,view:pon,evolutionMethod:gon,solarPanelArrayLayoutParams:mon,solarPanelArrayLayoutConstraints:yon,evolutionaryAlgorithmState:Aon,economicsParams:won,notes:von},bon="wFMNzt7sPEDjKGAPcESDBP",Son="08/30/2023 08:36 am",Ton=1693399003790,Pon="QWecNcxhyvP6j6sBN11hBsfZDau1",Con=null,Ron=null,Hon={latitude:42.3600825,pvGridCellSize:.25,timesPerHour:1,longitude:-71.0588801,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Boston, MA, USA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,countryCode:"US"},Mon=[{cy:-.033179790625714745,normal:[0,0,1],lz:.1,ly:16.949918527981186,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.017129111403884067,cz:.05,rotation:[0,0,0],lx:37.87324352407775,selected:!1,parentId:"Ground",color:"#16a5a5",label:""},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.132,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"E-W",tiltAngle:1.5707963267948966,poleSpacing:2.1,rotation:[0,0,0],lx:10.48,selected:!1,orientation:"Portrait",cx:-.20024728670215317,relativeAzimuth:-1.5707963267948966,cy:-.0004001413797904696,poleHeight:2,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS3W-420MB-AG",dailyYield:27.769005901292118},{type:"Human",name:"Justin",cx:-.8077148464578228,cy:-2.467214041682034,cz:.05000000074505895,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Solar Panel",pvModelName:"CS3W-420MB-AG",cx:.19919037937422715,cy:-.0004001413797904696,cz:.5000000074505806,lx:10.48,ly:2.132,lz:.046,trackerType:"None",tiltAngle:-1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:2,poleSpacing:2.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oQUmi4HfhmDhT2fedCAHBP",selected:!1,dailyYield:17.55726336493663,label:"N-S"}],Ion=24,zon={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Mountain",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-939,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:49,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[9.42333778357062,-26.00860153882541,4.957120957652498],panCenter:[9.680010046024961,1.8911434375133904,3.488277959545367],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[6.40968432574854,1.6481778498093007,150],panCenter2D:[6.40968432574854,1.649178227254012,23981152496769078e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:39,mapPanelY:49,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:200,height:65},navigationView:!1},Don={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Eon=1,kon={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Fon={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Lon={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Won={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Non="Unknown",Uon=null,Bon=null,jon=null,Yon=null,Oon=["Bifacial solar panels"],_on=3,Von=3,Gon={docid:bon,time:Son,timestamp:Ton,userid:Pon,owner:Con,email:Ron,world:Hon,elements:Mon,sceneRadius:Ion,view:zon,graphState:Don,evolutionMethod:Eon,solarPanelArrayLayoutParams:kon,solarPanelArrayLayoutConstraints:Fon,evolutionaryAlgorithmState:Lon,economicsParams:Won,modelType:Non,modelAuthor:Uon,modelLabel:Bon,modelDescription:jon,designProjectType:Yon,notes:Oon,minimumNavigationMoveSpeed:_on,minimumNavigationTurnSpeed:Von},Xon="fXAaqcjQbaBomkkTcKkuR5",Jon="08/31/2023 10:18 am",Kon=1693491481113,qon="QWecNcxhyvP6j6sBN11hBsfZDau1",$on=null,Qon=null,Zon={latitude:42.3600825,pvGridCellSize:.25,timesPerHour:1,longitude:-71.0588801,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Boston, MA, USA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,countryCode:"US",daysPerYear:12},ein=[{cy:-.033179790625714745,normal:[0,0,1],lz:.1,ly:16.949918527981186,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.017129111403884067,cz:.05,rotation:[0,0,0],lx:37.87324352407775,selected:!1,parentId:"Ground",color:"#666666",label:""},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.132,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Bifacial",tiltAngle:.6981317007977318,poleSpacing:3,rotation:[0,0,0],lx:11.528,selected:!1,orientation:"Portrait",cx:-.20024728670215317,relativeAzimuth:0,cy:-.0004001413797904696,poleHeight:1.5,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS3W-445MB-AG",dailyYield:8.868699562970985,yearlyYield:7933.919486524438},{type:"Human",name:"Justin",cx:-.8077148464578228,cy:-2.467214041682034,cz:.05000000074505895,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Solar Panel",pvModelName:"CS3W-440MS",cx:.19919037937422715,cy:-.0004001413797904696,cz:.5000000074505806,lx:11.528,ly:2.108,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.5,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oQUmi4HfhmDhT2fedCAHBP",selected:!1,dailyYield:6.700357358830137,label:"Monofacial",yearlyYield:6331.051197253751,drawSunBeam:!1}],tin=24,nin={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Mountain",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-939,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!0,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:49,groundColor:"#194d33",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[21.044833876539915,-19.158030778662997,1.9640239249677898],panCenter:[8.779754971790968,7.5724725159534465,1.9640239249677898],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[6.40968432574854,1.6481778498093007,150],panCenter2D:[6.40968432574854,1.649178227254012,23981152496769078e-22],dailyPvYieldPanelRect:{x:-1103,y:47,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:39,mapPanelY:49,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:265,height:96},navigationView:!1,yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},oin={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!0,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},iin=1,rin={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ain={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},lin={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},sin={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},cin="Unknown",uin=null,din=null,fin=null,hin=null,pin=["Comparing the annual outputs of bifacial and monofacial solar panels"],gin=3,min=3,yin={docid:Xon,time:Jon,timestamp:Kon,userid:qon,owner:$on,email:Qon,world:Zon,elements:ein,sceneRadius:tin,view:nin,graphState:oin,evolutionMethod:iin,solarPanelArrayLayoutParams:rin,solarPanelArrayLayoutConstraints:ain,evolutionaryAlgorithmState:lin,economicsParams:sin,modelType:cin,modelAuthor:uin,modelLabel:din,modelDescription:fin,designProjectType:hin,notes:pin,minimumNavigationMoveSpeed:gin,minimumNavigationTurnSpeed:min},Ain="mxcpjFL7wwjT6kUG3dgBwT",win="02/04/2023 01:21 pm",vin=1675534888279,xin="QWecNcxhyvP6j6sBN11hBsfZDau1",bin=null,Sin=null,Tin={solarRadiationHeatmapGridCellSize:.5,date:"3/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!0,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:-71.3488548},Pin=[{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3.22609431418537,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:-.25833333333333336,cy:-13376344861350336e-31,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8KuTFKVbnS9JsUhgiz6ayk",parentId:"u1AdedeCmmKa3QYfwjJ4ya",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26666666666666666,cy:-11010413489448665e-30,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2ddK5UqQWy74ghKtND3in4",parentId:"u1AdedeCmmKa3QYfwjJ4ya",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3.22609431418537,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3.22609431418537,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:.3466666666666667,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ffkLQGy3NT64UfpCw11G41",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.10666666666666667,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gNMVvT81stFdLZCLrqUQZf",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.13333333333333333,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tVsnXCNKFAXpT1tvrhqYrT",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.36000000000000004,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5bfnZWdB6epkk2c8Lmex9Z",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3.22609431418537,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:-.375,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aScdMHKjqapGhvxSXnrdVS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"94qFJLPpyieU8kH3r8ea1u",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.24999999999999992,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hqJtpQuGAWonh9XMck7DkQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.37499999999999994,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iepBWG7Nk7RRKfgVSDffBC",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-.07737809374999927,cy:-.08634488504745477,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.08065235785463425,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture Default",color:"#666666",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,label:"",rise:1.3492858897703286,ceiling:!1},{type:"Door",cx:.00416666666666667,cy:0,cz:-.125,lx:.24166666666666667,ly:0,lz:.75,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"bm1UTSxwjiN1iZGr4Z4Fm6",doorType:"Default",archHeight:1,filled:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.045101456155734465,cy:-.1728550176508481,cz:3.912059639775531,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[0,-.26053732960492465,.9654637745054627],rotation:[.26357871191724236,0,0],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"hggpkWHD6D2DWRepcABzSN",selected:!1,dailyYield:1.1606630204047466,yearlyYield:14.01350339573908,label:"S",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.04923325035798107,cy:.23033266020936075,cz:4.048748074874304,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[1836536775249149e-32,.26053732960492476,.9654637745054627],rotation:[.2635787119172426,0,3.141592653589793],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3AjZD5PGir6Pw6qNxAXT2v",selected:!1,dailyYield:.7689476441385455,yearlyYield:9.02911259075203,label:"N",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.23435630964973508,cy:.03020266603782977,cz:3.927707691404531,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[-.3976643293667701,33320459964913965e-33,.9175309701308599],rotation:[.4089698333626983,0,4.71238898038469],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"dfe7nQ9k8jDK91KdkmUEv6",selected:!1,dailyYield:.9541736397038687,yearlyYield:11.32280863910204,label:"W",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.3049880725182647,cy:.048385609165732826,cz:3.978511539183477,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[.39766432936677054,-133281839859656e-30,.9175309701308599],rotation:[.40896983336269876,0,1.5707963267948961],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"1dU1iCu9PPq5BqZD1KErE7",selected:!1,dailyYield:.9576426115274149,yearlyYield:11.37252332042091,label:"E",labelSize:.4},{type:"Sensor",cx:.057157621054107106,cy:.14033655142046375,cz:4.4036437311884296,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,.2605373296049247,.9654637745054626],rotation:[.2635787119172426,0,3.141592653589793],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"mKDuzWBHjARCKjue8riAq8",selected:!1,label:"N"},{type:"Sensor",cx:.05632462642172124,cy:-.03881517090426316,cz:4.440639819780413,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,-.26053732960492465,.9654637745054627],rotation:[.26357871191724236,0,0],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"qMhiLQRXRChHGtKoRd73LF",selected:!1,label:"S"},{type:"Sensor",cx:.25193424207044157,cy:.045340891802389115,cz:4.396078903758752,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[.39766432936677054,-133281839859656e-30,.9175309701308599],rotation:[.40896983336269876,0,1.5707963267948961],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3DwwhpFKYxSqcDS4CihiGw",selected:!1,label:"E"},{type:"Sensor",cx:-.1790489651075926,cy:.040907220548995316,cz:4.363011644147998,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[-.3976643293667701,33320459964913965e-33,.9175309701308599],rotation:[.4089698333626983,0,4.71238898038469],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"72Y7F2N3gynqymAnAg1DcZ",selected:!1,label:"W"}],Cin={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[3.096291394829855,-4.886200526627762,20.956812400919997],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!0,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.5949692122407761,.408443644397781,1.6485310965583475],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:4,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-25,y:27,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1275,y:17,width:600,height:360},stickyNotePanelRect:{x:-4,y:-3,width:303,height:64}},Rin={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Hin=1,Min={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Iin={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},zin={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Din={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ein=["Solar panels on different sides of a roof"],kin={docid:Ain,time:win,timestamp:vin,userid:xin,owner:bin,email:Sin,world:Tin,elements:Pin,view:Cin,graphState:Rin,evolutionMethod:Hin,solarPanelArrayLayoutParams:Min,solarPanelArrayLayoutConstraints:Iin,evolutionaryAlgorithmState:zin,economicsParams:Din,notes:Ein},Fin="4FPGPRyja1jZsFg1c9iXEn",Lin="02/19/2023 11:51 am",Win=1676825516232,Nin="HPwaZxo6jaPjQcD6cBGUWPpQkVw2",Uin=null,Bin=null,jin={pvGridCellSize:.5,sutGridCellSize:1,noAnimationForHeatmapSimulation:!1,latitude:42.30152633098348,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,name:"default",highestTemperatureTimeInMinutes:900,daysPerYear:12,date:"5/1/2023, 8:30:00 AM",sutDaysPerYear:4,timesPerHour:4,cspTimesPerHour:4,ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},cspGridCellSize:.5,noAnimationForSolarUpdraftTowerSimulation:!1,noAnimationForSolarPanelSimulation:!1,dustLoss:.05,sutTimesPerHour:4,address:"Quincy, MA, USA",cspDaysPerYear:4,diurnalTemperatureModel:1,solarRadiationHeatmapGridCellSize:1.5,noAnimationForThermalSimulation:!1,airAttenuationCoefficient:.01,noAnimationForSensorDataCollection:!1,airConvectiveCoefficient:5,longitude:-71.04686341053608},Yin=[{solarUpdraftTower:{},textureType:"No Foundation Texture",lx:212.5285321639104,rotation:[0,0,0],solarPowerTower:{},cx:-10.534022898559044,id:"m2Y8UkiEpzxPgEaP4XFVt6",cz:.05,ly:289.40841858160877,cy:-5.174607839650079,lz:.1,hvacSystem:{thermostatSetpoint:20},parentId:"Ground",solarAbsorberPipe:{},type:"Foundation",normal:[0,0,1],color:"#808080",selected:!1},{lz:.4,cx:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:0,vertices:[{y:-.015548960261952672,x:-.13409964163315105},{x:.1599785198430574,y:.4768347813665486},{y:.4768347813665486,x:.3034886626434471},{x:.34113066731240177,y:.43191556283201865},{x:.3764200466895468,y:.41463894031873794},{y:.35762608602491147,x:.37406742139773713},{x:.2917255361843988,y:.23496206618061816},{y:.1710385628814794,x:.2987834120598278},{x:.2799624097253504,y:.11402570858765293},{y:.006910649005312299,x:.22585202801372808},{x:.1529206439676284,y:-.04146389403187379},{y:-.06219584104781069,x:.1458627680921994},{y:-.06565116555046684,x:.09175238638057703},{y:-.08292778806374758,x:.06587350817067068},{x:-.08234188521333836,y:-.08292778806374758}],ly:.4,lx:.4,color:"#ffffff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"5DXDSqQGwG9HHBGtTSMivo",type:"Polygon",filled:!0,lineColor:"#b3b3b3",rotation:[0,0,0],selectedIndex:10,normal:[0,0,1],opacity:0,selected:!1,cz:0},{rotation:[0,0,0],showLabel:!1,poleRadius:.05,poleSpacing:3,trackerType:"None",referenceId:"5DXDSqQGwG9HHBGtTSMivo",id:"39YHB9jsen7civ3YRJKQCC",cy:-.06921706043720798,drawSunBeam:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",orientation:"Portrait",normal:[0,0,1],color:"#fff",selected:!1,relativeAzimuth:0,type:"Solar Panel",cx:-.0044720631905931785,poleHeight:1,tiltAngle:.5235987755982988,lx:31.744,pvModelName:"CS6X-355P-FG",lz:.006,cz:.1,ly:3.936},{normal:[0,0,1],tiltAngle:.5235987755982988,cy:-.04416595779295089,lx:50.592,cz:.1,rotation:[0,0,0],drawSunBeam:!1,poleRadius:.05,orientation:"Portrait",lz:.006,type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,trackerType:"None",referenceId:"5DXDSqQGwG9HHBGtTSMivo",ly:3.936,id:"wRpEM8qhuhZqcTqN2dpgxk",cx:.020668929177468376,pvModelName:"CS6X-355P-FG",showLabel:!1,color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,frameColor:"white",poleSpacing:3,poleHeight:1},{pvModelName:"CS6X-355P-FG",trackerType:"None",tiltAngle:.5235987755982988,selected:!1,color:"#fff",poleSpacing:3,orientation:"Portrait",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",drawSunBeam:!1,cy:-.019114855148693807,relativeAzimuth:0,showLabel:!1,cx:.026370111541441255,normal:[0,0,1],cz:.1,lz:.006,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],poleRadius:.05,type:"Solar Panel",ly:3.936,referenceId:"5DXDSqQGwG9HHBGtTSMivo",poleHeight:1,id:"tD1s9u51ND5RmtjGVXGCLf",lx:61.504},{cz:.1,tiltAngle:.5235987755982988,frameColor:"white",id:"uqbw8SLNidH2HVf3A3aEpb",poleHeight:1,pvModelName:"CS6X-355P-FG",lx:68.448,relativeAzimuth:0,showLabel:!1,type:"Solar Panel",lz:.006,drawSunBeam:!1,poleRadius:.05,referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:.005936247495563277,rotation:[0,0,0],ly:3.936,trackerType:"None",orientation:"Portrait",color:"#fff",cx:.04797937239367053,poleSpacing:3,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1]},{frameColor:"white",cz:.1,trackerType:"None",type:"Solar Panel",ly:3.936,id:"abu8rTHpebENbtwLNiH7VV",selected:!1,referenceId:"5DXDSqQGwG9HHBGtTSMivo",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,tiltAngle:.5235987755982988,drawSunBeam:!0,pvModelName:"CS6X-355P-FG",lz:.006,cx:.06772862843868938,color:"#fff",showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],relativeAzimuth:0,cy:.03098735013982036,poleSpacing:3,orientation:"Portrait",rotation:[0,0,0],lx:68.448,poleRadius:.05},{drawSunBeam:!1,cx:.0815369877932561,poleHeight:1,lx:68.448,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",cy:.056038452784077444,id:"nZ63hCPNboQvjJjFBKXPux",pvModelName:"CS6X-355P-FG",tiltAngle:.5235987755982988,selected:!1,normal:[0,0,1],cz:.1,showLabel:!1,relativeAzimuth:0,ly:3.936,rotation:[0,0,0],frameColor:"white",poleSpacing:3,color:"#fff",orientation:"Portrait",poleRadius:.05,lz:.006,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"5DXDSqQGwG9HHBGtTSMivo",type:"Solar Panel"},{lz:.006,cy:.08108955542833453,poleRadius:.05,trackerType:"None",poleHeight:1,cx:.09534534714782292,cz:.1,normal:[0,0,1],relativeAzimuth:0,frameColor:"white",id:"hif4KqE4YP3kUVrrgkfMhx",ly:3.936,showLabel:!1,lx:67.456,orientation:"Portrait",selected:!1,color:"#fff",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",drawSunBeam:!1,tiltAngle:.5235987755982988,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",pvModelName:"CS6X-355P-FG",poleSpacing:3,rotation:[0,0,0],referenceId:"5DXDSqQGwG9HHBGtTSMivo",type:"Solar Panel"},{relativeAzimuth:0,referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,tiltAngle:.5235987755982988,ly:3.936,cy:.10614065807259161,orientation:"Portrait",color:"#fff",cx:.1091537065023897,trackerType:"None",showLabel:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:67.456,poleRadius:.05,pvModelName:"CS6X-355P-FG",rotation:[0,0,0],poleSpacing:3,lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,cz:.1,id:"qfhB3DdpB1gYjw25yY8eTt",frameColor:"white",normal:[0,0,1],drawSunBeam:!1,type:"Solar Panel"},{cz:.1,rotation:[0,0,0],id:"oKCroDuPSw8Jz4hpytmpuV",tiltAngle:.5235987755982988,referenceId:"5DXDSqQGwG9HHBGtTSMivo",lz:.006,relativeAzimuth:0,poleSpacing:3,pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],selected:!1,ly:3.936,type:"Solar Panel",color:"#fff",frameColor:"white",trackerType:"None",poleRadius:.05,poleHeight:1,lx:65.472,cx:.12116209363369557,drawSunBeam:!1,orientation:"Portrait",cy:.13119176071684868,showLabel:!1},{lz:.006,drawSunBeam:!1,selected:!1,type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.13277794649991534,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,id:"mHK7aYVb1Wk6EsoKnJgiKD",relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,color:"#fff",frameColor:"white",trackerType:"None",tiltAngle:.5235987755982988,cz:.1,poleSpacing:3,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"5DXDSqQGwG9HHBGtTSMivo",showLabel:!1,normal:[0,0,1],cy:.15624286336110577,rotation:[0,0,0],ly:3.936,lx:64.48},{poleSpacing:3,cx:.14138598430837385,frameColor:"white",id:"9pHe3mAgmKZtQtjzLXxdYX",rotation:[0,0,0],poleHeight:1,pvModelName:"CS6X-355P-FG",color:"#fff",orientation:"Portrait",cy:.18129396600536285,normal:[0,0,1],drawSunBeam:!1,lz:.006,referenceId:"5DXDSqQGwG9HHBGtTSMivo",trackerType:"None",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,lx:61.504,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,cz:.1,tiltAngle:.5235987755982988,showLabel:!1,type:"Solar Panel",ly:3.936,selected:!1},{cy:.20634506864961993,showLabel:!1,poleRadius:.05,selected:!1,ly:3.936,frameColor:"white",cz:.1,type:"Solar Panel",relativeAzimuth:0,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],normal:[0,0,1],poleSpacing:3,color:"#fff",trackerType:"None",pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"wxnBoqUDaxFyzEJ8C9neNT",drawSunBeam:!1,lx:57.536,referenceId:"5DXDSqQGwG9HHBGtTSMivo",orientation:"Portrait",lz:.006,cx:.14748395783026924,poleHeight:1,tiltAngle:.5235987755982988},{parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,selected:!1,rotation:[0,0,0],frameColor:"white",poleSpacing:3,relativeAzimuth:0,cz:.1,tiltAngle:.5235987755982988,normal:[0,0,1],cx:.1535819313521647,lz:.006,id:"wFKvkQ1Z8bZ4V5gp8W9qaV",type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:54.56,trackerType:"None",orientation:"Portrait",color:"#fff",poleRadius:.05,cy:.23139617129387702,showLabel:!1,ly:3.936,pvModelName:"CS6X-355P-FG",drawSunBeam:!1,referenceId:"5DXDSqQGwG9HHBGtTSMivo"},{referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,relativeAzimuth:0,rotation:[0,0,0],parentId:"m2Y8UkiEpzxPgEaP4XFVt6",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,poleRadius:.05,lx:54.56,lz:.006,showLabel:!1,normal:[0,0,1],poleHeight:1,trackerType:"None",color:"#fff",type:"Solar Panel",frameColor:"white",pvModelName:"CS6X-355P-FG",drawSunBeam:!1,cz:.1,id:"5UEd5WPYGM3mteKkUdGC5b",ly:3.936,cy:.2564472739381341,orientation:"Portrait",cx:.1650931283901031,poleSpacing:3},{lx:54.56,poleSpacing:3,color:"#fff",rotation:[0,0,0],normal:[0,0,1],selected:!1,pvModelName:"CS6X-355P-FG",drawSunBeam:!1,poleRadius:.05,cz:.1,poleHeight:1,trackerType:"None",orientation:"Portrait",cx:.18098221432743639,lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",cy:.2814983765823912,tiltAngle:.5235987755982988,id:"2svrFi8xQmtUMBe5ZAK81o",showLabel:!1,ly:3.936,type:"Solar Panel",referenceId:"5DXDSqQGwG9HHBGtTSMivo",relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6"},{cx:.19687130026476962,cy:.30654947922664827,poleRadius:.05,rotation:[0,0,0],poleHeight:1,selected:!1,showLabel:!1,lz:.006,type:"Solar Panel",normal:[0,0,1],id:"bGivs5Yuda48gHtDd1BsdF",poleSpacing:3,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:55.552,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",pvModelName:"CS6X-355P-FG",referenceId:"5DXDSqQGwG9HHBGtTSMivo",drawSunBeam:!1,ly:3.936,relativeAzimuth:0,color:"#fff",orientation:"Portrait",cz:.1,tiltAngle:.5235987755982988,trackerType:"None"},{foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",orientation:"Portrait",selected:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,pvModelName:"CS6X-355P-FG",relativeAzimuth:0,cz:.1,showLabel:!1,lx:55.552,frameColor:"white",poleSpacing:3,poleRadius:.05,referenceId:"5DXDSqQGwG9HHBGtTSMivo",poleHeight:1,tiltAngle:.5235987755982988,rotation:[0,0,0],cy:.33160058187090535,type:"Solar Panel",normal:[0,0,1],color:"#fff",id:"jm8EQPxBbaiTMXoQiF7CER",ly:3.936,trackerType:"None",cx:.21276038620210297,drawSunBeam:!1},{poleSpacing:3,frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],lz:.006,lx:55.552,id:"8a4sJM8CzcwGaTVPbJ3rEU",color:"#fff",trackerType:"None",relativeAzimuth:0,ly:3.936,poleHeight:1,pvModelName:"CS6X-355P-FG",type:"Solar Panel",cz:.1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],referenceId:"5DXDSqQGwG9HHBGtTSMivo",showLabel:!1,cy:.35665168451516244,poleRadius:.05,cx:.232198442985121,selected:!1,drawSunBeam:!1,orientation:"Portrait",tiltAngle:.5235987755982988},{selected:!1,drawSunBeam:!1,ly:3.936,showLabel:!1,orientation:"Portrait",color:"#fff",poleHeight:1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:52.576,frameColor:"white",type:"Solar Panel",cz:.1,poleSpacing:3,tiltAngle:.5235987755982988,normal:[0,0,1],referenceId:"5DXDSqQGwG9HHBGtTSMivo",trackerType:"None",cy:.3817027871594195,id:"mSAWD32s6rcXazrWTV4Xv5",cx:.24019624331923956,rotation:[0,0,0],relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,poleRadius:.05,pvModelName:"CS6X-355P-FG"},{poleRadius:.05,selected:!1,normal:[0,0,1],id:"5LQqmcsTvpZmQs4iTqrCGu",cy:.4067538898036766,lz:.006,orientation:"Portrait",rotation:[0,0,0],lx:49.6,ly:3.936,drawSunBeam:!1,showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,cx:.248194043653358,cz:.1,type:"Solar Panel",color:"#fff",poleSpacing:3,trackerType:"None",pvModelName:"CS6X-355P-FG",frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,poleHeight:1,referenceId:"5DXDSqQGwG9HHBGtTSMivo"},{frameColor:"white",cx:.23674454976762427,ly:3.936,poleSpacing:3,poleHeight:1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",tiltAngle:.5235987755982988,drawSunBeam:!1,relativeAzimuth:0,rotation:[0,0,0],showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:38.688,poleRadius:.05,pvModelName:"CS6X-355P-FG",cz:.1,type:"Solar Panel",referenceId:"5DXDSqQGwG9HHBGtTSMivo",color:"#fff",orientation:"Portrait",cy:.4318049924479337,lz:.006,selected:!1,id:"32Cg2tC6n7DHigNkVxdrgt",normal:[0,0,1]},{relativeAzimuth:0,tiltAngle:.5235987755982988,id:"sqjEqAoMgMpxq5BxsJh969",cx:.23372915722930276,cy:.4568560950921907,type:"Solar Panel",frameColor:"white",referenceId:"5DXDSqQGwG9HHBGtTSMivo",ly:3.936,drawSunBeam:!1,pvModelName:"CS6X-355P-FG",lz:.006,poleRadius:.05,color:"#fff",orientation:"Portrait",lx:30.752,cz:.1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleSpacing:3,showLabel:!1,rotation:[0,0,0],selected:!1,trackerType:"None",poleHeight:1},{foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",selectedIndex:0,lx:.4,normal:[0,0,1],lz:.4,ly:.4,opacity:0,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"i53LLgEmjv9V4sT2Bw7T8V",cy:0,rotation:[0,0,0],color:"#ffffff",vertices:[{x:-.37171479610592745,y:-.45264750984795554},{y:-.41291127806740985,x:-.37171479610592745},{x:-.35759904435506945,y:-.3887240065488168},{x:-.3975936743158338,y:-.3749027085381922},{x:-.38818317314859513,y:-.3144345297417096},{x:-.4164146766503111,y:-.27815362246382},{x:-.37877267198135645,y:-.13821298010624597},{y:-.07083415230445106,x:-.35759904435506945},{y:-.07083415230445106,x:-.2093836509710604},{y:-.25569401319655505,x:.0799892599215287},{y:-.3679920595328799,x:.061168257587051356},{y:-.4025453045594414,x:.01646837704266767},{x:-.07763663462971902,y:-.43364322508334674},{y:-.45437517209928363,x:-.11057338871505437}],cz:0,cx:0,selected:!1,filled:!0,lineColor:"#999999",type:"Polygon"},{type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",relativeAzimuth:0,color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",pvModelName:"CS6X-355P-FG",poleHeight:1,poleSpacing:3,rotation:[0,0,0],frameColor:"white",id:"rjtxU5WsNM51KRLNQSNjpi",trackerType:"None",cz:.1,tiltAngle:.5235987755982988,selected:!1,orientation:"Portrait",normal:[0,0,1],cy:-.44066444447274405,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,drawSunBeam:!1,lz:.006,showLabel:!1,lx:54.56,ly:3.936,cx:-.23295381956127093},{orientation:"Portrait",cy:-.41561334182848697,id:"r4etahi9gw6GJxHew37bNn",poleHeight:1,poleSpacing:3,lx:67.456,cx:-.20254012539999636,normal:[0,0,1],selected:!1,frameColor:"white",lz:.006,drawSunBeam:!1,relativeAzimuth:0,showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel",ly:3.936,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cz:.1,pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,trackerType:"None",rotation:[0,0,0],tiltAngle:.5235987755982988,color:"#fff"},{poleSpacing:3,trackerType:"None",frameColor:"white",lx:78.368,normal:[0,0,1],poleHeight:1,cz:.1,orientation:"Portrait",showLabel:!1,cy:-.3905622391842299,tiltAngle:.5235987755982988,cx:-.16654214275360996,poleRadius:.05,color:"#fff",selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,rotation:[0,0,0],drawSunBeam:!1,id:"oPaST5wTNmvuMg4irNTNvF",ly:3.936,pvModelName:"CS6X-355P-FG",lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel"},{poleHeight:1,relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",ly:3.936,type:"Solar Panel",id:"fF8k5yd2hu4Rwpr6gbrW2i",normal:[0,0,1],tiltAngle:.5235987755982988,cy:-.3655111365399728,poleRadius:.05,poleSpacing:3,selected:!1,lx:92.256,drawSunBeam:!1,frameColor:"white",cz:.1,showLabel:!1,lz:.006,trackerType:"None",pvModelName:"CS6X-355P-FG",rotation:[0,0,0],orientation:"Portrait",color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cx:-.16834099366066035},{pvModelName:"CS6X-355P-FG",color:"#fff",normal:[0,0,1],poleSpacing:3,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",selected:!1,cz:.1,orientation:"Portrait",showLabel:!1,cx:-.16377492283812295,trackerType:"None",frameColor:"white",lz:.006,lx:93.248,ly:3.936,rotation:[0,0,0],poleHeight:1,id:"vR22Q3vueKbYiqVBv8D26g",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,drawSunBeam:!1,tiltAngle:.5235987755982988,type:"Solar Panel",poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:-.3404600338957157},{pvModelName:"CS6X-355P-FG",poleSpacing:3,cx:-.1597263390941956,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",cz:.1,poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,showLabel:!1,selected:!1,rotation:[0,0,0],relativeAzimuth:0,cy:-.31540893125145864,id:"fHL4NPe6GsTPPqRFeNWFSj",color:"#fff",poleHeight:1,trackerType:"None",drawSunBeam:!1,type:"Solar Panel",frameColor:"white",ly:3.936,orientation:"Portrait",lx:93.248,lz:.006,normal:[0,0,1]},{showLabel:!1,drawSunBeam:!1,trackerType:"None",lx:97.216,cy:-.29035782860720155,poleSpacing:3,poleHeight:1,rotation:[0,0,0],pvModelName:"CS6X-355P-FG",ly:3.936,orientation:"Portrait",relativeAzimuth:0,selected:!1,lz:.006,cz:.1,type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",tiltAngle:.5235987755982988,color:"#fff",poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cx:-.16533131631908343,normal:[0,0,1],id:"wo99UxfjEn2Sft7C8epu1F"},{cy:-.26530672596294447,poleSpacing:3,color:"#fff",trackerType:"None",cz:.1,lz:.006,tiltAngle:.5235987755982988,rotation:[0,0,0],poleRadius:.05,ly:3.936,cx:-.16654823110912362,selected:!1,frameColor:"white",id:"atncuqMmE5QUMBXmuECL7c",normal:[0,0,1],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,orientation:"Portrait",relativeAzimuth:0,drawSunBeam:!1,pvModelName:"CS6X-355P-FG",type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:100.192,showLabel:!1},{lz:.006,orientation:"Portrait",lx:92.256,cy:-.24025562331868738,selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",ly:3.936,color:"#fff",drawSunBeam:!1,type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,tiltAngle:.5235987755982988,pvModelName:"CS6X-355P-FG",frameColor:"white",poleSpacing:3,showLabel:!1,rotation:[0,0,0],trackerType:"None",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,normal:[0,0,1],id:"pRs6eMcbHHwteicGZNiUf4",cx:-.17740291781012096,relativeAzimuth:0,cz:.1},{type:"Solar Panel",color:"#fff",frameColor:"white",normal:[0,0,1],poleRadius:.05,tiltAngle:.5235987755982988,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,lz:.006,pvModelName:"CS6X-355P-FG",ly:3.936,drawSunBeam:!1,poleHeight:1,id:"oTDhH5JF9kfv5Xuz6jEMoT",rotation:[0,0,0],showLabel:!1,selected:!1,cy:-.2152045206744303,cz:.1,orientation:"Portrait",trackerType:"None",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cx:-.1936407690619649,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:82.336,poleSpacing:3},{tiltAngle:.5235987755982988,relativeAzimuth:0,trackerType:"None",showLabel:!1,lz:.006,normal:[0,0,1],parentId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,ly:3.936,orientation:"Portrait",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",drawSunBeam:!1,cx:-.2098786203138088,color:"#fff",pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,cz:.1,cy:-.19015341803017322,lx:72.416,id:"vTDkEMLLiFSDFeVQ9M7gEq",rotation:[0,0,0],type:"Solar Panel",poleSpacing:3,frameColor:"white",poleHeight:1},{lx:63.488,drawSunBeam:!1,poleHeight:1,cx:-.22611647156565276,poleRadius:.05,lz:.006,selected:!1,poleSpacing:3,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",tiltAngle:.5235987755982988,orientation:"Portrait",ly:3.936,showLabel:!1,relativeAzimuth:0,rotation:[0,0,0],pvModelName:"CS6X-355P-FG",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",type:"Solar Panel",color:"#fff",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:-.16510231538591613,cz:.1,id:"ddcikvHRjDyv431v3iHzR9",normal:[0,0,1]},{cy:-.14005121274165905,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",poleRadius:.05,frameColor:"white",color:"#fff",trackerType:"None",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,ly:3.936,poleHeight:1,tiltAngle:.5235987755982988,type:"Solar Panel",cx:-.2423189775828182,lx:53.568,normal:[0,0,1],showLabel:!1,relativeAzimuth:0,rotation:[0,0,0],drawSunBeam:!1,poleSpacing:3,id:"kzwB7XdQnSLaWv37UNBRHE",pvModelName:"CS6X-355P-FG",lz:.006,cz:.1,orientation:"Portrait"},{relativeAzimuth:0,poleRadius:.05,tiltAngle:.5235987755982988,trackerType:"None",orientation:"Portrait",drawSunBeam:!1,poleSpacing:3,cx:-.25798989752621326,selected:!1,lx:43.647999999999996,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",pvModelName:"CS6X-355P-FG",cz:.1,ly:3.936,rotation:[0,0,0],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel",color:"#fff",normal:[0,0,1],showLabel:!1,id:"iSBjaL3vNJSWkMSnEcxexJ",cy:-.11500011009740196,frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,poleHeight:1},{pvModelName:"CS6X-355P-FG",selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",rotation:[0,0,0],drawSunBeam:!1,cy:-.08994900745314488,cz:.1,id:"inhpfuX2LqrdYubxNoTMKi",trackerType:"None",lz:.006,poleRadius:.05,frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,relativeAzimuth:0,poleSpacing:3,showLabel:!1,type:"Solar Panel",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:33.728,ly:3.936,normal:[0,0,1],poleHeight:1,orientation:"Portrait",cx:-.2736608174696083,color:"#fff"},{type:"Foundation",cx:130.77937125760448,cy:3.87684921362672,cz:.05,lx:56.64628450306867,ly:56.97569559573312,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"nCbdmnahzfS1w9hiPKySNL",label:"Rainbow Swash",labelSize:4,labelHeight:50,showLabel:!0,labelFontSize:50,labelColor:"black"},{type:"Wall",cx:-14.049964379597128,cy:20.03116873649283,cz:0,lx:6.020797289396148,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.8682349942715186,leftPoint:[-11.799964379597128,22.03116873649283,.1],rightPoint:[-16.299964379597128,18.03116873649283,.1],leftJoints:["eJTbEVraxbUMqMs6Np8NKF"],rightJoints:["hXhPy1xFEnY2hwUty4JKnh"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"dg44T4UU4svJo7xChjjMQJ",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-18.049964379597128,cy:15.53116873649283,cz:0,lx:6.103277807866851,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.101663015995481,leftPoint:[-16.299964379597128,18.03116873649283,.1],rightPoint:[-19.799964379597128,13.03116873649283,.1],leftJoints:["dg44T4UU4svJo7xChjjMQJ"],rightJoints:["r6mVuTRZiSA9BuDPhjz2Lp"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hXhPy1xFEnY2hwUty4JKnh",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-20.799964379597128,cy:10.28116873649283,cz:0,lx:5.852349955359813,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.363617976800782,leftPoint:[-19.799964379597128,13.03116873649283,.1],rightPoint:[-21.799964379597128,7.53116873649283,.1],leftJoints:["hXhPy1xFEnY2hwUty4JKnh"],rightJoints:["7XqqJhYujD5LNMbkq5uwj5"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"r6mVuTRZiSA9BuDPhjz2Lp",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-22.149964379597122,cy:4.63116873649283,cz:0,lx:5.842088667591412,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.592280244817776,leftPoint:[-21.799964379597128,7.53116873649283,.1],rightPoint:[-22.49996437959713,1.7311687364928305,.1],leftJoints:["r6mVuTRZiSA9BuDPhjz2Lp"],rightJoints:["f9fikVMDyJeGH7jFyXZWwX"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"7XqqJhYujD5LNMbkq5uwj5",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-22.44996437959712,cy:-.7688312635071695,cz:0,lx:5.000999900019995,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.7323863143578375,leftPoint:[-22.499964379597117,1.7311687364928305,.1],rightPoint:[-22.399964379597122,-3.2688312635071703,.1],leftJoints:["7XqqJhYujD5LNMbkq5uwj5"],rightJoints:["xuvvfjRXMWdjTE7V8yHHHs"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"f9fikVMDyJeGH7jFyXZWwX",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-21.549964379597128,cy:-6.568831263507171,cz:0,lx:6.815423684555494,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.964484961052763,leftPoint:[-22.399964379597122,-3.2688312635071703,.1],rightPoint:[-20.699964379597134,-9.86883126350717,.1],leftJoints:["f9fikVMDyJeGH7jFyXZWwX"],rightJoints:["up3mEwP5XpBuhYU31R9sSn"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"xuvvfjRXMWdjTE7V8yHHHs",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-19.49996437959713,cy:-11.918831263507169,cz:0,lx:4.750789408087882,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.241978579166767,leftPoint:[-20.699964379597134,-9.86883126350717,.1],rightPoint:[-18.299964379597128,-13.96883126350717,.1],leftJoints:["xuvvfjRXMWdjTE7V8yHHHs"],rightJoints:["3RcJPAXuGxFdfSHj5R15Et"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"up3mEwP5XpBuhYU31R9sSn",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-16.549964379597128,cy:-16.46883126350717,cz:0,lx:6.103277807866851,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.323114944773899,leftPoint:[-18.299964379597128,-13.96883126350717,.1],rightPoint:[-14.799964379597128,-18.96883126350717,.1],leftJoints:["up3mEwP5XpBuhYU31R9sSn"],rightJoints:["5CVoJKJNEiwZKYgJZcNSFi"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"3RcJPAXuGxFdfSHj5R15Et",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-11.749964379597131,cy:-20.51883126350717,cz:0,lx:6.842514157822414,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.81300184353285,leftPoint:[-14.799964379597142,-18.96883126350717,.1],rightPoint:[-8.699964379597134,-22.06883126350717,.1],leftJoints:["3RcJPAXuGxFdfSHj5R15Et"],rightJoints:["jBn8o6CDfAHiZEGaPT1dBH"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"5CVoJKJNEiwZKYgJZcNSFi",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-5.699964379597134,cy:-22.868831263507175,cz:0,lx:6.209669878504014,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:6.022582915432245,leftPoint:[-8.699964379597134,-22.068831263507175,.1],rightPoint:[-2.6999643795971338,-23.668831263507172,.1],leftJoints:["5CVoJKJNEiwZKYgJZcNSFi"],rightJoints:["7WeEQ5XGbSwarbCtZLcy3v"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"jBn8o6CDfAHiZEGaPT1dBH",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:.20003562040287193,cy:-23.918831263507172,cz:0,lx:5.82151183113116,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:6.197191015985346,leftPoint:[-2.6999643795971338,-23.668831263507172,.1],rightPoint:[3.1000356204028776,-24.168831263507172,.1],leftJoints:["jBn8o6CDfAHiZEGaPT1dBH"],rightJoints:["v7jn11zR2wYLhDxejpfXGD"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"7WeEQ5XGbSwarbCtZLcy3v",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:5.250035620402855,cy:-23.36883126350717,cz:0,lx:4.588027898781775,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.35621965539615097,leftPoint:[3.1000356204028776,-24.168831263507172,.1],rightPoint:[7.400035620402861,-22.56883126350717,.1],leftJoints:["7WeEQ5XGbSwarbCtZLcy3v"],rightJoints:["ijnWnJpBMsWV74W4WWEWNB"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"v7jn11zR2wYLhDxejpfXGD",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:8.800035620402866,cy:-22.01883126350717,cz:0,lx:3.008321791298265,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.3743336160075845,leftPoint:[7.400035620402861,-22.56883126350717,.1],rightPoint:[10.200035620402872,-21.46883126350717,.1],leftJoints:["v7jn11zR2wYLhDxejpfXGD"],rightJoints:["crmfHAnSRdMR5VgizUq9LM"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ijnWnJpBMsWV74W4WWEWNB",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:11.450035620402872,cy:-20.71883126350717,cz:0,lx:2.9154759474226504,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.5404195002705842,leftPoint:[10.200035620402872,-21.46883126350717,.1],rightPoint:[12.700035620402872,-19.96883126350717,.1],leftJoints:["ijnWnJpBMsWV74W4WWEWNB"],rightJoints:["8PdqQxoo78gsSMQ7Gk5KLR"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"crmfHAnSRdMR5VgizUq9LM",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:13.950035620402872,cy:-18.96883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.6747409422235527,leftPoint:[12.700035620402872,-19.96883126350717,.1],rightPoint:[15.200035620402872,-17.96883126350717,.1],leftJoints:["crmfHAnSRdMR5VgizUq9LM"],rightJoints:["6qpKnQqjrecVz81WJpLQT3"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"8PdqQxoo78gsSMQ7Gk5KLR",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:16.450035620402872,cy:-16.96883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.6747409422235527,leftPoint:[15.200035620402872,-17.96883126350717,.1],rightPoint:[17.700035620402872,-15.96883126350717,.1],leftJoints:["8PdqQxoo78gsSMQ7Gk5KLR"],rightJoints:["hELSBxVzGyyQWpXPyvjTHw"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"6qpKnQqjrecVz81WJpLQT3",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:18.700035620402872,cy:-14.96883126350717,cz:0,lx:2.8284271247461903,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.7853981633974483,leftPoint:[17.700035620402872,-15.96883126350717,.1],rightPoint:[19.700035620402872,-13.96883126350717,.1],leftJoints:["6qpKnQqjrecVz81WJpLQT3"],rightJoints:["4fB42Goo94xeF9fnshTMSp"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hELSBxVzGyyQWpXPyvjTHw",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:20.700035620402872,cy:-12.71883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.8960553845713439,leftPoint:[19.700035620402872,-13.96883126350717,.1],rightPoint:[21.700035620402872,-11.46883126350717,.1],leftJoints:["hELSBxVzGyyQWpXPyvjTHw"],rightJoints:["43JV1qpPY5ifjyLwezRVA6"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4fB42Goo94xeF9fnshTMSp",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:23.200035620402872,cy:-8.71883126350717,cz:0,lx:6.264982043070834,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.0714496051147666,leftPoint:[21.700035620402872,-11.46883126350717,.1],rightPoint:[24.700035620402872,-5.96883126350717,.1],leftJoints:["4fB42Goo94xeF9fnshTMSp"],rightJoints:["4w2rHft9nRb3VsBiJ3yDka"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"43JV1qpPY5ifjyLwezRVA6",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.200035620402872,cy:-3.9688312635071696,cz:0,lx:4.123105625617661,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.3258176636680326,leftPoint:[24.700035620402872,-5.96883126350717,.1],rightPoint:[25.700035620402872,-1.9688312635071696,.1],leftJoints:["43JV1qpPY5ifjyLwezRVA6"],rightJoints:["drEpxmzAKwiqtosy39e6Vr"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4w2rHft9nRb3VsBiJ3yDka",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.700035620402872,cy:.031168736492830362,cz:0,lx:4,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[25.700035620402872,-1.9688312635071696,.1],rightPoint:[25.700035620402872,2.0311687364928304,.1],leftJoints:["4w2rHft9nRb3VsBiJ3yDka"],rightJoints:["doFL6ojJQmnX4K2WrFghMW"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"drEpxmzAKwiqtosy39e6Vr",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.700035620402872,cy:3.7811687364928304,cz:0,lx:3.5,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[25.700035620402872,2.0311687364928304,.1],rightPoint:[25.700035620402872,5.53116873649283,.1],leftJoints:["drEpxmzAKwiqtosy39e6Vr"],rightJoints:["p64ZbjyJXwL2QB5NtHDbAL"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"doFL6ojJQmnX4K2WrFghMW",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.200035620402872,cy:7.53116873649283,cz:0,lx:4.123105625617661,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.8157749899217608,leftPoint:[25.700035620402872,5.53116873649283,.1],rightPoint:[24.700035620402872,9.53116873649283,.1],leftJoints:["doFL6ojJQmnX4K2WrFghMW"],rightJoints:["2ovFHEfiXwzvGxgJdZVohF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"p64ZbjyJXwL2QB5NtHDbAL",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:23.950035620402872,cy:11.28116873649283,cz:0,lx:3.8078865529319543,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.9756881130799802,leftPoint:[24.700035620402872,9.53116873649283,.1],rightPoint:[23.200035620402872,13.03116873649283,.1],leftJoints:["p64ZbjyJXwL2QB5NtHDbAL"],rightJoints:["4FRjmDxxDfS6r8HLMLZ4VF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2ovFHEfiXwzvGxgJdZVohF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:22.450035620402872,cy:14.53116873649283,cz:0,lx:3.3541019662496847,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.0344439357957027,leftPoint:[23.200035620402872,13.03116873649283,.1],rightPoint:[21.700035620402872,16.03116873649283,.1],leftJoints:["2ovFHEfiXwzvGxgJdZVohF"],rightJoints:["ce3qFMioJ6iam6f3Ps6XMK"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4FRjmDxxDfS6r8HLMLZ4VF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:20.700035620402872,cy:17.03116873649283,cz:0,lx:2.8284271247461903,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.356194490192345,leftPoint:[21.700035620402872,16.03116873649283,.1],rightPoint:[19.700035620402872,18.03116873649283,.1],leftJoints:["4FRjmDxxDfS6r8HLMLZ4VF"],rightJoints:["hMHLjh9gVUXjqtgU6m8bRM"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ce3qFMioJ6iam6f3Ps6XMK",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:18.700035620402872,cy:19.28116873649283,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.2455372690184494,leftPoint:[19.700035620402872,18.03116873649283,.1],rightPoint:[17.700035620402872,20.53116873649283,.1],leftJoints:["ce3qFMioJ6iam6f3Ps6XMK"],rightJoints:["abAkJXmsmcg5ajbzQfYkR5"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hMHLjh9gVUXjqtgU6m8bRM",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:16.450035620402872,cy:21.28116873649283,cz:0,lx:2.9154759474226504,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.601173153319209,leftPoint:[17.700035620402872,20.53116873649283,.1],rightPoint:[15.200035620402872,22.03116873649283,.1],leftJoints:["hMHLjh9gVUXjqtgU6m8bRM"],rightJoints:["ksNDjPcxBviiRDPqzCkcR3"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"abAkJXmsmcg5ajbzQfYkR5",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:12.700035620402872,cy:23.53116873649283,cz:0,lx:5.830951894845301,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.601173153319209,leftPoint:[15.200035620402872,22.03116873649283,.1],rightPoint:[10.200035620402872,25.03116873649283,.1],leftJoints:["abAkJXmsmcg5ajbzQfYkR5"],rightJoints:["2G6Ycemoq6UcAJEBxk2txa"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ksNDjPcxBviiRDPqzCkcR3",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:7.750035620402883,cy:25.58116873649283,cz:0,lx:5.021951811795889,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.9207638838604444,leftPoint:[10.200035620402872,25.03116873649283,.1],rightPoint:[5.300035620402866,26.131168736492832,.1],leftJoints:["ksNDjPcxBviiRDPqzCkcR3"],rightJoints:["aaWFv2WxaeMYVbeK6B3njf"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2G6Ycemoq6UcAJEBxk2txa",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-9.799964379597128,cy:22.78116873649283,cz:0,lx:4.272001872658765,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.5003633238603653,leftPoint:[-7.799964379597128,23.53116873649283,.1],rightPoint:[-11.799964379597128,22.03116873649283,.1],leftJoints:["wcz96GJreptw2HHTTyJGnx"],rightJoints:["dg44T4UU4svJo7xChjjMQJ"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"eJTbEVraxbUMqMs6Np8NKF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-6.049964379597128,cy:24.28116873649283,cz:0,lx:3.8078865529319543,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.5464844398748765,leftPoint:[-4.299964379597128,25.03116873649283,.1],rightPoint:[-7.799964379597128,23.53116873649283,.1],leftJoints:["2B4JavsLMUjzTvW2zcVwEQ"],rightJoints:["eJTbEVraxbUMqMs6Np8NKF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"wcz96GJreptw2HHTTyJGnx",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-2.799964379597128,cy:25.53116873649283,cz:0,lx:3.1622776601683795,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.4633432079864352,leftPoint:[-1.299964379597128,26.03116873649283,.1],rightPoint:[-4.299964379597128,25.03116873649283,.1],leftJoints:["aaWFv2WxaeMYVbeK6B3njf"],rightJoints:["wcz96GJreptw2HHTTyJGnx"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2B4JavsLMUjzTvW2zcVwEQ",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:2.000035620402855,cy:26.08116873649283,cz:0,lx:6.600757532283728,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.156743009464563,leftPoint:[5.300035620402866,26.131168736492832,.1],rightPoint:[-1.2999643795971565,26.03116873649283,.1],leftJoints:["2G6Ycemoq6UcAJEBxk2txa"],rightJoints:["2B4JavsLMUjzTvW2zcVwEQ"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"aaWFv2WxaeMYVbeK6B3njf",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.2,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["ksNDjPcxBviiRDPqzCkcR3","2G6Ycemoq6UcAJEBxk2txa","aaWFv2WxaeMYVbeK6B3njf","2B4JavsLMUjzTvW2zcVwEQ","wcz96GJreptw2HHTTyJGnx","eJTbEVraxbUMqMs6Np8NKF","dg44T4UU4svJo7xChjjMQJ","hXhPy1xFEnY2hwUty4JKnh","r6mVuTRZiSA9BuDPhjz2Lp","7XqqJhYujD5LNMbkq5uwj5","f9fikVMDyJeGH7jFyXZWwX","xuvvfjRXMWdjTE7V8yHHHs","up3mEwP5XpBuhYU31R9sSn","3RcJPAXuGxFdfSHj5R15Et","5CVoJKJNEiwZKYgJZcNSFi","jBn8o6CDfAHiZEGaPT1dBH","7WeEQ5XGbSwarbCtZLcy3v","v7jn11zR2wYLhDxejpfXGD","ijnWnJpBMsWV74W4WWEWNB","crmfHAnSRdMR5VgizUq9LM","8PdqQxoo78gsSMQ7Gk5KLR","6qpKnQqjrecVz81WJpLQT3","hELSBxVzGyyQWpXPyvjTHw","4fB42Goo94xeF9fnshTMSp","43JV1qpPY5ifjyLwezRVA6","4w2rHft9nRb3VsBiJ3yDka","drEpxmzAKwiqtosy39e6Vr","doFL6ojJQmnX4K2WrFghMW","p64ZbjyJXwL2QB5NtHDbAL","2ovFHEfiXwzvGxgJdZVohF","4FRjmDxxDfS6r8HLMLZ4VF","ce3qFMioJ6iam6f3Ps6XMK","hMHLjh9gVUXjqtgU6m8bRM","abAkJXmsmcg5ajbzQfYkR5"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"eNawNU6nX2MwYS8vPdrDfM"}],Oin={yearlyLightSensorPanelShowDaylight:!1,showYearlyParabolicDishYieldPanel:!1,showSunAngles:!1,showDailyFresnelReflectorYieldPanel:!1,groundPanelY:0,waterSurface:!1,solarRadiationHeatMapMaxValue:6,yearlyParabolicDishYieldPanelRect:{y:0,x:0,width:600,height:400},showHeliodonPanel:!1,showDailyLightSensorPanel:!1,yearlyPvYieldPanelRect:{x:0,height:400,width:600,y:0},heatFluxWidth:.5,heliodon:!1,panCenter2D:[131.8325577738685,6.979070650641251,6979380865863898e-21],cameraPosition:[103.91363351545266,-170.19097104218287,181.31250975423077],mapZoom:17,showSiteInfoPanel:!0,yearlyUpdraftTowerYieldPanelRect:{y:0,x:0,height:400,width:600},windowShininess:200,dailyUpdraftTowerYieldPanelRect:{width:640,x:0,height:550,y:0},showYearlyLightSensorPanel:!1,weatherPanelX:0,mapType:"hybrid",heliodonPanelY:0,ambientLightIntensity:.1,weatherPanelRect:{height:500,width:500,y:0,x:0},cameraPosition2D:[131.8325577738685,6.978920643967857,150],yearlyHeliostatYieldPanelRect:{y:0,height:400,width:600,x:0},heatFluxScaleFactor:20,showMapPanel:!1,dailyLightSensorPanelRect:{width:600,height:360,x:0,y:0},yearlyLightSensorPanelRect:{width:600,height:500,y:0,x:0},showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showDailyParabolicTroughYieldPanel:!1,groundPanelX:0,mapPanelY:0,stickyNotePanelX:6,axes:!0,showElevationAngle:!0,dailyBuildingEnergyPanelRect:{x:0,width:600,y:0,height:400},showYearlyBuildingEnergyPanel:!1,dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},mapPanelX:0,autoRotate:!1,cameraZoom:11.974738784767572,showDailyHeliostatYieldPanel:!1,yearlyFresnelReflectorYieldPanelRect:{y:0,width:600,height:400,x:0},stickyNotePanelRect:{height:300,y:0,width:400,x:0},showStickyNotePanel:!1,dailyHeliostatYieldPanelRect:{width:600,height:400,y:0,x:0},showZenithAngle:!0,dailyParabolicTroughYieldPanelRect:{height:400,y:0,x:0,width:600},showEvolutionPanel:!1,solarPanelShininess:100,showDailyPvYieldPanel:!1,stickyNotePanelY:0,diurnalTemperaturePanelRect:{width:600,height:400,x:0,y:0},dailyLightSensorPanelY:162,showYearlyPvYieldPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,height:400,width:600},yearlyLightSensorPanelShowClearness:!1,shadowEnabled:!0,showGroundPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,showDiurnalTemperaturePanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDesignInfoPanel:!0,showWeatherPanel:!1,yearlyParabolicTroughYieldPanelRect:{height:400,x:0,y:0,width:600},heliodonPanelX:0,yearlyLightSensorPanelX:0,visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},showInstructionPanel:!0,panCenter:[45.46506493212769,-44.02353583672552,0],solarRadiationHeatMapReflectionOnly:!1,groundColor:"#16A5A5",showEconomicsPanel:!1,evolutionPanelRect:{width:640,height:400,x:0,y:0},directLightIntensity:1,groundImage:!0,dailyPvYieldPanelRect:{width:600,x:0,height:400,y:0},theme:"Default",mapWeatherStations:!1,showDailyUpdraftTowerYieldPanel:!1,yearlyLightSensorPanelY:0,dailyFresnelReflectorYieldPanelRect:{x:0,height:400,width:600,y:0},dailyLightSensorPanelX:-1275,heatFluxColor:"gray",mapTilt:0,showYearlyHeliostatYieldPanel:!1,enableRotate:!0,orthographic:!1,showAzimuthAngle:!0,weatherPanelY:0,showDailyBuildingEnergyPanel:!1},_in={dailyPvIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1},Vin=1,Gin={interRowSpacing:7.25,margin:2,pvModelName:"CS6X-355P-FG",rowsPerRack:2,rowAxis:"Left-Right",orientation:"Portrait",poleHeight:1,poleSpacing:3,tiltAngle:.5235987755982988},Xin={maximumInterRowSpacing:10,orientation:"Landscape",maximumRowsPerRack:6,minimumInterRowSpacing:2,minimumRowsPerRack:1,poleSpacing:5,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",poleHeight:1,maximumTiltAngle:1.5707963267948966},Jin={geneticAlgorithmParams:{maximumGenerations:5,crossoverRate:.5,populationSize:20,convergenceThreshold:.01,searchMethod:1,localSearchRadius:.1,selectionRate:.5,selectionMethod:1,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle",mutationRate:.1},particleSwarmOptimizationParams:{objectiveFunctionType:1,convergenceThreshold:.01,swarmSize:20,socialCoefficient:.1,vmax:.01,maximumSteps:5,problem:"Solar Panel Tilt Angle",localSearchRadius:.1,inertia:.8,searchMethod:1,cognitiveCoefficient:.1}},Kin={operationalCostPerUnit:.15,electricitySellingPrice:.25,projectLifeSpan:25},qin=[],$in={docid:Fin,time:Lin,timestamp:Win,userid:Nin,owner:Uin,email:Bin,world:jin,elements:Yin,view:Oin,graphState:_in,evolutionMethod:Vin,solarPanelArrayLayoutParams:Gin,solarPanelArrayLayoutConstraints:Xin,evolutionaryAlgorithmState:Jin,economicsParams:Kin,notes:qin},Qin="fxMgHdY9nZbP8YEqb9fZ1w",Zin="02/06/2023 03:46 pm",ern=1675716393386,trn="QWecNcxhyvP6j6sBN11hBsfZDau1",nrn=null,orn=null,irn={date:"5/10/2021, 12:00:00 PM",ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},address:"Orlando, FL, USA",latitude:28.373886495744546,cameraZoom:28.63945562104857,name:"default",timesPerHour:1,longitude:-81.5624358808899,orthographic:!1,solarRadiationHeatmapGridCellSize:5,pvGridCellSize:1},rrn=[{type:"Foundation",cx:3.6287395608159727,ly:283.0666063211208,rotation:[0,0,-.25695756630108585],solarPowerTower:{},id:"qKhYC3p1wiYeGuqWSSHJ89",color:"#999999",normal:[0,0,1],cy:-13.583365825686094,lx:337.3327572637294,parentId:"Ground",lz:.1,solarUpdraftTower:{},cz:.05,selected:!1,solarAbsorberPipe:{}},{filled:!0,selectedIndex:37,id:"gxiitHUfviQVqFAUKnd2B7",cz:0,cx:0,lz:.4,cy:0,lx:.4,selected:!1,color:"white",type:"Polygon",parentId:"qKhYC3p1wiYeGuqWSSHJ89",normal:[0,0,1],vertices:[{x:-.21350077712137278,y:-.42075759570318405},{x:-.2787182797987076,y:-.3183082097551242},{x:-.30984481516743556,y:-.20702698019085236},{x:-.3083625991974962,y:-.09044664445685331},{x:-.27865660234861234,y:.00706547489296964},{x:-.33053416129649227,y:-.01236458106269687},{x:-.37203620845479624,y:-.008831843616212049},{x:-.4120560396431608,y:.017663687232424098},{x:-.45504030277140417,y:.07065474892969639},{x:-.4846846221701927,y:.14660860402912002},{x:-.4802379742603744,y:.23492704019124053},{x:-.4594869506812224,y:.29145083933499766},{x:-.42094933546279734,y:.3409091635857851},{x:-.37500064039467507,y:.3762365380506333},{x:-.3379452411461894,y:.3886011191133302},{x:-.27717438637867287,y:.3886011191133302},{x:-.23270790728049007,y:.3691710631576637},{x:-.19713472400194382,y:.3373764261393003},{x:-.17193705251297356,y:.29851631422796726},{x:-.1467393810240033,y:.24022614636096776},{x:-.14525716505406386,y:.1784032410474834},{x:-.1585971087835187,y:.1236458106269687},{x:-.12450614147491189,y:.13601039168966556},{x:-.07855744640678965,y:.1625059225383017},{x:.004446647909818281,y:.1625059225383017},{x:.05187755894787995,y:.14130949785939279},{x:.08152187834666849,y:.12011307318048388},{x:.07411079849697136,y:.1607395538150593},{x:.06966415058715308,y:.22079609040530124},{x:.08448631028654735,y:.28261899571878557},{x:.12154170953503303,y:.3391427948625427},{x:.18972364415224668,y:.3903674878365726},{x:.27569217040873345,y:.3903674878365726},{x:.315712001597098,y:.3656383257111788},{x:.37203620845479624,y:.3161800014603914},{x:.40464495979346365,y:.2472916212539374},{x:.4090916077032819,y:.17487050360099857},{x:.39575166397382705,y:.09891664850157496},{x:.36758956054497793,y:.04945832425078748},{x:.3112653536872797,y:.00176636872324241},{x:.26976330652897573,y:-.017663687232424098},{x:.21936796355103522,y:-.017663687232424098},{x:.19417029206206496,y:-.01236458106269687},{x:.22677904340073238,y:-.10951486084102942},{x:.22671736595063713,y:-.22645703614651888},{x:.1852153187923332,y:-.3465701093270028},{x:.10968398177551761,y:-.4468912869803297},{x:.004446647909818281,y:-.49105050506139},{x:-.07559301446691079,y:-.49281687378463235},{x:-.14457773451918945,y:-.46315044506100184}],ly:.4,rotation:[0,0,-.25695756630108585],foundationId:"qKhYC3p1wiYeGuqWSSHJ89",opacity:0},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.037616685320439464,cy:-.48857758884885055,cz:.1,lx:28.799999999999997,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"kWpkpkWKF1uWgdwJ2NZefx",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:42.076837683556896},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.0372083877509681,cy:-.4744466390629113,cz:.1,lx:50.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"dK6YzfpNPfiWaeFn2QffwS",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:73.63446594622458},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03654996905677188,cy:-.460315689276972,cz:.1,lx:73.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2YnbhMS1ahtpsDUt83Kmqa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:106.94529577904046},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.031199169405290578,cy:-.4461847394910327,cz:.1,lx:92.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rZ6mfN6qq8rs7avswS9pu2",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:134.99652090141174},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03621493966368436,cy:-.43205378970509345,cz:.1,lx:104.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nsxJE4hnqqqbojxtQF5XmZ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:152.52853660289378},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04202884346728941,cy:-.41792283991915413,cz:.1,lx:115.19999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"65qqYMw5kK9P2gpyyLouG5",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:168.30735073422758},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04120703986508323,cy:-.40379189013321487,cz:.1,lx:122.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sNWVSiGrgGLPazQHQc81Q",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:178.8265601551169},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04038523626287707,cy:-.3896609403472756,cz:.1,lx:128.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"cnEFmUzsqP1tLRHrUQvSwW",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:187.59256800585786},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03956343266067097,cy:-.3755299905613363,cz:.1,lx:135.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"98MNypEPPBsYie5TNeQKR6",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:198.11177742674707},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03874162905846479,cy:-.36139904077539703,cz:.1,lx:141.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"xb5Buj7cVMwRPovXehf8wX",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:206.87778527748813},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.037919825456258605,cy:-.34726809098945777,cz:.1,lx:148.79999999999998,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"9cdDw2HjNqp1VMPzxiNCdw",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:217.39699469837734},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.039402378999016274,cy:-.33313714120351845,cz:.1,lx:153.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"8zxNS5x3yVnoFnibsJjUwa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:224.4098009789702},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04145884091268481,cy:-.3190061914175792,cz:.1,lx:158.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2RRuCpeWAGmBTfC2dhxMwq",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:231.422607259563},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04149659769772568,cy:-.3048752416316399,cz:.1,lx:162,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"iv6ViUw3EJjpR2TGVGwYEb",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:236.68221197000761},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04103158876597998,cy:-.2907442918457006,cz:.1,lx:164.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fW2H3FSf6TjWNbMrKb1Lkt",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:240.18861511030403},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.040566579834234257,cy:-.2766133420597614,cz:.1,lx:168,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2t1Xvha9SQuwVN7KfkUeiy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:245.44821982074862},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04010157090248856,cy:-.2624823922738221,cz:.1,lx:170.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"8iBoV7XvdfudFjFhHgKqTa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:248.95462296104498},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.039636561970742834,cy:-.2483514424878828,cz:.1,lx:174,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wYMRLZC1rubPv5oYgrbkPg",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:254.21422767148965},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03917155303899711,cy:-.2342204927019435,cz:.1,lx:176.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"tdEaYaSRTP4xPW2tL6xYLX",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:257.7206308117861},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.0394392928303727,cy:-.22008954291600424,cz:.1,lx:178.79999999999998,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"5M1u3s5y7Yg9TFyx3QAJka",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:261.2270339520825},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04141185432912459,cy:-.20595859313006498,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hiA62xMKPaFVvMB4EbNPY4",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04144393579015737,cy:-.19182764334412566,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"b54t9D1QjNBLmMTU63QWVT",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04135037805808456,cy:-.1776966935581864,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"d1YSCd8j3DVVmp36H3tHZz",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04125682032601172,cy:-.16356574377224714,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"1ysUo9HPCMC5bpSzendt1P",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04116326259393882,cy:-.14943479398630782,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2GwbaiKPvFUtnmPT96gojn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04106970486186601,cy:-.13530384420036856,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jfCpXtMzyB64DGxKrDZTJ5",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04097614712979322,cy:-.1211728944144293,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"49X8WCb1TJhiSctnjKxN4r",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04165455280196828,cy:-.10704194462849004,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"9EUafkcKKdEjXyJwgKUn9F",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04393626708296591,cy:-.09291099484255072,cz:.1,lx:177.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"83ZWm7TJF8qdoueqVfWe1p",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:259.47383238193424},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04420570767416232,cy:-.07878004505661146,cz:.1,lx:175.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"iEjavascg418skk9iKNiXc",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:255.9674292416379},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04442483385188012,cy:-.0646490952706722,cz:.1,lx:171.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mEQPpZurmPLPYfvHBtjBp8",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:250.7078245311932},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04464396002959792,cy:-.05051814548473288,cz:.1,lx:169.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jXz3fip3tXcdriBZEWDqpy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:247.20142139089677},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04486308620731577,cy:-.03638719569879362,cz:.1,lx:165.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"eqHXHHJiV6yMbr5L1r1Ld7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:241.9418166804522},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04508221238503357,cy:-.022256245912854355,cz:.1,lx:162,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nX2ypmuMKZwqMh2zBmNNcy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:236.68221197000761},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.340155090410463,cy:-.008125296126915038,cz:.1,lx:9.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wnN4Cfoo6RAEcvrqb2PcCi",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:14.025612561185637},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.0008397564506628652,cy:-.008125296126915038,cz:.1,lx:192,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"41tmtPqEDkBjyum5o2HyTb",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:280.51225122371267},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.33919569243719283,cy:.006005653659024224,cz:.1,lx:34.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nUZy35meWUt3qFXdKcjG8T",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:50.84284553429793},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.01707173035142423,cy:.006005653659024224,cz:.1,lx:199.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"42nshWJYmviEWoTkQyU4n7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:291.0314606446019},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.040942647871871296,cy:.02013660344496354,cz:.1,lx:249.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"woLsJFnRDToiWqRHeJaj7e",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:364.6659265908265},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03832955601375582,cy:.03426755323090275,cz:.1,lx:259.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"co9GdUpZDxCi3rLez9eaX9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:378.6915391520121},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03571646415564039,cy:.048398503016842065,cz:.1,lx:268.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jbUV2vPsguy1CptC637MTc",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:392.7171517131978},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03645227851214608,cy:.06252945280278138,cz:.1,lx:276,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qkmUJNGwXdSLVnfZeY68uS",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:403.2363611340871},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03734260936957107,cy:.07666040258872059,cz:.1,lx:282,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6iGc4xFsJd9M2yj74iPeRR",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:412.00236898482797},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03607706284374246,cy:.0907913523746599,cz:.1,lx:286.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"omBvXRQwdAtvY6W2nJwnSu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:419.0151752654209},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.035576630292429856,cy:.10492230216059922,cz:.1,lx:290.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"86V9dMayifHM3TKqinFVHY",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:424.27477997586544},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.19735877990437656,cy:.11905325194653843,cz:.1,lx:186,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hbiQ95FcNxgSx4s8JJpjr7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:271.7462433729717},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24049456177332856,cy:.11905325194653843,cz:.1,lx:106.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nhNSmKpJTEt2hyfDoJmW3v",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:156.03493974319017},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31770381965182604,cy:.13318420173247775,cz:.1,lx:108,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"phxBsJWZVwgu5cw4g8V4wY",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:157.78814131333837},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03308870698607633,cy:.13318420173247775,cz:.1,lx:62.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"tuJ1gTPzUhawyfMHxKao6u",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:91.16648164770662},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24046099085550587,cy:.13318420173247775,cz:.1,lx:108,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jtBNT6PcfTMUK2qEAoEKzy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:157.78814131333837},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31874014769682496,cy:.14731515151841706,cz:.1,lx:110.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"3Kj2UQDiRgd2551SXnotBs",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:161.29454445363484},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.033764879795220165,cy:.14731515151841706,cz:.1,lx:44.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"39FZrG2AvYzTH8N4iEhi3W",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:64.86845809548358},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24041303240147344,cy:.14731515151841706,cz:.1,lx:109.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"oK7nq2Fur7VVa6ALjsnPy9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:159.5413428834866},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3169744670961393,cy:.16144610130435627,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fnB5YFmLgA7bBpseBoJH8k",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.036255002624718397,cy:.16144610130435627,cz:.1,lx:31.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"dZPmGJSNE99kF5mskFBu8m",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:45.58324082385331},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.240365073947441,cy:.16144610130435627,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"xdu2VhAyxp7GHG6GkN2Rak",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3148974522014887,cy:.1755770510902956,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"g7Pg4uWoBiYjTsLY8RraRJ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24100628905692523,cy:.1755770510902956,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hDztK9BKaGUf2AywiKnX14",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31399347805252253,cy:.1897080008762349,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qRpgEphc3gwtfun3kDAQ8w",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2402168091310728,cy:.1897080008762349,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"vc7S9aQUn3Nxbw9os9915M",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31380714233058726,cy:.2038389506621741,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"kRsxFHjzWbANb66JdKxPEn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23925985477458384,cy:.2038389506621741,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"p7ZRVtya7nPesW49gxfWje",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.313620806608652,cy:.21796990044811343,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mwBcFhJw4XwTYpgx3t8Kq4",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.238302900418095,cy:.21796990044811343,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6LEGw3yDjniXRNLBc3hQEt",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31343447088671683,cy:.23210085023405264,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wQatxUrP1g2jmJrfUibX2C",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23916510110353983,cy:.23210085023405264,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6yT9UzJjZp1c4agfQAh2Za",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3127806949383655,cy:.24623180001999195,cz:.1,lx:109.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sWWpxqpZqAXKAZerDK9Cn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:159.5413428834866},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2402069428031286,cy:.24623180001999195,cz:.1,lx:110.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"teapWmNzVUv7LoUgjnLHJu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:161.29454445363484},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3132410802017558,cy:.26036274980593127,cz:.1,lx:105.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"aGUWAZyZhfeCxcewvQ7kQ9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:154.281738173042},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2385564165948445,cy:.26036274980593127,cz:.1,lx:106.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"pKCiy2oM8YqTjYeCwFccee",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:156.03493974319017},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3137014654651461,cy:.2744936995918705,cz:.1,lx:102,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mtSGfTvotfJZuE5rKNWHKD",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:149.02213346259734},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2369058903865603,cy:.2744936995918705,cz:.1,lx:103.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"25YjZ6eNgXEZMpGdn5MeCJ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:150.77533503274557},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3141618507285363,cy:.2886246493778098,cz:.1,lx:97.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"3QmRQECQLpN1r5BFbEnPZu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:142.0093271820046},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23694469336187218,cy:.2886246493778098,cz:.1,lx:98.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"7fQN2CLRbYff7Kgk1L8AFk",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:143.76252875215275},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3125435243418768,cy:.3027555991637491,cz:.1,lx:91.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sok3ZhMGD367xZKYFitkd",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:133.24331933126356},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23823213095114654,cy:.3027555991637491,cz:.1,lx:93.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"knqe8wxaNzdbbkkGeV6nft",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:136.74972247155998},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3116195455554211,cy:.3168865489496883,cz:.1,lx:85.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"sJtpFF4zqnp47K3f8FHJoz",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:124.4773114805225},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23857920295070112,cy:.3168865489496883,cz:.1,lx:87.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"eenbnKZSxHXg341eYvv6YL",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:127.98371462081894},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31069556676896537,cy:.33101749873562764,cz:.1,lx:78,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rnrxkB2JpncBeLWxT29QJC",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:113.9581020596333},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23516481259137628,cy:.33101749873562764,cz:.1,lx:79.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"cZtPSF2YivPA1jCjxoWje1",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:115.7113036297815},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31044025346401344,cy:.34514844852156695,cz:.1,lx:68.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rJSTWke3wchC8uFSfcSzQ1",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:99.93248949844762},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23449459815656987,cy:.34514844852156695,cz:.1,lx:68.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6Hp4zwmET4Ch6ZFmL8mGpC",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:99.93248949844762},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3091556662900659,cy:.35927939830750616,cz:.1,lx:56.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fJ8958fxoKHVFgspEjynzP",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:82.40047379696561},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2358526876659724,cy:.35927939830750616,cz:.1,lx:56.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"1CoiFcccuM9VRQ7ukyN4aa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:82.40047379696561},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31159009373160274,cy:.3734103480934455,cz:.1,lx:43.199999999999996,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jzJ71uWBpujykTfLckxzbh",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:63.11525652533535},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23483923162347198,cy:.3734103480934455,cz:.1,lx:43.199999999999996,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qYWcALWx8U3KNV1wk9Ec8j",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:63.11525652533535}],arn={showWeatherPanel:!1,weatherPanelY:0,showDesignInfoPanel:!0,yearlyLightSensorPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,showInfoPanel:!0,panCenter2D:[39.10459750703379,-60.079467366675814,-6008213787399433e-20],shadowEnabled:!0,stickyNotePanelY:0,theme:"Default",autoRotate:!1,cameraPosition2D:[39.10459750703379,-60.079617373283014,150],showYearlyPvYieldPanel:!1,showDailyLightSensorPanel:!1,heliodonPanelX:-6,showGroundPanel:!1,dailyLightSensorPanelX:0,cameraZoom:4.904200711979575,showDailyPvYieldPanel:!1,cameraPosition:[94.96625797546166,-156.07916973403763,226.41931192253614],weatherPanelX:0,showInstructionPanel:!0,groundPanelY:0,mapTilt:0,groundColor:"#16a5a5",panCenter:[21.38313493992602,-35.00376702263927,0],showMapPanel:!1,enableRotate:!0,heliodon:!1,groundImage:!0,dailyLightSensorPanelY:0,mapZoom:17,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:0,groundPanelX:0,heliodonPanelY:9,mapType:"hybrid",mapWeatherStations:!1,axes:!0,orthographic:!1,stickyNotePanelX:0,showHeliodonPanel:!1,yearlyLightSensorPanelX:0,solarPanelShininess:0,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showEconomicsPanel:!1},lrn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},srn=1,crn={rowAxis:"Left-Right",tiltAngle:.5235987755982988,poleHeight:2,poleSpacing:3,orientation:"Landscape",rowsPerRack:4,interRowSpacing:4,pvModelName:"FS-495"},urn={orientation:"Landscape",maximumTiltAngle:1.5707963267948966,minimumInterRowSpacing:2,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumRowsPerRack:6,minimumRowsPerRack:1,rowAxis:"Left-Right",poleHeight:1,poleSpacing:5,maximumInterRowSpacing:10},drn={geneticAlgorithmParams:{mutationRate:.1,localSearchRadius:.1,crossoverRate:.5,convergenceThreshold:.01,maximumGenerations:5,searchMethod:1,populationSize:20,selectionRate:.5,selectionMethod:1,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle"},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,inertia:.8,convergenceThreshold:.01,swarmSize:20,searchMethod:1,socialCoefficient:.1,cognitiveCoefficient:.1,localSearchRadius:.1,vmax:.01,maximumSteps:5}},frn={operationalCostPerUnit:.15,projectLifeSpan:25,electricitySellingPrice:.4},hrn=[],prn={docid:Qin,time:Zin,timestamp:ern,userid:trn,owner:nrn,email:orn,world:irn,elements:rrn,view:arn,graphState:lrn,evolutionMethod:srn,solarPanelArrayLayoutParams:crn,solarPanelArrayLayoutConstraints:urn,evolutionaryAlgorithmState:drn,economicsParams:frn,notes:hrn},grn="j9Q8R8iNXqFBaujVRfHNC2",mrn="05/18/2022 02:05 pm",yrn=1652897143355,Arn="QWecNcxhyvP6j6sBN11hBsfZDau1",wrn=null,vrn=null,xrn={latitude:35.81284404374666,pvGridCellSize:.5,timesPerHour:4,longitude:-78.7501240418377,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"2401 Trenton Rd, Raleigh, NC 27607, USA",date:"4/15/2022 10:15:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},brn=[{cy:.10173433320329936,normal:[0,0,1],lz:.1,ly:51.9907667035674,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.005905293451752419,cz:.05,rotation:[0,0,0],lx:75.61279135922823,selected:!1,parentId:"Ground",locked:!0},{poleRadius:.05,type:"Solar Panel",lx:1.984,lz:.046,relativeAzimuth:0,drawSunBeam:!1,rotation:[0,0,0],ly:21.648,normal:[0,0,1],poleSpacing:3,cx:.08211037572567748,trackerType:"HSAT",cy:.2234368441602269,label:"Row3",cz:.5000000074506161,orientation:"Portrait",showLabel:!1,selected:!1,poleHeight:1,tiltAngle:0,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.16248436170569222,cy:.2234368441602269,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLn1japfJEgTKBPWbNzur1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.23879905546449415,cy:.2246175890711455,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xrAXVLJvJZKmHgq57E2MQB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.31836118300026617,cy:.2233645095937837,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tRW2bpMcmbgt4enWCcDP51",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.39629959364755313,cy:.22343686243351435,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tJsi7hiees32d12b6mBMhW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.47586172118332537,cy:.22461757079785805,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5KhMg2uodxoo1Z4XL87XGA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0025482481899054073,cy:.22225611752259564,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"26aZGW371fb7o1PfURQ3zg",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.07457830401313895,cy:.2246175890711455,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wUt5FR6ocPi4PpiJnSm7dt",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.15495228999315366,cy:.2210754091582519,cz:.5000000074506517,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9KjddEKBMzvacaiu1qXZ6p",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23532627597316833,cy:.22107540915833737,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v1S992hiHrrXWRFsDpx8ie",selected:!1,drawSunBeam:!1},{type:"Cuboid",cx:-32.63845852923165,cy:15.792302218810745,cz:1.2553344031996811,lx:5.133059413294499,ly:13.392050108713438,lz:2.5106688063993623,color:"gray",normal:[0,0,1],rotation:[0,0,0],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",id:"1x2m4C7FHzAwDkHxXXdvsn",selected:!1,locked:!0},{type:"Human",name:"Jack",cx:-28.54553838833994,cy:11.2385720166683,cz:0,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.46971942316836673,cy:-.2583893879929419,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5MXRMjMkweGaqcjbtGi5WU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3904301692588086,cy:-.2623054559086292,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9xkDVHA2779LgaH8YdZCmx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3131409153492504,cy:-.26022152382431646,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mN37zmeNfQecDk9remsomw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23385166143969227,cy:-.26413759174000373,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e3Pif4TuZ9DpVbtnBEVtva",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.15456240753013412,cy:-.260053659655691,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g39HnTg7UwuA8CBPjuTqTF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.07527315362057596,cy:-.25996972757137826,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oFMzredZvfguD3UXAtxX6K",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.004016100288982194,cy:-.25988579548706553,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2ABmv4sfkBHxsAyYodagum",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.08330535419854035,cy:-.2618018634027528,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k577u5kHuxBEHJLmRQtnAz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1625946081080985,cy:-.26371793131844007,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w4he3pd3YzeFnd3X45S2gw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.24188386201765666,cy:-.26163399923412733,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pyLs3bLikRTcZrrF7e1TcH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3167669019313885,cy:-.25817391579286053,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6wAigPY54YvU4hpiRBKYf4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.39751068943275564,cy:-.26121089229567773,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iTsCanVgttoMHWKMPD8d5z",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4775584098004903,cy:-.2553834493088245,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o5ef4DVoUQeG4ovcxCKPpK",selected:!1}],Srn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:20,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[31.151690262644525,60.08959522074622,31.574651861408782],panCenter:[5.074127461000436,15.829331204955876,0],orthographic:!1,enableRotate:!0,cameraZoom:19,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.577303319163851,-9.663080657094188,49.999990336648274],panCenter2D:[8.577303319163851,-9.663030654871722,-9663320744681337e-21],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},Trn=1,Prn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Crn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Rrn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Hrn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Mrn=[],Irn={docid:grn,time:mrn,timestamp:yrn,userid:Arn,owner:wrn,email:vrn,world:xrn,elements:brn,view:Srn,evolutionMethod:Trn,solarPanelArrayLayoutParams:Prn,solarPanelArrayLayoutConstraints:Crn,evolutionaryAlgorithmState:Rrn,economicsParams:Hrn,notes:Mrn},zrn="axSGqNWcpePCTLspRawDR9",Drn="05/18/2022 12:07 pm",Ern=1652890029091,krn="QWecNcxhyvP6j6sBN11hBsfZDau1",Frn=null,Lrn=null,Wrn={latitude:34.661401193155264,pvGridCellSize:.5,timesPerHour:4,longitude:-118.08438229389954,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"3782 E Ave L, Lancaster, CA 93535, USA",date:"3/30/2022 11:30:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},Nrn=[{cy:.07254451818739938,normal:[0,0,1],lz:.1,ly:81.92819197480188,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.08412023344924435,cz:.05,rotation:[0,0,0],lx:82.66288858793011,selected:!1,parentId:"Ground",textureType:"No Foundation Texture",locked:!0},{type:"Human",name:"Jack",cx:49.29766862442634,cy:-12.729504090108108,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.45},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"AADAT",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1.2,poleRadius:.05,poleSpacing:3,cx:.2518807579243098,cy:.010250386487824486,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5786gicyfJksUGkwhvexAb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25427388005268026,cy:-.04395224581399519,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k9w88akkXvyeym1nEoJCjH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2566670021810507,cy:-.09815487811581487,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i4BrqTV8VhJzUFMcA4xEMs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2530944088658749,cy:-.1536069244602506,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vcRG9TH79RxwCJhnX4D2hp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25192019869553334,cy:-.21079873518169914,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtH2MUzGv2KfYvP1V1Rm6A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.19991063417063695,cy:-.18536196640558186,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wv9ywiGPQRmqsVCgAzNiwq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19064139133153096,cy:.15891530324997943,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ucdEe1iLcEHHhf7vQqUUBk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10269156717338637,cy:-.12788362495230762,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iRH83oBMSFMwbXKKj29Qwe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10314333812802398,cy:-.013487174391434594,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eQKzkcGn74q7YicXK2W4tT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15886708542833353,cy:.12620926239733848,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dDRJL26Ytf5c8uDCiZ3aXx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15339180094769295,cy:.06763384458981574,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5VPk2zFGHCYnEvmb4Swkfx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1533504351516886,cy:.011186366145812043,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mWLpnzd5GQucX4FdT7Xfxt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1555155212376684,cy:.24112965852461848,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8fafEASeWSKzVyfD9jxhX3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1589318952851763,cy:.18059187676792832,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8oEiCQAuNSHPSDiR6LUNbE",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25484854246591865,cy:.06997519331444636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hS7hPBhsXEFxoPaaW27Bei",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.058180152618152965,cy:.12709108304539296,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eBcpt1Wt3T5EkddP5aWE5r",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09325025604322237,cy:.0983124515002669,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rVyrwEiwe9ZPbBS99cPzQZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14277629723213114,cy:.015285529455875321,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sFJojw9tEoGQyahPFbrMGm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04294631891940937,cy:.06901057210886578,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ekjGZoifbx54ZxvxR9nd4Y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2920444708915642,cy:.04225008319918739,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3BDM99QnBLCJL4C6i8MSSs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2886934107606972,cy:.09972897002350474,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gEHyNnwSt5QbZ5cmLo61av",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05646578271859648,cy:.06997519331444636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t5wJr6yXENMUDnfPe9dKk2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.041385173102717936,cy:.12610163574289743,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qXjk7hou8dch4h29ZdrRwv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1923023384210398,cy:.10145193857791704,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hyHFcJjhpxKcY4WiqVxvnY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1895020308870361,cy:.043602527595053696,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fYZ6sBUNi7ENt9JGidVuq8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0896200750136689,cy:.15848596846951796,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bnwN7888LrQM7dC3CaukC4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25776231965010593,cy:.12762742673544877,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMTxMasD2j1rCN41KmcoKf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2045542377026502,cy:.09879647040569517,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jK4TDxAWQQmZt76MiUgYBj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0915388849864329,cy:.04212814396977042,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4AZoM6mfHgnqyYfm1FKGHz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1422836298066917,cy:.07046201484554855,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2LodiR2ATEwXvrSF5QtqFJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0422721424424923,cy:.011806515962473143,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cQzP6z5hZLemyfnuj3n9Dm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006994600101448293,cy:.04312289956203308,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oz6Y5UFdG5kpKdrsZGPPHy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006994600101448293,cy:.10028772676757898,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jDhoFMd3Yqniw6HmXCK6PZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10700608746564778,cy:.09929355585965646,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9uyqQ937ezx3VdDJUFfzMi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1065134200402084,cy:.04361998501599436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8GgRE418BL6BVETxL6mwZ7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05527600779451013,cy:.011806515962473143,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xu2mR289eySb3y2d1ZZWgf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2060322399789683,cy:.044117070469955603,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u558xjFbFWRjTHBfoZjc3B",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20553957255352892,cy:-.013047756735590265,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"st7NYqMPZnkacwsV9fNrTW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15578016258414895,cy:-.04436414033515022,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1H39aeiRM4xc1iUZYtAB8W",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05626134264538889,cy:-.04386705488118897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"66Y2RUGQAkcJg6mWe5jRG5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10552808518932955,cy:-.07319509666490383,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8mkhtM6wG9Afn5AsZkJC3p",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10865037816756891,cy:.21407673957857115,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmpLZMvpnpGmUxvk5iTgP1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10865037816756891,cy:.15762154422622862,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ngNMpaj8EwRBxMeWvoeXys",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057634016263961675,cy:.18418869498027218,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"giC1j5cUtWifw2JwH5a5bP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007440498907186952,cy:.15762154422622862,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rs1mymysHmGoDcaan4oDsB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04193017390275545,cy:.18584914190239984,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uPnwAA4FcFWHA7FqJJGQae",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2065688792406212,cy:.1567913207651648,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6KPu6mNrxywNai4UXzGBJ5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2567623965973961,cy:.18501891844133603,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1n372FWqJ9pVPw4eSXYmPV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2065688792406212,cy:.21490696303963497,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gi6tkDKs6NtgCMAAReWJAR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.004971965266689796,cy:-.01340448875292641,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pLi7ggTT3PqwKQBJVjuniN",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14231720861630498,cy:.12856372308899353,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iXLnMRMrRjtjArqFQVcTD3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24023570968935748,cy:.06961785735345952,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9g2NFucTWZE9VvPJ1U9fnX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24270424332985463,cy:.12607305270580196,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e6vsB5ZrLgyMEs8nt19DUv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09459222490002743,cy:-.012574265291862577,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hQr9Fef5Fh7zxEbLkL1VMo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04357586299642019,cy:-.04329253335122541,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fJiHeWQvfcH93LJDacJ5U2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006617654360354536,cy:-.06985968410526895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"av2DnyKiv87Tdt3JFpxyHB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2057460346937889,cy:-.07068990756633277,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tzhyrWaP1ZqrN4rpJQBLcB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15390682824334934,cy:-.1005779521646317,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3nRRF2j6QrScDDkbrs6m4a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20327750105329176,cy:-.1296357733018668,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7y7rBQL5vGHMt8ZANGKmdr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15472967279018185,cy:-.15703314751697414,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cN1AzorJdqMR2VPo9KVZma",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.055165482623464525,cy:-.10306862254782327,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dfu9LFXVjUWPvnPcDkjy6R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1390685759174889,cy:.1852541725070993,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rxx1fqNmXiDTg1ZhJ1QnGn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09067926762777045,cy:.21416267146874132,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8SRi5DvvrpV4dNgiTvJ9Je",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00800945322626064,cy:.21480508255677777,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"266hnZ1rnYA5XLvbZ8txcr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04147760940199774,cy:.24037406770776895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7vBjqcNWEe5WcN3ZPbNV6e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.058580287492818954,cy:.24037406770776895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"syucoPsRr3v2eHQaYYfqug",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007769636725919854,cy:.27113384694018494,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kWziiofHHGucoQrSYimggR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057016882853837374,cy:.2987387770205583,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"idtAosKbm3W95AtcEbYCdb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10782753362073655,cy:.2695564223641636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6xoYbDnXopc3sxqZhRMx2C",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10860279827645342,cy:.32854167949809765,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bpjusQDMhzuD6wY6N7LYpe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1592693110228126,cy:.35588539966209315,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tX9ZhVSGraSP2oyuKxZRks",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:.30000910193566754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n7JZKTvm9Z74h9Q2sTZDE3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20875753277507064,cy:.272665381771672,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"edXx1WDDhJHy3n7mzY55eB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20522265979276647,cy:.3297305368965322,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpFtUM9gLUrhBCuhPrUxch",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20757924178096934,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pezhDsUoQ6nUspAa69MKkr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2570674635332272,cy:.41413941218538786,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oM9xei2CxtE8z6PBbtfg9f",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25588917253912563,cy:.3546965422636585,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"boLotmiivinNNHWUkJNPK1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2570674635332272,cy:.30000910193566754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gy1y7cW6cjooGgNpDRcVqF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25588917253912563,cy:.2405662320139381,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xnSPHfaBhXAD7ssnz5CFcM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.07055962403779206,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"khKhaS8ssRAseSkBgDXTD4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.012305611514497291,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4Z7xaYhMGZDK551XajN4xD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.012660393852629088,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w29qA4SyEe8XYJFPW7NZFY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14237318346714029,cy:-.04238182881349372,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xtibwmyRkGDZD1aXvyKhQs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09170667072078098,cy:-.07210326377435848,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1PogYHu7FjwwFaSG7CbAN4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:-.10063584133678857,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iPqMK3ttEsCxnPof1ShTJR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00726977278373475,cy:-.12441298930548035,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9GmoNmHrHgvD95Qd2V3rCJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.056757994535992624,cy:-.1588898538600834,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kuKrRiiiHZzLJDtmorgeuP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10388963430004787,cy:-.18623357402407878,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dNLLoyzyJAC4ab9yNV49YW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1545561470464073,cy:-.21357729418807436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2K3F8F31VVhyhEKnxs3Erf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2016877868104623,cy:-.24092101435206986,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fDAsp6SESYssbfVnpQgG3D",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:-.2718313067113691,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2zKUQEiEH6NvsSMtHEjR6F",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3030208123031809,cy:-.1850447166256443,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w9y4ucdHTVjss2inC3NCUr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.23950929397792342,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rbco6Y3hA3xGnGqyMDpR5N",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.3006836542668394,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3ULG8zNaZ7DoT4B28Qot6U",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.1276476065924771,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3AUeCn3oqRmECRW8VZWFNk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30218309151864386,cy:-.07084284346705509,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aQpjCoWjLCxvJeQv5oUMVb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.01403808034163304,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vBbWMduvCeR6vTDiguHAbY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30304924367320435,cy:.04364060221648771,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"okZoQ3ysJTWRd5qkZTjBii",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30304924367320435,cy:.0986975264765121,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vb4fTp2UdSaTbvLvi9dHuG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.15725012846733166,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8wtcFzrh2coJE8Az2epH5T",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.21405489159275365,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cV7ZMqR486KK5uKiKyHsbD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.26911181585277805,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6NYbyBHAQVquv8YKDCR6oa",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30629425197116866,cy:.3273569087969701,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"snK592eqLd3gtZUGisH7Bi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3052840147301011,cy:.3874954089039585,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k347z912Q33SPm4HjDf6Ts",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30526315555234357,cy:.4432203131739659,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fbe5VKYd1udpQPzu38HQ7E",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:-.324141032242491,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"swtWVRnxgYawbA874SNx1j",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2994859393208767,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5S3HYU2UW8isQw3SzAvJM6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.32889646183622934,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JQUVSMiMnHRjQS21Wnniz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2KniKkjJuWzm1bjpPzKSFN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:-.2111995793912052,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wwTA44T8asPKftHuSv9Kxj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.35133074306133744,cy:-.15294556686791044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t3E52wZbbHnADbh2UbMakk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3501524520672361,cy:-.09825812653991937,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"va5gGZiucR3BZro2UmUfwP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:-.04000411401662455,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bH3pA8zNDVqLrfvegAx9xh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.012305611514497309,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"juS4o8FwY72f2ZGpUyJTFT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.07174848143622668,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mWzf3i5nYWUXB7AZpupMGw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.12643592176421772,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w3LD5JnAsnpX4oBsSFDj3R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.1823122194906433,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aYmwXUwtmrJa7BKf4smZKd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3548656160436416,cy:.24294394681080725,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hsDudJG9V3zUGU3c9JEDW1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3536873250495403,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"93uFEA1egTtZQgpK4YcPrJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.35707425706052764,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u3Q4mYsqDTVks8sDVy3DEP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3548656160436416,cy:.4153282695838226,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6riq3e9uC7h5gp6Zomw7hq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:-.015038108649498227,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rPCnFh8P3Fbb8rP7NJpXsJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jzhnP1nX9SurbY1UtSQfGN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.0697255489774893,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pY9hiMs2za6x5s29sH6TC2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.10182469873522315,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7QH8sk9RVXWAVfxVKeVt7q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.12679070410234947,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sGHLds88BbZkPQYtZDaLUx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.1588898538600833,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"99eVg8SaLEcFCJMaPWXD8n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00726977278373475,cy:-.18504471662564428,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"71eWvY68edyj2BgXY8WQ4o",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05440141254779,cy:-.21357729418807442,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7cCL63qwoUHSbtu2cHebcT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10506792529414916,cy:-.24329872914893902,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qibcJYeM1UJiSYmvPBWTJW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15219956505820442,cy:-.27183130671136924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"94NK21a9LTKKEhFcnnw4vS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20286607780456356,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ctBifLhmGgP5j5rfZjUDLe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6eG7N9xmRDsFuyZqn8egmG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20875753277507064,cy:.4438608471462526,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fmhVUSuHzAWRC1bU9xS2gN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:.41176169738851875,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sakLKAcwmQ8kEENPFgVJs7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10978108927055467,cy:.3832291198260886,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3rzPNvgYH4pwdLcevFMKV3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.3535076848652239,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1iMnenTQz4wtpVYNe7J99s",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:.32854167949809754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o6xmo5Pn4wef9kZe2C6xqZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:.2964425297403637,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1Hb1yh1DVHfQP14FUSJEpj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fWLDpBHepwmvJCiLxMU4RS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:.24056623201393804,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cWx48TmtxbDy2rScmVSy7R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.21678908404524636,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bFFj7b63cxrmzb377KjU2M",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.18706764908438164,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mAx1Vzsd2drZJEgWexVM84",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:.15734621412351696,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"46a2ja51RhKgBss3KCVLnt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.12762477916265227,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tUaAfUGCxujqu9Y3vxe3yK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3909925832225313,cy:.09909220160022218,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7a2AMmJ4fbqLMH45H2iCNA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.07174848143622668,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kkUqgHLFPwyrfMCV6mKfD5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:.04321590387379655,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gAiz2xxrUp1UfsRWXcBSLS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.013494468912931856,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMdBxe5wEMLJ9PEggVeAu9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.03868357598621893,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gxnEnb3NzQY8Ge8Jm8SA7f",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.011982936760140374,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sybUdESzHSnVaXwGfuQ7wf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.4129505547869533,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aPHnrEqwvsnVWtCHhtBxTy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10742450728235205,cy:.4438608471462526,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wxemx2DoJf46iBNpWXybjK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08935008873257824,cy:.32973053689653214,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTFnxGqojRvyWxfgRvtskF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mzpfv3SH2Wnh3egtjjBKvT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.27028766697480283,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ncPJvuiPcTCVtFi2He6gAs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:.24056623201393804,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6uuRE7GHEcAEe4K7GVHngk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.21441136924837714,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wHfsLSo1vVCiKJ3F2NUC8n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.1823122194906433,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ebXYmm7boDVkw8327EMtzH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:.1549684993266478,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rsxKthqzEDpLfcWrcWU6dN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.436945931992485,cy:.12524706436578312,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pryGHMWa1mhgMofvvUeLdo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4416590959688905,cy:.013494468912931856,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3FLYvn8ndZAh8K2QPPyYxf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.016226966047932775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a8jMxMQHGxEvruq2J4uUU2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.044759543610362974,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dVQN7Pi8ydDNrsoiF2hfZe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qAgJ475UJeJY7FPcGEdpNY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.39217087421663255,cy:-.0721032637743584,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dpAxQujNQAySa9aSeZdEoX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.07091440637592385,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bYHHa97S8RXp19NoqTvPJr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:-.10182469873522315,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6SeEC7fQCdKXPjZxSsdZm8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.127979561500784,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aRFAARutT3NYzQH7JngjR9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14237318346714029,cy:-.15770099646164876,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pgXWnPt5iKo75wpgk8bAas",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08817179773847693,cy:-.18623357402407884,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vfvvk63mRwsRQ13tLkM2Wu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.21476615158650897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4VAyz7v3pJ4ecCEvKkELct",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0049131907955319975,cy:-.23973215695363526,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rXXDtaCQ441CBebznnvwVP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05204483055958712,cy:-.26826473451606536,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8GbJtcsWZn3sFCVai2uXdu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10506792529414916,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkJiqSfGcrwkF7R5W6oWrR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1545561470464073,cy:-.32770760443779473,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mjVgFDC3MuuSbrQiLz8beg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20050949581636093,cy:-.35386246720335574,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eZQnyiKuHTgpriho1XTkFq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25235429955682165,cy:-.3871504743595241,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nnhD5KcBckk4FAXqgrJz1m",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30184252130907957,cy:-.4121164797266506,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vddHcoVWtVSFne7zHaZDoV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.041040157974421676,cy:.4129505547869533,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nthJ9ZXFLF4YVLkK6FJg3G",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:.38560683462295775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pHpx6NN38VbLKsAdjvQq5X",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.3535076848652239,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tReNdr6BMknW3pKaaKgT2r",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:.3321082516934013,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pky3qKmcQv6goYMFfPrQyu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9Gh4oxs7xr6bu526hDNvv2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fxzu2mix8VrfcwwGyVpWmZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.24175508941237273,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e8sL54r9712juxaxDn8oSw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:.21441136924837714,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kNyq87ppcAxC6iAJLfFYPn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.18706764908438164,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3uTywdm7RShuhnZCn9reC",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:.4426719897478181,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pJncozy6Rz8EfewNTzBV9a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.41413941218538786,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vvMUbsrcSiSjwP7Y5tU1LL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.18832653223709409,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1G8NT1Zoz87anyKBPQsHLd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i9YQqnCZv92BFJFHn7cCiB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.3261639647012283,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s3UMZ6yA8AhemDugYV8vL9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.29882024453723294,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iE5KVmshBFmCedVRvmAraQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSoRZ2ohopc3Uk2eEhsaXz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.23937737461550349,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tRnf3HbPJnHGQc3C1tHrm4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.3000091019356675,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5GNzWP1xJUZHh9KT6YRFV6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:.32973053689653226,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gYVeyGSA6dumwRgt46oGj8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3SLWKQyMH3qNnSL8cb6Mxe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.3856068346229578,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o1MFq3LbkcxftPFeSVY2YQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:.4177059843806916,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1x2T8djMTuLWynXEnNgMbT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.44267198974781796,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ccqgw8SRNmHVUFFbXRyYT9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:.4450497045446872,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"m1JXedMn92Urk8nE9oPJHC",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.4141394121853879,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o67PeKaAkvwQrD7JVLdGYg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3862794192461258,cy:.3844179772245232,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bkfCZxyk73k4a4vrgwaj4L",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.35469654226365854,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vrgCite9XpUW1Cq3PuWhba",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.4188948417791262,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cRNc4mNhvgSvQLUkp5faWt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:.4438608471462525,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5xRxzmnaiMp3ypfUVQBWr3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.010804645766038935,cy:.4438608471462525,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5CzxLZbvH5PomobdfeXNZp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.44029427495094886,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9h3yDXtr329orX1FLE5i63",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4031755468017982,cy:.3844179772245232,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7nTZRLPEdEtBjmsWCnB26y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4514854775599548,cy:.4165171269822571,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abEAsj1hGeo63K5YHetkKr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4055321287900009,cy:.32973053689653226,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hsqeY3fPZZkvqziKNEVVas",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45502035054225903,cy:.3582631144589623,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dCHY6fHL88UK5U5JeNTwME",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.4723934247086827,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8a2tR8FURhfjJTiYpNfCzv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.10063584133678853,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3TNP5AjyGeTgzNXWzYVznQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38510112825202436,cy:-.12560184670391483,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"saWHMFZynA21qy5pjZ1rg3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3367911974938678,cy:-.09825812653991942,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vYyqsMkXopji3o4ewZDzXj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.15770099646164878,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bDcv52Ek3SJZueMz72m1rB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.18266700182877516,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pg6C9LvjyDQAKpVjTFWKhm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3426826524643748,cy:-.15413442426634502,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7xxy5WMi2eRmAFJQd4PEpL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:-.13035727629765329,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bKrn5V4VqTw7TEK7QKYeA1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:-.21476615158650897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s6CxUXipAWMWAd8W2jdPk2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:-.2385432995552006,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7pEWxcY19Ng2hczQx4C5sh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:-.21238843678963976,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rqhBmqo9RCaSK9b3hCeo3X",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.18385585922720973,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nbbJ9oZ8jEaCweY8WgVHtK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.15532328166477963,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5DwWFBTuxqVLf5FzhT7Udm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.18950482323119552,cy:-.18266700182877507,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n5ksBwaEKwnY1T4um6u5YV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:-.21595500898494352,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oRnvwa7g1CtYiocfQSv6ZH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09288496171488242,cy:-.2421098717505044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"szeJxCXxaL2e3RjfwM8x47",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hFu14KzwBM87w56f6Cwr48",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sQMsnkxn9T5AgrjfJHH51n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05557970354189131,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7GDJiXyhG6C4hNkW9Y5KQ1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10624621628825073,cy:-.3562401820002249,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kRdHgfFG6booP82zfM58L5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15337785605230575,cy:-.3835839021642204,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5bnXwcCDLMuTi7NBVNs9wq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2016877868104623,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2cSu4Me9dQhmQX73fnfjcT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25235429955682165,cy:-.4406490572890806,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"epJz3sQxCaTSmtVk8L41pY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4416590959688905,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u5wXENdced4NnZ2UpBvdUR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2dN8txQPwqUuXJ6MvLow8v",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aCzYNDZyfJEdri5oFDAX1A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29201613971801543,cy:-.2421098717505044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xw95hcJakBfeUDzB5drZTb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:-.21357729418807436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7aFDGFAZUmGKJWfMUn4u8W",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.2385432995552006,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wYpaiw5NjZeqmt9x2asvgE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.2742090215082384,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bSFykzxR6KFC6U5RmABfAo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"td3wNUExEJkcF3U68VMTCS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04457503095672587,cy:-.3300853192346639,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gqiho9LGuhUyb3Qus7okQR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2931944307121169,cy:-.295608454680061,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kqCmYed2jAt9y67YpwCDE9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dgxBqcP8E136o93HKbnb5Y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.436945931992485,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d8xVLuSbdR3ZcdTaGVf3kE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.3574290393986594,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mE2ubFBooCHdCnyZX6Q2fn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.34150436147027335,cy:-.3300853192346639,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rNH5NZ3ioMN6XFUt4UpHjp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ov1As6JoGWeAANi2w4bAzb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:-.413305337125085,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9AGm3XGuztXYa4ZvvUC2qU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.44283738696299196,cy:-.4454044868828189,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"whp3eTFpZtyHh6MmQTeqsP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2tivptcQ7UJFtBc3QNMdjZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.3538624672033556,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8BKcu35Qa4TPVNvr9QNtYS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.32889646183622934,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s8GdNU4Xh5bDiYNyPpM5c2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.295608454680061,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"geLZV2TE4SAkBTxY2H7z9C",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cR5NttdPtQtKZ2QuGZ4cGY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.3586178967970941,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kb64JmF4g2VHNUXt8PGp8P",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ohyVoqyh1fSJAZvoWLa7xg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:-.3883393317579587,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mam3m1MFMR6QYaVhMhUf61",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9otfxK8a8saUXNrV48ac1S",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3450392344525775,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3FE8UkdGNZdxozENEdAKLF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:-.4679927774530761,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1itKaxAe6PPjB36Ct9WPbt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mEwqoN1Hgzq1sZEWWYtYiS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mvPqyD2QhB4pgXGsya35Az",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.3859616169610895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"icedHX9AjRRV6K9qLRi8h8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ixMrfpnNCx2pzdbjNDcETK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04693161294492862,cy:-.38239504476578573,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fJa1KgR4efS7rdWz3c5ws6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"niDVT6JMXYiQ1MfkaVXBh2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.4679927774530761,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9WTjUWsouqRDt3WAX9og5p",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.46680392005464155,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gJWF9BbGWqJ5RiBTFKBvEy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8vSWbpHRJezXwxg2bzLK15",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.001378317813227938,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"89LTrNQMYLBWkUr8q3zs78",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0025566088073292518,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mG1153YuBpGiUTcG3cLKhu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.053223121553688676,cy:-.38715047435952415,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nzaobVxpQX5ZDLxNtod1tq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10388963430004787,cy:-.41092762232821595,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"prucxap8in3eRt1hXbqSZc",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.050866539565485806,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o6dCXRccq7VrMuTGUAMf1h",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:-.46918163485151065,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1CeJhTWdV6HVNMGZiebhVN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10271134330594656,cy:-.46918163485151065,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iuVig88Eryb498jb2o9hv6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pDU7v3xRa7tyafHMTVQfHP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.19815291382815808,cy:-.4703704922499454,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"igDxZaX9vHP2AWnmuk7rbE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30302081230318084,cy:-.46680392005464155,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hpSEihRmM4bWqGtADkL3iV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3501524520672361,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k6hVcQ4HsjPmK2AMBXFwSG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQWMSf63o2UZvbixbJ7x3a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.47001570991181346,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iHs7hh1fgkTvcFjQGp6vdU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ikwnSMkfVme9m36c4fdgzZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15337785605230575,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3BVEG2ZatFh5rurg1BfDQ1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5TTwQeht2y67yFHpDwk7SG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qt4yLExJpLTBowT6VPA2t7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14472976545534302,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wtXgsveFPNuvG8yagrGhjX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.4664491377165097,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jCucxgVjuLNfUB5GcZ3GBJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.34150436147027335,cy:.47001570991181346,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bvUs4vNUy7rjJ8wRozhXzH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.2702876669748028,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"21jCj69kYjWbi43ijo148n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.21084479705307344,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"autBoAyzdvNAZVDtBQh6h3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.1537796419282132,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"opKFYN72H4nWcaRQ2QPip7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:.10028105899865679,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"66RKD94s3WovZtoVdR4EhK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.04083818907692739,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t1o1k82fPneidh8LG91KZ3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40199725580769696,cy:-.016226966047932775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q8YoP7VA8Cq7aoqvmhWueh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:-.07091440637592385,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d6BxohUXx7jMxtc9jXais2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40081896481359536,cy:-.12679070410234947,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"akDuRhxwpxoj2z33rJUgJh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.18266700182877507,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hzYm1dhZ9LLt7sqemmYCDs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.2409210143520699,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ocH8rQddgtgbqC8pcEacuE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uF9F47Z6PqiJhWoStgn2uS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.3574290393986595,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"92fYhQy7HvXbtXrCyTCqTH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.4097387649297813,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kUJd8a2SHxduSfAvQGLQfS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:-.4703704922499452,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9XaXTUvPm9yFtUaW2Ye2sL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45502035054225903,cy:.30119795933410204,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cg7BBRL4WcDqB8yp1B7o8a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.24294394681080725,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pAcNoDp7ir4EWPT9j9kq1e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4514854775599548,cy:.1870676490843817,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8nXK8m2dvdiFfCKeR9nLWj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.12762477916265233,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eP1EoT59gCuUXxYM4EXHzS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.07055962403779206,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1gjtQCskcuhbhwoNpKGBt7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:.012305611514497309,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jimkC6zfk4aDVcsqbirSS1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.44677231358354924,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vvgZbtsp1caVNW8tZNWHgJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.09706926914148485,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uAVWMCSJd4PAg19UJ7o6xs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45266376855405616,cy:-.15888985386008334,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ncdztpRTU1hDfYCvqpzcT2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4467723135835491,cy:-.21595500898494358,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bRuvkqPWMiR7YmistgDHNL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.26945359191449997,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5qeiecJQD6oAbtikN5hs7G",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4491288955717519,cy:-.3265187470393602,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"acpCXRHPZv9nQZjdjiSrj1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.38358390216422034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c6tcyDJgJPeoowWMPezdUA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4491288955717519,cy:-.4406490572890806,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3tXdUQvFc2DWP68yZ3S37u",selected:!1}],Urn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:20,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-284,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:164,groundColor:"#68ccca",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[54.58775332762295,-93.02576361051297,20.93606976764628],panCenter:[14.588117257653206,-3.3871234541530884,0],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!0,cameraPosition2D:[2.3674379904539022,-.42904140754321896,47.99999957096287],panCenter2D:[2.3674379904539022,-.428993405410401,3192361204877974e-22],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:8,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showMapPanel:!1},Brn=2,jrn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Yrn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},Orn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},_rn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},Vrn=[],Grn={docid:zrn,time:Drn,timestamp:Ern,userid:krn,owner:Frn,email:Lrn,world:Wrn,elements:Nrn,view:Urn,evolutionMethod:Brn,solarPanelArrayLayoutParams:jrn,solarPanelArrayLayoutConstraints:Yrn,evolutionaryAlgorithmState:Orn,economicsParams:_rn,notes:Vrn},Xrn="9J5vzBxZ8UEKUiQGnyPEwk",Jrn="02/03/2023 10:36 am",Krn=1675438564802,qrn="QWecNcxhyvP6j6sBN11hBsfZDau1",$rn=null,Qrn=null,Zrn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"52 Grove St, Lexington, MA 02420, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.473578752859865,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.23642289182585},ean=[{type:"Foundation",cx:.18907611516527822,cy:-1.4953477366662633,cz:.05,lx:142.99409463043497,ly:14.49686547290569,lz:.1,normal:[0,0,1],rotation:[0,0,.17972820802569928],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"f1wuYrFxWZKMD6aZyPACDm",locked:!0},{type:"Wall",cx:.1229949609826312,cy:-.09586926546103025,cz:0,lx:141.43921506444258,ly:.3,lz:5,relativeAngle:.013431200616335025,leftPoint:[-70.59023385930746,-1.045689943643172,.1],rightPoint:[70.83622378127272,.853951412721111,.1],leftJoints:[],rightJoints:[],textureType:"Wall Texture #9",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,.17972820802569928],parentId:"f1wuYrFxWZKMD6aZyPACDm",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"2yrSxZa8P37K2Wabhhsob6",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,color:"#999999",fill:"Full",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.4638388297765159,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"6TnNeQH6erPu8fzCqspsQz",selected:!1,dailyYield:6.733366737790442},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4638388297765159,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"gu6EsH65oiQstx8yYjxsYM",selected:!1,color:"#fff",dailyYield:3.991431891754075},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4638388297765159,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"94hqXM6tCStbzXuLLtVMBy",selected:!1,color:"#fff",dailyYield:3.989257482553087},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"aS89FFbHtiL5JbmajBYETF",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"iMsrFuB8C7dYwSkPYpkRyx",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"djV64xj6hwTLYAQB2N8zw1",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"casseicLyjsxNGnJT7DvaK",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"ufBkyVjzMhQN4mEaVXo3EK",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rG69gXx8zf5z7bd3jLid7p",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"4mhiWnxVt3aSMz3WDvtVwo",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"cfXV4fZanitQvrNsdxnjDu",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"afxfcWAVeGHfrBf7ddtQkK",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"taypcJAabEnqBDqf3KAcsA",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"5VSFMaiUtr3ASxPZrLPaqP",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"khqKJ2jxRFmMw5yFH4HvBM",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"45VggV1fJxeJNM36B2hiQt",selected:!1,color:"#fff",drawSunBeam:!0,dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"soXBAY8jJsisj3Xad7rpuD",selected:!1,color:"#fff",dailyYield:3.880541409581155,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"sR2RBNakCEySyoLGEeeZb7",selected:!1,color:"#fff",dailyYield:3.8640428284166424,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"iwZXtRNQgv7fvMRfiFZxuv",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"wUSzVi6q69sDd7Y3RV7XDc",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"g8656tJazY4VvwetGnGz1R",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"1BNASUXS635gRH1Xg45X8c",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jqyPzfhR61a76okfZpf812",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"gxBypDUjEGfJT4aJY4HKEm",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"tzyoRV5o5Rf6T7A6oU6yFQ",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jGQqULp9xXooyUSarLteE1",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"c5nbEjzq2Budgo4DrHmjRz",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"7DRo8NdVHyNoN6SCtArVVd",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rq26S8tSgsT11vC4noGToG",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"4ZMNCLswMsFA8KarYUVw1G",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"22DFqVGzrGpriDvT6ouxg7",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vvfCJue14aYCZ2L5rcpewf",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"hhenx4zMnvUHuryKk9FFB8",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"tNCMqiL9tn5diapj3smKL9",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"3GsZ7gQePP2KmUhz3ysWpz",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"qBPNAAa4HnjwBJ2TFMVzhv",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"raUT5Fe7Z4gk2QVK2yVSap",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"18BeCBetcY2SnC96NdiyGR",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jJw5xahWNQv9BKodgpDQUR",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"1MiLx5fG5sgnXzzKVfatuF",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"giGW7icqfR8Ad9ukdMMaHX",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"bYrSiMQSXtGa7p4zv5yDGZ",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vcPTnmFnHZYKsoYKkBcskf",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"cAD7dLSqyYRtYyQsTG2mbb",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rTvMYE5Z5kwPgoWKh4kLzb",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"k4ZudXKEZmAmfbUvaCp3Dp",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"8hVfJjo52dDJLo4AfmT3HK",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"9g31dfD7wp3rjSRfYLZJ2z",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"sxZHfHVk2n5kbhzY3hT2zd",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"nA54BbzpGLqh5sWi7osbnq",selected:!1,color:"#fff",dailyYield:4.024242246107118},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vtRkLNQDgqTSNAh2My5c9Y",selected:!1,color:"#fff",dailyYield:4.009918074143593}],tan={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-17.282790575888168,5.440474449160031,36906384867201037e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-17.282790575888168,5.440324442496329,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-42.77632157556409,-34.119265652337766,20.000447749982982],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:6.470670899474179,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-26.714608093209538,-11.412788709722923,.2632378650359435],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:4.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:413,height:68}},nan={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},oan=1,ian={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ran={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},aan={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},lan={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},san=["A proposed solar noise barrier in Lexington, MA"],can={docid:Xrn,time:Jrn,timestamp:Krn,userid:qrn,owner:$rn,email:Qrn,world:Zrn,elements:ean,view:tan,graphState:nan,evolutionMethod:oan,solarPanelArrayLayoutParams:ian,solarPanelArrayLayoutConstraints:ran,evolutionaryAlgorithmState:aan,economicsParams:lan,notes:san},uan="mETyjNhcSpLHUreuu362jG",dan="02/03/2023 10:33 am",fan=1675438394402,han="QWecNcxhyvP6j6sBN11hBsfZDau1",pan=null,gan=null,man={solarRadiationHeatmapGridCellSize:1,date:"9/22/2022 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"S H St, Bakersfield, CA 93313, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.2397498816683,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-119.02084409607578},yan=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"121ogbDPhqFdjF1EqsotWr",foundationId:"121ogbDPhqFdjF1EqsotWr",id:"bXdahMaM63p5YKq5iW5dkA",selected:!1},{type:"Foundation",cx:-.355148183178954,cy:-68.66520831611422,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"121ogbDPhqFdjF1EqsotWr",selected:!1,textureType:"Foundation Texture #5"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"e1EQqVFfXevnZt4eaeuVPE",foundationId:"e1EQqVFfXevnZt4eaeuVPE",id:"kGbBKyVArnRt64dJUZUHXo",selected:!1},{type:"Foundation",cx:-6.512082441645507,cy:-68.66019836570281,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e1EQqVFfXevnZt4eaeuVPE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5AYGqMpb7MY45GfUGrAPx7",foundationId:"5AYGqMpb7MY45GfUGrAPx7",id:"pHgsi4FBAPcCENbBFq8nJi",selected:!1},{type:"Foundation",cx:5.789049041421398,cy:-68.36660414055642,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5AYGqMpb7MY45GfUGrAPx7",selected:!1},{type:"Human",name:"Jack",cx:1.2131787149033482,cy:-5.683681388279453,cz:.300000011920929,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5AYGqMpb7MY45GfUGrAPx7",id:"echEghBkfqunhtqJQz95fM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1207079978734572,cy:-.004668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xgFeRbJGihUVnyEf5m22ib",foundationId:"xgFeRbJGihUVnyEf5m22ib",id:"1ZYTz63nWtEEsbRNhgdFaw",selected:!1},{type:"Foundation",cx:5.809815585913138,cy:-54.46106108413,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xgFeRbJGihUVnyEf5m22ib",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nAmb8PRM1R6jeNzPW5C8VV",foundationId:"nAmb8PRM1R6jeNzPW5C8VV",id:"4zJUqXV3Fnf2nuwbpsMiXs",selected:!1},{type:"Foundation",cx:5.7835484198244025,cy:-40.561453025263894,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nAmb8PRM1R6jeNzPW5C8VV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"2Jpks6qcta7oxTq8g15yvM",foundationId:"2Jpks6qcta7oxTq8g15yvM",id:"nTqyuFThYbp62RDDvj69Tn",selected:!1},{type:"Foundation",cx:5.765589353420241,cy:-26.70562418723046,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2Jpks6qcta7oxTq8g15yvM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4XXqf2vXZ7ZFawMdYuzXJR",foundationId:"4XXqf2vXZ7ZFawMdYuzXJR",id:"8xX37o12HQw79GgWaPoJra",selected:!1},{type:"Foundation",cx:5.7629992141008515,cy:-12.846184608655223,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4XXqf2vXZ7ZFawMdYuzXJR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nhfGp8zoAtBhBtTRQS5X4A",foundationId:"nhfGp8zoAtBhBtTRQS5X4A",id:"xtX3Yeicb1xmckA4hRhAbT",selected:!1},{type:"Foundation",cx:-.3660148444167448,cy:-54.735545319487315,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nhfGp8zoAtBhBtTRQS5X4A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ibdbY4z7waLLai5mudLon8",foundationId:"ibdbY4z7waLLai5mudLon8",id:"uUyvA9DB8ymLg6XLaLfYFQ",selected:!1},{type:"Foundation",cx:-.35970964251660265,cy:-40.85602650039143,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ibdbY4z7waLLai5mudLon8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vXadeokGJ9NmeA6ewhjvBy",foundationId:"vXadeokGJ9NmeA6ewhjvBy",id:"ippQMjL5WuoRmncEHb3ng3",selected:!1},{type:"Foundation",cx:-.35809920705666,cy:-27.00228253941227,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vXadeokGJ9NmeA6ewhjvBy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j9vK8NMr2vp4GiSK1DtxRq",foundationId:"j9vK8NMr2vp4GiSK1DtxRq",id:"ntm7qPuXg8vaHHDMEfMv14",selected:!1},{type:"Foundation",cx:-.35734216826093124,cy:-13.132067218686498,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j9vK8NMr2vp4GiSK1DtxRq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"2WSX6m9s99dM4WhZbyuvff",foundationId:"2WSX6m9s99dM4WhZbyuvff",id:"gkBV2ZfxJtfhuZjj7rHAoZ",selected:!1},{type:"Foundation",cx:-.3463719972166439,cy:.7317163979243815,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2WSX6m9s99dM4WhZbyuvff",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"eLNa4YNCioCE3UNDGya3Up",foundationId:"eLNa4YNCioCE3UNDGya3Up",id:"rWFuzCeuZszy77yBB8jveg",selected:!1},{type:"Foundation",cx:-.3586608333447727,cy:14.590396355482044,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eLNa4YNCioCE3UNDGya3Up",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"o1CCZc1sDeTQWrwG46TfNN",foundationId:"o1CCZc1sDeTQWrwG46TfNN",id:"qShFLxfnobEyyoPeMTASuG",selected:!1},{type:"Foundation",cx:-.3518720954179425,cy:28.454375484604732,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"o1CCZc1sDeTQWrwG46TfNN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"u1RK5NeNA9j7qFSmCR8hid",foundationId:"u1RK5NeNA9j7qFSmCR8hid",id:"rCYT7zsMynuWwB4Gj2Fsd3",selected:!1},{type:"Foundation",cx:-.35131046912982616,cy:42.32211519647182,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"u1RK5NeNA9j7qFSmCR8hid",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"h9eRaQKsYCgZDNL6TBSdkG",foundationId:"h9eRaQKsYCgZDNL6TBSdkG",id:"iciTKiFoWiSSRXfRV2jKAY",selected:!1},{type:"Foundation",cx:-.35806918169835766,cy:56.17571570619225,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h9eRaQKsYCgZDNL6TBSdkG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gdwqBp4tF8xLp9yJkFqCx6",foundationId:"gdwqBp4tF8xLp9yJkFqCx6",id:"88NfQv74cDhjrzSepw9B7g",selected:!1},{type:"Foundation",cx:-.3684777264545248,cy:70.01231995987031,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gdwqBp4tF8xLp9yJkFqCx6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"16YsecagZdQFboT8cHk3zY",foundationId:"16YsecagZdQFboT8cHk3zY",id:"uWF3E9dPiegXh2L5b6Vsn8",selected:!1},{type:"Foundation",cx:5.774616554678275,cy:1.0295178181583675,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"16YsecagZdQFboT8cHk3zY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gdCn75FBte524E9epTDvqA",foundationId:"gdCn75FBte524E9epTDvqA",id:"tFCws2tPQDLM5HKxxJGgWv",selected:!1},{type:"Foundation",cx:5.773867010320257,cy:14.885614964778393,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gdCn75FBte524E9epTDvqA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"qLVXWryBBGmRgAroLqVwdi",foundationId:"qLVXWryBBGmRgAroLqVwdi",id:"ud1b2bEhTi9i92Q8c8D373",selected:!1},{type:"Foundation",cx:5.778389095695882,cy:28.74465191336493,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qLVXWryBBGmRgAroLqVwdi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bVwMiP2aUzVjjeaX792zXn",foundationId:"bVwMiP2aUzVjjeaX792zXn",id:"c9QcDJ4K8yR1ng4dRJ4D4t",selected:!1},{type:"Foundation",cx:5.784822839568983,cy:42.61795388645869,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bVwMiP2aUzVjjeaX792zXn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nW5ArCP1HhxjesUyKCR3at",foundationId:"nW5ArCP1HhxjesUyKCR3at",id:"gxJYgTJqcdLmnzufEv3zS9",selected:!1},{type:"Foundation",cx:5.772865019410357,cy:56.469133301847506,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nW5ArCP1HhxjesUyKCR3at",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ez9S4TjyRrt69CUc8NCPjT",foundationId:"ez9S4TjyRrt69CUc8NCPjT",id:"715S84avByaQTs2A6QaRyi",selected:!1},{type:"Foundation",cx:5.767433266447149,cy:70.31691119865602,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ez9S4TjyRrt69CUc8NCPjT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"k7PuJZ5ck1CDCnF49AEbze",foundationId:"k7PuJZ5ck1CDCnF49AEbze",id:"rBjhWRGRVr5rhJmJ7ZHt5W",selected:!1},{type:"Foundation",cx:-6.527392714190696,cy:-54.732229116611116,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"k7PuJZ5ck1CDCnF49AEbze",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"rU3754fwdgKoDWv2zoFH3R",foundationId:"rU3754fwdgKoDWv2zoFH3R",id:"1Wbh9tZMmYnYRWgQs2oxcg",selected:!1},{type:"Foundation",cx:-6.534711172615536,cy:-40.8521892213242,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rU3754fwdgKoDWv2zoFH3R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"rmvt2utUNYmiSjixPNE6cB",foundationId:"rmvt2utUNYmiSjixPNE6cB",id:"hgGCNRfRRjgNRbKehkHZRR",selected:!1},{type:"Foundation",cx:-6.531475518119176,cy:-27.005759344492336,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rmvt2utUNYmiSjixPNE6cB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5D8LWb5KSCQa5CzJgeqTzQ",foundationId:"5D8LWb5KSCQa5CzJgeqTzQ",id:"4q6sn5L82weCVDGzpuu2sX",selected:!1},{type:"Foundation",cx:-6.531475518119178,cy:-13.125523095938771,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5D8LWb5KSCQa5CzJgeqTzQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kvv1recmXZdZQMtZey2snR",foundationId:"kvv1recmXZdZQMtZey2snR",id:"iy2Xwp5VW7Kj9siFtt7QWd",selected:!1},{type:"Foundation",cx:-6.508807101463274,cy:.7373815692707449,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kvv1recmXZdZQMtZey2snR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xb3DDtTRb2xE4U4z4K1hXE",foundationId:"xb3DDtTRb2xE4U4z4K1hXE",id:"nMuKPt4koMQGztfZfy8jfD",selected:!1},{type:"Foundation",cx:-6.5258084139552,cy:14.606283609496337,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xb3DDtTRb2xE4U4z4K1hXE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gwy36bVzcps8LsRhJTof4Q",foundationId:"gwy36bVzcps8LsRhJTof4Q",id:"i67r94XMRFM3jCvyxogFNy",selected:!1},{type:"Foundation",cx:-6.511475518119177,cy:28.4721869622139,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gwy36bVzcps8LsRhJTof4Q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7zg5mcdSFwxHKAWZT3Ek6v",foundationId:"7zg5mcdSFwxHKAWZT3Ek6v",id:"eRWg2zs6foonE5xuNEVRz9",selected:!1},{type:"Foundation",cx:-6.511051943403113,cy:42.34375751909987,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7zg5mcdSFwxHKAWZT3Ek6v",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"suByeHBWYCe52G1Gv4ZeSU",foundationId:"suByeHBWYCe52G1Gv4ZeSU",id:"phLDTcCNd2W2ZnrjoTkBjB",selected:!1},{type:"Foundation",cx:-6.52880710146327,cy:56.18132525099307,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"suByeHBWYCe52G1Gv4ZeSU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jfGqSpqYfY4BpzvBjow99u",foundationId:"jfGqSpqYfY4BpzvBjow99u",id:"shmgnG7kSY3iWfHSTksGd3",selected:!1},{type:"Foundation",cx:-6.53447420562725,cy:70.03322597872673,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jfGqSpqYfY4BpzvBjow99u",selected:!1}],Aan={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[7.48786322173483,69.21304781831628,6921612429673364e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[7.48786322173483,69.2130278174273,20.000069216086263],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[14.98566534119282,-94.01207606498471,5.484037741591015],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:38.96037486782548,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-22.269354989815284,10.551050181634587,.4104687909980791],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:366,height:67}},wan={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},van=1,xan={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ban={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},San={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Tan={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Pan=["A proposed solar canal in California"],Can={docid:uan,time:dan,timestamp:fan,userid:han,owner:pan,email:gan,world:man,elements:yan,view:Aan,graphState:wan,evolutionMethod:van,solarPanelArrayLayoutParams:xan,solarPanelArrayLayoutConstraints:ban,evolutionaryAlgorithmState:San,economicsParams:Tan,notes:Pan},Ran="vhboPhKYLs7YFW4GNHvu35",Han="02/02/2023 05:12 pm",Man=1675375965968,Ian="QWecNcxhyvP6j6sBN11hBsfZDau1",zan=null,Dan=null,Ean={timesPerHour:4,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"8/22/2022, 2:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371},kan=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:.03672476718970863,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:-.02675735166375759,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:1.5707963267948966,cy:-.10449299890247031,cx:-.4024621157154061,poleRadius:.05,showLabel:!0,lx:1.046,label:"VSAT",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"VSAT",drawSunBeam:!0,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.9974383842410144},{ly:1.558,drawSunBeam:!0,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:0,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"HSAT",lx:1.046,label:"HSAT",cz:.5000000074505762,showLabel:!0,cx:.13515302447733513,poleSpacing:3,relativeAzimuth:0,cy:-.10573019166804135,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:2.073422461213974},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:.5235987755982988,normal:[0,0,1],selected:!1,label:"AADAT",lz:.046,drawSunBeam:!0,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:0,cy:-.09709770433882582,type:"Solar Panel",trackerType:"AADAT",poleRadius:.05,cx:-.13700106436587867,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:2.215778465205723},{tiltAngle:.5235987755982988,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:-.11542091451120043,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:.4032836323996918,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"Fixed",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.590603475645371}],Fan={weatherPanelX:0,heliodonPanelY:314,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!0,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1204,theme:"Default",autoRotate:!1,groundColor:"#16a5a5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[12.032136043105444,-19.275007353612423,7.568306918458618],panCenter:[0,0,0],orthographic:!1,enableRotate:!0,cameraZoom:41.01092091350052,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997981],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},Lan={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Wan=1,Nan={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Uan={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Ban={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},jan={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Yan=[`Solar trackers +You can also change the day and the location to investigate the dependency of the results on these factors. `],jnn={docid:Cnn,time:Rnn,timestamp:Hnn,userid:Mnn,owner:Inn,email:znn,world:Dnn,elements:Enn,view:knn,evolutionMethod:Fnn,solarPanelArrayLayoutParams:Lnn,solarPanelArrayLayoutConstraints:Wnn,evolutionaryAlgorithmState:Nnn,economicsParams:Unn,notes:Bnn},Ynn="9q5sS1hxGDArNFtMUxxGLt",Onn="02/02/2023 12:31 pm",_nn=1675359088220,Vnn="QWecNcxhyvP6j6sBN11hBsfZDau1",Gnn=null,Xnn=null,Jnn={latitude:42.2844063,timesPerHour:20,date:"2/22/2022 9:45:00 AM",longitude:-71.3488548,name:"default",address:"Natick, MA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857},Knn=[{cy:.9214233571448283,name:"Jaya",type:"Human",cz:.05000000074505806,normal:[0,1,0],cx:-2.0622287048965853,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"73EHGXQZFsvacbt1n2ck3h",lx:.6,ly:.42,lz:1.55},{rotation:[0,0,0],normal:[0,0,1],lx:8.151162622676603,ly:6.576493454880806,id:"73EHGXQZFsvacbt1n2ck3h",selected:!1,cz:.05,cy:1.1027590009475272,cx:-.9582675975183035,lz:.1,type:"Foundation",parentId:"Ground"},{poleSpacing:2,label:"Solar Panel",showLabel:!1,lx:.99,drawSunBeam:!0,type:"Solar Panel",trackerType:"None",relativeAzimuth:0,lz:.05,normal:[0,0,1],cy:-.16505049820470327,cx:.11464240173253676,cz:.5000000074505806,poleRadius:.05,ly:1.65,poleHeight:0,rotation:[0,0,0],selected:!1,orientation:"Portrait",tiltAngle:0,id:"5QH64n4W7t2nwnWmzmGyMg",parentId:"73EHGXQZFsvacbt1n2ck3h",foundationId:"73EHGXQZFsvacbt1n2ck3h",pvModelName:"SPR-X21-335-BLK"},{lz:.01,ly:.1,cx:.1375052960984675,showLabel:!1,id:"vPAwDhHdD9bH57J7RhabCf",cy:.12369628620569162,selected:!1,cz:.5000000074505806,type:"Sensor",normal:[0,0,1],lx:.1,rotation:[0,0,0],parentId:"73EHGXQZFsvacbt1n2ck3h",foundationId:"73EHGXQZFsvacbt1n2ck3h"}],qnn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:0,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:0,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:0,showYearlyLightSensorPanel:!1,weatherPanelY:0,heliodonPanelX:-6,showStickyNotePanel:!0,groundColor:"#68ccca",weatherPanelX:0,heliodonPanelY:9,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[-5.789682038682944,18.727459047471708,4.434763103599393],panCenter:[-1.75129140268729,-.10770909213304464,1.3605382204171563],orthographic:!1,enableRotate:!0,cameraZoom:24.55475326309651,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999799],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:473,height:61}},$nn=1,Qnn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Znn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},eon={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ton={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},non=["Test if the sun beam aligns with the heliodon correctly"],oon={docid:Ynn,time:Onn,timestamp:_nn,userid:Vnn,owner:Gnn,email:Xnn,world:Jnn,elements:Knn,view:qnn,evolutionMethod:$nn,solarPanelArrayLayoutParams:Qnn,solarPanelArrayLayoutConstraints:Znn,evolutionaryAlgorithmState:eon,economicsParams:ton,notes:non},ion="a23ZVUe81EjtB3oPinKZm4",ron="02/02/2023 12:19 pm",aon=1675358372271,lon="QWecNcxhyvP6j6sBN11hBsfZDau1",son=null,con=null,uon={latitude:42.2775281,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3468091,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA, USA",date:"6/15/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},don=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground",color:"#999999"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!0,label:"Monocrystalline",cy:-.27899190547936026,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:.008285803864999835,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.138,poleHeight:1,drawSunBeam:!1,ly:2.092,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:1.984,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Polycrystalline",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],lx:17.712,selected:!1,orientation:"Landscape",cx:.0011144506933526612,relativeAzimuth:0,cy:.010234323153061437,poleHeight:1,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{poleRadius:.05,type:"Solar Panel",lx:18.081,lz:.046,relativeAzimuth:0,drawSunBeam:!1,rotation:[0,0,0],ly:2.464,normal:[0,0,1],poleSpacing:3,cx:.003982991962011493,trackerType:"None",cy:.32738584282585487,label:"Thin Film",cz:.5000000074506161,orientation:"Landscape",showLabel:!0,selected:!1,poleHeight:1,tiltAngle:.5235987755982988,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"FS-6430"},{type:"Human",name:"Justin",cx:-.6422253837185492,cy:-6.097930974223568,cz:.05000000074505806,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42}],fon={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Forest",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[6.231682260523529,-11.839635427091224,3.4189848625017474],panCenter:[1.5940644020050898,-.07013351095627554,.6762754823912617],orthographic:!1,enableRotate:!0,cameraZoom:37.01235612443422,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.1982070075600382,150],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:175,mapPanelY:53,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:200,height:65}},hon=1,pon={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},gon={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},mon={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},yon={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Aon=["Solar panel types"],won={docid:ion,time:ron,timestamp:aon,userid:lon,owner:son,email:con,world:uon,elements:don,view:fon,evolutionMethod:hon,solarPanelArrayLayoutParams:pon,solarPanelArrayLayoutConstraints:gon,evolutionaryAlgorithmState:mon,economicsParams:yon,notes:Aon},von="wFMNzt7sPEDjKGAPcESDBP",xon="08/30/2023 08:36 am",bon=1693399003790,Son="QWecNcxhyvP6j6sBN11hBsfZDau1",Ton=null,Pon=null,Con={latitude:42.3600825,pvGridCellSize:.25,timesPerHour:1,longitude:-71.0588801,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Boston, MA, USA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,countryCode:"US"},Ron=[{cy:-.033179790625714745,normal:[0,0,1],lz:.1,ly:16.949918527981186,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.017129111403884067,cz:.05,rotation:[0,0,0],lx:37.87324352407775,selected:!1,parentId:"Ground",color:"#16a5a5",label:""},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.132,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"E-W",tiltAngle:1.5707963267948966,poleSpacing:2.1,rotation:[0,0,0],lx:10.48,selected:!1,orientation:"Portrait",cx:-.20024728670215317,relativeAzimuth:-1.5707963267948966,cy:-.0004001413797904696,poleHeight:2,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS3W-420MB-AG",dailyYield:27.769005901292118},{type:"Human",name:"Justin",cx:-.8077148464578228,cy:-2.467214041682034,cz:.05000000074505895,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Solar Panel",pvModelName:"CS3W-420MB-AG",cx:.19919037937422715,cy:-.0004001413797904696,cz:.5000000074505806,lx:10.48,ly:2.132,lz:.046,trackerType:"None",tiltAngle:-1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:2,poleSpacing:2.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oQUmi4HfhmDhT2fedCAHBP",selected:!1,dailyYield:17.55726336493663,label:"N-S"}],Hon=24,Mon={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Mountain",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-939,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:49,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[9.42333778357062,-26.00860153882541,4.957120957652498],panCenter:[9.680010046024961,1.8911434375133904,3.488277959545367],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[6.40968432574854,1.6481778498093007,150],panCenter2D:[6.40968432574854,1.649178227254012,23981152496769078e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:39,mapPanelY:49,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:200,height:65},navigationView:!1},Ion={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},zon=1,Don={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Eon={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},kon={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Fon={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Lon="Unknown",Won=null,Non=null,Uon=null,Bon=null,jon=["Bifacial solar panels"],Yon=3,Oon=3,_on={docid:von,time:xon,timestamp:bon,userid:Son,owner:Ton,email:Pon,world:Con,elements:Ron,sceneRadius:Hon,view:Mon,graphState:Ion,evolutionMethod:zon,solarPanelArrayLayoutParams:Don,solarPanelArrayLayoutConstraints:Eon,evolutionaryAlgorithmState:kon,economicsParams:Fon,modelType:Lon,modelAuthor:Won,modelLabel:Non,modelDescription:Uon,designProjectType:Bon,notes:jon,minimumNavigationMoveSpeed:Yon,minimumNavigationTurnSpeed:Oon},Von="fXAaqcjQbaBomkkTcKkuR5",Gon="08/31/2023 10:18 am",Xon=1693491481113,Jon="QWecNcxhyvP6j6sBN11hBsfZDau1",Kon=null,qon=null,$on={latitude:42.3600825,pvGridCellSize:.25,timesPerHour:1,longitude:-71.0588801,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Boston, MA, USA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,countryCode:"US",daysPerYear:12},Qon=[{cy:-.033179790625714745,normal:[0,0,1],lz:.1,ly:16.949918527981186,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.017129111403884067,cz:.05,rotation:[0,0,0],lx:37.87324352407775,selected:!1,parentId:"Ground",color:"#666666",label:""},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.132,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Bifacial",tiltAngle:.6981317007977318,poleSpacing:3,rotation:[0,0,0],lx:11.528,selected:!1,orientation:"Portrait",cx:-.20024728670215317,relativeAzimuth:0,cy:-.0004001413797904696,poleHeight:1.5,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS3W-445MB-AG",dailyYield:8.868699562970985,yearlyYield:7933.919486524438},{type:"Human",name:"Justin",cx:-.8077148464578228,cy:-2.467214041682034,cz:.05000000074505895,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Solar Panel",pvModelName:"CS3W-440MS",cx:.19919037937422715,cy:-.0004001413797904696,cz:.5000000074505806,lx:11.528,ly:2.108,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.5,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oQUmi4HfhmDhT2fedCAHBP",selected:!1,dailyYield:6.700357358830137,label:"Monofacial",yearlyYield:6331.051197253751,drawSunBeam:!1}],Zon=24,ein={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Mountain",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-939,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!0,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:49,groundColor:"#194d33",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[21.044833876539915,-19.158030778662997,1.9640239249677898],panCenter:[8.779754971790968,7.5724725159534465,1.9640239249677898],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[6.40968432574854,1.6481778498093007,150],panCenter2D:[6.40968432574854,1.649178227254012,23981152496769078e-22],dailyPvYieldPanelRect:{x:-1103,y:47,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:39,mapPanelY:49,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:265,height:96},navigationView:!1,yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},tin={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!0,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},nin=1,oin={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},iin={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},rin={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ain={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},lin="Unknown",sin=null,cin=null,uin=null,din=null,fin=["Comparing the annual outputs of bifacial and monofacial solar panels"],hin=3,pin=3,gin={docid:Von,time:Gon,timestamp:Xon,userid:Jon,owner:Kon,email:qon,world:$on,elements:Qon,sceneRadius:Zon,view:ein,graphState:tin,evolutionMethod:nin,solarPanelArrayLayoutParams:oin,solarPanelArrayLayoutConstraints:iin,evolutionaryAlgorithmState:rin,economicsParams:ain,modelType:lin,modelAuthor:sin,modelLabel:cin,modelDescription:uin,designProjectType:din,notes:fin,minimumNavigationMoveSpeed:hin,minimumNavigationTurnSpeed:pin},min="mxcpjFL7wwjT6kUG3dgBwT",yin="02/04/2023 01:21 pm",Ain=1675534888279,win="QWecNcxhyvP6j6sBN11hBsfZDau1",vin=null,xin=null,bin={solarRadiationHeatmapGridCellSize:.5,date:"3/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!0,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:-71.3488548},Sin=[{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3.22609431418537,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:-.25833333333333336,cy:-13376344861350336e-31,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8KuTFKVbnS9JsUhgiz6ayk",parentId:"u1AdedeCmmKa3QYfwjJ4ya",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26666666666666666,cy:-11010413489448665e-30,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2ddK5UqQWy74ghKtND3in4",parentId:"u1AdedeCmmKa3QYfwjJ4ya",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3.22609431418537,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3.22609431418537,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:.3466666666666667,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ffkLQGy3NT64UfpCw11G41",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.10666666666666667,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gNMVvT81stFdLZCLrqUQZf",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.13333333333333333,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tVsnXCNKFAXpT1tvrhqYrT",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.36000000000000004,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5bfnZWdB6epkk2c8Lmex9Z",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3.22609431418537,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:-.375,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aScdMHKjqapGhvxSXnrdVS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"94qFJLPpyieU8kH3r8ea1u",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.24999999999999992,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hqJtpQuGAWonh9XMck7DkQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.37499999999999994,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iepBWG7Nk7RRKfgVSDffBC",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-.07737809374999927,cy:-.08634488504745477,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.08065235785463425,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture Default",color:"#666666",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,label:"",rise:1.3492858897703286,ceiling:!1},{type:"Door",cx:.00416666666666667,cy:0,cz:-.125,lx:.24166666666666667,ly:0,lz:.75,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"bm1UTSxwjiN1iZGr4Z4Fm6",doorType:"Default",archHeight:1,filled:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.045101456155734465,cy:-.1728550176508481,cz:3.912059639775531,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[0,-.26053732960492465,.9654637745054627],rotation:[.26357871191724236,0,0],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"hggpkWHD6D2DWRepcABzSN",selected:!1,dailyYield:1.1606630204047466,yearlyYield:14.01350339573908,label:"S",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.04923325035798107,cy:.23033266020936075,cz:4.048748074874304,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[1836536775249149e-32,.26053732960492476,.9654637745054627],rotation:[.2635787119172426,0,3.141592653589793],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3AjZD5PGir6Pw6qNxAXT2v",selected:!1,dailyYield:.7689476441385455,yearlyYield:9.02911259075203,label:"N",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.23435630964973508,cy:.03020266603782977,cz:3.927707691404531,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[-.3976643293667701,33320459964913965e-33,.9175309701308599],rotation:[.4089698333626983,0,4.71238898038469],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"dfe7nQ9k8jDK91KdkmUEv6",selected:!1,dailyYield:.9541736397038687,yearlyYield:11.32280863910204,label:"W",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.3049880725182647,cy:.048385609165732826,cz:3.978511539183477,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[.39766432936677054,-133281839859656e-30,.9175309701308599],rotation:[.40896983336269876,0,1.5707963267948961],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"1dU1iCu9PPq5BqZD1KErE7",selected:!1,dailyYield:.9576426115274149,yearlyYield:11.37252332042091,label:"E",labelSize:.4},{type:"Sensor",cx:.057157621054107106,cy:.14033655142046375,cz:4.4036437311884296,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,.2605373296049247,.9654637745054626],rotation:[.2635787119172426,0,3.141592653589793],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"mKDuzWBHjARCKjue8riAq8",selected:!1,label:"N"},{type:"Sensor",cx:.05632462642172124,cy:-.03881517090426316,cz:4.440639819780413,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,-.26053732960492465,.9654637745054627],rotation:[.26357871191724236,0,0],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"qMhiLQRXRChHGtKoRd73LF",selected:!1,label:"S"},{type:"Sensor",cx:.25193424207044157,cy:.045340891802389115,cz:4.396078903758752,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[.39766432936677054,-133281839859656e-30,.9175309701308599],rotation:[.40896983336269876,0,1.5707963267948961],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3DwwhpFKYxSqcDS4CihiGw",selected:!1,label:"E"},{type:"Sensor",cx:-.1790489651075926,cy:.040907220548995316,cz:4.363011644147998,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[-.3976643293667701,33320459964913965e-33,.9175309701308599],rotation:[.4089698333626983,0,4.71238898038469],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"72Y7F2N3gynqymAnAg1DcZ",selected:!1,label:"W"}],Tin={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[3.096291394829855,-4.886200526627762,20.956812400919997],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!0,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.5949692122407761,.408443644397781,1.6485310965583475],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:4,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-25,y:27,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1275,y:17,width:600,height:360},stickyNotePanelRect:{x:-4,y:-3,width:303,height:64}},Pin={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Cin=1,Rin={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Hin={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Min={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Iin={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},zin=["Solar panels on different sides of a roof"],Din={docid:min,time:yin,timestamp:Ain,userid:win,owner:vin,email:xin,world:bin,elements:Sin,view:Tin,graphState:Pin,evolutionMethod:Cin,solarPanelArrayLayoutParams:Rin,solarPanelArrayLayoutConstraints:Hin,evolutionaryAlgorithmState:Min,economicsParams:Iin,notes:zin},Ein="4FPGPRyja1jZsFg1c9iXEn",kin="02/19/2023 11:51 am",Fin=1676825516232,Lin="HPwaZxo6jaPjQcD6cBGUWPpQkVw2",Win=null,Nin=null,Uin={pvGridCellSize:.5,sutGridCellSize:1,noAnimationForHeatmapSimulation:!1,latitude:42.30152633098348,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,name:"default",highestTemperatureTimeInMinutes:900,daysPerYear:12,date:"5/1/2023, 8:30:00 AM",sutDaysPerYear:4,timesPerHour:4,cspTimesPerHour:4,ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},cspGridCellSize:.5,noAnimationForSolarUpdraftTowerSimulation:!1,noAnimationForSolarPanelSimulation:!1,dustLoss:.05,sutTimesPerHour:4,address:"Quincy, MA, USA",cspDaysPerYear:4,diurnalTemperatureModel:1,solarRadiationHeatmapGridCellSize:1.5,noAnimationForThermalSimulation:!1,airAttenuationCoefficient:.01,noAnimationForSensorDataCollection:!1,airConvectiveCoefficient:5,longitude:-71.04686341053608},Bin=[{solarUpdraftTower:{},textureType:"No Foundation Texture",lx:212.5285321639104,rotation:[0,0,0],solarPowerTower:{},cx:-10.534022898559044,id:"m2Y8UkiEpzxPgEaP4XFVt6",cz:.05,ly:289.40841858160877,cy:-5.174607839650079,lz:.1,hvacSystem:{thermostatSetpoint:20},parentId:"Ground",solarAbsorberPipe:{},type:"Foundation",normal:[0,0,1],color:"#808080",selected:!1},{lz:.4,cx:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:0,vertices:[{y:-.015548960261952672,x:-.13409964163315105},{x:.1599785198430574,y:.4768347813665486},{y:.4768347813665486,x:.3034886626434471},{x:.34113066731240177,y:.43191556283201865},{x:.3764200466895468,y:.41463894031873794},{y:.35762608602491147,x:.37406742139773713},{x:.2917255361843988,y:.23496206618061816},{y:.1710385628814794,x:.2987834120598278},{x:.2799624097253504,y:.11402570858765293},{y:.006910649005312299,x:.22585202801372808},{x:.1529206439676284,y:-.04146389403187379},{y:-.06219584104781069,x:.1458627680921994},{y:-.06565116555046684,x:.09175238638057703},{y:-.08292778806374758,x:.06587350817067068},{x:-.08234188521333836,y:-.08292778806374758}],ly:.4,lx:.4,color:"#ffffff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"5DXDSqQGwG9HHBGtTSMivo",type:"Polygon",filled:!0,lineColor:"#b3b3b3",rotation:[0,0,0],selectedIndex:10,normal:[0,0,1],opacity:0,selected:!1,cz:0},{rotation:[0,0,0],showLabel:!1,poleRadius:.05,poleSpacing:3,trackerType:"None",referenceId:"5DXDSqQGwG9HHBGtTSMivo",id:"39YHB9jsen7civ3YRJKQCC",cy:-.06921706043720798,drawSunBeam:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",orientation:"Portrait",normal:[0,0,1],color:"#fff",selected:!1,relativeAzimuth:0,type:"Solar Panel",cx:-.0044720631905931785,poleHeight:1,tiltAngle:.5235987755982988,lx:31.744,pvModelName:"CS6X-355P-FG",lz:.006,cz:.1,ly:3.936},{normal:[0,0,1],tiltAngle:.5235987755982988,cy:-.04416595779295089,lx:50.592,cz:.1,rotation:[0,0,0],drawSunBeam:!1,poleRadius:.05,orientation:"Portrait",lz:.006,type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,trackerType:"None",referenceId:"5DXDSqQGwG9HHBGtTSMivo",ly:3.936,id:"wRpEM8qhuhZqcTqN2dpgxk",cx:.020668929177468376,pvModelName:"CS6X-355P-FG",showLabel:!1,color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,frameColor:"white",poleSpacing:3,poleHeight:1},{pvModelName:"CS6X-355P-FG",trackerType:"None",tiltAngle:.5235987755982988,selected:!1,color:"#fff",poleSpacing:3,orientation:"Portrait",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",drawSunBeam:!1,cy:-.019114855148693807,relativeAzimuth:0,showLabel:!1,cx:.026370111541441255,normal:[0,0,1],cz:.1,lz:.006,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],poleRadius:.05,type:"Solar Panel",ly:3.936,referenceId:"5DXDSqQGwG9HHBGtTSMivo",poleHeight:1,id:"tD1s9u51ND5RmtjGVXGCLf",lx:61.504},{cz:.1,tiltAngle:.5235987755982988,frameColor:"white",id:"uqbw8SLNidH2HVf3A3aEpb",poleHeight:1,pvModelName:"CS6X-355P-FG",lx:68.448,relativeAzimuth:0,showLabel:!1,type:"Solar Panel",lz:.006,drawSunBeam:!1,poleRadius:.05,referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:.005936247495563277,rotation:[0,0,0],ly:3.936,trackerType:"None",orientation:"Portrait",color:"#fff",cx:.04797937239367053,poleSpacing:3,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1]},{frameColor:"white",cz:.1,trackerType:"None",type:"Solar Panel",ly:3.936,id:"abu8rTHpebENbtwLNiH7VV",selected:!1,referenceId:"5DXDSqQGwG9HHBGtTSMivo",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,tiltAngle:.5235987755982988,drawSunBeam:!0,pvModelName:"CS6X-355P-FG",lz:.006,cx:.06772862843868938,color:"#fff",showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],relativeAzimuth:0,cy:.03098735013982036,poleSpacing:3,orientation:"Portrait",rotation:[0,0,0],lx:68.448,poleRadius:.05},{drawSunBeam:!1,cx:.0815369877932561,poleHeight:1,lx:68.448,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",cy:.056038452784077444,id:"nZ63hCPNboQvjJjFBKXPux",pvModelName:"CS6X-355P-FG",tiltAngle:.5235987755982988,selected:!1,normal:[0,0,1],cz:.1,showLabel:!1,relativeAzimuth:0,ly:3.936,rotation:[0,0,0],frameColor:"white",poleSpacing:3,color:"#fff",orientation:"Portrait",poleRadius:.05,lz:.006,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"5DXDSqQGwG9HHBGtTSMivo",type:"Solar Panel"},{lz:.006,cy:.08108955542833453,poleRadius:.05,trackerType:"None",poleHeight:1,cx:.09534534714782292,cz:.1,normal:[0,0,1],relativeAzimuth:0,frameColor:"white",id:"hif4KqE4YP3kUVrrgkfMhx",ly:3.936,showLabel:!1,lx:67.456,orientation:"Portrait",selected:!1,color:"#fff",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",drawSunBeam:!1,tiltAngle:.5235987755982988,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",pvModelName:"CS6X-355P-FG",poleSpacing:3,rotation:[0,0,0],referenceId:"5DXDSqQGwG9HHBGtTSMivo",type:"Solar Panel"},{relativeAzimuth:0,referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,tiltAngle:.5235987755982988,ly:3.936,cy:.10614065807259161,orientation:"Portrait",color:"#fff",cx:.1091537065023897,trackerType:"None",showLabel:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:67.456,poleRadius:.05,pvModelName:"CS6X-355P-FG",rotation:[0,0,0],poleSpacing:3,lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,cz:.1,id:"qfhB3DdpB1gYjw25yY8eTt",frameColor:"white",normal:[0,0,1],drawSunBeam:!1,type:"Solar Panel"},{cz:.1,rotation:[0,0,0],id:"oKCroDuPSw8Jz4hpytmpuV",tiltAngle:.5235987755982988,referenceId:"5DXDSqQGwG9HHBGtTSMivo",lz:.006,relativeAzimuth:0,poleSpacing:3,pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],selected:!1,ly:3.936,type:"Solar Panel",color:"#fff",frameColor:"white",trackerType:"None",poleRadius:.05,poleHeight:1,lx:65.472,cx:.12116209363369557,drawSunBeam:!1,orientation:"Portrait",cy:.13119176071684868,showLabel:!1},{lz:.006,drawSunBeam:!1,selected:!1,type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.13277794649991534,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,id:"mHK7aYVb1Wk6EsoKnJgiKD",relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,color:"#fff",frameColor:"white",trackerType:"None",tiltAngle:.5235987755982988,cz:.1,poleSpacing:3,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"5DXDSqQGwG9HHBGtTSMivo",showLabel:!1,normal:[0,0,1],cy:.15624286336110577,rotation:[0,0,0],ly:3.936,lx:64.48},{poleSpacing:3,cx:.14138598430837385,frameColor:"white",id:"9pHe3mAgmKZtQtjzLXxdYX",rotation:[0,0,0],poleHeight:1,pvModelName:"CS6X-355P-FG",color:"#fff",orientation:"Portrait",cy:.18129396600536285,normal:[0,0,1],drawSunBeam:!1,lz:.006,referenceId:"5DXDSqQGwG9HHBGtTSMivo",trackerType:"None",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,lx:61.504,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,cz:.1,tiltAngle:.5235987755982988,showLabel:!1,type:"Solar Panel",ly:3.936,selected:!1},{cy:.20634506864961993,showLabel:!1,poleRadius:.05,selected:!1,ly:3.936,frameColor:"white",cz:.1,type:"Solar Panel",relativeAzimuth:0,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],normal:[0,0,1],poleSpacing:3,color:"#fff",trackerType:"None",pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"wxnBoqUDaxFyzEJ8C9neNT",drawSunBeam:!1,lx:57.536,referenceId:"5DXDSqQGwG9HHBGtTSMivo",orientation:"Portrait",lz:.006,cx:.14748395783026924,poleHeight:1,tiltAngle:.5235987755982988},{parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,selected:!1,rotation:[0,0,0],frameColor:"white",poleSpacing:3,relativeAzimuth:0,cz:.1,tiltAngle:.5235987755982988,normal:[0,0,1],cx:.1535819313521647,lz:.006,id:"wFKvkQ1Z8bZ4V5gp8W9qaV",type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:54.56,trackerType:"None",orientation:"Portrait",color:"#fff",poleRadius:.05,cy:.23139617129387702,showLabel:!1,ly:3.936,pvModelName:"CS6X-355P-FG",drawSunBeam:!1,referenceId:"5DXDSqQGwG9HHBGtTSMivo"},{referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,relativeAzimuth:0,rotation:[0,0,0],parentId:"m2Y8UkiEpzxPgEaP4XFVt6",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,poleRadius:.05,lx:54.56,lz:.006,showLabel:!1,normal:[0,0,1],poleHeight:1,trackerType:"None",color:"#fff",type:"Solar Panel",frameColor:"white",pvModelName:"CS6X-355P-FG",drawSunBeam:!1,cz:.1,id:"5UEd5WPYGM3mteKkUdGC5b",ly:3.936,cy:.2564472739381341,orientation:"Portrait",cx:.1650931283901031,poleSpacing:3},{lx:54.56,poleSpacing:3,color:"#fff",rotation:[0,0,0],normal:[0,0,1],selected:!1,pvModelName:"CS6X-355P-FG",drawSunBeam:!1,poleRadius:.05,cz:.1,poleHeight:1,trackerType:"None",orientation:"Portrait",cx:.18098221432743639,lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",cy:.2814983765823912,tiltAngle:.5235987755982988,id:"2svrFi8xQmtUMBe5ZAK81o",showLabel:!1,ly:3.936,type:"Solar Panel",referenceId:"5DXDSqQGwG9HHBGtTSMivo",relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6"},{cx:.19687130026476962,cy:.30654947922664827,poleRadius:.05,rotation:[0,0,0],poleHeight:1,selected:!1,showLabel:!1,lz:.006,type:"Solar Panel",normal:[0,0,1],id:"bGivs5Yuda48gHtDd1BsdF",poleSpacing:3,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:55.552,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",pvModelName:"CS6X-355P-FG",referenceId:"5DXDSqQGwG9HHBGtTSMivo",drawSunBeam:!1,ly:3.936,relativeAzimuth:0,color:"#fff",orientation:"Portrait",cz:.1,tiltAngle:.5235987755982988,trackerType:"None"},{foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",orientation:"Portrait",selected:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,pvModelName:"CS6X-355P-FG",relativeAzimuth:0,cz:.1,showLabel:!1,lx:55.552,frameColor:"white",poleSpacing:3,poleRadius:.05,referenceId:"5DXDSqQGwG9HHBGtTSMivo",poleHeight:1,tiltAngle:.5235987755982988,rotation:[0,0,0],cy:.33160058187090535,type:"Solar Panel",normal:[0,0,1],color:"#fff",id:"jm8EQPxBbaiTMXoQiF7CER",ly:3.936,trackerType:"None",cx:.21276038620210297,drawSunBeam:!1},{poleSpacing:3,frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],lz:.006,lx:55.552,id:"8a4sJM8CzcwGaTVPbJ3rEU",color:"#fff",trackerType:"None",relativeAzimuth:0,ly:3.936,poleHeight:1,pvModelName:"CS6X-355P-FG",type:"Solar Panel",cz:.1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],referenceId:"5DXDSqQGwG9HHBGtTSMivo",showLabel:!1,cy:.35665168451516244,poleRadius:.05,cx:.232198442985121,selected:!1,drawSunBeam:!1,orientation:"Portrait",tiltAngle:.5235987755982988},{selected:!1,drawSunBeam:!1,ly:3.936,showLabel:!1,orientation:"Portrait",color:"#fff",poleHeight:1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:52.576,frameColor:"white",type:"Solar Panel",cz:.1,poleSpacing:3,tiltAngle:.5235987755982988,normal:[0,0,1],referenceId:"5DXDSqQGwG9HHBGtTSMivo",trackerType:"None",cy:.3817027871594195,id:"mSAWD32s6rcXazrWTV4Xv5",cx:.24019624331923956,rotation:[0,0,0],relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,poleRadius:.05,pvModelName:"CS6X-355P-FG"},{poleRadius:.05,selected:!1,normal:[0,0,1],id:"5LQqmcsTvpZmQs4iTqrCGu",cy:.4067538898036766,lz:.006,orientation:"Portrait",rotation:[0,0,0],lx:49.6,ly:3.936,drawSunBeam:!1,showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,cx:.248194043653358,cz:.1,type:"Solar Panel",color:"#fff",poleSpacing:3,trackerType:"None",pvModelName:"CS6X-355P-FG",frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,poleHeight:1,referenceId:"5DXDSqQGwG9HHBGtTSMivo"},{frameColor:"white",cx:.23674454976762427,ly:3.936,poleSpacing:3,poleHeight:1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",tiltAngle:.5235987755982988,drawSunBeam:!1,relativeAzimuth:0,rotation:[0,0,0],showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:38.688,poleRadius:.05,pvModelName:"CS6X-355P-FG",cz:.1,type:"Solar Panel",referenceId:"5DXDSqQGwG9HHBGtTSMivo",color:"#fff",orientation:"Portrait",cy:.4318049924479337,lz:.006,selected:!1,id:"32Cg2tC6n7DHigNkVxdrgt",normal:[0,0,1]},{relativeAzimuth:0,tiltAngle:.5235987755982988,id:"sqjEqAoMgMpxq5BxsJh969",cx:.23372915722930276,cy:.4568560950921907,type:"Solar Panel",frameColor:"white",referenceId:"5DXDSqQGwG9HHBGtTSMivo",ly:3.936,drawSunBeam:!1,pvModelName:"CS6X-355P-FG",lz:.006,poleRadius:.05,color:"#fff",orientation:"Portrait",lx:30.752,cz:.1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleSpacing:3,showLabel:!1,rotation:[0,0,0],selected:!1,trackerType:"None",poleHeight:1},{foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",selectedIndex:0,lx:.4,normal:[0,0,1],lz:.4,ly:.4,opacity:0,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"i53LLgEmjv9V4sT2Bw7T8V",cy:0,rotation:[0,0,0],color:"#ffffff",vertices:[{x:-.37171479610592745,y:-.45264750984795554},{y:-.41291127806740985,x:-.37171479610592745},{x:-.35759904435506945,y:-.3887240065488168},{x:-.3975936743158338,y:-.3749027085381922},{x:-.38818317314859513,y:-.3144345297417096},{x:-.4164146766503111,y:-.27815362246382},{x:-.37877267198135645,y:-.13821298010624597},{y:-.07083415230445106,x:-.35759904435506945},{y:-.07083415230445106,x:-.2093836509710604},{y:-.25569401319655505,x:.0799892599215287},{y:-.3679920595328799,x:.061168257587051356},{y:-.4025453045594414,x:.01646837704266767},{x:-.07763663462971902,y:-.43364322508334674},{y:-.45437517209928363,x:-.11057338871505437}],cz:0,cx:0,selected:!1,filled:!0,lineColor:"#999999",type:"Polygon"},{type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",relativeAzimuth:0,color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",pvModelName:"CS6X-355P-FG",poleHeight:1,poleSpacing:3,rotation:[0,0,0],frameColor:"white",id:"rjtxU5WsNM51KRLNQSNjpi",trackerType:"None",cz:.1,tiltAngle:.5235987755982988,selected:!1,orientation:"Portrait",normal:[0,0,1],cy:-.44066444447274405,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,drawSunBeam:!1,lz:.006,showLabel:!1,lx:54.56,ly:3.936,cx:-.23295381956127093},{orientation:"Portrait",cy:-.41561334182848697,id:"r4etahi9gw6GJxHew37bNn",poleHeight:1,poleSpacing:3,lx:67.456,cx:-.20254012539999636,normal:[0,0,1],selected:!1,frameColor:"white",lz:.006,drawSunBeam:!1,relativeAzimuth:0,showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel",ly:3.936,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cz:.1,pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,trackerType:"None",rotation:[0,0,0],tiltAngle:.5235987755982988,color:"#fff"},{poleSpacing:3,trackerType:"None",frameColor:"white",lx:78.368,normal:[0,0,1],poleHeight:1,cz:.1,orientation:"Portrait",showLabel:!1,cy:-.3905622391842299,tiltAngle:.5235987755982988,cx:-.16654214275360996,poleRadius:.05,color:"#fff",selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,rotation:[0,0,0],drawSunBeam:!1,id:"oPaST5wTNmvuMg4irNTNvF",ly:3.936,pvModelName:"CS6X-355P-FG",lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel"},{poleHeight:1,relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",ly:3.936,type:"Solar Panel",id:"fF8k5yd2hu4Rwpr6gbrW2i",normal:[0,0,1],tiltAngle:.5235987755982988,cy:-.3655111365399728,poleRadius:.05,poleSpacing:3,selected:!1,lx:92.256,drawSunBeam:!1,frameColor:"white",cz:.1,showLabel:!1,lz:.006,trackerType:"None",pvModelName:"CS6X-355P-FG",rotation:[0,0,0],orientation:"Portrait",color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cx:-.16834099366066035},{pvModelName:"CS6X-355P-FG",color:"#fff",normal:[0,0,1],poleSpacing:3,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",selected:!1,cz:.1,orientation:"Portrait",showLabel:!1,cx:-.16377492283812295,trackerType:"None",frameColor:"white",lz:.006,lx:93.248,ly:3.936,rotation:[0,0,0],poleHeight:1,id:"vR22Q3vueKbYiqVBv8D26g",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,drawSunBeam:!1,tiltAngle:.5235987755982988,type:"Solar Panel",poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:-.3404600338957157},{pvModelName:"CS6X-355P-FG",poleSpacing:3,cx:-.1597263390941956,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",cz:.1,poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,showLabel:!1,selected:!1,rotation:[0,0,0],relativeAzimuth:0,cy:-.31540893125145864,id:"fHL4NPe6GsTPPqRFeNWFSj",color:"#fff",poleHeight:1,trackerType:"None",drawSunBeam:!1,type:"Solar Panel",frameColor:"white",ly:3.936,orientation:"Portrait",lx:93.248,lz:.006,normal:[0,0,1]},{showLabel:!1,drawSunBeam:!1,trackerType:"None",lx:97.216,cy:-.29035782860720155,poleSpacing:3,poleHeight:1,rotation:[0,0,0],pvModelName:"CS6X-355P-FG",ly:3.936,orientation:"Portrait",relativeAzimuth:0,selected:!1,lz:.006,cz:.1,type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",tiltAngle:.5235987755982988,color:"#fff",poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cx:-.16533131631908343,normal:[0,0,1],id:"wo99UxfjEn2Sft7C8epu1F"},{cy:-.26530672596294447,poleSpacing:3,color:"#fff",trackerType:"None",cz:.1,lz:.006,tiltAngle:.5235987755982988,rotation:[0,0,0],poleRadius:.05,ly:3.936,cx:-.16654823110912362,selected:!1,frameColor:"white",id:"atncuqMmE5QUMBXmuECL7c",normal:[0,0,1],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,orientation:"Portrait",relativeAzimuth:0,drawSunBeam:!1,pvModelName:"CS6X-355P-FG",type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:100.192,showLabel:!1},{lz:.006,orientation:"Portrait",lx:92.256,cy:-.24025562331868738,selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",ly:3.936,color:"#fff",drawSunBeam:!1,type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,tiltAngle:.5235987755982988,pvModelName:"CS6X-355P-FG",frameColor:"white",poleSpacing:3,showLabel:!1,rotation:[0,0,0],trackerType:"None",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,normal:[0,0,1],id:"pRs6eMcbHHwteicGZNiUf4",cx:-.17740291781012096,relativeAzimuth:0,cz:.1},{type:"Solar Panel",color:"#fff",frameColor:"white",normal:[0,0,1],poleRadius:.05,tiltAngle:.5235987755982988,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,lz:.006,pvModelName:"CS6X-355P-FG",ly:3.936,drawSunBeam:!1,poleHeight:1,id:"oTDhH5JF9kfv5Xuz6jEMoT",rotation:[0,0,0],showLabel:!1,selected:!1,cy:-.2152045206744303,cz:.1,orientation:"Portrait",trackerType:"None",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cx:-.1936407690619649,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:82.336,poleSpacing:3},{tiltAngle:.5235987755982988,relativeAzimuth:0,trackerType:"None",showLabel:!1,lz:.006,normal:[0,0,1],parentId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,ly:3.936,orientation:"Portrait",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",drawSunBeam:!1,cx:-.2098786203138088,color:"#fff",pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,cz:.1,cy:-.19015341803017322,lx:72.416,id:"vTDkEMLLiFSDFeVQ9M7gEq",rotation:[0,0,0],type:"Solar Panel",poleSpacing:3,frameColor:"white",poleHeight:1},{lx:63.488,drawSunBeam:!1,poleHeight:1,cx:-.22611647156565276,poleRadius:.05,lz:.006,selected:!1,poleSpacing:3,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",tiltAngle:.5235987755982988,orientation:"Portrait",ly:3.936,showLabel:!1,relativeAzimuth:0,rotation:[0,0,0],pvModelName:"CS6X-355P-FG",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",type:"Solar Panel",color:"#fff",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:-.16510231538591613,cz:.1,id:"ddcikvHRjDyv431v3iHzR9",normal:[0,0,1]},{cy:-.14005121274165905,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",poleRadius:.05,frameColor:"white",color:"#fff",trackerType:"None",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,ly:3.936,poleHeight:1,tiltAngle:.5235987755982988,type:"Solar Panel",cx:-.2423189775828182,lx:53.568,normal:[0,0,1],showLabel:!1,relativeAzimuth:0,rotation:[0,0,0],drawSunBeam:!1,poleSpacing:3,id:"kzwB7XdQnSLaWv37UNBRHE",pvModelName:"CS6X-355P-FG",lz:.006,cz:.1,orientation:"Portrait"},{relativeAzimuth:0,poleRadius:.05,tiltAngle:.5235987755982988,trackerType:"None",orientation:"Portrait",drawSunBeam:!1,poleSpacing:3,cx:-.25798989752621326,selected:!1,lx:43.647999999999996,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",pvModelName:"CS6X-355P-FG",cz:.1,ly:3.936,rotation:[0,0,0],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel",color:"#fff",normal:[0,0,1],showLabel:!1,id:"iSBjaL3vNJSWkMSnEcxexJ",cy:-.11500011009740196,frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,poleHeight:1},{pvModelName:"CS6X-355P-FG",selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",rotation:[0,0,0],drawSunBeam:!1,cy:-.08994900745314488,cz:.1,id:"inhpfuX2LqrdYubxNoTMKi",trackerType:"None",lz:.006,poleRadius:.05,frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,relativeAzimuth:0,poleSpacing:3,showLabel:!1,type:"Solar Panel",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:33.728,ly:3.936,normal:[0,0,1],poleHeight:1,orientation:"Portrait",cx:-.2736608174696083,color:"#fff"},{type:"Foundation",cx:130.77937125760448,cy:3.87684921362672,cz:.05,lx:56.64628450306867,ly:56.97569559573312,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"nCbdmnahzfS1w9hiPKySNL",label:"Rainbow Swash",labelSize:4,labelHeight:50,showLabel:!0,labelFontSize:50,labelColor:"black"},{type:"Wall",cx:-14.049964379597128,cy:20.03116873649283,cz:0,lx:6.020797289396148,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.8682349942715186,leftPoint:[-11.799964379597128,22.03116873649283,.1],rightPoint:[-16.299964379597128,18.03116873649283,.1],leftJoints:["eJTbEVraxbUMqMs6Np8NKF"],rightJoints:["hXhPy1xFEnY2hwUty4JKnh"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"dg44T4UU4svJo7xChjjMQJ",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-18.049964379597128,cy:15.53116873649283,cz:0,lx:6.103277807866851,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.101663015995481,leftPoint:[-16.299964379597128,18.03116873649283,.1],rightPoint:[-19.799964379597128,13.03116873649283,.1],leftJoints:["dg44T4UU4svJo7xChjjMQJ"],rightJoints:["r6mVuTRZiSA9BuDPhjz2Lp"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hXhPy1xFEnY2hwUty4JKnh",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-20.799964379597128,cy:10.28116873649283,cz:0,lx:5.852349955359813,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.363617976800782,leftPoint:[-19.799964379597128,13.03116873649283,.1],rightPoint:[-21.799964379597128,7.53116873649283,.1],leftJoints:["hXhPy1xFEnY2hwUty4JKnh"],rightJoints:["7XqqJhYujD5LNMbkq5uwj5"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"r6mVuTRZiSA9BuDPhjz2Lp",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-22.149964379597122,cy:4.63116873649283,cz:0,lx:5.842088667591412,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.592280244817776,leftPoint:[-21.799964379597128,7.53116873649283,.1],rightPoint:[-22.49996437959713,1.7311687364928305,.1],leftJoints:["r6mVuTRZiSA9BuDPhjz2Lp"],rightJoints:["f9fikVMDyJeGH7jFyXZWwX"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"7XqqJhYujD5LNMbkq5uwj5",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-22.44996437959712,cy:-.7688312635071695,cz:0,lx:5.000999900019995,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.7323863143578375,leftPoint:[-22.499964379597117,1.7311687364928305,.1],rightPoint:[-22.399964379597122,-3.2688312635071703,.1],leftJoints:["7XqqJhYujD5LNMbkq5uwj5"],rightJoints:["xuvvfjRXMWdjTE7V8yHHHs"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"f9fikVMDyJeGH7jFyXZWwX",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-21.549964379597128,cy:-6.568831263507171,cz:0,lx:6.815423684555494,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.964484961052763,leftPoint:[-22.399964379597122,-3.2688312635071703,.1],rightPoint:[-20.699964379597134,-9.86883126350717,.1],leftJoints:["f9fikVMDyJeGH7jFyXZWwX"],rightJoints:["up3mEwP5XpBuhYU31R9sSn"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"xuvvfjRXMWdjTE7V8yHHHs",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-19.49996437959713,cy:-11.918831263507169,cz:0,lx:4.750789408087882,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.241978579166767,leftPoint:[-20.699964379597134,-9.86883126350717,.1],rightPoint:[-18.299964379597128,-13.96883126350717,.1],leftJoints:["xuvvfjRXMWdjTE7V8yHHHs"],rightJoints:["3RcJPAXuGxFdfSHj5R15Et"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"up3mEwP5XpBuhYU31R9sSn",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-16.549964379597128,cy:-16.46883126350717,cz:0,lx:6.103277807866851,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.323114944773899,leftPoint:[-18.299964379597128,-13.96883126350717,.1],rightPoint:[-14.799964379597128,-18.96883126350717,.1],leftJoints:["up3mEwP5XpBuhYU31R9sSn"],rightJoints:["5CVoJKJNEiwZKYgJZcNSFi"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"3RcJPAXuGxFdfSHj5R15Et",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-11.749964379597131,cy:-20.51883126350717,cz:0,lx:6.842514157822414,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.81300184353285,leftPoint:[-14.799964379597142,-18.96883126350717,.1],rightPoint:[-8.699964379597134,-22.06883126350717,.1],leftJoints:["3RcJPAXuGxFdfSHj5R15Et"],rightJoints:["jBn8o6CDfAHiZEGaPT1dBH"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"5CVoJKJNEiwZKYgJZcNSFi",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-5.699964379597134,cy:-22.868831263507175,cz:0,lx:6.209669878504014,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:6.022582915432245,leftPoint:[-8.699964379597134,-22.068831263507175,.1],rightPoint:[-2.6999643795971338,-23.668831263507172,.1],leftJoints:["5CVoJKJNEiwZKYgJZcNSFi"],rightJoints:["7WeEQ5XGbSwarbCtZLcy3v"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"jBn8o6CDfAHiZEGaPT1dBH",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:.20003562040287193,cy:-23.918831263507172,cz:0,lx:5.82151183113116,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:6.197191015985346,leftPoint:[-2.6999643795971338,-23.668831263507172,.1],rightPoint:[3.1000356204028776,-24.168831263507172,.1],leftJoints:["jBn8o6CDfAHiZEGaPT1dBH"],rightJoints:["v7jn11zR2wYLhDxejpfXGD"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"7WeEQ5XGbSwarbCtZLcy3v",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:5.250035620402855,cy:-23.36883126350717,cz:0,lx:4.588027898781775,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.35621965539615097,leftPoint:[3.1000356204028776,-24.168831263507172,.1],rightPoint:[7.400035620402861,-22.56883126350717,.1],leftJoints:["7WeEQ5XGbSwarbCtZLcy3v"],rightJoints:["ijnWnJpBMsWV74W4WWEWNB"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"v7jn11zR2wYLhDxejpfXGD",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:8.800035620402866,cy:-22.01883126350717,cz:0,lx:3.008321791298265,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.3743336160075845,leftPoint:[7.400035620402861,-22.56883126350717,.1],rightPoint:[10.200035620402872,-21.46883126350717,.1],leftJoints:["v7jn11zR2wYLhDxejpfXGD"],rightJoints:["crmfHAnSRdMR5VgizUq9LM"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ijnWnJpBMsWV74W4WWEWNB",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:11.450035620402872,cy:-20.71883126350717,cz:0,lx:2.9154759474226504,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.5404195002705842,leftPoint:[10.200035620402872,-21.46883126350717,.1],rightPoint:[12.700035620402872,-19.96883126350717,.1],leftJoints:["ijnWnJpBMsWV74W4WWEWNB"],rightJoints:["8PdqQxoo78gsSMQ7Gk5KLR"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"crmfHAnSRdMR5VgizUq9LM",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:13.950035620402872,cy:-18.96883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.6747409422235527,leftPoint:[12.700035620402872,-19.96883126350717,.1],rightPoint:[15.200035620402872,-17.96883126350717,.1],leftJoints:["crmfHAnSRdMR5VgizUq9LM"],rightJoints:["6qpKnQqjrecVz81WJpLQT3"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"8PdqQxoo78gsSMQ7Gk5KLR",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:16.450035620402872,cy:-16.96883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.6747409422235527,leftPoint:[15.200035620402872,-17.96883126350717,.1],rightPoint:[17.700035620402872,-15.96883126350717,.1],leftJoints:["8PdqQxoo78gsSMQ7Gk5KLR"],rightJoints:["hELSBxVzGyyQWpXPyvjTHw"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"6qpKnQqjrecVz81WJpLQT3",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:18.700035620402872,cy:-14.96883126350717,cz:0,lx:2.8284271247461903,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.7853981633974483,leftPoint:[17.700035620402872,-15.96883126350717,.1],rightPoint:[19.700035620402872,-13.96883126350717,.1],leftJoints:["6qpKnQqjrecVz81WJpLQT3"],rightJoints:["4fB42Goo94xeF9fnshTMSp"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hELSBxVzGyyQWpXPyvjTHw",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:20.700035620402872,cy:-12.71883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.8960553845713439,leftPoint:[19.700035620402872,-13.96883126350717,.1],rightPoint:[21.700035620402872,-11.46883126350717,.1],leftJoints:["hELSBxVzGyyQWpXPyvjTHw"],rightJoints:["43JV1qpPY5ifjyLwezRVA6"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4fB42Goo94xeF9fnshTMSp",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:23.200035620402872,cy:-8.71883126350717,cz:0,lx:6.264982043070834,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.0714496051147666,leftPoint:[21.700035620402872,-11.46883126350717,.1],rightPoint:[24.700035620402872,-5.96883126350717,.1],leftJoints:["4fB42Goo94xeF9fnshTMSp"],rightJoints:["4w2rHft9nRb3VsBiJ3yDka"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"43JV1qpPY5ifjyLwezRVA6",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.200035620402872,cy:-3.9688312635071696,cz:0,lx:4.123105625617661,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.3258176636680326,leftPoint:[24.700035620402872,-5.96883126350717,.1],rightPoint:[25.700035620402872,-1.9688312635071696,.1],leftJoints:["43JV1qpPY5ifjyLwezRVA6"],rightJoints:["drEpxmzAKwiqtosy39e6Vr"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4w2rHft9nRb3VsBiJ3yDka",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.700035620402872,cy:.031168736492830362,cz:0,lx:4,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[25.700035620402872,-1.9688312635071696,.1],rightPoint:[25.700035620402872,2.0311687364928304,.1],leftJoints:["4w2rHft9nRb3VsBiJ3yDka"],rightJoints:["doFL6ojJQmnX4K2WrFghMW"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"drEpxmzAKwiqtosy39e6Vr",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.700035620402872,cy:3.7811687364928304,cz:0,lx:3.5,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[25.700035620402872,2.0311687364928304,.1],rightPoint:[25.700035620402872,5.53116873649283,.1],leftJoints:["drEpxmzAKwiqtosy39e6Vr"],rightJoints:["p64ZbjyJXwL2QB5NtHDbAL"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"doFL6ojJQmnX4K2WrFghMW",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.200035620402872,cy:7.53116873649283,cz:0,lx:4.123105625617661,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.8157749899217608,leftPoint:[25.700035620402872,5.53116873649283,.1],rightPoint:[24.700035620402872,9.53116873649283,.1],leftJoints:["doFL6ojJQmnX4K2WrFghMW"],rightJoints:["2ovFHEfiXwzvGxgJdZVohF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"p64ZbjyJXwL2QB5NtHDbAL",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:23.950035620402872,cy:11.28116873649283,cz:0,lx:3.8078865529319543,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.9756881130799802,leftPoint:[24.700035620402872,9.53116873649283,.1],rightPoint:[23.200035620402872,13.03116873649283,.1],leftJoints:["p64ZbjyJXwL2QB5NtHDbAL"],rightJoints:["4FRjmDxxDfS6r8HLMLZ4VF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2ovFHEfiXwzvGxgJdZVohF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:22.450035620402872,cy:14.53116873649283,cz:0,lx:3.3541019662496847,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.0344439357957027,leftPoint:[23.200035620402872,13.03116873649283,.1],rightPoint:[21.700035620402872,16.03116873649283,.1],leftJoints:["2ovFHEfiXwzvGxgJdZVohF"],rightJoints:["ce3qFMioJ6iam6f3Ps6XMK"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4FRjmDxxDfS6r8HLMLZ4VF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:20.700035620402872,cy:17.03116873649283,cz:0,lx:2.8284271247461903,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.356194490192345,leftPoint:[21.700035620402872,16.03116873649283,.1],rightPoint:[19.700035620402872,18.03116873649283,.1],leftJoints:["4FRjmDxxDfS6r8HLMLZ4VF"],rightJoints:["hMHLjh9gVUXjqtgU6m8bRM"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ce3qFMioJ6iam6f3Ps6XMK",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:18.700035620402872,cy:19.28116873649283,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.2455372690184494,leftPoint:[19.700035620402872,18.03116873649283,.1],rightPoint:[17.700035620402872,20.53116873649283,.1],leftJoints:["ce3qFMioJ6iam6f3Ps6XMK"],rightJoints:["abAkJXmsmcg5ajbzQfYkR5"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hMHLjh9gVUXjqtgU6m8bRM",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:16.450035620402872,cy:21.28116873649283,cz:0,lx:2.9154759474226504,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.601173153319209,leftPoint:[17.700035620402872,20.53116873649283,.1],rightPoint:[15.200035620402872,22.03116873649283,.1],leftJoints:["hMHLjh9gVUXjqtgU6m8bRM"],rightJoints:["ksNDjPcxBviiRDPqzCkcR3"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"abAkJXmsmcg5ajbzQfYkR5",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:12.700035620402872,cy:23.53116873649283,cz:0,lx:5.830951894845301,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.601173153319209,leftPoint:[15.200035620402872,22.03116873649283,.1],rightPoint:[10.200035620402872,25.03116873649283,.1],leftJoints:["abAkJXmsmcg5ajbzQfYkR5"],rightJoints:["2G6Ycemoq6UcAJEBxk2txa"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ksNDjPcxBviiRDPqzCkcR3",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:7.750035620402883,cy:25.58116873649283,cz:0,lx:5.021951811795889,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.9207638838604444,leftPoint:[10.200035620402872,25.03116873649283,.1],rightPoint:[5.300035620402866,26.131168736492832,.1],leftJoints:["ksNDjPcxBviiRDPqzCkcR3"],rightJoints:["aaWFv2WxaeMYVbeK6B3njf"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2G6Ycemoq6UcAJEBxk2txa",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-9.799964379597128,cy:22.78116873649283,cz:0,lx:4.272001872658765,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.5003633238603653,leftPoint:[-7.799964379597128,23.53116873649283,.1],rightPoint:[-11.799964379597128,22.03116873649283,.1],leftJoints:["wcz96GJreptw2HHTTyJGnx"],rightJoints:["dg44T4UU4svJo7xChjjMQJ"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"eJTbEVraxbUMqMs6Np8NKF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-6.049964379597128,cy:24.28116873649283,cz:0,lx:3.8078865529319543,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.5464844398748765,leftPoint:[-4.299964379597128,25.03116873649283,.1],rightPoint:[-7.799964379597128,23.53116873649283,.1],leftJoints:["2B4JavsLMUjzTvW2zcVwEQ"],rightJoints:["eJTbEVraxbUMqMs6Np8NKF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"wcz96GJreptw2HHTTyJGnx",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-2.799964379597128,cy:25.53116873649283,cz:0,lx:3.1622776601683795,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.4633432079864352,leftPoint:[-1.299964379597128,26.03116873649283,.1],rightPoint:[-4.299964379597128,25.03116873649283,.1],leftJoints:["aaWFv2WxaeMYVbeK6B3njf"],rightJoints:["wcz96GJreptw2HHTTyJGnx"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2B4JavsLMUjzTvW2zcVwEQ",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:2.000035620402855,cy:26.08116873649283,cz:0,lx:6.600757532283728,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.156743009464563,leftPoint:[5.300035620402866,26.131168736492832,.1],rightPoint:[-1.2999643795971565,26.03116873649283,.1],leftJoints:["2G6Ycemoq6UcAJEBxk2txa"],rightJoints:["2B4JavsLMUjzTvW2zcVwEQ"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"aaWFv2WxaeMYVbeK6B3njf",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.2,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["ksNDjPcxBviiRDPqzCkcR3","2G6Ycemoq6UcAJEBxk2txa","aaWFv2WxaeMYVbeK6B3njf","2B4JavsLMUjzTvW2zcVwEQ","wcz96GJreptw2HHTTyJGnx","eJTbEVraxbUMqMs6Np8NKF","dg44T4UU4svJo7xChjjMQJ","hXhPy1xFEnY2hwUty4JKnh","r6mVuTRZiSA9BuDPhjz2Lp","7XqqJhYujD5LNMbkq5uwj5","f9fikVMDyJeGH7jFyXZWwX","xuvvfjRXMWdjTE7V8yHHHs","up3mEwP5XpBuhYU31R9sSn","3RcJPAXuGxFdfSHj5R15Et","5CVoJKJNEiwZKYgJZcNSFi","jBn8o6CDfAHiZEGaPT1dBH","7WeEQ5XGbSwarbCtZLcy3v","v7jn11zR2wYLhDxejpfXGD","ijnWnJpBMsWV74W4WWEWNB","crmfHAnSRdMR5VgizUq9LM","8PdqQxoo78gsSMQ7Gk5KLR","6qpKnQqjrecVz81WJpLQT3","hELSBxVzGyyQWpXPyvjTHw","4fB42Goo94xeF9fnshTMSp","43JV1qpPY5ifjyLwezRVA6","4w2rHft9nRb3VsBiJ3yDka","drEpxmzAKwiqtosy39e6Vr","doFL6ojJQmnX4K2WrFghMW","p64ZbjyJXwL2QB5NtHDbAL","2ovFHEfiXwzvGxgJdZVohF","4FRjmDxxDfS6r8HLMLZ4VF","ce3qFMioJ6iam6f3Ps6XMK","hMHLjh9gVUXjqtgU6m8bRM","abAkJXmsmcg5ajbzQfYkR5"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"eNawNU6nX2MwYS8vPdrDfM"}],jin={yearlyLightSensorPanelShowDaylight:!1,showYearlyParabolicDishYieldPanel:!1,showSunAngles:!1,showDailyFresnelReflectorYieldPanel:!1,groundPanelY:0,waterSurface:!1,solarRadiationHeatMapMaxValue:6,yearlyParabolicDishYieldPanelRect:{y:0,x:0,width:600,height:400},showHeliodonPanel:!1,showDailyLightSensorPanel:!1,yearlyPvYieldPanelRect:{x:0,height:400,width:600,y:0},heatFluxWidth:.5,heliodon:!1,panCenter2D:[131.8325577738685,6.979070650641251,6979380865863898e-21],cameraPosition:[103.91363351545266,-170.19097104218287,181.31250975423077],mapZoom:17,showSiteInfoPanel:!0,yearlyUpdraftTowerYieldPanelRect:{y:0,x:0,height:400,width:600},windowShininess:200,dailyUpdraftTowerYieldPanelRect:{width:640,x:0,height:550,y:0},showYearlyLightSensorPanel:!1,weatherPanelX:0,mapType:"hybrid",heliodonPanelY:0,ambientLightIntensity:.1,weatherPanelRect:{height:500,width:500,y:0,x:0},cameraPosition2D:[131.8325577738685,6.978920643967857,150],yearlyHeliostatYieldPanelRect:{y:0,height:400,width:600,x:0},heatFluxScaleFactor:20,showMapPanel:!1,dailyLightSensorPanelRect:{width:600,height:360,x:0,y:0},yearlyLightSensorPanelRect:{width:600,height:500,y:0,x:0},showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showDailyParabolicTroughYieldPanel:!1,groundPanelX:0,mapPanelY:0,stickyNotePanelX:6,axes:!0,showElevationAngle:!0,dailyBuildingEnergyPanelRect:{x:0,width:600,y:0,height:400},showYearlyBuildingEnergyPanel:!1,dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},mapPanelX:0,autoRotate:!1,cameraZoom:11.974738784767572,showDailyHeliostatYieldPanel:!1,yearlyFresnelReflectorYieldPanelRect:{y:0,width:600,height:400,x:0},stickyNotePanelRect:{height:300,y:0,width:400,x:0},showStickyNotePanel:!1,dailyHeliostatYieldPanelRect:{width:600,height:400,y:0,x:0},showZenithAngle:!0,dailyParabolicTroughYieldPanelRect:{height:400,y:0,x:0,width:600},showEvolutionPanel:!1,solarPanelShininess:100,showDailyPvYieldPanel:!1,stickyNotePanelY:0,diurnalTemperaturePanelRect:{width:600,height:400,x:0,y:0},dailyLightSensorPanelY:162,showYearlyPvYieldPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,height:400,width:600},yearlyLightSensorPanelShowClearness:!1,shadowEnabled:!0,showGroundPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,showDiurnalTemperaturePanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDesignInfoPanel:!0,showWeatherPanel:!1,yearlyParabolicTroughYieldPanelRect:{height:400,x:0,y:0,width:600},heliodonPanelX:0,yearlyLightSensorPanelX:0,visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},showInstructionPanel:!0,panCenter:[45.46506493212769,-44.02353583672552,0],solarRadiationHeatMapReflectionOnly:!1,groundColor:"#16A5A5",showEconomicsPanel:!1,evolutionPanelRect:{width:640,height:400,x:0,y:0},directLightIntensity:1,groundImage:!0,dailyPvYieldPanelRect:{width:600,x:0,height:400,y:0},theme:"Default",mapWeatherStations:!1,showDailyUpdraftTowerYieldPanel:!1,yearlyLightSensorPanelY:0,dailyFresnelReflectorYieldPanelRect:{x:0,height:400,width:600,y:0},dailyLightSensorPanelX:-1275,heatFluxColor:"gray",mapTilt:0,showYearlyHeliostatYieldPanel:!1,enableRotate:!0,orthographic:!1,showAzimuthAngle:!0,weatherPanelY:0,showDailyBuildingEnergyPanel:!1},Yin={dailyPvIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1},Oin=1,_in={interRowSpacing:7.25,margin:2,pvModelName:"CS6X-355P-FG",rowsPerRack:2,rowAxis:"Left-Right",orientation:"Portrait",poleHeight:1,poleSpacing:3,tiltAngle:.5235987755982988},Vin={maximumInterRowSpacing:10,orientation:"Landscape",maximumRowsPerRack:6,minimumInterRowSpacing:2,minimumRowsPerRack:1,poleSpacing:5,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",poleHeight:1,maximumTiltAngle:1.5707963267948966},Gin={geneticAlgorithmParams:{maximumGenerations:5,crossoverRate:.5,populationSize:20,convergenceThreshold:.01,searchMethod:1,localSearchRadius:.1,selectionRate:.5,selectionMethod:1,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle",mutationRate:.1},particleSwarmOptimizationParams:{objectiveFunctionType:1,convergenceThreshold:.01,swarmSize:20,socialCoefficient:.1,vmax:.01,maximumSteps:5,problem:"Solar Panel Tilt Angle",localSearchRadius:.1,inertia:.8,searchMethod:1,cognitiveCoefficient:.1}},Xin={operationalCostPerUnit:.15,electricitySellingPrice:.25,projectLifeSpan:25},Jin=[],Kin={docid:Ein,time:kin,timestamp:Fin,userid:Lin,owner:Win,email:Nin,world:Uin,elements:Bin,view:jin,graphState:Yin,evolutionMethod:Oin,solarPanelArrayLayoutParams:_in,solarPanelArrayLayoutConstraints:Vin,evolutionaryAlgorithmState:Gin,economicsParams:Xin,notes:Jin},qin="fxMgHdY9nZbP8YEqb9fZ1w",$in="02/06/2023 03:46 pm",Qin=1675716393386,Zin="QWecNcxhyvP6j6sBN11hBsfZDau1",ern=null,trn=null,nrn={date:"5/10/2021, 12:00:00 PM",ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},address:"Orlando, FL, USA",latitude:28.373886495744546,cameraZoom:28.63945562104857,name:"default",timesPerHour:1,longitude:-81.5624358808899,orthographic:!1,solarRadiationHeatmapGridCellSize:5,pvGridCellSize:1},orn=[{type:"Foundation",cx:3.6287395608159727,ly:283.0666063211208,rotation:[0,0,-.25695756630108585],solarPowerTower:{},id:"qKhYC3p1wiYeGuqWSSHJ89",color:"#999999",normal:[0,0,1],cy:-13.583365825686094,lx:337.3327572637294,parentId:"Ground",lz:.1,solarUpdraftTower:{},cz:.05,selected:!1,solarAbsorberPipe:{}},{filled:!0,selectedIndex:37,id:"gxiitHUfviQVqFAUKnd2B7",cz:0,cx:0,lz:.4,cy:0,lx:.4,selected:!1,color:"white",type:"Polygon",parentId:"qKhYC3p1wiYeGuqWSSHJ89",normal:[0,0,1],vertices:[{x:-.21350077712137278,y:-.42075759570318405},{x:-.2787182797987076,y:-.3183082097551242},{x:-.30984481516743556,y:-.20702698019085236},{x:-.3083625991974962,y:-.09044664445685331},{x:-.27865660234861234,y:.00706547489296964},{x:-.33053416129649227,y:-.01236458106269687},{x:-.37203620845479624,y:-.008831843616212049},{x:-.4120560396431608,y:.017663687232424098},{x:-.45504030277140417,y:.07065474892969639},{x:-.4846846221701927,y:.14660860402912002},{x:-.4802379742603744,y:.23492704019124053},{x:-.4594869506812224,y:.29145083933499766},{x:-.42094933546279734,y:.3409091635857851},{x:-.37500064039467507,y:.3762365380506333},{x:-.3379452411461894,y:.3886011191133302},{x:-.27717438637867287,y:.3886011191133302},{x:-.23270790728049007,y:.3691710631576637},{x:-.19713472400194382,y:.3373764261393003},{x:-.17193705251297356,y:.29851631422796726},{x:-.1467393810240033,y:.24022614636096776},{x:-.14525716505406386,y:.1784032410474834},{x:-.1585971087835187,y:.1236458106269687},{x:-.12450614147491189,y:.13601039168966556},{x:-.07855744640678965,y:.1625059225383017},{x:.004446647909818281,y:.1625059225383017},{x:.05187755894787995,y:.14130949785939279},{x:.08152187834666849,y:.12011307318048388},{x:.07411079849697136,y:.1607395538150593},{x:.06966415058715308,y:.22079609040530124},{x:.08448631028654735,y:.28261899571878557},{x:.12154170953503303,y:.3391427948625427},{x:.18972364415224668,y:.3903674878365726},{x:.27569217040873345,y:.3903674878365726},{x:.315712001597098,y:.3656383257111788},{x:.37203620845479624,y:.3161800014603914},{x:.40464495979346365,y:.2472916212539374},{x:.4090916077032819,y:.17487050360099857},{x:.39575166397382705,y:.09891664850157496},{x:.36758956054497793,y:.04945832425078748},{x:.3112653536872797,y:.00176636872324241},{x:.26976330652897573,y:-.017663687232424098},{x:.21936796355103522,y:-.017663687232424098},{x:.19417029206206496,y:-.01236458106269687},{x:.22677904340073238,y:-.10951486084102942},{x:.22671736595063713,y:-.22645703614651888},{x:.1852153187923332,y:-.3465701093270028},{x:.10968398177551761,y:-.4468912869803297},{x:.004446647909818281,y:-.49105050506139},{x:-.07559301446691079,y:-.49281687378463235},{x:-.14457773451918945,y:-.46315044506100184}],ly:.4,rotation:[0,0,-.25695756630108585],foundationId:"qKhYC3p1wiYeGuqWSSHJ89",opacity:0},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.037616685320439464,cy:-.48857758884885055,cz:.1,lx:28.799999999999997,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"kWpkpkWKF1uWgdwJ2NZefx",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:42.076837683556896},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.0372083877509681,cy:-.4744466390629113,cz:.1,lx:50.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"dK6YzfpNPfiWaeFn2QffwS",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:73.63446594622458},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03654996905677188,cy:-.460315689276972,cz:.1,lx:73.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2YnbhMS1ahtpsDUt83Kmqa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:106.94529577904046},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.031199169405290578,cy:-.4461847394910327,cz:.1,lx:92.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rZ6mfN6qq8rs7avswS9pu2",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:134.99652090141174},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03621493966368436,cy:-.43205378970509345,cz:.1,lx:104.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nsxJE4hnqqqbojxtQF5XmZ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:152.52853660289378},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04202884346728941,cy:-.41792283991915413,cz:.1,lx:115.19999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"65qqYMw5kK9P2gpyyLouG5",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:168.30735073422758},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04120703986508323,cy:-.40379189013321487,cz:.1,lx:122.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sNWVSiGrgGLPazQHQc81Q",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:178.8265601551169},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04038523626287707,cy:-.3896609403472756,cz:.1,lx:128.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"cnEFmUzsqP1tLRHrUQvSwW",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:187.59256800585786},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03956343266067097,cy:-.3755299905613363,cz:.1,lx:135.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"98MNypEPPBsYie5TNeQKR6",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:198.11177742674707},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03874162905846479,cy:-.36139904077539703,cz:.1,lx:141.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"xb5Buj7cVMwRPovXehf8wX",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:206.87778527748813},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.037919825456258605,cy:-.34726809098945777,cz:.1,lx:148.79999999999998,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"9cdDw2HjNqp1VMPzxiNCdw",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:217.39699469837734},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.039402378999016274,cy:-.33313714120351845,cz:.1,lx:153.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"8zxNS5x3yVnoFnibsJjUwa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:224.4098009789702},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04145884091268481,cy:-.3190061914175792,cz:.1,lx:158.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2RRuCpeWAGmBTfC2dhxMwq",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:231.422607259563},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04149659769772568,cy:-.3048752416316399,cz:.1,lx:162,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"iv6ViUw3EJjpR2TGVGwYEb",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:236.68221197000761},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04103158876597998,cy:-.2907442918457006,cz:.1,lx:164.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fW2H3FSf6TjWNbMrKb1Lkt",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:240.18861511030403},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.040566579834234257,cy:-.2766133420597614,cz:.1,lx:168,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2t1Xvha9SQuwVN7KfkUeiy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:245.44821982074862},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04010157090248856,cy:-.2624823922738221,cz:.1,lx:170.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"8iBoV7XvdfudFjFhHgKqTa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:248.95462296104498},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.039636561970742834,cy:-.2483514424878828,cz:.1,lx:174,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wYMRLZC1rubPv5oYgrbkPg",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:254.21422767148965},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03917155303899711,cy:-.2342204927019435,cz:.1,lx:176.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"tdEaYaSRTP4xPW2tL6xYLX",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:257.7206308117861},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.0394392928303727,cy:-.22008954291600424,cz:.1,lx:178.79999999999998,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"5M1u3s5y7Yg9TFyx3QAJka",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:261.2270339520825},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04141185432912459,cy:-.20595859313006498,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hiA62xMKPaFVvMB4EbNPY4",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04144393579015737,cy:-.19182764334412566,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"b54t9D1QjNBLmMTU63QWVT",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04135037805808456,cy:-.1776966935581864,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"d1YSCd8j3DVVmp36H3tHZz",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04125682032601172,cy:-.16356574377224714,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"1ysUo9HPCMC5bpSzendt1P",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04116326259393882,cy:-.14943479398630782,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2GwbaiKPvFUtnmPT96gojn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04106970486186601,cy:-.13530384420036856,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jfCpXtMzyB64DGxKrDZTJ5",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04097614712979322,cy:-.1211728944144293,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"49X8WCb1TJhiSctnjKxN4r",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04165455280196828,cy:-.10704194462849004,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"9EUafkcKKdEjXyJwgKUn9F",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04393626708296591,cy:-.09291099484255072,cz:.1,lx:177.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"83ZWm7TJF8qdoueqVfWe1p",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:259.47383238193424},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04420570767416232,cy:-.07878004505661146,cz:.1,lx:175.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"iEjavascg418skk9iKNiXc",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:255.9674292416379},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04442483385188012,cy:-.0646490952706722,cz:.1,lx:171.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mEQPpZurmPLPYfvHBtjBp8",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:250.7078245311932},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04464396002959792,cy:-.05051814548473288,cz:.1,lx:169.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jXz3fip3tXcdriBZEWDqpy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:247.20142139089677},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04486308620731577,cy:-.03638719569879362,cz:.1,lx:165.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"eqHXHHJiV6yMbr5L1r1Ld7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:241.9418166804522},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04508221238503357,cy:-.022256245912854355,cz:.1,lx:162,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nX2ypmuMKZwqMh2zBmNNcy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:236.68221197000761},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.340155090410463,cy:-.008125296126915038,cz:.1,lx:9.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wnN4Cfoo6RAEcvrqb2PcCi",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:14.025612561185637},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.0008397564506628652,cy:-.008125296126915038,cz:.1,lx:192,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"41tmtPqEDkBjyum5o2HyTb",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:280.51225122371267},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.33919569243719283,cy:.006005653659024224,cz:.1,lx:34.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nUZy35meWUt3qFXdKcjG8T",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:50.84284553429793},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.01707173035142423,cy:.006005653659024224,cz:.1,lx:199.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"42nshWJYmviEWoTkQyU4n7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:291.0314606446019},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.040942647871871296,cy:.02013660344496354,cz:.1,lx:249.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"woLsJFnRDToiWqRHeJaj7e",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:364.6659265908265},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03832955601375582,cy:.03426755323090275,cz:.1,lx:259.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"co9GdUpZDxCi3rLez9eaX9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:378.6915391520121},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03571646415564039,cy:.048398503016842065,cz:.1,lx:268.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jbUV2vPsguy1CptC637MTc",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:392.7171517131978},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03645227851214608,cy:.06252945280278138,cz:.1,lx:276,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qkmUJNGwXdSLVnfZeY68uS",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:403.2363611340871},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03734260936957107,cy:.07666040258872059,cz:.1,lx:282,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6iGc4xFsJd9M2yj74iPeRR",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:412.00236898482797},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03607706284374246,cy:.0907913523746599,cz:.1,lx:286.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"omBvXRQwdAtvY6W2nJwnSu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:419.0151752654209},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.035576630292429856,cy:.10492230216059922,cz:.1,lx:290.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"86V9dMayifHM3TKqinFVHY",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:424.27477997586544},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.19735877990437656,cy:.11905325194653843,cz:.1,lx:186,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hbiQ95FcNxgSx4s8JJpjr7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:271.7462433729717},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24049456177332856,cy:.11905325194653843,cz:.1,lx:106.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nhNSmKpJTEt2hyfDoJmW3v",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:156.03493974319017},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31770381965182604,cy:.13318420173247775,cz:.1,lx:108,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"phxBsJWZVwgu5cw4g8V4wY",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:157.78814131333837},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03308870698607633,cy:.13318420173247775,cz:.1,lx:62.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"tuJ1gTPzUhawyfMHxKao6u",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:91.16648164770662},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24046099085550587,cy:.13318420173247775,cz:.1,lx:108,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jtBNT6PcfTMUK2qEAoEKzy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:157.78814131333837},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31874014769682496,cy:.14731515151841706,cz:.1,lx:110.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"3Kj2UQDiRgd2551SXnotBs",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:161.29454445363484},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.033764879795220165,cy:.14731515151841706,cz:.1,lx:44.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"39FZrG2AvYzTH8N4iEhi3W",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:64.86845809548358},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24041303240147344,cy:.14731515151841706,cz:.1,lx:109.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"oK7nq2Fur7VVa6ALjsnPy9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:159.5413428834866},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3169744670961393,cy:.16144610130435627,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fnB5YFmLgA7bBpseBoJH8k",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.036255002624718397,cy:.16144610130435627,cz:.1,lx:31.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"dZPmGJSNE99kF5mskFBu8m",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:45.58324082385331},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.240365073947441,cy:.16144610130435627,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"xdu2VhAyxp7GHG6GkN2Rak",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3148974522014887,cy:.1755770510902956,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"g7Pg4uWoBiYjTsLY8RraRJ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24100628905692523,cy:.1755770510902956,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hDztK9BKaGUf2AywiKnX14",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31399347805252253,cy:.1897080008762349,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qRpgEphc3gwtfun3kDAQ8w",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2402168091310728,cy:.1897080008762349,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"vc7S9aQUn3Nxbw9os9915M",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31380714233058726,cy:.2038389506621741,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"kRsxFHjzWbANb66JdKxPEn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23925985477458384,cy:.2038389506621741,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"p7ZRVtya7nPesW49gxfWje",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.313620806608652,cy:.21796990044811343,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mwBcFhJw4XwTYpgx3t8Kq4",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.238302900418095,cy:.21796990044811343,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6LEGw3yDjniXRNLBc3hQEt",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31343447088671683,cy:.23210085023405264,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wQatxUrP1g2jmJrfUibX2C",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23916510110353983,cy:.23210085023405264,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6yT9UzJjZp1c4agfQAh2Za",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3127806949383655,cy:.24623180001999195,cz:.1,lx:109.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sWWpxqpZqAXKAZerDK9Cn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:159.5413428834866},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2402069428031286,cy:.24623180001999195,cz:.1,lx:110.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"teapWmNzVUv7LoUgjnLHJu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:161.29454445363484},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3132410802017558,cy:.26036274980593127,cz:.1,lx:105.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"aGUWAZyZhfeCxcewvQ7kQ9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:154.281738173042},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2385564165948445,cy:.26036274980593127,cz:.1,lx:106.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"pKCiy2oM8YqTjYeCwFccee",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:156.03493974319017},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3137014654651461,cy:.2744936995918705,cz:.1,lx:102,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mtSGfTvotfJZuE5rKNWHKD",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:149.02213346259734},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2369058903865603,cy:.2744936995918705,cz:.1,lx:103.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"25YjZ6eNgXEZMpGdn5MeCJ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:150.77533503274557},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3141618507285363,cy:.2886246493778098,cz:.1,lx:97.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"3QmRQECQLpN1r5BFbEnPZu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:142.0093271820046},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23694469336187218,cy:.2886246493778098,cz:.1,lx:98.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"7fQN2CLRbYff7Kgk1L8AFk",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:143.76252875215275},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3125435243418768,cy:.3027555991637491,cz:.1,lx:91.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sok3ZhMGD367xZKYFitkd",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:133.24331933126356},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23823213095114654,cy:.3027555991637491,cz:.1,lx:93.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"knqe8wxaNzdbbkkGeV6nft",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:136.74972247155998},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3116195455554211,cy:.3168865489496883,cz:.1,lx:85.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"sJtpFF4zqnp47K3f8FHJoz",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:124.4773114805225},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23857920295070112,cy:.3168865489496883,cz:.1,lx:87.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"eenbnKZSxHXg341eYvv6YL",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:127.98371462081894},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31069556676896537,cy:.33101749873562764,cz:.1,lx:78,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rnrxkB2JpncBeLWxT29QJC",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:113.9581020596333},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23516481259137628,cy:.33101749873562764,cz:.1,lx:79.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"cZtPSF2YivPA1jCjxoWje1",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:115.7113036297815},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31044025346401344,cy:.34514844852156695,cz:.1,lx:68.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rJSTWke3wchC8uFSfcSzQ1",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:99.93248949844762},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23449459815656987,cy:.34514844852156695,cz:.1,lx:68.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6Hp4zwmET4Ch6ZFmL8mGpC",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:99.93248949844762},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3091556662900659,cy:.35927939830750616,cz:.1,lx:56.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fJ8958fxoKHVFgspEjynzP",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:82.40047379696561},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2358526876659724,cy:.35927939830750616,cz:.1,lx:56.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"1CoiFcccuM9VRQ7ukyN4aa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:82.40047379696561},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31159009373160274,cy:.3734103480934455,cz:.1,lx:43.199999999999996,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jzJ71uWBpujykTfLckxzbh",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:63.11525652533535},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23483923162347198,cy:.3734103480934455,cz:.1,lx:43.199999999999996,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qYWcALWx8U3KNV1wk9Ec8j",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:63.11525652533535}],irn={showWeatherPanel:!1,weatherPanelY:0,showDesignInfoPanel:!0,yearlyLightSensorPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,showInfoPanel:!0,panCenter2D:[39.10459750703379,-60.079467366675814,-6008213787399433e-20],shadowEnabled:!0,stickyNotePanelY:0,theme:"Default",autoRotate:!1,cameraPosition2D:[39.10459750703379,-60.079617373283014,150],showYearlyPvYieldPanel:!1,showDailyLightSensorPanel:!1,heliodonPanelX:-6,showGroundPanel:!1,dailyLightSensorPanelX:0,cameraZoom:4.904200711979575,showDailyPvYieldPanel:!1,cameraPosition:[94.96625797546166,-156.07916973403763,226.41931192253614],weatherPanelX:0,showInstructionPanel:!0,groundPanelY:0,mapTilt:0,groundColor:"#16a5a5",panCenter:[21.38313493992602,-35.00376702263927,0],showMapPanel:!1,enableRotate:!0,heliodon:!1,groundImage:!0,dailyLightSensorPanelY:0,mapZoom:17,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:0,groundPanelX:0,heliodonPanelY:9,mapType:"hybrid",mapWeatherStations:!1,axes:!0,orthographic:!1,stickyNotePanelX:0,showHeliodonPanel:!1,yearlyLightSensorPanelX:0,solarPanelShininess:0,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showEconomicsPanel:!1},rrn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},arn=1,lrn={rowAxis:"Left-Right",tiltAngle:.5235987755982988,poleHeight:2,poleSpacing:3,orientation:"Landscape",rowsPerRack:4,interRowSpacing:4,pvModelName:"FS-495"},srn={orientation:"Landscape",maximumTiltAngle:1.5707963267948966,minimumInterRowSpacing:2,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumRowsPerRack:6,minimumRowsPerRack:1,rowAxis:"Left-Right",poleHeight:1,poleSpacing:5,maximumInterRowSpacing:10},crn={geneticAlgorithmParams:{mutationRate:.1,localSearchRadius:.1,crossoverRate:.5,convergenceThreshold:.01,maximumGenerations:5,searchMethod:1,populationSize:20,selectionRate:.5,selectionMethod:1,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle"},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,inertia:.8,convergenceThreshold:.01,swarmSize:20,searchMethod:1,socialCoefficient:.1,cognitiveCoefficient:.1,localSearchRadius:.1,vmax:.01,maximumSteps:5}},urn={operationalCostPerUnit:.15,projectLifeSpan:25,electricitySellingPrice:.4},drn=[],frn={docid:qin,time:$in,timestamp:Qin,userid:Zin,owner:ern,email:trn,world:nrn,elements:orn,view:irn,graphState:rrn,evolutionMethod:arn,solarPanelArrayLayoutParams:lrn,solarPanelArrayLayoutConstraints:srn,evolutionaryAlgorithmState:crn,economicsParams:urn,notes:drn},hrn="j9Q8R8iNXqFBaujVRfHNC2",prn="05/18/2022 02:05 pm",grn=1652897143355,mrn="QWecNcxhyvP6j6sBN11hBsfZDau1",yrn=null,Arn=null,wrn={latitude:35.81284404374666,pvGridCellSize:.5,timesPerHour:4,longitude:-78.7501240418377,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"2401 Trenton Rd, Raleigh, NC 27607, USA",date:"4/15/2022 10:15:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},vrn=[{cy:.10173433320329936,normal:[0,0,1],lz:.1,ly:51.9907667035674,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.005905293451752419,cz:.05,rotation:[0,0,0],lx:75.61279135922823,selected:!1,parentId:"Ground",locked:!0},{poleRadius:.05,type:"Solar Panel",lx:1.984,lz:.046,relativeAzimuth:0,drawSunBeam:!1,rotation:[0,0,0],ly:21.648,normal:[0,0,1],poleSpacing:3,cx:.08211037572567748,trackerType:"HSAT",cy:.2234368441602269,label:"Row3",cz:.5000000074506161,orientation:"Portrait",showLabel:!1,selected:!1,poleHeight:1,tiltAngle:0,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.16248436170569222,cy:.2234368441602269,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLn1japfJEgTKBPWbNzur1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.23879905546449415,cy:.2246175890711455,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xrAXVLJvJZKmHgq57E2MQB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.31836118300026617,cy:.2233645095937837,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tRW2bpMcmbgt4enWCcDP51",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.39629959364755313,cy:.22343686243351435,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tJsi7hiees32d12b6mBMhW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.47586172118332537,cy:.22461757079785805,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5KhMg2uodxoo1Z4XL87XGA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0025482481899054073,cy:.22225611752259564,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"26aZGW371fb7o1PfURQ3zg",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.07457830401313895,cy:.2246175890711455,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wUt5FR6ocPi4PpiJnSm7dt",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.15495228999315366,cy:.2210754091582519,cz:.5000000074506517,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9KjddEKBMzvacaiu1qXZ6p",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23532627597316833,cy:.22107540915833737,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v1S992hiHrrXWRFsDpx8ie",selected:!1,drawSunBeam:!1},{type:"Cuboid",cx:-32.63845852923165,cy:15.792302218810745,cz:1.2553344031996811,lx:5.133059413294499,ly:13.392050108713438,lz:2.5106688063993623,color:"gray",normal:[0,0,1],rotation:[0,0,0],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",id:"1x2m4C7FHzAwDkHxXXdvsn",selected:!1,locked:!0},{type:"Human",name:"Jack",cx:-28.54553838833994,cy:11.2385720166683,cz:0,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.46971942316836673,cy:-.2583893879929419,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5MXRMjMkweGaqcjbtGi5WU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3904301692588086,cy:-.2623054559086292,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9xkDVHA2779LgaH8YdZCmx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3131409153492504,cy:-.26022152382431646,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mN37zmeNfQecDk9remsomw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23385166143969227,cy:-.26413759174000373,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e3Pif4TuZ9DpVbtnBEVtva",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.15456240753013412,cy:-.260053659655691,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g39HnTg7UwuA8CBPjuTqTF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.07527315362057596,cy:-.25996972757137826,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oFMzredZvfguD3UXAtxX6K",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.004016100288982194,cy:-.25988579548706553,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2ABmv4sfkBHxsAyYodagum",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.08330535419854035,cy:-.2618018634027528,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k577u5kHuxBEHJLmRQtnAz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1625946081080985,cy:-.26371793131844007,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w4he3pd3YzeFnd3X45S2gw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.24188386201765666,cy:-.26163399923412733,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pyLs3bLikRTcZrrF7e1TcH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3167669019313885,cy:-.25817391579286053,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6wAigPY54YvU4hpiRBKYf4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.39751068943275564,cy:-.26121089229567773,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iTsCanVgttoMHWKMPD8d5z",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4775584098004903,cy:-.2553834493088245,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o5ef4DVoUQeG4ovcxCKPpK",selected:!1}],xrn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:20,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[31.151690262644525,60.08959522074622,31.574651861408782],panCenter:[5.074127461000436,15.829331204955876,0],orthographic:!1,enableRotate:!0,cameraZoom:19,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.577303319163851,-9.663080657094188,49.999990336648274],panCenter2D:[8.577303319163851,-9.663030654871722,-9663320744681337e-21],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},brn=1,Srn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Trn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Prn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Crn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Rrn=[],Hrn={docid:hrn,time:prn,timestamp:grn,userid:mrn,owner:yrn,email:Arn,world:wrn,elements:vrn,view:xrn,evolutionMethod:brn,solarPanelArrayLayoutParams:Srn,solarPanelArrayLayoutConstraints:Trn,evolutionaryAlgorithmState:Prn,economicsParams:Crn,notes:Rrn},Mrn="axSGqNWcpePCTLspRawDR9",Irn="05/18/2022 12:07 pm",zrn=1652890029091,Drn="QWecNcxhyvP6j6sBN11hBsfZDau1",Ern=null,krn=null,Frn={latitude:34.661401193155264,pvGridCellSize:.5,timesPerHour:4,longitude:-118.08438229389954,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"3782 E Ave L, Lancaster, CA 93535, USA",date:"3/30/2022 11:30:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},Lrn=[{cy:.07254451818739938,normal:[0,0,1],lz:.1,ly:81.92819197480188,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.08412023344924435,cz:.05,rotation:[0,0,0],lx:82.66288858793011,selected:!1,parentId:"Ground",textureType:"No Foundation Texture",locked:!0},{type:"Human",name:"Jack",cx:49.29766862442634,cy:-12.729504090108108,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.45},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"AADAT",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1.2,poleRadius:.05,poleSpacing:3,cx:.2518807579243098,cy:.010250386487824486,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5786gicyfJksUGkwhvexAb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25427388005268026,cy:-.04395224581399519,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k9w88akkXvyeym1nEoJCjH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2566670021810507,cy:-.09815487811581487,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i4BrqTV8VhJzUFMcA4xEMs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2530944088658749,cy:-.1536069244602506,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vcRG9TH79RxwCJhnX4D2hp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25192019869553334,cy:-.21079873518169914,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtH2MUzGv2KfYvP1V1Rm6A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.19991063417063695,cy:-.18536196640558186,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wv9ywiGPQRmqsVCgAzNiwq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19064139133153096,cy:.15891530324997943,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ucdEe1iLcEHHhf7vQqUUBk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10269156717338637,cy:-.12788362495230762,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iRH83oBMSFMwbXKKj29Qwe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10314333812802398,cy:-.013487174391434594,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eQKzkcGn74q7YicXK2W4tT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15886708542833353,cy:.12620926239733848,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dDRJL26Ytf5c8uDCiZ3aXx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15339180094769295,cy:.06763384458981574,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5VPk2zFGHCYnEvmb4Swkfx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1533504351516886,cy:.011186366145812043,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mWLpnzd5GQucX4FdT7Xfxt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1555155212376684,cy:.24112965852461848,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8fafEASeWSKzVyfD9jxhX3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1589318952851763,cy:.18059187676792832,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8oEiCQAuNSHPSDiR6LUNbE",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25484854246591865,cy:.06997519331444636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hS7hPBhsXEFxoPaaW27Bei",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.058180152618152965,cy:.12709108304539296,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eBcpt1Wt3T5EkddP5aWE5r",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09325025604322237,cy:.0983124515002669,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rVyrwEiwe9ZPbBS99cPzQZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14277629723213114,cy:.015285529455875321,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sFJojw9tEoGQyahPFbrMGm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04294631891940937,cy:.06901057210886578,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ekjGZoifbx54ZxvxR9nd4Y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2920444708915642,cy:.04225008319918739,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3BDM99QnBLCJL4C6i8MSSs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2886934107606972,cy:.09972897002350474,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gEHyNnwSt5QbZ5cmLo61av",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05646578271859648,cy:.06997519331444636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t5wJr6yXENMUDnfPe9dKk2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.041385173102717936,cy:.12610163574289743,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qXjk7hou8dch4h29ZdrRwv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1923023384210398,cy:.10145193857791704,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hyHFcJjhpxKcY4WiqVxvnY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1895020308870361,cy:.043602527595053696,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fYZ6sBUNi7ENt9JGidVuq8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0896200750136689,cy:.15848596846951796,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bnwN7888LrQM7dC3CaukC4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25776231965010593,cy:.12762742673544877,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMTxMasD2j1rCN41KmcoKf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2045542377026502,cy:.09879647040569517,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jK4TDxAWQQmZt76MiUgYBj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0915388849864329,cy:.04212814396977042,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4AZoM6mfHgnqyYfm1FKGHz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1422836298066917,cy:.07046201484554855,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2LodiR2ATEwXvrSF5QtqFJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0422721424424923,cy:.011806515962473143,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cQzP6z5hZLemyfnuj3n9Dm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006994600101448293,cy:.04312289956203308,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oz6Y5UFdG5kpKdrsZGPPHy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006994600101448293,cy:.10028772676757898,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jDhoFMd3Yqniw6HmXCK6PZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10700608746564778,cy:.09929355585965646,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9uyqQ937ezx3VdDJUFfzMi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1065134200402084,cy:.04361998501599436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8GgRE418BL6BVETxL6mwZ7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05527600779451013,cy:.011806515962473143,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xu2mR289eySb3y2d1ZZWgf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2060322399789683,cy:.044117070469955603,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u558xjFbFWRjTHBfoZjc3B",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20553957255352892,cy:-.013047756735590265,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"st7NYqMPZnkacwsV9fNrTW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15578016258414895,cy:-.04436414033515022,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1H39aeiRM4xc1iUZYtAB8W",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05626134264538889,cy:-.04386705488118897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"66Y2RUGQAkcJg6mWe5jRG5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10552808518932955,cy:-.07319509666490383,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8mkhtM6wG9Afn5AsZkJC3p",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10865037816756891,cy:.21407673957857115,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmpLZMvpnpGmUxvk5iTgP1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10865037816756891,cy:.15762154422622862,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ngNMpaj8EwRBxMeWvoeXys",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057634016263961675,cy:.18418869498027218,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"giC1j5cUtWifw2JwH5a5bP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007440498907186952,cy:.15762154422622862,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rs1mymysHmGoDcaan4oDsB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04193017390275545,cy:.18584914190239984,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uPnwAA4FcFWHA7FqJJGQae",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2065688792406212,cy:.1567913207651648,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6KPu6mNrxywNai4UXzGBJ5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2567623965973961,cy:.18501891844133603,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1n372FWqJ9pVPw4eSXYmPV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2065688792406212,cy:.21490696303963497,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gi6tkDKs6NtgCMAAReWJAR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.004971965266689796,cy:-.01340448875292641,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pLi7ggTT3PqwKQBJVjuniN",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14231720861630498,cy:.12856372308899353,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iXLnMRMrRjtjArqFQVcTD3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24023570968935748,cy:.06961785735345952,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9g2NFucTWZE9VvPJ1U9fnX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24270424332985463,cy:.12607305270580196,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e6vsB5ZrLgyMEs8nt19DUv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09459222490002743,cy:-.012574265291862577,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hQr9Fef5Fh7zxEbLkL1VMo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04357586299642019,cy:-.04329253335122541,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fJiHeWQvfcH93LJDacJ5U2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006617654360354536,cy:-.06985968410526895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"av2DnyKiv87Tdt3JFpxyHB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2057460346937889,cy:-.07068990756633277,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tzhyrWaP1ZqrN4rpJQBLcB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15390682824334934,cy:-.1005779521646317,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3nRRF2j6QrScDDkbrs6m4a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20327750105329176,cy:-.1296357733018668,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7y7rBQL5vGHMt8ZANGKmdr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15472967279018185,cy:-.15703314751697414,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cN1AzorJdqMR2VPo9KVZma",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.055165482623464525,cy:-.10306862254782327,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dfu9LFXVjUWPvnPcDkjy6R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1390685759174889,cy:.1852541725070993,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rxx1fqNmXiDTg1ZhJ1QnGn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09067926762777045,cy:.21416267146874132,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8SRi5DvvrpV4dNgiTvJ9Je",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00800945322626064,cy:.21480508255677777,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"266hnZ1rnYA5XLvbZ8txcr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04147760940199774,cy:.24037406770776895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7vBjqcNWEe5WcN3ZPbNV6e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.058580287492818954,cy:.24037406770776895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"syucoPsRr3v2eHQaYYfqug",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007769636725919854,cy:.27113384694018494,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kWziiofHHGucoQrSYimggR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057016882853837374,cy:.2987387770205583,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"idtAosKbm3W95AtcEbYCdb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10782753362073655,cy:.2695564223641636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6xoYbDnXopc3sxqZhRMx2C",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10860279827645342,cy:.32854167949809765,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bpjusQDMhzuD6wY6N7LYpe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1592693110228126,cy:.35588539966209315,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tX9ZhVSGraSP2oyuKxZRks",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:.30000910193566754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n7JZKTvm9Z74h9Q2sTZDE3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20875753277507064,cy:.272665381771672,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"edXx1WDDhJHy3n7mzY55eB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20522265979276647,cy:.3297305368965322,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpFtUM9gLUrhBCuhPrUxch",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20757924178096934,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pezhDsUoQ6nUspAa69MKkr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2570674635332272,cy:.41413941218538786,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oM9xei2CxtE8z6PBbtfg9f",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25588917253912563,cy:.3546965422636585,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"boLotmiivinNNHWUkJNPK1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2570674635332272,cy:.30000910193566754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gy1y7cW6cjooGgNpDRcVqF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25588917253912563,cy:.2405662320139381,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xnSPHfaBhXAD7ssnz5CFcM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.07055962403779206,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"khKhaS8ssRAseSkBgDXTD4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.012305611514497291,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4Z7xaYhMGZDK551XajN4xD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.012660393852629088,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w29qA4SyEe8XYJFPW7NZFY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14237318346714029,cy:-.04238182881349372,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xtibwmyRkGDZD1aXvyKhQs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09170667072078098,cy:-.07210326377435848,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1PogYHu7FjwwFaSG7CbAN4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:-.10063584133678857,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iPqMK3ttEsCxnPof1ShTJR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00726977278373475,cy:-.12441298930548035,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9GmoNmHrHgvD95Qd2V3rCJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.056757994535992624,cy:-.1588898538600834,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kuKrRiiiHZzLJDtmorgeuP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10388963430004787,cy:-.18623357402407878,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dNLLoyzyJAC4ab9yNV49YW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1545561470464073,cy:-.21357729418807436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2K3F8F31VVhyhEKnxs3Erf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2016877868104623,cy:-.24092101435206986,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fDAsp6SESYssbfVnpQgG3D",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:-.2718313067113691,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2zKUQEiEH6NvsSMtHEjR6F",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3030208123031809,cy:-.1850447166256443,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w9y4ucdHTVjss2inC3NCUr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.23950929397792342,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rbco6Y3hA3xGnGqyMDpR5N",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.3006836542668394,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3ULG8zNaZ7DoT4B28Qot6U",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.1276476065924771,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3AUeCn3oqRmECRW8VZWFNk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30218309151864386,cy:-.07084284346705509,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aQpjCoWjLCxvJeQv5oUMVb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.01403808034163304,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vBbWMduvCeR6vTDiguHAbY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30304924367320435,cy:.04364060221648771,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"okZoQ3ysJTWRd5qkZTjBii",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30304924367320435,cy:.0986975264765121,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vb4fTp2UdSaTbvLvi9dHuG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.15725012846733166,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8wtcFzrh2coJE8Az2epH5T",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.21405489159275365,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cV7ZMqR486KK5uKiKyHsbD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.26911181585277805,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6NYbyBHAQVquv8YKDCR6oa",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30629425197116866,cy:.3273569087969701,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"snK592eqLd3gtZUGisH7Bi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3052840147301011,cy:.3874954089039585,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k347z912Q33SPm4HjDf6Ts",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30526315555234357,cy:.4432203131739659,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fbe5VKYd1udpQPzu38HQ7E",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:-.324141032242491,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"swtWVRnxgYawbA874SNx1j",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2994859393208767,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5S3HYU2UW8isQw3SzAvJM6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.32889646183622934,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JQUVSMiMnHRjQS21Wnniz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2KniKkjJuWzm1bjpPzKSFN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:-.2111995793912052,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wwTA44T8asPKftHuSv9Kxj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.35133074306133744,cy:-.15294556686791044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t3E52wZbbHnADbh2UbMakk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3501524520672361,cy:-.09825812653991937,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"va5gGZiucR3BZro2UmUfwP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:-.04000411401662455,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bH3pA8zNDVqLrfvegAx9xh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.012305611514497309,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"juS4o8FwY72f2ZGpUyJTFT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.07174848143622668,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mWzf3i5nYWUXB7AZpupMGw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.12643592176421772,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w3LD5JnAsnpX4oBsSFDj3R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.1823122194906433,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aYmwXUwtmrJa7BKf4smZKd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3548656160436416,cy:.24294394681080725,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hsDudJG9V3zUGU3c9JEDW1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3536873250495403,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"93uFEA1egTtZQgpK4YcPrJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.35707425706052764,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u3Q4mYsqDTVks8sDVy3DEP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3548656160436416,cy:.4153282695838226,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6riq3e9uC7h5gp6Zomw7hq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:-.015038108649498227,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rPCnFh8P3Fbb8rP7NJpXsJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jzhnP1nX9SurbY1UtSQfGN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.0697255489774893,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pY9hiMs2za6x5s29sH6TC2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.10182469873522315,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7QH8sk9RVXWAVfxVKeVt7q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.12679070410234947,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sGHLds88BbZkPQYtZDaLUx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.1588898538600833,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"99eVg8SaLEcFCJMaPWXD8n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00726977278373475,cy:-.18504471662564428,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"71eWvY68edyj2BgXY8WQ4o",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05440141254779,cy:-.21357729418807442,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7cCL63qwoUHSbtu2cHebcT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10506792529414916,cy:-.24329872914893902,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qibcJYeM1UJiSYmvPBWTJW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15219956505820442,cy:-.27183130671136924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"94NK21a9LTKKEhFcnnw4vS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20286607780456356,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ctBifLhmGgP5j5rfZjUDLe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6eG7N9xmRDsFuyZqn8egmG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20875753277507064,cy:.4438608471462526,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fmhVUSuHzAWRC1bU9xS2gN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:.41176169738851875,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sakLKAcwmQ8kEENPFgVJs7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10978108927055467,cy:.3832291198260886,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3rzPNvgYH4pwdLcevFMKV3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.3535076848652239,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1iMnenTQz4wtpVYNe7J99s",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:.32854167949809754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o6xmo5Pn4wef9kZe2C6xqZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:.2964425297403637,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1Hb1yh1DVHfQP14FUSJEpj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fWLDpBHepwmvJCiLxMU4RS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:.24056623201393804,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cWx48TmtxbDy2rScmVSy7R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.21678908404524636,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bFFj7b63cxrmzb377KjU2M",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.18706764908438164,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mAx1Vzsd2drZJEgWexVM84",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:.15734621412351696,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"46a2ja51RhKgBss3KCVLnt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.12762477916265227,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tUaAfUGCxujqu9Y3vxe3yK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3909925832225313,cy:.09909220160022218,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7a2AMmJ4fbqLMH45H2iCNA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.07174848143622668,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kkUqgHLFPwyrfMCV6mKfD5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:.04321590387379655,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gAiz2xxrUp1UfsRWXcBSLS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.013494468912931856,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMdBxe5wEMLJ9PEggVeAu9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.03868357598621893,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gxnEnb3NzQY8Ge8Jm8SA7f",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.011982936760140374,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sybUdESzHSnVaXwGfuQ7wf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.4129505547869533,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aPHnrEqwvsnVWtCHhtBxTy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10742450728235205,cy:.4438608471462526,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wxemx2DoJf46iBNpWXybjK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08935008873257824,cy:.32973053689653214,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTFnxGqojRvyWxfgRvtskF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mzpfv3SH2Wnh3egtjjBKvT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.27028766697480283,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ncPJvuiPcTCVtFi2He6gAs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:.24056623201393804,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6uuRE7GHEcAEe4K7GVHngk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.21441136924837714,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wHfsLSo1vVCiKJ3F2NUC8n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.1823122194906433,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ebXYmm7boDVkw8327EMtzH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:.1549684993266478,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rsxKthqzEDpLfcWrcWU6dN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.436945931992485,cy:.12524706436578312,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pryGHMWa1mhgMofvvUeLdo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4416590959688905,cy:.013494468912931856,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3FLYvn8ndZAh8K2QPPyYxf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.016226966047932775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a8jMxMQHGxEvruq2J4uUU2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.044759543610362974,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dVQN7Pi8ydDNrsoiF2hfZe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qAgJ475UJeJY7FPcGEdpNY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.39217087421663255,cy:-.0721032637743584,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dpAxQujNQAySa9aSeZdEoX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.07091440637592385,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bYHHa97S8RXp19NoqTvPJr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:-.10182469873522315,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6SeEC7fQCdKXPjZxSsdZm8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.127979561500784,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aRFAARutT3NYzQH7JngjR9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14237318346714029,cy:-.15770099646164876,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pgXWnPt5iKo75wpgk8bAas",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08817179773847693,cy:-.18623357402407884,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vfvvk63mRwsRQ13tLkM2Wu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.21476615158650897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4VAyz7v3pJ4ecCEvKkELct",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0049131907955319975,cy:-.23973215695363526,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rXXDtaCQ441CBebznnvwVP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05204483055958712,cy:-.26826473451606536,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8GbJtcsWZn3sFCVai2uXdu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10506792529414916,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkJiqSfGcrwkF7R5W6oWrR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1545561470464073,cy:-.32770760443779473,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mjVgFDC3MuuSbrQiLz8beg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20050949581636093,cy:-.35386246720335574,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eZQnyiKuHTgpriho1XTkFq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25235429955682165,cy:-.3871504743595241,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nnhD5KcBckk4FAXqgrJz1m",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30184252130907957,cy:-.4121164797266506,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vddHcoVWtVSFne7zHaZDoV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.041040157974421676,cy:.4129505547869533,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nthJ9ZXFLF4YVLkK6FJg3G",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:.38560683462295775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pHpx6NN38VbLKsAdjvQq5X",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.3535076848652239,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tReNdr6BMknW3pKaaKgT2r",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:.3321082516934013,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pky3qKmcQv6goYMFfPrQyu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9Gh4oxs7xr6bu526hDNvv2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fxzu2mix8VrfcwwGyVpWmZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.24175508941237273,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e8sL54r9712juxaxDn8oSw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:.21441136924837714,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kNyq87ppcAxC6iAJLfFYPn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.18706764908438164,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3uTywdm7RShuhnZCn9reC",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:.4426719897478181,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pJncozy6Rz8EfewNTzBV9a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.41413941218538786,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vvMUbsrcSiSjwP7Y5tU1LL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.18832653223709409,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1G8NT1Zoz87anyKBPQsHLd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i9YQqnCZv92BFJFHn7cCiB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.3261639647012283,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s3UMZ6yA8AhemDugYV8vL9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.29882024453723294,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iE5KVmshBFmCedVRvmAraQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSoRZ2ohopc3Uk2eEhsaXz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.23937737461550349,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tRnf3HbPJnHGQc3C1tHrm4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.3000091019356675,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5GNzWP1xJUZHh9KT6YRFV6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:.32973053689653226,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gYVeyGSA6dumwRgt46oGj8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3SLWKQyMH3qNnSL8cb6Mxe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.3856068346229578,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o1MFq3LbkcxftPFeSVY2YQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:.4177059843806916,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1x2T8djMTuLWynXEnNgMbT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.44267198974781796,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ccqgw8SRNmHVUFFbXRyYT9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:.4450497045446872,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"m1JXedMn92Urk8nE9oPJHC",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.4141394121853879,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o67PeKaAkvwQrD7JVLdGYg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3862794192461258,cy:.3844179772245232,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bkfCZxyk73k4a4vrgwaj4L",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.35469654226365854,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vrgCite9XpUW1Cq3PuWhba",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.4188948417791262,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cRNc4mNhvgSvQLUkp5faWt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:.4438608471462525,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5xRxzmnaiMp3ypfUVQBWr3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.010804645766038935,cy:.4438608471462525,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5CzxLZbvH5PomobdfeXNZp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.44029427495094886,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9h3yDXtr329orX1FLE5i63",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4031755468017982,cy:.3844179772245232,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7nTZRLPEdEtBjmsWCnB26y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4514854775599548,cy:.4165171269822571,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abEAsj1hGeo63K5YHetkKr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4055321287900009,cy:.32973053689653226,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hsqeY3fPZZkvqziKNEVVas",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45502035054225903,cy:.3582631144589623,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dCHY6fHL88UK5U5JeNTwME",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.4723934247086827,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8a2tR8FURhfjJTiYpNfCzv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.10063584133678853,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3TNP5AjyGeTgzNXWzYVznQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38510112825202436,cy:-.12560184670391483,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"saWHMFZynA21qy5pjZ1rg3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3367911974938678,cy:-.09825812653991942,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vYyqsMkXopji3o4ewZDzXj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.15770099646164878,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bDcv52Ek3SJZueMz72m1rB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.18266700182877516,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pg6C9LvjyDQAKpVjTFWKhm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3426826524643748,cy:-.15413442426634502,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7xxy5WMi2eRmAFJQd4PEpL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:-.13035727629765329,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bKrn5V4VqTw7TEK7QKYeA1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:-.21476615158650897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s6CxUXipAWMWAd8W2jdPk2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:-.2385432995552006,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7pEWxcY19Ng2hczQx4C5sh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:-.21238843678963976,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rqhBmqo9RCaSK9b3hCeo3X",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.18385585922720973,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nbbJ9oZ8jEaCweY8WgVHtK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.15532328166477963,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5DwWFBTuxqVLf5FzhT7Udm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.18950482323119552,cy:-.18266700182877507,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n5ksBwaEKwnY1T4um6u5YV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:-.21595500898494352,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oRnvwa7g1CtYiocfQSv6ZH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09288496171488242,cy:-.2421098717505044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"szeJxCXxaL2e3RjfwM8x47",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hFu14KzwBM87w56f6Cwr48",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sQMsnkxn9T5AgrjfJHH51n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05557970354189131,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7GDJiXyhG6C4hNkW9Y5KQ1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10624621628825073,cy:-.3562401820002249,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kRdHgfFG6booP82zfM58L5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15337785605230575,cy:-.3835839021642204,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5bnXwcCDLMuTi7NBVNs9wq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2016877868104623,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2cSu4Me9dQhmQX73fnfjcT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25235429955682165,cy:-.4406490572890806,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"epJz3sQxCaTSmtVk8L41pY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4416590959688905,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u5wXENdced4NnZ2UpBvdUR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2dN8txQPwqUuXJ6MvLow8v",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aCzYNDZyfJEdri5oFDAX1A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29201613971801543,cy:-.2421098717505044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xw95hcJakBfeUDzB5drZTb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:-.21357729418807436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7aFDGFAZUmGKJWfMUn4u8W",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.2385432995552006,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wYpaiw5NjZeqmt9x2asvgE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.2742090215082384,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bSFykzxR6KFC6U5RmABfAo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"td3wNUExEJkcF3U68VMTCS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04457503095672587,cy:-.3300853192346639,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gqiho9LGuhUyb3Qus7okQR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2931944307121169,cy:-.295608454680061,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kqCmYed2jAt9y67YpwCDE9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dgxBqcP8E136o93HKbnb5Y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.436945931992485,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d8xVLuSbdR3ZcdTaGVf3kE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.3574290393986594,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mE2ubFBooCHdCnyZX6Q2fn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.34150436147027335,cy:-.3300853192346639,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rNH5NZ3ioMN6XFUt4UpHjp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ov1As6JoGWeAANi2w4bAzb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:-.413305337125085,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9AGm3XGuztXYa4ZvvUC2qU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.44283738696299196,cy:-.4454044868828189,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"whp3eTFpZtyHh6MmQTeqsP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2tivptcQ7UJFtBc3QNMdjZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.3538624672033556,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8BKcu35Qa4TPVNvr9QNtYS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.32889646183622934,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s8GdNU4Xh5bDiYNyPpM5c2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.295608454680061,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"geLZV2TE4SAkBTxY2H7z9C",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cR5NttdPtQtKZ2QuGZ4cGY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.3586178967970941,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kb64JmF4g2VHNUXt8PGp8P",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ohyVoqyh1fSJAZvoWLa7xg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:-.3883393317579587,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mam3m1MFMR6QYaVhMhUf61",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9otfxK8a8saUXNrV48ac1S",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3450392344525775,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3FE8UkdGNZdxozENEdAKLF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:-.4679927774530761,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1itKaxAe6PPjB36Ct9WPbt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mEwqoN1Hgzq1sZEWWYtYiS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mvPqyD2QhB4pgXGsya35Az",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.3859616169610895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"icedHX9AjRRV6K9qLRi8h8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ixMrfpnNCx2pzdbjNDcETK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04693161294492862,cy:-.38239504476578573,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fJa1KgR4efS7rdWz3c5ws6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"niDVT6JMXYiQ1MfkaVXBh2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.4679927774530761,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9WTjUWsouqRDt3WAX9og5p",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.46680392005464155,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gJWF9BbGWqJ5RiBTFKBvEy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8vSWbpHRJezXwxg2bzLK15",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.001378317813227938,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"89LTrNQMYLBWkUr8q3zs78",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0025566088073292518,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mG1153YuBpGiUTcG3cLKhu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.053223121553688676,cy:-.38715047435952415,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nzaobVxpQX5ZDLxNtod1tq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10388963430004787,cy:-.41092762232821595,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"prucxap8in3eRt1hXbqSZc",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.050866539565485806,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o6dCXRccq7VrMuTGUAMf1h",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:-.46918163485151065,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1CeJhTWdV6HVNMGZiebhVN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10271134330594656,cy:-.46918163485151065,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iuVig88Eryb498jb2o9hv6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pDU7v3xRa7tyafHMTVQfHP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.19815291382815808,cy:-.4703704922499454,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"igDxZaX9vHP2AWnmuk7rbE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30302081230318084,cy:-.46680392005464155,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hpSEihRmM4bWqGtADkL3iV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3501524520672361,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k6hVcQ4HsjPmK2AMBXFwSG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQWMSf63o2UZvbixbJ7x3a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.47001570991181346,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iHs7hh1fgkTvcFjQGp6vdU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ikwnSMkfVme9m36c4fdgzZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15337785605230575,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3BVEG2ZatFh5rurg1BfDQ1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5TTwQeht2y67yFHpDwk7SG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qt4yLExJpLTBowT6VPA2t7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14472976545534302,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wtXgsveFPNuvG8yagrGhjX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.4664491377165097,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jCucxgVjuLNfUB5GcZ3GBJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.34150436147027335,cy:.47001570991181346,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bvUs4vNUy7rjJ8wRozhXzH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.2702876669748028,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"21jCj69kYjWbi43ijo148n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.21084479705307344,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"autBoAyzdvNAZVDtBQh6h3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.1537796419282132,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"opKFYN72H4nWcaRQ2QPip7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:.10028105899865679,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"66RKD94s3WovZtoVdR4EhK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.04083818907692739,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t1o1k82fPneidh8LG91KZ3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40199725580769696,cy:-.016226966047932775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q8YoP7VA8Cq7aoqvmhWueh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:-.07091440637592385,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d6BxohUXx7jMxtc9jXais2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40081896481359536,cy:-.12679070410234947,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"akDuRhxwpxoj2z33rJUgJh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.18266700182877507,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hzYm1dhZ9LLt7sqemmYCDs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.2409210143520699,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ocH8rQddgtgbqC8pcEacuE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uF9F47Z6PqiJhWoStgn2uS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.3574290393986595,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"92fYhQy7HvXbtXrCyTCqTH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.4097387649297813,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kUJd8a2SHxduSfAvQGLQfS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:-.4703704922499452,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9XaXTUvPm9yFtUaW2Ye2sL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45502035054225903,cy:.30119795933410204,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cg7BBRL4WcDqB8yp1B7o8a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.24294394681080725,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pAcNoDp7ir4EWPT9j9kq1e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4514854775599548,cy:.1870676490843817,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8nXK8m2dvdiFfCKeR9nLWj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.12762477916265233,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eP1EoT59gCuUXxYM4EXHzS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.07055962403779206,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1gjtQCskcuhbhwoNpKGBt7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:.012305611514497309,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jimkC6zfk4aDVcsqbirSS1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.44677231358354924,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vvgZbtsp1caVNW8tZNWHgJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.09706926914148485,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uAVWMCSJd4PAg19UJ7o6xs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45266376855405616,cy:-.15888985386008334,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ncdztpRTU1hDfYCvqpzcT2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4467723135835491,cy:-.21595500898494358,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bRuvkqPWMiR7YmistgDHNL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.26945359191449997,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5qeiecJQD6oAbtikN5hs7G",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4491288955717519,cy:-.3265187470393602,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"acpCXRHPZv9nQZjdjiSrj1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.38358390216422034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c6tcyDJgJPeoowWMPezdUA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4491288955717519,cy:-.4406490572890806,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3tXdUQvFc2DWP68yZ3S37u",selected:!1}],Wrn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:20,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-284,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:164,groundColor:"#68ccca",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[54.58775332762295,-93.02576361051297,20.93606976764628],panCenter:[14.588117257653206,-3.3871234541530884,0],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!0,cameraPosition2D:[2.3674379904539022,-.42904140754321896,47.99999957096287],panCenter2D:[2.3674379904539022,-.428993405410401,3192361204877974e-22],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:8,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showMapPanel:!1},Nrn=2,Urn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Brn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},jrn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},Yrn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},Orn=[],_rn={docid:Mrn,time:Irn,timestamp:zrn,userid:Drn,owner:Ern,email:krn,world:Frn,elements:Lrn,view:Wrn,evolutionMethod:Nrn,solarPanelArrayLayoutParams:Urn,solarPanelArrayLayoutConstraints:Brn,evolutionaryAlgorithmState:jrn,economicsParams:Yrn,notes:Orn},Vrn="9J5vzBxZ8UEKUiQGnyPEwk",Grn="02/03/2023 10:36 am",Xrn=1675438564802,Jrn="QWecNcxhyvP6j6sBN11hBsfZDau1",Krn=null,qrn=null,$rn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"52 Grove St, Lexington, MA 02420, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.473578752859865,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.23642289182585},Qrn=[{type:"Foundation",cx:.18907611516527822,cy:-1.4953477366662633,cz:.05,lx:142.99409463043497,ly:14.49686547290569,lz:.1,normal:[0,0,1],rotation:[0,0,.17972820802569928],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"f1wuYrFxWZKMD6aZyPACDm",locked:!0},{type:"Wall",cx:.1229949609826312,cy:-.09586926546103025,cz:0,lx:141.43921506444258,ly:.3,lz:5,relativeAngle:.013431200616335025,leftPoint:[-70.59023385930746,-1.045689943643172,.1],rightPoint:[70.83622378127272,.853951412721111,.1],leftJoints:[],rightJoints:[],textureType:"Wall Texture #9",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,.17972820802569928],parentId:"f1wuYrFxWZKMD6aZyPACDm",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"2yrSxZa8P37K2Wabhhsob6",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,color:"#999999",fill:"Full",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.4638388297765159,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"6TnNeQH6erPu8fzCqspsQz",selected:!1,dailyYield:6.733366737790442},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4638388297765159,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"gu6EsH65oiQstx8yYjxsYM",selected:!1,color:"#fff",dailyYield:3.991431891754075},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4638388297765159,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"94hqXM6tCStbzXuLLtVMBy",selected:!1,color:"#fff",dailyYield:3.989257482553087},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"aS89FFbHtiL5JbmajBYETF",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"iMsrFuB8C7dYwSkPYpkRyx",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"djV64xj6hwTLYAQB2N8zw1",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"casseicLyjsxNGnJT7DvaK",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"ufBkyVjzMhQN4mEaVXo3EK",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rG69gXx8zf5z7bd3jLid7p",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"4mhiWnxVt3aSMz3WDvtVwo",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"cfXV4fZanitQvrNsdxnjDu",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"afxfcWAVeGHfrBf7ddtQkK",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"taypcJAabEnqBDqf3KAcsA",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"5VSFMaiUtr3ASxPZrLPaqP",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"khqKJ2jxRFmMw5yFH4HvBM",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"45VggV1fJxeJNM36B2hiQt",selected:!1,color:"#fff",drawSunBeam:!0,dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"soXBAY8jJsisj3Xad7rpuD",selected:!1,color:"#fff",dailyYield:3.880541409581155,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"sR2RBNakCEySyoLGEeeZb7",selected:!1,color:"#fff",dailyYield:3.8640428284166424,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"iwZXtRNQgv7fvMRfiFZxuv",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"wUSzVi6q69sDd7Y3RV7XDc",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"g8656tJazY4VvwetGnGz1R",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"1BNASUXS635gRH1Xg45X8c",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jqyPzfhR61a76okfZpf812",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"gxBypDUjEGfJT4aJY4HKEm",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"tzyoRV5o5Rf6T7A6oU6yFQ",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jGQqULp9xXooyUSarLteE1",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"c5nbEjzq2Budgo4DrHmjRz",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"7DRo8NdVHyNoN6SCtArVVd",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rq26S8tSgsT11vC4noGToG",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"4ZMNCLswMsFA8KarYUVw1G",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"22DFqVGzrGpriDvT6ouxg7",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vvfCJue14aYCZ2L5rcpewf",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"hhenx4zMnvUHuryKk9FFB8",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"tNCMqiL9tn5diapj3smKL9",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"3GsZ7gQePP2KmUhz3ysWpz",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"qBPNAAa4HnjwBJ2TFMVzhv",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"raUT5Fe7Z4gk2QVK2yVSap",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"18BeCBetcY2SnC96NdiyGR",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jJw5xahWNQv9BKodgpDQUR",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"1MiLx5fG5sgnXzzKVfatuF",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"giGW7icqfR8Ad9ukdMMaHX",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"bYrSiMQSXtGa7p4zv5yDGZ",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vcPTnmFnHZYKsoYKkBcskf",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"cAD7dLSqyYRtYyQsTG2mbb",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rTvMYE5Z5kwPgoWKh4kLzb",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"k4ZudXKEZmAmfbUvaCp3Dp",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"8hVfJjo52dDJLo4AfmT3HK",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"9g31dfD7wp3rjSRfYLZJ2z",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"sxZHfHVk2n5kbhzY3hT2zd",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"nA54BbzpGLqh5sWi7osbnq",selected:!1,color:"#fff",dailyYield:4.024242246107118},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vtRkLNQDgqTSNAh2My5c9Y",selected:!1,color:"#fff",dailyYield:4.009918074143593}],Zrn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-17.282790575888168,5.440474449160031,36906384867201037e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-17.282790575888168,5.440324442496329,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-42.77632157556409,-34.119265652337766,20.000447749982982],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:6.470670899474179,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-26.714608093209538,-11.412788709722923,.2632378650359435],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:4.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:413,height:68}},ean={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},tan=1,nan={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},oan={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},ian={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ran={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},aan=["A proposed solar noise barrier in Lexington, MA"],lan={docid:Vrn,time:Grn,timestamp:Xrn,userid:Jrn,owner:Krn,email:qrn,world:$rn,elements:Qrn,view:Zrn,graphState:ean,evolutionMethod:tan,solarPanelArrayLayoutParams:nan,solarPanelArrayLayoutConstraints:oan,evolutionaryAlgorithmState:ian,economicsParams:ran,notes:aan},san="mETyjNhcSpLHUreuu362jG",can="02/03/2023 10:33 am",uan=1675438394402,dan="QWecNcxhyvP6j6sBN11hBsfZDau1",fan=null,han=null,pan={solarRadiationHeatmapGridCellSize:1,date:"9/22/2022 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"S H St, Bakersfield, CA 93313, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.2397498816683,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-119.02084409607578},gan=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"121ogbDPhqFdjF1EqsotWr",foundationId:"121ogbDPhqFdjF1EqsotWr",id:"bXdahMaM63p5YKq5iW5dkA",selected:!1},{type:"Foundation",cx:-.355148183178954,cy:-68.66520831611422,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"121ogbDPhqFdjF1EqsotWr",selected:!1,textureType:"Foundation Texture #5"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"e1EQqVFfXevnZt4eaeuVPE",foundationId:"e1EQqVFfXevnZt4eaeuVPE",id:"kGbBKyVArnRt64dJUZUHXo",selected:!1},{type:"Foundation",cx:-6.512082441645507,cy:-68.66019836570281,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e1EQqVFfXevnZt4eaeuVPE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5AYGqMpb7MY45GfUGrAPx7",foundationId:"5AYGqMpb7MY45GfUGrAPx7",id:"pHgsi4FBAPcCENbBFq8nJi",selected:!1},{type:"Foundation",cx:5.789049041421398,cy:-68.36660414055642,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5AYGqMpb7MY45GfUGrAPx7",selected:!1},{type:"Human",name:"Jack",cx:1.2131787149033482,cy:-5.683681388279453,cz:.300000011920929,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5AYGqMpb7MY45GfUGrAPx7",id:"echEghBkfqunhtqJQz95fM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1207079978734572,cy:-.004668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xgFeRbJGihUVnyEf5m22ib",foundationId:"xgFeRbJGihUVnyEf5m22ib",id:"1ZYTz63nWtEEsbRNhgdFaw",selected:!1},{type:"Foundation",cx:5.809815585913138,cy:-54.46106108413,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xgFeRbJGihUVnyEf5m22ib",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nAmb8PRM1R6jeNzPW5C8VV",foundationId:"nAmb8PRM1R6jeNzPW5C8VV",id:"4zJUqXV3Fnf2nuwbpsMiXs",selected:!1},{type:"Foundation",cx:5.7835484198244025,cy:-40.561453025263894,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nAmb8PRM1R6jeNzPW5C8VV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"2Jpks6qcta7oxTq8g15yvM",foundationId:"2Jpks6qcta7oxTq8g15yvM",id:"nTqyuFThYbp62RDDvj69Tn",selected:!1},{type:"Foundation",cx:5.765589353420241,cy:-26.70562418723046,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2Jpks6qcta7oxTq8g15yvM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4XXqf2vXZ7ZFawMdYuzXJR",foundationId:"4XXqf2vXZ7ZFawMdYuzXJR",id:"8xX37o12HQw79GgWaPoJra",selected:!1},{type:"Foundation",cx:5.7629992141008515,cy:-12.846184608655223,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4XXqf2vXZ7ZFawMdYuzXJR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nhfGp8zoAtBhBtTRQS5X4A",foundationId:"nhfGp8zoAtBhBtTRQS5X4A",id:"xtX3Yeicb1xmckA4hRhAbT",selected:!1},{type:"Foundation",cx:-.3660148444167448,cy:-54.735545319487315,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nhfGp8zoAtBhBtTRQS5X4A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ibdbY4z7waLLai5mudLon8",foundationId:"ibdbY4z7waLLai5mudLon8",id:"uUyvA9DB8ymLg6XLaLfYFQ",selected:!1},{type:"Foundation",cx:-.35970964251660265,cy:-40.85602650039143,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ibdbY4z7waLLai5mudLon8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vXadeokGJ9NmeA6ewhjvBy",foundationId:"vXadeokGJ9NmeA6ewhjvBy",id:"ippQMjL5WuoRmncEHb3ng3",selected:!1},{type:"Foundation",cx:-.35809920705666,cy:-27.00228253941227,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vXadeokGJ9NmeA6ewhjvBy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j9vK8NMr2vp4GiSK1DtxRq",foundationId:"j9vK8NMr2vp4GiSK1DtxRq",id:"ntm7qPuXg8vaHHDMEfMv14",selected:!1},{type:"Foundation",cx:-.35734216826093124,cy:-13.132067218686498,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j9vK8NMr2vp4GiSK1DtxRq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"2WSX6m9s99dM4WhZbyuvff",foundationId:"2WSX6m9s99dM4WhZbyuvff",id:"gkBV2ZfxJtfhuZjj7rHAoZ",selected:!1},{type:"Foundation",cx:-.3463719972166439,cy:.7317163979243815,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2WSX6m9s99dM4WhZbyuvff",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"eLNa4YNCioCE3UNDGya3Up",foundationId:"eLNa4YNCioCE3UNDGya3Up",id:"rWFuzCeuZszy77yBB8jveg",selected:!1},{type:"Foundation",cx:-.3586608333447727,cy:14.590396355482044,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eLNa4YNCioCE3UNDGya3Up",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"o1CCZc1sDeTQWrwG46TfNN",foundationId:"o1CCZc1sDeTQWrwG46TfNN",id:"qShFLxfnobEyyoPeMTASuG",selected:!1},{type:"Foundation",cx:-.3518720954179425,cy:28.454375484604732,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"o1CCZc1sDeTQWrwG46TfNN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"u1RK5NeNA9j7qFSmCR8hid",foundationId:"u1RK5NeNA9j7qFSmCR8hid",id:"rCYT7zsMynuWwB4Gj2Fsd3",selected:!1},{type:"Foundation",cx:-.35131046912982616,cy:42.32211519647182,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"u1RK5NeNA9j7qFSmCR8hid",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"h9eRaQKsYCgZDNL6TBSdkG",foundationId:"h9eRaQKsYCgZDNL6TBSdkG",id:"iciTKiFoWiSSRXfRV2jKAY",selected:!1},{type:"Foundation",cx:-.35806918169835766,cy:56.17571570619225,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h9eRaQKsYCgZDNL6TBSdkG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gdwqBp4tF8xLp9yJkFqCx6",foundationId:"gdwqBp4tF8xLp9yJkFqCx6",id:"88NfQv74cDhjrzSepw9B7g",selected:!1},{type:"Foundation",cx:-.3684777264545248,cy:70.01231995987031,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gdwqBp4tF8xLp9yJkFqCx6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"16YsecagZdQFboT8cHk3zY",foundationId:"16YsecagZdQFboT8cHk3zY",id:"uWF3E9dPiegXh2L5b6Vsn8",selected:!1},{type:"Foundation",cx:5.774616554678275,cy:1.0295178181583675,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"16YsecagZdQFboT8cHk3zY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gdCn75FBte524E9epTDvqA",foundationId:"gdCn75FBte524E9epTDvqA",id:"tFCws2tPQDLM5HKxxJGgWv",selected:!1},{type:"Foundation",cx:5.773867010320257,cy:14.885614964778393,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gdCn75FBte524E9epTDvqA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"qLVXWryBBGmRgAroLqVwdi",foundationId:"qLVXWryBBGmRgAroLqVwdi",id:"ud1b2bEhTi9i92Q8c8D373",selected:!1},{type:"Foundation",cx:5.778389095695882,cy:28.74465191336493,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qLVXWryBBGmRgAroLqVwdi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bVwMiP2aUzVjjeaX792zXn",foundationId:"bVwMiP2aUzVjjeaX792zXn",id:"c9QcDJ4K8yR1ng4dRJ4D4t",selected:!1},{type:"Foundation",cx:5.784822839568983,cy:42.61795388645869,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bVwMiP2aUzVjjeaX792zXn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nW5ArCP1HhxjesUyKCR3at",foundationId:"nW5ArCP1HhxjesUyKCR3at",id:"gxJYgTJqcdLmnzufEv3zS9",selected:!1},{type:"Foundation",cx:5.772865019410357,cy:56.469133301847506,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nW5ArCP1HhxjesUyKCR3at",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ez9S4TjyRrt69CUc8NCPjT",foundationId:"ez9S4TjyRrt69CUc8NCPjT",id:"715S84avByaQTs2A6QaRyi",selected:!1},{type:"Foundation",cx:5.767433266447149,cy:70.31691119865602,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ez9S4TjyRrt69CUc8NCPjT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"k7PuJZ5ck1CDCnF49AEbze",foundationId:"k7PuJZ5ck1CDCnF49AEbze",id:"rBjhWRGRVr5rhJmJ7ZHt5W",selected:!1},{type:"Foundation",cx:-6.527392714190696,cy:-54.732229116611116,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"k7PuJZ5ck1CDCnF49AEbze",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"rU3754fwdgKoDWv2zoFH3R",foundationId:"rU3754fwdgKoDWv2zoFH3R",id:"1Wbh9tZMmYnYRWgQs2oxcg",selected:!1},{type:"Foundation",cx:-6.534711172615536,cy:-40.8521892213242,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rU3754fwdgKoDWv2zoFH3R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"rmvt2utUNYmiSjixPNE6cB",foundationId:"rmvt2utUNYmiSjixPNE6cB",id:"hgGCNRfRRjgNRbKehkHZRR",selected:!1},{type:"Foundation",cx:-6.531475518119176,cy:-27.005759344492336,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rmvt2utUNYmiSjixPNE6cB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5D8LWb5KSCQa5CzJgeqTzQ",foundationId:"5D8LWb5KSCQa5CzJgeqTzQ",id:"4q6sn5L82weCVDGzpuu2sX",selected:!1},{type:"Foundation",cx:-6.531475518119178,cy:-13.125523095938771,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5D8LWb5KSCQa5CzJgeqTzQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kvv1recmXZdZQMtZey2snR",foundationId:"kvv1recmXZdZQMtZey2snR",id:"iy2Xwp5VW7Kj9siFtt7QWd",selected:!1},{type:"Foundation",cx:-6.508807101463274,cy:.7373815692707449,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kvv1recmXZdZQMtZey2snR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xb3DDtTRb2xE4U4z4K1hXE",foundationId:"xb3DDtTRb2xE4U4z4K1hXE",id:"nMuKPt4koMQGztfZfy8jfD",selected:!1},{type:"Foundation",cx:-6.5258084139552,cy:14.606283609496337,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xb3DDtTRb2xE4U4z4K1hXE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gwy36bVzcps8LsRhJTof4Q",foundationId:"gwy36bVzcps8LsRhJTof4Q",id:"i67r94XMRFM3jCvyxogFNy",selected:!1},{type:"Foundation",cx:-6.511475518119177,cy:28.4721869622139,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gwy36bVzcps8LsRhJTof4Q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7zg5mcdSFwxHKAWZT3Ek6v",foundationId:"7zg5mcdSFwxHKAWZT3Ek6v",id:"eRWg2zs6foonE5xuNEVRz9",selected:!1},{type:"Foundation",cx:-6.511051943403113,cy:42.34375751909987,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7zg5mcdSFwxHKAWZT3Ek6v",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"suByeHBWYCe52G1Gv4ZeSU",foundationId:"suByeHBWYCe52G1Gv4ZeSU",id:"phLDTcCNd2W2ZnrjoTkBjB",selected:!1},{type:"Foundation",cx:-6.52880710146327,cy:56.18132525099307,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"suByeHBWYCe52G1Gv4ZeSU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jfGqSpqYfY4BpzvBjow99u",foundationId:"jfGqSpqYfY4BpzvBjow99u",id:"shmgnG7kSY3iWfHSTksGd3",selected:!1},{type:"Foundation",cx:-6.53447420562725,cy:70.03322597872673,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jfGqSpqYfY4BpzvBjow99u",selected:!1}],man={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[7.48786322173483,69.21304781831628,6921612429673364e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[7.48786322173483,69.2130278174273,20.000069216086263],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[14.98566534119282,-94.01207606498471,5.484037741591015],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:38.96037486782548,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-22.269354989815284,10.551050181634587,.4104687909980791],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:366,height:67}},yan={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Aan=1,wan={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},van={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},xan={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ban={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},San=["A proposed solar canal in California"],Tan={docid:san,time:can,timestamp:uan,userid:dan,owner:fan,email:han,world:pan,elements:gan,view:man,graphState:yan,evolutionMethod:Aan,solarPanelArrayLayoutParams:wan,solarPanelArrayLayoutConstraints:van,evolutionaryAlgorithmState:xan,economicsParams:ban,notes:San},Pan="vhboPhKYLs7YFW4GNHvu35",Can="02/02/2023 05:12 pm",Ran=1675375965968,Han="QWecNcxhyvP6j6sBN11hBsfZDau1",Man=null,Ian=null,zan={timesPerHour:4,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"8/22/2022, 2:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371},Dan=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:.03672476718970863,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:-.02675735166375759,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:1.5707963267948966,cy:-.10449299890247031,cx:-.4024621157154061,poleRadius:.05,showLabel:!0,lx:1.046,label:"VSAT",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"VSAT",drawSunBeam:!0,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.9974383842410144},{ly:1.558,drawSunBeam:!0,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:0,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"HSAT",lx:1.046,label:"HSAT",cz:.5000000074505762,showLabel:!0,cx:.13515302447733513,poleSpacing:3,relativeAzimuth:0,cy:-.10573019166804135,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:2.073422461213974},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:.5235987755982988,normal:[0,0,1],selected:!1,label:"AADAT",lz:.046,drawSunBeam:!0,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:0,cy:-.09709770433882582,type:"Solar Panel",trackerType:"AADAT",poleRadius:.05,cx:-.13700106436587867,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:2.215778465205723},{tiltAngle:.5235987755982988,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:-.11542091451120043,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:.4032836323996918,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"Fixed",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.590603475645371}],Ean={weatherPanelX:0,heliodonPanelY:314,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!0,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1204,theme:"Default",autoRotate:!1,groundColor:"#16a5a5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[12.032136043105444,-19.275007353612423,7.568306918458618],panCenter:[0,0,0],orthographic:!1,enableRotate:!0,cameraZoom:41.01092091350052,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997981],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},kan={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Fan=1,Lan={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Wan={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Nan={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Uan={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ban=[`Solar trackers -As the sun moves across the sky, solar panels do not always face the sun. Solar trackers allow them to follow the sun like sunflowers to maximize their outputs. This model compares the outputs of solar panels driven by the horizontal single-axis tracker (HSAT), the vertical single-axis tracker (VSAT), and the altazimuth dual-axis trackers (AADAT), as well as that of a fixed solar panel. You can also animate the movement of the sun to see how the solar panels follow it.`],Oan={docid:Ran,time:Han,timestamp:Man,userid:Ian,owner:zan,email:Dan,world:Ean,elements:kan,view:Fan,graphState:Lan,evolutionMethod:Wan,solarPanelArrayLayoutParams:Nan,solarPanelArrayLayoutConstraints:Uan,evolutionaryAlgorithmState:Ban,economicsParams:jan,notes:Yan},_an="stLbuVGfE2K8DrmoYsFg9w",Van="02/04/2023 02:04 pm",Gan=1675537455512,Xan="QWecNcxhyvP6j6sBN11hBsfZDau1",Jan=null,Kan=null,qan={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},$an=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-.06554753263096413,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-7.418371930827338,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"pNA4YvnHKpbgLLZoVdn8iH",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"pNA4YvnHKpbgLLZoVdn8iH",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:-18.384386246268818,cy:-7.395598164511793,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pNA4YvnHKpbgLLZoVdn8iH",leftRidgeLength:6,rightRidgeLength:6,rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:18.191904297849153,cy:-7.416985047669567,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,rise:2,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:5,leftJoints:["xyaukKZz7A3TN7punm6ojQ"],rightJoints:["t8gz6AKc17wrcW6oGcJkRc"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tjjt6SvCacxyrjW8mL7Kcd",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:5,leftJoints:["eyn92Pbtw4rxGsusMErN7b"],rightJoints:["tjjt6SvCacxyrjW8mL7Kcd"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xyaukKZz7A3TN7punm6ojQ",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:5,leftJoints:["tjjt6SvCacxyrjW8mL7Kcd"],rightJoints:["eyn92Pbtw4rxGsusMErN7b"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t8gz6AKc17wrcW6oGcJkRc",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:5,leftJoints:["t8gz6AKc17wrcW6oGcJkRc"],rightJoints:["xyaukKZz7A3TN7punm6ojQ"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eyn92Pbtw4rxGsusMErN7b",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Foundation",cx:-18.349437375856816,cy:7.358577960859719,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fWm5hggYktD39sKer9AZNn",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["7pDL5vuaWkaSp6xPdGtoFv"],rightJoints:["jRzTPUopsCw4wfe1XwNMiY"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ak7Cpd4phQ5SWBAYKo1UCe",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["f2RfmPbQBbQQB9B9qxgaGp"],rightJoints:["ak7Cpd4phQ5SWBAYKo1UCe"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7pDL5vuaWkaSp6xPdGtoFv",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["ak7Cpd4phQ5SWBAYKo1UCe"],rightJoints:["f2RfmPbQBbQQB9B9qxgaGp"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jRzTPUopsCw4wfe1XwNMiY",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["jRzTPUopsCw4wfe1XwNMiY"],rightJoints:["7pDL5vuaWkaSp6xPdGtoFv"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"f2RfmPbQBbQQB9B9qxgaGp",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:18.357286683609985,cy:7.35579151072247,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"w5VAS3XZUgKoYjMsuPJ9cq",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["3nk4fctTxNug3tQ2458FKw"],rightJoints:["dc91yXxYZexfAFXVg2fpn6"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pwXdeCrfH255xyNxeKZFmq",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["m39f5UsRB2FwBXUr7e5PvG"],rightJoints:["pwXdeCrfH255xyNxeKZFmq"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3nk4fctTxNug3tQ2458FKw",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,6.780964087966274],selected:!1,centerLeftRoofHeight:[-.35,4.890482043983138],centerRightRoofHeight:[.35,4.890482043983138],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["pwXdeCrfH255xyNxeKZFmq"],rightJoints:["m39f5UsRB2FwBXUr7e5PvG"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dc91yXxYZexfAFXVg2fpn6",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,6.780964087966274],selected:!1,centerLeftRoofHeight:[-.35,4.890482043983138],centerRightRoofHeight:[.35,4.890482043983138],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["dc91yXxYZexfAFXVg2fpn6"],rightJoints:["3nk4fctTxNug3tQ2458FKw"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"m39f5UsRB2FwBXUr7e5PvG",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:-.2822234132630961,cy:-22.249672711420477,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d6fjBvqj48Q3knutrPvQzj",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",wallsId:["xyaukKZz7A3TN7punm6ojQ","tjjt6SvCacxyrjW8mL7Kcd","t8gz6AKc17wrcW6oGcJkRc","eyn92Pbtw4rxGsusMErN7b"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",id:"hajPbexieJRPqTV4EDojfw",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",wallsId:["f2RfmPbQBbQQB9B9qxgaGp","7pDL5vuaWkaSp6xPdGtoFv","ak7Cpd4phQ5SWBAYKo1UCe","jRzTPUopsCw4wfe1XwNMiY"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",id:"jKe65v2XQs93jh4Da9kMiu",rise:3.592861140197524,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gambrel",wallsId:["m39f5UsRB2FwBXUr7e5PvG"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",id:"ptuJ1uXn6Mmb8yfPchYi2c",rise:3.7809640879662743,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["ixC5APwNiRHyp3q8fcpSip"],rightJoints:["8hSDdsDC58WwCVch1EWVeh"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ozFwLmFwWhU6vEeaiRMgLF",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["qjuHirmyC29jd4cf1J7Ub1"],rightJoints:["ozFwLmFwWhU6vEeaiRMgLF"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ixC5APwNiRHyp3q8fcpSip",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["ozFwLmFwWhU6vEeaiRMgLF"],rightJoints:["qjuHirmyC29jd4cf1J7Ub1"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8hSDdsDC58WwCVch1EWVeh",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["8hSDdsDC58WwCVch1EWVeh"],rightJoints:["ixC5APwNiRHyp3q8fcpSip"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qjuHirmyC29jd4cf1J7Ub1",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:18.14821865757634,cy:-22.28587145270979,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"upLMjkz3yhg33F3y5iosoh",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",wallsId:["qjuHirmyC29jd4cf1J7Ub1"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",id:"nUUEKM9A4b42WTe8cCbmi9",rise:2.4252724498654796,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["igxQHaerDScxsfB5TgVZU4"],rightJoints:["fisK6kExsrNY6Pqi3iQHme"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3gfx2QQjNJN8MdstGfbwGN",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["ayZDPKzE28H2j3EL6h6FST"],rightJoints:["3gfx2QQjNJN8MdstGfbwGN"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"igxQHaerDScxsfB5TgVZU4",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[.15368124011044487,5.976337025346289],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["3gfx2QQjNJN8MdstGfbwGN"],rightJoints:["ayZDPKzE28H2j3EL6h6FST"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fisK6kExsrNY6Pqi3iQHme",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[-.15368124011044487,5.976337025346289],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["fisK6kExsrNY6Pqi3iQHme"],rightJoints:["igxQHaerDScxsfB5TgVZU4"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ayZDPKzE28H2j3EL6h6FST",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"ue2dCEQjJdM2ogHcYaDLus",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#999999",normal:[0,0,1],rotation:[0,0,0],parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofType:"Gable",textureType:"Roof Texture Default",thickness:.2,wallsId:["ayZDPKzE28H2j3EL6h6FST"],ridgeLeftPoint:[-.15368124011044487,1],ridgeRightPoint:[.15368124011044487,1],selected:!1,rise:2.9763370253462886,ceiling:!1},{type:"Foundation",cx:-18.3917853849947,cy:-22.23021238337839,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8FvPN2owsgTQ83kbYPEi1w",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:5.846129172584467,leftJoints:["7uVMbtndXyFhLg9N8igxZL"],rightJoints:["satrCacXQzxtUPDa8WeKn7"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uNqL4MKdnpapHVSi9J1K8T",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:5.846129172584467,rightRoofHeight:5.846129172584467,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.846129172584467,rightTopPartialHeight:5.846129172584467},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["5u61LU9xBr7HzdGUCwG4J6"],rightJoints:["uNqL4MKdnpapHVSi9J1K8T"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7uVMbtndXyFhLg9N8igxZL",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:3,rightRoofHeight:5.846129172584467,centerRoofHeight:[.5,5.846129172584467],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["uNqL4MKdnpapHVSi9J1K8T"],rightJoints:["5u61LU9xBr7HzdGUCwG4J6"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"satrCacXQzxtUPDa8WeKn7",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:5.846129172584467,rightRoofHeight:3,centerRoofHeight:[-.5,5.846129172584467],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["satrCacXQzxtUPDa8WeKn7"],rightJoints:["7uVMbtndXyFhLg9N8igxZL"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5u61LU9xBr7HzdGUCwG4J6",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"iNBeHL8TpJ75nDzdH6Ar6c",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#999999",normal:[0,0,1],rotation:[0,0,0],parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofType:"Gable",textureType:"Roof Texture Default",thickness:.2,wallsId:["5u61LU9xBr7HzdGUCwG4J6"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:.04736842105263009,cy:7.4416382171024535,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e6BPbJvDHWVEFn61HvpPWK",selected:!1}],Qan={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.052631578947368425,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.052631578947368425,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-28.363486288062674,-49.79716924665453,24.823194309796552],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:15.47561875,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-6.81693136261614,-15.495725419499871,0],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Zan={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},eln=1,tln={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},nln={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},oln={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},iln={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},rln=[],aln={docid:_an,time:Van,timestamp:Gan,userid:Xan,owner:Jan,email:Kan,world:qan,elements:$an,view:Qan,graphState:Zan,evolutionMethod:eln,solarPanelArrayLayoutParams:tln,solarPanelArrayLayoutConstraints:nln,evolutionaryAlgorithmState:oln,economicsParams:iln,notes:rln},lln="9gaZVfxNNTHLmXcZPRJRXw",sln="09/23/2023 09:34 AM",cln=1695476069953,uln=null,dln=null,fln=null,hln={latitude:42.52092349999999,address:"Leominster State Forest, Leominster, MA 01420, USA",name:"default",airAttenuationCoefficient:.01,ground:{thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3},dustLoss:.05,cspGridCellSize:.5,cspDaysPerYear:4,discretization:"Approximate",daysPerYear:12,cspTimesPerHour:4,pvGridCellSize:.5,timesPerHour:1,noAnimationForHeatmapSimulation:!1,date:"6/22/2022, 10:00:00 AM",solarRadiationHeatmapGridCellSize:.25,solarPanelVisibilityGridCellSize:.2,noAnimationForSensorDataCollection:!1,longitude:-71.8384068,noAnimationForSolarPanelSimulation:!1},pln=[{parentId:"Ground",selected:!1,cy:.8212100903152009,id:"m7AH7DcnoGzAq9kryBy4RS",type:"Foundation",ly:10.473983232081025,cx:-.22738864151314608,lz:.07401736805849783,hvacSystem:{temperatureThreshold:3,thermostatSetpoint:20,id:"A"},locked:!0,rotation:[0,0,0],cz:.05,enableGroupMaster:!0,solarAbsorberPipe:{},solarUpdraftTower:{},lx:13.564552414056891,solarPowerTower:{},normal:[0,0,1]},{fill:"Full",structureColor:"white",type:"Wall",rightPoint:[-5.457020109151015,3.478026472724187,.1],cx:.5429798908489842,opacity:0,locked:!0,showLabel:!1,relativeAngle:3.141592653589793,lz:3.700868402924892,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:3.478026472724187,ly:.3,leftTopPartialHeight:3.700868402924892,leftPoint:[6.542979890848985,3.478026472724187,.1],lx:12,leftUnfilledHeight:.5,textureType:"Wall Texture Default",cz:0,color:"white",normal:[0,0,1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],eavesLength:.2,parentId:"m7AH7DcnoGzAq9kryBy4RS",parapet:{parapetHeight:1,display:!1,copingsWidth:.5,color:"white",textureType:"No Wall Texture",copingsHeight:.1},rightUnfilledHeight:.5,windows:[],rightTopPartialHeight:3.700868402924892,structureSpacing:2,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],selected:!1,leftRoofHeight:3.700868402924892,id:"2u4Fe7xnA6kkXXVGrQ4eyJ",roofId:"nbw17kYeUHp1aouuScuF3Y",wallStructure:"Default",structureWidth:.1,rightRoofHeight:3.700868402924892},{rightPoint:[6.542979890848985,3.478026472724187,.1],structureSpacing:2,relativeAngle:1.5707963267948966,wallStructure:"Default",cz:1.2992388529678256,opacity:.5,textureType:"Wall Texture Default",eavesLength:.2,rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],foundationId:"m7AH7DcnoGzAq9kryBy4RS",locked:!0,selected:!1,leftRoofHeight:3.700868402924892,ly:.3,parapet:{copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5,color:"white",parapetHeight:1,display:!1},windows:[],cx:6.542979890848985,color:"white",structureColor:"white",showLabel:!1,rightRoofHeight:3.7008684029248915,structureWidth:.1,leftTopPartialHeight:3.700868402924892,parentId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],rotation:[0,0,0],fill:"Full",rightTopPartialHeight:3.700868402924892,centerRoofHeight:[-.022465454047944533,5.827600046994059],lx:7.5,lz:3.700868402924892,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],id:"8XDG3EHsQoX26MhuzwMYUM",leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y"},{parentId:"m7AH7DcnoGzAq9kryBy4RS",locked:!0,cy:-.27197352727581237,rightTopPartialHeight:3.700868402924892,id:"skm8dNPSkFaVkoUwiPNfq1",centerRoofHeight:[.022465454047944533,5.827600046994059],rightPoint:[-5.457020109151015,-4.021973527275812,.1],roofId:"nbw17kYeUHp1aouuScuF3Y",leftUnfilledHeight:.5,rightUnfilledHeight:.5,rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],wallStructure:"Default",rotation:[0,0,0],showLabel:!1,cz:2.586710917765224,structureColor:"white",structureSpacing:2,selected:!1,leftRoofHeight:3.700868402924892,eavesLength:.2,opacity:.5,color:"white",rightRoofHeight:3.7008684029248915,leftTopPartialHeight:3.700868402924892,textureType:"Wall Texture Default",cx:-5.457020109151015,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],type:"Wall",parapet:{copingsHeight:.1,textureType:"No Wall Texture",display:!1,color:"white",parapetHeight:1,copingsWidth:.5},lz:3.700868402924892,lx:7.5,relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],structureWidth:.1,windows:[],normal:[0,0,1],fill:"Full",ly:.3},{selected:!1,textureType:"Wall Texture Default",cx:.5429798908489842,parapet:{copingsHeight:.1,parapetHeight:1,copingsWidth:.5,color:"white",textureType:"No Wall Texture",display:!1},rotation:[0,0,0],locked:!0,showLabel:!1,rightTopPartialHeight:3.700868402924892,rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],eavesLength:.2,windows:[],normal:[0,0,1],structureColor:"white",roofId:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cV8MyCuhWAsvEyyFuVqVqg",leftPoint:[-5.457020109151015,-4.021973527275812,.1],leftUnfilledHeight:.5,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:-4.021973527275812,structureSpacing:2,structureWidth:.1,lx:12,relativeAngle:0,color:"white",wallStructure:"Default",rightRoofHeight:3.700868402924892,rightUnfilledHeight:.5,leftTopPartialHeight:3.700868402924892,type:"Wall",fill:"Full",lz:3.700868402924892,opacity:0,leftRoofHeight:3.700868402924892,ly:.3,rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,leftJoints:["skm8dNPSkFaVkoUwiPNfq1"]},{ly:8.209748806830484,normal:[0,0,1],cy:-1.588798589487019,hvacSystem:{id:"A",temperatureThreshold:3,thermostatSetpoint:20},selected:!1,id:"8fpWrU7qVyVgipB7LtABom",solarPowerTower:{},solarAbsorberPipe:{},lz:.07401736805849783,cx:.3444310502028619,type:"Foundation",lx:9.082946486026735,solarUpdraftTower:{},rotation:[0,0,0],cz:.05,locked:!0,parentId:"Ground"},{structureWidth:.1,leftRoofHeight:5.712225310760859,rightPoint:[-3.263274891520475,1.612200631492839,0],roofId:"bMyAZV3jeEtHec1SxNb6X8",type:"Wall",fill:"Empty",leftTopPartialHeight:5.234219703671004,leftUnfilledHeight:4.805475873448939,cx:-.034941558187143285,leftPoint:[3.193391775146188,1.612200631492839,0],structureSpacing:2,rightRoofHeight:5.712225310760859,locked:!0,lz:5.234219703671004,rotation:[0,0,0],leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],rightUnfilledHeight:4.805475873448939,wallStructure:"Default",windows:[],parapet:{textureType:"No Wall Texture",display:!1,copingsHeight:.1,parapetHeight:1,color:"white",copingsWidth:.5},opacity:.5,textureType:"Wall Texture Default",ly:.3,id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.612200631492839,lx:6.4566666666666634,normal:[0,0,1],color:"white",parentId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:3.141592653589793,foundationId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,rightTopPartialHeight:5.234219703671004,structureColor:"white",selected:!1,cz:3.903941909848086,eavesLength:0,rightJoints:["1ATAe6P2KAHKLDSDfpVro9"]},{color:"white",rightPoint:[3.1933917751461904,1.612200631492839,0],parentId:"8fpWrU7qVyVgipB7LtABom",opacity:.5,rightRoofHeight:5.712225310760859,structureColor:"white",roofId:"bMyAZV3jeEtHec1SxNb6X8",parapet:{parapetHeight:1,textureType:"No Wall Texture",copingsWidth:.5,color:"white",copingsHeight:.1,display:!1},showLabel:!1,cx:3.193391775146189,eavesLength:.1,id:"4Q8KDQDxyuamkEtRJU3paR",type:"Wall",textureType:"Wall Texture Default",centerRoofHeight:[.5,5.712225310760859],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:6.136322990957498,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],cz:3.068161495478749,leftTopPartialHeight:5.234219703671004,structureWidth:.1,rotation:[0,0,0],ly:.3,locked:!1,leftRoofHeight:5.234219703671004,structureSpacing:2,foundationId:"8fpWrU7qVyVgipB7LtABom",windows:[],rightTopPartialHeight:5.760851132763845,leftUnfilledHeight:3.5697809504114297,leftPoint:[3.193391775146188,-1.1632293875304307,0],selected:!1,wallStructure:"Default",lx:2.7754300190232697,normal:[0,0,1],relativeAngle:1.570796326794896,fill:"Partial",rightUnfilledHeight:5.234219703671004,cy:.22448562198120414},{rightTopPartialHeight:5.234219703671004,id:"1ATAe6P2KAHKLDSDfpVro9",parentId:"8fpWrU7qVyVgipB7LtABom",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],showLabel:!1,locked:!1,cy:.22448562198120414,normal:[0,0,1],leftRoofHeight:5.712225310760859,centerRoofHeight:[-.5,5.712225310760859],lz:6.232580143918559,leftTopPartialHeight:5.822758282488435,leftPoint:[-3.263274891520475,1.612200631492839,0],opacity:.5,rightUnfilledHeight:3.5697809504114297,rotation:[0,0,0],rightRoofHeight:5.234219703671004,structureSpacing:2,lx:2.7754300190232697,structureColor:"white",rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],foundationId:"8fpWrU7qVyVgipB7LtABom",eavesLength:.1,rightPoint:[-3.263274891520475,-1.1632293875304307,0],wallStructure:"Default",ly:.3,parapet:{display:!1,copingsHeight:.1,parapetHeight:1,copingsWidth:.5,textureType:"No Wall Texture",color:"white"},type:"Wall",structureWidth:.1,roofId:"bMyAZV3jeEtHec1SxNb6X8",fill:"Partial",color:"white",cz:3.1162900719592797,leftUnfilledHeight:5.234219703671004,relativeAngle:-1.5707963267948966,selected:!1,windows:[],cx:-3.263274891520475,textureType:"Wall Texture Default"},{locked:!0,ceiling:!1,cz:0,rotation:[0,0,0],textureType:"Roof Texture Default",rise:2.126731644069167,selected:!1,normal:[0,0,1],color:"#666666",ly:0,showLabel:!1,lz:0,cx:0,roofType:"Gable",ridgeRightPoint:[-.022465454047944533,1],cy:0,type:"Roof",lx:0,parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nbw17kYeUHp1aouuScuF3Y",ridgeLeftPoint:[.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],thickness:.2,foundationId:"m7AH7DcnoGzAq9kryBy4RS"},{leftTopPartialHeight:5.234219703671004,showLabel:!1,windows:[],roofId:"bMyAZV3jeEtHec1SxNb6X8",opacity:.5,parentId:"8fpWrU7qVyVgipB7LtABom",rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],structureWidth:.1,selected:!1,locked:!0,leftUnfilledHeight:3.5697809504114297,color:"white",ly:.3,normal:[0,0,1],structureColor:"white",id:"7xigJB2WiCCrREDc2Ja3YN",rightRoofHeight:5.234219703671004,rightPoint:[3.193391775146188,-1.1632293875304307,0],lz:5.234219703671004,cx:-.034941558187143285,lx:6.4566666666666634,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],cy:-1.1632293875304307,leftRoofHeight:5.234219703671004,leftPoint:[-3.263274891520475,-1.1632293875304307,0],wallStructure:"Default",fill:"Partial",foundationId:"8fpWrU7qVyVgipB7LtABom",parapet:{parapetHeight:1,display:!1,color:"white",copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5},rightTopPartialHeight:5.234219703671004,textureType:"Wall Texture Default",eavesLength:.4,rightUnfilledHeight:3.5697809504114297,relativeAngle:0,rotation:[0,0,0],cz:3.535805069111796,type:"Wall",structureSpacing:2},{color:"#666666",showLabel:!1,locked:!0,ridgeLeftPoint:[-.5,1],id:"bMyAZV3jeEtHec1SxNb6X8",thickness:.1,roofType:"Gable",cy:0,ceiling:!1,textureType:"Roof Texture Default",foundationId:"8fpWrU7qVyVgipB7LtABom",ly:0,lx:0,rotation:[0,0,0],cx:0,normal:[0,0,1],parentId:"8fpWrU7qVyVgipB7LtABom",rise:.4780056070898553,lz:0,selected:!1,ridgeRightPoint:[.5,1],type:"Roof",wallsId:["7xigJB2WiCCrREDc2Ja3YN"],cz:0},{color:"#ffffff",frameWidth:.05,normal:[0,0,1],id:"kT8BzEWny2ZAvkGr4E4KEf",showLabel:!1,mullionSpacing:.5,locked:!0,rotation:[0,0,0],mullionColor:"white",cz:.4037254895427074,type:"Window",mullion:!0,windowType:"Default",cy:.1,selected:!1,tint:"#73D8FF",mullionWidth:.06,ly:.3,lz:.14780124246219536,frame:!0,opacity:.5,shutter:{color:"#4d4d4d",width:.3,showRight:!0,showLeft:!0},lx:.15384615384615385,archHeight:1,parentId:"7xigJB2WiCCrREDc2Ja3YN",cx:-.23283427981414576,foundationId:"8fpWrU7qVyVgipB7LtABom"},{opacity:.5,mullionSpacing:.5,rotation:[0,0,0],windowType:"Default",frameWidth:.05,foundationId:"8fpWrU7qVyVgipB7LtABom",mullion:!0,ly:.3,mullionColor:"white",color:"#ffffff",tint:"#73D8FF",cy:.1,cz:.4037254895427074,locked:!0,parentId:"7xigJB2WiCCrREDc2Ja3YN",id:"7u1AuHohJXNKKJPafwNUFQ",lz:.14780124246219536,archHeight:1,frame:!0,normal:[0,0,1],cx:.23180175529168826,mullionWidth:.06,lx:.15384615384615385,type:"Window",selected:!1,shutter:{width:.3,showLeft:!0,color:"#4d4d4d",showRight:!0}},{id:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,locked:!0,type:"Foundation",cx:6.813410596867628,solarPowerTower:{},normal:[0,0,1],solarUpdraftTower:{},lx:3.6868215598526417,cz:.05,solarAbsorberPipe:{},parentId:"Ground",cy:.16141466329287235,notBuilding:!0,rotation:[0,0,0],lz:.07401736805849783,ly:2.3229214459557985},{eavesLength:.3,opacity:.5,parapet:{display:!1,copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5,parapetHeight:1,color:"white"},leftTopPartialHeight:6.661563125264805,windows:[],selected:!1,leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",fill:"Full",cz:0,normal:[0,0,1],ly:.2,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],rightUnfilledHeight:.5,rotation:[0,0,0],wallStructure:"Default",rightTopPartialHeight:6.661563125264805,showLabel:!1,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],cx:.23852160917213716,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",rightPoint:[-.5114783908278628,.8698262658360515,.1],leftUnfilledHeight:.5,lx:1.5,locked:!0,id:"5eUwuiBwfGoNEpcHG5kHqK",structureSpacing:2,cy:.8698262658360515,relativeAngle:3.141592653589793,type:"Wall",structureColor:"white",lz:6.661563125264805,textureType:"Wall Texture #3",structureWidth:.1},{normal:[0,0,1],type:"Wall",rightJoints:["qQNV4qND1aDjEtJsd6HVio"],opacity:.5,eavesLength:.3,textureType:"Wall Texture #3",leftPoint:[-.5114783908278628,.8698262658360516,0],rightUnfilledHeight:1.5096768753682475,cy:.11982626583605155,rotation:[0,0,0],lx:1.5,id:"hbU2xUbmKEDDXYDMWnjjCc",lz:6.661563125264805,rightTopPartialHeight:6.661563125264805,windows:[],relativeAngle:4.71238898038469,structureSpacing:2,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,cx:-.5114783908278628,rightPoint:[-.5114783908278628,-.6301737341639485,0],locked:!0,showLabel:!1,structureColor:"white",parentId:"3KgcTmNBqtYJcCny8HxQyQ",structureWidth:.1,fill:"Partial",ly:.2,leftUnfilledHeight:1.5096768753682475,wallStructure:"Default",leftTopPartialHeight:6.661563125264805,cz:0,parapet:{copingsHeight:.1,copingsWidth:.5,parapetHeight:1,textureType:"No Wall Texture",display:!1,color:"white"},leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"]},{cz:0,lz:6.661563125264805,rotation:[0,0,0],textureType:"Wall Texture #3",cy:-.6301737341639485,rightPoint:[.9885216091721372,-.6301737341639485,.1],normal:[0,0,1],structureSpacing:2,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,leftUnfilledHeight:.5,leftTopPartialHeight:6.661563125264805,leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,copingsWidth:.5,textureType:"No Wall Texture"},cx:.23852160917213716,structureWidth:.1,type:"Wall",rightJoints:["h8DQWwUSgNc283RWhcM3B1"],leftPoint:[-.5114783908278628,-.6301737341639485,.1],rightTopPartialHeight:6.661563125264805,windows:[],relativeAngle:0,parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,ly:.2,structureColor:"white",fill:"Full",id:"qQNV4qND1aDjEtJsd6HVio",opacity:.5,rightUnfilledHeight:.5,showLabel:!1,eavesLength:.3,wallStructure:"Default",locked:!0},{id:"h8DQWwUSgNc283RWhcM3B1",textureType:"Wall Texture #3",rotation:[0,0,0],opacity:.5,ly:.2,selected:!1,lz:6.661563125264805,leftJoints:["qQNV4qND1aDjEtJsd6HVio"],cy:.1198262658360515,fill:"Full",parapet:{display:!1,copingsWidth:.5,parapetHeight:1,textureType:"No Wall Texture",color:"white",copingsHeight:.1},relativeAngle:1.5707963267948966,locked:!0,cx:.9885216091721372,parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",structureWidth:.1,rightTopPartialHeight:6.661563125264805,rightUnfilledHeight:.5,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],lx:1.5,type:"Wall",cz:0,leftTopPartialHeight:6.661563125264805,eavesLength:.3,windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],leftUnfilledHeight:.5,wallStructure:"Default",structureColor:"white",showLabel:!1,structureSpacing:2,rightPoint:[.9885216091721372,.8698262658360515,.1],normal:[0,0,1]},{mullionColor:"white",windowType:"Default",cy:0,cz:0,frame:!0,ly:.3,cx:-.375,locked:!0,id:"wpUTVyngSAjDJDRdEV1NA6",shutter:{color:"#4d4d4d",showRight:!0,width:.25,showLeft:!0},showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frameWidth:.05,type:"Window",tint:"#73D8FF",mullionSpacing:.7,mullion:!0,color:"#ffffff",archHeight:1,parentId:"cV8MyCuhWAsvEyyFuVqVqg",lz:.44384979425833565,lx:.08333333333333333,selected:!1,mullionWidth:.06,rotation:[0,0,0],normal:[0,0,1],opacity:.5},{locked:!0,archHeight:1,cx:-.20833333333333334,lx:.08333333333333333,cy:.1,cz:-.005759415706553773,mullionColor:"white",mullionSpacing:.7,shutter:{showRight:!0,color:"#4d4d4d",showLeft:!0,width:.25},frameWidth:.05,mullionWidth:.06,lz:.44384979425833565,mullion:!0,opacity:.5,color:"#ffffff",parentId:"cV8MyCuhWAsvEyyFuVqVqg",normal:[0,0,1],type:"Window",frame:!0,tint:"#73D8FF",windowType:"Default",rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,id:"5ncRWHnRQyocXJujBx5jNE",selected:!1},{cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,mullionSpacing:.7,windowType:"Default",mullionWidth:.06,mullionColor:"white",id:"piUU3YZv2L1Zvedb6EFfFm",lz:.44384979425833565,rotation:[0,0,0],selected:!1,locked:!0,mullion:!0,cx:.19999999999999998,parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,archHeight:1,type:"Window",frame:!0,shutter:{width:.25,color:"#4d4d4d",showLeft:!0,showRight:!0},cz:-.005759415706553773,color:"#ffffff",normal:[0,0,1],frameWidth:.05,tint:"#73D8FF",opacity:.5},{cx:.37499999999999994,lx:.08333333333333333,shutter:{width:.25,showLeft:!0,showRight:!0,color:"#4d4d4d"},foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],mullionWidth:.06,mullionSpacing:.7,normal:[0,0,1],lz:.44384979425833565,ly:.3,selected:!1,frameWidth:.05,opacity:.5,mullion:!0,parentId:"cV8MyCuhWAsvEyyFuVqVqg",id:"upiLr8uqx55GDieKSLsjPj",frame:!0,cy:0,cz:0,archHeight:1,type:"Window",color:"#ffffff",locked:!0,mullionColor:"white",tint:"#73D8FF",windowType:"Default"},{mullionSpacing:.7,tint:"#73D8FF",type:"Window",id:"d9R7TXr9G1aG6bGwu14v9k",frameWidth:.05,lx:.13333333333333333,cx:.3466666666666667,windowType:"Default",mullion:!0,mullionColor:"white",archHeight:1,cy:0,normal:[0,0,1],ly:.3,locked:!0,rotation:[0,0,0],lz:.3942112571821837,selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",parentId:"skm8dNPSkFaVkoUwiPNfq1",mullionWidth:.06,frame:!0,opacity:.5,cz:-.05913168857732756,showLabel:!1,shutter:{showRight:!0,color:"#4d4d4d",showLeft:!0,width:.25},color:"#ffffff"},{tint:"#73D8FF",mullion:!0,normal:[0,0,1],opacity:.5,lz:.3942112571821837,selected:!1,shutter:{showLeft:!0,width:.25,color:"#4d4d4d",showRight:!0},cz:.5913168857732756,type:"Window",mullionWidth:.06,mullionSpacing:.7,mullionColor:"white",windowType:"Default",ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frame:!0,parentId:"skm8dNPSkFaVkoUwiPNfq1",frameWidth:.05,locked:!0,id:"9k4wgdGyyHM5BC1r2nJbQH",archHeight:1,rotation:[0,0,0],color:"#ffffff",cy:0,cx:0,lx:.13333333333333333},{mullionColor:"white",cx:0,cz:-.05913168857732756,type:"Window",lx:.13333333333333333,rotation:[0,0,0],windowType:"Default",color:"#ffffff",parentId:"skm8dNPSkFaVkoUwiPNfq1",ly:.3,shutter:{showLeft:!0,showRight:!0,width:.25,color:"#4d4d4d"},foundationId:"m7AH7DcnoGzAq9kryBy4RS",archHeight:1,cy:0,mullionSpacing:.7,lz:.3942112571821837,id:"rgPxjoaTPqdF2tQvSYYJxX",frameWidth:.05,selected:!1,tint:"#73D8FF",opacity:.5,locked:!0,frame:!0,mullionWidth:.06,normal:[0,0,1],mullion:!0},{mullionColor:"white",cz:-.05913168857732756,normal:[0,0,1],frame:!0,windowType:"Default",opacity:.5,ly:.3,mullionWidth:.06,cx:-.3333333333333333,color:"#ffffff",lz:.3942112571821837,lx:.13333333333333333,mullionSpacing:.7,cy:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",rotation:[0,0,0],id:"85T9TwcUR7am6Rcbs7Fcvu",type:"Window",selected:!1,frameWidth:.05,locked:!0,mullion:!0,parentId:"skm8dNPSkFaVkoUwiPNfq1",archHeight:1,shutter:{width:.25,showRight:!0,color:"#4d4d4d",showLeft:!0}},{lx:.544,lz:1.68,cz:.03700868412852199,rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",type:"Human",cy:-3.5804269948570657,ly:.544,locked:!0,normal:[0,1,0],id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,cx:-.09889479147539992,name:"Judd"},{locked:!0,lx:7.849178627898182,cz:0,id:"t5Aj8tjjpqVaLaB3uEqfR8",cy:-3.6653094140688935,rotation:[0,0,0],type:"Tree",normal:[0,1,0],lz:8.26765132308192,parentId:"Ground",selected:!1,cx:11.305837530144139,name:"Magnolia"},{parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",mullionSpacing:.7,archHeight:1,selected:!1,lz:.3942112571821837,lx:.13333333333333333,windowType:"Default",rotation:[0,0,0],shutter:{width:.25,showRight:!0,showLeft:!0,color:"#4d4d4d"},ly:.3,cz:-.08,locked:!0,cx:-.25833333333333336,frame:!0,color:"#ffffff",frameWidth:.05,mullionWidth:.06,id:"dGQYRX5aMuZKouydnVo1zc",mullionColor:"white",mullion:!0,normal:[0,0,1],tint:"#73D8FF",cy:-13376344861350336e-31,opacity:.5},{foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,color:"#ffffff",mullion:!0,frame:!0,normal:[0,0,1],mullionWidth:.06,rotation:[0,0,0],type:"Window",selected:!1,lx:.13333333333333333,mullionColor:"white",tint:"#73D8FF",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",locked:!0,windowType:"Default",shutter:{showRight:!0,showLeft:!0,width:.25,color:"#4d4d4d"},frameWidth:.05,archHeight:1,cx:.26666666666666666,cz:-.08,mullionSpacing:.7,opacity:.5,cy:-11010413489448665e-30,id:"cni5XLCGZ7vNfLqxjgsnua",lz:.3942112571821837},{lx:.10833333333333332,color:"white",showLabel:!1,textureType:"Door Texture Default",lz:.716165481422614,normal:[0,1,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",filled:!0,type:"Door",locked:!0,doorType:"Default",ly:0,selected:!1,archHeight:1,cy:0,cz:-.14191725928869298,rotation:[0,0,0],opacity:1,id:"j9wJCoWK33fz7y9VeMvYET",cx:.004166666666666666},{id:"hDyRWYv3zznENZxyb7giJb",parentId:"Ground",selected:!1,ly:.43,name:"Jess",cy:-3.1477838439296697,rotation:[0,0,0],type:"Human",locked:!0,cx:10.043178984637636,cz:0,lz:1.5,normal:[0,1,0],lx:.43},{lx:1,id:"rQBZjpiN17FBa7zVGS29EM",name:"Hosta",locked:!0,parentId:"Ground",rotation:[0,0,0],cx:-4.865498633056688,cz:4440892098500626e-31,cy:-5.35511145051621,type:"Flower",lz:.7,selected:!1,normal:[0,1,0]},{cx:-5.913277609806336,parentId:"Ground",rotation:[0,0,0],normal:[0,1,0],lz:.7,cy:-5.374330832155909,type:"Flower",lx:1,name:"Hosta",cz:0,locked:!0,id:"gc42wB2NVDE3XxmJXbCjzF",selected:!1},{parentId:"Ground",selected:!1,normal:[0,1,0],id:"vUf5PGrUMVgXbqYPHJhogg",cz:0,type:"Flower",locked:!0,rotation:[0,0,0],cy:-5.032667389054726,name:"Hosta",cx:5.365516144068206,lz:.7,lx:1},{type:"Flower",cz:0,lx:1,selected:!1,normal:[0,1,0],locked:!0,id:"nQJ3744KdWm46uETjWgCgh",name:"Hosta",cy:-5.0400985854852,lz:.7,parentId:"Ground",rotation:[0,0,0],cx:6.451426749352761},{normal:[0,1,0],lx:.4,name:"Bellflower",selected:!1,type:"Flower",cx:10.305907483983008,lz:.8,locked:!0,cz:-4440892098500626e-31,rotation:[0,0,0],parentId:"Ground",cy:-4.741244078804888,id:"v55S46CRAfNBqtvC7SejWL"},{type:"Flower",selected:!1,locked:!0,cz:0,rotation:[0,0,0],lz:.8,name:"Bellflower",cx:10.64587810641245,normal:[0,1,0],lx:.4,cy:-5.149011385356842,parentId:"Ground",id:"cjq5zpMwEQ68Pvr3BHuvAN"},{locked:!0,lx:.4,selected:!1,id:"bq7T5SUabm6WYJRf7MELsr",type:"Flower",parentId:"Ground",cz:0,cy:-5.113715548843749,name:"Bellflower",normal:[0,1,0],lz:.8,rotation:[0,0,0],cx:11.069278217326396},{parentId:"Ground",selected:!1,rotation:[0,0,0],cz:0,type:"Flower",name:"Bellflower",id:"kGacG4GbyL6sr53BA3szew",lx:.4,cx:10.087718880149556,normal:[0,0,1],cy:-5.171937637087455,locked:!0,lz:.8},{rotation:[0,0,0],parentId:"Ground",cz:0,id:"3mzXsN58FdxQCLpv8kVCYw",normal:[0,0,1],selected:!1,name:"Bellflower",locked:!0,cx:11.337264912334188,lx:.4,type:"Flower",lz:.8,cy:-4.906129973770318},{rotation:[0,0,0],normal:[0,0,1],cy:-3.991597909938303,cz:0,name:"Bellflower",locked:!0,lz:.8,type:"Flower",lx:.4,id:"acUhTF9RVe5riGAE9cfhJn",cx:10.431075288929677,parentId:"Ground",selected:!1},{name:"Bellflower",id:"ooTJkhwo3iWiDqyRe6jwef",cx:9.86441386534317,cy:-4.67810479084557,parentId:"Ground",normal:[0,0,1],selected:!1,lx:.4,locked:!0,rotation:[0,0,0],cz:-8881784197001252e-31,type:"Flower",lz:.8},{lz:.5,rotation:[0,0,0],name:"White Flower",selected:!1,type:"Flower",cz:0,lx:.8,id:"p8SDFTinzKkCMVNKYGXSQU",cx:9.406250442154278,normal:[0,1,0],locked:!0,cy:-4.8162245440076354,parentId:"Ground"},{cz:0,selected:!1,cx:9.924833666037356,type:"Flower",rotation:[0,0,0],locked:!0,name:"White Flower",cy:-5.548260780564018,parentId:"Ground",lz:.5,lx:.8,normal:[0,0,1],id:"vXr6WeGdxpL14pfLB8tAGS"},{normal:[0,1,0],rotation:[0,0,0],lz:2,selected:!1,cz:.03700868412863657,parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.8637473869150567,locked:!0,lx:1,id:"8jaD71ndVi3Pxu67kBrHve",name:"Tall Bush",type:"Flower",cy:-5.021658074995834},{normal:[0,0,1],cx:1.960367825542456,lz:2,name:"Tall Bush",locked:!0,cz:.03700868412852288,parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"xu93thGDcf75KxzfVpckCK",lx:1,rotation:[0,0,0],cy:-5.044972777905908,selected:!1,type:"Flower"},{rotation:[0,0,0],id:"aPfi6ru8UEQvmRY7YmRfhQ",selected:!1,lx:2,cx:-2.974917470063473,name:"Hydrangea",parentId:"m7AH7DcnoGzAq9kryBy4RS",type:"Flower",lz:1.5,locked:!0,cy:-4.971526921550339,cz:.03700868412852377,normal:[0,0,1]},{cx:2.9943532379673203,lx:2,rotation:[0,0,0],selected:!1,cz:.03700868412852288,name:"Hydrangea",type:"Flower",parentId:"8fpWrU7qVyVgipB7LtABom",normal:[0,0,1],id:"p12f94kQKCXpPNEEPe9ktz",cy:-2.3800793411851497,locked:!0,lz:1.5},{parentId:"Ground",cz:4440892098500626e-31,cx:-8.658559512721883,id:"8MCf8WzkvdtkVT9MPmDy4G",cy:.2268652768492938,rotation:[0,0,0],normal:[0,0,1],lx:5.410682322966088,locked:!0,type:"Tree",selected:!1,lz:5.9930306282885,name:"Magnolia"},{name:"Yellow Flower",type:"Flower",locked:!0,rotation:[0,0,0],cy:-3.717743510806919,id:"kwZdR8kant3eBoLCjjUQCJ",lx:2,selected:!1,normal:[0,0,1],lz:1.4,cx:-8.813697651847779,parentId:"Ground",cz:-4440892098500626e-31},{lx:1,parentId:"Ground",lz:.7,rotation:[0,0,0],cx:-9.660182286895216,selected:!1,cy:-.10473626441648776,type:"Flower",cz:0,locked:!0,normal:[0,0,1],name:"Hosta",id:"hM4s39UWZUWNoUSUMHrmbJ"},{lz:.7,id:"nQgYQhsWvwPQorjAb4dSNv",rotation:[0,0,0],selected:!1,locked:!0,cz:0,cx:-9.04189556545002,cy:-.8584081924043119,lx:1,name:"Hosta",type:"Flower",normal:[0,0,1],parentId:"Ground"},{selectedIndex:1,noOutline:!0,lx:.4,id:"eYBEchBwdGr5aCP6pHEkhr",vertices:[{x:-.04166666666666669,y:-.13775856472283443},{y:-.00265513883370061,x:-.04166666666666669},{x:.041666666666666616,y:-.00265513883370061},{x:.041666666666666616,y:-.13775856472283443}],text:"175",opacity:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",fontSize:.3,cy:-.2942089556230589,rotation:[0,0,0],ly:.4,selected:!1,normal:[0,0,1],fontStrokeWidth:.01,cz:0,parentType:"Wall",lz:.4,fontColor:"gold",parentId:"cV8MyCuhWAsvEyyFuVqVqg",filled:!0,type:"Polygon",locked:!0,cx:-.00213352886578518,color:"#ffffff"},{lx:.10666666666666667,locked:!0,parentId:"8XDG3EHsQoX26MhuzwMYUM",normal:[0,1,0],type:"Door",cz:-.3986137684780472,lineWidth:.2,doorType:"Default",textureType:"Door Texture #8",uValue:10,color:"#ffffff",rotation:[0,0,0],selected:!1,archHeight:1,ly:0,lz:.20277246304390567,interior:!0,filled:!1,id:"d48TNpLXWZQD5hZa4SumwF",showLabel:!1,lineColor:"#000000",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.013333333333333334,cy:0},{type:"Window",color:"#ffffff",empty:!0,opacity:.5,normal:[0,-1,0],parentType:"Roof",lx:6.2858321442603895,rotation:[.535854716076799,0,0],lineColor:"#000000",lz:2.946512926202779,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frame:!0,ly:.2,cz:4.9719401800066105,showLabel:!1,cy:-2.2182418146601295,windowType:"Default",sillWidth:0,mullionSpacing:.5,frameWidth:.1,mullion:!1,locked:!0,uValue:2,selected:!1,mullionColor:"#ffffff",interior:!0,cx:.546396492045166,tint:"#73D8FF",archHeight:1,id:"qbq4krxSBYqvGnjWC2BaZ6",shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},parentId:"nbw17kYeUHp1aouuScuF3Y",lineWidth:.2,mullionWidth:.06}],gln=19,mln={visibilityResultsPanelY:0,showSunAngles:!1,showYearlyBuildingEnergyPanel:!1,yearlyPvYieldPanelY:0,mapWeatherStations:!1,enableRotate:!0,showYearlyHeliostatYieldPanel:!1,heatFluxScaleFactor:5,dailyParabolicTroughYieldPanelY:0,dailyBuildingEnergyPanelRect:{y:237,height:360,x:-520,width:600},yearlyParabolicTroughYieldPanelY:0,showDesignInfoPanel:!1,cameraPosition:[-8.799358255746082,-16.959783561056284,1.954611653271045],yearlyPvYieldPanelX:0,yearlyHeliostatYieldPanelY:0,mapPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,solarRadiationHeatMapReflectionOnly:!1,stickyNotePanelY:0,cameraZoom:38.96037486782549,autoRotate:!1,yearlyBuildingEnergyPanelRect:{height:400,x:-78,y:157,width:600},showSolarPanelVisibilityResultsPanel:!1,yearlyParabolicDishYieldPanelX:0,mapTilt:0,weatherPanelX:0,theme:"Hill",yearlyHeliostatYieldPanelX:0,showMapPanel:!1,groundColor:"forestgreen",dailyFresnelReflectorYieldPanelX:0,dailyPvYieldPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicDishYieldPanelY:0,dailyHeliostatYieldPanelX:0,showDailyHeliostatYieldPanel:!1,ambientLightIntensity:.2,axes:!0,solarRadiationHeatMapMaxValue:5,directLightIntensity:2,groundImage:!1,mapPanelX:0,showWeatherPanel:!1,showYearlyParabolicDishYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:0,showHeliodonPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:0,showYearlyParabolicTroughYieldPanel:!1,mapZoom:18,heliodonPanelY:0,dailyFresnelReflectorYieldPanelY:0,dailyLightSensorPanelY:0,yearlyParabolicDishYieldPanelY:0,weatherPanelY:0,mapType:"roadmap",yearlyFresnelReflectorYieldPanelY:0,showDailyBuildingEnergyPanel:!1,showDailyParabolicTroughYieldPanel:!1,heliodonPanelX:0,visibilityResultsPanelX:0,showDailyFresnelReflectorYieldPanel:!1,stickyNotePanelX:0,orthographic:!1,yearlyParabolicTroughYieldPanelX:0,showStickyNotePanel:!1,showDailyPvYieldPanel:!1,dailyLightSensorPanelX:0,showDailyParabolicDishYieldPanel:!1,heliodon:!1,cameraPosition2D:[.3385955283596493,-.9616823668411001,150],showYearlyPvYieldPanel:!1,navigationView:!1,panCenter:[-1.2725556781216778,-2.9298638165589974,1.954611653271045],panCenter2D:[.3385955283596493,-.960681989394115,-984385140521351e-21],showInstructionPanel:!0,dailyHeliostatYieldPanelY:0,yearlyLightSensorPanelY:0,dailyParabolicDishYieldPanelX:0,yearlyLightSensorPanelX:0,showSiteInfoPanel:!0,showDailyLightSensorPanel:!1},yln={yearlyHeliostatIndividualOutputs:!1,dailyPvIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1},Aln=1,wln={poleSpacing:3,interRowSpacing:2,tiltAngle:0,orientation:"Landscape",poleHeight:1,rowAxis:"Zonal",rowsPerRack:1,pvModelName:"SPR-X21-335-BLK"},vln={maximumTiltAngle:1.5707963267948966,maximumInterRowSpacing:10,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",poleSpacing:5,poleHeight:1,minimumInterRowSpacing:2,maximumRowsPerRack:6,minimumRowsPerRack:1},xln={geneticAlgorithmParams:{mutationRate:.1,localSearchRadius:.1,populationSize:20,selectionMethod:1,crossoverRate:.5,convergenceThreshold:.01,searchMethod:1,selectionRate:.5,problem:"Solar Panel Tilt Angle",maximumGenerations:5,objectiveFunctionType:1},particleSwarmOptimizationParams:{convergenceThreshold:.01,searchMethod:1,localSearchRadius:.1,vmax:.01,maximumSteps:5,problem:"Solar Panel Tilt Angle",swarmSize:20,cognitiveCoefficient:.1,inertia:.8,objectiveFunctionType:1,socialCoefficient:.1}},bln={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},Sln="Unknown",Tln=null,Pln=null,Cln=null,Rln=null,Hln=[],Mln=3,Iln=3,zln={docid:lln,time:sln,timestamp:cln,userid:uln,owner:dln,email:fln,world:hln,elements:pln,sceneRadius:gln,view:mln,graphState:yln,evolutionMethod:Aln,solarPanelArrayLayoutParams:wln,solarPanelArrayLayoutConstraints:vln,evolutionaryAlgorithmState:xln,economicsParams:bln,modelType:Sln,modelAuthor:Tln,modelLabel:Pln,modelDescription:Cln,designProjectType:Rln,notes:Hln,minimumNavigationMoveSpeed:Mln,minimumNavigationTurnSpeed:Iln},Dln="4MEDLVu1wYqsKgVHnu73g2",Eln="06/19/2023 12:53 pm",kln=1687193611217,Fln="QWecNcxhyvP6j6sBN11hBsfZDau1",Lln=null,Wln=null,Nln={solarRadiationHeatmapGridCellSize:.25,date:"10/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Uln=[{ly:11.161213715568111,solarUpdraftTower:{},parentId:"Ground",cx:.43688740998646924,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.6256010051791083,type:"Foundation",solarPowerTower:{},lx:15.01849429025864,lz:.15,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.075,enableGroupMaster:!0,color:"#999999",locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"78T3MkimgRTSnmRTMhRnJm",ly:.1,rightPoint:[-6.121296160650631,3.6736355578602797,.15],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"No Wall Texture",leftPoint:[5.878703839349369,3.6736355578602797,.15],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.12129616065063109,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.6736355578602797,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.878703839349369,leftPoint:[5.878703839349369,-3.8263644421397207,.15],cy:-.07636444213971982,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.878703839349369,3.6736355578602797,.15],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",rightRoofHeight:4.0189625473598385,roofId:"78T3MkimgRTSnmRTMhRnJm",color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{lx:7.5,lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"78T3MkimgRTSnmRTMhRnJm",selected:!1,cy:-.07636444213971982,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-6.121296160650631,-3.8263644421397207,.15],normal:[0,0,1],rotation:[0,0,0],textureType:"No Wall Texture",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.121296160650631,3.6736355578602797,.15],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.1,cx:-6.121296160650631,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{showLabel:!1,cx:-.12129616065063109,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.878703839349369,-3.8263644421397207,.15],cz:2.4938633836176103,textureType:"No Wall Texture",cy:-3.8263644421397207,id:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"78T3MkimgRTSnmRTMhRnJm",leftPoint:[-6.121296160650631,-3.8263644421397207,.15],normal:[0,0,1],ly:.1,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#009ce0",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#009ce0",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.09751468078404088,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#009ce0",cz:-.09751468078404088,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#009ce0",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#009ce0",lx:.13333333333333333,cx:.3333333333333333,cz:-.0726954122459649,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0726954122459649,lx:.13333333333333333,color:"#009ce0",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.16666666666666666,ly:0,lz:.624410216345127,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Door",cx:-.006666666666666672,cy:0,cz:-.18779489182743653,lx:.2,ly:0,lz:.624410216345127,textureType:"Door Texture #4",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Judd",cx:-1.6517669050671016,cy:-5.151915789984621,cz:0,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.544,locked:!1,flip:!0},{type:"Window",cx:0,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:1,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"6fPaBMTjYg9NPR7fFaHY6L",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},selected:!1,locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Tree",name:"Maple",cx:11.865118463765427,cy:-5.577986315935053,cz:8881784197001252e-31,lx:16.05619920115618,lz:13.259443372641188,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fvxLBBmjibSLAyfoLcbVjh",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-3.0750695946303814,cy:-4.227743581523945,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c6WoCyEbuQkywzSj8xtBF2",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.0998220675663912,cy:5.661327124584192,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2agGn2N16sYDjc7TtzRo77",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-1.443673320056662,cy:5.538396761407162,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"817xHue6rUfnaS7Rb7KYEp",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:3.7512645617671208,cy:-4.363148504838203,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gonFzZtq1wiiYeCU4hrBiQ",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:-12.252366424027322,cy:-4.618748106171015,cz:0,lx:8.855861155358149,lz:12.194962084865425,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qpT1N3VZfjdrNWS4GttCXC",selected:!1,locked:!1},{type:"Human",name:"Jena",cx:.8275383928823183,cy:-9.624350207348813,cz:0,lx:.695,ly:.695,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gqeggrZFS756iNyQUnbtUf",selected:!1,locked:!1,flip:!0},{type:"Tree",name:"Elm",cx:13.111399109297015,cy:-1.1973027476553462,cz:0,lx:10.046562775206576,lz:8.109426488433453,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rAcrYXcgzcVotvfd1MPBUS",selected:!1,locked:!1,flip:!0},{type:"Wall",cx:-2.2052541270362322,cy:.8790814624363403,cz:3.903941909848086,lx:1.6301713902021722,ly:.1,lz:7.36138516954615,leftJoints:["7th3drNVpuY5AYVdUWYMmr"],rightJoints:["4phTBDkfBQXjkb4Rk7FnE9"],leftPoint:[-1.3901684319351464,.8790814624363403,.13318518579593203],rightPoint:[-3.020339822137318,.8790814624363402,.13318518579593203],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"nKrKhaZnvb6NWdN1cuPNPQ",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-1.390168431935146,cy:.1417655180283693,cz:3.5644394786617815,lx:1.4746318888159395,ly:.1,lz:7.36138516954615,leftJoints:["kWszqFPBGdK8r8abVTohoG"],rightJoints:["nKrKhaZnvb6NWdN1cuPNPQ"],leftPoint:[-1.390168431935146,-.5955504263796001,.13318518579593203],rightPoint:[-1.3901684319351464,.8790814624363403,.13318518579593203],relativeAngle:1.570796326794897,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"7th3drNVpuY5AYVdUWYMmr",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-3.020339822137318,cy:.14176551802837095,cz:3.660138480027889,lx:1.4746318888159395,ly:.1,lz:7.36138516954615,leftJoints:["nKrKhaZnvb6NWdN1cuPNPQ"],rightJoints:["kWszqFPBGdK8r8abVTohoG"],leftPoint:[-3.020339822137318,.8790814624363402,.13318518579593203],rightPoint:[-3.020339822137318,-.5955504263796002,.13318518579593203],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"4phTBDkfBQXjkb4Rk7FnE9",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-2.2052541270362322,cy:-.5955504263796001,cz:3.535805069111796,lx:1.6301713902021722,ly:.1,lz:7.36138516954615,leftJoints:["4phTBDkfBQXjkb4Rk7FnE9"],rightJoints:["7th3drNVpuY5AYVdUWYMmr"],leftPoint:[-3.020339822137318,-.5955504263796002,.13318518579593203],rightPoint:[-1.390168431935146,-.5955504263796001,.13318518579593203],relativeAngle:0,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"kWszqFPBGdK8r8abVTohoG",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Foundation",cx:.3077078971226189,cy:3.0276471134665144,cz:.05,lx:6.050585488591402,ly:1.8221381985905813,lz:.13318518579593203,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tn6VdYYXt613XceYDyUpJ9",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Tree",name:"Elm",cx:20.67846328505893,cy:-9.20268218529909,cz:0,lx:12.433839488245253,lz:9.836057268637402,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"6U6bXmGtKfkYqAs2kythZy",selected:!1,locked:!1},{type:"Tree",name:"Oak",flip:!0,cx:-10.79612992548108,cy:-.5136286397841126,cz:0,lx:8.855861155358149,lz:10.429490037118851,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kMBedsoq9QVDjasDrQWT4V",selected:!1,locked:!1},{type:"Window",cx:-.012652630358459416,cy:.3,cz:-.43145161207114374,lx:.7034406025498919,ly:.1,lz:.1120689672961754,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"4phTBDkfBQXjkb4Rk7FnE9",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"j6NUHZizYhFTiAyWQhXoD9",locked:!1},{type:"Polygon",cx:.07638982322958343,cy:-.25928828992332453,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.08333333333333336,y:-.3349639302840458},{x:-.08333333333333336,y:-.21055371393891886},{x:.08333333333333327,y:-.21055371393891886},{x:.08333333333333327,y:-.3349639302840458}],parentId:"cV8MyCuhWAsvEyyFuVqVqg",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:2,id:"riLcPLsK7W8zeEnjZw8gRf",text:"1776",fontSize:.3,fontColor:"gold",opacity:0,noOutline:!0,fontStrokeWidth:.01,locked:!1},{type:"Foundation",cx:.33379757598519466,cy:-2.7971719396742896,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"qGYqGFx5QHvCYMPqUamwtg",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["fHfbtb59n24haPtRTBRcYJ"],rightJoints:["1jiwH1dGqmJCE577Ac4BpJ"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oQTYhBNys7ET4C3deVBZ5Q",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["5nN1y4Kn3NGWF4MsuL2gGg"],rightJoints:["oQTYhBNys7ET4C3deVBZ5Q"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fHfbtb59n24haPtRTBRcYJ",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["oQTYhBNys7ET4C3deVBZ5Q"],rightJoints:["5nN1y4Kn3NGWF4MsuL2gGg"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1jiwH1dGqmJCE577Ac4BpJ",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["1jiwH1dGqmJCE577Ac4BpJ"],rightJoints:["fHfbtb59n24haPtRTBRcYJ"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5nN1y4Kn3NGWF4MsuL2gGg",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mLmsMTSYV91NUMvpsqsFiG",parentId:"5nN1y4Kn3NGWF4MsuL2gGg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"rYxSTT1cUyicscf7Y4FuC6",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["1jiwH1dGqmJCE577Ac4BpJ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.27,thickness:.1,rValue:2,color:"#4d4d4d",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["7th3drNVpuY5AYVdUWYMmr","nKrKhaZnvb6NWdN1cuPNPQ","4phTBDkfBQXjkb4Rk7FnE9","kWszqFPBGdK8r8abVTohoG"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"a4xCB5WuiLgF5jeoo2tZKb",locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"7th3drNVpuY5AYVdUWYMmr",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"bgYTJi5DzEFJGVCo57XuYk",locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6134324317125827,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ooToYHmPZvhwYzrAb3RyWE",parentId:"nKrKhaZnvb6NWdN1cuPNPQ",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gozabRkLLupzqY7JtKZ5DU",parentId:"4phTBDkfBQXjkb4Rk7FnE9",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Window",cx:.03235145506019523,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"suAHKZgUHocvdJbxFoH78W",parentId:"kWszqFPBGdK8r8abVTohoG",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Foundation",cx:3.2150216052788303,cy:-2.8132764716626193,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"gh4c13r9yNg7ppA3VVwrX8",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["9qfdnpKV9WxuYmpphDkmD4"],rightJoints:["j9Z8EowBvMVCM2dwgKYy1y"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"trW1X3K7auhSfAooobgEiw",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["3x1iWRnJVD2nF7eUVd16Wm"],rightJoints:["trW1X3K7auhSfAooobgEiw"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9qfdnpKV9WxuYmpphDkmD4",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["trW1X3K7auhSfAooobgEiw"],rightJoints:["3x1iWRnJVD2nF7eUVd16Wm"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j9Z8EowBvMVCM2dwgKYy1y",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["j9Z8EowBvMVCM2dwgKYy1y"],rightJoints:["9qfdnpKV9WxuYmpphDkmD4"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3x1iWRnJVD2nF7eUVd16Wm",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6LzR6eV1uwci9irbGqdmsg",parentId:"3x1iWRnJVD2nF7eUVd16Wm",foundationId:"gh4c13r9yNg7ppA3VVwrX8",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"685MKS7u6S8wM1nxD2jLoc",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["j9Z8EowBvMVCM2dwgKYy1y"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Foundation",cx:-4.860568941525044,cy:.763315834515849,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"js7EaM7SDLKEtCc7cBhAUc",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["tJ9GgBix3PLQrNArenRuzc"],rightJoints:["mnsM5PmgqiqpCUSahppEQQ"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"4oWBJBVuW5ddc3zLD4mbeh",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["41NvU5MXffjBBr51nmDdGG"],rightJoints:["4oWBJBVuW5ddc3zLD4mbeh"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"tJ9GgBix3PLQrNArenRuzc",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["4oWBJBVuW5ddc3zLD4mbeh"],rightJoints:["41NvU5MXffjBBr51nmDdGG"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"mnsM5PmgqiqpCUSahppEQQ",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["mnsM5PmgqiqpCUSahppEQQ"],rightJoints:["tJ9GgBix3PLQrNArenRuzc"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"41NvU5MXffjBBr51nmDdGG",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-.0038568156424866754,cy:.3,cz:.4134081675516749,lx:.692708509302027,ly:.1,lz:.1601496684366832,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9EeeFoACPVE8MLe3zorx4K",parentId:"41NvU5MXffjBBr51nmDdGG",foundationId:"js7EaM7SDLKEtCc7cBhAUc",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"bz1WrgXhu5EcEAR9GxS6yF",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["mnsM5PmgqiqpCUSahppEQQ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],ridgeWidth:1.783225650631956,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"78T3MkimgRTSnmRTMhRnJm",locked:!1,rise:2.3357705249971685,ceiling:!1},{type:"Foundation",cx:5.500184342397144,cy:.616975206751395,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"f7TRNhRrBM6HewS6E1guoW",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["rRB8ra1Qwyw4iiHGHnpVZi"],rightJoints:["1hwtcWgsscfNjYqgnjhvtn"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"pNGTThD5hH42KcpY4sRcaQ",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["eqjL2dbMLsHLvayC5LyFuv"],rightJoints:["pNGTThD5hH42KcpY4sRcaQ"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"rRB8ra1Qwyw4iiHGHnpVZi",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["pNGTThD5hH42KcpY4sRcaQ"],rightJoints:["eqjL2dbMLsHLvayC5LyFuv"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"1hwtcWgsscfNjYqgnjhvtn",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["1hwtcWgsscfNjYqgnjhvtn"],rightJoints:["rRB8ra1Qwyw4iiHGHnpVZi"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"eqjL2dbMLsHLvayC5LyFuv",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-.0038568156424866754,cy:.3,cz:.4134081675516749,lx:.692708509302027,ly:.1,lz:.1601496684366832,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mDEuMJDYX8TiA5aadxRnBu",parentId:"eqjL2dbMLsHLvayC5LyFuv",foundationId:"f7TRNhRrBM6HewS6E1guoW",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"hWL7sH8U7YoQ4wHgsqH7VK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["1hwtcWgsscfNjYqgnjhvtn"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Window",cx:-2.9061219154167555,cy:-3.497482825893301,cz:5.031519407546503,lx:1.300297700517698,ly:.1,lz:1.9655762500908776,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674956,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"dqF6aB1PLVLHAKyQxUkNWg",locked:!1,interior:!0,empty:!0},{type:"Window",cx:-.13217799837949085,cy:-3.466819756320384,cz:5.102337732905447,lx:1.0067165265651998,ly:.1,lz:2.114356430670708,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674956,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"s7X1mdRRoj7fgg7jLfkGQy",locked:!1,interior:!0,empty:!0,polygonTop:[.013284896561776944,.31018938223150583]},{type:"Window",cx:2.7465783818144205,cy:-3.5046143246410884,cz:5.015048753901841,lx:1.1969599659290129,ly:.1,lz:1.7862306602865088,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674958,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"4ExkckYEtLvi3sMjGcHsBj",locked:!1,interior:!0,empty:!0},{type:"Window",cx:-5.33506170232176,cy:.09994590152917182,cz:5.333416244357606,lx:1.2282372453539805,ly:.1,lz:1.511969232086556,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.9962527086505618,0,4.71238898038469],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gFPFPr9Hy5FNU5ri2g3ZMj",locked:!1,interior:!0,empty:!0},{type:"Window",cx:5.09996147816442,cy:-.02661611464564695,cz:5.321843608513025,lx:1.1961819365662594,ly:.1,lz:1.1993416949141293,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.9962527086505618,0,1.5707963267948966],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hYKzofeHiHD2fL3mK24K6U",locked:!1,interior:!0,empty:!0},{type:"Foundation",cx:-2.443546493608035,cy:-2.7953215648047354,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"k5csVFnyrpYrBkQNWDouaF",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["hhfft6jEyF5V7W3kNGR7VB"],rightJoints:["vuuABxxTWnhAaFBLMw5wsz"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uTXQVHi382ou2WhVmDTfzD",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["4fS3C4uw4LVSpSngSsA7dR"],rightJoints:["uTXQVHi382ou2WhVmDTfzD"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hhfft6jEyF5V7W3kNGR7VB",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["uTXQVHi382ou2WhVmDTfzD"],rightJoints:["4fS3C4uw4LVSpSngSsA7dR"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vuuABxxTWnhAaFBLMw5wsz",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["vuuABxxTWnhAaFBLMw5wsz"],rightJoints:["hhfft6jEyF5V7W3kNGR7VB"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4fS3C4uw4LVSpSngSsA7dR",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bKJgLy3t9PMmV69scLag6y",parentId:"4fS3C4uw4LVSpSngSsA7dR",foundationId:"k5csVFnyrpYrBkQNWDouaF",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"3dnKtcKTXnG1eDaqcB1sdk",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["vuuABxxTWnhAaFBLMw5wsz"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Window",cx:-.2967756977486685,cy:.20088911106289942,cz:6.454733072357007,lx:1.191642955374655,ly:.1,lz:1.1555332790892452,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"iuNzbNXdWiXkLCQooXhnqK"}],Bln=34,jln={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.5484163619340843,.44578561471726313,8140182408063113e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.5484163619340843,.4447852372714149,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-8.484010006399412,-18.277620093544904,3.817556225217015],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:50.3506522061685,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[2.1400728033642977,-1.125989332642603,3.1050102010198306],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:6},Yln={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Oln=1,_ln={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Vln={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Gln={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Xln={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Jln="Unknown",Kln=null,qln=null,$ln=null,Qln=[],Zln={docid:Dln,time:Eln,timestamp:kln,userid:Fln,owner:Lln,email:Wln,world:Nln,elements:Uln,sceneRadius:Bln,view:jln,graphState:Yln,evolutionMethod:Oln,solarPanelArrayLayoutParams:_ln,solarPanelArrayLayoutConstraints:Vln,evolutionaryAlgorithmState:Gln,economicsParams:Xln,modelType:Jln,modelAuthor:Kln,modelLabel:qln,modelDescription:$ln,notes:Qln},esn="g9RKpzrgbWbsC1dbkpX9ZS",tsn="06/17/2023 02:55 pm",nsn=1687028106173,osn="QWecNcxhyvP6j6sBN11hBsfZDau1",isn=null,rsn=null,asn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},lsn=[{type:"Human",name:"Jaye",cx:-1.2513719184514027,cy:-6.372159113081112,cz:.03284187614917711,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.55,locked:!0},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.3,lz:6,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.3,lz:6,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.3,lz:6,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.3,lz:6,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Foundation",cx:.5149353122311684,cy:.036172415190780516,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,.6922319427215817],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,textureType:"Door Texture #3",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,.6922319427215817],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:2.2458395786002807,ceiling:!1},{type:"Window",cx:.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5CaMQ21unMpwofCSBHFHKy",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916777,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Human",name:"Jena",cx:.012588972336459392,cy:14.712453241561741,cz:0,lx:.695,ly:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"5FVsreGyGxfLQLGYPuw8VY",selected:!1,locked:!0},{type:"Wall",cx:-1.183865369768545,cy:.5782456514167715,cz:2.2408122612280286,lx:1.1862232825779104,ly:.1,lz:9.575974551005562,leftJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],rightJoints:["dMssi4ADwUhxkBhQ377g3E"],leftPoint:[-.59075372847959,.5782456514167715,0],rightPoint:[-1.7769770110575003,.5782456514167715,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"5koEPnk7n6ka7L389qtGvZ",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.59075372847959,cy:.043861762748918204,cz:2.2301039869226305,lx:1.0687677773357067,ly:.1,lz:9.575974551005562,leftJoints:["sW8KRkVjiejYRvNZCfXEAP"],rightJoints:["5koEPnk7n6ka7L389qtGvZ"],leftPoint:[-.59075372847959,-.4905221259189351,0],rightPoint:[-.59075372847959,.5782456514167715,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"pw9wMqrj3Enw2zC5Tgk6yR",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.7769770110575003,cy:.043861762748918204,cz:2.228839888904333,lx:1.0687677773357067,ly:.1,lz:9.575974551005562,leftJoints:["5koEPnk7n6ka7L389qtGvZ"],rightJoints:["sW8KRkVjiejYRvNZCfXEAP"],leftPoint:[-1.7769770110575003,.5782456514167715,0],rightPoint:[-1.7769770110575003,-.4905221259189351,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"dMssi4ADwUhxkBhQ377g3E",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.183865369768545,cy:-.4905221259189351,cz:2.268765007024547,lx:1.1862232825779104,ly:.1,lz:9.575974551005562,leftJoints:["dMssi4ADwUhxkBhQ377g3E"],rightJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],leftPoint:[-1.7769770110575003,-.4905221259189351,0],rightPoint:[-.59075372847959,-.4905221259189351,0],relativeAngle:0,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"sW8KRkVjiejYRvNZCfXEAP",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Foundation",cx:-6.963047317091872,cy:9.305275463657257,cz:.05,lx:3.9991959519547824,ly:1.4273945635779641,lz:.11969968188756955,normal:[0,0,1],rotation:[0,0,2.2629939081358477],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEHo3z28Ar77Wu5WGXMk73",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:.8037383988388016,cy:5.7479913822261075,cz:1.2963049013988683,lx:2.4667544114619777,ly:.1,lz:2.5926098027977367,leftJoints:["cRF4aFTgNdpMTdmopKNDYe"],rightJoints:["maCaKmF7W1UtJB4NhBQsX3"],leftPoint:[2.03711560456979,5.747991382226106,.06568375039354474],rightPoint:[-.4296388068921875,5.747991382226109,.06568375039354474],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"qA9MpNw8bZfY7qVfr846Q8",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Wall",cx:2.037115604569791,cy:-.0267801106673915,cz:1.2963049013988683,lx:11.549542985787003,ly:.3,lz:2.5926098027977367,leftJoints:["5ExmWkfAba5nuC3xfHo5vU"],rightJoints:["qA9MpNw8bZfY7qVfr846Q8"],leftPoint:[2.0371156045697902,-5.801551603560892,.06568375039354474],rightPoint:[2.03711560456979,5.747991382226106,.06568375039354474],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"cRF4aFTgNdpMTdmopKNDYe",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Stud",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Wall",cx:-.4296388068921877,cy:-.026780110667392,cz:1.2963049013988683,lx:11.549542985787003,ly:.1,lz:2.5,leftJoints:["qA9MpNw8bZfY7qVfr846Q8"],rightJoints:["5ExmWkfAba5nuC3xfHo5vU"],leftPoint:[-.4296388068921875,5.747991382226109,.06568375039354474],rightPoint:[-.4296388068921875,-5.801551603560892,.06568375039354474],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"maCaKmF7W1UtJB4NhBQsX3",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:.8037383988388016,cy:-5.801551603560892,cz:1.2963049013988683,lx:2.46675441146198,ly:.1,lz:2.5926098027977367,leftJoints:["maCaKmF7W1UtJB4NhBQsX3"],rightJoints:["cRF4aFTgNdpMTdmopKNDYe"],leftPoint:[-.4296388068921875,-5.801551603560892,.06568375039354474],rightPoint:[2.0371156045697902,-5.801551603560892,.06568375039354474],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"5ExmWkfAba5nuC3xfHo5vU",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Foundation",cx:4.89676730184058,cy:-5.153959605268503,cz:.05,lx:4.932837807071785,ly:16.292262691376934,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,2.2630282695164783],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"myXiyVt2NURPnPChDUSnvF",selected:!1,locked:!0,notBuilding:!0},{type:"Tree",name:"Maple",cx:-9.524500304672243,cy:13.709596046858643,cz:0,lx:10.834343460246352,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nHGsDGLUFhyht1nKkbShZS",selected:!1,locked:!0},{type:"Tree",name:"Maple",cx:-6.796534185824541,cy:18.258777569256825,cz:0,lx:15.381033043650339,lz:12.882589649504101,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"pYVQihimDYo3cuWwFUxGRV",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-2.2262641238571375,cy:-.2694473112048733,cz:.03284187614917755,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"pv5MXJzN7e4QwMAqb7AK2K",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-2.2467598257077848,cy:3.412268957127143,cz:.03284187614917755,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"evYRkJazdBwJn4ArepyeZH",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-2.3118748580987036,cy:-3.753623714118395,cz:.03284187614917755,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"mr1vQH3R9jwp2hzXcmJrDH",selected:!1,locked:!0},{type:"Wall",cx:.06987760561132239,cy:2.6725668112376275,cz:2.2408122612280286,lx:10.248709902558403,ly:.3,lz:6,leftJoints:["a5m5AvsmWigFtneecAXGMn"],rightJoints:["6PzfAQV8su7Enkckc6tSx8"],leftPoint:[5.194232556890523,2.672566811237627,0],rightPoint:[-5.054477345667879,2.672566811237628,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"82amhDo89t4LPzjbshEmmD",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:5.1942325568905225,cy:-.06239106653992166,cz:2.2301039869226305,lx:5.4699157555551,ly:.3,lz:6,leftJoints:["xvDTHckT6Jh3sPEoBy9XsM"],rightJoints:["82amhDo89t4LPzjbshEmmD"],leftPoint:[5.194232556890521,-2.7973489443174713,0],rightPoint:[5.194232556890523,2.672566811237628,0],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"a5m5AvsmWigFtneecAXGMn",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.858178072916449,rightUnfilledHeight:5.858178072916449,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.054477345667879,cy:-.06239106653992166,cz:2.228839888904333,lx:5.4699157555551,ly:.3,lz:6,leftJoints:["82amhDo89t4LPzjbshEmmD"],rightJoints:["xvDTHckT6Jh3sPEoBy9XsM"],leftPoint:[-5.054477345667878,2.672566811237628,0],rightPoint:[-5.054477345667879,-2.7973489443174713,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"6PzfAQV8su7Enkckc6tSx8",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.2742272581577952,cy:.1,cz:-.29166666666666663,lx:.1828181721051967,ly:.3,lz:.24999999999999992,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hskMbJc7MNggWVyJxXeWfq",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.27422725815779514,cy:.1,cz:-.29166666666666663,lx:.18281817210519707,ly:.3,lz:.24999999999999992,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t4tAXhCx5djrNJxXHT3ypA",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.27422725815779525,cy:.1,cz:.2916666666666666,lx:.1828181721051968,ly:.3,lz:.24999999999999986,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gDRnUAXHHxbgJda5pCBAaH",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.2742272581577952,cy:.1,cz:.2916666666666666,lx:.1828181721051969,ly:.3,lz:.24999999999999986,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jQdaLqe6Gc7eF6ukLyTX2V",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:.06987760561132239,cy:-2.7973489443174713,cz:2.268765007024547,lx:10.248709902558403,ly:.3,lz:6,leftJoints:["6PzfAQV8su7Enkckc6tSx8"],rightJoints:["a5m5AvsmWigFtneecAXGMn"],leftPoint:[-5.054477345667879,-2.7973489443174713,0],rightPoint:[5.194232556890523,-2.7973489443174713,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"xvDTHckT6Jh3sPEoBy9XsM",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{id:"wFnXk782R98H6AT2RALp7W",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-.8785643840733148],parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofType:"Gable",textureType:"Roof Texture Default",thickness:.1,wallsId:["xvDTHckT6Jh3sPEoBy9XsM"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:2.2458395786002807,ceiling:!1},{type:"Foundation",cx:-2.6332068809886726,cy:4.093457334157864,cz:.05,lx:13.955747653843215,ly:7.879103027392385,lz:.1,normal:[0,0,1],rotation:[0,0,-.8785643840733148],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8JaqTz5HE2vZh6f1qWauFD",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Window",cx:.2439331412216011,cy:.1,cz:.29742868877631434,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"a18ekWsi3At6CyxwfsEfLY",parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.2439331412216011,cy:.1,cz:-.20257131122368566,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ewmHx8vQmQCZbH72jjrubL",parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.1951465129772808,cy:.1,cz:.29742868877631434,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p47WFW8gx3h8pL5rWPaE9A",parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.1951465129772808,cy:.1,cz:-.28590464455701897,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKSHyHzpuwjQ6u42WTMQwe",parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Tree",name:"Maple",flip:!0,cx:-10.024831295895067,cy:-6.947888024156535,cz:3552713678800501e-30,lx:9.499179837441329,lz:8.91889941652548,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"17x5uLRhSti25y9wnQAD3e",selected:!1,locked:!0},{type:"Tree",name:"Maple",flip:!0,cx:7.8517108982888875,cy:-13.70932723423602,cz:0,lx:10.834343460246352,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"e2bctFXk26F3cCpiZ3zcBD",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",cx:9.46029508775506,cy:4.366435707994473,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rjMRf1bvBNLgz5CfSBmVBH",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:6.596349525650214,cy:7.3019799091519495,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4nuj6tR4dp4bVWBFmJcLMX",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:12.109444732702052,cy:1.502490145889622,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"coNQQ9v27FUH4psYEEKrzU",selected:!1,locked:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.004578461502795039,cy:-.18228950583714837,cz:7.217657963251398,lx:10.906,ly:5.23,lz:.046,showLabel:!1,normal:[0,-.4097333676171505,.9122053318530369],rotation:[.4221617487320859,0,0],color:"#fff",parentType:"Roof",parentId:"1iq4TPqH8xr1w2VxMAh8MU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"e4qFnFipJKb5qm8a1HUcvh",selected:!1,locked:!0},{type:"Human",name:"June",cx:5.394006234886843,cy:5.908204264429319,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"tW2AiaFFEyE2Ns8f1NeVn4",selected:!1,ly:.65,locked:!0},{type:"Tree",name:"Maple",flip:!0,cx:-5.079938766417403,cy:-11.600796953463268,cz:8881784197001252e-31,lx:9.499179837441329,lz:8.91889941652548,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"sFTDyq1WHUnyaCtK8Et8T3",selected:!1,locked:!0},{type:"Wall",cx:-.5668843269198223,cy:3.3269838316456033,cz:2.2408122612280286,lx:3.1143702580201373,ly:.1,lz:2.5,leftJoints:["5JFnb9etkW9gKawcVectpr"],rightJoints:["4EuwNxKwuEQyYWKDv2pmPC"],leftPoint:[.9903008020902468,3.3269838316456037,.06568375039354474],rightPoint:[-2.1240694559298916,3.3269838316456037,.06568375039354474],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"vN4erE1LRomCSRmHUxy4kc",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.16,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:.9903008020902477,cy:.19539461285221188,cz:2.2301039869226305,lx:6.263178437586782,ly:.1,lz:2.5,leftJoints:["oDVTwfwNuCQjh6t1rv6GNB"],rightJoints:["vN4erE1LRomCSRmHUxy4kc"],leftPoint:[.9903008020902475,-2.936194605941179,.06568375039354474],rightPoint:[.9903008020902482,3.326983831645603,.06568375039354474],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"5JFnb9etkW9gKawcVectpr",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.16,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:-2.1240694559298916,cy:.19539461285221216,cz:2.228839888904333,lx:6.263178437586782,ly:.3,lz:2.5,leftJoints:["vN4erE1LRomCSRmHUxy4kc"],rightJoints:["oDVTwfwNuCQjh6t1rv6GNB"],leftPoint:[-2.1240694559298916,3.3269838316456037,.06568375039354474],rightPoint:[-2.1240694559298934,-2.9361946059411803,.06568375039354474],relativeAngle:-1.570796326794897,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"4EuwNxKwuEQyYWKDv2pmPC",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.2,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:-.5668843269198227,cy:-2.9361946059411808,cz:2.268765007024547,lx:3.11437025802014,ly:.3,lz:2.5,leftJoints:["4EuwNxKwuEQyYWKDv2pmPC"],rightJoints:["5JFnb9etkW9gKawcVectpr"],leftPoint:[-2.1240694559298934,-2.9361946059411803,.06568375039354474],rightPoint:[.9903008020902475,-2.936194605941179,.06568375039354474],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"oDVTwfwNuCQjh6t1rv6GNB",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Pillar",structureSpacing:3,structureColor:"white",structureWidth:.2,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{id:"niExsBvaYVQdEU42Cfexz9",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.692197581340951],parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.1,wallsId:["oDVTwfwNuCQjh6t1rv6GNB"],rightRidgeLength:1.3155130008385778,leftRidgeLength:1.2587510331302654,selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-.26272797008951887,cy:8.1604401446677,cz:.05,lx:5.309542023727572,ly:8.144294099873703,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,.692197581340951],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hGX3VDUCbUqQb4byUBd7zY",selected:!1,locked:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["5ExmWkfAba5nuC3xfHo5vU"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,2.2630282695164783],parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",id:"gJReW7hpA5RV4sDmYkftax",leftRidgeLength:-1.2155130008385777,rightRidgeLength:1.3155130008385778,locked:!0,rise:1.3681252475370629,ceiling:!1},{type:"Polygon",cx:.04278236969738311,cy:-.2560980400226438,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.08333333333333333,y:-.4166666666666667},{x:-.08333333333333333,y:-.25},{x:.08333333333333333,y:-.25},{x:.08333333333333333,y:-.4166666666666667}],parentId:"beHqET5NN8aNdsuBncMpY7",parentType:"Wall",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,filled:!0,selectedIndex:1,id:"ikVqMPzpwnqJzyuQKJnm3R",text:"1204",fontColor:"gold",fontSize:.6,fontStrokeWidth:.01,noOutline:!0,opacity:0,locked:!0},{type:"Door",cx:-.020833333333333332,cy:0,cz:-.041666666666666664,lx:.2916666666666667,ly:0,lz:.9166666666666666,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"n3r5S7QrbxSVjZ7xS5KyLu",locked:!0,interior:!0},{type:"Door",cx:-.2792719769465921,cy:0,cz:-.024999999999999984,lx:.36339744091590337,ly:0,lz:.9500000000000001,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"igRWHnMRS6fxTHqNXYPWef",locked:!0,interior:!0},{type:"Door",cx:.2792719769465921,cy:0,cz:-.024999999999999984,lx:.36339744091590337,ly:0,lz:.9500000000000001,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"qMCLuvG8BqaZaKpZzUtedz",locked:!0,interior:!0},{type:"Window",cx:3.404624864058591,cy:2.7885016621952796,cz:6.004798871333477,lx:3.4895626397811177,ly:.1,lz:.17796770265695697,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6875112116901372,0,3.141592653589793],parentId:"wFnXk782R98H6AT2RALp7W",parentType:"Roof",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"7jkKGZrNg3fgmgiepuiVd6",polygonTop:[-.4938087607108084,3.421264074035363],locked:!0},{type:"Window",cx:3.296162482623047,cy:-2.8950100151340963,cz:6.019804579108658,lx:3.6646685608352865,ly:.1,lz:.1258033813461092,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6875112116901371,0,-2220446049250313e-31],parentId:"wFnXk782R98H6AT2RALp7W",parentType:"Roof",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"8TA7azNRBiNJHZ7UE6h9mn",polygonTop:[.4950567748754359,3.3542143495155483],locked:!0},{type:"Window",cx:.1444278091371094,cy:4.845674679128341,cz:6.11808489875612,lx:5.117648906007396,ly:.1,lz:.03540983073830939,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4221617487320861,0,3.141592653589793],parentId:"1iq4TPqH8xr1w2VxMAh8MU",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"tR6G6HakBCyhofJHaGkXmp",polygonTop:[.01012300685908669,5.088349513682089],locked:!0}],ssn=32,csn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.504837297056488,2.0699150930784547,3503755702267236e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.504837297056488,2.0689147156290253,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[25.3008289766012,.2505638757784885,4.9037705563101905],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:43.16939043526372,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.0370877496821287,2.0688812675610166,1.5303345515052023],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},usn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},dsn=1,fsn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},hsn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},psn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},gsn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},msn="Unknown",ysn=null,Asn=null,wsn=null,vsn=[],xsn={docid:esn,time:tsn,timestamp:nsn,userid:osn,owner:isn,email:rsn,world:asn,elements:lsn,sceneRadius:ssn,view:csn,graphState:usn,evolutionMethod:dsn,solarPanelArrayLayoutParams:fsn,solarPanelArrayLayoutConstraints:hsn,evolutionaryAlgorithmState:psn,economicsParams:gsn,modelType:msn,modelAuthor:ysn,modelLabel:Asn,modelDescription:wsn,notes:vsn},bsn="vK6VS27r7ebuK4Vrn5FXEP",Ssn="06/15/2023 09:51 am",Tsn=1686837060482,Psn="QWecNcxhyvP6j6sBN11hBsfZDau1",Csn=null,Rsn=null,Hsn={solarRadiationHeatmapGridCellSize:.5,date:"10/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Msn=[{ly:10.473983232081025,solarUpdraftTower:{},parentId:"Ground",cx:-.22738864151314608,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.8212100903152013,type:"Foundation",solarPowerTower:{},lx:13.564552414056891,lz:1.5,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.75,enableGroupMaster:!1,color:"#999999",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",ly:.3,rightPoint:[-5.457020109151015,3.478026472724187,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture #10",leftPoint:[6.542979890848985,3.478026472724187,.1],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.5429798908489842,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.478026472724187,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.542979890848985,leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.542979890848985,3.478026472724187,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.807600955038734],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",rightRoofHeight:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{lx:7.5,windows:[],lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"nbw17kYeUHp1aouuScuF3Y",selected:!1,cy:-.27197352727581237,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[.022465454047944533,6.807600955038734],rightPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture #10",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.3,cx:-5.457020109151015,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{showLabel:!1,cx:.5429798908489842,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,textureType:"Wall Texture #10",cy:-4.021973527275812,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y",leftPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],ly:.3,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.05,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Foundation",ly:9.25428200301757,lz:1.5,rotation:[0,0,0],cz:.75,cx:-3.7362314250129023,lx:6.612524274166,parentId:"Ground",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},solarUpdraftTower:{},normal:[0,0,1],cy:-1.5723524020196393,id:"8fpWrU7qVyVgipB7LtABom",color:"#999999",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{showLabel:!1,cz:3.903941909848086,roofId:"7MxSmgNk4kQf8eNqmnwjMJ",lz:6,ly:.1,leftRoofHeight:6,relativeAngle:3.141592653589793,rightRoofHeight:6,leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],lx:1.1421683491180719,windows:[],parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],rightJoints:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Wall Texture #10",cx:-.03446770657950715,leftPoint:[.5366164679795284,1.8199505814331163,1.5],type:"Wall",rightPoint:[-.6055518811385436,1.8199505814331163,1.5],id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.8199505814331163,normal:[0,0,1],selected:!1,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.823266113240277],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.034605844072436,rightUnfilledHeight:4.034605844072436,leftTopPartialHeight:6,rightTopPartialHeight:6},{normal:[0,0,1],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:6,selected:!1,ly:.1,cz:3.5644394786617815,id:"4Q8KDQDxyuamkEtRJU3paR",rotation:[0,0,0],cy:.25713866261073326,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],leftPoint:[.5366164679795284,-1.3056732562116498,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",textureType:"Wall Texture #10",cx:.5366164679795284,showLabel:!1,leftRoofHeight:6,foundationId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:1.5707963267948966,windows:[],rightRoofHeight:6,type:"Wall",parentId:"8fpWrU7qVyVgipB7LtABom",rightPoint:[.5366164679795289,1.8199505814331163,1.5],lx:3.125623837644766,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.299511925163531,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],parentId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,leftRoofHeight:6,selected:!1,id:"1ATAe6P2KAHKLDSDfpVro9",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],textureType:"Wall Texture #10",cx:-.6055518811385436,rightPoint:[-.6055518811385436,-1.3056732562116498,1.5],lz:6,relativeAngle:-1.5707963267948966,normal:[0,0,1],type:"Wall",cz:3.660138480027889,rotation:[0,0,0],leftPoint:[-.6055518811385436,1.8199505814331163,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",foundationId:"8fpWrU7qVyVgipB7LtABom",lx:3.125623837644766,cy:.25713866261073326,windows:[],ly:.1,rightRoofHeight:6,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.0310074855252225,leftTopPartialHeight:6,rightTopPartialHeight:6},{ly:0,cx:0,type:"Roof",thickness:.1,ridgeLeftPoint:[.022465454047944533,1],textureType:"Roof Texture #7",showLabel:!1,lz:0,normal:[0,0,1],ridgeRightPoint:[-.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,roofType:"Gable",id:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",cz:0,rotation:[0,0,0],lx:0,color:"#666666",locked:!0,rise:2.7886384076788957,ceiling:!0},{rightPoint:[.5366164679795284,-1.3056732562116498,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",selected:!1,parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],cx:-.03446770657950715,ly:.1,relativeAngle:0,cz:3.535805069111796,rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],leftRoofHeight:6,rightRoofHeight:6,id:"7xigJB2WiCCrREDc2Ja3YN",normal:[0,0,1],leftPoint:[-.6055518811385436,-1.3056732562116498,1.5],type:"Wall",cy:-1.3056732562116498,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],lz:6,windows:[],showLabel:!1,textureType:"Wall Texture #10",lx:1.1421683491180719,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.823266113240277],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9620846370965292,rightUnfilledHeight:3.9620846370965292,leftTopPartialHeight:6,rightTopPartialHeight:6},{normal:[0,0,1],rotation:[0,0,0],lz:1.5,cz:.75,solarPowerTower:{},parentId:"Ground",ly:2.3229214459557985,lx:3.6868215598526417,cx:6.212507460282481,solarUpdraftTower:{},cy:.2598608554811861,solarAbsorberPipe:{},id:"3KgcTmNBqtYJcCny8HxQyQ",type:"Foundation",selected:!1,color:"#999999",locked:!0,notBuilding:!0},{id:"5eUwuiBwfGoNEpcHG5kHqK",lx:1.5,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[-.5114783908278628,.8698262658360515,.1],foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",textureType:"Wall Texture #3",cz:0,cx:.23852160917213716,selected:!1,rotation:[0,0,0],windows:[],normal:[0,0,1],ly:.2,lz:7.729424429660076,showLabel:!1,cy:.8698262658360515,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],type:"Wall",relativeAngle:3.141592653589793,studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{type:"Wall",leftPoint:[-.5114783908278628,.8698262658360515,.1],rotation:[0,0,0],cy:.1198262658360515,lz:7.729424429660076,textureType:"Wall Texture #3",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",ly:.2,rightJoints:["qQNV4qND1aDjEtJsd6HVio"],lx:1.4999999999999998,parentId:"3KgcTmNBqtYJcCny8HxQyQ",windows:[],selected:!1,leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"],showLabel:!1,id:"hbU2xUbmKEDDXYDMWnjjCc",relativeAngle:4.71238898038469,rightPoint:[-.5114783908278628,-.6301737341639485,.1],normal:[0,0,1],cz:0,cx:-.5114783908278628,studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{leftPoint:[-.5114783908278628,-.6301737341639485,.1],cy:-.6301737341639485,rightJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,windows:[],lz:7.729424429660076,selected:!1,rotation:[0,0,0],ly:.2,relativeAngle:0,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",normal:[0,0,1],leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],textureType:"Wall Texture #3",parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,showLabel:!1,cx:.23852160917213716,type:"Wall",id:"qQNV4qND1aDjEtJsd6HVio",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{id:"h8DQWwUSgNc283RWhcM3B1",type:"Wall",relativeAngle:1.5707963267948966,normal:[0,0,1],windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],selected:!1,textureType:"Wall Texture #3",ly:.2,cx:.9885216091721372,lx:1.5,cy:.1198262658360515,rightPoint:[.9885216091721372,.8698262658360515,.1],showLabel:!1,lz:7.729424429660076,rotation:[0,0,0],parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftJoints:["qQNV4qND1aDjEtJsd6HVio"],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#4d4d4d",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#4d4d4d",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.09751468078404088,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#4d4d4d",cz:-.09751468078404088,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#4d4d4d",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#4d4d4d",lx:.13333333333333333,cx:.3333333333333333,cz:-.0726954122459649,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:.1,cz:.7732940589008983,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.13333333333333333,color:"#4d4d4d",lz:.3942112571821837,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:.01333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0726954122459649,lx:.13333333333333333,color:"#4d4d4d",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.16666666666666666,ly:0,lz:.624410216345127,textureType:"Door Texture #5",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",locked:!0,doorType:"Default",archHeight:1,filled:!0,frameColor:"#4d4d4d"},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"7MxSmgNk4kQf8eNqmnwjMJ",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.823266113240277,ceiling:!1},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],parentId:"7xigJB2WiCCrREDc2Ja3YN",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"bKSng9YxxhEwLmca6q52t4",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.13333333333333333,ly:0,lz:.624410216345127,textureType:"Door Texture #4",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",locked:!0,doorType:"Default",archHeight:1,filled:!0,frameColor:"#4d4d4d"},{type:"Human",name:"Julia",cx:-4.0546196737223905,cy:-5.207889624542965,cz:.75,lx:.43,lz:1.71,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"havSSZEB6mAoQ1s57LQVxN",selected:!1,ly:.43,locked:!0},{type:"Human",name:"Jeanette",cx:.2766717538290546,cy:-.6581153273582476,cz:.21150016667646382,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"cv6ws4fhTJwK38XNPpn7tw",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.4,locked:!0,flip:!0},{type:"Wall",cx:-.006181075141490355,cy:1.8156223325109586,cz:3.903941909848086,lx:1.1421683491180719,ly:.1,lz:6,leftJoints:["t6JjtmZmPqJRVZKJkbyzJi"],rightJoints:["qnrZVcXW7sGmWiL5DxCcpP"],leftPoint:[.5649030994175456,1.8156223325109586,0],rightPoint:[-.5772652497005263,1.8156223325109586,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"34NjUPzx48JorZ5wqGUvgg",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.090518331707904,rightUnfilledHeight:4.090518331707904,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.5649030994175457,cy:.2528104136885755,cz:3.5644394786617815,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["i4xUARQgNSf52ouooVSiS9"],rightJoints:["34NjUPzx48JorZ5wqGUvgg"],leftPoint:[.5649030994175456,-1.3100015051338076,0],rightPoint:[.5649030994175459,1.8156223325109586,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t6JjtmZmPqJRVZKJkbyzJi",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.028013889590567,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.5772652497005263,cy:.2528104136885755,cz:3.660138480027889,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["34NjUPzx48JorZ5wqGUvgg"],rightJoints:["i4xUARQgNSf52ouooVSiS9"],leftPoint:[-.5772652497005263,1.8156223325109586,0],rightPoint:[-.5772652497005263,-1.3100015051338076,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qnrZVcXW7sGmWiL5DxCcpP",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.1364823542733955,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.006181075141490355,cy:-1.3100015051338076,cz:3.535805069111796,lx:1.1421683491180719,ly:.1,lz:6,leftJoints:["qnrZVcXW7sGmWiL5DxCcpP"],rightJoints:["t6JjtmZmPqJRVZKJkbyzJi"],leftPoint:[-.5772652497005263,-1.3100015051338076,0],rightPoint:[.5649030994175456,-1.3100015051338076,0],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i4xUARQgNSf52ouooVSiS9",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.7865681839342544,rightUnfilledHeight:3.7865681839342544,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cwyjixUkvZfY5coPeNcNNJ",parentId:"i4xUARQgNSf52ouooVSiS9",foundationId:"av7Scm9oWip67CGVAb3HwH",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{id:"6XqoQpBQebVdBqY1vwaPk1",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["qnrZVcXW7sGmWiL5DxCcpP"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:.823266113240277,ceiling:!1},{type:"Foundation",cx:.24223269105650805,cy:-1.5680241530974817,cz:.75,lx:1.6067507475074267,ly:9.245625505173257,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"av7Scm9oWip67CGVAb3HwH",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-.6856567353991228,cy:2.1936412961014904,cz:3.903941909848086,lx:1.1421683491180716,ly:.1,lz:6,leftJoints:["v49PfQ59VkByq57ohKX9uA"],rightJoints:["eq4bXeL88bLi2xVeWkyogN"],leftPoint:[-.11457256084008716,2.1936412961014904,1.5],rightPoint:[-1.2567409099581588,2.1936412961014904,1.5],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j2TVMgjH32U1V7YuWfrYce",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.114887562223342,rightUnfilledHeight:4.114887562223342,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.11457256084008716,cy:.6308293772791074,cz:3.5644394786617815,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["dofmNpVnoyUD6poUbEH92H"],rightJoints:["j2TVMgjH32U1V7YuWfrYce"],leftPoint:[-.11457256084008716,-.9319825415432756,1.5],rightPoint:[-.11457256084008716,2.1936412961014904,1.5],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v49PfQ59VkByq57ohKX9uA",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.062467969251437,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-1.2567409099581588,cy:.6308293772791074,cz:3.660138480027889,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["j2TVMgjH32U1V7YuWfrYce"],rightJoints:["dofmNpVnoyUD6poUbEH92H"],leftPoint:[-1.2567409099581588,2.1936412961014904,1.5],rightPoint:[-1.2567409099581588,-.9319825415432756,1.5],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eq4bXeL88bLi2xVeWkyogN",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.049169946024193,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.6856567353991228,cy:-.9319825415432756,cz:3.535805069111796,lx:1.1421683491180716,ly:.1,lz:6,leftJoints:["eq4bXeL88bLi2xVeWkyogN"],rightJoints:["v49PfQ59VkByq57ohKX9uA"],leftPoint:[-1.2567409099581588,-.9319825415432756,1.5],rightPoint:[-.11457256084008716,-.9319825415432756,1.5],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dofmNpVnoyUD6poUbEH92H",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9479613094983987,rightUnfilledHeight:3.9479613094983987,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"3EDLJ75vzk99MpdxpHr4hh",parentId:"dofmNpVnoyUD6poUbEH92H",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{id:"o79bdk9md4xmEmamE9jZDk",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["eq4bXeL88bLi2xVeWkyogN"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:.823266113240277,ceiling:!1},{type:"Foundation",cx:5.151890032982978,cy:-1.8906835088164353,cz:.75,lx:2.7786220563926096,ly:10.001663432354322,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jkuhEvcKWfSvDRMRBsqBXk",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-.0729406966879953,cy:2.9131022913654188,cz:0,lx:8.077654819551407,ly:.3,lz:4.0189625473598385,leftJoints:["5qopMgXVhuWqLTTbgdg2C8"],rightJoints:["tQatQTQ6mQZuwKjoqupSL4"],leftPoint:[3.965886713087709,2.9131022913654188,.1],rightPoint:[-4.111768106463698,2.9131022913654188,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2QkXRbu2NTc1FDQpK7icS4",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:3.965886713087709,cy:-.1655182683590748,cz:1.2992388529678256,lx:6.157241119448987,ly:.3,lz:4.0189625473598385,leftJoints:["1ep2Qk4inm58Y7PxoRguRG"],rightJoints:["2QkXRbu2NTc1FDQpK7icS4"],leftPoint:[3.965886713087709,-3.2441388280835683,.1],rightPoint:[3.965886713087709,2.9131022913654188,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5qopMgXVhuWqLTTbgdg2C8",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.384556049599329],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:-4.111768106463698,cy:-.1655182683590748,cz:2.586710917765224,lx:6.157241119448987,ly:.3,lz:4.0189625473598385,leftJoints:["2QkXRbu2NTc1FDQpK7icS4"],rightJoints:["1ep2Qk4inm58Y7PxoRguRG"],leftPoint:[-4.111768106463698,2.9131022913654188,.1],rightPoint:[-4.111768106463698,-3.2441388280835683,.1],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tQatQTQ6mQZuwKjoqupSL4",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,centerRoofHeight:[.022465454047944533,6.384556049599329],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:-.0729406966879953,cy:-3.2441388280835683,cz:2.4938633836176103,lx:8.077654819551407,ly:.3,lz:4.0189625473598385,leftJoints:["tQatQTQ6mQZuwKjoqupSL4"],rightJoints:["5qopMgXVhuWqLTTbgdg2C8"],leftPoint:[-4.111768106463698,-3.2441388280835683,.1],rightPoint:[3.965886713087709,-3.2441388280835683,.1],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1ep2Qk4inm58Y7PxoRguRG",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{id:"uvH1MqzefQ1iAsExpBtN4M",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,0],parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["1ep2Qk4inm58Y7PxoRguRG"],ridgeLeftPoint:[.022465454047944533,1],ridgeRightPoint:[-.022465454047944533,1],selected:!1,locked:!0,rise:2.3655935022394905,ceiling:!1},{type:"Foundation",cx:10.465737313188763,cy:.5916447850218542,cz:.05,lx:10.00769643062065,ly:8.714303918225442,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ifK63owceWoNBq3LMhjcHs",selected:!1,locked:!0,notBuilding:!0},{type:"Door",cx:0,cy:0,cz:-.12558978365487306,lx:.7427898485433437,ly:0,lz:.7488204326902539,textureType:"Door Texture #9",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"1ep2Qk4inm58Y7PxoRguRG",foundationId:"ifK63owceWoNBq3LMhjcHs",id:"eL15oTbziWLZJbMNpssTck",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:0,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"6fPaBMTjYg9NPR7fFaHY6L",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.16546497475722394,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"mrb9waVHrsnfat2WgDHgMt",parentId:"2QkXRbu2NTc1FDQpK7icS4",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.26782910355972656,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"2H38SarX7MqKe9NrSJLU3c",parentId:"2QkXRbu2NTc1FDQpK7icS4",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03248208022392633,cy:.1,cz:.6842561898981983,lx:.1624104011196317,ly:.3,lz:.3732306490353806,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"i3Tn7iQFeRuNXmrH6GPDQq",parentId:"5qopMgXVhuWqLTTbgdg2C8",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Cuboid",cx:2.2577642180173108,cy:-5.6453790558022865,cz:.1,lx:3,ly:1.3162306313801917,lz:.2,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"9Wze4XMmA39XWNbYe6ckwa",locked:!0},{type:"Cuboid",cx:2.2976038416189706,cy:-5.4405702290503335,cz:.2,lx:3,ly:1.3162306313801917,lz:.4,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"cGSH1ASJyBhQtxEpSahrE8",selected:!1,locked:!0},{type:"Cuboid",cx:2.3365648968920367,cy:-5.154286927831944,cz:.3,lx:3,ly:1.3162306313801917,lz:.6,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"cv6ws4fhTJwK38XNPpn7tw",selected:!1,locked:!0},{type:"Cuboid",cx:2.507062522396451,cy:-4.8455157683194425,cz:.4,lx:3,ly:1.3162306313801917,lz:.8,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"ri6K8Qk4KK99vNANoaSiXZ",selected:!1,locked:!0},{type:"Cuboid",cx:2.4248821063155837,cy:-4.531133253293998,cz:.5,lx:3,ly:1.3162306313801917,lz:1,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"2Gn8chyesHppiqqGTQZT8a",selected:!1,locked:!0},{type:"Cuboid",cx:2.533917032120782,cy:-4.195225691908959,cz:.6,lx:3,ly:1.3162306313801917,lz:1.2,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"ehfdKqFJbYRYgEacHfcSrM",selected:!1,locked:!0},{type:"Wall",cx:.0857963607111687,cy:-.2904374094354525,cz:1.150915251216218,lx:2.404566605355184,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.116486941966424,-.2904374094354525,1.5],rightPoint:[1.2880796633887615,-.2904374094354525,1.5],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"4JmE6VzFyWnD6MemgeMrqW",parentId:"daUcFc6UnVMEpiH1CZh8Ax",foundationId:"daUcFc6UnVMEpiH1CZh8Ax",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,locked:!0,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:5.066690845229112,cy:-5.858628346969445,cz:.75,lx:2.8024103470983674,ly:.5858813368700218,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"daUcFc6UnVMEpiH1CZh8Ax",selected:!1,locked:!0},{type:"Wall",cx:-.010162937707880904,cy:-.27969729189333203,cz:1.150915251216218,lx:2.7842161072229072,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.4022709913193345,-.27969729189333203,0],rightPoint:[1.3819451159035727,-.27969729189333203,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"vcvEWpSiXZ5AtQHJNQyqhY",parentId:"65TcBaUghe9ngQtPh9tufn",foundationId:"65TcBaUghe9ngQtPh9tufn",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:6.152095245348214,cy:-4.760328635056652,cz:.75,lx:2.915478093095909,ly:.7794205585653092,lz:1.5,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"65TcBaUghe9ngQtPh9tufn",selected:!1,locked:!0},{type:"Wall",cx:-.276566476107305,cy:.5996488777144623,cz:1.150915251216218,lx:11.731055226486902,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-6.142094089350756,.5996488777144623,0],rightPoint:[5.588961137136146,.5996488777144623,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"k8e5KBsuGXsXGc26TdAWYM",parentId:"csYashxN5k4v6auFhKNgfA",foundationId:"csYashxN5k4v6auFhKNgfA",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:-7.493205467286131,cy:-.5191007727531233,cz:.75,lx:12.992980587303297,ly:1.782214080949399,lz:1.5,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"csYashxN5k4v6auFhKNgfA",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:-.22003149528798988,cy:.772395685760463,cz:1.150915251216218,lx:1.9858951415309851,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.2129790660534816,.7723956857604638,1.5],rightPoint:[.7729160754775029,.7723956857604621,1.5],relativeAngle:-10062975645253129e-31,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"sY5yERTXjEfiYz5tbFrJmk",parentId:"kzThvJkRFm5Ya2iKooXQMF",foundationId:"kzThvJkRFm5Ya2iKooXQMF",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:4.743113555100415,cy:-4.918499332768188,cz:.75,lx:2.567636418672608,ly:1.9347230107434228,lz:1.5,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kzThvJkRFm5Ya2iKooXQMF",selected:!1,locked:!0},{type:"Wall",cx:-.059861706164943095,cy:.5378886591540968,cz:1.150915251216218,lx:1.9858951415309851,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.0528092769304358,.5378886591540978,1.5],rightPoint:[.9330858646005495,.5378886591540958,1.5],relativeAngle:-10062975645253129e-31,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"8BecBzK2CPYixjaNncu9H5",parentId:"gwSpq2qFCkfhWVsvJnM5AE",foundationId:"gwSpq2qFCkfhWVsvJnM5AE",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:.42575056512061704,cy:-5.140654078880996,cz:.75,lx:2.247296840426521,ly:1.4657089575306883,lz:1.5,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gwSpq2qFCkfhWVsvJnM5AE",selected:!1,locked:!0},{type:"Foundation",cx:-2.9112882100701762,cy:-6.403418415150944,cz:.75,lx:8.173695480475347,ly:1.3650515213739076,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jWpuB3xMuZWn7633AcTjQQ",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:-.02566265362821607,cy:.20995571674405689,cz:1.150915251216218,lx:7.716839583972954,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-3.884082445614693,.20995571674405689,1.5],rightPoint:[3.8327571383582604,.20995571674405689,1.5],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"pSkQGB7bArPhyBetUXPGRv",parentId:"jWpuB3xMuZWn7633AcTjQQ",foundationId:"jWpuB3xMuZWn7633AcTjQQ",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Tree",name:"Maple",cx:17.67275693788636,cy:1.4450419691745573,cz:0,lx:7.6312730174756584,lz:11.401453020556955,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fvxLBBmjibSLAyfoLcbVjh",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-5.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9CLZuQC6xH4DGcZvLruk4s",selected:!1,locked:!0,flip:!0},{type:"Flower",name:"Yellow Flower",cx:-3.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c6WoCyEbuQkywzSj8xtBF2",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2agGn2N16sYDjc7TtzRo77",selected:!1,locked:!0,flip:!0},{type:"Flower",name:"Yellow Flower",cx:-7.120054695086734,cy:-7.839525295949519,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"817xHue6rUfnaS7Rb7KYEp",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:5.193738527580392,cy:-7.522536559524424,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gonFzZtq1wiiYeCU4hrBiQ",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",cx:4.348603816989412,cy:-3.7966311920217564,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ifK63owceWoNBq3LMhjcHs",id:"3BJtmEHpbtqcXXRrfQPwwr",selected:!1,locked:!0},{type:"Tree",name:"Oak",cx:-10.77654007007384,cy:-2.788234414080616,cz:0,lx:8.855861155358149,lz:10.429490037118851,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qpT1N3VZfjdrNWS4GttCXC",selected:!1,locked:!0},{type:"Human",name:"Jess",cx:2.2752160006176823,cy:-7.071591540443462,cz:0,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gqeggrZFS756iNyQUnbtUf",selected:!1,locked:!0},{type:"Human",name:"Jacob",cx:.3503088352536956,cy:-2.663378139781919,cz:.75,lx:.8,ly:.8,lz:1.82,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",id:"gesRfpbEyibu8BUu8qDy6K",selected:!1,locked:!0},{type:"Tree",name:"Elm",cx:18.756466652215924,cy:-2.7486876275390486,cz:0,lx:10.046562775206576,lz:8.109426488433453,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rAcrYXcgzcVotvfd1MPBUS",selected:!1,locked:!0},{type:"Human",name:"James",cx:8.507664798169325,cy:-5.727708445895644,cz:0,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"73Mqjiw5uA1adJ6VuCj1Hf",selected:!1,locked:!0,ly:.472},{type:"Window",cx:0,cy:.3,cz:-.4375948219942384,lx:.5999999999999999,ly:.2,lz:.09893520815024884,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#ffffff",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"hbU2xUbmKEDDXYDMWnjjCc",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",id:"uREiM8jYGDR4pHGhExSRue",locked:!0},{type:"Window",cx:4.705024136514664,cy:-2.6459148350408155,cz:5.1903908249340365,lx:1.017838969182642,ly:.1,lz:2.4409651392693985,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"awVnqCCaufqdGFN22hhzCh",polygonTop:[-.004246287687605959,1.3860496223503058],locked:!0},{type:"Window",cx:-3.539719570796281,cy:-2.6129313680432986,cz:5.216072446970213,lx:1.0219090902157242,ly:.1,lz:2.605748416583291,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"beXK9hhAUyaFYx6f7DgTpY",polygonTop:[-.009615353578652338,1.2933689118390408],locked:!0},{type:"Window",cx:.46569240547031454,cy:-2.6095553790950374,cz:5.2187010630636665,lx:1.0033772100904075,ly:.1,lz:2.5243075624407934,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1fevDj1GsBSq5dNg5cXjnX",polygonTop:[-.0091530130675596,1.325340055666175],locked:!0}],Isn=30,zsn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-1.2466960461719456,-2.0265671834489423,-1924388015203177e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-1.2466960461719456,-2.027567560894961,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[15.555852980703822,-18.310792933314314,3.245069996575005],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:53.00068653280895,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[3.1288754420913087,4.629680469479072,3.245069996575005],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Dsn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Esn=1,ksn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Fsn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Lsn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Wsn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Nsn="Unknown",Usn=null,Bsn=null,jsn=null,Ysn=[],Osn={docid:bsn,time:Ssn,timestamp:Tsn,userid:Psn,owner:Csn,email:Rsn,world:Hsn,elements:Msn,sceneRadius:Isn,view:zsn,graphState:Dsn,evolutionMethod:Esn,solarPanelArrayLayoutParams:ksn,solarPanelArrayLayoutConstraints:Fsn,evolutionaryAlgorithmState:Lsn,economicsParams:Wsn,modelType:Nsn,modelAuthor:Usn,modelLabel:Bsn,modelDescription:jsn,notes:Ysn},_sn="9jsoUmZjFa6HRMNbZRgLRS",Vsn="02/04/2023 12:38 pm",Gsn=1675532324876,Xsn="QWecNcxhyvP6j6sBN11hBsfZDau1",Jsn=null,Ksn=null,qsn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Santa Fe, NM, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.6869752,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-105.937799},$sn=[{type:"Human",name:"Jack",cx:8.588979243554906,cy:-11.560427912321174,cz:.041681792587043624,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"nxTJLHqZjgyqZrkQWWFYNc",selected:!1,ly:.42},{type:"Wall",cx:4.753050582030476,cy:10.626899890630142,cz:0,lx:9.506101164060953,ly:.3,lz:3,leftJoints:["n33KXHECHwqKVeBnmXbdJd"],rightJoints:["6eXPAWMW3HwxTSXj1rA53P"],leftPoint:[9.506101164060953,10.626899890630142,0],rightPoint:[0,10.626899890630142,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"a4Bg19CP2z1jtLJFY16BxW",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:9.506101164060953,cy:7.9701749179726065,cz:0,lx:5.313449945315071,ly:.3,lz:3,leftJoints:["beJH9KRXtDcaa6m4RL93xX"],rightJoints:["a4Bg19CP2z1jtLJFY16BxW"],leftPoint:[9.506101164060953,5.313449945315071,0],rightPoint:[9.506101164060953,10.626899890630142,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"n33KXHECHwqKVeBnmXbdJd",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:0,cy:8.855749908858451,cz:0,lx:3.542299963543381,ly:.3,lz:3,leftJoints:["a4Bg19CP2z1jtLJFY16BxW"],rightJoints:["4SGmtgxinTGHnoFQ6qdAaP"],leftPoint:[0,10.626899890630142,0],rightPoint:[0,7.084599927086761,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"6eXPAWMW3HwxTSXj1rA53P",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.27774552382743,cy:7.084599927086761,cz:0,lx:8.55549104765486,ly:.3,lz:3,leftJoints:["6eXPAWMW3HwxTSXj1rA53P"],rightJoints:["6iedjZED9QspL73RvXyJ4d"],leftPoint:[0,7.084599927086761,0],rightPoint:[-8.55549104765486,7.084599927086761,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"4SGmtgxinTGHnoFQ6qdAaP",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:-.9875375953656599,cy:.44615496717367314,cz:.05,lx:40.39365311700692,ly:26.5055971077695,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7ZHXRj1w61cveRC3gvedyo",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:-8.961026955741858,cy:7.857997137758722,cz:0,lx:3.615158317694301,ly:.3,lz:5,leftJoints:["xuK1PJLtnxrY5qEw5Jrz2o"],rightJoints:["hCvpR7Qt8oZW3kx27Ef8k6"],leftPoint:[-7.1534477968947074,7.857997137758721,0],rightPoint:[-10.768606114589009,7.857997137758723,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"uDQQEBasztVc5Fw2jHnuGP",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-7.197945741195914,cy:10.175838580765596,cz:0,lx:4.636537079315653,ly:.3,lz:5,leftJoints:["vsD1vwp8qSW44JbcubZkXV"],rightJoints:["uDQQEBasztVc5Fw2jHnuGP"],leftPoint:[-7.242443685497121,12.493680023772473,0],rightPoint:[-7.1534477968947074,7.857997137758721,0],relativeAngle:-1.5516006743615667,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"xuK1PJLtnxrY5qEw5Jrz2o",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-10.768606114589009,cy:5.3615068621475075,cz:0,lx:4.992980551222431,ly:.3,lz:5,leftJoints:["uDQQEBasztVc5Fw2jHnuGP"],rightJoints:["uATyhCzseLrePeH6qe33SW"],leftPoint:[-10.768606114589009,7.857997137758723,0],rightPoint:[-10.768606114589009,2.865016586536292,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"hCvpR7Qt8oZW3kx27Ef8k6",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-8.961026955741858,cy:2.865016586536292,cz:0,lx:3.615158317694301,ly:.3,lz:5,leftJoints:["hCvpR7Qt8oZW3kx27Ef8k6"],rightJoints:["tqM54puNK2eFNMyoRHbgSP"],leftPoint:[-10.768606114589009,2.865016586536292,0],rightPoint:[-7.1534477968947074,2.865016586536292,0],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"uATyhCzseLrePeH6qe33SW",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Foundation",cx:-.46263679223863563,cy:1.9526278259940124,cz:.05,lx:26.17077502865179,ly:28.364342258415146,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"g8MxeMM8L2RM1xR4mKCqRr",selected:!1,enableGroupMaster:!1},{type:"Wall",cx:-8.55549104765486,cy:8.41296241341553,cz:0,lx:2.6567249726575364,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[-8.55549104765486,7.084599927086761,0],rightPoint:[-8.55549104765486,9.741324899744297,0],leftJoints:["4SGmtgxinTGHnoFQ6qdAaP"],rightJoints:["hDtjiJL8L1n4uHmeabkB4U"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"6iedjZED9QspL73RvXyJ4d",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-12.35793151327924,cy:9.741324899744297,cz:0,lx:7.604880931248763,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[-8.55549104765486,9.741324899744297,0],rightPoint:[-16.160371978903623,9.741324899744297,0],leftJoints:["6iedjZED9QspL73RvXyJ4d"],rightJoints:["e6DZMEDS2hLL8irgctx6vS"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"hDtjiJL8L1n4uHmeabkB4U",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-16.160371978903623,cy:7.527387422529684,cz:0,lx:4.427874954429226,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-16.160371978903623,9.741324899744297,0],rightPoint:[-16.160371978903623,5.313449945315071,0],leftJoints:["hDtjiJL8L1n4uHmeabkB4U"],rightJoints:["7s9AjDXhyZFDC86cd8GCyQ"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"e6DZMEDS2hLL8irgctx6vS",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-17.586287153512764,cy:5.313449945315071,cz:0,lx:2.8518303492182824,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[-16.160371978903623,5.313449945315071,0],rightPoint:[-19.012202328121905,5.313449945315071,0],leftJoints:["e6DZMEDS2hLL8irgctx6vS"],rightJoints:["a5EWedAAgHioHmzEA7mZco"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7s9AjDXhyZFDC86cd8GCyQ",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-19.012202328121905,cy:.4427874954429223,cz:0,lx:9.741324899744297,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-19.012202328121905,5.313449945315071,0],rightPoint:[-19.012202328121905,-4.427874954429226,0],leftJoints:["7s9AjDXhyZFDC86cd8GCyQ"],rightJoints:["qL7VdZTbY3pmPL7NfVed4R"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"a5EWedAAgHioHmzEA7mZco",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-16.160371978903623,cy:-4.427874954429226,cz:0,lx:5.7036606984365665,ly:.3,lz:3,relativeAngle:0,leftPoint:[-19.012202328121905,-4.427874954429226,0],rightPoint:[-13.308541629685338,-4.427874954429226,0],leftJoints:["a5EWedAAgHioHmzEA7mZco"],rightJoints:["fn57GZtoH28juoAimKo6sD"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qL7VdZTbY3pmPL7NfVed4R",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-13.308541629685338,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-13.308541629685338,-4.427874954429226,0],rightPoint:[-13.308541629685338,-9.741324899744297,0],leftJoints:["qL7VdZTbY3pmPL7NfVed4R"],rightJoints:["9SBa3hK2RVhjPz2Nqh1iCG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"fn57GZtoH28juoAimKo6sD",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-9.030796105857908,cy:-9.741324899744297,cz:0,lx:8.555491047654861,ly:.3,lz:3,relativeAngle:0,leftPoint:[-13.308541629685338,-9.741324899744297,0],rightPoint:[-4.753050582030476,-9.741324899744297,0],leftJoints:["fn57GZtoH28juoAimKo6sD"],rightJoints:["iYnhW4g6qEKdNus5mK9fsA"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9SBa3hK2RVhjPz2Nqh1iCG",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.753050582030476,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[-4.753050582030476,-9.741324899744297,0],rightPoint:[-4.753050582030476,-4.427874954429226,0],leftJoints:["9SBa3hK2RVhjPz2Nqh1iCG"],rightJoints:["6pHr36CrawF8YcpXm7jL2B"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"iYnhW4g6qEKdNus5mK9fsA",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-.4753050582030476,cy:-4.427874954429226,cz:0,lx:8.555491047654858,ly:.3,lz:3,relativeAngle:0,leftPoint:[-4.753050582030476,-4.427874954429226,0],rightPoint:[3.802440465624381,-4.427874954429226,0],leftJoints:["iYnhW4g6qEKdNus5mK9fsA"],rightJoints:["danskvNGt22kxxX25ZKZed"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"6pHr36CrawF8YcpXm7jL2B",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:3.802440465624381,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[3.802440465624381,-4.427874954429226,0],rightPoint:[3.802440465624381,-9.741324899744297,0],leftJoints:["6pHr36CrawF8YcpXm7jL2B"],rightJoints:["wg6dFewM89iG6naCdP3n3V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"danskvNGt22kxxX25ZKZed",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:8.55549104765486,cy:-9.741324899744297,cz:0,lx:9.506101164060958,ly:.3,lz:3,relativeAngle:0,leftPoint:[3.802440465624381,-9.741324899744297,0],rightPoint:[13.308541629685338,-9.741324899744297,0],leftJoints:["danskvNGt22kxxX25ZKZed"],rightJoints:["rpaC6fdHvBmen4T9c95DSG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"wg6dFewM89iG6naCdP3n3V",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:13.308541629685338,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[13.308541629685338,-9.741324899744297,0],rightPoint:[13.308541629685338,-4.427874954429226,0],leftJoints:["wg6dFewM89iG6naCdP3n3V"],rightJoints:["pHPE8SbRWTKrpBzChi8YzX"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"rpaC6fdHvBmen4T9c95DSG",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:15.685066920700574,cy:-4.427874954429226,cz:0,lx:4.753050582030474,ly:.3,lz:3,relativeAngle:0,leftPoint:[13.308541629685338,-4.427874954429226,0],rightPoint:[18.061592211715812,-4.427874954429226,0],leftJoints:["rpaC6fdHvBmen4T9c95DSG"],rightJoints:["hoTvGY2rqMy7seoYfMRRTd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"pHPE8SbRWTKrpBzChi8YzX",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:18.061592211715812,cy:2.6567249726575355,cz:0,lx:14.169199854173524,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[18.061592211715812,-4.427874954429226,0],rightPoint:[18.061592211715812,9.741324899744297,0],leftJoints:["pHPE8SbRWTKrpBzChi8YzX"],rightJoints:["j5t6bBkxWAT3r9CjT4GP8B"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"hoTvGY2rqMy7seoYfMRRTd",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:15.685066920700574,cy:9.741324899744297,cz:0,lx:4.753050582030474,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[18.061592211715812,9.741324899744297,0],rightPoint:[13.308541629685338,9.741324899744297,0],leftJoints:["hoTvGY2rqMy7seoYfMRRTd"],rightJoints:["9M2paYYKiDyFzdP7AKGC3T"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"j5t6bBkxWAT3r9CjT4GP8B",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:13.308541629685338,cy:7.527387422529684,cz:0,lx:4.427874954429226,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[13.308541629685338,9.741324899744297,0],rightPoint:[13.308541629685338,5.313449945315071,0],leftJoints:["j5t6bBkxWAT3r9CjT4GP8B"],rightJoints:["beJH9KRXtDcaa6m4RL93xX"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9M2paYYKiDyFzdP7AKGC3T",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:11.407321396873146,cy:5.313449945315071,cz:0,lx:3.802440465624386,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[13.308541629685338,5.313449945315071,0],rightPoint:[9.506101164060953,5.313449945315071,0],leftJoints:["9M2paYYKiDyFzdP7AKGC3T"],rightJoints:["n33KXHECHwqKVeBnmXbdJd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"beJH9KRXtDcaa6m4RL93xX",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["danskvNGt22kxxX25ZKZed","wg6dFewM89iG6naCdP3n3V","rpaC6fdHvBmen4T9c95DSG","pHPE8SbRWTKrpBzChi8YzX","hoTvGY2rqMy7seoYfMRRTd","j5t6bBkxWAT3r9CjT4GP8B","9M2paYYKiDyFzdP7AKGC3T","beJH9KRXtDcaa6m4RL93xX","n33KXHECHwqKVeBnmXbdJd","a4Bg19CP2z1jtLJFY16BxW","6eXPAWMW3HwxTSXj1rA53P","4SGmtgxinTGHnoFQ6qdAaP","6iedjZED9QspL73RvXyJ4d","hDtjiJL8L1n4uHmeabkB4U","e6DZMEDS2hLL8irgctx6vS","7s9AjDXhyZFDC86cd8GCyQ","a5EWedAAgHioHmzEA7mZco","qL7VdZTbY3pmPL7NfVed4R","fn57GZtoH28juoAimKo6sD","9SBa3hK2RVhjPz2Nqh1iCG","iYnhW4g6qEKdNus5mK9fsA","6pHr36CrawF8YcpXm7jL2B"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7doUCjB7UiFLbUyVdhSHA4",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Wall",cx:-7.1534477968947074,cy:-.13077174419716386,cz:0,lx:5.991576661466917,ly:.3,lz:5,relativeAngle:-1.5707963267948966,leftPoint:[-7.1534477968947074,2.8650165865362944,0],rightPoint:[-7.1534477968947074,-3.126560074930622,0],leftJoints:["uATyhCzseLrePeH6qe33SW"],rightJoints:["7vyLAK1d3g1q4PaUuuH3M8"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"tqM54puNK2eFNMyoRHbgSP",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-4.143736556044865,cy:12.493680023772473,cz:0,lx:6.197414258904514,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[-1.0450294265926074,12.493680023772473,0],rightPoint:[-7.242443685497122,12.493680023772473,0],leftJoints:["qEF7XtXZnzW6BxWMfbdwQU"],rightJoints:["xuK1PJLtnxrY5qEw5Jrz2o"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"vsD1vwp8qSW44JbcubZkXV",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-1.0450294265926074,cy:10.746136830844623,cz:0,lx:3.4950863858557017,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[-1.0450294265926074,8.998593637916771,0],rightPoint:[-1.0450294265926074,12.493680023772473,0],leftJoints:["dYJeyws9qM6CyNBpAFDT4C"],rightJoints:["vsD1vwp8qSW44JbcubZkXV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"qEF7XtXZnzW6BxWMfbdwQU",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:1.537226514617607,cy:8.998593637916771,cz:0,lx:5.164511882420429,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[4.119482455827821,8.998593637916771,0],rightPoint:[-1.0450294265926074,8.998593637916771,0],leftJoints:["xnWNtThasHmB5nj7DTLwTx"],rightJoints:["qEF7XtXZnzW6BxWMfbdwQU"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"dYJeyws9qM6CyNBpAFDT4C",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:4.163980400129028,cy:6.930401222471017,cz:0,lx:4.137342110270493,ly:.3,lz:5,relativeAngle:1.5923083871193127,leftPoint:[4.208478344430235,4.862208807025264,0],rightPoint:[4.119482455827821,8.998593637916771,0],leftJoints:["e1bkiT8KZb5kq2EZtd6xkx"],rightJoints:["dYJeyws9qM6CyNBpAFDT4C"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"xnWNtThasHmB5nj7DTLwTx",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:7.565411068003514,cy:4.862208807025264,cz:0,lx:6.713865447146558,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[10.922343791576793,4.862208807025264,0],rightPoint:[4.208478344430235,4.862208807025264,0],leftJoints:["rBwg9zRDQVA6MAAvxTQwmb"],rightJoints:["xnWNtThasHmB5nj7DTLwTx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"e1bkiT8KZb5kq2EZtd6xkx",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:10.922343791576793,cy:1.8664204762918066,cz:0,lx:5.991576661466915,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[10.922343791576793,-1.1293678544416508,0],rightPoint:[10.922343791576793,4.862208807025264,0],leftJoints:["aEZwzvFgCTEAmsGj6SSh6G"],rightJoints:["e1bkiT8KZb5kq2EZtd6xkx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"rBwg9zRDQVA6MAAvxTQwmb",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:5.499606315035343,cy:-1.1293678544416508,cz:0,lx:10.8454749530829,ly:.3,lz:5,relativeAngle:0,leftPoint:[.07686883849389224,-1.1293678544416508,0],rightPoint:[10.922343791576793,-1.1293678544416508,0],leftJoints:["jFwtQp4MdbPXqJBW5eWb7h"],rightJoints:["rBwg9zRDQVA6MAAvxTQwmb"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"aEZwzvFgCTEAmsGj6SSh6G",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:.07686883849389224,cy:-2.1279639646861366,cz:0,lx:1.9971922204889714,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[.07686883849389224,-3.126560074930622,0],rightPoint:[.07686883849389224,-1.1293678544416508,0],leftJoints:["7vyLAK1d3g1q4PaUuuH3M8"],rightJoints:["aEZwzvFgCTEAmsGj6SSh6G"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"jFwtQp4MdbPXqJBW5eWb7h",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-3.5382894792004076,cy:-3.126560074930622,cz:0,lx:7.2303166353886,ly:.3,lz:5,relativeAngle:0,leftPoint:[-7.1534477968947074,-3.126560074930622,0],rightPoint:[.07686883849389224,-3.126560074930622,0],leftJoints:["tqM54puNK2eFNMyoRHbgSP"],rightJoints:["jFwtQp4MdbPXqJBW5eWb7h"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7vyLAK1d3g1q4PaUuuH3M8",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["rBwg9zRDQVA6MAAvxTQwmb","e1bkiT8KZb5kq2EZtd6xkx","xnWNtThasHmB5nj7DTLwTx","dYJeyws9qM6CyNBpAFDT4C","qEF7XtXZnzW6BxWMfbdwQU","vsD1vwp8qSW44JbcubZkXV","xuK1PJLtnxrY5qEw5Jrz2o","uDQQEBasztVc5Fw2jHnuGP","hCvpR7Qt8oZW3kx27Ef8k6","uATyhCzseLrePeH6qe33SW","tqM54puNK2eFNMyoRHbgSP","7vyLAK1d3g1q4PaUuuH3M8","jFwtQp4MdbPXqJBW5eWb7h","aEZwzvFgCTEAmsGj6SSh6G"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7C84Wu1AsADHbFygjWBmQ9",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Wall",cx:-4.345096487504885,cy:5.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["rHJy1GYK2qvXJVNLZqp4wD"],rightJoints:["nps5Vjk1xXh8tbJUyypnno"],leftPoint:[-2.345096487504885,5.984852164118302,.08336358648077638],rightPoint:[-6.345096487504885,5.984852164118302,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"a7asXFjrAC6qt3AiY1YGsD",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-4.345096487504885,cy:-.015147835881696992,cz:0,lx:4,ly:.3,lz:7,leftJoints:["nps5Vjk1xXh8tbJUyypnno"],rightJoints:["xkqwYwVjduojn9HfSnXbKM"],leftPoint:[-6.345096487504885,-.015147835881696992,.08336358648077638],rightPoint:[-2.345096487504885,-.015147835881696992,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"cpDb3yAZ18RsXbHAuAXABX",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-2.345096487504885,cy:-2.765147835881696,cz:0,lx:5.500000000000002,ly:.3,lz:7,leftJoints:["cpDb3yAZ18RsXbHAuAXABX"],rightJoints:["hzXfdodMPgDwURK77F9MeV"],leftPoint:[-2.345096487504885,-.015147835881695215,.08336358648077638],rightPoint:[-2.345096487504885,-5.515147835881697,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"xkqwYwVjduojn9HfSnXbKM",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-2.345096487504885,cy:7.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["r2R5PZ9UN3GkeiaDktnAeY"],rightJoints:["a7asXFjrAC6qt3AiY1YGsD"],leftPoint:[-2.345096487504885,9.984852164118301,.08336358648077638],rightPoint:[-2.345096487504885,5.984852164118302,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"rHJy1GYK2qvXJVNLZqp4wD",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:2.654903512495115,cy:7.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["67wPdhvoUHXR7PuJh6jwmB"],rightJoints:["r2R5PZ9UN3GkeiaDktnAeY"],leftPoint:[2.654903512495115,5.984852164118302,.08336358648077638],rightPoint:[2.654903512495115,9.984852164118301,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"658TiH6xarPxo2CoZwhF5b",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:6.654903512495115,cy:5.984852164118302,cz:0,lx:8,ly:.3,lz:7,leftJoints:["41c9AtTSXggfJV4XdiEcAE"],rightJoints:["658TiH6xarPxo2CoZwhF5b"],leftPoint:[10.654903512495114,5.984852164118302,.08336358648077638],rightPoint:[2.654903512495115,5.984852164118306,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"67wPdhvoUHXR7PuJh6jwmB",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:10.654903512495114,cy:2.984852164118302,cz:0,lx:6,ly:.3,lz:7,leftJoints:["5oTqiHKufLbh4Es8MKzkGe"],rightJoints:["67wPdhvoUHXR7PuJh6jwmB"],leftPoint:[10.654903512495114,-.015147835881696103,.08336358648077638],rightPoint:[10.654903512495114,5.984852164118302,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"41c9AtTSXggfJV4XdiEcAE",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:6.904903512495115,cy:-.015147835881696992,cz:0,lx:7.5,ly:.3,lz:7,leftJoints:["f8PnD7wEXwH2ygFbDasoV3"],rightJoints:["41c9AtTSXggfJV4XdiEcAE"],leftPoint:[3.154903512495115,-.015147835881696992,.08336358648077638],rightPoint:[10.654903512495114,-.015147835881696992,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"5oTqiHKufLbh4Es8MKzkGe",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:3.154903512495115,cy:-2.765147835881697,cz:0,lx:5.5,ly:.3,lz:7,leftJoints:["hzXfdodMPgDwURK77F9MeV"],rightJoints:["5oTqiHKufLbh4Es8MKzkGe"],leftPoint:[3.154903512495115,-5.515147835881696,.08336358648077638],rightPoint:[3.154903512495115,-.015147835881696992,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"f8PnD7wEXwH2ygFbDasoV3",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:.4049035124951148,cy:-5.515147835881698,cz:0,lx:5.5,ly:.3,lz:7,leftJoints:["xkqwYwVjduojn9HfSnXbKM"],rightJoints:["f8PnD7wEXwH2ygFbDasoV3"],leftPoint:[-2.345096487504885,-5.515147835881698,.08336358648077638],rightPoint:[3.154903512495115,-5.515147835881697,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"hzXfdodMPgDwURK77F9MeV",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Foundation",cx:2.433419492707406,cy:5.124042977542905,cz:.05,lx:23.540246238854113,ly:24.334046586651752,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dwSg9LvrTwKhMcJFZMtZSx",selected:!1,enableGroupMaster:!1},{type:"Wall",cx:-6.345096487504885,cy:2.984852164118302,cz:0,lx:6,ly:.3,lz:7,leftJoints:["a7asXFjrAC6qt3AiY1YGsD"],rightJoints:["cpDb3yAZ18RsXbHAuAXABX"],leftPoint:[-6.345096487504885,5.984852164118302,.08336358648077638],rightPoint:[-6.345096487504885,-.015147835881696992,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"nps5Vjk1xXh8tbJUyypnno",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:.1549035124951148,cy:9.984852164118301,cz:0,lx:5,ly:.3,lz:7,leftJoints:["658TiH6xarPxo2CoZwhF5b"],rightJoints:["rHJy1GYK2qvXJVNLZqp4wD"],leftPoint:[2.654903512495115,9.984852164118301,.08336358648077638],rightPoint:[-2.345096487504885,9.984852164118301,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"r2R5PZ9UN3GkeiaDktnAeY",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",selected:!1,roofId:"qpPuzrLkb9c5N87uABuvRn",leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["a7asXFjrAC6qt3AiY1YGsD","nps5Vjk1xXh8tbJUyypnno","cpDb3yAZ18RsXbHAuAXABX","xkqwYwVjduojn9HfSnXbKM","hzXfdodMPgDwURK77F9MeV","f8PnD7wEXwH2ygFbDasoV3","5oTqiHKufLbh4Es8MKzkGe","41c9AtTSXggfJV4XdiEcAE","67wPdhvoUHXR7PuJh6jwmB","658TiH6xarPxo2CoZwhF5b","r2R5PZ9UN3GkeiaDktnAeY","rHJy1GYK2qvXJVNLZqp4wD"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"qpPuzrLkb9c5N87uABuvRn",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Door",cx:.02629889958936659,cy:0,cz:-.08333333333333333,lx:.2629889958936659,ly:0,lz:.8333333333333334,textureType:"Door Texture #7",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"eh8QYUJbECtJYcGAUmmcbF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.34188569466176566,cy:.1,cz:.08333333333333333,lx:.05259779917873318,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"k4NKNGGqdN9XJAC7JngQKc",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.34188569466176566,cy:.1,cz:.08333333333333333,lx:.05259779917873318,ly:.3,lz:.5,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gndjHJZsJ4fAEbUPhoMN8f",parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.15779339753619967,cy:.1,cz:-3700743415417188e-32,lx:.10519559835746636,ly:.3,lz:.6666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pHPE8SbRWTKrpBzChi8YzX",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"uLMRWieC9yGWXYyj2feHNa",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.20745979403699807,cy:.1,cz:.3,lx:.04610217645266624,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"aEZwzvFgCTEAmsGj6SSh6G",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7ptZfruK52YBWvj7ntVHnR",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.39186849984766303,cy:.1,cz:.3,lx:.04610217645266624,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"aEZwzvFgCTEAmsGj6SSh6G",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"bLbWhQE8kcWeWpvQFXbQ5a",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.03333333333333333,cy:.1,cz:.14285714285714285,lx:.06666666666666667,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"5oTqiHKufLbh4Es8MKzkGe",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"9a7QJYQGFkQBwdFtnhaCnM",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3,cy:.1,cz:.14285714285714285,lx:.06666666666666667,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"5oTqiHKufLbh4Es8MKzkGe",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"vi8Yq5gBqJoW5tPeYhBH7B",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3803429557344965,cy:.1,cz:.3,lx:.06915326467899936,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7vyLAK1d3g1q4PaUuuH3M8",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kizJtpXqJWR6KCL438E5YJ",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.2272727272727271,cy:.1,cz:.07142857142857142,lx:.09090909090909062,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hzXfdodMPgDwURK77F9MeV",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"g2MyW88G8QaeW7ivhwR2tv",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Human",name:"Jess",cx:4.690272477111533,cy:13.3005830342772,cz:.03336358582743005,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"g8MxeMM8L2RM1xR4mKCqRr",id:"nTe63y4NHf8RrpW2eucqBC",selected:!1,ly:.43},{type:"Window",cx:-.3418856946617659,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qJGbm5uGmW4X697uskEVvs",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:-.13149449794683302,cy:0,cz:-.08333333333333333,lx:.1577933975361996,ly:0,lz:.8333333333333334,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"w281yvi8VG2acGPfsqs5DF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.07889669876809982,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"mWxzJt7m7UWEJMmH3QHQEB",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3418856946617659,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7u2aKRK5YJxj5G4bJhfnuN",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28237583077258077,cy:.1,cz:-.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kJNAK2vsWPzsnxXo8yU2jJ",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28237583077258077,cy:.1,cz:.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"3xBVGhYk5CECo9wX6WccRP",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.28237583077258077,cy:.1,cz:.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"vLYAPPmtNdR8BBv2dwnaPC",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.28237583077258077,cy:.1,cz:-.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kx7Jk3snYCbpQRqNSTwx7i",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.33885099692709686,cy:.1,cz:.3,lx:.0968145705505991,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"hFnZkVdXVk7kt7HuJ5EXTA",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:.2904437116517973,cy:0,cz:-.3,lx:.1936291411011982,ly:0,lz:.4,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"hXTygNgpyWv5Q8SdkdwrBN",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.24203642637649775,cy:.1,cz:.3,lx:.0968145705505991,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"42F92bD3A47C9HfuQN7TKE",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.31558679507239956,cy:.1,cz:.24999999999999997,lx:.21039119671493278,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"j5t6bBkxWAT3r9CjT4GP8B",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qxRE8qmG9xHbjtVsaCxYsE",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.29586262038037425,cy:.1,cz:-.08333333333333333,lx:.06574724897341651,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hDtjiJL8L1n4uHmeabkB4U",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9sATuUB81PmwXpthc9oUjo",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.29586262038037425,cy:.1,cz:-.08333333333333333,lx:.06574724897341651,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hDtjiJL8L1n4uHmeabkB4U",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"wmRa6rPywUr54Esr4Sk1n4",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.15,cy:.1,cz:.35714285714285715,lx:.1,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"r2R5PZ9UN3GkeiaDktnAeY",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"akprzo3hHBejx7HCAVwmQ4",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.25,cy:.1,cz:.35714285714285715,lx:.1,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"r2R5PZ9UN3GkeiaDktnAeY",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"kHdEwJHqbM3B6pBPMdhSph",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28125,cy:.1,cz:.35714285714285715,lx:.0625,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"67wPdhvoUHXR7PuJh6jwmB",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"gSzMdys25c7EFmVM4PPcqc",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.09375,cy:.1,cz:.35714285714285715,lx:.0625,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"67wPdhvoUHXR7PuJh6jwmB",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"osJn4P5UR44EiHtzsfapPV",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.33512735959822765,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"iYjDfcWBcotpYGf1tfdYtt",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.03723637328869196,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"1DVcZmp9unvFUD3kth4Ldt",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.33512735959822765,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"iDftHFSTHkqwMVnS3owrRR",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.16666666666666666,lx:.2629889958936657,ly:0,lz:.6666666666666666,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beJH9KRXtDcaa6m4RL93xX",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"eAWyKBNd38qS1dYBuKrkj6",doorType:"Default",archHeight:1,filled:!0},{type:"Flower",name:"Cactus Combo 1",cx:15.634548540985584,cy:11.876139460714374,cz:.04168179258704141,lx:2,lz:2.35,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"wmzcYA53yLxrPfQ5v68p4e",selected:!1},{type:"Flower",name:"Cactus Combo 2",cx:18.898648680314054,cy:11.25310807141135,cz:.041681792587041855,lx:2,lz:2.7,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"ekW7n1M2LiXzN32pweKLPt",selected:!1},{type:"Flower",name:"Cactus Combo 4",cx:-9.952276659759775,cy:12.90502413689002,cz:.04168179258704274,lx:2,lz:2.69,normal:[0,1,0],rotation:[0,0,0],parentId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kyZxhbtBH6PAgp5K6MDu9p",selected:!1},{type:"Flower",name:"Cactus Combo 3",cx:-16.70983030604646,cy:11.722560280813752,cz:.041681792587040974,lx:2,lz:2.45,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"a9ApdGiziGdUumhgusYw2u",selected:!1},{type:"Human",name:"Jamelia",cx:-.9137087061647211,cy:10.928006147996442,cz:.041681792587041855,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"5QNe3ntzVQvFEHnDW2YJBn",selected:!1,ly:.65},{type:"Human",name:"Juro",cx:12.272662858917183,cy:8.898453665685638,cz:.041681792587041855,lx:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"jrkJAJRrbJ8LDAxvtvH9ym",selected:!1,ly:.494},{type:"Flower",name:"Cactus Combo 2",cx:15.729057510724607,cy:-7.680209466829874,cz:.041681792587040974,lx:2,lz:2.7,normal:[0,0,1],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"bWKYur6DnwP6mEaL7fWHC5",selected:!1},{type:"Flower",name:"Cactus Combo 1",cx:5.786476089599912,cy:-6.442673510815909,cz:.04168179258704363,lx:2,lz:2.35,normal:[0,0,1],rotation:[0,0,0],parentId:"dwSg9LvrTwKhMcJFZMtZSx",id:"3ao3ZpduETphLg6cc8LUjj",selected:!1},{type:"Flower",name:"Cactus Combo 4",cx:-10.111033648495354,cy:-7.125989728474186,cz:.04168179258704363,lx:2,lz:2.69,normal:[0,0,1],rotation:[0,0,0],parentId:"dwSg9LvrTwKhMcJFZMtZSx",id:"uqTpdoF6iAUdixG8SfEgJj",selected:!1},{type:"Window",cx:-.31558679507239945,cy:.1,cz:.24999999999999997,lx:.21039119671493292,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"j5t6bBkxWAT3r9CjT4GP8B",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"ibgD6gwHyvXo2UA5ceSEVw",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Human",name:"Jiya",cx:10.698394787136534,cy:11.589493889667297,cz:.03336358582743005,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"mMaWsSyXEBfBHccaGNhNaS",selected:!1,ly:.6},{type:"Human",name:"John",cx:8.199832055622817,cy:11.636996804402608,cz:.033363585827429154,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"48yGEsfjgkFf6JxD4AfTys",selected:!1,ly:.6},{type:"Window",cx:-.4058097887797344,cy:.1,cz:.24999999999999997,lx:.03528780771997702,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"aPAj9pnBrDVWusPRcoZUdo",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.2999463656198036,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bhkdQB672T3sQvxXuVmHrR",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.19408294245987287,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hBEhSqRgj9NSNQa4oM7xNt",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.08821951929994218,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tB2iwRfd3qTWeCsYv7HiuW",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.44109759649971125,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5RkPZYVo3GN5X19Bn6Yr4D",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3705219810597575,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"59NsagWft1p9bwUyWDUzrn",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.2999463656198037,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"77AhVqY63vBnmESEhniVsa",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Cuboid",cx:-14.789681570981625,cy:-12.821724309505734,cz:1.3499532304431159,lx:3.0361328512402026,ly:2.0173847404410545,lz:2.6999064608862318,color:"#df9b6c",faceColors:["#df9b6c","#df9b6c","#df9b6c","#df9b6c","#df9b6c","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.0555294187969286],parentId:"Ground",selected:!1,id:"8afBb85AbBXxrUxc1UJNK2"},{type:"Tree",name:"Coconut",cx:10.01957056934475,cy:-11.043888206723011,cz:0,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gHPxDQkjKxPPpDTbnNBT1s",selected:!1},{type:"Tree",name:"Coconut",cx:19.62542663178017,cy:-.8605656311368737,cz:.041681792587041855,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"ojssPm5w3H8Z5YiH8zAEzJ",selected:!1},{type:"Tree",name:"Coconut",cx:-5.921845166656402,cy:-20.83835275090669,cz:-8881784197001252e-31,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hiyUWsAKxmKF4tZmUy3NkH",selected:!1}],Qsn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-12.5485886969171,-8.79449187461802,-8794882783709357e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-12.5485886969171,-8.794641881286468,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-9.661868463308164,-30.326442140062476,3.3023821453989806],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#999999",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.5760093837906188,2.4983076358188625,2.2700206595855397],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Zsn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ecn=1,tcn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ncn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},ocn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},icn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},rcn=[],acn={docid:_sn,time:Vsn,timestamp:Gsn,userid:Xsn,owner:Jsn,email:Ksn,world:qsn,elements:$sn,view:Qsn,graphState:Zsn,evolutionMethod:ecn,solarPanelArrayLayoutParams:tcn,solarPanelArrayLayoutConstraints:ncn,evolutionaryAlgorithmState:ocn,economicsParams:icn,notes:rcn},lcn="46sdKsi3AXehgk5pLocfEZ",scn="11/15/2023 08:10 PM",ccn=1700097013597,ucn="QWecNcxhyvP6j6sBN11hBsfZDau1",dcn=null,fcn=null,hcn="1.4.7",pcn={diurnalTemperatureModel:1,longitude:-71.3488548,sutDaysPerYear:4,daysPerYear:4,solarPanelVisibilityGridCellSize:.2,sutGridCellSize:1,noAnimationForSensorDataCollection:!1,latitude:42.2844063,address:"Natick, MA",discretization:"Approximate",solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 12:00:00 PM",pvGridCellSize:.5,cspGridCellSize:.5,airAttenuationCoefficient:.01,noAnimationForThermalSimulation:!1,highestTemperatureTimeInMinutes:900,noAnimationForSolarPanelSimulation:!1,sutTimesPerHour:1,noAnimationForSolarUpdraftTowerSimulation:!1,timesPerHour:1,cspTimesPerHour:1,ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},dustLoss:.05,name:"default",countryCode:"US",cspDaysPerYear:4,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:5},gcn=[{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:9.90269213865045,solarUpdraftTower:{},ly:19.683075461124755,lz:.1,parentId:"Ground",cx:-9.113689833217686,cy:.18995426124406656,cz:.05,textureType:"No Foundation Texture",id:"9i1GeRaoeMfYcFyEXeESac",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["vGUT3JZv2v5bPwGYFugWY9"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["v2X26dL66tDwT3FmUa4dJm"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:19.021724129735727,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"9QENUE5u5vX4ytePVUekD6",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[4.927202561127663,9.208552266536293,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:4.927202561127659,cy:-.3023097983315708,cz:0,leftUnfilledHeight:.5,leftPoint:[4.927202561127656,-9.813171863199434,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:1.5707963267948963,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["aR3TKXZKTA3DjkwyAfcrsN"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["9QENUE5u5vX4ytePVUekD6"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:9.871623613893995,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"vGUT3JZv2v5bPwGYFugWY9",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-4.944421052766332,9.208552266536286,0],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-.008609245819334532,cy:9.208552266536289,cz:0,leftUnfilledHeight:.5,leftPoint:[4.927202561127663,9.208552266536293,0],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:3.1415926535897936,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["v2X26dL66tDwT3FmUa4dJm"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["vGUT3JZv2v5bPwGYFugWY9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:19.02172412973572,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"aR3TKXZKTA3DjkwyAfcrsN",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-4.944421052766332,-9.813171863199434,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-4.944421052766332,cy:-.30230979833157434,cz:0,leftUnfilledHeight:.5,leftPoint:[-4.944421052766332,9.208552266536286,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:-1.5707963267948968,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["9QENUE5u5vX4ytePVUekD6"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["aR3TKXZKTA3DjkwyAfcrsN"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:9.871623613893986,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"v2X26dL66tDwT3FmUa4dJm",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[4.927202561127656,-9.813171863199434,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-.008609245819338085,cy:-9.813171863199434,cz:0,leftUnfilledHeight:.5,leftPoint:[-4.94442105276633,-9.813171863199434,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:0,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:2,lineWidth:.2,showLabel:!1,wallsId:["9QENUE5u5vX4ytePVUekD6"],textureType:"Roof Texture Default",id:"emaK2k9UPEiLxchx8wQAVR",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:0,cy:0,cz:0,rise:2},{color:"#ffffff",type:"Window",lx:.147367402963575,ly:.3,tint:"#73D8FF",lz:.5426870588204226,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"dYhfccPnbEuiEAJoeaQBDj",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.2701735720998875,cy:.3,cz:.0904478431367371,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.147367402963575,ly:.3,tint:"#73D8FF",lz:.5426870588204226,windowType:"Default",empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"5nVnggQ1j1y4LhusK3QQ9N",selected:!1,normal:[0,0,0],mullionWidth:.06,rotation:[0,-1,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.22105110444536252,cy:.3,cz:.0904478431367371,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.06896551724137932,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Arched",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"iAAMojVW9SfERJgsNR5wGg",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.014639709033835343,cy:.3,cz:.1951247058802817,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:5.121405440544657,solarUpdraftTower:{},ly:23.331989134689955,lz:.1,parentId:"Ground",notBuilding:!0,cx:7.117139637555678,cy:-2.1402534531496054,cz:.05,textureType:"Foundation Texture #7",id:"6oJTxTDspAfmbzbkSwgLzM",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["u8cZQ8gw5Uc65jmC4AaB7d"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["naij9irGfPKDF6gEc7Zkzp"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:6.120671841837397,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"hbDCpCYC3ZLecZSkhJS1EQ",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[2.559407991260085,2.8016570371963034,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:2.559407991260085,cy:-.25867888372239545,cz:0,leftUnfilledHeight:.5,leftPoint:[2.559407991260085,-3.3190148046410934,.1],wallStructure:"Pillar",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:27.903855171778083,solarUpdraftTower:{},ly:11.561493647400244,lz:.1,parentId:"Ground",cx:-.6894829517342327,cy:3.639827040053712,cz:.05,textureType:"No Foundation Texture",id:"4CT3RC8YfvAiLoXMz31PEP",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["1Zay38AwfKg5VsDAT4PNTX"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["9BgkixvH2fS92Toh4D28v5"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:21.991286967543367,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"kqp9pSQMqPyRJVqLaTvTUF",leftRoofHeight:3,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[-8.140917668430362,5.750753387493409,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:2.8547258153413235,cy:5.750753387493408,cz:0,leftUnfilledHeight:.5,leftPoint:[13.850369299113007,5.750753387493406,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["kqp9pSQMqPyRJVqLaTvTUF"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["oNGhacA1yDo6pQ4NiWd8Nw"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:11.392654386409493,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"9BgkixvH2fS92Toh4D28v5",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[13.850369299113007,5.750753387493413,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:13.850369299113007,cy:.05442619428866724,cz:0,leftUnfilledHeight:.5,leftPoint:[13.850369299113007,-5.641900998916079,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{normal:[0,1,0],cx:.12009022039087736,cy:-3.0450806858488395,cz:.05000000074505806,rotation:[0,0,0],name:"Jamelia",id:"uRMwVbiJoYLhXPAzZaiS71",type:"Human",lx:.65,lz:1.8,parentId:"6oJTxTDspAfmbzbkSwgLzM",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["oNGhacA1yDo6pQ4NiWd8Nw"],structureSpacing:2,structureColor:"white",rightRoofHeight:2.999999999999999,leftJoints:["kqp9pSQMqPyRJVqLaTvTUF"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:11.392654386409477,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[-5551115123125783e-32,5],roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"1Zay38AwfKg5VsDAT4PNTX",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-8.140917668430362,-5.64190099891607,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:-8.140917668430362,cy:.05442619428866813,cz:0,leftUnfilledHeight:.5,leftPoint:[-8.140917668430362,5.750753387493406,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["9BgkixvH2fS92Toh4D28v5"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["1Zay38AwfKg5VsDAT4PNTX"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:21.991286967543363,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"oNGhacA1yDo6pQ4NiWd8Nw",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[13.850369299113007,-5.641900998916079,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:2.8547258153413235,cy:-5.641900998916076,cz:0,leftUnfilledHeight:.5,leftPoint:[-8.140917668430362,-5.641900998916072,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:-3231019343291642e-31,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:2,lineWidth:.2,showLabel:!1,wallsId:["kqp9pSQMqPyRJVqLaTvTUF"],textureType:"Roof Texture Default",id:"qmUXXfVhmamGoX7fipyTJo",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:0,cy:0,cz:0,rise:2},{normal:[0,1,0],color:"#ffffff",rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",doorType:"Default",filled:!0,lineColor:"#000000",type:"Door",lx:.10630984247920754,uValue:1,ly:0,lz:.8333333333333334,lineWidth:.2,showLabel:!1,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",interior:!1,cx:.2232506692063359,cy:0,cz:-.08333333333333333,archHeight:1,textureType:"Door Texture #13",id:"j64mXBpPWycvnXkBDtiDas",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["gjog834aLNPzVBFGgmeHKa"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["hbDCpCYC3ZLecZSkhJS1EQ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:5.029686673364193,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.0028493376063965],roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"u8cZQ8gw5Uc65jmC4AaB7d",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[-2.470278682104108,2.8016570371963034,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:.04456465457798853,cy:2.8016570371963034,cz:0,leftUnfilledHeight:.5,leftPoint:[2.559407991260085,2.8016570371963034,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["naij9irGfPKDF6gEc7Zkzp"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["u8cZQ8gw5Uc65jmC4AaB7d"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:6.120671841837397,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"gjog834aLNPzVBFGgmeHKa",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[-2.470278682104108,-3.3190148046410934,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:-2.470278682104108,cy:-.25867888372239545,cz:0,leftUnfilledHeight:.5,leftPoint:[-2.470278682104108,2.8016570371963034,.1],wallStructure:"Pillar",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["hbDCpCYC3ZLecZSkhJS1EQ"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["gjog834aLNPzVBFGgmeHKa"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:5.029686673364193,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.0028493376063965],roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"naij9irGfPKDF6gEc7Zkzp",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[2.559407991260085,-3.3190148046410934,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:.04456465457798853,cy:-3.3190148046410934,cz:0,leftUnfilledHeight:.5,leftPoint:[-2.470278682104108,-3.3190148046410934,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:0,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#808080",thickness:.15,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:0,lineWidth:.2,showLabel:!1,wallsId:["gjog834aLNPzVBFGgmeHKa"],textureType:"Roof Texture Default",id:"wBHkiU6oo5drdfZkAFGFfz",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:0,cy:0,cz:0,rise:1.0028493376063965},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:2.728592264047313,solarUpdraftTower:{},ly:4.662886212525777,lz:.1,parentId:"Ground",notBuilding:!0,cx:3.15486402400506,cy:5.558911086166162,cz:.05,textureType:"No Foundation Texture",id:"cnVE9qA8tGVxx7Twx9YQ7v",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["pXM26q1VjfYYDMxhYfN2o9"],structureSpacing:2,structureColor:"white",leftJoints:["oQPmsDKPXogP77dA6oQjhK"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"o5Yf7XQHbF4kHVdq79cdp9",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.8117707735928041,-.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.31177077359280414,cy:-.1460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[.18822922640719586,-.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["o5Yf7XQHbF4kHVdq79cdp9"],structureSpacing:2,structureColor:"white",leftJoints:["xuRnyn33hSpjc1EP64SqoP"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"oQPmsDKPXogP77dA6oQjhK",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[.18822922640719586,-.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:.18822922640719586,cy:-.6460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[.18822922640719586,-1.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["xuRnyn33hSpjc1EP64SqoP"],structureSpacing:2,structureColor:"white",leftJoints:["o5Yf7XQHbF4kHVdq79cdp9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"pXM26q1VjfYYDMxhYfN2o9",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.8117707735928041,-1.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.8117707735928041,cy:-.6460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[-.8117707735928041,-.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:4.71238898038469,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["oQPmsDKPXogP77dA6oQjhK"],structureSpacing:2,structureColor:"white",leftJoints:["pXM26q1VjfYYDMxhYfN2o9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"xuRnyn33hSpjc1EP64SqoP",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[.18822922640719586,-1.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.31177077359280414,cy:-1.1460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[-.8117707735928041,-1.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:0,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"aZQsp9KnrVqmk4eAwe1NCt",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.20610080510533202,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.0865221828476419,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"wi1NteLea8pGYc59N8ZyTs",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.09315657273688317,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"tpCHwLeKKFgUw5FY2DKdy1",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.021261968495841516,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"1NPtUozjvhjcbUekBxsSNW",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.40397740142098876,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04632014812218899,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"ptRhzHtPCd3TfYdEbPj837",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"9QENUE5u5vX4ytePVUekD6",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.29226874611722437,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:3.215640251525082,solarUpdraftTower:{},ly:7.683856697227261,lz:.1,parentId:"Ground",cx:13.747250889007532,cy:3.741208118171845,cz:.05,textureType:"No Foundation Texture",id:"4SCfFQkEiBbVWLNY4GZGRU",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["c1xKbTDTkdNMKPxFGbq5sJ"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["4HHRdJpRSx8pifjYvsDdM4"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:2.1985623896518645,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"u8nK8tuuo6DkzwQEivraoQ",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.6112818815298553,3.4762421347806844,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:.4879993132960756,cy:3.4762421347806844,cz:0,leftUnfilledHeight:.5,leftPoint:[1.5872805081220083,3.4762421347806844,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["u8nK8tuuo6DkzwQEivraoQ"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["bxY2NeBNcbCbVPsugfGXTE"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:7.103113702900762,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.5],roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"4HHRdJpRSx8pifjYvsDdM4",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[1.5872805081220083,3.4762421347806844,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:1.5872805081220083,cy:-.07531471666969658,cz:0,leftUnfilledHeight:.5,leftPoint:[1.5872805081220083,-3.6268715681200776,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["bxY2NeBNcbCbVPsugfGXTE"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["u8nK8tuuo6DkzwQEivraoQ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:7.103113702900762,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.5],roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"c1xKbTDTkdNMKPxFGbq5sJ",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.6112818815298553,-3.6268715681200776,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:-.6112818815298553,cy:-.07531471666969658,cz:0,leftUnfilledHeight:.5,leftPoint:[-.6112818815298553,3.4762421347806844,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["4HHRdJpRSx8pifjYvsDdM4"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["c1xKbTDTkdNMKPxFGbq5sJ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:2.1985623896518645,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"bxY2NeBNcbCbVPsugfGXTE",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[1.5872805081220083,-3.6268715681200776,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:.4879993132960756,cy:-3.6268715681200776,cz:0,leftUnfilledHeight:.5,leftPoint:[-.6112818815298553,-3.6268715681200776,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:0,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:0,lineWidth:.2,showLabel:!1,wallsId:["bxY2NeBNcbCbVPsugfGXTE"],textureType:"Roof Texture Default",id:"iQYyB4WDCVVmrDF6P2RGEj",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",lineColor:"#000000",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:0,cy:0,cz:0,rise:1.5},{color:"#ffffff",type:"Window",lx:.4656293560221584,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"ur2wu1GbyFVp7FmPxNNmBM",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",lineColor:"#000000",uValue:2,parentId:"bxY2NeBNcbCbVPsugfGXTE",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:12923810799929613e-33,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,1,0],cx:-13.100619706718579,cy:-10.982350587612038,cz:0,rotation:[0,0,0],name:"Boxwood",id:"bzsGApekhuYxympNeW6JVx",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-11.532994972828238,cy:-10.945183221755485,cz:0,rotation:[0,0,0],name:"Boxwood",id:"2y8Zm1vaLLzKLCLA5bR7oe",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-9.926022363688986,cy:-10.929829923112186,cz:0,rotation:[0,0,0],name:"Boxwood",id:"dJtXdJrD6NpPxoMSTaJY7n",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-8.252046390037505,cy:-10.833715328006154,cz:0,rotation:[0,0,0],name:"Boxwood",id:"fZeGKA8vqbSdnXefKUgP6u",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-6.596249922214839,cy:-10.835475782121927,cz:0,rotation:[0,0,0],name:"Boxwood",id:"mDpx3QUsXGWznsz7rRMSdN",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-4.903997368711945,cy:-10.880752447262477,cz:0,rotation:[0,0,0],name:"Boxwood",id:"7unbM9cBoPXu92FcGyHWjG",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-8.971390493828297,cy:-12.01356765080397,cz:0,rotation:[0,0,0],name:"Jacob",id:"9sZwMtiyANKZHbqdhvGUp9",type:"Human",lx:.8,lz:1.82,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-2.805525594551304,cy:-3.0636427589221107,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"kdDbY49KBpLT6Gh4XRcuXV",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-.8228472548979603,cy:-2.9603397088144945,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"cPktsh6MkPkQgTpcfsZ264",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:1.2205615754221601,cy:-3.0452854714079365,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"pfPsSh1hnCKWYj3B8ZGyhC",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:3.188130988912686,cy:-3.1336708109310862,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"oKGQ71oyUFnUv3h2wpjctG",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.49096591590788,cy:-2.9417670536643996,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"tAkXUbnTXQQEkhtjgkeL9a",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:12.439980874103988,cy:-2.958114538663313,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"3uPL624aQAssRbe8u5vNsL",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.227119582351997,cy:-6.718823701549967,cz:0,rotation:[0,0,0],name:"White Flower",id:"pp9vMNnF3gKDKwKACrCtWt",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.248202396665872,cy:-7.3829856427934075,cz:0,rotation:[0,0,0],name:"White Flower",id:"6HCPw6bEmxM9XBoyEFYsXx",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.29608623259089,cy:-8.067012538431428,cz:0,rotation:[0,0,0],name:"White Flower",id:"s9pXmqBnLJggJVDKmKrsUe",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.253112052389068,cy:-8.783230589194178,cz:0,rotation:[0,0,0],name:"White Flower",id:"nmZQCDYhSZSpTJn766vY6J",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.284683512589031,cy:-9.514835126828089,cz:0,rotation:[0,0,0],name:"White Flower",id:"qTPuqJ4Ppz1TkNvBeQyqFz",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.071297430185469,cy:-6.519410387949039,cz:0,rotation:[0,0,0],name:"White Flower",id:"5pk9bJdBfyK4bpLi5BT6NM",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.062267589853372,cy:-7.196223132026073,cz:0,rotation:[0,0,0],name:"White Flower",id:"r8K8yWqHuFGizynm6ddenB",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.097400993990563,cy:-7.971209786072892,cz:0,rotation:[0,0,0],name:"White Flower",id:"oG3QSnZ1Uk7vjSTdBJ8fXN",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.06700296171534,cy:-8.729909052223485,cz:0,rotation:[0,0,0],name:"White Flower",id:"tkRzfWzEvDw14BTf7giDeA",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.080379345721328,cy:-9.557453473585836,cz:0,rotation:[0,0,0],name:"White Flower",id:"sCmW6UrmvwLKnfPLkgt286",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.299044056096119,cy:-10.313859849129921,cz:0,rotation:[0,0,0],name:"White Flower",id:"qigHYFtupbrFesxkd37Zht",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.075030547693563,cy:-10.331325702253856,cz:0,rotation:[0,0,0],name:"White Flower",id:"wWEyHg1cJDBq1b3EMERb9A",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.309032427615859,cy:-11.091835373694485,cz:0,rotation:[0,0,0],name:"White Flower",id:"1kA9AC2Guwj5iAhcjXubxK",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.099628606942899,cy:-11.10977466594735,cz:0,rotation:[0,0,0],name:"White Flower",id:"6Lxn24pDS3Drayq29WyoKf",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.385872466836958,cy:-11.910915656038041,cz:0,rotation:[0,0,0],name:"White Flower",id:"qrcVRZNMH5ehQ4r36RBqU6",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.130718482167884,cy:-11.91928566361417,cz:0,rotation:[0,0,0],name:"White Flower",id:"89M11hZpqVtWuZCYDG5EYF",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.426502126657067,cy:-12.641489645575502,cz:0,rotation:[0,0,0],name:"White Flower",id:"edL3BFi1bTcY7m6rb8Z692",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.128599191487156,cy:-12.753156162180996,cz:0,rotation:[0,0,0],name:"White Flower",id:"33TVUhPCYQMxWUT6sdBkTj",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.438104647827676,cy:-13.391380274386641,cz:0,rotation:[0,0,0],name:"White Flower",id:"ddTatvjn8PZnpa5P7wkL8k",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.094734752772371,cy:-13.540199425804733,cz:0,rotation:[0,0,0],name:"White Flower",id:"mx6oiu2CpUQHto7UPZUVNA",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:15.223771494752249,cy:-1.1686190396344398,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"bEZvtj2vhcueHdhStZq3zG",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.813831408618693,cy:4.533595612460387,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"rHgigsbmBipXpU5L23ADrP",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.761059861350283,cy:2.526606100917273,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"5sKnhXEkZrDN45g6Hkv3Dr",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.735563289446127,cy:6.631805912715191,cz:-17763568394002505e-31,rotation:[0,0,0],name:"Hibiscus",id:"2NraLHQLDf7r45LZpKeZWV",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.65137747037868,cy:.5295700067482301,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"ssqX4qu1eL82YUJ4MAMBZc",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{color:"#ffffff",polygonTop:[0,1.5],type:"Window",lx:.6144309976040727,ly:.3,tint:"#73D8FF",lz:.9666666666666667,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"hNQ7uh7EgAer8x5yJgdejy",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"9BgkixvH2fS92Toh4D28v5",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-19490155445241313e-33,cy:.3,cz:.01666666666666668,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:1.0259623193904517,ly:.2,tint:"#73D8FF",lz:.9973447889836972,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"pEKTeVcdGPeo8QaTuPfNZn",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314723,0,3.141592653589793],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:3.271837805703635,cy:1.2022574325146156,cz:4.796992518408978,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.02198232342893128,5.239274910393489],type:"Window",lx:11.521452745175713,ly:.2,tint:"#73D8FF",lz:.028013650400663493,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"ve3NZruBvxPhuGrwYfJYbD",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3849826581688516,0,1.5707963267948961],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"emaK2k9UPEiLxchx8wQAVR",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:5.086744147605803,cy:3.321831955890855,cz:3.135353456445162,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.5841143520475517,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"xcpQhvE8H4jY1XBufEziCv",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"9QENUE5u5vX4ytePVUekD6",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.1869142359643362,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[-.5,6.225749243067175],type:"Window",lx:4.529358401864285,ly:.2,tint:"#73D8FF",lz:.0014510101332386256,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"qco3N3M7pEccTSX4FnzmmB",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314746,0,-4440892098500626e-31],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-6.038377742510676,cy:-5.937820865703974,cz:3.0961015205935123,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.17714486148633357,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"1u4CPXmzZ7U8AD1aJnrxtZ",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.40688031378480977,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.5,5.545977124465995],type:"Window",lx:4.431361564126709,ly:.2,tint:"#73D8FF",lz:.05655021663112993,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"hxMturJGqg8nQWYw3248Zf",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314746,0,3.141592653589793],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-6.124998499042543,cy:5.680878658133054,cz:3.224533256953256,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.19988113884645106,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"rm6Z987XxKrWApL3xoegwQ",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"kqp9pSQMqPyRJVqLaTvTUF",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.3955121751047511,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.5,2.9702881561464394],type:"Window",lx:3.157582763484352,ly:.15,tint:"#73D8FF",lz:.021976494720977846,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"pqpP8EKpYsZ86BiFVEHhxo",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3794473874556583,0,1.5707963267948966],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",uValue:2,parentId:"wBHkiU6oo5drdfZkAFGFfz",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:2.8491029983508964,cy:1.4398333849785727,cz:3.034477716074278,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[-.5,2.8179589134876353],type:"Window",lx:3.322490733590821,ly:.15,tint:"#73D8FF",lz:.016499091866733075,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"7zkZZCYRrhEu3epYoe3VVL",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3794473874556583,0,4.71238898038469],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",uValue:2,parentId:"wBHkiU6oo5drdfZkAFGFfz",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-2.759910269509251,cy:1.377735998361726,cz:3.034503006074985,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,1,0],cx:19.682640887226967,cy:1.7189056044242683,cz:0,rotation:[0,0,0],name:"Apple",id:"7Fb312hzxWdTnmmZmzJ1Ub",type:"Tree",lx:5.1836671993460035,lz:5.934335930936695,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-17.761844408107656,cy:-14.105635188228664,cz:0,rotation:[0,0,0],name:"Elm",id:"7o7bNqKzFGLaB6T7op3udd",type:"Tree",lx:15.71602183123487,lz:16.55887991319796,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:.7478699234997297,cy:-12.856360711077464,cz:17763568394002505e-31,rotation:[0,0,0],name:"Joel",id:"68Win1DRWqT8VnsTwHRtwy",type:"Human",lx:1.8,lz:1.75,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-.11804362509319688,cy:-9.517368667682085,cz:0,rotation:[0,0,0],name:"Jacqueline",id:"n6cjamzJLc5nH9PXsech9s",type:"Human",lx:.43,lz:1.78,parentId:"Ground",selected:!1}],mcn=63,ycn={showDailyLightSensorPanel:!1,yearlyPvYieldPanelY:0,yearlyHeliostatYieldPanelY:0,windowShininess:200,dailyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},dailyLightSensorPanelY:0,heatFluxWidth:.5,showEvolutionPanel:!1,shadowEnabled:!0,theme:"Rural",dailyFresnelReflectorYieldPanelRect:{width:600,y:0,x:0,height:400},showDailyParabolicTroughYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelY:0,dailyLightSensorPanelRect:{x:0,height:360,y:0,width:600},yearlyFresnelReflectorYieldPanelX:0,dailyParabolicDishYieldPanelRect:{height:400,x:0,y:0,width:600},dailyParabolicDishYieldPanelX:0,dailyParabolicTroughYieldPanelRect:{width:600,height:400,x:0,y:0},yearlyLightSensorPanelRect:{width:600,height:500,x:0,y:0},showDailyFresnelReflectorYieldPanel:!1,weatherPanelRect:{x:0,width:500,y:0,height:500},showWeatherPanel:!1,showDailyHeliostatYieldPanel:!1,stickyNotePanelX:0,weatherPanelX:0,showDailyBuildingEnergyPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,yearlyHeliostatYieldPanelRect:{height:400,y:0,width:600,x:0},evolutionPanelRect:{x:0,width:640,y:0,height:400},waterSurface:!1,showYearlyPvYieldPanel:!1,weatherPanelY:0,groundImage:!1,dailyParabolicDishYieldPanelY:0,solarPanelShininess:100,directLightIntensity:1,solarRadiationHeatMapMaxValue:5,heliodon:!1,mapPanelX:0,showEconomicsPanel:!1,showStickyNotePanel:!1,showYearlyLightSensorPanel:!1,mapPanelY:0,heliodonPanelX:0,showDesignInfoPanel:!0,showHeliodonPanel:!1,yearlyFresnelReflectorYieldPanelY:0,dailyPvYieldPanelY:0,dailyPvYieldPanelX:0,groundColor:"#194d33",showMapPanel:!1,autoRotate:!1,heatFluxScaleFactor:20,dailyFresnelReflectorYieldPanelX:0,showAzimuthAngle:!0,yearlyUpdraftTowerYieldPanelRect:{height:400,y:0,width:600,x:0},dailyParabolicTroughYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,dailyFresnelReflectorYieldPanelY:0,yearlyLightSensorPanelY:0,showZenithAngle:!0,heliodonPanelY:0,dailyUpdraftTowerYieldPanelRect:{height:550,width:640,x:0,y:0},yearlyParabolicTroughYieldPanelX:0,orthographic:!1,showDailyUpdraftTowerYieldPanel:!1,mapZoom:18,mapWeatherStations:!1,showYearlyParabolicTroughYieldPanel:!1,cameraPosition:[14.811475377664713,-20.78474536900838,3.578971879440754],dailyHeliostatYieldPanelX:0,enableRotate:!0,dailyHeliostatYieldPanelY:0,showSolarPanelVisibilityResultsPanel:!1,showInstructionPanel:!0,yearlyPvYieldPanelRect:{x:0,height:400,width:600,y:0},showSiteInfoPanel:!0,dailyLightSensorPanelX:0,panCenter2D:[4.576706139296041,-7.605431240841252,-7651462374536784e-21],showDailyParabolicDishYieldPanel:!1,ambientLightIntensity:.1,yearlyLightSensorPanelShowDaylight:!1,showElevationAngle:!0,showYearlyBuildingEnergyPanel:!1,cameraZoom:37.01235612443423,showDailyPvYieldPanel:!1,diurnalTemperaturePanelRect:{height:400,width:600,y:0,x:0},cameraPosition2D:[4.576706139296041,-7.606431618292216,150],yearlyHeliostatYieldPanelX:0,showSunAngles:!1,showYearlyParabolicDishYieldPanel:!1,solarRadiationHeatMapReflectionOnly:!1,yearlyFresnelReflectorYieldPanelRect:{height:400,y:0,width:600,x:0},yearlyBuildingEnergyPanelRect:{height:400,x:0,width:600,y:0},dailyPvYieldPanelRect:{height:400,width:600,x:0,y:0},dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelRect:{x:0,width:600,y:0,height:400},axes:!1,dailyBuildingEnergyPanelRect:{width:600,x:-10,y:-2,height:400},yearlyLightSensorPanelShowClearness:!1,heatFluxColor:"gray",showDiurnalTemperaturePanel:!1,yearlyPvYieldPanelX:0,stickyNotePanelRect:{height:300,y:0,width:400,x:0},showYearlyHeliostatYieldPanel:!1,visibilityResultsPanelX:0,visibilityResultsPanelY:0,yearlyParabolicTroughYieldPanelY:0,panCenter:[-2.2871814685183796,5.668685587288812,3.578971879440754],yearlyParabolicDishYieldPanelRect:{x:0,height:400,y:0,width:600},visibilityResultsPanelRect:{x:0,height:470,width:600,y:0},yearlyParabolicDishYieldPanelY:0,mapType:"roadmap",groundImageType:"roadmap",yearlyLightSensorPanelX:0,mapTilt:0},Acn=!1,wcn={dailyPvIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1},vcn=1,xcn={poleSpacing:3,interRowSpacing:2,rowAxis:"Zonal",tiltAngle:0,rowsPerRack:1,poleHeight:1,orientation:"Landscape",pvModelName:"SPR-X21-335-BLK"},bcn={rowAxis:"Zonal",minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumInterRowSpacing:10,poleSpacing:5,poleHeight:1,orientation:"Landscape",maximumRowsPerRack:6,minimumRowsPerRack:1,maximumTiltAngle:1.5707963267948966,minimumInterRowSpacing:2},Scn={particleSwarmOptimizationParams:{inertia:.8,convergenceThreshold:.01,swarmSize:20,socialCoefficient:.1,cognitiveCoefficient:.1,localSearchRadius:.1,searchMethod:1,maximumSteps:5,problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,vmax:.01},geneticAlgorithmParams:{objectiveFunctionType:1,mutationRate:.1,convergenceThreshold:.01,selectionRate:.5,localSearchRadius:.1,problem:"Solar Panel Tilt Angle",maximumGenerations:5,selectionMethod:1,searchMethod:1,crossoverRate:.5,populationSize:20}},Tcn={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},Pcn="Unknown",Ccn=null,Rcn=null,Hcn=null,Mcn=null,Icn=[],zcn=3,Dcn=3,Ecn={docid:lcn,time:scn,timestamp:ccn,userid:ucn,owner:dcn,email:fcn,version:hcn,world:pcn,elements:gcn,sceneRadius:mcn,view:ycn,animate24Hours:Acn,graphState:wcn,evolutionMethod:vcn,solarPanelArrayLayoutParams:xcn,solarPanelArrayLayoutConstraints:bcn,evolutionaryAlgorithmState:Scn,economicsParams:Tcn,modelType:Pcn,modelAuthor:Ccn,modelLabel:Rcn,modelDescription:Hcn,designProjectType:Mcn,notes:Icn,minimumNavigationMoveSpeed:zcn,minimumNavigationTurnSpeed:Dcn},kcn="2dxtGmCKtazgz4ZZyFZJZt",Fcn="08/09/2023 10:14 am",Lcn=1691590469988,Wcn="QWecNcxhyvP6j6sBN11hBsfZDau1",Ncn=null,Ucn=null,Bcn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},jcn=[{type:"Wall",cx:.13929493819855354,cy:6.605812086773116,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4.406268181656478,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[7.026331619159589,6.605812086773116,1],rightPoint:[-6.747741742762483,6.605812086773116,1],relativeAngle:3.141592653589793,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:7.026331619159589,cy:1.082477095396415,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4.406268181656478,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[7.0263316191595875,-4.440857895980288,1],rightPoint:[7.026331619159591,6.605812086773116,1],relativeAngle:1.5707963267948961,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.27157505426375056,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:-6.747741742762481,cy:1.082477095396415,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4.406268181656478,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.747741742762481,6.605812086773116,1],rightPoint:[-6.747741742762483,-4.440857895980288,1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.31683756330770896,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:.13929493819855443,cy:-4.440857895980288,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4.406268181656478,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.747741742762483,-4.440857895980288,1],rightPoint:[7.026331619159591,-4.440857895980288,1],relativeAngle:0,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.39930090798010054,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.217800495261873,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.217800495261873,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.39930090798010054,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.0625,lx:.217800495261873,ly:0,lz:.875,color:"white",textureType:"Door Texture #5",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Foundation",cx:-.10211164866366573,cy:-1.0707408518635368,cz:.5,lx:19.70489075906007,ly:14.114227282188692,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,color:"#ffffff",hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},notBuilding:!1},{type:"Human",name:"Jeanette",cx:.14801233194486496,cy:-8.06976158791596,cz:.550000011920929,lx:.4,ly:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",id:"wnofb4XeX3vKmPtas3Qz87",selected:!1},{type:"Wall",cx:-.011858550160528447,cy:7.221609932314045,cz:2.2408122612280286,lx:17.504258260617593,ly:.1,lz:3.738081358463903,leftJoints:["13CFTeuFCTc4YUCeVPJLjR"],rightJoints:["7hhgnkf2gpmkfhuWn7XUeP"],leftPoint:[8.740270580148266,7.221609932314045,1.1],rightPoint:[-8.763987680469327,7.221609932314045,1.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"noYCZko5xXDdVcHWBtGenP",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:8.740270580148266,cy:-1.182787584171602,cz:2.2301039869226305,lx:16.808795032971297,ly:.1,lz:3.738081358463903,leftJoints:["59rdAGCDJqPHgoGBDNRR6Q"],rightJoints:["noYCZko5xXDdVcHWBtGenP"],leftPoint:[8.740270580148266,-9.587185100657251,1.1],rightPoint:[8.74027058014827,7.221609932314045,1.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"13CFTeuFCTc4YUCeVPJLjR",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:-8.763987680469327,cy:-1.182787584171602,cz:2.228839888904333,lx:16.808795032971297,ly:.1,lz:3.738081358463903,leftJoints:["noYCZko5xXDdVcHWBtGenP"],rightJoints:["59rdAGCDJqPHgoGBDNRR6Q"],leftPoint:[-8.763987680469324,7.221609932314045,1.1],rightPoint:[-8.763987680469327,-9.587185100657251,1.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7hhgnkf2gpmkfhuWn7XUeP",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:-.01185855016052667,cy:-9.587185100657251,cz:2.268765007024547,lx:17.504258260617597,ly:.1,lz:3.738081358463903,leftJoints:["7hhgnkf2gpmkfhuWn7XUeP"],rightJoints:["13CFTeuFCTc4YUCeVPJLjR"],leftPoint:[-8.763987680469327,-9.587185100657251,1.1],rightPoint:[8.74027058014827,-9.587185100657251,1.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"59rdAGCDJqPHgoGBDNRR6Q",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{id:"1YZMDHP4rjNjWTDSh913J6",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #1",thickness:.2,wallsId:["59rdAGCDJqPHgoGBDNRR6Q"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:1.3622814256430873,ceiling:!1},{type:"Foundation",cx:.04811947352688506,cy:1.0979918791395855,cz:.55,lx:22.625453690958146,ly:19.31036432995692,lz:1.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dR4uPsfmhQVuGb7SK23oGM",selected:!1,color:"#ffffff",notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"mMQKmyWeVTYGQZt5Pwr8i7",leftRidgeLength:3.4435183404805185,rightRidgeLength:3.4435183404805185,rise:2.6086446360194486,ceiling:!1},{type:"Foundation",cx:-4.821425474895643,cy:-8.879390234274549,cz:.5,lx:7.794523521725198,ly:3.265167760947254,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"836Y3qvzoPStkTCKiU6Zim",color:"#ffffff",textureType:"Foundation Texture #4",notBuilding:!0},{type:"Wall",cx:-.14626729738059208,cy:.5024705864032608,cz:1.0309059401885354,lx:7.5,ly:.1,lz:1.0618118803770709,relativeAngle:0,leftPoint:[-3.896267297380592,.5024705864032608,1],rightPoint:[3.603732702619408,.5024705864032608,1],leftJoints:[],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",foundationId:"836Y3qvzoPStkTCKiU6Zim",id:"e64Qztsfyr4zQmZk97hBnb",wallStructure:"Stud",opacity:0,structureColor:"white",structureSpacing:.3,structureWidth:.05,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Wall",cx:-.0005250650359469589,cy:.5000831632035059,cz:1.0309059401885354,lx:7.5,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-3.750525065035947,.5000831632035059,1],rightPoint:[3.749474934964052,.5000831632035059,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"efngrMnFf6NGDKsBgosZFy",parentId:"aiFpq1ExRSUpbVmoio8kUd",foundationId:"aiFpq1ExRSUpbVmoio8kUd",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:5.053596159844837,cy:-8.881777657474304,cz:.5,lx:8.105470562568627,ly:3.2603929145477437,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aiFpq1ExRSUpbVmoio8kUd",selected:!1,notBuilding:!0},{type:"Wall",cx:-.17954580261008696,cy:-.4621199267349816,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.579545802610086,-.4621199267349803,1],rightPoint:[8.22045419738991,-.46211992673498287,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"sDWXonkZUyEPkgjChPFW25",parentId:"tQpZNWS9qUQiRVZS8oj4Qc",foundationId:"tQpZNWS9qUQiRVZS8oj4Qc",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:8.34010119848655,cy:.21478440141855337,cz:.5,lx:17.56747060893107,ly:1.582487181459217,lz:1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tQpZNWS9qUQiRVZS8oj4Qc",selected:!1,notBuilding:!0},{type:"Wall",cx:.17386663993795157,cy:-.45093322724616236,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.226133360062049,-.45093322724616186,1],rightPoint:[8.57386663993795,-.45093322724616464,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"1pz8zDt3tLxwV81bEJHYGM",parentId:"3kLgJo385s42rfmZRWwy75",foundationId:"3kLgJo385s42rfmZRWwy75",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:-8.212637572768045,cy:.13836840972225417,cz:.5,lx:17.178828934275355,ly:1.6048605804368434,lz:1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3kLgJo385s42rfmZRWwy75",selected:!1,notBuilding:!0},{type:"Wall",cx:-.09999999999999787,cy:13322676295501878e-31,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.499999999999996,26645352591003757e-31,0],rightPoint:[8.3,0,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"is5SYj452p8YfTVgmaU6zM",parentId:"n2K3pFpV1Cjm6AUAgZRCTf",foundationId:"n2K3pFpV1Cjm6AUAgZRCTf",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:.3262876024341112,cy:8.30924735716035,cz:.5,lx:17.72656221415125,ly:2.5067270349291775,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"n2K3pFpV1Cjm6AUAgZRCTf",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012664813117774204,cy:-9.507612927983782,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cTpXWFzNLufQycEffsJdCb",color:"#ffffff",enableGroupMaster:!1,notBuilding:!0},{type:"Foundation",cx:.011699082173905834,cy:-10.207612261814711,cz:.1,lx:.2,ly:2,lz:.2,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8rgH1Z1kSv9eGuQwDGDKs1",selected:!1,notBuilding:!0},{type:"Foundation",cx:.011975005300725344,cy:-10.007612452148733,cz:.15,lx:.2,ly:2,lz:.3,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ovbGxMS1g4Zg4nuB4TQqeX",selected:!1,notBuilding:!0},{type:"Foundation",cx:.01225092842754491,cy:-9.807612642482752,cz:.2,lx:.2,ly:2,lz:.4,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mVnVWTdw8vPyh7LrycmxnQ",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012526851554364421,cy:-9.607612832816773,cz:.25,lx:.2,ly:2,lz:.5,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"wUNxCTFzJEgfzKSgjrd9z5",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012802774681183987,cy:-9.407613023150793,cz:.3,lx:.2,ly:2,lz:.6,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"53BxN4TGqhcfN2Yd5k8dup",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013078697808003498,cy:-9.207613213484814,cz:.35,lx:.2,ly:2,lz:.7,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"meWg2dKv2vnU5j91nQfeeo",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013354620934823008,cy:-9.007613403818834,cz:.4,lx:.2,ly:2,lz:.8,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3mD1fnxQ9fjW7tjkECGw95",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013630544061642519,cy:-8.807613594152855,cz:.45,lx:.2,ly:2,lz:.9,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLkWHshGLvdq5XN1PjRi3M",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013906467188462085,cy:-8.607613784486874,cz:.5,lx:.2,ly:2,lz:1,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2wfw4Hci4SimT8xLVSR1qM",selected:!1,notBuilding:!0},{type:"Flower",name:"Tall Bush",cx:-9.817715749800067,cy:-9.852268243951208,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hL3pAKVFBPkxjTw9uDE2qM",selected:!1},{type:"Flower",name:"Tall Bush",cx:9.939790338917515,cy:-9.59379601065341,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9JQTdh1CLGJcq2FEuAr43e",selected:!1},{type:"Tree",name:"Magnolia",cx:-12.382557468618694,cy:-8.982107454472132,cz:17763568394002505e-31,lx:7.545471252443165,lz:10.603223623678987,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mz5Bu6Fc74abemkCjnNzj8",selected:!1},{type:"Tree",name:"Linden",cx:13.009119254200783,cy:-8.749068294142525,cz:0,lx:8.011654641868677,lz:10.603223623678987,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vRaDd6Us9GPPs1xWHr35Aq",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-1.6973329547002773,cy:-.9810097607697941,cz:.4999999999999991,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",id:"uW8r9yxCBYBnbmu4mcD2dK",selected:!1},{type:"Flower",name:"Yellow Flower",cx:2.1540732998146876,cy:-.7842673436297751,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",id:"7rBvK7XUtGC5sWHZd7QXas",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-2.179727293653672,cy:-.7583396115954706,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"aiFpq1ExRSUpbVmoio8kUd",id:"a8ojsUZ7mU36ELVrWAE4C8",selected:!1},{type:"Flower",name:"Yellow Flower",cx:1.9219781706072183,cy:-.6600952948240391,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"aiFpq1ExRSUpbVmoio8kUd",id:"6H6en2GXU1wLSxKHPWsjJ6",selected:!1},{type:"Tree",name:"Apple",cx:13.247382515056007,cy:-1.2331435918787816,cz:17763568394002505e-31,lx:6.227742361345067,lz:6.109070444404363,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"242hfQPKKVCMwkg6guH9SJ",selected:!1},{type:"Tree",name:"Apple",flip:!0,cx:13.169742632007722,cy:5.190500041503218,cz:-8881784197001252e-31,lx:6.227742361345067,lz:6.109070444404363,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rfSjqDoXAWcYP1QiJK14Ah",selected:!1},{type:"Tree",name:"Pine",cx:-14.749577815037771,cy:1.149901818018586,cz:0,lx:4.512512815610147,lz:12.024404332399733,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"fy1FkFpbo7uvywjAGwxRuY",selected:!1},{type:"Tree",name:"Pine",flip:!0,cx:-14.371853116942734,cy:-.9634768965176921,cz:0,lx:4.512512815610147,lz:8.962712367303366,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"n1AY9F8phLA3eJfdFeLCVt",selected:!1},{type:"Tree",name:"Pine",flip:!0,cx:-15.240052070171995,cy:2.549040907949193,cz:0,lx:7.596612700375146,lz:7.787173553198613,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"niwq5q77JDU4G8BQsbgERV",selected:!1},{type:"Tree",name:"Magnolia",flip:!0,cx:-14.127046185685298,cy:-5.909041660781089,cz:0,lx:6.24467494419313,lz:8.23797178206723,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"svLkeNQopLzpZVKNMw4BPh",selected:!1},{type:"Human",name:"Jeff",cx:.12654793991771474,cy:-12.447770037532427,cz:0,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"ggcEZD7jGqKHjY9sjyW651",selected:!1,ly:.6},{type:"Human",name:"Jennifer",cx:-1.02983903936377,cy:-8.19510646529044,cz:.550000011920929,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",id:"9A499PNQRGp7jNr6cuTVMi",selected:!1,ly:.45},{type:"Human",name:"Jett",cx:.945405682980855,cy:-12.320812786564254,cz:8881784197001252e-31,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"xyc9SJrxYKnGoZ1JsnzDHM",selected:!1,ly:.6},{type:"Window",cx:-.016104291229904533,cy:1.8002134679755866,cz:4.816843659976703,lx:6.99919664887142,ly:.2,lz:5.817011327539121,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"f1J4REo4jQv29PCWE7DY9o"},{type:"Window",cx:-.05151161986007091,cy:-4.040746113044766,cz:4.837111990518853,lx:6.999674883388914,ly:.2,lz:5.437430983992275,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"jvY75c4SHrBZnwZVKousju"},{type:"Window",cx:5.318722507920985,cy:4.582891269828743,cz:4.3657952325816325,lx:3.467667580770554,ly:.2,lz:.00531143113289233,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"sX9UU3kudi5NcAve6pMHjM",polygonTop:[.4836066024850123,5.296892684036137]},{type:"Window",cx:-5.343537105869802,cy:4.545906716881224,cz:4.3717901143583795,lx:3.4010319442975763,ly:.2,lz:.1825055927452041,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"9u53gJyT1Q25rdtt6maYhC",polygonTop:[-.5,5.2491187506805534]},{type:"Window",cx:5.259917043757973,cy:-6.686746145003361,cz:4.408217868278964,lx:3.3609664331480253,ly:.2,lz:.001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"uhwFXhZdCJ9WRZodgaGM39",polygonTop:[-.5,5.167549845268113]},{type:"Window",cx:-5.283116299901134,cy:-6.676742962528736,cz:4.409839299161519,lx:3.2409329250484538,ly:.2,lz:.020267481118999123,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"nDuyUhzJ8jfAMyFVHV4a4b",polygonTop:[.5,5.127516924065475]},{type:"Window",cx:-7.026900064701883,cy:-1.1705448238754261,cz:4.401906118465314,lx:10.96491542180579,ly:.2,lz:.05934796066186738,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.24644748988851184,0,4.71238898038469],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"wCvpMZz8wRo6JLVskJvaxa",polygonTop:[-.002890307610633155,3.539512596657185]},{type:"Window",cx:7.048045854571776,cy:-1.093473652020256,cz:4.390620355845949,lx:11.034753536063173,ly:.2,lz:.001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.24644748988851184,0,1.5707963267948963],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"qgitJao18HGfoWkWAG39gT",polygonTop:[-.009542098130494085,3.625871533157426]}],Ycn=24,Ocn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.695474665244077,9.454611546562601,942600132651463e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.695474665244077,9.453611169126416,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[9.628275537924297,-25.20157333419027,4.240697142180643],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:27.20748283999615,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.5642366854944917,-.4056742952770788,2.0409440324131825],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},_cn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Vcn=1,Gcn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Xcn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Jcn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Kcn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},qcn="Unknown",$cn=null,Qcn=null,Zcn=null,e0n=null,t0n=[],n0n=3,o0n=3,i0n={docid:kcn,time:Fcn,timestamp:Lcn,userid:Wcn,owner:Ncn,email:Ucn,world:Bcn,elements:jcn,sceneRadius:Ycn,view:Ocn,graphState:_cn,evolutionMethod:Vcn,solarPanelArrayLayoutParams:Gcn,solarPanelArrayLayoutConstraints:Xcn,evolutionaryAlgorithmState:Jcn,economicsParams:Kcn,modelType:qcn,modelAuthor:$cn,modelLabel:Qcn,modelDescription:Zcn,designProjectType:e0n,notes:t0n,minimumNavigationMoveSpeed:n0n,minimumNavigationTurnSpeed:o0n},r0n="c1GT9hKGSVWRT29a2bhDcR",a0n="11/16/2023 01:04 PM",l0n=1700157875476,s0n="QWecNcxhyvP6j6sBN11hBsfZDau1",c0n=null,u0n=null,d0n="1.4.7",f0n={noAnimationForSolarPanelSimulation:!1,latitude:42.2844063,cspTimesPerHour:4,timesPerHour:1,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-71.3488548,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"Natick, MA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"9/22/2022, 10:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},h0n=[{type:"Foundation",ly:15.634026313844405,normal:[0,0,1],parentId:"Ground",cz:.05,lz:.1,solarPowerTower:{},cy:-2.0978986591875834,selected:!1,rotation:[0,0,0],solarAbsorberPipe:{},id:"x9h6vgTSQ3QLh48G3oYMPN",lx:31.424087209321772,cx:.2605383705139097,solarUpdraftTower:{},locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{lx:23.5,normal:[0,0,1],roofId:"viqYpNieXAmEvy7RzMSU7R",lz:12,cz:6.08075667710203,parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"gYxC2R3CWviHFfEMyEPT1K",leftPoint:[10.73068954852153,7.564003538648882,.1],cx:-1.0193104514784697,type:"Wall",rightJoints:["gAzos6YN4ZktUEWKP98uBq"],rotation:[0,0,0],relativeAngle:3.141592653589793,leftJoints:["iF8yBnVR7zKfNKiVQ7M1op"],cy:7.564003538648882,selected:!1,leftRoofHeight:12,rightRoofHeight:12,windows:[],textureType:"Wall Texture Default",ly:.3,showLabel:!1,rightPoint:[-12.76931045147847,7.564003538648882,.1],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{lz:12,ly:.3,cz:0,lx:10.5,showLabel:!1,normal:[0,0,1],cx:-12.76931045147847,textureType:"Wall Texture Default",roofId:"viqYpNieXAmEvy7RzMSU7R",cy:2.3140035386488824,leftJoints:["gYxC2R3CWviHFfEMyEPT1K"],rightJoints:["56tPe5zv4S5mhoVrSD2NK7"],leftRoofHeight:12,leftPoint:[-12.76931045147847,7.564003538648882,.1],relativeAngle:4.71238898038469,rightRoofHeight:12,parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"gAzos6YN4ZktUEWKP98uBq",selected:!1,windows:[],type:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rightPoint:[-12.76931045147847,-2.9359964613511176,.1],rotation:[0,0,0],centerRoofHeight:[0,15.934734349134846],color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{cy:2.3140035386488824,cx:10.73068954852153,leftJoints:["56tPe5zv4S5mhoVrSD2NK7"],roofId:"viqYpNieXAmEvy7RzMSU7R",parentId:"x9h6vgTSQ3QLh48G3oYMPN",showLabel:!1,lz:12,cz:2.6457488129010285,leftRoofHeight:12,textureType:"Wall Texture Default",leftPoint:[10.73068954852153,-2.9359964613511176,.1],id:"iF8yBnVR7zKfNKiVQ7M1op",rightJoints:["gYxC2R3CWviHFfEMyEPT1K"],rightRoofHeight:12,selected:!1,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rotation:[0,0,0],type:"Wall",ly:.3,relativeAngle:1.5707963267948966,centerRoofHeight:[0,15.934734349134846],windows:[],lx:10.5,normal:[0,0,1],rightPoint:[10.73068954852153,7.564003538648882,.1],color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{showLabel:!1,id:"56tPe5zv4S5mhoVrSD2NK7",roofId:"viqYpNieXAmEvy7RzMSU7R",cz:5.720174265006714,type:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",lz:12,lx:23.5,leftPoint:[-12.76931045147847,-2.935996461351123,.1],cy:-2.9359964613511202,leftJoints:["gAzos6YN4ZktUEWKP98uBq"],relativeAngle:22676895822130855e-32,windows:[],rotation:[0,0,0],rightRoofHeight:12,selected:!1,leftRoofHeight:12,normal:[0,0,1],ly:.3,rightJoints:["iF8yBnVR7zKfNKiVQ7M1op"],cx:-1.0193104514784697,rightPoint:[10.73068954852153,-2.9359964613511176,.1],textureType:"Wall Texture Default",parentId:"x9h6vgTSQ3QLh48G3oYMPN",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{cy:.1,parentId:"56tPe5zv4S5mhoVrSD2NK7",cx:-.3617021276595745,lz:.17636142264118151,cz:.28681928867940926,ly:.3,normal:[0,0,1],color:"#ffffff",id:"etKxgbj2UBmFLsuY4i5CJ9",rotation:[0,0,0],lx:.1702127659574468,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",selected:!1,showLabel:!1,type:"Window",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{ly:.3,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rotation:[0,0,0],lx:.1702127659574468,normal:[0,0,1],id:"nF2Q5EW3FMMGZXhRHjxAya",cy:.1,parentId:"56tPe5zv4S5mhoVrSD2NK7",cx:-.1276595744680851,selected:!1,type:"Window",lz:.17636142264118151,cz:.28681928867940926,color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{id:"bpUvKGmm3pbG6LoUQVwyUS",lx:.1702127659574468,lz:.17636142264118151,cx:.10638297872340426,rotation:[0,0,0],type:"Window",color:"#ffffff",cz:.28681928867940926,selected:!1,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",ly:.3,cy:.1,normal:[0,0,1],parentId:"56tPe5zv4S5mhoVrSD2NK7",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:.28681928867940926,id:"cGXdptrFDNmLCsGiAspsDd",lz:.17636142264118151,parentId:"56tPe5zv4S5mhoVrSD2NK7",type:"Window",ly:.3,cx:.3404255319148936,cy:.1,color:"#ffffff",selected:!1,normal:[0,0,1],rotation:[0,0,0],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",lx:.1702127659574468,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{rotation:[0,0,0],selected:!1,solarPowerTower:{},cx:-7.538371501184832,id:"rzzzSn5cSsCh41KW1dZ8o9",parentId:"Ground",lz:.1,lx:21.72063547763523,cy:.21534781482795487,solarUpdraftTower:{},type:"Foundation",ly:4.31333678945802,solarAbsorberPipe:{},cz:.05,normal:[0,0,1],locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",normal:[0,0,1],cx:7.057804014514522,showLabel:!1,id:"gSgPwypYb2qas3tXnXpzu5",rightPoint:[5.057804014514522,1.9532181864937823,.1],cz:0,selected:!1,relativeAngle:3.141592653589793,cy:1.9532181864937823,rightJoints:["ne9d3ykDCR9vMZ2sfPqRBL"],rotation:[0,0,0],foundationId:"rzzzSn5cSsCh41KW1dZ8o9",parentId:"rzzzSn5cSsCh41KW1dZ8o9",leftJoints:["5spEvKcr5r35ajFtNP5ug4"],roofId:"bXyFJNv4LJba2AUhe3ZtVT",windows:[],leftPoint:[9.057804014514522,1.9532181864937823,.1],lz:20,ly:.3,lx:4,textureType:"Wall Texture Default",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.09781600017236,rightUnfilledHeight:13.09781600017236,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{leftPoint:[9.057804014514522,-2.0467818135062186,.1],cy:-.04678181350621824,leftJoints:["iY6iwiFa7FE4A2YwRcXYQX"],rightPoint:[9.057804014514522,1.9532181864937823,.1],lx:4,cz:0,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",windows:[],showLabel:!1,parentId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:20,ly:.3,normal:[0,0,1],type:"Wall",cx:9.057804014514522,rightJoints:["gSgPwypYb2qas3tXnXpzu5"],rotation:[0,0,0],textureType:"Wall Texture Default",id:"5spEvKcr5r35ajFtNP5ug4",roofId:"bXyFJNv4LJba2AUhe3ZtVT",relativeAngle:1.5707963267948966,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.10125703573121,rightUnfilledHeight:13.10125703573121,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:20,windows:[],rightJoints:["iY6iwiFa7FE4A2YwRcXYQX"],lx:4,cz:0,rightPoint:[5.057804014514522,-2.0467818135062186,.1],type:"Wall",cy:-.04678181350621824,roofId:"bXyFJNv4LJba2AUhe3ZtVT",relativeAngle:4.71238898038469,cx:5.057804014514522,leftPoint:[5.057804014514522,1.9532181864937823,.1],ly:.3,rotation:[0,0,0],parentId:"rzzzSn5cSsCh41KW1dZ8o9",textureType:"Wall Texture Default",showLabel:!1,leftJoints:["gSgPwypYb2qas3tXnXpzu5"],normal:[0,0,1],id:"ne9d3ykDCR9vMZ2sfPqRBL",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.104325113888441,rightUnfilledHeight:13.104325113888441,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{ly:.3,windows:[],rightJoints:["5spEvKcr5r35ajFtNP5ug4"],lx:4,relativeAngle:0,leftPoint:[5.057804014514522,-2.0467818135062186,.1],lz:20,rotation:[0,0,0],type:"Wall",selected:!1,normal:[0,0,1],cy:-2.0467818135062186,rightPoint:[9.057804014514522,-2.0467818135062186,.1],showLabel:!1,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"iY6iwiFa7FE4A2YwRcXYQX",leftJoints:["ne9d3ykDCR9vMZ2sfPqRBL"],cz:0,parentId:"rzzzSn5cSsCh41KW1dZ8o9",roofId:"bXyFJNv4LJba2AUhe3ZtVT",textureType:"Wall Texture Default",cx:7.057804014514522,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.110251380374818,rightUnfilledHeight:13.110251380374818,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{normal:[0,0,1],lx:0,cx:0,cz:0,cy:0,roofType:"Pyramid",ly:0,lz:0,showLabel:!1,parentId:"rzzzSn5cSsCh41KW1dZ8o9",rotation:[0,0,0],textureType:"Roof Texture Default",type:"Roof",thickness:.1,wallsId:["5spEvKcr5r35ajFtNP5ug4","gSgPwypYb2qas3tXnXpzu5","ne9d3ykDCR9vMZ2sfPqRBL","iY6iwiFa7FE4A2YwRcXYQX"],id:"bXyFJNv4LJba2AUhe3ZtVT",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,color:"#4d4d4d",rise:2.4214017411934243,ceiling:!1,locked:!1},{cy:.1,cx:0,cz:.375,lz:.1,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",ly:.3,id:"f3zJpwNA8T36dWKnnLB2Ue",normal:[0,0,1],parentId:"iY6iwiFa7FE4A2YwRcXYQX",type:"Window",selected:!1,lx:.5,rotation:[0,0,0],showLabel:!1,color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:.375,showLabel:!1,normal:[0,0,1],parentId:"5spEvKcr5r35ajFtNP5ug4",lx:.5,ly:.3,cx:0,color:"#ffffff",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:.1,type:"Window",rotation:[0,0,0],id:"vLvEkBDowmVtpuRDtw4SXE",cy:.1,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cy:.1,id:"4R8u4ZpfkjtqDvbjmeT7bf",rotation:[0,0,0],lz:.2,selected:!1,cx:-.2857142857142857,cz:-.3,showLabel:!1,parentId:"iF8yBnVR7zKfNKiVQ7M1op",normal:[0,0,1],lx:.09523809523809523,color:"#ffffff",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",ly:.3,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lx:.09523809523809523,type:"Window",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",showLabel:!1,selected:!1,color:"#ffffff",rotation:[0,0,0],id:"sknCCjfYvoTnoJodNpouJ1",cy:.1,cz:-.3,normal:[0,0,1],cx:.2857142857142857,lz:.2,ly:.3,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lz:.09999999999999998,rotation:[0,0,0],id:"eu9mFgyuKTJ1jH9yK9yLSt",color:"#ffffff",ly:.3,cy:.1,lx:.3047619047619048,type:"Window",cx:0,cz:-.09999999999999998,selected:!1,showLabel:!1,parentId:"iF8yBnVR7zKfNKiVQ7M1op",normal:[0,0,1],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1.1999999999999997,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Tree",name:"Oak",cx:23.74199340816881,cy:10.644500397978508,cz:0,lx:20,lz:24,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"b1PLNbuHYXMSFSk3EuJWpe",selected:!1,locked:!1},{type:"Tree",name:"Elm",cx:-11.169257359842945,cy:-29.31617204471101,cz:17763568394002505e-31,lx:20,lz:20,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"7jf8KwAp3jRyyjP9pa5nD6",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:13.450425292803352,cy:-.6851982985911116,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"fEgQo63aax49KtqEdPTNhE",selected:!1,ly:.42,locked:!1},{type:"Human",name:"Jena",cx:15.018980097026159,cy:12.103463958939685,cz:3552713678800501e-30,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4BmWg5mgbRSqHZB7i69JCr",selected:!1,ly:.695,locked:!1},{type:"Human",name:"Jeff",cx:17.834834093586977,cy:-13.833037629725366,cz:0,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"xix4idJ2qyP21RHv281pxk",selected:!1,ly:.6,locked:!1},{type:"Human",name:"Jose",cx:19.855346329668855,cy:-1.5096947835564674,cz:0,lx:2,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"swuHMR6JuNqcRU1q2CGzEB",selected:!1,ly:2,locked:!1},{type:"Human",name:"June",cx:13.437411824806574,cy:1.7698691218286662,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"neJBajzFYG5HwTAskcMmid",selected:!1,ly:.65,locked:!1},{type:"Door",cx:1057355261547768e-32,cy:0,cz:-.325,lx:.32380952380952377,ly:0,lz:.35000000000000003,textureType:"Door Texture #2",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"1cqNEbnbmdgjFsj2KffdDW",color:"white",doorType:"Default",archHeight:1,filled:!0,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.283173842293113,cy:-5.011574326559238,cz:.05000000074506161,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"1EBzai8Qd5Jq4dWcsiq8La",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.271441109375889,cy:-7.494044638896808,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"o9s9NrSQqGhb4mKxZK73ZY",selected:!1,locked:!1},{type:"Tree",name:"Maple",cx:-4.545943688973082,cy:-23.537404195497544,cz:0,lx:20,lz:16.05832090138246,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gkQDZPnaSVr9iatjDLPxBD",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:15.895794748349687,cy:24.757130551972956,cz:0,lx:16.237525350473454,lz:14.730013828864193,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"n7bLUe1p1rbbqq2FsGvzJ1",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:26.48163780671832,cy:25.18035168450354,cz:0,lx:13.930205088796232,lz:14.730013828864193,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"64YqofbhUQNT1AUUrbAQFL",selected:!1,flip:!0,locked:!1},{type:"Window",cx:0,cy:.1,cz:.2916666666666667,lx:.7619047619047619,ly:.3,lz:.16666666666666666,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"2akAYnPawwHe5duAcNSm7B",windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Window",cx:0,cy:.1,cz:.37500000000000006,lx:.5,ly:.3,lz:.09999999999999991,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"ne9d3ykDCR9vMZ2sfPqRBL",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"4xy5bj1K9gsNUeeRqMHQ4T",windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Wall",cx:.23099428957730517,cy:6.239081888589501,cz:0,lx:20,ly:.3,lz:6.986961603131722,leftJoints:["t1G4LBkeHJCJQyxbr7ccH4"],rightJoints:["4QQLfJpksW9car6RpJhBza"],leftPoint:[10.230994289577309,6.2390818885895,.1],rightPoint:[-9.769005710422693,6.2390818885894985,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"nRyok2ppvyvZoipPDTMibS",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:6.986961603131722,rightRoofHeight:6.986961603131722,fill:"Partial",eavesLength:0,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6.886961603131723,rightUnfilledHeight:6.886961603131723,leftTopPartialHeight:6.986961603131722,rightTopPartialHeight:6.986961603131722,unfilledHeight:.5},{type:"Wall",cx:.23099428957730755,cy:-3.260918111410499,cz:0,lx:20,ly:.3,lz:5,leftJoints:["4QQLfJpksW9car6RpJhBza"],rightJoints:["t1G4LBkeHJCJQyxbr7ccH4"],leftPoint:[-9.769005710422693,-3.260918111410501,.1],rightPoint:[10.230994289577309,-3.2609181114104966,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"9Yk7vG95h8gCN8K81b6QsV",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:5,rightRoofHeight:5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{type:"Window",cx:-.35,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2ZFQrnmC5HWZdeWiMJGmRx",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.19999999999999996,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p5XsrFbFiHc5cUtkroJ7bZ",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.04999999999999996,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sYLoiFbgR7dHUeBey4QLWg",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.10000000000000005,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"waQ4yFfcYPcnN877Bomdn5",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.25000000000000006,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i4RR7R41FRkfno1WwtTX7f",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pQwvmPAtL9tsANDrDpmVRC",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Wall",cx:10.230994289577309,cy:1.4890818885894999,cz:0,lx:9.5,ly:.3,lz:5,leftJoints:["9Yk7vG95h8gCN8K81b6QsV"],rightJoints:["nRyok2ppvyvZoipPDTMibS"],leftPoint:[10.230994289577309,-3.2609181114105,.1],rightPoint:[10.230994289577309,6.2390818885895,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"t1G4LBkeHJCJQyxbr7ccH4",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:5,rightRoofHeight:6.986961603131722,centerRoofHeight:[.5,6.986961603131722],fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{type:"Wall",cx:-9.769005710422693,cy:1.4890818885894987,cz:0,lx:9.5,ly:.3,lz:5,leftJoints:["nRyok2ppvyvZoipPDTMibS"],rightJoints:["9Yk7vG95h8gCN8K81b6QsV"],leftPoint:[-9.769005710422693,6.2390818885894985,.1],rightPoint:[-9.769005710422693,-3.260918111410501,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"4QQLfJpksW9car6RpJhBza",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:6.986961603131722,rightRoofHeight:5,centerRoofHeight:[-.5,6.986961603131722],fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{id:"2edgYQtearj95L9ExcxpR8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.1,wallsId:["9Yk7vG95h8gCN8K81b6QsV"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,rise:0,ceiling:!1,locked:!1},{type:"Flower",name:"Peony",cx:-7.921494529469528,cy:-5.703131639854222,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"n7MjXwaqUNnrqr7tttq8Xs",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:-6.921494529469528,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"sV3wDCg6jC5jfbaZPhLEFR",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-5.921494529469528,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"5qYyouDiycvWuJ5qvpfENM",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-4.921494529469526,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"d5qiLf7kCJT5AZq7DadTns",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-3.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"wsrTngfrvFcPA2tZXvJ7x3",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:-2.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"afwAGtRYkrpVQnTg7J7Qth",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-1.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"qcKnQw96DTDSeCGHYqMA48",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-.9214945294695266,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"waxy4TUCBpoD2cd6LrtnaA",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:.07850547053047338,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"nvZw8LLJYkjMh1JGkRLD3K",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:1.078505470530473,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"cqsNRo9PPkomK9wdkZupc1",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:2.078505470530473,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"jrx4N63zfhzuthq28WtS35",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:3.0785054705304695,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"mxRRf3jQHxj2YV6RTapCHL",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:4.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"nTZ7SBUGqeqonpnPNpk3oW",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:5.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"3dhHbjvLKuWhGK9UjHE6XT",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:6.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"4GeJePH4hCxCTjZtoXxWto",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:7.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"7FGr3ZNRc8Yr5eCEbRFCP4",selected:!1,locked:!1},{type:"Flower",name:"Peony",cx:8.541770761909182,cy:-5.4564771733354345,cz:.05000000074505895,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"j6RLkdyyrwF7fa2EzQWxLx",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:11.033481724703831,cy:2.4259920840004234,cz:.05000000074505895,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"keYgfjtBV5HoobU1c7o3UJ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:10.99612420253719,cy:.2217548731086052,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"vVnzt8ngpeWWaQC4FjAL4j",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:10.959797795589187,cy:-1.7573623215975718,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"gZMPqGYEq2m24MmNCDDYiG",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-10.392242624146428,cy:3.263587702330267,cz:.050000000745050954,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"6Ub8pCiCnETjVt5AhwfdTF",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-10.422719499264469,cy:.5714316192013018,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"66aAYBuCfd3AhjLpHJLkUu",selected:!1,locked:!1},{type:"Foundation",cx:-.3396050744252213,cy:11.51965967612361,cz:.05,lx:27.18366746665238,ly:13.555523568838572,lz:.1,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLT8u6hCPgvgGLYpma7b1F",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Flower",name:"Hydrangea",cx:-10.300379922837644,cy:-2.268843152966837,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"ageUa3KUftjZpZZ9K9EjET",selected:!1,locked:!1},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j41VCcj3usY83nb7TyLTSz",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2Gb1qNGA9XYJH1M5ngkWgg",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vi8CDjZJjcyCw9PypDyDTY",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssGXAAom5GmpQtoTEfxLxY",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jAMmFqujhajRarjA7EnVcV",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9iqv8Mygk4XdBQpnv3SnAQ",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3404255319148936,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eBsupuArqkdPqdm1NpNRGG",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.10638297872340426,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fCtqDhopDBEzVW7mRyhrYJ",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.1276595744680851,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ug8Cox9PN3TyFyQqu1r9qK",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3617021276595745,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3BwnkPkWjwJcrrLjwf9GLa",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"whn43FxoK2FiHHEsJEgwx9",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.09523809523809523,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1jBLLRwnh7NZy9MTMYQHt2",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.14285714285714285,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5ttkkqMJXFY2rDGZmC9Lzj",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.38095238095238093,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"k8vEiLRG6xxiXgVTPxWxXM",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:.37500000000000006,lx:.5,ly:.3,lz:.09999999999999991,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6YKcvoA3eJ8MWWe5Vsy3eT",parentId:"gSgPwypYb2qas3tXnXpzu5",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",tint:"#73D8FF",opacity:.91,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["56tPe5zv4S5mhoVrSD2NK7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"viqYpNieXAmEvy7RzMSU7R",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:3.934734349134846,ceiling:!1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.2916666666666668,lx:.7619047619047619,ly:.3,lz:.16666666666666638,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rk1VAoH8VnjeXMMcRz8iw6",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Window",cx:-.004761904761904766,cy:.1,cz:.6791666666666667,lx:.23809523809523808,ly:.3,lz:.125,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cdP2JvFiiD6EFxpYXpURLL",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.014285714285714277,cy:.1,cz:.6708333333333334,lx:.23809523809523808,ly:.3,lz:.125,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7hN73eLMovYtBF2VxtgwGA",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:.32491117851716567,cy:-.02051365319438737,cz:22.47091493193306,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-.7710068386722702,.6368268640066874],rotation:[.8804206662401132,0,0],parentId:"bXyFJNv4LJba2AUhe3ZtVT",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"gnMTcek5K3cRDBprwKnFBZ",selected:!1,inside:!1,locked:!1},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:.002857142857142857,cy:0,cz:-.0025,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[1,0,0],rotation:[0,0,0],parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"dpLuhLSSPa19xJpw2Qffsi",selected:!1,locked:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.38095238095238093,y:-.125},{x:-.38095238095238093,y:0},{x:.38095238095238093,y:0},{x:.38095238095238093,y:-.125}],parentId:"iF8yBnVR7zKfNKiVQ7M1op",parentType:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",selected:!1,filled:!0,selectedIndex:2,id:"sQ3Tb8iVwJfm4J6HcRtiJG",text:"PARADISE FARM",fontColor:"gold",fontSize:1,noOutline:!0,opacity:0,locked:!1},{type:"Door",cx:.02127659574468085,cy:0,cz:-.2708333333333333,lx:.5531914893617021,ly:0,lz:.4583333333333333,doorType:"Default",filled:!1,archHeight:1,textureType:"No Door Texture",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"9ANMGsRZBmgfHhV2Q1CDCc",locked:!1,interior:!0},{type:"Door",cx:-.02127659574468085,cy:0,cz:-.2916666666666667,lx:.5531914893617021,ly:0,lz:.4166666666666667,doorType:"Default",filled:!1,archHeight:1,textureType:"No Door Texture",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"56tPe5zv4S5mhoVrSD2NK7",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"vap2L1NkxsVcWyXHMxiu2p",locked:!1,interior:!0},{solarPowerTower:{},lx:29.20195847671534,parentId:"Ground",id:"46TKaVq8pvU97fq25w6FtQ",cx:1.0262187405527392,lz:.1,cy:-11.383349626055136,normal:[0,0,1],solarAbsorberPipe:{},selected:!1,cz:.05,solarUpdraftTower:{},ly:12.71246047298328,rotation:[0,0,0],type:"Foundation",locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{cz:0,windows:[],relativeAngle:3.141592653589793,id:"kDP3sGBycYRfxJNAuZJQCx",normal:[0,0,1],rightJoints:["6i3LR3TEvtE6sm3KPPvawH"],ly:.3,cx:-1.69761452373917,rotation:[0,0,0],foundationId:"46TKaVq8pvU97fq25w6FtQ",roofId:"6c49g876wkgGNVBvgTNf4N",lz:6.986961603131722,selected:!1,cy:6.34147142267982,rightRoofHeight:6.986961603131722,rightPoint:[-11.697614523739169,6.34147142267982,.1],textureType:"No Wall Texture",leftRoofHeight:6.986961603131722,showLabel:!1,leftPoint:[8.302385476260831,6.34147142267982,.1],type:"Wall",lx:20,parentId:"46TKaVq8pvU97fq25w6FtQ",leftJoints:["7N5hq7UW6d1NtoD4SxrS8y"],color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:0,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6.175009105936305,rightUnfilledHeight:6.175009105936305,leftTopPartialHeight:6.986961603131722,rightTopPartialHeight:6.986961603131722,unfilledHeight:.5},{type:"Wall",lz:5,foundationId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],relativeAngle:0,showLabel:!1,rightJoints:["7N5hq7UW6d1NtoD4SxrS8y"],leftJoints:["6i3LR3TEvtE6sm3KPPvawH"],textureType:"Wall Texture Default",leftPoint:[-11.697614523739169,-3.1585285773201797,.1],rightPoint:[8.302385476260831,-3.158528577320176,.1],id:"6JeFi4vn6AoV5MBuK71Kj4",windows:[],roofId:"6c49g876wkgGNVBvgTNf4N",rotation:[0,0,0],lx:20,cy:-3.1585285773201797,leftRoofHeight:5,rightRoofHeight:5,cz:0,ly:.3,parentId:"46TKaVq8pvU97fq25w6FtQ",selected:!1,cx:-1.69761452373917,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{leftJoints:["6JeFi4vn6AoV5MBuK71Kj4"],cy:1.5914714226798203,roofId:"6c49g876wkgGNVBvgTNf4N",showLabel:!1,windows:[],type:"Wall",rightJoints:["kDP3sGBycYRfxJNAuZJQCx"],leftPoint:[8.302385476260831,-3.1585285773201797,.1],relativeAngle:1.5707963267948966,parentId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],selected:!1,rotation:[0,0,0],leftRoofHeight:5,centerRoofHeight:[.5,6.986961603131722],ly:.3,lz:5,id:"7N5hq7UW6d1NtoD4SxrS8y",rightPoint:[8.302385476260831,6.34147142267982,.1],foundationId:"46TKaVq8pvU97fq25w6FtQ",rightRoofHeight:6.986961603131722,lx:9.5,cz:0,textureType:"Wall Texture Default",cx:8.302385476260831,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{foundationId:"46TKaVq8pvU97fq25w6FtQ",cx:-11.697614523739169,id:"6i3LR3TEvtE6sm3KPPvawH",normal:[0,0,1],type:"Wall",rotation:[0,0,0],rightRoofHeight:5,lz:5,lx:9.5,rightJoints:["6JeFi4vn6AoV5MBuK71Kj4"],cz:0,textureType:"Wall Texture Default",relativeAngle:4.71238898038469,leftRoofHeight:6.986961603131722,windows:[],leftJoints:["kDP3sGBycYRfxJNAuZJQCx"],showLabel:!1,ly:.3,parentId:"46TKaVq8pvU97fq25w6FtQ",leftPoint:[-11.697614523739169,6.34147142267982,.1],centerRoofHeight:[-.5,6.986961603131722],selected:!1,roofId:"6c49g876wkgGNVBvgTNf4N",rightPoint:[-11.697614523739169,-3.1585285773201797,.1],cy:1.5914714226798203,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{cy:0,parentId:"46TKaVq8pvU97fq25w6FtQ",rotation:[0,0,0],ridgeRightPoint:[.5,1],selected:!1,type:"Roof",thickness:.1,lz:0,lx:0,roofType:"Gable",foundationId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],cz:0,id:"6c49g876wkgGNVBvgTNf4N",cx:0,textureType:"Roof Texture Default",wallsId:["6JeFi4vn6AoV5MBuK71Kj4"],ridgeLeftPoint:[-.5,1],ly:0,showLabel:!1,color:"#4d4d4d",roofStructure:"Default",rise:0,ceiling:!1,locked:!1},{id:"8bXmzpgr9i9JFo2oBsPwmf",foundationId:"46TKaVq8pvU97fq25w6FtQ",type:"Window",lx:.1,selected:!1,rotation:[0,0,0],cx:-.35,parentId:"6JeFi4vn6AoV5MBuK71Kj4",color:"#ffffff",cy:0,normal:[0,0,1],lz:.6,showLabel:!1,ly:.3,cz:-.1,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:-.1,color:"#ffffff",id:"xjhgUKTmXdCae92VivseTy",parentId:"6JeFi4vn6AoV5MBuK71Kj4",cx:-.19999999999999996,foundationId:"46TKaVq8pvU97fq25w6FtQ",rotation:[0,0,0],lx:.1,type:"Window",normal:[0,0,1],selected:!1,ly:.3,cy:0,lz:.6,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:-.1,lz:.6,cy:0,type:"Window",color:"#ffffff",parentId:"6JeFi4vn6AoV5MBuK71Kj4",cx:-.04999999999999996,id:"kPfc2HWm4ZV8tdUhXMQ1J6",selected:!1,normal:[0,0,1],ly:.3,foundationId:"46TKaVq8pvU97fq25w6FtQ",lx:.1,rotation:[0,0,0],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lz:.6,ly:.3,parentId:"6JeFi4vn6AoV5MBuK71Kj4",lx:.1,foundationId:"46TKaVq8pvU97fq25w6FtQ",color:"#ffffff",cy:0,type:"Window",selected:!1,cz:-.1,cx:.10000000000000005,id:"msWBbsfJmqRnJLeUcmpcgH",normal:[0,0,1],rotation:[0,0,0],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{selected:!1,ly:.3,color:"#ffffff",foundationId:"46TKaVq8pvU97fq25w6FtQ",type:"Window",rotation:[0,0,0],parentId:"6JeFi4vn6AoV5MBuK71Kj4",normal:[0,0,1],cx:.25000000000000006,lx:.1,id:"1cwhsRjtvJtmfm2tgLVX5c",cy:0,cz:-.1,lz:.6,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],foundationId:"46TKaVq8pvU97fq25w6FtQ",cz:-.1,id:"ji1bstwegM7BG7jKCfjWE9",cx:.4,parentId:"6JeFi4vn6AoV5MBuK71Kj4",cy:0,lx:.1,type:"Window",ly:.3,selected:!1,lz:.6,rotation:[0,0,0],color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{ly:.3,type:"Window",rotation:[0,0,0],cy:.1,foundationId:"46TKaVq8pvU97fq25w6FtQ",lz:.4,parentId:"7N5hq7UW6d1NtoD4SxrS8y",lx:.10526315789473684,cx:-.2631578947368421,selected:!1,color:"#ffffff",showLabel:!1,cz:0,id:"4c1wL2gSvqBAbj5Dt9dzzk",normal:[0,0,1],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Jess",cx:10.850050894558208,cy:-3.696870042392426,cz:.05000000074505806,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"pnZ17fTrUAQjd7ZGBi4LZw",selected:!1,ly:.43,locked:!1},{type:"Flower",name:"Peony",cx:-9.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"r3HRWGLTLtPMP6QPxaP2u9",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-8.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"eB1sPWxNsgKXNP6CKxK1cQ",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:-7.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"pmPLWWXJMx6px3ffjyd7Xf",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-6.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rFPmR6A2xwJwzhvMRvDbF4",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-5.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"3tR1Hnu1k94fCkXYFdPNCZ",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-4.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"ac3W5UphRDEuZMMMxdg9a8",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:-3.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"3j517SjKVEgfCScaEPmkeg",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-2.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"vLUgsZC1zUxAvajPJX9oRy",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-1.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"kb5KssfCiZkY9jQ5M4fg79",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rvgmvqqddGgLnhBVWDH5Yi",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"whxmnRSL5NJSpdaiWxZBom",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:1.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"hcWpyraDuh7HTi6CTV9t8w",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:2.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"k3fvYn4xsoNn35srPUnKcM",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:3.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rZdFV48y6NMFUVbnDpaSyZ",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:4.149896657214,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"codYgSxPq8Vks6hVgvEgs8",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:5.149896657214,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"bTFFYv3CW8yhDsAPYPTsXV",selected:!1,locked:!1},{type:"Flower",name:"Peony",cx:6.613161948592704,cy:-5.354087639245112,cz:.05000000074505895,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"ctEoy8WqpFPS2x5ac3G3Pw",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.10487291138736,cy:2.5283816180907426,cz:.05000000074505895,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"kGH6RHxnnVioxpEWe4i5gm",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.067515389220716,cy:.32414440719892745,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"q26Eg31XYAcejy2Lefy1u6",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.031188982272717,cy:-1.654972787507253,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"5yYM5vzDCoYXugAds8nGWB",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.93283136913118,cy:-.5875588698031677,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"phZdGJBNMcagm1hqvjyqar",selected:!1,locked:!1},{type:"Window",cx:.05263157894736842,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i7D5ks6qD3vrJhaHoUEn98",parentId:"7N5hq7UW6d1NtoD4SxrS8y",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3684210526315789,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xjbyj3NQZe1tdahps4bSB2",parentId:"7N5hq7UW6d1NtoD4SxrS8y",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xARzngwCEN8qLjikbQKjCx",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jdyY9wswVivifuQfer37rz",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8yDD6Xt5pfo9gxGo7Y9zu8",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Foundation",cx:-31.880642024139792,cy:69.55063598010092,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"sksMK7QGTEQXw2XCVdPew4",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:1.9198621771937625,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"sksMK7QGTEQXw2XCVdPew4",foundationId:"sksMK7QGTEQXw2XCVdPew4",id:"sKzCd1CFCMgia2iSa8SUaR",selected:!1,pitchAngle:.3490658503988659},{type:"Foundation",cx:-3.1468540559467755,cy:42.75920411476808,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"pYW51i5Md8LzLgEijwgRsa",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:.8726646259971648,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"pYW51i5Md8LzLgEijwgRsa",foundationId:"pYW51i5Md8LzLgEijwgRsa",id:"s98srs7ePwE5eNskhAt5LB",selected:!1,pitchAngle:.3490658503988659},{type:"Foundation",cx:-55.523183133190386,cy:17.374425429460363,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"vypVDTaH1DmP9JbgEkDrdH",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:.3490658503988659,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"vypVDTaH1DmP9JbgEkDrdH",foundationId:"vypVDTaH1DmP9JbgEkDrdH",id:"jM4kEGJQ8cVJvhsvxgutLP",selected:!0,pitchAngle:.3490658503988659}],p0n=89,g0n={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!0,axes:!1,enableRotate:!0,weatherPanelY:0,cameraPosition:[32.62054043416994,-29.00025228279148,10.654435205994917],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"forestgreen",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[1.1186734562771086,.9968697268356653,8.083309712260911],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!1,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Rural",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:1.3194139635574385,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[22.525010055792105,33.90953838531496,31016628307238075e-21],cameraPosition2D:[22.525010055792105,33.90853800787309,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},navigationView:!1},m0n=!1,y0n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},A0n=1,w0n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},v0n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},x0n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},b0n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},S0n="Unknown",T0n=null,P0n=null,C0n=null,R0n=null,H0n=[],M0n=3,I0n=3,z0n={docid:r0n,time:a0n,timestamp:l0n,userid:s0n,owner:c0n,email:u0n,version:d0n,world:f0n,elements:h0n,sceneRadius:p0n,view:g0n,animate24Hours:m0n,graphState:y0n,evolutionMethod:A0n,solarPanelArrayLayoutParams:w0n,solarPanelArrayLayoutConstraints:v0n,evolutionaryAlgorithmState:x0n,economicsParams:b0n,modelType:S0n,modelAuthor:T0n,modelLabel:P0n,modelDescription:C0n,designProjectType:R0n,notes:H0n,minimumNavigationMoveSpeed:M0n,minimumNavigationTurnSpeed:I0n},D0n="owwsgdXHDbNagWUrRiAo3n",E0n="06/18/2023 07:00 pm",k0n=1687129219076,F0n="QWecNcxhyvP6j6sBN11hBsfZDau1",L0n=null,W0n=null,N0n={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Miami, FL, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:25.7616798,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-80.1917902},U0n=[{ly:21.382516494600992,solarUpdraftTower:{},parentId:"Ground",cx:.12539468533083742,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.14607588848467667,type:"Foundation",solarPowerTower:{},lx:18.404896936058655,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,color:"#cccccc",enableGroupMaster:!0,textureType:"Foundation Texture #2",locked:!1},{type:"Human",name:"Jaye",cx:-2.7072108715724905,cy:5.7390022883526095,cz:.05000000074505806,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.55,locked:!1},{type:"Human",name:"Jess",cx:8.450674550954435,cy:-2.040964169794302,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,locked:!1},{type:"Wall",cx:-3.3726189887257103,cy:8.134829504503935,cz:0,lx:7.649489274590845,ly:.1,lz:6,relativeAngle:2.944169982729981,leftPoint:[.3775108703190573,7.384697795521461,.1],rightPoint:[-7.1227488477704775,8.88496121348641,0],leftJoints:["fH1Eycb1edh4ewg8cSm7F2"],rightJoints:["1fNhHihSFWK4q4YFxM4GxP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jtB2mK47EhRe9haPUXWpqu",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.6275108703190573,cy:7.384697795521461,cz:0,lx:6.5,ly:.1,lz:6,relativeAngle:3.141592653589793,leftPoint:[6.877510870319057,7.384697795521461,.1],rightPoint:[.3775108703190573,7.384697795521461,.1],leftJoints:["o3wqaqdyzHo4XWGr2xqwut"],rightJoints:["jtB2mK47EhRe9haPUXWpqu"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"fH1Eycb1edh4ewg8cSm7F2",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.877510870319057,cy:4.634697795521461,cz:0,lx:5.499999999999999,ly:.1,lz:6,relativeAngle:1.5707963267948966,leftPoint:[6.877510870319057,1.884697795521462,.1],rightPoint:[6.877510870319059,7.384697795521461,.1],leftJoints:["vGUEcuvyBtUte9nHKMMtRK"],rightJoints:["fH1Eycb1edh4ewg8cSm7F2"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"o3wqaqdyzHo4XWGr2xqwut",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.627703166633557,cy:1.884697795521462,cz:0,lx:6.501153732383853,ly:.1,lz:6,relativeAngle:0,leftPoint:[.3775108703190573,1.884697795521462,.1],rightPoint:[6.877895462948057,1.8846977955214619,0],leftJoints:["jREcPkJHS2ha1J5przL31q"],rightJoints:["o3wqaqdyzHo4XWGr2xqwut"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vGUEcuvyBtUte9nHKMMtRK",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-3.3724891296809427,cy:2.884697795521462,cz:0,lx:7.762087348130012,ly:.1,lz:6,relativeAngle:6.022582915432245,leftPoint:[-7.122489129680943,3.884697795521462,.1],rightPoint:[.3775108703190573,1.884697795521462,.1],leftJoints:["1fNhHihSFWK4q4YFxM4GxP"],rightJoints:["vGUEcuvyBtUte9nHKMMtRK"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jREcPkJHS2ha1J5przL31q",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-7.122489129680943,cy:6.384697795521461,cz:0,lx:4.999999999999999,ly:.1,lz:6,relativeAngle:4.71238898038469,leftPoint:[-7.122489129680943,8.884697795521461,.1],rightPoint:[-7.122489129680943,3.884697795521462,.1],leftJoints:["jtB2mK47EhRe9haPUXWpqu"],rightJoints:["jREcPkJHS2ha1J5przL31q"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1fNhHihSFWK4q4YFxM4GxP",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Foundation",cx:4.805913157134036,cy:-3.6653250376384854,cz:.2,lx:4.565495674711998,ly:6.575538224210636,lz:.4,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"krZVQGBw1wVwxak2PssY7v",textureType:"Foundation Texture #5",locked:!1,notBuilding:!0},{type:"Foundation",cx:7.301535582510818,cy:-3.7151297019599916,cz:.25,lx:.5,ly:6.504377225831106,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"iv83XEzdWqY6v8XR5AToXK",color:"#ffffff",locked:!1,notBuilding:!0},{type:"Foundation",cx:2.4329687772478152,cy:-3.7102946606740073,cz:.25,lx:.5,ly:6.504377225831106,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLXoh6MxU5E5Gva8BASQRm",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.862158322186749,cy:-.20866405563399004,cz:.25,lx:5.379502342454104,ly:.5,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hzhocB2hGXGCFSJk2wnktz",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.862690579253708,cy:-7.224281838084487,cz:.25,lx:5.379502342454104,ly:.5,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gHY8UXkMn58xRtZAJVDtN6",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.866917615138179,cy:-7.704867444683629,cz:.15,lx:5.379502342454104,ly:.5,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3HGisFhi9kVGUkmKRBhKms",selected:!1,locked:!1,notBuilding:!0},{type:"Window",cx:-3416070845000482e-32,cy:.1,cz:.29166666666666663,lx:.9230769230769231,ly:.3,lz:.25000000000000006,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vGUEcuvyBtUte9nHKMMtRK",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jrakT4hmGTpA5xVoQK7Sx3",locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-40953643875444483e-21,cy:.3,cz:-.2833333333333333,lx:.9229950157891724,ly:.3,lz:.39999999999999997,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vGUEcuvyBtUte9nHKMMtRK",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"e19pGWtpLkqWbfXdnaZhjy",locked:!1,frame:!0,frameWidth:.1,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1,sillWidth:0},{type:"Window",cx:-.2898704818803739,cy:.1,cz:.29166666666666663,lx:.19324698792024925,ly:.3,lz:.24999999999999992,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sovEYSXhGEu5Ldj2kgneVg",locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2254548192402908,cy:.1,cz:.2916666666666667,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gFuo9DkFa685GcUxuiuYb8",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.2898704818803739,cy:.1,cz:-.2083333333333333,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hhZYVdjTizeYL1gPxKSz9p",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2254548192402908,cy:.1,cz:-.2083333333333333,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"28zX4FcaMGFduU6Aof316p",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.0033765060398756046,cy:.1,cz:.29166666666666663,lx:.793246987920249,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4MrXBjecJdLy1tjgTVbQVw",parentId:"1fNhHihSFWK4q4YFxM4GxP",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.0033765060398756046,cy:.1,cz:-.20833333333333334,lx:.793246987920249,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"paKeNYdxXEhDFWLKsseJA5",parentId:"1fNhHihSFWK4q4YFxM4GxP",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.29468156152921643,cy:.1,cz:.29166666666666663,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1u3AjVrK7HHdWWARHUbKE",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.16292275379321294,cy:.1,cz:.2916666666666667,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"srk5mHASnPgAUpjbT9uftd",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.29468156152921643,cy:.1,cz:-.2083333333333333,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tuZbwGt7CbT6QqTZ4sKjKB",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.16292275379321294,cy:.1,cz:-.2083333333333333,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fVyFjpBszkzEvddzxZF4cN",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2139500417756478,cy:.1,cz:.2916666666666667,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jgsYPqkQbCLB7nSKYoTQz1",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["jtB2mK47EhRe9haPUXWpqu","1fNhHihSFWK4q4YFxM4GxP","jREcPkJHS2ha1J5przL31q","vGUEcuvyBtUte9nHKMMtRK","o3wqaqdyzHo4XWGr2xqwut","fH1Eycb1edh4ewg8cSm7F2"],textureType:"No Roof Texture",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"5PVMZuTRFmTCfk2YbWKwPq",locked:!1,rise:0,ceiling:!1},{type:"Window",cx:.2139500417756478,cy:.1,cz:-.2083333333333333,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iYZGRCyiCoyTmxb2iW91K5",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.24758841976281373,cy:.1,cz:-.2083333333333333,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3hXTrx5RjPnoyDuFRCWL2w",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.24758841976281373,cy:.1,cz:.2916666666666667,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7TekVwAyTBKGDMvDso7KwN",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.22727272727272732,cy:.1,cz:.2916666666666667,lx:.27272727272727276,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ky3TVidbZJNxBmsHW5p4aV",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.22727272727272732,cy:.1,cz:.2916666666666667,lx:.27272727272727276,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6T5fUwPHMtaFTnJUZ9FeNm",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.22727272727272732,cy:.1,cz:-.20833333333333334,lx:.27272727272727276,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uH3BNCdk4hWNuoStiax9Mc",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.22727272727272732,cy:.1,cz:-.20833333333333334,lx:.27272727272727276,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4JcJH5e4rWagE4s7pxc2vr",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Tree",name:"Coconut",cx:-3.5174202973352635,cy:-5.952506495142959,cz:.050000000745058504,lx:3.421252972867562,lz:5.8824455683270385,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"r4PU1mJTsD7Dm4DCSTQbEk",selected:!1,locked:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-4.056727114780923,cy:-6.820925912328164,cz:.05000000074505806,lx:3.421252972867562,lz:3.7067838832176516,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qYjmrdb86SDT3egVhi2Ddg",selected:!1,locked:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-3.058157215251919,cy:-5.348879217798858,cz:.05000000074505806,lx:2.0761240579059335,lz:3.468323603426934,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7qTMbix1j6GoFy9o8Dge8Q",selected:!1,locked:!1},{type:"Tree",name:"Pine",flip:!0,cx:-6.654527859836286,cy:-7.991796862008116,cz:.05000000074505806,lx:2.811171334227782,lz:5.2304806796050185,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hgWXQayK9bDxaZTKFMFyaj",selected:!1,locked:!1},{type:"Tree",name:"Pine",flip:!1,cx:-6.145316897074318,cy:-8.056698018196002,cz:.050000000745058504,lx:2.1110953047223546,lz:3.545986285890324,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5NPZQ3kADKqz5pZRjy2r8m",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:8.102181299831539,cy:4.045842994396765,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"taF3ALjLpVssdzRj5rkAQQ",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-5.879762709897744,cy:1.4043677766482918,cz:.05000000074502964,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"j5yY2k9GT68hDzGzo8g4X5",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-8.163745041032497,cy:5.853168143382562,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wQLFTPCoFnPyshTWJztWv8",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-2.279762709897744,cy:1.4043677766482918,cz:.05000000074502964,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8nf4FW7PRbc5MHE74z6k6X",selected:!1,locked:!1},{type:"Flower",name:"Boxwood",cx:8.755439698619178,cy:-3.801559677962663,cz:.050000000745058504,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Me2yqTX69xpAQdJimGv6J",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-3.7656917519971405,cy:-7.189954744763735,cz:.050000000745057616,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"b8dhYx3mLo55GMwpAMANF4",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-2.9954361886672194,cy:-6.017555062549365,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aD6qe37bZZVXu7NhL9YCyw",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-2.5427971092417136,cy:-4.3436146516258916,cz:.05000000074505717,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6Z7HQYvZ4Ls1JaGM7AfPk1",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-5.573500548190964,cy:-8.097341718681303,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"igiDoKTCbe5rQ5p9LftFTF",selected:!1,locked:!1},{type:"Human",name:"Judd",cx:7.8538131049134385,cy:-5.07106737312789,cz:.05000000074505828,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3PTeJ2nnhnU1658gE9hwVj",selected:!1,locked:!1,ly:.544},{type:"Human",name:"Jeff",cx:1.3294328409358478,cy:.0073529482213468,cz:.1500000059604645,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"3HGisFhi9kVGUkmKRBhKms",id:"vmxzjFWTAjwTqms6QcsEP3",selected:!1,locked:!1,ly:.6},{type:"Human",name:"Jamelia",flip:!0,cx:8.040674150226515,cy:-6.334084712275156,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5Qsgp8Gq1Jr7PUZmxevYZR",selected:!1,locked:!1,ly:.65},{type:"Human",name:"Jennifer",cx:-.9884229521541545,cy:3.585869160830872,cz:.05000000074505806,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"sjU37oco1BJnmRhataWCxf",selected:!1,ly:.45},{type:"Tree",name:"Fan Palm",cx:-3.0053849919153564,cy:-3.8414595688219437,cz:.05000000074505806,lx:3.3292228289929944,lz:4.535630581080736,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"72iSoNbD98zvpFJ2Q1mmkB",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-3.557645718087297,cy:-6.494909623054461,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"fixSsPsLT9YGgQ2atTquS7",selected:!1},{type:"Flower",name:"Hosta",cx:-2.8775394857306047,cy:-4.995547826339774,cz:.05000000074505717,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rGgsLECHRG1JrsuPt4Zkbs",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-2.6007319365603525,cy:-5.483479639543539,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2RrpkK93q9tXhZRqF6FvrT",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-2.14120900487017,cy:-4.690834516460342,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"eXNFmUTqaatU1h8XmR1dnP",selected:!1},{type:"Flower",name:"Hosta",cx:-2.251092230304847,cy:-3.591429672886945,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ro5BfNTKQSaGfLx4eKBnio",selected:!1},{type:"Light",decay:2,distance:6,intensity:8,color:"#009ce0",cx:-.0668233149685919,cy:.05804493333085005,cz:.500000007450585,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hjub9esH6NqUMrKoM4qiEZ",selected:!1},{type:"Light",decay:2,distance:6,intensity:8,color:"#009ce0",cx:.4297365503834882,cy:-.1789222334700641,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6aGXSJXX1kvmEvo5FpXMaw",selected:!1},{type:"Light",decay:2,distance:10,intensity:8,color:"#fe9200",cx:.0692403262735466,cy:.2196827525166444,cz:6.2,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5PVMZuTRFmTCfk2YbWKwPq",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"432pe1oLqRcmTRcAYqgtqG",selected:!1,inside:!0},{type:"Light",decay:2,distance:6,intensity:8,color:"#fe9200",cx:-.17601132104075962,cy:-.3273891737363795,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"iMv2LJEW81uJy7BUGUKL83",selected:!1},{type:"Polygon",cx:-.020412282064186955,cy:-.023334577896438075,cz:0,lx:.4,ly:.4,lz:.4,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.03636363636363637,y:-.08333333333333333},{x:-.1272727272727273,y:-.08333333333333333},{x:-.05454545454545455,y:-.03333333333333333},{x:-.09090909090909093,y:.049999999999999996},{x:0,y:0},{x:.09090909090909093,y:.049999999999999996},{x:.05454545454545455,y:-.03333333333333333},{x:.1272727272727273,y:-.08333333333333333},{x:.03636363636363637,y:-.08333333333333333},{x:0,y:-.16666666666666666}],parentId:"o3wqaqdyzHo4XWGr2xqwut",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:1,id:"bM2XuLbGojMjjtTq6QbXqK",lineColor:"#4d4d4d",noOutline:!1,text:"26",fontSize:.3,fontColor:"gold",fontOutlineWidth:.01,lineWidth:1}],B0n=14,j0n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.7599467981478756,-5.067346033277178,-5027848075881249e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.7599467981478756,-5.067496039946536,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[15.236325505747509,-7.86777235732635,2.457105139993579],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:75.89554049207442,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.6563214275080296,1.8214306688802133,2.457105139993578],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Y0n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},O0n=1,_0n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},V0n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},G0n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},X0n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},J0n="Unknown",K0n=null,q0n=null,$0n=null,Q0n=[],Z0n={docid:D0n,time:E0n,timestamp:k0n,userid:F0n,owner:L0n,email:W0n,world:N0n,elements:U0n,sceneRadius:B0n,view:j0n,graphState:Y0n,evolutionMethod:O0n,solarPanelArrayLayoutParams:_0n,solarPanelArrayLayoutConstraints:V0n,evolutionaryAlgorithmState:G0n,economicsParams:X0n,modelType:J0n,modelAuthor:K0n,modelLabel:q0n,modelDescription:$0n,notes:Q0n},eun="hPTJuLgPgoJuMRXMJ2VDBS",tun="06/15/2023 03:10 pm",nun=1686856228122,oun="QWecNcxhyvP6j6sBN11hBsfZDau1",iun=null,run=null,aun={solarRadiationHeatmapGridCellSize:.5,date:"5/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},lun=[{ly:10.473983232081025,solarUpdraftTower:{},parentId:"Ground",cx:-.22738864151314608,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.8212100903152009,type:"Foundation",solarPowerTower:{},lx:13.564552414056891,lz:.08037925094719676,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",ly:.3,rightPoint:[-5.457020109151015,3.478026472724187,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.542979890848985,3.478026472724187,.1],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.5429798908489842,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.478026472724187,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.542979890848985,leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.542979890848985,3.478026472724187,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.807600955038734],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",rightRoofHeight:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{lx:7.5,windows:[],lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"nbw17kYeUHp1aouuScuF3Y",selected:!1,cy:-.27197352727581237,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[.022465454047944533,6.807600955038734],rightPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.3,cx:-5.457020109151015,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{showLabel:!1,cx:.5429798908489842,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,textureType:"Wall Texture Default",cy:-4.021973527275812,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y",leftPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],ly:.3,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{type:"Foundation",ly:9.17890503672627,lz:.06478560897373455,rotation:[0,0,0],cz:.05,cx:-3.0123969578104886,lx:2.997193198016322,parentId:"Ground",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},solarUpdraftTower:{},normal:[0,0,1],cy:-1.5649990896825194,id:"8fpWrU7qVyVgipB7LtABom",hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{showLabel:!1,cz:3.903941909848086,roofId:"7MxSmgNk4kQf8eNqmnwjMJ",lz:5.674455425565713,ly:.3,leftRoofHeight:5.674455425565713,relativeAngle:3.141592653589793,rightRoofHeight:5.674455425565713,leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],lx:2.13057265557637,windows:[],parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],rightJoints:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Wall Texture Default",cx:-.011530025051640469,leftPoint:[1.0537563027365446,1.8025200094198752,0],type:"Wall",rightPoint:[-1.0768163528398256,1.8025200094198752,0],id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.8025200094198752,normal:[0,0,1],selected:!1,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.808247394681429],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9689600797771365,rightUnfilledHeight:3.9689600797771365,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{normal:[0,0,1],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:5.674455425565713,selected:!1,ly:.3,cz:3.5644394786617815,id:"4Q8KDQDxyuamkEtRJU3paR",rotation:[0,0,0],cy:.250986023416642,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],leftPoint:[1.0537563027365446,-1.3005479625865912,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",textureType:"Wall Texture Default",cx:1.053756302736545,showLabel:!1,leftRoofHeight:5.674455425565713,foundationId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:1.5707963267948963,windows:[],rightRoofHeight:5.674455425565713,type:"Wall",parentId:"8fpWrU7qVyVgipB7LtABom",rightPoint:[1.0537563027365453,1.8025200094198752,0],lx:3.1030679720064667,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.020600140222275,rightUnfilledHeight:4.020600140222275,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],parentId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,leftRoofHeight:5.674455425565713,selected:!1,id:"1ATAe6P2KAHKLDSDfpVro9",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],textureType:"Wall Texture Default",cx:-1.0768163528398256,rightPoint:[-1.0768163528398256,-1.3005479625865912,0],lz:5.674455425565713,relativeAngle:-1.5707963267948966,normal:[0,0,1],type:"Wall",cz:3.660138480027889,rotation:[0,0,0],leftPoint:[-1.0768163528398256,1.8025200094198752,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",foundationId:"8fpWrU7qVyVgipB7LtABom",lx:3.1030679720064667,cy:.250986023416642,windows:[],ly:.3,rightRoofHeight:5.674455425565713,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.674455425565713,rightUnfilledHeight:3.92594971520268,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{ly:0,cx:0,type:"Roof",thickness:.1,ridgeLeftPoint:[.022465454047944533,1],textureType:"Roof Texture #1",showLabel:!1,lz:0,normal:[0,0,1],ridgeRightPoint:[-.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,roofType:"Gable",id:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",cz:0,rotation:[0,0,0],lx:0,color:"#666666",rise:2.7886384076788957,ceiling:!0,locked:!0},{rightPoint:[1.0537563027365446,-1.3005479625865912,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",selected:!1,parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],cx:-.011530025051640469,ly:.3,relativeAngle:0,cz:3.535805069111796,rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],leftRoofHeight:5.674455425565713,rightRoofHeight:5.674455425565713,id:"7xigJB2WiCCrREDc2Ja3YN",normal:[0,0,1],leftPoint:[-1.0768163528398256,-1.3005479625865912,0],type:"Wall",cy:-1.3005479625865912,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],lz:5.674455425565713,windows:[],showLabel:!1,textureType:"Wall Texture Default",lx:2.13057265557637,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.808247394681429],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.143662209927734,rightUnfilledHeight:4.143662209927734,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{normal:[0,0,1],rotation:[0,0,0],lz:.08037925094719676,cz:.05,solarPowerTower:{},parentId:"Ground",ly:2.3229214459557985,lx:3.6868215598526417,cx:6.688554173396975,solarUpdraftTower:{},cy:.40327666182062216,solarAbsorberPipe:{},id:"3KgcTmNBqtYJcCny8HxQyQ",type:"Foundation",selected:!1,notBuilding:!0,locked:!0},{id:"5eUwuiBwfGoNEpcHG5kHqK",lx:1.5,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[-.5114783908278628,.8698262658360515,.1],foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",textureType:"Wall Texture #3",cz:0,cx:.23852160917213716,selected:!1,rotation:[0,0,0],windows:[],normal:[0,0,1],ly:.2,lz:7.234132585247709,showLabel:!1,cy:.8698262658360515,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],type:"Wall",relativeAngle:3.141592653589793,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{type:"Wall",leftPoint:[-.5114783908278628,.8698262658360515,.1],rotation:[0,0,0],cy:.1198262658360515,lz:7.234132585247709,textureType:"Wall Texture #3",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",ly:.2,rightJoints:["qQNV4qND1aDjEtJsd6HVio"],lx:1.4999999999999998,parentId:"3KgcTmNBqtYJcCny8HxQyQ",windows:[],selected:!1,leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"],showLabel:!1,id:"hbU2xUbmKEDDXYDMWnjjCc",relativeAngle:4.71238898038469,rightPoint:[-.5114783908278628,-.6301737341639485,.1],normal:[0,0,1],cz:0,cx:-.5114783908278628,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{leftPoint:[-.5114783908278628,-.6301737341639485,.1],cy:-.6301737341639485,rightJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,windows:[],lz:7.234132585247709,selected:!1,rotation:[0,0,0],ly:.2,relativeAngle:0,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",normal:[0,0,1],leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],textureType:"Wall Texture #3",parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,showLabel:!1,cx:.23852160917213716,type:"Wall",id:"qQNV4qND1aDjEtJsd6HVio",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{id:"h8DQWwUSgNc283RWhcM3B1",type:"Wall",relativeAngle:1.5707963267948966,normal:[0,0,1],windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],selected:!1,textureType:"Wall Texture #3",ly:.2,cx:.9885216091721372,lx:1.5,cy:.1198262658360515,rightPoint:[.9885216091721372,.8698262658360515,.1],showLabel:!1,lz:7.234132585247709,rotation:[0,0,0],parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftJoints:["qQNV4qND1aDjEtJsd6HVio"],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",frame:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.1219248971291678,normal:[0,0,1],cx:-.25,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{cx:.25,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#ffffff",cz:-.1219248971291678,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",frame:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.13333333333333333,cx:.3333333333333333,cz:-.09710562859109184,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{ly:.3,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,cz:.5913168857732756,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.13333333333333333,color:"#ffffff",lz:.3942112571821837,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:0,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.09710562859109184,lx:.13333333333333333,color:"#ffffff",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Tree",name:"Pine",cx:11.005948677853029,cy:-1.394052607962342,cz:3552713678800501e-30,lx:6.452035166159083,lz:9.139816695798023,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"t5Aj8tjjpqVaLaB3uEqfR8",selected:!1,locked:!0},{type:"Window",cx:-.25833333333333336,cy:-13376344861350336e-31,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.26666666666666666,cy:-11010413489448665e-30,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.15054541065002525,cy:1.76763937363111,cz:3.903941909848086,lx:7.859980732011655,ly:.1,lz:3.8503419054045027,leftJoints:["qdWCAVU64LNURAh8wmzrJW"],rightJoints:["5SVe8cv2nsyRKR6jszXPqq"],leftPoint:[3.779444955355803,1.76763937363111,.06056023612846141],rightPoint:[-4.08053577665585,1.76763937363111,.06056023612846141],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYz6mrLsdVMWcgpJiTXXtH",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.8503419054045027,rightRoofHeight:3.8503419054045027,selected:!1,studWidth:.1,studColor:"white",opacity:0,wallStructure:"Stud",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.8503419054045027,rightTopPartialHeight:3.8503419054045027,locked:!0},{type:"Wall",cx:3.779444955355803,cy:.10818511446824708,cz:3.5644394786617815,lx:3.3189085183257268,ly:.1,lz:3.442308777851562,leftJoints:["9YsY5P23SDcYcTLJeEGMo8"],rightJoints:["eYz6mrLsdVMWcgpJiTXXtH"],leftPoint:[3.779444955355803,-1.5512691446946167,.06056023612846141],rightPoint:[3.779444955355805,1.76763937363111,.06056023612846141],relativeAngle:1.570796326794896,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qdWCAVU64LNURAh8wmzrJW",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.442308777851562,rightRoofHeight:3.8503419054045027,centerRoofHeight:[.5,3.8503419054045027],selected:!1,studWidth:.1,wallStructure:"Stud",opacity:.25,studSpacing:1.6,studColor:"white",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{type:"Wall",cx:-4.08053577665585,cy:.10818511446824708,cz:3.660138480027889,lx:3.3189085183257268,ly:.1,lz:3.442308777851562,leftJoints:["eYz6mrLsdVMWcgpJiTXXtH"],rightJoints:["9YsY5P23SDcYcTLJeEGMo8"],leftPoint:[-4.08053577665585,1.76763937363111,.06056023612846141],rightPoint:[-4.08053577665585,-1.5512691446946167,.06056023612846141],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5SVe8cv2nsyRKR6jszXPqq",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.8503419054045027,rightRoofHeight:3.442308777851562,centerRoofHeight:[-.5,3.8503419054045027],selected:!1,wallStructure:"Stud",opacity:.25,studWidth:.1,studSpacing:1.6,studColor:"white",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{type:"Wall",cx:-.15054541065002525,cy:-1.5512691446946167,cz:3.535805069111796,lx:7.859980732011655,ly:.1,lz:3.442308777851562,leftJoints:["5SVe8cv2nsyRKR6jszXPqq"],rightJoints:["qdWCAVU64LNURAh8wmzrJW"],leftPoint:[-4.08053577665585,-1.5512691446946167,.06056023612846141],rightPoint:[3.779444955355803,-1.5512691446946167,.06056023612846141],relativeAngle:0,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9YsY5P23SDcYcTLJeEGMo8",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.442308777851562,rightRoofHeight:3.442308777851562,selected:!1,studWidth:.1,wallStructure:"Stud",opacity:.25,studColor:"white",studSpacing:2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{id:"9SPVWHTRZMkvFFbvi4Y4dK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofType:"Gable",textureType:"Roof Texture #1",thickness:.1,wallsId:["9YsY5P23SDcYcTLJeEGMo8"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,translucent:!0,rafterSpacing:2,roofStructure:"Rafter",rise:0,ceiling:!1,locked:!0},{type:"Foundation",cx:.4816835699661557,cy:-4.8267180085139945,cz:.05,lx:9.870953390145004,ly:4.194004820393555,lz:.04867786417191091,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"91GS1aZ3DbZBjAVtatsatL",selected:!1,notBuilding:!0,locked:!0},{type:"Door",cx:0,cy:0,cz:-.2,lx:.25,ly:0,lz:.6,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",doorType:"Default",archHeight:1,filled:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"7MxSmgNk4kQf8eNqmnwjMJ",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:1.1337919691157152,ceiling:!1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.46576840681624293,lx:.34364727930476036,ly:.3,lz:.15525613560541424,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"7xigJB2WiCCrREDc2Ja3YN",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"bKSng9YxxhEwLmca6q52t4",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,frameWidth:.06,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.011530025051640469,cy:1.8025200094198752,cz:3.903941909848086,lx:2.13057265557637,ly:.3,lz:5.665479357106698,leftJoints:["gjFo4dGKiFsEAtvgC2uCdo"],rightJoints:["28JZn5ZqftnjWtvDA7sVWD"],leftPoint:[1.0537563027365446,1.8025200094198752,0],rightPoint:[-1.0768163528398256,1.8025200094198752,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3J2f3hD7LiPYocNLAGAHn1",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,centerRoofHeight:[0,6.765479357106699],selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.17087314092728,rightUnfilledHeight:4.17087314092728,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:1.053756302736545,cy:.250986023416642,cz:3.5644394786617815,lx:3.1030679720064667,ly:.3,lz:5.665479357106698,leftJoints:["fWZF78k9YENmcxHia3M4iF"],rightJoints:["3J2f3hD7LiPYocNLAGAHn1"],leftPoint:[1.0537563027365446,-1.3005479625865912,0],rightPoint:[1.0537563027365453,1.8025200094198752,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gjFo4dGKiFsEAtvgC2uCdo",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.2501718067420615,rightUnfilledHeight:5.665479357106698,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:-1.0768163528398256,cy:.250986023416642,cz:3.660138480027889,lx:3.1030679720064667,ly:.3,lz:5.665479357106698,leftJoints:["3J2f3hD7LiPYocNLAGAHn1"],rightJoints:["fWZF78k9YENmcxHia3M4iF"],leftPoint:[-1.0768163528398256,1.8025200094198752,0],rightPoint:[-1.0768163528398256,-1.3005479625865912,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"28JZn5ZqftnjWtvDA7sVWD",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.112382106286621,rightUnfilledHeight:4.112382106286621,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:-.011530025051640469,cy:-1.3005479625865912,cz:3.535805069111796,lx:2.13057265557637,ly:.3,lz:5.665479357106698,leftJoints:["28JZn5ZqftnjWtvDA7sVWD"],rightJoints:["gjFo4dGKiFsEAtvgC2uCdo"],leftPoint:[-1.0768163528398256,-1.3005479625865912,0],rightPoint:[1.0537563027365446,-1.3005479625865912,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fWZF78k9YENmcxHia3M4iF",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,centerRoofHeight:[0,6.765479357106699],selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.243512040075365,rightUnfilledHeight:4.243512040075365,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Window",cx:0,cy:.1,cz:.46576840681624293,lx:.34364727930476036,ly:.3,lz:.15525613560541424,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gAS9MDKRJP4JWvfqrqBKdy",parentId:"fWZF78k9YENmcxHia3M4iF",foundationId:"nu2sn9efF1AHCFrvuV5ULi",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.06,windowType:"Default",archHeight:1,locked:!0},{id:"rEidR5TzysvNG1rgGa79ag",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofType:"Gable",textureType:"Roof Texture #1",thickness:.1,wallsId:["28JZn5ZqftnjWtvDA7sVWD"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:1.1,ceiling:!1,locked:!0},{type:"Foundation",cx:3.6575623433664717,cy:-1.54061534072674,cz:.05,lx:2.997193198016322,ly:9.17890503672627,lz:.06468312864431171,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nu2sn9efF1AHCFrvuV5ULi",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.13333333333333333,ly:0,lz:.624410216345127,textureType:"Door Texture #1",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",doorType:"Default",archHeight:1,filled:!0,locked:!0},{type:"Tree",name:"Apple",cx:-8.870480061609383,cy:-.6721812852789775,cz:0,lx:4.272747980812545,lz:4.234704800641296,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"oGL2siNwwXoicUvtQoHfi3",selected:!1,locked:!0},{type:"Human",name:"Jamelia",cx:.5077215094390786,cy:-5.182357959116953,cz:0,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"havSSZEB6mAoQ1s57LQVxN",selected:!1,ly:.65,locked:!0},{type:"Human",name:"Jack",cx:-7.974613533200657,cy:-4.521571410086505,cz:8881784197001252e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.42,locked:!0},{type:"Flower",name:"Hosta",cx:-6.306441231413446,cy:-4.762303364786677,cz:4440892098500626e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1cAkMnRPZL6fG1dhWuUn14",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:6.169203623475488,cy:-5.72637309429814,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"htN99q9wA5PLZNcJh1UgLF",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-5.061905234310647,cy:-5.806918097592128,cz:-17763568394002505e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"j1Fmf7QNoHATgNqGSJnptk",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:5.621277500928149,cy:-6.190060319204097,cz:-8881784197001252e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"b8aTi9NKLHSRuN9DAY2Dvd",selected:!1,locked:!0},{type:"Flower",name:"Tall Bush",cx:5.615846305114406,cy:-5.453095801875909,cz:.040189623832702644,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"84bbtLrAVMTpW8zhkv6ac6",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:6.558445661570947,cy:-5.148346193790616,cz:0,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7PKC5BECKBBX3d4Za7d4Du",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:-5.407028367581802,cy:-5.549301025270703,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"s9wwdrqZHX68urRnmZ9bDp",selected:!1,locked:!0},{type:"Flower",name:"Tall Bush",cx:-4.834800784349908,cy:-4.621520750635222,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vKDYbBm1LFSeCRbRGxpJzR",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-5.746710484862029,cy:-5.268820363710504,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qrfLBQvCQkPzUhnUEFDgC1",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:5.955104289170869,cy:-5.9761317798049545,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"daEJUZv3vgUrqorbyNtAdL",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:6.380681139084028,cy:-5.4372416572511035,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"oCHH6YeZ2ebkct1XeVw26T",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:-6.0720221613270775,cy:-5.14772584317228,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"kAuo84ejkCrSVu9PCaPugg",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:1.6210802629879084,cy:-8.23340133659074,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kmbR9RJMfaDSwNReuSKCjQ",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:3.611880585955519,cy:-8.204961331976918,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"8bs3duj4DEPj8B5fQB6m61",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-.5688000922764606,cy:-8.261841341204562,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"xiFfAWcKYuiBh744RUaZyc",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-2.844000461382297,cy:-8.261841341204562,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"wV1JQBxQxSUBFz9dC7xrav",selected:!1,locked:!0},{type:"Tree",name:"Pine",cx:11.504343484441804,cy:-.763939147024864,cz:0,lx:5.1791034594942555,lz:5.428693136268209,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"iVXpvVvo7CVsBLdZiLcmV8",selected:!1,flip:!0,locked:!0},{type:"Tree",name:"Pine",cx:14.030494530217624,cy:.04081963902747532,cz:0,lx:4.05233280460769,lz:7.181542362302404,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wTP4kg9xyU48nnBEmn3ppV",selected:!1,locked:!0},{type:"Foundation",cx:.30925292274615623,cy:-1.2101326772862784,cz:.05,lx:6.745176508169567,ly:8.157824691427903,lz:.0627727643414778,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j26S3yBrW81Hpmua4v9rbN",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{type:"Wall",cx:.0036303018672041443,cy:1.418731310908802,cz:3.903941909848086,lx:6.727305402522589,ly:.3,lz:6.620718306713466,leftJoints:["9SCrAqQSk4xVacCdSJE3pn"],rightJoints:["8Vadn4BSVDAC5WjSkKfgzz"],leftPoint:[3.367283003128499,1.418731310908802,0],rightPoint:[-3.3600223993940905,1.418731310908802,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5AKBX2BV6amQvk312dBM8B",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:6.620718306713466,rightRoofHeight:6.620718306713466,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.324926656434854,rightUnfilledHeight:4.324926656434854,leftTopPartialHeight:6.620718306713466,rightTopPartialHeight:6.620718306713466,locked:!0},{type:"Wall",cx:3.3672830031285006,cy:-.062237916432278606,cz:3.5644394786617815,lx:2.961938454682161,ly:.3,lz:5.64147421981503,leftJoints:["dTWEdcfdTXFV5sEPVRd8z5"],rightJoints:["5AKBX2BV6amQvk312dBM8B"],leftPoint:[3.367283003128499,-1.5432071437733592,0],rightPoint:[3.367283003128503,1.418731310908802,0],relativeAngle:1.5707963267948952,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9SCrAqQSk4xVacCdSJE3pn",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:5.64147421981503,rightRoofHeight:6.620718306713466,centerRoofHeight:[.5,6.620718306713466],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.092459386252685,rightUnfilledHeight:4.092459386252685,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Wall",cx:-3.3600223993940905,cy:-.062237916432278606,cz:3.660138480027889,lx:2.961938454682161,ly:.3,lz:5.64147421981503,leftJoints:["5AKBX2BV6amQvk312dBM8B"],rightJoints:["dTWEdcfdTXFV5sEPVRd8z5"],leftPoint:[-3.3600223993940905,1.418731310908802,0],rightPoint:[-3.3600223993940905,-1.5432071437733592,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8Vadn4BSVDAC5WjSkKfgzz",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:6.620718306713466,rightRoofHeight:5.64147421981503,centerRoofHeight:[-.5,6.620718306713466],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9233710526843555,rightUnfilledHeight:3.9233710526843555,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Wall",cx:.0036303018672041443,cy:-1.5432071437733592,cz:3.535805069111796,lx:6.727305402522589,ly:.3,lz:5.64147421981503,leftJoints:["8Vadn4BSVDAC5WjSkKfgzz"],rightJoints:["9SCrAqQSk4xVacCdSJE3pn"],leftPoint:[-3.3600223993940905,-1.5432071437733592,0],rightPoint:[3.367283003128499,-1.5432071437733592,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dTWEdcfdTXFV5sEPVRd8z5",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:5.64147421981503,rightRoofHeight:5.64147421981503,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.163695339993486,rightUnfilledHeight:4.163695339993486,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["dTWEdcfdTXFV5sEPVRd8z5"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"vKXQiCBzbfpPSTJ27J8jBB",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.40953276837441766,lx:.44594377993825984,ly:.3,lz:.14548273694573843,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"r1RG4byiDKweDnNzMe6Uqt",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.31833333333333336,cy:.1,cz:-.12239672405306627,lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nkKGWu3sRWjy8kWKFV8wES",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.30833333333333335,cy:.1,cz:-.09751468078404088,lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e4784e1QWCibptuMbZE3Fb",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4506499123046388,cy:-2.253829215918892,cz:5.495676945306635,lx:6.517117804983129,ly:.1,lz:3.1452722458300313,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"miUkiQAMUrUH9VdizU1QHd",locked:!0},{type:"Window",cx:-.040529886594876885,cy:.3,cz:.36293328834815236,lx:.6611308564654793,ly:.3,lz:.23883190909923116,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"28JZn5ZqftnjWtvDA7sVWD",parentType:"Wall",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"xq6zsNgL6KPAX41MXZ3EbC",locked:!0},{type:"Window",cx:.02441680094832896,cy:.3,cz:.35427189383741103,lx:.6933570277585752,ly:.3,lz:.2562105393925967,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"4Q8KDQDxyuamkEtRJU3paR",parentType:"Wall",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"qcnFPvRmcmP1h3bepT45qh",locked:!0},{type:"Window",cx:4.296638448514275,cy:-2.708258875969741,cz:5.141848441701093,lx:.8645085564531798,ly:.1,lz:1.937214690596396,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"cMbDioVwT4kfspCSxauDDf",polygonTop:[-.5,1.125032012484936],locked:!0},{type:"Window",cx:-3.3098661063241783,cy:-2.738630134883686,cz:5.118200739891894,lx:.6049071605861784,ly:.1,lz:2.2332848397709752,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vbnhFbrJ9782uVqEAWSbqW",polygonTop:[.5,.9018556681153167],locked:!0},{type:"Window",cx:1.0937607455840728,cy:.6467227885963354,cz:5.73187840674332,lx:2.4176106129913375,ly:.1,lz:.16460115006383247,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8165400713416964,0,1.5707963267948963],parentId:"7MxSmgNk4kQf8eNqmnwjMJ",parentType:"Roof",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"wCFZjtmrD2b8mTn1f1qano",polygonTop:[.5,1.0560439311761334],locked:!0},{type:"Window",cx:-1.0462741509941371,cy:1.4199114403224693,cz:5.8069617126253155,lx:.9242462576351369,ly:.1,lz:.1721360167476046,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8165400713416961,0,4.71238898038469],parentId:"7MxSmgNk4kQf8eNqmnwjMJ",parentType:"Roof",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"kdtAstd8jE9ACZ3TfHUAZb",polygonTop:[-.5,.99155281262393],locked:!0},{type:"Window",cx:-1.1170172726431056,cy:.5138568052522039,cz:5.723968440623406,lx:2.596092763357134,ly:.1,lz:.082389128100567,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8014286985579611,0,4.71238898038469],parentId:"rEidR5TzysvNG1rgGa79ag",parentType:"Roof",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"7Y1EoQrhcqZsSLDF4LmMiA",polygonTop:[-.5,1.2214855671184548],locked:!0},{type:"Window",cx:1.0534033913747818,cy:1.2212640151421539,cz:5.765843768521558,lx:1.130053534424075,ly:.1,lz:.020226846288053643,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8014286985579612,0,1.5707963267948963],parentId:"rEidR5TzysvNG1rgGa79ag",parentType:"Roof",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"x4QzPw1xK8z1dYWnRSPfDD",polygonTop:[.5,1.214791037762756],locked:!0},{type:"Window",cx:.428377511975304,cy:.3,cz:.36902546903156846,lx:.11351539072017484,ly:.3,lz:.22649733563143687,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",parentType:"Wall",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"rGAmTgsinEVfLmLsgxtKCo",locked:!0},{type:"Window",cx:-.428377511975304,cy:.3,cz:.3671875531695516,lx:.11351539072017484,ly:.3,lz:.2228215039074031,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",parentType:"Wall",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"tcZghwrXjxrMrPYG8qWmMK",locked:!0},{type:"Window",cx:-2.887838483851968,cy:-1.5429231830507752,cz:5.741568099840816,lx:1.1156980571027848,ly:.1,lz:.006652456667148232,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3192968291527907,0,0],parentId:"vKXQiCBzbfpPSTJ27J8jBB",parentType:"Roof",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"iAta14nH255gL4E1skBYr2",polygonTop:[-.5,3.135049288439095],locked:!0},{type:"Window",cx:2.9643296778973105,cy:-1.5489835426240144,cz:5.739564489243441,lx:.977937957633503,ly:.1,lz:.09523764867628905,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3192968291527907,0,0],parentId:"vKXQiCBzbfpPSTJ27J8jBB",parentType:"Roof",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"p89tc6ji5qG8UFCeVeXzs6",polygonTop:[.5,3.0552575653113068],locked:!0}],sun=20,cun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.94522901824079,-1.0741381728239148,-107590488899985e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.94522901824079,-1.075138550271241,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-4.574738869546006,-17.12597647560641,2.6902980037557214],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.44146361606706,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.8575132784294428,-.32342939215259475,2.6902980037557214],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},uun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},dun=1,fun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},hun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},pun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},gun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},mun="Unknown",yun=null,Aun=null,wun=null,vun=[],xun={docid:eun,time:tun,timestamp:nun,userid:oun,owner:iun,email:run,world:aun,elements:lun,sceneRadius:sun,view:cun,graphState:uun,evolutionMethod:dun,solarPanelArrayLayoutParams:fun,solarPanelArrayLayoutConstraints:hun,evolutionaryAlgorithmState:pun,economicsParams:gun,modelType:mun,modelAuthor:yun,modelLabel:Aun,modelDescription:wun,notes:vun},bun="tn5NXrCgVkn7A5sexifmrP",Sun="02/04/2023 01:00 pm",Tun=1675533609468,Pun="QWecNcxhyvP6j6sBN11hBsfZDau1",Cun=null,Run=null,Hun={solarRadiationHeatmapGridCellSize:1,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"M4J3+GMR, Rue de La Kasbah, Kairouan, Tunisia",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.6813583,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:10.1041467},Mun=[{type:"Wall",cx:-1.5357911804424789,cy:-8.147946678658776,cz:2.268765007024547,lx:41.99999999999999,ly:.5,lz:10,leftJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],rightJoints:["m87y7C5QvZwH9XgiqzyDsg"],leftPoint:[-22.535791180442477,-8.147946678658771,.25],rightPoint:[19.464208819557516,-8.147946678658784,.25],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"q6GhCTYocV8Du6Z7WCqnGz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Foundation",cx:1.290269817272435,cy:-3.5970579374045144,cz:.125,lx:65.10485687395563,ly:44.85538565072669,lz:.25,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,color:"#999999"},{type:"Wall",cx:19.46420881955751,cy:2.1020533213412156,cz:0,lx:20.5,ly:.5,lz:10,relativeAngle:1.5707963267948966,leftPoint:[19.464208819557516,-8.147946678658784,.25],rightPoint:[19.46420881955751,12.352053321341215,.25],leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["3u1tb8n3XMJZXYU3udLNqv"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"m87y7C5QvZwH9XgiqzyDsg",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.5357911804424824,cy:12.352053321341218,cz:0,lx:42,ly:.5,lz:10,relativeAngle:3.141592653589793,leftPoint:[19.464208819557516,12.352053321341216,.25],rightPoint:[-22.535791180442484,12.35205332134122,.25],leftJoints:["m87y7C5QvZwH9XgiqzyDsg"],rightJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3u1tb8n3XMJZXYU3udLNqv",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-22.535791180442498,cy:2.1020533213412165,cz:0,lx:20.500000000000007,ly:.5,lz:10,relativeAngle:4.712388980384689,leftPoint:[-22.535791180442484,12.35205332134122,.25],rightPoint:[-22.535791180442505,-8.147946678658787,.25],leftJoints:["3u1tb8n3XMJZXYU3udLNqv"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"pV4i6Rv9Vpys7aXEi9nnh4",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Human",name:"Jaah",cx:-20.815616879711254,cy:-18.576078606733773,cz:.125,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"oS4Uf1aJoiB2V9pQqWTsVG",selected:!1,ly:.74},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.5,roofType:"Pyramid",roofStructure:"Default",wallsId:["3u1tb8n3XMJZXYU3udLNqv","pV4i6Rv9Vpys7aXEi9nnh4","tKvexMf8zrvPgydcZb5VYA","m87y7C5QvZwH9XgiqzyDsg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"q6GhCTYocV8Du6Z7WCqnGz",sideColor:"#ffffff",rise:0,ceiling:!1},{type:"Door",cx:-.4107142857142858,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,doorType:"Arched",archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"jXmzH2ciK425Fb6dH2EkVp",filled:!1},{type:"Door",cx:-.3214285714285715,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"3Ypjy6UAE7xHgadjTDfe2a",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.2321428571428572,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"mMiEmbz3vkGVE8tUbXxgNQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.1428571428571429,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"tPuRheQMuGYu1gmyqi6c4s",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.0535714285714286,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"qCzzF9bXjrUUQcTszp1SPS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.0357142857142857,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"r6qnpYnu8yvZzEEeE2fqps",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.125,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bYotwM3kh8YucfABgu8Eot",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.2142857142857143,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bH3GWXsdZcQF9JUubCPadp",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.3035714285714286,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"hgaMdHTtMAFGSJgPw6fbgW",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.3928571428571429,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"tcvaKKEqJwZ2KN8UScxvAs",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Wall",cx:-2.0348646464512568,cy:-10.275504500010312,cz:2.268765007024547,lx:38.88254641036014,ly:.5,lz:16,leftJoints:["iC5vVUbJMtmDkNzYUxBZPA"],rightJoints:["mM4PcE69DPCUHMXtdYUR1q"],leftPoint:[-21.47613785163133,-10.275504500010307,.1],rightPoint:[17.406408558728813,-10.275504500010317,.1],relativeAngle:-2741111892188643e-31,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tHwdHqDmQXFhmVBYpGMk1M",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",cx:17.406408558728813,cy:-1.3101914721012853,cz:0,lx:17.930626055818067,ly:.5,lz:16,leftJoints:["tHwdHqDmQXFhmVBYpGMk1M"],rightJoints:[],leftPoint:[17.406408558728813,-10.275504500010317,.1],rightPoint:[17.406408558728806,7.655121555807748,.1],relativeAngle:1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM4PcE69DPCUHMXtdYUR1q",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",cx:-21.476137851631343,cy:-1.310191472101287,cz:0,lx:17.930626055818067,ly:.5,lz:16,leftJoints:[],rightJoints:["tHwdHqDmQXFhmVBYpGMk1M"],leftPoint:[-21.476137851631336,7.655121555807748,.1],rightPoint:[-21.47613785163135,-10.275504500010321,.1],relativeAngle:-1.5707963267948977,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iC5vVUbJMtmDkNzYUxBZPA",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{id:"wyopmFLrEU8Q6F3Eo2E8qH",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.5,wallsId:["iC5vVUbJMtmDkNzYUxBZPA","tHwdHqDmQXFhmVBYpGMk1M","mM4PcE69DPCUHMXtdYUR1q"],selected:!1,sideColor:"#ffffff",rise:0,ceiling:!1},{type:"Foundation",cx:1.7183157358311596,cy:-.28833946443478364,cz:.05,lx:53.43283132966065,ly:36.15762103719206,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hNbyNzvcTVK1vEJxa83hcL",selected:!1,color:"#999999"},{type:"Window",cx:-.4346423153885066,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tq5v5MiQZt5qstbgFWnvG5",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.32662469854639264,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tnAiVDN8QFPpM8tgevRmcN",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.21860708170427864,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3nMYyTwN3Em3zi1cHJC4sf",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.1105894648621647,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cCAyiJ9wpmzcPpyPdhfiCf",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.0025718480200507404,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eez2P3itr5bZkDqccZV8JD",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.10544576882206322,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kUi59wGAijZzpxe2ea5yGk",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.21346338566417716,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5BkQRXptjCjpMLBbuit7LG",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.32148100250629114,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wW8MUuXM3xqHEL2sbQVtzB",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.42949861934840516,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ccgRRcvFN2ruATRvwGX84y",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.39880952380952384,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"i5fduT9idUyGfEykeAwxhP",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.30952380952380953,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"fRizbSvKJ8g4Q7BkTDodnJ",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.22023809523809523,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"e1sFSDmTNZ4sZ9Y1VTweWG",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.13095238095238093,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"4JvvxD5ReU3HCb3rrCJfqu",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.04166666666666664,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"rxe4vXzmMs9ks1UPKMsMHJ",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.047619047619047644,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"qM4GDTxt6ZN2Tk8zN9epmX",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.13690476190476195,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"gWzssvMidARJ4cQ7NE4iEX",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.22619047619047625,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"wVBpJ6rUX7jujyXvbCDuGG",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.3154761904761905,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"rywUBEaEaD2kzBC78kTd66",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.4047619047619048,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"4sh9rckArBRiLDTvRhk9XE",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:0,cy:0,cz:-.21875,lx:.951583767418624,ly:0,lz:.5625,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",id:"4yyor28faKUByr4PZBcCtd"},{type:"Wall",cx:-2.0348646464512603,cy:7.655121555807748,cz:0,lx:38.88254641036015,ly:.5,lz:16,leftJoints:["mM4PcE69DPCUHMXtdYUR1q"],rightJoints:["iC5vVUbJMtmDkNzYUxBZPA"],leftPoint:[17.406408558728813,7.655121555807748,.1],rightPoint:[-21.476137851631336,7.655121555807748,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2mZ55xAX1KuR3Q2dngP1w",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Window",cx:-.43652041374223555,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u5zqDbkaAjTXDXvkwuoihC",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3285027969001216,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kKyDa7cDgjAnQgNANR1HWe",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.22048518005800757,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nw4CtWvmwcVC5Xe1THkFLF",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.11246756321589363,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x6kokyu7Qezd9q5C3o2tsm",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.00444994637377967,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fnjqZxGUX54z9mXbXLiiRE",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.10356767046833429,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tdwDQUv17oBgAFyg3P4xM6",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.21158528731044823,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hUp1krohSEg7azNVaFn5Vi",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3196029041525622,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rnUJCj9zp9Q9MtSBUyxpSr",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.42762052099467623,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bDgdCWe9fUHArD8KxnxhgG",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.006429620050125837,cy:0,cz:-.21875,lx:.9387245273183722,ly:0,lz:.5625,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",id:"mwADv6B5ue7JfsfTJPh6bK"},{type:"Foundation",cx:27.211897808892417,cy:-2.277125937112275,cz:.1,lx:7.862239275491355,ly:8.18645532809304,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jo2xWjh3Cc1HQacSqq3RwZ",enableGroupMaster:!0},{type:"Wall",cx:-.20148632007026634,cy:1.8550497672374595,cz:0,lx:1.6851851851851931,ly:.3,lz:30,relativeAngle:3.1415926535897927,leftPoint:[.6411062725223289,1.8550497672374595],rightPoint:[-1.0440789126628616,1.85504976723746],leftJoints:["npFbHBHE2K2JqNLhKJ6X3t"],rightJoints:["cJ3MHxSdHF6NBdtBsFYUrC"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"63M4Ay9XbnqNvAk8QywH63",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:1.4489577998324776,cz:0,lx:1.19683109271183,ly:.3,lz:30,relativeAngle:-2.3957214089984347,leftPoint:[-1.0440789126628616,1.85504976723746],rightPoint:[-1.9231476929743891,1.0428658324274953],leftJoints:["63M4Ay9XbnqNvAk8QywH63"],rightJoints:["pkGthR3DucyAx4LwcC1Kdd"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"cJ3MHxSdHF6NBdtBsFYUrC",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.9231476929743891,cy:.20030911625962777,cz:0,lx:1.685113432335735,ly:.3,lz:30,relativeAngle:-1.5707963267948966,leftPoint:[-1.9231476929743891,1.0428658324274953],rightPoint:[-1.9231476929743891,-.6422475999082398],leftJoints:["cJ3MHxSdHF6NBdtBsFYUrC"],rightJoints:["myGwrCaTTUQ5A7LpQkLGdD"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"pkGthR3DucyAx4LwcC1Kdd",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:-1.0787123486711252,cz:0,lx:1.2388574688675817,ly:.3,lz:30,relativeAngle:-.7818940174543654,leftPoint:[-1.9231476929743891,-.6422475999082398],rightPoint:[-1.0440789126628616,-1.5151770974340102],leftJoints:["pkGthR3DucyAx4LwcC1Kdd"],rightJoints:["167KXvNm8cDcHPx8xW946K"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"myGwrCaTTUQ5A7LpQkLGdD",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.20148632007026634,cy:-1.5151770974340102,cz:0,lx:1.6851851851851931,ly:.3,lz:30,relativeAngle:0,leftPoint:[-1.0440789126628616,-1.5151770974340102],rightPoint:[.6411062725223289,-1.5151770974340102],leftJoints:["myGwrCaTTUQ5A7LpQkLGdD"],rightJoints:["4N88hDYexmoMCfgkuoD5Rh"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"167KXvNm8cDcHPx8xW946K",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0624025688186265,cy:1.433771409153526,cz:0,lx:1.1915805038063918,ly:.3,lz:30,relativeAngle:2.356215779952568,leftPoint:[1.483698865114924,1.0124930510695922],rightPoint:[.6411062725223289,1.85504976723746],leftJoints:["2Ew2MEjMkmHhJiQ9oqAGU2"],rightJoints:["63M4Ay9XbnqNvAk8QywH63"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"npFbHBHE2K2JqNLhKJ6X3t",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.483698865114924,cy:.16993633490172466,cz:0,lx:1.6851134323357353,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[1.483698865114924,-.6726203812661429],rightPoint:[1.483698865114924,1.0124930510695922],leftJoints:["4N88hDYexmoMCfgkuoD5Rh"],rightJoints:["npFbHBHE2K2JqNLhKJ6X3t"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"2Ew2MEjMkmHhJiQ9oqAGU2",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0626642442323444,cy:-1.0937037083639525,cz:0,lx:1.192226389921747,ly:.3,lz:30,relativeAngle:.7852978318515466,leftPoint:[.6411062725223289,-1.5151770974340102],rightPoint:[1.4842222159423528,-.6722303192938943],leftJoints:["167KXvNm8cDcHPx8xW946K"],rightJoints:["2Ew2MEjMkmHhJiQ9oqAGU2"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"4N88hDYexmoMCfgkuoD5Rh",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.7345405315369007,cy:2.2012354524785778,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["oNTQ9kGJLR6NE6X37waKe5"],rightJoints:["p8peNzDRqcaFDtvEdTohPZ"],leftPoint:[.10805206105569454,2.2012354524785778,.1],rightPoint:[-1.577133124129496,2.201235452478578,.1],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adnnHLPEXD64e7HP26zx36",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:1.795143485073596,cz:0,lx:1.19683109271183,ly:.3,lz:20,leftJoints:["adnnHLPEXD64e7HP26zx36"],rightJoints:["pvG7hHR36xfJmEyp1eS9YY"],leftPoint:[-1.577133124129496,2.201235452478578,.1],rightPoint:[-2.4562019044410235,1.3890515176686136,.1],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p8peNzDRqcaFDtvEdTohPZ",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.4562019044410235,cy:.546494801500746,cz:0,lx:1.685113432335735,ly:.3,lz:20,leftJoints:["p8peNzDRqcaFDtvEdTohPZ"],rightJoints:["ewYXhBGEZue5LMkkkDNb2N"],leftPoint:[-2.4562019044410235,1.3890515176686136,.1],rightPoint:[-2.4562019044410235,-.2960619146671215,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pvG7hHR36xfJmEyp1eS9YY",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:-.7325266634300069,cz:0,lx:1.2388574688675817,ly:.3,lz:20,leftJoints:["pvG7hHR36xfJmEyp1eS9YY"],rightJoints:["5TCNcDuH6LTN7MuR8NFXaf"],leftPoint:[-2.4562019044410235,-.2960619146671215,.1],rightPoint:[-1.577133124129496,-1.1689914121928924,.1],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ewYXhBGEZue5LMkkkDNb2N",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.7345405315369007,cy:-1.1689914121928924,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["ewYXhBGEZue5LMkkkDNb2N"],rightJoints:["jF6FEFY4L9ZBSgjp7949eF"],leftPoint:[-1.577133124129496,-1.1689914121928924,.1],rightPoint:[.10805206105569454,-1.1689914121928924,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5TCNcDuH6LTN7MuR8NFXaf",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5293483573519921,cy:1.7799570943946443,cz:0,lx:1.1915805038063918,ly:.3,lz:20,leftJoints:["b3SjNidDoApoDQgAZjBhRR"],rightJoints:["adnnHLPEXD64e7HP26zx36"],leftPoint:[.9506446536482898,1.3586787363107105,.1],rightPoint:[.10805206105569454,2.201235452478578,.1],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oNTQ9kGJLR6NE6X37waKe5",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.9506446536482898,cy:.5161220201428429,cz:0,lx:1.6851134323357353,ly:.3,lz:20,leftJoints:["jF6FEFY4L9ZBSgjp7949eF"],rightJoints:["oNTQ9kGJLR6NE6X37waKe5"],leftPoint:[.9506446536482898,-.3264346960250246,.1],rightPoint:[.9506446536482898,1.3586787363107105,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"b3SjNidDoApoDQgAZjBhRR",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5296100327657101,cy:-.7475180231228342,cz:0,lx:1.192226389921747,ly:.3,lz:20,leftJoints:["5TCNcDuH6LTN7MuR8NFXaf"],rightJoints:["b3SjNidDoApoDQgAZjBhRR"],leftPoint:[.10805206105569454,-1.1689914121928924,.1],rightPoint:[.9511680044757185,-.32604463405277606,.1],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jF6FEFY4L9ZBSgjp7949eF",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Foundation",cx:27.7105671464116,cy:-2.6420189029493315,cz:.05,lx:4.989784328698819,ly:4.552797399247233,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"idmo7S3eXBpD6VWYDG7diy",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["4N88hDYexmoMCfgkuoD5Rh","2Ew2MEjMkmHhJiQ9oqAGU2","npFbHBHE2K2JqNLhKJ6X3t","63M4Ay9XbnqNvAk8QywH63","cJ3MHxSdHF6NBdtBsFYUrC","pkGthR3DucyAx4LwcC1Kdd","myGwrCaTTUQ5A7LpQkLGdD","167KXvNm8cDcHPx8xW946K"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"ask5m4JZ2uoEk2cEnnLbsK",rise:0,ceiling:!1},{type:"Wall",cx:-.6463414312406925,cy:1.7491373104519843,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["p9FmVKK28qciXfgD3M1K6V"],rightJoints:["nApCmMqRMThE5A5HdfM3dh"],leftPoint:[.06592873842799918,1.7491373104519834,.1],rightPoint:[-1.3586116009093843,1.7491373104519843,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fRXGTknc5ZYRa28V8BWwuh",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:1.4187885996411662,cz:0,lx:.9943468188665976,ly:.3,lz:40,leftJoints:["fRXGTknc5ZYRa28V8BWwuh"],rightJoints:["4KAheoavQjSxkpwUJhTcg7"],leftPoint:[-1.3586116009093843,1.7491373104519843,.1],rightPoint:[-2.1017162457963963,1.0884398888303481,.1],relativeAngle:-2.4148300779771343,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nApCmMqRMThE5A5HdfM3dh",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-2.1017162457963963,cy:.4030347409529105,cz:0,lx:1.370810295754875,ly:.3,lz:40,leftJoints:["nApCmMqRMThE5A5HdfM3dh"],rightJoints:["6UtLwWPfxSz1Nn8LJyUZiD"],leftPoint:[-2.1017162457963963,1.0884398888303481,.1],rightPoint:[-2.1017162457963963,-.2823704069245272,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4KAheoavQjSxkpwUJhTcg7",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:-.6374268439911468,cz:0,lx:1.0278447388893002,ly:.3,lz:40,leftJoints:["4KAheoavQjSxkpwUJhTcg7"],rightJoints:["ppMSBZRCq12eT8z3NB6hMS"],leftPoint:[-2.1017162457963963,-.2823704069245272,.1],rightPoint:[-1.3586116009093843,-.9924832810577664,.1],relativeAngle:-.7626994937110066,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6UtLwWPfxSz1Nn8LJyUZiD",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-.6463414312406925,cy:-.9924832810577664,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["6UtLwWPfxSz1Nn8LJyUZiD"],rightJoints:["dQ7dD99j57UBUw5JhK5Ym8"],leftPoint:[-1.3586116009093843,-.9924832810577664,.1],rightPoint:[.06592873842799918,-.9924832810577664,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ppMSBZRCq12eT8z3NB6hMS",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4220638232623486,cy:1.4064347365132654,cz:0,lx:.9884882454216453,ly:.3,lz:40,leftJoints:["iNFasQAxKLM2g211nuNb2z"],rightJoints:["fRXGTknc5ZYRa28V8BWwuh"],leftPoint:[.778198908096698,1.0637321625745466,.1],rightPoint:[.06592873842799918,1.7491373104519843,.1],relativeAngle:2.375413341461377,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9FmVKK28qciXfgD3M1K6V",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.778198908096698,cy:.37832701469710894,cz:0,lx:1.3708102957548751,ly:.3,lz:40,leftJoints:["dQ7dD99j57UBUw5JhK5Ym8"],rightJoints:["p9FmVKK28qciXfgD3M1K6V"],leftPoint:[.778198908096698,-.3070781331803287,.1],rightPoint:[.778198908096698,1.0637321625745466,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iNFasQAxKLM2g211nuNb2z",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4222850257663353,cy:-.6496220528239478,cz:0,lx:.9890270478638401,ly:.3,lz:40,leftJoints:["ppMSBZRCq12eT8z3NB6hMS"],rightJoints:["iNFasQAxKLM2g211nuNb2z"],leftPoint:[.06592873842799918,-.9924832810577664,.1],rightPoint:[.7786413131046714,-.3067608245901292,.1],relativeAngle:.7661003289655364,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dQ7dD99j57UBUw5JhK5Ym8",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Foundation",cx:27.6576948812141,cy:-2.506928881033054,cz:.05,lx:4.268844692534827,ly:3.6205625940120694,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nSuM9UkMkLHBgCAuUp64m1",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["p9FmVKK28qciXfgD3M1K6V","fRXGTknc5ZYRa28V8BWwuh","nApCmMqRMThE5A5HdfM3dh","4KAheoavQjSxkpwUJhTcg7","6UtLwWPfxSz1Nn8LJyUZiD","ppMSBZRCq12eT8z3NB6hMS","dQ7dD99j57UBUw5JhK5Ym8","iNFasQAxKLM2g211nuNb2z"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",id:"8T3htfZzkyzGKAg9MjWEi4",rise:13.522672727906091,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["b3SjNidDoApoDQgAZjBhRR","oNTQ9kGJLR6NE6X37waKe5","adnnHLPEXD64e7HP26zx36","p8peNzDRqcaFDtvEdTohPZ","pvG7hHR36xfJmEyp1eS9YY","ewYXhBGEZue5LMkkkDNb2N","5TCNcDuH6LTN7MuR8NFXaf","jF6FEFY4L9ZBSgjp7949eF"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",id:"dyG5Lv9BjBabdoCAJRrzex",rise:0,ceiling:!1},{type:"Wall",cx:-.7345405315369007,cy:2.2012354524785778,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["wt8f2UuyWEu5744tfT81tN"],rightJoints:["mUct1Mv8YXbfrstcjehPpa"],leftPoint:[.10805206105569454,2.2012354524785778,.1],rightPoint:[-1.577133124129496,2.201235452478578,.1],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1A1n4avbSRXWKghQMw9QmS",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:1.795143485073596,cz:0,lx:1.19683109271183,ly:.3,lz:20,leftJoints:["1A1n4avbSRXWKghQMw9QmS"],rightJoints:["5WJdP5E99dMPaLFTQ6cg6Q"],leftPoint:[-1.577133124129496,2.201235452478578,.1],rightPoint:[-2.4562019044410235,1.3890515176686136,.1],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mUct1Mv8YXbfrstcjehPpa",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.4562019044410235,cy:.546494801500746,cz:0,lx:1.685113432335735,ly:.3,lz:20,leftJoints:["mUct1Mv8YXbfrstcjehPpa"],rightJoints:["trsYgSjY5YRLrdedvaJSHE"],leftPoint:[-2.4562019044410235,1.3890515176686136,.1],rightPoint:[-2.4562019044410235,-.2960619146671215,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5WJdP5E99dMPaLFTQ6cg6Q",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:-.7325266634300069,cz:0,lx:1.2388574688675817,ly:.3,lz:20,leftJoints:["5WJdP5E99dMPaLFTQ6cg6Q"],rightJoints:["1XHXV2QxJeTydiieFTLRAN"],leftPoint:[-2.4562019044410235,-.2960619146671215,.1],rightPoint:[-1.577133124129496,-1.1689914121928924,.1],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"trsYgSjY5YRLrdedvaJSHE",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.7345405315369007,cy:-1.1689914121928924,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["trsYgSjY5YRLrdedvaJSHE"],rightJoints:["e41wz75u2ryRdJixSo4bbC"],leftPoint:[-1.577133124129496,-1.1689914121928924,.1],rightPoint:[.10805206105569454,-1.1689914121928924,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1XHXV2QxJeTydiieFTLRAN",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5293483573519921,cy:1.7799570943946443,cz:0,lx:1.1915805038063918,ly:.3,lz:20,leftJoints:["rwkRVKiYfYKkrL5fSm48ht"],rightJoints:["1A1n4avbSRXWKghQMw9QmS"],leftPoint:[.9506446536482898,1.3586787363107105,.1],rightPoint:[.10805206105569454,2.201235452478578,.1],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wt8f2UuyWEu5744tfT81tN",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.9506446536482898,cy:.5161220201428429,cz:0,lx:1.6851134323357353,ly:.3,lz:20,leftJoints:["e41wz75u2ryRdJixSo4bbC"],rightJoints:["wt8f2UuyWEu5744tfT81tN"],leftPoint:[.9506446536482898,-.3264346960250246,.1],rightPoint:[.9506446536482898,1.3586787363107105,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rwkRVKiYfYKkrL5fSm48ht",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5296100327657101,cy:-.7475180231228342,cz:0,lx:1.192226389921747,ly:.3,lz:20,leftJoints:["1XHXV2QxJeTydiieFTLRAN"],rightJoints:["rwkRVKiYfYKkrL5fSm48ht"],leftPoint:[.10805206105569454,-1.1689914121928924,.1],rightPoint:[.9511680044757185,-.32604463405277606,.1],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e41wz75u2ryRdJixSo4bbC",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{id:"oxncVFS4dMKc2b6nwpauSP",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["rwkRVKiYfYKkrL5fSm48ht","wt8f2UuyWEu5744tfT81tN","1A1n4avbSRXWKghQMw9QmS","mUct1Mv8YXbfrstcjehPpa","5WJdP5E99dMPaLFTQ6cg6Q","trsYgSjY5YRLrdedvaJSHE","1XHXV2QxJeTydiieFTLRAN","e41wz75u2ryRdJixSo4bbC"],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-26.000122008937623,cy:-2.4456470612698347,cz:.05,lx:4.989784328698819,ly:4.552797399247233,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9CoHzygyKEYpDGTpmZP3qF",selected:!1},{type:"Wall",cx:-.20148632007026634,cy:1.8550497672374595,cz:0,lx:1.6851851851851931,ly:.3,lz:30,leftJoints:["rGMwJ6KNdYyNwmQKhW2Nh4"],rightJoints:["oRNf7bY3AJx3zVpaTdb4zu"],leftPoint:[.6411062725223289,1.8550497672374595],rightPoint:[-1.0440789126628616,1.85504976723746],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9GySPDZNNZvFp6JaddRiDB",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:1.4489577998324776,cz:0,lx:1.19683109271183,ly:.3,lz:30,leftJoints:["9GySPDZNNZvFp6JaddRiDB"],rightJoints:["4nY35MHMDAs2QdKy4qH4ya"],leftPoint:[-1.0440789126628616,1.85504976723746],rightPoint:[-1.9231476929743891,1.0428658324274953],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oRNf7bY3AJx3zVpaTdb4zu",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.9231476929743891,cy:.20030911625962777,cz:0,lx:1.685113432335735,ly:.3,lz:30,leftJoints:["oRNf7bY3AJx3zVpaTdb4zu"],rightJoints:["wYoS3whcRTi53dM2ct7qM2"],leftPoint:[-1.9231476929743891,1.0428658324274953],rightPoint:[-1.9231476929743891,-.6422475999082398],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4nY35MHMDAs2QdKy4qH4ya",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:-1.0787123486711252,cz:0,lx:1.2388574688675817,ly:.3,lz:30,leftJoints:["4nY35MHMDAs2QdKy4qH4ya"],rightJoints:["mCZwmWyb4fsNj2wmYQBvsz"],leftPoint:[-1.9231476929743891,-.6422475999082398],rightPoint:[-1.0440789126628616,-1.5151770974340102],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wYoS3whcRTi53dM2ct7qM2",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.20148632007026634,cy:-1.5151770974340102,cz:0,lx:1.6851851851851931,ly:.3,lz:30,leftJoints:["wYoS3whcRTi53dM2ct7qM2"],rightJoints:["5kERhDJVYnRwidcZHzNwPz"],leftPoint:[-1.0440789126628616,-1.5151770974340102],rightPoint:[.6411062725223289,-1.5151770974340102],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mCZwmWyb4fsNj2wmYQBvsz",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0624025688186265,cy:1.433771409153526,cz:0,lx:1.1915805038063918,ly:.3,lz:30,leftJoints:["6prLNGnRe7BKvuxjsqwhNV"],rightJoints:["9GySPDZNNZvFp6JaddRiDB"],leftPoint:[1.483698865114924,1.0124930510695922],rightPoint:[.6411062725223289,1.85504976723746],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rGMwJ6KNdYyNwmQKhW2Nh4",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.483698865114924,cy:.16993633490172466,cz:0,lx:1.6851134323357353,ly:.3,lz:30,leftJoints:["5kERhDJVYnRwidcZHzNwPz"],rightJoints:["rGMwJ6KNdYyNwmQKhW2Nh4"],leftPoint:[1.483698865114924,-.6726203812661429],rightPoint:[1.483698865114924,1.0124930510695922],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6prLNGnRe7BKvuxjsqwhNV",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0626642442323444,cy:-1.0937037083639525,cz:0,lx:1.192226389921747,ly:.3,lz:30,leftJoints:["mCZwmWyb4fsNj2wmYQBvsz"],rightJoints:["6prLNGnRe7BKvuxjsqwhNV"],leftPoint:[.6411062725223289,-1.5151770974340102],rightPoint:[1.4842222159423528,-.6722303192938943],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5kERhDJVYnRwidcZHzNwPz",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{id:"uMr4G8iwQhvVEE8TbWYbgJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["5kERhDJVYnRwidcZHzNwPz","6prLNGnRe7BKvuxjsqwhNV","rGMwJ6KNdYyNwmQKhW2Nh4","9GySPDZNNZvFp6JaddRiDB","oRNf7bY3AJx3zVpaTdb4zu","4nY35MHMDAs2QdKy4qH4ya","wYoS3whcRTi53dM2ct7qM2","mCZwmWyb4fsNj2wmYQBvsz"],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-26.499667294833905,cy:-2.142020498769739,cz:.1,lx:7.862239275491355,ly:8.18645532809304,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1oxk3P52oSn4HGaJ5d21cE",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:-.6463414312406925,cy:1.7491373104519843,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["mMt5DmNXZy5oG4vq89vafC"],rightJoints:["4p4RhAQUE1YZ6FvTNz5vv4"],leftPoint:[.06592873842799918,1.7491373104519834,.1],rightPoint:[-1.3586116009093843,1.7491373104519843,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nr2YdH7dGwCs9FLqqqGjFg",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:1.4187885996411662,cz:0,lx:.9943468188665976,ly:.3,lz:40,leftJoints:["nr2YdH7dGwCs9FLqqqGjFg"],rightJoints:["mLwkBCLjpPZP6KYK5Bt7J8"],leftPoint:[-1.3586116009093843,1.7491373104519843,.1],rightPoint:[-2.1017162457963963,1.0884398888303481,.1],relativeAngle:-2.4148300779771343,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4p4RhAQUE1YZ6FvTNz5vv4",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-2.1017162457963963,cy:.4030347409529105,cz:0,lx:1.370810295754875,ly:.3,lz:40,leftJoints:["4p4RhAQUE1YZ6FvTNz5vv4"],rightJoints:["7uWfnz1ukohHZ8q7Z4KWAP"],leftPoint:[-2.1017162457963963,1.0884398888303481,.1],rightPoint:[-2.1017162457963963,-.2823704069245272,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mLwkBCLjpPZP6KYK5Bt7J8",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:-.6374268439911468,cz:0,lx:1.0278447388893002,ly:.3,lz:40,leftJoints:["mLwkBCLjpPZP6KYK5Bt7J8"],rightJoints:["wynoJj85BW9QJZxa23rRom"],leftPoint:[-2.1017162457963963,-.2823704069245272,.1],rightPoint:[-1.3586116009093843,-.9924832810577664,.1],relativeAngle:-.7626994937110066,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7uWfnz1ukohHZ8q7Z4KWAP",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-.6463414312406925,cy:-.9924832810577664,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["7uWfnz1ukohHZ8q7Z4KWAP"],rightJoints:["kCyrQp6qPZF1NC78PVWkyR"],leftPoint:[-1.3586116009093843,-.9924832810577664,.1],rightPoint:[.06592873842799918,-.9924832810577664,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wynoJj85BW9QJZxa23rRom",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4220638232623486,cy:1.4064347365132654,cz:0,lx:.9884882454216453,ly:.3,lz:40,leftJoints:["ho9ZWX9Y7gps9CuiwCZxjF"],rightJoints:["nr2YdH7dGwCs9FLqqqGjFg"],leftPoint:[.778198908096698,1.0637321625745466,.1],rightPoint:[.06592873842799918,1.7491373104519843,.1],relativeAngle:2.375413341461377,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mMt5DmNXZy5oG4vq89vafC",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.778198908096698,cy:.37832701469710894,cz:0,lx:1.3708102957548751,ly:.3,lz:40,leftJoints:["kCyrQp6qPZF1NC78PVWkyR"],rightJoints:["mMt5DmNXZy5oG4vq89vafC"],leftPoint:[.778198908096698,-.3070781331803287,.1],rightPoint:[.778198908096698,1.0637321625745466,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ho9ZWX9Y7gps9CuiwCZxjF",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4222850257663353,cy:-.6496220528239478,cz:0,lx:.9890270478638401,ly:.3,lz:40,leftJoints:["wynoJj85BW9QJZxa23rRom"],rightJoints:["ho9ZWX9Y7gps9CuiwCZxjF"],leftPoint:[.06592873842799918,-.9924832810577664,.1],rightPoint:[.7786413131046714,-.3067608245901292,.1],relativeAngle:.7661003289655364,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kCyrQp6qPZF1NC78PVWkyR",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{id:"eGKywH11tWPx9igpC5XjNU",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["mMt5DmNXZy5oG4vq89vafC","nr2YdH7dGwCs9FLqqqGjFg","4p4RhAQUE1YZ6FvTNz5vv4","mLwkBCLjpPZP6KYK5Bt7J8","7uWfnz1ukohHZ8q7Z4KWAP","wynoJj85BW9QJZxa23rRom","kCyrQp6qPZF1NC78PVWkyR","ho9ZWX9Y7gps9CuiwCZxjF"],selected:!1,rise:13.522672727906091,ceiling:!1},{type:"Foundation",cx:-26.07251778331903,cy:-2.351761746510464,cz:.05,lx:4.268844692534827,ly:3.6205625940120694,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9Y1kU3q99HMAW1GDxevTYM",selected:!1},{type:"Wall",cx:-.9902356029479495,cy:-11.912514576226425,cz:2.268765007024547,lx:36.926563179741635,ly:.5,lz:17,leftJoints:["rmJMuUkEt1MeMCUMuSJyMP"],rightJoints:["phirdj4sqaQKeToCxzfiMH"],leftPoint:[-19.45351719281877,-11.912514576226423,.1],rightPoint:[17.47304598692287,-11.912514576226428,.1],relativeAngle:-14431536702349665e-32,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i77w1Es8Z5SjkjpQ5nMhD5",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Door",cx:0,cy:0,cz:-.21875,lx:.951583767418624,ly:0,lz:.5625,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"mWaGM2hsTBxoCRqCfarD1y",parentId:"i77w1Es8Z5SjkjpQ5nMhD5",foundationId:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Wall",cx:17.47304598692286,cy:-4.836753855231592,cz:0,lx:14.151521441989672,ly:.5,lz:17,leftJoints:["i77w1Es8Z5SjkjpQ5nMhD5"],rightJoints:[],leftPoint:[17.47304598692287,-11.912514576226428,.1],rightPoint:[17.473045986922852,2.239006865763245,.1],relativeAngle:1.570796326794898,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"phirdj4sqaQKeToCxzfiMH",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Wall",cx:-19.453517192818786,cy:-4.836753855231592,cz:0,lx:14.151521441989672,ly:.5,lz:17,leftJoints:[],rightJoints:["i77w1Es8Z5SjkjpQ5nMhD5"],leftPoint:[-19.453517192818783,2.239006865763245,.1],rightPoint:[-19.45351719281879,-11.912514576226428,.1],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rmJMuUkEt1MeMCUMuSJyMP",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Wall",cx:-.9902356029479567,cy:2.239006865763245,cz:0,lx:36.92656317974165,ly:.5,lz:17,leftJoints:["phirdj4sqaQKeToCxzfiMH"],rightJoints:["rmJMuUkEt1MeMCUMuSJyMP"],leftPoint:[17.47304598692287,2.239006865763245,.1],rightPoint:[-19.453517192818783,2.239006865763245,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eKjiWm3px73qKLcoG9tGHu",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:null,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Door",cx:-.006429620050125837,cy:0,cz:-.21875,lx:.9387245273183722,ly:0,lz:.5625,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"dhr8kv5642kt62iFhTt4ta",parentId:"eKjiWm3px73qKLcoG9tGHu",foundationId:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Foundation",cx:.9431450312565914,cy:3.149229192376307,cz:.05,lx:41.18193719933953,ly:25.196736647897943,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Mansard",roofStructure:"Default",wallsId:["phirdj4sqaQKeToCxzfiMH"],ridgeWidth:2.66901172469158,textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",id:"vL7dGWufEhTghRwUx8yTvj",rise:1.907584707016376,ceiling:!1},{type:"Human",name:"Jiya",cx:-18.787647876406897,cy:-18.538338993489504,cz:.125,lx:.6,ly:.6,lz:1.74,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"muPJhyAEwPwvd29CyHNPTv",selected:!1},{type:"Tree",name:"Coconut",cx:24.642500087694035,cy:-15.595852113993274,cz:.12499999999999645,lx:7.10302446035018,lz:11.247303362702601,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"fjFxbSnebLaGdvEjgFeKBY",selected:!1},{type:"Tree",name:"Coconut",cx:21.66117439174871,cy:-16.376771590483912,cz:.125,lx:4.8301750266215455,lz:7.467800914861559,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"fJBtdZnifxUnAi1A2mQVwv",selected:!1}],Iun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[13.204078062477329,8.198113820431859,8738290977654438e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[13.204078062477329,8.197963813764718,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[40.16161458870258,-83.52840108412623,20.640119356575983],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:12.604988194492185,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#8c9763",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[3.0849566827898878,4.932309755028921,20.640119356575976],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:2.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-4,y:10,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1254,y:272,width:600,height:360}},zun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Dun=1,Eun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},kun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Fun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Lun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Wun=[],Nun={docid:bun,time:Sun,timestamp:Tun,userid:Pun,owner:Cun,email:Run,world:Hun,elements:Mun,view:Iun,graphState:zun,evolutionMethod:Dun,solarPanelArrayLayoutParams:Eun,solarPanelArrayLayoutConstraints:kun,evolutionaryAlgorithmState:Fun,economicsParams:Lun,notes:Wun},Uun="kfhYJJUbjvMzonQRyiPc3j",Bun="02/03/2023 08:07 pm",jun=1675472845072,Yun="QWecNcxhyvP6j6sBN11hBsfZDau1",Oun=null,_un=null,Vun={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 9:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Gun=[{ly:17.756863619774798,solarUpdraftTower:{},parentId:"Ground",cx:-2.4293224579513826,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.4049185488212945,type:"Foundation",solarPowerTower:{},lx:35.28188764969263,lz:1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.5,textureType:"Foundation Texture #2",enableGroupMaster:!0,color:"#ffffff"},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:24.269954502361394,relativeAngle:3.141592653589793,lz:6,roofId:"eX962ry384m9Aq9zJiKfY6",ly:.3,rightPoint:[-9.99610487226133,4.83201801478668,1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture #4",leftPoint:[14.27384963010006,4.832018014786678,1],type:"Wall",rightRoofHeight:6,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:6,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:2.1388723789193644,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:4.83201801478668,color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:14.273849630100056,leftPoint:[14.273849630100056,-5.54086475965909,1],cy:-.35442337243620514,leftRoofHeight:6,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[14.27384963010006,4.83201801478668,1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10.37288277444577,normal:[0,0,1],lz:6,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948961,textureType:"Wall Texture #4",rightRoofHeight:6,roofId:"eX962ry384m9Aq9zJiKfY6",color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",centerRoofHeight:[0,9],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{lx:10.37288277444577,windows:[],lz:6,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"eX962ry384m9Aq9zJiKfY6",selected:!1,cy:-.35442337243620514,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-9.99610487226133,-5.54086475965909,1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture #4",rightRoofHeight:6,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948968,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-9.99610487226133,4.83201801478668,1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:6,ly:.3,cx:-9.99610487226133,color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",centerRoofHeight:[0,9],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{showLabel:!1,cx:2.1388723789193644,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[14.27384963010006,-5.54086475965909,1],cz:2.268765007024547,textureType:"Wall Texture #4",cy:-5.54086475965909,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"eX962ry384m9Aq9zJiKfY6",leftPoint:[-9.99610487226133,-5.54086475965909,1],normal:[0,0,1],ly:.3,lz:6,leftRoofHeight:6,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:6,lx:24.269954502361394,color:"#ffffff",wallStructure:"Default",opacity:0,studSpacing:100,studColor:"#666666",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-1.8995410156020984,cy:1.1382243316181326,cz:2.2408122612280286,lx:3.053187061305774,ly:.2,lz:12.024186118737006,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[-.37294748494921137,1.1382243316181326,.07664429931579812],rightPoint:[-3.4261345462549855,1.1382243316181326,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.37294748494921137,cy:-.10216350253359563,cz:1.9496749649980285,lx:2.4807756683034574,ly:.2,lz:12.024186118737006,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[-.37294748494921315,-1.3425513366853248,.07664429931579812],rightPoint:[-.37294748494921137,1.1382243316181326,.07664429931579812],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,wallStructure:"Default",opacity:.5,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-3.4261345462549855,cy:-.10216350253359563,cz:2.228839888904333,lx:2.4807756683034574,ly:.2,lz:12.024186118737006,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-3.4261345462549855,1.1382243316181326,.07664429931579812],rightPoint:[-3.4261345462549855,-1.3425513366853248,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-1.8995410156020984,cy:-1.3425513366853248,cz:2.268765007024547,lx:3.053187061305774,ly:.2,lz:12.024186118737006,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-3.4261345462549855,-1.3425513366853248,.07664429931579812],rightPoint:[-.37294748494921137,-1.3425513366853248,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Foundation",cx:14.094080413269129,cy:.15570536150984227,cz:.05,lx:8.775727447038646,ly:4.909042441548677,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!1,color:"#ffffff"},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Pyramid",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG","2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u1sPtasg3hWUinAjQbYwBP",sideColor:"#4d4d4d",rise:2.0481021935471038,ceiling:!1},{type:"Window",cx:.0021539197282083927,cy:.1,cz:.3488182697258943,lx:.5686474602805061,ly:.2,lz:.18392000793749944,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"62Gv8U29wFJyJf1vgeLMyo",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Wall",cx:-.20317717304724836,cy:.8008815905246398,cz:2.2408122612280286,lx:1.7317721396367636,ly:.2,lz:12.024186118737006,leftJoints:["dzLroXC8UBmujXxPj58BnJ"],rightJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],leftPoint:[.6627088967711334,.8008815905246398,0],rightPoint:[-1.0690632428656301,.8008815905246398,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9CKGzf7taYbb5TxpshE7KA",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.6627088967711334,cy:.06442649426996133,cz:2.2301039869226305,lx:1.472910192509357,ly:.2,lz:12.024186118737006,leftJoints:["gH8a7zMeyH4srn6fpqovLp"],rightJoints:["9CKGzf7taYbb5TxpshE7KA"],leftPoint:[.6627088967711331,-.6720286019847171,0],rightPoint:[.6627088967711336,.8008815905246398,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dzLroXC8UBmujXxPj58BnJ",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",wallStructure:"Default",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-1.0690632428656301,cy:.06442649426996133,cz:2.228839888904333,lx:1.472910192509357,ly:.2,lz:12.024186118737006,leftJoints:["9CKGzf7taYbb5TxpshE7KA"],rightJoints:["gH8a7zMeyH4srn6fpqovLp"],leftPoint:[-1.0690632428656301,.8008815905246398,0],rightPoint:[-1.0690632428656301,-.6720286019847171,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2AP7zuBsHXSx9vjaaQ41Sa",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.20317717304724825,cy:-.6720286019847171,cz:2.268765007024547,lx:1.7317721396367638,ly:.2,lz:12.024186118737006,leftJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],rightJoints:["dzLroXC8UBmujXxPj58BnJ"],leftPoint:[-1.0690632428656301,-.6720286019847171,0],rightPoint:[.6627088967711336,-.6720286019847171,0],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gH8a7zMeyH4srn6fpqovLp",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"14aRqq6MKm9VsEB7xehwCw",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #7",thickness:.15,wallsId:["gH8a7zMeyH4srn6fpqovLp","dzLroXC8UBmujXxPj58BnJ","9CKGzf7taYbb5TxpshE7KA","2AP7zuBsHXSx9vjaaQ41Sa"],selected:!1,sideColor:"#4d4d4d",rise:7.313111372629006,ceiling:!1},{type:"Foundation",cx:12.425615366004104,cy:.028931059233684664,cz:.05,lx:3.229114860580372,ly:2.221848349715204,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7jmzUaUYBWVbxJMLM3ukrN",selected:!1},{type:"Human",name:"Jaye",cx:16.450422145232615,cy:-.22113841806491535,cz:.5,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"iDEwVvzHLgt4QuBLaRKJtz",selected:!1,ly:.55},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eX962ry384m9Aq9zJiKfY6",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],sideColor:"#4d4d4d",rise:3,ceiling:!1},{type:"Door",cx:-8950612010673349e-32,cy:0,cz:-.3331657120178574,lx:.8061994583201278,ly:0,lz:.3336685759642853,textureType:"Door Texture #5",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ekcJVu2iDNfD8vCRPJWcfY",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3856208622982074,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"9oFXDcsdcyJ89HEsb2DDAG",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.24101303893637963,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssU5SYZXCGdgbbL6FKEC5P",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.24101303893637963,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fptVfz87nopSTdqFchXqam",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3856208622982074,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dBjY8chWcXqTSEjTPuyYBe",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.24101303893637963,cy:.1,cz:.375,lx:.09640521557455185,ly:.3,lz:.4166666666666667,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"ukFf3NbtSoWEm19XdABfLF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.24101303893637963,cy:.1,cz:.375,lx:.09640521557455185,ly:.3,lz:.4166666666666667,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e66yZnH635KK4nUZeZJouj",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.004820260778727587,cy:.1,cz:.5500000000000002,lx:.1253267802469174,ly:.3,lz:.6999999999999998,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8FUv4v48DhXb1UYjQUTX7D",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2892156467236556,cy:.1,cz:0,lx:.1928104311491037,ly:.3,lz:.5,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5yZFsPzLz262PvuKKqo6BT",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Window",cx:.2892156467236556,cy:.1,cz:0,lx:.1928104311491037,ly:.3,lz:.5,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pRx46Qg86s1FgV9Tkkwhkb",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.13496730180437258,ly:0,lz:.4166666666666667,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Zxx9R9RT39QbRUhwQji79",doorType:"Default",archHeight:1,filled:!0},{type:"Cuboid",cx:15.482678805847527,cy:.03501810630543489,cz:.5,lx:.5,ly:3,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"7HoCBk9FUvPFeTLHCCJTNC"},{type:"Cuboid",cx:15.982678805847527,cy:.03501810630543489,cz:.4,lx:.5,ly:3,lz:.8,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"wT8Ce4Jri1xraPwAe1CNeM",selected:!1},{type:"Cuboid",cx:16.482678805847527,cy:.03501810630543489,cz:.3,lx:.5,ly:3,lz:.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"kygu5kCeJayDbMCovLE74e",selected:!1},{type:"Cuboid",cx:16.982678805847527,cy:.03501810630543489,cz:.2,lx:.5,ly:3,lz:.4,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"x3KMwKP4LZeaVL1t9Sa9pC",selected:!1},{type:"Cuboid",cx:16.454615930533183,cy:-1.723835668236857,cz:.5,lx:2.5,ly:.5,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"dCP1VYfhvq16F8TKTUaTJy",selected:!1},{type:"Cuboid",cx:16.45823999757701,cy:1.798322131122021,cz:.5,lx:2.5,ly:.5,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7CauidfWWfvxRjMT2AFDZ7",selected:!1},{type:"Human",name:"Jamelia",cx:-.11177369144009575,cy:.35103184354339856,cz:.10000000149011612,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"grVotAf51uhbEVGMStvWX3",id:"aT4DrrYnjHCzoD1VbK7qaQ",selected:!1,ly:.65},{type:"Tree",name:"Spruce",cx:-9.332343084456326,cy:-7.670721874044395,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"efGrH4MExjf1MncqygtFYz",selected:!1},{type:"Tree",name:"Spruce",cx:-2.4224793125813298,cy:-7.597212684981861,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mVFRaCS8mpYH1fWycvYh2A",selected:!1},{type:"Tree",name:"Spruce",cx:5.7002860788249174,cy:-7.486948901388057,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"76Tg87omCPA31TcVqXcmTm",selected:!1},{type:"Tree",name:"Spruce",cx:12.904186606949914,cy:-7.413439712325518,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9tspspKKMvyRj8ZAXB1S5M",selected:!1},{type:"Tree",name:"Spruce",cx:-9.185324706331325,cy:6.884097560337873,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jB2hT6s8JMuu4hvTQGpet3",selected:!1},{type:"Tree",name:"Spruce",cx:5.884059051481165,cy:6.773833776744068,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4721EtxPvv42oUzmx3KVyF",selected:!1},{type:"Tree",name:"Spruce",cx:-1.9163053006129438,cy:6.972061722697195,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5JeYYLhDB98wnUERTPXwhK",selected:!1},{type:"Tree",name:"Spruce",cx:12.830677417887415,cy:6.810588371275337,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"muLKxWCdfcK2eTHLBsDxzY",selected:!1},{type:"Cuboid",cx:17.482678805847527,cy:.03501810630543489,cz:.1,lx:.5,ly:3,lz:.2,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"grVotAf51uhbEVGMStvWX3",selected:!1},{type:"Flower",name:"White Flower",cx:15.126182941215411,cy:2.0688216490527616,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oTAnTfR89oZPsyKVkbpY4L",selected:!1},{type:"Flower",name:"White Flower",cx:15.15556957531615,cy:3.2795889445752495,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i17rLiCzdL5NmRJGR4y1CS",selected:!1},{type:"Flower",name:"White Flower",cx:15.217151871229412,cy:4.479113375165792,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cH33zk4JiguncGCgw5dgge",selected:!1},{type:"Flower",name:"White Flower",cx:15.072373579996741,cy:-2.4484335890262776,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"w8aD5THe2gjzneE5VAcSXT",selected:!1},{type:"Flower",name:"White Flower",cx:15.073985679510187,cy:-3.688355208079927,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"onzxSqcVAm3FyLWanpmjH2",selected:!1},{type:"Flower",name:"White Flower",cx:15.176965591305198,cy:-5.044043742265718,cz:.4999999999999991,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"j3jTvCkw7njipy5x4UrSpB",selected:!1},{type:"Flower",name:"Hibiscus",cx:15.090503333801388,cy:2.6795845901554154,cz:.5,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gQ7GqXx4tKL7uBJwLrMcA6",selected:!1},{type:"Flower",name:"Hibiscus",cx:15.11041357320055,cy:3.9081085710241874,cz:.4999999999999991,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6HJcrgKqYqvU7BYpYwf1Se",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.913002609189407,cy:-3.0774482324317782,cz:.5000000000000009,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vyshpZCEierrdgAyXaBcst",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.941871873418721,cy:-4.383327895714419,cz:.5,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kAeRGtsWdmxUoAQPB5P6KJ",selected:!1},{type:"Human",name:"Jade",cx:16.85821378704074,cy:-2.487104433327495,cz:.5,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5quA9K9PbuFux9inPinoZp",selected:!1,ly:.48},{type:"Human",name:"Jett",cx:-.04509947681173543,cy:-.12777417813363456,cz:.300000011920929,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"kygu5kCeJayDbMCovLE74e",id:"qNbt2kqLcnpAuYiCzMr8qu",selected:!1,ly:.6},{type:"Human",name:"Jedi",cx:16.573220428178367,cy:-1.1124659446434038,cz:.5,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gHn3DWePGHkUPuTQBYNFA7",selected:!1,ly:.56},{type:"Human",name:"Jennifer",cx:16.90812280276899,cy:1.1730238573514669,cz:.5,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pkNrn5a7PGHK1vUXoNbNtp",selected:!1,ly:.45},{type:"Window",cx:-.37082887811447396,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qS8bPerGLqgrEhg3VdRMna",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.24721925207631612,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nmpua75umkgQmm3afavHG4",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.12360962603815825,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fN2d9MiAtthczP5v35Bn9Z",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-40245584642661925e-32,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rt5vtqFNGBs4uVevaa5SHr",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.12360962603815745,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iqKTDEyqgoDU5cgt71CFea",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.24721925207631532,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vHTxpdJckKKr3ePx8aFQpY",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3708288781144731,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7MSjvWxXyqcQDbp8fs3ZDw",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.37082887811447396,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5vsADBuvCZtK48YRH9MYR9",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.24721925207631612,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"d6tpsz63SWdyNJ6pv74f1S",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.12360962603815825,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qLXWzVH589njSMD4htbaDZ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-40245584642661925e-32,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rLKBLFR9JVQSkBFbLvtmjw",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.12360962603815745,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3VPrjTctjaZkp9jMcnmk9K",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.24721925207631532,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jXBTXx15DGSCH8grL279or",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3708288781144731,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"58KzRG1iYAZNHC4ZV2DbrP",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1}],Xun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[5.218957131029783,.6180582017777921,6180856740847945e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[5.218957131029783,.6180382008888045,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[22.977248222176474,21.907448743442465,8.268031438861318],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:47.83311959586008,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#696635",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-3.993253335690816,-7.535606531970473,7.708620369560713],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Jun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Kun=1,qun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},$un={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Qun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Zun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},edn=[],tdn={docid:Uun,time:Bun,timestamp:jun,userid:Yun,owner:Oun,email:_un,world:Vun,elements:Gun,view:Xun,graphState:Jun,evolutionMethod:Kun,solarPanelArrayLayoutParams:qun,solarPanelArrayLayoutConstraints:$un,evolutionaryAlgorithmState:Qun,economicsParams:Zun,notes:edn},ndn="u1WXQV62cNL8GXN8gP2Uro",odn="02/03/2023 08:06 pm",idn=1675472763047,rdn="QWecNcxhyvP6j6sBN11hBsfZDau1",adn=null,ldn=null,sdn={solarRadiationHeatmapGridCellSize:1,date:"4/22/2022, 7:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},cdn=[{type:"Wall",cx:-.3764576456166644,cy:.7527432813254578,cz:2.2408122612280286,lx:2.8256001957793133,ly:.2,lz:17.11162413698611,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[1.0363424522729936,.7527432813254578,.07664429931579812],rightPoint:[-1.7892577435063188,.7527432813254578,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:1.03634245227299,cy:-.6129469247080586,cz:1.9496749649980285,lx:2.7313804120670326,ly:.2,lz:17.11162413698611,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[1.03634245227299,-1.9786371307415749,.07664429931579812],rightPoint:[1.0363424522729936,.7527432813254578,.07664429931579812],relativeAngle:1.5707963267948961,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,wallStructure:"Default",opacity:.5,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-1.7892577435063188,cy:-.6129469247080586,cz:2.228839888904333,lx:2.7313804120670326,ly:.2,lz:17.11162413698611,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-1.7892577435063188,.7527432813254578,.07664429931579812],rightPoint:[-1.7892577435063188,-1.9786371307415749,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-.3764576456166644,cy:-1.9786371307415749,cz:2.268765007024547,lx:2.8256001957793133,ly:.2,lz:17.11162413698611,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-1.7892577435063188,-1.9786371307415749,.07664429931579812],rightPoint:[1.0363424522729936,-1.9786371307415749,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Foundation",cx:9.88256564470575,cy:-18.302742621755318,cz:.05,lx:5.358597805586726,ly:4.404021553494953,lz:.10907253340755482,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!1,color:"#ffffff",locked:!1},{type:"Wall",cx:-.5591812718525784,cy:10.613663444712508,cz:2.2408122612280286,lx:1.7651178031601384,ly:.2,lz:17.11162413698611,leftJoints:["dzLroXC8UBmujXxPj58BnJ"],rightJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],leftPoint:[.32337762972749395,10.613663444712508,.09656797003029352],rightPoint:[-1.4417401734326472,10.613663444712508,.09656797003029352],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"9CKGzf7taYbb5TxpshE7KA",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:.32337762972749395,cy:9.751643903669297,cz:2.2301039869226305,lx:1.7240390820864182,ly:.2,lz:17.11162413698611,leftJoints:["gH8a7zMeyH4srn6fpqovLp"],rightJoints:["9CKGzf7taYbb5TxpshE7KA"],leftPoint:[.32337762972749395,8.889624362626087,.09656797003029352],rightPoint:[.32337762972749395,10.613663444712508,.09656797003029352],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"dzLroXC8UBmujXxPj58BnJ",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",wallStructure:"Default",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-1.4417401734326472,cy:9.751643903669297,cz:2.228839888904333,lx:1.7240390820864182,ly:.2,lz:17.11162413698611,leftJoints:["9CKGzf7taYbb5TxpshE7KA"],rightJoints:["gH8a7zMeyH4srn6fpqovLp"],leftPoint:[-1.4417401734326472,10.613663444712508,.09656797003029352],rightPoint:[-1.4417401734326472,8.889624362626087,.09656797003029352],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"2AP7zuBsHXSx9vjaaQ41Sa",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-.5591812718525784,cy:8.889624362626087,cz:2.268765007024547,lx:1.7651178031601384,ly:.2,lz:17.11162413698611,leftJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],rightJoints:["dzLroXC8UBmujXxPj58BnJ"],leftPoint:[-1.4417401734326472,8.889624362626087,.09656797003029352],rightPoint:[.32337762972749395,8.889624362626087,.09656797003029352],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"gH8a7zMeyH4srn6fpqovLp",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Foundation",cx:14.958059471973794,cy:-10.376627749775599,cz:.05,lx:3.9130970991852903,ly:26.13645284205659,lz:.10907253340755482,normal:[0,0,1],rotation:[0,0,2.576026974436725],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7jmzUaUYBWVbxJMLM3ukrN",selected:!1,enableGroupMaster:!1,color:"#ffffff",locked:!1},{type:"Foundation",cx:7.577351540057415,cy:-22.562392942244166,cz:.05,lx:53.002191940731585,ly:17.343791633088202,lz:.1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3JxHzzEsV9Da6tuGXPViKy",color:"#ffffff",locked:!1},{type:"Wall",cx:0,cy:6.071605429917916,cz:0,lx:41.97190103136961,ly:.3,lz:10,relativeAngle:3.141592653589793,leftPoint:[20.985950515684806,6.071605429917916,0],rightPoint:[-20.985950515684806,6.071605429917916,0],leftJoints:["4R59jrQvJmq95aQT2Dv649"],rightJoints:["iLwQ5UBgBL3sonqBcqFoC5"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"eaUtdoPPg5CEenHZ1cZ7yL",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-20.985950515684806,cy:-.25298355957991303,cz:0,lx:12.64917797899566,ly:.3,lz:10,relativeAngle:-1.5707963267948966,leftPoint:[-20.985950515684806,6.071605429917916,0],rightPoint:[-20.985950515684806,-6.577572549077742,0],leftJoints:["eaUtdoPPg5CEenHZ1cZ7yL"],rightJoints:["puEFSm14QZKVxz67Z67N16"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"iLwQ5UBgBL3sonqBcqFoC5",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:0,cy:-6.577572549077742,cz:0,lx:41.97190103136961,ly:.3,lz:10,relativeAngle:0,leftPoint:[-20.985950515684806,-6.577572549077742,0],rightPoint:[20.985950515684806,-6.577572549077742,0],leftJoints:["iLwQ5UBgBL3sonqBcqFoC5"],rightJoints:["4R59jrQvJmq95aQT2Dv649"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"puEFSm14QZKVxz67Z67N16",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:20.985950515684806,cy:-.25298355957991303,cz:0,lx:12.64917797899566,ly:.3,lz:10,relativeAngle:1.5707963267948966,leftPoint:[20.985950515684806,-6.577572549077742,0],rightPoint:[20.985950515684806,6.071605429917916,0],leftJoints:["puEFSm14QZKVxz67Z67N16"],rightJoints:["eaUtdoPPg5CEenHZ1cZ7yL"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"4R59jrQvJmq95aQT2Dv649",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["9CKGzf7taYbb5TxpshE7KA","2AP7zuBsHXSx9vjaaQ41Sa","gH8a7zMeyH4srn6fpqovLp","dzLroXC8UBmujXxPj58BnJ"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,2.576026974436725],parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",id:"uGKYfaStAHZiUBuVtKS6dW",locked:!1,rise:8.555812068493054,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["2RETAxyRMzZBEQkBGms56R","beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"aAQtPcYcdvnjKLxjxpN6fj",locked:!1,rise:1.975489281315383,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Default",wallsId:["eaUtdoPPg5CEenHZ1cZ7yL"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"3pZdU1AL5k6hknNK4gDLPK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Human",name:"Jack",cx:24.03461056644682,cy:-.9488790909164386,cz:.10000000149011613,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"3LWACNGJBDVRSGmB2iRsbK",selected:!1,locked:!1,ly:.42},{type:"Wall",cx:0,cy:6,cz:0,lx:27,ly:.3,lz:10,leftJoints:["bJ26Y2Ztj2wnvSCwMVZbSj"],rightJoints:["iwUy27fkuqc81ipg2dgQZa"],leftPoint:[13.5,6,0],rightPoint:[-13.5,6,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"agFV6snz1JdtWvd4JR2cDW",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-13.5,cy:-.25,cz:0,lx:12.5,ly:.3,lz:10,leftJoints:["agFV6snz1JdtWvd4JR2cDW"],rightJoints:["c7vcy9r1yDujdJxgxp5TzY"],leftPoint:[-13.499999999999998,6,0],rightPoint:[-13.5,-6.5,0],relativeAngle:4.71238898038469,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"iwUy27fkuqc81ipg2dgQZa",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:0,cy:-6.5,cz:0,lx:27,ly:.3,lz:10,leftJoints:["iwUy27fkuqc81ipg2dgQZa"],rightJoints:["bJ26Y2Ztj2wnvSCwMVZbSj"],leftPoint:[-13.5,-6.5,0],rightPoint:[13.5,-6.5,0],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"c7vcy9r1yDujdJxgxp5TzY",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:13.5,cy:-.25,cz:0,lx:12.5,ly:.3,lz:10,leftJoints:["c7vcy9r1yDujdJxgxp5TzY"],rightJoints:["agFV6snz1JdtWvd4JR2cDW"],leftPoint:[13.5,-6.5,0],rightPoint:[13.5,6,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"bJ26Y2Ztj2wnvSCwMVZbSj",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"cHg19Gk5NDmFTLbhEqkpEc",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.5655656791530684],parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["agFV6snz1JdtWvd4JR2cDW"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Foundation",cx:10.745099874695102,cy:-19.099061544436797,cz:.05,lx:34.0956484513338,ly:17.139247765633556,lz:.1,normal:[0,0,1],rotation:[0,0,-.5655656791530684],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aXmgoxjAJPULF92Dwj9wXo",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["rbfyBq5mDVjxhT7cHiZa6r"],rightJoints:["evmZhzFqQUpVbc7Pz1QgMJ"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"wnNdNWw7uCJtb791q2h2kv",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["tFV6qvitr5PH2Ab2oo3oSn"],rightJoints:["wnNdNWw7uCJtb791q2h2kv"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"rbfyBq5mDVjxhT7cHiZa6r",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",wallStructure:"Default",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["wnNdNWw7uCJtb791q2h2kv"],rightJoints:["tFV6qvitr5PH2Ab2oo3oSn"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"evmZhzFqQUpVbc7Pz1QgMJ",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["evmZhzFqQUpVbc7Pz1QgMJ"],rightJoints:["rbfyBq5mDVjxhT7cHiZa6r"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tFV6qvitr5PH2Ab2oo3oSn",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"xgcfKKQgeBMWdofPE3DXN2",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["wnNdNWw7uCJtb791q2h2kv","evmZhzFqQUpVbc7Pz1QgMJ","tFV6qvitr5PH2Ab2oo3oSn","rbfyBq5mDVjxhT7cHiZa6r"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-10.384377691463378,cy:-33.417453285003795,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gddwwsiW9SAwt9BDP8qhGA",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["juENJWiqAWw4xaJKCkBnBu"],rightJoints:["kR4ctZiA4puw1EFB5KiG5E"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"b44mniuvoz9x2PrRVmaHR2",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["gmYm1iNZTPrTFyvZ3zM6wc"],rightJoints:["b44mniuvoz9x2PrRVmaHR2"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"juENJWiqAWw4xaJKCkBnBu",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",wallStructure:"Default",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["b44mniuvoz9x2PrRVmaHR2"],rightJoints:["gmYm1iNZTPrTFyvZ3zM6wc"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"kR4ctZiA4puw1EFB5KiG5E",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kR4ctZiA4puw1EFB5KiG5E"],rightJoints:["juENJWiqAWw4xaJKCkBnBu"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"gmYm1iNZTPrTFyvZ3zM6wc",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"xvCWqbtBHhPfDxKkaUCj1N",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["b44mniuvoz9x2PrRVmaHR2","kR4ctZiA4puw1EFB5KiG5E","gmYm1iNZTPrTFyvZ3zM6wc","juENJWiqAWw4xaJKCkBnBu"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-8.002707095672621,cy:-29.66519620128789,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eTTCEUsedrFiMVxzGXSPUk",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["r3gZsm5d2NUURkeJvNjoh1"],rightJoints:["6gbdPzRZhLL2pFKuqZLzc7"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"h6RcENRcyV9RrecCDiFvpW",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["oFJo6fvJ5KGuFkZ1uaJYjz"],rightJoints:["h6RcENRcyV9RrecCDiFvpW"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"r3gZsm5d2NUURkeJvNjoh1",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",wallStructure:"Default",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["h6RcENRcyV9RrecCDiFvpW"],rightJoints:["oFJo6fvJ5KGuFkZ1uaJYjz"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"6gbdPzRZhLL2pFKuqZLzc7",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["6gbdPzRZhLL2pFKuqZLzc7"],rightJoints:["r3gZsm5d2NUURkeJvNjoh1"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"oFJo6fvJ5KGuFkZ1uaJYjz",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"6gwGsxKD4B1rm1H1Vk3Ngq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["h6RcENRcyV9RrecCDiFvpW","6gbdPzRZhLL2pFKuqZLzc7","oFJo6fvJ5KGuFkZ1uaJYjz","r3gZsm5d2NUURkeJvNjoh1"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-5.621036499881868,cy:-25.912939117571987,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dry3LvTbwVtZ9zC2iXiS6E",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["tuFkkTxMLGJupvdG99JJmE"],rightJoints:["dCPkgeninMwV2CefSv8Tyh"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"5VMupGYdfv6eXLkphmN6Sb",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["f9C4rqMCfriiBEp6cWZTjf"],rightJoints:["5VMupGYdfv6eXLkphmN6Sb"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tuFkkTxMLGJupvdG99JJmE",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",wallStructure:"Default",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5VMupGYdfv6eXLkphmN6Sb"],rightJoints:["f9C4rqMCfriiBEp6cWZTjf"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"dCPkgeninMwV2CefSv8Tyh",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["dCPkgeninMwV2CefSv8Tyh"],rightJoints:["tuFkkTxMLGJupvdG99JJmE"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"f9C4rqMCfriiBEp6cWZTjf",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"vWxd63CkWo4geKwK32Aif7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["5VMupGYdfv6eXLkphmN6Sb","dCPkgeninMwV2CefSv8Tyh","f9C4rqMCfriiBEp6cWZTjf","tuFkkTxMLGJupvdG99JJmE"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-3.2393659040911107,cy:-22.16068203385608,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"teEJ9AmuMs6M9VZiHzT62s",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gwHuE3q3o7hQafGJcQ7Ldx"],rightJoints:["1LixWzKAyzhWp6KyjXV5K9"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"8ATi9fhnsoTYgrRebeda98",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["9xBo23SsCzdw2nMz6XkrRK"],rightJoints:["8ATi9fhnsoTYgrRebeda98"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"gwHuE3q3o7hQafGJcQ7Ldx",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",wallStructure:"Default",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["8ATi9fhnsoTYgrRebeda98"],rightJoints:["9xBo23SsCzdw2nMz6XkrRK"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"1LixWzKAyzhWp6KyjXV5K9",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["1LixWzKAyzhWp6KyjXV5K9"],rightJoints:["gwHuE3q3o7hQafGJcQ7Ldx"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"9xBo23SsCzdw2nMz6XkrRK",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"2igmnqP4fQU8AfDDqEEHxR",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["8ATi9fhnsoTYgrRebeda98","1LixWzKAyzhWp6KyjXV5K9","9xBo23SsCzdw2nMz6XkrRK","gwHuE3q3o7hQafGJcQ7Ldx"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:5.878850875181692,cy:-43.63794559714253,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"w1GQJoXwTctyFPQTHvbCSJ",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gVQBUETgtMy9wnJS5MyAwR"],rightJoints:["kZ3yx1o3MpryY5DEwAHRSu"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"mVXKFfUbKmFXpx4p6d1mu7",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["uXfDQAFqu42CBoR6RERDEE"],rightJoints:["mVXKFfUbKmFXpx4p6d1mu7"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"gVQBUETgtMy9wnJS5MyAwR",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",wallStructure:"Default",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["mVXKFfUbKmFXpx4p6d1mu7"],rightJoints:["uXfDQAFqu42CBoR6RERDEE"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kZ3yx1o3MpryY5DEwAHRSu",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kZ3yx1o3MpryY5DEwAHRSu"],rightJoints:["gVQBUETgtMy9wnJS5MyAwR"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"uXfDQAFqu42CBoR6RERDEE",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"d2Rg3hSVCMgqwYgvySw6Ve",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["mVXKFfUbKmFXpx4p6d1mu7","kZ3yx1o3MpryY5DEwAHRSu","uXfDQAFqu42CBoR6RERDEE","gVQBUETgtMy9wnJS5MyAwR"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:8.26052147097245,cy:-39.88568851342663,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qFjTDh4kdKUejoECGaAtFF",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["4U2FUn1XmkrEQUaPmhvyyA"],rightJoints:["jPqCvMBCkPVvRbVHByK9Sd"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"5zbGDbw5ZL64ZnafnWAddf",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["jsjvgQe8PDECuTtUpZqqPx"],rightJoints:["5zbGDbw5ZL64ZnafnWAddf"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"4U2FUn1XmkrEQUaPmhvyyA",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",wallStructure:"Default",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5zbGDbw5ZL64ZnafnWAddf"],rightJoints:["jsjvgQe8PDECuTtUpZqqPx"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"jPqCvMBCkPVvRbVHByK9Sd",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["jPqCvMBCkPVvRbVHByK9Sd"],rightJoints:["4U2FUn1XmkrEQUaPmhvyyA"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"jsjvgQe8PDECuTtUpZqqPx",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"efiH48pXLfRzfiE8Wi1bdv",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["5zbGDbw5ZL64ZnafnWAddf","jPqCvMBCkPVvRbVHByK9Sd","jsjvgQe8PDECuTtUpZqqPx","4U2FUn1XmkrEQUaPmhvyyA"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:10.6421920667632,cy:-36.13343142971072,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eawHcqEx4ydgKwpfjVv9RR",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kzoM97zxdWMYoEvnY6njBU"],rightJoints:["hCESxuxDssAckoNt8Ysqfa"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"hjQtHP6wU1C98tsKp38NFc",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["rpsA3uefMnrgXZ2ssSvfxV"],rightJoints:["hjQtHP6wU1C98tsKp38NFc"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kzoM97zxdWMYoEvnY6njBU",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",wallStructure:"Default",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["hjQtHP6wU1C98tsKp38NFc"],rightJoints:["rpsA3uefMnrgXZ2ssSvfxV"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"hCESxuxDssAckoNt8Ysqfa",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["hCESxuxDssAckoNt8Ysqfa"],rightJoints:["kzoM97zxdWMYoEvnY6njBU"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"rpsA3uefMnrgXZ2ssSvfxV",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"fyUg5zq8ntfBYqeveZG1Mz",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["hjQtHP6wU1C98tsKp38NFc","hCESxuxDssAckoNt8Ysqfa","rpsA3uefMnrgXZ2ssSvfxV","kzoM97zxdWMYoEvnY6njBU"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:13.023862662553956,cy:-32.381174345994815,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"g52oWNGab2d5tJm7ExTD79",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["vpoRybfzCjbHDw4Zf7t8V7"],rightJoints:["pWk5x2zZNk49mb2AbHyPt9"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"85JuGPRhVTskx5HKKPLWZJ",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["a723GZeeHDaeGxxKov9kNA"],rightJoints:["85JuGPRhVTskx5HKKPLWZJ"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"vpoRybfzCjbHDw4Zf7t8V7",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",wallStructure:"Default",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["85JuGPRhVTskx5HKKPLWZJ"],rightJoints:["a723GZeeHDaeGxxKov9kNA"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"pWk5x2zZNk49mb2AbHyPt9",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["pWk5x2zZNk49mb2AbHyPt9"],rightJoints:["vpoRybfzCjbHDw4Zf7t8V7"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"a723GZeeHDaeGxxKov9kNA",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"uzoWkkSM6BdFkW3tQ9QEeP",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["85JuGPRhVTskx5HKKPLWZJ","pWk5x2zZNk49mb2AbHyPt9","a723GZeeHDaeGxxKov9kNA","vpoRybfzCjbHDw4Zf7t8V7"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:23.539261545507316,cy:-15.785608947862563,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e3sKy7gdQ45ovgtshJNKSh",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["ucyqM28VHCejiYXSBRU74w"],rightJoints:["wCoXQcNBi6mJ5wS4Y6r4VL"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"mRLpMEwUpk6b3VqzxYNaep",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["oqTZ9Y5zqDf3qpPSoAsnfq"],rightJoints:["mRLpMEwUpk6b3VqzxYNaep"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"ucyqM28VHCejiYXSBRU74w",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",wallStructure:"Default",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["mRLpMEwUpk6b3VqzxYNaep"],rightJoints:["oqTZ9Y5zqDf3qpPSoAsnfq"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"wCoXQcNBi6mJ5wS4Y6r4VL",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["wCoXQcNBi6mJ5wS4Y6r4VL"],rightJoints:["ucyqM28VHCejiYXSBRU74w"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"oqTZ9Y5zqDf3qpPSoAsnfq",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"4sAKtdpUfojEauuc9xKUx9",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["mRLpMEwUpk6b3VqzxYNaep","wCoXQcNBi6mJ5wS4Y6r4VL","oqTZ9Y5zqDf3qpPSoAsnfq","ucyqM28VHCejiYXSBRU74w"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:7.4047851687956925,cy:-5.505166586090663,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9NZEpPcimoPFTA7fAmDMQW",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kfCkPxHEQXF9CME4mp5rfJ"],rightJoints:["m1iEhgTKYmokoNeBfUn1Zw"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kywCD23ffmYn7n35c65bvN",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5nYLFT5aCGPe4ESsdg7FAP"],rightJoints:["kywCD23ffmYn7n35c65bvN"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kfCkPxHEQXF9CME4mp5rfJ",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",wallStructure:"Default",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["kywCD23ffmYn7n35c65bvN"],rightJoints:["5nYLFT5aCGPe4ESsdg7FAP"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"m1iEhgTKYmokoNeBfUn1Zw",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["m1iEhgTKYmokoNeBfUn1Zw"],rightJoints:["kfCkPxHEQXF9CME4mp5rfJ"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"5nYLFT5aCGPe4ESsdg7FAP",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"uZ3WYfpisjGExUNhqUQ6GJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["kywCD23ffmYn7n35c65bvN","m1iEhgTKYmokoNeBfUn1Zw","5nYLFT5aCGPe4ESsdg7FAP","kfCkPxHEQXF9CME4mp5rfJ"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:25.920932141298064,cy:-12.03335186414666,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aU7wo9HzTSBezmB9xaSNVe",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["3Yw9eyhMVgXRzWxARHi4qj"],rightJoints:["gLQjrbahvSyZbT7mE7nLTs"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tsTPsXh1D4u1sYk5kevjpw",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["eve2xjCEYcENW3bQKBtFbH"],rightJoints:["tsTPsXh1D4u1sYk5kevjpw"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"3Yw9eyhMVgXRzWxARHi4qj",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",wallStructure:"Default",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["tsTPsXh1D4u1sYk5kevjpw"],rightJoints:["eve2xjCEYcENW3bQKBtFbH"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"gLQjrbahvSyZbT7mE7nLTs",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gLQjrbahvSyZbT7mE7nLTs"],rightJoints:["3Yw9eyhMVgXRzWxARHi4qj"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"eve2xjCEYcENW3bQKBtFbH",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"t86AYAH7J8wQCFq8cXiLAx",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["tsTPsXh1D4u1sYk5kevjpw","gLQjrbahvSyZbT7mE7nLTs","eve2xjCEYcENW3bQKBtFbH","3Yw9eyhMVgXRzWxARHi4qj"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:9.786455764586453,cy:-1.752909502374763,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7JsauhgC1ELukuq9oR7WP3",selected:!1,locked:!1},{type:"Wall",cx:1.1857370908139018,cy:9.993801958880498,cz:0,lx:39.97362197823709,ly:.3,lz:4.929284805861828,leftJoints:["7ZPYuSaC3udPdFwLBc9LcF"],rightJoints:["dHQToxKir9k3FNNhxE7P9U"],leftPoint:[21.172548079932447,9.993801958880498,.049292848058618284],rightPoint:[-18.80107389830464,9.993801958880498,.049292848058618284],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"bMP8c52yyd4ARJDKPf1aWM",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:-18.80107389830464,cy:.044516399695865516,cz:0,lx:19.89857111836926,ly:.3,lz:4.929284805861828,leftJoints:["bMP8c52yyd4ARJDKPf1aWM"],rightJoints:["7MR7F47mpBryE1Ejti6rUy"],leftPoint:[-18.80107389830464,9.993801958880498,.049292848058618284],rightPoint:[-18.80107389830464,-9.904769159488765,.049292848058618284],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"dHQToxKir9k3FNNhxE7P9U",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,centerRoofHeight:[0,8.270872726693463],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:1.1857370908139018,cy:-9.904769159488765,cz:0,lx:39.97362197823709,ly:.3,lz:4.929284805861828,leftJoints:["dHQToxKir9k3FNNhxE7P9U"],rightJoints:["7ZPYuSaC3udPdFwLBc9LcF"],leftPoint:[-18.80107389830464,-9.904769159488765,.049292848058618284],rightPoint:[21.172548079932447,-9.904769159488765,.049292848058618284],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"7MR7F47mpBryE1Ejti6rUy",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:21.172548079932447,cy:.044516399695865516,cz:0,lx:19.89857111836926,ly:.3,lz:4.929284805861828,leftJoints:["7MR7F47mpBryE1Ejti6rUy"],rightJoints:["bMP8c52yyd4ARJDKPf1aWM"],leftPoint:[21.172548079932447,-9.904769159488765,.049292848058618284],rightPoint:[21.172548079932447,9.993801958880498,.049292848058618284],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"7ZPYuSaC3udPdFwLBc9LcF",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,centerRoofHeight:[0,8.270872726693463],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{id:"vQHPZRPjRtVs3kCxxrFEVN",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["bMP8c52yyd4ARJDKPf1aWM"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Foundation",cx:7.4620263843372925,cy:-23.808571879858576,cz:.1,lx:57.05667537827628,ly:36.07153705363366,lz:.2,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",textureType:"Foundation Texture #2",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rmtVJVWrnHvQEaqLr1b9Tf",selected:!1,enableGroupMaster:!0,locked:!1},{type:"Door",cx:.019764130160484145,cy:0,cz:-.35,lx:.3557543428887146,ly:0,lz:.3,textureType:"Door Texture #7",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"5i5aw65ViZQJ6ANMtaYEt3",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3162260825677463,cy:.1,cz:44408920985006264e-33,lx:.1581130412838731,ly:.3,lz:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"gAXs9sJoJF81X2Sdijoe3o",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.35575434288871466,cy:.1,cz:44408920985006264e-33,lx:.15811304128387302,ly:.3,lz:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"agk3V1PDaTw1t7ybFJCTUJ",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.019764130160484145,cy:.1,cz:.1625,lx:.3557543428887146,ly:.3,lz:.575,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"mnCW9Hm1zy48vmk8GxhHip",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:2.25},{type:"Window",cx:.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"dJzbjbMH3V7vVry4QUZJ1h",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aVMji7S1iMqS6e5iGevjST",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4xnBXKk3mzEiVTEU1sUo9z",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vGt71VZQKGWWqARuxaBuHk",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nQw98VMPrH5pKkcEzYqYAr",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oDAHJqV8nu3rm8iXJXkjDo",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.21889434999820076,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"dQtpLnqk4XU6QXdnZwYZ3y",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.1438448585702462,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"fnp6cZDYtVkBgXyRLqoy4k",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"taL5VcYj3uWGDL8xr44zFA",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"36eQAALv2V7tE2Nitdg2Z9",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"j19CocmDx5qUxbi12esWTq",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.1438448585702462,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aNTKQXqg4KFQWerkNfvi67",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.21889434999820076,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7wkeWMuadLGRRHvrhXkgXu",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"pP3XvCSY89vtf8Jf82MA2Q",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"o5mLe8ag3RmgrS6cYio7c2",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"sJP9KeY4DvXEbM21cwfCL6",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"faxjoAqSZje6BEDac2ztM3",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.125,lx:.16,ly:.3,lz:1.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2KQEWZui5HypVTjznRgV1e",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vmXEoXgzaz3BcPRdhwTBNF",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jgVVfzMun1U9KUtjVLXpLW",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7LVpvnWs9aYvqrDqGeRFsz",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0040000000000000036,cy:.1,cz:.14500000000000002,lx:.2,ly:.3,lz:1.05,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"kUvJ29KgoC2Mx2n6oquM7i",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jade",cx:24.498922181392803,cy:.35278398935384025,cz:.10000000149011613,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"8oCpJQ69v59EaR16ZevwwH",selected:!1,locked:!1,ly:.48},{type:"Human",name:"Jennifer",cx:24.15853922395012,cy:-4.360566668970516,cz:.10000000149011613,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"23pVVVaYxcEWbusAdT9bp6",selected:!1,locked:!1,ly:.45},{type:"Human",name:"Jeanette",cx:23.512736665641548,cy:-5.246201365995199,cz:.1000000014901179,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vLrAF4TXaJsxUnvTqvZyhr",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Judd",cx:23.688249777842685,cy:-7.134597873618337,cz:.10000000149011613,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"72RNARnNBupWUTwLyPFi2x",selected:!1,locked:!1,ly:.544},{type:"Flower",name:"Hydrangea",cx:14.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"hxA3iWj7PVq4oxfYivWPDZ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:16.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"em4eb843STnngTiG8Pq4ZG",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:18.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xn9oq6YLSQoRDx2Th897Ey",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:20.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"n5Xm3uZ3yogruAzMr3ekgG",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:12.711504093322223,cy:12.55312249061943,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vGSyjGNkAKGrDeLZUtMvLb",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:15.040744575677394,cy:12.500852726588041,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xdceQ9SQzswYkrUwEtMzsR",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:17.31542920437773,cy:12.41395471892114,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"1diZFF1KGB7XeeLHtoXNtr",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:19.66459729675223,cy:12.4508690521801,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"4Rb2MRXZ3tKBv37PWSvEzQ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-17.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vhFQBJS6Fh7bkaVvXfo1NR",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-15.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"dFZa68UKB2fanAfPxKpSfp",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-13.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"u1q3FxnjwFSpD8qDLT3jLw",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-11.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"i63WTBeMTnSDnxeSuJpFZf",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-9.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xiSxNNSCHQvhBkz8weBtDU",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-7.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"1urqV2akP9gK1CshpjMiad",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-5.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"iBL1h5VnnSJTEgMS6joQZh",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-3.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"rr534i2kNra6AbjGze6tbb",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-17.839350032255844,cy:12.586893239928504,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"gbD24xDaa2k33ZoxvEb6oz",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-15.787787005334005,cy:12.526983753449453,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uBAQNvAScFhk39Y9iwCNjY",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-13.758974118534871,cy:12.689520734967552,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"kPa2FJR2pvHaWxWxA6FLVw",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-11.91848248954889,cy:12.495637874367116,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"qCbupam4PMgJ8bX3HzPiMM",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-9.771115833391356,cy:12.37809450353804,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uMoz3GQoaHbHMecPfBqzkq",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-7.782512420623269,cy:12.558430909387932,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uKXc9jut6dFoRru4RQMPUM",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-5.490189984387705,cy:12.433086575302662,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"iWmJ1E8vNxV24C2rg3YseQ",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-2.9411297348927254,cy:12.354975599770267,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"gTnMje1b6tBrp8YWHbFCqb",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:23.96071696630824,cy:-44.82446487452612,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1WJdNkrobPPSWfLEoaVoK7",selected:!1,locked:!1,flip:!0},{type:"Tree",name:"Magnolia",cx:33.556040711677696,cy:-28.810119661301552,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9PY4aB8JZi8u5zBp4N8KWJ",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:-6.440436625289015,cy:-3.053996336525085,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4GFXCjc87cvCMmXmHyPFgU",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:-11.363079989838765,cy:-10.70167442074012,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"mnYhfWGZdarqEGdoNy3nZY",selected:!1,locked:!1,flip:!0},{type:"Human",name:"Jaye",cx:-9.814032718831394,cy:-16.689844349152544,cz:.10000000149011702,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"2reV16jkVqXG2TtRUqYKXY",selected:!1,locked:!1,ly:.55},{type:"Window",cx:-.3931201493034107,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"w43ATGzZw2efL2uLDpm4P8",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2859055631297533,cy:.1,cz:.32499999999999996,lx:.02382546359414619,ly:.3,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"iZNLiBj11xETGpzE6fwM9U",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.17869097695609581,cy:.1,cz:.32500000000000007,lx:.02382546359414602,ly:.3,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"9AjuE6mwgTZmX4VvbqAs3y",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.08338912257951141,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"fJi9i8gEPxfpsgBYXywEnj",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.07147639078243827,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"925Dk6Ft7JiUDRySfQMrYy",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.17869097695609581,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"a4xwf7BynvydJnSiBM877Z",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2859055631297533,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"ozvNDrL6sKDfgo668mHjk9",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3931201493034107,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"q6g4rybSU63f4mHggAAJRU",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.28590556312975324,cy:.1,cz:.32500000000000007,lx:.023825463594146105,ly:.3,lz:.25000000000000017,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"2rTqwrtxBDgy6QaZefzNsm",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3931201493034107,cy:.1,cz:.325,lx:.023825463594146105,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"bLab7Y2bZ3ran5xf7gqkpy",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3931201493034107,cy:.1,cz:.325,lx:.023825463594146105,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"6BiRTS7hCwUwcWSrYNnhUQ",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.28590556312975324,cy:.1,cz:.325,lx:.023825463594146147,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"7unzgHw9BGUs7eL9a5oKXh",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-3510814778537278e-32,cy:.1,cz:.125,lx:.23716956192580982,ly:.3,lz:1.05,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"iLwQ5UBgBL3sonqBcqFoC5",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"jbGnjsCChKRb1kQuYrUT5d",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jocelyn",cx:-19.644729072809923,cy:-15.043092228016992,cz:.10000000149011702,lx:.4,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"mDGKhZ6QHKAjKHhMgj8e9r",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Jedi",cx:-21.40281107675301,cy:-11.905580437823337,cz:.10000000149011613,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"kKfw47d3CRnoAajE5xamBN",selected:!1,ly:.56,locked:!1},{type:"Human",name:"Joey",cx:-10.626252329426645,cy:-15.36971947531225,cz:.10000000149011525,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"w9rWjW5nMD7ysqTc51hQsW",selected:!1,ly:.462,locked:!1},{type:"Tree",name:"Linden",cx:-28.5283374786377,cy:2.5670594706748773,cz:.09215714161556932,lx:12.56599065387215,lz:17.875438659167433,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"8QYb3yiDqtDAebwAsHj1PL",selected:!1,locked:!1},{type:"Tree",name:"Linden",flip:!0,cx:-1.0744344498561738,cy:-55.986059359035295,cz:0,lx:7.368180679718989,lz:10.847055184453376,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mxWw8g34JBPawafnUyy3eX",selected:!1,locked:!1},{type:"Tree",name:"Linden",flip:!1,cx:-8.805777739086423,cy:-50.96204115065417,cz:0,lx:9.893561641812246,lz:10.847055184453376,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hfHvh9t2Cet9WXvsjAPh7t",selected:!1,locked:!1},{type:"Window",cx:-1375205378309486e-31,cy:.1,cz:.3652487893589756,lx:.353907110246429,ly:.2,lz:.08765970944615396,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2Ly2StWGBYNwBSYafFGNuR",windowType:"Default",archHeight:1},{type:"Window",cx:-32517565688624697e-32,cy:.1,cz:.36524878935897553,lx:.36611524179571514,ly:.2,lz:.08765970944615402,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"v2e9bxX15mdBzVMafhi23N",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3652487893589755,lx:.35390711024642874,ly:.2,lz:.08765970944615412,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"nRNf4jj3t7m3SLG7DzYeL9",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3652487893589755,lx:.36611524179571453,ly:.2,lz:.08765970944615412,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"rE6cHpj3a1a3s58XNqPkDx",windowType:"Default",archHeight:1}],udn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[21.8332121686219,1.6957671677596553,71623250231361926e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[21.8332121686219,1.6956171610724768,150],theme:"Lake",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[31.117746115680333,-61.74530628577921,6.635303925622853],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:11.97473878476758,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#696635",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[8.743444485308892,-20.90776182518235,5.656639637187283],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},ddn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},fdn=1,hdn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},pdn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},gdn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},mdn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ydn=[],Adn={docid:ndn,time:odn,timestamp:idn,userid:rdn,owner:adn,email:ldn,world:sdn,elements:cdn,view:udn,graphState:ddn,evolutionMethod:fdn,solarPanelArrayLayoutParams:hdn,solarPanelArrayLayoutConstraints:pdn,evolutionaryAlgorithmState:gdn,economicsParams:mdn,notes:ydn},wdn="rb7ptdm5a1RqrxS7efVQBm",vdn="05/10/2023 10:24 am",xdn=1683728645588,bdn="QWecNcxhyvP6j6sBN11hBsfZDau1",Sdn=null,Tdn=null,Pdn={solarRadiationHeatmapGridCellSize:2,date:"4/22/2022, 4:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Cdn=[{ly:22.123368787949577,solarUpdraftTower:{},parentId:"Ground",cx:31.92543795669036,id:"m7AH7DcnoGzAq9kryBy4RS",cy:2.1656113002014568,type:"Foundation",solarPowerTower:{},lx:21.251959060399457,lz:.5,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.25,textureType:"No Foundation Texture",enableGroupMaster:!1,color:"#999999",locked:!1},{type:"Human",name:"Jack",cx:-2.477311032723648,cy:-35.3224465130531,cz:.300000011920929,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"bxVgnTyTS3rQB9DZjweZGa",selected:!1,ly:.42,locked:!1},{type:"Wall",cx:-4.882174640318183,cy:3.2723372961326387,cz:0,lx:2.2370509461013435,ly:.1,lz:61,relativeAngle:4.301576093475627,leftPoint:[-4.435486222481405,4.29779752999532,.5],rightPoint:[-5.328863058154962,2.2468770622699576,.5],leftJoints:["twZXBhJnLkQAfkhcdZPvcE"],rightJoints:["6BBNNShnXYdN4Fo6vrLZgS"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pqrUfkTtDCPWZgLQ2ZZY2x",roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-5.328863058154962,cy:.9968770622699568,cz:0,lx:2.5,ly:.1,lz:61,relativeAngle:4.71238898038469,leftPoint:[-5.328863058154962,2.2468770622699568,.5],rightPoint:[-5.328863058154962,-.25312293773004324,.5],leftJoints:["pqrUfkTtDCPWZgLQ2ZZY2x"],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6BBNNShnXYdN4Fo6vrLZgS",roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-3.685486222481405,cy:5.04779752999532,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["o7owRXdGmtoUmGe7aMBfwD"],rightJoints:["pqrUfkTtDCPWZgLQ2ZZY2x"],leftPoint:[-2.935486222481405,5.79779752999532,.5],rightPoint:[-4.435486222481405,4.29779752999532,.5],relativeAngle:3.9269908169872414,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"twZXBhJnLkQAfkhcdZPvcE",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-1.935486222481405,cy:6.29779752999532,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["7oCL7hfQ9Q5pKtbUKfbhxC"],rightJoints:["twZXBhJnLkQAfkhcdZPvcE"],leftPoint:[-.9354862224814049,6.79779752999532,.5],rightPoint:[-2.935486222481405,5.79779752999532,.5],relativeAngle:3.6052402625905993,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"o7owRXdGmtoUmGe7aMBfwD",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:.31451377751859866,cy:6.797797529995318,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["9Qfx6trBssgAGuZJMWpoN4"],rightJoints:["o7owRXdGmtoUmGe7aMBfwD"],leftPoint:[1.5645137775185987,6.79779752999532,.5],rightPoint:[-.9354862224814049,6.797797529995316,.5],relativeAngle:3.141592653589795,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7oCL7hfQ9Q5pKtbUKfbhxC",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.5645137775185987,cy:6.29779752999532,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["nXkkPMC5GnQsGGo6pXGf1J"],rightJoints:["7oCL7hfQ9Q5pKtbUKfbhxC"],leftPoint:[3.5645137775185987,5.79779752999532,.5],rightPoint:[1.5645137775185987,6.79779752999532,.5],relativeAngle:2.677945044588988,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"9Qfx6trBssgAGuZJMWpoN4",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.314513777518599,cy:5.04779752999532,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["ukLTgjquG74WrHxQMTeCGR"],rightJoints:["9Qfx6trBssgAGuZJMWpoN4"],leftPoint:[5.064513777518599,4.29779752999532,.5],rightPoint:[3.5645137775185987,5.79779752999532,.5],relativeAngle:2.356194490192344,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"nXkkPMC5GnQsGGo6pXGf1J",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.564513777518599,cy:3.2977975299953197,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["ieCZYgGYnWFZFTUUeDJ4Kc"],rightJoints:["nXkkPMC5GnQsGGo6pXGf1J"],leftPoint:[6.064513777518599,2.2977975299953197,.5],rightPoint:[5.064513777518599,4.29779752999532,.5],relativeAngle:2.0344439357957036,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ukLTgjquG74WrHxQMTeCGR",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:6.064513777518599,cy:1.0477975299953193,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["1mFHht66LtQmGXw2uwQpTW"],rightJoints:["ukLTgjquG74WrHxQMTeCGR"],leftPoint:[6.064513777518599,-.20220247000468072,.5],rightPoint:[6.064513777518599,2.2977975299953197,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ieCZYgGYnWFZFTUUeDJ4Kc",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-4.882174640318183,cy:-1.2276627038673618,cz:0,lx:2.144069307100406,ly:.1,lz:61,leftJoints:[],rightJoints:["ne25yHm9jCD9Vx7iYW9GUg"],leftPoint:[-5.328863058154958,-.2531229377300428,.5],rightPoint:[-4.435486222481405,-2.2022024700046807,.5],relativeAngle:5.142171914901031,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"rnDe8ZUbiedJjvYKnAx9vs",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.564513777518599,cy:-1.2022024700046807,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["hDTYb7CsL6KjhaG3K3ZaEb"],rightJoints:["ieCZYgGYnWFZFTUUeDJ4Kc"],leftPoint:[5.064513777518599,-2.2022024700046807,.5],rightPoint:[6.064513777518599,-.20220247000468072,.5],relativeAngle:1.1071487177940904,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"1mFHht66LtQmGXw2uwQpTW",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.314513777518599,cy:-2.9522024700046807,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["ngivbbtv3RRgTjMZ9HM5iJ"],rightJoints:["1mFHht66LtQmGXw2uwQpTW"],leftPoint:[3.5645137775185987,-3.7022024700046807,.5],rightPoint:[5.064513777518599,-2.2022024700046807,.5],relativeAngle:.7853981633974483,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"hDTYb7CsL6KjhaG3K3ZaEb",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.5645137775185987,cy:-4.20220247000468,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["2sbTRgNVHvPNpK2pDRUNQN"],rightJoints:["hDTYb7CsL6KjhaG3K3ZaEb"],leftPoint:[1.5645137775185987,-4.70220247000468,.5],rightPoint:[3.5645137775185987,-3.7022024700046807,.5],relativeAngle:.46364760900080615,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ngivbbtv3RRgTjMZ9HM5iJ",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:.31451377751859866,cy:-4.70220247000468,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["7kjEcCQNbaUjRAbeSyBXZx"],rightJoints:["ngivbbtv3RRgTjMZ9HM5iJ"],leftPoint:[-.9354862224814049,-4.70220247000468,.5],rightPoint:[1.5645137775185987,-4.70220247000468,.5],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"2sbTRgNVHvPNpK2pDRUNQN",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-1.935486222481405,cy:-4.202202470004682,cz:0,lx:2.2360679774997907,ly:.1,lz:61,leftJoints:["ne25yHm9jCD9Vx7iYW9GUg"],rightJoints:["2sbTRgNVHvPNpK2pDRUNQN"],leftPoint:[-2.935486222481405,-3.7022024700046807,.5],rightPoint:[-.9354862224814049,-4.702202470004682,.5],relativeAngle:5.819537698178779,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7kjEcCQNbaUjRAbeSyBXZx",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-3.685486222481405,cy:-2.9522024700046807,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["rnDe8ZUbiedJjvYKnAx9vs"],rightJoints:["7kjEcCQNbaUjRAbeSyBXZx"],leftPoint:[-4.435486222481405,-2.2022024700046807,.5],rightPoint:[-2.935486222481405,-3.7022024700046807,.5],relativeAngle:5.497787143782138,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ne25yHm9jCD9Vx7iYW9GUg",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-.316601796041418,cy:-12.89173870425908,cz:2.2408122612280286,lx:16.92215779250457,ly:.1,lz:60,leftJoints:["55SwaH9QxLHmcgrnQzAWTs"],rightJoints:["ho8wYRGhLSJb2djJKqwSe1"],leftPoint:[8.144477100210871,-12.89173870425908],rightPoint:[-8.7776806922937,-12.89173870425908],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rCFFBj6A2tyxuTVf5rPe81",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:8.144477100210871,cy:-21.23052296081884,cz:2.2301039869226305,lx:16.677568513119517,ly:.1,lz:60,leftJoints:["szxkDJ4zvsmCjRAjDwr4oT"],rightJoints:["rCFFBj6A2tyxuTVf5rPe81"],leftPoint:[8.144477100210871,-29.569307217378597],rightPoint:[8.144477100210871,-12.891738704259076],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"55SwaH9QxLHmcgrnQzAWTs",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:-8.777680692293703,cy:-21.230522960818842,cz:28.5009781424094,lx:16.67756851311951,ly:.1,lz:60,leftJoints:["rCFFBj6A2tyxuTVf5rPe81"],rightJoints:["szxkDJ4zvsmCjRAjDwr4oT"],leftPoint:[-8.777680692293707,-12.891738704259083],rightPoint:[-8.7776806922937,-29.569307217378597],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ho8wYRGhLSJb2djJKqwSe1",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:-.316601796041418,cy:-29.569307217378597,cz:2.268765007024547,lx:16.92215779250457,ly:.1,lz:60,leftJoints:["ho8wYRGhLSJb2djJKqwSe1"],rightJoints:["55SwaH9QxLHmcgrnQzAWTs"],leftPoint:[-8.7776806922937,-29.569307217378597],rightPoint:[8.144477100210871,-29.569307217378597],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szxkDJ4zvsmCjRAjDwr4oT",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Foundation",cx:32.336232202320254,cy:24.075169100408157,cz:.3,lx:47.66882528133987,ly:92.1673445682163,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d5JiHWyULwssBmiBFfBkPJ",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["vHsRxkqZrsLbc2Cw1mShNh"],rightJoints:["wC1WzjegFNTFT2ZnHmoM1U"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"q4Q62RYECS7ssEQGWwMQaR",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["3apukdsSG9Q7tUtWvyHP14"],rightJoints:["q4Q62RYECS7ssEQGWwMQaR"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vHsRxkqZrsLbc2Cw1mShNh",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["q4Q62RYECS7ssEQGWwMQaR"],rightJoints:["3apukdsSG9Q7tUtWvyHP14"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wC1WzjegFNTFT2ZnHmoM1U",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["wC1WzjegFNTFT2ZnHmoM1U"],rightJoints:["vHsRxkqZrsLbc2Cw1mShNh"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"3apukdsSG9Q7tUtWvyHP14",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Foundation",cx:42.906117156706635,cy:9.533578534694202,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6Vzmg1uXrJSEjXjuXeqZxb",selected:!1,locked:!1},{type:"Wall",cx:-2.059761729325267,cy:3.0551015103684858,cz:2.2408122612280286,lx:20.586914175189918,ly:.1,lz:40,leftJoints:["vFwZn47p27JhuJCUwo66PB"],rightJoints:["jz5YKDY6NpWFeAzmZZgmMG"],leftPoint:[8.233695358269692,3.0551015103684858,.5],rightPoint:[-12.353218816920226,3.0551015103684858,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eQty63hcTNfqGkZ1bn9pou",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:8.233695358269692,cy:-7.284137744601432,cz:2.2301039869226305,lx:20.678478509939843,ly:.1,lz:40,leftJoints:["tF3vwD5MeKKihs6KSsJULW"],rightJoints:["eQty63hcTNfqGkZ1bn9pou"],leftPoint:[8.233695358269692,-17.623376999571356,.5],rightPoint:[8.233695358269692,3.0551015103684858,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vFwZn47p27JhuJCUwo66PB",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:-12.353218816920233,cy:-7.2841377446014395,cz:2.228839888904333,lx:20.678478509939836,ly:.1,lz:40,leftJoints:["eQty63hcTNfqGkZ1bn9pou"],rightJoints:["tF3vwD5MeKKihs6KSsJULW"],leftPoint:[-12.353218816920233,3.0551015103684787,.5],rightPoint:[-12.353218816920226,-17.623376999571356,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jz5YKDY6NpWFeAzmZZgmMG",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:-2.059761729325267,cy:-17.623376999571356,cz:1.780425728663789,lx:20.586914175189918,ly:.1,lz:40,leftJoints:["jz5YKDY6NpWFeAzmZZgmMG"],rightJoints:["vFwZn47p27JhuJCUwo66PB"],leftPoint:[-12.353218816920226,-17.623376999571356,.5],rightPoint:[8.233695358269692,-17.623376999571356,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"tF3vwD5MeKKihs6KSsJULW",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Foundation",cx:34.184931916240686,cy:9.996162357092924,cz:.25,lx:28.142586741754783,ly:39.057935888273825,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fD1unP99uJ2AUvKzSqaqv1",selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["ho8wYRGhLSJb2djJKqwSe1","szxkDJ4zvsmCjRAjDwr4oT","55SwaH9QxLHmcgrnQzAWTs","rCFFBj6A2tyxuTVf5rPe81"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"j7icsPbRmrKngzuxfnJULB",locked:!1,sideColor:"#8f6767",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["tF3vwD5MeKKihs6KSsJULW","vFwZn47p27JhuJCUwo66PB","eQty63hcTNfqGkZ1bn9pou","jz5YKDY6NpWFeAzmZZgmMG"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"eiNiz47nydELtmQT3Y9tQx",locked:!1,sideColor:"#8f6767",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["rnDe8ZUbiedJjvYKnAx9vs","ne25yHm9jCD9Vx7iYW9GUg","7kjEcCQNbaUjRAbeSyBXZx","2sbTRgNVHvPNpK2pDRUNQN","ngivbbtv3RRgTjMZ9HM5iJ","hDTYb7CsL6KjhaG3K3ZaEb","1mFHht66LtQmGXw2uwQpTW","ieCZYgGYnWFZFTUUeDJ4Kc","ukLTgjquG74WrHxQMTeCGR","nXkkPMC5GnQsGGo6pXGf1J","9Qfx6trBssgAGuZJMWpoN4","7oCL7hfQ9Q5pKtbUKfbhxC","o7owRXdGmtoUmGe7aMBfwD","twZXBhJnLkQAfkhcdZPvcE","pqrUfkTtDCPWZgLQ2ZZY2x","6BBNNShnXYdN4Fo6vrLZgS"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6muwd4sKetNydriFdTdYo3",locked:!1,sideColor:"#8f6767",rise:40.65606181416068,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["vHsRxkqZrsLbc2Cw1mShNh","q4Q62RYECS7ssEQGWwMQaR","wC1WzjegFNTFT2ZnHmoM1U","3apukdsSG9Q7tUtWvyHP14"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",id:"7wW1vUuiQtQZyEVQ52AYZr",locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["b5Ed9Q8H2ZuAnTPt364rFi"],rightJoints:["iPw21WkbFfNGs2GducHHkL"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"ogWsiwSVu2siW9Ju34ZuiD",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["we96ZZsqRukzrDQLzGsXgd"],rightJoints:["ogWsiwSVu2siW9Ju34ZuiD"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"b5Ed9Q8H2ZuAnTPt364rFi",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["ogWsiwSVu2siW9Ju34ZuiD"],rightJoints:["we96ZZsqRukzrDQLzGsXgd"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"iPw21WkbFfNGs2GducHHkL",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["iPw21WkbFfNGs2GducHHkL"],rightJoints:["b5Ed9Q8H2ZuAnTPt364rFi"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"we96ZZsqRukzrDQLzGsXgd",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"qwYLFbE4ymUU5tBty522Jg",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["b5Ed9Q8H2ZuAnTPt364rFi","ogWsiwSVu2siW9Ju34ZuiD","iPw21WkbFfNGs2GducHHkL","we96ZZsqRukzrDQLzGsXgd"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:42.92006579798169,cy:-3.82074241486986,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kGDsncg3szoccDkShD216f",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["pGdyGz8Q2yqRKAUSe2WBaZ"],rightJoints:["gqtNTDTyYXafiDYDAD7TP5"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"13XtQDNCzy1wcfpbyh4hjG",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["appL8aespWEHwPfTvg3Tnj"],rightJoints:["13XtQDNCzy1wcfpbyh4hjG"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pGdyGz8Q2yqRKAUSe2WBaZ",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["13XtQDNCzy1wcfpbyh4hjG"],rightJoints:["appL8aespWEHwPfTvg3Tnj"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gqtNTDTyYXafiDYDAD7TP5",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["gqtNTDTyYXafiDYDAD7TP5"],rightJoints:["pGdyGz8Q2yqRKAUSe2WBaZ"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"appL8aespWEHwPfTvg3Tnj",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"unGGRxk8aAPx1RGgoMUHuG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["pGdyGz8Q2yqRKAUSe2WBaZ","13XtQDNCzy1wcfpbyh4hjG","gqtNTDTyYXafiDYDAD7TP5","appL8aespWEHwPfTvg3Tnj"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:21.16852585877021,cy:-3.78771116486994,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"wVk1Prn3hdhvpUZ9PYFEqC",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["fBMuUvUm2XHqZj1rfF2pKe"],rightJoints:["fFbhZTcnWojs6r2gfNC8Ac"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iqStzfwWhLGQQWnV7zYbVJ",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["fSWzmQwwSCpa4XTiCWadFJ"],rightJoints:["iqStzfwWhLGQQWnV7zYbVJ"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fBMuUvUm2XHqZj1rfF2pKe",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["iqStzfwWhLGQQWnV7zYbVJ"],rightJoints:["fSWzmQwwSCpa4XTiCWadFJ"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fFbhZTcnWojs6r2gfNC8Ac",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["fFbhZTcnWojs6r2gfNC8Ac"],rightJoints:["fBMuUvUm2XHqZj1rfF2pKe"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fSWzmQwwSCpa4XTiCWadFJ",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"64chsWYaQ1WXbJzrruvsSA",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["fBMuUvUm2XHqZj1rfF2pKe","iqStzfwWhLGQQWnV7zYbVJ","fFbhZTcnWojs6r2gfNC8Ac","fSWzmQwwSCpa4XTiCWadFJ"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:21.217344626106712,cy:9.487929780449239,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sTdmJHCeaF7fiC4wxraQvH",selected:!1,locked:!1},{type:"Foundation",cx:46.44079504193018,cy:-6.9607153899841805,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nBfQ1VbpB9H4ysCzMtCuPy",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["n8WrLFfhmR5MpuvGmKysZG"],rightJoints:["dbVfVNYCWAroMTmBEqYeR4"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wq86d5bWa3b2DNCBna4CeP",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["jKVT2MfeRaz2it59upaJsG"],rightJoints:["wq86d5bWa3b2DNCBna4CeP"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"n8WrLFfhmR5MpuvGmKysZG",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["wq86d5bWa3b2DNCBna4CeP"],rightJoints:["jKVT2MfeRaz2it59upaJsG"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"dbVfVNYCWAroMTmBEqYeR4",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["dbVfVNYCWAroMTmBEqYeR4"],rightJoints:["n8WrLFfhmR5MpuvGmKysZG"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"jKVT2MfeRaz2it59upaJsG",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["jKVT2MfeRaz2it59upaJsG","n8WrLFfhmR5MpuvGmKysZG","wq86d5bWa3b2DNCBna4CeP","dbVfVNYCWAroMTmBEqYeR4"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",id:"3cC18p4o27We9TRzUXcjvJ",locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["fGunkFZDLaHCN1Y4VqozG5"],rightJoints:["xgMnQPMYvVygU1qre3rtoQ"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"ic7X4VUc5364fhg7VH2Xt9",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["cVUWnxaNHTTX4XSarmyvut"],rightJoints:["ic7X4VUc5364fhg7VH2Xt9"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"fGunkFZDLaHCN1Y4VqozG5",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["ic7X4VUc5364fhg7VH2Xt9"],rightJoints:["cVUWnxaNHTTX4XSarmyvut"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"xgMnQPMYvVygU1qre3rtoQ",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["xgMnQPMYvVygU1qre3rtoQ"],rightJoints:["fGunkFZDLaHCN1Y4VqozG5"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"cVUWnxaNHTTX4XSarmyvut",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"iaC7gjXpRF8sDNrzMuoLvf",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["cVUWnxaNHTTX4XSarmyvut","fGunkFZDLaHCN1Y4VqozG5","ic7X4VUc5364fhg7VH2Xt9","xgMnQPMYvVygU1qre3rtoQ"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:46.31802127561469,cy:12.684398904718867,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sfGQk2YxLGeUhSygxuNcnp",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["gh1M1f9qhMGoNQ2Sc4Z2Dn"],rightJoints:["pnLNuXyTY2gSJ1DpTuU4uT"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"5gcHNbuEXkTtST9vsf3C1N",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["eHHmL4t3wnDWyiwmvPPcdG"],rightJoints:["5gcHNbuEXkTtST9vsf3C1N"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gh1M1f9qhMGoNQ2Sc4Z2Dn",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["5gcHNbuEXkTtST9vsf3C1N"],rightJoints:["eHHmL4t3wnDWyiwmvPPcdG"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pnLNuXyTY2gSJ1DpTuU4uT",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["pnLNuXyTY2gSJ1DpTuU4uT"],rightJoints:["gh1M1f9qhMGoNQ2Sc4Z2Dn"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eHHmL4t3wnDWyiwmvPPcdG",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"49DYNSJM4mb3Amf9zEcSuy",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["eHHmL4t3wnDWyiwmvPPcdG","gh1M1f9qhMGoNQ2Sc4Z2Dn","5gcHNbuEXkTtST9vsf3C1N","pnLNuXyTY2gSJ1DpTuU4uT"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:17.617416680668534,cy:-7.081676620216011,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j4PeEevBuviMj9ySaHCvmk",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["8RHz5EYxWVxY6Jt5vozUe7"],rightJoints:["2uW5rRCde8ts2eAbydroXA"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qovzxCb6vspTrPrifJg8FE",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["iYVes92EX4HBiJvFdVLp4v"],rightJoints:["qovzxCb6vspTrPrifJg8FE"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8RHz5EYxWVxY6Jt5vozUe7",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["qovzxCb6vspTrPrifJg8FE"],rightJoints:["iYVes92EX4HBiJvFdVLp4v"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2uW5rRCde8ts2eAbydroXA",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["2uW5rRCde8ts2eAbydroXA"],rightJoints:["8RHz5EYxWVxY6Jt5vozUe7"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iYVes92EX4HBiJvFdVLp4v",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"dU22xraE7fkaQeudtQezPj",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["iYVes92EX4HBiJvFdVLp4v","8RHz5EYxWVxY6Jt5vozUe7","qovzxCb6vspTrPrifJg8FE","2uW5rRCde8ts2eAbydroXA"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:17.73320615435275,cy:12.716218116632643,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6e1LBCH7kdPkaD1nyNXGTx",selected:!1,locked:!1},{type:"Foundation",cx:31.837120136953352,cy:34.21863076373691,cz:.25,lx:18.498978574883413,ly:60.60688660259319,lz:.2496942045301915,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"inhpub3MTpu4G1VDDvBtem",selected:!1,locked:!1},{type:"Wall",cx:.2345130342804871,cy:27.168552176842663,cz:2.2408122612280286,lx:16.254908005168197,ly:.1,lz:19.97553636241532,leftJoints:["t9LGJeHDCScMaYt1JPTD25"],rightJoints:["8ygPss7hAjTnN2gdGp6ttV"],leftPoint:[8.361967036864586,27.168552176842663,0],rightPoint:[-7.892940968303612,27.168552176842663,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kCsahZfC53mhXpdE7TMKTD",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,centerRoofHeight:[0,34.46430883284354],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:8.361967036864586,cy:.8572306983972329,cz:2.2301039869226305,lx:52.62264295689086,ly:.1,lz:19.97553636241532,leftJoints:["rzCwiAsS4K7UKzev4QiQCA"],rightJoints:["kCsahZfC53mhXpdE7TMKTD"],leftPoint:[8.361967036864586,-25.454090780048197,0],rightPoint:[8.361967036864586,27.168552176842663,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"t9LGJeHDCScMaYt1JPTD25",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:-7.8929409683036145,cy:.8572306983972151,cz:2.228839888904333,lx:52.62264295689083,ly:.1,lz:19.97553636241532,leftJoints:["kCsahZfC53mhXpdE7TMKTD"],rightJoints:["rzCwiAsS4K7UKzev4QiQCA"],leftPoint:[-7.892940968303616,27.168552176842628,0],rightPoint:[-7.892940968303612,-25.454090780048197,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8ygPss7hAjTnN2gdGp6ttV",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:.2345130342804871,cy:-25.454090780048197,cz:2.268765007024547,lx:16.254908005168197,ly:.1,lz:19.97553636241532,leftJoints:["8ygPss7hAjTnN2gdGp6ttV"],rightJoints:["t9LGJeHDCScMaYt1JPTD25"],leftPoint:[-7.892940968303612,-25.454090780048197,0],rightPoint:[8.361967036864586,-25.454090780048197,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rzCwiAsS4K7UKzev4QiQCA",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,centerRoofHeight:[0,34.46430883284354],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Default",wallsId:["t9LGJeHDCScMaYt1JPTD25"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"sygn3Sh4dUutUeoxP6LrDr",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!1,sideColor:"#8f6767",rise:14.488772470428223,ceiling:!1},{type:"Foundation",cx:42.906117156706635,cy:9.533578534694202,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3sLwhEgNEsXYeDRotu6V2t",selected:!1,locked:!1},{type:"Foundation",cx:42.92006579798169,cy:-3.82074241486986,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bJWxUcmXbPhwpSEfhKNUR9",selected:!1,locked:!1},{type:"Foundation",cx:21.16852585877021,cy:-3.78771116486994,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d25rEMwrJ6RN3MFRjbRPz1",selected:!1,locked:!1},{type:"Foundation",cx:21.217344626106712,cy:9.487929780449239,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cErd2SqgLThpK4vJfhjWqd",selected:!1,locked:!1},{type:"Foundation",cx:46.740795041930184,cy:-3.860715389984191,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vmAPnWwpqkdy6LbCoBx7XJ",selected:!1,locked:!1},{type:"Foundation",cx:46.718021275614696,cy:9.584398904718878,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"igvTSt7WASqgGBPhrg13mS",selected:!1,locked:!1},{type:"Foundation",cx:17.31741668066853,cy:-3.7816766202160212,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35UveCxDtSq3bRxo63iNA8",selected:!1,locked:!1},{type:"Foundation",cx:17.333206154352744,cy:9.516218116632654,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hcQws7c356C61b1Zdukfsh",selected:!1,locked:!1},{type:"Wall",cx:.08759481901403955,cy:.48701542341002635,cz:0,lx:.7619228017884919,ly:.1,lz:30.522600729435336,leftJoints:["xjtDHvujcFtzK6uxUtDUQW"],rightJoints:["pvCLq35sk3nh5kUAUegEwu"],leftPoint:[.23742845459659656,.8372745712126496,0],rightPoint:[-.06223881656851746,.13675627560740305,0],relativeAngle:-1.9750187634646525,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"eZcF1TXGmmHdWSo1nGEuPP",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.06223881656851746,cy:-.29019732073449356,cz:0,lx:.8539071926837931,ly:.1,lz:30.522600729435336,leftJoints:["eZcF1TXGmmHdWSo1nGEuPP"],rightJoints:[],leftPoint:[-.06223881656851746,.13675627560740305,0],rightPoint:[-.06223881656851746,-.7171509170763901,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"pvCLq35sk3nh5kUAUegEwu",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.48900253218546175,cy:1.0934467290177876,cz:0,lx:.7180910553661809,ly:.1,lz:30.522600729435336,leftJoints:["1n1zoL6MhaLiDGbiwa1f2P"],rightJoints:["eZcF1TXGmmHdWSo1nGEuPP"],leftPoint:[.7405766097743269,1.3496188868229255,0],rightPoint:[.23742845459659656,.8372745712126496,0],relativeAngle:-2.3471388749896596,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"xjtDHvujcFtzK6uxUtDUQW",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.0760087132261462,cy:1.520400325359684,cz:0,lx:.7528107219608302,ly:.1,lz:30.522600729435336,leftJoints:["mriUigHEL4wunXM4kHrR6L"],rightJoints:["xjtDHvujcFtzK6uxUtDUQW"],leftPoint:[1.4114408166779655,1.6911817638964426,0],rightPoint:[.7405766097743269,1.3496188868229255,0],relativeAngle:-2.6706609040195843,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"1n1zoL6MhaLiDGbiwa1f2P",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.8307309459927419,cy:1.6911817638964426,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["swhHhwagxik9xtVxu4wfTo"],rightJoints:["1n1zoL6MhaLiDGbiwa1f2P"],leftPoint:[2.2500210753075183,1.6911817638964426,0],rightPoint:[1.4114408166779655,1.6911817638964426,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"mriUigHEL4wunXM4kHrR6L",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:2.5854531787593378,cy:1.520400325359684,cz:0,lx:.7528107219608307,ly:.1,lz:30.522600729435336,leftJoints:["hi3umDHUNXmBT4vcsRpTQy"],rightJoints:["mriUigHEL4wunXM4kHrR6L"],leftPoint:[2.9208852822111573,1.3496188868229255,0],rightPoint:[2.2500210753075183,1.6911817638964426,0],relativeAngle:2.6706609040195843,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"swhHhwagxik9xtVxu4wfTo",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.172459359800022,cy:1.0934467290177876,cz:0,lx:.7180910553661805,ly:.1,lz:30.522600729435336,leftJoints:["dRRWEjS64akBN9tsLF4oVT"],rightJoints:["swhHhwagxik9xtVxu4wfTo"],leftPoint:[3.424033437388887,.8372745712126496,0],rightPoint:[2.9208852822111573,1.3496188868229255,0],relativeAngle:2.347138874989659,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"hi3umDHUNXmBT4vcsRpTQy",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.5917494891147967,cy:.4957116941391323,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["uQk2JFg84bBpGZQkpPmwje"],rightJoints:["hi3umDHUNXmBT4vcsRpTQy"],leftPoint:[3.7594655408407065,.15414881706561503,0],rightPoint:[3.424033437388887,.8372745712126496,0],relativeAngle:2.027238521722415,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"dRRWEjS64akBN9tsLF4oVT",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.7594655408407065,cy:-.2728047792762874,cz:0,lx:.8539071926838048,ly:.1,lz:30.522600729435336,leftJoints:["muL5NfgYyKhfqV3h7fsQsn"],rightJoints:["dRRWEjS64akBN9tsLF4oVT"],leftPoint:[3.7594655408407065,-.6997583756181898,0],rightPoint:[3.7594655408407065,.15414881706561503,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"uQk2JFg84bBpGZQkpPmwje",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.08759481901404094,cy:-1.0500175234208071,cz:0,lx:.7300693007410605,ly:.1,lz:30.522600729435336,leftJoints:[],rightJoints:["7EX6pFLmgKqJLtfcWEpofK"],leftPoint:[-.06223881656851469,-.7171509170763901,0],rightPoint:[.23742845459659656,-1.3828841297652243,0],relativeAngle:-1.147833323399613,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"5WHTbyH9BzzN64KTDCgoMv",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.5917494891147967,cy:-1.041321252691707,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["oikWBJjQhAPNedPGNcE3gc"],rightJoints:["uQk2JFg84bBpGZQkpPmwje"],leftPoint:[3.424033437388887,-1.3828841297652243,0],rightPoint:[3.7594655408407065,-.6997583756181898,0],relativeAngle:1.1143541318673784,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"muL5NfgYyKhfqV3h7fsQsn",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.172459359800022,cy:-1.6390562875703623,cz:0,lx:.7180910553661803,ly:.1,lz:30.522600729435336,leftJoints:["i4ifyJQtiXdLMSDpWxEVF4"],rightJoints:["muL5NfgYyKhfqV3h7fsQsn"],leftPoint:[2.9208852822111573,-1.8952284453755002,0],rightPoint:[3.424033437388887,-1.3828841297652243,0],relativeAngle:.7944537786001341,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"oikWBJjQhAPNedPGNcE3gc",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:2.5854531787593378,cy:-2.0660098839122587,cz:0,lx:.7528107219608308,ly:.1,lz:30.522600729435336,leftJoints:["wop6FQVjsmsgGpEYiRnuWv"],rightJoints:["oikWBJjQhAPNedPGNcE3gc"],leftPoint:[2.2500210753075183,-2.2367913224490175,0],rightPoint:[2.9208852822111573,-1.8952284453755002,0],relativeAngle:.47093174957020895,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"i4ifyJQtiXdLMSDpWxEVF4",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.8307309459927419,cy:-2.2367913224490175,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["xvpmoVyQtt5PQRMqAmpsxP"],rightJoints:["i4ifyJQtiXdLMSDpWxEVF4"],leftPoint:[1.4114408166779655,-2.2367913224490175,0],rightPoint:[2.2500210753075183,-2.2367913224490175,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"wop6FQVjsmsgGpEYiRnuWv",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.0760087132261462,cy:-2.0660098839122587,cz:0,lx:.7528107219608304,ly:.1,lz:30.522600729435336,leftJoints:["7EX6pFLmgKqJLtfcWEpofK"],rightJoints:["wop6FQVjsmsgGpEYiRnuWv"],leftPoint:[.7405766097743269,-1.8952284453755002,0],rightPoint:[1.4114408166779655,-2.2367913224490175,0],relativeAngle:-.4709317495702092,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"xvpmoVyQtt5PQRMqAmpsxP",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.48900253218546175,cy:-1.6390562875703623,cz:0,lx:.7180910553661808,ly:.1,lz:30.522600729435336,leftJoints:["5WHTbyH9BzzN64KTDCgoMv"],rightJoints:["xvpmoVyQtt5PQRMqAmpsxP"],leftPoint:[.23742845459659656,-1.3828841297652243,0],rightPoint:[.7405766097743269,-1.8952284453755002,0],relativeAngle:-.7944537786001334,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7EX6pFLmgKqJLtfcWEpofK",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{id:"hYevMRVtvGbUbiRqk1nUc8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["5WHTbyH9BzzN64KTDCgoMv","7EX6pFLmgKqJLtfcWEpofK","xvpmoVyQtt5PQRMqAmpsxP","wop6FQVjsmsgGpEYiRnuWv","i4ifyJQtiXdLMSDpWxEVF4","oikWBJjQhAPNedPGNcE3gc","muL5NfgYyKhfqV3h7fsQsn","uQk2JFg84bBpGZQkpPmwje","dRRWEjS64akBN9tsLF4oVT","hi3umDHUNXmBT4vcsRpTQy","swhHhwagxik9xtVxu4wfTo","mriUigHEL4wunXM4kHrR6L","1n1zoL6MhaLiDGbiwa1f2P","xjtDHvujcFtzK6uxUtDUQW","eZcF1TXGmmHdWSo1nGEuPP","pvCLq35sk3nh5kUAUegEwu"],selected:!1,locked:!1,sideColor:"#8f6767",rise:20.34309413089949,ceiling:!1},{type:"Foundation",cx:22.101836585291686,cy:59.66510601397874,cz:.25,lx:10.346352433552571,ly:7.249184290263735,lz:.25018525188061747,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nzCkjYnVxyaDzHFwCDNifn",selected:!1,locked:!1},{type:"Wall",cx:.29316921930580264,cy:25.564628992279733,cz:2.2408122612280286,lx:20.32057068547883,ly:.1,lz:11.54977608077218,leftJoints:["s1xEbSBtShW5kWkbmjYKyT"],rightJoints:["kdHDzULPWJfMLCpsjYsWA1"],leftPoint:[10.453454562045218,25.564628992279733,0],rightPoint:[-9.867116123433613,25.564628992279733,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6NAiyB2LDnaumetDroz2SP",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,centerRoofHeight:[0,17.846156119433356],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:10.453454562045218,cy:.806623209903595,cz:2.2301039869226305,lx:49.516011564752276,ly:.1,lz:11.54977608077218,leftJoints:["4soX2cVpCLxg8TgMMdUsVJ"],rightJoints:["6NAiyB2LDnaumetDroz2SP"],leftPoint:[10.453454562045218,-23.951382572472543,0],rightPoint:[10.453454562045218,25.564628992279733,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s1xEbSBtShW5kWkbmjYKyT",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:-9.867116123433618,cy:.806623209903579,cz:2.228839888904333,lx:49.51601156475225,ly:.1,lz:11.54977608077218,leftJoints:["6NAiyB2LDnaumetDroz2SP"],rightJoints:["4soX2cVpCLxg8TgMMdUsVJ"],leftPoint:[-9.867116123433622,25.5646289922797,0],rightPoint:[-9.867116123433613,-23.951382572472543,0],relativeAngle:-1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kdHDzULPWJfMLCpsjYsWA1",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:.29316921930580264,cy:-23.951382572472543,cz:2.268765007024547,lx:20.32057068547883,ly:.1,lz:11.54977608077218,leftJoints:["kdHDzULPWJfMLCpsjYsWA1"],rightJoints:["s1xEbSBtShW5kWkbmjYKyT"],leftPoint:[-9.867116123433613,-23.951382572472543,0],rightPoint:[10.453454562045218,-23.951382572472543,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4soX2cVpCLxg8TgMMdUsVJ",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,centerRoofHeight:[0,17.846156119433356],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{id:"43U2Bn5NdVK18XM6yHM246",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["s1xEbSBtShW5kWkbmjYKyT"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,sideColor:"#8f6767",rise:6.296380038661177,ceiling:!1},{type:"Foundation",cx:31.800913861014813,cy:36.46175047854304,cz:.25,lx:23.12592612769986,ly:57.028897244406764,lz:.14437220100965228,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tRJdenhEy35bKxtqwaV7mW",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rY4g4se9c9Ac81ycfZ2psF"],rightJoints:["edLYKiK67rcWj7yEjSg5Gw"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"m2HcdaunRK2mJDqZ6u7zB2",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["hnGSq9jjoBBqypZ4j6i4tD"],rightJoints:["m2HcdaunRK2mJDqZ6u7zB2"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rY4g4se9c9Ac81ycfZ2psF",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["m2HcdaunRK2mJDqZ6u7zB2"],rightJoints:["hnGSq9jjoBBqypZ4j6i4tD"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edLYKiK67rcWj7yEjSg5Gw",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["edLYKiK67rcWj7yEjSg5Gw"],rightJoints:["rY4g4se9c9Ac81ycfZ2psF"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"hnGSq9jjoBBqypZ4j6i4tD",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"b6WgrEhvmm5vBfQ5hvUoV7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["hnGSq9jjoBBqypZ4j6i4tD","rY4g4se9c9Ac81ycfZ2psF","m2HcdaunRK2mJDqZ6u7zB2","edLYKiK67rcWj7yEjSg5Gw"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.0572589693394,cy:29.64082269160803,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4eW2GX1ScRsXHpNggfMAh6",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["iDdbvKHdvp7bwG9TRH7Z1s"],rightJoints:["qCdtrWKEz7G85zz6r7u1bg"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4SRnxg5YyewBKp25hu7pX6",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["o3YcepgLVkYe1C12rYuUcN"],rightJoints:["4SRnxg5YyewBKp25hu7pX6"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iDdbvKHdvp7bwG9TRH7Z1s",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["4SRnxg5YyewBKp25hu7pX6"],rightJoints:["o3YcepgLVkYe1C12rYuUcN"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qCdtrWKEz7G85zz6r7u1bg",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["qCdtrWKEz7G85zz6r7u1bg"],rightJoints:["iDdbvKHdvp7bwG9TRH7Z1s"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"o3YcepgLVkYe1C12rYuUcN",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"w76LBs2JwDTGkqjmZCF8cs",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["o3YcepgLVkYe1C12rYuUcN","iDdbvKHdvp7bwG9TRH7Z1s","4SRnxg5YyewBKp25hu7pX6","qCdtrWKEz7G85zz6r7u1bg"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:21.776349007392366,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4grymoAeE1wyKWf6d9SvGL",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["pqDxrgVJyRAZkmJDZW8KxP"],rightJoints:["5YtUmRWQdNuxWqery1ymqA"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wgaVoeaxZnDaQiMJmkWwKa",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["osM7biMJmfhnN53neDAWtn"],rightJoints:["wgaVoeaxZnDaQiMJmkWwKa"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pqDxrgVJyRAZkmJDZW8KxP",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["wgaVoeaxZnDaQiMJmkWwKa"],rightJoints:["osM7biMJmfhnN53neDAWtn"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"5YtUmRWQdNuxWqery1ymqA",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["5YtUmRWQdNuxWqery1ymqA"],rightJoints:["pqDxrgVJyRAZkmJDZW8KxP"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"osM7biMJmfhnN53neDAWtn",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"ccBdYpfsEntnyimCgAGbFH",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["osM7biMJmfhnN53neDAWtn","pqDxrgVJyRAZkmJDZW8KxP","wgaVoeaxZnDaQiMJmkWwKa","5YtUmRWQdNuxWqery1ymqA"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:38.27619910075263,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEkR58t9MVxKb9UtTzLoRJ",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["aWFGP4t67ffRZBsCFNikXA"],rightJoints:["2uYJDU198peC8Tg5ojQxP4"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iWxYLc7ffDzpRdJiYsnbXJ",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["1Q3HJwHJv2PVY4SzR42Cjo"],rightJoints:["iWxYLc7ffDzpRdJiYsnbXJ"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aWFGP4t67ffRZBsCFNikXA",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["iWxYLc7ffDzpRdJiYsnbXJ"],rightJoints:["1Q3HJwHJv2PVY4SzR42Cjo"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2uYJDU198peC8Tg5ojQxP4",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["2uYJDU198peC8Tg5ojQxP4"],rightJoints:["aWFGP4t67ffRZBsCFNikXA"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1Q3HJwHJv2PVY4SzR42Cjo",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"eQ7btevxK7r8DzoyTEdTxn",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["1Q3HJwHJv2PVY4SzR42Cjo","aWFGP4t67ffRZBsCFNikXA","iWxYLc7ffDzpRdJiYsnbXJ","2uYJDU198peC8Tg5ojQxP4"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:46.27619910075262,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"61X5NKPMEEPTLmE48XtBWW",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["fY4i2vP6PHczLiFYJKL6Wv"],rightJoints:["idjrGY3KVjR98yX9Yu1Ra6"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eMNaM3G63snsMKbM8u6oYY",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["amBCThLtBnL1J1PMrwDbZv"],rightJoints:["eMNaM3G63snsMKbM8u6oYY"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fY4i2vP6PHczLiFYJKL6Wv",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["eMNaM3G63snsMKbM8u6oYY"],rightJoints:["amBCThLtBnL1J1PMrwDbZv"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"idjrGY3KVjR98yX9Yu1Ra6",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["idjrGY3KVjR98yX9Yu1Ra6"],rightJoints:["fY4i2vP6PHczLiFYJKL6Wv"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"amBCThLtBnL1J1PMrwDbZv",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"tuJvTy5gsauq5Hd2q2TrvG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["amBCThLtBnL1J1PMrwDbZv","fY4i2vP6PHczLiFYJKL6Wv","eMNaM3G63snsMKbM8u6oYY","idjrGY3KVjR98yX9Yu1Ra6"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.070416864076236,cy:54.22634900740702,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gJWB97wg6zgCYzFdGJY5ps",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["6pg1zB89qcq9dmq7s1ptPG"],rightJoints:["q4CuysQYWEW74wVhnGoz38"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vbW8e5Fx8RtgYAGG2GpRxh",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["27GGc5fv8LG1vuW4Uncogs"],rightJoints:["vbW8e5Fx8RtgYAGG2GpRxh"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6pg1zB89qcq9dmq7s1ptPG",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["vbW8e5Fx8RtgYAGG2GpRxh"],rightJoints:["27GGc5fv8LG1vuW4Uncogs"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"q4CuysQYWEW74wVhnGoz38",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["q4CuysQYWEW74wVhnGoz38"],rightJoints:["6pg1zB89qcq9dmq7s1ptPG"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"27GGc5fv8LG1vuW4Uncogs",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"vKsXGsPSDc5jtGNVG5pT4h",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["27GGc5fv8LG1vuW4Uncogs","6pg1zB89qcq9dmq7s1ptPG","vbW8e5Fx8RtgYAGG2GpRxh","q4CuysQYWEW74wVhnGoz38"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.02516540226579,cy:13.71724930866217,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"amG9BsG4REBbTJiqZddZRf",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["pNFepfvePvMvRyTFP4sbzs"],rightJoints:["kf6UY9oxBvAS9oizmQi2UF"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"49srqvHCqp7LPpHj4YFmnX",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["qjgvxRHbZgjaPsgRgW2rKY"],rightJoints:["49srqvHCqp7LPpHj4YFmnX"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pNFepfvePvMvRyTFP4sbzs",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["49srqvHCqp7LPpHj4YFmnX"],rightJoints:["qjgvxRHbZgjaPsgRgW2rKY"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kf6UY9oxBvAS9oizmQi2UF",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["kf6UY9oxBvAS9oizmQi2UF"],rightJoints:["pNFepfvePvMvRyTFP4sbzs"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qjgvxRHbZgjaPsgRgW2rKY",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"585fnALdAC34mNZDfmGzpR",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["qjgvxRHbZgjaPsgRgW2rKY","pNFepfvePvMvRyTFP4sbzs","49srqvHCqp7LPpHj4YFmnX","kf6UY9oxBvAS9oizmQi2UF"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.108670143366425,cy:21.75623548237505,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ijj9XtQP41yWeKSFtsH9KG",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["4FTkcMtCn8GmJne1UmBSnm"],rightJoints:["1fYMNpakzjWFH4TGNYecnG"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1P5iFtakfLrTXAgXy2xEwu",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["8SkMwYmnPtJVtGW2vvZau2"],rightJoints:["1P5iFtakfLrTXAgXy2xEwu"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4FTkcMtCn8GmJne1UmBSnm",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["1P5iFtakfLrTXAgXy2xEwu"],rightJoints:["8SkMwYmnPtJVtGW2vvZau2"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1fYMNpakzjWFH4TGNYecnG",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["1fYMNpakzjWFH4TGNYecnG"],rightJoints:["4FTkcMtCn8GmJne1UmBSnm"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8SkMwYmnPtJVtGW2vvZau2",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"5jHjwRti8g6gjQYwYNaqMu",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["8SkMwYmnPtJVtGW2vvZau2","4FTkcMtCn8GmJne1UmBSnm","1P5iFtakfLrTXAgXy2xEwu","1fYMNpakzjWFH4TGNYecnG"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.06868414507791,cy:13.792917787121219,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tsSkKMSbzvsCzXJnVjuqkh",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["eKwrTnqzoru7h1ejKJfQMg"],rightJoints:["aepE6idhiAJ636esCgz28B"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"sduDhLeTnLnC5gSRR1knQa",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["rD8sjfgNgEk8eR9fGvg7qv"],rightJoints:["sduDhLeTnLnC5gSRR1knQa"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eKwrTnqzoru7h1ejKJfQMg",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["sduDhLeTnLnC5gSRR1knQa"],rightJoints:["rD8sjfgNgEk8eR9fGvg7qv"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aepE6idhiAJ636esCgz28B",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["aepE6idhiAJ636esCgz28B"],rightJoints:["eKwrTnqzoru7h1ejKJfQMg"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rD8sjfgNgEk8eR9fGvg7qv",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"gdKEp1z3y4ryc7dvjnUqEa",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["rD8sjfgNgEk8eR9fGvg7qv","eKwrTnqzoru7h1ejKJfQMg","sduDhLeTnLnC5gSRR1knQa","aepE6idhiAJ636esCgz28B"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.029331020077915,cy:30.2047466933794,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"c5x1qZw1vbVMAajuz84fbo",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rmuH4rirvchW582N8rYFag"],rightJoints:["uW9vVgQVERMAHeNEoWkYEh"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"uUKBr4jcQhby6GvNzKqUHH",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["wbwhMTBcYQcbgteFUcRUx7"],rightJoints:["uUKBr4jcQhby6GvNzKqUHH"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rmuH4rirvchW582N8rYFag",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["uUKBr4jcQhby6GvNzKqUHH"],rightJoints:["wbwhMTBcYQcbgteFUcRUx7"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"uW9vVgQVERMAHeNEoWkYEh",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["uW9vVgQVERMAHeNEoWkYEh"],rightJoints:["rmuH4rirvchW582N8rYFag"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wbwhMTBcYQcbgteFUcRUx7",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"rTW8jYbcN9iKLUvtZVEcCq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["wbwhMTBcYQcbgteFUcRUx7","rmuH4rirvchW582N8rYFag","uUKBr4jcQhby6GvNzKqUHH","uW9vVgQVERMAHeNEoWkYEh"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.063453741288843,cy:38.34103797920378,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8naBHyvVijZuabFdbTKFpX",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["ash2NaiDiFh6y8HJuTzbUe"],rightJoints:["rQ2xEkb62W6Hz14LruJt4U"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ui6xC8viC2GKhF7W4v6W1c",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["4a5mwkpfWp9Ti3rrftjFDZ"],rightJoints:["ui6xC8viC2GKhF7W4v6W1c"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ash2NaiDiFh6y8HJuTzbUe",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["ui6xC8viC2GKhF7W4v6W1c"],rightJoints:["4a5mwkpfWp9Ti3rrftjFDZ"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rQ2xEkb62W6Hz14LruJt4U",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rQ2xEkb62W6Hz14LruJt4U"],rightJoints:["ash2NaiDiFh6y8HJuTzbUe"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4a5mwkpfWp9Ti3rrftjFDZ",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"aSwgfRaBWT4x8pjZRpNseg",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["4a5mwkpfWp9Ti3rrftjFDZ","ash2NaiDiFh6y8HJuTzbUe","ui6xC8viC2GKhF7W4v6W1c","rQ2xEkb62W6Hz14LruJt4U"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.082728428788844,cy:46.363924541707796,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"pea8XwQNq3CzMWjVuAMDFt",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["9KWwq22ziFFGjGozMGZDJy"],rightJoints:["axJwDxU9qufHCzbi6cJjRE"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2xmth77a7rM6NqB4LYTVg3",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["47gofCM28sUzgssGChu6rj"],rightJoints:["2xmth77a7rM6NqB4LYTVg3"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"9KWwq22ziFFGjGozMGZDJy",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["2xmth77a7rM6NqB4LYTVg3"],rightJoints:["47gofCM28sUzgssGChu6rj"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"axJwDxU9qufHCzbi6cJjRE",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["axJwDxU9qufHCzbi6cJjRE"],rightJoints:["9KWwq22ziFFGjGozMGZDJy"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"47gofCM28sUzgssGChu6rj",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"wmVcJCTPwpivZkJBd9PRUz",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["47gofCM28sUzgssGChu6rj","9KWwq22ziFFGjGozMGZDJy","2xmth77a7rM6NqB4LYTVg3","axJwDxU9qufHCzbi6cJjRE"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.06830096335861,cy:54.39520622164741,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3FFY4h4Y53Ud4TwY2XAm3b",selected:!1,locked:!1},{type:"Wall",cx:-4.287405180985958,cy:.6870154234100241,cz:0,lx:.7619228017884919,ly:.1,lz:30.522600729435336,leftJoints:["eyhcnsCSVemrG9SDzg4nJ2"],rightJoints:["bHsvKPqQBPZPeMWXAxFnQa"],leftPoint:[-4.137571545403402,1.0372745712126488,.25018525188061747],rightPoint:[-4.437238816568516,.3367562756073994,.25018525188061747],relativeAngle:-1.9750187634646525,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aU3ZWFitC4Fgrww9n7FaQe",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-4.437238816568516,cy:-.0901973207344966,cz:0,lx:.8539071926837931,ly:.1,lz:30.522600729435336,leftJoints:["aU3ZWFitC4Fgrww9n7FaQe"],rightJoints:[],leftPoint:[-4.437238816568516,.3367562756073994,.25018525188061747],rightPoint:[-4.437238816568516,-.5171509170763926,.25018525188061747],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bHsvKPqQBPZPeMWXAxFnQa",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.8859974678145366,cy:1.2934467290177807,cz:0,lx:.7180910553661809,ly:.1,lz:30.522600729435336,leftJoints:["xcRtMosaXc2kjoRaazGNSd"],rightJoints:["aU3ZWFitC4Fgrww9n7FaQe"],leftPoint:[-3.6344233902256713,1.5496188868229197,.25018525188061747],rightPoint:[-4.137571545403402,1.0372745712126488,.25018525188061747],relativeAngle:-2.3471388749896596,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eyhcnsCSVemrG9SDzg4nJ2",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.298991286773852,cy:1.7204003253596767,cz:0,lx:.7528107219608302,ly:.1,lz:30.522600729435336,leftJoints:["fsM3HFbdwGctcxehK1sWSn"],rightJoints:["eyhcnsCSVemrG9SDzg4nJ2"],leftPoint:[-2.9635591833220327,1.8911817638964408,.25018525188061747],rightPoint:[-3.6344233902256713,1.5496188868229197,.25018525188061747],relativeAngle:-2.6706609040195843,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xcRtMosaXc2kjoRaazGNSd",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-2.5442690540072563,cy:1.8911817638964408,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["6XgmyJyqgEv5ifchExpE81"],rightJoints:["xcRtMosaXc2kjoRaazGNSd"],leftPoint:[-2.12497892469248,1.8911817638964408,.25018525188061747],rightPoint:[-2.9635591833220327,1.8911817638964408,.25018525188061747],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fsM3HFbdwGctcxehK1sWSn",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.7895468212406604,cy:1.7204003253596767,cz:0,lx:.7528107219608307,ly:.1,lz:30.522600729435336,leftJoints:["fYWGXixdnmhXJQ9obJmEx4"],rightJoints:["fsM3HFbdwGctcxehK1sWSn"],leftPoint:[-1.454114717788841,1.5496188868229197,.25018525188061747],rightPoint:[-2.12497892469248,1.8911817638964408,.25018525188061747],relativeAngle:2.6706609040195843,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6XgmyJyqgEv5ifchExpE81",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.202540640199976,cy:1.2934467290177807,cz:0,lx:.7180910553661805,ly:.1,lz:30.522600729435336,leftJoints:["4GwFXBtR54ZnyGA71jYYZc"],rightJoints:["6XgmyJyqgEv5ifchExpE81"],leftPoint:[-.9509665626111112,1.0372745712126488,.25018525188061747],rightPoint:[-1.454114717788841,1.5496188868229197,.25018525188061747],relativeAngle:2.347138874989659,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fYWGXixdnmhXJQ9obJmEx4",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.7832505108852015,cy:.6957116941391277,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["eBehuFBXFQvHTyVLAdaGdf"],rightJoints:["fYWGXixdnmhXJQ9obJmEx4"],leftPoint:[-.6155344591592917,.35414881706561374,.25018525188061747],rightPoint:[-.9509665626111112,1.0372745712126488,.25018525188061747],relativeAngle:2.027238521722415,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4GwFXBtR54ZnyGA71jYYZc",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.6155344591592917,cy:-.07280477927628937,cz:0,lx:.8539071926838048,ly:.1,lz:30.522600729435336,leftJoints:["d7o4BGzTN8VdkyE1cWq7ia"],rightJoints:["4GwFXBtR54ZnyGA71jYYZc"],leftPoint:[-.6155344591592917,-.4997583756181925,.25018525188061747],rightPoint:[-.6155344591592917,.35414881706561374,.25018525188061747],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eBehuFBXFQvHTyVLAdaGdf",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-4.2874051809859575,cy:-.85001752342081,cz:0,lx:.7300693007410605,ly:.1,lz:30.522600729435336,leftJoints:[],rightJoints:["71Xv23m81dcuvYBk8UDpg2"],leftPoint:[-4.437238816568513,-.5171509170763926,.25018525188061747],rightPoint:[-4.137571545403402,-1.1828841297652275,.25018525188061747],relativeAngle:-1.147833323399613,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xewwKY8wmraW5H3W8KA3XV",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.7832505108852015,cy:-.8413212526917135,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["gKowPySkxP5QDpYS45Ky87"],rightJoints:["eBehuFBXFQvHTyVLAdaGdf"],leftPoint:[-.9509665626111112,-1.1828841297652275,.25018525188061747],rightPoint:[-.6155344591592917,-.4997583756181925,.25018525188061747],relativeAngle:1.1143541318673784,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"d7o4BGzTN8VdkyE1cWq7ia",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.202540640199976,cy:-1.4390562875703665,cz:0,lx:.7180910553661803,ly:.1,lz:30.522600729435336,leftJoints:["w2pokb3YWg3yZ7YCCbdX1w"],rightJoints:["d7o4BGzTN8VdkyE1cWq7ia"],leftPoint:[-1.454114717788841,-1.6952284453755055,.25018525188061747],rightPoint:[-.9509665626111112,-1.1828841297652275,.25018525188061747],relativeAngle:.7944537786001341,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gKowPySkxP5QDpYS45Ky87",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.7895468212406604,cy:-1.8660098839122625,cz:0,lx:.7528107219608308,ly:.1,lz:30.522600729435336,leftJoints:["6uEEWTZCV76LChiCEwjXou"],rightJoints:["gKowPySkxP5QDpYS45Ky87"],leftPoint:[-2.12497892469248,-2.0367913224490195,.25018525188061747],rightPoint:[-1.454114717788841,-1.6952284453755055,.25018525188061747],relativeAngle:.47093174957020895,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"w2pokb3YWg3yZ7YCCbdX1w",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-2.5442690540072563,cy:-2.0367913224490195,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["t5GH8Xd8h7kQ1uXXK7nK76"],rightJoints:["w2pokb3YWg3yZ7YCCbdX1w"],leftPoint:[-2.9635591833220327,-2.0367913224490195,.25018525188061747],rightPoint:[-2.12497892469248,-2.0367913224490195,.25018525188061747],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6uEEWTZCV76LChiCEwjXou",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.298991286773852,cy:-1.8660098839122625,cz:0,lx:.7528107219608304,ly:.1,lz:30.522600729435336,leftJoints:["71Xv23m81dcuvYBk8UDpg2"],rightJoints:["6uEEWTZCV76LChiCEwjXou"],leftPoint:[-3.6344233902256713,-1.6952284453755055,.25018525188061747],rightPoint:[-2.9635591833220327,-2.0367913224490195,.25018525188061747],relativeAngle:-.4709317495702092,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"t5GH8Xd8h7kQ1uXXK7nK76",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.8859974678145366,cy:-1.4390562875703665,cz:0,lx:.7180910553661808,ly:.1,lz:30.522600729435336,leftJoints:["xewwKY8wmraW5H3W8KA3XV"],rightJoints:["t5GH8Xd8h7kQ1uXXK7nK76"],leftPoint:[-4.137571545403402,-1.1828841297652275,.25018525188061747],rightPoint:[-3.6344233902256713,-1.6952284453755055,.25018525188061747],relativeAngle:-.7944537786001334,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"71Xv23m81dcuvYBk8UDpg2",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{id:"fvYFb2pAnenzxFGy1hd1nC",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["xewwKY8wmraW5H3W8KA3XV","71Xv23m81dcuvYBk8UDpg2","t5GH8Xd8h7kQ1uXXK7nK76","6uEEWTZCV76LChiCEwjXou","w2pokb3YWg3yZ7YCCbdX1w","gKowPySkxP5QDpYS45Ky87","d7o4BGzTN8VdkyE1cWq7ia","eBehuFBXFQvHTyVLAdaGdf","4GwFXBtR54ZnyGA71jYYZc","fYWGXixdnmhXJQ9obJmEx4","6XgmyJyqgEv5ifchExpE81","fsM3HFbdwGctcxehK1sWSn","xcRtMosaXc2kjoRaazGNSd","eyhcnsCSVemrG9SDzg4nJ2","aU3ZWFitC4Fgrww9n7FaQe","bHsvKPqQBPZPeMWXAxFnQa"],selected:!1,locked:!1,sideColor:"#8f6767",rise:20.34309413089949,ceiling:!1},{type:"Foundation",cx:42.75366036851538,cy:59.539698159110614,cz:.25,lx:10.249999999999995,ly:6.800000000000001,lz:.25018525188061747,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h1eHzifF9EYnFRDPhVNFMh",selected:!1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.8009797439083822,lx:.12303976124405665,ly:.3,lz:.500612339942739,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"kCsahZfC53mhXpdE7TMKTD",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"n1xfWKYM49Ta9i1jvUnSdx",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3030361779763614,lx:.14763364899706352,ly:.3,lz:1.1255629467693422,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",id:"t1uT7pQu9MoDXHdkcvNfZV",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.3813869265757474,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",id:"oHgCutzcC6esppUpaCZhxo",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jaye",cx:-3.1586003174219464,cy:42.50138216080711,cz:.300000011920929,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"gGGvteApaSqA4rn3D5Jbp6",selected:!1,locked:!1,ly:.55},{type:"Window",cx:-.20914766941250665,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qRAtVr3qjJXnPZvCynZgyN",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.20914766941250665,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"k25WWUL3hGYFBBRg8XmfZg",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3813869265757474,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"xpvMVVPvYfJtfXdZGuJKJ7",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3420580759264758,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"9MktNmqdZdUjgUT3J7mmKP",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.1805306511834178,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"5VB6B3ApC4i4eK9yQ41MtE",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.019003226440359768,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"wzeRPHbDL7fX7eVg8JovP1",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.15202581152287814,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"gajXEi8SYukHS1ccyswRmf",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.3135532362659362,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"8XYd7CxYiMzmhMgtNcF9hb",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.30405162304575645,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"iXrcQAXko5wJpsX8sJ8oxo",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.14252419830269836,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"dP8bg5cpSmNTjTSvLF6GmF",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.028504839660539658,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"nEjY9Gpj1vzDHW816Q21tM",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.17102903796323798,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"gFdP6DrScRCmNaddZ5LxW9",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.34205807592647597,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qYRq9Vy4HqB8CxTJbdKN9R",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.40390975298658544,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"7Lt4nrPUnVMu764fCtZmnY",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jamelia",cx:15.537054538671264,cy:-5.629500472027733,cz:.30000001192093256,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"8dBf5N1hG2GfhtqSBisTkY",selected:!1,locked:!1,ly:.65},{type:"Window",cx:-.23224810796728662,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j9LyHn7BbYyr1sVT3bpcdF",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.07068420677265246,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"f2jDtPu32L3psHVPyQZste",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.10097743824664636,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ojDrT4TtdCUuT741f3Cvkd",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26254133944128055,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"r25WWueVXf7KAQQ6LVAkkh",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.26254133944128066,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"881QknQ9aYiDKonXA8GnKw",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.10097743824664644,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"6AJhEo3V3och7gTNYqoNM9",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.06058646294798784,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"fL6TEjx55ZJKxKH9q12vGC",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23224810796728676,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"51kmNRrRmSEhwTtk8tqNeL",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.40390975298658566,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"fXSwM2zT4Nfs9fKB83zeeM",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3157345459686911,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"mrwfYRsQYZsxgg3XbWQ1C9",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-539285788621555e-32,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"bbxD9VsSepsiYkXX43SgSR",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.3157345459686911,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"7a1XMVdYNgeWFuGynLbyj6",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Door",cx:.024287272766822392,cy:0,cz:-.45,lx:.24287272766822393,ly:0,lz:.1,textureType:"Door Texture #5",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"bWWJD1gFk9dmFyj6UtBgyw",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3157345459686911,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"4S2resCtMssVYmHmddP2zN",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-539285788621555e-32,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"sBu7pLatsE56Y6wmZEVsrW",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.17001090936775676,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"pKcG4z62TKd9yDYm6HvFre",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.17001090936775676,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"94jWNmV88zyuJzH2jKEhjS",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.31573454596869105,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qLUGPVCbRRso5wPajMPhB9",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jeff",cx:-15.661746199983284,cy:-22.272680701572895,cz:.30000001192093256,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"ePaWVnF4Nn4YocprHwRiBU",selected:!1,locked:!1,ly:.6},{type:"Window",cx:.029547059313054503,cy:.1,cz:.3333333333333333,lx:.35456471175665405,ly:.3,lz:.21666666666666667,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"szxkDJ4zvsmCjRAjDwr4oT",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"mP3Am8ZtiUAtGfBZJbxuUF",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2659770155408789,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"dJZj2sUCxXenPrW2Jawxrw",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213778,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ta3rrvA6SZ71h7JpdQ8H9v",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.07253918605660334,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ka6Tnds7o2rpeQbTUL5XNR",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2659770155408789,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"3AmRpUZe9Zieufb9NFpKUe",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2659770155408789,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"9wNFWndGsb6CZofrG9Fupa",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213778,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ss9gxEkgAKKu97XBUXNM54",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.07253918605660334,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"u7JMjGgg9RrLGWHEohLHUW",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2659770155408789,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"seZJReiTn7AB935XPj7nmi",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29015674422641347,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j44vXPNj93wPQunzLh8T1Q",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213784,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"shnTbDVozQrbvzKdN1MMK9",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0967189147421378,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"33HVy94BzEoDPXtrspXujk",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.29015674422641347,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j4J8y7JeZK4qxfinaK39hR",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29015674422641347,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cRf1jRTwuR2e4zLg6vFDLv",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213784,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"vkoYTRq9mT4PwEwXPraM2s",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0967189147421378,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"mwATeDbSxAHev6LkxaPgTD",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3143364729119479,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"foK7LkvSM2WCizQJfUWA13",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.029980389503821973,cy:.1,cz:.3416666666666667,lx:.4796862320611516,ly:.1,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"ho8wYRGhLSJb2djJKqwSe1",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"kNDuFavJnC2DWCruSM8Yz5",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.04497058425573294,cy:.1,cz:.3416666666666667,lx:.5096666215649733,ly:.1,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"55SwaH9QxLHmcgrnQzAWTs",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"1zwyQ7SmozfQ7SawBNjqnG",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.029547059313054503,cy:.1,cz:.3416666666666667,lx:.47275294900887205,ly:.1,lz:.21666666666666667,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"rCFFBj6A2tyxuTVf5rPe81",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"pNX7KUpUJwgYkqu5xoyYFx",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1}],Rdn=88,Hdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[53.57176406047198,16.258735969028876,-5704638955527846e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[53.57176406047198,16.25858596239243,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-85.36846751108261,-76.3704417077798,98.31866395924627],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:11.3760018455292,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[59.19446663129345,19.785139016084358,32.12480868336017],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Mdn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Idn=1,zdn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Ddn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Edn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kdn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Fdn="Unknown",Ldn=null,Wdn=null,Ndn=null,Udn=[],Bdn={docid:wdn,time:vdn,timestamp:xdn,userid:bdn,owner:Sdn,email:Tdn,world:Pdn,elements:Cdn,sceneRadius:Rdn,view:Hdn,graphState:Mdn,evolutionMethod:Idn,solarPanelArrayLayoutParams:zdn,solarPanelArrayLayoutConstraints:Ddn,evolutionaryAlgorithmState:Edn,economicsParams:kdn,modelType:Fdn,modelAuthor:Ldn,modelLabel:Wdn,modelDescription:Ndn,notes:Udn},jdn="e5Mx3kDX6jj2XdEqyRiZ5Z",Ydn="06/12/2023 05:06 pm",Odn=1686603965753,_dn=null,Vdn=null,Gdn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Xdn=[{type:"Human",name:"Jedi",cx:-.35404550237608445,cy:-9.031512450493677,cz:-4440892098500626e-31,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.56,locked:!0},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.3,lz:6,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.3,lz:6,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.3,lz:6,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.3,lz:6,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Foundation",cx:.005791011935526669,cy:.058297538110867464,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:.00416666666666667,cy:0,cz:-.27499999999999997,lx:.125,ly:0,lz:.45,textureType:"Door Texture #15",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Arched",archHeight:1,filled:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2.2458395786002807,ceiling:!0,locked:!0},{type:"Window",cx:.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5CaMQ21unMpwofCSBHFHKy",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vXvgSmG1wzCSFmLFyHD3px",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tJCV3miBMBbJoQ5KVL5GnC",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nRhC43dgJ576icoywiE43t",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Human",name:"Jess",cx:-7.267359835478274,cy:-5.46716265973663,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"5FVsreGyGxfLQLGYPuw8VY",selected:!1,locked:!0},{type:"Wall",cx:.030224599657563633,cy:2.181664431199555,cz:2.2408122612280286,lx:4.432938866484924,ly:.3,lz:2.43795716101014,leftJoints:["6q7e31mDw8dyN76mepj8pf"],rightJoints:["91j8TFnFqna2wESTuPP4Kp"],leftPoint:[2.2466940329000256,2.181664431199555,0],rightPoint:[-2.1862448335848983,2.181664431199555,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ej8aZCWbLXMBpE4Cdavwp6",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:3.9650570060090606,rightRoofHeight:2.43795716101014,centerRoofHeight:[-.5,3.9650570060090606],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Wall",cx:2.2466940329000256,cy:-.05093095151911964,cz:2.2301039869226305,lx:4.46519076543735,ly:.3,lz:3.9650570060090606,leftJoints:["oNnwF78XTbjrii9WEpinq5"],rightJoints:["ej8aZCWbLXMBpE4Cdavwp6"],leftPoint:[2.246694032900025,-2.2835263342377945,0],rightPoint:[2.2466940329000264,2.181664431199555,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6q7e31mDw8dyN76mepj8pf",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:3.9650570060090606,rightRoofHeight:3.9650570060090606,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.2233373091364115,rightUnfilledHeight:3.2233373091364115,leftTopPartialHeight:3.9650570060090606,rightTopPartialHeight:3.9650570060090606},{type:"Wall",cx:-2.1862448335848983,cy:-.05093095151911964,cz:2.228839888904333,lx:4.46519076543735,ly:.3,lz:2.43795716101014,leftJoints:["ej8aZCWbLXMBpE4Cdavwp6"],rightJoints:["oNnwF78XTbjrii9WEpinq5"],leftPoint:[-2.1862448335848983,2.181664431199555,0],rightPoint:[-2.1862448335848983,-2.2835263342377945,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"91j8TFnFqna2wESTuPP4Kp",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:2.43795716101014,rightRoofHeight:2.43795716101014,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Wall",cx:.030224599657564077,cy:-2.2835263342377945,cz:2.268765007024547,lx:4.432938866484925,ly:.3,lz:2.43795716101014,leftJoints:["91j8TFnFqna2wESTuPP4Kp"],rightJoints:["6q7e31mDw8dyN76mepj8pf"],leftPoint:[-2.1862448335848983,-2.2835263342377945,0],rightPoint:[2.2466940329000264,-2.2835263342377945,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oNnwF78XTbjrii9WEpinq5",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:2.43795716101014,rightRoofHeight:3.9650570060090606,centerRoofHeight:[.5,3.9650570060090606],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Foundation",cx:-8.111049740764729,cy:.08239268090626156,cz:.05,lx:6.036367189018974,ly:6.431853734147982,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7pHjvqBpPz7sYq5ET1nnMX",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["6q7e31mDw8dyN76mepj8pf"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",id:"soVsWFGXbdhR2HYVAwuauC",ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],rise:0,ceiling:!1,locked:!0},{type:"Window",cx:-.11279199083484595,cy:.1,cz:.10254486994201946,lx:.2255839816696919,ly:.3,lz:.6152692196521174,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aS26toPbuxFA4EAg6ptRCD",parentId:"oNnwF78XTbjrii9WEpinq5",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.08281474884461537,lx:.671863792073878,ly:.3,lz:.6547294618469256,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oy9eXMTPrwyNzvomHovfsD",parentId:"91j8TFnFqna2wESTuPP4Kp",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.11279199083484595,cy:.1,cz:.10254486994201946,lx:.2255839816696919,ly:.3,lz:.6152692196521174,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4mXMxYJnZGCrX3QZdFQHGr",parentId:"ej8aZCWbLXMBpE4Cdavwp6",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.8322807242725112,cy:1.200921695970016,cz:2.2408122612280286,lx:.8544333532350403,ly:.15,lz:9.575974551005562,leftJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],rightJoints:["dMssi4ADwUhxkBhQ377g3E"],leftPoint:[-.4050640476549914,1.200921695970016,.11969968188756955],rightPoint:[-1.259497400890032,1.200921695970016,.11969968188756955],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5koEPnk7n6ka7L389qtGvZ",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.4050640476549914,cy:.14277050874931954,cz:2.2301039869226305,lx:2.1163023744413962,ly:.15,lz:9.575974551005562,leftJoints:["sW8KRkVjiejYRvNZCfXEAP"],rightJoints:["5koEPnk7n6ka7L389qtGvZ"],leftPoint:[-.4050640476549914,-.9153806784713785,.11969968188756955],rightPoint:[-.4050640476549914,1.200921695970016,.11969968188756955],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pw9wMqrj3Enw2zC5Tgk6yR",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.259497400890032,cy:.14277050874931954,cz:2.228839888904333,lx:2.1163023744413962,ly:.15,lz:9.575974551005562,leftJoints:["5koEPnk7n6ka7L389qtGvZ"],rightJoints:["sW8KRkVjiejYRvNZCfXEAP"],leftPoint:[-1.259497400890032,1.200921695970016,.11969968188756955],rightPoint:[-1.259497400890032,-.9153806784713785,.11969968188756955],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dMssi4ADwUhxkBhQ377g3E",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.8322807242725112,cy:-.9153806784713785,cz:2.268765007024547,lx:.8544333532350405,ly:.15,lz:9.575974551005562,leftJoints:["dMssi4ADwUhxkBhQ377g3E"],rightJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],leftPoint:[-1.259497400890032,-.9153806784713785,.11969968188756955],rightPoint:[-.4050640476549914,-.9153806784713785,.11969968188756955],relativeAngle:0,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sW8KRkVjiejYRvNZCfXEAP",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Foundation",cx:7.486416419884205,cy:-.2409139792702466,cz:.05,lx:2.839701333763733,ly:2.938267885749648,lz:.11969968188756955,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEHo3z28Ar77Wu5WGXMk73",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:8.075263543932596,cy:-.6884958197811117,cz:.5701039576976044,lx:5.507966558248896,ly:.1,lz:1,leftJoints:[],rightJoints:["mqNMzZ6M874kpGr6Eb5P4b"],leftPoint:[8.075263543932598,2.065487459343336,0],rightPoint:[8.075263543932595,-3.4424790989055594,0],relativeAngle:-1.5707963267948974,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pTqaBUKRmjPL9fsFDPBYdH",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-8.075263543932598,cy:-.6884958197811117,cz:2.228839888904333,lx:5.507966558248896,ly:.1,lz:1,leftJoints:["txrhd5ZN1ZaUi7X6CidW39"],rightJoints:[],leftPoint:[-8.075263543932598,-3.4424790989055594,0],rightPoint:[-8.075263543932598,2.065487459343336,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1eZoH5UbMqtXnnStv5oPMy",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-3.545116350166421,cy:-3.4494515352900414,cz:.6126379187745709,lx:9.060305118936492,ly:.1,lz:1,leftJoints:[],rightJoints:["1eZoH5UbMqtXnnStv5oPMy"],leftPoint:[.9850308435997561,-3.4564239716745235,0],rightPoint:[-8.075263543932598,-3.4424790989055594,0],relativeAngle:3.140053535636089,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"txrhd5ZN1ZaUi7X6CidW39",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-2.1373102684560767,cy:-4.085170940145713,cz:.05,lx:19.693313015419633,ly:8.765160185704904,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eUQQcfUyWDHA7KoGuDBRyw",selected:!1,locked:!0,enableGroupMaster:!1,notBuilding:!0},{type:"Wall",cx:5.761435748265872,cy:-3.449451535290042,cz:.5701039576976044,lx:4.6276766018679725,ly:.1,lz:1,leftJoints:["pTqaBUKRmjPL9fsFDPBYdH"],rightJoints:[],leftPoint:[8.075263543932598,-3.4424790989055603,0],rightPoint:[3.4476079525991463,-3.4564239716745235,0],relativeAngle:-3.1385792853117462,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mqNMzZ6M874kpGr6Eb5P4b",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Tree",name:"Elm",cx:12.193483954680035,cy:-3.450559107713003,cz:8881784197001252e-31,lx:8.182228289296598,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nHGsDGLUFhyht1nKkbShZS",selected:!1,locked:!0},{type:"Tree",name:"Maple",cx:-14.053228627664431,cy:-3.1648808638293726,cz:0,lx:7.51702234293303,lz:8.935898046217556,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"pYVQihimDYo3cuWwFUxGRV",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:3.290712882109931,cy:-6.730243806005441,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"pv5MXJzN7e4QwMAqb7AK2K",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-3.2352418118616306,cy:-6.686295545696994,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"evYRkJazdBwJn4ArepyeZH",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-5.425159494402423,cy:-6.686295545696994,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"mr1vQH3R9jwp2hzXcmJrDH",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-7.004918274330166,cy:-.19566971843541836,cz:.03284187614917755,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"qPgjnRK2xBNDKQYWaqPEJW",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:-9.151037603220141,cy:-3.889330876320888,cz:.03284187614917755,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"m8cKNBQB4gUpU1aJMFZzhU",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:9.13503616494302,cy:-3.964216287045085,cz:.032841876149175775,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"tncEiBTcdo5sNQWHKbsyh2",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-7.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"3vTcKnJjhDrau5WtHq6mBt",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-6.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"sDmTVeVfizELxSDFfm4Uea",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-5.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"g823QGzRg2L3V2cZr4aRxd",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-4.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"hHUhERpDDMaotPBoVG69kS",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-3.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"kHQDrKatqtEmBRsqGsesEx",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-2.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"tZShdZCdNYPMDRYqULaCBd",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-1.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"7t2HS7jELVuWTJ8wEd6GU6",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"2CQpgvbKEJRX6BS4JzKyeA",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:.33810642090759657,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"j13bnHy89XjWxoKTXY11wT",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:3.9884684920246123,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"jGj2jbHeSWSMLQ4R6813YK",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:4.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"2Fq3eCF7Cmj4HXLnWJj5XE",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:5.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"3ykQAwfp6KeX9fEn2PpH4T",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:6.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"e26QSrjZiynidud1nyPf16",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:7.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"aZdoik5bFQJGAW29Jo71RA",selected:!1,locked:!0},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:-.15060725129335759,cy:-.0069023347929206705,cz:8.339264661200525,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,.4097333676171505,.9122053318530369],rotation:[.4221617487320859,0,3.141592653589793],parentId:"1iq4TPqH8xr1w2VxMAh8MU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"gsaoCVaDLKgne3oCcDZ5e9",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:6,intensity:8,color:"#fe9200",cx:.004999999999999995,cy:0,cz:-.02333333333333333,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eS9BNDuHjJf4dGFLVwhXwG",selected:!1,locked:!0},{type:"Door",cx:-.01000000000000002,cy:0,cz:-.21666666666666667,lx:.42000000000000004,ly:0,lz:.5666666666666667,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"jbVYfDfRVVQDSMqv6ux2rr",locked:!0,interior:!0},{type:"Foundation",cx:.0987039168470164,cy:-6.316994564085812,cz:.05,lx:3.2352197337597937,ly:4.369968224342228,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"myXiyVt2NURPnPChDUSnvF",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:.016199018084092187,cy:1.482279391694321,cz:2.2408122612280286,lx:2.375854690465504,ly:.3,lz:3.2841875196772365,leftJoints:["cRF4aFTgNdpMTdmopKNDYe"],rightJoints:["maCaKmF7W1UtJB4NhBQsX3"],leftPoint:[1.204126363316844,1.482279391694321,0],rightPoint:[-1.1717283271486596,1.482279391694321,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qA9MpNw8bZfY7qVfr846Q8",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Stud",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,centerRoofHeight:[0,3.837098172113132],structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:1.2041263633168442,cy:-.03460380925524109,cz:.9803491274068566,lx:3.0337664018991246,ly:.3,lz:3.2841875196772365,leftJoints:["5ExmWkfAba5nuC3xfHo5vU"],rightJoints:["qA9MpNw8bZfY7qVfr846Q8"],leftPoint:[1.204126363316844,-1.5514870102048033,0],rightPoint:[1.2041263633168446,1.482279391694321,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cRF4aFTgNdpMTdmopKNDYe",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:-1.1717283271486596,cy:-.03460380925524109,cz:2.228839888904333,lx:3.0337664018991246,ly:.3,lz:3.2841875196772365,leftJoints:["qA9MpNw8bZfY7qVfr846Q8"],rightJoints:["5ExmWkfAba5nuC3xfHo5vU"],leftPoint:[-1.1717283271486596,1.482279391694321,0],rightPoint:[-1.1717283271486596,-1.5514870102048033,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"maCaKmF7W1UtJB4NhBQsX3",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:.01619901808409252,cy:-1.5514870102048033,cz:2.268765007024547,lx:2.3758546904655042,ly:.3,lz:3.2841875196772365,leftJoints:["maCaKmF7W1UtJB4NhBQsX3"],rightJoints:["cRF4aFTgNdpMTdmopKNDYe"],leftPoint:[-1.1717283271486596,-1.5514870102048033,0],rightPoint:[1.2041263633168446,-1.5514870102048033,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5ExmWkfAba5nuC3xfHo5vU",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Default",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,centerRoofHeight:[0,3.837098172113132],structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Partial",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.110608215274513,rightUnfilledHeight:3.110608215274513,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["maCaKmF7W1UtJB4NhBQsX3"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",id:"kL2csyDhpYU6Tdyq5APXiG",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:.5529106524358953,ceiling:!1,locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.21045058100840097,y:-.6089786250075502},{x:-.21045058100840097,y:-.4567339687556626},{x:.21045058100840097,y:-.4567339687556626},{x:.21045058100840097,y:-.6089786250075502}],parentId:"5ExmWkfAba5nuC3xfHo5vU",parentType:"Wall",foundationId:"myXiyVt2NURPnPChDUSnvF",selected:!1,filled:!0,selectedIndex:2,id:"19jcnLnazAo68d9SCy19QV",noOutline:!0,text:"26",fontSize:.35,fontColor:"gold",locked:!0},{type:"Door",cx:-.05,cy:0,cz:-.4583333333333333,lx:.1,ly:0,lz:.08333333333333333,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"3zkRmLGDcsm6tCGsvCTs4B",interior:!0,frameColor:"#4d4d4d",locked:!0}],Jdn=22,Kdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-7.862597366276697,1.7514757983201874,17661570980830242e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-7.862597366276697,1.7504754208759876,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-6.838817312607155,-22.7607406255055,2.6094586494143144],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:30.146795390577452,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.07649922483275468,1.5616450860400017,2.4309145652183837],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},qdn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},$dn=1,Qdn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Zdn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},efn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},tfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},nfn="Unknown",ofn=null,ifn=null,rfn=null,afn=[],lfn={docid:jdn,time:Ydn,timestamp:Odn,owner:_dn,email:Vdn,world:Gdn,elements:Xdn,sceneRadius:Jdn,view:Kdn,graphState:qdn,evolutionMethod:$dn,solarPanelArrayLayoutParams:Qdn,solarPanelArrayLayoutConstraints:Zdn,evolutionaryAlgorithmState:efn,economicsParams:tfn,modelType:nfn,modelAuthor:ofn,modelLabel:ifn,modelDescription:rfn,notes:afn},sfn="bdxRpN9LUZ1jTZzjLf3j79",cfn="08/16/2023 09:04 am",ufn=1692191055280,dfn="QWecNcxhyvP6j6sBN11hBsfZDau1",ffn=null,hfn=null,pfn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},gfn=[{ly:15.82679166341284,solarUpdraftTower:{},parentId:"Ground",cx:-8.9649429178124,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.5215353669749065,type:"Foundation",solarPowerTower:{},lx:19.683950802792882,lz:.08304003951954272,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.04152001975977136,enableGroupMaster:!0,textureType:"Foundation Texture #4",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:3.3216015807817088,roofId:"sfGxVh6UQ5Rh5eXQutdage",ly:.3,rightPoint:[-6.139317409562167,6.280059949020198,.08304003951954272],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[5.860682590437832,6.280059949020198,.08304003951954272],type:"Wall",rightRoofHeight:3.3216015807817088,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:3.3216015807817088,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.13931740956216743,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:6.280059949020198,color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{type:"Wall",parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.860682590437831,leftPoint:[5.860682590437829,-3.719940050979802,.08304003951954272],cy:1.2800599490201985,leftRoofHeight:3.3216015807817088,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.860682590437833,6.280059949020198,.08304003951954272],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:3.3216015807817088,centerRoofHeight:[0,6.6432031615634175],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:3.3216015807817083,roofId:"sfGxVh6UQ5Rh5eXQutdage",centerLeftRoofHeight:[-.35,4.982402371172563],centerRightRoofHeight:[.35,4.982402371172564],color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{lx:10,lz:3.3216015807817088,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"sfGxVh6UQ5Rh5eXQutdage",selected:!1,cy:1.2800599490201985,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[0,6.6432031615634175],rightPoint:[-6.139317409562167,-3.719940050979802,.08304003951954272],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:3.3216015807817083,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.139317409562166,6.280059949020198,.08304003951954272],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:3.3216015807817088,ly:.3,cx:-6.139317409562167,centerLeftRoofHeight:[-.35,4.982402371172563],centerRightRoofHeight:[.35,4.982402371172564],color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{showLabel:!1,cx:-.13931740956216743,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.860682590437833,-3.719940050979802,.08304003951954272],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-3.719940050979802,id:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"sfGxVh6UQ5Rh5eXQutdage",leftPoint:[-6.139317409562167,-3.719940050979802,.08304003951954272],normal:[0,0,1],ly:.3,lz:3.3216015807817088,leftRoofHeight:3.3216015807817088,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:3.3216015807817088,lx:12,color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{type:"Window",showLabel:!1,ly:0,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.07139510364251808,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.07139510364251808,normal:[0,0,1],cx:-.225,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.44384979425833565,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#ffffff",cz:-.07139510364251808,cy:.3,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:-.07139510364251808,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Joan",cx:-9.748795495187615,cy:-11.885843529724642,cz:0,lx:1.7,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:1.7,locked:!0},{type:"Tree",name:"Magnolia",flip:!0,cx:2.83831023868078,cy:.3026770951383977,cz:0,lx:4.909285741329502,lz:7.047282022546526,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"t5Aj8tjjpqVaLaB3uEqfR8",selected:!1,locked:!0},{type:"Window",cx:-.2916666666666667,cy:-13376344861350336e-31,cz:0,lx:.08333333333333333,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:-11010413489448665e-30,cz:0,lx:.08333333333333333,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,roofType:"Gambrel",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #1",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sfGxVh6UQ5Rh5eXQutdage",color:"#666666",thickness:.15,locked:!0,rise:3.3216015807817088,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Wall",cx:-.17032995035379805,cy:2.9140760690705836,cz:2.2408122612280286,lx:4,ly:.3,lz:3.45,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[1.829670049646202,2.914076069070582,.08304003951954272],rightPoint:[-2.170329950353798,2.9140760690705845,.08304003951954272],relativeAngle:3.1415926535897922,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.4499999999999993,centerRoofHeight:[0,6.716478772745814],centerLeftRoofHeight:[-.35,5.083239386372908],centerRightRoofHeight:[.35,5.083239386372907],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.35,rightUnfilledHeight:3.35,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:1.829670049646202,cy:-.3359239309294191,cz:2.2301039869226305,lx:6.500000000000001,ly:.3,lz:3.45,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[1.8296700496462002,-3.5859239309294173,.08304003951954272],rightPoint:[1.8296700496462037,2.914076069070582,.08304003951954272],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.45,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.0873856802470327,rightUnfilledHeight:2.3262939270695226,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:-2.170329950353798,cy:-.3359239309294191,cz:2.228839888904333,lx:6.5,ly:.3,lz:3.45,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-2.170329950353798,2.914076069070582,.08304003951954272],rightPoint:[-2.170329950353798,-3.5859239309294173,.08304003951954272],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.45,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.1078217002230364,rightUnfilledHeight:2.2273879622936055,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:-.17032995035379805,cy:-3.5859239309294173,cz:2.268765007024547,lx:3.9999999999999982,ly:.3,lz:3.45,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-2.170329950353798,-3.5859239309294173,.08304003951954272],rightPoint:[1.8296700496462002,-3.5859239309294173,.08304003951954272],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.450000000000001,centerRoofHeight:[0,6.716478772745814],centerLeftRoofHeight:[-.35,5.083239386372908],centerRightRoofHeight:[.35000000000000003,5.083239386372907],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Foundation",cx:-8.995176289846825,cy:-2.548120633774467,cz:.04152001975977136,lx:7.238675704625617,ly:10.649205015118838,lz:.08304003951954272,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,textureType:"No Foundation Texture",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Human",name:"Joel",cx:-7.789004610682257,cy:-12.04210360652551,cz:8881784197001252e-31,lx:1.8,ly:1.8,lz:1.75,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.8730728022225684,lx:.4000000000000002,ly:.3,lz:.5419072565519394,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"9sxNKgBrTJz5rbuB2EAigV",mullionSpacing:.56,shutter:{showLeft:!1,showRight:!1,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:.8,empty:!1},{type:"Door",cx:-.012500000000000002,cy:0,cz:-.0693642478160203,lx:.225,ly:0,lz:.8612715043679594,textureType:"Door Texture Default",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"3ToGStSrcyguQUUqJUFhxz",locked:!0,doorType:"Default",archHeight:1,filled:!1,interior:!0},{type:"Window",cx:-.3,cy:0,cz:0,lx:.10000000000000002,ly:0,lz:.5000000000000001,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"qoQarTFv95tVF8owcPVUFr",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.35,cy:0,cz:0,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gFrpbUVsUk5Cyw1YgAc3Su",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:0,cz:1.1,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"g7oggQtbGLCJnWDBEWrL6f",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:0,cz:0,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"9KXbYufDZik3nedxtSG2Wa",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3,cy:11102230246251565e-31,cz:0,lx:.1,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hP5LnWCZSyCWuh6LURpM1g",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.5000000000000002,ly:0,lz:.75,textureType:"Door Texture #2",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"xfiB1ehYmvvHX7d6tsihDv",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Foundation",cx:-13.194524944705082,cy:-3.7517234810804703,cz:.05,lx:4.724839965236282,ly:9.227617734475299,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vQQ15yke8RSPKZiM6iV1gf",textureType:"Foundation Texture #1",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-1.1428938383677334,cy:2.0741127418694787,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,relativeAngle:4.71238898038469,leftPoint:[-1.1428938383677334,4.324112741869479,.1],rightPoint:[-1.1428938383677334,-.1758872581305213,.1],leftJoints:["9UyBScab4vxjAdrfwjXhxP"],rightJoints:["6U3sDe4yzT2QH8iRY62SdZ"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"1F9rbQh1mAYkQprzoxJ12Q",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.812802766367991,rightUnfilledHeight:3.4823963079433295,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.1071061616322666,cy:4.324112741869479,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,relativeAngle:3.141592653589793,leftPoint:[1.3571061616322666,4.324112741869479,.1],rightPoint:[-1.1428938383677334,4.324112741869479,.1],leftJoints:["vy2WJt6CvVCYvqCPAeFYe5"],rightJoints:["1F9rbQh1mAYkQprzoxJ12Q"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"9UyBScab4vxjAdrfwjXhxP",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.662549619276321],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.238894569131756,rightUnfilledHeight:4.238894569131756,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:1.3571061616322666,cy:2.0741127418694787,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,relativeAngle:1.5707963267948966,leftPoint:[1.3571061616322666,-.1758872581305213,.1],rightPoint:[1.3571061616322666,4.324112741869479,.1],leftJoints:["6U3sDe4yzT2QH8iRY62SdZ"],rightJoints:["9UyBScab4vxjAdrfwjXhxP"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"vy2WJt6CvVCYvqCPAeFYe5",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.596810400573552,rightUnfilledHeight:5.812802766367991,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.1071061616322666,cy:-.1758872581305213,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,relativeAngle:0,leftPoint:[-1.1428938383677334,-.1758872581305213,.1],rightPoint:[1.3571061616322666,-.1758872581305213,.1],leftJoints:["1F9rbQh1mAYkQprzoxJ12Q"],rightJoints:["vy2WJt6CvVCYvqCPAeFYe5"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"6U3sDe4yzT2QH8iRY62SdZ",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.662549619276321],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.6595021394542453,rightUnfilledHeight:3.6595021394542453,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1F9rbQh1mAYkQprzoxJ12Q"],textureType:"Roof Texture #1",color:"#454769",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"9Jb55MpdEHfaQRtH1w8w7c",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.8497468529083303,ceiling:!1},{type:"Wall",cx:-1.1202290403576152,cy:2.071621897384918,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,leftJoints:["1nb1rRhk5XTwkqRDvamK5g"],rightJoints:["3LCPjAAvYioWiSGfdrWDra"],leftPoint:[-1.1202290403576152,4.321621897384919,.1],rightPoint:[-1.1202290403576152,-.17837810261508213,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"bpwfKUJNQLVoQQHt2xqi72",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.812802766367991,rightUnfilledHeight:3.2790718567695616,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.12977095964238483,cy:4.321621897384919,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,leftJoints:["mMwirEeb4r8mhYQ7E9qdX2"],rightJoints:["bpwfKUJNQLVoQQHt2xqi72"],leftPoint:[1.3797709596423848,4.321621897384919,.1],rightPoint:[-1.1202290403576152,4.321621897384919,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"1nb1rRhk5XTwkqRDvamK5g",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.6628027663679905],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.6979530221307058,rightUnfilledHeight:3.6979530221307058,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:1.3797709596423848,cy:2.071621897384918,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,leftJoints:["3LCPjAAvYioWiSGfdrWDra"],rightJoints:["1nb1rRhk5XTwkqRDvamK5g"],leftPoint:[1.3797709596423848,-.17837810261508213,.1],rightPoint:[1.3797709596423848,4.321621897384919,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"mMwirEeb4r8mhYQ7E9qdX2",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.3444620413364214,rightUnfilledHeight:5.812802766367991,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.12977095964238483,cy:-.17837810261508213,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,leftJoints:["bpwfKUJNQLVoQQHt2xqi72"],rightJoints:["mMwirEeb4r8mhYQ7E9qdX2"],leftPoint:[-1.1202290403576152,-.17837810261508213,.1],rightPoint:[1.3797709596423848,-.17837810261508213,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"3LCPjAAvYioWiSGfdrWDra",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.6628027663679905],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.203916013233736,rightUnfilledHeight:3.203916013233736,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Foundation",cx:-5.154384285489001,cy:-3.843449030047704,cz:.05,lx:5.245611715983199,ly:9.222636045506174,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,textureType:"Foundation Texture #1",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["bpwfKUJNQLVoQQHt2xqi72"],textureType:"Roof Texture #1",color:"#454769",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"3RtfyZgDoXZ3wGixrorVUM",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.85,ceiling:!1},{type:"Window",cx:.019999999999999997,cy:.1,cz:.35266980188300795,lx:.44000000000000006,ly:.3,lz:.22364426460873682,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"3LCPjAAvYioWiSGfdrWDra",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"nEpoC7XwMto4CjwuGq3WQ5",mullionSpacing:.6,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3607208764315504,lx:.4,ly:.3,lz:.24194892545145757,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"6U3sDe4yzT2QH8iRY62SdZ",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"izgEX4RP4fMzobDmWztBrf",mullionSpacing:.6,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-9.128472071553885,cy:-5.731921555180726,cz:.05,lx:10.661429059004004,ly:5.310443804879643,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jjxHg8QgQHBYMPjmTLKh9Y",textureType:"No Foundation Texture",locked:!0,notBuilding:!0},{type:"Wall",cx:-3.055204431580803,cy:-1.835109259524482,cz:0,lx:1.8466260644079497,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-3.9785174637847778,-1.8351092595244811,.1],rightPoint:[-2.131891399376828,-1.835109259524483,.1],relativeAngle:6.283185307179585,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"wyasgQhDU8TZWAHXXtnR4J",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-3.9785174637847778,cy:-.160751432682531,cz:.5175200861571223,lx:3.3487156536839,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-3.9785174637847796,1.513606394159419,.1],rightPoint:[-3.9785174637847778,-1.8351092595244811,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"6Hv4mJv5hCRGAqNa8Wf45B",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.7895023054362934,rightTopPartialHeight:.7895023054362934},{type:"Wall",cx:3.9728241996527984,cy:-.16075143268253278,cz:.5732895465300347,lx:3.3487156536839007,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[3.9728241996527993,-1.835109259524483,.1],rightPoint:[3.9728241996527984,1.5136063941594173,.1],relativeAngle:1.570796326794897,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"1fR31M3LuxWCDraA3p4mZU",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.847582665593212,rightTopPartialHeight:.847582665593212},{type:"Wall",cx:2.997153367934011,cy:-1.835109259524483,cz:0,lx:1.951341663437577,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[2.0214825362152222,-1.835109259524483,.1],rightPoint:[3.9728241996527993,-1.835109259524483,.1],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"iUM2Ms6kj53m7TzQjPhH62",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-1.6211500807426074,cy:.8631023553389863,cz:.05,lx:4.818228793661425,ly:2.663944474302019,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1tKxhv9RZ3WGSr4yfyFtGe",textureType:"No Foundation Texture",locked:!0,notBuilding:!0},{type:"Wall",cx:-.7514450867052019,cy:.5637297015144593,cz:0,lx:1.5028901734104034,ly:.25,lz:9,relativeAngle:3.141592653589793,leftPoint:[-26696692384049984e-32,.5637297015144593,0],rightPoint:[-1.5028901734104037,.5637297015144593,0],leftJoints:["188rdr57sdmGcfGiDQEznS"],rightJoints:["t7nvzQnWvPgJFKi8qM2KJ2"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"nzDmLXy4XJEJgippavtWPK",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:.00011804109969691571,cy:-.1412546603508431,cz:0,lx:1.4099687434951584,ly:.25,lz:9,relativeAngle:1.5709637646913654,leftPoint:[.00023608219939409838,-.8462390222161456,0],rightPoint:[-26696692384049984e-32,.5637297015144593,0],leftJoints:["bKLADc1rtEXxLWJ2wpXCyG"],rightJoints:["nzDmLXy4XJEJgippavtWPK"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"188rdr57sdmGcfGiDQEznS",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-1.5028901734104037,cy:-.14093242537861483,cz:0,lx:1.4093242537861483,ly:.25,lz:9,relativeAngle:-1.5707963267948966,leftPoint:[-1.5028901734104037,.5637297015144593,0],rightPoint:[-1.5028901734104037,-.845594552271689,0],leftJoints:["nzDmLXy4XJEJgippavtWPK"],rightJoints:["bKLADc1rtEXxLWJ2wpXCyG"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"t7nvzQnWvPgJFKi8qM2KJ2",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.7702585421996653,rightUnfilledHeight:3.7702585421996653,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-.7513270456055048,cy:-.8459167872439173,cz:0,lx:1.5031263937690138,ly:.25,lz:9,relativeAngle:-.0004287530089774864,leftPoint:[-1.5028901734104037,-.845594552271689,0],rightPoint:[.00023608219939409838,-.8462390222161456,0],leftJoints:["t7nvzQnWvPgJFKi8qM2KJ2"],rightJoints:["188rdr57sdmGcfGiDQEznS"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"bKLADc1rtEXxLWJ2wpXCyG",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Tree",name:"Dogwood",flip:!0,cx:-17.829756210687247,cy:-6.178261442103567,cz:0,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"sgSHG9SfkfzrTceiA5T19b",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-14.43393823103578,cy:-4.956583187921545,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fwbwXjTKB4ejYpnXGBAaQt",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-4.4821432852704675,cy:.4495990226501192,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"24FmLU3mJkXNY53JzrL5Dt",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-4.910500041352744,cy:.9540476712796391,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"reEeBmqCcbQu2EtMT38ywZ",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:4.9562085665626325,cy:1.0667527129983299,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"o3P5EpuHXdx6pH3hYkfv1R",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:4.317403660851184,cy:.4787676966756642,cz:.05999999865889727,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"3LVtMLU8sBDE9SYSdKtA6S",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:5.530912218683256,cy:1.5116578930650046,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"2Y1swCnkjr3jQPeteyJshF",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.806452300697741,cy:1.744166442984243,cz:.05999999865889727,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"8t9PQbZw572ixzdS9MRLLW",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.291768127996638,cy:1.3247562673381097,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"4JVL5x9cWyH4LksfSY1fX3",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.661246706636892,cy:1.5508003603072646,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"nGnmCTUqQFz7isWWpWK3Mz",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-.33218746630730145,cy:-.5494864663355421,cz:.05000000074505895,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",id:"gZ9m1tT2VUgZsBDcfZh8HW",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-4.244159478853515,cy:1.7707434623377676,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"9SxVYH5WbgA3HtDCqqfPhx",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-4.802140374248943,cy:1.496640607591619,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"bJusUpxFXhNuVLWkwSgPDp",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",flip:!0,cx:-4.49997835962516,cy:-1.1855861204384208,cz:.06,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"abgyaezp654EktrPW99LBw",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:4.432083177417134,cy:-1.2772922274665977,cz:.06,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"7MNjP1XvBJBd9d5PFunfnH",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:-7.116951685811008,cy:3.638352633555244,cz:.04152001813054085,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1FPVPX2cPwyJtX2iR6TB6X",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:1.182265720860439,cy:-.23022475718108382,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"qbSQDtvRnmoWesph95KY9z",selected:!1,locked:!0},{type:"Human",name:"Jade",cx:-3.033395250022613,cy:-.5816610420513619,cz:.05999999865889549,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"mtu9ruoaP4m3bTDiUvwuGN",selected:!1,ly:.48,locked:!0,flip:!0},{type:"Human",name:"Jose",cx:-16.76731141531199,cy:-10.548882253809875,cz:-17763568394002505e-31,lx:2,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"96NHdfhp3jEHitMi3f3E5K",selected:!1,ly:2,locked:!0,flip:!0},{type:"Flower",name:"Hibiscus",cx:-7.181651324625273,cy:-1.60099461837087,cz:.04152001813054085,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dVDLRSyAD2wDbGWk4knF4E",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:1.620258691481478,cy:-5.240948297707899,cz:4440892098500626e-31,lx:5.556994802603297,lz:7.996988894474121,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"oELXz144CkaWe2X3qoRnK8",selected:!1,locked:!0},{type:"Human",name:"Jaye",cx:-1.4302201700943762,cy:-2.031152248382565,cz:.04943574334705669,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"gr5QDB4cbkGum8zoHp2N7d",selected:!1,locked:!0,ly:.55},{type:"Tree",name:"Dogwood",cx:-8.836300989612065,cy:6.666048417776266,cz:.0415200181305444,lx:3,lz:4,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tirzAP1CYKccDFYsQijz2n",selected:!1,locked:!0},{type:"Window",cx:-.008333333333333331,cy:.1,cz:-.009152330421360376,lx:.08333333333333333,ly:.3,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:.9,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8fVvNLwh7c4hGNqS46E2j",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},selected:!1,windowType:"Default",archHeight:1,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gambrel",roofStructure:"Default",wallsId:["2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #1",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"p1WWYMY9TmVyswdgfSEZfZ",rise:3.266478772745814,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1],locked:!0},{type:"Window",cx:-4.213281959601948,cy:-2.634538118666024,cz:4.673359172167364,lx:2.1500259275083913,ly:.15,lz:1.2358639032447665,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"bAFTA4vJ8U4gd3hFz74r7X",locked:!0,interior:!0,empty:!0},{type:"Window",cx:-4.195476233446163,cy:-1.505374843371567,cz:5.4714739316244385,lx:2.170306524786385,ly:.15,lz:1.415052250899271,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"5CQw4ehLx6bYSBiyfowUgp",locked:!0,interior:!0,empty:!0,polygonTop:[.041335690072458735,2.1804081724852833]},{type:"Window",cx:3.9865243272197457,cy:-2.690596399748453,cz:4.611291413814264,lx:2.264658675515979,ly:.15,lz:1.4006562758537777,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"73WXvEpNVy6WMicsQVtM4K",locked:!0,interior:!0,empty:!0},{type:"Window",cx:4.003502641451691,cy:-1.5436235422141884,cz:5.453324368976082,lx:2.2758545278519184,ly:.15,lz:1.4725562648663195,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6sSeyqhkrkXd9xruJTto55",locked:!0,interior:!0,polygonTop:[-.03456014333676215,2.044626136017569],empty:!0},{type:"Window",cx:-.14301293626591338,cy:-3.0760156278277453,cz:4.184555041396983,lx:2.492322842531612,ly:.15,lz:2.5010692402560784,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"roHftPtnfwZguzJ6CGy1u1",locked:!0,interior:!0},{type:"Door",cx:-.1269230769230768,cy:0,cz:-.032608695652173926,lx:.7153846153846152,ly:0,lz:.9347826086956521,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"mjYXviVCxSp5wKZomZ1KXX",interior:!0,locked:!0},{type:"Door",cx:.12692307692307694,cy:0,cz:-.032608695652173926,lx:.7153846153846154,ly:0,lz:.9347826086956521,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"gVuhwxMRjqj8Y5dEW4h6yb",locked:!0,interior:!0},{type:"Window",cx:-.18164384373242548,cy:-2.1763353010978204,cz:5.153093457763647,lx:2.4530899553344963,ly:.15,lz:.021492949604609426,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"8dL9pADpGdb8uz3jgoQ35W",locked:!0,interior:!0,polygonTop:[-.02050328365131785,3.3532324030149554]},{type:"Window",cx:1.445462406762685,cy:-3.8750343198078783,cz:3.2998811246118693,lx:.6642965558015783,ly:.15,lz:.13029717559155046,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"qWHrnb8KKMoQRor3JnSQFU",polygonTop:[-.5,2.3784236921544717],interior:!0,empty:!0,locked:!0},{type:"Window",cx:-1.8155222162706668,cy:-3.9009770076057917,cz:3.2711573670121106,lx:.6830097672938518,ly:.15,lz:.037173765084373096,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"cCVV5LBTueLCRBh8Qiucqm",polygonTop:[.5,2.451948768657457],interior:!0,empty:!0,locked:!0},{type:"Window",cx:-1.1953590455988037,cy:3.710975210631405,cz:5.8617143628039825,lx:1.3882703649523895,ly:.1,lz:.05964604677957688,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5971766580926772,0,4.71238898038469],parentId:"3RtfyZgDoXZ3wGixrorVUM",parentType:"Roof",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"uj3hhpNKwSAcHZfWCq9Luv",interior:!0,empty:!0,polygonTop:[-.5,1.197404893567288],locked:!0},{type:"Door",cx:0,cy:0,cz:-.40052979348664974,lx:.1,ly:0,lz:.19894041302670049,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"onpRTR6aYFESxEyAVVtKxv",locked:!0,interior:!0},{type:"Window",cx:1.4673866142968786,cy:3.7373739092900653,cz:5.853224121202935,lx:1.2289614765652717,ly:.1,lz:.027992846261972834,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5971766580926772,0,1.5707963267948966],parentId:"3RtfyZgDoXZ3wGixrorVUM",parentType:"Roof",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"x86g7FJRWVhpFuUj55vS2u",polygonTop:[.5,1.2696169168418234],empty:!0,interior:!0,locked:!0},{type:"Window",cx:-1.8854196712406885,cy:1.377621465687576,cz:4.325544482383382,lx:3.1362291179665966,ly:.1,lz:1.8233213544103637,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.218733394523589,0,-1.5707963267948966],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"mX7yGqS9yHFcCXD3HzPsqo",interior:!0,empty:!0,locked:!0},{type:"Window",cx:1.57237554916422,cy:1.3657152285229026,cz:4.2503725201405285,lx:3.1993051559264813,ly:.1,lz:1.9446887668441453,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2187333945235876,0,1.5707963267948963],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"7HdybnBrpZ9pZKTsQWmnxm",interior:!0,empty:!0,locked:!0},{type:"Window",cx:1.1953670575332103,cy:1.4635343025462166,cz:5.223257241936748,lx:2.975761109246804,ly:.1,lz:.0858565540829778,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8621416327956242,0,1.5707963267948963],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"fq4riipVcz1YXRCRFinfh9",polygonTop:[.5,1.8067884811337014],empty:!0,interior:!0,locked:!0},{type:"Window",cx:-1.5078124165602862,cy:1.6184244215922492,cz:5.256172313894667,lx:2.757238648211566,ly:.1,lz:.157707537509605,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8621416327956238,0,4.71238898038469],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"8uYxv4QmwRV4QGvGAmTGjh",interior:!0,empty:!0,polygonTop:[-.5,1.6411153230617954],locked:!0},{type:"Window",cx:1.9241586401335837,cy:-1.0071004651436564,cz:3.2927958540885793,lx:1.433257415263137,ly:.1,lz:.013334330641535795,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2187333945235888,0,1.570796326794896],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eKtQtrVKNAyECAnnFakYcM",interior:!0,empty:!0,polygonTop:[.5,1.8703231446359028],locked:!0},{type:"Window",cx:-2.1759330536672916,cy:-.9097092686724473,cz:3.5347479849708097,lx:1.401447790844605,ly:.1,lz:.1563290290003139,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.218733394523589,0,-1.5707963267948966],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"bscMEhqajcMX1VR8jmUamz",interior:!0,polygonTop:[-.5,1.6499601679714657],locked:!0},{type:"Window",cx:-1.1488249093401395,cy:3.6694840938188165,cz:5.908770839253448,lx:1.465482126287153,ly:.1,lz:.011624696831896512,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5970381619598664,0,4.71238898038469],parentId:"9Jb55MpdEHfaQRtH1w8w7c",parentType:"Roof",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"voXoMmK9hgrALZQEVrCQw5",interior:!0,polygonTop:[-.5,1.1791221277328057],locked:!0},{type:"Window",cx:1.4545359523843153,cy:3.6687614111197395,cz:5.846570239911134,lx:1.494871028893363,ly:.1,lz:5533992709237107e-21,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5970381619598664,0,1.5707963267948966],parentId:"9Jb55MpdEHfaQRtH1w8w7c",parentType:"Roof",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"njHN3bGKJaNcsPt3zqUDGM",polygonTop:[.5,1.3683506058769899],locked:!0},{type:"Foundation",cx:-9.019380791884265,cy:-6.4970289405032915,cz:.06,lx:13.017853790376485,ly:4.062304674420269,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"Foundation Texture #2",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"irBooVothSqri1n99D7Wzu",notBuilding:!0,locked:!0},{type:"Wall",cx:-.002846632065990562,cy:1.5136063941594182,cz:0,lx:7.951341663437577,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,rValue:2,fill:"Empty",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:3.141592653589793,leftPoint:[3.9728241996527984,1.5136063941594173,.1],rightPoint:[-3.9785174637847796,1.513606394159419,.1],leftJoints:["kGep2Ez1jSGfeVaiQD6Nk1"],rightJoints:["jQqGH4ZZuR2sJEjqAtaMdR"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"rTXZg1jcKPDTpopSQL5CRv",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:3.9728241996527984,cy:-.16075143268253278,cz:0,lx:3.3487156536839007,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:1.570796326794897,leftPoint:[3.9728241996527993,-1.835109259524483,.1],rightPoint:[3.9728241996527984,1.5136063941594173,.1],leftJoints:["keZvZnZ8iUxAQcoKMHvMJB"],rightJoints:["rTXZg1jcKPDTpopSQL5CRv"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"kGep2Ez1jSGfeVaiQD6Nk1",structureSpacing:1.7,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:-3.9785174637847778,cy:-.160751432682531,cz:0,lx:3.3487156536839,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:4.71238898038469,leftPoint:[-3.9785174637847796,1.513606394159419,.1],rightPoint:[-3.9785174637847778,-1.8351092595244811,.1],leftJoints:["rTXZg1jcKPDTpopSQL5CRv"],rightJoints:["keZvZnZ8iUxAQcoKMHvMJB"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"jQqGH4ZZuR2sJEjqAtaMdR",structureSpacing:1.7,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:-.0028466320659887856,cy:-1.835109259524482,cz:0,lx:7.951341663437577,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:0,leftPoint:[-3.9785174637847778,-1.8351092595244811,.1],rightPoint:[3.9728241996527993,-1.835109259524483,.1],leftJoints:["jQqGH4ZZuR2sJEjqAtaMdR"],rightJoints:["kGep2Ez1jSGfeVaiQD6Nk1"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"keZvZnZ8iUxAQcoKMHvMJB",structureSpacing:1.95,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5816829802762808,thickness:.1,rValue:2,color:"#454769",sideColor:"#ffffff",textureType:"Roof Texture #1",roofType:"Hip",roofStructure:"Default",wallsId:["kGep2Ez1jSGfeVaiQD6Nk1"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"vFgo3dzFcDvifutsURLSxs",leftRidgeLength:-1.5743578268419502,rightRidgeLength:1.6693578268419502,locked:!0},{type:"Window",cx:1.8566011256825674,cy:.6599329242183138,cz:3.5487146962420235,lx:1.5566850872614637,ly:.1,lz:.002654387077510697,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.13521473007536366,0,1.5707963267948968],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"rihytw1YgyZTRTywNknqYW",polygonTop:[.5,1.775657673942406],locked:!0},{type:"Window",cx:-1.819837767636188,cy:.6880180791747286,cz:3.5544907008722126,lx:1.5263724499901699,ly:.1,lz:.026357656056318596,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.13521473007536366,0,-1.5707963267948961],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"stDHx7ttyun3AsgaRa1QHp",polygonTop:[-.5,1.8110420094651125],locked:!0},{type:"Window",cx:.020163528741469428,cy:-.10759934471036203,cz:3.552336576069286,lx:3.53497207600787,ly:.1,lz:.05477306389188632,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16246888891658018,0,-4440892098500626e-31],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"tDydDDQ3yMKBMmcqedWGby",polygonTop:[.0030579922127344215,1.4843446624982513],locked:!0}],mfn=24,yfn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.8840441516195205,.5644717303985555,11143112580395247e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.8840441516195205,.5634713529449765,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.358378063755914,-20.87295700480061,2.7360078726027206],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:24.554753263096522,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-7.660890412118296,2.6592379428106594,2.7360078726027206],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5,navigationView:!1},Afn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},wfn=1,vfn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},xfn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},bfn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Sfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Tfn="Unknown",Pfn=null,Cfn=null,Rfn=null,Hfn=null,Mfn=[],Ifn=3,zfn=3,Dfn={docid:sfn,time:cfn,timestamp:ufn,userid:dfn,owner:ffn,email:hfn,world:pfn,elements:gfn,sceneRadius:mfn,view:yfn,graphState:Afn,evolutionMethod:wfn,solarPanelArrayLayoutParams:vfn,solarPanelArrayLayoutConstraints:xfn,evolutionaryAlgorithmState:bfn,economicsParams:Sfn,modelType:Tfn,modelAuthor:Pfn,modelLabel:Cfn,modelDescription:Rfn,designProjectType:Hfn,notes:Mfn,minimumNavigationMoveSpeed:Ifn,minimumNavigationTurnSpeed:zfn},Efn="rrmoe4xsE37DPN5LvoSX2L",kfn="08/09/2023 10:13 am",Ffn=1691590424058,Lfn="QWecNcxhyvP6j6sBN11hBsfZDau1",Wfn=null,Nfn=null,Ufn={solarRadiationHeatmapGridCellSize:.25,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Bfn=[{type:"Wall",cx:.06979666348441205,cy:3.6828701050775523,cz:2.5,lx:10.751033569310817,ly:.3,lz:4.88805324936884,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[5.445313448139821,3.682870105077552,.1],rightPoint:[-5.305720121170997,3.682870105077553,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.002373687472664,rightUnfilledHeight:4.002373687472664,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:5.445313448139816,cy:.4275597826751323,cz:2.2301039869226305,lx:6.510620644804842,ly:.3,lz:4.88805324936884,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[5.445313448139813,-2.8277505397272886,.1],rightPoint:[5.445313448139821,3.682870105077553,.1],relativeAngle:1.5707963267948954,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,centerRoofHeight:[0,7.235780632005643],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5,rightUnfilledHeight:5,leftTopPartialHeight:5,rightTopPartialHeight:5,locked:!1,openToOutside:!1},{type:"Wall",cx:-5.305720121170997,cy:.4275597826751323,cz:2.228839888904333,lx:6.510620644804842,ly:.3,lz:4.88805324936884,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-5.305720121170997,3.682870105077553,.1],rightPoint:[-5.305720121170997,-2.8277505397272886,.1],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,centerRoofHeight:[0,7.235780632005643],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5,rightUnfilledHeight:5,leftTopPartialHeight:5,rightTopPartialHeight:5,locked:!1,openToOutside:!1},{type:"Wall",cx:.06979666348441205,cy:-2.8277505397272886,cz:2.268765007024547,lx:10.751033569310817,ly:.3,lz:4.88805324936884,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-5.305720121170997,-2.8277505397272886,.1],rightPoint:[5.445313448139821,-2.8277505397272886,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.224276701112264,rightUnfilledHeight:4.224276701112264,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1,openToOutside:!1},{type:"Foundation",cx:.3157662585983827,cy:-.49838170379810354,cz:.05,lx:15.656066884011606,ly:12.596965835422395,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Human",name:"June",cx:-2.4661903240728087,cy:-9.006462311217309,cz:0,lx:.65,ly:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qPhtowBuGGDfEAuEFNhxwt",selected:!1,locked:!1},{type:"Wall",cx:.14686719191865327,cy:5.522679083865754,cz:2.2408122612280286,lx:13.78718704575697,ly:.3,lz:4.061910717171535,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[7.040460714797138,5.522679083865754,.12],rightPoint:[-6.746726330959832,5.522679083865754,.12],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:7.040460714797138,cy:.02164780187261517,cz:2.2301039869226305,lx:11.002062563986277,ly:.3,lz:4.061910717171535,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[7.040460714797138,-5.479383480120523,.12],rightPoint:[7.04046071479714,5.522679083865754,.12],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.746726330959831,cy:.02164780187261517,cz:2.228839888904333,lx:11.002062563986277,ly:.3,lz:4.061910717171535,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.74672633095983,5.522679083865754,.12],rightPoint:[-6.746726330959832,-5.479383480120523,.12],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:.14686719191865416,cy:-5.479383480120523,cz:2.268765007024547,lx:13.787187045756973,ly:.3,lz:4.061910717171535,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.746726330959832,-5.479383480120523,.12],rightPoint:[7.04046071479714,-5.479383480120523,.12],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.39930090798010054,cy:.1,cz:-.0484624485645839,lx:.072600165087291,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25410057780551853,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.014266831753957678,cy:0,cz:-.1875,lx:.26186699684124864,ly:0,lz:.625,color:"#73d8ff",textureType:"Door Texture #6",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"22qg2ZvB7t4cVkS2ppWUue",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["roDDPncXBpNgmNum9aUaov"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:2.0309553585857674,ceiling:!1,locked:!1},{type:"Foundation",cx:.19669830531017318,cy:-.08496072357293061,cz:.06,lx:17.736587385560814,ly:14.112977894531522,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Window",cx:.1816870865194007,cy:1.506541025906793,cz:5.744650351161887,lx:6.810433848205276,ly:.2,lz:3.1501122272271536,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"nRJKnWqaTZMRXNYjQYBBN4",interior:!0,empty:!0,locked:!1},{type:"Window",cx:-4.204012569268376,cy:2.9463024154168345,cz:5.213097091560926,lx:1.8793730345291677,ly:.2,lz:.10394989944101299,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"dyzgwSBWzQe7d2Mdh1AuFs",interior:!0,polygonTop:[-.4945055117340491,2.9817139947018276],empty:!0,locked:!1},{type:"Window",cx:4.5669067733435496,cy:2.98476727058541,cz:5.198896044572235,lx:1.8476822467087874,ly:.2,lz:.0009475429668261212,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"uhbKNy7GzaCLkkjREuNwq9",polygonTop:[.5,3.054344986803331],interior:!0,empty:!0,locked:!1},{type:"Window",cx:.13914271249375698,cy:-1.4674024209486225,cz:5.7431156063968745,lx:6.808872300840532,ly:.2,lz:3.162055053995225,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fRAXriArpJwz8vt5qFbBr8",interior:!0,empty:!0,locked:!1},{type:"Window",cx:-4.236438960455537,cy:-2.8956049895712455,cz:5.215829810116305,lx:1.8110462507584613,ly:.2,lz:.11218491449779774,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100747,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"d2W6C8E4fV5E9D474375zw",empty:!0,interior:!0,polygonTop:[.4883725105977682,2.9617114188962397],locked:!1},{type:"Window",cx:4.521733506737581,cy:-2.9083363875263974,cz:5.211129436754687,lx:1.8533938312525375,ly:.2,lz:.0727447886791959,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"hZSdDLaVahbQNDSPFMa22P",polygonTop:[-.5,2.97886505236164],interior:!0,empty:!0,locked:!1},{type:"Window",cx:5.579385297453698,cy:.038450512915636725,cz:5.156923892280704,lx:5.893522919746983,ly:.2,lz:.06575238683701148,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.518907643929702,0,1.5707963267948963],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"whfKWvVSZ8Zpig8MXVtDnn",polygonTop:[-.004256210920065387,2.2474023195155906],interior:!0,empty:!0,locked:!1},{id:"hg8eUTjrNzo4UYNKSxj3Pu",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:3.810423621996117,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofType:"Gable",textureType:"Roof Texture #2",thickness:.2,wallsId:["hndwqtrrygFvfqvBJrvZYu"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:2.3477273826368026,ceiling:!1,locked:!1},{type:"Window",cx:-5.210239899855391,cy:.02428974701914899,cz:5.199992048011484,lx:5.892196685663338,ly:.2,lz:.03913490008238186,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.518907643929702,0,4.71238898038469],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"nSDYeeSFt1TkoA9AsVzFvv",polygonTop:[-.006026915919198358,2.136722376968723],interior:!0,empty:!0,locked:!1},{type:"Window",cx:.0041783865768951906,cy:.3,cz:.7431852609403766,lx:.151429262766099,ly:.3,lz:.2863705218807532,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",parentType:"Wall",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"2Z4ZTK92xYT6s7pAjiT6th",locked:!1},{type:"Window",cx:0,cy:.3,cz:.7391715106470117,lx:.15978603591988938,ly:.3,lz:.27834302129402333,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"11Ltx28CSTVpm6gjZuBH9w",parentType:"Wall",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cAmpTqjyXxbvZVGVCwC6f3",locked:!1}],jfn=12,Yfn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.13462208385991,.12570156647960654,-6336761576329169e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.13462208385991,.12470118903347407,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[12.594616653747995,-17.492939317320165,4.593155797112493],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:15.475618750000006,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.1945052133063472,.596243023398342,1.0070484500451025],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:240,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Ofn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_fn=1,Vfn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Gfn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Xfn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Jfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Kfn="Unknown",qfn=null,$fn=null,Qfn=null,Zfn=null,ehn=["Dutch gable roof"],thn=3,nhn=3,ohn={docid:Efn,time:kfn,timestamp:Ffn,userid:Lfn,owner:Wfn,email:Nfn,world:Ufn,elements:Bfn,sceneRadius:jfn,view:Yfn,graphState:Ofn,evolutionMethod:_fn,solarPanelArrayLayoutParams:Vfn,solarPanelArrayLayoutConstraints:Gfn,evolutionaryAlgorithmState:Xfn,economicsParams:Jfn,modelType:Kfn,modelAuthor:qfn,modelLabel:$fn,modelDescription:Qfn,designProjectType:Zfn,notes:ehn,minimumNavigationMoveSpeed:thn,minimumNavigationTurnSpeed:nhn},ihn="iRonP6f82ihBcmjezX6Awd",rhn="03/20/2023 10:32 pm",ahn=1679365946442,lhn="QWecNcxhyvP6j6sBN11hBsfZDau1",shn=null,chn=null,uhn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},dhn=[{type:"Wall",cx:-.48795103908913395,cy:4.769352133858485,cz:2.2408122612280286,lx:9.470897735981776,ly:.3,lz:1,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.247497828901754,4.769352133858485,0],rightPoint:[-5.223399907080022,4.769352133858485,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,9.714205250083014],fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.2474978289017535,cy:.49244353247458017,cz:2.2301039869226305,lx:8.55381720276781,ly:.3,lz:1,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.247497828901752,-3.7844650689093244,0],rightPoint:[4.247497828901756,4.769352133858485,0],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-5.2233999070800206,cy:.4924435324745795,cz:2.228839888904333,lx:8.55381720276781,ly:.3,lz:1,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-5.2233999070800206,4.769352133858485,0],rightPoint:[-5.223399907080021,-3.7844650689093258,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-.48795103908913307,cy:-3.7844650689093253,cz:2.4372288712998555,lx:9.470897735981776,ly:.3,lz:1,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-5.223399907080021,-3.7844650689093258,0],rightPoint:[4.247497828901755,-3.7844650689093244,0],relativeAngle:14066962464272472e-32,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,9.714205250083014],fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-.7626979834308516,cy:-10.359931683120488,cz:.05,lx:12.251810254872597,ly:12.332955581960839,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.3,roofType:"Gable",roofStructure:"Default",wallsId:["eTKLP2TockjZDP1RLDKvpj"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hV2AZhwpKM9xyypcH54NGK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:8.714205250083014,ceiling:!1},{type:"Human",name:"Jaye",cx:-.5647094530410346,cy:5.465061158668581,cz:.058387789875268936,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"tnC2iecYMhdN7XDrxXs4UT",selected:!1,ly:.55},{type:"Window",cx:-.21478352854197222,cy:.1,cz:1.25,lx:.21478352854197222,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cikc5XBeHvW1ZWaYYBURtq",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:5,lx:.21478352854197222,ly:.3,lz:3,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hzyxe6XmNqQVYTMPwT86gP",windowType:"Default",archHeight:1},{type:"Window",cx:.21478352854197222,cy:.1,cz:1.25,lx:.21478352854197222,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"poKYkVbAKiojUgyQBBM5eo",windowType:"Default",archHeight:1},{type:"Window",cx:.010739176427098599,cy:.1,cz:4.8,lx:.21478352854197225,ly:.3,lz:3,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"k65HqyHnfGZzC6XJ1tz5nf",windowType:"Default",archHeight:1},{type:"Window",cx:-.21478352854197227,cy:.1,cz:1.25,lx:.21478352854197227,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"iUS6mBnScixGHK4jiNa74q",windowType:"Default",archHeight:1},{type:"Window",cx:.21478352854197227,cy:.1,cz:1.25,lx:.21478352854197227,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gpSRstNVjjcombQpjx6cCS",windowType:"Default",archHeight:1},{type:"Wall",cx:.16127924019256784,cy:2.332251732154486,cz:2.2408122612280286,lx:3.686932704592566,ly:.3,lz:3.091798357527264,leftJoints:["auhnwnZuvqZga1NwTs4Qh6"],rightJoints:["fbEWRqBAdexGf2BAr7KyDh"],leftPoint:[2.004745592488851,2.3322517321544853,.09026163656372185],rightPoint:[-1.6821871121037153,2.332251732154486,.09026163656372185],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"kopxVibcARqNdAWExZTDft",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:4.183499794647806,rightRoofHeight:3.091798357527264,centerRoofHeight:[-.5,4.183499794647806],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Wall",cx:2.0047455924888506,cy:.21993436134309594,cz:2.2301039869226305,lx:4.224634741622781,ly:.3,lz:4.183499794647806,leftJoints:["7WK6nSdGpz8Z5ugN4DQqPL"],rightJoints:["kopxVibcARqNdAWExZTDft"],leftPoint:[2.0047455924888493,-1.8923830094682954,.09026163656372185],rightPoint:[2.004745592488852,2.3322517321544853,.09026163656372185],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"auhnwnZuvqZga1NwTs4Qh6",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:4.183499794647806,rightRoofHeight:4.183499794647806,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.5178364017567816,rightUnfilledHeight:3.5178364017567816,leftTopPartialHeight:4.183499794647806,rightTopPartialHeight:4.183499794647806},{type:"Wall",cx:-1.6821871121037146,cy:.2199343613430946,cz:2.228839888904333,lx:4.224634741622782,ly:.3,lz:3.091798357527264,leftJoints:["kopxVibcARqNdAWExZTDft"],rightJoints:["7WK6nSdGpz8Z5ugN4DQqPL"],leftPoint:[-1.6821871121037144,2.332251732154486,.09026163656372185],rightPoint:[-1.682187112103714,-1.892383009468295,.09026163656372185],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"fbEWRqBAdexGf2BAr7KyDh",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:3.091798357527264,rightRoofHeight:3.091798357527264,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Wall",cx:.16127924019256823,cy:-1.8923830094682952,cz:2.4372288712998555,lx:3.686932704592566,ly:.3,lz:3.091798357527264,leftJoints:["fbEWRqBAdexGf2BAr7KyDh"],rightJoints:["auhnwnZuvqZga1NwTs4Qh6"],leftPoint:[-1.682187112103714,-1.892383009468295,.09026163656372185],rightPoint:[2.004745592488851,-1.8923830094682954,.09026163656372185],relativeAngle:18067425368120646e-32,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"7WK6nSdGpz8Z5ugN4DQqPL",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:3.091798357527264,rightRoofHeight:4.183499794647806,centerRoofHeight:[.5,4.183499794647806],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Foundation",cx:4.882244941296917,cy:-10.70091032804037,cz:.05,lx:5.471984286386839,ly:6.044552967256032,lz:.09026163656372185,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oabGyAr3D6hSmpBhWPDGqF",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["fbEWRqBAdexGf2BAr7KyDh"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"nRVwf4unMrCTvV163G9mW8",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1},{type:"Door",cx:-.01183534271196981,cy:0,cz:-.15296909264162628,lx:.4024016522069765,ly:0,lz:.6940618147167474,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"fbEWRqBAdexGf2BAr7KyDh",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"nthEKWrtxGs4PSrCWi5GEG",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.27122816718470794,cy:.1,cz:0,lx:.27122816718470794,ly:.3,lz:.6468727157224915,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"kopxVibcARqNdAWExZTDft",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"wKDeRMv3UEU8mXGaoDUiWs",windowType:"Default",archHeight:1},{type:"Window",cx:-.27122816718470794,cy:.1,cz:0,lx:.27122816718470794,ly:.3,lz:.6468727157224915,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"7WK6nSdGpz8Z5ugN4DQqPL",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"42U3kN4qWYuxhLNDbwxXrd",windowType:"Default",archHeight:1}],fhn=21,hhn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6516049999999995,-8.063611874995965,-806397029662998e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6516049999999995,-8.063761881663362,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[13.842271241738974,-28.65293514275273,4.026963629011761],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-1.977021416592465,-10.783837041816236,3.5213876845072543],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},phn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ghn=1,mhn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},yhn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Ahn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},whn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},vhn="Unknown",xhn=null,bhn=null,Shn=null,Thn=["A-frame house"],Phn={docid:ihn,time:rhn,timestamp:ahn,userid:lhn,owner:shn,email:chn,world:uhn,elements:dhn,sceneRadius:fhn,view:hhn,graphState:phn,evolutionMethod:ghn,solarPanelArrayLayoutParams:mhn,solarPanelArrayLayoutConstraints:yhn,evolutionaryAlgorithmState:Ahn,economicsParams:whn,modelType:vhn,modelAuthor:xhn,modelLabel:bhn,modelDescription:Shn,notes:Thn},Chn="bm2bMMbAcph5HBEqZHjndk",Rhn="03/20/2023 11:03 am",Hhn=1679324587911,Mhn="QWecNcxhyvP6j6sBN11hBsfZDau1",Ihn=null,zhn=null,Dhn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Ehn=[{type:"Wall",cx:.016921335908854303,cy:4.063374076185866,cz:2.2408122612280286,lx:9.470897735981776,ly:.3,lz:8,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.752370203899743,4.063374076185865,.1167755799390626],rightPoint:[-4.718527532082034,4.063374076185867,.1167755799390626],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,14],fill:"Full",eavesLength:.5,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:4.752370203899742,cy:-.2135345251980382,cz:2.2301039869226305,lx:8.55381720276781,ly:.3,lz:8,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.75237020389974,-4.490443126581943,.1167755799390626],rightPoint:[4.752370203899745,4.063374076185865,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-4.718527532082032,cy:-.2135345251980388,cz:2.228839888904333,lx:8.55381720276781,ly:.3,lz:8,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.718527532082033,4.063374076185867,.1167755799390626],rightPoint:[-4.718527532082033,-4.490443126581945,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:.016921335908855254,cy:-4.490443126581944,cz:2.4372288712998555,lx:9.470897735981776,ly:.3,lz:8,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.718527532082033,-4.490443126581945,.1167755799390626],rightPoint:[4.752370203899743,-4.490443126581943,.1167755799390626],relativeAngle:14066962464272472e-32,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,14],fill:"Full",eavesLength:.5,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Foundation",cx:.06778462234397686,cy:.11229032412929119,cz:.05,lx:13.261555004868576,ly:13.821828446550082,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.3,roofType:"Gable",roofStructure:"Default",wallsId:["eTKLP2TockjZDP1RLDKvpj"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hV2AZhwpKM9xyypcH54NGK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:6,ceiling:!1,sideColor:"#4d4d4d",locked:!0},{type:"Human",name:"Jaye",cx:-5.524403634250389,cy:5.933912667936443,cz:.058387789875268936,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"tnC2iecYMhdN7XDrxXs4UT",selected:!1,ly:.55,locked:!0},{type:"Polygon",cx:.00031866172024926434,cy:-1.0502280057835613,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:6828465433912113e-20,y:-.982449115782449},{x:0,y:-1.25},{x:0,y:-.875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,filled:!0,selectedIndex:2,id:"xmTq7nGfL5qqQp8gvXDYM6",lineColor:"#4d4d4d",lineWidth:2,locked:!0},{type:"Polygon",cx:.14078214869407168,cy:-.7541666666666667,cz:.6437310349973828,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.26396652880138444,y:-.875},{x:0,y:-.875},{x:.15837991728083065,y:-.5125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kxt6Srxx1T2g9dM5Cj9xjQ",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.09047767660927532,cy:-5921189464667502e-30,cz:.6771072607245675,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:-.875},{x:-.26396652880138444,y:-.875},{x:-.15837991728083065,y:-.5125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"oepTS5ZaT38ze93aEUFXCf",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3273184957137167,cy:-.35,cz:-.1473145782594516,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49625707414660275,y:-.5},{x:.15837991728083065,y:-.5},{x:.15837991728083065,y:-.1875},{x:.49625707414660275,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6GCp4VpMJ4zaYZryasBb12",selected:!1,selectedIndex:1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.35,lx:.21117322304110756,ly:.3,lz:.24999999999999994,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:.8499999999999999,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cPiRHW6SZVJYmoL6piX4rh",locked:!0},{type:"Window",cx:-.322039165137689,cy:.3,cz:.35,lx:.26396652880138444,ly:.3,lz:.25,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"oKk1wpnrjFtx7ZScLUWdKG",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3257820909910863,cy:.3,cz:.35000000000000003,lx:.26396652880138444,ly:.3,lz:.24999999999999994,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vm61bCHu5wJTneq9mSRG3v",locked:!0},{type:"Polygon",cx:-.32731849571371674,cy:-.34375,cz:.07091220488250127,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:-.5},{x:-.49625707414660275,y:-.5},{x:-.49625707414660275,y:-.1875},{x:-.15837991728083065,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"a2uJiAM1SwWygA7Xks25tx",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.009700144501707204,cy:0,cz:.07091220488250127,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:-.5},{x:-.15837991728083065,y:-.5},{x:-.15837991728083065,y:-.1875},{x:.15837991728083065,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"okpxRdBH9UmPzQeBnPqHvV",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.43994421466897404,cy:-.10416666666666667,cz:-.0908057613542031,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.47513975184249196,y:-.125},{x:.4223464460822151,y:-.125},{x:.47513975184249196,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gnnDsq9utfqbvsSLW4Vsui",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.31675983456166135,cy:-.10416666666666667,cz:-.0908057613542031,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4223464460822151,y:-.125},{x:.3167598345616613,y:-.125},{x:.3695531403219382,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"daBi7jdbhLYUKfawDVZbRF",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.26396652880138444,cy:-.14583333333333334,cz:.09889005465479705,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.3167598345616613,y:-.125},{x:.26396652880138444,y:-.1875},{x:.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"83Jx4Wfx1CTQe5o1dVj7Gt",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.31823715865388064,cy:0,cz:-.06254223609465975,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4223464460822151,y:-.125},{x:.3695531403219382,y:-.1875},{x:.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"2P1Z36zj1PZrLZ5WtCuQLU",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.1528231574478215,cy:0,cz:-.07973264486359,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.47513975184249196,y:-.1875},{x:.4223464460822151,y:-.125},{x:.47513975184249196,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"c8iKMXwV5TTJS5y7LAm16z",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.26396652880138444,cy:-.10416666666666667,cz:-.0264570438192977,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.3167598345616613,y:-.125},{x:.26396652880138444,y:-.0625},{x:.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"4EQtRFUvGwquz82cAGupQx",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.0984129795658402,cy:0,cz:.0741183552861776,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.21117322304110756,y:-.125},{x:.15837991728083065,y:-.1875},{x:.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"keytXy7yjTuyQvCHx43FMf",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.08043767629130923,cy:-11842378929335004e-30,cz:.053462400842831936,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:-.0625},{x:.21117322304110756,y:-.125},{x:.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vcfgXdnGFRF224UmF7C68T",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.05586281472424893,cy:0,cz:-.06415089633102461,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.10558661152055378,y:-.125},{x:.05279330576027689,y:-.1875},{x:0,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6L9YHg5xYnPV5wP7pRzMPQ",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.04508436921887703,cy:-11842378929335004e-30,cz:-.07958364344414548,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.10558661152055378,y:-.125},{x:.05279330576027689,y:-.0625},{x:0,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vFWJZ8BRQAYJsb48YWUz6j",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.12944043805698166,cy:0,cz:-.044015079009130986,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:-.125},{x:-.05279330576027689,y:-.1875},{x:-.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"c9pAfjjQXFGB9FrY3fPcgo",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.1360791344719124,cy:0,cz:-.002668588802964056,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.05279330576027689,y:-.0625},{x:0,y:-.125},{x:-.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8hMi9wi8eWGAVCFdCrrHxf",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.1504887203711347,cy:11842378929335004e-30,cz:-.03387070431424388,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.10558661152055378,y:-.125},{x:-.15837991728083065,y:-.1875},{x:-.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"1vmj7VNyMLhdjUdvzKBed1",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.2027600334109868,cy:11842378929335004e-30,cz:-.02143305207869428,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:-.0625},{x:-.10558661152055378,y:-.125},{x:-.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"ffiDmHRPrs2dDPEPn4TWqL",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3241256214430625,cy:-11842378929335004e-30,cz:-.01780218811727341,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.21117322304110756,y:-.125},{x:-.26396652880138444,y:-.1875},{x:-.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"wcidSWb2sESnViCDPV9mWc",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.25617993668706274,cy:0,cz:-.01786081434302994,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.21117322304110756,y:-.125},{x:-.26396652880138444,y:-.0625},{x:-.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"feb2PRU5xBgnQQYi5Q5HxG",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.15105849038732078,cy:0,cz:-.11142936913498758,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.3167598345616613,y:-.125},{x:-.3695531403219382,y:-.1875},{x:-.4223464460822151,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8YCxSmg5F51AUWFz5Z7Mcz",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.2903850025394723,cy:0,cz:-.05931035952397312,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.3167598345616613,y:-.125},{x:-.4223464460822151,y:-.125},{x:-.3695531403219382,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"br3QNNryqRA4C5JyMif58B",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.2709208200589227,cy:0,cz:-.12433060024345055,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.4223464460822151,y:-.125},{x:-.47513975184249196,y:-.125},{x:-.47513975184249196,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"qua38i78SB79351oS944na",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.26414949628329426,cy:0,cz:-.11662195581661955,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.4223464460822151,y:-.125},{x:-.47513975184249196,y:-.1875},{x:-.47513975184249196,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vmDWdbEKBTn6Q3L3pv8qqU",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:-.1231126961021224,cy:0,cz:-.16413364186630847,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4968716360356549,y:.1875},{x:.4968716360356549,y:-.0625},{x:.15899447916988277,y:-.0625},{x:.15899447916988277,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8PUhoaNcXfpHS24ebeEAKM",selected:!1,selectedIndex:3,locked:!0},{type:"Polygon",cx:.17939465541008254,cy:11842378929335004e-30,cz:-.09134585167481035,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:.1875},{x:.15837991728083065,y:-.0625},{x:-.15837991728083065,y:-.0625},{x:-.15837991728083065,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"bcXX5tcf3D2wVveoEkcL6f",selected:!1,selectedIndex:3,locked:!0},{type:"Polygon",cx:.27093529163208646,cy:0,cz:-.23361707380435942,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:.1875},{x:-.15837991728083065,y:-.0625},{x:-.49625707414660275,y:-.0625},{x:-.49625707414660275,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6s38KEz9j6GBtEC98qn52U",selected:!1,selectedIndex:3,locked:!0},{type:"Window",cx:-.32016770221099033,cy:.3,cz:-.05625,lx:.2677094546547817,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"o7JmF1iLCdGFdtbRj8czNQ",locked:!0},{type:"Window",cx:.005279330576027693,cy:.3,cz:-.056249999999999994,lx:.22173188419316292,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gnKEFjjyTpc69CbNkzsSnb",locked:!0},{type:"Window",cx:.33106142156711393,cy:.3,cz:-.05624999999999997,lx:.25340786764932904,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"itZnbX7dvNW4uttWy8xqNF",locked:!0},{type:"Polygon",cx:.3273184957137167,cy:.2791666666666667,cz:-.3574546006707193,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49625707414660275,y:.225},{x:.3273184957137167,y:.3625},{x:.15837991728083065,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eM6FR2jokXDXXNuqEbWW5t",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3273184957137167,cy:.45416666666666666,cz:-.38841568779580643,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.32793305760276886,y:.35833333333333334},{x:.15899447916988282,y:.49583333333333335},{x:.49687163603565493,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"xbCXMjDGmXXmNhu45xKrKU",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.02549879326087855,cy:-11842378929335004e-30,cz:-.30729230835255206,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:.225},{x:0,y:.3625},{x:-.15837991728083065,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"5HQ6TVrPFFjZ9n9pMNCaPw",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.17764937225875113,cy:11842378929335004e-30,cz:-.38532011935953503,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:.225},{x:-.32670393382466456,y:.35833333333333334},{x:-.49625707414660275,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6xMKYrX7YfEEQhYDvJGbXj",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.028297592880302983,cy:0,cz:-.4292130777977021,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.32670393382466456,y:.35833333333333334},{x:-.4956425122575506,y:.49583333333333335},{x:-.1577653553917785,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aC5hTZ2mJqEmuJzedm4MJc",selected:!1,locked:!0},{type:"Polygon",cx:-.0752822112279152,cy:0,cz:-.43162058966296696,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:.3625},{x:-.14782125612877528,y:.5},{x:.15899447916988285,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"g4vxfHB2tWhootScoBEJAy",selected:!1,selectedIndex:0,locked:!0},{type:"Window",cx:-.15837991728083065,cy:.3,cz:-.36250000000000004,lx:.08446928921644303,ly:.3,lz:.10000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aTgEN9mCRYp5yq7d1z5C9J",locked:!0},{type:"Window",cx:.16893857843288604,cy:.3,cz:-.3625,lx:.08446928921644302,ly:.3,lz:.09999999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"iJhjRtnwcwPom4AbAof7TY",locked:!0},{type:"Window",cx:0,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eM9DBHVTV9qvEYGB1GSGT4",locked:!0},{type:"Window",cx:-.2850838511054952,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"xktqPqwH68DsLhhed5NdpJ",locked:!0},{type:"Window",cx:.3167598345616613,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"smfVPdpD4AJjru3d9qbPFB",locked:!0},{type:"Polygon",cx:.33203141791512314,cy:-.34064625850340136,cz:.0816606073539844,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:-.4875},{x:.16366961869923916,y:-.5},{x:.16366961869923916,y:-.1875},{x:.5026995431476631,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7P3jamWRpmTThzKQQchxem",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.08095645236308847,cy:11472304587793285e-30,cz:.024081550771485216,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.11690687049945654,y:-.4875},{x:-.15197893164929352,y:-.4875},{x:-.15197893164929352,y:-.1875},{x:.11690687049945654,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hti4VWVrfMLPFRbMnZuXCh",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:-.06332927122552619,cy:37007434154171886e-32,cz:.11866929892518252,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.19874167984907612,y:-.5},{x:-.49524132235097623,y:-.4844583756672448},{x:-.4910088560977175,y:-.1875},{x:-.19874167984907612,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"fK55YfVyK24HbKmqkoFvX8",selected:!1,selectedIndex:0,locked:!0},{type:"Window",cx:-.3273392373984783,cy:.3,cz:.34375,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7uoagXVHHDZRJe6yfz87Uy",locked:!0},{type:"Window",cx:.02338137409989131,cy:.3,cz:.34375,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"2eFNdjG8a6PPPeWCyHvJZF",locked:!0},{type:"Window",cx:.3435254963995652,cy:.3,cz:.34375,lx:.10251664030184776,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"pVvTiVPrSp7DHLhNTLPbpw",locked:!0},{type:"Polygon",cx:.11417019715816792,cy:-.03691339676553812,cz:-.01732802673536704,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.334513812493377,y:-.1887668131742859},{x:.11690687049945654,y:-.1875},{x:0,y:.2},{x:.5026995431476631,y:.2}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"ncvU41deRZgttbWEevak9W",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.23813144459901245,cy:-12582527612418442e-30,cz:-.15608783217541283,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15197893164929352,y:-.1875},{x:-.33902992444842395,y:-.1875},{x:-.5026995431476631,y:.2},{x:-.011690687049945655,y:.2}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nUnv6wAVCPmYj3Aresrcpk",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:-.13062766511807228,cy:-2590520390792032e-30,cz:-.22842446371425668,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49818343119261616,y:.1987331868257141},{x:.15301751728589502,y:.20325890158694568},{x:.15345728483965818,y:.49941339676553814},{x:.49818343119261616,y:.49873318682571405}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8Kz8otpe54cGwNRpjbBHbb",selected:!1,locked:!0},{type:"Polygon",cx:.08870702581035714,cy:11657341758564144e-30,cz:-.3327175444793864,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.1564950436043405,y:.19873318682571411},{x:-.5016609575110615,y:.2032589015869457},{x:-.5012211899572985,y:.49941339676553814},{x:-.1564950436043405,y:.4987331868257141}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"wG7R1sDD8K7WPRvoZtoyJw",selected:!1,locked:!0},{type:"Window",cx:-.23381374099891308,cy:.3,cz:.0062500000000000056,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"pHH5nsCFYVbtKpFCrTf3Ws",locked:!0},{type:"Window",cx:.25134977157383154,cy:.3,cz:.0062500000000000056,lx:.1285975575494022,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cwAvtz8KzMtAWzktGpFNXr",locked:!0},{type:"Polygon",cx:.3974833596981522,cy:-.3,cz:.15250947773144075,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:-.4875},{x:.29226717624864135,y:-.4875},{x:.29226717624864135,y:-.1125},{x:.5026995431476631,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"h2haDNadyPJVsXHUBM7goT",selected:!1,selectedIndex:2,locked:!1},{type:"Polygon",cx:.2062582639639952,cy:0,cz:.09819258432246669,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.29352549639956527,y:-.4875},{x:-.503957863298587,y:-.4875},{x:-.503957863298587,y:-.1125},{x:-.29352549639956527,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"qNhdQA6nMEubq6HrA8GQ56",selected:!1},{type:"Polygon",cx:-.00041944005030796134,cy:-.2375,cz:.11572778700091202,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.001258320150923864,y:-.4875},{x:-.29226717624864135,y:-.1125},{x:0,y:-.1125},{x:.29226717624864135,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7xfb1T386qUxDL13U5ur56",selected:!1,selectedIndex:2},{type:"Window",cx:0,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"61722s3ZSQeHug5MRWQdpi",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3947838165504891,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"16SX2hn6bjPsYFGUZ6H1HJ",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3947838165504891,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"rxzF9abntmscS3LgzGNTHv",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Polygon",cx:.26762748199782616,cy:.07499999999999998,cz:-.20483915447539497,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4137610701221468,y:-.10625000000000001},{x:.12149389387350548,y:-.10625000000000001},{x:.12149389387350548,y:.25625},{x:.4137610701221468,y:.25625}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"4a4kmf2AVjLH4xqmTBj5qm",selected:!1,selectedIndex:3},{type:"Polygon",cx:.2640836675523676,cy:0,cz:-.07455503736820074,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.1357012212252989,y:-.10625000000000001},{x:-.4279683974739402,y:-.10625000000000001},{x:-.4279683974739402,y:.25625},{x:-.1357012212252989,y:.25625}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nzNaoQaRpK6d7hEi9ZXqqA",selected:!1},{type:"Polygon",cx:-.00800080807265061,cy:-3076242964065538e-30,cz:-.3451540701116582,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:.2625},{x:-.49994974836164874,y:.2579458713508321},{x:-.49994974836164874,y:.49544587135083207},{x:.5026995431476631,y:.5}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eVuLrSaB1RiWnm1kdJDxE3",selected:!1,selectedIndex:3},{type:"Window",cx:-.25719511509880444,cy:.3,cz:-.06875,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"srgUpVRNxrAgJWbybn588q",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.29226717624864135,cy:.3,cz:-.06875,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"98pLU7aQ4axthpXWXa3LR2",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Polygon",cx:.004459000607667748,cy:5782411586589357e-32,cz:-.07786416501615101,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.25719511509880444,y:.2625},{x:-.29226717624864135,y:.2625},{x:-.29226717624864135,y:.5},{x:.25719511509880444,y:.5}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"oMeHBYv8MZowW2UjWYNbTs",selected:!1,selectedIndex:3}],khn=18,Fhn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.5736443737686907,-8.024644919181295,-8025001608758962e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.5736443737686907,-8.024794925856764,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[10.811404848456696,-24.22563598939458,8.16030935368929],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[2.4887069683147542,-4.392139935230605,6.944093833347563],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},Lhn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Whn=1,Nhn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Uhn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Bhn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},jhn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Yhn="Unknown",Ohn=null,_hn=null,Vhn=null,Ghn=["A half-timbered house"],Xhn={docid:Chn,time:Rhn,timestamp:Hhn,userid:Mhn,owner:Ihn,email:zhn,world:Dhn,elements:Ehn,sceneRadius:khn,view:Fhn,graphState:Lhn,evolutionMethod:Whn,solarPanelArrayLayoutParams:Nhn,solarPanelArrayLayoutConstraints:Uhn,evolutionaryAlgorithmState:Bhn,economicsParams:jhn,modelType:Yhn,modelAuthor:Ohn,modelLabel:_hn,modelDescription:Vhn,notes:Ghn},Jhn="u6V16ot91aBGkUfNPgtKBw",Khn="06/13/2023 10:40 am",qhn=1686667251444,$hn=null,Qhn=null,Zhn={solarRadiationHeatmapGridCellSize:.3,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},epn=[{type:"Human",name:"John",cx:-3.628595765451405,cy:-5.965837088553536,cz:.075,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",id:"qPhtowBuGGDfEAuEFNhxwt",selected:!1,locked:!1},{type:"Wall",cx:.10471070913816627,cy:6.876571226527738,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4.1,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[6.991747390099202,6.876571226527738,.1],rightPoint:[-6.78232597182287,6.876571226527738,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.0625,lx:.0708994221944815,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:6.991747390099202,cy:1.3532362351510367,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4.1,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[6.9917473900992,-4.1700987562256655,.1],rightPoint:[6.991747390099204,6.876571226527738,.1],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.782325971822869,cy:1.3532362351510367,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4.1,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.782325971822869,6.876571226527738,.1],rightPoint:[-6.78232597182287,-4.1700987562256655,.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.0625,lx:.09052501808791685,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:.10471070913816716,cy:-4.1700987562256655,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4.1,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.78232597182287,-4.1700987562256655,.1],rightPoint:[6.991747390099204,-4.1700987562256655,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3993009079801005,cy:.1,cz:-.0625,lx:.07260016508729113,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25410057780551853,cy:.1,cz:-.062499999999999944,lx:.072600165087291,ly:.3,lz:.3749999999999999,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.217800495261873,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:-.02203325078968787,cy:0,cz:-.1875,lx:.18926683175395775,ly:0,lz:.625,color:"white",textureType:"Door Texture #7",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"22qg2ZvB7t4cVkS2ppWUue",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["roDDPncXBpNgmNum9aUaov"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:2,ceiling:!1,locked:!1},{type:"Foundation",cx:-11.627490246197299,cy:.3947804481181869,cz:.075,lx:19.77405921718084,ly:14.655745561697936,lz:.15,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Foundation",cx:-11.621608440780687,cy:1.9572753540307968,cz:.05,lx:16.830274696272348,ly:15.08817119873108,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1hsdTDJQtP791cvdCX88pM",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!1},{type:"Wall",cx:.08541275905423218,cy:3.142987766593968,cz:2.2408122612280286,lx:10.982816484532037,ly:.3,lz:5.1,leftJoints:["oqmTcCR15WVtwsqrWdL4GC"],rightJoints:["1pdrgHKxCmzDRjbnSqoG6g"],leftPoint:[5.57682100132025,3.142987766593967,0],rightPoint:[-5.405995483211786,3.142987766593969,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pbycx2vwYmMhSjRe9GEQ9K",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.423886716391337,rightUnfilledHeight:4.423886716391337,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:5.576821001320248,cy:-.20560385518737068,cz:2.2301039869226305,lx:6.697183243562679,ly:.3,lz:5.1,leftJoints:["gCfAqTHxYsKYYxNWYw9TWQ"],rightJoints:["pbycx2vwYmMhSjRe9GEQ9K"],leftPoint:[5.576821001320245,-3.5541954769687103,0],rightPoint:[5.57682100132025,3.142987766593969,0],relativeAngle:1.570796326794896,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oqmTcCR15WVtwsqrWdL4GC",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.137593329953601,rightUnfilledHeight:4.137593329953601,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:-5.405995483211786,cy:-.20560385518737068,cz:2.228839888904333,lx:6.697183243562679,ly:.3,lz:5.1,leftJoints:["pbycx2vwYmMhSjRe9GEQ9K"],rightJoints:["gCfAqTHxYsKYYxNWYw9TWQ"],leftPoint:[-5.405995483211786,3.142987766593969,0],rightPoint:[-5.405995483211786,-3.5541954769687103,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1pdrgHKxCmzDRjbnSqoG6g",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.005808068482516,rightUnfilledHeight:4.005808068482516,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:.08541275905423218,cy:-3.5541954769687103,cz:2.268765007024547,lx:10.982816484532037,ly:.3,lz:5.1,leftJoints:["1pdrgHKxCmzDRjbnSqoG6g"],rightJoints:["oqmTcCR15WVtwsqrWdL4GC"],leftPoint:[-5.405995483211786,-3.5541954769687103,0],rightPoint:[5.57682100132025,-3.5541954769687103,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gCfAqTHxYsKYYxNWYw9TWQ",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.950942062075448,rightUnfilledHeight:3.950942062075448,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",roofStructure:"Default",wallsId:["pbycx2vwYmMhSjRe9GEQ9K"],textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",id:"1ruH3RPfFc3ThJYcd2omkK",leftRidgeLength:3.201607189072456,rightRidgeLength:3.144275873016056,rise:3.3,ceiling:!1,locked:!1},{type:"Human",name:"Jett",cx:3.45311660764904,cy:-5.539983726654682,cz:0,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"ngMWYAz5cg4LmcZtkKGH5w",selected:!1,locked:!1},{type:"Wall",cx:-.5646884076429224,cy:5.154362868463492,cz:2.2408122612280286,lx:12.155877698025375,ly:.3,lz:4,leftJoints:["63yNZT5sk98atsFEx8NvNs"],rightJoints:["jQsmtVwKhe4n3CrR6jXs3q"],leftPoint:[5.513250441369763,5.154362868463492,.15],rightPoint:[-6.642627256655608,5.154362868463492,.15],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mzpK9wLgMhYvSmDqWB4w5a",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4wXNeeycaqHL9B1R9qUX1E",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"mt3NkwPRVR29Vv4nC9yzZx",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"a4kNY3m4aqY6M343x3uLZh",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:5.513250441369763,cy:.8650317721032894,cz:2.2301039869226305,lx:8.578662192720406,ly:.3,lz:4,leftJoints:["7AAP4SGnSJct2FC9Zr7dc4"],rightJoints:["mzpK9wLgMhYvSmDqWB4w5a"],leftPoint:[5.513250441369756,-3.424299324256914,.15],rightPoint:[5.513250441369763,5.154362868463492,.15],relativeAngle:1.570796326794896,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"63yNZT5sk98atsFEx8NvNs",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jbtNFjUNQaHTwUPP6Cgyx7",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ig1Epmrjnd2PJxhzkNaQVQ",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"f3BCsz5GQBEYy4XiqRBqZE",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.642627256655608,cy:.8650317721032894,cz:2.228839888904333,lx:8.578662192720406,ly:.3,lz:4,leftJoints:["mzpK9wLgMhYvSmDqWB4w5a"],rightJoints:["7AAP4SGnSJct2FC9Zr7dc4"],leftPoint:[-6.642627256655608,5.154362868463492,.15],rightPoint:[-6.642627256655608,-3.424299324256914,.15],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jQsmtVwKhe4n3CrR6jXs3q",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"cWeaG9uSw8kJfhXamtKBxr",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"nxekbBrmyzGrPUF9ezKfwT",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"e67VWqxp9LA175MVc6hEpX",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-.5646884076429224,cy:-3.424299324256914,cz:2.268765007024547,lx:12.155877698025375,ly:.3,lz:4,leftJoints:["jQsmtVwKhe4n3CrR6jXs3q"],rightJoints:["63yNZT5sk98atsFEx8NvNs"],leftPoint:[-6.642627256655608,-3.424299324256914,.15],rightPoint:[5.513250441369763,-3.424299324256914,.15],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7AAP4SGnSJct2FC9Zr7dc4",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.39930090798010054,cy:.1,cz:-.0484624485645839,lx:.072600165087291,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"3CK46FAqDU4yiw68e68gyB",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"b4tHm9uwSzreh4oUqoA1iA",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25410057780551853,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"i6yCtjaey6bF3bxgioyozq",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jfHaiksBWSL7KRtRUTCNe2",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.02056618256702364,cy:0,cz:-.1875,lx:.2056618256702355,ly:0,lz:.625,color:"white",textureType:"Door Texture #7",normal:[0,1,0],rotation:[0,0,0],id:"srJTCNtCygPjzCukKAxRUa",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"4gpAeqULbxkTE3NVbw47eo",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["7AAP4SGnSJct2FC9Zr7dc4"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:3.3,ceiling:!1,locked:!1},{type:"Foundation",cx:12.400385994458517,cy:1.2287983710659756,cz:.075,lx:14.955401155218322,ly:11.516608009620233,lz:.15,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oWDryEiqPVRjWJgYF9QDux",selected:!1,notBuilding:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"B"},locked:!1},{type:"Wall",cx:1.5103273766750398,cy:6.063064855929808,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4,leftJoints:["tBjXFzHUauAuKRcxtaPG1e"],rightJoints:["4SzYT1f9J8muRMTnAg2SJH"],leftPoint:[8.397364057636077,6.063064855929808,.25],rightPoint:[-5.376709304285996,6.063064855929808,.25],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dwbAGuCethnJoxAoWyoGv2",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:8.397364057636077,cy:.5397298645531063,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4,leftJoints:["jXXAZGYK8JJ2UA3NqYndxp"],rightJoints:["dwbAGuCethnJoxAoWyoGv2"],leftPoint:[8.397364057636073,-4.983605126823596,.25],rightPoint:[8.397364057636077,6.063064855929808,.25],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tBjXFzHUauAuKRcxtaPG1e",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",structureSpacing:2.3,opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:-5.376709304285995,cy:.5397298645531063,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4,leftJoints:["dwbAGuCethnJoxAoWyoGv2"],rightJoints:["jXXAZGYK8JJ2UA3NqYndxp"],leftPoint:[-5.376709304285995,6.063064855929808,.25],rightPoint:[-5.376709304285996,-4.983605126823596,.25],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4SzYT1f9J8muRMTnAg2SJH",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:1.5103273766750416,cy:-4.983605126823596,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4,leftJoints:["4SzYT1f9J8muRMTnAg2SJH"],rightJoints:["tBjXFzHUauAuKRcxtaPG1e"],leftPoint:[-5.376709304285996,-4.983605126823596,.25],rightPoint:[8.397364057636077,-4.983605126823596,.25],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jXXAZGYK8JJ2UA3NqYndxp",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{id:"uJkcA94q1VPrPcTVWbwGvS",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["jXXAZGYK8JJ2UA3NqYndxp"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:1.5269644430820746,ceiling:!1,locked:!1},{type:"Foundation",cx:10.37396266274916,cy:1.4954382308468475,cz:.125,lx:16.96282588210709,ly:13.050086329642726,lz:.25,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"s1ySBq5Hp2XQRHXHYFr7Ei",selected:!1,enableGroupMaster:!0,notBuilding:!0,locked:!1},{type:"Window",cx:.07884126244762069,cy:-.4199549792627557,cz:5.657927332967425,lx:6.879964200295598,ly:.2,lz:3.6298042832326978,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"5qeCesjRK72iMFt1u6qiC3",interior:!0,empty:!0,locked:!1},{type:"Window",cx:4.6299611623937915,cy:-1.9963568795412103,cz:5.087112090821291,lx:1.9473454718410252,ly:.2,lz:.2766726175398978,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"aGpcgzxVmKxBSPh9yRzTLJ",interior:!0,empty:!0,polygonTop:[-.5,3.2251316092291917],locked:!1},{type:"Window",cx:-4.39419016648573,cy:-2.002733503950701,cz:5.084803114661254,lx:1.92547283639216,ly:.2,lz:.24728723598247773,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.34741346419269825,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"osBXWJHBmx9hpwyQUwqfsK",polygonTop:[.46902792604716753,3.180338239963955],locked:!1},{type:"Window",cx:.11638811342117883,cy:3.157291970642662,cz:5.646751287652042,lx:6.9955661140483585,ly:.2,lz:3.5587869628599558,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"4W4UVMV7FW5xPQu2hjVR4Y",locked:!1},{type:"Window",cx:4.590702645311016,cy:4.683424214953679,cz:5.094138691568809,lx:1.7954404068830758,ly:.2,lz:.26778946663296593,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"jJTqLy3iA2qbmapg7Zub8Z",polygonTop:[.5,3.0683555686449475],locked:!1},{type:"Window",cx:-4.415927568932208,cy:4.63032056148964,cz:5.113367528330277,lx:1.7975728034829963,ly:.2,lz:.3359502694894871,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"m5979bvktsFocL1GPG4weA",polygonTop:[-.4957280589496637,2.9554677254634854],locked:!1},{type:"Window",cx:5.504236899323556,cy:1.3302889338668908,cz:5.19822982033263,lx:5.612135328984845,ly:.2,lz:.3020024535761091,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5129779343199241,0,1.5707963267948963],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"uyC7NDy7e1ziZpNPzq7VwJ",polygonTop:[.009359362140956982,1.9288870310031725],locked:!1},{type:"Window",cx:-5.3990349070202655,cy:1.2828552303810974,cz:5.1395256307270145,lx:6.2123129373580515,ly:.2,lz:6294722086474765e-21,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5129779343199243,0,4.71238898038469],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wfuMCkccoofFa3YJZeQXjY",polygonTop:[-.008473558583168532,2.320323655487881],locked:!1},{type:"Window",cx:1.5099442103574612,cy:2.197100019877415,cz:5.268772915652224,lx:6.866771854005096,ly:.2,lz:3.3727323067547332,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"jKvUBT3s3eyiNHv6xMyWAB",locked:!1},{type:"Window",cx:1.5105405746812384,cy:-1.0648474200330473,cz:5.283367872610519,lx:6.865526912026976,ly:.2,lz:3.1583095363910174,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"nehwkAn747SbcH197nfAym",locked:!1},{type:"Window",cx:6.847328996169246,cy:.5571537124890757,cz:4.912671214877417,lx:5.747166362942518,ly:.2,lz:.07159007097595167,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4061405868341845,0,1.5707963267948963],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"vzRJC7dg8gVnPCKJ8nK1uw",polygonTop:[.0029237138437357584,1.8546622388485283],locked:!1},{type:"Window",cx:-3.913630166662161,cy:.5040604017480659,cz:4.875275785658461,lx:6.025884701181912,ly:.2,lz:.016127155846384855,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4061405868341845,0,4.71238898038469],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"kwCF77vQKSWqB9vJyLsGEC",polygonTop:[-.002404697670111075,1.990469286566286],locked:!1},{type:"Window",cx:5.8964025615822475,cy:3.6476180468177413,cz:4.867767100389265,lx:1.6622791380927708,ly:.2,lz:.4588203236729191,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"41o33Gu8Z1ZgNh7JnbXzVZ",polygonTop:[.5,2.796622713087028],locked:!1},{type:"Window",cx:-2.855581425025988,cy:3.549188813296429,cz:4.894978547817588,lx:1.5556391784234185,ly:.2,lz:.4903348709835801,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"gfa6RMCw76XaAmQeeHFmdc",polygonTop:[-.5,2.5684727779282683],locked:!1},{type:"Window",cx:-2.7969890059844267,cy:-2.384701698791339,cz:4.918484960952953,lx:1.5043468507143833,ly:.2,lz:.30588110911202415,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"neBTigCnPfsLosQzW9yEzs",polygonTop:[.5,2.6873784768414724],locked:!1},{type:"Window",cx:5.895662984214205,cy:-2.416289985539417,cz:4.90975215898503,lx:1.579400635678578,ly:.2,lz:.3714274801752112,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"4LmavYSaxJMdhHeDjENvmB",polygonTop:[-.5,2.6218328392217303],locked:!1}],tpn=27,npn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6328594466581806,4.6052145632619785,4606954980926815e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6328594466581806,4.6042141858164145,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-24.900270995188162,-22.88331862075037,5.458927240534251],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:43.16939043526372,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.17215904908430746,3.1094271606158492,2.035326701937142],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:334,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},opn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ipn=1,rpn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},apn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},lpn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},spn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},cpn="Unknown",upn=null,dpn=null,fpn=null,hpn=["Combination roof vs. bonnet roof"],ppn={docid:Jhn,time:Khn,timestamp:qhn,owner:$hn,email:Qhn,world:Zhn,elements:epn,sceneRadius:tpn,view:npn,graphState:opn,evolutionMethod:ipn,solarPanelArrayLayoutParams:rpn,solarPanelArrayLayoutConstraints:apn,evolutionaryAlgorithmState:lpn,economicsParams:spn,modelType:cpn,modelAuthor:upn,modelLabel:dpn,modelDescription:fpn,notes:hpn},gpn="eUyyJJc59Won933XJe19sV",mpn="06/17/2023 01:41 pm",ypn=1687023666114,Apn="QWecNcxhyvP6j6sBN11hBsfZDau1",wpn=null,vpn=null,xpn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 9:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},bpn=[{type:"Human",name:"Jeff",cx:2.849872692474971,cy:-6.695477959956797,cz:1.05,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.6,locked:!0},{type:"Wall",cx:.40535681744352425,cy:5.410198334546533,cz:2.2408122612280286,lx:6.331471207996493,ly:.3,lz:8.5,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[3.571092421441771,5.410198334546532,2.1],rightPoint:[-2.760378786554723,5.410198334546534,2.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:8.5,rightRoofHeight:8.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8.5,rightTopPartialHeight:8.5},{type:"Wall",cx:3.57109242144177,cy:-.3506001740764093,cz:2.2301039869226305,lx:11.521597017245886,ly:.3,lz:6.067100850480004,leftJoints:["8VKLBEAuMJxaXGp1WaM9mU"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[3.57109242144177,-6.1113986826993525,2.1],rightPoint:[3.571092421441772,5.410198334546534,2.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:7,rightRoofHeight:8.5,centerRoofHeight:[-.19251847682880624,6.3652370979872765],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6.067100850480004,rightTopPartialHeight:6.067100850480004},{type:"Wall",cx:-2.7603787865547225,cy:-.3506001740764093,cz:2.228839888904333,lx:11.521597017245886,ly:.3,lz:6.067100850480004,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["8VKLBEAuMJxaXGp1WaM9mU"],leftPoint:[-2.760378786554722,5.410198334546534,2.1],rightPoint:[-2.760378786554723,-6.1113986826993525,2.1],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:8.5,rightRoofHeight:7,centerRoofHeight:[.19251847682880624,6.3652370979872765],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6.067100850480004,rightTopPartialHeight:6.067100850480004},{type:"Foundation",cx:-.33784337005620096,cy:1.3319211806243931,cz:1.05,lx:15.0489874276124,ly:21.361755748126203,lz:2.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,color:"#b3b3b3",locked:!0},{type:"Wall",cx:.40535681744352337,cy:-6.1113986826993525,cz:3.5404855174251457,lx:6.3314712079964925,ly:.3,lz:7,relativeAngle:0,leftPoint:[-2.760378786554723,-6.1113986826993525,2.1],rightPoint:[3.57109242144177,-6.1113986826993525,2.1],leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"8VKLBEAuMJxaXGp1WaM9mU",roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:7,rightRoofHeight:7,color:"#999999",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["8VKLBEAuMJxaXGp1WaM9mU"],textureType:"No Roof Texture",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"9DRBXRS4our7656cx2vwpG",ridgeLeftPoint:[.19251847682880624,1],ridgeRightPoint:[-.19251847682880624,1],locked:!0,sideColor:"#999999",rise:-2.1347629020127235,ceiling:!1},{type:"Wall",cx:.7846470380907851,cy:6.144582715914701,cz:2.2408122612280286,lx:8.239996514218573,ly:.1,lz:2.458799038921556,leftJoints:["awarKnJ5NQrzVL6xf3jKDE"],rightJoints:["c43fWPvXTFz63buLF7EQiF"],leftPoint:[4.904645295200071,6.1445827159147,.038162668507384964],rightPoint:[-3.3353512190185017,6.144582715914702,.038162668507384964],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s2FCVLdwmxK7ScMqTWFnPt",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:2.1,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:4.904645295200071,cy:-.6338350568557676,cz:2.2301039869226305,lx:13.55683554554094,ly:.1,lz:2.458799038921556,leftJoints:["jCtJVX5GRr3k9vybapQgGf"],rightJoints:["s2FCVLdwmxK7ScMqTWFnPt"],leftPoint:[4.904645295200069,-7.4122528296262375,.038162668507384964],rightPoint:[4.904645295200073,6.144582715914702,.038162668507384964],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"awarKnJ5NQrzVL6xf3jKDE",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:1.93,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:-3.335351219018501,cy:-.6338350568557676,cz:2.228839888904333,lx:13.55683554554094,ly:.1,lz:2.458799038921556,leftJoints:["s2FCVLdwmxK7ScMqTWFnPt"],rightJoints:["jCtJVX5GRr3k9vybapQgGf"],leftPoint:[-3.3353512190185,6.144582715914702,.038162668507384964],rightPoint:[-3.3353512190185017,-7.4122528296262375,.038162668507384964],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"c43fWPvXTFz63buLF7EQiF",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:1.93,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:.7846470380907842,cy:-7.4122528296262375,cz:3.5404855174251457,lx:8.239996514218571,ly:.1,lz:2.458799038921556,leftJoints:["c43fWPvXTFz63buLF7EQiF"],rightJoints:["awarKnJ5NQrzVL6xf3jKDE"],leftPoint:[-3.3353512190185017,-7.4122528296262375,.038162668507384964],rightPoint:[4.904645295200069,-7.4122528296262375,.038162668507384964],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"jCtJVX5GRr3k9vybapQgGf",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:2.1,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Foundation",cx:-.7344091119928784,cy:1.2827917090727918,cz:1,lx:11.86176666643788,ly:16.71773862227102,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oR9dfJF3BCFMyFyFLPCHa7",selected:!1,locked:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["jCtJVX5GRr3k9vybapQgGf"],ridgeWidth:.5,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",id:"5By6QsyR9XJzwW57eFw7Rg",locked:!0,rise:0,ceiling:!1},{type:"Wall",cx:-.039595288973048426,cy:5.505906418342898,cz:2.2408122612280286,lx:8.1086978625349,ly:.1,lz:3.7968822453017803,leftJoints:["cSVfkr5b26MSCjvZV6AAuA"],rightJoints:["39y7xTS1S7F7jiBBvyvPxR"],leftPoint:[4.0147536422944015,5.505906418342896,0],rightPoint:[-4.093944220240498,5.5059064183429,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hq7PgWBkRgswjhv5arBsam",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:2.1,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:4.0147536422944015,cy:-1.1596625117163346,cz:2.2301039869226305,lx:13.33113786011847,ly:.1,lz:3.7968822453017803,leftJoints:["8K2s8ExFq4TG2csG9MWdsp"],rightJoints:["hq7PgWBkRgswjhv5arBsam"],leftPoint:[4.0147536422944,-7.8252314417755695,0],rightPoint:[4.014753642294403,5.5059064183429,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cSVfkr5b26MSCjvZV6AAuA",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:1.93,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:-4.093944220240498,cy:-1.1596625117163346,cz:2.228839888904333,lx:13.33113786011847,ly:.1,lz:3.7968822453017803,leftJoints:["hq7PgWBkRgswjhv5arBsam"],rightJoints:["8K2s8ExFq4TG2csG9MWdsp"],leftPoint:[-4.093944220240498,5.5059064183429,0],rightPoint:[-4.093944220240498,-7.8252314417755695,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"39y7xTS1S7F7jiBBvyvPxR",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:1.93,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:-.039595288973049314,cy:-7.8252314417755695,cz:3.5404855174251457,lx:8.108697862534898,ly:.1,lz:3.7968822453017803,leftJoints:["39y7xTS1S7F7jiBBvyvPxR"],rightJoints:["cSVfkr5b26MSCjvZV6AAuA"],leftPoint:[-4.093944220240498,-7.8252314417755695,0],rightPoint:[4.0147536422944,-7.8252314417755695,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"8K2s8ExFq4TG2csG9MWdsp",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:2.1,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Foundation",cx:.04362302366466242,cy:1.823303235241708,cz:1,lx:8.30081773193631,ly:17.094708951250738,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5Ds4Da2scUYHkUksNyQ1xG",selected:!1,enableGroupMaster:!1,locked:!0,notBuilding:!0},{type:"Window",cx:-.25419587257395015,cy:.1,cz:-.30201296045936715,lx:.24801117503166498,ly:.3,lz:.33556995606596346,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1d7mvhUrBc4LPBEQXecARp",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ir7hkL6jERL1qMTc1icTaU",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.2603805701162353,cy:.1,cz:-.30201296045936715,lx:.2603805701162353,ly:.3,lz:.33556995606596346,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"r88YNaDvQ5vy3aH4s6woYs",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u5euGVsx1U7wCryJGvzaQB",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"cSXg7ALAMVJuBAwSqm3fTC",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.23691176200967903,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"4BaNwdGRdaXZpb72VCDgor",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rbG9cs5DUMxXisr5wn3eQo",parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.23691176200967903,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mFoP4r2Wu3pQmWdjtsWy3S",parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"augNejin4JPCekoKKnTYSv",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.029411764705882353,lx:.15794117467311933,ly:.3,lz:.17647058823529413,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"5B4h5oeHnYU5wJtaewHXT5",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8361znRuvUkFVaeSdoo5N8",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.34717409348831374,cy:.1,cz:.24723505294647058,lx:.17358704674415687,ly:.3,lz:.32964673726196053,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oqGE4Pc7gaUxrzp2HEspd6",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Human",name:"Jett",cx:3.30154460456002,cy:-9.422479646769895,cz:1.05,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"rw9LaiB1TVsCjU7r3gxtva",selected:!1,ly:.6,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.3048004341950468,cy:-9.630820519777313,cz:1.05,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"eSJdzinPpHu96SbrVMAjVK",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:6.510735678336653,cy:-3.1958389696925,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"5HazbJmLvszfXVAspqP44n",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:6.4905736887835115,cy:3.679225460437303,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"ksxkAyWQERG2x1K1PGLm2t",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-5.9613745486693706,cy:-2.773042180475202,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"iMujo9QXGncnBDqpZ8cWcv",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-6.2101179268188,cy:3.9102946709381,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"6cWk3x2UFqbqvZgzUcoLmx",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:1.8508428108951245,cy:-9.658677131415082,cz:1.05,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"tgueUXSjzrifiN4jQuumWf",selected:!1,locked:!0},{type:"Tree",name:"Apple",cx:6.0352995723203975,cy:9.024257786663838,cz:1.0499999523162848,lx:4.174402972815023,lz:5.46894817384739,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"aKSdbZwyPvicQCB2BLjJKk",selected:!1,locked:!0},{type:"Tree",name:"Apple",cx:-5.904244061298131,cy:8.73412818752091,cz:1.049999952316284,lx:4.174402972815023,lz:5.46894817384739,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"izwDJguiBhY5ey4Ujd2R3z",selected:!1,locked:!0},{type:"Human",name:"Jena",cx:4.50924100032713,cy:-.042568091946864506,cz:1.05,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"q9UXGHJuymt18ppM1rZtbi",selected:!1,ly:.695,locked:!0},{type:"Window",cx:0,cy:.1,cz:.38235294117647056,lx:.15794117467311933,ly:.3,lz:.17647058823529413,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fpLqjLTr3asSNu2fh1ZJCm",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.02669213223982052,cy:.08291430106063127,cz:7.726383223578941,lx:6.232,ly:8.368,lz:.046,showLabel:!1,normal:[0,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,0],color:"#fff",parentType:"Roof",parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"n5j4iVNJbtpUNbLaMZkvDP",selected:!1,locked:!0},{type:"Light",decay:2,distance:8,intensity:8,color:"#fe9200",cx:.05226827991600305,cy:-.11746474188720647,cz:6.581147613067356,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,0],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"uKAsAnFBRgrMiaDDwGrZbd",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:8,intensity:8,color:"#fe9200",cx:.04809382562376093,cy:.17196359453393734,cz:8.23533076857283,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[-6262269137366339e-32,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,-4440892098500626e-31],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ndNwjPHJBZn5L5PwwRPXWh",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:5,intensity:5,color:"#7b64ff",cx:.4038813832551331,cy:-.018771346923666346,cz:.4999999772934685,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eKvvAN4QXDBPjUP3YttScs",selected:!1,locked:!0},{type:"Light",decay:2,distance:8,intensity:5,color:"#f44e3b",cx:.03479011577552929,cy:.29915344735612687,cz:8.962264816189862,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[-6262269137366339e-32,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,-4440892098500626e-31],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"j4JYudDCjzNXq8FDPWZEem",selected:!1,inside:!0,locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.39094575141857246,y:-.6076345062918038},{x:-.3475489897325333,y:-.5252228219763136},{x:-.30415222804649406,y:-.6076345062918038},{x:-.3475489897325333,y:-.690046190607294}],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",parentType:"Wall",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,filled:!0,selectedIndex:0,id:"it9MDEMzBf4jYFMwSdWCYB",text:"LAKE INN",fontSize:.6,fontColor:"white",noOutline:!0,opacity:0,fontStrokeWidth:.01,locked:!0}],Spn=16,Tpn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.9823782654476845,7.984103859589565,7948413777907035e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.9823782654476845,7.983103482143546,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[26.70929607950559,3.177981670849796,5.962891433031834],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921875,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"forestgreen",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.21820041958429523,2.945228709202592,5.9628914330318326],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!0,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Ppn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Cpn=1,Rpn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Hpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Mpn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ipn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},zpn="Unknown",Dpn=null,Epn=null,kpn=null,Fpn=[],Lpn={docid:gpn,time:mpn,timestamp:ypn,userid:Apn,owner:wpn,email:vpn,world:xpn,elements:bpn,sceneRadius:Spn,view:Tpn,graphState:Ppn,evolutionMethod:Cpn,solarPanelArrayLayoutParams:Rpn,solarPanelArrayLayoutConstraints:Hpn,evolutionaryAlgorithmState:Mpn,economicsParams:Ipn,modelType:zpn,modelAuthor:Dpn,modelLabel:Epn,modelDescription:kpn,notes:Fpn},Wpn="9oLedt6KSdnvU6ReLpvofe",Npn="06/12/2023 10:14 am",Upn=1686579271051,Bpn=null,jpn=null,Ypn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Opn=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-.19344523437500172,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.036317022980521335,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,label:"Box Gable",labelHeight:8,labelSize:.5,showLabel:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"pNA4YvnHKpbgLLZoVdn8iH",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"pNA4YvnHKpbgLLZoVdn8iH",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",showLabel:!1,ly:0,lz:.4719248971291678,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:.014037551435416101,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:.014037551435416101,normal:[0,0,1],cx:-.25,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.4719248971291678,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.24999999999999997,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333326,color:"#ffffff",cz:.014037551435416101,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.4719248971291678,type:"Window",mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:.014037551435416101,lz:.4719248971291678,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333341,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.5,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.1,cx:.35,cz:0,ly:0,showLabel:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{selected:!1,cz:-.003118658584209677,foundationId:"m7AH7DcnoGzAq9kryBy4RS",type:"Window",normal:[0,0,1],id:"rgPxjoaTPqdF2tQvSYYJxX",lx:.15000000000000005,ly:0,color:"#ffffff",parentId:"skm8dNPSkFaVkoUwiPNfq1",lz:.5062373171684194,cy:.1,cx:.025000000000000022,rotation:[0,0,0],mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.32500000000000007,rotation:[0,0,0],type:"Window",lz:.5,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:0,lx:.1499999999999999,color:"#ffffff",cy:.1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jamelia",cx:1.1862593917325661,cy:-5.878603983923892,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Door",cx:-.007175044455080826,cy:0,cz:-.10574881686604092,lx:.24768342224349496,ly:0,lz:.7885023662679181,textureType:"Door Texture #5",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"j9wJCoWK33fz7y9VeMvYET",doorType:"Default",archHeight:1,filled:!0},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.25,cy:.1,cz:0,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mN8bzYoiQHnqnz3EdnMx5V",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.009999999999999998,cy:.1,cz:.65,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tykEvHMLKUG24aenygTKer",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:.1,cz:0,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ptjuJgnSZ9BGF41zQTa7NN",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.25,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qH7TW5xv9LhkiifYBpFnzX",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kGJQ1siixMwoWrD3EUKKJK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-18.764187734374996,cy:.14106107076947794,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,label:"Open Gable",showLabel:!0,labelHeight:7,labelSize:.5},{type:"Door",cx:0,cy:0,cz:-.1,lx:.25,ly:0,lz:.8,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Jess",cx:-3.1725018437499966,cy:-6.753630704470966,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pNA4YvnHKpbgLLZoVdn8iH",leftRidgeLength:6,rightRidgeLength:6,rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1},{type:"Human",name:"Jeanette",cx:7.621742234374995,cy:-6.466760136609153,cz:.05000000074505806,lx:.4,ly:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"oRmXPWxcNMFxgsrsxonDon",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.36,cy:.1,cz:-.003118658584209677,lx:.12000000000000002,ly:.3,lz:.5062373171684194,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ffkLQGy3NT64UfpCw11G41",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.05,cy:.1,cz:-.003118658584209677,lx:.1,ly:.3,lz:.5062373171684194,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gNMVvT81stFdLZCLrqUQZf",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3366666666666666,cy:.1,cz:0,lx:.12666666666666676,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5bfnZWdB6epkk2c8Lmex9Z",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.375,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aScdMHKjqapGhvxSXnrdVS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"94qFJLPpyieU8kH3r8ea1u",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333334,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hqJtpQuGAWonh9XMck7DkQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.375,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iepBWG7Nk7RRKfgVSDffBC",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:18.4159863125,cy:-.013675215842332555,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,label:"Hip",showLabel:!0,labelHeight:8,labelSize:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,rise:2,ceiling:!1},{type:"Door",cx:.00416666666666667,cy:0,cz:-.125,lx:.24166666666666667,ly:0,lz:.75,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"bm1UTSxwjiN1iZGr4Z4Fm6",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.35000000000000014,cy:.1,cz:.014037551435416087,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vA6adyEkDTr58b4mpzEs5P",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:13322676295501878e-32,cy:.1,cz:.014037551435416074,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"twnicRfRAP53B9K6S8CVFm",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.35000000000000014,cy:.1,cz:.014037551435416074,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oxmJ7ohqmjFLB5ye4yGS6E",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3500000000000001,cy:.1,cz:.01403755143541606,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jsRnsGzxKw3CunZjMYneFD",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8d9L17Wt7kc8NaHb7DZkQA",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hVKNWxqP1tH67cRypCiM18",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29999999999999993,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hHA24TY61rX4piy7chXHsW",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.6390375514354161,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sFXKinS1ygh3aQAbgbsfyW",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3000000000000001,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n9vgLXoYa2nNMGT5JFGz9k",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1}],_pn=35,Vpn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-28.254159564913593,-27.690636175073536,3.1442036565521727],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-2.0057889063141925,7.911051887878871,2.2071518984525413],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:288,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Gpn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Xpn=1,Jpn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Kpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},qpn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},$pn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Qpn="Unknown",Zpn=null,e1n=null,t1n=null,n1n=["Gable roof vs. hip roof"],o1n={docid:Wpn,time:Npn,timestamp:Upn,owner:Bpn,email:jpn,world:Ypn,elements:Opn,sceneRadius:_pn,view:Vpn,graphState:Gpn,evolutionMethod:Xpn,solarPanelArrayLayoutParams:Jpn,solarPanelArrayLayoutConstraints:Kpn,evolutionaryAlgorithmState:qpn,economicsParams:$pn,modelType:Qpn,modelAuthor:Zpn,modelLabel:e1n,modelDescription:t1n,notes:n1n},i1n="jBRvLNoGNN2puEDd9PXycz",r1n="06/10/2023 06:24 pm",a1n=1686435869581,l1n=null,s1n=null,c1n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},u1n=[{type:"Human",name:"Jedi",cx:6.331304507164129,cy:-1.3012531601465285,cz:.05,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.56,locked:!1},{type:"Wall",cx:.2181336152654918,cy:3.890044719861693,cz:2.2408122612280286,lx:19.557378002954934,ly:.3,lz:4.671023197562504,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[9.996822616742959,3.890044719861693,.1167755799390626],rightPoint:[-9.560555386211975,3.890044719861694,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:9.996822616742957,cy:.3560826328024773,cz:2.2301039869226305,lx:7.067924174118433,ly:.3,lz:4.671023197562504,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[9.996822616742953,-3.177879454256739,.1167755799390626],rightPoint:[9.99682261674296,3.890044719861694,.1167755799390626],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:-9.560555386211973,cy:.3560826328024773,cz:2.228839888904333,lx:7.067924174118433,ly:.3,lz:4.671023197562504,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-9.560555386211973,3.890044719861694,.1167755799390626],rightPoint:[-9.560555386211975,-3.177879454256739,.1167755799390626],relativeAngle:-1.570796326794897,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:.2181336152654927,cy:-3.177879454256739,cz:2.268765007024547,lx:19.557378002954934,ly:.3,lz:4.671023197562504,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-9.560555386211975,-3.177879454256739,.1167755799390626],rightPoint:[9.99682261674296,-3.177879454256739,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Foundation",cx:0,cy:1.7959453873000797,cz:.05,lx:20.027750617523758,ly:10.567937825052699,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1,locked:!1},{type:"Wall",cx:.48326494323250757,cy:3.5008921737627774,cz:2.2408122612280286,lx:9.311701011603256,ly:.3,lz:4.671023197562504,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[5.1391154490341355,3.500892173762777,.1167755799390626],rightPoint:[-4.172585562569121,3.5008921737627787,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:5.139115449034135,cy:-.014752489141851436,cz:2.2301039869226305,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[5.139115449034133,-3.530397152046481,.1167755799390626],rightPoint:[5.139115449034136,3.500892173762778,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:-4.17258556256912,cy:-.01475248914185131,cz:2.228839888904333,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.17258556256912,3.5008921737627787,.1167755799390626],rightPoint:[-4.172585562569121,-3.530397152046481,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.571023197562504,rightUnfilledHeight:4.571023197562504,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:.483264943232508,cy:-3.530397152046481,cz:2.268765007024547,lx:9.311701011603258,ly:.3,lz:4.671023197562504,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.172585562569121,-3.530397152046481,.1167755799390626],rightPoint:[5.139115449034136,-3.530397152046481,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{id:"atFqzWxSt7aWP6ZqiaDGq7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["gTaSzURYtieAPQn32pwAn4"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:2,ceiling:!1,locked:!1},{type:"Foundation",cx:.23126993902249376,cy:-2.0229770702149175,cz:.05,lx:14.211391813883525,ly:9.298675779004126,lz:.1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},enableGroupMaster:!0},{type:"Window",cx:-.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.14222142677721564,ly:.3,lz:.3211287841136713,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aZCLoUJL2oqSdY1EPAoZaK",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7tBrMVcDfPB8c8BZciVReg",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.007111071338860792,cy:0,cz:-.25,lx:.21333214016582355,ly:0,lz:.5,color:"white",textureType:"Door Texture #4",normal:[0,1,0],rotation:[0,0,0],id:"7U3cffozoc4HtMQf5rGEzr",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{type:"Window",cx:-.2844428535544314,cy:.1,cz:.37465024813261655,lx:.14222142677721564,ly:.3,lz:.3211287841136713,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kXNUWsGU11pAFUKwvU2cgP",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:7894875130155282e-33,cy:.1,cz:.37465024813261655,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2TxqL85a1LDTfDpUNCK9gm",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2844428535544315,cy:.1,cz:.37465024813261655,lx:.14222142677721583,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"e7mrU2eTyTJt6DPomDBhWs",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.37587117494845146,cy:.1,cz:.26760732009472615,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4UxKztqar6qH3CTGZ9qgY9",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:.2676073200947262,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tQ1H6t36xF8x6Jq7rqyTYA",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.37587117494845146,cy:.1,cz:-.1605643920568356,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2o6zHemGFi14KgXdJ3iuht",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:-.1605643920568356,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bNFvbn2V5MqizQvTWS1gF8",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.007074212847824756,cy:.1,cz:.717187617853866,lx:.1273358312608462,ly:.3,lz:.14986009925304675,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tnV8oAWfG9ER3isiJKzp3v",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.28037933545424537,cy:.1,cz:.3211287841136713,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"d65ECu9HpsufqejE9JE6SQ",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2814150068377438,cy:.1,cz:.3211287841136713,lx:.1445912711069909,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6kdvjn4UXHVDJzSZhf4B4J",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.2829685139129914,cy:.1,cz:-.21408585607578087,lx:.1414842569564957,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eVWLBrjytjaXb5Ykbr5VPD",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2814150068377438,cy:.1,cz:-.21408585607578087,lx:.14459127110699085,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2ZfkAgSXYQx6P4m4xidDeL",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.053695882135493055,cy:.1,cz:.2676073200947261,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oEw7Y1dUnZ4auXTsBwuqSe",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.3758711749484514,cy:.1,cz:.2676073200947261,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4g5mEoLtYLy6qSqMvwrtZa",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.053695882135493055,cy:.1,cz:-.16056439205683565,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4SFYRMATJPbJgwPmaVx1ZQ",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.3758711749484514,cy:.1,cz:-.16056439205683565,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vJzKtUzUWEXsGn9NbVuYJR",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.2829685139129914,cy:.1,cz:-.21408585607578084,lx:.14148425695649575,ly:.3,lz:.21408585607578082,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6K9qDfssYi3YmZcNiGxeFD",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2829685139129914,cy:.1,cz:-.21408585607578087,lx:.1414842569564957,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aFbFpSbkdAr9vNaBtR39Zj",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.7171876178538659,lx:.1414842569564957,ly:.3,lz:.14986009925304655,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"gTVRT9iKwSKBHrZBxbTWqP",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25565799256140304,cy:.1,cz:.32112878411367124,lx:.051131598512280566,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nyFPVXnTmHtF1thRj3voUP",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25565799256140304,cy:.1,cz:-.21408585607578087,lx:.051131598512280566,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"44QoRqthuL83hLzEWvpPy4",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.40905278809824486,cy:.1,cz:-.21408585607578087,lx:.051131598512280566,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eL8eT9b15BPwUEoDRzrTes",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.40905278809824486,cy:.1,cz:.32112878411367124,lx:.051131598512280566,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"ik59hsieStesGBV1HN1iPA",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.28555769237173745,cy:.1,cz:.21408585607578087,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jzPeoP6c34HMtziwDKHv3a",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.28037933545424537,cy:.1,cz:.21408585607578087,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jsfEyvAHdrSn2vaQ4ia3zy",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25565799256140304,cy:.1,cz:.3211287841136713,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"1RhUm2Y2uUHcxK5xvxbogA",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.40905278809824486,cy:.1,cz:.3211287841136713,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"5ZJyH8rrUf7HJAQnM2bWVm",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.40905278809824486,cy:.1,cz:-.21408585607578087,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nw3rdMtcMqRG4LGoRcBsfK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25565799256140304,cy:.1,cz:-.21408585607578087,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vmF1fcU9LPrzoGvKVJXeJJ",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:-11353495590844666e-33,cy:0,cz:-.04661843672800818,lx:.35792118958596425,ly:0,lz:.9067631265439836,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"4u2Lemg9g24YVU44Rt2Xic",interior:!0,locked:!1},{type:"Window",cx:.025565799256140304,cy:.3,cz:.05352146401894522,lx:.10226319702456121,ly:.3,lz:.5352146401894522,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"bqg8AAYEpwNKgztwidBiEk",locked:!1},{type:"Window",cx:.4720595639184657,cy:-3.3684520937463995,cz:4.763171084384773,lx:6.938544523756692,ly:.2,lz:.00409574132092067,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5149965428074765,0,-2220446049250313e-31],parentId:"1iq4TPqH8xr1w2VxMAh8MU",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"aGPExW23jA85jXEJyeCpz1",interior:!0,empty:!0,polygonTop:[-.035382757507848805,4.273887307898969],locked:!1},{type:"Window",cx:-2.6203952752607758,cy:3.667558239043421,cz:4.776209255164273,lx:3.171105348094547,ly:.2,lz:.017651285838173516,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5172270860325816,0,3.141592653589793],parentId:"atFqzWxSt7aWP6ZqiaDGq7",parentType:"Roof",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"72o3pTJwsE9dUcnRyyjnEw",interior:!0,polygonTop:[.5,4.226955821233187],empty:!0,locked:!1},{type:"Window",cx:-2.693211019665715,cy:-3.6869046603465847,cz:4.781988313035353,lx:2.9580970480479842,ly:.2,lz:.09882178864870414,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5172270860325816,0,0],parentId:"atFqzWxSt7aWP6ZqiaDGq7",parentType:"Roof",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"uPuuLDNiMgZBsKvCnm6tSV",polygonTop:[-.5,4.164786986092855],interior:!0,empty:!0,locked:!1},{type:"Door",cx:-.3090654703490424,cy:0,cz:-.014505558316641022,lx:.3603907064477181,ly:0,lz:.9709888833667178,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8s4tEpToJXwoUEYbHRBASE",interior:!0,locked:!1},{type:"Door",cx:.3060665281723105,cy:0,cz:-.014505558316641022,lx:.3543928220942542,ly:0,lz:.9709888833667178,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kP69Q4f2kGriQePVP8M1cp",locked:!1,interior:!0}],d1n=13,f1n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.2194678710540945,-.08163623568179776,-21779207174878058e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.2194678710540945,-.08263661312798706,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.0825236074539012,-21.73896740327531,3.532398591116602],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:33.40365140230189,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[.5164600410339055,-.2045268879302931,3.380292682783385],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:256,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},h1n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},p1n=1,g1n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},m1n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},y1n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},A1n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},w1n="Unknown",v1n=null,x1n=null,b1n=null,S1n=["Gable-and-valley roof"],T1n={docid:i1n,time:r1n,timestamp:a1n,owner:l1n,email:s1n,world:c1n,elements:u1n,sceneRadius:d1n,view:f1n,graphState:h1n,evolutionMethod:p1n,solarPanelArrayLayoutParams:g1n,solarPanelArrayLayoutConstraints:m1n,evolutionaryAlgorithmState:y1n,economicsParams:A1n,modelType:w1n,modelAuthor:v1n,modelLabel:x1n,modelDescription:b1n,notes:S1n},P1n="xtKNTywwk7s3D5dx9fE6NJ",C1n="06/12/2023 10:07 am",R1n=1686578834737,H1n=null,M1n=null,I1n={solarRadiationHeatmapGridCellSize:.25,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},z1n=[{type:"Human",name:"Jocelyn",cx:7.030735525496638,cy:-10.425839702214304,cz:0,lx:.4,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.4},{type:"Wall",cx:.19888873388653605,cy:5.462586096288465,cz:2.2408122612280286,lx:9.311701011603256,ly:.3,lz:4.671023197562504,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.854739239688164,5.462586096288464,.1167755799390626],rightPoint:[-4.4569617719150925,5.462586096288466,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:4.854739239688163,cy:1.9469414333838355,cz:2.2301039869226305,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.854739239688161,-1.5687032295207934,.1167755799390626],rightPoint:[4.854739239688166,5.462586096288464,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:7.104360278230817,rightRoofHeight:4.671023197562504,centerRoofHeight:[-.5,7.104360278230817],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:-4.456961771915092,cy:1.9469414333838349,cz:2.228839888904333,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.456961771915091,5.462586096288466,.1167755799390626],rightPoint:[-4.456961771915092,-1.568703229520794,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:7.104360278230817,centerRoofHeight:[.5,7.104360278230817],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:.1988887338865364,cy:-1.5687032295207946,cz:2.268765007024547,lx:9.311701011603258,ly:.3,lz:7.104360278230817,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.456961771915092,-1.568703229520794,.1167755799390626],rightPoint:[4.854739239688165,-1.5687032295207934,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:7.104360278230817,rightRoofHeight:7.104360278230817,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.104360278230817,rightTopPartialHeight:7.104360278230817},{id:"atFqzWxSt7aWP6ZqiaDGq7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["gTaSzURYtieAPQn32pwAn4"],ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-.18703080111903558,cy:-9.915377662073155,cz:.05,lx:13.403144619496231,ly:13.222063624055503,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:.35217238415000696,cy:2.6927731238245474,cz:2.2408122612280286,lx:8.76701829919503,ly:.3,lz:2.6726233773992516,leftJoints:["v7ziTUW2TZM5T4TwmNAdjJ"],rightJoints:["vhCUXkYA9VDRSco52tUYkV"],leftPoint:[4.735681533747522,2.692773123824547,.0668155844349813],rightPoint:[-4.031336765447508,2.692773123824548,.0668155844349813],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gG5CjV1FxMvKL6tHfFayym",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:2.6726233773992516,rightRoofHeight:2.6726233773992516,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:4.735681533747522,cy:.48062987575342486,cz:2.2301039869226305,lx:4.424286496142247,ly:.3,lz:2.6726233773992516,leftJoints:["eTtjCc8c1PMfKVHADbJHAr"],rightJoints:["gG5CjV1FxMvKL6tHfFayym"],leftPoint:[4.73568153374752,-1.731513372317698,.0668155844349813],rightPoint:[4.735681533747522,2.692773123824548,.0668155844349813],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v7ziTUW2TZM5T4TwmNAdjJ",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:4.738508482435636,rightRoofHeight:2.6726233773992516,centerRoofHeight:[-.5,4.738508482435636],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:-4.031336765447506,cy:.48062987575342486,cz:2.228839888904333,lx:4.424286496142247,ly:.3,lz:2.6726233773992516,leftJoints:["gG5CjV1FxMvKL6tHfFayym"],rightJoints:["eTtjCc8c1PMfKVHADbJHAr"],leftPoint:[-4.031336765447506,2.692773123824548,.0668155844349813],rightPoint:[-4.031336765447508,-1.731513372317698,.0668155844349813],relativeAngle:-1.5707963267948972,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vhCUXkYA9VDRSco52tUYkV",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:2.6726233773992516,rightRoofHeight:4.738508482435636,centerRoofHeight:[.5,4.738508482435636],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:.35217238415000696,cy:-1.731513372317698,cz:2.268765007024547,lx:8.76701829919503,ly:.3,lz:4.738508482435636,leftJoints:["vhCUXkYA9VDRSco52tUYkV"],rightJoints:["v7ziTUW2TZM5T4TwmNAdjJ"],leftPoint:[-4.031336765447508,-1.731513372317698,.0668155844349813],rightPoint:[4.735681533747522,-1.731513372317698,.0668155844349813],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eTtjCc8c1PMfKVHADbJHAr",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:4.738508482435636,rightRoofHeight:4.738508482435636,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.273631578164477,rightUnfilledHeight:4.273631578164477,leftTopPartialHeight:4.738508482435636,rightTopPartialHeight:4.738508482435636},{id:"jVi4m1ThhBLxMFASq2GS9v",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["eTtjCc8c1PMfKVHADbJHAr"],ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-.7467654326238933,cy:-6.853383216679946,cz:.05,lx:11.313197651444508,ly:6.0997112704854475,lz:.0668155844349813,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6YXGTgZyXDxpnnbdLfyv5j",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:-.05369588213549307,cy:0,cz:-.25,lx:.15034846997938056,ly:0,lz:.5,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"91pkNVx7ajPdGc4gqpa6PF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.32217529281295837,cy:.1,cz:-.16056439205683565,lx:.10739176427098614,ly:.3,lz:.3211287841136713,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7ha8A9howKC84aYKTw9eqN",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26847941067746534,cy:.1,cz:-.16056439205683565,lx:.10739176427098614,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"8VBQnA65eh5k5Uw55HF1Cb",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.32217529281295837,cy:.1,cz:.32112878411367135,lx:.10739176427098608,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"un8y8e9JpPi1naZZMpwMVZ",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:.32112878411367135,lx:.10739176427098614,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"v1BvsJ4T7JhsFhezNhcX4K",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26847941067746534,cy:.1,cz:.32112878411367135,lx:.10739176427098614,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"soGnwUqCB3auZqHEHNS1LQ",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-12546916046160377e-33,cy:.1,cz:.18708210226259175,lx:.22602514572054705,ly:.3,lz:.7483284090503667,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vhCUXkYA9VDRSco52tUYkV",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"aRTYiMKpbFtXogCmbdfpaN",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m5qoAfq3cFT2Jt7voLAZVP",parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aF1Pnz747SfgYcvKbrSeaH",parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.01710957989146351,cy:.1,cz:.05948559174013301,lx:.39922353080081546,ly:.3,lz:.7041900664751375,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"gG5CjV1FxMvKL6tHfFayym",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"uicWDWWbqUVhqeZaftrgmK",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-10037532836928301e-32,cy:.1,cz:.07392401455912316,lx:.22602514572054688,ly:.3,lz:.6753132208371573,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"v7ziTUW2TZM5T4TwmNAdjJ",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"pVu2one7ax8iwQZsAqqvKk",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.03555535669430392,cy:.1,cz:-.05352146401894522,lx:.21333214016582355,ly:.3,lz:.5352146401894522,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"sTNhou8URmxdSewCTJQCAy",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3518965680359005,lx:.8591341141678889,ly:.3,lz:.14075862721436017,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kVcMN888wkNzdrNFsdAiaM",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:.053695882135493055,cy:0,cz:-.25,lx:.42956705708394444,ly:0,lz:.5,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"wpqi2Ry4DwtfWLp7rkgBQh"},{type:"Door",cx:0,cy:0,cz:-.1796206863928199,lx:.8591341141678889,ly:0,lz:.6407586272143603,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nnyBHsqWtA9kbVTgYsewZw",interior:!0}],D1n=21,E1n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6516049999999995,-8.08817077589694,-806397029662998e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6516049999999995,-8.089170775904988,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[16.59744270375234,-.7176337384414646,3.223728034339639],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.4383511164484704,-7.6519084348386786,3.2237280343396377],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},k1n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},F1n=1,L1n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},W1n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},N1n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},U1n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},B1n="Unknown",j1n=null,Y1n=null,O1n=null,_1n=["Clerestory roof"],V1n={docid:P1n,time:C1n,timestamp:R1n,owner:H1n,email:M1n,world:I1n,elements:z1n,sceneRadius:D1n,view:E1n,graphState:k1n,evolutionMethod:F1n,solarPanelArrayLayoutParams:L1n,solarPanelArrayLayoutConstraints:W1n,evolutionaryAlgorithmState:N1n,economicsParams:U1n,modelType:B1n,modelAuthor:j1n,modelLabel:Y1n,modelDescription:O1n,notes:_1n},G1n="4aDAL58XHFYL5qfHvxH7ag",X1n="03/21/2023 09:15 am",J1n=1679404555806,K1n="QWecNcxhyvP6j6sBN11hBsfZDau1",q1n=null,$1n=null,Q1n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Z1n=[{type:"Wall",cx:-1.5970326990453252,cy:4.004815564210436,cz:2.2408122612280286,lx:6.360799275911862,ly:.3,lz:7.5,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[1.5833669389106055,4.004815564210436,.12302997096647357],rightPoint:[-4.777432337001256,4.004815564210436,.12302997096647357],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:1.5833669389106042,cy:.7942223442409677,cz:2.2301039869226305,lx:6.421186439938938,ly:.3,lz:7.5,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[1.5833669389106024,-2.4163708757285014,.12302997096647357],rightPoint:[1.5833669389106055,4.004815564210436,.12302997096647357],relativeAngle:1.5707963267948961,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-4.777432337001256,cy:.7942223442409677,cz:2.228839888904333,lx:6.421186439938938,ly:.3,lz:7.5,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-4.777432337001256,4.004815564210436,.12302997096647357],rightPoint:[-4.777432337001256,-2.4163708757285014,.12302997096647357],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-1.5970326990453252,cy:-2.4163708757285014,cz:2.268765007024547,lx:6.360799275911862,ly:.3,lz:7.5,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-4.777432337001256,-2.4163708757285014,.12302997096647357],rightPoint:[1.5833669389106055,-2.4163708757285014,.12302997096647357],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Foundation",cx:1.5369607065875481,cy:-.7337478948430647,cz:.05,lx:9.90872374106268,ly:8.491876915965634,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!1},{type:"Wall",cx:.19112531149657697,cy:5.620514141149594,cz:2.2408122612280286,lx:11.291398093915323,ly:.3,lz:4,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[5.836824358454238,5.620514141149594,.1],rightPoint:[-5.454573735461085,5.620514141149594,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:5.836824358454238,cy:-.00995475119942446,cz:2.2301039869226305,lx:11.260937784698037,ly:.3,lz:4,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[5.836824358454236,-5.640423643548443,.1],rightPoint:[5.83682435845424,5.620514141149594,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-5.454573735461083,cy:-.00995475119942446,cz:2.228839888904333,lx:11.260937784698037,ly:.3,lz:4,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-5.454573735461083,5.620514141149594,.1],rightPoint:[-5.454573735461085,-5.640423643548443,.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.1911253114965783,cy:-5.640423643548443,cz:2.268765007024547,lx:11.291398093915324,ly:.3,lz:4,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-5.454573735461085,-5.640423643548443,.1],rightPoint:[5.83682435845424,-5.640423643548443,.1],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3949264794283293,cy:.1,cz:-.0625,lx:.08134902219083363,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.21342606671010173,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-.16683617706583842,cy:.10266831665150722,cz:.06,lx:14.604582269301902,ly:13.013221811141948,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],ridgeWidth:2.741183421535105,textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wCPmoV4VwkScF5K7cf32UD",rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["e5r2Cqz5K28ewHbKWcFnYZ","n8LvMVp1hZ7BptmwrWpcMT","11Ltx28CSTVpm6gjZuBH9w","hndwqtrrygFvfqvBJrvZYu"],textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"bdD5ztB6YGXg4uAZiGZwDr",rise:2.399521849228247,ceiling:!1},{type:"Window",cx:-.23360168934983674,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"jA4MqD7ALHMKTSCdEzWHix",windowType:"Default",archHeight:1},{type:"Window",cx:.2336016893498367,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3LT1rVtnjso2jP6z4TaDHZ",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23729790815292326,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ckaBeGV6Ni9NQ3te3EiN3g",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.22990547054675017,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fEDLXuYBqFYJiCkBziofUB",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23360168934983674,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v9cnm7VWZ62giNve9jyv7m",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.2336016893498367,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qVLTtiLnxXpR5yqcHhSa9e",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23729790815292326,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"meXeAm7nDdwTPRbzo9vVFs",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.22990547054675017,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qJBjFd5e5FHkdYG6fhgp91",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Julia",cx:.2781860356360548,cy:-5.386859602824218,cz:.05999999865889549,lx:.43,lz:1.71,normal:[0,1,0],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",id:"jiceWNCXNG4mowM8Y1pnuj",selected:!1,ly:.43},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.17712598416645625,ly:0,lz:.625,doorType:"Arched",archHeight:1,textureType:"No Door Texture",color:"#73d8ff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fTMHecXmkxoFyi5nVgZruF",filled:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.04428149604161406,y:-.35},{x:-.06199409445825968,y:-.3},{x:-.06199409445825968,y:-.25},{x:-.04428149604161406,y:-.2},{x:.05142883345662218,y:-.20084745762711861},{x:.07085039366658251,y:-.25},{x:.07085039366658251,y:-.3},{x:.05313779524993687,y:-.35}],parentId:"roDDPncXBpNgmNum9aUaov",parentType:"Wall",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!0,selectedIndex:1,id:"pTMN5Rfce2g9VdNDy1KZ2d",text:"DEPOT",fontSize:.3,fontColor:"gold"},{type:"Door",cx:0,cy:0,cz:-.31666666666666665,lx:.31146891913311564,ly:0,lz:.36666666666666664,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"trSHy7vD1sqEajCH8ej493"},{type:"Door",cx:0,cy:0,cz:-.31666666666666665,lx:.31146891913311564,ly:0,lz:.36666666666666664,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cf7HkkLcbaZLJwzCBfEgBH"}],egn=10,tgn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.335485572988376,-17.642820069421862,3.809724387059762],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:35.161738318212514,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.3277453693129069,-.2039271051931454,3.5347379885285575],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},ngn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ogn=1,ign={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},rgn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},agn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},lgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},sgn="Unknown",cgn=null,ugn=null,dgn=null,fgn=["Monitor roof"],hgn={docid:G1n,time:X1n,timestamp:J1n,userid:K1n,owner:q1n,email:$1n,world:Q1n,elements:Z1n,sceneRadius:egn,view:tgn,graphState:ngn,evolutionMethod:ogn,solarPanelArrayLayoutParams:ign,solarPanelArrayLayoutConstraints:rgn,evolutionaryAlgorithmState:agn,economicsParams:lgn,modelType:sgn,modelAuthor:cgn,modelLabel:ugn,modelDescription:dgn,notes:fgn},pgn="sXLwKRDpQ3Uupy3LJSKC7z",ggn="06/12/2023 10:27 am",mgn=1686580058007,ygn=null,Agn=null,wgn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},vgn=[{type:"Human",name:"June",cx:2.0733747451945757,cy:-6.061881854428435,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Wall",cx:.6394231663265257,cy:5.872000955672556,cz:2.2408122612280286,lx:10.96242641823205,ly:.3,lz:5.158338809071295,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.120636375442551,5.872000955672555,0],rightPoint:[-4.8417900427894995,5.872000955672556,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:6.12063637544255,cy:.696812767580496,cz:2.2301039869226305,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.120636375442548,-4.478375420511564,0],rightPoint:[6.120636375442552,5.872000955672556,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[0,7.404178387671576],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:-4.8417900427894995,cy:.696812767580496,cz:2.228839888904333,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-4.841790042789499,5.872000955672556,0],rightPoint:[-4.8417900427894995,-4.478375420511564,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[0,7.404178387671576],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:.6394231663265262,cy:-4.478375420511564,cz:2.268765007024547,lx:10.962426418232052,ly:.3,lz:5.158338809071295,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-4.8417900427894995,-4.478375420511564,0],rightPoint:[6.120636375442552,-4.478375420511564,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.4104930631521381,cy:.1,cz:-.24232607555784988,lx:.0912206807004747,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-11.865426237722085,cy:-.3020514645326293,cz:.05,lx:16.58973102119719,ly:15.125130138250977,lz:.0859723134845216,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,label:"Colonial",labelHeight:9,labelSize:.5,showLabel:!0},{type:"Door",cx:-.022805170175118798,cy:0,cz:-.25,lx:.1368310210507128,ly:0,lz:.5,textureType:"Door Texture #1",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Default",archHeight:1,filled:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #2",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2.2458395786002807,ceiling:!1},{type:"Window",cx:.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.41049306315213846,cy:.1,cz:.24232607555784988,lx:.09122068070047536,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:.24232607555784988,lx:.09122068070047512,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.289844532311202,cy:.1,cz:-.24232607555784988,lx:.09661484410373401,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:-.24232607555784985,lx:.09661484410373396,ly:0,lz:.2907912906694198,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2880871761594032,cy:.1,cz:.24232607555784988,lx:.10012955640733165,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:.24232607555784988,lx:.09661484410373405,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.045610340350237685,cy:.1,cz:.24232607555784988,lx:.09122068070047537,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tJCV3miBMBbJoQ5KVL5GnC",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0456103403502376,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nRhC43dgJ576icoywiE43t",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3648827228019008,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3677465315760693,cy:.1,cz:-.24232607555784988,lx:.08549306315213832,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1fmjy8Zg2jNAAXJDNAtxtX",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vxHToBs6fvSBn4dmam1NPh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Juro",cx:-1.8455745212476522,cy:-6.047134973310751,cz:.042986158281564275,lx:.494,ly:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"hszWAAkWMHNQoK3CMWw8fv",id:"pBBZ6mrTSk6FLL8v8uuPYG",selected:!1},{type:"Wall",cx:.6394231663265257,cy:5.872000955672556,cz:2.2408122612280286,lx:10.96242641823205,ly:.3,lz:5.158338809071295,leftJoints:["sLjmied5ovE5nNuq6aFYPi"],rightJoints:["723nwVCZT2zzcwYqNJCWVS"],leftPoint:[6.120636375442551,5.872000955672555,0],rightPoint:[-4.8417900427894995,5.872000955672556,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"iwGA1TfwpSpggq8C9JfAoJ",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.31927238245166323,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cXa45JVn2G9m2N2fUuSH2s",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iJdJ7WAwuh83JHVXJKYXzH",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.045610340350237685,cy:.1,cz:.24232607555784988,lx:.09122068070047537,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dkUReYpnmAcqhYPPyQxoRH",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.0456103403502376,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aFrtgne6bioyotbdk5S8KN",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3648827228019008,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aEweEoYSW7Np4EVuX2Fdsb",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3677465315760693,cy:.1,cz:-.24232607555784988,lx:.08549306315213832,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4xUmcM8pypieKfKsDMRcGC",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.12063637544255,cy:.696812767580496,cz:2.2301039869226305,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["hZoCtb7QW6TLTCnow7LXWA"],rightJoints:["iwGA1TfwpSpggq8C9JfAoJ"],leftPoint:[6.120636375442548,-4.478375420511564,0],rightPoint:[6.120636375442552,5.872000955672556,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"sLjmied5ovE5nNuq6aFYPi",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[.17663019315906894,8.721280120974388],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5cz4chLixfxh7WLLDakTKw",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nGCDuaQuHsagkRRXKZrc7L",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8t3b9gLTjPqXrVKA67DgG7",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pVYrF6C2mmp9q8PmrhehV8",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-4.8417900427894995,cy:.696812767580496,cz:2.228839888904333,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["iwGA1TfwpSpggq8C9JfAoJ"],rightJoints:["hZoCtb7QW6TLTCnow7LXWA"],leftPoint:[-4.841790042789499,5.872000955672556,0],rightPoint:[-4.8417900427894995,-4.478375420511564,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"723nwVCZT2zzcwYqNJCWVS",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[-.17663019315906894,8.721280120974388],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.289844532311202,cy:.1,cz:-.24232607555784988,lx:.09661484410373401,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bCczr2bfNJ9hHru5dKivtn",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:-.24232607555784985,lx:.09661484410373396,ly:.3,lz:.2907912906694198,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8hu972Coyp2SdPeApdzUcM",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2880871761594032,cy:.1,cz:.24232607555784988,lx:.10012955640733165,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"stJETXTgkaem9cnthaz7DF",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:.24232607555784988,lx:.09661484410373405,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8uMuJn7ATgkV1KuyvniGpN",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6394231663265262,cy:-4.478375420511564,cz:2.268765007024547,lx:10.962426418232052,ly:.3,lz:5.158338809071295,leftJoints:["723nwVCZT2zzcwYqNJCWVS"],rightJoints:["sLjmied5ovE5nNuq6aFYPi"],leftPoint:[-4.8417900427894995,-4.478375420511564,0],rightPoint:[6.120636375442552,-4.478375420511564,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"hZoCtb7QW6TLTCnow7LXWA",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.4104930631521381,cy:.1,cz:-.24232607555784988,lx:.0912206807004747,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hQMgr7y3LyHNDTRRkE594t",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Door",cx:-.022805170175118798,cy:0,cz:-.25,lx:.1368310210507128,ly:0,lz:.5,color:"white",textureType:"Door Texture #1",normal:[0,1,0],rotation:[0,0,0],id:"qph4faDddEH8gdVzH6ivZr",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n6cw2a16gnaNtUX8qEggGq",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.41049306315213846,cy:.1,cz:.24232607555784988,lx:.09122068070047536,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPpwv4eAJzufaa29tD1UJG",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vTVeGVzfHjGyBh4GUdsJTK",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"88gwLvpD9kwfDsBZHSLpf2",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:.24232607555784988,lx:.09122068070047512,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"taea46Jq5kmPKnsEuNdHWM",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s6dPHQVJrM3Acf87nyeVab",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j8XTJHQPmBNW4amR5ZNmdA",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{id:"wqXe9pYmicSvR7iYewPLF7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",roofType:"Gable",textureType:"Roof Texture #2",thickness:.15,wallsId:["hZoCtb7QW6TLTCnow7LXWA"],ridgeLeftPoint:[-.17663019315906894,1],ridgeRightPoint:[.17663019315906894,1],selected:!1,rise:3.562941311903093,ceiling:!1},{type:"Foundation",cx:11.036197795997648,cy:-.3904739664770651,cz:.05,lx:16.58973102119719,ly:15.125130138250977,lz:.0859723134845216,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hszWAAkWMHNQoK3CMWw8fv",selected:!1,showLabel:!0,label:"Saltbox",labelHeight:9,labelSize:.5}],xgn=25,bgn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.9999999999895],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.088801690415984,-18.193636596891952,4.218925791626301],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:17.147500000000004,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"forestgreen",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-1.8484762737245803,-.01599768987763376,3.116362939071387],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:234,height:61}},Sgn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Tgn=1,Pgn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Cgn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Rgn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Hgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Mgn="Unknown",Ign=null,zgn=null,Dgn=null,Egn=["Colonial vs. saltbox"],kgn={docid:pgn,time:ggn,timestamp:mgn,owner:ygn,email:Agn,world:wgn,elements:vgn,sceneRadius:xgn,view:bgn,graphState:Sgn,evolutionMethod:Tgn,solarPanelArrayLayoutParams:Pgn,solarPanelArrayLayoutConstraints:Cgn,evolutionaryAlgorithmState:Rgn,economicsParams:Hgn,modelType:Mgn,modelAuthor:Ign,modelLabel:zgn,modelDescription:Dgn,notes:Egn},Fgn="kZU7r98YD2swbMpBZrHNnd",Lgn="06/12/2023 10:32 am",Wgn=1686580347333,Ngn=null,Ugn=null,Bgn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 10:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},jgn=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-9.804203725230073,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.08530001295248146,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,label:"Gambrel ",labelHeight:9,labelSize:.5,showLabel:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"sfGxVh6UQ5Rh5eXQutdage",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,centerRoofHeight:[0,8],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"sfGxVh6UQ5Rh5eXQutdage",centerLeftRoofHeight:[-.35,6],centerRightRoofHeight:[.35,6],color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"sfGxVh6UQ5Rh5eXQutdage",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[0,8],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,centerLeftRoofHeight:[-.35,6],centerRightRoofHeight:[.35,6],color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"sfGxVh6UQ5Rh5eXQutdage",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",showLabel:!1,ly:0,lz:.375,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.0625,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.06249999999999989,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.3749999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333337,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333341,color:"#ffffff",cz:-.0625,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.375,type:"Window",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.06250000000000006,lz:.3749999999999999,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333341,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{lz:.375,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.1,cx:.3,cz:-.0625,ly:0,showLabel:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:.1,cz:-.0625,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.1,color:"#ffffff",lz:.375,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3,rotation:[0,0,0],type:"Window",lz:.375,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0625,lx:.09999999999999995,color:"#ffffff",cy:.1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:-.0625,lx:.08333333333333333,ly:0,lz:.375,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.0625,lx:.08333333333333333,ly:0,lz:.375,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.16666666666666666,ly:0,lz:.625,textureType:"Door Texture #6",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"j9wJCoWK33fz7y9VeMvYET",color:"white",doorType:"Default",archHeight:1,filled:!0},{type:"Roof",thickness:.2,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,roofType:"Gambrel",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #1",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sfGxVh6UQ5Rh5eXQutdage",color:"#666666",rise:4,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Human",name:"Jeanette",cx:.21229430424866003,cy:-5.637713455371184,cz:.05000000074505806,lx:.4,ly:.4,lz:1.62,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Window",cx:-.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xvSfp96ouDUqqhbUKFAfvN",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uMr1zC8iUpUcFHuHfA3LNb",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nTJAtH1bkusjTMRvTpeUq1",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.9375,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wJizEa8fmJx3s6DnYFJCaB",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.9375,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fcbYfWunuYUDKu74uGTtE2",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.041666666666666664,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5UwypTCfHps6bAP47dvKX",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["aJzBKycDgPV2XFyreGUWbN"],rightJoints:["q3QyrcfYtaEUJUy3dDMe3o"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"ajX6DE1iwh52m5aYDEnUZw",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"f27adUV1mvqbvyHKYmSuV2",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tWZGLDh66KAhJVvZqAMQj9",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.041666666666666664,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mpyjLbrKcGFUF8TjcaBsHx",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["vZvx6xJpNjwVutXgBYTqDu"],rightJoints:["ajX6DE1iwh52m5aYDEnUZw"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"aJzBKycDgPV2XFyreGUWbN",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wAVcmtVfsGGWzQD4FYwZNW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u5BLpPtdFZZZhqt5769cX6",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3kDRvtG74CSaYS7Hdz4Zf9",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["ajX6DE1iwh52m5aYDEnUZw"],rightJoints:["vZvx6xJpNjwVutXgBYTqDu"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"q3QyrcfYtaEUJUy3dDMe3o",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.3,cy:.1,cz:-.0625,lx:.1,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gyFrbE3iZarFXfLEH1H67R",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.1,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"unBvd3fv6vjx3w5z7xjUYQ",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3,cy:.1,cz:-.0625,lx:.09999999999999995,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"a5UaEaWbJaymLnXeqKPnVG",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["q3QyrcfYtaEUJUy3dDMe3o"],rightJoints:["aJzBKycDgPV2XFyreGUWbN"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"vZvx6xJpNjwVutXgBYTqDu",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.375,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2GCuByhTAXSLeW2Qg1rbmy",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.06249999999999989,lx:.08333333333333333,ly:.3,lz:.3749999999999998,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jqoCSv6SGc3CUNj2d3NntP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333337,cy:.1,cz:-.0625,lx:.08333333333333341,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fHoEdLPaiDXqCueBgeDdLS",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.375,cy:.1,cz:-.06250000000000006,lx:.08333333333333341,ly:.3,lz:.3749999999999999,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cDtJU4W55HjRmy9cDhmm6R",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.16666666666666666,ly:0,lz:.625,color:"white",textureType:"Door Texture #6",normal:[0,1,0],rotation:[0,0,0],id:"9M7tkz3sEgnV2Z9JRHNunf",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Jett",cx:.21229430424866003,cy:-5.637713455371184,cz:.05000000074505806,lx:.6,ly:.6,lz:1.85,normal:[0,0,1],rotation:[0,0,0],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"fbbzRkZEo4AnT3QEsWR9oP",selected:!1},{type:"Foundation",cx:10.097000941178736,cy:.15684188850117087,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,label:"Mansard",labelHeight:9,labelSize:.5,showLabel:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["vZvx6xJpNjwVutXgBYTqDu"],ridgeWidth:1.3796830302831236,textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"mV7ZzdDseX98dNDS9YnHz7",rise:2.8592746089260386,ceiling:!1},{type:"Window",cx:-1.7044433380331139,cy:-4.015924463712854,cz:5.284591699130502,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2587938987974363,0,0],parentId:"mV7ZzdDseX98dNDS9YnHz7",parentType:"Roof",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"cH5YJR4J6bQYpX3WB9k67N"},{type:"Window",cx:-2.7018576414835405,cy:-1.2664219595013968,cz:7.091630555089024,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.519146114246523,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1DzhW8vmdxVB9mcmU4b6BC"},{type:"Window",cx:4.341146883752691,cy:-1.251091065564622,cz:7.1103910909217225,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.519146114246523,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"8aBtPjYUmoaUgGD59eww1P"},{type:"Window",cx:3.2042827482748226,cy:-4.014959357661002,cz:5.287583934394446,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2587938987974363,0,0],parentId:"mV7ZzdDseX98dNDS9YnHz7",parentType:"Roof",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"g7sgiaMwM5so3QfreNjMbC"}],Ygn=24,Ogn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.571150309425594,-21.972462076133603,4.616004408449201],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:31.733468832186787,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.5906667798973315,5.766093748984623,2.3165783316967063],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:318,height:60}},_gn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Vgn=1,Ggn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Xgn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Jgn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Kgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},qgn="Unknown",$gn=null,Qgn=null,Zgn=null,emn=["Gambrel roof vs. mansard roof"],tmn={docid:Fgn,time:Lgn,timestamp:Wgn,owner:Ngn,email:Ugn,world:Bgn,elements:jgn,sceneRadius:Ygn,view:Ogn,graphState:_gn,evolutionMethod:Vgn,solarPanelArrayLayoutParams:Ggn,solarPanelArrayLayoutConstraints:Xgn,evolutionaryAlgorithmState:Jgn,economicsParams:Kgn,modelType:qgn,modelAuthor:$gn,modelLabel:Qgn,modelDescription:Zgn,notes:emn},nmn="gok71rpB2eg8vNimCv9jsV",omn="11/24/2023 02:27 PM",imn=1700854020446,rmn="QWecNcxhyvP6j6sBN11hBsfZDau1",amn=null,lmn=null,smn="1.5.2",cmn={solarRadiationHeatmapGridCellSize:1,date:"6/22/2022, 5:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"1600 Pennsylvania Avenue NW, Washington, DC 20500, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:38.8976763,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-77.0365298,airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForSolarUpdraftTowerSimulation:!1},umn=[{type:"Foundation",cx:2.437186281961438,cy:4.616260107535155,cz:.15,lx:74.26384799474762,ly:70.57289198325788,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3Qmj2gXj2Lmc28MbpT7BdQ",enableGroupMaster:!0,locked:!1,textureType:"Foundation Texture #4"},{type:"Wall",cx:-27.296564319985823,cy:-3.2481977926108314,cz:0,lx:27,ly:.8,lz:15,relativeAngle:4.71238898038469,leftPoint:[-27.296564319985823,10.251802207389169,.25],rightPoint:[-27.296564319985823,-16.74819779261083,.25],leftJoints:["jF3H99H3SvFmx1EtcFgSUR"],rightJoints:["qEgP3g76n6YGpTNdaUNRJ5"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"u5UupDCTgXC6oFiX9y4uby",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.7965643199858263,cy:10.251802207389169,cz:0,lx:51,ly:.8,lz:15,relativeAngle:3.141592653589793,leftPoint:[23.703435680014174,10.251802207389169,.25],rightPoint:[-27.296564319985823,10.251802207389169,.25],leftJoints:["pkajzTvgP9i43n8Xx6zTrw"],rightJoints:["u5UupDCTgXC6oFiX9y4uby"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jF3H99H3SvFmx1EtcFgSUR",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:23.703435680014174,cy:-2.7481977926108314,cz:0,lx:26,ly:.8,lz:15,relativeAngle:1.5707963267948966,leftPoint:[23.703435680014174,-15.748197792610831,.25],rightPoint:[23.703435680014174,10.251802207389169,.25],leftJoints:["vsV2452bmxt8JnQXXqBe5N"],rightJoints:["jF3H99H3SvFmx1EtcFgSUR"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"pkajzTvgP9i43n8Xx6zTrw",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-19.046564319985826,cy:-16.74819779261083,cz:3.733120462951788,lx:16.5,ly:.8,lz:15,relativeAngle:0,leftPoint:[-27.296564319985823,-16.74819779261083,.25],rightPoint:[-10.796564319985826,-16.74819779261083,.25],leftJoints:["u5UupDCTgXC6oFiX9y4uby"],rightJoints:["oHVfosgpAEPgTvFqa59jhu"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"qEgP3g76n6YGpTNdaUNRJ5",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:15.453435680014174,cy:-15.748197792610831,cz:0,lx:16.5,ly:.8,lz:15,relativeAngle:0,leftPoint:[7.203435680014174,-15.748197792610831,.25],rightPoint:[23.703435680014174,-15.748197792610831,.25],leftJoints:["3nWwhqzYyg3BoBTyzmSgQv"],rightJoints:["pkajzTvgP9i43n8Xx6zTrw"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"vsV2452bmxt8JnQXXqBe5N",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.953435680014174,cy:-16.74819779261083,cz:0,lx:2.0615528128088303,ly:.8,lz:15,relativeAngle:1.3258176636680323,leftPoint:[6.703435680014174,-17.74819779261083,.25],rightPoint:[7.203435680014174,-15.748197792610831,.25],leftJoints:["juEYyWFfCjJDE4b169Lr6e"],rightJoints:["vsV2452bmxt8JnQXXqBe5N"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"3nWwhqzYyg3BoBTyzmSgQv",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-10.546564319985826,cy:-17.49819779261083,cz:0,lx:1.5811388300841898,ly:.8,lz:15,relativeAngle:5.034139534781332,leftPoint:[-10.796564319985826,-16.74819779261083,.25],rightPoint:[-10.296564319985826,-18.24819779261083,.25],leftJoints:["qEgP3g76n6YGpTNdaUNRJ5"],rightJoints:["7KCjLbvxBFDXSftkUZDS2v"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"oHVfosgpAEPgTvFqa59jhu",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-9.546564319985826,cy:-19.24819779261083,cz:0,lx:2.5,ly:.8,lz:15,relativeAngle:5.355890089177974,leftPoint:[-10.296564319985826,-18.24819779261083,.25],rightPoint:[-8.796564319985826,-20.24819779261083,.25],leftJoints:["oHVfosgpAEPgTvFqa59jhu"],rightJoints:["oSmqM3WG97smXJFvN7dA25"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"7KCjLbvxBFDXSftkUZDS2v",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-8.046564319985826,cy:-20.99819779261083,cz:0,lx:2.1213203435596424,ly:.8,lz:15,relativeAngle:5.497787143782137,leftPoint:[-8.796564319985826,-20.24819779261083,.25],rightPoint:[-7.296564319985826,-21.74819779261083,.25],leftJoints:["7KCjLbvxBFDXSftkUZDS2v"],rightJoints:["6BCCjk22xgQQ9jwAeGEMpR"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"oSmqM3WG97smXJFvN7dA25",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-6.546564319985826,cy:-22.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:5.6951827036320175,leftPoint:[-7.296564319985826,-21.74819779261083,.25],rightPoint:[-5.796564319985826,-22.74819779261083,.25],leftJoints:["oSmqM3WG97smXJFvN7dA25"],rightJoints:["mrpM4sL27ca3MHv3JwptDB"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"6BCCjk22xgQQ9jwAeGEMpR",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-4.796564319985826,cy:-23.24819779261083,cz:0,lx:2.23606797749979,ly:.8,lz:15,relativeAngle:5.81953769817878,leftPoint:[-5.796564319985826,-22.74819779261083,.25],rightPoint:[-3.7965643199858263,-23.74819779261083,.25],leftJoints:["6BCCjk22xgQQ9jwAeGEMpR"],rightJoints:["onQ3RZrBRz8TRewvvY3dTV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"mrpM4sL27ca3MHv3JwptDB",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-2.7965643199858263,cy:-23.74819779261083,cz:0,lx:1.9999999999999998,ly:.8,lz:15,relativeAngle:0,leftPoint:[-3.7965643199858263,-23.74819779261083,.25],rightPoint:[-1.7965643199858263,-23.74819779261083,.25],leftJoints:["mrpM4sL27ca3MHv3JwptDB"],rightJoints:["cKAWjnd2X23kJ1QdKrzyaP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"onQ3RZrBRz8TRewvvY3dTV",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureWidth:.7,structureSpacing:5,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-.7965643199858263,cy:-23.49819779261083,cz:0,lx:2.0615528128088303,ly:.8,lz:15,relativeAngle:.24497866312686423,leftPoint:[-1.7965643199858263,-23.74819779261083,.25],rightPoint:[.20343568001417367,-23.24819779261083,.25],leftJoints:["onQ3RZrBRz8TRewvvY3dTV"],rightJoints:["ksg7ADGGcB7LaHQWR2gDoP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"cKAWjnd2X23kJ1QdKrzyaP",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:.9534356800141737,cy:-22.99819779261083,cz:0,lx:1.5811388300841898,ly:.8,lz:15,relativeAngle:.32175055439664213,leftPoint:[.20343568001417367,-23.24819779261083,.25],rightPoint:[1.7034356800141737,-22.74819779261083,.25],leftJoints:["cKAWjnd2X23kJ1QdKrzyaP"],rightJoints:["tjit5nfeyfk7MgJnZwEuUo"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"ksg7ADGGcB7LaHQWR2gDoP",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:2.4534356800141737,cy:-22.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:.588002603547567,leftPoint:[1.7034356800141737,-22.74819779261083,.25],rightPoint:[3.2034356800141737,-21.74819779261083,.25],leftJoints:["ksg7ADGGcB7LaHQWR2gDoP"],rightJoints:["2aizppjx7nR9dWK7oFqe3X"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tjit5nfeyfk7MgJnZwEuUo",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:3.9534356800141737,cy:-21.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:.588002603547567,leftPoint:[3.2034356800141737,-21.74819779261083,.25],rightPoint:[4.703435680014174,-20.74819779261083,.25],leftJoints:["tjit5nfeyfk7MgJnZwEuUo"],rightJoints:["8ocZPrJmGusu3tZWJzWvDk"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"2aizppjx7nR9dWK7oFqe3X",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:5.203435680014174,cy:-20.24819779261083,cz:0,lx:1.4142135623730951,ly:.8,lz:15,relativeAngle:.7853981633974483,leftPoint:[4.703435680014174,-20.74819779261083,.25],rightPoint:[5.703435680014174,-19.74819779261083,.25],leftJoints:["2aizppjx7nR9dWK7oFqe3X"],rightJoints:["juEYyWFfCjJDE4b169Lr6e"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"8ocZPrJmGusu3tZWJzWvDk",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.203435680014174,cy:-18.74819779261083,cz:0,lx:2.23606797749979,ly:.8,lz:15,relativeAngle:1.1071487177940904,leftPoint:[5.703435680014174,-19.74819779261083,.25],rightPoint:[6.703435680014174,-17.74819779261083,.25],leftJoints:["8ocZPrJmGusu3tZWJzWvDk"],rightJoints:["3nWwhqzYyg3BoBTyzmSgQv"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"juEYyWFfCjJDE4b169Lr6e",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["oHVfosgpAEPgTvFqa59jhu","7KCjLbvxBFDXSftkUZDS2v","oSmqM3WG97smXJFvN7dA25","6BCCjk22xgQQ9jwAeGEMpR","mrpM4sL27ca3MHv3JwptDB","onQ3RZrBRz8TRewvvY3dTV","cKAWjnd2X23kJ1QdKrzyaP","ksg7ADGGcB7LaHQWR2gDoP","tjit5nfeyfk7MgJnZwEuUo","2aizppjx7nR9dWK7oFqe3X","8ocZPrJmGusu3tZWJzWvDk","juEYyWFfCjJDE4b169Lr6e","3nWwhqzYyg3BoBTyzmSgQv","vsV2452bmxt8JnQXXqBe5N","pkajzTvgP9i43n8Xx6zTrw","jF3H99H3SvFmx1EtcFgSUR","u5UupDCTgXC6oFiX9y4uby","qEgP3g76n6YGpTNdaUNRJ5"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"kKLW3PicqjFWjN5PqUDTTj",locked:!1,rise:0,ceiling:!1},{type:"Foundation",cx:1.202928279289015,cy:-.8889074596387783,cz:.1,lx:64.84314999489811,ly:43.56565669817109,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"b7DVyKfyTBHZGANbVbGoYG",locked:!1},{type:"Wall",cx:-.1363522997348845,cy:12.047335526575006,cz:0,lx:44,ly:.3,lz:17,relativeAngle:3.141592653589793,leftPoint:[21.863647700265116,12.047335526575006,.2],rightPoint:[-22.136352299734884,12.04733552657501,.2],leftJoints:["sEoC32EE5BhvottJbmBN7P"],rightJoints:["r8Aw9XiLCw9kPKUMgd3t6u"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"gtmtUrJvJf5sJGi7m3ucvT",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-21.886352299734884,cy:2.5473355265750053,cz:0,lx:19.00657780874821,ly:.3,lz:17,relativeAngle:4.738698697637612,leftPoint:[-22.136352299734884,12.047335526575006,.2],rightPoint:[-21.636352299734884,-6.952664473424995,.2],leftJoints:["gtmtUrJvJf5sJGi7m3ucvT"],rightJoints:["rxcHxAK8KNRZb3EZ7ovrqm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"r8Aw9XiLCw9kPKUMgd3t6u",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:.1136477002651155,cy:-6.952664473424995,cz:0,lx:43.5,ly:.3,lz:17,relativeAngle:0,leftPoint:[-21.636352299734884,-6.952664473424995,.2],rightPoint:[21.863647700265116,-6.952664473424995,.2],leftJoints:["r8Aw9XiLCw9kPKUMgd3t6u"],rightJoints:["sEoC32EE5BhvottJbmBN7P"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"rxcHxAK8KNRZb3EZ7ovrqm",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.014014541320304,rightUnfilledHeight:16.014014541320304,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:21.863647700265116,cy:2.5473355265750053,cz:0,lx:19,ly:.3,lz:17,relativeAngle:1.5707963267948966,leftPoint:[21.863647700265116,-6.952664473424995,.2],rightPoint:[21.863647700265116,12.047335526575006,.2],leftJoints:["rxcHxAK8KNRZb3EZ7ovrqm"],rightJoints:["gtmtUrJvJf5sJGi7m3ucvT"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"sEoC32EE5BhvottJbmBN7P",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["rxcHxAK8KNRZb3EZ7ovrqm"],ridgeWidth:1.6897028772572007,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"dnGfHzSjH6Qt6pNJ8jFJUj",locked:!1,rise:1.1924072822886274,ceiling:!1},{type:"Foundation",cx:2.0776940726226174,cy:18.14658482221914,cz:.1,lx:23.456509054864263,ly:24.556989889910795,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sQbhet5xpiSK5NzTWtub4a",locked:!1},{type:"Wall",cx:-8.831120616583963,cy:.3221979196479152,cz:0,lx:17.297870029495435,ly:.5,lz:15,relativeAngle:-1.5707963267948966,leftPoint:[-8.831120616583963,8.971132934395634,0],rightPoint:[-8.831120616583963,-8.326737095099803,0],leftJoints:["7QCAeFgCM4uwoEq1rdWfs2"],rightJoints:["ue429MHHFRd7tE3xfNNNHx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"8kN3EwUCnSjrTbu7YtQvQY",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.165400792362441,cy:8.971132934395634,cz:0,lx:15.331439648443038,ly:.8,lz:15,relativeAngle:3.141592653589793,leftPoint:[6.500319031859077,8.971132934395634,0],rightPoint:[-8.83112061658396,8.971132934395634,0],leftJoints:["cCcLVBABwpzcuXp9FsPst3"],rightJoints:["8kN3EwUCnSjrTbu7YtQvQY"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"7QCAeFgCM4uwoEq1rdWfs2",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:5.6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.500319031859077,cy:.3221979196479152,cz:0,lx:17.297870029495435,ly:.5,lz:15,relativeAngle:1.5707963267948966,leftPoint:[6.500319031859077,-8.326737095099803,0],rightPoint:[6.500319031859077,8.971132934395634,0],leftJoints:["ue429MHHFRd7tE3xfNNNHx"],rightJoints:["7QCAeFgCM4uwoEq1rdWfs2"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"cCcLVBABwpzcuXp9FsPst3",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.1654007923624428,cy:-8.326737095099803,cz:0,lx:15.331439648443041,ly:.5,lz:15,relativeAngle:0,leftPoint:[-8.831120616583963,-8.326737095099803,0],rightPoint:[6.500319031859077,-8.326737095099803,0],leftJoints:["8kN3EwUCnSjrTbu7YtQvQY"],rightJoints:["cCcLVBABwpzcuXp9FsPst3"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"ue429MHHFRd7tE3xfNNNHx",roofId:"89u35YTLctNXWRDNsxwcpj",structureSpacing:5.6,structureWidth:1,wallStructure:"Default",structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.459252183107493,cy:4.715511268475593,cz:0,lx:8.560946140897292,ly:.3,lz:17,leftJoints:["gpDtE9g3zjB5xUcdy4p2bn"],rightJoints:["ozPT6yyjumU6Hv81G3owfN"],leftPoint:[2.821220887341153,4.715511268475593,0],rightPoint:[-5.739725253556139,4.715511268475594,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"cGxpdDXk7BPKiVfi6VxNx9",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-5.691083514119223,cy:1.2695607261280444,cz:0,lx:6.89258765896258,ly:.3,lz:17,leftJoints:["cGxpdDXk7BPKiVfi6VxNx9"],rightJoints:["2zvZ3adRvEkJq9fVPEEKKi"],leftPoint:[-5.739725253556139,4.715511268475593,0],rightPoint:[-5.642441774682306,-2.1763898162195043,0],relativeAngle:-1.5566816409948834,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ozPT6yyjumU6Hv81G3owfN",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-1.4106104436705764,cy:-2.1763898162195043,cz:0,lx:8.46366266202346,ly:.3,lz:17,leftJoints:["ozPT6yyjumU6Hv81G3owfN"],rightJoints:["gpDtE9g3zjB5xUcdy4p2bn"],leftPoint:[-5.642441774682306,-2.1763898162195043,0],rightPoint:[2.821220887341153,-2.1763898162195043,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"2zvZ3adRvEkJq9fVPEEKKi",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:2.821220887341153,cy:1.2695607261280444,cz:0,lx:6.891901084695098,ly:.3,lz:17,leftJoints:["2zvZ3adRvEkJq9fVPEEKKi"],rightJoints:["cGxpdDXk7BPKiVfi6VxNx9"],leftPoint:[2.821220887341153,-2.1763898162195043,0],rightPoint:[2.821220887341153,4.715511268475593,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"gpDtE9g3zjB5xUcdy4p2bn",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{id:"3DT5vkx2wE8Avqo6NjE3qK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["2zvZ3adRvEkJq9fVPEEKKi"],ridgeWidth:1.6897028772572007,selected:!1,locked:!1,rise:1.1924072822886274,ceiling:!1},{type:"Foundation",cx:2.1156734519362868,cy:-14.279123441940943,cz:.1,lx:15.481779487215247,ly:15.111518843057006,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cyVPK1qLJT1KbaGL6qLYHA",selected:!1,locked:!1},{type:"Window",cx:-.2878787878787879,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#b3b3b3",normal:[0,0,1],rotation:[0,0,0],parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"5TpJDxszAzRvyQ2NqfKkn9",opacity:.5,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.045454545454545456,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"isnfsXJ1sYeWDDj1v3HAcy",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19696969696969696,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rjznXiHLyLsFZBtBqoe6me",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4393939393939394,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hRT3G1Qxj9ddwfGbVmjK67",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.4090909090909091,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4FZyv3iFANwURNdtJmSf5k",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.16666666666666666,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9XgeyGKZ17bF6hmvudf1pb",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.07575757575757576,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tmSZBUv79gGQEmqdHUeNBv",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3181818181818182,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hpKyGgh393UrDCYt2TFEPH",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2878787878787879,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4AD8LAo94avXAwRxmXoTW5",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.045454545454545456,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"o746xoPC2dwGtGgutFsDXX",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19696969696969696,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"c53UUVUecAFBsz89jbxVYA",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4393939393939394,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bpg8E63ShDakBXvmrGVvhc",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Jedi",cx:10.792902287976906,cy:-24.111012140339845,cz:.15000000596046095,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jXBttvkEdJUcgsQyoxkJyY",selected:!1,ly:.56,locked:!1},{type:"Window",cx:-.4090909090909091,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9D4XHpdhCgSutX6wu9btGJ",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.16666666666666666,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gWSjVYZUm8Qw4rZTGCdJqU",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.07575757575757576,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssjJa1pfa5qX67vq3t3ms4",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3181818181818182,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cm6JHszxRa71LB4AL9o4hM",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.45098039215686275,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eGFMPp63uaJ8Z6dEip1wCT",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3627450980392157,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6g1oBhU14hr3mTV912e9dM",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2647058823529411,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nAfcKafQoUyknKRwU7zYyz",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.17647058823529407,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jdht2qsNqNvtRuTiSrxhRn",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.45098039215686275,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sMRK1zZtDamAUaaju5kzEB",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3627450980392157,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ivaEUPDqF8h1KuwffoQE9v",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2647058823529412,cy:.3,cz:-.15,lx:.03921568627450977,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qoUC82g8EKd6aX4rrRhS51",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.17647058823529407,cy:.3,cz:-.15,lx:.03921568627450987,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9G3Na6w4LghC1tGJcYYMQX",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.46078431372549017,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9zGVUoYGVo2E4qf9ZuPkby",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.37254901960784315,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pErJmrncghcaMqwr5VCYq6",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.2843137254901961,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bNA5NJ5jM3rqPHYpWU9YvX",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19607843137254904,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u6JmSSS7MnsTc3abTnBiZB",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19607843137254902,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fnbrpCKzRDKtbEzFZ8278Y",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.28431372549019607,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iNCEukMLjXLvD5gbDy1xJM",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.37254901960784315,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"amzAdeamET282epqcjwyww",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.46078431372549017,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bRsXBDeYfSso6tiCqiYCUp",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3149455302863263,cy:.1,cz:-.0125,lx:.29836944974494073,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#b3b3b3",normal:[0,0,1],rotation:[0,0,0],parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"x7JsEH8PfGjJ373jxu2nH9",opacity:0,frame:!0,locked:!1,mullionColor:"white",frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.008288040270692798,cy:.1,cz:-.0125,lx:.21548904703801275,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fN7U27jHhJwVAWntrzsr1D",parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",tint:"#b3b3b3",opacity:0,selected:!1,locked:!1,mullionColor:"white",frame:!1,frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3149455302863263,cy:.1,cz:-.0125,lx:.29836944974494073,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bmDtwgfufE5e4Kne2LhHZq",parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",tint:"#b3b3b3",opacity:0,selected:!1,locked:!1,mullionColor:"white",frame:!1,frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.07843137254901958,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ascuFaQMJxzrhtJHSRpvZ2",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.107843137254902,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rSoHzPCUdtqVH7c8BRWJ1V",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.0784313725490196,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tFJRnNLL8FhvzRjVcGz5Fk",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.0196078431372549,cy:.3,cz:-.2833333333333333,lx:.0784313725490196,ly:.3,lz:.36666666666666664,mullion:!0,mullionWidth:.06,mullionSpacing:5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"668rcrJyE6W7MNd2pYWoAp",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.7,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Arched",archHeight:2,sillWidth:0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:5,verticalMullionSpacing:5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.10784313725490197,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bdPS759a6fLQqu4V2o4qtx",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Joey",cx:9.115387825475082,cy:-24.651217406554846,cz:.15,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"ouHmzt9Us42w5bHjR9ZvBW",selected:!1,ly:.462,locked:!1},{type:"Tree",name:"Elm",cx:24.68149666528604,cy:30.40624439575707,cz:.1500000059604645,lx:12.225521614749255,lz:8.985934888591816,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"iyZFP8cWUDsX2VGyUoGTxq",selected:!1,locked:!1},{type:"Tree",name:"Maple",cx:-33.168239841792456,cy:33.081643759613165,cz:.15000000596046628,lx:21.067617771997934,lz:15.677323900388549,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"q5tey4s1a5vXUiiDEyFkaC",selected:!1,flip:!0,locked:!1},{type:"Tree",name:"Oak",cx:27.369492357164148,cy:-25.522008177846573,cz:.1500000059604645,lx:10.7323110159116,lz:14.464681446457563,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"n1sQ5fcUd75QzX2Y353uNT",selected:!1,locked:!1},{type:"Tree",name:"Oak",flip:!0,cx:31.990594871051,cy:-29.99931442147024,cz:.15,lx:10.7323110159116,lz:11.586410893659473,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"1i15CUF6r9qjPL7U2Lb6eo",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:30.9837315091143,cy:-18.406933063455,cz:.15,lx:10.7323110159116,lz:11.586410893659473,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tcFvkUdRjNo8qiDvEShvKP",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:12.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tm3GiScxVp1WgzmWsLgusP",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:14.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"f2DSzggaELKVYDnQ3jkH8J",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:16.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"8NTkXiYEAz7nkqKvjnXpTs",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"5hte45etpHBPzUjLVr5M8S",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:20.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"k5NSyhh1vTCW6anr3Bnxxm",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-24.199104717917777,cy:-19.89755183152851,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jKAUFtG6mCpk1VKUFLbArj",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-21.70602992567401,cy:-19.842150169478614,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"38XrzKeRncZdskEKuyybVH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-19.37916011957982,cy:-19.78674850742873,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"imTCPSHK1nyiQfLEdYvRSi",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-17.163093637585362,cy:-19.78674850742873,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"mhx7saLxNPZ36vhhBgjpsi",selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Hip",roofStructure:"Default",wallsId:["8kN3EwUCnSjrTbu7YtQvQY"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"89u35YTLctNXWRDNsxwcpj",leftRidgeLength:8.635242091739931,rightRidgeLength:10.319579264913394,rise:3.229240477888453,ceiling:!1},{type:"Foundation",cx:.6163744974611483,cy:18.71649900037034,cz:.5,lx:50.85545052514254,ly:17.97168247424439,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#ffffff",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ustJbtTQJEeCkyVnXGayK2"},{type:"Human",name:"Jamelia",cx:1.3448042201833577,cy:2.8336636548560605,cz:.5000000000000009,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",id:"pAQhAzdRtcSEf5g4XYdKtM",selected:!1,ly:.65},{type:"Human",name:"Jaye",cx:4.47029660144684,cy:5.02316777071092,cz:.5000000000000009,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",id:"dbe6vr9MpeAutqWYghGDv5",selected:!1,ly:.55},{type:"Light",decay:2,distance:10,intensity:10,color:"#ff0000",cx:-.021931798388491356,cy:-.31746447944889156,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"eK4rrZPqmi6q4jMkoXNFpz",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:.15060856519114013,cy:-.2699408955339268,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"fHCHUCQJQtBzqC5JVjvrVV",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:-.18847671202407354,cy:-.26968211451709273,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"rLc1ZCGs7ugmXpxAb6kueG",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:.267273996418672,cy:-.2667264794936538,cz:.5000000198682121,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tFz5GHQqyyVVxh25czH4Em",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:-.34024773885085746,cy:-.26354534234637206,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"etKXiduEZtGdENpo2GRtJg",selected:!1},{type:"Light",decay:2,distance:10,intensity:9,color:"#ff00ff",cx:-.02474975458211863,cy:.12239922347312886,cz:.49999999999999645,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",foundationId:"ustJbtTQJEeCkyVnXGayK2",id:"iPzFJUPPfWj6iSKXbVujiL",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-14.836223831491182,cy:-19.73134684537884,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"dqcT5qczxNqZJ7sXcMUU2L",selected:!1},{type:"Polygon",cx:.1374437866453651,cy:-.12111426497213049,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.526127233622693,y:-.4433333333333333},{x:-.526127233622693,y:-.3566666666666667},{x:.46529955659029343,y:-.3566666666666667},{x:.46529955659029343,y:-.4433333333333333}],parentId:"7QCAeFgCM4uwoEq1rdWfs2",parentType:"Wall",foundationId:"sQbhet5xpiSK5NzTWtub4a",selected:!1,filled:!0,selectedIndex:2,id:"2qLCC51p5mx8fVpgQpr3Zc",noOutline:!0,lineColor:"#808080",textureType:"No Polygon Texture",text:"1600",fontSize:.6,fontColor:"gray"}],dmn=24,fmn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.371875648214528,21.08668963398181,29433785846390654e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.371875648214528,21.086539627316288,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-20.61846404506183,63.644388618963895,8.02947900521283],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.5,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:18.05,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-2.188721381754669,.6407899994531973,8.029479005212822],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,waterSurface:!1,solarPanelShiness:100,windowShiness:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400},directLightIntensity:5},hmn=!1,pmn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},gmn=1,mmn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ymn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Amn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},wmn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},vmn="Unknown",xmn=null,bmn=null,Smn=null,Tmn=null,Pmn=[],Cmn=3,Rmn=3,Hmn={docid:nmn,time:omn,timestamp:imn,userid:rmn,owner:amn,email:lmn,version:smn,world:cmn,elements:umn,sceneRadius:dmn,view:fmn,animate24Hours:hmn,graphState:pmn,evolutionMethod:gmn,solarPanelArrayLayoutParams:mmn,solarPanelArrayLayoutConstraints:ymn,evolutionaryAlgorithmState:Amn,economicsParams:wmn,modelType:vmn,modelAuthor:xmn,modelLabel:bmn,modelDescription:Smn,designProjectType:Tmn,notes:Pmn,minimumNavigationMoveSpeed:Cmn,minimumNavigationTurnSpeed:Rmn},Mmn="iYCTJTjPxpfAmYmA6nDmNN",Imn="06/18/2023 07:55 pm",zmn=1687132511108,Dmn="QWecNcxhyvP6j6sBN11hBsfZDau1",Emn=null,kmn=null,Fmn={solarPanelVisibilityGridCellSize:.2,longitude:34.54995193372956,diurnalTemperatureModel:1,cspDaysPerYear:4,discretization:"Approximate",solarRadiationHeatmapGridCellSize:.5,noAnimationForHeatmapSimulation:!1,dustLoss:.05,pvGridCellSize:.5,airAttenuationCoefficient:.01,date:"3/22/2023, 12:00:00 PM",ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},address:"Kocavilayet, 2929. Sk. No:1, 33110 Yenişehir/Mersin, Türkiye",timesPerHour:1,cspGridCellSize:.5,daysPerYear:12,sutTimesPerHour:1,noAnimationForSolarPanelSimulation:!1,sutDaysPerYear:4,countryCode:"TR",noAnimationForSolarUpdraftTowerSimulation:!1,latitude:36.81233464724704,name:"default",sutGridCellSize:1,highestTemperatureTimeInMinutes:900,noAnimationForThermalSimulation:!1,airConvectiveCoefficient:5,noAnimationForSensorDataCollection:!1,cspTimesPerHour:1},Lmn=[{cy:-2.235554730854802,solarUpdraftTower:{},normal:[0,0,1],cz:.05,id:"2XGmuwQrQtDPGFB7FUq4gK",solarPowerTower:{},solarAbsorberPipe:{},lx:58.35972106577608,rotation:[0,0,.7770359328652141],parentId:"Ground",textureType:"No Foundation Texture",selected:!1,type:"Foundation",cx:-2.210236108673694,ly:32.834680769300704,color:"#808080",hvacSystem:{thermostatSetpoint:20,id:"A"},lz:.1,locked:!0},{normal:[0,0,1],roofId:"byzwW7Db61R9EfVcvoWVQ9",studColor:"#ffffff",leftJoints:["vqP69iA4TuZd8ZEvPBLjzU"],rightRoofHeight:11.5,relativeAngle:3.141592653589793,structureColor:"white",volumetricHeatCapacity:.5,lineWidth:.2,opacity:.5,textureType:"No Wall Texture",windows:[],fill:"Full",cx:1.1731464688636888,color:"#e9d8ba",studWidth:.1,ly:.3,leftRoofHeight:11.5,lz:11.5,type:"Wall",rightJoints:["6bfpYPQw2M5RbKRsLfDauC"],studSpacing:2,structureSpacing:2,id:"r7FDtsVF9isPsPhYMJtzMf",showLabel:!1,parentId:"2XGmuwQrQtDPGFB7FUq4gK",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",structureWidth:.1,lineColor:"#000000",eavesLength:-.05,unfilledHeight:.5,lx:39,rotation:[0,0,0],rValue:2,rightPoint:[-18.326853531136305,8.729078401244518,.1],cy:8.729078401244518,cz:0,selected:!1,leftPoint:[20.673146468863685,8.729078401244516,.1],wallStructure:"Default",parapet:{display:!0,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{volumetricHeatCapacity:.5,wallStructure:"Default",lx:17.000000000000004,rotation:[0,0,0],opacity:.5,studColor:"#ffffff",ly:.3,type:"Wall",fill:"Full",rightJoints:["r7FDtsVF9isPsPhYMJtzMf"],normal:[0,0,1],rightRoofHeight:11.5,lineColor:"#000000",lineWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",structureWidth:.1,centerRoofHeight:[0,12.780523500160847],id:"vqP69iA4TuZd8ZEvPBLjzU",selected:!1,leftPoint:[20.67314646886369,-8.27092159875549,.1],roofId:"byzwW7Db61R9EfVcvoWVQ9",color:"#e9d8ba",studSpacing:2,structureSpacing:2,cz:0,windows:[],structureColor:"white",cy:.22907840124451972,rValue:2,leftJoints:["jE7DwieCwvfvkHcN1Bkpu2"],cx:20.673146468863674,leftRoofHeight:11.5,parentId:"2XGmuwQrQtDPGFB7FUq4gK",rightPoint:[20.673146468863685,8.729078401244516,.1],studWidth:.1,showLabel:!1,unfilledHeight:.5,eavesLength:0,lz:11.5,textureType:"No Wall Texture",relativeAngle:1.5707963267948966,parapet:{display:!1,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{leftJoints:["6bfpYPQw2M5RbKRsLfDauC"],parentId:"2XGmuwQrQtDPGFB7FUq4gK",studColor:"#ffffff",cz:0,relativeAngle:0,wallStructure:"Default",showLabel:!1,lineWidth:.2,leftRoofHeight:11.5,ly:.3,type:"Wall",structureColor:"white",color:"#e9d8ba",fill:"Full",lineColor:"#000000",textureType:"No Wall Texture",roofId:"byzwW7Db61R9EfVcvoWVQ9",lz:11.5,unfilledHeight:.5,normal:[0,0,1],selected:!1,cy:-8.270921598755486,volumetricHeatCapacity:.5,structureSpacing:2,windows:[],lx:38.99999999999999,studWidth:.1,rightPoint:[20.673146468863674,-8.27092159875548,.1],eavesLength:-.1,rightRoofHeight:11.5,opacity:.5,leftPoint:[-18.326853531136308,-8.27092159875549,.1],structureWidth:.1,rightJoints:["vqP69iA4TuZd8ZEvPBLjzU"],cx:1.1731464688636861,rValue:2,id:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],studSpacing:2,parapet:{display:!0,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{rightJoints:["jE7DwieCwvfvkHcN1Bkpu2"],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",centerRoofHeight:[0,12.780523500160847],leftPoint:[-18.326853531136305,8.729078401244518,.1],windows:[],studSpacing:2,lineColor:"#000000",structureWidth:.1,structureSpacing:2,textureType:"No Wall Texture",rightPoint:[-18.326853531136308,-8.27092159875549,.1],rotation:[0,0,0],lx:17.00000000000001,lz:11.5,cx:-18.326853531136308,eavesLength:0,opacity:.5,id:"6bfpYPQw2M5RbKRsLfDauC",wallStructure:"Default",studWidth:.1,structureColor:"white",leftRoofHeight:11.5,selected:!1,rightRoofHeight:11.5,showLabel:!1,type:"Wall",roofId:"byzwW7Db61R9EfVcvoWVQ9",ly:.3,leftJoints:["r7FDtsVF9isPsPhYMJtzMf"],lineWidth:.2,volumetricHeatCapacity:.5,color:"#e9d8ba",relativeAngle:4.71238898038469,cy:.22907840124450551,studColor:"#ffffff",parentId:"2XGmuwQrQtDPGFB7FUq4gK",unfilledHeight:.5,normal:[0,0,1],fill:"Full",cz:0,rValue:2,parapet:{display:!1,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{color:"#808080",type:"Foundation",solarAbsorberPipe:{},id:"j3n8P4y4kG4w4nSZiAf6rj",solarUpdraftTower:{},lx:8.996965797517845,selected:!1,cx:15.96321224800585,lz:.12,hvacSystem:{thermostatSetpoint:20,id:"A"},solarPowerTower:{},parentId:"Ground",cz:.06,rotation:[0,0,.7770359328652141],cy:7.538802967801969,normal:[0,0,1],rValue:2,ly:17.6681425475643,textureType:"No Foundation Texture",locked:!0},{id:"vEPKSnunpPsGKUDNJaGnTR",fill:"Full",color:"#c1bdb4",unfilledHeight:.5,normal:[0,0,1],eavesLength:0,leftJoints:["1QnZb7zSPuvyzTVeC8AkVL"],volumetricHeatCapacity:.5,ly:.3,lz:13,selected:!1,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",opacity:.5,cx:2.550655474633215,rightJoints:["iYLfpK8sAzBxMk4mz1BXiS"],cy:.09368069935964818,parentId:"j3n8P4y4kG4w4nSZiAf6rj",textureType:"Wall Texture Default",structureWidth:.1,lx:9.499999999999998,rightPoint:[2.5506554746332153,4.843680699359649,.12],relativeAngle:1.5707963267948963,structureColor:"white",cz:0,wallStructure:"Default",type:"Wall",rotation:[0,0,0],leftPoint:[2.550655474633213,-4.656319300640349,.12],structureSpacing:2,rValue:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{lx:4.500000000000002,wallStructure:"Default",ly:.3,normal:[0,0,1],rightPoint:[2.550655474633216,-4.656319300640352,.12],type:"Wall",fill:"Full",structureSpacing:2,color:"#c1bdb4",cx:.3006554746332153,relativeAngle:6.283185307179585,unfilledHeight:.5,textureType:"Wall Texture Default",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",leftPoint:[-1.9493445253667843,-4.656319300640349,.12],rightJoints:["vEPKSnunpPsGKUDNJaGnTR"],lz:13,id:"1QnZb7zSPuvyzTVeC8AkVL",cz:0,volumetricHeatCapacity:.5,structureColor:"white",rValue:2,leftJoints:["joaXtauLNr5aPP2tqqpryi"],opacity:.5,selected:!1,parentId:"j3n8P4y4kG4w4nSZiAf6rj",rotation:[0,0,0],structureWidth:.1,eavesLength:0,cy:-4.65631930064035,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{opacity:.5,eavesLength:0,normal:[0,0,1],lz:13,structureColor:"white",volumetricHeatCapacity:.5,cy:.09368069935964818,structureWidth:.1,fill:"Full",ly:.3,unfilledHeight:.5,selected:!1,color:"#c1bdb4",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],parentId:"j3n8P4y4kG4w4nSZiAf6rj",structureSpacing:2,cx:-1.9493445253667832,id:"joaXtauLNr5aPP2tqqpryi",leftJoints:["iYLfpK8sAzBxMk4mz1BXiS"],wallStructure:"Default",leftPoint:[-1.9493445253667834,4.843680699359648,.12],lx:9.5,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",cz:0,textureType:"Wall Texture Default",type:"Wall",rotation:[0,0,0],rightJoints:["1QnZb7zSPuvyzTVeC8AkVL"],relativeAngle:4.71238898038469,rValue:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{id:"iYLfpK8sAzBxMk4mz1BXiS",studColor:"#ffffff",ly:.3,fill:"Full",unfilledHeight:.5,studSpacing:2,leftPoint:[2.5506554746332153,4.843680699359649,.12],color:"#c1bdb4",rotation:[0,0,0],type:"Wall",wallStructure:"Default",lx:4.499999999999998,lineWidth:.2,rightPoint:[-1.949344525366782,4.843680699359645,.12],showLabel:!1,studWidth:.1,structureSpacing:2,textureType:"Wall Texture Default",structureWidth:.1,normal:[0,0,1],cy:4.8436806993596475,lz:13,cx:.30065547463321707,opacity:.5,rValue:2,parentId:"j3n8P4y4kG4w4nSZiAf6rj",structureColor:"white",leftJoints:["vEPKSnunpPsGKUDNJaGnTR"],windows:[],foundationId:"j3n8P4y4kG4w4nSZiAf6rj",cz:0,rightJoints:["joaXtauLNr5aPP2tqqpryi"],relativeAngle:3.1415926535897936,volumetricHeatCapacity:.5,eavesLength:0,selected:!1,lineColor:"#000000",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{volumetricHeatCapacity:.5,selected:!1,opacity:.5,normal:[0,0,1],wallStructure:"Default",rightJoints:["gZiomgVxY3vk4YfQ9Jjh6B"],id:"sCZzaqpAQeUmKwng1WHaCF",foundationId:"o2WibZi2fR7HySSdFgPoda",lx:9.499999999999998,color:"#c1bdb4",parentId:"o2WibZi2fR7HySSdFgPoda",cx:2.550655474633215,ly:.3,unfilledHeight:.5,textureType:"Wall Texture Default",eavesLength:0,leftPoint:[2.550655474633213,-4.656319300640349,.12],relativeAngle:1.5707963267948963,cy:.09368069935964818,fill:"Full",structureSpacing:2,rightPoint:[2.5506554746332153,4.843680699359649,.12],structureWidth:.1,leftJoints:["tJ6f61zEL1oQGpeeCnFH2S"],type:"Wall",rValue:2,cz:0,structureColor:"white",rotation:[0,0,0],lz:13,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{cz:0,selected:!1,leftPoint:[-1.9493445253667843,-4.656319300640349,.12],cx:.3006554746332153,normal:[0,0,1],lz:13,cy:-4.65631930064035,rightJoints:["sCZzaqpAQeUmKwng1WHaCF"],rightPoint:[2.550655474633216,-4.656319300640352,.12],fill:"Full",structureColor:"white",opacity:.5,unfilledHeight:.5,rotation:[0,0,0],textureType:"Wall Texture Default",rValue:2,ly:.3,volumetricHeatCapacity:.5,lx:4.500000000000002,color:"#c1bdb4",eavesLength:0,id:"tJ6f61zEL1oQGpeeCnFH2S",structureSpacing:2,leftJoints:["eZza9yCuyFywaPPzJVe5tY"],foundationId:"o2WibZi2fR7HySSdFgPoda",wallStructure:"Default",relativeAngle:6.283185307179585,type:"Wall",structureWidth:.1,parentId:"o2WibZi2fR7HySSdFgPoda",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{type:"Wall",opacity:.5,structureSpacing:2,wallStructure:"Default",parentId:"o2WibZi2fR7HySSdFgPoda",relativeAngle:4.71238898038469,id:"eZza9yCuyFywaPPzJVe5tY",textureType:"Wall Texture Default",cx:-1.9493445253667832,structureWidth:.1,normal:[0,0,1],volumetricHeatCapacity:.5,lx:9.5,lz:13,fill:"Full",structureColor:"white",foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],ly:.3,leftPoint:[-1.9493445253667834,4.843680699359648,.12],rightPoint:[-1.9493445253667818,-4.656319300640352,.12],color:"#c1bdb4",rValue:2,cz:0,rightJoints:["tJ6f61zEL1oQGpeeCnFH2S"],eavesLength:0,cy:.09368069935964818,selected:!1,leftJoints:["gZiomgVxY3vk4YfQ9Jjh6B"],unfilledHeight:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{normal:[0,0,1],unfilledHeight:.5,selected:!1,rotation:[0,0,0],structureColor:"white",leftJoints:["sCZzaqpAQeUmKwng1WHaCF"],parentId:"o2WibZi2fR7HySSdFgPoda",structureWidth:.1,relativeAngle:3.1415926535897936,wallStructure:"Default",rValue:2,ly:.3,lz:13,leftPoint:[2.5506554746332153,4.843680699359649,.12],volumetricHeatCapacity:.5,cx:.30065547463321707,type:"Wall",fill:"Full",eavesLength:0,id:"gZiomgVxY3vk4YfQ9Jjh6B",rightJoints:["eZza9yCuyFywaPPzJVe5tY"],cy:4.8436806993596475,rightPoint:[-1.949344525366782,4.843680699359645,.12],textureType:"Wall Texture Default",foundationId:"o2WibZi2fR7HySSdFgPoda",structureSpacing:2,opacity:.5,lx:4.499999999999998,color:"#c1bdb4",cz:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{solarUpdraftTower:{},rotation:[0,0,.7770359328652141],cz:.06,ly:17.6681425475643,type:"Foundation",hvacSystem:{thermostatSetpoint:20,id:"A"},lx:8.996965797517845,textureType:"No Foundation Texture",color:"#808080",lz:.12,id:"o2WibZi2fR7HySSdFgPoda",solarAbsorberPipe:{},rValue:2,parentId:"Ground",solarPowerTower:{},cy:-19.27217037701027,cx:-11.087826553311125,normal:[0,0,1],selected:!1,locked:!0},{ly:.3,foundationId:"hLsewK7zX5Mau5SErFyCiz",unfilledHeight:.5,opacity:.5,structureWidth:.1,rightJoints:["kFKM2qRJFmWx323z2hBCra"],wallStructure:"Default",rightPoint:[2.5506554746332153,4.843680699359649,.12],relativeAngle:1.5707963267948963,volumetricHeatCapacity:.5,cz:0,rValue:2,fill:"Full",selected:!1,eavesLength:0,normal:[0,0,1],lx:9.499999999999998,cy:.09368069935964818,parentId:"hLsewK7zX5Mau5SErFyCiz",rotation:[0,0,0],leftPoint:[2.550655474633213,-4.656319300640349,.12],structureSpacing:2,structureColor:"white",type:"Wall",id:"gv3LzTTefsaZrtK8Lzx2bM",textureType:"Wall Texture Default",color:"#c1bdb4",lz:13,leftJoints:["i7SnyGKg3wpYfMg2Ck4kpZ"],cx:2.550655474633215,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{fill:"Full",rotation:[0,0,0],normal:[0,0,1],ly:.3,cz:0,textureType:"Wall Texture Default",wallStructure:"Default",rValue:2,id:"i7SnyGKg3wpYfMg2Ck4kpZ",relativeAngle:6.283185307179585,leftJoints:["5KcXyJ1kNDvp5rTZsShAbX"],cx:.3006554746332153,foundationId:"hLsewK7zX5Mau5SErFyCiz",color:"#c1bdb4",structureSpacing:2,lz:13,rightPoint:[2.550655474633216,-4.656319300640352,.12],leftPoint:[-1.9493445253667843,-4.656319300640349,.12],type:"Wall",opacity:.5,structureColor:"white",rightJoints:["gv3LzTTefsaZrtK8Lzx2bM"],lx:4.500000000000002,eavesLength:0,unfilledHeight:.5,selected:!1,parentId:"hLsewK7zX5Mau5SErFyCiz",volumetricHeatCapacity:.5,structureWidth:.1,cy:-4.65631930064035,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{rightJoints:["i7SnyGKg3wpYfMg2Ck4kpZ"],fill:"Full",volumetricHeatCapacity:.5,structureColor:"white",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],parentId:"hLsewK7zX5Mau5SErFyCiz",leftJoints:["kFKM2qRJFmWx323z2hBCra"],opacity:.5,wallStructure:"Default",unfilledHeight:.5,normal:[0,0,1],structureWidth:.1,leftPoint:[-1.9493445253667834,4.843680699359648,.12],textureType:"Wall Texture Default",eavesLength:0,ly:.3,type:"Wall",lx:9.5,selected:!1,relativeAngle:4.71238898038469,id:"5KcXyJ1kNDvp5rTZsShAbX",cy:.09368069935964818,cz:0,foundationId:"hLsewK7zX5Mau5SErFyCiz",color:"#c1bdb4",lz:13,cx:-1.9493445253667832,rValue:2,structureSpacing:2,rotation:[0,0,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{type:"Wall",eavesLength:0,rightPoint:[-1.949344525366782,4.843680699359645,.12],leftJoints:["gv3LzTTefsaZrtK8Lzx2bM"],unfilledHeight:.5,cz:0,cx:.30065547463321707,textureType:"Wall Texture Default",normal:[0,0,1],structureColor:"white",color:"#c1bdb4",foundationId:"hLsewK7zX5Mau5SErFyCiz",rotation:[0,0,0],rValue:2,lz:13,fill:"Full",lx:4.499999999999998,cy:4.8436806993596475,relativeAngle:3.1415926535897936,id:"kFKM2qRJFmWx323z2hBCra",ly:.3,structureWidth:.1,wallStructure:"Default",opacity:.5,parentId:"hLsewK7zX5Mau5SErFyCiz",structureSpacing:2,volumetricHeatCapacity:.5,rightJoints:["5KcXyJ1kNDvp5rTZsShAbX"],selected:!1,leftPoint:[2.5506554746332153,4.843680699359649,.12],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{cy:-10.703769932796098,rValue:2,solarPowerTower:{},textureType:"No Foundation Texture",lx:8.996965797517845,cx:-19.60349962700186,rotation:[0,0,.7770359328652141],hvacSystem:{thermostatSetpoint:20,id:"A"},ly:17.6681425475643,solarUpdraftTower:{},lz:.12,id:"hLsewK7zX5Mau5SErFyCiz",color:"#808080",selected:!1,cz:.06,solarAbsorberPipe:{},parentId:"Ground",normal:[0,0,1],type:"Foundation",locked:!0},{leftPoint:[2.550655474633213,-4.656319300640349,.12],relativeAngle:1.5707963267948963,unfilledHeight:.5,leftJoints:["dMQfydvLoQmsUVh8GcfQWg"],wallStructure:"Default",structureSpacing:2,cz:0,color:"#c1bdb4",type:"Wall",cx:2.550655474633215,structureWidth:.1,normal:[0,0,1],rotation:[0,0,0],cy:.09368069935964818,selected:!1,id:"3WQQwDXPDfYCATy53ts83F",ly:.3,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",rightPoint:[2.5506554746332153,4.843680699359649,.12],textureType:"Wall Texture Default",volumetricHeatCapacity:.5,opacity:.5,structureColor:"white",lz:13,rValue:2,eavesLength:0,rightJoints:["16SbPgFqDMyVbV8UtDHAYk"],lx:9.499999999999998,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",fill:"Full",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{rightJoints:["3WQQwDXPDfYCATy53ts83F"],type:"Wall",relativeAngle:6.283185307179585,textureType:"Wall Texture Default",eavesLength:0,lz:13,id:"dMQfydvLoQmsUVh8GcfQWg",parentId:"x4oU2GYmkiSMe4Z8gg6K3C",lx:4.500000000000002,fill:"Full",structureColor:"white",color:"#c1bdb4",unfilledHeight:.5,ly:.3,cy:-4.65631930064035,selected:!1,leftPoint:[-1.9493445253667843,-4.656319300640349,.12],leftJoints:["kmaifBj79SDvw8jCqEakPi"],rotation:[0,0,0],opacity:.5,normal:[0,0,1],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",volumetricHeatCapacity:.5,rightPoint:[2.550655474633216,-4.656319300640352,.12],cx:.3006554746332153,rValue:2,structureSpacing:2,structureWidth:.1,cz:0,wallStructure:"Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{structureColor:"white",wallStructure:"Default",volumetricHeatCapacity:.5,normal:[0,0,1],type:"Wall",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],rightJoints:["dMQfydvLoQmsUVh8GcfQWg"],leftJoints:["16SbPgFqDMyVbV8UtDHAYk"],cy:.09368069935964818,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",leftPoint:[-1.9493445253667834,4.843680699359648,.12],lx:9.5,rValue:2,ly:.3,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"kmaifBj79SDvw8jCqEakPi",lz:13,structureWidth:.1,opacity:.5,color:"#c1bdb4",cx:-1.9493445253667832,relativeAngle:4.71238898038469,structureSpacing:2,eavesLength:0,textureType:"Wall Texture Default",fill:"Full",cz:0,unfilledHeight:.5,selected:!1,rotation:[0,0,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{volumetricHeatCapacity:.5,wallStructure:"Default",rotation:[0,0,0],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",lz:13,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",cx:.30065547463321707,rightJoints:["kmaifBj79SDvw8jCqEakPi"],leftJoints:["3WQQwDXPDfYCATy53ts83F"],unfilledHeight:.5,opacity:.5,cy:4.8436806993596475,selected:!1,textureType:"Wall Texture Default",structureSpacing:2,fill:"Full",type:"Wall",ly:.3,rValue:2,normal:[0,0,1],relativeAngle:3.1415926535897936,structureWidth:.1,lx:4.499999999999998,id:"16SbPgFqDMyVbV8UtDHAYk",leftPoint:[2.5506554746332153,4.843680699359649,.12],structureColor:"white",eavesLength:0,rightPoint:[-1.949344525366782,4.843680699359645,.12],cz:0,color:"#c1bdb4",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{solarAbsorberPipe:{},textureType:"No Foundation Texture",rotation:[0,0,.7770359328652141],rValue:2,type:"Foundation",selected:!1,hvacSystem:{thermostatSetpoint:20,id:"A"},lz:.12,ly:17.6681425475643,lx:8.996965797517845,normal:[0,0,1],solarUpdraftTower:{},parentId:"Ground",solarPowerTower:{},color:"#808080",id:"x4oU2GYmkiSMe4Z8gg6K3C",cz:.06,cx:7.698794351508976,cy:16.007045037404467,locked:!0},{lz:13,leftJoints:["aMAoC9G4MpUPGJVmt36yfP"],wallStructure:"Default",rotation:[0,0,0],structureColor:"white",selected:!1,relativeAngle:1.5707963267948961,cz:0,rightJoints:["iVn6mF9eoYKrYt3EzDy2TC"],id:"u1GLQPod2yRsFy4dWHVdVa",rightPoint:[2.8178761000817967,3.2189656143947305,0],parentId:"oGfdqtfZrLhGvZskoNeDFJ",lx:6.3134164357268086,type:"Wall",volumetricHeatCapacity:.5,cy:.062257396531326226,foundationId:"oGfdqtfZrLhGvZskoNeDFJ",ly:.3,opacity:.5,fill:"Full",eavesLength:0,structureWidth:.1,normal:[0,0,1],structureSpacing:2,unfilledHeight:.5,color:"#c1bdb4",rValue:2,cx:2.8178761000817953,leftPoint:[2.817876100081794,-3.094450821332078,0],textureType:"Wall Texture Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{parentId:"oGfdqtfZrLhGvZskoNeDFJ",rightJoints:["u1GLQPod2yRsFy4dWHVdVa"],structureColor:"white",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",volumetricHeatCapacity:.5,leftJoints:["eTsfM9k5RPHprx93KkShya"],opacity:.5,structureWidth:.1,lx:4.971444625304221,unfilledHeight:.5,structureSpacing:2,textureType:"No Wall Texture",cy:-3.094450821332079,cx:.33215378742968693,fill:"Full",color:"#c1bdb4",cz:0,rotation:[0,0,0],normal:[0,0,1],leftPoint:[-2.1535685252224237,-3.094450821332078,0],lz:13,wallStructure:"Default",type:"Wall",selected:!1,id:"aMAoC9G4MpUPGJVmt36yfP",rValue:2,ly:.3,eavesLength:0,relativeAngle:-4466400043859356e-31,rightPoint:[2.8178761000817976,-3.0944508213320803,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{color:"#c1bdb4",cz:0,selected:!1,rightPoint:[-2.153568525222421,-3.0944508213320803,0],leftPoint:[-2.153568525222423,3.21896561439473,0],structureColor:"white",lx:6.31341643572681,lz:13,volumetricHeatCapacity:.5,normal:[0,0,1],cx:-2.153568525222422,relativeAngle:-1.5707963267948963,structureSpacing:2,eavesLength:0,structureWidth:.1,rValue:2,leftJoints:["iVn6mF9eoYKrYt3EzDy2TC"],foundationId:"oGfdqtfZrLhGvZskoNeDFJ",cy:.06225739653132489,parentId:"oGfdqtfZrLhGvZskoNeDFJ",ly:.3,rightJoints:["aMAoC9G4MpUPGJVmt36yfP"],type:"Wall",unfilledHeight:.5,textureType:"Wall Texture Default",rotation:[0,0,0],id:"eTsfM9k5RPHprx93KkShya",fill:"Full",opacity:.5,wallStructure:"Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{parentId:"oGfdqtfZrLhGvZskoNeDFJ",structureWidth:.1,foundationId:"oGfdqtfZrLhGvZskoNeDFJ",relativeAngle:-3.1415926535897927,textureType:"Wall Texture Default",structureColor:"white",volumetricHeatCapacity:.5,color:"#c1bdb4",rightJoints:["eTsfM9k5RPHprx93KkShya"],wallStructure:"Default",structureSpacing:2,rotation:[0,0,0],leftPoint:[2.8178761000817967,3.2189656143947305,0],ly:.3,rightPoint:[-2.1535685252224215,3.2189656143947274,0],unfilledHeight:.5,opacity:.5,fill:"Full",lx:4.971444625304218,type:"Wall",id:"iVn6mF9eoYKrYt3EzDy2TC",leftJoints:["u1GLQPod2yRsFy4dWHVdVa"],lz:13,eavesLength:0,cz:0,cx:.3321537874296876,rValue:2,selected:!1,cy:3.2189656143947287,normal:[0,0,1],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{textureType:"No Foundation Texture",solarAbsorberPipe:{},parentId:"Ground",hvacSystem:{thermostatSetpoint:20,id:"A"},type:"Foundation",lz:.12,normal:[0,0,1],cx:-6.658209585503492,solarPowerTower:{},cz:.06,cy:2.9554447902666663,rotation:[0,0,.7770359328652141],rValue:2,selected:!1,ly:11.741720163005958,lx:9.93953716847022,id:"oGfdqtfZrLhGvZskoNeDFJ",solarUpdraftTower:{},color:"#808080",locked:!0},{normal:[0,0,1],lz:0,selected:!1,ceiling:!1,sideColor:"#ffffff",ridgeRightPoint:[0,1],type:"Roof",showLabel:!1,rValue:2,id:"byzwW7Db61R9EfVcvoWVQ9",parentId:"2XGmuwQrQtDPGFB7FUq4gK",cx:0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",textureType:"No Roof Texture",rotation:[0,0,0],ly:0,roofStructure:"Default",roofType:"Gable",ridgeLeftPoint:[0,1],lx:0,thickness:.2,lineColor:"#000000",cy:0,cz:0,wallsId:["jE7DwieCwvfvkHcN1Bkpu2"],rise:1.2805235001608466,color:"#73d8ff",lineWidth:.2,locked:!0},{textureType:"No Wall Texture",selected:!1,roofId:"tR8bCboRhW3wJCicDgK2jW",leftPoint:[6.104959873734063,-3.546673308869522,.12],structureColor:"white",rightRoofHeight:12.5,id:"nkv63w7AFXpTDVXgNtZaZp",opacity:0,rotation:[0,0,0],leftJoints:["1G9FW32uCMUYbXB7bybpze"],volumetricHeatCapacity:.5,lx:4.998533544552693,wallStructure:"Default",unfilledHeight:3.8747450187684356,cy:-1.0474065365931762,cz:0,parentId:"uj4Qq2BojpeyU8mLo7xk7N",foundationId:"uj4Qq2BojpeyU8mLo7xk7N",eavesLength:0,fill:"Partial",cx:6.104959873734066,ly:.3,structureSpacing:2,type:"Wall",normal:[0,0,1],rightJoints:[],rValue:2,color:"#4d4d4d",leftRoofHeight:12.5,rightPoint:[6.104959873734069,1.4518602356831711,.12],lz:12.5,structureWidth:.1,relativeAngle:1.5707963267948952,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.8747450187684356,rightUnfilledHeight:3.8747450187684356,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{selected:!1,leftPoint:[-6.476087156413756,-3.5466733088695213,.12],fill:"Partial",structureSpacing:2,ly:.3,roofId:"tR8bCboRhW3wJCicDgK2jW",structureWidth:.1,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],lx:12.581047030147829,structureColor:"white",unfilledHeight:3.877447716243144,cy:-3.5466733088695213,color:"#4d4d4d",wallStructure:"Default",type:"Wall",rotation:[0,0,0],textureType:"No Wall Texture",rightPoint:[6.104959873734072,-3.546673308869523,.12],relativeAngle:-14119308473639638e-32,id:"1G9FW32uCMUYbXB7bybpze",leftJoints:["9ULQ17PCkbiQTAk5KCBQqS"],cx:-.18556364133984293,rValue:2,cz:0,eavesLength:0,rightJoints:["nkv63w7AFXpTDVXgNtZaZp"],lz:12.5,opacity:.5,leftRoofHeight:12.5,rightRoofHeight:12.5,parentId:"uj4Qq2BojpeyU8mLo7xk7N",volumetricHeatCapacity:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.877447716243144,rightUnfilledHeight:3.877447716243144,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{structureColor:"white",leftPoint:[-6.4760871564137545,1.4518602356831711,.12],selected:!1,color:"#4d4d4d",leftRoofHeight:12.5,lz:12.5,parentId:"uj4Qq2BojpeyU8mLo7xk7N",structureWidth:.1,fill:"Partial",roofId:"tR8bCboRhW3wJCicDgK2jW",textureType:"No Wall Texture",unfilledHeight:3.8825262761296813,cy:-1.0474065365931766,lx:4.998533544552695,cz:0,structureSpacing:2,eavesLength:0,volumetricHeatCapacity:.5,wallStructure:"Default",foundationId:"uj4Qq2BojpeyU8mLo7xk7N",rotation:[0,0,0],leftJoints:[],rightPoint:[-6.476087156413749,-3.546673308869523,.12],type:"Wall",id:"9ULQ17PCkbiQTAk5KCBQqS",rightJoints:["1G9FW32uCMUYbXB7bybpze"],opacity:.5,relativeAngle:-1.5707963267948957,cx:-6.476087156413751,rightRoofHeight:12.5,ly:.3,rValue:2,normal:[0,0,1],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.8825262761296813,rightUnfilledHeight:3.8825262761296813,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{ly:7.102899659180595,parentId:"Ground",rValue:2,solarPowerTower:{},color:"#808080",textureType:"No Foundation Texture",hvacSystem:{thermostatSetpoint:20},rotation:[0,0,.7770359328652141],cz:.06,lx:13.160581645410465,solarUpdraftTower:{},type:"Foundation",cy:-7.71612929167876,solarAbsorberPipe:{},cx:5.571147308635517,id:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],selected:!1,lz:.12,notBuilding:!1,locked:!0},{rValue:2,ly:0,ceiling:!1,lx:0,sideColor:"#ffffff",cz:0,lineWidth:.2,cx:0,normal:[0,0,1],lineColor:"#000000",showLabel:!1,wallsId:["nkv63w7AFXpTDVXgNtZaZp","9ULQ17PCkbiQTAk5KCBQqS","1G9FW32uCMUYbXB7bybpze"],type:"Roof",rotation:[0,0,0],textureType:"No Roof Texture",roofStructure:"Default",roofType:"Pyramid",thickness:.1,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",cy:0,lz:0,selected:!1,color:"#73d8ff",id:"tR8bCboRhW3wJCicDgK2jW",rise:0,parentId:"uj4Qq2BojpeyU8mLo7xk7N",locked:!0},{mullionWidth:.06,frame:!0,type:"Window",shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},rotation:[0,0,0],foundationId:"j3n8P4y4kG4w4nSZiAf6rj",selected:!1,sillWidth:0,lineColor:"#000000",uValue:2,normal:[0,-1,0],mullionColor:"#4d4d4d",archHeight:1,frameWidth:.2,showLabel:!1,lineWidth:.2,lx:.3333333333333332,tint:"#0062b1",cx:-.011111111111111117,cz:-.041666666666666664,id:"wqLLY7STGwviPzesQo2Pm3",cy:.3,color:"#ffffff",opacity:.5,ly:.3,windowType:"Default",mullionSpacing:2,mullion:!0,lz:.75,parentId:"1QnZb7zSPuvyzTVeC8AkVL",locked:!0},{tint:"#0062b1",frame:!0,selected:!1,ly:.3,cz:-.041666666666666664,foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],archHeight:1,sillWidth:0,windowType:"Default",cy:.3,parentId:"tJ6f61zEL1oQGpeeCnFH2S",cx:-.011111111111111117,id:"qUkb8xmoiBdjkzRWtig4SU",shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},normal:[0,0,1],color:"#ffffff",mullionWidth:.06,lx:.3333333333333332,mullion:!0,lz:.75,type:"Window",frameWidth:.2,mullionSpacing:2,opacity:.5,uValue:2,mullionColor:"#4d4d4d",locked:!0},{lz:.48,rotation:[0,0,0],tint:"#315f6f",mullionWidth:.05,parentId:"1G9FW32uCMUYbXB7bybpze",ly:.3,cz:.12,type:"Window",mullionColor:"#666666",shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},lineWidth:.2,windowType:"Default",sillWidth:0,opacity:.9,lx:.8743310452334228,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,-1,0],frame:!0,mullionSpacing:1,mullion:!0,showLabel:!1,uValue:2,cy:.3,cx:0,color:"#ffffff",lineColor:"#000000",frameWidth:.05,id:"otfRaWBjxDE3hRYtq3HZ4m",archHeight:1,selected:!1,locked:!0},{windowType:"Default",ly:.3,archHeight:1,lz:.14285714285714282,selected:!1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",frame:!0,cy:.3,lineWidth:.2,lx:.05384615384615385,frameWidth:.2,lineColor:"#000000",cx:.19358974358974362,tint:"#b3b3b3",opacity:.9,mullionWidth:.1,cz:.23291925465838512,rotation:[0,0,0],mullionSpacing:1.25,type:"Window",mullionColor:"#ffffff",sillWidth:0,normal:[0,-1,0],showLabel:!1,id:"d7WscaF1Qtzp9YhmRPKdMx",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",uValue:2,mullion:!0,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},locked:!0},{cx:.2576923076923078,frameWidth:.2,lx:.05384615384615385,tint:"#b3b3b3",opacity:.9,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,color:"#ffffff",lz:.14285714285714282,mullionColor:"#ffffff",mullionSpacing:1.25,selected:!1,rotation:[0,0,0],cy:.3,mullion:!0,ly:.3,normal:[0,0,1],parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,cz:.23291925465838512,mullionWidth:.1,type:"Window",id:"phyxK6dSx3mzB64HK7tbQq",windowType:"Default",frame:!0,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},locked:!0},{color:"#ffffff",mullion:!0,lx:.0538461538461538,rotation:[0,0,0],opacity:.9,windowType:"Default",cy:.3,ly:.3,type:"Window",uValue:2,cx:.3217948717948719,frame:!0,cz:.23291925465838512,mullionSpacing:1.25,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},selected:!1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",archHeight:1,mullionColor:"#ffffff",lz:.14285714285714282,tint:"#b3b3b3",sillWidth:0,mullionWidth:.1,normal:[0,0,1],id:"rUCAQoA9pCTnCsyUCwQKsz",locked:!0},{lz:.14285714285714285,rotation:[0,0,0],sillWidth:0,windowType:"Default",frame:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cy:.3,mullionSpacing:1.25,opacity:.9,ly:.3,uValue:2,mullionColor:"#ffffff",color:"#ffffff",archHeight:1,type:"Window",id:"cVhfCa3Uxnnwwat44DMDUA",mullionWidth:.1,cx:.3910256410256411,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},mullion:!0,selected:!1,normal:[0,0,1],lx:.06410256410256411,frameWidth:.2,parentId:"jE7DwieCwvfvkHcN1Bkpu2",tint:"#b3b3b3",cz:.23291925465838512,locked:!0},{frame:!0,shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.1948717948717949,color:"#ffffff",frameWidth:.2,mullion:!0,ly:.3,archHeight:1,rotation:[0,0,0],tint:"#b3b3b3",opacity:.9,mullionColor:"#ffffff",lx:.056410256410256404,id:"bNXPgPwYdtaKzeyyFztb1n",normal:[0,0,1],sillWidth:0,cz:-.02795031055900621,windowType:"Default",mullionWidth:.1,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",selected:!1,type:"Window",cy:.3,mullionSpacing:1.25,uValue:2,locked:!0},{mullionWidth:.1,tint:"#b3b3b3",shutter:{width:.5,showLeft:!1,color:"grey",showRight:!1},lz:.14285714285714282,cy:.3,uValue:2,mullionSpacing:1.25,sillWidth:0,cx:.20512820512820518,parentId:"jE7DwieCwvfvkHcN1Bkpu2",lx:.03589743589743587,rotation:[0,0,0],selected:!1,type:"Window",archHeight:1,mullionColor:"#ffffff",normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,id:"3VvDJnQdsED8fAouDPT9yF",frameWidth:.2,ly:.3,windowType:"Default",frame:!0,color:"#ffffff",cz:-.2888198757763975,mullion:!0,locked:!0},{cz:-.02795031055900621,ly:.3,shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},id:"kaF2HtrRicfNAq1W9doyfR",tint:"#b3b3b3",cy:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionSpacing:1.25,normal:[0,0,1],mullionWidth:.1,windowType:"Default",sillWidth:0,type:"Window",rotation:[0,0,0],uValue:2,color:"#ffffff",archHeight:1,mullion:!0,lz:.14285714285714285,frame:!0,selected:!1,lx:.05384615384615385,frameWidth:.2,cx:.2576923076923078,opacity:.9,mullionColor:"#ffffff",locked:!0},{parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionWidth:.1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",cy:.3,lx:.0538461538461538,cx:.3217948717948719,frameWidth:.2,windowType:"Default",mullionSpacing:1.25,opacity:.9,ly:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},rotation:[0,0,0],type:"Window",id:"2pB9fvP8ZeUqogmRwvUTce",sillWidth:0,normal:[0,0,1],archHeight:1,selected:!1,uValue:2,lz:.14285714285714285,frame:!0,mullion:!0,cz:-.02795031055900621,locked:!0},{sillWidth:0,frame:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1.25,windowType:"Default",uValue:2,lz:.14285714285714285,rotation:[0,0,0],tint:"#b3b3b3",shutter:{showLeft:!1,color:"grey",showRight:!1,width:.5},color:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",id:"nTCU2PDq5uNAZg9zRpPCHX",archHeight:1,opacity:.9,cx:.3910256410256411,mullionColor:"#ffffff",type:"Window",normal:[0,0,1],cy:.3,mullion:!0,frameWidth:.2,selected:!1,lx:.06410256410256411,ly:.3,mullionWidth:.1,cz:-.02795031055900621,locked:!0},{frame:!0,archHeight:1,normal:[0,0,1],mullionColor:"#ffffff",cz:-.2888198757763975,windowType:"Default",mullionSpacing:1.25,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cx:.258974358974359,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.1,uValue:2,selected:!1,shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},lx:.056410256410256404,sillWidth:0,cy:.3,opacity:.9,type:"Window",ly:.3,lz:.14285714285714282,rotation:[0,0,0],tint:"#b3b3b3",mullion:!0,frameWidth:.2,id:"1GzMSiwb36TFB48v2QYryB",color:"#ffffff",locked:!0},{id:"ayHDGxuZiXFZRCb6xwiWDe",lx:.0538461538461538,type:"Window",parentId:"jE7DwieCwvfvkHcN1Bkpu2",ly:.3,shutter:{showLeft:!1,color:"grey",showRight:!1,width:.5},selected:!1,frame:!0,frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.2888198757763975,mullionColor:"#ffffff",mullionWidth:.1,archHeight:1,tint:"#b3b3b3",windowType:"Default",color:"#ffffff",uValue:2,normal:[0,0,1],lz:.14285714285714282,mullion:!0,sillWidth:0,cx:.3217948717948719,rotation:[0,0,0],mullionSpacing:1.25,opacity:.9,cy:.3,locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",normal:[0,0,1],opacity:.9,cy:.3,tint:"#b3b3b3",rotation:[0,0,0],frame:!0,lx:.06410256410256411,ly:.3,mullionWidth:.1,frameWidth:.2,mullionSpacing:1.25,mullion:!0,sillWidth:0,selected:!1,id:"mPyFc6BaTuwYm116awk4nS",lz:.14285714285714285,mullionColor:"#ffffff",uValue:2,windowType:"Default",color:"#ffffff",cx:.3910256410256411,parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,cz:-.2888198757763975,type:"Window",shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},locked:!0},{ly:.3,lz:4.070845481097757,structureSpacing:4,rotation:[0,0,0],fill:"Full",textureType:"No Wall Texture",cy:-2.5093852454781445,leftJoints:[],structureWidth:.5,foundationId:"8DwiqAmnDYU6meyiSHFYvg",cz:2.0354227405488783,volumetricHeatCapacity:.5,rValue:2,id:"bwWCUGgxViKGTAu9eHo4CU",normal:[0,0,1],cx:.13591177848864566,rightPoint:[5.998472224148425,-2.5093852454781453,.2],wallStructure:"Pillar",structureColor:"#4d4d4d",unfilledHeight:.5,type:"Wall",relativeAngle:-15150008736501291e-32,lx:11.725120891319554,selected:!1,eavesLength:.3,color:"#4d4d4d",leftPoint:[-5.726648667171128,-2.5093852454781445,.2],rightJoints:[],parentId:"8DwiqAmnDYU6meyiSHFYvg",opacity:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.070845481097757,rightTopPartialHeight:4.070845481097757,locked:!0},{type:"Foundation",cy:-7.844584975085767,textureType:"No Foundation Texture",ly:9.133282463061267,cz:.1,normal:[0,0,1],solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rotation:[0,0,.7770359328652141],lz:.2,solarAbsorberPipe:{},parentId:"Ground",cx:5.386211591704882,rValue:2,color:"#e9d8ba",solarUpdraftTower:{},id:"8DwiqAmnDYU6meyiSHFYvg",selected:!1,lx:13.077027743266148,notBuilding:!0,locked:!0},{cz:.23291925465838512,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,ly:.3,id:"46EurDPfGoJsechaGfz85S",cy:.3,mullionColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],tint:"#b3b3b3",mullionWidth:.1,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},color:"#ffffff",opacity:.9,type:"Window",lx:.051282051282051294,selected:!1,mullionSpacing:1.25,archHeight:1,mullion:!0,windowType:"Default",sillWidth:0,frame:!0,parentId:"jE7DwieCwvfvkHcN1Bkpu2",lz:.14285714285714285,cx:-.19230769230769235,frameWidth:.2,locked:!0},{selected:!1,cy:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},mullion:!0,lz:.14285714285714285,archHeight:1,opacity:.9,rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionSpacing:1.25,lx:.06410256410256411,ly:.3,mullionColor:"#ffffff",windowType:"Default",frameWidth:.2,uValue:2,normal:[0,0,1],cx:-.3910256410256411,sillWidth:0,type:"Window",tint:"#b3b3b3",color:"#ffffff",id:"izxRQkWui4YmZiY96HksMX",cz:.23291925465838512,frame:!0,mullionWidth:.1,locked:!0},{mullionSpacing:1.25,uValue:2,archHeight:1,cy:.3,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cz:.23291925465838512,mullionWidth:.1,windowType:"Default",type:"Window",tint:"#b3b3b3",shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},cx:-.3217948717948719,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullion:!0,lx:.0538461538461538,normal:[0,0,1],selected:!1,ly:.3,sillWidth:0,frame:!0,opacity:.9,frameWidth:.2,mullionColor:"#ffffff",lz:.14285714285714282,id:"cx5YNYxji3cWvUe2vzHp8r",rotation:[0,0,0],locked:!0},{frame:!0,selected:!1,shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},sillWidth:0,frameWidth:.2,mullionWidth:.1,cz:.23291925465838512,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",color:"#ffffff",opacity:.9,type:"Window",lz:.14285714285714282,normal:[0,0,1],mullionSpacing:1.25,uValue:2,mullion:!0,id:"v7KHWrJEpTEx5wKqo46MKC",mullionColor:"#ffffff",windowType:"Default",ly:.3,cx:-.25512820512820517,rotation:[0,0,0],cy:.3,archHeight:1,tint:"#b3b3b3",lx:.05897435897435896,locked:!0},{uValue:2,frameWidth:.2,normal:[0,0,1],mullionSpacing:1.25,cx:-.3884615384615385,selected:!1,lx:.06923076923076922,ly:.3,rotation:[0,0,0],cz:-.2888198757763975,mullion:!0,lz:.14285714285714282,opacity:.9,parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,mullionColor:"#ffffff",windowType:"Default",shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},type:"Window",sillWidth:0,mullionWidth:.1,color:"#ffffff",tint:"#b3b3b3",id:"aq2YNCbxikYtSJvwjUbALP",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frame:!0,cy:.3,locked:!0},{tint:"#b3b3b3",ly:.3,id:"nMhMe9155kYQJYGKXKtDJE",mullion:!0,rotation:[0,0,0],frameWidth:.2,archHeight:1,lz:.14285714285714282,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,frame:!0,cx:-.3192307692307694,sillWidth:0,mullionWidth:.1,normal:[0,0,1],cy:.3,opacity:.9,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},cz:-.2888198757763975,type:"Window",lx:.05384615384615394,uValue:2,mullionSpacing:1.25,windowType:"Default",mullionColor:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",locked:!0},{lx:.05384615384615385,opacity:.9,mullionWidth:.1,type:"Window",sillWidth:0,ly:.3,uValue:2,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},mullionColor:"#ffffff",cz:-.2888198757763975,cx:-.25512820512820517,normal:[0,0,1],selected:!1,id:"9uThAQakWzLaaAnEDxEbHb",mullion:!0,color:"#ffffff",windowType:"Default",lz:.14285714285714282,frame:!0,rotation:[0,0,0],cy:.3,mullionSpacing:1.25,archHeight:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frameWidth:.2,tint:"#b3b3b3",parentId:"jE7DwieCwvfvkHcN1Bkpu2",locked:!0},{windowType:"Default",opacity:.9,mullionSpacing:1.25,mullionWidth:.1,lz:.14285714285714285,cx:-.19230769230769235,cy:.3,id:"8fuBFjedq9njRTLoxtn8EP",lx:.051282051282051294,uValue:2,frame:!0,sillWidth:0,mullion:!0,frameWidth:.2,archHeight:1,cz:-.2888198757763975,selected:!1,normal:[0,0,1],ly:.3,rotation:[0,0,0],type:"Window",parentId:"jE7DwieCwvfvkHcN1Bkpu2",color:"#ffffff",shutter:{showRight:!1,showLeft:!1,color:"grey",width:.5},tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",locked:!0},{mullionSpacing:1.25,cx:-.3884615384615385,cy:.3,mullionWidth:.1,mullion:!0,color:"#ffffff",type:"Window",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",cz:-.02795031055900621,lz:.14285714285714285,tint:"#b3b3b3",frameWidth:.2,sillWidth:0,selected:!1,uValue:2,rotation:[0,0,0],normal:[0,0,1],ly:.3,archHeight:1,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},frame:!0,lx:.06923076923076922,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.9,windowType:"Default",id:"djvC79sCMpkHHpaVqyVdW8",locked:!0},{uValue:2,lz:.14285714285714285,type:"Window",id:"eZg5T5d6C7sKQSaPhcKxw6",ly:.3,frameWidth:.2,frame:!0,cy:.3,windowType:"Default",shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},selected:!1,sillWidth:0,lx:.056410256410256446,mullion:!0,mullionWidth:.1,normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:-.31794871794871804,archHeight:1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",rotation:[0,0,0],mullionSpacing:1.25,cz:-.02795031055900621,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.9,locked:!0},{lx:.056410256410256404,normal:[0,0,1],mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.1,frameWidth:.2,archHeight:1,cz:-.02795031055900621,cy:.3,opacity:.9,ly:.3,windowType:"Default",frame:!0,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cx:-.2538461538461539,selected:!1,rotation:[0,0,0],color:"#ffffff",uValue:2,id:"8xJvoQv2PELZbsAu7THviM",type:"Window",mullionColor:"#ffffff",mullionSpacing:1.25,lz:.14285714285714285,tint:"#b3b3b3",shutter:{showLeft:!1,width:.5,showRight:!1,color:"grey"},sillWidth:0,locked:!0},{mullionColor:"#ffffff",shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},windowType:"Default",normal:[0,0,1],mullionWidth:.1,lz:.14285714285714285,cy:.3,type:"Window",rotation:[0,0,0],opacity:.9,id:"6253HwoM7vYHZDUNYjsTgU",selected:!1,frame:!0,ly:.3,lx:.051282051282051294,archHeight:1,mullion:!0,cx:-.19230769230769235,tint:"#b3b3b3",frameWidth:.2,color:"#ffffff",uValue:2,cz:-.02795031055900621,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",sillWidth:0,mullionSpacing:1.25,locked:!0},{mullionColor:"#4d4d4d",rotation:[0,0,0],mullionWidth:.06,frameWidth:.2,opacity:.5,cz:-.041666666666666664,lx:.11695906432748526,shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},parentId:"vEPKSnunpPsGKUDNJaGnTR",archHeight:1,ly:.3,cy:.3,type:"Window",color:"#ffffff",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",frame:!0,mullionSpacing:2,cx:.11111111111111106,uValue:2,selected:!1,windowType:"Default",id:"gcLhGQTVxE2fJnMpRDahoq",tint:"#0062b1",mullion:!0,normal:[0,0,1],lz:.75,sillWidth:0,locked:!0},{frame:!0,rotation:[0,0,0],mullionColor:"#4d4d4d",shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.3216374269005848,frameWidth:.2,parentId:"vEPKSnunpPsGKUDNJaGnTR",archHeight:1,ly:.3,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",opacity:.5,mullion:!0,lz:.75,id:"sP3EuQN5nUzkBPzPZicBDL",mullionWidth:.06,lx:.11695906432748526,windowType:"Default",uValue:2,sillWidth:0,selected:!1,type:"Window",mullionSpacing:2,cy:.3,normal:[0,0,1],tint:"#0062b1",cz:-.041666666666666664,color:"#ffffff",locked:!0},{parentId:"3WQQwDXPDfYCATy53ts83F",cx:-.3099415204678364,rotation:[0,0,0],uValue:2,lz:.75,type:"Window",opacity:.5,selected:!1,normal:[0,0,1],mullionSpacing:2,mullionColor:"#4d4d4d",cy:.3,lx:.11695906432748526,sillWidth:0,archHeight:1,mullionWidth:.06,frame:!0,ly:.3,tint:"#0062b1",id:"a9iz7tks9oLk2eTwA9Yde3",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},mullion:!0,frameWidth:.2,windowType:"Default",color:"#ffffff",cz:-.041666666666666664,locked:!0},{color:"#ffffff",cx:-.09941520467836266,normal:[0,0,1],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",rotation:[0,0,0],mullionColor:"#4d4d4d",cz:-.041666666666666664,archHeight:1,sillWidth:0,mullionWidth:.06,windowType:"Default",shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},type:"Window",mullionSpacing:2,parentId:"3WQQwDXPDfYCATy53ts83F",cy:.3,selected:!1,mullion:!0,opacity:.5,lz:.75,id:"s7untaE7NYoTEH5Xxqu7vu",uValue:2,ly:.3,lx:.11695906432748526,tint:"#0062b1",frameWidth:.2,frame:!0,locked:!0},{cz:-.041666666666666664,normal:[0,0,1],sillWidth:0,windowType:"Default",color:"#ffffff",mullionColor:"#4d4d4d",parentId:"eZza9yCuyFywaPPzJVe5tY",tint:"#0062b1",frameWidth:.2,type:"Window",lz:.75,id:"4J5xN82Vi7ATj7FHVXK9fT",foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],frame:!0,cx:-.30994152046783635,mullionSpacing:2,uValue:2,ly:.3,opacity:.5,lx:.11695906432748526,selected:!1,mullionWidth:.06,cy:.3,archHeight:1,shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},mullion:!0,locked:!0},{parentId:"eZza9yCuyFywaPPzJVe5tY",uValue:2,cx:-.09941520467836262,mullionSpacing:2,lz:.75,normal:[0,0,1],frameWidth:.2,cz:-.041666666666666664,tint:"#0062b1",ly:.3,rotation:[0,0,0],cy:.3,mullionWidth:.06,type:"Window",opacity:.5,selected:!1,frame:!0,foundationId:"o2WibZi2fR7HySSdFgPoda",archHeight:1,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},sillWidth:0,color:"#ffffff",windowType:"Default",mullion:!0,mullionColor:"#4d4d4d",lx:.11695906432748526,id:"215xeoB94LfwSgY9VkRb9T",locked:!0},{archHeight:1,lx:.11695906432748526,id:"ddfjZo324XGZQ4fjUcBn6X",sillWidth:0,mullionWidth:.06,ly:.3,opacity:.5,type:"Window",mullionSpacing:2,windowType:"Default",color:"#ffffff",foundationId:"hLsewK7zX5Mau5SErFyCiz",normal:[0,0,1],uValue:2,frameWidth:.2,parentId:"5KcXyJ1kNDvp5rTZsShAbX",mullionColor:"#4d4d4d",rotation:[0,0,0],cz:-.041666666666666664,cy:.3,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},mullion:!0,cx:.3216374269005847,selected:!1,tint:"#0062b1",lz:.75,frame:!0,locked:!0},{normal:[0,0,1],foundationId:"hLsewK7zX5Mau5SErFyCiz",lz:.75,windowType:"Default",archHeight:1,parentId:"5KcXyJ1kNDvp5rTZsShAbX",lx:.11695906432748526,uValue:2,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},type:"Window",mullionColor:"#4d4d4d",opacity:.5,mullionWidth:.06,frameWidth:.2,cx:.11111111111111105,cz:-.041666666666666664,id:"rw5R1u3LjL3kSbDYXLqpep",tint:"#0062b1",frame:!0,sillWidth:0,cy:.3,color:"#ffffff",ly:.3,rotation:[0,0,0],mullion:!0,selected:!1,mullionSpacing:2,locked:!0},{id:"u7vgLv3TfTJ9G6m9VRJXKE",cy:-8.330957372051333,type:"Cuboid",selected:!1,cz:.6,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",ly:4.416238472006233,rotation:[0,0,.7770205829878756],cx:6.1134856174136125,lx:12.5,color:"#e9d8ba",lz:1.2,normal:[0,0,1],faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],locked:!0},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],color:"#e9d8ba",rotation:[0,0,.7770205829878756],ly:.3,parentId:"Ground",type:"Cuboid",cx:7.775993069912096,cz:.5,lz:1,cy:-9.982710148514444,normal:[0,0,1],id:"xwTCcYWFUqCHdfYgjwLPzr",selected:!1,lx:12.5,locked:!0},{cy:-10.222251297562046,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lx:12.5,color:"#e9d8ba",cz:.4,rotation:[0,0,.7770205829878756],cx:7.97917394469156,type:"Cuboid",id:"4ahnYxjJA1TN7cwGSyLftT",lz:.8,normal:[0,0,1],parentId:"Ground",ly:.3,selected:!1,faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],locked:!0},{parentId:"Ground",selected:!1,faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],cz:.3,id:"axXhhxk8aLaskye6X7yAxR",cy:-10.456557176149813,color:"#e9d8ba",rotation:[0,0,.7770205829878756],cx:8.172887209710508,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",normal:[0,0,1],ly:.3,lx:12.5,lz:.6,locked:!0},{color:"#e9d8ba",ly:.3,cz:.2,parentId:"Ground",lz:.4,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"k4MhMFRn1raEXYc4ftU5Lc",faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],type:"Cuboid",cx:8.377329978512003,selected:!1,rotation:[0,0,.7770205829878756],normal:[0,0,1],lx:12.5,cy:-10.669908202265143,locked:!0},{sillWidth:0,color:"#ffffff",lz:.14285714285714285,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},normal:[0,0,1],cy:.3,id:"aAHxe5UAeWUHZvvacf7DLX",frame:!0,opacity:.9,windowType:"Default",mullionColor:"#ffffff",frameWidth:.2,mullionWidth:.05,cx:-.3782051282051282,lx:.03846153846153847,archHeight:1,mullion:!0,parentId:"r7FDtsVF9isPsPhYMJtzMf",ly:.3,type:"Window",cz:-.30952380952380953,selected:!1,mullionSpacing:1,uValue:2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],tint:"#b3b3b3",locked:!0},{archHeight:1,windowType:"Default",frame:!0,normal:[0,0,1],color:"#ffffff",cy:.3,tint:"#b3b3b3",ly:.3,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionWidth:.05,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},id:"o3uqUfUSMsh6mPJ8kZKe6V",rotation:[0,0,0],mullion:!0,selected:!1,lx:.03846153846153847,uValue:2,mullionSpacing:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",sillWidth:0,frameWidth:.2,type:"Window",lz:.14285714285714285,mullionColor:"#ffffff",opacity:.9,cx:-.3782051282051282,cz:.2619047619047619,locked:!0},{sillWidth:0,frame:!0,tint:"#b3b3b3",mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,id:"ftqkfAje9vSURSKAfdGfkb",frameWidth:.2,cy:.1,lz:.14285714285714285,ly:.3,shutter:{showLeft:!1,color:"grey",width:.5,showRight:!1},lx:.03846153846153847,mullionColor:"#ffffff",cz:.2619047619047619,mullionSpacing:1,color:"#ffffff",mullionWidth:.05,normal:[0,0,1],uValue:2,type:"Window",parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,cx:-.3205128205128205,rotation:[0,0,0],archHeight:1,windowType:"Default",locked:!0},{mullionWidth:.05,opacity:.9,mullionColor:"#ffffff",type:"Window",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,selected:!1,uValue:2,color:"#ffffff",cz:.2619047619047619,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1,ly:.3,cx:-.26282051282051283,lz:.14285714285714285,rotation:[0,0,0],windowType:"Default",sillWidth:0,normal:[0,0,1],lx:.03846153846153847,frameWidth:.2,frame:!0,id:"47o8tVpT7No3q7ScC7ayfT",archHeight:1,shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},cy:.1,tint:"#b3b3b3",locked:!0},{id:"e9WgXpqUMuc4bjKV6V5giQ",cz:.2619047619047619,lx:.03846153846153847,type:"Window",cy:.1,tint:"#b3b3b3",frameWidth:.2,uValue:2,sillWidth:0,mullionWidth:.05,rotation:[0,0,0],mullionSpacing:1,ly:.3,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},normal:[0,0,1],mullionColor:"#ffffff",opacity:.9,cx:-.2051282051282051,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",windowType:"Default",lz:.14285714285714285,parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,selected:!1,frame:!0,mullion:!0,locked:!0},{lz:.14285714285714285,ly:.3,archHeight:1,cz:.2619047619047619,mullionWidth:.05,tint:"#b3b3b3",shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},mullionSpacing:1,normal:[0,0,1],cx:-.14743589743589736,id:"vWfatFM987X7DVksHURHa2",mullion:!0,rotation:[0,0,0],opacity:.9,lx:.03846153846153847,mullionColor:"#ffffff",cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,type:"Window",frame:!0,windowType:"Default",selected:!1,parentId:"r7FDtsVF9isPsPhYMJtzMf",frameWidth:.2,color:"#ffffff",locked:!0},{frameWidth:.2,type:"Window",frame:!0,mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"1JBYjadgjTeQWv6jrVmNzf",cz:.2619047619047619,normal:[0,0,1],cy:.1,cx:-.08974358974358965,rotation:[0,0,0],tint:"#b3b3b3",windowType:"Default",mullion:!0,ly:.3,uValue:2,archHeight:1,lx:.03846153846153847,lz:.14285714285714285,mullionColor:"#ffffff",color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1,sillWidth:0,opacity:.9,shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},selected:!1,locked:!0},{mullionSpacing:1,selected:!1,tint:"#b3b3b3",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",uValue:2,ly:.3,opacity:.9,frame:!0,type:"Window",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,sillWidth:0,cy:.1,cz:-.30952380952380953,rotation:[0,0,0],lz:.14285714285714285,id:"cfj3pRCVpZMJFi4BqedUfe",mullion:!0,normal:[0,0,1],mullionWidth:.05,cx:-.3205128205128205,windowType:"Default",mullionColor:"#ffffff",lx:.03846153846153847,locked:!0},{mullionColor:"#ffffff",lz:.14285714285714285,cy:.1,shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},cz:-.30952380952380953,tint:"#b3b3b3",uValue:2,color:"#ffffff",mullionWidth:.05,id:"mdRuaw8QhYk6E15WXmfncN",normal:[0,0,1],frameWidth:.2,ly:.3,frame:!0,lx:.03846153846153847,selected:!1,mullionSpacing:1,windowType:"Default",cx:-.26282051282051283,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],type:"Window",archHeight:1,opacity:.9,sillWidth:0,locked:!0},{tint:"#b3b3b3",frameWidth:.2,uValue:2,id:"55aZ17NQmYsZjj65tA9N6c",type:"Window",cy:.1,rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",color:"#ffffff",normal:[0,0,1],mullion:!0,shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},mullionColor:"#ffffff",cx:-.2051282051282051,windowType:"Default",cz:-.30952380952380953,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,opacity:.9,archHeight:1,lx:.03846153846153847,mullionSpacing:1,mullionWidth:.05,frame:!0,ly:.3,sillWidth:0,locked:!0},{type:"Window",ly:.3,windowType:"Default",cz:-.30952380952380953,sillWidth:0,frameWidth:.2,lz:.14285714285714285,archHeight:1,normal:[0,0,1],color:"#ffffff",selected:!1,lx:.03846153846153847,tint:"#b3b3b3",cx:-.14743589743589736,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.05,id:"1z5sb7DiDiWaTZ6WSGSBgP",shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},mullionSpacing:1,opacity:.9,rotation:[0,0,0],mullionColor:"#ffffff",frame:!0,cy:.1,mullion:!0,uValue:2,parentId:"r7FDtsVF9isPsPhYMJtzMf",locked:!0},{mullion:!0,cx:-.08974358974358965,tint:"#b3b3b3",mullionSpacing:1,normal:[0,0,1],sillWidth:0,lz:.14285714285714285,archHeight:1,rotation:[0,0,0],lx:.03846153846153847,frameWidth:.2,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,ly:.3,type:"Window",selected:!1,id:"1VhTxbHHBGndaZD6vgtVKW",frame:!0,opacity:.9,mullionColor:"#ffffff",mullionWidth:.05,cz:-.30952380952380953,parentId:"r7FDtsVF9isPsPhYMJtzMf",cy:.1,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},windowType:"Default",locked:!0},{lx:.03846153846153847,tint:"#b3b3b3",shutter:{showRight:!1,showLeft:!1,width:.5,color:"grey"},type:"Window",frame:!0,mullionSpacing:1,archHeight:1,sillWidth:0,cy:.3,opacity:.9,id:"xmoWZwUhtR6SFNiGKtxr1m",mullionWidth:.05,color:"#ffffff",rotation:[0,0,0],mullionColor:"#ffffff",lz:.14285714285714285,normal:[0,0,1],cx:-.3782051282051282,parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,windowType:"Default",uValue:2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",ly:.3,mullion:!0,frameWidth:.2,cz:-.023809523809523808,locked:!0},{archHeight:1,cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"r7FDtsVF9isPsPhYMJtzMf",lz:.14285714285714285,ly:.3,shutter:{showLeft:!1,width:.5,showRight:!1,color:"grey"},mullionSpacing:1,lx:.03846153846153847,selected:!1,cx:-.3205128205128205,id:"dmo2H1zYKT8Yb8BFyJx3Gz",cz:-.023809523809523808,tint:"#b3b3b3",mullionWidth:.05,normal:[0,0,1],rotation:[0,0,0],frame:!0,color:"#ffffff",type:"Window",frameWidth:.2,uValue:2,mullion:!0,mullionColor:"#ffffff",windowType:"Default",opacity:.9,sillWidth:0,locked:!0},{normal:[0,0,1],tint:"#b3b3b3",mullionWidth:.05,mullion:!0,frame:!0,uValue:2,type:"Window",rotation:[0,0,0],mullionColor:"#ffffff",mullionSpacing:1,opacity:.9,frameWidth:.2,ly:.3,parentId:"r7FDtsVF9isPsPhYMJtzMf",shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},windowType:"Default",lz:.14285714285714285,cy:.1,sillWidth:0,selected:!1,cz:-.023809523809523808,archHeight:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",lx:.03846153846153847,cx:-.26282051282051283,id:"ifqLCE1HzUvw6zh9hXdDbd",color:"#ffffff",locked:!0},{shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},cx:-.2051282051282051,parentId:"r7FDtsVF9isPsPhYMJtzMf",uValue:2,ly:.3,normal:[0,0,1],cz:-.023809523809523808,mullionWidth:.05,frame:!0,sillWidth:0,id:"gA23Z9tUz7wPHpEvmsKQF9",windowType:"Default",mullion:!0,lx:.03846153846153847,opacity:.9,type:"Window",archHeight:1,lz:.14285714285714285,rotation:[0,0,0],selected:!1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frameWidth:.2,mullionSpacing:1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",cy:.1,locked:!0},{type:"Window",frame:!0,selected:!1,uValue:2,rotation:[0,0,0],mullionSpacing:1,lx:.03846153846153847,id:"g26wC9moZKAAzi72Vpxkja",mullionColor:"#ffffff",color:"#ffffff",windowType:"Default",cy:.1,parentId:"r7FDtsVF9isPsPhYMJtzMf",cz:-.023809523809523808,sillWidth:0,ly:.3,lz:.14285714285714285,cx:-.14743589743589736,tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,frameWidth:.2,normal:[0,0,1],archHeight:1,mullionWidth:.05,mullion:!0,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,color:"#ffffff",parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"t5oxzLUUWgsBQiTqMqndt1",cz:-.023809523809523808,sillWidth:0,uValue:2,ly:.3,shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},rotation:[0,0,0],selected:!1,mullionWidth:.05,cx:-.08974358974358965,windowType:"Default",mullion:!0,mullionColor:"#ffffff",type:"Window",normal:[0,0,1],cy:.1,tint:"#b3b3b3",mullionSpacing:1,frameWidth:.2,frame:!0,archHeight:1,lx:.03846153846153847,lz:.14285714285714285,locked:!0},{mullionWidth:.05,cx:.10897435897435898,uValue:2,selected:!1,frameWidth:.2,lz:.14285714285714285,type:"Window",id:"9Xa2jX1sxCcJu9Qb6YPC2s",mullionColor:"#ffffff",opacity:.9,sillWidth:0,lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,color:"#ffffff",normal:[0,0,1],windowType:"Default",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frame:!0,cy:.3,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},mullion:!0,mullionSpacing:1,cz:-.30952380952380953,tint:"#b3b3b3",ly:.3,locked:!0},{uValue:2,frame:!0,mullionColor:"#ffffff",cy:.1,sillWidth:0,frameWidth:.2,ly:.3,shutter:{width:.5,showLeft:!1,color:"grey",showRight:!1},cz:-.30952380952380953,id:"jAuZTLVVKe7wAQ3T71wGgZ",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,opacity:.9,windowType:"Default",mullionSpacing:1,archHeight:1,normal:[0,0,1],mullion:!0,rotation:[0,0,0],lx:.03846153846153847,type:"Window",tint:"#b3b3b3",cx:.16666666666666669,lz:.14285714285714285,color:"#ffffff",locked:!0},{mullionSpacing:1,selected:!1,opacity:.9,windowType:"Default",type:"Window",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:.22435897435897442,archHeight:1,sillWidth:0,mullion:!0,tint:"#b3b3b3",lz:.14285714285714285,frameWidth:.2,normal:[0,0,1],ly:.3,mullionWidth:.05,cz:-.30952380952380953,id:"vENyYLo9ct8hNwWCaxGgh9",lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",frame:!0,shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},mullionColor:"#ffffff",color:"#ffffff",cy:.1,rotation:[0,0,0],uValue:2,locked:!0},{selected:!1,color:"#ffffff",sillWidth:0,uValue:2,cz:-.30952380952380953,shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},frame:!0,mullion:!0,mullionSpacing:1,mullionWidth:.05,normal:[0,0,1],parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"q7q4AW6uBwbJ6Cu8CRiTjs",type:"Window",tint:"#b3b3b3",ly:.3,frameWidth:.2,cy:.1,lz:.14285714285714285,rotation:[0,0,0],cx:.2820512820512821,lx:.03846153846153847,mullionColor:"#ffffff",windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",archHeight:1,opacity:.9,locked:!0},{tint:"#b3b3b3",archHeight:1,mullion:!0,cx:.33974358974358976,rotation:[0,0,0],lx:.03846153846153847,windowType:"Default",mullionSpacing:1,type:"Window",uValue:2,cy:.1,id:"93xJt2nF5KXFmbdPTBkxxA",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},mullionWidth:.05,sillWidth:0,ly:.3,color:"#ffffff",cz:-.30952380952380953,frameWidth:.2,mullionColor:"#ffffff",frame:!0,lz:.14285714285714285,opacity:.9,normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,parentId:"r7FDtsVF9isPsPhYMJtzMf",locked:!0},{normal:[0,0,1],mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",lz:.14285714285714285,selected:!1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",id:"rqxKsXtJSfhtmcVetqkrnQ",windowType:"Default",cz:-.30952380952380953,frameWidth:.2,lx:.03846153846153847,ly:.3,mullion:!0,archHeight:1,frame:!0,sillWidth:0,opacity:.9,uValue:2,cy:.1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},rotation:[0,0,0],cx:.3974358974358974,color:"#ffffff",mullionSpacing:1,mullionColor:"#ffffff",tint:"#b3b3b3",locked:!0},{shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",windowType:"Default",normal:[0,0,1],parentId:"r7FDtsVF9isPsPhYMJtzMf",rotation:[0,0,0],mullionSpacing:1,lz:.14285714285714285,mullionColor:"#ffffff",archHeight:1,mullion:!0,sillWidth:0,opacity:.9,mullionWidth:.05,cy:.3,cz:-.023809523809523808,lx:.03846153846153847,ly:.3,tint:"#b3b3b3",selected:!1,cx:.10897435897435898,id:"t5xKggUuuYXpJByLpjQCCN",frameWidth:.2,uValue:2,frame:!0,locked:!0},{color:"#ffffff",id:"3mgduhR1rZfiGxV9DxMKKp",selected:!1,cz:-.023809523809523808,tint:"#b3b3b3",frame:!0,mullionColor:"#ffffff",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,windowType:"Default",ly:.3,mullionWidth:.05,uValue:2,lx:.03846153846153847,mullionSpacing:1,lz:.14285714285714285,type:"Window",rotation:[0,0,0],normal:[0,0,1],sillWidth:0,cx:.16666666666666669,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},cy:.1,opacity:.9,archHeight:1,locked:!0},{sillWidth:0,windowType:"Default",mullionWidth:.05,uValue:2,mullionSpacing:1,id:"3iPxQ9YQqC9r3Ge6DJC5HU",selected:!1,opacity:.9,parentId:"r7FDtsVF9isPsPhYMJtzMf",shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},frame:!0,type:"Window",cy:.1,mullion:!0,ly:.3,rotation:[0,0,0],tint:"#b3b3b3",lx:.03846153846153847,color:"#ffffff",archHeight:1,normal:[0,0,1],frameWidth:.2,cz:-.023809523809523808,cx:.22435897435897442,lz:.14285714285714285,mullionColor:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",locked:!0},{opacity:.9,cy:.1,normal:[0,0,1],frameWidth:.2,id:"76oBAJjEY5VErwpM1BxmpH",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionSpacing:1,lz:.14285714285714285,ly:.3,frame:!0,mullionColor:"#ffffff",cx:.2820512820512821,sillWidth:0,lx:.03846153846153847,mullion:!0,uValue:2,archHeight:1,rotation:[0,0,0],type:"Window",tint:"#b3b3b3",selected:!1,color:"#ffffff",shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.023809523809523808,mullionWidth:.05,locked:!0},{archHeight:1,ly:.3,mullionColor:"#ffffff",mullion:!0,selected:!1,mullionWidth:.05,sillWidth:0,shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.33974358974358976,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",tint:"#b3b3b3",rotation:[0,0,0],frameWidth:.2,type:"Window",color:"#ffffff",cy:.1,cz:-.023809523809523808,opacity:.9,parentId:"r7FDtsVF9isPsPhYMJtzMf",lx:.03846153846153847,lz:.14285714285714285,frame:!0,uValue:2,id:"pPk6b2pTiBVzv3KLBQxRSg",windowType:"Default",mullionSpacing:1,normal:[0,0,1],locked:!0},{cy:.1,frame:!0,windowType:"Default",parentId:"r7FDtsVF9isPsPhYMJtzMf",sillWidth:0,selected:!1,normal:[0,0,1],archHeight:1,mullionWidth:.05,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},ly:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",rotation:[0,0,0],lx:.03846153846153847,mullionSpacing:1,tint:"#b3b3b3",color:"#ffffff",opacity:.9,lz:.14285714285714285,cz:-.023809523809523808,uValue:2,mullionColor:"#ffffff",mullion:!0,id:"dDqdERBwZJGfHxCAxg8mQc",cx:.3974358974358974,frameWidth:.2,locked:!0},{sillWidth:0,mullionWidth:.05,id:"g49obECC2D5AhNaQXqvDPp",frame:!0,mullionColor:"#ffffff",mullionSpacing:1,lz:.14285714285714285,windowType:"Default",opacity:.9,normal:[0,0,1],type:"Window",cx:.10897435897435898,rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",lx:.03846153846153847,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},mullion:!0,cy:.3,color:"#ffffff",frameWidth:.2,archHeight:1,uValue:2,ly:.3,cz:.2619047619047619,selected:!1,tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",locked:!0},{mullionSpacing:1,color:"#ffffff",parentId:"r7FDtsVF9isPsPhYMJtzMf",frameWidth:.2,lx:.03846153846153847,type:"Window",rotation:[0,0,0],lz:.14285714285714285,uValue:2,frame:!0,id:"n8XDBwufcE9UWBEg19yPpi",opacity:.9,normal:[0,0,1],mullionColor:"#ffffff",ly:.3,tint:"#b3b3b3",archHeight:1,windowType:"Default",cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},cz:.2619047619047619,selected:!1,cx:.16666666666666669,mullion:!0,mullionWidth:.05,sillWidth:0,locked:!0},{parentId:"r7FDtsVF9isPsPhYMJtzMf",color:"#ffffff",frame:!0,lx:.03846153846153847,normal:[0,0,1],mullionWidth:.05,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,cz:.2619047619047619,sillWidth:0,cx:.22435897435897442,lz:.14285714285714285,archHeight:1,type:"Window",cy:.1,mullionSpacing:1,selected:!1,mullionColor:"#ffffff",rotation:[0,0,0],ly:.3,windowType:"Default",tint:"#b3b3b3",id:"b5uBoVa6wo8VKkGWVcCau1",frameWidth:.2,opacity:.9,locked:!0},{color:"#ffffff",lx:.03846153846153847,cy:.1,type:"Window",opacity:.9,sillWidth:0,frame:!0,mullionWidth:.05,selected:!1,rotation:[0,0,0],id:"nwmp8tgXJE3t7ELMTsmseA",normal:[0,0,1],windowType:"Default",lz:.14285714285714285,cx:.2820512820512821,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},mullion:!0,ly:.3,tint:"#b3b3b3",frameWidth:.2,cz:.2619047619047619,archHeight:1,mullionSpacing:1,uValue:2,parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",locked:!0},{id:"72vvSwRX9xusD4gBvjme4x",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,frame:!0,windowType:"Default",mullionWidth:.05,cy:.1,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},sillWidth:0,normal:[0,0,1],cz:.2619047619047619,archHeight:1,frameWidth:.2,type:"Window",mullion:!0,tint:"#b3b3b3",uValue:2,lx:.03846153846153847,selected:!1,color:"#ffffff",cx:.33974358974358976,ly:.3,lz:.14285714285714285,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionColor:"#ffffff",mullionSpacing:1,locked:!0},{cy:.1,normal:[0,0,1],tint:"#b3b3b3",frame:!0,frameWidth:.2,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,cx:.3974358974358974,type:"Window",archHeight:1,windowType:"Default",lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionWidth:.05,id:"nfohs2Unqz45ioM4iNmfos",cz:.2619047619047619,mullionSpacing:1,mullion:!0,selected:!1,ly:.3,mullionColor:"#ffffff",opacity:.9,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},color:"#ffffff",rotation:[0,0,0],locked:!0},{lz:.75,type:"Window",uValue:2,frameWidth:.2,shutter:{showRight:!1,showLeft:!1,width:.5,color:"grey"},windowType:"Default",frame:!0,mullionColor:"#ffffff",rotation:[0,0,0],selected:!1,cy:.3,foundationId:"hLsewK7zX5Mau5SErFyCiz",opacity:.5,lx:.22222222222222213,mullionWidth:.06,ly:.3,tint:"#0062b1",mullionSpacing:5,id:"nCv1Ny793c5HrEnfGj93XH",archHeight:1,cx:-8635067969306777e-32,sillWidth:0,normal:[0,0,1],mullion:!0,cz:-.041666666666666664,color:"#ffffff",parentId:"kFKM2qRJFmWx323z2hBCra",locked:!0},{opacity:.5,sillWidth:0,uValue:2,tint:"#0062b1",ly:.3,type:"Window",cy:.3,cz:-.041666666666666664,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",frame:!0,windowType:"Default",archHeight:1,mullionWidth:.06,lz:.75,cx:-8635067969306777e-32,mullionColor:"#ffffff",rotation:[0,0,0],id:"5HaXS5141hpZmmNQTR28pq",color:"#ffffff",mullionSpacing:5,frameWidth:.2,mullion:!0,lx:.22222222222222213,normal:[0,0,1],shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},parentId:"16SbPgFqDMyVbV8UtDHAYk",selected:!1,locked:!0},{windowType:"Default",rotation:[0,0,0],frame:!0,lz:.75,ly:.3,cy:.3,mullionColor:"#ffffff",opacity:.5,id:"rkqdUY1fH4ETNHTSNuscn1",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",color:"#ffffff",cx:.01053672324504819,mullionWidth:.06,sillWidth:0,selected:!1,frameWidth:.2,mullion:!0,normal:[0,0,1],shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},tint:"#0062b1",cz:-.041666666666666664,uValue:2,parentId:"iVn6mF9eoYKrYt3EzDy2TC",type:"Window",archHeight:1,lx:.22222222222222213,mullionSpacing:5,locked:!0},{doorType:"Default",rotation:[0,0,0],frameColor:"#ffffff",id:"nCMdK2uZjAQvbd9xNjWLHp",filled:!0,cz:-.33695652173913043,type:"Door",ly:0,lz:.32608695652173914,normal:[0,0,1],lx:.053846153846153856,opacity:.5,archHeight:1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,textureType:"Door Texture Default",cx:.012820512820512824,color:"#009ce0",uValue:1,cy:0,locked:!0},{type:"Human",rotation:[0,0,0],lz:1.8,selected:!1,cy:-.1500000059604638,name:"Jack",cz:.30360914351979496,normal:[0,1,0],id:"3ZDfWfiHz4RyG9jjRaKJMd",parentId:"4ahnYxjJA1TN7cwGSyLftT",lx:.42,cx:-3.810198255647766,locked:!0},{selected:!1,parentId:"u7vgLv3TfTJ9G6m9VRJXKE",rotation:[0,0,0],id:"kNqFk1V3FLs1ySbp9WvM5C",cx:.5509936852391848,lx:.48,lz:1.6,cz:.6000000238418579,type:"Human",normal:[0,1,0],cy:-1.9056488848059487,name:"Jade",locked:!0},{type:"Human",selected:!1,name:"James",normal:[0,1,0],cx:13.796503677890236,lx:.472,cy:-14.701093907978901,cz:0,rotation:[0,0,0],lz:1.75,parentId:"Ground",id:"hEkECi6wTCQNNwcMymHKtW",locked:!0},{normal:[0,1,0],cz:0,name:"Jacqueline",lz:1.78,lx:.43,parentId:"Ground",id:"jkiLfuhPDQMUuLpfWnf96a",rotation:[0,0,0],cx:14.379527131239326,type:"Human",cy:-14.104111051733407,selected:!1,locked:!0},{uValue:2,ly:.3,cy:.3,cz:-.44989648033126295,lineColor:"#000000",mullionWidth:.1,archHeight:1,mullion:!0,mullionColor:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",lx:.025641025641025647,sillWidth:0,selected:!1,opacity:.5,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",windowType:"Default",cx:-.3974358974358975,id:"ey7NEkHJkJr31HLTbvLk1h",frame:!0,normal:[0,-1,0],lineWidth:.2,showLabel:!1,lz:.047619047619047616,tint:"#b3b3b3",mullionSpacing:1.25,rotation:[0,0,0],frameWidth:.05,color:"#ffffff",type:"Window",shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},locked:!0},{windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.44989648033126295,cx:-.3205128205128206,cy:.3,uValue:2,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},type:"Window",sillWidth:0,mullionWidth:.1,mullionColor:"#ffffff",archHeight:1,frame:!0,ly:.3,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.5,tint:"#b3b3b3",rotation:[0,0,0],lx:.025641025641025647,frameWidth:.05,mullionSpacing:1.25,selected:!1,color:"#ffffff",normal:[0,-1,0],mullion:!0,lz:.047619047619047616,id:"tBwi3AxHXayUK8gVkMaxbE",locked:!0},{opacity:.5,mullionWidth:.1,type:"Window",normal:[0,-1,0],archHeight:1,lz:.047619047619047616,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.44989648033126295,lx:.025641025641025647,frame:!0,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},uValue:2,parentId:"jE7DwieCwvfvkHcN1Bkpu2",rotation:[0,0,0],mullionSpacing:1.25,ly:.3,frameWidth:.05,tint:"#b3b3b3",cx:-.25641025641025644,cy:.3,sillWidth:0,selected:!1,id:"aaeq11aoNBxT8ngMjW1MD1",windowType:"Default",mullion:!0,color:"#ffffff",mullionColor:"#ffffff",locked:!0},{mullionColor:"#ffffff",lz:.047619047619047616,cx:-.19230769230769235,uValue:2,sillWidth:0,id:"tQRNuUci7nDK7JtFR1J9hs",opacity:.5,mullion:!0,cz:-.44989648033126295,windowType:"Default",lx:.025641025641025647,selected:!1,color:"#ffffff",shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,tint:"#b3b3b3",frameWidth:.05,type:"Window",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",ly:.3,frame:!0,normal:[0,-1,0],mullionWidth:.1,cy:.3,mullionSpacing:1.25,locked:!0},{mullionWidth:.15,lz:.2260869565217391,lx:.12564102564102567,uValue:2,shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},sillWidth:0,lineColor:"#000000",cy:.3,showLabel:!1,mullionSpacing:1.75,lineWidth:.2,selected:!1,color:"#ffffff",ly:.3,windowType:"Default",type:"Window",tint:"#009ce0",frame:!1,cz:-.28695652173913044,parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:-.07820512820512822,mullionColor:"#ffffff",archHeight:1,opacity:.5,rotation:[0,0,0],mullion:!0,normal:[0,-1,0],frameWidth:.1,id:"noDtXCs5Fto2dPjMS4sHTG",locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.5,id:"32Mm6Utbug2woUysRGXDB7",frameWidth:.1,mullionWidth:.15,parentId:"jE7DwieCwvfvkHcN1Bkpu2",shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},mullion:!0,mullionColor:"#ffffff",type:"Window",frame:!1,selected:!1,windowType:"Default",cy:.3,ly:.3,normal:[0,0,1],cz:-.29130434782608694,tint:"#009ce0",color:"#ffffff",lx:.1230769230769231,rotation:[0,0,0],uValue:2,cx:.10256410256410259,archHeight:1,sillWidth:0,mullionSpacing:1.75,lz:.21739130434782608,locked:!0},{lineColor:"#e9d8ba",color:"#e9d8ba",cz:0,ly:.4,parentType:"Wall",vertices:[{x:-.5007532349973239,y:-.44799999999999995},{x:-.5007532349973239,y:-.376},{y:-.376,x:.5007532349973239},{y:-.44,x:.5007532349973239}],id:"aJWE2MtRWkR9GDyeWR1Gxe",filled:!0,selected:!1,cy:-.4400430854049809,type:"Polygon",selectedIndex:0,normal:[0,0,1],lx:.4,lz:.4,cx:.15819596410925735,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",parentId:"1G9FW32uCMUYbXB7bybpze",noOutline:!0,rotation:[0,0,0],locked:!0},{filled:!0,ly:.4,cz:0,cy:0,vertices:[{x:-.5001466885671803,y:-.44},{y:-.376,x:-.5001466885671803},{y:-.376,x:.4601349534818058},{y:-.44,x:.5001466885671803}],lx:.4,noOutline:!0,cx:0,parentId:"9ULQ17PCkbiQTAk5KCBQqS",type:"Polygon",id:"cAXqDBJufU2L5v4YCuvU4k",color:"#e9d8ba",lz:.4,selected:!1,selectedIndex:3,parentType:"Wall",lineColor:"#e9d8ba",rotation:[0,0,0],foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],locked:!0},{selected:!1,opacity:0,text:"YENISEHIR BELEDIYESI BILIM SANAT MERKEZI",noOutline:!0,cy:0,fontColor:"gold",cz:0,normal:[0,0,1],cx:0,rotation:[0,0,0],foundationId:"uj4Qq2BojpeyU8mLo7xk7N",color:"#ffffff",selectedIndex:3,lx:.4,type:"Polygon",ly:.4,fontSize:.5,filled:!0,parentType:"Wall",parentId:"1G9FW32uCMUYbXB7bybpze",vertices:[{x:-.47819624166517993,y:.14},{x:-.47819624166517993,y:.18000000000000002},{y:.18000000000000002,x:.47561944404400847},{x:.47561944404400847,y:.14}],id:"ddNUh9NWyq7jo9Hii6cxUy",lz:.4,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["vEPKSnunpPsGKUDNJaGnTR","iYLfpK8sAzBxMk4mz1BXiS","joaXtauLNr5aPP2tqqpryi","1QnZb7zSPuvyzTVeC8AkVL"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j3n8P4y4kG4w4nSZiAf6rj",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"9wUwTaeJ4rHLbRCsFJ3NXZ",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["16SbPgFqDMyVbV8UtDHAYk","kmaifBj79SDvw8jCqEakPi","dMQfydvLoQmsUVh8GcfQWg","3WQQwDXPDfYCATy53ts83F"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"x4oU2GYmkiSMe4Z8gg6K3C",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"q8ctEFdUTArcnVXRSQ323h",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["tJ6f61zEL1oQGpeeCnFH2S","sCZzaqpAQeUmKwng1WHaCF","gZiomgVxY3vk4YfQ9Jjh6B","eZza9yCuyFywaPPzJVe5tY"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"o2WibZi2fR7HySSdFgPoda",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"rdXcWwV3c9y2W6N9aNo82Z",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["5KcXyJ1kNDvp5rTZsShAbX","i7SnyGKg3wpYfMg2Ck4kpZ","gv3LzTTefsaZrtK8Lzx2bM","kFKM2qRJFmWx323z2hBCra"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"hLsewK7zX5Mau5SErFyCiz",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"3gdGvLfCvyTnvdRCWnC9h9",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["eTsfM9k5RPHprx93KkShya","aMAoC9G4MpUPGJVmt36yfP","u1GLQPod2yRsFy4dWHVdVa","iVn6mF9eoYKrYt3EzDy2TC"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oGfdqtfZrLhGvZskoNeDFJ",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"ips8v5W6dhiA81cAxrdErd",locked:!0},{type:"Foundation",cx:2.2717235438998022,cy:-13.70952380378541,cz:.05,lx:.7913071632562995,ly:6.7897393900555105,lz:.1,normal:[0,0,1],rotation:[0,0,.7770205829878756],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"mjxy5YL3EoKusPrE4miGfp",notBuilding:!0,locked:!0},{type:"Wall",cx:-.20459827817487655,cy:-1.7122028473101976,cz:0,lx:1.6908062651709903,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:-1.5707963267948972,leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[-.20459827817487694,-2.5576059798956927,0],leftJoints:["9LP2kDJGn2neiYDzDX66JW"],rightJoints:["kVBpA22r7rMwMak56bdzNG"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"kAomEduDnbZXe9fMR2J4vS",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:1.4200281664406509,rightRoofHeight:.8626045741320808,centerRoofHeight:[-.5,1.9880394330169113],locked:!0},{type:"Wall",cx:.011903976174146291,cy:-2.5576059798956923,cz:1.5186399018658703,lx:.43300450869804646,ly:.3,lz:.8626045741320808,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.0372798037317406,rightTopPartialHeight:3.0372798037317406,relativeAngle:30767985154612743e-31,leftPoint:[-.20459827817487694,-2.5576059798956927,0],rightPoint:[.22840623052316952,-2.5576059798956914,0],leftJoints:["kAomEduDnbZXe9fMR2J4vS"],rightJoints:["xrMk4ZTC1gwLZELF3Hm4PW"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"kVBpA22r7rMwMak56bdzNG",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:.8626045741320808,rightRoofHeight:.8626045741320808,locked:!0},{type:"Wall",cx:.22840623052316894,cy:-1.7122028473101973,cz:0,lx:1.690806265170988,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:1.5707963267948974,leftPoint:[.22840623052316952,-2.5576059798956914,0],rightPoint:[.22840623052316833,-.8667997147247033,0],leftJoints:["kVBpA22r7rMwMak56bdzNG"],rightJoints:["9LP2kDJGn2neiYDzDX66JW"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"xrMk4ZTC1gwLZELF3Hm4PW",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:.8626045741320808,rightRoofHeight:1.4200281664406509,centerRoofHeight:[.5,1.9880394330169113],locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:3.1415926535897913,leftPoint:[.22840623052316833,-.8667997147247033,0],rightPoint:[-.20459827817487616,-.8667997147247025,0],leftJoints:["xrMk4ZTC1gwLZELF3Hm4PW"],rightJoints:["kAomEduDnbZXe9fMR2J4vS"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"9LP2kDJGn2neiYDzDX66JW",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:1.9880394330169113,rightRoofHeight:1.9880394330169113,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5680112665762603,thickness:.1,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Gable",roofStructure:"Default",wallsId:["kVBpA22r7rMwMak56bdzNG"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"vX75xVcns2UiTk795WQxu9",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],locked:!0},{type:"Wall",cx:-.20459827817487508,cy:1.0250055239867875,cz:0,lx:3.7836104774229744,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-1.5707963267948963,leftPoint:[-.20459827817487566,2.9168107626982747,0],rightPoint:[-.20459827817487453,-.8667997147247,0],leftJoints:["hb7Tux4vCn6v5A6JnAifhr"],rightJoints:["ji3RWSoHzqrqxaW2CNta4W"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"wwL7bfAKTRXceXoVXbnQe9",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:-.005847552410961521,cy:2.9252948707181776,cz:0,lx:.3978634493419871,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-3.09893137333499,leftPoint:[.19290317335295262,2.93377897873808,0],rightPoint:[-.20459827817487566,2.9168107626982747,0],leftJoints:["33r7faucqj1HNFffUsMqbr"],rightJoints:["wwL7bfAKTRXceXoVXbnQe9"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"hb7Tux4vCn6v5A6JnAifhr",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:.21065470193806246,cy:1.0334896320066904,cz:0,lx:3.800744515522147,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:1.580137542273405,leftPoint:[.22840623052317233,-.8667997147246993,0],rightPoint:[.19290317335295262,2.93377897873808,0],leftJoints:["ji3RWSoHzqrqxaW2CNta4W"],rightJoints:["hb7Tux4vCn6v5A6JnAifhr"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"33r7faucqj1HNFffUsMqbr",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-17947991340190846e-31,leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[.22840623052316833,-.8667997147247033,0],leftJoints:["wwL7bfAKTRXceXoVXbnQe9"],rightJoints:["33r7faucqj1HNFffUsMqbr"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"ji3RWSoHzqrqxaW2CNta4W",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.1,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["ji3RWSoHzqrqxaW2CNta4W","33r7faucqj1HNFffUsMqbr","hb7Tux4vCn6v5A6JnAifhr","wwL7bfAKTRXceXoVXbnQe9"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"sFQv2f1u7oD1ozyFQA6CvB",locked:!0},{type:"Wall",cx:-.20459827817487655,cy:-1.7122028473101976,cz:0,lx:1.6908062651709903,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["kQgqBbuoJMHBFT8g1JN1tC"],rightJoints:["3c6cWYJDLKfbWoov8rSetU"],leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[-.20459827817487694,-2.5576059798956927,0],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"hQDTYviozPxCLRiuoq8YbP",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:1.4200281664406509,rightRoofHeight:.8626045741320808,centerRoofHeight:[-.5,1.9880394330169113],selected:!1,locked:!0},{type:"Wall",cx:.011903976174146291,cy:-2.5576059798956923,cz:1.5186399018658703,lx:.43300450869804646,ly:.3,lz:.8626045741320808,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.0372798037317406,rightTopPartialHeight:3.0372798037317406,leftJoints:["hQDTYviozPxCLRiuoq8YbP"],rightJoints:["3SCoUPNSFfffHGPmvk8DUC"],leftPoint:[-.20459827817487694,-2.5576059798956927,0],rightPoint:[.22840623052316952,-2.5576059798956914,0],relativeAngle:30767985154612743e-31,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"3c6cWYJDLKfbWoov8rSetU",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:.8626045741320808,rightRoofHeight:.8626045741320808,selected:!1,locked:!0},{type:"Wall",cx:.22840623052316894,cy:-1.7122028473101973,cz:0,lx:1.690806265170988,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["3c6cWYJDLKfbWoov8rSetU"],rightJoints:["kQgqBbuoJMHBFT8g1JN1tC"],leftPoint:[.22840623052316952,-2.5576059798956914,0],rightPoint:[.22840623052316833,-.8667997147247033,0],relativeAngle:1.5707963267948974,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"3SCoUPNSFfffHGPmvk8DUC",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:.8626045741320808,rightRoofHeight:1.4200281664406509,centerRoofHeight:[.5,1.9880394330169113],selected:!1,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["3SCoUPNSFfffHGPmvk8DUC"],rightJoints:["hQDTYviozPxCLRiuoq8YbP"],leftPoint:[.22840623052316833,-.8667997147247033,0],rightPoint:[-.20459827817487616,-.8667997147247025,0],relativeAngle:3.1415926535897913,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"kQgqBbuoJMHBFT8g1JN1tC",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:1.9880394330169113,rightRoofHeight:1.9880394330169113,selected:!1,locked:!0},{id:"bi1wbzAS6GmbpEfuCH6pB4",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5680112665762603,color:"#ffffff",rValue:2,ceilingRValue:2,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["3c6cWYJDLKfbWoov8rSetU"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,locked:!0},{type:"Wall",cx:-.20459827817487508,cy:1.0250055239867875,cz:0,lx:3.7836104774229744,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["oo7zYTZq5M8KXcmw8fK7tD"],rightJoints:["ij5SdFExjnoBJBDeaF2ioW"],leftPoint:[-.20459827817487566,2.9168107626982747,0],rightPoint:[-.20459827817487453,-.8667997147247,0],relativeAngle:-1.5707963267948963,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"uizhgrZpeyc2KYB1TvZ5Nf",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:-.005847552410961521,cy:2.9252948707181776,cz:0,lx:.3978634493419871,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["mgWkbY4DegHxFAvRa9Bw4F"],rightJoints:["uizhgrZpeyc2KYB1TvZ5Nf"],leftPoint:[.19290317335295262,2.93377897873808,0],rightPoint:[-.20459827817487566,2.9168107626982747,0],relativeAngle:-3.09893137333499,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"oo7zYTZq5M8KXcmw8fK7tD",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:.21065470193806246,cy:1.0334896320066904,cz:0,lx:3.800744515522147,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["ij5SdFExjnoBJBDeaF2ioW"],rightJoints:["oo7zYTZq5M8KXcmw8fK7tD"],leftPoint:[.22840623052317233,-.8667997147246993,0],rightPoint:[.19290317335295262,2.93377897873808,0],relativeAngle:1.580137542273405,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"mgWkbY4DegHxFAvRa9Bw4F",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["uizhgrZpeyc2KYB1TvZ5Nf"],rightJoints:["mgWkbY4DegHxFAvRa9Bw4F"],leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[.22840623052316833,-.8667997147247033,0],relativeAngle:-17947991340190846e-31,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"ij5SdFExjnoBJBDeaF2ioW",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{id:"8m9Vi16SPU3YiAzGyrbieq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,color:"#ffffff",rValue:2,ceilingRValue:2,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["ij5SdFExjnoBJBDeaF2ioW","mgWkbY4DegHxFAvRa9Bw4F","oo7zYTZq5M8KXcmw8fK7tD","uizhgrZpeyc2KYB1TvZ5Nf"],selected:!1,locked:!0},{type:"Foundation",cx:11.311392901943481,cy:-4.7142040538495555,cz:.05,lx:.7913071632562995,ly:6.7897393900555105,lz:.1,normal:[0,0,1],rotation:[0,0,.7770205829878756],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"qRkMdipDNgMrnuysUddPgu",selected:!1,notBuilding:!0,locked:!0},{type:"Door",cx:-.11315789473684208,cy:0,cz:-.06153846153846153,lx:.6894736842105263,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"joaXtauLNr5aPP2tqqpryi",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"keZr7qBSZM6JD1wUNN3RrV",interior:!0,locked:!0},{type:"Door",cx:.12368421052631581,cy:0,cz:-.06538461538461539,lx:.668421052631579,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"kmaifBj79SDvw8jCqEakPi",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"vp6vHpvNfTH54o1tThWij3",interior:!0,locked:!0},{type:"Door",cx:-.2611111111111111,cy:0,cz:-.030769230769230764,lx:.3000000000000001,ly:0,lz:.9384615384615385,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"dMQfydvLoQmsUVh8GcfQWg",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"b4ReFVnndEjjEwadJrJfnm",interior:!0,locked:!0},{type:"Door",cx:.2277777777777778,cy:0,cz:-.03461538461538463,lx:.3666666666666666,ly:0,lz:.9307692307692308,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"iYLfpK8sAzBxMk4mz1BXiS",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"wa145FYVqDahTu1KJYV3LK",interior:!0,locked:!0},{type:"Door",cx:.12368421052631574,cy:0,cz:-.06538461538461539,lx:.6684210526315789,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"sCZzaqpAQeUmKwng1WHaCF",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"1r7udrYyCT7hkUCv5siuDw",locked:!0},{type:"Door",cx:-.12368421052631574,cy:0,cz:-.06538461538461539,lx:.6684210526315789,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gv3LzTTefsaZrtK8Lzx2bM",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"vASnwHDvzPR9avU565RVbd",locked:!0},{type:"Door",cx:.26111111111111107,cy:0,cz:-.042307692307692296,lx:.29999999999999993,ly:0,lz:.9153846153846155,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"i7SnyGKg3wpYfMg2Ck4kpZ",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"ewo4SkBBdDL4Dgy9tWDw9P",locked:!0},{type:"Door",cx:-.26111111111111107,cy:0,cz:-.042307692307692296,lx:.2999999999999998,ly:0,lz:.9153846153846155,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gZiomgVxY3vk4YfQ9Jjh6B",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"7HwzJtGpVjcSG4pVEZX7yq",locked:!0},{type:"Door",cx:-.10744643820625929,cy:0,cz:-.06153846153846153,lx:.6583928464374896,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"u1GLQPod2yRsFy4dWHVdVa",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"kmWJjPpjeytKavWK96TyyH",locked:!0},{type:"Door",cx:44664000438593557e-33,cy:0,cz:-.038461538461538464,lx:.8390809794142997,ly:0,lz:.9230769230769231,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"aMAoC9G4MpUPGJVmt36yfP",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"hMEcTxQ4NT4QbuYeBXMCEV",locked:!0},{type:"Door",cx:.13912500749375725,cy:0,cz:-.06153846153846153,lx:.5950357078624938,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"eTsfM9k5RPHprx93KkShya",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"vbLxh8TTREuj8zv66LqoAM",locked:!0},{type:"Door",cx:-.2823529411764706,cy:0,cz:-.010869565217391304,lx:.38823529411764707,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"vqP69iA4TuZd8ZEvPBLjzU",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"vbUoZmBsuZRXzK6QXsDYtV",locked:!0},{type:"Door",cx:.2823529411764706,cy:0,cz:-.010869565217391304,lx:.38823529411764707,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"vqP69iA4TuZd8ZEvPBLjzU",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"fknzp5TF4y6Z2JezdMmUnw",locked:!0},{type:"Door",cx:-.46282051282051284,cy:0,cz:-.004347826086956506,lx:.053846153846153884,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"62KCpUdkhCRr3ExkPE3Sd1",locked:!0},{type:"Door",cx:.458974358974359,cy:0,cz:-.004347826086956506,lx:.061538461538461424,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"oHCJ27NVx4XbdXZVcpvNo5",locked:!0},{type:"Door",cx:-.4615384615384616,cy:0,cz:-.004347826086956506,lx:.056410256410256404,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"3deR2pFWoANWBbeogtfdY4",locked:!0},{type:"Door",cx:.2823529411764706,cy:0,cz:-.0017278291556811246,lx:.3882352941176471,ly:0,lz:.9965443416886377,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"6bfpYPQw2M5RbKRsLfDauC",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"nAw5K9QrWgALjVNPKgbC1o",locked:!0},{type:"Door",cx:-.2823529411764706,cy:0,cz:-.010869565217391304,lx:.3882352941176471,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"6bfpYPQw2M5RbKRsLfDauC",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"kNSEPx2oK4SSg7KeM6Ty8x",locked:!0},{type:"Door",cx:.46282051282051284,cy:0,cz:-.010869565217391304,lx:.053846153846153884,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"5UP5zCx3iEA1h5gxGrabow",locked:!0},{type:"Door",cx:.00641025641025641,cy:0,cz:-.010869565217391304,lx:.11538461538461539,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"nd9aBdZVvLyLxm6LSWmReW",locked:!0},{type:"Window",cx:19.271100620021265,cy:-4.54768812158822,cz:12.260904466364499,lx:2.748705948983199,ly:.2,lz:6.901186917106701,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872453,0,2220446049250313e-31],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"5kDW9Ug8bkdf5i9qjLd7bj",locked:!0},{type:"Window",cx:19.227858803067697,cy:4.981211897402677,cz:12.264615427486488,lx:2.8786302292092456,ly:.2,lz:6.844179828287683,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872476,0,3.141592653589793],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"oxL6YVVCiXau1r4WQuSjxn",locked:!0},{type:"Window",cx:-17.18252886122661,cy:-4.622268332707515,cz:12.249668970719181,lx:2.2316030028692726,ly:.2,lz:6.893564122242849,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872476,0,2220446049250313e-31],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"rqUXFDFwX2z3bbGtXfBcfd",locked:!0},{type:"Window",cx:-17.11075110661269,cy:5.168142143612845,cz:12.236454418879077,lx:2.3271871087906195,ly:.2,lz:6.844860410467514,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.1495254111987243,0,3.1415926535897936],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"qAswaYhvWDiHawY6iYvLWG",locked:!0}],Wmn=90,Nmn={yearlyLightSensorPanelRect:{height:500,width:600,x:0,y:0},showYearlyParabolicDishYieldPanel:!1,showDesignInfoPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showInstructionPanel:!0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},dailyPvYieldPanelRect:{x:0,height:400,width:600,y:0},yearlyLightSensorPanelShowDaylight:!1,cameraPosition:[28.761610676892403,-33.63667545263391,8.036616917846569],yearlyPvYieldPanelX:0,showDailyHeliostatYieldPanel:!1,solarRadiationHeatMapMaxValue:3,showDailyPvYieldPanel:!1,showSunAngles:!1,yearlyParabolicDishYieldPanelY:0,showYearlyPvYieldPanel:!1,yearlyParabolicDishYieldPanelRect:{width:600,y:0,height:400,x:0},mapZoom:19,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,yearlyPvYieldPanelY:0,dailyHeliostatYieldPanelY:0,showYearlyBuildingEnergyPanel:!1,mapWeatherStations:!1,stickyNotePanelX:0,dailyPvYieldPanelY:0,dailyFresnelReflectorYieldPanelY:0,yearlyHeliostatYieldPanelX:0,cameraZoom:18.050000000000008,yearlyParabolicTroughYieldPanelY:0,yearlyPvYieldPanelRect:{width:600,height:400,x:0,y:0},theme:"Default",dailyLightSensorPanelRect:{height:360,y:0,width:600,x:0},dailyFresnelReflectorYieldPanelRect:{x:0,height:400,width:600,y:0},heatFluxColor:"gray",showYearlyFresnelReflectorYieldPanel:!1,solarPanelShininess:100,mapType:"roadmap",yearlyParabolicTroughYieldPanelX:0,cameraPosition2D:[9.356963094823977,-6.143696261834446,150],showDailyLightSensorPanel:!1,weatherPanelX:0,yearlyFresnelReflectorYieldPanelX:0,visibilityResultsPanelRect:{x:0,height:470,y:0,width:600},showDailyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelRect:{width:600,height:400,y:0,x:0},showHeliodonPanel:!1,windowShininess:200,yearlyLightSensorPanelY:0,dailyParabolicDishYieldPanelY:0,panCenter2D:[9.356963094823977,-6.142695884375581,-7053447453632921e-21],dailyHeliostatYieldPanelX:0,showWeatherPanel:!1,heliodonPanelY:0,yearlyParabolicDishYieldPanelX:0,mapPanelX:0,dailyPvYieldPanelX:0,weatherPanelY:0,showMapPanel:!1,stickyNotePanelY:0,yearlyHeliostatYieldPanelY:0,groundImage:!0,dailyHeliostatYieldPanelRect:{y:0,x:0,height:400,width:600},panCenter:[-1.9927664106999077,1.50952086360681,5.064941130407551],showYearlyLightSensorPanel:!1,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,ambientLightIntensity:.1,showSolarPanelVisibilityResultsPanel:!1,mapPanelY:0,dailyParabolicDishYieldPanelX:0,orthographic:!1,showElevationAngle:!0,dailyParabolicTroughYieldPanelY:0,axes:!0,showStickyNotePanel:!1,heliodon:!1,yearlyLightSensorPanelShowClearness:!1,yearlyLightSensorPanelX:0,dailyUpdraftTowerYieldPanelRect:{height:550,y:0,x:0,width:640},yearlyFresnelReflectorYieldPanelY:0,mapTilt:0,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelX:0,showDailyFresnelReflectorYieldPanel:!1,showEconomicsPanel:!1,showAzimuthAngle:!0,dailyLightSensorPanelY:0,showDailyUpdraftTowerYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,enableRotate:!0,diurnalTemperaturePanelRect:{width:600,x:0,y:0,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,height:400,width:600,y:0},waterSurface:!1,showZenithAngle:!0,evolutionPanelRect:{y:0,width:640,height:400,x:0},showYearlyUpdraftTowerYieldPanel:!1,shadowEnabled:!0,yearlyFresnelReflectorYieldPanelRect:{height:400,y:0,width:600,x:0},yearlyHeliostatYieldPanelRect:{width:600,x:0,height:400,y:0},showDiurnalTemperaturePanel:!1,autoRotate:!1,solarRadiationHeatMapReflectionOnly:!1,heliodonPanelX:0,groundColor:"#16A5A5",heatFluxScaleFactor:20,heatFluxWidth:.5,showSiteInfoPanel:!0,dailyFresnelReflectorYieldPanelX:0,yearlyUpdraftTowerYieldPanelRect:{height:400,x:0,y:0,width:600},weatherPanelRect:{width:500,height:500,x:0,y:0},visibilityResultsPanelX:0,showDailyParabolicTroughYieldPanel:!1,showEvolutionPanel:!1,showYearlyHeliostatYieldPanel:!1,groundImageType:"roadmap"},Umn={dailyParabolicTroughIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyPvIndividualOutputs:!1},Bmn=1,jmn={rowsPerRack:1,tiltAngle:0,poleHeight:1,rowAxis:"Zonal",orientation:"Landscape",pvModelName:"SPR-X21-335-BLK",interRowSpacing:2,poleSpacing:3},Ymn={maximumInterRowSpacing:10,pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,poleHeight:1,rowAxis:"Zonal",maximumRowsPerRack:6,poleSpacing:5,minimumInterRowSpacing:2,maximumTiltAngle:1.5707963267948966,minimumRowsPerRack:1,orientation:"Landscape"},Omn={particleSwarmOptimizationParams:{objectiveFunctionType:1,inertia:.8,searchMethod:1,maximumSteps:5,vmax:.01,cognitiveCoefficient:.1,swarmSize:20,socialCoefficient:.1,convergenceThreshold:.01,problem:"Solar Panel Tilt Angle",localSearchRadius:.1},geneticAlgorithmParams:{convergenceThreshold:.01,problem:"Solar Panel Tilt Angle",mutationRate:.1,maximumGenerations:5,selectionMethod:1,localSearchRadius:.1,searchMethod:1,populationSize:20,crossoverRate:.5,objectiveFunctionType:1,selectionRate:.5}},_mn={electricitySellingPrice:.25,operationalCostPerUnit:.15,projectLifeSpan:25},Vmn="School Building",Gmn="The Architect",Xmn="Yenişehir Belediyesi Bilim ve Sanat Merkezi",Jmn="Mersin Yenişehir Belediyesi BİLSEM",Kmn=[],qmn={docid:Mmn,time:Imn,timestamp:zmn,userid:Dmn,owner:Emn,email:kmn,world:Fmn,elements:Lmn,sceneRadius:Wmn,view:Nmn,graphState:Umn,evolutionMethod:Bmn,solarPanelArrayLayoutParams:jmn,solarPanelArrayLayoutConstraints:Ymn,evolutionaryAlgorithmState:Omn,economicsParams:_mn,modelType:Vmn,modelAuthor:Gmn,modelLabel:Xmn,modelDescription:Jmn,notes:Kmn},$mn="tM5fjWZLVef6uQTttZQufM",Qmn="11/13/2022 07:15 pm",Zmn=1668384959038,eyn="QWecNcxhyvP6j6sBN11hBsfZDau1",tyn=null,nyn=null,oyn={name:"default",date:"6/22/2022 4:00:00 PM",longitude:-110.9747108,latitude:32.2226066,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Tucson, AZ, USA",timesPerHour:20,orthographic:!1,cameraZoom:15.475618749999999,solarRadiationHeatmapGridCellSize:2,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},iyn=[{cz:.10000000074506517,id:"2gPWTJVs8iqE6rVTtrnnd8",name:"Julio",normal:[0,1,0],cy:-19.528888002511724,type:"Human",cx:13.490029797984572,rotation:[0,0,0],selected:!1,parentId:"Ground",lx:.5,ly:.42,lz:1.76},{ly:17.026616933032848,cy:-19.859023165912554,cz:.05,lz:.1,selected:!1,lx:36.16252356452459,type:"Foundation",id:"dqxcN6K9GVQLtZRykzonbS",cx:.03966683604024013,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #2"},{normal:[0,0,1],type:"Tree",rotation:[0,0,0],lx:4,cx:-23.993252440580314,id:"ibv7qyFAZNTUiSKfRnG81J",cz:-8881784197001252e-31,selected:!1,cy:-7.809220875702906,lz:10,name:"Birch",parentId:"Ground"},{selected:!1,poleSpacing:4,lz:.046,cy:-.023651645489680885,drawSunBeam:!0,poleRadius:.05,label:"Solar Panel",ly:3.12,lx:20.99,rotation:[0,0,0],type:"Solar Panel",tiltAngle:.05235987755982989,poleHeight:2.5,normal:[0,0,1],orientation:"Portrait",cz:.5000000074505628,relativeAzimuth:0,cx:-.14046178216409752,showLabel:!1,id:"kLwberNeAuQDEs45xghUMw",trackerType:"None",parentId:"dqxcN6K9GVQLtZRykzonbS",foundationId:"dqxcN6K9GVQLtZRykzonbS",pvModelName:"SPR-X21-335-BLK"},{id:"5wtQcSRJfXRx7dRi95EJjx",cy:-17.66536908075935,type:"Human",rotation:[0,0,0],cz:.10000000074505806,selected:!1,cx:7.100228690010481,normal:[0,1,0],name:"Jade",parentId:"Ground",lx:.48,ly:.48,lz:1.6},{cx:-23.340488252107782,cz:0,id:"tJeB5NfeXNiu4x7bJzUo9c",selected:!1,rotation:[0,0,0],lz:4.164962493910564,name:"Apple",normal:[0,0,1],type:"Tree",lx:4.059299397551073,cy:-22.87864367350907,parentId:"Ground"},{type:"Human",name:"Jedi",id:"wizaQCLaDPXxAgvgzpYzE5",cy:-26.52645438589241,rotation:[0,0,0],cx:-20.391856797710087,selected:!1,cz:-7105427357601002e-30,normal:[0,1,0],parentId:"Ground",lx:.56,ly:.56,lz:1.75},{name:"Jocelyn",rotation:[0,0,0],cz:-9833932535276902e-30,cx:-5.594678028642042,type:"Human",normal:[0,1,0],id:"8gaXxvd41d1wtkBveac2iT",cy:-24.46034584888105,selected:!1,parentId:"Ground",lx:.4,ly:.6,lz:1.72},{selected:!1,rotation:[0,0,0],id:"tSCfpjZEaf2LdYnKVymp8f",cx:-24.035139369880795,cy:-11.60375573934435,normal:[0,1,0],cz:8881784197001252e-31,name:"Judd",type:"Human",parentId:"Ground",lx:.544,ly:.544,lz:1.68},{type:"Human",cy:-26.346953604384606,name:"Jeff",normal:[0,1,0],selected:!1,cx:-14.95104385552803,cz:.10000000074506517,rotation:[0,0,0],id:"649JwdxAWZ8uAmjtuwCu7m",parentId:"Ground",lx:.6,ly:.6,lz:1.65},{id:"v8yuSV55idFvdSiztzVfkc",cz:.10000000074506517,type:"Human",normal:[0,1,0],selected:!1,cy:-25.080741421179635,cx:-1.3149126517891083,rotation:[0,0,0],name:"Joey",parentId:"Ground",lx:.462,ly:.695,lz:1.72},{type:"Tree",name:"Linden",cx:30.437792865488664,cy:-17.386067284775812,cz:-7105427357601002e-30,lx:23,lz:17,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rWrzivW4afibFuZheu2ZqV",selected:!1},{type:"Tree",name:"Birch",cx:-23.798739662505156,cy:3.0810007914333255,cz:0,lx:4,lz:10,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rd1CFzdzbUa21QJwgHv8cP",selected:!1},{type:"Cuboid",cx:-.09692665761748831,cy:-.09694518863336476,cz:10.01793918410506,lx:36.06261166884342,ly:21.672025065737824,lz:18.410192174768163,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["Facade #10","Facade #10","Facade #10","Facade #10","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"aj9AkMLHmiC7fiuGVPs4H7",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-12.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"oHeGQDazJuZsZxKRzGGPDD",selected:!1},{type:"Flower",name:"Hydrangea",cx:-10.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"n7tcVJNYuVeGnjeGQXZtpb",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-8.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"jY9Y4Lm3QMDVY6ThY32QL6",selected:!1},{type:"Flower",name:"Hydrangea",cx:-6.881082445822569,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"ijsBYLU6Xgn2UahtDbM3ax",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-4.881082445822569,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"aMGVaSDxGidE4hAekjvzp1",selected:!1},{type:"Flower",name:"Hydrangea",cx:-2.8810824458225692,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"jNS7CLQtTgERjMBryrJy3f",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-.8810824458225692,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"m5iTV6jNY7ctTerZ1zT3mN",selected:!1},{type:"Flower",name:"Hydrangea",cx:1.1189175541774308,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"obmBrYQNng1HztDQMhFTdF",selected:!1},{type:"Flower",name:"Yellow Flower",cx:3.1189175541774308,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"bX5gWjKNUmXEpNE3CSVo5i",selected:!1},{type:"Flower",name:"Hydrangea",cx:5.118917554177431,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"e1T6XS94X1vuZYnmBeSzv3",selected:!1},{type:"Tree",name:"Birch",cx:-23.930414200652432,cy:-2.885662218323219,cz:8881784197001252e-31,lx:4,lz:10,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"jDrfaAvoEqu7y5suMRTWYc",selected:!1}],ryn={shadowEnabled:!0,showYearlyLightSensorPanel:!1,showStickyNotePanel:!1,mapTilt:0,showSiteInfoPanel:!0,showHeliodonPanel:!1,stickyNotePanelX:6,groundColor:"forestgreen",showWeatherPanel:!1,showDailyLightSensorPanel:!1,heliodonPanelX:-1235,weatherPanelX:0,groundImage:!1,autoRotate:!1,axes:!0,weatherPanelY:0,groundPanelX:0,theme:"Forest",mapWeatherStations:!1,mapType:"roadmap",yearlyLightSensorPanelY:70,mapZoom:16,stickyNotePanelY:0,showGroundPanel:!1,heliodonPanelY:7,yearlyLightSensorPanelX:-905,dailyLightSensorPanelY:15,heliodon:!1,dailyLightSensorPanelX:-19,groundPanelY:0,showMapPanel:!1,cameraPosition:[-16.291066490441285,-43.009068926241156,5.496187293258948],panCenter:[2.1268141574348576,-9.161736732265924,5.496187293258948],orthographic:!1,enableRotate:!0,cameraZoom:12.604988194492185,showInstructionPanel:!0,cameraPosition2D:[4.203619393633803,-8.791827721460434,49.9999912078788],panCenter2D:[4.203619393633803,-8.791777719248431,16660811664248792e-22]},ayn=1,lyn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},syn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},cyn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},uyn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},dyn=[""],fyn={docid:$mn,time:Qmn,timestamp:Zmn,userid:eyn,owner:tyn,email:nyn,world:oyn,elements:iyn,view:ryn,evolutionMethod:ayn,solarPanelArrayLayoutParams:lyn,solarPanelArrayLayoutConstraints:syn,evolutionaryAlgorithmState:cyn,economicsParams:uyn,notes:dyn},hyn="i1UYg29b6kEuhDLMCMNpP5",pyn="11/13/2022 07:17 pm",gyn=1668385042826,myn="QWecNcxhyvP6j6sBN11hBsfZDau1",yyn=null,Ayn=null,wyn={longitude:-71.0588801,timesPerHour:20,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},name:"default",orthographic:!1,date:"6/22/2022 2:00:00 PM",latitude:42.3600825,address:"Boston, MA, USA",cameraZoom:15.475618749999999,solarRadiationHeatmapGridCellSize:2,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},vyn=[{selected:!1,cz:8.856282232714092,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],ly:33.93664889246779,rotation:[0,0,-.0032691065367469463],parentId:"Ground",color:"#ffffff",locked:!0,textureTypes:["Facade #6","Facade #6","Facade #6","Facade #6","No Facade Texture","No Facade Texture"],normal:[0,0,1],lx:13.425069388064955,cx:-6.488470028429835,lz:17.712564465428184,type:"Cuboid",cy:.019620316414646233,id:"aj9AkMLHmiC7fiuGVPs4H7"},{ly:21.367362944163304,parentId:"Ground",textureType:"Foundation Texture #5",id:"nkyNmQGMpysyBAzvoXacg4",normal:[0,0,1],cz:.15,cy:-.6842314918166474,rotation:[0,0,0],locked:!0,selected:!1,cx:7.741690731109698,lx:8.748703583308991,type:"Foundation",lz:.3},{cz:.10000000074505806,normal:[0,1,0],cx:8.66688372110198,cy:-13.746548548931791,type:"Human",parentId:"Ground",rotation:[0,0,0],id:"4Vzhap6VgrCQ5NTbMiLqko",name:"Jacqueline",selected:!1,lx:.43,ly:.6,lz:1.78},{lz:18,id:"68fHvB4gguggDahyWhJ4SX",rotation:[0,0,0],locked:!0,parentId:"Ground",type:"Tree",normal:[0,1,0],lx:20,cz:.10000000074505806,cx:13.623011710923919,selected:!1,name:"Oak",cy:12.95292752972638},{textureType:"Foundation Texture #1",rotation:[0,0,0],normal:[0,0,1],id:"mB2npz1re5TLiTmp6dijK4",selected:!1,cz:.25,parentId:"Ground",lz:.5,cy:-.6991379361374314,locked:!0,lx:.5880095062712664,type:"Foundation",ly:22.361419422277052,cx:12.378216846473736},{textureType:"Foundation Texture #1",lz:.5,lx:8.699592487769063,cx:7.739060103053577,normal:[0,0,1],id:"6VQra4naAQFjguzsdBbGzc",selected:!1,ly:.5266260617381799,locked:!0,cz:.25,rotation:[0,0,0],parentId:"Ground",cy:-11.625239464321695,type:"Foundation"},{cx:7.752694722563858,parentId:"Ground",cz:.25,lz:.5,normal:[0,0,1],id:"56rJdSeQkFjNtFMq7H6UpX",textureType:"Foundation Texture #1",lx:8.679570997286799,type:"Foundation",selected:!1,rotation:[0,0,0],cy:10.194687286684449,ly:.5386483210241274},{id:"eU9g8aGc26unxecmNefMbn",locked:!0,cx:3.0473373691290284,lz:.5,type:"Foundation",normal:[0,0,1],cz:.25,parentId:"Ground",selected:!1,rotation:[0,0,0],ly:22.40023737998388,lx:.7052822924117278,textureType:"Foundation Texture #1",cy:-.7141009093628288},{parentId:"Ground",type:"Human",normal:[0,1,0],selected:!1,cy:-13.302409805647457,name:"June",id:"sRkZkptRmoDxYpUWxicUE2",cx:10.066230625457528,cz:.10000000074505806,rotation:[0,0,0],lx:.65,ly:.65,lz:1.85},{type:"Human",id:"27tFcVkJUEjzAmNC6yi8q6",name:"Jedi",cy:-17.39224604987067,rotation:[0,0,0],parentId:"Ground",cx:11.172877256337918,cz:.10000000074505806,normal:[0,1,0],selected:!1,lx:.56,ly:.56,lz:1.75},{cx:14.572429350273456,cz:.10000000074505762,rotation:[0,0,0],cy:-12.024223980842134,selected:!1,normal:[0,1,0],name:"Jose",parentId:"Ground",type:"Human",id:"h7GsvzmZmQv6Lgxa5TK46V",lx:2,ly:2,lz:1.6},{lx:5,parentId:"Ground",id:"at3dF6SQoavQM2mWXfaQoH",cz:.10000000074505895,rotation:[0,0,0],cy:21.229675112263504,normal:[0,1,0],type:"Tree",cx:1.973403675763489,locked:!0,lz:12,name:"Pine",selected:!1},{textureType:"Foundation Texture #2",id:"6gVMaHq7VLa19eqMVECxpG",ly:52.39119915791477,cz:.05,selected:!1,cx:-.6875232985680384,parentId:"Ground",locked:!0,type:"Foundation",rotation:[0,0,0],cy:2.56875991707771,normal:[0,0,1],lz:.1,lx:37.85599614878349},{cx:7.643885747803793,selected:!1,locked:!0,id:"h8TwAvSyLwtPBvqze5mwzf",lz:9,type:"Tree",cy:-21.507259849637833,parentId:"Ground",rotation:[0,0,0],cz:.10000000074505762,name:"Maple",lx:7,normal:[0,1,0]},{parentId:"Ground",lx:6,locked:!0,type:"Tree",rotation:[0,0,0],normal:[0,0,1],cy:-20.556927102277076,lz:7,cz:.10000000074505762,id:"ujafmePw8rQZjxB8qy62oa",name:"Maple",selected:!1,cx:12.405622304747324},{selected:!1,parentId:"Ground",id:"ckD1BgrHEqvMdo9aEBaYXU",type:"Human",rotation:[0,0,0],normal:[0,1,0],cy:-14.554057740143271,name:"Jaya",cz:.10000000074505806,cx:5.006550016327088,lx:.6,ly:.6,lz:1.55},{rotation:[0,0,0],name:"Judd",cy:-15.073100073321267,cx:12.689715112185674,parentId:"Ground",type:"Human",cz:.1000000007450585,normal:[0,1,0],selected:!1,id:"npocC3zf2QhLeKj6LeXJvL",lx:.544,ly:.544,lz:1.68},{cy:.5804724345884147,rotation:[0,0,0],lz:19.49711020919501,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],cz:9.748555104597505,color:"gray",cx:-2.205872934036133,locked:!0,ly:.8534746756143718,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",lx:.828070336814001,id:"gdcpJkZkVZXJHaDmRtpFtw",selected:!1},{normal:[0,0,1],cz:10.253341514775366,color:"gray",parentId:"Ground",lz:20.506683029550732,type:"Cuboid",selected:!1,id:"wJkGWJoWEXDPm4p9rWMB3a",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,0],ly:.8534746756143718,faceColors:["gray","gray","gray","gray","gray","gray"],cx:-2.105385998729491,lx:.828070336814001,cy:2.869274580105114,locked:!0},{ly:34.489830484403164,cx:-6.481696563939499,type:"Foundation",parentId:"Ground",lz:.3,cz:.15,rotation:[0,0,0],id:"38Wmw6REgfAAEs5HtLXUmy",selected:!1,normal:[0,0,1],cy:.05822819825317893,locked:!0,color:"#666666",lx:13.764674737343674},{relativeAzimuth:0,tiltAngle:.42308540045443915,poleSpacing:3,cx:.39547991802521515,cz:.5000000074505806,lz:.046,id:"2BhUXhGXtbxsUZ6RL3rXMW",trackerType:"None",orientation:"Portrait",pvModelName:"SPR-X21-335-BLK",showLabel:!1,lx:1.046,type:"Solar Panel",foundationId:"6gVMaHq7VLa19eqMVECxpG",poleHeight:2.6,cy:.0004767391535806561,normal:[0,0,1],selected:!1,ly:1.558,drawSunBeam:!1,rotation:[0,0,0],poleRadius:.05,parentId:"6gVMaHq7VLa19eqMVECxpG"},{type:"Flower",name:"Boxwood",cx:14.589782607955689,cy:-5.22248370768526,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"6LyjhRYrjyMM94sWFxmsqL",selected:!1},{type:"Flower",name:"Boxwood",cx:14.487482209296324,cy:-7.284306500015294,cz:.05000000074505628,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cAUoEVfsJryF5CiN2bA6FF",selected:!1},{type:"Flower",name:"Boxwood",cx:14.656720218433037,cy:-3.0619235461512933,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"14ZankHi6YjP8eUwRAzc99",selected:!1},{type:"Flower",name:"Boxwood",cx:14.649968347802723,cy:-.5953981727630122,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cKDzu7CNMKytpxg8x9M4vH",selected:!1},{type:"Flower",name:"Boxwood",cx:14.465946083296767,cy:2.3705809858943816,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2nJegakb4Q3dsnpjrnazGL",selected:!1},{type:"Flower",name:"Boxwood",cx:14.535486123826292,cy:5.258763702004629,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"puhTw5YZiZX1mZayPv7eKr",selected:!1},{type:"Flower",name:"Boxwood",cx:14.562074464646393,cy:-9.421018376024211,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"3aFBjoFzTN38LjxnNVca94",selected:!1},{type:"Flower",name:"Boxwood",cx:14.48848671206672,cy:-11.828589152852121,cz:.050000000745059836,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ksddQtWpUymEExWqGah9pg",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.602082126220235,cy:-10.642654606813768,cz:.05000000074505628,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ftch5sGAxD2dLW85VDsCvD",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.574840162280765,cy:-13.130340588937553,cz:.05000000074506161,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"oVgmk99C2S2KZF2CFR1hGP",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.575588404543318,cy:-8.21343708444617,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"9uo3Ts1QDRhb3aomxt4V2f",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.557819941105063,cy:-6.106389769612514,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"agCMuQbpTFk2RqkwtebyV4",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.556683398866188,cy:-4.0576139533384525,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"aFUE71bDFA2LjkNkJFEuii",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.64239387314273,cy:-1.7994645182621838,cz:.050000000745059836,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"4Z9VuhUNw8DYwRbkqYhoHB",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.529383383564124,cy:.8679517875801537,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"nf7V66G4i2YFWuJXZENckj",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.581939017157946,cy:3.902214931587771,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"kKWrifvQ6fGtZhJmgPvL5X",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.45704330414372,cy:6.704146476013747,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"aL2Uhpp8HT6eUfWcMrtxWr",selected:!1},{type:"Flower",name:"Tall Bush",cx:-8.820527407137332,cy:-21.01555787918438,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"czSxXH8n5KnbYhnZp9414E",selected:!1},{type:"Flower",name:"Tall Bush",cx:-5.64492924344334,cy:-20.928730058607652,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"12s9PdvNM6rnixcYtcjVJm",selected:!1},{type:"Flower",name:"Tall Bush",cx:-2.4233695148043557,cy:-21.043064672162302,cz:.05000000074506161,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"fnbqxsK1LLgKaQxJEJtzGY",selected:!1},{type:"Flower",name:"Tall Bush",cx:.44859084832241436,cy:-21.025210125432253,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"5HDDx2HYGe5rU4vkYUjLkn",selected:!1},{type:"Flower",name:"Tall Bush",cx:-11.802690551407991,cy:-21.134263522232033,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ii2AHuBu7eNYp9zExhjpBk",selected:!1},{type:"Flower",name:"Hosta",cx:13.888302021073589,cy:-23.07433161468632,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ry52Vu3ZtWa5Z5S4Cv3Fns",selected:!1},{type:"Flower",name:"Hosta",cx:13.000536079398454,cy:-23.90262067298287,cz:.05000000074505895,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2KvsyZDeNBQ15oEbTBWXTQ",selected:!1},{type:"Flower",name:"Hosta",cx:12.99992231969237,cy:-22.436277503833722,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"sBdHaZQt67kBAXxPrttrkC",selected:!1},{type:"Flower",name:"Hosta",cx:7.96155182885969,cy:-24.919269939427444,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"rErTYG7fvCUCgbP8phnFpb",selected:!1},{type:"Flower",name:"Hosta",cx:8.302339884724876,cy:-23.511029051299055,cz:.05000000074506161,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"qREs5pGeMh2bn8266bra52",selected:!1},{type:"Flower",name:"Hosta",cx:12.046100627532674,cy:-23.058422241294327,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cFutgv9ep2vsCmwtcQ32FT",selected:!1},{type:"Flower",name:"Hosta",cx:7.459817492896914,cy:-23.89304923816075,cz:.050000000745059836,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"meCdn2mUx41JAdUmabe62e",selected:!1},{type:"Flower",name:"Hosta",cx:8.773287043648144,cy:-24.33842489149061,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"1zHSSdp6WfVgSDgmVd5A2g",selected:!1},{type:"Flower",name:"Peony",cx:15.825630097786828,cy:-25.16699394950085,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"xi2HuxsfZQnvPjTKPQxrbF",selected:!1},{type:"Flower",name:"Peony",cx:16.48091229260942,cy:-24.316745367707185,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2Ake4uxrZPD3VybPtfduv3",selected:!1},{type:"Flower",name:"Peony",cx:16.886960727664686,cy:-25.34224361063938,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"4obU3fsBjpjfoLx69cK5C6",selected:!1}],xyn={heliodonPanelY:7,heliodon:!1,stickyNotePanelX:6,showHeliodonPanel:!1,yearlyLightSensorPanelX:-905,enableRotate:!0,dailyLightSensorPanelY:15,mapZoom:16,weatherPanelY:0,cameraZoom:15.47561875,groundPanelX:0,showSiteInfoPanel:!0,showYearlyPvYieldPanel:!1,stickyNotePanelY:0,yearlyLightSensorPanelY:70,showYearlyLightSensorPanel:!1,axes:!0,orthographic:!1,showWeatherPanel:!1,cameraPosition:[31.71971744843037,-16.83871990124489,7.439938736584827],mapTilt:0,showMapPanel:!1,autoRotate:!1,groundPanelY:0,mapWeatherStations:!1,showGroundPanel:!1,groundColor:"forestgreen",panCenter:[-1.577685546422091,.586908253253759,7.439938736584823],showInstructionPanel:!0,heliodonPanelX:-1235,dailyLightSensorPanelX:-19,shadowEnabled:!0,showStickyNotePanel:!1,showDailyPvYieldPanel:!1,groundImage:!1,mapType:"roadmap",showDailyLightSensorPanel:!1,theme:"Forest",weatherPanelX:0,cameraPosition2D:[.8790434579553117,3.516123829597026,50.00000351630349],panCenter2D:[.8790434579553117,3.5161738318194917,35163301233325335e-22]},byn=1,Syn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Tyn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Pyn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Cyn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ryn=[""],Hyn={docid:hyn,time:pyn,timestamp:gyn,userid:myn,owner:yyn,email:Ayn,world:wyn,elements:vyn,view:xyn,evolutionMethod:byn,solarPanelArrayLayoutParams:Syn,solarPanelArrayLayoutConstraints:Tyn,evolutionaryAlgorithmState:Pyn,economicsParams:Cyn,notes:Ryn},Myn="pxi9S4wGaGxiW2Q28M7prc",Iyn="06/18/2023 07:07 pm",zyn=1687129633099,Dyn="QWecNcxhyvP6j6sBN11hBsfZDau1",Eyn=null,kyn=null,Fyn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Miami, FL, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:25.7616798,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-80.1917902},Lyn=[{type:"Wall",cx:-.5738138595304036,cy:4.010364625861682,cz:2.2408122612280286,lx:18.01575243966671,ly:.3,lz:9,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[8.434062360302951,4.010364625861682,.1],rightPoint:[-9.581690079363758,4.010364625861682,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.633496307266332,rightUnfilledHeight:4.633496307266332,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:8.434062360302947,cy:.16844568443230257,cz:2.2301039869226305,lx:7.683837882858757,ly:.3,lz:9,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[8.434062360302942,-3.673473256997076,.1],rightPoint:[8.434062360302951,4.010364625861682,.1],relativeAngle:1.5707963267948957,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.81107858935271,rightUnfilledHeight:4.81107858935271,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-9.581690079363758,cy:.16844568443230257,cz:2.228839888904333,lx:7.683837882858757,ly:.3,lz:9,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-9.581690079363758,4.010364625861682,.1],rightPoint:[-9.581690079363758,-3.673473256997076,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.538993236656353,rightUnfilledHeight:4.538993236656353,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-.5738138595304036,cy:-3.673473256997076,cz:2.268765007024547,lx:18.01575243966671,ly:.3,lz:9,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-9.581690079363758,-3.673473256997076,.1],rightPoint:[8.434062360302951,-3.673473256997076,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Foundation",cx:1.328107295365207,cy:-2.32341538525935,cz:.05,lx:20.16561856842383,ly:11.725607943394946,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!0},{type:"Wall",cx:.31845175389180724,cy:5.51114190784781,cz:2.2408122612280286,lx:18.813654239419552,ly:.3,lz:4.56796601625556,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[9.725278873601583,5.51114190784781,0],rightPoint:[-9.088375365817969,5.51114190784781,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:9.725278873601583,cy:-.00976103700472608,cz:2.2301039869226305,lx:11.04180588970507,ly:.3,lz:4.56796601625556,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[9.72527887360158,-5.530663981857262,0],rightPoint:[9.725278873601587,5.51114190784781,0],relativeAngle:1.570796326794896,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:-9.088375365817967,cy:-.00976103700472608,cz:2.228839888904333,lx:11.04180588970507,ly:.3,lz:4.56796601625556,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-9.088375365817964,5.51114190784781,0],rightPoint:[-9.088375365817969,-5.530663981857262,0],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:.318451753891809,cy:-5.530663981857262,cz:2.268765007024547,lx:18.813654239419556,ly:.3,lz:4.56796601625556,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-9.088375365817969,-5.530663981857262,0],rightPoint:[9.725278873601587,-5.530663981857262,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Foundation",cx:.4107313024346143,cy:-1.9585431776860986,cz:.06,lx:24.334060214728257,ly:12.759991395526452,lz:.1370389804876668,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!0,enableGroupMaster:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],ridgeWidth:.5,textureType:"No Roof Texture",color:"#f44e3b",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wCPmoV4VwkScF5K7cf32UD",rise:.3478700995805717,ceiling:!1,locked:!0},{type:"Door",cx:-.13288221247108084,cy:0,cz:-.14054209286568672,lx:.2126115399537293,ly:0,lz:.7189158142686265,doorType:"Arched",archHeight:1.5,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fTMHecXmkxoFyi5nVgZruF",filled:!1,locked:!0},{type:"Door",cx:.10630576997686465,cy:0,cz:-.14054209286568672,lx:.21261153995372933,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.429004247968055,normal:[0,1,0],rotation:[0,0,0],id:"thTY63emBWLui9mLZFtB5x",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Door",cx:-.3587819736719182,cy:0,cz:-.14054209286568672,lx:.18603509745951316,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.5,normal:[0,0,1],rotation:[0,0,0],id:"r7aX4f3HRkVXuNQaRxbPi1",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Door",cx:.3454937524248102,cy:0,cz:-.14054209286568672,lx:.21261153995372936,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.5000000000000002,normal:[0,1,0],rotation:[0,0,0],id:"h7dwAP8dsZbfjhXMRt294q",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Window",cx:-.34549375242481023,cy:.1,cz:0,lx:.05315288498843229,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.13288221247108084,cy:.3,cz:0,lx:.05315288498843234,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.13288221247108084,cy:.3,cz:0,lx:.05315288498843232,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Door",cx:-.3746721111208206,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,doorType:"Default",archHeight:1,textureType:"Door Texture #1",color:"#73d8ff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"ecLTLgAm2MxZyZRCJTtQKo",filled:!0,locked:!0},{type:"Door",cx:-.15264419341959357,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bEeuNKM57K5x42NhRniwi6",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Door",cx:.12489070370694019,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"qEKCQ7EzsMMEDG8bv8fsum",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Door",cx:.3746721111208206,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"8wkxpiMCThpy9pWENNkhKk",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Window",cx:-.3746721111208206,cy:.1,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"9Wg9qQLxZfpvdDjZ2VpjsU",locked:!0},{type:"Window",cx:-.12489070370694019,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rj3NsBy5xBcFQpgf9yTyXN",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Window",cx:.12489070370694019,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hdSr1YZAyCNR6oUkaHZMAg",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3746721111208206,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"asxeUzs2NaJ78jjx63TyyC",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["hndwqtrrygFvfqvBJrvZYu"],textureType:"No Roof Texture",color:"#f44e3b",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cgHKR8ai6snf9XinDUWwjd",leftRidgeLength:4.503938109916677,rightRidgeLength:4.503938109916677,rise:2.5896529887286306,ceiling:!1,locked:!0},{type:"Human",name:"Jeanette",cx:.8591126899329264,cy:-9.396182210960866,cz:0,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"85Scr5g8mYtCpbKgKe9vrB",selected:!1,flip:!0,ly:.4,locked:!0},{type:"Human",name:"Jacob",cx:-.10555204032261312,cy:-9.416124087799197,cz:0,lx:.8,lz:1.82,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"3vrVERckAPTLoMt9TNeS2S",selected:!1,ly:.8,locked:!0},{type:"Window",cx:.34549375242481023,cy:.3,cz:0,lx:.05315288498843234,ly:.3,lz:.4378316285372531,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"cspu4NZcKs2zheso8YnaAG",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3607953662644939,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"vDt9VGvnvU9vePAfrLQMYJ",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16652093827592027,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"hYQQWiCSxQgqR2XiFwQcHB",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1387674485632669,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"hgcEVbECbXF3rdyRi8jL7y",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3885488559771473,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ih1JWVrGZLFL47MHERTzyn",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1952149463416227,cy:.1,cz:.2777777777777778,lx:.13014329756108178,ly:.3,lz:.2222222222222222,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"uACfjsfx3oFuHFL2K4wn6s",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1952149463416227,cy:.1,cz:.2777777777777778,lx:.13014329756108178,ly:.3,lz:.2222222222222222,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"jUW859PMX9WssNh7ajd7bW",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26028659512216357,cy:.1,cz:.2777777777777779,lx:.13014329756108178,ly:.3,lz:.22222222222222243,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9GK118ZSrqGs81r2c9DmJ9",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.26028659512216357,cy:.3,cz:.2777777777777777,lx:.13014329756108178,ly:.3,lz:.22222222222222243,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qMSMFHr6W7JY5LW4w6QRRk",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Tree",name:"Coconut",cx:-13.833956304562825,cy:-5.734368757546395,cz:0,lx:10.296431730851847,lz:14.247937869417774,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"dhdL6enwuq52BCva98npwA",selected:!1,locked:!0},{type:"Tree",name:"Coconut",cx:-16.03648257210165,cy:-7.577405253611644,cz:-8881784197001252e-31,lx:6.4568591564721105,lz:8.433084547651115,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"oX2XaCFnUgccQdVNREDqjW",selected:!1,locked:!0},{type:"Tree",name:"Fan Palm",cx:15.143629921921018,cy:-10.9460234939345,cz:0,lx:5.636076310522914,lz:7.988346597759666,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gbweDZRVxLwqky2axf7Y8q",selected:!1,locked:!0},{type:"Tree",name:"Fan Palm",cx:14.372021459439786,cy:-8.787207002242742,cz:0,lx:6.791895714508713,lz:10.21869909939493,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sf29WMk4BaTsfLzkZNmVzH",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:2.428817756541367,cy:-10.484144416604128,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9DZLwc5PTpq9K9kFVPWuDb",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.9808700560460073,cy:-10.456723771199588,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"tbLKA9nAkR1p2Y51NnR7Hz",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-6.50706138180835,cy:-10.311129925272937,cz:-8881784197001252e-31,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mwwbjydsGANpRKQR1fPW3q",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:6.571598639052613,cy:-10.492326870561346,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c8AcvQkEYah3BNHFPjZ6U4",selected:!1,locked:!0},{type:"Polygon",cx:.039567390445074416,cy:-.26884665270178654,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.18603509745951316,y:-.4378316285372531},{x:-.18603509745951316,y:-.21891581426862655},{x:.23918798244794548,y:-.21891581426862655},{x:.2395673904450744,y:-.46884665270178655}],parentId:"roDDPncXBpNgmNum9aUaov",parentType:"Wall",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!0,selectedIndex:0,id:"jaEQvTPeDh2m31LB8RsyFG",text:"SPANISH TAVERN",fontSize:.7,fontColor:"gold",fontOutlineColor:"red",fontOutlineWidth:.05,noOutline:!0,opacity:0}],Wyn=24,Nyn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.12159863905262133,-1.1671768638939548,-12172309664404964e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.12159863905262133,-1.1673268705613518,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.450909722303011,-23.613178769130574,4.500139724117738],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:20.00000000000001,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[1.616638405874658,1.2781230776372128,4.313092868911078],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},Uyn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Byn=1,jyn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Yyn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Oyn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},_yn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Vyn="Unknown",Gyn=null,Xyn=null,Jyn=null,Kyn=[],qyn={docid:Myn,time:Iyn,timestamp:zyn,userid:Dyn,owner:Eyn,email:kyn,world:Fyn,elements:Lyn,sceneRadius:Wyn,view:Nyn,graphState:Uyn,evolutionMethod:Byn,solarPanelArrayLayoutParams:jyn,solarPanelArrayLayoutConstraints:Yyn,evolutionaryAlgorithmState:Oyn,economicsParams:_yn,modelType:Vyn,modelAuthor:Gyn,modelLabel:Xyn,modelDescription:Jyn,notes:Kyn},$yn="8zyJg4GHQPZX9C7UX4st8J",Qyn="03/18/2023 08:26 pm",Zyn=1679185608583,e2n="QWecNcxhyvP6j6sBN11hBsfZDau1",t2n=null,n2n=null,o2n={solarRadiationHeatmapGridCellSize:1,date:"12/22/2022, 8:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Honolulu, HI, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:21.3098845,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-157.8581401},i2n=[{ly:16.927339965869773,solarUpdraftTower:{},parentId:"Ground",cx:-10.030961003153333,id:"m7AH7DcnoGzAq9kryBy4RS",cy:25.06053757796986,type:"Foundation",solarPowerTower:{},lx:36.13676163604105,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,-.7727629180414017],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:25.078696453594382,relativeAngle:3.141592653589793,lz:30,roofId:"1rg4qXk51s2D35ph8XqwbD",ly:.1,rightPoint:[-7.080024662598481,7.041260263727929,0],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,-.7727629180414017],textureType:"No Wall Texture",leftPoint:[17.998671790995903,7.041260263727929,0],type:"Wall",normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.459323564198711,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:7.041260263727929,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:17.998671790995893,leftPoint:[17.99867179099588,-4.904184303905874,0],cy:1.0685379799110275,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[17.998671790995903,7.041260263727929,0],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:11.945444567633803,normal:[0,0,1],lz:30,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,-.7727629180414017],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948946,textureType:"No Wall Texture",roofId:"1rg4qXk51s2D35ph8XqwbD",color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{lx:11.945444567633803,windows:[],lz:30,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"1rg4qXk51s2D35ph8XqwbD",selected:!1,cy:1.0685379799110275,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-7.080024662598481,-4.904184303905874,0],normal:[0,0,1],rotation:[0,0,-.7727629180414017],textureType:"No Wall Texture",parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948966,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-7.080024662598481,7.041260263727929,0],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",ly:.1,cx:-7.080024662598481,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{showLabel:!1,cx:5.459323564198711,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[17.998671790995903,-4.904184303905874,0],cz:2.268765007024547,textureType:"No Wall Texture",cy:-4.904184303905874,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"1rg4qXk51s2D35ph8XqwbD",leftPoint:[-7.080024662598481,-4.904184303905874,0],normal:[0,0,1],ly:.1,lz:30,relativeAngle:0,rotation:[0,0,-.7727629180414017],lx:25.078696453594382,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:7.840470874398735,cy:5.490428888324286,cz:2.2408122612280286,lx:16.75500291983642,ly:.1,lz:40,leftJoints:["aJzBKycDgPV2XFyreGUWbN"],rightJoints:["q3QyrcfYtaEUJUy3dDMe3o"],leftPoint:[16.217972334316947,5.490428888324284,.1],rightPoint:[-.5370305855194735,5.490428888324285,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"ajX6DE1iwh52m5aYDEnUZw",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:16.217972334316944,cy:-4.464643680942036,cz:19.195539088325102,lx:19.91014513853265,ly:.1,lz:40,leftJoints:["vZvx6xJpNjwVutXgBYTqDu"],rightJoints:["ajX6DE1iwh52m5aYDEnUZw"],leftPoint:[16.21797233431694,-14.41971625020836,.1],rightPoint:[16.217972334316947,5.490428888324284,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"aJzBKycDgPV2XFyreGUWbN",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Window",cx:-.3867375122795052,cy:.1,cz:.10625,lx:.22099286415971733,ly:.3,lz:.7125,mullion:!0,mullionWidth:.06,mullionSpacing:3,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wAVcmtVfsGGWzQD4FYwZNW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.44375,lx:.47714368398120766,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"u5BLpPtdFZZZhqt5769cX6",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.44375,lx:.10045130189078055,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3kDRvtG74CSaYS7Hdz4Zf9",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-.537030585519473,cy:-4.46464368094204,cz:2.228839888904333,lx:19.91014513853265,ly:.1,lz:40,leftJoints:["ajX6DE1iwh52m5aYDEnUZw"],rightJoints:["vZvx6xJpNjwVutXgBYTqDu"],leftPoint:[-.5370305855194735,5.490428888324285,.1],rightPoint:[-.5370305855194752,-14.419716250208367,.1],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"q3QyrcfYtaEUJUy3dDMe3o",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:7.840470874398735,cy:-14.419716250208364,cz:11.720703078908016,lx:16.75500291983642,ly:.1,lz:40,leftJoints:["q3QyrcfYtaEUJUy3dDMe3o"],rightJoints:["aJzBKycDgPV2XFyreGUWbN"],leftPoint:[-.5370305855194752,-14.419716250208367,.1],rightPoint:[16.21797233431694,-14.41971625020836,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"vZvx6xJpNjwVutXgBYTqDu",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.44375,lx:.4774693289088429,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jqoCSv6SGc3CUNj2d3NntP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3879438297384349,cy:.1,cz:.44375,lx:.11936733222721073,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fHoEdLPaiDXqCueBgeDdLS",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.36813175214922683,cy:.1,cz:.10500000000000001,lx:.24254861996467425,ly:.3,lz:.7150000000000001,mullion:!0,mullionWidth:.06,mullionSpacing:3,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cDtJU4W55HjRmy9cDhmm6R",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Jett",cx:22.405208091244,cy:-4.9072672102145285,cz:.07500000298023225,lx:.6,ly:.6,lz:1.85,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"fbbzRkZEo4AnT3QEsWR9oP",selected:!1},{type:"Foundation",cx:9.883909213954574,cy:18.92966595365953,cz:.075,lx:78.43901005555475,ly:71.09926407060658,lz:.15,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["q3QyrcfYtaEUJUy3dDMe3o","vZvx6xJpNjwVutXgBYTqDu","aJzBKycDgPV2XFyreGUWbN","ajX6DE1iwh52m5aYDEnUZw"],textureType:"No Roof Texture",color:"#666666",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"gvRT2kUN1YoGCZrBAosc54",locked:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.3,lz:.04999999999999994,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#009ce0",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hXDYrzLkVvDyB5XjtNmnpF",locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.36875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rG1B3YDka8evv1iRX84o9o",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.2937500000000002,lx:.4774693289088429,ly:.1,lz:.037499999999999645,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3UNoma1dXsmygDK7CEMoeK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.21875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sd3EQKPdzkdU4oHrJHF6z6",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.14375,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tdS8P8P3u1nFnMkc5rhziK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.06875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fot8pwtoi6ibSjPGupS1qv",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.00625,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6EhGwMTuUYnqbTApuPextU",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.08125,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mQ1vMy6wk1K8zQ4XW25Pa4",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.15625,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xeQKnySzuUrMzG5a16tLkb",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.23125,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5XDU9fVCRxTJLcDoUD9Lh9",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["8XDG3EHsQoX26MhuzwMYUM","2u4Fe7xnA6kkXXVGrQ4eyJ","skm8dNPSkFaVkoUwiPNfq1","cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#666666",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1rg4qXk51s2D35ph8XqwbD",sideColor:"#666666",rise:0,ceiling:!1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"veFj2RPH9FK5Ao9iDG2JPQ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sjoT9VNZjDkgezWwtsvX1H",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"c3CrejqQvGUvB3tz2qUtSs",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"54CDd5MyTY1sZku1AxjXiV",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bnfcGzXENjbkzh9kkmgCt1",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hLoimJgy8UQ7UMWdnPWQDr",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7HFCb3ZQu4czKjDhFmnHch",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qWx6AJBVMGYPJ4Ho1LMQem",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9CtXe67uSkntiJK3PdfzmF",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jmVdqwU3fqhEGk97aQXYEX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wdnnALggwiP7UHfVhF7SWW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9qSb4G4eXKMLNk6b2Mnxjd",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fbXTujX2nC1dnrTNLQQaH2",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kPmU38jjwSfUUZCv9WNCNC",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"miYw9uqZnfLViAeihqKiQU",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mdv9UVbG7EBitFdaYUkjsg",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"urvoEGE7cTq18MHrjMtEta",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aG4F7poaBiKo4FnvkesMid",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"dpGTcBMRjsfms2X9nZ4kXB",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"r72et61W5MhwpaYEF75Lh8",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kfBYaXYAWc8NFLir41LMUf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sZ9pExZ3wnnmg8ersouQqR",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hsgq2SXxdCMQRiXuigpEnf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4cJ8Pgng6fBXRTX8WcXQVg",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bsGPA2UqEVe6SNCXBuagSF",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qoRwFevwZ3YYSnDdJLoDqH",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4WEcGq6tGKDXcjGfvF3Tqi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ofgYdgnyE5KuECDZGdmjFD",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pHYCjB2xdehwowhrgYcS5c",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3Q2Wqp4rsyN89CVgnpPKCM",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oVMnTwRZ8JUb44CXEkjBYL",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"awSE1XUqEZc7Ryyr6ZQ76Y",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rVMR7tb7kXRnjoKHu2uyrZ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ktvktsYRNrNC4YQGJQ65Vk",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mDgZnRfoyVP2YKQSiG96yP",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rZqeq8wo58QSrFmB3rpFBD",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kQER8EGDmLkbzKEnbH9AdE",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pHvp5WhRnmKrP1SER1BBPx",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aZrgq675xDvSLbDtUdwQsY",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jKtw1tdxJxcJphjEsWRmNW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jgu4jSQaAhhuBZyZoH81Vw",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gL3MbkYAkwWqHwKNVFfvjX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"43vK33D69FP5XTqiRyn5ZC",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5CKwKV9BkacegVoEPzvmNN",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6dszW4NvJ7dea2hEqvWvWt",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5wUE7YuTr5FaL5BKb5taCi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gUSBkoburdStT335zZGKSH",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qaz6Ru4mqUG7iJ4Ycd7F9n",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aC9jXjoijXwkzJe9GEmTWi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"w4NVxvubCEgR8AigUi47sf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"c2FMW9zjWRExPvuVGBX4HW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"66P3KrsZHSZo36fXBYj8qX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kNFB5Lqn3mkhGj4vWLcpup",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"egzr7tMm23v6EusXDcg5hk",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fg88qYi3xQqiUry3XoMG94",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3879438297384349,cy:.1,cz:.36875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tfzr5KT4W9PhBL9cJ8zsaA",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.29375,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"i6H6Xevamb9d4oXjeQCCVQ",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.21875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5XFRaVZReMkHmTkTRTsRuW",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.14375,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"57X6pPozmTcJNsHjWMZ2XK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.06875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8bZz4FqqQe2bdV4WSMC6jm",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.39520439262152746,cy:.1,cz:-.006462001517518967,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gFyWDsDvxmZLpfKAZSAYx5",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.08125,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aEb8cJ6YhMAb9KuP8VjgKP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.15625,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vWo8aVFrScBkGwhkRkYbFw",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.23125,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ukpSgR2RV34eo2XfZVmUQx",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.36875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"12QeRFNV1Hc4sRbkxeVHBz",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.29375,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aEhEPB9abuMwcNR6YEDDzo",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.21875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bahcDPtF8RkBJeqyW4uoBW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.14375,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"j8CVLpwpSN8q6CwaZNU8f2",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.06875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xaiGSGs8MoAP2yqunEFz1t",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.00625,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"2mWxcnyFJtKcRwpimCotCD",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.08125,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7fehkUWZ89tU27wVPAaQiD",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.15625,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cLjpkvrCHbUZQvi2ugMz7m",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.23125,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"775gLWKQ2CDxL24uAyMuJh",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.36875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sG6LtKnafZHdzPAsvV8PYJ",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.29375,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3JLF3stSYMjoSYPebvZ4PV",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.21875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hs4CReuowYw4vhbQaajr1c",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.14375,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7q37MBnhP8o81q6wk5b4ev",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.06875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fYYQri43bTWAWzKm8CTjgx",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.00625,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vVphvZY7TyNxocgdqGbqJG",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.08125,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1x6vFAj3oANsndJiQWQqch",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.15625,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"amqZLKSwPYeveasoE38xPf",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.23125,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8pqGLYqiyyd3o5U4oTyKWQ",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-.6029509196285296,cy:4.363723699614781,cz:2.2408122612280286,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["buJzWWqdvseWMEsfiYMLMP"],rightJoints:["8SHv6CAA9xkRcfdve2aKJD"],leftPoint:[18.815291063862595,4.363723699614781,.02095211693261273],rightPoint:[-20.021192903119655,4.363723699614781,.02095211693261273],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"pbHN78JfkaYPi761T2RspW",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:18.815291063862578,cy:2.495382831879124,cz:2.2301039869226305,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["cthH5Q4t9AqYehpe6ssXrf"],rightJoints:["pbHN78JfkaYPi761T2RspW"],leftPoint:[18.815291063862563,.627041964143467,.02095211693261273],rightPoint:[18.815291063862595,4.363723699614781,.02095211693261273],relativeAngle:1.5707963267948881,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"buJzWWqdvseWMEsfiYMLMP",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-20.021192903119655,cy:2.495382831879124,cz:2.228839888904333,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["pbHN78JfkaYPi761T2RspW"],rightJoints:["cthH5Q4t9AqYehpe6ssXrf"],leftPoint:[-20.021192903119655,4.363723699614781,.02095211693261273],rightPoint:[-20.021192903119655,.627041964143467,.02095211693261273],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"8SHv6CAA9xkRcfdve2aKJD",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-.6029509196285296,cy:.627041964143467,cz:2.268765007024547,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["8SHv6CAA9xkRcfdve2aKJD"],rightJoints:["buJzWWqdvseWMEsfiYMLMP"],leftPoint:[-20.021192903119655,.627041964143467,.02095211693261273],rightPoint:[18.815291063862595,.627041964143467,.02095211693261273],relativeAngle:0,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"cthH5Q4t9AqYehpe6ssXrf",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{id:"pHTF23CfLXLueNE1tagt35",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["buJzWWqdvseWMEsfiYMLMP","pbHN78JfkaYPi761T2RspW","8SHv6CAA9xkRcfdve2aKJD","cthH5Q4t9AqYehpe6ssXrf"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:-2.457987770512858,cy:8.5745044622651,cz:.05,lx:43.13213840818644,ly:9.617341850294016,lz:.02095211693261273,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qxAJALKsgHR99QXiiey2Jy",selected:!1},{type:"Window",cx:.23817810098010178,cy:.1,cz:-.03125,lx:.5021051858499441,ly:.1,lz:.8125,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#4d4d4d",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",id:"wvo4rWSpdYajq7orMpbxwv",windowType:"Default",archHeight:1},{type:"Window",cx:-.1094331815313981,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#4d4d4d",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",id:"7yzuNTr1nHZ9M3xoVT6avS",windowType:"Default",archHeight:1},{type:"Window",cx:-.4570444640428979,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5QTwW8m9wGX6HGnbLPxKyJ",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.39910925029098127,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hs42cyfWo4jmy3NRKUXRUF",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3411740365390646,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xwaNrD73kLoXPJvKgQmEMf",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2832388227871479,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5fsUwbpNYhCT9veH1pJuBb",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.22530360903523122,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"67uFrhX3jmZgG5Uwx5UZkn",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.16736839528331454,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9c8dBuEjRjp1p1S8dhEcnt",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-1.4056682810734662,cy:6.875194394376913,cz:2.2408122612280286,lx:25.078696453594382,ly:.1,lz:30,leftJoints:["dzHmrowq7VzT13tXyJ2UqF"],rightJoints:["pHKTjESURrdXxEMpYFEvmj"],leftPoint:[11.133679945723728,6.875194394376912,.1],rightPoint:[-13.945016507870662,6.875194394376912,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"sVQKrHhSTfNeVTVVzVgh8h",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:11.13367994572371,cy:.9024721105600149,cz:2.2301039869226305,lx:11.945444567633803,ly:.1,lz:30,leftJoints:["knjx4z8fKUVQF38Tr2D5YR"],rightJoints:["sVQKrHhSTfNeVTVVzVgh8h"],leftPoint:[11.1336799457237,-5.070250173256886,.1],rightPoint:[11.133679945723728,6.875194394376912,.1],relativeAngle:1.5707963267948946,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"dzHmrowq7VzT13tXyJ2UqF",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-13.945016507870664,cy:.9024721105600122,cz:2.228839888904333,lx:11.945444567633803,ly:.1,lz:30,leftJoints:["sVQKrHhSTfNeVTVVzVgh8h"],rightJoints:["knjx4z8fKUVQF38Tr2D5YR"],leftPoint:[-13.945016507870662,6.875194394376912,.1],rightPoint:[-13.945016507870662,-5.070250173256887,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"pHKTjESURrdXxEMpYFEvmj",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4056682810734649,cy:-5.0702501732568885,cz:2.268765007024547,lx:25.078696453594382,ly:.1,lz:30,leftJoints:["pHKTjESURrdXxEMpYFEvmj"],rightJoints:["dzHmrowq7VzT13tXyJ2UqF"],leftPoint:[-13.945016507870662,-5.070250173256887,.1],rightPoint:[11.13367994572373,-5.070250173256887,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"knjx4z8fKUVQF38Tr2D5YR",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Window",cx:.4386192887000486,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uJ5VXB9mJCHeVMURUphT8T",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wnK1hkWv21nCd1Utptm2Ei",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pEvywZty9TJkaURwjtVySg",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tWq4HyTuGAuAN6dd6GPS2N",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"24XsGn6puXsJxiC1CXzcBv",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pkcczmXvVUiEdpQApgmexY",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sa92opTQVGVahjcKdrQYNu",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"75MHEhXJJecJXb1MEFATcp",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6nqrXQt9q6iMswTzGidgHb",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"b1foK7N1uzozAzTNBXGmZB",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"nJJ7PvwzGmhWVcxY9bet36",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vj5w5TDBurYnrHfJcc9FLw",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qYve9T714wdvYeg4ZURztj",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"u95CGNREXr1JhsDomK6oUP",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h31BtoerjLiQ4Ph2duYsTc",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9dxvQwRi6mWsaWRPC67F9D",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rjRNUHYRmb3eWDV9hgNPgk",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9S42HWD1ZPYw28WUgncNJg",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6z3whdKeQxDdJsZmhQ5kkh",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oJTfPHNAtBzrf2iJENqHK6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"31jBrsSiuVnoBUL9zp8ca6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4MbQ64c8HUZrvfYs3kgE6b",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8EW5KxGCVAJwrRFzn2isg8",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pFyHWVuvzXQH1TQ1JhYRAx",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8AjjyhHzBJtzfxgCpuWX7d",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"s1sVDPm2cHt3fumjgcwoek",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wvpWMkzuKAKaviPUsqwQGa",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4inH8BAKWrcqZKNbaRb4ZX",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fsV7H7ZmN4jx2WUQX2f5zs",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"55E9hvsT1rzmJ6fT3m6NcG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uKLeQgpSELANVT2TRKNsAf",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"nY9NDsN8rJhMi99gzYKtWJ",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5uo11zCRNj9YohSCdvoz6U",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1Kr3EHJrBneewC46BaE2Ph",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ov5R5oyJBGiQGjspTURXyd",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jaeqZUoGssJAoAxW2E91xj",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"dYrh6yCuHp4rN3uYNhLJPq",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eJmoE9srUeuBcYJBZHqYQ6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wniuB8XsQisBLpGGqQxkBF",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"o4XtWQqdKQ78Q8CKjzjKHW",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7s5FfAfve61p7zKukxPALw",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8gF1BVyyyBHomFZH7wzdah",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"e8uDpgzMYfsmnhjaNLhBhr",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fzA8v8aP7HzsfsJ5jvVku9",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gPBz88neav7bwpPYBatUzf",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bLjvQy84YUL9NshZ2ECHsZ",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wy5NXYh5x3qLXD7T41WQtG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"urCTjPq8RemHnQPB5atkfH",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ijGpbm5vZNXcurEfDWRTEi",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gFaxtGtjGoAmXwz4kcD2mV",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eNkrUnU9y5cm2pN62nhxuL",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5xow2hbgFrKWpxhPpsF2oG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ittnJX2spdpmthzEKvTSta",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h4grVoSbeCwgTF2pxNsMb8",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cSY4kfnQdndkFPFy82Fgbc",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tXgqNm5fVVjFB6dfyXDq3i",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{id:"njRXPjHAzFuEQzFQaKio93",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["dzHmrowq7VzT13tXyJ2UqF","sVQKrHhSTfNeVTVVzVgh8h","pHKTjESURrdXxEMpYFEvmj","knjx4z8fKUVQF38Tr2D5YR"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:31.408586983997502,cy:25.06147299717385,cz:.05,lx:29.014724156297994,ly:16.595208227167745,lz:.1,normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bPEF7Uhqc8jpoTSmhKDVeo",selected:!1},{type:"Wall",cx:-2.172089616054159,cy:4.269527680689553,cz:2.2408122612280286,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["sR2ork3jG2mR5nZkK6KFeD"],rightJoints:["wRcqTTshgLb8rN6th4Gpqm"],leftPoint:[17.246152367436963,4.269527680689554,.02095211693261273],rightPoint:[-21.590331599545284,4.2695276806895555,.02095211693261273],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"k9HzM68Yarpc7nfmHcL8RX",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:17.24615236743695,cy:2.4011868129538962,cz:2.2301039869226305,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["3VZZxMzA1BHxrWmzs6HKLa"],rightJoints:["k9HzM68Yarpc7nfmHcL8RX"],leftPoint:[17.246152367436935,.532845945218239,.02095211693261273],rightPoint:[17.246152367436963,4.269527680689554,.02095211693261273],relativeAngle:1.5707963267948881,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"sR2ork3jG2mR5nZkK6KFeD",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-21.590331599545284,cy:2.4011868129538976,cz:2.228839888904333,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["k9HzM68Yarpc7nfmHcL8RX"],rightJoints:["3VZZxMzA1BHxrWmzs6HKLa"],leftPoint:[-21.590331599545284,4.2695276806895555,.02095211693261273],rightPoint:[-21.590331599545284,.5328459452182401,.02095211693261273],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"wRcqTTshgLb8rN6th4Gpqm",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-2.1720896160541585,cy:.5328459452182414,cz:.5,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["wRcqTTshgLb8rN6th4Gpqm"],rightJoints:["sR2ork3jG2mR5nZkK6KFeD"],leftPoint:[-21.590331599545284,.5328459452182401,.02095211693261273],rightPoint:[17.246152367436963,.532845945218239,.02095211693261273],relativeAngle:0,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"3VZZxMzA1BHxrWmzs6HKLa",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Window",cx:-.1094331815313981,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5Fjqy9y1YfpweWd3F1suvT",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.32829954459419425,cy:.1,cz:-.03125,lx:.3218622986217591,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"75HCZhhPHELWXwGW5h2WPD",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{id:"pZTS1LtmxQ4iRLvvo2k6FG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["sR2ork3jG2mR5nZkK6KFeD","k9HzM68Yarpc7nfmHcL8RX","wRcqTTshgLb8rN6th4Gpqm","3VZZxMzA1BHxrWmzs6HKLa"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:27.68901540648673,cy:11.617892532194158,cz:.05,lx:46.2704158010377,ly:9.428949812443559,lz:.02095211693261273,normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mEAgnYYx5Vpv2wQEcaoDS8",selected:!1},{type:"Window",cx:-.05149796777948146,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"woWw7XGUm4xqUAFSTaxp7s",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.006437245972435182,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"p72g5k8odqsgTDtjZrUT8a",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06437245972435182,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pRepfQdGpU9sdbgLJsfdTe",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.12230767347626846,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5oab4a82csybhPKBpwXVfB",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.1802428872281851,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"buq5YaVMEosHyRoKSUbsVt",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.23817810098010178,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"efAnUu4mYbWRhdGHs3mZi9",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.29611331473201846,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jyJM6MGuMRcai6pbrb3Cin",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.35404852848393514,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5cDm82FkWrYhcDPVSU84Ve",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4119837422358518,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mC7TrBSkmqNWk58epxFszN",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.46991895598776845,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eAGg5HRuXspYe6baEw1Pd4",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Tree",name:"Coconut",cx:29.772169703668084,cy:3.13936308626816,cz:.075,lx:14.520625349385156,lz:15.546086109013482,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"awZFHKX9S4YwAMjbSq1yte",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:29.969020753546168,cy:-14.890022732958304,cz:.075,lx:11.801916444038328,lz:14.712241097320083,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"oXudTEZFdmZo2c8EsbRpo1",selected:!1},{type:"Tree",name:"Coconut",cx:30.340707732263212,cy:22.863697403310276,cz:.075,lx:11.799635641951403,lz:18.03518550107995,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"1PFc7JhaMeKKaCbh4JY7pw",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-5.622533214526047,cy:-26.68161954425443,cz:.075,lx:11.801916444038328,lz:17.69875674824313,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"ghtAJzyWZvFaBBUqp1aRCj",selected:!1},{type:"Tree",name:"Coconut",flip:!1,cx:10.296218935380278,cy:-27.603318709603634,cz:.075,lx:8.431050051779376,lz:14.44899202269211,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"g6oua2UeBCgiNbB146Y9vt",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:25.84939972102471,cy:-26.971930698353695,cz:.075,lx:11.801916444038328,lz:17.69875674824313,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"qX2bGrx3fNBzBZKpMfQVvM",selected:!1},{type:"Tree",name:"Coconut",flip:!1,cx:-20.99614909921928,cy:-27.25943651847644,cz:.075,lx:10.446668331936932,lz:15.66063540678114,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"vbLVgvpnWHhnRd9uUf7sV8",selected:!1},{type:"Human",name:"Jacqueline",cx:16.26014984241543,cy:-19.603129566992923,cz:.075,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"1k2jiRJ9Za2yVNkgRYdhKs",selected:!1,ly:.43},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:.27624108019964655,y:-.5},{x:.27624108019964655,y:-.4625},{x:.5022565094539028,y:-.4625},{x:.5022565094539028,y:-.5}],parentId:"aJzBKycDgPV2XFyreGUWbN",parentType:"Wall",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,filled:!0,selectedIndex:0,id:"hvwazXjoHjWT4TxByg9aJo",text:"OCEANIC",fontColor:"red",fontSize:1,noOutline:!0,opacity:0}],r2n=90,a2n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[20.405612129997095,28.227763446481866,28229018151188892e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[20.405612129997095,28.22761343981447,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[37.702769068930394,-75.97521031128004,17.83040709876231],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:7.547072050706145,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[15.19436480647435,27.872451314228233,14.077650267491105],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,directLightIntensity:2},l2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},s2n=1,c2n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},u2n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},d2n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},f2n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},h2n="Unknown",p2n=null,g2n=null,m2n=null,y2n=[],A2n={docid:$yn,time:Qyn,timestamp:Zyn,userid:e2n,owner:t2n,email:n2n,world:o2n,elements:i2n,sceneRadius:r2n,view:a2n,graphState:l2n,evolutionMethod:s2n,solarPanelArrayLayoutParams:c2n,solarPanelArrayLayoutConstraints:u2n,evolutionaryAlgorithmState:d2n,economicsParams:f2n,modelType:h2n,modelAuthor:p2n,modelLabel:g2n,modelDescription:m2n,notes:y2n},w2n="iTjDf3ar2Wi1xMDNhVPun5",v2n="02/03/2023 08:02 pm",x2n=1675472536455,b2n="QWecNcxhyvP6j6sBN11hBsfZDau1",S2n=null,T2n=null,P2n={daysPerYear:4,noAnimationForSolarPanelSimulation:!0,longitude:-73.177891,sutTimesPerHour:4,noAnimationForSolarUpdraftTowerSimulation:!1,diurnalTemperatureModel:1,discretization:"Approximate",sutDaysPerYear:4,sutGridCellSize:1,cspTimesPerHour:4,highestTemperatureTimeInMinutes:900,pvGridCellSize:.5,noAnimationForSensorDataCollection:!1,name:"default",cspGridCellSize:.5,dustLoss:.05,solarRadiationHeatmapGridCellSize:5,latitude:44.454924,cspDaysPerYear:4,date:"5/22/2022, 1:00:00 PM",address:"550 Dorset St, South Burlington, VT 05403, USA",ground:{thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3},airAttenuationCoefficient:.01,solarPanelVisibilityGridCellSize:.2,timesPerHour:2,airConvectiveCoefficient:5,noAnimationForHeatmapSimulation:!0},C2n=[{rotation:[0,0,.11344640137963143],lx:42.0955259862511,cy:-46.54215234653224,type:"Cuboid",ly:34.92675303840907,id:"qsPqX4eMRADWLb6uFzZyu3",cz:6.5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",locked:!0,selected:!1,cx:1.8084891171279258,color:"#e27300",lz:13,faceColors:["#e27300","#e27300","#e27300","#e27300","#d0d7da","gray"],normal:[0,0,1]},{rotation:[0,0,.11344640137963143],type:"Cuboid",ly:3.86445911605994,faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],id:"15SnZzWbRga2YXQjrHrMoH",locked:!0,parentId:"Ground",cx:23.280210785776593,color:"#e27300",cz:3.5,selected:!1,normal:[0,0,1],lz:7,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-63.54853637545297,lx:12.707438928677645},{cx:-33.686845121145325,ly:21.436523356683622,id:"jeaVPPnZw5Ed7yuuYuFjT4",cz:3.5,color:"#e27300",locked:!0,lx:60,parentId:"Ground",type:"Cuboid",selected:!1,cy:5.924352450279141,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","Facade #1","Facade #1","No Facade Texture","No Facade Texture"],lz:7,rotation:[0,0,-.22689280275926285],faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"]},{locked:!0,lz:7,selected:!1,rotation:[0,0,.47123889803846897],lx:70,faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"],ly:22.005759208164513,parentId:"Ground",cy:16.732974312474486,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"w8SzPJTBSBctdCdhPMiQ8Y",color:"#e27300",type:"Cuboid",normal:[0,0,1],cx:34.50919214417893,cz:3.5},{lz:.1,normal:[0,0,1],locked:!0,type:"Foundation",cz:.05,ly:33.24144899129459,rotation:[0,0,.11344640137963143],parentId:"Ground",selected:!1,cy:6.225878764069708,solarUpdraftTower:{},solarAbsorberPipe:{},id:"pAENrJmYZCM1ckJVXJhbjf",cx:-3.0110805900742577,solarPowerTower:{},lx:33.143096812026116},{cy:13,rotation:[0,0,0],leftRoofHeight:8,id:"etH6khoAQcue7DhdL3hKE4",windows:[],type:"Wall",leftPoint:[7.5,12,0],lineWidth:.2,leftJoints:["8bjxpu3YEF3xWPcrbQwkhJ"],ly:.3,rightJoints:["kDgsBFAdDRYMKBfw4NrZmC"],color:"#e27300",lx:8.24621125123532,relativeAngle:2.896613990462928,normal:[0,0,1],showLabel:!1,lz:8,cx:3.5000000000000004,textureType:"Wall Texture Default",rightPoint:[-.49999999999999944,14,0],lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",selected:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",rightRoofHeight:8,parentId:"pAENrJmYZCM1ckJVXJhbjf",locked:!0,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{relativeAngle:1.9379701606131157,rightJoints:["etH6khoAQcue7DhdL3hKE4"],cx:10,lx:13.928388277184117,leftPoint:[12.5,-1,0],normal:[0,0,1],id:"8bjxpu3YEF3xWPcrbQwkhJ",roofId:"k6bth8F9WX1VG1Z9xWAtQv",type:"Wall",rightPoint:[7.5,11.999999999999998,0],lineColor:"black",textureType:"Wall Texture Default",leftJoints:["78z2ecrQQgcHrHfygTZ9jK"],leftRoofHeight:8,rightRoofHeight:8,showLabel:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",cy:5.499999999999999,color:"#e27300",lz:8,cz:0,windows:[],selected:!1,rotation:[0,0,0],locked:!0,ly:.3,parentId:"pAENrJmYZCM1ckJVXJhbjf",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{lineWidth:.2,normal:[0,0,1],selected:!1,cx:11.75,rightPoint:[12.5,-1,0],rightJoints:["8bjxpu3YEF3xWPcrbQwkhJ"],id:"78z2ecrQQgcHrHfygTZ9jK",rotation:[0,0,0],textureType:"Wall Texture Default",leftJoints:["mDkaCjWbyiM41dnmEVWdxy"],parentId:"pAENrJmYZCM1ckJVXJhbjf",windows:[],leftPoint:[11,-10.5,0],leftRoofHeight:8,lx:9.617692030835672,lineColor:"black",lz:8,color:"#e27300",foundationId:"pAENrJmYZCM1ckJVXJhbjf",locked:!0,showLabel:!1,roofId:"k6bth8F9WX1VG1Z9xWAtQv",relativeAngle:1.4141944498128813,rightRoofHeight:8,ly:.3,cz:0,type:"Wall",cy:-5.75,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{rotation:[0,0,0],relativeAngle:3.402195045337134,foundationId:"pAENrJmYZCM1ckJVXJhbjf",cx:-4.249999999999999,cy:13,color:"#e27300",lineWidth:.2,lineColor:"black",showLabel:!1,textureType:"Wall Texture Default",rightJoints:["hK2wY1qjEVKHhT5eT1oyYc"],locked:!0,windows:[],rightPoint:[-8,12,0],lz:8,id:"kDgsBFAdDRYMKBfw4NrZmC",type:"Wall",leftJoints:["etH6khoAQcue7DhdL3hKE4"],lx:7.762087348130014,ly:.3,rightRoofHeight:8,selected:!1,parentId:"pAENrJmYZCM1ckJVXJhbjf",cz:0,leftPoint:[-.49999999999999856,14,0],leftRoofHeight:8,roofId:"k6bth8F9WX1VG1Z9xWAtQv",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{ly:.3,locked:!0,showLabel:!1,leftRoofHeight:8,cx:-9.75,rightRoofHeight:8,rotation:[0,0,0],id:"hK2wY1qjEVKHhT5eT1oyYc",leftJoints:["kDgsBFAdDRYMKBfw4NrZmC"],cz:0,relativeAngle:4.375714160997962,leftPoint:[-8.000000000000002,11.999999999999998,0],normal:[0,0,1],textureType:"Wall Texture Default",cy:6.999999999999999,lz:8,windows:[],foundationId:"pAENrJmYZCM1ckJVXJhbjf",rightJoints:["b4LV4TTeCfWqyehosbTDfi"],lx:10.594810050208544,rightPoint:[-11.5,2,0],color:"#e27300",selected:!1,type:"Wall",parentId:"pAENrJmYZCM1ckJVXJhbjf",roofId:"k6bth8F9WX1VG1Z9xWAtQv",lineWidth:.2,lineColor:"black",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",normal:[0,0,1],rightRoofHeight:8,lz:8,cy:-12.749999999999998,ly:.3,id:"mDkaCjWbyiM41dnmEVWdxy",leftPoint:[1,-15,0],lx:10.965856099730656,textureType:"Wall Texture Default",type:"Wall",showLabel:!1,rightPoint:[11,-10.499999999999996,0],rightJoints:["78z2ecrQQgcHrHfygTZ9jK"],lineWidth:.2,selected:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],color:"#e27300",cx:6,relativeAngle:.4228539261329409,locked:!0,parentId:"pAENrJmYZCM1ckJVXJhbjf",windows:[],cz:0,leftJoints:["2og8Xo997HNRwLdj5mnKCf"],leftRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{normal:[0,0,1],leftPoint:[-11.499999999999998,2,0],rightRoofHeight:8,leftJoints:["hK2wY1qjEVKHhT5eT1oyYc"],parentId:"pAENrJmYZCM1ckJVXJhbjf",lx:12.257650672131263,type:"Wall",selected:!1,lz:8,cx:-10.25,relativeAngle:4.917784369574457,id:"b4LV4TTeCfWqyehosbTDfi",rightJoints:["2og8Xo997HNRwLdj5mnKCf"],leftRoofHeight:8,rightPoint:[-9,-10,0],color:"#e27300",foundationId:"pAENrJmYZCM1ckJVXJhbjf",ly:.3,cz:0,rotation:[0,0,0],showLabel:!1,locked:!0,cy:-4,lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",windows:[],textureType:"Wall Texture Default",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{ly:.3,leftPoint:[-8.999999999999996,-9.999999999999996,0],foundationId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],cz:0,textureType:"Wall Texture Default",lx:11.180339887498947,roofId:"k6bth8F9WX1VG1Z9xWAtQv",rightJoints:["mDkaCjWbyiM41dnmEVWdxy"],showLabel:!1,id:"2og8Xo997HNRwLdj5mnKCf",lineWidth:.2,lz:8,windows:[],normal:[0,0,1],parentId:"pAENrJmYZCM1ckJVXJhbjf",selected:!1,cy:-12.499999999999998,locked:!0,leftJoints:["b4LV4TTeCfWqyehosbTDfi"],color:"#e27300",cx:-3.9999999999999982,lineColor:"black",rightPoint:[1,-15,0],relativeAngle:5.81953769817878,leftRoofHeight:8,type:"Wall",rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{cz:0,locked:!0,selected:!1,cx:0,type:"Roof",id:"k6bth8F9WX1VG1Z9xWAtQv",wallsId:["8bjxpu3YEF3xWPcrbQwkhJ","etH6khoAQcue7DhdL3hKE4","kDgsBFAdDRYMKBfw4NrZmC","hK2wY1qjEVKHhT5eT1oyYc","b4LV4TTeCfWqyehosbTDfi","2og8Xo997HNRwLdj5mnKCf","mDkaCjWbyiM41dnmEVWdxy","78z2ecrQQgcHrHfygTZ9jK"],textureType:"No Roof Texture",thickness:.2,showLabel:!1,lineWidth:.2,lineColor:"black",normal:[0,0,1],roofType:"Pyramid",lx:0,color:"#bbc0c4",parentId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],ly:0,cy:0,foundationId:"pAENrJmYZCM1ckJVXJhbjf",lz:0,sideColor:"#bbc0c4",rise:0,ceiling:!1},{id:"bJhvoWT5frHADN5rpErFAp",type:"Foundation",solarUpdraftTower:{},parentId:"Ground",solarAbsorberPipe:{},locked:!0,ly:20.929643657953434,cx:-14.3191636352593,lx:30.96479094015392,lz:.1,normal:[0,0,1],solarPowerTower:{},cy:-19.246790495991178,selected:!1,cz:.05,rotation:[0,0,.11344640137963143]},{showLabel:!1,selected:!1,leftJoints:["u3McT1xxp22V2ArAdyDW3J"],windows:[],textureType:"Wall Texture Default",foundationId:"bJhvoWT5frHADN5rpErFAp",rotation:[0,0,0],normal:[0,0,1],lz:12,relativeAngle:2.8068558162729786,id:"wERFjjYFCWERMhNEB9iuoK",cz:0,type:"Wall",lineWidth:.2,leftRoofHeight:12,locked:!0,parentId:"bJhvoWT5frHADN5rpErFAp",color:"#e27300",ly:.3,rightRoofHeight:12,lineColor:"black",leftPoint:[12.5,5.5,0],cx:6.75,rightPoint:[.9999999999999996,9.5,0],rightJoints:["7dQxN3e4X8QdrAXYYEN8WG"],cy:7.5,roofId:"nGgWDMiF4t3mFWmEvV3G6V",lx:12.175795661885921,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{color:"#e27300",leftJoints:["pcWBDfha4S8aWQ8R18i4nV"],foundationId:"bJhvoWT5frHADN5rpErFAp",rotation:[0,0,0],lz:12,id:"u3McT1xxp22V2ArAdyDW3J",parentId:"bJhvoWT5frHADN5rpErFAp",lineColor:"black",cz:0,cy:-4440892098500626e-31,leftRoofHeight:12,relativeAngle:1.5707963267948966,lx:11,selected:!1,locked:!0,ly:.3,rightRoofHeight:12,textureType:"Wall Texture Default",roofId:"nGgWDMiF4t3mFWmEvV3G6V",windows:[],normal:[0,0,1],leftPoint:[12.5,-5.5,0],type:"Wall",rightJoints:["wERFjjYFCWERMhNEB9iuoK"],showLabel:!1,cx:12.5,rightPoint:[12.5,5.499999999999999,0],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],lineWidth:.2,lx:11.067971810589325,windows:[],selected:!1,textureType:"Wall Texture Default",cx:7.249999999999998,rightPoint:[12.499999999999996,-5.499999999999999,0],cz:0,id:"pcWBDfha4S8aWQ8R18i4nV",showLabel:!1,relativeAngle:.32175055439664213,parentId:"bJhvoWT5frHADN5rpErFAp",leftPoint:[2,-9,0],rightRoofHeight:12,rightJoints:["u3McT1xxp22V2ArAdyDW3J"],foundationId:"bJhvoWT5frHADN5rpErFAp",lineColor:"black",leftRoofHeight:12,roofId:"nGgWDMiF4t3mFWmEvV3G6V",rotation:[0,0,0],color:"#e27300",type:"Wall",ly:.3,cy:-7.25,leftJoints:["6ue5PfovkzS53Qu47dbJ2S"],lz:12,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{windows:[],leftJoints:["wERFjjYFCWERMhNEB9iuoK"],roofId:"nGgWDMiF4t3mFWmEvV3G6V",showLabel:!1,cx:-5.5,relativeAngle:3.541833310623767,normal:[0,0,1],rightRoofHeight:12,lz:12,leftPoint:[.9999999999999996,9.5,0],parentId:"bJhvoWT5frHADN5rpErFAp",locked:!0,lineColor:"black",id:"7dQxN3e4X8QdrAXYYEN8WG",rightPoint:[-12,4,0],rightJoints:["1kwWJQEGgHXq1W18rzcYh4"],lineWidth:.2,selected:!1,rotation:[0,0,0],lx:14.115594213493104,cy:6.75,foundationId:"bJhvoWT5frHADN5rpErFAp",color:"#e27300",leftRoofHeight:12,cz:0,ly:.3,type:"Wall",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cz:0,foundationId:"bJhvoWT5frHADN5rpErFAp",leftJoints:["7dQxN3e4X8QdrAXYYEN8WG"],windows:[],leftRoofHeight:12,normal:[0,0,1],selected:!1,roofId:"nGgWDMiF4t3mFWmEvV3G6V",rightRoofHeight:12,relativeAngle:4.71238898038469,cx:-12,color:"#e27300",parentId:"bJhvoWT5frHADN5rpErFAp",id:"1kwWJQEGgHXq1W18rzcYh4",lx:8.499999999999998,textureType:"Wall Texture Default",type:"Wall",locked:!0,lineWidth:.2,rightJoints:["6ue5PfovkzS53Qu47dbJ2S"],showLabel:!1,lineColor:"black",rotation:[0,0,0],leftPoint:[-11.999999999999998,3.9999999999999982,0],lz:12,cy:-.2500000000000009,rightPoint:[-12,-4.5,0],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cx:-4.999999999999997,lx:14.705441169852739,windows:[],lz:12,rightPoint:[2,-9,0],locked:!0,ly:.3,rotation:[0,0,0],lineWidth:.2,normal:[0,0,1],color:"#e27300",roofId:"nGgWDMiF4t3mFWmEvV3G6V",id:"6ue5PfovkzS53Qu47dbJ2S",leftPoint:[-11.999999999999995,-4.499999999999997,0],textureType:"Wall Texture Default",rightRoofHeight:12,foundationId:"bJhvoWT5frHADN5rpErFAp",showLabel:!1,leftRoofHeight:12,lineColor:"black",cy:-6.749999999999998,leftJoints:["1kwWJQEGgHXq1W18rzcYh4"],parentId:"bJhvoWT5frHADN5rpErFAp",relativeAngle:5.972187026574045,cz:0,type:"Wall",rightJoints:["pcWBDfha4S8aWQ8R18i4nV"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{roofType:"Pyramid",lx:0,lz:0,foundationId:"bJhvoWT5frHADN5rpErFAp",ly:0,normal:[0,0,1],showLabel:!1,lineWidth:.2,id:"nGgWDMiF4t3mFWmEvV3G6V",locked:!0,cz:0,lineColor:"black",selected:!1,color:"#bbc0c4",type:"Roof",cy:0,textureType:"No Roof Texture",rotation:[0,0,0],thickness:.2,wallsId:["7dQxN3e4X8QdrAXYYEN8WG","1kwWJQEGgHXq1W18rzcYh4","6ue5PfovkzS53Qu47dbJ2S","pcWBDfha4S8aWQ8R18i4nV","u3McT1xxp22V2ArAdyDW3J","wERFjjYFCWERMhNEB9iuoK"],cx:0,parentId:"bJhvoWT5frHADN5rpErFAp",sideColor:"#bbc0c4",rise:0,ceiling:!1},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.22689280275926285],lz:7,selected:!1,cx:-16.084384276720815,color:"#e27300",cy:15.36794895618929,faceColors:["#e27300","#e27300","#e27300","#e27300","#f9fdfe","gray"],cz:3.5,parentId:"Ground",locked:!0,normal:[0,0,1],type:"Cuboid",ly:4.781704008793219,lx:6.529460998348136,id:"gNV64yHSX1cBB43cygkyfk"},{parentId:"Ground",ly:4.94412378095928,rotation:[0,0,.47123889803846897],cy:18.145923422735436,type:"Cuboid",locked:!0,normal:[0,0,1],faceColors:["#e27300","#e27300","#e27300","#e27300","#f9fdfe","gray"],lx:7.636154465642389,cz:3.5,lz:7,selected:!1,color:"#e27300",id:"91GnsPRwrk88qGT8VmRMYg",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:8.05053425462394},{solarPowerTower:{},cy:33.364915793093175,parentId:"Ground",id:"1nEGYML9Y5W4dWVRK3n5WW",locked:!0,selected:!1,cx:-5.596972605764655,ly:39.876530801142074,lx:39.61249197494745,solarUpdraftTower:{},rotation:[0,0,.11344640137963143],cz:.05,type:"Foundation",normal:[0,0,1],lz:.1,solarAbsorberPipe:{}},{color:"#e27300",relativeAngle:3.141592653589793,parentId:"1nEGYML9Y5W4dWVRK3n5WW",lx:38.5,rightPoint:[-19.489993841129074,18.992592968189904,.1],showLabel:!1,roofId:"vaDVUZ1uyEALYaHTbs211h",selected:!1,windows:[],lz:7,leftPoint:[19.010006158870922,18.992592968189896,.1],foundationId:"1nEGYML9Y5W4dWVRK3n5WW",normal:[0,0,1],lineWidth:.2,rotation:[0,0,0],leftRoofHeight:7,id:"97HokqKu917DTkAssZGbhE",type:"Wall",cz:0,locked:!0,textureType:"Wall Texture Default",cy:18.992592968189904,cx:-.23999384112907807,leftJoints:["2QQRWDofKjHid4D3rHXvwX"],ly:.3,rightJoints:["fPtvUV7Bzhezt9xwDuPEmF"],lineColor:"black",rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",windows:[],lz:7,rightJoints:["97HokqKu917DTkAssZGbhE"],relativeAngle:1.5707963267948966,rightRoofHeight:7,showLabel:!1,selected:!1,parentId:"1nEGYML9Y5W4dWVRK3n5WW",cy:3.7425929681898977,leftRoofHeight:7,normal:[0,0,1],locked:!0,id:"2QQRWDofKjHid4D3rHXvwX",lineColor:"black",textureType:"Wall Texture Default",ly:.3,roofId:"vaDVUZ1uyEALYaHTbs211h",leftPoint:[19.010006158870922,-11.507407031810096,.1],rotation:[0,0,0],cz:0,leftJoints:["v4k1Tt2DPV8adpDFKC5P12"],foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lx:30.499999999999996,cx:19.01000615887092,color:"#e27300",rightPoint:[19.010006158870922,18.992592968189896,.1],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"fPtvUV7Bzhezt9xwDuPEmF",textureType:"Wall Texture Default",foundationId:"1nEGYML9Y5W4dWVRK3n5WW",leftJoints:["97HokqKu917DTkAssZGbhE"],ly:.3,parentId:"1nEGYML9Y5W4dWVRK3n5WW",lineWidth:.2,leftPoint:[-19.489993841129067,18.992592968189896,0],windows:[],leftRoofHeight:7,cz:0,cy:3.746296484094948,roofId:"vaDVUZ1uyEALYaHTbs211h",locked:!0,rotation:[0,0,0],rightJoints:["ebWW9yh8D9FYjir4ozAvaz"],selected:!1,lx:30.492594609952747,rightPoint:[-19.5,-11.5,0],rightRoofHeight:7,relativeAngle:4.712060829921323,lineColor:"black",showLabel:!1,normal:[0,0,1],lz:7,color:"#e27300",cx:-19.49499692056453,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{parentId:"1nEGYML9Y5W4dWVRK3n5WW",leftJoints:["fPtvUV7Bzhezt9xwDuPEmF"],lineWidth:.2,textureType:"Wall Texture Default",leftPoint:[-19.5,-11.499999999999991,0],cx:-10,color:"#e27300",normal:[0,0,1],cy:-14.999999999999996,locked:!0,rightJoints:["v4k1Tt2DPV8adpDFKC5P12"],selected:!1,leftRoofHeight:7,foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lx:20.24845673131659,windows:[],relativeAngle:5.930194919352675,rotation:[0,0,0],roofId:"vaDVUZ1uyEALYaHTbs211h",showLabel:!1,rightRoofHeight:7,id:"ebWW9yh8D9FYjir4ozAvaz",rightPoint:[-.5,-18.5,0],ly:.3,cz:0,lz:7,lineColor:"black",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{foundationId:"1nEGYML9Y5W4dWVRK3n5WW",rightJoints:["2QQRWDofKjHid4D3rHXvwX"],leftRoofHeight:7,leftJoints:["ebWW9yh8D9FYjir4ozAvaz"],cy:-15.003703515905048,cx:9.255003079435461,roofId:"vaDVUZ1uyEALYaHTbs211h",showLabel:!1,color:"#e27300",lineWidth:.2,relativeAngle:.3441478196335668,lx:20.725267108965333,selected:!1,textureType:"Wall Texture Default",rightRoofHeight:7,parentId:"1nEGYML9Y5W4dWVRK3n5WW",locked:!0,normal:[0,0,1],lineColor:"black",rightPoint:[19.010006158870922,-11.507407031810095,0],lz:7,ly:.3,id:"v4k1Tt2DPV8adpDFKC5P12",cz:0,rotation:[0,0,0],windows:[],leftPoint:[-.5,-18.5,0],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-16.63156986902993,lz:5,lx:8.20544233607179,id:"x3h1GsQhgRmq3SsscYfmB3",faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],color:"#e27300",type:"Cuboid",locked:!0,normal:[0,0,1],parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:11.4641129152687,selected:!1,cx:16.793944749049793,cz:2.5,rotation:[0,0,.11344640137963143]},{lz:6.5,ly:9.79284174487727,color:"#e27300",selected:!1,faceColors:["#e27300","#e27300","#e27300","#e27300","#cbced4","gray"],normal:[0,0,1],rotation:[0,0,.11344640137963143],cx:18.04602799184764,cy:-5.757381561584599,lx:13.705205912378894,id:"pawpCxDgzEqhYUsyrbWbDa",parentId:"Ground",locked:!0,cz:3.25,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid"},{cz:.05,selected:!1,cy:-71.07055697625319,id:"jqbU6DNc1hw25bSjkKpMiq",parentId:"Ground",ly:19.18495691494635,solarPowerTower:{},rotation:[0,0,.47123889803846897],lz:.1,solarUpdraftTower:{},locked:!0,type:"Foundation",lx:30.387424337601402,normal:[0,0,1],solarAbsorberPipe:{},cx:-4.462146546381112},{textureType:"Wall Texture Default",ly:.3,relativeAngle:3.1415926535897927,roofId:"nbhyUPhsFS3FWduEBX5mR4",normal:[0,0,1],locked:!0,leftPoint:[14.911466700814316,8.908511607852175,.1],lineColor:"black",windows:[],type:"Wall",leftRoofHeight:9,selected:!1,id:"t45ndcq7s2gwo2wADp4LvF",lz:9,rightRoofHeight:9,rightJoints:["96Vsi7iFvTbA9KnjAiCzjC"],cz:0,lx:19.999999999999996,rightPoint:[-5.088533299185682,8.908511607852187,.1],rotation:[0,0,0],showLabel:!1,parentId:"jqbU6DNc1hw25bSjkKpMiq",leftJoints:["aUxdFcbeJNrCyc15FmwGK7"],foundationId:"jqbU6DNc1hw25bSjkKpMiq",cx:4.911466700814314,cy:8.908511607852173,color:"#e27300",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{lineWidth:.2,windows:[],roofId:"nbhyUPhsFS3FWduEBX5mR4",id:"2Q9JHTpdQziYaq1i4YVAfD",cy:-9.591488392147804,selected:!1,textureType:"Wall Texture Default",parentId:"jqbU6DNc1hw25bSjkKpMiq",leftRoofHeight:9,ly:.3,rightJoints:["aUxdFcbeJNrCyc15FmwGK7"],lz:9,cz:0,leftPoint:[-14.588533299185684,-9.591488392147816,.1],normal:[0,0,1],rightRoofHeight:9,lineColor:"black",showLabel:!1,rightPoint:[7.411466700814323,-9.591488392147804,.1],rotation:[0,0,0],foundationId:"jqbU6DNc1hw25bSjkKpMiq",relativeAngle:0,cx:-3.588533299185679,color:"#e27300",type:"Wall",locked:!0,leftJoints:["fjtHDsHPyFgzX4a1QCnEg1"],lx:22.000000000000007,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{lz:9,leftJoints:["2Q9JHTpdQziYaq1i4YVAfD"],cy:-.34148839214781823,lineWidth:.2,locked:!0,selected:!1,rightPoint:[14.911466700814314,8.90851160785218,.1],relativeAngle:1.1856388204314217,cz:0,leftRoofHeight:9,lx:19.962464777677127,parentId:"jqbU6DNc1hw25bSjkKpMiq",rightJoints:["t45ndcq7s2gwo2wADp4LvF"],cx:11.161466700814309,normal:[0,0,1],roofId:"nbhyUPhsFS3FWduEBX5mR4",lineColor:"black",foundationId:"jqbU6DNc1hw25bSjkKpMiq",id:"aUxdFcbeJNrCyc15FmwGK7",color:"#e27300",textureType:"Wall Texture Default",rightRoofHeight:9,ly:.3,rotation:[0,0,0],type:"Wall",showLabel:!1,leftPoint:[7.411466700814304,-9.59148839214781,.1],windows:[],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{cx:-2.2158130411354513,lx:3.4859481923608877,ly:4.275960039070249,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"nypM3mdmViZReBeYosY2yV",cz:6,cy:-27.62799047977582,faceColors:["#808080","#808080","#808080","#808080","#ffffff","gray"],lz:12,type:"Cuboid",parentId:"Ground",normal:[0,0,1],color:"#808080",rotation:[0,0,.11344640137963143],locked:!0,selected:!1},{type:"Wall",lx:13.499999999999998,foundationId:"jqbU6DNc1hw25bSjkKpMiq",selected:!1,locked:!0,normal:[0,0,1],leftPoint:[-14.588533299185688,3.9085116078521778,.1],cx:-14.588533299185682,lineWidth:.2,textureType:"Wall Texture Default",leftRoofHeight:9,relativeAngle:4.71238898038469,color:"#e27300",rightJoints:["2Q9JHTpdQziYaq1i4YVAfD"],showLabel:!1,windows:[],lineColor:"black",leftJoints:["iik8XWaEN3wPnYJVvNUf8N"],cz:0,cy:-2.841488392147814,id:"fjtHDsHPyFgzX4a1QCnEg1",parentId:"jqbU6DNc1hw25bSjkKpMiq",ly:.3,lz:9,roofId:"nbhyUPhsFS3FWduEBX5mR4",rightRoofHeight:9,rightPoint:[-14.588533299185684,-9.591488392147816,.1],rotation:[0,0,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{showLabel:!1,rightPoint:[-14.588533299185688,3.9085116078521778,.1],rightRoofHeight:9,lineColor:"black",cx:-9.838533299185684,relativeAngle:3.1415926535897936,foundationId:"jqbU6DNc1hw25bSjkKpMiq",windows:[],type:"Wall",parentId:"jqbU6DNc1hw25bSjkKpMiq",id:"iik8XWaEN3wPnYJVvNUf8N",roofId:"nbhyUPhsFS3FWduEBX5mR4",rightJoints:["fjtHDsHPyFgzX4a1QCnEg1"],leftRoofHeight:9,cy:3.9085116078521835,lx:9.500000000000002,locked:!0,textureType:"Wall Texture Default",normal:[0,0,1],lz:9,leftJoints:["96Vsi7iFvTbA9KnjAiCzjC"],selected:!1,cz:0,leftPoint:[-5.088533299185688,3.908511607852178,.1],lineWidth:.2,color:"#e27300",rotation:[0,0,0],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{textureType:"Wall Texture Default",selected:!1,rotation:[0,0,0],showLabel:!1,lineColor:"black",roofId:"nbhyUPhsFS3FWduEBX5mR4",leftPoint:[-5.088533299185681,8.908511607852187,.1],cx:-5.088533299185681,lx:5.000000000000002,type:"Wall",rightJoints:["iik8XWaEN3wPnYJVvNUf8N"],windows:[],lz:9,locked:!0,leftRoofHeight:9,rightRoofHeight:9,ly:.3,parentId:"jqbU6DNc1hw25bSjkKpMiq",rightPoint:[-5.088533299185688,3.908511607852178,.1],cy:6.408511607852189,normal:[0,0,1],color:"#e27300",leftJoints:["t45ndcq7s2gwo2wADp4LvF"],relativeAngle:4.71238898038469,foundationId:"jqbU6DNc1hw25bSjkKpMiq",cz:0,lineWidth:.2,id:"96Vsi7iFvTbA9KnjAiCzjC",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{ly:18.600818138777164,normal:[0,0,1],lz:7,id:"9ZkQyqaEmTeYEWHbrCFRQb",type:"Cuboid",cx:-21.473353217856005,cz:3.5,lx:28.43689133843813,cy:-80.03483805963909,selected:!1,faceColors:["#e27300","#e27300","#e27300","#e27300","#a0a8a1","gray"],rotation:[0,0,.47123889803846897],parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"#e27300",locked:!0},{lineColor:"black",foundationId:"jqbU6DNc1hw25bSjkKpMiq",cz:0,roofType:"Pyramid",locked:!0,lz:0,normal:[0,0,1],id:"nbhyUPhsFS3FWduEBX5mR4",cy:0,cx:0,type:"Roof",ly:0,lineWidth:.2,color:"#a0a8a1",selected:!1,wallsId:["t45ndcq7s2gwo2wADp4LvF","96Vsi7iFvTbA9KnjAiCzjC","iik8XWaEN3wPnYJVvNUf8N","fjtHDsHPyFgzX4a1QCnEg1","2Q9JHTpdQziYaq1i4YVAfD","aUxdFcbeJNrCyc15FmwGK7"],showLabel:!1,lx:0,textureType:"No Roof Texture",thickness:.2,parentId:"jqbU6DNc1hw25bSjkKpMiq",rotation:[0,0,0],sideColor:"#a0a8a1",rise:0,ceiling:!1},{rotation:[0,0,.11344640137963143],lx:33.330266968334364,parentId:"Ground",locked:!0,selected:!1,cy:-18.068839609848254,color:"#e27300",id:"u9fp9k5YxThQWCBpcjSypa",ly:24.01347765210959,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],lz:7,faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"],cz:3.5,cx:-3.833297199689312,type:"Cuboid"},{parentId:"Ground",lx:6.254852089156679,color:"#e27300",lz:6,cy:-14.332630086328715,rotation:[0,0,.11344640137963143],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:8.529051468761843,cz:3,cx:23.820970949615347,normal:[0,0,1],id:"g3WSwwiWWgknhD1TsV34bi",locked:!0,type:"Cuboid",faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],selected:!1},{selected:!1,parentId:"Ground",rotation:[0,0,.11344640137963143],lx:138.78684366347608,solarAbsorberPipe:{},cz:.05,textureType:"Foundation Texture #1",lz:.1,id:"reBHg6Exy2MChwcxtr3gj7",locked:!0,color:"#808080",cx:-1.8708371231135246,solarUpdraftTower:{},type:"Foundation",ly:56.63391373000898,cy:89.14969979439752,solarPowerTower:{},normal:[0,0,1]},{color:"#808080",cz:.05,solarPowerTower:{},textureType:"Foundation Texture #1",locked:!0,ly:114.12479182802815,id:"36nmeGQGETdJPm5rWVVRjJ",solarUpdraftTower:{},lx:42.16787694736764,lz:.1,normal:[0,0,1],solarAbsorberPipe:{},selected:!1,cy:-148.8692182215829,parentId:"Ground",rotation:[0,0,.11344640137963143],type:"Foundation",cx:-28.614737300680485},{id:"bFksCZzoXd93c7MyivmV9K",faceColors:["gray","gray","gray","gray","gray","gray"],ly:5.781774626442493,rotation:[0,0,.11344640137963143],cx:-8.05557182480289,normal:[0,0,1],parentId:"Ground",color:"gray",cy:28.559956693666173,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0,selected:!1,cz:4.5,lz:9,lx:2.7809448048857632,type:"Cuboid"},{id:"4uGXxDXoTLYvikq5fUL9dt",normal:[0,0,1],parentId:"Ground",cz:4.5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:38.25979783456656,lx:2.7809448048857632,faceColors:["gray","gray","gray","gray","gray","gray"],lz:9,selected:!1,locked:!0,rotation:[0,0,.11344640137963143],cx:-6.727695250737455,type:"Cuboid",color:"gray",ly:5.781774626442493},{type:"Tree",lx:10,selected:!1,name:"Magnolia",cz:0,locked:!0,id:"xmEmwPRar8iA32AgGqBDZo",cy:44.65483300272308,rotation:[0,0,0],parentId:"Ground",cx:15.962764438139406,normal:[0,1,0],lz:10},{cx:4.786319195449075,name:"Magnolia",lz:10,id:"2N9b6wPaP7vTT6v2GfUvci",cy:57.504795212360165,selected:!1,rotation:[0,0,0],parentId:"Ground",type:"Tree",locked:!0,lx:10,normal:[0,0,1],cz:0},{cz:0,id:"tQuBdxiCZwsv3tPttqZcge",locked:!0,type:"Tree",lz:10,parentId:"Ground",lx:10,cx:-37.72446755161796,name:"Magnolia",rotation:[0,0,0],selected:!1,cy:24.20884875644974,normal:[0,0,1]},{rotation:[0,0,0],locked:!0,normal:[0,0,1],parentId:"Ground",cz:0,cy:27.53619242162998,name:"Magnolia",type:"Tree",lx:10,cx:-56.12589485999845,id:"sBLygdm7dv2Y53q9fnNST7",selected:!1,lz:10},{ly:1,type:"Cuboid",id:"dHHanjftUrSruBnauGJSLy",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",cx:-5.870064866540858,lx:2,normal:[0,0,1],lz:9,cy:15.318325135239354,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.11344640137963143],selected:!1,locked:!0,cz:4.5},{id:"9vxhEg5mY7bnj3mASyLPuq",cz:4.5,lx:1.5,ly:1,cx:-3.8512872137145457,normal:[0,0,1],type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:11.777212358373532,lz:9,rotation:[0,0,.11344640137963143],parentId:"Ground",selected:!1,color:"gray"},{cz:4.5,cy:15.693005652428699,normal:[0,0,1],cx:-2.6936903398761203,selected:!1,locked:!0,lz:9,rotation:[0,0,.11344640137963143],color:"gray",ly:1,faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",id:"hvuDpXrEgC1sbzpcoS3Pv5",lx:2,type:"Cuboid"},{cz:4.5,id:"xtuommaSLMKZrejRaGGfMk",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:9,type:"Cuboid",cx:6.443464344950151,locked:!0,cy:6.860194005695455,color:"gray",parentId:"Ground",rotation:[0,0,.47123889803846897],selected:!1,lx:1,ly:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{color:"gray",ly:2,parentId:"Ground",normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"sJYEUPNTzxmWik8iqk2zs1",cy:25.83184970998569,locked:!0,cz:4,selected:!1,rotation:[0,0,.47123889803846897],type:"Cuboid",lx:2,cx:46.69245220859119},{cz:4,faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,cx:57.51703501824526,lx:2,locked:!0,selected:!1,color:"gray",ly:2,parentId:"Ground",type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:32.45468730038977,rotation:[0,0,.47123889803846897],id:"bbqihnnqHMG2BadQAqxu4w",normal:[0,0,1]},{id:"25nzwRphH2HZWasHbdyR9H",rotation:[0,0,.47123889803846897],cz:4,cx:9.64097434426713,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:8,ly:2,selected:!1,color:"gray",locked:!0,type:"Cuboid",cy:14.625073334021367,lx:2,parentId:"Ground"},{locked:!0,ly:3.023435418581383,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",normal:[0,0,1],lz:8,id:"auEsiwZVDg1BpD4SLuxEMu",cz:4,selected:!1,cx:13.735991450729825,rotation:[0,0,.47123889803846897],parentId:"Ground",lx:1.956376737761125,cy:11.519743764909009},{cx:8.737674718750876,lz:8,selected:!1,lx:1.6103314300645608,color:"gray",cz:4,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,ly:6.078985704618435,rotation:[0,0,.47123889803846897],cy:10.874631022787334,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",id:"hVeFrmw4X6UXNLJxSgFFTX"},{lz:8,cy:9.924339607771106,type:"Cuboid",lx:4.469059126518252,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],cz:4,parentId:"Ground",ly:2.3777908106308545,locked:!0,cx:10.942483109442229,selected:!1,id:"meaBMTA4CLhnmmXQkVUk4b",color:"gray",rotation:[0,0,.47123889803846897],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{rotation:[0,0,-.22689280275926285],id:"uaSYyvLxcyJGUeppQk2fkP",normal:[0,0,1],locked:!0,faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",cx:-58.373259464283144,selected:!1,ly:1,cz:4,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lx:1,parentId:"Ground",cy:19.91282275388616,lz:8},{lx:1,parentId:"Ground",locked:!0,ly:1,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],cx:-18.92226089346107,rotation:[0,0,-.22689280275926285],type:"Cuboid",cz:4,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"aSJgYXr93BZfEPKkAwN8r7",lz:8,normal:[0,0,1],cy:-.6960334472303071},{locked:!0,lx:2.0388988979736835,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.22689280275926285],id:"vUyZDk5YRtPiBnYt1snpgt",selected:!1,cy:10.353201903334014,color:"gray",ly:2.0216903725484365,normal:[0,0,1],type:"Cuboid",cx:-16.847254368208766,parentId:"Ground",lz:8,faceColors:["gray","gray","gray","gray","gray","gray"],cz:4},{type:"Cuboid",cy:11.088622268912289,cz:4,rotation:[0,0,-.22689280275926285],ly:2.9540425209021324,id:"dfGLJ9Zv1uAnvCfrcBHsCt",locked:!0,lz:8,parentId:"Ground",color:"gray",cx:-14.705676459927645,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lx:1.7677570935590694,selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:7.5,selected:!1,cz:3.75,lx:.9904096888649759,type:"Cuboid",color:"gray",cy:-4.822954202789914,parentId:"Ground",locked:!0,id:"n5nBWKF2pcd87Hywxr4MmX",cx:19.016528568953923,normal:[0,0,1],ly:1.9410657757772696,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"]},{type:"Cuboid",ly:1,cx:22.516067022100426,color:"gray",parentId:"Ground",cz:3.5,locked:!0,selected:!1,lx:1,lz:7,rotation:[0,0,.11344640137963143],id:"oDooft2rdfK7T7GeS22TTX",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],cy:-11.05785927501001},{rotation:[0,0,.11344640137963143],type:"Cuboid",selected:!1,lz:6,locked:!0,lx:1,parentId:"Ground",ly:1,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],id:"5MNhY3je6nxRhgVTaQd4XD",cx:17.344429933105552,cy:-13.822777502645632,cz:3},{rotation:[0,0,.11344640137963143],id:"hTpGn7Ld64gegWm4tEbZhj",normal:[0,0,1],lz:6,locked:!0,cz:3,lx:1,type:"Cuboid",ly:1,selected:!1,cx:13.157095779673083,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-14.697109758746397,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",color:"gray"},{type:"Cuboid",parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-6.445109761249004,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"],cz:4.5,locked:!0,cx:-1.5852019434320317,ly:1,selected:!1,normal:[0,0,1],lz:9,id:"rq5RGqs3gD3vGibJBsqSoL",color:"gray",lx:1},{lx:1,parentId:"Ground",rotation:[0,0,.11344640137963143],normal:[0,0,1],type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",locked:!0,selected:!1,cx:1.8238223447270574,id:"pVxtrZrVGwkvEXjPsLSV95",cz:4,ly:1,cy:-11.816737963378758,lz:8},{selected:!1,ly:1.3665925830167867,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],rotation:[0,0,.11344640137963143],cz:6.5,lz:13,id:"kfMaGeiQgdSFzmbpVf6zVf",cx:-10.111227834366188,type:"Cuboid",lx:1.8193596961081897,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",locked:!0,cy:-15.497913514100716},{color:"gray",lx:1,type:"Cuboid",cy:-27.533957889184162,cz:6.5,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,.11344640137963143],selected:!1,lz:13,id:"bkDAE3FxXTUCR13vm7LnmF",locked:!0,normal:[0,0,1],ly:1,cx:-2.3075258042202},{normal:[0,0,1],selected:!1,locked:!0,cx:-15.307775607494396,lx:2.5676889546751847,color:"gray",ly:1.3662836019362639,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.11344640137963143],parentId:"Ground",type:"Cuboid",cz:6.5,lz:13,cy:-18.40230760434186,id:"aQcL3piZZWLrX5Ud8AM8Ke"},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,id:"i4oTzKRpveYkgD2Hd8SNHf",faceColors:["gray","gray","gray","gray","gray","gray"],ly:1,lz:14,color:"gray",lx:1,parentId:"Ground",cy:-29.315479380504186,rotation:[0,0,.11344640137963143],cx:16.7566929241104,cz:7,type:"Cuboid",normal:[0,0,1],locked:!0},{ly:1,normal:[0,0,1],cx:19.914283665719672,cy:-44.497740663585425,lz:14,lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,.11344640137963143],id:"ah9bKoBGUiMWeHKfdxzpi9",cz:7,color:"gray",type:"Cuboid",locked:!0,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground"},{lz:14,normal:[0,0,1],locked:!0,id:"vBZ2DA9y9KYiCwgzGpLfFD",color:"gray",lx:1,rotation:[0,0,.11344640137963143],cz:7,cy:-47.62693833888401,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",selected:!1,ly:1,cx:20.25452350291907},{cy:-38.0401954851006,type:"Cuboid",lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"],cz:7,locked:!0,id:"2jpUuL1gcsjduHrhm3n43t",selected:!1,parentId:"Ground",cx:-17.59480337417267,color:"gray",lz:14},{faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1,cy:-50.768525050448105,lz:14,lx:1,id:"doc8sxSmKeL7RKrAnLUcoL",selected:!1,type:"Cuboid",cx:-16.679482324891723,locked:!0,color:"gray",rotation:[0,0,.11344640137963143],parentId:"Ground",cz:7},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],selected:!1,id:"us3zCoK5ewuBS6QTdVwh5n",cz:7,ly:1,lx:1,normal:[0,0,1],color:"gray",locked:!0,lz:14,rotation:[0,0,.11344640137963143],cy:-63.79092407456009,cx:-15.262534505030402,parentId:"Ground"},{faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.47123889803846897],lz:10,normal:[0,0,1],lx:1,type:"Cuboid",cy:-67.46996837049493,id:"t959VVjipFtQcWvuiVz2K9",parentId:"Ground",cx:-4.425598860553924,cz:5,color:"gray",selected:!1,ly:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0},{ly:1,lx:1,locked:!0,type:"Cuboid",rotation:[0,0,.47123889803846897],cx:-3.1466144543948023,normal:[0,0,1],color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,cy:-66.65602476858759,selected:!1,id:"qhPJYtSXY5a7RZFHnh9sXY",faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",cz:5},{cx:-6.364270455130605,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],lz:10,ly:1,locked:!0,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],lx:1,color:"gray",type:"Cuboid",selected:!1,id:"uHN4GMMVvGcf6APcCUZnSj",cy:-75.21381547306636,rotation:[0,0,.47123889803846897],cz:5},{ly:1,cy:-83.03785791923461,rotation:[0,0,.47123889803846897],locked:!0,lx:1,normal:[0,0,1],color:"gray",lz:8,selected:!1,cx:-23.111777972260608,id:"vtCxYC9fd4ntw6fFZCahnk",faceColors:["gray","gray","gray","gray","gray","gray"],cz:4,parentId:"Ground",type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,lz:10,lx:1,rotation:[0,0,.47123889803846897],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1,color:"gray",type:"Cuboid",cy:-79.50076914190635,cx:-14.662733157197128,cz:5,id:"hZWUtVcu3jjMB9HKr9R8ro",normal:[0,0,1],parentId:"Ground"},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0,lx:1,ly:1,cz:4,normal:[0,0,1],color:"gray",rotation:[0,0,.47123889803846897],cy:-84.70748291923546,id:"iw4xNrSMGDSZJUGzJ8pTqm",cx:-28.436527972260606,lz:8,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground"},{type:"Cuboid",cz:4,locked:!0,lz:8,ly:1,id:"iLtZHkfUgxkgeqhAZivYfe",cx:-30.88874837783922,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],selected:!1,cy:-84.0342920377216,normal:[0,0,1],parentId:"Ground",rotation:[0,0,.47123889803846897],lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,lz:8,parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-13.782520236054552,rotation:[0,0,.47123889803846897],type:"Cuboid",lx:1,cz:4,id:"ssCGfzEitaxtFqQF7Ga8kZ",color:"gray",ly:1,normal:[0,0,1],cy:-67.47809368871428,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0},{selected:!1,color:"#f9fdfe",ly:0,foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lz:0,lx:0,lineColor:"black",textureType:"No Roof Texture",rotation:[0,0,0],parentId:"1nEGYML9Y5W4dWVRK3n5WW",roofType:"Pyramid",wallsId:["97HokqKu917DTkAssZGbhE","fPtvUV7Bzhezt9xwDuPEmF","ebWW9yh8D9FYjir4ozAvaz","v4k1Tt2DPV8adpDFKC5P12","2QQRWDofKjHid4D3rHXvwX"],locked:!0,type:"Roof",cx:0,showLabel:!1,lineWidth:.2,thickness:.2,normal:[0,0,1],cz:0,cy:0,id:"vaDVUZ1uyEALYaHTbs211h",sideColor:"#f9fdfe",rise:0,ceiling:!1},{selected:!1,lz:.4,filled:!1,id:"fdazNUtKFoSEAPgq9CQJES",type:"Polygon",locked:!0,cx:0,parentId:"qsPqX4eMRADWLb6uFzZyu3",color:"#d0d7da",selectedIndex:3,foundationId:"qsPqX4eMRADWLb6uFzZyu3",cz:0,rotation:[0,0,.11344640137963143],normal:[0,0,1],vertices:[{x:-.3919656451231681,y:-.44378588479022363},{x:-.3919656451231681,y:.4581015584931341},{y:.4581015584931341,x:.3563324046574256},{y:-.44378588479022363,x:.3563324046574256}],cy:0,ly:.4,lx:.4,lineColor:"#ffffff",lineStyle:2},{type:"Polygon",cz:0,lx:.4,selected:!1,color:"#dadedf",normal:[0,0,1],lz:.4,filled:!1,locked:!0,parentId:"jeaVPPnZw5Ed7yuuYuFjT4",ly:.4,cy:0,selectedIndex:5,rotation:[0,0,-.22689280275926285],id:"4bjxP3DGK4dodwicaeMGrq",vertices:[{x:-.4583333333333333,y:-.41984420002481043},{x:-.4583333333333333,y:.2798961333498736},{y:.2798961333498736,x:-.4083333333333333},{x:-.4083333333333333,y:.41984420002481043},{x:.20833333333333334,y:.41984420002481043},{y:-.41984420002481043,x:.20833333333333334}],cx:0,foundationId:"jeaVPPnZw5Ed7yuuYuFjT4",lineStyle:2,lineColor:"#ffffff"},{type:"Tree",name:"Magnolia",cx:-42.801241972409024,cy:-41.7007983662498,cz:0,lx:9.278019576062961,lz:8.643797542596442,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"g1FsRLcUZdSt9Q2DU31zPA",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:-59.8787215366302,cy:-50.66068977312313,cz:-7105427357601002e-30,lx:9.278019576062961,lz:11.78149367100265,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"krmMVWEiKsnePivMXL7Nes",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:-51.87839388003734,cy:-62.51980907480443,cz:0,lx:6.499371428507982,lz:7.082169014620417,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rW1c33rx65WFpCNTzaAbaM",selected:!1,locked:!0}],R2n={showDailyLightSensorPanel:!1,yearlyHeliostatYieldPanelY:0,yearlyFresnelReflectorYieldPanelY:0,showInstructionPanel:!1,yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelX:0,panCenter2D:[-38.51386717609555,9.861822957610682,-.00020795605672141833],dailyPvYieldPanelRect:{height:400,width:600,x:0,y:0},panCenter:[-7.484723712513362,-24.66583880095733,.1225204207961253],showMapPanel:!1,groundColor:"#16a5a5",yearlyFresnelReflectorYieldPanelRect:{x:0,width:600,y:0,height:400},yearlyPvYieldPanelY:0,mapWeatherStations:!1,visibilityResultsPanelX:0,evolutionPanelRect:{x:0,y:0,width:640,height:400},stickyNotePanelRect:{width:269,y:0,x:-3,height:87},cameraPosition2D:[-38.51386717609555,9.861802956721695,19.99979204387911],showYearlyParabolicTroughYieldPanel:!1,showEvolutionPanel:!1,showHeliodonPanel:!1,theme:"Default",showYearlyParabolicDishYieldPanel:!1,mapPanelX:0,showDailyFresnelReflectorYieldPanel:!1,dailyLightSensorPanelX:0,dailyParabolicDishYieldPanelX:0,heliodon:!1,dailyPvYieldPanelX:0,dailyFresnelReflectorYieldPanelRect:{y:0,height:400,x:0,width:600},axes:!0,mapTilt:0,dailyFresnelReflectorYieldPanelX:0,showEconomicsPanel:!1,dailyParabolicTroughYieldPanelY:0,dailyLightSensorPanelY:0,visibilityResultsPanelY:0,yearlyParabolicTroughYieldPanelX:0,showYearlyFresnelReflectorYieldPanel:!1,yearlyLightSensorPanelRect:{height:500,y:0,x:0,width:600},dailyParabolicDishYieldPanelRect:{x:0,height:400,width:600,y:0},showDesignInfoPanel:!0,yearlyUpdraftTowerYieldPanelRect:{y:0,height:400,x:0,width:600},yearlyPvYieldPanelRect:{x:0,y:0,height:400,width:600},yearlyParabolicDishYieldPanelX:0,solarRadiationHeatMapReflectionOnly:!1,showZenithAngle:!0,groundImage:!0,showYearlyLightSensorPanel:!1,mapZoom:17,yearlyFresnelReflectorYieldPanelX:0,visibilityResultsPanelRect:{width:600,x:0,y:0,height:470},showStickyNotePanel:!0,yearlyLightSensorPanelShowClearness:!1,showElevationAngle:!0,weatherPanelY:0,yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelY:0,mapType:"hybrid",showYearlyPvYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,yearlyPvYieldPanelX:0,diurnalTemperaturePanelRect:{width:600,x:0,y:0,height:400},dailyHeliostatYieldPanelX:0,heliodonPanelX:0,showYearlyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelRect:{width:600,x:0,height:400,y:0},dailyHeliostatYieldPanelY:0,yearlyParabolicTroughYieldPanelY:0,stickyNotePanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},orthographic:!1,cameraPosition:[35.702709576196014,-94.16775966891016,142.42515130862242],showDailyUpdraftTowerYieldPanel:!1,showDailyPvYieldPanel:!1,enableRotate:!0,showYearlyUpdraftTowerYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showDailyParabolicTroughYieldPanel:!1,dailyFresnelReflectorYieldPanelY:0,showWeatherPanel:!1,yearlyLightSensorPanelX:0,mapPanelY:0,dailyHeliostatYieldPanelRect:{height:400,width:600,x:0,y:0},autoRotate:!1,dailyParabolicDishYieldPanelY:0,cameraZoom:22.160664819944596,showAzimuthAngle:!0,weatherPanelRect:{y:0,x:0,height:500,width:500},showSunAngles:!1,dailyLightSensorPanelRect:{x:0,width:600,height:360,y:0},heliodonPanelY:0,showSolarPanelVisibilityResultsPanel:!1,showDailyHeliostatYieldPanel:!1,shadowEnabled:!0,dailyUpdraftTowerYieldPanelRect:{x:0,width:640,height:550,y:0},dailyPvYieldPanelY:0,showDiurnalTemperaturePanel:!1,weatherPanelX:0,ambientLightIntensity:.1,solarRadiationHeatMapMaxValue:5,stickyNotePanelX:0,showSiteInfoPanel:!0,yearlyHeliostatYieldPanelRect:{width:600,x:0,y:0,height:400}},H2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},M2n=1,I2n={rowAxis:"Left-Right",interRowSpacing:2,tiltAngle:0,poleSpacing:3,rowsPerRack:1,poleHeight:1,pvModelName:"SPR-X21-335-BLK",orientation:"Landscape"},z2n={maximumTiltAngle:1.5707963267948966,minimumRowsPerRack:1,rowAxis:"Left-Right",orientation:"Landscape",maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumInterRowSpacing:10,minimumInterRowSpacing:2,poleSpacing:5,poleHeight:1,pvModelName:"CS6X-355P-FG"},D2n={particleSwarmOptimizationParams:{vmax:.01,localSearchRadius:.1,inertia:.8,searchMethod:1,maximumSteps:5,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,convergenceThreshold:.01,cognitiveCoefficient:.1,swarmSize:20},geneticAlgorithmParams:{localSearchRadius:.1,maximumGenerations:5,mutationRate:.1,problem:"Solar Panel Tilt Angle",selectionRate:.5,populationSize:20,objectiveFunctionType:1,searchMethod:1,convergenceThreshold:.01,selectionMethod:1,crossoverRate:.5}},E2n={electricitySellingPrice:.25,projectLifeSpan:25,operationalCostPerUnit:.15},k2n=[`South Burlington High School -Vermont, USA`],F2n={docid:w2n,time:v2n,timestamp:x2n,userid:b2n,owner:S2n,email:T2n,world:P2n,elements:C2n,view:R2n,graphState:H2n,evolutionMethod:M2n,solarPanelArrayLayoutParams:I2n,solarPanelArrayLayoutConstraints:z2n,evolutionaryAlgorithmState:D2n,economicsParams:E2n,notes:k2n},L2n="dWgDnPJDqR9XymfxSQN7WJ",W2n="02/03/2023 07:56 pm",N2n=1675472176562,U2n="QWecNcxhyvP6j6sBN11hBsfZDau1",B2n=null,j2n=null,Y2n={pvGridCellSize:.5,timesPerHour:2,latitude:33.225546302957646,longitude:-105.74311446654394,daysPerYear:4,airAttenuationCoefficient:.01,solarPanelVisibilityGridCellSize:.2,cspDaysPerYear:4,sutGridCellSize:1,diurnalTemperatureModel:1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},noAnimationForSolarPanelSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1,name:"default",highestTemperatureTimeInMinutes:900,noAnimationForSensorDataCollection:!1,cspGridCellSize:.5,cspTimesPerHour:4,sutDaysPerYear:4,airConvectiveCoefficient:5,dustLoss:.05,address:"249 White Mountain Dr, Mescalero, NM 88340, USA",sutTimesPerHour:4,discretization:"Approximate",noAnimationForHeatmapSimulation:!1,date:"Wed Jun 22 2022 12:00:00 GMT-0400 (Eastern Daylight Time)",solarRadiationHeatmapGridCellSize:10},O2n=[{cx:36.04364346579838,color:"#808080",normal:[0,0,1],id:"aXWETyunkqtQVNXGWr9VZd",solarPowerTower:{},solarAbsorberPipe:{},lx:65.26457989390352,rotation:[0,0,-.41015237421866746],ly:29.235638926118842,cz:.5,solarUpdraftTower:{},cy:-20.683265041734174,parentId:"Ground",locked:!1,type:"Foundation",lz:1,selected:!1},{type:"Wall",parentId:"aXWETyunkqtQVNXGWr9VZd",locked:!1,leftJoints:["7a9g1bU6Fq192u17jYzUVQ"],windows:[],normal:[0,0,1],rightPoint:[-30.895924961184342,13.06099510897374,1],leftPoint:[32.60407503881567,13.060995108973744,1],id:"qmFzWJnLZGgtRZtU4NCV2i",rightJoints:["8UV181m3Qgm4gVeHjN6o1N"],leftRoofHeight:5,color:"white",cx:.8540750388156599,foundationId:"aXWETyunkqtQVNXGWr9VZd",lineColor:"black",cz:0,lz:5,rotation:[0,0,-.41015237421866746],selected:!1,textureType:"Wall Texture Default",showLabel:!1,cy:13.060995108973737,roofId:"adpYUuHEY6XwTLGq9piRR2",ly:.3,lx:63.5,relativeAngle:3.141592653589793,rightRoofHeight:5,lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lineWidth:.2,windows:[],cy:-.1890048910262596,color:"white",showLabel:!1,rightJoints:["qmFzWJnLZGgtRZtU4NCV2i"],normal:[0,0,1],lineColor:"black",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],roofId:"adpYUuHEY6XwTLGq9piRR2",lz:5,locked:!1,cx:32.604075038815665,lx:26.500000000000004,ly:.3,selected:!1,leftPoint:[32.604075038815665,-13.439004891026256,1],parentId:"aXWETyunkqtQVNXGWr9VZd",rightPoint:[32.60407503881566,13.060995108973742,1],leftRoofHeight:5,type:"Wall",rightRoofHeight:5,foundationId:"aXWETyunkqtQVNXGWr9VZd",leftJoints:["cqVaqhkF9cafDk3CujuxhA"],cz:0,relativeAngle:1.5707963267948966,id:"7a9g1bU6Fq192u17jYzUVQ",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cx:.8540750388156644,windows:[],leftPoint:[-30.895924961184335,-13.439004891026261,1],rightRoofHeight:5,showLabel:!1,selected:!1,type:"Wall",leftJoints:["8UV181m3Qgm4gVeHjN6o1N"],rightPoint:[32.604075038815665,-13.439004891026256,1],cz:0,ly:.3,parentId:"aXWETyunkqtQVNXGWr9VZd",relativeAngle:0,id:"cqVaqhkF9cafDk3CujuxhA",roofId:"adpYUuHEY6XwTLGq9piRR2",rightJoints:["7a9g1bU6Fq192u17jYzUVQ"],lx:63.50000000000001,textureType:"Wall Texture Default",lineWidth:.2,cy:-13.439004891026254,lineColor:"black",lz:5,rotation:[0,0,-.41015237421866746],leftRoofHeight:5,locked:!1,normal:[0,0,1],foundationId:"aXWETyunkqtQVNXGWr9VZd",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cy:-.18900489102626317,leftRoofHeight:5,lz:5,textureType:"Wall Texture Default",leftPoint:[-30.895924961184342,13.06099510897374,1],relativeAngle:4.71238898038469,cz:0,rightJoints:["cqVaqhkF9cafDk3CujuxhA"],selected:!1,foundationId:"aXWETyunkqtQVNXGWr9VZd",lx:26.50000000000001,parentId:"aXWETyunkqtQVNXGWr9VZd",rotation:[0,0,-.41015237421866746],rightPoint:[-30.89592496118435,-13.439004891026267,1],color:"white",type:"Wall",normal:[0,0,1],rightRoofHeight:5,leftJoints:["qmFzWJnLZGgtRZtU4NCV2i"],cx:-30.895924961184342,windows:[],roofId:"adpYUuHEY6XwTLGq9piRR2",ly:.3,lineWidth:.2,id:"8UV181m3Qgm4gVeHjN6o1N",locked:!1,lineColor:"black",showLabel:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lz:1,solarAbsorberPipe:{},cz:.5,ly:4.206012254646608,type:"Foundation",rotation:[0,0,-.41015237421866746],lx:31.26437853168839,normal:[0,0,1],solarUpdraftTower:{},cx:-2.5548208091674596,selected:!1,parentId:"Ground",cy:-104.18033992817378,solarPowerTower:{},locked:!1,id:"67y6tGP5Z273J9KfaZt2qW"},{color:"white",ly:.3,normal:[0,0,1],windows:[],leftPoint:[-2.1622916607695264,-2.0529036258004845,0],rightPoint:[-2.1622916607695246,1.9676858128519996,0],rightRoofHeight:6,roofId:"vamU7TTNZeBARJChC8HbPy",rightJoints:["vyB1xaFqKE2eYECPWHSjtt"],lineColor:"black",showLabel:!1,type:"Wall",parentId:"67y6tGP5Z273J9KfaZt2qW",cz:0,id:"vVaHoupmNeeUhBf8aEhNwN",cy:-.042608906474242425,foundationId:"67y6tGP5Z273J9KfaZt2qW",lineWidth:.2,textureType:"Wall Texture Default",leftJoints:["c2T86bj1Ndr1wBUNfBDMTd"],cx:-2.1622916607695255,relativeAngle:1.5707963267948961,rotation:[0,0,-.41015237421866746],selected:!1,centerRoofHeight:[0,6.274887651356121],lz:6,lx:4.020589438652484,leftRoofHeight:6,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cy:-2.0529036258004867,relativeAngle:5681468402920898e-31,selected:!1,normal:[0,0,1],lz:6,parentId:"67y6tGP5Z273J9KfaZt2qW",windows:[],ly:.3,textureType:"Wall Texture Default",leftJoints:["42wy1mrJXkRG5d8TpG2sXB"],roofId:"vamU7TTNZeBARJChC8HbPy",cz:0,leftPoint:[-9.97874294335964,-2.052903625800489,0],lineWidth:.2,id:"c2T86bj1Ndr1wBUNfBDMTd",rightRoofHeight:6,color:"white",locked:!1,cx:-6.070517302064583,lineColor:"black",lx:7.816451282590114,type:"Wall",rotation:[0,0,-.41015237421866746],rightPoint:[-2.1622916607695264,-2.0529036258004845,0],rightJoints:["vVaHoupmNeeUhBf8aEhNwN"],showLabel:!1,foundationId:"67y6tGP5Z273J9KfaZt2qW",leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{showLabel:!1,lineWidth:.2,lx:4.020589438652497,cy:-.042608906474240316,color:"white",lineColor:"black",leftJoints:["vyB1xaFqKE2eYECPWHSjtt"],id:"42wy1mrJXkRG5d8TpG2sXB",leftPoint:[-9.978742943359647,1.9676858128520083,0],ly:.3,cz:0,parentId:"67y6tGP5Z273J9KfaZt2qW",rightRoofHeight:6,lz:6,type:"Wall",cx:-9.978742943359643,relativeAngle:-1.5707963267948948,foundationId:"67y6tGP5Z273J9KfaZt2qW",normal:[0,0,1],rightJoints:["c2T86bj1Ndr1wBUNfBDMTd"],textureType:"Wall Texture Default",locked:!1,selected:!1,centerRoofHeight:[0,6.274887651356121],windows:[],roofId:"vamU7TTNZeBARJChC8HbPy",leftRoofHeight:6,rightPoint:[-9.97874294335964,-2.052903625800489,0],rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,id:"vyB1xaFqKE2eYECPWHSjtt",textureType:"Wall Texture Default",lx:7.816451282590123,leftRoofHeight:6,color:"white",selected:!1,roofId:"vamU7TTNZeBARJChC8HbPy",showLabel:!1,cz:3.7151685093329987,cx:-6.0705173020645855,rotation:[0,0,-.41015237421866746],type:"Wall",rightPoint:[-9.978742943359647,1.9676858128520083,0],ly:.3,lineWidth:.2,windows:[],parentId:"67y6tGP5Z273J9KfaZt2qW",foundationId:"67y6tGP5Z273J9KfaZt2qW",leftJoints:["vVaHoupmNeeUhBf8aEhNwN"],cy:1.9676858128520038,locked:!1,relativeAngle:3.1415926535897922,rightJoints:["42wy1mrJXkRG5d8TpG2sXB"],leftPoint:[-2.1622916607695246,1.9676858128519996,0],lineColor:"black",lz:6,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cz:.5,id:"vr622m4sUbseJrnaD3qEiM",cx:-34.35924569376295,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lz:1,normal:[0,0,1],solarPowerTower:{},selected:!1,lx:9.87769053193653,ly:13.609083182601537,solarUpdraftTower:{},locked:!1,parentId:"Ground",type:"Foundation",cy:-110.59011455401989},{leftJoints:["mMXGrqXV1RkkkiT4sMy7uW"],lineWidth:.2,cz:0,rightRoofHeight:5.5,rightPoint:[-3.499999999999999,5.5,0],cy:5.5,relativeAngle:3.141592653589793,color:"white",roofId:"2v86EFgUZGnV81678JbvWF",locked:!1,windows:[],leftPoint:[3.5,5.5,0],lz:5.5,selected:!1,type:"Wall",normal:[0,0,1],rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",showLabel:!1,id:"3XaMSJRAJ16nXkn1WKx9DA",lx:6.999999999999999,foundationId:"vr622m4sUbseJrnaD3qEiM",ly:.3,rightJoints:["fgcrmKBkK397YQPfDfJ1C1"],parentId:"vr622m4sUbseJrnaD3qEiM",leftRoofHeight:5.5,lineColor:"black",cx:4440892098500626e-31,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{rightJoints:["3XaMSJRAJ16nXkn1WKx9DA"],lx:6.000000000000007,windows:[],rotation:[0,0,-.41015237421866746],locked:!1,normal:[0,0,1],lineColor:"black",showLabel:!1,leftJoints:["gphnEpjKALdRhPrtitPn39"],lz:5.5,rightRoofHeight:5.5,selected:!1,foundationId:"vr622m4sUbseJrnaD3qEiM",leftRoofHeight:5.5,parentId:"vr622m4sUbseJrnaD3qEiM",ly:.3,lineWidth:.2,cy:2.5000000000000036,id:"mMXGrqXV1RkkkiT4sMy7uW",rightPoint:[3.499999999999996,5.500000000000007,0],cz:0,textureType:"Wall Texture Default",leftPoint:[3.5,-.5,0],relativeAngle:1.5707963267948974,type:"Wall",roofId:"2v86EFgUZGnV81678JbvWF",cx:3.4999999999999982,color:"white",centerRoofHeight:[.5,5.5],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{selected:!1,type:"Wall",windows:[],leftPoint:[-3.499999999999999,5.5,0],parentId:"vr622m4sUbseJrnaD3qEiM",normal:[0,0,1],rightRoofHeight:5.5,color:"white",lineWidth:.2,cz:0,rotation:[0,0,-.41015237421866746],lz:5.5,lineColor:"black",lx:6,leftRoofHeight:5.5,centerRoofHeight:[-.5,5.5],cy:2.5,foundationId:"vr622m4sUbseJrnaD3qEiM",relativeAngle:4.71238898038469,roofId:"2v86EFgUZGnV81678JbvWF",rightJoints:["gphnEpjKALdRhPrtitPn39"],locked:!1,cx:-3.4999999999999996,textureType:"Wall Texture Default",leftJoints:["3XaMSJRAJ16nXkn1WKx9DA"],ly:.3,id:"fgcrmKBkK397YQPfDfJ1C1",showLabel:!1,rightPoint:[-3.5,-.5,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{lz:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],foundationId:"vr622m4sUbseJrnaD3qEiM",cy:-.5000000000000013,cx:-11102230246251565e-31,rightPoint:[3.5,-.5,0],type:"Wall",locked:!1,rotation:[0,0,-.41015237421866746],color:"white",rightRoofHeight:5.5,parentId:"vr622m4sUbseJrnaD3qEiM",showLabel:!1,lx:7.000000000000002,lineColor:"black",id:"gphnEpjKALdRhPrtitPn39",selected:!1,rightJoints:["mMXGrqXV1RkkkiT4sMy7uW"],relativeAngle:3806478941571964e-31,lineWidth:.2,roofId:"2v86EFgUZGnV81678JbvWF",ly:.3,leftRoofHeight:5.5,normal:[0,0,1],textureType:"Wall Texture Default",leftJoints:["fgcrmKBkK397YQPfDfJ1C1"],windows:[],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{normal:[0,0,1],lz:0,selected:!1,lineWidth:.2,lineColor:"black",ridgeLeftPoint:[-.5,1],roofType:"Gable",rotation:[0,0,-.41015237421866746],ridgeRightPoint:[.5,1],color:"#ffffff",wallsId:["gphnEpjKALdRhPrtitPn39"],foundationId:"vr622m4sUbseJrnaD3qEiM",showLabel:!1,lx:0,ly:0,type:"Roof",id:"2v86EFgUZGnV81678JbvWF",cy:0,textureType:"No Roof Texture",parentId:"vr622m4sUbseJrnaD3qEiM",locked:!1,thickness:.2,cz:0,cx:0,rise:0,ceiling:!1},{faceColors:["#808080","#808080","#808080","#808080","gray","gray"],type:"Cuboid",normal:[0,0,1],lz:10,color:"#808080",rotation:[0,0,-.41015237421866746],id:"tJwtVMueteLadJkjPMvgHJ",ly:5.2309404248682405,lx:17.77873962075454,parentId:"Ground",cy:-91.40202421369783,selected:!1,cx:-30.993558257452644,cz:5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1},{normal:[0,0,1],locked:!1,cy:-78.92340302016538,type:"Cuboid",color:"gray",lx:1.0334892378492886,id:"bsLSWBxdTE3mxEDuQuAp85",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,lz:10,parentId:"Ground",ly:1.0961848981988211,faceColors:["gray","gray","gray","gray","gray","gray"],cz:5,rotation:[0,0,-.41015237421866746],cx:-51.860873283037826},{cx:-50.86971253877132,cy:-76.80735590147192,color:"gray",parentId:"Ground",selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],lz:10,ly:1.0961848981988211,cz:5,faceColors:["gray","gray","gray","gray","gray","gray"],id:"iiF3WkKwiFkKBVE2vpXCby",lx:1.0334892378492886,normal:[0,0,1],locked:!1,type:"Cuboid"},{cx:-40.795288101438004,normal:[0,0,1],selected:!1,cy:-87.54304825772702,faceColors:["gray","gray","gray","gray","gray","gray"],ly:1.57584749281375,cz:5,type:"Cuboid",locked:!1,id:"fxmDEQJYBtbGKzqxLPsYbc",rotation:[0,0,-.41015237421866746],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,parentId:"Ground",color:"gray",lx:2.5033124327375345},{cx:-65.84838339559631,parentId:"Ground",id:"gEHbpQXkCu9RtbMyy3Xryz",solarPowerTower:{},cz:.5,type:"Foundation",lz:1,locked:!1,normal:[0,0,1],solarUpdraftTower:{},lx:23.72966343486742,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},selected:!1,ly:44.45702535517728,cy:23.93484529988586},{foundationId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,type:"Wall",lineWidth:.2,rightJoints:["e5up5WS9fCbKNmdUhKFsh6"],ly:.3,parentId:"gEHbpQXkCu9RtbMyy3Xryz",leftJoints:["wxDvuiUvYK71aR1xZ9r86C"],cx:6.378439777987635,windows:[],roofId:"8JTXb2hRmgAaiTxMs35gh1",rightRoofHeight:5,leftRoofHeight:5,leftPoint:[6.378439777987634,-14.93662498464927,0],normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],selected:!1,color:"white",rightPoint:[6.378439777987638,13.906512916742425,0],relativeAngle:1.5707963267948966,lz:5,showLabel:!1,lineColor:"black",lx:28.843137901391696,id:"pk5HH5mW7Fkgf2nUSMZyW9",textureType:"Wall Texture Default",cy:-.5150560339534227,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:0,locked:!1,relativeAngle:0,selected:!1,rightRoofHeight:5,color:"white",lineColor:"black",lx:6.909976426153277,ly:.3,textureType:"Wall Texture Default",windows:[],leftPoint:[-.5315366481656362,-14.93662498464927,0],lz:5,rightJoints:["pk5HH5mW7Fkgf2nUSMZyW9"],type:"Wall",cx:2.9234515649110024,rightPoint:[6.378439777987641,-14.93662498464927,0],leftRoofHeight:5,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,rotation:[0,0,-.41015237421866746],roofId:"8JTXb2hRmgAaiTxMs35gh1",normal:[0,0,1],leftJoints:["jmovDX25miN2VZhEhqh9uy"],cy:-14.93662498464927,lineWidth:.2,parentId:"gEHbpQXkCu9RtbMyy3Xryz",id:"wxDvuiUvYK71aR1xZ9r86C",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightJoints:["ncaNE7qPYcxTMDrSjrKjqC"],type:"Wall",lz:5,rightRoofHeight:5,cy:13.906512916742425,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",selected:!1,cx:2.923451564911001,lx:6.909976426153274,cz:0,lineWidth:.2,id:"e5up5WS9fCbKNmdUhKFsh6",leftJoints:["pk5HH5mW7Fkgf2nUSMZyW9"],locked:!1,lineColor:"black",showLabel:!1,leftRoofHeight:5,ly:.3,leftPoint:[6.378439777987638,13.906512916742425,0],color:"white",roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",textureType:"Wall Texture Default",rightPoint:[-.5315366481656362,13.906512916742425,0],rotation:[0,0,-.41015237421866746],relativeAngle:3.141592653589793,windows:[],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{ly:.3,normal:[0,0,1],rotation:[0,0,-.41015237421866746],parentId:"gEHbpQXkCu9RtbMyy3Xryz",id:"ncaNE7qPYcxTMDrSjrKjqC",rightJoints:["4z9pAxyVBGgvcBfL2oBkTg"],lineColor:"black",color:"white",type:"Wall",cy:11.331232746975312,locked:!1,windows:[],rightPoint:[-2.6576832408281814,8.755952577208193,0],lz:5,roofId:"8JTXb2hRmgAaiTxMs35gh1",leftJoints:["e5up5WS9fCbKNmdUhKFsh6"],selected:!1,lx:5.572142419633009,leftPoint:[-.5315366481656337,13.90651291674243,0],relativeAngle:-1.962287472589105,leftRoofHeight:5,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,cz:0,textureType:"Wall Texture Default",lineWidth:.2,rightRoofHeight:5,cx:-1.5946099444969075,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-2.6576832408281814,-10.301120679068463,0],lineColor:"black",id:"jmovDX25miN2VZhEhqh9uy",leftJoints:["vmWMc4Nmqnx9AxgePRvtFK"],rightRoofHeight:5,ly:.3,cz:0,windows:[],relativeAngle:-1.1407594566434893,parentId:"gEHbpQXkCu9RtbMyy3Xryz",leftRoofHeight:5,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",lz:5,showLabel:!1,color:"white",cy:-12.618872831858864,roofId:"8JTXb2hRmgAaiTxMs35gh1",lx:5.0998430858751655,cx:-1.5946099444969064,lineWidth:.2,type:"Wall",normal:[0,0,1],locked:!1,rightPoint:[-.5315366481656315,-14.936624984649265,0],selected:!1,rightJoints:["wxDvuiUvYK71aR1xZ9r86C"],foundationId:"gEHbpQXkCu9RtbMyy3Xryz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lineColor:"black",type:"Wall",leftPoint:[-2.657683240828184,8.75595257720819,0],rightRoofHeight:5,leftRoofHeight:5,rotation:[0,0,-.41015237421866746],color:"white",normal:[0,0,1],ly:.3,textureType:"Wall Texture Default",parentId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,lz:5,showLabel:!1,rightPoint:[-3.720756537159453,3.0903362037205393,0],relativeAngle:-1.756275603957499,cx:-3.1892198889938186,leftJoints:["ncaNE7qPYcxTMDrSjrKjqC"],roofId:"8JTXb2hRmgAaiTxMs35gh1",lineWidth:.2,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",windows:[],lx:5.764489025482136,id:"4z9pAxyVBGgvcBfL2oBkTg",selected:!1,rightJoints:["9Zt1Jh2MmnkaBKaBtYD19E"],locked:!1,cy:5.923144390464365,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-3.720756537159453,-3.605392237673962,0],roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,leftRoofHeight:5,cx:-3.1892198889938137,leftJoints:["9Zt1Jh2MmnkaBKaBtYD19E"],type:"Wall",cy:-6.953256458371211,windows:[],color:"white",rightRoofHeight:5,rightJoints:["jmovDX25miN2VZhEhqh9uy"],textureType:"Wall Texture Default",lx:6.779594692477702,lz:5,rightPoint:[-2.6576832408281743,-10.30112067906846,0],relativeAngle:-1.4133416859659305,lineColor:"black",id:"vmWMc4Nmqnx9AxgePRvtFK",ly:.3,rotation:[0,0,-.41015237421866746],lineWidth:.2,locked:!1,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,normal:[0,0,1],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{showLabel:!1,lz:5,type:"Wall",leftJoints:["4z9pAxyVBGgvcBfL2oBkTg"],relativeAngle:-1.5707963267948966,normal:[0,0,1],rotation:[0,0,-.41015237421866746],selected:!1,lineColor:"black",rightJoints:["vmWMc4Nmqnx9AxgePRvtFK"],windows:[],color:"white",ly:.3,roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",rightRoofHeight:5,id:"9Zt1Jh2MmnkaBKaBtYD19E",leftPoint:[-3.720756537159453,3.0903362037205393,0],lineWidth:.2,lx:6.695728441394501,rightPoint:[-3.720756537159453,-3.605392237673962,0],cy:-.25752801697671135,cz:0,leftRoofHeight:5,locked:!1,cx:-3.720756537159453,textureType:"Wall Texture Default",foundationId:"gEHbpQXkCu9RtbMyy3Xryz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{normal:[0,0,1],type:"Foundation",solarPowerTower:{},cz:.5,parentId:"Ground",lx:60.173882739434646,solarAbsorberPipe:{},id:"iUb7PSjszf44Zg2YisnC92",rotation:[0,0,-.41015237421866746],locked:!1,ly:39.103180000408386,selected:!1,cy:-92.19721962691857,cx:-31.79924395729909,lz:1,solarUpdraftTower:{}},{cy:-.32818957860566655,normal:[0,0,1],relativeAngle:1.5707963267948966,rightPoint:[29.377149084975663,17.921810421394337,1],rotation:[0,0,-.41015237421866746],rightRoofHeight:5,type:"Wall",locked:!1,cz:0,roofId:"sYHDayEkzyov7moz6ZSxMu",lx:36.5,selected:!1,leftPoint:[29.377149084975656,-18.57818957860566,1],parentId:"iUb7PSjszf44Zg2YisnC92",id:"8M5AjFRvfsj1XtZsKZtgrR",leftJoints:["vBUTysuRjhgkSBTqe4LbYB"],cx:29.37714908497567,ly:.3,rightJoints:["fof9eWFH74VGAR5Qpn7HGe"],color:"white",foundationId:"iUb7PSjszf44Zg2YisnC92",textureType:"Wall Texture Default",lz:5,leftRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightRoofHeight:5,ly:.3,cy:-18.328189578605663,lz:5,locked:!1,cx:.3771490849756667,cz:0,leftPoint:[-28.622850915024337,-18.07818957860566,1],parentId:"iUb7PSjszf44Zg2YisnC92",color:"white",lx:58.00215513237418,id:"vBUTysuRjhgkSBTqe4LbYB",selected:!1,normal:[0,0,1],textureType:"Wall Texture Default",type:"Wall",relativeAngle:6.27456483106745,leftRoofHeight:5,leftJoints:["nSEqG4yU7gG9aGhAQPfSs7"],rightJoints:["8M5AjFRvfsj1XtZsKZtgrR"],rotation:[0,0,-.41015237421866746],rightPoint:[29.37714908497567,-18.578189578605652,1],foundationId:"iUb7PSjszf44Zg2YisnC92",roofId:"sYHDayEkzyov7moz6ZSxMu",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{roofId:"sYHDayEkzyov7moz6ZSxMu",selected:!1,color:"white",cz:0,relativeAngle:4.726276976315656,type:"Wall",rightPoint:[-28.622850915024348,-18.078189578605663,1],parentId:"iUb7PSjszf44Zg2YisnC92",cy:-.07818957860566123,rightRoofHeight:5,lx:36.003472054789384,foundationId:"iUb7PSjszf44Zg2YisnC92",locked:!1,ly:.3,rightJoints:["vBUTysuRjhgkSBTqe4LbYB"],textureType:"Wall Texture Default",leftJoints:["fof9eWFH74VGAR5Qpn7HGe"],rotation:[0,0,-.41015237421866746],leftPoint:[-29.122850915024344,17.921810421394333,1],lz:5,cx:-28.87285091502434,id:"nSEqG4yU7gG9aGhAQPfSs7",leftRoofHeight:5,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{foundationId:"iUb7PSjszf44Zg2YisnC92",cz:0,lx:58.50000000000001,color:"white",leftRoofHeight:5,leftPoint:[29.377149084975663,17.921810421394337,1],rightPoint:[-29.122850915024344,17.921810421394333,1],rightRoofHeight:5,type:"Wall",leftJoints:["8M5AjFRvfsj1XtZsKZtgrR"],cx:.12714908497566135,cy:17.921810421394333,roofId:"sYHDayEkzyov7moz6ZSxMu",selected:!1,id:"fof9eWFH74VGAR5Qpn7HGe",lz:5,relativeAngle:3.141592653589793,locked:!1,ly:.3,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],parentId:"iUb7PSjszf44Zg2YisnC92",rightJoints:["nSEqG4yU7gG9aGhAQPfSs7"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{ridgeLeftPoint:[0,1],wallsId:["vyB1xaFqKE2eYECPWHSjtt"],selected:!1,lineColor:"black",thickness:.2,textureType:"No Roof Texture",cy:0,locked:!1,lx:0,foundationId:"67y6tGP5Z273J9KfaZt2qW",type:"Roof",id:"vamU7TTNZeBARJChC8HbPy",ridgeRightPoint:[0,1],showLabel:!1,cz:0,lineWidth:.2,lz:0,cx:0,parentId:"67y6tGP5Z273J9KfaZt2qW",ly:0,color:"#ffffff",roofType:"Gable",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rise:.2748876513561207,ceiling:!1},{rotation:[0,0,-.41015237421866746],color:"white",leftJoints:["aAXg3DaZ5U93pUr6mT9qRa"],rightPoint:[21.241978419322884,-31.078254176042062,1],relativeAngle:-8350902447731317e-31,cz:0,lz:6,normal:[0,0,1],leftPoint:[-21.300892857609153,-31.07825417604202,1],rightJoints:["eVDG7gqXM3uLaHhJS5k6Fh"],textureType:"Wall Texture Default",cx:-.02945721914313104,cy:-31.078254176042037,selected:!1,lx:42.54287127693204,type:"Wall",roofId:"a67eFG3dY8EiYs3GWgTwsF",id:"eH6hFH3ypVjToGKtFHdgq1",ly:.3,parentId:"un11oZ7V5tAhWhFKuL8M5Q",locked:!1,foundationId:"un11oZ7V5tAhWhFKuL8M5Q",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{leftJoints:["eH6hFH3ypVjToGKtFHdgq1"],cx:21.241978419322905,textureType:"Wall Texture Default",type:"Wall",parentId:"un11oZ7V5tAhWhFKuL8M5Q",lx:60.8712338982037,locked:!1,roofId:"a67eFG3dY8EiYs3GWgTwsF",id:"eVDG7gqXM3uLaHhJS5k6Fh",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",selected:!1,lz:6,cz:0,rightPoint:[21.241978419322912,29.792979722161636,1],leftPoint:[21.241978419322884,-31.078254176042062,1],rotation:[0,0,-.41015237421866746],rightRoofHeight:6,leftRoofHeight:6,ly:.3,rightJoints:["n7z5CC6u32wsAzBksvYYPh"],color:"white",relativeAngle:1.5707963267948961,normal:[0,0,1],cy:-.6426372269402103,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",id:"n7z5CC6u32wsAzBksvYYPh",cz:0,cx:-.029457219143118607,color:"white",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",leftPoint:[21.241978419322912,29.792979722161636,1],rightPoint:[-21.300892857609156,29.792979722161586,1],rightJoints:["aAXg3DaZ5U93pUr6mT9qRa"],lx:42.542871276932075,lz:6,locked:!1,rightRoofHeight:6,selected:!1,ly:.3,cy:29.792979722161608,relativeAngle:-3.1415926535897922,textureType:"Wall Texture Default",leftRoofHeight:6,normal:[0,0,1],leftJoints:["eVDG7gqXM3uLaHhJS5k6Fh"],rotation:[0,0,-.41015237421866746],roofId:"a67eFG3dY8EiYs3GWgTwsF",parentId:"un11oZ7V5tAhWhFKuL8M5Q",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{parentId:"un11oZ7V5tAhWhFKuL8M5Q",textureType:"Wall Texture Default",cy:-.6426372269402094,cx:-21.300892857609156,ly:.3,normal:[0,0,1],rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948966,lx:60.87123389820361,leftPoint:[-21.300892857609156,29.792979722161586,1],rightPoint:[-21.300892857609153,-31.07825417604202,1],selected:!1,leftRoofHeight:6,locked:!1,rightJoints:["eH6hFH3ypVjToGKtFHdgq1"],rightRoofHeight:6,foundationId:"un11oZ7V5tAhWhFKuL8M5Q",id:"aAXg3DaZ5U93pUr6mT9qRa",cz:0,color:"white",lz:6,type:"Wall",roofId:"a67eFG3dY8EiYs3GWgTwsF",leftJoints:["n7z5CC6u32wsAzBksvYYPh"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{solarUpdraftTower:{},parentId:"Ground",rotation:[0,0,-.41015237421866746],solarPowerTower:{},selected:!1,cy:87.53589386962994,lz:1,cz:.5,type:"Foundation",id:"un11oZ7V5tAhWhFKuL8M5Q",locked:!1,normal:[0,0,1],cx:45.25333009420649,solarAbsorberPipe:{},lx:43.198179226129824,ly:63.27584645952004},{rightJoints:["e9GuUTJEvD6Q7osTyxTwrk"],color:"white",lx:52.85122191172576,rightRoofHeight:10,ly:.3,lz:10,leftRoofHeight:10,cx:-1.8343056423094959,locked:!1,rotation:[0,0,-.41015237421866746],normal:[0,0,1],relativeAngle:3.141592653589793,leftJoints:["3Yax97DpPm9sAXkyokJjCv"],type:"Wall",parentId:"pdEGhJFD3W3BmcX1EPbyWH",foundationId:"pdEGhJFD3W3BmcX1EPbyWH",cz:0,cy:17.27662252082144,leftPoint:[24.59130531355338,17.276622520821444,1],id:"2zTB9zP2crzAGhXAKtKuuQ",rightPoint:[-28.259916598172374,17.276622520821448,1],selected:!1,textureType:"Wall Texture Default",roofId:"u17BQ8h2PCTPBYHjaSoxnN",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightRoofHeight:10,rightPoint:[24.591305313553377,17.276622520821448,1],leftJoints:["9QvBYUfBnBzYQEjDjyYwwJ"],rightJoints:["2zTB9zP2crzAGhXAKtKuuQ"],cx:24.591305313553377,normal:[0,0,1],foundationId:"pdEGhJFD3W3BmcX1EPbyWH",id:"3Yax97DpPm9sAXkyokJjCv",type:"Wall",locked:!1,lx:33.26826380090492,rotation:[0,0,-.41015237421866746],ly:.3,textureType:"Wall Texture Default",color:"white",relativeAngle:1.5707963267948968,lz:10,leftPoint:[24.591305313553377,-15.991641280083474,1],selected:!1,parentId:"pdEGhJFD3W3BmcX1EPbyWH",roofId:"u17BQ8h2PCTPBYHjaSoxnN",leftRoofHeight:10,cz:0,cy:.6424906203689869,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"u17BQ8h2PCTPBYHjaSoxnN",rightRoofHeight:10,normal:[0,0,1],cy:-15.99164128008347,rotation:[0,0,-.41015237421866746],rightPoint:[24.59130531355339,-15.99164128008347,1],relativeAngle:13444206397855422e-32,leftJoints:["e9GuUTJEvD6Q7osTyxTwrk"],leftRoofHeight:10,textureType:"Wall Texture Default",lz:10,foundationId:"pdEGhJFD3W3BmcX1EPbyWH",leftPoint:[-28.259916598172378,-15.991641280083478,1],cx:-1.8343056423094914,ly:.3,parentId:"pdEGhJFD3W3BmcX1EPbyWH",id:"9QvBYUfBnBzYQEjDjyYwwJ",cz:0,rightJoints:["3Yax97DpPm9sAXkyokJjCv"],selected:!1,type:"Wall",locked:!1,color:"white",lx:52.85122191172576,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:33.268263800904926,roofId:"u17BQ8h2PCTPBYHjaSoxnN",locked:!1,color:"white",lz:10,leftPoint:[-28.259916598172374,17.276622520821448,1],cz:0,cx:-28.259916598172378,foundationId:"pdEGhJFD3W3BmcX1EPbyWH",rightRoofHeight:10,rightJoints:["9QvBYUfBnBzYQEjDjyYwwJ"],rightPoint:[-28.25991659817238,-15.991641280083474,1],leftJoints:["2zTB9zP2crzAGhXAKtKuuQ"],rotation:[0,0,-.41015237421866746],cy:.6424906203689869,parentId:"pdEGhJFD3W3BmcX1EPbyWH",leftRoofHeight:10,selected:!1,id:"e9GuUTJEvD6Q7osTyxTwrk",ly:.3,textureType:"Wall Texture Default",normal:[0,0,1],type:"Wall",relativeAngle:-1.5707963267948968,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:35.70031798940237,cy:9.0346445367948,cx:-34.76955763240692,solarPowerTower:{},id:"pdEGhJFD3W3BmcX1EPbyWH",solarUpdraftTower:{},lz:1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,parentId:"Ground",type:"Foundation",color:"#808080",lx:61.18626972549096,rotation:[0,0,-.41015237421866746],locked:!1,cz:.5},{ly:.3,rightJoints:["uSo7fsB5ruR2pmb3hS5LJZ"],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightPoint:[-11.5,12.5,0],selected:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],leftRoofHeight:5,color:"white",rightRoofHeight:5,locked:!1,leftJoints:["9NzKjLTF3oM85YSQpL4gnd"],relativeAngle:1.5707963267948961,lz:5,cx:-11.5,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",cz:0,lx:4.5000000000000036,cy:10.249999999999998,parentId:"5Ccs4YQJG3fyuyHdGw79zD",textureType:"Wall Texture Default",id:"qVHFnW8AAY4XUoieeiErxH",leftPoint:[-11.500000000000002,7.9999999999999964,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cy:-3.699284342853991,cz:0,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"o6KGNbWFg87od5BX9EpsTo",leftRoofHeight:5,rightJoints:["9NzKjLTF3oM85YSQpL4gnd"],lz:5,normal:[0,0,1],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightPoint:[19,8,0],type:"Wall",rightRoofHeight:5,lx:23.399166797479726,locked:!1,leftJoints:["2TSEdoLpnDva8vLd5CzUbS"],relativeAngle:1.577946340946004,selected:!1,textureType:"Wall Texture Default",cx:19.08365147411056,color:"white",rotation:[0,0,-.41015237421866746],ly:.3,leftPoint:[19.167302948221124,-15.398568685707982,0],parentId:"5Ccs4YQJG3fyuyHdGw79zD",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{roofId:"iLELU7fMnA7QkYUmgQBEWM",id:"2TSEdoLpnDva8vLd5CzUbS",rightRoofHeight:5,locked:!1,normal:[0,0,1],cy:-15.449284342853987,parentId:"5Ccs4YQJG3fyuyHdGw79zD",rotation:[0,0,-.41015237421866746],leftPoint:[-17.5,-15.5,0],foundationId:"5Ccs4YQJG3fyuyHdGw79zD",ly:.3,rightPoint:[19.16730294822113,-15.398568685707975,0],selected:!1,rightJoints:["o6KGNbWFg87od5BX9EpsTo"],leftJoints:["g6f1sfDxicEvG7uLqaixdo"],relativeAngle:.0027662535123536003,type:"Wall",cx:.8336514741105656,lz:5,textureType:"Wall Texture Default",leftRoofHeight:5,lx:36.667443240675304,color:"white",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftJoints:["susL6EqdzG6nqxMNGZaDXi"],rightPoint:[-17.5,-15.5,0],rotation:[0,0,-.41015237421866746],ly:.3,leftRoofHeight:5,selected:!1,color:"white",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"g6f1sfDxicEvG7uLqaixdo",parentId:"5Ccs4YQJG3fyuyHdGw79zD",lx:12.5,textureType:"Wall Texture Default",locked:!1,rightJoints:["2TSEdoLpnDva8vLd5CzUbS"],cy:-9.25,type:"Wall",leftPoint:[-17.5,-3,0],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightRoofHeight:5,lz:5,relativeAngle:4.71238898038469,cx:-17.5,cz:0,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:.5,ly:46.30008176444467,color:"#808080",selected:!1,solarUpdraftTower:{},locked:!1,solarAbsorberPipe:{},type:"Foundation",cy:36.64822593291561,id:"5Ccs4YQJG3fyuyHdGw79zD",rotation:[0,0,-.41015237421866746],cx:-16.881510447516995,lx:50.75601134711293,parentId:"Ground",lz:1,normal:[0,0,1],solarPowerTower:{}},{type:"Wall",foundationId:"bEJsUFdHaD6DHGcx6x8yR6",rightPoint:[-13.223409044384212,13.466478685194005,1],rightJoints:["wv4UgZqFkoaJSym14cGEUi"],ly:.3,rightRoofHeight:10,roofId:"gTmk5BL11HKrSyJkFQtskK",locked:!1,normal:[0,0,1],cx:2.2442947755447555,leftRoofHeight:10,relativeAngle:3.141592653589793,cy:13.466478685194003,cz:0,rotation:[0,0,-.41015237421866746],parentId:"bEJsUFdHaD6DHGcx6x8yR6",color:"white",id:"3VxH8hmRUhtWZN2xHFt4SG",selected:!1,textureType:"Wall Texture Default",leftJoints:["xrxYGVSxLCof2hSDyYDBhi"],leftPoint:[17.711998595473723,13.466478685193998,1],lz:10,lx:30.935407639857935,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[17.71199859547372,-9.01511632562459,1],color:"white",lz:10,foundationId:"bEJsUFdHaD6DHGcx6x8yR6",rotation:[0,0,-.41015237421866746],cy:2.2256811797847043,lx:22.481595010818598,leftJoints:["arZ3wqpChkyUrckbL7omCG"],roofId:"gTmk5BL11HKrSyJkFQtskK",textureType:"Wall Texture Default",locked:!1,cx:17.71199859547372,rightPoint:[17.711998595473712,13.466478685194001,1],parentId:"bEJsUFdHaD6DHGcx6x8yR6",leftRoofHeight:10,ly:.3,type:"Wall",normal:[0,0,1],id:"xrxYGVSxLCof2hSDyYDBhi",relativeAngle:1.570796326794897,selected:!1,rightJoints:["3VxH8hmRUhtWZN2xHFt4SG"],rightRoofHeight:10,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{foundationId:"bEJsUFdHaD6DHGcx6x8yR6",textureType:"Wall Texture Default",parentId:"bEJsUFdHaD6DHGcx6x8yR6",cy:-9.015116325624591,type:"Wall",roofId:"gTmk5BL11HKrSyJkFQtskK",locked:!1,selected:!1,relativeAngle:5742147832930279e-32,lx:30.935407639857935,id:"arZ3wqpChkyUrckbL7omCG",rightPoint:[17.711998595473727,-9.015116325624586,1],normal:[0,0,1],leftRoofHeight:10,leftPoint:[-13.223409044384207,-9.015116325624595,1],cx:2.244294775544758,ly:.3,cz:0,lz:10,rightRoofHeight:10,rotation:[0,0,-.41015237421866746],leftJoints:["wv4UgZqFkoaJSym14cGEUi"],color:"white",rightJoints:["xrxYGVSxLCof2hSDyYDBhi"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],selected:!1,leftPoint:[-13.223409044384212,13.466478685194005,1],lx:22.4815950108186,cz:0,locked:!1,leftRoofHeight:10,foundationId:"bEJsUFdHaD6DHGcx6x8yR6",type:"Wall",parentId:"bEJsUFdHaD6DHGcx6x8yR6",rightPoint:[-13.223409044384217,-9.0151163256246,1],ly:.3,leftJoints:["3VxH8hmRUhtWZN2xHFt4SG"],rightRoofHeight:10,relativeAngle:-1.5707963267948968,cx:-13.22340904438421,id:"wv4UgZqFkoaJSym14cGEUi",roofId:"gTmk5BL11HKrSyJkFQtskK",cy:2.225681179784705,normal:[0,0,1],textureType:"Wall Texture Default",rightJoints:["arZ3wqpChkyUrckbL7omCG"],color:"white",lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:38.16899134770527,locked:!1,type:"Foundation",cz:.5,ly:29.987807733938208,solarAbsorberPipe:{},solarUpdraftTower:{},solarPowerTower:{},parentId:"Ground",cx:-9.057642071147427,rotation:[0,0,-.41015237421866746],color:"#808080",id:"bEJsUFdHaD6DHGcx6x8yR6",normal:[0,0,1],cy:51.32581716422129,lz:1,selected:!1},{foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,rotation:[0,0,-.41015237421866746],leftRoofHeight:5,lx:19.88616352810249,selected:!1,rightJoints:["bQ2Kx7puBgpzyzLtLqMSws"],normal:[0,0,1],ly:.3,cz:0,color:"white",leftJoints:["oiFAJnXcnAH7zdnComwnZ7"],roofId:"1qyyipEsGS2s5T9XgP6Hmh",id:"wQJum4dZFQ5ppcaqoirdh1",rightPoint:[-8.228455824549409,10.031147764731335,1],lz:5,locked:!1,cx:1.7146259395018353,textureType:"Wall Texture Default",relativeAngle:3.141592653589793,parentId:"wBnvyTf1aAJoT1h5Lem3nN",type:"Wall",cy:10.03114776473134,leftPoint:[11.657707703553081,10.031147764731333,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,cz:0,roofId:"1qyyipEsGS2s5T9XgP6Hmh",type:"Wall",color:"white",selected:!1,parentId:"wBnvyTf1aAJoT1h5Lem3nN",leftPoint:[11.657707703553083,-7.894846587717293,1],ly:.3,rightRoofHeight:5,relativeAngle:1.5707963267948972,normal:[0,0,1],rotation:[0,0,-.41015237421866746],foundationId:"wBnvyTf1aAJoT1h5Lem3nN",lx:17.92599435244863,leftRoofHeight:5,leftJoints:["cEMfGqLjg1Ef23MmrZJMBi"],id:"oiFAJnXcnAH7zdnComwnZ7",cy:1.0681505885070242,lz:5,rightJoints:["wQJum4dZFQ5ppcaqoirdh1"],textureType:"Wall Texture Default",cx:11.657707703553074,rightPoint:[11.657707703553076,10.03114776473133,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rotation:[0,0,-.41015237421866746],locked:!1,relativeAngle:8932627134891857e-32,lz:5,ly:.3,cy:-7.894846587717294,lx:19.886163528102486,selected:!1,leftRoofHeight:5,rightJoints:["oiFAJnXcnAH7zdnComwnZ7"],roofId:"1qyyipEsGS2s5T9XgP6Hmh",color:"white",normal:[0,0,1],parentId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,cx:1.714625939501836,foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightPoint:[11.657707703553083,-7.894846587717293,1],type:"Wall",leftJoints:["bQ2Kx7puBgpzyzLtLqMSws"],id:"cEMfGqLjg1Ef23MmrZJMBi",cz:0,leftPoint:[-8.22845582454941,-7.894846587717293,1],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,selected:!1,cx:-8.228455824549414,locked:!1,cz:0,color:"white",roofId:"1qyyipEsGS2s5T9XgP6Hmh",rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948968,rightJoints:["cEMfGqLjg1Ef23MmrZJMBi"],type:"Wall",leftJoints:["wQJum4dZFQ5ppcaqoirdh1"],lx:17.925994352448633,cy:1.0681505885070197,leftPoint:[-8.228455824549409,10.031147764731335,1],id:"bQ2Kx7puBgpzyzLtLqMSws",parentId:"wBnvyTf1aAJoT1h5Lem3nN",ly:.3,normal:[0,0,1],textureType:"Wall Texture Default",rightPoint:[-8.22845582454941,-7.894846587717293,1],leftRoofHeight:5,lz:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{parentId:"Ground",rotation:[0,0,-.41015237421866746],id:"wBnvyTf1aAJoT1h5Lem3nN",type:"Foundation",solarAbsorberPipe:{},ly:25.324222344655617,cx:-30.225503309474327,solarPowerTower:{},cz:.5,lz:1,normal:[0,0,1],locked:!1,lx:23.992259398375765,color:"#808080",solarUpdraftTower:{},cy:64.37240201413404,selected:!1},{selected:!1,color:"white",rightRoofHeight:5,ly:.3,parentId:"5Ccs4YQJG3fyuyHdGw79zD",id:"9NzKjLTF3oM85YSQpL4gnd",cy:7.999999999999999,cz:0,leftJoints:["o6KGNbWFg87od5BX9EpsTo"],lx:30.5,leftRoofHeight:5,showLabel:!1,lineColor:"black",leftPoint:[19,7.999999999999998,0],locked:!1,lz:5,cx:3.75,normal:[0,0,1],rightJoints:["qVHFnW8AAY4XUoieeiErxH"],lineWidth:.2,rightPoint:[-11.5,8,0],roofId:"iLELU7fMnA7QkYUmgQBEWM",type:"Wall",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",relativeAngle:3.141592653589793,rotation:[0,0,-.41015237421866746],windows:[],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightJoints:["4HqBTHcSgWW5QKhSZyPhns"],selected:!1,rightRoofHeight:5,id:"uSo7fsB5ruR2pmb3hS5LJZ",leftPoint:[-11.5,12.499999999999998,0],leftRoofHeight:5,lz:5,relativeAngle:3.141592653589793,showLabel:!1,lx:12,cz:0,textureType:"Wall Texture Default",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",leftJoints:["qVHFnW8AAY4XUoieeiErxH"],locked:!1,roofId:"iLELU7fMnA7QkYUmgQBEWM",cx:-17.5,parentId:"5Ccs4YQJG3fyuyHdGw79zD",lineWidth:.2,ly:.3,rotation:[0,0,-.41015237421866746],cy:12.5,normal:[0,0,1],type:"Wall",rightPoint:[-23.5,12.5,0],lineColor:"black",windows:[],color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,lx:15.5,rightRoofHeight:5,leftRoofHeight:5,showLabel:!1,relativeAngle:4.71238898038469,cy:4.75,cz:0,parentId:"5Ccs4YQJG3fyuyHdGw79zD",color:"white",cx:-23.5,textureType:"Wall Texture Default",leftPoint:[-23.5,12.5,0],rotation:[0,0,-.41015237421866746],lineWidth:.2,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",ly:.3,rightJoints:["susL6EqdzG6nqxMNGZaDXi"],type:"Wall",roofId:"iLELU7fMnA7QkYUmgQBEWM",lz:5,lineColor:"black",id:"4HqBTHcSgWW5QKhSZyPhns",normal:[0,0,1],selected:!1,windows:[],leftJoints:["uSo7fsB5ruR2pmb3hS5LJZ"],rightPoint:[-23.5,-3,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{selected:!1,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"susL6EqdzG6nqxMNGZaDXi",color:"white",cy:-3.000000000000001,cz:0,rotation:[0,0,-.41015237421866746],rightPoint:[-17.5,-3,0],leftRoofHeight:5,lz:5,leftJoints:["4HqBTHcSgWW5QKhSZyPhns"],parentId:"5Ccs4YQJG3fyuyHdGw79zD",normal:[0,0,1],textureType:"Wall Texture Default",locked:!1,ly:.3,lx:6,leftPoint:[-23.5,-3.0000000000000018,0],lineColor:"black",lineWidth:.2,showLabel:!1,rightJoints:["g6f1sfDxicEvG7uLqaixdo"],windows:[],roofId:"iLELU7fMnA7QkYUmgQBEWM",relativeAngle:29605947323337506e-32,cx:-20.5,type:"Wall",rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{relativeAngle:3.141592653589793,color:"white",leftPoint:[14.941525004458317,12.56263735597024,1],cy:12.562637355970242,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftRoofHeight:12,rightPoint:[-13.249437673269998,12.562637355970246,1],cx:.8460436655941601,rotation:[0,0,-.41015237421866746],cz:0,selected:!1,rightJoints:["1RLyYLqhL7EB8W88F1YjMf"],leftJoints:["8SK72dWsX2KdwBhjqAJrHR"],normal:[0,0,1],type:"Wall",lz:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",textureType:"Wall Texture Default",rightRoofHeight:12,lx:28.190962677728308,parentId:"9VLFJ7oUEizHpLYBMkGrSR",ly:.3,locked:!1,id:"eAv1PVUtpNQ3MSDZw48MQs",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],parentId:"9VLFJ7oUEizHpLYBMkGrSR",rightJoints:["eAv1PVUtpNQ3MSDZw48MQs"],locked:!1,rightRoofHeight:12,lx:23.84442368092651,leftRoofHeight:12,ly:.3,relativeAngle:1.573797223078846,type:"Wall",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"g8pgyA4zcrzdfdvNphwHQy",id:"8SK72dWsX2KdwBhjqAJrHR",cz:0,color:"white",cx:14.977302271968785,rotation:[0,0,-.41015237421866746],leftJoints:["feUXDC3dk8QN3nPhgvxRs7"],selected:!1,leftPoint:[15.013079539479259,-11.281678961006573,1],lz:12,cy:.6404791974818389,rightPoint:[14.941525004458313,12.562637355970246,1],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{parentId:"9VLFJ7oUEizHpLYBMkGrSR",locked:!1,id:"mJUeyE2zphErZr6GzDs3tZ",color:"white",leftJoints:["1RLyYLqhL7EB8W88F1YjMf"],rotation:[0,0,-.41015237421866746],lz:12,lx:10.00000000000001,rightRoofHeight:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",cz:0,rightJoints:["j1cSjqWhsVxayuMSQv24u3"],leftPoint:[-13.48692046052075,-20.78167896100656,1],selected:!1,textureType:"Wall Texture Default",leftRoofHeight:12,rightPoint:[-3.4869204605207464,-20.78167896100657,1],ly:.3,relativeAngle:6.2831853071795845,cy:-20.781678961006566,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",type:"Wall",normal:[0,0,1],cx:-8.486920460520746,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{rightJoints:["mJUeyE2zphErZr6GzDs3tZ"],rightPoint:[-13.486920460520746,-20.78167896100657,1],roofId:"g8pgyA4zcrzdfdvNphwHQy",locked:!1,textureType:"Wall Texture Default",ly:.3,rotation:[0,0,-.41015237421866746],leftRoofHeight:12,type:"Wall",normal:[0,0,1],cy:-4.109520802518161,rightRoofHeight:12,lz:12,selected:!1,leftJoints:["eAv1PVUtpNQ3MSDZw48MQs"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",relativeAngle:4.705266963855983,cx:-13.36817906689537,lx:33.345161998719504,id:"1RLyYLqhL7EB8W88F1YjMf",cz:0,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftPoint:[-13.249437673270002,12.562637355970253,1],color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{selected:!1,solarUpdraftTower:{},rotation:[0,0,-.41015237421866746],parentId:"Ground",solarPowerTower:{},normal:[0,0,1],cy:-20.68271396979996,id:"9VLFJ7oUEizHpLYBMkGrSR",type:"Foundation",cz:.5,lz:1,lx:37.181112111986096,color:"#808080",cx:-37.24334643439944,locked:!1,ly:48.16142132853967,solarAbsorberPipe:{}},{rotation:[0,0,-.41015237421866746],rightRoofHeight:10,leftJoints:["2EixC2HpxvUhCDPQSQd8uE"],roofId:"teQS3ohvRHqAbgCQQahyC6",ly:.3,leftPoint:[22.429243972447885,21.46242092084928,1],type:"Wall",normal:[0,0,1],selected:!1,lz:10,lx:44.9605119434254,rightPoint:[-22.53126797097753,21.462420920849283,1],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",cx:-.05101199926482192,id:"c79sKVUHUztGcC5p3emVv9",color:"white",locked:!1,cy:21.46242092084928,cz:0,leftRoofHeight:10,relativeAngle:3.141592653589793,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",textureType:"Wall Texture Default",rightJoints:["rAsfTcgvLcTeECYxyTewjt"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"teQS3ohvRHqAbgCQQahyC6",cx:22.42924397244788,lz:10,cz:0,rotation:[0,0,-.41015237421866746],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",type:"Wall",relativeAngle:1.5707963267948968,rightPoint:[22.429243972447868,21.46242092084928,1],normal:[0,0,1],id:"2EixC2HpxvUhCDPQSQd8uE",locked:!1,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",leftRoofHeight:10,lx:42.36942370339931,rightJoints:["c79sKVUHUztGcC5p3emVv9"],ly:.3,leftJoints:["hxjd42T86KZffMsDx5Lnqd"],leftPoint:[22.42924397244787,-20.907002782550034,1],selected:!1,rightRoofHeight:10,cy:.27770906914962534,textureType:"Wall Texture Default",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:0,locked:!1,leftPoint:[-22.531267970977524,-20.90700278255003,1],roofId:"teQS3ohvRHqAbgCQQahyC6",lz:10,rightRoofHeight:10,leftJoints:["rAsfTcgvLcTeECYxyTewjt"],relativeAngle:15803706520383676e-32,rotation:[0,0,-.41015237421866746],cy:-20.907002782550027,selected:!1,lx:44.9605119434254,textureType:"Wall Texture Default",cx:-.05101199926482192,leftRoofHeight:10,type:"Wall",rightPoint:[22.429243972447882,-20.907002782550023,1],color:"white",ly:.3,rightJoints:["2EixC2HpxvUhCDPQSQd8uE"],id:"hxjd42T86KZffMsDx5Lnqd",parentId:"tjMZKt5v9D1sx6sc6Xyaq2",foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{normal:[0,0,1],ly:.3,locked:!1,cx:-22.531267970977524,leftRoofHeight:10,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",color:"white",relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",selected:!1,type:"Wall",lz:10,rightRoofHeight:10,id:"rAsfTcgvLcTeECYxyTewjt",cz:0,cy:.27770906914962445,rightPoint:[-22.53126797097753,-20.90700278255004,1],leftJoints:["c79sKVUHUztGcC5p3emVv9"],rightJoints:["hxjd42T86KZffMsDx5Lnqd"],leftPoint:[-22.53126797097753,21.462420920849283,1],rotation:[0,0,-.41015237421866746],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",roofId:"teQS3ohvRHqAbgCQQahyC6",lx:42.36942370339932,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:.5,id:"tjMZKt5v9D1sx6sc6Xyaq2",lx:46.90554216771846,cy:18.6131690650482,locked:!1,color:"#808080",solarPowerTower:{},selected:!1,rotation:[0,0,-.41015237421866746],lz:1,parentId:"Ground",ly:43.713031743362755,cx:59.64808106801135,solarUpdraftTower:{},type:"Foundation",solarAbsorberPipe:{},normal:[0,0,1]},{leftJoints:["1nApY26ge55fxfDJGTDRg7"],color:"white",relativeAngle:3.141592653589793,normal:[0,0,1],selected:!1,leftPoint:[23.979857556057137,22.372040279665153,1],cy:22.37204027966516,cx:.07009613256013125,leftRoofHeight:10,rightPoint:[-23.83966529093686,22.372040279665164,1],lz:10,foundationId:"2LZNQJZFPrCxZzv5NuwumV",cz:0,rightJoints:["rZvSe3ehuF6gYShWHjg7Kt"],ly:.3,locked:!1,parentId:"2LZNQJZFPrCxZzv5NuwumV",rightRoofHeight:10,roofId:"9TF7gEynqtnsWJGidoBUNq",id:"hcTBY8guDEpwEg5jtYtD3H",rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",lx:47.81952284699399,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],roofId:"9TF7gEynqtnsWJGidoBUNq",selected:!1,foundationId:"2LZNQJZFPrCxZzv5NuwumV",locked:!1,rightRoofHeight:10,textureType:"Wall Texture Default",parentId:"2LZNQJZFPrCxZzv5NuwumV",leftRoofHeight:10,rightPoint:[23.979857556057127,22.37204027966517,1],relativeAngle:1.5707963267948966,rightJoints:["hcTBY8guDEpwEg5jtYtD3H"],id:"1nApY26ge55fxfDJGTDRg7",lx:42.78808681818175,cy:.9779968705742945,cz:0,leftJoints:["4gP6SGPKJj7CUqEnRFmQ9x"],color:"white",leftPoint:[23.979857556057127,-20.41604653851659,1],type:"Wall",normal:[0,0,1],ly:.3,cx:23.979857556057123,lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:0,id:"4gP6SGPKJj7CUqEnRFmQ9x",cy:-20.416046538516596,color:"white",locked:!1,relativeAngle:3714710506593678e-31,leftJoints:["rZvSe3ehuF6gYShWHjg7Kt"],rightPoint:[23.979857556057144,-20.41604653851658,1],lx:47.819522846994,selected:!1,ly:.3,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],normal:[0,0,1],parentId:"2LZNQJZFPrCxZzv5NuwumV",foundationId:"2LZNQJZFPrCxZzv5NuwumV",cx:.07009613256014546,lz:10,leftRoofHeight:10,type:"Wall",rightJoints:["1nApY26ge55fxfDJGTDRg7"],roofId:"9TF7gEynqtnsWJGidoBUNq",leftPoint:[-23.83966529093686,-20.416046538516596,1],rightRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lz:10,normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],rightRoofHeight:10,rightPoint:[-23.839665290936864,-20.416046538516596,1],leftJoints:["hcTBY8guDEpwEg5jtYtD3H"],roofId:"9TF7gEynqtnsWJGidoBUNq",cx:-23.839665290936868,rightJoints:["4gP6SGPKJj7CUqEnRFmQ9x"],leftPoint:[-23.83966529093686,22.372040279665164,1],cy:.9779968705742856,relativeAngle:-1.5707963267948968,id:"rZvSe3ehuF6gYShWHjg7Kt",ly:.3,selected:!1,parentId:"2LZNQJZFPrCxZzv5NuwumV",color:"white",lx:42.78808681818176,textureType:"Wall Texture Default",type:"Wall",foundationId:"2LZNQJZFPrCxZzv5NuwumV",cz:0,leftRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{locked:!1,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],cz:.5,color:"#808080",lx:52.581175557196865,solarUpdraftTower:{},ly:46.345317346771616,lz:1,id:"2LZNQJZFPrCxZzv5NuwumV",selected:!1,type:"Foundation",cy:-66.29767782769949,solarPowerTower:{},normal:[0,0,1],cx:24.045330033541646,parentId:"Ground"},{textureType:"Wall Texture Default",lineColor:"black",leftPoint:[-3.4869204605207464,-20.78167896100657,1],ly:.3,rightRoofHeight:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",lz:12,rightPoint:[8.51307953947926,-14.281678961006572,1],lineWidth:.2,relativeAngle:.4964227534048815,locked:!1,type:"Wall",cx:2.5130795394792607,windows:[],foundationId:"9VLFJ7oUEizHpLYBMkGrSR",color:"white",id:"j1cSjqWhsVxayuMSQv24u3",showLabel:!1,selected:!1,lx:13.647344063956183,normal:[0,0,1],cz:0,cy:-17.531678961006573,leftJoints:["mJUeyE2zphErZr6GzDs3tZ"],leftRoofHeight:12,rotation:[0,0,-.41015237421866746],rightJoints:["svVfgRXxxLmkheyww2W4ad"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{leftPoint:[8.513079539479259,-11.281678961006572,1],roofId:"g8pgyA4zcrzdfdvNphwHQy",cz:0,id:"feUXDC3dk8QN3nPhgvxRs7",selected:!1,textureType:"Wall Texture Default",cx:11.763079539479257,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rightPoint:[15.013079539479259,-11.281678961006573,1],foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftRoofHeight:12,ly:.3,rotation:[0,0,-.41015237421866746],type:"Wall",lz:12,leftJoints:["svVfgRXxxLmkheyww2W4ad"],lineColor:"black",windows:[],cy:-11.28167896100657,normal:[0,0,1],rightJoints:["8SK72dWsX2KdwBhjqAJrHR"],relativeAngle:0,lineWidth:.2,rightRoofHeight:12,color:"white",showLabel:!1,locked:!1,lx:6.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{ly:.3,textureType:"Wall Texture Default",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"g8pgyA4zcrzdfdvNphwHQy",relativeAngle:1.5707963267948974,lineWidth:.2,selected:!1,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rotation:[0,0,-.41015237421866746],windows:[],lx:3.000000000000001,showLabel:!1,type:"Wall",color:"white",lineColor:"black",normal:[0,0,1],leftRoofHeight:12,rightJoints:["feUXDC3dk8QN3nPhgvxRs7"],lz:12,locked:!1,cx:8.513079539479259,cz:0,cy:-12.78167896100657,rightPoint:[8.513079539479259,-11.281678961006572,1],rightRoofHeight:12,leftJoints:["j1cSjqWhsVxayuMSQv24u3"],id:"svVfgRXxxLmkheyww2W4ad",leftPoint:[8.51307953947926,-14.281678961006572,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{type:"Wall",color:"white",relativeAngle:3.1415926535897927,normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],rightRoofHeight:5,lx:8.873370500562523,roofId:"iCAiZhiTVrLLqoQWH1g8xu",rightPoint:[-4.33188166169194,11.821078427256497,0],id:"1k4PTfybuAQ33E2nttLT4d",rightJoints:["dqGGsMEnQRvAtVj8JUXBJ1"],lz:5,ly:.3,leftRoofHeight:5,cx:.10480358858932037,cy:11.821078427256495,leftPoint:[4.541488838870581,11.821078427256491,0],cz:0,selected:!1,textureType:"Wall Texture Default",parentId:"m4iUcU4yAYwkvkodEmkEet",foundationId:"m4iUcU4yAYwkvkodEmkEet",leftJoints:["annVBiZ5xysQxyv34DuQgv"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:0,foundationId:"m4iUcU4yAYwkvkodEmkEet",textureType:"Wall Texture Default",leftRoofHeight:5,type:"Wall",id:"annVBiZ5xysQxyv34DuQgv",rotation:[0,0,-.41015237421866746],selected:!1,color:"white",cy:-.7092647056353876,cx:4.541488838870581,ly:.3,parentId:"m4iUcU4yAYwkvkodEmkEet",normal:[0,0,1],roofId:"iCAiZhiTVrLLqoQWH1g8xu",locked:!1,rightRoofHeight:5,lz:5,rightPoint:[4.541488838870581,11.821078427256495,0],leftJoints:["fE5GSES3t1e72zkQ5eaMtN"],rightJoints:["1k4PTfybuAQ33E2nttLT4d"],leftPoint:[4.541488838870581,-13.23960783852727,0],relativeAngle:1.5707963267948966,lx:25.060686265783765,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{relativeAngle:4003792784912203e-31,cy:-13.239607838527268,rightPoint:[4.541488838870582,-13.239607838527267,0],locked:!1,rightRoofHeight:5,id:"fE5GSES3t1e72zkQ5eaMtN",leftRoofHeight:5,leftJoints:["dqGGsMEnQRvAtVj8JUXBJ1"],rightJoints:["annVBiZ5xysQxyv34DuQgv"],type:"Wall",cx:.10480358858932082,rotation:[0,0,-.41015237421866746],normal:[0,0,1],leftPoint:[-4.33188166169194,-13.23960783852727,0],foundationId:"m4iUcU4yAYwkvkodEmkEet",ly:.3,lx:8.873370500562523,lz:5,roofId:"iCAiZhiTVrLLqoQWH1g8xu",parentId:"m4iUcU4yAYwkvkodEmkEet",color:"white",selected:!1,textureType:"Wall Texture Default",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-4.33188166169194,11.821078427256497,0],rightRoofHeight:5,cz:0,cy:-.7092647056353867,foundationId:"m4iUcU4yAYwkvkodEmkEet",color:"white",rotation:[0,0,-.41015237421866746],roofId:"iCAiZhiTVrLLqoQWH1g8xu",leftJoints:["1k4PTfybuAQ33E2nttLT4d"],lz:5,textureType:"Wall Texture Default",lx:25.060686265783765,leftRoofHeight:5,cx:-4.33188166169194,locked:!1,id:"dqGGsMEnQRvAtVj8JUXBJ1",selected:!1,parentId:"m4iUcU4yAYwkvkodEmkEet",rightPoint:[-4.33188166169194,-13.23960783852727,0],normal:[0,0,1],ly:.3,type:"Wall",relativeAngle:-1.5707963267948966,rightJoints:["fE5GSES3t1e72zkQ5eaMtN"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rotation:[0,0,-.41015237421866746],selected:!1,lx:12.02609775935612,parentId:"Ground",solarAbsorberPipe:{},solarPowerTower:{},normal:[0,0,1],cz:.5,locked:!1,lz:1,ly:39.808565196188674,type:"Foundation",solarUpdraftTower:{},cx:-53.11572356309672,id:"m4iUcU4yAYwkvkodEmkEet",color:"#808080",cy:-13.056870681152052},{cx:-2.4577065861477623,leftPoint:[4.807994986966596,2.7315947133271403,0],leftJoints:["cTujmRqECeyH6sGwqfoDEM"],type:"Wall",id:"91sCr2ydHgygQWRuaJ5N1C",relativeAngle:-3.141592653589793,cy:2.7315947133271394,ly:.3,parentId:"bkH7VRrzUTdvxfSm8xVMfT",rotation:[0,0,-.41015237421866746],locked:!1,lx:14.531403146228717,rightPoint:[-9.72340815926212,2.7315947133271385,0],rightJoints:["jhMUxbjEpDbcfFhgvBAFQj"],normal:[0,0,1],textureType:"Wall Texture Default",selected:!1,cz:0,roofId:"vRe6nzFrDCWVtSCu332MH4",foundationId:"bkH7VRrzUTdvxfSm8xVMfT",leftRoofHeight:16,color:"white",lz:16,rightRoofHeight:16,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{parentId:"bkH7VRrzUTdvxfSm8xVMfT",selected:!1,rightJoints:["91sCr2ydHgygQWRuaJ5N1C"],color:"white",lz:16,leftRoofHeight:16,roofId:"vRe6nzFrDCWVtSCu332MH4",rightPoint:[4.807994986966594,2.7315947133271434,0],lx:5.477642221583295,ly:.3,type:"Wall",centerRoofHeight:[0,17.3393317550628],foundationId:"bkH7VRrzUTdvxfSm8xVMfT",leftPoint:[4.807994986966587,-2.746047508256152,0],leftJoints:["9qVmVQPuu4fH6aAQqyfjRg"],id:"cTujmRqECeyH6sGwqfoDEM",textureType:"Wall Texture Default",locked:!1,cy:-.007226397464504375,cz:0,rotation:[0,0,-.41015237421866746],normal:[0,0,1],relativeAngle:1.5707963267948952,rightRoofHeight:16,cx:4.80799498696659,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",leftPoint:[-9.723408159262116,-2.7460475082561513,0],selected:!1,foundationId:"bkH7VRrzUTdvxfSm8xVMfT",color:"white",normal:[0,0,1],leftRoofHeight:16,rotation:[0,0,-.41015237421866746],leftJoints:["jhMUxbjEpDbcfFhgvBAFQj"],rightRoofHeight:16,parentId:"bkH7VRrzUTdvxfSm8xVMfT",roofId:"vRe6nzFrDCWVtSCu332MH4",locked:!1,id:"9qVmVQPuu4fH6aAQqyfjRg",rightJoints:["cTujmRqECeyH6sGwqfoDEM"],textureType:"Wall Texture Default",cx:-2.4577065861477636,lz:16,cz:0,relativeAngle:-15280327900245335e-32,lx:14.531403146228705,rightPoint:[4.807994986966588,-2.7460475082561535,0],cy:-2.7460475082561526,ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{lz:16,cy:-.007226397464506373,selected:!1,id:"jhMUxbjEpDbcfFhgvBAFQj",roofId:"vRe6nzFrDCWVtSCu332MH4",normal:[0,0,1],rotation:[0,0,-.41015237421866746],type:"Wall",parentId:"bkH7VRrzUTdvxfSm8xVMfT",color:"white",textureType:"Wall Texture Default",cz:0,rightJoints:["9qVmVQPuu4fH6aAQqyfjRg"],leftPoint:[-9.72340815926212,2.7315947133271385,0],leftJoints:["91sCr2ydHgygQWRuaJ5N1C"],lx:5.47764222158329,cx:-9.723408159262117,relativeAngle:-1.5707963267948957,ly:.3,leftRoofHeight:16,foundationId:"bkH7VRrzUTdvxfSm8xVMfT",centerRoofHeight:[0,17.3393317550628],rightPoint:[-9.723408159262116,-2.7460475082561513,0],rightRoofHeight:16,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{cz:.5,lz:1,cx:78.75570287833209,selected:!1,color:"#808080",solarPowerTower:{},cy:10.912053869608645,solarUpdraftTower:{},id:"bkH7VRrzUTdvxfSm8xVMfT",normal:[0,0,1],parentId:"Ground",ly:5.705242176061485,type:"Foundation",rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lx:20.778562085655192,locked:!1},{rotation:[0,0,-.41015237421866746],selected:!1,normal:[0,0,1],color:"white",rightRoofHeight:11,type:"Wall",rightPoint:[-10.286622985342673,4.983310762184353,0],leftRoofHeight:11,cz:0,textureType:"Wall Texture Default",locked:!1,parentId:"qJBTbMiP4tUMstkk4bQqAp",cx:.8987861583692425,id:"oNZPm4ForjT1jLCRGXT8ae",leftPoint:[12.084195302081158,4.983310762184358,0],foundationId:"qJBTbMiP4tUMstkk4bQqAp",lz:11,cy:4.983310762184356,roofId:"tLNDomb3SubspErPERhojH",ly:.3,lx:22.37081828742383,rightJoints:["twTFceoz8nr7JM6esRsvns"],leftJoints:["8Pn1CKwtmisKkjic3nAhPK"],relativeAngle:-3.141592653589793,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,leftRoofHeight:11,parentId:"qJBTbMiP4tUMstkk4bQqAp",rotation:[0,0,-.41015237421866746],lx:9.215971205723465,relativeAngle:1.5707963267948954,locked:!1,rightPoint:[12.084195302081158,4.98331076218436,0],roofId:"tLNDomb3SubspErPERhojH",cy:.3753251593226281,color:"white",rightRoofHeight:11,type:"Wall",leftPoint:[12.084195302081147,-4.232660443539104,0],normal:[0,0,1],foundationId:"qJBTbMiP4tUMstkk4bQqAp",id:"8Pn1CKwtmisKkjic3nAhPK",centerRoofHeight:[0,12.111126896848333],selected:!1,ly:.3,leftJoints:["2nMWmvd9mtkAxjJG8mCTx2"],cz:0,rightJoints:["oNZPm4ForjT1jLCRGXT8ae"],textureType:"Wall Texture Default",cx:12.084195302081152,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{locked:!1,rightJoints:["8Pn1CKwtmisKkjic3nAhPK"],leftPoint:[-10.286622985342662,-4.2326604435391,0],rightRoofHeight:11,foundationId:"qJBTbMiP4tUMstkk4bQqAp",type:"Wall",selected:!1,roofId:"tLNDomb3SubspErPERhojH",rightPoint:[12.084195302081158,-4.2326604435391,0],leftRoofHeight:11,ly:.3,cx:.8987861583692478,lz:11,leftJoints:["twTFceoz8nr7JM6esRsvns"],relativeAngle:0,normal:[0,0,1],textureType:"Wall Texture Default",color:"white",parentId:"qJBTbMiP4tUMstkk4bQqAp",cy:-4.2326604435391,lx:22.37081828742382,cz:0,rotation:[0,0,-.41015237421866746],id:"2nMWmvd9mtkAxjJG8mCTx2",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{ly:.3,leftPoint:[-10.286622985342673,4.983310762184353,0],cx:-10.286622985342667,normal:[0,0,1],leftJoints:["oNZPm4ForjT1jLCRGXT8ae"],cy:.3753251593226268,lx:9.215971205723452,rightPoint:[-10.286622985342662,-4.2326604435391,0],locked:!1,cz:0,lz:11,rotation:[0,0,-.41015237421866746],centerRoofHeight:[0,12.111126896848333],type:"Wall",foundationId:"qJBTbMiP4tUMstkk4bQqAp",leftRoofHeight:11,roofId:"tLNDomb3SubspErPERhojH",color:"white",selected:!1,id:"twTFceoz8nr7JM6esRsvns",rightJoints:["2nMWmvd9mtkAxjJG8mCTx2"],parentId:"qJBTbMiP4tUMstkk4bQqAp",rightRoofHeight:11,textureType:"Wall Texture Default",relativeAngle:-1.5707963267948954,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{solarPowerTower:{},selected:!1,normal:[0,0,1],lx:29.0500894298776,id:"qJBTbMiP4tUMstkk4bQqAp",color:"#808080",cz:.5,solarUpdraftTower:{},lz:1,parentId:"Ground",locked:!1,ly:13.367138022352988,cy:28.71057712188597,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],type:"Foundation",cx:36.57481860706345},{ly:.3,cy:2.971894027777658,textureType:"Wall Texture Default",selected:!1,leftPoint:[12.422123880582443,2.9718940277776653,1],rightJoints:["nNQo9acqRqKRWfE4a1RvLy"],normal:[0,0,1],type:"Wall",foundationId:"64tiQZ7Po62MhdtE1e44n9",cz:0,rotation:[0,0,-.41015237421866746],id:"5QyDHSHQi5g83yTByESY7g",color:"white",rightPoint:[7.6013879231388755,2.9718940277776573,1],locked:!1,lz:13,cx:10.011755901860653,lx:4.8207359574435635,relativeAngle:-3.1415926535897922,leftJoints:["2DDFqyaAZAAuWTVgy7UTYL"],parentId:"64tiQZ7Po62MhdtE1e44n9",roofId:"oTjPo4r99EKfdasnxT3n5a",leftRoofHeight:13,rightRoofHeight:13,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{parentId:"64tiQZ7Po62MhdtE1e44n9",leftPoint:[12.422123880582435,-2.1178940951050267,1],leftJoints:["7JuGqBdByKra32qVf2wuMP"],cz:0,locked:!1,ly:.3,foundationId:"64tiQZ7Po62MhdtE1e44n9",color:"white",rotation:[0,0,-.41015237421866746],selected:!1,lz:13,cy:.42699996633631887,leftRoofHeight:13,cx:12.422123880582438,lx:5.089788122882689,normal:[0,0,1],relativeAngle:1.570796326794896,roofId:"oTjPo4r99EKfdasnxT3n5a",rightJoints:["5QyDHSHQi5g83yTByESY7g"],type:"Wall",rightRoofHeight:13,rightPoint:[12.422123880582443,2.9718940277776653,1],id:"2DDFqyaAZAAuWTVgy7UTYL",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{foundationId:"64tiQZ7Po62MhdtE1e44n9",id:"7JuGqBdByKra32qVf2wuMP",textureType:"Wall Texture Default",rightPoint:[12.422123880582431,-2.1178940951050196,1],lx:4.820735957443555,leftRoofHeight:13,roofId:"oTjPo4r99EKfdasnxT3n5a",ly:.3,selected:!1,lz:13,leftJoints:["nNQo9acqRqKRWfE4a1RvLy"],cx:10.011755901860655,rotation:[0,0,-.41015237421866746],rightRoofHeight:13,rightJoints:["2DDFqyaAZAAuWTVgy7UTYL"],leftPoint:[7.601387923138878,-2.1178940951050227,1],relativeAngle:6448443757120744e-31,cy:-2.117894095105022,locked:!1,normal:[0,0,1],color:"white",parentId:"64tiQZ7Po62MhdtE1e44n9",cz:0,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{id:"nNQo9acqRqKRWfE4a1RvLy",foundationId:"64tiQZ7Po62MhdtE1e44n9",textureType:"Wall Texture Default",roofId:"oTjPo4r99EKfdasnxT3n5a",rotation:[0,0,-.41015237421866746],leftRoofHeight:13,color:"white",parentId:"64tiQZ7Po62MhdtE1e44n9",ly:.3,cz:0,relativeAngle:-1.5707963267948963,leftPoint:[7.6013879231388755,2.9718940277776573,1],rightRoofHeight:13,cx:7.601387923138877,normal:[0,0,1],rightJoints:["7JuGqBdByKra32qVf2wuMP"],type:"Wall",lx:5.089788122882682,rightPoint:[7.601387923138878,-2.1178940951050227,1],selected:!1,locked:!1,lz:13,leftJoints:["5QyDHSHQi5g83yTByESY7g"],cy:.4269999663363171,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{selected:!1,ly:6.942959260815169,parentId:"Ground",lz:1,id:"64tiQZ7Po62MhdtE1e44n9",solarUpdraftTower:{},cy:28.3064695776253,locked:!1,color:"#808080",cx:24.870540041807864,lx:25.896215586399297,rotation:[0,0,-.41015237421866746],solarPowerTower:{},normal:[0,0,1],solarAbsorberPipe:{},type:"Foundation",cz:.5},{color:"white",lx:6.102875967687821,lz:11,rightJoints:["ufN8sfE783eMNceqzrR88z"],cz:0,relativeAngle:-3.1415926535897927,cy:3.4313212286858255,textureType:"Wall Texture Default",roofId:"fS4RCk5GfqcPBkrsfQqupD",leftJoints:["pzCu78KeKhhbMuf9rgBh5L"],selected:!1,leftPoint:[3.0844752908601185,3.4313212286858272,0],foundationId:"kqR5p2bajX4NMTBq55qbCM",locked:!1,parentId:"kqR5p2bajX4NMTBq55qbCM",ly:.3,id:"4CXQZA8oGxMYG5uuTdJH4z",rightPoint:[-3.018400676827702,3.431321228685824,0],cx:.03303730701620822,leftRoofHeight:11,normal:[0,0,1],rightRoofHeight:11,rotation:[0,0,-.41015237421866746],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftPoint:[3.0844752908601167,-6.300430996731014,0],cx:3.0844752908601176,normal:[0,0,1],foundationId:"kqR5p2bajX4NMTBq55qbCM",cy:-1.4345548840225932,color:"white",id:"pzCu78KeKhhbMuf9rgBh5L",rightRoofHeight:11,cz:0,rightPoint:[3.0844752908601185,3.4313212286858272,0],centerRoofHeight:[-.5,11],rotation:[0,0,-.41015237421866746],lz:11,relativeAngle:1.5707963267948963,leftRoofHeight:11,textureType:"Wall Texture Default",selected:!1,locked:!1,ly:.3,parentId:"kqR5p2bajX4NMTBq55qbCM",type:"Wall",roofId:"fS4RCk5GfqcPBkrsfQqupD",leftJoints:["kQ44ExCwR71BEyjwkSCp38"],rightJoints:["4CXQZA8oGxMYG5uuTdJH4z"],lx:9.731752225416841,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{foundationId:"kqR5p2bajX4NMTBq55qbCM",textureType:"Wall Texture Default",relativeAngle:-5821376180034847e-31,rightPoint:[3.0844752908601167,-6.300430996731014,0],id:"kQ44ExCwR71BEyjwkSCp38",normal:[0,0,1],roofId:"fS4RCk5GfqcPBkrsfQqupD",rightJoints:["pzCu78KeKhhbMuf9rgBh5L"],rightRoofHeight:11,cy:-6.300430996731012,lx:6.102875967687822,selected:!1,color:"white",ly:.3,leftJoints:["ufN8sfE783eMNceqzrR88z"],cz:0,leftPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"kqR5p2bajX4NMTBq55qbCM",leftRoofHeight:11,type:"Wall",lz:11,rotation:[0,0,-.41015237421866746],cx:.03303730701620533,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cz:0,lz:11,rightPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"kqR5p2bajX4NMTBq55qbCM",rightJoints:["kQ44ExCwR71BEyjwkSCp38"],cx:-3.018400676827704,leftRoofHeight:11,rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948972,selected:!1,cy:-1.434554884022593,foundationId:"kqR5p2bajX4NMTBq55qbCM",color:"white",rightRoofHeight:11,locked:!1,leftJoints:["4CXQZA8oGxMYG5uuTdJH4z"],lx:9.731752225416834,id:"ufN8sfE783eMNceqzrR88z",normal:[0,0,1],centerRoofHeight:[.5,11],leftPoint:[-3.018400676827702,3.431321228685824,0],textureType:"Wall Texture Default",ly:.3,type:"Wall",roofId:"fS4RCk5GfqcPBkrsfQqupD",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Foundation",ly:13.304430432789896,selected:!1,color:"#808080",solarPowerTower:{},locked:!1,normal:[0,0,1],cy:32.738819911856226,cz:.5,solarAbsorberPipe:{},id:"kqR5p2bajX4NMTBq55qbCM",cx:72.31692383934994,rotation:[0,0,-.41015237421866746],lx:7.252592961439527,parentId:"Ground",solarUpdraftTower:{},lz:1},{rightJoints:["9YnLeekp8YrBjSwNEVxSmp"],roofId:"wrKEiNvyDQopU6C5MqvRMM",cy:7.3527391531452935,leftPoint:[5.468301535132202,7.352739153145294,1],id:"2qkVxdRDddbpLN4sHJK2gE",relativeAngle:3.141592653589793,leftRoofHeight:4,parentId:"98vBSiAe7BeqTZRNu482vh",rightRoofHeight:4,cx:-.9755536194629697,leftJoints:["gz2Gm7sAdANkmLzo5wFbxx"],color:"white",lz:4,rotation:[0,0,-.41015237421866746],rightPoint:[-7.419408774058143,7.352739153145295,1],lx:12.887710309190346,foundationId:"98vBSiAe7BeqTZRNu482vh",normal:[0,0,1],type:"Wall",locked:!1,selected:!1,cz:0,ly:.3,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:0,roofId:"wrKEiNvyDQopU6C5MqvRMM",leftPoint:[5.468301535132206,-7.370642577725551,1],centerRoofHeight:[0,6],foundationId:"98vBSiAe7BeqTZRNu482vh",id:"gz2Gm7sAdANkmLzo5wFbxx",normal:[0,0,1],rightJoints:["2qkVxdRDddbpLN4sHJK2gE"],type:"Wall",leftRoofHeight:4,textureType:"Wall Texture Default",lz:4,relativeAngle:1.5707963267948963,selected:!1,rightPoint:[5.4683015351322,7.352739153145298,1],cy:-.008951712290128144,locked:!1,leftJoints:["vha1dDK5ppjp6f9bgr45uq"],color:"white",cx:5.468301535132204,rightRoofHeight:4,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"98vBSiAe7BeqTZRNu482vh",lx:14.723381730870852,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{leftJoints:["9YnLeekp8YrBjSwNEVxSmp"],id:"vha1dDK5ppjp6f9bgr45uq",relativeAngle:2756667859198411e-31,cz:0,color:"white",leftRoofHeight:4,ly:.3,rotation:[0,0,-.41015237421866746],lz:4,textureType:"Wall Texture Default",cy:-7.370642577725552,leftPoint:[-7.4194087740581365,-7.370642577725553,1],locked:!1,cx:-.9755536194629646,rightJoints:["gz2Gm7sAdANkmLzo5wFbxx"],parentId:"98vBSiAe7BeqTZRNu482vh",roofId:"wrKEiNvyDQopU6C5MqvRMM",normal:[0,0,1],type:"Wall",selected:!1,rightPoint:[5.468301535132206,-7.370642577725551,1],rightRoofHeight:4,lx:12.887710309190334,foundationId:"98vBSiAe7BeqTZRNu482vh",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948961,centerRoofHeight:[0,6],foundationId:"98vBSiAe7BeqTZRNu482vh",ly:.3,cx:-7.419408774058138,textureType:"Wall Texture Default",lz:4,cy:-.008951712290129699,leftPoint:[-7.419408774058143,7.352739153145295,1],id:"9YnLeekp8YrBjSwNEVxSmp",cz:0,color:"white",rightPoint:[-7.4194087740581365,-7.370642577725553,1],lx:14.723381730870852,roofId:"wrKEiNvyDQopU6C5MqvRMM",rightRoofHeight:4,normal:[0,0,1],leftJoints:["2qkVxdRDddbpLN4sHJK2gE"],rightJoints:["vha1dDK5ppjp6f9bgr45uq"],type:"Wall",locked:!1,selected:!1,parentId:"98vBSiAe7BeqTZRNu482vh",leftRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:.5,type:"Foundation",color:"#808080",id:"98vBSiAe7BeqTZRNu482vh",solarAbsorberPipe:{},solarPowerTower:{},rotation:[0,0,-.41015237421866746],lx:15.543629167882932,cy:-34.03935192999712,cx:66.44654466726774,normal:[0,0,1],locked:!1,parentId:"Ground",solarUpdraftTower:{},lz:1,selected:!1,ly:16.051182282542253},{relativeAngle:-3.141592653589792,rotation:[0,0,-.41015237421866746],rightRoofHeight:10,id:"7zFHG6rEsyAEeiBjZ3Fqiv",cz:0,roofId:"52yUcWyJUbmGw2PC5d5KiK",textureType:"Wall Texture Default",cy:2.3029070359201342,cx:-2.061194479172505,lx:4.563843535322344,leftPoint:[.2207272884886666,2.302907035920138,0],color:"white",locked:!1,leftRoofHeight:10,selected:!1,normal:[0,0,1],lz:10,type:"Wall",rightPoint:[-4.343116246833677,2.3029070359201307,0],parentId:"tafet8SHZ3Nd8kXyfeZ9FR",ly:.3,rightJoints:["sfm78zxYm2PZeqMiLJ7sRS"],leftJoints:["qEu4R9jBDYekHJdsyGPkHu"],foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightRoofHeight:10,cx:.2207272884886636,lz:10,normal:[0,0,1],relativeAngle:1.5707963267948952,locked:!1,cy:.09783532837621656,lx:4.410143415087843,rightJoints:["7zFHG6rEsyAEeiBjZ3Fqiv"],type:"Wall",selected:!1,ly:.3,leftRoofHeight:10,cz:0,textureType:"Wall Texture Default",id:"qEu4R9jBDYekHJdsyGPkHu",rotation:[0,0,-.41015237421866746],rightPoint:[.2207272884886666,2.302907035920138,0],parentId:"tafet8SHZ3Nd8kXyfeZ9FR",leftPoint:[.2207272884886606,-2.1072363791677047,0],foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",leftJoints:["k13k8dUZo1jLk9Pubbz3Yu"],color:"white",roofId:"52yUcWyJUbmGw2PC5d5KiK",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightJoints:["qEu4R9jBDYekHJdsyGPkHu"],leftPoint:[-4.34311624683366,-2.1072363791677042,0],rightPoint:[.2207272884886606,-2.1072363791677047,0],rightRoofHeight:10,id:"k13k8dUZo1jLk9Pubbz3Yu",ly:.3,leftRoofHeight:10,cz:0,leftJoints:["sfm78zxYm2PZeqMiLJ7sRS"],lx:4.563843535322321,color:"white",locked:!1,parentId:"tafet8SHZ3Nd8kXyfeZ9FR",foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",textureType:"Wall Texture Default",type:"Wall",selected:!1,relativeAngle:-9730596730869277e-32,rotation:[0,0,-.41015237421866746],roofId:"52yUcWyJUbmGw2PC5d5KiK",cy:-2.1072363791677047,normal:[0,0,1],cx:-2.0611944791725,lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftRoofHeight:10,relativeAngle:-1.5707963267948928,cx:-4.343116246833668,rightRoofHeight:10,ly:.3,parentId:"tafet8SHZ3Nd8kXyfeZ9FR",locked:!1,roofId:"52yUcWyJUbmGw2PC5d5KiK",leftJoints:["7zFHG6rEsyAEeiBjZ3Fqiv"],leftPoint:[-4.343116246833677,2.3029070359201307,0],lx:4.410143415087835,rightJoints:["k13k8dUZo1jLk9Pubbz3Yu"],type:"Wall",lz:10,foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",color:"white",selected:!1,textureType:"Wall Texture Default",rightPoint:[-4.34311624683366,-2.1072363791677042,0],rotation:[0,0,-.41015237421866746],cz:0,id:"sfm78zxYm2PZeqMiLJ7sRS",normal:[0,0,1],cy:.09783532837621323,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",ly:4.607404636305792,cy:-35.24749355392174,locked:!1,type:"Foundation",cx:69.68931082715157,cz:.5,rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},selected:!1,parentId:"Ground",lx:8.9358229854864,id:"tafet8SHZ3Nd8kXyfeZ9FR",lz:1},{color:"white",relativeAngle:3.141592653589793,rightRoofHeight:5.25,id:"vG7sqxy4RdGecDZ8BgqUDU",lx:9.337227070632437,rotation:[0,0,-.41015237421866746],rightJoints:["9cZUThxWj1ikMEGtxc3eiz"],lz:5.25,leftJoints:["3JjPc2Pp9fAroM9UdivE1u"],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",parentId:"a7Ykq8sCMoZy5zM2ybNhKs",normal:[0,0,1],textureType:"Wall Texture Default",cy:3.3516986330408542,rightPoint:[-4.747688161235284,3.351698633040855,0],leftRoofHeight:5.25,cz:0,cx:-.07907462591906578,leftPoint:[4.589538909397152,3.3516986330408534,0],roofId:"qYDMJTekV8NWHzzCiVYwcs",ly:.3,centerRoofHeight:[0,6.225217409690371],type:"Wall",selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,normal:[0,0,1],rightPoint:[4.589538909397152,3.3516986330408534,0],lx:6.320731749368616,cz:0,locked:!1,rightJoints:["vG7sqxy4RdGecDZ8BgqUDU"],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",rightRoofHeight:5.25,type:"Wall",selected:!1,relativeAngle:1.5707963267948961,color:"white",rotation:[0,0,-.41015237421866746],cy:.19133275835654517,lz:5.25,id:"3JjPc2Pp9fAroM9UdivE1u",roofId:"qYDMJTekV8NWHzzCiVYwcs",leftPoint:[4.58953890939715,-2.969033116327763,0],parentId:"a7Ykq8sCMoZy5zM2ybNhKs",leftJoints:["cABST71Bn78stcfTw5z7y2"],cx:4.589538909397151,textureType:"Wall Texture Default",ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{textureType:"Wall Texture Default",cz:0,leftRoofHeight:5.25,cy:-2.969033116327763,locked:!1,roofId:"qYDMJTekV8NWHzzCiVYwcs",ly:.3,parentId:"a7Ykq8sCMoZy5zM2ybNhKs",rightPoint:[4.58953890939715,-2.969033116327763,0],cx:-.07907462591906667,rightRoofHeight:5.25,lz:5.25,relativeAngle:-4756114491922529e-32,selected:!1,type:"Wall",normal:[0,0,1],color:"white",leftJoints:["9cZUThxWj1ikMEGtxc3eiz"],rightJoints:["3JjPc2Pp9fAroM9UdivE1u"],centerRoofHeight:[0,6.225217409690371],rotation:[0,0,-.41015237421866746],leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"cABST71Bn78stcfTw5z7y2",lx:9.337227070632434,foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rotation:[0,0,-.41015237421866746],color:"white",selected:!1,locked:!1,ly:.3,relativeAngle:-1.5707963267948966,leftPoint:[-4.747688161235284,3.351698633040855,0],lz:5.25,roofId:"qYDMJTekV8NWHzzCiVYwcs",parentId:"a7Ykq8sCMoZy5zM2ybNhKs",cy:.19133275835654628,rightJoints:["cABST71Bn78stcfTw5z7y2"],cx:-4.747688161235283,lx:6.320731749368617,foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",textureType:"Wall Texture Default",leftJoints:["vG7sqxy4RdGecDZ8BgqUDU"],type:"Wall",rightPoint:[-4.747688161235283,-2.9690331163277626,0],rightRoofHeight:5.25,leftRoofHeight:5.25,cz:0,id:"9cZUThxWj1ikMEGtxc3eiz",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{color:"#808080",solarPowerTower:{},type:"Foundation",locked:!1,selected:!1,lx:10.667610013832563,solarAbsorberPipe:{},parentId:"Ground",normal:[0,0,1],cx:35.81768474812716,rotation:[0,0,-.41015237421866746],cy:-31.968353023498793,solarUpdraftTower:{},cz:.5,id:"a7Ykq8sCMoZy5zM2ybNhKs",lz:1,ly:10.658064363814518},{locked:!1,id:"a6q6Txnypc9iPjohNf43CB",leftPoint:[4.779738528665165,10.937352047913798,1],cx:.395865158322978,leftJoints:["4RfjPoTAycowc8B5SwzkpM"],rightJoints:["jWqRj42hxzMWofSpUH42dz"],rotation:[0,0,-.41015237421866746],parentId:"uBZaguS4Mp4iydQBE88CA1",selected:!1,rightPoint:[-3.9880082120192073,10.937352047913798,1],foundationId:"uBZaguS4Mp4iydQBE88CA1",leftRoofHeight:10,lz:10,ly:.3,cz:0,color:"white",normal:[0,0,1],rightRoofHeight:10,roofId:"jSo2aHHx58NTeAQuDZodmY",type:"Wall",lx:8.767746740684375,relativeAngle:3.141592653589793,textureType:"Wall Texture Default",cy:10.937352047913794,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[4.779738528665165,3.130296275146503,1],normal:[0,0,1],roofId:"jSo2aHHx58NTeAQuDZodmY",rightJoints:["a6q6Txnypc9iPjohNf43CB"],rotation:[0,0,-.41015237421866746],ly:.3,relativeAngle:1.5707963267948963,cz:0,id:"4RfjPoTAycowc8B5SwzkpM",parentId:"uBZaguS4Mp4iydQBE88CA1",cx:4.779738528665163,locked:!1,textureType:"Wall Texture Default",leftJoints:["nRLvRbWCCyQkZn2SaeWzhR"],rightPoint:[4.779738528665165,10.937352047913798,1],foundationId:"uBZaguS4Mp4iydQBE88CA1",selected:!1,lx:7.807055772767293,lz:10,leftRoofHeight:10,rightRoofHeight:10,cy:7.033824161530151,color:"white",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],leftRoofHeight:10,cz:0,lx:8.767746740684375,cx:.3958651583229764,rightJoints:["4RfjPoTAycowc8B5SwzkpM"],type:"Wall",cy:3.130296275146505,foundationId:"uBZaguS4Mp4iydQBE88CA1",ly:.3,rightRoofHeight:10,id:"nRLvRbWCCyQkZn2SaeWzhR",parentId:"uBZaguS4Mp4iydQBE88CA1",rightPoint:[4.779738528665165,3.130296275146503,1],lz:10,normal:[0,0,1],textureType:"Wall Texture Default",color:"white",relativeAngle:30390194173108526e-32,locked:!1,leftPoint:[-3.9880082120192113,3.1302962751465033,1],roofId:"jSo2aHHx58NTeAQuDZodmY",leftJoints:["jWqRj42hxzMWofSpUH42dz"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lz:10,relativeAngle:-1.5707963267948968,cy:7.03382416153015,parentId:"uBZaguS4Mp4iydQBE88CA1",rightPoint:[-3.9880082120192113,3.1302962751465033,1],ly:.3,lx:7.807055772767296,roofId:"jSo2aHHx58NTeAQuDZodmY",cx:-3.988008212019209,color:"white",foundationId:"uBZaguS4Mp4iydQBE88CA1",leftPoint:[-3.9880082120192073,10.937352047913798,1],rightJoints:["nRLvRbWCCyQkZn2SaeWzhR"],selected:!1,cz:0,leftRoofHeight:10,rightRoofHeight:10,leftJoints:["a6q6Txnypc9iPjohNf43CB"],type:"Wall",locked:!1,textureType:"Wall Texture Default",normal:[0,0,1],id:"jWqRj42hxzMWofSpUH42dz",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:26.759313634558907,cy:-19.722143796679788,cz:.5,lx:9.74476233969461,solarAbsorberPipe:{},locked:!1,selected:!1,parentId:"Ground",normal:[0,0,1],color:"#808080",type:"Foundation",id:"uBZaguS4Mp4iydQBE88CA1",cx:17.121825988451324,solarPowerTower:{},solarUpdraftTower:{},rotation:[0,0,-.41015237421866746],lz:1},{leftJoints:["ngPHRhypQfV68DYtm6sZvW"],cz:0,leftRoofHeight:10,parentId:"rQh2s1iBHWvFGFdzViXEe2",rotation:[0,0,-.41015237421866746],cx:-.4824098277040898,leftPoint:[12.274733699058217,12.570550728118558,1],locked:!1,rightJoints:["sbPEhSxLJ7xiM71jhPJUkw"],textureType:"Wall Texture Default",roofId:"tN1a6B1uCvjUWCkBQctrVG",color:"white",selected:!1,lz:10,cy:12.570550728118565,ly:.3,relativeAngle:3.141592653589793,foundationId:"rQh2s1iBHWvFGFdzViXEe2",id:"b12LAtSYTNxCwTbH7iRFmz",rightRoofHeight:10,rightPoint:[-13.239553354466391,12.570550728118558,1],lx:25.51428705352461,type:"Wall",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[12.274733699058213,-12.675216149553869,1],normal:[0,0,1],leftJoints:["2z5tfxd1xStwLEwGZ1Enk7"],locked:!1,rightPoint:[12.274733699058217,12.570550728118558,1],foundationId:"rQh2s1iBHWvFGFdzViXEe2",relativeAngle:1.5707963267948966,ly:.3,lz:10,lx:25.245766877672445,cz:0,roofId:"tN1a6B1uCvjUWCkBQctrVG",selected:!1,cy:-.05233271071766232,rightRoofHeight:10,rotation:[0,0,-.41015237421866746],parentId:"rQh2s1iBHWvFGFdzViXEe2",cx:12.274733699058219,id:"ngPHRhypQfV68DYtm6sZvW",color:"white",leftRoofHeight:10,textureType:"Wall Texture Default",rightJoints:["b12LAtSYTNxCwTbH7iRFmz"],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"tN1a6B1uCvjUWCkBQctrVG",rightPoint:[12.274733699058219,-12.675216149553865,1],color:"white",foundationId:"rQh2s1iBHWvFGFdzViXEe2",lx:25.514287053524612,cz:0,leftPoint:[-13.239553354466391,-12.675216149553885,1],leftJoints:["sbPEhSxLJ7xiM71jhPJUkw"],selected:!1,id:"2z5tfxd1xStwLEwGZ1Enk7",parentId:"rQh2s1iBHWvFGFdzViXEe2",normal:[0,0,1],rightJoints:["ngPHRhypQfV68DYtm6sZvW"],rightRoofHeight:10,leftRoofHeight:10,type:"Wall",ly:.3,relativeAngle:34811022461136335e-32,rotation:[0,0,-.41015237421866746],lz:10,cy:-12.675216149553874,locked:!1,textureType:"Wall Texture Default",cx:-.4824098277040827,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:.3,selected:!1,roofId:"tN1a6B1uCvjUWCkBQctrVG",cz:0,leftJoints:["b12LAtSYTNxCwTbH7iRFmz"],lz:10,cx:-13.239553354466391,locked:!1,foundationId:"rQh2s1iBHWvFGFdzViXEe2",lx:25.245766877672445,id:"sbPEhSxLJ7xiM71jhPJUkw",rightJoints:["2z5tfxd1xStwLEwGZ1Enk7"],textureType:"Wall Texture Default",leftRoofHeight:10,relativeAngle:-1.5707963267948968,rightRoofHeight:10,rightPoint:[-13.239553354466395,-12.675216149553886,1],cy:-.05233271071766321,rotation:[0,0,-.41015237421866746],type:"Wall",normal:[0,0,1],color:"white",parentId:"rQh2s1iBHWvFGFdzViXEe2",leftPoint:[-13.239553354466391,12.570550728118558,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:27.015265076182526,solarPowerTower:{},id:"rQh2s1iBHWvFGFdzViXEe2",lz:1,rotation:[0,0,-.41015237421866746],cy:-75.35128568516778,normal:[0,0,1],cx:46.98901169365807,cz:.5,solarUpdraftTower:{},parentId:"Ground",selected:!1,type:"Foundation",locked:!1,color:"#808080",ly:28.698582154704336,solarAbsorberPipe:{}},{leftPoint:[3.881236454413665,2.590871964313816,0],rotation:[0,0,-.41015237421866746],lx:13.122757014665611,cz:0,roofId:"mgoQMGVeVMwiZzvh6DtsHC",textureType:"Wall Texture Default",parentId:"kLLR11PM8xK326yQ5QVzHF",cx:-2.68014205291914,leftRoofHeight:16,cy:2.590871964313818,locked:!1,id:"gs8TZionAFZcvbLtmKeykq",normal:[0,0,1],relativeAngle:3.141592653589793,foundationId:"kLLR11PM8xK326yQ5QVzHF",lz:16,ly:.3,rightRoofHeight:16,color:"white",selected:!1,type:"Wall",rightJoints:["9qCk45C9zpiC2iX7xDbSMH"],leftJoints:["rohGrk56Rmwrds2U1CuXPp"],rightPoint:[-9.241520560251946,2.59087196431382,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{rightRoofHeight:16,cx:3.881236454413662,rotation:[0,0,-.41015237421866746],leftJoints:["3d9FbdLzNegyUKLjvqVp9P"],centerRoofHeight:[0,17.714737050020105],roofId:"mgoQMGVeVMwiZzvh6DtsHC",color:"white",id:"rohGrk56Rmwrds2U1CuXPp",selected:!1,rightJoints:["gs8TZionAFZcvbLtmKeykq"],foundationId:"kLLR11PM8xK326yQ5QVzHF",textureType:"Wall Texture Default",locked:!1,type:"Wall",leftPoint:[3.8812364544136595,-2.6095545856794877,0],lx:5.200426549993304,cy:-.009341310682835946,normal:[0,0,1],lz:16,parentId:"kLLR11PM8xK326yQ5QVzHF",ly:.3,cz:0,leftRoofHeight:16,relativeAngle:1.5707963267948957,rightPoint:[3.881236454413665,2.590871964313816,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{locked:!1,parentId:"kLLR11PM8xK326yQ5QVzHF",foundationId:"kLLR11PM8xK326yQ5QVzHF",rotation:[0,0,-.41015237421866746],normal:[0,0,1],textureType:"Wall Texture Default",cx:-2.6801420529191438,leftJoints:["9qCk45C9zpiC2iX7xDbSMH"],cy:-2.6095545856794904,color:"white",leftRoofHeight:16,ly:.3,relativeAngle:40609381948055113e-32,leftPoint:[-9.241520560251947,-2.609554585679493,0],rightJoints:["rohGrk56Rmwrds2U1CuXPp"],type:"Wall",selected:!1,id:"3d9FbdLzNegyUKLjvqVp9P",rightPoint:[3.8812364544136595,-2.6095545856794877,0],roofId:"mgoQMGVeVMwiZzvh6DtsHC",cz:0,lz:16,rightRoofHeight:16,lx:13.122757014665607,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{cx:-9.241520560251946,cz:0,roofId:"mgoQMGVeVMwiZzvh6DtsHC",lz:16,relativeAngle:-1.570796326794897,cy:-.009341310682836612,normal:[0,0,1],foundationId:"kLLR11PM8xK326yQ5QVzHF",parentId:"kLLR11PM8xK326yQ5QVzHF",rotation:[0,0,-.41015237421866746],lx:5.200426549993313,color:"white",leftJoints:["gs8TZionAFZcvbLtmKeykq"],locked:!1,leftPoint:[-9.241520560251946,2.59087196431382,0],id:"9qCk45C9zpiC2iX7xDbSMH",rightRoofHeight:16,ly:.3,centerRoofHeight:[0,17.714737050020105],selected:!1,rightJoints:["3d9FbdLzNegyUKLjvqVp9P"],leftRoofHeight:16,rightPoint:[-9.241520560251947,-2.609554585679493,0],textureType:"Wall Texture Default",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{rotation:[0,0,-.41015237421866746],cy:-78.99513775014256,color:"#808080",solarUpdraftTower:{},lz:1,selected:!1,parentId:"Ground",cz:.5,cx:57.21273152304917,locked:!1,solarAbsorberPipe:{},solarPowerTower:{},type:"Foundation",normal:[0,0,1],id:"kLLR11PM8xK326yQ5QVzHF",lx:20.705717238442087,ly:5.889181614425833},{parentId:"x5CDMTRHrHH6ChAJLKJCrV",cz:0,rightRoofHeight:11,lx:21.722848351168093,id:"6V62Zt3rayMTYsccknpXaH",lz:11,ly:.3,leftRoofHeight:11,cx:4.010629943427583,type:"Wall",locked:!1,cy:4.151117918815318,leftPoint:[14.87205411901163,4.151117918815315,0],selected:!1,relativeAngle:3.1415926535897927,roofId:"5Fxdv1WWmCMeawRz9mKuqV",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],leftJoints:["9wfJs9iCWUXsCC7X64D8Nb"],color:"white",rightPoint:[-6.8507942321564625,4.151117918815323,0],normal:[0,0,1],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",rightJoints:["qD9BfhCuxt9GxywQHZujJQ"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cz:0,roofId:"5Fxdv1WWmCMeawRz9mKuqV",parentId:"x5CDMTRHrHH6ChAJLKJCrV",textureType:"Wall Texture Default",lx:8.340566324530702,rightPoint:[14.87205411901163,4.151117918815315,0],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",locked:!1,cx:14.872054119011626,normal:[0,0,1],leftPoint:[14.872054119011624,-4.189448405715386,0],color:"white",rightRoofHeight:11,rightJoints:["6V62Zt3rayMTYsccknpXaH"],cy:-.019165243450035785,ly:.3,centerRoofHeight:[0,12.060818180566665],leftJoints:["eVyuLptBvR2cKWFWdRTpDm"],leftRoofHeight:11,rotation:[0,0,-.41015237421866746],selected:!1,type:"Wall",lz:11,id:"9wfJs9iCWUXsCC7X64D8Nb",relativeAngle:1.570796326794896,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{id:"eVyuLptBvR2cKWFWdRTpDm",leftJoints:["qD9BfhCuxt9GxywQHZujJQ"],lz:11,leftRoofHeight:11,cx:4.010629943427585,textureType:"Wall Texture Default",cz:0,selected:!1,rightPoint:[14.872054119011624,-4.189448405715386,0],parentId:"x5CDMTRHrHH6ChAJLKJCrV",type:"Wall",color:"white",ly:.3,rightJoints:["9wfJs9iCWUXsCC7X64D8Nb"],cy:-4.189448405715389,leftPoint:[-6.850794232156455,-4.189448405715391,0],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",rightRoofHeight:11,rotation:[0,0,-.41015237421866746],relativeAngle:20443415277360858e-32,roofId:"5Fxdv1WWmCMeawRz9mKuqV",lx:21.72284835116808,normal:[0,0,1],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,leftJoints:["6V62Zt3rayMTYsccknpXaH"],centerRoofHeight:[0,12.060818180566665],locked:!1,rightPoint:[-6.850794232156455,-4.189448405715391,0],type:"Wall",rightJoints:["eVyuLptBvR2cKWFWdRTpDm"],parentId:"x5CDMTRHrHH6ChAJLKJCrV",cy:-.01916524345003401,lz:11,leftRoofHeight:11,rightRoofHeight:11,relativeAngle:-1.5707963267948957,color:"white",cz:0,id:"qD9BfhCuxt9GxywQHZujJQ",lx:8.340566324530712,roofId:"5Fxdv1WWmCMeawRz9mKuqV",cx:-6.850794232156459,foundationId:"x5CDMTRHrHH6ChAJLKJCrV",normal:[0,0,1],rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,leftPoint:[-6.8507942321564625,4.151117918815323,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Foundation",solarPowerTower:{},rotation:[0,0,-.41015237421866746],selected:!1,locked:!1,lx:30.492817584324445,id:"x5CDMTRHrHH6ChAJLKJCrV",lz:1,cx:-2.6987520128351328,normal:[0,0,1],cz:.5,ly:8.387848050211689,solarAbsorberPipe:{},solarUpdraftTower:{},cy:-53.16373671637722,color:"#808080",parentId:"Ground"},{type:"Wall",textureType:"Wall Texture Default",lx:5.147994804936703,rotation:[0,0,-.41015237421866746],lz:13,ly:.3,cy:3.5419213517865673,leftJoints:["xqjrhteUBJfNDcJWuHnvRu"],leftRoofHeight:13,rightRoofHeight:13,rightJoints:["qY5WoPV6F2CGJU6Z5GgH9A"],normal:[0,0,1],locked:!1,cx:1.9334943095461699,id:"5TCp2VzUPYtC3wHFFUhMZA",relativeAngle:3.1415926535897922,leftPoint:[4.507491712014521,3.5419213517865646,0],cz:0,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",roofId:"15884yYUHNT5NwXMKhmRGP",color:"white",selected:!1,rightPoint:[-.6405030929221814,3.54192135178657,0],parentId:"niHTxZ4PaRwa8PCQj9YtSY",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{type:"Wall",id:"xqjrhteUBJfNDcJWuHnvRu",roofId:"15884yYUHNT5NwXMKhmRGP",foundationId:"niHTxZ4PaRwa8PCQj9YtSY",lx:7.024418192306677,lz:13,relativeAngle:1.5707963267948963,rightJoints:["5TCp2VzUPYtC3wHFFUhMZA"],selected:!1,textureType:"Wall Texture Default",cx:4.50749171201452,parentId:"niHTxZ4PaRwa8PCQj9YtSY",leftRoofHeight:13,rightRoofHeight:13,cy:.029712255633226103,ly:.3,color:"white",normal:[0,0,1],leftPoint:[4.507491712014519,-3.4824968405201124,0],rightPoint:[4.507491712014521,3.5419213517865646,0],rotation:[0,0,-.41015237421866746],cz:0,locked:!1,leftJoints:["nW4zHPMqaoecHBwBCyEqwh"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{cx:1.9334943095461696,lz:13,lx:5.147994804936699,roofId:"15884yYUHNT5NwXMKhmRGP",color:"white",ly:.3,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",leftPoint:[-.6405030929221798,-3.482496840520119,0],type:"Wall",parentId:"niHTxZ4PaRwa8PCQj9YtSY",leftRoofHeight:13,textureType:"Wall Texture Default",cz:0,rotation:[0,0,-.41015237421866746],rightPoint:[4.507491712014519,-3.4824968405201124,0],leftJoints:["qY5WoPV6F2CGJU6Z5GgH9A"],selected:!1,cy:-3.482496840520116,id:"nW4zHPMqaoecHBwBCyEqwh",locked:!1,normal:[0,0,1],rightRoofHeight:13,relativeAngle:1293967534963907e-30,rightJoints:["xqjrhteUBJfNDcJWuHnvRu"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{textureType:"Wall Texture Default",ly:.3,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",id:"qY5WoPV6F2CGJU6Z5GgH9A",cy:.029712255633225437,leftJoints:["5TCp2VzUPYtC3wHFFUhMZA"],relativeAngle:-1.5707963267948963,leftPoint:[-.6405030929221814,3.54192135178657,0],leftRoofHeight:13,cz:0,roofId:"15884yYUHNT5NwXMKhmRGP",rightRoofHeight:13,selected:!1,normal:[0,0,1],cx:-.6405030929221807,lz:13,rotation:[0,0,-.41015237421866746],rightJoints:["nW4zHPMqaoecHBwBCyEqwh"],lx:7.024418192306689,rightPoint:[-.6405030929221798,-3.482496840520119,0],parentId:"niHTxZ4PaRwa8PCQj9YtSY",type:"Wall",locked:!1,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{solarAbsorberPipe:{},cy:-49.221657555965606,ly:7.870086564093848,cz:.5,type:"Foundation",solarPowerTower:{},locked:!1,rotation:[0,0,-.41015237421866746],solarUpdraftTower:{},normal:[0,0,1],lz:1,id:"niHTxZ4PaRwa8PCQj9YtSY",parentId:"Ground",color:"#808080",selected:!1,lx:9.19241650107572,cx:.2960050895698132},{leftJoints:["pBQFic2TqVJyDdJyEaBVof"],cy:6.111068939289358,rightJoints:["w8GFYP8jB1EG2YVL6appCT"],rightRoofHeight:20,locked:!1,type:"Wall",rotation:[0,0,-.41015237421866746],cx:-6.699754362236526,foundationId:"jH5z454ciczrceJTNes5b4",relativeAngle:-3.1415926535897927,color:"white",lz:20,rightPoint:[-16.136312320425503,6.1110689392893525,1],cz:0,leftPoint:[2.7368035959524555,6.111068939289361,1],parentId:"jH5z454ciczrceJTNes5b4",id:"tq43NPQgXhkeNmwFteVBqx",lx:18.873115916377962,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",ly:.3,textureType:"Wall Texture Default",normal:[0,0,1],leftRoofHeight:20,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{normal:[0,0,1],leftJoints:["4ocNasurxu3LhLKonWAKWR"],lz:20,rightRoofHeight:20,locked:!1,foundationId:"jH5z454ciczrceJTNes5b4",cy:-.01768597422249274,rotation:[0,0,-.41015237421866746],relativeAngle:1.5707963267948966,selected:!1,cx:2.736803595952447,id:"pBQFic2TqVJyDdJyEaBVof",rightPoint:[2.7368035959524555,6.111068939289361,1],cz:0,color:"white",type:"Wall",lx:12.257509827023695,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",textureType:"Wall Texture Default",ly:.3,rightJoints:["tq43NPQgXhkeNmwFteVBqx"],parentId:"jH5z454ciczrceJTNes5b4",leftRoofHeight:20,leftPoint:[2.7368035959524515,-6.146440887734339,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{selected:!1,rightJoints:["pBQFic2TqVJyDdJyEaBVof"],leftJoints:["w8GFYP8jB1EG2YVL6appCT"],lz:20,lx:18.873115916377927,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],id:"4ocNasurxu3LhLKonWAKWR",locked:!1,foundationId:"jH5z454ciczrceJTNes5b4",leftRoofHeight:20,type:"Wall",cy:-6.146440887734334,normal:[0,0,1],cx:-6.69975436223651,rightRoofHeight:20,ly:.3,parentId:"jH5z454ciczrceJTNes5b4",cz:0,color:"white",relativeAngle:-7059076177209601e-31,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",rightPoint:[2.736803595952453,-6.146440887734342,1],leftPoint:[-16.13631232042547,-6.146440887734327,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{rotation:[0,0,-.41015237421866746],rightPoint:[-16.13631232042547,-6.146440887734327,1],ly:.3,parentId:"jH5z454ciczrceJTNes5b4",textureType:"Wall Texture Default",id:"w8GFYP8jB1EG2YVL6appCT",relativeAngle:-1.5707963267948937,type:"Wall",lz:20,locked:!1,leftJoints:["tq43NPQgXhkeNmwFteVBqx"],leftPoint:[-16.136312320425503,6.1110689392893525,1],foundationId:"jH5z454ciczrceJTNes5b4",cz:0,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",rightRoofHeight:20,color:"white",cx:-16.13631232042549,cy:-.017685974222486855,lx:12.257509827023679,leftRoofHeight:20,rightJoints:["4ocNasurxu3LhLKonWAKWR"],normal:[0,0,1],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{locked:!1,color:"#808080",lx:39.42410417793452,cx:66.63950557888982,ly:15.35325958544188,rotation:[0,0,-.41015237421866746],type:"Foundation",selected:!1,lz:1,parentId:"Ground",normal:[0,0,1],solarPowerTower:{},cy:16.298608230784698,id:"jH5z454ciczrceJTNes5b4",solarAbsorberPipe:{},solarUpdraftTower:{},cz:.5},{type:"Wall",relativeAngle:3.141592653589793,cy:1.981243048009849,foundationId:"n59KTNFiEAdewYQ4UeZKU4",locked:!1,parentId:"n59KTNFiEAdewYQ4UeZKU4",leftRoofHeight:4,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],roofId:"rSsa8T9bULkoQ2pinqnr8i",leftPoint:[.9304202110555404,1.981243048009849,0],color:"white",rightRoofHeight:4,cz:0,cx:-2.0589287667673153,id:"v3VJnU8TGf45Uue1UFcxRK",lx:5.9786979556457105,centerRoofHeight:[0,4.977141261476465],normal:[0,0,1],rightPoint:[-5.0482777445901705,1.981243048009849,0],leftJoints:["usXjKxe48EnDWZT6Frh4Pq"],selected:!1,ly:.3,lz:4,rightJoints:["oB5VoQWfR3kmSWtghKT8LL"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{leftJoints:["8m4LSxdnyZTCo1Q3CX64h7"],rightPoint:[.9304202110555404,1.981243048009849,0],cx:.9304202110555421,leftPoint:[.9304202110555437,-1.9726241537665505,0],color:"white",rotation:[0,0,-.41015237421866746],leftRoofHeight:4,foundationId:"n59KTNFiEAdewYQ4UeZKU4",cy:.004309447121649268,lx:3.9538672017764,locked:!1,id:"usXjKxe48EnDWZT6Frh4Pq",selected:!1,ly:.3,rightRoofHeight:4,rightJoints:["v3VJnU8TGf45Uue1UFcxRK"],textureType:"Wall Texture Default",parentId:"n59KTNFiEAdewYQ4UeZKU4",roofId:"rSsa8T9bULkoQ2pinqnr8i",normal:[0,0,1],type:"Wall",relativeAngle:1.5707963267948977,cz:0,lz:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cx:-2.058928766767304,cz:0,leftRoofHeight:4,lx:5.978697955645695,rightJoints:["usXjKxe48EnDWZT6Frh4Pq"],centerRoofHeight:[0,4.977141261476465],leftJoints:["oB5VoQWfR3kmSWtghKT8LL"],foundationId:"n59KTNFiEAdewYQ4UeZKU4",id:"8m4LSxdnyZTCo1Q3CX64h7",rightRoofHeight:4,rightPoint:[.9304202110555437,-1.9726241537665505,0],roofId:"rSsa8T9bULkoQ2pinqnr8i",cy:-1.9726241537665496,textureType:"Wall Texture Default",locked:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],selected:!1,ly:.3,relativeAngle:-2971143303405775e-31,color:"white",parentId:"n59KTNFiEAdewYQ4UeZKU4",lz:4,leftPoint:[-5.048277744590152,-1.9726241537665488,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{locked:!1,rightJoints:["8m4LSxdnyZTCo1Q3CX64h7"],lz:4,leftJoints:["v3VJnU8TGf45Uue1UFcxRK"],color:"white",type:"Wall",textureType:"Wall Texture Default",cz:0,parentId:"n59KTNFiEAdewYQ4UeZKU4",selected:!1,id:"oB5VoQWfR3kmSWtghKT8LL",rotation:[0,0,-.41015237421866746],cy:.004309447121650156,leftPoint:[-5.0482777445901705,1.981243048009849,0],leftRoofHeight:4,lx:3.953867201776398,rightPoint:[-5.048277744590152,-1.9726241537665488,0],normal:[0,0,1],rightRoofHeight:4,ly:.3,cx:-5.048277744590161,relativeAngle:-1.570796326794892,roofId:"rSsa8T9bULkoQ2pinqnr8i",foundationId:"n59KTNFiEAdewYQ4UeZKU4",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{solarUpdraftTower:{},normal:[0,0,1],color:"#808080",lz:1,cz:.5,lx:10.423522474713057,ly:4.1286288557387945,locked:!1,parentId:"Ground",rotation:[0,0,-.41015237421866746],solarPowerTower:{},id:"n59KTNFiEAdewYQ4UeZKU4",cy:-40.804555672678404,type:"Foundation",cx:68.39138539021306,selected:!1,solarAbsorberPipe:{}},{locked:!1,selected:!1,lx:5.9786979556457105,ly:.3,rightPoint:[-5.0482777445901705,1.981243048009849,0],textureType:"Wall Texture Default",rightRoofHeight:4,lz:4,foundationId:"5YuxWSX2uVTCHuPGAXXubi",leftRoofHeight:4,roofId:"1E1bgqioi9tFqyckxVRysA",leftJoints:["c7E26TQsGBwiEUQ4ooLDKK"],color:"white",normal:[0,0,1],relativeAngle:3.141592653589793,type:"Wall",id:"ccjpL8TWCg1zhnSiXXyUiu",cx:-2.0589287667673153,rightJoints:["ar4bhGtUec9qTkqAxEbkF4"],rotation:[0,0,-.41015237421866746],parentId:"5YuxWSX2uVTCHuPGAXXubi",cz:0,centerRoofHeight:[0,4.788751523933837],leftPoint:[.9304202110555404,1.981243048009849,0],cy:1.981243048009849,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{parentId:"5YuxWSX2uVTCHuPGAXXubi",lz:4,rightRoofHeight:4,roofId:"1E1bgqioi9tFqyckxVRysA",cy:.004309447121649268,foundationId:"5YuxWSX2uVTCHuPGAXXubi",normal:[0,0,1],type:"Wall",locked:!1,rotation:[0,0,-.41015237421866746],leftJoints:["nxEr9eKy7xre7xajGyT8qN"],selected:!1,ly:.3,relativeAngle:1.5707963267948977,rightPoint:[.9304202110555404,1.981243048009849,0],rightJoints:["ccjpL8TWCg1zhnSiXXyUiu"],leftPoint:[.9304202110555437,-1.9726241537665505,0],id:"c7E26TQsGBwiEUQ4ooLDKK",cz:0,cx:.9304202110555421,lx:3.9538672017764,textureType:"Wall Texture Default",color:"white",leftRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:0,relativeAngle:-2971143303405775e-31,textureType:"Wall Texture Default",normal:[0,0,1],color:"white",parentId:"5YuxWSX2uVTCHuPGAXXubi",leftJoints:["ar4bhGtUec9qTkqAxEbkF4"],leftPoint:[-5.048277744590152,-1.9726241537665488,0],centerRoofHeight:[0,4.788751523933837],lx:5.978697955645695,leftRoofHeight:4,cx:-2.058928766767304,locked:!1,ly:.3,rightPoint:[.9304202110555437,-1.9726241537665505,0],id:"nxEr9eKy7xre7xajGyT8qN",type:"Wall",cy:-1.9726241537665496,rightRoofHeight:4,lz:4,foundationId:"5YuxWSX2uVTCHuPGAXXubi",selected:!1,rightJoints:["c7E26TQsGBwiEUQ4ooLDKK"],roofId:"1E1bgqioi9tFqyckxVRysA",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{locked:!1,ly:.3,parentId:"5YuxWSX2uVTCHuPGAXXubi",normal:[0,0,1],textureType:"Wall Texture Default",lx:3.953867201776398,cy:.004309447121650156,lz:4,selected:!1,leftPoint:[-5.0482777445901705,1.981243048009849,0],leftRoofHeight:4,rightPoint:[-5.048277744590152,-1.9726241537665488,0],rightJoints:["nxEr9eKy7xre7xajGyT8qN"],rightRoofHeight:4,relativeAngle:-1.570796326794892,color:"white",roofId:"1E1bgqioi9tFqyckxVRysA",leftJoints:["ccjpL8TWCg1zhnSiXXyUiu"],id:"ar4bhGtUec9qTkqAxEbkF4",foundationId:"5YuxWSX2uVTCHuPGAXXubi",cx:-5.048277744590161,rotation:[0,0,-.41015237421866746],type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lz:1,selected:!1,solarAbsorberPipe:{},cz:.5,locked:!1,type:"Foundation",normal:[0,0,1],solarPowerTower:{},id:"5YuxWSX2uVTCHuPGAXXubi",cy:-30.912868668016095,cx:72.70720165765073,solarUpdraftTower:{},ly:4.1286288557387945,parentId:"Ground",color:"#808080",lx:10.423522474713057,rotation:[0,0,-.41015237421866746]},{textureType:"Wall Texture Default",cx:.01121512740181907,rightPoint:[-3.072511420947951,1.3672430244223959,0],cy:1.3672430244223936,id:"6QCJ15fiFxBVfmQVYdq3Tt",relativeAngle:3.1415926535897927,normal:[0,0,1],selected:!1,leftJoints:["hKcyiMXDvquM1MhoYuTSwv"],leftRoofHeight:11,cz:0,rightJoints:["xaCgBVBkCeg8kpZex83ZSB"],lz:11,type:"Wall",lx:6.167453096699541,locked:!1,leftPoint:[3.0949416757515893,1.3672430244223912,0],ly:.3,foundationId:"jsSCnAypzh29RxPH7MED73",rotation:[0,0,-.41015237421866746],roofId:"g5QrsNM3GmBsG5THTKDrtm",parentId:"jsSCnAypzh29RxPH7MED73",color:"white",rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,leftRoofHeight:11,rightPoint:[3.0949416757515893,1.3672430244223912,0],foundationId:"jsSCnAypzh29RxPH7MED73",cz:0,cx:3.0949416757515884,ly:.3,rightJoints:["6QCJ15fiFxBVfmQVYdq3Tt"],normal:[0,0,1],textureType:"Wall Texture Default",rightRoofHeight:11,leftPoint:[3.094941675751588,-5.795230412406128,0],type:"Wall",id:"hKcyiMXDvquM1MhoYuTSwv",roofId:"g5QrsNM3GmBsG5THTKDrtm",locked:!1,cy:-2.2139936939918683,color:"white",rotation:[0,0,-.41015237421866746],parentId:"jsSCnAypzh29RxPH7MED73",relativeAngle:1.5707963267948963,selected:!1,lz:11,leftJoints:["eS1W5AA2DGWiYaV8ifzzrj"],centerRoofHeight:[-.5,11],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,leftJoints:["xaCgBVBkCeg8kpZex83ZSB"],cz:0,rotation:[0,0,-.41015237421866746],relativeAngle:0,textureType:"Wall Texture Default",cy:-5.795230412406128,rightPoint:[3.094941675751588,-5.795230412406128,0],lx:6.167453096699535,parentId:"jsSCnAypzh29RxPH7MED73",id:"eS1W5AA2DGWiYaV8ifzzrj",foundationId:"jsSCnAypzh29RxPH7MED73",locked:!1,rightJoints:["hKcyiMXDvquM1MhoYuTSwv"],ly:.3,rightRoofHeight:11,color:"white",leftPoint:[-3.0725114209479467,-5.795230412406128,0],leftRoofHeight:11,roofId:"g5QrsNM3GmBsG5THTKDrtm",cx:.011215127401820624,type:"Wall",lz:11,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{roofId:"g5QrsNM3GmBsG5THTKDrtm",cz:0,leftRoofHeight:11,type:"Wall",cy:-2.213993693991866,parentId:"jsSCnAypzh29RxPH7MED73",rotation:[0,0,-.41015237421866746],rightJoints:["eS1W5AA2DGWiYaV8ifzzrj"],textureType:"Wall Texture Default",id:"xaCgBVBkCeg8kpZex83ZSB",lx:7.162473436828524,cx:-3.072511420947949,leftJoints:["6QCJ15fiFxBVfmQVYdq3Tt"],lz:11,ly:.3,locked:!1,rightPoint:[-3.0725114209479467,-5.795230412406128,0],foundationId:"jsSCnAypzh29RxPH7MED73",normal:[0,0,1],color:"white",centerRoofHeight:[.5,11],rightRoofHeight:11,leftPoint:[-3.072511420947951,1.3672430244223959,0],relativeAngle:-1.570796326794896,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{locked:!1,solarPowerTower:{},selected:!1,solarUpdraftTower:{},cz:.5,solarAbsorberPipe:{},normal:[0,0,1],rotation:[0,0,-.41015237421866746],ly:12.02473099186649,cy:-50.437956729618975,lx:6.9193101388799265,lz:1,parentId:"Ground",color:"#808080",type:"Foundation",cx:40.2572441035554,id:"jsSCnAypzh29RxPH7MED73"},{cy:0,wallsId:["91sCr2ydHgygQWRuaJ5N1C"],lz:0,type:"Roof",id:"vRe6nzFrDCWVtSCu332MH4",textureType:"No Roof Texture",showLabel:!1,rotation:[0,0,0],lineWidth:.2,ridgeLeftPoint:[0,1],cz:0,normal:[0,0,1],roofType:"Gable",cx:0,ly:0,thickness:.2,locked:!1,lx:0,parentId:"bkH7VRrzUTdvxfSm8xVMfT",foundationId:"bkH7VRrzUTdvxfSm8xVMfT",ridgeRightPoint:[0,1],lineColor:"black",selected:!1,color:"#ffffff",rise:1.3393317550628012,ceiling:!1},{cz:0,lz:0,id:"fS4RCk5GfqcPBkrsfQqupD",ly:0,selected:!1,ridgeLeftPoint:[-.5,1],normal:[0,0,1],showLabel:!1,cy:0,color:"#ffffff",type:"Roof",foundationId:"kqR5p2bajX4NMTBq55qbCM",rotation:[0,0,0],locked:!1,lineColor:"black",textureType:"No Roof Texture",lineWidth:.2,lx:0,ridgeRightPoint:[.5,1],cx:0,thickness:.2,wallsId:["4CXQZA8oGxMYG5uuTdJH4z"],roofType:"Gable",parentId:"kqR5p2bajX4NMTBq55qbCM",rise:0,ceiling:!1},{showLabel:!1,rotation:[0,0,0],cy:0,wallsId:["oB5VoQWfR3kmSWtghKT8LL"],thickness:.2,lz:0,foundationId:"n59KTNFiEAdewYQ4UeZKU4",lineColor:"black",cz:0,textureType:"No Roof Texture",cx:0,type:"Roof",ly:0,roofType:"Gable",lineWidth:.2,selected:!1,ridgeRightPoint:[0,1],color:"#ffffff",ridgeLeftPoint:[0,1],parentId:"n59KTNFiEAdewYQ4UeZKU4",normal:[0,0,1],locked:!1,lx:0,id:"rSsa8T9bULkoQ2pinqnr8i",rise:.977141261476465,ceiling:!1},{parentId:"b7G57PTXunVqeHXzCWeuRF",rightJoints:["dpZWnBXJifWNeSxPnXSh11"],ly:.3,cx:.22353744000734044,lz:10,normal:[0,0,1],leftPoint:[8.53481429529893,4.284875927504061,1],rightRoofHeight:10,foundationId:"b7G57PTXunVqeHXzCWeuRF",textureType:"Wall Texture Default",rightPoint:[-8.087739415284249,4.284875927504063,1],leftJoints:["6fcDhLeskSsK9vgEVSS72V"],locked:!1,relativeAngle:3.141592653589793,lx:16.622553710583173,type:"Wall",roofId:"5AL2YmNDuGkeP7qZ5AC7iV",color:"white",id:"kj6mwcCRjjAjkZKNVLpD6Q",rotation:[0,0,-.41015237421866746],cy:4.2848759275040615,leftRoofHeight:10,selected:!1,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{normal:[0,0,1],id:"6fcDhLeskSsK9vgEVSS72V",locked:!1,roofId:"5AL2YmNDuGkeP7qZ5AC7iV",rotation:[0,0,-.41015237421866746],cx:8.534814295298915,lz:10,leftJoints:["eJ8JK9wm6JNigJXLFxHXZv"],rightJoints:["kj6mwcCRjjAjkZKNVLpD6Q"],leftPoint:[8.534814295298911,-8.242350712076524,1],leftRoofHeight:10,textureType:"Wall Texture Default",rightRoofHeight:10,cz:0,cy:-1.978737392286233,selected:!1,foundationId:"b7G57PTXunVqeHXzCWeuRF",parentId:"b7G57PTXunVqeHXzCWeuRF",lx:12.527226639580588,ly:.3,rightPoint:[8.53481429529893,4.284875927504061,1],relativeAngle:1.5707963267948954,color:"white",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:.3,id:"eJ8JK9wm6JNigJXLFxHXZv",rightPoint:[8.534814295298911,-8.242350712076524,1],rightJoints:["6fcDhLeskSsK9vgEVSS72V"],leftRoofHeight:10,cz:0,cx:.22353744000733222,locked:!1,rightRoofHeight:10,leftJoints:["dpZWnBXJifWNeSxPnXSh11"],leftPoint:[-8.087739415284243,-8.24235071207653,1],parentId:"b7G57PTXunVqeHXzCWeuRF",lz:10,lx:16.622553710583155,cy:-8.242350712076528,color:"white",relativeAngle:21372851251721804e-32,textureType:"Wall Texture Default",selected:!1,rotation:[0,0,-.41015237421866746],type:"Wall",normal:[0,0,1],roofId:"5AL2YmNDuGkeP7qZ5AC7iV",foundationId:"b7G57PTXunVqeHXzCWeuRF",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{textureType:"Wall Texture Default",cz:0,ly:.3,relativeAngle:-1.5707963267948966,selected:!1,color:"white",cy:-1.9787373922862332,leftPoint:[-8.087739415284249,4.284875927504063,1],lx:12.527226639580594,lz:10,parentId:"b7G57PTXunVqeHXzCWeuRF",leftJoints:["kj6mwcCRjjAjkZKNVLpD6Q"],locked:!1,foundationId:"b7G57PTXunVqeHXzCWeuRF",roofId:"5AL2YmNDuGkeP7qZ5AC7iV",rightRoofHeight:10,rightPoint:[-8.087739415284243,-8.24235071207653,1],id:"dpZWnBXJifWNeSxPnXSh11",normal:[0,0,1],cx:-8.087739415284243,rightJoints:["eJ8JK9wm6JNigJXLFxHXZv"],rotation:[0,0,-.41015237421866746],type:"Wall",leftRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"b7G57PTXunVqeHXzCWeuRF",cz:.5,color:"#808080",parentId:"Ground",locked:!1,cx:39.84041470102862,solarPowerTower:{},type:"Foundation",selected:!1,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lx:18.262342237511447,solarUpdraftTower:{},cy:-19.957109308878913,ly:25.839391461953184,lz:1,normal:[0,0,1]},{wallsId:["nRLvRbWCCyQkZn2SaeWzhR","4RfjPoTAycowc8B5SwzkpM","a6q6Txnypc9iPjohNf43CB","jWqRj42hxzMWofSpUH42dz"],lx:0,cz:0,cx:0,thickness:.2,id:"jSo2aHHx58NTeAQuDZodmY",type:"Roof",showLabel:!1,locked:!1,roofType:"Pyramid",lz:0,ly:0,foundationId:"uBZaguS4Mp4iydQBE88CA1",color:"#ffffff",lineWidth:.2,cy:0,parentId:"uBZaguS4Mp4iydQBE88CA1",normal:[0,0,1],rotation:[0,0,0],textureType:"No Roof Texture",lineColor:"black",selected:!1,rise:1.4201872195519947,ceiling:!1},{lx:0,selected:!1,parentId:"niHTxZ4PaRwa8PCQj9YtSY",foundationId:"niHTxZ4PaRwa8PCQj9YtSY",wallsId:["nW4zHPMqaoecHBwBCyEqwh","xqjrhteUBJfNDcJWuHnvRu","5TCp2VzUPYtC3wHFFUhMZA","qY5WoPV6F2CGJU6Z5GgH9A"],cx:0,showLabel:!1,rotation:[0,0,0],cz:0,normal:[0,0,1],roofType:"Pyramid",lz:0,locked:!1,lineColor:"black",thickness:.2,cy:0,ly:0,id:"15884yYUHNT5NwXMKhmRGP",color:"#ffffff",textureType:"No Roof Texture",type:"Roof",lineWidth:.2,rise:2,ceiling:!1},{locked:!1,lx:0,textureType:"No Roof Texture",normal:[0,0,1],thickness:.2,lineWidth:.2,cy:0,ridgeRightPoint:[0,1],parentId:"x5CDMTRHrHH6ChAJLKJCrV",cx:0,wallsId:["6V62Zt3rayMTYsccknpXaH"],showLabel:!1,foundationId:"x5CDMTRHrHH6ChAJLKJCrV",lz:0,selected:!1,ly:0,ridgeLeftPoint:[0,1],lineColor:"black",cz:0,id:"5Fxdv1WWmCMeawRz9mKuqV",type:"Roof",color:"#ffffff",rotation:[0,0,0],roofType:"Gable",rise:1.060818180566665,ceiling:!1},{showLabel:!1,ly:0,color:"#ffffff",rotation:[0,0,0],roofType:"Pyramid",cx:0,lineWidth:.2,thickness:.2,textureType:"No Roof Texture",locked:!1,wallsId:["5QyDHSHQi5g83yTByESY7g","nNQo9acqRqKRWfE4a1RvLy","7JuGqBdByKra32qVf2wuMP","2DDFqyaAZAAuWTVgy7UTYL"],lx:0,selected:!1,lz:0,parentId:"64tiQZ7Po62MhdtE1e44n9",cy:0,cz:0,normal:[0,0,1],foundationId:"64tiQZ7Po62MhdtE1e44n9",lineColor:"black",type:"Roof",id:"oTjPo4r99EKfdasnxT3n5a",rise:2,ceiling:!1},{cz:0,ly:0,color:"#ffffff",showLabel:!1,type:"Roof",wallsId:["oNZPm4ForjT1jLCRGXT8ae"],locked:!1,lineWidth:.2,ridgeRightPoint:[0,1],textureType:"No Roof Texture",cy:0,thickness:.2,lz:0,rotation:[0,0,0],parentId:"qJBTbMiP4tUMstkk4bQqAp",normal:[0,0,1],cx:0,id:"tLNDomb3SubspErPERhojH",lx:0,lineColor:"black",selected:!1,ridgeLeftPoint:[0,1],foundationId:"qJBTbMiP4tUMstkk4bQqAp",roofType:"Gable",rise:1.111126896848333,ceiling:!1},{color:"#ffffff",normal:[0,0,1],thickness:.2,ridgeRightPoint:[0,1],lz:0,roofType:"Gable",ly:0,type:"Roof",lineColor:"black",showLabel:!1,id:"1E1bgqioi9tFqyckxVRysA",parentId:"5YuxWSX2uVTCHuPGAXXubi",ridgeLeftPoint:[0,1],foundationId:"5YuxWSX2uVTCHuPGAXXubi",locked:!1,cz:0,selected:!1,lx:0,textureType:"No Roof Texture",cy:0,lineWidth:.2,wallsId:["ar4bhGtUec9qTkqAxEbkF4"],rotation:[0,0,0],cx:0,rise:.7887515239338372,ceiling:!1},{cy:.22491740558796045,rightPoint:[-7.989846773884258,.2249174055879637,1],roofId:"7MHnZ8shY1nNWWHte69oqs",lx:16.622553710583173,selected:!1,locked:!1,type:"Wall",parentId:"jXMhg2wW7AzS5RR8DVRgQA",rightJoints:["bBRKF8cuUabp5jr721b2aF"],leftRoofHeight:20,rotation:[0,0,-.41015237421866746],lz:20,relativeAngle:3.141592653589793,leftJoints:["monXTa8uPTJhzhXCcFVkHQ"],cx:.3214300814073309,rightRoofHeight:20,cz:0,normal:[0,0,1],color:"white",foundationId:"jXMhg2wW7AzS5RR8DVRgQA",id:"abgP23xfq9mn6fXM5eixEU",leftPoint:[8.63270693669892,.22491740558795703,1],ly:.3,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{normal:[0,0,1],locked:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",rightPoint:[8.63270693669892,.22491740558795703,1],leftPoint:[8.6327069366989,-12.302309233992622,1],id:"monXTa8uPTJhzhXCcFVkHQ",cx:8.632706936698906,cy:-6.038695914202334,textureType:"Wall Texture Default",leftJoints:["1sWH6Vf283ZQdSSFT642nh"],color:"white",foundationId:"jXMhg2wW7AzS5RR8DVRgQA",rightRoofHeight:20,leftRoofHeight:20,cz:0,lx:12.527226639580588,selected:!1,ly:.3,relativeAngle:1.5707963267948954,rightJoints:["abgP23xfq9mn6fXM5eixEU"],type:"Wall",lz:20,roofId:"7MHnZ8shY1nNWWHte69oqs",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{rightPoint:[8.6327069366989,-12.302309233992622,1],roofId:"7MHnZ8shY1nNWWHte69oqs",ly:.3,lx:16.622553710583155,relativeAngle:21372851251721804e-32,rotation:[0,0,-.41015237421866746],lz:20,leftJoints:["bBRKF8cuUabp5jr721b2aF"],normal:[0,0,1],foundationId:"jXMhg2wW7AzS5RR8DVRgQA",leftPoint:[-7.989846773884253,-12.302309233992618,1],cz:0,id:"1sWH6Vf283ZQdSSFT642nh",rightJoints:["monXTa8uPTJhzhXCcFVkHQ"],selected:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",color:"white",cx:.321430081407323,textureType:"Wall Texture Default",type:"Wall",leftRoofHeight:20,locked:!1,cy:-12.302309233992629,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{lx:12.527226639580594,leftRoofHeight:20,color:"white",normal:[0,0,1],leftJoints:["abgP23xfq9mn6fXM5eixEU"],cz:0,ly:.3,selected:!1,rightPoint:[-7.989846773884253,-12.302309233992618,1],cy:-6.038695914202334,leftPoint:[-7.989846773884258,.2249174055879637,1],locked:!1,id:"bBRKF8cuUabp5jr721b2aF",rightJoints:["1sWH6Vf283ZQdSSFT642nh"],relativeAngle:-1.5707963267948966,foundationId:"jXMhg2wW7AzS5RR8DVRgQA",cx:-7.989846773884254,parentId:"jXMhg2wW7AzS5RR8DVRgQA",textureType:"Wall Texture Default",roofId:"7MHnZ8shY1nNWWHte69oqs",lz:20,type:"Wall",rightRoofHeight:20,rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Foundation",cy:-59.32802731716726,color:"#808080",solarUpdraftTower:{},parentId:"Ground",solarPowerTower:{},rotation:[0,0,-.41015237421866746],lz:1,solarAbsorberPipe:{},normal:[0,0,1],ly:33.95930850578536,lx:18.06655695471146,selected:!1,cz:.5,id:"jXMhg2wW7AzS5RR8DVRgQA",locked:!1,cx:27.648877509882105},{parentId:"Ground",color:"gray",cx:-21.42383933703887,cy:-95.95694272842316,ly:1.57584749281375,id:"fskGS47Z1ZNZV2kamP1tSH",normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lz:10,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:5,locked:!1,selected:!1,type:"Cuboid",lx:2.5033124327375345,rotation:[0,0,-.41015237421866746]},{color:"white",lx:3.975737139849098,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",id:"mCTHFTsPbL7uxKLV7Fs7gC",locked:!1,cx:11.798791107427842,leftRoofHeight:6,rightRoofHeight:6,leftJoints:["fAYf9rMtUxbvaurL2KcLtn"],centerRoofHeight:[0,6.274887651356121],lz:6,leftPoint:[11.798791107427842,-1.9873220704176595,0],textureType:"Wall Texture Default",ly:.3,cy:.000546499506889564,cz:0,relativeAngle:1.5707963267948961,type:"Wall",selected:!1,rightPoint:[11.798791107427844,1.9884150694314386,0],roofId:"rxThm84RhChdhdNYSFFbG6",parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",rotation:[0,0,-.41015237421866746],rightJoints:["htbHSZNyQhmtqy5XzNBo85"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cy:-1.9873220704176617,id:"fAYf9rMtUxbvaurL2KcLtn",relativeAngle:5312979959407059e-31,cz:0,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",rightPoint:[11.798791107427842,-1.9873220704176595,0],leftRoofHeight:6,leftJoints:["21bSs7TaWmDDwyZwkVPp3m"],color:"white",lx:7.940642588168972,roofId:"rxThm84RhChdhdNYSFFbG6",cx:7.828469813343356,locked:!1,normal:[0,0,1],rotation:[0,0,-.41015237421866746],type:"Wall",ly:.3,lz:6,rightRoofHeight:6,leftPoint:[3.858148519258871,-1.9873220704176637,0],textureType:"Wall Texture Default",rightJoints:["mCTHFTsPbL7uxKLV7Fs7gC"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,ly:.3,roofId:"rxThm84RhChdhdNYSFFbG6",normal:[0,0,1],leftJoints:["htbHSZNyQhmtqy5XzNBo85"],leftRoofHeight:6,textureType:"Wall Texture Default",cx:3.8581485192588696,locked:!1,lz:6,rotation:[0,0,-.41015237421866746],centerRoofHeight:[0,6.274887651356121],lx:3.975737139849111,selected:!1,leftPoint:[3.858148519258868,1.9884150694314473,0],id:"21bSs7TaWmDDwyZwkVPp3m",color:"white",cy:.0005464995068917844,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",rightJoints:["fAYf9rMtUxbvaurL2KcLtn"],rightPoint:[3.858148519258871,-1.9873220704176637,0],relativeAngle:-1.570796326794896,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",roofId:"rxThm84RhChdhdNYSFFbG6",color:"white",selected:!1,ly:.3,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",leftRoofHeight:6,type:"Wall",leftPoint:[11.798791107427844,1.9884150694314386,0],rightPoint:[3.858148519258868,1.9884150694314473,0],cx:7.8284698133433555,cz:3.7151685093329987,textureType:"Wall Texture Default",relativeAngle:3.1415926535897922,leftJoints:["mCTHFTsPbL7uxKLV7Fs7gC"],id:"htbHSZNyQhmtqy5XzNBo85",rightJoints:["21bSs7TaWmDDwyZwkVPp3m"],locked:!1,rotation:[0,0,-.41015237421866746],lx:7.940642588168976,normal:[0,0,1],rightRoofHeight:6,cy:1.988415069431443,lz:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{textureType:"No Roof Texture",ridgeLeftPoint:[0,1],cx:0,rotation:[0,0,-.41015237421866746],selected:!1,ridgeRightPoint:[0,1],ly:0,lz:0,cz:0,locked:!1,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",lx:0,roofType:"Gable",type:"Roof",id:"rxThm84RhChdhdNYSFFbG6",wallsId:["htbHSZNyQhmtqy5XzNBo85"],parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",normal:[0,0,1],color:"#ffffff",cy:0,thickness:.2,rise:.2748876513561207,ceiling:!1},{type:"Foundation",locked:!1,cy:-78.52468836433339,lx:29.579193784185183,normal:[0,0,1],rotation:[0,0,-.41015237421866746],selected:!1,cx:-61.66430487227184,cz:.5,solarAbsorberPipe:{},lz:1,solarPowerTower:{},parentId:"Ground",solarUpdraftTower:{},ly:4.244451594984441,id:"jYmTgt5Yh5kp4YxeQ9xdGS"},{normal:[0,0,1],parentId:"2LZNQJZFPrCxZzv5NuwumV",rightRidgeLength:1.461737872145095,selected:!1,color:"#ffffff",locked:!1,cy:0,textureType:"No Roof Texture",lineColor:"black",lineWidth:.2,id:"9TF7gEynqtnsWJGidoBUNq",wallsId:["hcTBY8guDEpwEg5jtYtD3H"],rotation:[0,0,0],showLabel:!1,roofType:"Hip",leftRidgeLength:1.7970131018338904,thickness:.2,foundationId:"2LZNQJZFPrCxZzv5NuwumV",lz:0,cx:0,ly:0,lx:0,type:"Roof",cz:0,rise:5,ceiling:!1},{selected:!1,id:"tN1a6B1uCvjUWCkBQctrVG",rotation:[0,0,0],lineColor:"black",lineWidth:.2,ly:0,cz:0,roofType:"Hip",cy:0,textureType:"No Roof Texture",leftRidgeLength:.059768175058504625,showLabel:!1,locked:!1,wallsId:["b12LAtSYTNxCwTbH7iRFmz"],cx:0,thickness:.2,normal:[0,0,1],foundationId:"rQh2s1iBHWvFGFdzViXEe2",lz:0,lx:0,parentId:"rQh2s1iBHWvFGFdzViXEe2",color:"#ffffff",rightRidgeLength:12.757143526762304,type:"Roof",rise:2.8291651006338494,ceiling:!1},{ly:0,lineColor:"black",thickness:.2,cz:0,type:"Roof",wallsId:["gs8TZionAFZcvbLtmKeykq"],lineWidth:.2,parentId:"kLLR11PM8xK326yQ5QVzHF",roofType:"Gable",cx:0,showLabel:!1,id:"mgoQMGVeVMwiZzvh6DtsHC",ridgeLeftPoint:[0,1],cy:0,ridgeRightPoint:[0,1],lx:0,textureType:"No Roof Texture",foundationId:"kLLR11PM8xK326yQ5QVzHF",color:"#ffffff",selected:!1,locked:!1,rotation:[0,0,0],normal:[0,0,1],lz:0,rise:1.714737050020105,ceiling:!1},{normal:[0,0,1],type:"Roof",lz:0,cx:0,rotation:[0,0,0],rightRidgeLength:1.354315870345922,wallsId:["c79sKVUHUztGcC5p3emVv9"],lx:0,lineWidth:.2,thickness:.2,leftRidgeLength:1.2176583991481174,cy:0,selected:!1,textureType:"No Roof Texture",foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",showLabel:!1,cz:0,color:"#ffffff",parentId:"tjMZKt5v9D1sx6sc6Xyaq2",locked:!1,roofType:"Hip",id:"teQS3ohvRHqAbgCQQahyC6",lineColor:"black",ly:0,rise:5,ceiling:!1},{ly:5.984113255877874,color:"gray",normal:[0,0,1],parentId:"Ground",cy:111.66856512870567,cx:55.88269693007359,selected:!1,lx:21.294854568920073,id:"3PRatafdc5GGL7xWYLxLQt",rotation:[0,0,-.41015237421866746],type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],cz:4.25,lz:8.5},{rightRoofHeight:12,cx:.017113708955167617,relativeAngle:3.141592653589793,lx:12.131551303286216,leftJoints:["snwHy88SCLUgp9tM1ts1kV"],rightPoint:[-6.04866194268794,-9.49210668858673,1],rightJoints:["fgVtymGrmdEZZzZZ3mW69b"],selected:!1,foundationId:"4p3AerfQErrh3N7JyKd7PA",color:"white",cy:-9.49210668858672,ly:.3,locked:!1,type:"Wall",roofId:"ui47bC2XPhcG14b6RPgvMq",leftPoint:[6.082889360598275,-9.492106688586723,1],id:"pJZasFocQxwotbLjPFqJsC",normal:[0,0,1],lz:12,parentId:"4p3AerfQErrh3N7JyKd7PA",cz:0,leftRoofHeight:12,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cy:-19.44706205065753,leftPoint:[6.082889360598278,-29.402017412728345,1],color:"white",rightJoints:["pJZasFocQxwotbLjPFqJsC"],locked:!1,relativeAngle:1.5707963267948963,parentId:"4p3AerfQErrh3N7JyKd7PA",type:"Wall",selected:!1,leftRoofHeight:12,normal:[0,0,1],rightRoofHeight:12,lx:19.90991072414161,cx:6.08288936059827,lz:12,foundationId:"4p3AerfQErrh3N7JyKd7PA",ly:.3,textureType:"Wall Texture Default",roofId:"ui47bC2XPhcG14b6RPgvMq",id:"snwHy88SCLUgp9tM1ts1kV",cz:0,rightPoint:[6.082889360598275,-9.492106688586723,1],rotation:[0,0,-.41015237421866746],leftJoints:["9RBn6VqRCqHmHYTVsG2Hbq"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cx:.017113708955172058,lz:12,rightJoints:["snwHy88SCLUgp9tM1ts1kV"],leftRoofHeight:12,type:"Wall",selected:!1,locked:!1,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,rightPoint:[6.082889360598278,-29.402017412728345,1],roofId:"ui47bC2XPhcG14b6RPgvMq",id:"9RBn6VqRCqHmHYTVsG2Hbq",lx:12.131551303286194,leftJoints:["fgVtymGrmdEZZzZZ3mW69b"],rightRoofHeight:12,parentId:"4p3AerfQErrh3N7JyKd7PA",normal:[0,0,1],cy:-29.40201741272834,leftPoint:[-6.048661942687922,-29.402017412728334,1],relativeAngle:-1757094500109714e-30,cz:0,color:"white",foundationId:"4p3AerfQErrh3N7JyKd7PA",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cz:0,rightRoofHeight:12,color:"white",type:"Wall",id:"fgVtymGrmdEZZzZZ3mW69b",cy:-19.447062050657532,leftJoints:["pJZasFocQxwotbLjPFqJsC"],rightPoint:[-6.048661942687922,-29.402017412728334,1],roofId:"ui47bC2XPhcG14b6RPgvMq",leftPoint:[-6.04866194268794,-9.49210668858673,1],relativeAngle:-1.5707963267948957,parentId:"4p3AerfQErrh3N7JyKd7PA",lz:12,foundationId:"4p3AerfQErrh3N7JyKd7PA",leftRoofHeight:12,rotation:[0,0,-.41015237421866746],ly:.3,lx:19.909910724141604,selected:!1,locked:!1,normal:[0,0,1],rightJoints:["9RBn6VqRCqHmHYTVsG2Hbq"],textureType:"Wall Texture Default",cx:-6.048661942687932,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{solarPowerTower:{},selected:!1,cy:106.34352672553437,locked:!1,cx:54.33030410078149,rotation:[0,0,-.41015237421866746],normal:[0,0,1],parentId:"Ground",lz:1,ly:63.77501586798267,color:"#808080",lx:12.35095202063562,solarAbsorberPipe:{},solarUpdraftTower:{},id:"4p3AerfQErrh3N7JyKd7PA",cz:.5,type:"Foundation"},{rotation:[0,0,-.41015237421866746],lz:6,normal:[0,0,1],locked:!1,centerRoofHeight:[0,6.440750059917652],id:"irVUAZaEWhGKYr7twduXEh",cy:6.530855931908157,leftPoint:[2.9112812141567144,6.530855931908155,1],roofId:"ngj1wMdEusAUmYWeWEqzyw",type:"Wall",rightRoofHeight:6,cz:0,rightJoints:["8yAv4GumHgHAy2fR9bygQz"],foundationId:"gszYxD4CuGX1qrhwnFgJQu",lx:6.102875967687821,parentId:"gszYxD4CuGX1qrhwnFgJQu",cx:-.14015676968719282,ly:.3,leftRoofHeight:6,rightPoint:[-3.191594753531113,6.530855931908152,1],selected:!1,textureType:"Wall Texture Default",color:"white",leftJoints:["gr56ivVG6p8ierekWDUK1u"],relativeAngle:-3.1415926535897927,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{parentId:"gszYxD4CuGX1qrhwnFgJQu",color:"white",foundationId:"gszYxD4CuGX1qrhwnFgJQu",normal:[0,0,1],locked:!1,cx:2.9112812141567126,ly:.3,cz:0,selected:!1,rotation:[0,0,-.41015237421866746],id:"gr56ivVG6p8ierekWDUK1u",textureType:"Wall Texture Default",rightJoints:["irVUAZaEWhGKYr7twduXEh"],lx:9.731752225416841,cy:1.6649798191997407,rightPoint:[2.9112812141567144,6.530855931908155,1],lz:6,leftPoint:[2.911281214156714,-3.2008962935086798,1],type:"Wall",relativeAngle:1.5707963267948963,rightRoofHeight:6,leftJoints:["1K6LZYJR4J6iMfrED26Yxe"],roofId:"ngj1wMdEusAUmYWeWEqzyw",leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{selected:!1,roofId:"ngj1wMdEusAUmYWeWEqzyw",lz:6,rightJoints:["gr56ivVG6p8ierekWDUK1u"],centerRoofHeight:[0,6.440750059917652],leftPoint:[-3.191594753531113,-3.2008962935086824,1],leftJoints:["8yAv4GumHgHAy2fR9bygQz"],rightPoint:[2.911281214156714,-3.2008962935086798,1],cz:0,rightRoofHeight:6,type:"Wall",relativeAngle:-5821376180034847e-31,locked:!1,id:"1K6LZYJR4J6iMfrED26Yxe",parentId:"gszYxD4CuGX1qrhwnFgJQu",color:"white",normal:[0,0,1],cx:-.14015676968720614,cy:-3.200896293508684,leftRoofHeight:6,foundationId:"gszYxD4CuGX1qrhwnFgJQu",rotation:[0,0,-.41015237421866746],lx:6.102875967687822,textureType:"Wall Texture Default",ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightJoints:["1K6LZYJR4J6iMfrED26Yxe"],leftPoint:[-3.191594753531113,6.530855931908152,1],relativeAngle:-1.5707963267948972,id:"8yAv4GumHgHAy2fR9bygQz",selected:!1,lx:9.731752225416834,type:"Wall",foundationId:"gszYxD4CuGX1qrhwnFgJQu",leftJoints:["irVUAZaEWhGKYr7twduXEh"],normal:[0,0,1],parentId:"gszYxD4CuGX1qrhwnFgJQu",lz:6,locked:!1,rotation:[0,0,-.41015237421866746],cy:1.664979819199738,color:"white",cx:-3.191594753531114,ly:.3,leftRoofHeight:6,rightPoint:[-3.191594753531113,-3.2008962935086824,1],roofId:"ngj1wMdEusAUmYWeWEqzyw",cz:0,rightRoofHeight:6,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{locked:!1,selected:!1,rotation:[0,0,-.41015237421866746],parentId:"Ground",color:"#808080",cx:24.599288579767826,solarAbsorberPipe:{},cy:62.32717346646996,type:"Foundation",solarPowerTower:{},lx:7.149369527041389,normal:[0,0,1],ly:13.668965778073638,lz:1,cz:.5,solarUpdraftTower:{},id:"gszYxD4CuGX1qrhwnFgJQu"},{type:"Roof",ridgeLeftPoint:[0,1],ly:0,id:"ngj1wMdEusAUmYWeWEqzyw",locked:!1,foundationId:"gszYxD4CuGX1qrhwnFgJQu",lineColor:"black",selected:!1,lx:0,thickness:.2,rotation:[0,0,0],wallsId:["gr56ivVG6p8ierekWDUK1u"],cx:0,showLabel:!1,lineWidth:.2,ridgeRightPoint:[0,1],color:"#ffffff",textureType:"No Roof Texture",roofType:"Gable",cz:0,parentId:"gszYxD4CuGX1qrhwnFgJQu",cy:0,normal:[0,0,1],lz:0,rise:.4407500599176517,ceiling:!1},{selected:!1,lz:.1,color:"#68ccca",rotation:[0,0,-.41015237421866746],normal:[0,0,1],type:"Foundation",cy:80.9376872016833,lx:46.93960391347784,id:"pzqyJ9AXZR9mJxEtKDPKGG",solarUpdraftTower:{},cx:111.01126755807289,ly:67.71063906268108,locked:!1,solarAbsorberPipe:{},parentId:"Ground",cz:.05,solarPowerTower:{}},{leftJoints:["bmKncuas6bZ1hnGH6qyHKX"],roofId:"gVgDeNYsXdGDefJV1YRGoa",selected:!1,ly:.3,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",locked:!1,cx:-.14015676968719282,relativeAngle:-3.1415926535897927,normal:[0,0,1],lx:6.102875967687821,id:"8kwuUQ3tQhRzvqUiLnSjD4",type:"Wall",centerRoofHeight:[0,6.440750059917652],cz:0,foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",parentId:"uLUbMGL5dFfRU3Jy3CBsF5",lz:6,rightPoint:[-3.191594753531113,6.530855931908152,1],rightJoints:["gDyesAJb6hCZTAKFF2wVoZ"],color:"white",cy:6.530855931908157,leftPoint:[2.9112812141567144,6.530855931908155,1],rightRoofHeight:6,leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cz:0,textureType:"Wall Texture Default",selected:!1,type:"Wall",roofId:"gVgDeNYsXdGDefJV1YRGoa",id:"bmKncuas6bZ1hnGH6qyHKX",leftPoint:[2.911281214156714,-3.2008962935086798,1],rightRoofHeight:6,relativeAngle:1.5707963267948963,lz:6,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",rightJoints:["8kwuUQ3tQhRzvqUiLnSjD4"],foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",locked:!1,rotation:[0,0,-.41015237421866746],rightPoint:[2.9112812141567144,6.530855931908155,1],leftJoints:["vWXBFGVtdF9Zkw4WgrWQbB"],normal:[0,0,1],cx:2.9112812141567126,cy:1.6649798191997407,color:"white",leftRoofHeight:6,ly:.3,lx:9.731752225416841,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,leftJoints:["gDyesAJb6hCZTAKFF2wVoZ"],lx:6.102875967687822,rightJoints:["bmKncuas6bZ1hnGH6qyHKX"],locked:!1,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",cz:0,type:"Wall",centerRoofHeight:[0,6.440750059917652],relativeAngle:-5821376180034847e-31,leftRoofHeight:6,id:"vWXBFGVtdF9Zkw4WgrWQbB",textureType:"Wall Texture Default",color:"white",lz:6,cy:-3.200896293508684,cx:-.14015676968720614,selected:!1,leftPoint:[-3.191594753531113,-3.2008962935086824,1],rotation:[0,0,-.41015237421866746],foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",ly:.3,normal:[0,0,1],rightPoint:[2.911281214156714,-3.2008962935086798,1],roofId:"gVgDeNYsXdGDefJV1YRGoa",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{relativeAngle:-1.5707963267948972,locked:!1,cy:1.664979819199738,leftJoints:["8kwuUQ3tQhRzvqUiLnSjD4"],textureType:"Wall Texture Default",selected:!1,lz:6,lx:9.731752225416834,color:"white",type:"Wall",foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",parentId:"uLUbMGL5dFfRU3Jy3CBsF5",rotation:[0,0,-.41015237421866746],rightJoints:["vWXBFGVtdF9Zkw4WgrWQbB"],cz:0,rightRoofHeight:6,leftRoofHeight:6,roofId:"gVgDeNYsXdGDefJV1YRGoa",cx:-3.191594753531114,id:"gDyesAJb6hCZTAKFF2wVoZ",normal:[0,0,1],leftPoint:[-3.191594753531113,6.530855931908152,1],ly:.3,rightPoint:[-3.191594753531113,-3.2008962935086824,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{ridgeRightPoint:[0,1],wallsId:["bmKncuas6bZ1hnGH6qyHKX"],selected:!1,ridgeLeftPoint:[0,1],ly:0,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",normal:[0,0,1],cz:0,textureType:"No Roof Texture",foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",color:"#ffffff",cy:0,cx:0,lz:0,thickness:.2,rotation:[0,0,0],id:"gVgDeNYsXdGDefJV1YRGoa",locked:!1,type:"Roof",lx:0,roofType:"Gable",rise:.4407500599176517,ceiling:!1},{lz:1,lx:7.149369527041389,color:"#808080",cx:41.18797801355477,locked:!1,selected:!1,id:"uLUbMGL5dFfRU3Jy3CBsF5",normal:[0,0,1],ly:13.668965778073638,parentId:"Ground",solarUpdraftTower:{},solarPowerTower:{},type:"Foundation",cz:.5,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],cy:55.159515522512336},{selected:!1,normal:[0,0,1],centerRoofHeight:[-.5,7],locked:!1,lz:7,rotation:[0,0,-.41015237421866746],rightJoints:["no8zN9dyqYE4qeuVrW3Heo"],parentId:"vwL7hNDotVD3LxBD3WrfUq",leftJoints:["nxkAimjB2HNyGqmHN18F5b"],id:"ra9rKcRfAsQu21a3r6cLBQ",leftPoint:[6.466711798346411,2.6318665263706373,0],rightPoint:[1.0790317820948425,2.631866526370637,0],leftRoofHeight:7,foundationId:"vwL7hNDotVD3LxBD3WrfUq",cy:2.6318665263706373,cx:3.772871790220627,rightRoofHeight:7,textureType:"Wall Texture Default",ly:.3,relativeAngle:-3.141592653589793,lx:5.387680016251569,color:"white",roofId:"48YD9h2WBNi7Es8vvJXW3G",type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{parentId:"vwL7hNDotVD3LxBD3WrfUq",rotation:[0,0,-.41015237421866746],lz:7,roofId:"48YD9h2WBNi7Es8vvJXW3G",leftJoints:["33Vec12THAd4u8Vna3kAPR"],rightJoints:["ra9rKcRfAsQu21a3r6cLBQ"],id:"nxkAimjB2HNyGqmHN18F5b",color:"white",cx:6.466711798346411,locked:!1,leftRoofHeight:7,selected:!1,rightPoint:[6.466711798346411,2.6318665263706373,0],normal:[0,0,1],relativeAngle:1.5707963267948966,type:"Wall",lx:5.401219763739984,cz:0,leftPoint:[6.466711798346411,-2.769353237369347,0],cy:-.06874335549935484,ly:.3,textureType:"Wall Texture Default",foundationId:"vwL7hNDotVD3LxBD3WrfUq",rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{relativeAngle:-12364019629334816e-31,lz:7,ly:.3,cz:0,leftJoints:["no8zN9dyqYE4qeuVrW3Heo"],rightPoint:[6.466711798346411,-2.769353237369347,0],cx:3.772871790220624,cy:-2.7693532373693435,leftPoint:[1.0790317820948367,-2.7693532373693404,0],foundationId:"vwL7hNDotVD3LxBD3WrfUq",lx:5.387680016251575,color:"white",locked:!1,leftRoofHeight:7,type:"Wall",rightJoints:["nxkAimjB2HNyGqmHN18F5b"],parentId:"vwL7hNDotVD3LxBD3WrfUq",textureType:"Wall Texture Default",selected:!1,roofId:"48YD9h2WBNi7Es8vvJXW3G",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rightRoofHeight:7,id:"33Vec12THAd4u8Vna3kAPR",centerRoofHeight:[.5,7],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,rotation:[0,0,-.41015237421866746],cz:2.7786330947701083,color:"white",normal:[0,0,1],roofId:"48YD9h2WBNi7Es8vvJXW3G",rightPoint:[1.0790317820948367,-2.7693532373693404,0],cy:-.06874335549935173,leftPoint:[1.0790317820948425,2.631866526370637,0],id:"no8zN9dyqYE4qeuVrW3Heo",lz:7,relativeAngle:-1.570796326794898,textureType:"Wall Texture Default",selected:!1,rightRoofHeight:7,leftRoofHeight:7,locked:!1,foundationId:"vwL7hNDotVD3LxBD3WrfUq",ly:.3,rightJoints:["33Vec12THAd4u8Vna3kAPR"],parentId:"vwL7hNDotVD3LxBD3WrfUq",type:"Wall",leftJoints:["ra9rKcRfAsQu21a3r6cLBQ"],cx:1.0790317820948396,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{solarAbsorberPipe:{},selected:!1,solarPowerTower:{},cy:84.30176551679384,type:"Foundation",rotation:[0,0,-.41015237421866746],solarUpdraftTower:{},parentId:"Ground",ly:5.568881804752381,cz:.5,cx:19.50958427736446,locked:!1,lx:13.89007394070906,normal:[0,0,1],id:"vwL7hNDotVD3LxBD3WrfUq",lz:1,color:"#808080"},{leftPoint:[-.7148597809579893,2.6859428300134063,1],rightJoints:["fc3SxNnr1T2obwWNDrRWPq"],selected:!1,parentId:"4UZo2BLYXGN9cd3hbyQ45x",leftJoints:["fHApw3eZ3j52e3Ze4hhzaH"],color:"white",lx:5.387680016251569,normal:[0,0,1],rotation:[0,0,-.41015237421866746],ly:.3,rightRoofHeight:7,cz:0,lz:7,roofId:"8gnJuvioHBpuV9PnGGyNAB",id:"94d3RXBRBLR2SMUq5fQJtk",cy:2.685942830013403,rightPoint:[-6.102539797209565,2.6859428300134014,1],foundationId:"4UZo2BLYXGN9cd3hbyQ45x",relativeAngle:-3.141592653589793,cx:-3.4086997890837694,type:"Wall",centerRoofHeight:[.5,7],leftRoofHeight:7,textureType:"Wall Texture Default",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"fHApw3eZ3j52e3Ze4hhzaH",lx:5.401219763739984,ly:.3,locked:!1,rotation:[0,0,-.41015237421866746],cz:0,selected:!1,leftPoint:[-.7148597809579927,-2.7152769337265767,1],lz:7,relativeAngle:1.5707963267948966,rightRoofHeight:7,leftRoofHeight:7,leftJoints:["qCUxDe7bDY8tYgH1joCgeh"],textureType:"Wall Texture Default",foundationId:"4UZo2BLYXGN9cd3hbyQ45x",cx:-.7148597809579962,rightJoints:["94d3RXBRBLR2SMUq5fQJtk"],parentId:"4UZo2BLYXGN9cd3hbyQ45x",rightPoint:[-.7148597809579893,2.6859428300134063,1],cy:-.014667051856591229,normal:[0,0,1],type:"Wall",roofId:"8gnJuvioHBpuV9PnGGyNAB",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"qCUxDe7bDY8tYgH1joCgeh",relativeAngle:-12364019629334816e-31,textureType:"Wall Texture Default",rightPoint:[-.7148597809579927,-2.7152769337265767,1],lx:5.387680016251575,cz:0,color:"white",rotation:[0,0,-.41015237421866746],leftPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"4UZo2BLYXGN9cd3hbyQ45x",foundationId:"4UZo2BLYXGN9cd3hbyQ45x",rightJoints:["fHApw3eZ3j52e3Ze4hhzaH"],leftRoofHeight:7,roofId:"8gnJuvioHBpuV9PnGGyNAB",normal:[0,0,1],cx:-3.4086997890837756,rightRoofHeight:7,cy:-2.715276933726573,leftJoints:["fc3SxNnr1T2obwWNDrRWPq"],type:"Wall",selected:!1,ly:.3,locked:!1,lz:7,centerRoofHeight:[-.5,7],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-.014667051856584123,id:"fc3SxNnr1T2obwWNDrRWPq",roofId:"8gnJuvioHBpuV9PnGGyNAB",ly:.3,foundationId:"4UZo2BLYXGN9cd3hbyQ45x",leftRoofHeight:7,selected:!1,rightRoofHeight:7,rightJoints:["qCUxDe7bDY8tYgH1joCgeh"],color:"white",cx:-6.102539797209562,parentId:"4UZo2BLYXGN9cd3hbyQ45x",textureType:"Wall Texture Default",leftPoint:[-6.102539797209565,2.6859428300134014,1],lz:7,rotation:[0,0,-.41015237421866746],locked:!1,rightPoint:[-6.102539797209571,-2.7152769337265754,1],lx:5.401219763739977,normal:[0,0,1],cz:0,type:"Wall",relativeAngle:-1.570796326794898,leftJoints:["94d3RXBRBLR2SMUq5fQJtk"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"4UZo2BLYXGN9cd3hbyQ45x",cz:.5,solarUpdraftTower:{},cx:60.22394051332042,ly:5.482519143209589,normal:[0,0,1],color:"#808080",parentId:"Ground",lz:1,type:"Foundation",solarPowerTower:{},solarAbsorberPipe:{},cy:66.89544628344375,rotation:[0,0,-.41015237421866746],locked:!1,selected:!1,lx:12.981345567934609},{ridgeRightPoint:[.5,1],ly:0,wallsId:["no8zN9dyqYE4qeuVrW3Heo"],lz:0,cz:0,thickness:.2,color:"#ffffff",showLabel:!1,lineWidth:.2,selected:!1,textureType:"No Roof Texture",foundationId:"vwL7hNDotVD3LxBD3WrfUq",rotation:[0,0,0],id:"48YD9h2WBNi7Es8vvJXW3G",lineColor:"black",type:"Roof",parentId:"vwL7hNDotVD3LxBD3WrfUq",cx:0,locked:!1,cy:0,roofType:"Gable",lx:0,normal:[0,0,1],ridgeLeftPoint:[-.5,1],rise:0,ceiling:!1},{cz:0,lineWidth:.2,color:"#ffffff",foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",parentId:"tafet8SHZ3Nd8kXyfeZ9FR",normal:[0,0,1],id:"52yUcWyJUbmGw2PC5d5KiK",wallsId:["k13k8dUZo1jLk9Pubbz3Yu","qEu4R9jBDYekHJdsyGPkHu","7zFHG6rEsyAEeiBjZ3Fqiv","sfm78zxYm2PZeqMiLJ7sRS"],lx:0,locked:!1,selected:!1,showLabel:!1,cy:0,ly:0,textureType:"No Roof Texture",type:"Roof",rotation:[0,0,0],cx:0,lineColor:"black",lz:0,thickness:.2,roofType:"Pyramid",rise:1.0848601282561745,ceiling:!1},{type:"Roof",wallsId:["vha1dDK5ppjp6f9bgr45uq"],ridgeRightPoint:[0,1],color:"#ffffff",rotation:[0,0,0],lineColor:"black",ridgeLeftPoint:[0,1],cz:0,cx:0,normal:[0,0,1],selected:!1,roofType:"Gable",lz:0,thickness:.2,lineWidth:.2,ly:0,id:"wrKEiNvyDQopU6C5MqvRMM",locked:!1,foundationId:"98vBSiAe7BeqTZRNu482vh",textureType:"No Roof Texture",lx:0,parentId:"98vBSiAe7BeqTZRNu482vh",cy:0,showLabel:!1,rise:2,ceiling:!1},{cy:0,selected:!1,type:"Roof",leftRidgeLength:15.875000000000002,lx:0,cx:0,locked:!1,id:"adpYUuHEY6XwTLGq9piRR2",normal:[0,0,1],wallsId:["cqVaqhkF9cafDk3CujuxhA"],cz:0,parentId:"aXWETyunkqtQVNXGWr9VZd",showLabel:!1,rightRidgeLength:15.875000000000002,color:"#ffffff",rotation:[0,0,0],textureType:"No Roof Texture",foundationId:"aXWETyunkqtQVNXGWr9VZd",roofType:"Hip",lineWidth:.2,ly:0,lineColor:"black",thickness:.2,lz:0,rise:2.5,ceiling:!1},{cx:40.42324164440271,lx:46.50473526306251,type:"Foundation",id:"gg3wfWZaPNSy6E85uMZYRf",solarAbsorberPipe:{},ly:57.10448987141375,color:"#68ccca",cy:-138.0841490094463,solarPowerTower:{},cz:.05,locked:!1,selected:!1,lz:.1,parentId:"Ground",solarUpdraftTower:{},normal:[0,0,1],rotation:[0,0,-.41015237421866746]},{solarAbsorberPipe:{},ly:57.28147044148081,parentId:"Ground",color:"#68ccca",cx:-134.9224921942922,cz:.05,locked:!1,rotation:[0,0,-.41015237421866746],lz:.1,cy:-67.94969279046406,normal:[0,0,1],solarUpdraftTower:{},type:"Foundation",solarPowerTower:{},lx:59.55306513135086,selected:!1,id:"a6rvHmP4DDMyxBjdX22svj"},{id:"aNDJu4drMr2fEx1r8tHjj6",cy:18.299607948404756,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.834587966975077,rotation:[0,0,-.41015237421866746],lx:7.294777414475799,cx:-55.05079468229798,selected:!1,locked:!1,cz:6,lz:12,type:"Cuboid"},{lx:7.294777414475799,ly:3.834587966975077,lz:12,cx:-33.5448212615926,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],cy:8.863867840093441,type:"Cuboid",selected:!1,color:"gray",id:"qPJRFLTr5yqpFjK2r5qNtK",locked:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],parentId:"Ground",cz:6},{lx:7.294777414475799,parentId:"Ground",selected:!1,cx:-26.791783116976674,color:"gray",cz:6,faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,-.41015237421866746],locked:!1,id:"foA7zzY5fzm5ppKLNPgcZM",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",ly:3.834587966975077,normal:[0,0,1],cy:5.910492232229722,lz:12},{selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-50.198042271889335,parentId:"Ground",ly:1.4387765101632088,cy:16.15769091498796,color:"gray",normal:[0,0,1],locked:!1,lz:12,type:"Cuboid",lx:3.0374945193791563,cz:6,rotation:[0,0,-.41015237421866746],id:"jcVSu4BB2otpgDQ9Uss6dk"},{normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],id:"dvQtFmgsNmd5tYGN78K2eR",type:"Cuboid",lx:3.0374945193791563,cx:-38.46497607487548,lz:12,selected:!1,locked:!1,parentId:"Ground",color:"gray",cy:11.032940387603501,rotation:[0,0,-.41015237421866746],cz:6,ly:1.4387765101632088},{locked:!1,selected:!1,id:"qHYYLt5NNn8YrtX4BAqtZt",cz:6,cx:-21.68767431477416,faceColors:["gray","gray","gray","gray","gray","gray"],lz:12,lx:3.0374945193791563,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1.4387765101632088,rotation:[0,0,-.41015237421866746],parentId:"Ground",type:"Cuboid",normal:[0,0,1],cy:3.88590550753401,color:"gray"},{id:"t1b6qVRBDTKtM9evc3a38G",rotation:[0,0,-.41015237421866746],cy:22.859143113805672,cz:4,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],parentId:"Ground",lz:8,type:"Cuboid",ly:4.854618540394783,color:"gray",lx:3.504189768701392,cx:-62.133323117727784,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,selected:!1},{type:"Cuboid",cz:5,parentId:"Ground",ly:3.834587966975077,cx:-1.671845448850263,rotation:[0,0,-.41015237421866746],cy:36.05441660008029,lx:7.294777414475799,color:"gray",lz:10,selected:!1,id:"ewVvbjdsVwbRqgEtvCq5hs",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],locked:!1,normal:[0,0,1]},{ly:.3,leftJoints:["nM3F4oVEiNnPXXKHuymBW8"],leftRoofHeight:5,textureType:"Wall Texture Default",cx:1.4377006720631131,cz:0,color:"white",rightJoints:["pVB4qAvwgYktWUYmnpXrvd"],locked:!1,id:"fVkwHoLMqjGDdZWbofbtKG",foundationId:"51jEtCS88nBPdVJc1fit8Y",roofId:"79Z3Q6kmRSdUu2gZAfxqYU",leftPoint:[16.8234405859108,5.91199411832761,0],relativeAngle:-3.141592653589793,lz:5,normal:[0,0,1],selected:!1,cy:5.911994118327609,rightRoofHeight:5,type:"Wall",lx:30.771479827695373,rightPoint:[-13.948039241784572,5.911994118327607,0],parentId:"51jEtCS88nBPdVJc1fit8Y",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,rightJoints:["fVkwHoLMqjGDdZWbofbtKG"],cz:0,leftPoint:[16.823440585910813,-5.705218022759548,0],rightPoint:[16.8234405859108,5.91199411832761,0],selected:!1,color:"white",cx:16.823440585910806,lx:11.617212141087158,leftRoofHeight:5,normal:[0,0,1],id:"nM3F4oVEiNnPXXKHuymBW8",textureType:"Wall Texture Default",foundationId:"51jEtCS88nBPdVJc1fit8Y",parentId:"51jEtCS88nBPdVJc1fit8Y",rightRoofHeight:5,rotation:[0,0,-.41015237421866746],type:"Wall",lz:5,roofId:"79Z3Q6kmRSdUu2gZAfxqYU",ly:.3,cy:.10338804778403077,leftJoints:["hjhpbBLzTxiFBJngNEFjyo"],relativeAngle:1.570796326794898,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-13.94803924178457,-5.705218022759548,0],selected:!1,normal:[0,0,1],type:"Wall",leftRoofHeight:5,roofId:"79Z3Q6kmRSdUu2gZAfxqYU",foundationId:"51jEtCS88nBPdVJc1fit8Y",cy:-5.705218022759548,locked:!1,rightPoint:[16.823440585910813,-5.705218022759548,0],rightRoofHeight:5,ly:.3,rotation:[0,0,-.41015237421866746],cz:0,cx:1.4377006720631211,rightJoints:["nM3F4oVEiNnPXXKHuymBW8"],textureType:"Wall Texture Default",lx:30.771479827695384,color:"white",relativeAngle:0,lz:5,leftJoints:["pVB4qAvwgYktWUYmnpXrvd"],id:"hjhpbBLzTxiFBJngNEFjyo",parentId:"51jEtCS88nBPdVJc1fit8Y",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,cx:-13.94803924178457,rightJoints:["hjhpbBLzTxiFBJngNEFjyo"],lx:11.617212141087155,rightPoint:[-13.94803924178457,-5.705218022759548,0],leftRoofHeight:5,id:"pVB4qAvwgYktWUYmnpXrvd",roofId:"79Z3Q6kmRSdUu2gZAfxqYU",cy:.10338804778402944,type:"Wall",selected:!1,rightRoofHeight:5,leftPoint:[-13.948039241784572,5.911994118327607,0],relativeAngle:-1.5707963267948966,color:"white",foundationId:"51jEtCS88nBPdVJc1fit8Y",normal:[0,0,1],leftJoints:["fVkwHoLMqjGDdZWbofbtKG"],textureType:"Wall Texture Default",lz:5,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"51jEtCS88nBPdVJc1fit8Y",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:.5,locked:!1,id:"51jEtCS88nBPdVJc1fit8Y",cx:-48.38996233223847,rotation:[0,0,-.41015237421866746],cy:-47.44094494420046,type:"Foundation",solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",ly:12.435067202411405,parentId:"Ground",selected:!1,lx:39.55613553448626,solarPowerTower:{},lz:1,normal:[0,0,1]},{relativeAngle:1.5696801656994488,lx:11.718328338430736,lz:12,color:"white",id:"axApxDk7fg6kdu31qZJjpa",leftRoofHeight:12,selected:!1,locked:!1,rightPoint:[15.013079539479257,-11.281678961006579,0],textureType:"Wall Texture Default",rightRoofHeight:12,showLabel:!1,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",cy:-17.14083948050329,parentId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"8jjNTNMVuPtviaQ4z8aUBg",type:"Wall",leftPoint:[15,-23,0],rotation:[0,0,0],ly:.3,lineWidth:.2,normal:[0,0,1],cx:15.006539769739629,cz:0,rightJoints:[],leftJoints:["qPSY4fD3E14vaHrFvAVhoM"],lineColor:"black",windows:[],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{showLabel:!1,rotation:[0,0,0],lineWidth:.2,relativeAngle:0,type:"Wall",normal:[0,0,1],cx:.75,lz:12,lineColor:"black",rightRoofHeight:12,lx:28.5,leftPoint:[-13.5,-23,0],windows:[],leftJoints:["qfMw91HFwbo5hsC2LrExL9"],locked:!1,roofId:"8jjNTNMVuPtviaQ4z8aUBg",id:"qPSY4fD3E14vaHrFvAVhoM",cz:0,leftRoofHeight:12,ly:.3,rightJoints:["axApxDk7fg6kdu31qZJjpa"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",textureType:"Wall Texture Default",color:"white",rightPoint:[15,-22.999999999999993,0],cy:-22.999999999999996,selected:!1,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{type:"Wall",leftRoofHeight:12,leftJoints:[],parentId:"9VLFJ7oUEizHpLYBMkGrSR",normal:[0,0,1],roofId:"8jjNTNMVuPtviaQ4z8aUBg",windows:[],lineColor:"black",locked:!1,showLabel:!1,rotation:[0,0,0],leftPoint:[-13.486920460520745,-20.781678961006566,0],cx:-13.493460230260371,cy:-21.89083948050328,rightRoofHeight:12,lz:12,rightPoint:[-13.5,-23,0],rightJoints:["qPSY4fD3E14vaHrFvAVhoM"],selected:!1,lx:2.2183595980800535,color:"white",id:"qfMw91HFwbo5hsC2LrExL9",lineWidth:.2,relativeAngle:4.706492905071611,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",ly:.3,textureType:"Wall Texture Default",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",type:"Cuboid",rotation:[0,0,-.41015237421866746],lz:15,locked:!1,color:"gray",selected:!1,cx:-36.56959623779416,cz:7.5,id:"tweiiVLhdx6oBWEnEtnipE",faceColors:["gray","gray","gray","gray","gray","gray"],ly:3.089724753674105,cy:-41.66817975093342,lx:9.664636900370548},{selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],lx:5.865449300431789,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],type:"Cuboid",parentId:"Ground",id:"rsUvVCPdmqPJntvXeM2GVb",cx:-44.38865117345025,locked:!1,cz:7.5,ly:1.5650109734892819,lz:15,color:"gray",cy:-40.96079721670519},{lx:3.0249690735409964,cx:-28.99251915905568,parentId:"Ground",rotation:[0,0,-.41015237421866746],type:"Cuboid",cz:7.5,color:"gray",locked:!1,lz:15,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,ly:2.6391120002649107,id:"fkBTP56VVn81KwB625hk51",cy:-31.500761697700995,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1]},{color:"gray",type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],ly:1.012024715192918,parentId:"Ground",selected:!1,cx:-55.01870252082621,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"sd5KLhyrNizECe9gb6KsQr",lz:15,lx:1.0626113345203119,cz:7.5,locked:!1,rotation:[0,0,-.41015237421866746],cy:-33.468482869791565},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],locked:!1,cx:-31.1067471882413,lx:1.4142777966890399,parentId:"Ground",selected:!1,id:"uMjoRxmZFJiEozXunGCtEk",cz:7.5,cy:-28.926011393490615,faceColors:["gray","gray","gray","gray","gray","gray"],lz:15,color:"gray",rotation:[0,0,-.41015237421866746],ly:1.5089496296253628},{cz:7.5,color:"gray",lz:15,lx:1.4142777966890399,cy:-19.94113390915151,type:"Cuboid",selected:!1,id:"vnrmWArXJmER4412akTEze",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1.5089496296253628,cx:-27.239009141660663,locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",rotation:[0,0,-.41015237421866746]},{parentId:"Ground",rotation:[0,0,-.41015237421866746],cx:-26.10325222179982,cz:7.5,ly:2.6391120002649107,cy:-24.7401297358751,selected:!1,locked:!1,lz:15,lx:3.0249690735409964,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",color:"gray",id:"sgZFM1eyn2EqyhNUVokoxt"},{cy:-45.1003153467037,lz:15,ly:1.012024715192918,normal:[0,0,1],cx:-34.012367343427655,parentId:"Ground",cz:7.5,type:"Cuboid",lx:1.0626113345203119,selected:!1,locked:!1,rotation:[0,0,-.41015237421866746],id:"t9SieBbjr7gB8ZfmMfPkkv",color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{cz:6,type:"Cuboid",normal:[0,0,1],cy:2.6351006761143005,locked:!1,parentId:"Ground",cx:-57.48268699848795,lx:1.921551368829732,faceColors:["gray","gray","gray","gray","gray","gray"],ly:1.170092177740421,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:12,id:"f6gjMamZeJ9AforAMb7sba",selected:!1,color:"gray",rotation:[0,0,-.41015237421866746]},{normal:[0,0,1],rotation:[0,0,-.41015237421866746],cz:6,ly:1.170092177740421,cx:-46.79299933184681,type:"Cuboid",parentId:"Ground",cy:32.079219880108276,color:"gray",lx:1.921551368829732,lz:12,selected:!1,locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],id:"uZN8yxuazrtq9vtfvNYjW8",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,id:"kCUndw17uk69evYZvDbpA3",locked:!1,lx:3.8078632615679346,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:17.85994953380947,parentId:"Ground",rotation:[0,0,-.41015237421866746],ly:1.8431797229103413,faceColors:["gray","gray","gray","gray","gray","gray"],type:"Cuboid",normal:[0,0,1],lz:12,color:"gray",cx:-15.533010162096012,cz:6},{selected:!1,cz:6,rotation:[0,0,-.41015237421866746],parentId:"Ground",cy:23.773736942115185,ly:1.8431797229103413,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,lx:3.8078632615679346,id:"c5CHPFsUadwXiYeCQ5kL3M",type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:12,cx:-29.102366745520293},{faceColors:["gray","gray","gray","gray","gray","gray"],type:"Cuboid",selected:!1,cy:19.328580088899457,ly:1.5089496296253628,cz:5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,cx:-6.919453557487373,normal:[0,0,1],color:"gray",parentId:"Ground",id:"qMykCJZ7DBxwNpVWKYScqJ",lz:10,rotation:[0,0,-.41015237421866746],lx:1.4142777966890399},{color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],cy:22.10130410795824,selected:!1,parentId:"Ground",type:"Cuboid",ly:1.5089496296253628,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,rotation:[0,0,-.41015237421866746],id:"mSqbavJzutA9zhAu8xE3xS",normal:[0,0,1],cz:5,lx:1.4142777966890399,locked:!1,cx:-5.974746211405201},{lx:1.4142777966890399,id:"pyDFzHD4KAB1BNqMnzD6wS",type:"Cuboid",lz:10,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1.5089496296253628,cz:5,cy:46.28392644240339,color:"gray",selected:!1,locked:!1,cx:-22.974716021978587,faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,-.41015237421866746],parentId:"Ground",normal:[0,0,1]},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",normal:[0,0,1],lz:10,id:"3niC4znTpJLi9xPdZ3J3mi",locked:!1,ly:1.5089496296253628,type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],cx:-19.844681452337475,cz:5,lx:1.4142777966890399,cy:44.91410182205283,parentId:"Ground",rotation:[0,0,-.41015237421866746],selected:!1},{id:"kmb6FinDNPjHaUSx4hWkRY",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],parentId:"Ground",rotation:[0,0,-.41015237421866746],cz:6,lx:2.409551412544647,cx:.8488303977586087,ly:2.2160601102189608,cy:59.792631721777234,selected:!1,type:"Cuboid",lz:12,color:"gray",locked:!1},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],cy:64.33483423541351,normal:[0,0,1],lx:2.815013454740496,selected:!1,parentId:"Ground",id:"jdUgLxxS7aoo8G5FKM1bpd",color:"gray",locked:!1,lz:12,cx:-10.431764953695687,type:"Cuboid",rotation:[0,0,-.41015237421866746],cz:6,ly:3.1077135053990776},{cx:-28.610884157233254,cy:60.58459939907478,color:"gray",selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:4,id:"mQbRKyuR5iBvfSyrTNXPkk",type:"Cuboid",locked:!1,normal:[0,0,1],lx:2.5003437899627516,parentId:"Ground",lz:8,ly:6.3419454417230305,rotation:[0,0,-.41015237421866746],faceColors:["gray","gray","gray","gray","gray","gray"]},{lz:8,rotation:[0,0,-.41015237421866746],id:"bK5YCpcen6fCBKp3RRNqEh",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",selected:!1,color:"gray",cy:68.11631889207206,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!1,lx:1.9416600589072726,ly:1.989767039492348,type:"Cuboid",cx:-36.29885094967864,cz:4,normal:[0,0,1]},{normal:[0,0,1],parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,type:"Cuboid",ly:1.989767039492348,rotation:[0,0,-.41015237421866746],cx:-38.338758743868084,selected:!1,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:4,cy:63.07951549965926,locked:!1,lx:1.9416600589072726,id:"jmsNe53MLv3GKAG45iZZhS"},{locked:!1,showLabel:!1,thickness:.2,type:"Roof",normal:[0,0,1],color:"#ffffff",cz:0,parentId:"pdEGhJFD3W3BmcX1EPbyWH",roofType:"Pyramid",lz:0,lx:0,selected:!1,id:"u17BQ8h2PCTPBYHjaSoxnN",lineWidth:.2,cx:0,lineColor:"black",foundationId:"pdEGhJFD3W3BmcX1EPbyWH",wallsId:["9QvBYUfBnBzYQEjDjyYwwJ","3Yax97DpPm9sAXkyokJjCv","2zTB9zP2crzAGhXAKtKuuQ","e9GuUTJEvD6Q7osTyxTwrk"],cy:0,textureType:"No Roof Texture",ly:0,rotation:[0,0,0],rise:0,ceiling:!1},{lz:0,lineWidth:.2,color:"#ffffff",selected:!1,rotation:[0,0,0],cy:0,cz:0,type:"Roof",textureType:"No Roof Texture",foundationId:"gEHbpQXkCu9RtbMyy3Xryz",parentId:"gEHbpQXkCu9RtbMyy3Xryz",roofType:"Pyramid",showLabel:!1,lx:0,id:"8JTXb2hRmgAaiTxMs35gh1",ly:0,normal:[0,0,1],thickness:.2,locked:!1,wallsId:["e5up5WS9fCbKNmdUhKFsh6","ncaNE7qPYcxTMDrSjrKjqC","4z9pAxyVBGgvcBfL2oBkTg","9Zt1Jh2MmnkaBKaBtYD19E","vmWMc4Nmqnx9AxgePRvtFK","jmovDX25miN2VZhEhqh9uy","wxDvuiUvYK71aR1xZ9r86C","pk5HH5mW7Fkgf2nUSMZyW9"],lineColor:"black",cx:0,rise:0,ceiling:!1},{lz:0,showLabel:!1,parentId:"5Ccs4YQJG3fyuyHdGw79zD",id:"iLELU7fMnA7QkYUmgQBEWM",lineWidth:.2,textureType:"No Roof Texture",locked:!1,cy:0,selected:!1,type:"Roof",lineColor:"black",cx:0,normal:[0,0,1],roofType:"Pyramid",rotation:[0,0,0],thickness:.2,color:"#ffffff",ly:0,wallsId:["2TSEdoLpnDva8vLd5CzUbS","o6KGNbWFg87od5BX9EpsTo","9NzKjLTF3oM85YSQpL4gnd","qVHFnW8AAY4XUoieeiErxH","uSo7fsB5ruR2pmb3hS5LJZ","4HqBTHcSgWW5QKhSZyPhns","susL6EqdzG6nqxMNGZaDXi","g6f1sfDxicEvG7uLqaixdo"],cz:0,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",lx:0,rise:0,ceiling:!1},{normal:[0,0,1],textureType:"No Roof Texture",selected:!1,thickness:.2,foundationId:"wBnvyTf1aAJoT1h5Lem3nN",showLabel:!1,lineColor:"black",color:"#ffffff",wallsId:["cEMfGqLjg1Ef23MmrZJMBi","oiFAJnXcnAH7zdnComwnZ7","wQJum4dZFQ5ppcaqoirdh1","bQ2Kx7puBgpzyzLtLqMSws"],locked:!1,type:"Roof",lineWidth:.2,lz:0,roofType:"Pyramid",cy:0,cz:0,parentId:"wBnvyTf1aAJoT1h5Lem3nN",lx:0,cx:0,rotation:[0,0,0],ly:0,id:"1qyyipEsGS2s5T9XgP6Hmh",rise:0,ceiling:!1},{color:"#ffffff",roofType:"Pyramid",foundationId:"bEJsUFdHaD6DHGcx6x8yR6",wallsId:["arZ3wqpChkyUrckbL7omCG","xrxYGVSxLCof2hSDyYDBhi","3VxH8hmRUhtWZN2xHFt4SG","wv4UgZqFkoaJSym14cGEUi"],id:"gTmk5BL11HKrSyJkFQtskK",cy:0,locked:!1,cz:0,thickness:.2,parentId:"bEJsUFdHaD6DHGcx6x8yR6",lineColor:"black",lineWidth:.2,normal:[0,0,1],rotation:[0,0,0],lz:0,showLabel:!1,selected:!1,ly:0,textureType:"No Roof Texture",type:"Roof",lx:0,cx:0,rise:0,ceiling:!1},{locked:!1,wallsId:["hjhpbBLzTxiFBJngNEFjyo","nM3F4oVEiNnPXXKHuymBW8","fVkwHoLMqjGDdZWbofbtKG","pVB4qAvwgYktWUYmnpXrvd"],showLabel:!1,roofType:"Pyramid",parentId:"51jEtCS88nBPdVJc1fit8Y",textureType:"No Roof Texture",foundationId:"51jEtCS88nBPdVJc1fit8Y",color:"#ffffff",type:"Roof",ly:0,cy:0,lineColor:"black",lz:0,thickness:.2,lx:0,cx:0,rotation:[0,0,0],normal:[0,0,1],cz:0,selected:!1,id:"79Z3Q6kmRSdUu2gZAfxqYU",lineWidth:.2,rise:0,ceiling:!1},{roofType:"Pyramid",lineColor:"black",wallsId:["mJUeyE2zphErZr6GzDs3tZ","j1cSjqWhsVxayuMSQv24u3","svVfgRXxxLmkheyww2W4ad","feUXDC3dk8QN3nPhgvxRs7","8SK72dWsX2KdwBhjqAJrHR","eAv1PVUtpNQ3MSDZw48MQs","1RLyYLqhL7EB8W88F1YjMf"],id:"g8pgyA4zcrzdfdvNphwHQy",lx:0,cz:0,textureType:"No Roof Texture",showLabel:!1,rotation:[0,0,0],cy:0,cx:0,locked:!1,type:"Roof",thickness:.2,ly:0,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",normal:[0,0,1],selected:!1,lineWidth:.2,color:"#ffffff",lz:0,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rise:0,ceiling:!1},{roofType:"Pyramid",selected:!1,locked:!1,textureType:"No Roof Texture",parentId:"9VLFJ7oUEizHpLYBMkGrSR",rotation:[0,0,0],color:"#ffffff",type:"Roof",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",lineColor:"black",lz:0,normal:[0,0,1],cz:0,cy:0,ly:0,showLabel:!1,id:"8jjNTNMVuPtviaQ4z8aUBg",wallsId:["qfMw91HFwbo5hsC2LrExL9","qPSY4fD3E14vaHrFvAVhoM","axApxDk7fg6kdu31qZJjpa"],thickness:.2,lx:0,cx:0,lineWidth:.2,rise:0,ceiling:!1},{lx:0,rotation:[0,0,0],parentId:"m4iUcU4yAYwkvkodEmkEet",lineColor:"black",selected:!1,thickness:.2,textureType:"No Roof Texture",cz:0,color:"#ffffff",ly:0,id:"iCAiZhiTVrLLqoQWH1g8xu",cy:0,showLabel:!1,cx:0,lineWidth:.2,foundationId:"m4iUcU4yAYwkvkodEmkEet",roofType:"Pyramid",normal:[0,0,1],wallsId:["dqGGsMEnQRvAtVj8JUXBJ1","fE5GSES3t1e72zkQ5eaMtN","annVBiZ5xysQxyv34DuQgv","1k4PTfybuAQ33E2nttLT4d"],lz:0,locked:!1,type:"Roof",rise:0,ceiling:!1},{cx:3.772871790220627,centerRoofHeight:[-.5,7],ly:.3,rightJoints:["mr118MYyqYHattPXCpoynG"],relativeAngle:-3.141592653589793,foundationId:"eP5t9YkC32dmeRk87x14Ko",rightPoint:[1.0790317820948425,2.631866526370637,0],cz:0,lx:5.387680016251569,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],leftPoint:[6.466711798346411,2.6318665263706373,0],locked:!1,lz:7,selected:!1,leftRoofHeight:7,color:"white",parentId:"eP5t9YkC32dmeRk87x14Ko",id:"xhZR7k2DmmA9LNkxhevkLf",rightRoofHeight:7,textureType:"Wall Texture Default",roofId:"iM8xLCCHLJSTRMvV2ytbGw",cy:2.6318665263706373,leftJoints:["hKD2n49XvVQhMiQhxLTwnG"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{textureType:"Wall Texture Default",roofId:"iM8xLCCHLJSTRMvV2ytbGw",color:"white",rightRoofHeight:7,rotation:[0,0,-.41015237421866746],normal:[0,0,1],leftRoofHeight:7,selected:!1,cy:-.06874335549935484,parentId:"eP5t9YkC32dmeRk87x14Ko",leftPoint:[6.466711798346411,-2.769353237369347,0],cx:6.466711798346411,rightJoints:["xhZR7k2DmmA9LNkxhevkLf"],rightPoint:[6.466711798346411,2.6318665263706373,0],type:"Wall",lx:5.401219763739984,locked:!1,lz:7,relativeAngle:1.5707963267948966,id:"hKD2n49XvVQhMiQhxLTwnG",foundationId:"eP5t9YkC32dmeRk87x14Ko",leftJoints:["tY9ds8odUyLmWNVGbRfRZS"],ly:.3,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{foundationId:"eP5t9YkC32dmeRk87x14Ko",leftRoofHeight:7,textureType:"Wall Texture Default",lx:5.387680016251575,leftPoint:[1.0790317820948367,-2.7693532373693404,0],color:"white",parentId:"eP5t9YkC32dmeRk87x14Ko",centerRoofHeight:[.5,7],roofId:"iM8xLCCHLJSTRMvV2ytbGw",ly:.3,rightRoofHeight:7,selected:!1,locked:!1,rightJoints:["hKD2n49XvVQhMiQhxLTwnG"],cy:-2.7693532373693435,rightPoint:[6.466711798346411,-2.769353237369347,0],lz:7,type:"Wall",relativeAngle:-12364019629334816e-31,id:"tY9ds8odUyLmWNVGbRfRZS",cx:3.772871790220624,leftJoints:["mr118MYyqYHattPXCpoynG"],rotation:[0,0,-.41015237421866746],cz:2.59868595123194,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,rotation:[0,0,-.41015237421866746],ly:.3,locked:!1,leftJoints:["xhZR7k2DmmA9LNkxhevkLf"],parentId:"eP5t9YkC32dmeRk87x14Ko",foundationId:"eP5t9YkC32dmeRk87x14Ko",rightJoints:["tY9ds8odUyLmWNVGbRfRZS"],cx:1.0790317820948396,id:"mr118MYyqYHattPXCpoynG",selected:!1,relativeAngle:-1.570796326794898,roofId:"iM8xLCCHLJSTRMvV2ytbGw",leftPoint:[1.0790317820948425,2.631866526370637,0],color:"white",type:"Wall",textureType:"Wall Texture Default",cz:2.8306092473007007,leftRoofHeight:7,rightPoint:[1.0790317820948367,-2.7693532373693404,0],rightRoofHeight:7,lz:7,normal:[0,0,1],cy:-.06874335549935173,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"#808080",parentId:"Ground",type:"Foundation",lx:13.89007394070906,cy:96.06999769870255,id:"eP5t9YkC32dmeRk87x14Ko",rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},solarUpdraftTower:{},ly:5.568881804752381,solarAbsorberPipe:{},cx:24.454109298590414,cz:.5,selected:!1,lz:1,locked:!1},{selected:!1,leftJoints:["1wfGxoDf2D4xggTqqerw35"],rightRoofHeight:7,cx:3.772871790220627,leftRoofHeight:7,color:"white",textureType:"Wall Texture Default",locked:!1,leftPoint:[6.466711798346411,2.6318665263706373,0],lz:7,lx:5.387680016251569,parentId:"jxVQ73S6zAeTM6FAnyQm16",id:"dGhfzR7o1S6iaLXRYQQHpz",foundationId:"jxVQ73S6zAeTM6FAnyQm16",type:"Wall",normal:[0,0,1],ly:.3,rightPoint:[1.0790317820948425,2.631866526370637,0],cy:2.6318665263706373,cz:0,relativeAngle:-3.141592653589793,centerRoofHeight:[-.5,7],rightJoints:["qauPnugYuuS7RLZjxeEFyH"],roofId:"9Di2gUsu4cUvfnKcucwxcz",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{rightJoints:["dGhfzR7o1S6iaLXRYQQHpz"],rightRoofHeight:7,textureType:"Wall Texture Default",roofId:"9Di2gUsu4cUvfnKcucwxcz",type:"Wall",rotation:[0,0,-.41015237421866746],color:"white",foundationId:"jxVQ73S6zAeTM6FAnyQm16",cx:6.466711798346411,id:"1wfGxoDf2D4xggTqqerw35",locked:!1,normal:[0,0,1],relativeAngle:1.5707963267948966,lx:5.401219763739984,leftPoint:[6.466711798346411,-2.769353237369347,0],lz:7,rightPoint:[6.466711798346411,2.6318665263706373,0],leftJoints:["6DTGHsEWy1Mj5z5EBJ8m4A"],ly:.3,cz:0,cy:-.06874335549935484,parentId:"jxVQ73S6zAeTM6FAnyQm16",selected:!1,leftRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"white",rightPoint:[6.466711798346411,-2.769353237369347,0],normal:[0,0,1],selected:!1,roofId:"9Di2gUsu4cUvfnKcucwxcz",rightRoofHeight:7,cy:-2.7693532373693435,lz:7,cx:3.772871790220624,parentId:"jxVQ73S6zAeTM6FAnyQm16",leftPoint:[1.0790317820948367,-2.7693532373693404,0],ly:.3,foundationId:"jxVQ73S6zAeTM6FAnyQm16",textureType:"Wall Texture Default",leftRoofHeight:7,rightJoints:["1wfGxoDf2D4xggTqqerw35"],rotation:[0,0,-.41015237421866746],cz:0,locked:!1,lx:5.387680016251575,id:"6DTGHsEWy1Mj5z5EBJ8m4A",relativeAngle:-12364019629334816e-31,type:"Wall",centerRoofHeight:[.5,7],leftJoints:["qauPnugYuuS7RLZjxeEFyH"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{ly:.3,lx:5.401219763739977,rotation:[0,0,-.41015237421866746],roofId:"9Di2gUsu4cUvfnKcucwxcz",leftPoint:[1.0790317820948425,2.631866526370637,0],rightRoofHeight:7,color:"white",textureType:"Wall Texture Default",foundationId:"jxVQ73S6zAeTM6FAnyQm16",leftRoofHeight:7,locked:!1,type:"Wall",cz:0,leftJoints:["dGhfzR7o1S6iaLXRYQQHpz"],rightPoint:[1.0790317820948367,-2.7693532373693404,0],parentId:"jxVQ73S6zAeTM6FAnyQm16",normal:[0,0,1],cx:1.0790317820948396,lz:7,rightJoints:["6DTGHsEWy1Mj5z5EBJ8m4A"],relativeAngle:-1.570796326794898,cy:-.06874335549935173,id:"qauPnugYuuS7RLZjxeEFyH",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{solarUpdraftTower:{},lz:1,parentId:"Ground",solarAbsorberPipe:{},normal:[0,0,1],solarPowerTower:{},id:"jxVQ73S6zAeTM6FAnyQm16",selected:!1,ly:5.568881804752381,type:"Foundation",lx:13.89007394070906,cz:.5,locked:!1,color:"#808080",cx:29.2866477996762,rotation:[0,0,-.41015237421866746],cy:107.44244234980054},{rotation:[0,0,-.41015237421866746],cz:0,rightPoint:[1.0790317820948425,2.631866526370637,0],selected:!1,color:"white",foundationId:"rDKG6AKNM5QvYPq1qfdTX1",lx:5.387680016251569,rightRoofHeight:7,relativeAngle:-3.141592653589793,roofId:"gRx8iaGJs1z3AUhQF6eqGJ",normal:[0,0,1],leftJoints:["iTrgk5UiyKug74tDSksgxe"],ly:.3,locked:!1,leftPoint:[6.466711798346411,2.6318665263706373,0],id:"nxbMX3EChmn9CzTV7CdW2h",cx:3.772871790220627,rightJoints:["ehEH19eZNtirzGTfRqW3Hp"],leftRoofHeight:7,cy:2.6318665263706373,parentId:"rDKG6AKNM5QvYPq1qfdTX1",textureType:"Wall Texture Default",lz:7,centerRoofHeight:[-.5,7],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lz:7,rightJoints:["nxbMX3EChmn9CzTV7CdW2h"],rightRoofHeight:7,ly:.3,color:"white",rotation:[0,0,-.41015237421866746],cy:-.06874335549935484,foundationId:"rDKG6AKNM5QvYPq1qfdTX1",roofId:"gRx8iaGJs1z3AUhQF6eqGJ",rightPoint:[6.466711798346411,2.6318665263706373,0],selected:!1,parentId:"rDKG6AKNM5QvYPq1qfdTX1",id:"iTrgk5UiyKug74tDSksgxe",cx:6.466711798346411,cz:0,normal:[0,0,1],relativeAngle:1.5707963267948966,leftRoofHeight:7,textureType:"Wall Texture Default",lx:5.401219763739984,type:"Wall",leftJoints:["97QKa6yKUz1mJAvuAaYQi5"],leftPoint:[6.466711798346411,-2.769353237369347,0],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",rightRoofHeight:7,locked:!1,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,relativeAngle:-12364019629334816e-31,centerRoofHeight:[.5,7],cx:3.772871790220624,roofId:"gRx8iaGJs1z3AUhQF6eqGJ",rightPoint:[6.466711798346411,-2.769353237369347,0],foundationId:"rDKG6AKNM5QvYPq1qfdTX1",leftJoints:["ehEH19eZNtirzGTfRqW3Hp"],id:"97QKa6yKUz1mJAvuAaYQi5",leftPoint:[1.0790317820948367,-2.7693532373693404,0],leftRoofHeight:7,cz:0,color:"white",selected:!1,lz:7,lx:5.387680016251575,cy:-2.7693532373693435,normal:[0,0,1],rightJoints:["iTrgk5UiyKug74tDSksgxe"],parentId:"rDKG6AKNM5QvYPq1qfdTX1",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{rightPoint:[1.0790317820948367,-2.7693532373693404,0],foundationId:"rDKG6AKNM5QvYPq1qfdTX1",normal:[0,0,1],color:"white",cx:1.0790317820948396,parentId:"rDKG6AKNM5QvYPq1qfdTX1",cy:-.06874335549935173,leftPoint:[1.0790317820948425,2.631866526370637,0],leftRoofHeight:7,locked:!1,lz:7,leftJoints:["nxbMX3EChmn9CzTV7CdW2h"],roofId:"gRx8iaGJs1z3AUhQF6eqGJ",ly:.3,type:"Wall",selected:!1,rotation:[0,0,-.41015237421866746],cz:0,textureType:"Wall Texture Default",id:"ehEH19eZNtirzGTfRqW3Hp",lx:5.401219763739977,relativeAngle:-1.570796326794898,rightRoofHeight:7,rightJoints:["97QKa6yKUz1mJAvuAaYQi5"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cx:34.55424337004162,solarAbsorberPipe:{},type:"Foundation",rotation:[0,0,-.41015237421866746],locked:!1,cz:.5,parentId:"Ground",solarPowerTower:{},normal:[0,0,1],ly:5.568881804752381,cy:118.62202333064985,lx:13.89007394070906,solarUpdraftTower:{},selected:!1,color:"#808080",lz:1,id:"rDKG6AKNM5QvYPq1qfdTX1"},{wallsId:["mr118MYyqYHattPXCpoynG"],lz:0,lineWidth:.2,textureType:"No Roof Texture",locked:!1,ridgeLeftPoint:[-.5,1],thickness:.2,cx:0,rotation:[0,0,0],id:"iM8xLCCHLJSTRMvV2ytbGw",foundationId:"eP5t9YkC32dmeRk87x14Ko",selected:!1,ly:0,color:"#ffffff",cz:0,parentId:"eP5t9YkC32dmeRk87x14Ko",ridgeRightPoint:[.5,1],lineColor:"black",showLabel:!1,type:"Roof",lx:0,roofType:"Gable",normal:[0,0,1],cy:0,rise:0,ceiling:!1},{ly:0,type:"Roof",thickness:.2,lz:0,wallsId:["qauPnugYuuS7RLZjxeEFyH"],color:"#ffffff",selected:!1,ridgeRightPoint:[.5,1],lx:0,ridgeLeftPoint:[-.5,1],normal:[0,0,1],lineColor:"black",rotation:[0,0,0],roofType:"Gable",locked:!1,cy:0,parentId:"jxVQ73S6zAeTM6FAnyQm16",cz:0,textureType:"No Roof Texture",showLabel:!1,foundationId:"jxVQ73S6zAeTM6FAnyQm16",id:"9Di2gUsu4cUvfnKcucwxcz",cx:0,lineWidth:.2,rise:0,ceiling:!1},{ly:0,lineWidth:.2,cx:0,type:"Roof",textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],showLabel:!1,selected:!1,cz:0,wallsId:["ehEH19eZNtirzGTfRqW3Hp"],rotation:[0,0,0],lineColor:"black",color:"#ffffff",lx:0,id:"gRx8iaGJs1z3AUhQF6eqGJ",thickness:.2,normal:[0,0,1],ridgeRightPoint:[.5,1],parentId:"rDKG6AKNM5QvYPq1qfdTX1",locked:!1,roofType:"Gable",cy:0,lz:0,foundationId:"rDKG6AKNM5QvYPq1qfdTX1",rise:0,ceiling:!1},{lx:5.387680016251569,cz:0,rightRoofHeight:7,ly:.3,parentId:"jYYkxDDGtpRKpj5cDaSAyU",leftPoint:[-.7148597809579893,2.6859428300134063,1],leftJoints:["dn61jbg36CDKXJ7atWKcPL"],normal:[0,0,1],rightPoint:[-6.102539797209565,2.6859428300134014,1],roofId:"8851rT9wqqajnoeFBmiUjQ",color:"white",locked:!1,selected:!1,rightJoints:["81VpPXebFdckLDhrYfjNw4"],cy:2.685942830013403,type:"Wall",leftRoofHeight:7,id:"sksYhYD2dNixUEPNYJqc76",rotation:[0,0,-.41015237421866746],centerRoofHeight:[.5,7],relativeAngle:-3.141592653589793,textureType:"Wall Texture Default",lz:7,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",cx:-3.4086997890837694,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{locked:!1,cy:-.014667051856591229,roofId:"8851rT9wqqajnoeFBmiUjQ",leftRoofHeight:7,rightRoofHeight:7,parentId:"jYYkxDDGtpRKpj5cDaSAyU",selected:!1,lz:7,textureType:"Wall Texture Default",type:"Wall",color:"white",foundationId:"jYYkxDDGtpRKpj5cDaSAyU",leftPoint:[-.7148597809579927,-2.7152769337265767,1],rotation:[0,0,-.41015237421866746],id:"dn61jbg36CDKXJ7atWKcPL",normal:[0,0,1],leftJoints:["x33tCm8G91uhrEhqZh7Sgp"],cx:-.7148597809579962,rightPoint:[-.7148597809579893,2.6859428300134063,1],ly:.3,lx:5.401219763739984,rightJoints:["sksYhYD2dNixUEPNYJqc76"],relativeAngle:1.5707963267948966,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{ly:.3,locked:!1,rightPoint:[-.7148597809579927,-2.7152769337265767,1],rightJoints:["dn61jbg36CDKXJ7atWKcPL"],id:"x33tCm8G91uhrEhqZh7Sgp",normal:[0,0,1],lx:5.387680016251575,roofId:"8851rT9wqqajnoeFBmiUjQ",lz:7,rotation:[0,0,-.41015237421866746],parentId:"jYYkxDDGtpRKpj5cDaSAyU",relativeAngle:-12364019629334816e-31,textureType:"Wall Texture Default",centerRoofHeight:[-.5,7],rightRoofHeight:7,cx:-3.4086997890837756,leftPoint:[-6.102539797209571,-2.7152769337265754,1],cz:0,type:"Wall",color:"white",foundationId:"jYYkxDDGtpRKpj5cDaSAyU",selected:!1,leftJoints:["81VpPXebFdckLDhrYfjNw4"],leftRoofHeight:7,cy:-2.715276933726573,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-.014667051856584123,normal:[0,0,1],leftPoint:[-6.102539797209565,2.6859428300134014,1],rightJoints:["x33tCm8G91uhrEhqZh7Sgp"],locked:!1,cz:0,cx:-6.102539797209562,lz:7,id:"81VpPXebFdckLDhrYfjNw4",rightRoofHeight:7,selected:!1,lx:5.401219763739977,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",roofId:"8851rT9wqqajnoeFBmiUjQ",type:"Wall",color:"white",ly:.3,rightPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"jYYkxDDGtpRKpj5cDaSAyU",leftRoofHeight:7,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",relativeAngle:-1.570796326794898,leftJoints:["sksYhYD2dNixUEPNYJqc76"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Foundation",color:"#808080",cy:78.31845915827158,solarAbsorberPipe:{},solarPowerTower:{},cz:.5,locked:!1,ly:5.482519143209589,normal:[0,0,1],lz:1,selected:!1,id:"jYYkxDDGtpRKpj5cDaSAyU",solarUpdraftTower:{},lx:12.981345567934609,cx:65.13740167211039,parentId:"Ground",rotation:[0,0,-.41015237421866746]},{rotation:[0,0,-.41015237421866746],relativeAngle:-3.141592653589793,cx:-3.4086997890837694,cy:2.685942830013403,rightJoints:["5BVMmeTYtWaRrB3p7N2yex"],textureType:"Wall Texture Default",cz:0,lx:5.387680016251569,type:"Wall",roofId:"uhbPwQthVjoBQGqRB2bxwD",leftJoints:["nU3buhZij6ruFmt78QqHPt"],id:"xbje76bhjMGZA3Mc8s8cWN",ly:.3,parentId:"dTyQpKfdgEv9kGBprmTD5p",leftRoofHeight:7,foundationId:"dTyQpKfdgEv9kGBprmTD5p",color:"white",rightPoint:[-6.102539797209565,2.6859428300134014,1],leftPoint:[-.7148597809579893,2.6859428300134063,1],locked:!1,centerRoofHeight:[.5,7],rightRoofHeight:7,lz:7,selected:!1,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cz:0,roofId:"uhbPwQthVjoBQGqRB2bxwD",cy:-.014667051856591229,leftRoofHeight:7,rotation:[0,0,-.41015237421866746],selected:!1,textureType:"Wall Texture Default",relativeAngle:1.5707963267948966,leftJoints:["dwNyLyogzdW8eZvvnJWmaJ"],rightJoints:["xbje76bhjMGZA3Mc8s8cWN"],locked:!1,foundationId:"dTyQpKfdgEv9kGBprmTD5p",lz:7,rightRoofHeight:7,color:"white",lx:5.401219763739984,id:"nU3buhZij6ruFmt78QqHPt",ly:.3,leftPoint:[-.7148597809579927,-2.7152769337265767,1],cx:-.7148597809579962,parentId:"dTyQpKfdgEv9kGBprmTD5p",normal:[0,0,1],type:"Wall",rightPoint:[-.7148597809579893,2.6859428300134063,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{textureType:"Wall Texture Default",type:"Wall",leftPoint:[-6.102539797209571,-2.7152769337265754,1],foundationId:"dTyQpKfdgEv9kGBprmTD5p",roofId:"uhbPwQthVjoBQGqRB2bxwD",cz:0,rightJoints:["nU3buhZij6ruFmt78QqHPt"],ly:.3,relativeAngle:-12364019629334816e-31,rightRoofHeight:7,cy:-2.715276933726573,selected:!1,id:"dwNyLyogzdW8eZvvnJWmaJ",locked:!1,cx:-3.4086997890837756,rotation:[0,0,-.41015237421866746],rightPoint:[-.7148597809579927,-2.7152769337265767,1],lx:5.387680016251575,color:"white",normal:[0,0,1],leftJoints:["5BVMmeTYtWaRrB3p7N2yex"],centerRoofHeight:[-.5,7],parentId:"dTyQpKfdgEv9kGBprmTD5p",leftRoofHeight:7,lz:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{leftPoint:[-6.102539797209565,2.6859428300134014,1],selected:!1,color:"white",type:"Wall",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],leftRoofHeight:7,lz:7,cx:-6.102539797209562,leftJoints:["xbje76bhjMGZA3Mc8s8cWN"],relativeAngle:-1.570796326794898,id:"5BVMmeTYtWaRrB3p7N2yex",ly:.3,roofId:"uhbPwQthVjoBQGqRB2bxwD",rightRoofHeight:7,cz:0,cy:-.014667051856584123,rightJoints:["dwNyLyogzdW8eZvvnJWmaJ"],lx:5.401219763739977,locked:!1,parentId:"dTyQpKfdgEv9kGBprmTD5p",foundationId:"dTyQpKfdgEv9kGBprmTD5p",rightPoint:[-6.102539797209571,-2.7152769337265754,1],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{normal:[0,0,1],cy:89.91033144595889,solarPowerTower:{},id:"dTyQpKfdgEv9kGBprmTD5p",parentId:"Ground",solarUpdraftTower:{},locked:!1,type:"Foundation",cx:70.15208193257892,color:"#808080",ly:5.482519143209589,cz:.5,solarAbsorberPipe:{},lz:1,lx:12.981345567934609,rotation:[0,0,-.41015237421866746],selected:!1},{leftPoint:[-.7148597809579893,2.6859428300134063,1],selected:!1,normal:[0,0,1],relativeAngle:-3.141592653589793,cz:0,rightRoofHeight:7,ly:.3,parentId:"7tr4anbazuvTAtnbTpqU9w",type:"Wall",centerRoofHeight:[.5,7],leftRoofHeight:7,color:"white",locked:!1,textureType:"Wall Texture Default",rightPoint:[-6.102539797209565,2.6859428300134014,1],lx:5.387680016251569,rightJoints:["cK1cR6gMr6BKG2p5YWPAbz"],rotation:[0,0,-.41015237421866746],roofId:"4YikGAD8ELjnqVycqWQnqk",lz:7,id:"7R7xQ85xB9XpqZUteZ3rjG",cy:2.685942830013403,foundationId:"7tr4anbazuvTAtnbTpqU9w",cx:-3.4086997890837694,leftJoints:["fb2EVpNYy9jyY5yAermefj"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cz:0,rotation:[0,0,-.41015237421866746],type:"Wall",relativeAngle:1.5707963267948966,leftRoofHeight:7,rightPoint:[-.7148597809579893,2.6859428300134063,1],rightRoofHeight:7,rightJoints:["7R7xQ85xB9XpqZUteZ3rjG"],textureType:"Wall Texture Default",leftJoints:["kYSMKReMjdXaFQpkHynQU8"],lx:5.401219763739984,ly:.3,locked:!1,parentId:"7tr4anbazuvTAtnbTpqU9w",foundationId:"7tr4anbazuvTAtnbTpqU9w",selected:!1,id:"fb2EVpNYy9jyY5yAermefj",leftPoint:[-.7148597809579927,-2.7152769337265767,1],cx:-.7148597809579962,normal:[0,0,1],cy:-.014667051856591229,lz:7,roofId:"4YikGAD8ELjnqVycqWQnqk",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"white",cz:0,normal:[0,0,1],leftJoints:["cK1cR6gMr6BKG2p5YWPAbz"],ly:.3,lz:7,textureType:"Wall Texture Default",leftRoofHeight:7,lx:5.387680016251575,rightJoints:["fb2EVpNYy9jyY5yAermefj"],cx:-3.4086997890837756,rightRoofHeight:7,selected:!1,rightPoint:[-.7148597809579927,-2.7152769337265767,1],type:"Wall",foundationId:"7tr4anbazuvTAtnbTpqU9w",cy:-2.715276933726573,id:"kYSMKReMjdXaFQpkHynQU8",centerRoofHeight:[-.5,7],relativeAngle:-12364019629334816e-31,rotation:[0,0,-.41015237421866746],parentId:"7tr4anbazuvTAtnbTpqU9w",leftPoint:[-6.102539797209571,-2.7152769337265754,1],locked:!1,roofId:"4YikGAD8ELjnqVycqWQnqk",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,ly:.3,cz:0,rightPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"7tr4anbazuvTAtnbTpqU9w",leftRoofHeight:7,color:"white",rightRoofHeight:7,cx:-6.102539797209562,leftJoints:["7R7xQ85xB9XpqZUteZ3rjG"],locked:!1,type:"Wall",lz:7,normal:[0,0,1],selected:!1,leftPoint:[-6.102539797209565,2.6859428300134014,1],roofId:"4YikGAD8ELjnqVycqWQnqk",rightJoints:["kYSMKReMjdXaFQpkHynQU8"],foundationId:"7tr4anbazuvTAtnbTpqU9w",id:"cK1cR6gMr6BKG2p5YWPAbz",cy:-.014667051856584123,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],relativeAngle:-1.570796326794898,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{selected:!1,solarPowerTower:{},cz:.5,cx:75.10959011141287,type:"Foundation",solarAbsorberPipe:{},cy:101.13287550232491,ly:5.482519143209589,lx:12.981345567934609,solarUpdraftTower:{},id:"7tr4anbazuvTAtnbTpqU9w",locked:!1,lz:1,rotation:[0,0,-.41015237421866746],parentId:"Ground",color:"#808080",normal:[0,0,1]},{lz:0,textureType:"No Roof Texture",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",cy:0,lineColor:"black",lineWidth:.2,lx:0,wallsId:["eVDG7gqXM3uLaHhJS5k6Fh"],ly:0,rightRidgeLength:15.217808474550925,selected:!1,type:"Roof",rotation:[0,0,0],color:"#ffffff",cz:0,thickness:.2,roofType:"Hip",showLabel:!1,normal:[0,0,1],leftRidgeLength:15.217808474550925,cx:0,locked:!1,parentId:"un11oZ7V5tAhWhFKuL8M5Q",id:"a67eFG3dY8EiYs3GWgTwsF",rise:3,ceiling:!1},{selected:!1,type:"Roof",cy:0,lz:0,cz:0,lineWidth:.2,wallsId:["fHApw3eZ3j52e3Ze4hhzaH"],color:"#ffffff",ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],foundationId:"4UZo2BLYXGN9cd3hbyQ45x",lx:0,showLabel:!1,lineColor:"black",rotation:[0,0,0],thickness:.2,roofType:"Gable",id:"8gnJuvioHBpuV9PnGGyNAB",ly:0,locked:!1,textureType:"No Roof Texture",parentId:"4UZo2BLYXGN9cd3hbyQ45x",cx:0,normal:[0,0,1],rise:0,ceiling:!1},{ly:0,lineWidth:.2,thickness:.2,ridgeRightPoint:[.5,1],rotation:[0,0,0],selected:!1,lz:0,id:"8851rT9wqqajnoeFBmiUjQ",lineColor:"black",wallsId:["dn61jbg36CDKXJ7atWKcPL"],ridgeLeftPoint:[-.5,1],cz:0,cy:0,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",lx:0,parentId:"jYYkxDDGtpRKpj5cDaSAyU",showLabel:!1,normal:[0,0,1],cx:0,roofType:"Gable",color:"#ffffff",textureType:"No Roof Texture",locked:!1,type:"Roof",rise:0,ceiling:!1},{textureType:"No Roof Texture",lx:0,parentId:"dTyQpKfdgEv9kGBprmTD5p",color:"#ffffff",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],lz:0,thickness:.2,type:"Roof",selected:!1,showLabel:!1,cz:0,wallsId:["nU3buhZij6ruFmt78QqHPt"],rotation:[0,0,0],lineWidth:.2,foundationId:"dTyQpKfdgEv9kGBprmTD5p",cy:0,id:"uhbPwQthVjoBQGqRB2bxwD",lineColor:"black",ly:0,locked:!1,normal:[0,0,1],cx:0,roofType:"Gable",rise:0,ceiling:!1},{showLabel:!1,normal:[0,0,1],parentId:"7tr4anbazuvTAtnbTpqU9w",lz:0,lineWidth:.2,rotation:[0,0,0],ly:0,id:"4YikGAD8ELjnqVycqWQnqk",textureType:"No Roof Texture",cz:0,roofType:"Gable",lineColor:"black",foundationId:"7tr4anbazuvTAtnbTpqU9w",lx:0,wallsId:["fb2EVpNYy9jyY5yAermefj"],cy:0,cx:0,color:"#ffffff",locked:!1,ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],thickness:.2,type:"Roof",selected:!1,rise:0,ceiling:!1},{lineColor:"black",thickness:.2,id:"sYHDayEkzyov7moz6ZSxMu",wallsId:["vBUTysuRjhgkSBTqe4LbYB"],foundationId:"iUb7PSjszf44Zg2YisnC92",rightRidgeLength:10.468639728099076,cy:0,leftRidgeLength:10.502576741045827,locked:!1,color:"#ffffff",parentId:"iUb7PSjszf44Zg2YisnC92",lz:0,showLabel:!1,cx:0,roofType:"Hip",normal:[0,0,1],cz:0,lx:0,selected:!1,type:"Roof",textureType:"No Roof Texture",lineWidth:.2,ly:0,rotation:[0,0,0],rise:2.5,ceiling:!1},{normal:[0,0,1],cx:4440892098500626e-31,type:"Wall",ly:.3,relativeAngle:3.141592653589793,rightPoint:[-3.499999999999999,5.5,0],rotation:[0,0,-.41015237421866746],leftPoint:[3.5,5.5,0],color:"white",lx:6.999999999999999,rightRoofHeight:5.5,lz:5.5,locked:!1,selected:!1,leftRoofHeight:5.5,textureType:"Wall Texture Default",roofId:"ta7dJGh8vLPXrt6JV7RiRA",cy:5.5,id:"qefHhW7RphUHeDq16TbXhE",parentId:"rQHuxdXYQbCuq9CeyutKyt",foundationId:"rQHuxdXYQbCuq9CeyutKyt",leftJoints:["6ooz87ACe4edwrDbgzxpbv"],rightJoints:["havXcoauCS81jHQUuLqvuh"],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{cx:3.4999999999999982,foundationId:"rQHuxdXYQbCuq9CeyutKyt",parentId:"rQHuxdXYQbCuq9CeyutKyt",rightPoint:[3.499999999999996,5.500000000000007,0],lz:5.5,relativeAngle:1.5707963267948974,leftRoofHeight:5.5,locked:!1,color:"white",leftPoint:[3.5,-.5,0],rotation:[0,0,-.41015237421866746],type:"Wall",roofId:"ta7dJGh8vLPXrt6JV7RiRA",leftJoints:["mr4zR49hytzuJEADGRBy6h"],selected:!1,centerRoofHeight:[.5,5.5],normal:[0,0,1],cy:2.5000000000000036,id:"6ooz87ACe4edwrDbgzxpbv",ly:.3,lx:6.000000000000007,textureType:"Wall Texture Default",rightJoints:["qefHhW7RphUHeDq16TbXhE"],cz:0,rightRoofHeight:5.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{roofId:"ta7dJGh8vLPXrt6JV7RiRA",rotation:[0,0,-.41015237421866746],leftPoint:[-3.499999999999999,5.5,0],rightJoints:["mr4zR49hytzuJEADGRBy6h"],color:"white",leftRoofHeight:5.5,foundationId:"rQHuxdXYQbCuq9CeyutKyt",leftJoints:["qefHhW7RphUHeDq16TbXhE"],rightRoofHeight:5.5,lx:6,relativeAngle:4.71238898038469,cx:-3.4999999999999996,cz:0,normal:[0,0,1],id:"havXcoauCS81jHQUuLqvuh",ly:.3,rightPoint:[-3.5,-.5,0],textureType:"Wall Texture Default",cy:2.5,locked:!1,selected:!1,type:"Wall",lz:5.5,centerRoofHeight:[-.5,5.5],parentId:"rQHuxdXYQbCuq9CeyutKyt",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{textureType:"Wall Texture Default",foundationId:"rQHuxdXYQbCuq9CeyutKyt",locked:!1,leftJoints:["havXcoauCS81jHQUuLqvuh"],rightJoints:["6ooz87ACe4edwrDbgzxpbv"],relativeAngle:3806478941571964e-31,rightPoint:[3.5,-.5,0],color:"white",rightRoofHeight:5.5,leftRoofHeight:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],id:"mr4zR49hytzuJEADGRBy6h",ly:.3,lx:7.000000000000002,type:"Wall",roofId:"ta7dJGh8vLPXrt6JV7RiRA",cx:-11102230246251565e-31,cy:-.5000000000000013,normal:[0,0,1],selected:!1,lz:5.5,cz:0,rotation:[0,0,-.41015237421866746],parentId:"rQHuxdXYQbCuq9CeyutKyt",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{color:"#ffffff",normal:[0,0,1],textureType:"No Roof Texture",id:"ta7dJGh8vLPXrt6JV7RiRA",thickness:.2,cy:0,foundationId:"rQHuxdXYQbCuq9CeyutKyt",selected:!1,locked:!1,ridgeRightPoint:[.5,1],roofType:"Gable",wallsId:["mr4zR49hytzuJEADGRBy6h"],rotation:[0,0,-.41015237421866746],ly:0,cz:0,ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",cx:0,lz:0,parentId:"rQHuxdXYQbCuq9CeyutKyt",rise:0,ceiling:!1},{locked:!1,solarAbsorberPipe:{},lz:1,ly:13.609083182601537,cz:.5,type:"Foundation",id:"rQHuxdXYQbCuq9CeyutKyt",cx:-44.11791038753842,normal:[0,0,1],lx:9.87769053193653,solarUpdraftTower:{},selected:!1,cy:-106.22676257052163,rotation:[0,0,-.41015237421866746],parentId:"Ground",solarPowerTower:{}},{id:"i5GKt7QSXzDRXB7dcnVBLM",locked:!1,rotation:[0,0,2.731440279371126],leftPoint:[3.5,5.5,0],ly:.3,cy:5.5,leftJoints:["m2eA6TxbykTmNtzzk3kJAi"],relativeAngle:3.141592653589793,parentId:"i7ztNW6L7rJRDK1bHdkfyV",textureType:"Wall Texture Default",cz:0,rightPoint:[-3.499999999999999,5.5,0],selected:!1,lz:5.5,rightJoints:["sPS51DdhZZB8Z5PdWKEDt2"],normal:[0,0,1],foundationId:"i7ztNW6L7rJRDK1bHdkfyV",leftRoofHeight:5.5,color:"white",type:"Wall",roofId:"r5b5XcBuiD8AujQ1MGfNH3",lx:6.999999999999999,rightRoofHeight:5.5,cx:4440892098500626e-31,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{centerRoofHeight:[.5,5.5],roofId:"r5b5XcBuiD8AujQ1MGfNH3",rotation:[0,0,2.731440279371126],foundationId:"i7ztNW6L7rJRDK1bHdkfyV",cz:0,relativeAngle:1.5707963267948974,color:"white",cx:3.4999999999999982,id:"m2eA6TxbykTmNtzzk3kJAi",leftJoints:["oH8d6S7hYF3gtbhBgwNM9N"],rightPoint:[3.499999999999996,5.500000000000007,0],leftPoint:[3.5,-.5,0],lx:6.000000000000007,locked:!1,rightJoints:["i5GKt7QSXzDRXB7dcnVBLM"],normal:[0,0,1],parentId:"i7ztNW6L7rJRDK1bHdkfyV",cy:2.5000000000000036,textureType:"Wall Texture Default",ly:.3,rightRoofHeight:5.5,selected:!1,lz:5.5,leftRoofHeight:5.5,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{normal:[0,0,1],rightJoints:["oH8d6S7hYF3gtbhBgwNM9N"],relativeAngle:4.71238898038469,leftPoint:[-3.499999999999999,5.5,0],leftRoofHeight:5.5,leftJoints:["i5GKt7QSXzDRXB7dcnVBLM"],color:"white",selected:!1,lz:5.5,locked:!1,rightRoofHeight:5.5,cy:2.5,cx:-3.4999999999999996,type:"Wall",cz:0,id:"sPS51DdhZZB8Z5PdWKEDt2",rightPoint:[-3.5,-.5,0],textureType:"Wall Texture Default",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",roofId:"r5b5XcBuiD8AujQ1MGfNH3",parentId:"i7ztNW6L7rJRDK1bHdkfyV",ly:.3,centerRoofHeight:[-.5,5.5],rotation:[0,0,2.731440279371126],lx:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{locked:!1,id:"oH8d6S7hYF3gtbhBgwNM9N",type:"Wall",leftJoints:["sPS51DdhZZB8Z5PdWKEDt2"],rightPoint:[3.5,-.5,0],rotation:[0,0,2.731440279371126],cx:-11102230246251565e-31,color:"white",rightJoints:["m2eA6TxbykTmNtzzk3kJAi"],roofId:"r5b5XcBuiD8AujQ1MGfNH3",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",lx:7.000000000000002,leftRoofHeight:5.5,textureType:"Wall Texture Default",parentId:"i7ztNW6L7rJRDK1bHdkfyV",rightRoofHeight:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],cy:-.5000000000000013,cz:0,selected:!1,lz:5.5,relativeAngle:3806478941571964e-31,ly:.3,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{parentId:"i7ztNW6L7rJRDK1bHdkfyV",selected:!1,thickness:.2,cy:0,type:"Roof",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",id:"r5b5XcBuiD8AujQ1MGfNH3",roofType:"Gable",lx:0,wallsId:["oH8d6S7hYF3gtbhBgwNM9N"],normal:[0,0,1],ridgeRightPoint:[.5,1],color:"#ffffff",cz:0,ly:0,rotation:[0,0,2.731440279371126],ridgeLeftPoint:[-.5,1],cx:0,locked:!1,lz:0,textureType:"No Roof Texture",rise:0,ceiling:!1},{solarAbsorberPipe:{},rotation:[0,0,2.731440279371126],id:"i7ztNW6L7rJRDK1bHdkfyV",cy:-73.67535448644264,lx:9.87769053193653,normal:[0,0,1],locked:!1,solarPowerTower:{},selected:!1,cx:-30.629562336104748,ly:13.609083182601537,parentId:"Ground",solarUpdraftTower:{},type:"Foundation",lz:1,cz:.5},{rotation:[0,0,2.731440279371126],leftRoofHeight:5.5,foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",color:"white",parentId:"hSQpUbAbHNwPXWwTfmLQQ9",cz:0,normal:[0,0,1],selected:!1,cy:5.5,relativeAngle:3.141592653589793,roofId:"runBfYomSfd687Gchj63SZ",leftPoint:[3.5,5.5,0],leftJoints:["ubJ5Kh7Kzh6DiRySw16dSF"],locked:!1,rightJoints:["96zUdoDkw4WNfs9uwWoQAg"],lx:6.999999999999999,ly:.3,rightRoofHeight:5.5,cx:4440892098500626e-31,lz:5.5,rightPoint:[-3.499999999999999,5.5,0],id:"3poxNxgtfpKbeLU5s5wzoP",textureType:"Wall Texture Default",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",parentId:"hSQpUbAbHNwPXWwTfmLQQ9",rightPoint:[3.499999999999996,5.500000000000007,0],color:"white",id:"ubJ5Kh7Kzh6DiRySw16dSF",leftRoofHeight:5.5,relativeAngle:1.5707963267948974,normal:[0,0,1],cx:3.4999999999999982,roofId:"runBfYomSfd687Gchj63SZ",rotation:[0,0,2.731440279371126],cz:0,rightRoofHeight:5.5,lx:6.000000000000007,selected:!1,locked:!1,centerRoofHeight:[.5,5.5],ly:.3,leftPoint:[3.5,-.5,0],textureType:"Wall Texture Default",rightJoints:["3poxNxgtfpKbeLU5s5wzoP"],leftJoints:["5n3uXwW2AJxGx3HRvGRLXX"],cy:2.5000000000000036,lz:5.5,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{id:"96zUdoDkw4WNfs9uwWoQAg",rightJoints:["5n3uXwW2AJxGx3HRvGRLXX"],centerRoofHeight:[-.5,5.5],foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",locked:!1,type:"Wall",ly:.3,relativeAngle:4.71238898038469,parentId:"hSQpUbAbHNwPXWwTfmLQQ9",leftRoofHeight:5.5,roofId:"runBfYomSfd687Gchj63SZ",textureType:"Wall Texture Default",normal:[0,0,1],cy:2.5,rightPoint:[-3.5,-.5,0],rightRoofHeight:5.5,lx:6,rotation:[0,0,2.731440279371126],cx:-3.4999999999999996,selected:!1,color:"white",leftPoint:[-3.499999999999999,5.5,0],leftJoints:["3poxNxgtfpKbeLU5s5wzoP"],lz:5.5,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{selected:!1,parentId:"hSQpUbAbHNwPXWwTfmLQQ9",color:"white",leftJoints:["96zUdoDkw4WNfs9uwWoQAg"],cy:-.5000000000000013,lz:5.5,textureType:"Wall Texture Default",relativeAngle:3806478941571964e-31,type:"Wall",leftPoint:[-3.500000000000002,-.5000000000000027,0],lx:7.000000000000002,leftRoofHeight:5.5,roofId:"runBfYomSfd687Gchj63SZ",cx:-11102230246251565e-31,rightJoints:["ubJ5Kh7Kzh6DiRySw16dSF"],rotation:[0,0,2.731440279371126],id:"5n3uXwW2AJxGx3HRvGRLXX",rightRoofHeight:5.5,locked:!1,cz:0,rightPoint:[3.5,-.5,0],foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",ly:.3,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{parentId:"hSQpUbAbHNwPXWwTfmLQQ9",cy:0,ly:0,textureType:"No Roof Texture",lz:0,rotation:[0,0,2.731440279371126],ridgeRightPoint:[.5,1],locked:!1,type:"Roof",foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",roofType:"Gable",thickness:.2,color:"#ffffff",id:"runBfYomSfd687Gchj63SZ",selected:!1,wallsId:["5n3uXwW2AJxGx3HRvGRLXX"],normal:[0,0,1],cz:0,ridgeLeftPoint:[-.5,1],cx:0,lx:0,rise:0,ceiling:!1},{solarAbsorberPipe:{},type:"Foundation",rotation:[0,0,2.731440279371126],selected:!1,solarUpdraftTower:{},cx:-20.62568109333218,lz:1,id:"hSQpUbAbHNwPXWwTfmLQQ9",ly:13.609083182601537,cy:-78.08358970074559,locked:!1,parentId:"Ground",lx:9.87769053193653,cz:.5,normal:[0,0,1],solarPowerTower:{}},{id:"g5QrsNM3GmBsG5THTKDrtm",lx:0,lz:0,locked:!1,color:"#ffffff",parentId:"jsSCnAypzh29RxPH7MED73",thickness:.2,showLabel:!1,cx:0,textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],rotation:[0,0,0],cy:0,lineColor:"black",roofType:"Gable",normal:[0,0,1],type:"Roof",selected:!1,wallsId:["6QCJ15fiFxBVfmQVYdq3Tt"],ly:0,ridgeRightPoint:[.5,1],cz:0,lineWidth:.2,foundationId:"jsSCnAypzh29RxPH7MED73",rise:0,ceiling:!1},{locked:!1,ly:.3,lz:11,rightRoofHeight:11,textureType:"Wall Texture Default",cy:1.3672430244223936,cz:0,selected:!1,roofId:"vSTpyGi1WSV73vjm9ifaVF",type:"Wall",color:"white",leftRoofHeight:11,rightJoints:["6h7WjPWFBQymjBKRVYEU1F"],relativeAngle:3.1415926535897927,normal:[0,0,1],foundationId:"tL1dWhNk5SYJrYMJekBQPT",leftPoint:[3.0949416757515893,1.3672430244223912,0],parentId:"tL1dWhNk5SYJrYMJekBQPT",rotation:[0,0,-.41015237421866746],leftJoints:["884js7wUi92VZEx6c9MoMb"],lx:6.167453096699541,id:"sjiccDfBPmjs7njCd2f7Zn",rightPoint:[-3.072511420947951,1.3672430244223959,0],cx:.01121512740181907,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,type:"Wall",ly:.3,textureType:"Wall Texture Default",foundationId:"tL1dWhNk5SYJrYMJekBQPT",leftJoints:["bbdCECR63r6BPqRgAaaEkx"],rotation:[0,0,-.41015237421866746],centerRoofHeight:[-.5,11],cz:0,roofId:"vSTpyGi1WSV73vjm9ifaVF",rightPoint:[3.0949416757515893,1.3672430244223912,0],leftPoint:[3.094941675751588,-5.795230412406128,0],cx:3.0949416757515884,rightRoofHeight:11,rightJoints:["sjiccDfBPmjs7njCd2f7Zn"],color:"white",normal:[0,0,1],leftRoofHeight:11,parentId:"tL1dWhNk5SYJrYMJekBQPT",relativeAngle:1.5707963267948963,selected:!1,id:"884js7wUi92VZEx6c9MoMb",cy:-2.2139936939918683,lz:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightPoint:[3.094941675751588,-5.795230412406128,0],leftRoofHeight:11,selected:!1,id:"bbdCECR63r6BPqRgAaaEkx",rightJoints:["884js7wUi92VZEx6c9MoMb"],rightRoofHeight:11,cx:.011215127401820624,parentId:"tL1dWhNk5SYJrYMJekBQPT",relativeAngle:0,cz:0,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",cy:-5.795230412406128,color:"white",lz:11,leftJoints:["6h7WjPWFBQymjBKRVYEU1F"],locked:!1,roofId:"vSTpyGi1WSV73vjm9ifaVF",type:"Wall",leftPoint:[-3.0725114209479467,-5.795230412406128,0],foundationId:"tL1dWhNk5SYJrYMJekBQPT",lx:6.167453096699535,normal:[0,0,1],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightPoint:[-3.0725114209479467,-5.795230412406128,0],locked:!1,rightRoofHeight:11,normal:[0,0,1],selected:!1,relativeAngle:-1.570796326794896,color:"white",lx:7.162473436828524,type:"Wall",rotation:[0,0,-.41015237421866746],cx:-3.072511420947949,leftPoint:[-3.072511420947951,1.3672430244223959,0],ly:.3,foundationId:"tL1dWhNk5SYJrYMJekBQPT",textureType:"Wall Texture Default",id:"6h7WjPWFBQymjBKRVYEU1F",cz:0,centerRoofHeight:[.5,11],lz:11,leftRoofHeight:11,rightJoints:["bbdCECR63r6BPqRgAaaEkx"],parentId:"tL1dWhNk5SYJrYMJekBQPT",cy:-2.213993693991866,roofId:"vSTpyGi1WSV73vjm9ifaVF",leftJoints:["sjiccDfBPmjs7njCd2f7Zn"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{foundationId:"tL1dWhNk5SYJrYMJekBQPT",cz:0,textureType:"No Roof Texture",lz:0,lx:0,ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rotation:[0,0,0],cy:0,type:"Roof",selected:!1,cx:0,ly:0,thickness:.2,wallsId:["sjiccDfBPmjs7njCd2f7Zn"],id:"vSTpyGi1WSV73vjm9ifaVF",parentId:"tL1dWhNk5SYJrYMJekBQPT",color:"#ffffff",roofType:"Gable",locked:!1,normal:[0,0,1],rise:0,ceiling:!1},{cy:-47.30267633910208,color:"#808080",rotation:[0,0,-.41015237421866746],parentId:"Ground",cx:33.062760716057014,lz:1,solarUpdraftTower:{},ly:12.02473099186649,solarAbsorberPipe:{},normal:[0,0,1],lx:6.9193101388799265,locked:!1,selected:!1,cz:.5,id:"tL1dWhNk5SYJrYMJekBQPT",solarPowerTower:{},type:"Foundation"},{textureType:"Wall Texture Default",normal:[0,0,1],locked:!1,cz:0,lz:11,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"fHceZhM7YfHkRpJA2Esq6q",leftJoints:["bsAJpLn9jN322sM8DpUqNT"],color:"white",rightRoofHeight:11,rightJoints:["9zXV5uFN4dSMYxBWBituAB"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",relativeAngle:3.1415926535897927,roofId:"uKCQp7m7UvcYMBhFBR8GT7",cx:.01121512740181907,lx:6.167453096699541,leftRoofHeight:11,leftPoint:[3.0949416757515893,1.3672430244223912,0],rightPoint:[-3.072511420947951,1.3672430244223959,0],id:"jDBrbsB7AgYxXtiw7hRkBD",selected:!1,cy:1.3672430244223936,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cx:3.0949416757515884,relativeAngle:1.5707963267948963,centerRoofHeight:[-.5,11],parentId:"fHceZhM7YfHkRpJA2Esq6q",cy:-2.2139936939918683,normal:[0,0,1],rightPoint:[3.0949416757515893,1.3672430244223912,0],color:"white",textureType:"Wall Texture Default",roofId:"uKCQp7m7UvcYMBhFBR8GT7",leftPoint:[3.094941675751588,-5.795230412406128,0],ly:.3,leftJoints:["qjfMazdqWCR3Emu8xMPVFZ"],lx:7.1624734368285194,foundationId:"fHceZhM7YfHkRpJA2Esq6q",selected:!1,rightRoofHeight:11,locked:!1,leftRoofHeight:11,rotation:[0,0,-.41015237421866746],rightJoints:["jDBrbsB7AgYxXtiw7hRkBD"],lz:11,cz:0,type:"Wall",id:"bsAJpLn9jN322sM8DpUqNT",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:6.167453096699535,leftJoints:["9zXV5uFN4dSMYxBWBituAB"],relativeAngle:0,color:"white",rightRoofHeight:11,normal:[0,0,1],id:"qjfMazdqWCR3Emu8xMPVFZ",ly:.3,lz:11,cx:.011215127401820624,rightPoint:[3.094941675751588,-5.795230412406128,0],roofId:"uKCQp7m7UvcYMBhFBR8GT7",textureType:"Wall Texture Default",type:"Wall",selected:!1,cy:-5.795230412406128,parentId:"fHceZhM7YfHkRpJA2Esq6q",leftRoofHeight:11,locked:!1,leftPoint:[-3.0725114209479467,-5.795230412406128,0],rotation:[0,0,-.41015237421866746],cz:0,rightJoints:["bsAJpLn9jN322sM8DpUqNT"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cy:-2.213993693991866,parentId:"fHceZhM7YfHkRpJA2Esq6q",rightPoint:[-3.0725114209479467,-5.795230412406128,0],id:"9zXV5uFN4dSMYxBWBituAB",leftPoint:[-3.072511420947951,1.3672430244223959,0],lx:7.162473436828524,locked:!1,rightJoints:["qjfMazdqWCR3Emu8xMPVFZ"],centerRoofHeight:[.5,11],selected:!1,color:"white",textureType:"Wall Texture Default",cz:0,leftRoofHeight:11,cx:-3.072511420947949,leftJoints:["jDBrbsB7AgYxXtiw7hRkBD"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",ly:.3,roofId:"uKCQp7m7UvcYMBhFBR8GT7",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rightRoofHeight:11,lz:11,type:"Wall",relativeAngle:-1.570796326794896,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,cz:0,thickness:.2,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],ly:0,selected:!1,parentId:"fHceZhM7YfHkRpJA2Esq6q",wallsId:["jDBrbsB7AgYxXtiw7hRkBD"],textureType:"No Roof Texture",foundationId:"fHceZhM7YfHkRpJA2Esq6q",cy:0,roofType:"Gable",id:"uKCQp7m7UvcYMBhFBR8GT7",color:"#ffffff",type:"Roof",locked:!1,cx:0,rotation:[0,0,0],lz:0,normal:[0,0,1],rise:0,ceiling:!1},{type:"Foundation",selected:!1,cz:.5,lx:6.9193101388799265,parentId:"Ground",cx:25.793727800925453,solarPowerTower:{},ly:12.02473099186649,color:"#808080",solarUpdraftTower:{},lz:1,solarAbsorberPipe:{},id:"fHceZhM7YfHkRpJA2Esq6q",normal:[0,0,1],rotation:[0,0,-.41015237421866746],cy:-44.150742219854976,locked:!1},{id:"eDUMHr2NcH2Gn7xk4o7aw9",cy:1.3672430244223936,textureType:"Wall Texture Default",lx:6.167453096699541,relativeAngle:3.1415926535897927,rotation:[0,0,2.731440279371126],rightJoints:["dBRLXzBSe497rzH2ZCcM82"],roofId:"4m5SMiyzXUqv7MDwHxMrqg",type:"Wall",normal:[0,0,1],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",lz:11,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",rightRoofHeight:11,cz:0,ly:.3,cx:.01121512740181907,leftRoofHeight:11,rightPoint:[-3.072511420947951,1.3672430244223959,0],color:"white",leftJoints:["6ev87RFfruvs5gvArbaReo"],selected:!1,leftPoint:[3.0949416757515893,1.3672430244223912,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,cy:-2.2139936939918683,normal:[0,0,1],rightJoints:["eDUMHr2NcH2Gn7xk4o7aw9"],rightPoint:[3.0949416757515893,1.3672430244223912,0],rotation:[0,0,2.731440279371126],relativeAngle:1.5707963267948963,lz:11,selected:!1,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",type:"Wall",roofId:"4m5SMiyzXUqv7MDwHxMrqg",leftJoints:["wYP5AC8pKwpu2zvkHKJuyw"],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",centerRoofHeight:[-.5,11],color:"white",textureType:"Wall Texture Default",leftRoofHeight:11,cx:3.0949416757515884,cz:0,leftPoint:[3.094941675751588,-5.795230412406128,0],id:"6ev87RFfruvs5gvArbaReo",ly:.3,rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cx:.011215127401820624,color:"white",parentId:"fs8r4ERWJ4tuBZW1NUtMpb",relativeAngle:0,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",id:"wYP5AC8pKwpu2zvkHKJuyw",selected:!1,lx:6.167453096699535,type:"Wall",rightPoint:[3.094941675751588,-5.795230412406128,0],lz:11,rightRoofHeight:11,normal:[0,0,1],leftRoofHeight:11,rightJoints:["6ev87RFfruvs5gvArbaReo"],cy:-5.795230412406128,rotation:[0,0,2.731440279371126],textureType:"Wall Texture Default",cz:0,roofId:"4m5SMiyzXUqv7MDwHxMrqg",leftPoint:[-3.0725114209479467,-5.795230412406128,0],leftJoints:["dBRLXzBSe497rzH2ZCcM82"],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightJoints:["wYP5AC8pKwpu2zvkHKJuyw"],textureType:"Wall Texture Default",lz:11,cy:-2.213993693991866,roofId:"4m5SMiyzXUqv7MDwHxMrqg",cz:0,rightPoint:[-3.0725114209479467,-5.795230412406128,0],ly:.3,relativeAngle:-1.570796326794896,type:"Wall",lx:7.162473436828524,rightRoofHeight:11,centerRoofHeight:[.5,11],color:"white",rotation:[0,0,2.731440279371126],foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",leftRoofHeight:11,cx:-3.072511420947949,leftPoint:[-3.072511420947951,1.3672430244223959,0],normal:[0,0,1],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",id:"dBRLXzBSe497rzH2ZCcM82",selected:!1,leftJoints:["eDUMHr2NcH2Gn7xk4o7aw9"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Roof",id:"4m5SMiyzXUqv7MDwHxMrqg",lz:0,cy:0,lx:0,ridgeRightPoint:[.5,1],normal:[0,0,1],cz:0,wallsId:["eDUMHr2NcH2Gn7xk4o7aw9"],foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",roofType:"Gable",thickness:.2,textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],selected:!1,parentId:"fs8r4ERWJ4tuBZW1NUtMpb",color:"#ffffff",ly:0,cx:0,rotation:[0,0,2.731440279371126],rise:0,ceiling:!1},{cy:-87.33804902014363,parentId:"Ground",id:"fs8r4ERWJ4tuBZW1NUtMpb",lz:1,solarAbsorberPipe:{},selected:!1,type:"Foundation",solarUpdraftTower:{},color:"#808080",cx:24.611820076821594,normal:[0,0,1],ly:12.02473099186649,rotation:[0,0,2.731440279371126],lx:6.9193101388799265,cz:.5,solarPowerTower:{}},{type:"Wall",foundationId:"jj54TnbPPLQx19RofY6bBx",color:"white",relativeAngle:3.1415926535897927,leftRoofHeight:11,textureType:"Wall Texture Default",leftPoint:[3.0949416757515893,1.3672430244223912,0],leftJoints:["a4sxwAfDyYN2ctPYayZ8Rp"],lx:6.167453096699541,rightJoints:["jpAZ9atyqHZpxDMMXDH32S"],lz:11,rightPoint:[-3.072511420947951,1.3672430244223959,0],id:"eHL2VLecmq9sobBZmGw45i",ly:.3,normal:[0,0,1],roofId:"aNwaGHwp5cd46aLgfhTdkk",rotation:[0,0,2.731440279371126],rightRoofHeight:11,cx:.01121512740181907,cz:0,selected:!1,cy:1.3672430244223936,parentId:"jj54TnbPPLQx19RofY6bBx",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{textureType:"Wall Texture Default",normal:[0,0,1],centerRoofHeight:[-.5,11],parentId:"jj54TnbPPLQx19RofY6bBx",cz:0,leftRoofHeight:11,rotation:[0,0,2.731440279371126],selected:!1,id:"a4sxwAfDyYN2ctPYayZ8Rp",foundationId:"jj54TnbPPLQx19RofY6bBx",ly:.3,leftJoints:["ntgMQTFPjEa6eGdeyqZWjE"],cy:-2.2139936939918683,rightPoint:[3.0949416757515893,1.3672430244223912,0],roofId:"aNwaGHwp5cd46aLgfhTdkk",lz:11,color:"white",lx:7.1624734368285194,cx:3.0949416757515884,leftPoint:[3.094941675751588,-5.795230412406128,0],rightRoofHeight:11,rightJoints:["eHL2VLecmq9sobBZmGw45i"],relativeAngle:1.5707963267948963,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftPoint:[-3.0725114209479467,-5.795230412406128,0],type:"Wall",rightPoint:[3.094941675751588,-5.795230412406128,0],roofId:"aNwaGHwp5cd46aLgfhTdkk",lz:11,rotation:[0,0,2.731440279371126],rightJoints:["a4sxwAfDyYN2ctPYayZ8Rp"],leftRoofHeight:11,cy:-5.795230412406128,leftJoints:["jpAZ9atyqHZpxDMMXDH32S"],cz:0,relativeAngle:0,foundationId:"jj54TnbPPLQx19RofY6bBx",color:"white",cx:.011215127401820624,normal:[0,0,1],rightRoofHeight:11,ly:.3,lx:6.167453096699535,selected:!1,textureType:"Wall Texture Default",id:"ntgMQTFPjEa6eGdeyqZWjE",parentId:"jj54TnbPPLQx19RofY6bBx",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{color:"white",rightJoints:["ntgMQTFPjEa6eGdeyqZWjE"],ly:.3,type:"Wall",cy:-2.213993693991866,selected:!1,rotation:[0,0,2.731440279371126],normal:[0,0,1],lz:11,leftRoofHeight:11,textureType:"Wall Texture Default",leftJoints:["eHL2VLecmq9sobBZmGw45i"],roofId:"aNwaGHwp5cd46aLgfhTdkk",centerRoofHeight:[.5,11],rightRoofHeight:11,id:"jpAZ9atyqHZpxDMMXDH32S",leftPoint:[-3.072511420947951,1.3672430244223959,0],relativeAngle:-1.570796326794896,foundationId:"jj54TnbPPLQx19RofY6bBx",rightPoint:[-3.0725114209479467,-5.795230412406128,0],parentId:"jj54TnbPPLQx19RofY6bBx",cz:0,cx:-3.072511420947949,lx:7.162473436828524,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,color:"#ffffff",normal:[0,0,1],thickness:.2,wallsId:["eHL2VLecmq9sobBZmGw45i"],ridgeRightPoint:[.5,1],textureType:"No Roof Texture",cy:0,foundationId:"jj54TnbPPLQx19RofY6bBx",cx:0,ridgeLeftPoint:[-.5,1],rotation:[0,0,2.731440279371126],selected:!1,id:"aNwaGHwp5cd46aLgfhTdkk",parentId:"jj54TnbPPLQx19RofY6bBx",roofType:"Gable",lz:0,ly:0,type:"Roof",cz:0,rise:0,ceiling:!1},{color:"#808080",selected:!1,lx:6.9193101388799265,lz:1,type:"Foundation",cz:.5,solarPowerTower:{},solarUpdraftTower:{},ly:12.02473099186649,parentId:"Ground",normal:[0,0,1],solarAbsorberPipe:{},cy:-83.96400506720003,id:"jj54TnbPPLQx19RofY6bBx",rotation:[0,0,2.731440279371126],cx:16.965503952859194},{color:"white",leftJoints:["1grZuTdR63nsQE356nWnzd"],type:"Wall",ly:.3,rightJoints:["273cTJKK381CJaxKCfBNJW"],cz:0,roofId:"5kL2iBLvr52ipCNA3bs5cq",rightPoint:[-3.072511420947951,1.3672430244223959,0],rotation:[0,0,2.731440279371126],lz:11,lx:6.167453096699541,parentId:"7sPS9WfdHAu8wqjpcnPHgs",leftRoofHeight:11,cy:1.3672430244223936,textureType:"Wall Texture Default",normal:[0,0,1],relativeAngle:3.1415926535897927,foundationId:"7sPS9WfdHAu8wqjpcnPHgs",selected:!1,cx:.01121512740181907,leftPoint:[3.0949416757515893,1.3672430244223912,0],rightRoofHeight:11,id:"qgRfDLTUB6zC4mGwstgdHV",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{relativeAngle:1.5707963267948963,rightJoints:["qgRfDLTUB6zC4mGwstgdHV"],leftJoints:["s1pLuQJKHQfm1KbkXQK17L"],color:"white",rightRoofHeight:11,ly:.3,leftRoofHeight:11,lz:11,id:"1grZuTdR63nsQE356nWnzd",parentId:"7sPS9WfdHAu8wqjpcnPHgs",roofId:"5kL2iBLvr52ipCNA3bs5cq",normal:[0,0,1],lx:7.1624734368285194,leftPoint:[3.094941675751588,-5.795230412406128,0],centerRoofHeight:[-.5,11],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",cz:0,textureType:"Wall Texture Default",rotation:[0,0,2.731440279371126],type:"Wall",selected:!1,rightPoint:[3.0949416757515893,1.3672430244223912,0],cy:-2.2139936939918683,cx:3.0949416757515884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,color:"white",cx:.011215127401820624,normal:[0,0,1],textureType:"Wall Texture Default",cz:0,type:"Wall",ly:.3,lz:11,rightJoints:["1grZuTdR63nsQE356nWnzd"],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",rotation:[0,0,2.731440279371126],cy:-5.795230412406128,leftPoint:[-3.0725114209479467,-5.795230412406128,0],rightRoofHeight:11,parentId:"7sPS9WfdHAu8wqjpcnPHgs",lx:6.167453096699535,leftRoofHeight:11,roofId:"5kL2iBLvr52ipCNA3bs5cq",rightPoint:[3.094941675751588,-5.795230412406128,0],leftJoints:["273cTJKK381CJaxKCfBNJW"],id:"s1pLuQJKHQfm1KbkXQK17L",relativeAngle:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,rightPoint:[-3.0725114209479467,-5.795230412406128,0],normal:[0,0,1],type:"Wall",rotation:[0,0,2.731440279371126],textureType:"Wall Texture Default",lx:7.162473436828524,selected:!1,cx:-3.072511420947949,relativeAngle:-1.570796326794896,parentId:"7sPS9WfdHAu8wqjpcnPHgs",cy:-2.213993693991866,cz:0,color:"white",foundationId:"7sPS9WfdHAu8wqjpcnPHgs",id:"273cTJKK381CJaxKCfBNJW",rightJoints:["s1pLuQJKHQfm1KbkXQK17L"],rightRoofHeight:11,leftRoofHeight:11,leftPoint:[-3.072511420947951,1.3672430244223959,0],ly:.3,roofId:"5kL2iBLvr52ipCNA3bs5cq",centerRoofHeight:[.5,11],leftJoints:["qgRfDLTUB6zC4mGwstgdHV"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,ridgeRightPoint:[.5,1],type:"Roof",cx:0,wallsId:["qgRfDLTUB6zC4mGwstgdHV"],ly:0,cz:0,thickness:.2,normal:[0,0,1],rotation:[0,0,2.731440279371126],color:"#ffffff",lx:0,roofType:"Gable",lz:0,textureType:"No Roof Texture",cy:0,id:"5kL2iBLvr52ipCNA3bs5cq",parentId:"7sPS9WfdHAu8wqjpcnPHgs",ridgeLeftPoint:[-.5,1],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",rise:0,ceiling:!1},{selected:!1,ly:12.02473099186649,parentId:"Ground",cx:8.897542847512511,lz:1,solarPowerTower:{},rotation:[0,0,2.731440279371126],solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",normal:[0,0,1],cz:.5,cy:-80.50493585333112,type:"Foundation",id:"7sPS9WfdHAu8wqjpcnPHgs",lx:6.9193101388799265},{wallsId:["3JjPc2Pp9fAroM9UdivE1u"],lx:0,color:"#ffffff",rotation:[0,0,0],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",showLabel:!1,textureType:"No Roof Texture",lz:0,id:"qYDMJTekV8NWHzzCiVYwcs",type:"Roof",ridgeRightPoint:[0,1],normal:[0,0,1],lineColor:"black",roofType:"Gable",cx:0,thickness:.2,cy:0,parentId:"a7Ykq8sCMoZy5zM2ybNhKs",ly:0,ridgeLeftPoint:[0,1],cz:0,selected:!1,lineWidth:.2,rise:.9752174096903712,ceiling:!1},{lx:9.337227070632437,rightPoint:[-4.747688161235284,3.351698633040855,0],lz:5.25,rightJoints:["aS3LNujiVdR6Qawgwx71Xp"],leftJoints:["b5WAAJ2sso2rc9V8yZ7iom"],parentId:"b9sLhFsxP7jM5xLzyG2m8E",textureType:"Wall Texture Default",normal:[0,0,1],type:"Wall",leftRoofHeight:5.25,selected:!1,cz:0,relativeAngle:3.141592653589793,leftPoint:[4.589538909397152,3.3516986330408534,0],color:"white",ly:.3,rotation:[0,0,-.41015237421866746],rightRoofHeight:5.25,centerRoofHeight:[0,6.225217409690371],roofId:"e9ZJ6jf8buNcpSGMCbcrrA",cx:-.07907462591906578,cy:3.3516986330408542,foundationId:"b9sLhFsxP7jM5xLzyG2m8E",id:"bCNGD8BAzXepM4A7Cp5qfr",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,relativeAngle:1.5707963267948961,lx:6.320731749368616,color:"white",leftPoint:[4.58953890939715,-2.969033116327763,0],cy:.19133275835654517,ly:.3,id:"b5WAAJ2sso2rc9V8yZ7iom",normal:[0,0,1],type:"Wall",foundationId:"b9sLhFsxP7jM5xLzyG2m8E",rightPoint:[4.589538909397152,3.3516986330408534,0],rotation:[0,0,-.41015237421866746],rightJoints:["bCNGD8BAzXepM4A7Cp5qfr"],lz:5.25,leftJoints:["9sNfcLVjGqnn14Dpdib7wD"],rightRoofHeight:5.25,roofId:"e9ZJ6jf8buNcpSGMCbcrrA",textureType:"Wall Texture Default",selected:!1,parentId:"b9sLhFsxP7jM5xLzyG2m8E",cz:0,cx:4.589538909397151,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rightPoint:[4.58953890939715,-2.969033116327763,0],rotation:[0,0,-.41015237421866746],ly:.3,lx:9.337227070632434,cy:-2.969033116327763,type:"Wall",lz:5.25,leftRoofHeight:5.25,roofId:"e9ZJ6jf8buNcpSGMCbcrrA",leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"9sNfcLVjGqnn14Dpdib7wD",centerRoofHeight:[0,6.225217409690371],foundationId:"b9sLhFsxP7jM5xLzyG2m8E",selected:!1,textureType:"Wall Texture Default",cx:-.07907462591906667,parentId:"b9sLhFsxP7jM5xLzyG2m8E",cz:0,relativeAngle:-4756114491922529e-32,leftJoints:["aS3LNujiVdR6Qawgwx71Xp"],rightJoints:["b5WAAJ2sso2rc9V8yZ7iom"],color:"white",rightRoofHeight:5.25,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,selected:!1,textureType:"Wall Texture Default",roofId:"e9ZJ6jf8buNcpSGMCbcrrA",rightPoint:[-4.747688161235283,-2.9690331163277626,0],relativeAngle:-1.5707963267948966,rightRoofHeight:5.25,foundationId:"b9sLhFsxP7jM5xLzyG2m8E",lx:6.320731749368617,color:"white",rightJoints:["9sNfcLVjGqnn14Dpdib7wD"],parentId:"b9sLhFsxP7jM5xLzyG2m8E",id:"aS3LNujiVdR6Qawgwx71Xp",type:"Wall",normal:[0,0,1],leftPoint:[-4.747688161235284,3.351698633040855,0],rotation:[0,0,-.41015237421866746],leftJoints:["bCNGD8BAzXepM4A7Cp5qfr"],cz:0,ly:.3,cy:.19133275835654628,cx:-4.747688161235283,lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{parentId:"b9sLhFsxP7jM5xLzyG2m8E",thickness:.2,ly:0,roofType:"Gable",normal:[0,0,1],wallsId:["b5WAAJ2sso2rc9V8yZ7iom"],cy:0,cz:0,id:"e9ZJ6jf8buNcpSGMCbcrrA",ridgeRightPoint:[0,1],foundationId:"b9sLhFsxP7jM5xLzyG2m8E",ridgeLeftPoint:[0,1],cx:0,rotation:[0,0,0],selected:!1,textureType:"No Roof Texture",type:"Roof",color:"#ffffff",lz:0,lx:0,rise:.9752174096903712,ceiling:!1},{selected:!1,solarUpdraftTower:{},lz:1,rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},lx:10.667610013832563,solarAbsorberPipe:{},color:"#808080",ly:10.658064363814518,cz:.5,type:"Foundation",cx:15.65777292096255,id:"b9sLhFsxP7jM5xLzyG2m8E",cy:-23.209117764580718,parentId:"Ground"},{lz:5.25,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightPoint:[-4.747688161235284,3.351698633040855,0],leftPoint:[4.589538909397152,3.3516986330408534,0],parentId:"gcZv1t7Cby2WKRNnett3ui",relativeAngle:3.141592653589793,cz:0,leftJoints:["aTEF4j2yHMBMrPfT9T9EdT"],rightRoofHeight:5.25,selected:!1,ly:.3,type:"Wall",lx:9.337227070632437,cy:3.3516986330408542,textureType:"Wall Texture Default",cx:-.07907462591906578,centerRoofHeight:[0,6.225217409690371],color:"white",id:"9dJMCWVZ7AkDBVYRwiBuju",leftRoofHeight:5.25,rightJoints:["q6CqZkkwBK9C5a7FRZGdjh"],normal:[0,0,1],rotation:[0,0,2.731440279371126],roofId:"jRbh8euqUSp75DJHpm8gNn",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{normal:[0,0,1],relativeAngle:1.5707963267948961,rightRoofHeight:5.25,rightJoints:["9dJMCWVZ7AkDBVYRwiBuju"],ly:.3,rightPoint:[4.589538909397152,3.3516986330408534,0],leftRoofHeight:5.25,leftJoints:["hKTWU47gri3P24HLwd9scm"],color:"white",lx:6.320731749368616,selected:!1,rotation:[0,0,2.731440279371126],cy:.19133275835654517,cz:0,parentId:"gcZv1t7Cby2WKRNnett3ui",roofId:"jRbh8euqUSp75DJHpm8gNn",textureType:"Wall Texture Default",foundationId:"gcZv1t7Cby2WKRNnett3ui",cx:4.589538909397151,leftPoint:[4.58953890939715,-2.969033116327763,0],id:"aTEF4j2yHMBMrPfT9T9EdT",type:"Wall",lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cz:0,lx:9.337227070632434,relativeAngle:-4756114491922529e-32,rightJoints:["aTEF4j2yHMBMrPfT9T9EdT"],leftRoofHeight:5.25,parentId:"gcZv1t7Cby2WKRNnett3ui",rotation:[0,0,2.731440279371126],cy:-2.969033116327763,textureType:"Wall Texture Default",centerRoofHeight:[0,6.225217409690371],cx:-.07907462591906667,leftJoints:["q6CqZkkwBK9C5a7FRZGdjh"],roofId:"jRbh8euqUSp75DJHpm8gNn",color:"white",rightPoint:[4.58953890939715,-2.969033116327763,0],leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"hKTWU47gri3P24HLwd9scm",selected:!1,ly:.3,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightRoofHeight:5.25,normal:[0,0,1],type:"Wall",lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rightJoints:["hKTWU47gri3P24HLwd9scm"],textureType:"Wall Texture Default",roofId:"jRbh8euqUSp75DJHpm8gNn",id:"q6CqZkkwBK9C5a7FRZGdjh",lx:6.320731749368617,selected:!1,rotation:[0,0,2.731440279371126],ly:.3,cz:0,cy:.19133275835654628,rightRoofHeight:5.25,color:"white",normal:[0,0,1],leftJoints:["9dJMCWVZ7AkDBVYRwiBuju"],leftRoofHeight:5.25,relativeAngle:-1.5707963267948966,lz:5.25,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightPoint:[-4.747688161235283,-2.9690331163277626,0],type:"Wall",cx:-4.747688161235283,leftPoint:[-4.747688161235284,3.351698633040855,0],parentId:"gcZv1t7Cby2WKRNnett3ui",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{wallsId:["aTEF4j2yHMBMrPfT9T9EdT"],cy:0,selected:!1,roofType:"Gable",textureType:"No Roof Texture",cx:0,color:"#ffffff",ridgeLeftPoint:[0,1],lz:0,rotation:[0,0,2.731440279371126],lx:0,parentId:"gcZv1t7Cby2WKRNnett3ui",thickness:.2,foundationId:"gcZv1t7Cby2WKRNnett3ui",normal:[0,0,1],ridgeRightPoint:[0,1],ly:0,id:"jRbh8euqUSp75DJHpm8gNn",cz:0,type:"Roof",rise:.9752174096903712,ceiling:!1},{solarAbsorberPipe:{},id:"gcZv1t7Cby2WKRNnett3ui",rotation:[0,0,2.731440279371126],parentId:"Ground",normal:[0,0,1],color:"#808080",cx:23.588922199683385,cy:-4.2358171284989465,ly:10.658064363814518,type:"Foundation",lz:1,solarPowerTower:{},cz:.5,solarUpdraftTower:{},selected:!1,lx:10.667610013832563},{roofId:"dzARxJ53WwFwsNrhuBLzWG",ly:.3,selected:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,2.731440279371126],rightRoofHeight:5.25,lx:9.337227070632437,lz:5.25,id:"uBjSfWV5MAS9vnKb4XPdfP",relativeAngle:3.141592653589793,centerRoofHeight:[0,6.225217409690371],cy:3.3516986330408542,rightPoint:[-4.747688161235284,3.351698633040855,0],rightJoints:["uR2W8UpidEKJWdspykk1aw"],foundationId:"ceA38nUA7SQynuTCNKi2BV",textureType:"Wall Texture Default",parentId:"ceA38nUA7SQynuTCNKi2BV",cx:-.07907462591906578,color:"white",leftPoint:[4.589538909397152,3.3516986330408534,0],leftRoofHeight:5.25,leftJoints:["paBZJ3XFdCVFNJ8PkS5wvw"],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cy:.19133275835654517,foundationId:"ceA38nUA7SQynuTCNKi2BV",relativeAngle:1.5707963267948961,leftRoofHeight:5.25,rightPoint:[4.589538909397152,3.3516986330408534,0],ly:.3,textureType:"Wall Texture Default",rotation:[0,0,2.731440279371126],cx:4.589538909397151,lx:6.320731749368616,normal:[0,0,1],leftPoint:[4.58953890939715,-2.969033116327763,0],lz:5.25,rightRoofHeight:5.25,cz:0,parentId:"ceA38nUA7SQynuTCNKi2BV",roofId:"dzARxJ53WwFwsNrhuBLzWG",rightJoints:["uBjSfWV5MAS9vnKb4XPdfP"],leftJoints:["hwrPdC7kZvm4PMhTtpv3Cf"],selected:!1,color:"white",type:"Wall",id:"paBZJ3XFdCVFNJ8PkS5wvw",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cz:0,selected:!1,ly:.3,id:"hwrPdC7kZvm4PMhTtpv3Cf",leftRoofHeight:5.25,leftJoints:["uR2W8UpidEKJWdspykk1aw"],rightPoint:[4.58953890939715,-2.969033116327763,0],rightRoofHeight:5.25,cy:-2.969033116327763,lx:9.337227070632434,color:"white",normal:[0,0,1],textureType:"Wall Texture Default",type:"Wall",cx:-.07907462591906667,rotation:[0,0,2.731440279371126],parentId:"ceA38nUA7SQynuTCNKi2BV",relativeAngle:-4756114491922529e-32,roofId:"dzARxJ53WwFwsNrhuBLzWG",leftPoint:[-4.747688161235283,-2.9690331163277626,0],lz:5.25,foundationId:"ceA38nUA7SQynuTCNKi2BV",centerRoofHeight:[0,6.225217409690371],rightJoints:["paBZJ3XFdCVFNJ8PkS5wvw"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,type:"Wall",roofId:"dzARxJ53WwFwsNrhuBLzWG",leftJoints:["uBjSfWV5MAS9vnKb4XPdfP"],leftPoint:[-4.747688161235284,3.351698633040855,0],rightJoints:["hwrPdC7kZvm4PMhTtpv3Cf"],normal:[0,0,1],foundationId:"ceA38nUA7SQynuTCNKi2BV",selected:!1,id:"uR2W8UpidEKJWdspykk1aw",parentId:"ceA38nUA7SQynuTCNKi2BV",rotation:[0,0,2.731440279371126],cy:.19133275835654628,textureType:"Wall Texture Default",ly:.3,lx:6.320731749368617,cx:-4.747688161235283,color:"white",lz:5.25,relativeAngle:-1.5707963267948966,rightRoofHeight:5.25,rightPoint:[-4.747688161235283,-2.9690331163277626,0],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{type:"Roof",normal:[0,0,1],cx:0,rotation:[0,0,2.731440279371126],foundationId:"ceA38nUA7SQynuTCNKi2BV",lx:0,parentId:"ceA38nUA7SQynuTCNKi2BV",ridgeRightPoint:[0,1],color:"#ffffff",ly:0,selected:!1,thickness:.2,roofType:"Gable",cz:0,id:"dzARxJ53WwFwsNrhuBLzWG",textureType:"No Roof Texture",wallsId:["paBZJ3XFdCVFNJ8PkS5wvw"],lz:0,ridgeLeftPoint:[0,1],cy:0,rise:.9752174096903712,ceiling:!1},{rotation:[0,0,2.731440279371126],solarPowerTower:{},selected:!1,type:"Foundation",ly:10.658064363814518,normal:[0,0,1],solarUpdraftTower:{},cy:-13.20207722402062,solarAbsorberPipe:{},cx:44.31026086081932,color:"#808080",cz:.5,lx:10.667610013832563,id:"ceA38nUA7SQynuTCNKi2BV",parentId:"Ground",lz:1},{rightRoofHeight:11,foundationId:"88UbNAdWUbzJHGAmrqJWPn",rightJoints:["mqAaf5QtrdpibBSarUk9qt"],relativeAngle:-3.1415926535897927,textureType:"Wall Texture Default",type:"Wall",lz:11,color:"white",cx:.03303730701620822,id:"ovU5BwtCwgHA5UHHhibxpu",roofId:"wSxYARgs9umEJRG8XyZbKH",leftPoint:[3.0844752908601185,3.4313212286858272,0],selected:!1,parentId:"88UbNAdWUbzJHGAmrqJWPn",ly:.3,leftRoofHeight:11,leftJoints:["bWeTZ14zUp93sauz9hT9ba"],rotation:[0,0,-.41015237421866746],lx:6.102875967687821,normal:[0,0,1],rightPoint:[-3.018400676827702,3.431321228685824,0],cy:3.4313212286858255,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,rightJoints:["ovU5BwtCwgHA5UHHhibxpu"],color:"white",foundationId:"88UbNAdWUbzJHGAmrqJWPn",parentId:"88UbNAdWUbzJHGAmrqJWPn",relativeAngle:1.5707963267948963,rightPoint:[3.0844752908601185,3.4313212286858272,0],textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],cy:-1.4345548840225932,roofId:"wSxYARgs9umEJRG8XyZbKH",type:"Wall",leftJoints:["8kMoucgjs3KynPyoZExz4J"],ly:.3,rightRoofHeight:11,leftRoofHeight:11,lx:9.731752225416841,leftPoint:[3.0844752908601167,-6.300430996731014,0],selected:!1,cz:0,normal:[0,0,1],id:"bWeTZ14zUp93sauz9hT9ba",cx:3.0844752908601176,centerRoofHeight:[-.5,11],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cy:-6.300430996731012,cx:.03303730701620533,leftRoofHeight:11,relativeAngle:-5821376180034847e-31,selected:!1,rotation:[0,0,-.41015237421866746],leftJoints:["mqAaf5QtrdpibBSarUk9qt"],leftPoint:[-3.018400676827706,-6.30043099673101,0],foundationId:"88UbNAdWUbzJHGAmrqJWPn",id:"8kMoucgjs3KynPyoZExz4J",type:"Wall",rightPoint:[3.0844752908601167,-6.300430996731014,0],normal:[0,0,1],textureType:"Wall Texture Default",color:"white",roofId:"wSxYARgs9umEJRG8XyZbKH",cz:0,lx:6.102875967687822,rightJoints:["bWeTZ14zUp93sauz9hT9ba"],parentId:"88UbNAdWUbzJHGAmrqJWPn",ly:.3,lz:11,rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,rightPoint:[-3.018400676827706,-6.30043099673101,0],id:"mqAaf5QtrdpibBSarUk9qt",centerRoofHeight:[.5,11],leftPoint:[-3.018400676827702,3.431321228685824,0],rotation:[0,0,-.41015237421866746],cy:-1.434554884022593,rightRoofHeight:11,color:"white",foundationId:"88UbNAdWUbzJHGAmrqJWPn",cz:0,textureType:"Wall Texture Default",normal:[0,0,1],rightJoints:["8kMoucgjs3KynPyoZExz4J"],lz:11,leftRoofHeight:11,ly:.3,roofId:"wSxYARgs9umEJRG8XyZbKH",parentId:"88UbNAdWUbzJHGAmrqJWPn",cx:-3.018400676827704,lx:9.731752225416834,type:"Wall",relativeAngle:-1.5707963267948972,leftJoints:["ovU5BwtCwgHA5UHHhibxpu"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,cx:0,wallsId:["ovU5BwtCwgHA5UHHhibxpu"],lz:0,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],rotation:[0,0,0],ly:0,type:"Roof",normal:[0,0,1],cz:0,textureType:"No Roof Texture",id:"wSxYARgs9umEJRG8XyZbKH",selected:!1,roofType:"Gable",thickness:.2,parentId:"88UbNAdWUbzJHGAmrqJWPn",color:"#ffffff",cy:0,foundationId:"88UbNAdWUbzJHGAmrqJWPn",rise:0,ceiling:!1},{normal:[0,0,1],type:"Foundation",id:"88UbNAdWUbzJHGAmrqJWPn",solarAbsorberPipe:{},lx:7.252592961439527,cx:62.080046007118426,ly:13.304430432789896,lz:1,selected:!1,solarPowerTower:{},solarUpdraftTower:{},cy:37.19900910209601,color:"#808080",rotation:[0,0,-.41015237421866746],cz:.5,parentId:"Ground"},{rightRoofHeight:11,relativeAngle:-3.1415926535897927,selected:!1,rotation:[0,0,2.731440279371126],cz:0,leftPoint:[3.0844752908601185,3.4313212286858272,0],textureType:"Wall Texture Default",cy:3.4313212286858255,normal:[0,0,1],foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",cx:.03303730701620822,type:"Wall",rightJoints:["rYV5p6RL3LBPRMKrDscX3e"],id:"dat7BcuHkXNM7uDy6XoM77",parentId:"3GmVD3k9gEdK1KyAQNL7Qd",leftJoints:["imJTFiGu5qfL7Sh3jfMjyP"],rightPoint:[-3.018400676827702,3.431321228685824,0],leftRoofHeight:11,lx:6.102875967687821,ly:.3,lz:11,roofId:"vqk2MvDnMGXjNatJWKEZ3Q",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{centerRoofHeight:[-.5,11],lz:11,rightPoint:[3.0844752908601185,3.4313212286858272,0],lx:9.731752225416841,rightJoints:["dat7BcuHkXNM7uDy6XoM77"],id:"imJTFiGu5qfL7Sh3jfMjyP",ly:.3,leftJoints:["rmxwktmu6mngA8cW2oTqim"],textureType:"Wall Texture Default",cz:0,selected:!1,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",leftPoint:[3.0844752908601167,-6.300430996731014,0],type:"Wall",cy:-1.4345548840225932,leftRoofHeight:11,relativeAngle:1.5707963267948963,rightRoofHeight:11,color:"white",parentId:"3GmVD3k9gEdK1KyAQNL7Qd",normal:[0,0,1],cx:3.0844752908601176,rotation:[0,0,2.731440279371126],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{normal:[0,0,1],color:"white",rightRoofHeight:11,rotation:[0,0,2.731440279371126],rightPoint:[3.0844752908601167,-6.300430996731014,0],leftPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",ly:.3,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",rightJoints:["imJTFiGu5qfL7Sh3jfMjyP"],id:"rmxwktmu6mngA8cW2oTqim",lz:11,cx:.03303730701620533,cy:-6.300430996731012,cz:0,lx:6.102875967687822,relativeAngle:-5821376180034847e-31,leftRoofHeight:11,textureType:"Wall Texture Default",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",leftJoints:["rYV5p6RL3LBPRMKrDscX3e"],type:"Wall",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftRoofHeight:11,cx:-3.018400676827704,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",cz:0,lx:9.731752225416834,normal:[0,0,1],type:"Wall",selected:!1,centerRoofHeight:[.5,11],color:"white",leftPoint:[-3.018400676827702,3.431321228685824,0],relativeAngle:-1.5707963267948972,id:"rYV5p6RL3LBPRMKrDscX3e",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",ly:.3,textureType:"Wall Texture Default",leftJoints:["dat7BcuHkXNM7uDy6XoM77"],rightPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",rightRoofHeight:11,rotation:[0,0,2.731440279371126],cy:-1.434554884022593,lz:11,rightJoints:["rmxwktmu6mngA8cW2oTqim"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{textureType:"No Roof Texture",cx:0,roofType:"Gable",lx:0,ly:0,wallsId:["dat7BcuHkXNM7uDy6XoM77"],normal:[0,0,1],color:"#ffffff",ridgeRightPoint:[.5,1],thickness:.2,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",type:"Roof",cy:0,rotation:[0,0,2.731440279371126],selected:!1,lz:0,id:"vqk2MvDnMGXjNatJWKEZ3Q",cz:0,ridgeLeftPoint:[-.5,1],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",rise:0,ceiling:!1},{color:"#808080",ly:13.304430432789896,normal:[0,0,1],lx:7.252592961439527,solarUpdraftTower:{},cy:.39963845763658945,lz:1,cx:57.679815811211355,type:"Foundation",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},id:"3GmVD3k9gEdK1KyAQNL7Qd",parentId:"Ground",cz:.5,rotation:[0,0,2.731440279371126]},{rightRoofHeight:11,lz:11,normal:[0,0,1],foundationId:"oYDvciacfdn2FyG6Pct5UQ",textureType:"Wall Texture Default",leftJoints:["uuKuNJNLJkLuMtyKwwLbpZ"],color:"white",rotation:[0,0,2.731440279371126],id:"36dnW2hrDUevTFeF7RsSFs",rightPoint:[-3.018400676827702,3.431321228685824,0],selected:!1,rightJoints:["doa2HGm3D8izkEMMPgsx7E"],cx:.03303730701620822,parentId:"oYDvciacfdn2FyG6Pct5UQ",cy:3.4313212286858255,leftPoint:[3.0844752908601185,3.4313212286858272,0],cz:0,roofId:"jTzPENUqMsb7iHTtwq7yKs",relativeAngle:-3.1415926535897927,lx:6.102875967687821,ly:.3,leftRoofHeight:11,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,relativeAngle:1.5707963267948963,foundationId:"oYDvciacfdn2FyG6Pct5UQ",normal:[0,0,1],ly:.3,parentId:"oYDvciacfdn2FyG6Pct5UQ",cx:3.0844752908601176,leftRoofHeight:11,rotation:[0,0,2.731440279371126],leftPoint:[3.0844752908601167,-6.300430996731014,0],type:"Wall",cy:-1.4345548840225932,rightPoint:[3.0844752908601185,3.4313212286858272,0],rightJoints:["36dnW2hrDUevTFeF7RsSFs"],textureType:"Wall Texture Default",lx:9.731752225416841,roofId:"jTzPENUqMsb7iHTtwq7yKs",centerRoofHeight:[-.5,11],leftJoints:["vqh1RPWSMZerDaWxLP3Y4Z"],id:"uuKuNJNLJkLuMtyKwwLbpZ",rightRoofHeight:11,selected:!1,color:"white",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",rotation:[0,0,2.731440279371126],color:"white",leftPoint:[-3.018400676827706,-6.30043099673101,0],normal:[0,0,1],parentId:"oYDvciacfdn2FyG6Pct5UQ",rightRoofHeight:11,selected:!1,leftRoofHeight:11,roofId:"jTzPENUqMsb7iHTtwq7yKs",leftJoints:["doa2HGm3D8izkEMMPgsx7E"],rightPoint:[3.0844752908601167,-6.300430996731014,0],ly:.3,textureType:"Wall Texture Default",cy:-6.300430996731012,rightJoints:["uuKuNJNLJkLuMtyKwwLbpZ"],cz:0,lz:11,relativeAngle:-5821376180034847e-31,lx:6.102875967687822,foundationId:"oYDvciacfdn2FyG6Pct5UQ",cx:.03303730701620533,id:"vqh1RPWSMZerDaWxLP3Y4Z",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,cz:0,ly:.3,type:"Wall",cx:-3.018400676827704,centerRoofHeight:[.5,11],normal:[0,0,1],lx:9.731752225416834,color:"white",relativeAngle:-1.5707963267948972,leftJoints:["36dnW2hrDUevTFeF7RsSFs"],lz:11,id:"doa2HGm3D8izkEMMPgsx7E",rightJoints:["vqh1RPWSMZerDaWxLP3Y4Z"],leftPoint:[-3.018400676827702,3.431321228685824,0],parentId:"oYDvciacfdn2FyG6Pct5UQ",leftRoofHeight:11,rightRoofHeight:11,foundationId:"oYDvciacfdn2FyG6Pct5UQ",cy:-1.434554884022593,rotation:[0,0,2.731440279371126],rightPoint:[-3.018400676827706,-6.30043099673101,0],roofId:"jTzPENUqMsb7iHTtwq7yKs",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,foundationId:"oYDvciacfdn2FyG6Pct5UQ",ridgeLeftPoint:[-.5,1],cx:0,parentId:"oYDvciacfdn2FyG6Pct5UQ",normal:[0,0,1],lz:0,wallsId:["36dnW2hrDUevTFeF7RsSFs"],ly:0,cy:0,rotation:[0,0,2.731440279371126],id:"jTzPENUqMsb7iHTtwq7yKs",color:"#ffffff",type:"Roof",roofType:"Gable",textureType:"No Roof Texture",ridgeRightPoint:[.5,1],cz:0,selected:!1,thickness:.2,rise:0,ceiling:!1},{normal:[0,0,1],cx:47.576205150745,id:"oYDvciacfdn2FyG6Pct5UQ",solarAbsorberPipe:{},cz:.5,cy:4.8155054973730085,color:"#808080",lz:1,type:"Foundation",lx:7.252592961439527,parentId:"Ground",solarUpdraftTower:{},ly:13.304430432789896,rotation:[0,0,2.731440279371126],selected:!1,solarPowerTower:{}},{normal:[0,0,1],wallsId:["1sWH6Vf283ZQdSSFT642nh","monXTa8uPTJhzhXCcFVkHQ","abgP23xfq9mn6fXM5eixEU","bBRKF8cuUabp5jr721b2aF"],roofType:"Pyramid",rotation:[0,0,0],lineWidth:.2,showLabel:!1,lz:0,lineColor:"black",id:"7MHnZ8shY1nNWWHte69oqs",cz:0,type:"Roof",textureType:"No Roof Texture",selected:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",cx:0,thickness:.2,foundationId:"jXMhg2wW7AzS5RR8DVRgQA",lx:0,ly:0,cy:0,color:"#ffffff",rise:0,ceiling:!1},{cy:0,selected:!1,wallsId:["eJ8JK9wm6JNigJXLFxHXZv","6fcDhLeskSsK9vgEVSS72V","kj6mwcCRjjAjkZKNVLpD6Q","dpZWnBXJifWNeSxPnXSh11"],cz:0,showLabel:!1,id:"5AL2YmNDuGkeP7qZ5AC7iV",foundationId:"b7G57PTXunVqeHXzCWeuRF",type:"Roof",parentId:"b7G57PTXunVqeHXzCWeuRF",roofType:"Pyramid",thickness:.2,rotation:[0,0,0],color:"#ffffff",lineColor:"black",lz:0,cx:0,textureType:"No Roof Texture",lineWidth:.2,normal:[0,0,1],ly:0,lx:0,rise:0,ceiling:!1},{cz:0,color:"#ffffff",textureType:"No Roof Texture",lz:0,rotation:[0,0,0],cx:0,normal:[0,0,1],lx:0,lineColor:"black",cy:0,roofType:"Pyramid",thickness:.2,id:"aqd47NYJ1Q6UzcCmxxcoXQ",selected:!1,wallsId:["4ocNasurxu3LhLKonWAKWR","pBQFic2TqVJyDdJyEaBVof","tq43NPQgXhkeNmwFteVBqx","w8GFYP8jB1EG2YVL6appCT"],ly:0,parentId:"jH5z454ciczrceJTNes5b4",type:"Roof",foundationId:"jH5z454ciczrceJTNes5b4",lineWidth:.2,showLabel:!1,rise:0,ceiling:!1},{rotation:[0,0,0],ly:0,textureType:"No Roof Texture",cx:0,cy:0,cz:0,showLabel:!1,normal:[0,0,1],wallsId:["9RBn6VqRCqHmHYTVsG2Hbq","snwHy88SCLUgp9tM1ts1kV","pJZasFocQxwotbLjPFqJsC","fgVtymGrmdEZZzZZ3mW69b"],lineWidth:.2,lx:0,roofType:"Pyramid",type:"Roof",foundationId:"4p3AerfQErrh3N7JyKd7PA",id:"ui47bC2XPhcG14b6RPgvMq",color:"#ffffff",parentId:"4p3AerfQErrh3N7JyKd7PA",lineColor:"black",selected:!1,thickness:.2,lz:0,rise:0,ceiling:!1}],_2n={dailyUpdraftTowerYieldPanelRect:{x:0,height:550,y:0,width:640},dailyParabolicDishYieldPanelX:0,visibilityResultsPanelY:0,showDesignInfoPanel:!0,mapPanelY:0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},showSunAngles:!1,stickyNotePanelY:0,autoRotate:!1,weatherPanelY:0,dailyLightSensorPanelRect:{y:0,height:360,width:600,x:0},groundColor:"forestgreen",enableRotate:!0,showElevationAngle:!0,yearlyPvYieldPanelY:0,panCenter2D:[68.43396623741017,108.77453989719173,1332276757861851e-20],showMapPanel:!1,heliodonPanelY:0,yearlyHeliostatYieldPanelY:0,mapPanelX:0,weatherPanelX:0,solarRadiationHeatMapMaxValue:5,dailyPvYieldPanelY:0,showInstructionPanel:!1,yearlyPvYieldPanelRect:{width:600,y:86,x:-326,height:400},yearlyLightSensorPanelShowClearness:!1,cameraZoom:25.847108697996326,showSolarPanelVisibilityResultsPanel:!1,mapType:"hybrid",showYearlyParabolicTroughYieldPanel:!1,heliodonPanelX:0,showYearlyHeliostatYieldPanel:!1,axes:!0,showDailyHeliostatYieldPanel:!1,yearlyFresnelReflectorYieldPanelRect:{width:600,y:0,x:0,height:400},showHeliodonPanel:!1,dailyLightSensorPanelX:0,dailyFresnelReflectorYieldPanelY:0,yearlyPvYieldPanelX:0,showZenithAngle:!0,heliodon:!1,dailyHeliostatYieldPanelX:0,orthographic:!1,showDailyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{y:0,width:236,x:0,height:87},yearlyLightSensorPanelY:0,groundImage:!0,yearlyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showWeatherPanel:!1,yearlyParabolicTroughYieldPanelY:0,dailyPvYieldPanelX:0,showYearlyPvYieldPanel:!1,dailyFresnelReflectorYieldPanelX:0,weatherPanelRect:{y:0,height:500,width:500,x:0},evolutionPanelRect:{y:0,x:0,width:640,height:400},showDailyUpdraftTowerYieldPanel:!1,showAzimuthAngle:!0,showEvolutionPanel:!1,yearlyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelRect:{y:0,width:600,height:400,x:0},ambientLightIntensity:.1,dailyFresnelReflectorYieldPanelRect:{y:0,height:400,x:0,width:600},yearlyLightSensorPanelX:0,showEconomicsPanel:!1,dailyParabolicDishYieldPanelRect:{width:600,x:0,y:0,height:400},stickyNotePanelX:0,showDiurnalTemperaturePanel:!1,yearlyFresnelReflectorYieldPanelX:0,panCenter:[38.386200794550874,-23.3410033657338,26460494326568842e-21],showStickyNotePanel:!0,showDailyParabolicDishYieldPanel:!1,yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},shadowEnabled:!1,mapZoom:17,showYearlyFresnelReflectorYieldPanel:!1,yearlyLightSensorPanelShowDaylight:!1,showYearlyUpdraftTowerYieldPanel:!1,showDailyLightSensorPanel:!1,dailyHeliostatYieldPanelY:0,yearlyParabolicTroughYieldPanelRect:{height:400,width:600,x:0,y:0},yearlyFresnelReflectorYieldPanelY:0,diurnalTemperaturePanelRect:{y:0,width:600,height:400,x:0},theme:"Default",dailyLightSensorPanelY:0,visibilityResultsPanelRect:{x:0,height:470,width:600,y:0},yearlyLightSensorPanelRect:{height:500,y:0,x:0,width:600},showSiteInfoPanel:!0,visibilityResultsPanelX:0,mapTilt:0,solarRadiationHeatMapReflectionOnly:!1,cameraPosition:[79.58351721186,-134.3931242110791,147.3552432306341],showYearlyLightSensorPanel:!1,dailyParabolicTroughYieldPanelX:0,yearlyHeliostatYieldPanelX:0,yearlyParabolicDishYieldPanelRect:{width:600,y:0,height:400,x:0},showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,dailyParabolicTroughYieldPanelY:0,dailyPvYieldPanelRect:{width:600,height:400,y:0,x:0},cameraPosition2D:[68.43396623741017,108.77451989630273,20.00001332267289],dailyParabolicDishYieldPanelY:0},V2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},G2n=1,X2n={interRowSpacing:2,rowAxis:"Left-Right",pvModelName:"SPR-X21-335-BLK",tiltAngle:0,poleSpacing:3,orientation:"Landscape",poleHeight:1,rowsPerRack:1},J2n={rowAxis:"Left-Right",poleHeight:1,minimumTiltAngle:-1.5707963267948966,minimumRowsPerRack:1,maximumRowsPerRack:6,maximumInterRowSpacing:10,minimumInterRowSpacing:2,orientation:"Landscape",pvModelName:"CS6X-355P-FG",poleSpacing:5,maximumTiltAngle:1.5707963267948966},K2n={geneticAlgorithmParams:{localSearchRadius:.1,problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,maximumGenerations:5,selectionMethod:1,searchMethod:1,mutationRate:.1,selectionRate:.5,convergenceThreshold:.01,crossoverRate:.5,populationSize:20},particleSwarmOptimizationParams:{vmax:.01,inertia:.8,objectiveFunctionType:1,searchMethod:1,cognitiveCoefficient:.1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,localSearchRadius:.1,maximumSteps:5,swarmSize:20,convergenceThreshold:.01}},q2n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},$2n=[`Mescalero Apache School -New Mexico, USA`],Q2n={docid:L2n,time:W2n,timestamp:N2n,userid:U2n,owner:B2n,email:j2n,world:Y2n,elements:O2n,view:_2n,graphState:V2n,evolutionMethod:G2n,solarPanelArrayLayoutParams:X2n,solarPanelArrayLayoutConstraints:J2n,evolutionaryAlgorithmState:K2n,economicsParams:q2n,notes:$2n},Z2n="oRJVoBEAs85sQVTxz3G3Aa",e5n=1643138671495,t5n="QWecNcxhyvP6j6sBN11hBsfZDau1",n5n=null,o5n=null,i5n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/22/2021 11:00:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2},r5n=[{type:"Foundation",cx:-9.55171908313751,cy:-18.19491515601114,cz:.05,lx:69.0515968638667,ly:71.26044576002357,lz:.1,normal:[0,0,1],rotation:[0,0,-1.017744597267026],parentId:"Ground",id:"9zunWg9vgE2EXQf2GAGvHJ",selected:!1,textureType:"Foundation Texture #2"},{type:"Tree",name:"Maple",cx:3.2728380906673773,cy:2.018552619631127,cz:.05000000074505806,lx:9.63205225658289,lz:12.42213702192784,normal:[0,0,1],rotation:[0,0,.4041452104082131],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"e4UGoSP6vMmKtTpaK7Xx7e",selected:!1,showModel:!1},{type:"Human",name:"Jack",cx:9.261208020051818,cy:17.4519165226371,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,.4041452104082131],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"aqHPhgdskHU47w7A1JoYUH",selected:!1,ly:.6},{type:"Tree",name:"Maple",cx:-2.759236366671214,cy:-6.100345712463374,cz:.05000000074505806,lx:15.662386774550322,lz:17.814185690323082,normal:[0,0,1],rotation:[0,0,.5235987755982988],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"quQsvQqGqFo233Raf5MV2q",selected:!1},{type:"Cuboid",cx:-9.798880015116119,cy:-4.358075047463568,cz:9.736603648251254,lx:19.17702564125724,ly:13.830784586479455,lz:19.47320729650251,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,3.141592653589793],parentId:"Ground",selected:!1,id:"u8URHSH38BdLFefR2kpArP"},{type:"Tree",name:"Spruce",cx:8.846757081366217,cy:8.465966186158635,cz:.05000000074505806,lx:4.201867761608678,lz:9.066423414956883,normal:[0,1,0],rotation:[0,0,0],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"8nmhqhdJRjPhvXmqRWtXWS",selected:!1,showModel:!1},{type:"Cuboid",cx:3.3849893009151506,cy:3.1596268234618305,cz:4.774411049933112,lx:17.91634633119275,ly:6.319724352083252,lz:9.548822099866223,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.8378964730477152],parentId:"Ground",id:"w6fsWnZq8bBGBS5PxduXBK",selected:!1},{type:"Cuboid",cx:.8301123283897702,cy:-13.282792837220546,cz:5.471867705312628,lx:5.668418559135588,ly:9.979432490224614,lz:10.943735410625257,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.7040209346650892],parentId:"Ground",selected:!1,id:"e4j7PfDmVs1dovQBZBQ3BT"},{type:"Cuboid",cx:3.6644340063361565,cy:-4.8364998865196736,cz:2,lx:4.840425768432099,ly:20.8513404243441,lz:4,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"qfz89eHJ88Lg9JCyH53fc9"},{type:"Cuboid",cx:-4.166247795353307,cy:-32.1603428429262,cz:2.63479238812298,lx:11.313153894671187,ly:12.684919468119116,lz:5.26958477624596,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.2580366898458273],parentId:"Ground",selected:!1,id:"nNjg1Ffg3pm4CdyzNQdiW9"},{type:"Cuboid",cx:-4.400070852285921,cy:-32.71929138984055,cz:13.65810647211173,lx:3.1252453327696883,ly:3.149430446459918,lz:27.31621294422346,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.7128704595183226],parentId:"Ground",selected:!1,id:"ofBXHyPsTmNpJVcNoCo9j5"},{type:"Cuboid",cx:-20.05284620919852,cy:-31.1598203541727,cz:4.6920942485939525,lx:14.24559815125088,ly:10.643905820516908,lz:9.384188497187905,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.2728352410356374],parentId:"Ground",selected:!1,id:"aZcQCi1W1twRBtwgJgUoeW"},{type:"Tree",name:"Oak",cx:19.63141428747889,cy:-14.555088162280029,cz:.05000000074505806,lx:16.244539454462206,lz:17.937149329522143,normal:[0,1,0],rotation:[0,0,0],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"hP32y2WeaoShZAgJcL2phB",selected:!1}],a5n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[53.96406310906323,-63.55404886182046,17.26191308801079],panCenter:[-14.409899112760232,-10.942953787224548,3.8259899066863428],orthographic:!1,enableRotate:!0,cameraZoom:15.47561875,showInstructionPanel:!0,cameraPosition2D:[4.361874143686572,3.699796590309034,48.00000369998439],panCenter2D:[4.361874143686572,3.699844592441852,4448257642288249e-21],showHeatmap:!1,showSolarRadiationHeatmap:!1,showSunAngles:!1,solarRadiationHeatMapMaxValue:4.5},l5n=[],s5n={docid:Z2n,timestamp:e5n,userid:t5n,owner:n5n,email:o5n,world:i5n,elements:r5n,view:a5n,notes:l5n},c5n="gj8mmfSE6fqAAUtvXZYGkb",u5n="03/19/2023 02:00 pm",d5n=1679248844823,f5n="QWecNcxhyvP6j6sBN11hBsfZDau1",h5n=null,p5n=null,g5n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},m5n=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-2.6557701490344776,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.09987728198946044,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:3,roofId:"vyQyu3QobXjxj1jDvhJ4sy",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"No Wall Texture",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:3,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:3,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",opacity:.4,wallStructure:"Stud",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:3,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",rightRoofHeight:3,roofId:"vyQyu3QobXjxj1jDvhJ4sy",color:"#ffffff",opacity:.4,wallStructure:"Stud",centerRoofHeight:[0,4.790804943100949],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{lx:10,windows:[],lz:3,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"vyQyu3QobXjxj1jDvhJ4sy",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"No Wall Texture",rightRoofHeight:3,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:3,ly:.3,cx:-5.300056602144494,color:"#ffffff",opacity:.4,wallStructure:"Stud",centerRoofHeight:[0,4.790804943100949],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"No Wall Texture",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"vyQyu3QobXjxj1jDvhJ4sy",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:3,leftRoofHeight:3,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:3,lx:12,color:"#ffffff",wallStructure:"Stud",opacity:.4,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Human",name:"James",cx:-1.8741011733558182,cy:-5.8416164272427595,cz:.05000000074505806,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.472},{type:"Human",name:"Jess",cx:-4.0157582744754965,cy:3.8617380009978506,cz:.050000000745058504,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Rafter",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vyQyu3QobXjxj1jDvhJ4sy",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:1.790804943100949,ceiling:!1},{type:"Flower",name:"White Flower",cx:-4.1342434171004925,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"46aifVnH3B74BwVSi3Crxq",selected:!1},{type:"Flower",name:"White Flower",cx:-3.3342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i8U6G9JyPpL2hbWBs7vVz6",selected:!1},{type:"Flower",name:"White Flower",cx:-2.534243417100493,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ugPMRjEYo4WRamJ9tFewHm",selected:!1},{type:"Flower",name:"White Flower",cx:-1.7342434171004928,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cXWM3Js8Lp8DUZByf9ySVZ",selected:!1},{type:"Flower",name:"White Flower",cx:-.9342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tWw7iszMWHGh94zWUms3bX",selected:!1},{type:"Flower",name:"White Flower",cx:-.1342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wFi9RKANUcSDb8JEQtDAEk",selected:!1},{type:"Flower",name:"White Flower",cx:.6657565828995073,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"bgwNTPoMCs4Wi6VnCqioA2",selected:!1},{type:"Flower",name:"White Flower",cx:1.4657565828995074,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m6nguuL3Zz24UD89QncVq3",selected:!1},{type:"Flower",name:"White Flower",cx:2.2657565828995074,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kGhztdakMGZm6mkLawDRht",selected:!1},{type:"Flower",name:"White Flower",cx:3.0657565828995077,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"t89aQNRve3pcY6QfBoyCYo",selected:!1},{type:"Flower",name:"White Flower",cx:3.8657565828995075,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2bSs9uZqzgsXpzetM5AmxD",selected:!1},{type:"Flower",name:"White Flower",cx:4.665756582899507,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7CEvARocUnJdE2SHZcDU2V",selected:!1},{type:"Flower",name:"White Flower",cx:5.465756582899507,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rYZJ2mHmESXni5V1aVa46t",selected:!1},{type:"Flower",name:"White Flower",cx:-4.2619057070341295,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m4JAZDAnBR2QnoTX6gwxgv",selected:!1},{type:"Flower",name:"White Flower",cx:-3.4619057070341297,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7nhnwoJ8FbP4fj9ZXLrfye",selected:!1},{type:"Flower",name:"White Flower",cx:-2.66190570703413,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uFsFHipxUMRX5aHpDNiLzw",selected:!1},{type:"Flower",name:"White Flower",cx:-1.8619057070341298,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mJ6VdUdVpFHoDMvk5CifrP",selected:!1},{type:"Flower",name:"White Flower",cx:-1.0619057070341298,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ebBzNYMUnf5tyqviBfW44K",selected:!1},{type:"Flower",name:"White Flower",cx:-.26190570703412974,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7qGERbKCYNJZY5SktqYFGH",selected:!1},{type:"Flower",name:"White Flower",cx:.5380942929658703,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oAb4tA3ghqD5MVLjvE2JNB",selected:!1},{type:"Flower",name:"White Flower",cx:1.3380942929658703,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"anEdC4mKjKpYkWwwTugQd7",selected:!1},{type:"Flower",name:"White Flower",cx:2.1380942929658704,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3WdeMit6SeG4bqra8yJxnB",selected:!1},{type:"Flower",name:"White Flower",cx:2.9380942929658707,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jnmEfnMgUaJK9NwsWsV3gH",selected:!1},{type:"Flower",name:"White Flower",cx:3.7380942929658705,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8471n9p1MKM4v5HYVYNnbf",selected:!1},{type:"Flower",name:"White Flower",cx:4.53809429296587,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jRVVQvkLQEJFVGW7n4JcjX",selected:!1},{type:"Flower",name:"White Flower",cx:5.33809429296587,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n9PiSuToBHaHcJ2hu8PhVa",selected:!1},{type:"Flower",name:"White Flower",cx:-4.344446260163467,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5GRQttXkMVj9MJmJA2sCTw",selected:!1},{type:"Flower",name:"White Flower",cx:-3.5444462601634674,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"79Mv3qBTpXEHM1FaDfaYXS",selected:!1},{type:"Flower",name:"White Flower",cx:-2.7444462601634676,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8XAz3reTAfJSVRX2DdJvMN",selected:!1},{type:"Flower",name:"White Flower",cx:-1.9444462601634676,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hGDaJZoqkJU6bVFNwzDKgn",selected:!1},{type:"Flower",name:"White Flower",cx:-1.1444462601634675,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cWsLs9ePKWKWrV1Akhn42n",selected:!1},{type:"Flower",name:"White Flower",cx:-.34444626016346747,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8NgHbW2QgN3CvEsxHivBg6",selected:!1},{type:"Flower",name:"White Flower",cx:.4555537398365326,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7ogG3q6XsVTY3wSGV7BrEK",selected:!1},{type:"Flower",name:"White Flower",cx:1.2555537398365326,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aTLKeq862hXuydUnDnRufZ",selected:!1},{type:"Flower",name:"White Flower",cx:2.0555537398365327,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4SotanHYdz7BmHuHEsRU5J",selected:!1},{type:"Flower",name:"White Flower",cx:2.855553739836533,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"o98emba7AiB167tGV4Un8g",selected:!1},{type:"Flower",name:"White Flower",cx:3.6555537398365328,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1ExTvAYZaKio5wNoaShuZo",selected:!1},{type:"Flower",name:"White Flower",cx:4.455553739836533,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"t3oYKCD7r8u33GMpXr8wwr",selected:!1},{type:"Flower",name:"White Flower",cx:5.255553739836532,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5jPVxqN2CvnEkeYz4QQra5",selected:!1},{type:"Flower",name:"White Flower",cx:-4.391533387874089,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"of1adpyZeoRS8fTjGoytf1",selected:!1},{type:"Flower",name:"White Flower",cx:-3.5915333878740894,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9ncNDKqkLLMu7d9PUN7oUA",selected:!1},{type:"Flower",name:"White Flower",cx:-2.7915333878740896,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"u3zUSyPymxJB7HgazzqLzv",selected:!1},{type:"Flower",name:"White Flower",cx:-1.9915333878740895,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dHPhWCEiz1y9PnXZp83MpE",selected:!1},{type:"Flower",name:"White Flower",cx:-1.1915333878740895,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"bg6PZWwTrwwre4jiKxe7uX",selected:!1},{type:"Flower",name:"White Flower",cx:-.3915333878740894,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5F7K7QFnfwHKfd4Lfw728p",selected:!1},{type:"Flower",name:"White Flower",cx:.4084666121259106,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"532gMLAZ5tcLjzMQisipSa",selected:!1},{type:"Flower",name:"White Flower",cx:1.2084666121259107,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"v3gFFnUntYFxM9Nx5RWfik",selected:!1},{type:"Flower",name:"White Flower",cx:2.0084666121259107,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"s6dpt2XkDQfRw5bGeX1H1V",selected:!1},{type:"Flower",name:"White Flower",cx:2.808466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uw1Jz6HvycMidfXokrAzFQ",selected:!1},{type:"Flower",name:"White Flower",cx:3.608466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n7ppnA9LyoWRWkVHPMq965",selected:!1},{type:"Flower",name:"White Flower",cx:4.408466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"r4x3CD3uiRipJcivNwW5MN",selected:!1},{type:"Flower",name:"White Flower",cx:5.2084666121259104,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7eEgZikopFnYDrozpMnbVk",selected:!1},{type:"Flower",name:"Sunflower",cx:-4.481342001872006,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9P5CuiQ2MG15JKupLj1B6D",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"meDHz6sDDGj4eDAWvaf1Jc",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"sRFj36qrZLXFZTDMQ6mpD9",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qNZvKMkFPtUNCcEgL1huNh",selected:!1},{type:"Flower",name:"Sunflower",cx:-.48134200187200626,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kcPXW35rZZAsL5WiiAk3hw",selected:!1},{type:"Flower",name:"Sunflower",cx:.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"feWWMNFMFvQ8cSM14BMp8t",selected:!1},{type:"Flower",name:"Sunflower",cx:1.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"msFwckWagge9gpLdQeS4JJ",selected:!1},{type:"Flower",name:"Sunflower",cx:2.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dogJzpvueZ1anaBAZ7muH8",selected:!1},{type:"Flower",name:"Sunflower",cx:3.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cYZoVFdifJsko9MEehFjtS",selected:!1},{type:"Flower",name:"Sunflower",cx:-4.24189898255945,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"s25usGNmQJ66fR5yXuRGGo",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pzBtEERtTPkBv9CsHDmZDu",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m5X7sdToMdq8xEefEwxLCK",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"f4inpmtrAzszkJUhzYSUye",selected:!1},{type:"Flower",name:"Sunflower",cx:-.24189898255944975,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"f4ThsERMjZf2AhEJ56hsa6",selected:!1},{type:"Flower",name:"Sunflower",cx:.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"16shGo6CLCNPBSgnunhAkS",selected:!1},{type:"Flower",name:"Sunflower",cx:1.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7vYNCNRBverkM51mspnoUJ",selected:!1},{type:"Flower",name:"Sunflower",cx:2.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"voHLpW8Gd4XA3Ceg6Xbe7t",selected:!1},{type:"Flower",name:"Sunflower",cx:3.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"u6Ue6tXWzkHCodK9XZEU2L",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"c6JNqxEgYvWDCRJawdShSj",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oaSKDixHoDBGhRmyNSQzgw",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vrts4rUEEsRTQs9sGjhPQA",selected:!1},{type:"Flower",name:"Sunflower",cx:-.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3pYKWqcAmjBuuNuny7rpoV",selected:!1},{type:"Flower",name:"Sunflower",cx:.09777512332007454,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1S6ZgxRm2LWmGc9KQsgDFh",selected:!1},{type:"Flower",name:"Sunflower",cx:1.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"opQ4ZLwfvkzg5Vxfj8cfQA",selected:!1},{type:"Flower",name:"Sunflower",cx:2.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nkbv83UnHqmfM7bAwa33Pe",selected:!1},{type:"Flower",name:"Sunflower",cx:3.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mN9mTCijKK38jmTnqKHee1",selected:!1},{type:"Flower",name:"Sunflower",cx:4.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dArQ57WQgeQivghvFz6Pkf",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.660995740108657,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"v7PVJmCSxV3Mzkp3DvmbxL",selected:!1},{type:"Flower",name:"Sunflower",cx:5.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"h4XguGKN7sgDCDuSE5McKM",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.660995740108657,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wSmuS2APtdqz8q7JGKKASr",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.6609957401086568,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nhuLvBuF9q3oVKsH9nQgoj",selected:!1},{type:"Flower",name:"Sunflower",cx:-.6609957401086568,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gyN8wLEyhGu5icXFxTanDS",selected:!1},{type:"Flower",name:"Sunflower",cx:.3390042598913432,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Hxo93yvCk6bL25Z1j69hy",selected:!1},{type:"Flower",name:"Sunflower",cx:1.3390042598913432,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6CEP9TkxfGsqwqefDYN2m3",selected:!1},{type:"Flower",name:"Sunflower",cx:2.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tKziXd6bAbZhg1ZHtHCDYk",selected:!1},{type:"Flower",name:"Sunflower",cx:3.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i75ADLAQar36M93rinkuBn",selected:!1},{type:"Flower",name:"Sunflower",cx:4.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9aKZZrCwftw93k2j9EUPft",selected:!1},{type:"Flower",name:"Sunflower",cx:5.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jtbnWz1TtfVCGS6GFT7cd5",selected:!1},{type:"Flower",name:"Sunflower",cx:4.700456042537368,cy:2.0818781692863544,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kpaDqAs7RHDDcutq6peJfx",selected:!1},{type:"Flower",name:"Sunflower",cx:4.834015330936817,cy:4.861450972934322,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n1pT9mZTaMUzmHpcczyBaV",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"k1bygQU9gmbRLruK4LkufJ",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1Qg8EAesLQmApEi3SoVr2L",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pX7RzZXzs2a2wB6ikN7nMV",selected:!1},{type:"Flower",name:"Sunflower",cx:-.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4n5Yx4e8sgXGuByhj8k1fL",selected:!1},{type:"Flower",name:"Sunflower",cx:.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vHXKNqVUezGNFoAwcMvXfT",selected:!1},{type:"Flower",name:"Sunflower",cx:1.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qESmtL2sTn5MoKqcsafYq5",selected:!1},{type:"Flower",name:"Sunflower",cx:2.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jzYPMGXoRbfHffj27jjLk1",selected:!1},{type:"Flower",name:"Sunflower",cx:3.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qbv7JX9QpCnKwVvTQzv2CK",selected:!1},{type:"Flower",name:"Sunflower",cx:4.695469904697504,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vegPcGL4Si9F7tHaiDew5A",selected:!1},{type:"Flower",name:"Sunflower",cx:5.695469904697504,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nfuYXRCdKKX1yeEVfQ1Q8w",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.19999999999999998,y:-.7999999999999999},{x:-.19999999999999998,y:-.4666666666666666},{x:.20000000000000004,y:-.4666666666666666},{x:.20000000000000004,y:-.7999999999999999}],parentId:"skm8dNPSkFaVkoUwiPNfq1",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:0,id:"9M33FqMDNgV3pDjYk2UES3",text:"Greenhouse",fontSize:.5,fontColor:"gold",fontStrokeWidth:.01,noOutline:!0,opacity:0}],y5n=15,A5n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-13.969061585407742,-10.143303302147187,2.3881460403679218],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.0306086242769346,3.0389446343818545,1.3437141951705311],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},w5n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},v5n=1,x5n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},b5n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},S5n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},T5n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},P5n="Unknown",C5n=null,R5n=null,H5n=null,M5n=[],I5n={docid:c5n,time:u5n,timestamp:d5n,userid:f5n,owner:h5n,email:p5n,world:g5n,elements:m5n,sceneRadius:y5n,view:A5n,graphState:w5n,evolutionMethod:v5n,solarPanelArrayLayoutParams:x5n,solarPanelArrayLayoutConstraints:b5n,evolutionaryAlgorithmState:S5n,economicsParams:T5n,modelType:P5n,modelAuthor:C5n,modelLabel:R5n,modelDescription:H5n,notes:M5n},z5n="nfnSPNhp4V7kiPCsxnMXvA",D5n="11/15/2023 08:11 PM",E5n=1700097090188,k5n="QWecNcxhyvP6j6sBN11hBsfZDau1",F5n=null,L5n=null,W5n="1.4.7",N5n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"3019 Jameson Beach Rd, South Lake Tahoe, CA 96150, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:38.9379299,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-120.0387964},U5n=[{ly:15.823820171875001,solarUpdraftTower:{},parentId:"Ground",cx:-.23635058692870636,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.30044344061775696,type:"Foundation",solarPowerTower:{},lx:20.01699292669677,lz:.25,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.125,textureType:"Foundation Texture #2",enableGroupMaster:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"ddvCooK4VAFN7dUMWPpapB",ly:.3,rightPoint:[-6.228593727144493,5.3056786237803095,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[5.771406272855506,5.305678623780308,.1],type:"Wall",normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.22859372714449355,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.3056786237803095,color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.771406272855505,leftPoint:[5.771406272855503,-4.6943213762196905,.1],cy:.3056786237803084,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.771406272855507,5.3056786237803095,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",roofId:"ddvCooK4VAFN7dUMWPpapB",color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"ddvCooK4VAFN7dUMWPpapB",selected:!1,cy:.3056786237803084,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-6.228593727144493,-4.6943213762196905,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.228593727144492,5.3056786237803095,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",ly:.3,cx:-6.228593727144493,color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{showLabel:!1,cx:-.2285937271444931,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.771406272855507,-4.6943213762196905,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.6943213762196905,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"ddvCooK4VAFN7dUMWPpapB",leftPoint:[-6.228593727144493,-4.6943213762196905,.1],normal:[0,0,1],ly:.3,lz:4,relativeAngle:0,rotation:[0,0,0],lx:12,color:"#ffffff",wallStructure:"Stud",opacity:0,structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{type:"Human",name:"Jacob",cx:7.289879196764376,cy:.9615979280726203,cz:.125,lx:.8,lz:1.82,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.8},{type:"Wall",cx:.09100362924299155,cy:1.1882025501879951,cz:2.2408122612280286,lx:1.5601883727480157,ly:.2,lz:7.649013269649758,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[.8710978156169994,1.1882025501879951,0],rightPoint:[-.6890905571310163,1.1882025501879951,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:.8710978156169993,cy:.14100043812882335,cz:2.2301039869226305,lx:2.0944042241183434,ly:.2,lz:7.649013269649758,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[.8710978156169991,-.9062016739303485,0],rightPoint:[.8710978156169995,1.1882025501879951,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",wallStructure:"Default",opacity:.5,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:-.6890905571310162,cy:.14100043812882335,cz:2.228839888904333,lx:2.0944042241183434,ly:.2,lz:7.649013269649758,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-.6890905571310162,1.1882025501879951,0],rightPoint:[-.6890905571310163,-.9062016739303485,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:.0910036292429916,cy:-.9062016739303485,cz:2.268765007024547,lx:1.5601883727480157,ly:.2,lz:7.649013269649758,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-.6890905571310163,-.9062016739303485,0],rightPoint:[.8710978156169995,-.9062016739303485,0],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Foundation",cx:-.0721809285526831,cy:-.11580967162986489,cz:.05,lx:2.3610744974526523,ly:3.0605782147964087,lz:.07649013269649757,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1},{type:"Human",name:"Jess",cx:-1.0115122224568758,cy:-3.6651165310105203,cz:.125,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Pyramid",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG","2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u1sPtasg3hWUinAjQbYwBP",rise:1.3063523363004892,ceiling:!1},{type:"Window",cx:.023873137489038417,cy:.1,cz:.3595234970910072,lx:.5252090247588448,ly:.2,lz:.11766223541160228,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"62Gv8U29wFJyJf1vgeLMyo",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,frame:!0,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Wall",cx:-6.114654382048409,cy:.32019837609535623,cz:0,lx:9.600000000000001,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-7.214654382048406,-5.779801623904644,0],rightPoint:[-7.214654382048404,3.820198376095357,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"moXtDnyecvwRem92AzKP6s",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:5.700000000000008,cy:-2.6500000000000012,cz:0,lx:3.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[8,-2.5,0],rightPoint:[8,1,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"n3Fbp8o59RXvpMXPY1s1Sm",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:5.710429595506894,cy:3.3385814547866905,cz:0,lx:3.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[7.210429595506889,1.3885814547866906,0],rightPoint:[7.210429595506889,4.88858145478669,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"vhwBgsvb2XNRoUeLKEqhYZ",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:-.25,cy:-4.660000000000009,cz:0,lx:11.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-6,-7,0],rightPoint:[5.5,-7,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"wSthZNuu3hKxPyS8LHSGvS",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:-.211862519698188,cy:5.176033006265223,cz:0,lx:11.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-8.76186251969819,5.476033006265222,0],rightPoint:[2.7381374803018104,5.476033006265222,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"um8H4fZzRuLbZZ81bgs5nP",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Door",cx:0,cy:0,cz:-.34805186284300194,lx:.4774627497807679,ly:0,lz:.3038962743139961,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"h5Bd5QDcL7vWMTHPSCDuBD",doorType:"Default",archHeight:1,filled:!0},{type:"Tree",name:"Fan Palm",cx:2.7985631567413556,cy:-10.731117262084023,cz:0,lx:6.375358320482912,lz:8.451212523084012,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"iQhcHctqyRJaG4XFZS4XMk",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"ddvCooK4VAFN7dUMWPpapB",leftRidgeLength:3,rightRidgeLength:3,rise:1.4109420933443069,ceiling:!1},{type:"Flower",name:"Peony",cx:7.023550381410839,cy:-3.8877826159721582,cz:.12499999999999956,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hRzYHbdXP7aLP7JcDbRqRR",selected:!1},{type:"Flower",name:"Peony",cx:6.9734776254848185,cy:-2.9143031643660438,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vMLhayUTUD8aHWGMkGHz6W",selected:!1},{type:"Flower",name:"Peony",cx:6.9889157221008045,cy:-1.8856467808244108,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aKoXDkCANHQbTt7sp6H4cD",selected:!1},{type:"Flower",name:"Peony",cx:7.056609460752512,cy:2.106696532214023,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"drvWi4itbJZhSYfhzMLFUz",selected:!1},{type:"Flower",name:"Peony",cx:7.073130172902122,cy:3.1951278306332282,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3XQg1jKjV5dafQKCUY9Tom",selected:!1},{type:"Flower",name:"Peony",cx:6.831179450888563,cy:4.436138900477424,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7ETHmh5VY9WD7DqvsYegAD",selected:!1},{type:"Tree",name:"Fan Palm",cx:-3.064329828704058,cy:-11.205145732983894,cz:4440892098500626e-31,lx:6.375358320482912,lz:8.451212523084012,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"stqfKSZKDeaDe1syQCZ2RQ",selected:!1},{type:"Tree",name:"Fan Palm",cx:-10.213746832393127,cy:-10.383228886165,cz:-4440892098500626e-31,lx:6.375358320482912,lz:8.451212523084012,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"u5zC3LfHnyukcnd2TZGm5n",selected:!1},{type:"Human",name:"Jade",cx:4.6162547175937405,cy:.8236142952720673,cz:.125,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kEK1sks1vjBNeG9bYUByB6",selected:!1,ly:.48},{type:"Human",name:"Jaye",cx:4.113865624208955,cy:-.1569064565752818,cz:.125,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jiL3321sgunb78Yp2wx7LZ",selected:!1,ly:.55},{type:"Human",name:"Jack",cx:2.270983153500868,cy:-5.647402265265438,cz:.125,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qKXJTHDFWk1Be3UB18FicH",selected:!1,ly:.42},{type:"Human",name:"Jeanette",cx:6.811654467665146,cy:.3288410550941858,cz:.12500000000000044,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jdNC43ZSdnd8zSCxaT42uJ",selected:!1,ly:.4},{type:"Human",name:"Jedi",cx:4.3803812097281964,cy:-6.219962402856187,cz:.12500000000000044,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tktL4bCeJqmadSREQxqYZf",selected:!1,ly:.56},{type:"Human",name:"Jaah",cx:8.073408817436135,cy:-2.861373653368049,cz:.125,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3tNBEAxUt3DLTZFUWrkT43",selected:!1,ly:.74},{type:"Human",name:"Jena",cx:5.650342532886793,cy:-5.869419038331923,cz:.125,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jbcUSTcV9ETtNTun9qHy9c",selected:!1,ly:.695},{type:"Human",name:"Jennifer",cx:6.650342532886793,cy:-5.869419038331923,cz:.125,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6mEiayfKLXRKd6HoatZeT7",selected:!1,ly:.45},{type:"Human",name:"Jeff",cx:8.281124000346418,cy:-.21288109922245724,cz:.125,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"o9nFAFEjnDEDMLNsibYbMM",selected:!1,ly:.6},{type:"Human",name:"Jacqueline",cx:8.774300454275942,cy:-3.11382005301836,cz:.12499999999999956,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9kJpcRTmPtd11noXLWWsGH",selected:!1,ly:.43},{type:"Human",name:"Joey",cx:5.394689962250994,cy:-6.419034150551809,cz:.12500000000000044,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wMtjHPExCprVrQ6rgijhKz",selected:!1,ly:.462},{type:"Human",name:"Jett",cx:5.607500871784192,cy:-7.300972318306286,cz:.12500000000000044,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tfCgFHPgnZKoKRfd18qKeP",selected:!1,ly:.6},{type:"Human",name:"John",cx:7.617007740588695,cy:-5.315039692166635,cz:.125,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3NBaVzParvnoX1VTgD2qhi",selected:!1,ly:.6},{type:"Human",name:"Judd",cx:8.557509471799634,cy:-7.331160131258592,cz:.125,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gM888A8u94AD92SprN4wbj",selected:!1,ly:.544},{type:"Human",name:"Joan",cx:5.580895600535009,cy:10.995552502214208,cz:0,lx:1.7,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1j9fkBAMPQ7exCAX2P7fF1",selected:!1,ly:1.7},{type:"Human",name:"Joel",cx:6.580895600535009,cy:10.995552502214208,cz:0,lx:1.8,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3SfQXzZu7J7mi1JmUBYxFc",selected:!1,ly:1.8},{type:"Human",name:"June",cx:9.253027066264448,cy:-1.8207404946549808,cz:.125,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uiRD36Lx6DhqS1L8GSmo2f",selected:!1,ly:.65},{type:"Human",name:"Juro",cx:7.94102921033523,cy:-5.9229770250984926,cz:.12500000000000044,lx:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2LZ8A82RZWiecfd18pDMu3",selected:!1,ly:.494},{type:"Human",name:"Jamelia",cx:7.019233078838581,cy:-6.865958327348711,cz:.125,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nArb1Wy1pTTLTAwpfD1gxv",selected:!1,ly:.65},{type:"Human",name:"Jiya",cx:6.536125724548311,cy:-7.090427106555895,cz:.125,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3rhHbB9NPHbS5kJ4toDf75",selected:!1,ly:.6},{type:"Human",name:"Jumapili",cx:4.710047052887569,cy:-7.365082439159079,cz:.12500000000000044,lx:.75,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2ydVQyK8TCn9PXCMXcCTEy",selected:!1,ly:.75},{type:"Human",name:"James",cx:8.638930109856844,cy:-4.382295505716076,cz:.12500000000000044,lx:.472,ly:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ucP3AmMZpFLmiVbQL9CJRg",selected:!1},{type:"Human",name:"Jaya",cx:8.430115188508257,cy:-4.95104947778114,cz:.125,lx:.6,ly:.6,lz:1.55,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tSdmVjv6FH3XWNZ5eajwUB",selected:!1},{type:"Human",name:"Jocelyn",cx:9.099153262139186,cy:1.6734195388718494,cz:.125,lx:.4,ly:.4,lz:1.72,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oY9mHLD2TnGtS48tFX7msv",selected:!1},{type:"Human",name:"Julia",cx:8.50369110484068,cy:-5.75207005231741,cz:.125,lx:.43,ly:.43,lz:1.71,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"noQp7pbZpEPcCC5Bwy2Ds5",selected:!1},{type:"Human",name:"Julio",cx:6.3276841954899155,cy:-7.497137528054779,cz:.12500000000000044,lx:.5,ly:.5,lz:1.76,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"86gZdR7TufwZSuihX2WNJZ",selected:!1},{type:"Human",name:"Jose",cx:4.085694603550463,cy:-9.392938952651445,cz:0,lx:2,ly:2,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"pTRxrEpSAWLBc3BhSmJurU",selected:!1},{type:"Human",name:"Joseph",cx:4.70285983370786,cy:-8.668392524889338,cz:8881784197001252e-31,lx:.6,ly:.6,lz:1.88,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"qx4Vz41aeQtxbcayMgdcfb",selected:!1},{type:"Light",decay:2,distance:5,intensity:3,color:"#ffff99",cx:.0032094235984929786,cy:0,cz:-.15034969489506517,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[1,-2220446049250313e-31,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"7ZdVSQw5Udf8Sk6TxfRr7E",selected:!1},{type:"Human",name:"Jill",cx:9.085367232279435,cy:2.675249483795916,cz:.125,lx:.42,ly:.42,lz:1.71,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tnutvhGAiQivDEaTbwWokd",selected:!1},{type:"Human",name:"Jane",cx:10.315104916263296,cy:-5.841074350867604,cz:0,lx:.4,ly:.4,lz:1.67,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"2qCeCbYUD9ZAWR8LaSwSBc",selected:!1},{type:"Human",name:"Judy",cx:8.894992472252287,cy:-.05735797632890183,cz:.125,lx:.41,ly:.41,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"evvFN1Y5c55LCjm2Zs4RPR",selected:!1},{type:"Human",name:"Jonathon",cx:7.865481936696703,cy:-8.800651006432007,cz:-4440892098500626e-31,lx:.6,ly:.6,lz:1.9,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"cPGv26A3o2hSuwc8DPUQ6y",selected:!1},{type:"Human",name:"Joshua",cx:9.361559767195017,cy:-2.653290992466755,cz:.12499999999999956,lx:.5,ly:.5,lz:1.79,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rd5u6niG5wuUyGxwjj9FrQ",selected:!1},{type:"Human",name:"Justin",cx:8.841054844860178,cy:-3.9407835630247803,cz:.125,lx:.6,ly:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nctqWUAWcyYHT4SGzerSs4",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.5,y:-.5},{x:-.5,y:-.25},{x:.5,y:-.25},{x:.5,y:-.5}],parentId:"8XDG3EHsQoX26MhuzwMYUM",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:2,id:"bcBZb3U93o5F2jxgHWz66U",text:"Welcome to Moosehorn State Park",fontSize:.5,fontColor:"gold",fontOutlineColor:"white",fontOutlineWidth:0,fontStrokeWidth:.01,noOutline:!1,textureType:"Polygon Texture #9"}],B5n=86,j5n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.150676678462785,4.331280702823742,433147322558565e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.150676678462785,4.331130696160679,150],theme:"Lake",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[16.52949133040242,-6.908469489524304,2.3292876283609294],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.84710869799634,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.4679506390771288,.22749806834114614,2.3292876283609285],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Y5n=!1,O5n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_5n=1,V5n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},G5n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},X5n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},J5n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},K5n="Unknown",q5n=null,$5n=null,Q5n=null,Z5n=null,e9n=[],t9n=3,n9n=3,o9n={docid:z5n,time:D5n,timestamp:E5n,userid:k5n,owner:F5n,email:L5n,version:W5n,world:N5n,elements:U5n,sceneRadius:B5n,view:j5n,animate24Hours:Y5n,graphState:O5n,evolutionMethod:_5n,solarPanelArrayLayoutParams:V5n,solarPanelArrayLayoutConstraints:G5n,evolutionaryAlgorithmState:X5n,economicsParams:J5n,modelType:K5n,modelAuthor:q5n,modelLabel:$5n,modelDescription:Q5n,designProjectType:Z5n,notes:e9n,minimumNavigationMoveSpeed:t9n,minimumNavigationTurnSpeed:n9n},i9n="mW1ttJThpPJ2JKrSAT7EUP",r9n="02/04/2023 01:03 pm",a9n=1675533820168,l9n="QWecNcxhyvP6j6sBN11hBsfZDau1",s9n=null,c9n=null,u9n={latitude:31.29833989999999,pvGridCellSize:.5,timesPerHour:4,longitude:120.58319,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Suzhou, Jiangsu, China",date:"4/22/2022, 3:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},d9n=[{cy:-.059966096117782364,normal:[0,0,1],lz:.08187919001653333,ly:13.340881459022976,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.23469319781280173,cz:.05,rotation:[0,0,0],lx:13.149110146454165,selected:!1,parentId:"Ground",locked:!1},{type:"Wall",cx:-5.704543355403865,cy:.218424664108547,cz:0,lx:5.274193548387098,ly:.3,lz:4,relativeAngle:-1.5707963267948972,leftPoint:[-5.704543355403863,2.855521438302096,.08187919001653333],rightPoint:[-5.704543355403865,-2.418672110085002,.08187919001653333],leftJoints:["phev4gQxjvHYwHg819vEHB"],rightJoints:["kdCvwj5JgamPrPyPvrdvAm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4xuyJn2DKfBNBFjKWxSNkV",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-4.031115363517457,cy:4.320575201742957,cz:0,lx:4.448255286649458,ly:.3,lz:4,relativeAngle:-2.4224905134396697,leftPoint:[-2.357687371631047,5.785628965183817,.08187919001653333],rightPoint:[-5.7045433554038665,2.855521438302096,.08187919001653333],leftJoints:["98ta6USvR1CGq17YJbnQS1"],rightJoints:["4xuyJn2DKfBNBFjKWxSNkV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phev4gQxjvHYwHg819vEHB",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-4.031115363517457,cy:-4.176736626214033,cz:0,lx:4.854339125731116,ly:.3,lz:4,relativeAngle:-.8100578027781637,leftPoint:[-5.704543355403865,-2.418672110085002,.08187919001653333],rightPoint:[-2.357687371631049,-5.934801142343065,.08187919001653333],leftJoints:["4xuyJn2DKfBNBFjKWxSNkV"],rightJoints:["nw6raZBAGuWkF5ubuLU8xD"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kdCvwj5JgamPrPyPvrdvAm",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:4.33602459591459,cy:-4.176736626214031,cz:0,lx:4.854339125731116,ly:.3,lz:4,relativeAngle:.8100578027781632,leftPoint:[2.66259660402818,-5.934801142343061,.08187919001653333],rightPoint:[6.0094525878009994,-2.4186721100849997,.08187919001653333],leftJoints:["nw6raZBAGuWkF5ubuLU8xD"],rightJoints:["iV9VtU8uZo4yDiYJfPcmdy"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"npYCeoFyusHZjnvHSA5MHT",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.15245461619856626,cy:5.785628965183817,cz:0,lx:5.020283975659227,ly:.3,lz:4,relativeAngle:3.1415926535897927,leftPoint:[2.66259660402818,5.7856289651838155,.08187919001653333],rightPoint:[-2.357687371631047,5.785628965183817,.08187919001653333],leftJoints:["p7LQvPgC6EYePDocPwo9xL"],rightJoints:["phev4gQxjvHYwHg819vEHB"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"98ta6USvR1CGq17YJbnQS1",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.0094525878009994,cy:.21842466410854633,cz:0,lx:5.274193548387096,ly:.3,lz:4,relativeAngle:1.5707963267948966,leftPoint:[6.0094525878009994,-2.418672110085002,.08187919001653333],rightPoint:[6.0094525878009994,2.8555214383020946,.08187919001653333],leftJoints:["npYCeoFyusHZjnvHSA5MHT"],rightJoints:["p7LQvPgC6EYePDocPwo9xL"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iV9VtU8uZo4yDiYJfPcmdy",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.1526933276969229,cy:-5.934801142343063,cz:0,lx:5.021429002185668,ly:.3,lz:4,leftJoints:["kdCvwj5JgamPrPyPvrdvAm"],rightJoints:["npYCeoFyusHZjnvHSA5MHT"],leftPoint:[-2.357687371631049,-5.934801142343065,.08187919001653333],rightPoint:[2.6630740270248947,-5.934801142343061,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"nw6raZBAGuWkF5ubuLU8xD",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:4.33602459591459,cy:4.3205752017429555,cz:0,lx:4.448255286649457,ly:.3,lz:4,leftJoints:["iV9VtU8uZo4yDiYJfPcmdy"],rightJoints:["98ta6USvR1CGq17YJbnQS1"],leftPoint:[6.0094525878009994,2.8555214383020946,.08187919001653333],rightPoint:[2.66259660402818,5.7856289651838155,.08187919001653333],relativeAngle:2.4224905134396693,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"p7LQvPgC6EYePDocPwo9xL",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Human",name:"Jack",cx:-4.760459270800288,cy:-2.5348481679853134,cz:.1,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"wvAyR5FHsaRG2ToXMAXh87",selected:!1,ly:.42,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Mansard",roofStructure:"Default",wallsId:["npYCeoFyusHZjnvHSA5MHT"],ridgeWidth:1,textureType:"No Roof Texture",color:"#8e826f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cqv2PuQ6Ct8FunGC5Rsg5E",locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Wall",cx:-4.710361945157022,cy:1.4641075126787761,cz:0,lx:4.0741991827809585,ly:.3,lz:7.5,leftJoints:["mNbBhBDTayeXWAoDE8ip6A"],rightJoints:["giioZ24KGCk6oJoadGeQJg"],leftPoint:[-4.710361945157022,3.5012071040692554,.08187919001653333],rightPoint:[-4.7103619451570236,-.5729920787117029,.08187919001653333],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"fKn6ccVkMdWqQghcJAFmEQ",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-3.3998110672719446,cy:4.632929099286187,cz:0,lx:3.463142086593125,ly:.3,lz:7.5,leftJoints:["fPGQ97jmfXKFKCgzdf8tK2"],rightJoints:["fKn6ccVkMdWqQghcJAFmEQ"],leftPoint:[-2.0892601893868656,5.7646510945031215,.08187919001653333],rightPoint:[-4.7103619451570236,3.5012071040692554,.08187919001653333],relativeAngle:-2.429286367572432,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mNbBhBDTayeXWAoDE8ip6A",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-3.399811067271945,cy:-1.9310584729720213,cz:0,lx:3.774592923611536,ly:.3,lz:7.5,leftJoints:["fKn6ccVkMdWqQghcJAFmEQ"],rightJoints:["2Ecm8hWzZfEbStzt675QWs"],leftPoint:[-4.7103619451570236,-.5729920787117029,.08187919001653333],rightPoint:[-2.089260189386867,-3.2891248672323394,.08187919001653333],relativeAngle:-.8032015766363013,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"giioZ24KGCk6oJoadGeQJg",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:3.152943322153453,cy:-1.9310584729720182,cz:0,lx:3.7745929236115394,ly:.3,lz:7.5,leftJoints:["2Ecm8hWzZfEbStzt675QWs"],rightJoints:["dJmNmvxvjdHh3vPxEXp335"],leftPoint:[1.8423924442683726,-3.289124867232336,.08187919001653333],rightPoint:[4.463494200038532,-.5729920787116995,.08187919001653333],relativeAngle:.8032015766363004,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"oq3EhiCKFwwA92Ur9WnxEC",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-.12343387255924654,cy:5.7646510945031215,cz:0,lx:3.931652633655238,ly:.3,lz:7.5,leftJoints:["mPpYQCigCupk4wWxmYLiGt"],rightJoints:["mNbBhBDTayeXWAoDE8ip6A"],leftPoint:[1.8423924442683726,5.7646510945031215,.08187919001653333],rightPoint:[-2.0892601893868656,5.7646510945031215,.08187919001653333],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"fPGQ97jmfXKFKCgzdf8tK2",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:4.463494200038532,cy:1.4641075126787761,cz:0,lx:4.0741991827809585,ly:.3,lz:7.5,leftJoints:["oq3EhiCKFwwA92Ur9WnxEC"],rightJoints:["mPpYQCigCupk4wWxmYLiGt"],leftPoint:[4.463494200038532,-.5729920787117029,.08187919001653333],rightPoint:[4.463494200038532,3.5012071040692554,.08187919001653333],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"dJmNmvxvjdHh3vPxEXp335",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-.12343387255924654,cy:-3.289124867232336,cz:0,lx:3.931652633655238,ly:.3,lz:7.5,leftJoints:["giioZ24KGCk6oJoadGeQJg"],rightJoints:["oq3EhiCKFwwA92Ur9WnxEC"],leftPoint:[-2.0892601893868656,-3.289124867232336,.08187919001653333],rightPoint:[1.8423924442683726,-3.289124867232336,.08187919001653333],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"2Ecm8hWzZfEbStzt675QWs",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:3.152943322153453,cy:4.632929099286187,cz:0,lx:3.4631420865931273,ly:.3,lz:7.5,leftJoints:["dJmNmvxvjdHh3vPxEXp335"],rightJoints:["fPGQ97jmfXKFKCgzdf8tK2"],leftPoint:[4.463494200038532,3.5012071040692554,.08187919001653333],rightPoint:[1.8423924442683726,5.7646510945031215,.08187919001653333],relativeAngle:2.4292863675724323,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mPpYQCigCupk4wWxmYLiGt",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{id:"56kE8YxGS5vZT15DARe55m",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["oq3EhiCKFwwA92Ur9WnxEC"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:.07312548836645227,cy:-1.3848958277284682,cz:.05,lx:9.464156224937316,ly:12.896297667676603,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eTosNnXwuFCRGqZWfF7TsY",selected:!1,locked:!1},{type:"Wall",cx:-3.4962075675486224,cy:2.7874111204970315,cz:0,lx:2.8892970239124907,ly:.3,lz:11,leftJoints:["wg8fH2jxgcfzoEQ3iyHRk5"],rightJoints:["bzdCKkoEsHKfg6PMf8sKa9"],leftPoint:[-3.4962075675486224,4.232059632453278],rightPoint:[-3.496207567548624,1.3427626085407864],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mMPeuLSFxt2hhKw1jzoAXX",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-2.5042315840033176,cy:5.0346421390956335,cz:0,lx:2.5519835672660642,ly:.3,lz:11,leftJoints:["5SAdNQtzr2xU5rw3LJPFUt"],rightJoints:["mMPeuLSFxt2hhKw1jzoAXX"],leftPoint:[-1.5122556004580119,5.837224645737991],rightPoint:[-3.496207567548624,4.232059632453278],relativeAngle:-2.461342900204164,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"wg8fH2jxgcfzoEQ3iyHRk5",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-2.5042315840033185,cy:.3796636005699572,cz:0,lx:2.7651951476053704,ly:.3,lz:11,leftJoints:["mMPeuLSFxt2hhKw1jzoAXX"],rightJoints:["d6PNwTS2wJV1Koozu7wRCJ"],leftPoint:[-3.496207567548624,1.3427626085407864],rightPoint:[-1.5122556004580128,-.5834354074008719],relativeAngle:-.7706289724283263,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"bzdCKkoEsHKfg6PMf8sKa9",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:2.455648333723217,cy:.37966360056995985,cz:0,lx:2.765195147605374,ly:.3,lz:11,leftJoints:["d6PNwTS2wJV1Koozu7wRCJ"],rightJoints:["1cSqXyGASoNdwCM2MQgYAg"],leftPoint:[1.4636723501779088,-.5834354074008692],rightPoint:[3.4476243172685246,1.3427626085407889],relativeAngle:.770628972428325,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"tdJA55oXTxjRMFMd2yzHeU",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-.024291625140051565,cy:5.837224645737991,cz:0,lx:2.9759279506359206,ly:.3,lz:11,leftJoints:["5zeSH5hMhT3UJzZ2VMSrtV"],rightJoints:["wg8fH2jxgcfzoEQ3iyHRk5"],leftPoint:[1.4636723501779088,5.837224645737991],rightPoint:[-1.5122556004580119,5.837224645737991],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"5SAdNQtzr2xU5rw3LJPFUt",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:3.4476243172685246,cy:2.7874111204970315,cz:0,lx:2.8892970239124907,ly:.3,lz:11,leftJoints:["tdJA55oXTxjRMFMd2yzHeU"],rightJoints:["5zeSH5hMhT3UJzZ2VMSrtV"],leftPoint:[3.4476243172685246,1.3427626085407864],rightPoint:[3.4476243172685246,4.232059632453278],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"1cSqXyGASoNdwCM2MQgYAg",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-.024291625140051565,cy:-.5834354074008692,cz:0,lx:2.9759279506359206,ly:.3,lz:11,leftJoints:["bzdCKkoEsHKfg6PMf8sKa9"],rightJoints:["tdJA55oXTxjRMFMd2yzHeU"],leftPoint:[-1.5122556004580119,-.5834354074008692],rightPoint:[1.4636723501779088,-.5834354074008692],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"d6PNwTS2wJV1Koozu7wRCJ",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:2.455648333723217,cy:5.0346421390956335,cz:0,lx:2.551983567266067,ly:.3,lz:11,leftJoints:["1cSqXyGASoNdwCM2MQgYAg"],rightJoints:["5SAdNQtzr2xU5rw3LJPFUt"],leftPoint:[3.4476243172685246,4.232059632453278],rightPoint:[1.4636723501779088,5.837224645737991],relativeAngle:2.4613429002041647,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"5zeSH5hMhT3UJzZ2VMSrtV",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{id:"kXXsWtzhvHq2DAaXZEi8ju",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["tdJA55oXTxjRMFMd2yzHeU"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:-.1382893636180098,cy:-2.8344198053167737,cz:.05,lx:7.240655122656252,ly:11.908488628124994,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"67a4Cj7mTjUcKpS9UXcYMf",selected:!1,locked:!1},{type:"Wall",cx:-2.305386933936208,cy:3.5406126703672625,cz:0,lx:1.8992997541814245,ly:.3,lz:14.5,leftJoints:["3uhgX6EhXdVFMDgjKuTvWJ"],rightJoints:["6a5FbNhUegAfkm1WbCa4hr"],leftPoint:[-2.305386933936208,4.4902625474579745,.08187919001653333],rightPoint:[-2.305386933936208,2.59096279327655,.08187919001653333],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"m9CmZzHka279S6PzqcJDms",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:-1.6457325150805282,cy:5.017845812508369,cz:0,lx:1.6893644412938968,ly:.3,lz:14.5,leftJoints:["cj1x2iAzLBRGYCY4fbDa9u"],rightJoints:["m9CmZzHka279S6PzqcJDms"],leftPoint:[-.9860780962248481,5.545429077558764,.08187919001653333],rightPoint:[-2.305386933936208,4.4902625474579745,.08187919001653333],relativeAngle:-2.466981384386693,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"3uhgX6EhXdVFMDgjKuTvWJ",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:-1.6457325150805282,cy:1.9578628752160765,cz:0,lx:1.8286163715377841,ly:.3,lz:14.5,leftJoints:["m9CmZzHka279S6PzqcJDms"],rightJoints:["pLBnaJicNdNqvsWh4XB2xC"],leftPoint:[-2.305386933936208,2.59096279327655,.08187919001653333],rightPoint:[-.9860780962248481,1.3247629571556034,.08187919001653333],relativeAngle:-.7648600253804781,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"6a5FbNhUegAfkm1WbCa4hr",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:1.6525395791978759,cy:1.9578628752160787,cz:0,lx:1.8286163715377868,ly:.3,lz:14.5,leftJoints:["pLBnaJicNdNqvsWh4XB2xC"],rightJoints:["x2WKNCsnTm3wuwLHXfgCEX"],leftPoint:[.9928851603421944,1.3247629571556052,.08187919001653333],rightPoint:[2.312193998053557,2.5909627932765527,.08187919001653333],relativeAngle:.7648600253804773,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"1WEB2uNx8HTmooMiMdCuRb",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:.0034035320586731643,cy:5.545429077558764,cz:0,lx:1.9789632565670425,ly:.3,lz:14.5,leftJoints:["caQUPNBf9AQWUAkvEEKBK9"],rightJoints:["3uhgX6EhXdVFMDgjKuTvWJ"],leftPoint:[.9928851603421944,5.545429077558764,.08187919001653333],rightPoint:[-.9860780962248481,5.545429077558764,.08187919001653333],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"cj1x2iAzLBRGYCY4fbDa9u",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:2.312193998053557,cy:3.5406126703672625,cz:0,lx:1.8992997541814245,ly:.3,lz:14.5,leftJoints:["1WEB2uNx8HTmooMiMdCuRb"],rightJoints:["caQUPNBf9AQWUAkvEEKBK9"],leftPoint:[2.312193998053557,2.59096279327655,.08187919001653333],rightPoint:[2.312193998053557,4.4902625474579745,.08187919001653333],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"x2WKNCsnTm3wuwLHXfgCEX",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:.0034035320586731643,cy:1.3247629571556052,cz:0,lx:1.9789632565670425,ly:.3,lz:14.5,leftJoints:["6a5FbNhUegAfkm1WbCa4hr"],rightJoints:["1WEB2uNx8HTmooMiMdCuRb"],leftPoint:[-.9860780962248481,1.3247629571556052,.08187919001653333],rightPoint:[.9928851603421944,1.3247629571556052,.08187919001653333],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"pLBnaJicNdNqvsWh4XB2xC",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:1.6525395791978759,cy:5.017845812508369,cz:0,lx:1.6893644412938993,ly:.3,lz:14.5,leftJoints:["x2WKNCsnTm3wuwLHXfgCEX"],rightJoints:["cj1x2iAzLBRGYCY4fbDa9u"],leftPoint:[2.312193998053557,4.4902625474579745,.08187919001653333],rightPoint:[.9928851603421944,5.545429077558764,.08187919001653333],relativeAngle:2.4669813843866937,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"caQUPNBf9AQWUAkvEEKBK9",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{id:"pHdzF3ngGjARqDaSnrPCbJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["1WEB2uNx8HTmooMiMdCuRb"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:-.12202054492778736,cy:-3.6786752972065244,cz:.05,lx:4.62580908783712,ly:11.244705561904492,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mZUacXWS8C3iqt3FX2P392",selected:!1,locked:!1},{type:"Wall",cx:-2.1374696253712813,cy:.6843845582744623,cz:0,lx:1.3196288700603707,ly:.3,lz:18,leftJoints:["nDHpcsgkV9peBKJpWVGgfd"],rightJoints:["k2jx5wJhEXwRbUKXtsBVsi"],leftPoint:[-2.1374696253712813,1.3441989933046479,.2],rightPoint:[-2.1374696253712813,.02457012324427721,.2],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"9D7SuFhdAmbL3s4qJSt14J",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-1.7017113613971415,cy:1.7107625683214178,cz:0,lx:1.1388663119977358,ly:.3,lz:18,leftJoints:["rhFdf5zdJe6JyTbbEFrxS6"],rightJoints:["9D7SuFhdAmbL3s4qJSt14J"],leftPoint:[-1.2659530974230018,2.0773261433381873,.2],rightPoint:[-2.1374696253712813,1.3441989933046479,.2],relativeAngle:-2.442224676045199,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"nDHpcsgkV9peBKJpWVGgfd",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-1.7017113613971415,cy:-.41530616677584553,cz:0,lx:1.2383479561797213,ly:.3,lz:18,leftJoints:["9D7SuFhdAmbL3s4qJSt14J"],rightJoints:["k1Zz3xzbmLW17cj6uWBzfc"],leftPoint:[-2.1374696253712813,.02457012324427721,.2],rightPoint:[-1.2659530974230018,-.8551824567959683,.2],relativeAngle:-.790101033639045,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"k2jx5wJhEXwRbUKXtsBVsi",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.47707995847355766,cy:-.4153061667758444,cz:0,lx:1.2383479561797235,ly:.3,lz:18,leftJoints:["k1Zz3xzbmLW17cj6uWBzfc"],rightJoints:["bQ466SAJMAnn6fakoD16LP"],leftPoint:[.041321694499416806,-.8551824567959676,.2],rightPoint:[.9128382224476985,.024570123244278763,.2],relativeAngle:.7901010336390442,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"6akTVpZG7AbvMgXaG1q3Nh",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-.6123157014617926,cy:2.0773261433381873,cz:0,lx:1.3072747919224188,ly:.3,lz:18,leftJoints:["cGGqfipx5C3U3jy37qBmH3"],rightJoints:["nDHpcsgkV9peBKJpWVGgfd"],leftPoint:[.041321694499416806,2.0773261433381873,.2],rightPoint:[-1.2659530974230018,2.0773261433381873,.2],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"rhFdf5zdJe6JyTbbEFrxS6",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.9128382224476985,cy:.6843845582744623,cz:0,lx:1.3196288700603707,ly:.3,lz:18,leftJoints:["6akTVpZG7AbvMgXaG1q3Nh"],rightJoints:["cGGqfipx5C3U3jy37qBmH3"],leftPoint:[.9128382224476985,.02457012324427721,.2],rightPoint:[.9128382224476985,1.3441989933046479,.2],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"bQ466SAJMAnn6fakoD16LP",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-.6123157014617926,cy:-.8551824567959676,cz:0,lx:1.3072747919224188,ly:.3,lz:18,leftJoints:["k2jx5wJhEXwRbUKXtsBVsi"],rightJoints:["6akTVpZG7AbvMgXaG1q3Nh"],leftPoint:[-1.2659530974230018,-.8551824567959676,.2],rightPoint:[.041321694499416806,-.8551824567959676,.2],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"k1Zz3xzbmLW17cj6uWBzfc",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.47707995847355766,cy:1.7107625683214178,cz:0,lx:1.1388663119977376,ly:.3,lz:18,leftJoints:["bQ466SAJMAnn6fakoD16LP"],rightJoints:["rhFdf5zdJe6JyTbbEFrxS6"],leftPoint:[.9128382224476985,1.3441989933046479,.2],rightPoint:[.041321694499416806,2.0773261433381873,.2],relativeAngle:2.4422246760452,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"cGGqfipx5C3U3jy37qBmH3",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Foundation",cx:.5137640713758937,cy:-.8247397257024911,cz:.1,lx:17.47075427773578,ly:17.57589746990512,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"t3DvVsTxEUmLPJ5qyzz1Cq",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.3982929957049007,ly:.3,lz:.75,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nw6raZBAGuWkF5ubuLU8xD",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kJ99yCt5NwrUx6aeyLQD19",opacity:0,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.04022745849176903,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"k1Zz3xzbmLW17cj6uWBzfc",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"2i6NJTsHZcvu5DZpjL2nTf",opacity:0,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.049787851751147326,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"827buPg2up7S5NJpu1bTwc",parentId:"6akTVpZG7AbvMgXaG1q3Nh",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.03092128411947934,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"696xgzPkcYLSq7T7Qw1kVp",parentId:"bQ466SAJMAnn6fakoD16LP",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.03385386298551652,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jCNeHwVCUvbqQjRxPEpVWh",parentId:"k2jx5wJhEXwRbUKXtsBVsi",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.06228256362044849,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"x8xMT8Y3CFHpSTTtRuQJEH",parentId:"cGGqfipx5C3U3jy37qBmH3",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02834774148633909,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nppApRrEXRyeUd9vJfwuSz",parentId:"rhFdf5zdJe6JyTbbEFrxS6",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.02951470439825077,cy:.1,cz:.44184392259435495,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"wGQdjaEJAq274XD4qjARvv",parentId:"nDHpcsgkV9peBKJpWVGgfd",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02377711455299869,cy:.1,cz:.4427721444522278,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bfx8vmpw2KKDieuVcLZMqt",parentId:"9D7SuFhdAmbL3s4qJSt14J",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2543459692852634,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"b18KSu7muEcNBoRo9BCFtR",parentId:"2Ecm8hWzZfEbStzt675QWs",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.005291630779154989,cy:.1,cz:.36666666666666664,lx:.2543459692852634,ly:.3,lz:.20000000000000007,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6ehjjnYKcMRY6uDm39RjZg",parentId:"oq3EhiCKFwwA92Ur9WnxEC",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.00444948057017957,cy:.1,cz:.36666666666666664,lx:.2543459692852634,ly:.3,lz:.20000000000000007,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"beNSFD5YoXGJs5n6HkCEia",parentId:"dJmNmvxvjdHh3vPxEXp335",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:5610195147971379e-32,cy:.1,cz:.3333333333333333,lx:.2887551174614818,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"enXaCvRZY1o42EepsmhAcu",parentId:"mPpYQCigCupk4wWxmYLiGt",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2543459692852634,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"co2nWxWjHSrQ1y3CbewV71",parentId:"fPGQ97jmfXKFKCgzdf8tK2",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2887551174614821,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oAJfvW2Atau2PMDooxnZup",parentId:"mNbBhBDTayeXWAoDE8ip6A",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:272500919767831e-31,cy:.1,cz:.33333333333333326,lx:.24544700814490417,ly:.3,lz:.2666666666666668,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oysyT4xkNku4YbbVaJZRwr",parentId:"fKn6ccVkMdWqQghcJAFmEQ",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2649292308435736,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tfr35CsQ7uYrvJEbNiSm9Z",parentId:"giioZ24KGCk6oJoadGeQJg",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-2007494887994791e-32,cy:.1,cz:.38636363636363646,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aVd2M9mPnyt54bpo1cinGs",parentId:"bzdCKkoEsHKfg6PMf8sKa9",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.01280424424064466,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vEK53nipfn3Fi9zDdjYNwA",parentId:"d6PNwTS2wJV1Koozu7wRCJ",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:20074948879947884e-33,cy:.1,cz:.3863636363636363,lx:.36163812918086014,ly:.3,lz:.1363636363636365,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7a8LzQgQTZT74cAMqSaHG3",parentId:"tdJA55oXTxjRMFMd2yzHeU",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.007766589935909038,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m8mvZULmKJiijiJZQ4Ws2p",parentId:"1cSqXyGASoNdwCM2MQgYAg",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.015106961898701282,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2yZN5brch6X6VdX7qusThM",parentId:"5zeSH5hMhT3UJzZ2VMSrtV",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.01280424424064466,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6wGZka29sHQXPaM4orSj26",parentId:"5SAdNQtzr2xU5rw3LJPFUt",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.015106961898701494,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tFAKFAeYrHzMpedpoQ4z2J",parentId:"wg8fH2jxgcfzoEQ3iyHRk5",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.007766589935909038,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tsfJ1jgF5hbLvum632wKcR",parentId:"mMPeuLSFxt2hhKw1jzoAXX",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"1tp2T4LDRLMNEK26RseK5r",parentId:"pLBnaJicNdNqvsWh4XB2xC",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.020773233582139315,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tgrkWzLGJa5Q9w4cDnLRRp",parentId:"1WEB2uNx8HTmooMiMdCuRb",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.01059737146443586,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"o3JTZDoUCh4i6VTFAXTRi5",parentId:"x2WKNCsnTm3wuwLHXfgCEX",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"86L95Fnu4u89jayQZWX5Xw",parentId:"cj1x2iAzLBRGYCY4fbDa9u",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.043311747423323166,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vNmcUsYJDkYimiCfMHdNFB",parentId:"3uhgX6EhXdVFMDgjKuTvWJ",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.01059737146443586,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"dDi3Fw7AsTes6zvNGEEHiL",parentId:"m9CmZzHka279S6PzqcJDms",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02077323358213971,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bAVGu4K7Tu42BYzdxoX44L",parentId:"6a5FbNhUegAfkm1WbCa4hr",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.4120025297364816,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"qGTqwRerdw925V3dp1Zxqj",parentId:"npYCeoFyusHZjnvHSA5MHT",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.3792048929663609,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"76hrnZkDNKTnFBf136Yypd",parentId:"iV9VtU8uZo4yDiYJfPcmdy",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-24958617549610238e-33,cy:.1,cz:-.125,lx:.44961448278442956,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4dQWwkYdrjgXGYUZinRtRU",parentId:"p7LQvPgC6EYePDocPwo9xL",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.39838383838383856,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vetMY2wce8PY7wZMnBgYtd",parentId:"98ta6USvR1CGq17YJbnQS1",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.4496144827844295,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"v2Bpx6NQy5wWaCAkP524Kv",parentId:"phev4gQxjvHYwHg819vEHB",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:3157515024163289e-32,cy:.1,cz:-.12499999999999994,lx:.3792048929663607,ly:.3,lz:.7499999999999999,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"rDQtPqhJZVdy7Xh7XJRsb3",parentId:"4xuyJn2DKfBNBFjKWxSNkV",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:8004757157551921e-32,cy:.1,cz:-.125,lx:.4120025297364814,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"e19JPkz5u6tKcbjYUvXegq",parentId:"kdCvwj5JgamPrPyPvrdvAm",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jacqueline",cx:4.255864387589413,cy:-6.242196181277151,cz:.1,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"wfWT37sYApxTzWzUncAoR9",selected:!1,locked:!1,ly:.43},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["6akTVpZG7AbvMgXaG1q3Nh","bQ466SAJMAnn6fakoD16LP","cGGqfipx5C3U3jy37qBmH3","rhFdf5zdJe6JyTbbEFrxS6","nDHpcsgkV9peBKJpWVGgfd","9D7SuFhdAmbL3s4qJSt14J","k2jx5wJhEXwRbUKXtsBVsi","k1Zz3xzbmLW17cj6uWBzfc"],textureType:"No Roof Texture",color:"#8e826f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"rdzur4ggFrcghzk546PTce",locked:!1,rise:.7945305564645331,ceiling:!1},{type:"Tree",name:"Dogwood",cx:7.392171297775102,cy:7.163513110419622,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"jBw9RYvUZrnME36Vm8DaPW",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:6.759545239381245,cy:-2.5910214138353416,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"5kQBFtBdW6bwiFWnzf9wwH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:6.490113616723971,cy:3.8154638360153057,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"2GfJNYSop6f5v7xSek1ytE",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.508512970788757,cy:7.348011777521739,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"adVq8AGmfbAWANd1ERqtLC",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-3.329172186785436,cy:7.377948624483658,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"okSKfXzr6RNLYQU4kZsQEZ",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-7.9394466189209485,cy:4.054958611710656,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"cbRLDrHAkXSVreLWjbyF5V",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-7.819699231073273,cy:-2.2317792502923153,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"buHEZW6R7p71SuhwZZJ2PT",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-3.808161738176137,cy:-6.572622059770561,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"9DD3bFQeXC1bN3n5JNfTHY",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.2690181950934063,cy:-6.572622059770561,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"bnApLQ8V1oJiPKXxDRPxb4",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:7.328345331657704,cy:-6.931864223313587,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"g8PvSEYYsCu2XWBqG3iX5a",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:-7.759825537149433,cy:-6.692369447618235,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"eFc8WGqQzEfKvVgDn3e4Wq",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:-7.459318010176873,cy:7.482898989893004,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"288KLWR7KewUpd13gMeuAi",selected:!1,locked:!1},{type:"Window",cx:.029596929340897304,cy:.1,cz:.42068965517241375,lx:.5327447281361516,ly:.3,lz:.11034482758620694,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:0,normal:[0,0,1],rotation:[0,0,0],parentId:"caQUPNBf9AQWUAkvEEKBK9",foundationId:"mZUacXWS8C3iqt3FX2P392",id:"g8YUeBMeW1DSqfqrvD7Vbk"},{type:"Light",decay:2,distance:10,intensity:2,color:"#fe9200",cx:-.030005590627033965,cy:-.4532425907688764,cz:.5000000074505895,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"qF9C6U2NXL7yTL6tKt4cmM",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#7b64ff",cx:.4305972540929517,cy:.06205523390636515,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"c16cf3Q9umV9K4iATpzZdw",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#68bc00",cx:-.03448954854070917,cy:.43858567895245787,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"kdV7kizuYhPCDkqnpXr6Jf",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#fa28ff",cx:-.44220837093921556,cy:.040360464163231746,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"pCzfVRHLpKFtr7SXEbAF9q",selected:!1}],f9n={yearlyPvYieldPanelX:-67,autoRotate:!1,mapZoom:16,axes:!0,theme:"Grassland",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:66,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-13,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-2.010984368039464,-28.85991180576142,8.94754765614511],panCenter:[-.2875344548235237,.8941760908925925,8.94754765614511],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230189,showInstructionPanel:!0,cameraPosition2D:[.3578976625538651,1.7782818083550982,150],panCenter2D:[.3578976625538651,1.778431815016015,2363573287717466e-21],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:6,evolutionPanelX:-13,evolutionPanelY:8,evolutionPanelRect:{x:0,y:0,width:498,height:340},waterSurface:!1,showMapPanel:!1},h9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},p9n=1,g9n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},m9n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},y9n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:30,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},A9n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},w9n=[],v9n={docid:i9n,time:r9n,timestamp:a9n,userid:l9n,owner:s9n,email:c9n,world:u9n,elements:d9n,view:f9n,graphState:h9n,evolutionMethod:p9n,solarPanelArrayLayoutParams:g9n,solarPanelArrayLayoutConstraints:m9n,evolutionaryAlgorithmState:y9n,economicsParams:A9n,notes:w9n},x9n="8fjimYdFfmatTLYR2DNXvA",b9n="02/04/2023 01:05 pm",S9n=1675533906512,T9n="QWecNcxhyvP6j6sBN11hBsfZDau1",P9n=null,C9n=null,R9n={orthographic:!1,noAnimationForSolarPanelSimulation:!1,discretization:"Approximate",cspGridCellSize:.5,diurnalTemperatureModel:1,sutDaysPerYear:4,address:"Honolulu, HI, USA",sutGridCellSize:1,solarPanelVisibilityGridCellSize:.2,airAttenuationCoefficient:.01,longitude:-157.86620385714326,pvGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",noAnimationForSolarUpdraftTowerSimulation:!1,cameraZoom:43.16939043526371,sutTimesPerHour:4,daysPerYear:12,timesPerHour:4,cspDaysPerYear:4,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},latitude:21.310722676290315,airConvectiveCoefficient:5,name:"default",solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,highestTemperatureTimeInMinutes:900,dustLoss:.05,noAnimationForHeatmapSimulation:!1,noAnimationForSensorDataCollection:!1},H9n=[{solarAbsorberPipe:{},solarPowerTower:{},normal:[0,0,1],rotation:[0,0,1.5707963267948966],color:"#009ce0",ly:24.9333515261897,type:"Foundation",parentId:"Ground",lz:.1,selected:!1,cz:.05,cx:-.9759327650956084,cy:2.7473554645675557,id:"sfVVGvWfY1uFZBwuAeqDnU",solarUpdraftTower:{},lx:10.57622536718512,locked:!1,textureType:"No Foundation Texture"},{showLabel:!1,cz:0,drawSunBeam:!1,cx:-.0173882538930337,color:"#fff",poleRadius:.05,parentId:"sfVVGvWfY1uFZBwuAeqDnU",dailyYield:25.00468094869397,selected:!1,trackerType:"None",orientation:"Portrait",poleSpacing:3,lx:6.944,locked:!1,type:"Solar Panel",rotation:[0,0,1.5707963267948966],ly:3.936,pvModelName:"CS6X-355P-FG",relativeAzimuth:0,poleHeight:1.5,normal:[0,0,1],id:"4bpFrEwZJxbfGUTtn9R1sg",lz:.046,cy:-.3535113399890203,foundationId:"sfVVGvWfY1uFZBwuAeqDnU",tiltAngle:0},{solarAbsorberPipe:{},lz:.1,solarPowerTower:{},rotation:[0,0,-.7853981633974483],locked:!1,cy:3.3785331461228845,type:"Foundation",solarUpdraftTower:{},parentId:"Ground",cz:.05,selected:!1,lx:17.522626722458362,ly:16.217549949540043,normal:[0,0,1],color:"#009ce0",id:"c2gz3bi2QzLErUX4XmgVX7",cx:2.825325314034343,textureType:"No Foundation Texture"},{ly:.1,lz:1.75,selected:!1,textureType:"No Wall Texture",foundationId:"c2gz3bi2QzLErUX4XmgVX7",lineColor:"black",windows:[],leftPoint:[-.41513844869064975,-4.018227675100984,.1],id:"iQCq8L9uGMQTqYvdj9Zg8G",leftJoints:["cSJn7k7dHrZvyJZf7rCR3h"],rotation:[0,0,-.7853981633974483],showLabel:!1,cz:0,rightPoint:[.08486155130934736,-4.01822767510099,.1],lineWidth:.2,color:"#ffffff",rightJoints:["8BLfCN1Rb2sjqzL81nEAF1"],locked:!1,cx:-.16513844869065064,lx:.4999999999999971,roofId:"95ywic4c9x92ks45ZbwSqV",type:"Wall",rightRoofHeight:1.75,cy:-4.01822767510099,leftRoofHeight:1.75,normal:[0,0,1],relativeAngle:6.283185307179577,parentId:"c2gz3bi2QzLErUX4XmgVX7",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{cz:0,foundationId:"c2gz3bi2QzLErUX4XmgVX7",parentId:"c2gz3bi2QzLErUX4XmgVX7",ly:.1,cx:-.16513844869065064,textureType:"No Wall Texture",roofId:"95ywic4c9x92ks45ZbwSqV",lx:.5000000000000003,locked:!1,rightRoofHeight:1.75,selected:!1,leftPoint:[.0848615513093498,2.481772324899016,.1],cy:2.481772324899016,lz:1.75,lineWidth:.2,normal:[0,0,1],relativeAngle:3.1415926535897922,rightPoint:[-.41513844869064953,2.481772324899015,.1],leftJoints:["8BLfCN1Rb2sjqzL81nEAF1"],rotation:[0,0,-.7853981633974483],type:"Wall",id:"wXQ7LSxUUW2TWS968Lkeqi",showLabel:!1,leftRoofHeight:1.75,windows:[],color:"#ffffff",lineColor:"black",rightJoints:["cSJn7k7dHrZvyJZf7rCR3h"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{leftPoint:[-.41513844869064953,2.481772324899015,.1],locked:!1,lineWidth:.2,ly:.1,windows:[],rightRoofHeight:1.75,color:"#ffffff",leftRoofHeight:1.75,cx:-.4151384486906503,id:"cSJn7k7dHrZvyJZf7rCR3h",lx:6.5,parentId:"c2gz3bi2QzLErUX4XmgVX7",rightPoint:[-.41513844869064975,-4.018227675100984,.1],rotation:[0,0,-.7853981633974483],roofId:"95ywic4c9x92ks45ZbwSqV",cz:0,textureType:"No Wall Texture",leftJoints:["wXQ7LSxUUW2TWS968Lkeqi"],selected:!1,foundationId:"c2gz3bi2QzLErUX4XmgVX7",relativeAngle:4.71238898038469,type:"Wall",cy:-.7682276751009843,lz:1.75,showLabel:!1,lineColor:"black",rightJoints:["iQCq8L9uGMQTqYvdj9Zg8G"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{locked:!1,selected:!1,type:"Wall",lz:1.75,leftRoofHeight:1.75,textureType:"No Wall Texture",id:"8BLfCN1Rb2sjqzL81nEAF1",leftPoint:[.08486155130935003,-4.0182276751009915,.1],cx:.08486155130935003,roofId:"95ywic4c9x92ks45ZbwSqV",cz:0,ly:.1,relativeAngle:1.5707963267948966,color:"#ffffff",foundationId:"c2gz3bi2QzLErUX4XmgVX7",lineColor:"black",rightPoint:[.0848615513093498,2.481772324899016,.1],cy:-.7682276751009878,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],lx:6.500000000000005,leftJoints:["iQCq8L9uGMQTqYvdj9Zg8G"],parentId:"c2gz3bi2QzLErUX4XmgVX7",rightRoofHeight:1.75,rightJoints:["wXQ7LSxUUW2TWS968Lkeqi"],windows:[],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{normal:[0,0,1],wallsId:["8BLfCN1Rb2sjqzL81nEAF1"],cy:0,rightRidgeLength:-3.1500000000000026,locked:!1,lz:0,id:"95ywic4c9x92ks45ZbwSqV",lineColor:"black",selected:!1,lx:0,textureType:"No Roof Texture",ly:0,rotation:[0,0,-.7853981633974483],lineWidth:.2,cz:0,foundationId:"c2gz3bi2QzLErUX4XmgVX7",color:"#ffffff",parentId:"c2gz3bi2QzLErUX4XmgVX7",showLabel:!1,thickness:.05,roofType:"Hip",leftRidgeLength:3.2500000000000027,cx:0,type:"Roof",roofStructure:"Default",rise:16.098880019941728,sideColor:"#ffffff",ceiling:!1},{cz:0,rotation:[0,0,-.7853981633974483],parentId:"mcxY5unDv2pKvQAJXd1qqG",rightPoint:[.08486155130934736,-4.01822767510099,.1],roofId:"7DEvyGzFf8SCPa5eeKTryQ",leftRoofHeight:1.75,color:"#ffffff",textureType:"No Wall Texture",rightRoofHeight:1.75,lz:1.75,selected:!1,foundationId:"mcxY5unDv2pKvQAJXd1qqG",cx:-.16513844869065064,ly:.1,cy:-4.01822767510099,rightJoints:["81FqBBm7B8Cgn7RbBDkgTc"],type:"Wall",leftJoints:["wPbsRDuG2myaDXtTkpKWyU"],leftPoint:[-.41513844869064975,-4.018227675100984,.1],normal:[0,0,1],lx:.4999999999999971,relativeAngle:6.283185307179577,id:"jPQHNjKitSZdUXrDLCKowL",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{rightRoofHeight:1.75,id:"3DG2FvhMwMqXmaiYMPxgiv",cy:2.481772324899016,color:"#ffffff",rotation:[0,0,-.7853981633974483],rightPoint:[-.41513844869064953,2.481772324899015,.1],lx:.5000000000000003,selected:!1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",textureType:"No Wall Texture",leftPoint:[.0848615513093498,2.481772324899016,.1],type:"Wall",parentId:"mcxY5unDv2pKvQAJXd1qqG",foundationId:"mcxY5unDv2pKvQAJXd1qqG",lz:1.75,locked:!1,leftJoints:["81FqBBm7B8Cgn7RbBDkgTc"],rightJoints:["wPbsRDuG2myaDXtTkpKWyU"],relativeAngle:3.1415926535897922,cx:-.16513844869065064,leftRoofHeight:1.75,normal:[0,0,1],ly:.1,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{leftPoint:[-.41513844869064953,2.481772324899015,.1],cx:-.4151384486906503,foundationId:"mcxY5unDv2pKvQAJXd1qqG",selected:!1,id:"wPbsRDuG2myaDXtTkpKWyU",leftRoofHeight:1.75,textureType:"No Wall Texture",color:"#ffffff",rotation:[0,0,-.7853981633974483],normal:[0,0,1],rightJoints:["jPQHNjKitSZdUXrDLCKowL"],cz:0,locked:!1,type:"Wall",ly:.1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",cy:-.7682276751009843,rightRoofHeight:1.75,lz:1.75,leftJoints:["3DG2FvhMwMqXmaiYMPxgiv"],lx:6.5,parentId:"mcxY5unDv2pKvQAJXd1qqG",relativeAngle:4.71238898038469,rightPoint:[-.41513844869064975,-4.018227675100984,.1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{type:"Wall",color:"#ffffff",rightRoofHeight:1.75,foundationId:"mcxY5unDv2pKvQAJXd1qqG",cx:.08486155130935003,cz:0,leftJoints:["jPQHNjKitSZdUXrDLCKowL"],rightJoints:["3DG2FvhMwMqXmaiYMPxgiv"],ly:.1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",leftRoofHeight:1.75,lz:1.75,id:"81FqBBm7B8Cgn7RbBDkgTc",cy:-.7682276751009878,parentId:"mcxY5unDv2pKvQAJXd1qqG",relativeAngle:1.5707963267948966,rotation:[0,0,-.7853981633974483],selected:!1,textureType:"No Wall Texture",locked:!1,rightPoint:[.0848615513093498,2.481772324899016,.1],normal:[0,0,1],lx:6.500000000000005,leftPoint:[.08486155130935003,-4.0182276751009915,.1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{roofStructure:"Default",textureType:"No Roof Texture",lz:0,cz:0,rotation:[0,0,-.7853981633974483],foundationId:"mcxY5unDv2pKvQAJXd1qqG",type:"Roof",color:"#ffffff",wallsId:["81FqBBm7B8Cgn7RbBDkgTc"],lx:0,cx:0,leftRidgeLength:3.2500000000000027,rightRidgeLength:-3.1500000000000026,id:"7DEvyGzFf8SCPa5eeKTryQ",cy:0,parentId:"mcxY5unDv2pKvQAJXd1qqG",normal:[0,0,1],roofType:"Hip",thickness:.05,locked:!1,selected:!1,ly:0,rise:16.098880019941728,sideColor:"#ffffff",ceiling:!1},{cx:-2.820889718788509,lx:17.522626722458362,solarAbsorberPipe:{},cy:3.1943110177197918,cz:.05,id:"mcxY5unDv2pKvQAJXd1qqG",lz:.1,normal:[0,0,1],solarPowerTower:{},selected:!1,solarUpdraftTower:{},type:"Foundation",locked:!1,color:"#009ce0",rotation:[0,0,-.7853981633974483],ly:16.217549949540043,parentId:"Ground",textureType:"No Foundation Texture",enableGroupMaster:!0},{rotation:[0,0,0],leftJoints:["4jxSnG9vT4aBdW8AckRKYU"],windows:[],type:"Wall",lx:12.5,cx:-3.4999999999999987,showLabel:!1,rightRoofHeight:1.6,normal:[0,0,1],textureType:"No Wall Texture",parentId:"sfVVGvWfY1uFZBwuAeqDnU",ly:.3,cy:-.25,roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",selected:!1,leftPoint:[-3.4999999999999973,6,0],relativeAngle:4.71238898038469,lineColor:"black",locked:!1,rightJoints:["dDiLTvTPyJXZvEWaFVYpwD"],lz:1.6,lineWidth:.2,leftRoofHeight:1.6,id:"fx2d8KZ2FbN5HXDjmbeNTq",foundationId:"sfVVGvWfY1uFZBwuAeqDnU",rightPoint:[-3.5,-6.5,0],cz:0,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",locked:!1,cy:-.25000000000000044,rightPoint:[2.9999999999999982,5.999999999999999,0],selected:!1,rightRoofHeight:1.6,rightJoints:["4jxSnG9vT4aBdW8AckRKYU"],leftRoofHeight:1.6,showLabel:!1,ly:.3,windows:[],parentId:"sfVVGvWfY1uFZBwuAeqDnU",rotation:[0,0,0],cz:0,textureType:"No Wall Texture",leftJoints:["dDiLTvTPyJXZvEWaFVYpwD"],leftPoint:[3,-6.5,0],lx:12.5,lineWidth:.2,lz:1.6,normal:[0,0,1],relativeAngle:1.5707963267948966,cx:2.999999999999999,foundationId:"sfVVGvWfY1uFZBwuAeqDnU",type:"Wall",lineColor:"black",id:"kgt2xgas1aqzzJdjuE2oTU",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{textureType:"No Wall Texture",parentId:"sfVVGvWfY1uFZBwuAeqDnU",selected:!1,leftRoofHeight:1.6,lz:1.6,cx:-.25,id:"dDiLTvTPyJXZvEWaFVYpwD",leftJoints:["fx2d8KZ2FbN5HXDjmbeNTq"],cy:-6.5,relativeAngle:0,cz:0,locked:!1,centerRoofHeight:[0,1.6],lx:6.5,type:"Wall",showLabel:!1,roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",ly:.3,windows:[],rightPoint:[3,-6.5,0],lineWidth:.2,leftPoint:[-3.5,-6.5,0],rightRoofHeight:1.6,rightJoints:["kgt2xgas1aqzzJdjuE2oTU"],normal:[0,0,1],lineColor:"black",rotation:[0,0,0],foundationId:"sfVVGvWfY1uFZBwuAeqDnU",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{leftJoints:["kgt2xgas1aqzzJdjuE2oTU"],windows:[],ly:.3,locked:!1,centerRoofHeight:[0,1.6],cy:5.999999999999998,rightPoint:[-3.4999999999999973,5.999999999999998,0],showLabel:!1,parentId:"sfVVGvWfY1uFZBwuAeqDnU",textureType:"No Wall Texture",rightJoints:["fx2d8KZ2FbN5HXDjmbeNTq"],foundationId:"sfVVGvWfY1uFZBwuAeqDnU",type:"Wall",id:"4jxSnG9vT4aBdW8AckRKYU",lz:1.6,leftRoofHeight:1.6,rightRoofHeight:1.6,lineWidth:.2,rotation:[0,0,0],roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",lx:6.499999999999996,leftPoint:[2.9999999999999982,5.999999999999999,0],relativeAngle:3.141592653589793,selected:!1,cz:0,cx:-.24999999999999956,normal:[0,0,1],lineColor:"black",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{showLabel:!1,wallsId:["fx2d8KZ2FbN5HXDjmbeNTq"],roofStructure:"Default",locked:!1,ly:0,normal:[0,0,1],color:"#ffffff",foundationId:"sfVVGvWfY1uFZBwuAeqDnU",ridgeLeftPoint:[0,1],cz:0,lineWidth:.2,rotation:[0,0,0],parentId:"sfVVGvWfY1uFZBwuAeqDnU",roofType:"Gable",ridgeRightPoint:[0,1],cx:0,type:"Roof",cy:0,lineColor:"black",lx:0,id:"uRtLCjK4u6T6gpiAxaqJ4Y",thickness:.4,selected:!1,lz:0,textureType:"No Roof Texture",rise:0,sideColor:"#ffffff",ceiling:!1},{type:"Human",name:"Jeff",cx:-6.502161132128585,cy:-.11016766385402654,cz:.75,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"nxpfXTi8karHMZTuUfg7ua",id:"uohRAyGkaEQKAWQ4nxXd7n",selected:!1,locked:!1,ly:.6},{type:"Cuboid",cx:-1.5500000000000027,cy:5.125000000000001,cz:.75,lx:23.296674873649543,ly:1.1460990537871516,lz:1.5,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"jrdvuWjMZPwKCrsCkYbs2x",locked:!1},{type:"Cuboid",cx:-1.5499999999999994,cy:-.12500200000011227,cz:.75,lx:23.296674873649543,ly:1.1460990537871516,lz:1.5,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"nxpfXTi8karHMZTuUfg7ua",selected:!1,locked:!1},{type:"Foundation",cx:-6.683083197474398,cy:-67.2866913326566,cz:.15,lx:40,ly:40,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ihXBcGst6vfG6pMnKjKmcM",textureType:"Foundation Texture #7",locked:!1,enableGroupMaster:!0},{type:"Foundation",cx:13.760889379859025,cy:-67.2492084538547,cz:.5,lx:1,ly:40,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vgW1NebabuY1wd8pyCtxcL",locked:!1,textureType:"Foundation Texture #1",enableGroupMaster:!1},{type:"Foundation",cx:-27.220804284247304,cy:-67.2105953370125,cz:.5,lx:1,ly:40,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"erWKhrLkVgeBGrkYbzkvdA",selected:!1,locked:!1},{type:"Foundation",cx:-6.7329733624271535,cy:-46.77136586096416,cz:.5,lx:42,ly:1,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9pJgP99aRJ8Ucspa2Xmi3n",selected:!1,locked:!1},{type:"Foundation",cx:-6.740359075877207,cy:-87.76629626012827,cz:.5,lx:42,ly:1,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vKsvgYQL3ATsUMrkRxNVtG",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:.038403051629375184,cy:-10.6680905961247,cz:.49999999999999956,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"vgW1NebabuY1wd8pyCtxcL",id:"ca1o8dHiZMnRxbmGVa2QgH",selected:!1,locked:!1,ly:.42},{type:"Human",name:"Judd",cx:12.353179322478177,cy:5.7758180762563,cz:.15,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"aUp3bFMPfhPR555kq4RxtS",selected:!1,locked:!1,ly:.544},{type:"Human",name:"Jess",cx:17.33662712955384,cy:1.475715952229109,cz:.1500000059604645,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"wtw985egzP7m3E2u8Hzcug",selected:!1,locked:!1,ly:.43},{type:"Human",name:"Jennifer",cx:18.10291752042776,cy:-1.7717803444007103,cz:.1500000059604645,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"7CidBs9j2hdjoie9s47tSo",selected:!1,locked:!1,ly:.45},{type:"Human",name:"Jeanette",cx:16.915296607371396,cy:-5.742321393879223,cz:.15,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9QoGq38Qc3iCuT9ChxbAyR",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Jamelia",cx:17.721133919154003,cy:-5.518875626742528,cz:.15,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"85muF4mPeUfkVQindFk2SC",selected:!1,locked:!1,ly:.65},{type:"Human",name:"Jade",cx:.6415363456979275,cy:7.410775156216488,cz:.1500000059604645,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"jBLqkfTJCSVqqR4CU7nfJ2",selected:!1,locked:!1,ly:.48},{type:"Flower",name:"Yellow Flower",cx:18.683881743553787,cy:18.33607154360658,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"eB4WthSRNZpHrasisKTtYg",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-18.795638463082337,cy:18.660989204818456,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"h3cqaVZXomQdjmyTbFaSE7",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-16.292595004641754,cy:-18.43048092235047,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"hEqgADfaTf5Syacb7QRfe6",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:17.686932547560502,cy:-18.72635054653726,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"dViWZq883MztDQDT9tgFHg",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.340044767234033,cy:12.835308413075914,cz:.15,lx:6.929334761971469,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"rK9Z4WmcdLBPe5DdK1mo3L",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.20400735303405,cy:4.605044853977084,cz:.15,lx:6.415005134340998,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"ko7TU1v7o4aKNwN5wszk6E",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:16.744228490634097,cy:-4.496771610813894,cz:.1500000059604645,lx:5.516658633108942,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"1zDByoeV2v4opENdb8nE73",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.06796993883407,cy:-12.807744163620441,cz:.15,lx:3.7877637261892754,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"5ynw27sYwALgCvbTKBPFuc",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.73185271365966,cy:9.091268351797737,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"5xUkwUkEF3nM4dp1f8ZjGH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.82807405354676,cy:.4545102937342307,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9CUeHAtdXMGrojz43dddm7",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.790525833741423,cy:-8.33811033147611,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9werjyfGxz2ZnUBAmZUSeP",selected:!1,locked:!1},{type:"Tree",name:"Linden",cx:-13.237896819150908,cy:7.786733045780586,cz:.15,lx:12.449941214324092,lz:9.058629663838381,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9HVmsEYn5NmhERnCHtLeTG",selected:!1,locked:!1},{type:"Human",name:"Jacob",cx:16.698553189544626,cy:-13.302196684361064,cz:.1500000059604645,lx:.8,ly:.8,lz:1.82,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"oVwVpc1MsHV8dEBsQ3Qes9",selected:!1},{type:"Human",name:"Jacqueline",cx:16.92629922811857,cy:-10.360458138569996,cz:.1500000059604645,lx:.43,ly:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"go7YPG6xiBGLHMPZz7e4qo",selected:!1},{type:"Flower",name:"Hibiscus",cx:-.09277991929455354,cy:.3164809017961403,cz:.15,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"975HgY9tQaZ5QeqbgzHx3y",selected:!1},{type:"Flower",name:"Hibiscus",cx:2.3987692101921008,cy:.2735471847110773,cz:.1500000059604645,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"edrMt5m6ycQCMvY4tyMhZK",selected:!1},{type:"Tree",name:"Fan Palm",cx:-16.84484975237295,cy:-12.927386696052167,cz:.15,lx:4.076837194726303,lz:6.270754609829865,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"pzKai5MWnLpM5xYggPryb1",selected:!1},{type:"Human",name:"Jaye",cx:-.11721899052498141,cy:8.102455442033538,cz:.1500000059604645,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"o65jp32RsZKq9pnvJ8qjFn",selected:!1,ly:.55},{type:"Foundation",cx:-6.355619144447829,cy:-57.87489141106073,cz:.05,lx:17.250094637989044,ly:17.442537041091708,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xjGay2mVopjsp4Ndv4B8Eh",enableGroupMaster:!0},{type:"Wall",cx:.15275097566949114,cy:7.153909729519647,cz:0,lx:6,ly:.3,lz:3,fill:"Full",relativeAngle:3.141592653589793,leftPoint:[3.152750975669491,7.153909729519647,.1],rightPoint:[-2.847249024330509,7.153909729519647,.1],leftJoints:["hqsA2Cy29sRNBoj4v9Cr5r"],rightJoints:["gQNkn8fsCop5ur3PiXUxVi"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"7T7V4fAArnXnf77GARr48T",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.347249024330509,cy:5.403909729519647,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:4.003762708257019,leftPoint:[-2.847249024330509,7.153909729519647,.1],rightPoint:[-5.847249024330509,3.653909729519647,.1],leftJoints:["7T7V4fAArnXnf77GARr48T"],rightJoints:["j6xhxcV6gu7NJTE1m7PHjp"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"gQNkn8fsCop5ur3PiXUxVi",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:4.652750975669491,cy:5.403909729519647,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:2.279422598922567,leftPoint:[6.152750975669491,3.653909729519647,.1],rightPoint:[3.152750975669491,7.153909729519647,.1],leftJoints:["xwZdPNzp8AKwovnxoLD3nU"],rightJoints:["7T7V4fAArnXnf77GARr48T"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"hqsA2Cy29sRNBoj4v9Cr5r",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.847249024330509,cy:1.153909729519647,cz:0,lx:5,ly:.3,lz:3,fill:"Full",relativeAngle:4.712388980384691,leftPoint:[-5.847249024330512,3.653909729519647,.1],rightPoint:[-5.847249024330509,-1.346090270480353,.1],leftJoints:["gQNkn8fsCop5ur3PiXUxVi"],rightJoints:["5HfZoyda9UcsGyCP24zQ6f"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"j6xhxcV6gu7NJTE1m7PHjp",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.347249024330509,cy:-3.096090270480353,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:5.42101525251236,leftPoint:[-5.847249024330509,-1.346090270480353,.1],rightPoint:[-2.847249024330509,-4.846090270480353,.1],leftJoints:["j6xhxcV6gu7NJTE1m7PHjp"],rightJoints:["mDLvATpuRq21i8iZBYi4ta"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"5HfZoyda9UcsGyCP24zQ6f",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.15275097566949114,cy:-4.846090270480353,cz:0,lx:6,ly:.3,lz:3,fill:"Full",relativeAngle:0,leftPoint:[-2.847249024330509,-4.846090270480353,.1],rightPoint:[3.152750975669491,-4.846090270480353,.1],leftJoints:["5HfZoyda9UcsGyCP24zQ6f"],rightJoints:["23GGGVXLMLhDsJPuc4tWdJ"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"mDLvATpuRq21i8iZBYi4ta",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.152750975669491,cy:1.153909729519647,cz:0,lx:5,ly:.3,lz:3,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[6.152750975669491,-1.346090270480353,.1],rightPoint:[6.152750975669491,3.653909729519647,.1],leftJoints:["23GGGVXLMLhDsJPuc4tWdJ"],rightJoints:["hqsA2Cy29sRNBoj4v9Cr5r"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"xwZdPNzp8AKwovnxoLD3nU",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:4.652750975669491,cy:-3.096090270480353,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:.8621700546672264,leftPoint:[3.152750975669491,-4.846090270480353,.1],rightPoint:[6.152750975669491,-1.346090270480353,.1],leftJoints:["mDLvATpuRq21i8iZBYi4ta"],rightJoints:["xwZdPNzp8AKwovnxoLD3nU"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"23GGGVXLMLhDsJPuc4tWdJ",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:0,cy:6.5,cz:0,lx:6,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["8FDqLAdw457E2bhA9XTcY8"],rightJoints:["8RoWdxqFb6i5NdhSc28mnN"],leftPoint:[3,6.5],rightPoint:[-3,6.5],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"84MYXJ2PMaqXsehRJzjVQe",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-4.5,cy:4.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["84MYXJ2PMaqXsehRJzjVQe"],rightJoints:["pk9TBhq9oWST9hGbLUebt3"],leftPoint:[-3,6.5],rightPoint:[-6,3],relativeAngle:4.003762708257019,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8RoWdxqFb6i5NdhSc28mnN",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.5,cy:4.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["vEPCFaMTtBZuQbmTYF61aY"],rightJoints:["84MYXJ2PMaqXsehRJzjVQe"],leftPoint:[6,3],rightPoint:[3,6.5],relativeAngle:2.279422598922567,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8FDqLAdw457E2bhA9XTcY8",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-6.000000000000002,cy:.5,cz:0,lx:5,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["8RoWdxqFb6i5NdhSc28mnN"],rightJoints:["q546XZV5H6AGWKk4L5mFny"],leftPoint:[-6.0000000000000036,3],rightPoint:[-6,-2],relativeAngle:4.712388980384691,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pk9TBhq9oWST9hGbLUebt3",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-4.5,cy:-3.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["pk9TBhq9oWST9hGbLUebt3"],rightJoints:["5MSQKrS7n6GSqPGqdxq5Bj"],leftPoint:[-6,-2],rightPoint:[-3,-5.5],relativeAngle:5.42101525251236,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q546XZV5H6AGWKk4L5mFny",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-2,cy:-5.5,cz:0,lx:2,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["q546XZV5H6AGWKk4L5mFny"],rightJoints:[],leftPoint:[-3,-5.5,0],rightPoint:[-1,-5.5,0],relativeAngle:0,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5MSQKrS7n6GSqPGqdxq5Bj",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:6,cy:.5,cz:0,lx:5,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["hdi4QkYQSUhV3rb5bWoPyE"],rightJoints:["8FDqLAdw457E2bhA9XTcY8"],leftPoint:[6,-2],rightPoint:[6,3],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vEPCFaMTtBZuQbmTYF61aY",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.5,cy:-3.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["vhyVh2ErPYrdrgRVofCLxz"],rightJoints:["vEPCFaMTtBZuQbmTYF61aY"],leftPoint:[3,-5.5],rightPoint:[6,-2],relativeAngle:.8621700546672264,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hdi4QkYQSUhV3rb5bWoPyE",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-6.206616408300555,cy:-57.696705992331786,cz:.1,lx:17.55559658932802,ly:18.75035650013101,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"86ArGmhZe3wg69cHFHJhHy",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:2,cy:-5.5,cz:0,lx:2,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:[],rightJoints:["hdi4QkYQSUhV3rb5bWoPyE"],leftPoint:[1,-5.5,0],rightPoint:[3,-5.5,0],relativeAngle:0,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vhyVh2ErPYrdrgRVofCLxz",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:0,cy:3.398893115303052,cz:0,lx:3.320044158350688,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["rar8H4qGrUVwxrAVMoviFk"],rightJoints:["oNJ9yc8yVRwjREwej61c5A"],leftPoint:[1.660022079175344,3.398893115303052,0],rightPoint:[-1.660022079175344,3.398893115303052,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rp3dXSxQpb7ynasZ6iB6eD",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.110255927874554,rightUnfilledHeight:4.110255927874554,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-2.490033118763016,cy:2.483806507336846,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["rp3dXSxQpb7ynasZ6iB6eD"],rightJoints:["qFqkwR72frMwniMPRhnRWu"],leftPoint:[-1.660022079175344,3.398893115303052,0],rightPoint:[-3.320044158350688,1.5687198993706395,0],relativeAngle:-2.3074818778158113,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oNJ9yc8yVRwjREwej61c5A",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.057580145705773,rightUnfilledHeight:4.057580145705773,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:2.490033118763016,cy:2.483806507336846,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["8QpMcXYdcYd52x57cuvRwd"],rightJoints:["rp3dXSxQpb7ynasZ6iB6eD"],leftPoint:[3.320044158350688,1.5687198993706395,0],rightPoint:[1.660022079175344,3.398893115303052,0],relativeAngle:2.3074818778158113,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rar8H4qGrUVwxrAVMoviFk",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.100659354320178,rightUnfilledHeight:4.100659354320178,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-3.3200441583506892,cy:.2614533165617733,cz:0,lx:2.6145331656177326,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["oNJ9yc8yVRwjREwej61c5A"],rightJoints:["kihCtvbfxzgerRhgdX2mXc"],leftPoint:[-3.32004415835069,1.5687198993706395,0],rightPoint:[-3.320044158350688,-1.045813266247093,0],relativeAngle:-1.5707963267948957,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qFqkwR72frMwniMPRhnRWu",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.079570215122429,rightUnfilledHeight:4.079570215122429,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-2.490033118763016,cy:-1.960899874213299,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["qFqkwR72frMwniMPRhnRWu"],rightJoints:["jVTcP5pBaEuvpEqr3A1SVZ"],leftPoint:[-3.320044158350688,-1.045813266247093,0],rightPoint:[-1.660022079175344,-2.8759864821795054,0],relativeAngle:-.8341107757739816,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kihCtvbfxzgerRhgdX2mXc",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.134242304497143,rightUnfilledHeight:4.134242304497143,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.320044158350688,cy:.2614533165617733,cz:0,lx:2.6145331656177326,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["nFBw1TRtTNF6p1WGqWPgfw"],rightJoints:["rar8H4qGrUVwxrAVMoviFk"],leftPoint:[3.320044158350688,-1.045813266247093,0],rightPoint:[3.320044158350688,1.5687198993706395,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8QpMcXYdcYd52x57cuvRwd",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.039195103204583,rightUnfilledHeight:4.039195103204583,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:2.490033118763016,cy:-1.960899874213299,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["jVTcP5pBaEuvpEqr3A1SVZ"],rightJoints:["8QpMcXYdcYd52x57cuvRwd"],leftPoint:[1.660022079175344,-2.8759864821795054,0],rightPoint:[3.320044158350688,-1.045813266247093,0],relativeAngle:.8341107757739816,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nFBw1TRtTNF6p1WGqWPgfw",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.108930812815814,rightUnfilledHeight:4.108930812815814,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Foundation",cx:-6.1615980987141725,cy:-56.93879552861954,cz:.05,lx:9.714225983793291,ly:9.80468578734971,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"n5CRoXkagMPz1MK5uJrLb5",selected:!1},{type:"Wall",cx:0,cy:-2.8759864821795054,cz:0,lx:3.320044158350688,ly:.1,lz:6,fill:"Partial",relativeAngle:0,leftPoint:[-1.660022079175344,-2.8759864821795054,0],rightPoint:[1.660022079175344,-2.8759864821795054,0],leftJoints:["kihCtvbfxzgerRhgdX2mXc"],rightJoints:["nFBw1TRtTNF6p1WGqWPgfw"],textureType:"No Wall Texture",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:.5,studWidth:.1,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"jVTcP5pBaEuvpEqr3A1SVZ",structureSpacing:1,structureWidth:.1,structureColor:"white",roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.015344082405362,rightUnfilledHeight:4.015344082405362,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.5743098600216179,thickness:.1,roofType:"Pyramid",roofStructure:"Default",wallsId:["qFqkwR72frMwniMPRhnRWu","kihCtvbfxzgerRhgdX2mXc","jVTcP5pBaEuvpEqr3A1SVZ","nFBw1TRtTNF6p1WGqWPgfw","8QpMcXYdcYd52x57cuvRwd","rar8H4qGrUVwxrAVMoviFk","rp3dXSxQpb7ynasZ6iB6eD","oNJ9yc8yVRwjREwej61c5A"],textureType:"Roof Texture Default",color:"#666666",sideColor:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"smwrqG518CZJrsaW49WWUA",ceiling:!1},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.7649549167327019,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"8QpMcXYdcYd52x57cuvRwd",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"dYYTafeaVyrPGiHr9hT4x7"},{type:"Window",cx:-6739866298094781e-31,cy:.3,cz:.34999999999999987,lx:.809430915963378,ly:.1,lz:.19999999999999973,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rar8H4qGrUVwxrAVMoviFk",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"jZbi6wpUUPGF7S266xXdZb"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.9036024392790976,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rp3dXSxQpb7ynasZ6iB6eD",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"dAbndkGsGZCPSQ6cfeGiaG"},{type:"Window",cx:-6290541878221795e-31,cy:.3,cz:.3499999999999999,lx:.8094309159633778,ly:.1,lz:.19999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"nFBw1TRtTNF6p1WGqWPgfw",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"kSuLif4Wir4urUXskyaV4U"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.9036024392790976,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"jVTcP5pBaEuvpEqr3A1SVZ",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"uzbQK6qBJiZchj62eoVcS2"},{type:"Window",cx:-6290541878221795e-31,cy:.3,cz:.3499999999999999,lx:.8094309159633778,ly:.1,lz:.19999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"kihCtvbfxzgerRhgdX2mXc",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"qdqEUWrM4pFbL4aKbpxg5S"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.7649549167327019,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"qFqkwR72frMwniMPRhnRWu",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"387ytv7CWaVRo77xEcJ6ve"},{type:"Window",cx:-5841217458348811e-31,cy:.3,cz:.34999999999999987,lx:.8094309159633776,ly:.1,lz:.19999999999999973,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"oNJ9yc8yVRwjREwej61c5A",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"5pj2DDSnCjnbjFqVV7kdtA"},{type:"Human",name:"Jane",cx:3.736227180070431,cy:-.07270961061114178,cz:.1500000059604645,lx:.4,ly:.4,lz:1.67,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"mXtLTeWPeXbh8ZPv5wFnjK",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["mDLvATpuRq21i8iZBYi4ta"],ridgeWidth:2.994634976387277,textureType:"Roof Texture Default",color:"#666666",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"11NehXdVvEJW3XyYbWtXPQ",ceiling:!1}],M9n={weatherPanelX:0,cameraZoom:11.974738784767576,showInstructionPanel:!1,orthographic:!1,showYearlyUpdraftTowerYieldPanel:!1,yearlyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},cameraPosition:[2.0567122000034246,-82.20963270587687,2.469053520866666],showYearlyHeliostatYieldPanel:!1,mapTilt:0,groundPanelY:0,heliodonPanelX:0,showMapPanel:!1,heliodonPanelY:0,showElevationAngle:!0,solarRadiationHeatMapReflectionOnly:!1,groundImage:!1,mapWeatherStations:!1,showDailyParabolicTroughYieldPanel:!1,evolutionPanelRect:{x:0,y:0,width:640,height:400},theme:"Default",dailyPvYieldPanelRect:{height:400,x:0,width:600,y:0},dailyHeliostatYieldPanelRect:{height:400,width:600,y:0,x:0},showDailyLightSensorPanel:!1,yearlyUpdraftTowerYieldPanelRect:{y:0,width:600,height:400,x:0},groundColor:"#0062b1",showGroundPanel:!1,weatherPanelY:0,yearlyLightSensorPanelX:0,showDiurnalTemperaturePanel:!1,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelY:0,yearlyLightSensorPanelRect:{y:0,x:0,height:500,width:600},showDailyParabolicDishYieldPanel:!1,showDailyHeliostatYieldPanel:!1,yearlyLightSensorPanelShowDaylight:!1,autoRotate:!1,dailyParabolicTroughYieldPanelRect:{width:600,y:0,x:0,height:400},dailyPvYieldPanelY:1,yearlyPvYieldPanelRect:{height:400,y:0,width:600,x:0},mapPanelX:0,yearlyLightSensorPanelShowClearness:!1,dailyLightSensorPanelX:-1277,stickyNotePanelX:5,yearlyFresnelReflectorYieldPanelRect:{width:600,y:0,height:400,x:0},visibilityResultsPanelRect:{width:600,y:0,x:0,height:470},mapType:"hybrid",yearlyParabolicTroughYieldPanelRect:{x:0,height:400,width:600,y:0},solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelRect:{width:600,x:0,y:0,height:400},showSolarPanelVisibilityResultsPanel:!1,showEvolutionPanel:!1,showDesignInfoPanel:!1,showAzimuthAngle:!0,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:4,showSunAngles:!1,stickyNotePanelY:2,dailyLightSensorPanelRect:{width:600,y:0,x:0,height:360},showSiteInfoPanel:!0,mapZoom:17,shadowEnabled:!0,showStickyNotePanel:!1,showYearlyFresnelReflectorYieldPanel:!1,cameraPosition2D:[35.60900958192718,-37.58389220703244,150],yearlyParabolicDishYieldPanelRect:{width:600,x:0,height:400,y:0},showHeliodonPanel:!1,showDailyPvYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showZenithAngle:!0,panCenter:[0,0,0],showYearlyParabolicTroughYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!1,dailyLightSensorPanelY:525,axes:!1,dailyUpdraftTowerYieldPanelRect:{height:550,x:0,width:640,y:0},enableRotate:!0,dailyFresnelReflectorYieldPanelRect:{x:0,y:0,height:400,width:600},showSolarRadiationHeatmap:!1,stickyNotePanelRect:{height:300,x:0,y:0,width:400},heliodon:!1,weatherPanelRect:{height:500,width:500,x:0,y:0},showWeatherPanel:!1,diurnalTemperaturePanelRect:{height:400,y:0,width:600,x:0},showEconomicsPanel:!1,mapPanelY:0,panCenter2D:[35.60900958192718,-37.5837422003028,-44548927895332545e-21],groundPanelX:0,showYearlyParabolicDishYieldPanel:!1,waterSurface:!0},I9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},z9n=1,D9n={tiltAngle:0,poleHeight:1,rowAxis:"Zonal",rowsPerRack:1,pvModelName:"SPR-X21-335-BLK",interRowSpacing:2,orientation:"Landscape",poleSpacing:3},E9n={rowAxis:"Zonal",minimumRowsPerRack:1,maximumInterRowSpacing:10,orientation:"Landscape",pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,minimumInterRowSpacing:2,maximumTiltAngle:1.5707963267948966,maximumRowsPerRack:6,poleSpacing:5,poleHeight:1},k9n={particleSwarmOptimizationParams:{convergenceThreshold:.01,searchMethod:1,vmax:.01,socialCoefficient:.1,cognitiveCoefficient:.1,objectiveFunctionType:1,localSearchRadius:.1,swarmSize:20,maximumSteps:5,problem:"Solar Panel Tilt Angle",inertia:.8},geneticAlgorithmParams:{convergenceThreshold:.01,localSearchRadius:.1,mutationRate:.1,populationSize:20,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionRate:.5,crossoverRate:.5,objectiveFunctionType:1,selectionMethod:1,maximumGenerations:5}},F9n={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},L9n=[],W9n={docid:x9n,time:b9n,timestamp:S9n,userid:T9n,owner:P9n,email:C9n,world:R9n,elements:H9n,view:M9n,graphState:I9n,evolutionMethod:z9n,solarPanelArrayLayoutParams:D9n,solarPanelArrayLayoutConstraints:E9n,evolutionaryAlgorithmState:k9n,economicsParams:F9n,notes:L9n},N9n="aAQ9PBNcxmy54LzwEjDjx6",U9n="02/04/2023 01:07 pm",B9n=1675534023944,j9n="QWecNcxhyvP6j6sBN11hBsfZDau1",Y9n=null,O9n=null,_9n={latitude:29.97967840899827,solarRadiationHeatmapGridCellSize:2,pvGridCellSize:.5,timesPerHour:1,longitude:31.1328118254,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Unnamed Road, Nazlet El-Semman, Al Haram, Giza Governorate 3512201, Egypt",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!1,noAnimationForHeatmapSimulation:!1},V9n=[{cy:1.8727761492415205,normal:[0,0,1],lz:.1,ly:33.71645112830097,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:3.8026045865356792,cz:.05,rotation:[0,0,0],lx:37.627215506503944,selected:!1,parentId:"Ground",color:"#939e68"},{type:"Human",name:"Jack",cx:-20.29704864931282,cy:2.5303584520169977,cz:17763568394002505e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Wall",cx:0,cy:16.296284712012135,cz:0,lx:36.37297498962048,ly:.3,lz:.1,relativeAngle:3.141592653589793,leftPoint:[18.18648749481024,16.296284712012135,0],rightPoint:[-18.18648749481024,16.296284712012135,0],leftJoints:["x8opa4joDX2ozyr1wxLBFd"],rightJoints:["cbbyeikFQdrAHuD95BDSGz"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nTB9SvRUJL9zbmnaWUjcpm",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:-18.18648749481024,cy:-17763568394002505e-31,cz:0,lx:32.59256942402426,ly:.3,lz:.1,relativeAngle:-1.5707963267948966,leftPoint:[-18.18648749481024,16.29628471201213,0],rightPoint:[-18.18648749481024,-16.296284712012135,0],leftJoints:["nTB9SvRUJL9zbmnaWUjcpm"],rightJoints:["h8nRc5JnZSmPUtQYLCpzpo"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cbbyeikFQdrAHuD95BDSGz",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:18.18648749481024,cy:0,cz:0,lx:32.59256942402427,ly:.3,lz:.1,relativeAngle:1.5707963267948966,leftPoint:[18.18648749481024,-16.296284712012135,0],rightPoint:[18.18648749481024,16.296284712012135,0],leftJoints:["h8nRc5JnZSmPUtQYLCpzpo"],rightJoints:["nTB9SvRUJL9zbmnaWUjcpm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x8opa4joDX2ozyr1wxLBFd",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:0,cy:-16.296284712012135,cz:0,lx:36.37297498962048,ly:.3,lz:.1,relativeAngle:0,leftPoint:[-18.18648749481024,-16.296284712012135,0],rightPoint:[18.18648749481024,-16.296284712012135,0],leftJoints:["cbbyeikFQdrAHuD95BDSGz"],rightJoints:["x8opa4joDX2ozyr1wxLBFd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h8nRc5JnZSmPUtQYLCpzpo",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["x8opa4joDX2ozyr1wxLBFd","nTB9SvRUJL9zbmnaWUjcpm","cbbyeikFQdrAHuD95BDSGz","h8nRc5JnZSmPUtQYLCpzpo"],textureType:"No Roof Texture",color:"#f1bd5f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k5DPAgfcA7iEV8uJMULHoF",sideColor:"#f1bd5f",rise:23.904675932583867,ceiling:!1},{type:"Wall",cx:0,cy:20.99732159077814,cz:0,lx:37.31092134412355,ly:.3,lz:.22250033892788987,leftJoints:["7WsdqvYxWkA27jvXNo2Mm1"],rightJoints:["tZM6D9KrMoJw5byU4Mef1i"],leftPoint:[18.655460672061775,20.99732159077814,0],rightPoint:[-18.655460672061775,20.99732159077814,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"kfxJiyZVakywzVGMDtjswR",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:-18.655460672061775,cy:-17763568394002505e-31,cz:0,lx:41.99464318155627,ly:.3,lz:.22250033892788987,leftJoints:["kfxJiyZVakywzVGMDtjswR"],rightJoints:["vf6wgmEsbmPCE8KcphJGqP"],leftPoint:[-18.655460672061775,20.997321590778135,0],rightPoint:[-18.655460672061775,-20.99732159077814,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"tZM6D9KrMoJw5byU4Mef1i",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:18.655460672061775,cy:0,cz:0,lx:41.99464318155628,ly:.3,lz:.22250033892788987,leftJoints:["vf6wgmEsbmPCE8KcphJGqP"],rightJoints:["kfxJiyZVakywzVGMDtjswR"],leftPoint:[18.655460672061775,-20.99732159077814,0],rightPoint:[18.655460672061775,20.99732159077814,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"7WsdqvYxWkA27jvXNo2Mm1",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:0,cy:-20.99732159077814,cz:0,lx:37.31092134412355,ly:.3,lz:.22250033892788987,leftJoints:["tZM6D9KrMoJw5byU4Mef1i"],rightJoints:["7WsdqvYxWkA27jvXNo2Mm1"],leftPoint:[-18.655460672061775,-20.99732159077814,0],rightPoint:[18.655460672061775,-20.99732159077814,0],relativeAngle:0,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"vf6wgmEsbmPCE8KcphJGqP",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{id:"vsaCHfjwMoXqY3LhUh3AYn",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#f1bd5f",normal:[0,0,1],rotation:[0,0,0],parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["7WsdqvYxWkA27jvXNo2Mm1","kfxJiyZVakywzVGMDtjswR","tZM6D9KrMoJw5byU4Mef1i","vf6wgmEsbmPCE8KcphJGqP"],selected:!1,sideColor:"#f1bd5f",rise:26.582665517432964,ceiling:!1},{type:"Foundation",cx:12.856852941052583,cy:43.808036262261155,cz:.05,lx:38.5975048387485,ly:43.44273432574787,lz:.22250033892788987,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#939e68",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7wPQXpdL4AkSgqr5d4ivTf",selected:!1},{type:"Wall",cx:0,cy:10.377063829820637,cz:0,lx:24.393816584690047,ly:.3,lz:.1,leftJoints:["c1ip4EoLV1xG5UrcQjKJFf"],rightJoints:["aXfuVy74x5TuX5PAxrYsmb"],leftPoint:[12.196908292345023,10.377063829820637,0],rightPoint:[-12.196908292345023,10.377063829820637,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"6n1nr1JX4st4jvQ9gUV4ia",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:-12.196908292345023,cy:0,cz:0,lx:20.754127659641274,ly:.3,lz:.1,leftJoints:["6n1nr1JX4st4jvQ9gUV4ia"],rightJoints:["mU8UDvpwYrQexfz1wzirNx"],leftPoint:[-12.196908292345023,10.377063829820637,0],rightPoint:[-12.196908292345023,-10.377063829820637,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"aXfuVy74x5TuX5PAxrYsmb",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:12.196908292345023,cy:0,cz:0,lx:20.754127659641274,ly:.3,lz:.1,leftJoints:["mU8UDvpwYrQexfz1wzirNx"],rightJoints:["6n1nr1JX4st4jvQ9gUV4ia"],leftPoint:[12.196908292345023,-10.377063829820637,0],rightPoint:[12.196908292345023,10.377063829820637,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"c1ip4EoLV1xG5UrcQjKJFf",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:0,cy:-10.377063829820637,cz:0,lx:24.393816584690047,ly:.3,lz:.1,leftJoints:["aXfuVy74x5TuX5PAxrYsmb"],rightJoints:["c1ip4EoLV1xG5UrcQjKJFf"],leftPoint:[-12.196908292345023,-10.377063829820637,0],rightPoint:[12.196908292345023,-10.377063829820637,0],relativeAngle:0,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"mU8UDvpwYrQexfz1wzirNx",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{id:"6Z9o7PiPN8Lg87aGjnheF2",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#f1bd5f",normal:[0,0,1],rotation:[0,0,0],parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["c1ip4EoLV1xG5UrcQjKJFf","6n1nr1JX4st4jvQ9gUV4ia","aXfuVy74x5TuX5PAxrYsmb","mU8UDvpwYrQexfz1wzirNx"],selected:!1,sideColor:"#f1bd5f",rise:16.854120951667817,ceiling:!1},{type:"Foundation",cx:45.25308331556635,cy:20.416929673194815,cz:.05,lx:25.23498267381729,ly:21.469787234111664,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#939e68",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vEZNUjoALqFNdeECwYexcJ",selected:!1},{type:"Human",name:"Jaah",cx:39.44168754364077,cy:-40.717132307246644,cz:0,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mXBNsLzvysAACaXT4Ret47",selected:!1,ly:.74},{type:"Tree",name:"Coconut",cx:42.806669480662926,cy:-43.46857047024383,cz:0,lx:7.465549642203886,lz:12.033907674351804,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nN965AFg3yMtHobvcGg5R7",selected:!1},{type:"Tree",name:"Coconut",cx:41.00137659683238,cy:-40.141651116333534,cz:0,lx:5.412336834290683,lz:8.971899696117683,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2anvXQ4u2H4Gmk1Wk9rdgM",selected:!1},{type:"Tree",name:"Coconut",cx:45.13152925903263,cy:-41.184279758308485,cz:0,lx:4.120170321128103,lz:6.431070332387913,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kUerK8k3CG9QPyDqpE1w3s",selected:!1},{type:"Tree",name:"Coconut",cx:42.724610065173344,cy:-37.37569784643946,cz:-8881784197001252e-31,lx:5.285861196217217,lz:7.810076760608297,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"6e2aW2xXuEPds7gKc1zyEZ",selected:!1},{type:"Human",name:"Jiya",cx:38.48713465659762,cy:-41.18611455055127,cz:0,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"waRJTQwVoTc2m73FTmZtku",selected:!1,ly:.6}],G9n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Dune",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#fcde9d",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[29.718967845382636,-60.9210785032056,6.195253307893477],panCenter:[20.220405140712533,12.500928314079184,6.195253307893477],orthographic:!1,enableRotate:!0,cameraZoom:13.966745921875,showInstructionPanel:!0,cameraPosition2D:[2.7117906831589016,-.17118900317690566,150],panCenter2D:[2.7117906831589016,-.17103899651007715,5772019952800763e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1},X9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},J9n=1,K9n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},q9n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},$9n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Q9n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Z9n=[],e3n={docid:N9n,time:U9n,timestamp:B9n,userid:j9n,owner:Y9n,email:O9n,world:_9n,elements:V9n,view:G9n,graphState:X9n,evolutionMethod:J9n,solarPanelArrayLayoutParams:K9n,solarPanelArrayLayoutConstraints:q9n,evolutionaryAlgorithmState:$9n,economicsParams:Q9n,notes:Z9n},t3n="cTcUvKrDVjKVCsa7Bc6eWP",n3n="07/11/2023 11:15 am",o3n=1689088517320,i3n="QWecNcxhyvP6j6sBN11hBsfZDau1",r3n=null,a3n=null,l3n={date:"5/1/2022, 11:00:00 AM",timesPerHour:1,noAnimationForHeatmapSimulation:!1,cameraZoom:35.16173831821251,latitude:20.6834718,address:"Chícharo 1, Agua Clara, 20263 Aguascalientes, Ags, Mexico",orthographic:!1,pvGridCellSize:.5,noAnimationForSolarPanelSimulation:!1,solarRadiationHeatmapGridCellSize:2,name:"default",longitude:-88.56849969999999,countryCode:"MX",ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]}},s3n=[{normal:[0,0,1],color:"#ffffff",rotation:[0,0,-.4308260576178866],type:"Foundation",lx:7.036992589214696,ly:30.510947098235302,lz:.1,parentId:"Ground",cx:-27.085409900327864,cy:-75.75391737780706,cz:.05,id:"of4fAMi2p9MKmo6JDUYnfX",locked:!1,selected:!1},{normal:[0,0,1],enableGroupMaster:!0,color:"#ffffff",rotation:[0,0,-.4308260576178866],type:"Cuboid",lx:56,ly:56,lz:3,parentId:"Ground",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-18.375019902136223,cy:-56.51798491947705,cz:1.5,id:"wiH8vD751NzePoNE489Zmz",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:50.63868728162561,ly:51,lz:3,parentId:"wiH8vD751NzePoNE489Zmz",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.08666355805458079,cy:.07433002082287654,cz:1.5,id:"vEE1TP3rTAVaRcwDoKZkXG",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:46,ly:46,parentId:"vEE1TP3rTAVaRcwDoKZkXG",lz:3,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.07205603943225766,cy:-.3609974280100564,cz:1.5,id:"64zAV4AXgf3acGYiGgbHtk",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:41,ly:41,parentId:"64zAV4AXgf3acGYiGgbHtk",lz:3,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.2179635556946673,cy:-.2714914561985524,cz:1.5,id:"6tvwCY3BfS5DKToaqrjH6b",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:36,ly:36,lz:3,parentId:"6tvwCY3BfS5DKToaqrjH6b",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.20649365162019312,cy:-.07640192198699511,cz:1.5,id:"w5DovAeNvLxdFUsA55MTUK",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:31,ly:31,lz:3,parentId:"w5DovAeNvLxdFUsA55MTUK",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.21796368761107066,cy:.27148491092499955,cz:1.5,id:"xkbrwv3RHrtDWs4fwBjHcK",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:26,ly:26,lz:3,parentId:"xkbrwv3RHrtDWs4fwBjHcK",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:12533374448675178e-22,cy:-2726892110443256e-21,cz:1.5,id:"pbMzPvQHYgJQunHq51J49Z",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:21,ly:21,lz:3,parentId:"pbMzPvQHYgJQunHq51J49Z",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.07647088824865858,cy:-.20646417621273133,cz:1.5,id:"mnvyeK5fN3hX9sLjvEKUuf",locked:!1,selected:!1,stackable:!0},{color:"white",rightJoints:["snp41n8epU65cJmpWYe2JY"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["7HaAi9SXBNPgTWdiQyjMiG"],lx:20.02647993516194,type:"Wall",ly:.3,showLabel:!1,lineWidth:.2,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"25Fv92JqG6V9Az4Vdn87cm",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],foundationId:"of4fAMi2p9MKmo6JDUYnfX",rotation:[0,0,-.4308260576178866],lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-3.4603589017376857,cy:-.3102252245060395,wallStructure:"Default",leftPoint:[-3.4603589017376843,9.703014743074931,0],cz:0,relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["25Fv92JqG6V9Az4Vdn87cm"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["nyGwFjAxRx8nejSDNHRuJf"],type:"Wall",lx:6.747607724168489,ly:.3,lineWidth:.2,showLabel:!1,lz:24.07205708567741,roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"7HaAi9SXBNPgTWdiQyjMiG",leftRoofHeight:24.07205708567741,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],foundationId:"of4fAMi2p9MKmo6JDUYnfX",rotation:[0,0,-.4308260576178866],lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-.08657971268263398,cy:9.715917584374791,cz:0,wallStructure:"Default",leftPoint:[3.2871994763724164,9.728820425674652,0],relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["7HaAi9SXBNPgTWdiQyjMiG"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["snp41n8epU65cJmpWYe2JY"],lx:20.026479935161944,type:"Wall",ly:.3,lz:.1,showLabel:!1,lineWidth:.2,centerRoofHeight:[.5,24.07205708567741],roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"nyGwFjAxRx8nejSDNHRuJf",leftRoofHeight:.1,locked:!1,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:3.2871994763724164,cy:-.2844195419063196,cz:0,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["nyGwFjAxRx8nejSDNHRuJf"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["25Fv92JqG6V9Az4Vdn87cm"],lx:6.747607724168491,type:"Wall",ly:.3,lineWidth:.2,lz:.1,showLabel:!1,roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"snp41n8epU65cJmpWYe2JY",leftRoofHeight:.1,structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-.08657971268263531,cy:-10.310562350787151,wallStructure:"Default",cz:0,leftPoint:[-3.460358901737687,-10.32346519208701,0],relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],sideColor:"#ffffff",ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",ly:0,lz:0,lineWidth:.2,showLabel:!1,overhang:0,wallsId:["snp41n8epU65cJmpWYe2JY"],textureType:"No Roof Texture",id:"sGVLr2RiApAro2AZTF4Soq",locked:!1,selected:!1,normal:[0,0,1],ceiling:!1,roofStructure:"Default",roofType:"Gable",rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:0,cy:0,cz:0,rise:0},{color:"white",rightJoints:["p76sjxtkpQv2qS73PYE2kL"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["6JMAttAcVe64vobp1GLMxZ"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"wqgKTMGphRnmbTc7egg7A4",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-3.4603589017376857,cy:-.3102252245060395,leftPoint:[-3.4603589017376843,9.703014743074931,0],wallStructure:"Default",cz:0,relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["wqgKTMGphRnmbTc7egg7A4"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["1bHrmE4SnxxPJS3An7ttHy"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"6JMAttAcVe64vobp1GLMxZ",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-.08657971268263398,cy:9.715917584374791,wallStructure:"Default",cz:0,leftPoint:[3.2871994763724164,9.728820425674652,0],relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["6JMAttAcVe64vobp1GLMxZ"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["p76sjxtkpQv2qS73PYE2kL"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:.1,id:"1bHrmE4SnxxPJS3An7ttHy",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:3.2871994763724164,cy:-.2844195419063196,leftPoint:[3.2871994763724164,-10.297659509487291,0],wallStructure:"Default",cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["1bHrmE4SnxxPJS3An7ttHy"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["wqgKTMGphRnmbTc7egg7A4"],type:"Wall",lx:6.747607724168491,ly:.3,lz:.1,roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",id:"p76sjxtkpQv2qS73PYE2kL",leftRoofHeight:.1,locked:!1,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"6hcF56jh7q4LNRLycVpoD9",rotation:[0,0,-2.001622384412783],fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-.08657971268263531,cy:-10.310562350787151,wallStructure:"Default",cz:0,leftPoint:[-3.460358901737687,-10.32346519208701,0],relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],sideColor:"#ffffff",ridgeLeftPoint:[-.5,1],type:"Roof",lx:0,ly:0,lz:0,wallsId:["p76sjxtkpQv2qS73PYE2kL"],overhang:0,textureType:"No Roof Texture",id:"okzyGygyV9CuUuCgZJHxtL",locked:!1,selected:!1,normal:[0,0,1],ceiling:!1,roofStructure:"Default",roofType:"Gable",foundationId:"6hcF56jh7q4LNRLycVpoD9",rotation:[0,0,-2.001622384412783],parentId:"6hcF56jh7q4LNRLycVpoD9",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-2.001622384412783],solarAbsorberPipe:{},solarUpdraftTower:{},type:"Foundation",lx:7.036992589214696,ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-37.19656198570662,cy:-48.22218639532002,cz:.05,id:"6hcF56jh7q4LNRLycVpoD9",locked:!1,selected:!1},{color:"white",rightJoints:["6eET4gZfKAok8BawnfpVP5"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["4tcfgq35BNQEAuA7Q4gK2w"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"ewTz3qtVabc3vib1o37RWk",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,1.1399702691770102],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-3.4603589017376857,cy:-.3102252245060395,cz:0,wallStructure:"Default",leftPoint:[-3.4603589017376843,9.703014743074931,0],relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["ewTz3qtVabc3vib1o37RWk"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["vvdQFgS7BMWgSzhZ3WPn3v"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"4tcfgq35BNQEAuA7Q4gK2w",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-.08657971268263398,cy:9.715917584374791,wallStructure:"Default",leftPoint:[3.2871994763724164,9.728820425674652,0],cz:0,relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["4tcfgq35BNQEAuA7Q4gK2w"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["6eET4gZfKAok8BawnfpVP5"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:.1,id:"vvdQFgS7BMWgSzhZ3WPn3v",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:3.2871994763724164,cy:-.2844195419063196,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["vvdQFgS7BMWgSzhZ3WPn3v"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["ewTz3qtVabc3vib1o37RWk"],lx:6.747607724168491,type:"Wall",ly:.3,lz:.1,roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:.1,id:"6eET4gZfKAok8BawnfpVP5",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-.08657971268263531,cy:-10.310562350787151,leftPoint:[-3.460358901737687,-10.32346519208701,0],wallStructure:"Default",cz:0,relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],sideColor:"#ffffff",type:"Roof",lx:0,ly:0,lz:0,overhang:0,wallsId:["6eET4gZfKAok8BawnfpVP5"],textureType:"No Roof Texture",id:"u4Mpv2GeNWKchY8947S8v4",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,1.1399702691770102],solarAbsorberPipe:{},type:"Foundation",solarUpdraftTower:{},lx:7.036992589214696,ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-.019117338301022357,cy:-64.89645982858704,cz:.05,id:"8gpLzgkZ8nK4SDTRc45eLs",locked:!1,selected:!1},{color:"white",rightJoints:["2UujwtSnnVJqGDCJ3BBRm9"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["2owQUpRggJZAfJhkbdGdV7"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"1S8fhLLB2Yj68UzfGctHxC",leftRoofHeight:24.07205708567741,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-3.4603589017376857,cy:-.3102252245060395,wallStructure:"Default",cz:0,leftPoint:[-3.4603589017376843,9.703014743074931,0],relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["1S8fhLLB2Yj68UzfGctHxC"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["ie77KsfUeoYHMvNbdg5A7r"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"2owQUpRggJZAfJhkbdGdV7",leftRoofHeight:24.07205708567741,locked:!1,structureWidth:.1,selected:!1,eavesLength:0,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-.08657971268263398,cy:9.715917584374791,cz:0,leftPoint:[3.2871994763724164,9.728820425674652,0],wallStructure:"Default",relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["2owQUpRggJZAfJhkbdGdV7"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["2UujwtSnnVJqGDCJ3BBRm9"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",leftRoofHeight:.1,id:"ie77KsfUeoYHMvNbdg5A7r",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:3.2871994763724164,cy:-.2844195419063196,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["ie77KsfUeoYHMvNbdg5A7r"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["1S8fhLLB2Yj68UzfGctHxC"],type:"Wall",lx:6.747607724168491,ly:.3,lz:.1,roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"2UujwtSnnVJqGDCJ3BBRm9",leftRoofHeight:.1,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-.08657971268263531,cy:-10.310562350787151,leftPoint:[-3.460358901737687,-10.32346519208701,0],cz:0,wallStructure:"Default",relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],sideColor:"#ffffff",type:"Roof",lx:0,ly:0,lz:0,wallsId:["2UujwtSnnVJqGDCJ3BBRm9"],overhang:0,textureType:"No Roof Texture",id:"vaffHA2pvgk7DEwhzj6gNE",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-3.5724187112076797],solarAbsorberPipe:{},type:"Foundation",lx:7.036992589214696,solarUpdraftTower:{},ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-9.922732853325604,cy:-37.99179481559905,cz:.05,id:"hmZjWWeZz4S4GgQzaeEoDs",locked:!1,selected:!1},{color:"white",rightJoints:["w8ioBPnjpEK1kCVPvdyXSf"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["o5TUM6k7TUF5pcoV1nrf3P"],lx:15.990395824622178,type:"Wall",ly:.3,lz:30.5,centerRoofHeight:[-.5,30.5],roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",leftRoofHeight:30.5,id:"9EahYNQZypYcfg5Yptfmkk",locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[-8.119283016182168,-17.843264137803672,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-8.119283016182168,cy:-9.848066225492586,cz:0,leftPoint:[-8.119283016182163,-1.852868313181495,.1],wallStructure:"Default",relativeAngle:-1.570796326794897,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["9EahYNQZypYcfg5Yptfmkk"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["jbmSv4P2XCW2pGLUzPPdFg"],lx:15.828210447987294,type:"Wall",ly:.3,lz:30.5,roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",id:"o5TUM6k7TUF5pcoV1nrf3P",leftRoofHeight:30.5,structureWidth:.1,locked:!1,eavesLength:.2,selected:!1,rightPoint:[-8.119283016182163,-1.852868313181495,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-.2051844979525692,cy:-1.8425658765917845,cz:0,leftPoint:[7.7089140202770245,-1.8322634400020812,.1],wallStructure:"Default",relativeAngle:-3.140290871618499,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["o5TUM6k7TUF5pcoV1nrf3P"],structureSpacing:2,structureColor:"white",rightRoofHeight:null,leftJoints:["w8ioBPnjpEK1kCVPvdyXSf"],type:"Wall",lx:15.99039582462218,ly:.3,lz:30.5,centerRoofHeight:[.4999999999999998,30.5],roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",leftRoofHeight:30.5,id:"jbmSv4P2XCW2pGLUzPPdFg",locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[7.7089140202770245,-1.8322634400020812,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:7.708914020277024,cy:-9.827461352313167,leftPoint:[7.708914020277023,-17.822659264624257,.1],wallStructure:"Default",cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["jbmSv4P2XCW2pGLUzPPdFg"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["9EahYNQZypYcfg5Yptfmkk"],lx:15.828210447987301,type:"Wall",ly:.3,lz:30.5,roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",id:"w8ioBPnjpEK1kCVPvdyXSf",leftRoofHeight:30.5,locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[7.708914020277023,-17.822659264624257,.1],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"tznSPCJVyf8hCJAPieocy5",fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-.20518449795257118,cy:-17.83296170121396,leftPoint:[-8.119283016182168,-17.843264137803672,.1],cz:0,wallStructure:"Default",relativeAngle:.0013017819712943387,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",ly:0,lz:0,wallsId:["w8ioBPnjpEK1kCVPvdyXSf"],overhang:.2,textureType:"No Roof Texture",id:"fpyToZsG3vjeXnpTZcmiFA",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,-3.5724187112076797],foundationId:"tznSPCJVyf8hCJAPieocy5",parentId:"tznSPCJVyf8hCJAPieocy5",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-3.5724187112076797],solarAbsorberPipe:{},solarUpdraftTower:{},type:"Foundation",lx:16.502964739720774,ly:43.56257699656065,lz:.1,parentId:"Ground",cx:-22.491532647648288,cy:-65.93307419737648,cz:.05,id:"tznSPCJVyf8hCJAPieocy5",locked:!1,selected:!1},{color:"#73D8FF",lx:.1263566722575591,type:"Window",tint:"#73D8FF",ly:.3,lineWidth:.2,lz:.08196721311475416,windowType:"Default",showLabel:!1,mullionSpacing:2,archHeight:1,id:"gnr8cDLm7R39CGUTTPWRkH",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},rotation:[0,0,0],foundationId:"tznSPCJVyf8hCJAPieocy5",lineColor:"black",parentId:"o5TUM6k7TUF5pcoV1nrf3P",mullionColor:"white",mullion:!0,frameWidth:.1,cx:9819886079874965e-32,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",windowType:"Default",lz:.08196721311475416,mullionSpacing:2,archHeight:1,id:"kUvytSevD3UrWB3anozSfo",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},rotation:[0,0,0],foundationId:"tznSPCJVyf8hCJAPieocy5",parentId:"w8ioBPnjpEK1kCVPvdyXSf",mullionColor:"white",mullion:!0,frameWidth:.1,cx:.031589168064389835,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",lz:.08196721311475416,windowType:"Default",mullionSpacing:2,archHeight:1,id:"865c35tP58MbX185GC2Zp7",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,0],parentId:"9EahYNQZypYcfg5Yptfmkk",mullionColor:"white",mullion:!0,frameWidth:.1,cx:.0006407972856078512,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",windowType:"Default",lz:.08196721311475416,mullionSpacing:2,archHeight:1,id:"gyCeohTiRvRXSouuRxL1uy",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,0],parentId:"jbmSv4P2XCW2pGLUzPPdFg",mullionColor:"white",mullion:!0,frameWidth:.1,cx:-.030627972135977996,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{normal:[0,1,0],rotation:[0,0,-2.001622384412783],lx:.494,type:"Human",ly:.494,lz:1.72,parentId:"6hcF56jh7q4LNRLycVpoD9",cx:.6155237368087336,cy:-13.667323728312198,cz:.05000000074505806,name:"Juro",id:"r66dpfqZ6etskNEDBj8h8E",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,0],lx:1.7,type:"Human",ly:1.7,lz:1.68,parentId:"Ground",cx:-48.35423161189035,cy:-82.28031356342372,cz:0,name:"Joan",id:"w1GaaLPU8uoPVtySP11CNB",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,0],type:"Human",lx:1.8,ly:1.8,lz:1.75,parentId:"Ground",cx:-48.773755635528666,cy:-86.19055704219848,cz:0,name:"Joel",id:"hqm4qYUeBiCnkFo8f8K4q3",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.42,ly:.42,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.8,cx:5.159796472851735,cy:-2.2075746120889566,cz:1.5,name:"Jack",id:"57uEnUU7dx25CfhheTRdsb",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],lx:.6,type:"Human",ly:.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.88,cx:9.25006190829934,cy:6.451678309086552,cz:1.5,name:"Joseph",id:"7pCFcU7FA5XV2M6Yw2pNPJ",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.6,ly:.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.65,cx:-.4372003189144742,cy:8.19573281933403,cz:1.5,name:"Jeff",id:"dJi9Dc4GEuLq5NjFPvHqU9",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.695,ly:.695,lz:1.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",cx:-8.6401936835747,cy:.41444427778789716,cz:1.5,name:"Jena",id:"9EHiXxpVGajiXXrSM5hPga",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],lx:.43,type:"Human",ly:.43,lz:1.5,parentId:"mnvyeK5fN3hX9sLjvEKUuf",cx:.007552993564822197,cy:-8.796578961750832,cz:1.5,name:"Jess",id:"7yXJFHLZH8aLmjnxsCJfei",locked:!1,selected:!1}],c3n=117,u3n={yearlyLightSensorPanelY:0,weatherPanelY:0,panCenter2D:[-29.13539419159263,-62.86427427096306,-621339264290157e-19],showWeatherPanel:!1,showYearlyPvYieldPanel:!1,showSiteInfoPanel:!0,weatherPanelX:0,dailyPvYieldPanelY:8,autoRotate:!1,heliodonPanelY:-33,showGroundPanel:!1,dailyPvYieldPanelRect:{width:600,x:0,y:0,height:400},orthographic:!1,heliodon:!1,groundImage:!1,mapTilt:0,showInstructionPanel:!0,groundPanelX:0,cameraPosition2D:[-29.13539419159263,-62.865274648456655,150],enableRotate:!0,cameraPosition:[13.301447909114042,-125.69517498333751,12.672024693594299],mapWeatherStations:!1,waterSurface:!1,mapZoom:17,heliodonPanelX:-1175,groundPanelY:0,shadowEnabled:!0,dailyPvYieldPanelX:-3,panCenter:[-18.660063442267198,-59.376354618489714,6.942819287427842],showMapPanel:!1,showDailyPvYieldPanel:!1,groundColor:"#68ccca",showHeliodonPanel:!1,yearlyPvYieldPanelY:16,mapType:"hybrid",yearlyPvYieldPanelX:-25,cameraZoom:5.839780486775448,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showPvDailyYieldPanel:!0,axes:!1,showDesignInfoPanel:!0,dailyLightSensorPanelX:-240,dailyLightSensorPanelY:232,theme:"Grassland",groundImageType:"hybrid"},d3n={yearlyHeliostatIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},f3n=1,h3n={poleSpacing:3,rowAxis:"Zonal",tiltAngle:0,rowsPerRack:1,pvModelName:"CS6X-355P-FG",poleHeight:1,orientation:"Landscape",interRowSpacing:2},p3n={rowAxis:"Zonal",orientation:"Landscape",minimumInterRowSpacing:2,poleHeight:1,poleSpacing:5,minimumRowsPerRack:1,maximumTiltAngle:1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumRowsPerRack:6,maximumInterRowSpacing:10,minimumTiltAngle:-1.5707963267948966},g3n={geneticAlgorithmParams:{populationSize:20,crossoverRate:.5,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionMethod:1,selectionRate:.5,objectiveFunctionType:1,maximumGenerations:5,convergenceThreshold:.01,mutationRate:.1,localSearchRadius:.1},particleSwarmOptimizationParams:{vmax:.01,inertia:.8,objectiveFunctionType:1,cognitiveCoefficient:.1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,localSearchRadius:.1,searchMethod:1,maximumSteps:5,convergenceThreshold:.01,swarmSize:20}},m3n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},y3n="Tourist Attraction",A3n="The Architect",w3n="Mayan Pyramid",v3n="El templo de Kukulcán,1​ es un edificio prehispánico ubicado en la península de Yucatán, en el actual estado del mismo nombre.",x3n=null,b3n=[],S3n={docid:t3n,time:n3n,timestamp:o3n,userid:i3n,owner:r3n,email:a3n,world:l3n,elements:s3n,sceneRadius:c3n,view:u3n,graphState:d3n,evolutionMethod:f3n,solarPanelArrayLayoutParams:h3n,solarPanelArrayLayoutConstraints:p3n,evolutionaryAlgorithmState:g3n,economicsParams:m3n,modelType:y3n,modelAuthor:A3n,modelLabel:w3n,modelDescription:v3n,designProjectType:x3n,notes:b3n},T3n="h2AeuzPtvyccb7bEaZpofi",P3n="02/04/2023 01:10 pm",C3n=1675534213625,R3n="QWecNcxhyvP6j6sBN11hBsfZDau1",H3n=null,M3n=null,I3n={solarRadiationHeatmapGridCellSize:5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Isfahan Province, Esfahan, Enghelab Sq Chahar Bagh e Abbasi St، JMV8+QX8, Iran",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:32.64464465095667,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:51.66765981904907},z3n=[{type:"Foundation",cx:-24.087406912469724,cy:-.9943329859958538,cz:.3,lx:309.0660757142105,ly:148.37785658395512,lz:.6,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,color:"#4d4d4d",textureType:"Foundation Texture #5",locked:!0},{type:"Wall",cx:153.13833064830163,cy:4.807832977070984,cz:0,lx:15.894482628786152,ly:1,lz:4,relativeAngle:1.6141972072488455,leftPoint:[153.4831396456019,-3.131924655538281,.6],rightPoint:[152.79352165100136,12.747590609680257,.6],leftJoints:["fD1UBEgXL6iTqqgsj9fhry"],rightJoints:["f2zX88pBygszntq4fuFUT5"],textureType:"No Wall Texture",color:"#dd8c55",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"m87y7C5QvZwH9XgiqzyDsg",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-152.5559344954129,cy:3.9555923893088227,cz:0,lx:14.231488793574167,ly:1,lz:4,relativeAngle:4.801490183460943,leftPoint:[-153.1891172963546,11.043109434155966,.6],rightPoint:[-151.92275169447117,-3.13192465553829,.6],leftJoints:["f2zX88pBygszntq4fuFUT5"],rightJoints:["fD1UBEgXL6iTqqgsj9fhry"],textureType:"No Wall Texture",color:"#dd8c55",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"pV4i6Rv9Vpys7aXEi9nnh4",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.45022052258609563,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kjpqeFXZhizkQQr5Hivm1x",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.42320729123092926,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xihM6sKHtJ56MCcntR5Pn3",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3961940598757629,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aeHoYndySbPsgXVjUCfHsH",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3691808285205965,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYyU8ieYT8rZoSrLt7N5sQ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.34216759716543016,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5g3FeTPUp5Q7UE3xvhA98P",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3151543658102638,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rHjZTUsU1eafkXFHxU1PLK",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2881411344550974,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7kG8zf5fGdctVHWVtR3gZG",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26112790309993106,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pyxgv4MkDKunPXUdWXGkeK",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23411467174476475,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dVAeQcMiSZmruJYZ1yoay8",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20710144038959846,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2xN7obuKRCafLdBciyJcgU",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18008820903443218,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hsVmzqgjRUqWu9pUUuohXS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1530749776792659,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"82FTBR7MFe9VjFyizNpuHe",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1260617463240996,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iyR4AwdTWGGfWcPMw3q9yS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09904851496893328,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eUKQkGt2QkcKAQkFbyBd1z",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07203528361376696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pXoTt6VKWQ38KsJoNipigS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.045022052258600634,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"h5HEkcguEMJKHHE9CTcHyU",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.01800882090343431,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3N4zt2BmanxLWvDVeMWxws",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.009004410451732012,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nU4dTNk98whZDM1D6iF1wH",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.036017641806898336,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wn6JZdPWKb4ULL75tPNQNf",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06303087316206465,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vvkCvyRoLDxmsRByGmpBzy",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09004410451723098,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2VBpzGbfV2mQWBqheobZU8",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1170573358723973,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6dAY6WFsTirRsXExVou2P4",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1440705672275636,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rhZQSKVeSziHJnsN1wJJXZ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17108379858272987,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iRL8ygheAyqnavA7YkPNUy",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19809702993789616,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iDwqS1ACo3nwFTgu3ZUn9P",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22511026129306244,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cW4eyEo2JKwejeyCd9U7qY",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25212349264822875,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5Qe1yDDX9nFGs5zfDrsrCP",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2791367240033951,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"miecWuKrFNJbG2jUsMkGdJ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3061499553585615,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1MQhMoVtyd649yMzeGnhiz",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.33316318671372785,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"m8pkHXYqCXHkqKvPBAZwqz",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3601764180688942,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wNkx21Xrdez1MeTxYPd4yM",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3871896494240606,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oUMCjti1nCovRzd2744TQ9",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41420288077922696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"txUufVQNmXshJWF6xqpWhP",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:-.19779782267661816,cy:11.895350021918105,cz:2.268765007024547,lx:305.9873863303283,ly:1,lz:4,leftJoints:["m87y7C5QvZwH9XgiqzyDsg"],rightJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],leftPoint:[152.79352165100153,12.747590609680286,.6],rightPoint:[-153.1891172963546,11.043109434155966,.6],relativeAngle:3.1471631119377927,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.69063753117418],id:"f2zX88pBygszntq4fuFUT5",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,selected:!1,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.45022052258609563,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"saRb1kM5vD2B9Hp74JLvqp",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.42320729123092926,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2bWU8rtwvXjxo9aXzuerLB",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3961940598757629,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYnezXtfnko5GcAor3MWu7",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3691808285205965,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6tZNzJ3NpgTVHKjGhXk5ij",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.34216759716543016,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qYBjBMG217J5xiN31k1FVh",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3151543658102638,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2ZPzdru18Dd9wbgc6tF8hm",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2881411344550974,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4QFUZqYWR8J1sv6MW3wHQR",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26112790309993106,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vxc3EcwAgcYTpUmxZr3Nzt",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23411467174476475,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oVh5ccuC7bRVGc8GT2nG1w",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20710144038959846,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"syZxWKWMgKJbf9AQLw2DbK",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18008820903443218,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kbpuGEAsfRXc3aBZ7yLy35",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1530749776792659,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qHCQ6aJqKx2bg8CTfP6ksL",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1260617463240996,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5yhhQGggQJLxrwyLMTZk76",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09904851496893328,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jbVZKYLq5UCNS54M7MLP7w",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07203528361376696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dMS3cANbFbUy72GtNg5nTX",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.045022052258600634,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dQ1L5CXyaRnqFdZmdJ23Mx",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.01800882090343431,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jJzaRsWSkzzXGUbxhM8Tkd",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.009004410451732012,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9CdAzuCiQLeLt1Rpfn5FGg",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.036017641806898336,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iw4U38q8hoNmj83CegVdj8",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06303087316206465,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1S3q9zUqhnXwjv568RB51K",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09004410451723098,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vF6KJJ1x1WYqaYRYVSjoYX",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1170573358723973,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fT1RMXQH4BRBFk8RzzEyqB",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1440705672275636,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uRmEZhdLDsYdKddFP5mnAZ",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17108379858272987,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qdquxadFLYruszob71gLbV",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19809702993789616,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8n95WzWt7D23dwMcn7s35V",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22511026129306244,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oPjFrXfiZkaoXxsWWdGBLk",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25212349264822875,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vFx9mhnTHbSWtMBawETWGK",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2791367240033951,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"npXN3hv9x7TnSdu9mcCLRN",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3061499553585615,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5sdwP9myEG7quLwU7Xrz47",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.33316318671372785,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jSXDfhhT2GuCgaELbHNqdw",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3601764180688942,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rz4GUsef9nqJhXFRmdEzzD",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3871896494240606,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4bjaEWSRz3V8CCdF71xaCz",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41420288077922696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hmfdn7ZwhGKfmSizXsFFVk",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:.7801939755653722,cy:-3.1319246555382825,cz:2.268765007024547,lx:305.40589134007274,ly:1,lz:4,leftJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],rightJoints:["m87y7C5QvZwH9XgiqzyDsg"],leftPoint:[-151.92275169447117,-3.131924655538283,.6],rightPoint:[153.4831396456019,-3.131924655538281,.6],relativeAngle:-26173711784754543e-33,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.69063753117418],id:"fD1UBEgXL6iTqqgsj9fhry",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,selected:!1,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["f2zX88pBygszntq4fuFUT5","pV4i6Rv9Vpys7aXEi9nnh4","fD1UBEgXL6iTqqgsj9fhry","m87y7C5QvZwH9XgiqzyDsg"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"16a9tkDUC6i3u2A8viWNQi",locked:!0,rise:0,ceiling:!1},{type:"Wall",cx:152.31464905205874,cy:-1.0704041763225653,cz:0,lx:4.732830401162478,ly:1,lz:10,leftJoints:[],rightJoints:["9NUyotcWKkPg4jzRyBrCwn"],leftPoint:[152.6600543110326,-3.411475749046293,.05688696619531554],rightPoint:[151.9692437930849,1.2706673964011728,.05688696619531554],relativeAngle:1.7172810304491228,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"oQZ4yGirBmQVFQ9YDrVVvp",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-153.90823853352632,cy:-1.321690966858462,cz:0,lx:4.36784096744436,ly:1,lz:10,leftJoints:["9NUyotcWKkPg4jzRyBrCwn"],rightJoints:["2EQtF2szHM14rxHpJcmfUo"],leftPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],rightPoint:[-153.27396079991317,-3.4114757490462893,.05688696619531554],relativeAngle:-1.2761193330736746,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"wUpyWMY54tun2oXCsJoZhL",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.2866362370273055,cy:1.0193806058652697,cz:2.268765007024547,lx:306.5121720836238,ly:1,lz:10,leftJoints:["oQZ4yGirBmQVFQ9YDrVVvp"],rightJoints:["wUpyWMY54tun2oXCsJoZhL"],leftPoint:[151.96924379308496,1.2706673964011799,.05688696619531554],rightPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],relativeAngle:-3.13995299992499,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"9NUyotcWKkPg4jzRyBrCwn",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.1369830444213562,cy:-3.2057378745231233,cz:2.268765007024547,lx:304.27424431214394,ly:1,lz:10,leftJoints:["wUpyWMY54tun2oXCsJoZhL"],rightJoints:[],leftPoint:[-153.2739660888427,-3.4114757490462466,0],rightPoint:[151,-3,0],relativeAngle:.0013523191073632186,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"2EQtF2szHM14rxHpJcmfUo",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Stud",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"4UKGcXwxZXJkjRB5gCcWoM",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["9NUyotcWKkPg4jzRyBrCwn","wUpyWMY54tun2oXCsJoZhL","2EQtF2szHM14rxHpJcmfUo","oQZ4yGirBmQVFQ9YDrVVvp"],selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-13.437660062457336,cy:-3.021202416355237,cz:.05,lx:333.3539193128119,ly:8.472793647667807,lz:.05688696619531554,normal:[0,0,1],rotation:[0,0,-1.6859880574265222],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dYN3JG9zLXMcmq6cqLG4jC",selected:!1,locked:!0},{type:"Window",cx:-.4547943367220286,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:0,normal:[0,0,1],rotation:[0,0,0],parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",id:"8c427syBcfkzhApjRu7KiG",locked:!0},{type:"Window",cx:-.4440280432415217,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jdaEWMvReo1Vung8tjzaSx",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4332617497610147,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3B48xu3sHcEjL7mhoaWwHU",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4224954562805078,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5U7EeBcgVpiGapLTZWovwM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4117291628000008,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jSiSuprvH81cqvi89vBqpb",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4009628693194939,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dchxG8ZAQ9uRfitqDkaXnL",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3901965758389869,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rd3v273iMAtFt31eXrFRnG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.37943028235848,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nJWwv1LMiSQJXxdLNgDCWR",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.368663988877973,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tEUzEwitdzqR62Z2hEX3qr",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3578976953974661,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"794wiotJYK86u4ytktDe21",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3471314019169591,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5tf1cYsGZGuXZLvqtY3Wus",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3363651084364522,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6wFEvk3pLRAy6sCQxQ4sPQ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3255988149559452,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vknekJf36fzszYh1h83wqd",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3148325214754383,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x2iBhPct6yCXXun6vuDJJS",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3040662279949313,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rgbja9QpX2jJYhsCViY2yY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2932999345144244,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xyNKQPQWThs67xeiTbWtLY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2825336410339174,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gbTmncsXqQVmz8SeKbxv3d",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2717673475534105,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9PuDkFfgSLMfPq51XevFh7",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2610010540729035,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mJGKG5YpTDDj5mzeHuFzCm",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2502347605923966,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8z2YkWvq4poYzmwNCG45JY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23946846711188963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"emAZ74KFMWSta8KaMduCkr",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.22870217363138268,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6Ds8xyAoQtsih1Pj2eDZwi",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.21793588015087573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u45SNvprQYGANCPSwBGzLs",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20716958667036878,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"htZhURdHCCyJ33tqDmC1gT",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.19640329318986183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wZwEP2ER3Q9obYa3kXhZ7h",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18563699970935488,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5zNfcKQCEZvh8nJP9dr2G9",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.17487070622884793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pBLFgbZxEBNSEtSSjunwwQ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16410441274834098,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qkAJcZyKCcJsGREUhkQ78i",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.15333811926783403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bY9FdJE4SUzDC35a2K1Tzi",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.14257182578732708,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"chLpcXJGwNdNfMozdu7hKg",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.13180553230682013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3v2BjJSxDF6WpC2DEP42PU",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.12103923882631318,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fqLN8nXoQdJLLJXy5Gwq4f",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.11027294534580623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"21VBTu8WAdnNwf3x8Zhsuu",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09950665186529928,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ioXeHrGyfepr3g94p8JLrw",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.08874035838479233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cy797bHB115wX1gZRH3swM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07797406490428538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"avv4wEy6iPL1CGQoPdSWU5",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.06720777142377843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fJbmZ64QMaPM9EGMmB984H",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.05644147794327148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dWfjvmrxqx18k2RKjfdiie",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.04567518446276453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nefVVFfk24vVE2WLuZReQ4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.03490889098225758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qLr8HKMWcfRHcfPkHfGPHC",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.024142597501750636,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oy13AUfgb8jcwnMbGNC7a4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.013376304021243696,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4oRAMSYUJG1S9YeFQFNThR",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.0026100105407367564,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gSmzU3p7S4nLpThNjjLpNP",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.005872523716636283,cy:.1,cz:.215,lx:.004567518446267809,ly:1,lz:.41000000000000003,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jVtZiADJWYhT3XDB4vjJJ8",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.01533381192677481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6CmGH8a9xKQ4kNuHGUMAw4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.02528447711330811,cy:.1,cz:.205,lx:.005546272399057335,ly:1,lz:.39,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u38CDVSjPJwJgHnw2Y6FBF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.03327763439428638,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tq3gcRfDVJqb7T6MyBKK2T",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.04404392787479333,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dSNi5FN3jitEZpttkJCZah",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.05481022135530028,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"skDmbyQ9ChWHwFXt4vbpdF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06557651483580723,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1TSBXLmviiwznmkhKxY4F2",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.07634280831631418,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vYMMSTxDfPvirbGiiE2UJZ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.08710910179682113,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rRLUQpqQSTeubCr79bjn8m",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09787539527732808,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gcKRcHdNpX9Vtmc6HncwGF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.10864168875783503,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oeGCBcEftrMH9jXAYtFrCa",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.11940798223834198,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ajECxgC3C6oXv4ciM75edJ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.13017427571884893,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"g62oxEPuj3wd39vv4EYTgA",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.14094056919935588,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4k8GPkrBb12613smqqyShp",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.15170686267986283,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vBpUF9pHrUiuWZ5eVGTu5p",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.16247315616036978,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hgdBdvabmf6Pd5AVy88Leh",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17323944964087673,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mkgCAdDKF5LyXVZDpVipxK",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.18400574312138368,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"352sJZ7Jvw7FRWDNhR3m19",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19477203660189063,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hTHrpxyWuGhz1duVVa441z",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.20553833008239758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"icykR9dGdiRBF5wm2ixAXY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.21630462356290453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8hHkoZq2YYvcBW78r5hZFt",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22707091704341148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sezgWua2c8TT2rYs9Vc9P3",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.23783721052391843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wdyWjdXf8jBzBkXxJJiXk1",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.24860350400442538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wxGSNmdFgrPkRZEQsr8fWa",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25936979748493233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kQNmZsKiKnFT7Utyn9jZgh",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2701360909654393,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bANrbxGiy8tnQaAwz7Zyf4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.28090238444594623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uLfixFD9ZurMuJqq1YJ517",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2916686779264532,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6ZXh3jYZhqjps3nTnn4kmX",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.30243497140696013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6tnSUYG5FnRK1A46sJBg1v",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3132012648874671,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"r6eyDw9sk8QzcdPZ55YqR4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.32396755836797403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dcBrioFfV3SWYJEue4QEz5",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.334733851848481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qFXxdtGrRR5HpmzE8PG7T1",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.34550014532898793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"53ERZmvVXVHTHZKdd5jDMd",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3562664388094949,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"d4fFAm5371MeUPa3wg3bvM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.36703273229000183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6c7LVC3vg4uwfj3z9fdtvK",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3777990257705088,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qUfYKqrHB4CrQ3N1sLtFtG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.38856531925101573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2m5mJjvys8EXj2Dtn5HR6L",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3993316127315227,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nTo2Ea7ixx2Bx6c49MgE5r",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:152.31464905205874,cy:-1.0704041763225653,cz:0,lx:4.732830401162478,ly:1,lz:10,leftJoints:[],rightJoints:["g3He9XTWe5maiTYrqciaG9"],leftPoint:[152.6600543110326,-3.411475749046293,.05688696619531554],rightPoint:[151.9692437930849,1.2706673964011728,.05688696619531554],relativeAngle:1.7172810304491228,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"tTQGq2VqjKpQoZgpEaARbs",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-153.90823853352632,cy:-1.321690966858462,cz:0,lx:4.36784096744436,ly:1,lz:10,leftJoints:["g3He9XTWe5maiTYrqciaG9"],rightJoints:["xdCET3deCXRuddujsYebQJ"],leftPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],rightPoint:[-153.27396079991317,-3.4114757490462893,.05688696619531554],relativeAngle:-1.2761193330736746,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"a3Vx8CkX7Gvm3xygEW6suk",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.2866362370273055,cy:1.0193806058652697,cz:2.268765007024547,lx:306.5121720836238,ly:1,lz:10,leftJoints:["tTQGq2VqjKpQoZgpEaARbs"],rightJoints:["a3Vx8CkX7Gvm3xygEW6suk"],leftPoint:[151.96924379308496,1.2706673964011799,.05688696619531554],rightPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],relativeAngle:-3.13995299992499,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"g3He9XTWe5maiTYrqciaG9",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Window",cx:-.0016312565879556264,cy:.1,cz:-.25,lx:.9722289264215535,ly:1,lz:.4,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4TrowgoNHHNXYC8KtY1dtx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4547943367220286,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iof3BVn3KFMX9V6rxX61FU",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4440280432415217,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oeVswn1FhJvx1f2JWvuaZH",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4332617497610147,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4ZTszhixEz84xXerw82Uo3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4224954562805078,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1sd89pPPKeQ9FqjTEs4sZF",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4117291628000008,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8s1DLvp5TX82whCzVfdUy4",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4009628693194939,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oXy9DWPm3cMawuws3jF8Dw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3901965758389869,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ggUJnAELkscnr8wCY2e7Xs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.37943028235848,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8K3TMP2Tgt2RSSJuVqdR4j",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.368663988877973,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2S8f7FahdEW7w7JhfCr366",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3578976953974661,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hhTDcot7DdMSFULh2sdVeZ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3471314019169591,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2pZvpiD5SsELthkKt5tJ3m",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3363651084364522,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qtThbnZ5JrBKiRkEvfRHrG",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3255988149559452,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fGfPoazDUrc1DSJzSnMpw3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3148325214754383,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x3RhjZSxkvWSRpw5djcpHZ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3040662279949313,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oLkzHPWGqiFTFWraAnDDgS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2932999345144244,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tjR9qDZMaGrJrWqAX3GTdN",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2825336410339174,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2mkdDg7a8yURhWsybphBX8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2717673475534105,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"shD7ir3GFfbNG9UMMU6iwe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2610010540729035,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"afuEQk9zuenrJ8npwWbHHS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2502347605923966,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bUcm7SdZ4EQSXBzhVjLFu8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23946846711188963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"umh8sJsWFoUPrkMgMwXLJn",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.22870217363138268,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ervRrrNZYFcCz6shRwYQAk",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.21793588015087573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aRMEj198niGbhwRDVQV2Km",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20716958667036878,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"25sJCfiia7r85LY9nqQicw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.19640329318986183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"73rwFbBokSJRAU9Dv14LUw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18563699970935488,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9DpFamDpKZuxKGTKjNyYgL",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.17487070622884793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tMcjE28A6HsCisTEqVEqDz",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16410441274834098,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5prc1TM3iJvnq2rRv3GjGw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.15333811926783403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8hZc1y1J1uuiUzd7bn2efy",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.14257182578732708,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"btAxXppEu9xUvRTDmyL6e9",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.13180553230682013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nk7LwxQwWjfkFkTpnqaBzC",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.12103923882631318,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xqm1C2kjuX1xr87NJG13D1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.11027294534580623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tKZW8EpQP3VnR9rHQDUsi7",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09950665186529928,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cs2PWb768A9N78tdDnfCJe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.08874035838479233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aEp3n5z6CHtBUhs4tf1qQE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07797406490428538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9yP2H7BonttfM9g6obUAWw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.06720777142377843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mzzB5cTKaPu2GCcZSHNfoN",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.05644147794327148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rLsbraJPBqJvE4764xSEve",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.04567518446276453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vKVhtpqyoaaHZW5MyN6eTB",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.03490889098225758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jqdKUxQoqH8xWJQ6WhDGVQ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.024142597501750636,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7W9Ex51ZfXMaF32tnfWjoG",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.013376304021243696,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cHwdqwmBgx8A17cDpZPPbh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.0044043927874840355,cy:.1,cz:.21999999999999997,lx:.003588764493510067,ly:1,lz:.42000000000000004,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eJYiY4DxK2CARyVadVVJCx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.004567518446267871,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9Q9L4KdsCCfLnQFBJuanXE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.01533381192677481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3cRXM4bonZuYd9TnGSQqHH",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.026100105407281752,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"97h3j7H6Qh9e6EQaWwwUZs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.034419514005859485,cy:.1,cz:.21999999999999997,lx:.004893769763858407,ly:1,lz:.42000000000000004,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1tjDay5JXZwfoH1FRqotv8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.04404392787479333,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"r2NNGxf63r8FosPwJcTE9W",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.05481022135530028,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oAWmRTRvbzDTo9C3MrVKuU",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06557651483580723,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nxEpnZTwyQv5kRbmcUQT1a",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.07634280831631418,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cxmmFejGDyUJgTvayWAjdb",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.08710910179682113,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rMHepSTZZvbuQwxezFKpdj",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09787539527732808,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eaxDcJH54ULucXspGZbKty",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.10864168875783503,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iCSFe1wxX4XSin8cB68JeL",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.11940798223834198,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kgoq3WLxjVdPRdaxyzqFVA",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.13017427571884893,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tBR5PErXE7yvYAGPgMqH1D",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.14094056919935588,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iyQuNv6jvRv3GvuS8UwxUv",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.15170686267986283,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xmqsdiGpkMdxiVjXTPaJy1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.16247315616036978,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"k5yQE7AumptJLR5Hzwy992",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17323944964087673,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pB3LcGmgHBTuT6LcAoCTvg",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.18400574312138368,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"n43Pd6jLDz3CYkTbCV3gjh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19477203660189063,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"trG58x8VeFSbKFAEHY4zJs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.20553833008239758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pTcw3Ur3TBnoB59qvLnZju",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.21630462356290453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cfRJh7295CGWwCnbeA6tL2",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22707091704341148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dY8S4UaNAqP39TMFMEg5vp",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.23783721052391843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iXENQGue8HpDQxMxGep9B7",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.24860350400442538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wcpBvnsfPogwewn1nqjhP1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25936979748493233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"o9i61J2BnA3F192C23MrBE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2701360909654393,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"491xMjyUYSkSxP8QumC9Ad",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.28090238444594623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pSWKk8pafQidxC7vXHaMCo",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2916686779264532,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iTAFmPC5oX6jsetEFccxke",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.30243497140696013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iz9ye9NbXspk9eitQpzyBB",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3132012648874671,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gNyXuR9rKr3itGofcKsjEe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.32396755836797403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qtDo91vL39Swf6jH2eCN33",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.334733851848481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jPqnNwwcUAYNf7z6neEUMx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.34550014532898793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bEUtkBUPaeHwYUvidNh7L3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3562664388094949,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ea6qeRQ1FZ5mWCfujb9TRw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.36703273229000183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wWpVZQ8VDFJormPKS8z6GS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3777990257705088,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sxCmsmibuQs3hkEUB7yL2z",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.38856531925101573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hg7q1GBM4nGGX6iEWCAYQY",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3993316127315227,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tYNYJRyLtFZMp118iLaQYh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:-1.1369830444213562,cy:-3.2057378745231233,cz:2.268765007024547,lx:304.27424431214394,ly:1,lz:10,leftJoints:["a3Vx8CkX7Gvm3xygEW6suk"],rightJoints:[],leftPoint:[-153.2739660888427,-3.4114757490462466,0],rightPoint:[151,-3,0],relativeAngle:.0013523191073632186,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"xdCET3deCXRuddujsYebQJ",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Stud",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"9giBMxpAESvroYM29nf3G8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["g3He9XTWe5maiTYrqciaG9","a3Vx8CkX7Gvm3xygEW6suk","xdCET3deCXRuddujsYebQJ","tTQGq2VqjKpQoZgpEaARbs"],selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-26.222816598442076,cy:-.9292686291105667,cz:.05,lx:333.3539193128119,ly:8.472793647667807,lz:.05688696619531554,normal:[0,0,1],rotation:[0,0,1.4494959437812907],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5wyrw4eyiKGEAMo62i1ana",selected:!1,locked:!0},{type:"Cuboid",cx:-43.176009447245605,cy:-162.89911470396555,cz:2.4,lx:33.24079414212538,ly:153.39358926336755,lz:4.8,color:"gray",faceColors:["gray","gray","gray","gray","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.690700446406907],parentId:"Ground",selected:!1,id:"u7iJ275LF7PsLiM2u1dVBQ",locked:!0},{type:"Cuboid",cx:-2.8348275713997992,cy:161.33575348972343,cz:2.4,lx:33.24079414212538,ly:153.39358926336755,lz:4.8,color:"gray",faceColors:["gray","gray","gray","gray","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.690700446406907],parentId:"Ground",id:"wyK5WSj9bXtNuRAF7XgETz",selected:!1,locked:!0},{type:"Human",name:"Jack",cx:-13.867776626070096,cy:16.44454221560224,cz:2.4,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"u7iJ275LF7PsLiM2u1dVBQ",id:"3TR4V58Snnnj9e7TpcxNer",selected:!1,locked:!0,ly:.42},{type:"Human",name:"Jade",cx:4.361328445266435,cy:5.283856360212143,cz:2.4,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"wyK5WSj9bXtNuRAF7XgETz",id:"432YUQhSdAnxi3UMs4gV6j",selected:!1,locked:!0,ly:.48},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.21759070764863064,cy:.09383633281654624,cz:.500000019868218,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"nA8YNqGcgNn6n9w5X3BpF9",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.16557346067688847,cy:.09106998636897809,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"wZS6seNSEkCgvazx2SPZ5c",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.11082921515041991,cy:.08928793716557112,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"x3C87W7drRbnUHfAYYiZ6Y",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.05774324107965007,cy:.0913178646013816,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"u6wAPuen9vF2Z3r6jkt6uM",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.005068761768732548,cy:.08874894608300367,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"rL6iysZ9LkBhdnBmy78QpW",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:-.0491156001466331,cy:.09437002382165598,cz:.500000019868227,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"rEnSYjbkzp79trJtnUa7Gy",selected:!1,locked:!0},{type:"Window",cx:.41009790621202963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pR2ZvfPm33xd32n52fERDG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.4208641996925366,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"d3taAEWrsfg9pDkNriT6Bf",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41009790621202963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jDcqi15keuTdq7ExRrL3UP",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.4208641996925366,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q63v3RoQgW3e2HtK8UQ7Hm",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:4636310074930709e-32,cy:.1,cz:-.275,lx:.9689664132456421,ly:1,lz:.45,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rkSn9S8cDboGt5qcUBcvye",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0}],D3n={dailyPvYieldPanelX:0,mapPanelY:58,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[110.96343175001607,66.9554559161036,720622586878184e-19],yearlyHeliostatYieldPanelY:0,mapPanelX:197,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[110.96343175001607,66.95530590939957,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:17,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.806523424789926,-160.05159040218686,14.727641870329451],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:3.3216676797521423,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#fb9e00",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-32.60447516785695,-115.97404775152154,.3818596975980578],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:2.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-4,y:10,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1254,y:272,width:600,height:360},weatherPanelRect:{x:820,y:40,width:500,height:500},waterSurface:!1},E3n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},k3n=1,F3n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},L3n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},W3n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},N3n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},U3n=[],B3n={docid:T3n,time:P3n,timestamp:C3n,userid:R3n,owner:H3n,email:M3n,world:I3n,elements:z3n,view:D3n,graphState:E3n,evolutionMethod:k3n,solarPanelArrayLayoutParams:F3n,solarPanelArrayLayoutConstraints:L3n,evolutionaryAlgorithmState:W3n,economicsParams:N3n,notes:U3n},j3n="9ZNtij6epEbjFerL3Fki8V",Y3n="04/30/2023 08:14 pm",O3n=1682900089813,_3n="QWecNcxhyvP6j6sBN11hBsfZDau1",V3n=null,G3n=null,X3n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2023, 12:00:00 PM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,countryCode:"US",airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},J3n=[{type:"Cuboid",cx:-.22430639550810128,cy:8.947133751823877,cz:2.401107446167214,lx:18.902326348374032,ly:5.3294214620188916,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],stackable:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"m4D9SbEpcsZfFRNzvJTjS5"},{type:"Cuboid",cx:-.26822240735293335,cy:12.103493027949177,cz:2.839687693194611,lx:18.984817336850906,ly:1.06143303468172,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"4w7XR2z9jkkyeZbNjAh92J",selected:!1},{type:"Cuboid",cx:-8.62825556014066,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"8anKqMBmn2tBM3VcbkW2hs",selected:!1},{type:"Cuboid",cx:-5.172802633695682,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"1L5N5fkm9M3irZedu1HDBw",selected:!1},{type:"Cuboid",cx:-1.7173497072507025,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"6oVCjynNCY7nCmhamoZVq2",selected:!1},{type:"Cuboid",cx:1.7381032191942762,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"4zPy6F9nXphm8skTrgCaAW",selected:!1},{type:"Cuboid",cx:5.193556145639255,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"7mvJNbzUwn3qqmU3qEVitc",selected:!1},{type:"Cuboid",cx:8.649009072084235,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"xiYgkAhrbVK6XVAigVSkom",selected:!1},{type:"Human",name:"Jack",cx:-7.801540397849415,cy:-.26188830739616975,cz:2.4011075496673584,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m4D9SbEpcsZfFRNzvJTjS5",id:"8NTe1csuN2SaTMvxbNW9Po",selected:!1},{type:"Cuboid",cx:-3.6145240973701718,cy:4.206434223281605,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"8JgsqWqgb4cyYSdEJfGwEm",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"8JgsqWqgb4cyYSdEJfGwEm",id:"xeWGgNUm9y6UhkwbSisvQf",selected:!1},{type:"Human",name:"Jeff",cx:-.06368738371907989,cy:.025775270777415926,cz:.10000000149011612,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"pcfABj9VPodaxzM775mxon",id:"eeqUf4vobbEXfMB8bkzmGM",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"xeWGgNUm9y6UhkwbSisvQf",id:"m74U4PeTm7hTqfFPWnM7zL",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"m74U4PeTm7hTqfFPWnM7zL",id:"wUVjKjRa6pzXyxbMQ53EQM",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"wUVjKjRa6pzXyxbMQ53EQM",id:"d41QGJugD7tGPsTYKGhykU",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"d41QGJugD7tGPsTYKGhykU",id:"ewa94SA8sKbxzN2tE4mB3G",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"ewa94SA8sKbxzN2tE4mB3G",id:"arNH7dUPxXi661cPiribL2",selected:!1},{type:"Cuboid",cx:-.008006915988230112,cy:.5202217706157303,cz:.1,lx:1.5160138319764558,ly:1.6177944400962208,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"arNH7dUPxXi661cPiribL2",id:"pcfABj9VPodaxzM775mxon",selected:!1},{type:"Cuboid",cx:.9517371303232212,cy:-.1558343454428396,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"pcfABj9VPodaxzM775mxon",id:"vTqu46XuGVTy2QjutgP1cQ",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"vTqu46XuGVTy2QjutgP1cQ",id:"pp1Ttn4SvkyFUYRPxBPiEQ",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pp1Ttn4SvkyFUYRPxBPiEQ",id:"6h2y2J7ocSWWvCr5bRQvWb",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"6h2y2J7ocSWWvCr5bRQvWb",id:"kLMxbeRFakpUXe68rAKa3a",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kLMxbeRFakpUXe68rAKa3a",id:"ppPnuhTpcUSHXMcpxdAKgq",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"ppPnuhTpcUSHXMcpxdAKgq",id:"awwHf9YjgCzqZ59uSJXvbZ",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"awwHf9YjgCzqZ59uSJXvbZ",id:"kYGd5athrBpPwKUzyL5ypn",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kYGd5athrBpPwKUzyL5ypn",id:"sNEKpySg3BQ4ga8B5hSXC5",selected:!1},{type:"Cuboid",cx:-17208456881689926e-31,cy:.2071151324090322,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"sNEKpySg3BQ4ga8B5hSXC5",id:"nfewirQxFL3G5mr1LTKJ4Q",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"nfewirQxFL3G5mr1LTKJ4Q",id:"eyi9c5ZCgCKTVNCEoLFZki",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"eyi9c5ZCgCKTVNCEoLFZki",id:"kDnmDYWAfFojmgmSfVFXVN",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kDnmDYWAfFojmgmSfVFXVN",id:"6dhMXX3yHamC4VtEy1UWDu",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"6dhMXX3yHamC4VtEy1UWDu",id:"cmC7Vzw8ZucHWUzr8YxLFa",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"cmC7Vzw8ZucHWUzr8YxLFa",id:"9Vw4QTauKAg8QvUaB1Euvx",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"9Vw4QTauKAg8QvUaB1Euvx",id:"pJRDT44anj2xpBPXknWsKw",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pJRDT44anj2xpBPXknWsKw",id:"j38YrARLBzo6erzquVrcVn",selected:!1},{type:"Cuboid",cx:-7.012727351573531,cy:-.0019896050851210545,cz:2.401107446167214,lx:5.332404162083246,ly:12.674961304569683,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"q5FjLBSpipgNNVuah4hNZD",selected:!1},{type:"Cuboid",cx:-.01596259528722399,cy:.11880364489857795,cz:.05,lx:31.446492946590087,ly:34.94910259238378,lz:.1,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],stackable:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"azyA8xuS3BmfetgYA2vQmH",enableGroupMaster:!0},{type:"Cuboid",cx:-6.183805959243027,cy:-11.996720725467824,cz:2.839687693194611,lx:7.107385573986727,ly:1.0946519025967618,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"pvKQ8K8ppq2w8qd94NN9Pq",selected:!1},{type:"Cuboid",cx:-2.6545444189389995,cy:-.012665497780197654,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"wdxoPVDdzYeWyAYAZzkhtp",selected:!1},{type:"Cuboid",cx:.8009085075059792,cy:-.012665497780197654,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"5uJL1EV8MPYeihH3UHzRgB",selected:!1},{type:"Cuboid",cx:-6.259452975235207,cy:-8.867472080025085,cz:2.401107446167214,lx:6.926658110091524,ly:5.102845526644927,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"fDXXcdBNXgffF1kQT4tCPn",selected:!1},{type:"Cuboid",cx:6.486972303080908,cy:-.054704878346608754,cz:2.401107446167214,lx:5.332404162083246,ly:12.674961304569683,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"m4EGzGFe1rC8e8u6MQUpW8",selected:!1},{type:"Cuboid",cx:-10.220230850412868,cy:-.014533868827829727,cz:2.839687693194611,lx:25.047849285814525,ly:1.0029193528166587,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"Ground",id:"uqhNMV7mprjgQMdGsRF2QT",selected:!1},{type:"Cuboid",cx:-5.596739585658853,cy:.0290609141417434,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"q16v7h71SJ7yFzoy83DaBL",selected:!1},{type:"Cuboid",cx:-2.141286659213871,cy:.029060914141743187,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"7o2risK8LTapPsnDGartoZ",selected:!1},{type:"Cuboid",cx:1.3141662672311076,cy:.029060914141742975,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"eAM1pw2NKdNfF1gW8XpVih",selected:!1},{type:"Cuboid",cx:4.769619193676086,cy:.029060914141742764,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"5cwTU21rFZUwTfiouz5qYe",selected:!1},{type:"Cuboid",cx:8.225072120121062,cy:.029060914141749657,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"biVWnambVhBNmbnHk2Wiy3",selected:!1},{type:"Cuboid",cx:11.680525046566043,cy:.029060914141751222,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"rSaUgAuDRqbJLQtkpJnJtG",selected:!1},{type:"Cuboid",cx:-8.818019962594427,cy:.02514455088051193,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"sMxTWQFpHwxtpEsSHpPYb6",selected:!1},{type:"Cuboid",cx:-2.1412866592138746,cy:.0290609141417434,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"eRXqtRB7se3M8GzKXkxUnh",selected:!1},{type:"Cuboid",cx:-11.724426888881109,cy:.05789686773779312,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"qLaLq73w7A9ZmbSk84RuGL",selected:!1},{type:"Cuboid",cx:9.685298368001048,cy:.0017243180851487239,cz:2.839687693194611,lx:25.09195057934765,ly:.9927712733989245,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"Ground",id:"irfb2m2puWv6odJ6Jwp6YM",selected:!1},{type:"Cuboid",cx:-5.618790232425412,cy:-.03080928172797003,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"sEAcnpxYSig5gpY8iTY3Yy",selected:!1},{type:"Cuboid",cx:-2.163337305980429,cy:-.030809281727968464,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"6feu78ouLNMPYNKTLRwvPo",selected:!1},{type:"Cuboid",cx:1.2921156204645494,cy:-.030809281727968676,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"6CfBo1pNmDDqH7Mwik6c7H",selected:!1},{type:"Cuboid",cx:4.747568546909526,cy:-.030809281727968887,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"isrB6noYi8NEhJRQG8ietf",selected:!1},{type:"Cuboid",cx:8.203021473354507,cy:-.030809281727954888,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"dReb13hJ9AJKebwakYRY69",selected:!1},{type:"Cuboid",cx:11.658474399799484,cy:-.03080928172794977,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"3eH5ZbQj5WHp7QCzbxMKGz",selected:!1},{type:"Cuboid",cx:-8.840070609360978,cy:-.03472564498920451,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"svPiKiErdWciBnFsmqoNKg",selected:!1},{type:"Cuboid",cx:-2.1633373059804324,cy:-.030809281727968464,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"aQ3KbWPYnCPqSao4PhCn2t",selected:!1},{type:"Cuboid",cx:-11.746477535647664,cy:-.001973328131929355,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"3GXadNYd518rGsiHZnch9r",selected:!1},{type:"Human",name:"Jamelia",cx:-.09265449725102398,cy:-11.357307781644565,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"azyA8xuS3BmfetgYA2vQmH",id:"1JVUnXP3EYNgXEV5Mhij7X",selected:!1},{type:"Cuboid",cx:5.911674805614613,cy:-8.780289167948837,cz:2.401107446167214,lx:6.525003449448929,ly:4.771919851852802,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"3LriNZQ2FWUrzgTjH1nQGp",selected:!1},{type:"Cuboid",cx:5.6478649104510295,cy:-12.017787072476704,cz:2.839687693194611,lx:7.128069650550036,ly:1.1096381510921969,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-3.141592653589793],stackable:!0,parentId:"Ground",id:"qEtCzg44w2EkGdkHGvTyXg",selected:!1},{type:"Cuboid",cx:-2.609503179079046,cy:.028969325588168324,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"qEtCzg44w2EkGdkHGvTyXg",id:"54P6ija5X4jX2T74DKWGuo",selected:!1},{type:"Cuboid",cx:.8459497473659319,cy:.0289693255881679,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"qEtCzg44w2EkGdkHGvTyXg",id:"hhTBL9sevUWmS4YHc9UFL2",selected:!1},{type:"Cuboid",cx:5.908936634022203,cy:-.011694823916091224,cz:.25,lx:5.894051564987242,ly:1.0122050011149266,lz:.5,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"79YR8wYSe1eRRM8AXmk2pi",selected:!1}],K3n=22,q3n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.365731258384917,-4.23743050549221,-4359573758408488e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.365731258384917,-4.237580512159635,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.8932377675710492,-35.04498361736728,12.916960792715187],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,directLightIntensity:1,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:30.146795390577452,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[0,0,0],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:3.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,heatFluxScaleFactor:20,heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showDailyBuildingEnergyPanel:!1,showYearlyBuildingEnergyPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},$3n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Q3n=1,Z3n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},e6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},t6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},n6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},o6n="Unknown",i6n=null,r6n=null,a6n=null,l6n=[],s6n={docid:j3n,time:Y3n,timestamp:O3n,userid:_3n,owner:V3n,email:G3n,world:X3n,elements:J3n,sceneRadius:K3n,view:q3n,graphState:$3n,evolutionMethod:Q3n,solarPanelArrayLayoutParams:Z3n,solarPanelArrayLayoutConstraints:e6n,evolutionaryAlgorithmState:t6n,economicsParams:n6n,modelType:o6n,modelAuthor:i6n,modelLabel:r6n,modelDescription:a6n,notes:l6n},c6n="ag6x1qqPgPt1AJp2oKoKDF",u6n="02/02/2023 08:27 pm",d6n=1675387657521,f6n="QWecNcxhyvP6j6sBN11hBsfZDau1",h6n=null,p6n=null,g6n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"10/1/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:1,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},m6n=[{cy:5.105053829358722,normal:[0,0,1],lz:.1,ly:26.301278139506802,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-1.995894425388201,cz:.05,rotation:[0,0,0],lx:38.854999999999976,selected:!1,parentId:"Ground"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.39629808463170607,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:-.0067633355149074184,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:31.488,poleHeight:1,drawSunBeam:!1,ly:1.984,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.006869188501244585,cy:-.3009472773624533,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6g9iBRNNW6XDAK9EeP8dnv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0069750414875817505,cy:-.20559647009320042,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ec9UdLR1fMcWkEUdiFjUx2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007080894473918917,cy:-.11024566282394763,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fQLn5udBainjxVp4XrJMRj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007186747460256083,cy:-.014894855554694773,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p8zx94dUJdEAskSt1PKSVa",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007292600446593249,cy:.08045595171455801,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fc9ACQJk2egBLobC44KRz9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007398453432930415,cy:.1758067589838109,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k1F8Jw2a6YkaS53ggunuWE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007504306419267581,cy:.2711575662530637,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nfKxjTCwPLzpCqrrT4qwQd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007610159405604748,cy:.3665083735223166,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oY8VxSJVvnuAD8XoQBDkh2",selected:!1},{type:"Tree",name:"Spruce",cx:11.921605574611789,cy:-10.909355003026004,cz:0,lx:4.3193414394375225,lz:9.842530786133311,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vfBrsVoh8zPsZKEuooN1Mp",selected:!1,showModel:!1},{type:"Tree",name:"Spruce",cx:-2.2808944253881993,cy:-11.194355003026004,cz:0,lx:4.3193414394375225,lz:10.279562696083193,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"99sYceKNBfrqJSsDa72tLX",selected:!1,showModel:!1},{type:"Human",name:"Joel",cx:-7.8137499999999935,cy:-.3139426000311314,cz:.05000000074505806,lx:1,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"ipdiy6H5XdiRMv79uDtrRE",id:"obVZfacvimifAis6oD33mX",selected:!1,observer:!0,ly:.6},{type:"Tree",name:"Spruce",cx:2.374105574611796,cy:-10.956855003026007,cz:0,lx:4.3193414394375225,lz:9.842530786133311,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sCYPQFyb4Ezu7V4j1ddt8r",selected:!1,showModel:!1},{type:"Tree",name:"Spruce",cx:7.029105574611797,cy:-11.004355003026005,cz:0,lx:4.3193414394375225,lz:8.761424913666062,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"jgqeg8YLSBfHZnbBhuouTU",selected:!1,showModel:!1},{type:"Human",name:"June",cx:7.0000631393125845,cy:-.3317126323621302,cz:.05000000074505806,lx:.4,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"ipdiy6H5XdiRMv79uDtrRE",id:"m6FHMxEEVfFM123WLmXjyv",selected:!1,observer:!0,ly:.4},{type:"Foundation",cx:-1.9721444253882048,cy:-14.775412402994869,cz:.05,lx:38.427499999999974,ly:3.837114799937732,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"ipdiy6H5XdiRMv79uDtrRE",textureType:"Foundation Texture #2"}],y6n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[4.688586933696731,-41.63558463662862,6.94326488693142],panCenter:[5.94996462578833,-14.876226974643979,5.628671784918282],orthographic:!1,enableRotate:!0,cameraZoom:21.05263157894738,showInstructionPanel:!1,cameraPosition2D:[2.659105574611795,-.19810500302601344,47.99999980190954],panCenter2D:[2.659105574611795,-.19805700089319547,5501827899659354e-22],showSolarPanelVisibilityResultsPanel:!0,visibilityResultsPanelX:-6,visibilityResultsPanelY:-1,showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:342,height:67}},A6n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},w6n=1,v6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},x6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},b6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},S6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},T6n=["Vegetative buffer to hide solar farms"],P6n={docid:c6n,time:u6n,timestamp:d6n,userid:f6n,owner:h6n,email:p6n,world:g6n,elements:m6n,view:y6n,graphState:A6n,evolutionMethod:w6n,solarPanelArrayLayoutParams:v6n,solarPanelArrayLayoutConstraints:x6n,evolutionaryAlgorithmState:b6n,economicsParams:S6n,notes:T6n},C6n="8D5YJAWj6vd3LW25Hcokqe",R6n="02/02/2023 03:03 pm",H6n=1675368235538,M6n="QWecNcxhyvP6j6sBN11hBsfZDau1",I6n=null,z6n=null,D6n={timesPerHour:10,pvGridCellSize:.25,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2022 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},E6n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:-.0832752328102914,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:.013242648336242419,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:0,cy:.010384230278591844,cx:.2680462212766878,poleRadius:.05,showLabel:!0,lx:1.046,label:"60°",tiltAngle:1.0471975511965976,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"None",drawSunBeam:!1,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3898315956697325},{ly:1.558,drawSunBeam:!1,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:.5235987755982988,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"None",lx:1.046,label:"30°",cz:.5000000074505762,showLabel:!0,cx:.13277873492805234,poleSpacing:3,relativeAzimuth:0,cy:.010196717472218795,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3601290996632553},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:-1.0471975511965976,normal:[0,0,1],selected:!1,label:"-60°",lz:.046,drawSunBeam:!1,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:0,cy:.003644619198116936,type:"Solar Panel",trackerType:"None",poleRadius:.05,cx:-.26994946306447615,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:.2655114569703831},{tiltAngle:0,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:.010748815746320655,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:-.0014144903672051448,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"0°",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.055863332406658},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.14083049882259674,cy:.007102961069032241,cz:.500000007450585,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"sHpER3yfCDZgTy8YcbqJF4",selected:!1,label:"-30°",dailyYield:.5565058986546524},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3828186339361362,cy:.008748911792797884,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"3AQTuKXP5kZ5PgShm7kPSX",selected:!1,label:"90°",dailyYield:1.1380948831431423},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.413167442044193,cy:.006734639393330298,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:-1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"8GwG9uCiXmMbkeB4NtFJwK",selected:!1,label:"-90°",dailyYield:.3371955456546947},{type:"Human",name:"Jack",cx:-.6922041428236811,cy:-4.092105437234061,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6}],k6n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[8.023018704034044,-16.232959358672062,3.67727930352486],panCenter:[5.030220047531196,-1.0315498826531624,.3615371700849206],orthographic:!1,enableRotate:!0,cameraZoom:53.00068653280895,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999796],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:1,y:4,width:202,height:93}},F6n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},L6n=1,W6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},N6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},U6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},B6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},j6n=[`Effect of tilt angles on -solar panel outputs`],Y6n={docid:C6n,time:R6n,timestamp:H6n,userid:M6n,owner:I6n,email:z6n,world:D6n,elements:E6n,view:k6n,graphState:F6n,evolutionMethod:L6n,solarPanelArrayLayoutParams:W6n,solarPanelArrayLayoutConstraints:N6n,evolutionaryAlgorithmState:U6n,economicsParams:B6n,notes:j6n},O6n="44QNMQZiyWYfqFnbbUSraT",_6n="02/02/2023 03:04 pm",V6n=1675368269762,G6n="QWecNcxhyvP6j6sBN11hBsfZDau1",X6n=null,J6n=null,K6n={timesPerHour:20,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2021 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},q6n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:-.0832752328102914,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:.013242648336242419,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:1.0471975511965976,cy:.010384230278591844,cx:.2680462212766878,poleRadius:.05,showLabel:!0,lx:1.046,label:"60°",tiltAngle:.6981317007977318,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"None",drawSunBeam:!1,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.1296025646801735},{ly:1.558,drawSunBeam:!1,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:.6981317007977318,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"None",lx:1.046,label:"30°",cz:.5000000074505762,showLabel:!0,cx:.13277873492805234,poleSpacing:3,relativeAzimuth:.5235987755982988,cy:.010196717472218795,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3296869651923566},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:.6981317007977318,normal:[0,0,1],selected:!1,label:"-60°",lz:.046,drawSunBeam:!1,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:-1.0471975511965976,cy:.003644619198116936,type:"Solar Panel",trackerType:"None",poleRadius:.05,cx:-.26994946306447615,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.1539575918080192},{tiltAngle:.6981317007977318,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:.010748815746320655,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:-.0014144903672051448,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"0°",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.4023532989786718},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.14083049882259674,cy:.007102961069032241,cz:.500000007450585,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:-.5235987755982988,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"sHpER3yfCDZgTy8YcbqJF4",selected:!1,label:"-30°",dailyYield:1.3216497104200369},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3828186339361362,cy:.008748911792797884,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:1.5707963267948966,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"3AQTuKXP5kZ5PgShm7kPSX",selected:!1,label:"90°",dailyYield:.9830976469578562},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.413167442044193,cy:.006734639393330298,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:-1.5707963267948966,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"8GwG9uCiXmMbkeB4NtFJwK",selected:!1,label:"-90°",dailyYield:.9777009351289816},{type:"Human",name:"Jack",cx:-.6922041428236811,cy:-4.092105437234061,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6}],$6n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[3.763670237910374,-16.61721730429299,2.914312591691999],panCenter:[5.030220047531196,-1.0315498826531624,.3615371700849206],orthographic:!1,enableRotate:!0,cameraZoom:53.00068653280895,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999796],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:200,height:91}},Q6n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Z6n=1,eAn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},tAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},nAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},oAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},iAn=[`Effect of azimuth on -solar panel outputs`],rAn={docid:O6n,time:_6n,timestamp:V6n,userid:G6n,owner:X6n,email:J6n,world:K6n,elements:q6n,view:$6n,graphState:Q6n,evolutionMethod:Z6n,solarPanelArrayLayoutParams:eAn,solarPanelArrayLayoutConstraints:tAn,evolutionaryAlgorithmState:nAn,economicsParams:oAn,notes:iAn},aAn="tKo6pFHzEmKPLUAtFMSXH1",lAn="02/03/2023 04:17 pm",sAn=1675459040307,cAn="QWecNcxhyvP6j6sBN11hBsfZDau1",uAn=null,dAn=null,fAn={name:"default",date:"12/22/2022, 10:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:32.2226066,longitude:-110.9747108,address:"Tucson, AZ, USA",timesPerHour:4,pvGridCellSize:.25,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.7,airAttenuationCoefficient:.01},hAn=[{type:"Foundation",cx:-.14690699678366315,cy:-7.208163838562541,cz:.05,lx:11.055471871472701,ly:58.48001412614986,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",selected:!1,id:"4LeRe177Bf56Mb1oae55ip",textureType:"Foundation Texture #1"},{type:"Human",name:"Jess",cx:1.6319195310451686,cy:-16.45128807612893,cz:0,lx:.6,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mBHbx3X3c1GbXKCLvDVgzL",selected:!1,ly:.6},{type:"Parabolic Trough",cx:-.23513458174461563,cy:.004519902359052559,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"4LeRe177Bf56Mb1oae55ip",foundationId:"4LeRe177Bf56Mb1oae55ip",id:"dcjUqAUQZ4LNafSWu4PepW",selected:!1,dailyYield:147.4722488686051,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"EW2",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:.15865672328822894,cy:.004519902359052563,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"4LeRe177Bf56Mb1oae55ip",foundationId:"4LeRe177Bf56Mb1oae55ip",id:"pwQnP4mNmxVYhvmGqFmMN2",selected:!1,dailyYield:113.9525242653769,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",drawSunBeam:!1,label:"EW1",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:-.19816155489194087,cy:-.00935955151513266,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"anQtntJ2EF1xbdU9j34juv",selected:!1,dailyYield:105.42067563837163,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",drawSunBeam:!1,label:"NS1",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:.2505997669563526,cy:-.00935955151513266,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"2kyncnrNRhEC8vcEWLLbSV",selected:!1,dailyYield:105.31845023255819,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"NS2",labelHeight:4,labelSize:2},{type:"Foundation",cx:.359422565830144,cy:28.716630531767144,cz:.05,lx:9.701256512237665,ly:56.88650192791737,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",id:"rahZRzHN5oxPmD7yBmrrsA",selected:!1},{type:"Human",name:"Judd",cx:3.796298271490718,cy:-15.228318565508843,cz:0,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"eN5ri3eDDgFLQmoz3oRMfF",selected:!1,ly:.6}],pAn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[16.103455794589095,-53.110389552237656,19.628758062026815],panCenter:[15.024700307415378,.2771229411200077,1.7412798340419682],orthographic:!1,enableRotate:!0,cameraZoom:6.470670899474181,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,150],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:11.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!0,dailyParabolicTroughYieldPanelX:-5,dailyParabolicTroughYieldPanelY:5,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:336,height:66}},gAn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!0,yearlyParabolicTroughIndividualOutputs:!1},mAn=1,yAn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},AAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},wAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},vAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},xAn=["Effect of azimuths of parabolic troughs"],bAn={docid:aAn,time:lAn,timestamp:sAn,userid:cAn,owner:uAn,email:dAn,world:fAn,elements:hAn,view:pAn,graphState:gAn,evolutionMethod:mAn,solarPanelArrayLayoutParams:yAn,solarPanelArrayLayoutConstraints:AAn,evolutionaryAlgorithmState:wAn,economicsParams:vAn,notes:xAn},SAn="vx1ug6kpDBy3x9Qeuoopbp",TAn="02/02/2023 12:05 pm",PAn=1675357543063,CAn="QWecNcxhyvP6j6sBN11hBsfZDau1",RAn=null,HAn=null,MAn={name:"default",date:"9/22/2022, 12:00:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:32.2226066,longitude:-110.9747108,address:"Tucson, AZ, USA",timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.6,airAttenuationCoefficient:.01},IAn=[{type:"Parabolic Trough",cx:.0029931755117467013,cy:-.016245165138677214,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:4,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"2kyncnrNRhEC8vcEWLLbSV",selected:!1,dailyYield:233.64209746690477,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"LR=4m",drawSunBeam:!0,locked:!1,labelHeight:5,labelSize:1},{type:"Foundation",cx:.21407524112268916,cy:-36.149591263989876,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"rahZRzHN5oxPmD7yBmrrsA",selected:!1},{type:"Human",name:"Judd",cx:11.353738913610336,cy:-7.831484265178309,cz:0,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"eN5ri3eDDgFLQmoz3oRMfF",selected:!1,ly:.6},{type:"Foundation",cx:-4490043542196287e-20,cy:-.25172016696204835,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"gZkDqHfktzoy6gJmARmspx",selected:!1},{type:"Parabolic Trough",cx:.0029931755117467013,cy:-.016245165138677214,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"gZkDqHfktzoy6gJmARmspx",foundationId:"gZkDqHfktzoy6gJmARmspx",id:"mBvFg1q8TpWjfngs6RnkZ4",selected:!1,label:"LR=8m",dailyYield:233.64209746690477,drawSunBeam:!0,locked:!1,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelHeight:5,labelSize:1},{type:"Parabolic Trough",cx:-.01770652380020336,cy:.008044936654478363,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:16,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"evP6wn78pnNyKDZXgNgWdE",selected:!1,label:"LR=16m",dailyYield:233.64209746690477,drawSunBeam:!0,locked:!1,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelHeight:5,labelSize:1},{type:"Foundation",cx:.08085129201298358,cy:35.3877160159791,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"cZGzTuNW8Aam7msowwUroB",selected:!1}],zAn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[22.155781466338546,-55.72853752805094,9.397557668970421],panCenter:[-5.110111828219519,-15.113374046752455,0],orthographic:!1,enableRotate:!0,cameraZoom:9.753499582310592,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,19.99999999998951],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:9.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!0,dailyParabolicTroughYieldPanelX:-24,dailyParabolicTroughYieldPanelY:26,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:355,height:60}},DAn=1,EAn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},kAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},FAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},LAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},WAn=["Effect of latus rectum of parabolic trough"],NAn={docid:SAn,time:TAn,timestamp:PAn,userid:CAn,owner:RAn,email:HAn,world:MAn,elements:IAn,view:zAn,evolutionMethod:DAn,solarPanelArrayLayoutParams:EAn,solarPanelArrayLayoutConstraints:kAn,evolutionaryAlgorithmState:FAn,economicsParams:LAn,notes:WAn},UAn="dvN36C7J8FdfSS21QcUvBx",BAn="02/02/2023 05:16 pm",jAn=1675376211296,YAn="QWecNcxhyvP6j6sBN11hBsfZDau1",OAn=null,_An=null,VAn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"12/1/2021 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},GAn=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:7.484195397296324,label:"L2",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:7.484195397296324,label:"L3",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:7.484195397296324,label:"L4",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"L1",dailyYield:13.210165552148743,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:7.484195397296324,label:"L5",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Foundation",cx:10.048739466084358,cy:.01420541284211474,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008008869365173981,cy:-.18492700121558012,cz:.5000000074505806,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"6AH8jB41hnb2DKANJAvRwV",selected:!1,dailyYield:2.263426258433755,label:"P2",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008328904339362014,cy:.007217978403519174,cz:.5000000074506161,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"aB8iEcrZaWTL6xKZKhhAXB",selected:!1,dailyYield:2.2442794871667524,label:"P3",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008648939313550047,cy:.19936295802261844,cz:.5000000074506517,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"2meA9SG5bqFDgzeFyXtF9Q",selected:!1,dailyYield:2.2442794871667524,label:"P4",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007688834390985949,cy:-.37707198083467935,cz:.5000000074505451,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"868aWiBhQX239e6oehaSij",selected:!1,dailyYield:13.21016555214874,label:"P1",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00896897428773808,cy:.39150793764171776,cz:.5000000074506872,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"oBHHZdopRmiffSiEULht6u",selected:!1,dailyYield:2.2442794871667524,label:"P5",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Foundation",cx:-10.236210959894782,cy:-.0034675956445191503,cz:.05,lx:19.1296452086662,ly:14.728928705271478,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"enRB3aUi95qo1iy8fc8PQq",selected:!1}],XAn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[22.452978407808587,-24.247050313502623,17.045911348582777],panCenter:[16.676839641041024,.697317195514167,.36124976444702794],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230188,showInstructionPanel:!1,cameraPosition2D:[2.651601657211317,-.19810500302601344,47.99999980190954],panCenter2D:[2.651601657211317,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:-3,width:321,height:84}},JAn={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},KAn=1,qAn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},$An={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},QAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ZAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},e4n=[`Effect of orientation (landscape vs. portrait) -on outputs of solar panel arrays`],t4n={docid:UAn,time:BAn,timestamp:jAn,userid:YAn,owner:OAn,email:_An,world:VAn,elements:GAn,view:XAn,graphState:JAn,evolutionMethod:KAn,solarPanelArrayLayoutParams:qAn,solarPanelArrayLayoutConstraints:$An,evolutionaryAlgorithmState:QAn,economicsParams:ZAn,notes:e4n},n4n="gtXnXouMVM8pMVHsKAhdM3",o4n="02/02/2023 12:17 pm",i4n=1675358247774,r4n="QWecNcxhyvP6j6sBN11hBsfZDau1",a4n=null,l4n=null,s4n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/22/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},c4n=[{cy:.045715871759253096,normal:[0,0,1],lz:.1,ly:15,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-10.115014866732034,cz:.05,rotation:[0,0,0],lx:18.175146995703113,selected:!1,parentId:"Ground"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640966676,cy:-.015945367160926777,cz:.5000000074506872,lx:15.744,ly:13.888,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.15,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tc8JHQj7hE233H7YfXfbjR",selected:!1,drawSunBeam:!1,label:"Block",dailyYield:103.86651140858137},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:17.598295752357192,label:"Row 2"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:17.598295752357192,label:"Row 3"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:17.598295752357192,label:"Row 4"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"Row 1",dailyYield:20.418384465308375},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:17.598295752357192,label:"Row 5"},{type:"Foundation",cx:9.631391045182012,cy:-.034724141127635555,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6}],u4n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[23.00808622059582,-24.680171647342778,15.7199588387956],panCenter:[15.700578278283736,2.441435258509561,.07017002569005788],orthographic:!1,enableRotate:!0,cameraZoom:27.207482839996143,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:-1,y:2,width:200,height:60}},d4n=1,f4n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},h4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},p4n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},g4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},m4n=["Tilt or not tilt?"],y4n={docid:n4n,time:o4n,timestamp:i4n,userid:r4n,owner:a4n,email:l4n,world:s4n,elements:c4n,view:u4n,evolutionMethod:d4n,solarPanelArrayLayoutParams:f4n,solarPanelArrayLayoutConstraints:h4n,evolutionaryAlgorithmState:p4n,economicsParams:g4n,notes:m4n},A4n="pbUQyfMqdFM4hGmWGdjXR3",w4n="05/21/2023 08:16 pm",v4n=1684714615826,x4n="QWecNcxhyvP6j6sBN11hBsfZDau1",b4n=null,S4n=null,T4n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},P4n=[{type:"Cuboid",cx:-.09073244329620422,cy:-.08928113742371785,cz:3,lx:59.802153799265035,ly:54.767587001262534,lz:6,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"Ground",selected:!1,id:"pLxvVJ1wH71Yw1QXZXh7Cg"},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],vertices:[{x:-.25918798931603854,y:-.3104025744206716},{x:-.1504962518609256,y:0},{x:-.35951882388998896,y:.16433077469329674},{x:-.09002353591652279,y:.166501344234237},{x:0,y:.4564743741480465},{x:.09196993169278787,y:.16433077469329674},{x:.37624062965231403,y:.16433077469329674},{x:.15885715474208814,y:0},{x:.25918798931603854,y:-.31953206190363254},{x:0,y:-.11868333727849208}],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",selected:!1,filled:!0,selectedIndex:6,id:"rUADzqR9VSPATNniVsn3qE",opacity:.5},{type:"Human",name:"Jack",cx:-21.334148117714555,cy:-20.123968320321495,cz:3.0000000000000004,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,-.7853981633974483],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5uAL6fK1eTHonYN5seNqZq",selected:!1},{type:"Human",name:"Jacqueline",cx:23.344921829148568,cy:-18.543851714098956,cz:2.9999999999999964,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,-.7853981633974483],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2Xajuxftni9JrMcjA5JcTZ",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.24400225350210067,cy:-.2973806270625913,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"dwDAEsrLknWSJ6wmG84FDe",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2340673494452827,cy:-.2824067173672925,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"rJPYR1ViscGwEao14Ahz8L",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.22413244538846475,cy:-.2674328076719938,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2bryRDHBS2YZ4nXPVH27oM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.21419754133164678,cy:-.25245889797669496,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"oKVf1WANEaHoC28aczNAmB",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2042626372748288,cy:-.23748498828139625,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tBCicEZU2wG49eu4i6Kwm3",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.19432773321801083,cy:-.22251107858609742,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"evdaFcgrk6M4JJMyu3ZzMq",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.18439282916119284,cy:-.2075371688907986,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"1sWb4XgrTSe79TQULsTE5S",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.17445792510437497,cy:-.1925632591954998,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"mZffYSWU7S8PgHaRpYZeEL",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.16452302104755695,cy:-.17758934950020103,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"n5a72Z8AZCjsHvJEWEfhFF",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.15458811699073896,cy:-.1626154398049022,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"mEyfc6dJNr8NgLtwNYnoHX",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.14465321293392097,cy:-.14764153010960349,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"wj2fWqRxszA5Gvokpup7wQ",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.13471830887710307,cy:-.13266762041430463,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"bgNCkPikGZjCttLzS6w1Ei",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.12478340482028506,cy:-.11769371071900586,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"pzZaWBzWNUPmQr5UmuU4EJ",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.1148485007634671,cy:-.1027198010237071,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"nvJ2MYXHoiz17urRs5MsVm",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.3462544047278434,cy:.14995832880911858,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"dsTi2gBy3qMzkxSzEKBUKt",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.10491359670664915,cy:-.08774589132840831,cz:.5,lx:9.6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"1zkzwAySbr3kh67TymqSoa",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.29600197017289004,cy:.12090847752330136,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"nNXDQxgbGxZh1trPJqCUdP",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.09497869264983118,cy:-.07277198163310952,cz:.5,lx:9.6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"fjd8Qa2TAYrApMxCXDFDpf",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2457495356179366,cy:.0918586262374842,cz:.5,lx:10.799999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"b9qhzTZxDNwEDcF7hiJX4C",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.151763002830166,cy:.015054374730769834,cz:.5,lx:21.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2UFe7VNPDEaGQZvkWVQhfF",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.1330229162480746,cy:.020413676435490843,cz:.5,lx:20.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"6azY5mJr9WGW9T4xntRtbV",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.09816732549621686,cy:.008176039664707214,cz:.5,lx:24,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"7pB4XFf5JNuyyXs1dscyU9",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.04968850627849703,cy:-.01893715486872221,cz:.5,lx:27.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"cw2cYF33vM7nDrUtAQ9PtX",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.0012096870607772334,cy:-.0460503494021516,cz:.5,lx:32.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"aZJH3WRjsEN8q1US8B1Lga",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.041725175322164326,cy:-.06710995316331908,cz:.5,lx:34.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"viJ9kyaeaMt713J28EcCFK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.046229595226249795,cy:-.046206356470879194,cz:.5,lx:31.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tyYYXFH1cfiQ3uNpmQwaDs",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.050734015130335264,cy:-.02530275977843931,cz:.5,lx:27.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"vP1hAunDAXzhYB1S1HLKVM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05523843503442073,cy:-.004399163085999424,cz:.5,lx:25.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"u6QjEgQS4SovsxfWiwK9pS",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05234611465739277,cy:.024581126850095093,cz:.5,lx:22.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"46FxqZ3kp4K5aLnSHofoke",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04805120265582289,cy:.05509294308926524,cz:.5,lx:21.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"4KWK7RGJeM7J1Y4Bc2BCbo",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04375629065425305,cy:.08560475932843534,cz:.5,lx:19.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"9NexZBuAyQshnZjEyJiXpM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.039461378652683204,cy:.11611657556760548,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"aQJdFu6WBGKc9yho8AS2xT",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04924988203531412,cy:.13125034396973115,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3ogeckCTPTgxjp41JDKuuA",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05914913042917638,cy:.1462631870114971,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"m5ZqKSj8PiDLKTSkryPkD4",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.06904837882303859,cy:.1612760300532631,cz:.5,lx:19.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"gUD4622TjboopEheHWCtM8",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.14637364805016384,cy:.10266464590659576,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3B4tjopc3V8wB73wfk3LgA",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.020601276304081376,cy:.23999877236143063,cz:.5,lx:10.799999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"j6oGKhKWfa4g28v4pveBRC",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.16516009271515278,cy:.10797332801394043,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"6uMytuxgTByw7WEXjAsAXU",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.017562115186903173,cy:.2691394015238318,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2FJtQtosDkuXdtp7KmRoYy",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.18394653738014172,cy:.11328201012128505,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3pFwSbqooyxHrq2Jp4XADp",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.014522954069724847,cy:.298280030686233,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5qdmnpcKFqUM9vXyTX4hi7",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.20273298204513066,cy:.11859069222862975,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tJg3jzMUi1ApjHbbN193Zz",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.011483792952546625,cy:.3274206598486342,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"xxk4Md1mJ7NHchtu4BLpwH",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2215194267101196,cy:.12389937433597444,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"7NmhiBzuipraDWa3kyetyj",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.008444631835368357,cy:.35656128901103534,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"f8qSHhvV7wP4nEzfo6VoDk",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.24030587137510853,cy:.12920805644331906,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"posdSQ1dJvWZjSpgrNhZeK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.005405470718190015,cy:.3857019181734367,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"9riXPgRDkjJzGVegGVgCgw",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.25909231604009747,cy:.13451673855066373,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"cHZAxZtQFw1z3WZs51Lb8y",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.0023663096010117777,cy:.41484254733583786,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"oe7DbmdHbpatHjToisk5xv",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2778787607050864,cy:.1398254206580084,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"wWLocRGwnWkKFGd13Lw2xH",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.0006728515161664303,cy:.443983176498239,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"pLYCjrgQcBLecG9n2GBB5R",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2966652053700753,cy:.14513410276535307,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5cGW4T9ojh23VUkpq6dRc7",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.3154516500350642,cy:.15044278487269772,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"uZGNbTxhF7wMM1ExYuxSCK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.3342380947000532,cy:.15575146698004247,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"hpaMNd5tiDGWpzg7eQxhTm",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1}],C4n=37,R4n={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[43.034934411209356,-77.43728686826599,60.87535152181681],panCenter:[7.125444398078178,-5.749142987156418,.5356497726578432],orthographic:!1,enableRotate:!0,cameraZoom:13.268408625781248,showInstructionPanel:!1,cameraPosition2D:[5.843642120827252,1.7570601735865479,150],panCenter2D:[5.843642120827252,1.75721018025187,26494911975471404e-22],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:-1,y:4,width:378,height:114},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},H4n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},M4n=2,I4n={pvModelName:"FS-275",rowAxis:"East-West",orientation:"Landscape",tiltAngle:.5235987755982988,rowsPerRack:1,interRowSpacing:1,poleHeight:.3,poleSpacing:3,margin:.2},z4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},D4n={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},E4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},k4n="Unknown",F4n=null,L4n=null,W4n=null,N4n=[`Draw a polygon for the solar panel field and +As the sun moves across the sky, solar panels do not always face the sun. Solar trackers allow them to follow the sun like sunflowers to maximize their outputs. This model compares the outputs of solar panels driven by the horizontal single-axis tracker (HSAT), the vertical single-axis tracker (VSAT), and the altazimuth dual-axis trackers (AADAT), as well as that of a fixed solar panel. You can also animate the movement of the sun to see how the solar panels follow it.`],jan={docid:Pan,time:Can,timestamp:Ran,userid:Han,owner:Man,email:Ian,world:zan,elements:Dan,view:Ean,graphState:kan,evolutionMethod:Fan,solarPanelArrayLayoutParams:Lan,solarPanelArrayLayoutConstraints:Wan,evolutionaryAlgorithmState:Nan,economicsParams:Uan,notes:Ban},Yan="stLbuVGfE2K8DrmoYsFg9w",Oan="02/04/2023 02:04 pm",_an=1675537455512,Van="QWecNcxhyvP6j6sBN11hBsfZDau1",Gan=null,Xan=null,Jan={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Kan=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-.06554753263096413,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-7.418371930827338,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"pNA4YvnHKpbgLLZoVdn8iH",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"pNA4YvnHKpbgLLZoVdn8iH",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:-18.384386246268818,cy:-7.395598164511793,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pNA4YvnHKpbgLLZoVdn8iH",leftRidgeLength:6,rightRidgeLength:6,rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:18.191904297849153,cy:-7.416985047669567,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,rise:2,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:5,leftJoints:["xyaukKZz7A3TN7punm6ojQ"],rightJoints:["t8gz6AKc17wrcW6oGcJkRc"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tjjt6SvCacxyrjW8mL7Kcd",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:5,leftJoints:["eyn92Pbtw4rxGsusMErN7b"],rightJoints:["tjjt6SvCacxyrjW8mL7Kcd"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xyaukKZz7A3TN7punm6ojQ",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:5,leftJoints:["tjjt6SvCacxyrjW8mL7Kcd"],rightJoints:["eyn92Pbtw4rxGsusMErN7b"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t8gz6AKc17wrcW6oGcJkRc",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:5,leftJoints:["t8gz6AKc17wrcW6oGcJkRc"],rightJoints:["xyaukKZz7A3TN7punm6ojQ"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eyn92Pbtw4rxGsusMErN7b",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Foundation",cx:-18.349437375856816,cy:7.358577960859719,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fWm5hggYktD39sKer9AZNn",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["7pDL5vuaWkaSp6xPdGtoFv"],rightJoints:["jRzTPUopsCw4wfe1XwNMiY"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ak7Cpd4phQ5SWBAYKo1UCe",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["f2RfmPbQBbQQB9B9qxgaGp"],rightJoints:["ak7Cpd4phQ5SWBAYKo1UCe"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7pDL5vuaWkaSp6xPdGtoFv",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["ak7Cpd4phQ5SWBAYKo1UCe"],rightJoints:["f2RfmPbQBbQQB9B9qxgaGp"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jRzTPUopsCw4wfe1XwNMiY",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["jRzTPUopsCw4wfe1XwNMiY"],rightJoints:["7pDL5vuaWkaSp6xPdGtoFv"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"f2RfmPbQBbQQB9B9qxgaGp",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:18.357286683609985,cy:7.35579151072247,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"w5VAS3XZUgKoYjMsuPJ9cq",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["3nk4fctTxNug3tQ2458FKw"],rightJoints:["dc91yXxYZexfAFXVg2fpn6"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pwXdeCrfH255xyNxeKZFmq",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["m39f5UsRB2FwBXUr7e5PvG"],rightJoints:["pwXdeCrfH255xyNxeKZFmq"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3nk4fctTxNug3tQ2458FKw",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,6.780964087966274],selected:!1,centerLeftRoofHeight:[-.35,4.890482043983138],centerRightRoofHeight:[.35,4.890482043983138],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["pwXdeCrfH255xyNxeKZFmq"],rightJoints:["m39f5UsRB2FwBXUr7e5PvG"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dc91yXxYZexfAFXVg2fpn6",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,6.780964087966274],selected:!1,centerLeftRoofHeight:[-.35,4.890482043983138],centerRightRoofHeight:[.35,4.890482043983138],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["dc91yXxYZexfAFXVg2fpn6"],rightJoints:["3nk4fctTxNug3tQ2458FKw"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"m39f5UsRB2FwBXUr7e5PvG",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:-.2822234132630961,cy:-22.249672711420477,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d6fjBvqj48Q3knutrPvQzj",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",wallsId:["xyaukKZz7A3TN7punm6ojQ","tjjt6SvCacxyrjW8mL7Kcd","t8gz6AKc17wrcW6oGcJkRc","eyn92Pbtw4rxGsusMErN7b"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",id:"hajPbexieJRPqTV4EDojfw",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",wallsId:["f2RfmPbQBbQQB9B9qxgaGp","7pDL5vuaWkaSp6xPdGtoFv","ak7Cpd4phQ5SWBAYKo1UCe","jRzTPUopsCw4wfe1XwNMiY"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",id:"jKe65v2XQs93jh4Da9kMiu",rise:3.592861140197524,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gambrel",wallsId:["m39f5UsRB2FwBXUr7e5PvG"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",id:"ptuJ1uXn6Mmb8yfPchYi2c",rise:3.7809640879662743,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["ixC5APwNiRHyp3q8fcpSip"],rightJoints:["8hSDdsDC58WwCVch1EWVeh"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ozFwLmFwWhU6vEeaiRMgLF",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["qjuHirmyC29jd4cf1J7Ub1"],rightJoints:["ozFwLmFwWhU6vEeaiRMgLF"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ixC5APwNiRHyp3q8fcpSip",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["ozFwLmFwWhU6vEeaiRMgLF"],rightJoints:["qjuHirmyC29jd4cf1J7Ub1"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8hSDdsDC58WwCVch1EWVeh",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["8hSDdsDC58WwCVch1EWVeh"],rightJoints:["ixC5APwNiRHyp3q8fcpSip"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qjuHirmyC29jd4cf1J7Ub1",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:18.14821865757634,cy:-22.28587145270979,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"upLMjkz3yhg33F3y5iosoh",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",wallsId:["qjuHirmyC29jd4cf1J7Ub1"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",id:"nUUEKM9A4b42WTe8cCbmi9",rise:2.4252724498654796,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["igxQHaerDScxsfB5TgVZU4"],rightJoints:["fisK6kExsrNY6Pqi3iQHme"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3gfx2QQjNJN8MdstGfbwGN",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["ayZDPKzE28H2j3EL6h6FST"],rightJoints:["3gfx2QQjNJN8MdstGfbwGN"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"igxQHaerDScxsfB5TgVZU4",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[.15368124011044487,5.976337025346289],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["3gfx2QQjNJN8MdstGfbwGN"],rightJoints:["ayZDPKzE28H2j3EL6h6FST"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fisK6kExsrNY6Pqi3iQHme",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[-.15368124011044487,5.976337025346289],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["fisK6kExsrNY6Pqi3iQHme"],rightJoints:["igxQHaerDScxsfB5TgVZU4"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ayZDPKzE28H2j3EL6h6FST",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"ue2dCEQjJdM2ogHcYaDLus",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#999999",normal:[0,0,1],rotation:[0,0,0],parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofType:"Gable",textureType:"Roof Texture Default",thickness:.2,wallsId:["ayZDPKzE28H2j3EL6h6FST"],ridgeLeftPoint:[-.15368124011044487,1],ridgeRightPoint:[.15368124011044487,1],selected:!1,rise:2.9763370253462886,ceiling:!1},{type:"Foundation",cx:-18.3917853849947,cy:-22.23021238337839,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8FvPN2owsgTQ83kbYPEi1w",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:5.846129172584467,leftJoints:["7uVMbtndXyFhLg9N8igxZL"],rightJoints:["satrCacXQzxtUPDa8WeKn7"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uNqL4MKdnpapHVSi9J1K8T",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:5.846129172584467,rightRoofHeight:5.846129172584467,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.846129172584467,rightTopPartialHeight:5.846129172584467},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["5u61LU9xBr7HzdGUCwG4J6"],rightJoints:["uNqL4MKdnpapHVSi9J1K8T"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7uVMbtndXyFhLg9N8igxZL",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:3,rightRoofHeight:5.846129172584467,centerRoofHeight:[.5,5.846129172584467],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["uNqL4MKdnpapHVSi9J1K8T"],rightJoints:["5u61LU9xBr7HzdGUCwG4J6"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"satrCacXQzxtUPDa8WeKn7",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:5.846129172584467,rightRoofHeight:3,centerRoofHeight:[-.5,5.846129172584467],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["satrCacXQzxtUPDa8WeKn7"],rightJoints:["7uVMbtndXyFhLg9N8igxZL"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5u61LU9xBr7HzdGUCwG4J6",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"iNBeHL8TpJ75nDzdH6Ar6c",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#999999",normal:[0,0,1],rotation:[0,0,0],parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofType:"Gable",textureType:"Roof Texture Default",thickness:.2,wallsId:["5u61LU9xBr7HzdGUCwG4J6"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:.04736842105263009,cy:7.4416382171024535,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e6BPbJvDHWVEFn61HvpPWK",selected:!1}],qan={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.052631578947368425,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.052631578947368425,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-28.363486288062674,-49.79716924665453,24.823194309796552],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:15.47561875,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-6.81693136261614,-15.495725419499871,0],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},$an={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Qan=1,Zan={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},eln={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},tln={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},nln={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},oln=[],iln={docid:Yan,time:Oan,timestamp:_an,userid:Van,owner:Gan,email:Xan,world:Jan,elements:Kan,view:qan,graphState:$an,evolutionMethod:Qan,solarPanelArrayLayoutParams:Zan,solarPanelArrayLayoutConstraints:eln,evolutionaryAlgorithmState:tln,economicsParams:nln,notes:oln},rln="9gaZVfxNNTHLmXcZPRJRXw",aln="09/23/2023 09:34 AM",lln=1695476069953,sln=null,cln=null,uln=null,dln={latitude:42.52092349999999,address:"Leominster State Forest, Leominster, MA 01420, USA",name:"default",airAttenuationCoefficient:.01,ground:{thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3},dustLoss:.05,cspGridCellSize:.5,cspDaysPerYear:4,discretization:"Approximate",daysPerYear:12,cspTimesPerHour:4,pvGridCellSize:.5,timesPerHour:1,noAnimationForHeatmapSimulation:!1,date:"6/22/2022, 10:00:00 AM",solarRadiationHeatmapGridCellSize:.25,solarPanelVisibilityGridCellSize:.2,noAnimationForSensorDataCollection:!1,longitude:-71.8384068,noAnimationForSolarPanelSimulation:!1},fln=[{parentId:"Ground",selected:!1,cy:.8212100903152009,id:"m7AH7DcnoGzAq9kryBy4RS",type:"Foundation",ly:10.473983232081025,cx:-.22738864151314608,lz:.07401736805849783,hvacSystem:{temperatureThreshold:3,thermostatSetpoint:20,id:"A"},locked:!0,rotation:[0,0,0],cz:.05,enableGroupMaster:!0,solarAbsorberPipe:{},solarUpdraftTower:{},lx:13.564552414056891,solarPowerTower:{},normal:[0,0,1]},{fill:"Full",structureColor:"white",type:"Wall",rightPoint:[-5.457020109151015,3.478026472724187,.1],cx:.5429798908489842,opacity:0,locked:!0,showLabel:!1,relativeAngle:3.141592653589793,lz:3.700868402924892,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:3.478026472724187,ly:.3,leftTopPartialHeight:3.700868402924892,leftPoint:[6.542979890848985,3.478026472724187,.1],lx:12,leftUnfilledHeight:.5,textureType:"Wall Texture Default",cz:0,color:"white",normal:[0,0,1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],eavesLength:.2,parentId:"m7AH7DcnoGzAq9kryBy4RS",parapet:{parapetHeight:1,display:!1,copingsWidth:.5,color:"white",textureType:"No Wall Texture",copingsHeight:.1},rightUnfilledHeight:.5,windows:[],rightTopPartialHeight:3.700868402924892,structureSpacing:2,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],selected:!1,leftRoofHeight:3.700868402924892,id:"2u4Fe7xnA6kkXXVGrQ4eyJ",roofId:"nbw17kYeUHp1aouuScuF3Y",wallStructure:"Default",structureWidth:.1,rightRoofHeight:3.700868402924892},{rightPoint:[6.542979890848985,3.478026472724187,.1],structureSpacing:2,relativeAngle:1.5707963267948966,wallStructure:"Default",cz:1.2992388529678256,opacity:.5,textureType:"Wall Texture Default",eavesLength:.2,rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],foundationId:"m7AH7DcnoGzAq9kryBy4RS",locked:!0,selected:!1,leftRoofHeight:3.700868402924892,ly:.3,parapet:{copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5,color:"white",parapetHeight:1,display:!1},windows:[],cx:6.542979890848985,color:"white",structureColor:"white",showLabel:!1,rightRoofHeight:3.7008684029248915,structureWidth:.1,leftTopPartialHeight:3.700868402924892,parentId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],rotation:[0,0,0],fill:"Full",rightTopPartialHeight:3.700868402924892,centerRoofHeight:[-.022465454047944533,5.827600046994059],lx:7.5,lz:3.700868402924892,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],id:"8XDG3EHsQoX26MhuzwMYUM",leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y"},{parentId:"m7AH7DcnoGzAq9kryBy4RS",locked:!0,cy:-.27197352727581237,rightTopPartialHeight:3.700868402924892,id:"skm8dNPSkFaVkoUwiPNfq1",centerRoofHeight:[.022465454047944533,5.827600046994059],rightPoint:[-5.457020109151015,-4.021973527275812,.1],roofId:"nbw17kYeUHp1aouuScuF3Y",leftUnfilledHeight:.5,rightUnfilledHeight:.5,rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],wallStructure:"Default",rotation:[0,0,0],showLabel:!1,cz:2.586710917765224,structureColor:"white",structureSpacing:2,selected:!1,leftRoofHeight:3.700868402924892,eavesLength:.2,opacity:.5,color:"white",rightRoofHeight:3.7008684029248915,leftTopPartialHeight:3.700868402924892,textureType:"Wall Texture Default",cx:-5.457020109151015,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],type:"Wall",parapet:{copingsHeight:.1,textureType:"No Wall Texture",display:!1,color:"white",parapetHeight:1,copingsWidth:.5},lz:3.700868402924892,lx:7.5,relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],structureWidth:.1,windows:[],normal:[0,0,1],fill:"Full",ly:.3},{selected:!1,textureType:"Wall Texture Default",cx:.5429798908489842,parapet:{copingsHeight:.1,parapetHeight:1,copingsWidth:.5,color:"white",textureType:"No Wall Texture",display:!1},rotation:[0,0,0],locked:!0,showLabel:!1,rightTopPartialHeight:3.700868402924892,rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],eavesLength:.2,windows:[],normal:[0,0,1],structureColor:"white",roofId:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cV8MyCuhWAsvEyyFuVqVqg",leftPoint:[-5.457020109151015,-4.021973527275812,.1],leftUnfilledHeight:.5,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:-4.021973527275812,structureSpacing:2,structureWidth:.1,lx:12,relativeAngle:0,color:"white",wallStructure:"Default",rightRoofHeight:3.700868402924892,rightUnfilledHeight:.5,leftTopPartialHeight:3.700868402924892,type:"Wall",fill:"Full",lz:3.700868402924892,opacity:0,leftRoofHeight:3.700868402924892,ly:.3,rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,leftJoints:["skm8dNPSkFaVkoUwiPNfq1"]},{ly:8.209748806830484,normal:[0,0,1],cy:-1.588798589487019,hvacSystem:{id:"A",temperatureThreshold:3,thermostatSetpoint:20},selected:!1,id:"8fpWrU7qVyVgipB7LtABom",solarPowerTower:{},solarAbsorberPipe:{},lz:.07401736805849783,cx:.3444310502028619,type:"Foundation",lx:9.082946486026735,solarUpdraftTower:{},rotation:[0,0,0],cz:.05,locked:!0,parentId:"Ground"},{structureWidth:.1,leftRoofHeight:5.712225310760859,rightPoint:[-3.263274891520475,1.612200631492839,0],roofId:"bMyAZV3jeEtHec1SxNb6X8",type:"Wall",fill:"Empty",leftTopPartialHeight:5.234219703671004,leftUnfilledHeight:4.805475873448939,cx:-.034941558187143285,leftPoint:[3.193391775146188,1.612200631492839,0],structureSpacing:2,rightRoofHeight:5.712225310760859,locked:!0,lz:5.234219703671004,rotation:[0,0,0],leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],rightUnfilledHeight:4.805475873448939,wallStructure:"Default",windows:[],parapet:{textureType:"No Wall Texture",display:!1,copingsHeight:.1,parapetHeight:1,color:"white",copingsWidth:.5},opacity:.5,textureType:"Wall Texture Default",ly:.3,id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.612200631492839,lx:6.4566666666666634,normal:[0,0,1],color:"white",parentId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:3.141592653589793,foundationId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,rightTopPartialHeight:5.234219703671004,structureColor:"white",selected:!1,cz:3.903941909848086,eavesLength:0,rightJoints:["1ATAe6P2KAHKLDSDfpVro9"]},{color:"white",rightPoint:[3.1933917751461904,1.612200631492839,0],parentId:"8fpWrU7qVyVgipB7LtABom",opacity:.5,rightRoofHeight:5.712225310760859,structureColor:"white",roofId:"bMyAZV3jeEtHec1SxNb6X8",parapet:{parapetHeight:1,textureType:"No Wall Texture",copingsWidth:.5,color:"white",copingsHeight:.1,display:!1},showLabel:!1,cx:3.193391775146189,eavesLength:.1,id:"4Q8KDQDxyuamkEtRJU3paR",type:"Wall",textureType:"Wall Texture Default",centerRoofHeight:[.5,5.712225310760859],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:6.136322990957498,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],cz:3.068161495478749,leftTopPartialHeight:5.234219703671004,structureWidth:.1,rotation:[0,0,0],ly:.3,locked:!1,leftRoofHeight:5.234219703671004,structureSpacing:2,foundationId:"8fpWrU7qVyVgipB7LtABom",windows:[],rightTopPartialHeight:5.760851132763845,leftUnfilledHeight:3.5697809504114297,leftPoint:[3.193391775146188,-1.1632293875304307,0],selected:!1,wallStructure:"Default",lx:2.7754300190232697,normal:[0,0,1],relativeAngle:1.570796326794896,fill:"Partial",rightUnfilledHeight:5.234219703671004,cy:.22448562198120414},{rightTopPartialHeight:5.234219703671004,id:"1ATAe6P2KAHKLDSDfpVro9",parentId:"8fpWrU7qVyVgipB7LtABom",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],showLabel:!1,locked:!1,cy:.22448562198120414,normal:[0,0,1],leftRoofHeight:5.712225310760859,centerRoofHeight:[-.5,5.712225310760859],lz:6.232580143918559,leftTopPartialHeight:5.822758282488435,leftPoint:[-3.263274891520475,1.612200631492839,0],opacity:.5,rightUnfilledHeight:3.5697809504114297,rotation:[0,0,0],rightRoofHeight:5.234219703671004,structureSpacing:2,lx:2.7754300190232697,structureColor:"white",rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],foundationId:"8fpWrU7qVyVgipB7LtABom",eavesLength:.1,rightPoint:[-3.263274891520475,-1.1632293875304307,0],wallStructure:"Default",ly:.3,parapet:{display:!1,copingsHeight:.1,parapetHeight:1,copingsWidth:.5,textureType:"No Wall Texture",color:"white"},type:"Wall",structureWidth:.1,roofId:"bMyAZV3jeEtHec1SxNb6X8",fill:"Partial",color:"white",cz:3.1162900719592797,leftUnfilledHeight:5.234219703671004,relativeAngle:-1.5707963267948966,selected:!1,windows:[],cx:-3.263274891520475,textureType:"Wall Texture Default"},{locked:!0,ceiling:!1,cz:0,rotation:[0,0,0],textureType:"Roof Texture Default",rise:2.126731644069167,selected:!1,normal:[0,0,1],color:"#666666",ly:0,showLabel:!1,lz:0,cx:0,roofType:"Gable",ridgeRightPoint:[-.022465454047944533,1],cy:0,type:"Roof",lx:0,parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nbw17kYeUHp1aouuScuF3Y",ridgeLeftPoint:[.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],thickness:.2,foundationId:"m7AH7DcnoGzAq9kryBy4RS"},{leftTopPartialHeight:5.234219703671004,showLabel:!1,windows:[],roofId:"bMyAZV3jeEtHec1SxNb6X8",opacity:.5,parentId:"8fpWrU7qVyVgipB7LtABom",rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],structureWidth:.1,selected:!1,locked:!0,leftUnfilledHeight:3.5697809504114297,color:"white",ly:.3,normal:[0,0,1],structureColor:"white",id:"7xigJB2WiCCrREDc2Ja3YN",rightRoofHeight:5.234219703671004,rightPoint:[3.193391775146188,-1.1632293875304307,0],lz:5.234219703671004,cx:-.034941558187143285,lx:6.4566666666666634,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],cy:-1.1632293875304307,leftRoofHeight:5.234219703671004,leftPoint:[-3.263274891520475,-1.1632293875304307,0],wallStructure:"Default",fill:"Partial",foundationId:"8fpWrU7qVyVgipB7LtABom",parapet:{parapetHeight:1,display:!1,color:"white",copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5},rightTopPartialHeight:5.234219703671004,textureType:"Wall Texture Default",eavesLength:.4,rightUnfilledHeight:3.5697809504114297,relativeAngle:0,rotation:[0,0,0],cz:3.535805069111796,type:"Wall",structureSpacing:2},{color:"#666666",showLabel:!1,locked:!0,ridgeLeftPoint:[-.5,1],id:"bMyAZV3jeEtHec1SxNb6X8",thickness:.1,roofType:"Gable",cy:0,ceiling:!1,textureType:"Roof Texture Default",foundationId:"8fpWrU7qVyVgipB7LtABom",ly:0,lx:0,rotation:[0,0,0],cx:0,normal:[0,0,1],parentId:"8fpWrU7qVyVgipB7LtABom",rise:.4780056070898553,lz:0,selected:!1,ridgeRightPoint:[.5,1],type:"Roof",wallsId:["7xigJB2WiCCrREDc2Ja3YN"],cz:0},{color:"#ffffff",frameWidth:.05,normal:[0,0,1],id:"kT8BzEWny2ZAvkGr4E4KEf",showLabel:!1,mullionSpacing:.5,locked:!0,rotation:[0,0,0],mullionColor:"white",cz:.4037254895427074,type:"Window",mullion:!0,windowType:"Default",cy:.1,selected:!1,tint:"#73D8FF",mullionWidth:.06,ly:.3,lz:.14780124246219536,frame:!0,opacity:.5,shutter:{color:"#4d4d4d",width:.3,showRight:!0,showLeft:!0},lx:.15384615384615385,archHeight:1,parentId:"7xigJB2WiCCrREDc2Ja3YN",cx:-.23283427981414576,foundationId:"8fpWrU7qVyVgipB7LtABom"},{opacity:.5,mullionSpacing:.5,rotation:[0,0,0],windowType:"Default",frameWidth:.05,foundationId:"8fpWrU7qVyVgipB7LtABom",mullion:!0,ly:.3,mullionColor:"white",color:"#ffffff",tint:"#73D8FF",cy:.1,cz:.4037254895427074,locked:!0,parentId:"7xigJB2WiCCrREDc2Ja3YN",id:"7u1AuHohJXNKKJPafwNUFQ",lz:.14780124246219536,archHeight:1,frame:!0,normal:[0,0,1],cx:.23180175529168826,mullionWidth:.06,lx:.15384615384615385,type:"Window",selected:!1,shutter:{width:.3,showLeft:!0,color:"#4d4d4d",showRight:!0}},{id:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,locked:!0,type:"Foundation",cx:6.813410596867628,solarPowerTower:{},normal:[0,0,1],solarUpdraftTower:{},lx:3.6868215598526417,cz:.05,solarAbsorberPipe:{},parentId:"Ground",cy:.16141466329287235,notBuilding:!0,rotation:[0,0,0],lz:.07401736805849783,ly:2.3229214459557985},{eavesLength:.3,opacity:.5,parapet:{display:!1,copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5,parapetHeight:1,color:"white"},leftTopPartialHeight:6.661563125264805,windows:[],selected:!1,leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",fill:"Full",cz:0,normal:[0,0,1],ly:.2,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],rightUnfilledHeight:.5,rotation:[0,0,0],wallStructure:"Default",rightTopPartialHeight:6.661563125264805,showLabel:!1,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],cx:.23852160917213716,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",rightPoint:[-.5114783908278628,.8698262658360515,.1],leftUnfilledHeight:.5,lx:1.5,locked:!0,id:"5eUwuiBwfGoNEpcHG5kHqK",structureSpacing:2,cy:.8698262658360515,relativeAngle:3.141592653589793,type:"Wall",structureColor:"white",lz:6.661563125264805,textureType:"Wall Texture #3",structureWidth:.1},{normal:[0,0,1],type:"Wall",rightJoints:["qQNV4qND1aDjEtJsd6HVio"],opacity:.5,eavesLength:.3,textureType:"Wall Texture #3",leftPoint:[-.5114783908278628,.8698262658360516,0],rightUnfilledHeight:1.5096768753682475,cy:.11982626583605155,rotation:[0,0,0],lx:1.5,id:"hbU2xUbmKEDDXYDMWnjjCc",lz:6.661563125264805,rightTopPartialHeight:6.661563125264805,windows:[],relativeAngle:4.71238898038469,structureSpacing:2,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,cx:-.5114783908278628,rightPoint:[-.5114783908278628,-.6301737341639485,0],locked:!0,showLabel:!1,structureColor:"white",parentId:"3KgcTmNBqtYJcCny8HxQyQ",structureWidth:.1,fill:"Partial",ly:.2,leftUnfilledHeight:1.5096768753682475,wallStructure:"Default",leftTopPartialHeight:6.661563125264805,cz:0,parapet:{copingsHeight:.1,copingsWidth:.5,parapetHeight:1,textureType:"No Wall Texture",display:!1,color:"white"},leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"]},{cz:0,lz:6.661563125264805,rotation:[0,0,0],textureType:"Wall Texture #3",cy:-.6301737341639485,rightPoint:[.9885216091721372,-.6301737341639485,.1],normal:[0,0,1],structureSpacing:2,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,leftUnfilledHeight:.5,leftTopPartialHeight:6.661563125264805,leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,copingsWidth:.5,textureType:"No Wall Texture"},cx:.23852160917213716,structureWidth:.1,type:"Wall",rightJoints:["h8DQWwUSgNc283RWhcM3B1"],leftPoint:[-.5114783908278628,-.6301737341639485,.1],rightTopPartialHeight:6.661563125264805,windows:[],relativeAngle:0,parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,ly:.2,structureColor:"white",fill:"Full",id:"qQNV4qND1aDjEtJsd6HVio",opacity:.5,rightUnfilledHeight:.5,showLabel:!1,eavesLength:.3,wallStructure:"Default",locked:!0},{id:"h8DQWwUSgNc283RWhcM3B1",textureType:"Wall Texture #3",rotation:[0,0,0],opacity:.5,ly:.2,selected:!1,lz:6.661563125264805,leftJoints:["qQNV4qND1aDjEtJsd6HVio"],cy:.1198262658360515,fill:"Full",parapet:{display:!1,copingsWidth:.5,parapetHeight:1,textureType:"No Wall Texture",color:"white",copingsHeight:.1},relativeAngle:1.5707963267948966,locked:!0,cx:.9885216091721372,parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",structureWidth:.1,rightTopPartialHeight:6.661563125264805,rightUnfilledHeight:.5,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],lx:1.5,type:"Wall",cz:0,leftTopPartialHeight:6.661563125264805,eavesLength:.3,windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],leftUnfilledHeight:.5,wallStructure:"Default",structureColor:"white",showLabel:!1,structureSpacing:2,rightPoint:[.9885216091721372,.8698262658360515,.1],normal:[0,0,1]},{mullionColor:"white",windowType:"Default",cy:0,cz:0,frame:!0,ly:.3,cx:-.375,locked:!0,id:"wpUTVyngSAjDJDRdEV1NA6",shutter:{color:"#4d4d4d",showRight:!0,width:.25,showLeft:!0},showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frameWidth:.05,type:"Window",tint:"#73D8FF",mullionSpacing:.7,mullion:!0,color:"#ffffff",archHeight:1,parentId:"cV8MyCuhWAsvEyyFuVqVqg",lz:.44384979425833565,lx:.08333333333333333,selected:!1,mullionWidth:.06,rotation:[0,0,0],normal:[0,0,1],opacity:.5},{locked:!0,archHeight:1,cx:-.20833333333333334,lx:.08333333333333333,cy:.1,cz:-.005759415706553773,mullionColor:"white",mullionSpacing:.7,shutter:{showRight:!0,color:"#4d4d4d",showLeft:!0,width:.25},frameWidth:.05,mullionWidth:.06,lz:.44384979425833565,mullion:!0,opacity:.5,color:"#ffffff",parentId:"cV8MyCuhWAsvEyyFuVqVqg",normal:[0,0,1],type:"Window",frame:!0,tint:"#73D8FF",windowType:"Default",rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,id:"5ncRWHnRQyocXJujBx5jNE",selected:!1},{cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,mullionSpacing:.7,windowType:"Default",mullionWidth:.06,mullionColor:"white",id:"piUU3YZv2L1Zvedb6EFfFm",lz:.44384979425833565,rotation:[0,0,0],selected:!1,locked:!0,mullion:!0,cx:.19999999999999998,parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,archHeight:1,type:"Window",frame:!0,shutter:{width:.25,color:"#4d4d4d",showLeft:!0,showRight:!0},cz:-.005759415706553773,color:"#ffffff",normal:[0,0,1],frameWidth:.05,tint:"#73D8FF",opacity:.5},{cx:.37499999999999994,lx:.08333333333333333,shutter:{width:.25,showLeft:!0,showRight:!0,color:"#4d4d4d"},foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],mullionWidth:.06,mullionSpacing:.7,normal:[0,0,1],lz:.44384979425833565,ly:.3,selected:!1,frameWidth:.05,opacity:.5,mullion:!0,parentId:"cV8MyCuhWAsvEyyFuVqVqg",id:"upiLr8uqx55GDieKSLsjPj",frame:!0,cy:0,cz:0,archHeight:1,type:"Window",color:"#ffffff",locked:!0,mullionColor:"white",tint:"#73D8FF",windowType:"Default"},{mullionSpacing:.7,tint:"#73D8FF",type:"Window",id:"d9R7TXr9G1aG6bGwu14v9k",frameWidth:.05,lx:.13333333333333333,cx:.3466666666666667,windowType:"Default",mullion:!0,mullionColor:"white",archHeight:1,cy:0,normal:[0,0,1],ly:.3,locked:!0,rotation:[0,0,0],lz:.3942112571821837,selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",parentId:"skm8dNPSkFaVkoUwiPNfq1",mullionWidth:.06,frame:!0,opacity:.5,cz:-.05913168857732756,showLabel:!1,shutter:{showRight:!0,color:"#4d4d4d",showLeft:!0,width:.25},color:"#ffffff"},{tint:"#73D8FF",mullion:!0,normal:[0,0,1],opacity:.5,lz:.3942112571821837,selected:!1,shutter:{showLeft:!0,width:.25,color:"#4d4d4d",showRight:!0},cz:.5913168857732756,type:"Window",mullionWidth:.06,mullionSpacing:.7,mullionColor:"white",windowType:"Default",ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frame:!0,parentId:"skm8dNPSkFaVkoUwiPNfq1",frameWidth:.05,locked:!0,id:"9k4wgdGyyHM5BC1r2nJbQH",archHeight:1,rotation:[0,0,0],color:"#ffffff",cy:0,cx:0,lx:.13333333333333333},{mullionColor:"white",cx:0,cz:-.05913168857732756,type:"Window",lx:.13333333333333333,rotation:[0,0,0],windowType:"Default",color:"#ffffff",parentId:"skm8dNPSkFaVkoUwiPNfq1",ly:.3,shutter:{showLeft:!0,showRight:!0,width:.25,color:"#4d4d4d"},foundationId:"m7AH7DcnoGzAq9kryBy4RS",archHeight:1,cy:0,mullionSpacing:.7,lz:.3942112571821837,id:"rgPxjoaTPqdF2tQvSYYJxX",frameWidth:.05,selected:!1,tint:"#73D8FF",opacity:.5,locked:!0,frame:!0,mullionWidth:.06,normal:[0,0,1],mullion:!0},{mullionColor:"white",cz:-.05913168857732756,normal:[0,0,1],frame:!0,windowType:"Default",opacity:.5,ly:.3,mullionWidth:.06,cx:-.3333333333333333,color:"#ffffff",lz:.3942112571821837,lx:.13333333333333333,mullionSpacing:.7,cy:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",rotation:[0,0,0],id:"85T9TwcUR7am6Rcbs7Fcvu",type:"Window",selected:!1,frameWidth:.05,locked:!0,mullion:!0,parentId:"skm8dNPSkFaVkoUwiPNfq1",archHeight:1,shutter:{width:.25,showRight:!0,color:"#4d4d4d",showLeft:!0}},{lx:.544,lz:1.68,cz:.03700868412852199,rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",type:"Human",cy:-3.5804269948570657,ly:.544,locked:!0,normal:[0,1,0],id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,cx:-.09889479147539992,name:"Judd"},{locked:!0,lx:7.849178627898182,cz:0,id:"t5Aj8tjjpqVaLaB3uEqfR8",cy:-3.6653094140688935,rotation:[0,0,0],type:"Tree",normal:[0,1,0],lz:8.26765132308192,parentId:"Ground",selected:!1,cx:11.305837530144139,name:"Magnolia"},{parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",mullionSpacing:.7,archHeight:1,selected:!1,lz:.3942112571821837,lx:.13333333333333333,windowType:"Default",rotation:[0,0,0],shutter:{width:.25,showRight:!0,showLeft:!0,color:"#4d4d4d"},ly:.3,cz:-.08,locked:!0,cx:-.25833333333333336,frame:!0,color:"#ffffff",frameWidth:.05,mullionWidth:.06,id:"dGQYRX5aMuZKouydnVo1zc",mullionColor:"white",mullion:!0,normal:[0,0,1],tint:"#73D8FF",cy:-13376344861350336e-31,opacity:.5},{foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,color:"#ffffff",mullion:!0,frame:!0,normal:[0,0,1],mullionWidth:.06,rotation:[0,0,0],type:"Window",selected:!1,lx:.13333333333333333,mullionColor:"white",tint:"#73D8FF",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",locked:!0,windowType:"Default",shutter:{showRight:!0,showLeft:!0,width:.25,color:"#4d4d4d"},frameWidth:.05,archHeight:1,cx:.26666666666666666,cz:-.08,mullionSpacing:.7,opacity:.5,cy:-11010413489448665e-30,id:"cni5XLCGZ7vNfLqxjgsnua",lz:.3942112571821837},{lx:.10833333333333332,color:"white",showLabel:!1,textureType:"Door Texture Default",lz:.716165481422614,normal:[0,1,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",filled:!0,type:"Door",locked:!0,doorType:"Default",ly:0,selected:!1,archHeight:1,cy:0,cz:-.14191725928869298,rotation:[0,0,0],opacity:1,id:"j9wJCoWK33fz7y9VeMvYET",cx:.004166666666666666},{id:"hDyRWYv3zznENZxyb7giJb",parentId:"Ground",selected:!1,ly:.43,name:"Jess",cy:-3.1477838439296697,rotation:[0,0,0],type:"Human",locked:!0,cx:10.043178984637636,cz:0,lz:1.5,normal:[0,1,0],lx:.43},{lx:1,id:"rQBZjpiN17FBa7zVGS29EM",name:"Hosta",locked:!0,parentId:"Ground",rotation:[0,0,0],cx:-4.865498633056688,cz:4440892098500626e-31,cy:-5.35511145051621,type:"Flower",lz:.7,selected:!1,normal:[0,1,0]},{cx:-5.913277609806336,parentId:"Ground",rotation:[0,0,0],normal:[0,1,0],lz:.7,cy:-5.374330832155909,type:"Flower",lx:1,name:"Hosta",cz:0,locked:!0,id:"gc42wB2NVDE3XxmJXbCjzF",selected:!1},{parentId:"Ground",selected:!1,normal:[0,1,0],id:"vUf5PGrUMVgXbqYPHJhogg",cz:0,type:"Flower",locked:!0,rotation:[0,0,0],cy:-5.032667389054726,name:"Hosta",cx:5.365516144068206,lz:.7,lx:1},{type:"Flower",cz:0,lx:1,selected:!1,normal:[0,1,0],locked:!0,id:"nQJ3744KdWm46uETjWgCgh",name:"Hosta",cy:-5.0400985854852,lz:.7,parentId:"Ground",rotation:[0,0,0],cx:6.451426749352761},{normal:[0,1,0],lx:.4,name:"Bellflower",selected:!1,type:"Flower",cx:10.305907483983008,lz:.8,locked:!0,cz:-4440892098500626e-31,rotation:[0,0,0],parentId:"Ground",cy:-4.741244078804888,id:"v55S46CRAfNBqtvC7SejWL"},{type:"Flower",selected:!1,locked:!0,cz:0,rotation:[0,0,0],lz:.8,name:"Bellflower",cx:10.64587810641245,normal:[0,1,0],lx:.4,cy:-5.149011385356842,parentId:"Ground",id:"cjq5zpMwEQ68Pvr3BHuvAN"},{locked:!0,lx:.4,selected:!1,id:"bq7T5SUabm6WYJRf7MELsr",type:"Flower",parentId:"Ground",cz:0,cy:-5.113715548843749,name:"Bellflower",normal:[0,1,0],lz:.8,rotation:[0,0,0],cx:11.069278217326396},{parentId:"Ground",selected:!1,rotation:[0,0,0],cz:0,type:"Flower",name:"Bellflower",id:"kGacG4GbyL6sr53BA3szew",lx:.4,cx:10.087718880149556,normal:[0,0,1],cy:-5.171937637087455,locked:!0,lz:.8},{rotation:[0,0,0],parentId:"Ground",cz:0,id:"3mzXsN58FdxQCLpv8kVCYw",normal:[0,0,1],selected:!1,name:"Bellflower",locked:!0,cx:11.337264912334188,lx:.4,type:"Flower",lz:.8,cy:-4.906129973770318},{rotation:[0,0,0],normal:[0,0,1],cy:-3.991597909938303,cz:0,name:"Bellflower",locked:!0,lz:.8,type:"Flower",lx:.4,id:"acUhTF9RVe5riGAE9cfhJn",cx:10.431075288929677,parentId:"Ground",selected:!1},{name:"Bellflower",id:"ooTJkhwo3iWiDqyRe6jwef",cx:9.86441386534317,cy:-4.67810479084557,parentId:"Ground",normal:[0,0,1],selected:!1,lx:.4,locked:!0,rotation:[0,0,0],cz:-8881784197001252e-31,type:"Flower",lz:.8},{lz:.5,rotation:[0,0,0],name:"White Flower",selected:!1,type:"Flower",cz:0,lx:.8,id:"p8SDFTinzKkCMVNKYGXSQU",cx:9.406250442154278,normal:[0,1,0],locked:!0,cy:-4.8162245440076354,parentId:"Ground"},{cz:0,selected:!1,cx:9.924833666037356,type:"Flower",rotation:[0,0,0],locked:!0,name:"White Flower",cy:-5.548260780564018,parentId:"Ground",lz:.5,lx:.8,normal:[0,0,1],id:"vXr6WeGdxpL14pfLB8tAGS"},{normal:[0,1,0],rotation:[0,0,0],lz:2,selected:!1,cz:.03700868412863657,parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.8637473869150567,locked:!0,lx:1,id:"8jaD71ndVi3Pxu67kBrHve",name:"Tall Bush",type:"Flower",cy:-5.021658074995834},{normal:[0,0,1],cx:1.960367825542456,lz:2,name:"Tall Bush",locked:!0,cz:.03700868412852288,parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"xu93thGDcf75KxzfVpckCK",lx:1,rotation:[0,0,0],cy:-5.044972777905908,selected:!1,type:"Flower"},{rotation:[0,0,0],id:"aPfi6ru8UEQvmRY7YmRfhQ",selected:!1,lx:2,cx:-2.974917470063473,name:"Hydrangea",parentId:"m7AH7DcnoGzAq9kryBy4RS",type:"Flower",lz:1.5,locked:!0,cy:-4.971526921550339,cz:.03700868412852377,normal:[0,0,1]},{cx:2.9943532379673203,lx:2,rotation:[0,0,0],selected:!1,cz:.03700868412852288,name:"Hydrangea",type:"Flower",parentId:"8fpWrU7qVyVgipB7LtABom",normal:[0,0,1],id:"p12f94kQKCXpPNEEPe9ktz",cy:-2.3800793411851497,locked:!0,lz:1.5},{parentId:"Ground",cz:4440892098500626e-31,cx:-8.658559512721883,id:"8MCf8WzkvdtkVT9MPmDy4G",cy:.2268652768492938,rotation:[0,0,0],normal:[0,0,1],lx:5.410682322966088,locked:!0,type:"Tree",selected:!1,lz:5.9930306282885,name:"Magnolia"},{name:"Yellow Flower",type:"Flower",locked:!0,rotation:[0,0,0],cy:-3.717743510806919,id:"kwZdR8kant3eBoLCjjUQCJ",lx:2,selected:!1,normal:[0,0,1],lz:1.4,cx:-8.813697651847779,parentId:"Ground",cz:-4440892098500626e-31},{lx:1,parentId:"Ground",lz:.7,rotation:[0,0,0],cx:-9.660182286895216,selected:!1,cy:-.10473626441648776,type:"Flower",cz:0,locked:!0,normal:[0,0,1],name:"Hosta",id:"hM4s39UWZUWNoUSUMHrmbJ"},{lz:.7,id:"nQgYQhsWvwPQorjAb4dSNv",rotation:[0,0,0],selected:!1,locked:!0,cz:0,cx:-9.04189556545002,cy:-.8584081924043119,lx:1,name:"Hosta",type:"Flower",normal:[0,0,1],parentId:"Ground"},{selectedIndex:1,noOutline:!0,lx:.4,id:"eYBEchBwdGr5aCP6pHEkhr",vertices:[{x:-.04166666666666669,y:-.13775856472283443},{y:-.00265513883370061,x:-.04166666666666669},{x:.041666666666666616,y:-.00265513883370061},{x:.041666666666666616,y:-.13775856472283443}],text:"175",opacity:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",fontSize:.3,cy:-.2942089556230589,rotation:[0,0,0],ly:.4,selected:!1,normal:[0,0,1],fontStrokeWidth:.01,cz:0,parentType:"Wall",lz:.4,fontColor:"gold",parentId:"cV8MyCuhWAsvEyyFuVqVqg",filled:!0,type:"Polygon",locked:!0,cx:-.00213352886578518,color:"#ffffff"},{lx:.10666666666666667,locked:!0,parentId:"8XDG3EHsQoX26MhuzwMYUM",normal:[0,1,0],type:"Door",cz:-.3986137684780472,lineWidth:.2,doorType:"Default",textureType:"Door Texture #8",uValue:10,color:"#ffffff",rotation:[0,0,0],selected:!1,archHeight:1,ly:0,lz:.20277246304390567,interior:!0,filled:!1,id:"d48TNpLXWZQD5hZa4SumwF",showLabel:!1,lineColor:"#000000",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.013333333333333334,cy:0},{type:"Window",color:"#ffffff",empty:!0,opacity:.5,normal:[0,-1,0],parentType:"Roof",lx:6.2858321442603895,rotation:[.535854716076799,0,0],lineColor:"#000000",lz:2.946512926202779,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frame:!0,ly:.2,cz:4.9719401800066105,showLabel:!1,cy:-2.2182418146601295,windowType:"Default",sillWidth:0,mullionSpacing:.5,frameWidth:.1,mullion:!1,locked:!0,uValue:2,selected:!1,mullionColor:"#ffffff",interior:!0,cx:.546396492045166,tint:"#73D8FF",archHeight:1,id:"qbq4krxSBYqvGnjWC2BaZ6",shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},parentId:"nbw17kYeUHp1aouuScuF3Y",lineWidth:.2,mullionWidth:.06}],hln=19,pln={visibilityResultsPanelY:0,showSunAngles:!1,showYearlyBuildingEnergyPanel:!1,yearlyPvYieldPanelY:0,mapWeatherStations:!1,enableRotate:!0,showYearlyHeliostatYieldPanel:!1,heatFluxScaleFactor:5,dailyParabolicTroughYieldPanelY:0,dailyBuildingEnergyPanelRect:{y:237,height:360,x:-520,width:600},yearlyParabolicTroughYieldPanelY:0,showDesignInfoPanel:!1,cameraPosition:[-8.799358255746082,-16.959783561056284,1.954611653271045],yearlyPvYieldPanelX:0,yearlyHeliostatYieldPanelY:0,mapPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,solarRadiationHeatMapReflectionOnly:!1,stickyNotePanelY:0,cameraZoom:38.96037486782549,autoRotate:!1,yearlyBuildingEnergyPanelRect:{height:400,x:-78,y:157,width:600},showSolarPanelVisibilityResultsPanel:!1,yearlyParabolicDishYieldPanelX:0,mapTilt:0,weatherPanelX:0,theme:"Hill",yearlyHeliostatYieldPanelX:0,showMapPanel:!1,groundColor:"forestgreen",dailyFresnelReflectorYieldPanelX:0,dailyPvYieldPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicDishYieldPanelY:0,dailyHeliostatYieldPanelX:0,showDailyHeliostatYieldPanel:!1,ambientLightIntensity:.2,axes:!0,solarRadiationHeatMapMaxValue:5,directLightIntensity:2,groundImage:!1,mapPanelX:0,showWeatherPanel:!1,showYearlyParabolicDishYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:0,showHeliodonPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:0,showYearlyParabolicTroughYieldPanel:!1,mapZoom:18,heliodonPanelY:0,dailyFresnelReflectorYieldPanelY:0,dailyLightSensorPanelY:0,yearlyParabolicDishYieldPanelY:0,weatherPanelY:0,mapType:"roadmap",yearlyFresnelReflectorYieldPanelY:0,showDailyBuildingEnergyPanel:!1,showDailyParabolicTroughYieldPanel:!1,heliodonPanelX:0,visibilityResultsPanelX:0,showDailyFresnelReflectorYieldPanel:!1,stickyNotePanelX:0,orthographic:!1,yearlyParabolicTroughYieldPanelX:0,showStickyNotePanel:!1,showDailyPvYieldPanel:!1,dailyLightSensorPanelX:0,showDailyParabolicDishYieldPanel:!1,heliodon:!1,cameraPosition2D:[.3385955283596493,-.9616823668411001,150],showYearlyPvYieldPanel:!1,navigationView:!1,panCenter:[-1.2725556781216778,-2.9298638165589974,1.954611653271045],panCenter2D:[.3385955283596493,-.960681989394115,-984385140521351e-21],showInstructionPanel:!0,dailyHeliostatYieldPanelY:0,yearlyLightSensorPanelY:0,dailyParabolicDishYieldPanelX:0,yearlyLightSensorPanelX:0,showSiteInfoPanel:!0,showDailyLightSensorPanel:!1},gln={yearlyHeliostatIndividualOutputs:!1,dailyPvIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1},mln=1,yln={poleSpacing:3,interRowSpacing:2,tiltAngle:0,orientation:"Landscape",poleHeight:1,rowAxis:"Zonal",rowsPerRack:1,pvModelName:"SPR-X21-335-BLK"},Aln={maximumTiltAngle:1.5707963267948966,maximumInterRowSpacing:10,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",poleSpacing:5,poleHeight:1,minimumInterRowSpacing:2,maximumRowsPerRack:6,minimumRowsPerRack:1},wln={geneticAlgorithmParams:{mutationRate:.1,localSearchRadius:.1,populationSize:20,selectionMethod:1,crossoverRate:.5,convergenceThreshold:.01,searchMethod:1,selectionRate:.5,problem:"Solar Panel Tilt Angle",maximumGenerations:5,objectiveFunctionType:1},particleSwarmOptimizationParams:{convergenceThreshold:.01,searchMethod:1,localSearchRadius:.1,vmax:.01,maximumSteps:5,problem:"Solar Panel Tilt Angle",swarmSize:20,cognitiveCoefficient:.1,inertia:.8,objectiveFunctionType:1,socialCoefficient:.1}},vln={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},xln="Unknown",bln=null,Sln=null,Tln=null,Pln=null,Cln=[],Rln=3,Hln=3,Mln={docid:rln,time:aln,timestamp:lln,userid:sln,owner:cln,email:uln,world:dln,elements:fln,sceneRadius:hln,view:pln,graphState:gln,evolutionMethod:mln,solarPanelArrayLayoutParams:yln,solarPanelArrayLayoutConstraints:Aln,evolutionaryAlgorithmState:wln,economicsParams:vln,modelType:xln,modelAuthor:bln,modelLabel:Sln,modelDescription:Tln,designProjectType:Pln,notes:Cln,minimumNavigationMoveSpeed:Rln,minimumNavigationTurnSpeed:Hln},Iln="4MEDLVu1wYqsKgVHnu73g2",zln="06/19/2023 12:53 pm",Dln=1687193611217,Eln="QWecNcxhyvP6j6sBN11hBsfZDau1",kln=null,Fln=null,Lln={solarRadiationHeatmapGridCellSize:.25,date:"10/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Wln=[{ly:11.161213715568111,solarUpdraftTower:{},parentId:"Ground",cx:.43688740998646924,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.6256010051791083,type:"Foundation",solarPowerTower:{},lx:15.01849429025864,lz:.15,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.075,enableGroupMaster:!0,color:"#999999",locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"78T3MkimgRTSnmRTMhRnJm",ly:.1,rightPoint:[-6.121296160650631,3.6736355578602797,.15],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"No Wall Texture",leftPoint:[5.878703839349369,3.6736355578602797,.15],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.12129616065063109,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.6736355578602797,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.878703839349369,leftPoint:[5.878703839349369,-3.8263644421397207,.15],cy:-.07636444213971982,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.878703839349369,3.6736355578602797,.15],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",rightRoofHeight:4.0189625473598385,roofId:"78T3MkimgRTSnmRTMhRnJm",color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{lx:7.5,lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"78T3MkimgRTSnmRTMhRnJm",selected:!1,cy:-.07636444213971982,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-6.121296160650631,-3.8263644421397207,.15],normal:[0,0,1],rotation:[0,0,0],textureType:"No Wall Texture",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.121296160650631,3.6736355578602797,.15],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.1,cx:-6.121296160650631,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{showLabel:!1,cx:-.12129616065063109,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.878703839349369,-3.8263644421397207,.15],cz:2.4938633836176103,textureType:"No Wall Texture",cy:-3.8263644421397207,id:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"78T3MkimgRTSnmRTMhRnJm",leftPoint:[-6.121296160650631,-3.8263644421397207,.15],normal:[0,0,1],ly:.1,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#009ce0",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#009ce0",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.09751468078404088,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#009ce0",cz:-.09751468078404088,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#009ce0",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#009ce0",lx:.13333333333333333,cx:.3333333333333333,cz:-.0726954122459649,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0726954122459649,lx:.13333333333333333,color:"#009ce0",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.16666666666666666,ly:0,lz:.624410216345127,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Door",cx:-.006666666666666672,cy:0,cz:-.18779489182743653,lx:.2,ly:0,lz:.624410216345127,textureType:"Door Texture #4",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Judd",cx:-1.6517669050671016,cy:-5.151915789984621,cz:0,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.544,locked:!1,flip:!0},{type:"Window",cx:0,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:1,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"6fPaBMTjYg9NPR7fFaHY6L",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},selected:!1,locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Tree",name:"Maple",cx:11.865118463765427,cy:-5.577986315935053,cz:8881784197001252e-31,lx:16.05619920115618,lz:13.259443372641188,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fvxLBBmjibSLAyfoLcbVjh",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-3.0750695946303814,cy:-4.227743581523945,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c6WoCyEbuQkywzSj8xtBF2",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.0998220675663912,cy:5.661327124584192,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2agGn2N16sYDjc7TtzRo77",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-1.443673320056662,cy:5.538396761407162,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"817xHue6rUfnaS7Rb7KYEp",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:3.7512645617671208,cy:-4.363148504838203,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gonFzZtq1wiiYeCU4hrBiQ",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:-12.252366424027322,cy:-4.618748106171015,cz:0,lx:8.855861155358149,lz:12.194962084865425,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qpT1N3VZfjdrNWS4GttCXC",selected:!1,locked:!1},{type:"Human",name:"Jena",cx:.8275383928823183,cy:-9.624350207348813,cz:0,lx:.695,ly:.695,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gqeggrZFS756iNyQUnbtUf",selected:!1,locked:!1,flip:!0},{type:"Tree",name:"Elm",cx:13.111399109297015,cy:-1.1973027476553462,cz:0,lx:10.046562775206576,lz:8.109426488433453,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rAcrYXcgzcVotvfd1MPBUS",selected:!1,locked:!1,flip:!0},{type:"Wall",cx:-2.2052541270362322,cy:.8790814624363403,cz:3.903941909848086,lx:1.6301713902021722,ly:.1,lz:7.36138516954615,leftJoints:["7th3drNVpuY5AYVdUWYMmr"],rightJoints:["4phTBDkfBQXjkb4Rk7FnE9"],leftPoint:[-1.3901684319351464,.8790814624363403,.13318518579593203],rightPoint:[-3.020339822137318,.8790814624363402,.13318518579593203],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"nKrKhaZnvb6NWdN1cuPNPQ",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-1.390168431935146,cy:.1417655180283693,cz:3.5644394786617815,lx:1.4746318888159395,ly:.1,lz:7.36138516954615,leftJoints:["kWszqFPBGdK8r8abVTohoG"],rightJoints:["nKrKhaZnvb6NWdN1cuPNPQ"],leftPoint:[-1.390168431935146,-.5955504263796001,.13318518579593203],rightPoint:[-1.3901684319351464,.8790814624363403,.13318518579593203],relativeAngle:1.570796326794897,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"7th3drNVpuY5AYVdUWYMmr",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-3.020339822137318,cy:.14176551802837095,cz:3.660138480027889,lx:1.4746318888159395,ly:.1,lz:7.36138516954615,leftJoints:["nKrKhaZnvb6NWdN1cuPNPQ"],rightJoints:["kWszqFPBGdK8r8abVTohoG"],leftPoint:[-3.020339822137318,.8790814624363402,.13318518579593203],rightPoint:[-3.020339822137318,-.5955504263796002,.13318518579593203],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"4phTBDkfBQXjkb4Rk7FnE9",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-2.2052541270362322,cy:-.5955504263796001,cz:3.535805069111796,lx:1.6301713902021722,ly:.1,lz:7.36138516954615,leftJoints:["4phTBDkfBQXjkb4Rk7FnE9"],rightJoints:["7th3drNVpuY5AYVdUWYMmr"],leftPoint:[-3.020339822137318,-.5955504263796002,.13318518579593203],rightPoint:[-1.390168431935146,-.5955504263796001,.13318518579593203],relativeAngle:0,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"kWszqFPBGdK8r8abVTohoG",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Foundation",cx:.3077078971226189,cy:3.0276471134665144,cz:.05,lx:6.050585488591402,ly:1.8221381985905813,lz:.13318518579593203,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tn6VdYYXt613XceYDyUpJ9",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Tree",name:"Elm",cx:20.67846328505893,cy:-9.20268218529909,cz:0,lx:12.433839488245253,lz:9.836057268637402,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"6U6bXmGtKfkYqAs2kythZy",selected:!1,locked:!1},{type:"Tree",name:"Oak",flip:!0,cx:-10.79612992548108,cy:-.5136286397841126,cz:0,lx:8.855861155358149,lz:10.429490037118851,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kMBedsoq9QVDjasDrQWT4V",selected:!1,locked:!1},{type:"Window",cx:-.012652630358459416,cy:.3,cz:-.43145161207114374,lx:.7034406025498919,ly:.1,lz:.1120689672961754,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"4phTBDkfBQXjkb4Rk7FnE9",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"j6NUHZizYhFTiAyWQhXoD9",locked:!1},{type:"Polygon",cx:.07638982322958343,cy:-.25928828992332453,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.08333333333333336,y:-.3349639302840458},{x:-.08333333333333336,y:-.21055371393891886},{x:.08333333333333327,y:-.21055371393891886},{x:.08333333333333327,y:-.3349639302840458}],parentId:"cV8MyCuhWAsvEyyFuVqVqg",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:2,id:"riLcPLsK7W8zeEnjZw8gRf",text:"1776",fontSize:.3,fontColor:"gold",opacity:0,noOutline:!0,fontStrokeWidth:.01,locked:!1},{type:"Foundation",cx:.33379757598519466,cy:-2.7971719396742896,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"qGYqGFx5QHvCYMPqUamwtg",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["fHfbtb59n24haPtRTBRcYJ"],rightJoints:["1jiwH1dGqmJCE577Ac4BpJ"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oQTYhBNys7ET4C3deVBZ5Q",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["5nN1y4Kn3NGWF4MsuL2gGg"],rightJoints:["oQTYhBNys7ET4C3deVBZ5Q"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fHfbtb59n24haPtRTBRcYJ",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["oQTYhBNys7ET4C3deVBZ5Q"],rightJoints:["5nN1y4Kn3NGWF4MsuL2gGg"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1jiwH1dGqmJCE577Ac4BpJ",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["1jiwH1dGqmJCE577Ac4BpJ"],rightJoints:["fHfbtb59n24haPtRTBRcYJ"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5nN1y4Kn3NGWF4MsuL2gGg",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mLmsMTSYV91NUMvpsqsFiG",parentId:"5nN1y4Kn3NGWF4MsuL2gGg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"rYxSTT1cUyicscf7Y4FuC6",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["1jiwH1dGqmJCE577Ac4BpJ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.27,thickness:.1,rValue:2,color:"#4d4d4d",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["7th3drNVpuY5AYVdUWYMmr","nKrKhaZnvb6NWdN1cuPNPQ","4phTBDkfBQXjkb4Rk7FnE9","kWszqFPBGdK8r8abVTohoG"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"a4xCB5WuiLgF5jeoo2tZKb",locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"7th3drNVpuY5AYVdUWYMmr",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"bgYTJi5DzEFJGVCo57XuYk",locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6134324317125827,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ooToYHmPZvhwYzrAb3RyWE",parentId:"nKrKhaZnvb6NWdN1cuPNPQ",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gozabRkLLupzqY7JtKZ5DU",parentId:"4phTBDkfBQXjkb4Rk7FnE9",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Window",cx:.03235145506019523,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"suAHKZgUHocvdJbxFoH78W",parentId:"kWszqFPBGdK8r8abVTohoG",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Foundation",cx:3.2150216052788303,cy:-2.8132764716626193,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"gh4c13r9yNg7ppA3VVwrX8",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["9qfdnpKV9WxuYmpphDkmD4"],rightJoints:["j9Z8EowBvMVCM2dwgKYy1y"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"trW1X3K7auhSfAooobgEiw",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["3x1iWRnJVD2nF7eUVd16Wm"],rightJoints:["trW1X3K7auhSfAooobgEiw"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9qfdnpKV9WxuYmpphDkmD4",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["trW1X3K7auhSfAooobgEiw"],rightJoints:["3x1iWRnJVD2nF7eUVd16Wm"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j9Z8EowBvMVCM2dwgKYy1y",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["j9Z8EowBvMVCM2dwgKYy1y"],rightJoints:["9qfdnpKV9WxuYmpphDkmD4"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3x1iWRnJVD2nF7eUVd16Wm",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6LzR6eV1uwci9irbGqdmsg",parentId:"3x1iWRnJVD2nF7eUVd16Wm",foundationId:"gh4c13r9yNg7ppA3VVwrX8",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"685MKS7u6S8wM1nxD2jLoc",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["j9Z8EowBvMVCM2dwgKYy1y"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Foundation",cx:-4.860568941525044,cy:.763315834515849,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"js7EaM7SDLKEtCc7cBhAUc",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["tJ9GgBix3PLQrNArenRuzc"],rightJoints:["mnsM5PmgqiqpCUSahppEQQ"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"4oWBJBVuW5ddc3zLD4mbeh",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["41NvU5MXffjBBr51nmDdGG"],rightJoints:["4oWBJBVuW5ddc3zLD4mbeh"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"tJ9GgBix3PLQrNArenRuzc",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["4oWBJBVuW5ddc3zLD4mbeh"],rightJoints:["41NvU5MXffjBBr51nmDdGG"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"mnsM5PmgqiqpCUSahppEQQ",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["mnsM5PmgqiqpCUSahppEQQ"],rightJoints:["tJ9GgBix3PLQrNArenRuzc"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"41NvU5MXffjBBr51nmDdGG",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-.0038568156424866754,cy:.3,cz:.4134081675516749,lx:.692708509302027,ly:.1,lz:.1601496684366832,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9EeeFoACPVE8MLe3zorx4K",parentId:"41NvU5MXffjBBr51nmDdGG",foundationId:"js7EaM7SDLKEtCc7cBhAUc",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"bz1WrgXhu5EcEAR9GxS6yF",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["mnsM5PmgqiqpCUSahppEQQ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],ridgeWidth:1.783225650631956,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"78T3MkimgRTSnmRTMhRnJm",locked:!1,rise:2.3357705249971685,ceiling:!1},{type:"Foundation",cx:5.500184342397144,cy:.616975206751395,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"f7TRNhRrBM6HewS6E1guoW",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["rRB8ra1Qwyw4iiHGHnpVZi"],rightJoints:["1hwtcWgsscfNjYqgnjhvtn"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"pNGTThD5hH42KcpY4sRcaQ",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["eqjL2dbMLsHLvayC5LyFuv"],rightJoints:["pNGTThD5hH42KcpY4sRcaQ"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"rRB8ra1Qwyw4iiHGHnpVZi",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["pNGTThD5hH42KcpY4sRcaQ"],rightJoints:["eqjL2dbMLsHLvayC5LyFuv"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"1hwtcWgsscfNjYqgnjhvtn",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["1hwtcWgsscfNjYqgnjhvtn"],rightJoints:["rRB8ra1Qwyw4iiHGHnpVZi"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"eqjL2dbMLsHLvayC5LyFuv",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-.0038568156424866754,cy:.3,cz:.4134081675516749,lx:.692708509302027,ly:.1,lz:.1601496684366832,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mDEuMJDYX8TiA5aadxRnBu",parentId:"eqjL2dbMLsHLvayC5LyFuv",foundationId:"f7TRNhRrBM6HewS6E1guoW",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"hWL7sH8U7YoQ4wHgsqH7VK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["1hwtcWgsscfNjYqgnjhvtn"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Window",cx:-2.9061219154167555,cy:-3.497482825893301,cz:5.031519407546503,lx:1.300297700517698,ly:.1,lz:1.9655762500908776,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674956,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"dqF6aB1PLVLHAKyQxUkNWg",locked:!1,interior:!0,empty:!0},{type:"Window",cx:-.13217799837949085,cy:-3.466819756320384,cz:5.102337732905447,lx:1.0067165265651998,ly:.1,lz:2.114356430670708,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674956,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"s7X1mdRRoj7fgg7jLfkGQy",locked:!1,interior:!0,empty:!0,polygonTop:[.013284896561776944,.31018938223150583]},{type:"Window",cx:2.7465783818144205,cy:-3.5046143246410884,cz:5.015048753901841,lx:1.1969599659290129,ly:.1,lz:1.7862306602865088,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674958,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"4ExkckYEtLvi3sMjGcHsBj",locked:!1,interior:!0,empty:!0},{type:"Window",cx:-5.33506170232176,cy:.09994590152917182,cz:5.333416244357606,lx:1.2282372453539805,ly:.1,lz:1.511969232086556,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.9962527086505618,0,4.71238898038469],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gFPFPr9Hy5FNU5ri2g3ZMj",locked:!1,interior:!0,empty:!0},{type:"Window",cx:5.09996147816442,cy:-.02661611464564695,cz:5.321843608513025,lx:1.1961819365662594,ly:.1,lz:1.1993416949141293,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.9962527086505618,0,1.5707963267948966],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hYKzofeHiHD2fL3mK24K6U",locked:!1,interior:!0,empty:!0},{type:"Foundation",cx:-2.443546493608035,cy:-2.7953215648047354,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"k5csVFnyrpYrBkQNWDouaF",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["hhfft6jEyF5V7W3kNGR7VB"],rightJoints:["vuuABxxTWnhAaFBLMw5wsz"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uTXQVHi382ou2WhVmDTfzD",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["4fS3C4uw4LVSpSngSsA7dR"],rightJoints:["uTXQVHi382ou2WhVmDTfzD"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hhfft6jEyF5V7W3kNGR7VB",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["uTXQVHi382ou2WhVmDTfzD"],rightJoints:["4fS3C4uw4LVSpSngSsA7dR"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vuuABxxTWnhAaFBLMw5wsz",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["vuuABxxTWnhAaFBLMw5wsz"],rightJoints:["hhfft6jEyF5V7W3kNGR7VB"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4fS3C4uw4LVSpSngSsA7dR",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bKJgLy3t9PMmV69scLag6y",parentId:"4fS3C4uw4LVSpSngSsA7dR",foundationId:"k5csVFnyrpYrBkQNWDouaF",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"3dnKtcKTXnG1eDaqcB1sdk",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["vuuABxxTWnhAaFBLMw5wsz"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Window",cx:-.2967756977486685,cy:.20088911106289942,cz:6.454733072357007,lx:1.191642955374655,ly:.1,lz:1.1555332790892452,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"iuNzbNXdWiXkLCQooXhnqK"}],Nln=34,Uln={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.5484163619340843,.44578561471726313,8140182408063113e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.5484163619340843,.4447852372714149,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-8.484010006399412,-18.277620093544904,3.817556225217015],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:50.3506522061685,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[2.1400728033642977,-1.125989332642603,3.1050102010198306],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:6},Bln={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},jln=1,Yln={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Oln={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},_ln={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Vln={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Gln="Unknown",Xln=null,Jln=null,Kln=null,qln=[],$ln={docid:Iln,time:zln,timestamp:Dln,userid:Eln,owner:kln,email:Fln,world:Lln,elements:Wln,sceneRadius:Nln,view:Uln,graphState:Bln,evolutionMethod:jln,solarPanelArrayLayoutParams:Yln,solarPanelArrayLayoutConstraints:Oln,evolutionaryAlgorithmState:_ln,economicsParams:Vln,modelType:Gln,modelAuthor:Xln,modelLabel:Jln,modelDescription:Kln,notes:qln},Qln="g9RKpzrgbWbsC1dbkpX9ZS",Zln="06/17/2023 02:55 pm",esn=1687028106173,tsn="QWecNcxhyvP6j6sBN11hBsfZDau1",nsn=null,osn=null,isn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},rsn=[{type:"Human",name:"Jaye",cx:-1.2513719184514027,cy:-6.372159113081112,cz:.03284187614917711,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.55,locked:!0},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.3,lz:6,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.3,lz:6,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.3,lz:6,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.3,lz:6,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Foundation",cx:.5149353122311684,cy:.036172415190780516,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,.6922319427215817],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,textureType:"Door Texture #3",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,.6922319427215817],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:2.2458395786002807,ceiling:!1},{type:"Window",cx:.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5CaMQ21unMpwofCSBHFHKy",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916777,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Human",name:"Jena",cx:.012588972336459392,cy:14.712453241561741,cz:0,lx:.695,ly:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"5FVsreGyGxfLQLGYPuw8VY",selected:!1,locked:!0},{type:"Wall",cx:-1.183865369768545,cy:.5782456514167715,cz:2.2408122612280286,lx:1.1862232825779104,ly:.1,lz:9.575974551005562,leftJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],rightJoints:["dMssi4ADwUhxkBhQ377g3E"],leftPoint:[-.59075372847959,.5782456514167715,0],rightPoint:[-1.7769770110575003,.5782456514167715,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"5koEPnk7n6ka7L389qtGvZ",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.59075372847959,cy:.043861762748918204,cz:2.2301039869226305,lx:1.0687677773357067,ly:.1,lz:9.575974551005562,leftJoints:["sW8KRkVjiejYRvNZCfXEAP"],rightJoints:["5koEPnk7n6ka7L389qtGvZ"],leftPoint:[-.59075372847959,-.4905221259189351,0],rightPoint:[-.59075372847959,.5782456514167715,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"pw9wMqrj3Enw2zC5Tgk6yR",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.7769770110575003,cy:.043861762748918204,cz:2.228839888904333,lx:1.0687677773357067,ly:.1,lz:9.575974551005562,leftJoints:["5koEPnk7n6ka7L389qtGvZ"],rightJoints:["sW8KRkVjiejYRvNZCfXEAP"],leftPoint:[-1.7769770110575003,.5782456514167715,0],rightPoint:[-1.7769770110575003,-.4905221259189351,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"dMssi4ADwUhxkBhQ377g3E",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.183865369768545,cy:-.4905221259189351,cz:2.268765007024547,lx:1.1862232825779104,ly:.1,lz:9.575974551005562,leftJoints:["dMssi4ADwUhxkBhQ377g3E"],rightJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],leftPoint:[-1.7769770110575003,-.4905221259189351,0],rightPoint:[-.59075372847959,-.4905221259189351,0],relativeAngle:0,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"sW8KRkVjiejYRvNZCfXEAP",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Foundation",cx:-6.963047317091872,cy:9.305275463657257,cz:.05,lx:3.9991959519547824,ly:1.4273945635779641,lz:.11969968188756955,normal:[0,0,1],rotation:[0,0,2.2629939081358477],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEHo3z28Ar77Wu5WGXMk73",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:.8037383988388016,cy:5.7479913822261075,cz:1.2963049013988683,lx:2.4667544114619777,ly:.1,lz:2.5926098027977367,leftJoints:["cRF4aFTgNdpMTdmopKNDYe"],rightJoints:["maCaKmF7W1UtJB4NhBQsX3"],leftPoint:[2.03711560456979,5.747991382226106,.06568375039354474],rightPoint:[-.4296388068921875,5.747991382226109,.06568375039354474],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"qA9MpNw8bZfY7qVfr846Q8",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Wall",cx:2.037115604569791,cy:-.0267801106673915,cz:1.2963049013988683,lx:11.549542985787003,ly:.3,lz:2.5926098027977367,leftJoints:["5ExmWkfAba5nuC3xfHo5vU"],rightJoints:["qA9MpNw8bZfY7qVfr846Q8"],leftPoint:[2.0371156045697902,-5.801551603560892,.06568375039354474],rightPoint:[2.03711560456979,5.747991382226106,.06568375039354474],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"cRF4aFTgNdpMTdmopKNDYe",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Stud",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Wall",cx:-.4296388068921877,cy:-.026780110667392,cz:1.2963049013988683,lx:11.549542985787003,ly:.1,lz:2.5,leftJoints:["qA9MpNw8bZfY7qVfr846Q8"],rightJoints:["5ExmWkfAba5nuC3xfHo5vU"],leftPoint:[-.4296388068921875,5.747991382226109,.06568375039354474],rightPoint:[-.4296388068921875,-5.801551603560892,.06568375039354474],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"maCaKmF7W1UtJB4NhBQsX3",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:.8037383988388016,cy:-5.801551603560892,cz:1.2963049013988683,lx:2.46675441146198,ly:.1,lz:2.5926098027977367,leftJoints:["maCaKmF7W1UtJB4NhBQsX3"],rightJoints:["cRF4aFTgNdpMTdmopKNDYe"],leftPoint:[-.4296388068921875,-5.801551603560892,.06568375039354474],rightPoint:[2.0371156045697902,-5.801551603560892,.06568375039354474],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"5ExmWkfAba5nuC3xfHo5vU",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Foundation",cx:4.89676730184058,cy:-5.153959605268503,cz:.05,lx:4.932837807071785,ly:16.292262691376934,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,2.2630282695164783],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"myXiyVt2NURPnPChDUSnvF",selected:!1,locked:!0,notBuilding:!0},{type:"Tree",name:"Maple",cx:-9.524500304672243,cy:13.709596046858643,cz:0,lx:10.834343460246352,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nHGsDGLUFhyht1nKkbShZS",selected:!1,locked:!0},{type:"Tree",name:"Maple",cx:-6.796534185824541,cy:18.258777569256825,cz:0,lx:15.381033043650339,lz:12.882589649504101,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"pYVQihimDYo3cuWwFUxGRV",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-2.2262641238571375,cy:-.2694473112048733,cz:.03284187614917755,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"pv5MXJzN7e4QwMAqb7AK2K",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-2.2467598257077848,cy:3.412268957127143,cz:.03284187614917755,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"evYRkJazdBwJn4ArepyeZH",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-2.3118748580987036,cy:-3.753623714118395,cz:.03284187614917755,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"mr1vQH3R9jwp2hzXcmJrDH",selected:!1,locked:!0},{type:"Wall",cx:.06987760561132239,cy:2.6725668112376275,cz:2.2408122612280286,lx:10.248709902558403,ly:.3,lz:6,leftJoints:["a5m5AvsmWigFtneecAXGMn"],rightJoints:["6PzfAQV8su7Enkckc6tSx8"],leftPoint:[5.194232556890523,2.672566811237627,0],rightPoint:[-5.054477345667879,2.672566811237628,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"82amhDo89t4LPzjbshEmmD",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:5.1942325568905225,cy:-.06239106653992166,cz:2.2301039869226305,lx:5.4699157555551,ly:.3,lz:6,leftJoints:["xvDTHckT6Jh3sPEoBy9XsM"],rightJoints:["82amhDo89t4LPzjbshEmmD"],leftPoint:[5.194232556890521,-2.7973489443174713,0],rightPoint:[5.194232556890523,2.672566811237628,0],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"a5m5AvsmWigFtneecAXGMn",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.858178072916449,rightUnfilledHeight:5.858178072916449,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.054477345667879,cy:-.06239106653992166,cz:2.228839888904333,lx:5.4699157555551,ly:.3,lz:6,leftJoints:["82amhDo89t4LPzjbshEmmD"],rightJoints:["xvDTHckT6Jh3sPEoBy9XsM"],leftPoint:[-5.054477345667878,2.672566811237628,0],rightPoint:[-5.054477345667879,-2.7973489443174713,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"6PzfAQV8su7Enkckc6tSx8",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.2742272581577952,cy:.1,cz:-.29166666666666663,lx:.1828181721051967,ly:.3,lz:.24999999999999992,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hskMbJc7MNggWVyJxXeWfq",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.27422725815779514,cy:.1,cz:-.29166666666666663,lx:.18281817210519707,ly:.3,lz:.24999999999999992,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t4tAXhCx5djrNJxXHT3ypA",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.27422725815779525,cy:.1,cz:.2916666666666666,lx:.1828181721051968,ly:.3,lz:.24999999999999986,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gDRnUAXHHxbgJda5pCBAaH",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.2742272581577952,cy:.1,cz:.2916666666666666,lx:.1828181721051969,ly:.3,lz:.24999999999999986,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jQdaLqe6Gc7eF6ukLyTX2V",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:.06987760561132239,cy:-2.7973489443174713,cz:2.268765007024547,lx:10.248709902558403,ly:.3,lz:6,leftJoints:["6PzfAQV8su7Enkckc6tSx8"],rightJoints:["a5m5AvsmWigFtneecAXGMn"],leftPoint:[-5.054477345667879,-2.7973489443174713,0],rightPoint:[5.194232556890523,-2.7973489443174713,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"xvDTHckT6Jh3sPEoBy9XsM",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{id:"wFnXk782R98H6AT2RALp7W",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-.8785643840733148],parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofType:"Gable",textureType:"Roof Texture Default",thickness:.1,wallsId:["xvDTHckT6Jh3sPEoBy9XsM"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:2.2458395786002807,ceiling:!1},{type:"Foundation",cx:-2.6332068809886726,cy:4.093457334157864,cz:.05,lx:13.955747653843215,ly:7.879103027392385,lz:.1,normal:[0,0,1],rotation:[0,0,-.8785643840733148],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8JaqTz5HE2vZh6f1qWauFD",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Window",cx:.2439331412216011,cy:.1,cz:.29742868877631434,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"a18ekWsi3At6CyxwfsEfLY",parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.2439331412216011,cy:.1,cz:-.20257131122368566,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ewmHx8vQmQCZbH72jjrubL",parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.1951465129772808,cy:.1,cz:.29742868877631434,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p47WFW8gx3h8pL5rWPaE9A",parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.1951465129772808,cy:.1,cz:-.28590464455701897,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKSHyHzpuwjQ6u42WTMQwe",parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Tree",name:"Maple",flip:!0,cx:-10.024831295895067,cy:-6.947888024156535,cz:3552713678800501e-30,lx:9.499179837441329,lz:8.91889941652548,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"17x5uLRhSti25y9wnQAD3e",selected:!1,locked:!0},{type:"Tree",name:"Maple",flip:!0,cx:7.8517108982888875,cy:-13.70932723423602,cz:0,lx:10.834343460246352,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"e2bctFXk26F3cCpiZ3zcBD",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",cx:9.46029508775506,cy:4.366435707994473,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rjMRf1bvBNLgz5CfSBmVBH",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:6.596349525650214,cy:7.3019799091519495,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4nuj6tR4dp4bVWBFmJcLMX",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:12.109444732702052,cy:1.502490145889622,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"coNQQ9v27FUH4psYEEKrzU",selected:!1,locked:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.004578461502795039,cy:-.18228950583714837,cz:7.217657963251398,lx:10.906,ly:5.23,lz:.046,showLabel:!1,normal:[0,-.4097333676171505,.9122053318530369],rotation:[.4221617487320859,0,0],color:"#fff",parentType:"Roof",parentId:"1iq4TPqH8xr1w2VxMAh8MU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"e4qFnFipJKb5qm8a1HUcvh",selected:!1,locked:!0},{type:"Human",name:"June",cx:5.394006234886843,cy:5.908204264429319,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"tW2AiaFFEyE2Ns8f1NeVn4",selected:!1,ly:.65,locked:!0},{type:"Tree",name:"Maple",flip:!0,cx:-5.079938766417403,cy:-11.600796953463268,cz:8881784197001252e-31,lx:9.499179837441329,lz:8.91889941652548,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"sFTDyq1WHUnyaCtK8Et8T3",selected:!1,locked:!0},{type:"Wall",cx:-.5668843269198223,cy:3.3269838316456033,cz:2.2408122612280286,lx:3.1143702580201373,ly:.1,lz:2.5,leftJoints:["5JFnb9etkW9gKawcVectpr"],rightJoints:["4EuwNxKwuEQyYWKDv2pmPC"],leftPoint:[.9903008020902468,3.3269838316456037,.06568375039354474],rightPoint:[-2.1240694559298916,3.3269838316456037,.06568375039354474],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"vN4erE1LRomCSRmHUxy4kc",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.16,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:.9903008020902477,cy:.19539461285221188,cz:2.2301039869226305,lx:6.263178437586782,ly:.1,lz:2.5,leftJoints:["oDVTwfwNuCQjh6t1rv6GNB"],rightJoints:["vN4erE1LRomCSRmHUxy4kc"],leftPoint:[.9903008020902475,-2.936194605941179,.06568375039354474],rightPoint:[.9903008020902482,3.326983831645603,.06568375039354474],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"5JFnb9etkW9gKawcVectpr",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.16,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:-2.1240694559298916,cy:.19539461285221216,cz:2.228839888904333,lx:6.263178437586782,ly:.3,lz:2.5,leftJoints:["vN4erE1LRomCSRmHUxy4kc"],rightJoints:["oDVTwfwNuCQjh6t1rv6GNB"],leftPoint:[-2.1240694559298916,3.3269838316456037,.06568375039354474],rightPoint:[-2.1240694559298934,-2.9361946059411803,.06568375039354474],relativeAngle:-1.570796326794897,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"4EuwNxKwuEQyYWKDv2pmPC",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.2,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:-.5668843269198227,cy:-2.9361946059411808,cz:2.268765007024547,lx:3.11437025802014,ly:.3,lz:2.5,leftJoints:["4EuwNxKwuEQyYWKDv2pmPC"],rightJoints:["5JFnb9etkW9gKawcVectpr"],leftPoint:[-2.1240694559298934,-2.9361946059411803,.06568375039354474],rightPoint:[.9903008020902475,-2.936194605941179,.06568375039354474],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"oDVTwfwNuCQjh6t1rv6GNB",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Pillar",structureSpacing:3,structureColor:"white",structureWidth:.2,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{id:"niExsBvaYVQdEU42Cfexz9",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.692197581340951],parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.1,wallsId:["oDVTwfwNuCQjh6t1rv6GNB"],rightRidgeLength:1.3155130008385778,leftRidgeLength:1.2587510331302654,selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-.26272797008951887,cy:8.1604401446677,cz:.05,lx:5.309542023727572,ly:8.144294099873703,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,.692197581340951],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hGX3VDUCbUqQb4byUBd7zY",selected:!1,locked:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["5ExmWkfAba5nuC3xfHo5vU"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,2.2630282695164783],parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",id:"gJReW7hpA5RV4sDmYkftax",leftRidgeLength:-1.2155130008385777,rightRidgeLength:1.3155130008385778,locked:!0,rise:1.3681252475370629,ceiling:!1},{type:"Polygon",cx:.04278236969738311,cy:-.2560980400226438,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.08333333333333333,y:-.4166666666666667},{x:-.08333333333333333,y:-.25},{x:.08333333333333333,y:-.25},{x:.08333333333333333,y:-.4166666666666667}],parentId:"beHqET5NN8aNdsuBncMpY7",parentType:"Wall",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,filled:!0,selectedIndex:1,id:"ikVqMPzpwnqJzyuQKJnm3R",text:"1204",fontColor:"gold",fontSize:.6,fontStrokeWidth:.01,noOutline:!0,opacity:0,locked:!0},{type:"Door",cx:-.020833333333333332,cy:0,cz:-.041666666666666664,lx:.2916666666666667,ly:0,lz:.9166666666666666,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"n3r5S7QrbxSVjZ7xS5KyLu",locked:!0,interior:!0},{type:"Door",cx:-.2792719769465921,cy:0,cz:-.024999999999999984,lx:.36339744091590337,ly:0,lz:.9500000000000001,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"igRWHnMRS6fxTHqNXYPWef",locked:!0,interior:!0},{type:"Door",cx:.2792719769465921,cy:0,cz:-.024999999999999984,lx:.36339744091590337,ly:0,lz:.9500000000000001,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"qMCLuvG8BqaZaKpZzUtedz",locked:!0,interior:!0},{type:"Window",cx:3.404624864058591,cy:2.7885016621952796,cz:6.004798871333477,lx:3.4895626397811177,ly:.1,lz:.17796770265695697,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6875112116901372,0,3.141592653589793],parentId:"wFnXk782R98H6AT2RALp7W",parentType:"Roof",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"7jkKGZrNg3fgmgiepuiVd6",polygonTop:[-.4938087607108084,3.421264074035363],locked:!0},{type:"Window",cx:3.296162482623047,cy:-2.8950100151340963,cz:6.019804579108658,lx:3.6646685608352865,ly:.1,lz:.1258033813461092,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6875112116901371,0,-2220446049250313e-31],parentId:"wFnXk782R98H6AT2RALp7W",parentType:"Roof",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"8TA7azNRBiNJHZ7UE6h9mn",polygonTop:[.4950567748754359,3.3542143495155483],locked:!0},{type:"Window",cx:.1444278091371094,cy:4.845674679128341,cz:6.11808489875612,lx:5.117648906007396,ly:.1,lz:.03540983073830939,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4221617487320861,0,3.141592653589793],parentId:"1iq4TPqH8xr1w2VxMAh8MU",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"tR6G6HakBCyhofJHaGkXmp",polygonTop:[.01012300685908669,5.088349513682089],locked:!0}],asn=32,lsn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.504837297056488,2.0699150930784547,3503755702267236e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.504837297056488,2.0689147156290253,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[25.3008289766012,.2505638757784885,4.9037705563101905],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:43.16939043526372,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.0370877496821287,2.0688812675610166,1.5303345515052023],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},ssn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},csn=1,usn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},dsn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},fsn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},hsn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},psn="Unknown",gsn=null,msn=null,ysn=null,Asn=[],wsn={docid:Qln,time:Zln,timestamp:esn,userid:tsn,owner:nsn,email:osn,world:isn,elements:rsn,sceneRadius:asn,view:lsn,graphState:ssn,evolutionMethod:csn,solarPanelArrayLayoutParams:usn,solarPanelArrayLayoutConstraints:dsn,evolutionaryAlgorithmState:fsn,economicsParams:hsn,modelType:psn,modelAuthor:gsn,modelLabel:msn,modelDescription:ysn,notes:Asn},vsn="vK6VS27r7ebuK4Vrn5FXEP",xsn="06/15/2023 09:51 am",bsn=1686837060482,Ssn="QWecNcxhyvP6j6sBN11hBsfZDau1",Tsn=null,Psn=null,Csn={solarRadiationHeatmapGridCellSize:.5,date:"10/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Rsn=[{ly:10.473983232081025,solarUpdraftTower:{},parentId:"Ground",cx:-.22738864151314608,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.8212100903152013,type:"Foundation",solarPowerTower:{},lx:13.564552414056891,lz:1.5,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.75,enableGroupMaster:!1,color:"#999999",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",ly:.3,rightPoint:[-5.457020109151015,3.478026472724187,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture #10",leftPoint:[6.542979890848985,3.478026472724187,.1],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.5429798908489842,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.478026472724187,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.542979890848985,leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.542979890848985,3.478026472724187,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.807600955038734],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",rightRoofHeight:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{lx:7.5,windows:[],lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"nbw17kYeUHp1aouuScuF3Y",selected:!1,cy:-.27197352727581237,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[.022465454047944533,6.807600955038734],rightPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture #10",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.3,cx:-5.457020109151015,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{showLabel:!1,cx:.5429798908489842,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,textureType:"Wall Texture #10",cy:-4.021973527275812,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y",leftPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],ly:.3,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.05,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Foundation",ly:9.25428200301757,lz:1.5,rotation:[0,0,0],cz:.75,cx:-3.7362314250129023,lx:6.612524274166,parentId:"Ground",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},solarUpdraftTower:{},normal:[0,0,1],cy:-1.5723524020196393,id:"8fpWrU7qVyVgipB7LtABom",color:"#999999",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{showLabel:!1,cz:3.903941909848086,roofId:"7MxSmgNk4kQf8eNqmnwjMJ",lz:6,ly:.1,leftRoofHeight:6,relativeAngle:3.141592653589793,rightRoofHeight:6,leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],lx:1.1421683491180719,windows:[],parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],rightJoints:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Wall Texture #10",cx:-.03446770657950715,leftPoint:[.5366164679795284,1.8199505814331163,1.5],type:"Wall",rightPoint:[-.6055518811385436,1.8199505814331163,1.5],id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.8199505814331163,normal:[0,0,1],selected:!1,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.823266113240277],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.034605844072436,rightUnfilledHeight:4.034605844072436,leftTopPartialHeight:6,rightTopPartialHeight:6},{normal:[0,0,1],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:6,selected:!1,ly:.1,cz:3.5644394786617815,id:"4Q8KDQDxyuamkEtRJU3paR",rotation:[0,0,0],cy:.25713866261073326,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],leftPoint:[.5366164679795284,-1.3056732562116498,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",textureType:"Wall Texture #10",cx:.5366164679795284,showLabel:!1,leftRoofHeight:6,foundationId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:1.5707963267948966,windows:[],rightRoofHeight:6,type:"Wall",parentId:"8fpWrU7qVyVgipB7LtABom",rightPoint:[.5366164679795289,1.8199505814331163,1.5],lx:3.125623837644766,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.299511925163531,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],parentId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,leftRoofHeight:6,selected:!1,id:"1ATAe6P2KAHKLDSDfpVro9",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],textureType:"Wall Texture #10",cx:-.6055518811385436,rightPoint:[-.6055518811385436,-1.3056732562116498,1.5],lz:6,relativeAngle:-1.5707963267948966,normal:[0,0,1],type:"Wall",cz:3.660138480027889,rotation:[0,0,0],leftPoint:[-.6055518811385436,1.8199505814331163,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",foundationId:"8fpWrU7qVyVgipB7LtABom",lx:3.125623837644766,cy:.25713866261073326,windows:[],ly:.1,rightRoofHeight:6,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.0310074855252225,leftTopPartialHeight:6,rightTopPartialHeight:6},{ly:0,cx:0,type:"Roof",thickness:.1,ridgeLeftPoint:[.022465454047944533,1],textureType:"Roof Texture #7",showLabel:!1,lz:0,normal:[0,0,1],ridgeRightPoint:[-.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,roofType:"Gable",id:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",cz:0,rotation:[0,0,0],lx:0,color:"#666666",locked:!0,rise:2.7886384076788957,ceiling:!0},{rightPoint:[.5366164679795284,-1.3056732562116498,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",selected:!1,parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],cx:-.03446770657950715,ly:.1,relativeAngle:0,cz:3.535805069111796,rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],leftRoofHeight:6,rightRoofHeight:6,id:"7xigJB2WiCCrREDc2Ja3YN",normal:[0,0,1],leftPoint:[-.6055518811385436,-1.3056732562116498,1.5],type:"Wall",cy:-1.3056732562116498,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],lz:6,windows:[],showLabel:!1,textureType:"Wall Texture #10",lx:1.1421683491180719,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.823266113240277],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9620846370965292,rightUnfilledHeight:3.9620846370965292,leftTopPartialHeight:6,rightTopPartialHeight:6},{normal:[0,0,1],rotation:[0,0,0],lz:1.5,cz:.75,solarPowerTower:{},parentId:"Ground",ly:2.3229214459557985,lx:3.6868215598526417,cx:6.212507460282481,solarUpdraftTower:{},cy:.2598608554811861,solarAbsorberPipe:{},id:"3KgcTmNBqtYJcCny8HxQyQ",type:"Foundation",selected:!1,color:"#999999",locked:!0,notBuilding:!0},{id:"5eUwuiBwfGoNEpcHG5kHqK",lx:1.5,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[-.5114783908278628,.8698262658360515,.1],foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",textureType:"Wall Texture #3",cz:0,cx:.23852160917213716,selected:!1,rotation:[0,0,0],windows:[],normal:[0,0,1],ly:.2,lz:7.729424429660076,showLabel:!1,cy:.8698262658360515,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],type:"Wall",relativeAngle:3.141592653589793,studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{type:"Wall",leftPoint:[-.5114783908278628,.8698262658360515,.1],rotation:[0,0,0],cy:.1198262658360515,lz:7.729424429660076,textureType:"Wall Texture #3",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",ly:.2,rightJoints:["qQNV4qND1aDjEtJsd6HVio"],lx:1.4999999999999998,parentId:"3KgcTmNBqtYJcCny8HxQyQ",windows:[],selected:!1,leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"],showLabel:!1,id:"hbU2xUbmKEDDXYDMWnjjCc",relativeAngle:4.71238898038469,rightPoint:[-.5114783908278628,-.6301737341639485,.1],normal:[0,0,1],cz:0,cx:-.5114783908278628,studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{leftPoint:[-.5114783908278628,-.6301737341639485,.1],cy:-.6301737341639485,rightJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,windows:[],lz:7.729424429660076,selected:!1,rotation:[0,0,0],ly:.2,relativeAngle:0,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",normal:[0,0,1],leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],textureType:"Wall Texture #3",parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,showLabel:!1,cx:.23852160917213716,type:"Wall",id:"qQNV4qND1aDjEtJsd6HVio",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{id:"h8DQWwUSgNc283RWhcM3B1",type:"Wall",relativeAngle:1.5707963267948966,normal:[0,0,1],windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],selected:!1,textureType:"Wall Texture #3",ly:.2,cx:.9885216091721372,lx:1.5,cy:.1198262658360515,rightPoint:[.9885216091721372,.8698262658360515,.1],showLabel:!1,lz:7.729424429660076,rotation:[0,0,0],parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftJoints:["qQNV4qND1aDjEtJsd6HVio"],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#4d4d4d",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#4d4d4d",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.09751468078404088,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#4d4d4d",cz:-.09751468078404088,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#4d4d4d",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#4d4d4d",lx:.13333333333333333,cx:.3333333333333333,cz:-.0726954122459649,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:.1,cz:.7732940589008983,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.13333333333333333,color:"#4d4d4d",lz:.3942112571821837,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:.01333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0726954122459649,lx:.13333333333333333,color:"#4d4d4d",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.16666666666666666,ly:0,lz:.624410216345127,textureType:"Door Texture #5",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",locked:!0,doorType:"Default",archHeight:1,filled:!0,frameColor:"#4d4d4d"},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"7MxSmgNk4kQf8eNqmnwjMJ",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.823266113240277,ceiling:!1},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],parentId:"7xigJB2WiCCrREDc2Ja3YN",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"bKSng9YxxhEwLmca6q52t4",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.13333333333333333,ly:0,lz:.624410216345127,textureType:"Door Texture #4",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",locked:!0,doorType:"Default",archHeight:1,filled:!0,frameColor:"#4d4d4d"},{type:"Human",name:"Julia",cx:-4.0546196737223905,cy:-5.207889624542965,cz:.75,lx:.43,lz:1.71,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"havSSZEB6mAoQ1s57LQVxN",selected:!1,ly:.43,locked:!0},{type:"Human",name:"Jeanette",cx:.2766717538290546,cy:-.6581153273582476,cz:.21150016667646382,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"cv6ws4fhTJwK38XNPpn7tw",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.4,locked:!0,flip:!0},{type:"Wall",cx:-.006181075141490355,cy:1.8156223325109586,cz:3.903941909848086,lx:1.1421683491180719,ly:.1,lz:6,leftJoints:["t6JjtmZmPqJRVZKJkbyzJi"],rightJoints:["qnrZVcXW7sGmWiL5DxCcpP"],leftPoint:[.5649030994175456,1.8156223325109586,0],rightPoint:[-.5772652497005263,1.8156223325109586,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"34NjUPzx48JorZ5wqGUvgg",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.090518331707904,rightUnfilledHeight:4.090518331707904,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.5649030994175457,cy:.2528104136885755,cz:3.5644394786617815,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["i4xUARQgNSf52ouooVSiS9"],rightJoints:["34NjUPzx48JorZ5wqGUvgg"],leftPoint:[.5649030994175456,-1.3100015051338076,0],rightPoint:[.5649030994175459,1.8156223325109586,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t6JjtmZmPqJRVZKJkbyzJi",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.028013889590567,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.5772652497005263,cy:.2528104136885755,cz:3.660138480027889,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["34NjUPzx48JorZ5wqGUvgg"],rightJoints:["i4xUARQgNSf52ouooVSiS9"],leftPoint:[-.5772652497005263,1.8156223325109586,0],rightPoint:[-.5772652497005263,-1.3100015051338076,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qnrZVcXW7sGmWiL5DxCcpP",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.1364823542733955,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.006181075141490355,cy:-1.3100015051338076,cz:3.535805069111796,lx:1.1421683491180719,ly:.1,lz:6,leftJoints:["qnrZVcXW7sGmWiL5DxCcpP"],rightJoints:["t6JjtmZmPqJRVZKJkbyzJi"],leftPoint:[-.5772652497005263,-1.3100015051338076,0],rightPoint:[.5649030994175456,-1.3100015051338076,0],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i4xUARQgNSf52ouooVSiS9",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.7865681839342544,rightUnfilledHeight:3.7865681839342544,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cwyjixUkvZfY5coPeNcNNJ",parentId:"i4xUARQgNSf52ouooVSiS9",foundationId:"av7Scm9oWip67CGVAb3HwH",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{id:"6XqoQpBQebVdBqY1vwaPk1",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["qnrZVcXW7sGmWiL5DxCcpP"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:.823266113240277,ceiling:!1},{type:"Foundation",cx:.24223269105650805,cy:-1.5680241530974817,cz:.75,lx:1.6067507475074267,ly:9.245625505173257,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"av7Scm9oWip67CGVAb3HwH",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-.6856567353991228,cy:2.1936412961014904,cz:3.903941909848086,lx:1.1421683491180716,ly:.1,lz:6,leftJoints:["v49PfQ59VkByq57ohKX9uA"],rightJoints:["eq4bXeL88bLi2xVeWkyogN"],leftPoint:[-.11457256084008716,2.1936412961014904,1.5],rightPoint:[-1.2567409099581588,2.1936412961014904,1.5],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j2TVMgjH32U1V7YuWfrYce",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.114887562223342,rightUnfilledHeight:4.114887562223342,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.11457256084008716,cy:.6308293772791074,cz:3.5644394786617815,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["dofmNpVnoyUD6poUbEH92H"],rightJoints:["j2TVMgjH32U1V7YuWfrYce"],leftPoint:[-.11457256084008716,-.9319825415432756,1.5],rightPoint:[-.11457256084008716,2.1936412961014904,1.5],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v49PfQ59VkByq57ohKX9uA",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.062467969251437,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-1.2567409099581588,cy:.6308293772791074,cz:3.660138480027889,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["j2TVMgjH32U1V7YuWfrYce"],rightJoints:["dofmNpVnoyUD6poUbEH92H"],leftPoint:[-1.2567409099581588,2.1936412961014904,1.5],rightPoint:[-1.2567409099581588,-.9319825415432756,1.5],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eq4bXeL88bLi2xVeWkyogN",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.049169946024193,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.6856567353991228,cy:-.9319825415432756,cz:3.535805069111796,lx:1.1421683491180716,ly:.1,lz:6,leftJoints:["eq4bXeL88bLi2xVeWkyogN"],rightJoints:["v49PfQ59VkByq57ohKX9uA"],leftPoint:[-1.2567409099581588,-.9319825415432756,1.5],rightPoint:[-.11457256084008716,-.9319825415432756,1.5],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dofmNpVnoyUD6poUbEH92H",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9479613094983987,rightUnfilledHeight:3.9479613094983987,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"3EDLJ75vzk99MpdxpHr4hh",parentId:"dofmNpVnoyUD6poUbEH92H",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{id:"o79bdk9md4xmEmamE9jZDk",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["eq4bXeL88bLi2xVeWkyogN"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:.823266113240277,ceiling:!1},{type:"Foundation",cx:5.151890032982978,cy:-1.8906835088164353,cz:.75,lx:2.7786220563926096,ly:10.001663432354322,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jkuhEvcKWfSvDRMRBsqBXk",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-.0729406966879953,cy:2.9131022913654188,cz:0,lx:8.077654819551407,ly:.3,lz:4.0189625473598385,leftJoints:["5qopMgXVhuWqLTTbgdg2C8"],rightJoints:["tQatQTQ6mQZuwKjoqupSL4"],leftPoint:[3.965886713087709,2.9131022913654188,.1],rightPoint:[-4.111768106463698,2.9131022913654188,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2QkXRbu2NTc1FDQpK7icS4",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:3.965886713087709,cy:-.1655182683590748,cz:1.2992388529678256,lx:6.157241119448987,ly:.3,lz:4.0189625473598385,leftJoints:["1ep2Qk4inm58Y7PxoRguRG"],rightJoints:["2QkXRbu2NTc1FDQpK7icS4"],leftPoint:[3.965886713087709,-3.2441388280835683,.1],rightPoint:[3.965886713087709,2.9131022913654188,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5qopMgXVhuWqLTTbgdg2C8",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.384556049599329],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:-4.111768106463698,cy:-.1655182683590748,cz:2.586710917765224,lx:6.157241119448987,ly:.3,lz:4.0189625473598385,leftJoints:["2QkXRbu2NTc1FDQpK7icS4"],rightJoints:["1ep2Qk4inm58Y7PxoRguRG"],leftPoint:[-4.111768106463698,2.9131022913654188,.1],rightPoint:[-4.111768106463698,-3.2441388280835683,.1],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tQatQTQ6mQZuwKjoqupSL4",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,centerRoofHeight:[.022465454047944533,6.384556049599329],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:-.0729406966879953,cy:-3.2441388280835683,cz:2.4938633836176103,lx:8.077654819551407,ly:.3,lz:4.0189625473598385,leftJoints:["tQatQTQ6mQZuwKjoqupSL4"],rightJoints:["5qopMgXVhuWqLTTbgdg2C8"],leftPoint:[-4.111768106463698,-3.2441388280835683,.1],rightPoint:[3.965886713087709,-3.2441388280835683,.1],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1ep2Qk4inm58Y7PxoRguRG",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{id:"uvH1MqzefQ1iAsExpBtN4M",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,0],parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["1ep2Qk4inm58Y7PxoRguRG"],ridgeLeftPoint:[.022465454047944533,1],ridgeRightPoint:[-.022465454047944533,1],selected:!1,locked:!0,rise:2.3655935022394905,ceiling:!1},{type:"Foundation",cx:10.465737313188763,cy:.5916447850218542,cz:.05,lx:10.00769643062065,ly:8.714303918225442,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ifK63owceWoNBq3LMhjcHs",selected:!1,locked:!0,notBuilding:!0},{type:"Door",cx:0,cy:0,cz:-.12558978365487306,lx:.7427898485433437,ly:0,lz:.7488204326902539,textureType:"Door Texture #9",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"1ep2Qk4inm58Y7PxoRguRG",foundationId:"ifK63owceWoNBq3LMhjcHs",id:"eL15oTbziWLZJbMNpssTck",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:0,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"6fPaBMTjYg9NPR7fFaHY6L",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.16546497475722394,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"mrb9waVHrsnfat2WgDHgMt",parentId:"2QkXRbu2NTc1FDQpK7icS4",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.26782910355972656,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"2H38SarX7MqKe9NrSJLU3c",parentId:"2QkXRbu2NTc1FDQpK7icS4",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03248208022392633,cy:.1,cz:.6842561898981983,lx:.1624104011196317,ly:.3,lz:.3732306490353806,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"i3Tn7iQFeRuNXmrH6GPDQq",parentId:"5qopMgXVhuWqLTTbgdg2C8",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Cuboid",cx:2.2577642180173108,cy:-5.6453790558022865,cz:.1,lx:3,ly:1.3162306313801917,lz:.2,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"9Wze4XMmA39XWNbYe6ckwa",locked:!0},{type:"Cuboid",cx:2.2976038416189706,cy:-5.4405702290503335,cz:.2,lx:3,ly:1.3162306313801917,lz:.4,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"cGSH1ASJyBhQtxEpSahrE8",selected:!1,locked:!0},{type:"Cuboid",cx:2.3365648968920367,cy:-5.154286927831944,cz:.3,lx:3,ly:1.3162306313801917,lz:.6,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"cv6ws4fhTJwK38XNPpn7tw",selected:!1,locked:!0},{type:"Cuboid",cx:2.507062522396451,cy:-4.8455157683194425,cz:.4,lx:3,ly:1.3162306313801917,lz:.8,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"ri6K8Qk4KK99vNANoaSiXZ",selected:!1,locked:!0},{type:"Cuboid",cx:2.4248821063155837,cy:-4.531133253293998,cz:.5,lx:3,ly:1.3162306313801917,lz:1,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"2Gn8chyesHppiqqGTQZT8a",selected:!1,locked:!0},{type:"Cuboid",cx:2.533917032120782,cy:-4.195225691908959,cz:.6,lx:3,ly:1.3162306313801917,lz:1.2,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"ehfdKqFJbYRYgEacHfcSrM",selected:!1,locked:!0},{type:"Wall",cx:.0857963607111687,cy:-.2904374094354525,cz:1.150915251216218,lx:2.404566605355184,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.116486941966424,-.2904374094354525,1.5],rightPoint:[1.2880796633887615,-.2904374094354525,1.5],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"4JmE6VzFyWnD6MemgeMrqW",parentId:"daUcFc6UnVMEpiH1CZh8Ax",foundationId:"daUcFc6UnVMEpiH1CZh8Ax",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,locked:!0,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:5.066690845229112,cy:-5.858628346969445,cz:.75,lx:2.8024103470983674,ly:.5858813368700218,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"daUcFc6UnVMEpiH1CZh8Ax",selected:!1,locked:!0},{type:"Wall",cx:-.010162937707880904,cy:-.27969729189333203,cz:1.150915251216218,lx:2.7842161072229072,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.4022709913193345,-.27969729189333203,0],rightPoint:[1.3819451159035727,-.27969729189333203,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"vcvEWpSiXZ5AtQHJNQyqhY",parentId:"65TcBaUghe9ngQtPh9tufn",foundationId:"65TcBaUghe9ngQtPh9tufn",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:6.152095245348214,cy:-4.760328635056652,cz:.75,lx:2.915478093095909,ly:.7794205585653092,lz:1.5,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"65TcBaUghe9ngQtPh9tufn",selected:!1,locked:!0},{type:"Wall",cx:-.276566476107305,cy:.5996488777144623,cz:1.150915251216218,lx:11.731055226486902,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-6.142094089350756,.5996488777144623,0],rightPoint:[5.588961137136146,.5996488777144623,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"k8e5KBsuGXsXGc26TdAWYM",parentId:"csYashxN5k4v6auFhKNgfA",foundationId:"csYashxN5k4v6auFhKNgfA",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:-7.493205467286131,cy:-.5191007727531233,cz:.75,lx:12.992980587303297,ly:1.782214080949399,lz:1.5,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"csYashxN5k4v6auFhKNgfA",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:-.22003149528798988,cy:.772395685760463,cz:1.150915251216218,lx:1.9858951415309851,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.2129790660534816,.7723956857604638,1.5],rightPoint:[.7729160754775029,.7723956857604621,1.5],relativeAngle:-10062975645253129e-31,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"sY5yERTXjEfiYz5tbFrJmk",parentId:"kzThvJkRFm5Ya2iKooXQMF",foundationId:"kzThvJkRFm5Ya2iKooXQMF",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:4.743113555100415,cy:-4.918499332768188,cz:.75,lx:2.567636418672608,ly:1.9347230107434228,lz:1.5,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kzThvJkRFm5Ya2iKooXQMF",selected:!1,locked:!0},{type:"Wall",cx:-.059861706164943095,cy:.5378886591540968,cz:1.150915251216218,lx:1.9858951415309851,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.0528092769304358,.5378886591540978,1.5],rightPoint:[.9330858646005495,.5378886591540958,1.5],relativeAngle:-10062975645253129e-31,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"8BecBzK2CPYixjaNncu9H5",parentId:"gwSpq2qFCkfhWVsvJnM5AE",foundationId:"gwSpq2qFCkfhWVsvJnM5AE",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:.42575056512061704,cy:-5.140654078880996,cz:.75,lx:2.247296840426521,ly:1.4657089575306883,lz:1.5,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gwSpq2qFCkfhWVsvJnM5AE",selected:!1,locked:!0},{type:"Foundation",cx:-2.9112882100701762,cy:-6.403418415150944,cz:.75,lx:8.173695480475347,ly:1.3650515213739076,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jWpuB3xMuZWn7633AcTjQQ",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:-.02566265362821607,cy:.20995571674405689,cz:1.150915251216218,lx:7.716839583972954,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-3.884082445614693,.20995571674405689,1.5],rightPoint:[3.8327571383582604,.20995571674405689,1.5],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"pSkQGB7bArPhyBetUXPGRv",parentId:"jWpuB3xMuZWn7633AcTjQQ",foundationId:"jWpuB3xMuZWn7633AcTjQQ",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Tree",name:"Maple",cx:17.67275693788636,cy:1.4450419691745573,cz:0,lx:7.6312730174756584,lz:11.401453020556955,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fvxLBBmjibSLAyfoLcbVjh",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-5.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9CLZuQC6xH4DGcZvLruk4s",selected:!1,locked:!0,flip:!0},{type:"Flower",name:"Yellow Flower",cx:-3.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c6WoCyEbuQkywzSj8xtBF2",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2agGn2N16sYDjc7TtzRo77",selected:!1,locked:!0,flip:!0},{type:"Flower",name:"Yellow Flower",cx:-7.120054695086734,cy:-7.839525295949519,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"817xHue6rUfnaS7Rb7KYEp",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:5.193738527580392,cy:-7.522536559524424,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gonFzZtq1wiiYeCU4hrBiQ",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",cx:4.348603816989412,cy:-3.7966311920217564,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ifK63owceWoNBq3LMhjcHs",id:"3BJtmEHpbtqcXXRrfQPwwr",selected:!1,locked:!0},{type:"Tree",name:"Oak",cx:-10.77654007007384,cy:-2.788234414080616,cz:0,lx:8.855861155358149,lz:10.429490037118851,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qpT1N3VZfjdrNWS4GttCXC",selected:!1,locked:!0},{type:"Human",name:"Jess",cx:2.2752160006176823,cy:-7.071591540443462,cz:0,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gqeggrZFS756iNyQUnbtUf",selected:!1,locked:!0},{type:"Human",name:"Jacob",cx:.3503088352536956,cy:-2.663378139781919,cz:.75,lx:.8,ly:.8,lz:1.82,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",id:"gesRfpbEyibu8BUu8qDy6K",selected:!1,locked:!0},{type:"Tree",name:"Elm",cx:18.756466652215924,cy:-2.7486876275390486,cz:0,lx:10.046562775206576,lz:8.109426488433453,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rAcrYXcgzcVotvfd1MPBUS",selected:!1,locked:!0},{type:"Human",name:"James",cx:8.507664798169325,cy:-5.727708445895644,cz:0,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"73Mqjiw5uA1adJ6VuCj1Hf",selected:!1,locked:!0,ly:.472},{type:"Window",cx:0,cy:.3,cz:-.4375948219942384,lx:.5999999999999999,ly:.2,lz:.09893520815024884,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#ffffff",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"hbU2xUbmKEDDXYDMWnjjCc",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",id:"uREiM8jYGDR4pHGhExSRue",locked:!0},{type:"Window",cx:4.705024136514664,cy:-2.6459148350408155,cz:5.1903908249340365,lx:1.017838969182642,ly:.1,lz:2.4409651392693985,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"awVnqCCaufqdGFN22hhzCh",polygonTop:[-.004246287687605959,1.3860496223503058],locked:!0},{type:"Window",cx:-3.539719570796281,cy:-2.6129313680432986,cz:5.216072446970213,lx:1.0219090902157242,ly:.1,lz:2.605748416583291,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"beXK9hhAUyaFYx6f7DgTpY",polygonTop:[-.009615353578652338,1.2933689118390408],locked:!0},{type:"Window",cx:.46569240547031454,cy:-2.6095553790950374,cz:5.2187010630636665,lx:1.0033772100904075,ly:.1,lz:2.5243075624407934,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1fevDj1GsBSq5dNg5cXjnX",polygonTop:[-.0091530130675596,1.325340055666175],locked:!0}],Hsn=30,Msn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-1.2466960461719456,-2.0265671834489423,-1924388015203177e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-1.2466960461719456,-2.027567560894961,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[15.555852980703822,-18.310792933314314,3.245069996575005],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:53.00068653280895,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[3.1288754420913087,4.629680469479072,3.245069996575005],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Isn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},zsn=1,Dsn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Esn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ksn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Fsn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Lsn="Unknown",Wsn=null,Nsn=null,Usn=null,Bsn=[],jsn={docid:vsn,time:xsn,timestamp:bsn,userid:Ssn,owner:Tsn,email:Psn,world:Csn,elements:Rsn,sceneRadius:Hsn,view:Msn,graphState:Isn,evolutionMethod:zsn,solarPanelArrayLayoutParams:Dsn,solarPanelArrayLayoutConstraints:Esn,evolutionaryAlgorithmState:ksn,economicsParams:Fsn,modelType:Lsn,modelAuthor:Wsn,modelLabel:Nsn,modelDescription:Usn,notes:Bsn},Ysn="9jsoUmZjFa6HRMNbZRgLRS",Osn="02/04/2023 12:38 pm",_sn=1675532324876,Vsn="QWecNcxhyvP6j6sBN11hBsfZDau1",Gsn=null,Xsn=null,Jsn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Santa Fe, NM, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.6869752,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-105.937799},Ksn=[{type:"Human",name:"Jack",cx:8.588979243554906,cy:-11.560427912321174,cz:.041681792587043624,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"nxTJLHqZjgyqZrkQWWFYNc",selected:!1,ly:.42},{type:"Wall",cx:4.753050582030476,cy:10.626899890630142,cz:0,lx:9.506101164060953,ly:.3,lz:3,leftJoints:["n33KXHECHwqKVeBnmXbdJd"],rightJoints:["6eXPAWMW3HwxTSXj1rA53P"],leftPoint:[9.506101164060953,10.626899890630142,0],rightPoint:[0,10.626899890630142,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"a4Bg19CP2z1jtLJFY16BxW",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:9.506101164060953,cy:7.9701749179726065,cz:0,lx:5.313449945315071,ly:.3,lz:3,leftJoints:["beJH9KRXtDcaa6m4RL93xX"],rightJoints:["a4Bg19CP2z1jtLJFY16BxW"],leftPoint:[9.506101164060953,5.313449945315071,0],rightPoint:[9.506101164060953,10.626899890630142,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"n33KXHECHwqKVeBnmXbdJd",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:0,cy:8.855749908858451,cz:0,lx:3.542299963543381,ly:.3,lz:3,leftJoints:["a4Bg19CP2z1jtLJFY16BxW"],rightJoints:["4SGmtgxinTGHnoFQ6qdAaP"],leftPoint:[0,10.626899890630142,0],rightPoint:[0,7.084599927086761,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"6eXPAWMW3HwxTSXj1rA53P",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.27774552382743,cy:7.084599927086761,cz:0,lx:8.55549104765486,ly:.3,lz:3,leftJoints:["6eXPAWMW3HwxTSXj1rA53P"],rightJoints:["6iedjZED9QspL73RvXyJ4d"],leftPoint:[0,7.084599927086761,0],rightPoint:[-8.55549104765486,7.084599927086761,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"4SGmtgxinTGHnoFQ6qdAaP",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:-.9875375953656599,cy:.44615496717367314,cz:.05,lx:40.39365311700692,ly:26.5055971077695,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7ZHXRj1w61cveRC3gvedyo",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:-8.961026955741858,cy:7.857997137758722,cz:0,lx:3.615158317694301,ly:.3,lz:5,leftJoints:["xuK1PJLtnxrY5qEw5Jrz2o"],rightJoints:["hCvpR7Qt8oZW3kx27Ef8k6"],leftPoint:[-7.1534477968947074,7.857997137758721,0],rightPoint:[-10.768606114589009,7.857997137758723,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"uDQQEBasztVc5Fw2jHnuGP",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-7.197945741195914,cy:10.175838580765596,cz:0,lx:4.636537079315653,ly:.3,lz:5,leftJoints:["vsD1vwp8qSW44JbcubZkXV"],rightJoints:["uDQQEBasztVc5Fw2jHnuGP"],leftPoint:[-7.242443685497121,12.493680023772473,0],rightPoint:[-7.1534477968947074,7.857997137758721,0],relativeAngle:-1.5516006743615667,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"xuK1PJLtnxrY5qEw5Jrz2o",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-10.768606114589009,cy:5.3615068621475075,cz:0,lx:4.992980551222431,ly:.3,lz:5,leftJoints:["uDQQEBasztVc5Fw2jHnuGP"],rightJoints:["uATyhCzseLrePeH6qe33SW"],leftPoint:[-10.768606114589009,7.857997137758723,0],rightPoint:[-10.768606114589009,2.865016586536292,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"hCvpR7Qt8oZW3kx27Ef8k6",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-8.961026955741858,cy:2.865016586536292,cz:0,lx:3.615158317694301,ly:.3,lz:5,leftJoints:["hCvpR7Qt8oZW3kx27Ef8k6"],rightJoints:["tqM54puNK2eFNMyoRHbgSP"],leftPoint:[-10.768606114589009,2.865016586536292,0],rightPoint:[-7.1534477968947074,2.865016586536292,0],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"uATyhCzseLrePeH6qe33SW",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Foundation",cx:-.46263679223863563,cy:1.9526278259940124,cz:.05,lx:26.17077502865179,ly:28.364342258415146,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"g8MxeMM8L2RM1xR4mKCqRr",selected:!1,enableGroupMaster:!1},{type:"Wall",cx:-8.55549104765486,cy:8.41296241341553,cz:0,lx:2.6567249726575364,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[-8.55549104765486,7.084599927086761,0],rightPoint:[-8.55549104765486,9.741324899744297,0],leftJoints:["4SGmtgxinTGHnoFQ6qdAaP"],rightJoints:["hDtjiJL8L1n4uHmeabkB4U"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"6iedjZED9QspL73RvXyJ4d",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-12.35793151327924,cy:9.741324899744297,cz:0,lx:7.604880931248763,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[-8.55549104765486,9.741324899744297,0],rightPoint:[-16.160371978903623,9.741324899744297,0],leftJoints:["6iedjZED9QspL73RvXyJ4d"],rightJoints:["e6DZMEDS2hLL8irgctx6vS"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"hDtjiJL8L1n4uHmeabkB4U",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-16.160371978903623,cy:7.527387422529684,cz:0,lx:4.427874954429226,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-16.160371978903623,9.741324899744297,0],rightPoint:[-16.160371978903623,5.313449945315071,0],leftJoints:["hDtjiJL8L1n4uHmeabkB4U"],rightJoints:["7s9AjDXhyZFDC86cd8GCyQ"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"e6DZMEDS2hLL8irgctx6vS",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-17.586287153512764,cy:5.313449945315071,cz:0,lx:2.8518303492182824,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[-16.160371978903623,5.313449945315071,0],rightPoint:[-19.012202328121905,5.313449945315071,0],leftJoints:["e6DZMEDS2hLL8irgctx6vS"],rightJoints:["a5EWedAAgHioHmzEA7mZco"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7s9AjDXhyZFDC86cd8GCyQ",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-19.012202328121905,cy:.4427874954429223,cz:0,lx:9.741324899744297,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-19.012202328121905,5.313449945315071,0],rightPoint:[-19.012202328121905,-4.427874954429226,0],leftJoints:["7s9AjDXhyZFDC86cd8GCyQ"],rightJoints:["qL7VdZTbY3pmPL7NfVed4R"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"a5EWedAAgHioHmzEA7mZco",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-16.160371978903623,cy:-4.427874954429226,cz:0,lx:5.7036606984365665,ly:.3,lz:3,relativeAngle:0,leftPoint:[-19.012202328121905,-4.427874954429226,0],rightPoint:[-13.308541629685338,-4.427874954429226,0],leftJoints:["a5EWedAAgHioHmzEA7mZco"],rightJoints:["fn57GZtoH28juoAimKo6sD"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qL7VdZTbY3pmPL7NfVed4R",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-13.308541629685338,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-13.308541629685338,-4.427874954429226,0],rightPoint:[-13.308541629685338,-9.741324899744297,0],leftJoints:["qL7VdZTbY3pmPL7NfVed4R"],rightJoints:["9SBa3hK2RVhjPz2Nqh1iCG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"fn57GZtoH28juoAimKo6sD",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-9.030796105857908,cy:-9.741324899744297,cz:0,lx:8.555491047654861,ly:.3,lz:3,relativeAngle:0,leftPoint:[-13.308541629685338,-9.741324899744297,0],rightPoint:[-4.753050582030476,-9.741324899744297,0],leftJoints:["fn57GZtoH28juoAimKo6sD"],rightJoints:["iYnhW4g6qEKdNus5mK9fsA"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9SBa3hK2RVhjPz2Nqh1iCG",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.753050582030476,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[-4.753050582030476,-9.741324899744297,0],rightPoint:[-4.753050582030476,-4.427874954429226,0],leftJoints:["9SBa3hK2RVhjPz2Nqh1iCG"],rightJoints:["6pHr36CrawF8YcpXm7jL2B"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"iYnhW4g6qEKdNus5mK9fsA",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-.4753050582030476,cy:-4.427874954429226,cz:0,lx:8.555491047654858,ly:.3,lz:3,relativeAngle:0,leftPoint:[-4.753050582030476,-4.427874954429226,0],rightPoint:[3.802440465624381,-4.427874954429226,0],leftJoints:["iYnhW4g6qEKdNus5mK9fsA"],rightJoints:["danskvNGt22kxxX25ZKZed"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"6pHr36CrawF8YcpXm7jL2B",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:3.802440465624381,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[3.802440465624381,-4.427874954429226,0],rightPoint:[3.802440465624381,-9.741324899744297,0],leftJoints:["6pHr36CrawF8YcpXm7jL2B"],rightJoints:["wg6dFewM89iG6naCdP3n3V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"danskvNGt22kxxX25ZKZed",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:8.55549104765486,cy:-9.741324899744297,cz:0,lx:9.506101164060958,ly:.3,lz:3,relativeAngle:0,leftPoint:[3.802440465624381,-9.741324899744297,0],rightPoint:[13.308541629685338,-9.741324899744297,0],leftJoints:["danskvNGt22kxxX25ZKZed"],rightJoints:["rpaC6fdHvBmen4T9c95DSG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"wg6dFewM89iG6naCdP3n3V",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:13.308541629685338,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[13.308541629685338,-9.741324899744297,0],rightPoint:[13.308541629685338,-4.427874954429226,0],leftJoints:["wg6dFewM89iG6naCdP3n3V"],rightJoints:["pHPE8SbRWTKrpBzChi8YzX"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"rpaC6fdHvBmen4T9c95DSG",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:15.685066920700574,cy:-4.427874954429226,cz:0,lx:4.753050582030474,ly:.3,lz:3,relativeAngle:0,leftPoint:[13.308541629685338,-4.427874954429226,0],rightPoint:[18.061592211715812,-4.427874954429226,0],leftJoints:["rpaC6fdHvBmen4T9c95DSG"],rightJoints:["hoTvGY2rqMy7seoYfMRRTd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"pHPE8SbRWTKrpBzChi8YzX",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:18.061592211715812,cy:2.6567249726575355,cz:0,lx:14.169199854173524,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[18.061592211715812,-4.427874954429226,0],rightPoint:[18.061592211715812,9.741324899744297,0],leftJoints:["pHPE8SbRWTKrpBzChi8YzX"],rightJoints:["j5t6bBkxWAT3r9CjT4GP8B"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"hoTvGY2rqMy7seoYfMRRTd",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:15.685066920700574,cy:9.741324899744297,cz:0,lx:4.753050582030474,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[18.061592211715812,9.741324899744297,0],rightPoint:[13.308541629685338,9.741324899744297,0],leftJoints:["hoTvGY2rqMy7seoYfMRRTd"],rightJoints:["9M2paYYKiDyFzdP7AKGC3T"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"j5t6bBkxWAT3r9CjT4GP8B",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:13.308541629685338,cy:7.527387422529684,cz:0,lx:4.427874954429226,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[13.308541629685338,9.741324899744297,0],rightPoint:[13.308541629685338,5.313449945315071,0],leftJoints:["j5t6bBkxWAT3r9CjT4GP8B"],rightJoints:["beJH9KRXtDcaa6m4RL93xX"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9M2paYYKiDyFzdP7AKGC3T",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:11.407321396873146,cy:5.313449945315071,cz:0,lx:3.802440465624386,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[13.308541629685338,5.313449945315071,0],rightPoint:[9.506101164060953,5.313449945315071,0],leftJoints:["9M2paYYKiDyFzdP7AKGC3T"],rightJoints:["n33KXHECHwqKVeBnmXbdJd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"beJH9KRXtDcaa6m4RL93xX",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["danskvNGt22kxxX25ZKZed","wg6dFewM89iG6naCdP3n3V","rpaC6fdHvBmen4T9c95DSG","pHPE8SbRWTKrpBzChi8YzX","hoTvGY2rqMy7seoYfMRRTd","j5t6bBkxWAT3r9CjT4GP8B","9M2paYYKiDyFzdP7AKGC3T","beJH9KRXtDcaa6m4RL93xX","n33KXHECHwqKVeBnmXbdJd","a4Bg19CP2z1jtLJFY16BxW","6eXPAWMW3HwxTSXj1rA53P","4SGmtgxinTGHnoFQ6qdAaP","6iedjZED9QspL73RvXyJ4d","hDtjiJL8L1n4uHmeabkB4U","e6DZMEDS2hLL8irgctx6vS","7s9AjDXhyZFDC86cd8GCyQ","a5EWedAAgHioHmzEA7mZco","qL7VdZTbY3pmPL7NfVed4R","fn57GZtoH28juoAimKo6sD","9SBa3hK2RVhjPz2Nqh1iCG","iYnhW4g6qEKdNus5mK9fsA","6pHr36CrawF8YcpXm7jL2B"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7doUCjB7UiFLbUyVdhSHA4",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Wall",cx:-7.1534477968947074,cy:-.13077174419716386,cz:0,lx:5.991576661466917,ly:.3,lz:5,relativeAngle:-1.5707963267948966,leftPoint:[-7.1534477968947074,2.8650165865362944,0],rightPoint:[-7.1534477968947074,-3.126560074930622,0],leftJoints:["uATyhCzseLrePeH6qe33SW"],rightJoints:["7vyLAK1d3g1q4PaUuuH3M8"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"tqM54puNK2eFNMyoRHbgSP",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-4.143736556044865,cy:12.493680023772473,cz:0,lx:6.197414258904514,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[-1.0450294265926074,12.493680023772473,0],rightPoint:[-7.242443685497122,12.493680023772473,0],leftJoints:["qEF7XtXZnzW6BxWMfbdwQU"],rightJoints:["xuK1PJLtnxrY5qEw5Jrz2o"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"vsD1vwp8qSW44JbcubZkXV",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-1.0450294265926074,cy:10.746136830844623,cz:0,lx:3.4950863858557017,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[-1.0450294265926074,8.998593637916771,0],rightPoint:[-1.0450294265926074,12.493680023772473,0],leftJoints:["dYJeyws9qM6CyNBpAFDT4C"],rightJoints:["vsD1vwp8qSW44JbcubZkXV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"qEF7XtXZnzW6BxWMfbdwQU",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:1.537226514617607,cy:8.998593637916771,cz:0,lx:5.164511882420429,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[4.119482455827821,8.998593637916771,0],rightPoint:[-1.0450294265926074,8.998593637916771,0],leftJoints:["xnWNtThasHmB5nj7DTLwTx"],rightJoints:["qEF7XtXZnzW6BxWMfbdwQU"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"dYJeyws9qM6CyNBpAFDT4C",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:4.163980400129028,cy:6.930401222471017,cz:0,lx:4.137342110270493,ly:.3,lz:5,relativeAngle:1.5923083871193127,leftPoint:[4.208478344430235,4.862208807025264,0],rightPoint:[4.119482455827821,8.998593637916771,0],leftJoints:["e1bkiT8KZb5kq2EZtd6xkx"],rightJoints:["dYJeyws9qM6CyNBpAFDT4C"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"xnWNtThasHmB5nj7DTLwTx",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:7.565411068003514,cy:4.862208807025264,cz:0,lx:6.713865447146558,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[10.922343791576793,4.862208807025264,0],rightPoint:[4.208478344430235,4.862208807025264,0],leftJoints:["rBwg9zRDQVA6MAAvxTQwmb"],rightJoints:["xnWNtThasHmB5nj7DTLwTx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"e1bkiT8KZb5kq2EZtd6xkx",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:10.922343791576793,cy:1.8664204762918066,cz:0,lx:5.991576661466915,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[10.922343791576793,-1.1293678544416508,0],rightPoint:[10.922343791576793,4.862208807025264,0],leftJoints:["aEZwzvFgCTEAmsGj6SSh6G"],rightJoints:["e1bkiT8KZb5kq2EZtd6xkx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"rBwg9zRDQVA6MAAvxTQwmb",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:5.499606315035343,cy:-1.1293678544416508,cz:0,lx:10.8454749530829,ly:.3,lz:5,relativeAngle:0,leftPoint:[.07686883849389224,-1.1293678544416508,0],rightPoint:[10.922343791576793,-1.1293678544416508,0],leftJoints:["jFwtQp4MdbPXqJBW5eWb7h"],rightJoints:["rBwg9zRDQVA6MAAvxTQwmb"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"aEZwzvFgCTEAmsGj6SSh6G",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:.07686883849389224,cy:-2.1279639646861366,cz:0,lx:1.9971922204889714,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[.07686883849389224,-3.126560074930622,0],rightPoint:[.07686883849389224,-1.1293678544416508,0],leftJoints:["7vyLAK1d3g1q4PaUuuH3M8"],rightJoints:["aEZwzvFgCTEAmsGj6SSh6G"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"jFwtQp4MdbPXqJBW5eWb7h",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-3.5382894792004076,cy:-3.126560074930622,cz:0,lx:7.2303166353886,ly:.3,lz:5,relativeAngle:0,leftPoint:[-7.1534477968947074,-3.126560074930622,0],rightPoint:[.07686883849389224,-3.126560074930622,0],leftJoints:["tqM54puNK2eFNMyoRHbgSP"],rightJoints:["jFwtQp4MdbPXqJBW5eWb7h"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7vyLAK1d3g1q4PaUuuH3M8",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["rBwg9zRDQVA6MAAvxTQwmb","e1bkiT8KZb5kq2EZtd6xkx","xnWNtThasHmB5nj7DTLwTx","dYJeyws9qM6CyNBpAFDT4C","qEF7XtXZnzW6BxWMfbdwQU","vsD1vwp8qSW44JbcubZkXV","xuK1PJLtnxrY5qEw5Jrz2o","uDQQEBasztVc5Fw2jHnuGP","hCvpR7Qt8oZW3kx27Ef8k6","uATyhCzseLrePeH6qe33SW","tqM54puNK2eFNMyoRHbgSP","7vyLAK1d3g1q4PaUuuH3M8","jFwtQp4MdbPXqJBW5eWb7h","aEZwzvFgCTEAmsGj6SSh6G"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7C84Wu1AsADHbFygjWBmQ9",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Wall",cx:-4.345096487504885,cy:5.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["rHJy1GYK2qvXJVNLZqp4wD"],rightJoints:["nps5Vjk1xXh8tbJUyypnno"],leftPoint:[-2.345096487504885,5.984852164118302,.08336358648077638],rightPoint:[-6.345096487504885,5.984852164118302,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"a7asXFjrAC6qt3AiY1YGsD",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-4.345096487504885,cy:-.015147835881696992,cz:0,lx:4,ly:.3,lz:7,leftJoints:["nps5Vjk1xXh8tbJUyypnno"],rightJoints:["xkqwYwVjduojn9HfSnXbKM"],leftPoint:[-6.345096487504885,-.015147835881696992,.08336358648077638],rightPoint:[-2.345096487504885,-.015147835881696992,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"cpDb3yAZ18RsXbHAuAXABX",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-2.345096487504885,cy:-2.765147835881696,cz:0,lx:5.500000000000002,ly:.3,lz:7,leftJoints:["cpDb3yAZ18RsXbHAuAXABX"],rightJoints:["hzXfdodMPgDwURK77F9MeV"],leftPoint:[-2.345096487504885,-.015147835881695215,.08336358648077638],rightPoint:[-2.345096487504885,-5.515147835881697,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"xkqwYwVjduojn9HfSnXbKM",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-2.345096487504885,cy:7.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["r2R5PZ9UN3GkeiaDktnAeY"],rightJoints:["a7asXFjrAC6qt3AiY1YGsD"],leftPoint:[-2.345096487504885,9.984852164118301,.08336358648077638],rightPoint:[-2.345096487504885,5.984852164118302,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"rHJy1GYK2qvXJVNLZqp4wD",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:2.654903512495115,cy:7.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["67wPdhvoUHXR7PuJh6jwmB"],rightJoints:["r2R5PZ9UN3GkeiaDktnAeY"],leftPoint:[2.654903512495115,5.984852164118302,.08336358648077638],rightPoint:[2.654903512495115,9.984852164118301,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"658TiH6xarPxo2CoZwhF5b",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:6.654903512495115,cy:5.984852164118302,cz:0,lx:8,ly:.3,lz:7,leftJoints:["41c9AtTSXggfJV4XdiEcAE"],rightJoints:["658TiH6xarPxo2CoZwhF5b"],leftPoint:[10.654903512495114,5.984852164118302,.08336358648077638],rightPoint:[2.654903512495115,5.984852164118306,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"67wPdhvoUHXR7PuJh6jwmB",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:10.654903512495114,cy:2.984852164118302,cz:0,lx:6,ly:.3,lz:7,leftJoints:["5oTqiHKufLbh4Es8MKzkGe"],rightJoints:["67wPdhvoUHXR7PuJh6jwmB"],leftPoint:[10.654903512495114,-.015147835881696103,.08336358648077638],rightPoint:[10.654903512495114,5.984852164118302,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"41c9AtTSXggfJV4XdiEcAE",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:6.904903512495115,cy:-.015147835881696992,cz:0,lx:7.5,ly:.3,lz:7,leftJoints:["f8PnD7wEXwH2ygFbDasoV3"],rightJoints:["41c9AtTSXggfJV4XdiEcAE"],leftPoint:[3.154903512495115,-.015147835881696992,.08336358648077638],rightPoint:[10.654903512495114,-.015147835881696992,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"5oTqiHKufLbh4Es8MKzkGe",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:3.154903512495115,cy:-2.765147835881697,cz:0,lx:5.5,ly:.3,lz:7,leftJoints:["hzXfdodMPgDwURK77F9MeV"],rightJoints:["5oTqiHKufLbh4Es8MKzkGe"],leftPoint:[3.154903512495115,-5.515147835881696,.08336358648077638],rightPoint:[3.154903512495115,-.015147835881696992,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"f8PnD7wEXwH2ygFbDasoV3",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:.4049035124951148,cy:-5.515147835881698,cz:0,lx:5.5,ly:.3,lz:7,leftJoints:["xkqwYwVjduojn9HfSnXbKM"],rightJoints:["f8PnD7wEXwH2ygFbDasoV3"],leftPoint:[-2.345096487504885,-5.515147835881698,.08336358648077638],rightPoint:[3.154903512495115,-5.515147835881697,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"hzXfdodMPgDwURK77F9MeV",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Foundation",cx:2.433419492707406,cy:5.124042977542905,cz:.05,lx:23.540246238854113,ly:24.334046586651752,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dwSg9LvrTwKhMcJFZMtZSx",selected:!1,enableGroupMaster:!1},{type:"Wall",cx:-6.345096487504885,cy:2.984852164118302,cz:0,lx:6,ly:.3,lz:7,leftJoints:["a7asXFjrAC6qt3AiY1YGsD"],rightJoints:["cpDb3yAZ18RsXbHAuAXABX"],leftPoint:[-6.345096487504885,5.984852164118302,.08336358648077638],rightPoint:[-6.345096487504885,-.015147835881696992,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"nps5Vjk1xXh8tbJUyypnno",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:.1549035124951148,cy:9.984852164118301,cz:0,lx:5,ly:.3,lz:7,leftJoints:["658TiH6xarPxo2CoZwhF5b"],rightJoints:["rHJy1GYK2qvXJVNLZqp4wD"],leftPoint:[2.654903512495115,9.984852164118301,.08336358648077638],rightPoint:[-2.345096487504885,9.984852164118301,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"r2R5PZ9UN3GkeiaDktnAeY",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",selected:!1,roofId:"qpPuzrLkb9c5N87uABuvRn",leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["a7asXFjrAC6qt3AiY1YGsD","nps5Vjk1xXh8tbJUyypnno","cpDb3yAZ18RsXbHAuAXABX","xkqwYwVjduojn9HfSnXbKM","hzXfdodMPgDwURK77F9MeV","f8PnD7wEXwH2ygFbDasoV3","5oTqiHKufLbh4Es8MKzkGe","41c9AtTSXggfJV4XdiEcAE","67wPdhvoUHXR7PuJh6jwmB","658TiH6xarPxo2CoZwhF5b","r2R5PZ9UN3GkeiaDktnAeY","rHJy1GYK2qvXJVNLZqp4wD"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"qpPuzrLkb9c5N87uABuvRn",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Door",cx:.02629889958936659,cy:0,cz:-.08333333333333333,lx:.2629889958936659,ly:0,lz:.8333333333333334,textureType:"Door Texture #7",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"eh8QYUJbECtJYcGAUmmcbF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.34188569466176566,cy:.1,cz:.08333333333333333,lx:.05259779917873318,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"k4NKNGGqdN9XJAC7JngQKc",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.34188569466176566,cy:.1,cz:.08333333333333333,lx:.05259779917873318,ly:.3,lz:.5,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gndjHJZsJ4fAEbUPhoMN8f",parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.15779339753619967,cy:.1,cz:-3700743415417188e-32,lx:.10519559835746636,ly:.3,lz:.6666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pHPE8SbRWTKrpBzChi8YzX",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"uLMRWieC9yGWXYyj2feHNa",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.20745979403699807,cy:.1,cz:.3,lx:.04610217645266624,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"aEZwzvFgCTEAmsGj6SSh6G",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7ptZfruK52YBWvj7ntVHnR",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.39186849984766303,cy:.1,cz:.3,lx:.04610217645266624,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"aEZwzvFgCTEAmsGj6SSh6G",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"bLbWhQE8kcWeWpvQFXbQ5a",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.03333333333333333,cy:.1,cz:.14285714285714285,lx:.06666666666666667,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"5oTqiHKufLbh4Es8MKzkGe",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"9a7QJYQGFkQBwdFtnhaCnM",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3,cy:.1,cz:.14285714285714285,lx:.06666666666666667,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"5oTqiHKufLbh4Es8MKzkGe",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"vi8Yq5gBqJoW5tPeYhBH7B",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3803429557344965,cy:.1,cz:.3,lx:.06915326467899936,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7vyLAK1d3g1q4PaUuuH3M8",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kizJtpXqJWR6KCL438E5YJ",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.2272727272727271,cy:.1,cz:.07142857142857142,lx:.09090909090909062,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hzXfdodMPgDwURK77F9MeV",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"g2MyW88G8QaeW7ivhwR2tv",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Human",name:"Jess",cx:4.690272477111533,cy:13.3005830342772,cz:.03336358582743005,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"g8MxeMM8L2RM1xR4mKCqRr",id:"nTe63y4NHf8RrpW2eucqBC",selected:!1,ly:.43},{type:"Window",cx:-.3418856946617659,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qJGbm5uGmW4X697uskEVvs",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:-.13149449794683302,cy:0,cz:-.08333333333333333,lx:.1577933975361996,ly:0,lz:.8333333333333334,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"w281yvi8VG2acGPfsqs5DF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.07889669876809982,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"mWxzJt7m7UWEJMmH3QHQEB",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3418856946617659,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7u2aKRK5YJxj5G4bJhfnuN",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28237583077258077,cy:.1,cz:-.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kJNAK2vsWPzsnxXo8yU2jJ",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28237583077258077,cy:.1,cz:.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"3xBVGhYk5CECo9wX6WccRP",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.28237583077258077,cy:.1,cz:.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"vLYAPPmtNdR8BBv2dwnaPC",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.28237583077258077,cy:.1,cz:-.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kx7Jk3snYCbpQRqNSTwx7i",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.33885099692709686,cy:.1,cz:.3,lx:.0968145705505991,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"hFnZkVdXVk7kt7HuJ5EXTA",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:.2904437116517973,cy:0,cz:-.3,lx:.1936291411011982,ly:0,lz:.4,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"hXTygNgpyWv5Q8SdkdwrBN",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.24203642637649775,cy:.1,cz:.3,lx:.0968145705505991,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"42F92bD3A47C9HfuQN7TKE",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.31558679507239956,cy:.1,cz:.24999999999999997,lx:.21039119671493278,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"j5t6bBkxWAT3r9CjT4GP8B",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qxRE8qmG9xHbjtVsaCxYsE",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.29586262038037425,cy:.1,cz:-.08333333333333333,lx:.06574724897341651,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hDtjiJL8L1n4uHmeabkB4U",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9sATuUB81PmwXpthc9oUjo",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.29586262038037425,cy:.1,cz:-.08333333333333333,lx:.06574724897341651,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hDtjiJL8L1n4uHmeabkB4U",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"wmRa6rPywUr54Esr4Sk1n4",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.15,cy:.1,cz:.35714285714285715,lx:.1,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"r2R5PZ9UN3GkeiaDktnAeY",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"akprzo3hHBejx7HCAVwmQ4",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.25,cy:.1,cz:.35714285714285715,lx:.1,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"r2R5PZ9UN3GkeiaDktnAeY",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"kHdEwJHqbM3B6pBPMdhSph",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28125,cy:.1,cz:.35714285714285715,lx:.0625,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"67wPdhvoUHXR7PuJh6jwmB",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"gSzMdys25c7EFmVM4PPcqc",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.09375,cy:.1,cz:.35714285714285715,lx:.0625,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"67wPdhvoUHXR7PuJh6jwmB",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"osJn4P5UR44EiHtzsfapPV",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.33512735959822765,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"iYjDfcWBcotpYGf1tfdYtt",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.03723637328869196,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"1DVcZmp9unvFUD3kth4Ldt",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.33512735959822765,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"iDftHFSTHkqwMVnS3owrRR",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.16666666666666666,lx:.2629889958936657,ly:0,lz:.6666666666666666,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beJH9KRXtDcaa6m4RL93xX",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"eAWyKBNd38qS1dYBuKrkj6",doorType:"Default",archHeight:1,filled:!0},{type:"Flower",name:"Cactus Combo 1",cx:15.634548540985584,cy:11.876139460714374,cz:.04168179258704141,lx:2,lz:2.35,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"wmzcYA53yLxrPfQ5v68p4e",selected:!1},{type:"Flower",name:"Cactus Combo 2",cx:18.898648680314054,cy:11.25310807141135,cz:.041681792587041855,lx:2,lz:2.7,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"ekW7n1M2LiXzN32pweKLPt",selected:!1},{type:"Flower",name:"Cactus Combo 4",cx:-9.952276659759775,cy:12.90502413689002,cz:.04168179258704274,lx:2,lz:2.69,normal:[0,1,0],rotation:[0,0,0],parentId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kyZxhbtBH6PAgp5K6MDu9p",selected:!1},{type:"Flower",name:"Cactus Combo 3",cx:-16.70983030604646,cy:11.722560280813752,cz:.041681792587040974,lx:2,lz:2.45,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"a9ApdGiziGdUumhgusYw2u",selected:!1},{type:"Human",name:"Jamelia",cx:-.9137087061647211,cy:10.928006147996442,cz:.041681792587041855,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"5QNe3ntzVQvFEHnDW2YJBn",selected:!1,ly:.65},{type:"Human",name:"Juro",cx:12.272662858917183,cy:8.898453665685638,cz:.041681792587041855,lx:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"jrkJAJRrbJ8LDAxvtvH9ym",selected:!1,ly:.494},{type:"Flower",name:"Cactus Combo 2",cx:15.729057510724607,cy:-7.680209466829874,cz:.041681792587040974,lx:2,lz:2.7,normal:[0,0,1],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"bWKYur6DnwP6mEaL7fWHC5",selected:!1},{type:"Flower",name:"Cactus Combo 1",cx:5.786476089599912,cy:-6.442673510815909,cz:.04168179258704363,lx:2,lz:2.35,normal:[0,0,1],rotation:[0,0,0],parentId:"dwSg9LvrTwKhMcJFZMtZSx",id:"3ao3ZpduETphLg6cc8LUjj",selected:!1},{type:"Flower",name:"Cactus Combo 4",cx:-10.111033648495354,cy:-7.125989728474186,cz:.04168179258704363,lx:2,lz:2.69,normal:[0,0,1],rotation:[0,0,0],parentId:"dwSg9LvrTwKhMcJFZMtZSx",id:"uqTpdoF6iAUdixG8SfEgJj",selected:!1},{type:"Window",cx:-.31558679507239945,cy:.1,cz:.24999999999999997,lx:.21039119671493292,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"j5t6bBkxWAT3r9CjT4GP8B",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"ibgD6gwHyvXo2UA5ceSEVw",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Human",name:"Jiya",cx:10.698394787136534,cy:11.589493889667297,cz:.03336358582743005,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"mMaWsSyXEBfBHccaGNhNaS",selected:!1,ly:.6},{type:"Human",name:"John",cx:8.199832055622817,cy:11.636996804402608,cz:.033363585827429154,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"48yGEsfjgkFf6JxD4AfTys",selected:!1,ly:.6},{type:"Window",cx:-.4058097887797344,cy:.1,cz:.24999999999999997,lx:.03528780771997702,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"aPAj9pnBrDVWusPRcoZUdo",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.2999463656198036,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bhkdQB672T3sQvxXuVmHrR",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.19408294245987287,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hBEhSqRgj9NSNQa4oM7xNt",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.08821951929994218,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tB2iwRfd3qTWeCsYv7HiuW",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.44109759649971125,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5RkPZYVo3GN5X19Bn6Yr4D",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3705219810597575,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"59NsagWft1p9bwUyWDUzrn",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.2999463656198037,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"77AhVqY63vBnmESEhniVsa",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Cuboid",cx:-14.789681570981625,cy:-12.821724309505734,cz:1.3499532304431159,lx:3.0361328512402026,ly:2.0173847404410545,lz:2.6999064608862318,color:"#df9b6c",faceColors:["#df9b6c","#df9b6c","#df9b6c","#df9b6c","#df9b6c","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.0555294187969286],parentId:"Ground",selected:!1,id:"8afBb85AbBXxrUxc1UJNK2"},{type:"Tree",name:"Coconut",cx:10.01957056934475,cy:-11.043888206723011,cz:0,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gHPxDQkjKxPPpDTbnNBT1s",selected:!1},{type:"Tree",name:"Coconut",cx:19.62542663178017,cy:-.8605656311368737,cz:.041681792587041855,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"ojssPm5w3H8Z5YiH8zAEzJ",selected:!1},{type:"Tree",name:"Coconut",cx:-5.921845166656402,cy:-20.83835275090669,cz:-8881784197001252e-31,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hiyUWsAKxmKF4tZmUy3NkH",selected:!1}],qsn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-12.5485886969171,-8.79449187461802,-8794882783709357e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-12.5485886969171,-8.794641881286468,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-9.661868463308164,-30.326442140062476,3.3023821453989806],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#999999",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.5760093837906188,2.4983076358188625,2.2700206595855397],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},$sn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Qsn=1,Zsn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ecn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},tcn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ncn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ocn=[],icn={docid:Ysn,time:Osn,timestamp:_sn,userid:Vsn,owner:Gsn,email:Xsn,world:Jsn,elements:Ksn,view:qsn,graphState:$sn,evolutionMethod:Qsn,solarPanelArrayLayoutParams:Zsn,solarPanelArrayLayoutConstraints:ecn,evolutionaryAlgorithmState:tcn,economicsParams:ncn,notes:ocn},rcn="46sdKsi3AXehgk5pLocfEZ",acn="11/15/2023 08:10 PM",lcn=1700097013597,scn="QWecNcxhyvP6j6sBN11hBsfZDau1",ccn=null,ucn=null,dcn="1.4.7",fcn={diurnalTemperatureModel:1,longitude:-71.3488548,sutDaysPerYear:4,daysPerYear:4,solarPanelVisibilityGridCellSize:.2,sutGridCellSize:1,noAnimationForSensorDataCollection:!1,latitude:42.2844063,address:"Natick, MA",discretization:"Approximate",solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 12:00:00 PM",pvGridCellSize:.5,cspGridCellSize:.5,airAttenuationCoefficient:.01,noAnimationForThermalSimulation:!1,highestTemperatureTimeInMinutes:900,noAnimationForSolarPanelSimulation:!1,sutTimesPerHour:1,noAnimationForSolarUpdraftTowerSimulation:!1,timesPerHour:1,cspTimesPerHour:1,ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},dustLoss:.05,name:"default",countryCode:"US",cspDaysPerYear:4,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:5},hcn=[{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:9.90269213865045,solarUpdraftTower:{},ly:19.683075461124755,lz:.1,parentId:"Ground",cx:-9.113689833217686,cy:.18995426124406656,cz:.05,textureType:"No Foundation Texture",id:"9i1GeRaoeMfYcFyEXeESac",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["vGUT3JZv2v5bPwGYFugWY9"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["v2X26dL66tDwT3FmUa4dJm"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:19.021724129735727,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"9QENUE5u5vX4ytePVUekD6",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[4.927202561127663,9.208552266536293,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:4.927202561127659,cy:-.3023097983315708,cz:0,leftUnfilledHeight:.5,leftPoint:[4.927202561127656,-9.813171863199434,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:1.5707963267948963,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["aR3TKXZKTA3DjkwyAfcrsN"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["9QENUE5u5vX4ytePVUekD6"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:9.871623613893995,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"vGUT3JZv2v5bPwGYFugWY9",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-4.944421052766332,9.208552266536286,0],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-.008609245819334532,cy:9.208552266536289,cz:0,leftUnfilledHeight:.5,leftPoint:[4.927202561127663,9.208552266536293,0],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:3.1415926535897936,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["v2X26dL66tDwT3FmUa4dJm"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["vGUT3JZv2v5bPwGYFugWY9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:19.02172412973572,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"aR3TKXZKTA3DjkwyAfcrsN",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-4.944421052766332,-9.813171863199434,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-4.944421052766332,cy:-.30230979833157434,cz:0,leftUnfilledHeight:.5,leftPoint:[-4.944421052766332,9.208552266536286,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:-1.5707963267948968,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["9QENUE5u5vX4ytePVUekD6"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["aR3TKXZKTA3DjkwyAfcrsN"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:9.871623613893986,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"v2X26dL66tDwT3FmUa4dJm",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[4.927202561127656,-9.813171863199434,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-.008609245819338085,cy:-9.813171863199434,cz:0,leftUnfilledHeight:.5,leftPoint:[-4.94442105276633,-9.813171863199434,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:0,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:2,lineWidth:.2,showLabel:!1,wallsId:["9QENUE5u5vX4ytePVUekD6"],textureType:"Roof Texture Default",id:"emaK2k9UPEiLxchx8wQAVR",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:0,cy:0,cz:0,rise:2},{color:"#ffffff",type:"Window",lx:.147367402963575,ly:.3,tint:"#73D8FF",lz:.5426870588204226,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"dYhfccPnbEuiEAJoeaQBDj",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.2701735720998875,cy:.3,cz:.0904478431367371,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.147367402963575,ly:.3,tint:"#73D8FF",lz:.5426870588204226,windowType:"Default",empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"5nVnggQ1j1y4LhusK3QQ9N",selected:!1,normal:[0,0,0],mullionWidth:.06,rotation:[0,-1,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.22105110444536252,cy:.3,cz:.0904478431367371,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.06896551724137932,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Arched",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"iAAMojVW9SfERJgsNR5wGg",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.014639709033835343,cy:.3,cz:.1951247058802817,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:5.121405440544657,solarUpdraftTower:{},ly:23.331989134689955,lz:.1,parentId:"Ground",notBuilding:!0,cx:7.117139637555678,cy:-2.1402534531496054,cz:.05,textureType:"Foundation Texture #7",id:"6oJTxTDspAfmbzbkSwgLzM",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["u8cZQ8gw5Uc65jmC4AaB7d"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["naij9irGfPKDF6gEc7Zkzp"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:6.120671841837397,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"hbDCpCYC3ZLecZSkhJS1EQ",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[2.559407991260085,2.8016570371963034,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:2.559407991260085,cy:-.25867888372239545,cz:0,leftUnfilledHeight:.5,leftPoint:[2.559407991260085,-3.3190148046410934,.1],wallStructure:"Pillar",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:27.903855171778083,solarUpdraftTower:{},ly:11.561493647400244,lz:.1,parentId:"Ground",cx:-.6894829517342327,cy:3.639827040053712,cz:.05,textureType:"No Foundation Texture",id:"4CT3RC8YfvAiLoXMz31PEP",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["1Zay38AwfKg5VsDAT4PNTX"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["9BgkixvH2fS92Toh4D28v5"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:21.991286967543367,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"kqp9pSQMqPyRJVqLaTvTUF",leftRoofHeight:3,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[-8.140917668430362,5.750753387493409,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:2.8547258153413235,cy:5.750753387493408,cz:0,leftUnfilledHeight:.5,leftPoint:[13.850369299113007,5.750753387493406,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["kqp9pSQMqPyRJVqLaTvTUF"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["oNGhacA1yDo6pQ4NiWd8Nw"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:11.392654386409493,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"9BgkixvH2fS92Toh4D28v5",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[13.850369299113007,5.750753387493413,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:13.850369299113007,cy:.05442619428866724,cz:0,leftUnfilledHeight:.5,leftPoint:[13.850369299113007,-5.641900998916079,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{normal:[0,1,0],cx:.12009022039087736,cy:-3.0450806858488395,cz:.05000000074505806,rotation:[0,0,0],name:"Jamelia",id:"uRMwVbiJoYLhXPAzZaiS71",type:"Human",lx:.65,lz:1.8,parentId:"6oJTxTDspAfmbzbkSwgLzM",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["oNGhacA1yDo6pQ4NiWd8Nw"],structureSpacing:2,structureColor:"white",rightRoofHeight:2.999999999999999,leftJoints:["kqp9pSQMqPyRJVqLaTvTUF"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:11.392654386409477,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[-5551115123125783e-32,5],roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"1Zay38AwfKg5VsDAT4PNTX",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-8.140917668430362,-5.64190099891607,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:-8.140917668430362,cy:.05442619428866813,cz:0,leftUnfilledHeight:.5,leftPoint:[-8.140917668430362,5.750753387493406,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["9BgkixvH2fS92Toh4D28v5"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["1Zay38AwfKg5VsDAT4PNTX"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:21.991286967543363,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"oNGhacA1yDo6pQ4NiWd8Nw",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[13.850369299113007,-5.641900998916079,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:2.8547258153413235,cy:-5.641900998916076,cz:0,leftUnfilledHeight:.5,leftPoint:[-8.140917668430362,-5.641900998916072,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:-3231019343291642e-31,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:2,lineWidth:.2,showLabel:!1,wallsId:["kqp9pSQMqPyRJVqLaTvTUF"],textureType:"Roof Texture Default",id:"qmUXXfVhmamGoX7fipyTJo",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:0,cy:0,cz:0,rise:2},{normal:[0,1,0],color:"#ffffff",rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",doorType:"Default",filled:!0,lineColor:"#000000",type:"Door",lx:.10630984247920754,uValue:1,ly:0,lz:.8333333333333334,lineWidth:.2,showLabel:!1,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",interior:!1,cx:.2232506692063359,cy:0,cz:-.08333333333333333,archHeight:1,textureType:"Door Texture #13",id:"j64mXBpPWycvnXkBDtiDas",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["gjog834aLNPzVBFGgmeHKa"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["hbDCpCYC3ZLecZSkhJS1EQ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:5.029686673364193,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.0028493376063965],roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"u8cZQ8gw5Uc65jmC4AaB7d",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[-2.470278682104108,2.8016570371963034,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:.04456465457798853,cy:2.8016570371963034,cz:0,leftUnfilledHeight:.5,leftPoint:[2.559407991260085,2.8016570371963034,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["naij9irGfPKDF6gEc7Zkzp"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["u8cZQ8gw5Uc65jmC4AaB7d"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:6.120671841837397,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"gjog834aLNPzVBFGgmeHKa",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[-2.470278682104108,-3.3190148046410934,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:-2.470278682104108,cy:-.25867888372239545,cz:0,leftUnfilledHeight:.5,leftPoint:[-2.470278682104108,2.8016570371963034,.1],wallStructure:"Pillar",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["hbDCpCYC3ZLecZSkhJS1EQ"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["gjog834aLNPzVBFGgmeHKa"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:5.029686673364193,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.0028493376063965],roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"naij9irGfPKDF6gEc7Zkzp",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[2.559407991260085,-3.3190148046410934,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:.04456465457798853,cy:-3.3190148046410934,cz:0,leftUnfilledHeight:.5,leftPoint:[-2.470278682104108,-3.3190148046410934,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:0,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#808080",thickness:.15,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:0,lineWidth:.2,showLabel:!1,wallsId:["gjog834aLNPzVBFGgmeHKa"],textureType:"Roof Texture Default",id:"wBHkiU6oo5drdfZkAFGFfz",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:0,cy:0,cz:0,rise:1.0028493376063965},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:2.728592264047313,solarUpdraftTower:{},ly:4.662886212525777,lz:.1,parentId:"Ground",notBuilding:!0,cx:3.15486402400506,cy:5.558911086166162,cz:.05,textureType:"No Foundation Texture",id:"cnVE9qA8tGVxx7Twx9YQ7v",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["pXM26q1VjfYYDMxhYfN2o9"],structureSpacing:2,structureColor:"white",leftJoints:["oQPmsDKPXogP77dA6oQjhK"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"o5Yf7XQHbF4kHVdq79cdp9",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.8117707735928041,-.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.31177077359280414,cy:-.1460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[.18822922640719586,-.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["o5Yf7XQHbF4kHVdq79cdp9"],structureSpacing:2,structureColor:"white",leftJoints:["xuRnyn33hSpjc1EP64SqoP"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"oQPmsDKPXogP77dA6oQjhK",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[.18822922640719586,-.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:.18822922640719586,cy:-.6460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[.18822922640719586,-1.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["xuRnyn33hSpjc1EP64SqoP"],structureSpacing:2,structureColor:"white",leftJoints:["o5Yf7XQHbF4kHVdq79cdp9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"pXM26q1VjfYYDMxhYfN2o9",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.8117707735928041,-1.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.8117707735928041,cy:-.6460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[-.8117707735928041,-.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:4.71238898038469,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["oQPmsDKPXogP77dA6oQjhK"],structureSpacing:2,structureColor:"white",leftJoints:["pXM26q1VjfYYDMxhYfN2o9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"xuRnyn33hSpjc1EP64SqoP",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[.18822922640719586,-1.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.31177077359280414,cy:-1.1460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[-.8117707735928041,-1.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:0,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"aZQsp9KnrVqmk4eAwe1NCt",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.20610080510533202,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.0865221828476419,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"wi1NteLea8pGYc59N8ZyTs",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.09315657273688317,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"tpCHwLeKKFgUw5FY2DKdy1",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.021261968495841516,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"1NPtUozjvhjcbUekBxsSNW",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.40397740142098876,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04632014812218899,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"ptRhzHtPCd3TfYdEbPj837",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"9QENUE5u5vX4ytePVUekD6",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.29226874611722437,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:3.215640251525082,solarUpdraftTower:{},ly:7.683856697227261,lz:.1,parentId:"Ground",cx:13.747250889007532,cy:3.741208118171845,cz:.05,textureType:"No Foundation Texture",id:"4SCfFQkEiBbVWLNY4GZGRU",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["c1xKbTDTkdNMKPxFGbq5sJ"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["4HHRdJpRSx8pifjYvsDdM4"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:2.1985623896518645,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"u8nK8tuuo6DkzwQEivraoQ",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.6112818815298553,3.4762421347806844,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:.4879993132960756,cy:3.4762421347806844,cz:0,leftUnfilledHeight:.5,leftPoint:[1.5872805081220083,3.4762421347806844,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["u8nK8tuuo6DkzwQEivraoQ"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["bxY2NeBNcbCbVPsugfGXTE"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:7.103113702900762,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.5],roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"4HHRdJpRSx8pifjYvsDdM4",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[1.5872805081220083,3.4762421347806844,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:1.5872805081220083,cy:-.07531471666969658,cz:0,leftUnfilledHeight:.5,leftPoint:[1.5872805081220083,-3.6268715681200776,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["bxY2NeBNcbCbVPsugfGXTE"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["u8nK8tuuo6DkzwQEivraoQ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:7.103113702900762,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.5],roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"c1xKbTDTkdNMKPxFGbq5sJ",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.6112818815298553,-3.6268715681200776,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:-.6112818815298553,cy:-.07531471666969658,cz:0,leftUnfilledHeight:.5,leftPoint:[-.6112818815298553,3.4762421347806844,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["4HHRdJpRSx8pifjYvsDdM4"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["c1xKbTDTkdNMKPxFGbq5sJ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:2.1985623896518645,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"bxY2NeBNcbCbVPsugfGXTE",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[1.5872805081220083,-3.6268715681200776,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:.4879993132960756,cy:-3.6268715681200776,cz:0,leftUnfilledHeight:.5,leftPoint:[-.6112818815298553,-3.6268715681200776,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:0,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:0,lineWidth:.2,showLabel:!1,wallsId:["bxY2NeBNcbCbVPsugfGXTE"],textureType:"Roof Texture Default",id:"iQYyB4WDCVVmrDF6P2RGEj",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",lineColor:"#000000",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:0,cy:0,cz:0,rise:1.5},{color:"#ffffff",type:"Window",lx:.4656293560221584,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"ur2wu1GbyFVp7FmPxNNmBM",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",lineColor:"#000000",uValue:2,parentId:"bxY2NeBNcbCbVPsugfGXTE",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:12923810799929613e-33,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,1,0],cx:-13.100619706718579,cy:-10.982350587612038,cz:0,rotation:[0,0,0],name:"Boxwood",id:"bzsGApekhuYxympNeW6JVx",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-11.532994972828238,cy:-10.945183221755485,cz:0,rotation:[0,0,0],name:"Boxwood",id:"2y8Zm1vaLLzKLCLA5bR7oe",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-9.926022363688986,cy:-10.929829923112186,cz:0,rotation:[0,0,0],name:"Boxwood",id:"dJtXdJrD6NpPxoMSTaJY7n",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-8.252046390037505,cy:-10.833715328006154,cz:0,rotation:[0,0,0],name:"Boxwood",id:"fZeGKA8vqbSdnXefKUgP6u",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-6.596249922214839,cy:-10.835475782121927,cz:0,rotation:[0,0,0],name:"Boxwood",id:"mDpx3QUsXGWznsz7rRMSdN",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-4.903997368711945,cy:-10.880752447262477,cz:0,rotation:[0,0,0],name:"Boxwood",id:"7unbM9cBoPXu92FcGyHWjG",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-8.971390493828297,cy:-12.01356765080397,cz:0,rotation:[0,0,0],name:"Jacob",id:"9sZwMtiyANKZHbqdhvGUp9",type:"Human",lx:.8,lz:1.82,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-2.805525594551304,cy:-3.0636427589221107,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"kdDbY49KBpLT6Gh4XRcuXV",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-.8228472548979603,cy:-2.9603397088144945,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"cPktsh6MkPkQgTpcfsZ264",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:1.2205615754221601,cy:-3.0452854714079365,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"pfPsSh1hnCKWYj3B8ZGyhC",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:3.188130988912686,cy:-3.1336708109310862,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"oKGQ71oyUFnUv3h2wpjctG",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.49096591590788,cy:-2.9417670536643996,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"tAkXUbnTXQQEkhtjgkeL9a",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:12.439980874103988,cy:-2.958114538663313,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"3uPL624aQAssRbe8u5vNsL",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.227119582351997,cy:-6.718823701549967,cz:0,rotation:[0,0,0],name:"White Flower",id:"pp9vMNnF3gKDKwKACrCtWt",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.248202396665872,cy:-7.3829856427934075,cz:0,rotation:[0,0,0],name:"White Flower",id:"6HCPw6bEmxM9XBoyEFYsXx",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.29608623259089,cy:-8.067012538431428,cz:0,rotation:[0,0,0],name:"White Flower",id:"s9pXmqBnLJggJVDKmKrsUe",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.253112052389068,cy:-8.783230589194178,cz:0,rotation:[0,0,0],name:"White Flower",id:"nmZQCDYhSZSpTJn766vY6J",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.284683512589031,cy:-9.514835126828089,cz:0,rotation:[0,0,0],name:"White Flower",id:"qTPuqJ4Ppz1TkNvBeQyqFz",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.071297430185469,cy:-6.519410387949039,cz:0,rotation:[0,0,0],name:"White Flower",id:"5pk9bJdBfyK4bpLi5BT6NM",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.062267589853372,cy:-7.196223132026073,cz:0,rotation:[0,0,0],name:"White Flower",id:"r8K8yWqHuFGizynm6ddenB",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.097400993990563,cy:-7.971209786072892,cz:0,rotation:[0,0,0],name:"White Flower",id:"oG3QSnZ1Uk7vjSTdBJ8fXN",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.06700296171534,cy:-8.729909052223485,cz:0,rotation:[0,0,0],name:"White Flower",id:"tkRzfWzEvDw14BTf7giDeA",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.080379345721328,cy:-9.557453473585836,cz:0,rotation:[0,0,0],name:"White Flower",id:"sCmW6UrmvwLKnfPLkgt286",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.299044056096119,cy:-10.313859849129921,cz:0,rotation:[0,0,0],name:"White Flower",id:"qigHYFtupbrFesxkd37Zht",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.075030547693563,cy:-10.331325702253856,cz:0,rotation:[0,0,0],name:"White Flower",id:"wWEyHg1cJDBq1b3EMERb9A",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.309032427615859,cy:-11.091835373694485,cz:0,rotation:[0,0,0],name:"White Flower",id:"1kA9AC2Guwj5iAhcjXubxK",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.099628606942899,cy:-11.10977466594735,cz:0,rotation:[0,0,0],name:"White Flower",id:"6Lxn24pDS3Drayq29WyoKf",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.385872466836958,cy:-11.910915656038041,cz:0,rotation:[0,0,0],name:"White Flower",id:"qrcVRZNMH5ehQ4r36RBqU6",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.130718482167884,cy:-11.91928566361417,cz:0,rotation:[0,0,0],name:"White Flower",id:"89M11hZpqVtWuZCYDG5EYF",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.426502126657067,cy:-12.641489645575502,cz:0,rotation:[0,0,0],name:"White Flower",id:"edL3BFi1bTcY7m6rb8Z692",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.128599191487156,cy:-12.753156162180996,cz:0,rotation:[0,0,0],name:"White Flower",id:"33TVUhPCYQMxWUT6sdBkTj",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.438104647827676,cy:-13.391380274386641,cz:0,rotation:[0,0,0],name:"White Flower",id:"ddTatvjn8PZnpa5P7wkL8k",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.094734752772371,cy:-13.540199425804733,cz:0,rotation:[0,0,0],name:"White Flower",id:"mx6oiu2CpUQHto7UPZUVNA",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:15.223771494752249,cy:-1.1686190396344398,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"bEZvtj2vhcueHdhStZq3zG",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.813831408618693,cy:4.533595612460387,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"rHgigsbmBipXpU5L23ADrP",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.761059861350283,cy:2.526606100917273,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"5sKnhXEkZrDN45g6Hkv3Dr",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.735563289446127,cy:6.631805912715191,cz:-17763568394002505e-31,rotation:[0,0,0],name:"Hibiscus",id:"2NraLHQLDf7r45LZpKeZWV",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.65137747037868,cy:.5295700067482301,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"ssqX4qu1eL82YUJ4MAMBZc",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{color:"#ffffff",polygonTop:[0,1.5],type:"Window",lx:.6144309976040727,ly:.3,tint:"#73D8FF",lz:.9666666666666667,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"hNQ7uh7EgAer8x5yJgdejy",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"9BgkixvH2fS92Toh4D28v5",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-19490155445241313e-33,cy:.3,cz:.01666666666666668,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:1.0259623193904517,ly:.2,tint:"#73D8FF",lz:.9973447889836972,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"pEKTeVcdGPeo8QaTuPfNZn",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314723,0,3.141592653589793],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:3.271837805703635,cy:1.2022574325146156,cz:4.796992518408978,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.02198232342893128,5.239274910393489],type:"Window",lx:11.521452745175713,ly:.2,tint:"#73D8FF",lz:.028013650400663493,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"ve3NZruBvxPhuGrwYfJYbD",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3849826581688516,0,1.5707963267948961],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"emaK2k9UPEiLxchx8wQAVR",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:5.086744147605803,cy:3.321831955890855,cz:3.135353456445162,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.5841143520475517,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"xcpQhvE8H4jY1XBufEziCv",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"9QENUE5u5vX4ytePVUekD6",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.1869142359643362,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[-.5,6.225749243067175],type:"Window",lx:4.529358401864285,ly:.2,tint:"#73D8FF",lz:.0014510101332386256,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"qco3N3M7pEccTSX4FnzmmB",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314746,0,-4440892098500626e-31],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-6.038377742510676,cy:-5.937820865703974,cz:3.0961015205935123,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.17714486148633357,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"1u4CPXmzZ7U8AD1aJnrxtZ",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.40688031378480977,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.5,5.545977124465995],type:"Window",lx:4.431361564126709,ly:.2,tint:"#73D8FF",lz:.05655021663112993,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"hxMturJGqg8nQWYw3248Zf",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314746,0,3.141592653589793],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-6.124998499042543,cy:5.680878658133054,cz:3.224533256953256,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.19988113884645106,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"rm6Z987XxKrWApL3xoegwQ",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"kqp9pSQMqPyRJVqLaTvTUF",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.3955121751047511,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.5,2.9702881561464394],type:"Window",lx:3.157582763484352,ly:.15,tint:"#73D8FF",lz:.021976494720977846,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"pqpP8EKpYsZ86BiFVEHhxo",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3794473874556583,0,1.5707963267948966],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",uValue:2,parentId:"wBHkiU6oo5drdfZkAFGFfz",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:2.8491029983508964,cy:1.4398333849785727,cz:3.034477716074278,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[-.5,2.8179589134876353],type:"Window",lx:3.322490733590821,ly:.15,tint:"#73D8FF",lz:.016499091866733075,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"7zkZZCYRrhEu3epYoe3VVL",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3794473874556583,0,4.71238898038469],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",uValue:2,parentId:"wBHkiU6oo5drdfZkAFGFfz",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-2.759910269509251,cy:1.377735998361726,cz:3.034503006074985,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,1,0],cx:19.682640887226967,cy:1.7189056044242683,cz:0,rotation:[0,0,0],name:"Apple",id:"7Fb312hzxWdTnmmZmzJ1Ub",type:"Tree",lx:5.1836671993460035,lz:5.934335930936695,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-17.761844408107656,cy:-14.105635188228664,cz:0,rotation:[0,0,0],name:"Elm",id:"7o7bNqKzFGLaB6T7op3udd",type:"Tree",lx:15.71602183123487,lz:16.55887991319796,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:.7478699234997297,cy:-12.856360711077464,cz:17763568394002505e-31,rotation:[0,0,0],name:"Joel",id:"68Win1DRWqT8VnsTwHRtwy",type:"Human",lx:1.8,lz:1.75,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-.11804362509319688,cy:-9.517368667682085,cz:0,rotation:[0,0,0],name:"Jacqueline",id:"n6cjamzJLc5nH9PXsech9s",type:"Human",lx:.43,lz:1.78,parentId:"Ground",selected:!1}],pcn=63,gcn={showDailyLightSensorPanel:!1,yearlyPvYieldPanelY:0,yearlyHeliostatYieldPanelY:0,windowShininess:200,dailyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},dailyLightSensorPanelY:0,heatFluxWidth:.5,showEvolutionPanel:!1,shadowEnabled:!0,theme:"Rural",dailyFresnelReflectorYieldPanelRect:{width:600,y:0,x:0,height:400},showDailyParabolicTroughYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelY:0,dailyLightSensorPanelRect:{x:0,height:360,y:0,width:600},yearlyFresnelReflectorYieldPanelX:0,dailyParabolicDishYieldPanelRect:{height:400,x:0,y:0,width:600},dailyParabolicDishYieldPanelX:0,dailyParabolicTroughYieldPanelRect:{width:600,height:400,x:0,y:0},yearlyLightSensorPanelRect:{width:600,height:500,x:0,y:0},showDailyFresnelReflectorYieldPanel:!1,weatherPanelRect:{x:0,width:500,y:0,height:500},showWeatherPanel:!1,showDailyHeliostatYieldPanel:!1,stickyNotePanelX:0,weatherPanelX:0,showDailyBuildingEnergyPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,yearlyHeliostatYieldPanelRect:{height:400,y:0,width:600,x:0},evolutionPanelRect:{x:0,width:640,y:0,height:400},waterSurface:!1,showYearlyPvYieldPanel:!1,weatherPanelY:0,groundImage:!1,dailyParabolicDishYieldPanelY:0,solarPanelShininess:100,directLightIntensity:1,solarRadiationHeatMapMaxValue:5,heliodon:!1,mapPanelX:0,showEconomicsPanel:!1,showStickyNotePanel:!1,showYearlyLightSensorPanel:!1,mapPanelY:0,heliodonPanelX:0,showDesignInfoPanel:!0,showHeliodonPanel:!1,yearlyFresnelReflectorYieldPanelY:0,dailyPvYieldPanelY:0,dailyPvYieldPanelX:0,groundColor:"#194d33",showMapPanel:!1,autoRotate:!1,heatFluxScaleFactor:20,dailyFresnelReflectorYieldPanelX:0,showAzimuthAngle:!0,yearlyUpdraftTowerYieldPanelRect:{height:400,y:0,width:600,x:0},dailyParabolicTroughYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,dailyFresnelReflectorYieldPanelY:0,yearlyLightSensorPanelY:0,showZenithAngle:!0,heliodonPanelY:0,dailyUpdraftTowerYieldPanelRect:{height:550,width:640,x:0,y:0},yearlyParabolicTroughYieldPanelX:0,orthographic:!1,showDailyUpdraftTowerYieldPanel:!1,mapZoom:18,mapWeatherStations:!1,showYearlyParabolicTroughYieldPanel:!1,cameraPosition:[14.811475377664713,-20.78474536900838,3.578971879440754],dailyHeliostatYieldPanelX:0,enableRotate:!0,dailyHeliostatYieldPanelY:0,showSolarPanelVisibilityResultsPanel:!1,showInstructionPanel:!0,yearlyPvYieldPanelRect:{x:0,height:400,width:600,y:0},showSiteInfoPanel:!0,dailyLightSensorPanelX:0,panCenter2D:[4.576706139296041,-7.605431240841252,-7651462374536784e-21],showDailyParabolicDishYieldPanel:!1,ambientLightIntensity:.1,yearlyLightSensorPanelShowDaylight:!1,showElevationAngle:!0,showYearlyBuildingEnergyPanel:!1,cameraZoom:37.01235612443423,showDailyPvYieldPanel:!1,diurnalTemperaturePanelRect:{height:400,width:600,y:0,x:0},cameraPosition2D:[4.576706139296041,-7.606431618292216,150],yearlyHeliostatYieldPanelX:0,showSunAngles:!1,showYearlyParabolicDishYieldPanel:!1,solarRadiationHeatMapReflectionOnly:!1,yearlyFresnelReflectorYieldPanelRect:{height:400,y:0,width:600,x:0},yearlyBuildingEnergyPanelRect:{height:400,x:0,width:600,y:0},dailyPvYieldPanelRect:{height:400,width:600,x:0,y:0},dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelRect:{x:0,width:600,y:0,height:400},axes:!1,dailyBuildingEnergyPanelRect:{width:600,x:-10,y:-2,height:400},yearlyLightSensorPanelShowClearness:!1,heatFluxColor:"gray",showDiurnalTemperaturePanel:!1,yearlyPvYieldPanelX:0,stickyNotePanelRect:{height:300,y:0,width:400,x:0},showYearlyHeliostatYieldPanel:!1,visibilityResultsPanelX:0,visibilityResultsPanelY:0,yearlyParabolicTroughYieldPanelY:0,panCenter:[-2.2871814685183796,5.668685587288812,3.578971879440754],yearlyParabolicDishYieldPanelRect:{x:0,height:400,y:0,width:600},visibilityResultsPanelRect:{x:0,height:470,width:600,y:0},yearlyParabolicDishYieldPanelY:0,mapType:"roadmap",groundImageType:"roadmap",yearlyLightSensorPanelX:0,mapTilt:0},mcn=!1,ycn={dailyPvIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1},Acn=1,wcn={poleSpacing:3,interRowSpacing:2,rowAxis:"Zonal",tiltAngle:0,rowsPerRack:1,poleHeight:1,orientation:"Landscape",pvModelName:"SPR-X21-335-BLK"},vcn={rowAxis:"Zonal",minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumInterRowSpacing:10,poleSpacing:5,poleHeight:1,orientation:"Landscape",maximumRowsPerRack:6,minimumRowsPerRack:1,maximumTiltAngle:1.5707963267948966,minimumInterRowSpacing:2},xcn={particleSwarmOptimizationParams:{inertia:.8,convergenceThreshold:.01,swarmSize:20,socialCoefficient:.1,cognitiveCoefficient:.1,localSearchRadius:.1,searchMethod:1,maximumSteps:5,problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,vmax:.01},geneticAlgorithmParams:{objectiveFunctionType:1,mutationRate:.1,convergenceThreshold:.01,selectionRate:.5,localSearchRadius:.1,problem:"Solar Panel Tilt Angle",maximumGenerations:5,selectionMethod:1,searchMethod:1,crossoverRate:.5,populationSize:20}},bcn={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},Scn="Unknown",Tcn=null,Pcn=null,Ccn=null,Rcn=null,Hcn=[],Mcn=3,Icn=3,zcn={docid:rcn,time:acn,timestamp:lcn,userid:scn,owner:ccn,email:ucn,version:dcn,world:fcn,elements:hcn,sceneRadius:pcn,view:gcn,animate24Hours:mcn,graphState:ycn,evolutionMethod:Acn,solarPanelArrayLayoutParams:wcn,solarPanelArrayLayoutConstraints:vcn,evolutionaryAlgorithmState:xcn,economicsParams:bcn,modelType:Scn,modelAuthor:Tcn,modelLabel:Pcn,modelDescription:Ccn,designProjectType:Rcn,notes:Hcn,minimumNavigationMoveSpeed:Mcn,minimumNavigationTurnSpeed:Icn},Dcn="2dxtGmCKtazgz4ZZyFZJZt",Ecn="08/09/2023 10:14 am",kcn=1691590469988,Fcn="QWecNcxhyvP6j6sBN11hBsfZDau1",Lcn=null,Wcn=null,Ncn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Ucn=[{type:"Wall",cx:.13929493819855354,cy:6.605812086773116,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4.406268181656478,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[7.026331619159589,6.605812086773116,1],rightPoint:[-6.747741742762483,6.605812086773116,1],relativeAngle:3.141592653589793,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:7.026331619159589,cy:1.082477095396415,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4.406268181656478,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[7.0263316191595875,-4.440857895980288,1],rightPoint:[7.026331619159591,6.605812086773116,1],relativeAngle:1.5707963267948961,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.27157505426375056,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:-6.747741742762481,cy:1.082477095396415,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4.406268181656478,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.747741742762481,6.605812086773116,1],rightPoint:[-6.747741742762483,-4.440857895980288,1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.31683756330770896,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:.13929493819855443,cy:-4.440857895980288,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4.406268181656478,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.747741742762483,-4.440857895980288,1],rightPoint:[7.026331619159591,-4.440857895980288,1],relativeAngle:0,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.39930090798010054,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.217800495261873,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.217800495261873,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.39930090798010054,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.0625,lx:.217800495261873,ly:0,lz:.875,color:"white",textureType:"Door Texture #5",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Foundation",cx:-.10211164866366573,cy:-1.0707408518635368,cz:.5,lx:19.70489075906007,ly:14.114227282188692,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,color:"#ffffff",hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},notBuilding:!1},{type:"Human",name:"Jeanette",cx:.14801233194486496,cy:-8.06976158791596,cz:.550000011920929,lx:.4,ly:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",id:"wnofb4XeX3vKmPtas3Qz87",selected:!1},{type:"Wall",cx:-.011858550160528447,cy:7.221609932314045,cz:2.2408122612280286,lx:17.504258260617593,ly:.1,lz:3.738081358463903,leftJoints:["13CFTeuFCTc4YUCeVPJLjR"],rightJoints:["7hhgnkf2gpmkfhuWn7XUeP"],leftPoint:[8.740270580148266,7.221609932314045,1.1],rightPoint:[-8.763987680469327,7.221609932314045,1.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"noYCZko5xXDdVcHWBtGenP",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:8.740270580148266,cy:-1.182787584171602,cz:2.2301039869226305,lx:16.808795032971297,ly:.1,lz:3.738081358463903,leftJoints:["59rdAGCDJqPHgoGBDNRR6Q"],rightJoints:["noYCZko5xXDdVcHWBtGenP"],leftPoint:[8.740270580148266,-9.587185100657251,1.1],rightPoint:[8.74027058014827,7.221609932314045,1.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"13CFTeuFCTc4YUCeVPJLjR",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:-8.763987680469327,cy:-1.182787584171602,cz:2.228839888904333,lx:16.808795032971297,ly:.1,lz:3.738081358463903,leftJoints:["noYCZko5xXDdVcHWBtGenP"],rightJoints:["59rdAGCDJqPHgoGBDNRR6Q"],leftPoint:[-8.763987680469324,7.221609932314045,1.1],rightPoint:[-8.763987680469327,-9.587185100657251,1.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7hhgnkf2gpmkfhuWn7XUeP",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:-.01185855016052667,cy:-9.587185100657251,cz:2.268765007024547,lx:17.504258260617597,ly:.1,lz:3.738081358463903,leftJoints:["7hhgnkf2gpmkfhuWn7XUeP"],rightJoints:["13CFTeuFCTc4YUCeVPJLjR"],leftPoint:[-8.763987680469327,-9.587185100657251,1.1],rightPoint:[8.74027058014827,-9.587185100657251,1.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"59rdAGCDJqPHgoGBDNRR6Q",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{id:"1YZMDHP4rjNjWTDSh913J6",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #1",thickness:.2,wallsId:["59rdAGCDJqPHgoGBDNRR6Q"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:1.3622814256430873,ceiling:!1},{type:"Foundation",cx:.04811947352688506,cy:1.0979918791395855,cz:.55,lx:22.625453690958146,ly:19.31036432995692,lz:1.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dR4uPsfmhQVuGb7SK23oGM",selected:!1,color:"#ffffff",notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"mMQKmyWeVTYGQZt5Pwr8i7",leftRidgeLength:3.4435183404805185,rightRidgeLength:3.4435183404805185,rise:2.6086446360194486,ceiling:!1},{type:"Foundation",cx:-4.821425474895643,cy:-8.879390234274549,cz:.5,lx:7.794523521725198,ly:3.265167760947254,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"836Y3qvzoPStkTCKiU6Zim",color:"#ffffff",textureType:"Foundation Texture #4",notBuilding:!0},{type:"Wall",cx:-.14626729738059208,cy:.5024705864032608,cz:1.0309059401885354,lx:7.5,ly:.1,lz:1.0618118803770709,relativeAngle:0,leftPoint:[-3.896267297380592,.5024705864032608,1],rightPoint:[3.603732702619408,.5024705864032608,1],leftJoints:[],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",foundationId:"836Y3qvzoPStkTCKiU6Zim",id:"e64Qztsfyr4zQmZk97hBnb",wallStructure:"Stud",opacity:0,structureColor:"white",structureSpacing:.3,structureWidth:.05,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Wall",cx:-.0005250650359469589,cy:.5000831632035059,cz:1.0309059401885354,lx:7.5,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-3.750525065035947,.5000831632035059,1],rightPoint:[3.749474934964052,.5000831632035059,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"efngrMnFf6NGDKsBgosZFy",parentId:"aiFpq1ExRSUpbVmoio8kUd",foundationId:"aiFpq1ExRSUpbVmoio8kUd",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:5.053596159844837,cy:-8.881777657474304,cz:.5,lx:8.105470562568627,ly:3.2603929145477437,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aiFpq1ExRSUpbVmoio8kUd",selected:!1,notBuilding:!0},{type:"Wall",cx:-.17954580261008696,cy:-.4621199267349816,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.579545802610086,-.4621199267349803,1],rightPoint:[8.22045419738991,-.46211992673498287,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"sDWXonkZUyEPkgjChPFW25",parentId:"tQpZNWS9qUQiRVZS8oj4Qc",foundationId:"tQpZNWS9qUQiRVZS8oj4Qc",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:8.34010119848655,cy:.21478440141855337,cz:.5,lx:17.56747060893107,ly:1.582487181459217,lz:1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tQpZNWS9qUQiRVZS8oj4Qc",selected:!1,notBuilding:!0},{type:"Wall",cx:.17386663993795157,cy:-.45093322724616236,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.226133360062049,-.45093322724616186,1],rightPoint:[8.57386663993795,-.45093322724616464,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"1pz8zDt3tLxwV81bEJHYGM",parentId:"3kLgJo385s42rfmZRWwy75",foundationId:"3kLgJo385s42rfmZRWwy75",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:-8.212637572768045,cy:.13836840972225417,cz:.5,lx:17.178828934275355,ly:1.6048605804368434,lz:1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3kLgJo385s42rfmZRWwy75",selected:!1,notBuilding:!0},{type:"Wall",cx:-.09999999999999787,cy:13322676295501878e-31,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.499999999999996,26645352591003757e-31,0],rightPoint:[8.3,0,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"is5SYj452p8YfTVgmaU6zM",parentId:"n2K3pFpV1Cjm6AUAgZRCTf",foundationId:"n2K3pFpV1Cjm6AUAgZRCTf",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:.3262876024341112,cy:8.30924735716035,cz:.5,lx:17.72656221415125,ly:2.5067270349291775,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"n2K3pFpV1Cjm6AUAgZRCTf",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012664813117774204,cy:-9.507612927983782,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cTpXWFzNLufQycEffsJdCb",color:"#ffffff",enableGroupMaster:!1,notBuilding:!0},{type:"Foundation",cx:.011699082173905834,cy:-10.207612261814711,cz:.1,lx:.2,ly:2,lz:.2,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8rgH1Z1kSv9eGuQwDGDKs1",selected:!1,notBuilding:!0},{type:"Foundation",cx:.011975005300725344,cy:-10.007612452148733,cz:.15,lx:.2,ly:2,lz:.3,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ovbGxMS1g4Zg4nuB4TQqeX",selected:!1,notBuilding:!0},{type:"Foundation",cx:.01225092842754491,cy:-9.807612642482752,cz:.2,lx:.2,ly:2,lz:.4,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mVnVWTdw8vPyh7LrycmxnQ",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012526851554364421,cy:-9.607612832816773,cz:.25,lx:.2,ly:2,lz:.5,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"wUNxCTFzJEgfzKSgjrd9z5",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012802774681183987,cy:-9.407613023150793,cz:.3,lx:.2,ly:2,lz:.6,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"53BxN4TGqhcfN2Yd5k8dup",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013078697808003498,cy:-9.207613213484814,cz:.35,lx:.2,ly:2,lz:.7,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"meWg2dKv2vnU5j91nQfeeo",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013354620934823008,cy:-9.007613403818834,cz:.4,lx:.2,ly:2,lz:.8,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3mD1fnxQ9fjW7tjkECGw95",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013630544061642519,cy:-8.807613594152855,cz:.45,lx:.2,ly:2,lz:.9,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLkWHshGLvdq5XN1PjRi3M",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013906467188462085,cy:-8.607613784486874,cz:.5,lx:.2,ly:2,lz:1,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2wfw4Hci4SimT8xLVSR1qM",selected:!1,notBuilding:!0},{type:"Flower",name:"Tall Bush",cx:-9.817715749800067,cy:-9.852268243951208,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hL3pAKVFBPkxjTw9uDE2qM",selected:!1},{type:"Flower",name:"Tall Bush",cx:9.939790338917515,cy:-9.59379601065341,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9JQTdh1CLGJcq2FEuAr43e",selected:!1},{type:"Tree",name:"Magnolia",cx:-12.382557468618694,cy:-8.982107454472132,cz:17763568394002505e-31,lx:7.545471252443165,lz:10.603223623678987,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mz5Bu6Fc74abemkCjnNzj8",selected:!1},{type:"Tree",name:"Linden",cx:13.009119254200783,cy:-8.749068294142525,cz:0,lx:8.011654641868677,lz:10.603223623678987,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vRaDd6Us9GPPs1xWHr35Aq",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-1.6973329547002773,cy:-.9810097607697941,cz:.4999999999999991,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",id:"uW8r9yxCBYBnbmu4mcD2dK",selected:!1},{type:"Flower",name:"Yellow Flower",cx:2.1540732998146876,cy:-.7842673436297751,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",id:"7rBvK7XUtGC5sWHZd7QXas",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-2.179727293653672,cy:-.7583396115954706,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"aiFpq1ExRSUpbVmoio8kUd",id:"a8ojsUZ7mU36ELVrWAE4C8",selected:!1},{type:"Flower",name:"Yellow Flower",cx:1.9219781706072183,cy:-.6600952948240391,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"aiFpq1ExRSUpbVmoio8kUd",id:"6H6en2GXU1wLSxKHPWsjJ6",selected:!1},{type:"Tree",name:"Apple",cx:13.247382515056007,cy:-1.2331435918787816,cz:17763568394002505e-31,lx:6.227742361345067,lz:6.109070444404363,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"242hfQPKKVCMwkg6guH9SJ",selected:!1},{type:"Tree",name:"Apple",flip:!0,cx:13.169742632007722,cy:5.190500041503218,cz:-8881784197001252e-31,lx:6.227742361345067,lz:6.109070444404363,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rfSjqDoXAWcYP1QiJK14Ah",selected:!1},{type:"Tree",name:"Pine",cx:-14.749577815037771,cy:1.149901818018586,cz:0,lx:4.512512815610147,lz:12.024404332399733,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"fy1FkFpbo7uvywjAGwxRuY",selected:!1},{type:"Tree",name:"Pine",flip:!0,cx:-14.371853116942734,cy:-.9634768965176921,cz:0,lx:4.512512815610147,lz:8.962712367303366,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"n1AY9F8phLA3eJfdFeLCVt",selected:!1},{type:"Tree",name:"Pine",flip:!0,cx:-15.240052070171995,cy:2.549040907949193,cz:0,lx:7.596612700375146,lz:7.787173553198613,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"niwq5q77JDU4G8BQsbgERV",selected:!1},{type:"Tree",name:"Magnolia",flip:!0,cx:-14.127046185685298,cy:-5.909041660781089,cz:0,lx:6.24467494419313,lz:8.23797178206723,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"svLkeNQopLzpZVKNMw4BPh",selected:!1},{type:"Human",name:"Jeff",cx:.12654793991771474,cy:-12.447770037532427,cz:0,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"ggcEZD7jGqKHjY9sjyW651",selected:!1,ly:.6},{type:"Human",name:"Jennifer",cx:-1.02983903936377,cy:-8.19510646529044,cz:.550000011920929,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",id:"9A499PNQRGp7jNr6cuTVMi",selected:!1,ly:.45},{type:"Human",name:"Jett",cx:.945405682980855,cy:-12.320812786564254,cz:8881784197001252e-31,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"xyc9SJrxYKnGoZ1JsnzDHM",selected:!1,ly:.6},{type:"Window",cx:-.016104291229904533,cy:1.8002134679755866,cz:4.816843659976703,lx:6.99919664887142,ly:.2,lz:5.817011327539121,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"f1J4REo4jQv29PCWE7DY9o"},{type:"Window",cx:-.05151161986007091,cy:-4.040746113044766,cz:4.837111990518853,lx:6.999674883388914,ly:.2,lz:5.437430983992275,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"jvY75c4SHrBZnwZVKousju"},{type:"Window",cx:5.318722507920985,cy:4.582891269828743,cz:4.3657952325816325,lx:3.467667580770554,ly:.2,lz:.00531143113289233,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"sX9UU3kudi5NcAve6pMHjM",polygonTop:[.4836066024850123,5.296892684036137]},{type:"Window",cx:-5.343537105869802,cy:4.545906716881224,cz:4.3717901143583795,lx:3.4010319442975763,ly:.2,lz:.1825055927452041,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"9u53gJyT1Q25rdtt6maYhC",polygonTop:[-.5,5.2491187506805534]},{type:"Window",cx:5.259917043757973,cy:-6.686746145003361,cz:4.408217868278964,lx:3.3609664331480253,ly:.2,lz:.001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"uhwFXhZdCJ9WRZodgaGM39",polygonTop:[-.5,5.167549845268113]},{type:"Window",cx:-5.283116299901134,cy:-6.676742962528736,cz:4.409839299161519,lx:3.2409329250484538,ly:.2,lz:.020267481118999123,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"nDuyUhzJ8jfAMyFVHV4a4b",polygonTop:[.5,5.127516924065475]},{type:"Window",cx:-7.026900064701883,cy:-1.1705448238754261,cz:4.401906118465314,lx:10.96491542180579,ly:.2,lz:.05934796066186738,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.24644748988851184,0,4.71238898038469],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"wCvpMZz8wRo6JLVskJvaxa",polygonTop:[-.002890307610633155,3.539512596657185]},{type:"Window",cx:7.048045854571776,cy:-1.093473652020256,cz:4.390620355845949,lx:11.034753536063173,ly:.2,lz:.001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.24644748988851184,0,1.5707963267948963],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"qgitJao18HGfoWkWAG39gT",polygonTop:[-.009542098130494085,3.625871533157426]}],Bcn=24,jcn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.695474665244077,9.454611546562601,942600132651463e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.695474665244077,9.453611169126416,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[9.628275537924297,-25.20157333419027,4.240697142180643],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:27.20748283999615,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.5642366854944917,-.4056742952770788,2.0409440324131825],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Ycn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Ocn=1,_cn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Vcn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Gcn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Xcn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Jcn="Unknown",Kcn=null,qcn=null,$cn=null,Qcn=null,Zcn=[],e0n=3,t0n=3,n0n={docid:Dcn,time:Ecn,timestamp:kcn,userid:Fcn,owner:Lcn,email:Wcn,world:Ncn,elements:Ucn,sceneRadius:Bcn,view:jcn,graphState:Ycn,evolutionMethod:Ocn,solarPanelArrayLayoutParams:_cn,solarPanelArrayLayoutConstraints:Vcn,evolutionaryAlgorithmState:Gcn,economicsParams:Xcn,modelType:Jcn,modelAuthor:Kcn,modelLabel:qcn,modelDescription:$cn,designProjectType:Qcn,notes:Zcn,minimumNavigationMoveSpeed:e0n,minimumNavigationTurnSpeed:t0n},o0n="c1GT9hKGSVWRT29a2bhDcR",i0n="11/16/2023 01:04 PM",r0n=1700157875476,a0n="QWecNcxhyvP6j6sBN11hBsfZDau1",l0n=null,s0n=null,c0n="1.4.7",u0n={noAnimationForSolarPanelSimulation:!1,latitude:42.2844063,cspTimesPerHour:4,timesPerHour:1,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-71.3488548,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"Natick, MA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"9/22/2022, 10:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},d0n=[{type:"Foundation",ly:15.634026313844405,normal:[0,0,1],parentId:"Ground",cz:.05,lz:.1,solarPowerTower:{},cy:-2.0978986591875834,selected:!1,rotation:[0,0,0],solarAbsorberPipe:{},id:"x9h6vgTSQ3QLh48G3oYMPN",lx:31.424087209321772,cx:.2605383705139097,solarUpdraftTower:{},locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{lx:23.5,normal:[0,0,1],roofId:"viqYpNieXAmEvy7RzMSU7R",lz:12,cz:6.08075667710203,parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"gYxC2R3CWviHFfEMyEPT1K",leftPoint:[10.73068954852153,7.564003538648882,.1],cx:-1.0193104514784697,type:"Wall",rightJoints:["gAzos6YN4ZktUEWKP98uBq"],rotation:[0,0,0],relativeAngle:3.141592653589793,leftJoints:["iF8yBnVR7zKfNKiVQ7M1op"],cy:7.564003538648882,selected:!1,leftRoofHeight:12,rightRoofHeight:12,windows:[],textureType:"Wall Texture Default",ly:.3,showLabel:!1,rightPoint:[-12.76931045147847,7.564003538648882,.1],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{lz:12,ly:.3,cz:0,lx:10.5,showLabel:!1,normal:[0,0,1],cx:-12.76931045147847,textureType:"Wall Texture Default",roofId:"viqYpNieXAmEvy7RzMSU7R",cy:2.3140035386488824,leftJoints:["gYxC2R3CWviHFfEMyEPT1K"],rightJoints:["56tPe5zv4S5mhoVrSD2NK7"],leftRoofHeight:12,leftPoint:[-12.76931045147847,7.564003538648882,.1],relativeAngle:4.71238898038469,rightRoofHeight:12,parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"gAzos6YN4ZktUEWKP98uBq",selected:!1,windows:[],type:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rightPoint:[-12.76931045147847,-2.9359964613511176,.1],rotation:[0,0,0],centerRoofHeight:[0,15.934734349134846],color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{cy:2.3140035386488824,cx:10.73068954852153,leftJoints:["56tPe5zv4S5mhoVrSD2NK7"],roofId:"viqYpNieXAmEvy7RzMSU7R",parentId:"x9h6vgTSQ3QLh48G3oYMPN",showLabel:!1,lz:12,cz:2.6457488129010285,leftRoofHeight:12,textureType:"Wall Texture Default",leftPoint:[10.73068954852153,-2.9359964613511176,.1],id:"iF8yBnVR7zKfNKiVQ7M1op",rightJoints:["gYxC2R3CWviHFfEMyEPT1K"],rightRoofHeight:12,selected:!1,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rotation:[0,0,0],type:"Wall",ly:.3,relativeAngle:1.5707963267948966,centerRoofHeight:[0,15.934734349134846],windows:[],lx:10.5,normal:[0,0,1],rightPoint:[10.73068954852153,7.564003538648882,.1],color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{showLabel:!1,id:"56tPe5zv4S5mhoVrSD2NK7",roofId:"viqYpNieXAmEvy7RzMSU7R",cz:5.720174265006714,type:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",lz:12,lx:23.5,leftPoint:[-12.76931045147847,-2.935996461351123,.1],cy:-2.9359964613511202,leftJoints:["gAzos6YN4ZktUEWKP98uBq"],relativeAngle:22676895822130855e-32,windows:[],rotation:[0,0,0],rightRoofHeight:12,selected:!1,leftRoofHeight:12,normal:[0,0,1],ly:.3,rightJoints:["iF8yBnVR7zKfNKiVQ7M1op"],cx:-1.0193104514784697,rightPoint:[10.73068954852153,-2.9359964613511176,.1],textureType:"Wall Texture Default",parentId:"x9h6vgTSQ3QLh48G3oYMPN",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{cy:.1,parentId:"56tPe5zv4S5mhoVrSD2NK7",cx:-.3617021276595745,lz:.17636142264118151,cz:.28681928867940926,ly:.3,normal:[0,0,1],color:"#ffffff",id:"etKxgbj2UBmFLsuY4i5CJ9",rotation:[0,0,0],lx:.1702127659574468,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",selected:!1,showLabel:!1,type:"Window",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{ly:.3,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rotation:[0,0,0],lx:.1702127659574468,normal:[0,0,1],id:"nF2Q5EW3FMMGZXhRHjxAya",cy:.1,parentId:"56tPe5zv4S5mhoVrSD2NK7",cx:-.1276595744680851,selected:!1,type:"Window",lz:.17636142264118151,cz:.28681928867940926,color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{id:"bpUvKGmm3pbG6LoUQVwyUS",lx:.1702127659574468,lz:.17636142264118151,cx:.10638297872340426,rotation:[0,0,0],type:"Window",color:"#ffffff",cz:.28681928867940926,selected:!1,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",ly:.3,cy:.1,normal:[0,0,1],parentId:"56tPe5zv4S5mhoVrSD2NK7",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:.28681928867940926,id:"cGXdptrFDNmLCsGiAspsDd",lz:.17636142264118151,parentId:"56tPe5zv4S5mhoVrSD2NK7",type:"Window",ly:.3,cx:.3404255319148936,cy:.1,color:"#ffffff",selected:!1,normal:[0,0,1],rotation:[0,0,0],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",lx:.1702127659574468,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{rotation:[0,0,0],selected:!1,solarPowerTower:{},cx:-7.538371501184832,id:"rzzzSn5cSsCh41KW1dZ8o9",parentId:"Ground",lz:.1,lx:21.72063547763523,cy:.21534781482795487,solarUpdraftTower:{},type:"Foundation",ly:4.31333678945802,solarAbsorberPipe:{},cz:.05,normal:[0,0,1],locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",normal:[0,0,1],cx:7.057804014514522,showLabel:!1,id:"gSgPwypYb2qas3tXnXpzu5",rightPoint:[5.057804014514522,1.9532181864937823,.1],cz:0,selected:!1,relativeAngle:3.141592653589793,cy:1.9532181864937823,rightJoints:["ne9d3ykDCR9vMZ2sfPqRBL"],rotation:[0,0,0],foundationId:"rzzzSn5cSsCh41KW1dZ8o9",parentId:"rzzzSn5cSsCh41KW1dZ8o9",leftJoints:["5spEvKcr5r35ajFtNP5ug4"],roofId:"bXyFJNv4LJba2AUhe3ZtVT",windows:[],leftPoint:[9.057804014514522,1.9532181864937823,.1],lz:20,ly:.3,lx:4,textureType:"Wall Texture Default",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.09781600017236,rightUnfilledHeight:13.09781600017236,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{leftPoint:[9.057804014514522,-2.0467818135062186,.1],cy:-.04678181350621824,leftJoints:["iY6iwiFa7FE4A2YwRcXYQX"],rightPoint:[9.057804014514522,1.9532181864937823,.1],lx:4,cz:0,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",windows:[],showLabel:!1,parentId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:20,ly:.3,normal:[0,0,1],type:"Wall",cx:9.057804014514522,rightJoints:["gSgPwypYb2qas3tXnXpzu5"],rotation:[0,0,0],textureType:"Wall Texture Default",id:"5spEvKcr5r35ajFtNP5ug4",roofId:"bXyFJNv4LJba2AUhe3ZtVT",relativeAngle:1.5707963267948966,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.10125703573121,rightUnfilledHeight:13.10125703573121,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:20,windows:[],rightJoints:["iY6iwiFa7FE4A2YwRcXYQX"],lx:4,cz:0,rightPoint:[5.057804014514522,-2.0467818135062186,.1],type:"Wall",cy:-.04678181350621824,roofId:"bXyFJNv4LJba2AUhe3ZtVT",relativeAngle:4.71238898038469,cx:5.057804014514522,leftPoint:[5.057804014514522,1.9532181864937823,.1],ly:.3,rotation:[0,0,0],parentId:"rzzzSn5cSsCh41KW1dZ8o9",textureType:"Wall Texture Default",showLabel:!1,leftJoints:["gSgPwypYb2qas3tXnXpzu5"],normal:[0,0,1],id:"ne9d3ykDCR9vMZ2sfPqRBL",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.104325113888441,rightUnfilledHeight:13.104325113888441,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{ly:.3,windows:[],rightJoints:["5spEvKcr5r35ajFtNP5ug4"],lx:4,relativeAngle:0,leftPoint:[5.057804014514522,-2.0467818135062186,.1],lz:20,rotation:[0,0,0],type:"Wall",selected:!1,normal:[0,0,1],cy:-2.0467818135062186,rightPoint:[9.057804014514522,-2.0467818135062186,.1],showLabel:!1,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"iY6iwiFa7FE4A2YwRcXYQX",leftJoints:["ne9d3ykDCR9vMZ2sfPqRBL"],cz:0,parentId:"rzzzSn5cSsCh41KW1dZ8o9",roofId:"bXyFJNv4LJba2AUhe3ZtVT",textureType:"Wall Texture Default",cx:7.057804014514522,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.110251380374818,rightUnfilledHeight:13.110251380374818,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{normal:[0,0,1],lx:0,cx:0,cz:0,cy:0,roofType:"Pyramid",ly:0,lz:0,showLabel:!1,parentId:"rzzzSn5cSsCh41KW1dZ8o9",rotation:[0,0,0],textureType:"Roof Texture Default",type:"Roof",thickness:.1,wallsId:["5spEvKcr5r35ajFtNP5ug4","gSgPwypYb2qas3tXnXpzu5","ne9d3ykDCR9vMZ2sfPqRBL","iY6iwiFa7FE4A2YwRcXYQX"],id:"bXyFJNv4LJba2AUhe3ZtVT",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,color:"#4d4d4d",rise:2.4214017411934243,ceiling:!1,locked:!1},{cy:.1,cx:0,cz:.375,lz:.1,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",ly:.3,id:"f3zJpwNA8T36dWKnnLB2Ue",normal:[0,0,1],parentId:"iY6iwiFa7FE4A2YwRcXYQX",type:"Window",selected:!1,lx:.5,rotation:[0,0,0],showLabel:!1,color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:.375,showLabel:!1,normal:[0,0,1],parentId:"5spEvKcr5r35ajFtNP5ug4",lx:.5,ly:.3,cx:0,color:"#ffffff",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:.1,type:"Window",rotation:[0,0,0],id:"vLvEkBDowmVtpuRDtw4SXE",cy:.1,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cy:.1,id:"4R8u4ZpfkjtqDvbjmeT7bf",rotation:[0,0,0],lz:.2,selected:!1,cx:-.2857142857142857,cz:-.3,showLabel:!1,parentId:"iF8yBnVR7zKfNKiVQ7M1op",normal:[0,0,1],lx:.09523809523809523,color:"#ffffff",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",ly:.3,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lx:.09523809523809523,type:"Window",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",showLabel:!1,selected:!1,color:"#ffffff",rotation:[0,0,0],id:"sknCCjfYvoTnoJodNpouJ1",cy:.1,cz:-.3,normal:[0,0,1],cx:.2857142857142857,lz:.2,ly:.3,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lz:.09999999999999998,rotation:[0,0,0],id:"eu9mFgyuKTJ1jH9yK9yLSt",color:"#ffffff",ly:.3,cy:.1,lx:.3047619047619048,type:"Window",cx:0,cz:-.09999999999999998,selected:!1,showLabel:!1,parentId:"iF8yBnVR7zKfNKiVQ7M1op",normal:[0,0,1],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1.1999999999999997,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Tree",name:"Oak",cx:23.74199340816881,cy:10.644500397978508,cz:0,lx:20,lz:24,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"b1PLNbuHYXMSFSk3EuJWpe",selected:!1,locked:!1},{type:"Tree",name:"Elm",cx:-11.169257359842945,cy:-29.31617204471101,cz:17763568394002505e-31,lx:20,lz:20,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"7jf8KwAp3jRyyjP9pa5nD6",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:13.450425292803352,cy:-.6851982985911116,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"fEgQo63aax49KtqEdPTNhE",selected:!1,ly:.42,locked:!1},{type:"Human",name:"Jena",cx:15.018980097026159,cy:12.103463958939685,cz:3552713678800501e-30,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4BmWg5mgbRSqHZB7i69JCr",selected:!1,ly:.695,locked:!1},{type:"Human",name:"Jeff",cx:17.834834093586977,cy:-13.833037629725366,cz:0,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"xix4idJ2qyP21RHv281pxk",selected:!1,ly:.6,locked:!1},{type:"Human",name:"Jose",cx:19.855346329668855,cy:-1.5096947835564674,cz:0,lx:2,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"swuHMR6JuNqcRU1q2CGzEB",selected:!1,ly:2,locked:!1},{type:"Human",name:"June",cx:13.437411824806574,cy:1.7698691218286662,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"neJBajzFYG5HwTAskcMmid",selected:!1,ly:.65,locked:!1},{type:"Door",cx:1057355261547768e-32,cy:0,cz:-.325,lx:.32380952380952377,ly:0,lz:.35000000000000003,textureType:"Door Texture #2",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"1cqNEbnbmdgjFsj2KffdDW",color:"white",doorType:"Default",archHeight:1,filled:!0,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.283173842293113,cy:-5.011574326559238,cz:.05000000074506161,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"1EBzai8Qd5Jq4dWcsiq8La",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.271441109375889,cy:-7.494044638896808,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"o9s9NrSQqGhb4mKxZK73ZY",selected:!1,locked:!1},{type:"Tree",name:"Maple",cx:-4.545943688973082,cy:-23.537404195497544,cz:0,lx:20,lz:16.05832090138246,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gkQDZPnaSVr9iatjDLPxBD",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:15.895794748349687,cy:24.757130551972956,cz:0,lx:16.237525350473454,lz:14.730013828864193,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"n7bLUe1p1rbbqq2FsGvzJ1",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:26.48163780671832,cy:25.18035168450354,cz:0,lx:13.930205088796232,lz:14.730013828864193,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"64YqofbhUQNT1AUUrbAQFL",selected:!1,flip:!0,locked:!1},{type:"Window",cx:0,cy:.1,cz:.2916666666666667,lx:.7619047619047619,ly:.3,lz:.16666666666666666,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"2akAYnPawwHe5duAcNSm7B",windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Window",cx:0,cy:.1,cz:.37500000000000006,lx:.5,ly:.3,lz:.09999999999999991,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"ne9d3ykDCR9vMZ2sfPqRBL",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"4xy5bj1K9gsNUeeRqMHQ4T",windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Wall",cx:.23099428957730517,cy:6.239081888589501,cz:0,lx:20,ly:.3,lz:6.986961603131722,leftJoints:["t1G4LBkeHJCJQyxbr7ccH4"],rightJoints:["4QQLfJpksW9car6RpJhBza"],leftPoint:[10.230994289577309,6.2390818885895,.1],rightPoint:[-9.769005710422693,6.2390818885894985,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"nRyok2ppvyvZoipPDTMibS",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:6.986961603131722,rightRoofHeight:6.986961603131722,fill:"Partial",eavesLength:0,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6.886961603131723,rightUnfilledHeight:6.886961603131723,leftTopPartialHeight:6.986961603131722,rightTopPartialHeight:6.986961603131722,unfilledHeight:.5},{type:"Wall",cx:.23099428957730755,cy:-3.260918111410499,cz:0,lx:20,ly:.3,lz:5,leftJoints:["4QQLfJpksW9car6RpJhBza"],rightJoints:["t1G4LBkeHJCJQyxbr7ccH4"],leftPoint:[-9.769005710422693,-3.260918111410501,.1],rightPoint:[10.230994289577309,-3.2609181114104966,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"9Yk7vG95h8gCN8K81b6QsV",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:5,rightRoofHeight:5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{type:"Window",cx:-.35,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2ZFQrnmC5HWZdeWiMJGmRx",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.19999999999999996,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p5XsrFbFiHc5cUtkroJ7bZ",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.04999999999999996,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sYLoiFbgR7dHUeBey4QLWg",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.10000000000000005,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"waQ4yFfcYPcnN877Bomdn5",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.25000000000000006,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i4RR7R41FRkfno1WwtTX7f",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pQwvmPAtL9tsANDrDpmVRC",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Wall",cx:10.230994289577309,cy:1.4890818885894999,cz:0,lx:9.5,ly:.3,lz:5,leftJoints:["9Yk7vG95h8gCN8K81b6QsV"],rightJoints:["nRyok2ppvyvZoipPDTMibS"],leftPoint:[10.230994289577309,-3.2609181114105,.1],rightPoint:[10.230994289577309,6.2390818885895,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"t1G4LBkeHJCJQyxbr7ccH4",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:5,rightRoofHeight:6.986961603131722,centerRoofHeight:[.5,6.986961603131722],fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{type:"Wall",cx:-9.769005710422693,cy:1.4890818885894987,cz:0,lx:9.5,ly:.3,lz:5,leftJoints:["nRyok2ppvyvZoipPDTMibS"],rightJoints:["9Yk7vG95h8gCN8K81b6QsV"],leftPoint:[-9.769005710422693,6.2390818885894985,.1],rightPoint:[-9.769005710422693,-3.260918111410501,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"4QQLfJpksW9car6RpJhBza",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:6.986961603131722,rightRoofHeight:5,centerRoofHeight:[-.5,6.986961603131722],fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{id:"2edgYQtearj95L9ExcxpR8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.1,wallsId:["9Yk7vG95h8gCN8K81b6QsV"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,rise:0,ceiling:!1,locked:!1},{type:"Flower",name:"Peony",cx:-7.921494529469528,cy:-5.703131639854222,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"n7MjXwaqUNnrqr7tttq8Xs",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:-6.921494529469528,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"sV3wDCg6jC5jfbaZPhLEFR",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-5.921494529469528,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"5qYyouDiycvWuJ5qvpfENM",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-4.921494529469526,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"d5qiLf7kCJT5AZq7DadTns",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-3.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"wsrTngfrvFcPA2tZXvJ7x3",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:-2.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"afwAGtRYkrpVQnTg7J7Qth",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-1.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"qcKnQw96DTDSeCGHYqMA48",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-.9214945294695266,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"waxy4TUCBpoD2cd6LrtnaA",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:.07850547053047338,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"nvZw8LLJYkjMh1JGkRLD3K",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:1.078505470530473,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"cqsNRo9PPkomK9wdkZupc1",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:2.078505470530473,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"jrx4N63zfhzuthq28WtS35",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:3.0785054705304695,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"mxRRf3jQHxj2YV6RTapCHL",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:4.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"nTZ7SBUGqeqonpnPNpk3oW",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:5.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"3dhHbjvLKuWhGK9UjHE6XT",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:6.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"4GeJePH4hCxCTjZtoXxWto",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:7.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"7FGr3ZNRc8Yr5eCEbRFCP4",selected:!1,locked:!1},{type:"Flower",name:"Peony",cx:8.541770761909182,cy:-5.4564771733354345,cz:.05000000074505895,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"j6RLkdyyrwF7fa2EzQWxLx",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:11.033481724703831,cy:2.4259920840004234,cz:.05000000074505895,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"keYgfjtBV5HoobU1c7o3UJ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:10.99612420253719,cy:.2217548731086052,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"vVnzt8ngpeWWaQC4FjAL4j",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:10.959797795589187,cy:-1.7573623215975718,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"gZMPqGYEq2m24MmNCDDYiG",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-10.392242624146428,cy:3.263587702330267,cz:.050000000745050954,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"6Ub8pCiCnETjVt5AhwfdTF",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-10.422719499264469,cy:.5714316192013018,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"66aAYBuCfd3AhjLpHJLkUu",selected:!1,locked:!1},{type:"Foundation",cx:-.3396050744252213,cy:11.51965967612361,cz:.05,lx:27.18366746665238,ly:13.555523568838572,lz:.1,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLT8u6hCPgvgGLYpma7b1F",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Flower",name:"Hydrangea",cx:-10.300379922837644,cy:-2.268843152966837,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"ageUa3KUftjZpZZ9K9EjET",selected:!1,locked:!1},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j41VCcj3usY83nb7TyLTSz",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2Gb1qNGA9XYJH1M5ngkWgg",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vi8CDjZJjcyCw9PypDyDTY",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssGXAAom5GmpQtoTEfxLxY",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jAMmFqujhajRarjA7EnVcV",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9iqv8Mygk4XdBQpnv3SnAQ",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3404255319148936,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eBsupuArqkdPqdm1NpNRGG",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.10638297872340426,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fCtqDhopDBEzVW7mRyhrYJ",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.1276595744680851,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ug8Cox9PN3TyFyQqu1r9qK",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3617021276595745,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3BwnkPkWjwJcrrLjwf9GLa",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"whn43FxoK2FiHHEsJEgwx9",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.09523809523809523,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1jBLLRwnh7NZy9MTMYQHt2",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.14285714285714285,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5ttkkqMJXFY2rDGZmC9Lzj",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.38095238095238093,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"k8vEiLRG6xxiXgVTPxWxXM",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:.37500000000000006,lx:.5,ly:.3,lz:.09999999999999991,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6YKcvoA3eJ8MWWe5Vsy3eT",parentId:"gSgPwypYb2qas3tXnXpzu5",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",tint:"#73D8FF",opacity:.91,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["56tPe5zv4S5mhoVrSD2NK7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"viqYpNieXAmEvy7RzMSU7R",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:3.934734349134846,ceiling:!1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.2916666666666668,lx:.7619047619047619,ly:.3,lz:.16666666666666638,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rk1VAoH8VnjeXMMcRz8iw6",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Window",cx:-.004761904761904766,cy:.1,cz:.6791666666666667,lx:.23809523809523808,ly:.3,lz:.125,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cdP2JvFiiD6EFxpYXpURLL",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.014285714285714277,cy:.1,cz:.6708333333333334,lx:.23809523809523808,ly:.3,lz:.125,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7hN73eLMovYtBF2VxtgwGA",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:.32491117851716567,cy:-.02051365319438737,cz:22.47091493193306,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-.7710068386722702,.6368268640066874],rotation:[.8804206662401132,0,0],parentId:"bXyFJNv4LJba2AUhe3ZtVT",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"gnMTcek5K3cRDBprwKnFBZ",selected:!1,inside:!1,locked:!1},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:.002857142857142857,cy:0,cz:-.0025,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[1,0,0],rotation:[0,0,0],parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"dpLuhLSSPa19xJpw2Qffsi",selected:!1,locked:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.38095238095238093,y:-.125},{x:-.38095238095238093,y:0},{x:.38095238095238093,y:0},{x:.38095238095238093,y:-.125}],parentId:"iF8yBnVR7zKfNKiVQ7M1op",parentType:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",selected:!1,filled:!0,selectedIndex:2,id:"sQ3Tb8iVwJfm4J6HcRtiJG",text:"PARADISE FARM",fontColor:"gold",fontSize:1,noOutline:!0,opacity:0,locked:!1},{type:"Door",cx:.02127659574468085,cy:0,cz:-.2708333333333333,lx:.5531914893617021,ly:0,lz:.4583333333333333,doorType:"Default",filled:!1,archHeight:1,textureType:"No Door Texture",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"9ANMGsRZBmgfHhV2Q1CDCc",locked:!1,interior:!0},{type:"Door",cx:-.02127659574468085,cy:0,cz:-.2916666666666667,lx:.5531914893617021,ly:0,lz:.4166666666666667,doorType:"Default",filled:!1,archHeight:1,textureType:"No Door Texture",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"56tPe5zv4S5mhoVrSD2NK7",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"vap2L1NkxsVcWyXHMxiu2p",locked:!1,interior:!0},{solarPowerTower:{},lx:29.20195847671534,parentId:"Ground",id:"46TKaVq8pvU97fq25w6FtQ",cx:1.0262187405527392,lz:.1,cy:-11.383349626055136,normal:[0,0,1],solarAbsorberPipe:{},selected:!1,cz:.05,solarUpdraftTower:{},ly:12.71246047298328,rotation:[0,0,0],type:"Foundation",locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{cz:0,windows:[],relativeAngle:3.141592653589793,id:"kDP3sGBycYRfxJNAuZJQCx",normal:[0,0,1],rightJoints:["6i3LR3TEvtE6sm3KPPvawH"],ly:.3,cx:-1.69761452373917,rotation:[0,0,0],foundationId:"46TKaVq8pvU97fq25w6FtQ",roofId:"6c49g876wkgGNVBvgTNf4N",lz:6.986961603131722,selected:!1,cy:6.34147142267982,rightRoofHeight:6.986961603131722,rightPoint:[-11.697614523739169,6.34147142267982,.1],textureType:"No Wall Texture",leftRoofHeight:6.986961603131722,showLabel:!1,leftPoint:[8.302385476260831,6.34147142267982,.1],type:"Wall",lx:20,parentId:"46TKaVq8pvU97fq25w6FtQ",leftJoints:["7N5hq7UW6d1NtoD4SxrS8y"],color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:0,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6.175009105936305,rightUnfilledHeight:6.175009105936305,leftTopPartialHeight:6.986961603131722,rightTopPartialHeight:6.986961603131722,unfilledHeight:.5},{type:"Wall",lz:5,foundationId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],relativeAngle:0,showLabel:!1,rightJoints:["7N5hq7UW6d1NtoD4SxrS8y"],leftJoints:["6i3LR3TEvtE6sm3KPPvawH"],textureType:"Wall Texture Default",leftPoint:[-11.697614523739169,-3.1585285773201797,.1],rightPoint:[8.302385476260831,-3.158528577320176,.1],id:"6JeFi4vn6AoV5MBuK71Kj4",windows:[],roofId:"6c49g876wkgGNVBvgTNf4N",rotation:[0,0,0],lx:20,cy:-3.1585285773201797,leftRoofHeight:5,rightRoofHeight:5,cz:0,ly:.3,parentId:"46TKaVq8pvU97fq25w6FtQ",selected:!1,cx:-1.69761452373917,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{leftJoints:["6JeFi4vn6AoV5MBuK71Kj4"],cy:1.5914714226798203,roofId:"6c49g876wkgGNVBvgTNf4N",showLabel:!1,windows:[],type:"Wall",rightJoints:["kDP3sGBycYRfxJNAuZJQCx"],leftPoint:[8.302385476260831,-3.1585285773201797,.1],relativeAngle:1.5707963267948966,parentId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],selected:!1,rotation:[0,0,0],leftRoofHeight:5,centerRoofHeight:[.5,6.986961603131722],ly:.3,lz:5,id:"7N5hq7UW6d1NtoD4SxrS8y",rightPoint:[8.302385476260831,6.34147142267982,.1],foundationId:"46TKaVq8pvU97fq25w6FtQ",rightRoofHeight:6.986961603131722,lx:9.5,cz:0,textureType:"Wall Texture Default",cx:8.302385476260831,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{foundationId:"46TKaVq8pvU97fq25w6FtQ",cx:-11.697614523739169,id:"6i3LR3TEvtE6sm3KPPvawH",normal:[0,0,1],type:"Wall",rotation:[0,0,0],rightRoofHeight:5,lz:5,lx:9.5,rightJoints:["6JeFi4vn6AoV5MBuK71Kj4"],cz:0,textureType:"Wall Texture Default",relativeAngle:4.71238898038469,leftRoofHeight:6.986961603131722,windows:[],leftJoints:["kDP3sGBycYRfxJNAuZJQCx"],showLabel:!1,ly:.3,parentId:"46TKaVq8pvU97fq25w6FtQ",leftPoint:[-11.697614523739169,6.34147142267982,.1],centerRoofHeight:[-.5,6.986961603131722],selected:!1,roofId:"6c49g876wkgGNVBvgTNf4N",rightPoint:[-11.697614523739169,-3.1585285773201797,.1],cy:1.5914714226798203,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{cy:0,parentId:"46TKaVq8pvU97fq25w6FtQ",rotation:[0,0,0],ridgeRightPoint:[.5,1],selected:!1,type:"Roof",thickness:.1,lz:0,lx:0,roofType:"Gable",foundationId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],cz:0,id:"6c49g876wkgGNVBvgTNf4N",cx:0,textureType:"Roof Texture Default",wallsId:["6JeFi4vn6AoV5MBuK71Kj4"],ridgeLeftPoint:[-.5,1],ly:0,showLabel:!1,color:"#4d4d4d",roofStructure:"Default",rise:0,ceiling:!1,locked:!1},{id:"8bXmzpgr9i9JFo2oBsPwmf",foundationId:"46TKaVq8pvU97fq25w6FtQ",type:"Window",lx:.1,selected:!1,rotation:[0,0,0],cx:-.35,parentId:"6JeFi4vn6AoV5MBuK71Kj4",color:"#ffffff",cy:0,normal:[0,0,1],lz:.6,showLabel:!1,ly:.3,cz:-.1,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:-.1,color:"#ffffff",id:"xjhgUKTmXdCae92VivseTy",parentId:"6JeFi4vn6AoV5MBuK71Kj4",cx:-.19999999999999996,foundationId:"46TKaVq8pvU97fq25w6FtQ",rotation:[0,0,0],lx:.1,type:"Window",normal:[0,0,1],selected:!1,ly:.3,cy:0,lz:.6,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:-.1,lz:.6,cy:0,type:"Window",color:"#ffffff",parentId:"6JeFi4vn6AoV5MBuK71Kj4",cx:-.04999999999999996,id:"kPfc2HWm4ZV8tdUhXMQ1J6",selected:!1,normal:[0,0,1],ly:.3,foundationId:"46TKaVq8pvU97fq25w6FtQ",lx:.1,rotation:[0,0,0],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lz:.6,ly:.3,parentId:"6JeFi4vn6AoV5MBuK71Kj4",lx:.1,foundationId:"46TKaVq8pvU97fq25w6FtQ",color:"#ffffff",cy:0,type:"Window",selected:!1,cz:-.1,cx:.10000000000000005,id:"msWBbsfJmqRnJLeUcmpcgH",normal:[0,0,1],rotation:[0,0,0],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{selected:!1,ly:.3,color:"#ffffff",foundationId:"46TKaVq8pvU97fq25w6FtQ",type:"Window",rotation:[0,0,0],parentId:"6JeFi4vn6AoV5MBuK71Kj4",normal:[0,0,1],cx:.25000000000000006,lx:.1,id:"1cwhsRjtvJtmfm2tgLVX5c",cy:0,cz:-.1,lz:.6,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],foundationId:"46TKaVq8pvU97fq25w6FtQ",cz:-.1,id:"ji1bstwegM7BG7jKCfjWE9",cx:.4,parentId:"6JeFi4vn6AoV5MBuK71Kj4",cy:0,lx:.1,type:"Window",ly:.3,selected:!1,lz:.6,rotation:[0,0,0],color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{ly:.3,type:"Window",rotation:[0,0,0],cy:.1,foundationId:"46TKaVq8pvU97fq25w6FtQ",lz:.4,parentId:"7N5hq7UW6d1NtoD4SxrS8y",lx:.10526315789473684,cx:-.2631578947368421,selected:!1,color:"#ffffff",showLabel:!1,cz:0,id:"4c1wL2gSvqBAbj5Dt9dzzk",normal:[0,0,1],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Jess",cx:10.850050894558208,cy:-3.696870042392426,cz:.05000000074505806,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"pnZ17fTrUAQjd7ZGBi4LZw",selected:!1,ly:.43,locked:!1},{type:"Flower",name:"Peony",cx:-9.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"r3HRWGLTLtPMP6QPxaP2u9",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-8.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"eB1sPWxNsgKXNP6CKxK1cQ",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:-7.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"pmPLWWXJMx6px3ffjyd7Xf",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-6.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rFPmR6A2xwJwzhvMRvDbF4",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-5.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"3tR1Hnu1k94fCkXYFdPNCZ",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-4.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"ac3W5UphRDEuZMMMxdg9a8",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:-3.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"3j517SjKVEgfCScaEPmkeg",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-2.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"vLUgsZC1zUxAvajPJX9oRy",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-1.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"kb5KssfCiZkY9jQ5M4fg79",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rvgmvqqddGgLnhBVWDH5Yi",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"whxmnRSL5NJSpdaiWxZBom",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:1.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"hcWpyraDuh7HTi6CTV9t8w",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:2.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"k3fvYn4xsoNn35srPUnKcM",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:3.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rZdFV48y6NMFUVbnDpaSyZ",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:4.149896657214,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"codYgSxPq8Vks6hVgvEgs8",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:5.149896657214,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"bTFFYv3CW8yhDsAPYPTsXV",selected:!1,locked:!1},{type:"Flower",name:"Peony",cx:6.613161948592704,cy:-5.354087639245112,cz:.05000000074505895,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"ctEoy8WqpFPS2x5ac3G3Pw",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.10487291138736,cy:2.5283816180907426,cz:.05000000074505895,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"kGH6RHxnnVioxpEWe4i5gm",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.067515389220716,cy:.32414440719892745,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"q26Eg31XYAcejy2Lefy1u6",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.031188982272717,cy:-1.654972787507253,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"5yYM5vzDCoYXugAds8nGWB",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.93283136913118,cy:-.5875588698031677,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"phZdGJBNMcagm1hqvjyqar",selected:!1,locked:!1},{type:"Window",cx:.05263157894736842,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i7D5ks6qD3vrJhaHoUEn98",parentId:"7N5hq7UW6d1NtoD4SxrS8y",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3684210526315789,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xjbyj3NQZe1tdahps4bSB2",parentId:"7N5hq7UW6d1NtoD4SxrS8y",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xARzngwCEN8qLjikbQKjCx",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jdyY9wswVivifuQfer37rz",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8yDD6Xt5pfo9gxGo7Y9zu8",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Foundation",cx:-31.880642024139792,cy:69.55063598010092,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"sksMK7QGTEQXw2XCVdPew4",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:1.9198621771937625,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"sksMK7QGTEQXw2XCVdPew4",foundationId:"sksMK7QGTEQXw2XCVdPew4",id:"sKzCd1CFCMgia2iSa8SUaR",selected:!1,pitchAngle:.3490658503988659},{type:"Foundation",cx:-3.1468540559467755,cy:42.75920411476808,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"pYW51i5Md8LzLgEijwgRsa",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:.8726646259971648,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"pYW51i5Md8LzLgEijwgRsa",foundationId:"pYW51i5Md8LzLgEijwgRsa",id:"s98srs7ePwE5eNskhAt5LB",selected:!1,pitchAngle:.3490658503988659},{type:"Foundation",cx:-55.523183133190386,cy:17.374425429460363,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"vypVDTaH1DmP9JbgEkDrdH",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:.3490658503988659,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"vypVDTaH1DmP9JbgEkDrdH",foundationId:"vypVDTaH1DmP9JbgEkDrdH",id:"jM4kEGJQ8cVJvhsvxgutLP",selected:!0,pitchAngle:.3490658503988659}],f0n=89,h0n={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!0,axes:!1,enableRotate:!0,weatherPanelY:0,cameraPosition:[32.62054043416994,-29.00025228279148,10.654435205994917],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"forestgreen",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[1.1186734562771086,.9968697268356653,8.083309712260911],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!1,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Rural",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:1.3194139635574385,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[22.525010055792105,33.90953838531496,31016628307238075e-21],cameraPosition2D:[22.525010055792105,33.90853800787309,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},navigationView:!1},p0n=!1,g0n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},m0n=1,y0n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},A0n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},w0n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},v0n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},x0n="Unknown",b0n=null,S0n=null,T0n=null,P0n=null,C0n=[],R0n=3,H0n=3,M0n={docid:o0n,time:i0n,timestamp:r0n,userid:a0n,owner:l0n,email:s0n,version:c0n,world:u0n,elements:d0n,sceneRadius:f0n,view:h0n,animate24Hours:p0n,graphState:g0n,evolutionMethod:m0n,solarPanelArrayLayoutParams:y0n,solarPanelArrayLayoutConstraints:A0n,evolutionaryAlgorithmState:w0n,economicsParams:v0n,modelType:x0n,modelAuthor:b0n,modelLabel:S0n,modelDescription:T0n,designProjectType:P0n,notes:C0n,minimumNavigationMoveSpeed:R0n,minimumNavigationTurnSpeed:H0n},I0n="owwsgdXHDbNagWUrRiAo3n",z0n="06/18/2023 07:00 pm",D0n=1687129219076,E0n="QWecNcxhyvP6j6sBN11hBsfZDau1",k0n=null,F0n=null,L0n={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Miami, FL, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:25.7616798,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-80.1917902},W0n=[{ly:21.382516494600992,solarUpdraftTower:{},parentId:"Ground",cx:.12539468533083742,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.14607588848467667,type:"Foundation",solarPowerTower:{},lx:18.404896936058655,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,color:"#cccccc",enableGroupMaster:!0,textureType:"Foundation Texture #2",locked:!1},{type:"Human",name:"Jaye",cx:-2.7072108715724905,cy:5.7390022883526095,cz:.05000000074505806,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.55,locked:!1},{type:"Human",name:"Jess",cx:8.450674550954435,cy:-2.040964169794302,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,locked:!1},{type:"Wall",cx:-3.3726189887257103,cy:8.134829504503935,cz:0,lx:7.649489274590845,ly:.1,lz:6,relativeAngle:2.944169982729981,leftPoint:[.3775108703190573,7.384697795521461,.1],rightPoint:[-7.1227488477704775,8.88496121348641,0],leftJoints:["fH1Eycb1edh4ewg8cSm7F2"],rightJoints:["1fNhHihSFWK4q4YFxM4GxP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jtB2mK47EhRe9haPUXWpqu",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.6275108703190573,cy:7.384697795521461,cz:0,lx:6.5,ly:.1,lz:6,relativeAngle:3.141592653589793,leftPoint:[6.877510870319057,7.384697795521461,.1],rightPoint:[.3775108703190573,7.384697795521461,.1],leftJoints:["o3wqaqdyzHo4XWGr2xqwut"],rightJoints:["jtB2mK47EhRe9haPUXWpqu"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"fH1Eycb1edh4ewg8cSm7F2",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.877510870319057,cy:4.634697795521461,cz:0,lx:5.499999999999999,ly:.1,lz:6,relativeAngle:1.5707963267948966,leftPoint:[6.877510870319057,1.884697795521462,.1],rightPoint:[6.877510870319059,7.384697795521461,.1],leftJoints:["vGUEcuvyBtUte9nHKMMtRK"],rightJoints:["fH1Eycb1edh4ewg8cSm7F2"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"o3wqaqdyzHo4XWGr2xqwut",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.627703166633557,cy:1.884697795521462,cz:0,lx:6.501153732383853,ly:.1,lz:6,relativeAngle:0,leftPoint:[.3775108703190573,1.884697795521462,.1],rightPoint:[6.877895462948057,1.8846977955214619,0],leftJoints:["jREcPkJHS2ha1J5przL31q"],rightJoints:["o3wqaqdyzHo4XWGr2xqwut"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vGUEcuvyBtUte9nHKMMtRK",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-3.3724891296809427,cy:2.884697795521462,cz:0,lx:7.762087348130012,ly:.1,lz:6,relativeAngle:6.022582915432245,leftPoint:[-7.122489129680943,3.884697795521462,.1],rightPoint:[.3775108703190573,1.884697795521462,.1],leftJoints:["1fNhHihSFWK4q4YFxM4GxP"],rightJoints:["vGUEcuvyBtUte9nHKMMtRK"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jREcPkJHS2ha1J5przL31q",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-7.122489129680943,cy:6.384697795521461,cz:0,lx:4.999999999999999,ly:.1,lz:6,relativeAngle:4.71238898038469,leftPoint:[-7.122489129680943,8.884697795521461,.1],rightPoint:[-7.122489129680943,3.884697795521462,.1],leftJoints:["jtB2mK47EhRe9haPUXWpqu"],rightJoints:["jREcPkJHS2ha1J5przL31q"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1fNhHihSFWK4q4YFxM4GxP",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Foundation",cx:4.805913157134036,cy:-3.6653250376384854,cz:.2,lx:4.565495674711998,ly:6.575538224210636,lz:.4,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"krZVQGBw1wVwxak2PssY7v",textureType:"Foundation Texture #5",locked:!1,notBuilding:!0},{type:"Foundation",cx:7.301535582510818,cy:-3.7151297019599916,cz:.25,lx:.5,ly:6.504377225831106,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"iv83XEzdWqY6v8XR5AToXK",color:"#ffffff",locked:!1,notBuilding:!0},{type:"Foundation",cx:2.4329687772478152,cy:-3.7102946606740073,cz:.25,lx:.5,ly:6.504377225831106,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLXoh6MxU5E5Gva8BASQRm",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.862158322186749,cy:-.20866405563399004,cz:.25,lx:5.379502342454104,ly:.5,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hzhocB2hGXGCFSJk2wnktz",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.862690579253708,cy:-7.224281838084487,cz:.25,lx:5.379502342454104,ly:.5,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gHY8UXkMn58xRtZAJVDtN6",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.866917615138179,cy:-7.704867444683629,cz:.15,lx:5.379502342454104,ly:.5,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3HGisFhi9kVGUkmKRBhKms",selected:!1,locked:!1,notBuilding:!0},{type:"Window",cx:-3416070845000482e-32,cy:.1,cz:.29166666666666663,lx:.9230769230769231,ly:.3,lz:.25000000000000006,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vGUEcuvyBtUte9nHKMMtRK",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jrakT4hmGTpA5xVoQK7Sx3",locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-40953643875444483e-21,cy:.3,cz:-.2833333333333333,lx:.9229950157891724,ly:.3,lz:.39999999999999997,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vGUEcuvyBtUte9nHKMMtRK",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"e19pGWtpLkqWbfXdnaZhjy",locked:!1,frame:!0,frameWidth:.1,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1,sillWidth:0},{type:"Window",cx:-.2898704818803739,cy:.1,cz:.29166666666666663,lx:.19324698792024925,ly:.3,lz:.24999999999999992,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sovEYSXhGEu5Ldj2kgneVg",locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2254548192402908,cy:.1,cz:.2916666666666667,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gFuo9DkFa685GcUxuiuYb8",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.2898704818803739,cy:.1,cz:-.2083333333333333,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hhZYVdjTizeYL1gPxKSz9p",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2254548192402908,cy:.1,cz:-.2083333333333333,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"28zX4FcaMGFduU6Aof316p",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.0033765060398756046,cy:.1,cz:.29166666666666663,lx:.793246987920249,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4MrXBjecJdLy1tjgTVbQVw",parentId:"1fNhHihSFWK4q4YFxM4GxP",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.0033765060398756046,cy:.1,cz:-.20833333333333334,lx:.793246987920249,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"paKeNYdxXEhDFWLKsseJA5",parentId:"1fNhHihSFWK4q4YFxM4GxP",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.29468156152921643,cy:.1,cz:.29166666666666663,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1u3AjVrK7HHdWWARHUbKE",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.16292275379321294,cy:.1,cz:.2916666666666667,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"srk5mHASnPgAUpjbT9uftd",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.29468156152921643,cy:.1,cz:-.2083333333333333,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tuZbwGt7CbT6QqTZ4sKjKB",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.16292275379321294,cy:.1,cz:-.2083333333333333,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fVyFjpBszkzEvddzxZF4cN",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2139500417756478,cy:.1,cz:.2916666666666667,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jgsYPqkQbCLB7nSKYoTQz1",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["jtB2mK47EhRe9haPUXWpqu","1fNhHihSFWK4q4YFxM4GxP","jREcPkJHS2ha1J5przL31q","vGUEcuvyBtUte9nHKMMtRK","o3wqaqdyzHo4XWGr2xqwut","fH1Eycb1edh4ewg8cSm7F2"],textureType:"No Roof Texture",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"5PVMZuTRFmTCfk2YbWKwPq",locked:!1,rise:0,ceiling:!1},{type:"Window",cx:.2139500417756478,cy:.1,cz:-.2083333333333333,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iYZGRCyiCoyTmxb2iW91K5",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.24758841976281373,cy:.1,cz:-.2083333333333333,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3hXTrx5RjPnoyDuFRCWL2w",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.24758841976281373,cy:.1,cz:.2916666666666667,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7TekVwAyTBKGDMvDso7KwN",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.22727272727272732,cy:.1,cz:.2916666666666667,lx:.27272727272727276,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ky3TVidbZJNxBmsHW5p4aV",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.22727272727272732,cy:.1,cz:.2916666666666667,lx:.27272727272727276,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6T5fUwPHMtaFTnJUZ9FeNm",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.22727272727272732,cy:.1,cz:-.20833333333333334,lx:.27272727272727276,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uH3BNCdk4hWNuoStiax9Mc",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.22727272727272732,cy:.1,cz:-.20833333333333334,lx:.27272727272727276,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4JcJH5e4rWagE4s7pxc2vr",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Tree",name:"Coconut",cx:-3.5174202973352635,cy:-5.952506495142959,cz:.050000000745058504,lx:3.421252972867562,lz:5.8824455683270385,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"r4PU1mJTsD7Dm4DCSTQbEk",selected:!1,locked:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-4.056727114780923,cy:-6.820925912328164,cz:.05000000074505806,lx:3.421252972867562,lz:3.7067838832176516,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qYjmrdb86SDT3egVhi2Ddg",selected:!1,locked:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-3.058157215251919,cy:-5.348879217798858,cz:.05000000074505806,lx:2.0761240579059335,lz:3.468323603426934,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7qTMbix1j6GoFy9o8Dge8Q",selected:!1,locked:!1},{type:"Tree",name:"Pine",flip:!0,cx:-6.654527859836286,cy:-7.991796862008116,cz:.05000000074505806,lx:2.811171334227782,lz:5.2304806796050185,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hgWXQayK9bDxaZTKFMFyaj",selected:!1,locked:!1},{type:"Tree",name:"Pine",flip:!1,cx:-6.145316897074318,cy:-8.056698018196002,cz:.050000000745058504,lx:2.1110953047223546,lz:3.545986285890324,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5NPZQ3kADKqz5pZRjy2r8m",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:8.102181299831539,cy:4.045842994396765,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"taF3ALjLpVssdzRj5rkAQQ",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-5.879762709897744,cy:1.4043677766482918,cz:.05000000074502964,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"j5yY2k9GT68hDzGzo8g4X5",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-8.163745041032497,cy:5.853168143382562,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wQLFTPCoFnPyshTWJztWv8",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-2.279762709897744,cy:1.4043677766482918,cz:.05000000074502964,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8nf4FW7PRbc5MHE74z6k6X",selected:!1,locked:!1},{type:"Flower",name:"Boxwood",cx:8.755439698619178,cy:-3.801559677962663,cz:.050000000745058504,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Me2yqTX69xpAQdJimGv6J",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-3.7656917519971405,cy:-7.189954744763735,cz:.050000000745057616,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"b8dhYx3mLo55GMwpAMANF4",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-2.9954361886672194,cy:-6.017555062549365,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aD6qe37bZZVXu7NhL9YCyw",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-2.5427971092417136,cy:-4.3436146516258916,cz:.05000000074505717,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6Z7HQYvZ4Ls1JaGM7AfPk1",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-5.573500548190964,cy:-8.097341718681303,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"igiDoKTCbe5rQ5p9LftFTF",selected:!1,locked:!1},{type:"Human",name:"Judd",cx:7.8538131049134385,cy:-5.07106737312789,cz:.05000000074505828,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3PTeJ2nnhnU1658gE9hwVj",selected:!1,locked:!1,ly:.544},{type:"Human",name:"Jeff",cx:1.3294328409358478,cy:.0073529482213468,cz:.1500000059604645,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"3HGisFhi9kVGUkmKRBhKms",id:"vmxzjFWTAjwTqms6QcsEP3",selected:!1,locked:!1,ly:.6},{type:"Human",name:"Jamelia",flip:!0,cx:8.040674150226515,cy:-6.334084712275156,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5Qsgp8Gq1Jr7PUZmxevYZR",selected:!1,locked:!1,ly:.65},{type:"Human",name:"Jennifer",cx:-.9884229521541545,cy:3.585869160830872,cz:.05000000074505806,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"sjU37oco1BJnmRhataWCxf",selected:!1,ly:.45},{type:"Tree",name:"Fan Palm",cx:-3.0053849919153564,cy:-3.8414595688219437,cz:.05000000074505806,lx:3.3292228289929944,lz:4.535630581080736,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"72iSoNbD98zvpFJ2Q1mmkB",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-3.557645718087297,cy:-6.494909623054461,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"fixSsPsLT9YGgQ2atTquS7",selected:!1},{type:"Flower",name:"Hosta",cx:-2.8775394857306047,cy:-4.995547826339774,cz:.05000000074505717,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rGgsLECHRG1JrsuPt4Zkbs",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-2.6007319365603525,cy:-5.483479639543539,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2RrpkK93q9tXhZRqF6FvrT",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-2.14120900487017,cy:-4.690834516460342,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"eXNFmUTqaatU1h8XmR1dnP",selected:!1},{type:"Flower",name:"Hosta",cx:-2.251092230304847,cy:-3.591429672886945,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ro5BfNTKQSaGfLx4eKBnio",selected:!1},{type:"Light",decay:2,distance:6,intensity:8,color:"#009ce0",cx:-.0668233149685919,cy:.05804493333085005,cz:.500000007450585,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hjub9esH6NqUMrKoM4qiEZ",selected:!1},{type:"Light",decay:2,distance:6,intensity:8,color:"#009ce0",cx:.4297365503834882,cy:-.1789222334700641,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6aGXSJXX1kvmEvo5FpXMaw",selected:!1},{type:"Light",decay:2,distance:10,intensity:8,color:"#fe9200",cx:.0692403262735466,cy:.2196827525166444,cz:6.2,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5PVMZuTRFmTCfk2YbWKwPq",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"432pe1oLqRcmTRcAYqgtqG",selected:!1,inside:!0},{type:"Light",decay:2,distance:6,intensity:8,color:"#fe9200",cx:-.17601132104075962,cy:-.3273891737363795,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"iMv2LJEW81uJy7BUGUKL83",selected:!1},{type:"Polygon",cx:-.020412282064186955,cy:-.023334577896438075,cz:0,lx:.4,ly:.4,lz:.4,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.03636363636363637,y:-.08333333333333333},{x:-.1272727272727273,y:-.08333333333333333},{x:-.05454545454545455,y:-.03333333333333333},{x:-.09090909090909093,y:.049999999999999996},{x:0,y:0},{x:.09090909090909093,y:.049999999999999996},{x:.05454545454545455,y:-.03333333333333333},{x:.1272727272727273,y:-.08333333333333333},{x:.03636363636363637,y:-.08333333333333333},{x:0,y:-.16666666666666666}],parentId:"o3wqaqdyzHo4XWGr2xqwut",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:1,id:"bM2XuLbGojMjjtTq6QbXqK",lineColor:"#4d4d4d",noOutline:!1,text:"26",fontSize:.3,fontColor:"gold",fontOutlineWidth:.01,lineWidth:1}],N0n=14,U0n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.7599467981478756,-5.067346033277178,-5027848075881249e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.7599467981478756,-5.067496039946536,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[15.236325505747509,-7.86777235732635,2.457105139993579],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:75.89554049207442,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.6563214275080296,1.8214306688802133,2.457105139993578],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},B0n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},j0n=1,Y0n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},O0n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},_0n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},V0n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},G0n="Unknown",X0n=null,J0n=null,K0n=null,q0n=[],$0n={docid:I0n,time:z0n,timestamp:D0n,userid:E0n,owner:k0n,email:F0n,world:L0n,elements:W0n,sceneRadius:N0n,view:U0n,graphState:B0n,evolutionMethod:j0n,solarPanelArrayLayoutParams:Y0n,solarPanelArrayLayoutConstraints:O0n,evolutionaryAlgorithmState:_0n,economicsParams:V0n,modelType:G0n,modelAuthor:X0n,modelLabel:J0n,modelDescription:K0n,notes:q0n},Q0n="hPTJuLgPgoJuMRXMJ2VDBS",Z0n="06/15/2023 03:10 pm",eun=1686856228122,tun="QWecNcxhyvP6j6sBN11hBsfZDau1",nun=null,oun=null,iun={solarRadiationHeatmapGridCellSize:.5,date:"5/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},run=[{ly:10.473983232081025,solarUpdraftTower:{},parentId:"Ground",cx:-.22738864151314608,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.8212100903152009,type:"Foundation",solarPowerTower:{},lx:13.564552414056891,lz:.08037925094719676,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",ly:.3,rightPoint:[-5.457020109151015,3.478026472724187,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.542979890848985,3.478026472724187,.1],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.5429798908489842,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.478026472724187,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.542979890848985,leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.542979890848985,3.478026472724187,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.807600955038734],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",rightRoofHeight:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{lx:7.5,windows:[],lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"nbw17kYeUHp1aouuScuF3Y",selected:!1,cy:-.27197352727581237,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[.022465454047944533,6.807600955038734],rightPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.3,cx:-5.457020109151015,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{showLabel:!1,cx:.5429798908489842,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,textureType:"Wall Texture Default",cy:-4.021973527275812,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y",leftPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],ly:.3,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{type:"Foundation",ly:9.17890503672627,lz:.06478560897373455,rotation:[0,0,0],cz:.05,cx:-3.0123969578104886,lx:2.997193198016322,parentId:"Ground",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},solarUpdraftTower:{},normal:[0,0,1],cy:-1.5649990896825194,id:"8fpWrU7qVyVgipB7LtABom",hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{showLabel:!1,cz:3.903941909848086,roofId:"7MxSmgNk4kQf8eNqmnwjMJ",lz:5.674455425565713,ly:.3,leftRoofHeight:5.674455425565713,relativeAngle:3.141592653589793,rightRoofHeight:5.674455425565713,leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],lx:2.13057265557637,windows:[],parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],rightJoints:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Wall Texture Default",cx:-.011530025051640469,leftPoint:[1.0537563027365446,1.8025200094198752,0],type:"Wall",rightPoint:[-1.0768163528398256,1.8025200094198752,0],id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.8025200094198752,normal:[0,0,1],selected:!1,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.808247394681429],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9689600797771365,rightUnfilledHeight:3.9689600797771365,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{normal:[0,0,1],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:5.674455425565713,selected:!1,ly:.3,cz:3.5644394786617815,id:"4Q8KDQDxyuamkEtRJU3paR",rotation:[0,0,0],cy:.250986023416642,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],leftPoint:[1.0537563027365446,-1.3005479625865912,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",textureType:"Wall Texture Default",cx:1.053756302736545,showLabel:!1,leftRoofHeight:5.674455425565713,foundationId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:1.5707963267948963,windows:[],rightRoofHeight:5.674455425565713,type:"Wall",parentId:"8fpWrU7qVyVgipB7LtABom",rightPoint:[1.0537563027365453,1.8025200094198752,0],lx:3.1030679720064667,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.020600140222275,rightUnfilledHeight:4.020600140222275,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],parentId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,leftRoofHeight:5.674455425565713,selected:!1,id:"1ATAe6P2KAHKLDSDfpVro9",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],textureType:"Wall Texture Default",cx:-1.0768163528398256,rightPoint:[-1.0768163528398256,-1.3005479625865912,0],lz:5.674455425565713,relativeAngle:-1.5707963267948966,normal:[0,0,1],type:"Wall",cz:3.660138480027889,rotation:[0,0,0],leftPoint:[-1.0768163528398256,1.8025200094198752,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",foundationId:"8fpWrU7qVyVgipB7LtABom",lx:3.1030679720064667,cy:.250986023416642,windows:[],ly:.3,rightRoofHeight:5.674455425565713,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.674455425565713,rightUnfilledHeight:3.92594971520268,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{ly:0,cx:0,type:"Roof",thickness:.1,ridgeLeftPoint:[.022465454047944533,1],textureType:"Roof Texture #1",showLabel:!1,lz:0,normal:[0,0,1],ridgeRightPoint:[-.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,roofType:"Gable",id:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",cz:0,rotation:[0,0,0],lx:0,color:"#666666",rise:2.7886384076788957,ceiling:!0,locked:!0},{rightPoint:[1.0537563027365446,-1.3005479625865912,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",selected:!1,parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],cx:-.011530025051640469,ly:.3,relativeAngle:0,cz:3.535805069111796,rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],leftRoofHeight:5.674455425565713,rightRoofHeight:5.674455425565713,id:"7xigJB2WiCCrREDc2Ja3YN",normal:[0,0,1],leftPoint:[-1.0768163528398256,-1.3005479625865912,0],type:"Wall",cy:-1.3005479625865912,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],lz:5.674455425565713,windows:[],showLabel:!1,textureType:"Wall Texture Default",lx:2.13057265557637,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.808247394681429],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.143662209927734,rightUnfilledHeight:4.143662209927734,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{normal:[0,0,1],rotation:[0,0,0],lz:.08037925094719676,cz:.05,solarPowerTower:{},parentId:"Ground",ly:2.3229214459557985,lx:3.6868215598526417,cx:6.688554173396975,solarUpdraftTower:{},cy:.40327666182062216,solarAbsorberPipe:{},id:"3KgcTmNBqtYJcCny8HxQyQ",type:"Foundation",selected:!1,notBuilding:!0,locked:!0},{id:"5eUwuiBwfGoNEpcHG5kHqK",lx:1.5,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[-.5114783908278628,.8698262658360515,.1],foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",textureType:"Wall Texture #3",cz:0,cx:.23852160917213716,selected:!1,rotation:[0,0,0],windows:[],normal:[0,0,1],ly:.2,lz:7.234132585247709,showLabel:!1,cy:.8698262658360515,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],type:"Wall",relativeAngle:3.141592653589793,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{type:"Wall",leftPoint:[-.5114783908278628,.8698262658360515,.1],rotation:[0,0,0],cy:.1198262658360515,lz:7.234132585247709,textureType:"Wall Texture #3",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",ly:.2,rightJoints:["qQNV4qND1aDjEtJsd6HVio"],lx:1.4999999999999998,parentId:"3KgcTmNBqtYJcCny8HxQyQ",windows:[],selected:!1,leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"],showLabel:!1,id:"hbU2xUbmKEDDXYDMWnjjCc",relativeAngle:4.71238898038469,rightPoint:[-.5114783908278628,-.6301737341639485,.1],normal:[0,0,1],cz:0,cx:-.5114783908278628,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{leftPoint:[-.5114783908278628,-.6301737341639485,.1],cy:-.6301737341639485,rightJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,windows:[],lz:7.234132585247709,selected:!1,rotation:[0,0,0],ly:.2,relativeAngle:0,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",normal:[0,0,1],leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],textureType:"Wall Texture #3",parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,showLabel:!1,cx:.23852160917213716,type:"Wall",id:"qQNV4qND1aDjEtJsd6HVio",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{id:"h8DQWwUSgNc283RWhcM3B1",type:"Wall",relativeAngle:1.5707963267948966,normal:[0,0,1],windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],selected:!1,textureType:"Wall Texture #3",ly:.2,cx:.9885216091721372,lx:1.5,cy:.1198262658360515,rightPoint:[.9885216091721372,.8698262658360515,.1],showLabel:!1,lz:7.234132585247709,rotation:[0,0,0],parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftJoints:["qQNV4qND1aDjEtJsd6HVio"],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",frame:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.1219248971291678,normal:[0,0,1],cx:-.25,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{cx:.25,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#ffffff",cz:-.1219248971291678,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",frame:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.13333333333333333,cx:.3333333333333333,cz:-.09710562859109184,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{ly:.3,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,cz:.5913168857732756,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.13333333333333333,color:"#ffffff",lz:.3942112571821837,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:0,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.09710562859109184,lx:.13333333333333333,color:"#ffffff",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Tree",name:"Pine",cx:11.005948677853029,cy:-1.394052607962342,cz:3552713678800501e-30,lx:6.452035166159083,lz:9.139816695798023,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"t5Aj8tjjpqVaLaB3uEqfR8",selected:!1,locked:!0},{type:"Window",cx:-.25833333333333336,cy:-13376344861350336e-31,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.26666666666666666,cy:-11010413489448665e-30,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.15054541065002525,cy:1.76763937363111,cz:3.903941909848086,lx:7.859980732011655,ly:.1,lz:3.8503419054045027,leftJoints:["qdWCAVU64LNURAh8wmzrJW"],rightJoints:["5SVe8cv2nsyRKR6jszXPqq"],leftPoint:[3.779444955355803,1.76763937363111,.06056023612846141],rightPoint:[-4.08053577665585,1.76763937363111,.06056023612846141],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYz6mrLsdVMWcgpJiTXXtH",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.8503419054045027,rightRoofHeight:3.8503419054045027,selected:!1,studWidth:.1,studColor:"white",opacity:0,wallStructure:"Stud",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.8503419054045027,rightTopPartialHeight:3.8503419054045027,locked:!0},{type:"Wall",cx:3.779444955355803,cy:.10818511446824708,cz:3.5644394786617815,lx:3.3189085183257268,ly:.1,lz:3.442308777851562,leftJoints:["9YsY5P23SDcYcTLJeEGMo8"],rightJoints:["eYz6mrLsdVMWcgpJiTXXtH"],leftPoint:[3.779444955355803,-1.5512691446946167,.06056023612846141],rightPoint:[3.779444955355805,1.76763937363111,.06056023612846141],relativeAngle:1.570796326794896,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qdWCAVU64LNURAh8wmzrJW",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.442308777851562,rightRoofHeight:3.8503419054045027,centerRoofHeight:[.5,3.8503419054045027],selected:!1,studWidth:.1,wallStructure:"Stud",opacity:.25,studSpacing:1.6,studColor:"white",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{type:"Wall",cx:-4.08053577665585,cy:.10818511446824708,cz:3.660138480027889,lx:3.3189085183257268,ly:.1,lz:3.442308777851562,leftJoints:["eYz6mrLsdVMWcgpJiTXXtH"],rightJoints:["9YsY5P23SDcYcTLJeEGMo8"],leftPoint:[-4.08053577665585,1.76763937363111,.06056023612846141],rightPoint:[-4.08053577665585,-1.5512691446946167,.06056023612846141],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5SVe8cv2nsyRKR6jszXPqq",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.8503419054045027,rightRoofHeight:3.442308777851562,centerRoofHeight:[-.5,3.8503419054045027],selected:!1,wallStructure:"Stud",opacity:.25,studWidth:.1,studSpacing:1.6,studColor:"white",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{type:"Wall",cx:-.15054541065002525,cy:-1.5512691446946167,cz:3.535805069111796,lx:7.859980732011655,ly:.1,lz:3.442308777851562,leftJoints:["5SVe8cv2nsyRKR6jszXPqq"],rightJoints:["qdWCAVU64LNURAh8wmzrJW"],leftPoint:[-4.08053577665585,-1.5512691446946167,.06056023612846141],rightPoint:[3.779444955355803,-1.5512691446946167,.06056023612846141],relativeAngle:0,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9YsY5P23SDcYcTLJeEGMo8",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.442308777851562,rightRoofHeight:3.442308777851562,selected:!1,studWidth:.1,wallStructure:"Stud",opacity:.25,studColor:"white",studSpacing:2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{id:"9SPVWHTRZMkvFFbvi4Y4dK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofType:"Gable",textureType:"Roof Texture #1",thickness:.1,wallsId:["9YsY5P23SDcYcTLJeEGMo8"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,translucent:!0,rafterSpacing:2,roofStructure:"Rafter",rise:0,ceiling:!1,locked:!0},{type:"Foundation",cx:.4816835699661557,cy:-4.8267180085139945,cz:.05,lx:9.870953390145004,ly:4.194004820393555,lz:.04867786417191091,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"91GS1aZ3DbZBjAVtatsatL",selected:!1,notBuilding:!0,locked:!0},{type:"Door",cx:0,cy:0,cz:-.2,lx:.25,ly:0,lz:.6,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",doorType:"Default",archHeight:1,filled:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"7MxSmgNk4kQf8eNqmnwjMJ",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:1.1337919691157152,ceiling:!1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.46576840681624293,lx:.34364727930476036,ly:.3,lz:.15525613560541424,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"7xigJB2WiCCrREDc2Ja3YN",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"bKSng9YxxhEwLmca6q52t4",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,frameWidth:.06,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.011530025051640469,cy:1.8025200094198752,cz:3.903941909848086,lx:2.13057265557637,ly:.3,lz:5.665479357106698,leftJoints:["gjFo4dGKiFsEAtvgC2uCdo"],rightJoints:["28JZn5ZqftnjWtvDA7sVWD"],leftPoint:[1.0537563027365446,1.8025200094198752,0],rightPoint:[-1.0768163528398256,1.8025200094198752,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3J2f3hD7LiPYocNLAGAHn1",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,centerRoofHeight:[0,6.765479357106699],selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.17087314092728,rightUnfilledHeight:4.17087314092728,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:1.053756302736545,cy:.250986023416642,cz:3.5644394786617815,lx:3.1030679720064667,ly:.3,lz:5.665479357106698,leftJoints:["fWZF78k9YENmcxHia3M4iF"],rightJoints:["3J2f3hD7LiPYocNLAGAHn1"],leftPoint:[1.0537563027365446,-1.3005479625865912,0],rightPoint:[1.0537563027365453,1.8025200094198752,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gjFo4dGKiFsEAtvgC2uCdo",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.2501718067420615,rightUnfilledHeight:5.665479357106698,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:-1.0768163528398256,cy:.250986023416642,cz:3.660138480027889,lx:3.1030679720064667,ly:.3,lz:5.665479357106698,leftJoints:["3J2f3hD7LiPYocNLAGAHn1"],rightJoints:["fWZF78k9YENmcxHia3M4iF"],leftPoint:[-1.0768163528398256,1.8025200094198752,0],rightPoint:[-1.0768163528398256,-1.3005479625865912,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"28JZn5ZqftnjWtvDA7sVWD",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.112382106286621,rightUnfilledHeight:4.112382106286621,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:-.011530025051640469,cy:-1.3005479625865912,cz:3.535805069111796,lx:2.13057265557637,ly:.3,lz:5.665479357106698,leftJoints:["28JZn5ZqftnjWtvDA7sVWD"],rightJoints:["gjFo4dGKiFsEAtvgC2uCdo"],leftPoint:[-1.0768163528398256,-1.3005479625865912,0],rightPoint:[1.0537563027365446,-1.3005479625865912,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fWZF78k9YENmcxHia3M4iF",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,centerRoofHeight:[0,6.765479357106699],selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.243512040075365,rightUnfilledHeight:4.243512040075365,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Window",cx:0,cy:.1,cz:.46576840681624293,lx:.34364727930476036,ly:.3,lz:.15525613560541424,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gAS9MDKRJP4JWvfqrqBKdy",parentId:"fWZF78k9YENmcxHia3M4iF",foundationId:"nu2sn9efF1AHCFrvuV5ULi",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.06,windowType:"Default",archHeight:1,locked:!0},{id:"rEidR5TzysvNG1rgGa79ag",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofType:"Gable",textureType:"Roof Texture #1",thickness:.1,wallsId:["28JZn5ZqftnjWtvDA7sVWD"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:1.1,ceiling:!1,locked:!0},{type:"Foundation",cx:3.6575623433664717,cy:-1.54061534072674,cz:.05,lx:2.997193198016322,ly:9.17890503672627,lz:.06468312864431171,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nu2sn9efF1AHCFrvuV5ULi",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.13333333333333333,ly:0,lz:.624410216345127,textureType:"Door Texture #1",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",doorType:"Default",archHeight:1,filled:!0,locked:!0},{type:"Tree",name:"Apple",cx:-8.870480061609383,cy:-.6721812852789775,cz:0,lx:4.272747980812545,lz:4.234704800641296,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"oGL2siNwwXoicUvtQoHfi3",selected:!1,locked:!0},{type:"Human",name:"Jamelia",cx:.5077215094390786,cy:-5.182357959116953,cz:0,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"havSSZEB6mAoQ1s57LQVxN",selected:!1,ly:.65,locked:!0},{type:"Human",name:"Jack",cx:-7.974613533200657,cy:-4.521571410086505,cz:8881784197001252e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.42,locked:!0},{type:"Flower",name:"Hosta",cx:-6.306441231413446,cy:-4.762303364786677,cz:4440892098500626e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1cAkMnRPZL6fG1dhWuUn14",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:6.169203623475488,cy:-5.72637309429814,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"htN99q9wA5PLZNcJh1UgLF",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-5.061905234310647,cy:-5.806918097592128,cz:-17763568394002505e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"j1Fmf7QNoHATgNqGSJnptk",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:5.621277500928149,cy:-6.190060319204097,cz:-8881784197001252e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"b8aTi9NKLHSRuN9DAY2Dvd",selected:!1,locked:!0},{type:"Flower",name:"Tall Bush",cx:5.615846305114406,cy:-5.453095801875909,cz:.040189623832702644,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"84bbtLrAVMTpW8zhkv6ac6",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:6.558445661570947,cy:-5.148346193790616,cz:0,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7PKC5BECKBBX3d4Za7d4Du",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:-5.407028367581802,cy:-5.549301025270703,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"s9wwdrqZHX68urRnmZ9bDp",selected:!1,locked:!0},{type:"Flower",name:"Tall Bush",cx:-4.834800784349908,cy:-4.621520750635222,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vKDYbBm1LFSeCRbRGxpJzR",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-5.746710484862029,cy:-5.268820363710504,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qrfLBQvCQkPzUhnUEFDgC1",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:5.955104289170869,cy:-5.9761317798049545,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"daEJUZv3vgUrqorbyNtAdL",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:6.380681139084028,cy:-5.4372416572511035,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"oCHH6YeZ2ebkct1XeVw26T",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:-6.0720221613270775,cy:-5.14772584317228,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"kAuo84ejkCrSVu9PCaPugg",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:1.6210802629879084,cy:-8.23340133659074,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kmbR9RJMfaDSwNReuSKCjQ",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:3.611880585955519,cy:-8.204961331976918,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"8bs3duj4DEPj8B5fQB6m61",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-.5688000922764606,cy:-8.261841341204562,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"xiFfAWcKYuiBh744RUaZyc",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-2.844000461382297,cy:-8.261841341204562,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"wV1JQBxQxSUBFz9dC7xrav",selected:!1,locked:!0},{type:"Tree",name:"Pine",cx:11.504343484441804,cy:-.763939147024864,cz:0,lx:5.1791034594942555,lz:5.428693136268209,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"iVXpvVvo7CVsBLdZiLcmV8",selected:!1,flip:!0,locked:!0},{type:"Tree",name:"Pine",cx:14.030494530217624,cy:.04081963902747532,cz:0,lx:4.05233280460769,lz:7.181542362302404,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wTP4kg9xyU48nnBEmn3ppV",selected:!1,locked:!0},{type:"Foundation",cx:.30925292274615623,cy:-1.2101326772862784,cz:.05,lx:6.745176508169567,ly:8.157824691427903,lz:.0627727643414778,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j26S3yBrW81Hpmua4v9rbN",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{type:"Wall",cx:.0036303018672041443,cy:1.418731310908802,cz:3.903941909848086,lx:6.727305402522589,ly:.3,lz:6.620718306713466,leftJoints:["9SCrAqQSk4xVacCdSJE3pn"],rightJoints:["8Vadn4BSVDAC5WjSkKfgzz"],leftPoint:[3.367283003128499,1.418731310908802,0],rightPoint:[-3.3600223993940905,1.418731310908802,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5AKBX2BV6amQvk312dBM8B",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:6.620718306713466,rightRoofHeight:6.620718306713466,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.324926656434854,rightUnfilledHeight:4.324926656434854,leftTopPartialHeight:6.620718306713466,rightTopPartialHeight:6.620718306713466,locked:!0},{type:"Wall",cx:3.3672830031285006,cy:-.062237916432278606,cz:3.5644394786617815,lx:2.961938454682161,ly:.3,lz:5.64147421981503,leftJoints:["dTWEdcfdTXFV5sEPVRd8z5"],rightJoints:["5AKBX2BV6amQvk312dBM8B"],leftPoint:[3.367283003128499,-1.5432071437733592,0],rightPoint:[3.367283003128503,1.418731310908802,0],relativeAngle:1.5707963267948952,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9SCrAqQSk4xVacCdSJE3pn",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:5.64147421981503,rightRoofHeight:6.620718306713466,centerRoofHeight:[.5,6.620718306713466],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.092459386252685,rightUnfilledHeight:4.092459386252685,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Wall",cx:-3.3600223993940905,cy:-.062237916432278606,cz:3.660138480027889,lx:2.961938454682161,ly:.3,lz:5.64147421981503,leftJoints:["5AKBX2BV6amQvk312dBM8B"],rightJoints:["dTWEdcfdTXFV5sEPVRd8z5"],leftPoint:[-3.3600223993940905,1.418731310908802,0],rightPoint:[-3.3600223993940905,-1.5432071437733592,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8Vadn4BSVDAC5WjSkKfgzz",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:6.620718306713466,rightRoofHeight:5.64147421981503,centerRoofHeight:[-.5,6.620718306713466],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9233710526843555,rightUnfilledHeight:3.9233710526843555,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Wall",cx:.0036303018672041443,cy:-1.5432071437733592,cz:3.535805069111796,lx:6.727305402522589,ly:.3,lz:5.64147421981503,leftJoints:["8Vadn4BSVDAC5WjSkKfgzz"],rightJoints:["9SCrAqQSk4xVacCdSJE3pn"],leftPoint:[-3.3600223993940905,-1.5432071437733592,0],rightPoint:[3.367283003128499,-1.5432071437733592,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dTWEdcfdTXFV5sEPVRd8z5",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:5.64147421981503,rightRoofHeight:5.64147421981503,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.163695339993486,rightUnfilledHeight:4.163695339993486,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["dTWEdcfdTXFV5sEPVRd8z5"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"vKXQiCBzbfpPSTJ27J8jBB",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.40953276837441766,lx:.44594377993825984,ly:.3,lz:.14548273694573843,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"r1RG4byiDKweDnNzMe6Uqt",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.31833333333333336,cy:.1,cz:-.12239672405306627,lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nkKGWu3sRWjy8kWKFV8wES",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.30833333333333335,cy:.1,cz:-.09751468078404088,lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e4784e1QWCibptuMbZE3Fb",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4506499123046388,cy:-2.253829215918892,cz:5.495676945306635,lx:6.517117804983129,ly:.1,lz:3.1452722458300313,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"miUkiQAMUrUH9VdizU1QHd",locked:!0},{type:"Window",cx:-.040529886594876885,cy:.3,cz:.36293328834815236,lx:.6611308564654793,ly:.3,lz:.23883190909923116,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"28JZn5ZqftnjWtvDA7sVWD",parentType:"Wall",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"xq6zsNgL6KPAX41MXZ3EbC",locked:!0},{type:"Window",cx:.02441680094832896,cy:.3,cz:.35427189383741103,lx:.6933570277585752,ly:.3,lz:.2562105393925967,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"4Q8KDQDxyuamkEtRJU3paR",parentType:"Wall",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"qcnFPvRmcmP1h3bepT45qh",locked:!0},{type:"Window",cx:4.296638448514275,cy:-2.708258875969741,cz:5.141848441701093,lx:.8645085564531798,ly:.1,lz:1.937214690596396,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"cMbDioVwT4kfspCSxauDDf",polygonTop:[-.5,1.125032012484936],locked:!0},{type:"Window",cx:-3.3098661063241783,cy:-2.738630134883686,cz:5.118200739891894,lx:.6049071605861784,ly:.1,lz:2.2332848397709752,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vbnhFbrJ9782uVqEAWSbqW",polygonTop:[.5,.9018556681153167],locked:!0},{type:"Window",cx:1.0937607455840728,cy:.6467227885963354,cz:5.73187840674332,lx:2.4176106129913375,ly:.1,lz:.16460115006383247,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8165400713416964,0,1.5707963267948963],parentId:"7MxSmgNk4kQf8eNqmnwjMJ",parentType:"Roof",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"wCFZjtmrD2b8mTn1f1qano",polygonTop:[.5,1.0560439311761334],locked:!0},{type:"Window",cx:-1.0462741509941371,cy:1.4199114403224693,cz:5.8069617126253155,lx:.9242462576351369,ly:.1,lz:.1721360167476046,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8165400713416961,0,4.71238898038469],parentId:"7MxSmgNk4kQf8eNqmnwjMJ",parentType:"Roof",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"kdtAstd8jE9ACZ3TfHUAZb",polygonTop:[-.5,.99155281262393],locked:!0},{type:"Window",cx:-1.1170172726431056,cy:.5138568052522039,cz:5.723968440623406,lx:2.596092763357134,ly:.1,lz:.082389128100567,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8014286985579611,0,4.71238898038469],parentId:"rEidR5TzysvNG1rgGa79ag",parentType:"Roof",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"7Y1EoQrhcqZsSLDF4LmMiA",polygonTop:[-.5,1.2214855671184548],locked:!0},{type:"Window",cx:1.0534033913747818,cy:1.2212640151421539,cz:5.765843768521558,lx:1.130053534424075,ly:.1,lz:.020226846288053643,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8014286985579612,0,1.5707963267948963],parentId:"rEidR5TzysvNG1rgGa79ag",parentType:"Roof",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"x4QzPw1xK8z1dYWnRSPfDD",polygonTop:[.5,1.214791037762756],locked:!0},{type:"Window",cx:.428377511975304,cy:.3,cz:.36902546903156846,lx:.11351539072017484,ly:.3,lz:.22649733563143687,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",parentType:"Wall",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"rGAmTgsinEVfLmLsgxtKCo",locked:!0},{type:"Window",cx:-.428377511975304,cy:.3,cz:.3671875531695516,lx:.11351539072017484,ly:.3,lz:.2228215039074031,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",parentType:"Wall",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"tcZghwrXjxrMrPYG8qWmMK",locked:!0},{type:"Window",cx:-2.887838483851968,cy:-1.5429231830507752,cz:5.741568099840816,lx:1.1156980571027848,ly:.1,lz:.006652456667148232,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3192968291527907,0,0],parentId:"vKXQiCBzbfpPSTJ27J8jBB",parentType:"Roof",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"iAta14nH255gL4E1skBYr2",polygonTop:[-.5,3.135049288439095],locked:!0},{type:"Window",cx:2.9643296778973105,cy:-1.5489835426240144,cz:5.739564489243441,lx:.977937957633503,ly:.1,lz:.09523764867628905,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3192968291527907,0,0],parentId:"vKXQiCBzbfpPSTJ27J8jBB",parentType:"Roof",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"p89tc6ji5qG8UFCeVeXzs6",polygonTop:[.5,3.0552575653113068],locked:!0}],aun=20,lun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.94522901824079,-1.0741381728239148,-107590488899985e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.94522901824079,-1.075138550271241,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-4.574738869546006,-17.12597647560641,2.6902980037557214],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.44146361606706,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.8575132784294428,-.32342939215259475,2.6902980037557214],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},sun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},cun=1,uun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},dun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},fun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},hun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},pun="Unknown",gun=null,mun=null,yun=null,Aun=[],wun={docid:Q0n,time:Z0n,timestamp:eun,userid:tun,owner:nun,email:oun,world:iun,elements:run,sceneRadius:aun,view:lun,graphState:sun,evolutionMethod:cun,solarPanelArrayLayoutParams:uun,solarPanelArrayLayoutConstraints:dun,evolutionaryAlgorithmState:fun,economicsParams:hun,modelType:pun,modelAuthor:gun,modelLabel:mun,modelDescription:yun,notes:Aun},vun="tn5NXrCgVkn7A5sexifmrP",xun="02/04/2023 01:00 pm",bun=1675533609468,Sun="QWecNcxhyvP6j6sBN11hBsfZDau1",Tun=null,Pun=null,Cun={solarRadiationHeatmapGridCellSize:1,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"M4J3+GMR, Rue de La Kasbah, Kairouan, Tunisia",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.6813583,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:10.1041467},Run=[{type:"Wall",cx:-1.5357911804424789,cy:-8.147946678658776,cz:2.268765007024547,lx:41.99999999999999,ly:.5,lz:10,leftJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],rightJoints:["m87y7C5QvZwH9XgiqzyDsg"],leftPoint:[-22.535791180442477,-8.147946678658771,.25],rightPoint:[19.464208819557516,-8.147946678658784,.25],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"q6GhCTYocV8Du6Z7WCqnGz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Foundation",cx:1.290269817272435,cy:-3.5970579374045144,cz:.125,lx:65.10485687395563,ly:44.85538565072669,lz:.25,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,color:"#999999"},{type:"Wall",cx:19.46420881955751,cy:2.1020533213412156,cz:0,lx:20.5,ly:.5,lz:10,relativeAngle:1.5707963267948966,leftPoint:[19.464208819557516,-8.147946678658784,.25],rightPoint:[19.46420881955751,12.352053321341215,.25],leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["3u1tb8n3XMJZXYU3udLNqv"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"m87y7C5QvZwH9XgiqzyDsg",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.5357911804424824,cy:12.352053321341218,cz:0,lx:42,ly:.5,lz:10,relativeAngle:3.141592653589793,leftPoint:[19.464208819557516,12.352053321341216,.25],rightPoint:[-22.535791180442484,12.35205332134122,.25],leftJoints:["m87y7C5QvZwH9XgiqzyDsg"],rightJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3u1tb8n3XMJZXYU3udLNqv",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-22.535791180442498,cy:2.1020533213412165,cz:0,lx:20.500000000000007,ly:.5,lz:10,relativeAngle:4.712388980384689,leftPoint:[-22.535791180442484,12.35205332134122,.25],rightPoint:[-22.535791180442505,-8.147946678658787,.25],leftJoints:["3u1tb8n3XMJZXYU3udLNqv"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"pV4i6Rv9Vpys7aXEi9nnh4",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Human",name:"Jaah",cx:-20.815616879711254,cy:-18.576078606733773,cz:.125,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"oS4Uf1aJoiB2V9pQqWTsVG",selected:!1,ly:.74},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.5,roofType:"Pyramid",roofStructure:"Default",wallsId:["3u1tb8n3XMJZXYU3udLNqv","pV4i6Rv9Vpys7aXEi9nnh4","tKvexMf8zrvPgydcZb5VYA","m87y7C5QvZwH9XgiqzyDsg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"q6GhCTYocV8Du6Z7WCqnGz",sideColor:"#ffffff",rise:0,ceiling:!1},{type:"Door",cx:-.4107142857142858,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,doorType:"Arched",archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"jXmzH2ciK425Fb6dH2EkVp",filled:!1},{type:"Door",cx:-.3214285714285715,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"3Ypjy6UAE7xHgadjTDfe2a",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.2321428571428572,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"mMiEmbz3vkGVE8tUbXxgNQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.1428571428571429,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"tPuRheQMuGYu1gmyqi6c4s",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.0535714285714286,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"qCzzF9bXjrUUQcTszp1SPS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.0357142857142857,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"r6qnpYnu8yvZzEEeE2fqps",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.125,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bYotwM3kh8YucfABgu8Eot",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.2142857142857143,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bH3GWXsdZcQF9JUubCPadp",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.3035714285714286,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"hgaMdHTtMAFGSJgPw6fbgW",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.3928571428571429,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"tcvaKKEqJwZ2KN8UScxvAs",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Wall",cx:-2.0348646464512568,cy:-10.275504500010312,cz:2.268765007024547,lx:38.88254641036014,ly:.5,lz:16,leftJoints:["iC5vVUbJMtmDkNzYUxBZPA"],rightJoints:["mM4PcE69DPCUHMXtdYUR1q"],leftPoint:[-21.47613785163133,-10.275504500010307,.1],rightPoint:[17.406408558728813,-10.275504500010317,.1],relativeAngle:-2741111892188643e-31,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tHwdHqDmQXFhmVBYpGMk1M",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",cx:17.406408558728813,cy:-1.3101914721012853,cz:0,lx:17.930626055818067,ly:.5,lz:16,leftJoints:["tHwdHqDmQXFhmVBYpGMk1M"],rightJoints:[],leftPoint:[17.406408558728813,-10.275504500010317,.1],rightPoint:[17.406408558728806,7.655121555807748,.1],relativeAngle:1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM4PcE69DPCUHMXtdYUR1q",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",cx:-21.476137851631343,cy:-1.310191472101287,cz:0,lx:17.930626055818067,ly:.5,lz:16,leftJoints:[],rightJoints:["tHwdHqDmQXFhmVBYpGMk1M"],leftPoint:[-21.476137851631336,7.655121555807748,.1],rightPoint:[-21.47613785163135,-10.275504500010321,.1],relativeAngle:-1.5707963267948977,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iC5vVUbJMtmDkNzYUxBZPA",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{id:"wyopmFLrEU8Q6F3Eo2E8qH",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.5,wallsId:["iC5vVUbJMtmDkNzYUxBZPA","tHwdHqDmQXFhmVBYpGMk1M","mM4PcE69DPCUHMXtdYUR1q"],selected:!1,sideColor:"#ffffff",rise:0,ceiling:!1},{type:"Foundation",cx:1.7183157358311596,cy:-.28833946443478364,cz:.05,lx:53.43283132966065,ly:36.15762103719206,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hNbyNzvcTVK1vEJxa83hcL",selected:!1,color:"#999999"},{type:"Window",cx:-.4346423153885066,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tq5v5MiQZt5qstbgFWnvG5",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.32662469854639264,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tnAiVDN8QFPpM8tgevRmcN",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.21860708170427864,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3nMYyTwN3Em3zi1cHJC4sf",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.1105894648621647,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cCAyiJ9wpmzcPpyPdhfiCf",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.0025718480200507404,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eez2P3itr5bZkDqccZV8JD",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.10544576882206322,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kUi59wGAijZzpxe2ea5yGk",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.21346338566417716,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5BkQRXptjCjpMLBbuit7LG",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.32148100250629114,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wW8MUuXM3xqHEL2sbQVtzB",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.42949861934840516,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ccgRRcvFN2ruATRvwGX84y",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.39880952380952384,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"i5fduT9idUyGfEykeAwxhP",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.30952380952380953,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"fRizbSvKJ8g4Q7BkTDodnJ",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.22023809523809523,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"e1sFSDmTNZ4sZ9Y1VTweWG",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.13095238095238093,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"4JvvxD5ReU3HCb3rrCJfqu",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.04166666666666664,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"rxe4vXzmMs9ks1UPKMsMHJ",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.047619047619047644,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"qM4GDTxt6ZN2Tk8zN9epmX",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.13690476190476195,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"gWzssvMidARJ4cQ7NE4iEX",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.22619047619047625,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"wVBpJ6rUX7jujyXvbCDuGG",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.3154761904761905,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"rywUBEaEaD2kzBC78kTd66",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.4047619047619048,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"4sh9rckArBRiLDTvRhk9XE",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:0,cy:0,cz:-.21875,lx:.951583767418624,ly:0,lz:.5625,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",id:"4yyor28faKUByr4PZBcCtd"},{type:"Wall",cx:-2.0348646464512603,cy:7.655121555807748,cz:0,lx:38.88254641036015,ly:.5,lz:16,leftJoints:["mM4PcE69DPCUHMXtdYUR1q"],rightJoints:["iC5vVUbJMtmDkNzYUxBZPA"],leftPoint:[17.406408558728813,7.655121555807748,.1],rightPoint:[-21.476137851631336,7.655121555807748,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2mZ55xAX1KuR3Q2dngP1w",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Window",cx:-.43652041374223555,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u5zqDbkaAjTXDXvkwuoihC",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3285027969001216,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kKyDa7cDgjAnQgNANR1HWe",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.22048518005800757,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nw4CtWvmwcVC5Xe1THkFLF",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.11246756321589363,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x6kokyu7Qezd9q5C3o2tsm",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.00444994637377967,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fnjqZxGUX54z9mXbXLiiRE",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.10356767046833429,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tdwDQUv17oBgAFyg3P4xM6",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.21158528731044823,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hUp1krohSEg7azNVaFn5Vi",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3196029041525622,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rnUJCj9zp9Q9MtSBUyxpSr",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.42762052099467623,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bDgdCWe9fUHArD8KxnxhgG",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.006429620050125837,cy:0,cz:-.21875,lx:.9387245273183722,ly:0,lz:.5625,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",id:"mwADv6B5ue7JfsfTJPh6bK"},{type:"Foundation",cx:27.211897808892417,cy:-2.277125937112275,cz:.1,lx:7.862239275491355,ly:8.18645532809304,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jo2xWjh3Cc1HQacSqq3RwZ",enableGroupMaster:!0},{type:"Wall",cx:-.20148632007026634,cy:1.8550497672374595,cz:0,lx:1.6851851851851931,ly:.3,lz:30,relativeAngle:3.1415926535897927,leftPoint:[.6411062725223289,1.8550497672374595],rightPoint:[-1.0440789126628616,1.85504976723746],leftJoints:["npFbHBHE2K2JqNLhKJ6X3t"],rightJoints:["cJ3MHxSdHF6NBdtBsFYUrC"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"63M4Ay9XbnqNvAk8QywH63",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:1.4489577998324776,cz:0,lx:1.19683109271183,ly:.3,lz:30,relativeAngle:-2.3957214089984347,leftPoint:[-1.0440789126628616,1.85504976723746],rightPoint:[-1.9231476929743891,1.0428658324274953],leftJoints:["63M4Ay9XbnqNvAk8QywH63"],rightJoints:["pkGthR3DucyAx4LwcC1Kdd"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"cJ3MHxSdHF6NBdtBsFYUrC",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.9231476929743891,cy:.20030911625962777,cz:0,lx:1.685113432335735,ly:.3,lz:30,relativeAngle:-1.5707963267948966,leftPoint:[-1.9231476929743891,1.0428658324274953],rightPoint:[-1.9231476929743891,-.6422475999082398],leftJoints:["cJ3MHxSdHF6NBdtBsFYUrC"],rightJoints:["myGwrCaTTUQ5A7LpQkLGdD"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"pkGthR3DucyAx4LwcC1Kdd",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:-1.0787123486711252,cz:0,lx:1.2388574688675817,ly:.3,lz:30,relativeAngle:-.7818940174543654,leftPoint:[-1.9231476929743891,-.6422475999082398],rightPoint:[-1.0440789126628616,-1.5151770974340102],leftJoints:["pkGthR3DucyAx4LwcC1Kdd"],rightJoints:["167KXvNm8cDcHPx8xW946K"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"myGwrCaTTUQ5A7LpQkLGdD",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.20148632007026634,cy:-1.5151770974340102,cz:0,lx:1.6851851851851931,ly:.3,lz:30,relativeAngle:0,leftPoint:[-1.0440789126628616,-1.5151770974340102],rightPoint:[.6411062725223289,-1.5151770974340102],leftJoints:["myGwrCaTTUQ5A7LpQkLGdD"],rightJoints:["4N88hDYexmoMCfgkuoD5Rh"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"167KXvNm8cDcHPx8xW946K",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0624025688186265,cy:1.433771409153526,cz:0,lx:1.1915805038063918,ly:.3,lz:30,relativeAngle:2.356215779952568,leftPoint:[1.483698865114924,1.0124930510695922],rightPoint:[.6411062725223289,1.85504976723746],leftJoints:["2Ew2MEjMkmHhJiQ9oqAGU2"],rightJoints:["63M4Ay9XbnqNvAk8QywH63"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"npFbHBHE2K2JqNLhKJ6X3t",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.483698865114924,cy:.16993633490172466,cz:0,lx:1.6851134323357353,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[1.483698865114924,-.6726203812661429],rightPoint:[1.483698865114924,1.0124930510695922],leftJoints:["4N88hDYexmoMCfgkuoD5Rh"],rightJoints:["npFbHBHE2K2JqNLhKJ6X3t"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"2Ew2MEjMkmHhJiQ9oqAGU2",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0626642442323444,cy:-1.0937037083639525,cz:0,lx:1.192226389921747,ly:.3,lz:30,relativeAngle:.7852978318515466,leftPoint:[.6411062725223289,-1.5151770974340102],rightPoint:[1.4842222159423528,-.6722303192938943],leftJoints:["167KXvNm8cDcHPx8xW946K"],rightJoints:["2Ew2MEjMkmHhJiQ9oqAGU2"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"4N88hDYexmoMCfgkuoD5Rh",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.7345405315369007,cy:2.2012354524785778,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["oNTQ9kGJLR6NE6X37waKe5"],rightJoints:["p8peNzDRqcaFDtvEdTohPZ"],leftPoint:[.10805206105569454,2.2012354524785778,.1],rightPoint:[-1.577133124129496,2.201235452478578,.1],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adnnHLPEXD64e7HP26zx36",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:1.795143485073596,cz:0,lx:1.19683109271183,ly:.3,lz:20,leftJoints:["adnnHLPEXD64e7HP26zx36"],rightJoints:["pvG7hHR36xfJmEyp1eS9YY"],leftPoint:[-1.577133124129496,2.201235452478578,.1],rightPoint:[-2.4562019044410235,1.3890515176686136,.1],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p8peNzDRqcaFDtvEdTohPZ",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.4562019044410235,cy:.546494801500746,cz:0,lx:1.685113432335735,ly:.3,lz:20,leftJoints:["p8peNzDRqcaFDtvEdTohPZ"],rightJoints:["ewYXhBGEZue5LMkkkDNb2N"],leftPoint:[-2.4562019044410235,1.3890515176686136,.1],rightPoint:[-2.4562019044410235,-.2960619146671215,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pvG7hHR36xfJmEyp1eS9YY",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:-.7325266634300069,cz:0,lx:1.2388574688675817,ly:.3,lz:20,leftJoints:["pvG7hHR36xfJmEyp1eS9YY"],rightJoints:["5TCNcDuH6LTN7MuR8NFXaf"],leftPoint:[-2.4562019044410235,-.2960619146671215,.1],rightPoint:[-1.577133124129496,-1.1689914121928924,.1],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ewYXhBGEZue5LMkkkDNb2N",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.7345405315369007,cy:-1.1689914121928924,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["ewYXhBGEZue5LMkkkDNb2N"],rightJoints:["jF6FEFY4L9ZBSgjp7949eF"],leftPoint:[-1.577133124129496,-1.1689914121928924,.1],rightPoint:[.10805206105569454,-1.1689914121928924,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5TCNcDuH6LTN7MuR8NFXaf",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5293483573519921,cy:1.7799570943946443,cz:0,lx:1.1915805038063918,ly:.3,lz:20,leftJoints:["b3SjNidDoApoDQgAZjBhRR"],rightJoints:["adnnHLPEXD64e7HP26zx36"],leftPoint:[.9506446536482898,1.3586787363107105,.1],rightPoint:[.10805206105569454,2.201235452478578,.1],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oNTQ9kGJLR6NE6X37waKe5",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.9506446536482898,cy:.5161220201428429,cz:0,lx:1.6851134323357353,ly:.3,lz:20,leftJoints:["jF6FEFY4L9ZBSgjp7949eF"],rightJoints:["oNTQ9kGJLR6NE6X37waKe5"],leftPoint:[.9506446536482898,-.3264346960250246,.1],rightPoint:[.9506446536482898,1.3586787363107105,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"b3SjNidDoApoDQgAZjBhRR",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5296100327657101,cy:-.7475180231228342,cz:0,lx:1.192226389921747,ly:.3,lz:20,leftJoints:["5TCNcDuH6LTN7MuR8NFXaf"],rightJoints:["b3SjNidDoApoDQgAZjBhRR"],leftPoint:[.10805206105569454,-1.1689914121928924,.1],rightPoint:[.9511680044757185,-.32604463405277606,.1],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jF6FEFY4L9ZBSgjp7949eF",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Foundation",cx:27.7105671464116,cy:-2.6420189029493315,cz:.05,lx:4.989784328698819,ly:4.552797399247233,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"idmo7S3eXBpD6VWYDG7diy",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["4N88hDYexmoMCfgkuoD5Rh","2Ew2MEjMkmHhJiQ9oqAGU2","npFbHBHE2K2JqNLhKJ6X3t","63M4Ay9XbnqNvAk8QywH63","cJ3MHxSdHF6NBdtBsFYUrC","pkGthR3DucyAx4LwcC1Kdd","myGwrCaTTUQ5A7LpQkLGdD","167KXvNm8cDcHPx8xW946K"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"ask5m4JZ2uoEk2cEnnLbsK",rise:0,ceiling:!1},{type:"Wall",cx:-.6463414312406925,cy:1.7491373104519843,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["p9FmVKK28qciXfgD3M1K6V"],rightJoints:["nApCmMqRMThE5A5HdfM3dh"],leftPoint:[.06592873842799918,1.7491373104519834,.1],rightPoint:[-1.3586116009093843,1.7491373104519843,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fRXGTknc5ZYRa28V8BWwuh",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:1.4187885996411662,cz:0,lx:.9943468188665976,ly:.3,lz:40,leftJoints:["fRXGTknc5ZYRa28V8BWwuh"],rightJoints:["4KAheoavQjSxkpwUJhTcg7"],leftPoint:[-1.3586116009093843,1.7491373104519843,.1],rightPoint:[-2.1017162457963963,1.0884398888303481,.1],relativeAngle:-2.4148300779771343,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nApCmMqRMThE5A5HdfM3dh",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-2.1017162457963963,cy:.4030347409529105,cz:0,lx:1.370810295754875,ly:.3,lz:40,leftJoints:["nApCmMqRMThE5A5HdfM3dh"],rightJoints:["6UtLwWPfxSz1Nn8LJyUZiD"],leftPoint:[-2.1017162457963963,1.0884398888303481,.1],rightPoint:[-2.1017162457963963,-.2823704069245272,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4KAheoavQjSxkpwUJhTcg7",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:-.6374268439911468,cz:0,lx:1.0278447388893002,ly:.3,lz:40,leftJoints:["4KAheoavQjSxkpwUJhTcg7"],rightJoints:["ppMSBZRCq12eT8z3NB6hMS"],leftPoint:[-2.1017162457963963,-.2823704069245272,.1],rightPoint:[-1.3586116009093843,-.9924832810577664,.1],relativeAngle:-.7626994937110066,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6UtLwWPfxSz1Nn8LJyUZiD",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-.6463414312406925,cy:-.9924832810577664,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["6UtLwWPfxSz1Nn8LJyUZiD"],rightJoints:["dQ7dD99j57UBUw5JhK5Ym8"],leftPoint:[-1.3586116009093843,-.9924832810577664,.1],rightPoint:[.06592873842799918,-.9924832810577664,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ppMSBZRCq12eT8z3NB6hMS",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4220638232623486,cy:1.4064347365132654,cz:0,lx:.9884882454216453,ly:.3,lz:40,leftJoints:["iNFasQAxKLM2g211nuNb2z"],rightJoints:["fRXGTknc5ZYRa28V8BWwuh"],leftPoint:[.778198908096698,1.0637321625745466,.1],rightPoint:[.06592873842799918,1.7491373104519843,.1],relativeAngle:2.375413341461377,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9FmVKK28qciXfgD3M1K6V",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.778198908096698,cy:.37832701469710894,cz:0,lx:1.3708102957548751,ly:.3,lz:40,leftJoints:["dQ7dD99j57UBUw5JhK5Ym8"],rightJoints:["p9FmVKK28qciXfgD3M1K6V"],leftPoint:[.778198908096698,-.3070781331803287,.1],rightPoint:[.778198908096698,1.0637321625745466,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iNFasQAxKLM2g211nuNb2z",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4222850257663353,cy:-.6496220528239478,cz:0,lx:.9890270478638401,ly:.3,lz:40,leftJoints:["ppMSBZRCq12eT8z3NB6hMS"],rightJoints:["iNFasQAxKLM2g211nuNb2z"],leftPoint:[.06592873842799918,-.9924832810577664,.1],rightPoint:[.7786413131046714,-.3067608245901292,.1],relativeAngle:.7661003289655364,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dQ7dD99j57UBUw5JhK5Ym8",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Foundation",cx:27.6576948812141,cy:-2.506928881033054,cz:.05,lx:4.268844692534827,ly:3.6205625940120694,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nSuM9UkMkLHBgCAuUp64m1",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["p9FmVKK28qciXfgD3M1K6V","fRXGTknc5ZYRa28V8BWwuh","nApCmMqRMThE5A5HdfM3dh","4KAheoavQjSxkpwUJhTcg7","6UtLwWPfxSz1Nn8LJyUZiD","ppMSBZRCq12eT8z3NB6hMS","dQ7dD99j57UBUw5JhK5Ym8","iNFasQAxKLM2g211nuNb2z"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",id:"8T3htfZzkyzGKAg9MjWEi4",rise:13.522672727906091,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["b3SjNidDoApoDQgAZjBhRR","oNTQ9kGJLR6NE6X37waKe5","adnnHLPEXD64e7HP26zx36","p8peNzDRqcaFDtvEdTohPZ","pvG7hHR36xfJmEyp1eS9YY","ewYXhBGEZue5LMkkkDNb2N","5TCNcDuH6LTN7MuR8NFXaf","jF6FEFY4L9ZBSgjp7949eF"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",id:"dyG5Lv9BjBabdoCAJRrzex",rise:0,ceiling:!1},{type:"Wall",cx:-.7345405315369007,cy:2.2012354524785778,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["wt8f2UuyWEu5744tfT81tN"],rightJoints:["mUct1Mv8YXbfrstcjehPpa"],leftPoint:[.10805206105569454,2.2012354524785778,.1],rightPoint:[-1.577133124129496,2.201235452478578,.1],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1A1n4avbSRXWKghQMw9QmS",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:1.795143485073596,cz:0,lx:1.19683109271183,ly:.3,lz:20,leftJoints:["1A1n4avbSRXWKghQMw9QmS"],rightJoints:["5WJdP5E99dMPaLFTQ6cg6Q"],leftPoint:[-1.577133124129496,2.201235452478578,.1],rightPoint:[-2.4562019044410235,1.3890515176686136,.1],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mUct1Mv8YXbfrstcjehPpa",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.4562019044410235,cy:.546494801500746,cz:0,lx:1.685113432335735,ly:.3,lz:20,leftJoints:["mUct1Mv8YXbfrstcjehPpa"],rightJoints:["trsYgSjY5YRLrdedvaJSHE"],leftPoint:[-2.4562019044410235,1.3890515176686136,.1],rightPoint:[-2.4562019044410235,-.2960619146671215,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5WJdP5E99dMPaLFTQ6cg6Q",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:-.7325266634300069,cz:0,lx:1.2388574688675817,ly:.3,lz:20,leftJoints:["5WJdP5E99dMPaLFTQ6cg6Q"],rightJoints:["1XHXV2QxJeTydiieFTLRAN"],leftPoint:[-2.4562019044410235,-.2960619146671215,.1],rightPoint:[-1.577133124129496,-1.1689914121928924,.1],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"trsYgSjY5YRLrdedvaJSHE",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.7345405315369007,cy:-1.1689914121928924,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["trsYgSjY5YRLrdedvaJSHE"],rightJoints:["e41wz75u2ryRdJixSo4bbC"],leftPoint:[-1.577133124129496,-1.1689914121928924,.1],rightPoint:[.10805206105569454,-1.1689914121928924,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1XHXV2QxJeTydiieFTLRAN",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5293483573519921,cy:1.7799570943946443,cz:0,lx:1.1915805038063918,ly:.3,lz:20,leftJoints:["rwkRVKiYfYKkrL5fSm48ht"],rightJoints:["1A1n4avbSRXWKghQMw9QmS"],leftPoint:[.9506446536482898,1.3586787363107105,.1],rightPoint:[.10805206105569454,2.201235452478578,.1],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wt8f2UuyWEu5744tfT81tN",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.9506446536482898,cy:.5161220201428429,cz:0,lx:1.6851134323357353,ly:.3,lz:20,leftJoints:["e41wz75u2ryRdJixSo4bbC"],rightJoints:["wt8f2UuyWEu5744tfT81tN"],leftPoint:[.9506446536482898,-.3264346960250246,.1],rightPoint:[.9506446536482898,1.3586787363107105,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rwkRVKiYfYKkrL5fSm48ht",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5296100327657101,cy:-.7475180231228342,cz:0,lx:1.192226389921747,ly:.3,lz:20,leftJoints:["1XHXV2QxJeTydiieFTLRAN"],rightJoints:["rwkRVKiYfYKkrL5fSm48ht"],leftPoint:[.10805206105569454,-1.1689914121928924,.1],rightPoint:[.9511680044757185,-.32604463405277606,.1],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e41wz75u2ryRdJixSo4bbC",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{id:"oxncVFS4dMKc2b6nwpauSP",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["rwkRVKiYfYKkrL5fSm48ht","wt8f2UuyWEu5744tfT81tN","1A1n4avbSRXWKghQMw9QmS","mUct1Mv8YXbfrstcjehPpa","5WJdP5E99dMPaLFTQ6cg6Q","trsYgSjY5YRLrdedvaJSHE","1XHXV2QxJeTydiieFTLRAN","e41wz75u2ryRdJixSo4bbC"],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-26.000122008937623,cy:-2.4456470612698347,cz:.05,lx:4.989784328698819,ly:4.552797399247233,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9CoHzygyKEYpDGTpmZP3qF",selected:!1},{type:"Wall",cx:-.20148632007026634,cy:1.8550497672374595,cz:0,lx:1.6851851851851931,ly:.3,lz:30,leftJoints:["rGMwJ6KNdYyNwmQKhW2Nh4"],rightJoints:["oRNf7bY3AJx3zVpaTdb4zu"],leftPoint:[.6411062725223289,1.8550497672374595],rightPoint:[-1.0440789126628616,1.85504976723746],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9GySPDZNNZvFp6JaddRiDB",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:1.4489577998324776,cz:0,lx:1.19683109271183,ly:.3,lz:30,leftJoints:["9GySPDZNNZvFp6JaddRiDB"],rightJoints:["4nY35MHMDAs2QdKy4qH4ya"],leftPoint:[-1.0440789126628616,1.85504976723746],rightPoint:[-1.9231476929743891,1.0428658324274953],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oRNf7bY3AJx3zVpaTdb4zu",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.9231476929743891,cy:.20030911625962777,cz:0,lx:1.685113432335735,ly:.3,lz:30,leftJoints:["oRNf7bY3AJx3zVpaTdb4zu"],rightJoints:["wYoS3whcRTi53dM2ct7qM2"],leftPoint:[-1.9231476929743891,1.0428658324274953],rightPoint:[-1.9231476929743891,-.6422475999082398],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4nY35MHMDAs2QdKy4qH4ya",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:-1.0787123486711252,cz:0,lx:1.2388574688675817,ly:.3,lz:30,leftJoints:["4nY35MHMDAs2QdKy4qH4ya"],rightJoints:["mCZwmWyb4fsNj2wmYQBvsz"],leftPoint:[-1.9231476929743891,-.6422475999082398],rightPoint:[-1.0440789126628616,-1.5151770974340102],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wYoS3whcRTi53dM2ct7qM2",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.20148632007026634,cy:-1.5151770974340102,cz:0,lx:1.6851851851851931,ly:.3,lz:30,leftJoints:["wYoS3whcRTi53dM2ct7qM2"],rightJoints:["5kERhDJVYnRwidcZHzNwPz"],leftPoint:[-1.0440789126628616,-1.5151770974340102],rightPoint:[.6411062725223289,-1.5151770974340102],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mCZwmWyb4fsNj2wmYQBvsz",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0624025688186265,cy:1.433771409153526,cz:0,lx:1.1915805038063918,ly:.3,lz:30,leftJoints:["6prLNGnRe7BKvuxjsqwhNV"],rightJoints:["9GySPDZNNZvFp6JaddRiDB"],leftPoint:[1.483698865114924,1.0124930510695922],rightPoint:[.6411062725223289,1.85504976723746],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rGMwJ6KNdYyNwmQKhW2Nh4",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.483698865114924,cy:.16993633490172466,cz:0,lx:1.6851134323357353,ly:.3,lz:30,leftJoints:["5kERhDJVYnRwidcZHzNwPz"],rightJoints:["rGMwJ6KNdYyNwmQKhW2Nh4"],leftPoint:[1.483698865114924,-.6726203812661429],rightPoint:[1.483698865114924,1.0124930510695922],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6prLNGnRe7BKvuxjsqwhNV",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0626642442323444,cy:-1.0937037083639525,cz:0,lx:1.192226389921747,ly:.3,lz:30,leftJoints:["mCZwmWyb4fsNj2wmYQBvsz"],rightJoints:["6prLNGnRe7BKvuxjsqwhNV"],leftPoint:[.6411062725223289,-1.5151770974340102],rightPoint:[1.4842222159423528,-.6722303192938943],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5kERhDJVYnRwidcZHzNwPz",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{id:"uMr4G8iwQhvVEE8TbWYbgJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["5kERhDJVYnRwidcZHzNwPz","6prLNGnRe7BKvuxjsqwhNV","rGMwJ6KNdYyNwmQKhW2Nh4","9GySPDZNNZvFp6JaddRiDB","oRNf7bY3AJx3zVpaTdb4zu","4nY35MHMDAs2QdKy4qH4ya","wYoS3whcRTi53dM2ct7qM2","mCZwmWyb4fsNj2wmYQBvsz"],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-26.499667294833905,cy:-2.142020498769739,cz:.1,lx:7.862239275491355,ly:8.18645532809304,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1oxk3P52oSn4HGaJ5d21cE",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:-.6463414312406925,cy:1.7491373104519843,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["mMt5DmNXZy5oG4vq89vafC"],rightJoints:["4p4RhAQUE1YZ6FvTNz5vv4"],leftPoint:[.06592873842799918,1.7491373104519834,.1],rightPoint:[-1.3586116009093843,1.7491373104519843,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nr2YdH7dGwCs9FLqqqGjFg",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:1.4187885996411662,cz:0,lx:.9943468188665976,ly:.3,lz:40,leftJoints:["nr2YdH7dGwCs9FLqqqGjFg"],rightJoints:["mLwkBCLjpPZP6KYK5Bt7J8"],leftPoint:[-1.3586116009093843,1.7491373104519843,.1],rightPoint:[-2.1017162457963963,1.0884398888303481,.1],relativeAngle:-2.4148300779771343,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4p4RhAQUE1YZ6FvTNz5vv4",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-2.1017162457963963,cy:.4030347409529105,cz:0,lx:1.370810295754875,ly:.3,lz:40,leftJoints:["4p4RhAQUE1YZ6FvTNz5vv4"],rightJoints:["7uWfnz1ukohHZ8q7Z4KWAP"],leftPoint:[-2.1017162457963963,1.0884398888303481,.1],rightPoint:[-2.1017162457963963,-.2823704069245272,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mLwkBCLjpPZP6KYK5Bt7J8",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:-.6374268439911468,cz:0,lx:1.0278447388893002,ly:.3,lz:40,leftJoints:["mLwkBCLjpPZP6KYK5Bt7J8"],rightJoints:["wynoJj85BW9QJZxa23rRom"],leftPoint:[-2.1017162457963963,-.2823704069245272,.1],rightPoint:[-1.3586116009093843,-.9924832810577664,.1],relativeAngle:-.7626994937110066,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7uWfnz1ukohHZ8q7Z4KWAP",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-.6463414312406925,cy:-.9924832810577664,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["7uWfnz1ukohHZ8q7Z4KWAP"],rightJoints:["kCyrQp6qPZF1NC78PVWkyR"],leftPoint:[-1.3586116009093843,-.9924832810577664,.1],rightPoint:[.06592873842799918,-.9924832810577664,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wynoJj85BW9QJZxa23rRom",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4220638232623486,cy:1.4064347365132654,cz:0,lx:.9884882454216453,ly:.3,lz:40,leftJoints:["ho9ZWX9Y7gps9CuiwCZxjF"],rightJoints:["nr2YdH7dGwCs9FLqqqGjFg"],leftPoint:[.778198908096698,1.0637321625745466,.1],rightPoint:[.06592873842799918,1.7491373104519843,.1],relativeAngle:2.375413341461377,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mMt5DmNXZy5oG4vq89vafC",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.778198908096698,cy:.37832701469710894,cz:0,lx:1.3708102957548751,ly:.3,lz:40,leftJoints:["kCyrQp6qPZF1NC78PVWkyR"],rightJoints:["mMt5DmNXZy5oG4vq89vafC"],leftPoint:[.778198908096698,-.3070781331803287,.1],rightPoint:[.778198908096698,1.0637321625745466,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ho9ZWX9Y7gps9CuiwCZxjF",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4222850257663353,cy:-.6496220528239478,cz:0,lx:.9890270478638401,ly:.3,lz:40,leftJoints:["wynoJj85BW9QJZxa23rRom"],rightJoints:["ho9ZWX9Y7gps9CuiwCZxjF"],leftPoint:[.06592873842799918,-.9924832810577664,.1],rightPoint:[.7786413131046714,-.3067608245901292,.1],relativeAngle:.7661003289655364,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kCyrQp6qPZF1NC78PVWkyR",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{id:"eGKywH11tWPx9igpC5XjNU",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["mMt5DmNXZy5oG4vq89vafC","nr2YdH7dGwCs9FLqqqGjFg","4p4RhAQUE1YZ6FvTNz5vv4","mLwkBCLjpPZP6KYK5Bt7J8","7uWfnz1ukohHZ8q7Z4KWAP","wynoJj85BW9QJZxa23rRom","kCyrQp6qPZF1NC78PVWkyR","ho9ZWX9Y7gps9CuiwCZxjF"],selected:!1,rise:13.522672727906091,ceiling:!1},{type:"Foundation",cx:-26.07251778331903,cy:-2.351761746510464,cz:.05,lx:4.268844692534827,ly:3.6205625940120694,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9Y1kU3q99HMAW1GDxevTYM",selected:!1},{type:"Wall",cx:-.9902356029479495,cy:-11.912514576226425,cz:2.268765007024547,lx:36.926563179741635,ly:.5,lz:17,leftJoints:["rmJMuUkEt1MeMCUMuSJyMP"],rightJoints:["phirdj4sqaQKeToCxzfiMH"],leftPoint:[-19.45351719281877,-11.912514576226423,.1],rightPoint:[17.47304598692287,-11.912514576226428,.1],relativeAngle:-14431536702349665e-32,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i77w1Es8Z5SjkjpQ5nMhD5",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Door",cx:0,cy:0,cz:-.21875,lx:.951583767418624,ly:0,lz:.5625,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"mWaGM2hsTBxoCRqCfarD1y",parentId:"i77w1Es8Z5SjkjpQ5nMhD5",foundationId:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Wall",cx:17.47304598692286,cy:-4.836753855231592,cz:0,lx:14.151521441989672,ly:.5,lz:17,leftJoints:["i77w1Es8Z5SjkjpQ5nMhD5"],rightJoints:[],leftPoint:[17.47304598692287,-11.912514576226428,.1],rightPoint:[17.473045986922852,2.239006865763245,.1],relativeAngle:1.570796326794898,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"phirdj4sqaQKeToCxzfiMH",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Wall",cx:-19.453517192818786,cy:-4.836753855231592,cz:0,lx:14.151521441989672,ly:.5,lz:17,leftJoints:[],rightJoints:["i77w1Es8Z5SjkjpQ5nMhD5"],leftPoint:[-19.453517192818783,2.239006865763245,.1],rightPoint:[-19.45351719281879,-11.912514576226428,.1],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rmJMuUkEt1MeMCUMuSJyMP",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Wall",cx:-.9902356029479567,cy:2.239006865763245,cz:0,lx:36.92656317974165,ly:.5,lz:17,leftJoints:["phirdj4sqaQKeToCxzfiMH"],rightJoints:["rmJMuUkEt1MeMCUMuSJyMP"],leftPoint:[17.47304598692287,2.239006865763245,.1],rightPoint:[-19.453517192818783,2.239006865763245,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eKjiWm3px73qKLcoG9tGHu",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:null,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Door",cx:-.006429620050125837,cy:0,cz:-.21875,lx:.9387245273183722,ly:0,lz:.5625,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"dhr8kv5642kt62iFhTt4ta",parentId:"eKjiWm3px73qKLcoG9tGHu",foundationId:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Foundation",cx:.9431450312565914,cy:3.149229192376307,cz:.05,lx:41.18193719933953,ly:25.196736647897943,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Mansard",roofStructure:"Default",wallsId:["phirdj4sqaQKeToCxzfiMH"],ridgeWidth:2.66901172469158,textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",id:"vL7dGWufEhTghRwUx8yTvj",rise:1.907584707016376,ceiling:!1},{type:"Human",name:"Jiya",cx:-18.787647876406897,cy:-18.538338993489504,cz:.125,lx:.6,ly:.6,lz:1.74,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"muPJhyAEwPwvd29CyHNPTv",selected:!1},{type:"Tree",name:"Coconut",cx:24.642500087694035,cy:-15.595852113993274,cz:.12499999999999645,lx:7.10302446035018,lz:11.247303362702601,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"fjFxbSnebLaGdvEjgFeKBY",selected:!1},{type:"Tree",name:"Coconut",cx:21.66117439174871,cy:-16.376771590483912,cz:.125,lx:4.8301750266215455,lz:7.467800914861559,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"fJBtdZnifxUnAi1A2mQVwv",selected:!1}],Hun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[13.204078062477329,8.198113820431859,8738290977654438e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[13.204078062477329,8.197963813764718,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[40.16161458870258,-83.52840108412623,20.640119356575983],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:12.604988194492185,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#8c9763",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[3.0849566827898878,4.932309755028921,20.640119356575976],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:2.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-4,y:10,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1254,y:272,width:600,height:360}},Mun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Iun=1,zun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Dun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Eun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Fun=[],Lun={docid:vun,time:xun,timestamp:bun,userid:Sun,owner:Tun,email:Pun,world:Cun,elements:Run,view:Hun,graphState:Mun,evolutionMethod:Iun,solarPanelArrayLayoutParams:zun,solarPanelArrayLayoutConstraints:Dun,evolutionaryAlgorithmState:Eun,economicsParams:kun,notes:Fun},Wun="kfhYJJUbjvMzonQRyiPc3j",Nun="02/03/2023 08:07 pm",Uun=1675472845072,Bun="QWecNcxhyvP6j6sBN11hBsfZDau1",jun=null,Yun=null,Oun={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 9:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},_un=[{ly:17.756863619774798,solarUpdraftTower:{},parentId:"Ground",cx:-2.4293224579513826,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.4049185488212945,type:"Foundation",solarPowerTower:{},lx:35.28188764969263,lz:1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.5,textureType:"Foundation Texture #2",enableGroupMaster:!0,color:"#ffffff"},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:24.269954502361394,relativeAngle:3.141592653589793,lz:6,roofId:"eX962ry384m9Aq9zJiKfY6",ly:.3,rightPoint:[-9.99610487226133,4.83201801478668,1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture #4",leftPoint:[14.27384963010006,4.832018014786678,1],type:"Wall",rightRoofHeight:6,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:6,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:2.1388723789193644,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:4.83201801478668,color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:14.273849630100056,leftPoint:[14.273849630100056,-5.54086475965909,1],cy:-.35442337243620514,leftRoofHeight:6,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[14.27384963010006,4.83201801478668,1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10.37288277444577,normal:[0,0,1],lz:6,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948961,textureType:"Wall Texture #4",rightRoofHeight:6,roofId:"eX962ry384m9Aq9zJiKfY6",color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",centerRoofHeight:[0,9],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{lx:10.37288277444577,windows:[],lz:6,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"eX962ry384m9Aq9zJiKfY6",selected:!1,cy:-.35442337243620514,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-9.99610487226133,-5.54086475965909,1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture #4",rightRoofHeight:6,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948968,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-9.99610487226133,4.83201801478668,1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:6,ly:.3,cx:-9.99610487226133,color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",centerRoofHeight:[0,9],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{showLabel:!1,cx:2.1388723789193644,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[14.27384963010006,-5.54086475965909,1],cz:2.268765007024547,textureType:"Wall Texture #4",cy:-5.54086475965909,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"eX962ry384m9Aq9zJiKfY6",leftPoint:[-9.99610487226133,-5.54086475965909,1],normal:[0,0,1],ly:.3,lz:6,leftRoofHeight:6,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:6,lx:24.269954502361394,color:"#ffffff",wallStructure:"Default",opacity:0,studSpacing:100,studColor:"#666666",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-1.8995410156020984,cy:1.1382243316181326,cz:2.2408122612280286,lx:3.053187061305774,ly:.2,lz:12.024186118737006,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[-.37294748494921137,1.1382243316181326,.07664429931579812],rightPoint:[-3.4261345462549855,1.1382243316181326,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.37294748494921137,cy:-.10216350253359563,cz:1.9496749649980285,lx:2.4807756683034574,ly:.2,lz:12.024186118737006,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[-.37294748494921315,-1.3425513366853248,.07664429931579812],rightPoint:[-.37294748494921137,1.1382243316181326,.07664429931579812],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,wallStructure:"Default",opacity:.5,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-3.4261345462549855,cy:-.10216350253359563,cz:2.228839888904333,lx:2.4807756683034574,ly:.2,lz:12.024186118737006,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-3.4261345462549855,1.1382243316181326,.07664429931579812],rightPoint:[-3.4261345462549855,-1.3425513366853248,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-1.8995410156020984,cy:-1.3425513366853248,cz:2.268765007024547,lx:3.053187061305774,ly:.2,lz:12.024186118737006,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-3.4261345462549855,-1.3425513366853248,.07664429931579812],rightPoint:[-.37294748494921137,-1.3425513366853248,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Foundation",cx:14.094080413269129,cy:.15570536150984227,cz:.05,lx:8.775727447038646,ly:4.909042441548677,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!1,color:"#ffffff"},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Pyramid",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG","2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u1sPtasg3hWUinAjQbYwBP",sideColor:"#4d4d4d",rise:2.0481021935471038,ceiling:!1},{type:"Window",cx:.0021539197282083927,cy:.1,cz:.3488182697258943,lx:.5686474602805061,ly:.2,lz:.18392000793749944,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"62Gv8U29wFJyJf1vgeLMyo",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Wall",cx:-.20317717304724836,cy:.8008815905246398,cz:2.2408122612280286,lx:1.7317721396367636,ly:.2,lz:12.024186118737006,leftJoints:["dzLroXC8UBmujXxPj58BnJ"],rightJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],leftPoint:[.6627088967711334,.8008815905246398,0],rightPoint:[-1.0690632428656301,.8008815905246398,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9CKGzf7taYbb5TxpshE7KA",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.6627088967711334,cy:.06442649426996133,cz:2.2301039869226305,lx:1.472910192509357,ly:.2,lz:12.024186118737006,leftJoints:["gH8a7zMeyH4srn6fpqovLp"],rightJoints:["9CKGzf7taYbb5TxpshE7KA"],leftPoint:[.6627088967711331,-.6720286019847171,0],rightPoint:[.6627088967711336,.8008815905246398,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dzLroXC8UBmujXxPj58BnJ",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",wallStructure:"Default",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-1.0690632428656301,cy:.06442649426996133,cz:2.228839888904333,lx:1.472910192509357,ly:.2,lz:12.024186118737006,leftJoints:["9CKGzf7taYbb5TxpshE7KA"],rightJoints:["gH8a7zMeyH4srn6fpqovLp"],leftPoint:[-1.0690632428656301,.8008815905246398,0],rightPoint:[-1.0690632428656301,-.6720286019847171,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2AP7zuBsHXSx9vjaaQ41Sa",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.20317717304724825,cy:-.6720286019847171,cz:2.268765007024547,lx:1.7317721396367638,ly:.2,lz:12.024186118737006,leftJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],rightJoints:["dzLroXC8UBmujXxPj58BnJ"],leftPoint:[-1.0690632428656301,-.6720286019847171,0],rightPoint:[.6627088967711336,-.6720286019847171,0],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gH8a7zMeyH4srn6fpqovLp",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"14aRqq6MKm9VsEB7xehwCw",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #7",thickness:.15,wallsId:["gH8a7zMeyH4srn6fpqovLp","dzLroXC8UBmujXxPj58BnJ","9CKGzf7taYbb5TxpshE7KA","2AP7zuBsHXSx9vjaaQ41Sa"],selected:!1,sideColor:"#4d4d4d",rise:7.313111372629006,ceiling:!1},{type:"Foundation",cx:12.425615366004104,cy:.028931059233684664,cz:.05,lx:3.229114860580372,ly:2.221848349715204,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7jmzUaUYBWVbxJMLM3ukrN",selected:!1},{type:"Human",name:"Jaye",cx:16.450422145232615,cy:-.22113841806491535,cz:.5,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"iDEwVvzHLgt4QuBLaRKJtz",selected:!1,ly:.55},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eX962ry384m9Aq9zJiKfY6",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],sideColor:"#4d4d4d",rise:3,ceiling:!1},{type:"Door",cx:-8950612010673349e-32,cy:0,cz:-.3331657120178574,lx:.8061994583201278,ly:0,lz:.3336685759642853,textureType:"Door Texture #5",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ekcJVu2iDNfD8vCRPJWcfY",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3856208622982074,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"9oFXDcsdcyJ89HEsb2DDAG",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.24101303893637963,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssU5SYZXCGdgbbL6FKEC5P",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.24101303893637963,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fptVfz87nopSTdqFchXqam",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3856208622982074,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dBjY8chWcXqTSEjTPuyYBe",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.24101303893637963,cy:.1,cz:.375,lx:.09640521557455185,ly:.3,lz:.4166666666666667,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"ukFf3NbtSoWEm19XdABfLF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.24101303893637963,cy:.1,cz:.375,lx:.09640521557455185,ly:.3,lz:.4166666666666667,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e66yZnH635KK4nUZeZJouj",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.004820260778727587,cy:.1,cz:.5500000000000002,lx:.1253267802469174,ly:.3,lz:.6999999999999998,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8FUv4v48DhXb1UYjQUTX7D",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2892156467236556,cy:.1,cz:0,lx:.1928104311491037,ly:.3,lz:.5,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5yZFsPzLz262PvuKKqo6BT",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Window",cx:.2892156467236556,cy:.1,cz:0,lx:.1928104311491037,ly:.3,lz:.5,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pRx46Qg86s1FgV9Tkkwhkb",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.13496730180437258,ly:0,lz:.4166666666666667,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Zxx9R9RT39QbRUhwQji79",doorType:"Default",archHeight:1,filled:!0},{type:"Cuboid",cx:15.482678805847527,cy:.03501810630543489,cz:.5,lx:.5,ly:3,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"7HoCBk9FUvPFeTLHCCJTNC"},{type:"Cuboid",cx:15.982678805847527,cy:.03501810630543489,cz:.4,lx:.5,ly:3,lz:.8,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"wT8Ce4Jri1xraPwAe1CNeM",selected:!1},{type:"Cuboid",cx:16.482678805847527,cy:.03501810630543489,cz:.3,lx:.5,ly:3,lz:.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"kygu5kCeJayDbMCovLE74e",selected:!1},{type:"Cuboid",cx:16.982678805847527,cy:.03501810630543489,cz:.2,lx:.5,ly:3,lz:.4,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"x3KMwKP4LZeaVL1t9Sa9pC",selected:!1},{type:"Cuboid",cx:16.454615930533183,cy:-1.723835668236857,cz:.5,lx:2.5,ly:.5,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"dCP1VYfhvq16F8TKTUaTJy",selected:!1},{type:"Cuboid",cx:16.45823999757701,cy:1.798322131122021,cz:.5,lx:2.5,ly:.5,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7CauidfWWfvxRjMT2AFDZ7",selected:!1},{type:"Human",name:"Jamelia",cx:-.11177369144009575,cy:.35103184354339856,cz:.10000000149011612,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"grVotAf51uhbEVGMStvWX3",id:"aT4DrrYnjHCzoD1VbK7qaQ",selected:!1,ly:.65},{type:"Tree",name:"Spruce",cx:-9.332343084456326,cy:-7.670721874044395,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"efGrH4MExjf1MncqygtFYz",selected:!1},{type:"Tree",name:"Spruce",cx:-2.4224793125813298,cy:-7.597212684981861,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mVFRaCS8mpYH1fWycvYh2A",selected:!1},{type:"Tree",name:"Spruce",cx:5.7002860788249174,cy:-7.486948901388057,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"76Tg87omCPA31TcVqXcmTm",selected:!1},{type:"Tree",name:"Spruce",cx:12.904186606949914,cy:-7.413439712325518,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9tspspKKMvyRj8ZAXB1S5M",selected:!1},{type:"Tree",name:"Spruce",cx:-9.185324706331325,cy:6.884097560337873,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jB2hT6s8JMuu4hvTQGpet3",selected:!1},{type:"Tree",name:"Spruce",cx:5.884059051481165,cy:6.773833776744068,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4721EtxPvv42oUzmx3KVyF",selected:!1},{type:"Tree",name:"Spruce",cx:-1.9163053006129438,cy:6.972061722697195,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5JeYYLhDB98wnUERTPXwhK",selected:!1},{type:"Tree",name:"Spruce",cx:12.830677417887415,cy:6.810588371275337,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"muLKxWCdfcK2eTHLBsDxzY",selected:!1},{type:"Cuboid",cx:17.482678805847527,cy:.03501810630543489,cz:.1,lx:.5,ly:3,lz:.2,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"grVotAf51uhbEVGMStvWX3",selected:!1},{type:"Flower",name:"White Flower",cx:15.126182941215411,cy:2.0688216490527616,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oTAnTfR89oZPsyKVkbpY4L",selected:!1},{type:"Flower",name:"White Flower",cx:15.15556957531615,cy:3.2795889445752495,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i17rLiCzdL5NmRJGR4y1CS",selected:!1},{type:"Flower",name:"White Flower",cx:15.217151871229412,cy:4.479113375165792,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cH33zk4JiguncGCgw5dgge",selected:!1},{type:"Flower",name:"White Flower",cx:15.072373579996741,cy:-2.4484335890262776,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"w8aD5THe2gjzneE5VAcSXT",selected:!1},{type:"Flower",name:"White Flower",cx:15.073985679510187,cy:-3.688355208079927,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"onzxSqcVAm3FyLWanpmjH2",selected:!1},{type:"Flower",name:"White Flower",cx:15.176965591305198,cy:-5.044043742265718,cz:.4999999999999991,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"j3jTvCkw7njipy5x4UrSpB",selected:!1},{type:"Flower",name:"Hibiscus",cx:15.090503333801388,cy:2.6795845901554154,cz:.5,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gQ7GqXx4tKL7uBJwLrMcA6",selected:!1},{type:"Flower",name:"Hibiscus",cx:15.11041357320055,cy:3.9081085710241874,cz:.4999999999999991,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6HJcrgKqYqvU7BYpYwf1Se",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.913002609189407,cy:-3.0774482324317782,cz:.5000000000000009,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vyshpZCEierrdgAyXaBcst",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.941871873418721,cy:-4.383327895714419,cz:.5,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kAeRGtsWdmxUoAQPB5P6KJ",selected:!1},{type:"Human",name:"Jade",cx:16.85821378704074,cy:-2.487104433327495,cz:.5,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5quA9K9PbuFux9inPinoZp",selected:!1,ly:.48},{type:"Human",name:"Jett",cx:-.04509947681173543,cy:-.12777417813363456,cz:.300000011920929,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"kygu5kCeJayDbMCovLE74e",id:"qNbt2kqLcnpAuYiCzMr8qu",selected:!1,ly:.6},{type:"Human",name:"Jedi",cx:16.573220428178367,cy:-1.1124659446434038,cz:.5,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gHn3DWePGHkUPuTQBYNFA7",selected:!1,ly:.56},{type:"Human",name:"Jennifer",cx:16.90812280276899,cy:1.1730238573514669,cz:.5,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pkNrn5a7PGHK1vUXoNbNtp",selected:!1,ly:.45},{type:"Window",cx:-.37082887811447396,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qS8bPerGLqgrEhg3VdRMna",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.24721925207631612,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nmpua75umkgQmm3afavHG4",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.12360962603815825,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fN2d9MiAtthczP5v35Bn9Z",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-40245584642661925e-32,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rt5vtqFNGBs4uVevaa5SHr",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.12360962603815745,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iqKTDEyqgoDU5cgt71CFea",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.24721925207631532,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vHTxpdJckKKr3ePx8aFQpY",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3708288781144731,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7MSjvWxXyqcQDbp8fs3ZDw",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.37082887811447396,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5vsADBuvCZtK48YRH9MYR9",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.24721925207631612,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"d6tpsz63SWdyNJ6pv74f1S",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.12360962603815825,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qLXWzVH589njSMD4htbaDZ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-40245584642661925e-32,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rLKBLFR9JVQSkBFbLvtmjw",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.12360962603815745,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3VPrjTctjaZkp9jMcnmk9K",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.24721925207631532,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jXBTXx15DGSCH8grL279or",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3708288781144731,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"58KzRG1iYAZNHC4ZV2DbrP",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1}],Vun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[5.218957131029783,.6180582017777921,6180856740847945e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[5.218957131029783,.6180382008888045,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[22.977248222176474,21.907448743442465,8.268031438861318],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:47.83311959586008,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#696635",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-3.993253335690816,-7.535606531970473,7.708620369560713],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Gun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Xun=1,Jun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Kun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},qun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},$un={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Qun=[],Zun={docid:Wun,time:Nun,timestamp:Uun,userid:Bun,owner:jun,email:Yun,world:Oun,elements:_un,view:Vun,graphState:Gun,evolutionMethod:Xun,solarPanelArrayLayoutParams:Jun,solarPanelArrayLayoutConstraints:Kun,evolutionaryAlgorithmState:qun,economicsParams:$un,notes:Qun},edn="u1WXQV62cNL8GXN8gP2Uro",tdn="02/03/2023 08:06 pm",ndn=1675472763047,odn="QWecNcxhyvP6j6sBN11hBsfZDau1",idn=null,rdn=null,adn={solarRadiationHeatmapGridCellSize:1,date:"4/22/2022, 7:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},ldn=[{type:"Wall",cx:-.3764576456166644,cy:.7527432813254578,cz:2.2408122612280286,lx:2.8256001957793133,ly:.2,lz:17.11162413698611,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[1.0363424522729936,.7527432813254578,.07664429931579812],rightPoint:[-1.7892577435063188,.7527432813254578,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:1.03634245227299,cy:-.6129469247080586,cz:1.9496749649980285,lx:2.7313804120670326,ly:.2,lz:17.11162413698611,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[1.03634245227299,-1.9786371307415749,.07664429931579812],rightPoint:[1.0363424522729936,.7527432813254578,.07664429931579812],relativeAngle:1.5707963267948961,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,wallStructure:"Default",opacity:.5,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-1.7892577435063188,cy:-.6129469247080586,cz:2.228839888904333,lx:2.7313804120670326,ly:.2,lz:17.11162413698611,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-1.7892577435063188,.7527432813254578,.07664429931579812],rightPoint:[-1.7892577435063188,-1.9786371307415749,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-.3764576456166644,cy:-1.9786371307415749,cz:2.268765007024547,lx:2.8256001957793133,ly:.2,lz:17.11162413698611,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-1.7892577435063188,-1.9786371307415749,.07664429931579812],rightPoint:[1.0363424522729936,-1.9786371307415749,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Foundation",cx:9.88256564470575,cy:-18.302742621755318,cz:.05,lx:5.358597805586726,ly:4.404021553494953,lz:.10907253340755482,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!1,color:"#ffffff",locked:!1},{type:"Wall",cx:-.5591812718525784,cy:10.613663444712508,cz:2.2408122612280286,lx:1.7651178031601384,ly:.2,lz:17.11162413698611,leftJoints:["dzLroXC8UBmujXxPj58BnJ"],rightJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],leftPoint:[.32337762972749395,10.613663444712508,.09656797003029352],rightPoint:[-1.4417401734326472,10.613663444712508,.09656797003029352],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"9CKGzf7taYbb5TxpshE7KA",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:.32337762972749395,cy:9.751643903669297,cz:2.2301039869226305,lx:1.7240390820864182,ly:.2,lz:17.11162413698611,leftJoints:["gH8a7zMeyH4srn6fpqovLp"],rightJoints:["9CKGzf7taYbb5TxpshE7KA"],leftPoint:[.32337762972749395,8.889624362626087,.09656797003029352],rightPoint:[.32337762972749395,10.613663444712508,.09656797003029352],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"dzLroXC8UBmujXxPj58BnJ",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",wallStructure:"Default",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-1.4417401734326472,cy:9.751643903669297,cz:2.228839888904333,lx:1.7240390820864182,ly:.2,lz:17.11162413698611,leftJoints:["9CKGzf7taYbb5TxpshE7KA"],rightJoints:["gH8a7zMeyH4srn6fpqovLp"],leftPoint:[-1.4417401734326472,10.613663444712508,.09656797003029352],rightPoint:[-1.4417401734326472,8.889624362626087,.09656797003029352],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"2AP7zuBsHXSx9vjaaQ41Sa",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-.5591812718525784,cy:8.889624362626087,cz:2.268765007024547,lx:1.7651178031601384,ly:.2,lz:17.11162413698611,leftJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],rightJoints:["dzLroXC8UBmujXxPj58BnJ"],leftPoint:[-1.4417401734326472,8.889624362626087,.09656797003029352],rightPoint:[.32337762972749395,8.889624362626087,.09656797003029352],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"gH8a7zMeyH4srn6fpqovLp",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Foundation",cx:14.958059471973794,cy:-10.376627749775599,cz:.05,lx:3.9130970991852903,ly:26.13645284205659,lz:.10907253340755482,normal:[0,0,1],rotation:[0,0,2.576026974436725],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7jmzUaUYBWVbxJMLM3ukrN",selected:!1,enableGroupMaster:!1,color:"#ffffff",locked:!1},{type:"Foundation",cx:7.577351540057415,cy:-22.562392942244166,cz:.05,lx:53.002191940731585,ly:17.343791633088202,lz:.1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3JxHzzEsV9Da6tuGXPViKy",color:"#ffffff",locked:!1},{type:"Wall",cx:0,cy:6.071605429917916,cz:0,lx:41.97190103136961,ly:.3,lz:10,relativeAngle:3.141592653589793,leftPoint:[20.985950515684806,6.071605429917916,0],rightPoint:[-20.985950515684806,6.071605429917916,0],leftJoints:["4R59jrQvJmq95aQT2Dv649"],rightJoints:["iLwQ5UBgBL3sonqBcqFoC5"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"eaUtdoPPg5CEenHZ1cZ7yL",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-20.985950515684806,cy:-.25298355957991303,cz:0,lx:12.64917797899566,ly:.3,lz:10,relativeAngle:-1.5707963267948966,leftPoint:[-20.985950515684806,6.071605429917916,0],rightPoint:[-20.985950515684806,-6.577572549077742,0],leftJoints:["eaUtdoPPg5CEenHZ1cZ7yL"],rightJoints:["puEFSm14QZKVxz67Z67N16"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"iLwQ5UBgBL3sonqBcqFoC5",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:0,cy:-6.577572549077742,cz:0,lx:41.97190103136961,ly:.3,lz:10,relativeAngle:0,leftPoint:[-20.985950515684806,-6.577572549077742,0],rightPoint:[20.985950515684806,-6.577572549077742,0],leftJoints:["iLwQ5UBgBL3sonqBcqFoC5"],rightJoints:["4R59jrQvJmq95aQT2Dv649"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"puEFSm14QZKVxz67Z67N16",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:20.985950515684806,cy:-.25298355957991303,cz:0,lx:12.64917797899566,ly:.3,lz:10,relativeAngle:1.5707963267948966,leftPoint:[20.985950515684806,-6.577572549077742,0],rightPoint:[20.985950515684806,6.071605429917916,0],leftJoints:["puEFSm14QZKVxz67Z67N16"],rightJoints:["eaUtdoPPg5CEenHZ1cZ7yL"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"4R59jrQvJmq95aQT2Dv649",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["9CKGzf7taYbb5TxpshE7KA","2AP7zuBsHXSx9vjaaQ41Sa","gH8a7zMeyH4srn6fpqovLp","dzLroXC8UBmujXxPj58BnJ"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,2.576026974436725],parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",id:"uGKYfaStAHZiUBuVtKS6dW",locked:!1,rise:8.555812068493054,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["2RETAxyRMzZBEQkBGms56R","beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"aAQtPcYcdvnjKLxjxpN6fj",locked:!1,rise:1.975489281315383,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Default",wallsId:["eaUtdoPPg5CEenHZ1cZ7yL"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"3pZdU1AL5k6hknNK4gDLPK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Human",name:"Jack",cx:24.03461056644682,cy:-.9488790909164386,cz:.10000000149011613,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"3LWACNGJBDVRSGmB2iRsbK",selected:!1,locked:!1,ly:.42},{type:"Wall",cx:0,cy:6,cz:0,lx:27,ly:.3,lz:10,leftJoints:["bJ26Y2Ztj2wnvSCwMVZbSj"],rightJoints:["iwUy27fkuqc81ipg2dgQZa"],leftPoint:[13.5,6,0],rightPoint:[-13.5,6,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"agFV6snz1JdtWvd4JR2cDW",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-13.5,cy:-.25,cz:0,lx:12.5,ly:.3,lz:10,leftJoints:["agFV6snz1JdtWvd4JR2cDW"],rightJoints:["c7vcy9r1yDujdJxgxp5TzY"],leftPoint:[-13.499999999999998,6,0],rightPoint:[-13.5,-6.5,0],relativeAngle:4.71238898038469,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"iwUy27fkuqc81ipg2dgQZa",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:0,cy:-6.5,cz:0,lx:27,ly:.3,lz:10,leftJoints:["iwUy27fkuqc81ipg2dgQZa"],rightJoints:["bJ26Y2Ztj2wnvSCwMVZbSj"],leftPoint:[-13.5,-6.5,0],rightPoint:[13.5,-6.5,0],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"c7vcy9r1yDujdJxgxp5TzY",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:13.5,cy:-.25,cz:0,lx:12.5,ly:.3,lz:10,leftJoints:["c7vcy9r1yDujdJxgxp5TzY"],rightJoints:["agFV6snz1JdtWvd4JR2cDW"],leftPoint:[13.5,-6.5,0],rightPoint:[13.5,6,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"bJ26Y2Ztj2wnvSCwMVZbSj",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"cHg19Gk5NDmFTLbhEqkpEc",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.5655656791530684],parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["agFV6snz1JdtWvd4JR2cDW"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Foundation",cx:10.745099874695102,cy:-19.099061544436797,cz:.05,lx:34.0956484513338,ly:17.139247765633556,lz:.1,normal:[0,0,1],rotation:[0,0,-.5655656791530684],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aXmgoxjAJPULF92Dwj9wXo",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["rbfyBq5mDVjxhT7cHiZa6r"],rightJoints:["evmZhzFqQUpVbc7Pz1QgMJ"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"wnNdNWw7uCJtb791q2h2kv",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["tFV6qvitr5PH2Ab2oo3oSn"],rightJoints:["wnNdNWw7uCJtb791q2h2kv"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"rbfyBq5mDVjxhT7cHiZa6r",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",wallStructure:"Default",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["wnNdNWw7uCJtb791q2h2kv"],rightJoints:["tFV6qvitr5PH2Ab2oo3oSn"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"evmZhzFqQUpVbc7Pz1QgMJ",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["evmZhzFqQUpVbc7Pz1QgMJ"],rightJoints:["rbfyBq5mDVjxhT7cHiZa6r"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tFV6qvitr5PH2Ab2oo3oSn",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"xgcfKKQgeBMWdofPE3DXN2",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["wnNdNWw7uCJtb791q2h2kv","evmZhzFqQUpVbc7Pz1QgMJ","tFV6qvitr5PH2Ab2oo3oSn","rbfyBq5mDVjxhT7cHiZa6r"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-10.384377691463378,cy:-33.417453285003795,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gddwwsiW9SAwt9BDP8qhGA",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["juENJWiqAWw4xaJKCkBnBu"],rightJoints:["kR4ctZiA4puw1EFB5KiG5E"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"b44mniuvoz9x2PrRVmaHR2",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["gmYm1iNZTPrTFyvZ3zM6wc"],rightJoints:["b44mniuvoz9x2PrRVmaHR2"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"juENJWiqAWw4xaJKCkBnBu",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",wallStructure:"Default",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["b44mniuvoz9x2PrRVmaHR2"],rightJoints:["gmYm1iNZTPrTFyvZ3zM6wc"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"kR4ctZiA4puw1EFB5KiG5E",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kR4ctZiA4puw1EFB5KiG5E"],rightJoints:["juENJWiqAWw4xaJKCkBnBu"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"gmYm1iNZTPrTFyvZ3zM6wc",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"xvCWqbtBHhPfDxKkaUCj1N",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["b44mniuvoz9x2PrRVmaHR2","kR4ctZiA4puw1EFB5KiG5E","gmYm1iNZTPrTFyvZ3zM6wc","juENJWiqAWw4xaJKCkBnBu"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-8.002707095672621,cy:-29.66519620128789,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eTTCEUsedrFiMVxzGXSPUk",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["r3gZsm5d2NUURkeJvNjoh1"],rightJoints:["6gbdPzRZhLL2pFKuqZLzc7"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"h6RcENRcyV9RrecCDiFvpW",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["oFJo6fvJ5KGuFkZ1uaJYjz"],rightJoints:["h6RcENRcyV9RrecCDiFvpW"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"r3gZsm5d2NUURkeJvNjoh1",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",wallStructure:"Default",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["h6RcENRcyV9RrecCDiFvpW"],rightJoints:["oFJo6fvJ5KGuFkZ1uaJYjz"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"6gbdPzRZhLL2pFKuqZLzc7",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["6gbdPzRZhLL2pFKuqZLzc7"],rightJoints:["r3gZsm5d2NUURkeJvNjoh1"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"oFJo6fvJ5KGuFkZ1uaJYjz",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"6gwGsxKD4B1rm1H1Vk3Ngq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["h6RcENRcyV9RrecCDiFvpW","6gbdPzRZhLL2pFKuqZLzc7","oFJo6fvJ5KGuFkZ1uaJYjz","r3gZsm5d2NUURkeJvNjoh1"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-5.621036499881868,cy:-25.912939117571987,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dry3LvTbwVtZ9zC2iXiS6E",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["tuFkkTxMLGJupvdG99JJmE"],rightJoints:["dCPkgeninMwV2CefSv8Tyh"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"5VMupGYdfv6eXLkphmN6Sb",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["f9C4rqMCfriiBEp6cWZTjf"],rightJoints:["5VMupGYdfv6eXLkphmN6Sb"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tuFkkTxMLGJupvdG99JJmE",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",wallStructure:"Default",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5VMupGYdfv6eXLkphmN6Sb"],rightJoints:["f9C4rqMCfriiBEp6cWZTjf"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"dCPkgeninMwV2CefSv8Tyh",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["dCPkgeninMwV2CefSv8Tyh"],rightJoints:["tuFkkTxMLGJupvdG99JJmE"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"f9C4rqMCfriiBEp6cWZTjf",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"vWxd63CkWo4geKwK32Aif7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["5VMupGYdfv6eXLkphmN6Sb","dCPkgeninMwV2CefSv8Tyh","f9C4rqMCfriiBEp6cWZTjf","tuFkkTxMLGJupvdG99JJmE"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-3.2393659040911107,cy:-22.16068203385608,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"teEJ9AmuMs6M9VZiHzT62s",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gwHuE3q3o7hQafGJcQ7Ldx"],rightJoints:["1LixWzKAyzhWp6KyjXV5K9"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"8ATi9fhnsoTYgrRebeda98",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["9xBo23SsCzdw2nMz6XkrRK"],rightJoints:["8ATi9fhnsoTYgrRebeda98"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"gwHuE3q3o7hQafGJcQ7Ldx",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",wallStructure:"Default",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["8ATi9fhnsoTYgrRebeda98"],rightJoints:["9xBo23SsCzdw2nMz6XkrRK"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"1LixWzKAyzhWp6KyjXV5K9",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["1LixWzKAyzhWp6KyjXV5K9"],rightJoints:["gwHuE3q3o7hQafGJcQ7Ldx"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"9xBo23SsCzdw2nMz6XkrRK",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"2igmnqP4fQU8AfDDqEEHxR",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["8ATi9fhnsoTYgrRebeda98","1LixWzKAyzhWp6KyjXV5K9","9xBo23SsCzdw2nMz6XkrRK","gwHuE3q3o7hQafGJcQ7Ldx"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:5.878850875181692,cy:-43.63794559714253,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"w1GQJoXwTctyFPQTHvbCSJ",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gVQBUETgtMy9wnJS5MyAwR"],rightJoints:["kZ3yx1o3MpryY5DEwAHRSu"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"mVXKFfUbKmFXpx4p6d1mu7",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["uXfDQAFqu42CBoR6RERDEE"],rightJoints:["mVXKFfUbKmFXpx4p6d1mu7"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"gVQBUETgtMy9wnJS5MyAwR",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",wallStructure:"Default",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["mVXKFfUbKmFXpx4p6d1mu7"],rightJoints:["uXfDQAFqu42CBoR6RERDEE"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kZ3yx1o3MpryY5DEwAHRSu",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kZ3yx1o3MpryY5DEwAHRSu"],rightJoints:["gVQBUETgtMy9wnJS5MyAwR"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"uXfDQAFqu42CBoR6RERDEE",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"d2Rg3hSVCMgqwYgvySw6Ve",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["mVXKFfUbKmFXpx4p6d1mu7","kZ3yx1o3MpryY5DEwAHRSu","uXfDQAFqu42CBoR6RERDEE","gVQBUETgtMy9wnJS5MyAwR"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:8.26052147097245,cy:-39.88568851342663,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qFjTDh4kdKUejoECGaAtFF",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["4U2FUn1XmkrEQUaPmhvyyA"],rightJoints:["jPqCvMBCkPVvRbVHByK9Sd"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"5zbGDbw5ZL64ZnafnWAddf",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["jsjvgQe8PDECuTtUpZqqPx"],rightJoints:["5zbGDbw5ZL64ZnafnWAddf"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"4U2FUn1XmkrEQUaPmhvyyA",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",wallStructure:"Default",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5zbGDbw5ZL64ZnafnWAddf"],rightJoints:["jsjvgQe8PDECuTtUpZqqPx"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"jPqCvMBCkPVvRbVHByK9Sd",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["jPqCvMBCkPVvRbVHByK9Sd"],rightJoints:["4U2FUn1XmkrEQUaPmhvyyA"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"jsjvgQe8PDECuTtUpZqqPx",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"efiH48pXLfRzfiE8Wi1bdv",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["5zbGDbw5ZL64ZnafnWAddf","jPqCvMBCkPVvRbVHByK9Sd","jsjvgQe8PDECuTtUpZqqPx","4U2FUn1XmkrEQUaPmhvyyA"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:10.6421920667632,cy:-36.13343142971072,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eawHcqEx4ydgKwpfjVv9RR",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kzoM97zxdWMYoEvnY6njBU"],rightJoints:["hCESxuxDssAckoNt8Ysqfa"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"hjQtHP6wU1C98tsKp38NFc",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["rpsA3uefMnrgXZ2ssSvfxV"],rightJoints:["hjQtHP6wU1C98tsKp38NFc"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kzoM97zxdWMYoEvnY6njBU",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",wallStructure:"Default",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["hjQtHP6wU1C98tsKp38NFc"],rightJoints:["rpsA3uefMnrgXZ2ssSvfxV"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"hCESxuxDssAckoNt8Ysqfa",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["hCESxuxDssAckoNt8Ysqfa"],rightJoints:["kzoM97zxdWMYoEvnY6njBU"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"rpsA3uefMnrgXZ2ssSvfxV",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"fyUg5zq8ntfBYqeveZG1Mz",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["hjQtHP6wU1C98tsKp38NFc","hCESxuxDssAckoNt8Ysqfa","rpsA3uefMnrgXZ2ssSvfxV","kzoM97zxdWMYoEvnY6njBU"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:13.023862662553956,cy:-32.381174345994815,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"g52oWNGab2d5tJm7ExTD79",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["vpoRybfzCjbHDw4Zf7t8V7"],rightJoints:["pWk5x2zZNk49mb2AbHyPt9"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"85JuGPRhVTskx5HKKPLWZJ",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["a723GZeeHDaeGxxKov9kNA"],rightJoints:["85JuGPRhVTskx5HKKPLWZJ"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"vpoRybfzCjbHDw4Zf7t8V7",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",wallStructure:"Default",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["85JuGPRhVTskx5HKKPLWZJ"],rightJoints:["a723GZeeHDaeGxxKov9kNA"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"pWk5x2zZNk49mb2AbHyPt9",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["pWk5x2zZNk49mb2AbHyPt9"],rightJoints:["vpoRybfzCjbHDw4Zf7t8V7"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"a723GZeeHDaeGxxKov9kNA",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"uzoWkkSM6BdFkW3tQ9QEeP",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["85JuGPRhVTskx5HKKPLWZJ","pWk5x2zZNk49mb2AbHyPt9","a723GZeeHDaeGxxKov9kNA","vpoRybfzCjbHDw4Zf7t8V7"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:23.539261545507316,cy:-15.785608947862563,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e3sKy7gdQ45ovgtshJNKSh",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["ucyqM28VHCejiYXSBRU74w"],rightJoints:["wCoXQcNBi6mJ5wS4Y6r4VL"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"mRLpMEwUpk6b3VqzxYNaep",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["oqTZ9Y5zqDf3qpPSoAsnfq"],rightJoints:["mRLpMEwUpk6b3VqzxYNaep"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"ucyqM28VHCejiYXSBRU74w",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",wallStructure:"Default",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["mRLpMEwUpk6b3VqzxYNaep"],rightJoints:["oqTZ9Y5zqDf3qpPSoAsnfq"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"wCoXQcNBi6mJ5wS4Y6r4VL",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["wCoXQcNBi6mJ5wS4Y6r4VL"],rightJoints:["ucyqM28VHCejiYXSBRU74w"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"oqTZ9Y5zqDf3qpPSoAsnfq",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"4sAKtdpUfojEauuc9xKUx9",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["mRLpMEwUpk6b3VqzxYNaep","wCoXQcNBi6mJ5wS4Y6r4VL","oqTZ9Y5zqDf3qpPSoAsnfq","ucyqM28VHCejiYXSBRU74w"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:7.4047851687956925,cy:-5.505166586090663,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9NZEpPcimoPFTA7fAmDMQW",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kfCkPxHEQXF9CME4mp5rfJ"],rightJoints:["m1iEhgTKYmokoNeBfUn1Zw"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kywCD23ffmYn7n35c65bvN",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5nYLFT5aCGPe4ESsdg7FAP"],rightJoints:["kywCD23ffmYn7n35c65bvN"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kfCkPxHEQXF9CME4mp5rfJ",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",wallStructure:"Default",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["kywCD23ffmYn7n35c65bvN"],rightJoints:["5nYLFT5aCGPe4ESsdg7FAP"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"m1iEhgTKYmokoNeBfUn1Zw",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["m1iEhgTKYmokoNeBfUn1Zw"],rightJoints:["kfCkPxHEQXF9CME4mp5rfJ"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"5nYLFT5aCGPe4ESsdg7FAP",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"uZ3WYfpisjGExUNhqUQ6GJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["kywCD23ffmYn7n35c65bvN","m1iEhgTKYmokoNeBfUn1Zw","5nYLFT5aCGPe4ESsdg7FAP","kfCkPxHEQXF9CME4mp5rfJ"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:25.920932141298064,cy:-12.03335186414666,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aU7wo9HzTSBezmB9xaSNVe",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["3Yw9eyhMVgXRzWxARHi4qj"],rightJoints:["gLQjrbahvSyZbT7mE7nLTs"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tsTPsXh1D4u1sYk5kevjpw",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["eve2xjCEYcENW3bQKBtFbH"],rightJoints:["tsTPsXh1D4u1sYk5kevjpw"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"3Yw9eyhMVgXRzWxARHi4qj",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",wallStructure:"Default",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["tsTPsXh1D4u1sYk5kevjpw"],rightJoints:["eve2xjCEYcENW3bQKBtFbH"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"gLQjrbahvSyZbT7mE7nLTs",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gLQjrbahvSyZbT7mE7nLTs"],rightJoints:["3Yw9eyhMVgXRzWxARHi4qj"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"eve2xjCEYcENW3bQKBtFbH",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"t86AYAH7J8wQCFq8cXiLAx",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["tsTPsXh1D4u1sYk5kevjpw","gLQjrbahvSyZbT7mE7nLTs","eve2xjCEYcENW3bQKBtFbH","3Yw9eyhMVgXRzWxARHi4qj"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:9.786455764586453,cy:-1.752909502374763,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7JsauhgC1ELukuq9oR7WP3",selected:!1,locked:!1},{type:"Wall",cx:1.1857370908139018,cy:9.993801958880498,cz:0,lx:39.97362197823709,ly:.3,lz:4.929284805861828,leftJoints:["7ZPYuSaC3udPdFwLBc9LcF"],rightJoints:["dHQToxKir9k3FNNhxE7P9U"],leftPoint:[21.172548079932447,9.993801958880498,.049292848058618284],rightPoint:[-18.80107389830464,9.993801958880498,.049292848058618284],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"bMP8c52yyd4ARJDKPf1aWM",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:-18.80107389830464,cy:.044516399695865516,cz:0,lx:19.89857111836926,ly:.3,lz:4.929284805861828,leftJoints:["bMP8c52yyd4ARJDKPf1aWM"],rightJoints:["7MR7F47mpBryE1Ejti6rUy"],leftPoint:[-18.80107389830464,9.993801958880498,.049292848058618284],rightPoint:[-18.80107389830464,-9.904769159488765,.049292848058618284],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"dHQToxKir9k3FNNhxE7P9U",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,centerRoofHeight:[0,8.270872726693463],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:1.1857370908139018,cy:-9.904769159488765,cz:0,lx:39.97362197823709,ly:.3,lz:4.929284805861828,leftJoints:["dHQToxKir9k3FNNhxE7P9U"],rightJoints:["7ZPYuSaC3udPdFwLBc9LcF"],leftPoint:[-18.80107389830464,-9.904769159488765,.049292848058618284],rightPoint:[21.172548079932447,-9.904769159488765,.049292848058618284],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"7MR7F47mpBryE1Ejti6rUy",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:21.172548079932447,cy:.044516399695865516,cz:0,lx:19.89857111836926,ly:.3,lz:4.929284805861828,leftJoints:["7MR7F47mpBryE1Ejti6rUy"],rightJoints:["bMP8c52yyd4ARJDKPf1aWM"],leftPoint:[21.172548079932447,-9.904769159488765,.049292848058618284],rightPoint:[21.172548079932447,9.993801958880498,.049292848058618284],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"7ZPYuSaC3udPdFwLBc9LcF",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,centerRoofHeight:[0,8.270872726693463],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{id:"vQHPZRPjRtVs3kCxxrFEVN",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["bMP8c52yyd4ARJDKPf1aWM"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Foundation",cx:7.4620263843372925,cy:-23.808571879858576,cz:.1,lx:57.05667537827628,ly:36.07153705363366,lz:.2,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",textureType:"Foundation Texture #2",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rmtVJVWrnHvQEaqLr1b9Tf",selected:!1,enableGroupMaster:!0,locked:!1},{type:"Door",cx:.019764130160484145,cy:0,cz:-.35,lx:.3557543428887146,ly:0,lz:.3,textureType:"Door Texture #7",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"5i5aw65ViZQJ6ANMtaYEt3",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3162260825677463,cy:.1,cz:44408920985006264e-33,lx:.1581130412838731,ly:.3,lz:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"gAXs9sJoJF81X2Sdijoe3o",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.35575434288871466,cy:.1,cz:44408920985006264e-33,lx:.15811304128387302,ly:.3,lz:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"agk3V1PDaTw1t7ybFJCTUJ",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.019764130160484145,cy:.1,cz:.1625,lx:.3557543428887146,ly:.3,lz:.575,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"mnCW9Hm1zy48vmk8GxhHip",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:2.25},{type:"Window",cx:.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"dJzbjbMH3V7vVry4QUZJ1h",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aVMji7S1iMqS6e5iGevjST",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4xnBXKk3mzEiVTEU1sUo9z",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vGt71VZQKGWWqARuxaBuHk",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nQw98VMPrH5pKkcEzYqYAr",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oDAHJqV8nu3rm8iXJXkjDo",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.21889434999820076,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"dQtpLnqk4XU6QXdnZwYZ3y",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.1438448585702462,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"fnp6cZDYtVkBgXyRLqoy4k",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"taL5VcYj3uWGDL8xr44zFA",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"36eQAALv2V7tE2Nitdg2Z9",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"j19CocmDx5qUxbi12esWTq",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.1438448585702462,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aNTKQXqg4KFQWerkNfvi67",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.21889434999820076,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7wkeWMuadLGRRHvrhXkgXu",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"pP3XvCSY89vtf8Jf82MA2Q",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"o5mLe8ag3RmgrS6cYio7c2",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"sJP9KeY4DvXEbM21cwfCL6",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"faxjoAqSZje6BEDac2ztM3",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.125,lx:.16,ly:.3,lz:1.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2KQEWZui5HypVTjznRgV1e",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vmXEoXgzaz3BcPRdhwTBNF",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jgVVfzMun1U9KUtjVLXpLW",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7LVpvnWs9aYvqrDqGeRFsz",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0040000000000000036,cy:.1,cz:.14500000000000002,lx:.2,ly:.3,lz:1.05,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"kUvJ29KgoC2Mx2n6oquM7i",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jade",cx:24.498922181392803,cy:.35278398935384025,cz:.10000000149011613,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"8oCpJQ69v59EaR16ZevwwH",selected:!1,locked:!1,ly:.48},{type:"Human",name:"Jennifer",cx:24.15853922395012,cy:-4.360566668970516,cz:.10000000149011613,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"23pVVVaYxcEWbusAdT9bp6",selected:!1,locked:!1,ly:.45},{type:"Human",name:"Jeanette",cx:23.512736665641548,cy:-5.246201365995199,cz:.1000000014901179,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vLrAF4TXaJsxUnvTqvZyhr",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Judd",cx:23.688249777842685,cy:-7.134597873618337,cz:.10000000149011613,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"72RNARnNBupWUTwLyPFi2x",selected:!1,locked:!1,ly:.544},{type:"Flower",name:"Hydrangea",cx:14.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"hxA3iWj7PVq4oxfYivWPDZ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:16.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"em4eb843STnngTiG8Pq4ZG",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:18.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xn9oq6YLSQoRDx2Th897Ey",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:20.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"n5Xm3uZ3yogruAzMr3ekgG",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:12.711504093322223,cy:12.55312249061943,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vGSyjGNkAKGrDeLZUtMvLb",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:15.040744575677394,cy:12.500852726588041,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xdceQ9SQzswYkrUwEtMzsR",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:17.31542920437773,cy:12.41395471892114,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"1diZFF1KGB7XeeLHtoXNtr",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:19.66459729675223,cy:12.4508690521801,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"4Rb2MRXZ3tKBv37PWSvEzQ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-17.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vhFQBJS6Fh7bkaVvXfo1NR",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-15.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"dFZa68UKB2fanAfPxKpSfp",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-13.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"u1q3FxnjwFSpD8qDLT3jLw",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-11.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"i63WTBeMTnSDnxeSuJpFZf",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-9.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xiSxNNSCHQvhBkz8weBtDU",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-7.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"1urqV2akP9gK1CshpjMiad",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-5.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"iBL1h5VnnSJTEgMS6joQZh",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-3.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"rr534i2kNra6AbjGze6tbb",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-17.839350032255844,cy:12.586893239928504,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"gbD24xDaa2k33ZoxvEb6oz",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-15.787787005334005,cy:12.526983753449453,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uBAQNvAScFhk39Y9iwCNjY",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-13.758974118534871,cy:12.689520734967552,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"kPa2FJR2pvHaWxWxA6FLVw",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-11.91848248954889,cy:12.495637874367116,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"qCbupam4PMgJ8bX3HzPiMM",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-9.771115833391356,cy:12.37809450353804,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uMoz3GQoaHbHMecPfBqzkq",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-7.782512420623269,cy:12.558430909387932,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uKXc9jut6dFoRru4RQMPUM",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-5.490189984387705,cy:12.433086575302662,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"iWmJ1E8vNxV24C2rg3YseQ",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-2.9411297348927254,cy:12.354975599770267,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"gTnMje1b6tBrp8YWHbFCqb",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:23.96071696630824,cy:-44.82446487452612,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1WJdNkrobPPSWfLEoaVoK7",selected:!1,locked:!1,flip:!0},{type:"Tree",name:"Magnolia",cx:33.556040711677696,cy:-28.810119661301552,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9PY4aB8JZi8u5zBp4N8KWJ",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:-6.440436625289015,cy:-3.053996336525085,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4GFXCjc87cvCMmXmHyPFgU",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:-11.363079989838765,cy:-10.70167442074012,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"mnYhfWGZdarqEGdoNy3nZY",selected:!1,locked:!1,flip:!0},{type:"Human",name:"Jaye",cx:-9.814032718831394,cy:-16.689844349152544,cz:.10000000149011702,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"2reV16jkVqXG2TtRUqYKXY",selected:!1,locked:!1,ly:.55},{type:"Window",cx:-.3931201493034107,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"w43ATGzZw2efL2uLDpm4P8",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2859055631297533,cy:.1,cz:.32499999999999996,lx:.02382546359414619,ly:.3,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"iZNLiBj11xETGpzE6fwM9U",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.17869097695609581,cy:.1,cz:.32500000000000007,lx:.02382546359414602,ly:.3,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"9AjuE6mwgTZmX4VvbqAs3y",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.08338912257951141,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"fJi9i8gEPxfpsgBYXywEnj",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.07147639078243827,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"925Dk6Ft7JiUDRySfQMrYy",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.17869097695609581,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"a4xwf7BynvydJnSiBM877Z",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2859055631297533,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"ozvNDrL6sKDfgo668mHjk9",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3931201493034107,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"q6g4rybSU63f4mHggAAJRU",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.28590556312975324,cy:.1,cz:.32500000000000007,lx:.023825463594146105,ly:.3,lz:.25000000000000017,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"2rTqwrtxBDgy6QaZefzNsm",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3931201493034107,cy:.1,cz:.325,lx:.023825463594146105,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"bLab7Y2bZ3ran5xf7gqkpy",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3931201493034107,cy:.1,cz:.325,lx:.023825463594146105,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"6BiRTS7hCwUwcWSrYNnhUQ",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.28590556312975324,cy:.1,cz:.325,lx:.023825463594146147,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"7unzgHw9BGUs7eL9a5oKXh",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-3510814778537278e-32,cy:.1,cz:.125,lx:.23716956192580982,ly:.3,lz:1.05,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"iLwQ5UBgBL3sonqBcqFoC5",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"jbGnjsCChKRb1kQuYrUT5d",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jocelyn",cx:-19.644729072809923,cy:-15.043092228016992,cz:.10000000149011702,lx:.4,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"mDGKhZ6QHKAjKHhMgj8e9r",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Jedi",cx:-21.40281107675301,cy:-11.905580437823337,cz:.10000000149011613,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"kKfw47d3CRnoAajE5xamBN",selected:!1,ly:.56,locked:!1},{type:"Human",name:"Joey",cx:-10.626252329426645,cy:-15.36971947531225,cz:.10000000149011525,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"w9rWjW5nMD7ysqTc51hQsW",selected:!1,ly:.462,locked:!1},{type:"Tree",name:"Linden",cx:-28.5283374786377,cy:2.5670594706748773,cz:.09215714161556932,lx:12.56599065387215,lz:17.875438659167433,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"8QYb3yiDqtDAebwAsHj1PL",selected:!1,locked:!1},{type:"Tree",name:"Linden",flip:!0,cx:-1.0744344498561738,cy:-55.986059359035295,cz:0,lx:7.368180679718989,lz:10.847055184453376,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mxWw8g34JBPawafnUyy3eX",selected:!1,locked:!1},{type:"Tree",name:"Linden",flip:!1,cx:-8.805777739086423,cy:-50.96204115065417,cz:0,lx:9.893561641812246,lz:10.847055184453376,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hfHvh9t2Cet9WXvsjAPh7t",selected:!1,locked:!1},{type:"Window",cx:-1375205378309486e-31,cy:.1,cz:.3652487893589756,lx:.353907110246429,ly:.2,lz:.08765970944615396,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2Ly2StWGBYNwBSYafFGNuR",windowType:"Default",archHeight:1},{type:"Window",cx:-32517565688624697e-32,cy:.1,cz:.36524878935897553,lx:.36611524179571514,ly:.2,lz:.08765970944615402,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"v2e9bxX15mdBzVMafhi23N",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3652487893589755,lx:.35390711024642874,ly:.2,lz:.08765970944615412,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"nRNf4jj3t7m3SLG7DzYeL9",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3652487893589755,lx:.36611524179571453,ly:.2,lz:.08765970944615412,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"rE6cHpj3a1a3s58XNqPkDx",windowType:"Default",archHeight:1}],sdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[21.8332121686219,1.6957671677596553,71623250231361926e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[21.8332121686219,1.6956171610724768,150],theme:"Lake",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[31.117746115680333,-61.74530628577921,6.635303925622853],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:11.97473878476758,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#696635",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[8.743444485308892,-20.90776182518235,5.656639637187283],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},cdn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},udn=1,ddn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},fdn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},hdn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},pdn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},gdn=[],mdn={docid:edn,time:tdn,timestamp:ndn,userid:odn,owner:idn,email:rdn,world:adn,elements:ldn,view:sdn,graphState:cdn,evolutionMethod:udn,solarPanelArrayLayoutParams:ddn,solarPanelArrayLayoutConstraints:fdn,evolutionaryAlgorithmState:hdn,economicsParams:pdn,notes:gdn},ydn="rb7ptdm5a1RqrxS7efVQBm",Adn="05/10/2023 10:24 am",wdn=1683728645588,vdn="QWecNcxhyvP6j6sBN11hBsfZDau1",xdn=null,bdn=null,Sdn={solarRadiationHeatmapGridCellSize:2,date:"4/22/2022, 4:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Tdn=[{ly:22.123368787949577,solarUpdraftTower:{},parentId:"Ground",cx:31.92543795669036,id:"m7AH7DcnoGzAq9kryBy4RS",cy:2.1656113002014568,type:"Foundation",solarPowerTower:{},lx:21.251959060399457,lz:.5,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.25,textureType:"No Foundation Texture",enableGroupMaster:!1,color:"#999999",locked:!1},{type:"Human",name:"Jack",cx:-2.477311032723648,cy:-35.3224465130531,cz:.300000011920929,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"bxVgnTyTS3rQB9DZjweZGa",selected:!1,ly:.42,locked:!1},{type:"Wall",cx:-4.882174640318183,cy:3.2723372961326387,cz:0,lx:2.2370509461013435,ly:.1,lz:61,relativeAngle:4.301576093475627,leftPoint:[-4.435486222481405,4.29779752999532,.5],rightPoint:[-5.328863058154962,2.2468770622699576,.5],leftJoints:["twZXBhJnLkQAfkhcdZPvcE"],rightJoints:["6BBNNShnXYdN4Fo6vrLZgS"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pqrUfkTtDCPWZgLQ2ZZY2x",roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-5.328863058154962,cy:.9968770622699568,cz:0,lx:2.5,ly:.1,lz:61,relativeAngle:4.71238898038469,leftPoint:[-5.328863058154962,2.2468770622699568,.5],rightPoint:[-5.328863058154962,-.25312293773004324,.5],leftJoints:["pqrUfkTtDCPWZgLQ2ZZY2x"],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6BBNNShnXYdN4Fo6vrLZgS",roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-3.685486222481405,cy:5.04779752999532,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["o7owRXdGmtoUmGe7aMBfwD"],rightJoints:["pqrUfkTtDCPWZgLQ2ZZY2x"],leftPoint:[-2.935486222481405,5.79779752999532,.5],rightPoint:[-4.435486222481405,4.29779752999532,.5],relativeAngle:3.9269908169872414,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"twZXBhJnLkQAfkhcdZPvcE",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-1.935486222481405,cy:6.29779752999532,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["7oCL7hfQ9Q5pKtbUKfbhxC"],rightJoints:["twZXBhJnLkQAfkhcdZPvcE"],leftPoint:[-.9354862224814049,6.79779752999532,.5],rightPoint:[-2.935486222481405,5.79779752999532,.5],relativeAngle:3.6052402625905993,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"o7owRXdGmtoUmGe7aMBfwD",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:.31451377751859866,cy:6.797797529995318,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["9Qfx6trBssgAGuZJMWpoN4"],rightJoints:["o7owRXdGmtoUmGe7aMBfwD"],leftPoint:[1.5645137775185987,6.79779752999532,.5],rightPoint:[-.9354862224814049,6.797797529995316,.5],relativeAngle:3.141592653589795,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7oCL7hfQ9Q5pKtbUKfbhxC",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.5645137775185987,cy:6.29779752999532,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["nXkkPMC5GnQsGGo6pXGf1J"],rightJoints:["7oCL7hfQ9Q5pKtbUKfbhxC"],leftPoint:[3.5645137775185987,5.79779752999532,.5],rightPoint:[1.5645137775185987,6.79779752999532,.5],relativeAngle:2.677945044588988,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"9Qfx6trBssgAGuZJMWpoN4",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.314513777518599,cy:5.04779752999532,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["ukLTgjquG74WrHxQMTeCGR"],rightJoints:["9Qfx6trBssgAGuZJMWpoN4"],leftPoint:[5.064513777518599,4.29779752999532,.5],rightPoint:[3.5645137775185987,5.79779752999532,.5],relativeAngle:2.356194490192344,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"nXkkPMC5GnQsGGo6pXGf1J",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.564513777518599,cy:3.2977975299953197,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["ieCZYgGYnWFZFTUUeDJ4Kc"],rightJoints:["nXkkPMC5GnQsGGo6pXGf1J"],leftPoint:[6.064513777518599,2.2977975299953197,.5],rightPoint:[5.064513777518599,4.29779752999532,.5],relativeAngle:2.0344439357957036,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ukLTgjquG74WrHxQMTeCGR",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:6.064513777518599,cy:1.0477975299953193,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["1mFHht66LtQmGXw2uwQpTW"],rightJoints:["ukLTgjquG74WrHxQMTeCGR"],leftPoint:[6.064513777518599,-.20220247000468072,.5],rightPoint:[6.064513777518599,2.2977975299953197,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ieCZYgGYnWFZFTUUeDJ4Kc",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-4.882174640318183,cy:-1.2276627038673618,cz:0,lx:2.144069307100406,ly:.1,lz:61,leftJoints:[],rightJoints:["ne25yHm9jCD9Vx7iYW9GUg"],leftPoint:[-5.328863058154958,-.2531229377300428,.5],rightPoint:[-4.435486222481405,-2.2022024700046807,.5],relativeAngle:5.142171914901031,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"rnDe8ZUbiedJjvYKnAx9vs",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.564513777518599,cy:-1.2022024700046807,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["hDTYb7CsL6KjhaG3K3ZaEb"],rightJoints:["ieCZYgGYnWFZFTUUeDJ4Kc"],leftPoint:[5.064513777518599,-2.2022024700046807,.5],rightPoint:[6.064513777518599,-.20220247000468072,.5],relativeAngle:1.1071487177940904,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"1mFHht66LtQmGXw2uwQpTW",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.314513777518599,cy:-2.9522024700046807,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["ngivbbtv3RRgTjMZ9HM5iJ"],rightJoints:["1mFHht66LtQmGXw2uwQpTW"],leftPoint:[3.5645137775185987,-3.7022024700046807,.5],rightPoint:[5.064513777518599,-2.2022024700046807,.5],relativeAngle:.7853981633974483,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"hDTYb7CsL6KjhaG3K3ZaEb",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.5645137775185987,cy:-4.20220247000468,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["2sbTRgNVHvPNpK2pDRUNQN"],rightJoints:["hDTYb7CsL6KjhaG3K3ZaEb"],leftPoint:[1.5645137775185987,-4.70220247000468,.5],rightPoint:[3.5645137775185987,-3.7022024700046807,.5],relativeAngle:.46364760900080615,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ngivbbtv3RRgTjMZ9HM5iJ",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:.31451377751859866,cy:-4.70220247000468,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["7kjEcCQNbaUjRAbeSyBXZx"],rightJoints:["ngivbbtv3RRgTjMZ9HM5iJ"],leftPoint:[-.9354862224814049,-4.70220247000468,.5],rightPoint:[1.5645137775185987,-4.70220247000468,.5],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"2sbTRgNVHvPNpK2pDRUNQN",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-1.935486222481405,cy:-4.202202470004682,cz:0,lx:2.2360679774997907,ly:.1,lz:61,leftJoints:["ne25yHm9jCD9Vx7iYW9GUg"],rightJoints:["2sbTRgNVHvPNpK2pDRUNQN"],leftPoint:[-2.935486222481405,-3.7022024700046807,.5],rightPoint:[-.9354862224814049,-4.702202470004682,.5],relativeAngle:5.819537698178779,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7kjEcCQNbaUjRAbeSyBXZx",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-3.685486222481405,cy:-2.9522024700046807,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["rnDe8ZUbiedJjvYKnAx9vs"],rightJoints:["7kjEcCQNbaUjRAbeSyBXZx"],leftPoint:[-4.435486222481405,-2.2022024700046807,.5],rightPoint:[-2.935486222481405,-3.7022024700046807,.5],relativeAngle:5.497787143782138,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ne25yHm9jCD9Vx7iYW9GUg",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-.316601796041418,cy:-12.89173870425908,cz:2.2408122612280286,lx:16.92215779250457,ly:.1,lz:60,leftJoints:["55SwaH9QxLHmcgrnQzAWTs"],rightJoints:["ho8wYRGhLSJb2djJKqwSe1"],leftPoint:[8.144477100210871,-12.89173870425908],rightPoint:[-8.7776806922937,-12.89173870425908],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rCFFBj6A2tyxuTVf5rPe81",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:8.144477100210871,cy:-21.23052296081884,cz:2.2301039869226305,lx:16.677568513119517,ly:.1,lz:60,leftJoints:["szxkDJ4zvsmCjRAjDwr4oT"],rightJoints:["rCFFBj6A2tyxuTVf5rPe81"],leftPoint:[8.144477100210871,-29.569307217378597],rightPoint:[8.144477100210871,-12.891738704259076],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"55SwaH9QxLHmcgrnQzAWTs",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:-8.777680692293703,cy:-21.230522960818842,cz:28.5009781424094,lx:16.67756851311951,ly:.1,lz:60,leftJoints:["rCFFBj6A2tyxuTVf5rPe81"],rightJoints:["szxkDJ4zvsmCjRAjDwr4oT"],leftPoint:[-8.777680692293707,-12.891738704259083],rightPoint:[-8.7776806922937,-29.569307217378597],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ho8wYRGhLSJb2djJKqwSe1",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:-.316601796041418,cy:-29.569307217378597,cz:2.268765007024547,lx:16.92215779250457,ly:.1,lz:60,leftJoints:["ho8wYRGhLSJb2djJKqwSe1"],rightJoints:["55SwaH9QxLHmcgrnQzAWTs"],leftPoint:[-8.7776806922937,-29.569307217378597],rightPoint:[8.144477100210871,-29.569307217378597],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szxkDJ4zvsmCjRAjDwr4oT",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Foundation",cx:32.336232202320254,cy:24.075169100408157,cz:.3,lx:47.66882528133987,ly:92.1673445682163,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d5JiHWyULwssBmiBFfBkPJ",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["vHsRxkqZrsLbc2Cw1mShNh"],rightJoints:["wC1WzjegFNTFT2ZnHmoM1U"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"q4Q62RYECS7ssEQGWwMQaR",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["3apukdsSG9Q7tUtWvyHP14"],rightJoints:["q4Q62RYECS7ssEQGWwMQaR"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vHsRxkqZrsLbc2Cw1mShNh",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["q4Q62RYECS7ssEQGWwMQaR"],rightJoints:["3apukdsSG9Q7tUtWvyHP14"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wC1WzjegFNTFT2ZnHmoM1U",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["wC1WzjegFNTFT2ZnHmoM1U"],rightJoints:["vHsRxkqZrsLbc2Cw1mShNh"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"3apukdsSG9Q7tUtWvyHP14",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Foundation",cx:42.906117156706635,cy:9.533578534694202,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6Vzmg1uXrJSEjXjuXeqZxb",selected:!1,locked:!1},{type:"Wall",cx:-2.059761729325267,cy:3.0551015103684858,cz:2.2408122612280286,lx:20.586914175189918,ly:.1,lz:40,leftJoints:["vFwZn47p27JhuJCUwo66PB"],rightJoints:["jz5YKDY6NpWFeAzmZZgmMG"],leftPoint:[8.233695358269692,3.0551015103684858,.5],rightPoint:[-12.353218816920226,3.0551015103684858,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eQty63hcTNfqGkZ1bn9pou",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:8.233695358269692,cy:-7.284137744601432,cz:2.2301039869226305,lx:20.678478509939843,ly:.1,lz:40,leftJoints:["tF3vwD5MeKKihs6KSsJULW"],rightJoints:["eQty63hcTNfqGkZ1bn9pou"],leftPoint:[8.233695358269692,-17.623376999571356,.5],rightPoint:[8.233695358269692,3.0551015103684858,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vFwZn47p27JhuJCUwo66PB",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:-12.353218816920233,cy:-7.2841377446014395,cz:2.228839888904333,lx:20.678478509939836,ly:.1,lz:40,leftJoints:["eQty63hcTNfqGkZ1bn9pou"],rightJoints:["tF3vwD5MeKKihs6KSsJULW"],leftPoint:[-12.353218816920233,3.0551015103684787,.5],rightPoint:[-12.353218816920226,-17.623376999571356,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jz5YKDY6NpWFeAzmZZgmMG",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:-2.059761729325267,cy:-17.623376999571356,cz:1.780425728663789,lx:20.586914175189918,ly:.1,lz:40,leftJoints:["jz5YKDY6NpWFeAzmZZgmMG"],rightJoints:["vFwZn47p27JhuJCUwo66PB"],leftPoint:[-12.353218816920226,-17.623376999571356,.5],rightPoint:[8.233695358269692,-17.623376999571356,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"tF3vwD5MeKKihs6KSsJULW",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Foundation",cx:34.184931916240686,cy:9.996162357092924,cz:.25,lx:28.142586741754783,ly:39.057935888273825,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fD1unP99uJ2AUvKzSqaqv1",selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["ho8wYRGhLSJb2djJKqwSe1","szxkDJ4zvsmCjRAjDwr4oT","55SwaH9QxLHmcgrnQzAWTs","rCFFBj6A2tyxuTVf5rPe81"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"j7icsPbRmrKngzuxfnJULB",locked:!1,sideColor:"#8f6767",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["tF3vwD5MeKKihs6KSsJULW","vFwZn47p27JhuJCUwo66PB","eQty63hcTNfqGkZ1bn9pou","jz5YKDY6NpWFeAzmZZgmMG"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"eiNiz47nydELtmQT3Y9tQx",locked:!1,sideColor:"#8f6767",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["rnDe8ZUbiedJjvYKnAx9vs","ne25yHm9jCD9Vx7iYW9GUg","7kjEcCQNbaUjRAbeSyBXZx","2sbTRgNVHvPNpK2pDRUNQN","ngivbbtv3RRgTjMZ9HM5iJ","hDTYb7CsL6KjhaG3K3ZaEb","1mFHht66LtQmGXw2uwQpTW","ieCZYgGYnWFZFTUUeDJ4Kc","ukLTgjquG74WrHxQMTeCGR","nXkkPMC5GnQsGGo6pXGf1J","9Qfx6trBssgAGuZJMWpoN4","7oCL7hfQ9Q5pKtbUKfbhxC","o7owRXdGmtoUmGe7aMBfwD","twZXBhJnLkQAfkhcdZPvcE","pqrUfkTtDCPWZgLQ2ZZY2x","6BBNNShnXYdN4Fo6vrLZgS"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6muwd4sKetNydriFdTdYo3",locked:!1,sideColor:"#8f6767",rise:40.65606181416068,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["vHsRxkqZrsLbc2Cw1mShNh","q4Q62RYECS7ssEQGWwMQaR","wC1WzjegFNTFT2ZnHmoM1U","3apukdsSG9Q7tUtWvyHP14"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",id:"7wW1vUuiQtQZyEVQ52AYZr",locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["b5Ed9Q8H2ZuAnTPt364rFi"],rightJoints:["iPw21WkbFfNGs2GducHHkL"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"ogWsiwSVu2siW9Ju34ZuiD",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["we96ZZsqRukzrDQLzGsXgd"],rightJoints:["ogWsiwSVu2siW9Ju34ZuiD"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"b5Ed9Q8H2ZuAnTPt364rFi",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["ogWsiwSVu2siW9Ju34ZuiD"],rightJoints:["we96ZZsqRukzrDQLzGsXgd"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"iPw21WkbFfNGs2GducHHkL",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["iPw21WkbFfNGs2GducHHkL"],rightJoints:["b5Ed9Q8H2ZuAnTPt364rFi"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"we96ZZsqRukzrDQLzGsXgd",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"qwYLFbE4ymUU5tBty522Jg",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["b5Ed9Q8H2ZuAnTPt364rFi","ogWsiwSVu2siW9Ju34ZuiD","iPw21WkbFfNGs2GducHHkL","we96ZZsqRukzrDQLzGsXgd"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:42.92006579798169,cy:-3.82074241486986,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kGDsncg3szoccDkShD216f",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["pGdyGz8Q2yqRKAUSe2WBaZ"],rightJoints:["gqtNTDTyYXafiDYDAD7TP5"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"13XtQDNCzy1wcfpbyh4hjG",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["appL8aespWEHwPfTvg3Tnj"],rightJoints:["13XtQDNCzy1wcfpbyh4hjG"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pGdyGz8Q2yqRKAUSe2WBaZ",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["13XtQDNCzy1wcfpbyh4hjG"],rightJoints:["appL8aespWEHwPfTvg3Tnj"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gqtNTDTyYXafiDYDAD7TP5",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["gqtNTDTyYXafiDYDAD7TP5"],rightJoints:["pGdyGz8Q2yqRKAUSe2WBaZ"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"appL8aespWEHwPfTvg3Tnj",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"unGGRxk8aAPx1RGgoMUHuG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["pGdyGz8Q2yqRKAUSe2WBaZ","13XtQDNCzy1wcfpbyh4hjG","gqtNTDTyYXafiDYDAD7TP5","appL8aespWEHwPfTvg3Tnj"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:21.16852585877021,cy:-3.78771116486994,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"wVk1Prn3hdhvpUZ9PYFEqC",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["fBMuUvUm2XHqZj1rfF2pKe"],rightJoints:["fFbhZTcnWojs6r2gfNC8Ac"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iqStzfwWhLGQQWnV7zYbVJ",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["fSWzmQwwSCpa4XTiCWadFJ"],rightJoints:["iqStzfwWhLGQQWnV7zYbVJ"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fBMuUvUm2XHqZj1rfF2pKe",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["iqStzfwWhLGQQWnV7zYbVJ"],rightJoints:["fSWzmQwwSCpa4XTiCWadFJ"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fFbhZTcnWojs6r2gfNC8Ac",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["fFbhZTcnWojs6r2gfNC8Ac"],rightJoints:["fBMuUvUm2XHqZj1rfF2pKe"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fSWzmQwwSCpa4XTiCWadFJ",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"64chsWYaQ1WXbJzrruvsSA",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["fBMuUvUm2XHqZj1rfF2pKe","iqStzfwWhLGQQWnV7zYbVJ","fFbhZTcnWojs6r2gfNC8Ac","fSWzmQwwSCpa4XTiCWadFJ"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:21.217344626106712,cy:9.487929780449239,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sTdmJHCeaF7fiC4wxraQvH",selected:!1,locked:!1},{type:"Foundation",cx:46.44079504193018,cy:-6.9607153899841805,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nBfQ1VbpB9H4ysCzMtCuPy",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["n8WrLFfhmR5MpuvGmKysZG"],rightJoints:["dbVfVNYCWAroMTmBEqYeR4"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wq86d5bWa3b2DNCBna4CeP",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["jKVT2MfeRaz2it59upaJsG"],rightJoints:["wq86d5bWa3b2DNCBna4CeP"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"n8WrLFfhmR5MpuvGmKysZG",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["wq86d5bWa3b2DNCBna4CeP"],rightJoints:["jKVT2MfeRaz2it59upaJsG"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"dbVfVNYCWAroMTmBEqYeR4",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["dbVfVNYCWAroMTmBEqYeR4"],rightJoints:["n8WrLFfhmR5MpuvGmKysZG"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"jKVT2MfeRaz2it59upaJsG",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["jKVT2MfeRaz2it59upaJsG","n8WrLFfhmR5MpuvGmKysZG","wq86d5bWa3b2DNCBna4CeP","dbVfVNYCWAroMTmBEqYeR4"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",id:"3cC18p4o27We9TRzUXcjvJ",locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["fGunkFZDLaHCN1Y4VqozG5"],rightJoints:["xgMnQPMYvVygU1qre3rtoQ"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"ic7X4VUc5364fhg7VH2Xt9",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["cVUWnxaNHTTX4XSarmyvut"],rightJoints:["ic7X4VUc5364fhg7VH2Xt9"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"fGunkFZDLaHCN1Y4VqozG5",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["ic7X4VUc5364fhg7VH2Xt9"],rightJoints:["cVUWnxaNHTTX4XSarmyvut"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"xgMnQPMYvVygU1qre3rtoQ",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["xgMnQPMYvVygU1qre3rtoQ"],rightJoints:["fGunkFZDLaHCN1Y4VqozG5"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"cVUWnxaNHTTX4XSarmyvut",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"iaC7gjXpRF8sDNrzMuoLvf",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["cVUWnxaNHTTX4XSarmyvut","fGunkFZDLaHCN1Y4VqozG5","ic7X4VUc5364fhg7VH2Xt9","xgMnQPMYvVygU1qre3rtoQ"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:46.31802127561469,cy:12.684398904718867,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sfGQk2YxLGeUhSygxuNcnp",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["gh1M1f9qhMGoNQ2Sc4Z2Dn"],rightJoints:["pnLNuXyTY2gSJ1DpTuU4uT"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"5gcHNbuEXkTtST9vsf3C1N",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["eHHmL4t3wnDWyiwmvPPcdG"],rightJoints:["5gcHNbuEXkTtST9vsf3C1N"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gh1M1f9qhMGoNQ2Sc4Z2Dn",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["5gcHNbuEXkTtST9vsf3C1N"],rightJoints:["eHHmL4t3wnDWyiwmvPPcdG"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pnLNuXyTY2gSJ1DpTuU4uT",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["pnLNuXyTY2gSJ1DpTuU4uT"],rightJoints:["gh1M1f9qhMGoNQ2Sc4Z2Dn"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eHHmL4t3wnDWyiwmvPPcdG",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"49DYNSJM4mb3Amf9zEcSuy",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["eHHmL4t3wnDWyiwmvPPcdG","gh1M1f9qhMGoNQ2Sc4Z2Dn","5gcHNbuEXkTtST9vsf3C1N","pnLNuXyTY2gSJ1DpTuU4uT"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:17.617416680668534,cy:-7.081676620216011,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j4PeEevBuviMj9ySaHCvmk",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["8RHz5EYxWVxY6Jt5vozUe7"],rightJoints:["2uW5rRCde8ts2eAbydroXA"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qovzxCb6vspTrPrifJg8FE",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["iYVes92EX4HBiJvFdVLp4v"],rightJoints:["qovzxCb6vspTrPrifJg8FE"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8RHz5EYxWVxY6Jt5vozUe7",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["qovzxCb6vspTrPrifJg8FE"],rightJoints:["iYVes92EX4HBiJvFdVLp4v"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2uW5rRCde8ts2eAbydroXA",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["2uW5rRCde8ts2eAbydroXA"],rightJoints:["8RHz5EYxWVxY6Jt5vozUe7"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iYVes92EX4HBiJvFdVLp4v",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"dU22xraE7fkaQeudtQezPj",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["iYVes92EX4HBiJvFdVLp4v","8RHz5EYxWVxY6Jt5vozUe7","qovzxCb6vspTrPrifJg8FE","2uW5rRCde8ts2eAbydroXA"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:17.73320615435275,cy:12.716218116632643,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6e1LBCH7kdPkaD1nyNXGTx",selected:!1,locked:!1},{type:"Foundation",cx:31.837120136953352,cy:34.21863076373691,cz:.25,lx:18.498978574883413,ly:60.60688660259319,lz:.2496942045301915,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"inhpub3MTpu4G1VDDvBtem",selected:!1,locked:!1},{type:"Wall",cx:.2345130342804871,cy:27.168552176842663,cz:2.2408122612280286,lx:16.254908005168197,ly:.1,lz:19.97553636241532,leftJoints:["t9LGJeHDCScMaYt1JPTD25"],rightJoints:["8ygPss7hAjTnN2gdGp6ttV"],leftPoint:[8.361967036864586,27.168552176842663,0],rightPoint:[-7.892940968303612,27.168552176842663,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kCsahZfC53mhXpdE7TMKTD",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,centerRoofHeight:[0,34.46430883284354],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:8.361967036864586,cy:.8572306983972329,cz:2.2301039869226305,lx:52.62264295689086,ly:.1,lz:19.97553636241532,leftJoints:["rzCwiAsS4K7UKzev4QiQCA"],rightJoints:["kCsahZfC53mhXpdE7TMKTD"],leftPoint:[8.361967036864586,-25.454090780048197,0],rightPoint:[8.361967036864586,27.168552176842663,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"t9LGJeHDCScMaYt1JPTD25",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:-7.8929409683036145,cy:.8572306983972151,cz:2.228839888904333,lx:52.62264295689083,ly:.1,lz:19.97553636241532,leftJoints:["kCsahZfC53mhXpdE7TMKTD"],rightJoints:["rzCwiAsS4K7UKzev4QiQCA"],leftPoint:[-7.892940968303616,27.168552176842628,0],rightPoint:[-7.892940968303612,-25.454090780048197,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8ygPss7hAjTnN2gdGp6ttV",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:.2345130342804871,cy:-25.454090780048197,cz:2.268765007024547,lx:16.254908005168197,ly:.1,lz:19.97553636241532,leftJoints:["8ygPss7hAjTnN2gdGp6ttV"],rightJoints:["t9LGJeHDCScMaYt1JPTD25"],leftPoint:[-7.892940968303612,-25.454090780048197,0],rightPoint:[8.361967036864586,-25.454090780048197,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rzCwiAsS4K7UKzev4QiQCA",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,centerRoofHeight:[0,34.46430883284354],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Default",wallsId:["t9LGJeHDCScMaYt1JPTD25"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"sygn3Sh4dUutUeoxP6LrDr",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!1,sideColor:"#8f6767",rise:14.488772470428223,ceiling:!1},{type:"Foundation",cx:42.906117156706635,cy:9.533578534694202,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3sLwhEgNEsXYeDRotu6V2t",selected:!1,locked:!1},{type:"Foundation",cx:42.92006579798169,cy:-3.82074241486986,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bJWxUcmXbPhwpSEfhKNUR9",selected:!1,locked:!1},{type:"Foundation",cx:21.16852585877021,cy:-3.78771116486994,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d25rEMwrJ6RN3MFRjbRPz1",selected:!1,locked:!1},{type:"Foundation",cx:21.217344626106712,cy:9.487929780449239,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cErd2SqgLThpK4vJfhjWqd",selected:!1,locked:!1},{type:"Foundation",cx:46.740795041930184,cy:-3.860715389984191,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vmAPnWwpqkdy6LbCoBx7XJ",selected:!1,locked:!1},{type:"Foundation",cx:46.718021275614696,cy:9.584398904718878,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"igvTSt7WASqgGBPhrg13mS",selected:!1,locked:!1},{type:"Foundation",cx:17.31741668066853,cy:-3.7816766202160212,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35UveCxDtSq3bRxo63iNA8",selected:!1,locked:!1},{type:"Foundation",cx:17.333206154352744,cy:9.516218116632654,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hcQws7c356C61b1Zdukfsh",selected:!1,locked:!1},{type:"Wall",cx:.08759481901403955,cy:.48701542341002635,cz:0,lx:.7619228017884919,ly:.1,lz:30.522600729435336,leftJoints:["xjtDHvujcFtzK6uxUtDUQW"],rightJoints:["pvCLq35sk3nh5kUAUegEwu"],leftPoint:[.23742845459659656,.8372745712126496,0],rightPoint:[-.06223881656851746,.13675627560740305,0],relativeAngle:-1.9750187634646525,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"eZcF1TXGmmHdWSo1nGEuPP",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.06223881656851746,cy:-.29019732073449356,cz:0,lx:.8539071926837931,ly:.1,lz:30.522600729435336,leftJoints:["eZcF1TXGmmHdWSo1nGEuPP"],rightJoints:[],leftPoint:[-.06223881656851746,.13675627560740305,0],rightPoint:[-.06223881656851746,-.7171509170763901,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"pvCLq35sk3nh5kUAUegEwu",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.48900253218546175,cy:1.0934467290177876,cz:0,lx:.7180910553661809,ly:.1,lz:30.522600729435336,leftJoints:["1n1zoL6MhaLiDGbiwa1f2P"],rightJoints:["eZcF1TXGmmHdWSo1nGEuPP"],leftPoint:[.7405766097743269,1.3496188868229255,0],rightPoint:[.23742845459659656,.8372745712126496,0],relativeAngle:-2.3471388749896596,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"xjtDHvujcFtzK6uxUtDUQW",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.0760087132261462,cy:1.520400325359684,cz:0,lx:.7528107219608302,ly:.1,lz:30.522600729435336,leftJoints:["mriUigHEL4wunXM4kHrR6L"],rightJoints:["xjtDHvujcFtzK6uxUtDUQW"],leftPoint:[1.4114408166779655,1.6911817638964426,0],rightPoint:[.7405766097743269,1.3496188868229255,0],relativeAngle:-2.6706609040195843,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"1n1zoL6MhaLiDGbiwa1f2P",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.8307309459927419,cy:1.6911817638964426,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["swhHhwagxik9xtVxu4wfTo"],rightJoints:["1n1zoL6MhaLiDGbiwa1f2P"],leftPoint:[2.2500210753075183,1.6911817638964426,0],rightPoint:[1.4114408166779655,1.6911817638964426,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"mriUigHEL4wunXM4kHrR6L",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:2.5854531787593378,cy:1.520400325359684,cz:0,lx:.7528107219608307,ly:.1,lz:30.522600729435336,leftJoints:["hi3umDHUNXmBT4vcsRpTQy"],rightJoints:["mriUigHEL4wunXM4kHrR6L"],leftPoint:[2.9208852822111573,1.3496188868229255,0],rightPoint:[2.2500210753075183,1.6911817638964426,0],relativeAngle:2.6706609040195843,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"swhHhwagxik9xtVxu4wfTo",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.172459359800022,cy:1.0934467290177876,cz:0,lx:.7180910553661805,ly:.1,lz:30.522600729435336,leftJoints:["dRRWEjS64akBN9tsLF4oVT"],rightJoints:["swhHhwagxik9xtVxu4wfTo"],leftPoint:[3.424033437388887,.8372745712126496,0],rightPoint:[2.9208852822111573,1.3496188868229255,0],relativeAngle:2.347138874989659,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"hi3umDHUNXmBT4vcsRpTQy",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.5917494891147967,cy:.4957116941391323,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["uQk2JFg84bBpGZQkpPmwje"],rightJoints:["hi3umDHUNXmBT4vcsRpTQy"],leftPoint:[3.7594655408407065,.15414881706561503,0],rightPoint:[3.424033437388887,.8372745712126496,0],relativeAngle:2.027238521722415,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"dRRWEjS64akBN9tsLF4oVT",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.7594655408407065,cy:-.2728047792762874,cz:0,lx:.8539071926838048,ly:.1,lz:30.522600729435336,leftJoints:["muL5NfgYyKhfqV3h7fsQsn"],rightJoints:["dRRWEjS64akBN9tsLF4oVT"],leftPoint:[3.7594655408407065,-.6997583756181898,0],rightPoint:[3.7594655408407065,.15414881706561503,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"uQk2JFg84bBpGZQkpPmwje",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.08759481901404094,cy:-1.0500175234208071,cz:0,lx:.7300693007410605,ly:.1,lz:30.522600729435336,leftJoints:[],rightJoints:["7EX6pFLmgKqJLtfcWEpofK"],leftPoint:[-.06223881656851469,-.7171509170763901,0],rightPoint:[.23742845459659656,-1.3828841297652243,0],relativeAngle:-1.147833323399613,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"5WHTbyH9BzzN64KTDCgoMv",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.5917494891147967,cy:-1.041321252691707,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["oikWBJjQhAPNedPGNcE3gc"],rightJoints:["uQk2JFg84bBpGZQkpPmwje"],leftPoint:[3.424033437388887,-1.3828841297652243,0],rightPoint:[3.7594655408407065,-.6997583756181898,0],relativeAngle:1.1143541318673784,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"muL5NfgYyKhfqV3h7fsQsn",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.172459359800022,cy:-1.6390562875703623,cz:0,lx:.7180910553661803,ly:.1,lz:30.522600729435336,leftJoints:["i4ifyJQtiXdLMSDpWxEVF4"],rightJoints:["muL5NfgYyKhfqV3h7fsQsn"],leftPoint:[2.9208852822111573,-1.8952284453755002,0],rightPoint:[3.424033437388887,-1.3828841297652243,0],relativeAngle:.7944537786001341,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"oikWBJjQhAPNedPGNcE3gc",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:2.5854531787593378,cy:-2.0660098839122587,cz:0,lx:.7528107219608308,ly:.1,lz:30.522600729435336,leftJoints:["wop6FQVjsmsgGpEYiRnuWv"],rightJoints:["oikWBJjQhAPNedPGNcE3gc"],leftPoint:[2.2500210753075183,-2.2367913224490175,0],rightPoint:[2.9208852822111573,-1.8952284453755002,0],relativeAngle:.47093174957020895,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"i4ifyJQtiXdLMSDpWxEVF4",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.8307309459927419,cy:-2.2367913224490175,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["xvpmoVyQtt5PQRMqAmpsxP"],rightJoints:["i4ifyJQtiXdLMSDpWxEVF4"],leftPoint:[1.4114408166779655,-2.2367913224490175,0],rightPoint:[2.2500210753075183,-2.2367913224490175,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"wop6FQVjsmsgGpEYiRnuWv",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.0760087132261462,cy:-2.0660098839122587,cz:0,lx:.7528107219608304,ly:.1,lz:30.522600729435336,leftJoints:["7EX6pFLmgKqJLtfcWEpofK"],rightJoints:["wop6FQVjsmsgGpEYiRnuWv"],leftPoint:[.7405766097743269,-1.8952284453755002,0],rightPoint:[1.4114408166779655,-2.2367913224490175,0],relativeAngle:-.4709317495702092,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"xvpmoVyQtt5PQRMqAmpsxP",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.48900253218546175,cy:-1.6390562875703623,cz:0,lx:.7180910553661808,ly:.1,lz:30.522600729435336,leftJoints:["5WHTbyH9BzzN64KTDCgoMv"],rightJoints:["xvpmoVyQtt5PQRMqAmpsxP"],leftPoint:[.23742845459659656,-1.3828841297652243,0],rightPoint:[.7405766097743269,-1.8952284453755002,0],relativeAngle:-.7944537786001334,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7EX6pFLmgKqJLtfcWEpofK",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{id:"hYevMRVtvGbUbiRqk1nUc8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["5WHTbyH9BzzN64KTDCgoMv","7EX6pFLmgKqJLtfcWEpofK","xvpmoVyQtt5PQRMqAmpsxP","wop6FQVjsmsgGpEYiRnuWv","i4ifyJQtiXdLMSDpWxEVF4","oikWBJjQhAPNedPGNcE3gc","muL5NfgYyKhfqV3h7fsQsn","uQk2JFg84bBpGZQkpPmwje","dRRWEjS64akBN9tsLF4oVT","hi3umDHUNXmBT4vcsRpTQy","swhHhwagxik9xtVxu4wfTo","mriUigHEL4wunXM4kHrR6L","1n1zoL6MhaLiDGbiwa1f2P","xjtDHvujcFtzK6uxUtDUQW","eZcF1TXGmmHdWSo1nGEuPP","pvCLq35sk3nh5kUAUegEwu"],selected:!1,locked:!1,sideColor:"#8f6767",rise:20.34309413089949,ceiling:!1},{type:"Foundation",cx:22.101836585291686,cy:59.66510601397874,cz:.25,lx:10.346352433552571,ly:7.249184290263735,lz:.25018525188061747,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nzCkjYnVxyaDzHFwCDNifn",selected:!1,locked:!1},{type:"Wall",cx:.29316921930580264,cy:25.564628992279733,cz:2.2408122612280286,lx:20.32057068547883,ly:.1,lz:11.54977608077218,leftJoints:["s1xEbSBtShW5kWkbmjYKyT"],rightJoints:["kdHDzULPWJfMLCpsjYsWA1"],leftPoint:[10.453454562045218,25.564628992279733,0],rightPoint:[-9.867116123433613,25.564628992279733,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6NAiyB2LDnaumetDroz2SP",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,centerRoofHeight:[0,17.846156119433356],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:10.453454562045218,cy:.806623209903595,cz:2.2301039869226305,lx:49.516011564752276,ly:.1,lz:11.54977608077218,leftJoints:["4soX2cVpCLxg8TgMMdUsVJ"],rightJoints:["6NAiyB2LDnaumetDroz2SP"],leftPoint:[10.453454562045218,-23.951382572472543,0],rightPoint:[10.453454562045218,25.564628992279733,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s1xEbSBtShW5kWkbmjYKyT",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:-9.867116123433618,cy:.806623209903579,cz:2.228839888904333,lx:49.51601156475225,ly:.1,lz:11.54977608077218,leftJoints:["6NAiyB2LDnaumetDroz2SP"],rightJoints:["4soX2cVpCLxg8TgMMdUsVJ"],leftPoint:[-9.867116123433622,25.5646289922797,0],rightPoint:[-9.867116123433613,-23.951382572472543,0],relativeAngle:-1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kdHDzULPWJfMLCpsjYsWA1",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:.29316921930580264,cy:-23.951382572472543,cz:2.268765007024547,lx:20.32057068547883,ly:.1,lz:11.54977608077218,leftJoints:["kdHDzULPWJfMLCpsjYsWA1"],rightJoints:["s1xEbSBtShW5kWkbmjYKyT"],leftPoint:[-9.867116123433613,-23.951382572472543,0],rightPoint:[10.453454562045218,-23.951382572472543,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4soX2cVpCLxg8TgMMdUsVJ",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,centerRoofHeight:[0,17.846156119433356],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{id:"43U2Bn5NdVK18XM6yHM246",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["s1xEbSBtShW5kWkbmjYKyT"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,sideColor:"#8f6767",rise:6.296380038661177,ceiling:!1},{type:"Foundation",cx:31.800913861014813,cy:36.46175047854304,cz:.25,lx:23.12592612769986,ly:57.028897244406764,lz:.14437220100965228,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tRJdenhEy35bKxtqwaV7mW",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rY4g4se9c9Ac81ycfZ2psF"],rightJoints:["edLYKiK67rcWj7yEjSg5Gw"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"m2HcdaunRK2mJDqZ6u7zB2",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["hnGSq9jjoBBqypZ4j6i4tD"],rightJoints:["m2HcdaunRK2mJDqZ6u7zB2"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rY4g4se9c9Ac81ycfZ2psF",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["m2HcdaunRK2mJDqZ6u7zB2"],rightJoints:["hnGSq9jjoBBqypZ4j6i4tD"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edLYKiK67rcWj7yEjSg5Gw",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["edLYKiK67rcWj7yEjSg5Gw"],rightJoints:["rY4g4se9c9Ac81ycfZ2psF"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"hnGSq9jjoBBqypZ4j6i4tD",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"b6WgrEhvmm5vBfQ5hvUoV7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["hnGSq9jjoBBqypZ4j6i4tD","rY4g4se9c9Ac81ycfZ2psF","m2HcdaunRK2mJDqZ6u7zB2","edLYKiK67rcWj7yEjSg5Gw"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.0572589693394,cy:29.64082269160803,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4eW2GX1ScRsXHpNggfMAh6",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["iDdbvKHdvp7bwG9TRH7Z1s"],rightJoints:["qCdtrWKEz7G85zz6r7u1bg"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4SRnxg5YyewBKp25hu7pX6",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["o3YcepgLVkYe1C12rYuUcN"],rightJoints:["4SRnxg5YyewBKp25hu7pX6"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iDdbvKHdvp7bwG9TRH7Z1s",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["4SRnxg5YyewBKp25hu7pX6"],rightJoints:["o3YcepgLVkYe1C12rYuUcN"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qCdtrWKEz7G85zz6r7u1bg",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["qCdtrWKEz7G85zz6r7u1bg"],rightJoints:["iDdbvKHdvp7bwG9TRH7Z1s"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"o3YcepgLVkYe1C12rYuUcN",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"w76LBs2JwDTGkqjmZCF8cs",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["o3YcepgLVkYe1C12rYuUcN","iDdbvKHdvp7bwG9TRH7Z1s","4SRnxg5YyewBKp25hu7pX6","qCdtrWKEz7G85zz6r7u1bg"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:21.776349007392366,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4grymoAeE1wyKWf6d9SvGL",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["pqDxrgVJyRAZkmJDZW8KxP"],rightJoints:["5YtUmRWQdNuxWqery1ymqA"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wgaVoeaxZnDaQiMJmkWwKa",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["osM7biMJmfhnN53neDAWtn"],rightJoints:["wgaVoeaxZnDaQiMJmkWwKa"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pqDxrgVJyRAZkmJDZW8KxP",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["wgaVoeaxZnDaQiMJmkWwKa"],rightJoints:["osM7biMJmfhnN53neDAWtn"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"5YtUmRWQdNuxWqery1ymqA",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["5YtUmRWQdNuxWqery1ymqA"],rightJoints:["pqDxrgVJyRAZkmJDZW8KxP"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"osM7biMJmfhnN53neDAWtn",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"ccBdYpfsEntnyimCgAGbFH",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["osM7biMJmfhnN53neDAWtn","pqDxrgVJyRAZkmJDZW8KxP","wgaVoeaxZnDaQiMJmkWwKa","5YtUmRWQdNuxWqery1ymqA"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:38.27619910075263,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEkR58t9MVxKb9UtTzLoRJ",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["aWFGP4t67ffRZBsCFNikXA"],rightJoints:["2uYJDU198peC8Tg5ojQxP4"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iWxYLc7ffDzpRdJiYsnbXJ",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["1Q3HJwHJv2PVY4SzR42Cjo"],rightJoints:["iWxYLc7ffDzpRdJiYsnbXJ"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aWFGP4t67ffRZBsCFNikXA",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["iWxYLc7ffDzpRdJiYsnbXJ"],rightJoints:["1Q3HJwHJv2PVY4SzR42Cjo"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2uYJDU198peC8Tg5ojQxP4",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["2uYJDU198peC8Tg5ojQxP4"],rightJoints:["aWFGP4t67ffRZBsCFNikXA"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1Q3HJwHJv2PVY4SzR42Cjo",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"eQ7btevxK7r8DzoyTEdTxn",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["1Q3HJwHJv2PVY4SzR42Cjo","aWFGP4t67ffRZBsCFNikXA","iWxYLc7ffDzpRdJiYsnbXJ","2uYJDU198peC8Tg5ojQxP4"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:46.27619910075262,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"61X5NKPMEEPTLmE48XtBWW",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["fY4i2vP6PHczLiFYJKL6Wv"],rightJoints:["idjrGY3KVjR98yX9Yu1Ra6"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eMNaM3G63snsMKbM8u6oYY",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["amBCThLtBnL1J1PMrwDbZv"],rightJoints:["eMNaM3G63snsMKbM8u6oYY"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fY4i2vP6PHczLiFYJKL6Wv",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["eMNaM3G63snsMKbM8u6oYY"],rightJoints:["amBCThLtBnL1J1PMrwDbZv"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"idjrGY3KVjR98yX9Yu1Ra6",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["idjrGY3KVjR98yX9Yu1Ra6"],rightJoints:["fY4i2vP6PHczLiFYJKL6Wv"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"amBCThLtBnL1J1PMrwDbZv",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"tuJvTy5gsauq5Hd2q2TrvG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["amBCThLtBnL1J1PMrwDbZv","fY4i2vP6PHczLiFYJKL6Wv","eMNaM3G63snsMKbM8u6oYY","idjrGY3KVjR98yX9Yu1Ra6"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.070416864076236,cy:54.22634900740702,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gJWB97wg6zgCYzFdGJY5ps",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["6pg1zB89qcq9dmq7s1ptPG"],rightJoints:["q4CuysQYWEW74wVhnGoz38"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vbW8e5Fx8RtgYAGG2GpRxh",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["27GGc5fv8LG1vuW4Uncogs"],rightJoints:["vbW8e5Fx8RtgYAGG2GpRxh"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6pg1zB89qcq9dmq7s1ptPG",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["vbW8e5Fx8RtgYAGG2GpRxh"],rightJoints:["27GGc5fv8LG1vuW4Uncogs"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"q4CuysQYWEW74wVhnGoz38",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["q4CuysQYWEW74wVhnGoz38"],rightJoints:["6pg1zB89qcq9dmq7s1ptPG"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"27GGc5fv8LG1vuW4Uncogs",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"vKsXGsPSDc5jtGNVG5pT4h",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["27GGc5fv8LG1vuW4Uncogs","6pg1zB89qcq9dmq7s1ptPG","vbW8e5Fx8RtgYAGG2GpRxh","q4CuysQYWEW74wVhnGoz38"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.02516540226579,cy:13.71724930866217,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"amG9BsG4REBbTJiqZddZRf",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["pNFepfvePvMvRyTFP4sbzs"],rightJoints:["kf6UY9oxBvAS9oizmQi2UF"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"49srqvHCqp7LPpHj4YFmnX",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["qjgvxRHbZgjaPsgRgW2rKY"],rightJoints:["49srqvHCqp7LPpHj4YFmnX"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pNFepfvePvMvRyTFP4sbzs",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["49srqvHCqp7LPpHj4YFmnX"],rightJoints:["qjgvxRHbZgjaPsgRgW2rKY"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kf6UY9oxBvAS9oizmQi2UF",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["kf6UY9oxBvAS9oizmQi2UF"],rightJoints:["pNFepfvePvMvRyTFP4sbzs"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qjgvxRHbZgjaPsgRgW2rKY",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"585fnALdAC34mNZDfmGzpR",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["qjgvxRHbZgjaPsgRgW2rKY","pNFepfvePvMvRyTFP4sbzs","49srqvHCqp7LPpHj4YFmnX","kf6UY9oxBvAS9oizmQi2UF"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.108670143366425,cy:21.75623548237505,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ijj9XtQP41yWeKSFtsH9KG",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["4FTkcMtCn8GmJne1UmBSnm"],rightJoints:["1fYMNpakzjWFH4TGNYecnG"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1P5iFtakfLrTXAgXy2xEwu",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["8SkMwYmnPtJVtGW2vvZau2"],rightJoints:["1P5iFtakfLrTXAgXy2xEwu"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4FTkcMtCn8GmJne1UmBSnm",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["1P5iFtakfLrTXAgXy2xEwu"],rightJoints:["8SkMwYmnPtJVtGW2vvZau2"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1fYMNpakzjWFH4TGNYecnG",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["1fYMNpakzjWFH4TGNYecnG"],rightJoints:["4FTkcMtCn8GmJne1UmBSnm"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8SkMwYmnPtJVtGW2vvZau2",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"5jHjwRti8g6gjQYwYNaqMu",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["8SkMwYmnPtJVtGW2vvZau2","4FTkcMtCn8GmJne1UmBSnm","1P5iFtakfLrTXAgXy2xEwu","1fYMNpakzjWFH4TGNYecnG"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.06868414507791,cy:13.792917787121219,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tsSkKMSbzvsCzXJnVjuqkh",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["eKwrTnqzoru7h1ejKJfQMg"],rightJoints:["aepE6idhiAJ636esCgz28B"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"sduDhLeTnLnC5gSRR1knQa",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["rD8sjfgNgEk8eR9fGvg7qv"],rightJoints:["sduDhLeTnLnC5gSRR1knQa"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eKwrTnqzoru7h1ejKJfQMg",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["sduDhLeTnLnC5gSRR1knQa"],rightJoints:["rD8sjfgNgEk8eR9fGvg7qv"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aepE6idhiAJ636esCgz28B",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["aepE6idhiAJ636esCgz28B"],rightJoints:["eKwrTnqzoru7h1ejKJfQMg"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rD8sjfgNgEk8eR9fGvg7qv",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"gdKEp1z3y4ryc7dvjnUqEa",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["rD8sjfgNgEk8eR9fGvg7qv","eKwrTnqzoru7h1ejKJfQMg","sduDhLeTnLnC5gSRR1knQa","aepE6idhiAJ636esCgz28B"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.029331020077915,cy:30.2047466933794,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"c5x1qZw1vbVMAajuz84fbo",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rmuH4rirvchW582N8rYFag"],rightJoints:["uW9vVgQVERMAHeNEoWkYEh"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"uUKBr4jcQhby6GvNzKqUHH",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["wbwhMTBcYQcbgteFUcRUx7"],rightJoints:["uUKBr4jcQhby6GvNzKqUHH"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rmuH4rirvchW582N8rYFag",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["uUKBr4jcQhby6GvNzKqUHH"],rightJoints:["wbwhMTBcYQcbgteFUcRUx7"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"uW9vVgQVERMAHeNEoWkYEh",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["uW9vVgQVERMAHeNEoWkYEh"],rightJoints:["rmuH4rirvchW582N8rYFag"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wbwhMTBcYQcbgteFUcRUx7",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"rTW8jYbcN9iKLUvtZVEcCq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["wbwhMTBcYQcbgteFUcRUx7","rmuH4rirvchW582N8rYFag","uUKBr4jcQhby6GvNzKqUHH","uW9vVgQVERMAHeNEoWkYEh"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.063453741288843,cy:38.34103797920378,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8naBHyvVijZuabFdbTKFpX",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["ash2NaiDiFh6y8HJuTzbUe"],rightJoints:["rQ2xEkb62W6Hz14LruJt4U"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ui6xC8viC2GKhF7W4v6W1c",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["4a5mwkpfWp9Ti3rrftjFDZ"],rightJoints:["ui6xC8viC2GKhF7W4v6W1c"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ash2NaiDiFh6y8HJuTzbUe",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["ui6xC8viC2GKhF7W4v6W1c"],rightJoints:["4a5mwkpfWp9Ti3rrftjFDZ"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rQ2xEkb62W6Hz14LruJt4U",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rQ2xEkb62W6Hz14LruJt4U"],rightJoints:["ash2NaiDiFh6y8HJuTzbUe"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4a5mwkpfWp9Ti3rrftjFDZ",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"aSwgfRaBWT4x8pjZRpNseg",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["4a5mwkpfWp9Ti3rrftjFDZ","ash2NaiDiFh6y8HJuTzbUe","ui6xC8viC2GKhF7W4v6W1c","rQ2xEkb62W6Hz14LruJt4U"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.082728428788844,cy:46.363924541707796,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"pea8XwQNq3CzMWjVuAMDFt",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["9KWwq22ziFFGjGozMGZDJy"],rightJoints:["axJwDxU9qufHCzbi6cJjRE"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2xmth77a7rM6NqB4LYTVg3",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["47gofCM28sUzgssGChu6rj"],rightJoints:["2xmth77a7rM6NqB4LYTVg3"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"9KWwq22ziFFGjGozMGZDJy",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["2xmth77a7rM6NqB4LYTVg3"],rightJoints:["47gofCM28sUzgssGChu6rj"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"axJwDxU9qufHCzbi6cJjRE",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["axJwDxU9qufHCzbi6cJjRE"],rightJoints:["9KWwq22ziFFGjGozMGZDJy"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"47gofCM28sUzgssGChu6rj",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"wmVcJCTPwpivZkJBd9PRUz",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["47gofCM28sUzgssGChu6rj","9KWwq22ziFFGjGozMGZDJy","2xmth77a7rM6NqB4LYTVg3","axJwDxU9qufHCzbi6cJjRE"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.06830096335861,cy:54.39520622164741,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3FFY4h4Y53Ud4TwY2XAm3b",selected:!1,locked:!1},{type:"Wall",cx:-4.287405180985958,cy:.6870154234100241,cz:0,lx:.7619228017884919,ly:.1,lz:30.522600729435336,leftJoints:["eyhcnsCSVemrG9SDzg4nJ2"],rightJoints:["bHsvKPqQBPZPeMWXAxFnQa"],leftPoint:[-4.137571545403402,1.0372745712126488,.25018525188061747],rightPoint:[-4.437238816568516,.3367562756073994,.25018525188061747],relativeAngle:-1.9750187634646525,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aU3ZWFitC4Fgrww9n7FaQe",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-4.437238816568516,cy:-.0901973207344966,cz:0,lx:.8539071926837931,ly:.1,lz:30.522600729435336,leftJoints:["aU3ZWFitC4Fgrww9n7FaQe"],rightJoints:[],leftPoint:[-4.437238816568516,.3367562756073994,.25018525188061747],rightPoint:[-4.437238816568516,-.5171509170763926,.25018525188061747],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bHsvKPqQBPZPeMWXAxFnQa",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.8859974678145366,cy:1.2934467290177807,cz:0,lx:.7180910553661809,ly:.1,lz:30.522600729435336,leftJoints:["xcRtMosaXc2kjoRaazGNSd"],rightJoints:["aU3ZWFitC4Fgrww9n7FaQe"],leftPoint:[-3.6344233902256713,1.5496188868229197,.25018525188061747],rightPoint:[-4.137571545403402,1.0372745712126488,.25018525188061747],relativeAngle:-2.3471388749896596,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eyhcnsCSVemrG9SDzg4nJ2",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.298991286773852,cy:1.7204003253596767,cz:0,lx:.7528107219608302,ly:.1,lz:30.522600729435336,leftJoints:["fsM3HFbdwGctcxehK1sWSn"],rightJoints:["eyhcnsCSVemrG9SDzg4nJ2"],leftPoint:[-2.9635591833220327,1.8911817638964408,.25018525188061747],rightPoint:[-3.6344233902256713,1.5496188868229197,.25018525188061747],relativeAngle:-2.6706609040195843,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xcRtMosaXc2kjoRaazGNSd",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-2.5442690540072563,cy:1.8911817638964408,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["6XgmyJyqgEv5ifchExpE81"],rightJoints:["xcRtMosaXc2kjoRaazGNSd"],leftPoint:[-2.12497892469248,1.8911817638964408,.25018525188061747],rightPoint:[-2.9635591833220327,1.8911817638964408,.25018525188061747],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fsM3HFbdwGctcxehK1sWSn",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.7895468212406604,cy:1.7204003253596767,cz:0,lx:.7528107219608307,ly:.1,lz:30.522600729435336,leftJoints:["fYWGXixdnmhXJQ9obJmEx4"],rightJoints:["fsM3HFbdwGctcxehK1sWSn"],leftPoint:[-1.454114717788841,1.5496188868229197,.25018525188061747],rightPoint:[-2.12497892469248,1.8911817638964408,.25018525188061747],relativeAngle:2.6706609040195843,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6XgmyJyqgEv5ifchExpE81",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.202540640199976,cy:1.2934467290177807,cz:0,lx:.7180910553661805,ly:.1,lz:30.522600729435336,leftJoints:["4GwFXBtR54ZnyGA71jYYZc"],rightJoints:["6XgmyJyqgEv5ifchExpE81"],leftPoint:[-.9509665626111112,1.0372745712126488,.25018525188061747],rightPoint:[-1.454114717788841,1.5496188868229197,.25018525188061747],relativeAngle:2.347138874989659,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fYWGXixdnmhXJQ9obJmEx4",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.7832505108852015,cy:.6957116941391277,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["eBehuFBXFQvHTyVLAdaGdf"],rightJoints:["fYWGXixdnmhXJQ9obJmEx4"],leftPoint:[-.6155344591592917,.35414881706561374,.25018525188061747],rightPoint:[-.9509665626111112,1.0372745712126488,.25018525188061747],relativeAngle:2.027238521722415,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4GwFXBtR54ZnyGA71jYYZc",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.6155344591592917,cy:-.07280477927628937,cz:0,lx:.8539071926838048,ly:.1,lz:30.522600729435336,leftJoints:["d7o4BGzTN8VdkyE1cWq7ia"],rightJoints:["4GwFXBtR54ZnyGA71jYYZc"],leftPoint:[-.6155344591592917,-.4997583756181925,.25018525188061747],rightPoint:[-.6155344591592917,.35414881706561374,.25018525188061747],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eBehuFBXFQvHTyVLAdaGdf",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-4.2874051809859575,cy:-.85001752342081,cz:0,lx:.7300693007410605,ly:.1,lz:30.522600729435336,leftJoints:[],rightJoints:["71Xv23m81dcuvYBk8UDpg2"],leftPoint:[-4.437238816568513,-.5171509170763926,.25018525188061747],rightPoint:[-4.137571545403402,-1.1828841297652275,.25018525188061747],relativeAngle:-1.147833323399613,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xewwKY8wmraW5H3W8KA3XV",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.7832505108852015,cy:-.8413212526917135,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["gKowPySkxP5QDpYS45Ky87"],rightJoints:["eBehuFBXFQvHTyVLAdaGdf"],leftPoint:[-.9509665626111112,-1.1828841297652275,.25018525188061747],rightPoint:[-.6155344591592917,-.4997583756181925,.25018525188061747],relativeAngle:1.1143541318673784,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"d7o4BGzTN8VdkyE1cWq7ia",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.202540640199976,cy:-1.4390562875703665,cz:0,lx:.7180910553661803,ly:.1,lz:30.522600729435336,leftJoints:["w2pokb3YWg3yZ7YCCbdX1w"],rightJoints:["d7o4BGzTN8VdkyE1cWq7ia"],leftPoint:[-1.454114717788841,-1.6952284453755055,.25018525188061747],rightPoint:[-.9509665626111112,-1.1828841297652275,.25018525188061747],relativeAngle:.7944537786001341,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gKowPySkxP5QDpYS45Ky87",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.7895468212406604,cy:-1.8660098839122625,cz:0,lx:.7528107219608308,ly:.1,lz:30.522600729435336,leftJoints:["6uEEWTZCV76LChiCEwjXou"],rightJoints:["gKowPySkxP5QDpYS45Ky87"],leftPoint:[-2.12497892469248,-2.0367913224490195,.25018525188061747],rightPoint:[-1.454114717788841,-1.6952284453755055,.25018525188061747],relativeAngle:.47093174957020895,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"w2pokb3YWg3yZ7YCCbdX1w",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-2.5442690540072563,cy:-2.0367913224490195,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["t5GH8Xd8h7kQ1uXXK7nK76"],rightJoints:["w2pokb3YWg3yZ7YCCbdX1w"],leftPoint:[-2.9635591833220327,-2.0367913224490195,.25018525188061747],rightPoint:[-2.12497892469248,-2.0367913224490195,.25018525188061747],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6uEEWTZCV76LChiCEwjXou",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.298991286773852,cy:-1.8660098839122625,cz:0,lx:.7528107219608304,ly:.1,lz:30.522600729435336,leftJoints:["71Xv23m81dcuvYBk8UDpg2"],rightJoints:["6uEEWTZCV76LChiCEwjXou"],leftPoint:[-3.6344233902256713,-1.6952284453755055,.25018525188061747],rightPoint:[-2.9635591833220327,-2.0367913224490195,.25018525188061747],relativeAngle:-.4709317495702092,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"t5GH8Xd8h7kQ1uXXK7nK76",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.8859974678145366,cy:-1.4390562875703665,cz:0,lx:.7180910553661808,ly:.1,lz:30.522600729435336,leftJoints:["xewwKY8wmraW5H3W8KA3XV"],rightJoints:["t5GH8Xd8h7kQ1uXXK7nK76"],leftPoint:[-4.137571545403402,-1.1828841297652275,.25018525188061747],rightPoint:[-3.6344233902256713,-1.6952284453755055,.25018525188061747],relativeAngle:-.7944537786001334,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"71Xv23m81dcuvYBk8UDpg2",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{id:"fvYFb2pAnenzxFGy1hd1nC",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["xewwKY8wmraW5H3W8KA3XV","71Xv23m81dcuvYBk8UDpg2","t5GH8Xd8h7kQ1uXXK7nK76","6uEEWTZCV76LChiCEwjXou","w2pokb3YWg3yZ7YCCbdX1w","gKowPySkxP5QDpYS45Ky87","d7o4BGzTN8VdkyE1cWq7ia","eBehuFBXFQvHTyVLAdaGdf","4GwFXBtR54ZnyGA71jYYZc","fYWGXixdnmhXJQ9obJmEx4","6XgmyJyqgEv5ifchExpE81","fsM3HFbdwGctcxehK1sWSn","xcRtMosaXc2kjoRaazGNSd","eyhcnsCSVemrG9SDzg4nJ2","aU3ZWFitC4Fgrww9n7FaQe","bHsvKPqQBPZPeMWXAxFnQa"],selected:!1,locked:!1,sideColor:"#8f6767",rise:20.34309413089949,ceiling:!1},{type:"Foundation",cx:42.75366036851538,cy:59.539698159110614,cz:.25,lx:10.249999999999995,ly:6.800000000000001,lz:.25018525188061747,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h1eHzifF9EYnFRDPhVNFMh",selected:!1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.8009797439083822,lx:.12303976124405665,ly:.3,lz:.500612339942739,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"kCsahZfC53mhXpdE7TMKTD",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"n1xfWKYM49Ta9i1jvUnSdx",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3030361779763614,lx:.14763364899706352,ly:.3,lz:1.1255629467693422,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",id:"t1uT7pQu9MoDXHdkcvNfZV",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.3813869265757474,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",id:"oHgCutzcC6esppUpaCZhxo",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jaye",cx:-3.1586003174219464,cy:42.50138216080711,cz:.300000011920929,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"gGGvteApaSqA4rn3D5Jbp6",selected:!1,locked:!1,ly:.55},{type:"Window",cx:-.20914766941250665,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qRAtVr3qjJXnPZvCynZgyN",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.20914766941250665,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"k25WWUL3hGYFBBRg8XmfZg",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3813869265757474,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"xpvMVVPvYfJtfXdZGuJKJ7",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3420580759264758,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"9MktNmqdZdUjgUT3J7mmKP",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.1805306511834178,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"5VB6B3ApC4i4eK9yQ41MtE",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.019003226440359768,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"wzeRPHbDL7fX7eVg8JovP1",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.15202581152287814,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"gajXEi8SYukHS1ccyswRmf",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.3135532362659362,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"8XYd7CxYiMzmhMgtNcF9hb",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.30405162304575645,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"iXrcQAXko5wJpsX8sJ8oxo",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.14252419830269836,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"dP8bg5cpSmNTjTSvLF6GmF",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.028504839660539658,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"nEjY9Gpj1vzDHW816Q21tM",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.17102903796323798,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"gFdP6DrScRCmNaddZ5LxW9",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.34205807592647597,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qYRq9Vy4HqB8CxTJbdKN9R",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.40390975298658544,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"7Lt4nrPUnVMu764fCtZmnY",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jamelia",cx:15.537054538671264,cy:-5.629500472027733,cz:.30000001192093256,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"8dBf5N1hG2GfhtqSBisTkY",selected:!1,locked:!1,ly:.65},{type:"Window",cx:-.23224810796728662,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j9LyHn7BbYyr1sVT3bpcdF",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.07068420677265246,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"f2jDtPu32L3psHVPyQZste",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.10097743824664636,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ojDrT4TtdCUuT741f3Cvkd",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26254133944128055,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"r25WWueVXf7KAQQ6LVAkkh",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.26254133944128066,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"881QknQ9aYiDKonXA8GnKw",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.10097743824664644,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"6AJhEo3V3och7gTNYqoNM9",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.06058646294798784,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"fL6TEjx55ZJKxKH9q12vGC",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23224810796728676,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"51kmNRrRmSEhwTtk8tqNeL",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.40390975298658566,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"fXSwM2zT4Nfs9fKB83zeeM",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3157345459686911,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"mrwfYRsQYZsxgg3XbWQ1C9",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-539285788621555e-32,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"bbxD9VsSepsiYkXX43SgSR",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.3157345459686911,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"7a1XMVdYNgeWFuGynLbyj6",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Door",cx:.024287272766822392,cy:0,cz:-.45,lx:.24287272766822393,ly:0,lz:.1,textureType:"Door Texture #5",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"bWWJD1gFk9dmFyj6UtBgyw",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3157345459686911,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"4S2resCtMssVYmHmddP2zN",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-539285788621555e-32,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"sBu7pLatsE56Y6wmZEVsrW",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.17001090936775676,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"pKcG4z62TKd9yDYm6HvFre",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.17001090936775676,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"94jWNmV88zyuJzH2jKEhjS",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.31573454596869105,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qLUGPVCbRRso5wPajMPhB9",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jeff",cx:-15.661746199983284,cy:-22.272680701572895,cz:.30000001192093256,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"ePaWVnF4Nn4YocprHwRiBU",selected:!1,locked:!1,ly:.6},{type:"Window",cx:.029547059313054503,cy:.1,cz:.3333333333333333,lx:.35456471175665405,ly:.3,lz:.21666666666666667,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"szxkDJ4zvsmCjRAjDwr4oT",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"mP3Am8ZtiUAtGfBZJbxuUF",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2659770155408789,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"dJZj2sUCxXenPrW2Jawxrw",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213778,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ta3rrvA6SZ71h7JpdQ8H9v",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.07253918605660334,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ka6Tnds7o2rpeQbTUL5XNR",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2659770155408789,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"3AmRpUZe9Zieufb9NFpKUe",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2659770155408789,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"9wNFWndGsb6CZofrG9Fupa",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213778,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ss9gxEkgAKKu97XBUXNM54",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.07253918605660334,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"u7JMjGgg9RrLGWHEohLHUW",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2659770155408789,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"seZJReiTn7AB935XPj7nmi",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29015674422641347,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j44vXPNj93wPQunzLh8T1Q",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213784,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"shnTbDVozQrbvzKdN1MMK9",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0967189147421378,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"33HVy94BzEoDPXtrspXujk",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.29015674422641347,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j4J8y7JeZK4qxfinaK39hR",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29015674422641347,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cRf1jRTwuR2e4zLg6vFDLv",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213784,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"vkoYTRq9mT4PwEwXPraM2s",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0967189147421378,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"mwATeDbSxAHev6LkxaPgTD",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3143364729119479,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"foK7LkvSM2WCizQJfUWA13",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.029980389503821973,cy:.1,cz:.3416666666666667,lx:.4796862320611516,ly:.1,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"ho8wYRGhLSJb2djJKqwSe1",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"kNDuFavJnC2DWCruSM8Yz5",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.04497058425573294,cy:.1,cz:.3416666666666667,lx:.5096666215649733,ly:.1,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"55SwaH9QxLHmcgrnQzAWTs",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"1zwyQ7SmozfQ7SawBNjqnG",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.029547059313054503,cy:.1,cz:.3416666666666667,lx:.47275294900887205,ly:.1,lz:.21666666666666667,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"rCFFBj6A2tyxuTVf5rPe81",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"pNX7KUpUJwgYkqu5xoyYFx",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1}],Pdn=88,Cdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[53.57176406047198,16.258735969028876,-5704638955527846e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[53.57176406047198,16.25858596239243,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-85.36846751108261,-76.3704417077798,98.31866395924627],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:11.3760018455292,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[59.19446663129345,19.785139016084358,32.12480868336017],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Rdn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Hdn=1,Mdn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Idn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},zdn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ddn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Edn="Unknown",kdn=null,Fdn=null,Ldn=null,Wdn=[],Ndn={docid:ydn,time:Adn,timestamp:wdn,userid:vdn,owner:xdn,email:bdn,world:Sdn,elements:Tdn,sceneRadius:Pdn,view:Cdn,graphState:Rdn,evolutionMethod:Hdn,solarPanelArrayLayoutParams:Mdn,solarPanelArrayLayoutConstraints:Idn,evolutionaryAlgorithmState:zdn,economicsParams:Ddn,modelType:Edn,modelAuthor:kdn,modelLabel:Fdn,modelDescription:Ldn,notes:Wdn},Udn="e5Mx3kDX6jj2XdEqyRiZ5Z",Bdn="06/12/2023 05:06 pm",jdn=1686603965753,Ydn=null,Odn=null,_dn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Vdn=[{type:"Human",name:"Jedi",cx:-.35404550237608445,cy:-9.031512450493677,cz:-4440892098500626e-31,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.56,locked:!0},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.3,lz:6,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.3,lz:6,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.3,lz:6,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.3,lz:6,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Foundation",cx:.005791011935526669,cy:.058297538110867464,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:.00416666666666667,cy:0,cz:-.27499999999999997,lx:.125,ly:0,lz:.45,textureType:"Door Texture #15",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Arched",archHeight:1,filled:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2.2458395786002807,ceiling:!0,locked:!0},{type:"Window",cx:.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5CaMQ21unMpwofCSBHFHKy",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vXvgSmG1wzCSFmLFyHD3px",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tJCV3miBMBbJoQ5KVL5GnC",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nRhC43dgJ576icoywiE43t",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Human",name:"Jess",cx:-7.267359835478274,cy:-5.46716265973663,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"5FVsreGyGxfLQLGYPuw8VY",selected:!1,locked:!0},{type:"Wall",cx:.030224599657563633,cy:2.181664431199555,cz:2.2408122612280286,lx:4.432938866484924,ly:.3,lz:2.43795716101014,leftJoints:["6q7e31mDw8dyN76mepj8pf"],rightJoints:["91j8TFnFqna2wESTuPP4Kp"],leftPoint:[2.2466940329000256,2.181664431199555,0],rightPoint:[-2.1862448335848983,2.181664431199555,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ej8aZCWbLXMBpE4Cdavwp6",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:3.9650570060090606,rightRoofHeight:2.43795716101014,centerRoofHeight:[-.5,3.9650570060090606],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Wall",cx:2.2466940329000256,cy:-.05093095151911964,cz:2.2301039869226305,lx:4.46519076543735,ly:.3,lz:3.9650570060090606,leftJoints:["oNnwF78XTbjrii9WEpinq5"],rightJoints:["ej8aZCWbLXMBpE4Cdavwp6"],leftPoint:[2.246694032900025,-2.2835263342377945,0],rightPoint:[2.2466940329000264,2.181664431199555,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6q7e31mDw8dyN76mepj8pf",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:3.9650570060090606,rightRoofHeight:3.9650570060090606,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.2233373091364115,rightUnfilledHeight:3.2233373091364115,leftTopPartialHeight:3.9650570060090606,rightTopPartialHeight:3.9650570060090606},{type:"Wall",cx:-2.1862448335848983,cy:-.05093095151911964,cz:2.228839888904333,lx:4.46519076543735,ly:.3,lz:2.43795716101014,leftJoints:["ej8aZCWbLXMBpE4Cdavwp6"],rightJoints:["oNnwF78XTbjrii9WEpinq5"],leftPoint:[-2.1862448335848983,2.181664431199555,0],rightPoint:[-2.1862448335848983,-2.2835263342377945,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"91j8TFnFqna2wESTuPP4Kp",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:2.43795716101014,rightRoofHeight:2.43795716101014,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Wall",cx:.030224599657564077,cy:-2.2835263342377945,cz:2.268765007024547,lx:4.432938866484925,ly:.3,lz:2.43795716101014,leftJoints:["91j8TFnFqna2wESTuPP4Kp"],rightJoints:["6q7e31mDw8dyN76mepj8pf"],leftPoint:[-2.1862448335848983,-2.2835263342377945,0],rightPoint:[2.2466940329000264,-2.2835263342377945,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oNnwF78XTbjrii9WEpinq5",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:2.43795716101014,rightRoofHeight:3.9650570060090606,centerRoofHeight:[.5,3.9650570060090606],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Foundation",cx:-8.111049740764729,cy:.08239268090626156,cz:.05,lx:6.036367189018974,ly:6.431853734147982,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7pHjvqBpPz7sYq5ET1nnMX",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["6q7e31mDw8dyN76mepj8pf"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",id:"soVsWFGXbdhR2HYVAwuauC",ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],rise:0,ceiling:!1,locked:!0},{type:"Window",cx:-.11279199083484595,cy:.1,cz:.10254486994201946,lx:.2255839816696919,ly:.3,lz:.6152692196521174,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aS26toPbuxFA4EAg6ptRCD",parentId:"oNnwF78XTbjrii9WEpinq5",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.08281474884461537,lx:.671863792073878,ly:.3,lz:.6547294618469256,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oy9eXMTPrwyNzvomHovfsD",parentId:"91j8TFnFqna2wESTuPP4Kp",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.11279199083484595,cy:.1,cz:.10254486994201946,lx:.2255839816696919,ly:.3,lz:.6152692196521174,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4mXMxYJnZGCrX3QZdFQHGr",parentId:"ej8aZCWbLXMBpE4Cdavwp6",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.8322807242725112,cy:1.200921695970016,cz:2.2408122612280286,lx:.8544333532350403,ly:.15,lz:9.575974551005562,leftJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],rightJoints:["dMssi4ADwUhxkBhQ377g3E"],leftPoint:[-.4050640476549914,1.200921695970016,.11969968188756955],rightPoint:[-1.259497400890032,1.200921695970016,.11969968188756955],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5koEPnk7n6ka7L389qtGvZ",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.4050640476549914,cy:.14277050874931954,cz:2.2301039869226305,lx:2.1163023744413962,ly:.15,lz:9.575974551005562,leftJoints:["sW8KRkVjiejYRvNZCfXEAP"],rightJoints:["5koEPnk7n6ka7L389qtGvZ"],leftPoint:[-.4050640476549914,-.9153806784713785,.11969968188756955],rightPoint:[-.4050640476549914,1.200921695970016,.11969968188756955],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pw9wMqrj3Enw2zC5Tgk6yR",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.259497400890032,cy:.14277050874931954,cz:2.228839888904333,lx:2.1163023744413962,ly:.15,lz:9.575974551005562,leftJoints:["5koEPnk7n6ka7L389qtGvZ"],rightJoints:["sW8KRkVjiejYRvNZCfXEAP"],leftPoint:[-1.259497400890032,1.200921695970016,.11969968188756955],rightPoint:[-1.259497400890032,-.9153806784713785,.11969968188756955],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dMssi4ADwUhxkBhQ377g3E",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.8322807242725112,cy:-.9153806784713785,cz:2.268765007024547,lx:.8544333532350405,ly:.15,lz:9.575974551005562,leftJoints:["dMssi4ADwUhxkBhQ377g3E"],rightJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],leftPoint:[-1.259497400890032,-.9153806784713785,.11969968188756955],rightPoint:[-.4050640476549914,-.9153806784713785,.11969968188756955],relativeAngle:0,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sW8KRkVjiejYRvNZCfXEAP",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Foundation",cx:7.486416419884205,cy:-.2409139792702466,cz:.05,lx:2.839701333763733,ly:2.938267885749648,lz:.11969968188756955,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEHo3z28Ar77Wu5WGXMk73",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:8.075263543932596,cy:-.6884958197811117,cz:.5701039576976044,lx:5.507966558248896,ly:.1,lz:1,leftJoints:[],rightJoints:["mqNMzZ6M874kpGr6Eb5P4b"],leftPoint:[8.075263543932598,2.065487459343336,0],rightPoint:[8.075263543932595,-3.4424790989055594,0],relativeAngle:-1.5707963267948974,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pTqaBUKRmjPL9fsFDPBYdH",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-8.075263543932598,cy:-.6884958197811117,cz:2.228839888904333,lx:5.507966558248896,ly:.1,lz:1,leftJoints:["txrhd5ZN1ZaUi7X6CidW39"],rightJoints:[],leftPoint:[-8.075263543932598,-3.4424790989055594,0],rightPoint:[-8.075263543932598,2.065487459343336,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1eZoH5UbMqtXnnStv5oPMy",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-3.545116350166421,cy:-3.4494515352900414,cz:.6126379187745709,lx:9.060305118936492,ly:.1,lz:1,leftJoints:[],rightJoints:["1eZoH5UbMqtXnnStv5oPMy"],leftPoint:[.9850308435997561,-3.4564239716745235,0],rightPoint:[-8.075263543932598,-3.4424790989055594,0],relativeAngle:3.140053535636089,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"txrhd5ZN1ZaUi7X6CidW39",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-2.1373102684560767,cy:-4.085170940145713,cz:.05,lx:19.693313015419633,ly:8.765160185704904,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eUQQcfUyWDHA7KoGuDBRyw",selected:!1,locked:!0,enableGroupMaster:!1,notBuilding:!0},{type:"Wall",cx:5.761435748265872,cy:-3.449451535290042,cz:.5701039576976044,lx:4.6276766018679725,ly:.1,lz:1,leftJoints:["pTqaBUKRmjPL9fsFDPBYdH"],rightJoints:[],leftPoint:[8.075263543932598,-3.4424790989055603,0],rightPoint:[3.4476079525991463,-3.4564239716745235,0],relativeAngle:-3.1385792853117462,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mqNMzZ6M874kpGr6Eb5P4b",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Tree",name:"Elm",cx:12.193483954680035,cy:-3.450559107713003,cz:8881784197001252e-31,lx:8.182228289296598,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nHGsDGLUFhyht1nKkbShZS",selected:!1,locked:!0},{type:"Tree",name:"Maple",cx:-14.053228627664431,cy:-3.1648808638293726,cz:0,lx:7.51702234293303,lz:8.935898046217556,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"pYVQihimDYo3cuWwFUxGRV",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:3.290712882109931,cy:-6.730243806005441,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"pv5MXJzN7e4QwMAqb7AK2K",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-3.2352418118616306,cy:-6.686295545696994,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"evYRkJazdBwJn4ArepyeZH",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-5.425159494402423,cy:-6.686295545696994,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"mr1vQH3R9jwp2hzXcmJrDH",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-7.004918274330166,cy:-.19566971843541836,cz:.03284187614917755,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"qPgjnRK2xBNDKQYWaqPEJW",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:-9.151037603220141,cy:-3.889330876320888,cz:.03284187614917755,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"m8cKNBQB4gUpU1aJMFZzhU",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:9.13503616494302,cy:-3.964216287045085,cz:.032841876149175775,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"tncEiBTcdo5sNQWHKbsyh2",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-7.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"3vTcKnJjhDrau5WtHq6mBt",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-6.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"sDmTVeVfizELxSDFfm4Uea",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-5.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"g823QGzRg2L3V2cZr4aRxd",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-4.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"hHUhERpDDMaotPBoVG69kS",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-3.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"kHQDrKatqtEmBRsqGsesEx",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-2.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"tZShdZCdNYPMDRYqULaCBd",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-1.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"7t2HS7jELVuWTJ8wEd6GU6",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"2CQpgvbKEJRX6BS4JzKyeA",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:.33810642090759657,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"j13bnHy89XjWxoKTXY11wT",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:3.9884684920246123,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"jGj2jbHeSWSMLQ4R6813YK",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:4.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"2Fq3eCF7Cmj4HXLnWJj5XE",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:5.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"3ykQAwfp6KeX9fEn2PpH4T",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:6.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"e26QSrjZiynidud1nyPf16",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:7.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"aZdoik5bFQJGAW29Jo71RA",selected:!1,locked:!0},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:-.15060725129335759,cy:-.0069023347929206705,cz:8.339264661200525,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,.4097333676171505,.9122053318530369],rotation:[.4221617487320859,0,3.141592653589793],parentId:"1iq4TPqH8xr1w2VxMAh8MU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"gsaoCVaDLKgne3oCcDZ5e9",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:6,intensity:8,color:"#fe9200",cx:.004999999999999995,cy:0,cz:-.02333333333333333,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eS9BNDuHjJf4dGFLVwhXwG",selected:!1,locked:!0},{type:"Door",cx:-.01000000000000002,cy:0,cz:-.21666666666666667,lx:.42000000000000004,ly:0,lz:.5666666666666667,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"jbVYfDfRVVQDSMqv6ux2rr",locked:!0,interior:!0},{type:"Foundation",cx:.0987039168470164,cy:-6.316994564085812,cz:.05,lx:3.2352197337597937,ly:4.369968224342228,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"myXiyVt2NURPnPChDUSnvF",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:.016199018084092187,cy:1.482279391694321,cz:2.2408122612280286,lx:2.375854690465504,ly:.3,lz:3.2841875196772365,leftJoints:["cRF4aFTgNdpMTdmopKNDYe"],rightJoints:["maCaKmF7W1UtJB4NhBQsX3"],leftPoint:[1.204126363316844,1.482279391694321,0],rightPoint:[-1.1717283271486596,1.482279391694321,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qA9MpNw8bZfY7qVfr846Q8",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Stud",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,centerRoofHeight:[0,3.837098172113132],structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:1.2041263633168442,cy:-.03460380925524109,cz:.9803491274068566,lx:3.0337664018991246,ly:.3,lz:3.2841875196772365,leftJoints:["5ExmWkfAba5nuC3xfHo5vU"],rightJoints:["qA9MpNw8bZfY7qVfr846Q8"],leftPoint:[1.204126363316844,-1.5514870102048033,0],rightPoint:[1.2041263633168446,1.482279391694321,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cRF4aFTgNdpMTdmopKNDYe",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:-1.1717283271486596,cy:-.03460380925524109,cz:2.228839888904333,lx:3.0337664018991246,ly:.3,lz:3.2841875196772365,leftJoints:["qA9MpNw8bZfY7qVfr846Q8"],rightJoints:["5ExmWkfAba5nuC3xfHo5vU"],leftPoint:[-1.1717283271486596,1.482279391694321,0],rightPoint:[-1.1717283271486596,-1.5514870102048033,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"maCaKmF7W1UtJB4NhBQsX3",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:.01619901808409252,cy:-1.5514870102048033,cz:2.268765007024547,lx:2.3758546904655042,ly:.3,lz:3.2841875196772365,leftJoints:["maCaKmF7W1UtJB4NhBQsX3"],rightJoints:["cRF4aFTgNdpMTdmopKNDYe"],leftPoint:[-1.1717283271486596,-1.5514870102048033,0],rightPoint:[1.2041263633168446,-1.5514870102048033,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5ExmWkfAba5nuC3xfHo5vU",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Default",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,centerRoofHeight:[0,3.837098172113132],structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Partial",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.110608215274513,rightUnfilledHeight:3.110608215274513,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["maCaKmF7W1UtJB4NhBQsX3"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",id:"kL2csyDhpYU6Tdyq5APXiG",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:.5529106524358953,ceiling:!1,locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.21045058100840097,y:-.6089786250075502},{x:-.21045058100840097,y:-.4567339687556626},{x:.21045058100840097,y:-.4567339687556626},{x:.21045058100840097,y:-.6089786250075502}],parentId:"5ExmWkfAba5nuC3xfHo5vU",parentType:"Wall",foundationId:"myXiyVt2NURPnPChDUSnvF",selected:!1,filled:!0,selectedIndex:2,id:"19jcnLnazAo68d9SCy19QV",noOutline:!0,text:"26",fontSize:.35,fontColor:"gold",locked:!0},{type:"Door",cx:-.05,cy:0,cz:-.4583333333333333,lx:.1,ly:0,lz:.08333333333333333,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"3zkRmLGDcsm6tCGsvCTs4B",interior:!0,frameColor:"#4d4d4d",locked:!0}],Gdn=22,Xdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-7.862597366276697,1.7514757983201874,17661570980830242e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-7.862597366276697,1.7504754208759876,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-6.838817312607155,-22.7607406255055,2.6094586494143144],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:30.146795390577452,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.07649922483275468,1.5616450860400017,2.4309145652183837],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},Jdn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Kdn=1,qdn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},$dn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Qdn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Zdn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},efn="Unknown",tfn=null,nfn=null,ofn=null,ifn=[],rfn={docid:Udn,time:Bdn,timestamp:jdn,owner:Ydn,email:Odn,world:_dn,elements:Vdn,sceneRadius:Gdn,view:Xdn,graphState:Jdn,evolutionMethod:Kdn,solarPanelArrayLayoutParams:qdn,solarPanelArrayLayoutConstraints:$dn,evolutionaryAlgorithmState:Qdn,economicsParams:Zdn,modelType:efn,modelAuthor:tfn,modelLabel:nfn,modelDescription:ofn,notes:ifn},afn="bdxRpN9LUZ1jTZzjLf3j79",lfn="08/16/2023 09:04 am",sfn=1692191055280,cfn="QWecNcxhyvP6j6sBN11hBsfZDau1",ufn=null,dfn=null,ffn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},hfn=[{ly:15.82679166341284,solarUpdraftTower:{},parentId:"Ground",cx:-8.9649429178124,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.5215353669749065,type:"Foundation",solarPowerTower:{},lx:19.683950802792882,lz:.08304003951954272,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.04152001975977136,enableGroupMaster:!0,textureType:"Foundation Texture #4",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:3.3216015807817088,roofId:"sfGxVh6UQ5Rh5eXQutdage",ly:.3,rightPoint:[-6.139317409562167,6.280059949020198,.08304003951954272],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[5.860682590437832,6.280059949020198,.08304003951954272],type:"Wall",rightRoofHeight:3.3216015807817088,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:3.3216015807817088,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.13931740956216743,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:6.280059949020198,color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{type:"Wall",parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.860682590437831,leftPoint:[5.860682590437829,-3.719940050979802,.08304003951954272],cy:1.2800599490201985,leftRoofHeight:3.3216015807817088,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.860682590437833,6.280059949020198,.08304003951954272],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:3.3216015807817088,centerRoofHeight:[0,6.6432031615634175],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:3.3216015807817083,roofId:"sfGxVh6UQ5Rh5eXQutdage",centerLeftRoofHeight:[-.35,4.982402371172563],centerRightRoofHeight:[.35,4.982402371172564],color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{lx:10,lz:3.3216015807817088,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"sfGxVh6UQ5Rh5eXQutdage",selected:!1,cy:1.2800599490201985,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[0,6.6432031615634175],rightPoint:[-6.139317409562167,-3.719940050979802,.08304003951954272],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:3.3216015807817083,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.139317409562166,6.280059949020198,.08304003951954272],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:3.3216015807817088,ly:.3,cx:-6.139317409562167,centerLeftRoofHeight:[-.35,4.982402371172563],centerRightRoofHeight:[.35,4.982402371172564],color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{showLabel:!1,cx:-.13931740956216743,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.860682590437833,-3.719940050979802,.08304003951954272],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-3.719940050979802,id:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"sfGxVh6UQ5Rh5eXQutdage",leftPoint:[-6.139317409562167,-3.719940050979802,.08304003951954272],normal:[0,0,1],ly:.3,lz:3.3216015807817088,leftRoofHeight:3.3216015807817088,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:3.3216015807817088,lx:12,color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{type:"Window",showLabel:!1,ly:0,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.07139510364251808,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.07139510364251808,normal:[0,0,1],cx:-.225,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.44384979425833565,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#ffffff",cz:-.07139510364251808,cy:.3,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:-.07139510364251808,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Joan",cx:-9.748795495187615,cy:-11.885843529724642,cz:0,lx:1.7,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:1.7,locked:!0},{type:"Tree",name:"Magnolia",flip:!0,cx:2.83831023868078,cy:.3026770951383977,cz:0,lx:4.909285741329502,lz:7.047282022546526,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"t5Aj8tjjpqVaLaB3uEqfR8",selected:!1,locked:!0},{type:"Window",cx:-.2916666666666667,cy:-13376344861350336e-31,cz:0,lx:.08333333333333333,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:-11010413489448665e-30,cz:0,lx:.08333333333333333,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,roofType:"Gambrel",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #1",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sfGxVh6UQ5Rh5eXQutdage",color:"#666666",thickness:.15,locked:!0,rise:3.3216015807817088,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Wall",cx:-.17032995035379805,cy:2.9140760690705836,cz:2.2408122612280286,lx:4,ly:.3,lz:3.45,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[1.829670049646202,2.914076069070582,.08304003951954272],rightPoint:[-2.170329950353798,2.9140760690705845,.08304003951954272],relativeAngle:3.1415926535897922,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.4499999999999993,centerRoofHeight:[0,6.716478772745814],centerLeftRoofHeight:[-.35,5.083239386372908],centerRightRoofHeight:[.35,5.083239386372907],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.35,rightUnfilledHeight:3.35,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:1.829670049646202,cy:-.3359239309294191,cz:2.2301039869226305,lx:6.500000000000001,ly:.3,lz:3.45,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[1.8296700496462002,-3.5859239309294173,.08304003951954272],rightPoint:[1.8296700496462037,2.914076069070582,.08304003951954272],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.45,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.0873856802470327,rightUnfilledHeight:2.3262939270695226,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:-2.170329950353798,cy:-.3359239309294191,cz:2.228839888904333,lx:6.5,ly:.3,lz:3.45,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-2.170329950353798,2.914076069070582,.08304003951954272],rightPoint:[-2.170329950353798,-3.5859239309294173,.08304003951954272],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.45,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.1078217002230364,rightUnfilledHeight:2.2273879622936055,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:-.17032995035379805,cy:-3.5859239309294173,cz:2.268765007024547,lx:3.9999999999999982,ly:.3,lz:3.45,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-2.170329950353798,-3.5859239309294173,.08304003951954272],rightPoint:[1.8296700496462002,-3.5859239309294173,.08304003951954272],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.450000000000001,centerRoofHeight:[0,6.716478772745814],centerLeftRoofHeight:[-.35,5.083239386372908],centerRightRoofHeight:[.35000000000000003,5.083239386372907],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Foundation",cx:-8.995176289846825,cy:-2.548120633774467,cz:.04152001975977136,lx:7.238675704625617,ly:10.649205015118838,lz:.08304003951954272,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,textureType:"No Foundation Texture",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Human",name:"Joel",cx:-7.789004610682257,cy:-12.04210360652551,cz:8881784197001252e-31,lx:1.8,ly:1.8,lz:1.75,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.8730728022225684,lx:.4000000000000002,ly:.3,lz:.5419072565519394,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"9sxNKgBrTJz5rbuB2EAigV",mullionSpacing:.56,shutter:{showLeft:!1,showRight:!1,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:.8,empty:!1},{type:"Door",cx:-.012500000000000002,cy:0,cz:-.0693642478160203,lx:.225,ly:0,lz:.8612715043679594,textureType:"Door Texture Default",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"3ToGStSrcyguQUUqJUFhxz",locked:!0,doorType:"Default",archHeight:1,filled:!1,interior:!0},{type:"Window",cx:-.3,cy:0,cz:0,lx:.10000000000000002,ly:0,lz:.5000000000000001,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"qoQarTFv95tVF8owcPVUFr",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.35,cy:0,cz:0,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gFrpbUVsUk5Cyw1YgAc3Su",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:0,cz:1.1,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"g7oggQtbGLCJnWDBEWrL6f",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:0,cz:0,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"9KXbYufDZik3nedxtSG2Wa",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3,cy:11102230246251565e-31,cz:0,lx:.1,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hP5LnWCZSyCWuh6LURpM1g",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.5000000000000002,ly:0,lz:.75,textureType:"Door Texture #2",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"xfiB1ehYmvvHX7d6tsihDv",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Foundation",cx:-13.194524944705082,cy:-3.7517234810804703,cz:.05,lx:4.724839965236282,ly:9.227617734475299,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vQQ15yke8RSPKZiM6iV1gf",textureType:"Foundation Texture #1",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-1.1428938383677334,cy:2.0741127418694787,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,relativeAngle:4.71238898038469,leftPoint:[-1.1428938383677334,4.324112741869479,.1],rightPoint:[-1.1428938383677334,-.1758872581305213,.1],leftJoints:["9UyBScab4vxjAdrfwjXhxP"],rightJoints:["6U3sDe4yzT2QH8iRY62SdZ"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"1F9rbQh1mAYkQprzoxJ12Q",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.812802766367991,rightUnfilledHeight:3.4823963079433295,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.1071061616322666,cy:4.324112741869479,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,relativeAngle:3.141592653589793,leftPoint:[1.3571061616322666,4.324112741869479,.1],rightPoint:[-1.1428938383677334,4.324112741869479,.1],leftJoints:["vy2WJt6CvVCYvqCPAeFYe5"],rightJoints:["1F9rbQh1mAYkQprzoxJ12Q"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"9UyBScab4vxjAdrfwjXhxP",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.662549619276321],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.238894569131756,rightUnfilledHeight:4.238894569131756,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:1.3571061616322666,cy:2.0741127418694787,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,relativeAngle:1.5707963267948966,leftPoint:[1.3571061616322666,-.1758872581305213,.1],rightPoint:[1.3571061616322666,4.324112741869479,.1],leftJoints:["6U3sDe4yzT2QH8iRY62SdZ"],rightJoints:["9UyBScab4vxjAdrfwjXhxP"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"vy2WJt6CvVCYvqCPAeFYe5",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.596810400573552,rightUnfilledHeight:5.812802766367991,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.1071061616322666,cy:-.1758872581305213,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,relativeAngle:0,leftPoint:[-1.1428938383677334,-.1758872581305213,.1],rightPoint:[1.3571061616322666,-.1758872581305213,.1],leftJoints:["1F9rbQh1mAYkQprzoxJ12Q"],rightJoints:["vy2WJt6CvVCYvqCPAeFYe5"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"6U3sDe4yzT2QH8iRY62SdZ",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.662549619276321],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.6595021394542453,rightUnfilledHeight:3.6595021394542453,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1F9rbQh1mAYkQprzoxJ12Q"],textureType:"Roof Texture #1",color:"#454769",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"9Jb55MpdEHfaQRtH1w8w7c",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.8497468529083303,ceiling:!1},{type:"Wall",cx:-1.1202290403576152,cy:2.071621897384918,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,leftJoints:["1nb1rRhk5XTwkqRDvamK5g"],rightJoints:["3LCPjAAvYioWiSGfdrWDra"],leftPoint:[-1.1202290403576152,4.321621897384919,.1],rightPoint:[-1.1202290403576152,-.17837810261508213,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"bpwfKUJNQLVoQQHt2xqi72",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.812802766367991,rightUnfilledHeight:3.2790718567695616,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.12977095964238483,cy:4.321621897384919,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,leftJoints:["mMwirEeb4r8mhYQ7E9qdX2"],rightJoints:["bpwfKUJNQLVoQQHt2xqi72"],leftPoint:[1.3797709596423848,4.321621897384919,.1],rightPoint:[-1.1202290403576152,4.321621897384919,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"1nb1rRhk5XTwkqRDvamK5g",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.6628027663679905],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.6979530221307058,rightUnfilledHeight:3.6979530221307058,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:1.3797709596423848,cy:2.071621897384918,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,leftJoints:["3LCPjAAvYioWiSGfdrWDra"],rightJoints:["1nb1rRhk5XTwkqRDvamK5g"],leftPoint:[1.3797709596423848,-.17837810261508213,.1],rightPoint:[1.3797709596423848,4.321621897384919,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"mMwirEeb4r8mhYQ7E9qdX2",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.3444620413364214,rightUnfilledHeight:5.812802766367991,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.12977095964238483,cy:-.17837810261508213,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,leftJoints:["bpwfKUJNQLVoQQHt2xqi72"],rightJoints:["mMwirEeb4r8mhYQ7E9qdX2"],leftPoint:[-1.1202290403576152,-.17837810261508213,.1],rightPoint:[1.3797709596423848,-.17837810261508213,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"3LCPjAAvYioWiSGfdrWDra",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.6628027663679905],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.203916013233736,rightUnfilledHeight:3.203916013233736,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Foundation",cx:-5.154384285489001,cy:-3.843449030047704,cz:.05,lx:5.245611715983199,ly:9.222636045506174,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,textureType:"Foundation Texture #1",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["bpwfKUJNQLVoQQHt2xqi72"],textureType:"Roof Texture #1",color:"#454769",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"3RtfyZgDoXZ3wGixrorVUM",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.85,ceiling:!1},{type:"Window",cx:.019999999999999997,cy:.1,cz:.35266980188300795,lx:.44000000000000006,ly:.3,lz:.22364426460873682,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"3LCPjAAvYioWiSGfdrWDra",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"nEpoC7XwMto4CjwuGq3WQ5",mullionSpacing:.6,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3607208764315504,lx:.4,ly:.3,lz:.24194892545145757,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"6U3sDe4yzT2QH8iRY62SdZ",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"izgEX4RP4fMzobDmWztBrf",mullionSpacing:.6,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-9.128472071553885,cy:-5.731921555180726,cz:.05,lx:10.661429059004004,ly:5.310443804879643,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jjxHg8QgQHBYMPjmTLKh9Y",textureType:"No Foundation Texture",locked:!0,notBuilding:!0},{type:"Wall",cx:-3.055204431580803,cy:-1.835109259524482,cz:0,lx:1.8466260644079497,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-3.9785174637847778,-1.8351092595244811,.1],rightPoint:[-2.131891399376828,-1.835109259524483,.1],relativeAngle:6.283185307179585,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"wyasgQhDU8TZWAHXXtnR4J",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-3.9785174637847778,cy:-.160751432682531,cz:.5175200861571223,lx:3.3487156536839,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-3.9785174637847796,1.513606394159419,.1],rightPoint:[-3.9785174637847778,-1.8351092595244811,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"6Hv4mJv5hCRGAqNa8Wf45B",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.7895023054362934,rightTopPartialHeight:.7895023054362934},{type:"Wall",cx:3.9728241996527984,cy:-.16075143268253278,cz:.5732895465300347,lx:3.3487156536839007,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[3.9728241996527993,-1.835109259524483,.1],rightPoint:[3.9728241996527984,1.5136063941594173,.1],relativeAngle:1.570796326794897,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"1fR31M3LuxWCDraA3p4mZU",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.847582665593212,rightTopPartialHeight:.847582665593212},{type:"Wall",cx:2.997153367934011,cy:-1.835109259524483,cz:0,lx:1.951341663437577,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[2.0214825362152222,-1.835109259524483,.1],rightPoint:[3.9728241996527993,-1.835109259524483,.1],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"iUM2Ms6kj53m7TzQjPhH62",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-1.6211500807426074,cy:.8631023553389863,cz:.05,lx:4.818228793661425,ly:2.663944474302019,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1tKxhv9RZ3WGSr4yfyFtGe",textureType:"No Foundation Texture",locked:!0,notBuilding:!0},{type:"Wall",cx:-.7514450867052019,cy:.5637297015144593,cz:0,lx:1.5028901734104034,ly:.25,lz:9,relativeAngle:3.141592653589793,leftPoint:[-26696692384049984e-32,.5637297015144593,0],rightPoint:[-1.5028901734104037,.5637297015144593,0],leftJoints:["188rdr57sdmGcfGiDQEznS"],rightJoints:["t7nvzQnWvPgJFKi8qM2KJ2"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"nzDmLXy4XJEJgippavtWPK",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:.00011804109969691571,cy:-.1412546603508431,cz:0,lx:1.4099687434951584,ly:.25,lz:9,relativeAngle:1.5709637646913654,leftPoint:[.00023608219939409838,-.8462390222161456,0],rightPoint:[-26696692384049984e-32,.5637297015144593,0],leftJoints:["bKLADc1rtEXxLWJ2wpXCyG"],rightJoints:["nzDmLXy4XJEJgippavtWPK"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"188rdr57sdmGcfGiDQEznS",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-1.5028901734104037,cy:-.14093242537861483,cz:0,lx:1.4093242537861483,ly:.25,lz:9,relativeAngle:-1.5707963267948966,leftPoint:[-1.5028901734104037,.5637297015144593,0],rightPoint:[-1.5028901734104037,-.845594552271689,0],leftJoints:["nzDmLXy4XJEJgippavtWPK"],rightJoints:["bKLADc1rtEXxLWJ2wpXCyG"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"t7nvzQnWvPgJFKi8qM2KJ2",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.7702585421996653,rightUnfilledHeight:3.7702585421996653,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-.7513270456055048,cy:-.8459167872439173,cz:0,lx:1.5031263937690138,ly:.25,lz:9,relativeAngle:-.0004287530089774864,leftPoint:[-1.5028901734104037,-.845594552271689,0],rightPoint:[.00023608219939409838,-.8462390222161456,0],leftJoints:["t7nvzQnWvPgJFKi8qM2KJ2"],rightJoints:["188rdr57sdmGcfGiDQEznS"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"bKLADc1rtEXxLWJ2wpXCyG",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Tree",name:"Dogwood",flip:!0,cx:-17.829756210687247,cy:-6.178261442103567,cz:0,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"sgSHG9SfkfzrTceiA5T19b",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-14.43393823103578,cy:-4.956583187921545,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fwbwXjTKB4ejYpnXGBAaQt",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-4.4821432852704675,cy:.4495990226501192,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"24FmLU3mJkXNY53JzrL5Dt",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-4.910500041352744,cy:.9540476712796391,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"reEeBmqCcbQu2EtMT38ywZ",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:4.9562085665626325,cy:1.0667527129983299,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"o3P5EpuHXdx6pH3hYkfv1R",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:4.317403660851184,cy:.4787676966756642,cz:.05999999865889727,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"3LVtMLU8sBDE9SYSdKtA6S",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:5.530912218683256,cy:1.5116578930650046,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"2Y1swCnkjr3jQPeteyJshF",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.806452300697741,cy:1.744166442984243,cz:.05999999865889727,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"8t9PQbZw572ixzdS9MRLLW",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.291768127996638,cy:1.3247562673381097,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"4JVL5x9cWyH4LksfSY1fX3",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.661246706636892,cy:1.5508003603072646,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"nGnmCTUqQFz7isWWpWK3Mz",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-.33218746630730145,cy:-.5494864663355421,cz:.05000000074505895,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",id:"gZ9m1tT2VUgZsBDcfZh8HW",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-4.244159478853515,cy:1.7707434623377676,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"9SxVYH5WbgA3HtDCqqfPhx",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-4.802140374248943,cy:1.496640607591619,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"bJusUpxFXhNuVLWkwSgPDp",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",flip:!0,cx:-4.49997835962516,cy:-1.1855861204384208,cz:.06,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"abgyaezp654EktrPW99LBw",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:4.432083177417134,cy:-1.2772922274665977,cz:.06,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"7MNjP1XvBJBd9d5PFunfnH",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:-7.116951685811008,cy:3.638352633555244,cz:.04152001813054085,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1FPVPX2cPwyJtX2iR6TB6X",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:1.182265720860439,cy:-.23022475718108382,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"qbSQDtvRnmoWesph95KY9z",selected:!1,locked:!0},{type:"Human",name:"Jade",cx:-3.033395250022613,cy:-.5816610420513619,cz:.05999999865889549,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"mtu9ruoaP4m3bTDiUvwuGN",selected:!1,ly:.48,locked:!0,flip:!0},{type:"Human",name:"Jose",cx:-16.76731141531199,cy:-10.548882253809875,cz:-17763568394002505e-31,lx:2,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"96NHdfhp3jEHitMi3f3E5K",selected:!1,ly:2,locked:!0,flip:!0},{type:"Flower",name:"Hibiscus",cx:-7.181651324625273,cy:-1.60099461837087,cz:.04152001813054085,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dVDLRSyAD2wDbGWk4knF4E",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:1.620258691481478,cy:-5.240948297707899,cz:4440892098500626e-31,lx:5.556994802603297,lz:7.996988894474121,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"oELXz144CkaWe2X3qoRnK8",selected:!1,locked:!0},{type:"Human",name:"Jaye",cx:-1.4302201700943762,cy:-2.031152248382565,cz:.04943574334705669,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"gr5QDB4cbkGum8zoHp2N7d",selected:!1,locked:!0,ly:.55},{type:"Tree",name:"Dogwood",cx:-8.836300989612065,cy:6.666048417776266,cz:.0415200181305444,lx:3,lz:4,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tirzAP1CYKccDFYsQijz2n",selected:!1,locked:!0},{type:"Window",cx:-.008333333333333331,cy:.1,cz:-.009152330421360376,lx:.08333333333333333,ly:.3,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:.9,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8fVvNLwh7c4hGNqS46E2j",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},selected:!1,windowType:"Default",archHeight:1,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gambrel",roofStructure:"Default",wallsId:["2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #1",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"p1WWYMY9TmVyswdgfSEZfZ",rise:3.266478772745814,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1],locked:!0},{type:"Window",cx:-4.213281959601948,cy:-2.634538118666024,cz:4.673359172167364,lx:2.1500259275083913,ly:.15,lz:1.2358639032447665,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"bAFTA4vJ8U4gd3hFz74r7X",locked:!0,interior:!0,empty:!0},{type:"Window",cx:-4.195476233446163,cy:-1.505374843371567,cz:5.4714739316244385,lx:2.170306524786385,ly:.15,lz:1.415052250899271,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"5CQw4ehLx6bYSBiyfowUgp",locked:!0,interior:!0,empty:!0,polygonTop:[.041335690072458735,2.1804081724852833]},{type:"Window",cx:3.9865243272197457,cy:-2.690596399748453,cz:4.611291413814264,lx:2.264658675515979,ly:.15,lz:1.4006562758537777,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"73WXvEpNVy6WMicsQVtM4K",locked:!0,interior:!0,empty:!0},{type:"Window",cx:4.003502641451691,cy:-1.5436235422141884,cz:5.453324368976082,lx:2.2758545278519184,ly:.15,lz:1.4725562648663195,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6sSeyqhkrkXd9xruJTto55",locked:!0,interior:!0,polygonTop:[-.03456014333676215,2.044626136017569],empty:!0},{type:"Window",cx:-.14301293626591338,cy:-3.0760156278277453,cz:4.184555041396983,lx:2.492322842531612,ly:.15,lz:2.5010692402560784,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"roHftPtnfwZguzJ6CGy1u1",locked:!0,interior:!0},{type:"Door",cx:-.1269230769230768,cy:0,cz:-.032608695652173926,lx:.7153846153846152,ly:0,lz:.9347826086956521,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"mjYXviVCxSp5wKZomZ1KXX",interior:!0,locked:!0},{type:"Door",cx:.12692307692307694,cy:0,cz:-.032608695652173926,lx:.7153846153846154,ly:0,lz:.9347826086956521,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"gVuhwxMRjqj8Y5dEW4h6yb",locked:!0,interior:!0},{type:"Window",cx:-.18164384373242548,cy:-2.1763353010978204,cz:5.153093457763647,lx:2.4530899553344963,ly:.15,lz:.021492949604609426,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"8dL9pADpGdb8uz3jgoQ35W",locked:!0,interior:!0,polygonTop:[-.02050328365131785,3.3532324030149554]},{type:"Window",cx:1.445462406762685,cy:-3.8750343198078783,cz:3.2998811246118693,lx:.6642965558015783,ly:.15,lz:.13029717559155046,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"qWHrnb8KKMoQRor3JnSQFU",polygonTop:[-.5,2.3784236921544717],interior:!0,empty:!0,locked:!0},{type:"Window",cx:-1.8155222162706668,cy:-3.9009770076057917,cz:3.2711573670121106,lx:.6830097672938518,ly:.15,lz:.037173765084373096,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"cCVV5LBTueLCRBh8Qiucqm",polygonTop:[.5,2.451948768657457],interior:!0,empty:!0,locked:!0},{type:"Window",cx:-1.1953590455988037,cy:3.710975210631405,cz:5.8617143628039825,lx:1.3882703649523895,ly:.1,lz:.05964604677957688,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5971766580926772,0,4.71238898038469],parentId:"3RtfyZgDoXZ3wGixrorVUM",parentType:"Roof",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"uj3hhpNKwSAcHZfWCq9Luv",interior:!0,empty:!0,polygonTop:[-.5,1.197404893567288],locked:!0},{type:"Door",cx:0,cy:0,cz:-.40052979348664974,lx:.1,ly:0,lz:.19894041302670049,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"onpRTR6aYFESxEyAVVtKxv",locked:!0,interior:!0},{type:"Window",cx:1.4673866142968786,cy:3.7373739092900653,cz:5.853224121202935,lx:1.2289614765652717,ly:.1,lz:.027992846261972834,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5971766580926772,0,1.5707963267948966],parentId:"3RtfyZgDoXZ3wGixrorVUM",parentType:"Roof",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"x86g7FJRWVhpFuUj55vS2u",polygonTop:[.5,1.2696169168418234],empty:!0,interior:!0,locked:!0},{type:"Window",cx:-1.8854196712406885,cy:1.377621465687576,cz:4.325544482383382,lx:3.1362291179665966,ly:.1,lz:1.8233213544103637,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.218733394523589,0,-1.5707963267948966],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"mX7yGqS9yHFcCXD3HzPsqo",interior:!0,empty:!0,locked:!0},{type:"Window",cx:1.57237554916422,cy:1.3657152285229026,cz:4.2503725201405285,lx:3.1993051559264813,ly:.1,lz:1.9446887668441453,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2187333945235876,0,1.5707963267948963],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"7HdybnBrpZ9pZKTsQWmnxm",interior:!0,empty:!0,locked:!0},{type:"Window",cx:1.1953670575332103,cy:1.4635343025462166,cz:5.223257241936748,lx:2.975761109246804,ly:.1,lz:.0858565540829778,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8621416327956242,0,1.5707963267948963],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"fq4riipVcz1YXRCRFinfh9",polygonTop:[.5,1.8067884811337014],empty:!0,interior:!0,locked:!0},{type:"Window",cx:-1.5078124165602862,cy:1.6184244215922492,cz:5.256172313894667,lx:2.757238648211566,ly:.1,lz:.157707537509605,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8621416327956238,0,4.71238898038469],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"8uYxv4QmwRV4QGvGAmTGjh",interior:!0,empty:!0,polygonTop:[-.5,1.6411153230617954],locked:!0},{type:"Window",cx:1.9241586401335837,cy:-1.0071004651436564,cz:3.2927958540885793,lx:1.433257415263137,ly:.1,lz:.013334330641535795,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2187333945235888,0,1.570796326794896],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eKtQtrVKNAyECAnnFakYcM",interior:!0,empty:!0,polygonTop:[.5,1.8703231446359028],locked:!0},{type:"Window",cx:-2.1759330536672916,cy:-.9097092686724473,cz:3.5347479849708097,lx:1.401447790844605,ly:.1,lz:.1563290290003139,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.218733394523589,0,-1.5707963267948966],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"bscMEhqajcMX1VR8jmUamz",interior:!0,polygonTop:[-.5,1.6499601679714657],locked:!0},{type:"Window",cx:-1.1488249093401395,cy:3.6694840938188165,cz:5.908770839253448,lx:1.465482126287153,ly:.1,lz:.011624696831896512,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5970381619598664,0,4.71238898038469],parentId:"9Jb55MpdEHfaQRtH1w8w7c",parentType:"Roof",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"voXoMmK9hgrALZQEVrCQw5",interior:!0,polygonTop:[-.5,1.1791221277328057],locked:!0},{type:"Window",cx:1.4545359523843153,cy:3.6687614111197395,cz:5.846570239911134,lx:1.494871028893363,ly:.1,lz:5533992709237107e-21,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5970381619598664,0,1.5707963267948966],parentId:"9Jb55MpdEHfaQRtH1w8w7c",parentType:"Roof",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"njHN3bGKJaNcsPt3zqUDGM",polygonTop:[.5,1.3683506058769899],locked:!0},{type:"Foundation",cx:-9.019380791884265,cy:-6.4970289405032915,cz:.06,lx:13.017853790376485,ly:4.062304674420269,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"Foundation Texture #2",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"irBooVothSqri1n99D7Wzu",notBuilding:!0,locked:!0},{type:"Wall",cx:-.002846632065990562,cy:1.5136063941594182,cz:0,lx:7.951341663437577,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,rValue:2,fill:"Empty",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:3.141592653589793,leftPoint:[3.9728241996527984,1.5136063941594173,.1],rightPoint:[-3.9785174637847796,1.513606394159419,.1],leftJoints:["kGep2Ez1jSGfeVaiQD6Nk1"],rightJoints:["jQqGH4ZZuR2sJEjqAtaMdR"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"rTXZg1jcKPDTpopSQL5CRv",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:3.9728241996527984,cy:-.16075143268253278,cz:0,lx:3.3487156536839007,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:1.570796326794897,leftPoint:[3.9728241996527993,-1.835109259524483,.1],rightPoint:[3.9728241996527984,1.5136063941594173,.1],leftJoints:["keZvZnZ8iUxAQcoKMHvMJB"],rightJoints:["rTXZg1jcKPDTpopSQL5CRv"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"kGep2Ez1jSGfeVaiQD6Nk1",structureSpacing:1.7,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:-3.9785174637847778,cy:-.160751432682531,cz:0,lx:3.3487156536839,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:4.71238898038469,leftPoint:[-3.9785174637847796,1.513606394159419,.1],rightPoint:[-3.9785174637847778,-1.8351092595244811,.1],leftJoints:["rTXZg1jcKPDTpopSQL5CRv"],rightJoints:["keZvZnZ8iUxAQcoKMHvMJB"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"jQqGH4ZZuR2sJEjqAtaMdR",structureSpacing:1.7,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:-.0028466320659887856,cy:-1.835109259524482,cz:0,lx:7.951341663437577,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:0,leftPoint:[-3.9785174637847778,-1.8351092595244811,.1],rightPoint:[3.9728241996527993,-1.835109259524483,.1],leftJoints:["jQqGH4ZZuR2sJEjqAtaMdR"],rightJoints:["kGep2Ez1jSGfeVaiQD6Nk1"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"keZvZnZ8iUxAQcoKMHvMJB",structureSpacing:1.95,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5816829802762808,thickness:.1,rValue:2,color:"#454769",sideColor:"#ffffff",textureType:"Roof Texture #1",roofType:"Hip",roofStructure:"Default",wallsId:["kGep2Ez1jSGfeVaiQD6Nk1"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"vFgo3dzFcDvifutsURLSxs",leftRidgeLength:-1.5743578268419502,rightRidgeLength:1.6693578268419502,locked:!0},{type:"Window",cx:1.8566011256825674,cy:.6599329242183138,cz:3.5487146962420235,lx:1.5566850872614637,ly:.1,lz:.002654387077510697,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.13521473007536366,0,1.5707963267948968],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"rihytw1YgyZTRTywNknqYW",polygonTop:[.5,1.775657673942406],locked:!0},{type:"Window",cx:-1.819837767636188,cy:.6880180791747286,cz:3.5544907008722126,lx:1.5263724499901699,ly:.1,lz:.026357656056318596,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.13521473007536366,0,-1.5707963267948961],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"stDHx7ttyun3AsgaRa1QHp",polygonTop:[-.5,1.8110420094651125],locked:!0},{type:"Window",cx:.020163528741469428,cy:-.10759934471036203,cz:3.552336576069286,lx:3.53497207600787,ly:.1,lz:.05477306389188632,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16246888891658018,0,-4440892098500626e-31],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"tDydDDQ3yMKBMmcqedWGby",polygonTop:[.0030579922127344215,1.4843446624982513],locked:!0}],pfn=24,gfn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.8840441516195205,.5644717303985555,11143112580395247e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.8840441516195205,.5634713529449765,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.358378063755914,-20.87295700480061,2.7360078726027206],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:24.554753263096522,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-7.660890412118296,2.6592379428106594,2.7360078726027206],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5,navigationView:!1},mfn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},yfn=1,Afn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},wfn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},vfn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},xfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},bfn="Unknown",Sfn=null,Tfn=null,Pfn=null,Cfn=null,Rfn=[],Hfn=3,Mfn=3,Ifn={docid:afn,time:lfn,timestamp:sfn,userid:cfn,owner:ufn,email:dfn,world:ffn,elements:hfn,sceneRadius:pfn,view:gfn,graphState:mfn,evolutionMethod:yfn,solarPanelArrayLayoutParams:Afn,solarPanelArrayLayoutConstraints:wfn,evolutionaryAlgorithmState:vfn,economicsParams:xfn,modelType:bfn,modelAuthor:Sfn,modelLabel:Tfn,modelDescription:Pfn,designProjectType:Cfn,notes:Rfn,minimumNavigationMoveSpeed:Hfn,minimumNavigationTurnSpeed:Mfn},zfn="rrmoe4xsE37DPN5LvoSX2L",Dfn="08/09/2023 10:13 am",Efn=1691590424058,kfn="QWecNcxhyvP6j6sBN11hBsfZDau1",Ffn=null,Lfn=null,Wfn={solarRadiationHeatmapGridCellSize:.25,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Nfn=[{type:"Wall",cx:.06979666348441205,cy:3.6828701050775523,cz:2.5,lx:10.751033569310817,ly:.3,lz:4.88805324936884,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[5.445313448139821,3.682870105077552,.1],rightPoint:[-5.305720121170997,3.682870105077553,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.002373687472664,rightUnfilledHeight:4.002373687472664,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:5.445313448139816,cy:.4275597826751323,cz:2.2301039869226305,lx:6.510620644804842,ly:.3,lz:4.88805324936884,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[5.445313448139813,-2.8277505397272886,.1],rightPoint:[5.445313448139821,3.682870105077553,.1],relativeAngle:1.5707963267948954,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,centerRoofHeight:[0,7.235780632005643],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5,rightUnfilledHeight:5,leftTopPartialHeight:5,rightTopPartialHeight:5,locked:!1,openToOutside:!1},{type:"Wall",cx:-5.305720121170997,cy:.4275597826751323,cz:2.228839888904333,lx:6.510620644804842,ly:.3,lz:4.88805324936884,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-5.305720121170997,3.682870105077553,.1],rightPoint:[-5.305720121170997,-2.8277505397272886,.1],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,centerRoofHeight:[0,7.235780632005643],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5,rightUnfilledHeight:5,leftTopPartialHeight:5,rightTopPartialHeight:5,locked:!1,openToOutside:!1},{type:"Wall",cx:.06979666348441205,cy:-2.8277505397272886,cz:2.268765007024547,lx:10.751033569310817,ly:.3,lz:4.88805324936884,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-5.305720121170997,-2.8277505397272886,.1],rightPoint:[5.445313448139821,-2.8277505397272886,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.224276701112264,rightUnfilledHeight:4.224276701112264,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1,openToOutside:!1},{type:"Foundation",cx:.3157662585983827,cy:-.49838170379810354,cz:.05,lx:15.656066884011606,ly:12.596965835422395,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Human",name:"June",cx:-2.4661903240728087,cy:-9.006462311217309,cz:0,lx:.65,ly:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qPhtowBuGGDfEAuEFNhxwt",selected:!1,locked:!1},{type:"Wall",cx:.14686719191865327,cy:5.522679083865754,cz:2.2408122612280286,lx:13.78718704575697,ly:.3,lz:4.061910717171535,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[7.040460714797138,5.522679083865754,.12],rightPoint:[-6.746726330959832,5.522679083865754,.12],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:7.040460714797138,cy:.02164780187261517,cz:2.2301039869226305,lx:11.002062563986277,ly:.3,lz:4.061910717171535,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[7.040460714797138,-5.479383480120523,.12],rightPoint:[7.04046071479714,5.522679083865754,.12],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.746726330959831,cy:.02164780187261517,cz:2.228839888904333,lx:11.002062563986277,ly:.3,lz:4.061910717171535,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.74672633095983,5.522679083865754,.12],rightPoint:[-6.746726330959832,-5.479383480120523,.12],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:.14686719191865416,cy:-5.479383480120523,cz:2.268765007024547,lx:13.787187045756973,ly:.3,lz:4.061910717171535,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.746726330959832,-5.479383480120523,.12],rightPoint:[7.04046071479714,-5.479383480120523,.12],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.39930090798010054,cy:.1,cz:-.0484624485645839,lx:.072600165087291,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25410057780551853,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.014266831753957678,cy:0,cz:-.1875,lx:.26186699684124864,ly:0,lz:.625,color:"#73d8ff",textureType:"Door Texture #6",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"22qg2ZvB7t4cVkS2ppWUue",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["roDDPncXBpNgmNum9aUaov"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:2.0309553585857674,ceiling:!1,locked:!1},{type:"Foundation",cx:.19669830531017318,cy:-.08496072357293061,cz:.06,lx:17.736587385560814,ly:14.112977894531522,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Window",cx:.1816870865194007,cy:1.506541025906793,cz:5.744650351161887,lx:6.810433848205276,ly:.2,lz:3.1501122272271536,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"nRJKnWqaTZMRXNYjQYBBN4",interior:!0,empty:!0,locked:!1},{type:"Window",cx:-4.204012569268376,cy:2.9463024154168345,cz:5.213097091560926,lx:1.8793730345291677,ly:.2,lz:.10394989944101299,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"dyzgwSBWzQe7d2Mdh1AuFs",interior:!0,polygonTop:[-.4945055117340491,2.9817139947018276],empty:!0,locked:!1},{type:"Window",cx:4.5669067733435496,cy:2.98476727058541,cz:5.198896044572235,lx:1.8476822467087874,ly:.2,lz:.0009475429668261212,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"uhbKNy7GzaCLkkjREuNwq9",polygonTop:[.5,3.054344986803331],interior:!0,empty:!0,locked:!1},{type:"Window",cx:.13914271249375698,cy:-1.4674024209486225,cz:5.7431156063968745,lx:6.808872300840532,ly:.2,lz:3.162055053995225,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fRAXriArpJwz8vt5qFbBr8",interior:!0,empty:!0,locked:!1},{type:"Window",cx:-4.236438960455537,cy:-2.8956049895712455,cz:5.215829810116305,lx:1.8110462507584613,ly:.2,lz:.11218491449779774,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100747,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"d2W6C8E4fV5E9D474375zw",empty:!0,interior:!0,polygonTop:[.4883725105977682,2.9617114188962397],locked:!1},{type:"Window",cx:4.521733506737581,cy:-2.9083363875263974,cz:5.211129436754687,lx:1.8533938312525375,ly:.2,lz:.0727447886791959,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"hZSdDLaVahbQNDSPFMa22P",polygonTop:[-.5,2.97886505236164],interior:!0,empty:!0,locked:!1},{type:"Window",cx:5.579385297453698,cy:.038450512915636725,cz:5.156923892280704,lx:5.893522919746983,ly:.2,lz:.06575238683701148,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.518907643929702,0,1.5707963267948963],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"whfKWvVSZ8Zpig8MXVtDnn",polygonTop:[-.004256210920065387,2.2474023195155906],interior:!0,empty:!0,locked:!1},{id:"hg8eUTjrNzo4UYNKSxj3Pu",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:3.810423621996117,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofType:"Gable",textureType:"Roof Texture #2",thickness:.2,wallsId:["hndwqtrrygFvfqvBJrvZYu"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:2.3477273826368026,ceiling:!1,locked:!1},{type:"Window",cx:-5.210239899855391,cy:.02428974701914899,cz:5.199992048011484,lx:5.892196685663338,ly:.2,lz:.03913490008238186,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.518907643929702,0,4.71238898038469],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"nSDYeeSFt1TkoA9AsVzFvv",polygonTop:[-.006026915919198358,2.136722376968723],interior:!0,empty:!0,locked:!1},{type:"Window",cx:.0041783865768951906,cy:.3,cz:.7431852609403766,lx:.151429262766099,ly:.3,lz:.2863705218807532,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",parentType:"Wall",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"2Z4ZTK92xYT6s7pAjiT6th",locked:!1},{type:"Window",cx:0,cy:.3,cz:.7391715106470117,lx:.15978603591988938,ly:.3,lz:.27834302129402333,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"11Ltx28CSTVpm6gjZuBH9w",parentType:"Wall",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cAmpTqjyXxbvZVGVCwC6f3",locked:!1}],Ufn=12,Bfn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.13462208385991,.12570156647960654,-6336761576329169e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.13462208385991,.12470118903347407,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[12.594616653747995,-17.492939317320165,4.593155797112493],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:15.475618750000006,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.1945052133063472,.596243023398342,1.0070484500451025],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:240,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},jfn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Yfn=1,Ofn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},_fn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Vfn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Gfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Xfn="Unknown",Jfn=null,Kfn=null,qfn=null,$fn=null,Qfn=["Dutch gable roof"],Zfn=3,ehn=3,thn={docid:zfn,time:Dfn,timestamp:Efn,userid:kfn,owner:Ffn,email:Lfn,world:Wfn,elements:Nfn,sceneRadius:Ufn,view:Bfn,graphState:jfn,evolutionMethod:Yfn,solarPanelArrayLayoutParams:Ofn,solarPanelArrayLayoutConstraints:_fn,evolutionaryAlgorithmState:Vfn,economicsParams:Gfn,modelType:Xfn,modelAuthor:Jfn,modelLabel:Kfn,modelDescription:qfn,designProjectType:$fn,notes:Qfn,minimumNavigationMoveSpeed:Zfn,minimumNavigationTurnSpeed:ehn},nhn="iRonP6f82ihBcmjezX6Awd",ohn="03/20/2023 10:32 pm",ihn=1679365946442,rhn="QWecNcxhyvP6j6sBN11hBsfZDau1",ahn=null,lhn=null,shn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},chn=[{type:"Wall",cx:-.48795103908913395,cy:4.769352133858485,cz:2.2408122612280286,lx:9.470897735981776,ly:.3,lz:1,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.247497828901754,4.769352133858485,0],rightPoint:[-5.223399907080022,4.769352133858485,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,9.714205250083014],fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.2474978289017535,cy:.49244353247458017,cz:2.2301039869226305,lx:8.55381720276781,ly:.3,lz:1,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.247497828901752,-3.7844650689093244,0],rightPoint:[4.247497828901756,4.769352133858485,0],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-5.2233999070800206,cy:.4924435324745795,cz:2.228839888904333,lx:8.55381720276781,ly:.3,lz:1,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-5.2233999070800206,4.769352133858485,0],rightPoint:[-5.223399907080021,-3.7844650689093258,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-.48795103908913307,cy:-3.7844650689093253,cz:2.4372288712998555,lx:9.470897735981776,ly:.3,lz:1,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-5.223399907080021,-3.7844650689093258,0],rightPoint:[4.247497828901755,-3.7844650689093244,0],relativeAngle:14066962464272472e-32,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,9.714205250083014],fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-.7626979834308516,cy:-10.359931683120488,cz:.05,lx:12.251810254872597,ly:12.332955581960839,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.3,roofType:"Gable",roofStructure:"Default",wallsId:["eTKLP2TockjZDP1RLDKvpj"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hV2AZhwpKM9xyypcH54NGK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:8.714205250083014,ceiling:!1},{type:"Human",name:"Jaye",cx:-.5647094530410346,cy:5.465061158668581,cz:.058387789875268936,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"tnC2iecYMhdN7XDrxXs4UT",selected:!1,ly:.55},{type:"Window",cx:-.21478352854197222,cy:.1,cz:1.25,lx:.21478352854197222,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cikc5XBeHvW1ZWaYYBURtq",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:5,lx:.21478352854197222,ly:.3,lz:3,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hzyxe6XmNqQVYTMPwT86gP",windowType:"Default",archHeight:1},{type:"Window",cx:.21478352854197222,cy:.1,cz:1.25,lx:.21478352854197222,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"poKYkVbAKiojUgyQBBM5eo",windowType:"Default",archHeight:1},{type:"Window",cx:.010739176427098599,cy:.1,cz:4.8,lx:.21478352854197225,ly:.3,lz:3,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"k65HqyHnfGZzC6XJ1tz5nf",windowType:"Default",archHeight:1},{type:"Window",cx:-.21478352854197227,cy:.1,cz:1.25,lx:.21478352854197227,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"iUS6mBnScixGHK4jiNa74q",windowType:"Default",archHeight:1},{type:"Window",cx:.21478352854197227,cy:.1,cz:1.25,lx:.21478352854197227,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gpSRstNVjjcombQpjx6cCS",windowType:"Default",archHeight:1},{type:"Wall",cx:.16127924019256784,cy:2.332251732154486,cz:2.2408122612280286,lx:3.686932704592566,ly:.3,lz:3.091798357527264,leftJoints:["auhnwnZuvqZga1NwTs4Qh6"],rightJoints:["fbEWRqBAdexGf2BAr7KyDh"],leftPoint:[2.004745592488851,2.3322517321544853,.09026163656372185],rightPoint:[-1.6821871121037153,2.332251732154486,.09026163656372185],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"kopxVibcARqNdAWExZTDft",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:4.183499794647806,rightRoofHeight:3.091798357527264,centerRoofHeight:[-.5,4.183499794647806],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Wall",cx:2.0047455924888506,cy:.21993436134309594,cz:2.2301039869226305,lx:4.224634741622781,ly:.3,lz:4.183499794647806,leftJoints:["7WK6nSdGpz8Z5ugN4DQqPL"],rightJoints:["kopxVibcARqNdAWExZTDft"],leftPoint:[2.0047455924888493,-1.8923830094682954,.09026163656372185],rightPoint:[2.004745592488852,2.3322517321544853,.09026163656372185],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"auhnwnZuvqZga1NwTs4Qh6",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:4.183499794647806,rightRoofHeight:4.183499794647806,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.5178364017567816,rightUnfilledHeight:3.5178364017567816,leftTopPartialHeight:4.183499794647806,rightTopPartialHeight:4.183499794647806},{type:"Wall",cx:-1.6821871121037146,cy:.2199343613430946,cz:2.228839888904333,lx:4.224634741622782,ly:.3,lz:3.091798357527264,leftJoints:["kopxVibcARqNdAWExZTDft"],rightJoints:["7WK6nSdGpz8Z5ugN4DQqPL"],leftPoint:[-1.6821871121037144,2.332251732154486,.09026163656372185],rightPoint:[-1.682187112103714,-1.892383009468295,.09026163656372185],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"fbEWRqBAdexGf2BAr7KyDh",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:3.091798357527264,rightRoofHeight:3.091798357527264,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Wall",cx:.16127924019256823,cy:-1.8923830094682952,cz:2.4372288712998555,lx:3.686932704592566,ly:.3,lz:3.091798357527264,leftJoints:["fbEWRqBAdexGf2BAr7KyDh"],rightJoints:["auhnwnZuvqZga1NwTs4Qh6"],leftPoint:[-1.682187112103714,-1.892383009468295,.09026163656372185],rightPoint:[2.004745592488851,-1.8923830094682954,.09026163656372185],relativeAngle:18067425368120646e-32,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"7WK6nSdGpz8Z5ugN4DQqPL",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:3.091798357527264,rightRoofHeight:4.183499794647806,centerRoofHeight:[.5,4.183499794647806],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Foundation",cx:4.882244941296917,cy:-10.70091032804037,cz:.05,lx:5.471984286386839,ly:6.044552967256032,lz:.09026163656372185,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oabGyAr3D6hSmpBhWPDGqF",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["fbEWRqBAdexGf2BAr7KyDh"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"nRVwf4unMrCTvV163G9mW8",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1},{type:"Door",cx:-.01183534271196981,cy:0,cz:-.15296909264162628,lx:.4024016522069765,ly:0,lz:.6940618147167474,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"fbEWRqBAdexGf2BAr7KyDh",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"nthEKWrtxGs4PSrCWi5GEG",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.27122816718470794,cy:.1,cz:0,lx:.27122816718470794,ly:.3,lz:.6468727157224915,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"kopxVibcARqNdAWExZTDft",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"wKDeRMv3UEU8mXGaoDUiWs",windowType:"Default",archHeight:1},{type:"Window",cx:-.27122816718470794,cy:.1,cz:0,lx:.27122816718470794,ly:.3,lz:.6468727157224915,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"7WK6nSdGpz8Z5ugN4DQqPL",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"42U3kN4qWYuxhLNDbwxXrd",windowType:"Default",archHeight:1}],uhn=21,dhn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6516049999999995,-8.063611874995965,-806397029662998e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6516049999999995,-8.063761881663362,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[13.842271241738974,-28.65293514275273,4.026963629011761],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-1.977021416592465,-10.783837041816236,3.5213876845072543],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},fhn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},hhn=1,phn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ghn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},mhn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},yhn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ahn="Unknown",whn=null,vhn=null,xhn=null,bhn=["A-frame house"],Shn={docid:nhn,time:ohn,timestamp:ihn,userid:rhn,owner:ahn,email:lhn,world:shn,elements:chn,sceneRadius:uhn,view:dhn,graphState:fhn,evolutionMethod:hhn,solarPanelArrayLayoutParams:phn,solarPanelArrayLayoutConstraints:ghn,evolutionaryAlgorithmState:mhn,economicsParams:yhn,modelType:Ahn,modelAuthor:whn,modelLabel:vhn,modelDescription:xhn,notes:bhn},Thn="bm2bMMbAcph5HBEqZHjndk",Phn="03/20/2023 11:03 am",Chn=1679324587911,Rhn="QWecNcxhyvP6j6sBN11hBsfZDau1",Hhn=null,Mhn=null,Ihn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},zhn=[{type:"Wall",cx:.016921335908854303,cy:4.063374076185866,cz:2.2408122612280286,lx:9.470897735981776,ly:.3,lz:8,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.752370203899743,4.063374076185865,.1167755799390626],rightPoint:[-4.718527532082034,4.063374076185867,.1167755799390626],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,14],fill:"Full",eavesLength:.5,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:4.752370203899742,cy:-.2135345251980382,cz:2.2301039869226305,lx:8.55381720276781,ly:.3,lz:8,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.75237020389974,-4.490443126581943,.1167755799390626],rightPoint:[4.752370203899745,4.063374076185865,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-4.718527532082032,cy:-.2135345251980388,cz:2.228839888904333,lx:8.55381720276781,ly:.3,lz:8,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.718527532082033,4.063374076185867,.1167755799390626],rightPoint:[-4.718527532082033,-4.490443126581945,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:.016921335908855254,cy:-4.490443126581944,cz:2.4372288712998555,lx:9.470897735981776,ly:.3,lz:8,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.718527532082033,-4.490443126581945,.1167755799390626],rightPoint:[4.752370203899743,-4.490443126581943,.1167755799390626],relativeAngle:14066962464272472e-32,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,14],fill:"Full",eavesLength:.5,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Foundation",cx:.06778462234397686,cy:.11229032412929119,cz:.05,lx:13.261555004868576,ly:13.821828446550082,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.3,roofType:"Gable",roofStructure:"Default",wallsId:["eTKLP2TockjZDP1RLDKvpj"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hV2AZhwpKM9xyypcH54NGK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:6,ceiling:!1,sideColor:"#4d4d4d",locked:!0},{type:"Human",name:"Jaye",cx:-5.524403634250389,cy:5.933912667936443,cz:.058387789875268936,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"tnC2iecYMhdN7XDrxXs4UT",selected:!1,ly:.55,locked:!0},{type:"Polygon",cx:.00031866172024926434,cy:-1.0502280057835613,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:6828465433912113e-20,y:-.982449115782449},{x:0,y:-1.25},{x:0,y:-.875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,filled:!0,selectedIndex:2,id:"xmTq7nGfL5qqQp8gvXDYM6",lineColor:"#4d4d4d",lineWidth:2,locked:!0},{type:"Polygon",cx:.14078214869407168,cy:-.7541666666666667,cz:.6437310349973828,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.26396652880138444,y:-.875},{x:0,y:-.875},{x:.15837991728083065,y:-.5125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kxt6Srxx1T2g9dM5Cj9xjQ",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.09047767660927532,cy:-5921189464667502e-30,cz:.6771072607245675,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:-.875},{x:-.26396652880138444,y:-.875},{x:-.15837991728083065,y:-.5125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"oepTS5ZaT38ze93aEUFXCf",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3273184957137167,cy:-.35,cz:-.1473145782594516,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49625707414660275,y:-.5},{x:.15837991728083065,y:-.5},{x:.15837991728083065,y:-.1875},{x:.49625707414660275,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6GCp4VpMJ4zaYZryasBb12",selected:!1,selectedIndex:1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.35,lx:.21117322304110756,ly:.3,lz:.24999999999999994,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:.8499999999999999,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cPiRHW6SZVJYmoL6piX4rh",locked:!0},{type:"Window",cx:-.322039165137689,cy:.3,cz:.35,lx:.26396652880138444,ly:.3,lz:.25,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"oKk1wpnrjFtx7ZScLUWdKG",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3257820909910863,cy:.3,cz:.35000000000000003,lx:.26396652880138444,ly:.3,lz:.24999999999999994,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vm61bCHu5wJTneq9mSRG3v",locked:!0},{type:"Polygon",cx:-.32731849571371674,cy:-.34375,cz:.07091220488250127,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:-.5},{x:-.49625707414660275,y:-.5},{x:-.49625707414660275,y:-.1875},{x:-.15837991728083065,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"a2uJiAM1SwWygA7Xks25tx",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.009700144501707204,cy:0,cz:.07091220488250127,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:-.5},{x:-.15837991728083065,y:-.5},{x:-.15837991728083065,y:-.1875},{x:.15837991728083065,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"okpxRdBH9UmPzQeBnPqHvV",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.43994421466897404,cy:-.10416666666666667,cz:-.0908057613542031,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.47513975184249196,y:-.125},{x:.4223464460822151,y:-.125},{x:.47513975184249196,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gnnDsq9utfqbvsSLW4Vsui",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.31675983456166135,cy:-.10416666666666667,cz:-.0908057613542031,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4223464460822151,y:-.125},{x:.3167598345616613,y:-.125},{x:.3695531403219382,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"daBi7jdbhLYUKfawDVZbRF",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.26396652880138444,cy:-.14583333333333334,cz:.09889005465479705,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.3167598345616613,y:-.125},{x:.26396652880138444,y:-.1875},{x:.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"83Jx4Wfx1CTQe5o1dVj7Gt",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.31823715865388064,cy:0,cz:-.06254223609465975,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4223464460822151,y:-.125},{x:.3695531403219382,y:-.1875},{x:.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"2P1Z36zj1PZrLZ5WtCuQLU",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.1528231574478215,cy:0,cz:-.07973264486359,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.47513975184249196,y:-.1875},{x:.4223464460822151,y:-.125},{x:.47513975184249196,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"c8iKMXwV5TTJS5y7LAm16z",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.26396652880138444,cy:-.10416666666666667,cz:-.0264570438192977,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.3167598345616613,y:-.125},{x:.26396652880138444,y:-.0625},{x:.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"4EQtRFUvGwquz82cAGupQx",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.0984129795658402,cy:0,cz:.0741183552861776,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.21117322304110756,y:-.125},{x:.15837991728083065,y:-.1875},{x:.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"keytXy7yjTuyQvCHx43FMf",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.08043767629130923,cy:-11842378929335004e-30,cz:.053462400842831936,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:-.0625},{x:.21117322304110756,y:-.125},{x:.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vcfgXdnGFRF224UmF7C68T",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.05586281472424893,cy:0,cz:-.06415089633102461,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.10558661152055378,y:-.125},{x:.05279330576027689,y:-.1875},{x:0,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6L9YHg5xYnPV5wP7pRzMPQ",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.04508436921887703,cy:-11842378929335004e-30,cz:-.07958364344414548,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.10558661152055378,y:-.125},{x:.05279330576027689,y:-.0625},{x:0,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vFWJZ8BRQAYJsb48YWUz6j",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.12944043805698166,cy:0,cz:-.044015079009130986,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:-.125},{x:-.05279330576027689,y:-.1875},{x:-.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"c9pAfjjQXFGB9FrY3fPcgo",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.1360791344719124,cy:0,cz:-.002668588802964056,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.05279330576027689,y:-.0625},{x:0,y:-.125},{x:-.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8hMi9wi8eWGAVCFdCrrHxf",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.1504887203711347,cy:11842378929335004e-30,cz:-.03387070431424388,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.10558661152055378,y:-.125},{x:-.15837991728083065,y:-.1875},{x:-.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"1vmj7VNyMLhdjUdvzKBed1",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.2027600334109868,cy:11842378929335004e-30,cz:-.02143305207869428,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:-.0625},{x:-.10558661152055378,y:-.125},{x:-.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"ffiDmHRPrs2dDPEPn4TWqL",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3241256214430625,cy:-11842378929335004e-30,cz:-.01780218811727341,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.21117322304110756,y:-.125},{x:-.26396652880138444,y:-.1875},{x:-.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"wcidSWb2sESnViCDPV9mWc",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.25617993668706274,cy:0,cz:-.01786081434302994,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.21117322304110756,y:-.125},{x:-.26396652880138444,y:-.0625},{x:-.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"feb2PRU5xBgnQQYi5Q5HxG",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.15105849038732078,cy:0,cz:-.11142936913498758,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.3167598345616613,y:-.125},{x:-.3695531403219382,y:-.1875},{x:-.4223464460822151,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8YCxSmg5F51AUWFz5Z7Mcz",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.2903850025394723,cy:0,cz:-.05931035952397312,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.3167598345616613,y:-.125},{x:-.4223464460822151,y:-.125},{x:-.3695531403219382,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"br3QNNryqRA4C5JyMif58B",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.2709208200589227,cy:0,cz:-.12433060024345055,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.4223464460822151,y:-.125},{x:-.47513975184249196,y:-.125},{x:-.47513975184249196,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"qua38i78SB79351oS944na",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.26414949628329426,cy:0,cz:-.11662195581661955,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.4223464460822151,y:-.125},{x:-.47513975184249196,y:-.1875},{x:-.47513975184249196,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vmDWdbEKBTn6Q3L3pv8qqU",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:-.1231126961021224,cy:0,cz:-.16413364186630847,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4968716360356549,y:.1875},{x:.4968716360356549,y:-.0625},{x:.15899447916988277,y:-.0625},{x:.15899447916988277,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8PUhoaNcXfpHS24ebeEAKM",selected:!1,selectedIndex:3,locked:!0},{type:"Polygon",cx:.17939465541008254,cy:11842378929335004e-30,cz:-.09134585167481035,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:.1875},{x:.15837991728083065,y:-.0625},{x:-.15837991728083065,y:-.0625},{x:-.15837991728083065,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"bcXX5tcf3D2wVveoEkcL6f",selected:!1,selectedIndex:3,locked:!0},{type:"Polygon",cx:.27093529163208646,cy:0,cz:-.23361707380435942,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:.1875},{x:-.15837991728083065,y:-.0625},{x:-.49625707414660275,y:-.0625},{x:-.49625707414660275,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6s38KEz9j6GBtEC98qn52U",selected:!1,selectedIndex:3,locked:!0},{type:"Window",cx:-.32016770221099033,cy:.3,cz:-.05625,lx:.2677094546547817,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"o7JmF1iLCdGFdtbRj8czNQ",locked:!0},{type:"Window",cx:.005279330576027693,cy:.3,cz:-.056249999999999994,lx:.22173188419316292,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gnKEFjjyTpc69CbNkzsSnb",locked:!0},{type:"Window",cx:.33106142156711393,cy:.3,cz:-.05624999999999997,lx:.25340786764932904,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"itZnbX7dvNW4uttWy8xqNF",locked:!0},{type:"Polygon",cx:.3273184957137167,cy:.2791666666666667,cz:-.3574546006707193,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49625707414660275,y:.225},{x:.3273184957137167,y:.3625},{x:.15837991728083065,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eM6FR2jokXDXXNuqEbWW5t",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3273184957137167,cy:.45416666666666666,cz:-.38841568779580643,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.32793305760276886,y:.35833333333333334},{x:.15899447916988282,y:.49583333333333335},{x:.49687163603565493,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"xbCXMjDGmXXmNhu45xKrKU",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.02549879326087855,cy:-11842378929335004e-30,cz:-.30729230835255206,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:.225},{x:0,y:.3625},{x:-.15837991728083065,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"5HQ6TVrPFFjZ9n9pMNCaPw",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.17764937225875113,cy:11842378929335004e-30,cz:-.38532011935953503,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:.225},{x:-.32670393382466456,y:.35833333333333334},{x:-.49625707414660275,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6xMKYrX7YfEEQhYDvJGbXj",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.028297592880302983,cy:0,cz:-.4292130777977021,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.32670393382466456,y:.35833333333333334},{x:-.4956425122575506,y:.49583333333333335},{x:-.1577653553917785,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aC5hTZ2mJqEmuJzedm4MJc",selected:!1,locked:!0},{type:"Polygon",cx:-.0752822112279152,cy:0,cz:-.43162058966296696,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:.3625},{x:-.14782125612877528,y:.5},{x:.15899447916988285,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"g4vxfHB2tWhootScoBEJAy",selected:!1,selectedIndex:0,locked:!0},{type:"Window",cx:-.15837991728083065,cy:.3,cz:-.36250000000000004,lx:.08446928921644303,ly:.3,lz:.10000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aTgEN9mCRYp5yq7d1z5C9J",locked:!0},{type:"Window",cx:.16893857843288604,cy:.3,cz:-.3625,lx:.08446928921644302,ly:.3,lz:.09999999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"iJhjRtnwcwPom4AbAof7TY",locked:!0},{type:"Window",cx:0,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eM9DBHVTV9qvEYGB1GSGT4",locked:!0},{type:"Window",cx:-.2850838511054952,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"xktqPqwH68DsLhhed5NdpJ",locked:!0},{type:"Window",cx:.3167598345616613,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"smfVPdpD4AJjru3d9qbPFB",locked:!0},{type:"Polygon",cx:.33203141791512314,cy:-.34064625850340136,cz:.0816606073539844,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:-.4875},{x:.16366961869923916,y:-.5},{x:.16366961869923916,y:-.1875},{x:.5026995431476631,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7P3jamWRpmTThzKQQchxem",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.08095645236308847,cy:11472304587793285e-30,cz:.024081550771485216,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.11690687049945654,y:-.4875},{x:-.15197893164929352,y:-.4875},{x:-.15197893164929352,y:-.1875},{x:.11690687049945654,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hti4VWVrfMLPFRbMnZuXCh",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:-.06332927122552619,cy:37007434154171886e-32,cz:.11866929892518252,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.19874167984907612,y:-.5},{x:-.49524132235097623,y:-.4844583756672448},{x:-.4910088560977175,y:-.1875},{x:-.19874167984907612,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"fK55YfVyK24HbKmqkoFvX8",selected:!1,selectedIndex:0,locked:!0},{type:"Window",cx:-.3273392373984783,cy:.3,cz:.34375,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7uoagXVHHDZRJe6yfz87Uy",locked:!0},{type:"Window",cx:.02338137409989131,cy:.3,cz:.34375,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"2eFNdjG8a6PPPeWCyHvJZF",locked:!0},{type:"Window",cx:.3435254963995652,cy:.3,cz:.34375,lx:.10251664030184776,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"pVvTiVPrSp7DHLhNTLPbpw",locked:!0},{type:"Polygon",cx:.11417019715816792,cy:-.03691339676553812,cz:-.01732802673536704,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.334513812493377,y:-.1887668131742859},{x:.11690687049945654,y:-.1875},{x:0,y:.2},{x:.5026995431476631,y:.2}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"ncvU41deRZgttbWEevak9W",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.23813144459901245,cy:-12582527612418442e-30,cz:-.15608783217541283,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15197893164929352,y:-.1875},{x:-.33902992444842395,y:-.1875},{x:-.5026995431476631,y:.2},{x:-.011690687049945655,y:.2}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nUnv6wAVCPmYj3Aresrcpk",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:-.13062766511807228,cy:-2590520390792032e-30,cz:-.22842446371425668,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49818343119261616,y:.1987331868257141},{x:.15301751728589502,y:.20325890158694568},{x:.15345728483965818,y:.49941339676553814},{x:.49818343119261616,y:.49873318682571405}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8Kz8otpe54cGwNRpjbBHbb",selected:!1,locked:!0},{type:"Polygon",cx:.08870702581035714,cy:11657341758564144e-30,cz:-.3327175444793864,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.1564950436043405,y:.19873318682571411},{x:-.5016609575110615,y:.2032589015869457},{x:-.5012211899572985,y:.49941339676553814},{x:-.1564950436043405,y:.4987331868257141}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"wG7R1sDD8K7WPRvoZtoyJw",selected:!1,locked:!0},{type:"Window",cx:-.23381374099891308,cy:.3,cz:.0062500000000000056,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"pHH5nsCFYVbtKpFCrTf3Ws",locked:!0},{type:"Window",cx:.25134977157383154,cy:.3,cz:.0062500000000000056,lx:.1285975575494022,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cwAvtz8KzMtAWzktGpFNXr",locked:!0},{type:"Polygon",cx:.3974833596981522,cy:-.3,cz:.15250947773144075,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:-.4875},{x:.29226717624864135,y:-.4875},{x:.29226717624864135,y:-.1125},{x:.5026995431476631,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"h2haDNadyPJVsXHUBM7goT",selected:!1,selectedIndex:2,locked:!1},{type:"Polygon",cx:.2062582639639952,cy:0,cz:.09819258432246669,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.29352549639956527,y:-.4875},{x:-.503957863298587,y:-.4875},{x:-.503957863298587,y:-.1125},{x:-.29352549639956527,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"qNhdQA6nMEubq6HrA8GQ56",selected:!1},{type:"Polygon",cx:-.00041944005030796134,cy:-.2375,cz:.11572778700091202,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.001258320150923864,y:-.4875},{x:-.29226717624864135,y:-.1125},{x:0,y:-.1125},{x:.29226717624864135,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7xfb1T386qUxDL13U5ur56",selected:!1,selectedIndex:2},{type:"Window",cx:0,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"61722s3ZSQeHug5MRWQdpi",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3947838165504891,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"16SX2hn6bjPsYFGUZ6H1HJ",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3947838165504891,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"rxzF9abntmscS3LgzGNTHv",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Polygon",cx:.26762748199782616,cy:.07499999999999998,cz:-.20483915447539497,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4137610701221468,y:-.10625000000000001},{x:.12149389387350548,y:-.10625000000000001},{x:.12149389387350548,y:.25625},{x:.4137610701221468,y:.25625}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"4a4kmf2AVjLH4xqmTBj5qm",selected:!1,selectedIndex:3},{type:"Polygon",cx:.2640836675523676,cy:0,cz:-.07455503736820074,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.1357012212252989,y:-.10625000000000001},{x:-.4279683974739402,y:-.10625000000000001},{x:-.4279683974739402,y:.25625},{x:-.1357012212252989,y:.25625}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nzNaoQaRpK6d7hEi9ZXqqA",selected:!1},{type:"Polygon",cx:-.00800080807265061,cy:-3076242964065538e-30,cz:-.3451540701116582,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:.2625},{x:-.49994974836164874,y:.2579458713508321},{x:-.49994974836164874,y:.49544587135083207},{x:.5026995431476631,y:.5}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eVuLrSaB1RiWnm1kdJDxE3",selected:!1,selectedIndex:3},{type:"Window",cx:-.25719511509880444,cy:.3,cz:-.06875,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"srgUpVRNxrAgJWbybn588q",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.29226717624864135,cy:.3,cz:-.06875,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"98pLU7aQ4axthpXWXa3LR2",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Polygon",cx:.004459000607667748,cy:5782411586589357e-32,cz:-.07786416501615101,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.25719511509880444,y:.2625},{x:-.29226717624864135,y:.2625},{x:-.29226717624864135,y:.5},{x:.25719511509880444,y:.5}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"oMeHBYv8MZowW2UjWYNbTs",selected:!1,selectedIndex:3}],Dhn=18,Ehn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.5736443737686907,-8.024644919181295,-8025001608758962e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.5736443737686907,-8.024794925856764,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[10.811404848456696,-24.22563598939458,8.16030935368929],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[2.4887069683147542,-4.392139935230605,6.944093833347563],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},khn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Fhn=1,Lhn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Whn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Nhn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Uhn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Bhn="Unknown",jhn=null,Yhn=null,Ohn=null,_hn=["A half-timbered house"],Vhn={docid:Thn,time:Phn,timestamp:Chn,userid:Rhn,owner:Hhn,email:Mhn,world:Ihn,elements:zhn,sceneRadius:Dhn,view:Ehn,graphState:khn,evolutionMethod:Fhn,solarPanelArrayLayoutParams:Lhn,solarPanelArrayLayoutConstraints:Whn,evolutionaryAlgorithmState:Nhn,economicsParams:Uhn,modelType:Bhn,modelAuthor:jhn,modelLabel:Yhn,modelDescription:Ohn,notes:_hn},Ghn="u6V16ot91aBGkUfNPgtKBw",Xhn="06/13/2023 10:40 am",Jhn=1686667251444,Khn=null,qhn=null,$hn={solarRadiationHeatmapGridCellSize:.3,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Qhn=[{type:"Human",name:"John",cx:-3.628595765451405,cy:-5.965837088553536,cz:.075,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",id:"qPhtowBuGGDfEAuEFNhxwt",selected:!1,locked:!1},{type:"Wall",cx:.10471070913816627,cy:6.876571226527738,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4.1,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[6.991747390099202,6.876571226527738,.1],rightPoint:[-6.78232597182287,6.876571226527738,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.0625,lx:.0708994221944815,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:6.991747390099202,cy:1.3532362351510367,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4.1,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[6.9917473900992,-4.1700987562256655,.1],rightPoint:[6.991747390099204,6.876571226527738,.1],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.782325971822869,cy:1.3532362351510367,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4.1,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.782325971822869,6.876571226527738,.1],rightPoint:[-6.78232597182287,-4.1700987562256655,.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.0625,lx:.09052501808791685,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:.10471070913816716,cy:-4.1700987562256655,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4.1,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.78232597182287,-4.1700987562256655,.1],rightPoint:[6.991747390099204,-4.1700987562256655,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3993009079801005,cy:.1,cz:-.0625,lx:.07260016508729113,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25410057780551853,cy:.1,cz:-.062499999999999944,lx:.072600165087291,ly:.3,lz:.3749999999999999,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.217800495261873,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:-.02203325078968787,cy:0,cz:-.1875,lx:.18926683175395775,ly:0,lz:.625,color:"white",textureType:"Door Texture #7",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"22qg2ZvB7t4cVkS2ppWUue",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["roDDPncXBpNgmNum9aUaov"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:2,ceiling:!1,locked:!1},{type:"Foundation",cx:-11.627490246197299,cy:.3947804481181869,cz:.075,lx:19.77405921718084,ly:14.655745561697936,lz:.15,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Foundation",cx:-11.621608440780687,cy:1.9572753540307968,cz:.05,lx:16.830274696272348,ly:15.08817119873108,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1hsdTDJQtP791cvdCX88pM",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!1},{type:"Wall",cx:.08541275905423218,cy:3.142987766593968,cz:2.2408122612280286,lx:10.982816484532037,ly:.3,lz:5.1,leftJoints:["oqmTcCR15WVtwsqrWdL4GC"],rightJoints:["1pdrgHKxCmzDRjbnSqoG6g"],leftPoint:[5.57682100132025,3.142987766593967,0],rightPoint:[-5.405995483211786,3.142987766593969,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pbycx2vwYmMhSjRe9GEQ9K",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.423886716391337,rightUnfilledHeight:4.423886716391337,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:5.576821001320248,cy:-.20560385518737068,cz:2.2301039869226305,lx:6.697183243562679,ly:.3,lz:5.1,leftJoints:["gCfAqTHxYsKYYxNWYw9TWQ"],rightJoints:["pbycx2vwYmMhSjRe9GEQ9K"],leftPoint:[5.576821001320245,-3.5541954769687103,0],rightPoint:[5.57682100132025,3.142987766593969,0],relativeAngle:1.570796326794896,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oqmTcCR15WVtwsqrWdL4GC",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.137593329953601,rightUnfilledHeight:4.137593329953601,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:-5.405995483211786,cy:-.20560385518737068,cz:2.228839888904333,lx:6.697183243562679,ly:.3,lz:5.1,leftJoints:["pbycx2vwYmMhSjRe9GEQ9K"],rightJoints:["gCfAqTHxYsKYYxNWYw9TWQ"],leftPoint:[-5.405995483211786,3.142987766593969,0],rightPoint:[-5.405995483211786,-3.5541954769687103,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1pdrgHKxCmzDRjbnSqoG6g",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.005808068482516,rightUnfilledHeight:4.005808068482516,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:.08541275905423218,cy:-3.5541954769687103,cz:2.268765007024547,lx:10.982816484532037,ly:.3,lz:5.1,leftJoints:["1pdrgHKxCmzDRjbnSqoG6g"],rightJoints:["oqmTcCR15WVtwsqrWdL4GC"],leftPoint:[-5.405995483211786,-3.5541954769687103,0],rightPoint:[5.57682100132025,-3.5541954769687103,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gCfAqTHxYsKYYxNWYw9TWQ",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.950942062075448,rightUnfilledHeight:3.950942062075448,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",roofStructure:"Default",wallsId:["pbycx2vwYmMhSjRe9GEQ9K"],textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",id:"1ruH3RPfFc3ThJYcd2omkK",leftRidgeLength:3.201607189072456,rightRidgeLength:3.144275873016056,rise:3.3,ceiling:!1,locked:!1},{type:"Human",name:"Jett",cx:3.45311660764904,cy:-5.539983726654682,cz:0,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"ngMWYAz5cg4LmcZtkKGH5w",selected:!1,locked:!1},{type:"Wall",cx:-.5646884076429224,cy:5.154362868463492,cz:2.2408122612280286,lx:12.155877698025375,ly:.3,lz:4,leftJoints:["63yNZT5sk98atsFEx8NvNs"],rightJoints:["jQsmtVwKhe4n3CrR6jXs3q"],leftPoint:[5.513250441369763,5.154362868463492,.15],rightPoint:[-6.642627256655608,5.154362868463492,.15],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mzpK9wLgMhYvSmDqWB4w5a",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4wXNeeycaqHL9B1R9qUX1E",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"mt3NkwPRVR29Vv4nC9yzZx",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"a4kNY3m4aqY6M343x3uLZh",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:5.513250441369763,cy:.8650317721032894,cz:2.2301039869226305,lx:8.578662192720406,ly:.3,lz:4,leftJoints:["7AAP4SGnSJct2FC9Zr7dc4"],rightJoints:["mzpK9wLgMhYvSmDqWB4w5a"],leftPoint:[5.513250441369756,-3.424299324256914,.15],rightPoint:[5.513250441369763,5.154362868463492,.15],relativeAngle:1.570796326794896,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"63yNZT5sk98atsFEx8NvNs",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jbtNFjUNQaHTwUPP6Cgyx7",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ig1Epmrjnd2PJxhzkNaQVQ",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"f3BCsz5GQBEYy4XiqRBqZE",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.642627256655608,cy:.8650317721032894,cz:2.228839888904333,lx:8.578662192720406,ly:.3,lz:4,leftJoints:["mzpK9wLgMhYvSmDqWB4w5a"],rightJoints:["7AAP4SGnSJct2FC9Zr7dc4"],leftPoint:[-6.642627256655608,5.154362868463492,.15],rightPoint:[-6.642627256655608,-3.424299324256914,.15],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jQsmtVwKhe4n3CrR6jXs3q",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"cWeaG9uSw8kJfhXamtKBxr",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"nxekbBrmyzGrPUF9ezKfwT",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"e67VWqxp9LA175MVc6hEpX",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-.5646884076429224,cy:-3.424299324256914,cz:2.268765007024547,lx:12.155877698025375,ly:.3,lz:4,leftJoints:["jQsmtVwKhe4n3CrR6jXs3q"],rightJoints:["63yNZT5sk98atsFEx8NvNs"],leftPoint:[-6.642627256655608,-3.424299324256914,.15],rightPoint:[5.513250441369763,-3.424299324256914,.15],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7AAP4SGnSJct2FC9Zr7dc4",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.39930090798010054,cy:.1,cz:-.0484624485645839,lx:.072600165087291,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"3CK46FAqDU4yiw68e68gyB",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"b4tHm9uwSzreh4oUqoA1iA",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25410057780551853,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"i6yCtjaey6bF3bxgioyozq",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jfHaiksBWSL7KRtRUTCNe2",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.02056618256702364,cy:0,cz:-.1875,lx:.2056618256702355,ly:0,lz:.625,color:"white",textureType:"Door Texture #7",normal:[0,1,0],rotation:[0,0,0],id:"srJTCNtCygPjzCukKAxRUa",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"4gpAeqULbxkTE3NVbw47eo",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["7AAP4SGnSJct2FC9Zr7dc4"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:3.3,ceiling:!1,locked:!1},{type:"Foundation",cx:12.400385994458517,cy:1.2287983710659756,cz:.075,lx:14.955401155218322,ly:11.516608009620233,lz:.15,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oWDryEiqPVRjWJgYF9QDux",selected:!1,notBuilding:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"B"},locked:!1},{type:"Wall",cx:1.5103273766750398,cy:6.063064855929808,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4,leftJoints:["tBjXFzHUauAuKRcxtaPG1e"],rightJoints:["4SzYT1f9J8muRMTnAg2SJH"],leftPoint:[8.397364057636077,6.063064855929808,.25],rightPoint:[-5.376709304285996,6.063064855929808,.25],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dwbAGuCethnJoxAoWyoGv2",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:8.397364057636077,cy:.5397298645531063,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4,leftJoints:["jXXAZGYK8JJ2UA3NqYndxp"],rightJoints:["dwbAGuCethnJoxAoWyoGv2"],leftPoint:[8.397364057636073,-4.983605126823596,.25],rightPoint:[8.397364057636077,6.063064855929808,.25],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tBjXFzHUauAuKRcxtaPG1e",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",structureSpacing:2.3,opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:-5.376709304285995,cy:.5397298645531063,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4,leftJoints:["dwbAGuCethnJoxAoWyoGv2"],rightJoints:["jXXAZGYK8JJ2UA3NqYndxp"],leftPoint:[-5.376709304285995,6.063064855929808,.25],rightPoint:[-5.376709304285996,-4.983605126823596,.25],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4SzYT1f9J8muRMTnAg2SJH",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:1.5103273766750416,cy:-4.983605126823596,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4,leftJoints:["4SzYT1f9J8muRMTnAg2SJH"],rightJoints:["tBjXFzHUauAuKRcxtaPG1e"],leftPoint:[-5.376709304285996,-4.983605126823596,.25],rightPoint:[8.397364057636077,-4.983605126823596,.25],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jXXAZGYK8JJ2UA3NqYndxp",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{id:"uJkcA94q1VPrPcTVWbwGvS",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["jXXAZGYK8JJ2UA3NqYndxp"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:1.5269644430820746,ceiling:!1,locked:!1},{type:"Foundation",cx:10.37396266274916,cy:1.4954382308468475,cz:.125,lx:16.96282588210709,ly:13.050086329642726,lz:.25,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"s1ySBq5Hp2XQRHXHYFr7Ei",selected:!1,enableGroupMaster:!0,notBuilding:!0,locked:!1},{type:"Window",cx:.07884126244762069,cy:-.4199549792627557,cz:5.657927332967425,lx:6.879964200295598,ly:.2,lz:3.6298042832326978,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"5qeCesjRK72iMFt1u6qiC3",interior:!0,empty:!0,locked:!1},{type:"Window",cx:4.6299611623937915,cy:-1.9963568795412103,cz:5.087112090821291,lx:1.9473454718410252,ly:.2,lz:.2766726175398978,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"aGpcgzxVmKxBSPh9yRzTLJ",interior:!0,empty:!0,polygonTop:[-.5,3.2251316092291917],locked:!1},{type:"Window",cx:-4.39419016648573,cy:-2.002733503950701,cz:5.084803114661254,lx:1.92547283639216,ly:.2,lz:.24728723598247773,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.34741346419269825,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"osBXWJHBmx9hpwyQUwqfsK",polygonTop:[.46902792604716753,3.180338239963955],locked:!1},{type:"Window",cx:.11638811342117883,cy:3.157291970642662,cz:5.646751287652042,lx:6.9955661140483585,ly:.2,lz:3.5587869628599558,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"4W4UVMV7FW5xPQu2hjVR4Y",locked:!1},{type:"Window",cx:4.590702645311016,cy:4.683424214953679,cz:5.094138691568809,lx:1.7954404068830758,ly:.2,lz:.26778946663296593,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"jJTqLy3iA2qbmapg7Zub8Z",polygonTop:[.5,3.0683555686449475],locked:!1},{type:"Window",cx:-4.415927568932208,cy:4.63032056148964,cz:5.113367528330277,lx:1.7975728034829963,ly:.2,lz:.3359502694894871,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"m5979bvktsFocL1GPG4weA",polygonTop:[-.4957280589496637,2.9554677254634854],locked:!1},{type:"Window",cx:5.504236899323556,cy:1.3302889338668908,cz:5.19822982033263,lx:5.612135328984845,ly:.2,lz:.3020024535761091,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5129779343199241,0,1.5707963267948963],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"uyC7NDy7e1ziZpNPzq7VwJ",polygonTop:[.009359362140956982,1.9288870310031725],locked:!1},{type:"Window",cx:-5.3990349070202655,cy:1.2828552303810974,cz:5.1395256307270145,lx:6.2123129373580515,ly:.2,lz:6294722086474765e-21,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5129779343199243,0,4.71238898038469],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wfuMCkccoofFa3YJZeQXjY",polygonTop:[-.008473558583168532,2.320323655487881],locked:!1},{type:"Window",cx:1.5099442103574612,cy:2.197100019877415,cz:5.268772915652224,lx:6.866771854005096,ly:.2,lz:3.3727323067547332,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"jKvUBT3s3eyiNHv6xMyWAB",locked:!1},{type:"Window",cx:1.5105405746812384,cy:-1.0648474200330473,cz:5.283367872610519,lx:6.865526912026976,ly:.2,lz:3.1583095363910174,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"nehwkAn747SbcH197nfAym",locked:!1},{type:"Window",cx:6.847328996169246,cy:.5571537124890757,cz:4.912671214877417,lx:5.747166362942518,ly:.2,lz:.07159007097595167,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4061405868341845,0,1.5707963267948963],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"vzRJC7dg8gVnPCKJ8nK1uw",polygonTop:[.0029237138437357584,1.8546622388485283],locked:!1},{type:"Window",cx:-3.913630166662161,cy:.5040604017480659,cz:4.875275785658461,lx:6.025884701181912,ly:.2,lz:.016127155846384855,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4061405868341845,0,4.71238898038469],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"kwCF77vQKSWqB9vJyLsGEC",polygonTop:[-.002404697670111075,1.990469286566286],locked:!1},{type:"Window",cx:5.8964025615822475,cy:3.6476180468177413,cz:4.867767100389265,lx:1.6622791380927708,ly:.2,lz:.4588203236729191,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"41o33Gu8Z1ZgNh7JnbXzVZ",polygonTop:[.5,2.796622713087028],locked:!1},{type:"Window",cx:-2.855581425025988,cy:3.549188813296429,cz:4.894978547817588,lx:1.5556391784234185,ly:.2,lz:.4903348709835801,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"gfa6RMCw76XaAmQeeHFmdc",polygonTop:[-.5,2.5684727779282683],locked:!1},{type:"Window",cx:-2.7969890059844267,cy:-2.384701698791339,cz:4.918484960952953,lx:1.5043468507143833,ly:.2,lz:.30588110911202415,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"neBTigCnPfsLosQzW9yEzs",polygonTop:[.5,2.6873784768414724],locked:!1},{type:"Window",cx:5.895662984214205,cy:-2.416289985539417,cz:4.90975215898503,lx:1.579400635678578,ly:.2,lz:.3714274801752112,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"4LmavYSaxJMdhHeDjENvmB",polygonTop:[-.5,2.6218328392217303],locked:!1}],Zhn=27,epn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6328594466581806,4.6052145632619785,4606954980926815e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6328594466581806,4.6042141858164145,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-24.900270995188162,-22.88331862075037,5.458927240534251],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:43.16939043526372,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.17215904908430746,3.1094271606158492,2.035326701937142],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:334,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},tpn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},npn=1,opn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ipn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},rpn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},apn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},lpn="Unknown",spn=null,cpn=null,upn=null,dpn=["Combination roof vs. bonnet roof"],fpn={docid:Ghn,time:Xhn,timestamp:Jhn,owner:Khn,email:qhn,world:$hn,elements:Qhn,sceneRadius:Zhn,view:epn,graphState:tpn,evolutionMethod:npn,solarPanelArrayLayoutParams:opn,solarPanelArrayLayoutConstraints:ipn,evolutionaryAlgorithmState:rpn,economicsParams:apn,modelType:lpn,modelAuthor:spn,modelLabel:cpn,modelDescription:upn,notes:dpn},hpn="eUyyJJc59Won933XJe19sV",ppn="06/17/2023 01:41 pm",gpn=1687023666114,mpn="QWecNcxhyvP6j6sBN11hBsfZDau1",ypn=null,Apn=null,wpn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 9:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},vpn=[{type:"Human",name:"Jeff",cx:2.849872692474971,cy:-6.695477959956797,cz:1.05,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.6,locked:!0},{type:"Wall",cx:.40535681744352425,cy:5.410198334546533,cz:2.2408122612280286,lx:6.331471207996493,ly:.3,lz:8.5,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[3.571092421441771,5.410198334546532,2.1],rightPoint:[-2.760378786554723,5.410198334546534,2.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:8.5,rightRoofHeight:8.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8.5,rightTopPartialHeight:8.5},{type:"Wall",cx:3.57109242144177,cy:-.3506001740764093,cz:2.2301039869226305,lx:11.521597017245886,ly:.3,lz:6.067100850480004,leftJoints:["8VKLBEAuMJxaXGp1WaM9mU"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[3.57109242144177,-6.1113986826993525,2.1],rightPoint:[3.571092421441772,5.410198334546534,2.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:7,rightRoofHeight:8.5,centerRoofHeight:[-.19251847682880624,6.3652370979872765],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6.067100850480004,rightTopPartialHeight:6.067100850480004},{type:"Wall",cx:-2.7603787865547225,cy:-.3506001740764093,cz:2.228839888904333,lx:11.521597017245886,ly:.3,lz:6.067100850480004,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["8VKLBEAuMJxaXGp1WaM9mU"],leftPoint:[-2.760378786554722,5.410198334546534,2.1],rightPoint:[-2.760378786554723,-6.1113986826993525,2.1],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:8.5,rightRoofHeight:7,centerRoofHeight:[.19251847682880624,6.3652370979872765],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6.067100850480004,rightTopPartialHeight:6.067100850480004},{type:"Foundation",cx:-.33784337005620096,cy:1.3319211806243931,cz:1.05,lx:15.0489874276124,ly:21.361755748126203,lz:2.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,color:"#b3b3b3",locked:!0},{type:"Wall",cx:.40535681744352337,cy:-6.1113986826993525,cz:3.5404855174251457,lx:6.3314712079964925,ly:.3,lz:7,relativeAngle:0,leftPoint:[-2.760378786554723,-6.1113986826993525,2.1],rightPoint:[3.57109242144177,-6.1113986826993525,2.1],leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"8VKLBEAuMJxaXGp1WaM9mU",roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:7,rightRoofHeight:7,color:"#999999",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["8VKLBEAuMJxaXGp1WaM9mU"],textureType:"No Roof Texture",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"9DRBXRS4our7656cx2vwpG",ridgeLeftPoint:[.19251847682880624,1],ridgeRightPoint:[-.19251847682880624,1],locked:!0,sideColor:"#999999",rise:-2.1347629020127235,ceiling:!1},{type:"Wall",cx:.7846470380907851,cy:6.144582715914701,cz:2.2408122612280286,lx:8.239996514218573,ly:.1,lz:2.458799038921556,leftJoints:["awarKnJ5NQrzVL6xf3jKDE"],rightJoints:["c43fWPvXTFz63buLF7EQiF"],leftPoint:[4.904645295200071,6.1445827159147,.038162668507384964],rightPoint:[-3.3353512190185017,6.144582715914702,.038162668507384964],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s2FCVLdwmxK7ScMqTWFnPt",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:2.1,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:4.904645295200071,cy:-.6338350568557676,cz:2.2301039869226305,lx:13.55683554554094,ly:.1,lz:2.458799038921556,leftJoints:["jCtJVX5GRr3k9vybapQgGf"],rightJoints:["s2FCVLdwmxK7ScMqTWFnPt"],leftPoint:[4.904645295200069,-7.4122528296262375,.038162668507384964],rightPoint:[4.904645295200073,6.144582715914702,.038162668507384964],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"awarKnJ5NQrzVL6xf3jKDE",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:1.93,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:-3.335351219018501,cy:-.6338350568557676,cz:2.228839888904333,lx:13.55683554554094,ly:.1,lz:2.458799038921556,leftJoints:["s2FCVLdwmxK7ScMqTWFnPt"],rightJoints:["jCtJVX5GRr3k9vybapQgGf"],leftPoint:[-3.3353512190185,6.144582715914702,.038162668507384964],rightPoint:[-3.3353512190185017,-7.4122528296262375,.038162668507384964],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"c43fWPvXTFz63buLF7EQiF",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:1.93,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:.7846470380907842,cy:-7.4122528296262375,cz:3.5404855174251457,lx:8.239996514218571,ly:.1,lz:2.458799038921556,leftJoints:["c43fWPvXTFz63buLF7EQiF"],rightJoints:["awarKnJ5NQrzVL6xf3jKDE"],leftPoint:[-3.3353512190185017,-7.4122528296262375,.038162668507384964],rightPoint:[4.904645295200069,-7.4122528296262375,.038162668507384964],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"jCtJVX5GRr3k9vybapQgGf",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:2.1,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Foundation",cx:-.7344091119928784,cy:1.2827917090727918,cz:1,lx:11.86176666643788,ly:16.71773862227102,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oR9dfJF3BCFMyFyFLPCHa7",selected:!1,locked:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["jCtJVX5GRr3k9vybapQgGf"],ridgeWidth:.5,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",id:"5By6QsyR9XJzwW57eFw7Rg",locked:!0,rise:0,ceiling:!1},{type:"Wall",cx:-.039595288973048426,cy:5.505906418342898,cz:2.2408122612280286,lx:8.1086978625349,ly:.1,lz:3.7968822453017803,leftJoints:["cSVfkr5b26MSCjvZV6AAuA"],rightJoints:["39y7xTS1S7F7jiBBvyvPxR"],leftPoint:[4.0147536422944015,5.505906418342896,0],rightPoint:[-4.093944220240498,5.5059064183429,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hq7PgWBkRgswjhv5arBsam",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:2.1,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:4.0147536422944015,cy:-1.1596625117163346,cz:2.2301039869226305,lx:13.33113786011847,ly:.1,lz:3.7968822453017803,leftJoints:["8K2s8ExFq4TG2csG9MWdsp"],rightJoints:["hq7PgWBkRgswjhv5arBsam"],leftPoint:[4.0147536422944,-7.8252314417755695,0],rightPoint:[4.014753642294403,5.5059064183429,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cSVfkr5b26MSCjvZV6AAuA",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:1.93,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:-4.093944220240498,cy:-1.1596625117163346,cz:2.228839888904333,lx:13.33113786011847,ly:.1,lz:3.7968822453017803,leftJoints:["hq7PgWBkRgswjhv5arBsam"],rightJoints:["8K2s8ExFq4TG2csG9MWdsp"],leftPoint:[-4.093944220240498,5.5059064183429,0],rightPoint:[-4.093944220240498,-7.8252314417755695,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"39y7xTS1S7F7jiBBvyvPxR",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:1.93,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:-.039595288973049314,cy:-7.8252314417755695,cz:3.5404855174251457,lx:8.108697862534898,ly:.1,lz:3.7968822453017803,leftJoints:["39y7xTS1S7F7jiBBvyvPxR"],rightJoints:["cSVfkr5b26MSCjvZV6AAuA"],leftPoint:[-4.093944220240498,-7.8252314417755695,0],rightPoint:[4.0147536422944,-7.8252314417755695,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"8K2s8ExFq4TG2csG9MWdsp",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:2.1,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Foundation",cx:.04362302366466242,cy:1.823303235241708,cz:1,lx:8.30081773193631,ly:17.094708951250738,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5Ds4Da2scUYHkUksNyQ1xG",selected:!1,enableGroupMaster:!1,locked:!0,notBuilding:!0},{type:"Window",cx:-.25419587257395015,cy:.1,cz:-.30201296045936715,lx:.24801117503166498,ly:.3,lz:.33556995606596346,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1d7mvhUrBc4LPBEQXecARp",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ir7hkL6jERL1qMTc1icTaU",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.2603805701162353,cy:.1,cz:-.30201296045936715,lx:.2603805701162353,ly:.3,lz:.33556995606596346,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"r88YNaDvQ5vy3aH4s6woYs",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u5euGVsx1U7wCryJGvzaQB",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"cSXg7ALAMVJuBAwSqm3fTC",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.23691176200967903,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"4BaNwdGRdaXZpb72VCDgor",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rbG9cs5DUMxXisr5wn3eQo",parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.23691176200967903,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mFoP4r2Wu3pQmWdjtsWy3S",parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"augNejin4JPCekoKKnTYSv",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.029411764705882353,lx:.15794117467311933,ly:.3,lz:.17647058823529413,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"5B4h5oeHnYU5wJtaewHXT5",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8361znRuvUkFVaeSdoo5N8",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.34717409348831374,cy:.1,cz:.24723505294647058,lx:.17358704674415687,ly:.3,lz:.32964673726196053,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oqGE4Pc7gaUxrzp2HEspd6",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Human",name:"Jett",cx:3.30154460456002,cy:-9.422479646769895,cz:1.05,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"rw9LaiB1TVsCjU7r3gxtva",selected:!1,ly:.6,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.3048004341950468,cy:-9.630820519777313,cz:1.05,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"eSJdzinPpHu96SbrVMAjVK",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:6.510735678336653,cy:-3.1958389696925,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"5HazbJmLvszfXVAspqP44n",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:6.4905736887835115,cy:3.679225460437303,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"ksxkAyWQERG2x1K1PGLm2t",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-5.9613745486693706,cy:-2.773042180475202,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"iMujo9QXGncnBDqpZ8cWcv",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-6.2101179268188,cy:3.9102946709381,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"6cWk3x2UFqbqvZgzUcoLmx",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:1.8508428108951245,cy:-9.658677131415082,cz:1.05,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"tgueUXSjzrifiN4jQuumWf",selected:!1,locked:!0},{type:"Tree",name:"Apple",cx:6.0352995723203975,cy:9.024257786663838,cz:1.0499999523162848,lx:4.174402972815023,lz:5.46894817384739,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"aKSdbZwyPvicQCB2BLjJKk",selected:!1,locked:!0},{type:"Tree",name:"Apple",cx:-5.904244061298131,cy:8.73412818752091,cz:1.049999952316284,lx:4.174402972815023,lz:5.46894817384739,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"izwDJguiBhY5ey4Ujd2R3z",selected:!1,locked:!0},{type:"Human",name:"Jena",cx:4.50924100032713,cy:-.042568091946864506,cz:1.05,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"q9UXGHJuymt18ppM1rZtbi",selected:!1,ly:.695,locked:!0},{type:"Window",cx:0,cy:.1,cz:.38235294117647056,lx:.15794117467311933,ly:.3,lz:.17647058823529413,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fpLqjLTr3asSNu2fh1ZJCm",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.02669213223982052,cy:.08291430106063127,cz:7.726383223578941,lx:6.232,ly:8.368,lz:.046,showLabel:!1,normal:[0,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,0],color:"#fff",parentType:"Roof",parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"n5j4iVNJbtpUNbLaMZkvDP",selected:!1,locked:!0},{type:"Light",decay:2,distance:8,intensity:8,color:"#fe9200",cx:.05226827991600305,cy:-.11746474188720647,cz:6.581147613067356,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,0],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"uKAsAnFBRgrMiaDDwGrZbd",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:8,intensity:8,color:"#fe9200",cx:.04809382562376093,cy:.17196359453393734,cz:8.23533076857283,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[-6262269137366339e-32,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,-4440892098500626e-31],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ndNwjPHJBZn5L5PwwRPXWh",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:5,intensity:5,color:"#7b64ff",cx:.4038813832551331,cy:-.018771346923666346,cz:.4999999772934685,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eKvvAN4QXDBPjUP3YttScs",selected:!1,locked:!0},{type:"Light",decay:2,distance:8,intensity:5,color:"#f44e3b",cx:.03479011577552929,cy:.29915344735612687,cz:8.962264816189862,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[-6262269137366339e-32,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,-4440892098500626e-31],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"j4JYudDCjzNXq8FDPWZEem",selected:!1,inside:!0,locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.39094575141857246,y:-.6076345062918038},{x:-.3475489897325333,y:-.5252228219763136},{x:-.30415222804649406,y:-.6076345062918038},{x:-.3475489897325333,y:-.690046190607294}],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",parentType:"Wall",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,filled:!0,selectedIndex:0,id:"it9MDEMzBf4jYFMwSdWCYB",text:"LAKE INN",fontSize:.6,fontColor:"white",noOutline:!0,opacity:0,fontStrokeWidth:.01,locked:!0}],xpn=16,bpn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.9823782654476845,7.984103859589565,7948413777907035e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.9823782654476845,7.983103482143546,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[26.70929607950559,3.177981670849796,5.962891433031834],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921875,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"forestgreen",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.21820041958429523,2.945228709202592,5.9628914330318326],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!0,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Spn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Tpn=1,Ppn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Cpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Rpn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Hpn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Mpn="Unknown",Ipn=null,zpn=null,Dpn=null,Epn=[],kpn={docid:hpn,time:ppn,timestamp:gpn,userid:mpn,owner:ypn,email:Apn,world:wpn,elements:vpn,sceneRadius:xpn,view:bpn,graphState:Spn,evolutionMethod:Tpn,solarPanelArrayLayoutParams:Ppn,solarPanelArrayLayoutConstraints:Cpn,evolutionaryAlgorithmState:Rpn,economicsParams:Hpn,modelType:Mpn,modelAuthor:Ipn,modelLabel:zpn,modelDescription:Dpn,notes:Epn},Fpn="9oLedt6KSdnvU6ReLpvofe",Lpn="06/12/2023 10:14 am",Wpn=1686579271051,Npn=null,Upn=null,Bpn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},jpn=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-.19344523437500172,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.036317022980521335,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,label:"Box Gable",labelHeight:8,labelSize:.5,showLabel:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"pNA4YvnHKpbgLLZoVdn8iH",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"pNA4YvnHKpbgLLZoVdn8iH",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",showLabel:!1,ly:0,lz:.4719248971291678,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:.014037551435416101,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:.014037551435416101,normal:[0,0,1],cx:-.25,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.4719248971291678,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.24999999999999997,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333326,color:"#ffffff",cz:.014037551435416101,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.4719248971291678,type:"Window",mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:.014037551435416101,lz:.4719248971291678,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333341,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.5,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.1,cx:.35,cz:0,ly:0,showLabel:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{selected:!1,cz:-.003118658584209677,foundationId:"m7AH7DcnoGzAq9kryBy4RS",type:"Window",normal:[0,0,1],id:"rgPxjoaTPqdF2tQvSYYJxX",lx:.15000000000000005,ly:0,color:"#ffffff",parentId:"skm8dNPSkFaVkoUwiPNfq1",lz:.5062373171684194,cy:.1,cx:.025000000000000022,rotation:[0,0,0],mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.32500000000000007,rotation:[0,0,0],type:"Window",lz:.5,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:0,lx:.1499999999999999,color:"#ffffff",cy:.1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jamelia",cx:1.1862593917325661,cy:-5.878603983923892,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Door",cx:-.007175044455080826,cy:0,cz:-.10574881686604092,lx:.24768342224349496,ly:0,lz:.7885023662679181,textureType:"Door Texture #5",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"j9wJCoWK33fz7y9VeMvYET",doorType:"Default",archHeight:1,filled:!0},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.25,cy:.1,cz:0,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mN8bzYoiQHnqnz3EdnMx5V",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.009999999999999998,cy:.1,cz:.65,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tykEvHMLKUG24aenygTKer",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:.1,cz:0,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ptjuJgnSZ9BGF41zQTa7NN",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.25,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qH7TW5xv9LhkiifYBpFnzX",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kGJQ1siixMwoWrD3EUKKJK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-18.764187734374996,cy:.14106107076947794,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,label:"Open Gable",showLabel:!0,labelHeight:7,labelSize:.5},{type:"Door",cx:0,cy:0,cz:-.1,lx:.25,ly:0,lz:.8,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Jess",cx:-3.1725018437499966,cy:-6.753630704470966,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pNA4YvnHKpbgLLZoVdn8iH",leftRidgeLength:6,rightRidgeLength:6,rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1},{type:"Human",name:"Jeanette",cx:7.621742234374995,cy:-6.466760136609153,cz:.05000000074505806,lx:.4,ly:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"oRmXPWxcNMFxgsrsxonDon",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.36,cy:.1,cz:-.003118658584209677,lx:.12000000000000002,ly:.3,lz:.5062373171684194,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ffkLQGy3NT64UfpCw11G41",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.05,cy:.1,cz:-.003118658584209677,lx:.1,ly:.3,lz:.5062373171684194,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gNMVvT81stFdLZCLrqUQZf",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3366666666666666,cy:.1,cz:0,lx:.12666666666666676,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5bfnZWdB6epkk2c8Lmex9Z",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.375,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aScdMHKjqapGhvxSXnrdVS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"94qFJLPpyieU8kH3r8ea1u",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333334,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hqJtpQuGAWonh9XMck7DkQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.375,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iepBWG7Nk7RRKfgVSDffBC",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:18.4159863125,cy:-.013675215842332555,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,label:"Hip",showLabel:!0,labelHeight:8,labelSize:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,rise:2,ceiling:!1},{type:"Door",cx:.00416666666666667,cy:0,cz:-.125,lx:.24166666666666667,ly:0,lz:.75,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"bm1UTSxwjiN1iZGr4Z4Fm6",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.35000000000000014,cy:.1,cz:.014037551435416087,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vA6adyEkDTr58b4mpzEs5P",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:13322676295501878e-32,cy:.1,cz:.014037551435416074,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"twnicRfRAP53B9K6S8CVFm",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.35000000000000014,cy:.1,cz:.014037551435416074,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oxmJ7ohqmjFLB5ye4yGS6E",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3500000000000001,cy:.1,cz:.01403755143541606,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jsRnsGzxKw3CunZjMYneFD",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8d9L17Wt7kc8NaHb7DZkQA",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hVKNWxqP1tH67cRypCiM18",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29999999999999993,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hHA24TY61rX4piy7chXHsW",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.6390375514354161,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sFXKinS1ygh3aQAbgbsfyW",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3000000000000001,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n9vgLXoYa2nNMGT5JFGz9k",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1}],Ypn=35,Opn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-28.254159564913593,-27.690636175073536,3.1442036565521727],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-2.0057889063141925,7.911051887878871,2.2071518984525413],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:288,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},_pn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Vpn=1,Gpn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Xpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Jpn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Kpn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},qpn="Unknown",$pn=null,Qpn=null,Zpn=null,e1n=["Gable roof vs. hip roof"],t1n={docid:Fpn,time:Lpn,timestamp:Wpn,owner:Npn,email:Upn,world:Bpn,elements:jpn,sceneRadius:Ypn,view:Opn,graphState:_pn,evolutionMethod:Vpn,solarPanelArrayLayoutParams:Gpn,solarPanelArrayLayoutConstraints:Xpn,evolutionaryAlgorithmState:Jpn,economicsParams:Kpn,modelType:qpn,modelAuthor:$pn,modelLabel:Qpn,modelDescription:Zpn,notes:e1n},n1n="jBRvLNoGNN2puEDd9PXycz",o1n="06/10/2023 06:24 pm",i1n=1686435869581,r1n=null,a1n=null,l1n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},s1n=[{type:"Human",name:"Jedi",cx:6.331304507164129,cy:-1.3012531601465285,cz:.05,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.56,locked:!1},{type:"Wall",cx:.2181336152654918,cy:3.890044719861693,cz:2.2408122612280286,lx:19.557378002954934,ly:.3,lz:4.671023197562504,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[9.996822616742959,3.890044719861693,.1167755799390626],rightPoint:[-9.560555386211975,3.890044719861694,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:9.996822616742957,cy:.3560826328024773,cz:2.2301039869226305,lx:7.067924174118433,ly:.3,lz:4.671023197562504,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[9.996822616742953,-3.177879454256739,.1167755799390626],rightPoint:[9.99682261674296,3.890044719861694,.1167755799390626],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:-9.560555386211973,cy:.3560826328024773,cz:2.228839888904333,lx:7.067924174118433,ly:.3,lz:4.671023197562504,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-9.560555386211973,3.890044719861694,.1167755799390626],rightPoint:[-9.560555386211975,-3.177879454256739,.1167755799390626],relativeAngle:-1.570796326794897,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:.2181336152654927,cy:-3.177879454256739,cz:2.268765007024547,lx:19.557378002954934,ly:.3,lz:4.671023197562504,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-9.560555386211975,-3.177879454256739,.1167755799390626],rightPoint:[9.99682261674296,-3.177879454256739,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Foundation",cx:0,cy:1.7959453873000797,cz:.05,lx:20.027750617523758,ly:10.567937825052699,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1,locked:!1},{type:"Wall",cx:.48326494323250757,cy:3.5008921737627774,cz:2.2408122612280286,lx:9.311701011603256,ly:.3,lz:4.671023197562504,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[5.1391154490341355,3.500892173762777,.1167755799390626],rightPoint:[-4.172585562569121,3.5008921737627787,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:5.139115449034135,cy:-.014752489141851436,cz:2.2301039869226305,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[5.139115449034133,-3.530397152046481,.1167755799390626],rightPoint:[5.139115449034136,3.500892173762778,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:-4.17258556256912,cy:-.01475248914185131,cz:2.228839888904333,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.17258556256912,3.5008921737627787,.1167755799390626],rightPoint:[-4.172585562569121,-3.530397152046481,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.571023197562504,rightUnfilledHeight:4.571023197562504,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:.483264943232508,cy:-3.530397152046481,cz:2.268765007024547,lx:9.311701011603258,ly:.3,lz:4.671023197562504,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.172585562569121,-3.530397152046481,.1167755799390626],rightPoint:[5.139115449034136,-3.530397152046481,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{id:"atFqzWxSt7aWP6ZqiaDGq7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["gTaSzURYtieAPQn32pwAn4"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:2,ceiling:!1,locked:!1},{type:"Foundation",cx:.23126993902249376,cy:-2.0229770702149175,cz:.05,lx:14.211391813883525,ly:9.298675779004126,lz:.1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},enableGroupMaster:!0},{type:"Window",cx:-.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.14222142677721564,ly:.3,lz:.3211287841136713,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aZCLoUJL2oqSdY1EPAoZaK",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7tBrMVcDfPB8c8BZciVReg",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.007111071338860792,cy:0,cz:-.25,lx:.21333214016582355,ly:0,lz:.5,color:"white",textureType:"Door Texture #4",normal:[0,1,0],rotation:[0,0,0],id:"7U3cffozoc4HtMQf5rGEzr",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{type:"Window",cx:-.2844428535544314,cy:.1,cz:.37465024813261655,lx:.14222142677721564,ly:.3,lz:.3211287841136713,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kXNUWsGU11pAFUKwvU2cgP",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:7894875130155282e-33,cy:.1,cz:.37465024813261655,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2TxqL85a1LDTfDpUNCK9gm",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2844428535544315,cy:.1,cz:.37465024813261655,lx:.14222142677721583,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"e7mrU2eTyTJt6DPomDBhWs",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.37587117494845146,cy:.1,cz:.26760732009472615,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4UxKztqar6qH3CTGZ9qgY9",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:.2676073200947262,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tQ1H6t36xF8x6Jq7rqyTYA",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.37587117494845146,cy:.1,cz:-.1605643920568356,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2o6zHemGFi14KgXdJ3iuht",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:-.1605643920568356,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bNFvbn2V5MqizQvTWS1gF8",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.007074212847824756,cy:.1,cz:.717187617853866,lx:.1273358312608462,ly:.3,lz:.14986009925304675,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tnV8oAWfG9ER3isiJKzp3v",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.28037933545424537,cy:.1,cz:.3211287841136713,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"d65ECu9HpsufqejE9JE6SQ",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2814150068377438,cy:.1,cz:.3211287841136713,lx:.1445912711069909,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6kdvjn4UXHVDJzSZhf4B4J",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.2829685139129914,cy:.1,cz:-.21408585607578087,lx:.1414842569564957,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eVWLBrjytjaXb5Ykbr5VPD",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2814150068377438,cy:.1,cz:-.21408585607578087,lx:.14459127110699085,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2ZfkAgSXYQx6P4m4xidDeL",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.053695882135493055,cy:.1,cz:.2676073200947261,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oEw7Y1dUnZ4auXTsBwuqSe",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.3758711749484514,cy:.1,cz:.2676073200947261,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4g5mEoLtYLy6qSqMvwrtZa",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.053695882135493055,cy:.1,cz:-.16056439205683565,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4SFYRMATJPbJgwPmaVx1ZQ",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.3758711749484514,cy:.1,cz:-.16056439205683565,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vJzKtUzUWEXsGn9NbVuYJR",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.2829685139129914,cy:.1,cz:-.21408585607578084,lx:.14148425695649575,ly:.3,lz:.21408585607578082,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6K9qDfssYi3YmZcNiGxeFD",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2829685139129914,cy:.1,cz:-.21408585607578087,lx:.1414842569564957,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aFbFpSbkdAr9vNaBtR39Zj",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.7171876178538659,lx:.1414842569564957,ly:.3,lz:.14986009925304655,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"gTVRT9iKwSKBHrZBxbTWqP",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25565799256140304,cy:.1,cz:.32112878411367124,lx:.051131598512280566,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nyFPVXnTmHtF1thRj3voUP",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25565799256140304,cy:.1,cz:-.21408585607578087,lx:.051131598512280566,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"44QoRqthuL83hLzEWvpPy4",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.40905278809824486,cy:.1,cz:-.21408585607578087,lx:.051131598512280566,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eL8eT9b15BPwUEoDRzrTes",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.40905278809824486,cy:.1,cz:.32112878411367124,lx:.051131598512280566,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"ik59hsieStesGBV1HN1iPA",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.28555769237173745,cy:.1,cz:.21408585607578087,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jzPeoP6c34HMtziwDKHv3a",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.28037933545424537,cy:.1,cz:.21408585607578087,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jsfEyvAHdrSn2vaQ4ia3zy",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25565799256140304,cy:.1,cz:.3211287841136713,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"1RhUm2Y2uUHcxK5xvxbogA",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.40905278809824486,cy:.1,cz:.3211287841136713,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"5ZJyH8rrUf7HJAQnM2bWVm",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.40905278809824486,cy:.1,cz:-.21408585607578087,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nw3rdMtcMqRG4LGoRcBsfK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25565799256140304,cy:.1,cz:-.21408585607578087,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vmF1fcU9LPrzoGvKVJXeJJ",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:-11353495590844666e-33,cy:0,cz:-.04661843672800818,lx:.35792118958596425,ly:0,lz:.9067631265439836,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"4u2Lemg9g24YVU44Rt2Xic",interior:!0,locked:!1},{type:"Window",cx:.025565799256140304,cy:.3,cz:.05352146401894522,lx:.10226319702456121,ly:.3,lz:.5352146401894522,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"bqg8AAYEpwNKgztwidBiEk",locked:!1},{type:"Window",cx:.4720595639184657,cy:-3.3684520937463995,cz:4.763171084384773,lx:6.938544523756692,ly:.2,lz:.00409574132092067,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5149965428074765,0,-2220446049250313e-31],parentId:"1iq4TPqH8xr1w2VxMAh8MU",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"aGPExW23jA85jXEJyeCpz1",interior:!0,empty:!0,polygonTop:[-.035382757507848805,4.273887307898969],locked:!1},{type:"Window",cx:-2.6203952752607758,cy:3.667558239043421,cz:4.776209255164273,lx:3.171105348094547,ly:.2,lz:.017651285838173516,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5172270860325816,0,3.141592653589793],parentId:"atFqzWxSt7aWP6ZqiaDGq7",parentType:"Roof",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"72o3pTJwsE9dUcnRyyjnEw",interior:!0,polygonTop:[.5,4.226955821233187],empty:!0,locked:!1},{type:"Window",cx:-2.693211019665715,cy:-3.6869046603465847,cz:4.781988313035353,lx:2.9580970480479842,ly:.2,lz:.09882178864870414,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5172270860325816,0,0],parentId:"atFqzWxSt7aWP6ZqiaDGq7",parentType:"Roof",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"uPuuLDNiMgZBsKvCnm6tSV",polygonTop:[-.5,4.164786986092855],interior:!0,empty:!0,locked:!1},{type:"Door",cx:-.3090654703490424,cy:0,cz:-.014505558316641022,lx:.3603907064477181,ly:0,lz:.9709888833667178,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8s4tEpToJXwoUEYbHRBASE",interior:!0,locked:!1},{type:"Door",cx:.3060665281723105,cy:0,cz:-.014505558316641022,lx:.3543928220942542,ly:0,lz:.9709888833667178,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kP69Q4f2kGriQePVP8M1cp",locked:!1,interior:!0}],c1n=13,u1n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.2194678710540945,-.08163623568179776,-21779207174878058e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.2194678710540945,-.08263661312798706,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.0825236074539012,-21.73896740327531,3.532398591116602],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:33.40365140230189,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[.5164600410339055,-.2045268879302931,3.380292682783385],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:256,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},d1n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},f1n=1,h1n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},p1n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},g1n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},m1n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},y1n="Unknown",A1n=null,w1n=null,v1n=null,x1n=["Gable-and-valley roof"],b1n={docid:n1n,time:o1n,timestamp:i1n,owner:r1n,email:a1n,world:l1n,elements:s1n,sceneRadius:c1n,view:u1n,graphState:d1n,evolutionMethod:f1n,solarPanelArrayLayoutParams:h1n,solarPanelArrayLayoutConstraints:p1n,evolutionaryAlgorithmState:g1n,economicsParams:m1n,modelType:y1n,modelAuthor:A1n,modelLabel:w1n,modelDescription:v1n,notes:x1n},S1n="xtKNTywwk7s3D5dx9fE6NJ",T1n="06/12/2023 10:07 am",P1n=1686578834737,C1n=null,R1n=null,H1n={solarRadiationHeatmapGridCellSize:.25,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},M1n=[{type:"Human",name:"Jocelyn",cx:7.030735525496638,cy:-10.425839702214304,cz:0,lx:.4,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.4},{type:"Wall",cx:.19888873388653605,cy:5.462586096288465,cz:2.2408122612280286,lx:9.311701011603256,ly:.3,lz:4.671023197562504,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.854739239688164,5.462586096288464,.1167755799390626],rightPoint:[-4.4569617719150925,5.462586096288466,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:4.854739239688163,cy:1.9469414333838355,cz:2.2301039869226305,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.854739239688161,-1.5687032295207934,.1167755799390626],rightPoint:[4.854739239688166,5.462586096288464,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:7.104360278230817,rightRoofHeight:4.671023197562504,centerRoofHeight:[-.5,7.104360278230817],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:-4.456961771915092,cy:1.9469414333838349,cz:2.228839888904333,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.456961771915091,5.462586096288466,.1167755799390626],rightPoint:[-4.456961771915092,-1.568703229520794,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:7.104360278230817,centerRoofHeight:[.5,7.104360278230817],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:.1988887338865364,cy:-1.5687032295207946,cz:2.268765007024547,lx:9.311701011603258,ly:.3,lz:7.104360278230817,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.456961771915092,-1.568703229520794,.1167755799390626],rightPoint:[4.854739239688165,-1.5687032295207934,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:7.104360278230817,rightRoofHeight:7.104360278230817,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.104360278230817,rightTopPartialHeight:7.104360278230817},{id:"atFqzWxSt7aWP6ZqiaDGq7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["gTaSzURYtieAPQn32pwAn4"],ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-.18703080111903558,cy:-9.915377662073155,cz:.05,lx:13.403144619496231,ly:13.222063624055503,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:.35217238415000696,cy:2.6927731238245474,cz:2.2408122612280286,lx:8.76701829919503,ly:.3,lz:2.6726233773992516,leftJoints:["v7ziTUW2TZM5T4TwmNAdjJ"],rightJoints:["vhCUXkYA9VDRSco52tUYkV"],leftPoint:[4.735681533747522,2.692773123824547,.0668155844349813],rightPoint:[-4.031336765447508,2.692773123824548,.0668155844349813],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gG5CjV1FxMvKL6tHfFayym",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:2.6726233773992516,rightRoofHeight:2.6726233773992516,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:4.735681533747522,cy:.48062987575342486,cz:2.2301039869226305,lx:4.424286496142247,ly:.3,lz:2.6726233773992516,leftJoints:["eTtjCc8c1PMfKVHADbJHAr"],rightJoints:["gG5CjV1FxMvKL6tHfFayym"],leftPoint:[4.73568153374752,-1.731513372317698,.0668155844349813],rightPoint:[4.735681533747522,2.692773123824548,.0668155844349813],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v7ziTUW2TZM5T4TwmNAdjJ",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:4.738508482435636,rightRoofHeight:2.6726233773992516,centerRoofHeight:[-.5,4.738508482435636],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:-4.031336765447506,cy:.48062987575342486,cz:2.228839888904333,lx:4.424286496142247,ly:.3,lz:2.6726233773992516,leftJoints:["gG5CjV1FxMvKL6tHfFayym"],rightJoints:["eTtjCc8c1PMfKVHADbJHAr"],leftPoint:[-4.031336765447506,2.692773123824548,.0668155844349813],rightPoint:[-4.031336765447508,-1.731513372317698,.0668155844349813],relativeAngle:-1.5707963267948972,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vhCUXkYA9VDRSco52tUYkV",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:2.6726233773992516,rightRoofHeight:4.738508482435636,centerRoofHeight:[.5,4.738508482435636],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:.35217238415000696,cy:-1.731513372317698,cz:2.268765007024547,lx:8.76701829919503,ly:.3,lz:4.738508482435636,leftJoints:["vhCUXkYA9VDRSco52tUYkV"],rightJoints:["v7ziTUW2TZM5T4TwmNAdjJ"],leftPoint:[-4.031336765447508,-1.731513372317698,.0668155844349813],rightPoint:[4.735681533747522,-1.731513372317698,.0668155844349813],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eTtjCc8c1PMfKVHADbJHAr",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:4.738508482435636,rightRoofHeight:4.738508482435636,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.273631578164477,rightUnfilledHeight:4.273631578164477,leftTopPartialHeight:4.738508482435636,rightTopPartialHeight:4.738508482435636},{id:"jVi4m1ThhBLxMFASq2GS9v",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["eTtjCc8c1PMfKVHADbJHAr"],ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-.7467654326238933,cy:-6.853383216679946,cz:.05,lx:11.313197651444508,ly:6.0997112704854475,lz:.0668155844349813,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6YXGTgZyXDxpnnbdLfyv5j",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:-.05369588213549307,cy:0,cz:-.25,lx:.15034846997938056,ly:0,lz:.5,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"91pkNVx7ajPdGc4gqpa6PF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.32217529281295837,cy:.1,cz:-.16056439205683565,lx:.10739176427098614,ly:.3,lz:.3211287841136713,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7ha8A9howKC84aYKTw9eqN",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26847941067746534,cy:.1,cz:-.16056439205683565,lx:.10739176427098614,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"8VBQnA65eh5k5Uw55HF1Cb",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.32217529281295837,cy:.1,cz:.32112878411367135,lx:.10739176427098608,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"un8y8e9JpPi1naZZMpwMVZ",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:.32112878411367135,lx:.10739176427098614,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"v1BvsJ4T7JhsFhezNhcX4K",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26847941067746534,cy:.1,cz:.32112878411367135,lx:.10739176427098614,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"soGnwUqCB3auZqHEHNS1LQ",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-12546916046160377e-33,cy:.1,cz:.18708210226259175,lx:.22602514572054705,ly:.3,lz:.7483284090503667,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vhCUXkYA9VDRSco52tUYkV",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"aRTYiMKpbFtXogCmbdfpaN",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m5qoAfq3cFT2Jt7voLAZVP",parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aF1Pnz747SfgYcvKbrSeaH",parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.01710957989146351,cy:.1,cz:.05948559174013301,lx:.39922353080081546,ly:.3,lz:.7041900664751375,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"gG5CjV1FxMvKL6tHfFayym",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"uicWDWWbqUVhqeZaftrgmK",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-10037532836928301e-32,cy:.1,cz:.07392401455912316,lx:.22602514572054688,ly:.3,lz:.6753132208371573,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"v7ziTUW2TZM5T4TwmNAdjJ",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"pVu2one7ax8iwQZsAqqvKk",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.03555535669430392,cy:.1,cz:-.05352146401894522,lx:.21333214016582355,ly:.3,lz:.5352146401894522,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"sTNhou8URmxdSewCTJQCAy",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3518965680359005,lx:.8591341141678889,ly:.3,lz:.14075862721436017,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kVcMN888wkNzdrNFsdAiaM",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:.053695882135493055,cy:0,cz:-.25,lx:.42956705708394444,ly:0,lz:.5,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"wpqi2Ry4DwtfWLp7rkgBQh"},{type:"Door",cx:0,cy:0,cz:-.1796206863928199,lx:.8591341141678889,ly:0,lz:.6407586272143603,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nnyBHsqWtA9kbVTgYsewZw",interior:!0}],I1n=21,z1n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6516049999999995,-8.08817077589694,-806397029662998e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6516049999999995,-8.089170775904988,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[16.59744270375234,-.7176337384414646,3.223728034339639],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.4383511164484704,-7.6519084348386786,3.2237280343396377],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},D1n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},E1n=1,k1n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},F1n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},L1n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},W1n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},N1n="Unknown",U1n=null,B1n=null,j1n=null,Y1n=["Clerestory roof"],O1n={docid:S1n,time:T1n,timestamp:P1n,owner:C1n,email:R1n,world:H1n,elements:M1n,sceneRadius:I1n,view:z1n,graphState:D1n,evolutionMethod:E1n,solarPanelArrayLayoutParams:k1n,solarPanelArrayLayoutConstraints:F1n,evolutionaryAlgorithmState:L1n,economicsParams:W1n,modelType:N1n,modelAuthor:U1n,modelLabel:B1n,modelDescription:j1n,notes:Y1n},_1n="4aDAL58XHFYL5qfHvxH7ag",V1n="03/21/2023 09:15 am",G1n=1679404555806,X1n="QWecNcxhyvP6j6sBN11hBsfZDau1",J1n=null,K1n=null,q1n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},$1n=[{type:"Wall",cx:-1.5970326990453252,cy:4.004815564210436,cz:2.2408122612280286,lx:6.360799275911862,ly:.3,lz:7.5,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[1.5833669389106055,4.004815564210436,.12302997096647357],rightPoint:[-4.777432337001256,4.004815564210436,.12302997096647357],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:1.5833669389106042,cy:.7942223442409677,cz:2.2301039869226305,lx:6.421186439938938,ly:.3,lz:7.5,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[1.5833669389106024,-2.4163708757285014,.12302997096647357],rightPoint:[1.5833669389106055,4.004815564210436,.12302997096647357],relativeAngle:1.5707963267948961,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-4.777432337001256,cy:.7942223442409677,cz:2.228839888904333,lx:6.421186439938938,ly:.3,lz:7.5,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-4.777432337001256,4.004815564210436,.12302997096647357],rightPoint:[-4.777432337001256,-2.4163708757285014,.12302997096647357],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-1.5970326990453252,cy:-2.4163708757285014,cz:2.268765007024547,lx:6.360799275911862,ly:.3,lz:7.5,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-4.777432337001256,-2.4163708757285014,.12302997096647357],rightPoint:[1.5833669389106055,-2.4163708757285014,.12302997096647357],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Foundation",cx:1.5369607065875481,cy:-.7337478948430647,cz:.05,lx:9.90872374106268,ly:8.491876915965634,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!1},{type:"Wall",cx:.19112531149657697,cy:5.620514141149594,cz:2.2408122612280286,lx:11.291398093915323,ly:.3,lz:4,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[5.836824358454238,5.620514141149594,.1],rightPoint:[-5.454573735461085,5.620514141149594,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:5.836824358454238,cy:-.00995475119942446,cz:2.2301039869226305,lx:11.260937784698037,ly:.3,lz:4,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[5.836824358454236,-5.640423643548443,.1],rightPoint:[5.83682435845424,5.620514141149594,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-5.454573735461083,cy:-.00995475119942446,cz:2.228839888904333,lx:11.260937784698037,ly:.3,lz:4,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-5.454573735461083,5.620514141149594,.1],rightPoint:[-5.454573735461085,-5.640423643548443,.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.1911253114965783,cy:-5.640423643548443,cz:2.268765007024547,lx:11.291398093915324,ly:.3,lz:4,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-5.454573735461085,-5.640423643548443,.1],rightPoint:[5.83682435845424,-5.640423643548443,.1],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3949264794283293,cy:.1,cz:-.0625,lx:.08134902219083363,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.21342606671010173,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-.16683617706583842,cy:.10266831665150722,cz:.06,lx:14.604582269301902,ly:13.013221811141948,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],ridgeWidth:2.741183421535105,textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wCPmoV4VwkScF5K7cf32UD",rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["e5r2Cqz5K28ewHbKWcFnYZ","n8LvMVp1hZ7BptmwrWpcMT","11Ltx28CSTVpm6gjZuBH9w","hndwqtrrygFvfqvBJrvZYu"],textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"bdD5ztB6YGXg4uAZiGZwDr",rise:2.399521849228247,ceiling:!1},{type:"Window",cx:-.23360168934983674,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"jA4MqD7ALHMKTSCdEzWHix",windowType:"Default",archHeight:1},{type:"Window",cx:.2336016893498367,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3LT1rVtnjso2jP6z4TaDHZ",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23729790815292326,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ckaBeGV6Ni9NQ3te3EiN3g",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.22990547054675017,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fEDLXuYBqFYJiCkBziofUB",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23360168934983674,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v9cnm7VWZ62giNve9jyv7m",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.2336016893498367,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qVLTtiLnxXpR5yqcHhSa9e",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23729790815292326,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"meXeAm7nDdwTPRbzo9vVFs",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.22990547054675017,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qJBjFd5e5FHkdYG6fhgp91",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Julia",cx:.2781860356360548,cy:-5.386859602824218,cz:.05999999865889549,lx:.43,lz:1.71,normal:[0,1,0],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",id:"jiceWNCXNG4mowM8Y1pnuj",selected:!1,ly:.43},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.17712598416645625,ly:0,lz:.625,doorType:"Arched",archHeight:1,textureType:"No Door Texture",color:"#73d8ff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fTMHecXmkxoFyi5nVgZruF",filled:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.04428149604161406,y:-.35},{x:-.06199409445825968,y:-.3},{x:-.06199409445825968,y:-.25},{x:-.04428149604161406,y:-.2},{x:.05142883345662218,y:-.20084745762711861},{x:.07085039366658251,y:-.25},{x:.07085039366658251,y:-.3},{x:.05313779524993687,y:-.35}],parentId:"roDDPncXBpNgmNum9aUaov",parentType:"Wall",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!0,selectedIndex:1,id:"pTMN5Rfce2g9VdNDy1KZ2d",text:"DEPOT",fontSize:.3,fontColor:"gold"},{type:"Door",cx:0,cy:0,cz:-.31666666666666665,lx:.31146891913311564,ly:0,lz:.36666666666666664,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"trSHy7vD1sqEajCH8ej493"},{type:"Door",cx:0,cy:0,cz:-.31666666666666665,lx:.31146891913311564,ly:0,lz:.36666666666666664,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cf7HkkLcbaZLJwzCBfEgBH"}],Q1n=10,Z1n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.335485572988376,-17.642820069421862,3.809724387059762],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:35.161738318212514,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.3277453693129069,-.2039271051931454,3.5347379885285575],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},egn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},tgn=1,ngn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ogn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ign={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},rgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},agn="Unknown",lgn=null,sgn=null,cgn=null,ugn=["Monitor roof"],dgn={docid:_1n,time:V1n,timestamp:G1n,userid:X1n,owner:J1n,email:K1n,world:q1n,elements:$1n,sceneRadius:Q1n,view:Z1n,graphState:egn,evolutionMethod:tgn,solarPanelArrayLayoutParams:ngn,solarPanelArrayLayoutConstraints:ogn,evolutionaryAlgorithmState:ign,economicsParams:rgn,modelType:agn,modelAuthor:lgn,modelLabel:sgn,modelDescription:cgn,notes:ugn},fgn="sXLwKRDpQ3Uupy3LJSKC7z",hgn="06/12/2023 10:27 am",pgn=1686580058007,ggn=null,mgn=null,ygn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Agn=[{type:"Human",name:"June",cx:2.0733747451945757,cy:-6.061881854428435,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Wall",cx:.6394231663265257,cy:5.872000955672556,cz:2.2408122612280286,lx:10.96242641823205,ly:.3,lz:5.158338809071295,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.120636375442551,5.872000955672555,0],rightPoint:[-4.8417900427894995,5.872000955672556,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:6.12063637544255,cy:.696812767580496,cz:2.2301039869226305,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.120636375442548,-4.478375420511564,0],rightPoint:[6.120636375442552,5.872000955672556,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[0,7.404178387671576],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:-4.8417900427894995,cy:.696812767580496,cz:2.228839888904333,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-4.841790042789499,5.872000955672556,0],rightPoint:[-4.8417900427894995,-4.478375420511564,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[0,7.404178387671576],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:.6394231663265262,cy:-4.478375420511564,cz:2.268765007024547,lx:10.962426418232052,ly:.3,lz:5.158338809071295,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-4.8417900427894995,-4.478375420511564,0],rightPoint:[6.120636375442552,-4.478375420511564,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.4104930631521381,cy:.1,cz:-.24232607555784988,lx:.0912206807004747,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-11.865426237722085,cy:-.3020514645326293,cz:.05,lx:16.58973102119719,ly:15.125130138250977,lz:.0859723134845216,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,label:"Colonial",labelHeight:9,labelSize:.5,showLabel:!0},{type:"Door",cx:-.022805170175118798,cy:0,cz:-.25,lx:.1368310210507128,ly:0,lz:.5,textureType:"Door Texture #1",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Default",archHeight:1,filled:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #2",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2.2458395786002807,ceiling:!1},{type:"Window",cx:.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.41049306315213846,cy:.1,cz:.24232607555784988,lx:.09122068070047536,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:.24232607555784988,lx:.09122068070047512,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.289844532311202,cy:.1,cz:-.24232607555784988,lx:.09661484410373401,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:-.24232607555784985,lx:.09661484410373396,ly:0,lz:.2907912906694198,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2880871761594032,cy:.1,cz:.24232607555784988,lx:.10012955640733165,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:.24232607555784988,lx:.09661484410373405,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.045610340350237685,cy:.1,cz:.24232607555784988,lx:.09122068070047537,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tJCV3miBMBbJoQ5KVL5GnC",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0456103403502376,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nRhC43dgJ576icoywiE43t",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3648827228019008,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3677465315760693,cy:.1,cz:-.24232607555784988,lx:.08549306315213832,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1fmjy8Zg2jNAAXJDNAtxtX",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vxHToBs6fvSBn4dmam1NPh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Juro",cx:-1.8455745212476522,cy:-6.047134973310751,cz:.042986158281564275,lx:.494,ly:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"hszWAAkWMHNQoK3CMWw8fv",id:"pBBZ6mrTSk6FLL8v8uuPYG",selected:!1},{type:"Wall",cx:.6394231663265257,cy:5.872000955672556,cz:2.2408122612280286,lx:10.96242641823205,ly:.3,lz:5.158338809071295,leftJoints:["sLjmied5ovE5nNuq6aFYPi"],rightJoints:["723nwVCZT2zzcwYqNJCWVS"],leftPoint:[6.120636375442551,5.872000955672555,0],rightPoint:[-4.8417900427894995,5.872000955672556,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"iwGA1TfwpSpggq8C9JfAoJ",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.31927238245166323,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cXa45JVn2G9m2N2fUuSH2s",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iJdJ7WAwuh83JHVXJKYXzH",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.045610340350237685,cy:.1,cz:.24232607555784988,lx:.09122068070047537,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dkUReYpnmAcqhYPPyQxoRH",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.0456103403502376,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aFrtgne6bioyotbdk5S8KN",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3648827228019008,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aEweEoYSW7Np4EVuX2Fdsb",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3677465315760693,cy:.1,cz:-.24232607555784988,lx:.08549306315213832,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4xUmcM8pypieKfKsDMRcGC",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.12063637544255,cy:.696812767580496,cz:2.2301039869226305,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["hZoCtb7QW6TLTCnow7LXWA"],rightJoints:["iwGA1TfwpSpggq8C9JfAoJ"],leftPoint:[6.120636375442548,-4.478375420511564,0],rightPoint:[6.120636375442552,5.872000955672556,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"sLjmied5ovE5nNuq6aFYPi",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[.17663019315906894,8.721280120974388],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5cz4chLixfxh7WLLDakTKw",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nGCDuaQuHsagkRRXKZrc7L",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8t3b9gLTjPqXrVKA67DgG7",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pVYrF6C2mmp9q8PmrhehV8",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-4.8417900427894995,cy:.696812767580496,cz:2.228839888904333,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["iwGA1TfwpSpggq8C9JfAoJ"],rightJoints:["hZoCtb7QW6TLTCnow7LXWA"],leftPoint:[-4.841790042789499,5.872000955672556,0],rightPoint:[-4.8417900427894995,-4.478375420511564,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"723nwVCZT2zzcwYqNJCWVS",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[-.17663019315906894,8.721280120974388],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.289844532311202,cy:.1,cz:-.24232607555784988,lx:.09661484410373401,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bCczr2bfNJ9hHru5dKivtn",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:-.24232607555784985,lx:.09661484410373396,ly:.3,lz:.2907912906694198,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8hu972Coyp2SdPeApdzUcM",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2880871761594032,cy:.1,cz:.24232607555784988,lx:.10012955640733165,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"stJETXTgkaem9cnthaz7DF",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:.24232607555784988,lx:.09661484410373405,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8uMuJn7ATgkV1KuyvniGpN",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6394231663265262,cy:-4.478375420511564,cz:2.268765007024547,lx:10.962426418232052,ly:.3,lz:5.158338809071295,leftJoints:["723nwVCZT2zzcwYqNJCWVS"],rightJoints:["sLjmied5ovE5nNuq6aFYPi"],leftPoint:[-4.8417900427894995,-4.478375420511564,0],rightPoint:[6.120636375442552,-4.478375420511564,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"hZoCtb7QW6TLTCnow7LXWA",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.4104930631521381,cy:.1,cz:-.24232607555784988,lx:.0912206807004747,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hQMgr7y3LyHNDTRRkE594t",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Door",cx:-.022805170175118798,cy:0,cz:-.25,lx:.1368310210507128,ly:0,lz:.5,color:"white",textureType:"Door Texture #1",normal:[0,1,0],rotation:[0,0,0],id:"qph4faDddEH8gdVzH6ivZr",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n6cw2a16gnaNtUX8qEggGq",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.41049306315213846,cy:.1,cz:.24232607555784988,lx:.09122068070047536,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPpwv4eAJzufaa29tD1UJG",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vTVeGVzfHjGyBh4GUdsJTK",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"88gwLvpD9kwfDsBZHSLpf2",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:.24232607555784988,lx:.09122068070047512,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"taea46Jq5kmPKnsEuNdHWM",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s6dPHQVJrM3Acf87nyeVab",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j8XTJHQPmBNW4amR5ZNmdA",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{id:"wqXe9pYmicSvR7iYewPLF7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",roofType:"Gable",textureType:"Roof Texture #2",thickness:.15,wallsId:["hZoCtb7QW6TLTCnow7LXWA"],ridgeLeftPoint:[-.17663019315906894,1],ridgeRightPoint:[.17663019315906894,1],selected:!1,rise:3.562941311903093,ceiling:!1},{type:"Foundation",cx:11.036197795997648,cy:-.3904739664770651,cz:.05,lx:16.58973102119719,ly:15.125130138250977,lz:.0859723134845216,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hszWAAkWMHNQoK3CMWw8fv",selected:!1,showLabel:!0,label:"Saltbox",labelHeight:9,labelSize:.5}],wgn=25,vgn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.9999999999895],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.088801690415984,-18.193636596891952,4.218925791626301],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:17.147500000000004,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"forestgreen",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-1.8484762737245803,-.01599768987763376,3.116362939071387],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:234,height:61}},xgn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},bgn=1,Sgn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Tgn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Pgn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Cgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Rgn="Unknown",Hgn=null,Mgn=null,Ign=null,zgn=["Colonial vs. saltbox"],Dgn={docid:fgn,time:hgn,timestamp:pgn,owner:ggn,email:mgn,world:ygn,elements:Agn,sceneRadius:wgn,view:vgn,graphState:xgn,evolutionMethod:bgn,solarPanelArrayLayoutParams:Sgn,solarPanelArrayLayoutConstraints:Tgn,evolutionaryAlgorithmState:Pgn,economicsParams:Cgn,modelType:Rgn,modelAuthor:Hgn,modelLabel:Mgn,modelDescription:Ign,notes:zgn},Egn="kZU7r98YD2swbMpBZrHNnd",kgn="06/12/2023 10:32 am",Fgn=1686580347333,Lgn=null,Wgn=null,Ngn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 10:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Ugn=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-9.804203725230073,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.08530001295248146,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,label:"Gambrel ",labelHeight:9,labelSize:.5,showLabel:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"sfGxVh6UQ5Rh5eXQutdage",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,centerRoofHeight:[0,8],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"sfGxVh6UQ5Rh5eXQutdage",centerLeftRoofHeight:[-.35,6],centerRightRoofHeight:[.35,6],color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"sfGxVh6UQ5Rh5eXQutdage",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[0,8],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,centerLeftRoofHeight:[-.35,6],centerRightRoofHeight:[.35,6],color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"sfGxVh6UQ5Rh5eXQutdage",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",showLabel:!1,ly:0,lz:.375,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.0625,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.06249999999999989,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.3749999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333337,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333341,color:"#ffffff",cz:-.0625,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.375,type:"Window",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.06250000000000006,lz:.3749999999999999,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333341,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{lz:.375,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.1,cx:.3,cz:-.0625,ly:0,showLabel:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:.1,cz:-.0625,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.1,color:"#ffffff",lz:.375,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3,rotation:[0,0,0],type:"Window",lz:.375,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0625,lx:.09999999999999995,color:"#ffffff",cy:.1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:-.0625,lx:.08333333333333333,ly:0,lz:.375,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.0625,lx:.08333333333333333,ly:0,lz:.375,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.16666666666666666,ly:0,lz:.625,textureType:"Door Texture #6",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"j9wJCoWK33fz7y9VeMvYET",color:"white",doorType:"Default",archHeight:1,filled:!0},{type:"Roof",thickness:.2,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,roofType:"Gambrel",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #1",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sfGxVh6UQ5Rh5eXQutdage",color:"#666666",rise:4,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Human",name:"Jeanette",cx:.21229430424866003,cy:-5.637713455371184,cz:.05000000074505806,lx:.4,ly:.4,lz:1.62,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Window",cx:-.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xvSfp96ouDUqqhbUKFAfvN",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uMr1zC8iUpUcFHuHfA3LNb",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nTJAtH1bkusjTMRvTpeUq1",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.9375,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wJizEa8fmJx3s6DnYFJCaB",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.9375,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fcbYfWunuYUDKu74uGTtE2",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.041666666666666664,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5UwypTCfHps6bAP47dvKX",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["aJzBKycDgPV2XFyreGUWbN"],rightJoints:["q3QyrcfYtaEUJUy3dDMe3o"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"ajX6DE1iwh52m5aYDEnUZw",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"f27adUV1mvqbvyHKYmSuV2",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tWZGLDh66KAhJVvZqAMQj9",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.041666666666666664,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mpyjLbrKcGFUF8TjcaBsHx",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["vZvx6xJpNjwVutXgBYTqDu"],rightJoints:["ajX6DE1iwh52m5aYDEnUZw"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"aJzBKycDgPV2XFyreGUWbN",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wAVcmtVfsGGWzQD4FYwZNW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u5BLpPtdFZZZhqt5769cX6",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3kDRvtG74CSaYS7Hdz4Zf9",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["ajX6DE1iwh52m5aYDEnUZw"],rightJoints:["vZvx6xJpNjwVutXgBYTqDu"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"q3QyrcfYtaEUJUy3dDMe3o",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.3,cy:.1,cz:-.0625,lx:.1,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gyFrbE3iZarFXfLEH1H67R",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.1,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"unBvd3fv6vjx3w5z7xjUYQ",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3,cy:.1,cz:-.0625,lx:.09999999999999995,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"a5UaEaWbJaymLnXeqKPnVG",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["q3QyrcfYtaEUJUy3dDMe3o"],rightJoints:["aJzBKycDgPV2XFyreGUWbN"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"vZvx6xJpNjwVutXgBYTqDu",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.375,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2GCuByhTAXSLeW2Qg1rbmy",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.06249999999999989,lx:.08333333333333333,ly:.3,lz:.3749999999999998,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jqoCSv6SGc3CUNj2d3NntP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333337,cy:.1,cz:-.0625,lx:.08333333333333341,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fHoEdLPaiDXqCueBgeDdLS",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.375,cy:.1,cz:-.06250000000000006,lx:.08333333333333341,ly:.3,lz:.3749999999999999,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cDtJU4W55HjRmy9cDhmm6R",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.16666666666666666,ly:0,lz:.625,color:"white",textureType:"Door Texture #6",normal:[0,1,0],rotation:[0,0,0],id:"9M7tkz3sEgnV2Z9JRHNunf",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Jett",cx:.21229430424866003,cy:-5.637713455371184,cz:.05000000074505806,lx:.6,ly:.6,lz:1.85,normal:[0,0,1],rotation:[0,0,0],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"fbbzRkZEo4AnT3QEsWR9oP",selected:!1},{type:"Foundation",cx:10.097000941178736,cy:.15684188850117087,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,label:"Mansard",labelHeight:9,labelSize:.5,showLabel:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["vZvx6xJpNjwVutXgBYTqDu"],ridgeWidth:1.3796830302831236,textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"mV7ZzdDseX98dNDS9YnHz7",rise:2.8592746089260386,ceiling:!1},{type:"Window",cx:-1.7044433380331139,cy:-4.015924463712854,cz:5.284591699130502,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2587938987974363,0,0],parentId:"mV7ZzdDseX98dNDS9YnHz7",parentType:"Roof",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"cH5YJR4J6bQYpX3WB9k67N"},{type:"Window",cx:-2.7018576414835405,cy:-1.2664219595013968,cz:7.091630555089024,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.519146114246523,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1DzhW8vmdxVB9mcmU4b6BC"},{type:"Window",cx:4.341146883752691,cy:-1.251091065564622,cz:7.1103910909217225,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.519146114246523,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"8aBtPjYUmoaUgGD59eww1P"},{type:"Window",cx:3.2042827482748226,cy:-4.014959357661002,cz:5.287583934394446,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2587938987974363,0,0],parentId:"mV7ZzdDseX98dNDS9YnHz7",parentType:"Roof",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"g7sgiaMwM5so3QfreNjMbC"}],Bgn=24,jgn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.571150309425594,-21.972462076133603,4.616004408449201],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:31.733468832186787,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.5906667798973315,5.766093748984623,2.3165783316967063],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:318,height:60}},Ygn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Ogn=1,_gn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Vgn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Ggn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Xgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Jgn="Unknown",Kgn=null,qgn=null,$gn=null,Qgn=["Gambrel roof vs. mansard roof"],Zgn={docid:Egn,time:kgn,timestamp:Fgn,owner:Lgn,email:Wgn,world:Ngn,elements:Ugn,sceneRadius:Bgn,view:jgn,graphState:Ygn,evolutionMethod:Ogn,solarPanelArrayLayoutParams:_gn,solarPanelArrayLayoutConstraints:Vgn,evolutionaryAlgorithmState:Ggn,economicsParams:Xgn,modelType:Jgn,modelAuthor:Kgn,modelLabel:qgn,modelDescription:$gn,notes:Qgn},emn="gok71rpB2eg8vNimCv9jsV",tmn="11/24/2023 02:27 PM",nmn=1700854020446,omn="QWecNcxhyvP6j6sBN11hBsfZDau1",imn=null,rmn=null,amn="1.5.2",lmn={solarRadiationHeatmapGridCellSize:1,date:"6/22/2022, 5:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"1600 Pennsylvania Avenue NW, Washington, DC 20500, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:38.8976763,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-77.0365298,airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForSolarUpdraftTowerSimulation:!1},smn=[{type:"Foundation",cx:2.437186281961438,cy:4.616260107535155,cz:.15,lx:74.26384799474762,ly:70.57289198325788,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3Qmj2gXj2Lmc28MbpT7BdQ",enableGroupMaster:!0,locked:!1,textureType:"Foundation Texture #4"},{type:"Wall",cx:-27.296564319985823,cy:-3.2481977926108314,cz:0,lx:27,ly:.8,lz:15,relativeAngle:4.71238898038469,leftPoint:[-27.296564319985823,10.251802207389169,.25],rightPoint:[-27.296564319985823,-16.74819779261083,.25],leftJoints:["jF3H99H3SvFmx1EtcFgSUR"],rightJoints:["qEgP3g76n6YGpTNdaUNRJ5"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"u5UupDCTgXC6oFiX9y4uby",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.7965643199858263,cy:10.251802207389169,cz:0,lx:51,ly:.8,lz:15,relativeAngle:3.141592653589793,leftPoint:[23.703435680014174,10.251802207389169,.25],rightPoint:[-27.296564319985823,10.251802207389169,.25],leftJoints:["pkajzTvgP9i43n8Xx6zTrw"],rightJoints:["u5UupDCTgXC6oFiX9y4uby"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jF3H99H3SvFmx1EtcFgSUR",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:23.703435680014174,cy:-2.7481977926108314,cz:0,lx:26,ly:.8,lz:15,relativeAngle:1.5707963267948966,leftPoint:[23.703435680014174,-15.748197792610831,.25],rightPoint:[23.703435680014174,10.251802207389169,.25],leftJoints:["vsV2452bmxt8JnQXXqBe5N"],rightJoints:["jF3H99H3SvFmx1EtcFgSUR"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"pkajzTvgP9i43n8Xx6zTrw",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-19.046564319985826,cy:-16.74819779261083,cz:3.733120462951788,lx:16.5,ly:.8,lz:15,relativeAngle:0,leftPoint:[-27.296564319985823,-16.74819779261083,.25],rightPoint:[-10.796564319985826,-16.74819779261083,.25],leftJoints:["u5UupDCTgXC6oFiX9y4uby"],rightJoints:["oHVfosgpAEPgTvFqa59jhu"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"qEgP3g76n6YGpTNdaUNRJ5",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:15.453435680014174,cy:-15.748197792610831,cz:0,lx:16.5,ly:.8,lz:15,relativeAngle:0,leftPoint:[7.203435680014174,-15.748197792610831,.25],rightPoint:[23.703435680014174,-15.748197792610831,.25],leftJoints:["3nWwhqzYyg3BoBTyzmSgQv"],rightJoints:["pkajzTvgP9i43n8Xx6zTrw"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"vsV2452bmxt8JnQXXqBe5N",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.953435680014174,cy:-16.74819779261083,cz:0,lx:2.0615528128088303,ly:.8,lz:15,relativeAngle:1.3258176636680323,leftPoint:[6.703435680014174,-17.74819779261083,.25],rightPoint:[7.203435680014174,-15.748197792610831,.25],leftJoints:["juEYyWFfCjJDE4b169Lr6e"],rightJoints:["vsV2452bmxt8JnQXXqBe5N"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"3nWwhqzYyg3BoBTyzmSgQv",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-10.546564319985826,cy:-17.49819779261083,cz:0,lx:1.5811388300841898,ly:.8,lz:15,relativeAngle:5.034139534781332,leftPoint:[-10.796564319985826,-16.74819779261083,.25],rightPoint:[-10.296564319985826,-18.24819779261083,.25],leftJoints:["qEgP3g76n6YGpTNdaUNRJ5"],rightJoints:["7KCjLbvxBFDXSftkUZDS2v"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"oHVfosgpAEPgTvFqa59jhu",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-9.546564319985826,cy:-19.24819779261083,cz:0,lx:2.5,ly:.8,lz:15,relativeAngle:5.355890089177974,leftPoint:[-10.296564319985826,-18.24819779261083,.25],rightPoint:[-8.796564319985826,-20.24819779261083,.25],leftJoints:["oHVfosgpAEPgTvFqa59jhu"],rightJoints:["oSmqM3WG97smXJFvN7dA25"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"7KCjLbvxBFDXSftkUZDS2v",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-8.046564319985826,cy:-20.99819779261083,cz:0,lx:2.1213203435596424,ly:.8,lz:15,relativeAngle:5.497787143782137,leftPoint:[-8.796564319985826,-20.24819779261083,.25],rightPoint:[-7.296564319985826,-21.74819779261083,.25],leftJoints:["7KCjLbvxBFDXSftkUZDS2v"],rightJoints:["6BCCjk22xgQQ9jwAeGEMpR"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"oSmqM3WG97smXJFvN7dA25",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-6.546564319985826,cy:-22.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:5.6951827036320175,leftPoint:[-7.296564319985826,-21.74819779261083,.25],rightPoint:[-5.796564319985826,-22.74819779261083,.25],leftJoints:["oSmqM3WG97smXJFvN7dA25"],rightJoints:["mrpM4sL27ca3MHv3JwptDB"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"6BCCjk22xgQQ9jwAeGEMpR",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-4.796564319985826,cy:-23.24819779261083,cz:0,lx:2.23606797749979,ly:.8,lz:15,relativeAngle:5.81953769817878,leftPoint:[-5.796564319985826,-22.74819779261083,.25],rightPoint:[-3.7965643199858263,-23.74819779261083,.25],leftJoints:["6BCCjk22xgQQ9jwAeGEMpR"],rightJoints:["onQ3RZrBRz8TRewvvY3dTV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"mrpM4sL27ca3MHv3JwptDB",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-2.7965643199858263,cy:-23.74819779261083,cz:0,lx:1.9999999999999998,ly:.8,lz:15,relativeAngle:0,leftPoint:[-3.7965643199858263,-23.74819779261083,.25],rightPoint:[-1.7965643199858263,-23.74819779261083,.25],leftJoints:["mrpM4sL27ca3MHv3JwptDB"],rightJoints:["cKAWjnd2X23kJ1QdKrzyaP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"onQ3RZrBRz8TRewvvY3dTV",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureWidth:.7,structureSpacing:5,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-.7965643199858263,cy:-23.49819779261083,cz:0,lx:2.0615528128088303,ly:.8,lz:15,relativeAngle:.24497866312686423,leftPoint:[-1.7965643199858263,-23.74819779261083,.25],rightPoint:[.20343568001417367,-23.24819779261083,.25],leftJoints:["onQ3RZrBRz8TRewvvY3dTV"],rightJoints:["ksg7ADGGcB7LaHQWR2gDoP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"cKAWjnd2X23kJ1QdKrzyaP",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:.9534356800141737,cy:-22.99819779261083,cz:0,lx:1.5811388300841898,ly:.8,lz:15,relativeAngle:.32175055439664213,leftPoint:[.20343568001417367,-23.24819779261083,.25],rightPoint:[1.7034356800141737,-22.74819779261083,.25],leftJoints:["cKAWjnd2X23kJ1QdKrzyaP"],rightJoints:["tjit5nfeyfk7MgJnZwEuUo"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"ksg7ADGGcB7LaHQWR2gDoP",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:2.4534356800141737,cy:-22.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:.588002603547567,leftPoint:[1.7034356800141737,-22.74819779261083,.25],rightPoint:[3.2034356800141737,-21.74819779261083,.25],leftJoints:["ksg7ADGGcB7LaHQWR2gDoP"],rightJoints:["2aizppjx7nR9dWK7oFqe3X"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tjit5nfeyfk7MgJnZwEuUo",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:3.9534356800141737,cy:-21.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:.588002603547567,leftPoint:[3.2034356800141737,-21.74819779261083,.25],rightPoint:[4.703435680014174,-20.74819779261083,.25],leftJoints:["tjit5nfeyfk7MgJnZwEuUo"],rightJoints:["8ocZPrJmGusu3tZWJzWvDk"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"2aizppjx7nR9dWK7oFqe3X",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:5.203435680014174,cy:-20.24819779261083,cz:0,lx:1.4142135623730951,ly:.8,lz:15,relativeAngle:.7853981633974483,leftPoint:[4.703435680014174,-20.74819779261083,.25],rightPoint:[5.703435680014174,-19.74819779261083,.25],leftJoints:["2aizppjx7nR9dWK7oFqe3X"],rightJoints:["juEYyWFfCjJDE4b169Lr6e"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"8ocZPrJmGusu3tZWJzWvDk",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.203435680014174,cy:-18.74819779261083,cz:0,lx:2.23606797749979,ly:.8,lz:15,relativeAngle:1.1071487177940904,leftPoint:[5.703435680014174,-19.74819779261083,.25],rightPoint:[6.703435680014174,-17.74819779261083,.25],leftJoints:["8ocZPrJmGusu3tZWJzWvDk"],rightJoints:["3nWwhqzYyg3BoBTyzmSgQv"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"juEYyWFfCjJDE4b169Lr6e",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["oHVfosgpAEPgTvFqa59jhu","7KCjLbvxBFDXSftkUZDS2v","oSmqM3WG97smXJFvN7dA25","6BCCjk22xgQQ9jwAeGEMpR","mrpM4sL27ca3MHv3JwptDB","onQ3RZrBRz8TRewvvY3dTV","cKAWjnd2X23kJ1QdKrzyaP","ksg7ADGGcB7LaHQWR2gDoP","tjit5nfeyfk7MgJnZwEuUo","2aizppjx7nR9dWK7oFqe3X","8ocZPrJmGusu3tZWJzWvDk","juEYyWFfCjJDE4b169Lr6e","3nWwhqzYyg3BoBTyzmSgQv","vsV2452bmxt8JnQXXqBe5N","pkajzTvgP9i43n8Xx6zTrw","jF3H99H3SvFmx1EtcFgSUR","u5UupDCTgXC6oFiX9y4uby","qEgP3g76n6YGpTNdaUNRJ5"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"kKLW3PicqjFWjN5PqUDTTj",locked:!1,rise:0,ceiling:!1},{type:"Foundation",cx:1.202928279289015,cy:-.8889074596387783,cz:.1,lx:64.84314999489811,ly:43.56565669817109,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"b7DVyKfyTBHZGANbVbGoYG",locked:!1},{type:"Wall",cx:-.1363522997348845,cy:12.047335526575006,cz:0,lx:44,ly:.3,lz:17,relativeAngle:3.141592653589793,leftPoint:[21.863647700265116,12.047335526575006,.2],rightPoint:[-22.136352299734884,12.04733552657501,.2],leftJoints:["sEoC32EE5BhvottJbmBN7P"],rightJoints:["r8Aw9XiLCw9kPKUMgd3t6u"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"gtmtUrJvJf5sJGi7m3ucvT",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-21.886352299734884,cy:2.5473355265750053,cz:0,lx:19.00657780874821,ly:.3,lz:17,relativeAngle:4.738698697637612,leftPoint:[-22.136352299734884,12.047335526575006,.2],rightPoint:[-21.636352299734884,-6.952664473424995,.2],leftJoints:["gtmtUrJvJf5sJGi7m3ucvT"],rightJoints:["rxcHxAK8KNRZb3EZ7ovrqm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"r8Aw9XiLCw9kPKUMgd3t6u",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:.1136477002651155,cy:-6.952664473424995,cz:0,lx:43.5,ly:.3,lz:17,relativeAngle:0,leftPoint:[-21.636352299734884,-6.952664473424995,.2],rightPoint:[21.863647700265116,-6.952664473424995,.2],leftJoints:["r8Aw9XiLCw9kPKUMgd3t6u"],rightJoints:["sEoC32EE5BhvottJbmBN7P"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"rxcHxAK8KNRZb3EZ7ovrqm",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.014014541320304,rightUnfilledHeight:16.014014541320304,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:21.863647700265116,cy:2.5473355265750053,cz:0,lx:19,ly:.3,lz:17,relativeAngle:1.5707963267948966,leftPoint:[21.863647700265116,-6.952664473424995,.2],rightPoint:[21.863647700265116,12.047335526575006,.2],leftJoints:["rxcHxAK8KNRZb3EZ7ovrqm"],rightJoints:["gtmtUrJvJf5sJGi7m3ucvT"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"sEoC32EE5BhvottJbmBN7P",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["rxcHxAK8KNRZb3EZ7ovrqm"],ridgeWidth:1.6897028772572007,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"dnGfHzSjH6Qt6pNJ8jFJUj",locked:!1,rise:1.1924072822886274,ceiling:!1},{type:"Foundation",cx:2.0776940726226174,cy:18.14658482221914,cz:.1,lx:23.456509054864263,ly:24.556989889910795,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sQbhet5xpiSK5NzTWtub4a",locked:!1},{type:"Wall",cx:-8.831120616583963,cy:.3221979196479152,cz:0,lx:17.297870029495435,ly:.5,lz:15,relativeAngle:-1.5707963267948966,leftPoint:[-8.831120616583963,8.971132934395634,0],rightPoint:[-8.831120616583963,-8.326737095099803,0],leftJoints:["7QCAeFgCM4uwoEq1rdWfs2"],rightJoints:["ue429MHHFRd7tE3xfNNNHx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"8kN3EwUCnSjrTbu7YtQvQY",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.165400792362441,cy:8.971132934395634,cz:0,lx:15.331439648443038,ly:.8,lz:15,relativeAngle:3.141592653589793,leftPoint:[6.500319031859077,8.971132934395634,0],rightPoint:[-8.83112061658396,8.971132934395634,0],leftJoints:["cCcLVBABwpzcuXp9FsPst3"],rightJoints:["8kN3EwUCnSjrTbu7YtQvQY"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"7QCAeFgCM4uwoEq1rdWfs2",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:5.6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.500319031859077,cy:.3221979196479152,cz:0,lx:17.297870029495435,ly:.5,lz:15,relativeAngle:1.5707963267948966,leftPoint:[6.500319031859077,-8.326737095099803,0],rightPoint:[6.500319031859077,8.971132934395634,0],leftJoints:["ue429MHHFRd7tE3xfNNNHx"],rightJoints:["7QCAeFgCM4uwoEq1rdWfs2"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"cCcLVBABwpzcuXp9FsPst3",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.1654007923624428,cy:-8.326737095099803,cz:0,lx:15.331439648443041,ly:.5,lz:15,relativeAngle:0,leftPoint:[-8.831120616583963,-8.326737095099803,0],rightPoint:[6.500319031859077,-8.326737095099803,0],leftJoints:["8kN3EwUCnSjrTbu7YtQvQY"],rightJoints:["cCcLVBABwpzcuXp9FsPst3"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"ue429MHHFRd7tE3xfNNNHx",roofId:"89u35YTLctNXWRDNsxwcpj",structureSpacing:5.6,structureWidth:1,wallStructure:"Default",structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.459252183107493,cy:4.715511268475593,cz:0,lx:8.560946140897292,ly:.3,lz:17,leftJoints:["gpDtE9g3zjB5xUcdy4p2bn"],rightJoints:["ozPT6yyjumU6Hv81G3owfN"],leftPoint:[2.821220887341153,4.715511268475593,0],rightPoint:[-5.739725253556139,4.715511268475594,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"cGxpdDXk7BPKiVfi6VxNx9",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-5.691083514119223,cy:1.2695607261280444,cz:0,lx:6.89258765896258,ly:.3,lz:17,leftJoints:["cGxpdDXk7BPKiVfi6VxNx9"],rightJoints:["2zvZ3adRvEkJq9fVPEEKKi"],leftPoint:[-5.739725253556139,4.715511268475593,0],rightPoint:[-5.642441774682306,-2.1763898162195043,0],relativeAngle:-1.5566816409948834,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ozPT6yyjumU6Hv81G3owfN",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-1.4106104436705764,cy:-2.1763898162195043,cz:0,lx:8.46366266202346,ly:.3,lz:17,leftJoints:["ozPT6yyjumU6Hv81G3owfN"],rightJoints:["gpDtE9g3zjB5xUcdy4p2bn"],leftPoint:[-5.642441774682306,-2.1763898162195043,0],rightPoint:[2.821220887341153,-2.1763898162195043,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"2zvZ3adRvEkJq9fVPEEKKi",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:2.821220887341153,cy:1.2695607261280444,cz:0,lx:6.891901084695098,ly:.3,lz:17,leftJoints:["2zvZ3adRvEkJq9fVPEEKKi"],rightJoints:["cGxpdDXk7BPKiVfi6VxNx9"],leftPoint:[2.821220887341153,-2.1763898162195043,0],rightPoint:[2.821220887341153,4.715511268475593,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"gpDtE9g3zjB5xUcdy4p2bn",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{id:"3DT5vkx2wE8Avqo6NjE3qK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["2zvZ3adRvEkJq9fVPEEKKi"],ridgeWidth:1.6897028772572007,selected:!1,locked:!1,rise:1.1924072822886274,ceiling:!1},{type:"Foundation",cx:2.1156734519362868,cy:-14.279123441940943,cz:.1,lx:15.481779487215247,ly:15.111518843057006,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cyVPK1qLJT1KbaGL6qLYHA",selected:!1,locked:!1},{type:"Window",cx:-.2878787878787879,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#b3b3b3",normal:[0,0,1],rotation:[0,0,0],parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"5TpJDxszAzRvyQ2NqfKkn9",opacity:.5,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.045454545454545456,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"isnfsXJ1sYeWDDj1v3HAcy",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19696969696969696,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rjznXiHLyLsFZBtBqoe6me",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4393939393939394,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hRT3G1Qxj9ddwfGbVmjK67",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.4090909090909091,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4FZyv3iFANwURNdtJmSf5k",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.16666666666666666,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9XgeyGKZ17bF6hmvudf1pb",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.07575757575757576,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tmSZBUv79gGQEmqdHUeNBv",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3181818181818182,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hpKyGgh393UrDCYt2TFEPH",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2878787878787879,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4AD8LAo94avXAwRxmXoTW5",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.045454545454545456,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"o746xoPC2dwGtGgutFsDXX",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19696969696969696,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"c53UUVUecAFBsz89jbxVYA",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4393939393939394,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bpg8E63ShDakBXvmrGVvhc",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Jedi",cx:10.792902287976906,cy:-24.111012140339845,cz:.15000000596046095,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jXBttvkEdJUcgsQyoxkJyY",selected:!1,ly:.56,locked:!1},{type:"Window",cx:-.4090909090909091,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9D4XHpdhCgSutX6wu9btGJ",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.16666666666666666,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gWSjVYZUm8Qw4rZTGCdJqU",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.07575757575757576,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssjJa1pfa5qX67vq3t3ms4",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3181818181818182,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cm6JHszxRa71LB4AL9o4hM",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.45098039215686275,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eGFMPp63uaJ8Z6dEip1wCT",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3627450980392157,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6g1oBhU14hr3mTV912e9dM",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2647058823529411,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nAfcKafQoUyknKRwU7zYyz",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.17647058823529407,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jdht2qsNqNvtRuTiSrxhRn",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.45098039215686275,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sMRK1zZtDamAUaaju5kzEB",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3627450980392157,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ivaEUPDqF8h1KuwffoQE9v",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2647058823529412,cy:.3,cz:-.15,lx:.03921568627450977,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qoUC82g8EKd6aX4rrRhS51",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.17647058823529407,cy:.3,cz:-.15,lx:.03921568627450987,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9G3Na6w4LghC1tGJcYYMQX",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.46078431372549017,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9zGVUoYGVo2E4qf9ZuPkby",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.37254901960784315,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pErJmrncghcaMqwr5VCYq6",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.2843137254901961,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bNA5NJ5jM3rqPHYpWU9YvX",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19607843137254904,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u6JmSSS7MnsTc3abTnBiZB",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19607843137254902,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fnbrpCKzRDKtbEzFZ8278Y",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.28431372549019607,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iNCEukMLjXLvD5gbDy1xJM",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.37254901960784315,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"amzAdeamET282epqcjwyww",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.46078431372549017,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bRsXBDeYfSso6tiCqiYCUp",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3149455302863263,cy:.1,cz:-.0125,lx:.29836944974494073,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#b3b3b3",normal:[0,0,1],rotation:[0,0,0],parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"x7JsEH8PfGjJ373jxu2nH9",opacity:0,frame:!0,locked:!1,mullionColor:"white",frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.008288040270692798,cy:.1,cz:-.0125,lx:.21548904703801275,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fN7U27jHhJwVAWntrzsr1D",parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",tint:"#b3b3b3",opacity:0,selected:!1,locked:!1,mullionColor:"white",frame:!1,frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3149455302863263,cy:.1,cz:-.0125,lx:.29836944974494073,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bmDtwgfufE5e4Kne2LhHZq",parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",tint:"#b3b3b3",opacity:0,selected:!1,locked:!1,mullionColor:"white",frame:!1,frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.07843137254901958,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ascuFaQMJxzrhtJHSRpvZ2",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.107843137254902,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rSoHzPCUdtqVH7c8BRWJ1V",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.0784313725490196,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tFJRnNLL8FhvzRjVcGz5Fk",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.0196078431372549,cy:.3,cz:-.2833333333333333,lx:.0784313725490196,ly:.3,lz:.36666666666666664,mullion:!0,mullionWidth:.06,mullionSpacing:5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"668rcrJyE6W7MNd2pYWoAp",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.7,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Arched",archHeight:2,sillWidth:0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:5,verticalMullionSpacing:5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.10784313725490197,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bdPS759a6fLQqu4V2o4qtx",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Joey",cx:9.115387825475082,cy:-24.651217406554846,cz:.15,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"ouHmzt9Us42w5bHjR9ZvBW",selected:!1,ly:.462,locked:!1},{type:"Tree",name:"Elm",cx:24.68149666528604,cy:30.40624439575707,cz:.1500000059604645,lx:12.225521614749255,lz:8.985934888591816,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"iyZFP8cWUDsX2VGyUoGTxq",selected:!1,locked:!1},{type:"Tree",name:"Maple",cx:-33.168239841792456,cy:33.081643759613165,cz:.15000000596046628,lx:21.067617771997934,lz:15.677323900388549,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"q5tey4s1a5vXUiiDEyFkaC",selected:!1,flip:!0,locked:!1},{type:"Tree",name:"Oak",cx:27.369492357164148,cy:-25.522008177846573,cz:.1500000059604645,lx:10.7323110159116,lz:14.464681446457563,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"n1sQ5fcUd75QzX2Y353uNT",selected:!1,locked:!1},{type:"Tree",name:"Oak",flip:!0,cx:31.990594871051,cy:-29.99931442147024,cz:.15,lx:10.7323110159116,lz:11.586410893659473,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"1i15CUF6r9qjPL7U2Lb6eo",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:30.9837315091143,cy:-18.406933063455,cz:.15,lx:10.7323110159116,lz:11.586410893659473,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tcFvkUdRjNo8qiDvEShvKP",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:12.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tm3GiScxVp1WgzmWsLgusP",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:14.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"f2DSzggaELKVYDnQ3jkH8J",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:16.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"8NTkXiYEAz7nkqKvjnXpTs",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"5hte45etpHBPzUjLVr5M8S",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:20.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"k5NSyhh1vTCW6anr3Bnxxm",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-24.199104717917777,cy:-19.89755183152851,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jKAUFtG6mCpk1VKUFLbArj",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-21.70602992567401,cy:-19.842150169478614,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"38XrzKeRncZdskEKuyybVH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-19.37916011957982,cy:-19.78674850742873,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"imTCPSHK1nyiQfLEdYvRSi",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-17.163093637585362,cy:-19.78674850742873,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"mhx7saLxNPZ36vhhBgjpsi",selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Hip",roofStructure:"Default",wallsId:["8kN3EwUCnSjrTbu7YtQvQY"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"89u35YTLctNXWRDNsxwcpj",leftRidgeLength:8.635242091739931,rightRidgeLength:10.319579264913394,rise:3.229240477888453,ceiling:!1},{type:"Foundation",cx:.6163744974611483,cy:18.71649900037034,cz:.5,lx:50.85545052514254,ly:17.97168247424439,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#ffffff",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ustJbtTQJEeCkyVnXGayK2"},{type:"Human",name:"Jamelia",cx:1.3448042201833577,cy:2.8336636548560605,cz:.5000000000000009,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",id:"pAQhAzdRtcSEf5g4XYdKtM",selected:!1,ly:.65},{type:"Human",name:"Jaye",cx:4.47029660144684,cy:5.02316777071092,cz:.5000000000000009,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",id:"dbe6vr9MpeAutqWYghGDv5",selected:!1,ly:.55},{type:"Light",decay:2,distance:10,intensity:10,color:"#ff0000",cx:-.021931798388491356,cy:-.31746447944889156,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"eK4rrZPqmi6q4jMkoXNFpz",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:.15060856519114013,cy:-.2699408955339268,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"fHCHUCQJQtBzqC5JVjvrVV",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:-.18847671202407354,cy:-.26968211451709273,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"rLc1ZCGs7ugmXpxAb6kueG",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:.267273996418672,cy:-.2667264794936538,cz:.5000000198682121,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tFz5GHQqyyVVxh25czH4Em",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:-.34024773885085746,cy:-.26354534234637206,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"etKXiduEZtGdENpo2GRtJg",selected:!1},{type:"Light",decay:2,distance:10,intensity:9,color:"#ff00ff",cx:-.02474975458211863,cy:.12239922347312886,cz:.49999999999999645,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",foundationId:"ustJbtTQJEeCkyVnXGayK2",id:"iPzFJUPPfWj6iSKXbVujiL",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-14.836223831491182,cy:-19.73134684537884,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"dqcT5qczxNqZJ7sXcMUU2L",selected:!1},{type:"Polygon",cx:.1374437866453651,cy:-.12111426497213049,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.526127233622693,y:-.4433333333333333},{x:-.526127233622693,y:-.3566666666666667},{x:.46529955659029343,y:-.3566666666666667},{x:.46529955659029343,y:-.4433333333333333}],parentId:"7QCAeFgCM4uwoEq1rdWfs2",parentType:"Wall",foundationId:"sQbhet5xpiSK5NzTWtub4a",selected:!1,filled:!0,selectedIndex:2,id:"2qLCC51p5mx8fVpgQpr3Zc",noOutline:!0,lineColor:"#808080",textureType:"No Polygon Texture",text:"1600",fontSize:.6,fontColor:"gray"}],cmn=24,umn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.371875648214528,21.08668963398181,29433785846390654e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.371875648214528,21.086539627316288,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-20.61846404506183,63.644388618963895,8.02947900521283],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.5,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:18.05,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-2.188721381754669,.6407899994531973,8.029479005212822],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,waterSurface:!1,solarPanelShiness:100,windowShiness:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400},directLightIntensity:5},dmn=!1,fmn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},hmn=1,pmn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},gmn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},mmn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ymn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Amn="Unknown",wmn=null,vmn=null,xmn=null,bmn=null,Smn=[],Tmn=3,Pmn=3,Cmn={docid:emn,time:tmn,timestamp:nmn,userid:omn,owner:imn,email:rmn,version:amn,world:lmn,elements:smn,sceneRadius:cmn,view:umn,animate24Hours:dmn,graphState:fmn,evolutionMethod:hmn,solarPanelArrayLayoutParams:pmn,solarPanelArrayLayoutConstraints:gmn,evolutionaryAlgorithmState:mmn,economicsParams:ymn,modelType:Amn,modelAuthor:wmn,modelLabel:vmn,modelDescription:xmn,designProjectType:bmn,notes:Smn,minimumNavigationMoveSpeed:Tmn,minimumNavigationTurnSpeed:Pmn},Rmn="iYCTJTjPxpfAmYmA6nDmNN",Hmn="06/18/2023 07:55 pm",Mmn=1687132511108,Imn="QWecNcxhyvP6j6sBN11hBsfZDau1",zmn=null,Dmn=null,Emn={solarPanelVisibilityGridCellSize:.2,longitude:34.54995193372956,diurnalTemperatureModel:1,cspDaysPerYear:4,discretization:"Approximate",solarRadiationHeatmapGridCellSize:.5,noAnimationForHeatmapSimulation:!1,dustLoss:.05,pvGridCellSize:.5,airAttenuationCoefficient:.01,date:"3/22/2023, 12:00:00 PM",ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},address:"Kocavilayet, 2929. Sk. No:1, 33110 Yenişehir/Mersin, Türkiye",timesPerHour:1,cspGridCellSize:.5,daysPerYear:12,sutTimesPerHour:1,noAnimationForSolarPanelSimulation:!1,sutDaysPerYear:4,countryCode:"TR",noAnimationForSolarUpdraftTowerSimulation:!1,latitude:36.81233464724704,name:"default",sutGridCellSize:1,highestTemperatureTimeInMinutes:900,noAnimationForThermalSimulation:!1,airConvectiveCoefficient:5,noAnimationForSensorDataCollection:!1,cspTimesPerHour:1},kmn=[{cy:-2.235554730854802,solarUpdraftTower:{},normal:[0,0,1],cz:.05,id:"2XGmuwQrQtDPGFB7FUq4gK",solarPowerTower:{},solarAbsorberPipe:{},lx:58.35972106577608,rotation:[0,0,.7770359328652141],parentId:"Ground",textureType:"No Foundation Texture",selected:!1,type:"Foundation",cx:-2.210236108673694,ly:32.834680769300704,color:"#808080",hvacSystem:{thermostatSetpoint:20,id:"A"},lz:.1,locked:!0},{normal:[0,0,1],roofId:"byzwW7Db61R9EfVcvoWVQ9",studColor:"#ffffff",leftJoints:["vqP69iA4TuZd8ZEvPBLjzU"],rightRoofHeight:11.5,relativeAngle:3.141592653589793,structureColor:"white",volumetricHeatCapacity:.5,lineWidth:.2,opacity:.5,textureType:"No Wall Texture",windows:[],fill:"Full",cx:1.1731464688636888,color:"#e9d8ba",studWidth:.1,ly:.3,leftRoofHeight:11.5,lz:11.5,type:"Wall",rightJoints:["6bfpYPQw2M5RbKRsLfDauC"],studSpacing:2,structureSpacing:2,id:"r7FDtsVF9isPsPhYMJtzMf",showLabel:!1,parentId:"2XGmuwQrQtDPGFB7FUq4gK",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",structureWidth:.1,lineColor:"#000000",eavesLength:-.05,unfilledHeight:.5,lx:39,rotation:[0,0,0],rValue:2,rightPoint:[-18.326853531136305,8.729078401244518,.1],cy:8.729078401244518,cz:0,selected:!1,leftPoint:[20.673146468863685,8.729078401244516,.1],wallStructure:"Default",parapet:{display:!0,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{volumetricHeatCapacity:.5,wallStructure:"Default",lx:17.000000000000004,rotation:[0,0,0],opacity:.5,studColor:"#ffffff",ly:.3,type:"Wall",fill:"Full",rightJoints:["r7FDtsVF9isPsPhYMJtzMf"],normal:[0,0,1],rightRoofHeight:11.5,lineColor:"#000000",lineWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",structureWidth:.1,centerRoofHeight:[0,12.780523500160847],id:"vqP69iA4TuZd8ZEvPBLjzU",selected:!1,leftPoint:[20.67314646886369,-8.27092159875549,.1],roofId:"byzwW7Db61R9EfVcvoWVQ9",color:"#e9d8ba",studSpacing:2,structureSpacing:2,cz:0,windows:[],structureColor:"white",cy:.22907840124451972,rValue:2,leftJoints:["jE7DwieCwvfvkHcN1Bkpu2"],cx:20.673146468863674,leftRoofHeight:11.5,parentId:"2XGmuwQrQtDPGFB7FUq4gK",rightPoint:[20.673146468863685,8.729078401244516,.1],studWidth:.1,showLabel:!1,unfilledHeight:.5,eavesLength:0,lz:11.5,textureType:"No Wall Texture",relativeAngle:1.5707963267948966,parapet:{display:!1,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{leftJoints:["6bfpYPQw2M5RbKRsLfDauC"],parentId:"2XGmuwQrQtDPGFB7FUq4gK",studColor:"#ffffff",cz:0,relativeAngle:0,wallStructure:"Default",showLabel:!1,lineWidth:.2,leftRoofHeight:11.5,ly:.3,type:"Wall",structureColor:"white",color:"#e9d8ba",fill:"Full",lineColor:"#000000",textureType:"No Wall Texture",roofId:"byzwW7Db61R9EfVcvoWVQ9",lz:11.5,unfilledHeight:.5,normal:[0,0,1],selected:!1,cy:-8.270921598755486,volumetricHeatCapacity:.5,structureSpacing:2,windows:[],lx:38.99999999999999,studWidth:.1,rightPoint:[20.673146468863674,-8.27092159875548,.1],eavesLength:-.1,rightRoofHeight:11.5,opacity:.5,leftPoint:[-18.326853531136308,-8.27092159875549,.1],structureWidth:.1,rightJoints:["vqP69iA4TuZd8ZEvPBLjzU"],cx:1.1731464688636861,rValue:2,id:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],studSpacing:2,parapet:{display:!0,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{rightJoints:["jE7DwieCwvfvkHcN1Bkpu2"],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",centerRoofHeight:[0,12.780523500160847],leftPoint:[-18.326853531136305,8.729078401244518,.1],windows:[],studSpacing:2,lineColor:"#000000",structureWidth:.1,structureSpacing:2,textureType:"No Wall Texture",rightPoint:[-18.326853531136308,-8.27092159875549,.1],rotation:[0,0,0],lx:17.00000000000001,lz:11.5,cx:-18.326853531136308,eavesLength:0,opacity:.5,id:"6bfpYPQw2M5RbKRsLfDauC",wallStructure:"Default",studWidth:.1,structureColor:"white",leftRoofHeight:11.5,selected:!1,rightRoofHeight:11.5,showLabel:!1,type:"Wall",roofId:"byzwW7Db61R9EfVcvoWVQ9",ly:.3,leftJoints:["r7FDtsVF9isPsPhYMJtzMf"],lineWidth:.2,volumetricHeatCapacity:.5,color:"#e9d8ba",relativeAngle:4.71238898038469,cy:.22907840124450551,studColor:"#ffffff",parentId:"2XGmuwQrQtDPGFB7FUq4gK",unfilledHeight:.5,normal:[0,0,1],fill:"Full",cz:0,rValue:2,parapet:{display:!1,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{color:"#808080",type:"Foundation",solarAbsorberPipe:{},id:"j3n8P4y4kG4w4nSZiAf6rj",solarUpdraftTower:{},lx:8.996965797517845,selected:!1,cx:15.96321224800585,lz:.12,hvacSystem:{thermostatSetpoint:20,id:"A"},solarPowerTower:{},parentId:"Ground",cz:.06,rotation:[0,0,.7770359328652141],cy:7.538802967801969,normal:[0,0,1],rValue:2,ly:17.6681425475643,textureType:"No Foundation Texture",locked:!0},{id:"vEPKSnunpPsGKUDNJaGnTR",fill:"Full",color:"#c1bdb4",unfilledHeight:.5,normal:[0,0,1],eavesLength:0,leftJoints:["1QnZb7zSPuvyzTVeC8AkVL"],volumetricHeatCapacity:.5,ly:.3,lz:13,selected:!1,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",opacity:.5,cx:2.550655474633215,rightJoints:["iYLfpK8sAzBxMk4mz1BXiS"],cy:.09368069935964818,parentId:"j3n8P4y4kG4w4nSZiAf6rj",textureType:"Wall Texture Default",structureWidth:.1,lx:9.499999999999998,rightPoint:[2.5506554746332153,4.843680699359649,.12],relativeAngle:1.5707963267948963,structureColor:"white",cz:0,wallStructure:"Default",type:"Wall",rotation:[0,0,0],leftPoint:[2.550655474633213,-4.656319300640349,.12],structureSpacing:2,rValue:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{lx:4.500000000000002,wallStructure:"Default",ly:.3,normal:[0,0,1],rightPoint:[2.550655474633216,-4.656319300640352,.12],type:"Wall",fill:"Full",structureSpacing:2,color:"#c1bdb4",cx:.3006554746332153,relativeAngle:6.283185307179585,unfilledHeight:.5,textureType:"Wall Texture Default",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",leftPoint:[-1.9493445253667843,-4.656319300640349,.12],rightJoints:["vEPKSnunpPsGKUDNJaGnTR"],lz:13,id:"1QnZb7zSPuvyzTVeC8AkVL",cz:0,volumetricHeatCapacity:.5,structureColor:"white",rValue:2,leftJoints:["joaXtauLNr5aPP2tqqpryi"],opacity:.5,selected:!1,parentId:"j3n8P4y4kG4w4nSZiAf6rj",rotation:[0,0,0],structureWidth:.1,eavesLength:0,cy:-4.65631930064035,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{opacity:.5,eavesLength:0,normal:[0,0,1],lz:13,structureColor:"white",volumetricHeatCapacity:.5,cy:.09368069935964818,structureWidth:.1,fill:"Full",ly:.3,unfilledHeight:.5,selected:!1,color:"#c1bdb4",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],parentId:"j3n8P4y4kG4w4nSZiAf6rj",structureSpacing:2,cx:-1.9493445253667832,id:"joaXtauLNr5aPP2tqqpryi",leftJoints:["iYLfpK8sAzBxMk4mz1BXiS"],wallStructure:"Default",leftPoint:[-1.9493445253667834,4.843680699359648,.12],lx:9.5,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",cz:0,textureType:"Wall Texture Default",type:"Wall",rotation:[0,0,0],rightJoints:["1QnZb7zSPuvyzTVeC8AkVL"],relativeAngle:4.71238898038469,rValue:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{id:"iYLfpK8sAzBxMk4mz1BXiS",studColor:"#ffffff",ly:.3,fill:"Full",unfilledHeight:.5,studSpacing:2,leftPoint:[2.5506554746332153,4.843680699359649,.12],color:"#c1bdb4",rotation:[0,0,0],type:"Wall",wallStructure:"Default",lx:4.499999999999998,lineWidth:.2,rightPoint:[-1.949344525366782,4.843680699359645,.12],showLabel:!1,studWidth:.1,structureSpacing:2,textureType:"Wall Texture Default",structureWidth:.1,normal:[0,0,1],cy:4.8436806993596475,lz:13,cx:.30065547463321707,opacity:.5,rValue:2,parentId:"j3n8P4y4kG4w4nSZiAf6rj",structureColor:"white",leftJoints:["vEPKSnunpPsGKUDNJaGnTR"],windows:[],foundationId:"j3n8P4y4kG4w4nSZiAf6rj",cz:0,rightJoints:["joaXtauLNr5aPP2tqqpryi"],relativeAngle:3.1415926535897936,volumetricHeatCapacity:.5,eavesLength:0,selected:!1,lineColor:"#000000",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{volumetricHeatCapacity:.5,selected:!1,opacity:.5,normal:[0,0,1],wallStructure:"Default",rightJoints:["gZiomgVxY3vk4YfQ9Jjh6B"],id:"sCZzaqpAQeUmKwng1WHaCF",foundationId:"o2WibZi2fR7HySSdFgPoda",lx:9.499999999999998,color:"#c1bdb4",parentId:"o2WibZi2fR7HySSdFgPoda",cx:2.550655474633215,ly:.3,unfilledHeight:.5,textureType:"Wall Texture Default",eavesLength:0,leftPoint:[2.550655474633213,-4.656319300640349,.12],relativeAngle:1.5707963267948963,cy:.09368069935964818,fill:"Full",structureSpacing:2,rightPoint:[2.5506554746332153,4.843680699359649,.12],structureWidth:.1,leftJoints:["tJ6f61zEL1oQGpeeCnFH2S"],type:"Wall",rValue:2,cz:0,structureColor:"white",rotation:[0,0,0],lz:13,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{cz:0,selected:!1,leftPoint:[-1.9493445253667843,-4.656319300640349,.12],cx:.3006554746332153,normal:[0,0,1],lz:13,cy:-4.65631930064035,rightJoints:["sCZzaqpAQeUmKwng1WHaCF"],rightPoint:[2.550655474633216,-4.656319300640352,.12],fill:"Full",structureColor:"white",opacity:.5,unfilledHeight:.5,rotation:[0,0,0],textureType:"Wall Texture Default",rValue:2,ly:.3,volumetricHeatCapacity:.5,lx:4.500000000000002,color:"#c1bdb4",eavesLength:0,id:"tJ6f61zEL1oQGpeeCnFH2S",structureSpacing:2,leftJoints:["eZza9yCuyFywaPPzJVe5tY"],foundationId:"o2WibZi2fR7HySSdFgPoda",wallStructure:"Default",relativeAngle:6.283185307179585,type:"Wall",structureWidth:.1,parentId:"o2WibZi2fR7HySSdFgPoda",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{type:"Wall",opacity:.5,structureSpacing:2,wallStructure:"Default",parentId:"o2WibZi2fR7HySSdFgPoda",relativeAngle:4.71238898038469,id:"eZza9yCuyFywaPPzJVe5tY",textureType:"Wall Texture Default",cx:-1.9493445253667832,structureWidth:.1,normal:[0,0,1],volumetricHeatCapacity:.5,lx:9.5,lz:13,fill:"Full",structureColor:"white",foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],ly:.3,leftPoint:[-1.9493445253667834,4.843680699359648,.12],rightPoint:[-1.9493445253667818,-4.656319300640352,.12],color:"#c1bdb4",rValue:2,cz:0,rightJoints:["tJ6f61zEL1oQGpeeCnFH2S"],eavesLength:0,cy:.09368069935964818,selected:!1,leftJoints:["gZiomgVxY3vk4YfQ9Jjh6B"],unfilledHeight:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{normal:[0,0,1],unfilledHeight:.5,selected:!1,rotation:[0,0,0],structureColor:"white",leftJoints:["sCZzaqpAQeUmKwng1WHaCF"],parentId:"o2WibZi2fR7HySSdFgPoda",structureWidth:.1,relativeAngle:3.1415926535897936,wallStructure:"Default",rValue:2,ly:.3,lz:13,leftPoint:[2.5506554746332153,4.843680699359649,.12],volumetricHeatCapacity:.5,cx:.30065547463321707,type:"Wall",fill:"Full",eavesLength:0,id:"gZiomgVxY3vk4YfQ9Jjh6B",rightJoints:["eZza9yCuyFywaPPzJVe5tY"],cy:4.8436806993596475,rightPoint:[-1.949344525366782,4.843680699359645,.12],textureType:"Wall Texture Default",foundationId:"o2WibZi2fR7HySSdFgPoda",structureSpacing:2,opacity:.5,lx:4.499999999999998,color:"#c1bdb4",cz:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{solarUpdraftTower:{},rotation:[0,0,.7770359328652141],cz:.06,ly:17.6681425475643,type:"Foundation",hvacSystem:{thermostatSetpoint:20,id:"A"},lx:8.996965797517845,textureType:"No Foundation Texture",color:"#808080",lz:.12,id:"o2WibZi2fR7HySSdFgPoda",solarAbsorberPipe:{},rValue:2,parentId:"Ground",solarPowerTower:{},cy:-19.27217037701027,cx:-11.087826553311125,normal:[0,0,1],selected:!1,locked:!0},{ly:.3,foundationId:"hLsewK7zX5Mau5SErFyCiz",unfilledHeight:.5,opacity:.5,structureWidth:.1,rightJoints:["kFKM2qRJFmWx323z2hBCra"],wallStructure:"Default",rightPoint:[2.5506554746332153,4.843680699359649,.12],relativeAngle:1.5707963267948963,volumetricHeatCapacity:.5,cz:0,rValue:2,fill:"Full",selected:!1,eavesLength:0,normal:[0,0,1],lx:9.499999999999998,cy:.09368069935964818,parentId:"hLsewK7zX5Mau5SErFyCiz",rotation:[0,0,0],leftPoint:[2.550655474633213,-4.656319300640349,.12],structureSpacing:2,structureColor:"white",type:"Wall",id:"gv3LzTTefsaZrtK8Lzx2bM",textureType:"Wall Texture Default",color:"#c1bdb4",lz:13,leftJoints:["i7SnyGKg3wpYfMg2Ck4kpZ"],cx:2.550655474633215,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{fill:"Full",rotation:[0,0,0],normal:[0,0,1],ly:.3,cz:0,textureType:"Wall Texture Default",wallStructure:"Default",rValue:2,id:"i7SnyGKg3wpYfMg2Ck4kpZ",relativeAngle:6.283185307179585,leftJoints:["5KcXyJ1kNDvp5rTZsShAbX"],cx:.3006554746332153,foundationId:"hLsewK7zX5Mau5SErFyCiz",color:"#c1bdb4",structureSpacing:2,lz:13,rightPoint:[2.550655474633216,-4.656319300640352,.12],leftPoint:[-1.9493445253667843,-4.656319300640349,.12],type:"Wall",opacity:.5,structureColor:"white",rightJoints:["gv3LzTTefsaZrtK8Lzx2bM"],lx:4.500000000000002,eavesLength:0,unfilledHeight:.5,selected:!1,parentId:"hLsewK7zX5Mau5SErFyCiz",volumetricHeatCapacity:.5,structureWidth:.1,cy:-4.65631930064035,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{rightJoints:["i7SnyGKg3wpYfMg2Ck4kpZ"],fill:"Full",volumetricHeatCapacity:.5,structureColor:"white",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],parentId:"hLsewK7zX5Mau5SErFyCiz",leftJoints:["kFKM2qRJFmWx323z2hBCra"],opacity:.5,wallStructure:"Default",unfilledHeight:.5,normal:[0,0,1],structureWidth:.1,leftPoint:[-1.9493445253667834,4.843680699359648,.12],textureType:"Wall Texture Default",eavesLength:0,ly:.3,type:"Wall",lx:9.5,selected:!1,relativeAngle:4.71238898038469,id:"5KcXyJ1kNDvp5rTZsShAbX",cy:.09368069935964818,cz:0,foundationId:"hLsewK7zX5Mau5SErFyCiz",color:"#c1bdb4",lz:13,cx:-1.9493445253667832,rValue:2,structureSpacing:2,rotation:[0,0,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{type:"Wall",eavesLength:0,rightPoint:[-1.949344525366782,4.843680699359645,.12],leftJoints:["gv3LzTTefsaZrtK8Lzx2bM"],unfilledHeight:.5,cz:0,cx:.30065547463321707,textureType:"Wall Texture Default",normal:[0,0,1],structureColor:"white",color:"#c1bdb4",foundationId:"hLsewK7zX5Mau5SErFyCiz",rotation:[0,0,0],rValue:2,lz:13,fill:"Full",lx:4.499999999999998,cy:4.8436806993596475,relativeAngle:3.1415926535897936,id:"kFKM2qRJFmWx323z2hBCra",ly:.3,structureWidth:.1,wallStructure:"Default",opacity:.5,parentId:"hLsewK7zX5Mau5SErFyCiz",structureSpacing:2,volumetricHeatCapacity:.5,rightJoints:["5KcXyJ1kNDvp5rTZsShAbX"],selected:!1,leftPoint:[2.5506554746332153,4.843680699359649,.12],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{cy:-10.703769932796098,rValue:2,solarPowerTower:{},textureType:"No Foundation Texture",lx:8.996965797517845,cx:-19.60349962700186,rotation:[0,0,.7770359328652141],hvacSystem:{thermostatSetpoint:20,id:"A"},ly:17.6681425475643,solarUpdraftTower:{},lz:.12,id:"hLsewK7zX5Mau5SErFyCiz",color:"#808080",selected:!1,cz:.06,solarAbsorberPipe:{},parentId:"Ground",normal:[0,0,1],type:"Foundation",locked:!0},{leftPoint:[2.550655474633213,-4.656319300640349,.12],relativeAngle:1.5707963267948963,unfilledHeight:.5,leftJoints:["dMQfydvLoQmsUVh8GcfQWg"],wallStructure:"Default",structureSpacing:2,cz:0,color:"#c1bdb4",type:"Wall",cx:2.550655474633215,structureWidth:.1,normal:[0,0,1],rotation:[0,0,0],cy:.09368069935964818,selected:!1,id:"3WQQwDXPDfYCATy53ts83F",ly:.3,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",rightPoint:[2.5506554746332153,4.843680699359649,.12],textureType:"Wall Texture Default",volumetricHeatCapacity:.5,opacity:.5,structureColor:"white",lz:13,rValue:2,eavesLength:0,rightJoints:["16SbPgFqDMyVbV8UtDHAYk"],lx:9.499999999999998,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",fill:"Full",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{rightJoints:["3WQQwDXPDfYCATy53ts83F"],type:"Wall",relativeAngle:6.283185307179585,textureType:"Wall Texture Default",eavesLength:0,lz:13,id:"dMQfydvLoQmsUVh8GcfQWg",parentId:"x4oU2GYmkiSMe4Z8gg6K3C",lx:4.500000000000002,fill:"Full",structureColor:"white",color:"#c1bdb4",unfilledHeight:.5,ly:.3,cy:-4.65631930064035,selected:!1,leftPoint:[-1.9493445253667843,-4.656319300640349,.12],leftJoints:["kmaifBj79SDvw8jCqEakPi"],rotation:[0,0,0],opacity:.5,normal:[0,0,1],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",volumetricHeatCapacity:.5,rightPoint:[2.550655474633216,-4.656319300640352,.12],cx:.3006554746332153,rValue:2,structureSpacing:2,structureWidth:.1,cz:0,wallStructure:"Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{structureColor:"white",wallStructure:"Default",volumetricHeatCapacity:.5,normal:[0,0,1],type:"Wall",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],rightJoints:["dMQfydvLoQmsUVh8GcfQWg"],leftJoints:["16SbPgFqDMyVbV8UtDHAYk"],cy:.09368069935964818,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",leftPoint:[-1.9493445253667834,4.843680699359648,.12],lx:9.5,rValue:2,ly:.3,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"kmaifBj79SDvw8jCqEakPi",lz:13,structureWidth:.1,opacity:.5,color:"#c1bdb4",cx:-1.9493445253667832,relativeAngle:4.71238898038469,structureSpacing:2,eavesLength:0,textureType:"Wall Texture Default",fill:"Full",cz:0,unfilledHeight:.5,selected:!1,rotation:[0,0,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{volumetricHeatCapacity:.5,wallStructure:"Default",rotation:[0,0,0],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",lz:13,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",cx:.30065547463321707,rightJoints:["kmaifBj79SDvw8jCqEakPi"],leftJoints:["3WQQwDXPDfYCATy53ts83F"],unfilledHeight:.5,opacity:.5,cy:4.8436806993596475,selected:!1,textureType:"Wall Texture Default",structureSpacing:2,fill:"Full",type:"Wall",ly:.3,rValue:2,normal:[0,0,1],relativeAngle:3.1415926535897936,structureWidth:.1,lx:4.499999999999998,id:"16SbPgFqDMyVbV8UtDHAYk",leftPoint:[2.5506554746332153,4.843680699359649,.12],structureColor:"white",eavesLength:0,rightPoint:[-1.949344525366782,4.843680699359645,.12],cz:0,color:"#c1bdb4",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{solarAbsorberPipe:{},textureType:"No Foundation Texture",rotation:[0,0,.7770359328652141],rValue:2,type:"Foundation",selected:!1,hvacSystem:{thermostatSetpoint:20,id:"A"},lz:.12,ly:17.6681425475643,lx:8.996965797517845,normal:[0,0,1],solarUpdraftTower:{},parentId:"Ground",solarPowerTower:{},color:"#808080",id:"x4oU2GYmkiSMe4Z8gg6K3C",cz:.06,cx:7.698794351508976,cy:16.007045037404467,locked:!0},{lz:13,leftJoints:["aMAoC9G4MpUPGJVmt36yfP"],wallStructure:"Default",rotation:[0,0,0],structureColor:"white",selected:!1,relativeAngle:1.5707963267948961,cz:0,rightJoints:["iVn6mF9eoYKrYt3EzDy2TC"],id:"u1GLQPod2yRsFy4dWHVdVa",rightPoint:[2.8178761000817967,3.2189656143947305,0],parentId:"oGfdqtfZrLhGvZskoNeDFJ",lx:6.3134164357268086,type:"Wall",volumetricHeatCapacity:.5,cy:.062257396531326226,foundationId:"oGfdqtfZrLhGvZskoNeDFJ",ly:.3,opacity:.5,fill:"Full",eavesLength:0,structureWidth:.1,normal:[0,0,1],structureSpacing:2,unfilledHeight:.5,color:"#c1bdb4",rValue:2,cx:2.8178761000817953,leftPoint:[2.817876100081794,-3.094450821332078,0],textureType:"Wall Texture Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{parentId:"oGfdqtfZrLhGvZskoNeDFJ",rightJoints:["u1GLQPod2yRsFy4dWHVdVa"],structureColor:"white",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",volumetricHeatCapacity:.5,leftJoints:["eTsfM9k5RPHprx93KkShya"],opacity:.5,structureWidth:.1,lx:4.971444625304221,unfilledHeight:.5,structureSpacing:2,textureType:"No Wall Texture",cy:-3.094450821332079,cx:.33215378742968693,fill:"Full",color:"#c1bdb4",cz:0,rotation:[0,0,0],normal:[0,0,1],leftPoint:[-2.1535685252224237,-3.094450821332078,0],lz:13,wallStructure:"Default",type:"Wall",selected:!1,id:"aMAoC9G4MpUPGJVmt36yfP",rValue:2,ly:.3,eavesLength:0,relativeAngle:-4466400043859356e-31,rightPoint:[2.8178761000817976,-3.0944508213320803,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{color:"#c1bdb4",cz:0,selected:!1,rightPoint:[-2.153568525222421,-3.0944508213320803,0],leftPoint:[-2.153568525222423,3.21896561439473,0],structureColor:"white",lx:6.31341643572681,lz:13,volumetricHeatCapacity:.5,normal:[0,0,1],cx:-2.153568525222422,relativeAngle:-1.5707963267948963,structureSpacing:2,eavesLength:0,structureWidth:.1,rValue:2,leftJoints:["iVn6mF9eoYKrYt3EzDy2TC"],foundationId:"oGfdqtfZrLhGvZskoNeDFJ",cy:.06225739653132489,parentId:"oGfdqtfZrLhGvZskoNeDFJ",ly:.3,rightJoints:["aMAoC9G4MpUPGJVmt36yfP"],type:"Wall",unfilledHeight:.5,textureType:"Wall Texture Default",rotation:[0,0,0],id:"eTsfM9k5RPHprx93KkShya",fill:"Full",opacity:.5,wallStructure:"Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{parentId:"oGfdqtfZrLhGvZskoNeDFJ",structureWidth:.1,foundationId:"oGfdqtfZrLhGvZskoNeDFJ",relativeAngle:-3.1415926535897927,textureType:"Wall Texture Default",structureColor:"white",volumetricHeatCapacity:.5,color:"#c1bdb4",rightJoints:["eTsfM9k5RPHprx93KkShya"],wallStructure:"Default",structureSpacing:2,rotation:[0,0,0],leftPoint:[2.8178761000817967,3.2189656143947305,0],ly:.3,rightPoint:[-2.1535685252224215,3.2189656143947274,0],unfilledHeight:.5,opacity:.5,fill:"Full",lx:4.971444625304218,type:"Wall",id:"iVn6mF9eoYKrYt3EzDy2TC",leftJoints:["u1GLQPod2yRsFy4dWHVdVa"],lz:13,eavesLength:0,cz:0,cx:.3321537874296876,rValue:2,selected:!1,cy:3.2189656143947287,normal:[0,0,1],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{textureType:"No Foundation Texture",solarAbsorberPipe:{},parentId:"Ground",hvacSystem:{thermostatSetpoint:20,id:"A"},type:"Foundation",lz:.12,normal:[0,0,1],cx:-6.658209585503492,solarPowerTower:{},cz:.06,cy:2.9554447902666663,rotation:[0,0,.7770359328652141],rValue:2,selected:!1,ly:11.741720163005958,lx:9.93953716847022,id:"oGfdqtfZrLhGvZskoNeDFJ",solarUpdraftTower:{},color:"#808080",locked:!0},{normal:[0,0,1],lz:0,selected:!1,ceiling:!1,sideColor:"#ffffff",ridgeRightPoint:[0,1],type:"Roof",showLabel:!1,rValue:2,id:"byzwW7Db61R9EfVcvoWVQ9",parentId:"2XGmuwQrQtDPGFB7FUq4gK",cx:0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",textureType:"No Roof Texture",rotation:[0,0,0],ly:0,roofStructure:"Default",roofType:"Gable",ridgeLeftPoint:[0,1],lx:0,thickness:.2,lineColor:"#000000",cy:0,cz:0,wallsId:["jE7DwieCwvfvkHcN1Bkpu2"],rise:1.2805235001608466,color:"#73d8ff",lineWidth:.2,locked:!0},{textureType:"No Wall Texture",selected:!1,roofId:"tR8bCboRhW3wJCicDgK2jW",leftPoint:[6.104959873734063,-3.546673308869522,.12],structureColor:"white",rightRoofHeight:12.5,id:"nkv63w7AFXpTDVXgNtZaZp",opacity:0,rotation:[0,0,0],leftJoints:["1G9FW32uCMUYbXB7bybpze"],volumetricHeatCapacity:.5,lx:4.998533544552693,wallStructure:"Default",unfilledHeight:3.8747450187684356,cy:-1.0474065365931762,cz:0,parentId:"uj4Qq2BojpeyU8mLo7xk7N",foundationId:"uj4Qq2BojpeyU8mLo7xk7N",eavesLength:0,fill:"Partial",cx:6.104959873734066,ly:.3,structureSpacing:2,type:"Wall",normal:[0,0,1],rightJoints:[],rValue:2,color:"#4d4d4d",leftRoofHeight:12.5,rightPoint:[6.104959873734069,1.4518602356831711,.12],lz:12.5,structureWidth:.1,relativeAngle:1.5707963267948952,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.8747450187684356,rightUnfilledHeight:3.8747450187684356,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{selected:!1,leftPoint:[-6.476087156413756,-3.5466733088695213,.12],fill:"Partial",structureSpacing:2,ly:.3,roofId:"tR8bCboRhW3wJCicDgK2jW",structureWidth:.1,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],lx:12.581047030147829,structureColor:"white",unfilledHeight:3.877447716243144,cy:-3.5466733088695213,color:"#4d4d4d",wallStructure:"Default",type:"Wall",rotation:[0,0,0],textureType:"No Wall Texture",rightPoint:[6.104959873734072,-3.546673308869523,.12],relativeAngle:-14119308473639638e-32,id:"1G9FW32uCMUYbXB7bybpze",leftJoints:["9ULQ17PCkbiQTAk5KCBQqS"],cx:-.18556364133984293,rValue:2,cz:0,eavesLength:0,rightJoints:["nkv63w7AFXpTDVXgNtZaZp"],lz:12.5,opacity:.5,leftRoofHeight:12.5,rightRoofHeight:12.5,parentId:"uj4Qq2BojpeyU8mLo7xk7N",volumetricHeatCapacity:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.877447716243144,rightUnfilledHeight:3.877447716243144,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{structureColor:"white",leftPoint:[-6.4760871564137545,1.4518602356831711,.12],selected:!1,color:"#4d4d4d",leftRoofHeight:12.5,lz:12.5,parentId:"uj4Qq2BojpeyU8mLo7xk7N",structureWidth:.1,fill:"Partial",roofId:"tR8bCboRhW3wJCicDgK2jW",textureType:"No Wall Texture",unfilledHeight:3.8825262761296813,cy:-1.0474065365931766,lx:4.998533544552695,cz:0,structureSpacing:2,eavesLength:0,volumetricHeatCapacity:.5,wallStructure:"Default",foundationId:"uj4Qq2BojpeyU8mLo7xk7N",rotation:[0,0,0],leftJoints:[],rightPoint:[-6.476087156413749,-3.546673308869523,.12],type:"Wall",id:"9ULQ17PCkbiQTAk5KCBQqS",rightJoints:["1G9FW32uCMUYbXB7bybpze"],opacity:.5,relativeAngle:-1.5707963267948957,cx:-6.476087156413751,rightRoofHeight:12.5,ly:.3,rValue:2,normal:[0,0,1],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.8825262761296813,rightUnfilledHeight:3.8825262761296813,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{ly:7.102899659180595,parentId:"Ground",rValue:2,solarPowerTower:{},color:"#808080",textureType:"No Foundation Texture",hvacSystem:{thermostatSetpoint:20},rotation:[0,0,.7770359328652141],cz:.06,lx:13.160581645410465,solarUpdraftTower:{},type:"Foundation",cy:-7.71612929167876,solarAbsorberPipe:{},cx:5.571147308635517,id:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],selected:!1,lz:.12,notBuilding:!1,locked:!0},{rValue:2,ly:0,ceiling:!1,lx:0,sideColor:"#ffffff",cz:0,lineWidth:.2,cx:0,normal:[0,0,1],lineColor:"#000000",showLabel:!1,wallsId:["nkv63w7AFXpTDVXgNtZaZp","9ULQ17PCkbiQTAk5KCBQqS","1G9FW32uCMUYbXB7bybpze"],type:"Roof",rotation:[0,0,0],textureType:"No Roof Texture",roofStructure:"Default",roofType:"Pyramid",thickness:.1,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",cy:0,lz:0,selected:!1,color:"#73d8ff",id:"tR8bCboRhW3wJCicDgK2jW",rise:0,parentId:"uj4Qq2BojpeyU8mLo7xk7N",locked:!0},{mullionWidth:.06,frame:!0,type:"Window",shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},rotation:[0,0,0],foundationId:"j3n8P4y4kG4w4nSZiAf6rj",selected:!1,sillWidth:0,lineColor:"#000000",uValue:2,normal:[0,-1,0],mullionColor:"#4d4d4d",archHeight:1,frameWidth:.2,showLabel:!1,lineWidth:.2,lx:.3333333333333332,tint:"#0062b1",cx:-.011111111111111117,cz:-.041666666666666664,id:"wqLLY7STGwviPzesQo2Pm3",cy:.3,color:"#ffffff",opacity:.5,ly:.3,windowType:"Default",mullionSpacing:2,mullion:!0,lz:.75,parentId:"1QnZb7zSPuvyzTVeC8AkVL",locked:!0},{tint:"#0062b1",frame:!0,selected:!1,ly:.3,cz:-.041666666666666664,foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],archHeight:1,sillWidth:0,windowType:"Default",cy:.3,parentId:"tJ6f61zEL1oQGpeeCnFH2S",cx:-.011111111111111117,id:"qUkb8xmoiBdjkzRWtig4SU",shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},normal:[0,0,1],color:"#ffffff",mullionWidth:.06,lx:.3333333333333332,mullion:!0,lz:.75,type:"Window",frameWidth:.2,mullionSpacing:2,opacity:.5,uValue:2,mullionColor:"#4d4d4d",locked:!0},{lz:.48,rotation:[0,0,0],tint:"#315f6f",mullionWidth:.05,parentId:"1G9FW32uCMUYbXB7bybpze",ly:.3,cz:.12,type:"Window",mullionColor:"#666666",shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},lineWidth:.2,windowType:"Default",sillWidth:0,opacity:.9,lx:.8743310452334228,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,-1,0],frame:!0,mullionSpacing:1,mullion:!0,showLabel:!1,uValue:2,cy:.3,cx:0,color:"#ffffff",lineColor:"#000000",frameWidth:.05,id:"otfRaWBjxDE3hRYtq3HZ4m",archHeight:1,selected:!1,locked:!0},{windowType:"Default",ly:.3,archHeight:1,lz:.14285714285714282,selected:!1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",frame:!0,cy:.3,lineWidth:.2,lx:.05384615384615385,frameWidth:.2,lineColor:"#000000",cx:.19358974358974362,tint:"#b3b3b3",opacity:.9,mullionWidth:.1,cz:.23291925465838512,rotation:[0,0,0],mullionSpacing:1.25,type:"Window",mullionColor:"#ffffff",sillWidth:0,normal:[0,-1,0],showLabel:!1,id:"d7WscaF1Qtzp9YhmRPKdMx",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",uValue:2,mullion:!0,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},locked:!0},{cx:.2576923076923078,frameWidth:.2,lx:.05384615384615385,tint:"#b3b3b3",opacity:.9,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,color:"#ffffff",lz:.14285714285714282,mullionColor:"#ffffff",mullionSpacing:1.25,selected:!1,rotation:[0,0,0],cy:.3,mullion:!0,ly:.3,normal:[0,0,1],parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,cz:.23291925465838512,mullionWidth:.1,type:"Window",id:"phyxK6dSx3mzB64HK7tbQq",windowType:"Default",frame:!0,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},locked:!0},{color:"#ffffff",mullion:!0,lx:.0538461538461538,rotation:[0,0,0],opacity:.9,windowType:"Default",cy:.3,ly:.3,type:"Window",uValue:2,cx:.3217948717948719,frame:!0,cz:.23291925465838512,mullionSpacing:1.25,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},selected:!1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",archHeight:1,mullionColor:"#ffffff",lz:.14285714285714282,tint:"#b3b3b3",sillWidth:0,mullionWidth:.1,normal:[0,0,1],id:"rUCAQoA9pCTnCsyUCwQKsz",locked:!0},{lz:.14285714285714285,rotation:[0,0,0],sillWidth:0,windowType:"Default",frame:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cy:.3,mullionSpacing:1.25,opacity:.9,ly:.3,uValue:2,mullionColor:"#ffffff",color:"#ffffff",archHeight:1,type:"Window",id:"cVhfCa3Uxnnwwat44DMDUA",mullionWidth:.1,cx:.3910256410256411,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},mullion:!0,selected:!1,normal:[0,0,1],lx:.06410256410256411,frameWidth:.2,parentId:"jE7DwieCwvfvkHcN1Bkpu2",tint:"#b3b3b3",cz:.23291925465838512,locked:!0},{frame:!0,shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.1948717948717949,color:"#ffffff",frameWidth:.2,mullion:!0,ly:.3,archHeight:1,rotation:[0,0,0],tint:"#b3b3b3",opacity:.9,mullionColor:"#ffffff",lx:.056410256410256404,id:"bNXPgPwYdtaKzeyyFztb1n",normal:[0,0,1],sillWidth:0,cz:-.02795031055900621,windowType:"Default",mullionWidth:.1,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",selected:!1,type:"Window",cy:.3,mullionSpacing:1.25,uValue:2,locked:!0},{mullionWidth:.1,tint:"#b3b3b3",shutter:{width:.5,showLeft:!1,color:"grey",showRight:!1},lz:.14285714285714282,cy:.3,uValue:2,mullionSpacing:1.25,sillWidth:0,cx:.20512820512820518,parentId:"jE7DwieCwvfvkHcN1Bkpu2",lx:.03589743589743587,rotation:[0,0,0],selected:!1,type:"Window",archHeight:1,mullionColor:"#ffffff",normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,id:"3VvDJnQdsED8fAouDPT9yF",frameWidth:.2,ly:.3,windowType:"Default",frame:!0,color:"#ffffff",cz:-.2888198757763975,mullion:!0,locked:!0},{cz:-.02795031055900621,ly:.3,shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},id:"kaF2HtrRicfNAq1W9doyfR",tint:"#b3b3b3",cy:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionSpacing:1.25,normal:[0,0,1],mullionWidth:.1,windowType:"Default",sillWidth:0,type:"Window",rotation:[0,0,0],uValue:2,color:"#ffffff",archHeight:1,mullion:!0,lz:.14285714285714285,frame:!0,selected:!1,lx:.05384615384615385,frameWidth:.2,cx:.2576923076923078,opacity:.9,mullionColor:"#ffffff",locked:!0},{parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionWidth:.1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",cy:.3,lx:.0538461538461538,cx:.3217948717948719,frameWidth:.2,windowType:"Default",mullionSpacing:1.25,opacity:.9,ly:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},rotation:[0,0,0],type:"Window",id:"2pB9fvP8ZeUqogmRwvUTce",sillWidth:0,normal:[0,0,1],archHeight:1,selected:!1,uValue:2,lz:.14285714285714285,frame:!0,mullion:!0,cz:-.02795031055900621,locked:!0},{sillWidth:0,frame:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1.25,windowType:"Default",uValue:2,lz:.14285714285714285,rotation:[0,0,0],tint:"#b3b3b3",shutter:{showLeft:!1,color:"grey",showRight:!1,width:.5},color:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",id:"nTCU2PDq5uNAZg9zRpPCHX",archHeight:1,opacity:.9,cx:.3910256410256411,mullionColor:"#ffffff",type:"Window",normal:[0,0,1],cy:.3,mullion:!0,frameWidth:.2,selected:!1,lx:.06410256410256411,ly:.3,mullionWidth:.1,cz:-.02795031055900621,locked:!0},{frame:!0,archHeight:1,normal:[0,0,1],mullionColor:"#ffffff",cz:-.2888198757763975,windowType:"Default",mullionSpacing:1.25,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cx:.258974358974359,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.1,uValue:2,selected:!1,shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},lx:.056410256410256404,sillWidth:0,cy:.3,opacity:.9,type:"Window",ly:.3,lz:.14285714285714282,rotation:[0,0,0],tint:"#b3b3b3",mullion:!0,frameWidth:.2,id:"1GzMSiwb36TFB48v2QYryB",color:"#ffffff",locked:!0},{id:"ayHDGxuZiXFZRCb6xwiWDe",lx:.0538461538461538,type:"Window",parentId:"jE7DwieCwvfvkHcN1Bkpu2",ly:.3,shutter:{showLeft:!1,color:"grey",showRight:!1,width:.5},selected:!1,frame:!0,frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.2888198757763975,mullionColor:"#ffffff",mullionWidth:.1,archHeight:1,tint:"#b3b3b3",windowType:"Default",color:"#ffffff",uValue:2,normal:[0,0,1],lz:.14285714285714282,mullion:!0,sillWidth:0,cx:.3217948717948719,rotation:[0,0,0],mullionSpacing:1.25,opacity:.9,cy:.3,locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",normal:[0,0,1],opacity:.9,cy:.3,tint:"#b3b3b3",rotation:[0,0,0],frame:!0,lx:.06410256410256411,ly:.3,mullionWidth:.1,frameWidth:.2,mullionSpacing:1.25,mullion:!0,sillWidth:0,selected:!1,id:"mPyFc6BaTuwYm116awk4nS",lz:.14285714285714285,mullionColor:"#ffffff",uValue:2,windowType:"Default",color:"#ffffff",cx:.3910256410256411,parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,cz:-.2888198757763975,type:"Window",shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},locked:!0},{ly:.3,lz:4.070845481097757,structureSpacing:4,rotation:[0,0,0],fill:"Full",textureType:"No Wall Texture",cy:-2.5093852454781445,leftJoints:[],structureWidth:.5,foundationId:"8DwiqAmnDYU6meyiSHFYvg",cz:2.0354227405488783,volumetricHeatCapacity:.5,rValue:2,id:"bwWCUGgxViKGTAu9eHo4CU",normal:[0,0,1],cx:.13591177848864566,rightPoint:[5.998472224148425,-2.5093852454781453,.2],wallStructure:"Pillar",structureColor:"#4d4d4d",unfilledHeight:.5,type:"Wall",relativeAngle:-15150008736501291e-32,lx:11.725120891319554,selected:!1,eavesLength:.3,color:"#4d4d4d",leftPoint:[-5.726648667171128,-2.5093852454781445,.2],rightJoints:[],parentId:"8DwiqAmnDYU6meyiSHFYvg",opacity:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.070845481097757,rightTopPartialHeight:4.070845481097757,locked:!0},{type:"Foundation",cy:-7.844584975085767,textureType:"No Foundation Texture",ly:9.133282463061267,cz:.1,normal:[0,0,1],solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rotation:[0,0,.7770359328652141],lz:.2,solarAbsorberPipe:{},parentId:"Ground",cx:5.386211591704882,rValue:2,color:"#e9d8ba",solarUpdraftTower:{},id:"8DwiqAmnDYU6meyiSHFYvg",selected:!1,lx:13.077027743266148,notBuilding:!0,locked:!0},{cz:.23291925465838512,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,ly:.3,id:"46EurDPfGoJsechaGfz85S",cy:.3,mullionColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],tint:"#b3b3b3",mullionWidth:.1,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},color:"#ffffff",opacity:.9,type:"Window",lx:.051282051282051294,selected:!1,mullionSpacing:1.25,archHeight:1,mullion:!0,windowType:"Default",sillWidth:0,frame:!0,parentId:"jE7DwieCwvfvkHcN1Bkpu2",lz:.14285714285714285,cx:-.19230769230769235,frameWidth:.2,locked:!0},{selected:!1,cy:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},mullion:!0,lz:.14285714285714285,archHeight:1,opacity:.9,rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionSpacing:1.25,lx:.06410256410256411,ly:.3,mullionColor:"#ffffff",windowType:"Default",frameWidth:.2,uValue:2,normal:[0,0,1],cx:-.3910256410256411,sillWidth:0,type:"Window",tint:"#b3b3b3",color:"#ffffff",id:"izxRQkWui4YmZiY96HksMX",cz:.23291925465838512,frame:!0,mullionWidth:.1,locked:!0},{mullionSpacing:1.25,uValue:2,archHeight:1,cy:.3,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cz:.23291925465838512,mullionWidth:.1,windowType:"Default",type:"Window",tint:"#b3b3b3",shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},cx:-.3217948717948719,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullion:!0,lx:.0538461538461538,normal:[0,0,1],selected:!1,ly:.3,sillWidth:0,frame:!0,opacity:.9,frameWidth:.2,mullionColor:"#ffffff",lz:.14285714285714282,id:"cx5YNYxji3cWvUe2vzHp8r",rotation:[0,0,0],locked:!0},{frame:!0,selected:!1,shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},sillWidth:0,frameWidth:.2,mullionWidth:.1,cz:.23291925465838512,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",color:"#ffffff",opacity:.9,type:"Window",lz:.14285714285714282,normal:[0,0,1],mullionSpacing:1.25,uValue:2,mullion:!0,id:"v7KHWrJEpTEx5wKqo46MKC",mullionColor:"#ffffff",windowType:"Default",ly:.3,cx:-.25512820512820517,rotation:[0,0,0],cy:.3,archHeight:1,tint:"#b3b3b3",lx:.05897435897435896,locked:!0},{uValue:2,frameWidth:.2,normal:[0,0,1],mullionSpacing:1.25,cx:-.3884615384615385,selected:!1,lx:.06923076923076922,ly:.3,rotation:[0,0,0],cz:-.2888198757763975,mullion:!0,lz:.14285714285714282,opacity:.9,parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,mullionColor:"#ffffff",windowType:"Default",shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},type:"Window",sillWidth:0,mullionWidth:.1,color:"#ffffff",tint:"#b3b3b3",id:"aq2YNCbxikYtSJvwjUbALP",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frame:!0,cy:.3,locked:!0},{tint:"#b3b3b3",ly:.3,id:"nMhMe9155kYQJYGKXKtDJE",mullion:!0,rotation:[0,0,0],frameWidth:.2,archHeight:1,lz:.14285714285714282,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,frame:!0,cx:-.3192307692307694,sillWidth:0,mullionWidth:.1,normal:[0,0,1],cy:.3,opacity:.9,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},cz:-.2888198757763975,type:"Window",lx:.05384615384615394,uValue:2,mullionSpacing:1.25,windowType:"Default",mullionColor:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",locked:!0},{lx:.05384615384615385,opacity:.9,mullionWidth:.1,type:"Window",sillWidth:0,ly:.3,uValue:2,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},mullionColor:"#ffffff",cz:-.2888198757763975,cx:-.25512820512820517,normal:[0,0,1],selected:!1,id:"9uThAQakWzLaaAnEDxEbHb",mullion:!0,color:"#ffffff",windowType:"Default",lz:.14285714285714282,frame:!0,rotation:[0,0,0],cy:.3,mullionSpacing:1.25,archHeight:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frameWidth:.2,tint:"#b3b3b3",parentId:"jE7DwieCwvfvkHcN1Bkpu2",locked:!0},{windowType:"Default",opacity:.9,mullionSpacing:1.25,mullionWidth:.1,lz:.14285714285714285,cx:-.19230769230769235,cy:.3,id:"8fuBFjedq9njRTLoxtn8EP",lx:.051282051282051294,uValue:2,frame:!0,sillWidth:0,mullion:!0,frameWidth:.2,archHeight:1,cz:-.2888198757763975,selected:!1,normal:[0,0,1],ly:.3,rotation:[0,0,0],type:"Window",parentId:"jE7DwieCwvfvkHcN1Bkpu2",color:"#ffffff",shutter:{showRight:!1,showLeft:!1,color:"grey",width:.5},tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",locked:!0},{mullionSpacing:1.25,cx:-.3884615384615385,cy:.3,mullionWidth:.1,mullion:!0,color:"#ffffff",type:"Window",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",cz:-.02795031055900621,lz:.14285714285714285,tint:"#b3b3b3",frameWidth:.2,sillWidth:0,selected:!1,uValue:2,rotation:[0,0,0],normal:[0,0,1],ly:.3,archHeight:1,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},frame:!0,lx:.06923076923076922,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.9,windowType:"Default",id:"djvC79sCMpkHHpaVqyVdW8",locked:!0},{uValue:2,lz:.14285714285714285,type:"Window",id:"eZg5T5d6C7sKQSaPhcKxw6",ly:.3,frameWidth:.2,frame:!0,cy:.3,windowType:"Default",shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},selected:!1,sillWidth:0,lx:.056410256410256446,mullion:!0,mullionWidth:.1,normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:-.31794871794871804,archHeight:1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",rotation:[0,0,0],mullionSpacing:1.25,cz:-.02795031055900621,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.9,locked:!0},{lx:.056410256410256404,normal:[0,0,1],mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.1,frameWidth:.2,archHeight:1,cz:-.02795031055900621,cy:.3,opacity:.9,ly:.3,windowType:"Default",frame:!0,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cx:-.2538461538461539,selected:!1,rotation:[0,0,0],color:"#ffffff",uValue:2,id:"8xJvoQv2PELZbsAu7THviM",type:"Window",mullionColor:"#ffffff",mullionSpacing:1.25,lz:.14285714285714285,tint:"#b3b3b3",shutter:{showLeft:!1,width:.5,showRight:!1,color:"grey"},sillWidth:0,locked:!0},{mullionColor:"#ffffff",shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},windowType:"Default",normal:[0,0,1],mullionWidth:.1,lz:.14285714285714285,cy:.3,type:"Window",rotation:[0,0,0],opacity:.9,id:"6253HwoM7vYHZDUNYjsTgU",selected:!1,frame:!0,ly:.3,lx:.051282051282051294,archHeight:1,mullion:!0,cx:-.19230769230769235,tint:"#b3b3b3",frameWidth:.2,color:"#ffffff",uValue:2,cz:-.02795031055900621,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",sillWidth:0,mullionSpacing:1.25,locked:!0},{mullionColor:"#4d4d4d",rotation:[0,0,0],mullionWidth:.06,frameWidth:.2,opacity:.5,cz:-.041666666666666664,lx:.11695906432748526,shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},parentId:"vEPKSnunpPsGKUDNJaGnTR",archHeight:1,ly:.3,cy:.3,type:"Window",color:"#ffffff",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",frame:!0,mullionSpacing:2,cx:.11111111111111106,uValue:2,selected:!1,windowType:"Default",id:"gcLhGQTVxE2fJnMpRDahoq",tint:"#0062b1",mullion:!0,normal:[0,0,1],lz:.75,sillWidth:0,locked:!0},{frame:!0,rotation:[0,0,0],mullionColor:"#4d4d4d",shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.3216374269005848,frameWidth:.2,parentId:"vEPKSnunpPsGKUDNJaGnTR",archHeight:1,ly:.3,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",opacity:.5,mullion:!0,lz:.75,id:"sP3EuQN5nUzkBPzPZicBDL",mullionWidth:.06,lx:.11695906432748526,windowType:"Default",uValue:2,sillWidth:0,selected:!1,type:"Window",mullionSpacing:2,cy:.3,normal:[0,0,1],tint:"#0062b1",cz:-.041666666666666664,color:"#ffffff",locked:!0},{parentId:"3WQQwDXPDfYCATy53ts83F",cx:-.3099415204678364,rotation:[0,0,0],uValue:2,lz:.75,type:"Window",opacity:.5,selected:!1,normal:[0,0,1],mullionSpacing:2,mullionColor:"#4d4d4d",cy:.3,lx:.11695906432748526,sillWidth:0,archHeight:1,mullionWidth:.06,frame:!0,ly:.3,tint:"#0062b1",id:"a9iz7tks9oLk2eTwA9Yde3",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},mullion:!0,frameWidth:.2,windowType:"Default",color:"#ffffff",cz:-.041666666666666664,locked:!0},{color:"#ffffff",cx:-.09941520467836266,normal:[0,0,1],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",rotation:[0,0,0],mullionColor:"#4d4d4d",cz:-.041666666666666664,archHeight:1,sillWidth:0,mullionWidth:.06,windowType:"Default",shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},type:"Window",mullionSpacing:2,parentId:"3WQQwDXPDfYCATy53ts83F",cy:.3,selected:!1,mullion:!0,opacity:.5,lz:.75,id:"s7untaE7NYoTEH5Xxqu7vu",uValue:2,ly:.3,lx:.11695906432748526,tint:"#0062b1",frameWidth:.2,frame:!0,locked:!0},{cz:-.041666666666666664,normal:[0,0,1],sillWidth:0,windowType:"Default",color:"#ffffff",mullionColor:"#4d4d4d",parentId:"eZza9yCuyFywaPPzJVe5tY",tint:"#0062b1",frameWidth:.2,type:"Window",lz:.75,id:"4J5xN82Vi7ATj7FHVXK9fT",foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],frame:!0,cx:-.30994152046783635,mullionSpacing:2,uValue:2,ly:.3,opacity:.5,lx:.11695906432748526,selected:!1,mullionWidth:.06,cy:.3,archHeight:1,shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},mullion:!0,locked:!0},{parentId:"eZza9yCuyFywaPPzJVe5tY",uValue:2,cx:-.09941520467836262,mullionSpacing:2,lz:.75,normal:[0,0,1],frameWidth:.2,cz:-.041666666666666664,tint:"#0062b1",ly:.3,rotation:[0,0,0],cy:.3,mullionWidth:.06,type:"Window",opacity:.5,selected:!1,frame:!0,foundationId:"o2WibZi2fR7HySSdFgPoda",archHeight:1,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},sillWidth:0,color:"#ffffff",windowType:"Default",mullion:!0,mullionColor:"#4d4d4d",lx:.11695906432748526,id:"215xeoB94LfwSgY9VkRb9T",locked:!0},{archHeight:1,lx:.11695906432748526,id:"ddfjZo324XGZQ4fjUcBn6X",sillWidth:0,mullionWidth:.06,ly:.3,opacity:.5,type:"Window",mullionSpacing:2,windowType:"Default",color:"#ffffff",foundationId:"hLsewK7zX5Mau5SErFyCiz",normal:[0,0,1],uValue:2,frameWidth:.2,parentId:"5KcXyJ1kNDvp5rTZsShAbX",mullionColor:"#4d4d4d",rotation:[0,0,0],cz:-.041666666666666664,cy:.3,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},mullion:!0,cx:.3216374269005847,selected:!1,tint:"#0062b1",lz:.75,frame:!0,locked:!0},{normal:[0,0,1],foundationId:"hLsewK7zX5Mau5SErFyCiz",lz:.75,windowType:"Default",archHeight:1,parentId:"5KcXyJ1kNDvp5rTZsShAbX",lx:.11695906432748526,uValue:2,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},type:"Window",mullionColor:"#4d4d4d",opacity:.5,mullionWidth:.06,frameWidth:.2,cx:.11111111111111105,cz:-.041666666666666664,id:"rw5R1u3LjL3kSbDYXLqpep",tint:"#0062b1",frame:!0,sillWidth:0,cy:.3,color:"#ffffff",ly:.3,rotation:[0,0,0],mullion:!0,selected:!1,mullionSpacing:2,locked:!0},{id:"u7vgLv3TfTJ9G6m9VRJXKE",cy:-8.330957372051333,type:"Cuboid",selected:!1,cz:.6,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",ly:4.416238472006233,rotation:[0,0,.7770205829878756],cx:6.1134856174136125,lx:12.5,color:"#e9d8ba",lz:1.2,normal:[0,0,1],faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],locked:!0},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],color:"#e9d8ba",rotation:[0,0,.7770205829878756],ly:.3,parentId:"Ground",type:"Cuboid",cx:7.775993069912096,cz:.5,lz:1,cy:-9.982710148514444,normal:[0,0,1],id:"xwTCcYWFUqCHdfYgjwLPzr",selected:!1,lx:12.5,locked:!0},{cy:-10.222251297562046,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lx:12.5,color:"#e9d8ba",cz:.4,rotation:[0,0,.7770205829878756],cx:7.97917394469156,type:"Cuboid",id:"4ahnYxjJA1TN7cwGSyLftT",lz:.8,normal:[0,0,1],parentId:"Ground",ly:.3,selected:!1,faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],locked:!0},{parentId:"Ground",selected:!1,faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],cz:.3,id:"axXhhxk8aLaskye6X7yAxR",cy:-10.456557176149813,color:"#e9d8ba",rotation:[0,0,.7770205829878756],cx:8.172887209710508,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",normal:[0,0,1],ly:.3,lx:12.5,lz:.6,locked:!0},{color:"#e9d8ba",ly:.3,cz:.2,parentId:"Ground",lz:.4,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"k4MhMFRn1raEXYc4ftU5Lc",faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],type:"Cuboid",cx:8.377329978512003,selected:!1,rotation:[0,0,.7770205829878756],normal:[0,0,1],lx:12.5,cy:-10.669908202265143,locked:!0},{sillWidth:0,color:"#ffffff",lz:.14285714285714285,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},normal:[0,0,1],cy:.3,id:"aAHxe5UAeWUHZvvacf7DLX",frame:!0,opacity:.9,windowType:"Default",mullionColor:"#ffffff",frameWidth:.2,mullionWidth:.05,cx:-.3782051282051282,lx:.03846153846153847,archHeight:1,mullion:!0,parentId:"r7FDtsVF9isPsPhYMJtzMf",ly:.3,type:"Window",cz:-.30952380952380953,selected:!1,mullionSpacing:1,uValue:2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],tint:"#b3b3b3",locked:!0},{archHeight:1,windowType:"Default",frame:!0,normal:[0,0,1],color:"#ffffff",cy:.3,tint:"#b3b3b3",ly:.3,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionWidth:.05,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},id:"o3uqUfUSMsh6mPJ8kZKe6V",rotation:[0,0,0],mullion:!0,selected:!1,lx:.03846153846153847,uValue:2,mullionSpacing:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",sillWidth:0,frameWidth:.2,type:"Window",lz:.14285714285714285,mullionColor:"#ffffff",opacity:.9,cx:-.3782051282051282,cz:.2619047619047619,locked:!0},{sillWidth:0,frame:!0,tint:"#b3b3b3",mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,id:"ftqkfAje9vSURSKAfdGfkb",frameWidth:.2,cy:.1,lz:.14285714285714285,ly:.3,shutter:{showLeft:!1,color:"grey",width:.5,showRight:!1},lx:.03846153846153847,mullionColor:"#ffffff",cz:.2619047619047619,mullionSpacing:1,color:"#ffffff",mullionWidth:.05,normal:[0,0,1],uValue:2,type:"Window",parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,cx:-.3205128205128205,rotation:[0,0,0],archHeight:1,windowType:"Default",locked:!0},{mullionWidth:.05,opacity:.9,mullionColor:"#ffffff",type:"Window",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,selected:!1,uValue:2,color:"#ffffff",cz:.2619047619047619,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1,ly:.3,cx:-.26282051282051283,lz:.14285714285714285,rotation:[0,0,0],windowType:"Default",sillWidth:0,normal:[0,0,1],lx:.03846153846153847,frameWidth:.2,frame:!0,id:"47o8tVpT7No3q7ScC7ayfT",archHeight:1,shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},cy:.1,tint:"#b3b3b3",locked:!0},{id:"e9WgXpqUMuc4bjKV6V5giQ",cz:.2619047619047619,lx:.03846153846153847,type:"Window",cy:.1,tint:"#b3b3b3",frameWidth:.2,uValue:2,sillWidth:0,mullionWidth:.05,rotation:[0,0,0],mullionSpacing:1,ly:.3,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},normal:[0,0,1],mullionColor:"#ffffff",opacity:.9,cx:-.2051282051282051,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",windowType:"Default",lz:.14285714285714285,parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,selected:!1,frame:!0,mullion:!0,locked:!0},{lz:.14285714285714285,ly:.3,archHeight:1,cz:.2619047619047619,mullionWidth:.05,tint:"#b3b3b3",shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},mullionSpacing:1,normal:[0,0,1],cx:-.14743589743589736,id:"vWfatFM987X7DVksHURHa2",mullion:!0,rotation:[0,0,0],opacity:.9,lx:.03846153846153847,mullionColor:"#ffffff",cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,type:"Window",frame:!0,windowType:"Default",selected:!1,parentId:"r7FDtsVF9isPsPhYMJtzMf",frameWidth:.2,color:"#ffffff",locked:!0},{frameWidth:.2,type:"Window",frame:!0,mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"1JBYjadgjTeQWv6jrVmNzf",cz:.2619047619047619,normal:[0,0,1],cy:.1,cx:-.08974358974358965,rotation:[0,0,0],tint:"#b3b3b3",windowType:"Default",mullion:!0,ly:.3,uValue:2,archHeight:1,lx:.03846153846153847,lz:.14285714285714285,mullionColor:"#ffffff",color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1,sillWidth:0,opacity:.9,shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},selected:!1,locked:!0},{mullionSpacing:1,selected:!1,tint:"#b3b3b3",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",uValue:2,ly:.3,opacity:.9,frame:!0,type:"Window",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,sillWidth:0,cy:.1,cz:-.30952380952380953,rotation:[0,0,0],lz:.14285714285714285,id:"cfj3pRCVpZMJFi4BqedUfe",mullion:!0,normal:[0,0,1],mullionWidth:.05,cx:-.3205128205128205,windowType:"Default",mullionColor:"#ffffff",lx:.03846153846153847,locked:!0},{mullionColor:"#ffffff",lz:.14285714285714285,cy:.1,shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},cz:-.30952380952380953,tint:"#b3b3b3",uValue:2,color:"#ffffff",mullionWidth:.05,id:"mdRuaw8QhYk6E15WXmfncN",normal:[0,0,1],frameWidth:.2,ly:.3,frame:!0,lx:.03846153846153847,selected:!1,mullionSpacing:1,windowType:"Default",cx:-.26282051282051283,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],type:"Window",archHeight:1,opacity:.9,sillWidth:0,locked:!0},{tint:"#b3b3b3",frameWidth:.2,uValue:2,id:"55aZ17NQmYsZjj65tA9N6c",type:"Window",cy:.1,rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",color:"#ffffff",normal:[0,0,1],mullion:!0,shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},mullionColor:"#ffffff",cx:-.2051282051282051,windowType:"Default",cz:-.30952380952380953,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,opacity:.9,archHeight:1,lx:.03846153846153847,mullionSpacing:1,mullionWidth:.05,frame:!0,ly:.3,sillWidth:0,locked:!0},{type:"Window",ly:.3,windowType:"Default",cz:-.30952380952380953,sillWidth:0,frameWidth:.2,lz:.14285714285714285,archHeight:1,normal:[0,0,1],color:"#ffffff",selected:!1,lx:.03846153846153847,tint:"#b3b3b3",cx:-.14743589743589736,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.05,id:"1z5sb7DiDiWaTZ6WSGSBgP",shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},mullionSpacing:1,opacity:.9,rotation:[0,0,0],mullionColor:"#ffffff",frame:!0,cy:.1,mullion:!0,uValue:2,parentId:"r7FDtsVF9isPsPhYMJtzMf",locked:!0},{mullion:!0,cx:-.08974358974358965,tint:"#b3b3b3",mullionSpacing:1,normal:[0,0,1],sillWidth:0,lz:.14285714285714285,archHeight:1,rotation:[0,0,0],lx:.03846153846153847,frameWidth:.2,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,ly:.3,type:"Window",selected:!1,id:"1VhTxbHHBGndaZD6vgtVKW",frame:!0,opacity:.9,mullionColor:"#ffffff",mullionWidth:.05,cz:-.30952380952380953,parentId:"r7FDtsVF9isPsPhYMJtzMf",cy:.1,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},windowType:"Default",locked:!0},{lx:.03846153846153847,tint:"#b3b3b3",shutter:{showRight:!1,showLeft:!1,width:.5,color:"grey"},type:"Window",frame:!0,mullionSpacing:1,archHeight:1,sillWidth:0,cy:.3,opacity:.9,id:"xmoWZwUhtR6SFNiGKtxr1m",mullionWidth:.05,color:"#ffffff",rotation:[0,0,0],mullionColor:"#ffffff",lz:.14285714285714285,normal:[0,0,1],cx:-.3782051282051282,parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,windowType:"Default",uValue:2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",ly:.3,mullion:!0,frameWidth:.2,cz:-.023809523809523808,locked:!0},{archHeight:1,cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"r7FDtsVF9isPsPhYMJtzMf",lz:.14285714285714285,ly:.3,shutter:{showLeft:!1,width:.5,showRight:!1,color:"grey"},mullionSpacing:1,lx:.03846153846153847,selected:!1,cx:-.3205128205128205,id:"dmo2H1zYKT8Yb8BFyJx3Gz",cz:-.023809523809523808,tint:"#b3b3b3",mullionWidth:.05,normal:[0,0,1],rotation:[0,0,0],frame:!0,color:"#ffffff",type:"Window",frameWidth:.2,uValue:2,mullion:!0,mullionColor:"#ffffff",windowType:"Default",opacity:.9,sillWidth:0,locked:!0},{normal:[0,0,1],tint:"#b3b3b3",mullionWidth:.05,mullion:!0,frame:!0,uValue:2,type:"Window",rotation:[0,0,0],mullionColor:"#ffffff",mullionSpacing:1,opacity:.9,frameWidth:.2,ly:.3,parentId:"r7FDtsVF9isPsPhYMJtzMf",shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},windowType:"Default",lz:.14285714285714285,cy:.1,sillWidth:0,selected:!1,cz:-.023809523809523808,archHeight:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",lx:.03846153846153847,cx:-.26282051282051283,id:"ifqLCE1HzUvw6zh9hXdDbd",color:"#ffffff",locked:!0},{shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},cx:-.2051282051282051,parentId:"r7FDtsVF9isPsPhYMJtzMf",uValue:2,ly:.3,normal:[0,0,1],cz:-.023809523809523808,mullionWidth:.05,frame:!0,sillWidth:0,id:"gA23Z9tUz7wPHpEvmsKQF9",windowType:"Default",mullion:!0,lx:.03846153846153847,opacity:.9,type:"Window",archHeight:1,lz:.14285714285714285,rotation:[0,0,0],selected:!1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frameWidth:.2,mullionSpacing:1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",cy:.1,locked:!0},{type:"Window",frame:!0,selected:!1,uValue:2,rotation:[0,0,0],mullionSpacing:1,lx:.03846153846153847,id:"g26wC9moZKAAzi72Vpxkja",mullionColor:"#ffffff",color:"#ffffff",windowType:"Default",cy:.1,parentId:"r7FDtsVF9isPsPhYMJtzMf",cz:-.023809523809523808,sillWidth:0,ly:.3,lz:.14285714285714285,cx:-.14743589743589736,tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,frameWidth:.2,normal:[0,0,1],archHeight:1,mullionWidth:.05,mullion:!0,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,color:"#ffffff",parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"t5oxzLUUWgsBQiTqMqndt1",cz:-.023809523809523808,sillWidth:0,uValue:2,ly:.3,shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},rotation:[0,0,0],selected:!1,mullionWidth:.05,cx:-.08974358974358965,windowType:"Default",mullion:!0,mullionColor:"#ffffff",type:"Window",normal:[0,0,1],cy:.1,tint:"#b3b3b3",mullionSpacing:1,frameWidth:.2,frame:!0,archHeight:1,lx:.03846153846153847,lz:.14285714285714285,locked:!0},{mullionWidth:.05,cx:.10897435897435898,uValue:2,selected:!1,frameWidth:.2,lz:.14285714285714285,type:"Window",id:"9Xa2jX1sxCcJu9Qb6YPC2s",mullionColor:"#ffffff",opacity:.9,sillWidth:0,lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,color:"#ffffff",normal:[0,0,1],windowType:"Default",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frame:!0,cy:.3,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},mullion:!0,mullionSpacing:1,cz:-.30952380952380953,tint:"#b3b3b3",ly:.3,locked:!0},{uValue:2,frame:!0,mullionColor:"#ffffff",cy:.1,sillWidth:0,frameWidth:.2,ly:.3,shutter:{width:.5,showLeft:!1,color:"grey",showRight:!1},cz:-.30952380952380953,id:"jAuZTLVVKe7wAQ3T71wGgZ",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,opacity:.9,windowType:"Default",mullionSpacing:1,archHeight:1,normal:[0,0,1],mullion:!0,rotation:[0,0,0],lx:.03846153846153847,type:"Window",tint:"#b3b3b3",cx:.16666666666666669,lz:.14285714285714285,color:"#ffffff",locked:!0},{mullionSpacing:1,selected:!1,opacity:.9,windowType:"Default",type:"Window",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:.22435897435897442,archHeight:1,sillWidth:0,mullion:!0,tint:"#b3b3b3",lz:.14285714285714285,frameWidth:.2,normal:[0,0,1],ly:.3,mullionWidth:.05,cz:-.30952380952380953,id:"vENyYLo9ct8hNwWCaxGgh9",lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",frame:!0,shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},mullionColor:"#ffffff",color:"#ffffff",cy:.1,rotation:[0,0,0],uValue:2,locked:!0},{selected:!1,color:"#ffffff",sillWidth:0,uValue:2,cz:-.30952380952380953,shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},frame:!0,mullion:!0,mullionSpacing:1,mullionWidth:.05,normal:[0,0,1],parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"q7q4AW6uBwbJ6Cu8CRiTjs",type:"Window",tint:"#b3b3b3",ly:.3,frameWidth:.2,cy:.1,lz:.14285714285714285,rotation:[0,0,0],cx:.2820512820512821,lx:.03846153846153847,mullionColor:"#ffffff",windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",archHeight:1,opacity:.9,locked:!0},{tint:"#b3b3b3",archHeight:1,mullion:!0,cx:.33974358974358976,rotation:[0,0,0],lx:.03846153846153847,windowType:"Default",mullionSpacing:1,type:"Window",uValue:2,cy:.1,id:"93xJt2nF5KXFmbdPTBkxxA",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},mullionWidth:.05,sillWidth:0,ly:.3,color:"#ffffff",cz:-.30952380952380953,frameWidth:.2,mullionColor:"#ffffff",frame:!0,lz:.14285714285714285,opacity:.9,normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,parentId:"r7FDtsVF9isPsPhYMJtzMf",locked:!0},{normal:[0,0,1],mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",lz:.14285714285714285,selected:!1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",id:"rqxKsXtJSfhtmcVetqkrnQ",windowType:"Default",cz:-.30952380952380953,frameWidth:.2,lx:.03846153846153847,ly:.3,mullion:!0,archHeight:1,frame:!0,sillWidth:0,opacity:.9,uValue:2,cy:.1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},rotation:[0,0,0],cx:.3974358974358974,color:"#ffffff",mullionSpacing:1,mullionColor:"#ffffff",tint:"#b3b3b3",locked:!0},{shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",windowType:"Default",normal:[0,0,1],parentId:"r7FDtsVF9isPsPhYMJtzMf",rotation:[0,0,0],mullionSpacing:1,lz:.14285714285714285,mullionColor:"#ffffff",archHeight:1,mullion:!0,sillWidth:0,opacity:.9,mullionWidth:.05,cy:.3,cz:-.023809523809523808,lx:.03846153846153847,ly:.3,tint:"#b3b3b3",selected:!1,cx:.10897435897435898,id:"t5xKggUuuYXpJByLpjQCCN",frameWidth:.2,uValue:2,frame:!0,locked:!0},{color:"#ffffff",id:"3mgduhR1rZfiGxV9DxMKKp",selected:!1,cz:-.023809523809523808,tint:"#b3b3b3",frame:!0,mullionColor:"#ffffff",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,windowType:"Default",ly:.3,mullionWidth:.05,uValue:2,lx:.03846153846153847,mullionSpacing:1,lz:.14285714285714285,type:"Window",rotation:[0,0,0],normal:[0,0,1],sillWidth:0,cx:.16666666666666669,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},cy:.1,opacity:.9,archHeight:1,locked:!0},{sillWidth:0,windowType:"Default",mullionWidth:.05,uValue:2,mullionSpacing:1,id:"3iPxQ9YQqC9r3Ge6DJC5HU",selected:!1,opacity:.9,parentId:"r7FDtsVF9isPsPhYMJtzMf",shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},frame:!0,type:"Window",cy:.1,mullion:!0,ly:.3,rotation:[0,0,0],tint:"#b3b3b3",lx:.03846153846153847,color:"#ffffff",archHeight:1,normal:[0,0,1],frameWidth:.2,cz:-.023809523809523808,cx:.22435897435897442,lz:.14285714285714285,mullionColor:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",locked:!0},{opacity:.9,cy:.1,normal:[0,0,1],frameWidth:.2,id:"76oBAJjEY5VErwpM1BxmpH",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionSpacing:1,lz:.14285714285714285,ly:.3,frame:!0,mullionColor:"#ffffff",cx:.2820512820512821,sillWidth:0,lx:.03846153846153847,mullion:!0,uValue:2,archHeight:1,rotation:[0,0,0],type:"Window",tint:"#b3b3b3",selected:!1,color:"#ffffff",shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.023809523809523808,mullionWidth:.05,locked:!0},{archHeight:1,ly:.3,mullionColor:"#ffffff",mullion:!0,selected:!1,mullionWidth:.05,sillWidth:0,shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.33974358974358976,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",tint:"#b3b3b3",rotation:[0,0,0],frameWidth:.2,type:"Window",color:"#ffffff",cy:.1,cz:-.023809523809523808,opacity:.9,parentId:"r7FDtsVF9isPsPhYMJtzMf",lx:.03846153846153847,lz:.14285714285714285,frame:!0,uValue:2,id:"pPk6b2pTiBVzv3KLBQxRSg",windowType:"Default",mullionSpacing:1,normal:[0,0,1],locked:!0},{cy:.1,frame:!0,windowType:"Default",parentId:"r7FDtsVF9isPsPhYMJtzMf",sillWidth:0,selected:!1,normal:[0,0,1],archHeight:1,mullionWidth:.05,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},ly:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",rotation:[0,0,0],lx:.03846153846153847,mullionSpacing:1,tint:"#b3b3b3",color:"#ffffff",opacity:.9,lz:.14285714285714285,cz:-.023809523809523808,uValue:2,mullionColor:"#ffffff",mullion:!0,id:"dDqdERBwZJGfHxCAxg8mQc",cx:.3974358974358974,frameWidth:.2,locked:!0},{sillWidth:0,mullionWidth:.05,id:"g49obECC2D5AhNaQXqvDPp",frame:!0,mullionColor:"#ffffff",mullionSpacing:1,lz:.14285714285714285,windowType:"Default",opacity:.9,normal:[0,0,1],type:"Window",cx:.10897435897435898,rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",lx:.03846153846153847,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},mullion:!0,cy:.3,color:"#ffffff",frameWidth:.2,archHeight:1,uValue:2,ly:.3,cz:.2619047619047619,selected:!1,tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",locked:!0},{mullionSpacing:1,color:"#ffffff",parentId:"r7FDtsVF9isPsPhYMJtzMf",frameWidth:.2,lx:.03846153846153847,type:"Window",rotation:[0,0,0],lz:.14285714285714285,uValue:2,frame:!0,id:"n8XDBwufcE9UWBEg19yPpi",opacity:.9,normal:[0,0,1],mullionColor:"#ffffff",ly:.3,tint:"#b3b3b3",archHeight:1,windowType:"Default",cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},cz:.2619047619047619,selected:!1,cx:.16666666666666669,mullion:!0,mullionWidth:.05,sillWidth:0,locked:!0},{parentId:"r7FDtsVF9isPsPhYMJtzMf",color:"#ffffff",frame:!0,lx:.03846153846153847,normal:[0,0,1],mullionWidth:.05,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,cz:.2619047619047619,sillWidth:0,cx:.22435897435897442,lz:.14285714285714285,archHeight:1,type:"Window",cy:.1,mullionSpacing:1,selected:!1,mullionColor:"#ffffff",rotation:[0,0,0],ly:.3,windowType:"Default",tint:"#b3b3b3",id:"b5uBoVa6wo8VKkGWVcCau1",frameWidth:.2,opacity:.9,locked:!0},{color:"#ffffff",lx:.03846153846153847,cy:.1,type:"Window",opacity:.9,sillWidth:0,frame:!0,mullionWidth:.05,selected:!1,rotation:[0,0,0],id:"nwmp8tgXJE3t7ELMTsmseA",normal:[0,0,1],windowType:"Default",lz:.14285714285714285,cx:.2820512820512821,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},mullion:!0,ly:.3,tint:"#b3b3b3",frameWidth:.2,cz:.2619047619047619,archHeight:1,mullionSpacing:1,uValue:2,parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",locked:!0},{id:"72vvSwRX9xusD4gBvjme4x",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,frame:!0,windowType:"Default",mullionWidth:.05,cy:.1,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},sillWidth:0,normal:[0,0,1],cz:.2619047619047619,archHeight:1,frameWidth:.2,type:"Window",mullion:!0,tint:"#b3b3b3",uValue:2,lx:.03846153846153847,selected:!1,color:"#ffffff",cx:.33974358974358976,ly:.3,lz:.14285714285714285,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionColor:"#ffffff",mullionSpacing:1,locked:!0},{cy:.1,normal:[0,0,1],tint:"#b3b3b3",frame:!0,frameWidth:.2,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,cx:.3974358974358974,type:"Window",archHeight:1,windowType:"Default",lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionWidth:.05,id:"nfohs2Unqz45ioM4iNmfos",cz:.2619047619047619,mullionSpacing:1,mullion:!0,selected:!1,ly:.3,mullionColor:"#ffffff",opacity:.9,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},color:"#ffffff",rotation:[0,0,0],locked:!0},{lz:.75,type:"Window",uValue:2,frameWidth:.2,shutter:{showRight:!1,showLeft:!1,width:.5,color:"grey"},windowType:"Default",frame:!0,mullionColor:"#ffffff",rotation:[0,0,0],selected:!1,cy:.3,foundationId:"hLsewK7zX5Mau5SErFyCiz",opacity:.5,lx:.22222222222222213,mullionWidth:.06,ly:.3,tint:"#0062b1",mullionSpacing:5,id:"nCv1Ny793c5HrEnfGj93XH",archHeight:1,cx:-8635067969306777e-32,sillWidth:0,normal:[0,0,1],mullion:!0,cz:-.041666666666666664,color:"#ffffff",parentId:"kFKM2qRJFmWx323z2hBCra",locked:!0},{opacity:.5,sillWidth:0,uValue:2,tint:"#0062b1",ly:.3,type:"Window",cy:.3,cz:-.041666666666666664,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",frame:!0,windowType:"Default",archHeight:1,mullionWidth:.06,lz:.75,cx:-8635067969306777e-32,mullionColor:"#ffffff",rotation:[0,0,0],id:"5HaXS5141hpZmmNQTR28pq",color:"#ffffff",mullionSpacing:5,frameWidth:.2,mullion:!0,lx:.22222222222222213,normal:[0,0,1],shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},parentId:"16SbPgFqDMyVbV8UtDHAYk",selected:!1,locked:!0},{windowType:"Default",rotation:[0,0,0],frame:!0,lz:.75,ly:.3,cy:.3,mullionColor:"#ffffff",opacity:.5,id:"rkqdUY1fH4ETNHTSNuscn1",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",color:"#ffffff",cx:.01053672324504819,mullionWidth:.06,sillWidth:0,selected:!1,frameWidth:.2,mullion:!0,normal:[0,0,1],shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},tint:"#0062b1",cz:-.041666666666666664,uValue:2,parentId:"iVn6mF9eoYKrYt3EzDy2TC",type:"Window",archHeight:1,lx:.22222222222222213,mullionSpacing:5,locked:!0},{doorType:"Default",rotation:[0,0,0],frameColor:"#ffffff",id:"nCMdK2uZjAQvbd9xNjWLHp",filled:!0,cz:-.33695652173913043,type:"Door",ly:0,lz:.32608695652173914,normal:[0,0,1],lx:.053846153846153856,opacity:.5,archHeight:1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,textureType:"Door Texture Default",cx:.012820512820512824,color:"#009ce0",uValue:1,cy:0,locked:!0},{type:"Human",rotation:[0,0,0],lz:1.8,selected:!1,cy:-.1500000059604638,name:"Jack",cz:.30360914351979496,normal:[0,1,0],id:"3ZDfWfiHz4RyG9jjRaKJMd",parentId:"4ahnYxjJA1TN7cwGSyLftT",lx:.42,cx:-3.810198255647766,locked:!0},{selected:!1,parentId:"u7vgLv3TfTJ9G6m9VRJXKE",rotation:[0,0,0],id:"kNqFk1V3FLs1ySbp9WvM5C",cx:.5509936852391848,lx:.48,lz:1.6,cz:.6000000238418579,type:"Human",normal:[0,1,0],cy:-1.9056488848059487,name:"Jade",locked:!0},{type:"Human",selected:!1,name:"James",normal:[0,1,0],cx:13.796503677890236,lx:.472,cy:-14.701093907978901,cz:0,rotation:[0,0,0],lz:1.75,parentId:"Ground",id:"hEkECi6wTCQNNwcMymHKtW",locked:!0},{normal:[0,1,0],cz:0,name:"Jacqueline",lz:1.78,lx:.43,parentId:"Ground",id:"jkiLfuhPDQMUuLpfWnf96a",rotation:[0,0,0],cx:14.379527131239326,type:"Human",cy:-14.104111051733407,selected:!1,locked:!0},{uValue:2,ly:.3,cy:.3,cz:-.44989648033126295,lineColor:"#000000",mullionWidth:.1,archHeight:1,mullion:!0,mullionColor:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",lx:.025641025641025647,sillWidth:0,selected:!1,opacity:.5,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",windowType:"Default",cx:-.3974358974358975,id:"ey7NEkHJkJr31HLTbvLk1h",frame:!0,normal:[0,-1,0],lineWidth:.2,showLabel:!1,lz:.047619047619047616,tint:"#b3b3b3",mullionSpacing:1.25,rotation:[0,0,0],frameWidth:.05,color:"#ffffff",type:"Window",shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},locked:!0},{windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.44989648033126295,cx:-.3205128205128206,cy:.3,uValue:2,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},type:"Window",sillWidth:0,mullionWidth:.1,mullionColor:"#ffffff",archHeight:1,frame:!0,ly:.3,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.5,tint:"#b3b3b3",rotation:[0,0,0],lx:.025641025641025647,frameWidth:.05,mullionSpacing:1.25,selected:!1,color:"#ffffff",normal:[0,-1,0],mullion:!0,lz:.047619047619047616,id:"tBwi3AxHXayUK8gVkMaxbE",locked:!0},{opacity:.5,mullionWidth:.1,type:"Window",normal:[0,-1,0],archHeight:1,lz:.047619047619047616,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.44989648033126295,lx:.025641025641025647,frame:!0,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},uValue:2,parentId:"jE7DwieCwvfvkHcN1Bkpu2",rotation:[0,0,0],mullionSpacing:1.25,ly:.3,frameWidth:.05,tint:"#b3b3b3",cx:-.25641025641025644,cy:.3,sillWidth:0,selected:!1,id:"aaeq11aoNBxT8ngMjW1MD1",windowType:"Default",mullion:!0,color:"#ffffff",mullionColor:"#ffffff",locked:!0},{mullionColor:"#ffffff",lz:.047619047619047616,cx:-.19230769230769235,uValue:2,sillWidth:0,id:"tQRNuUci7nDK7JtFR1J9hs",opacity:.5,mullion:!0,cz:-.44989648033126295,windowType:"Default",lx:.025641025641025647,selected:!1,color:"#ffffff",shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,tint:"#b3b3b3",frameWidth:.05,type:"Window",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",ly:.3,frame:!0,normal:[0,-1,0],mullionWidth:.1,cy:.3,mullionSpacing:1.25,locked:!0},{mullionWidth:.15,lz:.2260869565217391,lx:.12564102564102567,uValue:2,shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},sillWidth:0,lineColor:"#000000",cy:.3,showLabel:!1,mullionSpacing:1.75,lineWidth:.2,selected:!1,color:"#ffffff",ly:.3,windowType:"Default",type:"Window",tint:"#009ce0",frame:!1,cz:-.28695652173913044,parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:-.07820512820512822,mullionColor:"#ffffff",archHeight:1,opacity:.5,rotation:[0,0,0],mullion:!0,normal:[0,-1,0],frameWidth:.1,id:"noDtXCs5Fto2dPjMS4sHTG",locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.5,id:"32Mm6Utbug2woUysRGXDB7",frameWidth:.1,mullionWidth:.15,parentId:"jE7DwieCwvfvkHcN1Bkpu2",shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},mullion:!0,mullionColor:"#ffffff",type:"Window",frame:!1,selected:!1,windowType:"Default",cy:.3,ly:.3,normal:[0,0,1],cz:-.29130434782608694,tint:"#009ce0",color:"#ffffff",lx:.1230769230769231,rotation:[0,0,0],uValue:2,cx:.10256410256410259,archHeight:1,sillWidth:0,mullionSpacing:1.75,lz:.21739130434782608,locked:!0},{lineColor:"#e9d8ba",color:"#e9d8ba",cz:0,ly:.4,parentType:"Wall",vertices:[{x:-.5007532349973239,y:-.44799999999999995},{x:-.5007532349973239,y:-.376},{y:-.376,x:.5007532349973239},{y:-.44,x:.5007532349973239}],id:"aJWE2MtRWkR9GDyeWR1Gxe",filled:!0,selected:!1,cy:-.4400430854049809,type:"Polygon",selectedIndex:0,normal:[0,0,1],lx:.4,lz:.4,cx:.15819596410925735,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",parentId:"1G9FW32uCMUYbXB7bybpze",noOutline:!0,rotation:[0,0,0],locked:!0},{filled:!0,ly:.4,cz:0,cy:0,vertices:[{x:-.5001466885671803,y:-.44},{y:-.376,x:-.5001466885671803},{y:-.376,x:.4601349534818058},{y:-.44,x:.5001466885671803}],lx:.4,noOutline:!0,cx:0,parentId:"9ULQ17PCkbiQTAk5KCBQqS",type:"Polygon",id:"cAXqDBJufU2L5v4YCuvU4k",color:"#e9d8ba",lz:.4,selected:!1,selectedIndex:3,parentType:"Wall",lineColor:"#e9d8ba",rotation:[0,0,0],foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],locked:!0},{selected:!1,opacity:0,text:"YENISEHIR BELEDIYESI BILIM SANAT MERKEZI",noOutline:!0,cy:0,fontColor:"gold",cz:0,normal:[0,0,1],cx:0,rotation:[0,0,0],foundationId:"uj4Qq2BojpeyU8mLo7xk7N",color:"#ffffff",selectedIndex:3,lx:.4,type:"Polygon",ly:.4,fontSize:.5,filled:!0,parentType:"Wall",parentId:"1G9FW32uCMUYbXB7bybpze",vertices:[{x:-.47819624166517993,y:.14},{x:-.47819624166517993,y:.18000000000000002},{y:.18000000000000002,x:.47561944404400847},{x:.47561944404400847,y:.14}],id:"ddNUh9NWyq7jo9Hii6cxUy",lz:.4,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["vEPKSnunpPsGKUDNJaGnTR","iYLfpK8sAzBxMk4mz1BXiS","joaXtauLNr5aPP2tqqpryi","1QnZb7zSPuvyzTVeC8AkVL"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j3n8P4y4kG4w4nSZiAf6rj",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"9wUwTaeJ4rHLbRCsFJ3NXZ",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["16SbPgFqDMyVbV8UtDHAYk","kmaifBj79SDvw8jCqEakPi","dMQfydvLoQmsUVh8GcfQWg","3WQQwDXPDfYCATy53ts83F"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"x4oU2GYmkiSMe4Z8gg6K3C",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"q8ctEFdUTArcnVXRSQ323h",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["tJ6f61zEL1oQGpeeCnFH2S","sCZzaqpAQeUmKwng1WHaCF","gZiomgVxY3vk4YfQ9Jjh6B","eZza9yCuyFywaPPzJVe5tY"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"o2WibZi2fR7HySSdFgPoda",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"rdXcWwV3c9y2W6N9aNo82Z",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["5KcXyJ1kNDvp5rTZsShAbX","i7SnyGKg3wpYfMg2Ck4kpZ","gv3LzTTefsaZrtK8Lzx2bM","kFKM2qRJFmWx323z2hBCra"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"hLsewK7zX5Mau5SErFyCiz",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"3gdGvLfCvyTnvdRCWnC9h9",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["eTsfM9k5RPHprx93KkShya","aMAoC9G4MpUPGJVmt36yfP","u1GLQPod2yRsFy4dWHVdVa","iVn6mF9eoYKrYt3EzDy2TC"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oGfdqtfZrLhGvZskoNeDFJ",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"ips8v5W6dhiA81cAxrdErd",locked:!0},{type:"Foundation",cx:2.2717235438998022,cy:-13.70952380378541,cz:.05,lx:.7913071632562995,ly:6.7897393900555105,lz:.1,normal:[0,0,1],rotation:[0,0,.7770205829878756],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"mjxy5YL3EoKusPrE4miGfp",notBuilding:!0,locked:!0},{type:"Wall",cx:-.20459827817487655,cy:-1.7122028473101976,cz:0,lx:1.6908062651709903,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:-1.5707963267948972,leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[-.20459827817487694,-2.5576059798956927,0],leftJoints:["9LP2kDJGn2neiYDzDX66JW"],rightJoints:["kVBpA22r7rMwMak56bdzNG"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"kAomEduDnbZXe9fMR2J4vS",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:1.4200281664406509,rightRoofHeight:.8626045741320808,centerRoofHeight:[-.5,1.9880394330169113],locked:!0},{type:"Wall",cx:.011903976174146291,cy:-2.5576059798956923,cz:1.5186399018658703,lx:.43300450869804646,ly:.3,lz:.8626045741320808,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.0372798037317406,rightTopPartialHeight:3.0372798037317406,relativeAngle:30767985154612743e-31,leftPoint:[-.20459827817487694,-2.5576059798956927,0],rightPoint:[.22840623052316952,-2.5576059798956914,0],leftJoints:["kAomEduDnbZXe9fMR2J4vS"],rightJoints:["xrMk4ZTC1gwLZELF3Hm4PW"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"kVBpA22r7rMwMak56bdzNG",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:.8626045741320808,rightRoofHeight:.8626045741320808,locked:!0},{type:"Wall",cx:.22840623052316894,cy:-1.7122028473101973,cz:0,lx:1.690806265170988,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:1.5707963267948974,leftPoint:[.22840623052316952,-2.5576059798956914,0],rightPoint:[.22840623052316833,-.8667997147247033,0],leftJoints:["kVBpA22r7rMwMak56bdzNG"],rightJoints:["9LP2kDJGn2neiYDzDX66JW"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"xrMk4ZTC1gwLZELF3Hm4PW",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:.8626045741320808,rightRoofHeight:1.4200281664406509,centerRoofHeight:[.5,1.9880394330169113],locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:3.1415926535897913,leftPoint:[.22840623052316833,-.8667997147247033,0],rightPoint:[-.20459827817487616,-.8667997147247025,0],leftJoints:["xrMk4ZTC1gwLZELF3Hm4PW"],rightJoints:["kAomEduDnbZXe9fMR2J4vS"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"9LP2kDJGn2neiYDzDX66JW",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:1.9880394330169113,rightRoofHeight:1.9880394330169113,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5680112665762603,thickness:.1,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Gable",roofStructure:"Default",wallsId:["kVBpA22r7rMwMak56bdzNG"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"vX75xVcns2UiTk795WQxu9",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],locked:!0},{type:"Wall",cx:-.20459827817487508,cy:1.0250055239867875,cz:0,lx:3.7836104774229744,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-1.5707963267948963,leftPoint:[-.20459827817487566,2.9168107626982747,0],rightPoint:[-.20459827817487453,-.8667997147247,0],leftJoints:["hb7Tux4vCn6v5A6JnAifhr"],rightJoints:["ji3RWSoHzqrqxaW2CNta4W"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"wwL7bfAKTRXceXoVXbnQe9",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:-.005847552410961521,cy:2.9252948707181776,cz:0,lx:.3978634493419871,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-3.09893137333499,leftPoint:[.19290317335295262,2.93377897873808,0],rightPoint:[-.20459827817487566,2.9168107626982747,0],leftJoints:["33r7faucqj1HNFffUsMqbr"],rightJoints:["wwL7bfAKTRXceXoVXbnQe9"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"hb7Tux4vCn6v5A6JnAifhr",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:.21065470193806246,cy:1.0334896320066904,cz:0,lx:3.800744515522147,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:1.580137542273405,leftPoint:[.22840623052317233,-.8667997147246993,0],rightPoint:[.19290317335295262,2.93377897873808,0],leftJoints:["ji3RWSoHzqrqxaW2CNta4W"],rightJoints:["hb7Tux4vCn6v5A6JnAifhr"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"33r7faucqj1HNFffUsMqbr",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-17947991340190846e-31,leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[.22840623052316833,-.8667997147247033,0],leftJoints:["wwL7bfAKTRXceXoVXbnQe9"],rightJoints:["33r7faucqj1HNFffUsMqbr"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"ji3RWSoHzqrqxaW2CNta4W",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.1,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["ji3RWSoHzqrqxaW2CNta4W","33r7faucqj1HNFffUsMqbr","hb7Tux4vCn6v5A6JnAifhr","wwL7bfAKTRXceXoVXbnQe9"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"sFQv2f1u7oD1ozyFQA6CvB",locked:!0},{type:"Wall",cx:-.20459827817487655,cy:-1.7122028473101976,cz:0,lx:1.6908062651709903,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["kQgqBbuoJMHBFT8g1JN1tC"],rightJoints:["3c6cWYJDLKfbWoov8rSetU"],leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[-.20459827817487694,-2.5576059798956927,0],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"hQDTYviozPxCLRiuoq8YbP",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:1.4200281664406509,rightRoofHeight:.8626045741320808,centerRoofHeight:[-.5,1.9880394330169113],selected:!1,locked:!0},{type:"Wall",cx:.011903976174146291,cy:-2.5576059798956923,cz:1.5186399018658703,lx:.43300450869804646,ly:.3,lz:.8626045741320808,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.0372798037317406,rightTopPartialHeight:3.0372798037317406,leftJoints:["hQDTYviozPxCLRiuoq8YbP"],rightJoints:["3SCoUPNSFfffHGPmvk8DUC"],leftPoint:[-.20459827817487694,-2.5576059798956927,0],rightPoint:[.22840623052316952,-2.5576059798956914,0],relativeAngle:30767985154612743e-31,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"3c6cWYJDLKfbWoov8rSetU",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:.8626045741320808,rightRoofHeight:.8626045741320808,selected:!1,locked:!0},{type:"Wall",cx:.22840623052316894,cy:-1.7122028473101973,cz:0,lx:1.690806265170988,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["3c6cWYJDLKfbWoov8rSetU"],rightJoints:["kQgqBbuoJMHBFT8g1JN1tC"],leftPoint:[.22840623052316952,-2.5576059798956914,0],rightPoint:[.22840623052316833,-.8667997147247033,0],relativeAngle:1.5707963267948974,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"3SCoUPNSFfffHGPmvk8DUC",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:.8626045741320808,rightRoofHeight:1.4200281664406509,centerRoofHeight:[.5,1.9880394330169113],selected:!1,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["3SCoUPNSFfffHGPmvk8DUC"],rightJoints:["hQDTYviozPxCLRiuoq8YbP"],leftPoint:[.22840623052316833,-.8667997147247033,0],rightPoint:[-.20459827817487616,-.8667997147247025,0],relativeAngle:3.1415926535897913,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"kQgqBbuoJMHBFT8g1JN1tC",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:1.9880394330169113,rightRoofHeight:1.9880394330169113,selected:!1,locked:!0},{id:"bi1wbzAS6GmbpEfuCH6pB4",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5680112665762603,color:"#ffffff",rValue:2,ceilingRValue:2,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["3c6cWYJDLKfbWoov8rSetU"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,locked:!0},{type:"Wall",cx:-.20459827817487508,cy:1.0250055239867875,cz:0,lx:3.7836104774229744,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["oo7zYTZq5M8KXcmw8fK7tD"],rightJoints:["ij5SdFExjnoBJBDeaF2ioW"],leftPoint:[-.20459827817487566,2.9168107626982747,0],rightPoint:[-.20459827817487453,-.8667997147247,0],relativeAngle:-1.5707963267948963,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"uizhgrZpeyc2KYB1TvZ5Nf",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:-.005847552410961521,cy:2.9252948707181776,cz:0,lx:.3978634493419871,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["mgWkbY4DegHxFAvRa9Bw4F"],rightJoints:["uizhgrZpeyc2KYB1TvZ5Nf"],leftPoint:[.19290317335295262,2.93377897873808,0],rightPoint:[-.20459827817487566,2.9168107626982747,0],relativeAngle:-3.09893137333499,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"oo7zYTZq5M8KXcmw8fK7tD",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:.21065470193806246,cy:1.0334896320066904,cz:0,lx:3.800744515522147,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["ij5SdFExjnoBJBDeaF2ioW"],rightJoints:["oo7zYTZq5M8KXcmw8fK7tD"],leftPoint:[.22840623052317233,-.8667997147246993,0],rightPoint:[.19290317335295262,2.93377897873808,0],relativeAngle:1.580137542273405,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"mgWkbY4DegHxFAvRa9Bw4F",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["uizhgrZpeyc2KYB1TvZ5Nf"],rightJoints:["mgWkbY4DegHxFAvRa9Bw4F"],leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[.22840623052316833,-.8667997147247033,0],relativeAngle:-17947991340190846e-31,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"ij5SdFExjnoBJBDeaF2ioW",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{id:"8m9Vi16SPU3YiAzGyrbieq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,color:"#ffffff",rValue:2,ceilingRValue:2,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["ij5SdFExjnoBJBDeaF2ioW","mgWkbY4DegHxFAvRa9Bw4F","oo7zYTZq5M8KXcmw8fK7tD","uizhgrZpeyc2KYB1TvZ5Nf"],selected:!1,locked:!0},{type:"Foundation",cx:11.311392901943481,cy:-4.7142040538495555,cz:.05,lx:.7913071632562995,ly:6.7897393900555105,lz:.1,normal:[0,0,1],rotation:[0,0,.7770205829878756],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"qRkMdipDNgMrnuysUddPgu",selected:!1,notBuilding:!0,locked:!0},{type:"Door",cx:-.11315789473684208,cy:0,cz:-.06153846153846153,lx:.6894736842105263,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"joaXtauLNr5aPP2tqqpryi",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"keZr7qBSZM6JD1wUNN3RrV",interior:!0,locked:!0},{type:"Door",cx:.12368421052631581,cy:0,cz:-.06538461538461539,lx:.668421052631579,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"kmaifBj79SDvw8jCqEakPi",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"vp6vHpvNfTH54o1tThWij3",interior:!0,locked:!0},{type:"Door",cx:-.2611111111111111,cy:0,cz:-.030769230769230764,lx:.3000000000000001,ly:0,lz:.9384615384615385,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"dMQfydvLoQmsUVh8GcfQWg",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"b4ReFVnndEjjEwadJrJfnm",interior:!0,locked:!0},{type:"Door",cx:.2277777777777778,cy:0,cz:-.03461538461538463,lx:.3666666666666666,ly:0,lz:.9307692307692308,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"iYLfpK8sAzBxMk4mz1BXiS",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"wa145FYVqDahTu1KJYV3LK",interior:!0,locked:!0},{type:"Door",cx:.12368421052631574,cy:0,cz:-.06538461538461539,lx:.6684210526315789,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"sCZzaqpAQeUmKwng1WHaCF",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"1r7udrYyCT7hkUCv5siuDw",locked:!0},{type:"Door",cx:-.12368421052631574,cy:0,cz:-.06538461538461539,lx:.6684210526315789,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gv3LzTTefsaZrtK8Lzx2bM",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"vASnwHDvzPR9avU565RVbd",locked:!0},{type:"Door",cx:.26111111111111107,cy:0,cz:-.042307692307692296,lx:.29999999999999993,ly:0,lz:.9153846153846155,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"i7SnyGKg3wpYfMg2Ck4kpZ",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"ewo4SkBBdDL4Dgy9tWDw9P",locked:!0},{type:"Door",cx:-.26111111111111107,cy:0,cz:-.042307692307692296,lx:.2999999999999998,ly:0,lz:.9153846153846155,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gZiomgVxY3vk4YfQ9Jjh6B",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"7HwzJtGpVjcSG4pVEZX7yq",locked:!0},{type:"Door",cx:-.10744643820625929,cy:0,cz:-.06153846153846153,lx:.6583928464374896,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"u1GLQPod2yRsFy4dWHVdVa",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"kmWJjPpjeytKavWK96TyyH",locked:!0},{type:"Door",cx:44664000438593557e-33,cy:0,cz:-.038461538461538464,lx:.8390809794142997,ly:0,lz:.9230769230769231,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"aMAoC9G4MpUPGJVmt36yfP",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"hMEcTxQ4NT4QbuYeBXMCEV",locked:!0},{type:"Door",cx:.13912500749375725,cy:0,cz:-.06153846153846153,lx:.5950357078624938,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"eTsfM9k5RPHprx93KkShya",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"vbLxh8TTREuj8zv66LqoAM",locked:!0},{type:"Door",cx:-.2823529411764706,cy:0,cz:-.010869565217391304,lx:.38823529411764707,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"vqP69iA4TuZd8ZEvPBLjzU",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"vbUoZmBsuZRXzK6QXsDYtV",locked:!0},{type:"Door",cx:.2823529411764706,cy:0,cz:-.010869565217391304,lx:.38823529411764707,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"vqP69iA4TuZd8ZEvPBLjzU",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"fknzp5TF4y6Z2JezdMmUnw",locked:!0},{type:"Door",cx:-.46282051282051284,cy:0,cz:-.004347826086956506,lx:.053846153846153884,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"62KCpUdkhCRr3ExkPE3Sd1",locked:!0},{type:"Door",cx:.458974358974359,cy:0,cz:-.004347826086956506,lx:.061538461538461424,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"oHCJ27NVx4XbdXZVcpvNo5",locked:!0},{type:"Door",cx:-.4615384615384616,cy:0,cz:-.004347826086956506,lx:.056410256410256404,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"3deR2pFWoANWBbeogtfdY4",locked:!0},{type:"Door",cx:.2823529411764706,cy:0,cz:-.0017278291556811246,lx:.3882352941176471,ly:0,lz:.9965443416886377,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"6bfpYPQw2M5RbKRsLfDauC",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"nAw5K9QrWgALjVNPKgbC1o",locked:!0},{type:"Door",cx:-.2823529411764706,cy:0,cz:-.010869565217391304,lx:.3882352941176471,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"6bfpYPQw2M5RbKRsLfDauC",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"kNSEPx2oK4SSg7KeM6Ty8x",locked:!0},{type:"Door",cx:.46282051282051284,cy:0,cz:-.010869565217391304,lx:.053846153846153884,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"5UP5zCx3iEA1h5gxGrabow",locked:!0},{type:"Door",cx:.00641025641025641,cy:0,cz:-.010869565217391304,lx:.11538461538461539,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"nd9aBdZVvLyLxm6LSWmReW",locked:!0},{type:"Window",cx:19.271100620021265,cy:-4.54768812158822,cz:12.260904466364499,lx:2.748705948983199,ly:.2,lz:6.901186917106701,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872453,0,2220446049250313e-31],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"5kDW9Ug8bkdf5i9qjLd7bj",locked:!0},{type:"Window",cx:19.227858803067697,cy:4.981211897402677,cz:12.264615427486488,lx:2.8786302292092456,ly:.2,lz:6.844179828287683,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872476,0,3.141592653589793],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"oxL6YVVCiXau1r4WQuSjxn",locked:!0},{type:"Window",cx:-17.18252886122661,cy:-4.622268332707515,cz:12.249668970719181,lx:2.2316030028692726,ly:.2,lz:6.893564122242849,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872476,0,2220446049250313e-31],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"rqUXFDFwX2z3bbGtXfBcfd",locked:!0},{type:"Window",cx:-17.11075110661269,cy:5.168142143612845,cz:12.236454418879077,lx:2.3271871087906195,ly:.2,lz:6.844860410467514,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.1495254111987243,0,3.1415926535897936],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"qAswaYhvWDiHawY6iYvLWG",locked:!0}],Fmn=90,Lmn={yearlyLightSensorPanelRect:{height:500,width:600,x:0,y:0},showYearlyParabolicDishYieldPanel:!1,showDesignInfoPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showInstructionPanel:!0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},dailyPvYieldPanelRect:{x:0,height:400,width:600,y:0},yearlyLightSensorPanelShowDaylight:!1,cameraPosition:[28.761610676892403,-33.63667545263391,8.036616917846569],yearlyPvYieldPanelX:0,showDailyHeliostatYieldPanel:!1,solarRadiationHeatMapMaxValue:3,showDailyPvYieldPanel:!1,showSunAngles:!1,yearlyParabolicDishYieldPanelY:0,showYearlyPvYieldPanel:!1,yearlyParabolicDishYieldPanelRect:{width:600,y:0,height:400,x:0},mapZoom:19,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,yearlyPvYieldPanelY:0,dailyHeliostatYieldPanelY:0,showYearlyBuildingEnergyPanel:!1,mapWeatherStations:!1,stickyNotePanelX:0,dailyPvYieldPanelY:0,dailyFresnelReflectorYieldPanelY:0,yearlyHeliostatYieldPanelX:0,cameraZoom:18.050000000000008,yearlyParabolicTroughYieldPanelY:0,yearlyPvYieldPanelRect:{width:600,height:400,x:0,y:0},theme:"Default",dailyLightSensorPanelRect:{height:360,y:0,width:600,x:0},dailyFresnelReflectorYieldPanelRect:{x:0,height:400,width:600,y:0},heatFluxColor:"gray",showYearlyFresnelReflectorYieldPanel:!1,solarPanelShininess:100,mapType:"roadmap",yearlyParabolicTroughYieldPanelX:0,cameraPosition2D:[9.356963094823977,-6.143696261834446,150],showDailyLightSensorPanel:!1,weatherPanelX:0,yearlyFresnelReflectorYieldPanelX:0,visibilityResultsPanelRect:{x:0,height:470,y:0,width:600},showDailyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelRect:{width:600,height:400,y:0,x:0},showHeliodonPanel:!1,windowShininess:200,yearlyLightSensorPanelY:0,dailyParabolicDishYieldPanelY:0,panCenter2D:[9.356963094823977,-6.142695884375581,-7053447453632921e-21],dailyHeliostatYieldPanelX:0,showWeatherPanel:!1,heliodonPanelY:0,yearlyParabolicDishYieldPanelX:0,mapPanelX:0,dailyPvYieldPanelX:0,weatherPanelY:0,showMapPanel:!1,stickyNotePanelY:0,yearlyHeliostatYieldPanelY:0,groundImage:!0,dailyHeliostatYieldPanelRect:{y:0,x:0,height:400,width:600},panCenter:[-1.9927664106999077,1.50952086360681,5.064941130407551],showYearlyLightSensorPanel:!1,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,ambientLightIntensity:.1,showSolarPanelVisibilityResultsPanel:!1,mapPanelY:0,dailyParabolicDishYieldPanelX:0,orthographic:!1,showElevationAngle:!0,dailyParabolicTroughYieldPanelY:0,axes:!0,showStickyNotePanel:!1,heliodon:!1,yearlyLightSensorPanelShowClearness:!1,yearlyLightSensorPanelX:0,dailyUpdraftTowerYieldPanelRect:{height:550,y:0,x:0,width:640},yearlyFresnelReflectorYieldPanelY:0,mapTilt:0,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelX:0,showDailyFresnelReflectorYieldPanel:!1,showEconomicsPanel:!1,showAzimuthAngle:!0,dailyLightSensorPanelY:0,showDailyUpdraftTowerYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,enableRotate:!0,diurnalTemperaturePanelRect:{width:600,x:0,y:0,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,height:400,width:600,y:0},waterSurface:!1,showZenithAngle:!0,evolutionPanelRect:{y:0,width:640,height:400,x:0},showYearlyUpdraftTowerYieldPanel:!1,shadowEnabled:!0,yearlyFresnelReflectorYieldPanelRect:{height:400,y:0,width:600,x:0},yearlyHeliostatYieldPanelRect:{width:600,x:0,height:400,y:0},showDiurnalTemperaturePanel:!1,autoRotate:!1,solarRadiationHeatMapReflectionOnly:!1,heliodonPanelX:0,groundColor:"#16A5A5",heatFluxScaleFactor:20,heatFluxWidth:.5,showSiteInfoPanel:!0,dailyFresnelReflectorYieldPanelX:0,yearlyUpdraftTowerYieldPanelRect:{height:400,x:0,y:0,width:600},weatherPanelRect:{width:500,height:500,x:0,y:0},visibilityResultsPanelX:0,showDailyParabolicTroughYieldPanel:!1,showEvolutionPanel:!1,showYearlyHeliostatYieldPanel:!1,groundImageType:"roadmap"},Wmn={dailyParabolicTroughIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyPvIndividualOutputs:!1},Nmn=1,Umn={rowsPerRack:1,tiltAngle:0,poleHeight:1,rowAxis:"Zonal",orientation:"Landscape",pvModelName:"SPR-X21-335-BLK",interRowSpacing:2,poleSpacing:3},Bmn={maximumInterRowSpacing:10,pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,poleHeight:1,rowAxis:"Zonal",maximumRowsPerRack:6,poleSpacing:5,minimumInterRowSpacing:2,maximumTiltAngle:1.5707963267948966,minimumRowsPerRack:1,orientation:"Landscape"},jmn={particleSwarmOptimizationParams:{objectiveFunctionType:1,inertia:.8,searchMethod:1,maximumSteps:5,vmax:.01,cognitiveCoefficient:.1,swarmSize:20,socialCoefficient:.1,convergenceThreshold:.01,problem:"Solar Panel Tilt Angle",localSearchRadius:.1},geneticAlgorithmParams:{convergenceThreshold:.01,problem:"Solar Panel Tilt Angle",mutationRate:.1,maximumGenerations:5,selectionMethod:1,localSearchRadius:.1,searchMethod:1,populationSize:20,crossoverRate:.5,objectiveFunctionType:1,selectionRate:.5}},Ymn={electricitySellingPrice:.25,operationalCostPerUnit:.15,projectLifeSpan:25},Omn="School Building",_mn="The Architect",Vmn="Yenişehir Belediyesi Bilim ve Sanat Merkezi",Gmn="Mersin Yenişehir Belediyesi BİLSEM",Xmn=[],Jmn={docid:Rmn,time:Hmn,timestamp:Mmn,userid:Imn,owner:zmn,email:Dmn,world:Emn,elements:kmn,sceneRadius:Fmn,view:Lmn,graphState:Wmn,evolutionMethod:Nmn,solarPanelArrayLayoutParams:Umn,solarPanelArrayLayoutConstraints:Bmn,evolutionaryAlgorithmState:jmn,economicsParams:Ymn,modelType:Omn,modelAuthor:_mn,modelLabel:Vmn,modelDescription:Gmn,notes:Xmn},Kmn="tM5fjWZLVef6uQTttZQufM",qmn="11/13/2022 07:15 pm",$mn=1668384959038,Qmn="QWecNcxhyvP6j6sBN11hBsfZDau1",Zmn=null,eyn=null,tyn={name:"default",date:"6/22/2022 4:00:00 PM",longitude:-110.9747108,latitude:32.2226066,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Tucson, AZ, USA",timesPerHour:20,orthographic:!1,cameraZoom:15.475618749999999,solarRadiationHeatmapGridCellSize:2,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},nyn=[{cz:.10000000074506517,id:"2gPWTJVs8iqE6rVTtrnnd8",name:"Julio",normal:[0,1,0],cy:-19.528888002511724,type:"Human",cx:13.490029797984572,rotation:[0,0,0],selected:!1,parentId:"Ground",lx:.5,ly:.42,lz:1.76},{ly:17.026616933032848,cy:-19.859023165912554,cz:.05,lz:.1,selected:!1,lx:36.16252356452459,type:"Foundation",id:"dqxcN6K9GVQLtZRykzonbS",cx:.03966683604024013,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #2"},{normal:[0,0,1],type:"Tree",rotation:[0,0,0],lx:4,cx:-23.993252440580314,id:"ibv7qyFAZNTUiSKfRnG81J",cz:-8881784197001252e-31,selected:!1,cy:-7.809220875702906,lz:10,name:"Birch",parentId:"Ground"},{selected:!1,poleSpacing:4,lz:.046,cy:-.023651645489680885,drawSunBeam:!0,poleRadius:.05,label:"Solar Panel",ly:3.12,lx:20.99,rotation:[0,0,0],type:"Solar Panel",tiltAngle:.05235987755982989,poleHeight:2.5,normal:[0,0,1],orientation:"Portrait",cz:.5000000074505628,relativeAzimuth:0,cx:-.14046178216409752,showLabel:!1,id:"kLwberNeAuQDEs45xghUMw",trackerType:"None",parentId:"dqxcN6K9GVQLtZRykzonbS",foundationId:"dqxcN6K9GVQLtZRykzonbS",pvModelName:"SPR-X21-335-BLK"},{id:"5wtQcSRJfXRx7dRi95EJjx",cy:-17.66536908075935,type:"Human",rotation:[0,0,0],cz:.10000000074505806,selected:!1,cx:7.100228690010481,normal:[0,1,0],name:"Jade",parentId:"Ground",lx:.48,ly:.48,lz:1.6},{cx:-23.340488252107782,cz:0,id:"tJeB5NfeXNiu4x7bJzUo9c",selected:!1,rotation:[0,0,0],lz:4.164962493910564,name:"Apple",normal:[0,0,1],type:"Tree",lx:4.059299397551073,cy:-22.87864367350907,parentId:"Ground"},{type:"Human",name:"Jedi",id:"wizaQCLaDPXxAgvgzpYzE5",cy:-26.52645438589241,rotation:[0,0,0],cx:-20.391856797710087,selected:!1,cz:-7105427357601002e-30,normal:[0,1,0],parentId:"Ground",lx:.56,ly:.56,lz:1.75},{name:"Jocelyn",rotation:[0,0,0],cz:-9833932535276902e-30,cx:-5.594678028642042,type:"Human",normal:[0,1,0],id:"8gaXxvd41d1wtkBveac2iT",cy:-24.46034584888105,selected:!1,parentId:"Ground",lx:.4,ly:.6,lz:1.72},{selected:!1,rotation:[0,0,0],id:"tSCfpjZEaf2LdYnKVymp8f",cx:-24.035139369880795,cy:-11.60375573934435,normal:[0,1,0],cz:8881784197001252e-31,name:"Judd",type:"Human",parentId:"Ground",lx:.544,ly:.544,lz:1.68},{type:"Human",cy:-26.346953604384606,name:"Jeff",normal:[0,1,0],selected:!1,cx:-14.95104385552803,cz:.10000000074506517,rotation:[0,0,0],id:"649JwdxAWZ8uAmjtuwCu7m",parentId:"Ground",lx:.6,ly:.6,lz:1.65},{id:"v8yuSV55idFvdSiztzVfkc",cz:.10000000074506517,type:"Human",normal:[0,1,0],selected:!1,cy:-25.080741421179635,cx:-1.3149126517891083,rotation:[0,0,0],name:"Joey",parentId:"Ground",lx:.462,ly:.695,lz:1.72},{type:"Tree",name:"Linden",cx:30.437792865488664,cy:-17.386067284775812,cz:-7105427357601002e-30,lx:23,lz:17,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rWrzivW4afibFuZheu2ZqV",selected:!1},{type:"Tree",name:"Birch",cx:-23.798739662505156,cy:3.0810007914333255,cz:0,lx:4,lz:10,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rd1CFzdzbUa21QJwgHv8cP",selected:!1},{type:"Cuboid",cx:-.09692665761748831,cy:-.09694518863336476,cz:10.01793918410506,lx:36.06261166884342,ly:21.672025065737824,lz:18.410192174768163,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["Facade #10","Facade #10","Facade #10","Facade #10","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"aj9AkMLHmiC7fiuGVPs4H7",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-12.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"oHeGQDazJuZsZxKRzGGPDD",selected:!1},{type:"Flower",name:"Hydrangea",cx:-10.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"n7tcVJNYuVeGnjeGQXZtpb",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-8.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"jY9Y4Lm3QMDVY6ThY32QL6",selected:!1},{type:"Flower",name:"Hydrangea",cx:-6.881082445822569,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"ijsBYLU6Xgn2UahtDbM3ax",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-4.881082445822569,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"aMGVaSDxGidE4hAekjvzp1",selected:!1},{type:"Flower",name:"Hydrangea",cx:-2.8810824458225692,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"jNS7CLQtTgERjMBryrJy3f",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-.8810824458225692,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"m5iTV6jNY7ctTerZ1zT3mN",selected:!1},{type:"Flower",name:"Hydrangea",cx:1.1189175541774308,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"obmBrYQNng1HztDQMhFTdF",selected:!1},{type:"Flower",name:"Yellow Flower",cx:3.1189175541774308,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"bX5gWjKNUmXEpNE3CSVo5i",selected:!1},{type:"Flower",name:"Hydrangea",cx:5.118917554177431,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"e1T6XS94X1vuZYnmBeSzv3",selected:!1},{type:"Tree",name:"Birch",cx:-23.930414200652432,cy:-2.885662218323219,cz:8881784197001252e-31,lx:4,lz:10,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"jDrfaAvoEqu7y5suMRTWYc",selected:!1}],oyn={shadowEnabled:!0,showYearlyLightSensorPanel:!1,showStickyNotePanel:!1,mapTilt:0,showSiteInfoPanel:!0,showHeliodonPanel:!1,stickyNotePanelX:6,groundColor:"forestgreen",showWeatherPanel:!1,showDailyLightSensorPanel:!1,heliodonPanelX:-1235,weatherPanelX:0,groundImage:!1,autoRotate:!1,axes:!0,weatherPanelY:0,groundPanelX:0,theme:"Forest",mapWeatherStations:!1,mapType:"roadmap",yearlyLightSensorPanelY:70,mapZoom:16,stickyNotePanelY:0,showGroundPanel:!1,heliodonPanelY:7,yearlyLightSensorPanelX:-905,dailyLightSensorPanelY:15,heliodon:!1,dailyLightSensorPanelX:-19,groundPanelY:0,showMapPanel:!1,cameraPosition:[-16.291066490441285,-43.009068926241156,5.496187293258948],panCenter:[2.1268141574348576,-9.161736732265924,5.496187293258948],orthographic:!1,enableRotate:!0,cameraZoom:12.604988194492185,showInstructionPanel:!0,cameraPosition2D:[4.203619393633803,-8.791827721460434,49.9999912078788],panCenter2D:[4.203619393633803,-8.791777719248431,16660811664248792e-22]},iyn=1,ryn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ayn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},lyn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},syn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},cyn=[""],uyn={docid:Kmn,time:qmn,timestamp:$mn,userid:Qmn,owner:Zmn,email:eyn,world:tyn,elements:nyn,view:oyn,evolutionMethod:iyn,solarPanelArrayLayoutParams:ryn,solarPanelArrayLayoutConstraints:ayn,evolutionaryAlgorithmState:lyn,economicsParams:syn,notes:cyn},dyn="i1UYg29b6kEuhDLMCMNpP5",fyn="11/13/2022 07:17 pm",hyn=1668385042826,pyn="QWecNcxhyvP6j6sBN11hBsfZDau1",gyn=null,myn=null,yyn={longitude:-71.0588801,timesPerHour:20,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},name:"default",orthographic:!1,date:"6/22/2022 2:00:00 PM",latitude:42.3600825,address:"Boston, MA, USA",cameraZoom:15.475618749999999,solarRadiationHeatmapGridCellSize:2,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},Ayn=[{selected:!1,cz:8.856282232714092,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],ly:33.93664889246779,rotation:[0,0,-.0032691065367469463],parentId:"Ground",color:"#ffffff",locked:!0,textureTypes:["Facade #6","Facade #6","Facade #6","Facade #6","No Facade Texture","No Facade Texture"],normal:[0,0,1],lx:13.425069388064955,cx:-6.488470028429835,lz:17.712564465428184,type:"Cuboid",cy:.019620316414646233,id:"aj9AkMLHmiC7fiuGVPs4H7"},{ly:21.367362944163304,parentId:"Ground",textureType:"Foundation Texture #5",id:"nkyNmQGMpysyBAzvoXacg4",normal:[0,0,1],cz:.15,cy:-.6842314918166474,rotation:[0,0,0],locked:!0,selected:!1,cx:7.741690731109698,lx:8.748703583308991,type:"Foundation",lz:.3},{cz:.10000000074505806,normal:[0,1,0],cx:8.66688372110198,cy:-13.746548548931791,type:"Human",parentId:"Ground",rotation:[0,0,0],id:"4Vzhap6VgrCQ5NTbMiLqko",name:"Jacqueline",selected:!1,lx:.43,ly:.6,lz:1.78},{lz:18,id:"68fHvB4gguggDahyWhJ4SX",rotation:[0,0,0],locked:!0,parentId:"Ground",type:"Tree",normal:[0,1,0],lx:20,cz:.10000000074505806,cx:13.623011710923919,selected:!1,name:"Oak",cy:12.95292752972638},{textureType:"Foundation Texture #1",rotation:[0,0,0],normal:[0,0,1],id:"mB2npz1re5TLiTmp6dijK4",selected:!1,cz:.25,parentId:"Ground",lz:.5,cy:-.6991379361374314,locked:!0,lx:.5880095062712664,type:"Foundation",ly:22.361419422277052,cx:12.378216846473736},{textureType:"Foundation Texture #1",lz:.5,lx:8.699592487769063,cx:7.739060103053577,normal:[0,0,1],id:"6VQra4naAQFjguzsdBbGzc",selected:!1,ly:.5266260617381799,locked:!0,cz:.25,rotation:[0,0,0],parentId:"Ground",cy:-11.625239464321695,type:"Foundation"},{cx:7.752694722563858,parentId:"Ground",cz:.25,lz:.5,normal:[0,0,1],id:"56rJdSeQkFjNtFMq7H6UpX",textureType:"Foundation Texture #1",lx:8.679570997286799,type:"Foundation",selected:!1,rotation:[0,0,0],cy:10.194687286684449,ly:.5386483210241274},{id:"eU9g8aGc26unxecmNefMbn",locked:!0,cx:3.0473373691290284,lz:.5,type:"Foundation",normal:[0,0,1],cz:.25,parentId:"Ground",selected:!1,rotation:[0,0,0],ly:22.40023737998388,lx:.7052822924117278,textureType:"Foundation Texture #1",cy:-.7141009093628288},{parentId:"Ground",type:"Human",normal:[0,1,0],selected:!1,cy:-13.302409805647457,name:"June",id:"sRkZkptRmoDxYpUWxicUE2",cx:10.066230625457528,cz:.10000000074505806,rotation:[0,0,0],lx:.65,ly:.65,lz:1.85},{type:"Human",id:"27tFcVkJUEjzAmNC6yi8q6",name:"Jedi",cy:-17.39224604987067,rotation:[0,0,0],parentId:"Ground",cx:11.172877256337918,cz:.10000000074505806,normal:[0,1,0],selected:!1,lx:.56,ly:.56,lz:1.75},{cx:14.572429350273456,cz:.10000000074505762,rotation:[0,0,0],cy:-12.024223980842134,selected:!1,normal:[0,1,0],name:"Jose",parentId:"Ground",type:"Human",id:"h7GsvzmZmQv6Lgxa5TK46V",lx:2,ly:2,lz:1.6},{lx:5,parentId:"Ground",id:"at3dF6SQoavQM2mWXfaQoH",cz:.10000000074505895,rotation:[0,0,0],cy:21.229675112263504,normal:[0,1,0],type:"Tree",cx:1.973403675763489,locked:!0,lz:12,name:"Pine",selected:!1},{textureType:"Foundation Texture #2",id:"6gVMaHq7VLa19eqMVECxpG",ly:52.39119915791477,cz:.05,selected:!1,cx:-.6875232985680384,parentId:"Ground",locked:!0,type:"Foundation",rotation:[0,0,0],cy:2.56875991707771,normal:[0,0,1],lz:.1,lx:37.85599614878349},{cx:7.643885747803793,selected:!1,locked:!0,id:"h8TwAvSyLwtPBvqze5mwzf",lz:9,type:"Tree",cy:-21.507259849637833,parentId:"Ground",rotation:[0,0,0],cz:.10000000074505762,name:"Maple",lx:7,normal:[0,1,0]},{parentId:"Ground",lx:6,locked:!0,type:"Tree",rotation:[0,0,0],normal:[0,0,1],cy:-20.556927102277076,lz:7,cz:.10000000074505762,id:"ujafmePw8rQZjxB8qy62oa",name:"Maple",selected:!1,cx:12.405622304747324},{selected:!1,parentId:"Ground",id:"ckD1BgrHEqvMdo9aEBaYXU",type:"Human",rotation:[0,0,0],normal:[0,1,0],cy:-14.554057740143271,name:"Jaya",cz:.10000000074505806,cx:5.006550016327088,lx:.6,ly:.6,lz:1.55},{rotation:[0,0,0],name:"Judd",cy:-15.073100073321267,cx:12.689715112185674,parentId:"Ground",type:"Human",cz:.1000000007450585,normal:[0,1,0],selected:!1,id:"npocC3zf2QhLeKj6LeXJvL",lx:.544,ly:.544,lz:1.68},{cy:.5804724345884147,rotation:[0,0,0],lz:19.49711020919501,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],cz:9.748555104597505,color:"gray",cx:-2.205872934036133,locked:!0,ly:.8534746756143718,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",lx:.828070336814001,id:"gdcpJkZkVZXJHaDmRtpFtw",selected:!1},{normal:[0,0,1],cz:10.253341514775366,color:"gray",parentId:"Ground",lz:20.506683029550732,type:"Cuboid",selected:!1,id:"wJkGWJoWEXDPm4p9rWMB3a",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,0],ly:.8534746756143718,faceColors:["gray","gray","gray","gray","gray","gray"],cx:-2.105385998729491,lx:.828070336814001,cy:2.869274580105114,locked:!0},{ly:34.489830484403164,cx:-6.481696563939499,type:"Foundation",parentId:"Ground",lz:.3,cz:.15,rotation:[0,0,0],id:"38Wmw6REgfAAEs5HtLXUmy",selected:!1,normal:[0,0,1],cy:.05822819825317893,locked:!0,color:"#666666",lx:13.764674737343674},{relativeAzimuth:0,tiltAngle:.42308540045443915,poleSpacing:3,cx:.39547991802521515,cz:.5000000074505806,lz:.046,id:"2BhUXhGXtbxsUZ6RL3rXMW",trackerType:"None",orientation:"Portrait",pvModelName:"SPR-X21-335-BLK",showLabel:!1,lx:1.046,type:"Solar Panel",foundationId:"6gVMaHq7VLa19eqMVECxpG",poleHeight:2.6,cy:.0004767391535806561,normal:[0,0,1],selected:!1,ly:1.558,drawSunBeam:!1,rotation:[0,0,0],poleRadius:.05,parentId:"6gVMaHq7VLa19eqMVECxpG"},{type:"Flower",name:"Boxwood",cx:14.589782607955689,cy:-5.22248370768526,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"6LyjhRYrjyMM94sWFxmsqL",selected:!1},{type:"Flower",name:"Boxwood",cx:14.487482209296324,cy:-7.284306500015294,cz:.05000000074505628,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cAUoEVfsJryF5CiN2bA6FF",selected:!1},{type:"Flower",name:"Boxwood",cx:14.656720218433037,cy:-3.0619235461512933,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"14ZankHi6YjP8eUwRAzc99",selected:!1},{type:"Flower",name:"Boxwood",cx:14.649968347802723,cy:-.5953981727630122,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cKDzu7CNMKytpxg8x9M4vH",selected:!1},{type:"Flower",name:"Boxwood",cx:14.465946083296767,cy:2.3705809858943816,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2nJegakb4Q3dsnpjrnazGL",selected:!1},{type:"Flower",name:"Boxwood",cx:14.535486123826292,cy:5.258763702004629,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"puhTw5YZiZX1mZayPv7eKr",selected:!1},{type:"Flower",name:"Boxwood",cx:14.562074464646393,cy:-9.421018376024211,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"3aFBjoFzTN38LjxnNVca94",selected:!1},{type:"Flower",name:"Boxwood",cx:14.48848671206672,cy:-11.828589152852121,cz:.050000000745059836,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ksddQtWpUymEExWqGah9pg",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.602082126220235,cy:-10.642654606813768,cz:.05000000074505628,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ftch5sGAxD2dLW85VDsCvD",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.574840162280765,cy:-13.130340588937553,cz:.05000000074506161,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"oVgmk99C2S2KZF2CFR1hGP",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.575588404543318,cy:-8.21343708444617,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"9uo3Ts1QDRhb3aomxt4V2f",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.557819941105063,cy:-6.106389769612514,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"agCMuQbpTFk2RqkwtebyV4",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.556683398866188,cy:-4.0576139533384525,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"aFUE71bDFA2LjkNkJFEuii",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.64239387314273,cy:-1.7994645182621838,cz:.050000000745059836,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"4Z9VuhUNw8DYwRbkqYhoHB",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.529383383564124,cy:.8679517875801537,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"nf7V66G4i2YFWuJXZENckj",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.581939017157946,cy:3.902214931587771,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"kKWrifvQ6fGtZhJmgPvL5X",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.45704330414372,cy:6.704146476013747,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"aL2Uhpp8HT6eUfWcMrtxWr",selected:!1},{type:"Flower",name:"Tall Bush",cx:-8.820527407137332,cy:-21.01555787918438,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"czSxXH8n5KnbYhnZp9414E",selected:!1},{type:"Flower",name:"Tall Bush",cx:-5.64492924344334,cy:-20.928730058607652,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"12s9PdvNM6rnixcYtcjVJm",selected:!1},{type:"Flower",name:"Tall Bush",cx:-2.4233695148043557,cy:-21.043064672162302,cz:.05000000074506161,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"fnbqxsK1LLgKaQxJEJtzGY",selected:!1},{type:"Flower",name:"Tall Bush",cx:.44859084832241436,cy:-21.025210125432253,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"5HDDx2HYGe5rU4vkYUjLkn",selected:!1},{type:"Flower",name:"Tall Bush",cx:-11.802690551407991,cy:-21.134263522232033,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ii2AHuBu7eNYp9zExhjpBk",selected:!1},{type:"Flower",name:"Hosta",cx:13.888302021073589,cy:-23.07433161468632,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ry52Vu3ZtWa5Z5S4Cv3Fns",selected:!1},{type:"Flower",name:"Hosta",cx:13.000536079398454,cy:-23.90262067298287,cz:.05000000074505895,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2KvsyZDeNBQ15oEbTBWXTQ",selected:!1},{type:"Flower",name:"Hosta",cx:12.99992231969237,cy:-22.436277503833722,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"sBdHaZQt67kBAXxPrttrkC",selected:!1},{type:"Flower",name:"Hosta",cx:7.96155182885969,cy:-24.919269939427444,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"rErTYG7fvCUCgbP8phnFpb",selected:!1},{type:"Flower",name:"Hosta",cx:8.302339884724876,cy:-23.511029051299055,cz:.05000000074506161,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"qREs5pGeMh2bn8266bra52",selected:!1},{type:"Flower",name:"Hosta",cx:12.046100627532674,cy:-23.058422241294327,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cFutgv9ep2vsCmwtcQ32FT",selected:!1},{type:"Flower",name:"Hosta",cx:7.459817492896914,cy:-23.89304923816075,cz:.050000000745059836,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"meCdn2mUx41JAdUmabe62e",selected:!1},{type:"Flower",name:"Hosta",cx:8.773287043648144,cy:-24.33842489149061,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"1zHSSdp6WfVgSDgmVd5A2g",selected:!1},{type:"Flower",name:"Peony",cx:15.825630097786828,cy:-25.16699394950085,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"xi2HuxsfZQnvPjTKPQxrbF",selected:!1},{type:"Flower",name:"Peony",cx:16.48091229260942,cy:-24.316745367707185,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2Ake4uxrZPD3VybPtfduv3",selected:!1},{type:"Flower",name:"Peony",cx:16.886960727664686,cy:-25.34224361063938,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"4obU3fsBjpjfoLx69cK5C6",selected:!1}],wyn={heliodonPanelY:7,heliodon:!1,stickyNotePanelX:6,showHeliodonPanel:!1,yearlyLightSensorPanelX:-905,enableRotate:!0,dailyLightSensorPanelY:15,mapZoom:16,weatherPanelY:0,cameraZoom:15.47561875,groundPanelX:0,showSiteInfoPanel:!0,showYearlyPvYieldPanel:!1,stickyNotePanelY:0,yearlyLightSensorPanelY:70,showYearlyLightSensorPanel:!1,axes:!0,orthographic:!1,showWeatherPanel:!1,cameraPosition:[31.71971744843037,-16.83871990124489,7.439938736584827],mapTilt:0,showMapPanel:!1,autoRotate:!1,groundPanelY:0,mapWeatherStations:!1,showGroundPanel:!1,groundColor:"forestgreen",panCenter:[-1.577685546422091,.586908253253759,7.439938736584823],showInstructionPanel:!0,heliodonPanelX:-1235,dailyLightSensorPanelX:-19,shadowEnabled:!0,showStickyNotePanel:!1,showDailyPvYieldPanel:!1,groundImage:!1,mapType:"roadmap",showDailyLightSensorPanel:!1,theme:"Forest",weatherPanelX:0,cameraPosition2D:[.8790434579553117,3.516123829597026,50.00000351630349],panCenter2D:[.8790434579553117,3.5161738318194917,35163301233325335e-22]},vyn=1,xyn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},byn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Syn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Tyn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Pyn=[""],Cyn={docid:dyn,time:fyn,timestamp:hyn,userid:pyn,owner:gyn,email:myn,world:yyn,elements:Ayn,view:wyn,evolutionMethod:vyn,solarPanelArrayLayoutParams:xyn,solarPanelArrayLayoutConstraints:byn,evolutionaryAlgorithmState:Syn,economicsParams:Tyn,notes:Pyn},Ryn="pxi9S4wGaGxiW2Q28M7prc",Hyn="06/18/2023 07:07 pm",Myn=1687129633099,Iyn="QWecNcxhyvP6j6sBN11hBsfZDau1",zyn=null,Dyn=null,Eyn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Miami, FL, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:25.7616798,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-80.1917902},kyn=[{type:"Wall",cx:-.5738138595304036,cy:4.010364625861682,cz:2.2408122612280286,lx:18.01575243966671,ly:.3,lz:9,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[8.434062360302951,4.010364625861682,.1],rightPoint:[-9.581690079363758,4.010364625861682,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.633496307266332,rightUnfilledHeight:4.633496307266332,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:8.434062360302947,cy:.16844568443230257,cz:2.2301039869226305,lx:7.683837882858757,ly:.3,lz:9,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[8.434062360302942,-3.673473256997076,.1],rightPoint:[8.434062360302951,4.010364625861682,.1],relativeAngle:1.5707963267948957,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.81107858935271,rightUnfilledHeight:4.81107858935271,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-9.581690079363758,cy:.16844568443230257,cz:2.228839888904333,lx:7.683837882858757,ly:.3,lz:9,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-9.581690079363758,4.010364625861682,.1],rightPoint:[-9.581690079363758,-3.673473256997076,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.538993236656353,rightUnfilledHeight:4.538993236656353,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-.5738138595304036,cy:-3.673473256997076,cz:2.268765007024547,lx:18.01575243966671,ly:.3,lz:9,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-9.581690079363758,-3.673473256997076,.1],rightPoint:[8.434062360302951,-3.673473256997076,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Foundation",cx:1.328107295365207,cy:-2.32341538525935,cz:.05,lx:20.16561856842383,ly:11.725607943394946,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!0},{type:"Wall",cx:.31845175389180724,cy:5.51114190784781,cz:2.2408122612280286,lx:18.813654239419552,ly:.3,lz:4.56796601625556,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[9.725278873601583,5.51114190784781,0],rightPoint:[-9.088375365817969,5.51114190784781,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:9.725278873601583,cy:-.00976103700472608,cz:2.2301039869226305,lx:11.04180588970507,ly:.3,lz:4.56796601625556,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[9.72527887360158,-5.530663981857262,0],rightPoint:[9.725278873601587,5.51114190784781,0],relativeAngle:1.570796326794896,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:-9.088375365817967,cy:-.00976103700472608,cz:2.228839888904333,lx:11.04180588970507,ly:.3,lz:4.56796601625556,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-9.088375365817964,5.51114190784781,0],rightPoint:[-9.088375365817969,-5.530663981857262,0],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:.318451753891809,cy:-5.530663981857262,cz:2.268765007024547,lx:18.813654239419556,ly:.3,lz:4.56796601625556,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-9.088375365817969,-5.530663981857262,0],rightPoint:[9.725278873601587,-5.530663981857262,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Foundation",cx:.4107313024346143,cy:-1.9585431776860986,cz:.06,lx:24.334060214728257,ly:12.759991395526452,lz:.1370389804876668,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!0,enableGroupMaster:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],ridgeWidth:.5,textureType:"No Roof Texture",color:"#f44e3b",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wCPmoV4VwkScF5K7cf32UD",rise:.3478700995805717,ceiling:!1,locked:!0},{type:"Door",cx:-.13288221247108084,cy:0,cz:-.14054209286568672,lx:.2126115399537293,ly:0,lz:.7189158142686265,doorType:"Arched",archHeight:1.5,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fTMHecXmkxoFyi5nVgZruF",filled:!1,locked:!0},{type:"Door",cx:.10630576997686465,cy:0,cz:-.14054209286568672,lx:.21261153995372933,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.429004247968055,normal:[0,1,0],rotation:[0,0,0],id:"thTY63emBWLui9mLZFtB5x",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Door",cx:-.3587819736719182,cy:0,cz:-.14054209286568672,lx:.18603509745951316,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.5,normal:[0,0,1],rotation:[0,0,0],id:"r7aX4f3HRkVXuNQaRxbPi1",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Door",cx:.3454937524248102,cy:0,cz:-.14054209286568672,lx:.21261153995372936,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.5000000000000002,normal:[0,1,0],rotation:[0,0,0],id:"h7dwAP8dsZbfjhXMRt294q",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Window",cx:-.34549375242481023,cy:.1,cz:0,lx:.05315288498843229,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.13288221247108084,cy:.3,cz:0,lx:.05315288498843234,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.13288221247108084,cy:.3,cz:0,lx:.05315288498843232,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Door",cx:-.3746721111208206,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,doorType:"Default",archHeight:1,textureType:"Door Texture #1",color:"#73d8ff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"ecLTLgAm2MxZyZRCJTtQKo",filled:!0,locked:!0},{type:"Door",cx:-.15264419341959357,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bEeuNKM57K5x42NhRniwi6",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Door",cx:.12489070370694019,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"qEKCQ7EzsMMEDG8bv8fsum",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Door",cx:.3746721111208206,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"8wkxpiMCThpy9pWENNkhKk",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Window",cx:-.3746721111208206,cy:.1,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"9Wg9qQLxZfpvdDjZ2VpjsU",locked:!0},{type:"Window",cx:-.12489070370694019,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rj3NsBy5xBcFQpgf9yTyXN",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Window",cx:.12489070370694019,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hdSr1YZAyCNR6oUkaHZMAg",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3746721111208206,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"asxeUzs2NaJ78jjx63TyyC",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["hndwqtrrygFvfqvBJrvZYu"],textureType:"No Roof Texture",color:"#f44e3b",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cgHKR8ai6snf9XinDUWwjd",leftRidgeLength:4.503938109916677,rightRidgeLength:4.503938109916677,rise:2.5896529887286306,ceiling:!1,locked:!0},{type:"Human",name:"Jeanette",cx:.8591126899329264,cy:-9.396182210960866,cz:0,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"85Scr5g8mYtCpbKgKe9vrB",selected:!1,flip:!0,ly:.4,locked:!0},{type:"Human",name:"Jacob",cx:-.10555204032261312,cy:-9.416124087799197,cz:0,lx:.8,lz:1.82,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"3vrVERckAPTLoMt9TNeS2S",selected:!1,ly:.8,locked:!0},{type:"Window",cx:.34549375242481023,cy:.3,cz:0,lx:.05315288498843234,ly:.3,lz:.4378316285372531,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"cspu4NZcKs2zheso8YnaAG",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3607953662644939,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"vDt9VGvnvU9vePAfrLQMYJ",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16652093827592027,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"hYQQWiCSxQgqR2XiFwQcHB",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1387674485632669,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"hgcEVbECbXF3rdyRi8jL7y",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3885488559771473,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ih1JWVrGZLFL47MHERTzyn",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1952149463416227,cy:.1,cz:.2777777777777778,lx:.13014329756108178,ly:.3,lz:.2222222222222222,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"uACfjsfx3oFuHFL2K4wn6s",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1952149463416227,cy:.1,cz:.2777777777777778,lx:.13014329756108178,ly:.3,lz:.2222222222222222,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"jUW859PMX9WssNh7ajd7bW",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26028659512216357,cy:.1,cz:.2777777777777779,lx:.13014329756108178,ly:.3,lz:.22222222222222243,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9GK118ZSrqGs81r2c9DmJ9",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.26028659512216357,cy:.3,cz:.2777777777777777,lx:.13014329756108178,ly:.3,lz:.22222222222222243,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qMSMFHr6W7JY5LW4w6QRRk",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Tree",name:"Coconut",cx:-13.833956304562825,cy:-5.734368757546395,cz:0,lx:10.296431730851847,lz:14.247937869417774,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"dhdL6enwuq52BCva98npwA",selected:!1,locked:!0},{type:"Tree",name:"Coconut",cx:-16.03648257210165,cy:-7.577405253611644,cz:-8881784197001252e-31,lx:6.4568591564721105,lz:8.433084547651115,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"oX2XaCFnUgccQdVNREDqjW",selected:!1,locked:!0},{type:"Tree",name:"Fan Palm",cx:15.143629921921018,cy:-10.9460234939345,cz:0,lx:5.636076310522914,lz:7.988346597759666,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gbweDZRVxLwqky2axf7Y8q",selected:!1,locked:!0},{type:"Tree",name:"Fan Palm",cx:14.372021459439786,cy:-8.787207002242742,cz:0,lx:6.791895714508713,lz:10.21869909939493,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sf29WMk4BaTsfLzkZNmVzH",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:2.428817756541367,cy:-10.484144416604128,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9DZLwc5PTpq9K9kFVPWuDb",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.9808700560460073,cy:-10.456723771199588,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"tbLKA9nAkR1p2Y51NnR7Hz",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-6.50706138180835,cy:-10.311129925272937,cz:-8881784197001252e-31,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mwwbjydsGANpRKQR1fPW3q",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:6.571598639052613,cy:-10.492326870561346,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c8AcvQkEYah3BNHFPjZ6U4",selected:!1,locked:!0},{type:"Polygon",cx:.039567390445074416,cy:-.26884665270178654,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.18603509745951316,y:-.4378316285372531},{x:-.18603509745951316,y:-.21891581426862655},{x:.23918798244794548,y:-.21891581426862655},{x:.2395673904450744,y:-.46884665270178655}],parentId:"roDDPncXBpNgmNum9aUaov",parentType:"Wall",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!0,selectedIndex:0,id:"jaEQvTPeDh2m31LB8RsyFG",text:"SPANISH TAVERN",fontSize:.7,fontColor:"gold",fontOutlineColor:"red",fontOutlineWidth:.05,noOutline:!0,opacity:0}],Fyn=24,Lyn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.12159863905262133,-1.1671768638939548,-12172309664404964e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.12159863905262133,-1.1673268705613518,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.450909722303011,-23.613178769130574,4.500139724117738],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:20.00000000000001,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[1.616638405874658,1.2781230776372128,4.313092868911078],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},Wyn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Nyn=1,Uyn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Byn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},jyn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Yyn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Oyn="Unknown",_yn=null,Vyn=null,Gyn=null,Xyn=[],Jyn={docid:Ryn,time:Hyn,timestamp:Myn,userid:Iyn,owner:zyn,email:Dyn,world:Eyn,elements:kyn,sceneRadius:Fyn,view:Lyn,graphState:Wyn,evolutionMethod:Nyn,solarPanelArrayLayoutParams:Uyn,solarPanelArrayLayoutConstraints:Byn,evolutionaryAlgorithmState:jyn,economicsParams:Yyn,modelType:Oyn,modelAuthor:_yn,modelLabel:Vyn,modelDescription:Gyn,notes:Xyn},Kyn="8zyJg4GHQPZX9C7UX4st8J",qyn="03/18/2023 08:26 pm",$yn=1679185608583,Qyn="QWecNcxhyvP6j6sBN11hBsfZDau1",Zyn=null,e2n=null,t2n={solarRadiationHeatmapGridCellSize:1,date:"12/22/2022, 8:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Honolulu, HI, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:21.3098845,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-157.8581401},n2n=[{ly:16.927339965869773,solarUpdraftTower:{},parentId:"Ground",cx:-10.030961003153333,id:"m7AH7DcnoGzAq9kryBy4RS",cy:25.06053757796986,type:"Foundation",solarPowerTower:{},lx:36.13676163604105,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,-.7727629180414017],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:25.078696453594382,relativeAngle:3.141592653589793,lz:30,roofId:"1rg4qXk51s2D35ph8XqwbD",ly:.1,rightPoint:[-7.080024662598481,7.041260263727929,0],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,-.7727629180414017],textureType:"No Wall Texture",leftPoint:[17.998671790995903,7.041260263727929,0],type:"Wall",normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.459323564198711,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:7.041260263727929,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:17.998671790995893,leftPoint:[17.99867179099588,-4.904184303905874,0],cy:1.0685379799110275,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[17.998671790995903,7.041260263727929,0],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:11.945444567633803,normal:[0,0,1],lz:30,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,-.7727629180414017],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948946,textureType:"No Wall Texture",roofId:"1rg4qXk51s2D35ph8XqwbD",color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{lx:11.945444567633803,windows:[],lz:30,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"1rg4qXk51s2D35ph8XqwbD",selected:!1,cy:1.0685379799110275,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-7.080024662598481,-4.904184303905874,0],normal:[0,0,1],rotation:[0,0,-.7727629180414017],textureType:"No Wall Texture",parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948966,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-7.080024662598481,7.041260263727929,0],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",ly:.1,cx:-7.080024662598481,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{showLabel:!1,cx:5.459323564198711,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[17.998671790995903,-4.904184303905874,0],cz:2.268765007024547,textureType:"No Wall Texture",cy:-4.904184303905874,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"1rg4qXk51s2D35ph8XqwbD",leftPoint:[-7.080024662598481,-4.904184303905874,0],normal:[0,0,1],ly:.1,lz:30,relativeAngle:0,rotation:[0,0,-.7727629180414017],lx:25.078696453594382,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:7.840470874398735,cy:5.490428888324286,cz:2.2408122612280286,lx:16.75500291983642,ly:.1,lz:40,leftJoints:["aJzBKycDgPV2XFyreGUWbN"],rightJoints:["q3QyrcfYtaEUJUy3dDMe3o"],leftPoint:[16.217972334316947,5.490428888324284,.1],rightPoint:[-.5370305855194735,5.490428888324285,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"ajX6DE1iwh52m5aYDEnUZw",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:16.217972334316944,cy:-4.464643680942036,cz:19.195539088325102,lx:19.91014513853265,ly:.1,lz:40,leftJoints:["vZvx6xJpNjwVutXgBYTqDu"],rightJoints:["ajX6DE1iwh52m5aYDEnUZw"],leftPoint:[16.21797233431694,-14.41971625020836,.1],rightPoint:[16.217972334316947,5.490428888324284,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"aJzBKycDgPV2XFyreGUWbN",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Window",cx:-.3867375122795052,cy:.1,cz:.10625,lx:.22099286415971733,ly:.3,lz:.7125,mullion:!0,mullionWidth:.06,mullionSpacing:3,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wAVcmtVfsGGWzQD4FYwZNW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.44375,lx:.47714368398120766,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"u5BLpPtdFZZZhqt5769cX6",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.44375,lx:.10045130189078055,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3kDRvtG74CSaYS7Hdz4Zf9",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-.537030585519473,cy:-4.46464368094204,cz:2.228839888904333,lx:19.91014513853265,ly:.1,lz:40,leftJoints:["ajX6DE1iwh52m5aYDEnUZw"],rightJoints:["vZvx6xJpNjwVutXgBYTqDu"],leftPoint:[-.5370305855194735,5.490428888324285,.1],rightPoint:[-.5370305855194752,-14.419716250208367,.1],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"q3QyrcfYtaEUJUy3dDMe3o",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:7.840470874398735,cy:-14.419716250208364,cz:11.720703078908016,lx:16.75500291983642,ly:.1,lz:40,leftJoints:["q3QyrcfYtaEUJUy3dDMe3o"],rightJoints:["aJzBKycDgPV2XFyreGUWbN"],leftPoint:[-.5370305855194752,-14.419716250208367,.1],rightPoint:[16.21797233431694,-14.41971625020836,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"vZvx6xJpNjwVutXgBYTqDu",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.44375,lx:.4774693289088429,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jqoCSv6SGc3CUNj2d3NntP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3879438297384349,cy:.1,cz:.44375,lx:.11936733222721073,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fHoEdLPaiDXqCueBgeDdLS",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.36813175214922683,cy:.1,cz:.10500000000000001,lx:.24254861996467425,ly:.3,lz:.7150000000000001,mullion:!0,mullionWidth:.06,mullionSpacing:3,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cDtJU4W55HjRmy9cDhmm6R",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Jett",cx:22.405208091244,cy:-4.9072672102145285,cz:.07500000298023225,lx:.6,ly:.6,lz:1.85,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"fbbzRkZEo4AnT3QEsWR9oP",selected:!1},{type:"Foundation",cx:9.883909213954574,cy:18.92966595365953,cz:.075,lx:78.43901005555475,ly:71.09926407060658,lz:.15,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["q3QyrcfYtaEUJUy3dDMe3o","vZvx6xJpNjwVutXgBYTqDu","aJzBKycDgPV2XFyreGUWbN","ajX6DE1iwh52m5aYDEnUZw"],textureType:"No Roof Texture",color:"#666666",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"gvRT2kUN1YoGCZrBAosc54",locked:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.3,lz:.04999999999999994,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#009ce0",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hXDYrzLkVvDyB5XjtNmnpF",locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.36875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rG1B3YDka8evv1iRX84o9o",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.2937500000000002,lx:.4774693289088429,ly:.1,lz:.037499999999999645,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3UNoma1dXsmygDK7CEMoeK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.21875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sd3EQKPdzkdU4oHrJHF6z6",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.14375,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tdS8P8P3u1nFnMkc5rhziK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.06875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fot8pwtoi6ibSjPGupS1qv",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.00625,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6EhGwMTuUYnqbTApuPextU",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.08125,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mQ1vMy6wk1K8zQ4XW25Pa4",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.15625,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xeQKnySzuUrMzG5a16tLkb",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.23125,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5XDU9fVCRxTJLcDoUD9Lh9",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["8XDG3EHsQoX26MhuzwMYUM","2u4Fe7xnA6kkXXVGrQ4eyJ","skm8dNPSkFaVkoUwiPNfq1","cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#666666",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1rg4qXk51s2D35ph8XqwbD",sideColor:"#666666",rise:0,ceiling:!1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"veFj2RPH9FK5Ao9iDG2JPQ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sjoT9VNZjDkgezWwtsvX1H",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"c3CrejqQvGUvB3tz2qUtSs",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"54CDd5MyTY1sZku1AxjXiV",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bnfcGzXENjbkzh9kkmgCt1",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hLoimJgy8UQ7UMWdnPWQDr",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7HFCb3ZQu4czKjDhFmnHch",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qWx6AJBVMGYPJ4Ho1LMQem",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9CtXe67uSkntiJK3PdfzmF",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jmVdqwU3fqhEGk97aQXYEX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wdnnALggwiP7UHfVhF7SWW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9qSb4G4eXKMLNk6b2Mnxjd",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fbXTujX2nC1dnrTNLQQaH2",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kPmU38jjwSfUUZCv9WNCNC",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"miYw9uqZnfLViAeihqKiQU",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mdv9UVbG7EBitFdaYUkjsg",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"urvoEGE7cTq18MHrjMtEta",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aG4F7poaBiKo4FnvkesMid",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"dpGTcBMRjsfms2X9nZ4kXB",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"r72et61W5MhwpaYEF75Lh8",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kfBYaXYAWc8NFLir41LMUf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sZ9pExZ3wnnmg8ersouQqR",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hsgq2SXxdCMQRiXuigpEnf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4cJ8Pgng6fBXRTX8WcXQVg",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bsGPA2UqEVe6SNCXBuagSF",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qoRwFevwZ3YYSnDdJLoDqH",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4WEcGq6tGKDXcjGfvF3Tqi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ofgYdgnyE5KuECDZGdmjFD",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pHYCjB2xdehwowhrgYcS5c",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3Q2Wqp4rsyN89CVgnpPKCM",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oVMnTwRZ8JUb44CXEkjBYL",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"awSE1XUqEZc7Ryyr6ZQ76Y",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rVMR7tb7kXRnjoKHu2uyrZ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ktvktsYRNrNC4YQGJQ65Vk",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mDgZnRfoyVP2YKQSiG96yP",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rZqeq8wo58QSrFmB3rpFBD",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kQER8EGDmLkbzKEnbH9AdE",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pHvp5WhRnmKrP1SER1BBPx",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aZrgq675xDvSLbDtUdwQsY",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jKtw1tdxJxcJphjEsWRmNW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jgu4jSQaAhhuBZyZoH81Vw",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gL3MbkYAkwWqHwKNVFfvjX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"43vK33D69FP5XTqiRyn5ZC",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5CKwKV9BkacegVoEPzvmNN",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6dszW4NvJ7dea2hEqvWvWt",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5wUE7YuTr5FaL5BKb5taCi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gUSBkoburdStT335zZGKSH",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qaz6Ru4mqUG7iJ4Ycd7F9n",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aC9jXjoijXwkzJe9GEmTWi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"w4NVxvubCEgR8AigUi47sf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"c2FMW9zjWRExPvuVGBX4HW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"66P3KrsZHSZo36fXBYj8qX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kNFB5Lqn3mkhGj4vWLcpup",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"egzr7tMm23v6EusXDcg5hk",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fg88qYi3xQqiUry3XoMG94",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3879438297384349,cy:.1,cz:.36875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tfzr5KT4W9PhBL9cJ8zsaA",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.29375,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"i6H6Xevamb9d4oXjeQCCVQ",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.21875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5XFRaVZReMkHmTkTRTsRuW",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.14375,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"57X6pPozmTcJNsHjWMZ2XK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.06875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8bZz4FqqQe2bdV4WSMC6jm",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.39520439262152746,cy:.1,cz:-.006462001517518967,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gFyWDsDvxmZLpfKAZSAYx5",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.08125,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aEb8cJ6YhMAb9KuP8VjgKP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.15625,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vWo8aVFrScBkGwhkRkYbFw",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.23125,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ukpSgR2RV34eo2XfZVmUQx",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.36875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"12QeRFNV1Hc4sRbkxeVHBz",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.29375,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aEhEPB9abuMwcNR6YEDDzo",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.21875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bahcDPtF8RkBJeqyW4uoBW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.14375,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"j8CVLpwpSN8q6CwaZNU8f2",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.06875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xaiGSGs8MoAP2yqunEFz1t",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.00625,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"2mWxcnyFJtKcRwpimCotCD",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.08125,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7fehkUWZ89tU27wVPAaQiD",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.15625,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cLjpkvrCHbUZQvi2ugMz7m",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.23125,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"775gLWKQ2CDxL24uAyMuJh",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.36875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sG6LtKnafZHdzPAsvV8PYJ",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.29375,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3JLF3stSYMjoSYPebvZ4PV",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.21875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hs4CReuowYw4vhbQaajr1c",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.14375,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7q37MBnhP8o81q6wk5b4ev",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.06875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fYYQri43bTWAWzKm8CTjgx",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.00625,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vVphvZY7TyNxocgdqGbqJG",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.08125,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1x6vFAj3oANsndJiQWQqch",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.15625,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"amqZLKSwPYeveasoE38xPf",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.23125,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8pqGLYqiyyd3o5U4oTyKWQ",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-.6029509196285296,cy:4.363723699614781,cz:2.2408122612280286,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["buJzWWqdvseWMEsfiYMLMP"],rightJoints:["8SHv6CAA9xkRcfdve2aKJD"],leftPoint:[18.815291063862595,4.363723699614781,.02095211693261273],rightPoint:[-20.021192903119655,4.363723699614781,.02095211693261273],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"pbHN78JfkaYPi761T2RspW",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:18.815291063862578,cy:2.495382831879124,cz:2.2301039869226305,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["cthH5Q4t9AqYehpe6ssXrf"],rightJoints:["pbHN78JfkaYPi761T2RspW"],leftPoint:[18.815291063862563,.627041964143467,.02095211693261273],rightPoint:[18.815291063862595,4.363723699614781,.02095211693261273],relativeAngle:1.5707963267948881,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"buJzWWqdvseWMEsfiYMLMP",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-20.021192903119655,cy:2.495382831879124,cz:2.228839888904333,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["pbHN78JfkaYPi761T2RspW"],rightJoints:["cthH5Q4t9AqYehpe6ssXrf"],leftPoint:[-20.021192903119655,4.363723699614781,.02095211693261273],rightPoint:[-20.021192903119655,.627041964143467,.02095211693261273],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"8SHv6CAA9xkRcfdve2aKJD",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-.6029509196285296,cy:.627041964143467,cz:2.268765007024547,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["8SHv6CAA9xkRcfdve2aKJD"],rightJoints:["buJzWWqdvseWMEsfiYMLMP"],leftPoint:[-20.021192903119655,.627041964143467,.02095211693261273],rightPoint:[18.815291063862595,.627041964143467,.02095211693261273],relativeAngle:0,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"cthH5Q4t9AqYehpe6ssXrf",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{id:"pHTF23CfLXLueNE1tagt35",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["buJzWWqdvseWMEsfiYMLMP","pbHN78JfkaYPi761T2RspW","8SHv6CAA9xkRcfdve2aKJD","cthH5Q4t9AqYehpe6ssXrf"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:-2.457987770512858,cy:8.5745044622651,cz:.05,lx:43.13213840818644,ly:9.617341850294016,lz:.02095211693261273,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qxAJALKsgHR99QXiiey2Jy",selected:!1},{type:"Window",cx:.23817810098010178,cy:.1,cz:-.03125,lx:.5021051858499441,ly:.1,lz:.8125,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#4d4d4d",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",id:"wvo4rWSpdYajq7orMpbxwv",windowType:"Default",archHeight:1},{type:"Window",cx:-.1094331815313981,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#4d4d4d",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",id:"7yzuNTr1nHZ9M3xoVT6avS",windowType:"Default",archHeight:1},{type:"Window",cx:-.4570444640428979,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5QTwW8m9wGX6HGnbLPxKyJ",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.39910925029098127,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hs42cyfWo4jmy3NRKUXRUF",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3411740365390646,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xwaNrD73kLoXPJvKgQmEMf",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2832388227871479,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5fsUwbpNYhCT9veH1pJuBb",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.22530360903523122,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"67uFrhX3jmZgG5Uwx5UZkn",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.16736839528331454,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9c8dBuEjRjp1p1S8dhEcnt",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-1.4056682810734662,cy:6.875194394376913,cz:2.2408122612280286,lx:25.078696453594382,ly:.1,lz:30,leftJoints:["dzHmrowq7VzT13tXyJ2UqF"],rightJoints:["pHKTjESURrdXxEMpYFEvmj"],leftPoint:[11.133679945723728,6.875194394376912,.1],rightPoint:[-13.945016507870662,6.875194394376912,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"sVQKrHhSTfNeVTVVzVgh8h",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:11.13367994572371,cy:.9024721105600149,cz:2.2301039869226305,lx:11.945444567633803,ly:.1,lz:30,leftJoints:["knjx4z8fKUVQF38Tr2D5YR"],rightJoints:["sVQKrHhSTfNeVTVVzVgh8h"],leftPoint:[11.1336799457237,-5.070250173256886,.1],rightPoint:[11.133679945723728,6.875194394376912,.1],relativeAngle:1.5707963267948946,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"dzHmrowq7VzT13tXyJ2UqF",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-13.945016507870664,cy:.9024721105600122,cz:2.228839888904333,lx:11.945444567633803,ly:.1,lz:30,leftJoints:["sVQKrHhSTfNeVTVVzVgh8h"],rightJoints:["knjx4z8fKUVQF38Tr2D5YR"],leftPoint:[-13.945016507870662,6.875194394376912,.1],rightPoint:[-13.945016507870662,-5.070250173256887,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"pHKTjESURrdXxEMpYFEvmj",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4056682810734649,cy:-5.0702501732568885,cz:2.268765007024547,lx:25.078696453594382,ly:.1,lz:30,leftJoints:["pHKTjESURrdXxEMpYFEvmj"],rightJoints:["dzHmrowq7VzT13tXyJ2UqF"],leftPoint:[-13.945016507870662,-5.070250173256887,.1],rightPoint:[11.13367994572373,-5.070250173256887,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"knjx4z8fKUVQF38Tr2D5YR",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Window",cx:.4386192887000486,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uJ5VXB9mJCHeVMURUphT8T",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wnK1hkWv21nCd1Utptm2Ei",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pEvywZty9TJkaURwjtVySg",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tWq4HyTuGAuAN6dd6GPS2N",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"24XsGn6puXsJxiC1CXzcBv",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pkcczmXvVUiEdpQApgmexY",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sa92opTQVGVahjcKdrQYNu",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"75MHEhXJJecJXb1MEFATcp",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6nqrXQt9q6iMswTzGidgHb",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"b1foK7N1uzozAzTNBXGmZB",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"nJJ7PvwzGmhWVcxY9bet36",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vj5w5TDBurYnrHfJcc9FLw",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qYve9T714wdvYeg4ZURztj",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"u95CGNREXr1JhsDomK6oUP",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h31BtoerjLiQ4Ph2duYsTc",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9dxvQwRi6mWsaWRPC67F9D",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rjRNUHYRmb3eWDV9hgNPgk",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9S42HWD1ZPYw28WUgncNJg",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6z3whdKeQxDdJsZmhQ5kkh",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oJTfPHNAtBzrf2iJENqHK6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"31jBrsSiuVnoBUL9zp8ca6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4MbQ64c8HUZrvfYs3kgE6b",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8EW5KxGCVAJwrRFzn2isg8",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pFyHWVuvzXQH1TQ1JhYRAx",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8AjjyhHzBJtzfxgCpuWX7d",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"s1sVDPm2cHt3fumjgcwoek",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wvpWMkzuKAKaviPUsqwQGa",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4inH8BAKWrcqZKNbaRb4ZX",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fsV7H7ZmN4jx2WUQX2f5zs",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"55E9hvsT1rzmJ6fT3m6NcG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uKLeQgpSELANVT2TRKNsAf",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"nY9NDsN8rJhMi99gzYKtWJ",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5uo11zCRNj9YohSCdvoz6U",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1Kr3EHJrBneewC46BaE2Ph",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ov5R5oyJBGiQGjspTURXyd",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jaeqZUoGssJAoAxW2E91xj",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"dYrh6yCuHp4rN3uYNhLJPq",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eJmoE9srUeuBcYJBZHqYQ6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wniuB8XsQisBLpGGqQxkBF",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"o4XtWQqdKQ78Q8CKjzjKHW",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7s5FfAfve61p7zKukxPALw",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8gF1BVyyyBHomFZH7wzdah",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"e8uDpgzMYfsmnhjaNLhBhr",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fzA8v8aP7HzsfsJ5jvVku9",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gPBz88neav7bwpPYBatUzf",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bLjvQy84YUL9NshZ2ECHsZ",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wy5NXYh5x3qLXD7T41WQtG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"urCTjPq8RemHnQPB5atkfH",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ijGpbm5vZNXcurEfDWRTEi",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gFaxtGtjGoAmXwz4kcD2mV",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eNkrUnU9y5cm2pN62nhxuL",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5xow2hbgFrKWpxhPpsF2oG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ittnJX2spdpmthzEKvTSta",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h4grVoSbeCwgTF2pxNsMb8",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cSY4kfnQdndkFPFy82Fgbc",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tXgqNm5fVVjFB6dfyXDq3i",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{id:"njRXPjHAzFuEQzFQaKio93",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["dzHmrowq7VzT13tXyJ2UqF","sVQKrHhSTfNeVTVVzVgh8h","pHKTjESURrdXxEMpYFEvmj","knjx4z8fKUVQF38Tr2D5YR"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:31.408586983997502,cy:25.06147299717385,cz:.05,lx:29.014724156297994,ly:16.595208227167745,lz:.1,normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bPEF7Uhqc8jpoTSmhKDVeo",selected:!1},{type:"Wall",cx:-2.172089616054159,cy:4.269527680689553,cz:2.2408122612280286,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["sR2ork3jG2mR5nZkK6KFeD"],rightJoints:["wRcqTTshgLb8rN6th4Gpqm"],leftPoint:[17.246152367436963,4.269527680689554,.02095211693261273],rightPoint:[-21.590331599545284,4.2695276806895555,.02095211693261273],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"k9HzM68Yarpc7nfmHcL8RX",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:17.24615236743695,cy:2.4011868129538962,cz:2.2301039869226305,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["3VZZxMzA1BHxrWmzs6HKLa"],rightJoints:["k9HzM68Yarpc7nfmHcL8RX"],leftPoint:[17.246152367436935,.532845945218239,.02095211693261273],rightPoint:[17.246152367436963,4.269527680689554,.02095211693261273],relativeAngle:1.5707963267948881,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"sR2ork3jG2mR5nZkK6KFeD",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-21.590331599545284,cy:2.4011868129538976,cz:2.228839888904333,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["k9HzM68Yarpc7nfmHcL8RX"],rightJoints:["3VZZxMzA1BHxrWmzs6HKLa"],leftPoint:[-21.590331599545284,4.2695276806895555,.02095211693261273],rightPoint:[-21.590331599545284,.5328459452182401,.02095211693261273],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"wRcqTTshgLb8rN6th4Gpqm",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-2.1720896160541585,cy:.5328459452182414,cz:.5,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["wRcqTTshgLb8rN6th4Gpqm"],rightJoints:["sR2ork3jG2mR5nZkK6KFeD"],leftPoint:[-21.590331599545284,.5328459452182401,.02095211693261273],rightPoint:[17.246152367436963,.532845945218239,.02095211693261273],relativeAngle:0,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"3VZZxMzA1BHxrWmzs6HKLa",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Window",cx:-.1094331815313981,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5Fjqy9y1YfpweWd3F1suvT",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.32829954459419425,cy:.1,cz:-.03125,lx:.3218622986217591,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"75HCZhhPHELWXwGW5h2WPD",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{id:"pZTS1LtmxQ4iRLvvo2k6FG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["sR2ork3jG2mR5nZkK6KFeD","k9HzM68Yarpc7nfmHcL8RX","wRcqTTshgLb8rN6th4Gpqm","3VZZxMzA1BHxrWmzs6HKLa"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:27.68901540648673,cy:11.617892532194158,cz:.05,lx:46.2704158010377,ly:9.428949812443559,lz:.02095211693261273,normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mEAgnYYx5Vpv2wQEcaoDS8",selected:!1},{type:"Window",cx:-.05149796777948146,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"woWw7XGUm4xqUAFSTaxp7s",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.006437245972435182,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"p72g5k8odqsgTDtjZrUT8a",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06437245972435182,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pRepfQdGpU9sdbgLJsfdTe",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.12230767347626846,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5oab4a82csybhPKBpwXVfB",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.1802428872281851,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"buq5YaVMEosHyRoKSUbsVt",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.23817810098010178,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"efAnUu4mYbWRhdGHs3mZi9",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.29611331473201846,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jyJM6MGuMRcai6pbrb3Cin",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.35404852848393514,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5cDm82FkWrYhcDPVSU84Ve",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4119837422358518,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mC7TrBSkmqNWk58epxFszN",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.46991895598776845,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eAGg5HRuXspYe6baEw1Pd4",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Tree",name:"Coconut",cx:29.772169703668084,cy:3.13936308626816,cz:.075,lx:14.520625349385156,lz:15.546086109013482,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"awZFHKX9S4YwAMjbSq1yte",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:29.969020753546168,cy:-14.890022732958304,cz:.075,lx:11.801916444038328,lz:14.712241097320083,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"oXudTEZFdmZo2c8EsbRpo1",selected:!1},{type:"Tree",name:"Coconut",cx:30.340707732263212,cy:22.863697403310276,cz:.075,lx:11.799635641951403,lz:18.03518550107995,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"1PFc7JhaMeKKaCbh4JY7pw",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-5.622533214526047,cy:-26.68161954425443,cz:.075,lx:11.801916444038328,lz:17.69875674824313,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"ghtAJzyWZvFaBBUqp1aRCj",selected:!1},{type:"Tree",name:"Coconut",flip:!1,cx:10.296218935380278,cy:-27.603318709603634,cz:.075,lx:8.431050051779376,lz:14.44899202269211,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"g6oua2UeBCgiNbB146Y9vt",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:25.84939972102471,cy:-26.971930698353695,cz:.075,lx:11.801916444038328,lz:17.69875674824313,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"qX2bGrx3fNBzBZKpMfQVvM",selected:!1},{type:"Tree",name:"Coconut",flip:!1,cx:-20.99614909921928,cy:-27.25943651847644,cz:.075,lx:10.446668331936932,lz:15.66063540678114,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"vbLVgvpnWHhnRd9uUf7sV8",selected:!1},{type:"Human",name:"Jacqueline",cx:16.26014984241543,cy:-19.603129566992923,cz:.075,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"1k2jiRJ9Za2yVNkgRYdhKs",selected:!1,ly:.43},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:.27624108019964655,y:-.5},{x:.27624108019964655,y:-.4625},{x:.5022565094539028,y:-.4625},{x:.5022565094539028,y:-.5}],parentId:"aJzBKycDgPV2XFyreGUWbN",parentType:"Wall",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,filled:!0,selectedIndex:0,id:"hvwazXjoHjWT4TxByg9aJo",text:"OCEANIC",fontColor:"red",fontSize:1,noOutline:!0,opacity:0}],o2n=90,i2n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[20.405612129997095,28.227763446481866,28229018151188892e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[20.405612129997095,28.22761343981447,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[37.702769068930394,-75.97521031128004,17.83040709876231],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:7.547072050706145,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[15.19436480647435,27.872451314228233,14.077650267491105],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,directLightIntensity:2},r2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},a2n=1,l2n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},s2n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},c2n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},u2n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},d2n="Unknown",f2n=null,h2n=null,p2n=null,g2n=[],m2n={docid:Kyn,time:qyn,timestamp:$yn,userid:Qyn,owner:Zyn,email:e2n,world:t2n,elements:n2n,sceneRadius:o2n,view:i2n,graphState:r2n,evolutionMethod:a2n,solarPanelArrayLayoutParams:l2n,solarPanelArrayLayoutConstraints:s2n,evolutionaryAlgorithmState:c2n,economicsParams:u2n,modelType:d2n,modelAuthor:f2n,modelLabel:h2n,modelDescription:p2n,notes:g2n},y2n="iTjDf3ar2Wi1xMDNhVPun5",A2n="02/03/2023 08:02 pm",w2n=1675472536455,v2n="QWecNcxhyvP6j6sBN11hBsfZDau1",x2n=null,b2n=null,S2n={daysPerYear:4,noAnimationForSolarPanelSimulation:!0,longitude:-73.177891,sutTimesPerHour:4,noAnimationForSolarUpdraftTowerSimulation:!1,diurnalTemperatureModel:1,discretization:"Approximate",sutDaysPerYear:4,sutGridCellSize:1,cspTimesPerHour:4,highestTemperatureTimeInMinutes:900,pvGridCellSize:.5,noAnimationForSensorDataCollection:!1,name:"default",cspGridCellSize:.5,dustLoss:.05,solarRadiationHeatmapGridCellSize:5,latitude:44.454924,cspDaysPerYear:4,date:"5/22/2022, 1:00:00 PM",address:"550 Dorset St, South Burlington, VT 05403, USA",ground:{thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3},airAttenuationCoefficient:.01,solarPanelVisibilityGridCellSize:.2,timesPerHour:2,airConvectiveCoefficient:5,noAnimationForHeatmapSimulation:!0},T2n=[{rotation:[0,0,.11344640137963143],lx:42.0955259862511,cy:-46.54215234653224,type:"Cuboid",ly:34.92675303840907,id:"qsPqX4eMRADWLb6uFzZyu3",cz:6.5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",locked:!0,selected:!1,cx:1.8084891171279258,color:"#e27300",lz:13,faceColors:["#e27300","#e27300","#e27300","#e27300","#d0d7da","gray"],normal:[0,0,1]},{rotation:[0,0,.11344640137963143],type:"Cuboid",ly:3.86445911605994,faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],id:"15SnZzWbRga2YXQjrHrMoH",locked:!0,parentId:"Ground",cx:23.280210785776593,color:"#e27300",cz:3.5,selected:!1,normal:[0,0,1],lz:7,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-63.54853637545297,lx:12.707438928677645},{cx:-33.686845121145325,ly:21.436523356683622,id:"jeaVPPnZw5Ed7yuuYuFjT4",cz:3.5,color:"#e27300",locked:!0,lx:60,parentId:"Ground",type:"Cuboid",selected:!1,cy:5.924352450279141,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","Facade #1","Facade #1","No Facade Texture","No Facade Texture"],lz:7,rotation:[0,0,-.22689280275926285],faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"]},{locked:!0,lz:7,selected:!1,rotation:[0,0,.47123889803846897],lx:70,faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"],ly:22.005759208164513,parentId:"Ground",cy:16.732974312474486,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"w8SzPJTBSBctdCdhPMiQ8Y",color:"#e27300",type:"Cuboid",normal:[0,0,1],cx:34.50919214417893,cz:3.5},{lz:.1,normal:[0,0,1],locked:!0,type:"Foundation",cz:.05,ly:33.24144899129459,rotation:[0,0,.11344640137963143],parentId:"Ground",selected:!1,cy:6.225878764069708,solarUpdraftTower:{},solarAbsorberPipe:{},id:"pAENrJmYZCM1ckJVXJhbjf",cx:-3.0110805900742577,solarPowerTower:{},lx:33.143096812026116},{cy:13,rotation:[0,0,0],leftRoofHeight:8,id:"etH6khoAQcue7DhdL3hKE4",windows:[],type:"Wall",leftPoint:[7.5,12,0],lineWidth:.2,leftJoints:["8bjxpu3YEF3xWPcrbQwkhJ"],ly:.3,rightJoints:["kDgsBFAdDRYMKBfw4NrZmC"],color:"#e27300",lx:8.24621125123532,relativeAngle:2.896613990462928,normal:[0,0,1],showLabel:!1,lz:8,cx:3.5000000000000004,textureType:"Wall Texture Default",rightPoint:[-.49999999999999944,14,0],lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",selected:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",rightRoofHeight:8,parentId:"pAENrJmYZCM1ckJVXJhbjf",locked:!0,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{relativeAngle:1.9379701606131157,rightJoints:["etH6khoAQcue7DhdL3hKE4"],cx:10,lx:13.928388277184117,leftPoint:[12.5,-1,0],normal:[0,0,1],id:"8bjxpu3YEF3xWPcrbQwkhJ",roofId:"k6bth8F9WX1VG1Z9xWAtQv",type:"Wall",rightPoint:[7.5,11.999999999999998,0],lineColor:"black",textureType:"Wall Texture Default",leftJoints:["78z2ecrQQgcHrHfygTZ9jK"],leftRoofHeight:8,rightRoofHeight:8,showLabel:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",cy:5.499999999999999,color:"#e27300",lz:8,cz:0,windows:[],selected:!1,rotation:[0,0,0],locked:!0,ly:.3,parentId:"pAENrJmYZCM1ckJVXJhbjf",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{lineWidth:.2,normal:[0,0,1],selected:!1,cx:11.75,rightPoint:[12.5,-1,0],rightJoints:["8bjxpu3YEF3xWPcrbQwkhJ"],id:"78z2ecrQQgcHrHfygTZ9jK",rotation:[0,0,0],textureType:"Wall Texture Default",leftJoints:["mDkaCjWbyiM41dnmEVWdxy"],parentId:"pAENrJmYZCM1ckJVXJhbjf",windows:[],leftPoint:[11,-10.5,0],leftRoofHeight:8,lx:9.617692030835672,lineColor:"black",lz:8,color:"#e27300",foundationId:"pAENrJmYZCM1ckJVXJhbjf",locked:!0,showLabel:!1,roofId:"k6bth8F9WX1VG1Z9xWAtQv",relativeAngle:1.4141944498128813,rightRoofHeight:8,ly:.3,cz:0,type:"Wall",cy:-5.75,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{rotation:[0,0,0],relativeAngle:3.402195045337134,foundationId:"pAENrJmYZCM1ckJVXJhbjf",cx:-4.249999999999999,cy:13,color:"#e27300",lineWidth:.2,lineColor:"black",showLabel:!1,textureType:"Wall Texture Default",rightJoints:["hK2wY1qjEVKHhT5eT1oyYc"],locked:!0,windows:[],rightPoint:[-8,12,0],lz:8,id:"kDgsBFAdDRYMKBfw4NrZmC",type:"Wall",leftJoints:["etH6khoAQcue7DhdL3hKE4"],lx:7.762087348130014,ly:.3,rightRoofHeight:8,selected:!1,parentId:"pAENrJmYZCM1ckJVXJhbjf",cz:0,leftPoint:[-.49999999999999856,14,0],leftRoofHeight:8,roofId:"k6bth8F9WX1VG1Z9xWAtQv",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{ly:.3,locked:!0,showLabel:!1,leftRoofHeight:8,cx:-9.75,rightRoofHeight:8,rotation:[0,0,0],id:"hK2wY1qjEVKHhT5eT1oyYc",leftJoints:["kDgsBFAdDRYMKBfw4NrZmC"],cz:0,relativeAngle:4.375714160997962,leftPoint:[-8.000000000000002,11.999999999999998,0],normal:[0,0,1],textureType:"Wall Texture Default",cy:6.999999999999999,lz:8,windows:[],foundationId:"pAENrJmYZCM1ckJVXJhbjf",rightJoints:["b4LV4TTeCfWqyehosbTDfi"],lx:10.594810050208544,rightPoint:[-11.5,2,0],color:"#e27300",selected:!1,type:"Wall",parentId:"pAENrJmYZCM1ckJVXJhbjf",roofId:"k6bth8F9WX1VG1Z9xWAtQv",lineWidth:.2,lineColor:"black",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",normal:[0,0,1],rightRoofHeight:8,lz:8,cy:-12.749999999999998,ly:.3,id:"mDkaCjWbyiM41dnmEVWdxy",leftPoint:[1,-15,0],lx:10.965856099730656,textureType:"Wall Texture Default",type:"Wall",showLabel:!1,rightPoint:[11,-10.499999999999996,0],rightJoints:["78z2ecrQQgcHrHfygTZ9jK"],lineWidth:.2,selected:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],color:"#e27300",cx:6,relativeAngle:.4228539261329409,locked:!0,parentId:"pAENrJmYZCM1ckJVXJhbjf",windows:[],cz:0,leftJoints:["2og8Xo997HNRwLdj5mnKCf"],leftRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{normal:[0,0,1],leftPoint:[-11.499999999999998,2,0],rightRoofHeight:8,leftJoints:["hK2wY1qjEVKHhT5eT1oyYc"],parentId:"pAENrJmYZCM1ckJVXJhbjf",lx:12.257650672131263,type:"Wall",selected:!1,lz:8,cx:-10.25,relativeAngle:4.917784369574457,id:"b4LV4TTeCfWqyehosbTDfi",rightJoints:["2og8Xo997HNRwLdj5mnKCf"],leftRoofHeight:8,rightPoint:[-9,-10,0],color:"#e27300",foundationId:"pAENrJmYZCM1ckJVXJhbjf",ly:.3,cz:0,rotation:[0,0,0],showLabel:!1,locked:!0,cy:-4,lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",windows:[],textureType:"Wall Texture Default",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{ly:.3,leftPoint:[-8.999999999999996,-9.999999999999996,0],foundationId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],cz:0,textureType:"Wall Texture Default",lx:11.180339887498947,roofId:"k6bth8F9WX1VG1Z9xWAtQv",rightJoints:["mDkaCjWbyiM41dnmEVWdxy"],showLabel:!1,id:"2og8Xo997HNRwLdj5mnKCf",lineWidth:.2,lz:8,windows:[],normal:[0,0,1],parentId:"pAENrJmYZCM1ckJVXJhbjf",selected:!1,cy:-12.499999999999998,locked:!0,leftJoints:["b4LV4TTeCfWqyehosbTDfi"],color:"#e27300",cx:-3.9999999999999982,lineColor:"black",rightPoint:[1,-15,0],relativeAngle:5.81953769817878,leftRoofHeight:8,type:"Wall",rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{cz:0,locked:!0,selected:!1,cx:0,type:"Roof",id:"k6bth8F9WX1VG1Z9xWAtQv",wallsId:["8bjxpu3YEF3xWPcrbQwkhJ","etH6khoAQcue7DhdL3hKE4","kDgsBFAdDRYMKBfw4NrZmC","hK2wY1qjEVKHhT5eT1oyYc","b4LV4TTeCfWqyehosbTDfi","2og8Xo997HNRwLdj5mnKCf","mDkaCjWbyiM41dnmEVWdxy","78z2ecrQQgcHrHfygTZ9jK"],textureType:"No Roof Texture",thickness:.2,showLabel:!1,lineWidth:.2,lineColor:"black",normal:[0,0,1],roofType:"Pyramid",lx:0,color:"#bbc0c4",parentId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],ly:0,cy:0,foundationId:"pAENrJmYZCM1ckJVXJhbjf",lz:0,sideColor:"#bbc0c4",rise:0,ceiling:!1},{id:"bJhvoWT5frHADN5rpErFAp",type:"Foundation",solarUpdraftTower:{},parentId:"Ground",solarAbsorberPipe:{},locked:!0,ly:20.929643657953434,cx:-14.3191636352593,lx:30.96479094015392,lz:.1,normal:[0,0,1],solarPowerTower:{},cy:-19.246790495991178,selected:!1,cz:.05,rotation:[0,0,.11344640137963143]},{showLabel:!1,selected:!1,leftJoints:["u3McT1xxp22V2ArAdyDW3J"],windows:[],textureType:"Wall Texture Default",foundationId:"bJhvoWT5frHADN5rpErFAp",rotation:[0,0,0],normal:[0,0,1],lz:12,relativeAngle:2.8068558162729786,id:"wERFjjYFCWERMhNEB9iuoK",cz:0,type:"Wall",lineWidth:.2,leftRoofHeight:12,locked:!0,parentId:"bJhvoWT5frHADN5rpErFAp",color:"#e27300",ly:.3,rightRoofHeight:12,lineColor:"black",leftPoint:[12.5,5.5,0],cx:6.75,rightPoint:[.9999999999999996,9.5,0],rightJoints:["7dQxN3e4X8QdrAXYYEN8WG"],cy:7.5,roofId:"nGgWDMiF4t3mFWmEvV3G6V",lx:12.175795661885921,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{color:"#e27300",leftJoints:["pcWBDfha4S8aWQ8R18i4nV"],foundationId:"bJhvoWT5frHADN5rpErFAp",rotation:[0,0,0],lz:12,id:"u3McT1xxp22V2ArAdyDW3J",parentId:"bJhvoWT5frHADN5rpErFAp",lineColor:"black",cz:0,cy:-4440892098500626e-31,leftRoofHeight:12,relativeAngle:1.5707963267948966,lx:11,selected:!1,locked:!0,ly:.3,rightRoofHeight:12,textureType:"Wall Texture Default",roofId:"nGgWDMiF4t3mFWmEvV3G6V",windows:[],normal:[0,0,1],leftPoint:[12.5,-5.5,0],type:"Wall",rightJoints:["wERFjjYFCWERMhNEB9iuoK"],showLabel:!1,cx:12.5,rightPoint:[12.5,5.499999999999999,0],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],lineWidth:.2,lx:11.067971810589325,windows:[],selected:!1,textureType:"Wall Texture Default",cx:7.249999999999998,rightPoint:[12.499999999999996,-5.499999999999999,0],cz:0,id:"pcWBDfha4S8aWQ8R18i4nV",showLabel:!1,relativeAngle:.32175055439664213,parentId:"bJhvoWT5frHADN5rpErFAp",leftPoint:[2,-9,0],rightRoofHeight:12,rightJoints:["u3McT1xxp22V2ArAdyDW3J"],foundationId:"bJhvoWT5frHADN5rpErFAp",lineColor:"black",leftRoofHeight:12,roofId:"nGgWDMiF4t3mFWmEvV3G6V",rotation:[0,0,0],color:"#e27300",type:"Wall",ly:.3,cy:-7.25,leftJoints:["6ue5PfovkzS53Qu47dbJ2S"],lz:12,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{windows:[],leftJoints:["wERFjjYFCWERMhNEB9iuoK"],roofId:"nGgWDMiF4t3mFWmEvV3G6V",showLabel:!1,cx:-5.5,relativeAngle:3.541833310623767,normal:[0,0,1],rightRoofHeight:12,lz:12,leftPoint:[.9999999999999996,9.5,0],parentId:"bJhvoWT5frHADN5rpErFAp",locked:!0,lineColor:"black",id:"7dQxN3e4X8QdrAXYYEN8WG",rightPoint:[-12,4,0],rightJoints:["1kwWJQEGgHXq1W18rzcYh4"],lineWidth:.2,selected:!1,rotation:[0,0,0],lx:14.115594213493104,cy:6.75,foundationId:"bJhvoWT5frHADN5rpErFAp",color:"#e27300",leftRoofHeight:12,cz:0,ly:.3,type:"Wall",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cz:0,foundationId:"bJhvoWT5frHADN5rpErFAp",leftJoints:["7dQxN3e4X8QdrAXYYEN8WG"],windows:[],leftRoofHeight:12,normal:[0,0,1],selected:!1,roofId:"nGgWDMiF4t3mFWmEvV3G6V",rightRoofHeight:12,relativeAngle:4.71238898038469,cx:-12,color:"#e27300",parentId:"bJhvoWT5frHADN5rpErFAp",id:"1kwWJQEGgHXq1W18rzcYh4",lx:8.499999999999998,textureType:"Wall Texture Default",type:"Wall",locked:!0,lineWidth:.2,rightJoints:["6ue5PfovkzS53Qu47dbJ2S"],showLabel:!1,lineColor:"black",rotation:[0,0,0],leftPoint:[-11.999999999999998,3.9999999999999982,0],lz:12,cy:-.2500000000000009,rightPoint:[-12,-4.5,0],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cx:-4.999999999999997,lx:14.705441169852739,windows:[],lz:12,rightPoint:[2,-9,0],locked:!0,ly:.3,rotation:[0,0,0],lineWidth:.2,normal:[0,0,1],color:"#e27300",roofId:"nGgWDMiF4t3mFWmEvV3G6V",id:"6ue5PfovkzS53Qu47dbJ2S",leftPoint:[-11.999999999999995,-4.499999999999997,0],textureType:"Wall Texture Default",rightRoofHeight:12,foundationId:"bJhvoWT5frHADN5rpErFAp",showLabel:!1,leftRoofHeight:12,lineColor:"black",cy:-6.749999999999998,leftJoints:["1kwWJQEGgHXq1W18rzcYh4"],parentId:"bJhvoWT5frHADN5rpErFAp",relativeAngle:5.972187026574045,cz:0,type:"Wall",rightJoints:["pcWBDfha4S8aWQ8R18i4nV"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{roofType:"Pyramid",lx:0,lz:0,foundationId:"bJhvoWT5frHADN5rpErFAp",ly:0,normal:[0,0,1],showLabel:!1,lineWidth:.2,id:"nGgWDMiF4t3mFWmEvV3G6V",locked:!0,cz:0,lineColor:"black",selected:!1,color:"#bbc0c4",type:"Roof",cy:0,textureType:"No Roof Texture",rotation:[0,0,0],thickness:.2,wallsId:["7dQxN3e4X8QdrAXYYEN8WG","1kwWJQEGgHXq1W18rzcYh4","6ue5PfovkzS53Qu47dbJ2S","pcWBDfha4S8aWQ8R18i4nV","u3McT1xxp22V2ArAdyDW3J","wERFjjYFCWERMhNEB9iuoK"],cx:0,parentId:"bJhvoWT5frHADN5rpErFAp",sideColor:"#bbc0c4",rise:0,ceiling:!1},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.22689280275926285],lz:7,selected:!1,cx:-16.084384276720815,color:"#e27300",cy:15.36794895618929,faceColors:["#e27300","#e27300","#e27300","#e27300","#f9fdfe","gray"],cz:3.5,parentId:"Ground",locked:!0,normal:[0,0,1],type:"Cuboid",ly:4.781704008793219,lx:6.529460998348136,id:"gNV64yHSX1cBB43cygkyfk"},{parentId:"Ground",ly:4.94412378095928,rotation:[0,0,.47123889803846897],cy:18.145923422735436,type:"Cuboid",locked:!0,normal:[0,0,1],faceColors:["#e27300","#e27300","#e27300","#e27300","#f9fdfe","gray"],lx:7.636154465642389,cz:3.5,lz:7,selected:!1,color:"#e27300",id:"91GnsPRwrk88qGT8VmRMYg",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:8.05053425462394},{solarPowerTower:{},cy:33.364915793093175,parentId:"Ground",id:"1nEGYML9Y5W4dWVRK3n5WW",locked:!0,selected:!1,cx:-5.596972605764655,ly:39.876530801142074,lx:39.61249197494745,solarUpdraftTower:{},rotation:[0,0,.11344640137963143],cz:.05,type:"Foundation",normal:[0,0,1],lz:.1,solarAbsorberPipe:{}},{color:"#e27300",relativeAngle:3.141592653589793,parentId:"1nEGYML9Y5W4dWVRK3n5WW",lx:38.5,rightPoint:[-19.489993841129074,18.992592968189904,.1],showLabel:!1,roofId:"vaDVUZ1uyEALYaHTbs211h",selected:!1,windows:[],lz:7,leftPoint:[19.010006158870922,18.992592968189896,.1],foundationId:"1nEGYML9Y5W4dWVRK3n5WW",normal:[0,0,1],lineWidth:.2,rotation:[0,0,0],leftRoofHeight:7,id:"97HokqKu917DTkAssZGbhE",type:"Wall",cz:0,locked:!0,textureType:"Wall Texture Default",cy:18.992592968189904,cx:-.23999384112907807,leftJoints:["2QQRWDofKjHid4D3rHXvwX"],ly:.3,rightJoints:["fPtvUV7Bzhezt9xwDuPEmF"],lineColor:"black",rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",windows:[],lz:7,rightJoints:["97HokqKu917DTkAssZGbhE"],relativeAngle:1.5707963267948966,rightRoofHeight:7,showLabel:!1,selected:!1,parentId:"1nEGYML9Y5W4dWVRK3n5WW",cy:3.7425929681898977,leftRoofHeight:7,normal:[0,0,1],locked:!0,id:"2QQRWDofKjHid4D3rHXvwX",lineColor:"black",textureType:"Wall Texture Default",ly:.3,roofId:"vaDVUZ1uyEALYaHTbs211h",leftPoint:[19.010006158870922,-11.507407031810096,.1],rotation:[0,0,0],cz:0,leftJoints:["v4k1Tt2DPV8adpDFKC5P12"],foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lx:30.499999999999996,cx:19.01000615887092,color:"#e27300",rightPoint:[19.010006158870922,18.992592968189896,.1],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"fPtvUV7Bzhezt9xwDuPEmF",textureType:"Wall Texture Default",foundationId:"1nEGYML9Y5W4dWVRK3n5WW",leftJoints:["97HokqKu917DTkAssZGbhE"],ly:.3,parentId:"1nEGYML9Y5W4dWVRK3n5WW",lineWidth:.2,leftPoint:[-19.489993841129067,18.992592968189896,0],windows:[],leftRoofHeight:7,cz:0,cy:3.746296484094948,roofId:"vaDVUZ1uyEALYaHTbs211h",locked:!0,rotation:[0,0,0],rightJoints:["ebWW9yh8D9FYjir4ozAvaz"],selected:!1,lx:30.492594609952747,rightPoint:[-19.5,-11.5,0],rightRoofHeight:7,relativeAngle:4.712060829921323,lineColor:"black",showLabel:!1,normal:[0,0,1],lz:7,color:"#e27300",cx:-19.49499692056453,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{parentId:"1nEGYML9Y5W4dWVRK3n5WW",leftJoints:["fPtvUV7Bzhezt9xwDuPEmF"],lineWidth:.2,textureType:"Wall Texture Default",leftPoint:[-19.5,-11.499999999999991,0],cx:-10,color:"#e27300",normal:[0,0,1],cy:-14.999999999999996,locked:!0,rightJoints:["v4k1Tt2DPV8adpDFKC5P12"],selected:!1,leftRoofHeight:7,foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lx:20.24845673131659,windows:[],relativeAngle:5.930194919352675,rotation:[0,0,0],roofId:"vaDVUZ1uyEALYaHTbs211h",showLabel:!1,rightRoofHeight:7,id:"ebWW9yh8D9FYjir4ozAvaz",rightPoint:[-.5,-18.5,0],ly:.3,cz:0,lz:7,lineColor:"black",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{foundationId:"1nEGYML9Y5W4dWVRK3n5WW",rightJoints:["2QQRWDofKjHid4D3rHXvwX"],leftRoofHeight:7,leftJoints:["ebWW9yh8D9FYjir4ozAvaz"],cy:-15.003703515905048,cx:9.255003079435461,roofId:"vaDVUZ1uyEALYaHTbs211h",showLabel:!1,color:"#e27300",lineWidth:.2,relativeAngle:.3441478196335668,lx:20.725267108965333,selected:!1,textureType:"Wall Texture Default",rightRoofHeight:7,parentId:"1nEGYML9Y5W4dWVRK3n5WW",locked:!0,normal:[0,0,1],lineColor:"black",rightPoint:[19.010006158870922,-11.507407031810095,0],lz:7,ly:.3,id:"v4k1Tt2DPV8adpDFKC5P12",cz:0,rotation:[0,0,0],windows:[],leftPoint:[-.5,-18.5,0],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-16.63156986902993,lz:5,lx:8.20544233607179,id:"x3h1GsQhgRmq3SsscYfmB3",faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],color:"#e27300",type:"Cuboid",locked:!0,normal:[0,0,1],parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:11.4641129152687,selected:!1,cx:16.793944749049793,cz:2.5,rotation:[0,0,.11344640137963143]},{lz:6.5,ly:9.79284174487727,color:"#e27300",selected:!1,faceColors:["#e27300","#e27300","#e27300","#e27300","#cbced4","gray"],normal:[0,0,1],rotation:[0,0,.11344640137963143],cx:18.04602799184764,cy:-5.757381561584599,lx:13.705205912378894,id:"pawpCxDgzEqhYUsyrbWbDa",parentId:"Ground",locked:!0,cz:3.25,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid"},{cz:.05,selected:!1,cy:-71.07055697625319,id:"jqbU6DNc1hw25bSjkKpMiq",parentId:"Ground",ly:19.18495691494635,solarPowerTower:{},rotation:[0,0,.47123889803846897],lz:.1,solarUpdraftTower:{},locked:!0,type:"Foundation",lx:30.387424337601402,normal:[0,0,1],solarAbsorberPipe:{},cx:-4.462146546381112},{textureType:"Wall Texture Default",ly:.3,relativeAngle:3.1415926535897927,roofId:"nbhyUPhsFS3FWduEBX5mR4",normal:[0,0,1],locked:!0,leftPoint:[14.911466700814316,8.908511607852175,.1],lineColor:"black",windows:[],type:"Wall",leftRoofHeight:9,selected:!1,id:"t45ndcq7s2gwo2wADp4LvF",lz:9,rightRoofHeight:9,rightJoints:["96Vsi7iFvTbA9KnjAiCzjC"],cz:0,lx:19.999999999999996,rightPoint:[-5.088533299185682,8.908511607852187,.1],rotation:[0,0,0],showLabel:!1,parentId:"jqbU6DNc1hw25bSjkKpMiq",leftJoints:["aUxdFcbeJNrCyc15FmwGK7"],foundationId:"jqbU6DNc1hw25bSjkKpMiq",cx:4.911466700814314,cy:8.908511607852173,color:"#e27300",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{lineWidth:.2,windows:[],roofId:"nbhyUPhsFS3FWduEBX5mR4",id:"2Q9JHTpdQziYaq1i4YVAfD",cy:-9.591488392147804,selected:!1,textureType:"Wall Texture Default",parentId:"jqbU6DNc1hw25bSjkKpMiq",leftRoofHeight:9,ly:.3,rightJoints:["aUxdFcbeJNrCyc15FmwGK7"],lz:9,cz:0,leftPoint:[-14.588533299185684,-9.591488392147816,.1],normal:[0,0,1],rightRoofHeight:9,lineColor:"black",showLabel:!1,rightPoint:[7.411466700814323,-9.591488392147804,.1],rotation:[0,0,0],foundationId:"jqbU6DNc1hw25bSjkKpMiq",relativeAngle:0,cx:-3.588533299185679,color:"#e27300",type:"Wall",locked:!0,leftJoints:["fjtHDsHPyFgzX4a1QCnEg1"],lx:22.000000000000007,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{lz:9,leftJoints:["2Q9JHTpdQziYaq1i4YVAfD"],cy:-.34148839214781823,lineWidth:.2,locked:!0,selected:!1,rightPoint:[14.911466700814314,8.90851160785218,.1],relativeAngle:1.1856388204314217,cz:0,leftRoofHeight:9,lx:19.962464777677127,parentId:"jqbU6DNc1hw25bSjkKpMiq",rightJoints:["t45ndcq7s2gwo2wADp4LvF"],cx:11.161466700814309,normal:[0,0,1],roofId:"nbhyUPhsFS3FWduEBX5mR4",lineColor:"black",foundationId:"jqbU6DNc1hw25bSjkKpMiq",id:"aUxdFcbeJNrCyc15FmwGK7",color:"#e27300",textureType:"Wall Texture Default",rightRoofHeight:9,ly:.3,rotation:[0,0,0],type:"Wall",showLabel:!1,leftPoint:[7.411466700814304,-9.59148839214781,.1],windows:[],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{cx:-2.2158130411354513,lx:3.4859481923608877,ly:4.275960039070249,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"nypM3mdmViZReBeYosY2yV",cz:6,cy:-27.62799047977582,faceColors:["#808080","#808080","#808080","#808080","#ffffff","gray"],lz:12,type:"Cuboid",parentId:"Ground",normal:[0,0,1],color:"#808080",rotation:[0,0,.11344640137963143],locked:!0,selected:!1},{type:"Wall",lx:13.499999999999998,foundationId:"jqbU6DNc1hw25bSjkKpMiq",selected:!1,locked:!0,normal:[0,0,1],leftPoint:[-14.588533299185688,3.9085116078521778,.1],cx:-14.588533299185682,lineWidth:.2,textureType:"Wall Texture Default",leftRoofHeight:9,relativeAngle:4.71238898038469,color:"#e27300",rightJoints:["2Q9JHTpdQziYaq1i4YVAfD"],showLabel:!1,windows:[],lineColor:"black",leftJoints:["iik8XWaEN3wPnYJVvNUf8N"],cz:0,cy:-2.841488392147814,id:"fjtHDsHPyFgzX4a1QCnEg1",parentId:"jqbU6DNc1hw25bSjkKpMiq",ly:.3,lz:9,roofId:"nbhyUPhsFS3FWduEBX5mR4",rightRoofHeight:9,rightPoint:[-14.588533299185684,-9.591488392147816,.1],rotation:[0,0,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{showLabel:!1,rightPoint:[-14.588533299185688,3.9085116078521778,.1],rightRoofHeight:9,lineColor:"black",cx:-9.838533299185684,relativeAngle:3.1415926535897936,foundationId:"jqbU6DNc1hw25bSjkKpMiq",windows:[],type:"Wall",parentId:"jqbU6DNc1hw25bSjkKpMiq",id:"iik8XWaEN3wPnYJVvNUf8N",roofId:"nbhyUPhsFS3FWduEBX5mR4",rightJoints:["fjtHDsHPyFgzX4a1QCnEg1"],leftRoofHeight:9,cy:3.9085116078521835,lx:9.500000000000002,locked:!0,textureType:"Wall Texture Default",normal:[0,0,1],lz:9,leftJoints:["96Vsi7iFvTbA9KnjAiCzjC"],selected:!1,cz:0,leftPoint:[-5.088533299185688,3.908511607852178,.1],lineWidth:.2,color:"#e27300",rotation:[0,0,0],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{textureType:"Wall Texture Default",selected:!1,rotation:[0,0,0],showLabel:!1,lineColor:"black",roofId:"nbhyUPhsFS3FWduEBX5mR4",leftPoint:[-5.088533299185681,8.908511607852187,.1],cx:-5.088533299185681,lx:5.000000000000002,type:"Wall",rightJoints:["iik8XWaEN3wPnYJVvNUf8N"],windows:[],lz:9,locked:!0,leftRoofHeight:9,rightRoofHeight:9,ly:.3,parentId:"jqbU6DNc1hw25bSjkKpMiq",rightPoint:[-5.088533299185688,3.908511607852178,.1],cy:6.408511607852189,normal:[0,0,1],color:"#e27300",leftJoints:["t45ndcq7s2gwo2wADp4LvF"],relativeAngle:4.71238898038469,foundationId:"jqbU6DNc1hw25bSjkKpMiq",cz:0,lineWidth:.2,id:"96Vsi7iFvTbA9KnjAiCzjC",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{ly:18.600818138777164,normal:[0,0,1],lz:7,id:"9ZkQyqaEmTeYEWHbrCFRQb",type:"Cuboid",cx:-21.473353217856005,cz:3.5,lx:28.43689133843813,cy:-80.03483805963909,selected:!1,faceColors:["#e27300","#e27300","#e27300","#e27300","#a0a8a1","gray"],rotation:[0,0,.47123889803846897],parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"#e27300",locked:!0},{lineColor:"black",foundationId:"jqbU6DNc1hw25bSjkKpMiq",cz:0,roofType:"Pyramid",locked:!0,lz:0,normal:[0,0,1],id:"nbhyUPhsFS3FWduEBX5mR4",cy:0,cx:0,type:"Roof",ly:0,lineWidth:.2,color:"#a0a8a1",selected:!1,wallsId:["t45ndcq7s2gwo2wADp4LvF","96Vsi7iFvTbA9KnjAiCzjC","iik8XWaEN3wPnYJVvNUf8N","fjtHDsHPyFgzX4a1QCnEg1","2Q9JHTpdQziYaq1i4YVAfD","aUxdFcbeJNrCyc15FmwGK7"],showLabel:!1,lx:0,textureType:"No Roof Texture",thickness:.2,parentId:"jqbU6DNc1hw25bSjkKpMiq",rotation:[0,0,0],sideColor:"#a0a8a1",rise:0,ceiling:!1},{rotation:[0,0,.11344640137963143],lx:33.330266968334364,parentId:"Ground",locked:!0,selected:!1,cy:-18.068839609848254,color:"#e27300",id:"u9fp9k5YxThQWCBpcjSypa",ly:24.01347765210959,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],lz:7,faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"],cz:3.5,cx:-3.833297199689312,type:"Cuboid"},{parentId:"Ground",lx:6.254852089156679,color:"#e27300",lz:6,cy:-14.332630086328715,rotation:[0,0,.11344640137963143],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:8.529051468761843,cz:3,cx:23.820970949615347,normal:[0,0,1],id:"g3WSwwiWWgknhD1TsV34bi",locked:!0,type:"Cuboid",faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],selected:!1},{selected:!1,parentId:"Ground",rotation:[0,0,.11344640137963143],lx:138.78684366347608,solarAbsorberPipe:{},cz:.05,textureType:"Foundation Texture #1",lz:.1,id:"reBHg6Exy2MChwcxtr3gj7",locked:!0,color:"#808080",cx:-1.8708371231135246,solarUpdraftTower:{},type:"Foundation",ly:56.63391373000898,cy:89.14969979439752,solarPowerTower:{},normal:[0,0,1]},{color:"#808080",cz:.05,solarPowerTower:{},textureType:"Foundation Texture #1",locked:!0,ly:114.12479182802815,id:"36nmeGQGETdJPm5rWVVRjJ",solarUpdraftTower:{},lx:42.16787694736764,lz:.1,normal:[0,0,1],solarAbsorberPipe:{},selected:!1,cy:-148.8692182215829,parentId:"Ground",rotation:[0,0,.11344640137963143],type:"Foundation",cx:-28.614737300680485},{id:"bFksCZzoXd93c7MyivmV9K",faceColors:["gray","gray","gray","gray","gray","gray"],ly:5.781774626442493,rotation:[0,0,.11344640137963143],cx:-8.05557182480289,normal:[0,0,1],parentId:"Ground",color:"gray",cy:28.559956693666173,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0,selected:!1,cz:4.5,lz:9,lx:2.7809448048857632,type:"Cuboid"},{id:"4uGXxDXoTLYvikq5fUL9dt",normal:[0,0,1],parentId:"Ground",cz:4.5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:38.25979783456656,lx:2.7809448048857632,faceColors:["gray","gray","gray","gray","gray","gray"],lz:9,selected:!1,locked:!0,rotation:[0,0,.11344640137963143],cx:-6.727695250737455,type:"Cuboid",color:"gray",ly:5.781774626442493},{type:"Tree",lx:10,selected:!1,name:"Magnolia",cz:0,locked:!0,id:"xmEmwPRar8iA32AgGqBDZo",cy:44.65483300272308,rotation:[0,0,0],parentId:"Ground",cx:15.962764438139406,normal:[0,1,0],lz:10},{cx:4.786319195449075,name:"Magnolia",lz:10,id:"2N9b6wPaP7vTT6v2GfUvci",cy:57.504795212360165,selected:!1,rotation:[0,0,0],parentId:"Ground",type:"Tree",locked:!0,lx:10,normal:[0,0,1],cz:0},{cz:0,id:"tQuBdxiCZwsv3tPttqZcge",locked:!0,type:"Tree",lz:10,parentId:"Ground",lx:10,cx:-37.72446755161796,name:"Magnolia",rotation:[0,0,0],selected:!1,cy:24.20884875644974,normal:[0,0,1]},{rotation:[0,0,0],locked:!0,normal:[0,0,1],parentId:"Ground",cz:0,cy:27.53619242162998,name:"Magnolia",type:"Tree",lx:10,cx:-56.12589485999845,id:"sBLygdm7dv2Y53q9fnNST7",selected:!1,lz:10},{ly:1,type:"Cuboid",id:"dHHanjftUrSruBnauGJSLy",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",cx:-5.870064866540858,lx:2,normal:[0,0,1],lz:9,cy:15.318325135239354,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.11344640137963143],selected:!1,locked:!0,cz:4.5},{id:"9vxhEg5mY7bnj3mASyLPuq",cz:4.5,lx:1.5,ly:1,cx:-3.8512872137145457,normal:[0,0,1],type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:11.777212358373532,lz:9,rotation:[0,0,.11344640137963143],parentId:"Ground",selected:!1,color:"gray"},{cz:4.5,cy:15.693005652428699,normal:[0,0,1],cx:-2.6936903398761203,selected:!1,locked:!0,lz:9,rotation:[0,0,.11344640137963143],color:"gray",ly:1,faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",id:"hvuDpXrEgC1sbzpcoS3Pv5",lx:2,type:"Cuboid"},{cz:4.5,id:"xtuommaSLMKZrejRaGGfMk",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:9,type:"Cuboid",cx:6.443464344950151,locked:!0,cy:6.860194005695455,color:"gray",parentId:"Ground",rotation:[0,0,.47123889803846897],selected:!1,lx:1,ly:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{color:"gray",ly:2,parentId:"Ground",normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"sJYEUPNTzxmWik8iqk2zs1",cy:25.83184970998569,locked:!0,cz:4,selected:!1,rotation:[0,0,.47123889803846897],type:"Cuboid",lx:2,cx:46.69245220859119},{cz:4,faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,cx:57.51703501824526,lx:2,locked:!0,selected:!1,color:"gray",ly:2,parentId:"Ground",type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:32.45468730038977,rotation:[0,0,.47123889803846897],id:"bbqihnnqHMG2BadQAqxu4w",normal:[0,0,1]},{id:"25nzwRphH2HZWasHbdyR9H",rotation:[0,0,.47123889803846897],cz:4,cx:9.64097434426713,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:8,ly:2,selected:!1,color:"gray",locked:!0,type:"Cuboid",cy:14.625073334021367,lx:2,parentId:"Ground"},{locked:!0,ly:3.023435418581383,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",normal:[0,0,1],lz:8,id:"auEsiwZVDg1BpD4SLuxEMu",cz:4,selected:!1,cx:13.735991450729825,rotation:[0,0,.47123889803846897],parentId:"Ground",lx:1.956376737761125,cy:11.519743764909009},{cx:8.737674718750876,lz:8,selected:!1,lx:1.6103314300645608,color:"gray",cz:4,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,ly:6.078985704618435,rotation:[0,0,.47123889803846897],cy:10.874631022787334,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",id:"hVeFrmw4X6UXNLJxSgFFTX"},{lz:8,cy:9.924339607771106,type:"Cuboid",lx:4.469059126518252,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],cz:4,parentId:"Ground",ly:2.3777908106308545,locked:!0,cx:10.942483109442229,selected:!1,id:"meaBMTA4CLhnmmXQkVUk4b",color:"gray",rotation:[0,0,.47123889803846897],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{rotation:[0,0,-.22689280275926285],id:"uaSYyvLxcyJGUeppQk2fkP",normal:[0,0,1],locked:!0,faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",cx:-58.373259464283144,selected:!1,ly:1,cz:4,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lx:1,parentId:"Ground",cy:19.91282275388616,lz:8},{lx:1,parentId:"Ground",locked:!0,ly:1,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],cx:-18.92226089346107,rotation:[0,0,-.22689280275926285],type:"Cuboid",cz:4,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"aSJgYXr93BZfEPKkAwN8r7",lz:8,normal:[0,0,1],cy:-.6960334472303071},{locked:!0,lx:2.0388988979736835,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.22689280275926285],id:"vUyZDk5YRtPiBnYt1snpgt",selected:!1,cy:10.353201903334014,color:"gray",ly:2.0216903725484365,normal:[0,0,1],type:"Cuboid",cx:-16.847254368208766,parentId:"Ground",lz:8,faceColors:["gray","gray","gray","gray","gray","gray"],cz:4},{type:"Cuboid",cy:11.088622268912289,cz:4,rotation:[0,0,-.22689280275926285],ly:2.9540425209021324,id:"dfGLJ9Zv1uAnvCfrcBHsCt",locked:!0,lz:8,parentId:"Ground",color:"gray",cx:-14.705676459927645,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lx:1.7677570935590694,selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:7.5,selected:!1,cz:3.75,lx:.9904096888649759,type:"Cuboid",color:"gray",cy:-4.822954202789914,parentId:"Ground",locked:!0,id:"n5nBWKF2pcd87Hywxr4MmX",cx:19.016528568953923,normal:[0,0,1],ly:1.9410657757772696,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"]},{type:"Cuboid",ly:1,cx:22.516067022100426,color:"gray",parentId:"Ground",cz:3.5,locked:!0,selected:!1,lx:1,lz:7,rotation:[0,0,.11344640137963143],id:"oDooft2rdfK7T7GeS22TTX",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],cy:-11.05785927501001},{rotation:[0,0,.11344640137963143],type:"Cuboid",selected:!1,lz:6,locked:!0,lx:1,parentId:"Ground",ly:1,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],id:"5MNhY3je6nxRhgVTaQd4XD",cx:17.344429933105552,cy:-13.822777502645632,cz:3},{rotation:[0,0,.11344640137963143],id:"hTpGn7Ld64gegWm4tEbZhj",normal:[0,0,1],lz:6,locked:!0,cz:3,lx:1,type:"Cuboid",ly:1,selected:!1,cx:13.157095779673083,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-14.697109758746397,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",color:"gray"},{type:"Cuboid",parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-6.445109761249004,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"],cz:4.5,locked:!0,cx:-1.5852019434320317,ly:1,selected:!1,normal:[0,0,1],lz:9,id:"rq5RGqs3gD3vGibJBsqSoL",color:"gray",lx:1},{lx:1,parentId:"Ground",rotation:[0,0,.11344640137963143],normal:[0,0,1],type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",locked:!0,selected:!1,cx:1.8238223447270574,id:"pVxtrZrVGwkvEXjPsLSV95",cz:4,ly:1,cy:-11.816737963378758,lz:8},{selected:!1,ly:1.3665925830167867,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],rotation:[0,0,.11344640137963143],cz:6.5,lz:13,id:"kfMaGeiQgdSFzmbpVf6zVf",cx:-10.111227834366188,type:"Cuboid",lx:1.8193596961081897,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",locked:!0,cy:-15.497913514100716},{color:"gray",lx:1,type:"Cuboid",cy:-27.533957889184162,cz:6.5,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,.11344640137963143],selected:!1,lz:13,id:"bkDAE3FxXTUCR13vm7LnmF",locked:!0,normal:[0,0,1],ly:1,cx:-2.3075258042202},{normal:[0,0,1],selected:!1,locked:!0,cx:-15.307775607494396,lx:2.5676889546751847,color:"gray",ly:1.3662836019362639,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.11344640137963143],parentId:"Ground",type:"Cuboid",cz:6.5,lz:13,cy:-18.40230760434186,id:"aQcL3piZZWLrX5Ud8AM8Ke"},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,id:"i4oTzKRpveYkgD2Hd8SNHf",faceColors:["gray","gray","gray","gray","gray","gray"],ly:1,lz:14,color:"gray",lx:1,parentId:"Ground",cy:-29.315479380504186,rotation:[0,0,.11344640137963143],cx:16.7566929241104,cz:7,type:"Cuboid",normal:[0,0,1],locked:!0},{ly:1,normal:[0,0,1],cx:19.914283665719672,cy:-44.497740663585425,lz:14,lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,.11344640137963143],id:"ah9bKoBGUiMWeHKfdxzpi9",cz:7,color:"gray",type:"Cuboid",locked:!0,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground"},{lz:14,normal:[0,0,1],locked:!0,id:"vBZ2DA9y9KYiCwgzGpLfFD",color:"gray",lx:1,rotation:[0,0,.11344640137963143],cz:7,cy:-47.62693833888401,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",selected:!1,ly:1,cx:20.25452350291907},{cy:-38.0401954851006,type:"Cuboid",lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"],cz:7,locked:!0,id:"2jpUuL1gcsjduHrhm3n43t",selected:!1,parentId:"Ground",cx:-17.59480337417267,color:"gray",lz:14},{faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1,cy:-50.768525050448105,lz:14,lx:1,id:"doc8sxSmKeL7RKrAnLUcoL",selected:!1,type:"Cuboid",cx:-16.679482324891723,locked:!0,color:"gray",rotation:[0,0,.11344640137963143],parentId:"Ground",cz:7},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],selected:!1,id:"us3zCoK5ewuBS6QTdVwh5n",cz:7,ly:1,lx:1,normal:[0,0,1],color:"gray",locked:!0,lz:14,rotation:[0,0,.11344640137963143],cy:-63.79092407456009,cx:-15.262534505030402,parentId:"Ground"},{faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.47123889803846897],lz:10,normal:[0,0,1],lx:1,type:"Cuboid",cy:-67.46996837049493,id:"t959VVjipFtQcWvuiVz2K9",parentId:"Ground",cx:-4.425598860553924,cz:5,color:"gray",selected:!1,ly:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0},{ly:1,lx:1,locked:!0,type:"Cuboid",rotation:[0,0,.47123889803846897],cx:-3.1466144543948023,normal:[0,0,1],color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,cy:-66.65602476858759,selected:!1,id:"qhPJYtSXY5a7RZFHnh9sXY",faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",cz:5},{cx:-6.364270455130605,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],lz:10,ly:1,locked:!0,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],lx:1,color:"gray",type:"Cuboid",selected:!1,id:"uHN4GMMVvGcf6APcCUZnSj",cy:-75.21381547306636,rotation:[0,0,.47123889803846897],cz:5},{ly:1,cy:-83.03785791923461,rotation:[0,0,.47123889803846897],locked:!0,lx:1,normal:[0,0,1],color:"gray",lz:8,selected:!1,cx:-23.111777972260608,id:"vtCxYC9fd4ntw6fFZCahnk",faceColors:["gray","gray","gray","gray","gray","gray"],cz:4,parentId:"Ground",type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,lz:10,lx:1,rotation:[0,0,.47123889803846897],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1,color:"gray",type:"Cuboid",cy:-79.50076914190635,cx:-14.662733157197128,cz:5,id:"hZWUtVcu3jjMB9HKr9R8ro",normal:[0,0,1],parentId:"Ground"},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0,lx:1,ly:1,cz:4,normal:[0,0,1],color:"gray",rotation:[0,0,.47123889803846897],cy:-84.70748291923546,id:"iw4xNrSMGDSZJUGzJ8pTqm",cx:-28.436527972260606,lz:8,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground"},{type:"Cuboid",cz:4,locked:!0,lz:8,ly:1,id:"iLtZHkfUgxkgeqhAZivYfe",cx:-30.88874837783922,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],selected:!1,cy:-84.0342920377216,normal:[0,0,1],parentId:"Ground",rotation:[0,0,.47123889803846897],lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,lz:8,parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-13.782520236054552,rotation:[0,0,.47123889803846897],type:"Cuboid",lx:1,cz:4,id:"ssCGfzEitaxtFqQF7Ga8kZ",color:"gray",ly:1,normal:[0,0,1],cy:-67.47809368871428,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0},{selected:!1,color:"#f9fdfe",ly:0,foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lz:0,lx:0,lineColor:"black",textureType:"No Roof Texture",rotation:[0,0,0],parentId:"1nEGYML9Y5W4dWVRK3n5WW",roofType:"Pyramid",wallsId:["97HokqKu917DTkAssZGbhE","fPtvUV7Bzhezt9xwDuPEmF","ebWW9yh8D9FYjir4ozAvaz","v4k1Tt2DPV8adpDFKC5P12","2QQRWDofKjHid4D3rHXvwX"],locked:!0,type:"Roof",cx:0,showLabel:!1,lineWidth:.2,thickness:.2,normal:[0,0,1],cz:0,cy:0,id:"vaDVUZ1uyEALYaHTbs211h",sideColor:"#f9fdfe",rise:0,ceiling:!1},{selected:!1,lz:.4,filled:!1,id:"fdazNUtKFoSEAPgq9CQJES",type:"Polygon",locked:!0,cx:0,parentId:"qsPqX4eMRADWLb6uFzZyu3",color:"#d0d7da",selectedIndex:3,foundationId:"qsPqX4eMRADWLb6uFzZyu3",cz:0,rotation:[0,0,.11344640137963143],normal:[0,0,1],vertices:[{x:-.3919656451231681,y:-.44378588479022363},{x:-.3919656451231681,y:.4581015584931341},{y:.4581015584931341,x:.3563324046574256},{y:-.44378588479022363,x:.3563324046574256}],cy:0,ly:.4,lx:.4,lineColor:"#ffffff",lineStyle:2},{type:"Polygon",cz:0,lx:.4,selected:!1,color:"#dadedf",normal:[0,0,1],lz:.4,filled:!1,locked:!0,parentId:"jeaVPPnZw5Ed7yuuYuFjT4",ly:.4,cy:0,selectedIndex:5,rotation:[0,0,-.22689280275926285],id:"4bjxP3DGK4dodwicaeMGrq",vertices:[{x:-.4583333333333333,y:-.41984420002481043},{x:-.4583333333333333,y:.2798961333498736},{y:.2798961333498736,x:-.4083333333333333},{x:-.4083333333333333,y:.41984420002481043},{x:.20833333333333334,y:.41984420002481043},{y:-.41984420002481043,x:.20833333333333334}],cx:0,foundationId:"jeaVPPnZw5Ed7yuuYuFjT4",lineStyle:2,lineColor:"#ffffff"},{type:"Tree",name:"Magnolia",cx:-42.801241972409024,cy:-41.7007983662498,cz:0,lx:9.278019576062961,lz:8.643797542596442,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"g1FsRLcUZdSt9Q2DU31zPA",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:-59.8787215366302,cy:-50.66068977312313,cz:-7105427357601002e-30,lx:9.278019576062961,lz:11.78149367100265,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"krmMVWEiKsnePivMXL7Nes",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:-51.87839388003734,cy:-62.51980907480443,cz:0,lx:6.499371428507982,lz:7.082169014620417,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rW1c33rx65WFpCNTzaAbaM",selected:!1,locked:!0}],P2n={showDailyLightSensorPanel:!1,yearlyHeliostatYieldPanelY:0,yearlyFresnelReflectorYieldPanelY:0,showInstructionPanel:!1,yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelX:0,panCenter2D:[-38.51386717609555,9.861822957610682,-.00020795605672141833],dailyPvYieldPanelRect:{height:400,width:600,x:0,y:0},panCenter:[-7.484723712513362,-24.66583880095733,.1225204207961253],showMapPanel:!1,groundColor:"#16a5a5",yearlyFresnelReflectorYieldPanelRect:{x:0,width:600,y:0,height:400},yearlyPvYieldPanelY:0,mapWeatherStations:!1,visibilityResultsPanelX:0,evolutionPanelRect:{x:0,y:0,width:640,height:400},stickyNotePanelRect:{width:269,y:0,x:-3,height:87},cameraPosition2D:[-38.51386717609555,9.861802956721695,19.99979204387911],showYearlyParabolicTroughYieldPanel:!1,showEvolutionPanel:!1,showHeliodonPanel:!1,theme:"Default",showYearlyParabolicDishYieldPanel:!1,mapPanelX:0,showDailyFresnelReflectorYieldPanel:!1,dailyLightSensorPanelX:0,dailyParabolicDishYieldPanelX:0,heliodon:!1,dailyPvYieldPanelX:0,dailyFresnelReflectorYieldPanelRect:{y:0,height:400,x:0,width:600},axes:!0,mapTilt:0,dailyFresnelReflectorYieldPanelX:0,showEconomicsPanel:!1,dailyParabolicTroughYieldPanelY:0,dailyLightSensorPanelY:0,visibilityResultsPanelY:0,yearlyParabolicTroughYieldPanelX:0,showYearlyFresnelReflectorYieldPanel:!1,yearlyLightSensorPanelRect:{height:500,y:0,x:0,width:600},dailyParabolicDishYieldPanelRect:{x:0,height:400,width:600,y:0},showDesignInfoPanel:!0,yearlyUpdraftTowerYieldPanelRect:{y:0,height:400,x:0,width:600},yearlyPvYieldPanelRect:{x:0,y:0,height:400,width:600},yearlyParabolicDishYieldPanelX:0,solarRadiationHeatMapReflectionOnly:!1,showZenithAngle:!0,groundImage:!0,showYearlyLightSensorPanel:!1,mapZoom:17,yearlyFresnelReflectorYieldPanelX:0,visibilityResultsPanelRect:{width:600,x:0,y:0,height:470},showStickyNotePanel:!0,yearlyLightSensorPanelShowClearness:!1,showElevationAngle:!0,weatherPanelY:0,yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelY:0,mapType:"hybrid",showYearlyPvYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,yearlyPvYieldPanelX:0,diurnalTemperaturePanelRect:{width:600,x:0,y:0,height:400},dailyHeliostatYieldPanelX:0,heliodonPanelX:0,showYearlyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelRect:{width:600,x:0,height:400,y:0},dailyHeliostatYieldPanelY:0,yearlyParabolicTroughYieldPanelY:0,stickyNotePanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},orthographic:!1,cameraPosition:[35.702709576196014,-94.16775966891016,142.42515130862242],showDailyUpdraftTowerYieldPanel:!1,showDailyPvYieldPanel:!1,enableRotate:!0,showYearlyUpdraftTowerYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showDailyParabolicTroughYieldPanel:!1,dailyFresnelReflectorYieldPanelY:0,showWeatherPanel:!1,yearlyLightSensorPanelX:0,mapPanelY:0,dailyHeliostatYieldPanelRect:{height:400,width:600,x:0,y:0},autoRotate:!1,dailyParabolicDishYieldPanelY:0,cameraZoom:22.160664819944596,showAzimuthAngle:!0,weatherPanelRect:{y:0,x:0,height:500,width:500},showSunAngles:!1,dailyLightSensorPanelRect:{x:0,width:600,height:360,y:0},heliodonPanelY:0,showSolarPanelVisibilityResultsPanel:!1,showDailyHeliostatYieldPanel:!1,shadowEnabled:!0,dailyUpdraftTowerYieldPanelRect:{x:0,width:640,height:550,y:0},dailyPvYieldPanelY:0,showDiurnalTemperaturePanel:!1,weatherPanelX:0,ambientLightIntensity:.1,solarRadiationHeatMapMaxValue:5,stickyNotePanelX:0,showSiteInfoPanel:!0,yearlyHeliostatYieldPanelRect:{width:600,x:0,y:0,height:400}},C2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},R2n=1,H2n={rowAxis:"Left-Right",interRowSpacing:2,tiltAngle:0,poleSpacing:3,rowsPerRack:1,poleHeight:1,pvModelName:"SPR-X21-335-BLK",orientation:"Landscape"},M2n={maximumTiltAngle:1.5707963267948966,minimumRowsPerRack:1,rowAxis:"Left-Right",orientation:"Landscape",maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumInterRowSpacing:10,minimumInterRowSpacing:2,poleSpacing:5,poleHeight:1,pvModelName:"CS6X-355P-FG"},I2n={particleSwarmOptimizationParams:{vmax:.01,localSearchRadius:.1,inertia:.8,searchMethod:1,maximumSteps:5,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,convergenceThreshold:.01,cognitiveCoefficient:.1,swarmSize:20},geneticAlgorithmParams:{localSearchRadius:.1,maximumGenerations:5,mutationRate:.1,problem:"Solar Panel Tilt Angle",selectionRate:.5,populationSize:20,objectiveFunctionType:1,searchMethod:1,convergenceThreshold:.01,selectionMethod:1,crossoverRate:.5}},z2n={electricitySellingPrice:.25,projectLifeSpan:25,operationalCostPerUnit:.15},D2n=[`South Burlington High School +Vermont, USA`],E2n={docid:y2n,time:A2n,timestamp:w2n,userid:v2n,owner:x2n,email:b2n,world:S2n,elements:T2n,view:P2n,graphState:C2n,evolutionMethod:R2n,solarPanelArrayLayoutParams:H2n,solarPanelArrayLayoutConstraints:M2n,evolutionaryAlgorithmState:I2n,economicsParams:z2n,notes:D2n},k2n="dWgDnPJDqR9XymfxSQN7WJ",F2n="02/03/2023 07:56 pm",L2n=1675472176562,W2n="QWecNcxhyvP6j6sBN11hBsfZDau1",N2n=null,U2n=null,B2n={pvGridCellSize:.5,timesPerHour:2,latitude:33.225546302957646,longitude:-105.74311446654394,daysPerYear:4,airAttenuationCoefficient:.01,solarPanelVisibilityGridCellSize:.2,cspDaysPerYear:4,sutGridCellSize:1,diurnalTemperatureModel:1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},noAnimationForSolarPanelSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1,name:"default",highestTemperatureTimeInMinutes:900,noAnimationForSensorDataCollection:!1,cspGridCellSize:.5,cspTimesPerHour:4,sutDaysPerYear:4,airConvectiveCoefficient:5,dustLoss:.05,address:"249 White Mountain Dr, Mescalero, NM 88340, USA",sutTimesPerHour:4,discretization:"Approximate",noAnimationForHeatmapSimulation:!1,date:"Wed Jun 22 2022 12:00:00 GMT-0400 (Eastern Daylight Time)",solarRadiationHeatmapGridCellSize:10},j2n=[{cx:36.04364346579838,color:"#808080",normal:[0,0,1],id:"aXWETyunkqtQVNXGWr9VZd",solarPowerTower:{},solarAbsorberPipe:{},lx:65.26457989390352,rotation:[0,0,-.41015237421866746],ly:29.235638926118842,cz:.5,solarUpdraftTower:{},cy:-20.683265041734174,parentId:"Ground",locked:!1,type:"Foundation",lz:1,selected:!1},{type:"Wall",parentId:"aXWETyunkqtQVNXGWr9VZd",locked:!1,leftJoints:["7a9g1bU6Fq192u17jYzUVQ"],windows:[],normal:[0,0,1],rightPoint:[-30.895924961184342,13.06099510897374,1],leftPoint:[32.60407503881567,13.060995108973744,1],id:"qmFzWJnLZGgtRZtU4NCV2i",rightJoints:["8UV181m3Qgm4gVeHjN6o1N"],leftRoofHeight:5,color:"white",cx:.8540750388156599,foundationId:"aXWETyunkqtQVNXGWr9VZd",lineColor:"black",cz:0,lz:5,rotation:[0,0,-.41015237421866746],selected:!1,textureType:"Wall Texture Default",showLabel:!1,cy:13.060995108973737,roofId:"adpYUuHEY6XwTLGq9piRR2",ly:.3,lx:63.5,relativeAngle:3.141592653589793,rightRoofHeight:5,lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lineWidth:.2,windows:[],cy:-.1890048910262596,color:"white",showLabel:!1,rightJoints:["qmFzWJnLZGgtRZtU4NCV2i"],normal:[0,0,1],lineColor:"black",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],roofId:"adpYUuHEY6XwTLGq9piRR2",lz:5,locked:!1,cx:32.604075038815665,lx:26.500000000000004,ly:.3,selected:!1,leftPoint:[32.604075038815665,-13.439004891026256,1],parentId:"aXWETyunkqtQVNXGWr9VZd",rightPoint:[32.60407503881566,13.060995108973742,1],leftRoofHeight:5,type:"Wall",rightRoofHeight:5,foundationId:"aXWETyunkqtQVNXGWr9VZd",leftJoints:["cqVaqhkF9cafDk3CujuxhA"],cz:0,relativeAngle:1.5707963267948966,id:"7a9g1bU6Fq192u17jYzUVQ",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cx:.8540750388156644,windows:[],leftPoint:[-30.895924961184335,-13.439004891026261,1],rightRoofHeight:5,showLabel:!1,selected:!1,type:"Wall",leftJoints:["8UV181m3Qgm4gVeHjN6o1N"],rightPoint:[32.604075038815665,-13.439004891026256,1],cz:0,ly:.3,parentId:"aXWETyunkqtQVNXGWr9VZd",relativeAngle:0,id:"cqVaqhkF9cafDk3CujuxhA",roofId:"adpYUuHEY6XwTLGq9piRR2",rightJoints:["7a9g1bU6Fq192u17jYzUVQ"],lx:63.50000000000001,textureType:"Wall Texture Default",lineWidth:.2,cy:-13.439004891026254,lineColor:"black",lz:5,rotation:[0,0,-.41015237421866746],leftRoofHeight:5,locked:!1,normal:[0,0,1],foundationId:"aXWETyunkqtQVNXGWr9VZd",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cy:-.18900489102626317,leftRoofHeight:5,lz:5,textureType:"Wall Texture Default",leftPoint:[-30.895924961184342,13.06099510897374,1],relativeAngle:4.71238898038469,cz:0,rightJoints:["cqVaqhkF9cafDk3CujuxhA"],selected:!1,foundationId:"aXWETyunkqtQVNXGWr9VZd",lx:26.50000000000001,parentId:"aXWETyunkqtQVNXGWr9VZd",rotation:[0,0,-.41015237421866746],rightPoint:[-30.89592496118435,-13.439004891026267,1],color:"white",type:"Wall",normal:[0,0,1],rightRoofHeight:5,leftJoints:["qmFzWJnLZGgtRZtU4NCV2i"],cx:-30.895924961184342,windows:[],roofId:"adpYUuHEY6XwTLGq9piRR2",ly:.3,lineWidth:.2,id:"8UV181m3Qgm4gVeHjN6o1N",locked:!1,lineColor:"black",showLabel:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lz:1,solarAbsorberPipe:{},cz:.5,ly:4.206012254646608,type:"Foundation",rotation:[0,0,-.41015237421866746],lx:31.26437853168839,normal:[0,0,1],solarUpdraftTower:{},cx:-2.5548208091674596,selected:!1,parentId:"Ground",cy:-104.18033992817378,solarPowerTower:{},locked:!1,id:"67y6tGP5Z273J9KfaZt2qW"},{color:"white",ly:.3,normal:[0,0,1],windows:[],leftPoint:[-2.1622916607695264,-2.0529036258004845,0],rightPoint:[-2.1622916607695246,1.9676858128519996,0],rightRoofHeight:6,roofId:"vamU7TTNZeBARJChC8HbPy",rightJoints:["vyB1xaFqKE2eYECPWHSjtt"],lineColor:"black",showLabel:!1,type:"Wall",parentId:"67y6tGP5Z273J9KfaZt2qW",cz:0,id:"vVaHoupmNeeUhBf8aEhNwN",cy:-.042608906474242425,foundationId:"67y6tGP5Z273J9KfaZt2qW",lineWidth:.2,textureType:"Wall Texture Default",leftJoints:["c2T86bj1Ndr1wBUNfBDMTd"],cx:-2.1622916607695255,relativeAngle:1.5707963267948961,rotation:[0,0,-.41015237421866746],selected:!1,centerRoofHeight:[0,6.274887651356121],lz:6,lx:4.020589438652484,leftRoofHeight:6,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cy:-2.0529036258004867,relativeAngle:5681468402920898e-31,selected:!1,normal:[0,0,1],lz:6,parentId:"67y6tGP5Z273J9KfaZt2qW",windows:[],ly:.3,textureType:"Wall Texture Default",leftJoints:["42wy1mrJXkRG5d8TpG2sXB"],roofId:"vamU7TTNZeBARJChC8HbPy",cz:0,leftPoint:[-9.97874294335964,-2.052903625800489,0],lineWidth:.2,id:"c2T86bj1Ndr1wBUNfBDMTd",rightRoofHeight:6,color:"white",locked:!1,cx:-6.070517302064583,lineColor:"black",lx:7.816451282590114,type:"Wall",rotation:[0,0,-.41015237421866746],rightPoint:[-2.1622916607695264,-2.0529036258004845,0],rightJoints:["vVaHoupmNeeUhBf8aEhNwN"],showLabel:!1,foundationId:"67y6tGP5Z273J9KfaZt2qW",leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{showLabel:!1,lineWidth:.2,lx:4.020589438652497,cy:-.042608906474240316,color:"white",lineColor:"black",leftJoints:["vyB1xaFqKE2eYECPWHSjtt"],id:"42wy1mrJXkRG5d8TpG2sXB",leftPoint:[-9.978742943359647,1.9676858128520083,0],ly:.3,cz:0,parentId:"67y6tGP5Z273J9KfaZt2qW",rightRoofHeight:6,lz:6,type:"Wall",cx:-9.978742943359643,relativeAngle:-1.5707963267948948,foundationId:"67y6tGP5Z273J9KfaZt2qW",normal:[0,0,1],rightJoints:["c2T86bj1Ndr1wBUNfBDMTd"],textureType:"Wall Texture Default",locked:!1,selected:!1,centerRoofHeight:[0,6.274887651356121],windows:[],roofId:"vamU7TTNZeBARJChC8HbPy",leftRoofHeight:6,rightPoint:[-9.97874294335964,-2.052903625800489,0],rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,id:"vyB1xaFqKE2eYECPWHSjtt",textureType:"Wall Texture Default",lx:7.816451282590123,leftRoofHeight:6,color:"white",selected:!1,roofId:"vamU7TTNZeBARJChC8HbPy",showLabel:!1,cz:3.7151685093329987,cx:-6.0705173020645855,rotation:[0,0,-.41015237421866746],type:"Wall",rightPoint:[-9.978742943359647,1.9676858128520083,0],ly:.3,lineWidth:.2,windows:[],parentId:"67y6tGP5Z273J9KfaZt2qW",foundationId:"67y6tGP5Z273J9KfaZt2qW",leftJoints:["vVaHoupmNeeUhBf8aEhNwN"],cy:1.9676858128520038,locked:!1,relativeAngle:3.1415926535897922,rightJoints:["42wy1mrJXkRG5d8TpG2sXB"],leftPoint:[-2.1622916607695246,1.9676858128519996,0],lineColor:"black",lz:6,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cz:.5,id:"vr622m4sUbseJrnaD3qEiM",cx:-34.35924569376295,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lz:1,normal:[0,0,1],solarPowerTower:{},selected:!1,lx:9.87769053193653,ly:13.609083182601537,solarUpdraftTower:{},locked:!1,parentId:"Ground",type:"Foundation",cy:-110.59011455401989},{leftJoints:["mMXGrqXV1RkkkiT4sMy7uW"],lineWidth:.2,cz:0,rightRoofHeight:5.5,rightPoint:[-3.499999999999999,5.5,0],cy:5.5,relativeAngle:3.141592653589793,color:"white",roofId:"2v86EFgUZGnV81678JbvWF",locked:!1,windows:[],leftPoint:[3.5,5.5,0],lz:5.5,selected:!1,type:"Wall",normal:[0,0,1],rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",showLabel:!1,id:"3XaMSJRAJ16nXkn1WKx9DA",lx:6.999999999999999,foundationId:"vr622m4sUbseJrnaD3qEiM",ly:.3,rightJoints:["fgcrmKBkK397YQPfDfJ1C1"],parentId:"vr622m4sUbseJrnaD3qEiM",leftRoofHeight:5.5,lineColor:"black",cx:4440892098500626e-31,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{rightJoints:["3XaMSJRAJ16nXkn1WKx9DA"],lx:6.000000000000007,windows:[],rotation:[0,0,-.41015237421866746],locked:!1,normal:[0,0,1],lineColor:"black",showLabel:!1,leftJoints:["gphnEpjKALdRhPrtitPn39"],lz:5.5,rightRoofHeight:5.5,selected:!1,foundationId:"vr622m4sUbseJrnaD3qEiM",leftRoofHeight:5.5,parentId:"vr622m4sUbseJrnaD3qEiM",ly:.3,lineWidth:.2,cy:2.5000000000000036,id:"mMXGrqXV1RkkkiT4sMy7uW",rightPoint:[3.499999999999996,5.500000000000007,0],cz:0,textureType:"Wall Texture Default",leftPoint:[3.5,-.5,0],relativeAngle:1.5707963267948974,type:"Wall",roofId:"2v86EFgUZGnV81678JbvWF",cx:3.4999999999999982,color:"white",centerRoofHeight:[.5,5.5],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{selected:!1,type:"Wall",windows:[],leftPoint:[-3.499999999999999,5.5,0],parentId:"vr622m4sUbseJrnaD3qEiM",normal:[0,0,1],rightRoofHeight:5.5,color:"white",lineWidth:.2,cz:0,rotation:[0,0,-.41015237421866746],lz:5.5,lineColor:"black",lx:6,leftRoofHeight:5.5,centerRoofHeight:[-.5,5.5],cy:2.5,foundationId:"vr622m4sUbseJrnaD3qEiM",relativeAngle:4.71238898038469,roofId:"2v86EFgUZGnV81678JbvWF",rightJoints:["gphnEpjKALdRhPrtitPn39"],locked:!1,cx:-3.4999999999999996,textureType:"Wall Texture Default",leftJoints:["3XaMSJRAJ16nXkn1WKx9DA"],ly:.3,id:"fgcrmKBkK397YQPfDfJ1C1",showLabel:!1,rightPoint:[-3.5,-.5,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{lz:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],foundationId:"vr622m4sUbseJrnaD3qEiM",cy:-.5000000000000013,cx:-11102230246251565e-31,rightPoint:[3.5,-.5,0],type:"Wall",locked:!1,rotation:[0,0,-.41015237421866746],color:"white",rightRoofHeight:5.5,parentId:"vr622m4sUbseJrnaD3qEiM",showLabel:!1,lx:7.000000000000002,lineColor:"black",id:"gphnEpjKALdRhPrtitPn39",selected:!1,rightJoints:["mMXGrqXV1RkkkiT4sMy7uW"],relativeAngle:3806478941571964e-31,lineWidth:.2,roofId:"2v86EFgUZGnV81678JbvWF",ly:.3,leftRoofHeight:5.5,normal:[0,0,1],textureType:"Wall Texture Default",leftJoints:["fgcrmKBkK397YQPfDfJ1C1"],windows:[],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{normal:[0,0,1],lz:0,selected:!1,lineWidth:.2,lineColor:"black",ridgeLeftPoint:[-.5,1],roofType:"Gable",rotation:[0,0,-.41015237421866746],ridgeRightPoint:[.5,1],color:"#ffffff",wallsId:["gphnEpjKALdRhPrtitPn39"],foundationId:"vr622m4sUbseJrnaD3qEiM",showLabel:!1,lx:0,ly:0,type:"Roof",id:"2v86EFgUZGnV81678JbvWF",cy:0,textureType:"No Roof Texture",parentId:"vr622m4sUbseJrnaD3qEiM",locked:!1,thickness:.2,cz:0,cx:0,rise:0,ceiling:!1},{faceColors:["#808080","#808080","#808080","#808080","gray","gray"],type:"Cuboid",normal:[0,0,1],lz:10,color:"#808080",rotation:[0,0,-.41015237421866746],id:"tJwtVMueteLadJkjPMvgHJ",ly:5.2309404248682405,lx:17.77873962075454,parentId:"Ground",cy:-91.40202421369783,selected:!1,cx:-30.993558257452644,cz:5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1},{normal:[0,0,1],locked:!1,cy:-78.92340302016538,type:"Cuboid",color:"gray",lx:1.0334892378492886,id:"bsLSWBxdTE3mxEDuQuAp85",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,lz:10,parentId:"Ground",ly:1.0961848981988211,faceColors:["gray","gray","gray","gray","gray","gray"],cz:5,rotation:[0,0,-.41015237421866746],cx:-51.860873283037826},{cx:-50.86971253877132,cy:-76.80735590147192,color:"gray",parentId:"Ground",selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],lz:10,ly:1.0961848981988211,cz:5,faceColors:["gray","gray","gray","gray","gray","gray"],id:"iiF3WkKwiFkKBVE2vpXCby",lx:1.0334892378492886,normal:[0,0,1],locked:!1,type:"Cuboid"},{cx:-40.795288101438004,normal:[0,0,1],selected:!1,cy:-87.54304825772702,faceColors:["gray","gray","gray","gray","gray","gray"],ly:1.57584749281375,cz:5,type:"Cuboid",locked:!1,id:"fxmDEQJYBtbGKzqxLPsYbc",rotation:[0,0,-.41015237421866746],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,parentId:"Ground",color:"gray",lx:2.5033124327375345},{cx:-65.84838339559631,parentId:"Ground",id:"gEHbpQXkCu9RtbMyy3Xryz",solarPowerTower:{},cz:.5,type:"Foundation",lz:1,locked:!1,normal:[0,0,1],solarUpdraftTower:{},lx:23.72966343486742,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},selected:!1,ly:44.45702535517728,cy:23.93484529988586},{foundationId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,type:"Wall",lineWidth:.2,rightJoints:["e5up5WS9fCbKNmdUhKFsh6"],ly:.3,parentId:"gEHbpQXkCu9RtbMyy3Xryz",leftJoints:["wxDvuiUvYK71aR1xZ9r86C"],cx:6.378439777987635,windows:[],roofId:"8JTXb2hRmgAaiTxMs35gh1",rightRoofHeight:5,leftRoofHeight:5,leftPoint:[6.378439777987634,-14.93662498464927,0],normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],selected:!1,color:"white",rightPoint:[6.378439777987638,13.906512916742425,0],relativeAngle:1.5707963267948966,lz:5,showLabel:!1,lineColor:"black",lx:28.843137901391696,id:"pk5HH5mW7Fkgf2nUSMZyW9",textureType:"Wall Texture Default",cy:-.5150560339534227,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:0,locked:!1,relativeAngle:0,selected:!1,rightRoofHeight:5,color:"white",lineColor:"black",lx:6.909976426153277,ly:.3,textureType:"Wall Texture Default",windows:[],leftPoint:[-.5315366481656362,-14.93662498464927,0],lz:5,rightJoints:["pk5HH5mW7Fkgf2nUSMZyW9"],type:"Wall",cx:2.9234515649110024,rightPoint:[6.378439777987641,-14.93662498464927,0],leftRoofHeight:5,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,rotation:[0,0,-.41015237421866746],roofId:"8JTXb2hRmgAaiTxMs35gh1",normal:[0,0,1],leftJoints:["jmovDX25miN2VZhEhqh9uy"],cy:-14.93662498464927,lineWidth:.2,parentId:"gEHbpQXkCu9RtbMyy3Xryz",id:"wxDvuiUvYK71aR1xZ9r86C",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightJoints:["ncaNE7qPYcxTMDrSjrKjqC"],type:"Wall",lz:5,rightRoofHeight:5,cy:13.906512916742425,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",selected:!1,cx:2.923451564911001,lx:6.909976426153274,cz:0,lineWidth:.2,id:"e5up5WS9fCbKNmdUhKFsh6",leftJoints:["pk5HH5mW7Fkgf2nUSMZyW9"],locked:!1,lineColor:"black",showLabel:!1,leftRoofHeight:5,ly:.3,leftPoint:[6.378439777987638,13.906512916742425,0],color:"white",roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",textureType:"Wall Texture Default",rightPoint:[-.5315366481656362,13.906512916742425,0],rotation:[0,0,-.41015237421866746],relativeAngle:3.141592653589793,windows:[],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{ly:.3,normal:[0,0,1],rotation:[0,0,-.41015237421866746],parentId:"gEHbpQXkCu9RtbMyy3Xryz",id:"ncaNE7qPYcxTMDrSjrKjqC",rightJoints:["4z9pAxyVBGgvcBfL2oBkTg"],lineColor:"black",color:"white",type:"Wall",cy:11.331232746975312,locked:!1,windows:[],rightPoint:[-2.6576832408281814,8.755952577208193,0],lz:5,roofId:"8JTXb2hRmgAaiTxMs35gh1",leftJoints:["e5up5WS9fCbKNmdUhKFsh6"],selected:!1,lx:5.572142419633009,leftPoint:[-.5315366481656337,13.90651291674243,0],relativeAngle:-1.962287472589105,leftRoofHeight:5,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,cz:0,textureType:"Wall Texture Default",lineWidth:.2,rightRoofHeight:5,cx:-1.5946099444969075,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-2.6576832408281814,-10.301120679068463,0],lineColor:"black",id:"jmovDX25miN2VZhEhqh9uy",leftJoints:["vmWMc4Nmqnx9AxgePRvtFK"],rightRoofHeight:5,ly:.3,cz:0,windows:[],relativeAngle:-1.1407594566434893,parentId:"gEHbpQXkCu9RtbMyy3Xryz",leftRoofHeight:5,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",lz:5,showLabel:!1,color:"white",cy:-12.618872831858864,roofId:"8JTXb2hRmgAaiTxMs35gh1",lx:5.0998430858751655,cx:-1.5946099444969064,lineWidth:.2,type:"Wall",normal:[0,0,1],locked:!1,rightPoint:[-.5315366481656315,-14.936624984649265,0],selected:!1,rightJoints:["wxDvuiUvYK71aR1xZ9r86C"],foundationId:"gEHbpQXkCu9RtbMyy3Xryz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lineColor:"black",type:"Wall",leftPoint:[-2.657683240828184,8.75595257720819,0],rightRoofHeight:5,leftRoofHeight:5,rotation:[0,0,-.41015237421866746],color:"white",normal:[0,0,1],ly:.3,textureType:"Wall Texture Default",parentId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,lz:5,showLabel:!1,rightPoint:[-3.720756537159453,3.0903362037205393,0],relativeAngle:-1.756275603957499,cx:-3.1892198889938186,leftJoints:["ncaNE7qPYcxTMDrSjrKjqC"],roofId:"8JTXb2hRmgAaiTxMs35gh1",lineWidth:.2,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",windows:[],lx:5.764489025482136,id:"4z9pAxyVBGgvcBfL2oBkTg",selected:!1,rightJoints:["9Zt1Jh2MmnkaBKaBtYD19E"],locked:!1,cy:5.923144390464365,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-3.720756537159453,-3.605392237673962,0],roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,leftRoofHeight:5,cx:-3.1892198889938137,leftJoints:["9Zt1Jh2MmnkaBKaBtYD19E"],type:"Wall",cy:-6.953256458371211,windows:[],color:"white",rightRoofHeight:5,rightJoints:["jmovDX25miN2VZhEhqh9uy"],textureType:"Wall Texture Default",lx:6.779594692477702,lz:5,rightPoint:[-2.6576832408281743,-10.30112067906846,0],relativeAngle:-1.4133416859659305,lineColor:"black",id:"vmWMc4Nmqnx9AxgePRvtFK",ly:.3,rotation:[0,0,-.41015237421866746],lineWidth:.2,locked:!1,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,normal:[0,0,1],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{showLabel:!1,lz:5,type:"Wall",leftJoints:["4z9pAxyVBGgvcBfL2oBkTg"],relativeAngle:-1.5707963267948966,normal:[0,0,1],rotation:[0,0,-.41015237421866746],selected:!1,lineColor:"black",rightJoints:["vmWMc4Nmqnx9AxgePRvtFK"],windows:[],color:"white",ly:.3,roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",rightRoofHeight:5,id:"9Zt1Jh2MmnkaBKaBtYD19E",leftPoint:[-3.720756537159453,3.0903362037205393,0],lineWidth:.2,lx:6.695728441394501,rightPoint:[-3.720756537159453,-3.605392237673962,0],cy:-.25752801697671135,cz:0,leftRoofHeight:5,locked:!1,cx:-3.720756537159453,textureType:"Wall Texture Default",foundationId:"gEHbpQXkCu9RtbMyy3Xryz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{normal:[0,0,1],type:"Foundation",solarPowerTower:{},cz:.5,parentId:"Ground",lx:60.173882739434646,solarAbsorberPipe:{},id:"iUb7PSjszf44Zg2YisnC92",rotation:[0,0,-.41015237421866746],locked:!1,ly:39.103180000408386,selected:!1,cy:-92.19721962691857,cx:-31.79924395729909,lz:1,solarUpdraftTower:{}},{cy:-.32818957860566655,normal:[0,0,1],relativeAngle:1.5707963267948966,rightPoint:[29.377149084975663,17.921810421394337,1],rotation:[0,0,-.41015237421866746],rightRoofHeight:5,type:"Wall",locked:!1,cz:0,roofId:"sYHDayEkzyov7moz6ZSxMu",lx:36.5,selected:!1,leftPoint:[29.377149084975656,-18.57818957860566,1],parentId:"iUb7PSjszf44Zg2YisnC92",id:"8M5AjFRvfsj1XtZsKZtgrR",leftJoints:["vBUTysuRjhgkSBTqe4LbYB"],cx:29.37714908497567,ly:.3,rightJoints:["fof9eWFH74VGAR5Qpn7HGe"],color:"white",foundationId:"iUb7PSjszf44Zg2YisnC92",textureType:"Wall Texture Default",lz:5,leftRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightRoofHeight:5,ly:.3,cy:-18.328189578605663,lz:5,locked:!1,cx:.3771490849756667,cz:0,leftPoint:[-28.622850915024337,-18.07818957860566,1],parentId:"iUb7PSjszf44Zg2YisnC92",color:"white",lx:58.00215513237418,id:"vBUTysuRjhgkSBTqe4LbYB",selected:!1,normal:[0,0,1],textureType:"Wall Texture Default",type:"Wall",relativeAngle:6.27456483106745,leftRoofHeight:5,leftJoints:["nSEqG4yU7gG9aGhAQPfSs7"],rightJoints:["8M5AjFRvfsj1XtZsKZtgrR"],rotation:[0,0,-.41015237421866746],rightPoint:[29.37714908497567,-18.578189578605652,1],foundationId:"iUb7PSjszf44Zg2YisnC92",roofId:"sYHDayEkzyov7moz6ZSxMu",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{roofId:"sYHDayEkzyov7moz6ZSxMu",selected:!1,color:"white",cz:0,relativeAngle:4.726276976315656,type:"Wall",rightPoint:[-28.622850915024348,-18.078189578605663,1],parentId:"iUb7PSjszf44Zg2YisnC92",cy:-.07818957860566123,rightRoofHeight:5,lx:36.003472054789384,foundationId:"iUb7PSjszf44Zg2YisnC92",locked:!1,ly:.3,rightJoints:["vBUTysuRjhgkSBTqe4LbYB"],textureType:"Wall Texture Default",leftJoints:["fof9eWFH74VGAR5Qpn7HGe"],rotation:[0,0,-.41015237421866746],leftPoint:[-29.122850915024344,17.921810421394333,1],lz:5,cx:-28.87285091502434,id:"nSEqG4yU7gG9aGhAQPfSs7",leftRoofHeight:5,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{foundationId:"iUb7PSjszf44Zg2YisnC92",cz:0,lx:58.50000000000001,color:"white",leftRoofHeight:5,leftPoint:[29.377149084975663,17.921810421394337,1],rightPoint:[-29.122850915024344,17.921810421394333,1],rightRoofHeight:5,type:"Wall",leftJoints:["8M5AjFRvfsj1XtZsKZtgrR"],cx:.12714908497566135,cy:17.921810421394333,roofId:"sYHDayEkzyov7moz6ZSxMu",selected:!1,id:"fof9eWFH74VGAR5Qpn7HGe",lz:5,relativeAngle:3.141592653589793,locked:!1,ly:.3,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],parentId:"iUb7PSjszf44Zg2YisnC92",rightJoints:["nSEqG4yU7gG9aGhAQPfSs7"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{ridgeLeftPoint:[0,1],wallsId:["vyB1xaFqKE2eYECPWHSjtt"],selected:!1,lineColor:"black",thickness:.2,textureType:"No Roof Texture",cy:0,locked:!1,lx:0,foundationId:"67y6tGP5Z273J9KfaZt2qW",type:"Roof",id:"vamU7TTNZeBARJChC8HbPy",ridgeRightPoint:[0,1],showLabel:!1,cz:0,lineWidth:.2,lz:0,cx:0,parentId:"67y6tGP5Z273J9KfaZt2qW",ly:0,color:"#ffffff",roofType:"Gable",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rise:.2748876513561207,ceiling:!1},{rotation:[0,0,-.41015237421866746],color:"white",leftJoints:["aAXg3DaZ5U93pUr6mT9qRa"],rightPoint:[21.241978419322884,-31.078254176042062,1],relativeAngle:-8350902447731317e-31,cz:0,lz:6,normal:[0,0,1],leftPoint:[-21.300892857609153,-31.07825417604202,1],rightJoints:["eVDG7gqXM3uLaHhJS5k6Fh"],textureType:"Wall Texture Default",cx:-.02945721914313104,cy:-31.078254176042037,selected:!1,lx:42.54287127693204,type:"Wall",roofId:"a67eFG3dY8EiYs3GWgTwsF",id:"eH6hFH3ypVjToGKtFHdgq1",ly:.3,parentId:"un11oZ7V5tAhWhFKuL8M5Q",locked:!1,foundationId:"un11oZ7V5tAhWhFKuL8M5Q",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{leftJoints:["eH6hFH3ypVjToGKtFHdgq1"],cx:21.241978419322905,textureType:"Wall Texture Default",type:"Wall",parentId:"un11oZ7V5tAhWhFKuL8M5Q",lx:60.8712338982037,locked:!1,roofId:"a67eFG3dY8EiYs3GWgTwsF",id:"eVDG7gqXM3uLaHhJS5k6Fh",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",selected:!1,lz:6,cz:0,rightPoint:[21.241978419322912,29.792979722161636,1],leftPoint:[21.241978419322884,-31.078254176042062,1],rotation:[0,0,-.41015237421866746],rightRoofHeight:6,leftRoofHeight:6,ly:.3,rightJoints:["n7z5CC6u32wsAzBksvYYPh"],color:"white",relativeAngle:1.5707963267948961,normal:[0,0,1],cy:-.6426372269402103,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",id:"n7z5CC6u32wsAzBksvYYPh",cz:0,cx:-.029457219143118607,color:"white",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",leftPoint:[21.241978419322912,29.792979722161636,1],rightPoint:[-21.300892857609156,29.792979722161586,1],rightJoints:["aAXg3DaZ5U93pUr6mT9qRa"],lx:42.542871276932075,lz:6,locked:!1,rightRoofHeight:6,selected:!1,ly:.3,cy:29.792979722161608,relativeAngle:-3.1415926535897922,textureType:"Wall Texture Default",leftRoofHeight:6,normal:[0,0,1],leftJoints:["eVDG7gqXM3uLaHhJS5k6Fh"],rotation:[0,0,-.41015237421866746],roofId:"a67eFG3dY8EiYs3GWgTwsF",parentId:"un11oZ7V5tAhWhFKuL8M5Q",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{parentId:"un11oZ7V5tAhWhFKuL8M5Q",textureType:"Wall Texture Default",cy:-.6426372269402094,cx:-21.300892857609156,ly:.3,normal:[0,0,1],rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948966,lx:60.87123389820361,leftPoint:[-21.300892857609156,29.792979722161586,1],rightPoint:[-21.300892857609153,-31.07825417604202,1],selected:!1,leftRoofHeight:6,locked:!1,rightJoints:["eH6hFH3ypVjToGKtFHdgq1"],rightRoofHeight:6,foundationId:"un11oZ7V5tAhWhFKuL8M5Q",id:"aAXg3DaZ5U93pUr6mT9qRa",cz:0,color:"white",lz:6,type:"Wall",roofId:"a67eFG3dY8EiYs3GWgTwsF",leftJoints:["n7z5CC6u32wsAzBksvYYPh"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{solarUpdraftTower:{},parentId:"Ground",rotation:[0,0,-.41015237421866746],solarPowerTower:{},selected:!1,cy:87.53589386962994,lz:1,cz:.5,type:"Foundation",id:"un11oZ7V5tAhWhFKuL8M5Q",locked:!1,normal:[0,0,1],cx:45.25333009420649,solarAbsorberPipe:{},lx:43.198179226129824,ly:63.27584645952004},{rightJoints:["e9GuUTJEvD6Q7osTyxTwrk"],color:"white",lx:52.85122191172576,rightRoofHeight:10,ly:.3,lz:10,leftRoofHeight:10,cx:-1.8343056423094959,locked:!1,rotation:[0,0,-.41015237421866746],normal:[0,0,1],relativeAngle:3.141592653589793,leftJoints:["3Yax97DpPm9sAXkyokJjCv"],type:"Wall",parentId:"pdEGhJFD3W3BmcX1EPbyWH",foundationId:"pdEGhJFD3W3BmcX1EPbyWH",cz:0,cy:17.27662252082144,leftPoint:[24.59130531355338,17.276622520821444,1],id:"2zTB9zP2crzAGhXAKtKuuQ",rightPoint:[-28.259916598172374,17.276622520821448,1],selected:!1,textureType:"Wall Texture Default",roofId:"u17BQ8h2PCTPBYHjaSoxnN",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightRoofHeight:10,rightPoint:[24.591305313553377,17.276622520821448,1],leftJoints:["9QvBYUfBnBzYQEjDjyYwwJ"],rightJoints:["2zTB9zP2crzAGhXAKtKuuQ"],cx:24.591305313553377,normal:[0,0,1],foundationId:"pdEGhJFD3W3BmcX1EPbyWH",id:"3Yax97DpPm9sAXkyokJjCv",type:"Wall",locked:!1,lx:33.26826380090492,rotation:[0,0,-.41015237421866746],ly:.3,textureType:"Wall Texture Default",color:"white",relativeAngle:1.5707963267948968,lz:10,leftPoint:[24.591305313553377,-15.991641280083474,1],selected:!1,parentId:"pdEGhJFD3W3BmcX1EPbyWH",roofId:"u17BQ8h2PCTPBYHjaSoxnN",leftRoofHeight:10,cz:0,cy:.6424906203689869,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"u17BQ8h2PCTPBYHjaSoxnN",rightRoofHeight:10,normal:[0,0,1],cy:-15.99164128008347,rotation:[0,0,-.41015237421866746],rightPoint:[24.59130531355339,-15.99164128008347,1],relativeAngle:13444206397855422e-32,leftJoints:["e9GuUTJEvD6Q7osTyxTwrk"],leftRoofHeight:10,textureType:"Wall Texture Default",lz:10,foundationId:"pdEGhJFD3W3BmcX1EPbyWH",leftPoint:[-28.259916598172378,-15.991641280083478,1],cx:-1.8343056423094914,ly:.3,parentId:"pdEGhJFD3W3BmcX1EPbyWH",id:"9QvBYUfBnBzYQEjDjyYwwJ",cz:0,rightJoints:["3Yax97DpPm9sAXkyokJjCv"],selected:!1,type:"Wall",locked:!1,color:"white",lx:52.85122191172576,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:33.268263800904926,roofId:"u17BQ8h2PCTPBYHjaSoxnN",locked:!1,color:"white",lz:10,leftPoint:[-28.259916598172374,17.276622520821448,1],cz:0,cx:-28.259916598172378,foundationId:"pdEGhJFD3W3BmcX1EPbyWH",rightRoofHeight:10,rightJoints:["9QvBYUfBnBzYQEjDjyYwwJ"],rightPoint:[-28.25991659817238,-15.991641280083474,1],leftJoints:["2zTB9zP2crzAGhXAKtKuuQ"],rotation:[0,0,-.41015237421866746],cy:.6424906203689869,parentId:"pdEGhJFD3W3BmcX1EPbyWH",leftRoofHeight:10,selected:!1,id:"e9GuUTJEvD6Q7osTyxTwrk",ly:.3,textureType:"Wall Texture Default",normal:[0,0,1],type:"Wall",relativeAngle:-1.5707963267948968,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:35.70031798940237,cy:9.0346445367948,cx:-34.76955763240692,solarPowerTower:{},id:"pdEGhJFD3W3BmcX1EPbyWH",solarUpdraftTower:{},lz:1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,parentId:"Ground",type:"Foundation",color:"#808080",lx:61.18626972549096,rotation:[0,0,-.41015237421866746],locked:!1,cz:.5},{ly:.3,rightJoints:["uSo7fsB5ruR2pmb3hS5LJZ"],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightPoint:[-11.5,12.5,0],selected:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],leftRoofHeight:5,color:"white",rightRoofHeight:5,locked:!1,leftJoints:["9NzKjLTF3oM85YSQpL4gnd"],relativeAngle:1.5707963267948961,lz:5,cx:-11.5,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",cz:0,lx:4.5000000000000036,cy:10.249999999999998,parentId:"5Ccs4YQJG3fyuyHdGw79zD",textureType:"Wall Texture Default",id:"qVHFnW8AAY4XUoieeiErxH",leftPoint:[-11.500000000000002,7.9999999999999964,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cy:-3.699284342853991,cz:0,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"o6KGNbWFg87od5BX9EpsTo",leftRoofHeight:5,rightJoints:["9NzKjLTF3oM85YSQpL4gnd"],lz:5,normal:[0,0,1],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightPoint:[19,8,0],type:"Wall",rightRoofHeight:5,lx:23.399166797479726,locked:!1,leftJoints:["2TSEdoLpnDva8vLd5CzUbS"],relativeAngle:1.577946340946004,selected:!1,textureType:"Wall Texture Default",cx:19.08365147411056,color:"white",rotation:[0,0,-.41015237421866746],ly:.3,leftPoint:[19.167302948221124,-15.398568685707982,0],parentId:"5Ccs4YQJG3fyuyHdGw79zD",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{roofId:"iLELU7fMnA7QkYUmgQBEWM",id:"2TSEdoLpnDva8vLd5CzUbS",rightRoofHeight:5,locked:!1,normal:[0,0,1],cy:-15.449284342853987,parentId:"5Ccs4YQJG3fyuyHdGw79zD",rotation:[0,0,-.41015237421866746],leftPoint:[-17.5,-15.5,0],foundationId:"5Ccs4YQJG3fyuyHdGw79zD",ly:.3,rightPoint:[19.16730294822113,-15.398568685707975,0],selected:!1,rightJoints:["o6KGNbWFg87od5BX9EpsTo"],leftJoints:["g6f1sfDxicEvG7uLqaixdo"],relativeAngle:.0027662535123536003,type:"Wall",cx:.8336514741105656,lz:5,textureType:"Wall Texture Default",leftRoofHeight:5,lx:36.667443240675304,color:"white",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftJoints:["susL6EqdzG6nqxMNGZaDXi"],rightPoint:[-17.5,-15.5,0],rotation:[0,0,-.41015237421866746],ly:.3,leftRoofHeight:5,selected:!1,color:"white",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"g6f1sfDxicEvG7uLqaixdo",parentId:"5Ccs4YQJG3fyuyHdGw79zD",lx:12.5,textureType:"Wall Texture Default",locked:!1,rightJoints:["2TSEdoLpnDva8vLd5CzUbS"],cy:-9.25,type:"Wall",leftPoint:[-17.5,-3,0],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightRoofHeight:5,lz:5,relativeAngle:4.71238898038469,cx:-17.5,cz:0,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:.5,ly:46.30008176444467,color:"#808080",selected:!1,solarUpdraftTower:{},locked:!1,solarAbsorberPipe:{},type:"Foundation",cy:36.64822593291561,id:"5Ccs4YQJG3fyuyHdGw79zD",rotation:[0,0,-.41015237421866746],cx:-16.881510447516995,lx:50.75601134711293,parentId:"Ground",lz:1,normal:[0,0,1],solarPowerTower:{}},{type:"Wall",foundationId:"bEJsUFdHaD6DHGcx6x8yR6",rightPoint:[-13.223409044384212,13.466478685194005,1],rightJoints:["wv4UgZqFkoaJSym14cGEUi"],ly:.3,rightRoofHeight:10,roofId:"gTmk5BL11HKrSyJkFQtskK",locked:!1,normal:[0,0,1],cx:2.2442947755447555,leftRoofHeight:10,relativeAngle:3.141592653589793,cy:13.466478685194003,cz:0,rotation:[0,0,-.41015237421866746],parentId:"bEJsUFdHaD6DHGcx6x8yR6",color:"white",id:"3VxH8hmRUhtWZN2xHFt4SG",selected:!1,textureType:"Wall Texture Default",leftJoints:["xrxYGVSxLCof2hSDyYDBhi"],leftPoint:[17.711998595473723,13.466478685193998,1],lz:10,lx:30.935407639857935,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[17.71199859547372,-9.01511632562459,1],color:"white",lz:10,foundationId:"bEJsUFdHaD6DHGcx6x8yR6",rotation:[0,0,-.41015237421866746],cy:2.2256811797847043,lx:22.481595010818598,leftJoints:["arZ3wqpChkyUrckbL7omCG"],roofId:"gTmk5BL11HKrSyJkFQtskK",textureType:"Wall Texture Default",locked:!1,cx:17.71199859547372,rightPoint:[17.711998595473712,13.466478685194001,1],parentId:"bEJsUFdHaD6DHGcx6x8yR6",leftRoofHeight:10,ly:.3,type:"Wall",normal:[0,0,1],id:"xrxYGVSxLCof2hSDyYDBhi",relativeAngle:1.570796326794897,selected:!1,rightJoints:["3VxH8hmRUhtWZN2xHFt4SG"],rightRoofHeight:10,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{foundationId:"bEJsUFdHaD6DHGcx6x8yR6",textureType:"Wall Texture Default",parentId:"bEJsUFdHaD6DHGcx6x8yR6",cy:-9.015116325624591,type:"Wall",roofId:"gTmk5BL11HKrSyJkFQtskK",locked:!1,selected:!1,relativeAngle:5742147832930279e-32,lx:30.935407639857935,id:"arZ3wqpChkyUrckbL7omCG",rightPoint:[17.711998595473727,-9.015116325624586,1],normal:[0,0,1],leftRoofHeight:10,leftPoint:[-13.223409044384207,-9.015116325624595,1],cx:2.244294775544758,ly:.3,cz:0,lz:10,rightRoofHeight:10,rotation:[0,0,-.41015237421866746],leftJoints:["wv4UgZqFkoaJSym14cGEUi"],color:"white",rightJoints:["xrxYGVSxLCof2hSDyYDBhi"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],selected:!1,leftPoint:[-13.223409044384212,13.466478685194005,1],lx:22.4815950108186,cz:0,locked:!1,leftRoofHeight:10,foundationId:"bEJsUFdHaD6DHGcx6x8yR6",type:"Wall",parentId:"bEJsUFdHaD6DHGcx6x8yR6",rightPoint:[-13.223409044384217,-9.0151163256246,1],ly:.3,leftJoints:["3VxH8hmRUhtWZN2xHFt4SG"],rightRoofHeight:10,relativeAngle:-1.5707963267948968,cx:-13.22340904438421,id:"wv4UgZqFkoaJSym14cGEUi",roofId:"gTmk5BL11HKrSyJkFQtskK",cy:2.225681179784705,normal:[0,0,1],textureType:"Wall Texture Default",rightJoints:["arZ3wqpChkyUrckbL7omCG"],color:"white",lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:38.16899134770527,locked:!1,type:"Foundation",cz:.5,ly:29.987807733938208,solarAbsorberPipe:{},solarUpdraftTower:{},solarPowerTower:{},parentId:"Ground",cx:-9.057642071147427,rotation:[0,0,-.41015237421866746],color:"#808080",id:"bEJsUFdHaD6DHGcx6x8yR6",normal:[0,0,1],cy:51.32581716422129,lz:1,selected:!1},{foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,rotation:[0,0,-.41015237421866746],leftRoofHeight:5,lx:19.88616352810249,selected:!1,rightJoints:["bQ2Kx7puBgpzyzLtLqMSws"],normal:[0,0,1],ly:.3,cz:0,color:"white",leftJoints:["oiFAJnXcnAH7zdnComwnZ7"],roofId:"1qyyipEsGS2s5T9XgP6Hmh",id:"wQJum4dZFQ5ppcaqoirdh1",rightPoint:[-8.228455824549409,10.031147764731335,1],lz:5,locked:!1,cx:1.7146259395018353,textureType:"Wall Texture Default",relativeAngle:3.141592653589793,parentId:"wBnvyTf1aAJoT1h5Lem3nN",type:"Wall",cy:10.03114776473134,leftPoint:[11.657707703553081,10.031147764731333,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,cz:0,roofId:"1qyyipEsGS2s5T9XgP6Hmh",type:"Wall",color:"white",selected:!1,parentId:"wBnvyTf1aAJoT1h5Lem3nN",leftPoint:[11.657707703553083,-7.894846587717293,1],ly:.3,rightRoofHeight:5,relativeAngle:1.5707963267948972,normal:[0,0,1],rotation:[0,0,-.41015237421866746],foundationId:"wBnvyTf1aAJoT1h5Lem3nN",lx:17.92599435244863,leftRoofHeight:5,leftJoints:["cEMfGqLjg1Ef23MmrZJMBi"],id:"oiFAJnXcnAH7zdnComwnZ7",cy:1.0681505885070242,lz:5,rightJoints:["wQJum4dZFQ5ppcaqoirdh1"],textureType:"Wall Texture Default",cx:11.657707703553074,rightPoint:[11.657707703553076,10.03114776473133,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rotation:[0,0,-.41015237421866746],locked:!1,relativeAngle:8932627134891857e-32,lz:5,ly:.3,cy:-7.894846587717294,lx:19.886163528102486,selected:!1,leftRoofHeight:5,rightJoints:["oiFAJnXcnAH7zdnComwnZ7"],roofId:"1qyyipEsGS2s5T9XgP6Hmh",color:"white",normal:[0,0,1],parentId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,cx:1.714625939501836,foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightPoint:[11.657707703553083,-7.894846587717293,1],type:"Wall",leftJoints:["bQ2Kx7puBgpzyzLtLqMSws"],id:"cEMfGqLjg1Ef23MmrZJMBi",cz:0,leftPoint:[-8.22845582454941,-7.894846587717293,1],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,selected:!1,cx:-8.228455824549414,locked:!1,cz:0,color:"white",roofId:"1qyyipEsGS2s5T9XgP6Hmh",rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948968,rightJoints:["cEMfGqLjg1Ef23MmrZJMBi"],type:"Wall",leftJoints:["wQJum4dZFQ5ppcaqoirdh1"],lx:17.925994352448633,cy:1.0681505885070197,leftPoint:[-8.228455824549409,10.031147764731335,1],id:"bQ2Kx7puBgpzyzLtLqMSws",parentId:"wBnvyTf1aAJoT1h5Lem3nN",ly:.3,normal:[0,0,1],textureType:"Wall Texture Default",rightPoint:[-8.22845582454941,-7.894846587717293,1],leftRoofHeight:5,lz:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{parentId:"Ground",rotation:[0,0,-.41015237421866746],id:"wBnvyTf1aAJoT1h5Lem3nN",type:"Foundation",solarAbsorberPipe:{},ly:25.324222344655617,cx:-30.225503309474327,solarPowerTower:{},cz:.5,lz:1,normal:[0,0,1],locked:!1,lx:23.992259398375765,color:"#808080",solarUpdraftTower:{},cy:64.37240201413404,selected:!1},{selected:!1,color:"white",rightRoofHeight:5,ly:.3,parentId:"5Ccs4YQJG3fyuyHdGw79zD",id:"9NzKjLTF3oM85YSQpL4gnd",cy:7.999999999999999,cz:0,leftJoints:["o6KGNbWFg87od5BX9EpsTo"],lx:30.5,leftRoofHeight:5,showLabel:!1,lineColor:"black",leftPoint:[19,7.999999999999998,0],locked:!1,lz:5,cx:3.75,normal:[0,0,1],rightJoints:["qVHFnW8AAY4XUoieeiErxH"],lineWidth:.2,rightPoint:[-11.5,8,0],roofId:"iLELU7fMnA7QkYUmgQBEWM",type:"Wall",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",relativeAngle:3.141592653589793,rotation:[0,0,-.41015237421866746],windows:[],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightJoints:["4HqBTHcSgWW5QKhSZyPhns"],selected:!1,rightRoofHeight:5,id:"uSo7fsB5ruR2pmb3hS5LJZ",leftPoint:[-11.5,12.499999999999998,0],leftRoofHeight:5,lz:5,relativeAngle:3.141592653589793,showLabel:!1,lx:12,cz:0,textureType:"Wall Texture Default",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",leftJoints:["qVHFnW8AAY4XUoieeiErxH"],locked:!1,roofId:"iLELU7fMnA7QkYUmgQBEWM",cx:-17.5,parentId:"5Ccs4YQJG3fyuyHdGw79zD",lineWidth:.2,ly:.3,rotation:[0,0,-.41015237421866746],cy:12.5,normal:[0,0,1],type:"Wall",rightPoint:[-23.5,12.5,0],lineColor:"black",windows:[],color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,lx:15.5,rightRoofHeight:5,leftRoofHeight:5,showLabel:!1,relativeAngle:4.71238898038469,cy:4.75,cz:0,parentId:"5Ccs4YQJG3fyuyHdGw79zD",color:"white",cx:-23.5,textureType:"Wall Texture Default",leftPoint:[-23.5,12.5,0],rotation:[0,0,-.41015237421866746],lineWidth:.2,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",ly:.3,rightJoints:["susL6EqdzG6nqxMNGZaDXi"],type:"Wall",roofId:"iLELU7fMnA7QkYUmgQBEWM",lz:5,lineColor:"black",id:"4HqBTHcSgWW5QKhSZyPhns",normal:[0,0,1],selected:!1,windows:[],leftJoints:["uSo7fsB5ruR2pmb3hS5LJZ"],rightPoint:[-23.5,-3,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{selected:!1,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"susL6EqdzG6nqxMNGZaDXi",color:"white",cy:-3.000000000000001,cz:0,rotation:[0,0,-.41015237421866746],rightPoint:[-17.5,-3,0],leftRoofHeight:5,lz:5,leftJoints:["4HqBTHcSgWW5QKhSZyPhns"],parentId:"5Ccs4YQJG3fyuyHdGw79zD",normal:[0,0,1],textureType:"Wall Texture Default",locked:!1,ly:.3,lx:6,leftPoint:[-23.5,-3.0000000000000018,0],lineColor:"black",lineWidth:.2,showLabel:!1,rightJoints:["g6f1sfDxicEvG7uLqaixdo"],windows:[],roofId:"iLELU7fMnA7QkYUmgQBEWM",relativeAngle:29605947323337506e-32,cx:-20.5,type:"Wall",rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{relativeAngle:3.141592653589793,color:"white",leftPoint:[14.941525004458317,12.56263735597024,1],cy:12.562637355970242,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftRoofHeight:12,rightPoint:[-13.249437673269998,12.562637355970246,1],cx:.8460436655941601,rotation:[0,0,-.41015237421866746],cz:0,selected:!1,rightJoints:["1RLyYLqhL7EB8W88F1YjMf"],leftJoints:["8SK72dWsX2KdwBhjqAJrHR"],normal:[0,0,1],type:"Wall",lz:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",textureType:"Wall Texture Default",rightRoofHeight:12,lx:28.190962677728308,parentId:"9VLFJ7oUEizHpLYBMkGrSR",ly:.3,locked:!1,id:"eAv1PVUtpNQ3MSDZw48MQs",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],parentId:"9VLFJ7oUEizHpLYBMkGrSR",rightJoints:["eAv1PVUtpNQ3MSDZw48MQs"],locked:!1,rightRoofHeight:12,lx:23.84442368092651,leftRoofHeight:12,ly:.3,relativeAngle:1.573797223078846,type:"Wall",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"g8pgyA4zcrzdfdvNphwHQy",id:"8SK72dWsX2KdwBhjqAJrHR",cz:0,color:"white",cx:14.977302271968785,rotation:[0,0,-.41015237421866746],leftJoints:["feUXDC3dk8QN3nPhgvxRs7"],selected:!1,leftPoint:[15.013079539479259,-11.281678961006573,1],lz:12,cy:.6404791974818389,rightPoint:[14.941525004458313,12.562637355970246,1],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{parentId:"9VLFJ7oUEizHpLYBMkGrSR",locked:!1,id:"mJUeyE2zphErZr6GzDs3tZ",color:"white",leftJoints:["1RLyYLqhL7EB8W88F1YjMf"],rotation:[0,0,-.41015237421866746],lz:12,lx:10.00000000000001,rightRoofHeight:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",cz:0,rightJoints:["j1cSjqWhsVxayuMSQv24u3"],leftPoint:[-13.48692046052075,-20.78167896100656,1],selected:!1,textureType:"Wall Texture Default",leftRoofHeight:12,rightPoint:[-3.4869204605207464,-20.78167896100657,1],ly:.3,relativeAngle:6.2831853071795845,cy:-20.781678961006566,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",type:"Wall",normal:[0,0,1],cx:-8.486920460520746,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{rightJoints:["mJUeyE2zphErZr6GzDs3tZ"],rightPoint:[-13.486920460520746,-20.78167896100657,1],roofId:"g8pgyA4zcrzdfdvNphwHQy",locked:!1,textureType:"Wall Texture Default",ly:.3,rotation:[0,0,-.41015237421866746],leftRoofHeight:12,type:"Wall",normal:[0,0,1],cy:-4.109520802518161,rightRoofHeight:12,lz:12,selected:!1,leftJoints:["eAv1PVUtpNQ3MSDZw48MQs"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",relativeAngle:4.705266963855983,cx:-13.36817906689537,lx:33.345161998719504,id:"1RLyYLqhL7EB8W88F1YjMf",cz:0,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftPoint:[-13.249437673270002,12.562637355970253,1],color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{selected:!1,solarUpdraftTower:{},rotation:[0,0,-.41015237421866746],parentId:"Ground",solarPowerTower:{},normal:[0,0,1],cy:-20.68271396979996,id:"9VLFJ7oUEizHpLYBMkGrSR",type:"Foundation",cz:.5,lz:1,lx:37.181112111986096,color:"#808080",cx:-37.24334643439944,locked:!1,ly:48.16142132853967,solarAbsorberPipe:{}},{rotation:[0,0,-.41015237421866746],rightRoofHeight:10,leftJoints:["2EixC2HpxvUhCDPQSQd8uE"],roofId:"teQS3ohvRHqAbgCQQahyC6",ly:.3,leftPoint:[22.429243972447885,21.46242092084928,1],type:"Wall",normal:[0,0,1],selected:!1,lz:10,lx:44.9605119434254,rightPoint:[-22.53126797097753,21.462420920849283,1],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",cx:-.05101199926482192,id:"c79sKVUHUztGcC5p3emVv9",color:"white",locked:!1,cy:21.46242092084928,cz:0,leftRoofHeight:10,relativeAngle:3.141592653589793,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",textureType:"Wall Texture Default",rightJoints:["rAsfTcgvLcTeECYxyTewjt"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"teQS3ohvRHqAbgCQQahyC6",cx:22.42924397244788,lz:10,cz:0,rotation:[0,0,-.41015237421866746],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",type:"Wall",relativeAngle:1.5707963267948968,rightPoint:[22.429243972447868,21.46242092084928,1],normal:[0,0,1],id:"2EixC2HpxvUhCDPQSQd8uE",locked:!1,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",leftRoofHeight:10,lx:42.36942370339931,rightJoints:["c79sKVUHUztGcC5p3emVv9"],ly:.3,leftJoints:["hxjd42T86KZffMsDx5Lnqd"],leftPoint:[22.42924397244787,-20.907002782550034,1],selected:!1,rightRoofHeight:10,cy:.27770906914962534,textureType:"Wall Texture Default",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:0,locked:!1,leftPoint:[-22.531267970977524,-20.90700278255003,1],roofId:"teQS3ohvRHqAbgCQQahyC6",lz:10,rightRoofHeight:10,leftJoints:["rAsfTcgvLcTeECYxyTewjt"],relativeAngle:15803706520383676e-32,rotation:[0,0,-.41015237421866746],cy:-20.907002782550027,selected:!1,lx:44.9605119434254,textureType:"Wall Texture Default",cx:-.05101199926482192,leftRoofHeight:10,type:"Wall",rightPoint:[22.429243972447882,-20.907002782550023,1],color:"white",ly:.3,rightJoints:["2EixC2HpxvUhCDPQSQd8uE"],id:"hxjd42T86KZffMsDx5Lnqd",parentId:"tjMZKt5v9D1sx6sc6Xyaq2",foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{normal:[0,0,1],ly:.3,locked:!1,cx:-22.531267970977524,leftRoofHeight:10,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",color:"white",relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",selected:!1,type:"Wall",lz:10,rightRoofHeight:10,id:"rAsfTcgvLcTeECYxyTewjt",cz:0,cy:.27770906914962445,rightPoint:[-22.53126797097753,-20.90700278255004,1],leftJoints:["c79sKVUHUztGcC5p3emVv9"],rightJoints:["hxjd42T86KZffMsDx5Lnqd"],leftPoint:[-22.53126797097753,21.462420920849283,1],rotation:[0,0,-.41015237421866746],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",roofId:"teQS3ohvRHqAbgCQQahyC6",lx:42.36942370339932,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:.5,id:"tjMZKt5v9D1sx6sc6Xyaq2",lx:46.90554216771846,cy:18.6131690650482,locked:!1,color:"#808080",solarPowerTower:{},selected:!1,rotation:[0,0,-.41015237421866746],lz:1,parentId:"Ground",ly:43.713031743362755,cx:59.64808106801135,solarUpdraftTower:{},type:"Foundation",solarAbsorberPipe:{},normal:[0,0,1]},{leftJoints:["1nApY26ge55fxfDJGTDRg7"],color:"white",relativeAngle:3.141592653589793,normal:[0,0,1],selected:!1,leftPoint:[23.979857556057137,22.372040279665153,1],cy:22.37204027966516,cx:.07009613256013125,leftRoofHeight:10,rightPoint:[-23.83966529093686,22.372040279665164,1],lz:10,foundationId:"2LZNQJZFPrCxZzv5NuwumV",cz:0,rightJoints:["rZvSe3ehuF6gYShWHjg7Kt"],ly:.3,locked:!1,parentId:"2LZNQJZFPrCxZzv5NuwumV",rightRoofHeight:10,roofId:"9TF7gEynqtnsWJGidoBUNq",id:"hcTBY8guDEpwEg5jtYtD3H",rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",lx:47.81952284699399,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],roofId:"9TF7gEynqtnsWJGidoBUNq",selected:!1,foundationId:"2LZNQJZFPrCxZzv5NuwumV",locked:!1,rightRoofHeight:10,textureType:"Wall Texture Default",parentId:"2LZNQJZFPrCxZzv5NuwumV",leftRoofHeight:10,rightPoint:[23.979857556057127,22.37204027966517,1],relativeAngle:1.5707963267948966,rightJoints:["hcTBY8guDEpwEg5jtYtD3H"],id:"1nApY26ge55fxfDJGTDRg7",lx:42.78808681818175,cy:.9779968705742945,cz:0,leftJoints:["4gP6SGPKJj7CUqEnRFmQ9x"],color:"white",leftPoint:[23.979857556057127,-20.41604653851659,1],type:"Wall",normal:[0,0,1],ly:.3,cx:23.979857556057123,lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:0,id:"4gP6SGPKJj7CUqEnRFmQ9x",cy:-20.416046538516596,color:"white",locked:!1,relativeAngle:3714710506593678e-31,leftJoints:["rZvSe3ehuF6gYShWHjg7Kt"],rightPoint:[23.979857556057144,-20.41604653851658,1],lx:47.819522846994,selected:!1,ly:.3,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],normal:[0,0,1],parentId:"2LZNQJZFPrCxZzv5NuwumV",foundationId:"2LZNQJZFPrCxZzv5NuwumV",cx:.07009613256014546,lz:10,leftRoofHeight:10,type:"Wall",rightJoints:["1nApY26ge55fxfDJGTDRg7"],roofId:"9TF7gEynqtnsWJGidoBUNq",leftPoint:[-23.83966529093686,-20.416046538516596,1],rightRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lz:10,normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],rightRoofHeight:10,rightPoint:[-23.839665290936864,-20.416046538516596,1],leftJoints:["hcTBY8guDEpwEg5jtYtD3H"],roofId:"9TF7gEynqtnsWJGidoBUNq",cx:-23.839665290936868,rightJoints:["4gP6SGPKJj7CUqEnRFmQ9x"],leftPoint:[-23.83966529093686,22.372040279665164,1],cy:.9779968705742856,relativeAngle:-1.5707963267948968,id:"rZvSe3ehuF6gYShWHjg7Kt",ly:.3,selected:!1,parentId:"2LZNQJZFPrCxZzv5NuwumV",color:"white",lx:42.78808681818176,textureType:"Wall Texture Default",type:"Wall",foundationId:"2LZNQJZFPrCxZzv5NuwumV",cz:0,leftRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{locked:!1,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],cz:.5,color:"#808080",lx:52.581175557196865,solarUpdraftTower:{},ly:46.345317346771616,lz:1,id:"2LZNQJZFPrCxZzv5NuwumV",selected:!1,type:"Foundation",cy:-66.29767782769949,solarPowerTower:{},normal:[0,0,1],cx:24.045330033541646,parentId:"Ground"},{textureType:"Wall Texture Default",lineColor:"black",leftPoint:[-3.4869204605207464,-20.78167896100657,1],ly:.3,rightRoofHeight:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",lz:12,rightPoint:[8.51307953947926,-14.281678961006572,1],lineWidth:.2,relativeAngle:.4964227534048815,locked:!1,type:"Wall",cx:2.5130795394792607,windows:[],foundationId:"9VLFJ7oUEizHpLYBMkGrSR",color:"white",id:"j1cSjqWhsVxayuMSQv24u3",showLabel:!1,selected:!1,lx:13.647344063956183,normal:[0,0,1],cz:0,cy:-17.531678961006573,leftJoints:["mJUeyE2zphErZr6GzDs3tZ"],leftRoofHeight:12,rotation:[0,0,-.41015237421866746],rightJoints:["svVfgRXxxLmkheyww2W4ad"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{leftPoint:[8.513079539479259,-11.281678961006572,1],roofId:"g8pgyA4zcrzdfdvNphwHQy",cz:0,id:"feUXDC3dk8QN3nPhgvxRs7",selected:!1,textureType:"Wall Texture Default",cx:11.763079539479257,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rightPoint:[15.013079539479259,-11.281678961006573,1],foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftRoofHeight:12,ly:.3,rotation:[0,0,-.41015237421866746],type:"Wall",lz:12,leftJoints:["svVfgRXxxLmkheyww2W4ad"],lineColor:"black",windows:[],cy:-11.28167896100657,normal:[0,0,1],rightJoints:["8SK72dWsX2KdwBhjqAJrHR"],relativeAngle:0,lineWidth:.2,rightRoofHeight:12,color:"white",showLabel:!1,locked:!1,lx:6.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{ly:.3,textureType:"Wall Texture Default",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"g8pgyA4zcrzdfdvNphwHQy",relativeAngle:1.5707963267948974,lineWidth:.2,selected:!1,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rotation:[0,0,-.41015237421866746],windows:[],lx:3.000000000000001,showLabel:!1,type:"Wall",color:"white",lineColor:"black",normal:[0,0,1],leftRoofHeight:12,rightJoints:["feUXDC3dk8QN3nPhgvxRs7"],lz:12,locked:!1,cx:8.513079539479259,cz:0,cy:-12.78167896100657,rightPoint:[8.513079539479259,-11.281678961006572,1],rightRoofHeight:12,leftJoints:["j1cSjqWhsVxayuMSQv24u3"],id:"svVfgRXxxLmkheyww2W4ad",leftPoint:[8.51307953947926,-14.281678961006572,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{type:"Wall",color:"white",relativeAngle:3.1415926535897927,normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],rightRoofHeight:5,lx:8.873370500562523,roofId:"iCAiZhiTVrLLqoQWH1g8xu",rightPoint:[-4.33188166169194,11.821078427256497,0],id:"1k4PTfybuAQ33E2nttLT4d",rightJoints:["dqGGsMEnQRvAtVj8JUXBJ1"],lz:5,ly:.3,leftRoofHeight:5,cx:.10480358858932037,cy:11.821078427256495,leftPoint:[4.541488838870581,11.821078427256491,0],cz:0,selected:!1,textureType:"Wall Texture Default",parentId:"m4iUcU4yAYwkvkodEmkEet",foundationId:"m4iUcU4yAYwkvkodEmkEet",leftJoints:["annVBiZ5xysQxyv34DuQgv"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:0,foundationId:"m4iUcU4yAYwkvkodEmkEet",textureType:"Wall Texture Default",leftRoofHeight:5,type:"Wall",id:"annVBiZ5xysQxyv34DuQgv",rotation:[0,0,-.41015237421866746],selected:!1,color:"white",cy:-.7092647056353876,cx:4.541488838870581,ly:.3,parentId:"m4iUcU4yAYwkvkodEmkEet",normal:[0,0,1],roofId:"iCAiZhiTVrLLqoQWH1g8xu",locked:!1,rightRoofHeight:5,lz:5,rightPoint:[4.541488838870581,11.821078427256495,0],leftJoints:["fE5GSES3t1e72zkQ5eaMtN"],rightJoints:["1k4PTfybuAQ33E2nttLT4d"],leftPoint:[4.541488838870581,-13.23960783852727,0],relativeAngle:1.5707963267948966,lx:25.060686265783765,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{relativeAngle:4003792784912203e-31,cy:-13.239607838527268,rightPoint:[4.541488838870582,-13.239607838527267,0],locked:!1,rightRoofHeight:5,id:"fE5GSES3t1e72zkQ5eaMtN",leftRoofHeight:5,leftJoints:["dqGGsMEnQRvAtVj8JUXBJ1"],rightJoints:["annVBiZ5xysQxyv34DuQgv"],type:"Wall",cx:.10480358858932082,rotation:[0,0,-.41015237421866746],normal:[0,0,1],leftPoint:[-4.33188166169194,-13.23960783852727,0],foundationId:"m4iUcU4yAYwkvkodEmkEet",ly:.3,lx:8.873370500562523,lz:5,roofId:"iCAiZhiTVrLLqoQWH1g8xu",parentId:"m4iUcU4yAYwkvkodEmkEet",color:"white",selected:!1,textureType:"Wall Texture Default",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-4.33188166169194,11.821078427256497,0],rightRoofHeight:5,cz:0,cy:-.7092647056353867,foundationId:"m4iUcU4yAYwkvkodEmkEet",color:"white",rotation:[0,0,-.41015237421866746],roofId:"iCAiZhiTVrLLqoQWH1g8xu",leftJoints:["1k4PTfybuAQ33E2nttLT4d"],lz:5,textureType:"Wall Texture Default",lx:25.060686265783765,leftRoofHeight:5,cx:-4.33188166169194,locked:!1,id:"dqGGsMEnQRvAtVj8JUXBJ1",selected:!1,parentId:"m4iUcU4yAYwkvkodEmkEet",rightPoint:[-4.33188166169194,-13.23960783852727,0],normal:[0,0,1],ly:.3,type:"Wall",relativeAngle:-1.5707963267948966,rightJoints:["fE5GSES3t1e72zkQ5eaMtN"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rotation:[0,0,-.41015237421866746],selected:!1,lx:12.02609775935612,parentId:"Ground",solarAbsorberPipe:{},solarPowerTower:{},normal:[0,0,1],cz:.5,locked:!1,lz:1,ly:39.808565196188674,type:"Foundation",solarUpdraftTower:{},cx:-53.11572356309672,id:"m4iUcU4yAYwkvkodEmkEet",color:"#808080",cy:-13.056870681152052},{cx:-2.4577065861477623,leftPoint:[4.807994986966596,2.7315947133271403,0],leftJoints:["cTujmRqECeyH6sGwqfoDEM"],type:"Wall",id:"91sCr2ydHgygQWRuaJ5N1C",relativeAngle:-3.141592653589793,cy:2.7315947133271394,ly:.3,parentId:"bkH7VRrzUTdvxfSm8xVMfT",rotation:[0,0,-.41015237421866746],locked:!1,lx:14.531403146228717,rightPoint:[-9.72340815926212,2.7315947133271385,0],rightJoints:["jhMUxbjEpDbcfFhgvBAFQj"],normal:[0,0,1],textureType:"Wall Texture Default",selected:!1,cz:0,roofId:"vRe6nzFrDCWVtSCu332MH4",foundationId:"bkH7VRrzUTdvxfSm8xVMfT",leftRoofHeight:16,color:"white",lz:16,rightRoofHeight:16,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{parentId:"bkH7VRrzUTdvxfSm8xVMfT",selected:!1,rightJoints:["91sCr2ydHgygQWRuaJ5N1C"],color:"white",lz:16,leftRoofHeight:16,roofId:"vRe6nzFrDCWVtSCu332MH4",rightPoint:[4.807994986966594,2.7315947133271434,0],lx:5.477642221583295,ly:.3,type:"Wall",centerRoofHeight:[0,17.3393317550628],foundationId:"bkH7VRrzUTdvxfSm8xVMfT",leftPoint:[4.807994986966587,-2.746047508256152,0],leftJoints:["9qVmVQPuu4fH6aAQqyfjRg"],id:"cTujmRqECeyH6sGwqfoDEM",textureType:"Wall Texture Default",locked:!1,cy:-.007226397464504375,cz:0,rotation:[0,0,-.41015237421866746],normal:[0,0,1],relativeAngle:1.5707963267948952,rightRoofHeight:16,cx:4.80799498696659,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",leftPoint:[-9.723408159262116,-2.7460475082561513,0],selected:!1,foundationId:"bkH7VRrzUTdvxfSm8xVMfT",color:"white",normal:[0,0,1],leftRoofHeight:16,rotation:[0,0,-.41015237421866746],leftJoints:["jhMUxbjEpDbcfFhgvBAFQj"],rightRoofHeight:16,parentId:"bkH7VRrzUTdvxfSm8xVMfT",roofId:"vRe6nzFrDCWVtSCu332MH4",locked:!1,id:"9qVmVQPuu4fH6aAQqyfjRg",rightJoints:["cTujmRqECeyH6sGwqfoDEM"],textureType:"Wall Texture Default",cx:-2.4577065861477636,lz:16,cz:0,relativeAngle:-15280327900245335e-32,lx:14.531403146228705,rightPoint:[4.807994986966588,-2.7460475082561535,0],cy:-2.7460475082561526,ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{lz:16,cy:-.007226397464506373,selected:!1,id:"jhMUxbjEpDbcfFhgvBAFQj",roofId:"vRe6nzFrDCWVtSCu332MH4",normal:[0,0,1],rotation:[0,0,-.41015237421866746],type:"Wall",parentId:"bkH7VRrzUTdvxfSm8xVMfT",color:"white",textureType:"Wall Texture Default",cz:0,rightJoints:["9qVmVQPuu4fH6aAQqyfjRg"],leftPoint:[-9.72340815926212,2.7315947133271385,0],leftJoints:["91sCr2ydHgygQWRuaJ5N1C"],lx:5.47764222158329,cx:-9.723408159262117,relativeAngle:-1.5707963267948957,ly:.3,leftRoofHeight:16,foundationId:"bkH7VRrzUTdvxfSm8xVMfT",centerRoofHeight:[0,17.3393317550628],rightPoint:[-9.723408159262116,-2.7460475082561513,0],rightRoofHeight:16,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{cz:.5,lz:1,cx:78.75570287833209,selected:!1,color:"#808080",solarPowerTower:{},cy:10.912053869608645,solarUpdraftTower:{},id:"bkH7VRrzUTdvxfSm8xVMfT",normal:[0,0,1],parentId:"Ground",ly:5.705242176061485,type:"Foundation",rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lx:20.778562085655192,locked:!1},{rotation:[0,0,-.41015237421866746],selected:!1,normal:[0,0,1],color:"white",rightRoofHeight:11,type:"Wall",rightPoint:[-10.286622985342673,4.983310762184353,0],leftRoofHeight:11,cz:0,textureType:"Wall Texture Default",locked:!1,parentId:"qJBTbMiP4tUMstkk4bQqAp",cx:.8987861583692425,id:"oNZPm4ForjT1jLCRGXT8ae",leftPoint:[12.084195302081158,4.983310762184358,0],foundationId:"qJBTbMiP4tUMstkk4bQqAp",lz:11,cy:4.983310762184356,roofId:"tLNDomb3SubspErPERhojH",ly:.3,lx:22.37081828742383,rightJoints:["twTFceoz8nr7JM6esRsvns"],leftJoints:["8Pn1CKwtmisKkjic3nAhPK"],relativeAngle:-3.141592653589793,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,leftRoofHeight:11,parentId:"qJBTbMiP4tUMstkk4bQqAp",rotation:[0,0,-.41015237421866746],lx:9.215971205723465,relativeAngle:1.5707963267948954,locked:!1,rightPoint:[12.084195302081158,4.98331076218436,0],roofId:"tLNDomb3SubspErPERhojH",cy:.3753251593226281,color:"white",rightRoofHeight:11,type:"Wall",leftPoint:[12.084195302081147,-4.232660443539104,0],normal:[0,0,1],foundationId:"qJBTbMiP4tUMstkk4bQqAp",id:"8Pn1CKwtmisKkjic3nAhPK",centerRoofHeight:[0,12.111126896848333],selected:!1,ly:.3,leftJoints:["2nMWmvd9mtkAxjJG8mCTx2"],cz:0,rightJoints:["oNZPm4ForjT1jLCRGXT8ae"],textureType:"Wall Texture Default",cx:12.084195302081152,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{locked:!1,rightJoints:["8Pn1CKwtmisKkjic3nAhPK"],leftPoint:[-10.286622985342662,-4.2326604435391,0],rightRoofHeight:11,foundationId:"qJBTbMiP4tUMstkk4bQqAp",type:"Wall",selected:!1,roofId:"tLNDomb3SubspErPERhojH",rightPoint:[12.084195302081158,-4.2326604435391,0],leftRoofHeight:11,ly:.3,cx:.8987861583692478,lz:11,leftJoints:["twTFceoz8nr7JM6esRsvns"],relativeAngle:0,normal:[0,0,1],textureType:"Wall Texture Default",color:"white",parentId:"qJBTbMiP4tUMstkk4bQqAp",cy:-4.2326604435391,lx:22.37081828742382,cz:0,rotation:[0,0,-.41015237421866746],id:"2nMWmvd9mtkAxjJG8mCTx2",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{ly:.3,leftPoint:[-10.286622985342673,4.983310762184353,0],cx:-10.286622985342667,normal:[0,0,1],leftJoints:["oNZPm4ForjT1jLCRGXT8ae"],cy:.3753251593226268,lx:9.215971205723452,rightPoint:[-10.286622985342662,-4.2326604435391,0],locked:!1,cz:0,lz:11,rotation:[0,0,-.41015237421866746],centerRoofHeight:[0,12.111126896848333],type:"Wall",foundationId:"qJBTbMiP4tUMstkk4bQqAp",leftRoofHeight:11,roofId:"tLNDomb3SubspErPERhojH",color:"white",selected:!1,id:"twTFceoz8nr7JM6esRsvns",rightJoints:["2nMWmvd9mtkAxjJG8mCTx2"],parentId:"qJBTbMiP4tUMstkk4bQqAp",rightRoofHeight:11,textureType:"Wall Texture Default",relativeAngle:-1.5707963267948954,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{solarPowerTower:{},selected:!1,normal:[0,0,1],lx:29.0500894298776,id:"qJBTbMiP4tUMstkk4bQqAp",color:"#808080",cz:.5,solarUpdraftTower:{},lz:1,parentId:"Ground",locked:!1,ly:13.367138022352988,cy:28.71057712188597,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],type:"Foundation",cx:36.57481860706345},{ly:.3,cy:2.971894027777658,textureType:"Wall Texture Default",selected:!1,leftPoint:[12.422123880582443,2.9718940277776653,1],rightJoints:["nNQo9acqRqKRWfE4a1RvLy"],normal:[0,0,1],type:"Wall",foundationId:"64tiQZ7Po62MhdtE1e44n9",cz:0,rotation:[0,0,-.41015237421866746],id:"5QyDHSHQi5g83yTByESY7g",color:"white",rightPoint:[7.6013879231388755,2.9718940277776573,1],locked:!1,lz:13,cx:10.011755901860653,lx:4.8207359574435635,relativeAngle:-3.1415926535897922,leftJoints:["2DDFqyaAZAAuWTVgy7UTYL"],parentId:"64tiQZ7Po62MhdtE1e44n9",roofId:"oTjPo4r99EKfdasnxT3n5a",leftRoofHeight:13,rightRoofHeight:13,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{parentId:"64tiQZ7Po62MhdtE1e44n9",leftPoint:[12.422123880582435,-2.1178940951050267,1],leftJoints:["7JuGqBdByKra32qVf2wuMP"],cz:0,locked:!1,ly:.3,foundationId:"64tiQZ7Po62MhdtE1e44n9",color:"white",rotation:[0,0,-.41015237421866746],selected:!1,lz:13,cy:.42699996633631887,leftRoofHeight:13,cx:12.422123880582438,lx:5.089788122882689,normal:[0,0,1],relativeAngle:1.570796326794896,roofId:"oTjPo4r99EKfdasnxT3n5a",rightJoints:["5QyDHSHQi5g83yTByESY7g"],type:"Wall",rightRoofHeight:13,rightPoint:[12.422123880582443,2.9718940277776653,1],id:"2DDFqyaAZAAuWTVgy7UTYL",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{foundationId:"64tiQZ7Po62MhdtE1e44n9",id:"7JuGqBdByKra32qVf2wuMP",textureType:"Wall Texture Default",rightPoint:[12.422123880582431,-2.1178940951050196,1],lx:4.820735957443555,leftRoofHeight:13,roofId:"oTjPo4r99EKfdasnxT3n5a",ly:.3,selected:!1,lz:13,leftJoints:["nNQo9acqRqKRWfE4a1RvLy"],cx:10.011755901860655,rotation:[0,0,-.41015237421866746],rightRoofHeight:13,rightJoints:["2DDFqyaAZAAuWTVgy7UTYL"],leftPoint:[7.601387923138878,-2.1178940951050227,1],relativeAngle:6448443757120744e-31,cy:-2.117894095105022,locked:!1,normal:[0,0,1],color:"white",parentId:"64tiQZ7Po62MhdtE1e44n9",cz:0,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{id:"nNQo9acqRqKRWfE4a1RvLy",foundationId:"64tiQZ7Po62MhdtE1e44n9",textureType:"Wall Texture Default",roofId:"oTjPo4r99EKfdasnxT3n5a",rotation:[0,0,-.41015237421866746],leftRoofHeight:13,color:"white",parentId:"64tiQZ7Po62MhdtE1e44n9",ly:.3,cz:0,relativeAngle:-1.5707963267948963,leftPoint:[7.6013879231388755,2.9718940277776573,1],rightRoofHeight:13,cx:7.601387923138877,normal:[0,0,1],rightJoints:["7JuGqBdByKra32qVf2wuMP"],type:"Wall",lx:5.089788122882682,rightPoint:[7.601387923138878,-2.1178940951050227,1],selected:!1,locked:!1,lz:13,leftJoints:["5QyDHSHQi5g83yTByESY7g"],cy:.4269999663363171,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{selected:!1,ly:6.942959260815169,parentId:"Ground",lz:1,id:"64tiQZ7Po62MhdtE1e44n9",solarUpdraftTower:{},cy:28.3064695776253,locked:!1,color:"#808080",cx:24.870540041807864,lx:25.896215586399297,rotation:[0,0,-.41015237421866746],solarPowerTower:{},normal:[0,0,1],solarAbsorberPipe:{},type:"Foundation",cz:.5},{color:"white",lx:6.102875967687821,lz:11,rightJoints:["ufN8sfE783eMNceqzrR88z"],cz:0,relativeAngle:-3.1415926535897927,cy:3.4313212286858255,textureType:"Wall Texture Default",roofId:"fS4RCk5GfqcPBkrsfQqupD",leftJoints:["pzCu78KeKhhbMuf9rgBh5L"],selected:!1,leftPoint:[3.0844752908601185,3.4313212286858272,0],foundationId:"kqR5p2bajX4NMTBq55qbCM",locked:!1,parentId:"kqR5p2bajX4NMTBq55qbCM",ly:.3,id:"4CXQZA8oGxMYG5uuTdJH4z",rightPoint:[-3.018400676827702,3.431321228685824,0],cx:.03303730701620822,leftRoofHeight:11,normal:[0,0,1],rightRoofHeight:11,rotation:[0,0,-.41015237421866746],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftPoint:[3.0844752908601167,-6.300430996731014,0],cx:3.0844752908601176,normal:[0,0,1],foundationId:"kqR5p2bajX4NMTBq55qbCM",cy:-1.4345548840225932,color:"white",id:"pzCu78KeKhhbMuf9rgBh5L",rightRoofHeight:11,cz:0,rightPoint:[3.0844752908601185,3.4313212286858272,0],centerRoofHeight:[-.5,11],rotation:[0,0,-.41015237421866746],lz:11,relativeAngle:1.5707963267948963,leftRoofHeight:11,textureType:"Wall Texture Default",selected:!1,locked:!1,ly:.3,parentId:"kqR5p2bajX4NMTBq55qbCM",type:"Wall",roofId:"fS4RCk5GfqcPBkrsfQqupD",leftJoints:["kQ44ExCwR71BEyjwkSCp38"],rightJoints:["4CXQZA8oGxMYG5uuTdJH4z"],lx:9.731752225416841,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{foundationId:"kqR5p2bajX4NMTBq55qbCM",textureType:"Wall Texture Default",relativeAngle:-5821376180034847e-31,rightPoint:[3.0844752908601167,-6.300430996731014,0],id:"kQ44ExCwR71BEyjwkSCp38",normal:[0,0,1],roofId:"fS4RCk5GfqcPBkrsfQqupD",rightJoints:["pzCu78KeKhhbMuf9rgBh5L"],rightRoofHeight:11,cy:-6.300430996731012,lx:6.102875967687822,selected:!1,color:"white",ly:.3,leftJoints:["ufN8sfE783eMNceqzrR88z"],cz:0,leftPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"kqR5p2bajX4NMTBq55qbCM",leftRoofHeight:11,type:"Wall",lz:11,rotation:[0,0,-.41015237421866746],cx:.03303730701620533,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cz:0,lz:11,rightPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"kqR5p2bajX4NMTBq55qbCM",rightJoints:["kQ44ExCwR71BEyjwkSCp38"],cx:-3.018400676827704,leftRoofHeight:11,rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948972,selected:!1,cy:-1.434554884022593,foundationId:"kqR5p2bajX4NMTBq55qbCM",color:"white",rightRoofHeight:11,locked:!1,leftJoints:["4CXQZA8oGxMYG5uuTdJH4z"],lx:9.731752225416834,id:"ufN8sfE783eMNceqzrR88z",normal:[0,0,1],centerRoofHeight:[.5,11],leftPoint:[-3.018400676827702,3.431321228685824,0],textureType:"Wall Texture Default",ly:.3,type:"Wall",roofId:"fS4RCk5GfqcPBkrsfQqupD",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Foundation",ly:13.304430432789896,selected:!1,color:"#808080",solarPowerTower:{},locked:!1,normal:[0,0,1],cy:32.738819911856226,cz:.5,solarAbsorberPipe:{},id:"kqR5p2bajX4NMTBq55qbCM",cx:72.31692383934994,rotation:[0,0,-.41015237421866746],lx:7.252592961439527,parentId:"Ground",solarUpdraftTower:{},lz:1},{rightJoints:["9YnLeekp8YrBjSwNEVxSmp"],roofId:"wrKEiNvyDQopU6C5MqvRMM",cy:7.3527391531452935,leftPoint:[5.468301535132202,7.352739153145294,1],id:"2qkVxdRDddbpLN4sHJK2gE",relativeAngle:3.141592653589793,leftRoofHeight:4,parentId:"98vBSiAe7BeqTZRNu482vh",rightRoofHeight:4,cx:-.9755536194629697,leftJoints:["gz2Gm7sAdANkmLzo5wFbxx"],color:"white",lz:4,rotation:[0,0,-.41015237421866746],rightPoint:[-7.419408774058143,7.352739153145295,1],lx:12.887710309190346,foundationId:"98vBSiAe7BeqTZRNu482vh",normal:[0,0,1],type:"Wall",locked:!1,selected:!1,cz:0,ly:.3,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:0,roofId:"wrKEiNvyDQopU6C5MqvRMM",leftPoint:[5.468301535132206,-7.370642577725551,1],centerRoofHeight:[0,6],foundationId:"98vBSiAe7BeqTZRNu482vh",id:"gz2Gm7sAdANkmLzo5wFbxx",normal:[0,0,1],rightJoints:["2qkVxdRDddbpLN4sHJK2gE"],type:"Wall",leftRoofHeight:4,textureType:"Wall Texture Default",lz:4,relativeAngle:1.5707963267948963,selected:!1,rightPoint:[5.4683015351322,7.352739153145298,1],cy:-.008951712290128144,locked:!1,leftJoints:["vha1dDK5ppjp6f9bgr45uq"],color:"white",cx:5.468301535132204,rightRoofHeight:4,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"98vBSiAe7BeqTZRNu482vh",lx:14.723381730870852,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{leftJoints:["9YnLeekp8YrBjSwNEVxSmp"],id:"vha1dDK5ppjp6f9bgr45uq",relativeAngle:2756667859198411e-31,cz:0,color:"white",leftRoofHeight:4,ly:.3,rotation:[0,0,-.41015237421866746],lz:4,textureType:"Wall Texture Default",cy:-7.370642577725552,leftPoint:[-7.4194087740581365,-7.370642577725553,1],locked:!1,cx:-.9755536194629646,rightJoints:["gz2Gm7sAdANkmLzo5wFbxx"],parentId:"98vBSiAe7BeqTZRNu482vh",roofId:"wrKEiNvyDQopU6C5MqvRMM",normal:[0,0,1],type:"Wall",selected:!1,rightPoint:[5.468301535132206,-7.370642577725551,1],rightRoofHeight:4,lx:12.887710309190334,foundationId:"98vBSiAe7BeqTZRNu482vh",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948961,centerRoofHeight:[0,6],foundationId:"98vBSiAe7BeqTZRNu482vh",ly:.3,cx:-7.419408774058138,textureType:"Wall Texture Default",lz:4,cy:-.008951712290129699,leftPoint:[-7.419408774058143,7.352739153145295,1],id:"9YnLeekp8YrBjSwNEVxSmp",cz:0,color:"white",rightPoint:[-7.4194087740581365,-7.370642577725553,1],lx:14.723381730870852,roofId:"wrKEiNvyDQopU6C5MqvRMM",rightRoofHeight:4,normal:[0,0,1],leftJoints:["2qkVxdRDddbpLN4sHJK2gE"],rightJoints:["vha1dDK5ppjp6f9bgr45uq"],type:"Wall",locked:!1,selected:!1,parentId:"98vBSiAe7BeqTZRNu482vh",leftRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:.5,type:"Foundation",color:"#808080",id:"98vBSiAe7BeqTZRNu482vh",solarAbsorberPipe:{},solarPowerTower:{},rotation:[0,0,-.41015237421866746],lx:15.543629167882932,cy:-34.03935192999712,cx:66.44654466726774,normal:[0,0,1],locked:!1,parentId:"Ground",solarUpdraftTower:{},lz:1,selected:!1,ly:16.051182282542253},{relativeAngle:-3.141592653589792,rotation:[0,0,-.41015237421866746],rightRoofHeight:10,id:"7zFHG6rEsyAEeiBjZ3Fqiv",cz:0,roofId:"52yUcWyJUbmGw2PC5d5KiK",textureType:"Wall Texture Default",cy:2.3029070359201342,cx:-2.061194479172505,lx:4.563843535322344,leftPoint:[.2207272884886666,2.302907035920138,0],color:"white",locked:!1,leftRoofHeight:10,selected:!1,normal:[0,0,1],lz:10,type:"Wall",rightPoint:[-4.343116246833677,2.3029070359201307,0],parentId:"tafet8SHZ3Nd8kXyfeZ9FR",ly:.3,rightJoints:["sfm78zxYm2PZeqMiLJ7sRS"],leftJoints:["qEu4R9jBDYekHJdsyGPkHu"],foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightRoofHeight:10,cx:.2207272884886636,lz:10,normal:[0,0,1],relativeAngle:1.5707963267948952,locked:!1,cy:.09783532837621656,lx:4.410143415087843,rightJoints:["7zFHG6rEsyAEeiBjZ3Fqiv"],type:"Wall",selected:!1,ly:.3,leftRoofHeight:10,cz:0,textureType:"Wall Texture Default",id:"qEu4R9jBDYekHJdsyGPkHu",rotation:[0,0,-.41015237421866746],rightPoint:[.2207272884886666,2.302907035920138,0],parentId:"tafet8SHZ3Nd8kXyfeZ9FR",leftPoint:[.2207272884886606,-2.1072363791677047,0],foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",leftJoints:["k13k8dUZo1jLk9Pubbz3Yu"],color:"white",roofId:"52yUcWyJUbmGw2PC5d5KiK",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightJoints:["qEu4R9jBDYekHJdsyGPkHu"],leftPoint:[-4.34311624683366,-2.1072363791677042,0],rightPoint:[.2207272884886606,-2.1072363791677047,0],rightRoofHeight:10,id:"k13k8dUZo1jLk9Pubbz3Yu",ly:.3,leftRoofHeight:10,cz:0,leftJoints:["sfm78zxYm2PZeqMiLJ7sRS"],lx:4.563843535322321,color:"white",locked:!1,parentId:"tafet8SHZ3Nd8kXyfeZ9FR",foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",textureType:"Wall Texture Default",type:"Wall",selected:!1,relativeAngle:-9730596730869277e-32,rotation:[0,0,-.41015237421866746],roofId:"52yUcWyJUbmGw2PC5d5KiK",cy:-2.1072363791677047,normal:[0,0,1],cx:-2.0611944791725,lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftRoofHeight:10,relativeAngle:-1.5707963267948928,cx:-4.343116246833668,rightRoofHeight:10,ly:.3,parentId:"tafet8SHZ3Nd8kXyfeZ9FR",locked:!1,roofId:"52yUcWyJUbmGw2PC5d5KiK",leftJoints:["7zFHG6rEsyAEeiBjZ3Fqiv"],leftPoint:[-4.343116246833677,2.3029070359201307,0],lx:4.410143415087835,rightJoints:["k13k8dUZo1jLk9Pubbz3Yu"],type:"Wall",lz:10,foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",color:"white",selected:!1,textureType:"Wall Texture Default",rightPoint:[-4.34311624683366,-2.1072363791677042,0],rotation:[0,0,-.41015237421866746],cz:0,id:"sfm78zxYm2PZeqMiLJ7sRS",normal:[0,0,1],cy:.09783532837621323,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",ly:4.607404636305792,cy:-35.24749355392174,locked:!1,type:"Foundation",cx:69.68931082715157,cz:.5,rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},selected:!1,parentId:"Ground",lx:8.9358229854864,id:"tafet8SHZ3Nd8kXyfeZ9FR",lz:1},{color:"white",relativeAngle:3.141592653589793,rightRoofHeight:5.25,id:"vG7sqxy4RdGecDZ8BgqUDU",lx:9.337227070632437,rotation:[0,0,-.41015237421866746],rightJoints:["9cZUThxWj1ikMEGtxc3eiz"],lz:5.25,leftJoints:["3JjPc2Pp9fAroM9UdivE1u"],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",parentId:"a7Ykq8sCMoZy5zM2ybNhKs",normal:[0,0,1],textureType:"Wall Texture Default",cy:3.3516986330408542,rightPoint:[-4.747688161235284,3.351698633040855,0],leftRoofHeight:5.25,cz:0,cx:-.07907462591906578,leftPoint:[4.589538909397152,3.3516986330408534,0],roofId:"qYDMJTekV8NWHzzCiVYwcs",ly:.3,centerRoofHeight:[0,6.225217409690371],type:"Wall",selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,normal:[0,0,1],rightPoint:[4.589538909397152,3.3516986330408534,0],lx:6.320731749368616,cz:0,locked:!1,rightJoints:["vG7sqxy4RdGecDZ8BgqUDU"],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",rightRoofHeight:5.25,type:"Wall",selected:!1,relativeAngle:1.5707963267948961,color:"white",rotation:[0,0,-.41015237421866746],cy:.19133275835654517,lz:5.25,id:"3JjPc2Pp9fAroM9UdivE1u",roofId:"qYDMJTekV8NWHzzCiVYwcs",leftPoint:[4.58953890939715,-2.969033116327763,0],parentId:"a7Ykq8sCMoZy5zM2ybNhKs",leftJoints:["cABST71Bn78stcfTw5z7y2"],cx:4.589538909397151,textureType:"Wall Texture Default",ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{textureType:"Wall Texture Default",cz:0,leftRoofHeight:5.25,cy:-2.969033116327763,locked:!1,roofId:"qYDMJTekV8NWHzzCiVYwcs",ly:.3,parentId:"a7Ykq8sCMoZy5zM2ybNhKs",rightPoint:[4.58953890939715,-2.969033116327763,0],cx:-.07907462591906667,rightRoofHeight:5.25,lz:5.25,relativeAngle:-4756114491922529e-32,selected:!1,type:"Wall",normal:[0,0,1],color:"white",leftJoints:["9cZUThxWj1ikMEGtxc3eiz"],rightJoints:["3JjPc2Pp9fAroM9UdivE1u"],centerRoofHeight:[0,6.225217409690371],rotation:[0,0,-.41015237421866746],leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"cABST71Bn78stcfTw5z7y2",lx:9.337227070632434,foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rotation:[0,0,-.41015237421866746],color:"white",selected:!1,locked:!1,ly:.3,relativeAngle:-1.5707963267948966,leftPoint:[-4.747688161235284,3.351698633040855,0],lz:5.25,roofId:"qYDMJTekV8NWHzzCiVYwcs",parentId:"a7Ykq8sCMoZy5zM2ybNhKs",cy:.19133275835654628,rightJoints:["cABST71Bn78stcfTw5z7y2"],cx:-4.747688161235283,lx:6.320731749368617,foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",textureType:"Wall Texture Default",leftJoints:["vG7sqxy4RdGecDZ8BgqUDU"],type:"Wall",rightPoint:[-4.747688161235283,-2.9690331163277626,0],rightRoofHeight:5.25,leftRoofHeight:5.25,cz:0,id:"9cZUThxWj1ikMEGtxc3eiz",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{color:"#808080",solarPowerTower:{},type:"Foundation",locked:!1,selected:!1,lx:10.667610013832563,solarAbsorberPipe:{},parentId:"Ground",normal:[0,0,1],cx:35.81768474812716,rotation:[0,0,-.41015237421866746],cy:-31.968353023498793,solarUpdraftTower:{},cz:.5,id:"a7Ykq8sCMoZy5zM2ybNhKs",lz:1,ly:10.658064363814518},{locked:!1,id:"a6q6Txnypc9iPjohNf43CB",leftPoint:[4.779738528665165,10.937352047913798,1],cx:.395865158322978,leftJoints:["4RfjPoTAycowc8B5SwzkpM"],rightJoints:["jWqRj42hxzMWofSpUH42dz"],rotation:[0,0,-.41015237421866746],parentId:"uBZaguS4Mp4iydQBE88CA1",selected:!1,rightPoint:[-3.9880082120192073,10.937352047913798,1],foundationId:"uBZaguS4Mp4iydQBE88CA1",leftRoofHeight:10,lz:10,ly:.3,cz:0,color:"white",normal:[0,0,1],rightRoofHeight:10,roofId:"jSo2aHHx58NTeAQuDZodmY",type:"Wall",lx:8.767746740684375,relativeAngle:3.141592653589793,textureType:"Wall Texture Default",cy:10.937352047913794,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[4.779738528665165,3.130296275146503,1],normal:[0,0,1],roofId:"jSo2aHHx58NTeAQuDZodmY",rightJoints:["a6q6Txnypc9iPjohNf43CB"],rotation:[0,0,-.41015237421866746],ly:.3,relativeAngle:1.5707963267948963,cz:0,id:"4RfjPoTAycowc8B5SwzkpM",parentId:"uBZaguS4Mp4iydQBE88CA1",cx:4.779738528665163,locked:!1,textureType:"Wall Texture Default",leftJoints:["nRLvRbWCCyQkZn2SaeWzhR"],rightPoint:[4.779738528665165,10.937352047913798,1],foundationId:"uBZaguS4Mp4iydQBE88CA1",selected:!1,lx:7.807055772767293,lz:10,leftRoofHeight:10,rightRoofHeight:10,cy:7.033824161530151,color:"white",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],leftRoofHeight:10,cz:0,lx:8.767746740684375,cx:.3958651583229764,rightJoints:["4RfjPoTAycowc8B5SwzkpM"],type:"Wall",cy:3.130296275146505,foundationId:"uBZaguS4Mp4iydQBE88CA1",ly:.3,rightRoofHeight:10,id:"nRLvRbWCCyQkZn2SaeWzhR",parentId:"uBZaguS4Mp4iydQBE88CA1",rightPoint:[4.779738528665165,3.130296275146503,1],lz:10,normal:[0,0,1],textureType:"Wall Texture Default",color:"white",relativeAngle:30390194173108526e-32,locked:!1,leftPoint:[-3.9880082120192113,3.1302962751465033,1],roofId:"jSo2aHHx58NTeAQuDZodmY",leftJoints:["jWqRj42hxzMWofSpUH42dz"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lz:10,relativeAngle:-1.5707963267948968,cy:7.03382416153015,parentId:"uBZaguS4Mp4iydQBE88CA1",rightPoint:[-3.9880082120192113,3.1302962751465033,1],ly:.3,lx:7.807055772767296,roofId:"jSo2aHHx58NTeAQuDZodmY",cx:-3.988008212019209,color:"white",foundationId:"uBZaguS4Mp4iydQBE88CA1",leftPoint:[-3.9880082120192073,10.937352047913798,1],rightJoints:["nRLvRbWCCyQkZn2SaeWzhR"],selected:!1,cz:0,leftRoofHeight:10,rightRoofHeight:10,leftJoints:["a6q6Txnypc9iPjohNf43CB"],type:"Wall",locked:!1,textureType:"Wall Texture Default",normal:[0,0,1],id:"jWqRj42hxzMWofSpUH42dz",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:26.759313634558907,cy:-19.722143796679788,cz:.5,lx:9.74476233969461,solarAbsorberPipe:{},locked:!1,selected:!1,parentId:"Ground",normal:[0,0,1],color:"#808080",type:"Foundation",id:"uBZaguS4Mp4iydQBE88CA1",cx:17.121825988451324,solarPowerTower:{},solarUpdraftTower:{},rotation:[0,0,-.41015237421866746],lz:1},{leftJoints:["ngPHRhypQfV68DYtm6sZvW"],cz:0,leftRoofHeight:10,parentId:"rQh2s1iBHWvFGFdzViXEe2",rotation:[0,0,-.41015237421866746],cx:-.4824098277040898,leftPoint:[12.274733699058217,12.570550728118558,1],locked:!1,rightJoints:["sbPEhSxLJ7xiM71jhPJUkw"],textureType:"Wall Texture Default",roofId:"tN1a6B1uCvjUWCkBQctrVG",color:"white",selected:!1,lz:10,cy:12.570550728118565,ly:.3,relativeAngle:3.141592653589793,foundationId:"rQh2s1iBHWvFGFdzViXEe2",id:"b12LAtSYTNxCwTbH7iRFmz",rightRoofHeight:10,rightPoint:[-13.239553354466391,12.570550728118558,1],lx:25.51428705352461,type:"Wall",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[12.274733699058213,-12.675216149553869,1],normal:[0,0,1],leftJoints:["2z5tfxd1xStwLEwGZ1Enk7"],locked:!1,rightPoint:[12.274733699058217,12.570550728118558,1],foundationId:"rQh2s1iBHWvFGFdzViXEe2",relativeAngle:1.5707963267948966,ly:.3,lz:10,lx:25.245766877672445,cz:0,roofId:"tN1a6B1uCvjUWCkBQctrVG",selected:!1,cy:-.05233271071766232,rightRoofHeight:10,rotation:[0,0,-.41015237421866746],parentId:"rQh2s1iBHWvFGFdzViXEe2",cx:12.274733699058219,id:"ngPHRhypQfV68DYtm6sZvW",color:"white",leftRoofHeight:10,textureType:"Wall Texture Default",rightJoints:["b12LAtSYTNxCwTbH7iRFmz"],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"tN1a6B1uCvjUWCkBQctrVG",rightPoint:[12.274733699058219,-12.675216149553865,1],color:"white",foundationId:"rQh2s1iBHWvFGFdzViXEe2",lx:25.514287053524612,cz:0,leftPoint:[-13.239553354466391,-12.675216149553885,1],leftJoints:["sbPEhSxLJ7xiM71jhPJUkw"],selected:!1,id:"2z5tfxd1xStwLEwGZ1Enk7",parentId:"rQh2s1iBHWvFGFdzViXEe2",normal:[0,0,1],rightJoints:["ngPHRhypQfV68DYtm6sZvW"],rightRoofHeight:10,leftRoofHeight:10,type:"Wall",ly:.3,relativeAngle:34811022461136335e-32,rotation:[0,0,-.41015237421866746],lz:10,cy:-12.675216149553874,locked:!1,textureType:"Wall Texture Default",cx:-.4824098277040827,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:.3,selected:!1,roofId:"tN1a6B1uCvjUWCkBQctrVG",cz:0,leftJoints:["b12LAtSYTNxCwTbH7iRFmz"],lz:10,cx:-13.239553354466391,locked:!1,foundationId:"rQh2s1iBHWvFGFdzViXEe2",lx:25.245766877672445,id:"sbPEhSxLJ7xiM71jhPJUkw",rightJoints:["2z5tfxd1xStwLEwGZ1Enk7"],textureType:"Wall Texture Default",leftRoofHeight:10,relativeAngle:-1.5707963267948968,rightRoofHeight:10,rightPoint:[-13.239553354466395,-12.675216149553886,1],cy:-.05233271071766321,rotation:[0,0,-.41015237421866746],type:"Wall",normal:[0,0,1],color:"white",parentId:"rQh2s1iBHWvFGFdzViXEe2",leftPoint:[-13.239553354466391,12.570550728118558,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:27.015265076182526,solarPowerTower:{},id:"rQh2s1iBHWvFGFdzViXEe2",lz:1,rotation:[0,0,-.41015237421866746],cy:-75.35128568516778,normal:[0,0,1],cx:46.98901169365807,cz:.5,solarUpdraftTower:{},parentId:"Ground",selected:!1,type:"Foundation",locked:!1,color:"#808080",ly:28.698582154704336,solarAbsorberPipe:{}},{leftPoint:[3.881236454413665,2.590871964313816,0],rotation:[0,0,-.41015237421866746],lx:13.122757014665611,cz:0,roofId:"mgoQMGVeVMwiZzvh6DtsHC",textureType:"Wall Texture Default",parentId:"kLLR11PM8xK326yQ5QVzHF",cx:-2.68014205291914,leftRoofHeight:16,cy:2.590871964313818,locked:!1,id:"gs8TZionAFZcvbLtmKeykq",normal:[0,0,1],relativeAngle:3.141592653589793,foundationId:"kLLR11PM8xK326yQ5QVzHF",lz:16,ly:.3,rightRoofHeight:16,color:"white",selected:!1,type:"Wall",rightJoints:["9qCk45C9zpiC2iX7xDbSMH"],leftJoints:["rohGrk56Rmwrds2U1CuXPp"],rightPoint:[-9.241520560251946,2.59087196431382,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{rightRoofHeight:16,cx:3.881236454413662,rotation:[0,0,-.41015237421866746],leftJoints:["3d9FbdLzNegyUKLjvqVp9P"],centerRoofHeight:[0,17.714737050020105],roofId:"mgoQMGVeVMwiZzvh6DtsHC",color:"white",id:"rohGrk56Rmwrds2U1CuXPp",selected:!1,rightJoints:["gs8TZionAFZcvbLtmKeykq"],foundationId:"kLLR11PM8xK326yQ5QVzHF",textureType:"Wall Texture Default",locked:!1,type:"Wall",leftPoint:[3.8812364544136595,-2.6095545856794877,0],lx:5.200426549993304,cy:-.009341310682835946,normal:[0,0,1],lz:16,parentId:"kLLR11PM8xK326yQ5QVzHF",ly:.3,cz:0,leftRoofHeight:16,relativeAngle:1.5707963267948957,rightPoint:[3.881236454413665,2.590871964313816,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{locked:!1,parentId:"kLLR11PM8xK326yQ5QVzHF",foundationId:"kLLR11PM8xK326yQ5QVzHF",rotation:[0,0,-.41015237421866746],normal:[0,0,1],textureType:"Wall Texture Default",cx:-2.6801420529191438,leftJoints:["9qCk45C9zpiC2iX7xDbSMH"],cy:-2.6095545856794904,color:"white",leftRoofHeight:16,ly:.3,relativeAngle:40609381948055113e-32,leftPoint:[-9.241520560251947,-2.609554585679493,0],rightJoints:["rohGrk56Rmwrds2U1CuXPp"],type:"Wall",selected:!1,id:"3d9FbdLzNegyUKLjvqVp9P",rightPoint:[3.8812364544136595,-2.6095545856794877,0],roofId:"mgoQMGVeVMwiZzvh6DtsHC",cz:0,lz:16,rightRoofHeight:16,lx:13.122757014665607,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{cx:-9.241520560251946,cz:0,roofId:"mgoQMGVeVMwiZzvh6DtsHC",lz:16,relativeAngle:-1.570796326794897,cy:-.009341310682836612,normal:[0,0,1],foundationId:"kLLR11PM8xK326yQ5QVzHF",parentId:"kLLR11PM8xK326yQ5QVzHF",rotation:[0,0,-.41015237421866746],lx:5.200426549993313,color:"white",leftJoints:["gs8TZionAFZcvbLtmKeykq"],locked:!1,leftPoint:[-9.241520560251946,2.59087196431382,0],id:"9qCk45C9zpiC2iX7xDbSMH",rightRoofHeight:16,ly:.3,centerRoofHeight:[0,17.714737050020105],selected:!1,rightJoints:["3d9FbdLzNegyUKLjvqVp9P"],leftRoofHeight:16,rightPoint:[-9.241520560251947,-2.609554585679493,0],textureType:"Wall Texture Default",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{rotation:[0,0,-.41015237421866746],cy:-78.99513775014256,color:"#808080",solarUpdraftTower:{},lz:1,selected:!1,parentId:"Ground",cz:.5,cx:57.21273152304917,locked:!1,solarAbsorberPipe:{},solarPowerTower:{},type:"Foundation",normal:[0,0,1],id:"kLLR11PM8xK326yQ5QVzHF",lx:20.705717238442087,ly:5.889181614425833},{parentId:"x5CDMTRHrHH6ChAJLKJCrV",cz:0,rightRoofHeight:11,lx:21.722848351168093,id:"6V62Zt3rayMTYsccknpXaH",lz:11,ly:.3,leftRoofHeight:11,cx:4.010629943427583,type:"Wall",locked:!1,cy:4.151117918815318,leftPoint:[14.87205411901163,4.151117918815315,0],selected:!1,relativeAngle:3.1415926535897927,roofId:"5Fxdv1WWmCMeawRz9mKuqV",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],leftJoints:["9wfJs9iCWUXsCC7X64D8Nb"],color:"white",rightPoint:[-6.8507942321564625,4.151117918815323,0],normal:[0,0,1],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",rightJoints:["qD9BfhCuxt9GxywQHZujJQ"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cz:0,roofId:"5Fxdv1WWmCMeawRz9mKuqV",parentId:"x5CDMTRHrHH6ChAJLKJCrV",textureType:"Wall Texture Default",lx:8.340566324530702,rightPoint:[14.87205411901163,4.151117918815315,0],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",locked:!1,cx:14.872054119011626,normal:[0,0,1],leftPoint:[14.872054119011624,-4.189448405715386,0],color:"white",rightRoofHeight:11,rightJoints:["6V62Zt3rayMTYsccknpXaH"],cy:-.019165243450035785,ly:.3,centerRoofHeight:[0,12.060818180566665],leftJoints:["eVyuLptBvR2cKWFWdRTpDm"],leftRoofHeight:11,rotation:[0,0,-.41015237421866746],selected:!1,type:"Wall",lz:11,id:"9wfJs9iCWUXsCC7X64D8Nb",relativeAngle:1.570796326794896,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{id:"eVyuLptBvR2cKWFWdRTpDm",leftJoints:["qD9BfhCuxt9GxywQHZujJQ"],lz:11,leftRoofHeight:11,cx:4.010629943427585,textureType:"Wall Texture Default",cz:0,selected:!1,rightPoint:[14.872054119011624,-4.189448405715386,0],parentId:"x5CDMTRHrHH6ChAJLKJCrV",type:"Wall",color:"white",ly:.3,rightJoints:["9wfJs9iCWUXsCC7X64D8Nb"],cy:-4.189448405715389,leftPoint:[-6.850794232156455,-4.189448405715391,0],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",rightRoofHeight:11,rotation:[0,0,-.41015237421866746],relativeAngle:20443415277360858e-32,roofId:"5Fxdv1WWmCMeawRz9mKuqV",lx:21.72284835116808,normal:[0,0,1],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,leftJoints:["6V62Zt3rayMTYsccknpXaH"],centerRoofHeight:[0,12.060818180566665],locked:!1,rightPoint:[-6.850794232156455,-4.189448405715391,0],type:"Wall",rightJoints:["eVyuLptBvR2cKWFWdRTpDm"],parentId:"x5CDMTRHrHH6ChAJLKJCrV",cy:-.01916524345003401,lz:11,leftRoofHeight:11,rightRoofHeight:11,relativeAngle:-1.5707963267948957,color:"white",cz:0,id:"qD9BfhCuxt9GxywQHZujJQ",lx:8.340566324530712,roofId:"5Fxdv1WWmCMeawRz9mKuqV",cx:-6.850794232156459,foundationId:"x5CDMTRHrHH6ChAJLKJCrV",normal:[0,0,1],rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,leftPoint:[-6.8507942321564625,4.151117918815323,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Foundation",solarPowerTower:{},rotation:[0,0,-.41015237421866746],selected:!1,locked:!1,lx:30.492817584324445,id:"x5CDMTRHrHH6ChAJLKJCrV",lz:1,cx:-2.6987520128351328,normal:[0,0,1],cz:.5,ly:8.387848050211689,solarAbsorberPipe:{},solarUpdraftTower:{},cy:-53.16373671637722,color:"#808080",parentId:"Ground"},{type:"Wall",textureType:"Wall Texture Default",lx:5.147994804936703,rotation:[0,0,-.41015237421866746],lz:13,ly:.3,cy:3.5419213517865673,leftJoints:["xqjrhteUBJfNDcJWuHnvRu"],leftRoofHeight:13,rightRoofHeight:13,rightJoints:["qY5WoPV6F2CGJU6Z5GgH9A"],normal:[0,0,1],locked:!1,cx:1.9334943095461699,id:"5TCp2VzUPYtC3wHFFUhMZA",relativeAngle:3.1415926535897922,leftPoint:[4.507491712014521,3.5419213517865646,0],cz:0,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",roofId:"15884yYUHNT5NwXMKhmRGP",color:"white",selected:!1,rightPoint:[-.6405030929221814,3.54192135178657,0],parentId:"niHTxZ4PaRwa8PCQj9YtSY",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{type:"Wall",id:"xqjrhteUBJfNDcJWuHnvRu",roofId:"15884yYUHNT5NwXMKhmRGP",foundationId:"niHTxZ4PaRwa8PCQj9YtSY",lx:7.024418192306677,lz:13,relativeAngle:1.5707963267948963,rightJoints:["5TCp2VzUPYtC3wHFFUhMZA"],selected:!1,textureType:"Wall Texture Default",cx:4.50749171201452,parentId:"niHTxZ4PaRwa8PCQj9YtSY",leftRoofHeight:13,rightRoofHeight:13,cy:.029712255633226103,ly:.3,color:"white",normal:[0,0,1],leftPoint:[4.507491712014519,-3.4824968405201124,0],rightPoint:[4.507491712014521,3.5419213517865646,0],rotation:[0,0,-.41015237421866746],cz:0,locked:!1,leftJoints:["nW4zHPMqaoecHBwBCyEqwh"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{cx:1.9334943095461696,lz:13,lx:5.147994804936699,roofId:"15884yYUHNT5NwXMKhmRGP",color:"white",ly:.3,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",leftPoint:[-.6405030929221798,-3.482496840520119,0],type:"Wall",parentId:"niHTxZ4PaRwa8PCQj9YtSY",leftRoofHeight:13,textureType:"Wall Texture Default",cz:0,rotation:[0,0,-.41015237421866746],rightPoint:[4.507491712014519,-3.4824968405201124,0],leftJoints:["qY5WoPV6F2CGJU6Z5GgH9A"],selected:!1,cy:-3.482496840520116,id:"nW4zHPMqaoecHBwBCyEqwh",locked:!1,normal:[0,0,1],rightRoofHeight:13,relativeAngle:1293967534963907e-30,rightJoints:["xqjrhteUBJfNDcJWuHnvRu"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{textureType:"Wall Texture Default",ly:.3,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",id:"qY5WoPV6F2CGJU6Z5GgH9A",cy:.029712255633225437,leftJoints:["5TCp2VzUPYtC3wHFFUhMZA"],relativeAngle:-1.5707963267948963,leftPoint:[-.6405030929221814,3.54192135178657,0],leftRoofHeight:13,cz:0,roofId:"15884yYUHNT5NwXMKhmRGP",rightRoofHeight:13,selected:!1,normal:[0,0,1],cx:-.6405030929221807,lz:13,rotation:[0,0,-.41015237421866746],rightJoints:["nW4zHPMqaoecHBwBCyEqwh"],lx:7.024418192306689,rightPoint:[-.6405030929221798,-3.482496840520119,0],parentId:"niHTxZ4PaRwa8PCQj9YtSY",type:"Wall",locked:!1,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{solarAbsorberPipe:{},cy:-49.221657555965606,ly:7.870086564093848,cz:.5,type:"Foundation",solarPowerTower:{},locked:!1,rotation:[0,0,-.41015237421866746],solarUpdraftTower:{},normal:[0,0,1],lz:1,id:"niHTxZ4PaRwa8PCQj9YtSY",parentId:"Ground",color:"#808080",selected:!1,lx:9.19241650107572,cx:.2960050895698132},{leftJoints:["pBQFic2TqVJyDdJyEaBVof"],cy:6.111068939289358,rightJoints:["w8GFYP8jB1EG2YVL6appCT"],rightRoofHeight:20,locked:!1,type:"Wall",rotation:[0,0,-.41015237421866746],cx:-6.699754362236526,foundationId:"jH5z454ciczrceJTNes5b4",relativeAngle:-3.1415926535897927,color:"white",lz:20,rightPoint:[-16.136312320425503,6.1110689392893525,1],cz:0,leftPoint:[2.7368035959524555,6.111068939289361,1],parentId:"jH5z454ciczrceJTNes5b4",id:"tq43NPQgXhkeNmwFteVBqx",lx:18.873115916377962,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",ly:.3,textureType:"Wall Texture Default",normal:[0,0,1],leftRoofHeight:20,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{normal:[0,0,1],leftJoints:["4ocNasurxu3LhLKonWAKWR"],lz:20,rightRoofHeight:20,locked:!1,foundationId:"jH5z454ciczrceJTNes5b4",cy:-.01768597422249274,rotation:[0,0,-.41015237421866746],relativeAngle:1.5707963267948966,selected:!1,cx:2.736803595952447,id:"pBQFic2TqVJyDdJyEaBVof",rightPoint:[2.7368035959524555,6.111068939289361,1],cz:0,color:"white",type:"Wall",lx:12.257509827023695,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",textureType:"Wall Texture Default",ly:.3,rightJoints:["tq43NPQgXhkeNmwFteVBqx"],parentId:"jH5z454ciczrceJTNes5b4",leftRoofHeight:20,leftPoint:[2.7368035959524515,-6.146440887734339,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{selected:!1,rightJoints:["pBQFic2TqVJyDdJyEaBVof"],leftJoints:["w8GFYP8jB1EG2YVL6appCT"],lz:20,lx:18.873115916377927,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],id:"4ocNasurxu3LhLKonWAKWR",locked:!1,foundationId:"jH5z454ciczrceJTNes5b4",leftRoofHeight:20,type:"Wall",cy:-6.146440887734334,normal:[0,0,1],cx:-6.69975436223651,rightRoofHeight:20,ly:.3,parentId:"jH5z454ciczrceJTNes5b4",cz:0,color:"white",relativeAngle:-7059076177209601e-31,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",rightPoint:[2.736803595952453,-6.146440887734342,1],leftPoint:[-16.13631232042547,-6.146440887734327,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{rotation:[0,0,-.41015237421866746],rightPoint:[-16.13631232042547,-6.146440887734327,1],ly:.3,parentId:"jH5z454ciczrceJTNes5b4",textureType:"Wall Texture Default",id:"w8GFYP8jB1EG2YVL6appCT",relativeAngle:-1.5707963267948937,type:"Wall",lz:20,locked:!1,leftJoints:["tq43NPQgXhkeNmwFteVBqx"],leftPoint:[-16.136312320425503,6.1110689392893525,1],foundationId:"jH5z454ciczrceJTNes5b4",cz:0,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",rightRoofHeight:20,color:"white",cx:-16.13631232042549,cy:-.017685974222486855,lx:12.257509827023679,leftRoofHeight:20,rightJoints:["4ocNasurxu3LhLKonWAKWR"],normal:[0,0,1],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{locked:!1,color:"#808080",lx:39.42410417793452,cx:66.63950557888982,ly:15.35325958544188,rotation:[0,0,-.41015237421866746],type:"Foundation",selected:!1,lz:1,parentId:"Ground",normal:[0,0,1],solarPowerTower:{},cy:16.298608230784698,id:"jH5z454ciczrceJTNes5b4",solarAbsorberPipe:{},solarUpdraftTower:{},cz:.5},{type:"Wall",relativeAngle:3.141592653589793,cy:1.981243048009849,foundationId:"n59KTNFiEAdewYQ4UeZKU4",locked:!1,parentId:"n59KTNFiEAdewYQ4UeZKU4",leftRoofHeight:4,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],roofId:"rSsa8T9bULkoQ2pinqnr8i",leftPoint:[.9304202110555404,1.981243048009849,0],color:"white",rightRoofHeight:4,cz:0,cx:-2.0589287667673153,id:"v3VJnU8TGf45Uue1UFcxRK",lx:5.9786979556457105,centerRoofHeight:[0,4.977141261476465],normal:[0,0,1],rightPoint:[-5.0482777445901705,1.981243048009849,0],leftJoints:["usXjKxe48EnDWZT6Frh4Pq"],selected:!1,ly:.3,lz:4,rightJoints:["oB5VoQWfR3kmSWtghKT8LL"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{leftJoints:["8m4LSxdnyZTCo1Q3CX64h7"],rightPoint:[.9304202110555404,1.981243048009849,0],cx:.9304202110555421,leftPoint:[.9304202110555437,-1.9726241537665505,0],color:"white",rotation:[0,0,-.41015237421866746],leftRoofHeight:4,foundationId:"n59KTNFiEAdewYQ4UeZKU4",cy:.004309447121649268,lx:3.9538672017764,locked:!1,id:"usXjKxe48EnDWZT6Frh4Pq",selected:!1,ly:.3,rightRoofHeight:4,rightJoints:["v3VJnU8TGf45Uue1UFcxRK"],textureType:"Wall Texture Default",parentId:"n59KTNFiEAdewYQ4UeZKU4",roofId:"rSsa8T9bULkoQ2pinqnr8i",normal:[0,0,1],type:"Wall",relativeAngle:1.5707963267948977,cz:0,lz:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cx:-2.058928766767304,cz:0,leftRoofHeight:4,lx:5.978697955645695,rightJoints:["usXjKxe48EnDWZT6Frh4Pq"],centerRoofHeight:[0,4.977141261476465],leftJoints:["oB5VoQWfR3kmSWtghKT8LL"],foundationId:"n59KTNFiEAdewYQ4UeZKU4",id:"8m4LSxdnyZTCo1Q3CX64h7",rightRoofHeight:4,rightPoint:[.9304202110555437,-1.9726241537665505,0],roofId:"rSsa8T9bULkoQ2pinqnr8i",cy:-1.9726241537665496,textureType:"Wall Texture Default",locked:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],selected:!1,ly:.3,relativeAngle:-2971143303405775e-31,color:"white",parentId:"n59KTNFiEAdewYQ4UeZKU4",lz:4,leftPoint:[-5.048277744590152,-1.9726241537665488,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{locked:!1,rightJoints:["8m4LSxdnyZTCo1Q3CX64h7"],lz:4,leftJoints:["v3VJnU8TGf45Uue1UFcxRK"],color:"white",type:"Wall",textureType:"Wall Texture Default",cz:0,parentId:"n59KTNFiEAdewYQ4UeZKU4",selected:!1,id:"oB5VoQWfR3kmSWtghKT8LL",rotation:[0,0,-.41015237421866746],cy:.004309447121650156,leftPoint:[-5.0482777445901705,1.981243048009849,0],leftRoofHeight:4,lx:3.953867201776398,rightPoint:[-5.048277744590152,-1.9726241537665488,0],normal:[0,0,1],rightRoofHeight:4,ly:.3,cx:-5.048277744590161,relativeAngle:-1.570796326794892,roofId:"rSsa8T9bULkoQ2pinqnr8i",foundationId:"n59KTNFiEAdewYQ4UeZKU4",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{solarUpdraftTower:{},normal:[0,0,1],color:"#808080",lz:1,cz:.5,lx:10.423522474713057,ly:4.1286288557387945,locked:!1,parentId:"Ground",rotation:[0,0,-.41015237421866746],solarPowerTower:{},id:"n59KTNFiEAdewYQ4UeZKU4",cy:-40.804555672678404,type:"Foundation",cx:68.39138539021306,selected:!1,solarAbsorberPipe:{}},{locked:!1,selected:!1,lx:5.9786979556457105,ly:.3,rightPoint:[-5.0482777445901705,1.981243048009849,0],textureType:"Wall Texture Default",rightRoofHeight:4,lz:4,foundationId:"5YuxWSX2uVTCHuPGAXXubi",leftRoofHeight:4,roofId:"1E1bgqioi9tFqyckxVRysA",leftJoints:["c7E26TQsGBwiEUQ4ooLDKK"],color:"white",normal:[0,0,1],relativeAngle:3.141592653589793,type:"Wall",id:"ccjpL8TWCg1zhnSiXXyUiu",cx:-2.0589287667673153,rightJoints:["ar4bhGtUec9qTkqAxEbkF4"],rotation:[0,0,-.41015237421866746],parentId:"5YuxWSX2uVTCHuPGAXXubi",cz:0,centerRoofHeight:[0,4.788751523933837],leftPoint:[.9304202110555404,1.981243048009849,0],cy:1.981243048009849,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{parentId:"5YuxWSX2uVTCHuPGAXXubi",lz:4,rightRoofHeight:4,roofId:"1E1bgqioi9tFqyckxVRysA",cy:.004309447121649268,foundationId:"5YuxWSX2uVTCHuPGAXXubi",normal:[0,0,1],type:"Wall",locked:!1,rotation:[0,0,-.41015237421866746],leftJoints:["nxEr9eKy7xre7xajGyT8qN"],selected:!1,ly:.3,relativeAngle:1.5707963267948977,rightPoint:[.9304202110555404,1.981243048009849,0],rightJoints:["ccjpL8TWCg1zhnSiXXyUiu"],leftPoint:[.9304202110555437,-1.9726241537665505,0],id:"c7E26TQsGBwiEUQ4ooLDKK",cz:0,cx:.9304202110555421,lx:3.9538672017764,textureType:"Wall Texture Default",color:"white",leftRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:0,relativeAngle:-2971143303405775e-31,textureType:"Wall Texture Default",normal:[0,0,1],color:"white",parentId:"5YuxWSX2uVTCHuPGAXXubi",leftJoints:["ar4bhGtUec9qTkqAxEbkF4"],leftPoint:[-5.048277744590152,-1.9726241537665488,0],centerRoofHeight:[0,4.788751523933837],lx:5.978697955645695,leftRoofHeight:4,cx:-2.058928766767304,locked:!1,ly:.3,rightPoint:[.9304202110555437,-1.9726241537665505,0],id:"nxEr9eKy7xre7xajGyT8qN",type:"Wall",cy:-1.9726241537665496,rightRoofHeight:4,lz:4,foundationId:"5YuxWSX2uVTCHuPGAXXubi",selected:!1,rightJoints:["c7E26TQsGBwiEUQ4ooLDKK"],roofId:"1E1bgqioi9tFqyckxVRysA",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{locked:!1,ly:.3,parentId:"5YuxWSX2uVTCHuPGAXXubi",normal:[0,0,1],textureType:"Wall Texture Default",lx:3.953867201776398,cy:.004309447121650156,lz:4,selected:!1,leftPoint:[-5.0482777445901705,1.981243048009849,0],leftRoofHeight:4,rightPoint:[-5.048277744590152,-1.9726241537665488,0],rightJoints:["nxEr9eKy7xre7xajGyT8qN"],rightRoofHeight:4,relativeAngle:-1.570796326794892,color:"white",roofId:"1E1bgqioi9tFqyckxVRysA",leftJoints:["ccjpL8TWCg1zhnSiXXyUiu"],id:"ar4bhGtUec9qTkqAxEbkF4",foundationId:"5YuxWSX2uVTCHuPGAXXubi",cx:-5.048277744590161,rotation:[0,0,-.41015237421866746],type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lz:1,selected:!1,solarAbsorberPipe:{},cz:.5,locked:!1,type:"Foundation",normal:[0,0,1],solarPowerTower:{},id:"5YuxWSX2uVTCHuPGAXXubi",cy:-30.912868668016095,cx:72.70720165765073,solarUpdraftTower:{},ly:4.1286288557387945,parentId:"Ground",color:"#808080",lx:10.423522474713057,rotation:[0,0,-.41015237421866746]},{textureType:"Wall Texture Default",cx:.01121512740181907,rightPoint:[-3.072511420947951,1.3672430244223959,0],cy:1.3672430244223936,id:"6QCJ15fiFxBVfmQVYdq3Tt",relativeAngle:3.1415926535897927,normal:[0,0,1],selected:!1,leftJoints:["hKcyiMXDvquM1MhoYuTSwv"],leftRoofHeight:11,cz:0,rightJoints:["xaCgBVBkCeg8kpZex83ZSB"],lz:11,type:"Wall",lx:6.167453096699541,locked:!1,leftPoint:[3.0949416757515893,1.3672430244223912,0],ly:.3,foundationId:"jsSCnAypzh29RxPH7MED73",rotation:[0,0,-.41015237421866746],roofId:"g5QrsNM3GmBsG5THTKDrtm",parentId:"jsSCnAypzh29RxPH7MED73",color:"white",rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,leftRoofHeight:11,rightPoint:[3.0949416757515893,1.3672430244223912,0],foundationId:"jsSCnAypzh29RxPH7MED73",cz:0,cx:3.0949416757515884,ly:.3,rightJoints:["6QCJ15fiFxBVfmQVYdq3Tt"],normal:[0,0,1],textureType:"Wall Texture Default",rightRoofHeight:11,leftPoint:[3.094941675751588,-5.795230412406128,0],type:"Wall",id:"hKcyiMXDvquM1MhoYuTSwv",roofId:"g5QrsNM3GmBsG5THTKDrtm",locked:!1,cy:-2.2139936939918683,color:"white",rotation:[0,0,-.41015237421866746],parentId:"jsSCnAypzh29RxPH7MED73",relativeAngle:1.5707963267948963,selected:!1,lz:11,leftJoints:["eS1W5AA2DGWiYaV8ifzzrj"],centerRoofHeight:[-.5,11],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,leftJoints:["xaCgBVBkCeg8kpZex83ZSB"],cz:0,rotation:[0,0,-.41015237421866746],relativeAngle:0,textureType:"Wall Texture Default",cy:-5.795230412406128,rightPoint:[3.094941675751588,-5.795230412406128,0],lx:6.167453096699535,parentId:"jsSCnAypzh29RxPH7MED73",id:"eS1W5AA2DGWiYaV8ifzzrj",foundationId:"jsSCnAypzh29RxPH7MED73",locked:!1,rightJoints:["hKcyiMXDvquM1MhoYuTSwv"],ly:.3,rightRoofHeight:11,color:"white",leftPoint:[-3.0725114209479467,-5.795230412406128,0],leftRoofHeight:11,roofId:"g5QrsNM3GmBsG5THTKDrtm",cx:.011215127401820624,type:"Wall",lz:11,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{roofId:"g5QrsNM3GmBsG5THTKDrtm",cz:0,leftRoofHeight:11,type:"Wall",cy:-2.213993693991866,parentId:"jsSCnAypzh29RxPH7MED73",rotation:[0,0,-.41015237421866746],rightJoints:["eS1W5AA2DGWiYaV8ifzzrj"],textureType:"Wall Texture Default",id:"xaCgBVBkCeg8kpZex83ZSB",lx:7.162473436828524,cx:-3.072511420947949,leftJoints:["6QCJ15fiFxBVfmQVYdq3Tt"],lz:11,ly:.3,locked:!1,rightPoint:[-3.0725114209479467,-5.795230412406128,0],foundationId:"jsSCnAypzh29RxPH7MED73",normal:[0,0,1],color:"white",centerRoofHeight:[.5,11],rightRoofHeight:11,leftPoint:[-3.072511420947951,1.3672430244223959,0],relativeAngle:-1.570796326794896,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{locked:!1,solarPowerTower:{},selected:!1,solarUpdraftTower:{},cz:.5,solarAbsorberPipe:{},normal:[0,0,1],rotation:[0,0,-.41015237421866746],ly:12.02473099186649,cy:-50.437956729618975,lx:6.9193101388799265,lz:1,parentId:"Ground",color:"#808080",type:"Foundation",cx:40.2572441035554,id:"jsSCnAypzh29RxPH7MED73"},{cy:0,wallsId:["91sCr2ydHgygQWRuaJ5N1C"],lz:0,type:"Roof",id:"vRe6nzFrDCWVtSCu332MH4",textureType:"No Roof Texture",showLabel:!1,rotation:[0,0,0],lineWidth:.2,ridgeLeftPoint:[0,1],cz:0,normal:[0,0,1],roofType:"Gable",cx:0,ly:0,thickness:.2,locked:!1,lx:0,parentId:"bkH7VRrzUTdvxfSm8xVMfT",foundationId:"bkH7VRrzUTdvxfSm8xVMfT",ridgeRightPoint:[0,1],lineColor:"black",selected:!1,color:"#ffffff",rise:1.3393317550628012,ceiling:!1},{cz:0,lz:0,id:"fS4RCk5GfqcPBkrsfQqupD",ly:0,selected:!1,ridgeLeftPoint:[-.5,1],normal:[0,0,1],showLabel:!1,cy:0,color:"#ffffff",type:"Roof",foundationId:"kqR5p2bajX4NMTBq55qbCM",rotation:[0,0,0],locked:!1,lineColor:"black",textureType:"No Roof Texture",lineWidth:.2,lx:0,ridgeRightPoint:[.5,1],cx:0,thickness:.2,wallsId:["4CXQZA8oGxMYG5uuTdJH4z"],roofType:"Gable",parentId:"kqR5p2bajX4NMTBq55qbCM",rise:0,ceiling:!1},{showLabel:!1,rotation:[0,0,0],cy:0,wallsId:["oB5VoQWfR3kmSWtghKT8LL"],thickness:.2,lz:0,foundationId:"n59KTNFiEAdewYQ4UeZKU4",lineColor:"black",cz:0,textureType:"No Roof Texture",cx:0,type:"Roof",ly:0,roofType:"Gable",lineWidth:.2,selected:!1,ridgeRightPoint:[0,1],color:"#ffffff",ridgeLeftPoint:[0,1],parentId:"n59KTNFiEAdewYQ4UeZKU4",normal:[0,0,1],locked:!1,lx:0,id:"rSsa8T9bULkoQ2pinqnr8i",rise:.977141261476465,ceiling:!1},{parentId:"b7G57PTXunVqeHXzCWeuRF",rightJoints:["dpZWnBXJifWNeSxPnXSh11"],ly:.3,cx:.22353744000734044,lz:10,normal:[0,0,1],leftPoint:[8.53481429529893,4.284875927504061,1],rightRoofHeight:10,foundationId:"b7G57PTXunVqeHXzCWeuRF",textureType:"Wall Texture Default",rightPoint:[-8.087739415284249,4.284875927504063,1],leftJoints:["6fcDhLeskSsK9vgEVSS72V"],locked:!1,relativeAngle:3.141592653589793,lx:16.622553710583173,type:"Wall",roofId:"5AL2YmNDuGkeP7qZ5AC7iV",color:"white",id:"kj6mwcCRjjAjkZKNVLpD6Q",rotation:[0,0,-.41015237421866746],cy:4.2848759275040615,leftRoofHeight:10,selected:!1,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{normal:[0,0,1],id:"6fcDhLeskSsK9vgEVSS72V",locked:!1,roofId:"5AL2YmNDuGkeP7qZ5AC7iV",rotation:[0,0,-.41015237421866746],cx:8.534814295298915,lz:10,leftJoints:["eJ8JK9wm6JNigJXLFxHXZv"],rightJoints:["kj6mwcCRjjAjkZKNVLpD6Q"],leftPoint:[8.534814295298911,-8.242350712076524,1],leftRoofHeight:10,textureType:"Wall Texture Default",rightRoofHeight:10,cz:0,cy:-1.978737392286233,selected:!1,foundationId:"b7G57PTXunVqeHXzCWeuRF",parentId:"b7G57PTXunVqeHXzCWeuRF",lx:12.527226639580588,ly:.3,rightPoint:[8.53481429529893,4.284875927504061,1],relativeAngle:1.5707963267948954,color:"white",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:.3,id:"eJ8JK9wm6JNigJXLFxHXZv",rightPoint:[8.534814295298911,-8.242350712076524,1],rightJoints:["6fcDhLeskSsK9vgEVSS72V"],leftRoofHeight:10,cz:0,cx:.22353744000733222,locked:!1,rightRoofHeight:10,leftJoints:["dpZWnBXJifWNeSxPnXSh11"],leftPoint:[-8.087739415284243,-8.24235071207653,1],parentId:"b7G57PTXunVqeHXzCWeuRF",lz:10,lx:16.622553710583155,cy:-8.242350712076528,color:"white",relativeAngle:21372851251721804e-32,textureType:"Wall Texture Default",selected:!1,rotation:[0,0,-.41015237421866746],type:"Wall",normal:[0,0,1],roofId:"5AL2YmNDuGkeP7qZ5AC7iV",foundationId:"b7G57PTXunVqeHXzCWeuRF",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{textureType:"Wall Texture Default",cz:0,ly:.3,relativeAngle:-1.5707963267948966,selected:!1,color:"white",cy:-1.9787373922862332,leftPoint:[-8.087739415284249,4.284875927504063,1],lx:12.527226639580594,lz:10,parentId:"b7G57PTXunVqeHXzCWeuRF",leftJoints:["kj6mwcCRjjAjkZKNVLpD6Q"],locked:!1,foundationId:"b7G57PTXunVqeHXzCWeuRF",roofId:"5AL2YmNDuGkeP7qZ5AC7iV",rightRoofHeight:10,rightPoint:[-8.087739415284243,-8.24235071207653,1],id:"dpZWnBXJifWNeSxPnXSh11",normal:[0,0,1],cx:-8.087739415284243,rightJoints:["eJ8JK9wm6JNigJXLFxHXZv"],rotation:[0,0,-.41015237421866746],type:"Wall",leftRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"b7G57PTXunVqeHXzCWeuRF",cz:.5,color:"#808080",parentId:"Ground",locked:!1,cx:39.84041470102862,solarPowerTower:{},type:"Foundation",selected:!1,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lx:18.262342237511447,solarUpdraftTower:{},cy:-19.957109308878913,ly:25.839391461953184,lz:1,normal:[0,0,1]},{wallsId:["nRLvRbWCCyQkZn2SaeWzhR","4RfjPoTAycowc8B5SwzkpM","a6q6Txnypc9iPjohNf43CB","jWqRj42hxzMWofSpUH42dz"],lx:0,cz:0,cx:0,thickness:.2,id:"jSo2aHHx58NTeAQuDZodmY",type:"Roof",showLabel:!1,locked:!1,roofType:"Pyramid",lz:0,ly:0,foundationId:"uBZaguS4Mp4iydQBE88CA1",color:"#ffffff",lineWidth:.2,cy:0,parentId:"uBZaguS4Mp4iydQBE88CA1",normal:[0,0,1],rotation:[0,0,0],textureType:"No Roof Texture",lineColor:"black",selected:!1,rise:1.4201872195519947,ceiling:!1},{lx:0,selected:!1,parentId:"niHTxZ4PaRwa8PCQj9YtSY",foundationId:"niHTxZ4PaRwa8PCQj9YtSY",wallsId:["nW4zHPMqaoecHBwBCyEqwh","xqjrhteUBJfNDcJWuHnvRu","5TCp2VzUPYtC3wHFFUhMZA","qY5WoPV6F2CGJU6Z5GgH9A"],cx:0,showLabel:!1,rotation:[0,0,0],cz:0,normal:[0,0,1],roofType:"Pyramid",lz:0,locked:!1,lineColor:"black",thickness:.2,cy:0,ly:0,id:"15884yYUHNT5NwXMKhmRGP",color:"#ffffff",textureType:"No Roof Texture",type:"Roof",lineWidth:.2,rise:2,ceiling:!1},{locked:!1,lx:0,textureType:"No Roof Texture",normal:[0,0,1],thickness:.2,lineWidth:.2,cy:0,ridgeRightPoint:[0,1],parentId:"x5CDMTRHrHH6ChAJLKJCrV",cx:0,wallsId:["6V62Zt3rayMTYsccknpXaH"],showLabel:!1,foundationId:"x5CDMTRHrHH6ChAJLKJCrV",lz:0,selected:!1,ly:0,ridgeLeftPoint:[0,1],lineColor:"black",cz:0,id:"5Fxdv1WWmCMeawRz9mKuqV",type:"Roof",color:"#ffffff",rotation:[0,0,0],roofType:"Gable",rise:1.060818180566665,ceiling:!1},{showLabel:!1,ly:0,color:"#ffffff",rotation:[0,0,0],roofType:"Pyramid",cx:0,lineWidth:.2,thickness:.2,textureType:"No Roof Texture",locked:!1,wallsId:["5QyDHSHQi5g83yTByESY7g","nNQo9acqRqKRWfE4a1RvLy","7JuGqBdByKra32qVf2wuMP","2DDFqyaAZAAuWTVgy7UTYL"],lx:0,selected:!1,lz:0,parentId:"64tiQZ7Po62MhdtE1e44n9",cy:0,cz:0,normal:[0,0,1],foundationId:"64tiQZ7Po62MhdtE1e44n9",lineColor:"black",type:"Roof",id:"oTjPo4r99EKfdasnxT3n5a",rise:2,ceiling:!1},{cz:0,ly:0,color:"#ffffff",showLabel:!1,type:"Roof",wallsId:["oNZPm4ForjT1jLCRGXT8ae"],locked:!1,lineWidth:.2,ridgeRightPoint:[0,1],textureType:"No Roof Texture",cy:0,thickness:.2,lz:0,rotation:[0,0,0],parentId:"qJBTbMiP4tUMstkk4bQqAp",normal:[0,0,1],cx:0,id:"tLNDomb3SubspErPERhojH",lx:0,lineColor:"black",selected:!1,ridgeLeftPoint:[0,1],foundationId:"qJBTbMiP4tUMstkk4bQqAp",roofType:"Gable",rise:1.111126896848333,ceiling:!1},{color:"#ffffff",normal:[0,0,1],thickness:.2,ridgeRightPoint:[0,1],lz:0,roofType:"Gable",ly:0,type:"Roof",lineColor:"black",showLabel:!1,id:"1E1bgqioi9tFqyckxVRysA",parentId:"5YuxWSX2uVTCHuPGAXXubi",ridgeLeftPoint:[0,1],foundationId:"5YuxWSX2uVTCHuPGAXXubi",locked:!1,cz:0,selected:!1,lx:0,textureType:"No Roof Texture",cy:0,lineWidth:.2,wallsId:["ar4bhGtUec9qTkqAxEbkF4"],rotation:[0,0,0],cx:0,rise:.7887515239338372,ceiling:!1},{cy:.22491740558796045,rightPoint:[-7.989846773884258,.2249174055879637,1],roofId:"7MHnZ8shY1nNWWHte69oqs",lx:16.622553710583173,selected:!1,locked:!1,type:"Wall",parentId:"jXMhg2wW7AzS5RR8DVRgQA",rightJoints:["bBRKF8cuUabp5jr721b2aF"],leftRoofHeight:20,rotation:[0,0,-.41015237421866746],lz:20,relativeAngle:3.141592653589793,leftJoints:["monXTa8uPTJhzhXCcFVkHQ"],cx:.3214300814073309,rightRoofHeight:20,cz:0,normal:[0,0,1],color:"white",foundationId:"jXMhg2wW7AzS5RR8DVRgQA",id:"abgP23xfq9mn6fXM5eixEU",leftPoint:[8.63270693669892,.22491740558795703,1],ly:.3,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{normal:[0,0,1],locked:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",rightPoint:[8.63270693669892,.22491740558795703,1],leftPoint:[8.6327069366989,-12.302309233992622,1],id:"monXTa8uPTJhzhXCcFVkHQ",cx:8.632706936698906,cy:-6.038695914202334,textureType:"Wall Texture Default",leftJoints:["1sWH6Vf283ZQdSSFT642nh"],color:"white",foundationId:"jXMhg2wW7AzS5RR8DVRgQA",rightRoofHeight:20,leftRoofHeight:20,cz:0,lx:12.527226639580588,selected:!1,ly:.3,relativeAngle:1.5707963267948954,rightJoints:["abgP23xfq9mn6fXM5eixEU"],type:"Wall",lz:20,roofId:"7MHnZ8shY1nNWWHte69oqs",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{rightPoint:[8.6327069366989,-12.302309233992622,1],roofId:"7MHnZ8shY1nNWWHte69oqs",ly:.3,lx:16.622553710583155,relativeAngle:21372851251721804e-32,rotation:[0,0,-.41015237421866746],lz:20,leftJoints:["bBRKF8cuUabp5jr721b2aF"],normal:[0,0,1],foundationId:"jXMhg2wW7AzS5RR8DVRgQA",leftPoint:[-7.989846773884253,-12.302309233992618,1],cz:0,id:"1sWH6Vf283ZQdSSFT642nh",rightJoints:["monXTa8uPTJhzhXCcFVkHQ"],selected:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",color:"white",cx:.321430081407323,textureType:"Wall Texture Default",type:"Wall",leftRoofHeight:20,locked:!1,cy:-12.302309233992629,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{lx:12.527226639580594,leftRoofHeight:20,color:"white",normal:[0,0,1],leftJoints:["abgP23xfq9mn6fXM5eixEU"],cz:0,ly:.3,selected:!1,rightPoint:[-7.989846773884253,-12.302309233992618,1],cy:-6.038695914202334,leftPoint:[-7.989846773884258,.2249174055879637,1],locked:!1,id:"bBRKF8cuUabp5jr721b2aF",rightJoints:["1sWH6Vf283ZQdSSFT642nh"],relativeAngle:-1.5707963267948966,foundationId:"jXMhg2wW7AzS5RR8DVRgQA",cx:-7.989846773884254,parentId:"jXMhg2wW7AzS5RR8DVRgQA",textureType:"Wall Texture Default",roofId:"7MHnZ8shY1nNWWHte69oqs",lz:20,type:"Wall",rightRoofHeight:20,rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Foundation",cy:-59.32802731716726,color:"#808080",solarUpdraftTower:{},parentId:"Ground",solarPowerTower:{},rotation:[0,0,-.41015237421866746],lz:1,solarAbsorberPipe:{},normal:[0,0,1],ly:33.95930850578536,lx:18.06655695471146,selected:!1,cz:.5,id:"jXMhg2wW7AzS5RR8DVRgQA",locked:!1,cx:27.648877509882105},{parentId:"Ground",color:"gray",cx:-21.42383933703887,cy:-95.95694272842316,ly:1.57584749281375,id:"fskGS47Z1ZNZV2kamP1tSH",normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lz:10,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:5,locked:!1,selected:!1,type:"Cuboid",lx:2.5033124327375345,rotation:[0,0,-.41015237421866746]},{color:"white",lx:3.975737139849098,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",id:"mCTHFTsPbL7uxKLV7Fs7gC",locked:!1,cx:11.798791107427842,leftRoofHeight:6,rightRoofHeight:6,leftJoints:["fAYf9rMtUxbvaurL2KcLtn"],centerRoofHeight:[0,6.274887651356121],lz:6,leftPoint:[11.798791107427842,-1.9873220704176595,0],textureType:"Wall Texture Default",ly:.3,cy:.000546499506889564,cz:0,relativeAngle:1.5707963267948961,type:"Wall",selected:!1,rightPoint:[11.798791107427844,1.9884150694314386,0],roofId:"rxThm84RhChdhdNYSFFbG6",parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",rotation:[0,0,-.41015237421866746],rightJoints:["htbHSZNyQhmtqy5XzNBo85"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cy:-1.9873220704176617,id:"fAYf9rMtUxbvaurL2KcLtn",relativeAngle:5312979959407059e-31,cz:0,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",rightPoint:[11.798791107427842,-1.9873220704176595,0],leftRoofHeight:6,leftJoints:["21bSs7TaWmDDwyZwkVPp3m"],color:"white",lx:7.940642588168972,roofId:"rxThm84RhChdhdNYSFFbG6",cx:7.828469813343356,locked:!1,normal:[0,0,1],rotation:[0,0,-.41015237421866746],type:"Wall",ly:.3,lz:6,rightRoofHeight:6,leftPoint:[3.858148519258871,-1.9873220704176637,0],textureType:"Wall Texture Default",rightJoints:["mCTHFTsPbL7uxKLV7Fs7gC"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,ly:.3,roofId:"rxThm84RhChdhdNYSFFbG6",normal:[0,0,1],leftJoints:["htbHSZNyQhmtqy5XzNBo85"],leftRoofHeight:6,textureType:"Wall Texture Default",cx:3.8581485192588696,locked:!1,lz:6,rotation:[0,0,-.41015237421866746],centerRoofHeight:[0,6.274887651356121],lx:3.975737139849111,selected:!1,leftPoint:[3.858148519258868,1.9884150694314473,0],id:"21bSs7TaWmDDwyZwkVPp3m",color:"white",cy:.0005464995068917844,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",rightJoints:["fAYf9rMtUxbvaurL2KcLtn"],rightPoint:[3.858148519258871,-1.9873220704176637,0],relativeAngle:-1.570796326794896,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",roofId:"rxThm84RhChdhdNYSFFbG6",color:"white",selected:!1,ly:.3,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",leftRoofHeight:6,type:"Wall",leftPoint:[11.798791107427844,1.9884150694314386,0],rightPoint:[3.858148519258868,1.9884150694314473,0],cx:7.8284698133433555,cz:3.7151685093329987,textureType:"Wall Texture Default",relativeAngle:3.1415926535897922,leftJoints:["mCTHFTsPbL7uxKLV7Fs7gC"],id:"htbHSZNyQhmtqy5XzNBo85",rightJoints:["21bSs7TaWmDDwyZwkVPp3m"],locked:!1,rotation:[0,0,-.41015237421866746],lx:7.940642588168976,normal:[0,0,1],rightRoofHeight:6,cy:1.988415069431443,lz:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{textureType:"No Roof Texture",ridgeLeftPoint:[0,1],cx:0,rotation:[0,0,-.41015237421866746],selected:!1,ridgeRightPoint:[0,1],ly:0,lz:0,cz:0,locked:!1,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",lx:0,roofType:"Gable",type:"Roof",id:"rxThm84RhChdhdNYSFFbG6",wallsId:["htbHSZNyQhmtqy5XzNBo85"],parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",normal:[0,0,1],color:"#ffffff",cy:0,thickness:.2,rise:.2748876513561207,ceiling:!1},{type:"Foundation",locked:!1,cy:-78.52468836433339,lx:29.579193784185183,normal:[0,0,1],rotation:[0,0,-.41015237421866746],selected:!1,cx:-61.66430487227184,cz:.5,solarAbsorberPipe:{},lz:1,solarPowerTower:{},parentId:"Ground",solarUpdraftTower:{},ly:4.244451594984441,id:"jYmTgt5Yh5kp4YxeQ9xdGS"},{normal:[0,0,1],parentId:"2LZNQJZFPrCxZzv5NuwumV",rightRidgeLength:1.461737872145095,selected:!1,color:"#ffffff",locked:!1,cy:0,textureType:"No Roof Texture",lineColor:"black",lineWidth:.2,id:"9TF7gEynqtnsWJGidoBUNq",wallsId:["hcTBY8guDEpwEg5jtYtD3H"],rotation:[0,0,0],showLabel:!1,roofType:"Hip",leftRidgeLength:1.7970131018338904,thickness:.2,foundationId:"2LZNQJZFPrCxZzv5NuwumV",lz:0,cx:0,ly:0,lx:0,type:"Roof",cz:0,rise:5,ceiling:!1},{selected:!1,id:"tN1a6B1uCvjUWCkBQctrVG",rotation:[0,0,0],lineColor:"black",lineWidth:.2,ly:0,cz:0,roofType:"Hip",cy:0,textureType:"No Roof Texture",leftRidgeLength:.059768175058504625,showLabel:!1,locked:!1,wallsId:["b12LAtSYTNxCwTbH7iRFmz"],cx:0,thickness:.2,normal:[0,0,1],foundationId:"rQh2s1iBHWvFGFdzViXEe2",lz:0,lx:0,parentId:"rQh2s1iBHWvFGFdzViXEe2",color:"#ffffff",rightRidgeLength:12.757143526762304,type:"Roof",rise:2.8291651006338494,ceiling:!1},{ly:0,lineColor:"black",thickness:.2,cz:0,type:"Roof",wallsId:["gs8TZionAFZcvbLtmKeykq"],lineWidth:.2,parentId:"kLLR11PM8xK326yQ5QVzHF",roofType:"Gable",cx:0,showLabel:!1,id:"mgoQMGVeVMwiZzvh6DtsHC",ridgeLeftPoint:[0,1],cy:0,ridgeRightPoint:[0,1],lx:0,textureType:"No Roof Texture",foundationId:"kLLR11PM8xK326yQ5QVzHF",color:"#ffffff",selected:!1,locked:!1,rotation:[0,0,0],normal:[0,0,1],lz:0,rise:1.714737050020105,ceiling:!1},{normal:[0,0,1],type:"Roof",lz:0,cx:0,rotation:[0,0,0],rightRidgeLength:1.354315870345922,wallsId:["c79sKVUHUztGcC5p3emVv9"],lx:0,lineWidth:.2,thickness:.2,leftRidgeLength:1.2176583991481174,cy:0,selected:!1,textureType:"No Roof Texture",foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",showLabel:!1,cz:0,color:"#ffffff",parentId:"tjMZKt5v9D1sx6sc6Xyaq2",locked:!1,roofType:"Hip",id:"teQS3ohvRHqAbgCQQahyC6",lineColor:"black",ly:0,rise:5,ceiling:!1},{ly:5.984113255877874,color:"gray",normal:[0,0,1],parentId:"Ground",cy:111.66856512870567,cx:55.88269693007359,selected:!1,lx:21.294854568920073,id:"3PRatafdc5GGL7xWYLxLQt",rotation:[0,0,-.41015237421866746],type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],cz:4.25,lz:8.5},{rightRoofHeight:12,cx:.017113708955167617,relativeAngle:3.141592653589793,lx:12.131551303286216,leftJoints:["snwHy88SCLUgp9tM1ts1kV"],rightPoint:[-6.04866194268794,-9.49210668858673,1],rightJoints:["fgVtymGrmdEZZzZZ3mW69b"],selected:!1,foundationId:"4p3AerfQErrh3N7JyKd7PA",color:"white",cy:-9.49210668858672,ly:.3,locked:!1,type:"Wall",roofId:"ui47bC2XPhcG14b6RPgvMq",leftPoint:[6.082889360598275,-9.492106688586723,1],id:"pJZasFocQxwotbLjPFqJsC",normal:[0,0,1],lz:12,parentId:"4p3AerfQErrh3N7JyKd7PA",cz:0,leftRoofHeight:12,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cy:-19.44706205065753,leftPoint:[6.082889360598278,-29.402017412728345,1],color:"white",rightJoints:["pJZasFocQxwotbLjPFqJsC"],locked:!1,relativeAngle:1.5707963267948963,parentId:"4p3AerfQErrh3N7JyKd7PA",type:"Wall",selected:!1,leftRoofHeight:12,normal:[0,0,1],rightRoofHeight:12,lx:19.90991072414161,cx:6.08288936059827,lz:12,foundationId:"4p3AerfQErrh3N7JyKd7PA",ly:.3,textureType:"Wall Texture Default",roofId:"ui47bC2XPhcG14b6RPgvMq",id:"snwHy88SCLUgp9tM1ts1kV",cz:0,rightPoint:[6.082889360598275,-9.492106688586723,1],rotation:[0,0,-.41015237421866746],leftJoints:["9RBn6VqRCqHmHYTVsG2Hbq"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cx:.017113708955172058,lz:12,rightJoints:["snwHy88SCLUgp9tM1ts1kV"],leftRoofHeight:12,type:"Wall",selected:!1,locked:!1,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,rightPoint:[6.082889360598278,-29.402017412728345,1],roofId:"ui47bC2XPhcG14b6RPgvMq",id:"9RBn6VqRCqHmHYTVsG2Hbq",lx:12.131551303286194,leftJoints:["fgVtymGrmdEZZzZZ3mW69b"],rightRoofHeight:12,parentId:"4p3AerfQErrh3N7JyKd7PA",normal:[0,0,1],cy:-29.40201741272834,leftPoint:[-6.048661942687922,-29.402017412728334,1],relativeAngle:-1757094500109714e-30,cz:0,color:"white",foundationId:"4p3AerfQErrh3N7JyKd7PA",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cz:0,rightRoofHeight:12,color:"white",type:"Wall",id:"fgVtymGrmdEZZzZZ3mW69b",cy:-19.447062050657532,leftJoints:["pJZasFocQxwotbLjPFqJsC"],rightPoint:[-6.048661942687922,-29.402017412728334,1],roofId:"ui47bC2XPhcG14b6RPgvMq",leftPoint:[-6.04866194268794,-9.49210668858673,1],relativeAngle:-1.5707963267948957,parentId:"4p3AerfQErrh3N7JyKd7PA",lz:12,foundationId:"4p3AerfQErrh3N7JyKd7PA",leftRoofHeight:12,rotation:[0,0,-.41015237421866746],ly:.3,lx:19.909910724141604,selected:!1,locked:!1,normal:[0,0,1],rightJoints:["9RBn6VqRCqHmHYTVsG2Hbq"],textureType:"Wall Texture Default",cx:-6.048661942687932,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{solarPowerTower:{},selected:!1,cy:106.34352672553437,locked:!1,cx:54.33030410078149,rotation:[0,0,-.41015237421866746],normal:[0,0,1],parentId:"Ground",lz:1,ly:63.77501586798267,color:"#808080",lx:12.35095202063562,solarAbsorberPipe:{},solarUpdraftTower:{},id:"4p3AerfQErrh3N7JyKd7PA",cz:.5,type:"Foundation"},{rotation:[0,0,-.41015237421866746],lz:6,normal:[0,0,1],locked:!1,centerRoofHeight:[0,6.440750059917652],id:"irVUAZaEWhGKYr7twduXEh",cy:6.530855931908157,leftPoint:[2.9112812141567144,6.530855931908155,1],roofId:"ngj1wMdEusAUmYWeWEqzyw",type:"Wall",rightRoofHeight:6,cz:0,rightJoints:["8yAv4GumHgHAy2fR9bygQz"],foundationId:"gszYxD4CuGX1qrhwnFgJQu",lx:6.102875967687821,parentId:"gszYxD4CuGX1qrhwnFgJQu",cx:-.14015676968719282,ly:.3,leftRoofHeight:6,rightPoint:[-3.191594753531113,6.530855931908152,1],selected:!1,textureType:"Wall Texture Default",color:"white",leftJoints:["gr56ivVG6p8ierekWDUK1u"],relativeAngle:-3.1415926535897927,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{parentId:"gszYxD4CuGX1qrhwnFgJQu",color:"white",foundationId:"gszYxD4CuGX1qrhwnFgJQu",normal:[0,0,1],locked:!1,cx:2.9112812141567126,ly:.3,cz:0,selected:!1,rotation:[0,0,-.41015237421866746],id:"gr56ivVG6p8ierekWDUK1u",textureType:"Wall Texture Default",rightJoints:["irVUAZaEWhGKYr7twduXEh"],lx:9.731752225416841,cy:1.6649798191997407,rightPoint:[2.9112812141567144,6.530855931908155,1],lz:6,leftPoint:[2.911281214156714,-3.2008962935086798,1],type:"Wall",relativeAngle:1.5707963267948963,rightRoofHeight:6,leftJoints:["1K6LZYJR4J6iMfrED26Yxe"],roofId:"ngj1wMdEusAUmYWeWEqzyw",leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{selected:!1,roofId:"ngj1wMdEusAUmYWeWEqzyw",lz:6,rightJoints:["gr56ivVG6p8ierekWDUK1u"],centerRoofHeight:[0,6.440750059917652],leftPoint:[-3.191594753531113,-3.2008962935086824,1],leftJoints:["8yAv4GumHgHAy2fR9bygQz"],rightPoint:[2.911281214156714,-3.2008962935086798,1],cz:0,rightRoofHeight:6,type:"Wall",relativeAngle:-5821376180034847e-31,locked:!1,id:"1K6LZYJR4J6iMfrED26Yxe",parentId:"gszYxD4CuGX1qrhwnFgJQu",color:"white",normal:[0,0,1],cx:-.14015676968720614,cy:-3.200896293508684,leftRoofHeight:6,foundationId:"gszYxD4CuGX1qrhwnFgJQu",rotation:[0,0,-.41015237421866746],lx:6.102875967687822,textureType:"Wall Texture Default",ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightJoints:["1K6LZYJR4J6iMfrED26Yxe"],leftPoint:[-3.191594753531113,6.530855931908152,1],relativeAngle:-1.5707963267948972,id:"8yAv4GumHgHAy2fR9bygQz",selected:!1,lx:9.731752225416834,type:"Wall",foundationId:"gszYxD4CuGX1qrhwnFgJQu",leftJoints:["irVUAZaEWhGKYr7twduXEh"],normal:[0,0,1],parentId:"gszYxD4CuGX1qrhwnFgJQu",lz:6,locked:!1,rotation:[0,0,-.41015237421866746],cy:1.664979819199738,color:"white",cx:-3.191594753531114,ly:.3,leftRoofHeight:6,rightPoint:[-3.191594753531113,-3.2008962935086824,1],roofId:"ngj1wMdEusAUmYWeWEqzyw",cz:0,rightRoofHeight:6,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{locked:!1,selected:!1,rotation:[0,0,-.41015237421866746],parentId:"Ground",color:"#808080",cx:24.599288579767826,solarAbsorberPipe:{},cy:62.32717346646996,type:"Foundation",solarPowerTower:{},lx:7.149369527041389,normal:[0,0,1],ly:13.668965778073638,lz:1,cz:.5,solarUpdraftTower:{},id:"gszYxD4CuGX1qrhwnFgJQu"},{type:"Roof",ridgeLeftPoint:[0,1],ly:0,id:"ngj1wMdEusAUmYWeWEqzyw",locked:!1,foundationId:"gszYxD4CuGX1qrhwnFgJQu",lineColor:"black",selected:!1,lx:0,thickness:.2,rotation:[0,0,0],wallsId:["gr56ivVG6p8ierekWDUK1u"],cx:0,showLabel:!1,lineWidth:.2,ridgeRightPoint:[0,1],color:"#ffffff",textureType:"No Roof Texture",roofType:"Gable",cz:0,parentId:"gszYxD4CuGX1qrhwnFgJQu",cy:0,normal:[0,0,1],lz:0,rise:.4407500599176517,ceiling:!1},{selected:!1,lz:.1,color:"#68ccca",rotation:[0,0,-.41015237421866746],normal:[0,0,1],type:"Foundation",cy:80.9376872016833,lx:46.93960391347784,id:"pzqyJ9AXZR9mJxEtKDPKGG",solarUpdraftTower:{},cx:111.01126755807289,ly:67.71063906268108,locked:!1,solarAbsorberPipe:{},parentId:"Ground",cz:.05,solarPowerTower:{}},{leftJoints:["bmKncuas6bZ1hnGH6qyHKX"],roofId:"gVgDeNYsXdGDefJV1YRGoa",selected:!1,ly:.3,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",locked:!1,cx:-.14015676968719282,relativeAngle:-3.1415926535897927,normal:[0,0,1],lx:6.102875967687821,id:"8kwuUQ3tQhRzvqUiLnSjD4",type:"Wall",centerRoofHeight:[0,6.440750059917652],cz:0,foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",parentId:"uLUbMGL5dFfRU3Jy3CBsF5",lz:6,rightPoint:[-3.191594753531113,6.530855931908152,1],rightJoints:["gDyesAJb6hCZTAKFF2wVoZ"],color:"white",cy:6.530855931908157,leftPoint:[2.9112812141567144,6.530855931908155,1],rightRoofHeight:6,leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cz:0,textureType:"Wall Texture Default",selected:!1,type:"Wall",roofId:"gVgDeNYsXdGDefJV1YRGoa",id:"bmKncuas6bZ1hnGH6qyHKX",leftPoint:[2.911281214156714,-3.2008962935086798,1],rightRoofHeight:6,relativeAngle:1.5707963267948963,lz:6,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",rightJoints:["8kwuUQ3tQhRzvqUiLnSjD4"],foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",locked:!1,rotation:[0,0,-.41015237421866746],rightPoint:[2.9112812141567144,6.530855931908155,1],leftJoints:["vWXBFGVtdF9Zkw4WgrWQbB"],normal:[0,0,1],cx:2.9112812141567126,cy:1.6649798191997407,color:"white",leftRoofHeight:6,ly:.3,lx:9.731752225416841,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,leftJoints:["gDyesAJb6hCZTAKFF2wVoZ"],lx:6.102875967687822,rightJoints:["bmKncuas6bZ1hnGH6qyHKX"],locked:!1,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",cz:0,type:"Wall",centerRoofHeight:[0,6.440750059917652],relativeAngle:-5821376180034847e-31,leftRoofHeight:6,id:"vWXBFGVtdF9Zkw4WgrWQbB",textureType:"Wall Texture Default",color:"white",lz:6,cy:-3.200896293508684,cx:-.14015676968720614,selected:!1,leftPoint:[-3.191594753531113,-3.2008962935086824,1],rotation:[0,0,-.41015237421866746],foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",ly:.3,normal:[0,0,1],rightPoint:[2.911281214156714,-3.2008962935086798,1],roofId:"gVgDeNYsXdGDefJV1YRGoa",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{relativeAngle:-1.5707963267948972,locked:!1,cy:1.664979819199738,leftJoints:["8kwuUQ3tQhRzvqUiLnSjD4"],textureType:"Wall Texture Default",selected:!1,lz:6,lx:9.731752225416834,color:"white",type:"Wall",foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",parentId:"uLUbMGL5dFfRU3Jy3CBsF5",rotation:[0,0,-.41015237421866746],rightJoints:["vWXBFGVtdF9Zkw4WgrWQbB"],cz:0,rightRoofHeight:6,leftRoofHeight:6,roofId:"gVgDeNYsXdGDefJV1YRGoa",cx:-3.191594753531114,id:"gDyesAJb6hCZTAKFF2wVoZ",normal:[0,0,1],leftPoint:[-3.191594753531113,6.530855931908152,1],ly:.3,rightPoint:[-3.191594753531113,-3.2008962935086824,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{ridgeRightPoint:[0,1],wallsId:["bmKncuas6bZ1hnGH6qyHKX"],selected:!1,ridgeLeftPoint:[0,1],ly:0,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",normal:[0,0,1],cz:0,textureType:"No Roof Texture",foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",color:"#ffffff",cy:0,cx:0,lz:0,thickness:.2,rotation:[0,0,0],id:"gVgDeNYsXdGDefJV1YRGoa",locked:!1,type:"Roof",lx:0,roofType:"Gable",rise:.4407500599176517,ceiling:!1},{lz:1,lx:7.149369527041389,color:"#808080",cx:41.18797801355477,locked:!1,selected:!1,id:"uLUbMGL5dFfRU3Jy3CBsF5",normal:[0,0,1],ly:13.668965778073638,parentId:"Ground",solarUpdraftTower:{},solarPowerTower:{},type:"Foundation",cz:.5,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],cy:55.159515522512336},{selected:!1,normal:[0,0,1],centerRoofHeight:[-.5,7],locked:!1,lz:7,rotation:[0,0,-.41015237421866746],rightJoints:["no8zN9dyqYE4qeuVrW3Heo"],parentId:"vwL7hNDotVD3LxBD3WrfUq",leftJoints:["nxkAimjB2HNyGqmHN18F5b"],id:"ra9rKcRfAsQu21a3r6cLBQ",leftPoint:[6.466711798346411,2.6318665263706373,0],rightPoint:[1.0790317820948425,2.631866526370637,0],leftRoofHeight:7,foundationId:"vwL7hNDotVD3LxBD3WrfUq",cy:2.6318665263706373,cx:3.772871790220627,rightRoofHeight:7,textureType:"Wall Texture Default",ly:.3,relativeAngle:-3.141592653589793,lx:5.387680016251569,color:"white",roofId:"48YD9h2WBNi7Es8vvJXW3G",type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{parentId:"vwL7hNDotVD3LxBD3WrfUq",rotation:[0,0,-.41015237421866746],lz:7,roofId:"48YD9h2WBNi7Es8vvJXW3G",leftJoints:["33Vec12THAd4u8Vna3kAPR"],rightJoints:["ra9rKcRfAsQu21a3r6cLBQ"],id:"nxkAimjB2HNyGqmHN18F5b",color:"white",cx:6.466711798346411,locked:!1,leftRoofHeight:7,selected:!1,rightPoint:[6.466711798346411,2.6318665263706373,0],normal:[0,0,1],relativeAngle:1.5707963267948966,type:"Wall",lx:5.401219763739984,cz:0,leftPoint:[6.466711798346411,-2.769353237369347,0],cy:-.06874335549935484,ly:.3,textureType:"Wall Texture Default",foundationId:"vwL7hNDotVD3LxBD3WrfUq",rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{relativeAngle:-12364019629334816e-31,lz:7,ly:.3,cz:0,leftJoints:["no8zN9dyqYE4qeuVrW3Heo"],rightPoint:[6.466711798346411,-2.769353237369347,0],cx:3.772871790220624,cy:-2.7693532373693435,leftPoint:[1.0790317820948367,-2.7693532373693404,0],foundationId:"vwL7hNDotVD3LxBD3WrfUq",lx:5.387680016251575,color:"white",locked:!1,leftRoofHeight:7,type:"Wall",rightJoints:["nxkAimjB2HNyGqmHN18F5b"],parentId:"vwL7hNDotVD3LxBD3WrfUq",textureType:"Wall Texture Default",selected:!1,roofId:"48YD9h2WBNi7Es8vvJXW3G",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rightRoofHeight:7,id:"33Vec12THAd4u8Vna3kAPR",centerRoofHeight:[.5,7],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,rotation:[0,0,-.41015237421866746],cz:2.7786330947701083,color:"white",normal:[0,0,1],roofId:"48YD9h2WBNi7Es8vvJXW3G",rightPoint:[1.0790317820948367,-2.7693532373693404,0],cy:-.06874335549935173,leftPoint:[1.0790317820948425,2.631866526370637,0],id:"no8zN9dyqYE4qeuVrW3Heo",lz:7,relativeAngle:-1.570796326794898,textureType:"Wall Texture Default",selected:!1,rightRoofHeight:7,leftRoofHeight:7,locked:!1,foundationId:"vwL7hNDotVD3LxBD3WrfUq",ly:.3,rightJoints:["33Vec12THAd4u8Vna3kAPR"],parentId:"vwL7hNDotVD3LxBD3WrfUq",type:"Wall",leftJoints:["ra9rKcRfAsQu21a3r6cLBQ"],cx:1.0790317820948396,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{solarAbsorberPipe:{},selected:!1,solarPowerTower:{},cy:84.30176551679384,type:"Foundation",rotation:[0,0,-.41015237421866746],solarUpdraftTower:{},parentId:"Ground",ly:5.568881804752381,cz:.5,cx:19.50958427736446,locked:!1,lx:13.89007394070906,normal:[0,0,1],id:"vwL7hNDotVD3LxBD3WrfUq",lz:1,color:"#808080"},{leftPoint:[-.7148597809579893,2.6859428300134063,1],rightJoints:["fc3SxNnr1T2obwWNDrRWPq"],selected:!1,parentId:"4UZo2BLYXGN9cd3hbyQ45x",leftJoints:["fHApw3eZ3j52e3Ze4hhzaH"],color:"white",lx:5.387680016251569,normal:[0,0,1],rotation:[0,0,-.41015237421866746],ly:.3,rightRoofHeight:7,cz:0,lz:7,roofId:"8gnJuvioHBpuV9PnGGyNAB",id:"94d3RXBRBLR2SMUq5fQJtk",cy:2.685942830013403,rightPoint:[-6.102539797209565,2.6859428300134014,1],foundationId:"4UZo2BLYXGN9cd3hbyQ45x",relativeAngle:-3.141592653589793,cx:-3.4086997890837694,type:"Wall",centerRoofHeight:[.5,7],leftRoofHeight:7,textureType:"Wall Texture Default",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"fHApw3eZ3j52e3Ze4hhzaH",lx:5.401219763739984,ly:.3,locked:!1,rotation:[0,0,-.41015237421866746],cz:0,selected:!1,leftPoint:[-.7148597809579927,-2.7152769337265767,1],lz:7,relativeAngle:1.5707963267948966,rightRoofHeight:7,leftRoofHeight:7,leftJoints:["qCUxDe7bDY8tYgH1joCgeh"],textureType:"Wall Texture Default",foundationId:"4UZo2BLYXGN9cd3hbyQ45x",cx:-.7148597809579962,rightJoints:["94d3RXBRBLR2SMUq5fQJtk"],parentId:"4UZo2BLYXGN9cd3hbyQ45x",rightPoint:[-.7148597809579893,2.6859428300134063,1],cy:-.014667051856591229,normal:[0,0,1],type:"Wall",roofId:"8gnJuvioHBpuV9PnGGyNAB",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"qCUxDe7bDY8tYgH1joCgeh",relativeAngle:-12364019629334816e-31,textureType:"Wall Texture Default",rightPoint:[-.7148597809579927,-2.7152769337265767,1],lx:5.387680016251575,cz:0,color:"white",rotation:[0,0,-.41015237421866746],leftPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"4UZo2BLYXGN9cd3hbyQ45x",foundationId:"4UZo2BLYXGN9cd3hbyQ45x",rightJoints:["fHApw3eZ3j52e3Ze4hhzaH"],leftRoofHeight:7,roofId:"8gnJuvioHBpuV9PnGGyNAB",normal:[0,0,1],cx:-3.4086997890837756,rightRoofHeight:7,cy:-2.715276933726573,leftJoints:["fc3SxNnr1T2obwWNDrRWPq"],type:"Wall",selected:!1,ly:.3,locked:!1,lz:7,centerRoofHeight:[-.5,7],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-.014667051856584123,id:"fc3SxNnr1T2obwWNDrRWPq",roofId:"8gnJuvioHBpuV9PnGGyNAB",ly:.3,foundationId:"4UZo2BLYXGN9cd3hbyQ45x",leftRoofHeight:7,selected:!1,rightRoofHeight:7,rightJoints:["qCUxDe7bDY8tYgH1joCgeh"],color:"white",cx:-6.102539797209562,parentId:"4UZo2BLYXGN9cd3hbyQ45x",textureType:"Wall Texture Default",leftPoint:[-6.102539797209565,2.6859428300134014,1],lz:7,rotation:[0,0,-.41015237421866746],locked:!1,rightPoint:[-6.102539797209571,-2.7152769337265754,1],lx:5.401219763739977,normal:[0,0,1],cz:0,type:"Wall",relativeAngle:-1.570796326794898,leftJoints:["94d3RXBRBLR2SMUq5fQJtk"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"4UZo2BLYXGN9cd3hbyQ45x",cz:.5,solarUpdraftTower:{},cx:60.22394051332042,ly:5.482519143209589,normal:[0,0,1],color:"#808080",parentId:"Ground",lz:1,type:"Foundation",solarPowerTower:{},solarAbsorberPipe:{},cy:66.89544628344375,rotation:[0,0,-.41015237421866746],locked:!1,selected:!1,lx:12.981345567934609},{ridgeRightPoint:[.5,1],ly:0,wallsId:["no8zN9dyqYE4qeuVrW3Heo"],lz:0,cz:0,thickness:.2,color:"#ffffff",showLabel:!1,lineWidth:.2,selected:!1,textureType:"No Roof Texture",foundationId:"vwL7hNDotVD3LxBD3WrfUq",rotation:[0,0,0],id:"48YD9h2WBNi7Es8vvJXW3G",lineColor:"black",type:"Roof",parentId:"vwL7hNDotVD3LxBD3WrfUq",cx:0,locked:!1,cy:0,roofType:"Gable",lx:0,normal:[0,0,1],ridgeLeftPoint:[-.5,1],rise:0,ceiling:!1},{cz:0,lineWidth:.2,color:"#ffffff",foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",parentId:"tafet8SHZ3Nd8kXyfeZ9FR",normal:[0,0,1],id:"52yUcWyJUbmGw2PC5d5KiK",wallsId:["k13k8dUZo1jLk9Pubbz3Yu","qEu4R9jBDYekHJdsyGPkHu","7zFHG6rEsyAEeiBjZ3Fqiv","sfm78zxYm2PZeqMiLJ7sRS"],lx:0,locked:!1,selected:!1,showLabel:!1,cy:0,ly:0,textureType:"No Roof Texture",type:"Roof",rotation:[0,0,0],cx:0,lineColor:"black",lz:0,thickness:.2,roofType:"Pyramid",rise:1.0848601282561745,ceiling:!1},{type:"Roof",wallsId:["vha1dDK5ppjp6f9bgr45uq"],ridgeRightPoint:[0,1],color:"#ffffff",rotation:[0,0,0],lineColor:"black",ridgeLeftPoint:[0,1],cz:0,cx:0,normal:[0,0,1],selected:!1,roofType:"Gable",lz:0,thickness:.2,lineWidth:.2,ly:0,id:"wrKEiNvyDQopU6C5MqvRMM",locked:!1,foundationId:"98vBSiAe7BeqTZRNu482vh",textureType:"No Roof Texture",lx:0,parentId:"98vBSiAe7BeqTZRNu482vh",cy:0,showLabel:!1,rise:2,ceiling:!1},{cy:0,selected:!1,type:"Roof",leftRidgeLength:15.875000000000002,lx:0,cx:0,locked:!1,id:"adpYUuHEY6XwTLGq9piRR2",normal:[0,0,1],wallsId:["cqVaqhkF9cafDk3CujuxhA"],cz:0,parentId:"aXWETyunkqtQVNXGWr9VZd",showLabel:!1,rightRidgeLength:15.875000000000002,color:"#ffffff",rotation:[0,0,0],textureType:"No Roof Texture",foundationId:"aXWETyunkqtQVNXGWr9VZd",roofType:"Hip",lineWidth:.2,ly:0,lineColor:"black",thickness:.2,lz:0,rise:2.5,ceiling:!1},{cx:40.42324164440271,lx:46.50473526306251,type:"Foundation",id:"gg3wfWZaPNSy6E85uMZYRf",solarAbsorberPipe:{},ly:57.10448987141375,color:"#68ccca",cy:-138.0841490094463,solarPowerTower:{},cz:.05,locked:!1,selected:!1,lz:.1,parentId:"Ground",solarUpdraftTower:{},normal:[0,0,1],rotation:[0,0,-.41015237421866746]},{solarAbsorberPipe:{},ly:57.28147044148081,parentId:"Ground",color:"#68ccca",cx:-134.9224921942922,cz:.05,locked:!1,rotation:[0,0,-.41015237421866746],lz:.1,cy:-67.94969279046406,normal:[0,0,1],solarUpdraftTower:{},type:"Foundation",solarPowerTower:{},lx:59.55306513135086,selected:!1,id:"a6rvHmP4DDMyxBjdX22svj"},{id:"aNDJu4drMr2fEx1r8tHjj6",cy:18.299607948404756,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.834587966975077,rotation:[0,0,-.41015237421866746],lx:7.294777414475799,cx:-55.05079468229798,selected:!1,locked:!1,cz:6,lz:12,type:"Cuboid"},{lx:7.294777414475799,ly:3.834587966975077,lz:12,cx:-33.5448212615926,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],cy:8.863867840093441,type:"Cuboid",selected:!1,color:"gray",id:"qPJRFLTr5yqpFjK2r5qNtK",locked:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],parentId:"Ground",cz:6},{lx:7.294777414475799,parentId:"Ground",selected:!1,cx:-26.791783116976674,color:"gray",cz:6,faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,-.41015237421866746],locked:!1,id:"foA7zzY5fzm5ppKLNPgcZM",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",ly:3.834587966975077,normal:[0,0,1],cy:5.910492232229722,lz:12},{selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-50.198042271889335,parentId:"Ground",ly:1.4387765101632088,cy:16.15769091498796,color:"gray",normal:[0,0,1],locked:!1,lz:12,type:"Cuboid",lx:3.0374945193791563,cz:6,rotation:[0,0,-.41015237421866746],id:"jcVSu4BB2otpgDQ9Uss6dk"},{normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],id:"dvQtFmgsNmd5tYGN78K2eR",type:"Cuboid",lx:3.0374945193791563,cx:-38.46497607487548,lz:12,selected:!1,locked:!1,parentId:"Ground",color:"gray",cy:11.032940387603501,rotation:[0,0,-.41015237421866746],cz:6,ly:1.4387765101632088},{locked:!1,selected:!1,id:"qHYYLt5NNn8YrtX4BAqtZt",cz:6,cx:-21.68767431477416,faceColors:["gray","gray","gray","gray","gray","gray"],lz:12,lx:3.0374945193791563,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1.4387765101632088,rotation:[0,0,-.41015237421866746],parentId:"Ground",type:"Cuboid",normal:[0,0,1],cy:3.88590550753401,color:"gray"},{id:"t1b6qVRBDTKtM9evc3a38G",rotation:[0,0,-.41015237421866746],cy:22.859143113805672,cz:4,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],parentId:"Ground",lz:8,type:"Cuboid",ly:4.854618540394783,color:"gray",lx:3.504189768701392,cx:-62.133323117727784,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,selected:!1},{type:"Cuboid",cz:5,parentId:"Ground",ly:3.834587966975077,cx:-1.671845448850263,rotation:[0,0,-.41015237421866746],cy:36.05441660008029,lx:7.294777414475799,color:"gray",lz:10,selected:!1,id:"ewVvbjdsVwbRqgEtvCq5hs",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],locked:!1,normal:[0,0,1]},{ly:.3,leftJoints:["nM3F4oVEiNnPXXKHuymBW8"],leftRoofHeight:5,textureType:"Wall Texture Default",cx:1.4377006720631131,cz:0,color:"white",rightJoints:["pVB4qAvwgYktWUYmnpXrvd"],locked:!1,id:"fVkwHoLMqjGDdZWbofbtKG",foundationId:"51jEtCS88nBPdVJc1fit8Y",roofId:"79Z3Q6kmRSdUu2gZAfxqYU",leftPoint:[16.8234405859108,5.91199411832761,0],relativeAngle:-3.141592653589793,lz:5,normal:[0,0,1],selected:!1,cy:5.911994118327609,rightRoofHeight:5,type:"Wall",lx:30.771479827695373,rightPoint:[-13.948039241784572,5.911994118327607,0],parentId:"51jEtCS88nBPdVJc1fit8Y",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,rightJoints:["fVkwHoLMqjGDdZWbofbtKG"],cz:0,leftPoint:[16.823440585910813,-5.705218022759548,0],rightPoint:[16.8234405859108,5.91199411832761,0],selected:!1,color:"white",cx:16.823440585910806,lx:11.617212141087158,leftRoofHeight:5,normal:[0,0,1],id:"nM3F4oVEiNnPXXKHuymBW8",textureType:"Wall Texture Default",foundationId:"51jEtCS88nBPdVJc1fit8Y",parentId:"51jEtCS88nBPdVJc1fit8Y",rightRoofHeight:5,rotation:[0,0,-.41015237421866746],type:"Wall",lz:5,roofId:"79Z3Q6kmRSdUu2gZAfxqYU",ly:.3,cy:.10338804778403077,leftJoints:["hjhpbBLzTxiFBJngNEFjyo"],relativeAngle:1.570796326794898,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-13.94803924178457,-5.705218022759548,0],selected:!1,normal:[0,0,1],type:"Wall",leftRoofHeight:5,roofId:"79Z3Q6kmRSdUu2gZAfxqYU",foundationId:"51jEtCS88nBPdVJc1fit8Y",cy:-5.705218022759548,locked:!1,rightPoint:[16.823440585910813,-5.705218022759548,0],rightRoofHeight:5,ly:.3,rotation:[0,0,-.41015237421866746],cz:0,cx:1.4377006720631211,rightJoints:["nM3F4oVEiNnPXXKHuymBW8"],textureType:"Wall Texture Default",lx:30.771479827695384,color:"white",relativeAngle:0,lz:5,leftJoints:["pVB4qAvwgYktWUYmnpXrvd"],id:"hjhpbBLzTxiFBJngNEFjyo",parentId:"51jEtCS88nBPdVJc1fit8Y",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,cx:-13.94803924178457,rightJoints:["hjhpbBLzTxiFBJngNEFjyo"],lx:11.617212141087155,rightPoint:[-13.94803924178457,-5.705218022759548,0],leftRoofHeight:5,id:"pVB4qAvwgYktWUYmnpXrvd",roofId:"79Z3Q6kmRSdUu2gZAfxqYU",cy:.10338804778402944,type:"Wall",selected:!1,rightRoofHeight:5,leftPoint:[-13.948039241784572,5.911994118327607,0],relativeAngle:-1.5707963267948966,color:"white",foundationId:"51jEtCS88nBPdVJc1fit8Y",normal:[0,0,1],leftJoints:["fVkwHoLMqjGDdZWbofbtKG"],textureType:"Wall Texture Default",lz:5,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"51jEtCS88nBPdVJc1fit8Y",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:.5,locked:!1,id:"51jEtCS88nBPdVJc1fit8Y",cx:-48.38996233223847,rotation:[0,0,-.41015237421866746],cy:-47.44094494420046,type:"Foundation",solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",ly:12.435067202411405,parentId:"Ground",selected:!1,lx:39.55613553448626,solarPowerTower:{},lz:1,normal:[0,0,1]},{relativeAngle:1.5696801656994488,lx:11.718328338430736,lz:12,color:"white",id:"axApxDk7fg6kdu31qZJjpa",leftRoofHeight:12,selected:!1,locked:!1,rightPoint:[15.013079539479257,-11.281678961006579,0],textureType:"Wall Texture Default",rightRoofHeight:12,showLabel:!1,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",cy:-17.14083948050329,parentId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"8jjNTNMVuPtviaQ4z8aUBg",type:"Wall",leftPoint:[15,-23,0],rotation:[0,0,0],ly:.3,lineWidth:.2,normal:[0,0,1],cx:15.006539769739629,cz:0,rightJoints:[],leftJoints:["qPSY4fD3E14vaHrFvAVhoM"],lineColor:"black",windows:[],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{showLabel:!1,rotation:[0,0,0],lineWidth:.2,relativeAngle:0,type:"Wall",normal:[0,0,1],cx:.75,lz:12,lineColor:"black",rightRoofHeight:12,lx:28.5,leftPoint:[-13.5,-23,0],windows:[],leftJoints:["qfMw91HFwbo5hsC2LrExL9"],locked:!1,roofId:"8jjNTNMVuPtviaQ4z8aUBg",id:"qPSY4fD3E14vaHrFvAVhoM",cz:0,leftRoofHeight:12,ly:.3,rightJoints:["axApxDk7fg6kdu31qZJjpa"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",textureType:"Wall Texture Default",color:"white",rightPoint:[15,-22.999999999999993,0],cy:-22.999999999999996,selected:!1,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{type:"Wall",leftRoofHeight:12,leftJoints:[],parentId:"9VLFJ7oUEizHpLYBMkGrSR",normal:[0,0,1],roofId:"8jjNTNMVuPtviaQ4z8aUBg",windows:[],lineColor:"black",locked:!1,showLabel:!1,rotation:[0,0,0],leftPoint:[-13.486920460520745,-20.781678961006566,0],cx:-13.493460230260371,cy:-21.89083948050328,rightRoofHeight:12,lz:12,rightPoint:[-13.5,-23,0],rightJoints:["qPSY4fD3E14vaHrFvAVhoM"],selected:!1,lx:2.2183595980800535,color:"white",id:"qfMw91HFwbo5hsC2LrExL9",lineWidth:.2,relativeAngle:4.706492905071611,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",ly:.3,textureType:"Wall Texture Default",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",type:"Cuboid",rotation:[0,0,-.41015237421866746],lz:15,locked:!1,color:"gray",selected:!1,cx:-36.56959623779416,cz:7.5,id:"tweiiVLhdx6oBWEnEtnipE",faceColors:["gray","gray","gray","gray","gray","gray"],ly:3.089724753674105,cy:-41.66817975093342,lx:9.664636900370548},{selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],lx:5.865449300431789,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],type:"Cuboid",parentId:"Ground",id:"rsUvVCPdmqPJntvXeM2GVb",cx:-44.38865117345025,locked:!1,cz:7.5,ly:1.5650109734892819,lz:15,color:"gray",cy:-40.96079721670519},{lx:3.0249690735409964,cx:-28.99251915905568,parentId:"Ground",rotation:[0,0,-.41015237421866746],type:"Cuboid",cz:7.5,color:"gray",locked:!1,lz:15,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,ly:2.6391120002649107,id:"fkBTP56VVn81KwB625hk51",cy:-31.500761697700995,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1]},{color:"gray",type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],ly:1.012024715192918,parentId:"Ground",selected:!1,cx:-55.01870252082621,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"sd5KLhyrNizECe9gb6KsQr",lz:15,lx:1.0626113345203119,cz:7.5,locked:!1,rotation:[0,0,-.41015237421866746],cy:-33.468482869791565},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],locked:!1,cx:-31.1067471882413,lx:1.4142777966890399,parentId:"Ground",selected:!1,id:"uMjoRxmZFJiEozXunGCtEk",cz:7.5,cy:-28.926011393490615,faceColors:["gray","gray","gray","gray","gray","gray"],lz:15,color:"gray",rotation:[0,0,-.41015237421866746],ly:1.5089496296253628},{cz:7.5,color:"gray",lz:15,lx:1.4142777966890399,cy:-19.94113390915151,type:"Cuboid",selected:!1,id:"vnrmWArXJmER4412akTEze",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1.5089496296253628,cx:-27.239009141660663,locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",rotation:[0,0,-.41015237421866746]},{parentId:"Ground",rotation:[0,0,-.41015237421866746],cx:-26.10325222179982,cz:7.5,ly:2.6391120002649107,cy:-24.7401297358751,selected:!1,locked:!1,lz:15,lx:3.0249690735409964,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",color:"gray",id:"sgZFM1eyn2EqyhNUVokoxt"},{cy:-45.1003153467037,lz:15,ly:1.012024715192918,normal:[0,0,1],cx:-34.012367343427655,parentId:"Ground",cz:7.5,type:"Cuboid",lx:1.0626113345203119,selected:!1,locked:!1,rotation:[0,0,-.41015237421866746],id:"t9SieBbjr7gB8ZfmMfPkkv",color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{cz:6,type:"Cuboid",normal:[0,0,1],cy:2.6351006761143005,locked:!1,parentId:"Ground",cx:-57.48268699848795,lx:1.921551368829732,faceColors:["gray","gray","gray","gray","gray","gray"],ly:1.170092177740421,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:12,id:"f6gjMamZeJ9AforAMb7sba",selected:!1,color:"gray",rotation:[0,0,-.41015237421866746]},{normal:[0,0,1],rotation:[0,0,-.41015237421866746],cz:6,ly:1.170092177740421,cx:-46.79299933184681,type:"Cuboid",parentId:"Ground",cy:32.079219880108276,color:"gray",lx:1.921551368829732,lz:12,selected:!1,locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],id:"uZN8yxuazrtq9vtfvNYjW8",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,id:"kCUndw17uk69evYZvDbpA3",locked:!1,lx:3.8078632615679346,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:17.85994953380947,parentId:"Ground",rotation:[0,0,-.41015237421866746],ly:1.8431797229103413,faceColors:["gray","gray","gray","gray","gray","gray"],type:"Cuboid",normal:[0,0,1],lz:12,color:"gray",cx:-15.533010162096012,cz:6},{selected:!1,cz:6,rotation:[0,0,-.41015237421866746],parentId:"Ground",cy:23.773736942115185,ly:1.8431797229103413,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,lx:3.8078632615679346,id:"c5CHPFsUadwXiYeCQ5kL3M",type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:12,cx:-29.102366745520293},{faceColors:["gray","gray","gray","gray","gray","gray"],type:"Cuboid",selected:!1,cy:19.328580088899457,ly:1.5089496296253628,cz:5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,cx:-6.919453557487373,normal:[0,0,1],color:"gray",parentId:"Ground",id:"qMykCJZ7DBxwNpVWKYScqJ",lz:10,rotation:[0,0,-.41015237421866746],lx:1.4142777966890399},{color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],cy:22.10130410795824,selected:!1,parentId:"Ground",type:"Cuboid",ly:1.5089496296253628,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,rotation:[0,0,-.41015237421866746],id:"mSqbavJzutA9zhAu8xE3xS",normal:[0,0,1],cz:5,lx:1.4142777966890399,locked:!1,cx:-5.974746211405201},{lx:1.4142777966890399,id:"pyDFzHD4KAB1BNqMnzD6wS",type:"Cuboid",lz:10,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1.5089496296253628,cz:5,cy:46.28392644240339,color:"gray",selected:!1,locked:!1,cx:-22.974716021978587,faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,-.41015237421866746],parentId:"Ground",normal:[0,0,1]},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",normal:[0,0,1],lz:10,id:"3niC4znTpJLi9xPdZ3J3mi",locked:!1,ly:1.5089496296253628,type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],cx:-19.844681452337475,cz:5,lx:1.4142777966890399,cy:44.91410182205283,parentId:"Ground",rotation:[0,0,-.41015237421866746],selected:!1},{id:"kmb6FinDNPjHaUSx4hWkRY",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],parentId:"Ground",rotation:[0,0,-.41015237421866746],cz:6,lx:2.409551412544647,cx:.8488303977586087,ly:2.2160601102189608,cy:59.792631721777234,selected:!1,type:"Cuboid",lz:12,color:"gray",locked:!1},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],cy:64.33483423541351,normal:[0,0,1],lx:2.815013454740496,selected:!1,parentId:"Ground",id:"jdUgLxxS7aoo8G5FKM1bpd",color:"gray",locked:!1,lz:12,cx:-10.431764953695687,type:"Cuboid",rotation:[0,0,-.41015237421866746],cz:6,ly:3.1077135053990776},{cx:-28.610884157233254,cy:60.58459939907478,color:"gray",selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:4,id:"mQbRKyuR5iBvfSyrTNXPkk",type:"Cuboid",locked:!1,normal:[0,0,1],lx:2.5003437899627516,parentId:"Ground",lz:8,ly:6.3419454417230305,rotation:[0,0,-.41015237421866746],faceColors:["gray","gray","gray","gray","gray","gray"]},{lz:8,rotation:[0,0,-.41015237421866746],id:"bK5YCpcen6fCBKp3RRNqEh",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",selected:!1,color:"gray",cy:68.11631889207206,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!1,lx:1.9416600589072726,ly:1.989767039492348,type:"Cuboid",cx:-36.29885094967864,cz:4,normal:[0,0,1]},{normal:[0,0,1],parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,type:"Cuboid",ly:1.989767039492348,rotation:[0,0,-.41015237421866746],cx:-38.338758743868084,selected:!1,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:4,cy:63.07951549965926,locked:!1,lx:1.9416600589072726,id:"jmsNe53MLv3GKAG45iZZhS"},{locked:!1,showLabel:!1,thickness:.2,type:"Roof",normal:[0,0,1],color:"#ffffff",cz:0,parentId:"pdEGhJFD3W3BmcX1EPbyWH",roofType:"Pyramid",lz:0,lx:0,selected:!1,id:"u17BQ8h2PCTPBYHjaSoxnN",lineWidth:.2,cx:0,lineColor:"black",foundationId:"pdEGhJFD3W3BmcX1EPbyWH",wallsId:["9QvBYUfBnBzYQEjDjyYwwJ","3Yax97DpPm9sAXkyokJjCv","2zTB9zP2crzAGhXAKtKuuQ","e9GuUTJEvD6Q7osTyxTwrk"],cy:0,textureType:"No Roof Texture",ly:0,rotation:[0,0,0],rise:0,ceiling:!1},{lz:0,lineWidth:.2,color:"#ffffff",selected:!1,rotation:[0,0,0],cy:0,cz:0,type:"Roof",textureType:"No Roof Texture",foundationId:"gEHbpQXkCu9RtbMyy3Xryz",parentId:"gEHbpQXkCu9RtbMyy3Xryz",roofType:"Pyramid",showLabel:!1,lx:0,id:"8JTXb2hRmgAaiTxMs35gh1",ly:0,normal:[0,0,1],thickness:.2,locked:!1,wallsId:["e5up5WS9fCbKNmdUhKFsh6","ncaNE7qPYcxTMDrSjrKjqC","4z9pAxyVBGgvcBfL2oBkTg","9Zt1Jh2MmnkaBKaBtYD19E","vmWMc4Nmqnx9AxgePRvtFK","jmovDX25miN2VZhEhqh9uy","wxDvuiUvYK71aR1xZ9r86C","pk5HH5mW7Fkgf2nUSMZyW9"],lineColor:"black",cx:0,rise:0,ceiling:!1},{lz:0,showLabel:!1,parentId:"5Ccs4YQJG3fyuyHdGw79zD",id:"iLELU7fMnA7QkYUmgQBEWM",lineWidth:.2,textureType:"No Roof Texture",locked:!1,cy:0,selected:!1,type:"Roof",lineColor:"black",cx:0,normal:[0,0,1],roofType:"Pyramid",rotation:[0,0,0],thickness:.2,color:"#ffffff",ly:0,wallsId:["2TSEdoLpnDva8vLd5CzUbS","o6KGNbWFg87od5BX9EpsTo","9NzKjLTF3oM85YSQpL4gnd","qVHFnW8AAY4XUoieeiErxH","uSo7fsB5ruR2pmb3hS5LJZ","4HqBTHcSgWW5QKhSZyPhns","susL6EqdzG6nqxMNGZaDXi","g6f1sfDxicEvG7uLqaixdo"],cz:0,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",lx:0,rise:0,ceiling:!1},{normal:[0,0,1],textureType:"No Roof Texture",selected:!1,thickness:.2,foundationId:"wBnvyTf1aAJoT1h5Lem3nN",showLabel:!1,lineColor:"black",color:"#ffffff",wallsId:["cEMfGqLjg1Ef23MmrZJMBi","oiFAJnXcnAH7zdnComwnZ7","wQJum4dZFQ5ppcaqoirdh1","bQ2Kx7puBgpzyzLtLqMSws"],locked:!1,type:"Roof",lineWidth:.2,lz:0,roofType:"Pyramid",cy:0,cz:0,parentId:"wBnvyTf1aAJoT1h5Lem3nN",lx:0,cx:0,rotation:[0,0,0],ly:0,id:"1qyyipEsGS2s5T9XgP6Hmh",rise:0,ceiling:!1},{color:"#ffffff",roofType:"Pyramid",foundationId:"bEJsUFdHaD6DHGcx6x8yR6",wallsId:["arZ3wqpChkyUrckbL7omCG","xrxYGVSxLCof2hSDyYDBhi","3VxH8hmRUhtWZN2xHFt4SG","wv4UgZqFkoaJSym14cGEUi"],id:"gTmk5BL11HKrSyJkFQtskK",cy:0,locked:!1,cz:0,thickness:.2,parentId:"bEJsUFdHaD6DHGcx6x8yR6",lineColor:"black",lineWidth:.2,normal:[0,0,1],rotation:[0,0,0],lz:0,showLabel:!1,selected:!1,ly:0,textureType:"No Roof Texture",type:"Roof",lx:0,cx:0,rise:0,ceiling:!1},{locked:!1,wallsId:["hjhpbBLzTxiFBJngNEFjyo","nM3F4oVEiNnPXXKHuymBW8","fVkwHoLMqjGDdZWbofbtKG","pVB4qAvwgYktWUYmnpXrvd"],showLabel:!1,roofType:"Pyramid",parentId:"51jEtCS88nBPdVJc1fit8Y",textureType:"No Roof Texture",foundationId:"51jEtCS88nBPdVJc1fit8Y",color:"#ffffff",type:"Roof",ly:0,cy:0,lineColor:"black",lz:0,thickness:.2,lx:0,cx:0,rotation:[0,0,0],normal:[0,0,1],cz:0,selected:!1,id:"79Z3Q6kmRSdUu2gZAfxqYU",lineWidth:.2,rise:0,ceiling:!1},{roofType:"Pyramid",lineColor:"black",wallsId:["mJUeyE2zphErZr6GzDs3tZ","j1cSjqWhsVxayuMSQv24u3","svVfgRXxxLmkheyww2W4ad","feUXDC3dk8QN3nPhgvxRs7","8SK72dWsX2KdwBhjqAJrHR","eAv1PVUtpNQ3MSDZw48MQs","1RLyYLqhL7EB8W88F1YjMf"],id:"g8pgyA4zcrzdfdvNphwHQy",lx:0,cz:0,textureType:"No Roof Texture",showLabel:!1,rotation:[0,0,0],cy:0,cx:0,locked:!1,type:"Roof",thickness:.2,ly:0,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",normal:[0,0,1],selected:!1,lineWidth:.2,color:"#ffffff",lz:0,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rise:0,ceiling:!1},{roofType:"Pyramid",selected:!1,locked:!1,textureType:"No Roof Texture",parentId:"9VLFJ7oUEizHpLYBMkGrSR",rotation:[0,0,0],color:"#ffffff",type:"Roof",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",lineColor:"black",lz:0,normal:[0,0,1],cz:0,cy:0,ly:0,showLabel:!1,id:"8jjNTNMVuPtviaQ4z8aUBg",wallsId:["qfMw91HFwbo5hsC2LrExL9","qPSY4fD3E14vaHrFvAVhoM","axApxDk7fg6kdu31qZJjpa"],thickness:.2,lx:0,cx:0,lineWidth:.2,rise:0,ceiling:!1},{lx:0,rotation:[0,0,0],parentId:"m4iUcU4yAYwkvkodEmkEet",lineColor:"black",selected:!1,thickness:.2,textureType:"No Roof Texture",cz:0,color:"#ffffff",ly:0,id:"iCAiZhiTVrLLqoQWH1g8xu",cy:0,showLabel:!1,cx:0,lineWidth:.2,foundationId:"m4iUcU4yAYwkvkodEmkEet",roofType:"Pyramid",normal:[0,0,1],wallsId:["dqGGsMEnQRvAtVj8JUXBJ1","fE5GSES3t1e72zkQ5eaMtN","annVBiZ5xysQxyv34DuQgv","1k4PTfybuAQ33E2nttLT4d"],lz:0,locked:!1,type:"Roof",rise:0,ceiling:!1},{cx:3.772871790220627,centerRoofHeight:[-.5,7],ly:.3,rightJoints:["mr118MYyqYHattPXCpoynG"],relativeAngle:-3.141592653589793,foundationId:"eP5t9YkC32dmeRk87x14Ko",rightPoint:[1.0790317820948425,2.631866526370637,0],cz:0,lx:5.387680016251569,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],leftPoint:[6.466711798346411,2.6318665263706373,0],locked:!1,lz:7,selected:!1,leftRoofHeight:7,color:"white",parentId:"eP5t9YkC32dmeRk87x14Ko",id:"xhZR7k2DmmA9LNkxhevkLf",rightRoofHeight:7,textureType:"Wall Texture Default",roofId:"iM8xLCCHLJSTRMvV2ytbGw",cy:2.6318665263706373,leftJoints:["hKD2n49XvVQhMiQhxLTwnG"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{textureType:"Wall Texture Default",roofId:"iM8xLCCHLJSTRMvV2ytbGw",color:"white",rightRoofHeight:7,rotation:[0,0,-.41015237421866746],normal:[0,0,1],leftRoofHeight:7,selected:!1,cy:-.06874335549935484,parentId:"eP5t9YkC32dmeRk87x14Ko",leftPoint:[6.466711798346411,-2.769353237369347,0],cx:6.466711798346411,rightJoints:["xhZR7k2DmmA9LNkxhevkLf"],rightPoint:[6.466711798346411,2.6318665263706373,0],type:"Wall",lx:5.401219763739984,locked:!1,lz:7,relativeAngle:1.5707963267948966,id:"hKD2n49XvVQhMiQhxLTwnG",foundationId:"eP5t9YkC32dmeRk87x14Ko",leftJoints:["tY9ds8odUyLmWNVGbRfRZS"],ly:.3,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{foundationId:"eP5t9YkC32dmeRk87x14Ko",leftRoofHeight:7,textureType:"Wall Texture Default",lx:5.387680016251575,leftPoint:[1.0790317820948367,-2.7693532373693404,0],color:"white",parentId:"eP5t9YkC32dmeRk87x14Ko",centerRoofHeight:[.5,7],roofId:"iM8xLCCHLJSTRMvV2ytbGw",ly:.3,rightRoofHeight:7,selected:!1,locked:!1,rightJoints:["hKD2n49XvVQhMiQhxLTwnG"],cy:-2.7693532373693435,rightPoint:[6.466711798346411,-2.769353237369347,0],lz:7,type:"Wall",relativeAngle:-12364019629334816e-31,id:"tY9ds8odUyLmWNVGbRfRZS",cx:3.772871790220624,leftJoints:["mr118MYyqYHattPXCpoynG"],rotation:[0,0,-.41015237421866746],cz:2.59868595123194,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,rotation:[0,0,-.41015237421866746],ly:.3,locked:!1,leftJoints:["xhZR7k2DmmA9LNkxhevkLf"],parentId:"eP5t9YkC32dmeRk87x14Ko",foundationId:"eP5t9YkC32dmeRk87x14Ko",rightJoints:["tY9ds8odUyLmWNVGbRfRZS"],cx:1.0790317820948396,id:"mr118MYyqYHattPXCpoynG",selected:!1,relativeAngle:-1.570796326794898,roofId:"iM8xLCCHLJSTRMvV2ytbGw",leftPoint:[1.0790317820948425,2.631866526370637,0],color:"white",type:"Wall",textureType:"Wall Texture Default",cz:2.8306092473007007,leftRoofHeight:7,rightPoint:[1.0790317820948367,-2.7693532373693404,0],rightRoofHeight:7,lz:7,normal:[0,0,1],cy:-.06874335549935173,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"#808080",parentId:"Ground",type:"Foundation",lx:13.89007394070906,cy:96.06999769870255,id:"eP5t9YkC32dmeRk87x14Ko",rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},solarUpdraftTower:{},ly:5.568881804752381,solarAbsorberPipe:{},cx:24.454109298590414,cz:.5,selected:!1,lz:1,locked:!1},{selected:!1,leftJoints:["1wfGxoDf2D4xggTqqerw35"],rightRoofHeight:7,cx:3.772871790220627,leftRoofHeight:7,color:"white",textureType:"Wall Texture Default",locked:!1,leftPoint:[6.466711798346411,2.6318665263706373,0],lz:7,lx:5.387680016251569,parentId:"jxVQ73S6zAeTM6FAnyQm16",id:"dGhfzR7o1S6iaLXRYQQHpz",foundationId:"jxVQ73S6zAeTM6FAnyQm16",type:"Wall",normal:[0,0,1],ly:.3,rightPoint:[1.0790317820948425,2.631866526370637,0],cy:2.6318665263706373,cz:0,relativeAngle:-3.141592653589793,centerRoofHeight:[-.5,7],rightJoints:["qauPnugYuuS7RLZjxeEFyH"],roofId:"9Di2gUsu4cUvfnKcucwxcz",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{rightJoints:["dGhfzR7o1S6iaLXRYQQHpz"],rightRoofHeight:7,textureType:"Wall Texture Default",roofId:"9Di2gUsu4cUvfnKcucwxcz",type:"Wall",rotation:[0,0,-.41015237421866746],color:"white",foundationId:"jxVQ73S6zAeTM6FAnyQm16",cx:6.466711798346411,id:"1wfGxoDf2D4xggTqqerw35",locked:!1,normal:[0,0,1],relativeAngle:1.5707963267948966,lx:5.401219763739984,leftPoint:[6.466711798346411,-2.769353237369347,0],lz:7,rightPoint:[6.466711798346411,2.6318665263706373,0],leftJoints:["6DTGHsEWy1Mj5z5EBJ8m4A"],ly:.3,cz:0,cy:-.06874335549935484,parentId:"jxVQ73S6zAeTM6FAnyQm16",selected:!1,leftRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"white",rightPoint:[6.466711798346411,-2.769353237369347,0],normal:[0,0,1],selected:!1,roofId:"9Di2gUsu4cUvfnKcucwxcz",rightRoofHeight:7,cy:-2.7693532373693435,lz:7,cx:3.772871790220624,parentId:"jxVQ73S6zAeTM6FAnyQm16",leftPoint:[1.0790317820948367,-2.7693532373693404,0],ly:.3,foundationId:"jxVQ73S6zAeTM6FAnyQm16",textureType:"Wall Texture Default",leftRoofHeight:7,rightJoints:["1wfGxoDf2D4xggTqqerw35"],rotation:[0,0,-.41015237421866746],cz:0,locked:!1,lx:5.387680016251575,id:"6DTGHsEWy1Mj5z5EBJ8m4A",relativeAngle:-12364019629334816e-31,type:"Wall",centerRoofHeight:[.5,7],leftJoints:["qauPnugYuuS7RLZjxeEFyH"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{ly:.3,lx:5.401219763739977,rotation:[0,0,-.41015237421866746],roofId:"9Di2gUsu4cUvfnKcucwxcz",leftPoint:[1.0790317820948425,2.631866526370637,0],rightRoofHeight:7,color:"white",textureType:"Wall Texture Default",foundationId:"jxVQ73S6zAeTM6FAnyQm16",leftRoofHeight:7,locked:!1,type:"Wall",cz:0,leftJoints:["dGhfzR7o1S6iaLXRYQQHpz"],rightPoint:[1.0790317820948367,-2.7693532373693404,0],parentId:"jxVQ73S6zAeTM6FAnyQm16",normal:[0,0,1],cx:1.0790317820948396,lz:7,rightJoints:["6DTGHsEWy1Mj5z5EBJ8m4A"],relativeAngle:-1.570796326794898,cy:-.06874335549935173,id:"qauPnugYuuS7RLZjxeEFyH",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{solarUpdraftTower:{},lz:1,parentId:"Ground",solarAbsorberPipe:{},normal:[0,0,1],solarPowerTower:{},id:"jxVQ73S6zAeTM6FAnyQm16",selected:!1,ly:5.568881804752381,type:"Foundation",lx:13.89007394070906,cz:.5,locked:!1,color:"#808080",cx:29.2866477996762,rotation:[0,0,-.41015237421866746],cy:107.44244234980054},{rotation:[0,0,-.41015237421866746],cz:0,rightPoint:[1.0790317820948425,2.631866526370637,0],selected:!1,color:"white",foundationId:"rDKG6AKNM5QvYPq1qfdTX1",lx:5.387680016251569,rightRoofHeight:7,relativeAngle:-3.141592653589793,roofId:"gRx8iaGJs1z3AUhQF6eqGJ",normal:[0,0,1],leftJoints:["iTrgk5UiyKug74tDSksgxe"],ly:.3,locked:!1,leftPoint:[6.466711798346411,2.6318665263706373,0],id:"nxbMX3EChmn9CzTV7CdW2h",cx:3.772871790220627,rightJoints:["ehEH19eZNtirzGTfRqW3Hp"],leftRoofHeight:7,cy:2.6318665263706373,parentId:"rDKG6AKNM5QvYPq1qfdTX1",textureType:"Wall Texture Default",lz:7,centerRoofHeight:[-.5,7],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lz:7,rightJoints:["nxbMX3EChmn9CzTV7CdW2h"],rightRoofHeight:7,ly:.3,color:"white",rotation:[0,0,-.41015237421866746],cy:-.06874335549935484,foundationId:"rDKG6AKNM5QvYPq1qfdTX1",roofId:"gRx8iaGJs1z3AUhQF6eqGJ",rightPoint:[6.466711798346411,2.6318665263706373,0],selected:!1,parentId:"rDKG6AKNM5QvYPq1qfdTX1",id:"iTrgk5UiyKug74tDSksgxe",cx:6.466711798346411,cz:0,normal:[0,0,1],relativeAngle:1.5707963267948966,leftRoofHeight:7,textureType:"Wall Texture Default",lx:5.401219763739984,type:"Wall",leftJoints:["97QKa6yKUz1mJAvuAaYQi5"],leftPoint:[6.466711798346411,-2.769353237369347,0],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",rightRoofHeight:7,locked:!1,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,relativeAngle:-12364019629334816e-31,centerRoofHeight:[.5,7],cx:3.772871790220624,roofId:"gRx8iaGJs1z3AUhQF6eqGJ",rightPoint:[6.466711798346411,-2.769353237369347,0],foundationId:"rDKG6AKNM5QvYPq1qfdTX1",leftJoints:["ehEH19eZNtirzGTfRqW3Hp"],id:"97QKa6yKUz1mJAvuAaYQi5",leftPoint:[1.0790317820948367,-2.7693532373693404,0],leftRoofHeight:7,cz:0,color:"white",selected:!1,lz:7,lx:5.387680016251575,cy:-2.7693532373693435,normal:[0,0,1],rightJoints:["iTrgk5UiyKug74tDSksgxe"],parentId:"rDKG6AKNM5QvYPq1qfdTX1",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{rightPoint:[1.0790317820948367,-2.7693532373693404,0],foundationId:"rDKG6AKNM5QvYPq1qfdTX1",normal:[0,0,1],color:"white",cx:1.0790317820948396,parentId:"rDKG6AKNM5QvYPq1qfdTX1",cy:-.06874335549935173,leftPoint:[1.0790317820948425,2.631866526370637,0],leftRoofHeight:7,locked:!1,lz:7,leftJoints:["nxbMX3EChmn9CzTV7CdW2h"],roofId:"gRx8iaGJs1z3AUhQF6eqGJ",ly:.3,type:"Wall",selected:!1,rotation:[0,0,-.41015237421866746],cz:0,textureType:"Wall Texture Default",id:"ehEH19eZNtirzGTfRqW3Hp",lx:5.401219763739977,relativeAngle:-1.570796326794898,rightRoofHeight:7,rightJoints:["97QKa6yKUz1mJAvuAaYQi5"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cx:34.55424337004162,solarAbsorberPipe:{},type:"Foundation",rotation:[0,0,-.41015237421866746],locked:!1,cz:.5,parentId:"Ground",solarPowerTower:{},normal:[0,0,1],ly:5.568881804752381,cy:118.62202333064985,lx:13.89007394070906,solarUpdraftTower:{},selected:!1,color:"#808080",lz:1,id:"rDKG6AKNM5QvYPq1qfdTX1"},{wallsId:["mr118MYyqYHattPXCpoynG"],lz:0,lineWidth:.2,textureType:"No Roof Texture",locked:!1,ridgeLeftPoint:[-.5,1],thickness:.2,cx:0,rotation:[0,0,0],id:"iM8xLCCHLJSTRMvV2ytbGw",foundationId:"eP5t9YkC32dmeRk87x14Ko",selected:!1,ly:0,color:"#ffffff",cz:0,parentId:"eP5t9YkC32dmeRk87x14Ko",ridgeRightPoint:[.5,1],lineColor:"black",showLabel:!1,type:"Roof",lx:0,roofType:"Gable",normal:[0,0,1],cy:0,rise:0,ceiling:!1},{ly:0,type:"Roof",thickness:.2,lz:0,wallsId:["qauPnugYuuS7RLZjxeEFyH"],color:"#ffffff",selected:!1,ridgeRightPoint:[.5,1],lx:0,ridgeLeftPoint:[-.5,1],normal:[0,0,1],lineColor:"black",rotation:[0,0,0],roofType:"Gable",locked:!1,cy:0,parentId:"jxVQ73S6zAeTM6FAnyQm16",cz:0,textureType:"No Roof Texture",showLabel:!1,foundationId:"jxVQ73S6zAeTM6FAnyQm16",id:"9Di2gUsu4cUvfnKcucwxcz",cx:0,lineWidth:.2,rise:0,ceiling:!1},{ly:0,lineWidth:.2,cx:0,type:"Roof",textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],showLabel:!1,selected:!1,cz:0,wallsId:["ehEH19eZNtirzGTfRqW3Hp"],rotation:[0,0,0],lineColor:"black",color:"#ffffff",lx:0,id:"gRx8iaGJs1z3AUhQF6eqGJ",thickness:.2,normal:[0,0,1],ridgeRightPoint:[.5,1],parentId:"rDKG6AKNM5QvYPq1qfdTX1",locked:!1,roofType:"Gable",cy:0,lz:0,foundationId:"rDKG6AKNM5QvYPq1qfdTX1",rise:0,ceiling:!1},{lx:5.387680016251569,cz:0,rightRoofHeight:7,ly:.3,parentId:"jYYkxDDGtpRKpj5cDaSAyU",leftPoint:[-.7148597809579893,2.6859428300134063,1],leftJoints:["dn61jbg36CDKXJ7atWKcPL"],normal:[0,0,1],rightPoint:[-6.102539797209565,2.6859428300134014,1],roofId:"8851rT9wqqajnoeFBmiUjQ",color:"white",locked:!1,selected:!1,rightJoints:["81VpPXebFdckLDhrYfjNw4"],cy:2.685942830013403,type:"Wall",leftRoofHeight:7,id:"sksYhYD2dNixUEPNYJqc76",rotation:[0,0,-.41015237421866746],centerRoofHeight:[.5,7],relativeAngle:-3.141592653589793,textureType:"Wall Texture Default",lz:7,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",cx:-3.4086997890837694,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{locked:!1,cy:-.014667051856591229,roofId:"8851rT9wqqajnoeFBmiUjQ",leftRoofHeight:7,rightRoofHeight:7,parentId:"jYYkxDDGtpRKpj5cDaSAyU",selected:!1,lz:7,textureType:"Wall Texture Default",type:"Wall",color:"white",foundationId:"jYYkxDDGtpRKpj5cDaSAyU",leftPoint:[-.7148597809579927,-2.7152769337265767,1],rotation:[0,0,-.41015237421866746],id:"dn61jbg36CDKXJ7atWKcPL",normal:[0,0,1],leftJoints:["x33tCm8G91uhrEhqZh7Sgp"],cx:-.7148597809579962,rightPoint:[-.7148597809579893,2.6859428300134063,1],ly:.3,lx:5.401219763739984,rightJoints:["sksYhYD2dNixUEPNYJqc76"],relativeAngle:1.5707963267948966,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{ly:.3,locked:!1,rightPoint:[-.7148597809579927,-2.7152769337265767,1],rightJoints:["dn61jbg36CDKXJ7atWKcPL"],id:"x33tCm8G91uhrEhqZh7Sgp",normal:[0,0,1],lx:5.387680016251575,roofId:"8851rT9wqqajnoeFBmiUjQ",lz:7,rotation:[0,0,-.41015237421866746],parentId:"jYYkxDDGtpRKpj5cDaSAyU",relativeAngle:-12364019629334816e-31,textureType:"Wall Texture Default",centerRoofHeight:[-.5,7],rightRoofHeight:7,cx:-3.4086997890837756,leftPoint:[-6.102539797209571,-2.7152769337265754,1],cz:0,type:"Wall",color:"white",foundationId:"jYYkxDDGtpRKpj5cDaSAyU",selected:!1,leftJoints:["81VpPXebFdckLDhrYfjNw4"],leftRoofHeight:7,cy:-2.715276933726573,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-.014667051856584123,normal:[0,0,1],leftPoint:[-6.102539797209565,2.6859428300134014,1],rightJoints:["x33tCm8G91uhrEhqZh7Sgp"],locked:!1,cz:0,cx:-6.102539797209562,lz:7,id:"81VpPXebFdckLDhrYfjNw4",rightRoofHeight:7,selected:!1,lx:5.401219763739977,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",roofId:"8851rT9wqqajnoeFBmiUjQ",type:"Wall",color:"white",ly:.3,rightPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"jYYkxDDGtpRKpj5cDaSAyU",leftRoofHeight:7,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",relativeAngle:-1.570796326794898,leftJoints:["sksYhYD2dNixUEPNYJqc76"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Foundation",color:"#808080",cy:78.31845915827158,solarAbsorberPipe:{},solarPowerTower:{},cz:.5,locked:!1,ly:5.482519143209589,normal:[0,0,1],lz:1,selected:!1,id:"jYYkxDDGtpRKpj5cDaSAyU",solarUpdraftTower:{},lx:12.981345567934609,cx:65.13740167211039,parentId:"Ground",rotation:[0,0,-.41015237421866746]},{rotation:[0,0,-.41015237421866746],relativeAngle:-3.141592653589793,cx:-3.4086997890837694,cy:2.685942830013403,rightJoints:["5BVMmeTYtWaRrB3p7N2yex"],textureType:"Wall Texture Default",cz:0,lx:5.387680016251569,type:"Wall",roofId:"uhbPwQthVjoBQGqRB2bxwD",leftJoints:["nU3buhZij6ruFmt78QqHPt"],id:"xbje76bhjMGZA3Mc8s8cWN",ly:.3,parentId:"dTyQpKfdgEv9kGBprmTD5p",leftRoofHeight:7,foundationId:"dTyQpKfdgEv9kGBprmTD5p",color:"white",rightPoint:[-6.102539797209565,2.6859428300134014,1],leftPoint:[-.7148597809579893,2.6859428300134063,1],locked:!1,centerRoofHeight:[.5,7],rightRoofHeight:7,lz:7,selected:!1,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cz:0,roofId:"uhbPwQthVjoBQGqRB2bxwD",cy:-.014667051856591229,leftRoofHeight:7,rotation:[0,0,-.41015237421866746],selected:!1,textureType:"Wall Texture Default",relativeAngle:1.5707963267948966,leftJoints:["dwNyLyogzdW8eZvvnJWmaJ"],rightJoints:["xbje76bhjMGZA3Mc8s8cWN"],locked:!1,foundationId:"dTyQpKfdgEv9kGBprmTD5p",lz:7,rightRoofHeight:7,color:"white",lx:5.401219763739984,id:"nU3buhZij6ruFmt78QqHPt",ly:.3,leftPoint:[-.7148597809579927,-2.7152769337265767,1],cx:-.7148597809579962,parentId:"dTyQpKfdgEv9kGBprmTD5p",normal:[0,0,1],type:"Wall",rightPoint:[-.7148597809579893,2.6859428300134063,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{textureType:"Wall Texture Default",type:"Wall",leftPoint:[-6.102539797209571,-2.7152769337265754,1],foundationId:"dTyQpKfdgEv9kGBprmTD5p",roofId:"uhbPwQthVjoBQGqRB2bxwD",cz:0,rightJoints:["nU3buhZij6ruFmt78QqHPt"],ly:.3,relativeAngle:-12364019629334816e-31,rightRoofHeight:7,cy:-2.715276933726573,selected:!1,id:"dwNyLyogzdW8eZvvnJWmaJ",locked:!1,cx:-3.4086997890837756,rotation:[0,0,-.41015237421866746],rightPoint:[-.7148597809579927,-2.7152769337265767,1],lx:5.387680016251575,color:"white",normal:[0,0,1],leftJoints:["5BVMmeTYtWaRrB3p7N2yex"],centerRoofHeight:[-.5,7],parentId:"dTyQpKfdgEv9kGBprmTD5p",leftRoofHeight:7,lz:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{leftPoint:[-6.102539797209565,2.6859428300134014,1],selected:!1,color:"white",type:"Wall",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],leftRoofHeight:7,lz:7,cx:-6.102539797209562,leftJoints:["xbje76bhjMGZA3Mc8s8cWN"],relativeAngle:-1.570796326794898,id:"5BVMmeTYtWaRrB3p7N2yex",ly:.3,roofId:"uhbPwQthVjoBQGqRB2bxwD",rightRoofHeight:7,cz:0,cy:-.014667051856584123,rightJoints:["dwNyLyogzdW8eZvvnJWmaJ"],lx:5.401219763739977,locked:!1,parentId:"dTyQpKfdgEv9kGBprmTD5p",foundationId:"dTyQpKfdgEv9kGBprmTD5p",rightPoint:[-6.102539797209571,-2.7152769337265754,1],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{normal:[0,0,1],cy:89.91033144595889,solarPowerTower:{},id:"dTyQpKfdgEv9kGBprmTD5p",parentId:"Ground",solarUpdraftTower:{},locked:!1,type:"Foundation",cx:70.15208193257892,color:"#808080",ly:5.482519143209589,cz:.5,solarAbsorberPipe:{},lz:1,lx:12.981345567934609,rotation:[0,0,-.41015237421866746],selected:!1},{leftPoint:[-.7148597809579893,2.6859428300134063,1],selected:!1,normal:[0,0,1],relativeAngle:-3.141592653589793,cz:0,rightRoofHeight:7,ly:.3,parentId:"7tr4anbazuvTAtnbTpqU9w",type:"Wall",centerRoofHeight:[.5,7],leftRoofHeight:7,color:"white",locked:!1,textureType:"Wall Texture Default",rightPoint:[-6.102539797209565,2.6859428300134014,1],lx:5.387680016251569,rightJoints:["cK1cR6gMr6BKG2p5YWPAbz"],rotation:[0,0,-.41015237421866746],roofId:"4YikGAD8ELjnqVycqWQnqk",lz:7,id:"7R7xQ85xB9XpqZUteZ3rjG",cy:2.685942830013403,foundationId:"7tr4anbazuvTAtnbTpqU9w",cx:-3.4086997890837694,leftJoints:["fb2EVpNYy9jyY5yAermefj"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cz:0,rotation:[0,0,-.41015237421866746],type:"Wall",relativeAngle:1.5707963267948966,leftRoofHeight:7,rightPoint:[-.7148597809579893,2.6859428300134063,1],rightRoofHeight:7,rightJoints:["7R7xQ85xB9XpqZUteZ3rjG"],textureType:"Wall Texture Default",leftJoints:["kYSMKReMjdXaFQpkHynQU8"],lx:5.401219763739984,ly:.3,locked:!1,parentId:"7tr4anbazuvTAtnbTpqU9w",foundationId:"7tr4anbazuvTAtnbTpqU9w",selected:!1,id:"fb2EVpNYy9jyY5yAermefj",leftPoint:[-.7148597809579927,-2.7152769337265767,1],cx:-.7148597809579962,normal:[0,0,1],cy:-.014667051856591229,lz:7,roofId:"4YikGAD8ELjnqVycqWQnqk",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"white",cz:0,normal:[0,0,1],leftJoints:["cK1cR6gMr6BKG2p5YWPAbz"],ly:.3,lz:7,textureType:"Wall Texture Default",leftRoofHeight:7,lx:5.387680016251575,rightJoints:["fb2EVpNYy9jyY5yAermefj"],cx:-3.4086997890837756,rightRoofHeight:7,selected:!1,rightPoint:[-.7148597809579927,-2.7152769337265767,1],type:"Wall",foundationId:"7tr4anbazuvTAtnbTpqU9w",cy:-2.715276933726573,id:"kYSMKReMjdXaFQpkHynQU8",centerRoofHeight:[-.5,7],relativeAngle:-12364019629334816e-31,rotation:[0,0,-.41015237421866746],parentId:"7tr4anbazuvTAtnbTpqU9w",leftPoint:[-6.102539797209571,-2.7152769337265754,1],locked:!1,roofId:"4YikGAD8ELjnqVycqWQnqk",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,ly:.3,cz:0,rightPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"7tr4anbazuvTAtnbTpqU9w",leftRoofHeight:7,color:"white",rightRoofHeight:7,cx:-6.102539797209562,leftJoints:["7R7xQ85xB9XpqZUteZ3rjG"],locked:!1,type:"Wall",lz:7,normal:[0,0,1],selected:!1,leftPoint:[-6.102539797209565,2.6859428300134014,1],roofId:"4YikGAD8ELjnqVycqWQnqk",rightJoints:["kYSMKReMjdXaFQpkHynQU8"],foundationId:"7tr4anbazuvTAtnbTpqU9w",id:"cK1cR6gMr6BKG2p5YWPAbz",cy:-.014667051856584123,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],relativeAngle:-1.570796326794898,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{selected:!1,solarPowerTower:{},cz:.5,cx:75.10959011141287,type:"Foundation",solarAbsorberPipe:{},cy:101.13287550232491,ly:5.482519143209589,lx:12.981345567934609,solarUpdraftTower:{},id:"7tr4anbazuvTAtnbTpqU9w",locked:!1,lz:1,rotation:[0,0,-.41015237421866746],parentId:"Ground",color:"#808080",normal:[0,0,1]},{lz:0,textureType:"No Roof Texture",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",cy:0,lineColor:"black",lineWidth:.2,lx:0,wallsId:["eVDG7gqXM3uLaHhJS5k6Fh"],ly:0,rightRidgeLength:15.217808474550925,selected:!1,type:"Roof",rotation:[0,0,0],color:"#ffffff",cz:0,thickness:.2,roofType:"Hip",showLabel:!1,normal:[0,0,1],leftRidgeLength:15.217808474550925,cx:0,locked:!1,parentId:"un11oZ7V5tAhWhFKuL8M5Q",id:"a67eFG3dY8EiYs3GWgTwsF",rise:3,ceiling:!1},{selected:!1,type:"Roof",cy:0,lz:0,cz:0,lineWidth:.2,wallsId:["fHApw3eZ3j52e3Ze4hhzaH"],color:"#ffffff",ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],foundationId:"4UZo2BLYXGN9cd3hbyQ45x",lx:0,showLabel:!1,lineColor:"black",rotation:[0,0,0],thickness:.2,roofType:"Gable",id:"8gnJuvioHBpuV9PnGGyNAB",ly:0,locked:!1,textureType:"No Roof Texture",parentId:"4UZo2BLYXGN9cd3hbyQ45x",cx:0,normal:[0,0,1],rise:0,ceiling:!1},{ly:0,lineWidth:.2,thickness:.2,ridgeRightPoint:[.5,1],rotation:[0,0,0],selected:!1,lz:0,id:"8851rT9wqqajnoeFBmiUjQ",lineColor:"black",wallsId:["dn61jbg36CDKXJ7atWKcPL"],ridgeLeftPoint:[-.5,1],cz:0,cy:0,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",lx:0,parentId:"jYYkxDDGtpRKpj5cDaSAyU",showLabel:!1,normal:[0,0,1],cx:0,roofType:"Gable",color:"#ffffff",textureType:"No Roof Texture",locked:!1,type:"Roof",rise:0,ceiling:!1},{textureType:"No Roof Texture",lx:0,parentId:"dTyQpKfdgEv9kGBprmTD5p",color:"#ffffff",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],lz:0,thickness:.2,type:"Roof",selected:!1,showLabel:!1,cz:0,wallsId:["nU3buhZij6ruFmt78QqHPt"],rotation:[0,0,0],lineWidth:.2,foundationId:"dTyQpKfdgEv9kGBprmTD5p",cy:0,id:"uhbPwQthVjoBQGqRB2bxwD",lineColor:"black",ly:0,locked:!1,normal:[0,0,1],cx:0,roofType:"Gable",rise:0,ceiling:!1},{showLabel:!1,normal:[0,0,1],parentId:"7tr4anbazuvTAtnbTpqU9w",lz:0,lineWidth:.2,rotation:[0,0,0],ly:0,id:"4YikGAD8ELjnqVycqWQnqk",textureType:"No Roof Texture",cz:0,roofType:"Gable",lineColor:"black",foundationId:"7tr4anbazuvTAtnbTpqU9w",lx:0,wallsId:["fb2EVpNYy9jyY5yAermefj"],cy:0,cx:0,color:"#ffffff",locked:!1,ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],thickness:.2,type:"Roof",selected:!1,rise:0,ceiling:!1},{lineColor:"black",thickness:.2,id:"sYHDayEkzyov7moz6ZSxMu",wallsId:["vBUTysuRjhgkSBTqe4LbYB"],foundationId:"iUb7PSjszf44Zg2YisnC92",rightRidgeLength:10.468639728099076,cy:0,leftRidgeLength:10.502576741045827,locked:!1,color:"#ffffff",parentId:"iUb7PSjszf44Zg2YisnC92",lz:0,showLabel:!1,cx:0,roofType:"Hip",normal:[0,0,1],cz:0,lx:0,selected:!1,type:"Roof",textureType:"No Roof Texture",lineWidth:.2,ly:0,rotation:[0,0,0],rise:2.5,ceiling:!1},{normal:[0,0,1],cx:4440892098500626e-31,type:"Wall",ly:.3,relativeAngle:3.141592653589793,rightPoint:[-3.499999999999999,5.5,0],rotation:[0,0,-.41015237421866746],leftPoint:[3.5,5.5,0],color:"white",lx:6.999999999999999,rightRoofHeight:5.5,lz:5.5,locked:!1,selected:!1,leftRoofHeight:5.5,textureType:"Wall Texture Default",roofId:"ta7dJGh8vLPXrt6JV7RiRA",cy:5.5,id:"qefHhW7RphUHeDq16TbXhE",parentId:"rQHuxdXYQbCuq9CeyutKyt",foundationId:"rQHuxdXYQbCuq9CeyutKyt",leftJoints:["6ooz87ACe4edwrDbgzxpbv"],rightJoints:["havXcoauCS81jHQUuLqvuh"],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{cx:3.4999999999999982,foundationId:"rQHuxdXYQbCuq9CeyutKyt",parentId:"rQHuxdXYQbCuq9CeyutKyt",rightPoint:[3.499999999999996,5.500000000000007,0],lz:5.5,relativeAngle:1.5707963267948974,leftRoofHeight:5.5,locked:!1,color:"white",leftPoint:[3.5,-.5,0],rotation:[0,0,-.41015237421866746],type:"Wall",roofId:"ta7dJGh8vLPXrt6JV7RiRA",leftJoints:["mr4zR49hytzuJEADGRBy6h"],selected:!1,centerRoofHeight:[.5,5.5],normal:[0,0,1],cy:2.5000000000000036,id:"6ooz87ACe4edwrDbgzxpbv",ly:.3,lx:6.000000000000007,textureType:"Wall Texture Default",rightJoints:["qefHhW7RphUHeDq16TbXhE"],cz:0,rightRoofHeight:5.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{roofId:"ta7dJGh8vLPXrt6JV7RiRA",rotation:[0,0,-.41015237421866746],leftPoint:[-3.499999999999999,5.5,0],rightJoints:["mr4zR49hytzuJEADGRBy6h"],color:"white",leftRoofHeight:5.5,foundationId:"rQHuxdXYQbCuq9CeyutKyt",leftJoints:["qefHhW7RphUHeDq16TbXhE"],rightRoofHeight:5.5,lx:6,relativeAngle:4.71238898038469,cx:-3.4999999999999996,cz:0,normal:[0,0,1],id:"havXcoauCS81jHQUuLqvuh",ly:.3,rightPoint:[-3.5,-.5,0],textureType:"Wall Texture Default",cy:2.5,locked:!1,selected:!1,type:"Wall",lz:5.5,centerRoofHeight:[-.5,5.5],parentId:"rQHuxdXYQbCuq9CeyutKyt",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{textureType:"Wall Texture Default",foundationId:"rQHuxdXYQbCuq9CeyutKyt",locked:!1,leftJoints:["havXcoauCS81jHQUuLqvuh"],rightJoints:["6ooz87ACe4edwrDbgzxpbv"],relativeAngle:3806478941571964e-31,rightPoint:[3.5,-.5,0],color:"white",rightRoofHeight:5.5,leftRoofHeight:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],id:"mr4zR49hytzuJEADGRBy6h",ly:.3,lx:7.000000000000002,type:"Wall",roofId:"ta7dJGh8vLPXrt6JV7RiRA",cx:-11102230246251565e-31,cy:-.5000000000000013,normal:[0,0,1],selected:!1,lz:5.5,cz:0,rotation:[0,0,-.41015237421866746],parentId:"rQHuxdXYQbCuq9CeyutKyt",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{color:"#ffffff",normal:[0,0,1],textureType:"No Roof Texture",id:"ta7dJGh8vLPXrt6JV7RiRA",thickness:.2,cy:0,foundationId:"rQHuxdXYQbCuq9CeyutKyt",selected:!1,locked:!1,ridgeRightPoint:[.5,1],roofType:"Gable",wallsId:["mr4zR49hytzuJEADGRBy6h"],rotation:[0,0,-.41015237421866746],ly:0,cz:0,ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",cx:0,lz:0,parentId:"rQHuxdXYQbCuq9CeyutKyt",rise:0,ceiling:!1},{locked:!1,solarAbsorberPipe:{},lz:1,ly:13.609083182601537,cz:.5,type:"Foundation",id:"rQHuxdXYQbCuq9CeyutKyt",cx:-44.11791038753842,normal:[0,0,1],lx:9.87769053193653,solarUpdraftTower:{},selected:!1,cy:-106.22676257052163,rotation:[0,0,-.41015237421866746],parentId:"Ground",solarPowerTower:{}},{id:"i5GKt7QSXzDRXB7dcnVBLM",locked:!1,rotation:[0,0,2.731440279371126],leftPoint:[3.5,5.5,0],ly:.3,cy:5.5,leftJoints:["m2eA6TxbykTmNtzzk3kJAi"],relativeAngle:3.141592653589793,parentId:"i7ztNW6L7rJRDK1bHdkfyV",textureType:"Wall Texture Default",cz:0,rightPoint:[-3.499999999999999,5.5,0],selected:!1,lz:5.5,rightJoints:["sPS51DdhZZB8Z5PdWKEDt2"],normal:[0,0,1],foundationId:"i7ztNW6L7rJRDK1bHdkfyV",leftRoofHeight:5.5,color:"white",type:"Wall",roofId:"r5b5XcBuiD8AujQ1MGfNH3",lx:6.999999999999999,rightRoofHeight:5.5,cx:4440892098500626e-31,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{centerRoofHeight:[.5,5.5],roofId:"r5b5XcBuiD8AujQ1MGfNH3",rotation:[0,0,2.731440279371126],foundationId:"i7ztNW6L7rJRDK1bHdkfyV",cz:0,relativeAngle:1.5707963267948974,color:"white",cx:3.4999999999999982,id:"m2eA6TxbykTmNtzzk3kJAi",leftJoints:["oH8d6S7hYF3gtbhBgwNM9N"],rightPoint:[3.499999999999996,5.500000000000007,0],leftPoint:[3.5,-.5,0],lx:6.000000000000007,locked:!1,rightJoints:["i5GKt7QSXzDRXB7dcnVBLM"],normal:[0,0,1],parentId:"i7ztNW6L7rJRDK1bHdkfyV",cy:2.5000000000000036,textureType:"Wall Texture Default",ly:.3,rightRoofHeight:5.5,selected:!1,lz:5.5,leftRoofHeight:5.5,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{normal:[0,0,1],rightJoints:["oH8d6S7hYF3gtbhBgwNM9N"],relativeAngle:4.71238898038469,leftPoint:[-3.499999999999999,5.5,0],leftRoofHeight:5.5,leftJoints:["i5GKt7QSXzDRXB7dcnVBLM"],color:"white",selected:!1,lz:5.5,locked:!1,rightRoofHeight:5.5,cy:2.5,cx:-3.4999999999999996,type:"Wall",cz:0,id:"sPS51DdhZZB8Z5PdWKEDt2",rightPoint:[-3.5,-.5,0],textureType:"Wall Texture Default",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",roofId:"r5b5XcBuiD8AujQ1MGfNH3",parentId:"i7ztNW6L7rJRDK1bHdkfyV",ly:.3,centerRoofHeight:[-.5,5.5],rotation:[0,0,2.731440279371126],lx:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{locked:!1,id:"oH8d6S7hYF3gtbhBgwNM9N",type:"Wall",leftJoints:["sPS51DdhZZB8Z5PdWKEDt2"],rightPoint:[3.5,-.5,0],rotation:[0,0,2.731440279371126],cx:-11102230246251565e-31,color:"white",rightJoints:["m2eA6TxbykTmNtzzk3kJAi"],roofId:"r5b5XcBuiD8AujQ1MGfNH3",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",lx:7.000000000000002,leftRoofHeight:5.5,textureType:"Wall Texture Default",parentId:"i7ztNW6L7rJRDK1bHdkfyV",rightRoofHeight:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],cy:-.5000000000000013,cz:0,selected:!1,lz:5.5,relativeAngle:3806478941571964e-31,ly:.3,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{parentId:"i7ztNW6L7rJRDK1bHdkfyV",selected:!1,thickness:.2,cy:0,type:"Roof",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",id:"r5b5XcBuiD8AujQ1MGfNH3",roofType:"Gable",lx:0,wallsId:["oH8d6S7hYF3gtbhBgwNM9N"],normal:[0,0,1],ridgeRightPoint:[.5,1],color:"#ffffff",cz:0,ly:0,rotation:[0,0,2.731440279371126],ridgeLeftPoint:[-.5,1],cx:0,locked:!1,lz:0,textureType:"No Roof Texture",rise:0,ceiling:!1},{solarAbsorberPipe:{},rotation:[0,0,2.731440279371126],id:"i7ztNW6L7rJRDK1bHdkfyV",cy:-73.67535448644264,lx:9.87769053193653,normal:[0,0,1],locked:!1,solarPowerTower:{},selected:!1,cx:-30.629562336104748,ly:13.609083182601537,parentId:"Ground",solarUpdraftTower:{},type:"Foundation",lz:1,cz:.5},{rotation:[0,0,2.731440279371126],leftRoofHeight:5.5,foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",color:"white",parentId:"hSQpUbAbHNwPXWwTfmLQQ9",cz:0,normal:[0,0,1],selected:!1,cy:5.5,relativeAngle:3.141592653589793,roofId:"runBfYomSfd687Gchj63SZ",leftPoint:[3.5,5.5,0],leftJoints:["ubJ5Kh7Kzh6DiRySw16dSF"],locked:!1,rightJoints:["96zUdoDkw4WNfs9uwWoQAg"],lx:6.999999999999999,ly:.3,rightRoofHeight:5.5,cx:4440892098500626e-31,lz:5.5,rightPoint:[-3.499999999999999,5.5,0],id:"3poxNxgtfpKbeLU5s5wzoP",textureType:"Wall Texture Default",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",parentId:"hSQpUbAbHNwPXWwTfmLQQ9",rightPoint:[3.499999999999996,5.500000000000007,0],color:"white",id:"ubJ5Kh7Kzh6DiRySw16dSF",leftRoofHeight:5.5,relativeAngle:1.5707963267948974,normal:[0,0,1],cx:3.4999999999999982,roofId:"runBfYomSfd687Gchj63SZ",rotation:[0,0,2.731440279371126],cz:0,rightRoofHeight:5.5,lx:6.000000000000007,selected:!1,locked:!1,centerRoofHeight:[.5,5.5],ly:.3,leftPoint:[3.5,-.5,0],textureType:"Wall Texture Default",rightJoints:["3poxNxgtfpKbeLU5s5wzoP"],leftJoints:["5n3uXwW2AJxGx3HRvGRLXX"],cy:2.5000000000000036,lz:5.5,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{id:"96zUdoDkw4WNfs9uwWoQAg",rightJoints:["5n3uXwW2AJxGx3HRvGRLXX"],centerRoofHeight:[-.5,5.5],foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",locked:!1,type:"Wall",ly:.3,relativeAngle:4.71238898038469,parentId:"hSQpUbAbHNwPXWwTfmLQQ9",leftRoofHeight:5.5,roofId:"runBfYomSfd687Gchj63SZ",textureType:"Wall Texture Default",normal:[0,0,1],cy:2.5,rightPoint:[-3.5,-.5,0],rightRoofHeight:5.5,lx:6,rotation:[0,0,2.731440279371126],cx:-3.4999999999999996,selected:!1,color:"white",leftPoint:[-3.499999999999999,5.5,0],leftJoints:["3poxNxgtfpKbeLU5s5wzoP"],lz:5.5,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{selected:!1,parentId:"hSQpUbAbHNwPXWwTfmLQQ9",color:"white",leftJoints:["96zUdoDkw4WNfs9uwWoQAg"],cy:-.5000000000000013,lz:5.5,textureType:"Wall Texture Default",relativeAngle:3806478941571964e-31,type:"Wall",leftPoint:[-3.500000000000002,-.5000000000000027,0],lx:7.000000000000002,leftRoofHeight:5.5,roofId:"runBfYomSfd687Gchj63SZ",cx:-11102230246251565e-31,rightJoints:["ubJ5Kh7Kzh6DiRySw16dSF"],rotation:[0,0,2.731440279371126],id:"5n3uXwW2AJxGx3HRvGRLXX",rightRoofHeight:5.5,locked:!1,cz:0,rightPoint:[3.5,-.5,0],foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",ly:.3,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{parentId:"hSQpUbAbHNwPXWwTfmLQQ9",cy:0,ly:0,textureType:"No Roof Texture",lz:0,rotation:[0,0,2.731440279371126],ridgeRightPoint:[.5,1],locked:!1,type:"Roof",foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",roofType:"Gable",thickness:.2,color:"#ffffff",id:"runBfYomSfd687Gchj63SZ",selected:!1,wallsId:["5n3uXwW2AJxGx3HRvGRLXX"],normal:[0,0,1],cz:0,ridgeLeftPoint:[-.5,1],cx:0,lx:0,rise:0,ceiling:!1},{solarAbsorberPipe:{},type:"Foundation",rotation:[0,0,2.731440279371126],selected:!1,solarUpdraftTower:{},cx:-20.62568109333218,lz:1,id:"hSQpUbAbHNwPXWwTfmLQQ9",ly:13.609083182601537,cy:-78.08358970074559,locked:!1,parentId:"Ground",lx:9.87769053193653,cz:.5,normal:[0,0,1],solarPowerTower:{}},{id:"g5QrsNM3GmBsG5THTKDrtm",lx:0,lz:0,locked:!1,color:"#ffffff",parentId:"jsSCnAypzh29RxPH7MED73",thickness:.2,showLabel:!1,cx:0,textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],rotation:[0,0,0],cy:0,lineColor:"black",roofType:"Gable",normal:[0,0,1],type:"Roof",selected:!1,wallsId:["6QCJ15fiFxBVfmQVYdq3Tt"],ly:0,ridgeRightPoint:[.5,1],cz:0,lineWidth:.2,foundationId:"jsSCnAypzh29RxPH7MED73",rise:0,ceiling:!1},{locked:!1,ly:.3,lz:11,rightRoofHeight:11,textureType:"Wall Texture Default",cy:1.3672430244223936,cz:0,selected:!1,roofId:"vSTpyGi1WSV73vjm9ifaVF",type:"Wall",color:"white",leftRoofHeight:11,rightJoints:["6h7WjPWFBQymjBKRVYEU1F"],relativeAngle:3.1415926535897927,normal:[0,0,1],foundationId:"tL1dWhNk5SYJrYMJekBQPT",leftPoint:[3.0949416757515893,1.3672430244223912,0],parentId:"tL1dWhNk5SYJrYMJekBQPT",rotation:[0,0,-.41015237421866746],leftJoints:["884js7wUi92VZEx6c9MoMb"],lx:6.167453096699541,id:"sjiccDfBPmjs7njCd2f7Zn",rightPoint:[-3.072511420947951,1.3672430244223959,0],cx:.01121512740181907,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,type:"Wall",ly:.3,textureType:"Wall Texture Default",foundationId:"tL1dWhNk5SYJrYMJekBQPT",leftJoints:["bbdCECR63r6BPqRgAaaEkx"],rotation:[0,0,-.41015237421866746],centerRoofHeight:[-.5,11],cz:0,roofId:"vSTpyGi1WSV73vjm9ifaVF",rightPoint:[3.0949416757515893,1.3672430244223912,0],leftPoint:[3.094941675751588,-5.795230412406128,0],cx:3.0949416757515884,rightRoofHeight:11,rightJoints:["sjiccDfBPmjs7njCd2f7Zn"],color:"white",normal:[0,0,1],leftRoofHeight:11,parentId:"tL1dWhNk5SYJrYMJekBQPT",relativeAngle:1.5707963267948963,selected:!1,id:"884js7wUi92VZEx6c9MoMb",cy:-2.2139936939918683,lz:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightPoint:[3.094941675751588,-5.795230412406128,0],leftRoofHeight:11,selected:!1,id:"bbdCECR63r6BPqRgAaaEkx",rightJoints:["884js7wUi92VZEx6c9MoMb"],rightRoofHeight:11,cx:.011215127401820624,parentId:"tL1dWhNk5SYJrYMJekBQPT",relativeAngle:0,cz:0,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",cy:-5.795230412406128,color:"white",lz:11,leftJoints:["6h7WjPWFBQymjBKRVYEU1F"],locked:!1,roofId:"vSTpyGi1WSV73vjm9ifaVF",type:"Wall",leftPoint:[-3.0725114209479467,-5.795230412406128,0],foundationId:"tL1dWhNk5SYJrYMJekBQPT",lx:6.167453096699535,normal:[0,0,1],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightPoint:[-3.0725114209479467,-5.795230412406128,0],locked:!1,rightRoofHeight:11,normal:[0,0,1],selected:!1,relativeAngle:-1.570796326794896,color:"white",lx:7.162473436828524,type:"Wall",rotation:[0,0,-.41015237421866746],cx:-3.072511420947949,leftPoint:[-3.072511420947951,1.3672430244223959,0],ly:.3,foundationId:"tL1dWhNk5SYJrYMJekBQPT",textureType:"Wall Texture Default",id:"6h7WjPWFBQymjBKRVYEU1F",cz:0,centerRoofHeight:[.5,11],lz:11,leftRoofHeight:11,rightJoints:["bbdCECR63r6BPqRgAaaEkx"],parentId:"tL1dWhNk5SYJrYMJekBQPT",cy:-2.213993693991866,roofId:"vSTpyGi1WSV73vjm9ifaVF",leftJoints:["sjiccDfBPmjs7njCd2f7Zn"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{foundationId:"tL1dWhNk5SYJrYMJekBQPT",cz:0,textureType:"No Roof Texture",lz:0,lx:0,ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rotation:[0,0,0],cy:0,type:"Roof",selected:!1,cx:0,ly:0,thickness:.2,wallsId:["sjiccDfBPmjs7njCd2f7Zn"],id:"vSTpyGi1WSV73vjm9ifaVF",parentId:"tL1dWhNk5SYJrYMJekBQPT",color:"#ffffff",roofType:"Gable",locked:!1,normal:[0,0,1],rise:0,ceiling:!1},{cy:-47.30267633910208,color:"#808080",rotation:[0,0,-.41015237421866746],parentId:"Ground",cx:33.062760716057014,lz:1,solarUpdraftTower:{},ly:12.02473099186649,solarAbsorberPipe:{},normal:[0,0,1],lx:6.9193101388799265,locked:!1,selected:!1,cz:.5,id:"tL1dWhNk5SYJrYMJekBQPT",solarPowerTower:{},type:"Foundation"},{textureType:"Wall Texture Default",normal:[0,0,1],locked:!1,cz:0,lz:11,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"fHceZhM7YfHkRpJA2Esq6q",leftJoints:["bsAJpLn9jN322sM8DpUqNT"],color:"white",rightRoofHeight:11,rightJoints:["9zXV5uFN4dSMYxBWBituAB"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",relativeAngle:3.1415926535897927,roofId:"uKCQp7m7UvcYMBhFBR8GT7",cx:.01121512740181907,lx:6.167453096699541,leftRoofHeight:11,leftPoint:[3.0949416757515893,1.3672430244223912,0],rightPoint:[-3.072511420947951,1.3672430244223959,0],id:"jDBrbsB7AgYxXtiw7hRkBD",selected:!1,cy:1.3672430244223936,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cx:3.0949416757515884,relativeAngle:1.5707963267948963,centerRoofHeight:[-.5,11],parentId:"fHceZhM7YfHkRpJA2Esq6q",cy:-2.2139936939918683,normal:[0,0,1],rightPoint:[3.0949416757515893,1.3672430244223912,0],color:"white",textureType:"Wall Texture Default",roofId:"uKCQp7m7UvcYMBhFBR8GT7",leftPoint:[3.094941675751588,-5.795230412406128,0],ly:.3,leftJoints:["qjfMazdqWCR3Emu8xMPVFZ"],lx:7.1624734368285194,foundationId:"fHceZhM7YfHkRpJA2Esq6q",selected:!1,rightRoofHeight:11,locked:!1,leftRoofHeight:11,rotation:[0,0,-.41015237421866746],rightJoints:["jDBrbsB7AgYxXtiw7hRkBD"],lz:11,cz:0,type:"Wall",id:"bsAJpLn9jN322sM8DpUqNT",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:6.167453096699535,leftJoints:["9zXV5uFN4dSMYxBWBituAB"],relativeAngle:0,color:"white",rightRoofHeight:11,normal:[0,0,1],id:"qjfMazdqWCR3Emu8xMPVFZ",ly:.3,lz:11,cx:.011215127401820624,rightPoint:[3.094941675751588,-5.795230412406128,0],roofId:"uKCQp7m7UvcYMBhFBR8GT7",textureType:"Wall Texture Default",type:"Wall",selected:!1,cy:-5.795230412406128,parentId:"fHceZhM7YfHkRpJA2Esq6q",leftRoofHeight:11,locked:!1,leftPoint:[-3.0725114209479467,-5.795230412406128,0],rotation:[0,0,-.41015237421866746],cz:0,rightJoints:["bsAJpLn9jN322sM8DpUqNT"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cy:-2.213993693991866,parentId:"fHceZhM7YfHkRpJA2Esq6q",rightPoint:[-3.0725114209479467,-5.795230412406128,0],id:"9zXV5uFN4dSMYxBWBituAB",leftPoint:[-3.072511420947951,1.3672430244223959,0],lx:7.162473436828524,locked:!1,rightJoints:["qjfMazdqWCR3Emu8xMPVFZ"],centerRoofHeight:[.5,11],selected:!1,color:"white",textureType:"Wall Texture Default",cz:0,leftRoofHeight:11,cx:-3.072511420947949,leftJoints:["jDBrbsB7AgYxXtiw7hRkBD"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",ly:.3,roofId:"uKCQp7m7UvcYMBhFBR8GT7",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rightRoofHeight:11,lz:11,type:"Wall",relativeAngle:-1.570796326794896,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,cz:0,thickness:.2,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],ly:0,selected:!1,parentId:"fHceZhM7YfHkRpJA2Esq6q",wallsId:["jDBrbsB7AgYxXtiw7hRkBD"],textureType:"No Roof Texture",foundationId:"fHceZhM7YfHkRpJA2Esq6q",cy:0,roofType:"Gable",id:"uKCQp7m7UvcYMBhFBR8GT7",color:"#ffffff",type:"Roof",locked:!1,cx:0,rotation:[0,0,0],lz:0,normal:[0,0,1],rise:0,ceiling:!1},{type:"Foundation",selected:!1,cz:.5,lx:6.9193101388799265,parentId:"Ground",cx:25.793727800925453,solarPowerTower:{},ly:12.02473099186649,color:"#808080",solarUpdraftTower:{},lz:1,solarAbsorberPipe:{},id:"fHceZhM7YfHkRpJA2Esq6q",normal:[0,0,1],rotation:[0,0,-.41015237421866746],cy:-44.150742219854976,locked:!1},{id:"eDUMHr2NcH2Gn7xk4o7aw9",cy:1.3672430244223936,textureType:"Wall Texture Default",lx:6.167453096699541,relativeAngle:3.1415926535897927,rotation:[0,0,2.731440279371126],rightJoints:["dBRLXzBSe497rzH2ZCcM82"],roofId:"4m5SMiyzXUqv7MDwHxMrqg",type:"Wall",normal:[0,0,1],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",lz:11,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",rightRoofHeight:11,cz:0,ly:.3,cx:.01121512740181907,leftRoofHeight:11,rightPoint:[-3.072511420947951,1.3672430244223959,0],color:"white",leftJoints:["6ev87RFfruvs5gvArbaReo"],selected:!1,leftPoint:[3.0949416757515893,1.3672430244223912,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,cy:-2.2139936939918683,normal:[0,0,1],rightJoints:["eDUMHr2NcH2Gn7xk4o7aw9"],rightPoint:[3.0949416757515893,1.3672430244223912,0],rotation:[0,0,2.731440279371126],relativeAngle:1.5707963267948963,lz:11,selected:!1,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",type:"Wall",roofId:"4m5SMiyzXUqv7MDwHxMrqg",leftJoints:["wYP5AC8pKwpu2zvkHKJuyw"],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",centerRoofHeight:[-.5,11],color:"white",textureType:"Wall Texture Default",leftRoofHeight:11,cx:3.0949416757515884,cz:0,leftPoint:[3.094941675751588,-5.795230412406128,0],id:"6ev87RFfruvs5gvArbaReo",ly:.3,rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cx:.011215127401820624,color:"white",parentId:"fs8r4ERWJ4tuBZW1NUtMpb",relativeAngle:0,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",id:"wYP5AC8pKwpu2zvkHKJuyw",selected:!1,lx:6.167453096699535,type:"Wall",rightPoint:[3.094941675751588,-5.795230412406128,0],lz:11,rightRoofHeight:11,normal:[0,0,1],leftRoofHeight:11,rightJoints:["6ev87RFfruvs5gvArbaReo"],cy:-5.795230412406128,rotation:[0,0,2.731440279371126],textureType:"Wall Texture Default",cz:0,roofId:"4m5SMiyzXUqv7MDwHxMrqg",leftPoint:[-3.0725114209479467,-5.795230412406128,0],leftJoints:["dBRLXzBSe497rzH2ZCcM82"],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightJoints:["wYP5AC8pKwpu2zvkHKJuyw"],textureType:"Wall Texture Default",lz:11,cy:-2.213993693991866,roofId:"4m5SMiyzXUqv7MDwHxMrqg",cz:0,rightPoint:[-3.0725114209479467,-5.795230412406128,0],ly:.3,relativeAngle:-1.570796326794896,type:"Wall",lx:7.162473436828524,rightRoofHeight:11,centerRoofHeight:[.5,11],color:"white",rotation:[0,0,2.731440279371126],foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",leftRoofHeight:11,cx:-3.072511420947949,leftPoint:[-3.072511420947951,1.3672430244223959,0],normal:[0,0,1],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",id:"dBRLXzBSe497rzH2ZCcM82",selected:!1,leftJoints:["eDUMHr2NcH2Gn7xk4o7aw9"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Roof",id:"4m5SMiyzXUqv7MDwHxMrqg",lz:0,cy:0,lx:0,ridgeRightPoint:[.5,1],normal:[0,0,1],cz:0,wallsId:["eDUMHr2NcH2Gn7xk4o7aw9"],foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",roofType:"Gable",thickness:.2,textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],selected:!1,parentId:"fs8r4ERWJ4tuBZW1NUtMpb",color:"#ffffff",ly:0,cx:0,rotation:[0,0,2.731440279371126],rise:0,ceiling:!1},{cy:-87.33804902014363,parentId:"Ground",id:"fs8r4ERWJ4tuBZW1NUtMpb",lz:1,solarAbsorberPipe:{},selected:!1,type:"Foundation",solarUpdraftTower:{},color:"#808080",cx:24.611820076821594,normal:[0,0,1],ly:12.02473099186649,rotation:[0,0,2.731440279371126],lx:6.9193101388799265,cz:.5,solarPowerTower:{}},{type:"Wall",foundationId:"jj54TnbPPLQx19RofY6bBx",color:"white",relativeAngle:3.1415926535897927,leftRoofHeight:11,textureType:"Wall Texture Default",leftPoint:[3.0949416757515893,1.3672430244223912,0],leftJoints:["a4sxwAfDyYN2ctPYayZ8Rp"],lx:6.167453096699541,rightJoints:["jpAZ9atyqHZpxDMMXDH32S"],lz:11,rightPoint:[-3.072511420947951,1.3672430244223959,0],id:"eHL2VLecmq9sobBZmGw45i",ly:.3,normal:[0,0,1],roofId:"aNwaGHwp5cd46aLgfhTdkk",rotation:[0,0,2.731440279371126],rightRoofHeight:11,cx:.01121512740181907,cz:0,selected:!1,cy:1.3672430244223936,parentId:"jj54TnbPPLQx19RofY6bBx",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{textureType:"Wall Texture Default",normal:[0,0,1],centerRoofHeight:[-.5,11],parentId:"jj54TnbPPLQx19RofY6bBx",cz:0,leftRoofHeight:11,rotation:[0,0,2.731440279371126],selected:!1,id:"a4sxwAfDyYN2ctPYayZ8Rp",foundationId:"jj54TnbPPLQx19RofY6bBx",ly:.3,leftJoints:["ntgMQTFPjEa6eGdeyqZWjE"],cy:-2.2139936939918683,rightPoint:[3.0949416757515893,1.3672430244223912,0],roofId:"aNwaGHwp5cd46aLgfhTdkk",lz:11,color:"white",lx:7.1624734368285194,cx:3.0949416757515884,leftPoint:[3.094941675751588,-5.795230412406128,0],rightRoofHeight:11,rightJoints:["eHL2VLecmq9sobBZmGw45i"],relativeAngle:1.5707963267948963,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftPoint:[-3.0725114209479467,-5.795230412406128,0],type:"Wall",rightPoint:[3.094941675751588,-5.795230412406128,0],roofId:"aNwaGHwp5cd46aLgfhTdkk",lz:11,rotation:[0,0,2.731440279371126],rightJoints:["a4sxwAfDyYN2ctPYayZ8Rp"],leftRoofHeight:11,cy:-5.795230412406128,leftJoints:["jpAZ9atyqHZpxDMMXDH32S"],cz:0,relativeAngle:0,foundationId:"jj54TnbPPLQx19RofY6bBx",color:"white",cx:.011215127401820624,normal:[0,0,1],rightRoofHeight:11,ly:.3,lx:6.167453096699535,selected:!1,textureType:"Wall Texture Default",id:"ntgMQTFPjEa6eGdeyqZWjE",parentId:"jj54TnbPPLQx19RofY6bBx",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{color:"white",rightJoints:["ntgMQTFPjEa6eGdeyqZWjE"],ly:.3,type:"Wall",cy:-2.213993693991866,selected:!1,rotation:[0,0,2.731440279371126],normal:[0,0,1],lz:11,leftRoofHeight:11,textureType:"Wall Texture Default",leftJoints:["eHL2VLecmq9sobBZmGw45i"],roofId:"aNwaGHwp5cd46aLgfhTdkk",centerRoofHeight:[.5,11],rightRoofHeight:11,id:"jpAZ9atyqHZpxDMMXDH32S",leftPoint:[-3.072511420947951,1.3672430244223959,0],relativeAngle:-1.570796326794896,foundationId:"jj54TnbPPLQx19RofY6bBx",rightPoint:[-3.0725114209479467,-5.795230412406128,0],parentId:"jj54TnbPPLQx19RofY6bBx",cz:0,cx:-3.072511420947949,lx:7.162473436828524,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,color:"#ffffff",normal:[0,0,1],thickness:.2,wallsId:["eHL2VLecmq9sobBZmGw45i"],ridgeRightPoint:[.5,1],textureType:"No Roof Texture",cy:0,foundationId:"jj54TnbPPLQx19RofY6bBx",cx:0,ridgeLeftPoint:[-.5,1],rotation:[0,0,2.731440279371126],selected:!1,id:"aNwaGHwp5cd46aLgfhTdkk",parentId:"jj54TnbPPLQx19RofY6bBx",roofType:"Gable",lz:0,ly:0,type:"Roof",cz:0,rise:0,ceiling:!1},{color:"#808080",selected:!1,lx:6.9193101388799265,lz:1,type:"Foundation",cz:.5,solarPowerTower:{},solarUpdraftTower:{},ly:12.02473099186649,parentId:"Ground",normal:[0,0,1],solarAbsorberPipe:{},cy:-83.96400506720003,id:"jj54TnbPPLQx19RofY6bBx",rotation:[0,0,2.731440279371126],cx:16.965503952859194},{color:"white",leftJoints:["1grZuTdR63nsQE356nWnzd"],type:"Wall",ly:.3,rightJoints:["273cTJKK381CJaxKCfBNJW"],cz:0,roofId:"5kL2iBLvr52ipCNA3bs5cq",rightPoint:[-3.072511420947951,1.3672430244223959,0],rotation:[0,0,2.731440279371126],lz:11,lx:6.167453096699541,parentId:"7sPS9WfdHAu8wqjpcnPHgs",leftRoofHeight:11,cy:1.3672430244223936,textureType:"Wall Texture Default",normal:[0,0,1],relativeAngle:3.1415926535897927,foundationId:"7sPS9WfdHAu8wqjpcnPHgs",selected:!1,cx:.01121512740181907,leftPoint:[3.0949416757515893,1.3672430244223912,0],rightRoofHeight:11,id:"qgRfDLTUB6zC4mGwstgdHV",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{relativeAngle:1.5707963267948963,rightJoints:["qgRfDLTUB6zC4mGwstgdHV"],leftJoints:["s1pLuQJKHQfm1KbkXQK17L"],color:"white",rightRoofHeight:11,ly:.3,leftRoofHeight:11,lz:11,id:"1grZuTdR63nsQE356nWnzd",parentId:"7sPS9WfdHAu8wqjpcnPHgs",roofId:"5kL2iBLvr52ipCNA3bs5cq",normal:[0,0,1],lx:7.1624734368285194,leftPoint:[3.094941675751588,-5.795230412406128,0],centerRoofHeight:[-.5,11],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",cz:0,textureType:"Wall Texture Default",rotation:[0,0,2.731440279371126],type:"Wall",selected:!1,rightPoint:[3.0949416757515893,1.3672430244223912,0],cy:-2.2139936939918683,cx:3.0949416757515884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,color:"white",cx:.011215127401820624,normal:[0,0,1],textureType:"Wall Texture Default",cz:0,type:"Wall",ly:.3,lz:11,rightJoints:["1grZuTdR63nsQE356nWnzd"],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",rotation:[0,0,2.731440279371126],cy:-5.795230412406128,leftPoint:[-3.0725114209479467,-5.795230412406128,0],rightRoofHeight:11,parentId:"7sPS9WfdHAu8wqjpcnPHgs",lx:6.167453096699535,leftRoofHeight:11,roofId:"5kL2iBLvr52ipCNA3bs5cq",rightPoint:[3.094941675751588,-5.795230412406128,0],leftJoints:["273cTJKK381CJaxKCfBNJW"],id:"s1pLuQJKHQfm1KbkXQK17L",relativeAngle:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,rightPoint:[-3.0725114209479467,-5.795230412406128,0],normal:[0,0,1],type:"Wall",rotation:[0,0,2.731440279371126],textureType:"Wall Texture Default",lx:7.162473436828524,selected:!1,cx:-3.072511420947949,relativeAngle:-1.570796326794896,parentId:"7sPS9WfdHAu8wqjpcnPHgs",cy:-2.213993693991866,cz:0,color:"white",foundationId:"7sPS9WfdHAu8wqjpcnPHgs",id:"273cTJKK381CJaxKCfBNJW",rightJoints:["s1pLuQJKHQfm1KbkXQK17L"],rightRoofHeight:11,leftRoofHeight:11,leftPoint:[-3.072511420947951,1.3672430244223959,0],ly:.3,roofId:"5kL2iBLvr52ipCNA3bs5cq",centerRoofHeight:[.5,11],leftJoints:["qgRfDLTUB6zC4mGwstgdHV"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,ridgeRightPoint:[.5,1],type:"Roof",cx:0,wallsId:["qgRfDLTUB6zC4mGwstgdHV"],ly:0,cz:0,thickness:.2,normal:[0,0,1],rotation:[0,0,2.731440279371126],color:"#ffffff",lx:0,roofType:"Gable",lz:0,textureType:"No Roof Texture",cy:0,id:"5kL2iBLvr52ipCNA3bs5cq",parentId:"7sPS9WfdHAu8wqjpcnPHgs",ridgeLeftPoint:[-.5,1],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",rise:0,ceiling:!1},{selected:!1,ly:12.02473099186649,parentId:"Ground",cx:8.897542847512511,lz:1,solarPowerTower:{},rotation:[0,0,2.731440279371126],solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",normal:[0,0,1],cz:.5,cy:-80.50493585333112,type:"Foundation",id:"7sPS9WfdHAu8wqjpcnPHgs",lx:6.9193101388799265},{wallsId:["3JjPc2Pp9fAroM9UdivE1u"],lx:0,color:"#ffffff",rotation:[0,0,0],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",showLabel:!1,textureType:"No Roof Texture",lz:0,id:"qYDMJTekV8NWHzzCiVYwcs",type:"Roof",ridgeRightPoint:[0,1],normal:[0,0,1],lineColor:"black",roofType:"Gable",cx:0,thickness:.2,cy:0,parentId:"a7Ykq8sCMoZy5zM2ybNhKs",ly:0,ridgeLeftPoint:[0,1],cz:0,selected:!1,lineWidth:.2,rise:.9752174096903712,ceiling:!1},{lx:9.337227070632437,rightPoint:[-4.747688161235284,3.351698633040855,0],lz:5.25,rightJoints:["aS3LNujiVdR6Qawgwx71Xp"],leftJoints:["b5WAAJ2sso2rc9V8yZ7iom"],parentId:"b9sLhFsxP7jM5xLzyG2m8E",textureType:"Wall Texture Default",normal:[0,0,1],type:"Wall",leftRoofHeight:5.25,selected:!1,cz:0,relativeAngle:3.141592653589793,leftPoint:[4.589538909397152,3.3516986330408534,0],color:"white",ly:.3,rotation:[0,0,-.41015237421866746],rightRoofHeight:5.25,centerRoofHeight:[0,6.225217409690371],roofId:"e9ZJ6jf8buNcpSGMCbcrrA",cx:-.07907462591906578,cy:3.3516986330408542,foundationId:"b9sLhFsxP7jM5xLzyG2m8E",id:"bCNGD8BAzXepM4A7Cp5qfr",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,relativeAngle:1.5707963267948961,lx:6.320731749368616,color:"white",leftPoint:[4.58953890939715,-2.969033116327763,0],cy:.19133275835654517,ly:.3,id:"b5WAAJ2sso2rc9V8yZ7iom",normal:[0,0,1],type:"Wall",foundationId:"b9sLhFsxP7jM5xLzyG2m8E",rightPoint:[4.589538909397152,3.3516986330408534,0],rotation:[0,0,-.41015237421866746],rightJoints:["bCNGD8BAzXepM4A7Cp5qfr"],lz:5.25,leftJoints:["9sNfcLVjGqnn14Dpdib7wD"],rightRoofHeight:5.25,roofId:"e9ZJ6jf8buNcpSGMCbcrrA",textureType:"Wall Texture Default",selected:!1,parentId:"b9sLhFsxP7jM5xLzyG2m8E",cz:0,cx:4.589538909397151,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rightPoint:[4.58953890939715,-2.969033116327763,0],rotation:[0,0,-.41015237421866746],ly:.3,lx:9.337227070632434,cy:-2.969033116327763,type:"Wall",lz:5.25,leftRoofHeight:5.25,roofId:"e9ZJ6jf8buNcpSGMCbcrrA",leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"9sNfcLVjGqnn14Dpdib7wD",centerRoofHeight:[0,6.225217409690371],foundationId:"b9sLhFsxP7jM5xLzyG2m8E",selected:!1,textureType:"Wall Texture Default",cx:-.07907462591906667,parentId:"b9sLhFsxP7jM5xLzyG2m8E",cz:0,relativeAngle:-4756114491922529e-32,leftJoints:["aS3LNujiVdR6Qawgwx71Xp"],rightJoints:["b5WAAJ2sso2rc9V8yZ7iom"],color:"white",rightRoofHeight:5.25,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,selected:!1,textureType:"Wall Texture Default",roofId:"e9ZJ6jf8buNcpSGMCbcrrA",rightPoint:[-4.747688161235283,-2.9690331163277626,0],relativeAngle:-1.5707963267948966,rightRoofHeight:5.25,foundationId:"b9sLhFsxP7jM5xLzyG2m8E",lx:6.320731749368617,color:"white",rightJoints:["9sNfcLVjGqnn14Dpdib7wD"],parentId:"b9sLhFsxP7jM5xLzyG2m8E",id:"aS3LNujiVdR6Qawgwx71Xp",type:"Wall",normal:[0,0,1],leftPoint:[-4.747688161235284,3.351698633040855,0],rotation:[0,0,-.41015237421866746],leftJoints:["bCNGD8BAzXepM4A7Cp5qfr"],cz:0,ly:.3,cy:.19133275835654628,cx:-4.747688161235283,lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{parentId:"b9sLhFsxP7jM5xLzyG2m8E",thickness:.2,ly:0,roofType:"Gable",normal:[0,0,1],wallsId:["b5WAAJ2sso2rc9V8yZ7iom"],cy:0,cz:0,id:"e9ZJ6jf8buNcpSGMCbcrrA",ridgeRightPoint:[0,1],foundationId:"b9sLhFsxP7jM5xLzyG2m8E",ridgeLeftPoint:[0,1],cx:0,rotation:[0,0,0],selected:!1,textureType:"No Roof Texture",type:"Roof",color:"#ffffff",lz:0,lx:0,rise:.9752174096903712,ceiling:!1},{selected:!1,solarUpdraftTower:{},lz:1,rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},lx:10.667610013832563,solarAbsorberPipe:{},color:"#808080",ly:10.658064363814518,cz:.5,type:"Foundation",cx:15.65777292096255,id:"b9sLhFsxP7jM5xLzyG2m8E",cy:-23.209117764580718,parentId:"Ground"},{lz:5.25,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightPoint:[-4.747688161235284,3.351698633040855,0],leftPoint:[4.589538909397152,3.3516986330408534,0],parentId:"gcZv1t7Cby2WKRNnett3ui",relativeAngle:3.141592653589793,cz:0,leftJoints:["aTEF4j2yHMBMrPfT9T9EdT"],rightRoofHeight:5.25,selected:!1,ly:.3,type:"Wall",lx:9.337227070632437,cy:3.3516986330408542,textureType:"Wall Texture Default",cx:-.07907462591906578,centerRoofHeight:[0,6.225217409690371],color:"white",id:"9dJMCWVZ7AkDBVYRwiBuju",leftRoofHeight:5.25,rightJoints:["q6CqZkkwBK9C5a7FRZGdjh"],normal:[0,0,1],rotation:[0,0,2.731440279371126],roofId:"jRbh8euqUSp75DJHpm8gNn",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{normal:[0,0,1],relativeAngle:1.5707963267948961,rightRoofHeight:5.25,rightJoints:["9dJMCWVZ7AkDBVYRwiBuju"],ly:.3,rightPoint:[4.589538909397152,3.3516986330408534,0],leftRoofHeight:5.25,leftJoints:["hKTWU47gri3P24HLwd9scm"],color:"white",lx:6.320731749368616,selected:!1,rotation:[0,0,2.731440279371126],cy:.19133275835654517,cz:0,parentId:"gcZv1t7Cby2WKRNnett3ui",roofId:"jRbh8euqUSp75DJHpm8gNn",textureType:"Wall Texture Default",foundationId:"gcZv1t7Cby2WKRNnett3ui",cx:4.589538909397151,leftPoint:[4.58953890939715,-2.969033116327763,0],id:"aTEF4j2yHMBMrPfT9T9EdT",type:"Wall",lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cz:0,lx:9.337227070632434,relativeAngle:-4756114491922529e-32,rightJoints:["aTEF4j2yHMBMrPfT9T9EdT"],leftRoofHeight:5.25,parentId:"gcZv1t7Cby2WKRNnett3ui",rotation:[0,0,2.731440279371126],cy:-2.969033116327763,textureType:"Wall Texture Default",centerRoofHeight:[0,6.225217409690371],cx:-.07907462591906667,leftJoints:["q6CqZkkwBK9C5a7FRZGdjh"],roofId:"jRbh8euqUSp75DJHpm8gNn",color:"white",rightPoint:[4.58953890939715,-2.969033116327763,0],leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"hKTWU47gri3P24HLwd9scm",selected:!1,ly:.3,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightRoofHeight:5.25,normal:[0,0,1],type:"Wall",lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rightJoints:["hKTWU47gri3P24HLwd9scm"],textureType:"Wall Texture Default",roofId:"jRbh8euqUSp75DJHpm8gNn",id:"q6CqZkkwBK9C5a7FRZGdjh",lx:6.320731749368617,selected:!1,rotation:[0,0,2.731440279371126],ly:.3,cz:0,cy:.19133275835654628,rightRoofHeight:5.25,color:"white",normal:[0,0,1],leftJoints:["9dJMCWVZ7AkDBVYRwiBuju"],leftRoofHeight:5.25,relativeAngle:-1.5707963267948966,lz:5.25,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightPoint:[-4.747688161235283,-2.9690331163277626,0],type:"Wall",cx:-4.747688161235283,leftPoint:[-4.747688161235284,3.351698633040855,0],parentId:"gcZv1t7Cby2WKRNnett3ui",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{wallsId:["aTEF4j2yHMBMrPfT9T9EdT"],cy:0,selected:!1,roofType:"Gable",textureType:"No Roof Texture",cx:0,color:"#ffffff",ridgeLeftPoint:[0,1],lz:0,rotation:[0,0,2.731440279371126],lx:0,parentId:"gcZv1t7Cby2WKRNnett3ui",thickness:.2,foundationId:"gcZv1t7Cby2WKRNnett3ui",normal:[0,0,1],ridgeRightPoint:[0,1],ly:0,id:"jRbh8euqUSp75DJHpm8gNn",cz:0,type:"Roof",rise:.9752174096903712,ceiling:!1},{solarAbsorberPipe:{},id:"gcZv1t7Cby2WKRNnett3ui",rotation:[0,0,2.731440279371126],parentId:"Ground",normal:[0,0,1],color:"#808080",cx:23.588922199683385,cy:-4.2358171284989465,ly:10.658064363814518,type:"Foundation",lz:1,solarPowerTower:{},cz:.5,solarUpdraftTower:{},selected:!1,lx:10.667610013832563},{roofId:"dzARxJ53WwFwsNrhuBLzWG",ly:.3,selected:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,2.731440279371126],rightRoofHeight:5.25,lx:9.337227070632437,lz:5.25,id:"uBjSfWV5MAS9vnKb4XPdfP",relativeAngle:3.141592653589793,centerRoofHeight:[0,6.225217409690371],cy:3.3516986330408542,rightPoint:[-4.747688161235284,3.351698633040855,0],rightJoints:["uR2W8UpidEKJWdspykk1aw"],foundationId:"ceA38nUA7SQynuTCNKi2BV",textureType:"Wall Texture Default",parentId:"ceA38nUA7SQynuTCNKi2BV",cx:-.07907462591906578,color:"white",leftPoint:[4.589538909397152,3.3516986330408534,0],leftRoofHeight:5.25,leftJoints:["paBZJ3XFdCVFNJ8PkS5wvw"],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cy:.19133275835654517,foundationId:"ceA38nUA7SQynuTCNKi2BV",relativeAngle:1.5707963267948961,leftRoofHeight:5.25,rightPoint:[4.589538909397152,3.3516986330408534,0],ly:.3,textureType:"Wall Texture Default",rotation:[0,0,2.731440279371126],cx:4.589538909397151,lx:6.320731749368616,normal:[0,0,1],leftPoint:[4.58953890939715,-2.969033116327763,0],lz:5.25,rightRoofHeight:5.25,cz:0,parentId:"ceA38nUA7SQynuTCNKi2BV",roofId:"dzARxJ53WwFwsNrhuBLzWG",rightJoints:["uBjSfWV5MAS9vnKb4XPdfP"],leftJoints:["hwrPdC7kZvm4PMhTtpv3Cf"],selected:!1,color:"white",type:"Wall",id:"paBZJ3XFdCVFNJ8PkS5wvw",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cz:0,selected:!1,ly:.3,id:"hwrPdC7kZvm4PMhTtpv3Cf",leftRoofHeight:5.25,leftJoints:["uR2W8UpidEKJWdspykk1aw"],rightPoint:[4.58953890939715,-2.969033116327763,0],rightRoofHeight:5.25,cy:-2.969033116327763,lx:9.337227070632434,color:"white",normal:[0,0,1],textureType:"Wall Texture Default",type:"Wall",cx:-.07907462591906667,rotation:[0,0,2.731440279371126],parentId:"ceA38nUA7SQynuTCNKi2BV",relativeAngle:-4756114491922529e-32,roofId:"dzARxJ53WwFwsNrhuBLzWG",leftPoint:[-4.747688161235283,-2.9690331163277626,0],lz:5.25,foundationId:"ceA38nUA7SQynuTCNKi2BV",centerRoofHeight:[0,6.225217409690371],rightJoints:["paBZJ3XFdCVFNJ8PkS5wvw"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,type:"Wall",roofId:"dzARxJ53WwFwsNrhuBLzWG",leftJoints:["uBjSfWV5MAS9vnKb4XPdfP"],leftPoint:[-4.747688161235284,3.351698633040855,0],rightJoints:["hwrPdC7kZvm4PMhTtpv3Cf"],normal:[0,0,1],foundationId:"ceA38nUA7SQynuTCNKi2BV",selected:!1,id:"uR2W8UpidEKJWdspykk1aw",parentId:"ceA38nUA7SQynuTCNKi2BV",rotation:[0,0,2.731440279371126],cy:.19133275835654628,textureType:"Wall Texture Default",ly:.3,lx:6.320731749368617,cx:-4.747688161235283,color:"white",lz:5.25,relativeAngle:-1.5707963267948966,rightRoofHeight:5.25,rightPoint:[-4.747688161235283,-2.9690331163277626,0],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{type:"Roof",normal:[0,0,1],cx:0,rotation:[0,0,2.731440279371126],foundationId:"ceA38nUA7SQynuTCNKi2BV",lx:0,parentId:"ceA38nUA7SQynuTCNKi2BV",ridgeRightPoint:[0,1],color:"#ffffff",ly:0,selected:!1,thickness:.2,roofType:"Gable",cz:0,id:"dzARxJ53WwFwsNrhuBLzWG",textureType:"No Roof Texture",wallsId:["paBZJ3XFdCVFNJ8PkS5wvw"],lz:0,ridgeLeftPoint:[0,1],cy:0,rise:.9752174096903712,ceiling:!1},{rotation:[0,0,2.731440279371126],solarPowerTower:{},selected:!1,type:"Foundation",ly:10.658064363814518,normal:[0,0,1],solarUpdraftTower:{},cy:-13.20207722402062,solarAbsorberPipe:{},cx:44.31026086081932,color:"#808080",cz:.5,lx:10.667610013832563,id:"ceA38nUA7SQynuTCNKi2BV",parentId:"Ground",lz:1},{rightRoofHeight:11,foundationId:"88UbNAdWUbzJHGAmrqJWPn",rightJoints:["mqAaf5QtrdpibBSarUk9qt"],relativeAngle:-3.1415926535897927,textureType:"Wall Texture Default",type:"Wall",lz:11,color:"white",cx:.03303730701620822,id:"ovU5BwtCwgHA5UHHhibxpu",roofId:"wSxYARgs9umEJRG8XyZbKH",leftPoint:[3.0844752908601185,3.4313212286858272,0],selected:!1,parentId:"88UbNAdWUbzJHGAmrqJWPn",ly:.3,leftRoofHeight:11,leftJoints:["bWeTZ14zUp93sauz9hT9ba"],rotation:[0,0,-.41015237421866746],lx:6.102875967687821,normal:[0,0,1],rightPoint:[-3.018400676827702,3.431321228685824,0],cy:3.4313212286858255,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,rightJoints:["ovU5BwtCwgHA5UHHhibxpu"],color:"white",foundationId:"88UbNAdWUbzJHGAmrqJWPn",parentId:"88UbNAdWUbzJHGAmrqJWPn",relativeAngle:1.5707963267948963,rightPoint:[3.0844752908601185,3.4313212286858272,0],textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],cy:-1.4345548840225932,roofId:"wSxYARgs9umEJRG8XyZbKH",type:"Wall",leftJoints:["8kMoucgjs3KynPyoZExz4J"],ly:.3,rightRoofHeight:11,leftRoofHeight:11,lx:9.731752225416841,leftPoint:[3.0844752908601167,-6.300430996731014,0],selected:!1,cz:0,normal:[0,0,1],id:"bWeTZ14zUp93sauz9hT9ba",cx:3.0844752908601176,centerRoofHeight:[-.5,11],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cy:-6.300430996731012,cx:.03303730701620533,leftRoofHeight:11,relativeAngle:-5821376180034847e-31,selected:!1,rotation:[0,0,-.41015237421866746],leftJoints:["mqAaf5QtrdpibBSarUk9qt"],leftPoint:[-3.018400676827706,-6.30043099673101,0],foundationId:"88UbNAdWUbzJHGAmrqJWPn",id:"8kMoucgjs3KynPyoZExz4J",type:"Wall",rightPoint:[3.0844752908601167,-6.300430996731014,0],normal:[0,0,1],textureType:"Wall Texture Default",color:"white",roofId:"wSxYARgs9umEJRG8XyZbKH",cz:0,lx:6.102875967687822,rightJoints:["bWeTZ14zUp93sauz9hT9ba"],parentId:"88UbNAdWUbzJHGAmrqJWPn",ly:.3,lz:11,rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,rightPoint:[-3.018400676827706,-6.30043099673101,0],id:"mqAaf5QtrdpibBSarUk9qt",centerRoofHeight:[.5,11],leftPoint:[-3.018400676827702,3.431321228685824,0],rotation:[0,0,-.41015237421866746],cy:-1.434554884022593,rightRoofHeight:11,color:"white",foundationId:"88UbNAdWUbzJHGAmrqJWPn",cz:0,textureType:"Wall Texture Default",normal:[0,0,1],rightJoints:["8kMoucgjs3KynPyoZExz4J"],lz:11,leftRoofHeight:11,ly:.3,roofId:"wSxYARgs9umEJRG8XyZbKH",parentId:"88UbNAdWUbzJHGAmrqJWPn",cx:-3.018400676827704,lx:9.731752225416834,type:"Wall",relativeAngle:-1.5707963267948972,leftJoints:["ovU5BwtCwgHA5UHHhibxpu"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,cx:0,wallsId:["ovU5BwtCwgHA5UHHhibxpu"],lz:0,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],rotation:[0,0,0],ly:0,type:"Roof",normal:[0,0,1],cz:0,textureType:"No Roof Texture",id:"wSxYARgs9umEJRG8XyZbKH",selected:!1,roofType:"Gable",thickness:.2,parentId:"88UbNAdWUbzJHGAmrqJWPn",color:"#ffffff",cy:0,foundationId:"88UbNAdWUbzJHGAmrqJWPn",rise:0,ceiling:!1},{normal:[0,0,1],type:"Foundation",id:"88UbNAdWUbzJHGAmrqJWPn",solarAbsorberPipe:{},lx:7.252592961439527,cx:62.080046007118426,ly:13.304430432789896,lz:1,selected:!1,solarPowerTower:{},solarUpdraftTower:{},cy:37.19900910209601,color:"#808080",rotation:[0,0,-.41015237421866746],cz:.5,parentId:"Ground"},{rightRoofHeight:11,relativeAngle:-3.1415926535897927,selected:!1,rotation:[0,0,2.731440279371126],cz:0,leftPoint:[3.0844752908601185,3.4313212286858272,0],textureType:"Wall Texture Default",cy:3.4313212286858255,normal:[0,0,1],foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",cx:.03303730701620822,type:"Wall",rightJoints:["rYV5p6RL3LBPRMKrDscX3e"],id:"dat7BcuHkXNM7uDy6XoM77",parentId:"3GmVD3k9gEdK1KyAQNL7Qd",leftJoints:["imJTFiGu5qfL7Sh3jfMjyP"],rightPoint:[-3.018400676827702,3.431321228685824,0],leftRoofHeight:11,lx:6.102875967687821,ly:.3,lz:11,roofId:"vqk2MvDnMGXjNatJWKEZ3Q",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{centerRoofHeight:[-.5,11],lz:11,rightPoint:[3.0844752908601185,3.4313212286858272,0],lx:9.731752225416841,rightJoints:["dat7BcuHkXNM7uDy6XoM77"],id:"imJTFiGu5qfL7Sh3jfMjyP",ly:.3,leftJoints:["rmxwktmu6mngA8cW2oTqim"],textureType:"Wall Texture Default",cz:0,selected:!1,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",leftPoint:[3.0844752908601167,-6.300430996731014,0],type:"Wall",cy:-1.4345548840225932,leftRoofHeight:11,relativeAngle:1.5707963267948963,rightRoofHeight:11,color:"white",parentId:"3GmVD3k9gEdK1KyAQNL7Qd",normal:[0,0,1],cx:3.0844752908601176,rotation:[0,0,2.731440279371126],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{normal:[0,0,1],color:"white",rightRoofHeight:11,rotation:[0,0,2.731440279371126],rightPoint:[3.0844752908601167,-6.300430996731014,0],leftPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",ly:.3,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",rightJoints:["imJTFiGu5qfL7Sh3jfMjyP"],id:"rmxwktmu6mngA8cW2oTqim",lz:11,cx:.03303730701620533,cy:-6.300430996731012,cz:0,lx:6.102875967687822,relativeAngle:-5821376180034847e-31,leftRoofHeight:11,textureType:"Wall Texture Default",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",leftJoints:["rYV5p6RL3LBPRMKrDscX3e"],type:"Wall",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftRoofHeight:11,cx:-3.018400676827704,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",cz:0,lx:9.731752225416834,normal:[0,0,1],type:"Wall",selected:!1,centerRoofHeight:[.5,11],color:"white",leftPoint:[-3.018400676827702,3.431321228685824,0],relativeAngle:-1.5707963267948972,id:"rYV5p6RL3LBPRMKrDscX3e",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",ly:.3,textureType:"Wall Texture Default",leftJoints:["dat7BcuHkXNM7uDy6XoM77"],rightPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",rightRoofHeight:11,rotation:[0,0,2.731440279371126],cy:-1.434554884022593,lz:11,rightJoints:["rmxwktmu6mngA8cW2oTqim"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{textureType:"No Roof Texture",cx:0,roofType:"Gable",lx:0,ly:0,wallsId:["dat7BcuHkXNM7uDy6XoM77"],normal:[0,0,1],color:"#ffffff",ridgeRightPoint:[.5,1],thickness:.2,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",type:"Roof",cy:0,rotation:[0,0,2.731440279371126],selected:!1,lz:0,id:"vqk2MvDnMGXjNatJWKEZ3Q",cz:0,ridgeLeftPoint:[-.5,1],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",rise:0,ceiling:!1},{color:"#808080",ly:13.304430432789896,normal:[0,0,1],lx:7.252592961439527,solarUpdraftTower:{},cy:.39963845763658945,lz:1,cx:57.679815811211355,type:"Foundation",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},id:"3GmVD3k9gEdK1KyAQNL7Qd",parentId:"Ground",cz:.5,rotation:[0,0,2.731440279371126]},{rightRoofHeight:11,lz:11,normal:[0,0,1],foundationId:"oYDvciacfdn2FyG6Pct5UQ",textureType:"Wall Texture Default",leftJoints:["uuKuNJNLJkLuMtyKwwLbpZ"],color:"white",rotation:[0,0,2.731440279371126],id:"36dnW2hrDUevTFeF7RsSFs",rightPoint:[-3.018400676827702,3.431321228685824,0],selected:!1,rightJoints:["doa2HGm3D8izkEMMPgsx7E"],cx:.03303730701620822,parentId:"oYDvciacfdn2FyG6Pct5UQ",cy:3.4313212286858255,leftPoint:[3.0844752908601185,3.4313212286858272,0],cz:0,roofId:"jTzPENUqMsb7iHTtwq7yKs",relativeAngle:-3.1415926535897927,lx:6.102875967687821,ly:.3,leftRoofHeight:11,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,relativeAngle:1.5707963267948963,foundationId:"oYDvciacfdn2FyG6Pct5UQ",normal:[0,0,1],ly:.3,parentId:"oYDvciacfdn2FyG6Pct5UQ",cx:3.0844752908601176,leftRoofHeight:11,rotation:[0,0,2.731440279371126],leftPoint:[3.0844752908601167,-6.300430996731014,0],type:"Wall",cy:-1.4345548840225932,rightPoint:[3.0844752908601185,3.4313212286858272,0],rightJoints:["36dnW2hrDUevTFeF7RsSFs"],textureType:"Wall Texture Default",lx:9.731752225416841,roofId:"jTzPENUqMsb7iHTtwq7yKs",centerRoofHeight:[-.5,11],leftJoints:["vqh1RPWSMZerDaWxLP3Y4Z"],id:"uuKuNJNLJkLuMtyKwwLbpZ",rightRoofHeight:11,selected:!1,color:"white",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",rotation:[0,0,2.731440279371126],color:"white",leftPoint:[-3.018400676827706,-6.30043099673101,0],normal:[0,0,1],parentId:"oYDvciacfdn2FyG6Pct5UQ",rightRoofHeight:11,selected:!1,leftRoofHeight:11,roofId:"jTzPENUqMsb7iHTtwq7yKs",leftJoints:["doa2HGm3D8izkEMMPgsx7E"],rightPoint:[3.0844752908601167,-6.300430996731014,0],ly:.3,textureType:"Wall Texture Default",cy:-6.300430996731012,rightJoints:["uuKuNJNLJkLuMtyKwwLbpZ"],cz:0,lz:11,relativeAngle:-5821376180034847e-31,lx:6.102875967687822,foundationId:"oYDvciacfdn2FyG6Pct5UQ",cx:.03303730701620533,id:"vqh1RPWSMZerDaWxLP3Y4Z",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,cz:0,ly:.3,type:"Wall",cx:-3.018400676827704,centerRoofHeight:[.5,11],normal:[0,0,1],lx:9.731752225416834,color:"white",relativeAngle:-1.5707963267948972,leftJoints:["36dnW2hrDUevTFeF7RsSFs"],lz:11,id:"doa2HGm3D8izkEMMPgsx7E",rightJoints:["vqh1RPWSMZerDaWxLP3Y4Z"],leftPoint:[-3.018400676827702,3.431321228685824,0],parentId:"oYDvciacfdn2FyG6Pct5UQ",leftRoofHeight:11,rightRoofHeight:11,foundationId:"oYDvciacfdn2FyG6Pct5UQ",cy:-1.434554884022593,rotation:[0,0,2.731440279371126],rightPoint:[-3.018400676827706,-6.30043099673101,0],roofId:"jTzPENUqMsb7iHTtwq7yKs",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,foundationId:"oYDvciacfdn2FyG6Pct5UQ",ridgeLeftPoint:[-.5,1],cx:0,parentId:"oYDvciacfdn2FyG6Pct5UQ",normal:[0,0,1],lz:0,wallsId:["36dnW2hrDUevTFeF7RsSFs"],ly:0,cy:0,rotation:[0,0,2.731440279371126],id:"jTzPENUqMsb7iHTtwq7yKs",color:"#ffffff",type:"Roof",roofType:"Gable",textureType:"No Roof Texture",ridgeRightPoint:[.5,1],cz:0,selected:!1,thickness:.2,rise:0,ceiling:!1},{normal:[0,0,1],cx:47.576205150745,id:"oYDvciacfdn2FyG6Pct5UQ",solarAbsorberPipe:{},cz:.5,cy:4.8155054973730085,color:"#808080",lz:1,type:"Foundation",lx:7.252592961439527,parentId:"Ground",solarUpdraftTower:{},ly:13.304430432789896,rotation:[0,0,2.731440279371126],selected:!1,solarPowerTower:{}},{normal:[0,0,1],wallsId:["1sWH6Vf283ZQdSSFT642nh","monXTa8uPTJhzhXCcFVkHQ","abgP23xfq9mn6fXM5eixEU","bBRKF8cuUabp5jr721b2aF"],roofType:"Pyramid",rotation:[0,0,0],lineWidth:.2,showLabel:!1,lz:0,lineColor:"black",id:"7MHnZ8shY1nNWWHte69oqs",cz:0,type:"Roof",textureType:"No Roof Texture",selected:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",cx:0,thickness:.2,foundationId:"jXMhg2wW7AzS5RR8DVRgQA",lx:0,ly:0,cy:0,color:"#ffffff",rise:0,ceiling:!1},{cy:0,selected:!1,wallsId:["eJ8JK9wm6JNigJXLFxHXZv","6fcDhLeskSsK9vgEVSS72V","kj6mwcCRjjAjkZKNVLpD6Q","dpZWnBXJifWNeSxPnXSh11"],cz:0,showLabel:!1,id:"5AL2YmNDuGkeP7qZ5AC7iV",foundationId:"b7G57PTXunVqeHXzCWeuRF",type:"Roof",parentId:"b7G57PTXunVqeHXzCWeuRF",roofType:"Pyramid",thickness:.2,rotation:[0,0,0],color:"#ffffff",lineColor:"black",lz:0,cx:0,textureType:"No Roof Texture",lineWidth:.2,normal:[0,0,1],ly:0,lx:0,rise:0,ceiling:!1},{cz:0,color:"#ffffff",textureType:"No Roof Texture",lz:0,rotation:[0,0,0],cx:0,normal:[0,0,1],lx:0,lineColor:"black",cy:0,roofType:"Pyramid",thickness:.2,id:"aqd47NYJ1Q6UzcCmxxcoXQ",selected:!1,wallsId:["4ocNasurxu3LhLKonWAKWR","pBQFic2TqVJyDdJyEaBVof","tq43NPQgXhkeNmwFteVBqx","w8GFYP8jB1EG2YVL6appCT"],ly:0,parentId:"jH5z454ciczrceJTNes5b4",type:"Roof",foundationId:"jH5z454ciczrceJTNes5b4",lineWidth:.2,showLabel:!1,rise:0,ceiling:!1},{rotation:[0,0,0],ly:0,textureType:"No Roof Texture",cx:0,cy:0,cz:0,showLabel:!1,normal:[0,0,1],wallsId:["9RBn6VqRCqHmHYTVsG2Hbq","snwHy88SCLUgp9tM1ts1kV","pJZasFocQxwotbLjPFqJsC","fgVtymGrmdEZZzZZ3mW69b"],lineWidth:.2,lx:0,roofType:"Pyramid",type:"Roof",foundationId:"4p3AerfQErrh3N7JyKd7PA",id:"ui47bC2XPhcG14b6RPgvMq",color:"#ffffff",parentId:"4p3AerfQErrh3N7JyKd7PA",lineColor:"black",selected:!1,thickness:.2,lz:0,rise:0,ceiling:!1}],Y2n={dailyUpdraftTowerYieldPanelRect:{x:0,height:550,y:0,width:640},dailyParabolicDishYieldPanelX:0,visibilityResultsPanelY:0,showDesignInfoPanel:!0,mapPanelY:0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},showSunAngles:!1,stickyNotePanelY:0,autoRotate:!1,weatherPanelY:0,dailyLightSensorPanelRect:{y:0,height:360,width:600,x:0},groundColor:"forestgreen",enableRotate:!0,showElevationAngle:!0,yearlyPvYieldPanelY:0,panCenter2D:[68.43396623741017,108.77453989719173,1332276757861851e-20],showMapPanel:!1,heliodonPanelY:0,yearlyHeliostatYieldPanelY:0,mapPanelX:0,weatherPanelX:0,solarRadiationHeatMapMaxValue:5,dailyPvYieldPanelY:0,showInstructionPanel:!1,yearlyPvYieldPanelRect:{width:600,y:86,x:-326,height:400},yearlyLightSensorPanelShowClearness:!1,cameraZoom:25.847108697996326,showSolarPanelVisibilityResultsPanel:!1,mapType:"hybrid",showYearlyParabolicTroughYieldPanel:!1,heliodonPanelX:0,showYearlyHeliostatYieldPanel:!1,axes:!0,showDailyHeliostatYieldPanel:!1,yearlyFresnelReflectorYieldPanelRect:{width:600,y:0,x:0,height:400},showHeliodonPanel:!1,dailyLightSensorPanelX:0,dailyFresnelReflectorYieldPanelY:0,yearlyPvYieldPanelX:0,showZenithAngle:!0,heliodon:!1,dailyHeliostatYieldPanelX:0,orthographic:!1,showDailyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{y:0,width:236,x:0,height:87},yearlyLightSensorPanelY:0,groundImage:!0,yearlyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showWeatherPanel:!1,yearlyParabolicTroughYieldPanelY:0,dailyPvYieldPanelX:0,showYearlyPvYieldPanel:!1,dailyFresnelReflectorYieldPanelX:0,weatherPanelRect:{y:0,height:500,width:500,x:0},evolutionPanelRect:{y:0,x:0,width:640,height:400},showDailyUpdraftTowerYieldPanel:!1,showAzimuthAngle:!0,showEvolutionPanel:!1,yearlyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelRect:{y:0,width:600,height:400,x:0},ambientLightIntensity:.1,dailyFresnelReflectorYieldPanelRect:{y:0,height:400,x:0,width:600},yearlyLightSensorPanelX:0,showEconomicsPanel:!1,dailyParabolicDishYieldPanelRect:{width:600,x:0,y:0,height:400},stickyNotePanelX:0,showDiurnalTemperaturePanel:!1,yearlyFresnelReflectorYieldPanelX:0,panCenter:[38.386200794550874,-23.3410033657338,26460494326568842e-21],showStickyNotePanel:!0,showDailyParabolicDishYieldPanel:!1,yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},shadowEnabled:!1,mapZoom:17,showYearlyFresnelReflectorYieldPanel:!1,yearlyLightSensorPanelShowDaylight:!1,showYearlyUpdraftTowerYieldPanel:!1,showDailyLightSensorPanel:!1,dailyHeliostatYieldPanelY:0,yearlyParabolicTroughYieldPanelRect:{height:400,width:600,x:0,y:0},yearlyFresnelReflectorYieldPanelY:0,diurnalTemperaturePanelRect:{y:0,width:600,height:400,x:0},theme:"Default",dailyLightSensorPanelY:0,visibilityResultsPanelRect:{x:0,height:470,width:600,y:0},yearlyLightSensorPanelRect:{height:500,y:0,x:0,width:600},showSiteInfoPanel:!0,visibilityResultsPanelX:0,mapTilt:0,solarRadiationHeatMapReflectionOnly:!1,cameraPosition:[79.58351721186,-134.3931242110791,147.3552432306341],showYearlyLightSensorPanel:!1,dailyParabolicTroughYieldPanelX:0,yearlyHeliostatYieldPanelX:0,yearlyParabolicDishYieldPanelRect:{width:600,y:0,height:400,x:0},showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,dailyParabolicTroughYieldPanelY:0,dailyPvYieldPanelRect:{width:600,height:400,y:0,x:0},cameraPosition2D:[68.43396623741017,108.77451989630273,20.00001332267289],dailyParabolicDishYieldPanelY:0},O2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_2n=1,V2n={interRowSpacing:2,rowAxis:"Left-Right",pvModelName:"SPR-X21-335-BLK",tiltAngle:0,poleSpacing:3,orientation:"Landscape",poleHeight:1,rowsPerRack:1},G2n={rowAxis:"Left-Right",poleHeight:1,minimumTiltAngle:-1.5707963267948966,minimumRowsPerRack:1,maximumRowsPerRack:6,maximumInterRowSpacing:10,minimumInterRowSpacing:2,orientation:"Landscape",pvModelName:"CS6X-355P-FG",poleSpacing:5,maximumTiltAngle:1.5707963267948966},X2n={geneticAlgorithmParams:{localSearchRadius:.1,problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,maximumGenerations:5,selectionMethod:1,searchMethod:1,mutationRate:.1,selectionRate:.5,convergenceThreshold:.01,crossoverRate:.5,populationSize:20},particleSwarmOptimizationParams:{vmax:.01,inertia:.8,objectiveFunctionType:1,searchMethod:1,cognitiveCoefficient:.1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,localSearchRadius:.1,maximumSteps:5,swarmSize:20,convergenceThreshold:.01}},J2n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},K2n=[`Mescalero Apache School +New Mexico, USA`],q2n={docid:k2n,time:F2n,timestamp:L2n,userid:W2n,owner:N2n,email:U2n,world:B2n,elements:j2n,view:Y2n,graphState:O2n,evolutionMethod:_2n,solarPanelArrayLayoutParams:V2n,solarPanelArrayLayoutConstraints:G2n,evolutionaryAlgorithmState:X2n,economicsParams:J2n,notes:K2n},$2n="oRJVoBEAs85sQVTxz3G3Aa",Q2n=1643138671495,Z2n="QWecNcxhyvP6j6sBN11hBsfZDau1",e5n=null,t5n=null,n5n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/22/2021 11:00:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2},o5n=[{type:"Foundation",cx:-9.55171908313751,cy:-18.19491515601114,cz:.05,lx:69.0515968638667,ly:71.26044576002357,lz:.1,normal:[0,0,1],rotation:[0,0,-1.017744597267026],parentId:"Ground",id:"9zunWg9vgE2EXQf2GAGvHJ",selected:!1,textureType:"Foundation Texture #2"},{type:"Tree",name:"Maple",cx:3.2728380906673773,cy:2.018552619631127,cz:.05000000074505806,lx:9.63205225658289,lz:12.42213702192784,normal:[0,0,1],rotation:[0,0,.4041452104082131],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"e4UGoSP6vMmKtTpaK7Xx7e",selected:!1,showModel:!1},{type:"Human",name:"Jack",cx:9.261208020051818,cy:17.4519165226371,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,.4041452104082131],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"aqHPhgdskHU47w7A1JoYUH",selected:!1,ly:.6},{type:"Tree",name:"Maple",cx:-2.759236366671214,cy:-6.100345712463374,cz:.05000000074505806,lx:15.662386774550322,lz:17.814185690323082,normal:[0,0,1],rotation:[0,0,.5235987755982988],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"quQsvQqGqFo233Raf5MV2q",selected:!1},{type:"Cuboid",cx:-9.798880015116119,cy:-4.358075047463568,cz:9.736603648251254,lx:19.17702564125724,ly:13.830784586479455,lz:19.47320729650251,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,3.141592653589793],parentId:"Ground",selected:!1,id:"u8URHSH38BdLFefR2kpArP"},{type:"Tree",name:"Spruce",cx:8.846757081366217,cy:8.465966186158635,cz:.05000000074505806,lx:4.201867761608678,lz:9.066423414956883,normal:[0,1,0],rotation:[0,0,0],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"8nmhqhdJRjPhvXmqRWtXWS",selected:!1,showModel:!1},{type:"Cuboid",cx:3.3849893009151506,cy:3.1596268234618305,cz:4.774411049933112,lx:17.91634633119275,ly:6.319724352083252,lz:9.548822099866223,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.8378964730477152],parentId:"Ground",id:"w6fsWnZq8bBGBS5PxduXBK",selected:!1},{type:"Cuboid",cx:.8301123283897702,cy:-13.282792837220546,cz:5.471867705312628,lx:5.668418559135588,ly:9.979432490224614,lz:10.943735410625257,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.7040209346650892],parentId:"Ground",selected:!1,id:"e4j7PfDmVs1dovQBZBQ3BT"},{type:"Cuboid",cx:3.6644340063361565,cy:-4.8364998865196736,cz:2,lx:4.840425768432099,ly:20.8513404243441,lz:4,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"qfz89eHJ88Lg9JCyH53fc9"},{type:"Cuboid",cx:-4.166247795353307,cy:-32.1603428429262,cz:2.63479238812298,lx:11.313153894671187,ly:12.684919468119116,lz:5.26958477624596,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.2580366898458273],parentId:"Ground",selected:!1,id:"nNjg1Ffg3pm4CdyzNQdiW9"},{type:"Cuboid",cx:-4.400070852285921,cy:-32.71929138984055,cz:13.65810647211173,lx:3.1252453327696883,ly:3.149430446459918,lz:27.31621294422346,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.7128704595183226],parentId:"Ground",selected:!1,id:"ofBXHyPsTmNpJVcNoCo9j5"},{type:"Cuboid",cx:-20.05284620919852,cy:-31.1598203541727,cz:4.6920942485939525,lx:14.24559815125088,ly:10.643905820516908,lz:9.384188497187905,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.2728352410356374],parentId:"Ground",selected:!1,id:"aZcQCi1W1twRBtwgJgUoeW"},{type:"Tree",name:"Oak",cx:19.63141428747889,cy:-14.555088162280029,cz:.05000000074505806,lx:16.244539454462206,lz:17.937149329522143,normal:[0,1,0],rotation:[0,0,0],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"hP32y2WeaoShZAgJcL2phB",selected:!1}],i5n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[53.96406310906323,-63.55404886182046,17.26191308801079],panCenter:[-14.409899112760232,-10.942953787224548,3.8259899066863428],orthographic:!1,enableRotate:!0,cameraZoom:15.47561875,showInstructionPanel:!0,cameraPosition2D:[4.361874143686572,3.699796590309034,48.00000369998439],panCenter2D:[4.361874143686572,3.699844592441852,4448257642288249e-21],showHeatmap:!1,showSolarRadiationHeatmap:!1,showSunAngles:!1,solarRadiationHeatMapMaxValue:4.5},r5n=[],a5n={docid:$2n,timestamp:Q2n,userid:Z2n,owner:e5n,email:t5n,world:n5n,elements:o5n,view:i5n,notes:r5n},l5n="gj8mmfSE6fqAAUtvXZYGkb",s5n="03/19/2023 02:00 pm",c5n=1679248844823,u5n="QWecNcxhyvP6j6sBN11hBsfZDau1",d5n=null,f5n=null,h5n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},p5n=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-2.6557701490344776,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.09987728198946044,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:3,roofId:"vyQyu3QobXjxj1jDvhJ4sy",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"No Wall Texture",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:3,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:3,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",opacity:.4,wallStructure:"Stud",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:3,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",rightRoofHeight:3,roofId:"vyQyu3QobXjxj1jDvhJ4sy",color:"#ffffff",opacity:.4,wallStructure:"Stud",centerRoofHeight:[0,4.790804943100949],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{lx:10,windows:[],lz:3,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"vyQyu3QobXjxj1jDvhJ4sy",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"No Wall Texture",rightRoofHeight:3,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:3,ly:.3,cx:-5.300056602144494,color:"#ffffff",opacity:.4,wallStructure:"Stud",centerRoofHeight:[0,4.790804943100949],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"No Wall Texture",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"vyQyu3QobXjxj1jDvhJ4sy",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:3,leftRoofHeight:3,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:3,lx:12,color:"#ffffff",wallStructure:"Stud",opacity:.4,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Human",name:"James",cx:-1.8741011733558182,cy:-5.8416164272427595,cz:.05000000074505806,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.472},{type:"Human",name:"Jess",cx:-4.0157582744754965,cy:3.8617380009978506,cz:.050000000745058504,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Rafter",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vyQyu3QobXjxj1jDvhJ4sy",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:1.790804943100949,ceiling:!1},{type:"Flower",name:"White Flower",cx:-4.1342434171004925,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"46aifVnH3B74BwVSi3Crxq",selected:!1},{type:"Flower",name:"White Flower",cx:-3.3342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i8U6G9JyPpL2hbWBs7vVz6",selected:!1},{type:"Flower",name:"White Flower",cx:-2.534243417100493,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ugPMRjEYo4WRamJ9tFewHm",selected:!1},{type:"Flower",name:"White Flower",cx:-1.7342434171004928,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cXWM3Js8Lp8DUZByf9ySVZ",selected:!1},{type:"Flower",name:"White Flower",cx:-.9342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tWw7iszMWHGh94zWUms3bX",selected:!1},{type:"Flower",name:"White Flower",cx:-.1342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wFi9RKANUcSDb8JEQtDAEk",selected:!1},{type:"Flower",name:"White Flower",cx:.6657565828995073,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"bgwNTPoMCs4Wi6VnCqioA2",selected:!1},{type:"Flower",name:"White Flower",cx:1.4657565828995074,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m6nguuL3Zz24UD89QncVq3",selected:!1},{type:"Flower",name:"White Flower",cx:2.2657565828995074,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kGhztdakMGZm6mkLawDRht",selected:!1},{type:"Flower",name:"White Flower",cx:3.0657565828995077,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"t89aQNRve3pcY6QfBoyCYo",selected:!1},{type:"Flower",name:"White Flower",cx:3.8657565828995075,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2bSs9uZqzgsXpzetM5AmxD",selected:!1},{type:"Flower",name:"White Flower",cx:4.665756582899507,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7CEvARocUnJdE2SHZcDU2V",selected:!1},{type:"Flower",name:"White Flower",cx:5.465756582899507,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rYZJ2mHmESXni5V1aVa46t",selected:!1},{type:"Flower",name:"White Flower",cx:-4.2619057070341295,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m4JAZDAnBR2QnoTX6gwxgv",selected:!1},{type:"Flower",name:"White Flower",cx:-3.4619057070341297,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7nhnwoJ8FbP4fj9ZXLrfye",selected:!1},{type:"Flower",name:"White Flower",cx:-2.66190570703413,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uFsFHipxUMRX5aHpDNiLzw",selected:!1},{type:"Flower",name:"White Flower",cx:-1.8619057070341298,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mJ6VdUdVpFHoDMvk5CifrP",selected:!1},{type:"Flower",name:"White Flower",cx:-1.0619057070341298,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ebBzNYMUnf5tyqviBfW44K",selected:!1},{type:"Flower",name:"White Flower",cx:-.26190570703412974,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7qGERbKCYNJZY5SktqYFGH",selected:!1},{type:"Flower",name:"White Flower",cx:.5380942929658703,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oAb4tA3ghqD5MVLjvE2JNB",selected:!1},{type:"Flower",name:"White Flower",cx:1.3380942929658703,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"anEdC4mKjKpYkWwwTugQd7",selected:!1},{type:"Flower",name:"White Flower",cx:2.1380942929658704,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3WdeMit6SeG4bqra8yJxnB",selected:!1},{type:"Flower",name:"White Flower",cx:2.9380942929658707,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jnmEfnMgUaJK9NwsWsV3gH",selected:!1},{type:"Flower",name:"White Flower",cx:3.7380942929658705,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8471n9p1MKM4v5HYVYNnbf",selected:!1},{type:"Flower",name:"White Flower",cx:4.53809429296587,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jRVVQvkLQEJFVGW7n4JcjX",selected:!1},{type:"Flower",name:"White Flower",cx:5.33809429296587,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n9PiSuToBHaHcJ2hu8PhVa",selected:!1},{type:"Flower",name:"White Flower",cx:-4.344446260163467,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5GRQttXkMVj9MJmJA2sCTw",selected:!1},{type:"Flower",name:"White Flower",cx:-3.5444462601634674,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"79Mv3qBTpXEHM1FaDfaYXS",selected:!1},{type:"Flower",name:"White Flower",cx:-2.7444462601634676,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8XAz3reTAfJSVRX2DdJvMN",selected:!1},{type:"Flower",name:"White Flower",cx:-1.9444462601634676,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hGDaJZoqkJU6bVFNwzDKgn",selected:!1},{type:"Flower",name:"White Flower",cx:-1.1444462601634675,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cWsLs9ePKWKWrV1Akhn42n",selected:!1},{type:"Flower",name:"White Flower",cx:-.34444626016346747,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8NgHbW2QgN3CvEsxHivBg6",selected:!1},{type:"Flower",name:"White Flower",cx:.4555537398365326,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7ogG3q6XsVTY3wSGV7BrEK",selected:!1},{type:"Flower",name:"White Flower",cx:1.2555537398365326,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aTLKeq862hXuydUnDnRufZ",selected:!1},{type:"Flower",name:"White Flower",cx:2.0555537398365327,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4SotanHYdz7BmHuHEsRU5J",selected:!1},{type:"Flower",name:"White Flower",cx:2.855553739836533,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"o98emba7AiB167tGV4Un8g",selected:!1},{type:"Flower",name:"White Flower",cx:3.6555537398365328,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1ExTvAYZaKio5wNoaShuZo",selected:!1},{type:"Flower",name:"White Flower",cx:4.455553739836533,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"t3oYKCD7r8u33GMpXr8wwr",selected:!1},{type:"Flower",name:"White Flower",cx:5.255553739836532,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5jPVxqN2CvnEkeYz4QQra5",selected:!1},{type:"Flower",name:"White Flower",cx:-4.391533387874089,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"of1adpyZeoRS8fTjGoytf1",selected:!1},{type:"Flower",name:"White Flower",cx:-3.5915333878740894,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9ncNDKqkLLMu7d9PUN7oUA",selected:!1},{type:"Flower",name:"White Flower",cx:-2.7915333878740896,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"u3zUSyPymxJB7HgazzqLzv",selected:!1},{type:"Flower",name:"White Flower",cx:-1.9915333878740895,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dHPhWCEiz1y9PnXZp83MpE",selected:!1},{type:"Flower",name:"White Flower",cx:-1.1915333878740895,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"bg6PZWwTrwwre4jiKxe7uX",selected:!1},{type:"Flower",name:"White Flower",cx:-.3915333878740894,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5F7K7QFnfwHKfd4Lfw728p",selected:!1},{type:"Flower",name:"White Flower",cx:.4084666121259106,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"532gMLAZ5tcLjzMQisipSa",selected:!1},{type:"Flower",name:"White Flower",cx:1.2084666121259107,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"v3gFFnUntYFxM9Nx5RWfik",selected:!1},{type:"Flower",name:"White Flower",cx:2.0084666121259107,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"s6dpt2XkDQfRw5bGeX1H1V",selected:!1},{type:"Flower",name:"White Flower",cx:2.808466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uw1Jz6HvycMidfXokrAzFQ",selected:!1},{type:"Flower",name:"White Flower",cx:3.608466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n7ppnA9LyoWRWkVHPMq965",selected:!1},{type:"Flower",name:"White Flower",cx:4.408466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"r4x3CD3uiRipJcivNwW5MN",selected:!1},{type:"Flower",name:"White Flower",cx:5.2084666121259104,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7eEgZikopFnYDrozpMnbVk",selected:!1},{type:"Flower",name:"Sunflower",cx:-4.481342001872006,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9P5CuiQ2MG15JKupLj1B6D",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"meDHz6sDDGj4eDAWvaf1Jc",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"sRFj36qrZLXFZTDMQ6mpD9",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qNZvKMkFPtUNCcEgL1huNh",selected:!1},{type:"Flower",name:"Sunflower",cx:-.48134200187200626,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kcPXW35rZZAsL5WiiAk3hw",selected:!1},{type:"Flower",name:"Sunflower",cx:.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"feWWMNFMFvQ8cSM14BMp8t",selected:!1},{type:"Flower",name:"Sunflower",cx:1.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"msFwckWagge9gpLdQeS4JJ",selected:!1},{type:"Flower",name:"Sunflower",cx:2.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dogJzpvueZ1anaBAZ7muH8",selected:!1},{type:"Flower",name:"Sunflower",cx:3.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cYZoVFdifJsko9MEehFjtS",selected:!1},{type:"Flower",name:"Sunflower",cx:-4.24189898255945,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"s25usGNmQJ66fR5yXuRGGo",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pzBtEERtTPkBv9CsHDmZDu",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m5X7sdToMdq8xEefEwxLCK",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"f4inpmtrAzszkJUhzYSUye",selected:!1},{type:"Flower",name:"Sunflower",cx:-.24189898255944975,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"f4ThsERMjZf2AhEJ56hsa6",selected:!1},{type:"Flower",name:"Sunflower",cx:.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"16shGo6CLCNPBSgnunhAkS",selected:!1},{type:"Flower",name:"Sunflower",cx:1.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7vYNCNRBverkM51mspnoUJ",selected:!1},{type:"Flower",name:"Sunflower",cx:2.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"voHLpW8Gd4XA3Ceg6Xbe7t",selected:!1},{type:"Flower",name:"Sunflower",cx:3.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"u6Ue6tXWzkHCodK9XZEU2L",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"c6JNqxEgYvWDCRJawdShSj",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oaSKDixHoDBGhRmyNSQzgw",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vrts4rUEEsRTQs9sGjhPQA",selected:!1},{type:"Flower",name:"Sunflower",cx:-.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3pYKWqcAmjBuuNuny7rpoV",selected:!1},{type:"Flower",name:"Sunflower",cx:.09777512332007454,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1S6ZgxRm2LWmGc9KQsgDFh",selected:!1},{type:"Flower",name:"Sunflower",cx:1.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"opQ4ZLwfvkzg5Vxfj8cfQA",selected:!1},{type:"Flower",name:"Sunflower",cx:2.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nkbv83UnHqmfM7bAwa33Pe",selected:!1},{type:"Flower",name:"Sunflower",cx:3.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mN9mTCijKK38jmTnqKHee1",selected:!1},{type:"Flower",name:"Sunflower",cx:4.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dArQ57WQgeQivghvFz6Pkf",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.660995740108657,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"v7PVJmCSxV3Mzkp3DvmbxL",selected:!1},{type:"Flower",name:"Sunflower",cx:5.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"h4XguGKN7sgDCDuSE5McKM",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.660995740108657,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wSmuS2APtdqz8q7JGKKASr",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.6609957401086568,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nhuLvBuF9q3oVKsH9nQgoj",selected:!1},{type:"Flower",name:"Sunflower",cx:-.6609957401086568,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gyN8wLEyhGu5icXFxTanDS",selected:!1},{type:"Flower",name:"Sunflower",cx:.3390042598913432,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Hxo93yvCk6bL25Z1j69hy",selected:!1},{type:"Flower",name:"Sunflower",cx:1.3390042598913432,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6CEP9TkxfGsqwqefDYN2m3",selected:!1},{type:"Flower",name:"Sunflower",cx:2.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tKziXd6bAbZhg1ZHtHCDYk",selected:!1},{type:"Flower",name:"Sunflower",cx:3.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i75ADLAQar36M93rinkuBn",selected:!1},{type:"Flower",name:"Sunflower",cx:4.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9aKZZrCwftw93k2j9EUPft",selected:!1},{type:"Flower",name:"Sunflower",cx:5.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jtbnWz1TtfVCGS6GFT7cd5",selected:!1},{type:"Flower",name:"Sunflower",cx:4.700456042537368,cy:2.0818781692863544,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kpaDqAs7RHDDcutq6peJfx",selected:!1},{type:"Flower",name:"Sunflower",cx:4.834015330936817,cy:4.861450972934322,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n1pT9mZTaMUzmHpcczyBaV",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"k1bygQU9gmbRLruK4LkufJ",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1Qg8EAesLQmApEi3SoVr2L",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pX7RzZXzs2a2wB6ikN7nMV",selected:!1},{type:"Flower",name:"Sunflower",cx:-.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4n5Yx4e8sgXGuByhj8k1fL",selected:!1},{type:"Flower",name:"Sunflower",cx:.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vHXKNqVUezGNFoAwcMvXfT",selected:!1},{type:"Flower",name:"Sunflower",cx:1.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qESmtL2sTn5MoKqcsafYq5",selected:!1},{type:"Flower",name:"Sunflower",cx:2.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jzYPMGXoRbfHffj27jjLk1",selected:!1},{type:"Flower",name:"Sunflower",cx:3.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qbv7JX9QpCnKwVvTQzv2CK",selected:!1},{type:"Flower",name:"Sunflower",cx:4.695469904697504,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vegPcGL4Si9F7tHaiDew5A",selected:!1},{type:"Flower",name:"Sunflower",cx:5.695469904697504,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nfuYXRCdKKX1yeEVfQ1Q8w",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.19999999999999998,y:-.7999999999999999},{x:-.19999999999999998,y:-.4666666666666666},{x:.20000000000000004,y:-.4666666666666666},{x:.20000000000000004,y:-.7999999999999999}],parentId:"skm8dNPSkFaVkoUwiPNfq1",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:0,id:"9M33FqMDNgV3pDjYk2UES3",text:"Greenhouse",fontSize:.5,fontColor:"gold",fontStrokeWidth:.01,noOutline:!0,opacity:0}],g5n=15,m5n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-13.969061585407742,-10.143303302147187,2.3881460403679218],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.0306086242769346,3.0389446343818545,1.3437141951705311],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},y5n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},A5n=1,w5n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},v5n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},x5n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},b5n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},S5n="Unknown",T5n=null,P5n=null,C5n=null,R5n=[],H5n={docid:l5n,time:s5n,timestamp:c5n,userid:u5n,owner:d5n,email:f5n,world:h5n,elements:p5n,sceneRadius:g5n,view:m5n,graphState:y5n,evolutionMethod:A5n,solarPanelArrayLayoutParams:w5n,solarPanelArrayLayoutConstraints:v5n,evolutionaryAlgorithmState:x5n,economicsParams:b5n,modelType:S5n,modelAuthor:T5n,modelLabel:P5n,modelDescription:C5n,notes:R5n},M5n="nfnSPNhp4V7kiPCsxnMXvA",I5n="11/15/2023 08:11 PM",z5n=1700097090188,D5n="QWecNcxhyvP6j6sBN11hBsfZDau1",E5n=null,k5n=null,F5n="1.4.7",L5n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"3019 Jameson Beach Rd, South Lake Tahoe, CA 96150, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:38.9379299,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-120.0387964},W5n=[{ly:15.823820171875001,solarUpdraftTower:{},parentId:"Ground",cx:-.23635058692870636,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.30044344061775696,type:"Foundation",solarPowerTower:{},lx:20.01699292669677,lz:.25,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.125,textureType:"Foundation Texture #2",enableGroupMaster:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"ddvCooK4VAFN7dUMWPpapB",ly:.3,rightPoint:[-6.228593727144493,5.3056786237803095,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[5.771406272855506,5.305678623780308,.1],type:"Wall",normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.22859372714449355,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.3056786237803095,color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.771406272855505,leftPoint:[5.771406272855503,-4.6943213762196905,.1],cy:.3056786237803084,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.771406272855507,5.3056786237803095,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",roofId:"ddvCooK4VAFN7dUMWPpapB",color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"ddvCooK4VAFN7dUMWPpapB",selected:!1,cy:.3056786237803084,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-6.228593727144493,-4.6943213762196905,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.228593727144492,5.3056786237803095,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",ly:.3,cx:-6.228593727144493,color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{showLabel:!1,cx:-.2285937271444931,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.771406272855507,-4.6943213762196905,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.6943213762196905,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"ddvCooK4VAFN7dUMWPpapB",leftPoint:[-6.228593727144493,-4.6943213762196905,.1],normal:[0,0,1],ly:.3,lz:4,relativeAngle:0,rotation:[0,0,0],lx:12,color:"#ffffff",wallStructure:"Stud",opacity:0,structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{type:"Human",name:"Jacob",cx:7.289879196764376,cy:.9615979280726203,cz:.125,lx:.8,lz:1.82,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.8},{type:"Wall",cx:.09100362924299155,cy:1.1882025501879951,cz:2.2408122612280286,lx:1.5601883727480157,ly:.2,lz:7.649013269649758,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[.8710978156169994,1.1882025501879951,0],rightPoint:[-.6890905571310163,1.1882025501879951,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:.8710978156169993,cy:.14100043812882335,cz:2.2301039869226305,lx:2.0944042241183434,ly:.2,lz:7.649013269649758,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[.8710978156169991,-.9062016739303485,0],rightPoint:[.8710978156169995,1.1882025501879951,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",wallStructure:"Default",opacity:.5,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:-.6890905571310162,cy:.14100043812882335,cz:2.228839888904333,lx:2.0944042241183434,ly:.2,lz:7.649013269649758,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-.6890905571310162,1.1882025501879951,0],rightPoint:[-.6890905571310163,-.9062016739303485,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:.0910036292429916,cy:-.9062016739303485,cz:2.268765007024547,lx:1.5601883727480157,ly:.2,lz:7.649013269649758,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-.6890905571310163,-.9062016739303485,0],rightPoint:[.8710978156169995,-.9062016739303485,0],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Foundation",cx:-.0721809285526831,cy:-.11580967162986489,cz:.05,lx:2.3610744974526523,ly:3.0605782147964087,lz:.07649013269649757,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1},{type:"Human",name:"Jess",cx:-1.0115122224568758,cy:-3.6651165310105203,cz:.125,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Pyramid",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG","2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u1sPtasg3hWUinAjQbYwBP",rise:1.3063523363004892,ceiling:!1},{type:"Window",cx:.023873137489038417,cy:.1,cz:.3595234970910072,lx:.5252090247588448,ly:.2,lz:.11766223541160228,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"62Gv8U29wFJyJf1vgeLMyo",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,frame:!0,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Wall",cx:-6.114654382048409,cy:.32019837609535623,cz:0,lx:9.600000000000001,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-7.214654382048406,-5.779801623904644,0],rightPoint:[-7.214654382048404,3.820198376095357,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"moXtDnyecvwRem92AzKP6s",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:5.700000000000008,cy:-2.6500000000000012,cz:0,lx:3.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[8,-2.5,0],rightPoint:[8,1,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"n3Fbp8o59RXvpMXPY1s1Sm",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:5.710429595506894,cy:3.3385814547866905,cz:0,lx:3.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[7.210429595506889,1.3885814547866906,0],rightPoint:[7.210429595506889,4.88858145478669,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"vhwBgsvb2XNRoUeLKEqhYZ",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:-.25,cy:-4.660000000000009,cz:0,lx:11.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-6,-7,0],rightPoint:[5.5,-7,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"wSthZNuu3hKxPyS8LHSGvS",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:-.211862519698188,cy:5.176033006265223,cz:0,lx:11.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-8.76186251969819,5.476033006265222,0],rightPoint:[2.7381374803018104,5.476033006265222,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"um8H4fZzRuLbZZ81bgs5nP",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Door",cx:0,cy:0,cz:-.34805186284300194,lx:.4774627497807679,ly:0,lz:.3038962743139961,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"h5Bd5QDcL7vWMTHPSCDuBD",doorType:"Default",archHeight:1,filled:!0},{type:"Tree",name:"Fan Palm",cx:2.7985631567413556,cy:-10.731117262084023,cz:0,lx:6.375358320482912,lz:8.451212523084012,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"iQhcHctqyRJaG4XFZS4XMk",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"ddvCooK4VAFN7dUMWPpapB",leftRidgeLength:3,rightRidgeLength:3,rise:1.4109420933443069,ceiling:!1},{type:"Flower",name:"Peony",cx:7.023550381410839,cy:-3.8877826159721582,cz:.12499999999999956,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hRzYHbdXP7aLP7JcDbRqRR",selected:!1},{type:"Flower",name:"Peony",cx:6.9734776254848185,cy:-2.9143031643660438,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vMLhayUTUD8aHWGMkGHz6W",selected:!1},{type:"Flower",name:"Peony",cx:6.9889157221008045,cy:-1.8856467808244108,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aKoXDkCANHQbTt7sp6H4cD",selected:!1},{type:"Flower",name:"Peony",cx:7.056609460752512,cy:2.106696532214023,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"drvWi4itbJZhSYfhzMLFUz",selected:!1},{type:"Flower",name:"Peony",cx:7.073130172902122,cy:3.1951278306332282,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3XQg1jKjV5dafQKCUY9Tom",selected:!1},{type:"Flower",name:"Peony",cx:6.831179450888563,cy:4.436138900477424,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7ETHmh5VY9WD7DqvsYegAD",selected:!1},{type:"Tree",name:"Fan Palm",cx:-3.064329828704058,cy:-11.205145732983894,cz:4440892098500626e-31,lx:6.375358320482912,lz:8.451212523084012,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"stqfKSZKDeaDe1syQCZ2RQ",selected:!1},{type:"Tree",name:"Fan Palm",cx:-10.213746832393127,cy:-10.383228886165,cz:-4440892098500626e-31,lx:6.375358320482912,lz:8.451212523084012,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"u5zC3LfHnyukcnd2TZGm5n",selected:!1},{type:"Human",name:"Jade",cx:4.6162547175937405,cy:.8236142952720673,cz:.125,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kEK1sks1vjBNeG9bYUByB6",selected:!1,ly:.48},{type:"Human",name:"Jaye",cx:4.113865624208955,cy:-.1569064565752818,cz:.125,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jiL3321sgunb78Yp2wx7LZ",selected:!1,ly:.55},{type:"Human",name:"Jack",cx:2.270983153500868,cy:-5.647402265265438,cz:.125,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qKXJTHDFWk1Be3UB18FicH",selected:!1,ly:.42},{type:"Human",name:"Jeanette",cx:6.811654467665146,cy:.3288410550941858,cz:.12500000000000044,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jdNC43ZSdnd8zSCxaT42uJ",selected:!1,ly:.4},{type:"Human",name:"Jedi",cx:4.3803812097281964,cy:-6.219962402856187,cz:.12500000000000044,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tktL4bCeJqmadSREQxqYZf",selected:!1,ly:.56},{type:"Human",name:"Jaah",cx:8.073408817436135,cy:-2.861373653368049,cz:.125,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3tNBEAxUt3DLTZFUWrkT43",selected:!1,ly:.74},{type:"Human",name:"Jena",cx:5.650342532886793,cy:-5.869419038331923,cz:.125,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jbcUSTcV9ETtNTun9qHy9c",selected:!1,ly:.695},{type:"Human",name:"Jennifer",cx:6.650342532886793,cy:-5.869419038331923,cz:.125,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6mEiayfKLXRKd6HoatZeT7",selected:!1,ly:.45},{type:"Human",name:"Jeff",cx:8.281124000346418,cy:-.21288109922245724,cz:.125,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"o9nFAFEjnDEDMLNsibYbMM",selected:!1,ly:.6},{type:"Human",name:"Jacqueline",cx:8.774300454275942,cy:-3.11382005301836,cz:.12499999999999956,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9kJpcRTmPtd11noXLWWsGH",selected:!1,ly:.43},{type:"Human",name:"Joey",cx:5.394689962250994,cy:-6.419034150551809,cz:.12500000000000044,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wMtjHPExCprVrQ6rgijhKz",selected:!1,ly:.462},{type:"Human",name:"Jett",cx:5.607500871784192,cy:-7.300972318306286,cz:.12500000000000044,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tfCgFHPgnZKoKRfd18qKeP",selected:!1,ly:.6},{type:"Human",name:"John",cx:7.617007740588695,cy:-5.315039692166635,cz:.125,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3NBaVzParvnoX1VTgD2qhi",selected:!1,ly:.6},{type:"Human",name:"Judd",cx:8.557509471799634,cy:-7.331160131258592,cz:.125,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gM888A8u94AD92SprN4wbj",selected:!1,ly:.544},{type:"Human",name:"Joan",cx:5.580895600535009,cy:10.995552502214208,cz:0,lx:1.7,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1j9fkBAMPQ7exCAX2P7fF1",selected:!1,ly:1.7},{type:"Human",name:"Joel",cx:6.580895600535009,cy:10.995552502214208,cz:0,lx:1.8,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3SfQXzZu7J7mi1JmUBYxFc",selected:!1,ly:1.8},{type:"Human",name:"June",cx:9.253027066264448,cy:-1.8207404946549808,cz:.125,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uiRD36Lx6DhqS1L8GSmo2f",selected:!1,ly:.65},{type:"Human",name:"Juro",cx:7.94102921033523,cy:-5.9229770250984926,cz:.12500000000000044,lx:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2LZ8A82RZWiecfd18pDMu3",selected:!1,ly:.494},{type:"Human",name:"Jamelia",cx:7.019233078838581,cy:-6.865958327348711,cz:.125,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nArb1Wy1pTTLTAwpfD1gxv",selected:!1,ly:.65},{type:"Human",name:"Jiya",cx:6.536125724548311,cy:-7.090427106555895,cz:.125,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3rhHbB9NPHbS5kJ4toDf75",selected:!1,ly:.6},{type:"Human",name:"Jumapili",cx:4.710047052887569,cy:-7.365082439159079,cz:.12500000000000044,lx:.75,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2ydVQyK8TCn9PXCMXcCTEy",selected:!1,ly:.75},{type:"Human",name:"James",cx:8.638930109856844,cy:-4.382295505716076,cz:.12500000000000044,lx:.472,ly:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ucP3AmMZpFLmiVbQL9CJRg",selected:!1},{type:"Human",name:"Jaya",cx:8.430115188508257,cy:-4.95104947778114,cz:.125,lx:.6,ly:.6,lz:1.55,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tSdmVjv6FH3XWNZ5eajwUB",selected:!1},{type:"Human",name:"Jocelyn",cx:9.099153262139186,cy:1.6734195388718494,cz:.125,lx:.4,ly:.4,lz:1.72,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oY9mHLD2TnGtS48tFX7msv",selected:!1},{type:"Human",name:"Julia",cx:8.50369110484068,cy:-5.75207005231741,cz:.125,lx:.43,ly:.43,lz:1.71,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"noQp7pbZpEPcCC5Bwy2Ds5",selected:!1},{type:"Human",name:"Julio",cx:6.3276841954899155,cy:-7.497137528054779,cz:.12500000000000044,lx:.5,ly:.5,lz:1.76,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"86gZdR7TufwZSuihX2WNJZ",selected:!1},{type:"Human",name:"Jose",cx:4.085694603550463,cy:-9.392938952651445,cz:0,lx:2,ly:2,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"pTRxrEpSAWLBc3BhSmJurU",selected:!1},{type:"Human",name:"Joseph",cx:4.70285983370786,cy:-8.668392524889338,cz:8881784197001252e-31,lx:.6,ly:.6,lz:1.88,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"qx4Vz41aeQtxbcayMgdcfb",selected:!1},{type:"Light",decay:2,distance:5,intensity:3,color:"#ffff99",cx:.0032094235984929786,cy:0,cz:-.15034969489506517,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[1,-2220446049250313e-31,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"7ZdVSQw5Udf8Sk6TxfRr7E",selected:!1},{type:"Human",name:"Jill",cx:9.085367232279435,cy:2.675249483795916,cz:.125,lx:.42,ly:.42,lz:1.71,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tnutvhGAiQivDEaTbwWokd",selected:!1},{type:"Human",name:"Jane",cx:10.315104916263296,cy:-5.841074350867604,cz:0,lx:.4,ly:.4,lz:1.67,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"2qCeCbYUD9ZAWR8LaSwSBc",selected:!1},{type:"Human",name:"Judy",cx:8.894992472252287,cy:-.05735797632890183,cz:.125,lx:.41,ly:.41,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"evvFN1Y5c55LCjm2Zs4RPR",selected:!1},{type:"Human",name:"Jonathon",cx:7.865481936696703,cy:-8.800651006432007,cz:-4440892098500626e-31,lx:.6,ly:.6,lz:1.9,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"cPGv26A3o2hSuwc8DPUQ6y",selected:!1},{type:"Human",name:"Joshua",cx:9.361559767195017,cy:-2.653290992466755,cz:.12499999999999956,lx:.5,ly:.5,lz:1.79,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rd5u6niG5wuUyGxwjj9FrQ",selected:!1},{type:"Human",name:"Justin",cx:8.841054844860178,cy:-3.9407835630247803,cz:.125,lx:.6,ly:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nctqWUAWcyYHT4SGzerSs4",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.5,y:-.5},{x:-.5,y:-.25},{x:.5,y:-.25},{x:.5,y:-.5}],parentId:"8XDG3EHsQoX26MhuzwMYUM",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:2,id:"bcBZb3U93o5F2jxgHWz66U",text:"Welcome to Moosehorn State Park",fontSize:.5,fontColor:"gold",fontOutlineColor:"white",fontOutlineWidth:0,fontStrokeWidth:.01,noOutline:!1,textureType:"Polygon Texture #9"}],N5n=86,U5n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.150676678462785,4.331280702823742,433147322558565e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.150676678462785,4.331130696160679,150],theme:"Lake",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[16.52949133040242,-6.908469489524304,2.3292876283609294],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.84710869799634,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.4679506390771288,.22749806834114614,2.3292876283609285],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},B5n=!1,j5n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Y5n=1,O5n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},_5n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},V5n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},G5n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},X5n="Unknown",J5n=null,K5n=null,q5n=null,$5n=null,Q5n=[],Z5n=3,e9n=3,t9n={docid:M5n,time:I5n,timestamp:z5n,userid:D5n,owner:E5n,email:k5n,version:F5n,world:L5n,elements:W5n,sceneRadius:N5n,view:U5n,animate24Hours:B5n,graphState:j5n,evolutionMethod:Y5n,solarPanelArrayLayoutParams:O5n,solarPanelArrayLayoutConstraints:_5n,evolutionaryAlgorithmState:V5n,economicsParams:G5n,modelType:X5n,modelAuthor:J5n,modelLabel:K5n,modelDescription:q5n,designProjectType:$5n,notes:Q5n,minimumNavigationMoveSpeed:Z5n,minimumNavigationTurnSpeed:e9n},n9n="mW1ttJThpPJ2JKrSAT7EUP",o9n="02/04/2023 01:03 pm",i9n=1675533820168,r9n="QWecNcxhyvP6j6sBN11hBsfZDau1",a9n=null,l9n=null,s9n={latitude:31.29833989999999,pvGridCellSize:.5,timesPerHour:4,longitude:120.58319,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Suzhou, Jiangsu, China",date:"4/22/2022, 3:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},c9n=[{cy:-.059966096117782364,normal:[0,0,1],lz:.08187919001653333,ly:13.340881459022976,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.23469319781280173,cz:.05,rotation:[0,0,0],lx:13.149110146454165,selected:!1,parentId:"Ground",locked:!1},{type:"Wall",cx:-5.704543355403865,cy:.218424664108547,cz:0,lx:5.274193548387098,ly:.3,lz:4,relativeAngle:-1.5707963267948972,leftPoint:[-5.704543355403863,2.855521438302096,.08187919001653333],rightPoint:[-5.704543355403865,-2.418672110085002,.08187919001653333],leftJoints:["phev4gQxjvHYwHg819vEHB"],rightJoints:["kdCvwj5JgamPrPyPvrdvAm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4xuyJn2DKfBNBFjKWxSNkV",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-4.031115363517457,cy:4.320575201742957,cz:0,lx:4.448255286649458,ly:.3,lz:4,relativeAngle:-2.4224905134396697,leftPoint:[-2.357687371631047,5.785628965183817,.08187919001653333],rightPoint:[-5.7045433554038665,2.855521438302096,.08187919001653333],leftJoints:["98ta6USvR1CGq17YJbnQS1"],rightJoints:["4xuyJn2DKfBNBFjKWxSNkV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phev4gQxjvHYwHg819vEHB",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-4.031115363517457,cy:-4.176736626214033,cz:0,lx:4.854339125731116,ly:.3,lz:4,relativeAngle:-.8100578027781637,leftPoint:[-5.704543355403865,-2.418672110085002,.08187919001653333],rightPoint:[-2.357687371631049,-5.934801142343065,.08187919001653333],leftJoints:["4xuyJn2DKfBNBFjKWxSNkV"],rightJoints:["nw6raZBAGuWkF5ubuLU8xD"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kdCvwj5JgamPrPyPvrdvAm",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:4.33602459591459,cy:-4.176736626214031,cz:0,lx:4.854339125731116,ly:.3,lz:4,relativeAngle:.8100578027781632,leftPoint:[2.66259660402818,-5.934801142343061,.08187919001653333],rightPoint:[6.0094525878009994,-2.4186721100849997,.08187919001653333],leftJoints:["nw6raZBAGuWkF5ubuLU8xD"],rightJoints:["iV9VtU8uZo4yDiYJfPcmdy"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"npYCeoFyusHZjnvHSA5MHT",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.15245461619856626,cy:5.785628965183817,cz:0,lx:5.020283975659227,ly:.3,lz:4,relativeAngle:3.1415926535897927,leftPoint:[2.66259660402818,5.7856289651838155,.08187919001653333],rightPoint:[-2.357687371631047,5.785628965183817,.08187919001653333],leftJoints:["p7LQvPgC6EYePDocPwo9xL"],rightJoints:["phev4gQxjvHYwHg819vEHB"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"98ta6USvR1CGq17YJbnQS1",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.0094525878009994,cy:.21842466410854633,cz:0,lx:5.274193548387096,ly:.3,lz:4,relativeAngle:1.5707963267948966,leftPoint:[6.0094525878009994,-2.418672110085002,.08187919001653333],rightPoint:[6.0094525878009994,2.8555214383020946,.08187919001653333],leftJoints:["npYCeoFyusHZjnvHSA5MHT"],rightJoints:["p7LQvPgC6EYePDocPwo9xL"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iV9VtU8uZo4yDiYJfPcmdy",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.1526933276969229,cy:-5.934801142343063,cz:0,lx:5.021429002185668,ly:.3,lz:4,leftJoints:["kdCvwj5JgamPrPyPvrdvAm"],rightJoints:["npYCeoFyusHZjnvHSA5MHT"],leftPoint:[-2.357687371631049,-5.934801142343065,.08187919001653333],rightPoint:[2.6630740270248947,-5.934801142343061,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"nw6raZBAGuWkF5ubuLU8xD",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:4.33602459591459,cy:4.3205752017429555,cz:0,lx:4.448255286649457,ly:.3,lz:4,leftJoints:["iV9VtU8uZo4yDiYJfPcmdy"],rightJoints:["98ta6USvR1CGq17YJbnQS1"],leftPoint:[6.0094525878009994,2.8555214383020946,.08187919001653333],rightPoint:[2.66259660402818,5.7856289651838155,.08187919001653333],relativeAngle:2.4224905134396693,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"p7LQvPgC6EYePDocPwo9xL",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Human",name:"Jack",cx:-4.760459270800288,cy:-2.5348481679853134,cz:.1,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"wvAyR5FHsaRG2ToXMAXh87",selected:!1,ly:.42,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Mansard",roofStructure:"Default",wallsId:["npYCeoFyusHZjnvHSA5MHT"],ridgeWidth:1,textureType:"No Roof Texture",color:"#8e826f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cqv2PuQ6Ct8FunGC5Rsg5E",locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Wall",cx:-4.710361945157022,cy:1.4641075126787761,cz:0,lx:4.0741991827809585,ly:.3,lz:7.5,leftJoints:["mNbBhBDTayeXWAoDE8ip6A"],rightJoints:["giioZ24KGCk6oJoadGeQJg"],leftPoint:[-4.710361945157022,3.5012071040692554,.08187919001653333],rightPoint:[-4.7103619451570236,-.5729920787117029,.08187919001653333],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"fKn6ccVkMdWqQghcJAFmEQ",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-3.3998110672719446,cy:4.632929099286187,cz:0,lx:3.463142086593125,ly:.3,lz:7.5,leftJoints:["fPGQ97jmfXKFKCgzdf8tK2"],rightJoints:["fKn6ccVkMdWqQghcJAFmEQ"],leftPoint:[-2.0892601893868656,5.7646510945031215,.08187919001653333],rightPoint:[-4.7103619451570236,3.5012071040692554,.08187919001653333],relativeAngle:-2.429286367572432,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mNbBhBDTayeXWAoDE8ip6A",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-3.399811067271945,cy:-1.9310584729720213,cz:0,lx:3.774592923611536,ly:.3,lz:7.5,leftJoints:["fKn6ccVkMdWqQghcJAFmEQ"],rightJoints:["2Ecm8hWzZfEbStzt675QWs"],leftPoint:[-4.7103619451570236,-.5729920787117029,.08187919001653333],rightPoint:[-2.089260189386867,-3.2891248672323394,.08187919001653333],relativeAngle:-.8032015766363013,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"giioZ24KGCk6oJoadGeQJg",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:3.152943322153453,cy:-1.9310584729720182,cz:0,lx:3.7745929236115394,ly:.3,lz:7.5,leftJoints:["2Ecm8hWzZfEbStzt675QWs"],rightJoints:["dJmNmvxvjdHh3vPxEXp335"],leftPoint:[1.8423924442683726,-3.289124867232336,.08187919001653333],rightPoint:[4.463494200038532,-.5729920787116995,.08187919001653333],relativeAngle:.8032015766363004,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"oq3EhiCKFwwA92Ur9WnxEC",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-.12343387255924654,cy:5.7646510945031215,cz:0,lx:3.931652633655238,ly:.3,lz:7.5,leftJoints:["mPpYQCigCupk4wWxmYLiGt"],rightJoints:["mNbBhBDTayeXWAoDE8ip6A"],leftPoint:[1.8423924442683726,5.7646510945031215,.08187919001653333],rightPoint:[-2.0892601893868656,5.7646510945031215,.08187919001653333],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"fPGQ97jmfXKFKCgzdf8tK2",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:4.463494200038532,cy:1.4641075126787761,cz:0,lx:4.0741991827809585,ly:.3,lz:7.5,leftJoints:["oq3EhiCKFwwA92Ur9WnxEC"],rightJoints:["mPpYQCigCupk4wWxmYLiGt"],leftPoint:[4.463494200038532,-.5729920787117029,.08187919001653333],rightPoint:[4.463494200038532,3.5012071040692554,.08187919001653333],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"dJmNmvxvjdHh3vPxEXp335",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-.12343387255924654,cy:-3.289124867232336,cz:0,lx:3.931652633655238,ly:.3,lz:7.5,leftJoints:["giioZ24KGCk6oJoadGeQJg"],rightJoints:["oq3EhiCKFwwA92Ur9WnxEC"],leftPoint:[-2.0892601893868656,-3.289124867232336,.08187919001653333],rightPoint:[1.8423924442683726,-3.289124867232336,.08187919001653333],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"2Ecm8hWzZfEbStzt675QWs",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:3.152943322153453,cy:4.632929099286187,cz:0,lx:3.4631420865931273,ly:.3,lz:7.5,leftJoints:["dJmNmvxvjdHh3vPxEXp335"],rightJoints:["fPGQ97jmfXKFKCgzdf8tK2"],leftPoint:[4.463494200038532,3.5012071040692554,.08187919001653333],rightPoint:[1.8423924442683726,5.7646510945031215,.08187919001653333],relativeAngle:2.4292863675724323,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mPpYQCigCupk4wWxmYLiGt",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{id:"56kE8YxGS5vZT15DARe55m",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["oq3EhiCKFwwA92Ur9WnxEC"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:.07312548836645227,cy:-1.3848958277284682,cz:.05,lx:9.464156224937316,ly:12.896297667676603,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eTosNnXwuFCRGqZWfF7TsY",selected:!1,locked:!1},{type:"Wall",cx:-3.4962075675486224,cy:2.7874111204970315,cz:0,lx:2.8892970239124907,ly:.3,lz:11,leftJoints:["wg8fH2jxgcfzoEQ3iyHRk5"],rightJoints:["bzdCKkoEsHKfg6PMf8sKa9"],leftPoint:[-3.4962075675486224,4.232059632453278],rightPoint:[-3.496207567548624,1.3427626085407864],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mMPeuLSFxt2hhKw1jzoAXX",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-2.5042315840033176,cy:5.0346421390956335,cz:0,lx:2.5519835672660642,ly:.3,lz:11,leftJoints:["5SAdNQtzr2xU5rw3LJPFUt"],rightJoints:["mMPeuLSFxt2hhKw1jzoAXX"],leftPoint:[-1.5122556004580119,5.837224645737991],rightPoint:[-3.496207567548624,4.232059632453278],relativeAngle:-2.461342900204164,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"wg8fH2jxgcfzoEQ3iyHRk5",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-2.5042315840033185,cy:.3796636005699572,cz:0,lx:2.7651951476053704,ly:.3,lz:11,leftJoints:["mMPeuLSFxt2hhKw1jzoAXX"],rightJoints:["d6PNwTS2wJV1Koozu7wRCJ"],leftPoint:[-3.496207567548624,1.3427626085407864],rightPoint:[-1.5122556004580128,-.5834354074008719],relativeAngle:-.7706289724283263,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"bzdCKkoEsHKfg6PMf8sKa9",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:2.455648333723217,cy:.37966360056995985,cz:0,lx:2.765195147605374,ly:.3,lz:11,leftJoints:["d6PNwTS2wJV1Koozu7wRCJ"],rightJoints:["1cSqXyGASoNdwCM2MQgYAg"],leftPoint:[1.4636723501779088,-.5834354074008692],rightPoint:[3.4476243172685246,1.3427626085407889],relativeAngle:.770628972428325,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"tdJA55oXTxjRMFMd2yzHeU",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-.024291625140051565,cy:5.837224645737991,cz:0,lx:2.9759279506359206,ly:.3,lz:11,leftJoints:["5zeSH5hMhT3UJzZ2VMSrtV"],rightJoints:["wg8fH2jxgcfzoEQ3iyHRk5"],leftPoint:[1.4636723501779088,5.837224645737991],rightPoint:[-1.5122556004580119,5.837224645737991],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"5SAdNQtzr2xU5rw3LJPFUt",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:3.4476243172685246,cy:2.7874111204970315,cz:0,lx:2.8892970239124907,ly:.3,lz:11,leftJoints:["tdJA55oXTxjRMFMd2yzHeU"],rightJoints:["5zeSH5hMhT3UJzZ2VMSrtV"],leftPoint:[3.4476243172685246,1.3427626085407864],rightPoint:[3.4476243172685246,4.232059632453278],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"1cSqXyGASoNdwCM2MQgYAg",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-.024291625140051565,cy:-.5834354074008692,cz:0,lx:2.9759279506359206,ly:.3,lz:11,leftJoints:["bzdCKkoEsHKfg6PMf8sKa9"],rightJoints:["tdJA55oXTxjRMFMd2yzHeU"],leftPoint:[-1.5122556004580119,-.5834354074008692],rightPoint:[1.4636723501779088,-.5834354074008692],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"d6PNwTS2wJV1Koozu7wRCJ",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:2.455648333723217,cy:5.0346421390956335,cz:0,lx:2.551983567266067,ly:.3,lz:11,leftJoints:["1cSqXyGASoNdwCM2MQgYAg"],rightJoints:["5SAdNQtzr2xU5rw3LJPFUt"],leftPoint:[3.4476243172685246,4.232059632453278],rightPoint:[1.4636723501779088,5.837224645737991],relativeAngle:2.4613429002041647,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"5zeSH5hMhT3UJzZ2VMSrtV",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{id:"kXXsWtzhvHq2DAaXZEi8ju",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["tdJA55oXTxjRMFMd2yzHeU"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:-.1382893636180098,cy:-2.8344198053167737,cz:.05,lx:7.240655122656252,ly:11.908488628124994,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"67a4Cj7mTjUcKpS9UXcYMf",selected:!1,locked:!1},{type:"Wall",cx:-2.305386933936208,cy:3.5406126703672625,cz:0,lx:1.8992997541814245,ly:.3,lz:14.5,leftJoints:["3uhgX6EhXdVFMDgjKuTvWJ"],rightJoints:["6a5FbNhUegAfkm1WbCa4hr"],leftPoint:[-2.305386933936208,4.4902625474579745,.08187919001653333],rightPoint:[-2.305386933936208,2.59096279327655,.08187919001653333],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"m9CmZzHka279S6PzqcJDms",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:-1.6457325150805282,cy:5.017845812508369,cz:0,lx:1.6893644412938968,ly:.3,lz:14.5,leftJoints:["cj1x2iAzLBRGYCY4fbDa9u"],rightJoints:["m9CmZzHka279S6PzqcJDms"],leftPoint:[-.9860780962248481,5.545429077558764,.08187919001653333],rightPoint:[-2.305386933936208,4.4902625474579745,.08187919001653333],relativeAngle:-2.466981384386693,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"3uhgX6EhXdVFMDgjKuTvWJ",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:-1.6457325150805282,cy:1.9578628752160765,cz:0,lx:1.8286163715377841,ly:.3,lz:14.5,leftJoints:["m9CmZzHka279S6PzqcJDms"],rightJoints:["pLBnaJicNdNqvsWh4XB2xC"],leftPoint:[-2.305386933936208,2.59096279327655,.08187919001653333],rightPoint:[-.9860780962248481,1.3247629571556034,.08187919001653333],relativeAngle:-.7648600253804781,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"6a5FbNhUegAfkm1WbCa4hr",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:1.6525395791978759,cy:1.9578628752160787,cz:0,lx:1.8286163715377868,ly:.3,lz:14.5,leftJoints:["pLBnaJicNdNqvsWh4XB2xC"],rightJoints:["x2WKNCsnTm3wuwLHXfgCEX"],leftPoint:[.9928851603421944,1.3247629571556052,.08187919001653333],rightPoint:[2.312193998053557,2.5909627932765527,.08187919001653333],relativeAngle:.7648600253804773,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"1WEB2uNx8HTmooMiMdCuRb",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:.0034035320586731643,cy:5.545429077558764,cz:0,lx:1.9789632565670425,ly:.3,lz:14.5,leftJoints:["caQUPNBf9AQWUAkvEEKBK9"],rightJoints:["3uhgX6EhXdVFMDgjKuTvWJ"],leftPoint:[.9928851603421944,5.545429077558764,.08187919001653333],rightPoint:[-.9860780962248481,5.545429077558764,.08187919001653333],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"cj1x2iAzLBRGYCY4fbDa9u",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:2.312193998053557,cy:3.5406126703672625,cz:0,lx:1.8992997541814245,ly:.3,lz:14.5,leftJoints:["1WEB2uNx8HTmooMiMdCuRb"],rightJoints:["caQUPNBf9AQWUAkvEEKBK9"],leftPoint:[2.312193998053557,2.59096279327655,.08187919001653333],rightPoint:[2.312193998053557,4.4902625474579745,.08187919001653333],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"x2WKNCsnTm3wuwLHXfgCEX",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:.0034035320586731643,cy:1.3247629571556052,cz:0,lx:1.9789632565670425,ly:.3,lz:14.5,leftJoints:["6a5FbNhUegAfkm1WbCa4hr"],rightJoints:["1WEB2uNx8HTmooMiMdCuRb"],leftPoint:[-.9860780962248481,1.3247629571556052,.08187919001653333],rightPoint:[.9928851603421944,1.3247629571556052,.08187919001653333],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"pLBnaJicNdNqvsWh4XB2xC",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:1.6525395791978759,cy:5.017845812508369,cz:0,lx:1.6893644412938993,ly:.3,lz:14.5,leftJoints:["x2WKNCsnTm3wuwLHXfgCEX"],rightJoints:["cj1x2iAzLBRGYCY4fbDa9u"],leftPoint:[2.312193998053557,4.4902625474579745,.08187919001653333],rightPoint:[.9928851603421944,5.545429077558764,.08187919001653333],relativeAngle:2.4669813843866937,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"caQUPNBf9AQWUAkvEEKBK9",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{id:"pHdzF3ngGjARqDaSnrPCbJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["1WEB2uNx8HTmooMiMdCuRb"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:-.12202054492778736,cy:-3.6786752972065244,cz:.05,lx:4.62580908783712,ly:11.244705561904492,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mZUacXWS8C3iqt3FX2P392",selected:!1,locked:!1},{type:"Wall",cx:-2.1374696253712813,cy:.6843845582744623,cz:0,lx:1.3196288700603707,ly:.3,lz:18,leftJoints:["nDHpcsgkV9peBKJpWVGgfd"],rightJoints:["k2jx5wJhEXwRbUKXtsBVsi"],leftPoint:[-2.1374696253712813,1.3441989933046479,.2],rightPoint:[-2.1374696253712813,.02457012324427721,.2],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"9D7SuFhdAmbL3s4qJSt14J",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-1.7017113613971415,cy:1.7107625683214178,cz:0,lx:1.1388663119977358,ly:.3,lz:18,leftJoints:["rhFdf5zdJe6JyTbbEFrxS6"],rightJoints:["9D7SuFhdAmbL3s4qJSt14J"],leftPoint:[-1.2659530974230018,2.0773261433381873,.2],rightPoint:[-2.1374696253712813,1.3441989933046479,.2],relativeAngle:-2.442224676045199,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"nDHpcsgkV9peBKJpWVGgfd",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-1.7017113613971415,cy:-.41530616677584553,cz:0,lx:1.2383479561797213,ly:.3,lz:18,leftJoints:["9D7SuFhdAmbL3s4qJSt14J"],rightJoints:["k1Zz3xzbmLW17cj6uWBzfc"],leftPoint:[-2.1374696253712813,.02457012324427721,.2],rightPoint:[-1.2659530974230018,-.8551824567959683,.2],relativeAngle:-.790101033639045,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"k2jx5wJhEXwRbUKXtsBVsi",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.47707995847355766,cy:-.4153061667758444,cz:0,lx:1.2383479561797235,ly:.3,lz:18,leftJoints:["k1Zz3xzbmLW17cj6uWBzfc"],rightJoints:["bQ466SAJMAnn6fakoD16LP"],leftPoint:[.041321694499416806,-.8551824567959676,.2],rightPoint:[.9128382224476985,.024570123244278763,.2],relativeAngle:.7901010336390442,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"6akTVpZG7AbvMgXaG1q3Nh",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-.6123157014617926,cy:2.0773261433381873,cz:0,lx:1.3072747919224188,ly:.3,lz:18,leftJoints:["cGGqfipx5C3U3jy37qBmH3"],rightJoints:["nDHpcsgkV9peBKJpWVGgfd"],leftPoint:[.041321694499416806,2.0773261433381873,.2],rightPoint:[-1.2659530974230018,2.0773261433381873,.2],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"rhFdf5zdJe6JyTbbEFrxS6",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.9128382224476985,cy:.6843845582744623,cz:0,lx:1.3196288700603707,ly:.3,lz:18,leftJoints:["6akTVpZG7AbvMgXaG1q3Nh"],rightJoints:["cGGqfipx5C3U3jy37qBmH3"],leftPoint:[.9128382224476985,.02457012324427721,.2],rightPoint:[.9128382224476985,1.3441989933046479,.2],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"bQ466SAJMAnn6fakoD16LP",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-.6123157014617926,cy:-.8551824567959676,cz:0,lx:1.3072747919224188,ly:.3,lz:18,leftJoints:["k2jx5wJhEXwRbUKXtsBVsi"],rightJoints:["6akTVpZG7AbvMgXaG1q3Nh"],leftPoint:[-1.2659530974230018,-.8551824567959676,.2],rightPoint:[.041321694499416806,-.8551824567959676,.2],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"k1Zz3xzbmLW17cj6uWBzfc",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.47707995847355766,cy:1.7107625683214178,cz:0,lx:1.1388663119977376,ly:.3,lz:18,leftJoints:["bQ466SAJMAnn6fakoD16LP"],rightJoints:["rhFdf5zdJe6JyTbbEFrxS6"],leftPoint:[.9128382224476985,1.3441989933046479,.2],rightPoint:[.041321694499416806,2.0773261433381873,.2],relativeAngle:2.4422246760452,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"cGGqfipx5C3U3jy37qBmH3",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Foundation",cx:.5137640713758937,cy:-.8247397257024911,cz:.1,lx:17.47075427773578,ly:17.57589746990512,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"t3DvVsTxEUmLPJ5qyzz1Cq",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.3982929957049007,ly:.3,lz:.75,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nw6raZBAGuWkF5ubuLU8xD",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kJ99yCt5NwrUx6aeyLQD19",opacity:0,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.04022745849176903,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"k1Zz3xzbmLW17cj6uWBzfc",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"2i6NJTsHZcvu5DZpjL2nTf",opacity:0,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.049787851751147326,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"827buPg2up7S5NJpu1bTwc",parentId:"6akTVpZG7AbvMgXaG1q3Nh",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.03092128411947934,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"696xgzPkcYLSq7T7Qw1kVp",parentId:"bQ466SAJMAnn6fakoD16LP",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.03385386298551652,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jCNeHwVCUvbqQjRxPEpVWh",parentId:"k2jx5wJhEXwRbUKXtsBVsi",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.06228256362044849,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"x8xMT8Y3CFHpSTTtRuQJEH",parentId:"cGGqfipx5C3U3jy37qBmH3",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02834774148633909,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nppApRrEXRyeUd9vJfwuSz",parentId:"rhFdf5zdJe6JyTbbEFrxS6",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.02951470439825077,cy:.1,cz:.44184392259435495,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"wGQdjaEJAq274XD4qjARvv",parentId:"nDHpcsgkV9peBKJpWVGgfd",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02377711455299869,cy:.1,cz:.4427721444522278,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bfx8vmpw2KKDieuVcLZMqt",parentId:"9D7SuFhdAmbL3s4qJSt14J",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2543459692852634,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"b18KSu7muEcNBoRo9BCFtR",parentId:"2Ecm8hWzZfEbStzt675QWs",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.005291630779154989,cy:.1,cz:.36666666666666664,lx:.2543459692852634,ly:.3,lz:.20000000000000007,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6ehjjnYKcMRY6uDm39RjZg",parentId:"oq3EhiCKFwwA92Ur9WnxEC",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.00444948057017957,cy:.1,cz:.36666666666666664,lx:.2543459692852634,ly:.3,lz:.20000000000000007,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"beNSFD5YoXGJs5n6HkCEia",parentId:"dJmNmvxvjdHh3vPxEXp335",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:5610195147971379e-32,cy:.1,cz:.3333333333333333,lx:.2887551174614818,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"enXaCvRZY1o42EepsmhAcu",parentId:"mPpYQCigCupk4wWxmYLiGt",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2543459692852634,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"co2nWxWjHSrQ1y3CbewV71",parentId:"fPGQ97jmfXKFKCgzdf8tK2",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2887551174614821,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oAJfvW2Atau2PMDooxnZup",parentId:"mNbBhBDTayeXWAoDE8ip6A",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:272500919767831e-31,cy:.1,cz:.33333333333333326,lx:.24544700814490417,ly:.3,lz:.2666666666666668,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oysyT4xkNku4YbbVaJZRwr",parentId:"fKn6ccVkMdWqQghcJAFmEQ",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2649292308435736,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tfr35CsQ7uYrvJEbNiSm9Z",parentId:"giioZ24KGCk6oJoadGeQJg",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-2007494887994791e-32,cy:.1,cz:.38636363636363646,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aVd2M9mPnyt54bpo1cinGs",parentId:"bzdCKkoEsHKfg6PMf8sKa9",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.01280424424064466,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vEK53nipfn3Fi9zDdjYNwA",parentId:"d6PNwTS2wJV1Koozu7wRCJ",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:20074948879947884e-33,cy:.1,cz:.3863636363636363,lx:.36163812918086014,ly:.3,lz:.1363636363636365,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7a8LzQgQTZT74cAMqSaHG3",parentId:"tdJA55oXTxjRMFMd2yzHeU",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.007766589935909038,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m8mvZULmKJiijiJZQ4Ws2p",parentId:"1cSqXyGASoNdwCM2MQgYAg",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.015106961898701282,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2yZN5brch6X6VdX7qusThM",parentId:"5zeSH5hMhT3UJzZ2VMSrtV",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.01280424424064466,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6wGZka29sHQXPaM4orSj26",parentId:"5SAdNQtzr2xU5rw3LJPFUt",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.015106961898701494,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tFAKFAeYrHzMpedpoQ4z2J",parentId:"wg8fH2jxgcfzoEQ3iyHRk5",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.007766589935909038,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tsfJ1jgF5hbLvum632wKcR",parentId:"mMPeuLSFxt2hhKw1jzoAXX",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"1tp2T4LDRLMNEK26RseK5r",parentId:"pLBnaJicNdNqvsWh4XB2xC",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.020773233582139315,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tgrkWzLGJa5Q9w4cDnLRRp",parentId:"1WEB2uNx8HTmooMiMdCuRb",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.01059737146443586,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"o3JTZDoUCh4i6VTFAXTRi5",parentId:"x2WKNCsnTm3wuwLHXfgCEX",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"86L95Fnu4u89jayQZWX5Xw",parentId:"cj1x2iAzLBRGYCY4fbDa9u",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.043311747423323166,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vNmcUsYJDkYimiCfMHdNFB",parentId:"3uhgX6EhXdVFMDgjKuTvWJ",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.01059737146443586,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"dDi3Fw7AsTes6zvNGEEHiL",parentId:"m9CmZzHka279S6PzqcJDms",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02077323358213971,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bAVGu4K7Tu42BYzdxoX44L",parentId:"6a5FbNhUegAfkm1WbCa4hr",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.4120025297364816,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"qGTqwRerdw925V3dp1Zxqj",parentId:"npYCeoFyusHZjnvHSA5MHT",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.3792048929663609,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"76hrnZkDNKTnFBf136Yypd",parentId:"iV9VtU8uZo4yDiYJfPcmdy",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-24958617549610238e-33,cy:.1,cz:-.125,lx:.44961448278442956,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4dQWwkYdrjgXGYUZinRtRU",parentId:"p7LQvPgC6EYePDocPwo9xL",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.39838383838383856,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vetMY2wce8PY7wZMnBgYtd",parentId:"98ta6USvR1CGq17YJbnQS1",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.4496144827844295,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"v2Bpx6NQy5wWaCAkP524Kv",parentId:"phev4gQxjvHYwHg819vEHB",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:3157515024163289e-32,cy:.1,cz:-.12499999999999994,lx:.3792048929663607,ly:.3,lz:.7499999999999999,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"rDQtPqhJZVdy7Xh7XJRsb3",parentId:"4xuyJn2DKfBNBFjKWxSNkV",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:8004757157551921e-32,cy:.1,cz:-.125,lx:.4120025297364814,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"e19JPkz5u6tKcbjYUvXegq",parentId:"kdCvwj5JgamPrPyPvrdvAm",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jacqueline",cx:4.255864387589413,cy:-6.242196181277151,cz:.1,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"wfWT37sYApxTzWzUncAoR9",selected:!1,locked:!1,ly:.43},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["6akTVpZG7AbvMgXaG1q3Nh","bQ466SAJMAnn6fakoD16LP","cGGqfipx5C3U3jy37qBmH3","rhFdf5zdJe6JyTbbEFrxS6","nDHpcsgkV9peBKJpWVGgfd","9D7SuFhdAmbL3s4qJSt14J","k2jx5wJhEXwRbUKXtsBVsi","k1Zz3xzbmLW17cj6uWBzfc"],textureType:"No Roof Texture",color:"#8e826f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"rdzur4ggFrcghzk546PTce",locked:!1,rise:.7945305564645331,ceiling:!1},{type:"Tree",name:"Dogwood",cx:7.392171297775102,cy:7.163513110419622,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"jBw9RYvUZrnME36Vm8DaPW",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:6.759545239381245,cy:-2.5910214138353416,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"5kQBFtBdW6bwiFWnzf9wwH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:6.490113616723971,cy:3.8154638360153057,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"2GfJNYSop6f5v7xSek1ytE",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.508512970788757,cy:7.348011777521739,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"adVq8AGmfbAWANd1ERqtLC",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-3.329172186785436,cy:7.377948624483658,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"okSKfXzr6RNLYQU4kZsQEZ",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-7.9394466189209485,cy:4.054958611710656,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"cbRLDrHAkXSVreLWjbyF5V",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-7.819699231073273,cy:-2.2317792502923153,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"buHEZW6R7p71SuhwZZJ2PT",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-3.808161738176137,cy:-6.572622059770561,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"9DD3bFQeXC1bN3n5JNfTHY",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.2690181950934063,cy:-6.572622059770561,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"bnApLQ8V1oJiPKXxDRPxb4",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:7.328345331657704,cy:-6.931864223313587,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"g8PvSEYYsCu2XWBqG3iX5a",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:-7.759825537149433,cy:-6.692369447618235,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"eFc8WGqQzEfKvVgDn3e4Wq",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:-7.459318010176873,cy:7.482898989893004,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"288KLWR7KewUpd13gMeuAi",selected:!1,locked:!1},{type:"Window",cx:.029596929340897304,cy:.1,cz:.42068965517241375,lx:.5327447281361516,ly:.3,lz:.11034482758620694,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:0,normal:[0,0,1],rotation:[0,0,0],parentId:"caQUPNBf9AQWUAkvEEKBK9",foundationId:"mZUacXWS8C3iqt3FX2P392",id:"g8YUeBMeW1DSqfqrvD7Vbk"},{type:"Light",decay:2,distance:10,intensity:2,color:"#fe9200",cx:-.030005590627033965,cy:-.4532425907688764,cz:.5000000074505895,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"qF9C6U2NXL7yTL6tKt4cmM",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#7b64ff",cx:.4305972540929517,cy:.06205523390636515,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"c16cf3Q9umV9K4iATpzZdw",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#68bc00",cx:-.03448954854070917,cy:.43858567895245787,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"kdV7kizuYhPCDkqnpXr6Jf",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#fa28ff",cx:-.44220837093921556,cy:.040360464163231746,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"pCzfVRHLpKFtr7SXEbAF9q",selected:!1}],u9n={yearlyPvYieldPanelX:-67,autoRotate:!1,mapZoom:16,axes:!0,theme:"Grassland",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:66,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-13,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-2.010984368039464,-28.85991180576142,8.94754765614511],panCenter:[-.2875344548235237,.8941760908925925,8.94754765614511],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230189,showInstructionPanel:!0,cameraPosition2D:[.3578976625538651,1.7782818083550982,150],panCenter2D:[.3578976625538651,1.778431815016015,2363573287717466e-21],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:6,evolutionPanelX:-13,evolutionPanelY:8,evolutionPanelRect:{x:0,y:0,width:498,height:340},waterSurface:!1,showMapPanel:!1},d9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},f9n=1,h9n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},p9n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},g9n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:30,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},m9n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},y9n=[],A9n={docid:n9n,time:o9n,timestamp:i9n,userid:r9n,owner:a9n,email:l9n,world:s9n,elements:c9n,view:u9n,graphState:d9n,evolutionMethod:f9n,solarPanelArrayLayoutParams:h9n,solarPanelArrayLayoutConstraints:p9n,evolutionaryAlgorithmState:g9n,economicsParams:m9n,notes:y9n},w9n="8fjimYdFfmatTLYR2DNXvA",v9n="02/04/2023 01:05 pm",x9n=1675533906512,b9n="QWecNcxhyvP6j6sBN11hBsfZDau1",S9n=null,T9n=null,P9n={orthographic:!1,noAnimationForSolarPanelSimulation:!1,discretization:"Approximate",cspGridCellSize:.5,diurnalTemperatureModel:1,sutDaysPerYear:4,address:"Honolulu, HI, USA",sutGridCellSize:1,solarPanelVisibilityGridCellSize:.2,airAttenuationCoefficient:.01,longitude:-157.86620385714326,pvGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",noAnimationForSolarUpdraftTowerSimulation:!1,cameraZoom:43.16939043526371,sutTimesPerHour:4,daysPerYear:12,timesPerHour:4,cspDaysPerYear:4,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},latitude:21.310722676290315,airConvectiveCoefficient:5,name:"default",solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,highestTemperatureTimeInMinutes:900,dustLoss:.05,noAnimationForHeatmapSimulation:!1,noAnimationForSensorDataCollection:!1},C9n=[{solarAbsorberPipe:{},solarPowerTower:{},normal:[0,0,1],rotation:[0,0,1.5707963267948966],color:"#009ce0",ly:24.9333515261897,type:"Foundation",parentId:"Ground",lz:.1,selected:!1,cz:.05,cx:-.9759327650956084,cy:2.7473554645675557,id:"sfVVGvWfY1uFZBwuAeqDnU",solarUpdraftTower:{},lx:10.57622536718512,locked:!1,textureType:"No Foundation Texture"},{showLabel:!1,cz:0,drawSunBeam:!1,cx:-.0173882538930337,color:"#fff",poleRadius:.05,parentId:"sfVVGvWfY1uFZBwuAeqDnU",dailyYield:25.00468094869397,selected:!1,trackerType:"None",orientation:"Portrait",poleSpacing:3,lx:6.944,locked:!1,type:"Solar Panel",rotation:[0,0,1.5707963267948966],ly:3.936,pvModelName:"CS6X-355P-FG",relativeAzimuth:0,poleHeight:1.5,normal:[0,0,1],id:"4bpFrEwZJxbfGUTtn9R1sg",lz:.046,cy:-.3535113399890203,foundationId:"sfVVGvWfY1uFZBwuAeqDnU",tiltAngle:0},{solarAbsorberPipe:{},lz:.1,solarPowerTower:{},rotation:[0,0,-.7853981633974483],locked:!1,cy:3.3785331461228845,type:"Foundation",solarUpdraftTower:{},parentId:"Ground",cz:.05,selected:!1,lx:17.522626722458362,ly:16.217549949540043,normal:[0,0,1],color:"#009ce0",id:"c2gz3bi2QzLErUX4XmgVX7",cx:2.825325314034343,textureType:"No Foundation Texture"},{ly:.1,lz:1.75,selected:!1,textureType:"No Wall Texture",foundationId:"c2gz3bi2QzLErUX4XmgVX7",lineColor:"black",windows:[],leftPoint:[-.41513844869064975,-4.018227675100984,.1],id:"iQCq8L9uGMQTqYvdj9Zg8G",leftJoints:["cSJn7k7dHrZvyJZf7rCR3h"],rotation:[0,0,-.7853981633974483],showLabel:!1,cz:0,rightPoint:[.08486155130934736,-4.01822767510099,.1],lineWidth:.2,color:"#ffffff",rightJoints:["8BLfCN1Rb2sjqzL81nEAF1"],locked:!1,cx:-.16513844869065064,lx:.4999999999999971,roofId:"95ywic4c9x92ks45ZbwSqV",type:"Wall",rightRoofHeight:1.75,cy:-4.01822767510099,leftRoofHeight:1.75,normal:[0,0,1],relativeAngle:6.283185307179577,parentId:"c2gz3bi2QzLErUX4XmgVX7",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{cz:0,foundationId:"c2gz3bi2QzLErUX4XmgVX7",parentId:"c2gz3bi2QzLErUX4XmgVX7",ly:.1,cx:-.16513844869065064,textureType:"No Wall Texture",roofId:"95ywic4c9x92ks45ZbwSqV",lx:.5000000000000003,locked:!1,rightRoofHeight:1.75,selected:!1,leftPoint:[.0848615513093498,2.481772324899016,.1],cy:2.481772324899016,lz:1.75,lineWidth:.2,normal:[0,0,1],relativeAngle:3.1415926535897922,rightPoint:[-.41513844869064953,2.481772324899015,.1],leftJoints:["8BLfCN1Rb2sjqzL81nEAF1"],rotation:[0,0,-.7853981633974483],type:"Wall",id:"wXQ7LSxUUW2TWS968Lkeqi",showLabel:!1,leftRoofHeight:1.75,windows:[],color:"#ffffff",lineColor:"black",rightJoints:["cSJn7k7dHrZvyJZf7rCR3h"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{leftPoint:[-.41513844869064953,2.481772324899015,.1],locked:!1,lineWidth:.2,ly:.1,windows:[],rightRoofHeight:1.75,color:"#ffffff",leftRoofHeight:1.75,cx:-.4151384486906503,id:"cSJn7k7dHrZvyJZf7rCR3h",lx:6.5,parentId:"c2gz3bi2QzLErUX4XmgVX7",rightPoint:[-.41513844869064975,-4.018227675100984,.1],rotation:[0,0,-.7853981633974483],roofId:"95ywic4c9x92ks45ZbwSqV",cz:0,textureType:"No Wall Texture",leftJoints:["wXQ7LSxUUW2TWS968Lkeqi"],selected:!1,foundationId:"c2gz3bi2QzLErUX4XmgVX7",relativeAngle:4.71238898038469,type:"Wall",cy:-.7682276751009843,lz:1.75,showLabel:!1,lineColor:"black",rightJoints:["iQCq8L9uGMQTqYvdj9Zg8G"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{locked:!1,selected:!1,type:"Wall",lz:1.75,leftRoofHeight:1.75,textureType:"No Wall Texture",id:"8BLfCN1Rb2sjqzL81nEAF1",leftPoint:[.08486155130935003,-4.0182276751009915,.1],cx:.08486155130935003,roofId:"95ywic4c9x92ks45ZbwSqV",cz:0,ly:.1,relativeAngle:1.5707963267948966,color:"#ffffff",foundationId:"c2gz3bi2QzLErUX4XmgVX7",lineColor:"black",rightPoint:[.0848615513093498,2.481772324899016,.1],cy:-.7682276751009878,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],lx:6.500000000000005,leftJoints:["iQCq8L9uGMQTqYvdj9Zg8G"],parentId:"c2gz3bi2QzLErUX4XmgVX7",rightRoofHeight:1.75,rightJoints:["wXQ7LSxUUW2TWS968Lkeqi"],windows:[],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{normal:[0,0,1],wallsId:["8BLfCN1Rb2sjqzL81nEAF1"],cy:0,rightRidgeLength:-3.1500000000000026,locked:!1,lz:0,id:"95ywic4c9x92ks45ZbwSqV",lineColor:"black",selected:!1,lx:0,textureType:"No Roof Texture",ly:0,rotation:[0,0,-.7853981633974483],lineWidth:.2,cz:0,foundationId:"c2gz3bi2QzLErUX4XmgVX7",color:"#ffffff",parentId:"c2gz3bi2QzLErUX4XmgVX7",showLabel:!1,thickness:.05,roofType:"Hip",leftRidgeLength:3.2500000000000027,cx:0,type:"Roof",roofStructure:"Default",rise:16.098880019941728,sideColor:"#ffffff",ceiling:!1},{cz:0,rotation:[0,0,-.7853981633974483],parentId:"mcxY5unDv2pKvQAJXd1qqG",rightPoint:[.08486155130934736,-4.01822767510099,.1],roofId:"7DEvyGzFf8SCPa5eeKTryQ",leftRoofHeight:1.75,color:"#ffffff",textureType:"No Wall Texture",rightRoofHeight:1.75,lz:1.75,selected:!1,foundationId:"mcxY5unDv2pKvQAJXd1qqG",cx:-.16513844869065064,ly:.1,cy:-4.01822767510099,rightJoints:["81FqBBm7B8Cgn7RbBDkgTc"],type:"Wall",leftJoints:["wPbsRDuG2myaDXtTkpKWyU"],leftPoint:[-.41513844869064975,-4.018227675100984,.1],normal:[0,0,1],lx:.4999999999999971,relativeAngle:6.283185307179577,id:"jPQHNjKitSZdUXrDLCKowL",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{rightRoofHeight:1.75,id:"3DG2FvhMwMqXmaiYMPxgiv",cy:2.481772324899016,color:"#ffffff",rotation:[0,0,-.7853981633974483],rightPoint:[-.41513844869064953,2.481772324899015,.1],lx:.5000000000000003,selected:!1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",textureType:"No Wall Texture",leftPoint:[.0848615513093498,2.481772324899016,.1],type:"Wall",parentId:"mcxY5unDv2pKvQAJXd1qqG",foundationId:"mcxY5unDv2pKvQAJXd1qqG",lz:1.75,locked:!1,leftJoints:["81FqBBm7B8Cgn7RbBDkgTc"],rightJoints:["wPbsRDuG2myaDXtTkpKWyU"],relativeAngle:3.1415926535897922,cx:-.16513844869065064,leftRoofHeight:1.75,normal:[0,0,1],ly:.1,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{leftPoint:[-.41513844869064953,2.481772324899015,.1],cx:-.4151384486906503,foundationId:"mcxY5unDv2pKvQAJXd1qqG",selected:!1,id:"wPbsRDuG2myaDXtTkpKWyU",leftRoofHeight:1.75,textureType:"No Wall Texture",color:"#ffffff",rotation:[0,0,-.7853981633974483],normal:[0,0,1],rightJoints:["jPQHNjKitSZdUXrDLCKowL"],cz:0,locked:!1,type:"Wall",ly:.1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",cy:-.7682276751009843,rightRoofHeight:1.75,lz:1.75,leftJoints:["3DG2FvhMwMqXmaiYMPxgiv"],lx:6.5,parentId:"mcxY5unDv2pKvQAJXd1qqG",relativeAngle:4.71238898038469,rightPoint:[-.41513844869064975,-4.018227675100984,.1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{type:"Wall",color:"#ffffff",rightRoofHeight:1.75,foundationId:"mcxY5unDv2pKvQAJXd1qqG",cx:.08486155130935003,cz:0,leftJoints:["jPQHNjKitSZdUXrDLCKowL"],rightJoints:["3DG2FvhMwMqXmaiYMPxgiv"],ly:.1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",leftRoofHeight:1.75,lz:1.75,id:"81FqBBm7B8Cgn7RbBDkgTc",cy:-.7682276751009878,parentId:"mcxY5unDv2pKvQAJXd1qqG",relativeAngle:1.5707963267948966,rotation:[0,0,-.7853981633974483],selected:!1,textureType:"No Wall Texture",locked:!1,rightPoint:[.0848615513093498,2.481772324899016,.1],normal:[0,0,1],lx:6.500000000000005,leftPoint:[.08486155130935003,-4.0182276751009915,.1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{roofStructure:"Default",textureType:"No Roof Texture",lz:0,cz:0,rotation:[0,0,-.7853981633974483],foundationId:"mcxY5unDv2pKvQAJXd1qqG",type:"Roof",color:"#ffffff",wallsId:["81FqBBm7B8Cgn7RbBDkgTc"],lx:0,cx:0,leftRidgeLength:3.2500000000000027,rightRidgeLength:-3.1500000000000026,id:"7DEvyGzFf8SCPa5eeKTryQ",cy:0,parentId:"mcxY5unDv2pKvQAJXd1qqG",normal:[0,0,1],roofType:"Hip",thickness:.05,locked:!1,selected:!1,ly:0,rise:16.098880019941728,sideColor:"#ffffff",ceiling:!1},{cx:-2.820889718788509,lx:17.522626722458362,solarAbsorberPipe:{},cy:3.1943110177197918,cz:.05,id:"mcxY5unDv2pKvQAJXd1qqG",lz:.1,normal:[0,0,1],solarPowerTower:{},selected:!1,solarUpdraftTower:{},type:"Foundation",locked:!1,color:"#009ce0",rotation:[0,0,-.7853981633974483],ly:16.217549949540043,parentId:"Ground",textureType:"No Foundation Texture",enableGroupMaster:!0},{rotation:[0,0,0],leftJoints:["4jxSnG9vT4aBdW8AckRKYU"],windows:[],type:"Wall",lx:12.5,cx:-3.4999999999999987,showLabel:!1,rightRoofHeight:1.6,normal:[0,0,1],textureType:"No Wall Texture",parentId:"sfVVGvWfY1uFZBwuAeqDnU",ly:.3,cy:-.25,roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",selected:!1,leftPoint:[-3.4999999999999973,6,0],relativeAngle:4.71238898038469,lineColor:"black",locked:!1,rightJoints:["dDiLTvTPyJXZvEWaFVYpwD"],lz:1.6,lineWidth:.2,leftRoofHeight:1.6,id:"fx2d8KZ2FbN5HXDjmbeNTq",foundationId:"sfVVGvWfY1uFZBwuAeqDnU",rightPoint:[-3.5,-6.5,0],cz:0,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",locked:!1,cy:-.25000000000000044,rightPoint:[2.9999999999999982,5.999999999999999,0],selected:!1,rightRoofHeight:1.6,rightJoints:["4jxSnG9vT4aBdW8AckRKYU"],leftRoofHeight:1.6,showLabel:!1,ly:.3,windows:[],parentId:"sfVVGvWfY1uFZBwuAeqDnU",rotation:[0,0,0],cz:0,textureType:"No Wall Texture",leftJoints:["dDiLTvTPyJXZvEWaFVYpwD"],leftPoint:[3,-6.5,0],lx:12.5,lineWidth:.2,lz:1.6,normal:[0,0,1],relativeAngle:1.5707963267948966,cx:2.999999999999999,foundationId:"sfVVGvWfY1uFZBwuAeqDnU",type:"Wall",lineColor:"black",id:"kgt2xgas1aqzzJdjuE2oTU",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{textureType:"No Wall Texture",parentId:"sfVVGvWfY1uFZBwuAeqDnU",selected:!1,leftRoofHeight:1.6,lz:1.6,cx:-.25,id:"dDiLTvTPyJXZvEWaFVYpwD",leftJoints:["fx2d8KZ2FbN5HXDjmbeNTq"],cy:-6.5,relativeAngle:0,cz:0,locked:!1,centerRoofHeight:[0,1.6],lx:6.5,type:"Wall",showLabel:!1,roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",ly:.3,windows:[],rightPoint:[3,-6.5,0],lineWidth:.2,leftPoint:[-3.5,-6.5,0],rightRoofHeight:1.6,rightJoints:["kgt2xgas1aqzzJdjuE2oTU"],normal:[0,0,1],lineColor:"black",rotation:[0,0,0],foundationId:"sfVVGvWfY1uFZBwuAeqDnU",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{leftJoints:["kgt2xgas1aqzzJdjuE2oTU"],windows:[],ly:.3,locked:!1,centerRoofHeight:[0,1.6],cy:5.999999999999998,rightPoint:[-3.4999999999999973,5.999999999999998,0],showLabel:!1,parentId:"sfVVGvWfY1uFZBwuAeqDnU",textureType:"No Wall Texture",rightJoints:["fx2d8KZ2FbN5HXDjmbeNTq"],foundationId:"sfVVGvWfY1uFZBwuAeqDnU",type:"Wall",id:"4jxSnG9vT4aBdW8AckRKYU",lz:1.6,leftRoofHeight:1.6,rightRoofHeight:1.6,lineWidth:.2,rotation:[0,0,0],roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",lx:6.499999999999996,leftPoint:[2.9999999999999982,5.999999999999999,0],relativeAngle:3.141592653589793,selected:!1,cz:0,cx:-.24999999999999956,normal:[0,0,1],lineColor:"black",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{showLabel:!1,wallsId:["fx2d8KZ2FbN5HXDjmbeNTq"],roofStructure:"Default",locked:!1,ly:0,normal:[0,0,1],color:"#ffffff",foundationId:"sfVVGvWfY1uFZBwuAeqDnU",ridgeLeftPoint:[0,1],cz:0,lineWidth:.2,rotation:[0,0,0],parentId:"sfVVGvWfY1uFZBwuAeqDnU",roofType:"Gable",ridgeRightPoint:[0,1],cx:0,type:"Roof",cy:0,lineColor:"black",lx:0,id:"uRtLCjK4u6T6gpiAxaqJ4Y",thickness:.4,selected:!1,lz:0,textureType:"No Roof Texture",rise:0,sideColor:"#ffffff",ceiling:!1},{type:"Human",name:"Jeff",cx:-6.502161132128585,cy:-.11016766385402654,cz:.75,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"nxpfXTi8karHMZTuUfg7ua",id:"uohRAyGkaEQKAWQ4nxXd7n",selected:!1,locked:!1,ly:.6},{type:"Cuboid",cx:-1.5500000000000027,cy:5.125000000000001,cz:.75,lx:23.296674873649543,ly:1.1460990537871516,lz:1.5,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"jrdvuWjMZPwKCrsCkYbs2x",locked:!1},{type:"Cuboid",cx:-1.5499999999999994,cy:-.12500200000011227,cz:.75,lx:23.296674873649543,ly:1.1460990537871516,lz:1.5,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"nxpfXTi8karHMZTuUfg7ua",selected:!1,locked:!1},{type:"Foundation",cx:-6.683083197474398,cy:-67.2866913326566,cz:.15,lx:40,ly:40,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ihXBcGst6vfG6pMnKjKmcM",textureType:"Foundation Texture #7",locked:!1,enableGroupMaster:!0},{type:"Foundation",cx:13.760889379859025,cy:-67.2492084538547,cz:.5,lx:1,ly:40,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vgW1NebabuY1wd8pyCtxcL",locked:!1,textureType:"Foundation Texture #1",enableGroupMaster:!1},{type:"Foundation",cx:-27.220804284247304,cy:-67.2105953370125,cz:.5,lx:1,ly:40,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"erWKhrLkVgeBGrkYbzkvdA",selected:!1,locked:!1},{type:"Foundation",cx:-6.7329733624271535,cy:-46.77136586096416,cz:.5,lx:42,ly:1,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9pJgP99aRJ8Ucspa2Xmi3n",selected:!1,locked:!1},{type:"Foundation",cx:-6.740359075877207,cy:-87.76629626012827,cz:.5,lx:42,ly:1,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vKsvgYQL3ATsUMrkRxNVtG",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:.038403051629375184,cy:-10.6680905961247,cz:.49999999999999956,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"vgW1NebabuY1wd8pyCtxcL",id:"ca1o8dHiZMnRxbmGVa2QgH",selected:!1,locked:!1,ly:.42},{type:"Human",name:"Judd",cx:12.353179322478177,cy:5.7758180762563,cz:.15,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"aUp3bFMPfhPR555kq4RxtS",selected:!1,locked:!1,ly:.544},{type:"Human",name:"Jess",cx:17.33662712955384,cy:1.475715952229109,cz:.1500000059604645,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"wtw985egzP7m3E2u8Hzcug",selected:!1,locked:!1,ly:.43},{type:"Human",name:"Jennifer",cx:18.10291752042776,cy:-1.7717803444007103,cz:.1500000059604645,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"7CidBs9j2hdjoie9s47tSo",selected:!1,locked:!1,ly:.45},{type:"Human",name:"Jeanette",cx:16.915296607371396,cy:-5.742321393879223,cz:.15,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9QoGq38Qc3iCuT9ChxbAyR",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Jamelia",cx:17.721133919154003,cy:-5.518875626742528,cz:.15,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"85muF4mPeUfkVQindFk2SC",selected:!1,locked:!1,ly:.65},{type:"Human",name:"Jade",cx:.6415363456979275,cy:7.410775156216488,cz:.1500000059604645,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"jBLqkfTJCSVqqR4CU7nfJ2",selected:!1,locked:!1,ly:.48},{type:"Flower",name:"Yellow Flower",cx:18.683881743553787,cy:18.33607154360658,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"eB4WthSRNZpHrasisKTtYg",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-18.795638463082337,cy:18.660989204818456,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"h3cqaVZXomQdjmyTbFaSE7",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-16.292595004641754,cy:-18.43048092235047,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"hEqgADfaTf5Syacb7QRfe6",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:17.686932547560502,cy:-18.72635054653726,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"dViWZq883MztDQDT9tgFHg",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.340044767234033,cy:12.835308413075914,cz:.15,lx:6.929334761971469,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"rK9Z4WmcdLBPe5DdK1mo3L",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.20400735303405,cy:4.605044853977084,cz:.15,lx:6.415005134340998,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"ko7TU1v7o4aKNwN5wszk6E",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:16.744228490634097,cy:-4.496771610813894,cz:.1500000059604645,lx:5.516658633108942,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"1zDByoeV2v4opENdb8nE73",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.06796993883407,cy:-12.807744163620441,cz:.15,lx:3.7877637261892754,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"5ynw27sYwALgCvbTKBPFuc",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.73185271365966,cy:9.091268351797737,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"5xUkwUkEF3nM4dp1f8ZjGH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.82807405354676,cy:.4545102937342307,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9CUeHAtdXMGrojz43dddm7",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.790525833741423,cy:-8.33811033147611,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9werjyfGxz2ZnUBAmZUSeP",selected:!1,locked:!1},{type:"Tree",name:"Linden",cx:-13.237896819150908,cy:7.786733045780586,cz:.15,lx:12.449941214324092,lz:9.058629663838381,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9HVmsEYn5NmhERnCHtLeTG",selected:!1,locked:!1},{type:"Human",name:"Jacob",cx:16.698553189544626,cy:-13.302196684361064,cz:.1500000059604645,lx:.8,ly:.8,lz:1.82,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"oVwVpc1MsHV8dEBsQ3Qes9",selected:!1},{type:"Human",name:"Jacqueline",cx:16.92629922811857,cy:-10.360458138569996,cz:.1500000059604645,lx:.43,ly:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"go7YPG6xiBGLHMPZz7e4qo",selected:!1},{type:"Flower",name:"Hibiscus",cx:-.09277991929455354,cy:.3164809017961403,cz:.15,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"975HgY9tQaZ5QeqbgzHx3y",selected:!1},{type:"Flower",name:"Hibiscus",cx:2.3987692101921008,cy:.2735471847110773,cz:.1500000059604645,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"edrMt5m6ycQCMvY4tyMhZK",selected:!1},{type:"Tree",name:"Fan Palm",cx:-16.84484975237295,cy:-12.927386696052167,cz:.15,lx:4.076837194726303,lz:6.270754609829865,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"pzKai5MWnLpM5xYggPryb1",selected:!1},{type:"Human",name:"Jaye",cx:-.11721899052498141,cy:8.102455442033538,cz:.1500000059604645,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"o65jp32RsZKq9pnvJ8qjFn",selected:!1,ly:.55},{type:"Foundation",cx:-6.355619144447829,cy:-57.87489141106073,cz:.05,lx:17.250094637989044,ly:17.442537041091708,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xjGay2mVopjsp4Ndv4B8Eh",enableGroupMaster:!0},{type:"Wall",cx:.15275097566949114,cy:7.153909729519647,cz:0,lx:6,ly:.3,lz:3,fill:"Full",relativeAngle:3.141592653589793,leftPoint:[3.152750975669491,7.153909729519647,.1],rightPoint:[-2.847249024330509,7.153909729519647,.1],leftJoints:["hqsA2Cy29sRNBoj4v9Cr5r"],rightJoints:["gQNkn8fsCop5ur3PiXUxVi"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"7T7V4fAArnXnf77GARr48T",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.347249024330509,cy:5.403909729519647,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:4.003762708257019,leftPoint:[-2.847249024330509,7.153909729519647,.1],rightPoint:[-5.847249024330509,3.653909729519647,.1],leftJoints:["7T7V4fAArnXnf77GARr48T"],rightJoints:["j6xhxcV6gu7NJTE1m7PHjp"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"gQNkn8fsCop5ur3PiXUxVi",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:4.652750975669491,cy:5.403909729519647,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:2.279422598922567,leftPoint:[6.152750975669491,3.653909729519647,.1],rightPoint:[3.152750975669491,7.153909729519647,.1],leftJoints:["xwZdPNzp8AKwovnxoLD3nU"],rightJoints:["7T7V4fAArnXnf77GARr48T"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"hqsA2Cy29sRNBoj4v9Cr5r",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.847249024330509,cy:1.153909729519647,cz:0,lx:5,ly:.3,lz:3,fill:"Full",relativeAngle:4.712388980384691,leftPoint:[-5.847249024330512,3.653909729519647,.1],rightPoint:[-5.847249024330509,-1.346090270480353,.1],leftJoints:["gQNkn8fsCop5ur3PiXUxVi"],rightJoints:["5HfZoyda9UcsGyCP24zQ6f"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"j6xhxcV6gu7NJTE1m7PHjp",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.347249024330509,cy:-3.096090270480353,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:5.42101525251236,leftPoint:[-5.847249024330509,-1.346090270480353,.1],rightPoint:[-2.847249024330509,-4.846090270480353,.1],leftJoints:["j6xhxcV6gu7NJTE1m7PHjp"],rightJoints:["mDLvATpuRq21i8iZBYi4ta"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"5HfZoyda9UcsGyCP24zQ6f",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.15275097566949114,cy:-4.846090270480353,cz:0,lx:6,ly:.3,lz:3,fill:"Full",relativeAngle:0,leftPoint:[-2.847249024330509,-4.846090270480353,.1],rightPoint:[3.152750975669491,-4.846090270480353,.1],leftJoints:["5HfZoyda9UcsGyCP24zQ6f"],rightJoints:["23GGGVXLMLhDsJPuc4tWdJ"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"mDLvATpuRq21i8iZBYi4ta",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.152750975669491,cy:1.153909729519647,cz:0,lx:5,ly:.3,lz:3,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[6.152750975669491,-1.346090270480353,.1],rightPoint:[6.152750975669491,3.653909729519647,.1],leftJoints:["23GGGVXLMLhDsJPuc4tWdJ"],rightJoints:["hqsA2Cy29sRNBoj4v9Cr5r"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"xwZdPNzp8AKwovnxoLD3nU",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:4.652750975669491,cy:-3.096090270480353,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:.8621700546672264,leftPoint:[3.152750975669491,-4.846090270480353,.1],rightPoint:[6.152750975669491,-1.346090270480353,.1],leftJoints:["mDLvATpuRq21i8iZBYi4ta"],rightJoints:["xwZdPNzp8AKwovnxoLD3nU"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"23GGGVXLMLhDsJPuc4tWdJ",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:0,cy:6.5,cz:0,lx:6,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["8FDqLAdw457E2bhA9XTcY8"],rightJoints:["8RoWdxqFb6i5NdhSc28mnN"],leftPoint:[3,6.5],rightPoint:[-3,6.5],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"84MYXJ2PMaqXsehRJzjVQe",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-4.5,cy:4.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["84MYXJ2PMaqXsehRJzjVQe"],rightJoints:["pk9TBhq9oWST9hGbLUebt3"],leftPoint:[-3,6.5],rightPoint:[-6,3],relativeAngle:4.003762708257019,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8RoWdxqFb6i5NdhSc28mnN",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.5,cy:4.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["vEPCFaMTtBZuQbmTYF61aY"],rightJoints:["84MYXJ2PMaqXsehRJzjVQe"],leftPoint:[6,3],rightPoint:[3,6.5],relativeAngle:2.279422598922567,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8FDqLAdw457E2bhA9XTcY8",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-6.000000000000002,cy:.5,cz:0,lx:5,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["8RoWdxqFb6i5NdhSc28mnN"],rightJoints:["q546XZV5H6AGWKk4L5mFny"],leftPoint:[-6.0000000000000036,3],rightPoint:[-6,-2],relativeAngle:4.712388980384691,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pk9TBhq9oWST9hGbLUebt3",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-4.5,cy:-3.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["pk9TBhq9oWST9hGbLUebt3"],rightJoints:["5MSQKrS7n6GSqPGqdxq5Bj"],leftPoint:[-6,-2],rightPoint:[-3,-5.5],relativeAngle:5.42101525251236,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q546XZV5H6AGWKk4L5mFny",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-2,cy:-5.5,cz:0,lx:2,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["q546XZV5H6AGWKk4L5mFny"],rightJoints:[],leftPoint:[-3,-5.5,0],rightPoint:[-1,-5.5,0],relativeAngle:0,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5MSQKrS7n6GSqPGqdxq5Bj",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:6,cy:.5,cz:0,lx:5,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["hdi4QkYQSUhV3rb5bWoPyE"],rightJoints:["8FDqLAdw457E2bhA9XTcY8"],leftPoint:[6,-2],rightPoint:[6,3],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vEPCFaMTtBZuQbmTYF61aY",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.5,cy:-3.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["vhyVh2ErPYrdrgRVofCLxz"],rightJoints:["vEPCFaMTtBZuQbmTYF61aY"],leftPoint:[3,-5.5],rightPoint:[6,-2],relativeAngle:.8621700546672264,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hdi4QkYQSUhV3rb5bWoPyE",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-6.206616408300555,cy:-57.696705992331786,cz:.1,lx:17.55559658932802,ly:18.75035650013101,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"86ArGmhZe3wg69cHFHJhHy",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:2,cy:-5.5,cz:0,lx:2,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:[],rightJoints:["hdi4QkYQSUhV3rb5bWoPyE"],leftPoint:[1,-5.5,0],rightPoint:[3,-5.5,0],relativeAngle:0,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vhyVh2ErPYrdrgRVofCLxz",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:0,cy:3.398893115303052,cz:0,lx:3.320044158350688,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["rar8H4qGrUVwxrAVMoviFk"],rightJoints:["oNJ9yc8yVRwjREwej61c5A"],leftPoint:[1.660022079175344,3.398893115303052,0],rightPoint:[-1.660022079175344,3.398893115303052,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rp3dXSxQpb7ynasZ6iB6eD",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.110255927874554,rightUnfilledHeight:4.110255927874554,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-2.490033118763016,cy:2.483806507336846,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["rp3dXSxQpb7ynasZ6iB6eD"],rightJoints:["qFqkwR72frMwniMPRhnRWu"],leftPoint:[-1.660022079175344,3.398893115303052,0],rightPoint:[-3.320044158350688,1.5687198993706395,0],relativeAngle:-2.3074818778158113,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oNJ9yc8yVRwjREwej61c5A",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.057580145705773,rightUnfilledHeight:4.057580145705773,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:2.490033118763016,cy:2.483806507336846,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["8QpMcXYdcYd52x57cuvRwd"],rightJoints:["rp3dXSxQpb7ynasZ6iB6eD"],leftPoint:[3.320044158350688,1.5687198993706395,0],rightPoint:[1.660022079175344,3.398893115303052,0],relativeAngle:2.3074818778158113,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rar8H4qGrUVwxrAVMoviFk",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.100659354320178,rightUnfilledHeight:4.100659354320178,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-3.3200441583506892,cy:.2614533165617733,cz:0,lx:2.6145331656177326,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["oNJ9yc8yVRwjREwej61c5A"],rightJoints:["kihCtvbfxzgerRhgdX2mXc"],leftPoint:[-3.32004415835069,1.5687198993706395,0],rightPoint:[-3.320044158350688,-1.045813266247093,0],relativeAngle:-1.5707963267948957,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qFqkwR72frMwniMPRhnRWu",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.079570215122429,rightUnfilledHeight:4.079570215122429,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-2.490033118763016,cy:-1.960899874213299,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["qFqkwR72frMwniMPRhnRWu"],rightJoints:["jVTcP5pBaEuvpEqr3A1SVZ"],leftPoint:[-3.320044158350688,-1.045813266247093,0],rightPoint:[-1.660022079175344,-2.8759864821795054,0],relativeAngle:-.8341107757739816,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kihCtvbfxzgerRhgdX2mXc",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.134242304497143,rightUnfilledHeight:4.134242304497143,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.320044158350688,cy:.2614533165617733,cz:0,lx:2.6145331656177326,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["nFBw1TRtTNF6p1WGqWPgfw"],rightJoints:["rar8H4qGrUVwxrAVMoviFk"],leftPoint:[3.320044158350688,-1.045813266247093,0],rightPoint:[3.320044158350688,1.5687198993706395,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8QpMcXYdcYd52x57cuvRwd",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.039195103204583,rightUnfilledHeight:4.039195103204583,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:2.490033118763016,cy:-1.960899874213299,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["jVTcP5pBaEuvpEqr3A1SVZ"],rightJoints:["8QpMcXYdcYd52x57cuvRwd"],leftPoint:[1.660022079175344,-2.8759864821795054,0],rightPoint:[3.320044158350688,-1.045813266247093,0],relativeAngle:.8341107757739816,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nFBw1TRtTNF6p1WGqWPgfw",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.108930812815814,rightUnfilledHeight:4.108930812815814,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Foundation",cx:-6.1615980987141725,cy:-56.93879552861954,cz:.05,lx:9.714225983793291,ly:9.80468578734971,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"n5CRoXkagMPz1MK5uJrLb5",selected:!1},{type:"Wall",cx:0,cy:-2.8759864821795054,cz:0,lx:3.320044158350688,ly:.1,lz:6,fill:"Partial",relativeAngle:0,leftPoint:[-1.660022079175344,-2.8759864821795054,0],rightPoint:[1.660022079175344,-2.8759864821795054,0],leftJoints:["kihCtvbfxzgerRhgdX2mXc"],rightJoints:["nFBw1TRtTNF6p1WGqWPgfw"],textureType:"No Wall Texture",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:.5,studWidth:.1,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"jVTcP5pBaEuvpEqr3A1SVZ",structureSpacing:1,structureWidth:.1,structureColor:"white",roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.015344082405362,rightUnfilledHeight:4.015344082405362,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.5743098600216179,thickness:.1,roofType:"Pyramid",roofStructure:"Default",wallsId:["qFqkwR72frMwniMPRhnRWu","kihCtvbfxzgerRhgdX2mXc","jVTcP5pBaEuvpEqr3A1SVZ","nFBw1TRtTNF6p1WGqWPgfw","8QpMcXYdcYd52x57cuvRwd","rar8H4qGrUVwxrAVMoviFk","rp3dXSxQpb7ynasZ6iB6eD","oNJ9yc8yVRwjREwej61c5A"],textureType:"Roof Texture Default",color:"#666666",sideColor:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"smwrqG518CZJrsaW49WWUA",ceiling:!1},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.7649549167327019,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"8QpMcXYdcYd52x57cuvRwd",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"dYYTafeaVyrPGiHr9hT4x7"},{type:"Window",cx:-6739866298094781e-31,cy:.3,cz:.34999999999999987,lx:.809430915963378,ly:.1,lz:.19999999999999973,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rar8H4qGrUVwxrAVMoviFk",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"jZbi6wpUUPGF7S266xXdZb"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.9036024392790976,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rp3dXSxQpb7ynasZ6iB6eD",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"dAbndkGsGZCPSQ6cfeGiaG"},{type:"Window",cx:-6290541878221795e-31,cy:.3,cz:.3499999999999999,lx:.8094309159633778,ly:.1,lz:.19999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"nFBw1TRtTNF6p1WGqWPgfw",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"kSuLif4Wir4urUXskyaV4U"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.9036024392790976,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"jVTcP5pBaEuvpEqr3A1SVZ",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"uzbQK6qBJiZchj62eoVcS2"},{type:"Window",cx:-6290541878221795e-31,cy:.3,cz:.3499999999999999,lx:.8094309159633778,ly:.1,lz:.19999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"kihCtvbfxzgerRhgdX2mXc",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"qdqEUWrM4pFbL4aKbpxg5S"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.7649549167327019,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"qFqkwR72frMwniMPRhnRWu",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"387ytv7CWaVRo77xEcJ6ve"},{type:"Window",cx:-5841217458348811e-31,cy:.3,cz:.34999999999999987,lx:.8094309159633776,ly:.1,lz:.19999999999999973,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"oNJ9yc8yVRwjREwej61c5A",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"5pj2DDSnCjnbjFqVV7kdtA"},{type:"Human",name:"Jane",cx:3.736227180070431,cy:-.07270961061114178,cz:.1500000059604645,lx:.4,ly:.4,lz:1.67,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"mXtLTeWPeXbh8ZPv5wFnjK",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["mDLvATpuRq21i8iZBYi4ta"],ridgeWidth:2.994634976387277,textureType:"Roof Texture Default",color:"#666666",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"11NehXdVvEJW3XyYbWtXPQ",ceiling:!1}],R9n={weatherPanelX:0,cameraZoom:11.974738784767576,showInstructionPanel:!1,orthographic:!1,showYearlyUpdraftTowerYieldPanel:!1,yearlyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},cameraPosition:[2.0567122000034246,-82.20963270587687,2.469053520866666],showYearlyHeliostatYieldPanel:!1,mapTilt:0,groundPanelY:0,heliodonPanelX:0,showMapPanel:!1,heliodonPanelY:0,showElevationAngle:!0,solarRadiationHeatMapReflectionOnly:!1,groundImage:!1,mapWeatherStations:!1,showDailyParabolicTroughYieldPanel:!1,evolutionPanelRect:{x:0,y:0,width:640,height:400},theme:"Default",dailyPvYieldPanelRect:{height:400,x:0,width:600,y:0},dailyHeliostatYieldPanelRect:{height:400,width:600,y:0,x:0},showDailyLightSensorPanel:!1,yearlyUpdraftTowerYieldPanelRect:{y:0,width:600,height:400,x:0},groundColor:"#0062b1",showGroundPanel:!1,weatherPanelY:0,yearlyLightSensorPanelX:0,showDiurnalTemperaturePanel:!1,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelY:0,yearlyLightSensorPanelRect:{y:0,x:0,height:500,width:600},showDailyParabolicDishYieldPanel:!1,showDailyHeliostatYieldPanel:!1,yearlyLightSensorPanelShowDaylight:!1,autoRotate:!1,dailyParabolicTroughYieldPanelRect:{width:600,y:0,x:0,height:400},dailyPvYieldPanelY:1,yearlyPvYieldPanelRect:{height:400,y:0,width:600,x:0},mapPanelX:0,yearlyLightSensorPanelShowClearness:!1,dailyLightSensorPanelX:-1277,stickyNotePanelX:5,yearlyFresnelReflectorYieldPanelRect:{width:600,y:0,height:400,x:0},visibilityResultsPanelRect:{width:600,y:0,x:0,height:470},mapType:"hybrid",yearlyParabolicTroughYieldPanelRect:{x:0,height:400,width:600,y:0},solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelRect:{width:600,x:0,y:0,height:400},showSolarPanelVisibilityResultsPanel:!1,showEvolutionPanel:!1,showDesignInfoPanel:!1,showAzimuthAngle:!0,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:4,showSunAngles:!1,stickyNotePanelY:2,dailyLightSensorPanelRect:{width:600,y:0,x:0,height:360},showSiteInfoPanel:!0,mapZoom:17,shadowEnabled:!0,showStickyNotePanel:!1,showYearlyFresnelReflectorYieldPanel:!1,cameraPosition2D:[35.60900958192718,-37.58389220703244,150],yearlyParabolicDishYieldPanelRect:{width:600,x:0,height:400,y:0},showHeliodonPanel:!1,showDailyPvYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showZenithAngle:!0,panCenter:[0,0,0],showYearlyParabolicTroughYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!1,dailyLightSensorPanelY:525,axes:!1,dailyUpdraftTowerYieldPanelRect:{height:550,x:0,width:640,y:0},enableRotate:!0,dailyFresnelReflectorYieldPanelRect:{x:0,y:0,height:400,width:600},showSolarRadiationHeatmap:!1,stickyNotePanelRect:{height:300,x:0,y:0,width:400},heliodon:!1,weatherPanelRect:{height:500,width:500,x:0,y:0},showWeatherPanel:!1,diurnalTemperaturePanelRect:{height:400,y:0,width:600,x:0},showEconomicsPanel:!1,mapPanelY:0,panCenter2D:[35.60900958192718,-37.5837422003028,-44548927895332545e-21],groundPanelX:0,showYearlyParabolicDishYieldPanel:!1,waterSurface:!0},H9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},M9n=1,I9n={tiltAngle:0,poleHeight:1,rowAxis:"Zonal",rowsPerRack:1,pvModelName:"SPR-X21-335-BLK",interRowSpacing:2,orientation:"Landscape",poleSpacing:3},z9n={rowAxis:"Zonal",minimumRowsPerRack:1,maximumInterRowSpacing:10,orientation:"Landscape",pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,minimumInterRowSpacing:2,maximumTiltAngle:1.5707963267948966,maximumRowsPerRack:6,poleSpacing:5,poleHeight:1},D9n={particleSwarmOptimizationParams:{convergenceThreshold:.01,searchMethod:1,vmax:.01,socialCoefficient:.1,cognitiveCoefficient:.1,objectiveFunctionType:1,localSearchRadius:.1,swarmSize:20,maximumSteps:5,problem:"Solar Panel Tilt Angle",inertia:.8},geneticAlgorithmParams:{convergenceThreshold:.01,localSearchRadius:.1,mutationRate:.1,populationSize:20,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionRate:.5,crossoverRate:.5,objectiveFunctionType:1,selectionMethod:1,maximumGenerations:5}},E9n={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},k9n=[],F9n={docid:w9n,time:v9n,timestamp:x9n,userid:b9n,owner:S9n,email:T9n,world:P9n,elements:C9n,view:R9n,graphState:H9n,evolutionMethod:M9n,solarPanelArrayLayoutParams:I9n,solarPanelArrayLayoutConstraints:z9n,evolutionaryAlgorithmState:D9n,economicsParams:E9n,notes:k9n},L9n="aAQ9PBNcxmy54LzwEjDjx6",W9n="02/04/2023 01:07 pm",N9n=1675534023944,U9n="QWecNcxhyvP6j6sBN11hBsfZDau1",B9n=null,j9n=null,Y9n={latitude:29.97967840899827,solarRadiationHeatmapGridCellSize:2,pvGridCellSize:.5,timesPerHour:1,longitude:31.1328118254,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Unnamed Road, Nazlet El-Semman, Al Haram, Giza Governorate 3512201, Egypt",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!1,noAnimationForHeatmapSimulation:!1},O9n=[{cy:1.8727761492415205,normal:[0,0,1],lz:.1,ly:33.71645112830097,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:3.8026045865356792,cz:.05,rotation:[0,0,0],lx:37.627215506503944,selected:!1,parentId:"Ground",color:"#939e68"},{type:"Human",name:"Jack",cx:-20.29704864931282,cy:2.5303584520169977,cz:17763568394002505e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Wall",cx:0,cy:16.296284712012135,cz:0,lx:36.37297498962048,ly:.3,lz:.1,relativeAngle:3.141592653589793,leftPoint:[18.18648749481024,16.296284712012135,0],rightPoint:[-18.18648749481024,16.296284712012135,0],leftJoints:["x8opa4joDX2ozyr1wxLBFd"],rightJoints:["cbbyeikFQdrAHuD95BDSGz"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nTB9SvRUJL9zbmnaWUjcpm",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:-18.18648749481024,cy:-17763568394002505e-31,cz:0,lx:32.59256942402426,ly:.3,lz:.1,relativeAngle:-1.5707963267948966,leftPoint:[-18.18648749481024,16.29628471201213,0],rightPoint:[-18.18648749481024,-16.296284712012135,0],leftJoints:["nTB9SvRUJL9zbmnaWUjcpm"],rightJoints:["h8nRc5JnZSmPUtQYLCpzpo"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cbbyeikFQdrAHuD95BDSGz",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:18.18648749481024,cy:0,cz:0,lx:32.59256942402427,ly:.3,lz:.1,relativeAngle:1.5707963267948966,leftPoint:[18.18648749481024,-16.296284712012135,0],rightPoint:[18.18648749481024,16.296284712012135,0],leftJoints:["h8nRc5JnZSmPUtQYLCpzpo"],rightJoints:["nTB9SvRUJL9zbmnaWUjcpm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x8opa4joDX2ozyr1wxLBFd",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:0,cy:-16.296284712012135,cz:0,lx:36.37297498962048,ly:.3,lz:.1,relativeAngle:0,leftPoint:[-18.18648749481024,-16.296284712012135,0],rightPoint:[18.18648749481024,-16.296284712012135,0],leftJoints:["cbbyeikFQdrAHuD95BDSGz"],rightJoints:["x8opa4joDX2ozyr1wxLBFd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h8nRc5JnZSmPUtQYLCpzpo",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["x8opa4joDX2ozyr1wxLBFd","nTB9SvRUJL9zbmnaWUjcpm","cbbyeikFQdrAHuD95BDSGz","h8nRc5JnZSmPUtQYLCpzpo"],textureType:"No Roof Texture",color:"#f1bd5f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k5DPAgfcA7iEV8uJMULHoF",sideColor:"#f1bd5f",rise:23.904675932583867,ceiling:!1},{type:"Wall",cx:0,cy:20.99732159077814,cz:0,lx:37.31092134412355,ly:.3,lz:.22250033892788987,leftJoints:["7WsdqvYxWkA27jvXNo2Mm1"],rightJoints:["tZM6D9KrMoJw5byU4Mef1i"],leftPoint:[18.655460672061775,20.99732159077814,0],rightPoint:[-18.655460672061775,20.99732159077814,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"kfxJiyZVakywzVGMDtjswR",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:-18.655460672061775,cy:-17763568394002505e-31,cz:0,lx:41.99464318155627,ly:.3,lz:.22250033892788987,leftJoints:["kfxJiyZVakywzVGMDtjswR"],rightJoints:["vf6wgmEsbmPCE8KcphJGqP"],leftPoint:[-18.655460672061775,20.997321590778135,0],rightPoint:[-18.655460672061775,-20.99732159077814,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"tZM6D9KrMoJw5byU4Mef1i",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:18.655460672061775,cy:0,cz:0,lx:41.99464318155628,ly:.3,lz:.22250033892788987,leftJoints:["vf6wgmEsbmPCE8KcphJGqP"],rightJoints:["kfxJiyZVakywzVGMDtjswR"],leftPoint:[18.655460672061775,-20.99732159077814,0],rightPoint:[18.655460672061775,20.99732159077814,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"7WsdqvYxWkA27jvXNo2Mm1",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:0,cy:-20.99732159077814,cz:0,lx:37.31092134412355,ly:.3,lz:.22250033892788987,leftJoints:["tZM6D9KrMoJw5byU4Mef1i"],rightJoints:["7WsdqvYxWkA27jvXNo2Mm1"],leftPoint:[-18.655460672061775,-20.99732159077814,0],rightPoint:[18.655460672061775,-20.99732159077814,0],relativeAngle:0,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"vf6wgmEsbmPCE8KcphJGqP",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{id:"vsaCHfjwMoXqY3LhUh3AYn",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#f1bd5f",normal:[0,0,1],rotation:[0,0,0],parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["7WsdqvYxWkA27jvXNo2Mm1","kfxJiyZVakywzVGMDtjswR","tZM6D9KrMoJw5byU4Mef1i","vf6wgmEsbmPCE8KcphJGqP"],selected:!1,sideColor:"#f1bd5f",rise:26.582665517432964,ceiling:!1},{type:"Foundation",cx:12.856852941052583,cy:43.808036262261155,cz:.05,lx:38.5975048387485,ly:43.44273432574787,lz:.22250033892788987,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#939e68",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7wPQXpdL4AkSgqr5d4ivTf",selected:!1},{type:"Wall",cx:0,cy:10.377063829820637,cz:0,lx:24.393816584690047,ly:.3,lz:.1,leftJoints:["c1ip4EoLV1xG5UrcQjKJFf"],rightJoints:["aXfuVy74x5TuX5PAxrYsmb"],leftPoint:[12.196908292345023,10.377063829820637,0],rightPoint:[-12.196908292345023,10.377063829820637,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"6n1nr1JX4st4jvQ9gUV4ia",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:-12.196908292345023,cy:0,cz:0,lx:20.754127659641274,ly:.3,lz:.1,leftJoints:["6n1nr1JX4st4jvQ9gUV4ia"],rightJoints:["mU8UDvpwYrQexfz1wzirNx"],leftPoint:[-12.196908292345023,10.377063829820637,0],rightPoint:[-12.196908292345023,-10.377063829820637,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"aXfuVy74x5TuX5PAxrYsmb",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:12.196908292345023,cy:0,cz:0,lx:20.754127659641274,ly:.3,lz:.1,leftJoints:["mU8UDvpwYrQexfz1wzirNx"],rightJoints:["6n1nr1JX4st4jvQ9gUV4ia"],leftPoint:[12.196908292345023,-10.377063829820637,0],rightPoint:[12.196908292345023,10.377063829820637,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"c1ip4EoLV1xG5UrcQjKJFf",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:0,cy:-10.377063829820637,cz:0,lx:24.393816584690047,ly:.3,lz:.1,leftJoints:["aXfuVy74x5TuX5PAxrYsmb"],rightJoints:["c1ip4EoLV1xG5UrcQjKJFf"],leftPoint:[-12.196908292345023,-10.377063829820637,0],rightPoint:[12.196908292345023,-10.377063829820637,0],relativeAngle:0,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"mU8UDvpwYrQexfz1wzirNx",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{id:"6Z9o7PiPN8Lg87aGjnheF2",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#f1bd5f",normal:[0,0,1],rotation:[0,0,0],parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["c1ip4EoLV1xG5UrcQjKJFf","6n1nr1JX4st4jvQ9gUV4ia","aXfuVy74x5TuX5PAxrYsmb","mU8UDvpwYrQexfz1wzirNx"],selected:!1,sideColor:"#f1bd5f",rise:16.854120951667817,ceiling:!1},{type:"Foundation",cx:45.25308331556635,cy:20.416929673194815,cz:.05,lx:25.23498267381729,ly:21.469787234111664,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#939e68",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vEZNUjoALqFNdeECwYexcJ",selected:!1},{type:"Human",name:"Jaah",cx:39.44168754364077,cy:-40.717132307246644,cz:0,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mXBNsLzvysAACaXT4Ret47",selected:!1,ly:.74},{type:"Tree",name:"Coconut",cx:42.806669480662926,cy:-43.46857047024383,cz:0,lx:7.465549642203886,lz:12.033907674351804,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nN965AFg3yMtHobvcGg5R7",selected:!1},{type:"Tree",name:"Coconut",cx:41.00137659683238,cy:-40.141651116333534,cz:0,lx:5.412336834290683,lz:8.971899696117683,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2anvXQ4u2H4Gmk1Wk9rdgM",selected:!1},{type:"Tree",name:"Coconut",cx:45.13152925903263,cy:-41.184279758308485,cz:0,lx:4.120170321128103,lz:6.431070332387913,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kUerK8k3CG9QPyDqpE1w3s",selected:!1},{type:"Tree",name:"Coconut",cx:42.724610065173344,cy:-37.37569784643946,cz:-8881784197001252e-31,lx:5.285861196217217,lz:7.810076760608297,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"6e2aW2xXuEPds7gKc1zyEZ",selected:!1},{type:"Human",name:"Jiya",cx:38.48713465659762,cy:-41.18611455055127,cz:0,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"waRJTQwVoTc2m73FTmZtku",selected:!1,ly:.6}],_9n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Dune",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#fcde9d",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[29.718967845382636,-60.9210785032056,6.195253307893477],panCenter:[20.220405140712533,12.500928314079184,6.195253307893477],orthographic:!1,enableRotate:!0,cameraZoom:13.966745921875,showInstructionPanel:!0,cameraPosition2D:[2.7117906831589016,-.17118900317690566,150],panCenter2D:[2.7117906831589016,-.17103899651007715,5772019952800763e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1},V9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},G9n=1,X9n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},J9n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},K9n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},q9n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},$9n=[],Q9n={docid:L9n,time:W9n,timestamp:N9n,userid:U9n,owner:B9n,email:j9n,world:Y9n,elements:O9n,view:_9n,graphState:V9n,evolutionMethod:G9n,solarPanelArrayLayoutParams:X9n,solarPanelArrayLayoutConstraints:J9n,evolutionaryAlgorithmState:K9n,economicsParams:q9n,notes:$9n},Z9n="cTcUvKrDVjKVCsa7Bc6eWP",e3n="07/11/2023 11:15 am",t3n=1689088517320,n3n="QWecNcxhyvP6j6sBN11hBsfZDau1",o3n=null,i3n=null,r3n={date:"5/1/2022, 11:00:00 AM",timesPerHour:1,noAnimationForHeatmapSimulation:!1,cameraZoom:35.16173831821251,latitude:20.6834718,address:"Chícharo 1, Agua Clara, 20263 Aguascalientes, Ags, Mexico",orthographic:!1,pvGridCellSize:.5,noAnimationForSolarPanelSimulation:!1,solarRadiationHeatmapGridCellSize:2,name:"default",longitude:-88.56849969999999,countryCode:"MX",ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]}},a3n=[{normal:[0,0,1],color:"#ffffff",rotation:[0,0,-.4308260576178866],type:"Foundation",lx:7.036992589214696,ly:30.510947098235302,lz:.1,parentId:"Ground",cx:-27.085409900327864,cy:-75.75391737780706,cz:.05,id:"of4fAMi2p9MKmo6JDUYnfX",locked:!1,selected:!1},{normal:[0,0,1],enableGroupMaster:!0,color:"#ffffff",rotation:[0,0,-.4308260576178866],type:"Cuboid",lx:56,ly:56,lz:3,parentId:"Ground",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-18.375019902136223,cy:-56.51798491947705,cz:1.5,id:"wiH8vD751NzePoNE489Zmz",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:50.63868728162561,ly:51,lz:3,parentId:"wiH8vD751NzePoNE489Zmz",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.08666355805458079,cy:.07433002082287654,cz:1.5,id:"vEE1TP3rTAVaRcwDoKZkXG",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:46,ly:46,parentId:"vEE1TP3rTAVaRcwDoKZkXG",lz:3,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.07205603943225766,cy:-.3609974280100564,cz:1.5,id:"64zAV4AXgf3acGYiGgbHtk",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:41,ly:41,parentId:"64zAV4AXgf3acGYiGgbHtk",lz:3,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.2179635556946673,cy:-.2714914561985524,cz:1.5,id:"6tvwCY3BfS5DKToaqrjH6b",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:36,ly:36,lz:3,parentId:"6tvwCY3BfS5DKToaqrjH6b",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.20649365162019312,cy:-.07640192198699511,cz:1.5,id:"w5DovAeNvLxdFUsA55MTUK",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:31,ly:31,lz:3,parentId:"w5DovAeNvLxdFUsA55MTUK",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.21796368761107066,cy:.27148491092499955,cz:1.5,id:"xkbrwv3RHrtDWs4fwBjHcK",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:26,ly:26,lz:3,parentId:"xkbrwv3RHrtDWs4fwBjHcK",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:12533374448675178e-22,cy:-2726892110443256e-21,cz:1.5,id:"pbMzPvQHYgJQunHq51J49Z",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:21,ly:21,lz:3,parentId:"pbMzPvQHYgJQunHq51J49Z",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.07647088824865858,cy:-.20646417621273133,cz:1.5,id:"mnvyeK5fN3hX9sLjvEKUuf",locked:!1,selected:!1,stackable:!0},{color:"white",rightJoints:["snp41n8epU65cJmpWYe2JY"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["7HaAi9SXBNPgTWdiQyjMiG"],lx:20.02647993516194,type:"Wall",ly:.3,showLabel:!1,lineWidth:.2,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"25Fv92JqG6V9Az4Vdn87cm",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],foundationId:"of4fAMi2p9MKmo6JDUYnfX",rotation:[0,0,-.4308260576178866],lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-3.4603589017376857,cy:-.3102252245060395,wallStructure:"Default",leftPoint:[-3.4603589017376843,9.703014743074931,0],cz:0,relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["25Fv92JqG6V9Az4Vdn87cm"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["nyGwFjAxRx8nejSDNHRuJf"],type:"Wall",lx:6.747607724168489,ly:.3,lineWidth:.2,showLabel:!1,lz:24.07205708567741,roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"7HaAi9SXBNPgTWdiQyjMiG",leftRoofHeight:24.07205708567741,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],foundationId:"of4fAMi2p9MKmo6JDUYnfX",rotation:[0,0,-.4308260576178866],lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-.08657971268263398,cy:9.715917584374791,cz:0,wallStructure:"Default",leftPoint:[3.2871994763724164,9.728820425674652,0],relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["7HaAi9SXBNPgTWdiQyjMiG"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["snp41n8epU65cJmpWYe2JY"],lx:20.026479935161944,type:"Wall",ly:.3,lz:.1,showLabel:!1,lineWidth:.2,centerRoofHeight:[.5,24.07205708567741],roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"nyGwFjAxRx8nejSDNHRuJf",leftRoofHeight:.1,locked:!1,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:3.2871994763724164,cy:-.2844195419063196,cz:0,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["nyGwFjAxRx8nejSDNHRuJf"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["25Fv92JqG6V9Az4Vdn87cm"],lx:6.747607724168491,type:"Wall",ly:.3,lineWidth:.2,lz:.1,showLabel:!1,roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"snp41n8epU65cJmpWYe2JY",leftRoofHeight:.1,structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-.08657971268263531,cy:-10.310562350787151,wallStructure:"Default",cz:0,leftPoint:[-3.460358901737687,-10.32346519208701,0],relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],sideColor:"#ffffff",ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",ly:0,lz:0,lineWidth:.2,showLabel:!1,overhang:0,wallsId:["snp41n8epU65cJmpWYe2JY"],textureType:"No Roof Texture",id:"sGVLr2RiApAro2AZTF4Soq",locked:!1,selected:!1,normal:[0,0,1],ceiling:!1,roofStructure:"Default",roofType:"Gable",rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:0,cy:0,cz:0,rise:0},{color:"white",rightJoints:["p76sjxtkpQv2qS73PYE2kL"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["6JMAttAcVe64vobp1GLMxZ"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"wqgKTMGphRnmbTc7egg7A4",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-3.4603589017376857,cy:-.3102252245060395,leftPoint:[-3.4603589017376843,9.703014743074931,0],wallStructure:"Default",cz:0,relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["wqgKTMGphRnmbTc7egg7A4"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["1bHrmE4SnxxPJS3An7ttHy"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"6JMAttAcVe64vobp1GLMxZ",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-.08657971268263398,cy:9.715917584374791,wallStructure:"Default",cz:0,leftPoint:[3.2871994763724164,9.728820425674652,0],relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["6JMAttAcVe64vobp1GLMxZ"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["p76sjxtkpQv2qS73PYE2kL"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:.1,id:"1bHrmE4SnxxPJS3An7ttHy",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:3.2871994763724164,cy:-.2844195419063196,leftPoint:[3.2871994763724164,-10.297659509487291,0],wallStructure:"Default",cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["1bHrmE4SnxxPJS3An7ttHy"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["wqgKTMGphRnmbTc7egg7A4"],type:"Wall",lx:6.747607724168491,ly:.3,lz:.1,roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",id:"p76sjxtkpQv2qS73PYE2kL",leftRoofHeight:.1,locked:!1,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"6hcF56jh7q4LNRLycVpoD9",rotation:[0,0,-2.001622384412783],fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-.08657971268263531,cy:-10.310562350787151,wallStructure:"Default",cz:0,leftPoint:[-3.460358901737687,-10.32346519208701,0],relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],sideColor:"#ffffff",ridgeLeftPoint:[-.5,1],type:"Roof",lx:0,ly:0,lz:0,wallsId:["p76sjxtkpQv2qS73PYE2kL"],overhang:0,textureType:"No Roof Texture",id:"okzyGygyV9CuUuCgZJHxtL",locked:!1,selected:!1,normal:[0,0,1],ceiling:!1,roofStructure:"Default",roofType:"Gable",foundationId:"6hcF56jh7q4LNRLycVpoD9",rotation:[0,0,-2.001622384412783],parentId:"6hcF56jh7q4LNRLycVpoD9",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-2.001622384412783],solarAbsorberPipe:{},solarUpdraftTower:{},type:"Foundation",lx:7.036992589214696,ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-37.19656198570662,cy:-48.22218639532002,cz:.05,id:"6hcF56jh7q4LNRLycVpoD9",locked:!1,selected:!1},{color:"white",rightJoints:["6eET4gZfKAok8BawnfpVP5"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["4tcfgq35BNQEAuA7Q4gK2w"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"ewTz3qtVabc3vib1o37RWk",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,1.1399702691770102],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-3.4603589017376857,cy:-.3102252245060395,cz:0,wallStructure:"Default",leftPoint:[-3.4603589017376843,9.703014743074931,0],relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["ewTz3qtVabc3vib1o37RWk"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["vvdQFgS7BMWgSzhZ3WPn3v"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"4tcfgq35BNQEAuA7Q4gK2w",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-.08657971268263398,cy:9.715917584374791,wallStructure:"Default",leftPoint:[3.2871994763724164,9.728820425674652,0],cz:0,relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["4tcfgq35BNQEAuA7Q4gK2w"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["6eET4gZfKAok8BawnfpVP5"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:.1,id:"vvdQFgS7BMWgSzhZ3WPn3v",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:3.2871994763724164,cy:-.2844195419063196,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["vvdQFgS7BMWgSzhZ3WPn3v"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["ewTz3qtVabc3vib1o37RWk"],lx:6.747607724168491,type:"Wall",ly:.3,lz:.1,roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:.1,id:"6eET4gZfKAok8BawnfpVP5",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-.08657971268263531,cy:-10.310562350787151,leftPoint:[-3.460358901737687,-10.32346519208701,0],wallStructure:"Default",cz:0,relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],sideColor:"#ffffff",type:"Roof",lx:0,ly:0,lz:0,overhang:0,wallsId:["6eET4gZfKAok8BawnfpVP5"],textureType:"No Roof Texture",id:"u4Mpv2GeNWKchY8947S8v4",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,1.1399702691770102],solarAbsorberPipe:{},type:"Foundation",solarUpdraftTower:{},lx:7.036992589214696,ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-.019117338301022357,cy:-64.89645982858704,cz:.05,id:"8gpLzgkZ8nK4SDTRc45eLs",locked:!1,selected:!1},{color:"white",rightJoints:["2UujwtSnnVJqGDCJ3BBRm9"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["2owQUpRggJZAfJhkbdGdV7"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"1S8fhLLB2Yj68UzfGctHxC",leftRoofHeight:24.07205708567741,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-3.4603589017376857,cy:-.3102252245060395,wallStructure:"Default",cz:0,leftPoint:[-3.4603589017376843,9.703014743074931,0],relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["1S8fhLLB2Yj68UzfGctHxC"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["ie77KsfUeoYHMvNbdg5A7r"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"2owQUpRggJZAfJhkbdGdV7",leftRoofHeight:24.07205708567741,locked:!1,structureWidth:.1,selected:!1,eavesLength:0,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-.08657971268263398,cy:9.715917584374791,cz:0,leftPoint:[3.2871994763724164,9.728820425674652,0],wallStructure:"Default",relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["2owQUpRggJZAfJhkbdGdV7"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["2UujwtSnnVJqGDCJ3BBRm9"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",leftRoofHeight:.1,id:"ie77KsfUeoYHMvNbdg5A7r",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:3.2871994763724164,cy:-.2844195419063196,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["ie77KsfUeoYHMvNbdg5A7r"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["1S8fhLLB2Yj68UzfGctHxC"],type:"Wall",lx:6.747607724168491,ly:.3,lz:.1,roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"2UujwtSnnVJqGDCJ3BBRm9",leftRoofHeight:.1,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-.08657971268263531,cy:-10.310562350787151,leftPoint:[-3.460358901737687,-10.32346519208701,0],cz:0,wallStructure:"Default",relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],sideColor:"#ffffff",type:"Roof",lx:0,ly:0,lz:0,wallsId:["2UujwtSnnVJqGDCJ3BBRm9"],overhang:0,textureType:"No Roof Texture",id:"vaffHA2pvgk7DEwhzj6gNE",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-3.5724187112076797],solarAbsorberPipe:{},type:"Foundation",lx:7.036992589214696,solarUpdraftTower:{},ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-9.922732853325604,cy:-37.99179481559905,cz:.05,id:"hmZjWWeZz4S4GgQzaeEoDs",locked:!1,selected:!1},{color:"white",rightJoints:["w8ioBPnjpEK1kCVPvdyXSf"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["o5TUM6k7TUF5pcoV1nrf3P"],lx:15.990395824622178,type:"Wall",ly:.3,lz:30.5,centerRoofHeight:[-.5,30.5],roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",leftRoofHeight:30.5,id:"9EahYNQZypYcfg5Yptfmkk",locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[-8.119283016182168,-17.843264137803672,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-8.119283016182168,cy:-9.848066225492586,cz:0,leftPoint:[-8.119283016182163,-1.852868313181495,.1],wallStructure:"Default",relativeAngle:-1.570796326794897,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["9EahYNQZypYcfg5Yptfmkk"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["jbmSv4P2XCW2pGLUzPPdFg"],lx:15.828210447987294,type:"Wall",ly:.3,lz:30.5,roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",id:"o5TUM6k7TUF5pcoV1nrf3P",leftRoofHeight:30.5,structureWidth:.1,locked:!1,eavesLength:.2,selected:!1,rightPoint:[-8.119283016182163,-1.852868313181495,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-.2051844979525692,cy:-1.8425658765917845,cz:0,leftPoint:[7.7089140202770245,-1.8322634400020812,.1],wallStructure:"Default",relativeAngle:-3.140290871618499,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["o5TUM6k7TUF5pcoV1nrf3P"],structureSpacing:2,structureColor:"white",rightRoofHeight:null,leftJoints:["w8ioBPnjpEK1kCVPvdyXSf"],type:"Wall",lx:15.99039582462218,ly:.3,lz:30.5,centerRoofHeight:[.4999999999999998,30.5],roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",leftRoofHeight:30.5,id:"jbmSv4P2XCW2pGLUzPPdFg",locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[7.7089140202770245,-1.8322634400020812,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:7.708914020277024,cy:-9.827461352313167,leftPoint:[7.708914020277023,-17.822659264624257,.1],wallStructure:"Default",cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["jbmSv4P2XCW2pGLUzPPdFg"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["9EahYNQZypYcfg5Yptfmkk"],lx:15.828210447987301,type:"Wall",ly:.3,lz:30.5,roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",id:"w8ioBPnjpEK1kCVPvdyXSf",leftRoofHeight:30.5,locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[7.708914020277023,-17.822659264624257,.1],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"tznSPCJVyf8hCJAPieocy5",fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-.20518449795257118,cy:-17.83296170121396,leftPoint:[-8.119283016182168,-17.843264137803672,.1],cz:0,wallStructure:"Default",relativeAngle:.0013017819712943387,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",ly:0,lz:0,wallsId:["w8ioBPnjpEK1kCVPvdyXSf"],overhang:.2,textureType:"No Roof Texture",id:"fpyToZsG3vjeXnpTZcmiFA",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,-3.5724187112076797],foundationId:"tznSPCJVyf8hCJAPieocy5",parentId:"tznSPCJVyf8hCJAPieocy5",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-3.5724187112076797],solarAbsorberPipe:{},solarUpdraftTower:{},type:"Foundation",lx:16.502964739720774,ly:43.56257699656065,lz:.1,parentId:"Ground",cx:-22.491532647648288,cy:-65.93307419737648,cz:.05,id:"tznSPCJVyf8hCJAPieocy5",locked:!1,selected:!1},{color:"#73D8FF",lx:.1263566722575591,type:"Window",tint:"#73D8FF",ly:.3,lineWidth:.2,lz:.08196721311475416,windowType:"Default",showLabel:!1,mullionSpacing:2,archHeight:1,id:"gnr8cDLm7R39CGUTTPWRkH",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},rotation:[0,0,0],foundationId:"tznSPCJVyf8hCJAPieocy5",lineColor:"black",parentId:"o5TUM6k7TUF5pcoV1nrf3P",mullionColor:"white",mullion:!0,frameWidth:.1,cx:9819886079874965e-32,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",windowType:"Default",lz:.08196721311475416,mullionSpacing:2,archHeight:1,id:"kUvytSevD3UrWB3anozSfo",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},rotation:[0,0,0],foundationId:"tznSPCJVyf8hCJAPieocy5",parentId:"w8ioBPnjpEK1kCVPvdyXSf",mullionColor:"white",mullion:!0,frameWidth:.1,cx:.031589168064389835,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",lz:.08196721311475416,windowType:"Default",mullionSpacing:2,archHeight:1,id:"865c35tP58MbX185GC2Zp7",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,0],parentId:"9EahYNQZypYcfg5Yptfmkk",mullionColor:"white",mullion:!0,frameWidth:.1,cx:.0006407972856078512,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",windowType:"Default",lz:.08196721311475416,mullionSpacing:2,archHeight:1,id:"gyCeohTiRvRXSouuRxL1uy",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,0],parentId:"jbmSv4P2XCW2pGLUzPPdFg",mullionColor:"white",mullion:!0,frameWidth:.1,cx:-.030627972135977996,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{normal:[0,1,0],rotation:[0,0,-2.001622384412783],lx:.494,type:"Human",ly:.494,lz:1.72,parentId:"6hcF56jh7q4LNRLycVpoD9",cx:.6155237368087336,cy:-13.667323728312198,cz:.05000000074505806,name:"Juro",id:"r66dpfqZ6etskNEDBj8h8E",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,0],lx:1.7,type:"Human",ly:1.7,lz:1.68,parentId:"Ground",cx:-48.35423161189035,cy:-82.28031356342372,cz:0,name:"Joan",id:"w1GaaLPU8uoPVtySP11CNB",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,0],type:"Human",lx:1.8,ly:1.8,lz:1.75,parentId:"Ground",cx:-48.773755635528666,cy:-86.19055704219848,cz:0,name:"Joel",id:"hqm4qYUeBiCnkFo8f8K4q3",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.42,ly:.42,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.8,cx:5.159796472851735,cy:-2.2075746120889566,cz:1.5,name:"Jack",id:"57uEnUU7dx25CfhheTRdsb",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],lx:.6,type:"Human",ly:.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.88,cx:9.25006190829934,cy:6.451678309086552,cz:1.5,name:"Joseph",id:"7pCFcU7FA5XV2M6Yw2pNPJ",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.6,ly:.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.65,cx:-.4372003189144742,cy:8.19573281933403,cz:1.5,name:"Jeff",id:"dJi9Dc4GEuLq5NjFPvHqU9",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.695,ly:.695,lz:1.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",cx:-8.6401936835747,cy:.41444427778789716,cz:1.5,name:"Jena",id:"9EHiXxpVGajiXXrSM5hPga",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],lx:.43,type:"Human",ly:.43,lz:1.5,parentId:"mnvyeK5fN3hX9sLjvEKUuf",cx:.007552993564822197,cy:-8.796578961750832,cz:1.5,name:"Jess",id:"7yXJFHLZH8aLmjnxsCJfei",locked:!1,selected:!1}],l3n=117,s3n={yearlyLightSensorPanelY:0,weatherPanelY:0,panCenter2D:[-29.13539419159263,-62.86427427096306,-621339264290157e-19],showWeatherPanel:!1,showYearlyPvYieldPanel:!1,showSiteInfoPanel:!0,weatherPanelX:0,dailyPvYieldPanelY:8,autoRotate:!1,heliodonPanelY:-33,showGroundPanel:!1,dailyPvYieldPanelRect:{width:600,x:0,y:0,height:400},orthographic:!1,heliodon:!1,groundImage:!1,mapTilt:0,showInstructionPanel:!0,groundPanelX:0,cameraPosition2D:[-29.13539419159263,-62.865274648456655,150],enableRotate:!0,cameraPosition:[13.301447909114042,-125.69517498333751,12.672024693594299],mapWeatherStations:!1,waterSurface:!1,mapZoom:17,heliodonPanelX:-1175,groundPanelY:0,shadowEnabled:!0,dailyPvYieldPanelX:-3,panCenter:[-18.660063442267198,-59.376354618489714,6.942819287427842],showMapPanel:!1,showDailyPvYieldPanel:!1,groundColor:"#68ccca",showHeliodonPanel:!1,yearlyPvYieldPanelY:16,mapType:"hybrid",yearlyPvYieldPanelX:-25,cameraZoom:5.839780486775448,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showPvDailyYieldPanel:!0,axes:!1,showDesignInfoPanel:!0,dailyLightSensorPanelX:-240,dailyLightSensorPanelY:232,theme:"Grassland",groundImageType:"hybrid"},c3n={yearlyHeliostatIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},u3n=1,d3n={poleSpacing:3,rowAxis:"Zonal",tiltAngle:0,rowsPerRack:1,pvModelName:"CS6X-355P-FG",poleHeight:1,orientation:"Landscape",interRowSpacing:2},f3n={rowAxis:"Zonal",orientation:"Landscape",minimumInterRowSpacing:2,poleHeight:1,poleSpacing:5,minimumRowsPerRack:1,maximumTiltAngle:1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumRowsPerRack:6,maximumInterRowSpacing:10,minimumTiltAngle:-1.5707963267948966},h3n={geneticAlgorithmParams:{populationSize:20,crossoverRate:.5,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionMethod:1,selectionRate:.5,objectiveFunctionType:1,maximumGenerations:5,convergenceThreshold:.01,mutationRate:.1,localSearchRadius:.1},particleSwarmOptimizationParams:{vmax:.01,inertia:.8,objectiveFunctionType:1,cognitiveCoefficient:.1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,localSearchRadius:.1,searchMethod:1,maximumSteps:5,convergenceThreshold:.01,swarmSize:20}},p3n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},g3n="Tourist Attraction",m3n="The Architect",y3n="Mayan Pyramid",A3n="El templo de Kukulcán,1​ es un edificio prehispánico ubicado en la península de Yucatán, en el actual estado del mismo nombre.",w3n=null,v3n=[],x3n={docid:Z9n,time:e3n,timestamp:t3n,userid:n3n,owner:o3n,email:i3n,world:r3n,elements:a3n,sceneRadius:l3n,view:s3n,graphState:c3n,evolutionMethod:u3n,solarPanelArrayLayoutParams:d3n,solarPanelArrayLayoutConstraints:f3n,evolutionaryAlgorithmState:h3n,economicsParams:p3n,modelType:g3n,modelAuthor:m3n,modelLabel:y3n,modelDescription:A3n,designProjectType:w3n,notes:v3n},b3n="h2AeuzPtvyccb7bEaZpofi",S3n="02/04/2023 01:10 pm",T3n=1675534213625,P3n="QWecNcxhyvP6j6sBN11hBsfZDau1",C3n=null,R3n=null,H3n={solarRadiationHeatmapGridCellSize:5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Isfahan Province, Esfahan, Enghelab Sq Chahar Bagh e Abbasi St، JMV8+QX8, Iran",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:32.64464465095667,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:51.66765981904907},M3n=[{type:"Foundation",cx:-24.087406912469724,cy:-.9943329859958538,cz:.3,lx:309.0660757142105,ly:148.37785658395512,lz:.6,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,color:"#4d4d4d",textureType:"Foundation Texture #5",locked:!0},{type:"Wall",cx:153.13833064830163,cy:4.807832977070984,cz:0,lx:15.894482628786152,ly:1,lz:4,relativeAngle:1.6141972072488455,leftPoint:[153.4831396456019,-3.131924655538281,.6],rightPoint:[152.79352165100136,12.747590609680257,.6],leftJoints:["fD1UBEgXL6iTqqgsj9fhry"],rightJoints:["f2zX88pBygszntq4fuFUT5"],textureType:"No Wall Texture",color:"#dd8c55",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"m87y7C5QvZwH9XgiqzyDsg",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-152.5559344954129,cy:3.9555923893088227,cz:0,lx:14.231488793574167,ly:1,lz:4,relativeAngle:4.801490183460943,leftPoint:[-153.1891172963546,11.043109434155966,.6],rightPoint:[-151.92275169447117,-3.13192465553829,.6],leftJoints:["f2zX88pBygszntq4fuFUT5"],rightJoints:["fD1UBEgXL6iTqqgsj9fhry"],textureType:"No Wall Texture",color:"#dd8c55",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"pV4i6Rv9Vpys7aXEi9nnh4",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.45022052258609563,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kjpqeFXZhizkQQr5Hivm1x",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.42320729123092926,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xihM6sKHtJ56MCcntR5Pn3",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3961940598757629,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aeHoYndySbPsgXVjUCfHsH",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3691808285205965,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYyU8ieYT8rZoSrLt7N5sQ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.34216759716543016,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5g3FeTPUp5Q7UE3xvhA98P",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3151543658102638,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rHjZTUsU1eafkXFHxU1PLK",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2881411344550974,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7kG8zf5fGdctVHWVtR3gZG",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26112790309993106,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pyxgv4MkDKunPXUdWXGkeK",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23411467174476475,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dVAeQcMiSZmruJYZ1yoay8",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20710144038959846,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2xN7obuKRCafLdBciyJcgU",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18008820903443218,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hsVmzqgjRUqWu9pUUuohXS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1530749776792659,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"82FTBR7MFe9VjFyizNpuHe",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1260617463240996,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iyR4AwdTWGGfWcPMw3q9yS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09904851496893328,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eUKQkGt2QkcKAQkFbyBd1z",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07203528361376696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pXoTt6VKWQ38KsJoNipigS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.045022052258600634,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"h5HEkcguEMJKHHE9CTcHyU",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.01800882090343431,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3N4zt2BmanxLWvDVeMWxws",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.009004410451732012,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nU4dTNk98whZDM1D6iF1wH",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.036017641806898336,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wn6JZdPWKb4ULL75tPNQNf",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06303087316206465,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vvkCvyRoLDxmsRByGmpBzy",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09004410451723098,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2VBpzGbfV2mQWBqheobZU8",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1170573358723973,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6dAY6WFsTirRsXExVou2P4",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1440705672275636,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rhZQSKVeSziHJnsN1wJJXZ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17108379858272987,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iRL8ygheAyqnavA7YkPNUy",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19809702993789616,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iDwqS1ACo3nwFTgu3ZUn9P",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22511026129306244,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cW4eyEo2JKwejeyCd9U7qY",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25212349264822875,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5Qe1yDDX9nFGs5zfDrsrCP",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2791367240033951,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"miecWuKrFNJbG2jUsMkGdJ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3061499553585615,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1MQhMoVtyd649yMzeGnhiz",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.33316318671372785,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"m8pkHXYqCXHkqKvPBAZwqz",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3601764180688942,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wNkx21Xrdez1MeTxYPd4yM",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3871896494240606,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oUMCjti1nCovRzd2744TQ9",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41420288077922696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"txUufVQNmXshJWF6xqpWhP",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:-.19779782267661816,cy:11.895350021918105,cz:2.268765007024547,lx:305.9873863303283,ly:1,lz:4,leftJoints:["m87y7C5QvZwH9XgiqzyDsg"],rightJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],leftPoint:[152.79352165100153,12.747590609680286,.6],rightPoint:[-153.1891172963546,11.043109434155966,.6],relativeAngle:3.1471631119377927,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.69063753117418],id:"f2zX88pBygszntq4fuFUT5",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,selected:!1,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.45022052258609563,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"saRb1kM5vD2B9Hp74JLvqp",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.42320729123092926,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2bWU8rtwvXjxo9aXzuerLB",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3961940598757629,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYnezXtfnko5GcAor3MWu7",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3691808285205965,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6tZNzJ3NpgTVHKjGhXk5ij",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.34216759716543016,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qYBjBMG217J5xiN31k1FVh",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3151543658102638,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2ZPzdru18Dd9wbgc6tF8hm",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2881411344550974,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4QFUZqYWR8J1sv6MW3wHQR",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26112790309993106,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vxc3EcwAgcYTpUmxZr3Nzt",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23411467174476475,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oVh5ccuC7bRVGc8GT2nG1w",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20710144038959846,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"syZxWKWMgKJbf9AQLw2DbK",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18008820903443218,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kbpuGEAsfRXc3aBZ7yLy35",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1530749776792659,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qHCQ6aJqKx2bg8CTfP6ksL",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1260617463240996,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5yhhQGggQJLxrwyLMTZk76",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09904851496893328,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jbVZKYLq5UCNS54M7MLP7w",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07203528361376696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dMS3cANbFbUy72GtNg5nTX",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.045022052258600634,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dQ1L5CXyaRnqFdZmdJ23Mx",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.01800882090343431,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jJzaRsWSkzzXGUbxhM8Tkd",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.009004410451732012,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9CdAzuCiQLeLt1Rpfn5FGg",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.036017641806898336,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iw4U38q8hoNmj83CegVdj8",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06303087316206465,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1S3q9zUqhnXwjv568RB51K",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09004410451723098,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vF6KJJ1x1WYqaYRYVSjoYX",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1170573358723973,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fT1RMXQH4BRBFk8RzzEyqB",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1440705672275636,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uRmEZhdLDsYdKddFP5mnAZ",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17108379858272987,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qdquxadFLYruszob71gLbV",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19809702993789616,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8n95WzWt7D23dwMcn7s35V",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22511026129306244,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oPjFrXfiZkaoXxsWWdGBLk",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25212349264822875,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vFx9mhnTHbSWtMBawETWGK",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2791367240033951,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"npXN3hv9x7TnSdu9mcCLRN",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3061499553585615,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5sdwP9myEG7quLwU7Xrz47",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.33316318671372785,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jSXDfhhT2GuCgaELbHNqdw",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3601764180688942,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rz4GUsef9nqJhXFRmdEzzD",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3871896494240606,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4bjaEWSRz3V8CCdF71xaCz",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41420288077922696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hmfdn7ZwhGKfmSizXsFFVk",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:.7801939755653722,cy:-3.1319246555382825,cz:2.268765007024547,lx:305.40589134007274,ly:1,lz:4,leftJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],rightJoints:["m87y7C5QvZwH9XgiqzyDsg"],leftPoint:[-151.92275169447117,-3.131924655538283,.6],rightPoint:[153.4831396456019,-3.131924655538281,.6],relativeAngle:-26173711784754543e-33,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.69063753117418],id:"fD1UBEgXL6iTqqgsj9fhry",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,selected:!1,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["f2zX88pBygszntq4fuFUT5","pV4i6Rv9Vpys7aXEi9nnh4","fD1UBEgXL6iTqqgsj9fhry","m87y7C5QvZwH9XgiqzyDsg"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"16a9tkDUC6i3u2A8viWNQi",locked:!0,rise:0,ceiling:!1},{type:"Wall",cx:152.31464905205874,cy:-1.0704041763225653,cz:0,lx:4.732830401162478,ly:1,lz:10,leftJoints:[],rightJoints:["9NUyotcWKkPg4jzRyBrCwn"],leftPoint:[152.6600543110326,-3.411475749046293,.05688696619531554],rightPoint:[151.9692437930849,1.2706673964011728,.05688696619531554],relativeAngle:1.7172810304491228,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"oQZ4yGirBmQVFQ9YDrVVvp",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-153.90823853352632,cy:-1.321690966858462,cz:0,lx:4.36784096744436,ly:1,lz:10,leftJoints:["9NUyotcWKkPg4jzRyBrCwn"],rightJoints:["2EQtF2szHM14rxHpJcmfUo"],leftPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],rightPoint:[-153.27396079991317,-3.4114757490462893,.05688696619531554],relativeAngle:-1.2761193330736746,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"wUpyWMY54tun2oXCsJoZhL",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.2866362370273055,cy:1.0193806058652697,cz:2.268765007024547,lx:306.5121720836238,ly:1,lz:10,leftJoints:["oQZ4yGirBmQVFQ9YDrVVvp"],rightJoints:["wUpyWMY54tun2oXCsJoZhL"],leftPoint:[151.96924379308496,1.2706673964011799,.05688696619531554],rightPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],relativeAngle:-3.13995299992499,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"9NUyotcWKkPg4jzRyBrCwn",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.1369830444213562,cy:-3.2057378745231233,cz:2.268765007024547,lx:304.27424431214394,ly:1,lz:10,leftJoints:["wUpyWMY54tun2oXCsJoZhL"],rightJoints:[],leftPoint:[-153.2739660888427,-3.4114757490462466,0],rightPoint:[151,-3,0],relativeAngle:.0013523191073632186,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"2EQtF2szHM14rxHpJcmfUo",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Stud",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"4UKGcXwxZXJkjRB5gCcWoM",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["9NUyotcWKkPg4jzRyBrCwn","wUpyWMY54tun2oXCsJoZhL","2EQtF2szHM14rxHpJcmfUo","oQZ4yGirBmQVFQ9YDrVVvp"],selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-13.437660062457336,cy:-3.021202416355237,cz:.05,lx:333.3539193128119,ly:8.472793647667807,lz:.05688696619531554,normal:[0,0,1],rotation:[0,0,-1.6859880574265222],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dYN3JG9zLXMcmq6cqLG4jC",selected:!1,locked:!0},{type:"Window",cx:-.4547943367220286,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:0,normal:[0,0,1],rotation:[0,0,0],parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",id:"8c427syBcfkzhApjRu7KiG",locked:!0},{type:"Window",cx:-.4440280432415217,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jdaEWMvReo1Vung8tjzaSx",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4332617497610147,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3B48xu3sHcEjL7mhoaWwHU",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4224954562805078,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5U7EeBcgVpiGapLTZWovwM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4117291628000008,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jSiSuprvH81cqvi89vBqpb",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4009628693194939,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dchxG8ZAQ9uRfitqDkaXnL",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3901965758389869,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rd3v273iMAtFt31eXrFRnG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.37943028235848,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nJWwv1LMiSQJXxdLNgDCWR",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.368663988877973,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tEUzEwitdzqR62Z2hEX3qr",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3578976953974661,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"794wiotJYK86u4ytktDe21",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3471314019169591,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5tf1cYsGZGuXZLvqtY3Wus",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3363651084364522,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6wFEvk3pLRAy6sCQxQ4sPQ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3255988149559452,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vknekJf36fzszYh1h83wqd",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3148325214754383,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x2iBhPct6yCXXun6vuDJJS",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3040662279949313,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rgbja9QpX2jJYhsCViY2yY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2932999345144244,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xyNKQPQWThs67xeiTbWtLY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2825336410339174,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gbTmncsXqQVmz8SeKbxv3d",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2717673475534105,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9PuDkFfgSLMfPq51XevFh7",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2610010540729035,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mJGKG5YpTDDj5mzeHuFzCm",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2502347605923966,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8z2YkWvq4poYzmwNCG45JY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23946846711188963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"emAZ74KFMWSta8KaMduCkr",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.22870217363138268,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6Ds8xyAoQtsih1Pj2eDZwi",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.21793588015087573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u45SNvprQYGANCPSwBGzLs",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20716958667036878,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"htZhURdHCCyJ33tqDmC1gT",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.19640329318986183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wZwEP2ER3Q9obYa3kXhZ7h",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18563699970935488,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5zNfcKQCEZvh8nJP9dr2G9",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.17487070622884793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pBLFgbZxEBNSEtSSjunwwQ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16410441274834098,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qkAJcZyKCcJsGREUhkQ78i",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.15333811926783403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bY9FdJE4SUzDC35a2K1Tzi",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.14257182578732708,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"chLpcXJGwNdNfMozdu7hKg",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.13180553230682013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3v2BjJSxDF6WpC2DEP42PU",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.12103923882631318,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fqLN8nXoQdJLLJXy5Gwq4f",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.11027294534580623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"21VBTu8WAdnNwf3x8Zhsuu",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09950665186529928,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ioXeHrGyfepr3g94p8JLrw",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.08874035838479233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cy797bHB115wX1gZRH3swM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07797406490428538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"avv4wEy6iPL1CGQoPdSWU5",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.06720777142377843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fJbmZ64QMaPM9EGMmB984H",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.05644147794327148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dWfjvmrxqx18k2RKjfdiie",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.04567518446276453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nefVVFfk24vVE2WLuZReQ4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.03490889098225758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qLr8HKMWcfRHcfPkHfGPHC",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.024142597501750636,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oy13AUfgb8jcwnMbGNC7a4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.013376304021243696,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4oRAMSYUJG1S9YeFQFNThR",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.0026100105407367564,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gSmzU3p7S4nLpThNjjLpNP",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.005872523716636283,cy:.1,cz:.215,lx:.004567518446267809,ly:1,lz:.41000000000000003,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jVtZiADJWYhT3XDB4vjJJ8",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.01533381192677481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6CmGH8a9xKQ4kNuHGUMAw4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.02528447711330811,cy:.1,cz:.205,lx:.005546272399057335,ly:1,lz:.39,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u38CDVSjPJwJgHnw2Y6FBF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.03327763439428638,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tq3gcRfDVJqb7T6MyBKK2T",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.04404392787479333,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dSNi5FN3jitEZpttkJCZah",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.05481022135530028,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"skDmbyQ9ChWHwFXt4vbpdF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06557651483580723,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1TSBXLmviiwznmkhKxY4F2",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.07634280831631418,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vYMMSTxDfPvirbGiiE2UJZ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.08710910179682113,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rRLUQpqQSTeubCr79bjn8m",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09787539527732808,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gcKRcHdNpX9Vtmc6HncwGF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.10864168875783503,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oeGCBcEftrMH9jXAYtFrCa",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.11940798223834198,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ajECxgC3C6oXv4ciM75edJ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.13017427571884893,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"g62oxEPuj3wd39vv4EYTgA",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.14094056919935588,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4k8GPkrBb12613smqqyShp",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.15170686267986283,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vBpUF9pHrUiuWZ5eVGTu5p",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.16247315616036978,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hgdBdvabmf6Pd5AVy88Leh",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17323944964087673,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mkgCAdDKF5LyXVZDpVipxK",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.18400574312138368,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"352sJZ7Jvw7FRWDNhR3m19",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19477203660189063,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hTHrpxyWuGhz1duVVa441z",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.20553833008239758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"icykR9dGdiRBF5wm2ixAXY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.21630462356290453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8hHkoZq2YYvcBW78r5hZFt",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22707091704341148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sezgWua2c8TT2rYs9Vc9P3",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.23783721052391843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wdyWjdXf8jBzBkXxJJiXk1",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.24860350400442538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wxGSNmdFgrPkRZEQsr8fWa",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25936979748493233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kQNmZsKiKnFT7Utyn9jZgh",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2701360909654393,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bANrbxGiy8tnQaAwz7Zyf4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.28090238444594623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uLfixFD9ZurMuJqq1YJ517",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2916686779264532,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6ZXh3jYZhqjps3nTnn4kmX",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.30243497140696013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6tnSUYG5FnRK1A46sJBg1v",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3132012648874671,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"r6eyDw9sk8QzcdPZ55YqR4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.32396755836797403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dcBrioFfV3SWYJEue4QEz5",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.334733851848481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qFXxdtGrRR5HpmzE8PG7T1",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.34550014532898793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"53ERZmvVXVHTHZKdd5jDMd",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3562664388094949,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"d4fFAm5371MeUPa3wg3bvM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.36703273229000183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6c7LVC3vg4uwfj3z9fdtvK",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3777990257705088,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qUfYKqrHB4CrQ3N1sLtFtG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.38856531925101573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2m5mJjvys8EXj2Dtn5HR6L",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3993316127315227,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nTo2Ea7ixx2Bx6c49MgE5r",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:152.31464905205874,cy:-1.0704041763225653,cz:0,lx:4.732830401162478,ly:1,lz:10,leftJoints:[],rightJoints:["g3He9XTWe5maiTYrqciaG9"],leftPoint:[152.6600543110326,-3.411475749046293,.05688696619531554],rightPoint:[151.9692437930849,1.2706673964011728,.05688696619531554],relativeAngle:1.7172810304491228,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"tTQGq2VqjKpQoZgpEaARbs",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-153.90823853352632,cy:-1.321690966858462,cz:0,lx:4.36784096744436,ly:1,lz:10,leftJoints:["g3He9XTWe5maiTYrqciaG9"],rightJoints:["xdCET3deCXRuddujsYebQJ"],leftPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],rightPoint:[-153.27396079991317,-3.4114757490462893,.05688696619531554],relativeAngle:-1.2761193330736746,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"a3Vx8CkX7Gvm3xygEW6suk",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.2866362370273055,cy:1.0193806058652697,cz:2.268765007024547,lx:306.5121720836238,ly:1,lz:10,leftJoints:["tTQGq2VqjKpQoZgpEaARbs"],rightJoints:["a3Vx8CkX7Gvm3xygEW6suk"],leftPoint:[151.96924379308496,1.2706673964011799,.05688696619531554],rightPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],relativeAngle:-3.13995299992499,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"g3He9XTWe5maiTYrqciaG9",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Window",cx:-.0016312565879556264,cy:.1,cz:-.25,lx:.9722289264215535,ly:1,lz:.4,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4TrowgoNHHNXYC8KtY1dtx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4547943367220286,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iof3BVn3KFMX9V6rxX61FU",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4440280432415217,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oeVswn1FhJvx1f2JWvuaZH",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4332617497610147,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4ZTszhixEz84xXerw82Uo3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4224954562805078,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1sd89pPPKeQ9FqjTEs4sZF",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4117291628000008,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8s1DLvp5TX82whCzVfdUy4",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4009628693194939,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oXy9DWPm3cMawuws3jF8Dw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3901965758389869,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ggUJnAELkscnr8wCY2e7Xs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.37943028235848,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8K3TMP2Tgt2RSSJuVqdR4j",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.368663988877973,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2S8f7FahdEW7w7JhfCr366",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3578976953974661,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hhTDcot7DdMSFULh2sdVeZ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3471314019169591,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2pZvpiD5SsELthkKt5tJ3m",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3363651084364522,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qtThbnZ5JrBKiRkEvfRHrG",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3255988149559452,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fGfPoazDUrc1DSJzSnMpw3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3148325214754383,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x3RhjZSxkvWSRpw5djcpHZ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3040662279949313,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oLkzHPWGqiFTFWraAnDDgS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2932999345144244,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tjR9qDZMaGrJrWqAX3GTdN",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2825336410339174,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2mkdDg7a8yURhWsybphBX8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2717673475534105,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"shD7ir3GFfbNG9UMMU6iwe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2610010540729035,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"afuEQk9zuenrJ8npwWbHHS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2502347605923966,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bUcm7SdZ4EQSXBzhVjLFu8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23946846711188963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"umh8sJsWFoUPrkMgMwXLJn",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.22870217363138268,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ervRrrNZYFcCz6shRwYQAk",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.21793588015087573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aRMEj198niGbhwRDVQV2Km",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20716958667036878,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"25sJCfiia7r85LY9nqQicw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.19640329318986183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"73rwFbBokSJRAU9Dv14LUw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18563699970935488,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9DpFamDpKZuxKGTKjNyYgL",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.17487070622884793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tMcjE28A6HsCisTEqVEqDz",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16410441274834098,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5prc1TM3iJvnq2rRv3GjGw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.15333811926783403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8hZc1y1J1uuiUzd7bn2efy",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.14257182578732708,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"btAxXppEu9xUvRTDmyL6e9",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.13180553230682013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nk7LwxQwWjfkFkTpnqaBzC",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.12103923882631318,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xqm1C2kjuX1xr87NJG13D1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.11027294534580623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tKZW8EpQP3VnR9rHQDUsi7",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09950665186529928,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cs2PWb768A9N78tdDnfCJe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.08874035838479233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aEp3n5z6CHtBUhs4tf1qQE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07797406490428538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9yP2H7BonttfM9g6obUAWw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.06720777142377843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mzzB5cTKaPu2GCcZSHNfoN",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.05644147794327148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rLsbraJPBqJvE4764xSEve",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.04567518446276453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vKVhtpqyoaaHZW5MyN6eTB",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.03490889098225758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jqdKUxQoqH8xWJQ6WhDGVQ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.024142597501750636,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7W9Ex51ZfXMaF32tnfWjoG",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.013376304021243696,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cHwdqwmBgx8A17cDpZPPbh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.0044043927874840355,cy:.1,cz:.21999999999999997,lx:.003588764493510067,ly:1,lz:.42000000000000004,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eJYiY4DxK2CARyVadVVJCx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.004567518446267871,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9Q9L4KdsCCfLnQFBJuanXE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.01533381192677481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3cRXM4bonZuYd9TnGSQqHH",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.026100105407281752,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"97h3j7H6Qh9e6EQaWwwUZs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.034419514005859485,cy:.1,cz:.21999999999999997,lx:.004893769763858407,ly:1,lz:.42000000000000004,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1tjDay5JXZwfoH1FRqotv8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.04404392787479333,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"r2NNGxf63r8FosPwJcTE9W",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.05481022135530028,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oAWmRTRvbzDTo9C3MrVKuU",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06557651483580723,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nxEpnZTwyQv5kRbmcUQT1a",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.07634280831631418,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cxmmFejGDyUJgTvayWAjdb",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.08710910179682113,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rMHepSTZZvbuQwxezFKpdj",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09787539527732808,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eaxDcJH54ULucXspGZbKty",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.10864168875783503,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iCSFe1wxX4XSin8cB68JeL",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.11940798223834198,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kgoq3WLxjVdPRdaxyzqFVA",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.13017427571884893,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tBR5PErXE7yvYAGPgMqH1D",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.14094056919935588,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iyQuNv6jvRv3GvuS8UwxUv",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.15170686267986283,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xmqsdiGpkMdxiVjXTPaJy1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.16247315616036978,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"k5yQE7AumptJLR5Hzwy992",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17323944964087673,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pB3LcGmgHBTuT6LcAoCTvg",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.18400574312138368,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"n43Pd6jLDz3CYkTbCV3gjh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19477203660189063,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"trG58x8VeFSbKFAEHY4zJs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.20553833008239758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pTcw3Ur3TBnoB59qvLnZju",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.21630462356290453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cfRJh7295CGWwCnbeA6tL2",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22707091704341148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dY8S4UaNAqP39TMFMEg5vp",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.23783721052391843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iXENQGue8HpDQxMxGep9B7",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.24860350400442538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wcpBvnsfPogwewn1nqjhP1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25936979748493233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"o9i61J2BnA3F192C23MrBE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2701360909654393,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"491xMjyUYSkSxP8QumC9Ad",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.28090238444594623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pSWKk8pafQidxC7vXHaMCo",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2916686779264532,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iTAFmPC5oX6jsetEFccxke",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.30243497140696013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iz9ye9NbXspk9eitQpzyBB",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3132012648874671,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gNyXuR9rKr3itGofcKsjEe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.32396755836797403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qtDo91vL39Swf6jH2eCN33",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.334733851848481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jPqnNwwcUAYNf7z6neEUMx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.34550014532898793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bEUtkBUPaeHwYUvidNh7L3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3562664388094949,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ea6qeRQ1FZ5mWCfujb9TRw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.36703273229000183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wWpVZQ8VDFJormPKS8z6GS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3777990257705088,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sxCmsmibuQs3hkEUB7yL2z",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.38856531925101573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hg7q1GBM4nGGX6iEWCAYQY",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3993316127315227,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tYNYJRyLtFZMp118iLaQYh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:-1.1369830444213562,cy:-3.2057378745231233,cz:2.268765007024547,lx:304.27424431214394,ly:1,lz:10,leftJoints:["a3Vx8CkX7Gvm3xygEW6suk"],rightJoints:[],leftPoint:[-153.2739660888427,-3.4114757490462466,0],rightPoint:[151,-3,0],relativeAngle:.0013523191073632186,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"xdCET3deCXRuddujsYebQJ",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Stud",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"9giBMxpAESvroYM29nf3G8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["g3He9XTWe5maiTYrqciaG9","a3Vx8CkX7Gvm3xygEW6suk","xdCET3deCXRuddujsYebQJ","tTQGq2VqjKpQoZgpEaARbs"],selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-26.222816598442076,cy:-.9292686291105667,cz:.05,lx:333.3539193128119,ly:8.472793647667807,lz:.05688696619531554,normal:[0,0,1],rotation:[0,0,1.4494959437812907],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5wyrw4eyiKGEAMo62i1ana",selected:!1,locked:!0},{type:"Cuboid",cx:-43.176009447245605,cy:-162.89911470396555,cz:2.4,lx:33.24079414212538,ly:153.39358926336755,lz:4.8,color:"gray",faceColors:["gray","gray","gray","gray","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.690700446406907],parentId:"Ground",selected:!1,id:"u7iJ275LF7PsLiM2u1dVBQ",locked:!0},{type:"Cuboid",cx:-2.8348275713997992,cy:161.33575348972343,cz:2.4,lx:33.24079414212538,ly:153.39358926336755,lz:4.8,color:"gray",faceColors:["gray","gray","gray","gray","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.690700446406907],parentId:"Ground",id:"wyK5WSj9bXtNuRAF7XgETz",selected:!1,locked:!0},{type:"Human",name:"Jack",cx:-13.867776626070096,cy:16.44454221560224,cz:2.4,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"u7iJ275LF7PsLiM2u1dVBQ",id:"3TR4V58Snnnj9e7TpcxNer",selected:!1,locked:!0,ly:.42},{type:"Human",name:"Jade",cx:4.361328445266435,cy:5.283856360212143,cz:2.4,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"wyK5WSj9bXtNuRAF7XgETz",id:"432YUQhSdAnxi3UMs4gV6j",selected:!1,locked:!0,ly:.48},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.21759070764863064,cy:.09383633281654624,cz:.500000019868218,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"nA8YNqGcgNn6n9w5X3BpF9",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.16557346067688847,cy:.09106998636897809,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"wZS6seNSEkCgvazx2SPZ5c",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.11082921515041991,cy:.08928793716557112,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"x3C87W7drRbnUHfAYYiZ6Y",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.05774324107965007,cy:.0913178646013816,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"u6wAPuen9vF2Z3r6jkt6uM",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.005068761768732548,cy:.08874894608300367,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"rL6iysZ9LkBhdnBmy78QpW",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:-.0491156001466331,cy:.09437002382165598,cz:.500000019868227,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"rEnSYjbkzp79trJtnUa7Gy",selected:!1,locked:!0},{type:"Window",cx:.41009790621202963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pR2ZvfPm33xd32n52fERDG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.4208641996925366,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"d3taAEWrsfg9pDkNriT6Bf",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41009790621202963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jDcqi15keuTdq7ExRrL3UP",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.4208641996925366,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q63v3RoQgW3e2HtK8UQ7Hm",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:4636310074930709e-32,cy:.1,cz:-.275,lx:.9689664132456421,ly:1,lz:.45,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rkSn9S8cDboGt5qcUBcvye",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0}],I3n={dailyPvYieldPanelX:0,mapPanelY:58,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[110.96343175001607,66.9554559161036,720622586878184e-19],yearlyHeliostatYieldPanelY:0,mapPanelX:197,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[110.96343175001607,66.95530590939957,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:17,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.806523424789926,-160.05159040218686,14.727641870329451],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:3.3216676797521423,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#fb9e00",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-32.60447516785695,-115.97404775152154,.3818596975980578],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:2.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-4,y:10,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1254,y:272,width:600,height:360},weatherPanelRect:{x:820,y:40,width:500,height:500},waterSurface:!1},z3n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},D3n=1,E3n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},k3n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},F3n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},L3n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},W3n=[],N3n={docid:b3n,time:S3n,timestamp:T3n,userid:P3n,owner:C3n,email:R3n,world:H3n,elements:M3n,view:I3n,graphState:z3n,evolutionMethod:D3n,solarPanelArrayLayoutParams:E3n,solarPanelArrayLayoutConstraints:k3n,evolutionaryAlgorithmState:F3n,economicsParams:L3n,notes:W3n},U3n="9ZNtij6epEbjFerL3Fki8V",B3n="04/30/2023 08:14 pm",j3n=1682900089813,Y3n="QWecNcxhyvP6j6sBN11hBsfZDau1",O3n=null,_3n=null,V3n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2023, 12:00:00 PM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,countryCode:"US",airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},G3n=[{type:"Cuboid",cx:-.22430639550810128,cy:8.947133751823877,cz:2.401107446167214,lx:18.902326348374032,ly:5.3294214620188916,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],stackable:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"m4D9SbEpcsZfFRNzvJTjS5"},{type:"Cuboid",cx:-.26822240735293335,cy:12.103493027949177,cz:2.839687693194611,lx:18.984817336850906,ly:1.06143303468172,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"4w7XR2z9jkkyeZbNjAh92J",selected:!1},{type:"Cuboid",cx:-8.62825556014066,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"8anKqMBmn2tBM3VcbkW2hs",selected:!1},{type:"Cuboid",cx:-5.172802633695682,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"1L5N5fkm9M3irZedu1HDBw",selected:!1},{type:"Cuboid",cx:-1.7173497072507025,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"6oVCjynNCY7nCmhamoZVq2",selected:!1},{type:"Cuboid",cx:1.7381032191942762,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"4zPy6F9nXphm8skTrgCaAW",selected:!1},{type:"Cuboid",cx:5.193556145639255,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"7mvJNbzUwn3qqmU3qEVitc",selected:!1},{type:"Cuboid",cx:8.649009072084235,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"xiYgkAhrbVK6XVAigVSkom",selected:!1},{type:"Human",name:"Jack",cx:-7.801540397849415,cy:-.26188830739616975,cz:2.4011075496673584,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m4D9SbEpcsZfFRNzvJTjS5",id:"8NTe1csuN2SaTMvxbNW9Po",selected:!1},{type:"Cuboid",cx:-3.6145240973701718,cy:4.206434223281605,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"8JgsqWqgb4cyYSdEJfGwEm",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"8JgsqWqgb4cyYSdEJfGwEm",id:"xeWGgNUm9y6UhkwbSisvQf",selected:!1},{type:"Human",name:"Jeff",cx:-.06368738371907989,cy:.025775270777415926,cz:.10000000149011612,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"pcfABj9VPodaxzM775mxon",id:"eeqUf4vobbEXfMB8bkzmGM",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"xeWGgNUm9y6UhkwbSisvQf",id:"m74U4PeTm7hTqfFPWnM7zL",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"m74U4PeTm7hTqfFPWnM7zL",id:"wUVjKjRa6pzXyxbMQ53EQM",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"wUVjKjRa6pzXyxbMQ53EQM",id:"d41QGJugD7tGPsTYKGhykU",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"d41QGJugD7tGPsTYKGhykU",id:"ewa94SA8sKbxzN2tE4mB3G",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"ewa94SA8sKbxzN2tE4mB3G",id:"arNH7dUPxXi661cPiribL2",selected:!1},{type:"Cuboid",cx:-.008006915988230112,cy:.5202217706157303,cz:.1,lx:1.5160138319764558,ly:1.6177944400962208,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"arNH7dUPxXi661cPiribL2",id:"pcfABj9VPodaxzM775mxon",selected:!1},{type:"Cuboid",cx:.9517371303232212,cy:-.1558343454428396,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"pcfABj9VPodaxzM775mxon",id:"vTqu46XuGVTy2QjutgP1cQ",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"vTqu46XuGVTy2QjutgP1cQ",id:"pp1Ttn4SvkyFUYRPxBPiEQ",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pp1Ttn4SvkyFUYRPxBPiEQ",id:"6h2y2J7ocSWWvCr5bRQvWb",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"6h2y2J7ocSWWvCr5bRQvWb",id:"kLMxbeRFakpUXe68rAKa3a",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kLMxbeRFakpUXe68rAKa3a",id:"ppPnuhTpcUSHXMcpxdAKgq",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"ppPnuhTpcUSHXMcpxdAKgq",id:"awwHf9YjgCzqZ59uSJXvbZ",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"awwHf9YjgCzqZ59uSJXvbZ",id:"kYGd5athrBpPwKUzyL5ypn",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kYGd5athrBpPwKUzyL5ypn",id:"sNEKpySg3BQ4ga8B5hSXC5",selected:!1},{type:"Cuboid",cx:-17208456881689926e-31,cy:.2071151324090322,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"sNEKpySg3BQ4ga8B5hSXC5",id:"nfewirQxFL3G5mr1LTKJ4Q",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"nfewirQxFL3G5mr1LTKJ4Q",id:"eyi9c5ZCgCKTVNCEoLFZki",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"eyi9c5ZCgCKTVNCEoLFZki",id:"kDnmDYWAfFojmgmSfVFXVN",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kDnmDYWAfFojmgmSfVFXVN",id:"6dhMXX3yHamC4VtEy1UWDu",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"6dhMXX3yHamC4VtEy1UWDu",id:"cmC7Vzw8ZucHWUzr8YxLFa",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"cmC7Vzw8ZucHWUzr8YxLFa",id:"9Vw4QTauKAg8QvUaB1Euvx",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"9Vw4QTauKAg8QvUaB1Euvx",id:"pJRDT44anj2xpBPXknWsKw",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pJRDT44anj2xpBPXknWsKw",id:"j38YrARLBzo6erzquVrcVn",selected:!1},{type:"Cuboid",cx:-7.012727351573531,cy:-.0019896050851210545,cz:2.401107446167214,lx:5.332404162083246,ly:12.674961304569683,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"q5FjLBSpipgNNVuah4hNZD",selected:!1},{type:"Cuboid",cx:-.01596259528722399,cy:.11880364489857795,cz:.05,lx:31.446492946590087,ly:34.94910259238378,lz:.1,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],stackable:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"azyA8xuS3BmfetgYA2vQmH",enableGroupMaster:!0},{type:"Cuboid",cx:-6.183805959243027,cy:-11.996720725467824,cz:2.839687693194611,lx:7.107385573986727,ly:1.0946519025967618,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"pvKQ8K8ppq2w8qd94NN9Pq",selected:!1},{type:"Cuboid",cx:-2.6545444189389995,cy:-.012665497780197654,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"wdxoPVDdzYeWyAYAZzkhtp",selected:!1},{type:"Cuboid",cx:.8009085075059792,cy:-.012665497780197654,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"5uJL1EV8MPYeihH3UHzRgB",selected:!1},{type:"Cuboid",cx:-6.259452975235207,cy:-8.867472080025085,cz:2.401107446167214,lx:6.926658110091524,ly:5.102845526644927,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"fDXXcdBNXgffF1kQT4tCPn",selected:!1},{type:"Cuboid",cx:6.486972303080908,cy:-.054704878346608754,cz:2.401107446167214,lx:5.332404162083246,ly:12.674961304569683,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"m4EGzGFe1rC8e8u6MQUpW8",selected:!1},{type:"Cuboid",cx:-10.220230850412868,cy:-.014533868827829727,cz:2.839687693194611,lx:25.047849285814525,ly:1.0029193528166587,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"Ground",id:"uqhNMV7mprjgQMdGsRF2QT",selected:!1},{type:"Cuboid",cx:-5.596739585658853,cy:.0290609141417434,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"q16v7h71SJ7yFzoy83DaBL",selected:!1},{type:"Cuboid",cx:-2.141286659213871,cy:.029060914141743187,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"7o2risK8LTapPsnDGartoZ",selected:!1},{type:"Cuboid",cx:1.3141662672311076,cy:.029060914141742975,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"eAM1pw2NKdNfF1gW8XpVih",selected:!1},{type:"Cuboid",cx:4.769619193676086,cy:.029060914141742764,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"5cwTU21rFZUwTfiouz5qYe",selected:!1},{type:"Cuboid",cx:8.225072120121062,cy:.029060914141749657,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"biVWnambVhBNmbnHk2Wiy3",selected:!1},{type:"Cuboid",cx:11.680525046566043,cy:.029060914141751222,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"rSaUgAuDRqbJLQtkpJnJtG",selected:!1},{type:"Cuboid",cx:-8.818019962594427,cy:.02514455088051193,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"sMxTWQFpHwxtpEsSHpPYb6",selected:!1},{type:"Cuboid",cx:-2.1412866592138746,cy:.0290609141417434,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"eRXqtRB7se3M8GzKXkxUnh",selected:!1},{type:"Cuboid",cx:-11.724426888881109,cy:.05789686773779312,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"qLaLq73w7A9ZmbSk84RuGL",selected:!1},{type:"Cuboid",cx:9.685298368001048,cy:.0017243180851487239,cz:2.839687693194611,lx:25.09195057934765,ly:.9927712733989245,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"Ground",id:"irfb2m2puWv6odJ6Jwp6YM",selected:!1},{type:"Cuboid",cx:-5.618790232425412,cy:-.03080928172797003,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"sEAcnpxYSig5gpY8iTY3Yy",selected:!1},{type:"Cuboid",cx:-2.163337305980429,cy:-.030809281727968464,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"6feu78ouLNMPYNKTLRwvPo",selected:!1},{type:"Cuboid",cx:1.2921156204645494,cy:-.030809281727968676,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"6CfBo1pNmDDqH7Mwik6c7H",selected:!1},{type:"Cuboid",cx:4.747568546909526,cy:-.030809281727968887,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"isrB6noYi8NEhJRQG8ietf",selected:!1},{type:"Cuboid",cx:8.203021473354507,cy:-.030809281727954888,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"dReb13hJ9AJKebwakYRY69",selected:!1},{type:"Cuboid",cx:11.658474399799484,cy:-.03080928172794977,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"3eH5ZbQj5WHp7QCzbxMKGz",selected:!1},{type:"Cuboid",cx:-8.840070609360978,cy:-.03472564498920451,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"svPiKiErdWciBnFsmqoNKg",selected:!1},{type:"Cuboid",cx:-2.1633373059804324,cy:-.030809281727968464,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"aQ3KbWPYnCPqSao4PhCn2t",selected:!1},{type:"Cuboid",cx:-11.746477535647664,cy:-.001973328131929355,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"3GXadNYd518rGsiHZnch9r",selected:!1},{type:"Human",name:"Jamelia",cx:-.09265449725102398,cy:-11.357307781644565,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"azyA8xuS3BmfetgYA2vQmH",id:"1JVUnXP3EYNgXEV5Mhij7X",selected:!1},{type:"Cuboid",cx:5.911674805614613,cy:-8.780289167948837,cz:2.401107446167214,lx:6.525003449448929,ly:4.771919851852802,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"3LriNZQ2FWUrzgTjH1nQGp",selected:!1},{type:"Cuboid",cx:5.6478649104510295,cy:-12.017787072476704,cz:2.839687693194611,lx:7.128069650550036,ly:1.1096381510921969,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-3.141592653589793],stackable:!0,parentId:"Ground",id:"qEtCzg44w2EkGdkHGvTyXg",selected:!1},{type:"Cuboid",cx:-2.609503179079046,cy:.028969325588168324,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"qEtCzg44w2EkGdkHGvTyXg",id:"54P6ija5X4jX2T74DKWGuo",selected:!1},{type:"Cuboid",cx:.8459497473659319,cy:.0289693255881679,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"qEtCzg44w2EkGdkHGvTyXg",id:"hhTBL9sevUWmS4YHc9UFL2",selected:!1},{type:"Cuboid",cx:5.908936634022203,cy:-.011694823916091224,cz:.25,lx:5.894051564987242,ly:1.0122050011149266,lz:.5,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"79YR8wYSe1eRRM8AXmk2pi",selected:!1}],X3n=22,J3n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.365731258384917,-4.23743050549221,-4359573758408488e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.365731258384917,-4.237580512159635,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.8932377675710492,-35.04498361736728,12.916960792715187],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,directLightIntensity:1,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:30.146795390577452,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[0,0,0],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:3.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,heatFluxScaleFactor:20,heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showDailyBuildingEnergyPanel:!1,showYearlyBuildingEnergyPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},K3n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},q3n=1,$3n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Q3n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Z3n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},e6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},t6n="Unknown",n6n=null,o6n=null,i6n=null,r6n=[],a6n={docid:U3n,time:B3n,timestamp:j3n,userid:Y3n,owner:O3n,email:_3n,world:V3n,elements:G3n,sceneRadius:X3n,view:J3n,graphState:K3n,evolutionMethod:q3n,solarPanelArrayLayoutParams:$3n,solarPanelArrayLayoutConstraints:Q3n,evolutionaryAlgorithmState:Z3n,economicsParams:e6n,modelType:t6n,modelAuthor:n6n,modelLabel:o6n,modelDescription:i6n,notes:r6n},l6n="ag6x1qqPgPt1AJp2oKoKDF",s6n="02/02/2023 08:27 pm",c6n=1675387657521,u6n="QWecNcxhyvP6j6sBN11hBsfZDau1",d6n=null,f6n=null,h6n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"10/1/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:1,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},p6n=[{cy:5.105053829358722,normal:[0,0,1],lz:.1,ly:26.301278139506802,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-1.995894425388201,cz:.05,rotation:[0,0,0],lx:38.854999999999976,selected:!1,parentId:"Ground"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.39629808463170607,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:-.0067633355149074184,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:31.488,poleHeight:1,drawSunBeam:!1,ly:1.984,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.006869188501244585,cy:-.3009472773624533,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6g9iBRNNW6XDAK9EeP8dnv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0069750414875817505,cy:-.20559647009320042,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ec9UdLR1fMcWkEUdiFjUx2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007080894473918917,cy:-.11024566282394763,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fQLn5udBainjxVp4XrJMRj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007186747460256083,cy:-.014894855554694773,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p8zx94dUJdEAskSt1PKSVa",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007292600446593249,cy:.08045595171455801,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fc9ACQJk2egBLobC44KRz9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007398453432930415,cy:.1758067589838109,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k1F8Jw2a6YkaS53ggunuWE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007504306419267581,cy:.2711575662530637,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nfKxjTCwPLzpCqrrT4qwQd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007610159405604748,cy:.3665083735223166,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oY8VxSJVvnuAD8XoQBDkh2",selected:!1},{type:"Tree",name:"Spruce",cx:11.921605574611789,cy:-10.909355003026004,cz:0,lx:4.3193414394375225,lz:9.842530786133311,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vfBrsVoh8zPsZKEuooN1Mp",selected:!1,showModel:!1},{type:"Tree",name:"Spruce",cx:-2.2808944253881993,cy:-11.194355003026004,cz:0,lx:4.3193414394375225,lz:10.279562696083193,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"99sYceKNBfrqJSsDa72tLX",selected:!1,showModel:!1},{type:"Human",name:"Joel",cx:-7.8137499999999935,cy:-.3139426000311314,cz:.05000000074505806,lx:1,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"ipdiy6H5XdiRMv79uDtrRE",id:"obVZfacvimifAis6oD33mX",selected:!1,observer:!0,ly:.6},{type:"Tree",name:"Spruce",cx:2.374105574611796,cy:-10.956855003026007,cz:0,lx:4.3193414394375225,lz:9.842530786133311,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sCYPQFyb4Ezu7V4j1ddt8r",selected:!1,showModel:!1},{type:"Tree",name:"Spruce",cx:7.029105574611797,cy:-11.004355003026005,cz:0,lx:4.3193414394375225,lz:8.761424913666062,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"jgqeg8YLSBfHZnbBhuouTU",selected:!1,showModel:!1},{type:"Human",name:"June",cx:7.0000631393125845,cy:-.3317126323621302,cz:.05000000074505806,lx:.4,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"ipdiy6H5XdiRMv79uDtrRE",id:"m6FHMxEEVfFM123WLmXjyv",selected:!1,observer:!0,ly:.4},{type:"Foundation",cx:-1.9721444253882048,cy:-14.775412402994869,cz:.05,lx:38.427499999999974,ly:3.837114799937732,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"ipdiy6H5XdiRMv79uDtrRE",textureType:"Foundation Texture #2"}],g6n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[4.688586933696731,-41.63558463662862,6.94326488693142],panCenter:[5.94996462578833,-14.876226974643979,5.628671784918282],orthographic:!1,enableRotate:!0,cameraZoom:21.05263157894738,showInstructionPanel:!1,cameraPosition2D:[2.659105574611795,-.19810500302601344,47.99999980190954],panCenter2D:[2.659105574611795,-.19805700089319547,5501827899659354e-22],showSolarPanelVisibilityResultsPanel:!0,visibilityResultsPanelX:-6,visibilityResultsPanelY:-1,showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:342,height:67}},m6n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},y6n=1,A6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},w6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},v6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},x6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},b6n=["Vegetative buffer to hide solar farms"],S6n={docid:l6n,time:s6n,timestamp:c6n,userid:u6n,owner:d6n,email:f6n,world:h6n,elements:p6n,view:g6n,graphState:m6n,evolutionMethod:y6n,solarPanelArrayLayoutParams:A6n,solarPanelArrayLayoutConstraints:w6n,evolutionaryAlgorithmState:v6n,economicsParams:x6n,notes:b6n},T6n="8D5YJAWj6vd3LW25Hcokqe",P6n="02/02/2023 03:03 pm",C6n=1675368235538,R6n="QWecNcxhyvP6j6sBN11hBsfZDau1",H6n=null,M6n=null,I6n={timesPerHour:10,pvGridCellSize:.25,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2022 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},z6n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:-.0832752328102914,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:.013242648336242419,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:0,cy:.010384230278591844,cx:.2680462212766878,poleRadius:.05,showLabel:!0,lx:1.046,label:"60°",tiltAngle:1.0471975511965976,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"None",drawSunBeam:!1,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3898315956697325},{ly:1.558,drawSunBeam:!1,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:.5235987755982988,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"None",lx:1.046,label:"30°",cz:.5000000074505762,showLabel:!0,cx:.13277873492805234,poleSpacing:3,relativeAzimuth:0,cy:.010196717472218795,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3601290996632553},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:-1.0471975511965976,normal:[0,0,1],selected:!1,label:"-60°",lz:.046,drawSunBeam:!1,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:0,cy:.003644619198116936,type:"Solar Panel",trackerType:"None",poleRadius:.05,cx:-.26994946306447615,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:.2655114569703831},{tiltAngle:0,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:.010748815746320655,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:-.0014144903672051448,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"0°",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.055863332406658},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.14083049882259674,cy:.007102961069032241,cz:.500000007450585,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"sHpER3yfCDZgTy8YcbqJF4",selected:!1,label:"-30°",dailyYield:.5565058986546524},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3828186339361362,cy:.008748911792797884,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"3AQTuKXP5kZ5PgShm7kPSX",selected:!1,label:"90°",dailyYield:1.1380948831431423},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.413167442044193,cy:.006734639393330298,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:-1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"8GwG9uCiXmMbkeB4NtFJwK",selected:!1,label:"-90°",dailyYield:.3371955456546947},{type:"Human",name:"Jack",cx:-.6922041428236811,cy:-4.092105437234061,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6}],D6n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[8.023018704034044,-16.232959358672062,3.67727930352486],panCenter:[5.030220047531196,-1.0315498826531624,.3615371700849206],orthographic:!1,enableRotate:!0,cameraZoom:53.00068653280895,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999796],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:1,y:4,width:202,height:93}},E6n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},k6n=1,F6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},L6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},W6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},N6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},U6n=[`Effect of tilt angles on +solar panel outputs`],B6n={docid:T6n,time:P6n,timestamp:C6n,userid:R6n,owner:H6n,email:M6n,world:I6n,elements:z6n,view:D6n,graphState:E6n,evolutionMethod:k6n,solarPanelArrayLayoutParams:F6n,solarPanelArrayLayoutConstraints:L6n,evolutionaryAlgorithmState:W6n,economicsParams:N6n,notes:U6n},j6n="44QNMQZiyWYfqFnbbUSraT",Y6n="02/02/2023 03:04 pm",O6n=1675368269762,_6n="QWecNcxhyvP6j6sBN11hBsfZDau1",V6n=null,G6n=null,X6n={timesPerHour:20,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2021 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},J6n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:-.0832752328102914,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:.013242648336242419,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:1.0471975511965976,cy:.010384230278591844,cx:.2680462212766878,poleRadius:.05,showLabel:!0,lx:1.046,label:"60°",tiltAngle:.6981317007977318,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"None",drawSunBeam:!1,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.1296025646801735},{ly:1.558,drawSunBeam:!1,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:.6981317007977318,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"None",lx:1.046,label:"30°",cz:.5000000074505762,showLabel:!0,cx:.13277873492805234,poleSpacing:3,relativeAzimuth:.5235987755982988,cy:.010196717472218795,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3296869651923566},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:.6981317007977318,normal:[0,0,1],selected:!1,label:"-60°",lz:.046,drawSunBeam:!1,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:-1.0471975511965976,cy:.003644619198116936,type:"Solar Panel",trackerType:"None",poleRadius:.05,cx:-.26994946306447615,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.1539575918080192},{tiltAngle:.6981317007977318,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:.010748815746320655,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:-.0014144903672051448,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"0°",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.4023532989786718},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.14083049882259674,cy:.007102961069032241,cz:.500000007450585,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:-.5235987755982988,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"sHpER3yfCDZgTy8YcbqJF4",selected:!1,label:"-30°",dailyYield:1.3216497104200369},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3828186339361362,cy:.008748911792797884,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:1.5707963267948966,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"3AQTuKXP5kZ5PgShm7kPSX",selected:!1,label:"90°",dailyYield:.9830976469578562},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.413167442044193,cy:.006734639393330298,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:-1.5707963267948966,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"8GwG9uCiXmMbkeB4NtFJwK",selected:!1,label:"-90°",dailyYield:.9777009351289816},{type:"Human",name:"Jack",cx:-.6922041428236811,cy:-4.092105437234061,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6}],K6n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[3.763670237910374,-16.61721730429299,2.914312591691999],panCenter:[5.030220047531196,-1.0315498826531624,.3615371700849206],orthographic:!1,enableRotate:!0,cameraZoom:53.00068653280895,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999796],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:200,height:91}},q6n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},$6n=1,Q6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Z6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},eAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},tAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},nAn=[`Effect of azimuth on +solar panel outputs`],oAn={docid:j6n,time:Y6n,timestamp:O6n,userid:_6n,owner:V6n,email:G6n,world:X6n,elements:J6n,view:K6n,graphState:q6n,evolutionMethod:$6n,solarPanelArrayLayoutParams:Q6n,solarPanelArrayLayoutConstraints:Z6n,evolutionaryAlgorithmState:eAn,economicsParams:tAn,notes:nAn},iAn="tKo6pFHzEmKPLUAtFMSXH1",rAn="02/03/2023 04:17 pm",aAn=1675459040307,lAn="QWecNcxhyvP6j6sBN11hBsfZDau1",sAn=null,cAn=null,uAn={name:"default",date:"12/22/2022, 10:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:32.2226066,longitude:-110.9747108,address:"Tucson, AZ, USA",timesPerHour:4,pvGridCellSize:.25,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.7,airAttenuationCoefficient:.01},dAn=[{type:"Foundation",cx:-.14690699678366315,cy:-7.208163838562541,cz:.05,lx:11.055471871472701,ly:58.48001412614986,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",selected:!1,id:"4LeRe177Bf56Mb1oae55ip",textureType:"Foundation Texture #1"},{type:"Human",name:"Jess",cx:1.6319195310451686,cy:-16.45128807612893,cz:0,lx:.6,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mBHbx3X3c1GbXKCLvDVgzL",selected:!1,ly:.6},{type:"Parabolic Trough",cx:-.23513458174461563,cy:.004519902359052559,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"4LeRe177Bf56Mb1oae55ip",foundationId:"4LeRe177Bf56Mb1oae55ip",id:"dcjUqAUQZ4LNafSWu4PepW",selected:!1,dailyYield:147.4722488686051,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"EW2",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:.15865672328822894,cy:.004519902359052563,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"4LeRe177Bf56Mb1oae55ip",foundationId:"4LeRe177Bf56Mb1oae55ip",id:"pwQnP4mNmxVYhvmGqFmMN2",selected:!1,dailyYield:113.9525242653769,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",drawSunBeam:!1,label:"EW1",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:-.19816155489194087,cy:-.00935955151513266,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"anQtntJ2EF1xbdU9j34juv",selected:!1,dailyYield:105.42067563837163,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",drawSunBeam:!1,label:"NS1",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:.2505997669563526,cy:-.00935955151513266,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"2kyncnrNRhEC8vcEWLLbSV",selected:!1,dailyYield:105.31845023255819,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"NS2",labelHeight:4,labelSize:2},{type:"Foundation",cx:.359422565830144,cy:28.716630531767144,cz:.05,lx:9.701256512237665,ly:56.88650192791737,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",id:"rahZRzHN5oxPmD7yBmrrsA",selected:!1},{type:"Human",name:"Judd",cx:3.796298271490718,cy:-15.228318565508843,cz:0,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"eN5ri3eDDgFLQmoz3oRMfF",selected:!1,ly:.6}],fAn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[16.103455794589095,-53.110389552237656,19.628758062026815],panCenter:[15.024700307415378,.2771229411200077,1.7412798340419682],orthographic:!1,enableRotate:!0,cameraZoom:6.470670899474181,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,150],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:11.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!0,dailyParabolicTroughYieldPanelX:-5,dailyParabolicTroughYieldPanelY:5,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:336,height:66}},hAn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!0,yearlyParabolicTroughIndividualOutputs:!1},pAn=1,gAn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},mAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},yAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},AAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},wAn=["Effect of azimuths of parabolic troughs"],vAn={docid:iAn,time:rAn,timestamp:aAn,userid:lAn,owner:sAn,email:cAn,world:uAn,elements:dAn,view:fAn,graphState:hAn,evolutionMethod:pAn,solarPanelArrayLayoutParams:gAn,solarPanelArrayLayoutConstraints:mAn,evolutionaryAlgorithmState:yAn,economicsParams:AAn,notes:wAn},xAn="vx1ug6kpDBy3x9Qeuoopbp",bAn="02/02/2023 12:05 pm",SAn=1675357543063,TAn="QWecNcxhyvP6j6sBN11hBsfZDau1",PAn=null,CAn=null,RAn={name:"default",date:"9/22/2022, 12:00:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:32.2226066,longitude:-110.9747108,address:"Tucson, AZ, USA",timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.6,airAttenuationCoefficient:.01},HAn=[{type:"Parabolic Trough",cx:.0029931755117467013,cy:-.016245165138677214,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:4,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"2kyncnrNRhEC8vcEWLLbSV",selected:!1,dailyYield:233.64209746690477,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"LR=4m",drawSunBeam:!0,locked:!1,labelHeight:5,labelSize:1},{type:"Foundation",cx:.21407524112268916,cy:-36.149591263989876,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"rahZRzHN5oxPmD7yBmrrsA",selected:!1},{type:"Human",name:"Judd",cx:11.353738913610336,cy:-7.831484265178309,cz:0,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"eN5ri3eDDgFLQmoz3oRMfF",selected:!1,ly:.6},{type:"Foundation",cx:-4490043542196287e-20,cy:-.25172016696204835,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"gZkDqHfktzoy6gJmARmspx",selected:!1},{type:"Parabolic Trough",cx:.0029931755117467013,cy:-.016245165138677214,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"gZkDqHfktzoy6gJmARmspx",foundationId:"gZkDqHfktzoy6gJmARmspx",id:"mBvFg1q8TpWjfngs6RnkZ4",selected:!1,label:"LR=8m",dailyYield:233.64209746690477,drawSunBeam:!0,locked:!1,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelHeight:5,labelSize:1},{type:"Parabolic Trough",cx:-.01770652380020336,cy:.008044936654478363,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:16,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"evP6wn78pnNyKDZXgNgWdE",selected:!1,label:"LR=16m",dailyYield:233.64209746690477,drawSunBeam:!0,locked:!1,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelHeight:5,labelSize:1},{type:"Foundation",cx:.08085129201298358,cy:35.3877160159791,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"cZGzTuNW8Aam7msowwUroB",selected:!1}],MAn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[22.155781466338546,-55.72853752805094,9.397557668970421],panCenter:[-5.110111828219519,-15.113374046752455,0],orthographic:!1,enableRotate:!0,cameraZoom:9.753499582310592,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,19.99999999998951],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:9.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!0,dailyParabolicTroughYieldPanelX:-24,dailyParabolicTroughYieldPanelY:26,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:355,height:60}},IAn=1,zAn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},DAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},EAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},FAn=["Effect of latus rectum of parabolic trough"],LAn={docid:xAn,time:bAn,timestamp:SAn,userid:TAn,owner:PAn,email:CAn,world:RAn,elements:HAn,view:MAn,evolutionMethod:IAn,solarPanelArrayLayoutParams:zAn,solarPanelArrayLayoutConstraints:DAn,evolutionaryAlgorithmState:EAn,economicsParams:kAn,notes:FAn},WAn="dvN36C7J8FdfSS21QcUvBx",NAn="02/02/2023 05:16 pm",UAn=1675376211296,BAn="QWecNcxhyvP6j6sBN11hBsfZDau1",jAn=null,YAn=null,OAn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"12/1/2021 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},_An=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:7.484195397296324,label:"L2",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:7.484195397296324,label:"L3",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:7.484195397296324,label:"L4",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"L1",dailyYield:13.210165552148743,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:7.484195397296324,label:"L5",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Foundation",cx:10.048739466084358,cy:.01420541284211474,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008008869365173981,cy:-.18492700121558012,cz:.5000000074505806,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"6AH8jB41hnb2DKANJAvRwV",selected:!1,dailyYield:2.263426258433755,label:"P2",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008328904339362014,cy:.007217978403519174,cz:.5000000074506161,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"aB8iEcrZaWTL6xKZKhhAXB",selected:!1,dailyYield:2.2442794871667524,label:"P3",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008648939313550047,cy:.19936295802261844,cz:.5000000074506517,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"2meA9SG5bqFDgzeFyXtF9Q",selected:!1,dailyYield:2.2442794871667524,label:"P4",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007688834390985949,cy:-.37707198083467935,cz:.5000000074505451,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"868aWiBhQX239e6oehaSij",selected:!1,dailyYield:13.21016555214874,label:"P1",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00896897428773808,cy:.39150793764171776,cz:.5000000074506872,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"oBHHZdopRmiffSiEULht6u",selected:!1,dailyYield:2.2442794871667524,label:"P5",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Foundation",cx:-10.236210959894782,cy:-.0034675956445191503,cz:.05,lx:19.1296452086662,ly:14.728928705271478,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"enRB3aUi95qo1iy8fc8PQq",selected:!1}],VAn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[22.452978407808587,-24.247050313502623,17.045911348582777],panCenter:[16.676839641041024,.697317195514167,.36124976444702794],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230188,showInstructionPanel:!1,cameraPosition2D:[2.651601657211317,-.19810500302601344,47.99999980190954],panCenter2D:[2.651601657211317,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:-3,width:321,height:84}},GAn={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},XAn=1,JAn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},KAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},qAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},$An={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},QAn=[`Effect of orientation (landscape vs. portrait) +on outputs of solar panel arrays`],ZAn={docid:WAn,time:NAn,timestamp:UAn,userid:BAn,owner:jAn,email:YAn,world:OAn,elements:_An,view:VAn,graphState:GAn,evolutionMethod:XAn,solarPanelArrayLayoutParams:JAn,solarPanelArrayLayoutConstraints:KAn,evolutionaryAlgorithmState:qAn,economicsParams:$An,notes:QAn},e4n="gtXnXouMVM8pMVHsKAhdM3",t4n="02/02/2023 12:17 pm",n4n=1675358247774,o4n="QWecNcxhyvP6j6sBN11hBsfZDau1",i4n=null,r4n=null,a4n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/22/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},l4n=[{cy:.045715871759253096,normal:[0,0,1],lz:.1,ly:15,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-10.115014866732034,cz:.05,rotation:[0,0,0],lx:18.175146995703113,selected:!1,parentId:"Ground"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640966676,cy:-.015945367160926777,cz:.5000000074506872,lx:15.744,ly:13.888,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.15,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tc8JHQj7hE233H7YfXfbjR",selected:!1,drawSunBeam:!1,label:"Block",dailyYield:103.86651140858137},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:17.598295752357192,label:"Row 2"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:17.598295752357192,label:"Row 3"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:17.598295752357192,label:"Row 4"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"Row 1",dailyYield:20.418384465308375},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:17.598295752357192,label:"Row 5"},{type:"Foundation",cx:9.631391045182012,cy:-.034724141127635555,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6}],s4n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[23.00808622059582,-24.680171647342778,15.7199588387956],panCenter:[15.700578278283736,2.441435258509561,.07017002569005788],orthographic:!1,enableRotate:!0,cameraZoom:27.207482839996143,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:-1,y:2,width:200,height:60}},c4n=1,u4n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},d4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},f4n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},h4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},p4n=["Tilt or not tilt?"],g4n={docid:e4n,time:t4n,timestamp:n4n,userid:o4n,owner:i4n,email:r4n,world:a4n,elements:l4n,view:s4n,evolutionMethod:c4n,solarPanelArrayLayoutParams:u4n,solarPanelArrayLayoutConstraints:d4n,evolutionaryAlgorithmState:f4n,economicsParams:h4n,notes:p4n},m4n="pbUQyfMqdFM4hGmWGdjXR3",y4n="05/21/2023 08:16 pm",A4n=1684714615826,w4n="QWecNcxhyvP6j6sBN11hBsfZDau1",v4n=null,x4n=null,b4n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},S4n=[{type:"Cuboid",cx:-.09073244329620422,cy:-.08928113742371785,cz:3,lx:59.802153799265035,ly:54.767587001262534,lz:6,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"Ground",selected:!1,id:"pLxvVJ1wH71Yw1QXZXh7Cg"},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],vertices:[{x:-.25918798931603854,y:-.3104025744206716},{x:-.1504962518609256,y:0},{x:-.35951882388998896,y:.16433077469329674},{x:-.09002353591652279,y:.166501344234237},{x:0,y:.4564743741480465},{x:.09196993169278787,y:.16433077469329674},{x:.37624062965231403,y:.16433077469329674},{x:.15885715474208814,y:0},{x:.25918798931603854,y:-.31953206190363254},{x:0,y:-.11868333727849208}],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",selected:!1,filled:!0,selectedIndex:6,id:"rUADzqR9VSPATNniVsn3qE",opacity:.5},{type:"Human",name:"Jack",cx:-21.334148117714555,cy:-20.123968320321495,cz:3.0000000000000004,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,-.7853981633974483],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5uAL6fK1eTHonYN5seNqZq",selected:!1},{type:"Human",name:"Jacqueline",cx:23.344921829148568,cy:-18.543851714098956,cz:2.9999999999999964,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,-.7853981633974483],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2Xajuxftni9JrMcjA5JcTZ",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.24400225350210067,cy:-.2973806270625913,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"dwDAEsrLknWSJ6wmG84FDe",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2340673494452827,cy:-.2824067173672925,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"rJPYR1ViscGwEao14Ahz8L",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.22413244538846475,cy:-.2674328076719938,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2bryRDHBS2YZ4nXPVH27oM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.21419754133164678,cy:-.25245889797669496,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"oKVf1WANEaHoC28aczNAmB",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2042626372748288,cy:-.23748498828139625,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tBCicEZU2wG49eu4i6Kwm3",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.19432773321801083,cy:-.22251107858609742,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"evdaFcgrk6M4JJMyu3ZzMq",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.18439282916119284,cy:-.2075371688907986,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"1sWb4XgrTSe79TQULsTE5S",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.17445792510437497,cy:-.1925632591954998,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"mZffYSWU7S8PgHaRpYZeEL",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.16452302104755695,cy:-.17758934950020103,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"n5a72Z8AZCjsHvJEWEfhFF",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.15458811699073896,cy:-.1626154398049022,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"mEyfc6dJNr8NgLtwNYnoHX",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.14465321293392097,cy:-.14764153010960349,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"wj2fWqRxszA5Gvokpup7wQ",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.13471830887710307,cy:-.13266762041430463,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"bgNCkPikGZjCttLzS6w1Ei",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.12478340482028506,cy:-.11769371071900586,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"pzZaWBzWNUPmQr5UmuU4EJ",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.1148485007634671,cy:-.1027198010237071,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"nvJ2MYXHoiz17urRs5MsVm",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.3462544047278434,cy:.14995832880911858,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"dsTi2gBy3qMzkxSzEKBUKt",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.10491359670664915,cy:-.08774589132840831,cz:.5,lx:9.6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"1zkzwAySbr3kh67TymqSoa",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.29600197017289004,cy:.12090847752330136,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"nNXDQxgbGxZh1trPJqCUdP",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.09497869264983118,cy:-.07277198163310952,cz:.5,lx:9.6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"fjd8Qa2TAYrApMxCXDFDpf",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2457495356179366,cy:.0918586262374842,cz:.5,lx:10.799999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"b9qhzTZxDNwEDcF7hiJX4C",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.151763002830166,cy:.015054374730769834,cz:.5,lx:21.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2UFe7VNPDEaGQZvkWVQhfF",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.1330229162480746,cy:.020413676435490843,cz:.5,lx:20.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"6azY5mJr9WGW9T4xntRtbV",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.09816732549621686,cy:.008176039664707214,cz:.5,lx:24,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"7pB4XFf5JNuyyXs1dscyU9",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.04968850627849703,cy:-.01893715486872221,cz:.5,lx:27.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"cw2cYF33vM7nDrUtAQ9PtX",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.0012096870607772334,cy:-.0460503494021516,cz:.5,lx:32.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"aZJH3WRjsEN8q1US8B1Lga",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.041725175322164326,cy:-.06710995316331908,cz:.5,lx:34.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"viJ9kyaeaMt713J28EcCFK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.046229595226249795,cy:-.046206356470879194,cz:.5,lx:31.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tyYYXFH1cfiQ3uNpmQwaDs",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.050734015130335264,cy:-.02530275977843931,cz:.5,lx:27.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"vP1hAunDAXzhYB1S1HLKVM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05523843503442073,cy:-.004399163085999424,cz:.5,lx:25.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"u6QjEgQS4SovsxfWiwK9pS",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05234611465739277,cy:.024581126850095093,cz:.5,lx:22.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"46FxqZ3kp4K5aLnSHofoke",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04805120265582289,cy:.05509294308926524,cz:.5,lx:21.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"4KWK7RGJeM7J1Y4Bc2BCbo",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04375629065425305,cy:.08560475932843534,cz:.5,lx:19.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"9NexZBuAyQshnZjEyJiXpM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.039461378652683204,cy:.11611657556760548,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"aQJdFu6WBGKc9yho8AS2xT",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04924988203531412,cy:.13125034396973115,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3ogeckCTPTgxjp41JDKuuA",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05914913042917638,cy:.1462631870114971,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"m5ZqKSj8PiDLKTSkryPkD4",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.06904837882303859,cy:.1612760300532631,cz:.5,lx:19.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"gUD4622TjboopEheHWCtM8",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.14637364805016384,cy:.10266464590659576,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3B4tjopc3V8wB73wfk3LgA",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.020601276304081376,cy:.23999877236143063,cz:.5,lx:10.799999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"j6oGKhKWfa4g28v4pveBRC",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.16516009271515278,cy:.10797332801394043,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"6uMytuxgTByw7WEXjAsAXU",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.017562115186903173,cy:.2691394015238318,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2FJtQtosDkuXdtp7KmRoYy",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.18394653738014172,cy:.11328201012128505,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3pFwSbqooyxHrq2Jp4XADp",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.014522954069724847,cy:.298280030686233,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5qdmnpcKFqUM9vXyTX4hi7",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.20273298204513066,cy:.11859069222862975,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tJg3jzMUi1ApjHbbN193Zz",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.011483792952546625,cy:.3274206598486342,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"xxk4Md1mJ7NHchtu4BLpwH",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2215194267101196,cy:.12389937433597444,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"7NmhiBzuipraDWa3kyetyj",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.008444631835368357,cy:.35656128901103534,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"f8qSHhvV7wP4nEzfo6VoDk",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.24030587137510853,cy:.12920805644331906,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"posdSQ1dJvWZjSpgrNhZeK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.005405470718190015,cy:.3857019181734367,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"9riXPgRDkjJzGVegGVgCgw",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.25909231604009747,cy:.13451673855066373,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"cHZAxZtQFw1z3WZs51Lb8y",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.0023663096010117777,cy:.41484254733583786,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"oe7DbmdHbpatHjToisk5xv",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2778787607050864,cy:.1398254206580084,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"wWLocRGwnWkKFGd13Lw2xH",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.0006728515161664303,cy:.443983176498239,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"pLYCjrgQcBLecG9n2GBB5R",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2966652053700753,cy:.14513410276535307,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5cGW4T9ojh23VUkpq6dRc7",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.3154516500350642,cy:.15044278487269772,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"uZGNbTxhF7wMM1ExYuxSCK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.3342380947000532,cy:.15575146698004247,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"hpaMNd5tiDGWpzg7eQxhTm",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1}],T4n=37,P4n={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[43.034934411209356,-77.43728686826599,60.87535152181681],panCenter:[7.125444398078178,-5.749142987156418,.5356497726578432],orthographic:!1,enableRotate:!0,cameraZoom:13.268408625781248,showInstructionPanel:!1,cameraPosition2D:[5.843642120827252,1.7570601735865479,150],panCenter2D:[5.843642120827252,1.75721018025187,26494911975471404e-22],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:-1,y:4,width:378,height:114},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},C4n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},R4n=2,H4n={pvModelName:"FS-275",rowAxis:"East-West",orientation:"Landscape",tiltAngle:.5235987755982988,rowsPerRack:1,interRowSpacing:1,poleHeight:.3,poleSpacing:3,margin:.2},M4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},I4n={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},z4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},D4n="Unknown",E4n=null,k4n=null,F4n=null,L4n=[`Draw a polygon for the solar panel field and then use the built-in parametric design tool to -automatically layout the array.`],U4n={docid:A4n,time:w4n,timestamp:v4n,userid:x4n,owner:b4n,email:S4n,world:T4n,elements:P4n,sceneRadius:C4n,view:R4n,graphState:H4n,evolutionMethod:M4n,solarPanelArrayLayoutParams:I4n,solarPanelArrayLayoutConstraints:z4n,evolutionaryAlgorithmState:D4n,economicsParams:E4n,modelType:k4n,modelAuthor:F4n,modelLabel:L4n,modelDescription:W4n,notes:N4n},B4n="6VEXdSdGFhXnQZHfdXvgS7",j4n="02/02/2023 05:25 pm",Y4n=1675376741403,O4n="QWecNcxhyvP6j6sBN11hBsfZDau1",_4n=null,V4n=null,G4n={timesPerHour:20,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2022 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,solarRadiationHeatmapGridCellSize:.5,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},X4n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:.01492842170085762,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:8.502064537189229,type:"Foundation",cx:-18.41116088158014,selected:!1,cz:.05,lx:17.842360789303687,parentId:"Ground"},{tiltAngle:.17453292519943295,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:-.18343704156525936,drawSunBeam:!1,poleHeight:3,lx:15.58,relativeAzimuth:0,trackerType:"None",cx:.0181751573598281,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:3.138,poleRadius:.05,label:"A1",orientation:"Landscape",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:35.54542639501863,labelSize:1,labelHeight:1},{type:"Human",name:"Jack",cx:5.0617851423711855,cy:-3.5130800185994246,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.018913624924680107,cy:.17920253753513882,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:-.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"bqrD5jMPaBdy2VU82Pf8jX",selected:!1,dailyYield:27.191418577368122,drawSunBeam:!0,label:"A2",labelHeight:1,labelSize:1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.017803254641984647,cy:-.17133196101794607,cz:.5000000074506161,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",foundationId:"sp1YZua8fLpGUcQPoeBUrY",id:"jY1SyCfNFUJ6aZrVBG9yei",selected:!1,dailyYield:31.69613876356361,label:"B1",labelHeight:1,labelSize:1},{type:"Human",name:"Jade",cx:-2.04763165702893,cy:.5372372205223073,cz:.05000000074505717,lx:.6,ly:.6,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",id:"bh4ogCSa9KLpabxMXJSMdr",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0178798068026682,cy:.19617148450633917,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",foundationId:"sp1YZua8fLpGUcQPoeBUrY",id:"aB8nn17qEG1UkLCBmN3EDg",selected:!1,dailyYield:31.695989795928103,label:"B2",labelHeight:1,labelSize:1},{type:"Foundation",cx:-.02993684696192045,cy:-.07488211918489984,cz:.05,lx:17.842360789303687,ly:8.502064537189229,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sp1YZua8fLpGUcQPoeBUrY",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.017795422816082346,cy:-.17724133449748175,cz:.5000000074506161,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:-.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",foundationId:"t8NKy5QyCsnVgJWSgzdVtp",id:"w9uCiRPECzBHx6GziL9u7M",selected:!1,dailyYield:27.191412082396756,label:"C1",labelHeight:1,labelSize:1},{type:"Human",name:"Jett",cx:1.2692636297118085,cy:.227513847491835,cz:.05000000074505717,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",id:"icbuTBYKh2PiqbDEDzA6iB",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0178798068026682,cy:.18617148450633916,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",foundationId:"t8NKy5QyCsnVgJWSgzdVtp",id:"dFE6Wu3wf499uPuTFXoFR4",selected:!1,dailyYield:35.54528007836568,label:"C2",labelHeight:1,labelSize:1},{type:"Foundation",cx:18.291413493732467,cy:-.04494527222298039,cz:.05,lx:17.842360789303687,ly:8.502064537189229,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"t8NKy5QyCsnVgJWSgzdVtp",selected:!1}],J4n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[21.984836349008607,-27.120112904171,15.351212623628198],panCenter:[9.268096375789943,3.7277158588340003,2.046834497769918],orthographic:!1,enableRotate:!0,cameraZoom:84.09478170866971,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[15.041522569185233,.23774787312868362,40.00000029048154],panCenter2D:[15.041522569185233,.23778787490665898,2905048059856975e-22],showSolarRadiationHeatmap:!1,showDesignInfoPanel:!0,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:1,y:3,width:229,height:64}},K4n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},q4n=1,$4n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Q4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Z4n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ewn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},twn=["Solar canopy design"],nwn={docid:B4n,time:j4n,timestamp:Y4n,userid:O4n,owner:_4n,email:V4n,world:G4n,elements:X4n,view:J4n,graphState:K4n,evolutionMethod:q4n,solarPanelArrayLayoutParams:$4n,solarPanelArrayLayoutConstraints:Q4n,evolutionaryAlgorithmState:Z4n,economicsParams:ewn,notes:twn},own="cpQtXDN91AWfQ7C3APvJh3",iwn="02/03/2023 10:25 am",rwn=1675437921671,awn="QWecNcxhyvP6j6sBN11hBsfZDau1",lwn=null,swn=null,cwn={airAttenuationCoefficient:.01,cspTimesPerHour:4,timesPerHour:2,solarPanelVisibilityGridCellSize:.2,latitude:44.454924,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,discretization:"Approximate",date:"6/22/2022 3:30:00 PM",highestTemperatureTimeInMinutes:900,cspDaysPerYear:4,address:"550 Dorset St, South Burlington, VT 05403, USA",diurnalTemperatureModel:1,airConvectiveCoefficient:5,cspGridCellSize:.5,noAnimationForSolarPanelSimulation:!0,sutGridCellSize:1,name:"default",dustLoss:.05,sutDaysPerYear:4,pvGridCellSize:.5,noAnimationForHeatmapSimulation:!0,sutTimesPerHour:4,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},daysPerYear:4,solarRadiationHeatmapGridCellSize:5,longitude:-73.177891},uwn=[{type:"Foundation",cx:179.45847099490584,cy:145.85951451290708,cz:.1,lx:46.64912192730487,ly:16.598079304638254,lz:.2,normal:[0,0,1],rotation:[0,0,.1434660645139339],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"73zFNy4Kytq2jGeHP8hybB",locked:!0,enableGroupMaster:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:.08726646259971647,orientation:"Landscape",drawSunBeam:!0,poleHeight:4.8,poleRadius:.05,poleSpacing:5,cx:.013487121407959702,cy:-.12279534594195182,cz:.5000000074505806,lx:43.624,ly:11.506,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,.1434660645139339],color:"#fff",parentId:"73zFNy4Kytq2jGeHP8hybB",foundationId:"73zFNy4Kytq2jGeHP8hybB",id:"5B4Rr9X9rqJjgERVH84xem",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:8.339907658116347,cy:-.6016935110092154,cz:.619724807975928,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"dUwnUoWvbFx2hdh7SmwvjQ",id:"e5UykxeUAcAAsmgFcznP9J",selected:!1,locked:!1,ly:.42},{type:"Human",name:"Jacqueline",cx:20.54897495598685,cy:-8.016956409003306,cz:.10000000149011612,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"73zFNy4Kytq2jGeHP8hybB",id:"9v3zq1A3MmHnKeqiCTkYcc",selected:!1,locked:!1,ly:.6},{type:"Cuboid",cx:178.74973834889272,cy:151.23959562318993,cz:3,lx:12.107420150412665,ly:3.6361191766113197,lz:6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",selected:!1,id:"stfeWojM9fq1rRFvV8kFrw",locked:!0},{type:"Cuboid",cx:179.70526882974113,cy:148.87674866966486,cz:1.8,lx:42.703465320212665,ly:1.2033870245364555,lz:3.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"mvQonCDuxqjgZkeWBbRQ73",selected:!1,locked:!0},{type:"Cuboid",cx:179.86870093281857,cy:147.67018638185647,cz:1.5,lx:42.703465320212665,ly:1.2033870245364555,lz:3,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"nAoWaWCXnJrVeXtGcCdhsQ",selected:!1,locked:!0},{type:"Cuboid",cx:180.03030758101804,cy:146.47434150650943,cz:1.3,lx:42.703465320212665,ly:1.2033870245364555,lz:2.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"hEEbCeJXouC5MRLwbMLUXU",selected:!1,locked:!0},{type:"Cuboid",cx:180.18731589126733,cy:145.26767530633435,cz:1.1,lx:42.703465320212665,ly:1.2033870245364555,lz:2.2,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"ewYiSC3NgUrSGS9bNScvyi",selected:!1,locked:!0},{type:"Cuboid",cx:180.34892253946674,cy:144.0718304309881,cz:.9,lx:42.703465320212665,ly:1.2033870245364555,lz:1.8,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"dUwnUoWvbFx2hdh7SmwvjQ",selected:!1,locked:!0},{type:"Cuboid",cx:180.505930849716,cy:142.93138721769165,cz:.7,lx:42.703465320212665,ly:1.2033870245364555,lz:1.4,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"2wek6yYK17CpmBuG1P6f8D",selected:!1,locked:!0},{type:"Cuboid",cx:180.6629391599653,cy:141.79094400439524,cz:.5,lx:42.703465320212665,ly:1.2033870245364555,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"cyVdcaHRiaSZbNdcjQVuiw",selected:!1,locked:!1},{type:"Cuboid",cx:180.8270823782518,cy:140.57464564227953,cz:.3,lx:42.703465320212665,ly:1.2033870245364555,lz:.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"2io4wkR5VXLTD2R8fop411",selected:!1,locked:!1}],dwn={showYearlyFresnelReflectorYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showZenithAngle:!0,yearlyPvYieldPanelRect:{x:0,height:400,y:0,width:600},showAzimuthAngle:!0,dailyPvYieldPanelRect:{height:400,y:0,x:0,width:600},dailyUpdraftTowerYieldPanelRect:{width:640,x:0,y:0,height:550},diurnalTemperaturePanelRect:{width:600,height:400,y:0,x:0},showHeliodonPanel:!1,weatherPanelX:0,theme:"Default",enableRotate:!0,dailyFresnelReflectorYieldPanelRect:{y:0,width:600,height:400,x:0},dailyHeliostatYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,dailyHeliostatYieldPanelY:0,yearlyHeliostatYieldPanelRect:{y:0,width:600,height:400,x:0},yearlyLightSensorPanelRect:{x:0,width:600,y:0,height:500},yearlyParabolicTroughYieldPanelRect:{height:400,y:0,width:600,x:0},dailyParabolicDishYieldPanelX:0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelRect:{width:600,y:0,x:0,height:400},yearlyLightSensorPanelShowClearness:!1,mapPanelX:0,yearlyLightSensorPanelShowDaylight:!1,showDiurnalTemperaturePanel:!1,mapZoom:17,yearlyPvYieldPanelX:0,showElevationAngle:!0,showYearlyParabolicDishYieldPanel:!1,dailyLightSensorPanelRect:{y:0,height:360,x:0,width:600},evolutionPanelRect:{y:0,height:400,x:0,width:640},mapWeatherStations:!1,showDesignInfoPanel:!0,mapPanelY:0,showDailyParabolicTroughYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,weatherPanelY:0,showSiteInfoPanel:!0,showYearlyParabolicTroughYieldPanel:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelRect:{width:600,x:0,height:400,y:0},showMapPanel:!1,dailyParabolicTroughYieldPanelY:0,cameraPosition:[206.67769816695932,120.15082999798835,5.121281605668084],showYearlyLightSensorPanel:!1,cameraZoom:23.327015599941678,heliodonPanelY:0,autoRotate:!1,shadowEnabled:!0,showWeatherPanel:!1,yearlyFresnelReflectorYieldPanelX:0,yearlyParabolicDishYieldPanelRect:{x:0,y:0,height:400,width:600},dailyFresnelReflectorYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyHeliostatYieldPanelY:0,mapTilt:0,visibilityResultsPanelRect:{height:470,y:0,width:600,x:0},stickyNotePanelRect:{y:0,x:0,height:61,width:267},visibilityResultsPanelX:0,showYearlyUpdraftTowerYieldPanel:!1,showDailyLightSensorPanel:!1,yearlyPvYieldPanelY:0,dailyLightSensorPanelX:0,yearlyParabolicTroughYieldPanelX:0,weatherPanelRect:{y:0,height:500,width:500,x:0},panCenter2D:[183.8188163621815,139.3629304846877,-8002863814434504e-20],dailyParabolicTroughYieldPanelX:0,showDailyUpdraftTowerYieldPanel:!1,cameraPosition2D:[183.8188163621815,139.36291048379871,19.999919971295522],showYearlyHeliostatYieldPanel:!1,showEconomicsPanel:!1,heliodonPanelX:0,yearlyParabolicDishYieldPanelY:0,showDailyParabolicDishYieldPanel:!1,dailyPvYieldPanelX:0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelRect:{x:0,width:600,y:0,height:400},orthographic:!1,panCenter:[175.21189117230256,159.9366389436321,1.5458921274125108],dailyPvYieldPanelY:0,showDailyFresnelReflectorYieldPanel:!1,mapType:"hybrid",groundImage:!1,groundColor:"#16a5a5",showDailyHeliostatYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyFresnelReflectorYieldPanelRect:{x:0,width:600,height:400,y:0},showStickyNotePanel:!0,heliodon:!1,dailyLightSensorPanelY:0,solarRadiationHeatMapReflectionOnly:!1,showEvolutionPanel:!1,showInstructionPanel:!1,showSunAngles:!1,showYearlyPvYieldPanel:!1,dailyHeliostatYieldPanelRect:{height:400,x:0,y:0,width:600},yearlyLightSensorPanelX:0,yearlyFresnelReflectorYieldPanelY:0,yearlyHeliostatYieldPanelX:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyFresnelReflectorYieldPanelX:0,axes:!1,visibilityResultsPanelY:0},fwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},hwn=1,pwn={orientation:"Landscape",interRowSpacing:2,pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",poleSpacing:3,rowsPerRack:1,tiltAngle:0,poleHeight:1},gwn={maximumTiltAngle:1.5707963267948966,rowAxis:"Zonal",maximumInterRowSpacing:10,maximumRowsPerRack:6,minimumInterRowSpacing:2,pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,orientation:"Landscape",minimumRowsPerRack:1,poleSpacing:5,poleHeight:1},mwn={particleSwarmOptimizationParams:{objectiveFunctionType:1,socialCoefficient:.1,localSearchRadius:.1,vmax:.01,swarmSize:20,problem:"Solar Panel Tilt Angle",maximumSteps:5,inertia:.8,cognitiveCoefficient:.1,searchMethod:1,convergenceThreshold:.01},geneticAlgorithmParams:{maximumGenerations:5,mutationRate:.1,objectiveFunctionType:1,selectionRate:.5,crossoverRate:.5,localSearchRadius:.1,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionMethod:1,populationSize:20,convergenceThreshold:.01}},ywn={electricitySellingPrice:.25,operationalCostPerUnit:.15,projectLifeSpan:25},Awn=["Solar canopy over bleachers"],wwn={docid:own,time:iwn,timestamp:rwn,userid:awn,owner:lwn,email:swn,world:cwn,elements:uwn,view:dwn,graphState:fwn,evolutionMethod:hwn,solarPanelArrayLayoutParams:pwn,solarPanelArrayLayoutConstraints:gwn,evolutionaryAlgorithmState:mwn,economicsParams:ywn,notes:Awn},vwn="smhvUEBkVkGKNFKH9wXerr",xwn="03/19/2023 01:40 pm",bwn=1679247607363,Swn="QWecNcxhyvP6j6sBN11hBsfZDau1",Twn=null,Pwn=null,Cwn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 2:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Rwn=[{ly:3.258836461194841,solarUpdraftTower:{},parentId:"Ground",cx:-.0628073590395834,id:"m7AH7DcnoGzAq9kryBy4RS",cy:1.7678944590969095,type:"Foundation",solarPowerTower:{},lx:10.54713578879197,lz:.05733001510678199,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,textureType:"Foundation Texture #2"},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:6.322909236616773,relativeAngle:3.141592653589793,lz:2.707750558185909,roofId:"o9MiaiNtVRQTUvRdiEBPKe",ly:.1,rightPoint:[-3.281902734041268,1.0926779224456118,0],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[3.041006502575506,1.0926779224456111,0],type:"Wall",rightRoofHeight:2.707750558185909,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:2.707750558185909,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.12044811573288094,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:1.0926779224456116,color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:20,studColor:"#ffffff",studWidth:.2,structureSpacing:2.1,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.707750558185909,rightTopPartialHeight:2.707750558185909},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:3.041006502575505,leftPoint:[3.041006502575504,-.9667719612095651,0],cy:.06295298061802335,leftRoofHeight:2.2932006042712794,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[3.041006502575506,1.0926779224456118,0],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:2.059449883655177,normal:[0,0,1],lz:2.2932006042712794,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",rightRoofHeight:2.707750558185909,roofId:"o9MiaiNtVRQTUvRdiEBPKe",color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:100,studColor:"#ffffff",centerRoofHeight:[.5,2.707750558185909],studWidth:.2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{lx:2.059449883655177,windows:[],lz:2.2932006042712794,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"o9MiaiNtVRQTUvRdiEBPKe",selected:!1,cy:.06295298061802335,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-3.281902734041268,-.9667719612095651,0],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:2.2932006042712794,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948966,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-3.281902734041268,1.0926779224456118,0],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:2.707750558185909,ly:.1,cx:-3.281902734041268,color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:100,studColor:"#ffffff",centerRoofHeight:[-.5,2.707750558185909],studWidth:.2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{showLabel:!1,cx:-.12044811573288094,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[3.041006502575506,-.9667719612095651,0],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-.9667719612095651,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"o9MiaiNtVRQTUvRdiEBPKe",leftPoint:[-3.281902734041268,-.9667719612095651,0],normal:[0,0,1],ly:.1,lz:2.2932006042712794,leftRoofHeight:2.2932006042712794,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:2.2932006042712794,lx:6.322909236616773,color:"#ffffff",wallStructure:"Stud",opacity:0,studSpacing:100,studColor:"#ffffff",studWidth:.2,structureSpacing:2.1,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{type:"Human",name:"Judd",cx:1.633148784510131,cy:-.48619735894130045,cz:.02866500802338123,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.544},{type:"Human",name:"Jade",cx:-2.4056687191409836,cy:-.7214806671440712,cz:.02866500802338123,lx:.48,ly:.48,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,flip:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Rafter",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"o9MiaiNtVRQTUvRdiEBPKe",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!0,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.013581557939684385,cy:.026013281736561093,cz:2.5548677739939563,lx:6.232,ly:2.092,lz:.046,showLabel:!1,normal:[0,-.19733348260296196,.9803364201353465],rotation:[.1986371700239986,0,0],color:"#fff",parentType:"Roof",parentId:"o9MiaiNtVRQTUvRdiEBPKe",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gcgsZpEBMDbC2MoxXfdQ5z",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.069538614907841,cy:1.7342109688811949,cz:0,lx:2.576376919790349,lz:3.4569079447673756,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9vtidDnwwZ7MMSCF9kkf1v",selected:!1},{type:"Tree",name:"Magnolia",cx:6.029325159381688,cy:1.1288413497919034,cz:0,lx:5.866636356742361,lz:7.0242541599963335,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"7y5foXVbpe2pYJ2ZMcNgG1",selected:!1},{type:"Polygon",cx:-.054330031344316826,cy:-.27967892470948996,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.29711331243712213,y:-.37645814056822685},{x:-.25433003134431686,y:-.17645814056822684},{x:.14566996865568319,y:-.17645814056822684},{x:.18845324974848848,y:-.37645814056822685}],parentId:"skm8dNPSkFaVkoUwiPNfq1",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:3,id:"jFtAKqea5hrJYqvHqsXVig",fontColor:"white",text:"ELM STREET",fontSize:.2,noOutline:!0,opacity:0},{type:"Polygon",cx:-.03159943058059205,cy:-5551115123125783e-31,cz:.3151039010139313,lx:.4,ly:.4,lz:.4,filled:!0,noOutline:!0,color:"#ffffff",opacity:0,text:"ELM STREET",fontSize:.2,fontColor:"white",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.19999999999999996,y:-.4200653155418168},{x:-.15721671890719469,y:-.2200653155418168},{x:.24278328109280536,y:-.2200653155418168},{x:.28556656218561066,y:-.4200653155418168}],parentId:"8XDG3EHsQoX26MhuzwMYUM",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jgt48M3TDZL99Yra6Kyr5Q",selected:!1},{type:"Human",name:"Julio",cx:.5178196751817774,cy:-.5447731101746882,cz:.02866500802338123,lx:.5,lz:1.76,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"q3FndYLdQ24MSDvkeE4ifM",selected:!1},{type:"Human",name:"June",cx:-1.7835969899126987,cy:-1.0262736798633494,cz:.0073300155767722225,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hpYMNr3jwLZFDdiKVSnVAY",selected:!1}],Hwn=11,Mwn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.4101525299496,-7.1680457550968235,2.8167371698815544],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.2469393365439706,2.7582746226325283,1.9240094094942006],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:207,height:64}},Iwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},zwn=1,Dwn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Ewn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},kwn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Fwn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Lwn="Unknown",Wwn=null,Nwn=null,Uwn=null,Bwn=["Solar bus stop"],jwn={docid:vwn,time:xwn,timestamp:bwn,userid:Swn,owner:Twn,email:Pwn,world:Cwn,elements:Rwn,sceneRadius:Hwn,view:Mwn,graphState:Iwn,evolutionMethod:zwn,solarPanelArrayLayoutParams:Dwn,solarPanelArrayLayoutConstraints:Ewn,evolutionaryAlgorithmState:kwn,economicsParams:Fwn,modelType:Lwn,modelAuthor:Wwn,modelLabel:Nwn,modelDescription:Uwn,notes:Bwn},Ywn="ctNBPhic6sxKfpMZwUSyvY",Own="02/04/2023 01:23 pm",_wn=1675535030470,Vwn="QWecNcxhyvP6j6sBN11hBsfZDau1",Gwn=null,Xwn=null,Jwn={noAnimationForSolarPanelSimulation:!1,latitude:42.2844063,cspTimesPerHour:4,timesPerHour:4,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-71.3488548,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"Natick, MA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"4/22/2022, 9:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},Kwn=[{type:"Foundation",cx:-.05000000000000249,cy:-.07499999999999751,cz:.05,lx:50,ly:25,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9VUxbWr6Hk1HaeGiLpEeqj",locked:!0},{type:"Wall",cx:.25,cy:10.000000000000002,cz:0,lx:43.5,ly:.3,lz:30,relativeAngle:3.141592653589793,leftPoint:[22,10,0],rightPoint:[-21.5,10.000000000000004,0],leftJoints:["vdPkX7ZYSwK7VW7fzaG511"],rightJoints:["1pJb5b6kS2mjvFyYw2rr5k"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nYSb3p1MnuhwNe2u1j3fXF",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:22,cy:2,cz:0,lx:16,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[22,-6,0],rightPoint:[22,10,0],leftJoints:["8ntQ5ns6192qHa3sbwWgfy"],rightJoints:["nYSb3p1MnuhwNe2u1j3fXF"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vdPkX7ZYSwK7VW7fzaG511",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-21.5,cy:2.0000000000000018,cz:0,lx:16.000000000000004,ly:.3,lz:30,relativeAngle:4.71238898038469,leftPoint:[-21.5,10.000000000000004,0],rightPoint:[-21.5,-6,0],leftJoints:["nYSb3p1MnuhwNe2u1j3fXF"],rightJoints:["nQCZuQBzmXXaGGKFTeJE3m"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1pJb5b6kS2mjvFyYw2rr5k",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-13.25,cy:-6,cz:0,lx:16.5,ly:.3,lz:30,relativeAngle:0,leftPoint:[-21.5,-6,0],rightPoint:[-5,-6,0],leftJoints:["1pJb5b6kS2mjvFyYw2rr5k"],rightJoints:["5ZR3fL2v4p4po3VR8oJ6H8"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nQCZuQBzmXXaGGKFTeJE3m",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:13.5,cy:-6,cz:0,lx:17,ly:.3,lz:30,relativeAngle:0,leftPoint:[5,-6,0],rightPoint:[22,-6,0],leftJoints:["12rbxrGaa8wVVn4DUNhY7V"],rightJoints:["vdPkX7ZYSwK7VW7fzaG511"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"8ntQ5ns6192qHa3sbwWgfy",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:5,cy:-8.5,cz:0,lx:5,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[5,-11,0],rightPoint:[5,-6,0],leftJoints:["4gHpGdkzTfd6pDbTqPc7xa"],rightJoints:["8ntQ5ns6192qHa3sbwWgfy"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"12rbxrGaa8wVVn4DUNhY7V",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-5,cy:-8.5,cz:0,lx:5,ly:.3,lz:30,relativeAngle:4.71238898038469,leftPoint:[-5,-6,0],rightPoint:[-5,-11,0],leftJoints:["nQCZuQBzmXXaGGKFTeJE3m"],rightJoints:["4gHpGdkzTfd6pDbTqPc7xa"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"5ZR3fL2v4p4po3VR8oJ6H8",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:0,cy:-11,cz:0,lx:10,ly:.3,lz:30,relativeAngle:0,leftPoint:[-5,-11,0],rightPoint:[5,-11,0],leftJoints:["5ZR3fL2v4p4po3VR8oJ6H8"],rightJoints:["12rbxrGaa8wVVn4DUNhY7V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4gHpGdkzTfd6pDbTqPc7xa",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Human",name:"Jack",cx:-.8543093326653608,cy:-11.792939085977409,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tYfANfn3oinAT4dW1rRsqr",selected:!1,ly:.42},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["12rbxrGaa8wVVn4DUNhY7V","8ntQ5ns6192qHa3sbwWgfy","vdPkX7ZYSwK7VW7fzaG511","nYSb3p1MnuhwNe2u1j3fXF","1pJb5b6kS2mjvFyYw2rr5k","nQCZuQBzmXXaGGKFTeJE3m","5ZR3fL2v4p4po3VR8oJ6H8","4gHpGdkzTfd6pDbTqPc7xa"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"a69gMcUNAL6smrEEJWVg5m",rise:0,ceiling:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.3343030303030303,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2tX22vCbk47e7Qb9jmWbuT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.12024242424242425,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rMVZd7mHmDzSsY9qJkKCYE",selected:!1,color:"#fff"},{type:"Window",cx:-.10606060606060606,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"5GSyALrLv2JTFn5Jfts2K9",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3484848484848485,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"iCM8LCxtUc6mLFahJZKXiN",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0016000000000000014,cy:-23684757858670007e-30,cz:.056400000000000006,lx:3.968,ly:23.616,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qfUCcto9FYp97r1bwAkTYw",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.11858823529411765,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"15b42ktZHToFGP5MjajP8M",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.352,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:-.01802584949990571,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3PJY1VV4LwZ339b6deeXfW",selected:!1,color:"#fff"},{type:"Human",name:"Jane",cx:1.0059834215863663,cy:-11.909754621259744,cz:.05000000074506161,lx:.4,lz:1.67,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vFaP6sE5CTWHTpkpuqQusz",selected:!1,ly:.4},{type:"Window",cx:.1051693404634581,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bQX8o8NiMvqqkwFqX982ii",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.36541889483065954,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5iqB79CbMKKaHc2jYwiL2n",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3757575757575758,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h4kTQPqQyQnweHnqPDZiBg",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3742424242424242,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mDkZKRTvbZchzgdEwuowBS",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.33049242424242425,cy:.3,cz:.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vY3gwN3Dc3BUuPz4qtFxKd",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32575757575757575,cy:.3,cz:.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1c7fsYtocCSJ8re71u4EMD",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.33049242424242414,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bHLzi4Znc3fVju7nSQfVt1",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32575757575757575,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mXRwTS9CG5axkFHpYXQb93",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.44166666666666665,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4jyHDksE16v8MGpAHgZbRq",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0035666924067298844,cy:.1,cz:.3543373547979109,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fv633U9B6zqzsfkiTeArhy",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.2583333333333333,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oqAP6n2W5ZjTRthjMYEkPV",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.1583333333333333,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cpcc8c1vn5nWiukQ3PxS3f",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.058333333333333307,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"x1oydAUUHFagHckinEa19D",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.0416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3cgMKo42a4ASQqE8xnVK2P",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.1416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"x8WkyGbyAMcWUhHRUjS5gG",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.2416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tXGRiJPBepugeH5wctYQEF",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.3416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uHRUBQhmS94JcKPRt7LDmv",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:.08726646259971647,orientation:"Landscape",drawSunBeam:!1,poleHeight:.2,poleRadius:.05,poleSpacing:3,cx:.013173838940837719,cy:.0680060264405102,cz:30.2,lx:39.36,ly:1.984,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],color:"#fff",parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gXW6QsEtteXYtodQNf8hx7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.013587479651289406,cy:-.039519927704392936,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rR23iB2i6JynSXag96y23e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012423446703966497,cy:-.14139419142614063,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"jxhCthLZ9Lv87sCrBWn5kx",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012712080197510935,cy:.1770912519450651,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rZk9AYLNUc6CbsxJg1HEUU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012483352791167981,cy:.28984082936278965,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"69WEvUFeggtX7SkVeLfN3F",selected:!1},{type:"Flower",name:"Yellow Flower",cx:15.765812910070952,cy:-8.771551347375933,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"hhZNor6RrsErCXv6N2LCBX",selected:!1},{type:"Flower",name:"Yellow Flower",cx:7.825357530488457,cy:-8.372047787963048,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1coQpeKubKsF9M826JWhcT",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-7.686841949758485,cy:-8.502083508685182,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tBw3D4GurLA8jWoFe411qW",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-14.751204802860983,cy:-8.343574225207504,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"72uapoUNTci2SLYKwgBp8U",selected:!1},{type:"Flower",name:"Boxwood",cx:19.359037887762355,cy:-9.111613117711592,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vm54XJx4Xqji3E2uYkM3Bg",selected:!1},{type:"Flower",name:"Boxwood",cx:12.019561876673311,cy:-8.832301300458631,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"sjqbn1oAGT3nUbPzFZ9yXN",selected:!1},{type:"Flower",name:"Boxwood",cx:-11.235438884150971,cy:-8.639820120644501,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tQx6MounMWtZzmbZeEtcYq",selected:!1},{type:"Flower",name:"Boxwood",cx:-18.29029667468214,cy:-7.990154726249322,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1CG9RbukrrdXudKgMY2Jii",selected:!1},{type:"Door",cx:0,cy:0,cz:-.425,lx:.5,ly:0,lz:.15,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nJiiCKZsnQ4hdD69NEYwor",doorType:"Default",archHeight:1,filled:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.0010000000000000007,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,showLabel:!1,normal:[-1,12246467991473532e-32,0],rotation:[0,0,0],color:"#fff",frameColor:"white",parentType:"Wall",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"uLAs5uL6WLuiZStL3dsozJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0010000000000000009,cy:2373101715136272e-29,cz:.0074666666666666735,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[1,0,0],rotation:[0,0,0],parentType:"Wall",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"oq1GewTgCJGR8EGbL6DMu7",selected:!1,color:"#fff"}],qwn={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!1,axes:!0,enableRotate:!0,weatherPanelY:0,cameraPosition:[-41.48638943484854,-53.785037218162735,15.500675823090146],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!0,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"#16A5A5",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[1.9046368072380662,-2.718943908236788,15.500675823090146],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!0,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Default",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:3.5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:31.733468832186784,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],cameraPosition2D:[0,-.00015000666739695134,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,waterSurface:!1,showEconomicsPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-2,width:339,height:63},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},$wn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Qwn=1,Zwn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},e7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},t7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},n7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},o7n=["Building-integrated photovoltaics (BIPV)"],i7n={docid:Ywn,time:Own,timestamp:_wn,userid:Vwn,owner:Gwn,email:Xwn,world:Jwn,elements:Kwn,view:qwn,graphState:$wn,evolutionMethod:Qwn,solarPanelArrayLayoutParams:Zwn,solarPanelArrayLayoutConstraints:e7n,evolutionaryAlgorithmState:t7n,economicsParams:n7n,notes:o7n},r7n="m1j5HqK6ztTDmHotnswvhm",a7n="03/19/2023 01:23 pm",l7n=1679246616189,s7n="QWecNcxhyvP6j6sBN11hBsfZDau1",c7n=null,u7n=null,d7n={solarRadiationHeatmapGridCellSize:2,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"350 Spelman Ln SW, Atlanta, GA 30314, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:33.74249063340524,noAnimationForSensorDataCollection:!1,timesPerHour:2,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-84.41325446099088,airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForSolarUpdraftTowerSimulation:!1},f7n=[{type:"Foundation",cx:-4.899281040587393,cy:-11.584454395492607,cz:.05,lx:65.19262557107372,ly:131.69230495241158,lz:.1,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fAfbfM7oEHfq1VBgchFech",enableGroupMaster:!0},{type:"Wall",cx:4.643026020738638,cy:58.19197664732871,cz:0,lx:39.00320499651278,ly:.2,lz:10,relativeAngle:3.1544124640626934,leftPoint:[24.14302602073864,58.441976647328715,.1],rightPoint:[-14.856973979261348,57.94197664732871,.1],leftJoints:["hZXuadfd8Y2gU3C4iTs3VG"],rightJoints:["sdKSXeQhAWxE6ifCs1d6RC"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"tysEJM9hUShvginx4rYC7K",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:24.39302602073864,cy:2.941976647328705,cz:0,lx:111.00112612041376,ly:.2,lz:10,relativeAngle:1.575300800833464,leftPoint:[24.643026020738645,-52.55802335267129,.1],rightPoint:[24.143026020738642,58.4419766473287,.1],leftJoints:["njXmWTSZ52XC3BH77kTEtQ"],rightJoints:["tysEJM9hUShvginx4rYC7K"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"hZXuadfd8Y2gU3C4iTs3VG",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:9.143026020738638,cy:-52.8080233526713,cz:0,lx:31.004031995854984,ly:.2,lz:10,relativeAngle:.016127633843636247,leftPoint:[-6.356973979261358,-53.05802335267129,.1],rightPoint:[24.64302602073863,-52.558023352671285,.1],leftJoints:["1sYogQ8Va73vub552Dsk1p"],rightJoints:["hZXuadfd8Y2gU3C4iTs3VG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"njXmWTSZ52XC3BH77kTEtQ",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-6.356973979261353,cy:-47.05802335267128,cz:0,lx:11.999999999999986,ly:.2,lz:10,relativeAngle:4.712388980384691,leftPoint:[-6.356973979261358,-41.05802335267129,.1],rightPoint:[-6.356973979261351,-53.058023352671285,.1],leftJoints:["dfk6k28j8Rsu1Q1oCp7zKp"],rightJoints:["njXmWTSZ52XC3BH77kTEtQ"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"1sYogQ8Va73vub552Dsk1p",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-14.606973979261362,cy:8.441976647328703,cz:0,lx:99.0012626182111,ly:.2,lz:10,relativeAngle:4.717439442493762,leftPoint:[-14.856973979261348,57.94197664732871,.1],rightPoint:[-14.356973979261365,-41.05802335267131,.1],leftJoints:["tysEJM9hUShvginx4rYC7K"],rightJoints:["dfk6k28j8Rsu1Q1oCp7zKp"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"sdKSXeQhAWxE6ifCs1d6RC",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Cuboid",cx:34.8305400791776,cy:-52.42058894277254,cz:6,lx:7.619334475628514,ly:5.299339135336109,lz:12,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.5484342228590808],parentId:"Ground",selected:!1,id:"aLpgA6ukywKpo8YHkCPK9Z"},{type:"Window",cx:-.2701985741652489,cy:.1,cz:.325,lx:.44948921683564763,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"dXdqLZ7zgTd93oqrXfjWsJ",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-358855390814681e-31,cy:.1,cz:-.4,lx:.9898863651661457,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"xi8z9Sz8uH7vazDgmc3RCx",parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jack",cx:.6384948916889619,cy:-.2839733771670918,cz:5.999999999999999,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"aLpgA6ukywKpo8YHkCPK9Z",id:"ddYtbAhoUpyMoKhVhaAQGE",selected:!1,ly:.42},{type:"Window",cx:0,cy:.1,cz:0,lx:.9898863651661457,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aziCwtJpaGh65HD2YLn8fS",parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:1.5252168961263317,cy:51.80939453669954,cz:0,lx:20.031488630531463,ly:.2,lz:9,leftJoints:["kuZyRXr6X1ZZLgvnEdPLQW"],rightJoints:["nWPXmVRMzHKyjWryQf87JS"],leftPoint:[11.540961211392062,51.809394536699536,0],rightPoint:[-8.490527419139399,51.80939453669955,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qsREzsezLRHaTka6P3qi8E",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:11.7913548192737,cy:-3.284592727383899,cz:0,lx:110.1891125223151,ly:.2,lz:9,leftJoints:["dkmWHRoyM37TP1ais2mnQQ"],rightJoints:["qsREzsezLRHaTka6P3qi8E"],leftPoint:[12.041748427155346,-58.37857999146732,0],rightPoint:[11.540961211392053,51.80939453669952,0],relativeAngle:1.5753411400554025,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kuZyRXr6X1ZZLgvnEdPLQW",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-3.2436892780431448,cy:-58.47348142439061,cz:0,lx:30.571464611396937,ly:.2,lz:9,leftJoints:["ihGgAKbhoAEwWeLnpFQBfw"],rightJoints:["kuZyRXr6X1ZZLgvnEdPLQW"],leftPoint:[-18.52912698324161,-58.568382857313914,0],rightPoint:[12.041748427155321,-58.37857999146732,0],relativeAngle:.006208537524114639,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"dkmWHRoyM37TP1ais2mnQQ",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-18.52912698324161,cy:-52.1159338984573,cz:0,lx:12.904897917713235,ly:.2,lz:9,leftJoints:["qXr3hrbfNKc7RCzq91xbXK"],rightJoints:["dkmWHRoyM37TP1ais2mnQQ"],leftPoint:[-18.52912698324161,-45.66348493960068,0],rightPoint:[-18.52912698324161,-58.568382857313914,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ihGgAKbhoAEwWeLnpFQBfw",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",studSpacing:200,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-7.989740203376101,cy:3.1678562314727046,cz:0,lx:97.2882323106823,ly:.2,lz:9,leftJoints:["qsREzsezLRHaTka6P3qi8E"],rightJoints:["qXr3hrbfNKc7RCzq91xbXK"],leftPoint:[-8.490527419139399,51.80939453669955,0],rightPoint:[-7.488952987612803,-45.47368207375414,0],relativeAngle:-1.5605012263432012,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"nWPXmVRMzHKyjWryQf87JS",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Default",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Foundation",cx:2.6802301363018337,cy:-.008091723250991834,cz:.075,lx:47.100258882021336,ly:155.2816074058604,lz:.15,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"s7XmQ94X6RJALjEtkckmRw",selected:!1},{type:"Wall",cx:-13.009039985427215,cy:-45.568583506677385,cz:0,lx:11.041805422196214,ly:.2,lz:9,leftJoints:["nWPXmVRMzHKyjWryQf87JS"],rightJoints:["ihGgAKbhoAEwWeLnpFQBfw"],leftPoint:[-7.488952987612821,-45.47368207375409,0],rightPoint:[-18.52912698324161,-45.66348493960068,0],relativeAngle:-3.1244023294596825,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qXr3hrbfNKc7RCzq91xbXK",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["ihGgAKbhoAEwWeLnpFQBfw","dkmWHRoyM37TP1ais2mnQQ","kuZyRXr6X1ZZLgvnEdPLQW","qsREzsezLRHaTka6P3qi8E","nWPXmVRMzHKyjWryQf87JS","qXr3hrbfNKc7RCzq91xbXK"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"715hHLBU5uPxPmY3VTjteR",sideColor:"#999999",rise:0,ceiling:!1},{type:"Wall",cx:-10.356973979261362,cy:-41.05802335267131,cz:0,lx:8.000000000000007,ly:.2,lz:10,leftJoints:["sdKSXeQhAWxE6ifCs1d6RC"],rightJoints:["1sYogQ8Va73vub552Dsk1p"],leftPoint:[-14.35697397926136,-41.05802335267131,.1],rightPoint:[-6.356973979261358,-41.05802335267129,.1],relativeAngle:35527136788004978e-31,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"dfk6k28j8Rsu1Q1oCp7zKp",parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",studSpacing:200,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:1.4207056572728782,cy:46.41750725666692,cz:0,lx:18.6588866759028,ly:.2,lz:5.794050119631874,leftJoints:["jG1casp2JsBCa6isf6jPBp"],rightJoints:["tYVF4f8huJSYi3SnemH2U3"],leftPoint:[10.750148995224277,46.417507256666916,0],rightPoint:[-7.908737680678521,46.41750725666693,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"hNWXBkU3b39gF1yUGHaJqP",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Stud",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:5.794050119631874,rightRoofHeight:5.794050119631874,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Wall",cx:10.983385078673063,cy:-2.9427598627993987,cz:0,lx:98.72163631495759,ly:.2,lz:5.794050119631874,leftJoints:["iFwuQS6DyWdjrRQbrM6EVe"],rightJoints:["hNWXBkU3b39gF1yUGHaJqP"],leftPoint:[11.21662116212185,-52.3030269822657,0],rightPoint:[10.750148995224274,46.4175072566669,0],relativeAngle:1.5755214703412732,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jG1casp2JsBCa6isf6jPBp",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Default",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:9.013429915065354,rightRoofHeight:5.794050119631874,centerRoofHeight:[-.5,9.013429915065354],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Wall",cx:2.109769329329133,cy:-52.165708324365085,cz:0,lx:18.215774122254274,ly:.2,lz:9.013429915065354,leftJoints:["tYVF4f8huJSYi3SnemH2U3"],rightJoints:["jG1casp2JsBCa6isf6jPBp"],leftPoint:[-6.997082503463552,-52.028389666464484,0],rightPoint:[11.216621162121818,-52.30302698226569,0],relativeAngle:-.015077466364245784,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iFwuQS6DyWdjrRQbrM6EVe",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Default",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:9.013429915065354,rightRoofHeight:9.013429915065354,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.013429915065354,rightTopPartialHeight:9.013429915065354},{type:"Wall",cx:-7.452910092071025,cy:-2.805441204898788,cz:0,lx:98.45011800989347,ly:.2,lz:5.794050119631874,leftJoints:["hNWXBkU3b39gF1yUGHaJqP"],rightJoints:["iFwuQS6DyWdjrRQbrM6EVe"],leftPoint:[-7.908737680678497,46.41750725666691,0],rightPoint:[-6.997082503463552,-52.028389666464484,0],relativeAngle:-1.5615361224898512,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"tYVF4f8huJSYi3SnemH2U3",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Stud",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:5.794050119631874,rightRoofHeight:9.013429915065354,centerRoofHeight:[.5,9.013429915065354],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Foundation",cx:-16.35434154408445,cy:-4.658194992756286,cz:.1,lx:43.87284485416718,ly:139.1211999878274,lz:.2,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aLEzp9hfrYz6biKQBY4n26",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["iFwuQS6DyWdjrRQbrM6EVe"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",id:"tknPcP8JDek1GProeixsEp",ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],sideColor:"#999999",rise:0,ceiling:!1},{type:"Window",cx:0,cy:.1,cz:.325,lx:.9742789087050032,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"t2Cw4N4TZZkGP5BoLeNcKe",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0019768216134676713,cy:.1,cz:-.005731530796598517,lx:.9782325519319385,ly:.2,lz:.21146306159319703,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"qwSoMqqWcK4TDa7AjgWqwH",parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:4554386849898802e-32,cy:.1,cz:-.4,lx:.9742789087050032,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m3ekqWg3Hj5f3LitnJWBy1",parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:3200610482948187e-32,cy:.1,cz:.325,lx:.9729631020395402,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"gvpuFXmeNDDeRKgSmwP1CZ",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:3200610482948187e-32,cy:.1,cz:-.05,lx:.9729631020395402,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eCbjoFBaHQiuQUKYuZoFfR",parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.4,lx:.9729631020395402,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jFDknbsuGgwqRxzvsmU4CQ",parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jaye",cx:-17.46381887736557,cy:-41.9816536072657,cz:.05,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",id:"c9HstzWD7XzAFugKNugMuy",selected:!1,ly:.55},{type:"Window",cx:-.45740372646398547,cy:.1,cz:.25,lx:.07195114798309891,ly:.2,lz:.3888888888888889,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nWPXmVRMzHKyjWryQf87JS",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wuQewUkoGaBsjuzjt5f5uH",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:2.5,poleRadius:.05,poleSpacing:5,cx:-.08476384816809007,cy:.25788159693893226,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],color:"#fff",parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"vqvQktRu6i8bL8ZiGaoGnt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1615496100848164,cy:.25770817536556956,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wdbtnJ1XkcTwDSb8wiEMKL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08010322022532794,cy:.09848093983788882,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"32oGsayzWtjfS2sR392vRy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15821694625943433,cy:.09899040837617899,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"e6f94dRNL6XBpsmcrnKDU9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1544950822019521,cy:-.05668699528465417,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wzKUNhsTS2CEWiU4WpUm2j",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08173283819450536,cy:-.056114317250364976,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"mKWB3USg3dr53V5yqbCZHD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08275541478239372,cy:-.21595299989492936,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"t9dCrMhmdqRDyewscNhEss",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.060547048383927105,cy:-.3528469086181044,cz:9.2,lx:27.776,ly:3.936,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"7UbuZjpocqLztS4V8bYdKv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15077186158226766,cy:-.21881896397118786,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"e5YYaGmX4NkSq53yXqBiSb",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.4500000000000003,y:-.425},{x:-.4500000000000003,y:-.17499999999999996},{x:-.2833333333333334,y:-.17499999999999996},{x:-.2833333333333334,y:-.425}],parentId:"1sYogQ8Va73vub552Dsk1p",parentType:"Wall",foundationId:"fAfbfM7oEHfq1VBgchFech",selected:!1,filled:!0,selectedIndex:3,id:"mMTWwGXVY6tHrH3tFfFj84",text:"P",fontColor:"black",fontOutlineColor:"white",fontOutlineWidth:.1,fontSize:2}],h7n=106,p7n={dailyPvYieldPanelX:0,mapPanelY:158,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[16.929262825751,-28.15408933210822,-58144424349073707e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:248,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[16.929262825751,-28.154239338775618,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-13.677779559893043,-87.22834473506032,67.89303797087159],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:9.265824603195062,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[7.0532361348326695,-29.239499866887954,4.7578192072686045],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:7,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,solarPanelShiness:100,windowShiness:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:353,height:64},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},g7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},m7n=1,y7n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},A7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},w7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},v7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},x7n="Unknown",b7n=null,S7n=null,T7n=null,P7n=["Hypothetical solar canopies for a garage"],C7n={docid:r7n,time:a7n,timestamp:l7n,userid:s7n,owner:c7n,email:u7n,world:d7n,elements:f7n,sceneRadius:h7n,view:p7n,graphState:g7n,evolutionMethod:m7n,solarPanelArrayLayoutParams:y7n,solarPanelArrayLayoutConstraints:A7n,evolutionaryAlgorithmState:w7n,economicsParams:v7n,modelType:x7n,modelAuthor:b7n,modelLabel:S7n,modelDescription:T7n,notes:P7n},R7n="9FwzvKbLoEC3qk3HcYhpK3",H7n="02/04/2023 02:19 pm",M7n=1675538359367,I7n="QWecNcxhyvP6j6sBN11hBsfZDau1",z7n=null,D7n=null,E7n={noAnimationForSolarPanelSimulation:!1,latitude:37.4924685,cspTimesPerHour:4,timesPerHour:4,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-121.944697,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"45500 Fremont Blvd, Fremont, CA 94538, USA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"1/1/2022, 9:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},k7n=[{type:"Foundation",cx:-.08114032291986462,cy:.04294942268642887,cz:.05,lx:77.18969112756628,ly:25.114558892189873,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9VUxbWr6Hk1HaeGiLpEeqj",locked:!1},{type:"Wall",cx:16.394958493767938,cy:-6.958678279965962,cz:0,lx:34.5,ly:.3,lz:20,relativeAngle:0,leftPoint:[-.6550415062320631,-7.358678279965961,.1],rightPoint:[33.84495849376793,-7.358678279965961,.1],leftJoints:[],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"8BJFAiWAksi5iXqqAXG3m7",wallStructure:"Default",opacity:0,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Solar Panel",pvModelName:"FS-497",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.272463768115942,cy:0,cz:.445,lx:15.6,ly:1.2,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wGRXvcE2DsAaZztwb6HksP",selected:!1},{type:"Human",name:"Jedi",cx:25.350323157691225,cy:-8.982865067578267,cz:.05000000074505806,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"iDRReqKwNSn3MdzCD9xntV",selected:!1,ly:.56},{type:"Solar Panel",pvModelName:"FS-497",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.23768115942028983,cy:0,cz:-.0050000000000000044,lx:6,ly:4.8,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kDSDBXNMTiTKABtDtEoTPM",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.4463768115942027,cy:2960594732333751e-30,cz:.17517500000000008,lx:3.5999999999999996,ly:9.6,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3R99UFMtSTu8MpSzhFBEzM",selected:!1,color:"#fff",drawSunBeam:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.3768115942028986,cy:0,cz:.055525000000000005,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2nC5kmMxK27nhcbuLchKpX",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.24057971014492754,cy:0,cz:.26534999999999986,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2f53rLJkYN28GAXqDH43oC",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.08115942028985497,cy:0,cz:-.03447500000000003,lx:2.4,ly:18,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1CLg3vw3R6Mjckp2zLGRcx",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.23768115942028983,cy:0,cz:-.21465000000000006,lx:8.4,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3EcpwWTaBMzQ2Wh6WUSfZ2",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.005797101449275342,cy:0,cz:.44517500000000004,lx:33.6,ly:1.2,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"afQFwUz294V81V8ekAFzoy",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.38840579710144923,cy:0,cz:.025875000000000446,lx:4.8,ly:13.2,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rvr7kALWbgFepgQwhgLdmn",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.47536231884057967,cy:2960594732333751e-30,cz:-.034299999999999733,lx:1.2,ly:18,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"h8Kaodh1qXkhqWggo4XUhx",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.21449275362318843,cy:0,cz:.02570000000000001,lx:4.8,ly:13.199999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gb2jcBuVudWuAzaQrnkX6y",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.30144927536231886,cy:0,cz:-.2143,lx:1.2,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vUqRVHfCe86GnXDtKSxaw8",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.127536231884058,cy:0,cz:.05552500000000036,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"uSBaFrGbhmQkQMurd3uJ8K",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.01159420289855071,cy:0,cz:.265525,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n1zXsXRnujYqMASe1WUKNR",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:.11594202898550725,cy:-11842378929335004e-30,cz:.05535000000000023,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1bjxTFMmzz4rPmQkK5vxos",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.011594202898550721,cy:0,cz:.025,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kXtBHayvf3Tvd93XA15jDA",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.005797101449275342,cy:0,cz:-.21447500000000003,lx:7.199999999999999,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"7g2C2UieAJmWoyUM62ZQ2a",selected:!1,color:"#fff"},{type:"Wall",cx:-17.344845563783142,cy:-6.9427205539050725,cz:4.230734017714145,lx:34.5,ly:.3,lz:20,leftJoints:["gPxD8gV5byhzgQKdBBgMTy"],rightJoints:[],leftPoint:[-34.59484556378314,-6.9427205539050725,.1],rightPoint:[-.09484556378314224,-6.9427205539050725,.1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7cDw6CDEimwyt2K7C9p2yW",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",wallStructure:"Default",opacity:0,selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Solar Panel",pvModelName:"FS-497",cx:.255072463768116,cy:0,cz:.265,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wFqugJCgR6UNZP8KrBbWpt",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.35942028985507246,cy:-11842378929335004e-30,cz:.05535000000000023,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4jWvM8cSUfsXRSp6TmJ2Gg",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.22028985507246376,cy:0,cz:.025174999999999993,lx:5.999999999999999,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"toAqeegGXNvuKLhennKVzP",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.23768115942028983,cy:0,cz:-.21447500000000003,lx:7.199999999999998,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"saA7QrRCNPT5wTdbHg5J4Z",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.44637681159420284,cy:-11842378929335004e-30,cz:.1753500000000002,lx:2.4,ly:9.6,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1muJg2Kq7Xbc14wrpktdBf",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.42898550724637674,cy:0,cz:-.21447500000000003,lx:3.5999999999999996,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"d7sb6VcbzjaYN3rbM9eNEy",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.4463768115942027,cy:0,cz:-.21447500000000003,lx:3.5999999999999996,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"cog6ySXPfBh8EbJAcymKkb",selected:!1,color:"#fff"},{type:"Wall",cx:-34.64742278189158,cy:2.0786397230474662,cz:0,lx:18.04302697558712,ly:.3,lz:20,relativeAngle:4.718216995364466,leftPoint:[-34.7,11.100000000000001,0],rightPoint:[-34.59484556378315,-6.942720553905069,0],leftJoints:["doTJdkASNxSDmLf9c3Pegr"],rightJoints:["7cDw6CDEimwyt2K7C9p2yW"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gPxD8gV5byhzgQKdBBgMTy",roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.4000000000000057,cy:11.099999999999998,cz:0,lx:68.6,ly:.3,lz:20,leftJoints:["6iADGugkaqZHafimZHuePH"],rightJoints:["gPxD8gV5byhzgQKdBBgMTy"],leftPoint:[33.89999999999999,11.099999999999996,0],rightPoint:[-34.7,11.100000000000001,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"doTJdkASNxSDmLf9c3Pegr",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:33.791618329408095,cy:2.180852804801064,cz:0,lx:17.839611349594517,ly:.3,lz:20,leftJoints:[],rightJoints:["doTJdkASNxSDmLf9c3Pegr"],leftPoint:[33.6832366588162,-6.738294390397874,0],rightPoint:[33.9,11.100000000000001,0],relativeAngle:1.5586453515816485,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"6iADGugkaqZHafimZHuePH",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Window",cx:.22463768115942012,cy:.1,cz:.15000000000000005,lx:.4782608695652177,ly:.3,lz:.6000000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qQynJ4ikT8Jys2hyueRjYG",opacity:.9,mullion:!0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["6iADGugkaqZHafimZHuePH","doTJdkASNxSDmLf9c3Pegr","gPxD8gV5byhzgQKdBBgMTy","7cDw6CDEimwyt2K7C9p2yW"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"sGiZvGvnHnyEYkatVrLiX7",rise:0,ceiling:!1},{type:"Window",cx:.22463768115942023,cy:.1,cz:-.325,lx:.4782608695652175,ly:.3,lz:.3,mullionWidth:.1,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jd3R2J1QYzh9JuC9phYqVK",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#009ce0",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.8,mullion:!0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Joey",cx:27.81441583822325,cy:-8.684480883806081,cz:.05000000074505806,lx:.462,ly:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"fGLWCfzEic9oaSWyEnfb8i",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:.011594202898550683,cy:-5921189464667502e-30,cz:-.44000000000000006,lx:32.4,ly:1.7999999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n8XPZ6tgzkn2e4GV2EzSXQ",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.30724637681159417,cy:-5921189464667502e-30,cz:-.44000000000000006,lx:13.2,ly:1.7999999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"ekdf8pAm7pTKeoNrT8Tsaw",selected:!1,color:"#fff"},{type:"Tree",name:"Coconut",cx:-37.29836295160464,cy:6.720238350736238,cz:.05000000074505806,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bieAeuuP4wJ8YMzJZ42ius",selected:!1},{type:"Tree",name:"Coconut",cx:-37.9321629780283,cy:-10.933241760578944,cz:.050000000745059836,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1BTxRyn2gu6uRotoQP2TPa",selected:!1},{type:"Tree",name:"Coconut",cx:36.96142302143514,cy:-12.152019969014674,cz:.05000000074505451,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"45HuTdkFeGkSbAuGPLxP7t",selected:!1},{type:"Tree",name:"Coconut",cx:37.37981081167908,cy:8.010864765015526,cz:.05000000074505451,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gQacj5zT5LnDR4eGQGkjvL",selected:!1},{type:"Window",cx:-.3014492753623188,cy:.1,cz:.38499999999999995,lx:.30724637681159417,ly:.3,lz:.049999999999999864,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wWxvu5H2MuoVyv6ABdSbEK",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3028985507246377,cy:.1,cz:.11749999999999998,lx:.03188405797101443,ly:.3,lz:.475,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"eREbGbTDZGJcxYejLHJP9R",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09420289855072465,cy:.1,cz:.14499999999999996,lx:.031884057971014505,ly:.3,lz:.5399999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rHF8v4bUPPQWeN1QG5CD8Z",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231944,cy:.1,cz:.38999999999999996,lx:.1710144927536233,ly:.3,lz:.049999999999999954,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1iamFXUWAL4NspqHjRqj9C",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231887,cy:.1,cz:.14499999999999996,lx:.16521739130434784,ly:.3,lz:.06000000000000005,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kwg8jL3PhhkSHEUBWoJRhB",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.008695652173913031,cy:.1,cz:-.0975,lx:.16811594202898547,ly:.3,lz:.05500000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"eBcZrL2nPnHJENRw34vkgb",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23768115942028983,cy:.1,cz:.3849999999999999,lx:.2086956521739131,ly:.3,lz:.05999999999999979,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tNMjGGfcx6yh5WH83NpPfT",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.15072463768115943,cy:.1,cz:.23249999999999998,lx:.0347826086956522,ly:.3,lz:.23500000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"cSnVNjSPe2y5ibKDfks9cp",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2565217391304348,cy:.1,cz:.14500000000000002,lx:.17101449275362315,ly:.3,lz:.049999999999999975,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"oQPXqj5b7fi9mxcYzLVwxU",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23768115942028983,cy:.1,cz:-.09500000000000001,lx:.2086956521739131,ly:.3,lz:.06000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"acu7FEv3n3KgU2sbERHsq8",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32608695652173914,cy:.1,cz:.030000000000000006,lx:.03188405797101453,ly:.3,lz:.16999999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"mwtc1MiJNhvF5Wp2hfBGbo",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3942028985507246,cy:.1,cz:.14499999999999996,lx:.0347826086956522,ly:.3,lz:.5399999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"xjxbBTagEoUGRvE4BqcQ8X",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4463768115942029,cy:.1,cz:-.0975,lx:.06376811594202897,ly:.3,lz:.05500000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gopaxkwtRfTqBUgmdgUeeB",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.44637681159420284,cy:.1,cz:-.09500000000000001,lx:.10434782608695652,ly:.3,lz:.06000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qtFXnqjWpK5EGFhJVApZG1",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2391304347826087,cy:.1,cz:.3850000000000001,lx:.2405797101449276,ly:.3,lz:.05999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n3FzBgTqGZAf3tAvrhJnpS",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.34347826086956523,cy:.1,cz:.11250000000000004,lx:.031884057971014484,ly:.3,lz:.4749999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wN26cpvDFmXpaVZ9fzFKx6",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.1333333333333334,cy:.1,cz:.11499999999999999,lx:.034782608695652126,ly:.3,lz:.47000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"a6Zd5eVvPewZw6pi9G6fFn",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2391304347826087,cy:.1,cz:.145,lx:.17101449275362318,ly:.3,lz:.06000000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"jXiZzAe8xydxZFiw3kYxPd",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231873,cy:.1,cz:-.35,lx:.9304347826086955,ly:.3,lz:.09000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kWayuyUJ3NCoJ76cAXXsb2",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.30869565217391304,cy:.1,cz:-.35,lx:.37391304347826093,ly:.3,lz:.08000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4sc4zQh2e4rskEdUjC7bwE",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Flower",name:"Boxwood",cx:-33.25171795779697,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2qoyCTh6RmtgUKGjienf6c",selected:!1},{type:"Flower",name:"Boxwood",cx:-30.051717957796967,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"27S95LNhtfhhNdrfhLb63X",selected:!1},{type:"Flower",name:"Boxwood",cx:-26.851717957796964,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4EzEYN7UN51NGA1h2gYf6h",selected:!1},{type:"Flower",name:"Boxwood",cx:-23.65171795779696,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"aMDDZrStJb88k8cjNdHTyX",selected:!1},{type:"Flower",name:"Boxwood",cx:-20.45171795779696,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bmyWAH2NGyagaGJf2zR8wZ",selected:!1},{type:"Flower",name:"Boxwood",cx:-17.251717957796956,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qjnbGRzmuBcffGRPmRHiD4",selected:!1},{type:"Flower",name:"Boxwood",cx:-14.051717957796956,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2kbr1bEYWRM4qt64AXRioR",selected:!1},{type:"Flower",name:"Boxwood",cx:-10.851717957796957,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wPVJmyDJeSE1u47UPb87pe",selected:!1},{type:"Flower",name:"Boxwood",cx:-7.651717957796958,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"7fEUD44paZGx4eApcgVBdW",selected:!1},{type:"Flower",name:"Boxwood",cx:-4.451717957796959,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"iz1HshbMuyvDyuUFjjNVmm",selected:!1},{type:"Flower",name:"Boxwood",cx:-1.2517179577969584,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1HnQLoEVsBHHwYnQM4daRk",selected:!1},{type:"Flower",name:"Boxwood",cx:1.9482820422030418,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tHugAGpHLnMfQJaJDiLNgW",selected:!1},{type:"Flower",name:"Boxwood",cx:5.148282042203042,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"fNGZwXhHJCEaTdeKtqi7LN",selected:!1},{type:"Flower",name:"Boxwood",cx:8.348282042203042,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"x9veDZdEDkbTP24vXAaH9a",selected:!1},{type:"Flower",name:"Boxwood",cx:11.548282042203041,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"aW9z1qFcCFUJKw1kfwTUs9",selected:!1},{type:"Human",name:"Jack",cx:-36.639233371667494,cy:-11.25138408484107,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bQ8SMNuHJbe3JAwpYi8Bx3",selected:!1,ly:.42}],F7n={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!0,axes:!1,enableRotate:!0,weatherPanelY:0,cameraPosition:[-38.175932678703475,-44.876912777413864,6.961313205634463],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"#16A5A5",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[7.187719821125536,18.770050283059465,6.961313205634463],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!0,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Desert",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:13.26840862578125,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[21.857600787569247,2.944578579032461,29447094632855078e-22],cameraPosition2D:[21.857600787569247,2.944428572365064,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,waterSurface:!1,showEconomicsPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},L7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},W7n=1,N7n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},U7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},B7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},j7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Y7n=[],O7n={docid:R7n,time:H7n,timestamp:M7n,userid:I7n,owner:z7n,email:D7n,world:E7n,elements:k7n,view:F7n,graphState:L7n,evolutionMethod:W7n,solarPanelArrayLayoutParams:N7n,solarPanelArrayLayoutConstraints:U7n,evolutionaryAlgorithmState:B7n,economicsParams:j7n,notes:Y7n},_7n="1VPKxyH9hMKodx5PZBsKF9",V7n="02/02/2023 08:19 pm",G7n=1675387154116,X7n="QWecNcxhyvP6j6sBN11hBsfZDau1",J7n=null,K7n=null,q7n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},$7n=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground",color:"#ffffff"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.38935296591314916,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:.01688904665567762,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.138,poleHeight:1,drawSunBeam:!0,ly:2.092,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.092,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!1,label:"Row2",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],lx:17.138,selected:!1,orientation:"Landscape",cx:.013031122906363104,relativeAzimuth:0,cy:-.18800180696869379,poleHeight:1,drawSunBeam:!0,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{poleRadius:.05,type:"Solar Panel",lx:17.138,lz:.046,relativeAzimuth:0,drawSunBeam:!0,rotation:[0,0,0],ly:2.092,normal:[0,0,1],poleSpacing:3,cx:.014926747515468942,trackerType:"None",cy:.014703568726943495,label:"Row3",cz:.5000000074506161,orientation:"Landscape",showLabel:!1,selected:!1,poleHeight:1,tiltAngle:.5235987755982988,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{orientation:"Landscape",lx:17.138,showLabel:!1,id:"jLa9TCA6bfQFuaoHYKZtr7",poleHeight:1,drawSunBeam:!0,cy:.18975053307599946,selected:!1,ly:1.596,label:"Row4",poleSpacing:3,cx:.012922602074816969,type:"Solar Panel",cz:.5000000074506161,rotation:[0,0,0],lz:.046,poleRadius:.05,trackerType:"None",tiltAngle:.5235987755982988,normal:[0,0,1],relativeAzimuth:0,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X20-250-BLK"},{tiltAngle:.5235987755982988,id:"nWKZve3r4PVxJM4YwShMJW",relativeAzimuth:0,poleSpacing:3,poleRadius:.05,cx:.011234729062103974,poleHeight:1,type:"Solar Panel",trackerType:"None",label:"Row5",lz:.046,normal:[0,0,1],showLabel:!1,cz:.5000000074505806,selected:!1,orientation:"Landscape",lx:17.138,ly:1.596,rotation:[0,0,0],cy:.35915527919266454,drawSunBeam:!0,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X20-250-BLK"},{type:"Human",name:"Jack",cx:-8.559844752666184,cy:-5.056987011387983,cz:.05000000074505784,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1}],Q7n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Grassland",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-10.001667461924015,-11.422813610974892,1.2577590090789499],panCenter:[.22138352296916342,-.3133299860057419,1.2290156417830225],orthographic:!1,enableRotate:!0,cameraZoom:45.44146361606706,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!0,showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:200,height:69}},Z7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},e8n=1,t8n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},n8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},o8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},i8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},r8n=["Floatovoltaics"],a8n={docid:_7n,time:V7n,timestamp:G7n,userid:X7n,owner:J7n,email:K7n,world:q7n,elements:$7n,view:Q7n,graphState:Z7n,evolutionMethod:e8n,solarPanelArrayLayoutParams:t8n,solarPanelArrayLayoutConstraints:n8n,evolutionaryAlgorithmState:o8n,economicsParams:i8n,notes:r8n},l8n="r7rAdLj2bzBDq2GS1CnPhs",s8n="12/03/2023 04:15 PM",c8n=1701638157224,u8n="QWecNcxhyvP6j6sBN11hBsfZDau1",d8n=null,f8n=null,h8n="1.5.4",p8n={latitude:21.26999081653234,pvGridCellSize:.5,timesPerHour:4,longitude:-157.79987618634874,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"4303 Diamond Head Rd, Honolulu, HI 96816, United States",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},g8n=[{cy:.9722009313455304,normal:[0,0,1],lz:.1,ly:14.358919231269399,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.3854097604402611,cz:.05,rotation:[0,0,0],lx:37.46430380942354,selected:!1,parentId:"Ground",textureType:"Foundation Texture #3"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.4001152441146478,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:-.2534759364667544,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.712,poleHeight:1,drawSunBeam:!1,ly:1.984,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-350P-FG"},{tiltAngle:.5235987755982988,id:"nWKZve3r4PVxJM4YwShMJW",relativeAzimuth:0,poleSpacing:3,poleRadius:.05,cx:-.24807731949020181,poleHeight:1,type:"Solar Panel",trackerType:"None",label:"Row5",lz:.046,normal:[0,0,1],showLabel:!1,cz:.5000000074505806,selected:!1,orientation:"Landscape",lx:17.712,ly:1.984,rotation:[0,0,0],cy:.3130126725192229,drawSunBeam:!1,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-350P-FG"},{type:"Foundation",cx:-.07910485276111778,cy:2.9099830956896398,cz:.15,lx:37.22589181468162,ly:2.2498532144773713,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1Tke71vAoWuRt2r5v2CSYZ",selected:!1},{type:"Tree",name:"Dogwood",cx:-2.3229355333414095,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"35HtXQRVRTJqsvcy71eZBd",selected:!1},{type:"Tree",name:"Dogwood",cx:-17.977666816250007,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fmSSfxugyyXcaFPGp5J2GH",selected:!1},{type:"Tree",name:"Dogwood",cx:-16.570876070305893,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"r1axrjm2UGjTBQPRnRKw1U",selected:!1},{type:"Tree",name:"Dogwood",cx:-15.164085324361773,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"o6SdXUMbUBjNMc2SCs1Pqu",selected:!1},{type:"Tree",name:"Dogwood",cx:-13.757294578417655,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"nkBbAZdoKvnThFLy1td116",selected:!1},{type:"Tree",name:"Dogwood",cx:-12.350503832473537,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"srkmySETFJsYm7J8quA3u2",selected:!1},{type:"Tree",name:"Dogwood",cx:-10.943713086529419,cy:-.07064720678805703,cz:.15,lx:.8963977881664541,lz:1.2127808163464167,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"2kmwtuQn7hFn7tffKEXSXb",selected:!1},{type:"Tree",name:"Dogwood",cx:-9.536922340585301,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fG9ydmQQYpah6b1GcbZ59Q",selected:!1},{type:"Tree",name:"Dogwood",cx:-8.130131594641183,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"cgtEAVRi5nWuhmKxX6g4z5",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.723340848697064,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"przZJKcdsmf3AyEn87SwPT",selected:!1},{type:"Tree",name:"Dogwood",cx:-5.316550102752946,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"wUrT7zxrNMXpZdhUKyq5x6",selected:!1},{type:"Tree",name:"Dogwood",cx:-3.909759356808828,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"wntymhbHuaV7gtGi2EKDo7",selected:!1},{type:"Human",name:"Jack",cx:3.5761554401177627,cy:10.141850723436477,cz:-3552713678800501e-30,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hYuqwxLBfjhYZrxPJu2S8L",selected:!1},{type:"Foundation",cx:.13851040605918286,cy:13.590779733945908,cz:.05,lx:38.38905435254204,ly:3.1484982131688,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"uUai6Yn6y8nHmN3tf9ahyx"},{type:"Tree",name:"Dogwood",cx:-.9161447873972912,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fe3JUD33oYRwCBbynb56a6",selected:!1},{type:"Tree",name:"Dogwood",cx:.490645958546827,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"b9kHqFvP9UMct1EmYHLa8B",selected:!1},{type:"Tree",name:"Dogwood",cx:1.8974367044909453,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"4v5HJbcnyM8oRxQZgZVsFX",selected:!1},{type:"Tree",name:"Dogwood",cx:3.3042274504350635,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"jpZJvpTbQ2E3HeJKSSDDKE",selected:!1},{type:"Tree",name:"Dogwood",cx:4.7110181963791815,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"8uqevdQdeBV5zYzHrgq3Zh",selected:!1},{type:"Tree",name:"Dogwood",cx:6.1178089423232995,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"ehkm6HNVcvwQd4qavWsxgH",selected:!1},{type:"Tree",name:"Dogwood",cx:7.5245996882674175,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1.1894655061100838,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"mLwM3h5i56JQA5TFe7ZiDv",selected:!1},{type:"Tree",name:"Dogwood",cx:8.931390434211536,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"7GwaXerEUULBZK3RvssSh4",selected:!1},{type:"Tree",name:"Dogwood",cx:10.338181180155654,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"o51PX9nDXBoHsRrR8Uu3uf",selected:!1},{type:"Tree",name:"Dogwood",cx:11.744971926099772,cy:.03525093487395026,cz:.15,lx:1.764310209952872,lz:1.265757986719473,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"9F5Dsns2uqudj67bhcfCuw",selected:!1},{type:"Tree",name:"Dogwood",cx:13.15176267204389,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"nk4dmSLi3sQsGHDhERhaBY",selected:!1},{type:"Tree",name:"Dogwood",cx:14.558553417988009,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"g2UDZFQDMS1tCLiVCT9tfK",selected:!1},{type:"Tree",name:"Dogwood",cx:15.965344163932127,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"2mrMmxPqKbQr6oZ7YUWRD8",selected:!1},{type:"Tree",name:"Dogwood",cx:17.372134909876245,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"cyqhBaUdyZEb9qiSvsXab5",selected:!1},{type:"Foundation",cx:-.07054167332229894,cy:-2.024806657915021,cz:.15,lx:37.22589181468162,ly:2.2498532144773713,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{},rValue:2,id:"96KwVrDfi16QfHLR93Yusp",selected:!1},{type:"Tree",name:"Dogwood",cx:-2.3229355333414095,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"a49icarmzkr5QwqsUwcbKA",selected:!1},{type:"Tree",name:"Dogwood",cx:-17.977666816250007,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"eLvpYKupN3ZLTR6HGQMJkt",selected:!1},{type:"Tree",name:"Dogwood",cx:-16.570876070305893,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"7rJcFKWtrJvxRyWnzd6WkS",selected:!1},{type:"Tree",name:"Dogwood",cx:-15.164085324361773,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.0628678085816343,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"rtyCUEBjykc41yoAS8xvzF",selected:!1},{type:"Tree",name:"Dogwood",cx:-13.757294578417655,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4KPWZLD6vF24DfPuM2Sk5U",selected:!1},{type:"Tree",name:"Dogwood",cx:-12.350503832473537,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"vmVbUtrDPqovRK9e9VXmvi",selected:!1},{type:"Tree",name:"Dogwood",cx:-10.943713086529419,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"uZEQRAZoWqCdb9t2vARZDK",selected:!1},{type:"Tree",name:"Dogwood",cx:-9.536922340585301,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.1673145007663057,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"3kqBZrSL44dhijeAviDVUt",selected:!1},{type:"Tree",name:"Dogwood",cx:-8.130131594641183,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"fHWcVVyZeJR1UETUCJVtfh",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.723340848697064,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"pPESS4LE2RduK16iCF4KdD",selected:!1},{type:"Tree",name:"Dogwood",cx:-5.316550102752946,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"qZrj5i9EwWchq9UModX2KJ",selected:!1},{type:"Tree",name:"Dogwood",cx:-3.909759356808828,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.1292047414746058,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"g9GCKKyuBxSMt9EkVXcwb6",selected:!1},{type:"Tree",name:"Dogwood",cx:-.9161447873972912,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"qi19BZSTrFFjKcH9LHmHer",selected:!1},{type:"Tree",name:"Dogwood",cx:.490645958546827,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1.2,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"6fapqZiLRvqTC3noQ9qV1n",selected:!1},{type:"Tree",name:"Dogwood",cx:1.8974367044909453,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"eTJ54zfhEY587nX7Gwwzrt",selected:!1},{type:"Tree",name:"Dogwood",cx:3.3042274504350635,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"mnoQ28t4Sb3TFQnqEQMGRc",selected:!1},{type:"Tree",name:"Dogwood",cx:4.7110181963791815,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"wfaEEGtnAgNTCdGMsUUEBg",selected:!1},{type:"Tree",name:"Dogwood",cx:6.1178089423232995,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"aE4gaTgQS5D99ihfN5N1k6",selected:!1},{type:"Tree",name:"Dogwood",cx:7.5245996882674175,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"iVwdm91NiMXw2bhPisFykP",selected:!1},{type:"Tree",name:"Dogwood",cx:8.931390434211536,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"1ZKagttn6ByMzdnHsckbRB",selected:!1},{type:"Tree",name:"Dogwood",cx:10.338181180155654,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4DbKV3HWjhBz2GFmeLXq5c",selected:!1},{type:"Tree",name:"Dogwood",cx:11.744971926099772,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"dXC8aLV5gZJNyUdCNmpiZ8",selected:!1},{type:"Tree",name:"Dogwood",cx:13.15176267204389,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"gi688GyqFP38jz93UfzMgz",selected:!1},{type:"Tree",name:"Dogwood",cx:14.558553417988009,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"d5fHKRcHkVJqL5GKmd9LDf",selected:!1},{type:"Tree",name:"Dogwood",cx:15.965344163932127,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"13n9gQqcnRjZGsNhYWB4CN",selected:!1},{type:"Tree",name:"Dogwood",cx:17.372134909876245,cy:.03525093487395026,cz:.15,lx:1.4443308509644897,lz:1.3412576094365443,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4KJo99ghaNG7xtsX7Kn1N3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.25983646910764824,cy:.3133093731438954,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bagts7BbZy9iCcoduMfEgD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:-.2523128881468759,cy:-.049773566907739965,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pj2L9vfZSZQi8e9gAooky6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.25728154613970783,cy:-.04340299144144473,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCxFDu9XteXqYUHTDEDNzj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.2576243996790015,cy:-.39678149415706165,cz:.5000000074505806,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mnrNeCQGtprG4bege1iS2k",selected:!1},{type:"Wind Turbine",hubRadius:.75,hubLength:1,bladeRadius:8,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:2.2,maximumChordLength:.8,towerRadius:.45,towerHeight:16,cx:.3229647560258571,cy:-.024310522113242205,cz:0,lx:16,ly:16,lz:24,normal:[0,0,1],rotation:[0,0,0],parentId:"uUai6Yn6y8nHmN3tf9ahyx",foundationId:"uUai6Yn6y8nHmN3tf9ahyx",id:"tSaXBUZ4vhyAW1v5cyaAsR",selected:!1,initialRotorAngle:.5235987755982988,pitchAngle:.20943951023931956},{type:"Wind Turbine",hubRadius:.75,hubLength:1,bladeRadius:8,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:2.2,maximumChordLength:.8,towerRadius:.45,towerHeight:16,cx:-.3557792798597688,cy:.20081385230735016,cz:0,lx:16,ly:16,lz:24,normal:[0,0,1],rotation:[0,0,0],parentId:"uUai6Yn6y8nHmN3tf9ahyx",foundationId:"uUai6Yn6y8nHmN3tf9ahyx",id:"ihuq9s7iV15JQwWEWj6cns",selected:!1,initialRotorAngle:1.3962634015954636,pitchAngle:.20943951023931956}],m8n=24,y8n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:21,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[5.592328859316375,-28.430996692941612,7.190377220372418],panCenter:[5.753820002631499,6.322778695844774,6.457742384767832],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[4.5991440976008455,6.337014925329444,150],panCenter2D:[4.5991440976008455,6.338015302774838,64403155386807335e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showMapPanel:!1,solarRadiationHeatMapMaxValue:4,showStickyNotePanel:!1,stickyNotePanelRect:{x:0,y:0,width:205,height:68},navigationView:!1},A8n=!1,w8n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},v8n=1,x8n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},b8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},S8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},T8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},P8n="Unknown",C8n=null,R8n=null,H8n=null,M8n=null,I8n=["Agrivoltaics"],z8n=3,D8n=3,E8n={docid:l8n,time:s8n,timestamp:c8n,userid:u8n,owner:d8n,email:f8n,version:h8n,world:p8n,elements:g8n,sceneRadius:m8n,view:y8n,animate24Hours:A8n,graphState:w8n,evolutionMethod:v8n,solarPanelArrayLayoutParams:x8n,solarPanelArrayLayoutConstraints:b8n,evolutionaryAlgorithmState:S8n,economicsParams:T8n,modelType:P8n,modelAuthor:C8n,modelLabel:R8n,modelDescription:H8n,designProjectType:M8n,notes:I8n,minimumNavigationMoveSpeed:z8n,minimumNavigationTurnSpeed:D8n},k8n="3kTPvbTLo3JfCvHCNFYb8C",F8n="02/02/2023 05:19 pm",L8n=1675376390119,W8n="QWecNcxhyvP6j6sBN11hBsfZDau1",N8n=null,U8n=null,B8n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"10/01/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},j8n=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:20.344194814255086,label:"R22"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:20.344194814255086,label:"R23"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:20.301130494002802,label:"R24"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"R21",dailyYield:20.423474876035336},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:20.34600992389522,label:"R25"},{type:"Foundation",cx:9.631391045182012,cy:-.034724141127635555,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.23276330833803774,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"oPGVYYGkGqjKAWacgXTr35",selected:!1,dailyYield:11.705639294931665,label:"R12"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"aiWW32QVkCjCBwtDMtjsXr",selected:!1,dailyYield:20.423474876035336,label:"R11"},{type:"Foundation",cx:-9.466959404203182,cy:-.00920136097199542,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7LGxrgEwehUWBo5dH7C67q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:-.09409066127900084,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"gFDw5Wxzxz1fZY32qoSLoy",selected:!1,dailyYield:11.694143838550957,label:"R13"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.044581985780036054,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"3seUSu69aBJbCMJ1QTweLi",selected:!1,dailyYield:11.705639294931665,label:"R14"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967656,cy:.18325463283907295,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"hgGFwiEpscwf16U1io4zpD",selected:!1,dailyYield:11.705639294931665,label:"R15"}],Y8n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[24.035965357730035,-22.736672617703796,26.412316296073463],panCenter:[14.509957884993852,2.01433946065165,2.596734324796276],orthographic:!1,enableRotate:!0,cameraZoom:27.207482839996143,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:253,height:65}},O8n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_8n=1,V8n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},G8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},X8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},J8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},K8n=["Effect of interrow spacing"],q8n={docid:k8n,time:F8n,timestamp:L8n,userid:W8n,owner:N8n,email:U8n,world:B8n,elements:j8n,view:Y8n,graphState:O8n,evolutionMethod:_8n,solarPanelArrayLayoutParams:V8n,solarPanelArrayLayoutConstraints:G8n,evolutionaryAlgorithmState:X8n,economicsParams:J8n,notes:K8n},$8n="69tJrD9Uz8P8feZdzUtyXN",Q8n="05/20/2022 12:16 pm",Z8n=1653063377435,evn="QWecNcxhyvP6j6sBN11hBsfZDau1",tvn=null,nvn=null,ovn={latitude:37.44574069680563,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-6.249946169311531,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"41800 Sanlúcar la Mayor, Seville, Spain",date:"3/22/2022 11:00:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:5,cspTimesPerHour:1,cspGridCellSize:5},ivn=[{cy:53.463080949514506,normal:[0,0,1],lz:.5,ly:806.586647395053,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:11.016365885808142,cz:.25,rotation:[0,0,0],lx:870.6680312936733,selected:!1,parentId:"Ground",locked:!1,solarPowerTower:{towerHeight:40,towerRadious:4}},{type:"Human",name:"Jack",cx:-19.167451192300774,cy:-309.3414199054706,cz:0,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.0019164258394133288,cy:-.4158344145798274,cz:0,lx:12,ly:10,lz:.1,showLabel:!1,label:"4",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:25.59597205852084,yearlyYield:311.4614380820491,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.007376001317235639,cy:-.36554470178529136,cz:0,lx:12,ly:10,lz:.1,showLabel:!1,label:"3",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:28.888231364804646,yearlyYield:341.6536704139208,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.20537660531292481,cy:-.4193704100106933,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!1,dailyYield:23.314190283597984,yearlyYield:285.77957159626914,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.09582112405795708,cy:-.4382290523086443,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!1,dailyYield:29.108913473883288,yearlyYield:347.0340046876023,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.054863159129938666,cy:-.464159685468327,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTbu5NQZzH6fiJzt2zLCpV",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11037999199881661,cy:-.46023080165625374,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ugqyZH3Bjuab2xu6Qr2AeU",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.112199850491424,cy:-.3934397768510106,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7rmzdYXVhRoVennqPqJYd",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11802339766776783,cy:-.41308419591137624,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jSyunViQPLX4rv6KUBXXTZ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.15769631280660995,cy:-.4511943688884857,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q1mgBumMQuofVfZ58dfPgn",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.039576347792036205,cy:-.442943712883132,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1BaYAuYZtqhDEGCFRqXDcs",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.02792925343934858,cy:-.3761526880778888,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4sC4oY8P4gCm2XiADRkgDQ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.07725856743336128,cy:-.42251351706035173,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k2hvdFozuZeFRMXA2gCxru",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.08781374669048435,cy:-.3977615490442911,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5gLYoZoHmvvc2dfNpBoMHu",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.10419247312395133,cy:-.3682949204537425,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoUTmK9iTzsVRu26aQmb6S",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1445933316598364,cy:-.3553296038739013,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aaDc1Nt2XKdpoCZWcocB2i",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.005363008131016386,cy:-.38597489760807163,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLKFf4eYJctoWDbAWu1oSp",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1314903505130629,cy:-.4657312389931562,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"svsNMecQbfU155PmYUZ3Lt",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.12457488824115463,cy:-.36004426444838894,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5WMpX8TYy1KfLhVCYdMj1p",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.16424780337999675,cy:-.38518912084565715,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rLs3CXHWy1yv3CpNwWpHSg",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.16934340715929755,cy:-.4067979818120592,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYKv2L4bbvL99cSYqy9g78",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.04086139758121251,cy:-.3297918590954259,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6h32hqP5LZJr3g6KkvENFf",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.05978792590432987,cy:-.38361756732082763,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hJpPNqZeYCYBc9ZnrtL8rd",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.014291463589143885,cy:-.3961899955194619,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oKHW4guazpWYWFUbcAtx78",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.015554215689618007,cy:-.40483353990602267,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jGpvLznPcPbkxgRNT7LmEG",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.030306218324089352,cy:-.40876242371809585,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7v652Vk2Y4W8Ugs74iPYyx",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.18645007698980745,cy:-.40994108886171765,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wmMQERU6EmYPAHq1HGq5G1",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1646117750785182,cy:-.42172774029793714,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qmEBaJnQ1mYuWRgutUUj45",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.025574586243310056,cy:-.3482576130121696,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hgFFjf5NE1fWwscAHtJz9W",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.14677716185096534,cy:-.38086734865237665,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5E44DCctaDCtPRiHgiN8Co",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1871780203868504,cy:-.38833222789531546,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3FAf2Pb5iRxcMgjsAapYN",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.2064685204084893,cy:-.39697577228187636,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phQzzL3Mgfme6Exr5WqXA9",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.227942850621257,cy:-.40640509343085185,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gSGxJne57KgDvvhX1w8m4S",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.068887218367367,cy:-.33686384995715757,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nvkfziKtbczLEbZ9noiReH",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.09873289764612901,cy:-.34629317110613306,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e7BrgrYuxziAFGXqE8Paiu",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.04595700136051335,cy:-.3631873714980474,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6E7Q93GeP3kP1LK9YLZv9E",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.07815734783531385,cy:-.44765837345761983,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSCCumTcS91dqnMuiik1qm",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.07980636932301162,cy:-.37300958102823034,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pmLUXug8LEht87AKuCxfbz",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.2483252657384603,cy:-.4201561867731079,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o54KAWAv76mbgsJ1MBkyC5",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.09999564974660309,cy:-.4610165784186685,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f7h8FDUa15ALkGHaRaG5Hv",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.19736922794545209,cy:-.4417650477395101,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2waE2goJnuKsD2ZPsCBxqm",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.05542026552207203,cy:-.4134770842925835,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5ovRP3PCZ5upU3ukAjjLY",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.22393916193752067,cy:-.43233572659053454,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jLzYFijeuhoktLs4FcLsmr",selected:!1,drawSunBeam:!0,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.020285847770397398,cy:-.4260495124912175,cz:.5000000074506517,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b3S1EEPjMRL48HLhjJkhr2",selected:!1,drawSunBeam:!0,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.08890566178604883,cy:-.3231127566149015,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aqxtvZXmbpAutc5KFCX7w3",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.034844715711256906,cy:-.3985473258067056,cz:.5000000074506517,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qn5fUEqKYEJLMaMGhD5V2c",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1817184449090281,cy:-.4291926195408761,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4t86vx9fAWouPiFQswUJGQ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.073789687453056,cy:-.4728032298548879,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rufeUy74dsTyxkeFYKX4qa",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.028850331530003406,cy:-.37536691131547417,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6GXoab5MEeebRm4uGu1EG9",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.04030429118907922,cy:-.42172774029793714,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5TEya7XNeGuhPop6Pj6Es",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11838736936628931,cy:-.43272861497174187,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eDoKDbTtFpnA5S8UAeT5JD",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.13840581278497113,cy:-.41740596810465674,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bybZmMq5HCRUCdJHjru2JV",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.13513006749827772,cy:-.4437294899555085,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hrEeQaibYaP57iKo4xufR4",selected:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.043409199470862934,cy:-.38833222820527735,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eMTdANgm4PdxeiHcfwzGxe",selected:!1},{type:"Heliostat",cx:.05923081951219652,cy:-.3989402144978749,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t2umoGg8VspP5qdugHevfe",selected:!1},{type:"Heliostat",cx:.05959479121071805,cy:-.4232992941327282,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xgWhQhAtyB8sh6AEqfnLMB",selected:!1},{type:"Heliostat",cx:.05886684781367504,cy:-.44569393186154516,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4PiJNb4AiKgYWDFqfiLnsX",selected:!1},{type:"Heliostat",cx:.08325295161461468,cy:-.4268352895635941,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uiJMkxjENj2xtf6Ek94NEJ",selected:!1},{type:"Heliostat",cx:.10472728182738246,cy:-.4370503874749841,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xu9CszAWnNUQxfgY6e4BuN",selected:!1},{type:"Heliostat",cx:.05013152704915935,cy:-.37222380457577764,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mNvmxvTfLNasgrJJBceUa2",selected:!1},{type:"Heliostat",cx:.01773804588074696,cy:-.3392211805543633,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mPHMz8Zez8DHnqXVJDdKqX",selected:!1},{type:"Heliostat",cx:-.11802339766776783,cy:-.3368638502671194,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3u148SBduXqFBbKh774JFp",selected:!1},{type:"Heliostat",cx:-.16570369017408268,cy:-.3584727112335216,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dkiRia21pNiw2ZZ9ehmvPz",selected:!1},{type:"Heliostat",cx:-.20901632229813968,cy:-.3702593626697411,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nCzcUVZHj8SBGWmTxeVCdH",selected:!1},{type:"Heliostat",cx:-.2290347657168215,cy:-.37968868381871645,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1A8dsYXQfAQaXjXYHYypfP",selected:!1},{type:"Heliostat",cx:-.186086105291286,cy:-.36318737180800925,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sWF3MtvJScjs42n3JPJzBs",selected:!1},{type:"Heliostat",cx:-.15988014299773887,cy:-.3368638502671194,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qJ6i6BJYiz4BtphokxmqSr",selected:!1},{type:"Heliostat",cx:-.13767786938792817,cy:-.33450651997987546,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8VArq9h668zQsZacfABpJx",selected:!1},{type:"Heliostat",cx:-.10965204860177363,cy:-.3180052079691684,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hDWFzcdWPkLhpNc2qDGY97",selected:!1},{type:"Heliostat",cx:-.07798651083040421,cy:-.3034683378644978,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3osCpGC4VNFjdLEnR9ssL",selected:!1},{type:"Heliostat",cx:-.04304522777234147,cy:-.29953945405242466,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5bEZH7wqmT7kFk43Sb7TJN",selected:!1},{type:"Heliostat",cx:-.060515869301372795,cy:-.3164336544443391,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5KkN2FL8QnM1J53hB4Xn2H",selected:!1},{type:"Heliostat",cx:-.02521061454478851,cy:-.3168265428255464,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kDCxHQF3XiaNTHNK5V66Ez",selected:!1},{type:"Heliostat",cx:-.008467916412800107,cy:-.3022896727208758,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"crvXHP85BpYy7AfrCdfGqQ",selected:!1},{type:"Heliostat",cx:.004635064733973385,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3MtreSAAK1C6J96mEDGMf5",selected:!1},{type:"Heliostat",cx:-.012107633398015015,cy:-.33332785483625366,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e5jtkdQkg5vLr79YkGmJpg",selected:!1},{type:"Heliostat",cx:.02574542324821971,cy:-.3105403287262294,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1YLAcSLk3xfAp4c5r9jnnW",selected:!1},{type:"Heliostat",cx:.011550527005881632,cy:-.2956105702403515,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w1pjfJGLPZSQFpNzSdhVtD",selected:!1},{type:"Heliostat",cx:.03520868740977837,cy:-.33214918969263163,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4HHLNX7pc8ynVjLa3M1tpQ",selected:!1},{type:"Heliostat",cx:.045035923269858516,cy:-.3510078319905826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ePKj6YLxFoSXibXbQUndAB",selected:!1},{type:"Heliostat",cx:.043944008174294044,cy:-.3046470030081197,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6nSgZWsKWCHiVuWk3E9WHV",selected:!1},{type:"Heliostat",cx:.030477055328999,cy:-.2865741374725833,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kT5YZAVhbb3hZCQWannx3E",selected:!1},{type:"Heliostat",cx:.01737407418222549,cy:-.2677154951746322,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"giZWyJupVbt7L3N3Exx6KE",selected:!1},{type:"Heliostat",cx:-.005556142824628219,cy:-.2783234814672297,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bzoJ5edfakL2yrcp9BQhB9",selected:!1},{type:"Heliostat",cx:-.026302529640352984,cy:-.2865741374725833,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rKs5TmBLfGe1R4gmQLWbCL",selected:!1},{type:"Heliostat",cx:-.062335727793980285,cy:-.29089590966586376,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2CFM3oUCe7xRVZWhn2bpoF",selected:!1},{type:"Heliostat",cx:-.09727701085204306,cy:-.2999323424308765,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n3zXksYZLyDrdVy3Mr5bjz",selected:!1},{type:"Heliostat",cx:-.1307624071160199,cy:-.3136834357758604,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tKTj5ruzDm2LDUQttBKZuC",selected:!1},{type:"Heliostat",cx:-.15332865242435212,cy:-.30975455196378715,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8Wrax3edyeNcguwLnRGXNE",selected:!1},{type:"Heliostat",cx:-.11765942596924632,cy:-.2912887980470435,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xe4keTpM3Nxqxi8VTBVkBA",selected:!1},{type:"Heliostat",cx:-.10382850142542982,cy:-.2704657138430559,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cu8vDmF3mr6d486SRs8SVM",selected:!1},{type:"Heliostat",cx:-.08453800140379099,cy:-.2779305930859948,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qVS1NQxjbM2xAQU2dHHvRU",selected:!1},{type:"Heliostat",cx:-.0641555862865877,cy:-.2637866113625315,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bdggQyC48dvj95izyNr5AC",selected:!1},{type:"Heliostat",cx:-.045593029661991816,cy:-.27360882089271443,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vPgz2pQL9AveqJGFTntUuC",selected:!1},{type:"Heliostat",cx:-.02448267114774558,cy:-.2598577275504585,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4WD9oiEgpbrtpGdNkRWVx7",selected:!1},{type:"Heliostat",cx:.054863159129938666,cy:-.2763590395611656,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1w2pYGTGqA6behkJEfLcAj",selected:!1},{type:"Heliostat",cx:-.13949772788053558,cy:-.2932532399530801,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8mK23ihYB6sUrakd88UX1",selected:!1},{type:"Heliostat",cx:-.17553092603416284,cy:-.3140763241570676,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gzBAFojWt7yjzaVPbVngNE",selected:!1},{type:"Heliostat",cx:-.18353830340163557,cy:-.33725673864829914,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qW18dh2SyEZXtSs5ZncgMF",selected:!1},{type:"Heliostat",cx:-.20610454870996778,cy:-.34236428760399423,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1MzjLhQ1k16rfXY1x49HYf",selected:!1},{type:"Heliostat",cx:-.16570369017408268,cy:-.28696702585376305,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"smNLCMky9o9MmdQJkRyv9F",selected:!1},{type:"Heliostat",cx:-.2516010110251537,cy:-.39068955849252135,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nyYdfe47Tnu2fkkQUpKj1e",selected:!1},{type:"Heliostat",cx:.057410961019589084,cy:-.323898533687278,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rZGMeCkjHUbBEScHVmXvBY",selected:!1},{type:"Heliostat",cx:.0650543666885403,cy:-.3466860597973021,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6UVpSPL6NHwkMTGMAGWMbc",selected:!1},{type:"Heliostat",cx:.06942202707079821,cy:-.3675091440012898,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vUjENc3i3UFtAwACin59Nf",selected:!1},{type:"Heliostat",cx:.09089635728356589,cy:-.38793933982407003,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bYd2te8sj3qc6nKgdBwKUp",selected:!1},{type:"Heliostat",cx:.09053238558504442,cy:-.3682949207637044,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x5qvaDTKu24dWCcZ1x9b4h",selected:!1},{type:"Heliostat",cx:.0861647252027866,cy:-.3459002830348876,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sYrumHzsSzJLGjGWnmW78L",selected:!1},{type:"Heliostat",cx:.07997720632792127,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3atSERmb5y2o1fPkn3U3Sb",selected:!1},{type:"Heliostat",cx:.06651025348262624,cy:-.2967892353839734,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q8fwLHL82vQ4h4iHmsSoAx",selected:!1},{type:"Heliostat",cx:.09089635728356589,cy:-.2963963470027661,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rUX6PqLyYSPibFZmVVGKj1",selected:!1},{type:"Heliostat",cx:.09853976295251717,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a71RHg1a5mbtqFmRR1LeB1",selected:!1},{type:"Heliostat",cx:.10763905541555435,cy:-.34629317141609495,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rCZjDPu6hrV9hwK1sMBx7P",selected:!1},{type:"Heliostat",cx:.11091480070224773,cy:-.37104513943215556,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YTfKHrGkuKHP7GdujyydA",selected:!1},{type:"Heliostat",cx:.10982288560668325,cy:-.39383266554217977,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kT6EXQ8Utyx3h6apaMYxSG",selected:!1},{type:"Heliostat",cx:.11091480070224773,cy:-.41544152650858196,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nStqgmJn2aLSvqHghG4Pbp",selected:!1},{type:"Heliostat",cx:.1287494139298006,cy:-.421727740607899,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2E7Vc7NyKu7SLYD6MSVgmr",selected:!1},{type:"Heliostat",cx:.1251096969445857,cy:-.44294371319309384,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iJhGibH8hVHt3XFxuZ2EVR",selected:!1},{type:"Heliostat",cx:.14003253658396672,cy:-.4547303646293133,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6ZA3XqcWxDfsN537EKY5vj",selected:!1},{type:"Heliostat",cx:.14913182904700392,cy:-.4311570617568746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4cKpMCMNmB9Ss7pKbSCSsB",selected:!1},{type:"Heliostat",cx:.16660247057603533,cy:-.4445152667179231,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w54968Xiwo6dPjYZQGbBrb",selected:!1},{type:"Heliostat",cx:.17278998945090057,cy:-.4213348522266917,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6dckGmumPNSkFhq8gMs3qu",selected:!1},{type:"Heliostat",cx:.1920804894725394,cy:-.4354788339501549,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cwVuAxoZiUC1H5Wje2gfod",selected:!1},{type:"Heliostat",cx:.15095168753961133,cy:-.40561931697839915,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ozYpByUV6vBaKhUdY2r3nZ",selected:!1},{type:"Heliostat",cx:.13238913091501553,cy:-.39697577259181077,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3E8kv3kvDQYPCgHGrTc3BH",selected:!1},{type:"Heliostat",cx:.1316611875179725,cy:-.37379535810057923,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"umYgCpqMpXPc71s29rAX3g",selected:!1},{type:"Heliostat",cx:.1298413290253651,cy:-.35022205522814037,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4yFSXLahhMtG3gK56eWGg1",selected:!1},{type:"Heliostat",cx:.1251096969445857,cy:-.327041640736909,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aTpNU9JuuqwPxdobYW4pBR",selected:!1},{type:"Heliostat",cx:.1174662912756345,cy:-.29757501214636045,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gNvHaW33K459kqY9u7BepY",selected:!1},{type:"Heliostat",cx:.15131565923813287,cy:-.35650826932745744,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8qgkQF7DCx79d2LxBy7hix",selected:!1},{type:"Heliostat",cx:.15167963093665435,cy:-.38243890248714013,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mPQfhExNEGN2zwyjRVpTpq",selected:!1},{type:"Heliostat",cx:.17388190454646504,cy:-.39540421906698137,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pDgnwEkgpE6PGtyJCXjDhU",selected:!1},{type:"Heliostat",cx:.1786135366272444,cy:-.3682949207636769,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cRreS1UagGBcRUbiWtwtBd",selected:!1},{type:"Heliostat",cx:.19535623475923283,cy:-.40719087050320085,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s7q7X6xUdhEACPxPGQCEo9",selected:!1},{type:"Heliostat",cx:.19826800834740468,cy:-.3726166929569573,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gFGfHzaaJc5xaE2fHD963c",selected:!1},{type:"Heliostat",cx:.2153746781779146,cy:-.41819174517700564,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nw8E1dCRxuQCPzw91T7NeE",selected:!1},{type:"Heliostat",cx:-.22794285062125708,cy:-.3557224925650703,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jrTEnFovS1iifhRBBxC77v",selected:!1},{type:"Heliostat",cx:-.27198342614235704,cy:-.405226428597192,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1HaVkVgC69Exxa4P4AuMRU",selected:!1},{type:"Heliostat",cx:-.2483252657384603,cy:-.3565082693274851,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qspACkTkjBfrx3FAarHvtL",selected:!1},{type:"Heliostat",cx:-.23267448270203633,cy:-.32979185940538763,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7itXceUu3MAQZY9syuA2us",selected:!1},{type:"Heliostat",cx:-.21302001098187603,cy:-.30739722167657085,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w8VQxzaXGr6shiYCtL94LK",selected:!1},{type:"Heliostat",cx:-.19045376567354383,cy:-.2877528026162052,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mYnEgxKjquMfzKB4NWPwU3",selected:!1},{type:"Heliostat",cx:-.16424780337999675,cy:-.26850127193704687,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e9bXB5WFMrZz7h5xt76LKd",selected:!1},{type:"Heliostat",cx:-.13804184108644962,cy:-.25632173211962017,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gtNeJEcTRyufHLL6AokGYa",selected:!1},{type:"Heliostat",cx:-.11074396369733809,cy:-.2464995225894373,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6fwRxb24K57nabopN8NEmN",selected:!1},{type:"Heliostat",cx:-.08126225611709761,cy:-.23549864791563258,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aUiiaf5Cq9kXkR5KzivtS2",selected:!1},{type:"Heliostat",cx:-.05141657683833565,cy:-.23274842924718137,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wXCs59HycWywP6dVX3RxFD",selected:!1},{type:"Heliostat",cx:-.023390756052181078,cy:-.23156976410080404,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uQNYdG6Cfa2DE4YjEyjiXC",selected:!1},{type:"Heliostat",cx:.008274781719188292,cy:-.2315697641035319,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"obhiNFSAxtYYjH2nQGrkoa",selected:!1},{type:"Heliostat",cx:.035208687409778276,cy:-.2406061968713278,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iY6QUX8HJxFfcjwEAuVe3x",selected:!1},{type:"Heliostat",cx:.06177862140184686,cy:-.24846396449547406,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gxxQzBr3C3fZtBLQB4XzAE",selected:!1},{type:"Heliostat",cx:.0887125270924369,cy:-.26221505783772997,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpt9FEDEbwRR242xB1y6tv",selected:!1},{type:"Heliostat",cx:.11528246108450549,cy:-.2802879233732664,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fPPU5HqYqZdh2QetXJ2p7A",selected:!1},{type:"Heliostat",cx:.13894062148840217,cy:-.2991465656684621,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"esagbCU76EkkhqebaZmmUf",selected:!1},{type:"Heliostat",cx:.15932303660560546,cy:-.31918387311276286,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"prTqpkxvMuTWkeLJ8y2CgD",selected:!1},{type:"Heliostat",cx:.17970545172280875,cy:-.3443287295100309,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u7j14TV18gpXBNzei9H8w2",selected:!1},{type:"Heliostat",cx:.2022716970311409,cy:-.3498291668469332,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JiM8J57ngXan5UMty5HT8",selected:!1},{type:"Heliostat",cx:.21937836686165088,cy:-.37968868381871645,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uUofaDUcmMKbxLFL1oxkSL",selected:!1},{type:"Heliostat",cx:.23976078197885417,cy:-.38911800496769194,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uJfXK4rjScs7gFncayPnY8",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:.22410999894243014,cy:-.35611538094627776,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dzS7KY8fPB4mrrF8bFf3Lo",selected:!1},{type:"Heliostat",cx:.24776815934632693,cy:-.36358026018921674,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vNqpyqbCLz9tXo7A7xujcB",selected:!1},{type:"Heliostat",cx:.26997043295613765,cy:-.3726166929569849,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4ko5XUjuP9RKm463DmDooY",selected:!1},{type:"Heliostat",cx:.1840731121050666,cy:-.32468431044969276,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"77xeiEQazj2KRhrDXmVzHK",selected:!1},{type:"Heliostat",cx:.20554744231783434,cy:-.3258629755933147,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQy87m9iTvmkmNKh4GrwyX",selected:!1},{type:"Heliostat",cx:.22993354611877403,cy:-.3317563013114243,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xeup3LyMyTrCKir2W1QKdM",selected:!1},{type:"Heliostat",cx:.25468362161823516,cy:-.3392211805543633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qrKKoaqQCswPARya6NG7Vs",selected:!1},{type:"Heliostat",cx:.27797781032361035,cy:-.3423642876040219,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pfjQmBxWC1Ae9mM7CjmUUs",selected:!1},{type:"Heliostat",cx:.16150686679673432,cy:-.2956105702403516,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6aCwPMcxiojnSCdYJ4wNko",selected:!1},{type:"Heliostat",cx:.1848010555021095,cy:-.29875367729001007,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"auwCCmHc32MJvNubS1T1L3",selected:!1},{type:"Heliostat",cx:.20991510270009217,cy:-.2979679005275954,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cb6NtvzZtpvN9xsruY7hxj",selected:!1},{type:"Heliostat",cx:.18334516870802356,cy:-.2696799370806689,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h9tGbEHGsevbnpUXRoj68w",selected:!1},{type:"Heliostat",cx:.16041495170116993,cy:-.2724301557491201,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"woL52bcsabXgpYHzS37qFg",selected:!1},{type:"Heliostat",cx:.13821267809135915,cy:-.2743945976551566,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3nJXEXXtvwSxAapdRK8NEU",selected:!1},{type:"Heliostat",cx:.11164274409929059,cy:-.25592884373841296,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dcTSduTDfjsNkLxPMwiTbk",selected:!1},{type:"Heliostat",cx:.1320251592164939,cy:-.24807107611426668,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sBMKWzPqqAL7Zab4fQ5qqk",selected:!1},{type:"Heliostat",cx:.156775234715955,cy:-.24453508068340082,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uQW7nfUe52sF2ZYqMceBPR",selected:!1},{type:"Heliostat",cx:.10618316862146829,cy:-.23274842924718148,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gDJUNMNv2fBuCXvNz8J9xz",selected:!1},{type:"Heliostat",cx:.12947735732684348,cy:-.22449777324182785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d6wJ1UkGVratdvd1YcRyf5",selected:!1},{type:"Heliostat",cx:.08398089501165754,cy:-.2402133084901204,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pnwY9vWpqTutfMQk6qVUEd",selected:!1},{type:"Heliostat",cx:.07488160254862036,cy:-.2170328939961335,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9yJRVguxm2r3mSoLCoLCTo",selected:!1},{type:"Heliostat",cx:.054135215732895585,cy:-.2276408802914864,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bcvVnYRe7XAmehyShvHG4A",selected:!1},{type:"Heliostat",cx:.09671990445990958,cy:-.20838934961232802,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dt7UVCgK4oYcArc7w2oh6S",selected:!1},{type:"Heliostat",cx:-.2708915110467926,cy:-.3631873718080094,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fP7CoUPJXXfAbKaQg7Vxiz",selected:!1},{type:"Heliostat",cx:-.29382172805364637,cy:-.3702593626697411,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q3QCtRsjU5g348zquVGT6U",selected:!1},{type:"Heliostat",cx:-.3000092469285116,cy:-.3459002830348876,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"npmRnivscsJpT65RjQuyWE",selected:!1},{type:"Heliostat",cx:-.3254872658250157,cy:-.350222055228168,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aMe7m5ym2D1ye9JGywHJp4",selected:!1},{type:"Heliostat",cx:-.3061967658033769,cy:-.31643365444433913,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x6jK1HT196nDZpyUbLsgr1",selected:!1},{type:"Heliostat",cx:-.28144669030391567,cy:-.31289765901347333,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gFEgPjqWAT6jwNBL8DPadb",selected:!1},{type:"Heliostat",cx:-.27416725633348593,cy:-.3372567386483267,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g65dCH4Q2jLJsbDZ61ZYsF",selected:!1},{type:"Heliostat",cx:-.25087306762811074,cy:-.33293496645504633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eac2nmUN2zb5BwB2jyKPsx",selected:!1},{type:"Heliostat",cx:-.2559686714074116,cy:-.3101474403450222,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2AwKtqmv9rBFEMsfpNMYmE",selected:!1},{type:"Heliostat",cx:-.2574245582014975,cy:-.28500258394775413,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5CasrCRncJRWJd761ErCUY",selected:!1},{type:"Heliostat",cx:-.23158256760647195,cy:-.25828617402565685,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9ZPBVxh6yErf9tk1x8bcei",selected:!1},{type:"Heliostat",cx:-.23413036949612234,cy:-.28382391880413216,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qMvixKdLEKLj2KdxZ4Qc5j",selected:!1},{type:"Heliostat",cx:-.23303845440055787,cy:-.30739722167657096,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vHCBTramJGKkCoc17G8w6M",selected:!1},{type:"Heliostat",cx:-.21047220909222566,cy:-.28539547232896145,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jcFjeFAEwtPS1NdpSqySNN",selected:!1},{type:"Heliostat",cx:-.2075604355040538,cy:-.2598577275504861,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"odG4uWtszFcFLXppnq6LTE",selected:!1},{type:"Heliostat",cx:-.18572213359276454,cy:-.26535816488738845,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aiJA7beNej5o6BHcnWJBqC",selected:!1},{type:"Heliostat",cx:-.18171844490902817,cy:-.23707020113050004,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1VU7yTZrVeHM5DLMgFzzbW",selected:!1},{type:"Heliostat",cx:-.20464866191588185,cy:-.23353420600959607,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uUYHVbTbxr4tecMfV6CqzJ",selected:!1},{type:"Heliostat",cx:-.15660439771104553,cy:-.25042840640151054,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"brUZr84cwNpf9Pv6XatvDd",selected:!1},{type:"Heliostat",cx:-.13003446371897695,cy:-.23707020144046193,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6k3sEssXxYQA6FoYB2hbhc",selected:!1},{type:"Heliostat",cx:-.10091672783725796,cy:-.22567643838544985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dpK548QXB9AsPut3M9Vcnb",selected:!1},{type:"Heliostat",cx:-.06961516176441004,cy:-.22174755457334913,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtAwYocNSDA6e4Za64GAHv",selected:!1},{type:"Heliostat",cx:-.03831359569156213,cy:-.21860444752369065,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jkbGDBANcy5EkzJfgAS6kT",selected:!1},{type:"Heliostat",cx:-.009559831508364626,cy:-.21388978694920285,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uiJqTbavrRHEj1q5r4U8Sg",selected:!1},{type:"Heliostat",cx:.025017479851176642,cy:-.21624711723644674,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tuZYTjdonfFPX1bpg7y2ib",selected:!1},{type:"Heliostat",cx:.04430797987281548,cy:-.2056391309438493,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r4K4Z2bUpqY9FZaarCV1EY",selected:!1},{type:"Heliostat",cx:.06578231008558323,cy:-.19267381436400796,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tJMsMVYvUGopRwcThFGEkr",selected:!1},{type:"Heliostat",cx:.009730668513274195,cy:-.19856714008211768,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1EfzqCs8cXPwvLAwQzbRpo",selected:!1},{type:"Heliostat",cx:-.025938557941831565,cy:-.19660269817608111,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"75CWYjqVhH1TfFGgb42qY2",selected:!1},{type:"Heliostat",cx:.028657196836391532,cy:-.1824587164526178,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tPC5C2vfzREdHf8vqzTMzw",selected:!1},{type:"Heliostat",cx:-.005920114523149727,cy:-.17892272102175202,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9vv8piBWmfsjf8ThwaysgA",selected:!1},{type:"Heliostat",cx:-.04013345418416953,cy:-.17970849778692202,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pLA5NWUpepKR65o6v964r9",selected:!1},{type:"Heliostat",cx:-.07507473724223238,cy:-.1867804886459258,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mUep51aC7r6anQJ2Y69oWq",selected:!1},{type:"Heliostat",cx:-.10783219010916623,cy:-.1950311446512794,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v8aDpwcpvGcDg3v8p4qNKb",selected:!1},{type:"Heliostat",cx:-.14240950146870754,cy:-.2009244703693891,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8BebM2PFswwW6mD8cum1bR",selected:!1},{type:"Heliostat",cx:-.17407503924007692,cy:-.2162471172364743,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6RzznrEY6WFg8gVGqs15oP",selected:!1},{type:"Heliostat",cx:-.05760409571320095,cy:-.19738847493852332,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aLcHwQEUZ4M4zGv7CBgFgZ",selected:!1},{type:"Heliostat",cx:-.08672183159491996,cy:-.20485335418146225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9oqQfqaBV4xJeZR3tB1T2T",selected:!1},{type:"Heliostat",cx:-.12093517125593976,cy:-.21742578238009624,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5txUysL5P5gEVTjd4qAbBd",selected:!1},{type:"Heliostat",cx:-.15078085053470172,cy:-.22567643838544985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nxjHGtH2QdDPPuNWARdYaV",selected:!1},{type:"Heliostat",cx:.08580075350426505,cy:-.18324449321506,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3MqWmh3QRvAPZiVFebexdQ",selected:!1},{type:"Heliostat",cx:-.02266281265513821,cy:-.15770674843658467,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5EhLWiwwn5wwEm8Cab5Rch",selected:!1},{type:"Heliostat",cx:-.1322182939101059,cy:-.17381517206608452,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jbXdsdAziZsqZTJyYSaySe",selected:!1},{type:"Heliostat",cx:-.3302995564539437,cy:-.3232776394449547,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pzkMpsvKdJRAhMZuBmbsKe",selected:!1},{type:"Heliostat",cx:-.2919615095342722,cy:-.2642858401101529,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oySBSMeHYHH3hssNqfJFt4",selected:!1},{type:"Heliostat",cx:-.3097864662694538,cy:-.2904751246399958,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpTYVzTYQTHThRcwDXQgp7",selected:!1},{type:"Heliostat",cx:-.27314627742491365,cy:-.24237235713620253,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5jcBZmRyCrqNubtcJcYmJ3",selected:!1},{type:"Heliostat",cx:-.2508650815059366,cy:-.22045887416225235,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ihBmE1AmF8hgbvfU54TBod",selected:!1},{type:"Heliostat",cx:-.22660333483860592,cy:-.20175224235522163,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vNktHzm8eVBrmY9ceJEyKh",selected:!1},{type:"Heliostat",cx:-.20333186354545205,cy:-.1835800857426775,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aXsDLYWFiK5tzWC7G7kV8N",selected:!1},{type:"Heliostat",cx:-.17659442844267947,cy:-.16968373068602616,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wrEAnzFvbwLn8hcqMNt2T6",selected:!1},{type:"Heliostat",cx:-.15183754408826042,cy:-.1589942267962943,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aHFiestWCCRbctVu4eYUBx",selected:!1},{type:"Heliostat",cx:-.12212928286295759,cy:-.14937367329553564,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iQyvk9vYygwnymNpLwA1ob",selected:!1},{type:"Heliostat",cx:-.09242102163765474,cy:-.14349444615618318,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wU6MsDbikDwda4SfGFTpkJ",selected:!1},{type:"Heliostat",cx:-.06518844884779378,cy:-.13761521901683066,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1MMFkArxgEmQhKrKtjXQNe",selected:!1},{type:"Heliostat",cx:-.03647046299666775,cy:-.13547731823888426,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nMNiG48VARtnEA4MPhmCia",selected:!1},{type:"Heliostat",cx:-.0057719263971881,cy:-.13547731823888426,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"juXSYXCPjT1kSTpJyz4PZH",selected:!1},{type:"Heliostat",cx:.021955784079761214,cy:-.1392186446002904,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xm44c3baqJPcnjTqQboEwN",selected:!1},{type:"Heliostat",cx:.05265432067924076,cy:-.1461668221286161,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ez6bNdTTq8NKVxiW1kxkEB",selected:!1},{type:"Heliostat",cx:.07939175578201328,cy:-.15525290043488818,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jAsrrCW77dFgPQqWJowsZq",selected:!1},{type:"Heliostat",cx:.10563405319769754,cy:-.1664768795191066,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6p95wM2zt7dF6VyVSYTa8Y",selected:!1},{type:"Heliostat",cx:.13286662598755838,cy:-.18251113535370433,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"urDco6achFzxwb6nW5NRE4",selected:!1},{type:"Heliostat",cx:.15811864802906586,cy:-.1980109159938155,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nbH94KdABoDtfJEKfjLTiP",selected:!1},{type:"Heliostat",cx:.18089498163513137,cy:-.21244174624495343,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ovcrGPa9SJFbnrGQ2a6DuR",selected:!1},{type:"Heliostat",cx:.20218590217993174,cy:-.23328627882993053,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jA29coTpxRTwbmADu66SZT",selected:!1},{type:"Heliostat",cx:.2234768227247321,cy:-.25626871219285396,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wYgH98FR9WAhRGHRksz5bD",selected:!1},{type:"Heliostat",cx:.24229205483409053,cy:-.2840614223061567,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rvQJA6SbPF1oUJTEumsFBN",selected:!1},{type:"Heliostat",cx:.26061214925636067,cy:-.30757833086356673,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xxokrXE6rBVWV3B4eJnjZt",selected:!1},{type:"Heliostat",cx:.2848738959236912,cy:-.3102507068359997,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sAxtEYsJmsyoXdPfmuc1s8",selected:!1},{type:"Heliostat",cx:.31161133102646393,cy:-.3118541324194594,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8T4wmqCeWkBAqrmuSXUrRA",selected:!1},{type:"Heliostat",cx:.2932912366041937,cy:-.2824579967226693,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ai9GvKeDbhVcVvUsoTBxvk",selected:!1},{type:"Heliostat",cx:.26655380150142116,cy:-.2813890463336962,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oWG4eo4MGzPtqFQEAGgS9P",selected:!1},{type:"Heliostat",cx:.24823370707915113,cy:-.25680318738731295,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uxuSeH1NdDDYDjVawn2W68",selected:!1},{type:"Heliostat",cx:.22545737347308564,cy:-.2290104772740102,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dDuuVxV3oBzq3KrPvkBjRs",selected:!1},{type:"Heliostat",cx:.20367131524119686,cy:-.20816594468903316,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rx1WFJ81DESFNcvGrHsJMP",selected:!1},{type:"Heliostat",cx:.17990470626095456,cy:-.19052826327097566,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7sGn2cqtWU3Mo7BvT3jFuk",selected:!1},{type:"Heliostat",cx:.15415754653235875,cy:-.17075268107497177,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rSmf7fDWBvbLdzxL8Xzz7s",selected:!1},{type:"Heliostat",cx:.1279152491166746,cy:-.1536494748514009,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dADXAPCfntwkJab6qq7kB9",selected:!1},{type:"Heliostat",cx:.10117781401390209,cy:-.14082207018372264,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qou5NZoEiG4Sej8W4a1Evy",selected:!1},{type:"Heliostat",cx:.07097441510151088,cy:-.12959809109950424,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qF5JaFWnyFcKW3nRxNY7TE",selected:!1},{type:"Heliostat",cx:.040771016189119595,cy:-.12158096318220536,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nCPi7SMXhZTpGxpiwtL6iF",selected:!1},{type:"Heliostat",cx:.009082204215463229,cy:-.11730516162631263,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dWzE58GviTnatfkWEWzyMi",selected:!1},{type:"Heliostat",cx:-.022606607758193117,cy:-.11409831045939309,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iRKu923infq42Wt4hBDmAr",selected:!1},{type:"Heliostat",cx:-.050829455922230794,cy:-.11677068643182602,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r8JJG8wHFXqt3Yp7tKGhqZ",selected:!1},{type:"Heliostat",cx:-.08251826789588713,cy:-.11890858720977243,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3m5iCgTUTpwZiaw5ii9jU",selected:!1},{type:"Heliostat",cx:-.11371194218245514,cy:-.12532228954361152,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tVUTkzfhBEXpMMHQ6aFPP9",selected:!1},{type:"Heliostat",cx:-.1429250657206696,cy:-.13333941746091038,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jeTo5Man4ER6UL6bLqzkta",selected:!1},{type:"Heliostat",cx:-.17065277619761887,cy:-.14456339654512879,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1uJtuaoB5NwSgpmJn71K67",selected:!1},{type:"Heliostat",cx:-.19887562436165657,cy:-.16006317718799537,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6d39qoKyMNYsyCCMsCYFgb",selected:!1},{type:"Heliostat",cx:-.2251179217773408,cy:-.17716638340883842,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c47HFaS15SjhNgAVfkMtKh",selected:!1},{type:"Heliostat",cx:-.2503699438188482,cy:-.19373511443792277,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6Fhdsjojq36iUtNfZyfuJE",selected:!1},{type:"Heliostat",cx:-.27463169048617886,cy:-.21618307260635958,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBiw2NAG9iHHT94xeKa2u3",selected:!1},{type:"Heliostat",cx:-.29790316177933274,cy:-.23969998116376964,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u5PnNPgs1h8UTrfgpBZ8T6",selected:!1},{type:"Heliostat",cx:-.3172135315757796,cy:-.2642858401101529,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtSVS5mzodLcSXkBDvsbCD",selected:!1},{type:"Heliostat",cx:-.33602876368513807,cy:-.2904751246399958,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2PEu3vmBctRcCsffaLpmHw",selected:!1},{type:"Heliostat",cx:-.3642516118491758,cy:-.2894061742510226,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8DjkoLAZDwTnx8LtXHyg96",selected:!1},{type:"Heliostat",cx:-.34395096667855213,cy:-.2621479393322064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xggSKm6cv18X25oTxPwZS6",selected:!1},{type:"Heliostat",cx:-.3241454591950169,cy:-.2343552292189037,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"74PzS5xWGKsEmxZBzdP32Z",selected:!1},{type:"Heliostat",cx:-.3003788502147747,cy:-.2103038454670071,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iX6zZTVdQx5UJP9MjNZAnh",selected:!1},{type:"Heliostat",cx:-.2766122412345324,cy:-.18785588729857022,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sbLC2rgU8AGXKtdt3DXoPT",selected:!1},{type:"Heliostat",cx:-.2503699438188482,cy:-.1654079291301334,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4JaLAH32GnHtvkVTVkWkbH",selected:!1},{type:"Heliostat",cx:-.22412764640316404,cy:-.1461668221286161,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ekeh4M3jaMmHQZ3b3gvsRs",selected:!1},{type:"Heliostat",cx:-.19392424749077278,cy:-.13173599187747817,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkth3AnLMPCi7hv9DghmT5",selected:!1},{type:"Heliostat",cx:-.16372084857838157,cy:-.11623621123736702,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o3q136vYQwnzoP6GsZr4LR",selected:!1},{type:"Heliostat",cx:-.13401258735307872,cy:-.10661565773660836,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7Q5q7ho8EHkiogsarQwdbr",selected:!1},{type:"Heliostat",cx:-.09836267388271532,cy:-.09913300501379609,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jEaDTazLRHkWPu4uHy6TK8",selected:!1},{type:"Heliostat",cx:-.06914955034450089,cy:-.09325377787444358,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4BSC1a2V48rvTMuzLPRYCD",selected:!1},{type:"Heliostat",cx:.0937507487075764,cy:-.11623621123736702,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hj6QoYH2tKJMaowWF4Jso4",selected:!1},{type:"Heliostat",cx:.05958624829847807,cy:-.10394328176690322,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nZGBsGGWLjxKfGS9cc7oqY",selected:!1},{type:"Heliostat",cx:.026907160950645,cy:-.09752957943033631,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8ZY8shpFLkqdci1tNW1GoZ",selected:!1},{type:"Heliostat",cx:.04869321918253367,cy:-.07668504684535922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pya46vaM37X8xjgxnFRbmD",selected:!1},{type:"Heliostat",cx:.037305052379500936,cy:-.047823386343083335,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sk9aYQ4ZatkgcWnoBw73BS",selected:!1},{type:"Heliostat",cx:.32316626777261265,cy:-.2887703826060557,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v6iF1wnA1zBqaP8XCMzytA",selected:!1},{type:"Heliostat",cx:.302689663582776,cy:-.2521615907181474,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7hRAbWEjhuuAWAcgNF2XiW",selected:!1},{type:"Heliostat",cx:-.3022663286455178,cy:-.036768285775775254,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uosW5t7FWQ4a7eUdsD1TcQ",selected:!1},{type:"Heliostat",cx:.27316237198008403,cy:-.2524973897551937,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4LmAuM9HRhZTEdxYDj2FKM",selected:!1},{type:"Heliostat",cx:.1526283445468355,cy:-.14381713160256596,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hUgdPZt8vUMBFhHDDodoRf",selected:!1},{type:"Heliostat",cx:.2526006849473534,cy:-.22571000218238366,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jj8uZxps5DeUSntdLoNoRc",selected:!1},{type:"Foundation",cx:-10.492368727264438,cy:-365.24616728285855,cz:3,lx:55.33009592617107,ly:28.860277897658587,lz:6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarStructure:2,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{towerHeight:115,towerRadius:4},id:"nHq7VyAiKvgNuPDrDMejYk",selected:!1},{type:"Heliostat",cx:-.033635036707480734,cy:-.09478696259320521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3n8DXtghY7C9fg7wtQN9mm",selected:!1},{type:"Heliostat",cx:-.0021782029294463968,cy:-.09478696259320521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3HRyeRtdwXWAfFooG7khA8",selected:!1},{type:"Heliostat",cx:-.018309912559207595,cy:-.06910229279682685,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9dMgqBzGAqQQo74ehqtuvW",selected:!1},{type:"Heliostat",cx:-.05218650278170614,cy:-.0712789597287233,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sM7ZRjDyGbb93H3X5XLsiN",selected:!1},{type:"Heliostat",cx:-.08767626396718083,cy:-.07432629343337838,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hGv3aS4uYRq5Hg62cAQgof",selected:!1},{type:"Heliostat",cx:-.12074626870819129,cy:-.07998562745630922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"knf1JFPLgyb2dGzcbU3Hfe",selected:!1},{type:"Heliostat",cx:-.15341298070845777,cy:-.09173962888855014,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eMVGrjZpnunqsrM98ZgPH2",selected:!1},{type:"Heliostat",cx:-.07235113981890764,cy:-.04428828977320709,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xe6PEzZpz5DHRWEZokrjXg",selected:!1},{type:"Heliostat",cx:-.055412844707658386,cy:-.014685619499415072,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7T7JfLgLbNJk4NRXzvFZJj",selected:!1},{type:"Heliostat",cx:-.036861378633433015,cy:-.040805622682172714,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xyTpPrGnJXHGmcyUmTs8AF",selected:!1},{type:"Heliostat",cx:.016373263144779018,cy:-.07302029327424049,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1ak6Ue1atJ663QehAMdMAS",selected:!1},{type:"Heliostat",cx:.08412644358977613,cy:-.0873862950247572,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gCkqrGtT5r5WgEKYq1za1b",selected:!1},{type:"Heliostat",cx:.11598657010855452,cy:-.09826962968423955,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"huYwsUKyEQrq59ExuTrPfF",selected:!1},{type:"Heliostat",cx:.12243925396045897,cy:-.1265662997988937,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xrCktsCv7shjx1gwsg6JbF",selected:!1},{type:"Heliostat",cx:.0014456646770545306,cy:-.04437383909501622,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wwcyQu2t5aJGnwR9kKd4wM",selected:!1},{type:"Heliostat",cx:-.10818001791234799,cy:-.05010814303981461,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iKhLi69geSKfMMuqgo2q5J",selected:!1},{type:"Heliostat",cx:-.1453658221387092,cy:-.05740634806046707,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pzSKSvuwPWAxvfQT9qwaND",selected:!1},{type:"Heliostat",cx:-.17892963244691829,cy:-.06965690649074628,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eFq75cYfVvsfdd6UUfTojE",selected:!1},{type:"Heliostat",cx:-.21249344275512747,cy:-.0842533165293234,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mrkR4hEhbnkEw1KxqSjipf",selected:!1},{type:"Heliostat",cx:-.18738095158927312,cy:-.1022381789016456,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eA11DgH7cfBxpC8D2vjzCt",selected:!1},{type:"Heliostat",cx:-.21925449806901132,cy:-.11657393876364154,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pehZwiBvURwYNmynuVV2oZ",selected:!1},{type:"Heliostat",cx:-.2460572530633366,cy:-.10145622836371855,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cFxirFbRdujaw5Fc4RE5MD",selected:!1},{type:"Heliostat",cx:-.25064511202632916,cy:-.13481945131527276,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4ypECbseMr3f8LhqjYosMu",selected:!1},{type:"Heliostat",cx:-.2764820019758139,cy:-.15645341619792116,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1cNTjGeFgiYqFUnXdLBRx6",selected:!1},{type:"Heliostat",cx:-.27696493449823417,cy:-.12309019324636697,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cW4SyxcnHNPzxbSE2LWbQ5",selected:!1},{type:"Heliostat",cx:-.30642381836587107,cy:-.14654870938417855,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"17jGJ68AWAZgPARxJ6UPKN",selected:!1},{type:"Heliostat",cx:-.09514083980700053,cy:-.016484269908978957,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k736gpzLunYF9CA2xNNwgF",selected:!1},{type:"Heliostat",cx:-.13256811029457188,cy:-.02508572582617652,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bPf2FbThrjxqWcoYgrYC2A",selected:!1},{type:"Heliostat",cx:-.015939906130075388,cy:-.0141384182951978,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"th3tqLRe84Jqrqfr3ZWX4Z",selected:!1},{type:"Heliostat",cx:.021245898096285794,cy:-.01596296955036091,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"snGFqY54yf3wZYGqvNzdSK",selected:!1},{type:"Heliostat",cx:.06012196615111797,cy:-.021957923674468315,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p1BLYib9F5TuccAF143Meb",selected:!1},{type:"Heliostat",cx:-.17023684704335335,cy:-.034469132281301135,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eFbcBWFKK11qf1tsDuwKoR",selected:!1},{type:"Heliostat",cx:-.20790558379213483,cy:-.0493261925019151,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"44juECoBc4iyV5WsYrieZZ",selected:!1},{type:"Heliostat",cx:-.24243525914518455,cy:-.06652910433631024,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abfBabbkXEUrKZnAsNhn3Y",selected:!1},{type:"Heliostat",cx:-.2759990694533937,cy:-.08790241903964963,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eAEEf1jS8EeUmfDXwtgbsh",selected:!1},{type:"Heliostat",cx:-.3090799472391825,cy:-.11214288571263284,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rYpKyT7tWdyjcNbsGsDtpP",selected:!1},{type:"Heliostat",cx:-.3390217636292396,cy:-.13898985418418947,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h7WTnDPjYZa2yv9AbeqYi8",selected:!1},{type:"Heliostat",cx:-.30346193456733533,cy:-.18027347486919182,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tpzWYwzqd7mz7PeBQzCqEF",selected:!1},{type:"Heliostat",cx:-.3273202794054188,cy:-.20565406429518426,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nV956oZbqiSHUewdzFEGwb",selected:!1},{type:"Heliostat",cx:-.35187017047069313,cy:-.23327411749405838,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eotKsPbyYbFr8f4YZHBPV5",selected:!1},{type:"Heliostat",cx:-.3729623304000133,cy:-.26388012239010805,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4xcMmwR2N7YaJDgjrvx9Tg",selected:!1},{type:"Heliostat",cx:-.38229820446708945,cy:-.23140789768332368,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sfWCB3P6rkqZa4YAEd5bcf",selected:!1},{type:"Heliostat",cx:-.3594771789697922,cy:-.200428648825127,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vHAMJhEkjkYLc4RSjerC3B",selected:!1},{type:"Heliostat",cx:-.3328526492229454,cy:-.1713156197776651,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qTSMmo3sfM3tmeNsXwJ95x",selected:!1},{type:"Heliostat",cx:-.3674299605824867,cy:-.16832966808048952,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kijHzENJV8TJe21WNjQuUC",selected:!1},{type:"Heliostat",cx:-.3916340785341656,cy:-.19893567297653922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"49c4EBZdrrGLx2C1jkrU34",selected:!1},{type:"Heliostat",cx:-.400278406374051,cy:-.16571696034546088,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nmEdqVEsjHqXFAfs271Hv4",selected:!1},{type:"Heliostat",cx:-.3712334648320363,cy:-.13063202790364783,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iXeSufYc6rqYVyGdq4x3at",selected:!1},{type:"Heliostat",cx:-.2761458585932977,cy:-.05187755189064192,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bevRTnppC9h4ebQw9qu31Y",selected:!1},{type:"Heliostat",cx:-.1969638155799482,cy:-.01529964360024112,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"etWFnXE45z2CNE1YXRNVxb",selected:!1},{type:"Heliostat",cx:-.11501558765783529,cy:.010080945825751317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpZi9pr2vKF4BbVGupqEXc",selected:!1},{type:"Heliostat",cx:-.40753964175955465,cy:-.12764607620647225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7YdgbS7MbyK8fpmsbE8Fq6",selected:!1},{type:"Heliostat",cx:-.417912835167417,cy:-.0933076316889531,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3mPyk4qt31Y1bUaJMpdRT5",selected:!1},{type:"Heliostat",cx:-.38056933889911243,cy:-.10039926696974508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"boS825hvqkSAd3EMruDUop",selected:!1},{type:"Heliostat",cx:-.35532790160664735,cy:-.07501867754375265,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6neahnPeogbncgiTuDRsB6",selected:!1},{type:"Heliostat",cx:-.32870337185980053,cy:-.05337052773647434,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6JURGXaMnDK92DSmeMdQDb",selected:!1},{type:"Heliostat",cx:-.3892136667389977,cy:-.06531433452790446,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5mdtK7mbfjWr2ZwvqtMZoW",selected:!1},{type:"Heliostat",cx:-.3608602714241738,cy:-.03956050113976511,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7iLWKe2jZRMk3NyRqmNQUd",selected:!1},{type:"Heliostat",cx:-.3318153298821592,cy:-.018658839259536052,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6ZLXjXtPYgTp5YsiDKt92R",selected:!1},{type:"Heliostat",cx:-.30346193456733533,cy:-.00036988511433561826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8SHGbk2vJK2DPuaoNHYXh",selected:!1},{type:"Heliostat",cx:-.27545431236610685,cy:-.0197785711459769,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2SSpgdAk9FyHtarh2kemjh",selected:!1},{type:"Heliostat",cx:-.427940255461684,cy:-.05598323547423079,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cxfJsRXsJGHcRLJiW1ZC4T",selected:!1},{type:"Heliostat",cx:-.3978579945788831,cy:-.026123718502475,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"983fNrC7GvsmHKyDBU7uKS",selected:!1},{type:"Heliostat",cx:-.3660468681281051,cy:-.000743129076482581,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aCoTGoQTygQRfEwZWp9pEu",selected:!1},{type:"Heliostat",cx:-.24986710196004633,cy:-.005222056622245941,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rAPfaS9ZavWB56qRknahL4",selected:!1},{type:"Heliostat",cx:-.27545431236610685,cy:.01642609318227701,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7aTwzASE97BSxQ69zqRKB9",selected:!1},{type:"Heliostat",cx:-.22013061419084085,cy:.007468238090750264,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6d8F7whR2UWQ5Rpw6zgpoS",selected:!1},{type:"Heliostat",cx:-.24779246327847385,cy:.03135585166815488,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gs9ZBEK1748RpsjnfsZckK",selected:!1},{type:"Heliostat",cx:-.21840174862286374,cy:.042926414494710276,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2QLnVz31nbfJHbaqyshx4N",selected:!1},{type:"Heliostat",cx:-.19316031133039863,cy:.019038800917305643,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bT2uoRqcV2JsvxKNXGq7Tp",selected:!1},{type:"Heliostat",cx:-.16411536978838387,cy:.029116387895273214,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wDnu6VsXGRf96DxoNbPRXh",selected:!1},{type:"Heliostat",cx:-.18797371462646742,cy:.052630757510530896,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7fXVXPkHvH4EiWQgs5X5EV",selected:!1},{type:"Heliostat",cx:-.1578914537436665,cy:.06233510052635154,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iVLsKahc6Jz8H79epHER9m",selected:!1},{type:"Heliostat",cx:-.13472465513277385,cy:.03658126713821217,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2W1dZKG5G4kdvvYuTKg6J8",selected:!1},{type:"Heliostat",cx:-.10637125981794995,cy:.041806682608269405,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8RbNvvwi1FQxJhzm68oxMb",selected:!1},{type:"Heliostat",cx:-.07594322582155359,cy:.04628561015403278,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rv9MXPBD3e63TfH2kDubmC",selected:!1},{type:"Heliostat",cx:-.03064694794055447,cy:.016426093179521616,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eoYDEHmumqWS9SMAreWLME",selected:!1},{type:"Heliostat",cx:-.0451694187115619,cy:.04889831788903389,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nisA2ZxiN5cGyrqqmqFcTt",selected:!1},{type:"Heliostat",cx:-.4355472639607831,cy:-.018285595297416656,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9uTLgXRt31u5LbkmoNmmzh",selected:!1},{type:"Heliostat",cx:-.44280849934628674,cy:.024264216387335374,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"arUmBddCd3ZN9RM4YvwTeh",selected:!1},{type:"Heliostat",cx:-.40096995260124174,cy:.009707701863604397,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"voKSeBcj1DBKGLLTkPQVxi",selected:!1},{type:"Heliostat",cx:-.3681215068096776,cy:.038074242986772415,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"55CnZxFzVkzTP2ZZcBc3GF",selected:!1},{type:"Heliostat",cx:-.4082311879867454,cy:.05337724543479727,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"72WvPCXQWgeW6smtGCDqkn",selected:!1},{type:"Heliostat",cx:-.4500697347317904,cy:.06793375995852818,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2C1jZdwUGxFZt8JTCcp2dF",selected:!1},{type:"Heliostat",cx:-.40892273421393627,cy:.097793276930284,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pUaEdfwMSZ7FJNPu8MbTVu",selected:!1},{type:"Heliostat",cx:-.37192501105922715,cy:.07763810297434884,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rqc5Shh25yv3QUcC5PJfr7",selected:!1},{type:"Heliostat",cx:-.3352730610181133,cy:.019412044879425033,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3cBVQbPPnpMt6C62XatwGo",selected:!1},{type:"Heliostat",cx:-.3058823463625032,cy:.03956721883536021,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8B4aaX12Cwz7SWukzQHxfu",selected:!1},{type:"Heliostat",cx:-.3359646072453042,cy:.05897590486975687,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8js9abopRBUDoNq8C8Vkee",selected:!1},{type:"Heliostat",cx:-.30415348079452614,cy:.07726485901222946,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wSFcW9Bi2CEV2NiqkVLGgK",selected:!1},{type:"Heliostat",cx:-.2761458585932977,cy:.05748292901568581,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oEtkxCk7V55pZMXbYEUFoy",selected:!1},{type:"Heliostat",cx:-.3373476996996858,cy:.09891300881948024,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7JVKmoPwsr4YiKcdWdSdzy",selected:!1},{type:"Heliostat",cx:-.24433473214251972,cy:.06979997976653508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i7yUerNEdQNGoZikCwAKi5",selected:!1},{type:"Heliostat",cx:-.27234235434374815,cy:.09443408127096152,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gK1KuDQ1xA1jepW3pkMSYy",selected:!1},{type:"Heliostat",cx:-.21321515191893256,cy:.08472973825514087,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b4J6Xf2MrSmiCKmRPp5JwY",selected:!1},{type:"Heliostat",cx:-.1807124792409637,cy:.09406083730881452,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nKkV64v1XzdkrnhFcrMZoK",selected:!1},{type:"Heliostat",cx:-.24053122789297018,cy:.10787086390825154,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xgNnXwqvuHbn1SRpxKx5iF",selected:!1},{type:"Heliostat",cx:-.14820980656299493,cy:.10301869240034127,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h9437PNFcensdgYCPvaUZ9",selected:!1},{type:"Heliostat",cx:-.12573455417929308,cy:.07054646769355681,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mN7BSbm2K54or4ve2veKYY",selected:!1},{type:"Heliostat",cx:-.09599806641008757,cy:.0757718831636141,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vnVRMYugJhGEe7GvuV5yNs",selected:!1},{type:"Heliostat",cx:-.11466981454423983,cy:.1086173518325455,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bccxZepk5qSe634uWX42ei",selected:!1},{type:"Heliostat",cx:-.061766528164141625,cy:.07913107882293664,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i6mjvJmXWoNbbtScNe4jLc",selected:!1},{type:"Heliostat",cx:-.02995540171336369,cy:.07987756674723054,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kgFQrpmB4Uo3QRzYrM9z5D",selected:!1},{type:"Heliostat",cx:-.016470250283142505,cy:.04889831788903389,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i8SzwQJPy7H5YyXTGe1xVc",selected:!1},{type:"Heliostat",cx:-.0026393257393260423,cy:.016426093182249437,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"apvcd8RadTsSXecLmteBdy",selected:!1},{type:"Heliostat",cx:.015340876167635433,cy:.046658854116152185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"12C7onFbSbSHFPJc8uUrKy",selected:!1},{type:"Heliostat",cx:.03332107807459691,cy:.07539863920146715,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gb2pH6ANCuJC8qsYCvxT6m",selected:!1},{type:"Heliostat",cx:.0015099516238188731,cy:.0757718831636141,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkeABsZCEiybQvrrxUR8jq",selected:!1},{type:"Heliostat",cx:.044731590823245536,cy:.04329965845682966,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hg9DPmH5cjxeCBJWkCFhVc",selected:!1},{type:"Heliostat",cx:.06340333895739782,cy:.07017322373140988,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oJz5XyB57AT2gBG4awFXj6",selected:!1},{type:"Heliostat",cx:.05095550686796301,cy:.10936383975683939,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tHRNmQUNj6K1TnE56YNmfY",selected:!1},{type:"Heliostat",cx:.01983592664437585,cy:.11197654749186799,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpjExf4xnHsCihbG1Z3uYw",selected:!1},{type:"Heliostat",cx:-.01301251914718843,cy:.11421601126474966,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sBN5FEivyAsVk4UNG51jA7",selected:!1},{type:"Heliostat",cx:-.04551519182515727,cy:.11048357164328021,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8pUZKWg5usB1LmJ4FqHgif",selected:!1},{type:"Heliostat",cx:-.08147559563908026,cy:.1112300595675741,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"23RBiRbrVGDew4P5junKUY",selected:!1},{type:"Heliostat",cx:.07446807859245108,cy:.03732775506247852,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tDUutW1fYKC3zU8km6x7oT",selected:!1},{type:"Heliostat",cx:.08172931397795467,cy:.0033625545071062956,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t5hoPXGgvmAKCC98bFLoS1",selected:!1},{type:"Heliostat",cx:.07101034745649691,cy:-.05411701566352362,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ffh2ust2D3LvEonm64PhVV",selected:!1},{type:"Heliostat",cx:.09735040458634132,cy:-.0309061006268814,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1vWwMCYh2GFGH8H8yyPFj7",selected:!1},{type:"Heliostat",cx:.10692860717901208,cy:-.06523213814288877,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a7CNQPaFqLRU1KsDr6sWL1",selected:!1},{type:"Heliostat",cx:.13259819012736962,cy:-.0433131021386913,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dWyjm3KRE2b2cp2DQn99im",selected:!1},{type:"Heliostat",cx:.1417932646163335,cy:-.07970697324000028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4BSY8QjyTYnsJg4VvVw4dF",selected:!1},{type:"Heliostat",cx:.14447516134228128,cy:-.11237874388776634,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pWN8hVQSUWP9zSJ9mBA4u6",selected:!1},{type:"Heliostat",cx:.17282664101658657,cy:-.09790390879065478,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vwjTwcPDdQ84YqGSgB7GCM",selected:!1},{type:"Heliostat",cx:.16899535997951837,cy:-.05944220410404414,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2uj8zbaPpR6EuihS2a1eyt",selected:!1},{type:"Heliostat",cx:.16516407894245005,cy:-.027184000173338437,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jTBqs9gubADDLHUczweTht",selected:!1},{type:"Heliostat",cx:.17704105015736168,cy:-.13098924615548113,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9rczuT28G81XBnJWyv8p47",selected:!1},{type:"Heliostat",cx:.18010607498701633,cy:-.1611796165036406,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c3Mvio8y22xwBSB8LsByak",selected:!1},{type:"Heliostat",cx:.20424314552054657,cy:-.08136124010826916,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ir46DZVbKinR95v215bS7Z",selected:!1},{type:"Heliostat",cx:.20424314552054657,cy:-.11775511120957816,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"njGEA2SJu4eVEC5eQQDDW1",selected:!1},{type:"Heliostat",cx:.20615878603908072,cy:-.1537354155938268,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9KeeMj5e9pcmeJWLsZy8iA",selected:!1},{type:"Heliostat",cx:.20769129845390802,cy:-.18020368548568788,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8fkWUtc7gCzjPcENNAC8Zy",selected:!1},{type:"Heliostat",cx:.23106211278002461,cy:-.2037769883581267,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uuc6jUmEutuWsardRqMkFX",selected:!1},{type:"Heliostat",cx:.23144524088373142,cy:-.172759484578602,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sE5cQvdygFYu5rEEvgstNz",selected:!1},{type:"Heliostat",cx:.23336088140226557,cy:-.1396741472137756,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tBMpyUhxX17cCUPtBhbcxe",selected:!1},{type:"Heliostat",cx:.23451026571338607,cy:-.10493454298070795,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dqzcMfJ4ym9JvrApbs8TiH",selected:!1},{type:"Heliostat",cx:.239107802957868,cy:-.06978137203057995,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9wqmsXX7SDkbVjcEEQp2vy",selected:!1},{type:"Heliostat",cx:.263628001595105,cy:-.1322299463066897,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ca7PcPtrbnFPvGWK55EzEv",selected:!1},{type:"Heliostat",cx:.26247861728398447,cy:-.166555983822697,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8xXw6WsWAYY3TxnJd1hKSR",selected:!1},{type:"Heliostat",cx:.2574979519357958,cy:-.20005488790458376,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tGtL7cXW4ctq2Uq6fzc5Ri",selected:!1},{type:"Heliostat",cx:.29197948126941037,cy:-.15414898231088717,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2r3Fu8Vht4LfDNGkzD7AvK",selected:!1},{type:"Heliostat",cx:.28814820023234206,cy:-.1930242537145581,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uFPPCk3ug65jVcFFKfczUf",selected:!1},{type:"Heliostat",cx:.2801025100544987,cy:-.2236281907770225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rW95SzX5M1aYg6UfYWzGAM",selected:!1},{type:"Heliostat",cx:.10462983855677109,cy:.02864750662977845,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dRWphEN9DXnANHh3HGV9Tw",selected:!1},{type:"Heliostat",cx:.09505163596410039,cy:.06380067757990648,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f3KHqcW8BgK3tf3keNrHS8",selected:!1},{type:"Heliostat",cx:.12646814046806035,cy:.055942909955760275,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1mJ8JwzL5NHxUYw6Tb4Etj",selected:!1},{type:"Heliostat",cx:.13068254960883546,cy:.019135472137390887,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3pkNWKyy5jkQRFLV2tqeZu",selected:!1},{type:"Heliostat",cx:.15635213255719296,cy:.04270877500982969,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gMemMLxQbof4Hnm4rEqFfH",selected:!1},{type:"Heliostat",cx:.1513714672090042,cy:.08571971358410398,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBbkhYbWAwoxYepnBMn2ZE",selected:!1},{type:"Heliostat",cx:.1820217155055505,cy:.07124487848974785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3PFAWYvLqr3uBjfJT2HqhF",selected:!1},{type:"Heliostat",cx:.1617159260090886,cy:.005901337191487905,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wAsMtRtTkzAZzoJ2RJuqNS",selected:!1},{type:"Heliostat",cx:.1866192527500325,cy:.03030177349804736,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8Qqyi38hh2Cq2Rg8LRWsK",selected:!1},{type:"Heliostat",cx:.1881517651648598,cy:-.0065056643203219655,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aTmzkSNn2tGVv3B7EjqNq9",selected:!1},{type:"Heliostat",cx:.21420447621692415,cy:.016240505117996153,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oboEC75Sh6grnL1ugtrAZQ",selected:!1},{type:"Heliostat",cx:.21267196380209683,cy:.05635647667009271,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"txMcY9WtX2FmTTTqJTDcKZ",selected:!1},{type:"Heliostat",cx:.21535386052804464,cy:-.01932623254921973,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xeQUeinFn2YWLHA81FyBh1",selected:!1},{type:"Heliostat",cx:.2433222120986431,cy:-.0007157302815049064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mX9ZXrGRLU9CBRLNchW8ou",selected:!1},{type:"Heliostat",cx:.2417896996838158,cy:-.03628246794869324,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rJwEb8gHQVFi61bjjyYKc7",selected:!1},{type:"Heliostat",cx:.241406571580109,cy:.0398138079904074,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9XuvM5Tt9pWjTTWzyKkrHv",selected:!1},{type:"Heliostat",cx:.241406571580109,cy:.07744837924289738,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YjVMHkvo8t3pPXSKyVA2j",selected:!1},{type:"Heliostat",cx:.27205681987665525,cy:.05842431025812222,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c4jmXgazz6s47tNDfcuR2H",selected:!1},{type:"Heliostat",cx:.27320620418777575,cy:.02037617228857191,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fzYUTKuZB2g898qPKopLu6",selected:!1},{type:"Heliostat",cx:.27090743556553476,cy:-.01973979926628006,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ezm9yDFEjEYm2TtNgfysUH",selected:!1},{type:"Heliostat",cx:.26516051400993235,cy:-.053652270065227096,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a8WSwg1KasTJjpUskv4dYS",selected:!1},{type:"Heliostat",cx:.29044696885458304,cy:-.07350347248412291,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ghekwWKHGiE7zrCodtNu1D",selected:!1},{type:"Heliostat",cx:.2958107623064787,cy:-.03876386825105522,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rNNdsfuPqE1EPczC46MeS2",selected:!1},{type:"Heliostat",cx:.3004082995509606,cy:.00011140315261576157,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4Chbg5MtX5989PatXAvQ1e",selected:!1},{type:"Heliostat",cx:.30423958058802886,cy:.0385731078392264,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2W9vhrDsJ8DwZBrvsuaxMH",selected:!1},{type:"Heliostat",cx:.33450670078086836,cy:.012518404664425633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eRsGbJw5AvY9EH6xgwRHFB",selected:!1},{type:"Heliostat",cx:.33297418836604104,cy:-.023875466436883364,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"83tmu295aDGPuUQDG8irif",selected:!1},{type:"Heliostat",cx:.32224660146224987,cy:-.06399143799173532,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9j8V5Vajb7oyLaPxiuJtfW",selected:!1},{type:"Heliostat",cx:.31573342369923374,cy:-.09831747550774267,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"itsvnfebiYWqAJ69gutWHW",selected:!1},{type:"Heliostat",cx:.3590268994181054,cy:-.05075730304580478,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wz22ek3hjYTur5JCY2Nij9",selected:!1},{type:"Heliostat",cx:.38929401961094495,cy:-.08053410667414851,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2ztRUM2FUvLR438Y5J9EgX",selected:!1},{type:"Heliostat",cx:.3490655687217279,cy:-.08963257444947577,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"471Dah549XrTt5dob8iJnR",selected:!1},{type:"Heliostat",cx:.37588453598120586,cy:-.12023651151194013,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p1pbcbEdVAG2P5ABxQu5Ke",selected:!1},{type:"Heliostat",cx:.3402536223364709,cy:-.12478574539960376,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"47fgpHN5zioMupSTaZWDSp",selected:!1},{type:"Heliostat",cx:.3647738209737079,cy:-.15249471544264584,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pCDe1bzWHZ6jS57fAK8pwn",selected:!1},{type:"Heliostat",cx:.3295260354326796,cy:-.15828464948149043,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCcRtCsumKV9DfWxadqTW5",selected:!1},{type:"Heliostat",cx:.3574943870032782,cy:-.19219712028043748,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ayXH3c1sFzNjaSdMZ81p9c",selected:!1},{type:"Heliostat",cx:.3184153204251815,cy:-.18640718624159286,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4evv7fQdgSNSipNwTWwGwC",selected:!1},{type:"Heliostat",cx:.3437017752698323,cy:-.22156035719172085,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rAh8823N9Vwi6vKYFAJd2C",selected:!1},{type:"Heliostat",cx:.3122852707658723,cy:-.22280105734290184,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5PCkHADofgHMwo1pjfyL9y",selected:!1},{type:"Heliostat",cx:.3333573164697478,cy:-.2554728279906679,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3xqoNyUGDK5ydaeVXeiyKG",selected:!1},{type:"Heliostat",cx:.39810596599620196,cy:-.04538093572674829,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aW5zhg7bZS1fUR7XJst2Gi",selected:!1},{type:"Heliostat",cx:.36630633338853513,cy:-.01353629851037508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gQLhow3fXWpMkfRe8wtCzu",selected:!1},{type:"Heliostat",cx:.40883355289999307,cy:-.007332797754470145,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"knRosv43m5AQ9razdiCqcM",selected:!1},{type:"Heliostat",cx:.3735857673589649,cy:.024511839459175226,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eEqU4FAzLxkJH9Tf34bQUP",selected:!1},{type:"Heliostat",cx:.3402536223364709,cy:.05304794293633799,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hZpNgZfZfytEBxpebNdzEb",selected:!1},{type:"Heliostat",cx:.3053889648991494,cy:.07662124580877676,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6EPw6254wjubgGXjScbc35",selected:!1},{type:"Heliostat",cx:.27129056366924165,cy:.09729958166179327,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"79MBztAVAqPVNos51gf6eg",selected:!1},{type:"Heliostat",cx:.24293908399493633,cy:.11673721736362871,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eXofdMYHTSynXhcqPKpjbV",selected:!1},{type:"Heliostat",cx:.20960693897244223,cy:.09026894747176761,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cj1HzxwMYNjCeedqVrynoE",selected:!1},{type:"Heliostat",cx:.20769129845390807,cy:.13162561917780058,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8SqHt7enenNVrryGKLRHHj",selected:!1},{type:"Heliostat",cx:.41956113980378434,cy:.0365052742539248,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoiTBXczJ25keVDxYZkuSh",selected:!1},{type:"Heliostat",cx:.38009894512198106,cy:.07000417833581148,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7VCY1aEW3s9HeKvSty5XL2",selected:!1},{type:"Heliostat",cx:.41956113980378434,cy:.088201113886466,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fbUybRMcP7qMoBEYqmnx6h",selected:!1},{type:"Heliostat",cx:.3444680314772459,cy:.0993674152470949,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sxsUBxLvQKPU2sAKzPcwC8",selected:!1},{type:"Heliostat",cx:.3820145856405152,cy:.12335428483659402,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5V4WAQXnKXNyTXXR6qBDXx",selected:!1},{type:"Heliostat",cx:.3069214773139766,cy:.12459498498777499,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"utggTKHEx3AjG5Z1EoMDCs",selected:!1},{type:"Heliostat",cx:.3452342876846595,cy:.14775472114315344,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uPUupWhDTobXtkfAk4CHMp",selected:!1},{type:"Heliostat",cx:.1758916658462413,cy:.10929301645654278,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v4iP1MonNTVEo1nyN2hwab",selected:!1},{type:"Heliostat",cx:.1410270084089199,cy:.12045931781717169,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8V8hDrjxrjeZN3UkWbonBQ",selected:!1},{type:"Heliostat",cx:.118422450290217,cy:.09564531479355189,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bqVYQHX1yQnt7BZjYd9afT",selected:!1},{type:"Heliostat",cx:.08585656147513654,cy:.10308951570063785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YF4NAGXk4jm9beYYTb7SN",selected:!1},{type:"Heliostat",cx:.10999363200866677,cy:.12873065215837826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7s9yjAjPK8QCDpuAxkaDQK",selected:!1},{type:"Heliostat",cx:.13528008685331744,cy:.15892102250378232,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ueGb2uspjMAYZriJiCCScw",selected:!1},{type:"Heliostat",cx:.17091100049805252,cy:.1489954212943344,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kR8wrTUausCmyTieuq4dHH",selected:!1},{type:"Heliostat",cx:.2735893322914826,cy:.14279192053842946,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"m8S6ZiPTBsqdQVioZbCw5M",selected:!1},{type:"Heliostat",cx:.23719216243933391,cy:.16222955624026494,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4MeKS14wCpVzh8CtWpLZum",selected:!1},{type:"Heliostat",cx:.20117812069089197,cy:.17753152477149714,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fCUJrfBrQ7HRvGk8i2jeaR",selected:!1},{type:"Heliostat",cx:.310752758351045,cy:.1696737571473509,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3hbDt2ugbLLKbd29gwYrUC",selected:!1},{type:"Heliostat",cx:.38546273857387664,cy:.17008732386441117,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hvEWWKEMAmdPXEoa4V4QAu",selected:!1},{type:"Heliostat",cx:.09811666079375506,cy:.17091445729853186,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aV6CVn4L6wr2GaKZrT1Vjm",selected:!1},{type:"Heliostat",cx:.0739795902602248,cy:.13658841978252445,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r3m2DEYQLd3mBwfFtEcVau",selected:!1},{type:"Heliostat",cx:.0375824204080761,cy:.14237835382136915,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e3Lco1rBEM6kMAUmL9NLgr",selected:!1},{type:"Heliostat",cx:.06248574714901997,cy:.1758772579032558,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"18MGWB6ff2CJeKikAUYJnL",selected:!1},{type:"Heliostat",cx:.0031008910744615347,cy:.14610045427766746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fYFCkzek2ccB6Pe6iDrEb1",selected:!1},{type:"Heliostat",cx:-.029464997740618924,cy:.1469275877090603,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6K52upKmX7aSVP2ujZ9n2m",selected:!1},{type:"Heliostat",cx:-.06624529569647447,cy:.14527332084081898,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5tcTbFYhFAxjhJQRk4KSQo",selected:!1},{type:"Heliostat",cx:.02685483350428495,cy:.18084005850797985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n61CQiJbnjFcrmJ4Qd5q6E",selected:!1},{type:"Heliostat",cx:-.013373617384932066,cy:.18249432537622118,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtxr56Ffqv7oisuWAfzE9f",selected:!1},{type:"Heliostat",cx:-.05015391534078766,cy:.18290789209603692,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ssnbBpNmb57x9QcPXWiUPm",selected:!1},{type:"Heliostat",cx:-.089616110022591,cy:.18166719193937264,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abSokmDd3oxiagFbwYw4gT",selected:!1},{type:"Heliostat",cx:-.09881118451155492,cy:.14320548725548987,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wuQC7dYsNVP7PrDHN1NRGs",selected:!1},{type:"Heliostat",cx:-.12524702366732607,cy:.17753152477149722,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6aJAfZK2dApF6de3TZNo36",selected:!1},{type:"Heliostat",cx:-.13827337919335825,cy:.1365884197825246,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xqsuyu9jqMNNR21mXVQ1a5",selected:!1},{type:"Heliostat",cx:-.17275490852697287,cy:.12997135230955933,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"swiDJhjoNyhP63XMsVg6ur",selected:!1},{type:"Heliostat",cx:-.16087793731206115,cy:.17050089058147164,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aWi6rcrzKqVDW7CfrF1871",selected:!1},{type:"Heliostat",cx:-.19804136337162356,cy:.1618159895232047,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYUqz4sh2LFY1owPxxLGX1",selected:!1},{type:"Heliostat",cx:-.23597104563859955,cy:.14899542129433452,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vv5n4PmfmBKXSGGNbevTey",selected:!1},{type:"Heliostat",cx:-.14402030074896066,cy:.21144399557044424,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6afKxsaAMJBNRnAKoKzPU4",selected:!1},{type:"Heliostat",cx:-.18654752026041868,cy:.2039997946633583,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1YsLhxgaZg9Q87hZLXmeRs",selected:!1},{type:"Heliostat",cx:-.22486033063110153,cy:.19200635986860873,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2d8xeYnZjcK5AiBTwEWzgx",selected:!1},{type:"Heliostat",cx:-.1091556433116393,cy:.21930176319459052,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vckAj7b593ahoDXTD68N3y",selected:!1},{type:"Heliostat",cx:-.07045970483724957,cy:.22095603006283185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6pp7NwNe4PgJKBVJsV7dGd",selected:!1},{type:"Heliostat",cx:-.03214689446656673,cy:.22095603006283185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1pADApoC8hWnpbvYEvM5UA",selected:!1},{type:"Heliostat",cx:.010763453148598107,cy:.2197153299116508,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4PGQjGdFqm6pw32fwJZufu",selected:!1},{type:"Heliostat",cx:.04831000731186732,cy:.21847462976046983,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oR8yoN1AtfF6iLT3X2SqWy",selected:!1},{type:"Heliostat",cx:.08930471440849803,cy:.21061686213632358,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nETqDwZvxQ1dJWeqM7Z2dH",selected:!1},{type:"Heliostat",cx:.12608501236435357,cy:.20151839436099633,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o4tZaxHBZHKFtmG7xSce1i",selected:!1},{type:"Heliostat",cx:.16363156652762278,cy:.19117922643448812,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"csmW9k51tdyoZ24jFE76GS",selected:!1},{type:"Heliostat",cx:.19543119913528956,cy:.22385099708225412,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBFBKRX26RSYKyWNZJF5qd",selected:!1},{type:"Heliostat",cx:.23336088140226563,cy:.20772189511690126,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vRw1xgf1Qf5Yz5VVToBzXd",selected:!1},{type:"Heliostat",cx:.2716736917729485,cy:.1899385262833071,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rEtpBVboMR7XjEgcux4547",selected:!1},{type:"Heliostat",cx:.3076877335213904,cy:.21888819647753016,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2FCByMFsbYZPgKoVW6ncqW",selected:!1},{type:"Heliostat",cx:.34791618441060734,cy:.19490132688803105,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7CpYfRknsBW7rVbRGTPnhL",selected:!1},{type:"Heliostat",cx:.3460005438920733,cy:.24494289965233088,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMS3yRiwnF88dhiVtoh9c5",selected:!1},{type:"Heliostat",cx:.3015576838620812,cy:.27223830297831264,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dbBWX8iuPtZmjpKk4PQdKc",selected:!1},{type:"Heliostat",cx:.26937492315070755,cy:.23708513202818465,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dYZSyQzqqkq28acBvqThmF",selected:!1},{type:"Heliostat",cx:.22838021605407682,cy:.2548685008617788,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQGbd5QAk8pPfgDRf2pnvw",selected:!1},{type:"Heliostat",cx:.2640111296988119,cy:.29002167181190686,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gKRa4wpCCZ2YuQXE517nZ2",selected:!1},{type:"Heliostat",cx:.21880201346140607,cy:.3073914739284407,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCywX5XZ4CUAJkRyS3FniH",selected:!1},{type:"Heliostat",cx:.1858529965426188,cy:.2709976028271317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2UPLQMCooiMhFJtDN26CC2",selected:!1},{type:"Heliostat",cx:.15405336393495203,cy:.23584443187700366,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9gstuVGZgNt34bwx4fWbUR",selected:!1},{type:"Heliostat",cx:.14370890513486767,cy:.28423173777306227,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4b4VML3sa7hnY6ghXF3UUH",selected:!1},{type:"Heliostat",cx:.11229240063090776,cy:.24783786667175325,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wgdCGQw8TMgPeJVmJu1z5p",selected:!1},{type:"Heliostat",cx:.1007985575197029,cy:.2896081050948465,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"waxnrKabumqfqY9nszwBCu",selected:!1},{type:"Heliostat",cx:.0728302059491044,cy:.25652276773002014,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sYDz76fyRaQEPaspZ2rJP4",selected:!1},{type:"Heliostat",cx:.17512540963882764,cy:.3206256088743712,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pazgCfCXnKgDa4L3VRZcx5",selected:!1},{type:"Heliostat",cx:.031452370748766875,cy:.2598313014665028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r7WAJSEpjF1v6Y8RpDz5PJ",selected:!1},{type:"Heliostat",cx:.05788820990453806,cy:.2991201395872341,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9eZTFADerf4QWheHy8QGKH",selected:!1},{type:"Heliostat",cx:.011912837459718613,cy:.3049100736260787,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sNRuKArsN6PvUBVAmpBhxu",selected:!1},{type:"Heliostat",cx:-.03214689446656673,cy:.30821860736256135,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ofECbbJ9gme6LxsuNXNjgk",selected:!1},{type:"Heliostat",cx:-.009542336347863806,cy:.2635534019200458,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v9J8DuLJH4a96cz44K2xmP",selected:!1},{type:"Heliostat",cx:-.05206955585932177,cy:.26313983520298545,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9a9woYxqpxa3DPpGkexnDn",selected:!1},{type:"Heliostat",cx:-.07505724208173149,cy:.3049100736260787,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"btMDteQZ9ZwHR2ZJEJPqTR",selected:!1},{type:"Heliostat",cx:-.11835071780060315,cy:.30036083973841504,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3R6fjmFqnVAn6gX7NVbg6T",selected:!1},{type:"Heliostat",cx:-.09344739105965931,cy:.2598313014665028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"biLXxZamzgN1buUB8TsZqZ",selected:!1},{type:"Heliostat",cx:-.13520835436370363,cy:.25445493414471854,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fExb7vHaSjiVqB5MGACC4u",selected:!1},{type:"Heliostat",cx:-.16241044972688845,cy:.2958116058507515,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iAmRb8oDGZX392ae33MR49",selected:!1},{type:"Heliostat",cx:-.17581993335662746,cy:.24783786667175325,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mCVU3AM9GsiHSTf2zAYpNn",selected:!1},{type:"Heliostat",cx:-.20608705354946694,cy:.28423173777306227,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fafqHSKwkZ9Lc6KNcub1iX",selected:!1},{type:"Heliostat",cx:-.21604838424584447,cy:.23832583217936565,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5x5ryjAFNyLBQJSPDZiNxM",selected:!1},{type:"Heliostat",cx:.25404979900243435,cy:.34089037801032746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hZqvYxemtzLuX56szXzxj2",selected:!1},{type:"Heliostat",cx:.2092238108687354,cy:.35784661340980095,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1xzWMVcb7QUgsZhom23ZBM",selected:!1},{type:"Heliostat",cx:.16094966980167502,cy:.3719078817898521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9oP1tTsujTz46mZLAksbU8",selected:!1},{type:"Heliostat",cx:.14600767375710866,cy:.4215358878370917,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpxoJLLKw2wmcNRpjJPBjy",selected:!1},{type:"Heliostat",cx:.09543476406780727,cy:.4322886224806602,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mCWXPsVjzjnqeov6whWkEo",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:.11420804114944189,cy:.38307418315048103,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dk9gN4h4BRr8fGtZgsJuDT",selected:!1},{type:"Heliostat",cx:.12991629340142186,cy:.3313783435179399,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2fgVoHVNeFxumUFrk5quEU",selected:!1},{type:"Heliostat",cx:.0651676438749678,cy:.38969125062344634,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"it8NqwMqJ6jLPQz4dBWJb8",selected:!1},{type:"Heliostat",cx:.044861854378505865,cy:.4393192566706859,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"udHusEwmFchV5kUtJf1ukS",selected:!1},{type:"Heliostat",cx:.08240840854177511,cy:.33799541099090513,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bsUzfzqGGE9YRc9SxnYgmz",selected:!1},{type:"Heliostat",cx:-.005711055310795511,cy:.4422142236901082,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2WagAkKFSQwtBhzW9SCBZ3",selected:!1},{type:"Heliostat",cx:.01765975901532106,cy:.39465405122817027,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s4VCdFSKVUwKw3ks2MUqmg",selected:!1},{type:"Heliostat",cx:.03796554851178297,cy:.3470938787662324,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h4ZiHa7nr4i5m7fVtmuGTu",selected:!1},{type:"Heliostat",cx:-.009542336347863788,cy:.3524702460880167,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5oXHCCp9pagPTxNZv7YAhZ",selected:!1},{type:"Heliostat",cx:-.0306143820517394,cy:.39217265092580833,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ksbrcBfUU1XjRMYnvbmKvL",selected:!1},{type:"Heliostat",cx:-.057433349311217394,cy:.44510919070953053,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pkwk8jYFuWA8JrrVEXSciw",selected:!1},{type:"Heliostat",cx:-.10800625900051879,cy:.4397328233877463,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"myZ6zveEJCX5Y5KUd9UqJc",selected:!1},{type:"Heliostat",cx:-.08157041984474761,cy:.39258621764286866,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8N7G24rjGiwUS1qdSwqWKB",selected:!1},{type:"Heliostat",cx:-.05321894017044227,cy:.34916171235153404,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wnaxBMjLgw16qhsxW87N2s",selected:!1},{type:"Heliostat",cx:-.1597285530009407,cy:.4327021891977206,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tdAXmudejXgsfZaFTCJpea",selected:!1},{type:"Heliostat",cx:-.12869517660068752,cy:.3876234170381447,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2EGGmcigKerWkATYn21Drn",selected:!1},{type:"Heliostat",cx:-.10072682503008903,cy:.3462667453321118,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9JRkgoqFZPzpaDJN7QVEqw",selected:!1},{type:"Heliostat",cx:-.14746845368232211,cy:.3425446448785688,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cemUSZgbciSABHXVUHVMRB",selected:!1},{type:"Heliostat",cx:-.18118372680852307,cy:.38472845001872236,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7Nd9N6VpCiem7PLD9aoKJQ",selected:!1},{type:"Heliostat",cx:-.22677597114963569,cy:.3748028488092745,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o3vFhXc352dZa6eBcXkn8H",selected:!1},{type:"Heliostat",cx:-.1896125450900733,cy:.3330326103861812,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qXuuzbNe6dHacfosrcjkG6",selected:!1},{type:"Heliostat",cx:-.2401854547793747,cy:.32021204215731097,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wvrbYM3ECPeNyPcjQDEFVt",selected:!1},{type:"Heliostat",cx:-.27275134359445513,cy:.3603280137121629,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1fzbQMf2vnYzc5rpFpv9Mm",selected:!1},{type:"Heliostat",cx:-.2830958023945396,cy:.3082186073598336,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vzTr4LtFarEKYTmcYc1SSn",selected:!1},{type:"Heliostat",cx:-.24669863254239083,cy:.2709976028271317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bQQNRPpyECMqE968rws9s7",selected:!1},{type:"Heliostat",cx:-.2555105789276479,cy:.2234374303651939,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a1ChAzJsqXt2MPj8g71s9i",selected:!1},{type:"Heliostat",cx:-.28960898015755565,cy:.25776346788120114,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ggq4FyzZAgUPjfnxC8sMSU",selected:!1},{type:"Heliostat",cx:-.2949727736094512,cy:.20689476168278068,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2po6rWGbCxwy8HhxH4B5M3",selected:!1},{type:"Heliostat",cx:-.2624068847943708,cy:.17918579163973858,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bdrrNnoWhgNP5mRf3i2NL1",selected:!1},{type:"Heliostat",cx:-.3256230219059975,cy:.2887809716607258,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7YMmZ4VphoH7t76dfCNrKp",selected:!1},{type:"Heliostat",cx:-.3685333695211623,cy:.26727550237358866,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wUtNWA5JuxbJLty1PFij2c",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:-.3294543029430657,cy:.2370851320281846,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wA8tWR4u3NMA7wqZrTD6LS",selected:!1},{type:"Heliostat",cx:-.37083213814340327,cy:.2184746297604698,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u1tc8oJuXA2enopmwuzjK2",selected:!1},{type:"Heliostat",cx:-.4110605890326203,cy:.19448776017097064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"98Xke4ooFncN8FqBo7DDy6",selected:!1},{type:"Heliostat",cx:-.45282155233666466,cy:.11466938377832708,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3sLafsCK4ZvzmX9XjWqLu",selected:!1},{type:"Heliostat",cx:-.4110605890326203,cy:.14858185457727408,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6fL2zFNvEirpGcgDGmSR7Q",selected:!1},{type:"Heliostat",cx:-.369299625728576,cy:.17298229088383354,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1La1dF2UsKPBp333zXfnQM",selected:!1},{type:"Heliostat",cx:-.3344349682912545,cy:.19241992658566903,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ccVk8kW1m7tdavAe7fX2do",selected:!1},{type:"Heliostat",cx:-.373897162973058,cy:.12170001796835267,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7dYAamQSthGA7dsTStGx64",selected:!1},{type:"Heliostat",cx:-.33520122449866824,cy:.14692758770903283,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7an2wysM5Qh3AkEZpGd37",selected:!1},{type:"Heliostat",cx:-.30071969516505365,cy:.16512452325968727,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qMwJPZfpHaQqaVGyt8my77",selected:!1},{type:"Heliostat",cx:-.3041678480984151,cy:.11880505094893035,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sEhiU97pJ6gWPJXqqojWa4",selected:!1},{type:"Heliostat",cx:-.2666212939351459,cy:.13493415291428323,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rbZK8YX7uyaHE3smRfE1iQ",selected:!1},{type:"Heliostat",cx:-.20443321752274124,cy:.12247070829736166,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JbmNCtS7jdpAREuUBBsWM",selected:!1}],rvn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!1,theme:"Desert",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#b3b3b3",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[106.52962106579803,-544.1172181902157,79.8149873216779],panCenter:[.9854234887700954,-25.135454432654125,13.426370895100769],orthographic:!1,enableRotate:!0,cameraZoom:1.5388995055342627,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[16.412888127805086,-91.5557196774778,49.9998886695533],panCenter2D:[16.412888127805086,-91.55566967525533,-.00011133037453072694],solarRadiationHeatMapMaxValue:4,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1},avn=1,lvn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},svn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},cvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},uvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},dvn=[],fvn={docid:$8n,time:Q8n,timestamp:Z8n,userid:evn,owner:tvn,email:nvn,world:ovn,elements:ivn,view:rvn,evolutionMethod:avn,solarPanelArrayLayoutParams:lvn,solarPanelArrayLayoutConstraints:svn,evolutionaryAlgorithmState:cvn,economicsParams:uvn,notes:dvn},hvn="vL1ZUsNydJJmwct15vHcrF",pvn="05/19/2022 06:27 pm",gvn=1652999233628,mvn="QWecNcxhyvP6j6sBN11hBsfZDau1",yvn=null,Avn=null,wvn={name:"default",date:"9/22/2022 10:15:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.804781891550604,longitude:-114.97646752496185,address:"602 Eldorado Valley Dr, Boulder City, NV 89005, USA",timesPerHour:1,pvGridCellSize:.25,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:10,airAttenuationCoefficient:.01,cspGridCellSize:2},vvn=[{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"7L9JEMbgdkHJqyQYNhEPJq",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"irFPLxmMLT6rFDoJKoiKhb",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"8eu7vDhv6KUhHi9npAWqM9",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"qipbq8ah3yAaXFiTtNqwjz",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"8jsKzdYVfC5Vf4Nnu5jMbP",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"9VBTZXtWX26kqjkAsCS6nu",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"aUYdyUNGi8bnHineP3zqz5",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"bEQifGheSWzXErCQEX5jc9",selected:!1,dailyYield:2225.1916629818006},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"r4v1okttD44Z3thaT999zr",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"vbsjU2syn8u3VcPEUEvfUL",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"rS9gedRi7TPFSNSehAoH5T",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"oYPRYVsGHKMvvbMQksPZAx",selected:!1,dailyYield:2167.4086752704884},{type:"Foundation",cx:-268.72128837305235,cy:192.4499625139658,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fjnWik4gwK6dVzpp4PS9CN",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"somwUXH46rWWj2iEWaBpTH",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"f6fusQGihys5Uk5wRLiqtW",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"xxRJM6MpW6jZoZtDe4gxTL",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"67cNGKEATuXayJC7fa4ov6",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"jTDbg2GsKFSXSL5kfEKwFM",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"otoVZiatBWpjEMBHcFE1vB",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"a61aJ1UFYsWt4ci4mKq9SJ",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"3oeacHzGeVf2rX3iv6QkKf",selected:!1,dailyYield:2183.952515711261},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"j4UdupxMbEhx9RPqd3Kxbe",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"eU127LCRTi1gGCpMprsZjB",selected:!1,dailyYield:2183.9840846216266},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"9dKhxKmMz8HYSCd8thjHfi",selected:!1,dailyYield:2184.0494263190526},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"8niYJz4X5kqK7PxotD8v8w",selected:!1,dailyYield:2184.0217279415574},{type:"Foundation",cx:-96.65608919286746,cy:194.42114792003463,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h3DXKV7Y684i3thRma6wLu",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bzpE1WucZoTcJnrQaFWosk",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"b18nYFHTAeTLPg9V3TAu6r",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"vnJbcrncrmPTTZtSNizQZx",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"uuobSx6wZMqJ4o9dEx6874",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"fkkZPubbk2sVhakgHyJg8p",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"nKo71iVf2HXcRbr4UCGY4B",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"s73CuihHSMyjifPJZbc7fj",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bPUahAh6uikU5BjNj3PBL4",selected:!1,dailyYield:2184.314471867017},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"uwbEdmDhH9hKvJBzSqoFEi",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"ek8zDL6MWZ5xk3JieUZvVt",selected:!1,dailyYield:2183.9840846216266},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"4f3PT1Wrj5UjbZFwB43q6Q",selected:!1,dailyYield:2184.0494263190526},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bV9jU3U5EG7hj1ZR9htRmc",selected:!1,dailyYield:2184.0217279415574},{type:"Foundation",cx:76.81490256290738,cy:193.91833345117703,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fiH8AWThFS5EVx7AwfngqL",selected:!1},{type:"Parabolic Trough",cx:-.04454509140457573,cy:-.0080567453075295,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"t8xtXgJ4zQkhGJAogmq8d9",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.028178433926039068,cy:-.008139307894208355,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"bUFAb96RGW7QwKBQMcxVPN",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.11348203554423389,cy:-.009985318932966891,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"6rj3ikzy3Q8n2yfz1CwRXN",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1829903788505871,cy:-.009114355848154284,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"1WNeTRgxoSTT2DQJu5yyHb",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.25148985811792923,cy:-.010411589149102113,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"cWDWPkRX7GebUfNP1qoDPY",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.3213430444980177,cy:-.00840045293698594,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"dC1wGpGBnzJBEAzPE8gK7z",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.38740964968714997,cy:-.009828258759322559,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"jLCGM5EGeijybwhJJbzYWo",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.4537412982117307,cy:-.010542161670490834,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"fofxsexPNsKCB5DuhFZbhA",selected:!1,dailyYield:2184.249130169591},{type:"Parabolic Trough",cx:.09586378956336611,cy:-.00872263828398791,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"scR8HVKLnxMfg5qeM5Lugw",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.1635491452006934,cy:-.0072948324616512175,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"aJRfgV9p4QZ5EqYhzKMsGH",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.22988079372527398,cy:-.0072948324616512175,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"jbKhaZc18QopEFA48QhFGz",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.3002735635880945,cy:-.008008735372819492,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"gfBbYgpDbuSQ6xjoAfmVTg",selected:!1,dailyYield:2186.5619099124656},{type:"Foundation",cx:265.415477246936,cy:192.50545738235357,cz:.05,lx:211.2723746451423,ly:400.6159826636368,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"v1v8XPTexYoFXFrbQfvcXN",selected:!1},{type:"Parabolic Trough",cx:.3626690294198999,cy:-.005427557483579055,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"kni2ZMXaAJJiwviDVB1raV",selected:!1,dailyYield:2186.372284672933},{type:"Parabolic Trough",cx:.4327954824820787,cy:-.005427557483579055,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"bETGj1xEbbAb2BVse1AQM2",selected:!1,dailyYield:2207.463112852368},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"s7kVKBTAaDo2hjd87z12j1",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"2TcdonCE1i3zpYReX2SoLR",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"a2NWUVKnwbFux2PYtz5CHH",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"t3XK5N3foFHRBevW4hQYeH",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"gX7yumpKKrmXnqYJweAwxw",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"wydrS5X5dqpbWyrqFYtYX6",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"ko9LprY6zErxhRNVTa6b2k",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"tUbG4wALaTZBXqDzrZWjJa",selected:!1,dailyYield:2225.1916629818006},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"cwror37w56snxd6Cu57GYv",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"djRCaY4JYizuqL9V1t1Ef7",selected:!1,dailyYield:2186.416326619183},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"wUb1oL88fa6vEHWZxPkspJ",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"8CofMvmPY2z5bBHdRWwYyh",selected:!1,dailyYield:2184.2214642544664},{type:"Foundation",cx:-274.1742441205048,cy:-205.8730240503783,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"er6dYYMfRpcyAunmGzAVCk",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"jrgrdJiY66ubYTKCaCxqTB",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"fs8ejjGyyEChaC8Ehk8T4z",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"wXPY3K4zXtXUdVp4EU5wHC",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"woCUpwEYEVwQQqjCWLCbcb",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"8fA8M4gu6FFx9kstBhM3Gh",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"vdKSaNvMHXQ6c4CUhsUbjJ",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"nfHAWXJBNrnZk4SZXBZRwQ",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"oG9kEtQxTKYAx4RBkRru4e",selected:!1,dailyYield:2200.564116598536},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"eZZfAVvGcJQ4hyoRBRAHxH",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"1fvahJfFg2KKz9NtwScfEZ",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"whVGRaA9vi5x7rhQNFg1yE",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"c9Dk9vaeTmZUcYmk8LG9yA",selected:!1,dailyYield:2184.142140950794},{type:"Foundation",cx:-99.03928963053315,cy:-203.22690478352843,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7yEBa2PPK1oKGZhA24cAWz",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"9xAb6RCYhCVXhVokdoTNnm",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"mQojvngU3MK9E1WnMgnuYU",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"fdpnWcCJudkZEj98eat8mA",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"eXpPJSpHuPPrV44B7sxjrT",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"bKjSqKtUrMBiHDZpPLvptN",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"bUtfJ12cGNMZZLy3onCpbF",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"1coPe9Q5rGuZ2WSaiij8Le",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"2yk58NVaRPhqHjxMFDwXYo",selected:!1,drawSunBeam:!0,dailyYield:2184.5259546735324},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"6x4yDGfJw4eCZ7ekCPhjNt",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"xvTNCko8YFvfGqK1kgUt12",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"gVdwmaY8duSTrt1vAsGAxn",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"nYEBq3ov1hbfwdFnEPb7Kh",selected:!1,dailyYield:2167.507403284107},{type:"Foundation",cx:75.63743844199865,cy:-205.7462806691912,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"k36HZDupiVkAR6X1Ux85J2",selected:!1},{type:"Parabolic Trough",cx:-.033179547828226484,cy:-.00957350532887952,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"ezm6CU1apADueQgyTsSmZn",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.0413587397995383,cy:-.009655416682255636,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"kevGPawVmfF7HkTwPXwpqF",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.1038367629054752,cy:-.011486866841637427,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"uandqWKZFgnXJhXCrgQ2QQ",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.17507963599701507,cy:-.010622773698636264,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"kpSVEzPLMTEAVhEWUE8vrF",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.2452884695865472,cy:-.01190977474353469,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"xzPQyiCUDpURAjVcdpLis1",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.3168847910580943,cy:-.009914501877400738,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"1oovrq6jnWYwDxtZ3cBFmK",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3846000399791258,cy:-.011331045519871718,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"royQeirmSLt4FSVKZM7K9n",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.45258694619787027,cy:-.012039317341107171,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"eHq1QWB15jeB3RweUWBig1",selected:!1,dailyYield:2183.9634444947524},{type:"Parabolic Trough",cx:.11073313390029775,cy:-.01023414590591861,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"bX6TtHS7whnu5gLA4WYDBw",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.18010752800105748,cy:-.00881760226344756,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"vfvomP4GJj2bUfaeRmSTnY",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.24809443421980182,cy:-.00881760226344756,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"aKsJXH85Pv1TJFkCUcHtaj",selected:!1,dailyYield:2184.074372390822},{type:"Parabolic Trough",cx:.3202438040845918,cy:-.009525874084683014,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"5d1oEf681m2BEya8bQE3Zu",selected:!1,dailyYield:2186.5619099124656},{type:"Foundation",cx:260.2382130043768,cy:-203.83085358802796,cz:.05,lx:206.12858677265922,ly:403.80106579029473,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tnLBLu28SYP7t6wfKCqrkm",selected:!1},{type:"Parabolic Trough",cx:.38472948235042653,cy:-.006082018282359512,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"35zz9s2izu4bSZ895qaY5m",selected:!1,dailyYield:2186.4500637242113},{type:"Parabolic Trough",cx:.45459040213804675,cy:-.0025158234685137603,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"8LPfuFyav4kWtBZ6BHp2RQ",selected:!1,dailyYield:2207.323568286619}],xvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!1,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#999999",groundPanelY:0,heliodon:!1,axes:!1,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!0,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"hybrid",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[415.56554854788317,378.8681570116889,50.208533152612546],panCenter:[53.36331727441414,25.641045916575948,4.010932124381785],orthographic:!1,enableRotate:!0,cameraZoom:1.3888568037446718,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[7.614289529137672,-228.9673229029426,19.999771022501545],panCenter2D:[7.614289529137672,-228.96730290205363,-.00022897748026825466],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:5.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!0,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:-5,dailyParabolicTroughYieldPanelY:5,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400}},bvn=1,Svn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Tvn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Pvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Cvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Rvn=[],Hvn={docid:hvn,time:pvn,timestamp:gvn,userid:mvn,owner:yvn,email:Avn,world:wvn,elements:vvn,view:xvn,evolutionMethod:bvn,solarPanelArrayLayoutParams:Svn,solarPanelArrayLayoutConstraints:Tvn,evolutionaryAlgorithmState:Pvn,economicsParams:Cvn,notes:Rvn},Mvn="anrFxSGH61K9md1hspSx6c",Ivn="02/02/2023 12:15 pm",zvn=1675358110494,Dvn="QWecNcxhyvP6j6sBN11hBsfZDau1",Evn=null,kvn=null,Fvn={name:"default",date:"9/22/2022, 2:30:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:42.2844063,longitude:-71.3488548,address:"Natick, MA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},Lvn=[{type:"Foundation",cx:.08101414969184528,cy:-.061088068754476144,cz:.05,lx:30,ly:30,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"1jWhHcaUD3hYBmq8heF7Mt",textureType:"Foundation Texture #2"},{type:"Parabolic Dish",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,latusRectum:15,relativeAzimuth:0,tiltAngle:0,structureType:2,receiverRadius:.25,receiverPoleRadius:.1,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:-.0015648838470118183,cy:.002268855297546398,cz:.5000000074505806,lx:8,ly:8,lz:.1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1jWhHcaUD3hYBmq8heF7Mt",foundationId:"1jWhHcaUD3hYBmq8heF7Mt",id:"n6Wes9AHD6Nu1BFW2ixX6c",selected:!1,dailyYield:58.654024482322484},{type:"Cuboid",cx:-.0385404512454377,cy:.14330355436037368,cz:.5,lx:1.410367011670566,ly:1.229722993301011,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"wjK4XRngAZ84SKTN23jchz"},{type:"Human",name:"Judd",cx:1.5445606997476098,cy:-3.0401084333788013,cz:.05000000074505806,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"1jWhHcaUD3hYBmq8heF7Mt",id:"weMPyi8cZcMft87uExNbWN",selected:!1}],Wvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[-2.420183280635814,-15.878268188373001,3.8943744657694412],panCenter:[2.874525283798386,1.555148727597212,3.8943744657694412],orthographic:!1,enableRotate:!0,cameraZoom:31.733468832186784,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989623],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:5,showSunAngles:!1,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,showDailyParabolicDishYieldPanel:!0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,stickyNotePanelRect:{x:0,y:0,width:200,height:60},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400}},Nvn=1,Uvn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Bvn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},jvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Yvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ovn=["Parabolic dish"],_vn={docid:Mvn,time:Ivn,timestamp:zvn,userid:Dvn,owner:Evn,email:kvn,world:Fvn,elements:Lvn,view:Wvn,evolutionMethod:Nvn,solarPanelArrayLayoutParams:Uvn,solarPanelArrayLayoutConstraints:Bvn,evolutionaryAlgorithmState:jvn,economicsParams:Yvn,notes:Ovn},Vvn="7ug2PMzZs8KHaJfo9T19XG",Gvn="11/13/2022 05:52 pm",Xvn=1668379966922,Jvn="QWecNcxhyvP6j6sBN11hBsfZDau1",Kvn=null,qvn=null,$vn={name:"default",date:"5/22/2022 11:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:40.50104939260215,longitude:-112.3735469155903,address:"West Maint. & Supply Road, Tooele, UT 84074, USA",timesPerHour:1,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:5,cspGridCellSize:1,cspTimesPerHour:1},Qvn=[{type:"Foundation",cx:-47.0206360597426,cy:68.67019638501287,cz:.05,lx:46.5768885127422,ly:135.19445156274705,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"cZGzTuNW8Aam7msowwUroB",selected:!1},{type:"Parabolic Dish",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,latusRectum:8,relativeAzimuth:0,tiltAngle:0,structureType:1,receiverRadius:.2,receiverPoleRadius:.05,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.30761593322410435,cy:.2695290878919692,cz:.5000000074505806,lx:6,ly:6,lz:.1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"fopwswffzD41xMfw42A9HH",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.02814798372485404,cy:.3300697435564625,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"uhQ2BDDLEGyfXHXM3T8D4J",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.015122118824723977,cy:.2725477934518696,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1hU2B3tRaXiQA6qMShWWWm",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.3100390677195005,cy:.3278398594863607,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"iEABxF7nkChkFiL5Znzw6T",selected:!1,dailyYield:55.267670961749594},{type:"Parabolic Dish",cx:-.309076286400796,cy:.20865185910064502,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"6dujuDwUqfLaFeQofWwJLp",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.30842094785613033,cy:.4471386572368095,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"cxNbMe5Q6mxcWpM69s2zVD",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.3641465280539995,cy:.44914206870604134,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nvnv9aQWWLSS8NFmBnHLYH",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.021675504271373644,cy:.4499260123244368,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1XvYz7yo4kDAwFbbyEVu6r",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.3641465280539995,cy:.39329601584788454,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"iAqeVhRsv4EEemyXLxRT7n",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:-.31489342730961073,cy:.3858168453090086,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"8887sGWkY9DPe6zPB7DCjw",selected:!1,dailyYield:55.365730353380805},{type:"Parabolic Dish",cx:.36706723440738265,cy:.33342502224319376,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"w4H13nunp4KXu5rLSjHetr",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.021675504271373644,cy:.3919490265017887,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"8A9nZ4G6EMbXmR2ypdZPtC",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:-.3119969927541789,cy:.15179957105585468,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"9xvM5C54F1GdXuQmPkbXHv",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.36852758758407417,cy:.21317991744049564,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"dWXjd19yWhBU5KYeV4ep7R",selected:!1,dailyYield:54.63098088367212},{type:"Parabolic Dish",cx:.36852758758407417,cy:.2740571462318198,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"9RH7D4KCkHBkHBB3Jq4YBh",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.019503178354798405,cy:.21317991744049564,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"pPqHXoZxFqCJhooD9iRhGL",selected:!1,drawSunBeam:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:.029710257140191706,cy:.151618028448374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"dW2wLBrURiiyxfn6F6TVAM",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38263449035227737,cy:.15356864871672385,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"4FQ9iN4DZGms63ywmg5spd",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.3118902038832707,cy:.033930573598891456,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"5oj8TRyAKMqMp8sgE67FVE",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.025935666410650624,cy:.09374962715399743,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"vmGfUGiMyftJojwfX2GBR5",selected:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:-.3005664316946478,cy:.0924492136417643,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"oYSwSfAfrKU47Vyq9eDs5P",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:.37131071816365446,cy:.09570021542996741,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"ngsGcTkVVzJ7SPc4n5EF9z",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.3788598996227365,cy:.036531432615737686,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3kBsJoTshaWDzS9NKouLiE",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.029710257140191706,cy:.03523101910350445,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"o4R1QpEifXnNSRVbUJpY2N",selected:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:-.3043410224241887,cy:-.03499134254946713,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"wg9A7xFWVB5Q2Pe6NVpsFv",selected:!1,dailyYield:55.333043889503735},{type:"Parabolic Dish",cx:.03159755250496232,cy:-.03434113579335057,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nMbKYu7cUV1STfkS1t9GBe",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:.37131071816365446,cy:-.03109010201276759,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1uAa3xWKSo4ZMy4qgrtWHV",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.30245372705941853,cy:-.0954605708683097,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"4W4HyJzntbsbMubTzJ5xuB",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.2949045456003364,cy:-.15202852665807323,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"hLUWjDDawa9Bq5bGdgVF6r",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.2967918409651067,cy:-.2150985820013824,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"38LakMABYvqqhWZJbnchb8",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.2949045456003364,cy:-.2716665697835258,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"qS3hKai5cPy6hqmvjMrrT8",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.03159755250496217,cy:-.09285974384384334,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"7N2it6fkLMZs5QL5wVYmmH",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.03159755250496217,cy:-.15137835189433643,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"jY7wFhgsoDdty76ov6d7Pd",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.03537214323450325,cy:-.20924675318871294,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"u2YWuzVpBajQANuw9UfAwL",selected:!1,dailyYield:54.45190129987361},{type:"Parabolic Dish",cx:.04292132469358527,cy:-.27101636302740917,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3S1KK6FChNE8gvYazHEnpd",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.04103402932881465,cy:-.33018517783401885,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"uLmHzExRSUXhHpNKBjVRrt",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3864090810818183,cy:-.09285971185146352,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3cxdvSGi3uCkPtzjoDyARg",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.38074719498750675,cy:-.15332894017030646,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"s6fcxcWAD6NVtUZVHCQQ4L",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38074719498750675,cy:-.21249775497691611,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"bSdLYguwQYmYpDu9RumiMQ",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38452178571704776,cy:-.2697159495151761,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"2fyj3BUAEUoyYeFCWw7srW",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3901836718113594,cy:-.3295349710779023,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"sjmKi4AsX1sdYN2tTKwmA4",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.051333272176731434,cy:-.38693722362249716,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3uEbgTc72rFmahkwgqJg8W",selected:!1,dailyYield:55.12127784182816},{type:"Parabolic Dish",cx:.059035555614381244,cy:-.44796941122274353,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nRqAdpZ4TZQVjnRmHw48uX",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.3902337434333181,cy:-.38516817470654796,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"cfsJe9Yug6u3x3oBayEheP",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.3902337434333181,cy:-.4453158378488198,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"wMxTgYHNjkaxthyYgYTQP9",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"i9fZCix4TrJKhgCcneBYW4",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"n7aRSWWeY5wBNzZ53XV5uA",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"jWLZDGd195KJE8SWN597fk",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"76YP5Bkbjqbnqsg1JSHTGc",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"b9eyjomDdJAvbQ4GXbRhbG",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"9soCdCwnL8Bku7MHtRFFFr",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"tFv5W1XKGRjyGCtxQnPjfn",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"e5TE4DCQ6xiHjtxHX6wtr3",selected:!1,dailyYield:54.63098088367212},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"vsS27cuHcFevK1BdwYeKu3",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"hre13LuXsebRJ1ojBkKSgR",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"xrGCkZHLfRSASP6ZwrmBJr",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"nCfyMKMf1W4ncpysKWy2VY",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"mNMLU3z9EypRpQKmc6xPri",selected:!1,dailyYield:54.53292149204091},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"7g2aMKZxh6mDuScjaSitCf",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"woNtmkrzdE6LQEpkJkkk15",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"gQJWvo8v2H3LF9QwKDg5pS",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"psqWbKt21osCHgusR75ZRM",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"qA6D1GimsUYSX5jHTZtGrL",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"rFR9awpETFNeLqanJsWtLB",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"79pQRAYjXXzrw8FMTxx7da",selected:!1,dailyYield:54.53292149204091},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"j29brne3bouFE3K9xbRzf8",selected:!1,dailyYield:54.37088110770631},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"fEsQhg9meEj7fn6FyQr2kS",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"grDso13WfqFPnwde3tTooZ",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"5znkiYKSLhmEUCEWv7SMww",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"h7EfHGkuVpHhLEE2L8UnPe",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"tWy5pSLVYjou9HU9WNjk3B",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"oMmcyG29c8iK7NppnVHGcx",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"uCXv9kmZSPkBfAiRp688jH",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"2MLMRe971ACXtPr6TKkSZ9",selected:!1,dailyYield:54.45190129987361},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"m63BuQNzvckE5zp32Pnw8p",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"8HmQpAPE5ybDjjJmWPgtJy",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"pofnF8e5Bn6CnkFwwsd2mb",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:-7.983643923093517,cy:68.40825112249922,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"p7X7PWYKqawwVRyKWEqpsP",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"1Kr8Pa7CfCGfY9Tn1nbTfC",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"oRpi5CP9ZYynPy6bNyVZvx",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"bnjSVLBE8yuyRmD59Vpj5M",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"mxrBwLk3PBAc6DLtdHY9PG",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tCEaJXp5M1wEhEUpBtW2dn",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"nMM6ewc9ExA5TMPbfnv6Kz",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"n8s1FzD8MfqqBcK6r49KaJ",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"nH9Zop5fMNGnprvUp4Lndb",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jkAXkFfxDNxSdMms1xtkQh",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wrcKx46bR9u7RcdSgcckCp",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wS66DR1C6Yem5chszyHNyX",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"mYGta2zZcv5wvFcomHB8h7",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tK1eBhmW8y1nnsX8W3X9ga",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"8Ci425obALWeV7icrEGMh3",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"3A2AjfypMamwJFRbA3fDpb",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"iWsTN7vg5oFv8hHDnyjZDQ",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"gXTojLu2Qyb637Ho6JL7Kf",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tavpWfYoXMz3qMPdKYuYus",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"vR6bFNvW7QL6DHxH3K21u5",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jSCfJsog1e1sNpYz5PNhWW",selected:!1,dailyYield:54.615333619258955},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"eUyRyq3GvSH1aXZPres9zE",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"rDZgMEP11vSsiXW54EeeEC",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"fbaSKG8oqr7FZVwDxb6HR5",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"xAycaD99dwN2jw1eYE8Ajm",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jgSWeMLe27dY6x2hNzCmsw",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"sgwE3sAhyMWCJxEUC5V8m2",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"hNVN4iBp2cmmnSn75ekkgF",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tWdCrzBigxazk84saCEaTV",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"kQJuw3tnnSYASf2nicv61Q",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"qJWMwjmsMFnGLQ7tP8657U",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tsiY8ux1n2J8yeqE2sunzz",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wJKc8tsYNihwhLcJrfyUHp",selected:!1,dailyYield:54.794413203057466},{type:"Foundation",cx:24.06375725188695,cy:69.025369785858,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gEQRhWXA3HL6aJzGgTrAzv",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"1tz7amW9Vt4xEPqwef91Qx",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"sqvvuQJTZHqqySn6E4yYzm",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"28us4Wgm2qjx3DCcTdFLVV",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"mpqP9TF6Vrg7VCqRfcMiQu",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"f5qiT4VRUPdGpUjZXcsCx4",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"nTXZjqhzJBfTANgYD9vqjQ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"rgnTEBGw6Vs7Duns1brscG",selected:!1,dailyYield:54.92515905856574},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"tGKA519iyUSWpQ8wVPNFJY",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"36gvqnTqAbkoRPjVMK7ems",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"viuvE72Bw3v6bsArR6wpDL",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"ii2gGoQHtGShTH1opfyXnJ",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"wcNvEizmbvgCX8phLyizju",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"jxCiGYqKr7CGg8yTBhpkCm",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"aSt2wCgvcriyqmRzVHYc9K",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"b579K6wcGsFkd5krT6NwtR",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"2tXe7mE16iWBsHUwW9t9aQ",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"aEUirhH7z57xAhv18Lb7W8",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"4dXM3M8KmCej1LF8VHJ82Q",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"h15HDWZymQfADqEotRv4LM",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"x3Jjg4ZJhqJ9gBq8UJG8Yi",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"qfDWqhtKKj8PExp7dtRJhP",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"dQzc3rdMh6sEoS53j5m6LC",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"dFarDxb3HPmwwaAxStasmq",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"gJLG93xPyBxAvQZy1eFr9c",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"5gNcrnds5MDuA88znfoVWr",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"7mL5Pz5pqsdiMAMyaHTbZn",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"3Uic4JFDxCdyp5oDg5ZLjd",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"14ENGCWNQVrrvGhEToEBLF",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"qMfSQPipp6HAYm2FfTRsJk",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"xxoYKaPf4MobsN7VjTosNC",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"9MQxESnXS7CKvarDbKvrgD",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"cVpFdWbUmKZPYFqiQr279G",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:59.02948227812328,cy:69.3080716212459,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4cePh2t5mTkfEKXcWmB48u",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jesMtDuJVoPzLUmYETT89Y",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"97DnJZE3VTJfvvv6WzSRBx",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"vLPycCjUNJMSVTRtdj87XE",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jPB61vSkRGEcXezoyJ9S3X",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jULEb9dCHn3aTywUeHy3Qk",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"9Pa2h5sxqEBhqE3KgZbB6Y",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"se2JtcnQNE96z1Aum4EP1p",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qfZULw2aGPUTLCVySZhcyp",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qWNJdtQvxfzJj25Q9ioKpB",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"bxmvcGXZuBN8ktU47D4qP6",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"aNn3VE1DQvLpKgE5hUztNH",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"4mrZamvWvRpkYyqFS7RJH7",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"kiUHJLZUPqkGhKHBaWrqz7",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"uGSXR3GUiGp8nT3strVk7J",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"a1tN8yxLHdTXbX8ex2fpZB",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"s5oswXys4g8p8gmSXQvhkY",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"3D6zM2RHwSJFo7RfUTRyjT",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"cAzviKAUbsLWBdNTADoifP",selected:!1,dailyYield:55.13692510624132},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"ohGxTVAnBTQUju6j187cfL",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jGoKYV4BSgv6J6296BizzQ",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"pPTV9qje8c7Wfg3GZqDMP2",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"x7uhR1kYgxibupXzAN9oWq",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"inz76DVy6KaN3KVR3CkPpG",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"dY4oZaF8y7JXdRxLLuqg9F",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"gmBkncxUG8PdQJo2VaespL",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qirhM6vbtt83tpYszhnTaf",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"mRdCjwmZtRhDjNaoHZAsP7",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"bXjnb3U4gRd6Gra55HizMY",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"gTiRGPwLKRdtjktFgKt9hU",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"fFcZ5RiAU7SbEZpodham4W",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"rtWNXEr4TFs128rHeq3GAn",selected:!1,dailyYield:54.94219825802965},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"t2MHCbHPUk4iMrfBGmBEg8",selected:!1,dailyYield:54.99053198631988},{type:"Foundation",cx:90.89697850456658,cy:69.75067573550228,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6ufo5pBdzXZ7dduj1GnnjN",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fBXFhCMe9NByYzvxwGHn6i",selected:!1,dailyYield:55.267670961749594},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"4XR37wV3Mcb5e4xnto9S5W",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"bF47T7o7w6UzeEcadSPaEe",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"vDEGXq7dyykKUFPikw7ZQv",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"ib8cPgm3UdpJKVhC7u74X9",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fZnwkYdYn246TusSuwFy5d",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"npP5tD7NGDuPXSYzaKJSef",selected:!1,dailyYield:55.31739662509057},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fyCVrUXjd49v6w3fUmCpmi",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"aEvUZ9jmc1SE9AqaTs83sz",selected:!1,dailyYield:54.40356757158338},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"c1aNagv3k5EwQhxqv1nQKW",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3NCPuFUbbF4P3Uet9iqrKg",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"6sXkkWHPNQdQZGhmwNLthw",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"dC6pSLCpcbcZtkkLTZbGAP",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"sNDitQDQ2BGYEwghGZPxAc",selected:!1,dailyYield:54.40356757158338},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3AapXAvkjJa5rztXETgT3X",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"1sKKkXtyuaMN8kgH5vX2ow",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pJSWbff7eW8x3ExEm8MBdv",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"j6c75GwBD7xrTUdv8qzwcW",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"2DRktLVHmu4BwC4tYrV1hj",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"nRxkdY7Y2yR2SriqiuWofB",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"x5RkBxY41nZxXDJuxoiDZr",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pixrQQvfkddWpaEq8muTrJ",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"jnLvvVhZEPeAJ2hpXvtXHJ",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"4xUoTNJFMJTerAQEErQ895",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"rkAQYL64Uuf379mtTX5GQL",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"rSMGuNL6giL7Nj4oWDSndP",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3mr4Yjw79aApbRSuyrtamK",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"nHYzCZrgSVVxvF52MMmEG2",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"idcvngByfHJwgkBsh65JbP",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pKoUwgWmomU9tDX1avSdQc",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"7LDpCzc3zBHLv6JhymAwbQ",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"dowp1omeYXWab3j1K1meZc",selected:!1,dailyYield:54.58264715538189},{type:"Foundation",cx:-136.49179476446375,cy:-67.2349056273395,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dzMWxWAUm13nPZAnV26ojB",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dKV8idVwG1PoPzaqAJySn3",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"1ahCnzARH22rtYMg3xC75a",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"bGQnA5qfcBJLc7EFesifJ5",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6abDjWSHbyPb8tqD7whFWE",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pMaHgYpvL812956oXKBJ9T",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"vxBLBNexEATeuUVFW6UUb7",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"uEpK7NuFxhDZu1zciefV9E",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"adThs3Jwyt44gCESDNcupo",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"wJBFAEWUBufYWoCYyAAkDL",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6fBBqnwyNxUJ2Mv27sMzNz",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"xku6MhBdpC6odzRtL5Rhsi",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dCqY1YvNDa7QjZLsD7an8D",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6yKCwMuBAuUpAxR3UkM2qV",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"9QuEw2Qd3kdbe2VGUtFG6d",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"fDUJgpBZqufUYAcgUpEYy4",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"7tpsaUo8qyex4qWWrRQa3Y",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"ac73uiJL9mDwp2h2qMBea1",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pvYusR6DDwKSrhWjzrsGjq",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"fUxcXs6rResj8vGRQz5ADd",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"34XDNLYmgiixgYDTAvdY6U",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"eKnBHRagP12sRw2eHV4EFo",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"cKEXyvhTD3Jnxtg5cg1jRA",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"ngLd2mnBcPdF96nEdG4hH9",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"4YV65NmWmmduXoMXuWXF1E",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dS2vQTwT6npH9US2Zjk7gd",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"nMbEzttfGVfwZJkAqwxiCa",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"tj5fHasfEFBxmjBHiSYX8G",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"2EuhpNKcNgCnC7mXhnzorq",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dv9DT41y2eu8dhEh4A3yNF",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"7eHHdrZwkycM3igK47ofVH",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pCMNdpEm3dUbZoYetGhdYY",selected:!1,dailyYield:54.680706547013095},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"22NmQZ1gAa9u2oawRCihVS",selected:!1,dailyYield:54.696353811426256},{type:"Foundation",cx:-105.74245630035185,cy:-67.46785516115864,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bpYaYqzqY3rwTa3pPHPzsL",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1D6qDwX2642TSZjwoFxp1o",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"79HAKLb1ozK2c7orEPVJkH",selected:!1,dailyYield:54.97349278685597},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"5Vymv5eq4ELiQdmdiH3zah",selected:!1,dailyYield:55.561849136643225},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"pQHHxi2uivDT6Eyv2TuxUD",selected:!1,dailyYield:55.561849136643225},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"wYhFkccfy25pvdRqXmjnun",selected:!1,dailyYield:54.778765938644305},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"aPgo7xUpbQpZnXsiNJF8SA",selected:!1,dailyYield:54.680706547013095},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"rc8sJmCgWcU8UzU4JU3Kw6",selected:!1,dailyYield:55.12127784182816},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"5uahGH6BqWfKU45xu5Z7hc",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"nsB8mr2bSHrM3jbtnehkjJ",selected:!1,dailyYield:54.53431342709166},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"mLbDv1g21nFPG8JjeviDLa",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"jkmjUdZvVvxK9WkLnnBg8p",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ouSXNghPew3qYnTQVWfbqs",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"nrR2uHdaQAetCD1csDMzph",selected:!1,dailyYield:54.90811985910183},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ckYt1vWJgk2MaNakWvCWDB",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1FbV4HWSJjuWDo48s8WtNC",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"pGqN7t92fsi5d33uxuhFsb",selected:!1,dailyYield:54.97349278685597},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"9L7EiSKGotVbt799fBQeRb",selected:!1,dailyYield:54.90811985910183},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"bZ4hdZiNXSoXxokpbfP7nE",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"9hsKHsCGSPXrbjVLVZXWCf",selected:!1,dailyYield:55.00617925073305},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"wMRsqsB2mCNkXsKr5ZvPtC",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"suUFWEjxFaYuPL9peoDRUZ",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1br5Ptt8Qo5SkEHqCXrKQH",selected:!1,dailyYield:54.89247259468868},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"xeafcWLVFe1one4Js1pXaR",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"3j8HSQdHpYxreAKw5y5Bkz",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"bC1ox3NKLCGdZfDSV4qRXK",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"hkihnoDGLJybUfZp35LbaG",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"dYLEbK9Ss1w4eXNB1RSBGR",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ji6Bm928LBgZcFZDw5fDhy",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"gm6jD4HivZTs4uDmzromYL",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"hZR3rVvnhKsbGZa4pLQ11g",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"eyyDyyuNjfTg6Y8wmcxG2q",selected:!1,dailyYield:54.42060677104729},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"7PGJWm4Bn6jqjn5Eb529RY",selected:!1,dailyYield:54.58264715538189},{type:"Foundation",cx:-69.6352785584022,cy:-65.93887331983836,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6669FrAcRV3S1zPTB9p18F",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"iS8NizYAfM6n6dgKCGDkwv",selected:!1,dailyYield:54.74468753971649},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"5Ye58UjYKG719ktcep3oWk",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"ukPSHKyKbjrFbSUb7RzBEh",selected:!1,dailyYield:55.463789745012015},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"gCVedoD7SGFMxpqX1BUzZW",selected:!1,dailyYield:55.496476208889085},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"jbPAKMEf4mqFWYPZcJDbNe",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"p7dszGFjLEqeSwRLS7YHf1",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"aT4txGfZfiz8jnLoTt526b",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"sUsodPeEocPvCNDkqZrChb",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"8sk1PSP4vENQgztEKC8ci1",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wqNWA2TwVSjRxwkYLtZDGZ",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wH4wDZFpfKNiNZpVSSMhFY",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"oFBt69EzGbvtWDmu6DoojJ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kVJKwRjK96o6qVyyzwvEUm",selected:!1,dailyYield:54.679314611962354},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wBrBDkpM8dEK4tQLmeUW6y",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"oo6K8agu94JQM84kjwrLGA",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"4irYSEA5i5W5Qi3FuQt5ih",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"af8MTE54DUeM1YcvKoYVA6",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"4LjL7VHsRNfpcY2YcLMhwp",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"ourSR4BHMyPDVKp3JHbdTq",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"k7JMDUAGSNprBURCCpXbTb",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"rzQQtjfoDHwc96srYFxFk9",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kbtkW68kECiya1MGK4SY4y",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"79XY6D5Gd3dVECNy7jBKbr",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"8bnYakac6VrGEmETQMhGbi",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"2tr95qfXgv3jeidzJqoEEV",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"1T5fYcG2xLGDVaN4z2JSWd",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"czRX6XaVxvjtAd645B3nWJ",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"vThmrfLj2hfoaoHNntpY8P",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"mCVKJe8iq8UGLRopTPrpSP",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kuonS1nfmLfp2iiXTgTfic",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"q3pJDWhsopJsaMjH8Z3EdK",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"xdV86xg96dfo2s3n5YjM1n",selected:!1,dailyYield:54.59829441979505},{type:"Foundation",cx:-37.95414195901416,cy:-67.00195609352035,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vDDupUZXQLcUBaqR8LHXzz",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"eUEn8apMEdg9tiLabGz99t",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"paR3Ac8yX4Wj7SiJJdFXph",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2Y1fnFxyWV8UXrjDxD5Hyx",selected:!1,drawSunBeam:!0,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"v8QgWidDb6xTCTfyAfsDG2",selected:!1,dailyYield:55.2676709617496},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ftqZQ7zoxGXDJ4KzFQVvaR",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2uCAP6MhpPQYVndbGTMe2B",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"8938SbXAZNkxeYq1PAuYkn",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"rvoQ2mMYFP66Qhmnt8EKxF",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"f7SvtPUPo466Q4gJ9TnSPn",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"3kyNNxHidQMjQts3HyRhrm",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"pxogXCDeccjCLr1EFcuCgo",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"hBNssdFnqaWt58JWz26Zha",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"heoastLWiYga5S3WuMv9kh",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"aTSKWJPxGZKnFrLPA4VLgM",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"rtnU9Cenb7sZyKwXZGLfCQ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2ueZ5Jrv5E5nXkCc6dxQAF",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"jqQxC81KzsmLW8AWVEDxZ5",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"dm73L8CEvXMjt8jmGDoHDz",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"wc6yJGXKbguZXGWm3uUiyz",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"5Mbqu9AgKWy9HDTcgGMTCX",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"vmwgb4DfHsDq31536bgoww",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2hsXtqWkNaFi1euvqpPnYN",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"gCnCmzsBCPWaiJfR4rk7n1",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"mF2657hxSjuxtSYkQnHSaP",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"pdqUKVseiHvsXYpZYBkscF",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"qAF8msFvwwguymfMBR3wwa",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"7n56hxe7QepqRevx5NngGN",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"9P9xnvWAP12WSQGPWr2xtb",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ejCEMdNfsxgvQCqAEDzhBb",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ff9EG4MNoewWubqd37E7fM",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"7bnM4YQJTBLfksD89FPHBy",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"t2yUPd5YBp4D1eifVJ5Nzq",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:-6.040055825807073,cy:-66.303127392908,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mfej18wHzwCMqBLG9Vysw1",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"qXxaLHK5jDA7AhqzmRAQ66",selected:!1,dailyYield:54.615333619258955},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rjuAkDcMzUTa9fqXQamSY4",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"j87SthvfTm3rDWWm41tUR5",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"uh2HZmC683cEXyJZGLkwBJ",selected:!1,dailyYield:55.30035742562667},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"81esia6veGyAKewVMXNFHX",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"s14QyCHUodJj48ZcvmrHtn",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"87ZJEPRDaSsfRqqgULdNjb",selected:!1,dailyYield:54.48597969880142},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"eJdVsoPdU4es7XLBMBBB1n",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"fhL62UbzsRCcxH8gsKRMND",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"8iHidnxMDDHGCmryeJeacP",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"8RJziVcJjiF46EfKhhZeBN",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hyYrjR5SLCyDEXyYT3xm9u",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rJnFSCbaHKosPa2KmZE9Bu",selected:!1,dailyYield:54.534313427091654},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"txjJKa7MeCk6ee1keKR2Rt",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"sH5mM8WkA56CcEGporWH7S",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hscqrLUfgPLdvLYLhecu3y",selected:!1,dailyYield:54.534313427091654},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"veWgK95yByHQ4KaXLUaYWX",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"oXFe1NucST916GSaKbGmVx",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"vyDbfHhDVVzLr6jCioEpsj",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"dyGU6GJcmCDKizMLYr19T4",selected:!1,dailyYield:54.501626963214584},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"v2i5cyjr9QNrJ63D31A2tc",selected:!1,dailyYield:54.51866616267849},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hpHcG6Em2ns9Vehj3Lz45w",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"tvqvfScTkqwPcBBULnCSx5",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rzPF17veSWTTiShfLGYVnU",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"7WUADDEEsLzZqJqEVL3xoM",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"aMLXH9cc7xjM8uQE7opRzx",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"2jBk9rtEn52EHUGX1e9utM",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"w9pxWfrZ7fBmNWnpSTPcQo",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"5qn6ZfWHFWZniAFZBD5G63",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"781z6sw1H3T6mBvH3ivKWb",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"gPpckDefdadY3m2KfYR5uB",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"2GF8pwx5gfMGBNrvsV4cmE",selected:!1,dailyYield:54.82709966693454},{type:"Foundation",cx:24.942232172123894,cy:-65.13837972381286,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4r9eq18jPmAo6KNP48KE97",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"v8WDAYVaovBCxpzwf6YKeb",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"pCnVs2rYUiypfZGE44GDhJ",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"5UiMA8kgZaGL6jjafYMSVr",selected:!1,dailyYield:55.36573035338081},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dhsidTNuvFYqFyM52G8UzE",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"g7Z62RhyigqxTzLzSkQGs3",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qK59nEiAwb2wPANvX4dXSK",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"r3JeuhY8zBG7SMPQtUacQZ",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"c4ZyVQcaD3vFS8aULE9spN",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"24MgYUmNGEdTzMEVjyvfWF",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"h2bAX5kxShkvLfLaLDJQnm",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"wSzqjZ1GP4g9CcLekersFg",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"t1LDu4rZgpXXmkj2eWc9T6",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"19vo4GuhGG7PWJqkt5ZWcD",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qMnf48SWj4EjJpDb7yeb5y",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qiNpaX9J1nJiB8PCJHwymU",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"rSdy4au4BWa65hP34cwhoZ",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"hPCibkbgsWPQByvQM8s8hM",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"8t16ViMQHmuRQ58XsMeEsu",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"m1UycnGk9QvgoR2crWwbud",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"jVNiFDPeT2ctjGPL4mv22f",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"cSWfM55n5PeKkoqEpPtaHH",selected:!1,dailyYield:54.72904027530333},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"uJwZ7KjG5UFJTZAN98LQcB",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"fBg69qhp7ssDM4U3Vakj97",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dSLRdtVjTfCKhzP9vT6G4u",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"4a2kYuMS6iygwh4hTzF2xm",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"9N9XBekvGdtNubUKdz9bn6",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"tq9YQmjCLAfqC4otgQvkux",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"gfvtY6D8uZN4TPnY24yVxr",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"bPqXD8n7NUMT1fhPbkkkN5",selected:!1,dailyYield:54.72904027530333},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"jZr1iAB28GDzKvvD8ExZeZ",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dFApM3YHu3Y78M2Xo4kwFU",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"rmGs8zD7XyqBcjkDXAjzGQ",selected:!1,dailyYield:54.61533361925896},{type:"Foundation",cx:60.35056131261639,cy:-65.60427879145091,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kduQAydye3uLbFTr64JfDC",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kv7G6eNq8xQ9gr29A4PgeE",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1gywdTnVmZkqwtFNXrcTHj",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5DvXaqZe44KDk9xuKtfUm8",selected:!1,dailyYield:55.365730353380805},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"ixZhNJFXp4ZR66ypWaNH9v",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"4LbWLkGdGxj7kuRG5UeWgn",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"fCdWydwEmsHE8uPjWYkvre",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"537SCeuwcrKy3Yf9ezzr62",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"8iemrXgtr1quNdAfyKBdCA",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"c3kXvdwXEFnYcE9YGUQyxm",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uP29oRRT6aV7MGQx7YvD6o",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1AcDNXSU7HvWkLg54AmFDz",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"voUCWzXArc2R6oHvJaWZdi",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"oCzzzbWTzWQYAhZxeXvaLR",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uJ1SiuCEyFqZex6ZUex4r6",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1zp4QY7bN2mj5X1sZr69Xj",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"qpi2nj28QCtj6dALbpHWKm",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"595KUQMKKkRujsK9vxKPHq",selected:!1,dailyYield:54.94080632297891},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"oSWo7sjDPAaDfzLRN5A2vW",selected:!1,dailyYield:55.13692510624132},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"4yJVmHfw54xdbao6TurGH1",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5AQCSNeCEvo9GSvshqiwuv",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"iFNGVF4BnRB2CiUTeAUcpc",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uLsXN2FSFMdKv3wb2Xhtda",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"7fwh5kRqQ3ekm4dzKpbxi3",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kQtV2faB3UjVkaBSkjbaPM",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5a3j4AZWQSeQLoFe28cTFR",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"nXQKckZPXqHpq5g6AGp4mk",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"49gRZ5Q4VK9aZWKDCVqk5f",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"a6rEesiKY3XGANAtD57SGu",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"mmg6zETUeomJsq2ezeHSSw",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"6JQVhnyM7L2LNEiJt7duty",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"v8HDepiPpBYKNZPDtGgLgR",selected:!1,dailyYield:54.94219825802965},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kSEgPj4rJC7X5s13VYJGGv",selected:!1,dailyYield:54.99053198631988},{type:"Foundation",cx:91.09989977672836,cy:-65.83722832526995,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jQu4gCDNGHwChoQvBCFcvf",selected:!1}],Zvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!1,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:17,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#999999",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!0,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"hybrid",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[169.9816352402022,-225.19055272845807,79.13890608436596],panCenter:[-50.39035725869241,30.655635102579282,0],orthographic:!1,enableRotate:!0,cameraZoom:4.292775278858744,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[45.20884161437947,-65.0727374045762,19.999927173198625],panCenter2D:[45.20884161437947,-65.07271740368721,-7282678642197909e-20],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:8,showSunAngles:!1,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!0,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:-34,dailyParabolicTroughYieldPanelY:188,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicTroughYieldPanelX:null,yearlyParabolicTroughYieldPanelY:null,showDailyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400}},exn=1,txn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},nxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},oxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ixn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},rxn=[],axn={docid:Vvn,time:Gvn,timestamp:Xvn,userid:Jvn,owner:Kvn,email:qvn,world:$vn,elements:Qvn,view:Zvn,evolutionMethod:exn,solarPanelArrayLayoutParams:txn,solarPanelArrayLayoutConstraints:nxn,evolutionaryAlgorithmState:oxn,economicsParams:ixn,notes:rxn},lxn="cNGvmw7bdpjvKSnH8CxjiH",sxn="02/02/2023 02:10 pm",cxn=1675365059016,uxn="QWecNcxhyvP6j6sBN11hBsfZDau1",dxn=null,fxn=null,hxn={name:"default",date:"6/22/2022, 3:30:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},pxn=[{type:"Foundation",cx:-.042674723134280335,cy:-.130761486142406,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,solarStructure:1,locked:!1,solarAbsorberPipe:{absorberHeight:16,apertureWidth:1},labelSize:1},{type:"Fresnel Reflector",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.05,cx:-.02756165965335064,cy:.003002736834484595,cz:0,lx:2,ly:30,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"vb4n6chMKJoqTfuUfT9HH9",selected:!1,dailyYield:74.96105824171634,yearlyYield:2328.274834535053,label:"8",labelHeight:1,labelSize:1},{type:"Human",name:"Jack",cx:-4.020481691228474,cy:-25.616774473884036,cz:0,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Fresnel Reflector",cx:.028169913107493977,cy:.003853312047257671,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"hqQUyB5jvcbC5wykbyrwVq",selected:!1,drawSunBeam:!0,dailyYield:75.30871550026608,yearlyYield:2365.489808480604,label:"9",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.0839014858683386,cy:.004703887260030747,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3QNPRzuCQDcJYCHp3jv7xP",selected:!1,label:"10",dailyYield:74.47712896106862,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.1396330586291832,cy:.0055544624728038235,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"7vdajwavThEwB2PVAxNNhu",selected:!1,drawSunBeam:!0,label:"11",dailyYield:72.69243415263071,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.19536463139002783,cy:.0064050376855769,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"ca329ZjJaCCUxbohPB9JNR",selected:!1,drawSunBeam:!0,label:"12",dailyYield:71.32847705730514,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.2510962041508724,cy:.007255612898349976,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"wH1sLWUJu5DwjfBKCjHRy5",selected:!1,drawSunBeam:!0,label:"13",dailyYield:69.36645769952737,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.30682777691171703,cy:.008106188111123052,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"888jdzXbxdzvyBwsKnBVQU",selected:!1,drawSunBeam:!0,label:"14",dailyYield:68.18367399690828,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.36255934967256165,cy:.008956763323896128,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cLuiFeXqEUWZCxdsSWep75",selected:!1,drawSunBeam:!0,label:"15",dailyYield:66.51612857330484,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"2orgkforac6TmBbX5ogLWg",selected:!1,drawSunBeam:!0,label:"16",dailyYield:66.9454970041269,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.08329323241419526,cy:.0021521616217115187,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"qkYArzf5uqu6DZf4wA39gd",selected:!1,drawSunBeam:!0,label:"7",dailyYield:74.46542587169182,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.13902480517503987,cy:.0013015864089384425,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"gBW2TdctGGDx3xkrVbnnt2",selected:!1,drawSunBeam:!0,label:"6",dailyYield:73.42005146962971,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.1947563779358845,cy:.00045101119616536636,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"t8gE1dpvae7236xzWXFCVz",selected:!1,drawSunBeam:!0,label:"5",dailyYield:71.56039677787652,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.25048795069672913,cy:-.0003995640166077098,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"jfpJVaw3pqTBMP5EqV8WHg",selected:!1,drawSunBeam:!0,label:"4",dailyYield:69.76216278634425,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.30621952345757375,cy:-.001250139229380786,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cwXPC6JNrmx1jM5HPN3Bnj",selected:!1,drawSunBeam:!0,label:"3",dailyYield:68.34763018099684,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.36195109621841837,cy:-.002100714442153862,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"nQed4eP7gteAwQE8ekQJF7",selected:!1,drawSunBeam:!0,label:"2",dailyYield:66.89178735911106,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"gGEdWUHCti1PrRxJ7JDarq",selected:!1,drawSunBeam:!0,label:"1",dailyYield:66.97552153518168,labelHeight:1,labelSize:1}],gxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[-.18166570108404656,-45.01608727927176,13.053612747101962],cameraPosition2D:[0,-20000888987681265e-21,150],panCenter:[.5652994261175363,.42897477312561383,2.1550210855619265],panCenter2D:[0,0,0],cameraZoom:17.679830776572036,axes:!0,solarRadiationHeatMapMaxValue:10,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:245,height:60},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:721,height:335}},mxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},yxn=1,Axn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},wxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},vxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},xxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},bxn=["Linear Fresnel reflectors"],Sxn={docid:lxn,time:sxn,timestamp:cxn,userid:uxn,owner:dxn,email:fxn,world:hxn,elements:pxn,view:gxn,graphState:mxn,evolutionMethod:yxn,solarPanelArrayLayoutParams:Axn,solarPanelArrayLayoutConstraints:wxn,evolutionaryAlgorithmState:vxn,economicsParams:xxn,notes:bxn},Txn="msDnM7uBZhbQmJD2hxtJqt",Pxn="02/03/2023 04:30 pm",Cxn=1675459824362,Rxn="QWecNcxhyvP6j6sBN11hBsfZDau1",Hxn=null,Mxn=null,Ixn={name:"default",date:"6/22/2022, 12:00:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},zxn=[{type:"Foundation",cx:.9362263534654288,cy:-.12687492649763793,cz:.05,lx:27,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,locked:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Human",name:"Juro",cx:5.337210314381737,cy:22.31208205622077,cz:0,lx:.6,lz:1.9,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Fresnel Reflector",cx:-.35253117677918383,cy:-.011856551439747325,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3QNPRzuCQDcJYCHp3jv7xP",selected:!1,label:"W7",dailyYield:31.890222330203017,drawSunBeam:!0,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.2286832373106403,cy:-.011005976226974253,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"7vdajwavThEwB2PVAxNNhu",selected:!1,drawSunBeam:!0,label:"W6",dailyYield:31.891895315467107,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.10483529784209675,cy:-.010155401014201173,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"ca329ZjJaCCUxbohPB9JNR",selected:!1,drawSunBeam:!0,label:"W5",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.019012641626446784,cy:-.009304825801428097,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"wH1sLWUJu5DwjfBKCjHRy5",selected:!1,drawSunBeam:!0,label:"W4",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.14286058109499036,cy:-.00845425058865502,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"888jdzXbxdzvyBwsKnBVQU",selected:!1,drawSunBeam:!0,label:"W3",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.26670852056353395,cy:-.007603675375881946,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cLuiFeXqEUWZCxdsSWep75",selected:!1,drawSunBeam:!0,label:"W2",dailyYield:31.794492804033993,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.3905564600320776,cy:-.006753100163108869,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"2orgkforac6TmBbX5ogLWg",selected:!1,drawSunBeam:!0,label:"W1",dailyYield:31.9307477575622,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Foundation",cx:14.471950838588711,cy:-.06574070597754514,cz:.25,lx:2.9789007603004762,ly:40,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"1X6Dcn8HZPSPCzJkugC2rm",selected:!1,locked:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Fresnel Reflector",cx:-.35253117677918383,cy:-.011856551439747325,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"9VYUH8fPAbbYtPyjX2bXhM",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:32.07623689276002,labelHeight:1,labelSize:1,label:"E7"},{type:"Fresnel Reflector",cx:-.2286832373106403,cy:-.011005976226974253,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"oZQVT7upKS5gxcv41KySPP",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:32.022177742145026,label:"E6",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.10483529784209675,cy:-.010155401014201173,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"fscHgrZH2yNiKzCaZR3ZeJ",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827123715972846,label:"E5",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.019012641626446784,cy:-.009304825801428097,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"jnn6CBMvkkU1925yAPrHAB",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827443563442092,label:"E4",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.14286058109499036,cy:-.00845425058865502,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"hJhtsSd1FMChUsTYyy5v9N",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827443563442092,labelHeight:1,labelSize:1,label:"E3"},{type:"Fresnel Reflector",cx:.26670852056353395,cy:-.007603675375881946,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"6CbyGsZ43oQRJAfjen8bXu",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.946909343510214,label:"E2",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.3905564600320776,cy:-.006753100163108869,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"rKXjH4ndrtiJLk3pNba97R",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.888037304879255,label:"E1",labelHeight:1,labelSize:1},{type:"Foundation",cx:-.5305173175473676,cy:-.07406922653934842,cz:.05,lx:27,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"uPxivXJTh4z2zMrqhzNvo3",selected:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Foundation",cx:-13.207999911998343,cy:-.09629786579027738,cz:.25,lx:2.9789007603004762,ly:40,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"qFoXmrcbqf43nhfNvsKiMV",selected:!1,solarAbsorberPipe:{absorberHeight:10}}],Dxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[-3.9192694742317027,38.575338391462196,5.805467125820184],cameraPosition2D:[.0944682441377376,-20000888987681265e-21,150],panCenter:[-5.512894960875013,.5401536354068696,3.9025189352350482],panCenter2D:[.0944682441377376,0,0],cameraZoom:14.400332666460274,axes:!0,solarRadiationHeatMapMaxValue:10,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:379,height:67},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:701,height:335}},Exn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},kxn=1,Fxn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Lxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Wxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Nxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Uxn=["Linear Fresnel reflectors with two absorbers"],Bxn={docid:Txn,time:Pxn,timestamp:Cxn,userid:Rxn,owner:Hxn,email:Mxn,world:Ixn,elements:zxn,view:Dxn,graphState:Exn,evolutionMethod:kxn,solarPanelArrayLayoutParams:Fxn,solarPanelArrayLayoutConstraints:Lxn,evolutionaryAlgorithmState:Wxn,economicsParams:Nxn,notes:Uxn},jxn="91fFrr9emvLvmNx1sW7PMh",Yxn="02/03/2023 04:20 pm",Oxn=1675459240163,_xn="QWecNcxhyvP6j6sBN11hBsfZDau1",Vxn=null,Gxn=null,Xxn={name:"default",date:"9/22/2022, 10:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.4},Jxn=[{type:"Human",name:"Jack",cx:-33.39710614584251,cy:-.9610066908384169,cz:0,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Foundation",cx:0,cy:-25.811344633762367,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"dzfAzy3H4GMkDSbVLaRN5i",selected:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"rBPLpQDftUWGq1uWVpV2JQ",selected:!1,dailyYield:46.64633299683992,drawSunBeam:!0,label:"Lo2",yearlyYield:547.7275410650782,labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"1FVTFf1Rdrpbt8TCGDL47X",selected:!1,dailyYield:46.68721550672282,label:"Lo1",drawSunBeam:!0,yearlyYield:547.8648836504849,labelHeight:4,labelSize:2},{type:"Foundation",cx:.20390682574577923,cy:26.830878562482944,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"5Xds31NJFC5WSWmddVnFan",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"t7wce5cujudUUycMCvBAKg",selected:!1,dailyYield:52.29842954176333,drawSunBeam:!0,label:"Hi2",labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"pU7aF7BDdSD7JUWEzZrwg7",selected:!1,dailyYield:52.33859564683257,drawSunBeam:!0,label:"Hi1",labelHeight:4,labelSize:2}],Kxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[53.11784569640703,-95.69780414866537,24.112920613071175],cameraPosition2D:[0,-20000888987681265e-21,19.999999999987022],panCenter:[.3487591244720869,-.08601128946324002,0],panCenter2D:[0,0,0],cameraZoom:4.904200711979575,axes:!0,solarRadiationHeatMapMaxValue:6.5,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:404,height:64},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400}},qxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0},$xn=1,Qxn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Zxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ebn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},tbn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},nbn=["Effect of height of absorber pipe for Fresnel reflectors"],obn={docid:jxn,time:Yxn,timestamp:Oxn,userid:_xn,owner:Vxn,email:Gxn,world:Xxn,elements:Jxn,view:Kxn,graphState:qxn,evolutionMethod:$xn,solarPanelArrayLayoutParams:Qxn,solarPanelArrayLayoutConstraints:Zxn,evolutionaryAlgorithmState:ebn,economicsParams:tbn,notes:nbn},ibn="vKXC3Vu98tLTj5EYPySBoM",rbn="02/03/2023 04:23 pm",abn=1675459380199,lbn="QWecNcxhyvP6j6sBN11hBsfZDau1",sbn=null,cbn=null,ubn={name:"default",date:"9/22/2022, 11:00:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.4},dbn=[{type:"Human",name:"June",cx:-33.350601086935164,cy:22.419888505407727,cz:17763568394002505e-31,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Foundation",cx:0,cy:-25.811344633762367,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"dzfAzy3H4GMkDSbVLaRN5i",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"rBPLpQDftUWGq1uWVpV2JQ",selected:!1,dailyYield:52.29842954176333,drawSunBeam:!0,label:"NS-E",yearlyYield:547.7275410650782,labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"1FVTFf1Rdrpbt8TCGDL47X",selected:!1,dailyYield:52.33859564683257,label:"NS-W",drawSunBeam:!0,yearlyYield:547.8648836504849,labelHeight:4,labelSize:2},{type:"Foundation",cx:.20390682574577923,cy:26.830878562482944,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"5Xds31NJFC5WSWmddVnFan",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"t7wce5cujudUUycMCvBAKg",selected:!1,dailyYield:51.241946460146316,drawSunBeam:!0,label:"EW-N",labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"pU7aF7BDdSD7JUWEzZrwg7",selected:!1,dailyYield:36.12397534329661,drawSunBeam:!0,label:"EW-S",labelHeight:4,labelSize:2}],fbn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[33.85725619257774,-80.53017579058466,26.560297986535087],cameraPosition2D:[0,-20000888987681265e-21,19.999999999987022],panCenter:[.3777068394391828,-.13846137164171785,0],panCenter2D:[0,0,0],cameraZoom:4.904200711979575,axes:!0,solarRadiationHeatMapMaxValue:6.5,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-5,dailyFresnelReflectorYieldPanelY:2,stickyNotePanelRect:{x:0,y:0,width:362,height:61},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400}},hbn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},pbn=1,gbn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},mbn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ybn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Abn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},wbn=["Effect of azimuths of Fresnel reflectors"],vbn={docid:ibn,time:rbn,timestamp:abn,userid:lbn,owner:sbn,email:cbn,world:ubn,elements:dbn,view:fbn,graphState:hbn,evolutionMethod:pbn,solarPanelArrayLayoutParams:gbn,solarPanelArrayLayoutConstraints:mbn,evolutionaryAlgorithmState:ybn,economicsParams:Abn,notes:wbn},xbn="5syPiYyaezKe2cX7XoDs2h",bbn="05/07/2023 07:59 pm",Sbn=1683503972972,Tbn="QWecNcxhyvP6j6sBN11hBsfZDau1",Pbn=null,Cbn=null,Rbn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},Hbn=[{cy:-.041483328317633114,normal:[0,0,1],lz:.1,ly:56,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.10913665374106213,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!0,solarPowerTower:{towerHeight:20}},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.0004895609926147317,cy:-.20737855784061227,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,label:"S1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:25.54362655315038,yearlyYield:311.4614380820491,labelHeight:2,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:-.000773921356256882,cy:.4327509634160523,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,label:"N2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:28.83063075372236,yearlyYield:341.6536704139208,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0027886687628078007,cy:-.41384481120536054,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,label:"S2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:23.21442400772718,yearlyYield:285.77957159626914,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.003581112158779376,cy:.2256213567639617,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,label:"N1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:29.15082293688426,yearlyYield:347.0340046876023,labelHeight:2,labelSize:2}],Mbn=35,Ibn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-59.813021886337346,-1.4084528562656211,7.556432837410264],panCenter:[-1.9086832692892528,-2.9483395065245706,7.55643283741026],orthographic:!1,enableRotate:!0,cameraZoom:7.169718448170838,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725703],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:8.5,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:2,y:4,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:315,height:67},solarRadiationHeatMapReflectionOnly:!1},zbn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},Dbn=1,Ebn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},kbn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Fbn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Lbn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Wbn="Unknown",Nbn=null,Ubn=null,Bbn=null,jbn=["Cosine efficiency of heliostats"],Ybn={docid:xbn,time:bbn,timestamp:Sbn,userid:Tbn,owner:Pbn,email:Cbn,world:Rbn,elements:Hbn,sceneRadius:Mbn,view:Ibn,graphState:zbn,evolutionMethod:Dbn,solarPanelArrayLayoutParams:Ebn,solarPanelArrayLayoutConstraints:kbn,evolutionaryAlgorithmState:Fbn,economicsParams:Lbn,modelType:Wbn,modelAuthor:Nbn,modelLabel:Ubn,modelDescription:Bbn,notes:jbn},Obn="gHMiemdnJcFMUxpQfVjjPt",_bn="05/08/2023 09:52 am",Vbn=1683553944140,Gbn="QWecNcxhyvP6j6sBN11hBsfZDau1",Xbn=null,Jbn=null,Kbn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},qbn=[{cy:-.1414833283176331,normal:[0,0,1],lz:.1,ly:100,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.06913665374106212,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!1,solarPowerTower:{towerHeight:20}},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.1,cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:28.86248835017146,yearlyYield:311.4614380820491,label:"F",labelHeight:2,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.1,cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:22.075493423258955,yearlyYield:341.6536704139208,label:"D",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:17.32894620185682,yearlyYield:285.77957159626914,label:"C",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:21.79675399494804,yearlyYield:347.0340046876023,label:"E",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"orwNVrz2FK5fQamnSTQ7NK",selected:!1,drawSunBeam:!0,label:"B",dailyYield:14.05825681568513,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7KyZAKPiHLomhbx7U5u64Y",selected:!1,drawSunBeam:!0,label:"A",dailyYield:11.010081200524054,labelSize:2,labelHeight:2}],$bn=63,Qbn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-56.03492924888614,-3.1393903550330142,35.62950235618159],panCenter:[-1.9088390832554354,-2.9523520368213196,7.55643283741026],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,150],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:9,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:6,y:-5,width:531,height:342},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:397,height:62},solarRadiationHeatMapReflectionOnly:!0},Zbn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},eSn=1,tSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},nSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},oSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},iSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},rSn="Unknown",aSn=null,lSn=null,sSn=null,cSn=["Shadowing and blocking among heliostats"],uSn={docid:Obn,time:_bn,timestamp:Vbn,userid:Gbn,owner:Xbn,email:Jbn,world:Kbn,elements:qbn,sceneRadius:$bn,view:Qbn,graphState:Zbn,evolutionMethod:eSn,solarPanelArrayLayoutParams:tSn,solarPanelArrayLayoutConstraints:nSn,evolutionaryAlgorithmState:oSn,economicsParams:iSn,modelType:rSn,modelAuthor:aSn,modelLabel:lSn,modelDescription:sSn,notes:cSn},dSn="gtHUqK811PpHW2AhT3pgKh",fSn="05/07/2023 08:01 pm",hSn=1683504079394,pSn="QWecNcxhyvP6j6sBN11hBsfZDau1",gSn=null,mSn=null,ySn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},ASn=[{cy:.09432031355470513,normal:[0,0,1],lz:.1,ly:100,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-23.979659433364148,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!1,solarPowerTower:{towerHeight:10}},{type:"Human",name:"Jade",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.6},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:29.12957022220564,yearlyYield:311.4614380820491,label:"L6",labelHeight:4,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:12.632105204416524,yearlyYield:341.6536704139208,label:"L4",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:8.640669150547245,yearlyYield:285.77957159626914,label:"L3",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:15.667514658355707,yearlyYield:347.0340046876023,label:"L5",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"orwNVrz2FK5fQamnSTQ7NK",selected:!1,drawSunBeam:!0,label:"L2",dailyYield:4.958857907473794,labelHeight:4,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7KyZAKPiHLomhbx7U5u64Y",selected:!1,drawSunBeam:!0,label:"L1",dailyYield:2.355020886123749,labelHeight:4,labelSize:2},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,lx:.6,ly:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"e6VoeQYymGEdypZkwyg1QM",selected:!1},{type:"Heliostat",cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"j3sWeAPDp1y53hV9TKpY1X",selected:!1,drawSunBeam:!0,dailyYield:28.834554606358278,label:"H6",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"txZLYrcQ93XFhrpdAsV7Mp",selected:!1,drawSunBeam:!0,dailyYield:22.049770857324166,label:"H4",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"9uaB6ZaFJqdfwW82X3mBGL",selected:!1,drawSunBeam:!0,dailyYield:17.30899182389923,label:"H3",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"wQcg7xgoQBPNeT1VLa2pPS",selected:!1,drawSunBeam:!0,dailyYield:21.74570231867697,label:"H5",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"xcPfzQdhBUHxAytCA4wYay",selected:!1,drawSunBeam:!0,dailyYield:14.042308959831052,label:"H2",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"5otXu1RaMdbKFrMqe75zLT",selected:!1,drawSunBeam:!0,dailyYield:10.99900401218998,label:"H1",labelHeight:4,labelSize:2},{type:"Foundation",cx:23.933804465569864,cy:-.09788249795398585,cz:.05,lx:48,ly:100,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarStructure:2,id:"kyxcYJvhUNP9YHtYNAZTvQ",selected:!1,solarPowerTower:{towerHeight:20}}],wSn=63,vSn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-65.26004925031205,-40.981584348790705,10.926967172602236],panCenter:[-8.555794568197623,-11.649776058982166,4.3178318413222065],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725564],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:6,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:252,height:65},solarRadiationHeatMapReflectionOnly:!0},xSn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},bSn=1,SSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},TSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},PSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},CSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},RSn="Unknown",HSn=null,MSn=null,ISn=null,zSn=["Effect of tower height"],DSn={docid:dSn,time:fSn,timestamp:hSn,userid:pSn,owner:gSn,email:mSn,world:ySn,elements:ASn,sceneRadius:wSn,view:vSn,graphState:xSn,evolutionMethod:bSn,solarPanelArrayLayoutParams:SSn,solarPanelArrayLayoutConstraints:TSn,evolutionaryAlgorithmState:PSn,economicsParams:CSn,modelType:RSn,modelAuthor:HSn,modelLabel:MSn,modelDescription:ISn,notes:zSn},ESn="nAyY3ZutnSxurzmrfiodKh",kSn="02/02/2023 02:25 pm",FSn=1675365924087,LSn="QWecNcxhyvP6j6sBN11hBsfZDau1",WSn=null,NSn=null,USn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"6/22/2022, 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},BSn=[{cy:34.18220646310374,normal:[0,0,1],lz:.5,ly:87.56100860949408,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.8683182685289808,cz:.25,rotation:[0,0,0],lx:168.62126759233155,selected:!1,parentId:"Ground",locked:!0,solarPowerTower:{towerHeight:40}},{type:"Human",name:"Jamelia",cx:-3.2033162315728436,cy:-1.3034178512198427,cz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"eskWrngRsrfsVxitmEFwUG",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.65,ly:.42,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:.34571115088529475,cy:-.2182979146294524,cz:0,lx:6,ly:8,lz:.1,showLabel:!1,label:"4",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:54.973155818694394,yearlyYield:311.4614380820491,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:.1244528472135859,cy:-.060705471204835396,cz:0,lx:6,ly:8,lz:.1,showLabel:!1,label:"3",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:54.692955030942635,yearlyYield:341.6536704139208,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:-.30243530092478804,cy:-.29658463647807665,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!1,dailyYield:55.22294044579748,yearlyYield:285.77957159626914,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:-.00477734244411093,cy:-.22770720532833247,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!1,dailyYield:55.6028165469799,yearlyYield:347.0340046876023,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:.2323986704109312,cy:-.30954026005156543,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTbu5NQZzH6fiJzt2zLCpV",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.246534571972845},{type:"Heliostat",cx:.17980321076544034,cy:-.22890280592338727,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ugqyZH3Bjuab2xu6Qr2AeU",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.9189143477242},{type:"Heliostat",cx:-.07007093092536987,cy:-.1429741712580097,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7rmzdYXVhRoVennqPqJYd",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.28401806609266},{type:"Heliostat",cx:-.12643026558915396,cy:-.19914857752993684,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jSyunViQPLX4rv6KUBXXTZ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.779971752065364},{type:"Heliostat",cx:-.18298718147417048,cy:-.27344375998511217,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q1mgBumMQuofVfZ58dfPgn",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.56772790131693},{type:"Heliostat",cx:.28321098315789156,cy:-.26509916393356936,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1BaYAuYZtqhDEGCFRqXDcs",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.94218222804658},{type:"Heliostat",cx:.06201663035944478,cy:-.01790276609260683,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4sC4oY8P4gCm2XiADRkgDQ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.12412968997117},{type:"Heliostat",cx:-.005144086859809518,cy:-.11674424075888257,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k2hvdFozuZeFRMXA2gCxru",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.06448667864852},{type:"Heliostat",cx:-.07326553095576034,cy:-.027001203548432953,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5gLYoZoHmvvc2dfNpBoMHu",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.30383700152939},{type:"Heliostat",cx:-.13103631875140445,cy:-.07211289731219922,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoUTmK9iTzsVRu26aQmb6S",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.69974218752444},{type:"Heliostat",cx:-.1817498408877485,cy:-.14097184690480072,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aaDc1Nt2XKdpoCZWcocB2i",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.61502536288546},{type:"Heliostat",cx:.18334603588670687,cy:-.11254934524412023,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLKFf4eYJctoWDbAWu1oSp",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.28829012678498},{type:"Heliostat",cx:.22982519862747094,cy:-.18140829483672175,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"svsNMecQbfU155PmYUZ3Lt",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.28883413506117},{type:"Heliostat",cx:-.11063137798263967,cy:.05978827549506581,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5WMpX8TYy1KfLhVCYdMj1p",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.62627922938169},{type:"Heliostat",cx:-.17545943143758383,cy:-.015603192528220722,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rLs3CXHWy1yv3CpNwWpHSg",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.26549812503945},{type:"Heliostat",cx:-.24132724425771757,cy:-.08265006449996429,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYKv2L4bbvL99cSYqy9g78",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.848591160974706},{type:"Heliostat",cx:.03729458715293578,cy:.08164735499997032,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6h32hqP5LZJr3g6KkvENFf",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.08288958631672},{type:"Heliostat",cx:.11635572065921955,cy:.046540137502459215,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hJpPNqZeYCYBc9ZnrtL8rd",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.96978366441096},{type:"Heliostat",cx:.18181232346843626,cy:-.01341062139199849,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oKHW4guazpWYWFUbcAtx78",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.07324281354023},{type:"Heliostat",cx:.23064844077878674,cy:-.07172825838065355,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jGpvLznPcPbkxgRNT7LmEG",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.5263467357541},{type:"Heliostat",cx:.2818686549678243,cy:-.14348403247835934,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7v652Vk2Y4W8Ugs74iPYyx",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.3806127412903},{type:"Heliostat",cx:-.3082401794844816,cy:-.16518710728023572,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wmMQERU6EmYPAHq1HGq5G1",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.09853407023647},{type:"Heliostat",cx:-.24347189333908248,cy:-.21316221673228722,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qmEBaJnQ1mYuWRgutUUj45",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.81901883725212},{type:"Heliostat",cx:-.00513145231321694,cy:.17906460190084825,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hgFFjf5NE1fWwscAHtJz9W",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.9869366347695},{type:"Heliostat",cx:-.09086411123830242,cy:.16501351230124764,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5E44DCctaDCtPRiHgiN8Co",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.67185579391978},{type:"Heliostat",cx:-.17172399438050032,cy:.1304794438850842,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3FAf2Pb5iRxcMgjsAapYN",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.424415155619826},{type:"Heliostat",cx:-.24560426470951535,cy:.057288487088492074,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phQzzL3Mgfme6Exr5WqXA9",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.464335531506855},{type:"Heliostat",cx:-.3116400576517767,cy:-.015193358806695577,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gSGxJne57KgDvvhX1w8m4S",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.33972665483218},{type:"Heliostat",cx:.08972170224219679,cy:.15564611828308753,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nvkfziKtbczLEbZ9noiReH",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.803611978337365},{type:"Heliostat",cx:.171198129873129,cy:.11877020207620374,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e7BrgrYuxziAFGXqE8Paiu",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.234951957822524},{type:"Heliostat",cx:.23017733494925166,cy:.06724953811712991,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6E7Q93GeP3kP1LK9YLZv9E",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.62121496362152},{type:"Heliostat",cx:.2879404739413306,cy:-8679777502193404e-20,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSCCumTcS91dqnMuiik1qm",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.104806039406704},{type:"Heliostat",cx:-.04193210541538864,cy:.08393432126519293,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pmLUXug8LEht87AKuCxfbz",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.86211984880036},{type:"Heliostat",cx:-.37846374011465295,cy:-.11835014001933214,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o54KAWAv76mbgsJ1MBkyC5",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.835251993794415},{type:"Heliostat",cx:.34465672899242206,cy:-.0914088308517547,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f7h8FDUa15ALkGHaRaG5Hv",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.60557336298944},{type:"Heliostat",cx:-.3756811771658677,cy:-.2797037551261536,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2waE2goJnuKsD2ZPsCBxqm",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.239096027800045},{type:"Heliostat",cx:-.0055636104805840934,cy:.0022188088978148607,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5ovRP3PCZ5upU3ukAjjLY",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.57798820659272},{type:"Heliostat",cx:-.431634308052032,cy:-.21576415823811107,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jLzYFijeuhoktLs4FcLsmr",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.655113036860335},{type:"Heliostat",cx:.3946630399862396,cy:-.19563113598332482,cz:.5000000074506517,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b3S1EEPjMRL48HLhjJkhr2",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.25718216433262},{type:"Heliostat",cx:.12498761867946595,cy:-.17981546405024668,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aqxtvZXmbpAutc5KFCX7w3",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.07130415709169},{type:"Heliostat",cx:.07239701626792935,cy:-.14059769948158687,cz:.5000000074506517,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qn5fUEqKYEJLMaMGhD5V2c",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.18946575400989},{type:"Heliostat",cx:-.24287237174377305,cy:-.3185781749765691,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4t86vx9fAWouPiFQswUJGQ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.72330556669799},{type:"Heliostat",cx:.18153469158750113,cy:-.3291164926045614,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rufeUy74dsTyxkeFYKX4qa",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.045757801118675},{type:"Heliostat",cx:.12559565172148782,cy:-.27759582864548765,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6GXoab5MEeebRm4uGu1EG9",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.60344034574142},{type:"Heliostat",cx:.062360215351212084,cy:-.2448099515806225,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5TEya7XNeGuhPop6Pj6Es",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.12631354865891},{type:"Heliostat",cx:-.072015086935624,cy:-.24832272412328657,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eDoKDbTtFpnA5S8UAeT5JD",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.944324146238436},{type:"Heliostat",cx:-.12856215984365912,cy:-.30569800901213173,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bybZmMq5HCRUCdJHjru2JV",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.723474182002164},{type:"Foundation",cx:.18915570284600136,cy:-14.72071217951015,cz:2,lx:10,ly:10,lz:4,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"eskWrngRsrfsVxitmEFwUG",solarStructure:2,locked:!0,solarPowerTower:{towerHeight:40}},{type:"Human",name:"Jett",cx:-77.63892197350822,cy:-41.607852899711375,cz:.2499999999999991,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ipe6xTyA51gao39GpL4FGX",selected:!1,ly:.6}],jSn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Desert",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#b3b3b3",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-114.20211728357525,-13.511893921234794,7.261369217489994],panCenter:[-1.8505902264752938,-3.0386998652965884,7.261369217489986],orthographic:!1,enableRotate:!0,cameraZoom:4.292775278858745,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[30.004072506948148,24.229268474745034,50.000024229971295],panCenter2D:[30.004072506948148,24.2293184769675,2423000647812703e-20],solarRadiationHeatMapMaxValue:10,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:364,height:67}},YSn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1},OSn=1,_Sn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},VSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},GSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},XSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},JSn=["Solar power tower surrounded by heliostats"],KSn={docid:ESn,time:kSn,timestamp:FSn,userid:LSn,owner:WSn,email:NSn,world:USn,elements:BSn,view:jSn,graphState:YSn,evolutionMethod:OSn,solarPanelArrayLayoutParams:_Sn,solarPanelArrayLayoutConstraints:VSn,evolutionaryAlgorithmState:GSn,economicsParams:XSn,notes:JSn},qSn="cyN6tPCHQrmsUsTWTWV7Bq",$Sn="02/01/2023 08:28 pm",QSn=1675301282345,ZSn="QWecNcxhyvP6j6sBN11hBsfZDau1",eTn=null,tTn=null,nTn={date:"6/22/2022, 12:00:00 PM",timesPerHour:6,address:"Tucson, AZ, USA",latitude:32.2226066,longitude:-110.9747108,name:"default",orthographic:!1,cameraZoom:35,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!0},oTn=[{selected:!1,cz:0,cx:-2.454909082526056,type:"Human",id:"3NsNQgPftGsbYSoSRa2zV4",normal:[0,1,0],cy:-1.9037352844719955,name:"Jaye",rotation:[0,0,0],parentId:"Ground",lx:.6,ly:.6,lz:1.65},{cx:.20566332108722207,color:"gray",cz:1.3564241923192988,type:"Cuboid",lz:2.7128483846385976,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.646712311386908,cy:.10935014088128625,rotation:[0,0,0],lx:2.2290047878920136,id:"2QtCNEmEF6Mcs3vbbR96ZT",selected:!1,parentId:"Ground"},{ly:.1,selected:!1,type:"Sensor",showLabel:!1,normal:[0,0,1],lz:.01,rotation:[0,0,0],lx:.1,cz:.5000000000000002,cx:-.007027589631907428,cy:.03130304552555022,id:"iqgmPt2Nm3r4bW8A7g6DJy",label:"Predicted (Hor.)",parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{lz:.01,showLabel:!1,rotation:[0,0,0],cy:-.4999999988722324,selected:!1,id:"1GCXGRbm6nuTH23uA8Yngz",cx:.021624712729279145,normal:[0,-1,0],cz:.03360969587566309,ly:.1,type:"Sensor",label:"Predicted (Ver.)",lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"}],iTn={showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!0,autoRotate:!1,showGroundPanel:!1,yearlyLightSensorPanelY:4,stickyNotePanelX:6,mapType:"roadmap",weatherPanelY:0,shadowEnabled:!0,theme:"Default",stickyNotePanelY:0,mapWeatherStations:!1,groundColor:"#16cda5",heliodon:!1,dailyLightSensorPanelX:-19,axes:!0,showWeatherPanel:!1,dailyLightSensorPanelY:15,mapTilt:0,heliodonPanelX:-1235,groundPanelY:0,heliodonPanelY:7,groundImage:!1,mapZoom:16,showStickyNotePanel:!0,groundPanelX:0,weatherPanelX:0,yearlyLightSensorPanelX:-8,showHeliodonPanel:!1,cameraPosition:[8.133880295141486,-8.174433278152733,4.6847078485248606],panCenter:[4.464757127641991,2.597260416450505,.5357741885065452],orthographic:!1,enableRotate:!0,cameraZoom:28.63945562104857,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997991],panCenter2D:[0,0,0],showMapPanel:!1,yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},stickyNotePanelRect:{x:-5,y:5,width:339,height:74}},rTn=1,aTn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},lTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},sTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},cTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},uTn=["Solar radiation: Prediction vs. Measurement"],dTn={docid:qSn,time:$Sn,timestamp:QSn,userid:ZSn,owner:eTn,email:tTn,world:nTn,elements:oTn,view:iTn,evolutionMethod:rTn,solarPanelArrayLayoutParams:aTn,solarPanelArrayLayoutConstraints:lTn,evolutionaryAlgorithmState:sTn,economicsParams:cTn,notes:uTn},fTn="gbXM1tEmZzS8k1fXMr7e4c",hTn="02/04/2023 12:04 pm",pTn=1675530248432,gTn="QWecNcxhyvP6j6sBN11hBsfZDau1",mTn=null,yTn=null,ATn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},wTn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Window",cx:-.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.21,uValue:1.98,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"5cYjXS4vMUpWUASfp6LsaY"},{type:"Window",cx:.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edHVWga9uF8kxRK4efRqds",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],vTn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-5.192350773225651,-4.0711716850268145,-4027338022569633e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-5.192350773225651,-4.071321691694211,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[7.8185785102529906,-10.621731483534056,2.062041901327996],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.441463616067075,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.8531721737261184,2.5703581157054773,.7819560454316943],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-277,y:233,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-2,y:5,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-2,y:0,width:225,height:60}},xTn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},bTn=1,STn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},TTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},PTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},CTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},RTn=["BESTEST Case 600"],HTn={docid:fTn,time:hTn,timestamp:pTn,userid:gTn,owner:mTn,email:yTn,world:ATn,elements:wTn,view:vTn,graphState:xTn,evolutionMethod:bTn,solarPanelArrayLayoutParams:STn,solarPanelArrayLayoutConstraints:TTn,evolutionaryAlgorithmState:PTn,economicsParams:CTn,notes:RTn},MTn="rSjWfLHkJUuBXYDJVZ7K7Z",ITn="02/03/2023 07:07 pm",zTn=1675469237287,DTn="QWecNcxhyvP6j6sBN11hBsfZDau1",ETn=null,kTn=null,FTn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},LTn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:8,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Window",cx:-.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.21,uValue:1.98,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"5cYjXS4vMUpWUASfp6LsaY"},{type:"Window",cx:.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edHVWga9uF8kxRK4efRqds",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],WTn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[12.940867975227082,3.763083016970702,3785257595501958e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[12.940867975227082,3.7629330102992693,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[10.826418732519464,-13.023829528886234,2.75514975469418],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:713,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:41.010920913500534,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1192,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[3.447654823068404,9.854417213021707,.03152947137006695],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-168,y:465,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-32,y:11,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-4,y:0,width:200,height:60}},NTn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},UTn=1,BTn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},jTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},YTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},OTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},_Tn=["BESTEST Case 610"],VTn={docid:MTn,time:ITn,timestamp:zTn,userid:DTn,owner:ETn,email:kTn,world:FTn,elements:LTn,view:WTn,graphState:NTn,evolutionMethod:UTn,solarPanelArrayLayoutParams:BTn,solarPanelArrayLayoutConstraints:jTn,evolutionaryAlgorithmState:YTn,economicsParams:OTn,notes:_Tn},GTn="hCJ4qTBLMgzCCrmVBvT6Er",XTn="02/04/2023 12:05 pm",JTn=1675530329920,KTn="QWecNcxhyvP6j6sBN11hBsfZDau1",qTn=null,$Tn=null,QTn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},ZTn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kUbRYwVoGDc7GFwgriV2eg",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2bnQyuWKAaZeiivebKX7uN",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1}],ePn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-5.192350773225651,-4.0711716850268145,-4027338022569633e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-5.192350773225651,-4.071321691694211,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[11.427289283038643,-11.277019680971108,2.795880222169619],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.441463616067075,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.8699123691558452,2.578944652142625,.7819560454316943],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-277,y:233,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-2,y:5,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-5,y:-2,width:200,height:60}},tPn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},nPn=1,oPn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},iPn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},rPn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},aPn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},lPn=["BESTEST Case 620"],sPn={docid:GTn,time:XTn,timestamp:JTn,userid:KTn,owner:qTn,email:$Tn,world:QTn,elements:ZTn,view:ePn,graphState:tPn,evolutionMethod:nPn,solarPanelArrayLayoutParams:oPn,solarPanelArrayLayoutConstraints:iPn,evolutionaryAlgorithmState:rPn,economicsParams:aPn,notes:lPn},cPn="67HXdfbAHrwMfJ2uYxYEr9",uPn="02/04/2023 12:05 pm",dPn=1675530342623,fPn="QWecNcxhyvP6j6sBN11hBsfZDau1",hPn=null,pPn=null,gPn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},mPn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.05384985471511783,cy:1.4780044124957141,cz:2.2408122612280286,lx:1,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:[],rightJoints:["kFtcq9qJ814nEePHMgSpYL"],leftPoint:[.44615014528488217,1.4780044124957141,.1],rightPoint:[-.5538498547151178,1.4780044124957141,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pEW367Y1exs7be2pbQHztg",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Foundation",cx:4.561959864141299,cy:.16041396503555294,cz:.05,lx:2.922675695011217,ly:3.0478862418425114,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,showLabel:!1,id:"pVKekTH3vBaJDuKFqWJNR3",selected:!1,rValue:5.283308619189682},{type:"Wall",cx:-.05384985471511783,cy:-1.5219955875042859,cz:2.2408122612280286,lx:1.004987562112089,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["kFtcq9qJ814nEePHMgSpYL"],rightJoints:[],leftPoint:[-.5538498547151178,-1.5219955875042859,.1],rightPoint:[.44615014528488217,-1.5219955875042859,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vX5VrXQkMJaYbWcrM1Z6Lz",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.5538498547151178,cy:-.021995587504285874,cz:0,lx:2.9999999999999996,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Empty",leftJoints:["pEW367Y1exs7be2pbQHztg"],rightJoints:["vX5VrXQkMJaYbWcrM1Z6Lz"],leftPoint:[-.5538498547151178,1.4780044124957137,.1],rightPoint:[-.5538498547151178,-1.5219955875042859,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kFtcq9qJ814nEePHMgSpYL",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["vX5VrXQkMJaYbWcrM1Z6Lz","kFtcq9qJ814nEePHMgSpYL","pEW367Y1exs7be2pbQHztg"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",id:"sEJTDSykek3p5kyccPdUdD",ceiling:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jr5eRruUgVNaMyJ4BgMJfz",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"85V2NYuPDyi8cjwzsRQJ5n",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Wall",cx:-.05384985471511783,cy:1.4780044124957141,cz:2.2408122612280286,lx:1,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:[],rightJoints:["4vW6e4BZW3jyozPbqjnt5D"],leftPoint:[.44615014528488217,1.4780044124957141,.1],rightPoint:[-.5538498547151178,1.4780044124957141,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wAZYpbu3zMiGQjV2LpAcDG",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.05384985471511783,cy:-1.5219955875042859,cz:2.2408122612280286,lx:1.004987562112089,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["4vW6e4BZW3jyozPbqjnt5D"],rightJoints:[],leftPoint:[-.5538498547151178,-1.5219955875042859,.1],rightPoint:[.44615014528488217,-1.5219955875042859,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"7vsveQVeKqeZenZ1pDApJC",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.5538498547151178,cy:-.021995587504285874,cz:0,lx:2.9999999999999996,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Empty",leftJoints:["wAZYpbu3zMiGQjV2LpAcDG"],rightJoints:["7vsveQVeKqeZenZ1pDApJC"],leftPoint:[-.5538498547151178,1.4780044124957137,.1],rightPoint:[-.5538498547151178,-1.5219955875042859,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"4vW6e4BZW3jyozPbqjnt5D",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{id:"pKTG8B6HTAm7A7dtN3ZbsU",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,color:"#4d4d4d",rValue:4,sideColor:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["7vsveQVeKqeZenZ1pDApJC","4vW6e4BZW3jyozPbqjnt5D","wAZYpbu3zMiGQjV2LpAcDG"],selected:!1,ceiling:!1},{type:"Foundation",cx:-4.58324969491131,cy:.09837545208621207,cz:.05,lx:2.922675695011217,ly:3.0478862418425114,lz:.1,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,showLabel:!1,id:"93LBsy6WnVM9PgJ49pUP7g",selected:!1,rValue:5.283308619189682},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],yPn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-1.0768229629118022,2.7613875173197986,27683726328203026e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-1.0768229629118022,2.7612375106561817,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[14.12898513990324,-7.74877596104179,2.534986637546045],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:75.89554049207445,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[4.485245288976777,3.6907945473464463,2.058363039574734],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-1262,y:232,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-32,y:11,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-3,y:-3,width:200,height:60}},APn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},wPn=1,vPn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},xPn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},bPn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},SPn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},TPn=["BESTEST Case 630"],PPn={docid:cPn,time:uPn,timestamp:dPn,userid:fPn,owner:hPn,email:pPn,world:gPn,elements:mPn,view:yPn,graphState:APn,evolutionMethod:wPn,solarPanelArrayLayoutParams:vPn,solarPanelArrayLayoutConstraints:xPn,evolutionaryAlgorithmState:bPn,economicsParams:SPn,notes:TPn},CPn="1mt3H85vSeLycnvzEbiGLF",RPn=1647905546466,HPn="QWecNcxhyvP6j6sBN11hBsfZDau1",MPn=null,IPn=null,zPn={latitude:39.0042841,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-3.3716443,ground:{albedo:.32,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"13200 Manzanares, Ciudad Real, Spain",date:"6/8/2022 2:30:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2,sutGridCellSize:5,diurnalTemperatureModel:2,highestTemperatureTimeInMinutes:930,noAnimationForSolarUpdraftTowerSimulation:!0,noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:10},DPn=[{cy:.8227637571854691,normal:[0,0,1],lz:.5,ly:250,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.8016636577985707,cz:.05,rotation:[0,0,0],lx:250,selected:!1,parentId:"Ground",solarReceiverHeight:20,locked:!1,solarStructure:3,color:"#cccccc",solarUpdraftTower:{collectorHeight:2,collectorRadius:122,chimneyHeight:195,chimneyRadius:5,collectorEmissivity:.9,collectorTransmissivity:.8,turbineEfficiency:.3}},{type:"Sensor",cx:-.4159783264084858,cy:.39987868253676767,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o2v8sLskiRxHNQMJYgmnf4",selected:!1},{type:"Human",name:"Jack",cx:-101.47750420174262,cy:106.72814742414681,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"nRWqXrYCJwuMMKPznon3yj",selected:!1,ly:.6}],EPn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:50,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:-605,showGroundPanel:!1,showHeliodonPanel:!0,heliodon:!1,weatherPanelY:53,heliodonPanelX:-1226,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:60,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-1231,weatherPanelX:606,heliodonPanelY:482,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-286.26711514248836,-379.63764367710024,88.70698003902253],panCenter:[31.318634005291777,-33.73977035496972,57.75472306965425],orthographic:!1,enableRotate:!0,cameraZoom:1.8893648827547527,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725617],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:7,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!0,showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelX:1237,diurnalTemperaturePanelY:239,dailyUpdraftTowerYieldPanelX:-3,dailyUpdraftTowerYieldPanelY:18},kPn=[],FPn={docid:CPn,timestamp:RPn,userid:HPn,owner:MPn,email:IPn,world:zPn,elements:DPn,view:EPn,notes:kPn},LPn="snT8RSM4bna2exT4SbrKpx",WPn=1647994374708,NPn="QWecNcxhyvP6j6sBN11hBsfZDau1",UPn=null,BPn=null,jPn={latitude:25.206789542006906,solarPanelGridCellSize:.5,timesPerHour:4,longitude:55.273800285141746,ground:{albedo:.32,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Dubai - United Arab Emirates",date:"4/22/2022 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2,sutGridCellSize:5,diurnalTemperatureModel:2,highestTemperatureTimeInMinutes:930,noAnimationForSolarUpdraftTowerSimulation:!0,noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:10},YPn=[{cy:-14.779474133308753,normal:[0,0,1],lz:.5,ly:264.0330484296776,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-13.154176421163392,cz:.05,rotation:[0,0,0],lx:454.50633176715684,selected:!1,parentId:"Ground",solarReceiverHeight:20,locked:!1,solarStructure:3,color:"#16a5a5",solarUpdraftTower:{collectorHeight:2,collectorRadius:122,chimneyHeight:195,chimneyRadius:5,collectorEmissivity:.9,collectorTransmissivity:.8,turbineEfficiency:.3},textureType:"No Foundation Texture"},{type:"Sensor",cx:-.11120328110703694,cy:.21015039060624294,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o2v8sLskiRxHNQMJYgmnf4",selected:!1},{type:"Cuboid",cx:2.1177379727110406,cy:160.51534566937434,cz:74.09390657882601,lx:78.30098332647403,ly:55.99394288505539,lz:148.18781315765202,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.025752033646721628],parentId:"Ground",selected:!1,id:"2EhrboeXntUZKiBN3HjSix"},{type:"Cuboid",cx:50.66161337498563,cy:207.36077727687461,cz:32.43138091159533,lx:145.9842111895511,ly:125.02724353031309,lz:64.86276182319067,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.13048951214355942],parentId:"Ground",id:"6Xn8R7eKSnxRxHnYpiNTaj",selected:!1},{type:"Cuboid",cx:-72.11151802635683,cy:193.1105351858589,cz:37.54389418882869,lx:180.92996331753585,ly:104.88750828847839,lz:75.08778837765738,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.4372817352121965],parentId:"Ground",id:"qmmFDRVBHd8n28gezjkd3v",selected:!1},{type:"Cuboid",cx:153.53794529088543,cy:135.2714939761318,cz:28.458907280218547,lx:236.41206811774626,ly:73.3973881158558,lz:56.917814560437094,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.0889289069735497],parentId:"Ground",id:"6WFEHvBHfcw1hyoqbdVq2Q",selected:!1},{type:"Cuboid",cx:197.28140665982946,cy:-49.22558984875294,cz:23.43801759070747,lx:72.3188854798575,ly:208.05225786437427,lz:46.87603518141494,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.13048951214355942],parentId:"Ground",id:"wVZSZy2dQew3t36trixDr8",selected:!1},{type:"Cuboid",cx:-201.1839566931086,cy:103.76736037364329,cz:23.43801759070747,lx:180.92996331753585,ly:104.88750828847839,lz:46.87603518141494,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.7727363696866378],parentId:"Ground",id:"1QdVXZ9PmC9w7nnsHyZH8T",selected:!1},{type:"Cuboid",cx:-255.36665065884822,cy:-36.73723769206747,cz:18.59922423283554,lx:225.13779640089743,ly:104.62558934593119,lz:37.19844846567108,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,1.5327638573782314],parentId:"Ground",id:"raZT6wgNraS3Vp9bqR82TD",selected:!1}],OPn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:18,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:50,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:-605,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:53,heliodonPanelX:-1226,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:60,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-1231,weatherPanelX:606,heliodonPanelY:482,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-90.01171835895659,-555.4483085712341,96.07353497556753],panCenter:[-9.153086630446868,47.334689777283224,96.07353497556753],orthographic:!1,enableRotate:!0,cameraZoom:1.8893648827547527,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725617],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:5,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelX:1237,diurnalTemperaturePanelY:239,dailyUpdraftTowerYieldPanelX:-3,dailyUpdraftTowerYieldPanelY:18},_Pn=[],VPn={docid:LPn,timestamp:WPn,userid:NPn,owner:UPn,email:BPn,world:jPn,elements:YPn,view:OPn,notes:_Pn},GPn="p2drrr48ZatKaiVf1mbTs1",XPn="12/03/2023 04:24 PM",JPn=1701638671232,KPn="QWecNcxhyvP6j6sBN11hBsfZDau1",qPn=null,$Pn=null,QPn="1.5.4",ZPn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 12:00:00 PM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},eCn=[{type:"Foundation",cx:.21568850029510145,cy:.013602452212484906,cz:.05,lx:177.03060455972584,ly:35.672904101964825,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"Joseph",cx:3.2599818806420906,cy:-7.518092078963932,cz:.05000000074505806,lx:.6,lz:1.88,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",bladeRadius:18,towerRadius:.8,towerHeight:25,hubRadius:1,hubLength:1.5,bladeTipWidth:.2,bladeRootRadius:.4,maximumChordRadius:4,maximumChordLength:2,cx:-.43466060172200127,cy:-.14710534568960895,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"tqD4n1WRQYmNAhR5UQzB4X",selected:!1,initialRotorAngle:1.3089969389957472,relativeAngle:0,ly:36,lx:36,lz:43,pitchAngle:.3490658503988659,showLabel:!0,label:"1-blade",labelHeight:.2,labelSize:1,numberOfBlades:1},{type:"Wind Turbine",cx:-.25646562384285493,cy:-.01664123033462413,cz:0,lx:36,ly:36,lz:43,pitchAngle:.3490658503988659,relativeAngle:0,initialRotorAngle:.08726646259971647,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"2-blades",numberOfBlades:2},{type:"Wind Turbine",cx:-.053110954803951796,cy:-.01664123033462413,cz:0,lx:36,ly:36,lz:43,pitchAngle:.3490658503988659,relativeAngle:0,initialRotorAngle:.6108652381980153,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"n62TtrmXHWgo7x1hEcdHwF",selected:!1,label:"3-blades"},{type:"Wind Turbine",cx:.16054544137606933,cy:-.019488911573350004,cz:.5000000074505806,lx:36,ly:36,lz:43,numberOfBlades:4,pitchAngle:.3490658503988659,initialRotorAngle:.4363323129985824,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"9dzaj23koNLLEL3shaBk2K",selected:!1,label:"4-blades"},{type:"Wind Turbine",cx:.38225577893413515,cy:-.007337508433549948,cz:.5000000074505806,lx:36,ly:36,lz:43,numberOfBlades:8,pitchAngle:.3490658503988659,initialRotorAngle:.9599310885968813,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"rYsUP6fHc3t52h1tpQjudB",selected:!1,label:"8-blades"}],tCn=111,nCn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.06508062441107645,3.009365144072869,3251344493198157e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.06508062441107645,3.0083647666271345,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-6.410142423966475,-199.0249080253237,25.806061057837795],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:7.547072050706145,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.0801685524133897,3.803936638871667,21.311753692834813],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:203,height:75},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},oCn=!0,iCn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},rCn=1,aCn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},lCn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},sCn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},cCn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},uCn="Unknown",dCn=null,fCn=null,hCn=null,pCn=null,gCn=["Effect of blade number"],mCn=3,yCn=3,ACn={docid:GPn,time:XPn,timestamp:JPn,userid:KPn,owner:qPn,email:$Pn,version:QPn,world:ZPn,elements:eCn,sceneRadius:tCn,view:nCn,animate24Hours:oCn,graphState:iCn,evolutionMethod:rCn,solarPanelArrayLayoutParams:aCn,solarPanelArrayLayoutConstraints:lCn,evolutionaryAlgorithmState:sCn,economicsParams:cCn,modelType:uCn,modelAuthor:dCn,modelLabel:fCn,modelDescription:hCn,designProjectType:pCn,notes:gCn,minimumNavigationMoveSpeed:mCn,minimumNavigationTurnSpeed:yCn},wCn="ku3aJQnNyy4yCsuFzwuDoc",vCn="12/03/2023 04:23 PM",xCn=1701638601264,bCn="QWecNcxhyvP6j6sBN11hBsfZDau1",SCn=null,TCn=null,PCn="1.5.4",CCn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:15:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},RCn=[{type:"Foundation",cx:-.06801975746204719,cy:-.18409539243281756,cz:.05,lx:94.71410891853054,ly:36.6174535699994,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"Jack",cx:-12.16505900504582,cy:-10.984558061960229,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",bladeRadius:18,towerRadius:.7,towerHeight:25,hubRadius:.9,hubLength:1.5,bladeTipWidth:.2,bladeRootRadius:.4,maximumChordRadius:4,maximumChordLength:2,cx:-.3778738108736008,cy:-.13041322347895162,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"tqD4n1WRQYmNAhR5UQzB4X",selected:!1,initialRotorAngle:2.6179938779914944,relativeAngle:0,ly:36,lx:36,lz:43,pitchAngle:0,showLabel:!0,label:"Pitch 0°",labelHeight:.2,labelSize:1},{type:"Wind Turbine",cx:-.044808705540805294,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:.7853981633974483,relativeAngle:0,initialRotorAngle:1.9198621771937625,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"Pitch 45°"},{type:"Wind Turbine",cx:.3352825016833035,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:1.5707963267948966,relativeAngle:0,initialRotorAngle:.6981317007977318,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"n62TtrmXHWgo7x1hEcdHwF",selected:!1,label:"Pitch 90°"}],HCn=59,MCn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.0651129818879018,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.0651129818879018,-.0010003774460187742,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.3091864608311454,-84.35385005104541,19.592601415556782],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921874999,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.5737328988942154,.4037021816977089,14.94164829471033],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:229,height:65},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},ICn=!0,zCn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},DCn=1,ECn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},kCn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},FCn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},LCn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},WCn="Unknown",NCn=null,UCn=null,BCn=null,jCn=null,YCn=["Effect of pitch angle"],OCn=3,_Cn=3,VCn={docid:wCn,time:vCn,timestamp:xCn,userid:bCn,owner:SCn,email:TCn,version:PCn,world:CCn,elements:RCn,sceneRadius:HCn,view:MCn,animate24Hours:ICn,graphState:zCn,evolutionMethod:DCn,solarPanelArrayLayoutParams:ECn,solarPanelArrayLayoutConstraints:kCn,evolutionaryAlgorithmState:FCn,economicsParams:LCn,modelType:WCn,modelAuthor:NCn,modelLabel:UCn,modelDescription:BCn,designProjectType:jCn,notes:YCn,minimumNavigationMoveSpeed:OCn,minimumNavigationTurnSpeed:_Cn},GCn="prsweG46r8wQU1VCBei9bi",XCn="12/05/2023 08:19 PM",JCn=1701825553155,KCn="QWecNcxhyvP6j6sBN11hBsfZDau1",qCn=null,$Cn=null,QCn="1.5.4",ZCn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:15:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},eRn=[{type:"Foundation",cx:-.06801975746204719,cy:-.18409539243281756,cz:.05,lx:94.71410891853054,ly:36.6174535699994,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"James",cx:-12.16505900504582,cy:-10.984558061960229,cz:.05000000074505806,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",cx:-.044808705540805294,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:.7853981633974483,relativeAngle:0,initialRotorAngle:1.9198621771937625,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"Pitch 45°",birdSafe:1},{type:"Wind Turbine",cx:.3352825016833035,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,birdSafe:2,pitchAngle:.7853981633974483,initialRotorAngle:.5235987755982988,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"uoJzz1MrpxpKH8prABoXBK",selected:!1},{type:"Wind Turbine",cx:-.40227176546914695,cy:-.08636499522843967,cz:.5000000074506517,lx:36,ly:36,lz:43,birdSafe:0,pitchAngle:.7853981633974483,initialRotorAngle:1.2217304763960306,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"oQQHDhqvAmppTTGonavtKx",selected:!1}],tRn=59,nRn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.0651129818879018,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.0651129818879018,-.0010003774460187742,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[11.54640905238722,-83.12569705438379,19.57753232141962],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:-1,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921874999,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:4,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[13.843815451002575,-2.517227319037223,19.577532321419607],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:229,height:65},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},oRn=!0,iRn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},rRn=1,aRn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},lRn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},sRn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},cRn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},uRn="Unknown",dRn=null,fRn=null,hRn=null,pRn=null,gRn=["Bird-safe blade design"],mRn=3,yRn=3,ARn={docid:GCn,time:XCn,timestamp:JCn,userid:KCn,owner:qCn,email:$Cn,version:QCn,world:ZCn,elements:eRn,sceneRadius:tRn,view:nRn,animate24Hours:oRn,graphState:iRn,evolutionMethod:rRn,solarPanelArrayLayoutParams:aRn,solarPanelArrayLayoutConstraints:lRn,evolutionaryAlgorithmState:sRn,economicsParams:cRn,modelType:uRn,modelAuthor:dRn,modelLabel:fRn,modelDescription:hRn,designProjectType:pRn,notes:gRn,minimumNavigationMoveSpeed:mRn,minimumNavigationTurnSpeed:yRn},wRn="4dviU3RawE9LMcftibfNkm",vRn="12/03/2023 04:14 PM",xRn=1701638072017,bRn="QWecNcxhyvP6j6sBN11hBsfZDau1",SRn=null,TRn=null,PRn="1.5.4",CRn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:30:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"4VF7+G3 Truro, MA, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.12379091441428,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-70.13730849064942,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},RRn=[{type:"Foundation",cx:-.03667035741752578,cy:.04882318835639765,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Wind Turbine",bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,cx:-.018046403605868733,cy:.4133982216223373,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"wjxmhdfmeJ2VqYDExGzaQP",selected:!1,relativeRotationAngle:1.5707963267948966,relativeAngle:0,initialRotorAngle:.5235987755982988,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Human",name:"Jack",cx:-.32689281452861607,cy:-.7424702537660224,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Foundation",cx:.46178016174311765,cy:34.77682557793467,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"rPGPX7hqLNXxmoCP5Z3sE3",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"rPGPX7hqLNXxmoCP5Z3sE3",foundationId:"rPGPX7hqLNXxmoCP5Z3sE3",id:"wmRwaWRbnt4jyLACLBbnbR",selected:!1,initialRotorAngle:.5759586531581288,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-35.133887514480534,cy:.13131107853935997,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"5AXcGdcxuJPPmWUFFF1Mg4",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"5AXcGdcxuJPPmWUFFF1Mg4",foundationId:"5AXcGdcxuJPPmWUFFF1Mg4",id:"8zpiTHWfmH9dxxMob7gGKw",selected:!1,initialRotorAngle:.6981317007977318,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:36.15687726121619,cy:.08583548447972705,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"3PvdrySRRuRb4VWscpoan1",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"3PvdrySRRuRb4VWscpoan1",foundationId:"3PvdrySRRuRb4VWscpoan1",id:"jh2VLP6aEsC9MjyvMzHmnh",selected:!1,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:36.68380015977545,cy:35.992070115484914,cz:.05000000000011369,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"ajcMCL4iShmNZcRHJaZwqC",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"ajcMCL4iShmNZcRHJaZwqC",foundationId:"ajcMCL4iShmNZcRHJaZwqC",id:"73M62UHt2cc3ePWwwXFCtp",selected:!1,initialRotorAngle:1.9198621771937625,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-36.06399520270002,cy:36.219927749176875,cz:.05000000000011369,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"8y22r8ZxpQWom1j6cs1tYx",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"8y22r8ZxpQWom1j6cs1tYx",foundationId:"8y22r8ZxpQWom1j6cs1tYx",id:"9phSpLbBjff3RP3Gd6q3wk",selected:!1,initialRotorAngle:3.735004599267865,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-34.92135925619859,cy:-39.65568470409089,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"7omZkjhG7pVW412usas6QG",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"7omZkjhG7pVW412usas6QG",foundationId:"7omZkjhG7pVW412usas6QG",id:"n57NaRS2RhJe7aRryzjvz5",selected:!1,initialRotorAngle:2.1467549799530254,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:.28880826894608447,cy:-39.405449951382565,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"ahFZR4riKJXTrcHA73mdCn",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"ahFZR4riKJXTrcHA73mdCn",foundationId:"ahFZR4riKJXTrcHA73mdCn",id:"gzowsxQwP2TmUT7TdsAvgu",selected:!1,initialRotorAngle:.7504915783575618,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:37.11911004267943,cy:-35.660841265945486,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"6vng7Lgk75SDU7zgeFirDf",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"6vng7Lgk75SDU7zgeFirDf",foundationId:"6vng7Lgk75SDU7zgeFirDf",id:"8FDU4ixVHqSmgDc6imfmtZ",selected:!1,initialRotorAngle:3.001966313430247,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659}],HRn=51,MRn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[8.052948084656641,-13.89445165214065,-1405165848269891e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[8.052948084656641,-13.895452029586668,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:11,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[22.54912751083805,-79.65990049831592,12.693759961970386],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:6.1471373545004715,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-6.443475483349762,13.626542859895423,12.693759961970372],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:400,height:300},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!0,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},IRn=!0,zRn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},DRn=1,ERn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},kRn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},FRn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},LRn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},WRn="Unknown",NRn=null,URn=null,BRn=null,jRn=null,YRn=[],ORn=3,_Rn=3,VRn={docid:wRn,time:vRn,timestamp:xRn,userid:bRn,owner:SRn,email:TRn,version:PRn,world:CRn,elements:RRn,sceneRadius:HRn,view:MRn,animate24Hours:IRn,graphState:zRn,evolutionMethod:DRn,solarPanelArrayLayoutParams:ERn,solarPanelArrayLayoutConstraints:kRn,evolutionaryAlgorithmState:FRn,economicsParams:LRn,modelType:WRn,modelAuthor:NRn,modelLabel:URn,modelDescription:BRn,designProjectType:jRn,notes:YRn,minimumNavigationMoveSpeed:ORn,minimumNavigationTurnSpeed:_Rn},GRn="vW4e6RYtysT2Mk4RJsMwWK",XRn=1647108232108,JRn="QWecNcxhyvP6j6sBN11hBsfZDau1",KRn=null,qRn=null,$Rn={longitude:-110.90092954103089,solarRadiationHeatmapGridCellSize:1,discretization:"Approximate",timesPerHour:4,date:"9/22/2022 1:15:00 PM",name:"default",solarPanelVisibilityGridCellSize:.2,airAttenuationCoefficient:.01,pvGridCellSize:.5,latitude:32.15910168004556,address:"4346 E Irvington Rd, Tucson, AZ 85714, USA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},cspTimesPerHour:4,cspGridCellSize:1},QRn=[{textureType:"No Foundation Texture",lz:.1,ly:428,cx:-12.823413575842814,locked:!1,type:"Foundation",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,lx:111.22000916830105,solarAbsorberPipe:{absorberHeight:16,apertureWidth:1},rotation:[0,0,0],parentId:"Ground",cz:.05,cy:-21.37347182127145,normal:[0,0,1]},{reflectance:.9,label:"1",absorptance:.95,poleHeight:.2,selected:!1,drawSunBeam:!0,poleRadius:.05,type:"Fresnel Reflector",relativeAzimuth:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cx:-.4012211769217936,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,showLabel:!1,cz:0,dailyYield:148.93207880790618,cy:.006680793972906053,opticalEfficiency:.7,moduleLength:20,lx:2.5,lz:.1,normal:[0,0,1],tiltAngle:0,thermalEfficiency:.3,rotation:[0,0,0],id:"gGEdWUHCti1PrRxJ7JDarq"},{poleRadius:.05,rotation:[0,0,0],relativeAzimuth:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,reflectance:.9,tiltAngle:0,cz:0,cx:-.3742476132399176,showLabel:!1,ly:420,normal:[0,0,1],poleHeight:.2,selected:!1,lz:.1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3xn438z3EMLSwNjb9D63WM",lx:2.5,type:"Fresnel Reflector",cy:.006680793972906053,drawSunBeam:!0},{foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,poleHeight:.2,id:"bLwgNAfScj3MbJ3LCbgVeJ",cx:.4118441240173573,rotation:[0,0,0],receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,poleRadius:.05,reflectance:.9,cy:.006920168618473448,tiltAngle:0,cz:.5000000074505806,lz:.1,moduleLength:20,parentId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,drawSunBeam:!0,normal:[0,0,1],lx:2.5,type:"Fresnel Reflector",selected:!1},{lz:.1,cy:.006920164646334277,cx:.38874501986607163,ly:420,reflectance:.9,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"n7GLSN9b7KQJT3M3e1Gbd6",lx:2.5,moduleLength:20,tiltAngle:0,normal:[0,0,1],parentId:"kxHYpYsUs7XEocuTYAj1Qu",receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleHeight:.2,cz:.5000000074506161,rotation:[0,0,0],relativeAzimuth:0,drawSunBeam:!0,selected:!1,poleRadius:.05,type:"Fresnel Reflector",showLabel:!1},{selected:!1,parentId:"Ground",type:"Cuboid",color:"gray",cx:-52.4956763602033,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:2.295137859741913,ly:6.761851189958324,id:"2ef4fdCaFagjkM5oc3rwcu",faceColors:["gray","gray","gray","gray","gray","gray"],lx:17.519341460326316,rotation:[0,0,0],cy:209.0290599516856,normal:[0,0,1],lz:4.590275719483826},{ly:420,rotation:[0,0,0],poleHeight:.2,lz:.1,moduleLength:20,cz:.5000000074506517,id:"8GG67NKVFrvbH3J8prHsci",showLabel:!1,poleRadius:.05,selected:!1,reflectance:.9,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",tiltAngle:0,cy:.006920160674195108,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cx:.3629408980758779,relativeAzimuth:0,drawSunBeam:!0,lx:2.5},{lx:2.5,moduleLength:20,type:"Fresnel Reflector",relativeAzimuth:0,cy:.006920156702055938,poleHeight:.2,poleRadius:.05,cz:.5000000074506872,selected:!1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],showLabel:!1,rotation:[0,0,0],id:"iiCPQvzxSxVKeMzjiCWt4r",drawSunBeam:!0,lz:.1,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cx:.33443175864677654,ly:420,tiltAngle:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{type:"Fresnel Reflector",normal:[0,0,1],id:"48A3HEC1e87s6pvydn6P2h",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,poleHeight:.2,selected:!1,cx:.3059226192176751,rotation:[0,0,0],tiltAngle:0,relativeAzimuth:0,lx:2.5,cy:.006920152729916776,lz:.1,moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,drawSunBeam:!0,cz:.5000000074507227,showLabel:!1,reflectance:.9,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{normal:[0,0,1],rotation:[0,0,0],poleHeight:.2,type:"Fresnel Reflector",id:"p9gJ8g2kx38fJVQXUT5Mgz",cx:.27741347978857367,moduleLength:20,relativeAzimuth:0,showLabel:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cz:.5000000074507582,lx:2.5,reflectance:.9,poleRadius:.05,selected:!1,lz:.1,ly:420,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cy:.0069201487577776055,tiltAngle:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0},{relativeAzimuth:0,showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074507938,selected:!1,normal:[0,0,1],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],moduleLength:20,poleRadius:.05,drawSunBeam:!0,cy:.006920144785638444,tiltAngle:0,id:"nUiryBqcmAQ2AAWDiEELcv",cx:.24890434035947226,lz:.1,ly:420,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",reflectance:.9,type:"Fresnel Reflector",lx:2.5},{ly:420,reflectance:.9,poleRadius:.05,showLabel:!1,type:"Fresnel Reflector",relativeAzimuth:0,normal:[0,0,1],receiverId:"jbxC2ET67y7TWpMwnYUQpG",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074508293,poleHeight:.2,cx:.22039520093037082,selected:!1,tiltAngle:0,moduleLength:20,lx:2.5,rotation:[0,0,0],cy:.006920140813499274,drawSunBeam:!0,lz:.1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"c1WTMXLtugeCdJwSfZWMz9"},{poleHeight:.2,ly:420,lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,selected:!1,relativeAzimuth:0,cz:.5000000074508648,drawSunBeam:!0,rotation:[0,0,0],poleRadius:.05,cx:.1918860615012694,type:"Fresnel Reflector",lz:.1,id:"3Kj4GK5Z8rMjFhG7kwoBBb",tiltAngle:0,reflectance:.9,normal:[0,0,1],cy:.006920136841360104,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG"},{receiverId:"jbxC2ET67y7TWpMwnYUQpG",relativeAzimuth:0,cx:.16337692207216795,tiltAngle:0,rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,poleHeight:.2,drawSunBeam:!0,type:"Fresnel Reflector",cz:.5000000074509003,poleRadius:.05,id:"gRmwqsLeYTEckzUeWsqBhN",showLabel:!1,normal:[0,0,1],lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,reflectance:.9,lz:.1,cy:.006920132869220934,ly:420},{cz:.5000000074509359,cy:.006920128897081764,drawSunBeam:!0,type:"Fresnel Reflector",ly:420,selected:!1,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,tiltAngle:0,cx:.13486778264306654,lz:.1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,id:"joT2iHz7uZVy7UaUNMCzBF",moduleLength:20,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,lx:2.5,rotation:[0,0,0],reflectance:.9,normal:[0,0,1]},{normal:[0,0,1],id:"itX4GCN56fDPamdgJYAmwQ",selected:!1,lx:2.5,drawSunBeam:!0,showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074509714,cx:.10635864321396508,lz:.1,cy:.006920124924942602,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",type:"Fresnel Reflector",rotation:[0,0,0],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",tiltAngle:0,poleRadius:.05,moduleLength:20,relativeAzimuth:0,ly:420,reflectance:.9},{type:"Fresnel Reflector",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",poleHeight:.2,cy:.00692012095280344,cz:.5000000074510069,ly:420,relativeAzimuth:0,drawSunBeam:!0,moduleLength:20,lx:2.5,showLabel:!1,id:"5e4g29VTk26fuKRVWuNgRz",parentId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],cx:.07784950378486367,poleRadius:.05,lz:.1,tiltAngle:0,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",selected:!1,normal:[0,0,1]},{id:"sBjhkF3pMtT3cQ3g1UR96e",cz:.5000000074510424,cx:.049340364355762216,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleHeight:.2,parentId:"kxHYpYsUs7XEocuTYAj1Qu",type:"Fresnel Reflector",ly:420,normal:[0,0,1],showLabel:!1,relativeAzimuth:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,lz:.1,cy:.006920116980664271,reflectance:.9,tiltAngle:0,moduleLength:20,rotation:[0,0,0],lx:2.5,drawSunBeam:!0,poleRadius:.05},{poleHeight:.2,poleRadius:.05,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cy:.0069201130085251,parentId:"kxHYpYsUs7XEocuTYAj1Qu",lz:.1,showLabel:!1,ly:420,selected:!1,reflectance:.9,moduleLength:20,rotation:[0,0,0],lx:2.5,tiltAngle:0,cz:.500000007451078,type:"Fresnel Reflector",normal:[0,0,1],cx:.020831224926660816,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"h3TzeZk2YVWTGe9knmBmhc",drawSunBeam:!0,relativeAzimuth:0},{cy:.0069201090363859305,poleRadius:.05,drawSunBeam:!0,lx:2.5,normal:[0,0,1],tiltAngle:0,rotation:[0,0,0],moduleLength:20,showLabel:!1,poleHeight:.2,parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,selected:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",id:"kWfcmDULgEQa34dEtRx2UT",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,reflectance:.9,cz:.5000000074511135,cx:-.007677914502440628,lz:.1,type:"Fresnel Reflector"},{reflectance:.9,rotation:[0,0,0],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,type:"Fresnel Reflector",normal:[0,0,1],tiltAngle:0,id:"wQ8RFzz864QiELuFRWM7ge",poleHeight:.2,cz:.500000007451149,drawSunBeam:!0,cx:-.03618705393154207,selected:!1,showLabel:!1,lz:.1,cy:.00692010506424676,moduleLength:20,lx:2.5,poleRadius:.05,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{poleHeight:.2,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cy:.006920101092107599,id:"rCD4HDT8779Y925QdUv6gZ",cx:-.06469619336064349,drawSunBeam:!0,selected:!1,lx:2.5,poleRadius:.05,cz:.5000000074511846,relativeAzimuth:0,type:"Fresnel Reflector",normal:[0,0,1],lz:.1,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",tiltAngle:0,rotation:[0,0,0],ly:420,showLabel:!1,moduleLength:20},{ly:420,poleHeight:.2,normal:[0,0,1],cx:-.0932053327897449,id:"dMUsSHLikspa8gopdzHskY",poleRadius:.05,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,reflectance:.9,moduleLength:20,cy:.0069200971199684285,showLabel:!1,tiltAngle:0,rotation:[0,0,0],type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",lx:2.5,cz:.5000000074512201,selected:!1,lz:.1},{rotation:[0,0,0],receiverId:"jbxC2ET67y7TWpMwnYUQpG",reflectance:.9,type:"Fresnel Reflector",cy:.006920093147829267,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",lz:.1,lx:2.5,relativeAzimuth:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0,tiltAngle:0,poleHeight:.2,normal:[0,0,1],selected:!1,moduleLength:20,cx:-.12171447221884638,showLabel:!1,id:"rTyFuBNMkgb6TQ1G9Eh8gm",poleRadius:.05,cz:.5000000074512556,ly:420},{poleRadius:.05,normal:[0,0,1],showLabel:!1,cz:.5000000074512911,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,type:"Fresnel Reflector",selected:!1,rotation:[0,0,0],tiltAngle:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,id:"j5bFm4KL8wLSLUYpWvdxLo",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,cx:-.15022361164794779,lz:.1,cy:.006920089175690097,relativeAzimuth:0,poleHeight:.2,lx:2.5,reflectance:.9},{cx:-.1787327510770492,parentId:"kxHYpYsUs7XEocuTYAj1Qu",lx:2.5,drawSunBeam:!0,reflectance:.9,tiltAngle:0,lz:.1,cy:.006920085203550927,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],cz:.5000000074513267,relativeAzimuth:0,showLabel:!1,poleRadius:.05,selected:!1,type:"Fresnel Reflector",normal:[0,0,1],id:"4yDr3h7mFtSP1gWovYHUdL",poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,moduleLength:20},{cy:.006920081231411757,id:"cdAqNd7wifCFLgGsKrvuwz",moduleLength:20,drawSunBeam:!0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],poleHeight:.2,poleRadius:.05,relativeAzimuth:0,tiltAngle:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",lx:2.5,rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,cz:.5000000074513622,lz:.1,type:"Fresnel Reflector",showLabel:!1,cx:-.2072418905061506,reflectance:.9,ly:420},{rotation:[0,0,0],lz:.1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074513977,moduleLength:20,reflectance:.9,relativeAzimuth:0,selected:!1,tiltAngle:0,ly:420,poleRadius:.05,showLabel:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,poleHeight:.2,type:"Fresnel Reflector",cx:-.23575102993525202,parentId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],lx:2.5,id:"ptAVmbmDJoFnE5rNDPcxp1",cy:.006920077259272587},{cx:-.26426016936435354,reflectance:.9,normal:[0,0,1],receiverId:"jbxC2ET67y7TWpMwnYUQpG",tiltAngle:0,type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0,poleRadius:.05,poleHeight:.2,id:"9PPkqgZe4ooTSBcdbEhq2S",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074514332,rotation:[0,0,0],moduleLength:20,cy:.006920073287133425,relativeAzimuth:0,lz:.1,showLabel:!1,selected:!1,lx:2.5,ly:420},{lx:2.5,drawSunBeam:!0,selected:!1,cx:-.29276930879345486,poleRadius:.05,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cy:.006920069314994255,cz:.5000000074514688,relativeAzimuth:0,lz:.1,ly:420,id:"1bynbmDmRsgQT44LeFTqV2",type:"Fresnel Reflector",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],tiltAngle:0,moduleLength:20,poleHeight:.2,normal:[0,0,1],showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{id:"biqZtWn8yKbuhMZsTFnzzy",poleRadius:.05,ly:420,normal:[0,0,1],moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG",showLabel:!1,reflectance:.9,cy:.006920065342855094,poleHeight:.2,cx:-.32127844822255636,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,type:"Fresnel Reflector",rotation:[0,0,0],lz:.1,cz:.5000000074515043,lx:2.5,tiltAngle:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,drawSunBeam:!0},{receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,cz:.5000000074515398,tiltAngle:0,drawSunBeam:!0,cx:-.3497875876516578,poleHeight:.2,ly:420,lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,showLabel:!1,type:"Fresnel Reflector",reflectance:.9,selected:!1,id:"aimBT6csAE8smo4euxDmP5",lz:.1,normal:[0,0,1],relativeAzimuth:0,cy:.006920061370715923,parentId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0]},{solarReceiverTubePoleNumber:20,type:"Foundation",solarReceiverPipePoleNumber:20,normal:[0,0,1],rotation:[0,0,0],cx:-11.949347995041327,selected:!1,parentId:"Ground",lz:.3,lx:19.21993989325236,cy:-3.4906385434141205,id:"jbxC2ET67y7TWpMwnYUQpG",ly:480,solarStructure:1,solarReceiver:1,cz:.15,solarAbsorberPipe:{absorberHeight:30,apertureWidth:2}}],ZRn={cameraZoom:1.8506178062217107,yearlyPvYieldPanelX:0,mapZoom:17,dailyFresnelReflectorYieldPanelX:-19,dailyParabolicTroughYieldPanelX:0,dailyLightSensorPanelX:0,yearlyParabolicDishYieldPanelX:0,showDailyFresnelReflectorYieldPanel:!1,enableRotate:!0,panCenter2D:[-6.944992442475207,210.55314744205262,.00021056250655402935],showStickyNotePanel:!1,groundColor:"#16cda5",showSunAngles:!1,mapWeatherStations:!1,dailyParabolicTroughYieldPanelY:0,showDailyParabolicTroughYieldPanel:!1,yearlyLightSensorPanelY:0,weatherPanelX:0,yearlyFresnelReflectorYieldPanelY:14,ambientLightIntensity:.1,dailyParabolicDishYieldPanelY:0,dailyFresnelReflectorYieldPanelY:157,showWeatherPanel:!1,theme:"Desert",showSolarPanelVisibilityResultsPanel:!1,yearlyLightSensorPanelX:0,mapPanelX:0,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,heliodonPanelY:0,dailyParabolicDishYieldPanelX:0,mapType:"hybrid",cameraPosition:[-11.739626637843958,-271.93399896309415,13.091291354471094],showDesignInfoPanel:!0,autoRotate:!1,panCenter:[-7.09913291540988,-65.13626844138287,2.897505917600467],yearlyFresnelReflectorYieldPanelX:-1274,stickyNotePanelX:0,visibilityResultsPanelX:0,showYearlyLightSensorPanel:!1,mapTilt:0,dailyPvYieldPanelY:0,dailyLightSensorPanelY:0,solarRadiationHeatMapMaxValue:5,heliodonPanelX:0,weatherPanelY:0,showYearlyParabolicDishYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,dailyPvYieldPanelX:0,stickyNotePanelY:0,showDailyParabolicDishYieldPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,heliodon:!1,yearlyParabolicTroughYieldPanelX:0,yearlyPvYieldPanelY:0,showSiteInfoPanel:!0,cameraPosition2D:[-6.944992442475207,210.55312744116364,20.00021056248858],showHeliodonPanel:!1,showYearlyPvYieldPanel:!1,axes:!0,showMapPanel:!1,visibilityResultsPanelY:0,groundImage:!0,orthographic:!1,showInstructionPanel:!0,showDailyPvYieldPanel:!1,mapPanelY:0,showYearlyFresnelReflectorYieldPanel:!1},eHn=[],tHn={docid:GRn,timestamp:XRn,userid:JRn,owner:KRn,email:qRn,world:$Rn,elements:QRn,view:ZRn,notes:eHn},nHn="hAq2dzLGp1A3Vt7sTTtJuZ",oHn="02/03/2023 10:55 am",iHn=1675439758247,rHn="QWecNcxhyvP6j6sBN11hBsfZDau1",aHn=null,lHn=null,sHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},cHn=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0005841111979264266,cy:-.00026543983321941996,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7DsYGoVdCY8aoR5rFbLhk4",selected:!1,label:"Angle",dailyYield:8.732880750124766,yearlyYield:102.12421657496768},{type:"Human",name:"Jack",cx:5.511511655556145,cy:-3.5932139876710405,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ahAnqHX5Nd7eDufkMtRUNs",selected:!1,ly:.6}],uHn={yearlyPvYieldPanelX:-67,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:66,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[9.289940609671005,-7.003850253956084,4.906951597024065],panCenter:[.4252296602758445,.31861282138619734,.10164740914205853],orthographic:!1,enableRotate:!0,cameraZoom:45.44146361606706,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,150],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:6,evolutionPanelX:-13,evolutionPanelY:8,evolutionPanelRect:{x:0,y:0,width:498,height:340},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:279,height:88}},dHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},fHn=1,hHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},pHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},gHn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:30,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},mHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},yHn=[`Find the optimal tilt angle -for a single row of solar panels`],AHn={docid:nHn,time:oHn,timestamp:iHn,userid:rHn,owner:aHn,email:lHn,world:sHn,elements:cHn,view:uHn,graphState:dHn,evolutionMethod:fHn,solarPanelArrayLayoutParams:hHn,solarPanelArrayLayoutConstraints:pHn,evolutionaryAlgorithmState:gHn,economicsParams:mHn,notes:yHn},wHn="fuDyjFnfZyxqES42bpME47",vHn="02/03/2023 11:00 am",xHn=1675440031518,bHn="QWecNcxhyvP6j6sBN11hBsfZDau1",SHn=null,THn=null,PHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},CHn=[{cy:-.04544941490896341,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:1.968,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Row1",tiltAngle:0,poleSpacing:2,rotation:[0,0,0],lx:5.952,selected:!1,orientation:"Portrait",cx:.0013098263256093668,relativeAzimuth:0,cy:-.3333857365792726,poleHeight:1.2,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG",dailyYield:3.8430599051077174,yearlyYield:87.98498978626,labelSize:.5,labelHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0013098263256093668,cy:-.1107906814186029,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qBcTvR11rnyGD32ejzSTUo",selected:!1,dailyYield:3.8430599051077174,label:"Row2",yearlyYield:88.73443715558736,labelHeight:1,labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0012559240227253744,cy:.11410898246472086,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7DsYGoVdCY8aoR5rFbLhk4",selected:!1,label:"Row3",dailyYield:3.8430599051077174,yearlyYield:102.12190598796778,labelHeight:1,labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0019112216145152992,cy:.33130578714934544,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kKhGuKqmYo8sGFHt2CpVtE",selected:!1,label:"Row4",dailyYield:3.8430599051077174,yearlyYield:87.95400017679898,labelHeight:1,labelSize:.5},{type:"Human",name:"Jack",cx:5.511511655556145,cy:-3.5932139876710405,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ahAnqHX5Nd7eDufkMtRUNs",selected:!1,ly:.6}],RHn={yearlyPvYieldPanelX:-1274,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:3,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[14.323665130331175,-8.426692001879298,3.5655944521137717],panCenter:[1.684900046296442,2.3084248015304936,.043382642438776854],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230188,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:6,evolutionPanelX:3,evolutionPanelY:4,evolutionPanelRect:{x:0,y:0,width:565,height:359},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:322,height:91}},HHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},MHn=2,IHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},zHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},DHn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:20,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:20,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},EHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},kHn=[`Find optimal tilt angles -for multiple rows of solar panels`],FHn={docid:wHn,time:vHn,timestamp:xHn,userid:bHn,owner:SHn,email:THn,world:PHn,elements:CHn,view:RHn,graphState:HHn,evolutionMethod:MHn,solarPanelArrayLayoutParams:IHn,solarPanelArrayLayoutConstraints:zHn,evolutionaryAlgorithmState:DHn,economicsParams:EHn,notes:kHn},LHn="oAxppoDRPqDySUVvwUxAX9",WHn="02/08/2023 12:26 pm",NHn=1675877184356,UHn="QWecNcxhyvP6j6sBN11hBsfZDau1",BHn=null,jHn=null,YHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},OHn=[{cy:.01692723373211437,normal:[0,0,1],lz:.1,ly:28.838141151400354,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.11281543499276836,cz:.05,rotation:[0,0,0],lx:27.003966694548705,selected:!1,parentId:"Ground",textureType:"Foundation Texture #2",locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#68ccca",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.2777369741577272,y:-.4507918846693325},{x:-.46289495692954535,y:-.3294248387968199},{x:-.46289495692954535,y:.3294248387968199},{x:-.2592211758805454,y:.46813003407969145},{x:.44437915865236355,y:.46813003407969145},{x:.44437915865236355,y:-.4507918846693325},{x:-.018515798277181816,y:-.4507918846693325},{x:-.018515798277181816,y:-.20805779292430732},{x:.11109478966309089,y:-.20805779292430732},{x:.11109478966309089,y:0},{x:-.1296105879402727,y:0},{x:-.1296105879402727,y:-.4507918846693325}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"u4ViXg39ZL8tds2AfD2o6U",textureType:"No Polygon Texture",locked:!0},{type:"Human",name:"Jack",cx:-12.151272035486986,cy:-13.311260979474763,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.6}],_Hn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[13.612389493613348,-45.59589484534075,13.195602276977187],panCenter:[14.4714120590319,-3.416758286517111,0],orthographic:!1,enableRotate:!0,cameraZoom:15.475618750000002,showInstructionPanel:!1,cameraPosition2D:[4.762164053203386,1.2445149902232375,150],panCenter2D:[4.762164053203386,1.244664996889924,20723025878093974e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:290,height:86},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},VHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},GHn=2,XHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},JHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},KHn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},qHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},$Hn=[`Generative design of a solar farm -in an arbitrary shape`],QHn={docid:LHn,time:WHn,timestamp:NHn,userid:UHn,owner:BHn,email:jHn,world:YHn,elements:OHn,view:_Hn,graphState:VHn,evolutionMethod:GHn,solarPanelArrayLayoutParams:XHn,solarPanelArrayLayoutConstraints:JHn,evolutionaryAlgorithmState:KHn,economicsParams:qHn,notes:$Hn},ZHn="wdLWJpkLqaNK26sDZ4kU9P",eMn="02/08/2023 12:31 pm",tMn=1675877477724,nMn="QWecNcxhyvP6j6sBN11hBsfZDau1",oMn=null,iMn=null,rMn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},aMn=[{cy:.01692723373211437,normal:[0,0,1],lz:.1,ly:28.838141151400354,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.11281543499276836,cz:.05,rotation:[0,0,0],lx:27.003966694548705,selected:!1,parentId:"Ground",textureType:"Foundation Texture #2",locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#68ccca",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.2777369741577272,y:-.4507918846693325},{x:-.46289495692954535,y:-.3294248387968199},{x:-.46289495692954535,y:.3294248387968199},{x:-.2592211758805454,y:.46813003407969145},{x:.44437915865236355,y:.46813003407969145},{x:.44437915865236355,y:-.4507918846693325},{x:-.018515798277181816,y:-.4507918846693325},{x:-.018515798277181816,y:-.20805779292430732},{x:.11109478966309089,y:-.20805779292430732},{x:.11109478966309089,y:0},{x:-.1296105879402727,y:0},{x:-.1296105879402727,y:-.4507918846693325}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"u4ViXg39ZL8tds2AfD2o6U",textureType:"No Polygon Texture",locked:!0},{type:"Human",name:"Jack",cx:-12.151272035486986,cy:-13.311260979474763,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.6},{type:"Cuboid",cx:-.11397611677121855,cy:-3.067571806666861,cz:2,lx:5.2532346498753135,ly:4.048511424070542,lz:4,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"ky59NZpXJyTcUSib43iVfq",locked:!0}],lMn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[14.904063706626683,-45.61046168179694,13.166442421440415],panCenter:[14.528251370304552,-3.4151425205700146,0],orthographic:!1,enableRotate:!0,cameraZoom:17.147500000000004,showInstructionPanel:!1,cameraPosition2D:[4.762164053203386,1.2445149902246018,150],panCenter2D:[4.762164053203386,1.244664996889924,20723025878093974e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:344,height:83},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},sMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},cMn=1,uMn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},dMn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:3,pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",margin:0},fMn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},hMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},pMn=[`Generative design of a solar farm -in an arbitrary shape with a nearby structure`],gMn={docid:ZHn,time:eMn,timestamp:tMn,userid:nMn,owner:oMn,email:iMn,world:rMn,elements:aMn,view:lMn,graphState:sMn,evolutionMethod:cMn,solarPanelArrayLayoutParams:uMn,solarPanelArrayLayoutConstraints:dMn,evolutionaryAlgorithmState:fMn,economicsParams:hMn,notes:pMn},mMn="njsXMFnx8AbzYmZZZSFsP4",yMn="02/08/2023 12:40 pm",AMn=1675878006595,wMn="QWecNcxhyvP6j6sBN11hBsfZDau1",vMn=null,xMn=null,bMn={latitude:42.58194950125034,pvGridCellSize:1.5,timesPerHour:1,longitude:-71.76008801772156,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"275 Pleasant St, Lunenburg, MA 01462, USA",date:"10/15/2021, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,daysPerYear:4},SMn=[{cy:-2.2367402479910083,normal:[0,0,1],lz:.1,ly:269.55803876661787,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:2.681119516922017,cz:.05,rotation:[0,0,0],lx:132.51400330167655,selected:!1,parentId:"Ground"},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.4199120685653116,y:.07319581727959533},{x:-.42368525470067964,y:.35513880940011766},{x:-.31048967063963856,y:.35699369750617377},{x:-.19729408657859754,y:.4701418719755939},{x:.015092744541472141,y:.47114157893824127},{x:.19997886517450586,y:.3116212018174194},{x:.23016435425745013,y:.06306619560590632},{x:.09432965338420088,y:.061211307499850244},{x:.10187602565493695,y:.014839104848448545},{x:.19997886517450586,y:-.033387985909009224},{x:.33581356604775514,y:-.03709776212112136},{x:.38109179967217155,y:-.27637832780235416},{x:.45655552237953223,y:-.27637832780235416},{x:.45655552237953223,y:-.408075383332335},{x:.29430851855870677,y:-.40993027143839106},{x:.29430851855870677,y:-.4451731454534563},{x:-.06414416430125659,y:-.4451731454534563},{x:-.06791735043662463,y:-.4767062432564095},{x:-.32449400764165104,y:-.4767062432564095},{x:-.25280347106965834,y:-.3190407542416437},{x:-.25657665720502637,y:-.16508504143899005},{x:-.16602018995619355,y:-.16508504143899005},{x:-.1633354113602852,y:-.09559900037150687},{x:-.3029432983689025,y:-.0937441122654508},{x:-.3406751597225829,y:.01940406220396935}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"1mf9SJGR5RjzYzk7AYxvf2",lineColor:"#f44e3b",opacity:.1},{type:"Cuboid",cx:-27.296734459596976,cy:-41.20962464677464,cz:1.25,lx:5.828598670924802,ly:8.305908945480084,lz:2.5,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"55Wp5i8LU9QiCSoSTSkhSV"}],TMn={yearlyPvYieldPanelX:-1249,autoRotate:!1,mapZoom:17,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:65,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#68ccca",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[145.94862814334945,-106.4764934595526,163.4608323959844],panCenter:[85.94985190690319,3.43019898834619,0],orthographic:!1,enableRotate:!0,cameraZoom:9.75349958231059,showInstructionPanel:!0,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showMapPanel:!1,showEvolutionPanel:!0,showEconomicsPanel:!1,evolutionPanelX:null,evolutionPanelY:null,evolutionPanelRect:{x:0,y:0,width:640,height:400}},PMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},CMn=1,RMn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},HMn={minimumInterRowSpacing:6,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},MMn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},IMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},zMn=[],DMn={docid:mMn,time:yMn,timestamp:AMn,userid:wMn,owner:vMn,email:xMn,world:bMn,elements:SMn,view:TMn,graphState:PMn,evolutionMethod:CMn,solarPanelArrayLayoutParams:RMn,solarPanelArrayLayoutConstraints:HMn,evolutionaryAlgorithmState:MMn,economicsParams:IMn,notes:zMn},EMn="qzzjGfFHSUFSwo9GQJs9Mb",kMn="02/04/2023 01:27 pm",FMn=1675535240483,LMn="QWecNcxhyvP6j6sBN11hBsfZDau1",WMn=null,NMn=null,UMn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},BMn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"S",showLabel:!0,labelHeight:8.5,labelSize:.8},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{type:"Wall",cx:.10882625565358328,cy:6.456179282384522,cz:2.2408122612280286,lx:15.961175461262725,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[8.089413986284946,6.456179282384521,0],rightPoint:[-7.871761474977779,6.4561792823845225,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:8.089413986284946,cy:-.15071949165393628,cz:2.2301039869226305,lx:13.213797548076919,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[8.089413986284942,-6.757618265692395,0],rightPoint:[8.089413986284947,6.4561792823845225,0],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,centerRoofHeight:[0,8.657123351013743],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:-7.871761474977779,cy:-.15071949165393628,cz:2.228839888904333,lx:13.213797548076919,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-7.871761474977778,6.4561792823845225,0],rightPoint:[-7.871761474977779,-6.757618265692395,0],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,centerRoofHeight:[0,8.657123351013743],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:.10882625565358417,cy:-6.757618265692395,cz:2.268765007024547,lx:15.961175461262727,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-7.871761474977779,-6.757618265692395,0],rightPoint:[8.089413986284947,-6.757618265692395,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Foundation",cx:-13.996646874999989,cy:.06415311833261989,cz:.05,lx:21.734456249999983,ly:19.033724999999986,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:10,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"L",showLabel:!0},{type:"Door",cx:0,cy:0,cz:-.15370387000018937,lx:.12530405450738497,ly:0,lz:.6925922599996213,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"tciKLNsRDLeHZNmeb31ucG"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"gLG7BoTZHSewPba87UV4Za"}],jMn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-23.305173327292444,-30.91478882666535,7.039269079297642],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[5.635542831447647,8.464690688330043,3.125544256683276],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-2,y:-2,width:200,height:87}},YMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},OMn=1,_Mn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},VMn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},GMn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},XMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},JMn=[`Effect of house size -房子大小的影響`],KMn={docid:EMn,time:kMn,timestamp:FMn,userid:LMn,owner:WMn,email:NMn,world:UMn,elements:BMn,view:jMn,graphState:YMn,evolutionMethod:OMn,solarPanelArrayLayoutParams:_Mn,solarPanelArrayLayoutConstraints:VMn,evolutionaryAlgorithmState:GMn,economicsParams:XMn,notes:JMn},qMn="6D1PNtCu8dQATzUSZDdPKf",$Mn="05/22/2023 10:33 am",QMn=1684766015061,ZMn="QWecNcxhyvP6j6sBN11hBsfZDau1",eIn=null,tIn=null,nIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},oIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,.7853981633974483],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"SE",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#cccccc",tint:"#009ce0",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"SW",showLabel:!0,color:"#808080"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"3wrKU52naWH6NwzeW6vGwm"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"9C29UNsLxSuEbxTnestrd8"}],iIn=28,rIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[3.1651364435149425,-31.942224578560552,3.8771204506826087],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[10.838986266637484,1.4239280652904787,3.8771204506826087],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-5,y:0,width:269,height:92}},aIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},lIn=1,sIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},cIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},uIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},dIn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},fIn="Unknown",hIn=null,pIn=null,gIn=null,mIn=[`Effect of house orientation -房屋朝向的影響`],yIn={docid:qMn,time:$Mn,timestamp:QMn,userid:ZMn,owner:eIn,email:tIn,world:nIn,elements:oIn,sceneRadius:iIn,view:rIn,graphState:aIn,evolutionMethod:lIn,solarPanelArrayLayoutParams:sIn,solarPanelArrayLayoutConstraints:cIn,evolutionaryAlgorithmState:uIn,economicsParams:dIn,modelType:fIn,modelAuthor:hIn,modelLabel:pIn,modelDescription:gIn,notes:mIn},AIn="gRqNfJd8beo5ietdqmmTM2",wIn="05/22/2023 10:35 am",vIn=1684766140952,xIn="QWecNcxhyvP6j6sBN11hBsfZDau1",bIn=null,SIn=null,TIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},PIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"👎",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:3.5222057461264544,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"👍",showLabel:!0,color:"#808080"},{type:"Door",cx:-.020833333333333332,cy:0,cz:-.125,lx:.125,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"vNVpqbsNF7tYjDx7E7kMLR"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"xpWZ6k69MtomLyhCbBynNa"}],CIn=24,RIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-18.39191326488849,-28.88082266775545,4.500680104409036],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[9.06975830834568,5.812472797471483,4.500680104409029],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-2,y:-1,width:243,height:90}},HIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},MIn=1,IIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},zIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},DIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},EIn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},kIn="Unknown",FIn=null,LIn=null,WIn=null,NIn=[`Effect of insulation -房屋隔熱性的影響`],UIn={docid:AIn,time:wIn,timestamp:vIn,userid:xIn,owner:bIn,email:SIn,world:TIn,elements:PIn,sceneRadius:CIn,view:RIn,graphState:HIn,evolutionMethod:MIn,solarPanelArrayLayoutParams:IIn,solarPanelArrayLayoutConstraints:zIn,evolutionaryAlgorithmState:DIn,economicsParams:EIn,modelType:kIn,modelAuthor:FIn,modelLabel:LIn,modelDescription:WIn,notes:NIn},BIn="2b6To2exbyQMzsnyC5zQ4h",jIn="05/22/2023 10:37 am",YIn=1684766230048,OIn="QWecNcxhyvP6j6sBN11hBsfZDau1",_In=null,VIn=null,GIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},XIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"B",showLabel:!0,labelHeight:6.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"A",labelHeight:6.5,showLabel:!0,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#cccccc",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"fPNsZAwsuY65jcgPGD7JxY"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"pMhyfs2o4fEnaE7UjB8PVu"}],JIn=22,KIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.301199186500163,-22.5861615760567,3.4543056235043506],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[6.0653741729769015,2.261846946588245,3.4543056235043506],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-4,width:278,height:87}},qIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},$In=1,QIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ZIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ezn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},tzn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},nzn="Unknown",ozn=null,izn=null,rzn=null,azn=[`Effect of roof color -屋頂顔色的影響`],lzn={docid:BIn,time:jIn,timestamp:YIn,userid:OIn,owner:_In,email:VIn,world:GIn,elements:XIn,sceneRadius:JIn,view:KIn,graphState:qIn,evolutionMethod:$In,solarPanelArrayLayoutParams:QIn,solarPanelArrayLayoutConstraints:ZIn,evolutionaryAlgorithmState:ezn,economicsParams:tzn,modelType:nzn,modelAuthor:ozn,modelLabel:izn,modelDescription:rzn,notes:azn},szn="gyoLQ5RfiYexA7q1ehdofm",czn="05/22/2023 10:45 am",uzn=1684766701791,dzn="QWecNcxhyvP6j6sBN11hBsfZDau1",fzn=null,hzn=null,pzn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},gzn=[{type:"Human",name:"Jacqueline",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"B",showLabel:!0,labelHeight:7,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#808080",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"A",labelHeight:7,showLabel:!0,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.8,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#808080",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"uPY2H1vbzdvDNNQKsQzM2R"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"qj1uppbZ68e6DUdrkgfzdA"}],mzn=22,yzn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-11.365944827281202,-27.884282052116806,4.909032289220344],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[8.512452835588759,2.1768673048896354,4.909032289220344],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-1,y:0,width:284,height:88}},Azn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},wzn=1,vzn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},xzn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},bzn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Szn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Tzn="Unknown",Pzn=null,Czn=null,Rzn=null,Hzn=[`Effect of eaves overhang -屋簷延申長度的影響`],Mzn={docid:szn,time:czn,timestamp:uzn,userid:dzn,owner:fzn,email:hzn,world:pzn,elements:gzn,sceneRadius:mzn,view:yzn,graphState:Azn,evolutionMethod:wzn,solarPanelArrayLayoutParams:vzn,solarPanelArrayLayoutConstraints:xzn,evolutionaryAlgorithmState:bzn,economicsParams:Szn,modelType:Tzn,modelAuthor:Pzn,modelLabel:Czn,modelDescription:Rzn,notes:Hzn},Izn="iJM88uQ7kfN8BTPGSVD3jV",zzn="05/22/2023 10:47 am",Dzn=1684766839823,Ezn="QWecNcxhyvP6j6sBN11hBsfZDau1",kzn=null,Fzn=null,Lzn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},Wzn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#009ce0",opacity:.65,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#009ce0",opacity:.65,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.35,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.35,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"B",showLabel:!0,color:"#666666"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"rRMpmcwQNzvRYmkTWpEhiw"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"jyiupxyxWNzhU4yRrTPHU1"}],Nzn=24,Uzn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-16.77287507225449,-24.274336266873924,5.320155603217975],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[10.498836843888402,4.793969537181787,2.890808814152251],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-5,y:-1,width:421,height:65}},Bzn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},jzn=1,Yzn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Ozn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},_zn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Vzn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Gzn="Unknown",Xzn=null,Jzn=null,Kzn=null,qzn=["Effect of solar heat gain coefficients (SHGC) of windows"],$zn={docid:Izn,time:zzn,timestamp:Dzn,userid:Ezn,owner:kzn,email:Fzn,world:Lzn,elements:Wzn,sceneRadius:Nzn,view:Uzn,graphState:Bzn,evolutionMethod:jzn,solarPanelArrayLayoutParams:Yzn,solarPanelArrayLayoutConstraints:Ozn,evolutionaryAlgorithmState:_zn,economicsParams:Vzn,modelType:Gzn,modelAuthor:Xzn,modelLabel:Jzn,modelDescription:Kzn,notes:qzn},Qzn="6nLDNj8vM4d4LSQKVT9SXo",Zzn="05/22/2023 10:49 am",eDn=1684766960725,tDn="QWecNcxhyvP6j6sBN11hBsfZDau1",nDn=null,oDn=null,iDn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},rDn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"20℃",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#999999"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:25},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"25℃",showLabel:!0,color:"#999999"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"1TYVF9JTXJtxWba41xgetC"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"afEtgeFVMoeDZdyxJU1psm"}],aDn=24,lDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.828926822512322,-33.873528421784314,4.788669771967834],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[11.438181824994281,-4.700464851624883,4.788669771967831],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-1,y:0,width:277,height:63}},sDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},cDn=1,uDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},dDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},fDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},hDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},pDn="Unknown",gDn=null,mDn=null,yDn=null,ADn=["Effect of thermostat setpoint"],wDn={docid:Qzn,time:Zzn,timestamp:eDn,userid:tDn,owner:nDn,email:oDn,world:iDn,elements:rDn,sceneRadius:aDn,view:lDn,graphState:sDn,evolutionMethod:cDn,solarPanelArrayLayoutParams:uDn,solarPanelArrayLayoutConstraints:dDn,evolutionaryAlgorithmState:fDn,economicsParams:hDn,modelType:pDn,modelAuthor:gDn,modelLabel:mDn,modelDescription:yDn,notes:ADn},vDn="uQrNcHUUR7GCUfUbuFogjq",xDn="02/04/2023 01:39 pm",bDn=1675535990373,SDn="QWecNcxhyvP6j6sBN11hBsfZDau1",TDn=null,PDn=null,CDn={solarRadiationHeatmapGridCellSize:.5,date:"7/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},RDn=[{type:"Human",name:"Jamelia",cx:-4.3683434199366005,cy:-14.38651482103353,cz:0,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Foundation",cx:-13.228758971915111,cy:.10702186833261693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:9,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.0818182264215075,cy:-.11406220740522244,cz:2.2301039869226305,lx:9.999999999999998,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.0818182264215075,-5.1140622074052215,.1],rightPoint:[6.081818226421507,4.885937792594777,.1],relativeAngle:1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H",uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:.2916666666666667,lx:.08333333333333337,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #6",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"gLG7BoTZHSewPba87UV4Za",uValue:1.135652},{type:"Window",cx:-.16666666666666666,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vLVbxQBoEhW71qxT8m1C96",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"26QzSovJr2WkHKUiErU1ER",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dZ11kEn33ciPLMqva4wYhW",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.16666666666666666,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oEPM7Qer3dagcgAZgTd83X",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nJe6q1fYHpVb61zzuXMiiq",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"atbMWVsRWU1gP4pFd8UmqE",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4Xcrc4Qc969xumwjdaTpEv",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9r471ngxUS5HfZPQXAbspz",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nuMh9HUjsyggQDkK4K4z9r",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5TzjYq921EthYvgGjhkd95",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"i86kfMa5D3a95EHYr74Cik",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fes2JVoykppGjYbeBaK1t6",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hRvyn5tFnyKbZGmExP8ZBN",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fHUqZ9dwKm5QsdBz4rQhkH",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hVPD3ovUCMHizYi7hHMynX",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"92r9RVUcqNvqTSSqzXVWe8",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"88LWhfUeptGcLDGkhffTYu",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jJyncTarX8t32trtWmHYJ8",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tbGfuWPSK8hFimiixh3gnq",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.0463748368250254,thickness:.2,rValue:2.8177645969011635,roofType:"Gable",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj"],textureType:"Roof Texture Default",color:"#333333",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"6YiUmdowinEDGE2jXwEcty",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],volumetricHeatCapacity:.2,ceiling:!1},{type:"Window",cx:.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uPf27SYtJ3oEqK8uLnnYC4",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:0,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"41qtH3jyhy6TAYrTpcQ22r",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"c15PoZLmaL9G5281NC3Bky",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"e8J6XhFvtnTfamsfk7MdQo",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:-4625929269271485e-33,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1.135652,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1Z9wCTEw4evBfgBWBx239G"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["iUbSPuuaLHTe92zf2RbbzH"],rightJoints:["b2z6LAysW1ypLiK23VhMbQ"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"t5aKJuTWqFhNtovV6QcVDQ",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6XAyQ1Y5un66zE9fws5TBK",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5Fr8WLjKhMXxtEUSo3U3cz",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:0,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bFA3kdwdbv23kgNuvqrBLu",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2peuf57tgQn8h8KDddojmU",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pRLjDR4NSZstZSY2CyZhG6",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:-4625929269271485e-33,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,color:"#ffffff",textureType:"Door Texture #1",filled:!0,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"fRfZQadrT6sohNBtnZQnjD",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",selected:!1,uValue:1.135652},{type:"Wall",cx:6.0818182264215075,cy:-.11406220740522244,cz:2.2301039869226305,lx:9.999999999999998,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["t1vsyYVv6oASAroVbtBJh8"],rightJoints:["t5aKJuTWqFhNtovV6QcVDQ"],leftPoint:[6.0818182264215075,-5.1140622074052215,.1],rightPoint:[6.081818226421507,4.885937792594777,.1],relativeAngle:1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"iUbSPuuaLHTe92zf2RbbzH",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.35833333333333334,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"twjCCVvcJUWUtdX8G6XaEz",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fJ9ef8TPTGwzuoD998nCxH",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"75FMXmZGkavm2QX1w7Rd2n",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"digHAxUKfqtzZ8Hf1JBrDE",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pUavBYiArb55RaZvTqEZ7s",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bMNcD6i8MyPWUstcj4RLAn",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["t5aKJuTWqFhNtovV6QcVDQ"],rightJoints:["t1vsyYVv6oASAroVbtBJh8"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"b2z6LAysW1ypLiK23VhMbQ",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:.3416666666666667,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7af2qg5wEnfy5x3dVwJDa9",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8pzbRVzHdUJ21tt86EiuYq",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9Rqpx9csAi6gzvsKmMevD7",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sRtEGAvWiVdZjNF7cbimyK",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cYa823h2xpVhLafAMFJLLp",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eCrrhs7nC8ZLgf3kozqASz",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["b2z6LAysW1ypLiK23VhMbQ"],rightJoints:["iUbSPuuaLHTe92zf2RbbzH"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"t1vsyYVv6oASAroVbtBJh8",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xoY2sZ3zu3yaqNq4svSL83",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:.2916666666666667,lx:.08333333333333337,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"shVdFBTLP3GUxKo2h9rQPd",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,color:"#ffffff",textureType:"Door Texture #6",filled:!0,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"miHyMDSBYSuj5NSFDxZf2d",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",selected:!1,uValue:1.135652},{type:"Window",cx:-.16666666666666666,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"izobe4AEhigpZU6WX5N4k5",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"o5YP1zidq8SX6PcUxxaAjL",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4GhJEysBwSqkSWJpqyaJ48",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.16666666666666666,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aAGJp2q5U3FuWTdYaSVjDf",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"twPsG5mQU2qWwH6PZR3MFv",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1Gwnr8y8qnWjyqse356de2",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{id:"5ujWfCT94pVpZ6u8JCHaJM",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.0463748368250254,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.2,wallsId:["t5aKJuTWqFhNtovV6QcVDQ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,volumetricHeatCapacity:.2,ceiling:!1},{type:"Foundation",cx:13.117837499999993,cy:-.021318315185384407,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},labelHeight:9,labelSize:.8,showLabel:!0,id:"9Lzok59gfWu44BJHP6NeDv",selected:!1,label:"B",color:"#666666"},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!0,poleHeight:10,poleRadius:.05,poleSpacing:3,cx:.017473997824250177,cy:-.1848238594563359,cz:7.203451961471109,lx:10.906,ly:4.184,lz:.046,showLabel:!1,normal:[-25496209749856465e-33,-.3787787636615868,.9254872490742375],rotation:[.38847637916043065,0,-2220446049250313e-31],color:"#fff",frameColor:"white",parentType:"Roof",parentId:"5ujWfCT94pVpZ6u8JCHaJM",foundationId:"9Lzok59gfWu44BJHP6NeDv",id:"m7muU5PcHHSqA6qooFMWMX",selected:!1}],HDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.205706148898816,-34.501280243521734,7.541149435690317],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[7.9613043217859705,4.9057140700953275,7.541149435690313],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:675,height:408},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:-1091,y:218,width:775,height:342},stickyNotePanelRect:{x:-3,y:-2,width:275,height:63}},MDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},IDn=1,zDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},DDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},EDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},FDn=["Effect of rooftop solar panels"],LDn={docid:vDn,time:xDn,timestamp:bDn,userid:SDn,owner:TDn,email:PDn,world:CDn,elements:RDn,view:HDn,graphState:MDn,evolutionMethod:IDn,solarPanelArrayLayoutParams:zDn,solarPanelArrayLayoutConstraints:DDn,evolutionaryAlgorithmState:EDn,economicsParams:kDn,notes:FDn},WDn="4VyiQ32UEi5Uhg2actsJ7k",NDn="05/22/2023 10:52 am",UDn=1684767120478,BDn="QWecNcxhyvP6j6sBN11hBsfZDau1",jDn=null,YDn=null,ODn={solarRadiationHeatmapGridCellSize:.5,date:"7/1/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},_Dn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"Uninsulated floor",showLabel:!0,labelHeight:7,labelSize:.5,color:"#808080",rValue:1.7611028730632272},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#808080",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"Insulated floor",labelHeight:7,showLabel:!0,labelSize:.5,color:"#808080",rValue:3.5222057461264544},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#808080",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"3uhARcmLhJJ7AF4oGmRXFJ"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"rJ589nLaG9XWmTRZhwLvTz"}],VDn=22,GDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-17.829241192466892,-21.107034059971184,4.718921354569243],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[4.327600264578368,2.7041849125647666,4.718921354569243],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!0,diurnalTemperaturePanelRect:{x:-1,y:1,width:517,height:333},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:10,stickyNotePanelRect:{x:-2,y:344,width:517,height:60}},XDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},JDn=1,KDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},qDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},$Dn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},QDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ZDn="Unknown",eEn=null,tEn=null,nEn=null,oEn=["Effect of ground temperature and floor insulation"],iEn={docid:WDn,time:NDn,timestamp:UDn,userid:BDn,owner:jDn,email:YDn,world:ODn,elements:_Dn,sceneRadius:VDn,view:GDn,graphState:XDn,evolutionMethod:JDn,solarPanelArrayLayoutParams:KDn,solarPanelArrayLayoutConstraints:qDn,evolutionaryAlgorithmState:$Dn,economicsParams:QDn,modelType:ZDn,modelAuthor:eEn,modelLabel:tEn,modelDescription:nEn,notes:oEn},rEn="gTE5M2QuRpvxtj7gFjQvBp",aEn="05/22/2023 10:53 am",lEn=1684767216212,sEn="QWecNcxhyvP6j6sBN11hBsfZDau1",cEn=null,uEn=null,dEn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},fEn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Tree",name:"Maple",cx:11.597557786217195,cy:-9.10270743636709,cz:0,lx:11.852806241793175,lz:12.934464914753796,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"o3k54VQM47Q54nSJAwrmEn",selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"B",showLabel:!0,color:"#666666"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #14",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"p8R6iYpCmdMa5Cs4zuS1P6"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #14",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"56LE4zBekLnvJc9jFEm7Yu"}],hEn=24,pEn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-25.541858353538785,-23.926978121750373,5.679305436989464],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[13.47063227815913,1.5150691532035274,5.679305436989461],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-2,width:203,height:64}},gEn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},mEn=1,yEn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},AEn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},wEn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},vEn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},xEn="Unknown",bEn=null,SEn=null,TEn=null,PEn=["Effect of trees"],CEn={docid:rEn,time:aEn,timestamp:lEn,userid:sEn,owner:cEn,email:uEn,world:dEn,elements:fEn,sceneRadius:hEn,view:pEn,graphState:gEn,evolutionMethod:mEn,solarPanelArrayLayoutParams:yEn,solarPanelArrayLayoutConstraints:AEn,evolutionaryAlgorithmState:wEn,economicsParams:vEn,modelType:xEn,modelAuthor:bEn,modelLabel:SEn,modelDescription:TEn,notes:PEn},REn="21TNkEaRQtmkMpHquDpRhe",HEn="03/21/2023 12:30 pm",MEn=1679416202848,IEn="QWecNcxhyvP6j6sBN11hBsfZDau1",zEn=null,DEn=null,EEn={solarRadiationHeatmapGridCellSize:.25,date:"1/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},kEn=[{type:"Human",name:"Judd",cx:2.5001103094985826,cy:-6.058721988130646,cz:.030962420627473897,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-10.117024999999996,cy:.27838070851727714,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"No Ceiling",showLabel:!0,labelHeight:6,labelSize:.5,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.068830689450057,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.029166666666666664,cy:0,cz:-.08333333333333333,lx:.10833333333333334,ly:0,lz:.8333333333333334,color:"white",uValue:1.7034779999999998,textureType:"Door Texture #17",filled:!0,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"9j89u3pSufVm3Q5kpF4NcM",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",selected:!1},{type:"Human",name:"Jena",cx:2.5001103094985826,cy:-6.058721988130646,cz:.030962420627473897,lx:.695,ly:.42,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"cfvC81ormzBEgA9Ah4eP3v",id:"34EHkp2Lb8b2vnEKfniznR",selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["rHyZXvwyEPAa7dU7nYmXpR"],rightJoints:["jvSvdwWqKHJqgaZtgavr3X"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8NQNpFkXNGAXtcTwXhtHNW",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["sb7GHiMmhgNyZJdQ71BL5y"],rightJoints:["8NQNpFkXNGAXtcTwXhtHNW"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rHyZXvwyEPAa7dU7nYmXpR",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["8NQNpFkXNGAXtcTwXhtHNW"],rightJoints:["sb7GHiMmhgNyZJdQ71BL5y"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jvSvdwWqKHJqgaZtgavr3X",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["jvSvdwWqKHJqgaZtgavr3X"],rightJoints:["rHyZXvwyEPAa7dU7nYmXpR"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sb7GHiMmhgNyZJdQ71BL5y",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Window",cx:-.3125,cy:.1,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q6p3CCHJFvsqrEsXwbRh1R",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3125,cy:.1,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"j1XnXywfGpFArNKZPbAhkm",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:4625929269271485e-33,cy:0,cz:-.08333333333333333,lx:.10833333333333334,ly:0,lz:.8333333333333334,color:"white",uValue:1.7034779999999998,textureType:"Door Texture #17",filled:!0,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"6uoZg4uoFLaTiYnPcJZ3V9",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",selected:!1},{id:"gCFHHnVKnRgFUFksjrmZCm",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!0,rise:2.068830689450057,color:"#4d4d4d",rValue:1.7611028730632272,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["sb7GHiMmhgNyZJdQ71BL5y"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,ceilingRValue:3.5222057461264544},{type:"Foundation",cx:10.177578528084874,cy:.23562811833261754,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},labelHeight:6,labelSize:.5,showLabel:!0,id:"cfvC81ormzBEgA9Ah4eP3v",selected:!1,label:"Insulated Ceiling"}],FEn=23,LEn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,.08573749999997851,4287065548240426e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,.08558749333259577,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-19.73331041183491,-15.606053038152623,2.569638957524864],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[3.388120187568702,1.9907625161279443,1.1720990830439746],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:3,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-2,y:3,width:510,height:354},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:2,stickyNotePanelRect:{x:-4,y:2,width:397,height:65}},WEn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},NEn=1,UEn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},BEn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},jEn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},YEn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},OEn="Unknown",_En=null,VEn=null,GEn=null,XEn=["Thermal envelope vs. building envelope"],JEn={docid:REn,time:HEn,timestamp:MEn,userid:IEn,owner:zEn,email:DEn,world:EEn,elements:kEn,sceneRadius:FEn,view:LEn,graphState:WEn,evolutionMethod:NEn,solarPanelArrayLayoutParams:UEn,solarPanelArrayLayoutConstraints:BEn,evolutionaryAlgorithmState:jEn,economicsParams:YEn,modelType:OEn,modelAuthor:_En,modelLabel:VEn,modelDescription:GEn,notes:XEn},KEn=t=>{let e;switch(t){case"sun_angles":e=dnn;break;case"insolation_and_climate":e=Rnn;break;case"solar_radiation_to_box":e=Onn;break;case"sun_beam_at_center":e=ron;break;case"thermal_vs_building_envelope":e=JEn;break;case"effect_house_size":e=KMn;break;case"effect_house_orientation":e=yIn;break;case"effect_wall_roof_insulation":e=UIn;break;case"effect_roof_color":e=lzn;break;case"effect_eaves_overhang_length":e=Mzn;break;case"effect_window_shgc":e=$zn;break;case"effect_thermostat_setpoint":e=wDn;break;case"effect_solar_panels":e=LDn;break;case"effect_ground_temperature":e=iEn;break;case"effect_trees":e=CEn;break;case"office_building_01":e=fyn;break;case"hotel_01":e=Hyn;break;case"spanish_style_hotel":e=qyn;break;case"apartment_building_01":e=A2n;break;case"white_house":e=Hmn;break;case"bilim_mersin_turkiye":e=qmn;break;case"south_burlington_high_school":e=F2n;break;case"mescalero_apache_school":e=Q2n;break;case"heatmap_01":e=s5n;break;case"vegetative_buffer_01":e=P6n;break;case"solar_canopy_form_factors":e=nwn;break;case"solar_canopy_over_bleachers":e=wwn;break;case"solar_bus_stop":e=jwn;break;case"solar_facade_tesla":e=O7n;break;case"solar_canopy_over_garage":e=C7n;break;case"bipv_01":e=i7n;break;case"floatovoltaics":e=a8n;break;case"agriculture_solar_wind_colocation":e=E8n;break;case"effect_tilt_angle_solar_panel":e=Y6n;break;case"effect_azimuth_solar_panel":e=rAn;break;case"effect_azimuth_parabolic_trough":e=bAn;break;case"effect_latus_rectum_parabolic_trough":e=NAn;break;case"parabolic_dish_focus_sunlight":e=_vn;break;case"effect_orientation_solar_panel":e=t4n;break;case"solar_panel_types":e=xon;break;case"vertical_bifacial_solar_panels":e=Gon;break;case"compare_monofacial_bifacial_solar_panels":e=yin;break;case"why_solar_array":e=y4n;break;case"solar_panel_array_auto_layout":e=U4n;break;case"inter_row_spacing":e=q8n;break;case"rooftop_solar_panels":e=kin;break;case"solar_panels_over_canal":e=Can;break;case"solar_noise_barrier":e=can;break;case"rainbow_swash_solar_farm":e=$in;break;case"mickey_mouse_solar_farm":e=prn;break;case"solar_farm_hsat_array":e=Irn;break;case"solar_farm_aadat_array":e=Grn;break;case"solar_trackers":e=Oan;break;case"nevada_solar_one_parabolic_troughs":e=Hvn;break;case"tooele_parabolic_dish_array":e=axn;break;case"ps10_solar_power_tower":e=fvn;break;case"linear_fresnel_reflectors":e=Sxn;break;case"linear_fresnel_reflectors_two_absorbers":e=Bxn;break;case"effect_absorber_pipe_height":e=obn;break;case"effect_azimuth_fresnel_reflector":e=vbn;break;case"cosine_efficiency_heliostats":e=Ybn;break;case"shadowing_blocking_heliostats":e=uSn;break;case"effect_solar_power_tower_height":e=DSn;break;case"solar_power_tower":e=KSn;break;case"solar_updraft_tower":e=FPn;break;case"solar_updraft_tower_city":e=VPn;break;case"effect_blade_number":e=ACn;break;case"effect_pitch_angle":e=VCn;break;case"bird_safe_blade_design":e=ARn;break;case"offshore_wind_farm":e=VRn;break;case"cape_cod_with_shed_dormer":e=zln;break;case"mansard_roof_with_dormers":e=Zln;break;case"t_shaped_house":e=xsn;break;case"all_roof_types":e=aln;break;case"a_frame_house":e=Phn;break;case"half_timbered_house":e=Xhn;break;case"dutch_gable_roof":e=ohn;break;case"combination_roof_vs_bonnet_roof":e=ppn;break;case"butterfly_roof_house":e=Lpn;break;case"gable_roof_vs_hip_roof":e=o1n;break;case"gable_and_valley_roof":e=T1n;break;case"clerestory_roof":e=V1n;break;case"monitor_roof":e=hgn;break;case"colonial_vs_saltbox":e=kgn;break;case"gambrel_roof_vs_mansard_roof":e=tmn;break;case"colonial_house":e=lfn;break;case"dutch_colonial_house":e=Dfn;break;case"cape_cod_with_garage":e=Osn;break;case"greenhouse":e=I5n;break;case"solarium":e=xun;break;case"pavilion":e=o9n;break;case"octagonal_pagoda":e=v9n;break;case"ocean_front":e=W9n;break;case"mosque_01":e=Nun;break;case"church_01":e=tdn;break;case"cathedral_01":e=Adn;break;case"cathedral_02":e=Bdn;break;case"adobe_taos_house":e=acn;break;case"egyptian_pyramids":e=e3n;break;case"mayan_pyramid":e=S3n;break;case"si_o_se_pol":e=B3n;break;case"stacked_cuboids":e=s6n;break;case"barn_house":e=z0n;break;case"ranch_house":e=Ecn;break;case"bonnet_house":e=i0n;break;case"modern_house_01":e=Z0n;break;case"solar_radiation_predicted_vs_measured":e=dTn;break;case"bestest_case_600":e=HTn;break;case"bestest_case_610":e=VTn;break;case"bestest_case_620":e=sPn;break;case"bestest_case_630":e=PPn;break;case"tucson_sundt_station":e=tHn;break;case"ai_tilt_angle_one_row":e=AHn;break;case"ai_tilt_angles_multiple_rows":e=FHn;break;case"ai_solar_farm_design":e=QHn;break;case"ai_solar_farm_design_block":e=gMn;break;case"ai_fitchburg_solar_farm":e=DMn;break}return e},OH=()=>{const t=M(dn),e=M(Rje),n=M(Hje),o=M(hp),i=Kt(),r=be.isMac(),a=()=>{if(n&&n.length>0){const l=e();if(l.length>0){const s={name:"Paste to Point",timestamp:Date.now(),pastedElements:l.map(c=>({...c})),undo:()=>{for(const c of s.pastedElements)o(c.id,!1)},redo:()=>{t(c=>{c.elements.push(...s.pastedElements),c.selectedElement=s.pastedElements[0],c.updateElementOnRoofFlag=!0})}};M.getState().addUndoable(s)}}};return h.jsxs(tn,{onClick:a,children:[O.t("word.Paste",i),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",r?"⌘":"Ctrl","+V)"]})]})},Sf=()=>{const t=M(dn),e=M(Cje),n=M(ha),o=Kt(),i=be.isMac(),r=()=>{const a=M.getState().selectedElement;a&&(e(a.id),n&&t(l=>{l.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:a.id,elementType:a.type}}))};return h.jsxs(tn,{onClick:r,children:[O.t("word.Copy",o),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",i?"⌘":"Ctrl","+C)"]})]})},Tf=()=>{const t=M(dn),e=M(hp),n=be.isMac(),o=Kt(),i=()=>{const r=M.getState().selectedElement;if(!(!r||r.type===z.Roof))if(r.locked)fn(O.t("message.ThisElementIsLocked",o));else{const a=e(r.id,!0);if(a.length===0)return;if(be.isElementTriggerAutoDeletion(a[0]))Ln.getState().setListenToAutoDeletionByCut(!0),gt.getState().setPrimitiveStore("selectedElementId",r.id);else{const l={name:"Cut",timestamp:Date.now(),deletedElements:a,selectedElementId:r.id,undo:()=>{const s=l.deletedElements;if(s.length===0)return;const c=s.find(u=>u.id===l.selectedElementId);c&&t(u=>{for(const d of s)u.elements.push(d);if(c.type===z.Wall){const d=c;let f=null,p=null;if(d.leftJoints.length>0&&(f=d.leftJoints[0]),d.rightJoints.length>0&&(p=d.rightJoints[0]),f||p)for(const g of u.elements)g.id===f&&g.type===z.Wall&&(g.rightJoints[0]=d.id),g.id===p&&g.type===z.Wall&&(g.leftJoints[0]=d.id)}})},redo:()=>{l.deletedElements&&l.deletedElements.length>0&&e(l.deletedElements[0].id,!0)}};M.getState().addUndoable(l)}}};return h.jsxs(tn,{onClick:i,children:[O.t("word.Cut",o),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",n?"⌘":"Ctrl","+X)"]})]})},Md=({selectedElement:t})=>{const e=Kt(),n=M(pwt),o=M(En),i=a=>{t&&n(t.id,a)},r=a=>{const l=a.target.checked,s={name:"Lock",timestamp:Date.now(),checked:l,selectedElementId:t==null?void 0:t.id,selectedElementType:t==null?void 0:t.type,undo:()=>{i(!s.checked)},redo:()=>{i(s.checked)}};o(s),i(l)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.locked,onChange:r,children:O.t("word.Lock",e)})})},tn=({stayAfterClick:t,noPadding:e,fontWeight:n,textSelectable:o=!0,update:i,onClick:r,children:a})=>{const l=s=>{r&&r(s),t&&s.stopPropagation(),i&>.getState().updateContextMenu()};return h.jsx("span",{onClick:l,style:{userSelect:o?"auto":"none",display:"inline-block",fontWeight:n,width:"100%",paddingLeft:e?"0px":"24px"},children:a})},io=({Dialog:t,noPadding:e,children:n})=>{const[o,i]=m.useState(!1),r=()=>{M.getState().setApplyCount(0),i(!0)};return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:e,onClick:r,children:n}),o&&h.jsx(t,{setDialogVisible:i})]})},m$e=({groupableElement:t})=>{const e=Kt(),n=()=>{M.getState().set(i=>{for(const r of i.elements)if(r.id===t.id&&hd(r)){r.enableGroupMaster=!r.enableGroupMaster;break}i.groupActionUpdateFlag=!i.groupActionUpdateFlag})},o=i=>{const r={name:"Group Master",timestamp:Date.now(),checked:i.target.checked,selectedElementId:t.id,selectedElementType:t.type,undo:()=>n(),redo:()=>n()};M.getState().addUndoable(r),n()};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.enableGroupMaster,onChange:o,children:O.t("foundationMenu.GroupMaster",e)})})},qG=({element:t,inside:e,children:n})=>{const o=M.getState().updateInsideLightsByParentId,i=()=>{const r=new Map;for(const l of M.getState().elements)l.parentId===t.id&&l.type===z.Light&&r.set(l.id,l.inside);o(t.id,e);const a={name:e?`Set All Lights on ${t.type} Inside`:`Set All Lights on ${t.type} Outside`,timestamp:Date.now(),oldValues:r,newValue:!0,undo:()=>{for(const[l,s]of a.oldValues.entries())M.getState().updateInsideLightById(l,s)},redo:()=>{o(t.id,e)}};M.getState().addUndoable(a)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:i,children:n})},Pye=({solarCollector:t})=>{const e=M.getState().updateSolarCollectorDrawSunBeamById,n=Kt(),o=i=>{const r={name:"Show Sun Beam",timestamp:Date.now(),checked:!t.drawSunBeam,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{e(t.id,!r.checked)},redo:()=>{e(t.id,r.checked)}};M.getState().addUndoable(r),e(t.id,i)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.drawSunBeam,onChange:i=>o(i.target.checked),children:O.t("solarCollectorMenu.DrawSunBeam",n)})})},c7=({checked:t,onClick:e,children:n})=>h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onClick:e,children:n})}),bC=({min:t,max:e,value:n,onChange:o,children:i})=>h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[i,h.jsx(Mu,{min:t,max:e,tooltip:{open:!1},defaultValue:n,onChange:o})]}),nh=({children:t})=>h.jsx("span",{style:{paddingLeft:"2px",fontSize:9},children:t}),r2=({selector:t,onChange:e,children:n})=>{const o=M(t);return h.jsx(tn,{noPadding:!0,stayAfterClick:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:o,onChange:e,children:n})})},Dre=({selector:t,onChange:e,children:n})=>{const o=M(t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:n}),h.jsx(wc,{checked:o,onChange:e})]})},y$e="/aladdin/assets/map_residential_building-BlM-FtN4.png",A$e="/aladdin/assets/map_commercial_building-DgYY52Jp.png",w$e="/aladdin/assets/map_school_building-B4f7IMQ-.png",v$e="/aladdin/assets/map_tourist_attraction-qR1MEaG5.png",x$e="/aladdin/assets/map_solar_panel-DyfTsHia.png",b$e="/aladdin/assets/map_parabolic_dish-C1NBHVgm.png",S$e="/aladdin/assets/map_parabolic_trough-CCcc-zs6.png",T$e="/aladdin/assets/map_fresnel_reflector-Bzw0EMA6.png",P$e="/aladdin/assets/map_heliostat-BXje3i1H.png",C$e="/aladdin/assets/map_under_construction-fpLVLcIy.png",R$e="/aladdin/assets/map_marker-C9GhGDY6.png",H$e="/aladdin/assets/map_wind_turbine-Bw5iob8S.png",M$e="/aladdin/assets/map_colocation_projects-PrxUC05F.png";var fQ={exports:{}},I$e={};function z$e(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const n=(t=window.document)===null||t===void 0||(t=t.documentElement)===null||t===void 0?void 0:t.style;if(!n||e in n)return"";for(let o=0;oe===n.identifier)||t.changedTouches&&(0,Ag.findInArray)(t.changedTouches,n=>e===n.identifier)}function ykn(t){if(t.targetTouches&&t.targetTouches[0])return t.targetTouches[0].identifier;if(t.changedTouches&&t.changedTouches[0])return t.changedTouches[0].identifier}function Akn(t){if(!t)return;let e=t.getElementById("react-draggable-style-el");e||(e=t.createElement("style"),e.type="text/css",e.id="react-draggable-style-el",e.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;} +automatically layout the array.`],W4n={docid:m4n,time:y4n,timestamp:A4n,userid:w4n,owner:v4n,email:x4n,world:b4n,elements:S4n,sceneRadius:T4n,view:P4n,graphState:C4n,evolutionMethod:R4n,solarPanelArrayLayoutParams:H4n,solarPanelArrayLayoutConstraints:M4n,evolutionaryAlgorithmState:I4n,economicsParams:z4n,modelType:D4n,modelAuthor:E4n,modelLabel:k4n,modelDescription:F4n,notes:L4n},N4n="6VEXdSdGFhXnQZHfdXvgS7",U4n="02/02/2023 05:25 pm",B4n=1675376741403,j4n="QWecNcxhyvP6j6sBN11hBsfZDau1",Y4n=null,O4n=null,_4n={timesPerHour:20,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2022 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,solarRadiationHeatmapGridCellSize:.5,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},V4n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:.01492842170085762,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:8.502064537189229,type:"Foundation",cx:-18.41116088158014,selected:!1,cz:.05,lx:17.842360789303687,parentId:"Ground"},{tiltAngle:.17453292519943295,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:-.18343704156525936,drawSunBeam:!1,poleHeight:3,lx:15.58,relativeAzimuth:0,trackerType:"None",cx:.0181751573598281,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:3.138,poleRadius:.05,label:"A1",orientation:"Landscape",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:35.54542639501863,labelSize:1,labelHeight:1},{type:"Human",name:"Jack",cx:5.0617851423711855,cy:-3.5130800185994246,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.018913624924680107,cy:.17920253753513882,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:-.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"bqrD5jMPaBdy2VU82Pf8jX",selected:!1,dailyYield:27.191418577368122,drawSunBeam:!0,label:"A2",labelHeight:1,labelSize:1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.017803254641984647,cy:-.17133196101794607,cz:.5000000074506161,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",foundationId:"sp1YZua8fLpGUcQPoeBUrY",id:"jY1SyCfNFUJ6aZrVBG9yei",selected:!1,dailyYield:31.69613876356361,label:"B1",labelHeight:1,labelSize:1},{type:"Human",name:"Jade",cx:-2.04763165702893,cy:.5372372205223073,cz:.05000000074505717,lx:.6,ly:.6,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",id:"bh4ogCSa9KLpabxMXJSMdr",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0178798068026682,cy:.19617148450633917,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",foundationId:"sp1YZua8fLpGUcQPoeBUrY",id:"aB8nn17qEG1UkLCBmN3EDg",selected:!1,dailyYield:31.695989795928103,label:"B2",labelHeight:1,labelSize:1},{type:"Foundation",cx:-.02993684696192045,cy:-.07488211918489984,cz:.05,lx:17.842360789303687,ly:8.502064537189229,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sp1YZua8fLpGUcQPoeBUrY",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.017795422816082346,cy:-.17724133449748175,cz:.5000000074506161,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:-.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",foundationId:"t8NKy5QyCsnVgJWSgzdVtp",id:"w9uCiRPECzBHx6GziL9u7M",selected:!1,dailyYield:27.191412082396756,label:"C1",labelHeight:1,labelSize:1},{type:"Human",name:"Jett",cx:1.2692636297118085,cy:.227513847491835,cz:.05000000074505717,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",id:"icbuTBYKh2PiqbDEDzA6iB",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0178798068026682,cy:.18617148450633916,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",foundationId:"t8NKy5QyCsnVgJWSgzdVtp",id:"dFE6Wu3wf499uPuTFXoFR4",selected:!1,dailyYield:35.54528007836568,label:"C2",labelHeight:1,labelSize:1},{type:"Foundation",cx:18.291413493732467,cy:-.04494527222298039,cz:.05,lx:17.842360789303687,ly:8.502064537189229,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"t8NKy5QyCsnVgJWSgzdVtp",selected:!1}],G4n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[21.984836349008607,-27.120112904171,15.351212623628198],panCenter:[9.268096375789943,3.7277158588340003,2.046834497769918],orthographic:!1,enableRotate:!0,cameraZoom:84.09478170866971,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[15.041522569185233,.23774787312868362,40.00000029048154],panCenter2D:[15.041522569185233,.23778787490665898,2905048059856975e-22],showSolarRadiationHeatmap:!1,showDesignInfoPanel:!0,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:1,y:3,width:229,height:64}},X4n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},J4n=1,K4n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},q4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},$4n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Q4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Z4n=["Solar canopy design"],ewn={docid:N4n,time:U4n,timestamp:B4n,userid:j4n,owner:Y4n,email:O4n,world:_4n,elements:V4n,view:G4n,graphState:X4n,evolutionMethod:J4n,solarPanelArrayLayoutParams:K4n,solarPanelArrayLayoutConstraints:q4n,evolutionaryAlgorithmState:$4n,economicsParams:Q4n,notes:Z4n},twn="cpQtXDN91AWfQ7C3APvJh3",nwn="02/03/2023 10:25 am",own=1675437921671,iwn="QWecNcxhyvP6j6sBN11hBsfZDau1",rwn=null,awn=null,lwn={airAttenuationCoefficient:.01,cspTimesPerHour:4,timesPerHour:2,solarPanelVisibilityGridCellSize:.2,latitude:44.454924,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,discretization:"Approximate",date:"6/22/2022 3:30:00 PM",highestTemperatureTimeInMinutes:900,cspDaysPerYear:4,address:"550 Dorset St, South Burlington, VT 05403, USA",diurnalTemperatureModel:1,airConvectiveCoefficient:5,cspGridCellSize:.5,noAnimationForSolarPanelSimulation:!0,sutGridCellSize:1,name:"default",dustLoss:.05,sutDaysPerYear:4,pvGridCellSize:.5,noAnimationForHeatmapSimulation:!0,sutTimesPerHour:4,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},daysPerYear:4,solarRadiationHeatmapGridCellSize:5,longitude:-73.177891},swn=[{type:"Foundation",cx:179.45847099490584,cy:145.85951451290708,cz:.1,lx:46.64912192730487,ly:16.598079304638254,lz:.2,normal:[0,0,1],rotation:[0,0,.1434660645139339],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"73zFNy4Kytq2jGeHP8hybB",locked:!0,enableGroupMaster:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:.08726646259971647,orientation:"Landscape",drawSunBeam:!0,poleHeight:4.8,poleRadius:.05,poleSpacing:5,cx:.013487121407959702,cy:-.12279534594195182,cz:.5000000074505806,lx:43.624,ly:11.506,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,.1434660645139339],color:"#fff",parentId:"73zFNy4Kytq2jGeHP8hybB",foundationId:"73zFNy4Kytq2jGeHP8hybB",id:"5B4Rr9X9rqJjgERVH84xem",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:8.339907658116347,cy:-.6016935110092154,cz:.619724807975928,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"dUwnUoWvbFx2hdh7SmwvjQ",id:"e5UykxeUAcAAsmgFcznP9J",selected:!1,locked:!1,ly:.42},{type:"Human",name:"Jacqueline",cx:20.54897495598685,cy:-8.016956409003306,cz:.10000000149011612,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"73zFNy4Kytq2jGeHP8hybB",id:"9v3zq1A3MmHnKeqiCTkYcc",selected:!1,locked:!1,ly:.6},{type:"Cuboid",cx:178.74973834889272,cy:151.23959562318993,cz:3,lx:12.107420150412665,ly:3.6361191766113197,lz:6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",selected:!1,id:"stfeWojM9fq1rRFvV8kFrw",locked:!0},{type:"Cuboid",cx:179.70526882974113,cy:148.87674866966486,cz:1.8,lx:42.703465320212665,ly:1.2033870245364555,lz:3.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"mvQonCDuxqjgZkeWBbRQ73",selected:!1,locked:!0},{type:"Cuboid",cx:179.86870093281857,cy:147.67018638185647,cz:1.5,lx:42.703465320212665,ly:1.2033870245364555,lz:3,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"nAoWaWCXnJrVeXtGcCdhsQ",selected:!1,locked:!0},{type:"Cuboid",cx:180.03030758101804,cy:146.47434150650943,cz:1.3,lx:42.703465320212665,ly:1.2033870245364555,lz:2.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"hEEbCeJXouC5MRLwbMLUXU",selected:!1,locked:!0},{type:"Cuboid",cx:180.18731589126733,cy:145.26767530633435,cz:1.1,lx:42.703465320212665,ly:1.2033870245364555,lz:2.2,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"ewYiSC3NgUrSGS9bNScvyi",selected:!1,locked:!0},{type:"Cuboid",cx:180.34892253946674,cy:144.0718304309881,cz:.9,lx:42.703465320212665,ly:1.2033870245364555,lz:1.8,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"dUwnUoWvbFx2hdh7SmwvjQ",selected:!1,locked:!0},{type:"Cuboid",cx:180.505930849716,cy:142.93138721769165,cz:.7,lx:42.703465320212665,ly:1.2033870245364555,lz:1.4,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"2wek6yYK17CpmBuG1P6f8D",selected:!1,locked:!0},{type:"Cuboid",cx:180.6629391599653,cy:141.79094400439524,cz:.5,lx:42.703465320212665,ly:1.2033870245364555,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"cyVdcaHRiaSZbNdcjQVuiw",selected:!1,locked:!1},{type:"Cuboid",cx:180.8270823782518,cy:140.57464564227953,cz:.3,lx:42.703465320212665,ly:1.2033870245364555,lz:.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"2io4wkR5VXLTD2R8fop411",selected:!1,locked:!1}],cwn={showYearlyFresnelReflectorYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showZenithAngle:!0,yearlyPvYieldPanelRect:{x:0,height:400,y:0,width:600},showAzimuthAngle:!0,dailyPvYieldPanelRect:{height:400,y:0,x:0,width:600},dailyUpdraftTowerYieldPanelRect:{width:640,x:0,y:0,height:550},diurnalTemperaturePanelRect:{width:600,height:400,y:0,x:0},showHeliodonPanel:!1,weatherPanelX:0,theme:"Default",enableRotate:!0,dailyFresnelReflectorYieldPanelRect:{y:0,width:600,height:400,x:0},dailyHeliostatYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,dailyHeliostatYieldPanelY:0,yearlyHeliostatYieldPanelRect:{y:0,width:600,height:400,x:0},yearlyLightSensorPanelRect:{x:0,width:600,y:0,height:500},yearlyParabolicTroughYieldPanelRect:{height:400,y:0,width:600,x:0},dailyParabolicDishYieldPanelX:0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelRect:{width:600,y:0,x:0,height:400},yearlyLightSensorPanelShowClearness:!1,mapPanelX:0,yearlyLightSensorPanelShowDaylight:!1,showDiurnalTemperaturePanel:!1,mapZoom:17,yearlyPvYieldPanelX:0,showElevationAngle:!0,showYearlyParabolicDishYieldPanel:!1,dailyLightSensorPanelRect:{y:0,height:360,x:0,width:600},evolutionPanelRect:{y:0,height:400,x:0,width:640},mapWeatherStations:!1,showDesignInfoPanel:!0,mapPanelY:0,showDailyParabolicTroughYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,weatherPanelY:0,showSiteInfoPanel:!0,showYearlyParabolicTroughYieldPanel:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelRect:{width:600,x:0,height:400,y:0},showMapPanel:!1,dailyParabolicTroughYieldPanelY:0,cameraPosition:[206.67769816695932,120.15082999798835,5.121281605668084],showYearlyLightSensorPanel:!1,cameraZoom:23.327015599941678,heliodonPanelY:0,autoRotate:!1,shadowEnabled:!0,showWeatherPanel:!1,yearlyFresnelReflectorYieldPanelX:0,yearlyParabolicDishYieldPanelRect:{x:0,y:0,height:400,width:600},dailyFresnelReflectorYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyHeliostatYieldPanelY:0,mapTilt:0,visibilityResultsPanelRect:{height:470,y:0,width:600,x:0},stickyNotePanelRect:{y:0,x:0,height:61,width:267},visibilityResultsPanelX:0,showYearlyUpdraftTowerYieldPanel:!1,showDailyLightSensorPanel:!1,yearlyPvYieldPanelY:0,dailyLightSensorPanelX:0,yearlyParabolicTroughYieldPanelX:0,weatherPanelRect:{y:0,height:500,width:500,x:0},panCenter2D:[183.8188163621815,139.3629304846877,-8002863814434504e-20],dailyParabolicTroughYieldPanelX:0,showDailyUpdraftTowerYieldPanel:!1,cameraPosition2D:[183.8188163621815,139.36291048379871,19.999919971295522],showYearlyHeliostatYieldPanel:!1,showEconomicsPanel:!1,heliodonPanelX:0,yearlyParabolicDishYieldPanelY:0,showDailyParabolicDishYieldPanel:!1,dailyPvYieldPanelX:0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelRect:{x:0,width:600,y:0,height:400},orthographic:!1,panCenter:[175.21189117230256,159.9366389436321,1.5458921274125108],dailyPvYieldPanelY:0,showDailyFresnelReflectorYieldPanel:!1,mapType:"hybrid",groundImage:!1,groundColor:"#16a5a5",showDailyHeliostatYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyFresnelReflectorYieldPanelRect:{x:0,width:600,height:400,y:0},showStickyNotePanel:!0,heliodon:!1,dailyLightSensorPanelY:0,solarRadiationHeatMapReflectionOnly:!1,showEvolutionPanel:!1,showInstructionPanel:!1,showSunAngles:!1,showYearlyPvYieldPanel:!1,dailyHeliostatYieldPanelRect:{height:400,x:0,y:0,width:600},yearlyLightSensorPanelX:0,yearlyFresnelReflectorYieldPanelY:0,yearlyHeliostatYieldPanelX:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyFresnelReflectorYieldPanelX:0,axes:!1,visibilityResultsPanelY:0},uwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},dwn=1,fwn={orientation:"Landscape",interRowSpacing:2,pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",poleSpacing:3,rowsPerRack:1,tiltAngle:0,poleHeight:1},hwn={maximumTiltAngle:1.5707963267948966,rowAxis:"Zonal",maximumInterRowSpacing:10,maximumRowsPerRack:6,minimumInterRowSpacing:2,pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,orientation:"Landscape",minimumRowsPerRack:1,poleSpacing:5,poleHeight:1},pwn={particleSwarmOptimizationParams:{objectiveFunctionType:1,socialCoefficient:.1,localSearchRadius:.1,vmax:.01,swarmSize:20,problem:"Solar Panel Tilt Angle",maximumSteps:5,inertia:.8,cognitiveCoefficient:.1,searchMethod:1,convergenceThreshold:.01},geneticAlgorithmParams:{maximumGenerations:5,mutationRate:.1,objectiveFunctionType:1,selectionRate:.5,crossoverRate:.5,localSearchRadius:.1,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionMethod:1,populationSize:20,convergenceThreshold:.01}},gwn={electricitySellingPrice:.25,operationalCostPerUnit:.15,projectLifeSpan:25},mwn=["Solar canopy over bleachers"],ywn={docid:twn,time:nwn,timestamp:own,userid:iwn,owner:rwn,email:awn,world:lwn,elements:swn,view:cwn,graphState:uwn,evolutionMethod:dwn,solarPanelArrayLayoutParams:fwn,solarPanelArrayLayoutConstraints:hwn,evolutionaryAlgorithmState:pwn,economicsParams:gwn,notes:mwn},Awn="smhvUEBkVkGKNFKH9wXerr",wwn="03/19/2023 01:40 pm",vwn=1679247607363,xwn="QWecNcxhyvP6j6sBN11hBsfZDau1",bwn=null,Swn=null,Twn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 2:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Pwn=[{ly:3.258836461194841,solarUpdraftTower:{},parentId:"Ground",cx:-.0628073590395834,id:"m7AH7DcnoGzAq9kryBy4RS",cy:1.7678944590969095,type:"Foundation",solarPowerTower:{},lx:10.54713578879197,lz:.05733001510678199,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,textureType:"Foundation Texture #2"},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:6.322909236616773,relativeAngle:3.141592653589793,lz:2.707750558185909,roofId:"o9MiaiNtVRQTUvRdiEBPKe",ly:.1,rightPoint:[-3.281902734041268,1.0926779224456118,0],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[3.041006502575506,1.0926779224456111,0],type:"Wall",rightRoofHeight:2.707750558185909,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:2.707750558185909,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.12044811573288094,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:1.0926779224456116,color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:20,studColor:"#ffffff",studWidth:.2,structureSpacing:2.1,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.707750558185909,rightTopPartialHeight:2.707750558185909},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:3.041006502575505,leftPoint:[3.041006502575504,-.9667719612095651,0],cy:.06295298061802335,leftRoofHeight:2.2932006042712794,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[3.041006502575506,1.0926779224456118,0],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:2.059449883655177,normal:[0,0,1],lz:2.2932006042712794,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",rightRoofHeight:2.707750558185909,roofId:"o9MiaiNtVRQTUvRdiEBPKe",color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:100,studColor:"#ffffff",centerRoofHeight:[.5,2.707750558185909],studWidth:.2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{lx:2.059449883655177,windows:[],lz:2.2932006042712794,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"o9MiaiNtVRQTUvRdiEBPKe",selected:!1,cy:.06295298061802335,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-3.281902734041268,-.9667719612095651,0],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:2.2932006042712794,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948966,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-3.281902734041268,1.0926779224456118,0],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:2.707750558185909,ly:.1,cx:-3.281902734041268,color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:100,studColor:"#ffffff",centerRoofHeight:[-.5,2.707750558185909],studWidth:.2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{showLabel:!1,cx:-.12044811573288094,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[3.041006502575506,-.9667719612095651,0],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-.9667719612095651,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"o9MiaiNtVRQTUvRdiEBPKe",leftPoint:[-3.281902734041268,-.9667719612095651,0],normal:[0,0,1],ly:.1,lz:2.2932006042712794,leftRoofHeight:2.2932006042712794,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:2.2932006042712794,lx:6.322909236616773,color:"#ffffff",wallStructure:"Stud",opacity:0,studSpacing:100,studColor:"#ffffff",studWidth:.2,structureSpacing:2.1,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{type:"Human",name:"Judd",cx:1.633148784510131,cy:-.48619735894130045,cz:.02866500802338123,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.544},{type:"Human",name:"Jade",cx:-2.4056687191409836,cy:-.7214806671440712,cz:.02866500802338123,lx:.48,ly:.48,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,flip:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Rafter",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"o9MiaiNtVRQTUvRdiEBPKe",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!0,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.013581557939684385,cy:.026013281736561093,cz:2.5548677739939563,lx:6.232,ly:2.092,lz:.046,showLabel:!1,normal:[0,-.19733348260296196,.9803364201353465],rotation:[.1986371700239986,0,0],color:"#fff",parentType:"Roof",parentId:"o9MiaiNtVRQTUvRdiEBPKe",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gcgsZpEBMDbC2MoxXfdQ5z",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.069538614907841,cy:1.7342109688811949,cz:0,lx:2.576376919790349,lz:3.4569079447673756,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9vtidDnwwZ7MMSCF9kkf1v",selected:!1},{type:"Tree",name:"Magnolia",cx:6.029325159381688,cy:1.1288413497919034,cz:0,lx:5.866636356742361,lz:7.0242541599963335,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"7y5foXVbpe2pYJ2ZMcNgG1",selected:!1},{type:"Polygon",cx:-.054330031344316826,cy:-.27967892470948996,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.29711331243712213,y:-.37645814056822685},{x:-.25433003134431686,y:-.17645814056822684},{x:.14566996865568319,y:-.17645814056822684},{x:.18845324974848848,y:-.37645814056822685}],parentId:"skm8dNPSkFaVkoUwiPNfq1",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:3,id:"jFtAKqea5hrJYqvHqsXVig",fontColor:"white",text:"ELM STREET",fontSize:.2,noOutline:!0,opacity:0},{type:"Polygon",cx:-.03159943058059205,cy:-5551115123125783e-31,cz:.3151039010139313,lx:.4,ly:.4,lz:.4,filled:!0,noOutline:!0,color:"#ffffff",opacity:0,text:"ELM STREET",fontSize:.2,fontColor:"white",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.19999999999999996,y:-.4200653155418168},{x:-.15721671890719469,y:-.2200653155418168},{x:.24278328109280536,y:-.2200653155418168},{x:.28556656218561066,y:-.4200653155418168}],parentId:"8XDG3EHsQoX26MhuzwMYUM",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jgt48M3TDZL99Yra6Kyr5Q",selected:!1},{type:"Human",name:"Julio",cx:.5178196751817774,cy:-.5447731101746882,cz:.02866500802338123,lx:.5,lz:1.76,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"q3FndYLdQ24MSDvkeE4ifM",selected:!1},{type:"Human",name:"June",cx:-1.7835969899126987,cy:-1.0262736798633494,cz:.0073300155767722225,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hpYMNr3jwLZFDdiKVSnVAY",selected:!1}],Cwn=11,Rwn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.4101525299496,-7.1680457550968235,2.8167371698815544],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.2469393365439706,2.7582746226325283,1.9240094094942006],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:207,height:64}},Hwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Mwn=1,Iwn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},zwn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Dwn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ewn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},kwn="Unknown",Fwn=null,Lwn=null,Wwn=null,Nwn=["Solar bus stop"],Uwn={docid:Awn,time:wwn,timestamp:vwn,userid:xwn,owner:bwn,email:Swn,world:Twn,elements:Pwn,sceneRadius:Cwn,view:Rwn,graphState:Hwn,evolutionMethod:Mwn,solarPanelArrayLayoutParams:Iwn,solarPanelArrayLayoutConstraints:zwn,evolutionaryAlgorithmState:Dwn,economicsParams:Ewn,modelType:kwn,modelAuthor:Fwn,modelLabel:Lwn,modelDescription:Wwn,notes:Nwn},Bwn="ctNBPhic6sxKfpMZwUSyvY",jwn="02/04/2023 01:23 pm",Ywn=1675535030470,Own="QWecNcxhyvP6j6sBN11hBsfZDau1",_wn=null,Vwn=null,Gwn={noAnimationForSolarPanelSimulation:!1,latitude:42.2844063,cspTimesPerHour:4,timesPerHour:4,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-71.3488548,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"Natick, MA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"4/22/2022, 9:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},Xwn=[{type:"Foundation",cx:-.05000000000000249,cy:-.07499999999999751,cz:.05,lx:50,ly:25,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9VUxbWr6Hk1HaeGiLpEeqj",locked:!0},{type:"Wall",cx:.25,cy:10.000000000000002,cz:0,lx:43.5,ly:.3,lz:30,relativeAngle:3.141592653589793,leftPoint:[22,10,0],rightPoint:[-21.5,10.000000000000004,0],leftJoints:["vdPkX7ZYSwK7VW7fzaG511"],rightJoints:["1pJb5b6kS2mjvFyYw2rr5k"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nYSb3p1MnuhwNe2u1j3fXF",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:22,cy:2,cz:0,lx:16,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[22,-6,0],rightPoint:[22,10,0],leftJoints:["8ntQ5ns6192qHa3sbwWgfy"],rightJoints:["nYSb3p1MnuhwNe2u1j3fXF"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vdPkX7ZYSwK7VW7fzaG511",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-21.5,cy:2.0000000000000018,cz:0,lx:16.000000000000004,ly:.3,lz:30,relativeAngle:4.71238898038469,leftPoint:[-21.5,10.000000000000004,0],rightPoint:[-21.5,-6,0],leftJoints:["nYSb3p1MnuhwNe2u1j3fXF"],rightJoints:["nQCZuQBzmXXaGGKFTeJE3m"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1pJb5b6kS2mjvFyYw2rr5k",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-13.25,cy:-6,cz:0,lx:16.5,ly:.3,lz:30,relativeAngle:0,leftPoint:[-21.5,-6,0],rightPoint:[-5,-6,0],leftJoints:["1pJb5b6kS2mjvFyYw2rr5k"],rightJoints:["5ZR3fL2v4p4po3VR8oJ6H8"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nQCZuQBzmXXaGGKFTeJE3m",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:13.5,cy:-6,cz:0,lx:17,ly:.3,lz:30,relativeAngle:0,leftPoint:[5,-6,0],rightPoint:[22,-6,0],leftJoints:["12rbxrGaa8wVVn4DUNhY7V"],rightJoints:["vdPkX7ZYSwK7VW7fzaG511"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"8ntQ5ns6192qHa3sbwWgfy",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:5,cy:-8.5,cz:0,lx:5,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[5,-11,0],rightPoint:[5,-6,0],leftJoints:["4gHpGdkzTfd6pDbTqPc7xa"],rightJoints:["8ntQ5ns6192qHa3sbwWgfy"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"12rbxrGaa8wVVn4DUNhY7V",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-5,cy:-8.5,cz:0,lx:5,ly:.3,lz:30,relativeAngle:4.71238898038469,leftPoint:[-5,-6,0],rightPoint:[-5,-11,0],leftJoints:["nQCZuQBzmXXaGGKFTeJE3m"],rightJoints:["4gHpGdkzTfd6pDbTqPc7xa"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"5ZR3fL2v4p4po3VR8oJ6H8",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:0,cy:-11,cz:0,lx:10,ly:.3,lz:30,relativeAngle:0,leftPoint:[-5,-11,0],rightPoint:[5,-11,0],leftJoints:["5ZR3fL2v4p4po3VR8oJ6H8"],rightJoints:["12rbxrGaa8wVVn4DUNhY7V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4gHpGdkzTfd6pDbTqPc7xa",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Human",name:"Jack",cx:-.8543093326653608,cy:-11.792939085977409,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tYfANfn3oinAT4dW1rRsqr",selected:!1,ly:.42},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["12rbxrGaa8wVVn4DUNhY7V","8ntQ5ns6192qHa3sbwWgfy","vdPkX7ZYSwK7VW7fzaG511","nYSb3p1MnuhwNe2u1j3fXF","1pJb5b6kS2mjvFyYw2rr5k","nQCZuQBzmXXaGGKFTeJE3m","5ZR3fL2v4p4po3VR8oJ6H8","4gHpGdkzTfd6pDbTqPc7xa"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"a69gMcUNAL6smrEEJWVg5m",rise:0,ceiling:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.3343030303030303,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2tX22vCbk47e7Qb9jmWbuT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.12024242424242425,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rMVZd7mHmDzSsY9qJkKCYE",selected:!1,color:"#fff"},{type:"Window",cx:-.10606060606060606,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"5GSyALrLv2JTFn5Jfts2K9",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3484848484848485,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"iCM8LCxtUc6mLFahJZKXiN",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0016000000000000014,cy:-23684757858670007e-30,cz:.056400000000000006,lx:3.968,ly:23.616,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qfUCcto9FYp97r1bwAkTYw",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.11858823529411765,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"15b42ktZHToFGP5MjajP8M",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.352,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:-.01802584949990571,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3PJY1VV4LwZ339b6deeXfW",selected:!1,color:"#fff"},{type:"Human",name:"Jane",cx:1.0059834215863663,cy:-11.909754621259744,cz:.05000000074506161,lx:.4,lz:1.67,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vFaP6sE5CTWHTpkpuqQusz",selected:!1,ly:.4},{type:"Window",cx:.1051693404634581,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bQX8o8NiMvqqkwFqX982ii",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.36541889483065954,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5iqB79CbMKKaHc2jYwiL2n",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3757575757575758,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h4kTQPqQyQnweHnqPDZiBg",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3742424242424242,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mDkZKRTvbZchzgdEwuowBS",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.33049242424242425,cy:.3,cz:.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vY3gwN3Dc3BUuPz4qtFxKd",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32575757575757575,cy:.3,cz:.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1c7fsYtocCSJ8re71u4EMD",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.33049242424242414,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bHLzi4Znc3fVju7nSQfVt1",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32575757575757575,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mXRwTS9CG5axkFHpYXQb93",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.44166666666666665,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4jyHDksE16v8MGpAHgZbRq",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0035666924067298844,cy:.1,cz:.3543373547979109,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fv633U9B6zqzsfkiTeArhy",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.2583333333333333,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oqAP6n2W5ZjTRthjMYEkPV",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.1583333333333333,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cpcc8c1vn5nWiukQ3PxS3f",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.058333333333333307,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"x1oydAUUHFagHckinEa19D",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.0416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3cgMKo42a4ASQqE8xnVK2P",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.1416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"x8WkyGbyAMcWUhHRUjS5gG",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.2416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tXGRiJPBepugeH5wctYQEF",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.3416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uHRUBQhmS94JcKPRt7LDmv",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:.08726646259971647,orientation:"Landscape",drawSunBeam:!1,poleHeight:.2,poleRadius:.05,poleSpacing:3,cx:.013173838940837719,cy:.0680060264405102,cz:30.2,lx:39.36,ly:1.984,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],color:"#fff",parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gXW6QsEtteXYtodQNf8hx7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.013587479651289406,cy:-.039519927704392936,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rR23iB2i6JynSXag96y23e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012423446703966497,cy:-.14139419142614063,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"jxhCthLZ9Lv87sCrBWn5kx",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012712080197510935,cy:.1770912519450651,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rZk9AYLNUc6CbsxJg1HEUU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012483352791167981,cy:.28984082936278965,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"69WEvUFeggtX7SkVeLfN3F",selected:!1},{type:"Flower",name:"Yellow Flower",cx:15.765812910070952,cy:-8.771551347375933,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"hhZNor6RrsErCXv6N2LCBX",selected:!1},{type:"Flower",name:"Yellow Flower",cx:7.825357530488457,cy:-8.372047787963048,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1coQpeKubKsF9M826JWhcT",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-7.686841949758485,cy:-8.502083508685182,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tBw3D4GurLA8jWoFe411qW",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-14.751204802860983,cy:-8.343574225207504,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"72uapoUNTci2SLYKwgBp8U",selected:!1},{type:"Flower",name:"Boxwood",cx:19.359037887762355,cy:-9.111613117711592,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vm54XJx4Xqji3E2uYkM3Bg",selected:!1},{type:"Flower",name:"Boxwood",cx:12.019561876673311,cy:-8.832301300458631,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"sjqbn1oAGT3nUbPzFZ9yXN",selected:!1},{type:"Flower",name:"Boxwood",cx:-11.235438884150971,cy:-8.639820120644501,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tQx6MounMWtZzmbZeEtcYq",selected:!1},{type:"Flower",name:"Boxwood",cx:-18.29029667468214,cy:-7.990154726249322,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1CG9RbukrrdXudKgMY2Jii",selected:!1},{type:"Door",cx:0,cy:0,cz:-.425,lx:.5,ly:0,lz:.15,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nJiiCKZsnQ4hdD69NEYwor",doorType:"Default",archHeight:1,filled:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.0010000000000000007,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,showLabel:!1,normal:[-1,12246467991473532e-32,0],rotation:[0,0,0],color:"#fff",frameColor:"white",parentType:"Wall",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"uLAs5uL6WLuiZStL3dsozJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0010000000000000009,cy:2373101715136272e-29,cz:.0074666666666666735,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[1,0,0],rotation:[0,0,0],parentType:"Wall",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"oq1GewTgCJGR8EGbL6DMu7",selected:!1,color:"#fff"}],Jwn={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!1,axes:!0,enableRotate:!0,weatherPanelY:0,cameraPosition:[-41.48638943484854,-53.785037218162735,15.500675823090146],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!0,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"#16A5A5",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[1.9046368072380662,-2.718943908236788,15.500675823090146],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!0,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Default",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:3.5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:31.733468832186784,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],cameraPosition2D:[0,-.00015000666739695134,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,waterSurface:!1,showEconomicsPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-2,width:339,height:63},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},Kwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},qwn=1,$wn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Qwn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Zwn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},e7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},t7n=["Building-integrated photovoltaics (BIPV)"],n7n={docid:Bwn,time:jwn,timestamp:Ywn,userid:Own,owner:_wn,email:Vwn,world:Gwn,elements:Xwn,view:Jwn,graphState:Kwn,evolutionMethod:qwn,solarPanelArrayLayoutParams:$wn,solarPanelArrayLayoutConstraints:Qwn,evolutionaryAlgorithmState:Zwn,economicsParams:e7n,notes:t7n},o7n="m1j5HqK6ztTDmHotnswvhm",i7n="03/19/2023 01:23 pm",r7n=1679246616189,a7n="QWecNcxhyvP6j6sBN11hBsfZDau1",l7n=null,s7n=null,c7n={solarRadiationHeatmapGridCellSize:2,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"350 Spelman Ln SW, Atlanta, GA 30314, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:33.74249063340524,noAnimationForSensorDataCollection:!1,timesPerHour:2,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-84.41325446099088,airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForSolarUpdraftTowerSimulation:!1},u7n=[{type:"Foundation",cx:-4.899281040587393,cy:-11.584454395492607,cz:.05,lx:65.19262557107372,ly:131.69230495241158,lz:.1,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fAfbfM7oEHfq1VBgchFech",enableGroupMaster:!0},{type:"Wall",cx:4.643026020738638,cy:58.19197664732871,cz:0,lx:39.00320499651278,ly:.2,lz:10,relativeAngle:3.1544124640626934,leftPoint:[24.14302602073864,58.441976647328715,.1],rightPoint:[-14.856973979261348,57.94197664732871,.1],leftJoints:["hZXuadfd8Y2gU3C4iTs3VG"],rightJoints:["sdKSXeQhAWxE6ifCs1d6RC"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"tysEJM9hUShvginx4rYC7K",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:24.39302602073864,cy:2.941976647328705,cz:0,lx:111.00112612041376,ly:.2,lz:10,relativeAngle:1.575300800833464,leftPoint:[24.643026020738645,-52.55802335267129,.1],rightPoint:[24.143026020738642,58.4419766473287,.1],leftJoints:["njXmWTSZ52XC3BH77kTEtQ"],rightJoints:["tysEJM9hUShvginx4rYC7K"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"hZXuadfd8Y2gU3C4iTs3VG",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:9.143026020738638,cy:-52.8080233526713,cz:0,lx:31.004031995854984,ly:.2,lz:10,relativeAngle:.016127633843636247,leftPoint:[-6.356973979261358,-53.05802335267129,.1],rightPoint:[24.64302602073863,-52.558023352671285,.1],leftJoints:["1sYogQ8Va73vub552Dsk1p"],rightJoints:["hZXuadfd8Y2gU3C4iTs3VG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"njXmWTSZ52XC3BH77kTEtQ",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-6.356973979261353,cy:-47.05802335267128,cz:0,lx:11.999999999999986,ly:.2,lz:10,relativeAngle:4.712388980384691,leftPoint:[-6.356973979261358,-41.05802335267129,.1],rightPoint:[-6.356973979261351,-53.058023352671285,.1],leftJoints:["dfk6k28j8Rsu1Q1oCp7zKp"],rightJoints:["njXmWTSZ52XC3BH77kTEtQ"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"1sYogQ8Va73vub552Dsk1p",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-14.606973979261362,cy:8.441976647328703,cz:0,lx:99.0012626182111,ly:.2,lz:10,relativeAngle:4.717439442493762,leftPoint:[-14.856973979261348,57.94197664732871,.1],rightPoint:[-14.356973979261365,-41.05802335267131,.1],leftJoints:["tysEJM9hUShvginx4rYC7K"],rightJoints:["dfk6k28j8Rsu1Q1oCp7zKp"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"sdKSXeQhAWxE6ifCs1d6RC",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Cuboid",cx:34.8305400791776,cy:-52.42058894277254,cz:6,lx:7.619334475628514,ly:5.299339135336109,lz:12,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.5484342228590808],parentId:"Ground",selected:!1,id:"aLpgA6ukywKpo8YHkCPK9Z"},{type:"Window",cx:-.2701985741652489,cy:.1,cz:.325,lx:.44948921683564763,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"dXdqLZ7zgTd93oqrXfjWsJ",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-358855390814681e-31,cy:.1,cz:-.4,lx:.9898863651661457,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"xi8z9Sz8uH7vazDgmc3RCx",parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jack",cx:.6384948916889619,cy:-.2839733771670918,cz:5.999999999999999,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"aLpgA6ukywKpo8YHkCPK9Z",id:"ddYtbAhoUpyMoKhVhaAQGE",selected:!1,ly:.42},{type:"Window",cx:0,cy:.1,cz:0,lx:.9898863651661457,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aziCwtJpaGh65HD2YLn8fS",parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:1.5252168961263317,cy:51.80939453669954,cz:0,lx:20.031488630531463,ly:.2,lz:9,leftJoints:["kuZyRXr6X1ZZLgvnEdPLQW"],rightJoints:["nWPXmVRMzHKyjWryQf87JS"],leftPoint:[11.540961211392062,51.809394536699536,0],rightPoint:[-8.490527419139399,51.80939453669955,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qsREzsezLRHaTka6P3qi8E",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:11.7913548192737,cy:-3.284592727383899,cz:0,lx:110.1891125223151,ly:.2,lz:9,leftJoints:["dkmWHRoyM37TP1ais2mnQQ"],rightJoints:["qsREzsezLRHaTka6P3qi8E"],leftPoint:[12.041748427155346,-58.37857999146732,0],rightPoint:[11.540961211392053,51.80939453669952,0],relativeAngle:1.5753411400554025,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kuZyRXr6X1ZZLgvnEdPLQW",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-3.2436892780431448,cy:-58.47348142439061,cz:0,lx:30.571464611396937,ly:.2,lz:9,leftJoints:["ihGgAKbhoAEwWeLnpFQBfw"],rightJoints:["kuZyRXr6X1ZZLgvnEdPLQW"],leftPoint:[-18.52912698324161,-58.568382857313914,0],rightPoint:[12.041748427155321,-58.37857999146732,0],relativeAngle:.006208537524114639,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"dkmWHRoyM37TP1ais2mnQQ",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-18.52912698324161,cy:-52.1159338984573,cz:0,lx:12.904897917713235,ly:.2,lz:9,leftJoints:["qXr3hrbfNKc7RCzq91xbXK"],rightJoints:["dkmWHRoyM37TP1ais2mnQQ"],leftPoint:[-18.52912698324161,-45.66348493960068,0],rightPoint:[-18.52912698324161,-58.568382857313914,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ihGgAKbhoAEwWeLnpFQBfw",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",studSpacing:200,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-7.989740203376101,cy:3.1678562314727046,cz:0,lx:97.2882323106823,ly:.2,lz:9,leftJoints:["qsREzsezLRHaTka6P3qi8E"],rightJoints:["qXr3hrbfNKc7RCzq91xbXK"],leftPoint:[-8.490527419139399,51.80939453669955,0],rightPoint:[-7.488952987612803,-45.47368207375414,0],relativeAngle:-1.5605012263432012,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"nWPXmVRMzHKyjWryQf87JS",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Default",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Foundation",cx:2.6802301363018337,cy:-.008091723250991834,cz:.075,lx:47.100258882021336,ly:155.2816074058604,lz:.15,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"s7XmQ94X6RJALjEtkckmRw",selected:!1},{type:"Wall",cx:-13.009039985427215,cy:-45.568583506677385,cz:0,lx:11.041805422196214,ly:.2,lz:9,leftJoints:["nWPXmVRMzHKyjWryQf87JS"],rightJoints:["ihGgAKbhoAEwWeLnpFQBfw"],leftPoint:[-7.488952987612821,-45.47368207375409,0],rightPoint:[-18.52912698324161,-45.66348493960068,0],relativeAngle:-3.1244023294596825,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qXr3hrbfNKc7RCzq91xbXK",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["ihGgAKbhoAEwWeLnpFQBfw","dkmWHRoyM37TP1ais2mnQQ","kuZyRXr6X1ZZLgvnEdPLQW","qsREzsezLRHaTka6P3qi8E","nWPXmVRMzHKyjWryQf87JS","qXr3hrbfNKc7RCzq91xbXK"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"715hHLBU5uPxPmY3VTjteR",sideColor:"#999999",rise:0,ceiling:!1},{type:"Wall",cx:-10.356973979261362,cy:-41.05802335267131,cz:0,lx:8.000000000000007,ly:.2,lz:10,leftJoints:["sdKSXeQhAWxE6ifCs1d6RC"],rightJoints:["1sYogQ8Va73vub552Dsk1p"],leftPoint:[-14.35697397926136,-41.05802335267131,.1],rightPoint:[-6.356973979261358,-41.05802335267129,.1],relativeAngle:35527136788004978e-31,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"dfk6k28j8Rsu1Q1oCp7zKp",parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",studSpacing:200,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:1.4207056572728782,cy:46.41750725666692,cz:0,lx:18.6588866759028,ly:.2,lz:5.794050119631874,leftJoints:["jG1casp2JsBCa6isf6jPBp"],rightJoints:["tYVF4f8huJSYi3SnemH2U3"],leftPoint:[10.750148995224277,46.417507256666916,0],rightPoint:[-7.908737680678521,46.41750725666693,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"hNWXBkU3b39gF1yUGHaJqP",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Stud",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:5.794050119631874,rightRoofHeight:5.794050119631874,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Wall",cx:10.983385078673063,cy:-2.9427598627993987,cz:0,lx:98.72163631495759,ly:.2,lz:5.794050119631874,leftJoints:["iFwuQS6DyWdjrRQbrM6EVe"],rightJoints:["hNWXBkU3b39gF1yUGHaJqP"],leftPoint:[11.21662116212185,-52.3030269822657,0],rightPoint:[10.750148995224274,46.4175072566669,0],relativeAngle:1.5755214703412732,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jG1casp2JsBCa6isf6jPBp",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Default",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:9.013429915065354,rightRoofHeight:5.794050119631874,centerRoofHeight:[-.5,9.013429915065354],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Wall",cx:2.109769329329133,cy:-52.165708324365085,cz:0,lx:18.215774122254274,ly:.2,lz:9.013429915065354,leftJoints:["tYVF4f8huJSYi3SnemH2U3"],rightJoints:["jG1casp2JsBCa6isf6jPBp"],leftPoint:[-6.997082503463552,-52.028389666464484,0],rightPoint:[11.216621162121818,-52.30302698226569,0],relativeAngle:-.015077466364245784,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iFwuQS6DyWdjrRQbrM6EVe",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Default",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:9.013429915065354,rightRoofHeight:9.013429915065354,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.013429915065354,rightTopPartialHeight:9.013429915065354},{type:"Wall",cx:-7.452910092071025,cy:-2.805441204898788,cz:0,lx:98.45011800989347,ly:.2,lz:5.794050119631874,leftJoints:["hNWXBkU3b39gF1yUGHaJqP"],rightJoints:["iFwuQS6DyWdjrRQbrM6EVe"],leftPoint:[-7.908737680678497,46.41750725666691,0],rightPoint:[-6.997082503463552,-52.028389666464484,0],relativeAngle:-1.5615361224898512,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"tYVF4f8huJSYi3SnemH2U3",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Stud",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:5.794050119631874,rightRoofHeight:9.013429915065354,centerRoofHeight:[.5,9.013429915065354],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Foundation",cx:-16.35434154408445,cy:-4.658194992756286,cz:.1,lx:43.87284485416718,ly:139.1211999878274,lz:.2,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aLEzp9hfrYz6biKQBY4n26",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["iFwuQS6DyWdjrRQbrM6EVe"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",id:"tknPcP8JDek1GProeixsEp",ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],sideColor:"#999999",rise:0,ceiling:!1},{type:"Window",cx:0,cy:.1,cz:.325,lx:.9742789087050032,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"t2Cw4N4TZZkGP5BoLeNcKe",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0019768216134676713,cy:.1,cz:-.005731530796598517,lx:.9782325519319385,ly:.2,lz:.21146306159319703,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"qwSoMqqWcK4TDa7AjgWqwH",parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:4554386849898802e-32,cy:.1,cz:-.4,lx:.9742789087050032,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m3ekqWg3Hj5f3LitnJWBy1",parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:3200610482948187e-32,cy:.1,cz:.325,lx:.9729631020395402,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"gvpuFXmeNDDeRKgSmwP1CZ",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:3200610482948187e-32,cy:.1,cz:-.05,lx:.9729631020395402,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eCbjoFBaHQiuQUKYuZoFfR",parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.4,lx:.9729631020395402,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jFDknbsuGgwqRxzvsmU4CQ",parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jaye",cx:-17.46381887736557,cy:-41.9816536072657,cz:.05,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",id:"c9HstzWD7XzAFugKNugMuy",selected:!1,ly:.55},{type:"Window",cx:-.45740372646398547,cy:.1,cz:.25,lx:.07195114798309891,ly:.2,lz:.3888888888888889,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nWPXmVRMzHKyjWryQf87JS",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wuQewUkoGaBsjuzjt5f5uH",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:2.5,poleRadius:.05,poleSpacing:5,cx:-.08476384816809007,cy:.25788159693893226,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],color:"#fff",parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"vqvQktRu6i8bL8ZiGaoGnt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1615496100848164,cy:.25770817536556956,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wdbtnJ1XkcTwDSb8wiEMKL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08010322022532794,cy:.09848093983788882,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"32oGsayzWtjfS2sR392vRy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15821694625943433,cy:.09899040837617899,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"e6f94dRNL6XBpsmcrnKDU9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1544950822019521,cy:-.05668699528465417,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wzKUNhsTS2CEWiU4WpUm2j",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08173283819450536,cy:-.056114317250364976,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"mKWB3USg3dr53V5yqbCZHD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08275541478239372,cy:-.21595299989492936,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"t9dCrMhmdqRDyewscNhEss",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.060547048383927105,cy:-.3528469086181044,cz:9.2,lx:27.776,ly:3.936,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"7UbuZjpocqLztS4V8bYdKv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15077186158226766,cy:-.21881896397118786,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"e5YYaGmX4NkSq53yXqBiSb",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.4500000000000003,y:-.425},{x:-.4500000000000003,y:-.17499999999999996},{x:-.2833333333333334,y:-.17499999999999996},{x:-.2833333333333334,y:-.425}],parentId:"1sYogQ8Va73vub552Dsk1p",parentType:"Wall",foundationId:"fAfbfM7oEHfq1VBgchFech",selected:!1,filled:!0,selectedIndex:3,id:"mMTWwGXVY6tHrH3tFfFj84",text:"P",fontColor:"black",fontOutlineColor:"white",fontOutlineWidth:.1,fontSize:2}],d7n=106,f7n={dailyPvYieldPanelX:0,mapPanelY:158,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[16.929262825751,-28.15408933210822,-58144424349073707e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:248,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[16.929262825751,-28.154239338775618,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-13.677779559893043,-87.22834473506032,67.89303797087159],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:9.265824603195062,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[7.0532361348326695,-29.239499866887954,4.7578192072686045],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:7,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,solarPanelShiness:100,windowShiness:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:353,height:64},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},h7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},p7n=1,g7n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},m7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},y7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},A7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},w7n="Unknown",v7n=null,x7n=null,b7n=null,S7n=["Hypothetical solar canopies for a garage"],T7n={docid:o7n,time:i7n,timestamp:r7n,userid:a7n,owner:l7n,email:s7n,world:c7n,elements:u7n,sceneRadius:d7n,view:f7n,graphState:h7n,evolutionMethod:p7n,solarPanelArrayLayoutParams:g7n,solarPanelArrayLayoutConstraints:m7n,evolutionaryAlgorithmState:y7n,economicsParams:A7n,modelType:w7n,modelAuthor:v7n,modelLabel:x7n,modelDescription:b7n,notes:S7n},P7n="9FwzvKbLoEC3qk3HcYhpK3",C7n="02/04/2023 02:19 pm",R7n=1675538359367,H7n="QWecNcxhyvP6j6sBN11hBsfZDau1",M7n=null,I7n=null,z7n={noAnimationForSolarPanelSimulation:!1,latitude:37.4924685,cspTimesPerHour:4,timesPerHour:4,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-121.944697,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"45500 Fremont Blvd, Fremont, CA 94538, USA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"1/1/2022, 9:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},D7n=[{type:"Foundation",cx:-.08114032291986462,cy:.04294942268642887,cz:.05,lx:77.18969112756628,ly:25.114558892189873,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9VUxbWr6Hk1HaeGiLpEeqj",locked:!1},{type:"Wall",cx:16.394958493767938,cy:-6.958678279965962,cz:0,lx:34.5,ly:.3,lz:20,relativeAngle:0,leftPoint:[-.6550415062320631,-7.358678279965961,.1],rightPoint:[33.84495849376793,-7.358678279965961,.1],leftJoints:[],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"8BJFAiWAksi5iXqqAXG3m7",wallStructure:"Default",opacity:0,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Solar Panel",pvModelName:"FS-497",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.272463768115942,cy:0,cz:.445,lx:15.6,ly:1.2,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wGRXvcE2DsAaZztwb6HksP",selected:!1},{type:"Human",name:"Jedi",cx:25.350323157691225,cy:-8.982865067578267,cz:.05000000074505806,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"iDRReqKwNSn3MdzCD9xntV",selected:!1,ly:.56},{type:"Solar Panel",pvModelName:"FS-497",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.23768115942028983,cy:0,cz:-.0050000000000000044,lx:6,ly:4.8,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kDSDBXNMTiTKABtDtEoTPM",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.4463768115942027,cy:2960594732333751e-30,cz:.17517500000000008,lx:3.5999999999999996,ly:9.6,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3R99UFMtSTu8MpSzhFBEzM",selected:!1,color:"#fff",drawSunBeam:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.3768115942028986,cy:0,cz:.055525000000000005,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2nC5kmMxK27nhcbuLchKpX",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.24057971014492754,cy:0,cz:.26534999999999986,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2f53rLJkYN28GAXqDH43oC",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.08115942028985497,cy:0,cz:-.03447500000000003,lx:2.4,ly:18,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1CLg3vw3R6Mjckp2zLGRcx",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.23768115942028983,cy:0,cz:-.21465000000000006,lx:8.4,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3EcpwWTaBMzQ2Wh6WUSfZ2",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.005797101449275342,cy:0,cz:.44517500000000004,lx:33.6,ly:1.2,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"afQFwUz294V81V8ekAFzoy",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.38840579710144923,cy:0,cz:.025875000000000446,lx:4.8,ly:13.2,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rvr7kALWbgFepgQwhgLdmn",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.47536231884057967,cy:2960594732333751e-30,cz:-.034299999999999733,lx:1.2,ly:18,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"h8Kaodh1qXkhqWggo4XUhx",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.21449275362318843,cy:0,cz:.02570000000000001,lx:4.8,ly:13.199999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gb2jcBuVudWuAzaQrnkX6y",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.30144927536231886,cy:0,cz:-.2143,lx:1.2,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vUqRVHfCe86GnXDtKSxaw8",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.127536231884058,cy:0,cz:.05552500000000036,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"uSBaFrGbhmQkQMurd3uJ8K",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.01159420289855071,cy:0,cz:.265525,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n1zXsXRnujYqMASe1WUKNR",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:.11594202898550725,cy:-11842378929335004e-30,cz:.05535000000000023,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1bjxTFMmzz4rPmQkK5vxos",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.011594202898550721,cy:0,cz:.025,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kXtBHayvf3Tvd93XA15jDA",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.005797101449275342,cy:0,cz:-.21447500000000003,lx:7.199999999999999,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"7g2C2UieAJmWoyUM62ZQ2a",selected:!1,color:"#fff"},{type:"Wall",cx:-17.344845563783142,cy:-6.9427205539050725,cz:4.230734017714145,lx:34.5,ly:.3,lz:20,leftJoints:["gPxD8gV5byhzgQKdBBgMTy"],rightJoints:[],leftPoint:[-34.59484556378314,-6.9427205539050725,.1],rightPoint:[-.09484556378314224,-6.9427205539050725,.1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7cDw6CDEimwyt2K7C9p2yW",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",wallStructure:"Default",opacity:0,selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Solar Panel",pvModelName:"FS-497",cx:.255072463768116,cy:0,cz:.265,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wFqugJCgR6UNZP8KrBbWpt",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.35942028985507246,cy:-11842378929335004e-30,cz:.05535000000000023,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4jWvM8cSUfsXRSp6TmJ2Gg",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.22028985507246376,cy:0,cz:.025174999999999993,lx:5.999999999999999,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"toAqeegGXNvuKLhennKVzP",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.23768115942028983,cy:0,cz:-.21447500000000003,lx:7.199999999999998,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"saA7QrRCNPT5wTdbHg5J4Z",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.44637681159420284,cy:-11842378929335004e-30,cz:.1753500000000002,lx:2.4,ly:9.6,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1muJg2Kq7Xbc14wrpktdBf",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.42898550724637674,cy:0,cz:-.21447500000000003,lx:3.5999999999999996,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"d7sb6VcbzjaYN3rbM9eNEy",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.4463768115942027,cy:0,cz:-.21447500000000003,lx:3.5999999999999996,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"cog6ySXPfBh8EbJAcymKkb",selected:!1,color:"#fff"},{type:"Wall",cx:-34.64742278189158,cy:2.0786397230474662,cz:0,lx:18.04302697558712,ly:.3,lz:20,relativeAngle:4.718216995364466,leftPoint:[-34.7,11.100000000000001,0],rightPoint:[-34.59484556378315,-6.942720553905069,0],leftJoints:["doTJdkASNxSDmLf9c3Pegr"],rightJoints:["7cDw6CDEimwyt2K7C9p2yW"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gPxD8gV5byhzgQKdBBgMTy",roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.4000000000000057,cy:11.099999999999998,cz:0,lx:68.6,ly:.3,lz:20,leftJoints:["6iADGugkaqZHafimZHuePH"],rightJoints:["gPxD8gV5byhzgQKdBBgMTy"],leftPoint:[33.89999999999999,11.099999999999996,0],rightPoint:[-34.7,11.100000000000001,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"doTJdkASNxSDmLf9c3Pegr",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:33.791618329408095,cy:2.180852804801064,cz:0,lx:17.839611349594517,ly:.3,lz:20,leftJoints:[],rightJoints:["doTJdkASNxSDmLf9c3Pegr"],leftPoint:[33.6832366588162,-6.738294390397874,0],rightPoint:[33.9,11.100000000000001,0],relativeAngle:1.5586453515816485,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"6iADGugkaqZHafimZHuePH",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Window",cx:.22463768115942012,cy:.1,cz:.15000000000000005,lx:.4782608695652177,ly:.3,lz:.6000000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qQynJ4ikT8Jys2hyueRjYG",opacity:.9,mullion:!0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["6iADGugkaqZHafimZHuePH","doTJdkASNxSDmLf9c3Pegr","gPxD8gV5byhzgQKdBBgMTy","7cDw6CDEimwyt2K7C9p2yW"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"sGiZvGvnHnyEYkatVrLiX7",rise:0,ceiling:!1},{type:"Window",cx:.22463768115942023,cy:.1,cz:-.325,lx:.4782608695652175,ly:.3,lz:.3,mullionWidth:.1,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jd3R2J1QYzh9JuC9phYqVK",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#009ce0",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.8,mullion:!0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Joey",cx:27.81441583822325,cy:-8.684480883806081,cz:.05000000074505806,lx:.462,ly:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"fGLWCfzEic9oaSWyEnfb8i",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:.011594202898550683,cy:-5921189464667502e-30,cz:-.44000000000000006,lx:32.4,ly:1.7999999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n8XPZ6tgzkn2e4GV2EzSXQ",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.30724637681159417,cy:-5921189464667502e-30,cz:-.44000000000000006,lx:13.2,ly:1.7999999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"ekdf8pAm7pTKeoNrT8Tsaw",selected:!1,color:"#fff"},{type:"Tree",name:"Coconut",cx:-37.29836295160464,cy:6.720238350736238,cz:.05000000074505806,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bieAeuuP4wJ8YMzJZ42ius",selected:!1},{type:"Tree",name:"Coconut",cx:-37.9321629780283,cy:-10.933241760578944,cz:.050000000745059836,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1BTxRyn2gu6uRotoQP2TPa",selected:!1},{type:"Tree",name:"Coconut",cx:36.96142302143514,cy:-12.152019969014674,cz:.05000000074505451,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"45HuTdkFeGkSbAuGPLxP7t",selected:!1},{type:"Tree",name:"Coconut",cx:37.37981081167908,cy:8.010864765015526,cz:.05000000074505451,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gQacj5zT5LnDR4eGQGkjvL",selected:!1},{type:"Window",cx:-.3014492753623188,cy:.1,cz:.38499999999999995,lx:.30724637681159417,ly:.3,lz:.049999999999999864,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wWxvu5H2MuoVyv6ABdSbEK",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3028985507246377,cy:.1,cz:.11749999999999998,lx:.03188405797101443,ly:.3,lz:.475,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"eREbGbTDZGJcxYejLHJP9R",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09420289855072465,cy:.1,cz:.14499999999999996,lx:.031884057971014505,ly:.3,lz:.5399999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rHF8v4bUPPQWeN1QG5CD8Z",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231944,cy:.1,cz:.38999999999999996,lx:.1710144927536233,ly:.3,lz:.049999999999999954,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1iamFXUWAL4NspqHjRqj9C",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231887,cy:.1,cz:.14499999999999996,lx:.16521739130434784,ly:.3,lz:.06000000000000005,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kwg8jL3PhhkSHEUBWoJRhB",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.008695652173913031,cy:.1,cz:-.0975,lx:.16811594202898547,ly:.3,lz:.05500000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"eBcZrL2nPnHJENRw34vkgb",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23768115942028983,cy:.1,cz:.3849999999999999,lx:.2086956521739131,ly:.3,lz:.05999999999999979,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tNMjGGfcx6yh5WH83NpPfT",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.15072463768115943,cy:.1,cz:.23249999999999998,lx:.0347826086956522,ly:.3,lz:.23500000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"cSnVNjSPe2y5ibKDfks9cp",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2565217391304348,cy:.1,cz:.14500000000000002,lx:.17101449275362315,ly:.3,lz:.049999999999999975,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"oQPXqj5b7fi9mxcYzLVwxU",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23768115942028983,cy:.1,cz:-.09500000000000001,lx:.2086956521739131,ly:.3,lz:.06000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"acu7FEv3n3KgU2sbERHsq8",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32608695652173914,cy:.1,cz:.030000000000000006,lx:.03188405797101453,ly:.3,lz:.16999999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"mwtc1MiJNhvF5Wp2hfBGbo",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3942028985507246,cy:.1,cz:.14499999999999996,lx:.0347826086956522,ly:.3,lz:.5399999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"xjxbBTagEoUGRvE4BqcQ8X",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4463768115942029,cy:.1,cz:-.0975,lx:.06376811594202897,ly:.3,lz:.05500000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gopaxkwtRfTqBUgmdgUeeB",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.44637681159420284,cy:.1,cz:-.09500000000000001,lx:.10434782608695652,ly:.3,lz:.06000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qtFXnqjWpK5EGFhJVApZG1",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2391304347826087,cy:.1,cz:.3850000000000001,lx:.2405797101449276,ly:.3,lz:.05999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n3FzBgTqGZAf3tAvrhJnpS",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.34347826086956523,cy:.1,cz:.11250000000000004,lx:.031884057971014484,ly:.3,lz:.4749999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wN26cpvDFmXpaVZ9fzFKx6",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.1333333333333334,cy:.1,cz:.11499999999999999,lx:.034782608695652126,ly:.3,lz:.47000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"a6Zd5eVvPewZw6pi9G6fFn",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2391304347826087,cy:.1,cz:.145,lx:.17101449275362318,ly:.3,lz:.06000000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"jXiZzAe8xydxZFiw3kYxPd",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231873,cy:.1,cz:-.35,lx:.9304347826086955,ly:.3,lz:.09000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kWayuyUJ3NCoJ76cAXXsb2",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.30869565217391304,cy:.1,cz:-.35,lx:.37391304347826093,ly:.3,lz:.08000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4sc4zQh2e4rskEdUjC7bwE",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Flower",name:"Boxwood",cx:-33.25171795779697,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2qoyCTh6RmtgUKGjienf6c",selected:!1},{type:"Flower",name:"Boxwood",cx:-30.051717957796967,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"27S95LNhtfhhNdrfhLb63X",selected:!1},{type:"Flower",name:"Boxwood",cx:-26.851717957796964,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4EzEYN7UN51NGA1h2gYf6h",selected:!1},{type:"Flower",name:"Boxwood",cx:-23.65171795779696,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"aMDDZrStJb88k8cjNdHTyX",selected:!1},{type:"Flower",name:"Boxwood",cx:-20.45171795779696,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bmyWAH2NGyagaGJf2zR8wZ",selected:!1},{type:"Flower",name:"Boxwood",cx:-17.251717957796956,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qjnbGRzmuBcffGRPmRHiD4",selected:!1},{type:"Flower",name:"Boxwood",cx:-14.051717957796956,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2kbr1bEYWRM4qt64AXRioR",selected:!1},{type:"Flower",name:"Boxwood",cx:-10.851717957796957,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wPVJmyDJeSE1u47UPb87pe",selected:!1},{type:"Flower",name:"Boxwood",cx:-7.651717957796958,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"7fEUD44paZGx4eApcgVBdW",selected:!1},{type:"Flower",name:"Boxwood",cx:-4.451717957796959,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"iz1HshbMuyvDyuUFjjNVmm",selected:!1},{type:"Flower",name:"Boxwood",cx:-1.2517179577969584,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1HnQLoEVsBHHwYnQM4daRk",selected:!1},{type:"Flower",name:"Boxwood",cx:1.9482820422030418,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tHugAGpHLnMfQJaJDiLNgW",selected:!1},{type:"Flower",name:"Boxwood",cx:5.148282042203042,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"fNGZwXhHJCEaTdeKtqi7LN",selected:!1},{type:"Flower",name:"Boxwood",cx:8.348282042203042,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"x9veDZdEDkbTP24vXAaH9a",selected:!1},{type:"Flower",name:"Boxwood",cx:11.548282042203041,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"aW9z1qFcCFUJKw1kfwTUs9",selected:!1},{type:"Human",name:"Jack",cx:-36.639233371667494,cy:-11.25138408484107,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bQ8SMNuHJbe3JAwpYi8Bx3",selected:!1,ly:.42}],E7n={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!0,axes:!1,enableRotate:!0,weatherPanelY:0,cameraPosition:[-38.175932678703475,-44.876912777413864,6.961313205634463],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"#16A5A5",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[7.187719821125536,18.770050283059465,6.961313205634463],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!0,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Desert",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:13.26840862578125,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[21.857600787569247,2.944578579032461,29447094632855078e-22],cameraPosition2D:[21.857600787569247,2.944428572365064,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,waterSurface:!1,showEconomicsPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},k7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},F7n=1,L7n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},W7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},N7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},U7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},B7n=[],j7n={docid:P7n,time:C7n,timestamp:R7n,userid:H7n,owner:M7n,email:I7n,world:z7n,elements:D7n,view:E7n,graphState:k7n,evolutionMethod:F7n,solarPanelArrayLayoutParams:L7n,solarPanelArrayLayoutConstraints:W7n,evolutionaryAlgorithmState:N7n,economicsParams:U7n,notes:B7n},Y7n="1VPKxyH9hMKodx5PZBsKF9",O7n="02/02/2023 08:19 pm",_7n=1675387154116,V7n="QWecNcxhyvP6j6sBN11hBsfZDau1",G7n=null,X7n=null,J7n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},K7n=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground",color:"#ffffff"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.38935296591314916,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:.01688904665567762,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.138,poleHeight:1,drawSunBeam:!0,ly:2.092,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.092,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!1,label:"Row2",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],lx:17.138,selected:!1,orientation:"Landscape",cx:.013031122906363104,relativeAzimuth:0,cy:-.18800180696869379,poleHeight:1,drawSunBeam:!0,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{poleRadius:.05,type:"Solar Panel",lx:17.138,lz:.046,relativeAzimuth:0,drawSunBeam:!0,rotation:[0,0,0],ly:2.092,normal:[0,0,1],poleSpacing:3,cx:.014926747515468942,trackerType:"None",cy:.014703568726943495,label:"Row3",cz:.5000000074506161,orientation:"Landscape",showLabel:!1,selected:!1,poleHeight:1,tiltAngle:.5235987755982988,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{orientation:"Landscape",lx:17.138,showLabel:!1,id:"jLa9TCA6bfQFuaoHYKZtr7",poleHeight:1,drawSunBeam:!0,cy:.18975053307599946,selected:!1,ly:1.596,label:"Row4",poleSpacing:3,cx:.012922602074816969,type:"Solar Panel",cz:.5000000074506161,rotation:[0,0,0],lz:.046,poleRadius:.05,trackerType:"None",tiltAngle:.5235987755982988,normal:[0,0,1],relativeAzimuth:0,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X20-250-BLK"},{tiltAngle:.5235987755982988,id:"nWKZve3r4PVxJM4YwShMJW",relativeAzimuth:0,poleSpacing:3,poleRadius:.05,cx:.011234729062103974,poleHeight:1,type:"Solar Panel",trackerType:"None",label:"Row5",lz:.046,normal:[0,0,1],showLabel:!1,cz:.5000000074505806,selected:!1,orientation:"Landscape",lx:17.138,ly:1.596,rotation:[0,0,0],cy:.35915527919266454,drawSunBeam:!0,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X20-250-BLK"},{type:"Human",name:"Jack",cx:-8.559844752666184,cy:-5.056987011387983,cz:.05000000074505784,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1}],q7n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Grassland",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-10.001667461924015,-11.422813610974892,1.2577590090789499],panCenter:[.22138352296916342,-.3133299860057419,1.2290156417830225],orthographic:!1,enableRotate:!0,cameraZoom:45.44146361606706,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!0,showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:200,height:69}},$7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Q7n=1,Z7n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},e8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},t8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},n8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},o8n=["Floatovoltaics"],i8n={docid:Y7n,time:O7n,timestamp:_7n,userid:V7n,owner:G7n,email:X7n,world:J7n,elements:K7n,view:q7n,graphState:$7n,evolutionMethod:Q7n,solarPanelArrayLayoutParams:Z7n,solarPanelArrayLayoutConstraints:e8n,evolutionaryAlgorithmState:t8n,economicsParams:n8n,notes:o8n},r8n="r7rAdLj2bzBDq2GS1CnPhs",a8n="12/03/2023 04:15 PM",l8n=1701638157224,s8n="QWecNcxhyvP6j6sBN11hBsfZDau1",c8n=null,u8n=null,d8n="1.5.4",f8n={latitude:21.26999081653234,pvGridCellSize:.5,timesPerHour:4,longitude:-157.79987618634874,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"4303 Diamond Head Rd, Honolulu, HI 96816, United States",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},h8n=[{cy:.9722009313455304,normal:[0,0,1],lz:.1,ly:14.358919231269399,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.3854097604402611,cz:.05,rotation:[0,0,0],lx:37.46430380942354,selected:!1,parentId:"Ground",textureType:"Foundation Texture #3"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.4001152441146478,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:-.2534759364667544,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.712,poleHeight:1,drawSunBeam:!1,ly:1.984,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-350P-FG"},{tiltAngle:.5235987755982988,id:"nWKZve3r4PVxJM4YwShMJW",relativeAzimuth:0,poleSpacing:3,poleRadius:.05,cx:-.24807731949020181,poleHeight:1,type:"Solar Panel",trackerType:"None",label:"Row5",lz:.046,normal:[0,0,1],showLabel:!1,cz:.5000000074505806,selected:!1,orientation:"Landscape",lx:17.712,ly:1.984,rotation:[0,0,0],cy:.3130126725192229,drawSunBeam:!1,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-350P-FG"},{type:"Foundation",cx:-.07910485276111778,cy:2.9099830956896398,cz:.15,lx:37.22589181468162,ly:2.2498532144773713,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1Tke71vAoWuRt2r5v2CSYZ",selected:!1},{type:"Tree",name:"Dogwood",cx:-2.3229355333414095,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"35HtXQRVRTJqsvcy71eZBd",selected:!1},{type:"Tree",name:"Dogwood",cx:-17.977666816250007,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fmSSfxugyyXcaFPGp5J2GH",selected:!1},{type:"Tree",name:"Dogwood",cx:-16.570876070305893,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"r1axrjm2UGjTBQPRnRKw1U",selected:!1},{type:"Tree",name:"Dogwood",cx:-15.164085324361773,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"o6SdXUMbUBjNMc2SCs1Pqu",selected:!1},{type:"Tree",name:"Dogwood",cx:-13.757294578417655,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"nkBbAZdoKvnThFLy1td116",selected:!1},{type:"Tree",name:"Dogwood",cx:-12.350503832473537,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"srkmySETFJsYm7J8quA3u2",selected:!1},{type:"Tree",name:"Dogwood",cx:-10.943713086529419,cy:-.07064720678805703,cz:.15,lx:.8963977881664541,lz:1.2127808163464167,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"2kmwtuQn7hFn7tffKEXSXb",selected:!1},{type:"Tree",name:"Dogwood",cx:-9.536922340585301,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fG9ydmQQYpah6b1GcbZ59Q",selected:!1},{type:"Tree",name:"Dogwood",cx:-8.130131594641183,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"cgtEAVRi5nWuhmKxX6g4z5",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.723340848697064,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"przZJKcdsmf3AyEn87SwPT",selected:!1},{type:"Tree",name:"Dogwood",cx:-5.316550102752946,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"wUrT7zxrNMXpZdhUKyq5x6",selected:!1},{type:"Tree",name:"Dogwood",cx:-3.909759356808828,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"wntymhbHuaV7gtGi2EKDo7",selected:!1},{type:"Human",name:"Jack",cx:3.5761554401177627,cy:10.141850723436477,cz:-3552713678800501e-30,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hYuqwxLBfjhYZrxPJu2S8L",selected:!1},{type:"Foundation",cx:.13851040605918286,cy:13.590779733945908,cz:.05,lx:38.38905435254204,ly:3.1484982131688,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"uUai6Yn6y8nHmN3tf9ahyx"},{type:"Tree",name:"Dogwood",cx:-.9161447873972912,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fe3JUD33oYRwCBbynb56a6",selected:!1},{type:"Tree",name:"Dogwood",cx:.490645958546827,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"b9kHqFvP9UMct1EmYHLa8B",selected:!1},{type:"Tree",name:"Dogwood",cx:1.8974367044909453,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"4v5HJbcnyM8oRxQZgZVsFX",selected:!1},{type:"Tree",name:"Dogwood",cx:3.3042274504350635,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"jpZJvpTbQ2E3HeJKSSDDKE",selected:!1},{type:"Tree",name:"Dogwood",cx:4.7110181963791815,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"8uqevdQdeBV5zYzHrgq3Zh",selected:!1},{type:"Tree",name:"Dogwood",cx:6.1178089423232995,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"ehkm6HNVcvwQd4qavWsxgH",selected:!1},{type:"Tree",name:"Dogwood",cx:7.5245996882674175,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1.1894655061100838,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"mLwM3h5i56JQA5TFe7ZiDv",selected:!1},{type:"Tree",name:"Dogwood",cx:8.931390434211536,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"7GwaXerEUULBZK3RvssSh4",selected:!1},{type:"Tree",name:"Dogwood",cx:10.338181180155654,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"o51PX9nDXBoHsRrR8Uu3uf",selected:!1},{type:"Tree",name:"Dogwood",cx:11.744971926099772,cy:.03525093487395026,cz:.15,lx:1.764310209952872,lz:1.265757986719473,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"9F5Dsns2uqudj67bhcfCuw",selected:!1},{type:"Tree",name:"Dogwood",cx:13.15176267204389,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"nk4dmSLi3sQsGHDhERhaBY",selected:!1},{type:"Tree",name:"Dogwood",cx:14.558553417988009,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"g2UDZFQDMS1tCLiVCT9tfK",selected:!1},{type:"Tree",name:"Dogwood",cx:15.965344163932127,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"2mrMmxPqKbQr6oZ7YUWRD8",selected:!1},{type:"Tree",name:"Dogwood",cx:17.372134909876245,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"cyqhBaUdyZEb9qiSvsXab5",selected:!1},{type:"Foundation",cx:-.07054167332229894,cy:-2.024806657915021,cz:.15,lx:37.22589181468162,ly:2.2498532144773713,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{},rValue:2,id:"96KwVrDfi16QfHLR93Yusp",selected:!1},{type:"Tree",name:"Dogwood",cx:-2.3229355333414095,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"a49icarmzkr5QwqsUwcbKA",selected:!1},{type:"Tree",name:"Dogwood",cx:-17.977666816250007,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"eLvpYKupN3ZLTR6HGQMJkt",selected:!1},{type:"Tree",name:"Dogwood",cx:-16.570876070305893,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"7rJcFKWtrJvxRyWnzd6WkS",selected:!1},{type:"Tree",name:"Dogwood",cx:-15.164085324361773,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.0628678085816343,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"rtyCUEBjykc41yoAS8xvzF",selected:!1},{type:"Tree",name:"Dogwood",cx:-13.757294578417655,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4KPWZLD6vF24DfPuM2Sk5U",selected:!1},{type:"Tree",name:"Dogwood",cx:-12.350503832473537,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"vmVbUtrDPqovRK9e9VXmvi",selected:!1},{type:"Tree",name:"Dogwood",cx:-10.943713086529419,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"uZEQRAZoWqCdb9t2vARZDK",selected:!1},{type:"Tree",name:"Dogwood",cx:-9.536922340585301,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.1673145007663057,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"3kqBZrSL44dhijeAviDVUt",selected:!1},{type:"Tree",name:"Dogwood",cx:-8.130131594641183,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"fHWcVVyZeJR1UETUCJVtfh",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.723340848697064,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"pPESS4LE2RduK16iCF4KdD",selected:!1},{type:"Tree",name:"Dogwood",cx:-5.316550102752946,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"qZrj5i9EwWchq9UModX2KJ",selected:!1},{type:"Tree",name:"Dogwood",cx:-3.909759356808828,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.1292047414746058,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"g9GCKKyuBxSMt9EkVXcwb6",selected:!1},{type:"Tree",name:"Dogwood",cx:-.9161447873972912,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"qi19BZSTrFFjKcH9LHmHer",selected:!1},{type:"Tree",name:"Dogwood",cx:.490645958546827,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1.2,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"6fapqZiLRvqTC3noQ9qV1n",selected:!1},{type:"Tree",name:"Dogwood",cx:1.8974367044909453,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"eTJ54zfhEY587nX7Gwwzrt",selected:!1},{type:"Tree",name:"Dogwood",cx:3.3042274504350635,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"mnoQ28t4Sb3TFQnqEQMGRc",selected:!1},{type:"Tree",name:"Dogwood",cx:4.7110181963791815,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"wfaEEGtnAgNTCdGMsUUEBg",selected:!1},{type:"Tree",name:"Dogwood",cx:6.1178089423232995,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"aE4gaTgQS5D99ihfN5N1k6",selected:!1},{type:"Tree",name:"Dogwood",cx:7.5245996882674175,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"iVwdm91NiMXw2bhPisFykP",selected:!1},{type:"Tree",name:"Dogwood",cx:8.931390434211536,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"1ZKagttn6ByMzdnHsckbRB",selected:!1},{type:"Tree",name:"Dogwood",cx:10.338181180155654,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4DbKV3HWjhBz2GFmeLXq5c",selected:!1},{type:"Tree",name:"Dogwood",cx:11.744971926099772,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"dXC8aLV5gZJNyUdCNmpiZ8",selected:!1},{type:"Tree",name:"Dogwood",cx:13.15176267204389,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"gi688GyqFP38jz93UfzMgz",selected:!1},{type:"Tree",name:"Dogwood",cx:14.558553417988009,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"d5fHKRcHkVJqL5GKmd9LDf",selected:!1},{type:"Tree",name:"Dogwood",cx:15.965344163932127,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"13n9gQqcnRjZGsNhYWB4CN",selected:!1},{type:"Tree",name:"Dogwood",cx:17.372134909876245,cy:.03525093487395026,cz:.15,lx:1.4443308509644897,lz:1.3412576094365443,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4KJo99ghaNG7xtsX7Kn1N3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.25983646910764824,cy:.3133093731438954,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bagts7BbZy9iCcoduMfEgD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:-.2523128881468759,cy:-.049773566907739965,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pj2L9vfZSZQi8e9gAooky6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.25728154613970783,cy:-.04340299144144473,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCxFDu9XteXqYUHTDEDNzj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.2576243996790015,cy:-.39678149415706165,cz:.5000000074505806,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mnrNeCQGtprG4bege1iS2k",selected:!1},{type:"Wind Turbine",hubRadius:.75,hubLength:1,bladeRadius:8,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:2.2,maximumChordLength:.8,towerRadius:.45,towerHeight:16,cx:.3229647560258571,cy:-.024310522113242205,cz:0,lx:16,ly:16,lz:24,normal:[0,0,1],rotation:[0,0,0],parentId:"uUai6Yn6y8nHmN3tf9ahyx",foundationId:"uUai6Yn6y8nHmN3tf9ahyx",id:"tSaXBUZ4vhyAW1v5cyaAsR",selected:!1,initialRotorAngle:.5235987755982988,pitchAngle:.20943951023931956},{type:"Wind Turbine",hubRadius:.75,hubLength:1,bladeRadius:8,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:2.2,maximumChordLength:.8,towerRadius:.45,towerHeight:16,cx:-.3557792798597688,cy:.20081385230735016,cz:0,lx:16,ly:16,lz:24,normal:[0,0,1],rotation:[0,0,0],parentId:"uUai6Yn6y8nHmN3tf9ahyx",foundationId:"uUai6Yn6y8nHmN3tf9ahyx",id:"ihuq9s7iV15JQwWEWj6cns",selected:!1,initialRotorAngle:1.3962634015954636,pitchAngle:.20943951023931956}],p8n=24,g8n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:21,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[5.592328859316375,-28.430996692941612,7.190377220372418],panCenter:[5.753820002631499,6.322778695844774,6.457742384767832],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[4.5991440976008455,6.337014925329444,150],panCenter2D:[4.5991440976008455,6.338015302774838,64403155386807335e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showMapPanel:!1,solarRadiationHeatMapMaxValue:4,showStickyNotePanel:!1,stickyNotePanelRect:{x:0,y:0,width:205,height:68},navigationView:!1},m8n=!1,y8n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},A8n=1,w8n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},v8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},x8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},b8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},S8n="Unknown",T8n=null,P8n=null,C8n=null,R8n=null,H8n=["Agrivoltaics"],M8n=3,I8n=3,z8n={docid:r8n,time:a8n,timestamp:l8n,userid:s8n,owner:c8n,email:u8n,version:d8n,world:f8n,elements:h8n,sceneRadius:p8n,view:g8n,animate24Hours:m8n,graphState:y8n,evolutionMethod:A8n,solarPanelArrayLayoutParams:w8n,solarPanelArrayLayoutConstraints:v8n,evolutionaryAlgorithmState:x8n,economicsParams:b8n,modelType:S8n,modelAuthor:T8n,modelLabel:P8n,modelDescription:C8n,designProjectType:R8n,notes:H8n,minimumNavigationMoveSpeed:M8n,minimumNavigationTurnSpeed:I8n},D8n="3kTPvbTLo3JfCvHCNFYb8C",E8n="02/02/2023 05:19 pm",k8n=1675376390119,F8n="QWecNcxhyvP6j6sBN11hBsfZDau1",L8n=null,W8n=null,N8n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"10/01/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},U8n=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:20.344194814255086,label:"R22"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:20.344194814255086,label:"R23"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:20.301130494002802,label:"R24"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"R21",dailyYield:20.423474876035336},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:20.34600992389522,label:"R25"},{type:"Foundation",cx:9.631391045182012,cy:-.034724141127635555,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.23276330833803774,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"oPGVYYGkGqjKAWacgXTr35",selected:!1,dailyYield:11.705639294931665,label:"R12"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"aiWW32QVkCjCBwtDMtjsXr",selected:!1,dailyYield:20.423474876035336,label:"R11"},{type:"Foundation",cx:-9.466959404203182,cy:-.00920136097199542,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7LGxrgEwehUWBo5dH7C67q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:-.09409066127900084,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"gFDw5Wxzxz1fZY32qoSLoy",selected:!1,dailyYield:11.694143838550957,label:"R13"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.044581985780036054,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"3seUSu69aBJbCMJ1QTweLi",selected:!1,dailyYield:11.705639294931665,label:"R14"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967656,cy:.18325463283907295,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"hgGFwiEpscwf16U1io4zpD",selected:!1,dailyYield:11.705639294931665,label:"R15"}],B8n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[24.035965357730035,-22.736672617703796,26.412316296073463],panCenter:[14.509957884993852,2.01433946065165,2.596734324796276],orthographic:!1,enableRotate:!0,cameraZoom:27.207482839996143,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:253,height:65}},j8n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Y8n=1,O8n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},_8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},V8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},G8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},X8n=["Effect of interrow spacing"],J8n={docid:D8n,time:E8n,timestamp:k8n,userid:F8n,owner:L8n,email:W8n,world:N8n,elements:U8n,view:B8n,graphState:j8n,evolutionMethod:Y8n,solarPanelArrayLayoutParams:O8n,solarPanelArrayLayoutConstraints:_8n,evolutionaryAlgorithmState:V8n,economicsParams:G8n,notes:X8n},K8n="69tJrD9Uz8P8feZdzUtyXN",q8n="05/20/2022 12:16 pm",$8n=1653063377435,Q8n="QWecNcxhyvP6j6sBN11hBsfZDau1",Z8n=null,evn=null,tvn={latitude:37.44574069680563,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-6.249946169311531,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"41800 Sanlúcar la Mayor, Seville, Spain",date:"3/22/2022 11:00:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:5,cspTimesPerHour:1,cspGridCellSize:5},nvn=[{cy:53.463080949514506,normal:[0,0,1],lz:.5,ly:806.586647395053,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:11.016365885808142,cz:.25,rotation:[0,0,0],lx:870.6680312936733,selected:!1,parentId:"Ground",locked:!1,solarPowerTower:{towerHeight:40,towerRadious:4}},{type:"Human",name:"Jack",cx:-19.167451192300774,cy:-309.3414199054706,cz:0,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.0019164258394133288,cy:-.4158344145798274,cz:0,lx:12,ly:10,lz:.1,showLabel:!1,label:"4",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:25.59597205852084,yearlyYield:311.4614380820491,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.007376001317235639,cy:-.36554470178529136,cz:0,lx:12,ly:10,lz:.1,showLabel:!1,label:"3",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:28.888231364804646,yearlyYield:341.6536704139208,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.20537660531292481,cy:-.4193704100106933,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!1,dailyYield:23.314190283597984,yearlyYield:285.77957159626914,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.09582112405795708,cy:-.4382290523086443,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!1,dailyYield:29.108913473883288,yearlyYield:347.0340046876023,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.054863159129938666,cy:-.464159685468327,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTbu5NQZzH6fiJzt2zLCpV",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11037999199881661,cy:-.46023080165625374,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ugqyZH3Bjuab2xu6Qr2AeU",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.112199850491424,cy:-.3934397768510106,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7rmzdYXVhRoVennqPqJYd",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11802339766776783,cy:-.41308419591137624,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jSyunViQPLX4rv6KUBXXTZ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.15769631280660995,cy:-.4511943688884857,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q1mgBumMQuofVfZ58dfPgn",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.039576347792036205,cy:-.442943712883132,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1BaYAuYZtqhDEGCFRqXDcs",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.02792925343934858,cy:-.3761526880778888,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4sC4oY8P4gCm2XiADRkgDQ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.07725856743336128,cy:-.42251351706035173,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k2hvdFozuZeFRMXA2gCxru",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.08781374669048435,cy:-.3977615490442911,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5gLYoZoHmvvc2dfNpBoMHu",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.10419247312395133,cy:-.3682949204537425,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoUTmK9iTzsVRu26aQmb6S",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1445933316598364,cy:-.3553296038739013,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aaDc1Nt2XKdpoCZWcocB2i",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.005363008131016386,cy:-.38597489760807163,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLKFf4eYJctoWDbAWu1oSp",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1314903505130629,cy:-.4657312389931562,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"svsNMecQbfU155PmYUZ3Lt",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.12457488824115463,cy:-.36004426444838894,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5WMpX8TYy1KfLhVCYdMj1p",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.16424780337999675,cy:-.38518912084565715,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rLs3CXHWy1yv3CpNwWpHSg",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.16934340715929755,cy:-.4067979818120592,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYKv2L4bbvL99cSYqy9g78",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.04086139758121251,cy:-.3297918590954259,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6h32hqP5LZJr3g6KkvENFf",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.05978792590432987,cy:-.38361756732082763,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hJpPNqZeYCYBc9ZnrtL8rd",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.014291463589143885,cy:-.3961899955194619,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oKHW4guazpWYWFUbcAtx78",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.015554215689618007,cy:-.40483353990602267,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jGpvLznPcPbkxgRNT7LmEG",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.030306218324089352,cy:-.40876242371809585,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7v652Vk2Y4W8Ugs74iPYyx",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.18645007698980745,cy:-.40994108886171765,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wmMQERU6EmYPAHq1HGq5G1",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1646117750785182,cy:-.42172774029793714,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qmEBaJnQ1mYuWRgutUUj45",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.025574586243310056,cy:-.3482576130121696,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hgFFjf5NE1fWwscAHtJz9W",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.14677716185096534,cy:-.38086734865237665,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5E44DCctaDCtPRiHgiN8Co",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1871780203868504,cy:-.38833222789531546,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3FAf2Pb5iRxcMgjsAapYN",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.2064685204084893,cy:-.39697577228187636,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phQzzL3Mgfme6Exr5WqXA9",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.227942850621257,cy:-.40640509343085185,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gSGxJne57KgDvvhX1w8m4S",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.068887218367367,cy:-.33686384995715757,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nvkfziKtbczLEbZ9noiReH",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.09873289764612901,cy:-.34629317110613306,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e7BrgrYuxziAFGXqE8Paiu",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.04595700136051335,cy:-.3631873714980474,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6E7Q93GeP3kP1LK9YLZv9E",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.07815734783531385,cy:-.44765837345761983,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSCCumTcS91dqnMuiik1qm",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.07980636932301162,cy:-.37300958102823034,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pmLUXug8LEht87AKuCxfbz",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.2483252657384603,cy:-.4201561867731079,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o54KAWAv76mbgsJ1MBkyC5",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.09999564974660309,cy:-.4610165784186685,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f7h8FDUa15ALkGHaRaG5Hv",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.19736922794545209,cy:-.4417650477395101,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2waE2goJnuKsD2ZPsCBxqm",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.05542026552207203,cy:-.4134770842925835,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5ovRP3PCZ5upU3ukAjjLY",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.22393916193752067,cy:-.43233572659053454,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jLzYFijeuhoktLs4FcLsmr",selected:!1,drawSunBeam:!0,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.020285847770397398,cy:-.4260495124912175,cz:.5000000074506517,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b3S1EEPjMRL48HLhjJkhr2",selected:!1,drawSunBeam:!0,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.08890566178604883,cy:-.3231127566149015,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aqxtvZXmbpAutc5KFCX7w3",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.034844715711256906,cy:-.3985473258067056,cz:.5000000074506517,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qn5fUEqKYEJLMaMGhD5V2c",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1817184449090281,cy:-.4291926195408761,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4t86vx9fAWouPiFQswUJGQ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.073789687453056,cy:-.4728032298548879,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rufeUy74dsTyxkeFYKX4qa",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.028850331530003406,cy:-.37536691131547417,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6GXoab5MEeebRm4uGu1EG9",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.04030429118907922,cy:-.42172774029793714,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5TEya7XNeGuhPop6Pj6Es",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11838736936628931,cy:-.43272861497174187,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eDoKDbTtFpnA5S8UAeT5JD",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.13840581278497113,cy:-.41740596810465674,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bybZmMq5HCRUCdJHjru2JV",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.13513006749827772,cy:-.4437294899555085,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hrEeQaibYaP57iKo4xufR4",selected:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.043409199470862934,cy:-.38833222820527735,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eMTdANgm4PdxeiHcfwzGxe",selected:!1},{type:"Heliostat",cx:.05923081951219652,cy:-.3989402144978749,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t2umoGg8VspP5qdugHevfe",selected:!1},{type:"Heliostat",cx:.05959479121071805,cy:-.4232992941327282,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xgWhQhAtyB8sh6AEqfnLMB",selected:!1},{type:"Heliostat",cx:.05886684781367504,cy:-.44569393186154516,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4PiJNb4AiKgYWDFqfiLnsX",selected:!1},{type:"Heliostat",cx:.08325295161461468,cy:-.4268352895635941,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uiJMkxjENj2xtf6Ek94NEJ",selected:!1},{type:"Heliostat",cx:.10472728182738246,cy:-.4370503874749841,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xu9CszAWnNUQxfgY6e4BuN",selected:!1},{type:"Heliostat",cx:.05013152704915935,cy:-.37222380457577764,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mNvmxvTfLNasgrJJBceUa2",selected:!1},{type:"Heliostat",cx:.01773804588074696,cy:-.3392211805543633,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mPHMz8Zez8DHnqXVJDdKqX",selected:!1},{type:"Heliostat",cx:-.11802339766776783,cy:-.3368638502671194,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3u148SBduXqFBbKh774JFp",selected:!1},{type:"Heliostat",cx:-.16570369017408268,cy:-.3584727112335216,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dkiRia21pNiw2ZZ9ehmvPz",selected:!1},{type:"Heliostat",cx:-.20901632229813968,cy:-.3702593626697411,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nCzcUVZHj8SBGWmTxeVCdH",selected:!1},{type:"Heliostat",cx:-.2290347657168215,cy:-.37968868381871645,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1A8dsYXQfAQaXjXYHYypfP",selected:!1},{type:"Heliostat",cx:-.186086105291286,cy:-.36318737180800925,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sWF3MtvJScjs42n3JPJzBs",selected:!1},{type:"Heliostat",cx:-.15988014299773887,cy:-.3368638502671194,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qJ6i6BJYiz4BtphokxmqSr",selected:!1},{type:"Heliostat",cx:-.13767786938792817,cy:-.33450651997987546,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8VArq9h668zQsZacfABpJx",selected:!1},{type:"Heliostat",cx:-.10965204860177363,cy:-.3180052079691684,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hDWFzcdWPkLhpNc2qDGY97",selected:!1},{type:"Heliostat",cx:-.07798651083040421,cy:-.3034683378644978,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3osCpGC4VNFjdLEnR9ssL",selected:!1},{type:"Heliostat",cx:-.04304522777234147,cy:-.29953945405242466,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5bEZH7wqmT7kFk43Sb7TJN",selected:!1},{type:"Heliostat",cx:-.060515869301372795,cy:-.3164336544443391,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5KkN2FL8QnM1J53hB4Xn2H",selected:!1},{type:"Heliostat",cx:-.02521061454478851,cy:-.3168265428255464,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kDCxHQF3XiaNTHNK5V66Ez",selected:!1},{type:"Heliostat",cx:-.008467916412800107,cy:-.3022896727208758,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"crvXHP85BpYy7AfrCdfGqQ",selected:!1},{type:"Heliostat",cx:.004635064733973385,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3MtreSAAK1C6J96mEDGMf5",selected:!1},{type:"Heliostat",cx:-.012107633398015015,cy:-.33332785483625366,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e5jtkdQkg5vLr79YkGmJpg",selected:!1},{type:"Heliostat",cx:.02574542324821971,cy:-.3105403287262294,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1YLAcSLk3xfAp4c5r9jnnW",selected:!1},{type:"Heliostat",cx:.011550527005881632,cy:-.2956105702403515,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w1pjfJGLPZSQFpNzSdhVtD",selected:!1},{type:"Heliostat",cx:.03520868740977837,cy:-.33214918969263163,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4HHLNX7pc8ynVjLa3M1tpQ",selected:!1},{type:"Heliostat",cx:.045035923269858516,cy:-.3510078319905826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ePKj6YLxFoSXibXbQUndAB",selected:!1},{type:"Heliostat",cx:.043944008174294044,cy:-.3046470030081197,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6nSgZWsKWCHiVuWk3E9WHV",selected:!1},{type:"Heliostat",cx:.030477055328999,cy:-.2865741374725833,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kT5YZAVhbb3hZCQWannx3E",selected:!1},{type:"Heliostat",cx:.01737407418222549,cy:-.2677154951746322,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"giZWyJupVbt7L3N3Exx6KE",selected:!1},{type:"Heliostat",cx:-.005556142824628219,cy:-.2783234814672297,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bzoJ5edfakL2yrcp9BQhB9",selected:!1},{type:"Heliostat",cx:-.026302529640352984,cy:-.2865741374725833,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rKs5TmBLfGe1R4gmQLWbCL",selected:!1},{type:"Heliostat",cx:-.062335727793980285,cy:-.29089590966586376,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2CFM3oUCe7xRVZWhn2bpoF",selected:!1},{type:"Heliostat",cx:-.09727701085204306,cy:-.2999323424308765,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n3zXksYZLyDrdVy3Mr5bjz",selected:!1},{type:"Heliostat",cx:-.1307624071160199,cy:-.3136834357758604,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tKTj5ruzDm2LDUQttBKZuC",selected:!1},{type:"Heliostat",cx:-.15332865242435212,cy:-.30975455196378715,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8Wrax3edyeNcguwLnRGXNE",selected:!1},{type:"Heliostat",cx:-.11765942596924632,cy:-.2912887980470435,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xe4keTpM3Nxqxi8VTBVkBA",selected:!1},{type:"Heliostat",cx:-.10382850142542982,cy:-.2704657138430559,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cu8vDmF3mr6d486SRs8SVM",selected:!1},{type:"Heliostat",cx:-.08453800140379099,cy:-.2779305930859948,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qVS1NQxjbM2xAQU2dHHvRU",selected:!1},{type:"Heliostat",cx:-.0641555862865877,cy:-.2637866113625315,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bdggQyC48dvj95izyNr5AC",selected:!1},{type:"Heliostat",cx:-.045593029661991816,cy:-.27360882089271443,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vPgz2pQL9AveqJGFTntUuC",selected:!1},{type:"Heliostat",cx:-.02448267114774558,cy:-.2598577275504585,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4WD9oiEgpbrtpGdNkRWVx7",selected:!1},{type:"Heliostat",cx:.054863159129938666,cy:-.2763590395611656,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1w2pYGTGqA6behkJEfLcAj",selected:!1},{type:"Heliostat",cx:-.13949772788053558,cy:-.2932532399530801,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8mK23ihYB6sUrakd88UX1",selected:!1},{type:"Heliostat",cx:-.17553092603416284,cy:-.3140763241570676,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gzBAFojWt7yjzaVPbVngNE",selected:!1},{type:"Heliostat",cx:-.18353830340163557,cy:-.33725673864829914,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qW18dh2SyEZXtSs5ZncgMF",selected:!1},{type:"Heliostat",cx:-.20610454870996778,cy:-.34236428760399423,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1MzjLhQ1k16rfXY1x49HYf",selected:!1},{type:"Heliostat",cx:-.16570369017408268,cy:-.28696702585376305,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"smNLCMky9o9MmdQJkRyv9F",selected:!1},{type:"Heliostat",cx:-.2516010110251537,cy:-.39068955849252135,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nyYdfe47Tnu2fkkQUpKj1e",selected:!1},{type:"Heliostat",cx:.057410961019589084,cy:-.323898533687278,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rZGMeCkjHUbBEScHVmXvBY",selected:!1},{type:"Heliostat",cx:.0650543666885403,cy:-.3466860597973021,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6UVpSPL6NHwkMTGMAGWMbc",selected:!1},{type:"Heliostat",cx:.06942202707079821,cy:-.3675091440012898,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vUjENc3i3UFtAwACin59Nf",selected:!1},{type:"Heliostat",cx:.09089635728356589,cy:-.38793933982407003,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bYd2te8sj3qc6nKgdBwKUp",selected:!1},{type:"Heliostat",cx:.09053238558504442,cy:-.3682949207637044,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x5qvaDTKu24dWCcZ1x9b4h",selected:!1},{type:"Heliostat",cx:.0861647252027866,cy:-.3459002830348876,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sYrumHzsSzJLGjGWnmW78L",selected:!1},{type:"Heliostat",cx:.07997720632792127,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3atSERmb5y2o1fPkn3U3Sb",selected:!1},{type:"Heliostat",cx:.06651025348262624,cy:-.2967892353839734,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q8fwLHL82vQ4h4iHmsSoAx",selected:!1},{type:"Heliostat",cx:.09089635728356589,cy:-.2963963470027661,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rUX6PqLyYSPibFZmVVGKj1",selected:!1},{type:"Heliostat",cx:.09853976295251717,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a71RHg1a5mbtqFmRR1LeB1",selected:!1},{type:"Heliostat",cx:.10763905541555435,cy:-.34629317141609495,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rCZjDPu6hrV9hwK1sMBx7P",selected:!1},{type:"Heliostat",cx:.11091480070224773,cy:-.37104513943215556,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YTfKHrGkuKHP7GdujyydA",selected:!1},{type:"Heliostat",cx:.10982288560668325,cy:-.39383266554217977,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kT6EXQ8Utyx3h6apaMYxSG",selected:!1},{type:"Heliostat",cx:.11091480070224773,cy:-.41544152650858196,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nStqgmJn2aLSvqHghG4Pbp",selected:!1},{type:"Heliostat",cx:.1287494139298006,cy:-.421727740607899,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2E7Vc7NyKu7SLYD6MSVgmr",selected:!1},{type:"Heliostat",cx:.1251096969445857,cy:-.44294371319309384,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iJhGibH8hVHt3XFxuZ2EVR",selected:!1},{type:"Heliostat",cx:.14003253658396672,cy:-.4547303646293133,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6ZA3XqcWxDfsN537EKY5vj",selected:!1},{type:"Heliostat",cx:.14913182904700392,cy:-.4311570617568746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4cKpMCMNmB9Ss7pKbSCSsB",selected:!1},{type:"Heliostat",cx:.16660247057603533,cy:-.4445152667179231,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w54968Xiwo6dPjYZQGbBrb",selected:!1},{type:"Heliostat",cx:.17278998945090057,cy:-.4213348522266917,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6dckGmumPNSkFhq8gMs3qu",selected:!1},{type:"Heliostat",cx:.1920804894725394,cy:-.4354788339501549,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cwVuAxoZiUC1H5Wje2gfod",selected:!1},{type:"Heliostat",cx:.15095168753961133,cy:-.40561931697839915,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ozYpByUV6vBaKhUdY2r3nZ",selected:!1},{type:"Heliostat",cx:.13238913091501553,cy:-.39697577259181077,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3E8kv3kvDQYPCgHGrTc3BH",selected:!1},{type:"Heliostat",cx:.1316611875179725,cy:-.37379535810057923,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"umYgCpqMpXPc71s29rAX3g",selected:!1},{type:"Heliostat",cx:.1298413290253651,cy:-.35022205522814037,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4yFSXLahhMtG3gK56eWGg1",selected:!1},{type:"Heliostat",cx:.1251096969445857,cy:-.327041640736909,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aTpNU9JuuqwPxdobYW4pBR",selected:!1},{type:"Heliostat",cx:.1174662912756345,cy:-.29757501214636045,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gNvHaW33K459kqY9u7BepY",selected:!1},{type:"Heliostat",cx:.15131565923813287,cy:-.35650826932745744,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8qgkQF7DCx79d2LxBy7hix",selected:!1},{type:"Heliostat",cx:.15167963093665435,cy:-.38243890248714013,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mPQfhExNEGN2zwyjRVpTpq",selected:!1},{type:"Heliostat",cx:.17388190454646504,cy:-.39540421906698137,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pDgnwEkgpE6PGtyJCXjDhU",selected:!1},{type:"Heliostat",cx:.1786135366272444,cy:-.3682949207636769,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cRreS1UagGBcRUbiWtwtBd",selected:!1},{type:"Heliostat",cx:.19535623475923283,cy:-.40719087050320085,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s7q7X6xUdhEACPxPGQCEo9",selected:!1},{type:"Heliostat",cx:.19826800834740468,cy:-.3726166929569573,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gFGfHzaaJc5xaE2fHD963c",selected:!1},{type:"Heliostat",cx:.2153746781779146,cy:-.41819174517700564,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nw8E1dCRxuQCPzw91T7NeE",selected:!1},{type:"Heliostat",cx:-.22794285062125708,cy:-.3557224925650703,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jrTEnFovS1iifhRBBxC77v",selected:!1},{type:"Heliostat",cx:-.27198342614235704,cy:-.405226428597192,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1HaVkVgC69Exxa4P4AuMRU",selected:!1},{type:"Heliostat",cx:-.2483252657384603,cy:-.3565082693274851,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qspACkTkjBfrx3FAarHvtL",selected:!1},{type:"Heliostat",cx:-.23267448270203633,cy:-.32979185940538763,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7itXceUu3MAQZY9syuA2us",selected:!1},{type:"Heliostat",cx:-.21302001098187603,cy:-.30739722167657085,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w8VQxzaXGr6shiYCtL94LK",selected:!1},{type:"Heliostat",cx:-.19045376567354383,cy:-.2877528026162052,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mYnEgxKjquMfzKB4NWPwU3",selected:!1},{type:"Heliostat",cx:-.16424780337999675,cy:-.26850127193704687,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e9bXB5WFMrZz7h5xt76LKd",selected:!1},{type:"Heliostat",cx:-.13804184108644962,cy:-.25632173211962017,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gtNeJEcTRyufHLL6AokGYa",selected:!1},{type:"Heliostat",cx:-.11074396369733809,cy:-.2464995225894373,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6fwRxb24K57nabopN8NEmN",selected:!1},{type:"Heliostat",cx:-.08126225611709761,cy:-.23549864791563258,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aUiiaf5Cq9kXkR5KzivtS2",selected:!1},{type:"Heliostat",cx:-.05141657683833565,cy:-.23274842924718137,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wXCs59HycWywP6dVX3RxFD",selected:!1},{type:"Heliostat",cx:-.023390756052181078,cy:-.23156976410080404,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uQNYdG6Cfa2DE4YjEyjiXC",selected:!1},{type:"Heliostat",cx:.008274781719188292,cy:-.2315697641035319,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"obhiNFSAxtYYjH2nQGrkoa",selected:!1},{type:"Heliostat",cx:.035208687409778276,cy:-.2406061968713278,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iY6QUX8HJxFfcjwEAuVe3x",selected:!1},{type:"Heliostat",cx:.06177862140184686,cy:-.24846396449547406,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gxxQzBr3C3fZtBLQB4XzAE",selected:!1},{type:"Heliostat",cx:.0887125270924369,cy:-.26221505783772997,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpt9FEDEbwRR242xB1y6tv",selected:!1},{type:"Heliostat",cx:.11528246108450549,cy:-.2802879233732664,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fPPU5HqYqZdh2QetXJ2p7A",selected:!1},{type:"Heliostat",cx:.13894062148840217,cy:-.2991465656684621,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"esagbCU76EkkhqebaZmmUf",selected:!1},{type:"Heliostat",cx:.15932303660560546,cy:-.31918387311276286,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"prTqpkxvMuTWkeLJ8y2CgD",selected:!1},{type:"Heliostat",cx:.17970545172280875,cy:-.3443287295100309,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u7j14TV18gpXBNzei9H8w2",selected:!1},{type:"Heliostat",cx:.2022716970311409,cy:-.3498291668469332,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JiM8J57ngXan5UMty5HT8",selected:!1},{type:"Heliostat",cx:.21937836686165088,cy:-.37968868381871645,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uUofaDUcmMKbxLFL1oxkSL",selected:!1},{type:"Heliostat",cx:.23976078197885417,cy:-.38911800496769194,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uJfXK4rjScs7gFncayPnY8",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:.22410999894243014,cy:-.35611538094627776,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dzS7KY8fPB4mrrF8bFf3Lo",selected:!1},{type:"Heliostat",cx:.24776815934632693,cy:-.36358026018921674,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vNqpyqbCLz9tXo7A7xujcB",selected:!1},{type:"Heliostat",cx:.26997043295613765,cy:-.3726166929569849,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4ko5XUjuP9RKm463DmDooY",selected:!1},{type:"Heliostat",cx:.1840731121050666,cy:-.32468431044969276,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"77xeiEQazj2KRhrDXmVzHK",selected:!1},{type:"Heliostat",cx:.20554744231783434,cy:-.3258629755933147,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQy87m9iTvmkmNKh4GrwyX",selected:!1},{type:"Heliostat",cx:.22993354611877403,cy:-.3317563013114243,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xeup3LyMyTrCKir2W1QKdM",selected:!1},{type:"Heliostat",cx:.25468362161823516,cy:-.3392211805543633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qrKKoaqQCswPARya6NG7Vs",selected:!1},{type:"Heliostat",cx:.27797781032361035,cy:-.3423642876040219,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pfjQmBxWC1Ae9mM7CjmUUs",selected:!1},{type:"Heliostat",cx:.16150686679673432,cy:-.2956105702403516,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6aCwPMcxiojnSCdYJ4wNko",selected:!1},{type:"Heliostat",cx:.1848010555021095,cy:-.29875367729001007,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"auwCCmHc32MJvNubS1T1L3",selected:!1},{type:"Heliostat",cx:.20991510270009217,cy:-.2979679005275954,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cb6NtvzZtpvN9xsruY7hxj",selected:!1},{type:"Heliostat",cx:.18334516870802356,cy:-.2696799370806689,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h9tGbEHGsevbnpUXRoj68w",selected:!1},{type:"Heliostat",cx:.16041495170116993,cy:-.2724301557491201,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"woL52bcsabXgpYHzS37qFg",selected:!1},{type:"Heliostat",cx:.13821267809135915,cy:-.2743945976551566,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3nJXEXXtvwSxAapdRK8NEU",selected:!1},{type:"Heliostat",cx:.11164274409929059,cy:-.25592884373841296,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dcTSduTDfjsNkLxPMwiTbk",selected:!1},{type:"Heliostat",cx:.1320251592164939,cy:-.24807107611426668,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sBMKWzPqqAL7Zab4fQ5qqk",selected:!1},{type:"Heliostat",cx:.156775234715955,cy:-.24453508068340082,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uQW7nfUe52sF2ZYqMceBPR",selected:!1},{type:"Heliostat",cx:.10618316862146829,cy:-.23274842924718148,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gDJUNMNv2fBuCXvNz8J9xz",selected:!1},{type:"Heliostat",cx:.12947735732684348,cy:-.22449777324182785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d6wJ1UkGVratdvd1YcRyf5",selected:!1},{type:"Heliostat",cx:.08398089501165754,cy:-.2402133084901204,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pnwY9vWpqTutfMQk6qVUEd",selected:!1},{type:"Heliostat",cx:.07488160254862036,cy:-.2170328939961335,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9yJRVguxm2r3mSoLCoLCTo",selected:!1},{type:"Heliostat",cx:.054135215732895585,cy:-.2276408802914864,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bcvVnYRe7XAmehyShvHG4A",selected:!1},{type:"Heliostat",cx:.09671990445990958,cy:-.20838934961232802,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dt7UVCgK4oYcArc7w2oh6S",selected:!1},{type:"Heliostat",cx:-.2708915110467926,cy:-.3631873718080094,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fP7CoUPJXXfAbKaQg7Vxiz",selected:!1},{type:"Heliostat",cx:-.29382172805364637,cy:-.3702593626697411,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q3QCtRsjU5g348zquVGT6U",selected:!1},{type:"Heliostat",cx:-.3000092469285116,cy:-.3459002830348876,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"npmRnivscsJpT65RjQuyWE",selected:!1},{type:"Heliostat",cx:-.3254872658250157,cy:-.350222055228168,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aMe7m5ym2D1ye9JGywHJp4",selected:!1},{type:"Heliostat",cx:-.3061967658033769,cy:-.31643365444433913,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x6jK1HT196nDZpyUbLsgr1",selected:!1},{type:"Heliostat",cx:-.28144669030391567,cy:-.31289765901347333,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gFEgPjqWAT6jwNBL8DPadb",selected:!1},{type:"Heliostat",cx:-.27416725633348593,cy:-.3372567386483267,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g65dCH4Q2jLJsbDZ61ZYsF",selected:!1},{type:"Heliostat",cx:-.25087306762811074,cy:-.33293496645504633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eac2nmUN2zb5BwB2jyKPsx",selected:!1},{type:"Heliostat",cx:-.2559686714074116,cy:-.3101474403450222,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2AwKtqmv9rBFEMsfpNMYmE",selected:!1},{type:"Heliostat",cx:-.2574245582014975,cy:-.28500258394775413,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5CasrCRncJRWJd761ErCUY",selected:!1},{type:"Heliostat",cx:-.23158256760647195,cy:-.25828617402565685,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9ZPBVxh6yErf9tk1x8bcei",selected:!1},{type:"Heliostat",cx:-.23413036949612234,cy:-.28382391880413216,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qMvixKdLEKLj2KdxZ4Qc5j",selected:!1},{type:"Heliostat",cx:-.23303845440055787,cy:-.30739722167657096,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vHCBTramJGKkCoc17G8w6M",selected:!1},{type:"Heliostat",cx:-.21047220909222566,cy:-.28539547232896145,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jcFjeFAEwtPS1NdpSqySNN",selected:!1},{type:"Heliostat",cx:-.2075604355040538,cy:-.2598577275504861,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"odG4uWtszFcFLXppnq6LTE",selected:!1},{type:"Heliostat",cx:-.18572213359276454,cy:-.26535816488738845,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aiJA7beNej5o6BHcnWJBqC",selected:!1},{type:"Heliostat",cx:-.18171844490902817,cy:-.23707020113050004,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1VU7yTZrVeHM5DLMgFzzbW",selected:!1},{type:"Heliostat",cx:-.20464866191588185,cy:-.23353420600959607,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uUYHVbTbxr4tecMfV6CqzJ",selected:!1},{type:"Heliostat",cx:-.15660439771104553,cy:-.25042840640151054,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"brUZr84cwNpf9Pv6XatvDd",selected:!1},{type:"Heliostat",cx:-.13003446371897695,cy:-.23707020144046193,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6k3sEssXxYQA6FoYB2hbhc",selected:!1},{type:"Heliostat",cx:-.10091672783725796,cy:-.22567643838544985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dpK548QXB9AsPut3M9Vcnb",selected:!1},{type:"Heliostat",cx:-.06961516176441004,cy:-.22174755457334913,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtAwYocNSDA6e4Za64GAHv",selected:!1},{type:"Heliostat",cx:-.03831359569156213,cy:-.21860444752369065,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jkbGDBANcy5EkzJfgAS6kT",selected:!1},{type:"Heliostat",cx:-.009559831508364626,cy:-.21388978694920285,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uiJqTbavrRHEj1q5r4U8Sg",selected:!1},{type:"Heliostat",cx:.025017479851176642,cy:-.21624711723644674,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tuZYTjdonfFPX1bpg7y2ib",selected:!1},{type:"Heliostat",cx:.04430797987281548,cy:-.2056391309438493,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r4K4Z2bUpqY9FZaarCV1EY",selected:!1},{type:"Heliostat",cx:.06578231008558323,cy:-.19267381436400796,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tJMsMVYvUGopRwcThFGEkr",selected:!1},{type:"Heliostat",cx:.009730668513274195,cy:-.19856714008211768,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1EfzqCs8cXPwvLAwQzbRpo",selected:!1},{type:"Heliostat",cx:-.025938557941831565,cy:-.19660269817608111,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"75CWYjqVhH1TfFGgb42qY2",selected:!1},{type:"Heliostat",cx:.028657196836391532,cy:-.1824587164526178,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tPC5C2vfzREdHf8vqzTMzw",selected:!1},{type:"Heliostat",cx:-.005920114523149727,cy:-.17892272102175202,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9vv8piBWmfsjf8ThwaysgA",selected:!1},{type:"Heliostat",cx:-.04013345418416953,cy:-.17970849778692202,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pLA5NWUpepKR65o6v964r9",selected:!1},{type:"Heliostat",cx:-.07507473724223238,cy:-.1867804886459258,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mUep51aC7r6anQJ2Y69oWq",selected:!1},{type:"Heliostat",cx:-.10783219010916623,cy:-.1950311446512794,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v8aDpwcpvGcDg3v8p4qNKb",selected:!1},{type:"Heliostat",cx:-.14240950146870754,cy:-.2009244703693891,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8BebM2PFswwW6mD8cum1bR",selected:!1},{type:"Heliostat",cx:-.17407503924007692,cy:-.2162471172364743,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6RzznrEY6WFg8gVGqs15oP",selected:!1},{type:"Heliostat",cx:-.05760409571320095,cy:-.19738847493852332,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aLcHwQEUZ4M4zGv7CBgFgZ",selected:!1},{type:"Heliostat",cx:-.08672183159491996,cy:-.20485335418146225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9oqQfqaBV4xJeZR3tB1T2T",selected:!1},{type:"Heliostat",cx:-.12093517125593976,cy:-.21742578238009624,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5txUysL5P5gEVTjd4qAbBd",selected:!1},{type:"Heliostat",cx:-.15078085053470172,cy:-.22567643838544985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nxjHGtH2QdDPPuNWARdYaV",selected:!1},{type:"Heliostat",cx:.08580075350426505,cy:-.18324449321506,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3MqWmh3QRvAPZiVFebexdQ",selected:!1},{type:"Heliostat",cx:-.02266281265513821,cy:-.15770674843658467,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5EhLWiwwn5wwEm8Cab5Rch",selected:!1},{type:"Heliostat",cx:-.1322182939101059,cy:-.17381517206608452,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jbXdsdAziZsqZTJyYSaySe",selected:!1},{type:"Heliostat",cx:-.3302995564539437,cy:-.3232776394449547,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pzkMpsvKdJRAhMZuBmbsKe",selected:!1},{type:"Heliostat",cx:-.2919615095342722,cy:-.2642858401101529,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oySBSMeHYHH3hssNqfJFt4",selected:!1},{type:"Heliostat",cx:-.3097864662694538,cy:-.2904751246399958,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpTYVzTYQTHThRcwDXQgp7",selected:!1},{type:"Heliostat",cx:-.27314627742491365,cy:-.24237235713620253,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5jcBZmRyCrqNubtcJcYmJ3",selected:!1},{type:"Heliostat",cx:-.2508650815059366,cy:-.22045887416225235,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ihBmE1AmF8hgbvfU54TBod",selected:!1},{type:"Heliostat",cx:-.22660333483860592,cy:-.20175224235522163,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vNktHzm8eVBrmY9ceJEyKh",selected:!1},{type:"Heliostat",cx:-.20333186354545205,cy:-.1835800857426775,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aXsDLYWFiK5tzWC7G7kV8N",selected:!1},{type:"Heliostat",cx:-.17659442844267947,cy:-.16968373068602616,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wrEAnzFvbwLn8hcqMNt2T6",selected:!1},{type:"Heliostat",cx:-.15183754408826042,cy:-.1589942267962943,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aHFiestWCCRbctVu4eYUBx",selected:!1},{type:"Heliostat",cx:-.12212928286295759,cy:-.14937367329553564,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iQyvk9vYygwnymNpLwA1ob",selected:!1},{type:"Heliostat",cx:-.09242102163765474,cy:-.14349444615618318,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wU6MsDbikDwda4SfGFTpkJ",selected:!1},{type:"Heliostat",cx:-.06518844884779378,cy:-.13761521901683066,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1MMFkArxgEmQhKrKtjXQNe",selected:!1},{type:"Heliostat",cx:-.03647046299666775,cy:-.13547731823888426,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nMNiG48VARtnEA4MPhmCia",selected:!1},{type:"Heliostat",cx:-.0057719263971881,cy:-.13547731823888426,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"juXSYXCPjT1kSTpJyz4PZH",selected:!1},{type:"Heliostat",cx:.021955784079761214,cy:-.1392186446002904,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xm44c3baqJPcnjTqQboEwN",selected:!1},{type:"Heliostat",cx:.05265432067924076,cy:-.1461668221286161,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ez6bNdTTq8NKVxiW1kxkEB",selected:!1},{type:"Heliostat",cx:.07939175578201328,cy:-.15525290043488818,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jAsrrCW77dFgPQqWJowsZq",selected:!1},{type:"Heliostat",cx:.10563405319769754,cy:-.1664768795191066,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6p95wM2zt7dF6VyVSYTa8Y",selected:!1},{type:"Heliostat",cx:.13286662598755838,cy:-.18251113535370433,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"urDco6achFzxwb6nW5NRE4",selected:!1},{type:"Heliostat",cx:.15811864802906586,cy:-.1980109159938155,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nbH94KdABoDtfJEKfjLTiP",selected:!1},{type:"Heliostat",cx:.18089498163513137,cy:-.21244174624495343,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ovcrGPa9SJFbnrGQ2a6DuR",selected:!1},{type:"Heliostat",cx:.20218590217993174,cy:-.23328627882993053,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jA29coTpxRTwbmADu66SZT",selected:!1},{type:"Heliostat",cx:.2234768227247321,cy:-.25626871219285396,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wYgH98FR9WAhRGHRksz5bD",selected:!1},{type:"Heliostat",cx:.24229205483409053,cy:-.2840614223061567,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rvQJA6SbPF1oUJTEumsFBN",selected:!1},{type:"Heliostat",cx:.26061214925636067,cy:-.30757833086356673,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xxokrXE6rBVWV3B4eJnjZt",selected:!1},{type:"Heliostat",cx:.2848738959236912,cy:-.3102507068359997,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sAxtEYsJmsyoXdPfmuc1s8",selected:!1},{type:"Heliostat",cx:.31161133102646393,cy:-.3118541324194594,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8T4wmqCeWkBAqrmuSXUrRA",selected:!1},{type:"Heliostat",cx:.2932912366041937,cy:-.2824579967226693,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ai9GvKeDbhVcVvUsoTBxvk",selected:!1},{type:"Heliostat",cx:.26655380150142116,cy:-.2813890463336962,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oWG4eo4MGzPtqFQEAGgS9P",selected:!1},{type:"Heliostat",cx:.24823370707915113,cy:-.25680318738731295,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uxuSeH1NdDDYDjVawn2W68",selected:!1},{type:"Heliostat",cx:.22545737347308564,cy:-.2290104772740102,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dDuuVxV3oBzq3KrPvkBjRs",selected:!1},{type:"Heliostat",cx:.20367131524119686,cy:-.20816594468903316,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rx1WFJ81DESFNcvGrHsJMP",selected:!1},{type:"Heliostat",cx:.17990470626095456,cy:-.19052826327097566,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7sGn2cqtWU3Mo7BvT3jFuk",selected:!1},{type:"Heliostat",cx:.15415754653235875,cy:-.17075268107497177,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rSmf7fDWBvbLdzxL8Xzz7s",selected:!1},{type:"Heliostat",cx:.1279152491166746,cy:-.1536494748514009,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dADXAPCfntwkJab6qq7kB9",selected:!1},{type:"Heliostat",cx:.10117781401390209,cy:-.14082207018372264,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qou5NZoEiG4Sej8W4a1Evy",selected:!1},{type:"Heliostat",cx:.07097441510151088,cy:-.12959809109950424,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qF5JaFWnyFcKW3nRxNY7TE",selected:!1},{type:"Heliostat",cx:.040771016189119595,cy:-.12158096318220536,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nCPi7SMXhZTpGxpiwtL6iF",selected:!1},{type:"Heliostat",cx:.009082204215463229,cy:-.11730516162631263,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dWzE58GviTnatfkWEWzyMi",selected:!1},{type:"Heliostat",cx:-.022606607758193117,cy:-.11409831045939309,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iRKu923infq42Wt4hBDmAr",selected:!1},{type:"Heliostat",cx:-.050829455922230794,cy:-.11677068643182602,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r8JJG8wHFXqt3Yp7tKGhqZ",selected:!1},{type:"Heliostat",cx:-.08251826789588713,cy:-.11890858720977243,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3m5iCgTUTpwZiaw5ii9jU",selected:!1},{type:"Heliostat",cx:-.11371194218245514,cy:-.12532228954361152,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tVUTkzfhBEXpMMHQ6aFPP9",selected:!1},{type:"Heliostat",cx:-.1429250657206696,cy:-.13333941746091038,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jeTo5Man4ER6UL6bLqzkta",selected:!1},{type:"Heliostat",cx:-.17065277619761887,cy:-.14456339654512879,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1uJtuaoB5NwSgpmJn71K67",selected:!1},{type:"Heliostat",cx:-.19887562436165657,cy:-.16006317718799537,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6d39qoKyMNYsyCCMsCYFgb",selected:!1},{type:"Heliostat",cx:-.2251179217773408,cy:-.17716638340883842,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c47HFaS15SjhNgAVfkMtKh",selected:!1},{type:"Heliostat",cx:-.2503699438188482,cy:-.19373511443792277,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6Fhdsjojq36iUtNfZyfuJE",selected:!1},{type:"Heliostat",cx:-.27463169048617886,cy:-.21618307260635958,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBiw2NAG9iHHT94xeKa2u3",selected:!1},{type:"Heliostat",cx:-.29790316177933274,cy:-.23969998116376964,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u5PnNPgs1h8UTrfgpBZ8T6",selected:!1},{type:"Heliostat",cx:-.3172135315757796,cy:-.2642858401101529,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtSVS5mzodLcSXkBDvsbCD",selected:!1},{type:"Heliostat",cx:-.33602876368513807,cy:-.2904751246399958,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2PEu3vmBctRcCsffaLpmHw",selected:!1},{type:"Heliostat",cx:-.3642516118491758,cy:-.2894061742510226,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8DjkoLAZDwTnx8LtXHyg96",selected:!1},{type:"Heliostat",cx:-.34395096667855213,cy:-.2621479393322064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xggSKm6cv18X25oTxPwZS6",selected:!1},{type:"Heliostat",cx:-.3241454591950169,cy:-.2343552292189037,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"74PzS5xWGKsEmxZBzdP32Z",selected:!1},{type:"Heliostat",cx:-.3003788502147747,cy:-.2103038454670071,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iX6zZTVdQx5UJP9MjNZAnh",selected:!1},{type:"Heliostat",cx:-.2766122412345324,cy:-.18785588729857022,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sbLC2rgU8AGXKtdt3DXoPT",selected:!1},{type:"Heliostat",cx:-.2503699438188482,cy:-.1654079291301334,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4JaLAH32GnHtvkVTVkWkbH",selected:!1},{type:"Heliostat",cx:-.22412764640316404,cy:-.1461668221286161,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ekeh4M3jaMmHQZ3b3gvsRs",selected:!1},{type:"Heliostat",cx:-.19392424749077278,cy:-.13173599187747817,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkth3AnLMPCi7hv9DghmT5",selected:!1},{type:"Heliostat",cx:-.16372084857838157,cy:-.11623621123736702,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o3q136vYQwnzoP6GsZr4LR",selected:!1},{type:"Heliostat",cx:-.13401258735307872,cy:-.10661565773660836,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7Q5q7ho8EHkiogsarQwdbr",selected:!1},{type:"Heliostat",cx:-.09836267388271532,cy:-.09913300501379609,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jEaDTazLRHkWPu4uHy6TK8",selected:!1},{type:"Heliostat",cx:-.06914955034450089,cy:-.09325377787444358,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4BSC1a2V48rvTMuzLPRYCD",selected:!1},{type:"Heliostat",cx:.0937507487075764,cy:-.11623621123736702,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hj6QoYH2tKJMaowWF4Jso4",selected:!1},{type:"Heliostat",cx:.05958624829847807,cy:-.10394328176690322,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nZGBsGGWLjxKfGS9cc7oqY",selected:!1},{type:"Heliostat",cx:.026907160950645,cy:-.09752957943033631,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8ZY8shpFLkqdci1tNW1GoZ",selected:!1},{type:"Heliostat",cx:.04869321918253367,cy:-.07668504684535922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pya46vaM37X8xjgxnFRbmD",selected:!1},{type:"Heliostat",cx:.037305052379500936,cy:-.047823386343083335,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sk9aYQ4ZatkgcWnoBw73BS",selected:!1},{type:"Heliostat",cx:.32316626777261265,cy:-.2887703826060557,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v6iF1wnA1zBqaP8XCMzytA",selected:!1},{type:"Heliostat",cx:.302689663582776,cy:-.2521615907181474,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7hRAbWEjhuuAWAcgNF2XiW",selected:!1},{type:"Heliostat",cx:-.3022663286455178,cy:-.036768285775775254,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uosW5t7FWQ4a7eUdsD1TcQ",selected:!1},{type:"Heliostat",cx:.27316237198008403,cy:-.2524973897551937,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4LmAuM9HRhZTEdxYDj2FKM",selected:!1},{type:"Heliostat",cx:.1526283445468355,cy:-.14381713160256596,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hUgdPZt8vUMBFhHDDodoRf",selected:!1},{type:"Heliostat",cx:.2526006849473534,cy:-.22571000218238366,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jj8uZxps5DeUSntdLoNoRc",selected:!1},{type:"Foundation",cx:-10.492368727264438,cy:-365.24616728285855,cz:3,lx:55.33009592617107,ly:28.860277897658587,lz:6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarStructure:2,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{towerHeight:115,towerRadius:4},id:"nHq7VyAiKvgNuPDrDMejYk",selected:!1},{type:"Heliostat",cx:-.033635036707480734,cy:-.09478696259320521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3n8DXtghY7C9fg7wtQN9mm",selected:!1},{type:"Heliostat",cx:-.0021782029294463968,cy:-.09478696259320521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3HRyeRtdwXWAfFooG7khA8",selected:!1},{type:"Heliostat",cx:-.018309912559207595,cy:-.06910229279682685,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9dMgqBzGAqQQo74ehqtuvW",selected:!1},{type:"Heliostat",cx:-.05218650278170614,cy:-.0712789597287233,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sM7ZRjDyGbb93H3X5XLsiN",selected:!1},{type:"Heliostat",cx:-.08767626396718083,cy:-.07432629343337838,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hGv3aS4uYRq5Hg62cAQgof",selected:!1},{type:"Heliostat",cx:-.12074626870819129,cy:-.07998562745630922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"knf1JFPLgyb2dGzcbU3Hfe",selected:!1},{type:"Heliostat",cx:-.15341298070845777,cy:-.09173962888855014,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eMVGrjZpnunqsrM98ZgPH2",selected:!1},{type:"Heliostat",cx:-.07235113981890764,cy:-.04428828977320709,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xe6PEzZpz5DHRWEZokrjXg",selected:!1},{type:"Heliostat",cx:-.055412844707658386,cy:-.014685619499415072,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7T7JfLgLbNJk4NRXzvFZJj",selected:!1},{type:"Heliostat",cx:-.036861378633433015,cy:-.040805622682172714,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xyTpPrGnJXHGmcyUmTs8AF",selected:!1},{type:"Heliostat",cx:.016373263144779018,cy:-.07302029327424049,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1ak6Ue1atJ663QehAMdMAS",selected:!1},{type:"Heliostat",cx:.08412644358977613,cy:-.0873862950247572,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gCkqrGtT5r5WgEKYq1za1b",selected:!1},{type:"Heliostat",cx:.11598657010855452,cy:-.09826962968423955,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"huYwsUKyEQrq59ExuTrPfF",selected:!1},{type:"Heliostat",cx:.12243925396045897,cy:-.1265662997988937,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xrCktsCv7shjx1gwsg6JbF",selected:!1},{type:"Heliostat",cx:.0014456646770545306,cy:-.04437383909501622,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wwcyQu2t5aJGnwR9kKd4wM",selected:!1},{type:"Heliostat",cx:-.10818001791234799,cy:-.05010814303981461,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iKhLi69geSKfMMuqgo2q5J",selected:!1},{type:"Heliostat",cx:-.1453658221387092,cy:-.05740634806046707,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pzSKSvuwPWAxvfQT9qwaND",selected:!1},{type:"Heliostat",cx:-.17892963244691829,cy:-.06965690649074628,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eFq75cYfVvsfdd6UUfTojE",selected:!1},{type:"Heliostat",cx:-.21249344275512747,cy:-.0842533165293234,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mrkR4hEhbnkEw1KxqSjipf",selected:!1},{type:"Heliostat",cx:-.18738095158927312,cy:-.1022381789016456,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eA11DgH7cfBxpC8D2vjzCt",selected:!1},{type:"Heliostat",cx:-.21925449806901132,cy:-.11657393876364154,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pehZwiBvURwYNmynuVV2oZ",selected:!1},{type:"Heliostat",cx:-.2460572530633366,cy:-.10145622836371855,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cFxirFbRdujaw5Fc4RE5MD",selected:!1},{type:"Heliostat",cx:-.25064511202632916,cy:-.13481945131527276,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4ypECbseMr3f8LhqjYosMu",selected:!1},{type:"Heliostat",cx:-.2764820019758139,cy:-.15645341619792116,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1cNTjGeFgiYqFUnXdLBRx6",selected:!1},{type:"Heliostat",cx:-.27696493449823417,cy:-.12309019324636697,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cW4SyxcnHNPzxbSE2LWbQ5",selected:!1},{type:"Heliostat",cx:-.30642381836587107,cy:-.14654870938417855,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"17jGJ68AWAZgPARxJ6UPKN",selected:!1},{type:"Heliostat",cx:-.09514083980700053,cy:-.016484269908978957,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k736gpzLunYF9CA2xNNwgF",selected:!1},{type:"Heliostat",cx:-.13256811029457188,cy:-.02508572582617652,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bPf2FbThrjxqWcoYgrYC2A",selected:!1},{type:"Heliostat",cx:-.015939906130075388,cy:-.0141384182951978,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"th3tqLRe84Jqrqfr3ZWX4Z",selected:!1},{type:"Heliostat",cx:.021245898096285794,cy:-.01596296955036091,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"snGFqY54yf3wZYGqvNzdSK",selected:!1},{type:"Heliostat",cx:.06012196615111797,cy:-.021957923674468315,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p1BLYib9F5TuccAF143Meb",selected:!1},{type:"Heliostat",cx:-.17023684704335335,cy:-.034469132281301135,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eFbcBWFKK11qf1tsDuwKoR",selected:!1},{type:"Heliostat",cx:-.20790558379213483,cy:-.0493261925019151,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"44juECoBc4iyV5WsYrieZZ",selected:!1},{type:"Heliostat",cx:-.24243525914518455,cy:-.06652910433631024,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abfBabbkXEUrKZnAsNhn3Y",selected:!1},{type:"Heliostat",cx:-.2759990694533937,cy:-.08790241903964963,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eAEEf1jS8EeUmfDXwtgbsh",selected:!1},{type:"Heliostat",cx:-.3090799472391825,cy:-.11214288571263284,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rYpKyT7tWdyjcNbsGsDtpP",selected:!1},{type:"Heliostat",cx:-.3390217636292396,cy:-.13898985418418947,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h7WTnDPjYZa2yv9AbeqYi8",selected:!1},{type:"Heliostat",cx:-.30346193456733533,cy:-.18027347486919182,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tpzWYwzqd7mz7PeBQzCqEF",selected:!1},{type:"Heliostat",cx:-.3273202794054188,cy:-.20565406429518426,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nV956oZbqiSHUewdzFEGwb",selected:!1},{type:"Heliostat",cx:-.35187017047069313,cy:-.23327411749405838,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eotKsPbyYbFr8f4YZHBPV5",selected:!1},{type:"Heliostat",cx:-.3729623304000133,cy:-.26388012239010805,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4xcMmwR2N7YaJDgjrvx9Tg",selected:!1},{type:"Heliostat",cx:-.38229820446708945,cy:-.23140789768332368,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sfWCB3P6rkqZa4YAEd5bcf",selected:!1},{type:"Heliostat",cx:-.3594771789697922,cy:-.200428648825127,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vHAMJhEkjkYLc4RSjerC3B",selected:!1},{type:"Heliostat",cx:-.3328526492229454,cy:-.1713156197776651,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qTSMmo3sfM3tmeNsXwJ95x",selected:!1},{type:"Heliostat",cx:-.3674299605824867,cy:-.16832966808048952,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kijHzENJV8TJe21WNjQuUC",selected:!1},{type:"Heliostat",cx:-.3916340785341656,cy:-.19893567297653922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"49c4EBZdrrGLx2C1jkrU34",selected:!1},{type:"Heliostat",cx:-.400278406374051,cy:-.16571696034546088,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nmEdqVEsjHqXFAfs271Hv4",selected:!1},{type:"Heliostat",cx:-.3712334648320363,cy:-.13063202790364783,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iXeSufYc6rqYVyGdq4x3at",selected:!1},{type:"Heliostat",cx:-.2761458585932977,cy:-.05187755189064192,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bevRTnppC9h4ebQw9qu31Y",selected:!1},{type:"Heliostat",cx:-.1969638155799482,cy:-.01529964360024112,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"etWFnXE45z2CNE1YXRNVxb",selected:!1},{type:"Heliostat",cx:-.11501558765783529,cy:.010080945825751317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpZi9pr2vKF4BbVGupqEXc",selected:!1},{type:"Heliostat",cx:-.40753964175955465,cy:-.12764607620647225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7YdgbS7MbyK8fpmsbE8Fq6",selected:!1},{type:"Heliostat",cx:-.417912835167417,cy:-.0933076316889531,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3mPyk4qt31Y1bUaJMpdRT5",selected:!1},{type:"Heliostat",cx:-.38056933889911243,cy:-.10039926696974508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"boS825hvqkSAd3EMruDUop",selected:!1},{type:"Heliostat",cx:-.35532790160664735,cy:-.07501867754375265,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6neahnPeogbncgiTuDRsB6",selected:!1},{type:"Heliostat",cx:-.32870337185980053,cy:-.05337052773647434,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6JURGXaMnDK92DSmeMdQDb",selected:!1},{type:"Heliostat",cx:-.3892136667389977,cy:-.06531433452790446,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5mdtK7mbfjWr2ZwvqtMZoW",selected:!1},{type:"Heliostat",cx:-.3608602714241738,cy:-.03956050113976511,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7iLWKe2jZRMk3NyRqmNQUd",selected:!1},{type:"Heliostat",cx:-.3318153298821592,cy:-.018658839259536052,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6ZLXjXtPYgTp5YsiDKt92R",selected:!1},{type:"Heliostat",cx:-.30346193456733533,cy:-.00036988511433561826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8SHGbk2vJK2DPuaoNHYXh",selected:!1},{type:"Heliostat",cx:-.27545431236610685,cy:-.0197785711459769,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2SSpgdAk9FyHtarh2kemjh",selected:!1},{type:"Heliostat",cx:-.427940255461684,cy:-.05598323547423079,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cxfJsRXsJGHcRLJiW1ZC4T",selected:!1},{type:"Heliostat",cx:-.3978579945788831,cy:-.026123718502475,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"983fNrC7GvsmHKyDBU7uKS",selected:!1},{type:"Heliostat",cx:-.3660468681281051,cy:-.000743129076482581,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aCoTGoQTygQRfEwZWp9pEu",selected:!1},{type:"Heliostat",cx:-.24986710196004633,cy:-.005222056622245941,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rAPfaS9ZavWB56qRknahL4",selected:!1},{type:"Heliostat",cx:-.27545431236610685,cy:.01642609318227701,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7aTwzASE97BSxQ69zqRKB9",selected:!1},{type:"Heliostat",cx:-.22013061419084085,cy:.007468238090750264,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6d8F7whR2UWQ5Rpw6zgpoS",selected:!1},{type:"Heliostat",cx:-.24779246327847385,cy:.03135585166815488,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gs9ZBEK1748RpsjnfsZckK",selected:!1},{type:"Heliostat",cx:-.21840174862286374,cy:.042926414494710276,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2QLnVz31nbfJHbaqyshx4N",selected:!1},{type:"Heliostat",cx:-.19316031133039863,cy:.019038800917305643,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bT2uoRqcV2JsvxKNXGq7Tp",selected:!1},{type:"Heliostat",cx:-.16411536978838387,cy:.029116387895273214,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wDnu6VsXGRf96DxoNbPRXh",selected:!1},{type:"Heliostat",cx:-.18797371462646742,cy:.052630757510530896,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7fXVXPkHvH4EiWQgs5X5EV",selected:!1},{type:"Heliostat",cx:-.1578914537436665,cy:.06233510052635154,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iVLsKahc6Jz8H79epHER9m",selected:!1},{type:"Heliostat",cx:-.13472465513277385,cy:.03658126713821217,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2W1dZKG5G4kdvvYuTKg6J8",selected:!1},{type:"Heliostat",cx:-.10637125981794995,cy:.041806682608269405,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8RbNvvwi1FQxJhzm68oxMb",selected:!1},{type:"Heliostat",cx:-.07594322582155359,cy:.04628561015403278,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rv9MXPBD3e63TfH2kDubmC",selected:!1},{type:"Heliostat",cx:-.03064694794055447,cy:.016426093179521616,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eoYDEHmumqWS9SMAreWLME",selected:!1},{type:"Heliostat",cx:-.0451694187115619,cy:.04889831788903389,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nisA2ZxiN5cGyrqqmqFcTt",selected:!1},{type:"Heliostat",cx:-.4355472639607831,cy:-.018285595297416656,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9uTLgXRt31u5LbkmoNmmzh",selected:!1},{type:"Heliostat",cx:-.44280849934628674,cy:.024264216387335374,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"arUmBddCd3ZN9RM4YvwTeh",selected:!1},{type:"Heliostat",cx:-.40096995260124174,cy:.009707701863604397,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"voKSeBcj1DBKGLLTkPQVxi",selected:!1},{type:"Heliostat",cx:-.3681215068096776,cy:.038074242986772415,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"55CnZxFzVkzTP2ZZcBc3GF",selected:!1},{type:"Heliostat",cx:-.4082311879867454,cy:.05337724543479727,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"72WvPCXQWgeW6smtGCDqkn",selected:!1},{type:"Heliostat",cx:-.4500697347317904,cy:.06793375995852818,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2C1jZdwUGxFZt8JTCcp2dF",selected:!1},{type:"Heliostat",cx:-.40892273421393627,cy:.097793276930284,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pUaEdfwMSZ7FJNPu8MbTVu",selected:!1},{type:"Heliostat",cx:-.37192501105922715,cy:.07763810297434884,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rqc5Shh25yv3QUcC5PJfr7",selected:!1},{type:"Heliostat",cx:-.3352730610181133,cy:.019412044879425033,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3cBVQbPPnpMt6C62XatwGo",selected:!1},{type:"Heliostat",cx:-.3058823463625032,cy:.03956721883536021,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8B4aaX12Cwz7SWukzQHxfu",selected:!1},{type:"Heliostat",cx:-.3359646072453042,cy:.05897590486975687,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8js9abopRBUDoNq8C8Vkee",selected:!1},{type:"Heliostat",cx:-.30415348079452614,cy:.07726485901222946,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wSFcW9Bi2CEV2NiqkVLGgK",selected:!1},{type:"Heliostat",cx:-.2761458585932977,cy:.05748292901568581,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oEtkxCk7V55pZMXbYEUFoy",selected:!1},{type:"Heliostat",cx:-.3373476996996858,cy:.09891300881948024,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7JVKmoPwsr4YiKcdWdSdzy",selected:!1},{type:"Heliostat",cx:-.24433473214251972,cy:.06979997976653508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i7yUerNEdQNGoZikCwAKi5",selected:!1},{type:"Heliostat",cx:-.27234235434374815,cy:.09443408127096152,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gK1KuDQ1xA1jepW3pkMSYy",selected:!1},{type:"Heliostat",cx:-.21321515191893256,cy:.08472973825514087,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b4J6Xf2MrSmiCKmRPp5JwY",selected:!1},{type:"Heliostat",cx:-.1807124792409637,cy:.09406083730881452,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nKkV64v1XzdkrnhFcrMZoK",selected:!1},{type:"Heliostat",cx:-.24053122789297018,cy:.10787086390825154,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xgNnXwqvuHbn1SRpxKx5iF",selected:!1},{type:"Heliostat",cx:-.14820980656299493,cy:.10301869240034127,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h9437PNFcensdgYCPvaUZ9",selected:!1},{type:"Heliostat",cx:-.12573455417929308,cy:.07054646769355681,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mN7BSbm2K54or4ve2veKYY",selected:!1},{type:"Heliostat",cx:-.09599806641008757,cy:.0757718831636141,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vnVRMYugJhGEe7GvuV5yNs",selected:!1},{type:"Heliostat",cx:-.11466981454423983,cy:.1086173518325455,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bccxZepk5qSe634uWX42ei",selected:!1},{type:"Heliostat",cx:-.061766528164141625,cy:.07913107882293664,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i6mjvJmXWoNbbtScNe4jLc",selected:!1},{type:"Heliostat",cx:-.02995540171336369,cy:.07987756674723054,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kgFQrpmB4Uo3QRzYrM9z5D",selected:!1},{type:"Heliostat",cx:-.016470250283142505,cy:.04889831788903389,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i8SzwQJPy7H5YyXTGe1xVc",selected:!1},{type:"Heliostat",cx:-.0026393257393260423,cy:.016426093182249437,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"apvcd8RadTsSXecLmteBdy",selected:!1},{type:"Heliostat",cx:.015340876167635433,cy:.046658854116152185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"12C7onFbSbSHFPJc8uUrKy",selected:!1},{type:"Heliostat",cx:.03332107807459691,cy:.07539863920146715,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gb2pH6ANCuJC8qsYCvxT6m",selected:!1},{type:"Heliostat",cx:.0015099516238188731,cy:.0757718831636141,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkeABsZCEiybQvrrxUR8jq",selected:!1},{type:"Heliostat",cx:.044731590823245536,cy:.04329965845682966,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hg9DPmH5cjxeCBJWkCFhVc",selected:!1},{type:"Heliostat",cx:.06340333895739782,cy:.07017322373140988,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oJz5XyB57AT2gBG4awFXj6",selected:!1},{type:"Heliostat",cx:.05095550686796301,cy:.10936383975683939,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tHRNmQUNj6K1TnE56YNmfY",selected:!1},{type:"Heliostat",cx:.01983592664437585,cy:.11197654749186799,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpjExf4xnHsCihbG1Z3uYw",selected:!1},{type:"Heliostat",cx:-.01301251914718843,cy:.11421601126474966,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sBN5FEivyAsVk4UNG51jA7",selected:!1},{type:"Heliostat",cx:-.04551519182515727,cy:.11048357164328021,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8pUZKWg5usB1LmJ4FqHgif",selected:!1},{type:"Heliostat",cx:-.08147559563908026,cy:.1112300595675741,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"23RBiRbrVGDew4P5junKUY",selected:!1},{type:"Heliostat",cx:.07446807859245108,cy:.03732775506247852,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tDUutW1fYKC3zU8km6x7oT",selected:!1},{type:"Heliostat",cx:.08172931397795467,cy:.0033625545071062956,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t5hoPXGgvmAKCC98bFLoS1",selected:!1},{type:"Heliostat",cx:.07101034745649691,cy:-.05411701566352362,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ffh2ust2D3LvEonm64PhVV",selected:!1},{type:"Heliostat",cx:.09735040458634132,cy:-.0309061006268814,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1vWwMCYh2GFGH8H8yyPFj7",selected:!1},{type:"Heliostat",cx:.10692860717901208,cy:-.06523213814288877,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a7CNQPaFqLRU1KsDr6sWL1",selected:!1},{type:"Heliostat",cx:.13259819012736962,cy:-.0433131021386913,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dWyjm3KRE2b2cp2DQn99im",selected:!1},{type:"Heliostat",cx:.1417932646163335,cy:-.07970697324000028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4BSY8QjyTYnsJg4VvVw4dF",selected:!1},{type:"Heliostat",cx:.14447516134228128,cy:-.11237874388776634,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pWN8hVQSUWP9zSJ9mBA4u6",selected:!1},{type:"Heliostat",cx:.17282664101658657,cy:-.09790390879065478,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vwjTwcPDdQ84YqGSgB7GCM",selected:!1},{type:"Heliostat",cx:.16899535997951837,cy:-.05944220410404414,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2uj8zbaPpR6EuihS2a1eyt",selected:!1},{type:"Heliostat",cx:.16516407894245005,cy:-.027184000173338437,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jTBqs9gubADDLHUczweTht",selected:!1},{type:"Heliostat",cx:.17704105015736168,cy:-.13098924615548113,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9rczuT28G81XBnJWyv8p47",selected:!1},{type:"Heliostat",cx:.18010607498701633,cy:-.1611796165036406,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c3Mvio8y22xwBSB8LsByak",selected:!1},{type:"Heliostat",cx:.20424314552054657,cy:-.08136124010826916,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ir46DZVbKinR95v215bS7Z",selected:!1},{type:"Heliostat",cx:.20424314552054657,cy:-.11775511120957816,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"njGEA2SJu4eVEC5eQQDDW1",selected:!1},{type:"Heliostat",cx:.20615878603908072,cy:-.1537354155938268,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9KeeMj5e9pcmeJWLsZy8iA",selected:!1},{type:"Heliostat",cx:.20769129845390802,cy:-.18020368548568788,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8fkWUtc7gCzjPcENNAC8Zy",selected:!1},{type:"Heliostat",cx:.23106211278002461,cy:-.2037769883581267,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uuc6jUmEutuWsardRqMkFX",selected:!1},{type:"Heliostat",cx:.23144524088373142,cy:-.172759484578602,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sE5cQvdygFYu5rEEvgstNz",selected:!1},{type:"Heliostat",cx:.23336088140226557,cy:-.1396741472137756,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tBMpyUhxX17cCUPtBhbcxe",selected:!1},{type:"Heliostat",cx:.23451026571338607,cy:-.10493454298070795,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dqzcMfJ4ym9JvrApbs8TiH",selected:!1},{type:"Heliostat",cx:.239107802957868,cy:-.06978137203057995,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9wqmsXX7SDkbVjcEEQp2vy",selected:!1},{type:"Heliostat",cx:.263628001595105,cy:-.1322299463066897,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ca7PcPtrbnFPvGWK55EzEv",selected:!1},{type:"Heliostat",cx:.26247861728398447,cy:-.166555983822697,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8xXw6WsWAYY3TxnJd1hKSR",selected:!1},{type:"Heliostat",cx:.2574979519357958,cy:-.20005488790458376,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tGtL7cXW4ctq2Uq6fzc5Ri",selected:!1},{type:"Heliostat",cx:.29197948126941037,cy:-.15414898231088717,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2r3Fu8Vht4LfDNGkzD7AvK",selected:!1},{type:"Heliostat",cx:.28814820023234206,cy:-.1930242537145581,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uFPPCk3ug65jVcFFKfczUf",selected:!1},{type:"Heliostat",cx:.2801025100544987,cy:-.2236281907770225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rW95SzX5M1aYg6UfYWzGAM",selected:!1},{type:"Heliostat",cx:.10462983855677109,cy:.02864750662977845,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dRWphEN9DXnANHh3HGV9Tw",selected:!1},{type:"Heliostat",cx:.09505163596410039,cy:.06380067757990648,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f3KHqcW8BgK3tf3keNrHS8",selected:!1},{type:"Heliostat",cx:.12646814046806035,cy:.055942909955760275,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1mJ8JwzL5NHxUYw6Tb4Etj",selected:!1},{type:"Heliostat",cx:.13068254960883546,cy:.019135472137390887,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3pkNWKyy5jkQRFLV2tqeZu",selected:!1},{type:"Heliostat",cx:.15635213255719296,cy:.04270877500982969,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gMemMLxQbof4Hnm4rEqFfH",selected:!1},{type:"Heliostat",cx:.1513714672090042,cy:.08571971358410398,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBbkhYbWAwoxYepnBMn2ZE",selected:!1},{type:"Heliostat",cx:.1820217155055505,cy:.07124487848974785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3PFAWYvLqr3uBjfJT2HqhF",selected:!1},{type:"Heliostat",cx:.1617159260090886,cy:.005901337191487905,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wAsMtRtTkzAZzoJ2RJuqNS",selected:!1},{type:"Heliostat",cx:.1866192527500325,cy:.03030177349804736,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8Qqyi38hh2Cq2Rg8LRWsK",selected:!1},{type:"Heliostat",cx:.1881517651648598,cy:-.0065056643203219655,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aTmzkSNn2tGVv3B7EjqNq9",selected:!1},{type:"Heliostat",cx:.21420447621692415,cy:.016240505117996153,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oboEC75Sh6grnL1ugtrAZQ",selected:!1},{type:"Heliostat",cx:.21267196380209683,cy:.05635647667009271,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"txMcY9WtX2FmTTTqJTDcKZ",selected:!1},{type:"Heliostat",cx:.21535386052804464,cy:-.01932623254921973,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xeQUeinFn2YWLHA81FyBh1",selected:!1},{type:"Heliostat",cx:.2433222120986431,cy:-.0007157302815049064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mX9ZXrGRLU9CBRLNchW8ou",selected:!1},{type:"Heliostat",cx:.2417896996838158,cy:-.03628246794869324,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rJwEb8gHQVFi61bjjyYKc7",selected:!1},{type:"Heliostat",cx:.241406571580109,cy:.0398138079904074,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9XuvM5Tt9pWjTTWzyKkrHv",selected:!1},{type:"Heliostat",cx:.241406571580109,cy:.07744837924289738,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YjVMHkvo8t3pPXSKyVA2j",selected:!1},{type:"Heliostat",cx:.27205681987665525,cy:.05842431025812222,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c4jmXgazz6s47tNDfcuR2H",selected:!1},{type:"Heliostat",cx:.27320620418777575,cy:.02037617228857191,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fzYUTKuZB2g898qPKopLu6",selected:!1},{type:"Heliostat",cx:.27090743556553476,cy:-.01973979926628006,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ezm9yDFEjEYm2TtNgfysUH",selected:!1},{type:"Heliostat",cx:.26516051400993235,cy:-.053652270065227096,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a8WSwg1KasTJjpUskv4dYS",selected:!1},{type:"Heliostat",cx:.29044696885458304,cy:-.07350347248412291,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ghekwWKHGiE7zrCodtNu1D",selected:!1},{type:"Heliostat",cx:.2958107623064787,cy:-.03876386825105522,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rNNdsfuPqE1EPczC46MeS2",selected:!1},{type:"Heliostat",cx:.3004082995509606,cy:.00011140315261576157,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4Chbg5MtX5989PatXAvQ1e",selected:!1},{type:"Heliostat",cx:.30423958058802886,cy:.0385731078392264,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2W9vhrDsJ8DwZBrvsuaxMH",selected:!1},{type:"Heliostat",cx:.33450670078086836,cy:.012518404664425633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eRsGbJw5AvY9EH6xgwRHFB",selected:!1},{type:"Heliostat",cx:.33297418836604104,cy:-.023875466436883364,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"83tmu295aDGPuUQDG8irif",selected:!1},{type:"Heliostat",cx:.32224660146224987,cy:-.06399143799173532,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9j8V5Vajb7oyLaPxiuJtfW",selected:!1},{type:"Heliostat",cx:.31573342369923374,cy:-.09831747550774267,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"itsvnfebiYWqAJ69gutWHW",selected:!1},{type:"Heliostat",cx:.3590268994181054,cy:-.05075730304580478,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wz22ek3hjYTur5JCY2Nij9",selected:!1},{type:"Heliostat",cx:.38929401961094495,cy:-.08053410667414851,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2ztRUM2FUvLR438Y5J9EgX",selected:!1},{type:"Heliostat",cx:.3490655687217279,cy:-.08963257444947577,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"471Dah549XrTt5dob8iJnR",selected:!1},{type:"Heliostat",cx:.37588453598120586,cy:-.12023651151194013,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p1pbcbEdVAG2P5ABxQu5Ke",selected:!1},{type:"Heliostat",cx:.3402536223364709,cy:-.12478574539960376,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"47fgpHN5zioMupSTaZWDSp",selected:!1},{type:"Heliostat",cx:.3647738209737079,cy:-.15249471544264584,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pCDe1bzWHZ6jS57fAK8pwn",selected:!1},{type:"Heliostat",cx:.3295260354326796,cy:-.15828464948149043,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCcRtCsumKV9DfWxadqTW5",selected:!1},{type:"Heliostat",cx:.3574943870032782,cy:-.19219712028043748,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ayXH3c1sFzNjaSdMZ81p9c",selected:!1},{type:"Heliostat",cx:.3184153204251815,cy:-.18640718624159286,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4evv7fQdgSNSipNwTWwGwC",selected:!1},{type:"Heliostat",cx:.3437017752698323,cy:-.22156035719172085,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rAh8823N9Vwi6vKYFAJd2C",selected:!1},{type:"Heliostat",cx:.3122852707658723,cy:-.22280105734290184,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5PCkHADofgHMwo1pjfyL9y",selected:!1},{type:"Heliostat",cx:.3333573164697478,cy:-.2554728279906679,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3xqoNyUGDK5ydaeVXeiyKG",selected:!1},{type:"Heliostat",cx:.39810596599620196,cy:-.04538093572674829,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aW5zhg7bZS1fUR7XJst2Gi",selected:!1},{type:"Heliostat",cx:.36630633338853513,cy:-.01353629851037508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gQLhow3fXWpMkfRe8wtCzu",selected:!1},{type:"Heliostat",cx:.40883355289999307,cy:-.007332797754470145,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"knRosv43m5AQ9razdiCqcM",selected:!1},{type:"Heliostat",cx:.3735857673589649,cy:.024511839459175226,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eEqU4FAzLxkJH9Tf34bQUP",selected:!1},{type:"Heliostat",cx:.3402536223364709,cy:.05304794293633799,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hZpNgZfZfytEBxpebNdzEb",selected:!1},{type:"Heliostat",cx:.3053889648991494,cy:.07662124580877676,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6EPw6254wjubgGXjScbc35",selected:!1},{type:"Heliostat",cx:.27129056366924165,cy:.09729958166179327,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"79MBztAVAqPVNos51gf6eg",selected:!1},{type:"Heliostat",cx:.24293908399493633,cy:.11673721736362871,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eXofdMYHTSynXhcqPKpjbV",selected:!1},{type:"Heliostat",cx:.20960693897244223,cy:.09026894747176761,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cj1HzxwMYNjCeedqVrynoE",selected:!1},{type:"Heliostat",cx:.20769129845390807,cy:.13162561917780058,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8SqHt7enenNVrryGKLRHHj",selected:!1},{type:"Heliostat",cx:.41956113980378434,cy:.0365052742539248,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoiTBXczJ25keVDxYZkuSh",selected:!1},{type:"Heliostat",cx:.38009894512198106,cy:.07000417833581148,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7VCY1aEW3s9HeKvSty5XL2",selected:!1},{type:"Heliostat",cx:.41956113980378434,cy:.088201113886466,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fbUybRMcP7qMoBEYqmnx6h",selected:!1},{type:"Heliostat",cx:.3444680314772459,cy:.0993674152470949,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sxsUBxLvQKPU2sAKzPcwC8",selected:!1},{type:"Heliostat",cx:.3820145856405152,cy:.12335428483659402,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5V4WAQXnKXNyTXXR6qBDXx",selected:!1},{type:"Heliostat",cx:.3069214773139766,cy:.12459498498777499,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"utggTKHEx3AjG5Z1EoMDCs",selected:!1},{type:"Heliostat",cx:.3452342876846595,cy:.14775472114315344,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uPUupWhDTobXtkfAk4CHMp",selected:!1},{type:"Heliostat",cx:.1758916658462413,cy:.10929301645654278,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v4iP1MonNTVEo1nyN2hwab",selected:!1},{type:"Heliostat",cx:.1410270084089199,cy:.12045931781717169,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8V8hDrjxrjeZN3UkWbonBQ",selected:!1},{type:"Heliostat",cx:.118422450290217,cy:.09564531479355189,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bqVYQHX1yQnt7BZjYd9afT",selected:!1},{type:"Heliostat",cx:.08585656147513654,cy:.10308951570063785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YF4NAGXk4jm9beYYTb7SN",selected:!1},{type:"Heliostat",cx:.10999363200866677,cy:.12873065215837826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7s9yjAjPK8QCDpuAxkaDQK",selected:!1},{type:"Heliostat",cx:.13528008685331744,cy:.15892102250378232,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ueGb2uspjMAYZriJiCCScw",selected:!1},{type:"Heliostat",cx:.17091100049805252,cy:.1489954212943344,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kR8wrTUausCmyTieuq4dHH",selected:!1},{type:"Heliostat",cx:.2735893322914826,cy:.14279192053842946,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"m8S6ZiPTBsqdQVioZbCw5M",selected:!1},{type:"Heliostat",cx:.23719216243933391,cy:.16222955624026494,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4MeKS14wCpVzh8CtWpLZum",selected:!1},{type:"Heliostat",cx:.20117812069089197,cy:.17753152477149714,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fCUJrfBrQ7HRvGk8i2jeaR",selected:!1},{type:"Heliostat",cx:.310752758351045,cy:.1696737571473509,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3hbDt2ugbLLKbd29gwYrUC",selected:!1},{type:"Heliostat",cx:.38546273857387664,cy:.17008732386441117,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hvEWWKEMAmdPXEoa4V4QAu",selected:!1},{type:"Heliostat",cx:.09811666079375506,cy:.17091445729853186,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aV6CVn4L6wr2GaKZrT1Vjm",selected:!1},{type:"Heliostat",cx:.0739795902602248,cy:.13658841978252445,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r3m2DEYQLd3mBwfFtEcVau",selected:!1},{type:"Heliostat",cx:.0375824204080761,cy:.14237835382136915,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e3Lco1rBEM6kMAUmL9NLgr",selected:!1},{type:"Heliostat",cx:.06248574714901997,cy:.1758772579032558,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"18MGWB6ff2CJeKikAUYJnL",selected:!1},{type:"Heliostat",cx:.0031008910744615347,cy:.14610045427766746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fYFCkzek2ccB6Pe6iDrEb1",selected:!1},{type:"Heliostat",cx:-.029464997740618924,cy:.1469275877090603,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6K52upKmX7aSVP2ujZ9n2m",selected:!1},{type:"Heliostat",cx:-.06624529569647447,cy:.14527332084081898,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5tcTbFYhFAxjhJQRk4KSQo",selected:!1},{type:"Heliostat",cx:.02685483350428495,cy:.18084005850797985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n61CQiJbnjFcrmJ4Qd5q6E",selected:!1},{type:"Heliostat",cx:-.013373617384932066,cy:.18249432537622118,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtxr56Ffqv7oisuWAfzE9f",selected:!1},{type:"Heliostat",cx:-.05015391534078766,cy:.18290789209603692,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ssnbBpNmb57x9QcPXWiUPm",selected:!1},{type:"Heliostat",cx:-.089616110022591,cy:.18166719193937264,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abSokmDd3oxiagFbwYw4gT",selected:!1},{type:"Heliostat",cx:-.09881118451155492,cy:.14320548725548987,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wuQC7dYsNVP7PrDHN1NRGs",selected:!1},{type:"Heliostat",cx:-.12524702366732607,cy:.17753152477149722,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6aJAfZK2dApF6de3TZNo36",selected:!1},{type:"Heliostat",cx:-.13827337919335825,cy:.1365884197825246,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xqsuyu9jqMNNR21mXVQ1a5",selected:!1},{type:"Heliostat",cx:-.17275490852697287,cy:.12997135230955933,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"swiDJhjoNyhP63XMsVg6ur",selected:!1},{type:"Heliostat",cx:-.16087793731206115,cy:.17050089058147164,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aWi6rcrzKqVDW7CfrF1871",selected:!1},{type:"Heliostat",cx:-.19804136337162356,cy:.1618159895232047,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYUqz4sh2LFY1owPxxLGX1",selected:!1},{type:"Heliostat",cx:-.23597104563859955,cy:.14899542129433452,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vv5n4PmfmBKXSGGNbevTey",selected:!1},{type:"Heliostat",cx:-.14402030074896066,cy:.21144399557044424,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6afKxsaAMJBNRnAKoKzPU4",selected:!1},{type:"Heliostat",cx:-.18654752026041868,cy:.2039997946633583,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1YsLhxgaZg9Q87hZLXmeRs",selected:!1},{type:"Heliostat",cx:-.22486033063110153,cy:.19200635986860873,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2d8xeYnZjcK5AiBTwEWzgx",selected:!1},{type:"Heliostat",cx:-.1091556433116393,cy:.21930176319459052,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vckAj7b593ahoDXTD68N3y",selected:!1},{type:"Heliostat",cx:-.07045970483724957,cy:.22095603006283185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6pp7NwNe4PgJKBVJsV7dGd",selected:!1},{type:"Heliostat",cx:-.03214689446656673,cy:.22095603006283185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1pADApoC8hWnpbvYEvM5UA",selected:!1},{type:"Heliostat",cx:.010763453148598107,cy:.2197153299116508,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4PGQjGdFqm6pw32fwJZufu",selected:!1},{type:"Heliostat",cx:.04831000731186732,cy:.21847462976046983,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oR8yoN1AtfF6iLT3X2SqWy",selected:!1},{type:"Heliostat",cx:.08930471440849803,cy:.21061686213632358,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nETqDwZvxQ1dJWeqM7Z2dH",selected:!1},{type:"Heliostat",cx:.12608501236435357,cy:.20151839436099633,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o4tZaxHBZHKFtmG7xSce1i",selected:!1},{type:"Heliostat",cx:.16363156652762278,cy:.19117922643448812,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"csmW9k51tdyoZ24jFE76GS",selected:!1},{type:"Heliostat",cx:.19543119913528956,cy:.22385099708225412,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBFBKRX26RSYKyWNZJF5qd",selected:!1},{type:"Heliostat",cx:.23336088140226563,cy:.20772189511690126,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vRw1xgf1Qf5Yz5VVToBzXd",selected:!1},{type:"Heliostat",cx:.2716736917729485,cy:.1899385262833071,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rEtpBVboMR7XjEgcux4547",selected:!1},{type:"Heliostat",cx:.3076877335213904,cy:.21888819647753016,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2FCByMFsbYZPgKoVW6ncqW",selected:!1},{type:"Heliostat",cx:.34791618441060734,cy:.19490132688803105,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7CpYfRknsBW7rVbRGTPnhL",selected:!1},{type:"Heliostat",cx:.3460005438920733,cy:.24494289965233088,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMS3yRiwnF88dhiVtoh9c5",selected:!1},{type:"Heliostat",cx:.3015576838620812,cy:.27223830297831264,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dbBWX8iuPtZmjpKk4PQdKc",selected:!1},{type:"Heliostat",cx:.26937492315070755,cy:.23708513202818465,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dYZSyQzqqkq28acBvqThmF",selected:!1},{type:"Heliostat",cx:.22838021605407682,cy:.2548685008617788,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQGbd5QAk8pPfgDRf2pnvw",selected:!1},{type:"Heliostat",cx:.2640111296988119,cy:.29002167181190686,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gKRa4wpCCZ2YuQXE517nZ2",selected:!1},{type:"Heliostat",cx:.21880201346140607,cy:.3073914739284407,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCywX5XZ4CUAJkRyS3FniH",selected:!1},{type:"Heliostat",cx:.1858529965426188,cy:.2709976028271317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2UPLQMCooiMhFJtDN26CC2",selected:!1},{type:"Heliostat",cx:.15405336393495203,cy:.23584443187700366,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9gstuVGZgNt34bwx4fWbUR",selected:!1},{type:"Heliostat",cx:.14370890513486767,cy:.28423173777306227,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4b4VML3sa7hnY6ghXF3UUH",selected:!1},{type:"Heliostat",cx:.11229240063090776,cy:.24783786667175325,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wgdCGQw8TMgPeJVmJu1z5p",selected:!1},{type:"Heliostat",cx:.1007985575197029,cy:.2896081050948465,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"waxnrKabumqfqY9nszwBCu",selected:!1},{type:"Heliostat",cx:.0728302059491044,cy:.25652276773002014,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sYDz76fyRaQEPaspZ2rJP4",selected:!1},{type:"Heliostat",cx:.17512540963882764,cy:.3206256088743712,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pazgCfCXnKgDa4L3VRZcx5",selected:!1},{type:"Heliostat",cx:.031452370748766875,cy:.2598313014665028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r7WAJSEpjF1v6Y8RpDz5PJ",selected:!1},{type:"Heliostat",cx:.05788820990453806,cy:.2991201395872341,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9eZTFADerf4QWheHy8QGKH",selected:!1},{type:"Heliostat",cx:.011912837459718613,cy:.3049100736260787,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sNRuKArsN6PvUBVAmpBhxu",selected:!1},{type:"Heliostat",cx:-.03214689446656673,cy:.30821860736256135,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ofECbbJ9gme6LxsuNXNjgk",selected:!1},{type:"Heliostat",cx:-.009542336347863806,cy:.2635534019200458,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v9J8DuLJH4a96cz44K2xmP",selected:!1},{type:"Heliostat",cx:-.05206955585932177,cy:.26313983520298545,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9a9woYxqpxa3DPpGkexnDn",selected:!1},{type:"Heliostat",cx:-.07505724208173149,cy:.3049100736260787,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"btMDteQZ9ZwHR2ZJEJPqTR",selected:!1},{type:"Heliostat",cx:-.11835071780060315,cy:.30036083973841504,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3R6fjmFqnVAn6gX7NVbg6T",selected:!1},{type:"Heliostat",cx:-.09344739105965931,cy:.2598313014665028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"biLXxZamzgN1buUB8TsZqZ",selected:!1},{type:"Heliostat",cx:-.13520835436370363,cy:.25445493414471854,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fExb7vHaSjiVqB5MGACC4u",selected:!1},{type:"Heliostat",cx:-.16241044972688845,cy:.2958116058507515,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iAmRb8oDGZX392ae33MR49",selected:!1},{type:"Heliostat",cx:-.17581993335662746,cy:.24783786667175325,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mCVU3AM9GsiHSTf2zAYpNn",selected:!1},{type:"Heliostat",cx:-.20608705354946694,cy:.28423173777306227,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fafqHSKwkZ9Lc6KNcub1iX",selected:!1},{type:"Heliostat",cx:-.21604838424584447,cy:.23832583217936565,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5x5ryjAFNyLBQJSPDZiNxM",selected:!1},{type:"Heliostat",cx:.25404979900243435,cy:.34089037801032746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hZqvYxemtzLuX56szXzxj2",selected:!1},{type:"Heliostat",cx:.2092238108687354,cy:.35784661340980095,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1xzWMVcb7QUgsZhom23ZBM",selected:!1},{type:"Heliostat",cx:.16094966980167502,cy:.3719078817898521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9oP1tTsujTz46mZLAksbU8",selected:!1},{type:"Heliostat",cx:.14600767375710866,cy:.4215358878370917,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpxoJLLKw2wmcNRpjJPBjy",selected:!1},{type:"Heliostat",cx:.09543476406780727,cy:.4322886224806602,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mCWXPsVjzjnqeov6whWkEo",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:.11420804114944189,cy:.38307418315048103,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dk9gN4h4BRr8fGtZgsJuDT",selected:!1},{type:"Heliostat",cx:.12991629340142186,cy:.3313783435179399,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2fgVoHVNeFxumUFrk5quEU",selected:!1},{type:"Heliostat",cx:.0651676438749678,cy:.38969125062344634,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"it8NqwMqJ6jLPQz4dBWJb8",selected:!1},{type:"Heliostat",cx:.044861854378505865,cy:.4393192566706859,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"udHusEwmFchV5kUtJf1ukS",selected:!1},{type:"Heliostat",cx:.08240840854177511,cy:.33799541099090513,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bsUzfzqGGE9YRc9SxnYgmz",selected:!1},{type:"Heliostat",cx:-.005711055310795511,cy:.4422142236901082,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2WagAkKFSQwtBhzW9SCBZ3",selected:!1},{type:"Heliostat",cx:.01765975901532106,cy:.39465405122817027,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s4VCdFSKVUwKw3ks2MUqmg",selected:!1},{type:"Heliostat",cx:.03796554851178297,cy:.3470938787662324,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h4ZiHa7nr4i5m7fVtmuGTu",selected:!1},{type:"Heliostat",cx:-.009542336347863788,cy:.3524702460880167,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5oXHCCp9pagPTxNZv7YAhZ",selected:!1},{type:"Heliostat",cx:-.0306143820517394,cy:.39217265092580833,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ksbrcBfUU1XjRMYnvbmKvL",selected:!1},{type:"Heliostat",cx:-.057433349311217394,cy:.44510919070953053,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pkwk8jYFuWA8JrrVEXSciw",selected:!1},{type:"Heliostat",cx:-.10800625900051879,cy:.4397328233877463,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"myZ6zveEJCX5Y5KUd9UqJc",selected:!1},{type:"Heliostat",cx:-.08157041984474761,cy:.39258621764286866,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8N7G24rjGiwUS1qdSwqWKB",selected:!1},{type:"Heliostat",cx:-.05321894017044227,cy:.34916171235153404,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wnaxBMjLgw16qhsxW87N2s",selected:!1},{type:"Heliostat",cx:-.1597285530009407,cy:.4327021891977206,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tdAXmudejXgsfZaFTCJpea",selected:!1},{type:"Heliostat",cx:-.12869517660068752,cy:.3876234170381447,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2EGGmcigKerWkATYn21Drn",selected:!1},{type:"Heliostat",cx:-.10072682503008903,cy:.3462667453321118,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9JRkgoqFZPzpaDJN7QVEqw",selected:!1},{type:"Heliostat",cx:-.14746845368232211,cy:.3425446448785688,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cemUSZgbciSABHXVUHVMRB",selected:!1},{type:"Heliostat",cx:-.18118372680852307,cy:.38472845001872236,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7Nd9N6VpCiem7PLD9aoKJQ",selected:!1},{type:"Heliostat",cx:-.22677597114963569,cy:.3748028488092745,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o3vFhXc352dZa6eBcXkn8H",selected:!1},{type:"Heliostat",cx:-.1896125450900733,cy:.3330326103861812,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qXuuzbNe6dHacfosrcjkG6",selected:!1},{type:"Heliostat",cx:-.2401854547793747,cy:.32021204215731097,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wvrbYM3ECPeNyPcjQDEFVt",selected:!1},{type:"Heliostat",cx:-.27275134359445513,cy:.3603280137121629,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1fzbQMf2vnYzc5rpFpv9Mm",selected:!1},{type:"Heliostat",cx:-.2830958023945396,cy:.3082186073598336,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vzTr4LtFarEKYTmcYc1SSn",selected:!1},{type:"Heliostat",cx:-.24669863254239083,cy:.2709976028271317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bQQNRPpyECMqE968rws9s7",selected:!1},{type:"Heliostat",cx:-.2555105789276479,cy:.2234374303651939,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a1ChAzJsqXt2MPj8g71s9i",selected:!1},{type:"Heliostat",cx:-.28960898015755565,cy:.25776346788120114,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ggq4FyzZAgUPjfnxC8sMSU",selected:!1},{type:"Heliostat",cx:-.2949727736094512,cy:.20689476168278068,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2po6rWGbCxwy8HhxH4B5M3",selected:!1},{type:"Heliostat",cx:-.2624068847943708,cy:.17918579163973858,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bdrrNnoWhgNP5mRf3i2NL1",selected:!1},{type:"Heliostat",cx:-.3256230219059975,cy:.2887809716607258,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7YMmZ4VphoH7t76dfCNrKp",selected:!1},{type:"Heliostat",cx:-.3685333695211623,cy:.26727550237358866,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wUtNWA5JuxbJLty1PFij2c",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:-.3294543029430657,cy:.2370851320281846,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wA8tWR4u3NMA7wqZrTD6LS",selected:!1},{type:"Heliostat",cx:-.37083213814340327,cy:.2184746297604698,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u1tc8oJuXA2enopmwuzjK2",selected:!1},{type:"Heliostat",cx:-.4110605890326203,cy:.19448776017097064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"98Xke4ooFncN8FqBo7DDy6",selected:!1},{type:"Heliostat",cx:-.45282155233666466,cy:.11466938377832708,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3sLafsCK4ZvzmX9XjWqLu",selected:!1},{type:"Heliostat",cx:-.4110605890326203,cy:.14858185457727408,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6fL2zFNvEirpGcgDGmSR7Q",selected:!1},{type:"Heliostat",cx:-.369299625728576,cy:.17298229088383354,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1La1dF2UsKPBp333zXfnQM",selected:!1},{type:"Heliostat",cx:-.3344349682912545,cy:.19241992658566903,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ccVk8kW1m7tdavAe7fX2do",selected:!1},{type:"Heliostat",cx:-.373897162973058,cy:.12170001796835267,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7dYAamQSthGA7dsTStGx64",selected:!1},{type:"Heliostat",cx:-.33520122449866824,cy:.14692758770903283,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7an2wysM5Qh3AkEZpGd37",selected:!1},{type:"Heliostat",cx:-.30071969516505365,cy:.16512452325968727,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qMwJPZfpHaQqaVGyt8my77",selected:!1},{type:"Heliostat",cx:-.3041678480984151,cy:.11880505094893035,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sEhiU97pJ6gWPJXqqojWa4",selected:!1},{type:"Heliostat",cx:-.2666212939351459,cy:.13493415291428323,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rbZK8YX7uyaHE3smRfE1iQ",selected:!1},{type:"Heliostat",cx:-.20443321752274124,cy:.12247070829736166,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JbmNCtS7jdpAREuUBBsWM",selected:!1}],ovn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!1,theme:"Desert",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#b3b3b3",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[106.52962106579803,-544.1172181902157,79.8149873216779],panCenter:[.9854234887700954,-25.135454432654125,13.426370895100769],orthographic:!1,enableRotate:!0,cameraZoom:1.5388995055342627,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[16.412888127805086,-91.5557196774778,49.9998886695533],panCenter2D:[16.412888127805086,-91.55566967525533,-.00011133037453072694],solarRadiationHeatMapMaxValue:4,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1},ivn=1,rvn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},avn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},lvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},svn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},cvn=[],uvn={docid:K8n,time:q8n,timestamp:$8n,userid:Q8n,owner:Z8n,email:evn,world:tvn,elements:nvn,view:ovn,evolutionMethod:ivn,solarPanelArrayLayoutParams:rvn,solarPanelArrayLayoutConstraints:avn,evolutionaryAlgorithmState:lvn,economicsParams:svn,notes:cvn},dvn="vL1ZUsNydJJmwct15vHcrF",fvn="05/19/2022 06:27 pm",hvn=1652999233628,pvn="QWecNcxhyvP6j6sBN11hBsfZDau1",gvn=null,mvn=null,yvn={name:"default",date:"9/22/2022 10:15:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.804781891550604,longitude:-114.97646752496185,address:"602 Eldorado Valley Dr, Boulder City, NV 89005, USA",timesPerHour:1,pvGridCellSize:.25,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:10,airAttenuationCoefficient:.01,cspGridCellSize:2},Avn=[{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"7L9JEMbgdkHJqyQYNhEPJq",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"irFPLxmMLT6rFDoJKoiKhb",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"8eu7vDhv6KUhHi9npAWqM9",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"qipbq8ah3yAaXFiTtNqwjz",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"8jsKzdYVfC5Vf4Nnu5jMbP",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"9VBTZXtWX26kqjkAsCS6nu",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"aUYdyUNGi8bnHineP3zqz5",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"bEQifGheSWzXErCQEX5jc9",selected:!1,dailyYield:2225.1916629818006},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"r4v1okttD44Z3thaT999zr",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"vbsjU2syn8u3VcPEUEvfUL",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"rS9gedRi7TPFSNSehAoH5T",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"oYPRYVsGHKMvvbMQksPZAx",selected:!1,dailyYield:2167.4086752704884},{type:"Foundation",cx:-268.72128837305235,cy:192.4499625139658,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fjnWik4gwK6dVzpp4PS9CN",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"somwUXH46rWWj2iEWaBpTH",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"f6fusQGihys5Uk5wRLiqtW",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"xxRJM6MpW6jZoZtDe4gxTL",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"67cNGKEATuXayJC7fa4ov6",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"jTDbg2GsKFSXSL5kfEKwFM",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"otoVZiatBWpjEMBHcFE1vB",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"a61aJ1UFYsWt4ci4mKq9SJ",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"3oeacHzGeVf2rX3iv6QkKf",selected:!1,dailyYield:2183.952515711261},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"j4UdupxMbEhx9RPqd3Kxbe",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"eU127LCRTi1gGCpMprsZjB",selected:!1,dailyYield:2183.9840846216266},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"9dKhxKmMz8HYSCd8thjHfi",selected:!1,dailyYield:2184.0494263190526},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"8niYJz4X5kqK7PxotD8v8w",selected:!1,dailyYield:2184.0217279415574},{type:"Foundation",cx:-96.65608919286746,cy:194.42114792003463,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h3DXKV7Y684i3thRma6wLu",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bzpE1WucZoTcJnrQaFWosk",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"b18nYFHTAeTLPg9V3TAu6r",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"vnJbcrncrmPTTZtSNizQZx",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"uuobSx6wZMqJ4o9dEx6874",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"fkkZPubbk2sVhakgHyJg8p",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"nKo71iVf2HXcRbr4UCGY4B",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"s73CuihHSMyjifPJZbc7fj",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bPUahAh6uikU5BjNj3PBL4",selected:!1,dailyYield:2184.314471867017},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"uwbEdmDhH9hKvJBzSqoFEi",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"ek8zDL6MWZ5xk3JieUZvVt",selected:!1,dailyYield:2183.9840846216266},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"4f3PT1Wrj5UjbZFwB43q6Q",selected:!1,dailyYield:2184.0494263190526},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bV9jU3U5EG7hj1ZR9htRmc",selected:!1,dailyYield:2184.0217279415574},{type:"Foundation",cx:76.81490256290738,cy:193.91833345117703,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fiH8AWThFS5EVx7AwfngqL",selected:!1},{type:"Parabolic Trough",cx:-.04454509140457573,cy:-.0080567453075295,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"t8xtXgJ4zQkhGJAogmq8d9",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.028178433926039068,cy:-.008139307894208355,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"bUFAb96RGW7QwKBQMcxVPN",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.11348203554423389,cy:-.009985318932966891,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"6rj3ikzy3Q8n2yfz1CwRXN",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1829903788505871,cy:-.009114355848154284,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"1WNeTRgxoSTT2DQJu5yyHb",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.25148985811792923,cy:-.010411589149102113,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"cWDWPkRX7GebUfNP1qoDPY",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.3213430444980177,cy:-.00840045293698594,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"dC1wGpGBnzJBEAzPE8gK7z",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.38740964968714997,cy:-.009828258759322559,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"jLCGM5EGeijybwhJJbzYWo",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.4537412982117307,cy:-.010542161670490834,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"fofxsexPNsKCB5DuhFZbhA",selected:!1,dailyYield:2184.249130169591},{type:"Parabolic Trough",cx:.09586378956336611,cy:-.00872263828398791,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"scR8HVKLnxMfg5qeM5Lugw",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.1635491452006934,cy:-.0072948324616512175,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"aJRfgV9p4QZ5EqYhzKMsGH",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.22988079372527398,cy:-.0072948324616512175,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"jbKhaZc18QopEFA48QhFGz",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.3002735635880945,cy:-.008008735372819492,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"gfBbYgpDbuSQ6xjoAfmVTg",selected:!1,dailyYield:2186.5619099124656},{type:"Foundation",cx:265.415477246936,cy:192.50545738235357,cz:.05,lx:211.2723746451423,ly:400.6159826636368,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"v1v8XPTexYoFXFrbQfvcXN",selected:!1},{type:"Parabolic Trough",cx:.3626690294198999,cy:-.005427557483579055,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"kni2ZMXaAJJiwviDVB1raV",selected:!1,dailyYield:2186.372284672933},{type:"Parabolic Trough",cx:.4327954824820787,cy:-.005427557483579055,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"bETGj1xEbbAb2BVse1AQM2",selected:!1,dailyYield:2207.463112852368},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"s7kVKBTAaDo2hjd87z12j1",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"2TcdonCE1i3zpYReX2SoLR",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"a2NWUVKnwbFux2PYtz5CHH",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"t3XK5N3foFHRBevW4hQYeH",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"gX7yumpKKrmXnqYJweAwxw",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"wydrS5X5dqpbWyrqFYtYX6",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"ko9LprY6zErxhRNVTa6b2k",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"tUbG4wALaTZBXqDzrZWjJa",selected:!1,dailyYield:2225.1916629818006},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"cwror37w56snxd6Cu57GYv",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"djRCaY4JYizuqL9V1t1Ef7",selected:!1,dailyYield:2186.416326619183},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"wUb1oL88fa6vEHWZxPkspJ",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"8CofMvmPY2z5bBHdRWwYyh",selected:!1,dailyYield:2184.2214642544664},{type:"Foundation",cx:-274.1742441205048,cy:-205.8730240503783,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"er6dYYMfRpcyAunmGzAVCk",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"jrgrdJiY66ubYTKCaCxqTB",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"fs8ejjGyyEChaC8Ehk8T4z",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"wXPY3K4zXtXUdVp4EU5wHC",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"woCUpwEYEVwQQqjCWLCbcb",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"8fA8M4gu6FFx9kstBhM3Gh",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"vdKSaNvMHXQ6c4CUhsUbjJ",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"nfHAWXJBNrnZk4SZXBZRwQ",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"oG9kEtQxTKYAx4RBkRru4e",selected:!1,dailyYield:2200.564116598536},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"eZZfAVvGcJQ4hyoRBRAHxH",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"1fvahJfFg2KKz9NtwScfEZ",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"whVGRaA9vi5x7rhQNFg1yE",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"c9Dk9vaeTmZUcYmk8LG9yA",selected:!1,dailyYield:2184.142140950794},{type:"Foundation",cx:-99.03928963053315,cy:-203.22690478352843,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7yEBa2PPK1oKGZhA24cAWz",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"9xAb6RCYhCVXhVokdoTNnm",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"mQojvngU3MK9E1WnMgnuYU",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"fdpnWcCJudkZEj98eat8mA",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"eXpPJSpHuPPrV44B7sxjrT",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"bKjSqKtUrMBiHDZpPLvptN",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"bUtfJ12cGNMZZLy3onCpbF",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"1coPe9Q5rGuZ2WSaiij8Le",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"2yk58NVaRPhqHjxMFDwXYo",selected:!1,drawSunBeam:!0,dailyYield:2184.5259546735324},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"6x4yDGfJw4eCZ7ekCPhjNt",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"xvTNCko8YFvfGqK1kgUt12",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"gVdwmaY8duSTrt1vAsGAxn",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"nYEBq3ov1hbfwdFnEPb7Kh",selected:!1,dailyYield:2167.507403284107},{type:"Foundation",cx:75.63743844199865,cy:-205.7462806691912,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"k36HZDupiVkAR6X1Ux85J2",selected:!1},{type:"Parabolic Trough",cx:-.033179547828226484,cy:-.00957350532887952,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"ezm6CU1apADueQgyTsSmZn",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.0413587397995383,cy:-.009655416682255636,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"kevGPawVmfF7HkTwPXwpqF",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.1038367629054752,cy:-.011486866841637427,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"uandqWKZFgnXJhXCrgQ2QQ",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.17507963599701507,cy:-.010622773698636264,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"kpSVEzPLMTEAVhEWUE8vrF",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.2452884695865472,cy:-.01190977474353469,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"xzPQyiCUDpURAjVcdpLis1",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.3168847910580943,cy:-.009914501877400738,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"1oovrq6jnWYwDxtZ3cBFmK",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3846000399791258,cy:-.011331045519871718,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"royQeirmSLt4FSVKZM7K9n",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.45258694619787027,cy:-.012039317341107171,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"eHq1QWB15jeB3RweUWBig1",selected:!1,dailyYield:2183.9634444947524},{type:"Parabolic Trough",cx:.11073313390029775,cy:-.01023414590591861,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"bX6TtHS7whnu5gLA4WYDBw",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.18010752800105748,cy:-.00881760226344756,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"vfvomP4GJj2bUfaeRmSTnY",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.24809443421980182,cy:-.00881760226344756,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"aKsJXH85Pv1TJFkCUcHtaj",selected:!1,dailyYield:2184.074372390822},{type:"Parabolic Trough",cx:.3202438040845918,cy:-.009525874084683014,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"5d1oEf681m2BEya8bQE3Zu",selected:!1,dailyYield:2186.5619099124656},{type:"Foundation",cx:260.2382130043768,cy:-203.83085358802796,cz:.05,lx:206.12858677265922,ly:403.80106579029473,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tnLBLu28SYP7t6wfKCqrkm",selected:!1},{type:"Parabolic Trough",cx:.38472948235042653,cy:-.006082018282359512,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"35zz9s2izu4bSZ895qaY5m",selected:!1,dailyYield:2186.4500637242113},{type:"Parabolic Trough",cx:.45459040213804675,cy:-.0025158234685137603,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"8LPfuFyav4kWtBZ6BHp2RQ",selected:!1,dailyYield:2207.323568286619}],wvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!1,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#999999",groundPanelY:0,heliodon:!1,axes:!1,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!0,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"hybrid",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[415.56554854788317,378.8681570116889,50.208533152612546],panCenter:[53.36331727441414,25.641045916575948,4.010932124381785],orthographic:!1,enableRotate:!0,cameraZoom:1.3888568037446718,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[7.614289529137672,-228.9673229029426,19.999771022501545],panCenter2D:[7.614289529137672,-228.96730290205363,-.00022897748026825466],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:5.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!0,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:-5,dailyParabolicTroughYieldPanelY:5,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400}},vvn=1,xvn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},bvn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Svn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Tvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Pvn=[],Cvn={docid:dvn,time:fvn,timestamp:hvn,userid:pvn,owner:gvn,email:mvn,world:yvn,elements:Avn,view:wvn,evolutionMethod:vvn,solarPanelArrayLayoutParams:xvn,solarPanelArrayLayoutConstraints:bvn,evolutionaryAlgorithmState:Svn,economicsParams:Tvn,notes:Pvn},Rvn="anrFxSGH61K9md1hspSx6c",Hvn="02/02/2023 12:15 pm",Mvn=1675358110494,Ivn="QWecNcxhyvP6j6sBN11hBsfZDau1",zvn=null,Dvn=null,Evn={name:"default",date:"9/22/2022, 2:30:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:42.2844063,longitude:-71.3488548,address:"Natick, MA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},kvn=[{type:"Foundation",cx:.08101414969184528,cy:-.061088068754476144,cz:.05,lx:30,ly:30,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"1jWhHcaUD3hYBmq8heF7Mt",textureType:"Foundation Texture #2"},{type:"Parabolic Dish",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,latusRectum:15,relativeAzimuth:0,tiltAngle:0,structureType:2,receiverRadius:.25,receiverPoleRadius:.1,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:-.0015648838470118183,cy:.002268855297546398,cz:.5000000074505806,lx:8,ly:8,lz:.1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1jWhHcaUD3hYBmq8heF7Mt",foundationId:"1jWhHcaUD3hYBmq8heF7Mt",id:"n6Wes9AHD6Nu1BFW2ixX6c",selected:!1,dailyYield:58.654024482322484},{type:"Cuboid",cx:-.0385404512454377,cy:.14330355436037368,cz:.5,lx:1.410367011670566,ly:1.229722993301011,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"wjK4XRngAZ84SKTN23jchz"},{type:"Human",name:"Judd",cx:1.5445606997476098,cy:-3.0401084333788013,cz:.05000000074505806,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"1jWhHcaUD3hYBmq8heF7Mt",id:"weMPyi8cZcMft87uExNbWN",selected:!1}],Fvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[-2.420183280635814,-15.878268188373001,3.8943744657694412],panCenter:[2.874525283798386,1.555148727597212,3.8943744657694412],orthographic:!1,enableRotate:!0,cameraZoom:31.733468832186784,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989623],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:5,showSunAngles:!1,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,showDailyParabolicDishYieldPanel:!0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,stickyNotePanelRect:{x:0,y:0,width:200,height:60},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400}},Lvn=1,Wvn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Nvn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},Uvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Bvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},jvn=["Parabolic dish"],Yvn={docid:Rvn,time:Hvn,timestamp:Mvn,userid:Ivn,owner:zvn,email:Dvn,world:Evn,elements:kvn,view:Fvn,evolutionMethod:Lvn,solarPanelArrayLayoutParams:Wvn,solarPanelArrayLayoutConstraints:Nvn,evolutionaryAlgorithmState:Uvn,economicsParams:Bvn,notes:jvn},Ovn="7ug2PMzZs8KHaJfo9T19XG",_vn="11/13/2022 05:52 pm",Vvn=1668379966922,Gvn="QWecNcxhyvP6j6sBN11hBsfZDau1",Xvn=null,Jvn=null,Kvn={name:"default",date:"5/22/2022 11:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:40.50104939260215,longitude:-112.3735469155903,address:"West Maint. & Supply Road, Tooele, UT 84074, USA",timesPerHour:1,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:5,cspGridCellSize:1,cspTimesPerHour:1},qvn=[{type:"Foundation",cx:-47.0206360597426,cy:68.67019638501287,cz:.05,lx:46.5768885127422,ly:135.19445156274705,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"cZGzTuNW8Aam7msowwUroB",selected:!1},{type:"Parabolic Dish",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,latusRectum:8,relativeAzimuth:0,tiltAngle:0,structureType:1,receiverRadius:.2,receiverPoleRadius:.05,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.30761593322410435,cy:.2695290878919692,cz:.5000000074505806,lx:6,ly:6,lz:.1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"fopwswffzD41xMfw42A9HH",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.02814798372485404,cy:.3300697435564625,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"uhQ2BDDLEGyfXHXM3T8D4J",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.015122118824723977,cy:.2725477934518696,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1hU2B3tRaXiQA6qMShWWWm",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.3100390677195005,cy:.3278398594863607,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"iEABxF7nkChkFiL5Znzw6T",selected:!1,dailyYield:55.267670961749594},{type:"Parabolic Dish",cx:-.309076286400796,cy:.20865185910064502,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"6dujuDwUqfLaFeQofWwJLp",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.30842094785613033,cy:.4471386572368095,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"cxNbMe5Q6mxcWpM69s2zVD",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.3641465280539995,cy:.44914206870604134,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nvnv9aQWWLSS8NFmBnHLYH",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.021675504271373644,cy:.4499260123244368,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1XvYz7yo4kDAwFbbyEVu6r",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.3641465280539995,cy:.39329601584788454,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"iAqeVhRsv4EEemyXLxRT7n",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:-.31489342730961073,cy:.3858168453090086,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"8887sGWkY9DPe6zPB7DCjw",selected:!1,dailyYield:55.365730353380805},{type:"Parabolic Dish",cx:.36706723440738265,cy:.33342502224319376,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"w4H13nunp4KXu5rLSjHetr",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.021675504271373644,cy:.3919490265017887,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"8A9nZ4G6EMbXmR2ypdZPtC",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:-.3119969927541789,cy:.15179957105585468,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"9xvM5C54F1GdXuQmPkbXHv",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.36852758758407417,cy:.21317991744049564,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"dWXjd19yWhBU5KYeV4ep7R",selected:!1,dailyYield:54.63098088367212},{type:"Parabolic Dish",cx:.36852758758407417,cy:.2740571462318198,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"9RH7D4KCkHBkHBB3Jq4YBh",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.019503178354798405,cy:.21317991744049564,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"pPqHXoZxFqCJhooD9iRhGL",selected:!1,drawSunBeam:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:.029710257140191706,cy:.151618028448374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"dW2wLBrURiiyxfn6F6TVAM",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38263449035227737,cy:.15356864871672385,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"4FQ9iN4DZGms63ywmg5spd",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.3118902038832707,cy:.033930573598891456,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"5oj8TRyAKMqMp8sgE67FVE",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.025935666410650624,cy:.09374962715399743,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"vmGfUGiMyftJojwfX2GBR5",selected:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:-.3005664316946478,cy:.0924492136417643,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"oYSwSfAfrKU47Vyq9eDs5P",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:.37131071816365446,cy:.09570021542996741,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"ngsGcTkVVzJ7SPc4n5EF9z",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.3788598996227365,cy:.036531432615737686,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3kBsJoTshaWDzS9NKouLiE",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.029710257140191706,cy:.03523101910350445,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"o4R1QpEifXnNSRVbUJpY2N",selected:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:-.3043410224241887,cy:-.03499134254946713,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"wg9A7xFWVB5Q2Pe6NVpsFv",selected:!1,dailyYield:55.333043889503735},{type:"Parabolic Dish",cx:.03159755250496232,cy:-.03434113579335057,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nMbKYu7cUV1STfkS1t9GBe",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:.37131071816365446,cy:-.03109010201276759,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1uAa3xWKSo4ZMy4qgrtWHV",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.30245372705941853,cy:-.0954605708683097,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"4W4HyJzntbsbMubTzJ5xuB",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.2949045456003364,cy:-.15202852665807323,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"hLUWjDDawa9Bq5bGdgVF6r",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.2967918409651067,cy:-.2150985820013824,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"38LakMABYvqqhWZJbnchb8",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.2949045456003364,cy:-.2716665697835258,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"qS3hKai5cPy6hqmvjMrrT8",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.03159755250496217,cy:-.09285974384384334,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"7N2it6fkLMZs5QL5wVYmmH",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.03159755250496217,cy:-.15137835189433643,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"jY7wFhgsoDdty76ov6d7Pd",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.03537214323450325,cy:-.20924675318871294,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"u2YWuzVpBajQANuw9UfAwL",selected:!1,dailyYield:54.45190129987361},{type:"Parabolic Dish",cx:.04292132469358527,cy:-.27101636302740917,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3S1KK6FChNE8gvYazHEnpd",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.04103402932881465,cy:-.33018517783401885,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"uLmHzExRSUXhHpNKBjVRrt",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3864090810818183,cy:-.09285971185146352,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3cxdvSGi3uCkPtzjoDyARg",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.38074719498750675,cy:-.15332894017030646,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"s6fcxcWAD6NVtUZVHCQQ4L",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38074719498750675,cy:-.21249775497691611,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"bSdLYguwQYmYpDu9RumiMQ",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38452178571704776,cy:-.2697159495151761,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"2fyj3BUAEUoyYeFCWw7srW",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3901836718113594,cy:-.3295349710779023,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"sjmKi4AsX1sdYN2tTKwmA4",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.051333272176731434,cy:-.38693722362249716,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3uEbgTc72rFmahkwgqJg8W",selected:!1,dailyYield:55.12127784182816},{type:"Parabolic Dish",cx:.059035555614381244,cy:-.44796941122274353,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nRqAdpZ4TZQVjnRmHw48uX",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.3902337434333181,cy:-.38516817470654796,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"cfsJe9Yug6u3x3oBayEheP",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.3902337434333181,cy:-.4453158378488198,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"wMxTgYHNjkaxthyYgYTQP9",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"i9fZCix4TrJKhgCcneBYW4",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"n7aRSWWeY5wBNzZ53XV5uA",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"jWLZDGd195KJE8SWN597fk",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"76YP5Bkbjqbnqsg1JSHTGc",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"b9eyjomDdJAvbQ4GXbRhbG",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"9soCdCwnL8Bku7MHtRFFFr",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"tFv5W1XKGRjyGCtxQnPjfn",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"e5TE4DCQ6xiHjtxHX6wtr3",selected:!1,dailyYield:54.63098088367212},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"vsS27cuHcFevK1BdwYeKu3",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"hre13LuXsebRJ1ojBkKSgR",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"xrGCkZHLfRSASP6ZwrmBJr",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"nCfyMKMf1W4ncpysKWy2VY",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"mNMLU3z9EypRpQKmc6xPri",selected:!1,dailyYield:54.53292149204091},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"7g2aMKZxh6mDuScjaSitCf",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"woNtmkrzdE6LQEpkJkkk15",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"gQJWvo8v2H3LF9QwKDg5pS",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"psqWbKt21osCHgusR75ZRM",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"qA6D1GimsUYSX5jHTZtGrL",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"rFR9awpETFNeLqanJsWtLB",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"79pQRAYjXXzrw8FMTxx7da",selected:!1,dailyYield:54.53292149204091},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"j29brne3bouFE3K9xbRzf8",selected:!1,dailyYield:54.37088110770631},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"fEsQhg9meEj7fn6FyQr2kS",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"grDso13WfqFPnwde3tTooZ",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"5znkiYKSLhmEUCEWv7SMww",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"h7EfHGkuVpHhLEE2L8UnPe",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"tWy5pSLVYjou9HU9WNjk3B",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"oMmcyG29c8iK7NppnVHGcx",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"uCXv9kmZSPkBfAiRp688jH",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"2MLMRe971ACXtPr6TKkSZ9",selected:!1,dailyYield:54.45190129987361},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"m63BuQNzvckE5zp32Pnw8p",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"8HmQpAPE5ybDjjJmWPgtJy",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"pofnF8e5Bn6CnkFwwsd2mb",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:-7.983643923093517,cy:68.40825112249922,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"p7X7PWYKqawwVRyKWEqpsP",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"1Kr8Pa7CfCGfY9Tn1nbTfC",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"oRpi5CP9ZYynPy6bNyVZvx",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"bnjSVLBE8yuyRmD59Vpj5M",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"mxrBwLk3PBAc6DLtdHY9PG",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tCEaJXp5M1wEhEUpBtW2dn",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"nMM6ewc9ExA5TMPbfnv6Kz",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"n8s1FzD8MfqqBcK6r49KaJ",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"nH9Zop5fMNGnprvUp4Lndb",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jkAXkFfxDNxSdMms1xtkQh",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wrcKx46bR9u7RcdSgcckCp",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wS66DR1C6Yem5chszyHNyX",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"mYGta2zZcv5wvFcomHB8h7",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tK1eBhmW8y1nnsX8W3X9ga",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"8Ci425obALWeV7icrEGMh3",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"3A2AjfypMamwJFRbA3fDpb",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"iWsTN7vg5oFv8hHDnyjZDQ",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"gXTojLu2Qyb637Ho6JL7Kf",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tavpWfYoXMz3qMPdKYuYus",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"vR6bFNvW7QL6DHxH3K21u5",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jSCfJsog1e1sNpYz5PNhWW",selected:!1,dailyYield:54.615333619258955},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"eUyRyq3GvSH1aXZPres9zE",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"rDZgMEP11vSsiXW54EeeEC",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"fbaSKG8oqr7FZVwDxb6HR5",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"xAycaD99dwN2jw1eYE8Ajm",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jgSWeMLe27dY6x2hNzCmsw",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"sgwE3sAhyMWCJxEUC5V8m2",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"hNVN4iBp2cmmnSn75ekkgF",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tWdCrzBigxazk84saCEaTV",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"kQJuw3tnnSYASf2nicv61Q",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"qJWMwjmsMFnGLQ7tP8657U",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tsiY8ux1n2J8yeqE2sunzz",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wJKc8tsYNihwhLcJrfyUHp",selected:!1,dailyYield:54.794413203057466},{type:"Foundation",cx:24.06375725188695,cy:69.025369785858,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gEQRhWXA3HL6aJzGgTrAzv",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"1tz7amW9Vt4xEPqwef91Qx",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"sqvvuQJTZHqqySn6E4yYzm",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"28us4Wgm2qjx3DCcTdFLVV",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"mpqP9TF6Vrg7VCqRfcMiQu",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"f5qiT4VRUPdGpUjZXcsCx4",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"nTXZjqhzJBfTANgYD9vqjQ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"rgnTEBGw6Vs7Duns1brscG",selected:!1,dailyYield:54.92515905856574},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"tGKA519iyUSWpQ8wVPNFJY",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"36gvqnTqAbkoRPjVMK7ems",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"viuvE72Bw3v6bsArR6wpDL",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"ii2gGoQHtGShTH1opfyXnJ",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"wcNvEizmbvgCX8phLyizju",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"jxCiGYqKr7CGg8yTBhpkCm",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"aSt2wCgvcriyqmRzVHYc9K",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"b579K6wcGsFkd5krT6NwtR",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"2tXe7mE16iWBsHUwW9t9aQ",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"aEUirhH7z57xAhv18Lb7W8",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"4dXM3M8KmCej1LF8VHJ82Q",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"h15HDWZymQfADqEotRv4LM",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"x3Jjg4ZJhqJ9gBq8UJG8Yi",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"qfDWqhtKKj8PExp7dtRJhP",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"dQzc3rdMh6sEoS53j5m6LC",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"dFarDxb3HPmwwaAxStasmq",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"gJLG93xPyBxAvQZy1eFr9c",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"5gNcrnds5MDuA88znfoVWr",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"7mL5Pz5pqsdiMAMyaHTbZn",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"3Uic4JFDxCdyp5oDg5ZLjd",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"14ENGCWNQVrrvGhEToEBLF",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"qMfSQPipp6HAYm2FfTRsJk",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"xxoYKaPf4MobsN7VjTosNC",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"9MQxESnXS7CKvarDbKvrgD",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"cVpFdWbUmKZPYFqiQr279G",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:59.02948227812328,cy:69.3080716212459,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4cePh2t5mTkfEKXcWmB48u",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jesMtDuJVoPzLUmYETT89Y",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"97DnJZE3VTJfvvv6WzSRBx",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"vLPycCjUNJMSVTRtdj87XE",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jPB61vSkRGEcXezoyJ9S3X",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jULEb9dCHn3aTywUeHy3Qk",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"9Pa2h5sxqEBhqE3KgZbB6Y",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"se2JtcnQNE96z1Aum4EP1p",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qfZULw2aGPUTLCVySZhcyp",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qWNJdtQvxfzJj25Q9ioKpB",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"bxmvcGXZuBN8ktU47D4qP6",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"aNn3VE1DQvLpKgE5hUztNH",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"4mrZamvWvRpkYyqFS7RJH7",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"kiUHJLZUPqkGhKHBaWrqz7",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"uGSXR3GUiGp8nT3strVk7J",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"a1tN8yxLHdTXbX8ex2fpZB",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"s5oswXys4g8p8gmSXQvhkY",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"3D6zM2RHwSJFo7RfUTRyjT",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"cAzviKAUbsLWBdNTADoifP",selected:!1,dailyYield:55.13692510624132},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"ohGxTVAnBTQUju6j187cfL",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jGoKYV4BSgv6J6296BizzQ",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"pPTV9qje8c7Wfg3GZqDMP2",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"x7uhR1kYgxibupXzAN9oWq",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"inz76DVy6KaN3KVR3CkPpG",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"dY4oZaF8y7JXdRxLLuqg9F",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"gmBkncxUG8PdQJo2VaespL",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qirhM6vbtt83tpYszhnTaf",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"mRdCjwmZtRhDjNaoHZAsP7",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"bXjnb3U4gRd6Gra55HizMY",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"gTiRGPwLKRdtjktFgKt9hU",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"fFcZ5RiAU7SbEZpodham4W",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"rtWNXEr4TFs128rHeq3GAn",selected:!1,dailyYield:54.94219825802965},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"t2MHCbHPUk4iMrfBGmBEg8",selected:!1,dailyYield:54.99053198631988},{type:"Foundation",cx:90.89697850456658,cy:69.75067573550228,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6ufo5pBdzXZ7dduj1GnnjN",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fBXFhCMe9NByYzvxwGHn6i",selected:!1,dailyYield:55.267670961749594},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"4XR37wV3Mcb5e4xnto9S5W",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"bF47T7o7w6UzeEcadSPaEe",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"vDEGXq7dyykKUFPikw7ZQv",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"ib8cPgm3UdpJKVhC7u74X9",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fZnwkYdYn246TusSuwFy5d",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"npP5tD7NGDuPXSYzaKJSef",selected:!1,dailyYield:55.31739662509057},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fyCVrUXjd49v6w3fUmCpmi",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"aEvUZ9jmc1SE9AqaTs83sz",selected:!1,dailyYield:54.40356757158338},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"c1aNagv3k5EwQhxqv1nQKW",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3NCPuFUbbF4P3Uet9iqrKg",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"6sXkkWHPNQdQZGhmwNLthw",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"dC6pSLCpcbcZtkkLTZbGAP",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"sNDitQDQ2BGYEwghGZPxAc",selected:!1,dailyYield:54.40356757158338},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3AapXAvkjJa5rztXETgT3X",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"1sKKkXtyuaMN8kgH5vX2ow",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pJSWbff7eW8x3ExEm8MBdv",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"j6c75GwBD7xrTUdv8qzwcW",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"2DRktLVHmu4BwC4tYrV1hj",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"nRxkdY7Y2yR2SriqiuWofB",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"x5RkBxY41nZxXDJuxoiDZr",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pixrQQvfkddWpaEq8muTrJ",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"jnLvvVhZEPeAJ2hpXvtXHJ",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"4xUoTNJFMJTerAQEErQ895",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"rkAQYL64Uuf379mtTX5GQL",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"rSMGuNL6giL7Nj4oWDSndP",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3mr4Yjw79aApbRSuyrtamK",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"nHYzCZrgSVVxvF52MMmEG2",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"idcvngByfHJwgkBsh65JbP",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pKoUwgWmomU9tDX1avSdQc",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"7LDpCzc3zBHLv6JhymAwbQ",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"dowp1omeYXWab3j1K1meZc",selected:!1,dailyYield:54.58264715538189},{type:"Foundation",cx:-136.49179476446375,cy:-67.2349056273395,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dzMWxWAUm13nPZAnV26ojB",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dKV8idVwG1PoPzaqAJySn3",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"1ahCnzARH22rtYMg3xC75a",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"bGQnA5qfcBJLc7EFesifJ5",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6abDjWSHbyPb8tqD7whFWE",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pMaHgYpvL812956oXKBJ9T",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"vxBLBNexEATeuUVFW6UUb7",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"uEpK7NuFxhDZu1zciefV9E",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"adThs3Jwyt44gCESDNcupo",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"wJBFAEWUBufYWoCYyAAkDL",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6fBBqnwyNxUJ2Mv27sMzNz",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"xku6MhBdpC6odzRtL5Rhsi",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dCqY1YvNDa7QjZLsD7an8D",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6yKCwMuBAuUpAxR3UkM2qV",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"9QuEw2Qd3kdbe2VGUtFG6d",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"fDUJgpBZqufUYAcgUpEYy4",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"7tpsaUo8qyex4qWWrRQa3Y",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"ac73uiJL9mDwp2h2qMBea1",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pvYusR6DDwKSrhWjzrsGjq",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"fUxcXs6rResj8vGRQz5ADd",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"34XDNLYmgiixgYDTAvdY6U",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"eKnBHRagP12sRw2eHV4EFo",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"cKEXyvhTD3Jnxtg5cg1jRA",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"ngLd2mnBcPdF96nEdG4hH9",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"4YV65NmWmmduXoMXuWXF1E",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dS2vQTwT6npH9US2Zjk7gd",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"nMbEzttfGVfwZJkAqwxiCa",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"tj5fHasfEFBxmjBHiSYX8G",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"2EuhpNKcNgCnC7mXhnzorq",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dv9DT41y2eu8dhEh4A3yNF",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"7eHHdrZwkycM3igK47ofVH",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pCMNdpEm3dUbZoYetGhdYY",selected:!1,dailyYield:54.680706547013095},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"22NmQZ1gAa9u2oawRCihVS",selected:!1,dailyYield:54.696353811426256},{type:"Foundation",cx:-105.74245630035185,cy:-67.46785516115864,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bpYaYqzqY3rwTa3pPHPzsL",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1D6qDwX2642TSZjwoFxp1o",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"79HAKLb1ozK2c7orEPVJkH",selected:!1,dailyYield:54.97349278685597},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"5Vymv5eq4ELiQdmdiH3zah",selected:!1,dailyYield:55.561849136643225},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"pQHHxi2uivDT6Eyv2TuxUD",selected:!1,dailyYield:55.561849136643225},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"wYhFkccfy25pvdRqXmjnun",selected:!1,dailyYield:54.778765938644305},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"aPgo7xUpbQpZnXsiNJF8SA",selected:!1,dailyYield:54.680706547013095},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"rc8sJmCgWcU8UzU4JU3Kw6",selected:!1,dailyYield:55.12127784182816},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"5uahGH6BqWfKU45xu5Z7hc",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"nsB8mr2bSHrM3jbtnehkjJ",selected:!1,dailyYield:54.53431342709166},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"mLbDv1g21nFPG8JjeviDLa",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"jkmjUdZvVvxK9WkLnnBg8p",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ouSXNghPew3qYnTQVWfbqs",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"nrR2uHdaQAetCD1csDMzph",selected:!1,dailyYield:54.90811985910183},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ckYt1vWJgk2MaNakWvCWDB",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1FbV4HWSJjuWDo48s8WtNC",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"pGqN7t92fsi5d33uxuhFsb",selected:!1,dailyYield:54.97349278685597},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"9L7EiSKGotVbt799fBQeRb",selected:!1,dailyYield:54.90811985910183},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"bZ4hdZiNXSoXxokpbfP7nE",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"9hsKHsCGSPXrbjVLVZXWCf",selected:!1,dailyYield:55.00617925073305},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"wMRsqsB2mCNkXsKr5ZvPtC",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"suUFWEjxFaYuPL9peoDRUZ",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1br5Ptt8Qo5SkEHqCXrKQH",selected:!1,dailyYield:54.89247259468868},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"xeafcWLVFe1one4Js1pXaR",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"3j8HSQdHpYxreAKw5y5Bkz",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"bC1ox3NKLCGdZfDSV4qRXK",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"hkihnoDGLJybUfZp35LbaG",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"dYLEbK9Ss1w4eXNB1RSBGR",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ji6Bm928LBgZcFZDw5fDhy",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"gm6jD4HivZTs4uDmzromYL",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"hZR3rVvnhKsbGZa4pLQ11g",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"eyyDyyuNjfTg6Y8wmcxG2q",selected:!1,dailyYield:54.42060677104729},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"7PGJWm4Bn6jqjn5Eb529RY",selected:!1,dailyYield:54.58264715538189},{type:"Foundation",cx:-69.6352785584022,cy:-65.93887331983836,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6669FrAcRV3S1zPTB9p18F",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"iS8NizYAfM6n6dgKCGDkwv",selected:!1,dailyYield:54.74468753971649},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"5Ye58UjYKG719ktcep3oWk",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"ukPSHKyKbjrFbSUb7RzBEh",selected:!1,dailyYield:55.463789745012015},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"gCVedoD7SGFMxpqX1BUzZW",selected:!1,dailyYield:55.496476208889085},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"jbPAKMEf4mqFWYPZcJDbNe",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"p7dszGFjLEqeSwRLS7YHf1",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"aT4txGfZfiz8jnLoTt526b",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"sUsodPeEocPvCNDkqZrChb",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"8sk1PSP4vENQgztEKC8ci1",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wqNWA2TwVSjRxwkYLtZDGZ",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wH4wDZFpfKNiNZpVSSMhFY",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"oFBt69EzGbvtWDmu6DoojJ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kVJKwRjK96o6qVyyzwvEUm",selected:!1,dailyYield:54.679314611962354},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wBrBDkpM8dEK4tQLmeUW6y",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"oo6K8agu94JQM84kjwrLGA",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"4irYSEA5i5W5Qi3FuQt5ih",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"af8MTE54DUeM1YcvKoYVA6",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"4LjL7VHsRNfpcY2YcLMhwp",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"ourSR4BHMyPDVKp3JHbdTq",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"k7JMDUAGSNprBURCCpXbTb",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"rzQQtjfoDHwc96srYFxFk9",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kbtkW68kECiya1MGK4SY4y",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"79XY6D5Gd3dVECNy7jBKbr",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"8bnYakac6VrGEmETQMhGbi",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"2tr95qfXgv3jeidzJqoEEV",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"1T5fYcG2xLGDVaN4z2JSWd",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"czRX6XaVxvjtAd645B3nWJ",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"vThmrfLj2hfoaoHNntpY8P",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"mCVKJe8iq8UGLRopTPrpSP",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kuonS1nfmLfp2iiXTgTfic",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"q3pJDWhsopJsaMjH8Z3EdK",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"xdV86xg96dfo2s3n5YjM1n",selected:!1,dailyYield:54.59829441979505},{type:"Foundation",cx:-37.95414195901416,cy:-67.00195609352035,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vDDupUZXQLcUBaqR8LHXzz",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"eUEn8apMEdg9tiLabGz99t",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"paR3Ac8yX4Wj7SiJJdFXph",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2Y1fnFxyWV8UXrjDxD5Hyx",selected:!1,drawSunBeam:!0,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"v8QgWidDb6xTCTfyAfsDG2",selected:!1,dailyYield:55.2676709617496},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ftqZQ7zoxGXDJ4KzFQVvaR",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2uCAP6MhpPQYVndbGTMe2B",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"8938SbXAZNkxeYq1PAuYkn",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"rvoQ2mMYFP66Qhmnt8EKxF",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"f7SvtPUPo466Q4gJ9TnSPn",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"3kyNNxHidQMjQts3HyRhrm",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"pxogXCDeccjCLr1EFcuCgo",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"hBNssdFnqaWt58JWz26Zha",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"heoastLWiYga5S3WuMv9kh",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"aTSKWJPxGZKnFrLPA4VLgM",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"rtnU9Cenb7sZyKwXZGLfCQ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2ueZ5Jrv5E5nXkCc6dxQAF",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"jqQxC81KzsmLW8AWVEDxZ5",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"dm73L8CEvXMjt8jmGDoHDz",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"wc6yJGXKbguZXGWm3uUiyz",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"5Mbqu9AgKWy9HDTcgGMTCX",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"vmwgb4DfHsDq31536bgoww",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2hsXtqWkNaFi1euvqpPnYN",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"gCnCmzsBCPWaiJfR4rk7n1",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"mF2657hxSjuxtSYkQnHSaP",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"pdqUKVseiHvsXYpZYBkscF",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"qAF8msFvwwguymfMBR3wwa",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"7n56hxe7QepqRevx5NngGN",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"9P9xnvWAP12WSQGPWr2xtb",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ejCEMdNfsxgvQCqAEDzhBb",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ff9EG4MNoewWubqd37E7fM",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"7bnM4YQJTBLfksD89FPHBy",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"t2yUPd5YBp4D1eifVJ5Nzq",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:-6.040055825807073,cy:-66.303127392908,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mfej18wHzwCMqBLG9Vysw1",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"qXxaLHK5jDA7AhqzmRAQ66",selected:!1,dailyYield:54.615333619258955},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rjuAkDcMzUTa9fqXQamSY4",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"j87SthvfTm3rDWWm41tUR5",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"uh2HZmC683cEXyJZGLkwBJ",selected:!1,dailyYield:55.30035742562667},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"81esia6veGyAKewVMXNFHX",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"s14QyCHUodJj48ZcvmrHtn",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"87ZJEPRDaSsfRqqgULdNjb",selected:!1,dailyYield:54.48597969880142},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"eJdVsoPdU4es7XLBMBBB1n",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"fhL62UbzsRCcxH8gsKRMND",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"8iHidnxMDDHGCmryeJeacP",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"8RJziVcJjiF46EfKhhZeBN",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hyYrjR5SLCyDEXyYT3xm9u",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rJnFSCbaHKosPa2KmZE9Bu",selected:!1,dailyYield:54.534313427091654},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"txjJKa7MeCk6ee1keKR2Rt",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"sH5mM8WkA56CcEGporWH7S",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hscqrLUfgPLdvLYLhecu3y",selected:!1,dailyYield:54.534313427091654},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"veWgK95yByHQ4KaXLUaYWX",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"oXFe1NucST916GSaKbGmVx",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"vyDbfHhDVVzLr6jCioEpsj",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"dyGU6GJcmCDKizMLYr19T4",selected:!1,dailyYield:54.501626963214584},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"v2i5cyjr9QNrJ63D31A2tc",selected:!1,dailyYield:54.51866616267849},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hpHcG6Em2ns9Vehj3Lz45w",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"tvqvfScTkqwPcBBULnCSx5",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rzPF17veSWTTiShfLGYVnU",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"7WUADDEEsLzZqJqEVL3xoM",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"aMLXH9cc7xjM8uQE7opRzx",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"2jBk9rtEn52EHUGX1e9utM",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"w9pxWfrZ7fBmNWnpSTPcQo",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"5qn6ZfWHFWZniAFZBD5G63",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"781z6sw1H3T6mBvH3ivKWb",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"gPpckDefdadY3m2KfYR5uB",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"2GF8pwx5gfMGBNrvsV4cmE",selected:!1,dailyYield:54.82709966693454},{type:"Foundation",cx:24.942232172123894,cy:-65.13837972381286,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4r9eq18jPmAo6KNP48KE97",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"v8WDAYVaovBCxpzwf6YKeb",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"pCnVs2rYUiypfZGE44GDhJ",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"5UiMA8kgZaGL6jjafYMSVr",selected:!1,dailyYield:55.36573035338081},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dhsidTNuvFYqFyM52G8UzE",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"g7Z62RhyigqxTzLzSkQGs3",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qK59nEiAwb2wPANvX4dXSK",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"r3JeuhY8zBG7SMPQtUacQZ",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"c4ZyVQcaD3vFS8aULE9spN",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"24MgYUmNGEdTzMEVjyvfWF",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"h2bAX5kxShkvLfLaLDJQnm",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"wSzqjZ1GP4g9CcLekersFg",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"t1LDu4rZgpXXmkj2eWc9T6",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"19vo4GuhGG7PWJqkt5ZWcD",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qMnf48SWj4EjJpDb7yeb5y",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qiNpaX9J1nJiB8PCJHwymU",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"rSdy4au4BWa65hP34cwhoZ",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"hPCibkbgsWPQByvQM8s8hM",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"8t16ViMQHmuRQ58XsMeEsu",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"m1UycnGk9QvgoR2crWwbud",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"jVNiFDPeT2ctjGPL4mv22f",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"cSWfM55n5PeKkoqEpPtaHH",selected:!1,dailyYield:54.72904027530333},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"uJwZ7KjG5UFJTZAN98LQcB",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"fBg69qhp7ssDM4U3Vakj97",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dSLRdtVjTfCKhzP9vT6G4u",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"4a2kYuMS6iygwh4hTzF2xm",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"9N9XBekvGdtNubUKdz9bn6",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"tq9YQmjCLAfqC4otgQvkux",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"gfvtY6D8uZN4TPnY24yVxr",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"bPqXD8n7NUMT1fhPbkkkN5",selected:!1,dailyYield:54.72904027530333},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"jZr1iAB28GDzKvvD8ExZeZ",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dFApM3YHu3Y78M2Xo4kwFU",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"rmGs8zD7XyqBcjkDXAjzGQ",selected:!1,dailyYield:54.61533361925896},{type:"Foundation",cx:60.35056131261639,cy:-65.60427879145091,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kduQAydye3uLbFTr64JfDC",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kv7G6eNq8xQ9gr29A4PgeE",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1gywdTnVmZkqwtFNXrcTHj",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5DvXaqZe44KDk9xuKtfUm8",selected:!1,dailyYield:55.365730353380805},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"ixZhNJFXp4ZR66ypWaNH9v",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"4LbWLkGdGxj7kuRG5UeWgn",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"fCdWydwEmsHE8uPjWYkvre",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"537SCeuwcrKy3Yf9ezzr62",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"8iemrXgtr1quNdAfyKBdCA",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"c3kXvdwXEFnYcE9YGUQyxm",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uP29oRRT6aV7MGQx7YvD6o",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1AcDNXSU7HvWkLg54AmFDz",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"voUCWzXArc2R6oHvJaWZdi",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"oCzzzbWTzWQYAhZxeXvaLR",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uJ1SiuCEyFqZex6ZUex4r6",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1zp4QY7bN2mj5X1sZr69Xj",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"qpi2nj28QCtj6dALbpHWKm",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"595KUQMKKkRujsK9vxKPHq",selected:!1,dailyYield:54.94080632297891},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"oSWo7sjDPAaDfzLRN5A2vW",selected:!1,dailyYield:55.13692510624132},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"4yJVmHfw54xdbao6TurGH1",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5AQCSNeCEvo9GSvshqiwuv",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"iFNGVF4BnRB2CiUTeAUcpc",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uLsXN2FSFMdKv3wb2Xhtda",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"7fwh5kRqQ3ekm4dzKpbxi3",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kQtV2faB3UjVkaBSkjbaPM",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5a3j4AZWQSeQLoFe28cTFR",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"nXQKckZPXqHpq5g6AGp4mk",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"49gRZ5Q4VK9aZWKDCVqk5f",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"a6rEesiKY3XGANAtD57SGu",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"mmg6zETUeomJsq2ezeHSSw",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"6JQVhnyM7L2LNEiJt7duty",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"v8HDepiPpBYKNZPDtGgLgR",selected:!1,dailyYield:54.94219825802965},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kSEgPj4rJC7X5s13VYJGGv",selected:!1,dailyYield:54.99053198631988},{type:"Foundation",cx:91.09989977672836,cy:-65.83722832526995,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jQu4gCDNGHwChoQvBCFcvf",selected:!1}],$vn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!1,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:17,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#999999",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!0,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"hybrid",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[169.9816352402022,-225.19055272845807,79.13890608436596],panCenter:[-50.39035725869241,30.655635102579282,0],orthographic:!1,enableRotate:!0,cameraZoom:4.292775278858744,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[45.20884161437947,-65.0727374045762,19.999927173198625],panCenter2D:[45.20884161437947,-65.07271740368721,-7282678642197909e-20],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:8,showSunAngles:!1,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!0,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:-34,dailyParabolicTroughYieldPanelY:188,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicTroughYieldPanelX:null,yearlyParabolicTroughYieldPanelY:null,showDailyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400}},Qvn=1,Zvn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},exn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},txn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},nxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},oxn=[],ixn={docid:Ovn,time:_vn,timestamp:Vvn,userid:Gvn,owner:Xvn,email:Jvn,world:Kvn,elements:qvn,view:$vn,evolutionMethod:Qvn,solarPanelArrayLayoutParams:Zvn,solarPanelArrayLayoutConstraints:exn,evolutionaryAlgorithmState:txn,economicsParams:nxn,notes:oxn},rxn="cNGvmw7bdpjvKSnH8CxjiH",axn="02/02/2023 02:10 pm",lxn=1675365059016,sxn="QWecNcxhyvP6j6sBN11hBsfZDau1",cxn=null,uxn=null,dxn={name:"default",date:"6/22/2022, 3:30:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},fxn=[{type:"Foundation",cx:-.042674723134280335,cy:-.130761486142406,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,solarStructure:1,locked:!1,solarAbsorberPipe:{absorberHeight:16,apertureWidth:1},labelSize:1},{type:"Fresnel Reflector",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.05,cx:-.02756165965335064,cy:.003002736834484595,cz:0,lx:2,ly:30,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"vb4n6chMKJoqTfuUfT9HH9",selected:!1,dailyYield:74.96105824171634,yearlyYield:2328.274834535053,label:"8",labelHeight:1,labelSize:1},{type:"Human",name:"Jack",cx:-4.020481691228474,cy:-25.616774473884036,cz:0,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Fresnel Reflector",cx:.028169913107493977,cy:.003853312047257671,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"hqQUyB5jvcbC5wykbyrwVq",selected:!1,drawSunBeam:!0,dailyYield:75.30871550026608,yearlyYield:2365.489808480604,label:"9",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.0839014858683386,cy:.004703887260030747,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3QNPRzuCQDcJYCHp3jv7xP",selected:!1,label:"10",dailyYield:74.47712896106862,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.1396330586291832,cy:.0055544624728038235,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"7vdajwavThEwB2PVAxNNhu",selected:!1,drawSunBeam:!0,label:"11",dailyYield:72.69243415263071,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.19536463139002783,cy:.0064050376855769,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"ca329ZjJaCCUxbohPB9JNR",selected:!1,drawSunBeam:!0,label:"12",dailyYield:71.32847705730514,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.2510962041508724,cy:.007255612898349976,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"wH1sLWUJu5DwjfBKCjHRy5",selected:!1,drawSunBeam:!0,label:"13",dailyYield:69.36645769952737,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.30682777691171703,cy:.008106188111123052,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"888jdzXbxdzvyBwsKnBVQU",selected:!1,drawSunBeam:!0,label:"14",dailyYield:68.18367399690828,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.36255934967256165,cy:.008956763323896128,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cLuiFeXqEUWZCxdsSWep75",selected:!1,drawSunBeam:!0,label:"15",dailyYield:66.51612857330484,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"2orgkforac6TmBbX5ogLWg",selected:!1,drawSunBeam:!0,label:"16",dailyYield:66.9454970041269,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.08329323241419526,cy:.0021521616217115187,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"qkYArzf5uqu6DZf4wA39gd",selected:!1,drawSunBeam:!0,label:"7",dailyYield:74.46542587169182,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.13902480517503987,cy:.0013015864089384425,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"gBW2TdctGGDx3xkrVbnnt2",selected:!1,drawSunBeam:!0,label:"6",dailyYield:73.42005146962971,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.1947563779358845,cy:.00045101119616536636,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"t8gE1dpvae7236xzWXFCVz",selected:!1,drawSunBeam:!0,label:"5",dailyYield:71.56039677787652,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.25048795069672913,cy:-.0003995640166077098,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"jfpJVaw3pqTBMP5EqV8WHg",selected:!1,drawSunBeam:!0,label:"4",dailyYield:69.76216278634425,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.30621952345757375,cy:-.001250139229380786,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cwXPC6JNrmx1jM5HPN3Bnj",selected:!1,drawSunBeam:!0,label:"3",dailyYield:68.34763018099684,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.36195109621841837,cy:-.002100714442153862,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"nQed4eP7gteAwQE8ekQJF7",selected:!1,drawSunBeam:!0,label:"2",dailyYield:66.89178735911106,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"gGEdWUHCti1PrRxJ7JDarq",selected:!1,drawSunBeam:!0,label:"1",dailyYield:66.97552153518168,labelHeight:1,labelSize:1}],hxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[-.18166570108404656,-45.01608727927176,13.053612747101962],cameraPosition2D:[0,-20000888987681265e-21,150],panCenter:[.5652994261175363,.42897477312561383,2.1550210855619265],panCenter2D:[0,0,0],cameraZoom:17.679830776572036,axes:!0,solarRadiationHeatMapMaxValue:10,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:245,height:60},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:721,height:335}},pxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},gxn=1,mxn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},yxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Axn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},wxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},vxn=["Linear Fresnel reflectors"],xxn={docid:rxn,time:axn,timestamp:lxn,userid:sxn,owner:cxn,email:uxn,world:dxn,elements:fxn,view:hxn,graphState:pxn,evolutionMethod:gxn,solarPanelArrayLayoutParams:mxn,solarPanelArrayLayoutConstraints:yxn,evolutionaryAlgorithmState:Axn,economicsParams:wxn,notes:vxn},bxn="msDnM7uBZhbQmJD2hxtJqt",Sxn="02/03/2023 04:30 pm",Txn=1675459824362,Pxn="QWecNcxhyvP6j6sBN11hBsfZDau1",Cxn=null,Rxn=null,Hxn={name:"default",date:"6/22/2022, 12:00:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},Mxn=[{type:"Foundation",cx:.9362263534654288,cy:-.12687492649763793,cz:.05,lx:27,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,locked:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Human",name:"Juro",cx:5.337210314381737,cy:22.31208205622077,cz:0,lx:.6,lz:1.9,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Fresnel Reflector",cx:-.35253117677918383,cy:-.011856551439747325,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3QNPRzuCQDcJYCHp3jv7xP",selected:!1,label:"W7",dailyYield:31.890222330203017,drawSunBeam:!0,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.2286832373106403,cy:-.011005976226974253,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"7vdajwavThEwB2PVAxNNhu",selected:!1,drawSunBeam:!0,label:"W6",dailyYield:31.891895315467107,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.10483529784209675,cy:-.010155401014201173,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"ca329ZjJaCCUxbohPB9JNR",selected:!1,drawSunBeam:!0,label:"W5",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.019012641626446784,cy:-.009304825801428097,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"wH1sLWUJu5DwjfBKCjHRy5",selected:!1,drawSunBeam:!0,label:"W4",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.14286058109499036,cy:-.00845425058865502,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"888jdzXbxdzvyBwsKnBVQU",selected:!1,drawSunBeam:!0,label:"W3",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.26670852056353395,cy:-.007603675375881946,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cLuiFeXqEUWZCxdsSWep75",selected:!1,drawSunBeam:!0,label:"W2",dailyYield:31.794492804033993,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.3905564600320776,cy:-.006753100163108869,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"2orgkforac6TmBbX5ogLWg",selected:!1,drawSunBeam:!0,label:"W1",dailyYield:31.9307477575622,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Foundation",cx:14.471950838588711,cy:-.06574070597754514,cz:.25,lx:2.9789007603004762,ly:40,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"1X6Dcn8HZPSPCzJkugC2rm",selected:!1,locked:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Fresnel Reflector",cx:-.35253117677918383,cy:-.011856551439747325,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"9VYUH8fPAbbYtPyjX2bXhM",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:32.07623689276002,labelHeight:1,labelSize:1,label:"E7"},{type:"Fresnel Reflector",cx:-.2286832373106403,cy:-.011005976226974253,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"oZQVT7upKS5gxcv41KySPP",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:32.022177742145026,label:"E6",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.10483529784209675,cy:-.010155401014201173,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"fscHgrZH2yNiKzCaZR3ZeJ",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827123715972846,label:"E5",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.019012641626446784,cy:-.009304825801428097,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"jnn6CBMvkkU1925yAPrHAB",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827443563442092,label:"E4",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.14286058109499036,cy:-.00845425058865502,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"hJhtsSd1FMChUsTYyy5v9N",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827443563442092,labelHeight:1,labelSize:1,label:"E3"},{type:"Fresnel Reflector",cx:.26670852056353395,cy:-.007603675375881946,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"6CbyGsZ43oQRJAfjen8bXu",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.946909343510214,label:"E2",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.3905564600320776,cy:-.006753100163108869,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"rKXjH4ndrtiJLk3pNba97R",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.888037304879255,label:"E1",labelHeight:1,labelSize:1},{type:"Foundation",cx:-.5305173175473676,cy:-.07406922653934842,cz:.05,lx:27,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"uPxivXJTh4z2zMrqhzNvo3",selected:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Foundation",cx:-13.207999911998343,cy:-.09629786579027738,cz:.25,lx:2.9789007603004762,ly:40,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"qFoXmrcbqf43nhfNvsKiMV",selected:!1,solarAbsorberPipe:{absorberHeight:10}}],Ixn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[-3.9192694742317027,38.575338391462196,5.805467125820184],cameraPosition2D:[.0944682441377376,-20000888987681265e-21,150],panCenter:[-5.512894960875013,.5401536354068696,3.9025189352350482],panCenter2D:[.0944682441377376,0,0],cameraZoom:14.400332666460274,axes:!0,solarRadiationHeatMapMaxValue:10,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:379,height:67},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:701,height:335}},zxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},Dxn=1,Exn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},kxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Fxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Lxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Wxn=["Linear Fresnel reflectors with two absorbers"],Nxn={docid:bxn,time:Sxn,timestamp:Txn,userid:Pxn,owner:Cxn,email:Rxn,world:Hxn,elements:Mxn,view:Ixn,graphState:zxn,evolutionMethod:Dxn,solarPanelArrayLayoutParams:Exn,solarPanelArrayLayoutConstraints:kxn,evolutionaryAlgorithmState:Fxn,economicsParams:Lxn,notes:Wxn},Uxn="91fFrr9emvLvmNx1sW7PMh",Bxn="02/03/2023 04:20 pm",jxn=1675459240163,Yxn="QWecNcxhyvP6j6sBN11hBsfZDau1",Oxn=null,_xn=null,Vxn={name:"default",date:"9/22/2022, 10:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.4},Gxn=[{type:"Human",name:"Jack",cx:-33.39710614584251,cy:-.9610066908384169,cz:0,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Foundation",cx:0,cy:-25.811344633762367,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"dzfAzy3H4GMkDSbVLaRN5i",selected:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"rBPLpQDftUWGq1uWVpV2JQ",selected:!1,dailyYield:46.64633299683992,drawSunBeam:!0,label:"Lo2",yearlyYield:547.7275410650782,labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"1FVTFf1Rdrpbt8TCGDL47X",selected:!1,dailyYield:46.68721550672282,label:"Lo1",drawSunBeam:!0,yearlyYield:547.8648836504849,labelHeight:4,labelSize:2},{type:"Foundation",cx:.20390682574577923,cy:26.830878562482944,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"5Xds31NJFC5WSWmddVnFan",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"t7wce5cujudUUycMCvBAKg",selected:!1,dailyYield:52.29842954176333,drawSunBeam:!0,label:"Hi2",labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"pU7aF7BDdSD7JUWEzZrwg7",selected:!1,dailyYield:52.33859564683257,drawSunBeam:!0,label:"Hi1",labelHeight:4,labelSize:2}],Xxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[53.11784569640703,-95.69780414866537,24.112920613071175],cameraPosition2D:[0,-20000888987681265e-21,19.999999999987022],panCenter:[.3487591244720869,-.08601128946324002,0],panCenter2D:[0,0,0],cameraZoom:4.904200711979575,axes:!0,solarRadiationHeatMapMaxValue:6.5,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:404,height:64},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400}},Jxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0},Kxn=1,qxn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},$xn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Qxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Zxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ebn=["Effect of height of absorber pipe for Fresnel reflectors"],tbn={docid:Uxn,time:Bxn,timestamp:jxn,userid:Yxn,owner:Oxn,email:_xn,world:Vxn,elements:Gxn,view:Xxn,graphState:Jxn,evolutionMethod:Kxn,solarPanelArrayLayoutParams:qxn,solarPanelArrayLayoutConstraints:$xn,evolutionaryAlgorithmState:Qxn,economicsParams:Zxn,notes:ebn},nbn="vKXC3Vu98tLTj5EYPySBoM",obn="02/03/2023 04:23 pm",ibn=1675459380199,rbn="QWecNcxhyvP6j6sBN11hBsfZDau1",abn=null,lbn=null,sbn={name:"default",date:"9/22/2022, 11:00:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.4},cbn=[{type:"Human",name:"June",cx:-33.350601086935164,cy:22.419888505407727,cz:17763568394002505e-31,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Foundation",cx:0,cy:-25.811344633762367,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"dzfAzy3H4GMkDSbVLaRN5i",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"rBPLpQDftUWGq1uWVpV2JQ",selected:!1,dailyYield:52.29842954176333,drawSunBeam:!0,label:"NS-E",yearlyYield:547.7275410650782,labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"1FVTFf1Rdrpbt8TCGDL47X",selected:!1,dailyYield:52.33859564683257,label:"NS-W",drawSunBeam:!0,yearlyYield:547.8648836504849,labelHeight:4,labelSize:2},{type:"Foundation",cx:.20390682574577923,cy:26.830878562482944,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"5Xds31NJFC5WSWmddVnFan",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"t7wce5cujudUUycMCvBAKg",selected:!1,dailyYield:51.241946460146316,drawSunBeam:!0,label:"EW-N",labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"pU7aF7BDdSD7JUWEzZrwg7",selected:!1,dailyYield:36.12397534329661,drawSunBeam:!0,label:"EW-S",labelHeight:4,labelSize:2}],ubn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[33.85725619257774,-80.53017579058466,26.560297986535087],cameraPosition2D:[0,-20000888987681265e-21,19.999999999987022],panCenter:[.3777068394391828,-.13846137164171785,0],panCenter2D:[0,0,0],cameraZoom:4.904200711979575,axes:!0,solarRadiationHeatMapMaxValue:6.5,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-5,dailyFresnelReflectorYieldPanelY:2,stickyNotePanelRect:{x:0,y:0,width:362,height:61},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400}},dbn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},fbn=1,hbn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},pbn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},gbn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},mbn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ybn=["Effect of azimuths of Fresnel reflectors"],Abn={docid:nbn,time:obn,timestamp:ibn,userid:rbn,owner:abn,email:lbn,world:sbn,elements:cbn,view:ubn,graphState:dbn,evolutionMethod:fbn,solarPanelArrayLayoutParams:hbn,solarPanelArrayLayoutConstraints:pbn,evolutionaryAlgorithmState:gbn,economicsParams:mbn,notes:ybn},wbn="5syPiYyaezKe2cX7XoDs2h",vbn="05/07/2023 07:59 pm",xbn=1683503972972,bbn="QWecNcxhyvP6j6sBN11hBsfZDau1",Sbn=null,Tbn=null,Pbn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},Cbn=[{cy:-.041483328317633114,normal:[0,0,1],lz:.1,ly:56,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.10913665374106213,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!0,solarPowerTower:{towerHeight:20}},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.0004895609926147317,cy:-.20737855784061227,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,label:"S1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:25.54362655315038,yearlyYield:311.4614380820491,labelHeight:2,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:-.000773921356256882,cy:.4327509634160523,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,label:"N2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:28.83063075372236,yearlyYield:341.6536704139208,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0027886687628078007,cy:-.41384481120536054,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,label:"S2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:23.21442400772718,yearlyYield:285.77957159626914,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.003581112158779376,cy:.2256213567639617,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,label:"N1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:29.15082293688426,yearlyYield:347.0340046876023,labelHeight:2,labelSize:2}],Rbn=35,Hbn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-59.813021886337346,-1.4084528562656211,7.556432837410264],panCenter:[-1.9086832692892528,-2.9483395065245706,7.55643283741026],orthographic:!1,enableRotate:!0,cameraZoom:7.169718448170838,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725703],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:8.5,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:2,y:4,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:315,height:67},solarRadiationHeatMapReflectionOnly:!1},Mbn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},Ibn=1,zbn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Dbn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Ebn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kbn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Fbn="Unknown",Lbn=null,Wbn=null,Nbn=null,Ubn=["Cosine efficiency of heliostats"],Bbn={docid:wbn,time:vbn,timestamp:xbn,userid:bbn,owner:Sbn,email:Tbn,world:Pbn,elements:Cbn,sceneRadius:Rbn,view:Hbn,graphState:Mbn,evolutionMethod:Ibn,solarPanelArrayLayoutParams:zbn,solarPanelArrayLayoutConstraints:Dbn,evolutionaryAlgorithmState:Ebn,economicsParams:kbn,modelType:Fbn,modelAuthor:Lbn,modelLabel:Wbn,modelDescription:Nbn,notes:Ubn},jbn="gHMiemdnJcFMUxpQfVjjPt",Ybn="05/08/2023 09:52 am",Obn=1683553944140,_bn="QWecNcxhyvP6j6sBN11hBsfZDau1",Vbn=null,Gbn=null,Xbn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},Jbn=[{cy:-.1414833283176331,normal:[0,0,1],lz:.1,ly:100,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.06913665374106212,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!1,solarPowerTower:{towerHeight:20}},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.1,cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:28.86248835017146,yearlyYield:311.4614380820491,label:"F",labelHeight:2,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.1,cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:22.075493423258955,yearlyYield:341.6536704139208,label:"D",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:17.32894620185682,yearlyYield:285.77957159626914,label:"C",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:21.79675399494804,yearlyYield:347.0340046876023,label:"E",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"orwNVrz2FK5fQamnSTQ7NK",selected:!1,drawSunBeam:!0,label:"B",dailyYield:14.05825681568513,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7KyZAKPiHLomhbx7U5u64Y",selected:!1,drawSunBeam:!0,label:"A",dailyYield:11.010081200524054,labelSize:2,labelHeight:2}],Kbn=63,qbn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-56.03492924888614,-3.1393903550330142,35.62950235618159],panCenter:[-1.9088390832554354,-2.9523520368213196,7.55643283741026],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,150],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:9,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:6,y:-5,width:531,height:342},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:397,height:62},solarRadiationHeatMapReflectionOnly:!0},$bn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},Qbn=1,Zbn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},eSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},tSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},nSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},oSn="Unknown",iSn=null,rSn=null,aSn=null,lSn=["Shadowing and blocking among heliostats"],sSn={docid:jbn,time:Ybn,timestamp:Obn,userid:_bn,owner:Vbn,email:Gbn,world:Xbn,elements:Jbn,sceneRadius:Kbn,view:qbn,graphState:$bn,evolutionMethod:Qbn,solarPanelArrayLayoutParams:Zbn,solarPanelArrayLayoutConstraints:eSn,evolutionaryAlgorithmState:tSn,economicsParams:nSn,modelType:oSn,modelAuthor:iSn,modelLabel:rSn,modelDescription:aSn,notes:lSn},cSn="gtHUqK811PpHW2AhT3pgKh",uSn="05/07/2023 08:01 pm",dSn=1683504079394,fSn="QWecNcxhyvP6j6sBN11hBsfZDau1",hSn=null,pSn=null,gSn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},mSn=[{cy:.09432031355470513,normal:[0,0,1],lz:.1,ly:100,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-23.979659433364148,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!1,solarPowerTower:{towerHeight:10}},{type:"Human",name:"Jade",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.6},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:29.12957022220564,yearlyYield:311.4614380820491,label:"L6",labelHeight:4,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:12.632105204416524,yearlyYield:341.6536704139208,label:"L4",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:8.640669150547245,yearlyYield:285.77957159626914,label:"L3",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:15.667514658355707,yearlyYield:347.0340046876023,label:"L5",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"orwNVrz2FK5fQamnSTQ7NK",selected:!1,drawSunBeam:!0,label:"L2",dailyYield:4.958857907473794,labelHeight:4,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7KyZAKPiHLomhbx7U5u64Y",selected:!1,drawSunBeam:!0,label:"L1",dailyYield:2.355020886123749,labelHeight:4,labelSize:2},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,lx:.6,ly:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"e6VoeQYymGEdypZkwyg1QM",selected:!1},{type:"Heliostat",cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"j3sWeAPDp1y53hV9TKpY1X",selected:!1,drawSunBeam:!0,dailyYield:28.834554606358278,label:"H6",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"txZLYrcQ93XFhrpdAsV7Mp",selected:!1,drawSunBeam:!0,dailyYield:22.049770857324166,label:"H4",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"9uaB6ZaFJqdfwW82X3mBGL",selected:!1,drawSunBeam:!0,dailyYield:17.30899182389923,label:"H3",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"wQcg7xgoQBPNeT1VLa2pPS",selected:!1,drawSunBeam:!0,dailyYield:21.74570231867697,label:"H5",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"xcPfzQdhBUHxAytCA4wYay",selected:!1,drawSunBeam:!0,dailyYield:14.042308959831052,label:"H2",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"5otXu1RaMdbKFrMqe75zLT",selected:!1,drawSunBeam:!0,dailyYield:10.99900401218998,label:"H1",labelHeight:4,labelSize:2},{type:"Foundation",cx:23.933804465569864,cy:-.09788249795398585,cz:.05,lx:48,ly:100,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarStructure:2,id:"kyxcYJvhUNP9YHtYNAZTvQ",selected:!1,solarPowerTower:{towerHeight:20}}],ySn=63,ASn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-65.26004925031205,-40.981584348790705,10.926967172602236],panCenter:[-8.555794568197623,-11.649776058982166,4.3178318413222065],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725564],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:6,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:252,height:65},solarRadiationHeatMapReflectionOnly:!0},wSn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},vSn=1,xSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},bSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},SSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},TSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},PSn="Unknown",CSn=null,RSn=null,HSn=null,MSn=["Effect of tower height"],ISn={docid:cSn,time:uSn,timestamp:dSn,userid:fSn,owner:hSn,email:pSn,world:gSn,elements:mSn,sceneRadius:ySn,view:ASn,graphState:wSn,evolutionMethod:vSn,solarPanelArrayLayoutParams:xSn,solarPanelArrayLayoutConstraints:bSn,evolutionaryAlgorithmState:SSn,economicsParams:TSn,modelType:PSn,modelAuthor:CSn,modelLabel:RSn,modelDescription:HSn,notes:MSn},zSn="nAyY3ZutnSxurzmrfiodKh",DSn="02/02/2023 02:25 pm",ESn=1675365924087,kSn="QWecNcxhyvP6j6sBN11hBsfZDau1",FSn=null,LSn=null,WSn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"6/22/2022, 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},NSn=[{cy:34.18220646310374,normal:[0,0,1],lz:.5,ly:87.56100860949408,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.8683182685289808,cz:.25,rotation:[0,0,0],lx:168.62126759233155,selected:!1,parentId:"Ground",locked:!0,solarPowerTower:{towerHeight:40}},{type:"Human",name:"Jamelia",cx:-3.2033162315728436,cy:-1.3034178512198427,cz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"eskWrngRsrfsVxitmEFwUG",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.65,ly:.42,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:.34571115088529475,cy:-.2182979146294524,cz:0,lx:6,ly:8,lz:.1,showLabel:!1,label:"4",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:54.973155818694394,yearlyYield:311.4614380820491,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:.1244528472135859,cy:-.060705471204835396,cz:0,lx:6,ly:8,lz:.1,showLabel:!1,label:"3",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:54.692955030942635,yearlyYield:341.6536704139208,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:-.30243530092478804,cy:-.29658463647807665,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!1,dailyYield:55.22294044579748,yearlyYield:285.77957159626914,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:-.00477734244411093,cy:-.22770720532833247,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!1,dailyYield:55.6028165469799,yearlyYield:347.0340046876023,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:.2323986704109312,cy:-.30954026005156543,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTbu5NQZzH6fiJzt2zLCpV",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.246534571972845},{type:"Heliostat",cx:.17980321076544034,cy:-.22890280592338727,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ugqyZH3Bjuab2xu6Qr2AeU",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.9189143477242},{type:"Heliostat",cx:-.07007093092536987,cy:-.1429741712580097,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7rmzdYXVhRoVennqPqJYd",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.28401806609266},{type:"Heliostat",cx:-.12643026558915396,cy:-.19914857752993684,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jSyunViQPLX4rv6KUBXXTZ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.779971752065364},{type:"Heliostat",cx:-.18298718147417048,cy:-.27344375998511217,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q1mgBumMQuofVfZ58dfPgn",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.56772790131693},{type:"Heliostat",cx:.28321098315789156,cy:-.26509916393356936,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1BaYAuYZtqhDEGCFRqXDcs",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.94218222804658},{type:"Heliostat",cx:.06201663035944478,cy:-.01790276609260683,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4sC4oY8P4gCm2XiADRkgDQ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.12412968997117},{type:"Heliostat",cx:-.005144086859809518,cy:-.11674424075888257,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k2hvdFozuZeFRMXA2gCxru",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.06448667864852},{type:"Heliostat",cx:-.07326553095576034,cy:-.027001203548432953,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5gLYoZoHmvvc2dfNpBoMHu",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.30383700152939},{type:"Heliostat",cx:-.13103631875140445,cy:-.07211289731219922,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoUTmK9iTzsVRu26aQmb6S",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.69974218752444},{type:"Heliostat",cx:-.1817498408877485,cy:-.14097184690480072,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aaDc1Nt2XKdpoCZWcocB2i",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.61502536288546},{type:"Heliostat",cx:.18334603588670687,cy:-.11254934524412023,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLKFf4eYJctoWDbAWu1oSp",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.28829012678498},{type:"Heliostat",cx:.22982519862747094,cy:-.18140829483672175,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"svsNMecQbfU155PmYUZ3Lt",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.28883413506117},{type:"Heliostat",cx:-.11063137798263967,cy:.05978827549506581,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5WMpX8TYy1KfLhVCYdMj1p",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.62627922938169},{type:"Heliostat",cx:-.17545943143758383,cy:-.015603192528220722,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rLs3CXHWy1yv3CpNwWpHSg",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.26549812503945},{type:"Heliostat",cx:-.24132724425771757,cy:-.08265006449996429,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYKv2L4bbvL99cSYqy9g78",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.848591160974706},{type:"Heliostat",cx:.03729458715293578,cy:.08164735499997032,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6h32hqP5LZJr3g6KkvENFf",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.08288958631672},{type:"Heliostat",cx:.11635572065921955,cy:.046540137502459215,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hJpPNqZeYCYBc9ZnrtL8rd",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.96978366441096},{type:"Heliostat",cx:.18181232346843626,cy:-.01341062139199849,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oKHW4guazpWYWFUbcAtx78",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.07324281354023},{type:"Heliostat",cx:.23064844077878674,cy:-.07172825838065355,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jGpvLznPcPbkxgRNT7LmEG",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.5263467357541},{type:"Heliostat",cx:.2818686549678243,cy:-.14348403247835934,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7v652Vk2Y4W8Ugs74iPYyx",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.3806127412903},{type:"Heliostat",cx:-.3082401794844816,cy:-.16518710728023572,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wmMQERU6EmYPAHq1HGq5G1",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.09853407023647},{type:"Heliostat",cx:-.24347189333908248,cy:-.21316221673228722,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qmEBaJnQ1mYuWRgutUUj45",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.81901883725212},{type:"Heliostat",cx:-.00513145231321694,cy:.17906460190084825,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hgFFjf5NE1fWwscAHtJz9W",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.9869366347695},{type:"Heliostat",cx:-.09086411123830242,cy:.16501351230124764,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5E44DCctaDCtPRiHgiN8Co",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.67185579391978},{type:"Heliostat",cx:-.17172399438050032,cy:.1304794438850842,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3FAf2Pb5iRxcMgjsAapYN",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.424415155619826},{type:"Heliostat",cx:-.24560426470951535,cy:.057288487088492074,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phQzzL3Mgfme6Exr5WqXA9",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.464335531506855},{type:"Heliostat",cx:-.3116400576517767,cy:-.015193358806695577,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gSGxJne57KgDvvhX1w8m4S",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.33972665483218},{type:"Heliostat",cx:.08972170224219679,cy:.15564611828308753,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nvkfziKtbczLEbZ9noiReH",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.803611978337365},{type:"Heliostat",cx:.171198129873129,cy:.11877020207620374,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e7BrgrYuxziAFGXqE8Paiu",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.234951957822524},{type:"Heliostat",cx:.23017733494925166,cy:.06724953811712991,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6E7Q93GeP3kP1LK9YLZv9E",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.62121496362152},{type:"Heliostat",cx:.2879404739413306,cy:-8679777502193404e-20,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSCCumTcS91dqnMuiik1qm",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.104806039406704},{type:"Heliostat",cx:-.04193210541538864,cy:.08393432126519293,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pmLUXug8LEht87AKuCxfbz",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.86211984880036},{type:"Heliostat",cx:-.37846374011465295,cy:-.11835014001933214,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o54KAWAv76mbgsJ1MBkyC5",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.835251993794415},{type:"Heliostat",cx:.34465672899242206,cy:-.0914088308517547,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f7h8FDUa15ALkGHaRaG5Hv",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.60557336298944},{type:"Heliostat",cx:-.3756811771658677,cy:-.2797037551261536,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2waE2goJnuKsD2ZPsCBxqm",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.239096027800045},{type:"Heliostat",cx:-.0055636104805840934,cy:.0022188088978148607,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5ovRP3PCZ5upU3ukAjjLY",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.57798820659272},{type:"Heliostat",cx:-.431634308052032,cy:-.21576415823811107,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jLzYFijeuhoktLs4FcLsmr",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.655113036860335},{type:"Heliostat",cx:.3946630399862396,cy:-.19563113598332482,cz:.5000000074506517,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b3S1EEPjMRL48HLhjJkhr2",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.25718216433262},{type:"Heliostat",cx:.12498761867946595,cy:-.17981546405024668,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aqxtvZXmbpAutc5KFCX7w3",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.07130415709169},{type:"Heliostat",cx:.07239701626792935,cy:-.14059769948158687,cz:.5000000074506517,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qn5fUEqKYEJLMaMGhD5V2c",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.18946575400989},{type:"Heliostat",cx:-.24287237174377305,cy:-.3185781749765691,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4t86vx9fAWouPiFQswUJGQ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.72330556669799},{type:"Heliostat",cx:.18153469158750113,cy:-.3291164926045614,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rufeUy74dsTyxkeFYKX4qa",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.045757801118675},{type:"Heliostat",cx:.12559565172148782,cy:-.27759582864548765,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6GXoab5MEeebRm4uGu1EG9",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.60344034574142},{type:"Heliostat",cx:.062360215351212084,cy:-.2448099515806225,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5TEya7XNeGuhPop6Pj6Es",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.12631354865891},{type:"Heliostat",cx:-.072015086935624,cy:-.24832272412328657,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eDoKDbTtFpnA5S8UAeT5JD",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.944324146238436},{type:"Heliostat",cx:-.12856215984365912,cy:-.30569800901213173,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bybZmMq5HCRUCdJHjru2JV",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.723474182002164},{type:"Foundation",cx:.18915570284600136,cy:-14.72071217951015,cz:2,lx:10,ly:10,lz:4,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"eskWrngRsrfsVxitmEFwUG",solarStructure:2,locked:!0,solarPowerTower:{towerHeight:40}},{type:"Human",name:"Jett",cx:-77.63892197350822,cy:-41.607852899711375,cz:.2499999999999991,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ipe6xTyA51gao39GpL4FGX",selected:!1,ly:.6}],USn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Desert",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#b3b3b3",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-114.20211728357525,-13.511893921234794,7.261369217489994],panCenter:[-1.8505902264752938,-3.0386998652965884,7.261369217489986],orthographic:!1,enableRotate:!0,cameraZoom:4.292775278858745,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[30.004072506948148,24.229268474745034,50.000024229971295],panCenter2D:[30.004072506948148,24.2293184769675,2423000647812703e-20],solarRadiationHeatMapMaxValue:10,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:364,height:67}},BSn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1},jSn=1,YSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},OSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},_Sn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},VSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},GSn=["Solar power tower surrounded by heliostats"],XSn={docid:zSn,time:DSn,timestamp:ESn,userid:kSn,owner:FSn,email:LSn,world:WSn,elements:NSn,view:USn,graphState:BSn,evolutionMethod:jSn,solarPanelArrayLayoutParams:YSn,solarPanelArrayLayoutConstraints:OSn,evolutionaryAlgorithmState:_Sn,economicsParams:VSn,notes:GSn},JSn="cyN6tPCHQrmsUsTWTWV7Bq",KSn="02/01/2023 08:28 pm",qSn=1675301282345,$Sn="QWecNcxhyvP6j6sBN11hBsfZDau1",QSn=null,ZSn=null,eTn={date:"6/22/2022, 12:00:00 PM",timesPerHour:6,address:"Tucson, AZ, USA",latitude:32.2226066,longitude:-110.9747108,name:"default",orthographic:!1,cameraZoom:35,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!0},tTn=[{selected:!1,cz:0,cx:-2.454909082526056,type:"Human",id:"3NsNQgPftGsbYSoSRa2zV4",normal:[0,1,0],cy:-1.9037352844719955,name:"Jaye",rotation:[0,0,0],parentId:"Ground",lx:.6,ly:.6,lz:1.65},{cx:.20566332108722207,color:"gray",cz:1.3564241923192988,type:"Cuboid",lz:2.7128483846385976,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.646712311386908,cy:.10935014088128625,rotation:[0,0,0],lx:2.2290047878920136,id:"2QtCNEmEF6Mcs3vbbR96ZT",selected:!1,parentId:"Ground"},{ly:.1,selected:!1,type:"Sensor",showLabel:!1,normal:[0,0,1],lz:.01,rotation:[0,0,0],lx:.1,cz:.5000000000000002,cx:-.007027589631907428,cy:.03130304552555022,id:"iqgmPt2Nm3r4bW8A7g6DJy",label:"Predicted (Hor.)",parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{lz:.01,showLabel:!1,rotation:[0,0,0],cy:-.4999999988722324,selected:!1,id:"1GCXGRbm6nuTH23uA8Yngz",cx:.021624712729279145,normal:[0,-1,0],cz:.03360969587566309,ly:.1,type:"Sensor",label:"Predicted (Ver.)",lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"}],nTn={showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!0,autoRotate:!1,showGroundPanel:!1,yearlyLightSensorPanelY:4,stickyNotePanelX:6,mapType:"roadmap",weatherPanelY:0,shadowEnabled:!0,theme:"Default",stickyNotePanelY:0,mapWeatherStations:!1,groundColor:"#16cda5",heliodon:!1,dailyLightSensorPanelX:-19,axes:!0,showWeatherPanel:!1,dailyLightSensorPanelY:15,mapTilt:0,heliodonPanelX:-1235,groundPanelY:0,heliodonPanelY:7,groundImage:!1,mapZoom:16,showStickyNotePanel:!0,groundPanelX:0,weatherPanelX:0,yearlyLightSensorPanelX:-8,showHeliodonPanel:!1,cameraPosition:[8.133880295141486,-8.174433278152733,4.6847078485248606],panCenter:[4.464757127641991,2.597260416450505,.5357741885065452],orthographic:!1,enableRotate:!0,cameraZoom:28.63945562104857,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997991],panCenter2D:[0,0,0],showMapPanel:!1,yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},stickyNotePanelRect:{x:-5,y:5,width:339,height:74}},oTn=1,iTn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},rTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},aTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},lTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},sTn=["Solar radiation: Prediction vs. Measurement"],cTn={docid:JSn,time:KSn,timestamp:qSn,userid:$Sn,owner:QSn,email:ZSn,world:eTn,elements:tTn,view:nTn,evolutionMethod:oTn,solarPanelArrayLayoutParams:iTn,solarPanelArrayLayoutConstraints:rTn,evolutionaryAlgorithmState:aTn,economicsParams:lTn,notes:sTn},uTn="gbXM1tEmZzS8k1fXMr7e4c",dTn="02/04/2023 12:04 pm",fTn=1675530248432,hTn="QWecNcxhyvP6j6sBN11hBsfZDau1",pTn=null,gTn=null,mTn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},yTn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Window",cx:-.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.21,uValue:1.98,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"5cYjXS4vMUpWUASfp6LsaY"},{type:"Window",cx:.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edHVWga9uF8kxRK4efRqds",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],ATn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-5.192350773225651,-4.0711716850268145,-4027338022569633e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-5.192350773225651,-4.071321691694211,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[7.8185785102529906,-10.621731483534056,2.062041901327996],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.441463616067075,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.8531721737261184,2.5703581157054773,.7819560454316943],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-277,y:233,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-2,y:5,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-2,y:0,width:225,height:60}},wTn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},vTn=1,xTn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},bTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},STn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},TTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},PTn=["BESTEST Case 600"],CTn={docid:uTn,time:dTn,timestamp:fTn,userid:hTn,owner:pTn,email:gTn,world:mTn,elements:yTn,view:ATn,graphState:wTn,evolutionMethod:vTn,solarPanelArrayLayoutParams:xTn,solarPanelArrayLayoutConstraints:bTn,evolutionaryAlgorithmState:STn,economicsParams:TTn,notes:PTn},RTn="rSjWfLHkJUuBXYDJVZ7K7Z",HTn="02/03/2023 07:07 pm",MTn=1675469237287,ITn="QWecNcxhyvP6j6sBN11hBsfZDau1",zTn=null,DTn=null,ETn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},kTn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:8,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Window",cx:-.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.21,uValue:1.98,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"5cYjXS4vMUpWUASfp6LsaY"},{type:"Window",cx:.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edHVWga9uF8kxRK4efRqds",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],FTn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[12.940867975227082,3.763083016970702,3785257595501958e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[12.940867975227082,3.7629330102992693,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[10.826418732519464,-13.023829528886234,2.75514975469418],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:713,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:41.010920913500534,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1192,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[3.447654823068404,9.854417213021707,.03152947137006695],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-168,y:465,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-32,y:11,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-4,y:0,width:200,height:60}},LTn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},WTn=1,NTn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},UTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},BTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},jTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},YTn=["BESTEST Case 610"],OTn={docid:RTn,time:HTn,timestamp:MTn,userid:ITn,owner:zTn,email:DTn,world:ETn,elements:kTn,view:FTn,graphState:LTn,evolutionMethod:WTn,solarPanelArrayLayoutParams:NTn,solarPanelArrayLayoutConstraints:UTn,evolutionaryAlgorithmState:BTn,economicsParams:jTn,notes:YTn},_Tn="hCJ4qTBLMgzCCrmVBvT6Er",VTn="02/04/2023 12:05 pm",GTn=1675530329920,XTn="QWecNcxhyvP6j6sBN11hBsfZDau1",JTn=null,KTn=null,qTn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},$Tn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kUbRYwVoGDc7GFwgriV2eg",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2bnQyuWKAaZeiivebKX7uN",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1}],QTn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-5.192350773225651,-4.0711716850268145,-4027338022569633e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-5.192350773225651,-4.071321691694211,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[11.427289283038643,-11.277019680971108,2.795880222169619],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.441463616067075,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.8699123691558452,2.578944652142625,.7819560454316943],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-277,y:233,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-2,y:5,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-5,y:-2,width:200,height:60}},ZTn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ePn=1,tPn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},nPn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},oPn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},iPn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},rPn=["BESTEST Case 620"],aPn={docid:_Tn,time:VTn,timestamp:GTn,userid:XTn,owner:JTn,email:KTn,world:qTn,elements:$Tn,view:QTn,graphState:ZTn,evolutionMethod:ePn,solarPanelArrayLayoutParams:tPn,solarPanelArrayLayoutConstraints:nPn,evolutionaryAlgorithmState:oPn,economicsParams:iPn,notes:rPn},lPn="67HXdfbAHrwMfJ2uYxYEr9",sPn="02/04/2023 12:05 pm",cPn=1675530342623,uPn="QWecNcxhyvP6j6sBN11hBsfZDau1",dPn=null,fPn=null,hPn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},pPn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.05384985471511783,cy:1.4780044124957141,cz:2.2408122612280286,lx:1,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:[],rightJoints:["kFtcq9qJ814nEePHMgSpYL"],leftPoint:[.44615014528488217,1.4780044124957141,.1],rightPoint:[-.5538498547151178,1.4780044124957141,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pEW367Y1exs7be2pbQHztg",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Foundation",cx:4.561959864141299,cy:.16041396503555294,cz:.05,lx:2.922675695011217,ly:3.0478862418425114,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,showLabel:!1,id:"pVKekTH3vBaJDuKFqWJNR3",selected:!1,rValue:5.283308619189682},{type:"Wall",cx:-.05384985471511783,cy:-1.5219955875042859,cz:2.2408122612280286,lx:1.004987562112089,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["kFtcq9qJ814nEePHMgSpYL"],rightJoints:[],leftPoint:[-.5538498547151178,-1.5219955875042859,.1],rightPoint:[.44615014528488217,-1.5219955875042859,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vX5VrXQkMJaYbWcrM1Z6Lz",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.5538498547151178,cy:-.021995587504285874,cz:0,lx:2.9999999999999996,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Empty",leftJoints:["pEW367Y1exs7be2pbQHztg"],rightJoints:["vX5VrXQkMJaYbWcrM1Z6Lz"],leftPoint:[-.5538498547151178,1.4780044124957137,.1],rightPoint:[-.5538498547151178,-1.5219955875042859,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kFtcq9qJ814nEePHMgSpYL",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["vX5VrXQkMJaYbWcrM1Z6Lz","kFtcq9qJ814nEePHMgSpYL","pEW367Y1exs7be2pbQHztg"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",id:"sEJTDSykek3p5kyccPdUdD",ceiling:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jr5eRruUgVNaMyJ4BgMJfz",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"85V2NYuPDyi8cjwzsRQJ5n",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Wall",cx:-.05384985471511783,cy:1.4780044124957141,cz:2.2408122612280286,lx:1,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:[],rightJoints:["4vW6e4BZW3jyozPbqjnt5D"],leftPoint:[.44615014528488217,1.4780044124957141,.1],rightPoint:[-.5538498547151178,1.4780044124957141,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wAZYpbu3zMiGQjV2LpAcDG",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.05384985471511783,cy:-1.5219955875042859,cz:2.2408122612280286,lx:1.004987562112089,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["4vW6e4BZW3jyozPbqjnt5D"],rightJoints:[],leftPoint:[-.5538498547151178,-1.5219955875042859,.1],rightPoint:[.44615014528488217,-1.5219955875042859,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"7vsveQVeKqeZenZ1pDApJC",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.5538498547151178,cy:-.021995587504285874,cz:0,lx:2.9999999999999996,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Empty",leftJoints:["wAZYpbu3zMiGQjV2LpAcDG"],rightJoints:["7vsveQVeKqeZenZ1pDApJC"],leftPoint:[-.5538498547151178,1.4780044124957137,.1],rightPoint:[-.5538498547151178,-1.5219955875042859,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"4vW6e4BZW3jyozPbqjnt5D",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{id:"pKTG8B6HTAm7A7dtN3ZbsU",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,color:"#4d4d4d",rValue:4,sideColor:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["7vsveQVeKqeZenZ1pDApJC","4vW6e4BZW3jyozPbqjnt5D","wAZYpbu3zMiGQjV2LpAcDG"],selected:!1,ceiling:!1},{type:"Foundation",cx:-4.58324969491131,cy:.09837545208621207,cz:.05,lx:2.922675695011217,ly:3.0478862418425114,lz:.1,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,showLabel:!1,id:"93LBsy6WnVM9PgJ49pUP7g",selected:!1,rValue:5.283308619189682},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],gPn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-1.0768229629118022,2.7613875173197986,27683726328203026e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-1.0768229629118022,2.7612375106561817,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[14.12898513990324,-7.74877596104179,2.534986637546045],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:75.89554049207445,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[4.485245288976777,3.6907945473464463,2.058363039574734],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-1262,y:232,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-32,y:11,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-3,y:-3,width:200,height:60}},mPn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},yPn=1,APn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},wPn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},vPn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},xPn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},bPn=["BESTEST Case 630"],SPn={docid:lPn,time:sPn,timestamp:cPn,userid:uPn,owner:dPn,email:fPn,world:hPn,elements:pPn,view:gPn,graphState:mPn,evolutionMethod:yPn,solarPanelArrayLayoutParams:APn,solarPanelArrayLayoutConstraints:wPn,evolutionaryAlgorithmState:vPn,economicsParams:xPn,notes:bPn},TPn="1mt3H85vSeLycnvzEbiGLF",PPn=1647905546466,CPn="QWecNcxhyvP6j6sBN11hBsfZDau1",RPn=null,HPn=null,MPn={latitude:39.0042841,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-3.3716443,ground:{albedo:.32,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"13200 Manzanares, Ciudad Real, Spain",date:"6/8/2022 2:30:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2,sutGridCellSize:5,diurnalTemperatureModel:2,highestTemperatureTimeInMinutes:930,noAnimationForSolarUpdraftTowerSimulation:!0,noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:10},IPn=[{cy:.8227637571854691,normal:[0,0,1],lz:.5,ly:250,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.8016636577985707,cz:.05,rotation:[0,0,0],lx:250,selected:!1,parentId:"Ground",solarReceiverHeight:20,locked:!1,solarStructure:3,color:"#cccccc",solarUpdraftTower:{collectorHeight:2,collectorRadius:122,chimneyHeight:195,chimneyRadius:5,collectorEmissivity:.9,collectorTransmissivity:.8,turbineEfficiency:.3}},{type:"Sensor",cx:-.4159783264084858,cy:.39987868253676767,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o2v8sLskiRxHNQMJYgmnf4",selected:!1},{type:"Human",name:"Jack",cx:-101.47750420174262,cy:106.72814742414681,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"nRWqXrYCJwuMMKPznon3yj",selected:!1,ly:.6}],zPn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:50,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:-605,showGroundPanel:!1,showHeliodonPanel:!0,heliodon:!1,weatherPanelY:53,heliodonPanelX:-1226,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:60,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-1231,weatherPanelX:606,heliodonPanelY:482,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-286.26711514248836,-379.63764367710024,88.70698003902253],panCenter:[31.318634005291777,-33.73977035496972,57.75472306965425],orthographic:!1,enableRotate:!0,cameraZoom:1.8893648827547527,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725617],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:7,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!0,showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelX:1237,diurnalTemperaturePanelY:239,dailyUpdraftTowerYieldPanelX:-3,dailyUpdraftTowerYieldPanelY:18},DPn=[],EPn={docid:TPn,timestamp:PPn,userid:CPn,owner:RPn,email:HPn,world:MPn,elements:IPn,view:zPn,notes:DPn},kPn="snT8RSM4bna2exT4SbrKpx",FPn=1647994374708,LPn="QWecNcxhyvP6j6sBN11hBsfZDau1",WPn=null,NPn=null,UPn={latitude:25.206789542006906,solarPanelGridCellSize:.5,timesPerHour:4,longitude:55.273800285141746,ground:{albedo:.32,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Dubai - United Arab Emirates",date:"4/22/2022 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2,sutGridCellSize:5,diurnalTemperatureModel:2,highestTemperatureTimeInMinutes:930,noAnimationForSolarUpdraftTowerSimulation:!0,noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:10},BPn=[{cy:-14.779474133308753,normal:[0,0,1],lz:.5,ly:264.0330484296776,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-13.154176421163392,cz:.05,rotation:[0,0,0],lx:454.50633176715684,selected:!1,parentId:"Ground",solarReceiverHeight:20,locked:!1,solarStructure:3,color:"#16a5a5",solarUpdraftTower:{collectorHeight:2,collectorRadius:122,chimneyHeight:195,chimneyRadius:5,collectorEmissivity:.9,collectorTransmissivity:.8,turbineEfficiency:.3},textureType:"No Foundation Texture"},{type:"Sensor",cx:-.11120328110703694,cy:.21015039060624294,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o2v8sLskiRxHNQMJYgmnf4",selected:!1},{type:"Cuboid",cx:2.1177379727110406,cy:160.51534566937434,cz:74.09390657882601,lx:78.30098332647403,ly:55.99394288505539,lz:148.18781315765202,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.025752033646721628],parentId:"Ground",selected:!1,id:"2EhrboeXntUZKiBN3HjSix"},{type:"Cuboid",cx:50.66161337498563,cy:207.36077727687461,cz:32.43138091159533,lx:145.9842111895511,ly:125.02724353031309,lz:64.86276182319067,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.13048951214355942],parentId:"Ground",id:"6Xn8R7eKSnxRxHnYpiNTaj",selected:!1},{type:"Cuboid",cx:-72.11151802635683,cy:193.1105351858589,cz:37.54389418882869,lx:180.92996331753585,ly:104.88750828847839,lz:75.08778837765738,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.4372817352121965],parentId:"Ground",id:"qmmFDRVBHd8n28gezjkd3v",selected:!1},{type:"Cuboid",cx:153.53794529088543,cy:135.2714939761318,cz:28.458907280218547,lx:236.41206811774626,ly:73.3973881158558,lz:56.917814560437094,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.0889289069735497],parentId:"Ground",id:"6WFEHvBHfcw1hyoqbdVq2Q",selected:!1},{type:"Cuboid",cx:197.28140665982946,cy:-49.22558984875294,cz:23.43801759070747,lx:72.3188854798575,ly:208.05225786437427,lz:46.87603518141494,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.13048951214355942],parentId:"Ground",id:"wVZSZy2dQew3t36trixDr8",selected:!1},{type:"Cuboid",cx:-201.1839566931086,cy:103.76736037364329,cz:23.43801759070747,lx:180.92996331753585,ly:104.88750828847839,lz:46.87603518141494,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.7727363696866378],parentId:"Ground",id:"1QdVXZ9PmC9w7nnsHyZH8T",selected:!1},{type:"Cuboid",cx:-255.36665065884822,cy:-36.73723769206747,cz:18.59922423283554,lx:225.13779640089743,ly:104.62558934593119,lz:37.19844846567108,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,1.5327638573782314],parentId:"Ground",id:"raZT6wgNraS3Vp9bqR82TD",selected:!1}],jPn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:18,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:50,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:-605,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:53,heliodonPanelX:-1226,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:60,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-1231,weatherPanelX:606,heliodonPanelY:482,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-90.01171835895659,-555.4483085712341,96.07353497556753],panCenter:[-9.153086630446868,47.334689777283224,96.07353497556753],orthographic:!1,enableRotate:!0,cameraZoom:1.8893648827547527,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725617],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:5,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelX:1237,diurnalTemperaturePanelY:239,dailyUpdraftTowerYieldPanelX:-3,dailyUpdraftTowerYieldPanelY:18},YPn=[],OPn={docid:kPn,timestamp:FPn,userid:LPn,owner:WPn,email:NPn,world:UPn,elements:BPn,view:jPn,notes:YPn},_Pn="p2drrr48ZatKaiVf1mbTs1",VPn="12/03/2023 04:24 PM",GPn=1701638671232,XPn="QWecNcxhyvP6j6sBN11hBsfZDau1",JPn=null,KPn=null,qPn="1.5.4",$Pn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 12:00:00 PM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},QPn=[{type:"Foundation",cx:.21568850029510145,cy:.013602452212484906,cz:.05,lx:177.03060455972584,ly:35.672904101964825,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"Joseph",cx:3.2599818806420906,cy:-7.518092078963932,cz:.05000000074505806,lx:.6,lz:1.88,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",bladeRadius:18,towerRadius:.8,towerHeight:25,hubRadius:1,hubLength:1.5,bladeTipWidth:.2,bladeRootRadius:.4,maximumChordRadius:4,maximumChordLength:2,cx:-.43466060172200127,cy:-.14710534568960895,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"tqD4n1WRQYmNAhR5UQzB4X",selected:!1,initialRotorAngle:1.3089969389957472,relativeAngle:0,ly:36,lx:36,lz:43,pitchAngle:.3490658503988659,showLabel:!0,label:"1-blade",labelHeight:.2,labelSize:1,numberOfBlades:1},{type:"Wind Turbine",cx:-.25646562384285493,cy:-.01664123033462413,cz:0,lx:36,ly:36,lz:43,pitchAngle:.3490658503988659,relativeAngle:0,initialRotorAngle:.08726646259971647,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"2-blades",numberOfBlades:2},{type:"Wind Turbine",cx:-.053110954803951796,cy:-.01664123033462413,cz:0,lx:36,ly:36,lz:43,pitchAngle:.3490658503988659,relativeAngle:0,initialRotorAngle:.6108652381980153,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"n62TtrmXHWgo7x1hEcdHwF",selected:!1,label:"3-blades"},{type:"Wind Turbine",cx:.16054544137606933,cy:-.019488911573350004,cz:.5000000074505806,lx:36,ly:36,lz:43,numberOfBlades:4,pitchAngle:.3490658503988659,initialRotorAngle:.4363323129985824,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"9dzaj23koNLLEL3shaBk2K",selected:!1,label:"4-blades"},{type:"Wind Turbine",cx:.38225577893413515,cy:-.007337508433549948,cz:.5000000074505806,lx:36,ly:36,lz:43,numberOfBlades:8,pitchAngle:.3490658503988659,initialRotorAngle:.9599310885968813,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"rYsUP6fHc3t52h1tpQjudB",selected:!1,label:"8-blades"}],ZPn=111,eCn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.06508062441107645,3.009365144072869,3251344493198157e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.06508062441107645,3.0083647666271345,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-6.410142423966475,-199.0249080253237,25.806061057837795],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:7.547072050706145,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.0801685524133897,3.803936638871667,21.311753692834813],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:203,height:75},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},tCn=!0,nCn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},oCn=1,iCn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},rCn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},aCn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},lCn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},sCn="Unknown",cCn=null,uCn=null,dCn=null,fCn=null,hCn=["Effect of blade number"],pCn=3,gCn=3,mCn={docid:_Pn,time:VPn,timestamp:GPn,userid:XPn,owner:JPn,email:KPn,version:qPn,world:$Pn,elements:QPn,sceneRadius:ZPn,view:eCn,animate24Hours:tCn,graphState:nCn,evolutionMethod:oCn,solarPanelArrayLayoutParams:iCn,solarPanelArrayLayoutConstraints:rCn,evolutionaryAlgorithmState:aCn,economicsParams:lCn,modelType:sCn,modelAuthor:cCn,modelLabel:uCn,modelDescription:dCn,designProjectType:fCn,notes:hCn,minimumNavigationMoveSpeed:pCn,minimumNavigationTurnSpeed:gCn},yCn="ku3aJQnNyy4yCsuFzwuDoc",ACn="12/03/2023 04:23 PM",wCn=1701638601264,vCn="QWecNcxhyvP6j6sBN11hBsfZDau1",xCn=null,bCn=null,SCn="1.5.4",TCn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:15:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},PCn=[{type:"Foundation",cx:-.06801975746204719,cy:-.18409539243281756,cz:.05,lx:94.71410891853054,ly:36.6174535699994,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"Jack",cx:-12.16505900504582,cy:-10.984558061960229,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",bladeRadius:18,towerRadius:.7,towerHeight:25,hubRadius:.9,hubLength:1.5,bladeTipWidth:.2,bladeRootRadius:.4,maximumChordRadius:4,maximumChordLength:2,cx:-.3778738108736008,cy:-.13041322347895162,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"tqD4n1WRQYmNAhR5UQzB4X",selected:!1,initialRotorAngle:2.6179938779914944,relativeAngle:0,ly:36,lx:36,lz:43,pitchAngle:0,showLabel:!0,label:"Pitch 0°",labelHeight:.2,labelSize:1},{type:"Wind Turbine",cx:-.044808705540805294,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:.7853981633974483,relativeAngle:0,initialRotorAngle:1.9198621771937625,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"Pitch 45°"},{type:"Wind Turbine",cx:.3352825016833035,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:1.5707963267948966,relativeAngle:0,initialRotorAngle:.6981317007977318,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"n62TtrmXHWgo7x1hEcdHwF",selected:!1,label:"Pitch 90°"}],CCn=59,RCn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.0651129818879018,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.0651129818879018,-.0010003774460187742,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.3091864608311454,-84.35385005104541,19.592601415556782],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921874999,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.5737328988942154,.4037021816977089,14.94164829471033],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:229,height:65},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},HCn=!0,MCn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ICn=1,zCn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},DCn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ECn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kCn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},FCn="Unknown",LCn=null,WCn=null,NCn=null,UCn=null,BCn=["Effect of pitch angle"],jCn=3,YCn=3,OCn={docid:yCn,time:ACn,timestamp:wCn,userid:vCn,owner:xCn,email:bCn,version:SCn,world:TCn,elements:PCn,sceneRadius:CCn,view:RCn,animate24Hours:HCn,graphState:MCn,evolutionMethod:ICn,solarPanelArrayLayoutParams:zCn,solarPanelArrayLayoutConstraints:DCn,evolutionaryAlgorithmState:ECn,economicsParams:kCn,modelType:FCn,modelAuthor:LCn,modelLabel:WCn,modelDescription:NCn,designProjectType:UCn,notes:BCn,minimumNavigationMoveSpeed:jCn,minimumNavigationTurnSpeed:YCn},_Cn="prsweG46r8wQU1VCBei9bi",VCn="12/05/2023 08:19 PM",GCn=1701825553155,XCn="QWecNcxhyvP6j6sBN11hBsfZDau1",JCn=null,KCn=null,qCn="1.5.4",$Cn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:15:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},QCn=[{type:"Foundation",cx:-.06801975746204719,cy:-.18409539243281756,cz:.05,lx:94.71410891853054,ly:36.6174535699994,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"James",cx:-12.16505900504582,cy:-10.984558061960229,cz:.05000000074505806,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",cx:-.044808705540805294,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:.7853981633974483,relativeAngle:0,initialRotorAngle:1.9198621771937625,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"Pitch 45°",birdSafe:1},{type:"Wind Turbine",cx:.3352825016833035,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,birdSafe:2,pitchAngle:.7853981633974483,initialRotorAngle:.5235987755982988,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"uoJzz1MrpxpKH8prABoXBK",selected:!1},{type:"Wind Turbine",cx:-.40227176546914695,cy:-.08636499522843967,cz:.5000000074506517,lx:36,ly:36,lz:43,birdSafe:0,pitchAngle:.7853981633974483,initialRotorAngle:1.2217304763960306,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"oQQHDhqvAmppTTGonavtKx",selected:!1}],ZCn=59,eRn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.0651129818879018,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.0651129818879018,-.0010003774460187742,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[11.54640905238722,-83.12569705438379,19.57753232141962],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:-1,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921874999,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:4,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[13.843815451002575,-2.517227319037223,19.577532321419607],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:229,height:65},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},tRn=!0,nRn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},oRn=1,iRn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},rRn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},aRn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},lRn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},sRn="Unknown",cRn=null,uRn=null,dRn=null,fRn=null,hRn=["Bird-safe blade design"],pRn=3,gRn=3,mRn={docid:_Cn,time:VCn,timestamp:GCn,userid:XCn,owner:JCn,email:KCn,version:qCn,world:$Cn,elements:QCn,sceneRadius:ZCn,view:eRn,animate24Hours:tRn,graphState:nRn,evolutionMethod:oRn,solarPanelArrayLayoutParams:iRn,solarPanelArrayLayoutConstraints:rRn,evolutionaryAlgorithmState:aRn,economicsParams:lRn,modelType:sRn,modelAuthor:cRn,modelLabel:uRn,modelDescription:dRn,designProjectType:fRn,notes:hRn,minimumNavigationMoveSpeed:pRn,minimumNavigationTurnSpeed:gRn},yRn="4dviU3RawE9LMcftibfNkm",ARn="12/03/2023 04:14 PM",wRn=1701638072017,vRn="QWecNcxhyvP6j6sBN11hBsfZDau1",xRn=null,bRn=null,SRn="1.5.4",TRn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:30:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"4VF7+G3 Truro, MA, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.12379091441428,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-70.13730849064942,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},PRn=[{type:"Foundation",cx:-.03667035741752578,cy:.04882318835639765,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Wind Turbine",bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,cx:-.018046403605868733,cy:.4133982216223373,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"wjxmhdfmeJ2VqYDExGzaQP",selected:!1,relativeRotationAngle:1.5707963267948966,relativeAngle:0,initialRotorAngle:.5235987755982988,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Human",name:"Jack",cx:-.32689281452861607,cy:-.7424702537660224,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Foundation",cx:.46178016174311765,cy:34.77682557793467,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"rPGPX7hqLNXxmoCP5Z3sE3",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"rPGPX7hqLNXxmoCP5Z3sE3",foundationId:"rPGPX7hqLNXxmoCP5Z3sE3",id:"wmRwaWRbnt4jyLACLBbnbR",selected:!1,initialRotorAngle:.5759586531581288,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-35.133887514480534,cy:.13131107853935997,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"5AXcGdcxuJPPmWUFFF1Mg4",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"5AXcGdcxuJPPmWUFFF1Mg4",foundationId:"5AXcGdcxuJPPmWUFFF1Mg4",id:"8zpiTHWfmH9dxxMob7gGKw",selected:!1,initialRotorAngle:.6981317007977318,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:36.15687726121619,cy:.08583548447972705,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"3PvdrySRRuRb4VWscpoan1",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"3PvdrySRRuRb4VWscpoan1",foundationId:"3PvdrySRRuRb4VWscpoan1",id:"jh2VLP6aEsC9MjyvMzHmnh",selected:!1,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:36.68380015977545,cy:35.992070115484914,cz:.05000000000011369,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"ajcMCL4iShmNZcRHJaZwqC",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"ajcMCL4iShmNZcRHJaZwqC",foundationId:"ajcMCL4iShmNZcRHJaZwqC",id:"73M62UHt2cc3ePWwwXFCtp",selected:!1,initialRotorAngle:1.9198621771937625,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-36.06399520270002,cy:36.219927749176875,cz:.05000000000011369,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"8y22r8ZxpQWom1j6cs1tYx",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"8y22r8ZxpQWom1j6cs1tYx",foundationId:"8y22r8ZxpQWom1j6cs1tYx",id:"9phSpLbBjff3RP3Gd6q3wk",selected:!1,initialRotorAngle:3.735004599267865,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-34.92135925619859,cy:-39.65568470409089,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"7omZkjhG7pVW412usas6QG",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"7omZkjhG7pVW412usas6QG",foundationId:"7omZkjhG7pVW412usas6QG",id:"n57NaRS2RhJe7aRryzjvz5",selected:!1,initialRotorAngle:2.1467549799530254,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:.28880826894608447,cy:-39.405449951382565,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"ahFZR4riKJXTrcHA73mdCn",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"ahFZR4riKJXTrcHA73mdCn",foundationId:"ahFZR4riKJXTrcHA73mdCn",id:"gzowsxQwP2TmUT7TdsAvgu",selected:!1,initialRotorAngle:.7504915783575618,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:37.11911004267943,cy:-35.660841265945486,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"6vng7Lgk75SDU7zgeFirDf",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"6vng7Lgk75SDU7zgeFirDf",foundationId:"6vng7Lgk75SDU7zgeFirDf",id:"8FDU4ixVHqSmgDc6imfmtZ",selected:!1,initialRotorAngle:3.001966313430247,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659}],CRn=51,RRn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[8.052948084656641,-13.89445165214065,-1405165848269891e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[8.052948084656641,-13.895452029586668,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:11,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[22.54912751083805,-79.65990049831592,12.693759961970386],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:6.1471373545004715,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-6.443475483349762,13.626542859895423,12.693759961970372],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:400,height:300},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!0,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},HRn=!0,MRn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},IRn=1,zRn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},DRn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ERn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kRn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},FRn="Unknown",LRn=null,WRn=null,NRn=null,URn=null,BRn=[],jRn=3,YRn=3,ORn={docid:yRn,time:ARn,timestamp:wRn,userid:vRn,owner:xRn,email:bRn,version:SRn,world:TRn,elements:PRn,sceneRadius:CRn,view:RRn,animate24Hours:HRn,graphState:MRn,evolutionMethod:IRn,solarPanelArrayLayoutParams:zRn,solarPanelArrayLayoutConstraints:DRn,evolutionaryAlgorithmState:ERn,economicsParams:kRn,modelType:FRn,modelAuthor:LRn,modelLabel:WRn,modelDescription:NRn,designProjectType:URn,notes:BRn,minimumNavigationMoveSpeed:jRn,minimumNavigationTurnSpeed:YRn},_Rn="vW4e6RYtysT2Mk4RJsMwWK",VRn=1647108232108,GRn="QWecNcxhyvP6j6sBN11hBsfZDau1",XRn=null,JRn=null,KRn={longitude:-110.90092954103089,solarRadiationHeatmapGridCellSize:1,discretization:"Approximate",timesPerHour:4,date:"9/22/2022 1:15:00 PM",name:"default",solarPanelVisibilityGridCellSize:.2,airAttenuationCoefficient:.01,pvGridCellSize:.5,latitude:32.15910168004556,address:"4346 E Irvington Rd, Tucson, AZ 85714, USA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},cspTimesPerHour:4,cspGridCellSize:1},qRn=[{textureType:"No Foundation Texture",lz:.1,ly:428,cx:-12.823413575842814,locked:!1,type:"Foundation",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,lx:111.22000916830105,solarAbsorberPipe:{absorberHeight:16,apertureWidth:1},rotation:[0,0,0],parentId:"Ground",cz:.05,cy:-21.37347182127145,normal:[0,0,1]},{reflectance:.9,label:"1",absorptance:.95,poleHeight:.2,selected:!1,drawSunBeam:!0,poleRadius:.05,type:"Fresnel Reflector",relativeAzimuth:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cx:-.4012211769217936,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,showLabel:!1,cz:0,dailyYield:148.93207880790618,cy:.006680793972906053,opticalEfficiency:.7,moduleLength:20,lx:2.5,lz:.1,normal:[0,0,1],tiltAngle:0,thermalEfficiency:.3,rotation:[0,0,0],id:"gGEdWUHCti1PrRxJ7JDarq"},{poleRadius:.05,rotation:[0,0,0],relativeAzimuth:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,reflectance:.9,tiltAngle:0,cz:0,cx:-.3742476132399176,showLabel:!1,ly:420,normal:[0,0,1],poleHeight:.2,selected:!1,lz:.1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3xn438z3EMLSwNjb9D63WM",lx:2.5,type:"Fresnel Reflector",cy:.006680793972906053,drawSunBeam:!0},{foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,poleHeight:.2,id:"bLwgNAfScj3MbJ3LCbgVeJ",cx:.4118441240173573,rotation:[0,0,0],receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,poleRadius:.05,reflectance:.9,cy:.006920168618473448,tiltAngle:0,cz:.5000000074505806,lz:.1,moduleLength:20,parentId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,drawSunBeam:!0,normal:[0,0,1],lx:2.5,type:"Fresnel Reflector",selected:!1},{lz:.1,cy:.006920164646334277,cx:.38874501986607163,ly:420,reflectance:.9,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"n7GLSN9b7KQJT3M3e1Gbd6",lx:2.5,moduleLength:20,tiltAngle:0,normal:[0,0,1],parentId:"kxHYpYsUs7XEocuTYAj1Qu",receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleHeight:.2,cz:.5000000074506161,rotation:[0,0,0],relativeAzimuth:0,drawSunBeam:!0,selected:!1,poleRadius:.05,type:"Fresnel Reflector",showLabel:!1},{selected:!1,parentId:"Ground",type:"Cuboid",color:"gray",cx:-52.4956763602033,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:2.295137859741913,ly:6.761851189958324,id:"2ef4fdCaFagjkM5oc3rwcu",faceColors:["gray","gray","gray","gray","gray","gray"],lx:17.519341460326316,rotation:[0,0,0],cy:209.0290599516856,normal:[0,0,1],lz:4.590275719483826},{ly:420,rotation:[0,0,0],poleHeight:.2,lz:.1,moduleLength:20,cz:.5000000074506517,id:"8GG67NKVFrvbH3J8prHsci",showLabel:!1,poleRadius:.05,selected:!1,reflectance:.9,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",tiltAngle:0,cy:.006920160674195108,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cx:.3629408980758779,relativeAzimuth:0,drawSunBeam:!0,lx:2.5},{lx:2.5,moduleLength:20,type:"Fresnel Reflector",relativeAzimuth:0,cy:.006920156702055938,poleHeight:.2,poleRadius:.05,cz:.5000000074506872,selected:!1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],showLabel:!1,rotation:[0,0,0],id:"iiCPQvzxSxVKeMzjiCWt4r",drawSunBeam:!0,lz:.1,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cx:.33443175864677654,ly:420,tiltAngle:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{type:"Fresnel Reflector",normal:[0,0,1],id:"48A3HEC1e87s6pvydn6P2h",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,poleHeight:.2,selected:!1,cx:.3059226192176751,rotation:[0,0,0],tiltAngle:0,relativeAzimuth:0,lx:2.5,cy:.006920152729916776,lz:.1,moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,drawSunBeam:!0,cz:.5000000074507227,showLabel:!1,reflectance:.9,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{normal:[0,0,1],rotation:[0,0,0],poleHeight:.2,type:"Fresnel Reflector",id:"p9gJ8g2kx38fJVQXUT5Mgz",cx:.27741347978857367,moduleLength:20,relativeAzimuth:0,showLabel:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cz:.5000000074507582,lx:2.5,reflectance:.9,poleRadius:.05,selected:!1,lz:.1,ly:420,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cy:.0069201487577776055,tiltAngle:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0},{relativeAzimuth:0,showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074507938,selected:!1,normal:[0,0,1],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],moduleLength:20,poleRadius:.05,drawSunBeam:!0,cy:.006920144785638444,tiltAngle:0,id:"nUiryBqcmAQ2AAWDiEELcv",cx:.24890434035947226,lz:.1,ly:420,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",reflectance:.9,type:"Fresnel Reflector",lx:2.5},{ly:420,reflectance:.9,poleRadius:.05,showLabel:!1,type:"Fresnel Reflector",relativeAzimuth:0,normal:[0,0,1],receiverId:"jbxC2ET67y7TWpMwnYUQpG",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074508293,poleHeight:.2,cx:.22039520093037082,selected:!1,tiltAngle:0,moduleLength:20,lx:2.5,rotation:[0,0,0],cy:.006920140813499274,drawSunBeam:!0,lz:.1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"c1WTMXLtugeCdJwSfZWMz9"},{poleHeight:.2,ly:420,lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,selected:!1,relativeAzimuth:0,cz:.5000000074508648,drawSunBeam:!0,rotation:[0,0,0],poleRadius:.05,cx:.1918860615012694,type:"Fresnel Reflector",lz:.1,id:"3Kj4GK5Z8rMjFhG7kwoBBb",tiltAngle:0,reflectance:.9,normal:[0,0,1],cy:.006920136841360104,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG"},{receiverId:"jbxC2ET67y7TWpMwnYUQpG",relativeAzimuth:0,cx:.16337692207216795,tiltAngle:0,rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,poleHeight:.2,drawSunBeam:!0,type:"Fresnel Reflector",cz:.5000000074509003,poleRadius:.05,id:"gRmwqsLeYTEckzUeWsqBhN",showLabel:!1,normal:[0,0,1],lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,reflectance:.9,lz:.1,cy:.006920132869220934,ly:420},{cz:.5000000074509359,cy:.006920128897081764,drawSunBeam:!0,type:"Fresnel Reflector",ly:420,selected:!1,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,tiltAngle:0,cx:.13486778264306654,lz:.1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,id:"joT2iHz7uZVy7UaUNMCzBF",moduleLength:20,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,lx:2.5,rotation:[0,0,0],reflectance:.9,normal:[0,0,1]},{normal:[0,0,1],id:"itX4GCN56fDPamdgJYAmwQ",selected:!1,lx:2.5,drawSunBeam:!0,showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074509714,cx:.10635864321396508,lz:.1,cy:.006920124924942602,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",type:"Fresnel Reflector",rotation:[0,0,0],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",tiltAngle:0,poleRadius:.05,moduleLength:20,relativeAzimuth:0,ly:420,reflectance:.9},{type:"Fresnel Reflector",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",poleHeight:.2,cy:.00692012095280344,cz:.5000000074510069,ly:420,relativeAzimuth:0,drawSunBeam:!0,moduleLength:20,lx:2.5,showLabel:!1,id:"5e4g29VTk26fuKRVWuNgRz",parentId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],cx:.07784950378486367,poleRadius:.05,lz:.1,tiltAngle:0,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",selected:!1,normal:[0,0,1]},{id:"sBjhkF3pMtT3cQ3g1UR96e",cz:.5000000074510424,cx:.049340364355762216,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleHeight:.2,parentId:"kxHYpYsUs7XEocuTYAj1Qu",type:"Fresnel Reflector",ly:420,normal:[0,0,1],showLabel:!1,relativeAzimuth:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,lz:.1,cy:.006920116980664271,reflectance:.9,tiltAngle:0,moduleLength:20,rotation:[0,0,0],lx:2.5,drawSunBeam:!0,poleRadius:.05},{poleHeight:.2,poleRadius:.05,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cy:.0069201130085251,parentId:"kxHYpYsUs7XEocuTYAj1Qu",lz:.1,showLabel:!1,ly:420,selected:!1,reflectance:.9,moduleLength:20,rotation:[0,0,0],lx:2.5,tiltAngle:0,cz:.500000007451078,type:"Fresnel Reflector",normal:[0,0,1],cx:.020831224926660816,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"h3TzeZk2YVWTGe9knmBmhc",drawSunBeam:!0,relativeAzimuth:0},{cy:.0069201090363859305,poleRadius:.05,drawSunBeam:!0,lx:2.5,normal:[0,0,1],tiltAngle:0,rotation:[0,0,0],moduleLength:20,showLabel:!1,poleHeight:.2,parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,selected:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",id:"kWfcmDULgEQa34dEtRx2UT",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,reflectance:.9,cz:.5000000074511135,cx:-.007677914502440628,lz:.1,type:"Fresnel Reflector"},{reflectance:.9,rotation:[0,0,0],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,type:"Fresnel Reflector",normal:[0,0,1],tiltAngle:0,id:"wQ8RFzz864QiELuFRWM7ge",poleHeight:.2,cz:.500000007451149,drawSunBeam:!0,cx:-.03618705393154207,selected:!1,showLabel:!1,lz:.1,cy:.00692010506424676,moduleLength:20,lx:2.5,poleRadius:.05,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{poleHeight:.2,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cy:.006920101092107599,id:"rCD4HDT8779Y925QdUv6gZ",cx:-.06469619336064349,drawSunBeam:!0,selected:!1,lx:2.5,poleRadius:.05,cz:.5000000074511846,relativeAzimuth:0,type:"Fresnel Reflector",normal:[0,0,1],lz:.1,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",tiltAngle:0,rotation:[0,0,0],ly:420,showLabel:!1,moduleLength:20},{ly:420,poleHeight:.2,normal:[0,0,1],cx:-.0932053327897449,id:"dMUsSHLikspa8gopdzHskY",poleRadius:.05,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,reflectance:.9,moduleLength:20,cy:.0069200971199684285,showLabel:!1,tiltAngle:0,rotation:[0,0,0],type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",lx:2.5,cz:.5000000074512201,selected:!1,lz:.1},{rotation:[0,0,0],receiverId:"jbxC2ET67y7TWpMwnYUQpG",reflectance:.9,type:"Fresnel Reflector",cy:.006920093147829267,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",lz:.1,lx:2.5,relativeAzimuth:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0,tiltAngle:0,poleHeight:.2,normal:[0,0,1],selected:!1,moduleLength:20,cx:-.12171447221884638,showLabel:!1,id:"rTyFuBNMkgb6TQ1G9Eh8gm",poleRadius:.05,cz:.5000000074512556,ly:420},{poleRadius:.05,normal:[0,0,1],showLabel:!1,cz:.5000000074512911,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,type:"Fresnel Reflector",selected:!1,rotation:[0,0,0],tiltAngle:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,id:"j5bFm4KL8wLSLUYpWvdxLo",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,cx:-.15022361164794779,lz:.1,cy:.006920089175690097,relativeAzimuth:0,poleHeight:.2,lx:2.5,reflectance:.9},{cx:-.1787327510770492,parentId:"kxHYpYsUs7XEocuTYAj1Qu",lx:2.5,drawSunBeam:!0,reflectance:.9,tiltAngle:0,lz:.1,cy:.006920085203550927,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],cz:.5000000074513267,relativeAzimuth:0,showLabel:!1,poleRadius:.05,selected:!1,type:"Fresnel Reflector",normal:[0,0,1],id:"4yDr3h7mFtSP1gWovYHUdL",poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,moduleLength:20},{cy:.006920081231411757,id:"cdAqNd7wifCFLgGsKrvuwz",moduleLength:20,drawSunBeam:!0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],poleHeight:.2,poleRadius:.05,relativeAzimuth:0,tiltAngle:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",lx:2.5,rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,cz:.5000000074513622,lz:.1,type:"Fresnel Reflector",showLabel:!1,cx:-.2072418905061506,reflectance:.9,ly:420},{rotation:[0,0,0],lz:.1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074513977,moduleLength:20,reflectance:.9,relativeAzimuth:0,selected:!1,tiltAngle:0,ly:420,poleRadius:.05,showLabel:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,poleHeight:.2,type:"Fresnel Reflector",cx:-.23575102993525202,parentId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],lx:2.5,id:"ptAVmbmDJoFnE5rNDPcxp1",cy:.006920077259272587},{cx:-.26426016936435354,reflectance:.9,normal:[0,0,1],receiverId:"jbxC2ET67y7TWpMwnYUQpG",tiltAngle:0,type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0,poleRadius:.05,poleHeight:.2,id:"9PPkqgZe4ooTSBcdbEhq2S",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074514332,rotation:[0,0,0],moduleLength:20,cy:.006920073287133425,relativeAzimuth:0,lz:.1,showLabel:!1,selected:!1,lx:2.5,ly:420},{lx:2.5,drawSunBeam:!0,selected:!1,cx:-.29276930879345486,poleRadius:.05,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cy:.006920069314994255,cz:.5000000074514688,relativeAzimuth:0,lz:.1,ly:420,id:"1bynbmDmRsgQT44LeFTqV2",type:"Fresnel Reflector",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],tiltAngle:0,moduleLength:20,poleHeight:.2,normal:[0,0,1],showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{id:"biqZtWn8yKbuhMZsTFnzzy",poleRadius:.05,ly:420,normal:[0,0,1],moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG",showLabel:!1,reflectance:.9,cy:.006920065342855094,poleHeight:.2,cx:-.32127844822255636,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,type:"Fresnel Reflector",rotation:[0,0,0],lz:.1,cz:.5000000074515043,lx:2.5,tiltAngle:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,drawSunBeam:!0},{receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,cz:.5000000074515398,tiltAngle:0,drawSunBeam:!0,cx:-.3497875876516578,poleHeight:.2,ly:420,lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,showLabel:!1,type:"Fresnel Reflector",reflectance:.9,selected:!1,id:"aimBT6csAE8smo4euxDmP5",lz:.1,normal:[0,0,1],relativeAzimuth:0,cy:.006920061370715923,parentId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0]},{solarReceiverTubePoleNumber:20,type:"Foundation",solarReceiverPipePoleNumber:20,normal:[0,0,1],rotation:[0,0,0],cx:-11.949347995041327,selected:!1,parentId:"Ground",lz:.3,lx:19.21993989325236,cy:-3.4906385434141205,id:"jbxC2ET67y7TWpMwnYUQpG",ly:480,solarStructure:1,solarReceiver:1,cz:.15,solarAbsorberPipe:{absorberHeight:30,apertureWidth:2}}],$Rn={cameraZoom:1.8506178062217107,yearlyPvYieldPanelX:0,mapZoom:17,dailyFresnelReflectorYieldPanelX:-19,dailyParabolicTroughYieldPanelX:0,dailyLightSensorPanelX:0,yearlyParabolicDishYieldPanelX:0,showDailyFresnelReflectorYieldPanel:!1,enableRotate:!0,panCenter2D:[-6.944992442475207,210.55314744205262,.00021056250655402935],showStickyNotePanel:!1,groundColor:"#16cda5",showSunAngles:!1,mapWeatherStations:!1,dailyParabolicTroughYieldPanelY:0,showDailyParabolicTroughYieldPanel:!1,yearlyLightSensorPanelY:0,weatherPanelX:0,yearlyFresnelReflectorYieldPanelY:14,ambientLightIntensity:.1,dailyParabolicDishYieldPanelY:0,dailyFresnelReflectorYieldPanelY:157,showWeatherPanel:!1,theme:"Desert",showSolarPanelVisibilityResultsPanel:!1,yearlyLightSensorPanelX:0,mapPanelX:0,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,heliodonPanelY:0,dailyParabolicDishYieldPanelX:0,mapType:"hybrid",cameraPosition:[-11.739626637843958,-271.93399896309415,13.091291354471094],showDesignInfoPanel:!0,autoRotate:!1,panCenter:[-7.09913291540988,-65.13626844138287,2.897505917600467],yearlyFresnelReflectorYieldPanelX:-1274,stickyNotePanelX:0,visibilityResultsPanelX:0,showYearlyLightSensorPanel:!1,mapTilt:0,dailyPvYieldPanelY:0,dailyLightSensorPanelY:0,solarRadiationHeatMapMaxValue:5,heliodonPanelX:0,weatherPanelY:0,showYearlyParabolicDishYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,dailyPvYieldPanelX:0,stickyNotePanelY:0,showDailyParabolicDishYieldPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,heliodon:!1,yearlyParabolicTroughYieldPanelX:0,yearlyPvYieldPanelY:0,showSiteInfoPanel:!0,cameraPosition2D:[-6.944992442475207,210.55312744116364,20.00021056248858],showHeliodonPanel:!1,showYearlyPvYieldPanel:!1,axes:!0,showMapPanel:!1,visibilityResultsPanelY:0,groundImage:!0,orthographic:!1,showInstructionPanel:!0,showDailyPvYieldPanel:!1,mapPanelY:0,showYearlyFresnelReflectorYieldPanel:!1},QRn=[],ZRn={docid:_Rn,timestamp:VRn,userid:GRn,owner:XRn,email:JRn,world:KRn,elements:qRn,view:$Rn,notes:QRn},eHn="hAq2dzLGp1A3Vt7sTTtJuZ",tHn="02/03/2023 10:55 am",nHn=1675439758247,oHn="QWecNcxhyvP6j6sBN11hBsfZDau1",iHn=null,rHn=null,aHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},lHn=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0005841111979264266,cy:-.00026543983321941996,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7DsYGoVdCY8aoR5rFbLhk4",selected:!1,label:"Angle",dailyYield:8.732880750124766,yearlyYield:102.12421657496768},{type:"Human",name:"Jack",cx:5.511511655556145,cy:-3.5932139876710405,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ahAnqHX5Nd7eDufkMtRUNs",selected:!1,ly:.6}],sHn={yearlyPvYieldPanelX:-67,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:66,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[9.289940609671005,-7.003850253956084,4.906951597024065],panCenter:[.4252296602758445,.31861282138619734,.10164740914205853],orthographic:!1,enableRotate:!0,cameraZoom:45.44146361606706,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,150],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:6,evolutionPanelX:-13,evolutionPanelY:8,evolutionPanelRect:{x:0,y:0,width:498,height:340},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:279,height:88}},cHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},uHn=1,dHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},fHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},hHn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:30,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},pHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},gHn=[`Find the optimal tilt angle +for a single row of solar panels`],mHn={docid:eHn,time:tHn,timestamp:nHn,userid:oHn,owner:iHn,email:rHn,world:aHn,elements:lHn,view:sHn,graphState:cHn,evolutionMethod:uHn,solarPanelArrayLayoutParams:dHn,solarPanelArrayLayoutConstraints:fHn,evolutionaryAlgorithmState:hHn,economicsParams:pHn,notes:gHn},yHn="fuDyjFnfZyxqES42bpME47",AHn="02/03/2023 11:00 am",wHn=1675440031518,vHn="QWecNcxhyvP6j6sBN11hBsfZDau1",xHn=null,bHn=null,SHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},THn=[{cy:-.04544941490896341,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:1.968,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Row1",tiltAngle:0,poleSpacing:2,rotation:[0,0,0],lx:5.952,selected:!1,orientation:"Portrait",cx:.0013098263256093668,relativeAzimuth:0,cy:-.3333857365792726,poleHeight:1.2,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG",dailyYield:3.8430599051077174,yearlyYield:87.98498978626,labelSize:.5,labelHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0013098263256093668,cy:-.1107906814186029,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qBcTvR11rnyGD32ejzSTUo",selected:!1,dailyYield:3.8430599051077174,label:"Row2",yearlyYield:88.73443715558736,labelHeight:1,labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0012559240227253744,cy:.11410898246472086,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7DsYGoVdCY8aoR5rFbLhk4",selected:!1,label:"Row3",dailyYield:3.8430599051077174,yearlyYield:102.12190598796778,labelHeight:1,labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0019112216145152992,cy:.33130578714934544,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kKhGuKqmYo8sGFHt2CpVtE",selected:!1,label:"Row4",dailyYield:3.8430599051077174,yearlyYield:87.95400017679898,labelHeight:1,labelSize:.5},{type:"Human",name:"Jack",cx:5.511511655556145,cy:-3.5932139876710405,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ahAnqHX5Nd7eDufkMtRUNs",selected:!1,ly:.6}],PHn={yearlyPvYieldPanelX:-1274,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:3,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[14.323665130331175,-8.426692001879298,3.5655944521137717],panCenter:[1.684900046296442,2.3084248015304936,.043382642438776854],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230188,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:6,evolutionPanelX:3,evolutionPanelY:4,evolutionPanelRect:{x:0,y:0,width:565,height:359},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:322,height:91}},CHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},RHn=2,HHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},MHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},IHn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:20,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:20,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},zHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},DHn=[`Find optimal tilt angles +for multiple rows of solar panels`],EHn={docid:yHn,time:AHn,timestamp:wHn,userid:vHn,owner:xHn,email:bHn,world:SHn,elements:THn,view:PHn,graphState:CHn,evolutionMethod:RHn,solarPanelArrayLayoutParams:HHn,solarPanelArrayLayoutConstraints:MHn,evolutionaryAlgorithmState:IHn,economicsParams:zHn,notes:DHn},kHn="oAxppoDRPqDySUVvwUxAX9",FHn="02/08/2023 12:26 pm",LHn=1675877184356,WHn="QWecNcxhyvP6j6sBN11hBsfZDau1",NHn=null,UHn=null,BHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},jHn=[{cy:.01692723373211437,normal:[0,0,1],lz:.1,ly:28.838141151400354,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.11281543499276836,cz:.05,rotation:[0,0,0],lx:27.003966694548705,selected:!1,parentId:"Ground",textureType:"Foundation Texture #2",locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#68ccca",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.2777369741577272,y:-.4507918846693325},{x:-.46289495692954535,y:-.3294248387968199},{x:-.46289495692954535,y:.3294248387968199},{x:-.2592211758805454,y:.46813003407969145},{x:.44437915865236355,y:.46813003407969145},{x:.44437915865236355,y:-.4507918846693325},{x:-.018515798277181816,y:-.4507918846693325},{x:-.018515798277181816,y:-.20805779292430732},{x:.11109478966309089,y:-.20805779292430732},{x:.11109478966309089,y:0},{x:-.1296105879402727,y:0},{x:-.1296105879402727,y:-.4507918846693325}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"u4ViXg39ZL8tds2AfD2o6U",textureType:"No Polygon Texture",locked:!0},{type:"Human",name:"Jack",cx:-12.151272035486986,cy:-13.311260979474763,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.6}],YHn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[13.612389493613348,-45.59589484534075,13.195602276977187],panCenter:[14.4714120590319,-3.416758286517111,0],orthographic:!1,enableRotate:!0,cameraZoom:15.475618750000002,showInstructionPanel:!1,cameraPosition2D:[4.762164053203386,1.2445149902232375,150],panCenter2D:[4.762164053203386,1.244664996889924,20723025878093974e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:290,height:86},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},OHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_Hn=2,VHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},GHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},XHn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},JHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},KHn=[`Generative design of a solar farm +in an arbitrary shape`],qHn={docid:kHn,time:FHn,timestamp:LHn,userid:WHn,owner:NHn,email:UHn,world:BHn,elements:jHn,view:YHn,graphState:OHn,evolutionMethod:_Hn,solarPanelArrayLayoutParams:VHn,solarPanelArrayLayoutConstraints:GHn,evolutionaryAlgorithmState:XHn,economicsParams:JHn,notes:KHn},$Hn="wdLWJpkLqaNK26sDZ4kU9P",QHn="02/08/2023 12:31 pm",ZHn=1675877477724,eMn="QWecNcxhyvP6j6sBN11hBsfZDau1",tMn=null,nMn=null,oMn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},iMn=[{cy:.01692723373211437,normal:[0,0,1],lz:.1,ly:28.838141151400354,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.11281543499276836,cz:.05,rotation:[0,0,0],lx:27.003966694548705,selected:!1,parentId:"Ground",textureType:"Foundation Texture #2",locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#68ccca",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.2777369741577272,y:-.4507918846693325},{x:-.46289495692954535,y:-.3294248387968199},{x:-.46289495692954535,y:.3294248387968199},{x:-.2592211758805454,y:.46813003407969145},{x:.44437915865236355,y:.46813003407969145},{x:.44437915865236355,y:-.4507918846693325},{x:-.018515798277181816,y:-.4507918846693325},{x:-.018515798277181816,y:-.20805779292430732},{x:.11109478966309089,y:-.20805779292430732},{x:.11109478966309089,y:0},{x:-.1296105879402727,y:0},{x:-.1296105879402727,y:-.4507918846693325}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"u4ViXg39ZL8tds2AfD2o6U",textureType:"No Polygon Texture",locked:!0},{type:"Human",name:"Jack",cx:-12.151272035486986,cy:-13.311260979474763,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.6},{type:"Cuboid",cx:-.11397611677121855,cy:-3.067571806666861,cz:2,lx:5.2532346498753135,ly:4.048511424070542,lz:4,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"ky59NZpXJyTcUSib43iVfq",locked:!0}],rMn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[14.904063706626683,-45.61046168179694,13.166442421440415],panCenter:[14.528251370304552,-3.4151425205700146,0],orthographic:!1,enableRotate:!0,cameraZoom:17.147500000000004,showInstructionPanel:!1,cameraPosition2D:[4.762164053203386,1.2445149902246018,150],panCenter2D:[4.762164053203386,1.244664996889924,20723025878093974e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:344,height:83},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},aMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},lMn=1,sMn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},cMn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:3,pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",margin:0},uMn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},dMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},fMn=[`Generative design of a solar farm +in an arbitrary shape with a nearby structure`],hMn={docid:$Hn,time:QHn,timestamp:ZHn,userid:eMn,owner:tMn,email:nMn,world:oMn,elements:iMn,view:rMn,graphState:aMn,evolutionMethod:lMn,solarPanelArrayLayoutParams:sMn,solarPanelArrayLayoutConstraints:cMn,evolutionaryAlgorithmState:uMn,economicsParams:dMn,notes:fMn},pMn="njsXMFnx8AbzYmZZZSFsP4",gMn="02/08/2023 12:40 pm",mMn=1675878006595,yMn="QWecNcxhyvP6j6sBN11hBsfZDau1",AMn=null,wMn=null,vMn={latitude:42.58194950125034,pvGridCellSize:1.5,timesPerHour:1,longitude:-71.76008801772156,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"275 Pleasant St, Lunenburg, MA 01462, USA",date:"10/15/2021, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,daysPerYear:4},xMn=[{cy:-2.2367402479910083,normal:[0,0,1],lz:.1,ly:269.55803876661787,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:2.681119516922017,cz:.05,rotation:[0,0,0],lx:132.51400330167655,selected:!1,parentId:"Ground"},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.4199120685653116,y:.07319581727959533},{x:-.42368525470067964,y:.35513880940011766},{x:-.31048967063963856,y:.35699369750617377},{x:-.19729408657859754,y:.4701418719755939},{x:.015092744541472141,y:.47114157893824127},{x:.19997886517450586,y:.3116212018174194},{x:.23016435425745013,y:.06306619560590632},{x:.09432965338420088,y:.061211307499850244},{x:.10187602565493695,y:.014839104848448545},{x:.19997886517450586,y:-.033387985909009224},{x:.33581356604775514,y:-.03709776212112136},{x:.38109179967217155,y:-.27637832780235416},{x:.45655552237953223,y:-.27637832780235416},{x:.45655552237953223,y:-.408075383332335},{x:.29430851855870677,y:-.40993027143839106},{x:.29430851855870677,y:-.4451731454534563},{x:-.06414416430125659,y:-.4451731454534563},{x:-.06791735043662463,y:-.4767062432564095},{x:-.32449400764165104,y:-.4767062432564095},{x:-.25280347106965834,y:-.3190407542416437},{x:-.25657665720502637,y:-.16508504143899005},{x:-.16602018995619355,y:-.16508504143899005},{x:-.1633354113602852,y:-.09559900037150687},{x:-.3029432983689025,y:-.0937441122654508},{x:-.3406751597225829,y:.01940406220396935}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"1mf9SJGR5RjzYzk7AYxvf2",lineColor:"#f44e3b",opacity:.1},{type:"Cuboid",cx:-27.296734459596976,cy:-41.20962464677464,cz:1.25,lx:5.828598670924802,ly:8.305908945480084,lz:2.5,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"55Wp5i8LU9QiCSoSTSkhSV"}],bMn={yearlyPvYieldPanelX:-1249,autoRotate:!1,mapZoom:17,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:65,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#68ccca",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[145.94862814334945,-106.4764934595526,163.4608323959844],panCenter:[85.94985190690319,3.43019898834619,0],orthographic:!1,enableRotate:!0,cameraZoom:9.75349958231059,showInstructionPanel:!0,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showMapPanel:!1,showEvolutionPanel:!0,showEconomicsPanel:!1,evolutionPanelX:null,evolutionPanelY:null,evolutionPanelRect:{x:0,y:0,width:640,height:400}},SMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},TMn=1,PMn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},CMn={minimumInterRowSpacing:6,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},RMn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},HMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},MMn=[],IMn={docid:pMn,time:gMn,timestamp:mMn,userid:yMn,owner:AMn,email:wMn,world:vMn,elements:xMn,view:bMn,graphState:SMn,evolutionMethod:TMn,solarPanelArrayLayoutParams:PMn,solarPanelArrayLayoutConstraints:CMn,evolutionaryAlgorithmState:RMn,economicsParams:HMn,notes:MMn},zMn="qzzjGfFHSUFSwo9GQJs9Mb",DMn="02/04/2023 01:27 pm",EMn=1675535240483,kMn="QWecNcxhyvP6j6sBN11hBsfZDau1",FMn=null,LMn=null,WMn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},NMn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"S",showLabel:!0,labelHeight:8.5,labelSize:.8},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{type:"Wall",cx:.10882625565358328,cy:6.456179282384522,cz:2.2408122612280286,lx:15.961175461262725,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[8.089413986284946,6.456179282384521,0],rightPoint:[-7.871761474977779,6.4561792823845225,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:8.089413986284946,cy:-.15071949165393628,cz:2.2301039869226305,lx:13.213797548076919,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[8.089413986284942,-6.757618265692395,0],rightPoint:[8.089413986284947,6.4561792823845225,0],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,centerRoofHeight:[0,8.657123351013743],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:-7.871761474977779,cy:-.15071949165393628,cz:2.228839888904333,lx:13.213797548076919,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-7.871761474977778,6.4561792823845225,0],rightPoint:[-7.871761474977779,-6.757618265692395,0],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,centerRoofHeight:[0,8.657123351013743],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:.10882625565358417,cy:-6.757618265692395,cz:2.268765007024547,lx:15.961175461262727,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-7.871761474977779,-6.757618265692395,0],rightPoint:[8.089413986284947,-6.757618265692395,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Foundation",cx:-13.996646874999989,cy:.06415311833261989,cz:.05,lx:21.734456249999983,ly:19.033724999999986,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:10,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"L",showLabel:!0},{type:"Door",cx:0,cy:0,cz:-.15370387000018937,lx:.12530405450738497,ly:0,lz:.6925922599996213,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"tciKLNsRDLeHZNmeb31ucG"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"gLG7BoTZHSewPba87UV4Za"}],UMn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-23.305173327292444,-30.91478882666535,7.039269079297642],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[5.635542831447647,8.464690688330043,3.125544256683276],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-2,y:-2,width:200,height:87}},BMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},jMn=1,YMn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},OMn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},_Mn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},VMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},GMn=[`Effect of house size +房子大小的影響`],XMn={docid:zMn,time:DMn,timestamp:EMn,userid:kMn,owner:FMn,email:LMn,world:WMn,elements:NMn,view:UMn,graphState:BMn,evolutionMethod:jMn,solarPanelArrayLayoutParams:YMn,solarPanelArrayLayoutConstraints:OMn,evolutionaryAlgorithmState:_Mn,economicsParams:VMn,notes:GMn},JMn="6D1PNtCu8dQATzUSZDdPKf",KMn="05/22/2023 10:33 am",qMn=1684766015061,$Mn="QWecNcxhyvP6j6sBN11hBsfZDau1",QMn=null,ZMn=null,eIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},tIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,.7853981633974483],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"SE",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#cccccc",tint:"#009ce0",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"SW",showLabel:!0,color:"#808080"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"3wrKU52naWH6NwzeW6vGwm"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"9C29UNsLxSuEbxTnestrd8"}],nIn=28,oIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[3.1651364435149425,-31.942224578560552,3.8771204506826087],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[10.838986266637484,1.4239280652904787,3.8771204506826087],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-5,y:0,width:269,height:92}},iIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},rIn=1,aIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},lIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},sIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},cIn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},uIn="Unknown",dIn=null,fIn=null,hIn=null,pIn=[`Effect of house orientation +房屋朝向的影響`],gIn={docid:JMn,time:KMn,timestamp:qMn,userid:$Mn,owner:QMn,email:ZMn,world:eIn,elements:tIn,sceneRadius:nIn,view:oIn,graphState:iIn,evolutionMethod:rIn,solarPanelArrayLayoutParams:aIn,solarPanelArrayLayoutConstraints:lIn,evolutionaryAlgorithmState:sIn,economicsParams:cIn,modelType:uIn,modelAuthor:dIn,modelLabel:fIn,modelDescription:hIn,notes:pIn},mIn="gRqNfJd8beo5ietdqmmTM2",yIn="05/22/2023 10:35 am",AIn=1684766140952,wIn="QWecNcxhyvP6j6sBN11hBsfZDau1",vIn=null,xIn=null,bIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},SIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"👎",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:3.5222057461264544,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"👍",showLabel:!0,color:"#808080"},{type:"Door",cx:-.020833333333333332,cy:0,cz:-.125,lx:.125,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"vNVpqbsNF7tYjDx7E7kMLR"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"xpWZ6k69MtomLyhCbBynNa"}],TIn=24,PIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-18.39191326488849,-28.88082266775545,4.500680104409036],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[9.06975830834568,5.812472797471483,4.500680104409029],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-2,y:-1,width:243,height:90}},CIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},RIn=1,HIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},MIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},IIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},zIn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},DIn="Unknown",EIn=null,kIn=null,FIn=null,LIn=[`Effect of insulation +房屋隔熱性的影響`],WIn={docid:mIn,time:yIn,timestamp:AIn,userid:wIn,owner:vIn,email:xIn,world:bIn,elements:SIn,sceneRadius:TIn,view:PIn,graphState:CIn,evolutionMethod:RIn,solarPanelArrayLayoutParams:HIn,solarPanelArrayLayoutConstraints:MIn,evolutionaryAlgorithmState:IIn,economicsParams:zIn,modelType:DIn,modelAuthor:EIn,modelLabel:kIn,modelDescription:FIn,notes:LIn},NIn="2b6To2exbyQMzsnyC5zQ4h",UIn="05/22/2023 10:37 am",BIn=1684766230048,jIn="QWecNcxhyvP6j6sBN11hBsfZDau1",YIn=null,OIn=null,_In={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},VIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"B",showLabel:!0,labelHeight:6.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"A",labelHeight:6.5,showLabel:!0,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#cccccc",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"fPNsZAwsuY65jcgPGD7JxY"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"pMhyfs2o4fEnaE7UjB8PVu"}],GIn=22,XIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.301199186500163,-22.5861615760567,3.4543056235043506],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[6.0653741729769015,2.261846946588245,3.4543056235043506],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-4,width:278,height:87}},JIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},KIn=1,qIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},$In={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},QIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ZIn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ezn="Unknown",tzn=null,nzn=null,ozn=null,izn=[`Effect of roof color +屋頂顔色的影響`],rzn={docid:NIn,time:UIn,timestamp:BIn,userid:jIn,owner:YIn,email:OIn,world:_In,elements:VIn,sceneRadius:GIn,view:XIn,graphState:JIn,evolutionMethod:KIn,solarPanelArrayLayoutParams:qIn,solarPanelArrayLayoutConstraints:$In,evolutionaryAlgorithmState:QIn,economicsParams:ZIn,modelType:ezn,modelAuthor:tzn,modelLabel:nzn,modelDescription:ozn,notes:izn},azn="gyoLQ5RfiYexA7q1ehdofm",lzn="05/22/2023 10:45 am",szn=1684766701791,czn="QWecNcxhyvP6j6sBN11hBsfZDau1",uzn=null,dzn=null,fzn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},hzn=[{type:"Human",name:"Jacqueline",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"B",showLabel:!0,labelHeight:7,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#808080",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"A",labelHeight:7,showLabel:!0,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.8,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#808080",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"uPY2H1vbzdvDNNQKsQzM2R"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"qj1uppbZ68e6DUdrkgfzdA"}],pzn=22,gzn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-11.365944827281202,-27.884282052116806,4.909032289220344],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[8.512452835588759,2.1768673048896354,4.909032289220344],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-1,y:0,width:284,height:88}},mzn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},yzn=1,Azn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},wzn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},vzn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},xzn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},bzn="Unknown",Szn=null,Tzn=null,Pzn=null,Czn=[`Effect of eaves overhang +屋簷延申長度的影響`],Rzn={docid:azn,time:lzn,timestamp:szn,userid:czn,owner:uzn,email:dzn,world:fzn,elements:hzn,sceneRadius:pzn,view:gzn,graphState:mzn,evolutionMethod:yzn,solarPanelArrayLayoutParams:Azn,solarPanelArrayLayoutConstraints:wzn,evolutionaryAlgorithmState:vzn,economicsParams:xzn,modelType:bzn,modelAuthor:Szn,modelLabel:Tzn,modelDescription:Pzn,notes:Czn},Hzn="iJM88uQ7kfN8BTPGSVD3jV",Mzn="05/22/2023 10:47 am",Izn=1684766839823,zzn="QWecNcxhyvP6j6sBN11hBsfZDau1",Dzn=null,Ezn=null,kzn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},Fzn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#009ce0",opacity:.65,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#009ce0",opacity:.65,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.35,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.35,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"B",showLabel:!0,color:"#666666"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"rRMpmcwQNzvRYmkTWpEhiw"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"jyiupxyxWNzhU4yRrTPHU1"}],Lzn=24,Wzn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-16.77287507225449,-24.274336266873924,5.320155603217975],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[10.498836843888402,4.793969537181787,2.890808814152251],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-5,y:-1,width:421,height:65}},Nzn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Uzn=1,Bzn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},jzn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Yzn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ozn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},_zn="Unknown",Vzn=null,Gzn=null,Xzn=null,Jzn=["Effect of solar heat gain coefficients (SHGC) of windows"],Kzn={docid:Hzn,time:Mzn,timestamp:Izn,userid:zzn,owner:Dzn,email:Ezn,world:kzn,elements:Fzn,sceneRadius:Lzn,view:Wzn,graphState:Nzn,evolutionMethod:Uzn,solarPanelArrayLayoutParams:Bzn,solarPanelArrayLayoutConstraints:jzn,evolutionaryAlgorithmState:Yzn,economicsParams:Ozn,modelType:_zn,modelAuthor:Vzn,modelLabel:Gzn,modelDescription:Xzn,notes:Jzn},qzn="6nLDNj8vM4d4LSQKVT9SXo",$zn="05/22/2023 10:49 am",Qzn=1684766960725,Zzn="QWecNcxhyvP6j6sBN11hBsfZDau1",eDn=null,tDn=null,nDn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},oDn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"20℃",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#999999"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:25},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"25℃",showLabel:!0,color:"#999999"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"1TYVF9JTXJtxWba41xgetC"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"afEtgeFVMoeDZdyxJU1psm"}],iDn=24,rDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.828926822512322,-33.873528421784314,4.788669771967834],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[11.438181824994281,-4.700464851624883,4.788669771967831],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-1,y:0,width:277,height:63}},aDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},lDn=1,sDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},cDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},uDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},dDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},fDn="Unknown",hDn=null,pDn=null,gDn=null,mDn=["Effect of thermostat setpoint"],yDn={docid:qzn,time:$zn,timestamp:Qzn,userid:Zzn,owner:eDn,email:tDn,world:nDn,elements:oDn,sceneRadius:iDn,view:rDn,graphState:aDn,evolutionMethod:lDn,solarPanelArrayLayoutParams:sDn,solarPanelArrayLayoutConstraints:cDn,evolutionaryAlgorithmState:uDn,economicsParams:dDn,modelType:fDn,modelAuthor:hDn,modelLabel:pDn,modelDescription:gDn,notes:mDn},ADn="uQrNcHUUR7GCUfUbuFogjq",wDn="02/04/2023 01:39 pm",vDn=1675535990373,xDn="QWecNcxhyvP6j6sBN11hBsfZDau1",bDn=null,SDn=null,TDn={solarRadiationHeatmapGridCellSize:.5,date:"7/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},PDn=[{type:"Human",name:"Jamelia",cx:-4.3683434199366005,cy:-14.38651482103353,cz:0,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Foundation",cx:-13.228758971915111,cy:.10702186833261693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:9,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.0818182264215075,cy:-.11406220740522244,cz:2.2301039869226305,lx:9.999999999999998,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.0818182264215075,-5.1140622074052215,.1],rightPoint:[6.081818226421507,4.885937792594777,.1],relativeAngle:1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H",uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:.2916666666666667,lx:.08333333333333337,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #6",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"gLG7BoTZHSewPba87UV4Za",uValue:1.135652},{type:"Window",cx:-.16666666666666666,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vLVbxQBoEhW71qxT8m1C96",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"26QzSovJr2WkHKUiErU1ER",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dZ11kEn33ciPLMqva4wYhW",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.16666666666666666,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oEPM7Qer3dagcgAZgTd83X",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nJe6q1fYHpVb61zzuXMiiq",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"atbMWVsRWU1gP4pFd8UmqE",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4Xcrc4Qc969xumwjdaTpEv",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9r471ngxUS5HfZPQXAbspz",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nuMh9HUjsyggQDkK4K4z9r",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5TzjYq921EthYvgGjhkd95",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"i86kfMa5D3a95EHYr74Cik",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fes2JVoykppGjYbeBaK1t6",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hRvyn5tFnyKbZGmExP8ZBN",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fHUqZ9dwKm5QsdBz4rQhkH",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hVPD3ovUCMHizYi7hHMynX",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"92r9RVUcqNvqTSSqzXVWe8",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"88LWhfUeptGcLDGkhffTYu",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jJyncTarX8t32trtWmHYJ8",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tbGfuWPSK8hFimiixh3gnq",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.0463748368250254,thickness:.2,rValue:2.8177645969011635,roofType:"Gable",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj"],textureType:"Roof Texture Default",color:"#333333",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"6YiUmdowinEDGE2jXwEcty",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],volumetricHeatCapacity:.2,ceiling:!1},{type:"Window",cx:.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uPf27SYtJ3oEqK8uLnnYC4",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:0,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"41qtH3jyhy6TAYrTpcQ22r",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"c15PoZLmaL9G5281NC3Bky",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"e8J6XhFvtnTfamsfk7MdQo",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:-4625929269271485e-33,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1.135652,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1Z9wCTEw4evBfgBWBx239G"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["iUbSPuuaLHTe92zf2RbbzH"],rightJoints:["b2z6LAysW1ypLiK23VhMbQ"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"t5aKJuTWqFhNtovV6QcVDQ",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6XAyQ1Y5un66zE9fws5TBK",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5Fr8WLjKhMXxtEUSo3U3cz",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:0,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bFA3kdwdbv23kgNuvqrBLu",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2peuf57tgQn8h8KDddojmU",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pRLjDR4NSZstZSY2CyZhG6",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:-4625929269271485e-33,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,color:"#ffffff",textureType:"Door Texture #1",filled:!0,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"fRfZQadrT6sohNBtnZQnjD",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",selected:!1,uValue:1.135652},{type:"Wall",cx:6.0818182264215075,cy:-.11406220740522244,cz:2.2301039869226305,lx:9.999999999999998,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["t1vsyYVv6oASAroVbtBJh8"],rightJoints:["t5aKJuTWqFhNtovV6QcVDQ"],leftPoint:[6.0818182264215075,-5.1140622074052215,.1],rightPoint:[6.081818226421507,4.885937792594777,.1],relativeAngle:1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"iUbSPuuaLHTe92zf2RbbzH",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.35833333333333334,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"twjCCVvcJUWUtdX8G6XaEz",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fJ9ef8TPTGwzuoD998nCxH",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"75FMXmZGkavm2QX1w7Rd2n",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"digHAxUKfqtzZ8Hf1JBrDE",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pUavBYiArb55RaZvTqEZ7s",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bMNcD6i8MyPWUstcj4RLAn",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["t5aKJuTWqFhNtovV6QcVDQ"],rightJoints:["t1vsyYVv6oASAroVbtBJh8"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"b2z6LAysW1ypLiK23VhMbQ",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:.3416666666666667,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7af2qg5wEnfy5x3dVwJDa9",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8pzbRVzHdUJ21tt86EiuYq",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9Rqpx9csAi6gzvsKmMevD7",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sRtEGAvWiVdZjNF7cbimyK",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cYa823h2xpVhLafAMFJLLp",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eCrrhs7nC8ZLgf3kozqASz",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["b2z6LAysW1ypLiK23VhMbQ"],rightJoints:["iUbSPuuaLHTe92zf2RbbzH"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"t1vsyYVv6oASAroVbtBJh8",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xoY2sZ3zu3yaqNq4svSL83",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:.2916666666666667,lx:.08333333333333337,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"shVdFBTLP3GUxKo2h9rQPd",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,color:"#ffffff",textureType:"Door Texture #6",filled:!0,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"miHyMDSBYSuj5NSFDxZf2d",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",selected:!1,uValue:1.135652},{type:"Window",cx:-.16666666666666666,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"izobe4AEhigpZU6WX5N4k5",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"o5YP1zidq8SX6PcUxxaAjL",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4GhJEysBwSqkSWJpqyaJ48",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.16666666666666666,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aAGJp2q5U3FuWTdYaSVjDf",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"twPsG5mQU2qWwH6PZR3MFv",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1Gwnr8y8qnWjyqse356de2",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{id:"5ujWfCT94pVpZ6u8JCHaJM",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.0463748368250254,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.2,wallsId:["t5aKJuTWqFhNtovV6QcVDQ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,volumetricHeatCapacity:.2,ceiling:!1},{type:"Foundation",cx:13.117837499999993,cy:-.021318315185384407,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},labelHeight:9,labelSize:.8,showLabel:!0,id:"9Lzok59gfWu44BJHP6NeDv",selected:!1,label:"B",color:"#666666"},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!0,poleHeight:10,poleRadius:.05,poleSpacing:3,cx:.017473997824250177,cy:-.1848238594563359,cz:7.203451961471109,lx:10.906,ly:4.184,lz:.046,showLabel:!1,normal:[-25496209749856465e-33,-.3787787636615868,.9254872490742375],rotation:[.38847637916043065,0,-2220446049250313e-31],color:"#fff",frameColor:"white",parentType:"Roof",parentId:"5ujWfCT94pVpZ6u8JCHaJM",foundationId:"9Lzok59gfWu44BJHP6NeDv",id:"m7muU5PcHHSqA6qooFMWMX",selected:!1}],CDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.205706148898816,-34.501280243521734,7.541149435690317],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[7.9613043217859705,4.9057140700953275,7.541149435690313],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:675,height:408},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:-1091,y:218,width:775,height:342},stickyNotePanelRect:{x:-3,y:-2,width:275,height:63}},RDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},HDn=1,MDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},IDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},zDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},DDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},EDn=["Effect of rooftop solar panels"],kDn={docid:ADn,time:wDn,timestamp:vDn,userid:xDn,owner:bDn,email:SDn,world:TDn,elements:PDn,view:CDn,graphState:RDn,evolutionMethod:HDn,solarPanelArrayLayoutParams:MDn,solarPanelArrayLayoutConstraints:IDn,evolutionaryAlgorithmState:zDn,economicsParams:DDn,notes:EDn},FDn="4VyiQ32UEi5Uhg2actsJ7k",LDn="05/22/2023 10:52 am",WDn=1684767120478,NDn="QWecNcxhyvP6j6sBN11hBsfZDau1",UDn=null,BDn=null,jDn={solarRadiationHeatmapGridCellSize:.5,date:"7/1/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},YDn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"Uninsulated floor",showLabel:!0,labelHeight:7,labelSize:.5,color:"#808080",rValue:1.7611028730632272},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#808080",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"Insulated floor",labelHeight:7,showLabel:!0,labelSize:.5,color:"#808080",rValue:3.5222057461264544},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#808080",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"3uhARcmLhJJ7AF4oGmRXFJ"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"rJ589nLaG9XWmTRZhwLvTz"}],ODn=22,_Dn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-17.829241192466892,-21.107034059971184,4.718921354569243],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[4.327600264578368,2.7041849125647666,4.718921354569243],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!0,diurnalTemperaturePanelRect:{x:-1,y:1,width:517,height:333},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:10,stickyNotePanelRect:{x:-2,y:344,width:517,height:60}},VDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},GDn=1,XDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},JDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},KDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},qDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},$Dn="Unknown",QDn=null,ZDn=null,eEn=null,tEn=["Effect of ground temperature and floor insulation"],nEn={docid:FDn,time:LDn,timestamp:WDn,userid:NDn,owner:UDn,email:BDn,world:jDn,elements:YDn,sceneRadius:ODn,view:_Dn,graphState:VDn,evolutionMethod:GDn,solarPanelArrayLayoutParams:XDn,solarPanelArrayLayoutConstraints:JDn,evolutionaryAlgorithmState:KDn,economicsParams:qDn,modelType:$Dn,modelAuthor:QDn,modelLabel:ZDn,modelDescription:eEn,notes:tEn},oEn="gTE5M2QuRpvxtj7gFjQvBp",iEn="05/22/2023 10:53 am",rEn=1684767216212,aEn="QWecNcxhyvP6j6sBN11hBsfZDau1",lEn=null,sEn=null,cEn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},uEn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Tree",name:"Maple",cx:11.597557786217195,cy:-9.10270743636709,cz:0,lx:11.852806241793175,lz:12.934464914753796,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"o3k54VQM47Q54nSJAwrmEn",selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"B",showLabel:!0,color:"#666666"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #14",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"p8R6iYpCmdMa5Cs4zuS1P6"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #14",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"56LE4zBekLnvJc9jFEm7Yu"}],dEn=24,fEn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-25.541858353538785,-23.926978121750373,5.679305436989464],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[13.47063227815913,1.5150691532035274,5.679305436989461],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-2,width:203,height:64}},hEn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},pEn=1,gEn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},mEn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},yEn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},AEn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},wEn="Unknown",vEn=null,xEn=null,bEn=null,SEn=["Effect of trees"],TEn={docid:oEn,time:iEn,timestamp:rEn,userid:aEn,owner:lEn,email:sEn,world:cEn,elements:uEn,sceneRadius:dEn,view:fEn,graphState:hEn,evolutionMethod:pEn,solarPanelArrayLayoutParams:gEn,solarPanelArrayLayoutConstraints:mEn,evolutionaryAlgorithmState:yEn,economicsParams:AEn,modelType:wEn,modelAuthor:vEn,modelLabel:xEn,modelDescription:bEn,notes:SEn},PEn="21TNkEaRQtmkMpHquDpRhe",CEn="03/21/2023 12:30 pm",REn=1679416202848,HEn="QWecNcxhyvP6j6sBN11hBsfZDau1",MEn=null,IEn=null,zEn={solarRadiationHeatmapGridCellSize:.25,date:"1/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},DEn=[{type:"Human",name:"Judd",cx:2.5001103094985826,cy:-6.058721988130646,cz:.030962420627473897,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-10.117024999999996,cy:.27838070851727714,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"No Ceiling",showLabel:!0,labelHeight:6,labelSize:.5,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.068830689450057,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.029166666666666664,cy:0,cz:-.08333333333333333,lx:.10833333333333334,ly:0,lz:.8333333333333334,color:"white",uValue:1.7034779999999998,textureType:"Door Texture #17",filled:!0,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"9j89u3pSufVm3Q5kpF4NcM",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",selected:!1},{type:"Human",name:"Jena",cx:2.5001103094985826,cy:-6.058721988130646,cz:.030962420627473897,lx:.695,ly:.42,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"cfvC81ormzBEgA9Ah4eP3v",id:"34EHkp2Lb8b2vnEKfniznR",selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["rHyZXvwyEPAa7dU7nYmXpR"],rightJoints:["jvSvdwWqKHJqgaZtgavr3X"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8NQNpFkXNGAXtcTwXhtHNW",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["sb7GHiMmhgNyZJdQ71BL5y"],rightJoints:["8NQNpFkXNGAXtcTwXhtHNW"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rHyZXvwyEPAa7dU7nYmXpR",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["8NQNpFkXNGAXtcTwXhtHNW"],rightJoints:["sb7GHiMmhgNyZJdQ71BL5y"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jvSvdwWqKHJqgaZtgavr3X",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["jvSvdwWqKHJqgaZtgavr3X"],rightJoints:["rHyZXvwyEPAa7dU7nYmXpR"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sb7GHiMmhgNyZJdQ71BL5y",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Window",cx:-.3125,cy:.1,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q6p3CCHJFvsqrEsXwbRh1R",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3125,cy:.1,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"j1XnXywfGpFArNKZPbAhkm",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:4625929269271485e-33,cy:0,cz:-.08333333333333333,lx:.10833333333333334,ly:0,lz:.8333333333333334,color:"white",uValue:1.7034779999999998,textureType:"Door Texture #17",filled:!0,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"6uoZg4uoFLaTiYnPcJZ3V9",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",selected:!1},{id:"gCFHHnVKnRgFUFksjrmZCm",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!0,rise:2.068830689450057,color:"#4d4d4d",rValue:1.7611028730632272,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["sb7GHiMmhgNyZJdQ71BL5y"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,ceilingRValue:3.5222057461264544},{type:"Foundation",cx:10.177578528084874,cy:.23562811833261754,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},labelHeight:6,labelSize:.5,showLabel:!0,id:"cfvC81ormzBEgA9Ah4eP3v",selected:!1,label:"Insulated Ceiling"}],EEn=23,kEn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,.08573749999997851,4287065548240426e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,.08558749333259577,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-19.73331041183491,-15.606053038152623,2.569638957524864],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[3.388120187568702,1.9907625161279443,1.1720990830439746],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:3,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-2,y:3,width:510,height:354},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:2,stickyNotePanelRect:{x:-4,y:2,width:397,height:65}},FEn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},LEn=1,WEn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},NEn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},UEn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},BEn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},jEn="Unknown",YEn=null,OEn=null,_En=null,VEn=["Thermal envelope vs. building envelope"],GEn={docid:PEn,time:CEn,timestamp:REn,userid:HEn,owner:MEn,email:IEn,world:zEn,elements:DEn,sceneRadius:EEn,view:kEn,graphState:FEn,evolutionMethod:LEn,solarPanelArrayLayoutParams:WEn,solarPanelArrayLayoutConstraints:NEn,evolutionaryAlgorithmState:UEn,economicsParams:BEn,modelType:jEn,modelAuthor:YEn,modelLabel:OEn,modelDescription:_En,notes:VEn},XEn=t=>{let e;switch(t){case"sun_angles":e=cnn;break;case"insolation_and_climate":e=Pnn;break;case"solar_radiation_to_box":e=jnn;break;case"sun_beam_at_center":e=oon;break;case"thermal_vs_building_envelope":e=GEn;break;case"effect_house_size":e=XMn;break;case"effect_house_orientation":e=gIn;break;case"effect_wall_roof_insulation":e=WIn;break;case"effect_roof_color":e=rzn;break;case"effect_eaves_overhang_length":e=Rzn;break;case"effect_window_shgc":e=Kzn;break;case"effect_thermostat_setpoint":e=yDn;break;case"effect_solar_panels":e=kDn;break;case"effect_ground_temperature":e=nEn;break;case"effect_trees":e=TEn;break;case"office_building_01":e=uyn;break;case"hotel_01":e=Cyn;break;case"spanish_style_hotel":e=Jyn;break;case"apartment_building_01":e=m2n;break;case"white_house":e=Cmn;break;case"bilim_mersin_turkiye":e=Jmn;break;case"south_burlington_high_school":e=E2n;break;case"mescalero_apache_school":e=q2n;break;case"heatmap_01":e=a5n;break;case"vegetative_buffer_01":e=S6n;break;case"solar_canopy_form_factors":e=ewn;break;case"solar_canopy_over_bleachers":e=ywn;break;case"solar_bus_stop":e=Uwn;break;case"solar_facade_tesla":e=j7n;break;case"solar_canopy_over_garage":e=T7n;break;case"bipv_01":e=n7n;break;case"floatovoltaics":e=i8n;break;case"agriculture_solar_wind_colocation":e=z8n;break;case"effect_tilt_angle_solar_panel":e=B6n;break;case"effect_azimuth_solar_panel":e=oAn;break;case"effect_azimuth_parabolic_trough":e=vAn;break;case"effect_latus_rectum_parabolic_trough":e=LAn;break;case"parabolic_dish_focus_sunlight":e=Yvn;break;case"effect_orientation_solar_panel":e=ZAn;break;case"solar_panel_types":e=won;break;case"vertical_bifacial_solar_panels":e=_on;break;case"compare_monofacial_bifacial_solar_panels":e=gin;break;case"why_solar_array":e=g4n;break;case"solar_panel_array_auto_layout":e=W4n;break;case"inter_row_spacing":e=J8n;break;case"rooftop_solar_panels":e=Din;break;case"solar_panels_over_canal":e=Tan;break;case"solar_noise_barrier":e=lan;break;case"rainbow_swash_solar_farm":e=Kin;break;case"mickey_mouse_solar_farm":e=frn;break;case"solar_farm_hsat_array":e=Hrn;break;case"solar_farm_aadat_array":e=_rn;break;case"solar_trackers":e=jan;break;case"nevada_solar_one_parabolic_troughs":e=Cvn;break;case"tooele_parabolic_dish_array":e=ixn;break;case"ps10_solar_power_tower":e=uvn;break;case"linear_fresnel_reflectors":e=xxn;break;case"linear_fresnel_reflectors_two_absorbers":e=Nxn;break;case"effect_absorber_pipe_height":e=tbn;break;case"effect_azimuth_fresnel_reflector":e=Abn;break;case"cosine_efficiency_heliostats":e=Bbn;break;case"shadowing_blocking_heliostats":e=sSn;break;case"effect_solar_power_tower_height":e=ISn;break;case"solar_power_tower":e=XSn;break;case"solar_updraft_tower":e=EPn;break;case"solar_updraft_tower_city":e=OPn;break;case"effect_blade_number":e=mCn;break;case"effect_pitch_angle":e=OCn;break;case"bird_safe_blade_design":e=mRn;break;case"offshore_wind_farm":e=ORn;break;case"cape_cod_with_shed_dormer":e=Mln;break;case"mansard_roof_with_dormers":e=$ln;break;case"t_shaped_house":e=wsn;break;case"all_roof_types":e=iln;break;case"a_frame_house":e=Shn;break;case"half_timbered_house":e=Vhn;break;case"dutch_gable_roof":e=thn;break;case"combination_roof_vs_bonnet_roof":e=fpn;break;case"butterfly_roof_house":e=kpn;break;case"gable_roof_vs_hip_roof":e=t1n;break;case"gable_and_valley_roof":e=b1n;break;case"clerestory_roof":e=O1n;break;case"monitor_roof":e=dgn;break;case"colonial_vs_saltbox":e=Dgn;break;case"gambrel_roof_vs_mansard_roof":e=Zgn;break;case"colonial_house":e=rfn;break;case"dutch_colonial_house":e=Ifn;break;case"cape_cod_with_garage":e=jsn;break;case"greenhouse":e=H5n;break;case"solarium":e=wun;break;case"pavilion":e=t9n;break;case"octagonal_pagoda":e=A9n;break;case"ocean_front":e=F9n;break;case"mosque_01":e=Lun;break;case"church_01":e=Zun;break;case"cathedral_01":e=mdn;break;case"cathedral_02":e=Ndn;break;case"adobe_taos_house":e=icn;break;case"egyptian_pyramids":e=Q9n;break;case"mayan_pyramid":e=x3n;break;case"si_o_se_pol":e=N3n;break;case"stacked_cuboids":e=a6n;break;case"barn_house":e=M0n;break;case"ranch_house":e=zcn;break;case"bonnet_house":e=n0n;break;case"modern_house_01":e=$0n;break;case"solar_radiation_predicted_vs_measured":e=cTn;break;case"bestest_case_600":e=CTn;break;case"bestest_case_610":e=OTn;break;case"bestest_case_620":e=aPn;break;case"bestest_case_630":e=SPn;break;case"tucson_sundt_station":e=ZRn;break;case"ai_tilt_angle_one_row":e=mHn;break;case"ai_tilt_angles_multiple_rows":e=EHn;break;case"ai_solar_farm_design":e=qHn;break;case"ai_solar_farm_design_block":e=hMn;break;case"ai_fitchburg_solar_farm":e=IMn;break}return e},OH=()=>{const t=M(dn),e=M(Rje),n=M(Hje),o=M(hp),i=Kt(),r=be.isMac(),a=()=>{if(n&&n.length>0){const l=e();if(l.length>0){const s={name:"Paste to Point",timestamp:Date.now(),pastedElements:l.map(c=>({...c})),undo:()=>{for(const c of s.pastedElements)o(c.id,!1)},redo:()=>{t(c=>{c.elements.push(...s.pastedElements),c.selectedElement=s.pastedElements[0],c.updateElementOnRoofFlag=!0})}};M.getState().addUndoable(s)}}};return h.jsxs(tn,{onClick:a,children:[O.t("word.Paste",i),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",r?"⌘":"Ctrl","+V)"]})]})},Sf=()=>{const t=M(dn),e=M(Cje),n=M(ha),o=Kt(),i=be.isMac(),r=()=>{const a=M.getState().selectedElement;a&&(e(a.id),n&&t(l=>{l.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:a.id,elementType:a.type}}))};return h.jsxs(tn,{onClick:r,children:[O.t("word.Copy",o),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",i?"⌘":"Ctrl","+C)"]})]})},Tf=()=>{const t=M(dn),e=M(hp),n=be.isMac(),o=Kt(),i=()=>{const r=M.getState().selectedElement;if(!(!r||r.type===z.Roof))if(r.locked)fn(O.t("message.ThisElementIsLocked",o));else{const a=e(r.id,!0);if(a.length===0)return;if(be.isElementTriggerAutoDeletion(a[0]))Ln.getState().setListenToAutoDeletionByCut(!0),gt.getState().setPrimitiveStore("selectedElementId",r.id);else{const l={name:"Cut",timestamp:Date.now(),deletedElements:a,selectedElementId:r.id,undo:()=>{const s=l.deletedElements;if(s.length===0)return;const c=s.find(u=>u.id===l.selectedElementId);c&&t(u=>{for(const d of s)u.elements.push(d);if(c.type===z.Wall){const d=c;let f=null,p=null;if(d.leftJoints.length>0&&(f=d.leftJoints[0]),d.rightJoints.length>0&&(p=d.rightJoints[0]),f||p)for(const g of u.elements)g.id===f&&g.type===z.Wall&&(g.rightJoints[0]=d.id),g.id===p&&g.type===z.Wall&&(g.leftJoints[0]=d.id)}})},redo:()=>{l.deletedElements&&l.deletedElements.length>0&&e(l.deletedElements[0].id,!0)}};M.getState().addUndoable(l)}}};return h.jsxs(tn,{onClick:i,children:[O.t("word.Cut",o),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",n?"⌘":"Ctrl","+X)"]})]})},Md=({selectedElement:t})=>{const e=Kt(),n=M(fwt),o=M(En),i=a=>{t&&n(t.id,a)},r=a=>{const l=a.target.checked,s={name:"Lock",timestamp:Date.now(),checked:l,selectedElementId:t==null?void 0:t.id,selectedElementType:t==null?void 0:t.type,undo:()=>{i(!s.checked)},redo:()=>{i(s.checked)}};o(s),i(l)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.locked,onChange:r,children:O.t("word.Lock",e)})})},tn=({stayAfterClick:t,noPadding:e,fontWeight:n,textSelectable:o=!0,update:i,onClick:r,children:a})=>{const l=s=>{r&&r(s),t&&s.stopPropagation(),i&>.getState().updateContextMenu()};return h.jsx("span",{onClick:l,style:{userSelect:o?"auto":"none",display:"inline-block",fontWeight:n,width:"100%",paddingLeft:e?"0px":"24px"},children:a})},io=({Dialog:t,noPadding:e,children:n})=>{const[o,i]=m.useState(!1),r=()=>{M.getState().setApplyCount(0),i(!0)};return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:e,onClick:r,children:n}),o&&h.jsx(t,{setDialogVisible:i})]})},m$e=({groupableElement:t})=>{const e=Kt(),n=()=>{M.getState().set(i=>{for(const r of i.elements)if(r.id===t.id&&hd(r)){r.enableGroupMaster=!r.enableGroupMaster;break}i.groupActionUpdateFlag=!i.groupActionUpdateFlag})},o=i=>{const r={name:"Group Master",timestamp:Date.now(),checked:i.target.checked,selectedElementId:t.id,selectedElementType:t.type,undo:()=>n(),redo:()=>n()};M.getState().addUndoable(r),n()};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.enableGroupMaster,onChange:o,children:O.t("foundationMenu.GroupMaster",e)})})},qG=({element:t,inside:e,children:n})=>{const o=M.getState().updateInsideLightsByParentId,i=()=>{const r=new Map;for(const l of M.getState().elements)l.parentId===t.id&&l.type===z.Light&&r.set(l.id,l.inside);o(t.id,e);const a={name:e?`Set All Lights on ${t.type} Inside`:`Set All Lights on ${t.type} Outside`,timestamp:Date.now(),oldValues:r,newValue:!0,undo:()=>{for(const[l,s]of a.oldValues.entries())M.getState().updateInsideLightById(l,s)},redo:()=>{o(t.id,e)}};M.getState().addUndoable(a)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:i,children:n})},Pye=({solarCollector:t})=>{const e=M.getState().updateSolarCollectorDrawSunBeamById,n=Kt(),o=i=>{const r={name:"Show Sun Beam",timestamp:Date.now(),checked:!t.drawSunBeam,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{e(t.id,!r.checked)},redo:()=>{e(t.id,r.checked)}};M.getState().addUndoable(r),e(t.id,i)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.drawSunBeam,onChange:i=>o(i.target.checked),children:O.t("solarCollectorMenu.DrawSunBeam",n)})})},c7=({checked:t,onClick:e,children:n})=>h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onClick:e,children:n})}),bC=({min:t,max:e,value:n,onChange:o,children:i})=>h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[i,h.jsx(Mu,{min:t,max:e,tooltip:{open:!1},defaultValue:n,onChange:o})]}),nh=({children:t})=>h.jsx("span",{style:{paddingLeft:"2px",fontSize:9},children:t}),r2=({selector:t,onChange:e,children:n})=>{const o=M(t);return h.jsx(tn,{noPadding:!0,stayAfterClick:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:o,onChange:e,children:n})})},Dre=({selector:t,onChange:e,children:n})=>{const o=M(t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:n}),h.jsx(wc,{checked:o,onChange:e})]})},y$e="/aladdin/assets/map_residential_building-BlM-FtN4.png",A$e="/aladdin/assets/map_commercial_building-DgYY52Jp.png",w$e="/aladdin/assets/map_school_building-B4f7IMQ-.png",v$e="/aladdin/assets/map_tourist_attraction-qR1MEaG5.png",x$e="/aladdin/assets/map_solar_panel-DyfTsHia.png",b$e="/aladdin/assets/map_parabolic_dish-C1NBHVgm.png",S$e="/aladdin/assets/map_parabolic_trough-CCcc-zs6.png",T$e="/aladdin/assets/map_fresnel_reflector-Bzw0EMA6.png",P$e="/aladdin/assets/map_heliostat-BXje3i1H.png",C$e="/aladdin/assets/map_under_construction-fpLVLcIy.png",R$e="/aladdin/assets/map_marker-C9GhGDY6.png",H$e="/aladdin/assets/map_wind_turbine-Bw5iob8S.png",M$e="/aladdin/assets/map_colocation_projects-PrxUC05F.png";var fQ={exports:{}},I$e={};function z$e(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const n=(t=window.document)===null||t===void 0||(t=t.documentElement)===null||t===void 0?void 0:t.style;if(!n||e in n)return"";for(let o=0;oe===n.identifier)||t.changedTouches&&(0,wg.findInArray)(t.changedTouches,n=>e===n.identifier)}function gkn(t){if(t.targetTouches&&t.targetTouches[0])return t.targetTouches[0].identifier;if(t.changedTouches&&t.changedTouches[0])return t.changedTouches[0].identifier}function mkn(t){if(!t)return;let e=t.getElementById("react-draggable-style-el");e||(e=t.createElement("style"),e.type="text/css",e.id="react-draggable-style-el",e.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;} `,e.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;} -`,t.getElementsByTagName("head")[0].appendChild(e)),t.body&&L$e(t.body,"react-draggable-transparent-selection")}function wkn(t){if(t)try{if(t.body&&W$e(t.body,"react-draggable-transparent-selection"),t.selection)t.selection.empty();else{const e=(t.defaultView||window).getSelection();e&&e.type!=="Caret"&&e.removeAllRanges()}}catch{}}function L$e(t,e){t.classList?t.classList.add(e):t.className.match(new RegExp("(?:^|\\s)".concat(e,"(?!\\S)")))||(t.className+=" ".concat(e))}function W$e(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g"),"")}var u3={};Object.defineProperty(u3,"__esModule",{value:!0});u3.canDragX=bkn;u3.canDragY=Skn;u3.createCoreData=Pkn;u3.createDraggableData=Ckn;u3.getBoundPosition=vkn;u3.getControlPosition=Tkn;u3.snapToGrid=xkn;var Y1=c3,qP=y0;function vkn(t,e,n){if(!t.props.bounds)return[e,n];let{bounds:o}=t.props;o=typeof o=="string"?o:Rkn(o);const i=Rye(t);if(typeof o=="string"){const{ownerDocument:r}=i,a=r.defaultView;let l;if(o==="parent"?l=i.parentNode:l=r.querySelector(o),!(l instanceof a.HTMLElement))throw new Error('Bounds selector "'+o+'" could not find an element.');const s=l,c=a.getComputedStyle(i),u=a.getComputedStyle(s);o={left:-i.offsetLeft+(0,Y1.int)(u.paddingLeft)+(0,Y1.int)(c.marginLeft),top:-i.offsetTop+(0,Y1.int)(u.paddingTop)+(0,Y1.int)(c.marginTop),right:(0,qP.innerWidth)(s)-(0,qP.outerWidth)(i)-i.offsetLeft+(0,Y1.int)(u.paddingRight)-(0,Y1.int)(c.marginRight),bottom:(0,qP.innerHeight)(s)-(0,qP.outerHeight)(i)-i.offsetTop+(0,Y1.int)(u.paddingBottom)-(0,Y1.int)(c.marginBottom)}}return(0,Y1.isNum)(o.right)&&(e=Math.min(e,o.right)),(0,Y1.isNum)(o.bottom)&&(n=Math.min(n,o.bottom)),(0,Y1.isNum)(o.left)&&(e=Math.max(e,o.left)),(0,Y1.isNum)(o.top)&&(n=Math.max(n,o.top)),[e,n]}function xkn(t,e,n){const o=Math.round(e/t[0])*t[0],i=Math.round(n/t[1])*t[1];return[o,i]}function bkn(t){return t.props.axis==="both"||t.props.axis==="x"}function Skn(t){return t.props.axis==="both"||t.props.axis==="y"}function Tkn(t,e,n){const o=typeof e=="number"?(0,qP.getTouch)(t,e):null;if(typeof e=="number"&&!o)return null;const i=Rye(n),r=n.props.offsetParent||i.offsetParent||i.ownerDocument.body;return(0,qP.offsetXYFromParent)(o||t,r,n.props.scale)}function Pkn(t,e,n){const o=!(0,Y1.isNum)(t.lastX),i=Rye(t);return o?{node:i,deltaX:0,deltaY:0,lastX:e,lastY:n,x:e,y:n}:{node:i,deltaX:e-t.lastX,deltaY:n-t.lastY,lastX:t.lastX,lastY:t.lastY,x:e,y:n}}function Ckn(t,e){const n=t.props.scale;return{node:e.node,x:t.state.x+e.deltaX/n,y:t.state.y+e.deltaY/n,deltaX:e.deltaX/n,deltaY:e.deltaY/n,lastX:t.state.x,lastY:t.state.y}}function Rkn(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function Rye(t){const e=t.findDOMNode();if(!e)throw new Error(": Unmounted during event!");return e}var hQ={},pQ={};Object.defineProperty(pQ,"__esModule",{value:!0});pQ.default=Hkn;function Hkn(){}Object.defineProperty(hQ,"__esModule",{value:!0});hQ.default=void 0;var kre=Ikn(m),Rp=Hye(dq),Mkn=Hye(Sd),Of=y0,S4=u3,Fre=c3,kz=Hye(pQ);function Hye(t){return t&&t.__esModule?t:{default:t}}function N$e(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,n=new WeakMap;return(N$e=function(o){return o?n:e})(t)}function Ikn(t,e){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var n=N$e(e);if(n&&n.has(t))return n.get(t);var o={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if(r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)){var a=i?Object.getOwnPropertyDescriptor(t,r):null;a&&(a.get||a.set)?Object.defineProperty(o,r,a):o[r]=t[r]}return o.default=t,n&&n.set(t,o),o}function Yh(t,e,n){return e=zkn(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function zkn(t){var e=Dkn(t,"string");return typeof e=="symbol"?e:String(e)}function Dkn(t,e){if(typeof t!="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}const Xy={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let T4=Xy.mouse,gQ=class extends kre.Component{constructor(){super(...arguments),Yh(this,"dragging",!1),Yh(this,"lastX",NaN),Yh(this,"lastY",NaN),Yh(this,"touchIdentifier",null),Yh(this,"mounted",!1),Yh(this,"handleDragStart",e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&typeof e.button=="number"&&e.button!==0)return!1;const n=this.findDOMNode();if(!n||!n.ownerDocument||!n.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:o}=n;if(this.props.disabled||!(e.target instanceof o.defaultView.Node)||this.props.handle&&!(0,Of.matchesSelectorAndParentsTo)(e.target,this.props.handle,n)||this.props.cancel&&(0,Of.matchesSelectorAndParentsTo)(e.target,this.props.cancel,n))return;e.type==="touchstart"&&e.preventDefault();const i=(0,Of.getTouchIdentifier)(e);this.touchIdentifier=i;const r=(0,S4.getControlPosition)(e,i,this);if(r==null)return;const{x:a,y:l}=r,s=(0,S4.createCoreData)(this,a,l);(0,kz.default)("DraggableCore: handleDragStart: %j",s),(0,kz.default)("calling",this.props.onStart),!(this.props.onStart(e,s)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,Of.addUserSelectStyles)(o),this.dragging=!0,this.lastX=a,this.lastY=l,(0,Of.addEvent)(o,T4.move,this.handleDrag),(0,Of.addEvent)(o,T4.stop,this.handleDragStop))}),Yh(this,"handleDrag",e=>{const n=(0,S4.getControlPosition)(e,this.touchIdentifier,this);if(n==null)return;let{x:o,y:i}=n;if(Array.isArray(this.props.grid)){let l=o-this.lastX,s=i-this.lastY;if([l,s]=(0,S4.snapToGrid)(this.props.grid,l,s),!l&&!s)return;o=this.lastX+l,i=this.lastY+s}const r=(0,S4.createCoreData)(this,o,i);if((0,kz.default)("DraggableCore: handleDrag: %j",r),this.props.onDrag(e,r)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const s=document.createEvent("MouseEvents");s.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(s)}return}this.lastX=o,this.lastY=i}),Yh(this,"handleDragStop",e=>{if(!this.dragging)return;const n=(0,S4.getControlPosition)(e,this.touchIdentifier,this);if(n==null)return;let{x:o,y:i}=n;if(Array.isArray(this.props.grid)){let s=o-this.lastX||0,c=i-this.lastY||0;[s,c]=(0,S4.snapToGrid)(this.props.grid,s,c),o=this.lastX+s,i=this.lastY+c}const r=(0,S4.createCoreData)(this,o,i);if(this.props.onStop(e,r)===!1||this.mounted===!1)return!1;const l=this.findDOMNode();l&&this.props.enableUserSelectHack&&(0,Of.removeUserSelectStyles)(l.ownerDocument),(0,kz.default)("DraggableCore: handleDragStop: %j",r),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,l&&((0,kz.default)("DraggableCore: Removing handlers"),(0,Of.removeEvent)(l.ownerDocument,T4.move,this.handleDrag),(0,Of.removeEvent)(l.ownerDocument,T4.stop,this.handleDragStop))}),Yh(this,"onMouseDown",e=>(T4=Xy.mouse,this.handleDragStart(e))),Yh(this,"onMouseUp",e=>(T4=Xy.mouse,this.handleDragStop(e))),Yh(this,"onTouchStart",e=>(T4=Xy.touch,this.handleDragStart(e))),Yh(this,"onTouchEnd",e=>(T4=Xy.touch,this.handleDragStop(e)))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,Of.addEvent)(e,Xy.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:n}=e;(0,Of.removeEvent)(n,Xy.mouse.move,this.handleDrag),(0,Of.removeEvent)(n,Xy.touch.move,this.handleDrag),(0,Of.removeEvent)(n,Xy.mouse.stop,this.handleDragStop),(0,Of.removeEvent)(n,Xy.touch.stop,this.handleDragStop),(0,Of.removeEvent)(e,Xy.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,Of.removeUserSelectStyles)(n)}}findDOMNode(){var e,n;return(e=this.props)!==null&&e!==void 0&&e.nodeRef?(n=this.props)===null||n===void 0||(n=n.nodeRef)===null||n===void 0?void 0:n.current:Mkn.default.findDOMNode(this)}render(){return kre.cloneElement(kre.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};hQ.default=gQ;Yh(gQ,"displayName","DraggableCore");Yh(gQ,"propTypes",{allowAnyClick:Rp.default.bool,children:Rp.default.node.isRequired,disabled:Rp.default.bool,enableUserSelectHack:Rp.default.bool,offsetParent:function(t,e){if(t[e]&&t[e].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:Rp.default.arrayOf(Rp.default.number),handle:Rp.default.string,cancel:Rp.default.string,nodeRef:Rp.default.object,onStart:Rp.default.func,onDrag:Rp.default.func,onStop:Rp.default.func,onMouseDown:Rp.default.func,scale:Rp.default.number,className:Fre.dontSetMe,style:Fre.dontSetMe,transform:Fre.dontSetMe});Yh(gQ,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1});(function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return s.default}}),t.default=void 0;var e=f(m),n=u(dq),o=u(Sd),i=u($En),r=y0,a=u3,l=c3,s=u(hQ),c=u(pQ);function u(C){return C&&C.__esModule?C:{default:C}}function d(C){if(typeof WeakMap!="function")return null;var b=new WeakMap,v=new WeakMap;return(d=function(S){return S?v:b})(C)}function f(C,b){if(C&&C.__esModule)return C;if(C===null||typeof C!="object"&&typeof C!="function")return{default:C};var v=d(b);if(v&&v.has(C))return v.get(C);var S={},w=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var T in C)if(T!=="default"&&Object.prototype.hasOwnProperty.call(C,T)){var P=w?Object.getOwnPropertyDescriptor(C,T):null;P&&(P.get||P.set)?Object.defineProperty(S,T,P):S[T]=C[T]}return S.default=C,v&&v.set(C,S),S}function p(){return p=Object.assign?Object.assign.bind():function(C){for(var b=1;b{if((0,c.default)("Draggable: onDragStart: %j",S),this.props.onStart(v,(0,a.createDraggableData)(this,S))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),g(this,"onDrag",(v,S)=>{if(!this.state.dragging)return!1;(0,c.default)("Draggable: onDrag: %j",S);const w=(0,a.createDraggableData)(this,S),T={x:w.x,y:w.y,slackX:0,slackY:0};if(this.props.bounds){const{x:R,y:H}=T;T.x+=this.state.slackX,T.y+=this.state.slackY;const[D,E]=(0,a.getBoundPosition)(this,T.x,T.y);T.x=D,T.y=E,T.slackX=this.state.slackX+(R-T.x),T.slackY=this.state.slackY+(H-T.y),w.x=T.x,w.y=T.y,w.deltaX=T.x-this.state.x,w.deltaY=T.y-this.state.y}if(this.props.onDrag(v,w)===!1)return!1;this.setState(T)}),g(this,"onDragStop",(v,S)=>{if(!this.state.dragging||this.props.onStop(v,(0,a.createDraggableData)(this,S))===!1)return!1;(0,c.default)("Draggable: onDragStop: %j",S);const T={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:R,y:H}=this.props.position;T.x=R,T.y=H}this.setState(T)}),this.state={dragging:!1,dragged:!1,x:b.position?b.position.x:b.defaultPosition.x,y:b.position?b.position.y:b.defaultPosition.y,prevPropsPosition:{...b.position},slackX:0,slackY:0,isElementSVG:!1},b.position&&!(b.onDrag||b.onStop)&&console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var b,v;return(b=(v=this.props)===null||v===void 0||(v=v.nodeRef)===null||v===void 0?void 0:v.current)!==null&&b!==void 0?b:o.default.findDOMNode(this)}render(){const{axis:b,bounds:v,children:S,defaultPosition:w,defaultClassName:T,defaultClassNameDragging:P,defaultClassNameDragged:R,position:H,positionOffset:D,scale:E,...L}=this.props;let U={},F=null;const B=!!!H||this.state.dragging,k=H||w,N={x:(0,a.canDragX)(this)&&B?this.state.x:k.x,y:(0,a.canDragY)(this)&&B?this.state.y:k.y};this.state.isElementSVG?F=(0,r.createSVGTransform)(N,D):U=(0,r.createCSSTransform)(N,D);const j=(0,i.default)(S.props.className||"",T,{[P]:this.state.dragging,[R]:this.state.dragged});return e.createElement(s.default,p({},L,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),e.cloneElement(e.Children.only(S),{className:j,style:{...S.props.style,...U},transform:F}))}}t.default=x,g(x,"displayName","Draggable"),g(x,"propTypes",{...s.default.propTypes,axis:n.default.oneOf(["both","x","y","none"]),bounds:n.default.oneOfType([n.default.shape({left:n.default.number,right:n.default.number,top:n.default.number,bottom:n.default.number}),n.default.string,n.default.oneOf([!1])]),defaultClassName:n.default.string,defaultClassNameDragging:n.default.string,defaultClassNameDragged:n.default.string,defaultPosition:n.default.shape({x:n.default.number,y:n.default.number}),positionOffset:n.default.shape({x:n.default.oneOfType([n.default.number,n.default.string]),y:n.default.oneOfType([n.default.number,n.default.string])}),position:n.default.shape({x:n.default.number,y:n.default.number}),className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),g(x,"defaultProps",{...s.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(I$e);const{default:U$e,DraggableCore:Ekn}=I$e;fQ.exports=U$e;fQ.exports.default=U$e;fQ.exports.DraggableCore=Ekn;var kkn=fQ.exports;const Vr=kr(kkn),xTe=t=>{t=1831565813+(t|=0)|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296};let Fkn=class{constructor(e){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:n,separator:o,dictionaries:i,style:r,seed:a}=e;this.dictionaries=i,this.separator=o,this.length=n,this.style=r,this.seed=a}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries. -Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let e=this.seed;return this.dictionaries.slice(0,this.length).reduce((n,o)=>{let i;e?(i=(a=>{if(typeof a=="string"){const l=a.split("").map(c=>c.charCodeAt(0)).reduce((c,u)=>c+u,1),s=Math.floor(Number(l));return xTe(s)}return xTe(a)})(e),e=4294967296*i):i=Math.random();let r=o[Math.floor(i*o.length)]||"";if(this.style==="lowerCase")r=r.toLowerCase();else if(this.style==="capital"){const[a,...l]=r.split("");r=a.toUpperCase()+l.join("")}else this.style==="upperCase"&&(r=r.toUpperCase());return n?`${n}${this.separator}${r}`:`${r}`},"")}};const bTe={separator:"_",dictionaries:[]},Lkn=t=>{const e=[...t&&t.dictionaries||bTe.dictionaries],n={...bTe,...t,length:t&&t.length||e.length,dictionaries:e};if(!t||!t.dictionaries||!t.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new Fkn(n).generate()};var Wkn=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],Nkn=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];const{Option:D1}=Yo,Ukn=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),[i,r]=m.useState(M.getState().modelType),[a,l]=m.useState(M.getState().modelAuthor??Lkn({dictionaries:[Nkn,Wkn],separator:" ",style:"capital"})),[s,c]=m.useState(M.getState().modelLabel??M.getState().cloudFile??null),[u,d]=m.useState(M.getState().modelDescription),[f,p]=m.useState(!1),[g,y]=m.useState({left:0,top:0,bottom:0,right:0}),A=m.useRef(null),x=m.useRef(null),{TextArea:C}=ns,b={lng:o};m.useEffect(()=>{var P;(P=x.current)==null||P.focus()},[]);const v=(P,R)=>{if(A.current){const{clientWidth:H,clientHeight:D}=window.document.documentElement,E=A.current.getBoundingClientRect();y({left:-E.left+R.x,right:H-(E.right-R.x),top:-E.top+R.y,bottom:D-((E==null?void 0:E.bottom)-R.y)})}},S=()=>{t(!1)},w=()=>{gt.getState().set(P=>{P.publishOnModelsMapFlag=!0}),e(P=>{P.modelType=i,P.modelAuthor=a,P.modelLabel=s,P.modelDescription=u}),gt.getState().setChanged(!0),n&&e(P=>{P.actionInfo={name:"Publish on Map of Models",timestamp:new Date().getTime()}}),t(!1)},{t:T}=jl();return h.jsxs(_r,{width:560,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:T("menu.file.PublishOnModelsMap",b)}),footer:[h.jsx(no,{onClick:S,children:T("word.Cancel",b)},"Cancel"),h.jsx(no,{type:"primary",ref:x,onClick:w,disabled:!a||!s,children:T("word.OK",b)},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:P=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(R,H)=>v(R,H),children:h.jsx("div",{ref:A,children:P})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:8,children:T("shared.ModelType",b)+":"}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsxs(Yo,{style:{width:"100%"},value:i,onChange:P=>{r(P)},children:[h.jsxs(D1,{value:da.UNKNOWN,children:[h.jsx("img",{alt:"Building",width:24,src:R$e,style:{marginRight:"8px"}}),T("word.Unknown",b)]},da.UNKNOWN),h.jsxs(D1,{value:da.UNDER_CONSTRUCTION,children:[h.jsx("img",{alt:"Building",width:24,src:C$e,style:{marginRight:"8px"}}),T("word.UnderConstruction",b)]},da.UNDER_CONSTRUCTION),h.jsxs(D1,{value:da.RESIDENTIAL_BUILDING,children:[h.jsx("img",{alt:"Residential Building",width:24,src:y$e,style:{marginRight:"8px"}}),T("word.ResidentialBuilding",b)]},da.RESIDENTIAL_BUILDING),h.jsxs(D1,{value:da.COMMERCIAL_BUILDING,children:[h.jsx("img",{alt:"Commercial Building",width:24,src:A$e,style:{marginRight:"8px"}}),T("word.CommercialBuilding",b)]},da.COMMERCIAL_BUILDING),h.jsxs(D1,{value:da.SCHOOL_BUILDING,children:[h.jsx("img",{alt:"School Building",width:24,src:w$e,style:{marginRight:"8px"}}),T("word.SchoolBuilding",b)]},da.SCHOOL_BUILDING),h.jsxs(D1,{value:da.TOURIST_ATTRACTION,children:[h.jsx("img",{alt:"Tourist Attraction",width:24,src:v$e,style:{marginRight:"8px"}}),T("word.TouristAttraction",b)]},da.TOURIST_ATTRACTION),h.jsxs(D1,{value:da.PHOTOVOLTAIC,children:[h.jsx("img",{alt:"Photovoltaic",width:24,src:x$e,style:{marginRight:"8px"}}),T("word.Photovoltaic",b)]},da.PHOTOVOLTAIC),h.jsxs(D1,{value:da.PARABOLIC_DISH,children:[h.jsx("img",{alt:"Parabolic Dish",width:24,src:b$e,style:{marginRight:"8px"}}),T("shared.ParabolicDishElement",b)]},da.PARABOLIC_DISH),h.jsxs(D1,{value:da.PARABOLIC_TROUGH,children:[h.jsx("img",{alt:"Parabolic Trough",width:24,src:S$e,style:{marginRight:"8px"}}),T("shared.ParabolicTroughElement",b)]},da.PARABOLIC_TROUGH),h.jsxs(D1,{value:da.FRESNEL_REFLECTOR,children:[h.jsx("img",{alt:"Fresnel Reflector",width:24,src:T$e,style:{marginRight:"8px"}}),T("shared.FresnelReflectorElement",b)]},da.FRESNEL_REFLECTOR),h.jsxs(D1,{value:da.SOLAR_POWER_TOWER,children:[h.jsx("img",{alt:"Heliostat",width:24,src:P$e,style:{marginRight:"8px"}}),T("shared.HeliostatElement",b)]},da.SOLAR_POWER_TOWER),h.jsxs(D1,{value:da.WIND_TURBINE,children:[h.jsx("img",{alt:"Wind Turbine",width:24,src:H$e,style:{marginRight:"8px"}}),O.t("word.WindPower",b)]},da.WIND_TURBINE),h.jsxs(D1,{value:da.COLOCATION_PROJECTS,children:[h.jsx("img",{alt:"Colocation Projects",width:24,src:M$e,style:{marginRight:"8px"}}),O.t("word.ColocationProjects",b)]},da.COLOCATION_PROJECTS)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[T("word.Publisher",b),":"]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:30,style:{width:"100%"},value:a??"",onKeyDown:P=>{if(!JC.test(P.key))return P.preventDefault(),!1},onChange:P=>{l(P.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[T("word.Label",b),":"]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:50,style:{width:"100%"},value:s??"",onKeyDown:P=>{if(!JC.test(P.key))return P.preventDefault(),!1},onChange:P=>{c(P.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[T("word.Description",b),":",h.jsx("br",{}),h.jsxs("span",{style:{fontSize:"10px"},children:["(",T("word.MaximumCharacters",b),": 200)"]})]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(C,{rows:5,maxLength:200,style:{width:"100%"},value:u??"",onChange:P=>{d(P.target.value)}})})]})]})},Bkn=Se.memo(()=>{const t=Kt(),e=M.getState().user,n=M.getState().cloudFile,[o,i]=m.useState(!1),r=()=>{const a=new URLSearchParams(window.location.search).get("userid"),l=a===e.uid;e.uid&&n&&l?i(!0):e.uid?fn(a&&!l?O.t("menu.file.YouCannotPublishAModelThatYouDoNotOwn",t)+".":O.t("menu.file.YouMustSaveModelOnCloudBeforePublishingIt",t)+"."):fn(O.t("menu.file.YouMustLogInToPublishYourModel",t)+".")};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:r,children:[O.t("menu.file.PublishOnModelsMap",t),"..."]}),o&&h.jsx(Ukn,{setDialogVisible:i})]})}),jkn=(t,e,n)=>{const o={lng:M.getState().language},i=M.getState().user,r=M.getState().cloudFile,a=M.getState().undoManager,l=M.getState().loggable,s=M.getState().set,c=()=>{a.clear(),gt.getState().set(x=>{x.createNewFileFlag=!0,x.openModelsMap=!1}),s(x=>{x.objectTypeToAdd=z.None,x.groupActionMode=!1,window.history.pushState({},document.title,Sg),l&&(x.actionInfo={name:"Create New File",timestamp:new Date().getTime()})})},u=()=>{a.clear(),gt.getState().set(x=>{x.openLocalFileFlag=!0,x.openModelsMap=!1}),s(x=>{x.objectTypeToAdd=z.None,x.groupActionMode=!1,x.cloudFile=void 0,window.history.pushState({},document.title,Sg),l&&(x.actionInfo={name:"Open Local File",timestamp:new Date().getTime()})})},d=()=>{gt.getState().set(x=>{x.saveLocalFileDialogVisible=!0}),l&&s(x=>{x.actionInfo={name:"Save as Local File",timestamp:new Date().getTime()}})},f=()=>{gt.getState().set(x=>{x.listCloudFilesFlag=!0,x.openModelsMap=!1}),s(x=>{x.selectedFloatingWindow="cloudFilePanel"}),l&&s(x=>{x.actionInfo={name:"List Cloud Files",timestamp:new Date().getTime()}})},p=()=>{gt.getState().setSaveCloudFileFlag(!0),l&&s(x=>{x.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}})},g=()=>{s(x=>{x.showCloudFileTitleDialogFlag=!x.showCloudFileTitleDialogFlag,x.showCloudFileTitleDialog=!0,l&&(x.actionInfo={name:"Save as Cloud File",timestamp:new Date().getTime()})})},y=()=>{n&&(Jqt("screenshot.png",n.toDataURL("image/png")),l&&s(x=>{x.actionInfo={name:"Take Screenshot",timestamp:new Date().getTime()}}),gt.getState().set(x=>{x.openModelsMap=!1}))},A=[];return t||A.push({key:"create-new-file",label:h.jsxs(tn,{noPadding:!0,onClick:c,children:[O.t("menu.file.CreateNewFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+F)"]})]})}),t||A.push({key:"open-local-file",label:h.jsxs(tn,{noPadding:!0,onClick:u,children:[O.t("menu.file.OpenLocalFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+O)"]}),"..."]})}),A.push({key:"save-local-file",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[O.t("menu.file.SaveAsLocalFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+S)"]}),"..."]})}),i.uid&&!t&&A.push({key:"open-cloud-file",label:h.jsxs(tn,{noPadding:!0,onClick:f,children:[O.t("menu.file.OpenCloudFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+Shift+O)"]}),"..."]})}),i.uid&&r&&!t&&A.push({key:"save-cloud-file",label:h.jsxs(tn,{noPadding:!0,onClick:p,children:[O.t("menu.file.SaveCloudFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+Shift+S)"]}),"..."]})}),i.uid&&!t&&A.push({key:"save-as-cloud-file",label:h.jsx(tn,{noPadding:!0,onClick:g,children:O.t("menu.file.SaveAsCloudFile",o)})}),t||A.push({key:"publish-on-model-map",label:h.jsx(Bkn,{})}),A.push({key:"take-screen-shot",label:h.jsx(tn,{noPadding:!0,onClick:y,children:O.t("menu.file.TakeScreenshot",o)})}),A},{Option:Ykn}=Yo,B$e=Se.memo(({saveAs:t,setDialogVisible:e})=>{const n=M(dn),o=M(ha),[i,r]=m.useState(M.getState().projectState.type??Tr.SOLAR_PANEL_ARRAY),[a,l]=m.useState(M.getState().projectState.title),[s,c]=m.useState(M.getState().projectState.description),[u,d]=m.useState(!1),[f,p]=m.useState({left:0,top:0,bottom:0,right:0}),g=m.useRef(null),{TextArea:y}=ns,A=Kt(),x=(v,S)=>{if(g.current){const{clientWidth:w,clientHeight:T}=window.document.documentElement,P=g.current.getBoundingClientRect();p({left:-P.left+S.x,right:w-(P.right-S.x),top:-P.top+S.y,bottom:T-((P==null?void 0:P.bottom)-S.y)})}},C=()=>{e(!1)},b=()=>{gt.getState().set(v=>{t?v.saveProjectAsFlag=!0:v.createProjectFlag=!0}),gt.getState().set(v=>{v.projectType=i,v.projectTitle=a,v.projectDescription=s}),o&&n(v=>{v.actionInfo={name:t?"Save Project as":"Create New Project",timestamp:new Date().getTime()}}),e(!1)};return h.jsxs(_r,{width:560,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>d(!0),onMouseOut:()=>d(!1),children:`${O.t(t?"menu.project.SaveProjectAs":"menu.project.CreateNewProject",A)}`}),footer:[h.jsx(no,{onClick:C,children:`${O.t("word.Cancel",A)}`},"Cancel"),h.jsx(no,{type:"primary",onClick:b,disabled:!a,children:`${O.t("word.OK",A)}`},"OK")],onCancel:()=>{e(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:v=>h.jsx(Vr,{disabled:!u,bounds:f,onStart:(S,w)=>x(S,w),children:h.jsx("div",{ref:g,children:v})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:8,children:O.t("projectPanel.ProjectType",A)+":"}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(Yo,{disabled:t,style:{width:"100%"},value:i,onChange:v=>{r(v)},children:h.jsx(Ykn,{value:Tr.SOLAR_PANEL_ARRAY,children:`${O.t("projectPanel.SolarPanelArray",A)}`},Tr.SOLAR_PANEL_ARRAY)})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[`${O.t("word.Title",A)}`,":"]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:50,style:{width:"100%"},value:a??"",onKeyDown:v=>{if(!JC.test(v.key))return v.preventDefault(),!1},onChange:v=>{l(v.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[`${O.t("word.Description",A)}`,":",h.jsx("br",{}),h.jsxs("span",{style:{fontSize:"10px"},children:["(",`${O.t("word.MaximumCharacters",A)}`,": 200)"]})]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(y,{rows:5,maxLength:200,style:{width:"100%"},value:s??"",onChange:v=>{c(v.target.value)}})})]})]})}),Okn=()=>{const[t,e]=m.useState(!1),n=Kt(),o=()=>{if(!M.getState().user.uid){fn(O.t("menu.project.YouMustLogInToCreateProject",n)+".");return}e(!0),gt.getState().set(i=>{i.openModelsMap=!1}),M.getState().loggable&&M.getState().set(i=>{i.actionInfo={name:"Create New Project",timestamp:new Date().getTime()}})};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:o,children:[O.t("menu.project.CreateNewProject",n),"..."]}),t&&h.jsx(B$e,{saveAs:!1,setDialogVisible:e})]})},_kn=()=>{const[t,e]=m.useState(!1),n=Kt(),o=()=>{e(!0),gt.getState().set(i=>{i.openModelsMap=!1}),M.getState().loggable&&M.getState().set(i=>{i.actionInfo={name:"Save Project As",timestamp:new Date().getTime()}})};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:o,children:[O.t("menu.project.SaveProjectAs",n),"..."]}),t&&h.jsx(B$e,{saveAs:!0,setDialogVisible:e})]})},Vkn=()=>{const t={lng:M.getState().language},e=M.getState().user,n=M.getState().loggable,o=M.getState().projectState,i=M.getState().projectView,r=M.getState().set,a=()=>{if(!e.uid){fn(O.t("menu.project.YouMustLogInToOpenProject",t)+".");return}gt.getState().set(s=>{s.showProjectsFlag=!0,s.openModelsMap=!1}),r(s=>{s.selectedFloatingWindow="projectListPanel"}),n&&r(s=>{s.actionInfo={name:"Open Project",timestamp:new Date().getTime()}})},l=[];return l.push({key:"create-new-project",label:h.jsx(Okn,{})}),l.push({key:"list-project",label:h.jsxs(tn,{noPadding:!0,onClick:a,children:[O.t("menu.project.OpenProject",t),"..."]})}),i&&o.title&&e.uid&&l.push({key:"save-project-as",label:h.jsx(_kn,{})}),l},Gkn=(t,e,n,o)=>{const i={lng:M.getState().language},r=M.getState().loggable,a=M.getState().set,l=()=>{t&&(M.getState().copyElementById(t.id),r&&a(p=>{p.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:t.id,elementType:t.type}}))},s=()=>{if(!(!t||t.type===z.Roof))if(t.locked)fn(O.t("message.ThisElementIsLocked",i));else{const p=M.getState().removeElementById(t.id,!0);if(p.length===0)return;if(be.isElementTriggerAutoDeletion(p[0]))Ln.getState().setListenToAutoDeletionByCut(!0),gt.getState().setPrimitiveStore("selectedElementId",t.id);else{const g={name:"Cut",timestamp:Date.now(),deletedElements:p,selectedElementId:t.id,undo:()=>{const y=g.deletedElements;if(y.length===0)return;const A=y.find(x=>x.id===g.selectedElementId);A&&a(x=>{for(const C of y)x.elements.push(C);if(A.type===z.Wall){const C=A;let b=null,v=null;if(C.leftJoints.length>0&&(b=C.leftJoints[0]),C.rightJoints.length>0&&(v=C.rightJoints[0]),b||v)for(const S of x.elements)S.id===b&&S.type===z.Wall&&(S.rightJoints[0]=C.id),S.id===v&&S.type===z.Wall&&(S.leftJoints[0]=C.id)}})},redo:()=>{g.deletedElements&&g.deletedElements.length>0&&M.getState().removeElementById(g.deletedElements[0].id,!0)}};M.getState().addUndoable(g)}}},c=()=>{const p=M.getState().elementsToPaste;if(p&&p.length>0){const g=M.getState().pasteElementsByKey();if(g.length>0){const y={name:"Paste by Key",timestamp:Date.now(),pastedElements:JSON.parse(JSON.stringify(g)),undo:()=>{for(const A of y.pastedElements)M.getState().removeElementById(A.id,!1)},redo:()=>{a(A=>{A.elements.push(...y.pastedElements),A.selectedElement=y.pastedElements[0]})}};M.getState().addUndoable(y)}}},u=()=>{if(n.hasUndo()){const p=n.undo();p&&fn(O.t("menu.edit.Undo",i)+": "+p,$V),r&&a(g=>{g.actionInfo={name:"Undo",timestamp:new Date().getTime()}})}},d=()=>{if(n.hasRedo()){const p=n.redo();p&&fn(O.t("menu.edit.Redo",i)+": "+p,$V),r&&a(g=>{g.actionInfo={name:"Redo",timestamp:new Date().getTime()}})}},f=[];return t&&f.push({key:"cut",label:h.jsxs(tn,{noPadding:!0,onClick:s,children:[O.t("word.Cut",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+X)"]})]})}),t&&f.push({key:"copy",label:h.jsxs(tn,{noPadding:!0,onClick:l,children:[O.t("word.Copy",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+C)"]})]})}),e&&f.push({key:"paste",label:h.jsxs(tn,{noPadding:!0,onClick:c,children:[O.t("word.Paste",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+V)"]})]})}),n.hasUndo()&&f.push({key:"undo",label:h.jsxs(tn,{noPadding:!0,onClick:u,children:[O.t("menu.edit.Undo",i)+": "+n.getLastUndoName(),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+Z)"]})]})}),n.hasRedo()&&f.push({key:"redo",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[O.t("menu.edit.Redo",i)+": "+n.getLastRedoName(),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+Y)"]})]})}),f};var Mye={},mQ={};Object.defineProperty(mQ,"__esModule",{value:!0});mQ.default=void 0;var Xkn={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};mQ.default=Xkn;var yQ={},eN={},AQ={};Object.defineProperty(AQ,"__esModule",{value:!0});AQ.default=void 0;var Jkn={locale:"zh_CN",yearFormat:"YYYY年",cellDateFormat:"D",cellMeridiemFormat:"A",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪"};AQ.default=Jkn;var tN={};Object.defineProperty(tN,"__esModule",{value:!0});tN.default=void 0;const Kkn={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};tN.default=Kkn;var j$e=Pd.default;Object.defineProperty(eN,"__esModule",{value:!0});eN.default=void 0;var qkn=j$e(AQ),$kn=j$e(tN);const Y$e={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},qkn.default),timePickerLocale:Object.assign({},$kn.default)};Y$e.lang.ok="确定";eN.default=Y$e;var Qkn=Pd.default;Object.defineProperty(yQ,"__esModule",{value:!0});yQ.default=void 0;var Zkn=Qkn(eN);yQ.default=Zkn.default;var wQ=Pd.default;Object.defineProperty(Mye,"__esModule",{value:!0});var O$e=Mye.default=void 0,eFn=wQ(mQ),tFn=wQ(yQ),nFn=wQ(eN),oFn=wQ(tN);const E1="${label}不是一个有效的${type}",iFn={locale:"zh-cn",Pagination:eFn.default,DatePicker:nFn.default,TimePicker:oFn.default,Calendar:tFn.default,global:{placeholder:"请选择"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckall:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:E1,method:E1,array:E1,object:E1,number:E1,date:E1,boolean:E1,integer:E1,float:E1,regexp:E1,email:E1,url:E1,hex:E1},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},Image:{preview:"预览"},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无"}};O$e=Mye.default=iFn;var Iye={},vQ={};Object.defineProperty(vQ,"__esModule",{value:!0});vQ.default=void 0;var rFn={items_per_page:"條/頁",jump_to:"跳至",jump_to_confirm:"確定",page:"頁",prev_page:"上一頁",next_page:"下一頁",prev_5:"向前 5 頁",next_5:"向後 5 頁",prev_3:"向前 3 頁",next_3:"向後 3 頁",page_size:"頁碼"};vQ.default=rFn;var xQ={},nN={},bQ={};Object.defineProperty(bQ,"__esModule",{value:!0});bQ.default=void 0;var aFn={locale:"zh_TW",today:"今天",now:"此刻",backToToday:"返回今天",ok:"確定",timeSelect:"選擇時間",dateSelect:"選擇日期",weekSelect:"選擇周",clear:"清除",month:"月",year:"年",previousMonth:"上個月 (翻頁上鍵)",nextMonth:"下個月 (翻頁下鍵)",monthSelect:"選擇月份",yearSelect:"選擇年份",decadeSelect:"選擇年代",yearFormat:"YYYY年",dayFormat:"D",dateFormat:"YYYY年M月D日",dateTimeFormat:"YYYY年M月D日 HH時mm分ss秒",previousYear:"上一年 (Control鍵加左方向鍵)",nextYear:"下一年 (Control鍵加右方向鍵)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世紀",nextCentury:"下一世紀"};bQ.default=aFn;var oN={};Object.defineProperty(oN,"__esModule",{value:!0});oN.default=void 0;const lFn={placeholder:"請選擇時間"};oN.default=lFn;var _$e=Pd.default;Object.defineProperty(nN,"__esModule",{value:!0});nN.default=void 0;var sFn=_$e(bQ),cFn=_$e(oN);const V$e={lang:Object.assign({placeholder:"請選擇日期",yearPlaceholder:"請選擇年份",quarterPlaceholder:"請選擇季度",monthPlaceholder:"請選擇月份",weekPlaceholder:"請選擇周",rangePlaceholder:["開始日期","結束日期"],rangeYearPlaceholder:["開始年份","結束年份"],rangeMonthPlaceholder:["開始月份","結束月份"],rangeQuarterPlaceholder:["開始季度","結束季度"],rangeWeekPlaceholder:["開始周","結束周"]},sFn.default),timePickerLocale:Object.assign({},cFn.default)};V$e.lang.ok="確 定";nN.default=V$e;var uFn=Pd.default;Object.defineProperty(xQ,"__esModule",{value:!0});xQ.default=void 0;var dFn=uFn(nN);xQ.default=dFn.default;var SQ=Pd.default;Object.defineProperty(Iye,"__esModule",{value:!0});var G$e=Iye.default=void 0,fFn=SQ(vQ),hFn=SQ(xQ),pFn=SQ(nN),gFn=SQ(oN);const k1="${label}不是一個有效的${type}",mFn={locale:"zh-tw",Pagination:fFn.default,DatePicker:pFn.default,TimePicker:gFn.default,Calendar:hFn.default,global:{placeholder:"請選擇"},Table:{filterTitle:"篩選器",filterConfirm:"確定",filterReset:"重置",filterEmptyText:"無篩選項",filterCheckall:"全選",filterSearchPlaceholder:"在篩選項中搜尋",emptyText:"暫無數據",selectAll:"全部選取",selectInvert:"反向選取",selectNone:"清空所有",selectionAll:"全選所有",sortTitle:"排序",expand:"展開行",collapse:"關閉行",triggerDesc:"點擊降序",triggerAsc:"點擊升序",cancelSort:"取消排序"},Modal:{okText:"確定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"結束導覽"},Popconfirm:{okText:"確定",cancelText:"取消"},Transfer:{titles:["",""],searchPlaceholder:"搜尋資料",itemUnit:"項目",itemsUnit:"項目",remove:"删除",selectCurrent:"全選當頁",removeCurrent:"删除當頁",selectAll:"全選所有",removeAll:"删除全部",selectInvert:"反選當頁"},Upload:{uploading:"正在上傳...",removeFile:"刪除檔案",uploadError:"上傳失敗",previewFile:"檔案預覽",downloadFile:"下载文件"},Empty:{description:"無此資料"},Icon:{icon:"圖標"},Text:{edit:"編輯",copy:"複製",copied:"複製成功",expand:"展開"},Form:{optional:"(可選)",defaultValidateMessages:{default:"字段驗證錯誤${label}",required:"請輸入${label}",enum:"${label}必須是其中一個[${enum}]",whitespace:"${label}不能為空字符",date:{format:"${label}日期格式無效",parse:"${label}不能轉換為日期",invalid:"${label}是一個無效日期"},types:{string:k1,method:k1,array:k1,object:k1,number:k1,date:k1,boolean:k1,integer:k1,float:k1,regexp:k1,email:k1,url:k1,hex:k1},string:{len:"${label}須為${len}個字符",min:"${label}最少${min}個字符",max:"${label}最多${max}個字符",range:"${label}須在${min}-${max}字符之間"},number:{len:"${label}必須等於${len}",min:"${label}最小值為${min}",max:"${label}最大值為${max}",range:"${label}須在${min}-${max}之間"},array:{len:"須為${len}個${label}",min:"最少${min}個${label}",max:"最多${max}個${label}",range:"${label}數量須在${min}-${max}之間"},pattern:{mismatch:"${label}與模式不匹配${pattern}"}}},Image:{preview:"預覽"},QRCode:{expired:"二維碼過期",refresh:"點擊刷新",scanned:"已掃描"}};G$e=Iye.default=mFn;var zye={},TQ={};Object.defineProperty(TQ,"__esModule",{value:!0});TQ.default=void 0;var yFn={items_per_page:"/ página",jump_to:"Ir a",jump_to_confirm:"confirmar",page:"Página",prev_page:"Página anterior",next_page:"Página siguiente",prev_5:"5 páginas previas",next_5:"5 páginas siguientes",prev_3:"3 páginas previas",next_3:"3 páginas siguientes",page_size:"tamaño de página"};TQ.default=yFn;var PQ={},iN={},CQ={};Object.defineProperty(CQ,"__esModule",{value:!0});CQ.default=void 0;var AFn={locale:"es_ES",today:"Hoy",now:"Ahora",backToToday:"Volver a hoy",ok:"Aceptar",clear:"Limpiar",month:"Mes",year:"Año",timeSelect:"Seleccionar hora",dateSelect:"Seleccionar fecha",monthSelect:"Elegir un mes",yearSelect:"Elegir un año",decadeSelect:"Elegir una década",yearFormat:"YYYY",dateFormat:"D/M/YYYY",dayFormat:"D",dateTimeFormat:"D/M/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Mes anterior (PageUp)",nextMonth:"Mes siguiente (PageDown)",previousYear:"Año anterior (Control + left)",nextYear:"Año siguiente (Control + right)",previousDecade:"Década anterior",nextDecade:"Década siguiente",previousCentury:"Siglo anterior",nextCentury:"Siglo siguiente"};CQ.default=AFn;var rN={};Object.defineProperty(rN,"__esModule",{value:!0});rN.default=void 0;const wFn={placeholder:"Seleccionar hora"};rN.default=wFn;var X$e=Pd.default;Object.defineProperty(iN,"__esModule",{value:!0});iN.default=void 0;var vFn=X$e(CQ),xFn=X$e(rN);const bFn={lang:Object.assign({placeholder:"Seleccionar fecha",rangePlaceholder:["Fecha inicial","Fecha final"],shortWeekDays:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"]},vFn.default),timePickerLocale:Object.assign({},xFn.default)};iN.default=bFn;var SFn=Pd.default;Object.defineProperty(PQ,"__esModule",{value:!0});PQ.default=void 0;var TFn=SFn(iN);PQ.default=TFn.default;var RQ=Pd.default;Object.defineProperty(zye,"__esModule",{value:!0});var J$e=zye.default=void 0,PFn=RQ(TQ),CFn=RQ(PQ),RFn=RQ(iN),HFn=RQ(rN);const F1="${label} no es un ${type} válido",MFn={locale:"es",Pagination:PFn.default,DatePicker:RFn.default,TimePicker:HFn.default,Calendar:CFn.default,global:{placeholder:"Seleccione"},Table:{filterTitle:"Filtrar menú",filterConfirm:"Aceptar",filterReset:"Reiniciar",filterEmptyText:"Sin filtros",filterCheckall:"Seleccionar todo",filterSearchPlaceholder:"Buscar en filtros",emptyText:"Sin datos",selectAll:"Seleccionar todo",selectInvert:"Invertir selección",selectNone:"Vacíe todo",selectionAll:"Seleccionar todos los datos",sortTitle:"Ordenar",expand:"Expandir fila",collapse:"Colapsar fila",triggerDesc:"Click para ordenar en orden descendente",triggerAsc:"Click para ordenar en orden ascendente",cancelSort:"Click para cancelar ordenamiento"},Modal:{okText:"Aceptar",cancelText:"Cancelar",justOkText:"Aceptar"},Popconfirm:{okText:"Aceptar",cancelText:"Cancelar"},Transfer:{titles:["",""],searchPlaceholder:"Buscar aquí",itemUnit:"elemento",itemsUnit:"elementos",remove:"Eliminar",selectCurrent:"Seleccionar página actual",removeCurrent:"Remover página actual",selectAll:"Seleccionar todos los datos",removeAll:"Eliminar todos los datos",selectInvert:"Invertir página actual"},Upload:{uploading:"Subiendo...",removeFile:"Eliminar archivo",uploadError:"Error al subir el archivo",previewFile:"Vista previa",downloadFile:"Descargar archivo"},Empty:{description:"No hay datos"},Icon:{icon:"ícono"},Text:{edit:"Editar",copy:"Copiar",copied:"Copiado",expand:"Expandir"},Form:{optional:"(opcional)",defaultValidateMessages:{default:"Error de validación del campo ${label}",required:"Por favor ingresar ${label}",enum:"${label} debe ser uno de [${enum}]",whitespace:"${label} no puede ser un carácter en blanco",date:{format:"El formato de fecha de ${label} es inválido",parse:"${label} no se puede convertir a una fecha",invalid:"${label} es una fecha inválida"},types:{string:F1,method:F1,array:F1,object:F1,number:F1,date:F1,boolean:F1,integer:F1,float:F1,regexp:F1,email:F1,url:F1,hex:F1},string:{len:"${label} debe tener ${len} caracteres",min:"${label} debe tener al menos ${min} caracteres",max:"${label} debe tener hasta ${max} caracteres",range:"${label} debe tener entre ${min}-${max} caracteres"},number:{len:"${label} debe ser igual a ${len}",min:"${label} valor mínimo es ${min}",max:"${label} valor máximo es ${max}",range:"${label} debe estar entre ${min}-${max}"},array:{len:"Debe ser ${len} ${label}",min:"Al menos ${min} ${label}",max:"A lo mucho ${max} ${label}",range:"El monto de ${label} debe estar entre ${min}-${max}"},pattern:{mismatch:"${label} no coincide con el patrón ${pattern}"}}},Image:{preview:"Previsualización"}};J$e=zye.default=MFn;var Dye={},HQ={};Object.defineProperty(HQ,"__esModule",{value:!0});HQ.default=void 0;var IFn={items_per_page:"/ sayfa",jump_to:"Git",jump_to_confirm:"onayla",page:"Sayfa",prev_page:"Önceki Sayfa",next_page:"Sonraki Sayfa",prev_5:"Önceki 5 Sayfa",next_5:"Sonraki 5 Sayfa",prev_3:"Önceki 3 Sayfa",next_3:"Sonraki 3 Sayfa",page_size:"sayfa boyutu"};HQ.default=IFn;var MQ={},aN={},IQ={};Object.defineProperty(IQ,"__esModule",{value:!0});IQ.default=void 0;var zFn={locale:"tr_TR",today:"Bugün",now:"Şimdi",backToToday:"Bugüne Geri Dön",ok:"Tamam",clear:"Temizle",month:"Ay",year:"Yıl",timeSelect:"Zaman Seç",dateSelect:"Tarih Seç",monthSelect:"Ay Seç",yearSelect:"Yıl Seç",decadeSelect:"On Yıl Seç",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Önceki Ay (PageUp)",nextMonth:"Sonraki Ay (PageDown)",previousYear:"Önceki Yıl (Control + Sol)",nextYear:"Sonraki Yıl (Control + Sağ)",previousDecade:"Önceki On Yıl",nextDecade:"Sonraki On Yıl",previousCentury:"Önceki Yüzyıl",nextCentury:"Sonraki Yüzyıl"};IQ.default=zFn;var lN={};Object.defineProperty(lN,"__esModule",{value:!0});lN.default=void 0;const DFn={placeholder:"Zaman seç",rangePlaceholder:["Başlangıç zamanı","Bitiş zamanı"]};lN.default=DFn;var K$e=Pd.default;Object.defineProperty(aN,"__esModule",{value:!0});aN.default=void 0;var EFn=K$e(IQ),kFn=K$e(lN);const FFn={lang:Object.assign({placeholder:"Tarih seç",yearPlaceholder:"Yıl seç",quarterPlaceholder:"Çeyrek seç",monthPlaceholder:"Ay seç",weekPlaceholder:"Hafta seç",rangePlaceholder:["Başlangıç tarihi","Bitiş tarihi"],rangeYearPlaceholder:["Başlangıç yılı","Bitiş yılı"],rangeMonthPlaceholder:["Başlangıç ayı","Bitiş ayı"],rangeWeekPlaceholder:["Başlangıç haftası","Bitiş haftası"]},EFn.default),timePickerLocale:Object.assign({},kFn.default)};aN.default=FFn;var LFn=Pd.default;Object.defineProperty(MQ,"__esModule",{value:!0});MQ.default=void 0;var WFn=LFn(aN);MQ.default=WFn.default;var zQ=Pd.default;Object.defineProperty(Dye,"__esModule",{value:!0});var q$e=Dye.default=void 0,NFn=zQ(HQ),UFn=zQ(MQ),BFn=zQ(aN),jFn=zQ(lN);const L1="${label} geçerli bir ${type} değil",YFn={locale:"tr",Pagination:NFn.default,DatePicker:BFn.default,TimePicker:jFn.default,Calendar:UFn.default,global:{placeholder:"Lütfen seçiniz"},Table:{filterTitle:"Filtre menüsü",filterConfirm:"Tamam",filterReset:"Sıfırla",filterEmptyText:"Filtre yok",selectAll:"Tüm sayfayı seç",selectInvert:"Tersini seç",selectionAll:"Tümünü seç",sortTitle:"Sırala",expand:"Satırı genişlet",collapse:"Satırı daralt",triggerDesc:"Azalan düzende sırala",triggerAsc:"Artan düzende sırala",cancelSort:"Sıralamayı kaldır"},Modal:{okText:"Tamam",cancelText:"İptal",justOkText:"Tamam"},Popconfirm:{okText:"Tamam",cancelText:"İptal"},Transfer:{titles:["",""],searchPlaceholder:"Arama",itemUnit:"Öğe",itemsUnit:"Öğeler",remove:"Kaldır",selectCurrent:"Tüm sayfayı seç",removeCurrent:"Sayfayı kaldır",selectAll:"Tümünü seç",removeAll:"Tümünü kaldır",selectInvert:"Tersini seç"},Upload:{uploading:"Yükleniyor...",removeFile:"Dosyayı kaldır",uploadError:"Yükleme hatası",previewFile:"Dosyayı önizle",downloadFile:"Dosyayı indir"},Empty:{description:"Veri Yok"},Icon:{icon:"ikon"},Text:{edit:"Düzenle",copy:"Kopyala",copied:"Kopyalandı",expand:"Genişlet"},Form:{optional:"(opsiyonel)",defaultValidateMessages:{default:"Alan doğrulama hatası ${label}",required:"${label} gerekli bir alan",enum:"${label} şunlardan biri olmalı: [${enum}]",whitespace:"${label} sadece boşluk olamaz",date:{format:"${label} tarih biçimi geçersiz",parse:"${label} bir tarihe dönüştürülemedi",invalid:"${label} geçersiz bir tarih"},types:{string:L1,method:L1,array:L1,object:L1,number:L1,date:L1,boolean:L1,integer:L1,float:L1,regexp:L1,email:L1,url:L1,hex:L1},string:{len:"${label} ${len} karakter olmalı",min:"${label} en az ${min} karakter olmalı",max:"${label} en çok ${max} karakter olmalı",range:"${label} ${min}-${max} karakter arası olmalı"},number:{len:"${label} ${len} olmalı",min:"${label} en az ${min} olmalı",max:"${label} en çok ${max} olmalı",range:"${label} ${min}-${max} arası olmalı"},array:{len:"${label} sayısı ${len} olmalı",min:"${label} sayısı en az ${min} olmalı",max:"${label} sayısı en çok ${max} olmalı",range:"${label} sayısı ${min}-${max} arası olmalı"},pattern:{mismatch:"${label} şu kalıpla eşleşmeli: ${pattern}"}}},Image:{preview:"Önizleme"}};q$e=Dye.default=YFn;var Eye={},DQ={};Object.defineProperty(DQ,"__esModule",{value:!0});DQ.default=void 0;var OFn={items_per_page:"/ сторінці",jump_to:"Перейти",jump_to_confirm:"підтвердити",page:"",prev_page:"Попередня сторінка",next_page:"Наступна сторінка",prev_5:"Попередні 5 сторінок",next_5:"Наступні 5 сторінок",prev_3:"Попередні 3 сторінки",next_3:"Наступні 3 сторінки",page_size:"Page Size"};DQ.default=OFn;var EQ={},sN={},kQ={};Object.defineProperty(kQ,"__esModule",{value:!0});kQ.default=void 0;var _Fn={locale:"uk_UA",today:"Сьогодні",now:"Зараз",backToToday:"Поточна дата",ok:"OK",clear:"Очистити",month:"Місяць",year:"Рік",timeSelect:"Обрати час",dateSelect:"Обрати дату",monthSelect:"Обрати місяць",yearSelect:"Обрати рік",decadeSelect:"Обрати десятиріччя",yearFormat:"YYYY",dateFormat:"D-M-YYYY",dayFormat:"D",dateTimeFormat:"D-M-YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Попередній місяць (PageUp)",nextMonth:"Наступний місяць (PageDown)",previousYear:"Попередній рік (Control + left)",nextYear:"Наступний рік (Control + right)",previousDecade:"Попереднє десятиріччя",nextDecade:"Наступне десятиріччя",previousCentury:"Попереднє століття",nextCentury:"Наступне століття"};kQ.default=_Fn;var cN={};Object.defineProperty(cN,"__esModule",{value:!0});cN.default=void 0;const VFn={placeholder:"Оберіть час"};cN.default=VFn;var $$e=Pd.default;Object.defineProperty(sN,"__esModule",{value:!0});sN.default=void 0;var GFn=$$e(kQ),XFn=$$e(cN);const JFn={lang:Object.assign({placeholder:"Оберіть дату",rangePlaceholder:["Початкова дата","Кінцева дата"]},GFn.default),timePickerLocale:Object.assign({},XFn.default)};sN.default=JFn;var KFn=Pd.default;Object.defineProperty(EQ,"__esModule",{value:!0});EQ.default=void 0;var qFn=KFn(sN);EQ.default=qFn.default;var FQ=Pd.default;Object.defineProperty(Eye,"__esModule",{value:!0});var Q$e=Eye.default=void 0,$Fn=FQ(DQ),QFn=FQ(EQ),ZFn=FQ(sN),eLn=FQ(cN);const W1="${label} не є типом ${type}",tLn={locale:"uk",Pagination:$Fn.default,DatePicker:ZFn.default,TimePicker:eLn.default,Calendar:QFn.default,global:{placeholder:"Будь ласка, оберіть"},Table:{filterTitle:"Фільтрувати",filterConfirm:"OK",filterReset:"Скинути",filterEmptyText:"Фільтри відсутні",filterCheckall:"Обрати всі",filterSearchPlaceholder:"Пошук у фільтрах",emptyText:"Даних немає",selectAll:"Обрати всі на сторінці",selectInvert:"Інвертувати вибір",selectNone:"Очистити вибір",selectionAll:"Обрати всі",sortTitle:"Сортувати",expand:"Розгорнути рядок",collapse:"Згорнути рядок",triggerDesc:"Сортувати за спаданням",triggerAsc:"Сортувати за зростанням",cancelSort:"Відмінити сортування"},Tour:{Next:"Далі",Previous:"Назад",Finish:"Завершити"},Modal:{okText:"Гаразд",cancelText:"Скасувати",justOkText:"Гаразд"},Popconfirm:{okText:"Гаразд",cancelText:"Скасувати"},Transfer:{titles:["",""],searchPlaceholder:"Введіть текст для пошуку",itemUnit:"елем.",itemsUnit:"елем.",remove:"Видалити",selectCurrent:"Вибрати поточну сторінку",removeCurrent:"Скасувати вибір на сторінці",selectAll:"Вибрати всі дані",removeAll:"Скасувати вибір",selectInvert:"Інвертувати поточну сторінку"},Upload:{uploading:"Завантаження ...",removeFile:"Видалити файл",uploadError:"Помилка завантаження",previewFile:"Попередній перегляд файлу",downloadFile:"Завантажити файл"},Empty:{description:"Даних немає"},Icon:{icon:"іконка"},Text:{edit:"Редагувати",copy:"Скопіювати",copied:"Скопійовано",expand:"Розширити"},Form:{optional:"(опціонально)",defaultValidateMessages:{default:"Помилка валідації для поля ${label}",required:"Будь ласка, заповніть ${label}",enum:"Лише одне зі значень [${enum}] доступне для ${label}",whitespace:"Значення у полі ${label} не може бути пробілом",date:{format:"Не валідний формат дати у ${label}",parse:"Значення ${label} не може бути приведене до дати",invalid:"Не валідна дата у ${label}"},types:{string:W1,method:W1,array:W1,object:W1,number:W1,date:W1,boolean:W1,integer:W1,float:W1,regexp:W1,email:W1,url:W1,hex:W1},string:{len:"${label} має містити ${len} символів",min:"${label} має містити не менш, ніж ${min} символів",max:"${label} має містити не більш, ніж ${max} символів",range:"${label} має містити ${min}-${max} символів"},number:{len:"${label} має дорівнювати ${len}",min:"${label} має бути не менш, ніж ${min}",max:"${label} має бути не більш, ніж ${max}",range:"${label} має бути в межах ${min}-${max}"},array:{len:"${label} має містити ${len} елементи",min:"${label} має містити не менш, ніж ${min} елементи",max:"${label} має містити не більш, ніж ${max} елементи",range:"Кількість елементів в ${label} має бути в межах ${min}-${max}"},pattern:{mismatch:"${label} не відповідає шаблону ${pattern}"}}},Image:{preview:"Попередній перегляд"},QRCode:{expired:"QR-код закінчився",refresh:"Оновити"}};Q$e=Eye.default=tLn;const nLn=Se.memo(()=>{const t=M.getState().language,e=n=>{M.getState().set(o=>{switch(o.language=n.target.value,o.language){case"zh_cn":o.locale=O$e;break;case"zh_tw":o.locale=G$e;break;case"es":o.locale=J$e;break;case"tr":o.locale=q$e;break;case"ua":o.locale=Q$e;break;default:o.locale=Lpe}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,update:!0,children:h.jsx(Be.Group,{value:t,style:{height:"170px"},onChange:e,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:"en",children:Z5.English}),h.jsx(Be,{style:{width:"100%"},value:"es",children:Z5.Spanish}),h.jsx(Be,{style:{width:"100%"},value:"zh_cn",children:Z5.ChineseSimplified}),h.jsx(Be,{style:{width:"100%"},value:"zh_tw",children:Z5.ChineseTraditional}),h.jsx(Be,{style:{width:"100%"},value:"tr",children:Z5.Turkish}),h.jsx(Be,{style:{width:"100%"},value:"ua",children:Z5.Ukrainian})]})})})}),oLn=(t,e,n)=>{const o={lng:M.getState().language},i=()=>{gt.getState().set(l=>{l.showModelsGallery=!0,l.leaderboardFlag=!0,l.openModelsMap=!1})},r=()=>{gt.getState().set(l=>{l.modelsMapFlag=!0,l.modelsMapWeatherStations=!1,l.openModelsMap=!0,l.showModelsGallery=!1}),M.getState().loggable&&M.getState().set(l=>{l.actionInfo={name:"Open Models Map",timestamp:new Date().getTime()}})},a=[];return t&&!e&&a.push({key:"my-models",label:h.jsxs(tn,{noPadding:!0,onClick:i,children:[O.t("menu.ModelsGallery",o),"..."]})}),n||a.push({key:"models-map",label:h.jsxs(tn,{noPadding:!0,onClick:r,children:[O.t("menu.ModelsMap",o),"..."]})}),a},$G=()=>{const t=Ln.getState().orbitControlsRef;if(t!=null&&t.current){const e=Math.min(50,M.getState().sceneRadius*4);t.current.object.position.set(e,e,e),t.current.target.set(0,0,0),t.current.update(),M.getState().set(n=>{const o=n.viewState;o.cameraPosition=[e,e,e],o.panCenter=[0,0,0]})}},QG=t=>{if(M.getState().viewState.orthographic){const e=M.getState().viewState.cameraZoom??20,n=e,o=e/t,i={name:"Zoom",timestamp:Date.now(),oldValue:n,newValue:o,undo:()=>{M.getState().set(r=>{r.viewState.cameraZoom=i.oldValue})},redo:()=>{M.getState().set(r=>{r.viewState.cameraZoom=i.newValue})}};M.getState().addUndoable(i),M.getState().set(r=>{r.viewState.cameraZoom=o})}else{const e=Ln.getState().orbitControlsRef;if(e!=null&&e.current){const n=e.current.object.position,o=n.x*t,i=n.y*t,r=n.z*t,a={name:"Zoom",timestamp:Date.now(),oldCameraPosition:[n.x,n.y,n.z],newCameraPosition:[o,i,r],undo:()=>{var u,d;const l=a.oldCameraPosition[0],s=a.oldCameraPosition[1],c=a.oldCameraPosition[2];(u=e.current)==null||u.object.position.set(l,s,c),(d=e.current)==null||d.update(),M.getState().set(f=>{f.viewState.cameraPosition=[l,s,c]})},redo:()=>{var u,d;const l=a.newCameraPosition[0],s=a.newCameraPosition[1],c=a.newCameraPosition[2];(u=e.current)==null||u.object.position.set(l,s,c),(d=e.current)==null||d.update(),M.getState().set(f=>{f.viewState.cameraPosition=[l,s,c]})}};M.getState().addUndoable(a),e.current.object.position.set(o,i,r),e.current.update(),M.getState().set(l=>{l.viewState.cameraPosition=[o,i,r]})}}},iLn=(t,e)=>{const n={lng:M.getState().language},o=M.getState().viewState.orthographic,i=M.getState().viewState.cameraPosition,r=M.getState().viewState.panCenter,a=i[0]===i[1]&&i[1]===i[2]&&r[0]===0&&r[1]===0&&r[2]===0,l=()=>{const C={name:"Reset View",timestamp:Date.now(),oldCameraPosition:[...i],oldPanCenter:[...r],undo:()=>{const b=Ln.getState().orbitControlsRef;b!=null&&b.current&&(b.current.object.position.set(C.oldCameraPosition[0],C.oldCameraPosition[1],C.oldCameraPosition[2]),b.current.target.set(C.oldPanCenter[0],C.oldPanCenter[1],C.oldPanCenter[2]),b.current.update(),M.getState().set(v=>{const S=v.viewState;S.cameraPosition=[...C.oldCameraPosition],S.panCenter=[...C.oldPanCenter]}))},redo:()=>{$G()}};M.getState().addUndoable(C),$G(),M.getState().set(b=>{b.objectTypeToAdd=z.None,b.groupActionMode=!1,b.viewState.orthographic=!1})},s=()=>{QG(1.1)},c=()=>{QG(.9)},u=C=>{const b=M.getState().setNavigationView,v={name:"Toggle Navigation View",timestamp:Date.now(),checked:C.target.checked,undo:()=>{b(!v.checked)},redo:()=>{b(v.checked)}};M.getState().addUndoable(v),M.getState().set(S=>{S.viewState.autoRotate=!1}),b(C.target.checked)},d=C=>{const b=M.getState().set2DView,v={name:"Toggle 2D View",timestamp:Date.now(),checked:C.target.checked,undo:()=>{b(!v.checked)},redo:()=>{b(v.checked)}};M.getState().addUndoable(v),b(C.target.checked),M.getState().set(S=>{S.viewState.autoRotate=!1})},f=C=>{if(!M.getState().viewState.orthographic){const b={name:"Auto Rotate",timestamp:Date.now(),checked:C.target.checked,undo:()=>{M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=!b.checked})},redo:()=>{M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=b.checked})}};M.getState().addUndoable(b),M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=!v.viewState.autoRotate})}},p=C=>{const b=C.target.checked,v={name:"Show Axes",timestamp:Date.now(),checked:b,undo:()=>{M.getState().set(S=>{S.viewState.axes=!v.checked})},redo:()=>{M.getState().set(S=>{S.viewState.axes=v.checked})}};M.getState().addUndoable(v),M.getState().set(S=>{S.viewState.axes=b})},g=C=>{const b={name:"Show Shadow",timestamp:Date.now(),checked:C.target.checked,undo:()=>{M.getState().set(v=>{v.viewState.shadowEnabled=!b.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})},redo:()=>{M.getState().set(v=>{v.viewState.shadowEnabled=b.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})}};M.getState().addUndoable(b),M.getState().set(v=>{v.viewState.shadowEnabled=C.target.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})},y=C=>{const b=C.target.checked?Xm:0,v={name:"Set Surface Shininess",timestamp:Date.now(),oldValue:M.getState().viewState.solarPanelShininess??Xm,newValue:b,undo:()=>{M.getState().set(S=>{S.viewState.solarPanelShininess=v.oldValue})},redo:()=>{M.getState().set(S=>{S.viewState.solarPanelShininess=v.newValue})}};M.getState().addUndoable(v),M.getState().set(S=>{S.viewState.solarPanelShininess=b})},A=C=>{const b=M.getState().floatingWindowOpacity,v=C.target.checked?m0:1,S={name:"Floating Window Opacity",timestamp:Date.now(),oldValue:b,newValue:v,undo:()=>{M.getState().set(w=>{w.floatingWindowOpacity=S.oldValue})},redo:()=>{M.getState().set(w=>{w.floatingWindowOpacity=S.newValue})}};M.getState().addUndoable(S),M.getState().set(w=>{w.floatingWindowOpacity=v})},x=[];return!o&&!a&&x.push({key:"reset-view",label:h.jsxs(tn,{onClick:l,children:[O.t("menu.view.ResetView",n),h.jsxs(nh,{children:["(",t,")"]})]})}),x.push({key:"zoom-out-view",label:h.jsxs(tn,{onClick:s,children:[O.t("menu.view.ZoomOut",n),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+])"]})]})}),x.push({key:"zoom-in-view",label:h.jsxs(tn,{onClick:c,children:[O.t("menu.view.ZoomIn",n),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+[)"]})]})}),x.push({key:"navigation-view-check-box",label:h.jsxs(r2,{selector:fq,onChange:u,children:[O.t("menu.view.NavigationView",n),h.jsxs(nh,{children:["(",Voe,"+Q)"]})]})}),x.push({key:"orthographic-check-box",label:h.jsxs(r2,{selector:hu,onChange:d,children:[O.t("menu.view.TwoDimensionalView",n),h.jsxs(nh,{children:["(",Voe,"+B)"]})]})}),o||x.push({key:"auto-rotate-check-box",label:h.jsxs(r2,{selector:yBe,onChange:f,children:[O.t("menu.view.AutoRotate",n),h.jsxs(nh,{children:["(",Voe,"+M)"]})]})}),x.push({key:"axes-check-box",label:h.jsx(r2,{selector:B1e,onChange:p,children:O.t("skyMenu.Axes",n)})}),x.push({key:"shadow-check-box",label:h.jsx(r2,{selector:ss,onChange:g,children:O.t("menu.view.ShowShadow",n)})}),x.push({key:"shininess-check-box",label:h.jsx(r2,{selector:C=>C.viewState.solarPanelShininess===void 0||C.viewState.solarPanelShininess>0,onChange:y,children:O.t("menu.view.ShowSurfaceShininess",n)})}),x.push({key:"translucency-check-box",label:h.jsx(r2,{selector:C=>C.floatingWindowOpacity<1,onChange:A,children:O.t("menu.view.TranslucentFloatingWindows",n)})}),x},rLn=()=>{const t={lng:M.getState().language},e=M.getState().set,n=M.getState().addUndoable,o=M.getState().viewState.showHeliodonPanel,i=M.getState().viewState.showMapPanel,r=M.getState().viewState.showWeatherPanel,a=M.getState().viewState.showDiurnalTemperaturePanel,l=gt.getState().showEconomicsPanel,s=gt.getState().showNavigationPanel,c=gt.getState().showShadowSettings,u=M.getState().loggable,d=()=>{const b={name:"Open Sun and Time Settings Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showHeliodonPanel=!1})},redo:()=>{e(v=>{v.viewState.showHeliodonPanel=!0})}};n(b),e(v=>{v.viewState.showHeliodonPanel=!0,v.selectedFloatingWindow="heliodonPanel"})},f=()=>{const b={name:"Open Maps",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showMapPanel=!1})},redo:()=>{e(v=>{v.viewState.showMapPanel=!0})}};n(b),e(v=>{v.viewState.showMapPanel=!0,v.selectedFloatingWindow="mapPanel"})},p=()=>{const b={name:"Open Weather Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showWeatherPanel=!1})},redo:()=>{e(v=>{v.viewState.showWeatherPanel=!0})}};n(b),e(v=>{v.viewState.showWeatherPanel=!0,v.selectedFloatingWindow="weatherPanel"})},g=()=>{const b={name:"Open Diurnal Temperature Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showDiurnalTemperaturePanel=!1})},redo:()=>{e(v=>{v.viewState.showDiurnalTemperaturePanel=!0})}};n(b),e(v=>{v.viewState.showDiurnalTemperaturePanel=!0,v.selectedFloatingWindow="diurnalTemperaturePanel"})},y=()=>{gt.getState().set(b=>{b.showEconomicsPanel=!0}),u&&e(b=>{b.actionInfo={name:"Open Economics Panel",timestamp:new Date().getTime()}})},A=()=>{gt.getState().set(b=>{b.showNavigationPanel=!0}),u&&e(b=>{b.actionInfo={name:"Open Navigation Panel",timestamp:new Date().getTime()}})},x=()=>{gt.getState().set(b=>{b.showShadowSettings=!0}),u&&e(b=>{b.actionInfo={name:"Open Shadow Settings",timestamp:new Date().getTime()}})},C=[];return o||C.push({key:"sun-time",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[O.t("menu.settings.SunAndTime",t),"..."]})}),i||C.push({key:"show-map-panel",label:h.jsxs(tn,{noPadding:!0,onClick:f,children:[O.t("word.Location",t),"..."]})}),r||C.push({key:"weather-panel",label:h.jsxs(tn,{noPadding:!0,onClick:p,children:[O.t("menu.settings.WeatherData",t),"..."]})}),a||C.push({key:"diurnal-temperature-panel",label:h.jsxs(tn,{noPadding:!0,onClick:g,children:[O.t("menu.settings.DiurnalTemperature",t),"..."]})}),l||C.push({key:"economics-panel",label:h.jsxs(tn,{noPadding:!0,onClick:y,children:[O.t("economicsPanel.EconomicsParameters",t),"..."]})}),s||C.push({key:"navigation-panel",label:h.jsxs(tn,{noPadding:!0,onClick:A,children:[O.t("navigationPanel.NavigationParameters",t),"..."]})}),c||C.push({key:"shadow-settings",label:h.jsxs(tn,{noPadding:!0,onClick:x,children:[O.t("shadowSettingsPanel.ShadowSettings",t),"..."]})}),C},aLn=()=>{const t={lng:M.getState().language},e=M.getState().set,n=M.getState().addUndoable,o=s=>{const c=s.target.checked,u={name:"Show Site Information",timestamp:Date.now(),checked:c,undo:()=>{e(d=>{d.viewState.showSiteInfoPanel=!u.checked})},redo:()=>{e(d=>{d.viewState.showSiteInfoPanel=u.checked})}};n(u),e(d=>{d.viewState.showSiteInfoPanel=c})},i=s=>{const c=s.target.checked,u={name:"Show Design Information",timestamp:Date.now(),checked:c,undo:()=>{e(d=>{d.viewState.showDesignInfoPanel=!u.checked})},redo:()=>{e(d=>{d.viewState.showDesignInfoPanel=u.checked})}};n(u),e(d=>{d.viewState.showDesignInfoPanel=!d.viewState.showDesignInfoPanel})},r=s=>{const c={name:"Show Instruction Panel",timestamp:Date.now(),checked:s.target.checked,undo:()=>{e(u=>{u.viewState.showInstructionPanel=!c.checked})},redo:()=>{e(u=>{u.viewState.showInstructionPanel=c.checked})}};n(c),e(u=>{u.viewState.showInstructionPanel=!u.viewState.showInstructionPanel})},a=s=>{const c={name:"Show Sticky Note",timestamp:Date.now(),checked:s.target.value,undo:()=>{e(u=>{u.viewState.showStickyNotePanel=!c.checked})},redo:()=>{e(u=>{u.viewState.showStickyNotePanel=c.checked})}};n(c),e(u=>{u.viewState.showStickyNotePanel=!u.viewState.showStickyNotePanel})};return[{key:"site-info-panel-check-box",label:h.jsx(r2,{selector:Y1e,onChange:o,children:O.t("menu.view.accessories.SiteInformation",t)})},{key:"design-info-panel-check-box",label:h.jsx(r2,{selector:gq,onChange:i,children:O.t("menu.view.accessories.DesignInformation",t)})},{key:"instruction-panel-check-box",label:h.jsx(r2,{selector:TBe,onChange:r,children:O.t("menu.view.accessories.Instruction",t)})},{key:"sticky-note-panel-check-box",label:h.jsx(r2,{selector:CBe,onChange:a,children:O.t("menu.view.accessories.StickyNote",t)})}]};var Z1=(t=>(t[t.NO_BUILDING=3]="NO_BUILDING",t[t.AT_LEAST_ONE_BAD_NO_GOOD=2]="AT_LEAST_ONE_BAD_NO_GOOD",t[t.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD=1]="AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD",t[t.OK=0]="OK",t))(Z1||{});const aO=50,ZG=(t,e,n)=>{if(e(z.Foundation)===0)return{status:3};let i=!1,r=!1,a;for(const l of t)if(l.type===z.Foundation){const s=l;if(s.notBuilding)continue;if(n(z.Wall,s.id).length>0){const u=be.getBuildingCompletionStatus(s,t);u===Uc.COMPLETE?i=!0:(r=!0,a=u)}else r=!0}return r&&!i?{status:2,buildingCompletion:a}:r&&i?{status:1}:{status:0}},G8=t=>{if(!t.color)return .5;const e=t.color.toLowerCase();if(e==="white")return .05;if(e==="black")return .95;const n=parseInt(t.color.substring(1),16),o=n>>16&255,i=n>>8&255,r=n&255;let a=Math.min(o,i);a=Math.min(a,r);let l=Math.max(o,i);return l=Math.max(l,r),Math.min(.95,Math.max(.05,1-(a+l)/510))},lO=(t,e,n,o)=>e<0&&t.low>=n-o||e>0&&t.high<=n+o?0:e,Xx=(t,e,n,o,i,r)=>{if(n===u2.Sinusoidal)return .5*(t+e)-.5*(t-e)*Math.cos(Rue*(r-(o-720)));const a=.5*(t+e),l=.5*(t-e),s=i.daylight();if(r>i.sunrise&&ri.sunset){const p=r-i.sunset;return e+(u-e)*Math.exp(-d*p/c)}const f=r+23*60-i.sunset;return e+(u-e)*Math.exp(-d*f/c)},Jx=(t,e,n)=>{const o=t.getFullYear(),i=t.getMonth(),r=t.getDate(),l=be.daysOfMonth(i,o)/2;let s,c,u;if(r11&&(c=0);const p=be.daysOfMonth(c,o)/2,g=l+p;u=(r-l)/g}const d=e[s]+(e[c]-e[s])*u,f=n[s]+(n[c]-n[s])*u;return{low:d,high:f}},lLn=(t,e,n,o,i,r)=>{const a=n.length;let l=0,s=-1e3,c=1e3,u=-1e3,d=1e3;for(let g=0;go[g]&&(c=o[g]),d>n[g]&&(d=n[g]);l/=2*a;const f=.25*(s-c+u-d),p=r*Math.sqrt(bre/(2*i));return t>0?l-f*Math.exp(-p)*Math.cos(bre*(e-$be)-p):l-f*Math.exp(-p)*Math.cos(Math.PI+bre*(e-$be)-p)},Z$e=(t,e,n,o,i,r,a,l,s)=>lLn(t,e,o,i,l,s)-Math.exp(-s*Math.sqrt(Rue/(2*l)))*a*Math.cos(Rue*(n-(r-720)-p$t)),{Option:X8}=Yo,LQ=Se.memo(({type:t})=>{const e=M(kBe),n=M(s4t),o=M(u4t),i=Kt(),r=m.useMemo(()=>{switch(t){case Ql.CSP:return n;case Ql.SUT:return o;default:return e}},[t,e,n,o]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:O.t("menu.option.SamplingFrequency",i)+":"}),h.jsxs(Yo,{style:{width:"72px"},value:r??4,onChange:a=>{M.getState().set(l=>{switch(t){case Ql.CSP:l.world.cspTimesPerHour=a;break;case Ql.SUT:l.world.sutTimesPerHour=a;break;default:l.world.timesPerHour=a;break}})},children:[h.jsx(X8,{value:1,children:"1"},1),h.jsx(X8,{value:2,children:"2"},2),h.jsx(X8,{value:3,children:"3"},3),h.jsx(X8,{value:4,children:"4"},4),h.jsx(X8,{value:6,children:"6"},6),h.jsx(X8,{value:12,children:"12"},12),h.jsx(X8,{value:30,children:"30"},30)]}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("menu.option.TimesPerHour",i)})]})}),{Option:Lre}=Yo,WQ=Se.memo(({type:t})=>{const e=M(mH),n=M(qL),o=M(LBe),i=Kt(),r=m.useMemo(()=>{switch(t){case Ql.CSP:return n;case Ql.SUT:return o;default:return e}},[t,e,n,o]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsxs(Yo,{style:{marginLeft:"150px",width:"72px"},value:r??6,onChange:a=>{switch(t){case Ql.BUILDING:M.getState().set(l=>{l.world.daysPerYear=a});break;case Ql.PV:M.getState().set(l=>{l.world.daysPerYear=a}),bn.setState({yearlyPvYield:[]});break;case Ql.CSP:M.getState().set(l=>{l.world.cspDaysPerYear=a}),bn.setState({yearlyParabolicTroughYield:[],yearlyParabolicDishYield:[],yearlyFresnelReflectorYield:[],yearlyHeliostatYield:[]});break;case Ql.SUT:M.getState().set(l=>{l.world.sutDaysPerYear=a}),bn.setState({yearlyUpdraftTowerYield:[]});break}},children:[h.jsx(Lre,{value:4,children:"4"},4),h.jsx(Lre,{value:6,children:"6"},6),h.jsx(Lre,{value:12,children:"12"},12)]}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("menu.option.DaysPerYear",i)})]})}),uN=Se.memo(({type:t})=>{const e=M(r4t),n=M(a4t),o=M(c4t),i=M(d4t),r=Kt(),a=m.useMemo(()=>{switch(t){case Ql.PV:return n;case Ql.CSP:return o;case Ql.SUT:return i;default:return e}},[t,n,o,i,e]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:O.t("menu.option.GridCellSize",r)+":"}),h.jsx(Hn,{min:.1,max:5,step:.05,style:{width:72},precision:2,value:a??.5,onChange:l=>{l!==null&&M.getState().set(s=>{switch(t){case Ql.PV:s.world.pvGridCellSize=l;break;case Ql.CSP:s.world.cspGridCellSize=l;break;case Ql.SUT:s.world.sutGridCellSize=l;break;default:s.world.solarRadiationHeatmapGridCellSize=l;break}})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("word.MeterAbbreviation",r)})]})}),sLn=()=>[{key:"building-energy-simulation-sampling-frequency",label:h.jsx(LQ,{type:Ql.BUILDING})},{key:"building-energy-simulation-sampling-days",label:h.jsx(WQ,{type:Ql.BUILDING})},{key:"building-energy-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.BUILDING})}],{Option:STe}=Yo,cLn=Se.memo(()=>{const t=Kt(),e=M(i4t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:O.t("menu.solarPanel.PanelDiscretization",t)+":"}),h.jsxs(Yo,{style:{width:"165px"},value:e??Rm.APPROXIMATE,onChange:n=>{M.getState().set(o=>{o.world.discretization=n})},children:[h.jsx(STe,{value:Rm.EXACT,children:O.t("menu.solarPanel.Exact",t)},Rm.EXACT),h.jsx(STe,{value:Rm.APPROXIMATE,children:O.t("menu.solarPanel.Approximate",t)},Rm.APPROXIMATE)]})]})}),uLn=Se.memo(()=>{const t=Kt(),e=M(X1e);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:O.t("menu.solarPanel.SolarPanelSimulationNoAnimation",t)+":"}),h.jsx(wc,{checked:e,onChange:n=>{M.getState().set(o=>{o.world.noAnimationForSolarPanelSimulation=n})}})]})}),dLn=t=>{const e=M.getState().world.discretization,n=[{key:"solar-panel-simulation-sampling-frequency",label:h.jsx(LQ,{type:Ql.PV})},{key:"solar-panel-simulation-sampling-days",label:h.jsx(WQ,{type:Ql.PV})},{key:"solar-panel-discretization",label:h.jsx(cLn,{})}];return(!e||e===Rm.APPROXIMATE)&&n.push({key:"solar-panel-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.PV})}),t||n.push({key:"solar-panel-simulation-no-animation",label:h.jsx(uLn,{})}),n},sO=t=>[{key:`${t}-simulation-sampling-frequency`,label:h.jsx(LQ,{type:Ql.CSP})},{key:`${t}-simulation-sampling-days`,label:h.jsx(WQ,{type:Ql.CSP})},{key:`${t}-simulation-grid-cell-size`,label:h.jsx(uN,{type:Ql.CSP})}],fLn=Se.memo(()=>{const t=Kt(),e=M(wf);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:O.t("menu.physics.SolarRadiationHeatmapMaxValue",t)+":"}),h.jsx(Hn,{min:.5,max:50,step:.5,style:{width:60},precision:1,value:e??5,onChange:n=>{M.getState().set(o=>{n!==null&&(o.viewState.solarRadiationHeatMapMaxValue=n)})}})]})}),hLn=Se.memo(()=>{const t=Kt(),e=M(kBe);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:O.t("menu.option.SamplingFrequency",t)+":"}),h.jsx(Hn,{min:1,max:60,step:1,style:{width:60},precision:0,value:e,formatter:n=>Number(n).toFixed(0),onChange:n=>{n!==null&&M.getState().set(o=>{o.world.timesPerHour=n})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("menu.option.TimesPerHour",t)})]})}),pLn=Se.memo(()=>{const t=Kt(),e=M(l4t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{paddingRight:"10px"},children:O.t("menu.solarPanel.VisibilityGridCellSize",t)+":"}),h.jsx(Hn,{min:.1,max:5,step:.1,style:{width:60},precision:1,value:e??.2,onChange:n=>{n!==null&&M.getState().set(o=>{o.world.solarPanelVisibilityGridCellSize=n})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("word.MeterAbbreviation",t)})]})}),gLn=()=>[{key:"sut-simulation-sampling-frequency",label:h.jsx(LQ,{type:Ql.SUT})},{key:"sut-simulation-sampling-days",label:h.jsx(WQ,{type:Ql.SUT})},{key:"sut-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.SUT})}],mLn=t=>{const e={lng:M.getState().language},n=gt.getState().setPrimitiveStore,o=M.getState().set,i=M.getState().selectNone,r=M.getState().countElementsByType,a=M.getState().countHeatmapCells,l=gt.getState().runDynamicSimulation,s=gt.getState().runStaticSimulation,c=M.getState().world.noAnimationForHeatmapSimulation,u=M.getState().elements,d=M.getState().loggable,f=be.hasMovingParts(u),p=[],g=()=>{s||fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{i(),n("runStaticSimulation",!s),d&&o(Y=>{Y.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Static)",timestamp:new Date().getTime()}})},100)},y=()=>{l||fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{i(),n("runDynamicSimulation",!l),d&&o(Y=>{Y.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Dynamic)",timestamp:new Date().getTime()}})},100)},A=()=>{a()>QNe?_r.confirm({title:O.t("message.CalculationMayBeSlowDoYouWantToContinue",e)+" ("+O.t("message.IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp",e)+")",icon:h.jsx(WW,{}),onOk:()=>{x()},onCancel:()=>{},okText:`${O.t("word.Yes",e)}`,cancelText:`${O.t("word.No",e)}`}):x()},x=()=>{!c||f?y():g()},C=()=>{if(r(z.Sensor)===0){fn(O.t("analysisManager.NoSensorForCollectingData",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{d&&o(_=>{_.actionInfo={name:"Collect Daily Data for Sensors",timestamp:new Date().getTime()}}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailyLightSensor=!0})},100)},b=()=>{if(r(z.Sensor)===0){fn(O.t("analysisManager.NoSensorForCollectingData",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{d&&o(_=>{_.actionInfo={name:"Collect Yearly Data for Sensors",timestamp:new Date().getTime()}}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlyLightSensor=!0})},100)},v=()=>{const Y=ZG(u,M.getState().countElementsByType,M.getState().getChildrenOfType);if(Y.status===Z1.NO_BUILDING){fn(O.t("analysisManager.NoBuildingForAnalysis",e));return}if(Y.status===Z1.AT_LEAST_ONE_BAD_NO_GOOD){let _;switch(Y.buildingCompletion){case Uc.WALL_DISJOINED:_=O.t("message.WallsAreNotConnected",e);break;case Uc.WALL_EMPTY:_=O.t("message.BuildingContainsEmptyWall",e);break;case Uc.ROOF_MISSING:_=O.t("message.BuildingRoofMissing",e);break;default:_=O.t("message.UnknownErrors",e)}Lo(O.t("message.SimulationWillNotStartDueToErrors",e)+": "+_);return}Y.status===Z1.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(O.t("message.SimulationWillStartDespiteWarnings",e)),fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{i(),d&&o(_=>{_.actionInfo={name:"Analyze Daily Building Energy",timestamp:new Date().getTime()}}),gt.getState().set(_=>{_.runDailyThermalSimulation=!0,_.simulationInProgress=!0})},100)},S=()=>{const Y=ZG(u,M.getState().countElementsByType,M.getState().getChildrenOfType);if(Y.status===Z1.NO_BUILDING){fn(O.t("analysisManager.NoBuildingForAnalysis",e));return}if(Y.status===Z1.AT_LEAST_ONE_BAD_NO_GOOD){let _;switch(Y.buildingCompletion){case Uc.WALL_DISJOINED:_=O.t("message.WallsAreNotConnected",e);break;case Uc.WALL_EMPTY:_=O.t("message.BuildingContainsEmptyWall",e);break;case Uc.ROOF_MISSING:_=O.t("message.BuildingRoofMissing",e);break;default:_=O.t("message.UnknownErrors",e)}Lo(O.t("message.SimulationWillNotStartDueToErrors",e)+": "+_);return}Y.status===Z1.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(O.t("message.SimulationWillStartDespiteWarnings",e)),fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{i(),gt.getState().set(_=>{_.runYearlyThermalSimulation=!0,_.simulationInProgress=!0}),d&&o(_=>{_.actionInfo={name:"Analyze Yearly Building Energy",timestamp:new Date().getTime()}})},100)},w=()=>{if(r(z.SolarPanel)===0){fn(O.t("analysisManager.NoSolarPanelForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyPvIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation For Solar Panels",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForSolarPanels=!0})},100)},T=()=>{if(r(z.SolarPanel)===0){fn(O.t("analysisManager.NoSolarPanelForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyPvIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation For Solar Panels",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForSolarPanels=!0})},100)},P=()=>{if(M.getState().countObservers()===0){fn(O.t("analysisManager.NoObserverForVisibilityAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{gt.getState().set(_=>{_.runSolarPanelVisibilityAnalysis=!_.runSolarPanelVisibilityAnalysis,_.simulationInProgress=!0}),d&&o(_=>{_.actionInfo={name:"Run Visibility Analysis For Solar Panels",timestamp:new Date().getTime()}})},100)},R=()=>{if(r(z.ParabolicTrough)===0){fn(O.t("analysisManager.NoParabolicTroughForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyParabolicTroughIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Parabolic Troughs",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForParabolicTroughs=!0})},100)},H=()=>{if(r(z.ParabolicTrough)===0){fn(O.t("analysisManager.NoParabolicTroughForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyParabolicTroughIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Parabolic Troughs",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForParabolicTroughs=!0})},100)},D=()=>{if(r(z.ParabolicDish)===0){fn(O.t("analysisManager.NoParabolicDishForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyParabolicDishIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Parabolic Dishes",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForParabolicDishes=!0})},100)},E=()=>{if(r(z.ParabolicDish)===0){fn(O.t("analysisManager.NoParabolicDishForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyParabolicDishIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Parabolic Dishes",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForParabolicDishes=!0})},100)},L=()=>{if(r(z.FresnelReflector)===0){fn(O.t("analysisManager.NoFresnelReflectorForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyFresnelReflectorIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Fresnel Reflectors",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForFresnelReflectors=!0})},100)},U=()=>{if(r(z.FresnelReflector)===0){fn(O.t("analysisManager.NoFresnelReflectorForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyFresnelReflectorIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Fresnel Reflectors",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForFresnelReflectors=!0})},100)},F=()=>{if(r(z.Heliostat)===0){fn(O.t("analysisManager.NoHeliostatForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyHeliostatIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Heliostats",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForHeliostats=!0})},100)},W=()=>{if(r(z.Heliostat)===0){fn(O.t("analysisManager.NoHeliostatForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyHeliostatIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Heliostats",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForHeliostats=!0})},100)},B=()=>{if(M.getState().countSolarStructuresByType(zn.UpdraftTower)===0){fn(O.t("analysisManager.NoSolarUpdraftTowerForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyUpdraftTowerIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Solar Updraft Tower",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForUpdraftTower=!0})},100)},k=()=>{if(M.getState().countSolarStructuresByType(zn.UpdraftTower)===0){fn(O.t("analysisManager.NoSolarUpdraftTowerForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyUpdraftTowerIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Solar Updraft Tower",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForUpdraftTower=!0})},100)},N=[];N.push({key:"solar-radiation-heatmap-grid-cell-size",label:h.jsx(uN,{type:Ql.BUILDING})}),N.push({key:"solar-radiation-heatmap-max-value",label:h.jsx(fLn,{})}),be.hasHeliostatOrFresnelReflectors(u)&&N.push({key:"solar-radiation-heatmap-reflection-only",label:h.jsx(Dre,{selector:U1e,onChange:Y=>{M.getState().set(_=>{_.world.noAnimationForHeatmapSimulation=Y})},children:O.t("menu.physics.ReflectionHeatmap",e)+":"})}),f||N.push({key:"solar-radiation-heatmap-no-animation",label:h.jsx(Dre,{selector:V1e,onChange:Y=>{M.getState().set(_=>{_.world.noAnimationForHeatmapSimulation=Y})},children:O.t("menu.physics.SolarRadiationHeatmapNoAnimation",e)+":"})}),p.push({key:"physics-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.physicsSubMenu",e)}),children:[{key:"daily-solar-radiation-heatmap",label:h.jsx(tn,{noPadding:!0,onClick:A,children:O.t("menu.physics.DailySolarRadiationHeatmap",e)})},{key:"solar-radiation-heatmap-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.physics.SolarRadiationHeatmapOptions",e)}),children:N}]});const j=[];return j.push({key:"sensor-simulation-sampling-frequency",label:h.jsx(hLn,{})}),f||j.push({key:"sensor-simulation-no-animation",label:h.jsx(Dre,{selector:G1e,onChange:Y=>{M.getState().set(_=>{_.world.noAnimationForSensorDataCollection=Y})},children:O.t("menu.sensor.SensorSimulationNoAnimation",e)+":"})}),t.sensorCount>0&&p.push({key:"sensor-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.sensorSubMenu",e)}),children:[{key:"sensor-collect-daily-data",label:h.jsx(tn,{noPadding:!0,onClick:C,children:O.t("menu.sensor.CollectDailyData",e)})},{key:"sensor-collect-yearly-data",label:h.jsx(tn,{noPadding:!0,onClick:b,children:O.t("menu.sensor.CollectYearlyData",e)})},{key:"sensor-simulation-options-submenu-2",label:h.jsx(tn,{noPadding:!0,children:O.t("word.Options",e)}),children:j}]}),t.wallCount>0&&p.push({key:"buildings-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingSubMenu",e)}),children:[{key:"building-energy-daily-data",label:h.jsx(tn,{noPadding:!0,onClick:v,children:O.t("menu.building.AnalyzeDailyBuildingEnergy",e)})},{key:"building-energy-yearly-data",label:h.jsx(tn,{noPadding:!0,onClick:S,children:O.t("menu.building.AnalyzeYearlyBuildingEnergy",e)})},{key:"building-energy-analysis-options-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.building.EnergyAnalysisOptions",e)}),children:sLn()}]}),t.solarPanelCount>0&&p.push({key:"solar-panels-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarPanelSubMenu",e)}),children:[{key:"solar-panel-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:w,children:O.t("menu.solarPanel.AnalyzeDailyYield",e)})},{key:"solar-panel-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:T,children:O.t("menu.solarPanel.AnalyzeYearlyYield",e)})},{key:"solar-panel-energy-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarPanel.EnergyAnalysisOptions",e)}),children:dLn(f)},{key:"solar-panel-visibility",label:h.jsx(tn,{noPadding:!0,onClick:P,children:O.t("menu.solarPanel.AnalyzeVisibility",e)})},{key:"solar-panel-visibility-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarPanel.VisibilityAnalysisOptions",e)}),children:[{key:"solar-panel-visibility-grid-cell-size",label:h.jsx(pLn,{})}]}]}),t.parabolicTroughCount>0&&p.push({key:"parabolic-troughs-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.parabolicTroughSubMenu",e)}),children:[{key:"parabolic-trough-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:R,children:O.t("menu.parabolicTrough.AnalyzeDailyYield",e)})},{key:"parabolic-trough-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:H,children:O.t("menu.parabolicTrough.AnalyzeYearlyYield",e)})},{key:"parabolic-trough-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:sO("parabolic-trough")}]}),t.parabolicDishCount>0&&p.push({key:"parabolic-dishes-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.parabolicDishSubMenu",e)}),children:[{key:"parabolic-dish-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:D,children:O.t("menu.parabolicDish.AnalyzeDailyYield",e)})},{key:"parabolic-dish-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:E,children:O.t("menu.parabolicDish.AnalyzeYearlyYield",e)})},{key:"parabolic-dish-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:sO("parabolic-dish")}]}),t.fresnelReflectorCount>0&&p.push({key:"fresnel-reflector-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.fresnelReflectorSubMenu",e)}),children:[{key:"fresnel-reflector-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:L,children:O.t("menu.fresnelReflector.AnalyzeDailyYield",e)})},{key:"fresnel-reflector-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:U,children:O.t("menu.fresnelReflector.AnalyzeYearlyYield",e)})},{key:"fresnel-reflector-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:sO("fresnel-reflector")}]}),t.heliostatCount>0&&p.push({key:"heliostat-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.heliostatSubMenu",e)}),children:[{key:"heliostat-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:F,children:O.t("menu.heliostat.AnalyzeDailyYield",e)})},{key:"heliostat-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:W,children:O.t("menu.heliostat.AnalyzeYearlyYield",e)})},{key:"heliostat-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:sO("heliostat-analysis")}]}),t.solarUpdraftTowerCount>0&&p.push({key:"solar-updraft-tower-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarUpdraftTowerSubMenu",e)}),children:[{key:"solar-updraft-tower-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:B,children:O.t("menu.solarUpdraftTower.AnalyzeDailyYield",e)})},{key:"solar-updraft-tower-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:k,children:O.t("menu.solarUpdraftTower.AnalyzeYearlyYield",e)})},{key:"solar-updraft-tower-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:gLn()}]}),p};/** +`,t.getElementsByTagName("head")[0].appendChild(e)),t.body&&L$e(t.body,"react-draggable-transparent-selection")}function ykn(t){if(t)try{if(t.body&&W$e(t.body,"react-draggable-transparent-selection"),t.selection)t.selection.empty();else{const e=(t.defaultView||window).getSelection();e&&e.type!=="Caret"&&e.removeAllRanges()}}catch{}}function L$e(t,e){t.classList?t.classList.add(e):t.className.match(new RegExp("(?:^|\\s)".concat(e,"(?!\\S)")))||(t.className+=" ".concat(e))}function W$e(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g"),"")}var u3={};Object.defineProperty(u3,"__esModule",{value:!0});u3.canDragX=vkn;u3.canDragY=xkn;u3.createCoreData=Skn;u3.createDraggableData=Tkn;u3.getBoundPosition=Akn;u3.getControlPosition=bkn;u3.snapToGrid=wkn;var O1=c3,qP=y0;function Akn(t,e,n){if(!t.props.bounds)return[e,n];let{bounds:o}=t.props;o=typeof o=="string"?o:Pkn(o);const i=Rye(t);if(typeof o=="string"){const{ownerDocument:r}=i,a=r.defaultView;let l;if(o==="parent"?l=i.parentNode:l=r.querySelector(o),!(l instanceof a.HTMLElement))throw new Error('Bounds selector "'+o+'" could not find an element.');const s=l,c=a.getComputedStyle(i),u=a.getComputedStyle(s);o={left:-i.offsetLeft+(0,O1.int)(u.paddingLeft)+(0,O1.int)(c.marginLeft),top:-i.offsetTop+(0,O1.int)(u.paddingTop)+(0,O1.int)(c.marginTop),right:(0,qP.innerWidth)(s)-(0,qP.outerWidth)(i)-i.offsetLeft+(0,O1.int)(u.paddingRight)-(0,O1.int)(c.marginRight),bottom:(0,qP.innerHeight)(s)-(0,qP.outerHeight)(i)-i.offsetTop+(0,O1.int)(u.paddingBottom)-(0,O1.int)(c.marginBottom)}}return(0,O1.isNum)(o.right)&&(e=Math.min(e,o.right)),(0,O1.isNum)(o.bottom)&&(n=Math.min(n,o.bottom)),(0,O1.isNum)(o.left)&&(e=Math.max(e,o.left)),(0,O1.isNum)(o.top)&&(n=Math.max(n,o.top)),[e,n]}function wkn(t,e,n){const o=Math.round(e/t[0])*t[0],i=Math.round(n/t[1])*t[1];return[o,i]}function vkn(t){return t.props.axis==="both"||t.props.axis==="x"}function xkn(t){return t.props.axis==="both"||t.props.axis==="y"}function bkn(t,e,n){const o=typeof e=="number"?(0,qP.getTouch)(t,e):null;if(typeof e=="number"&&!o)return null;const i=Rye(n),r=n.props.offsetParent||i.offsetParent||i.ownerDocument.body;return(0,qP.offsetXYFromParent)(o||t,r,n.props.scale)}function Skn(t,e,n){const o=!(0,O1.isNum)(t.lastX),i=Rye(t);return o?{node:i,deltaX:0,deltaY:0,lastX:e,lastY:n,x:e,y:n}:{node:i,deltaX:e-t.lastX,deltaY:n-t.lastY,lastX:t.lastX,lastY:t.lastY,x:e,y:n}}function Tkn(t,e){const n=t.props.scale;return{node:e.node,x:t.state.x+e.deltaX/n,y:t.state.y+e.deltaY/n,deltaX:e.deltaX/n,deltaY:e.deltaY/n,lastX:t.state.x,lastY:t.state.y}}function Pkn(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function Rye(t){const e=t.findDOMNode();if(!e)throw new Error(": Unmounted during event!");return e}var hQ={},pQ={};Object.defineProperty(pQ,"__esModule",{value:!0});pQ.default=Ckn;function Ckn(){}Object.defineProperty(hQ,"__esModule",{value:!0});hQ.default=void 0;var kre=Hkn(m),Rp=Hye(dq),Rkn=Hye(Sd),Of=y0,S4=u3,Fre=c3,kz=Hye(pQ);function Hye(t){return t&&t.__esModule?t:{default:t}}function N$e(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,n=new WeakMap;return(N$e=function(o){return o?n:e})(t)}function Hkn(t,e){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var n=N$e(e);if(n&&n.has(t))return n.get(t);var o={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if(r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)){var a=i?Object.getOwnPropertyDescriptor(t,r):null;a&&(a.get||a.set)?Object.defineProperty(o,r,a):o[r]=t[r]}return o.default=t,n&&n.set(t,o),o}function Yh(t,e,n){return e=Mkn(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Mkn(t){var e=Ikn(t,"string");return typeof e=="symbol"?e:String(e)}function Ikn(t,e){if(typeof t!="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}const Xy={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let T4=Xy.mouse,gQ=class extends kre.Component{constructor(){super(...arguments),Yh(this,"dragging",!1),Yh(this,"lastX",NaN),Yh(this,"lastY",NaN),Yh(this,"touchIdentifier",null),Yh(this,"mounted",!1),Yh(this,"handleDragStart",e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&typeof e.button=="number"&&e.button!==0)return!1;const n=this.findDOMNode();if(!n||!n.ownerDocument||!n.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:o}=n;if(this.props.disabled||!(e.target instanceof o.defaultView.Node)||this.props.handle&&!(0,Of.matchesSelectorAndParentsTo)(e.target,this.props.handle,n)||this.props.cancel&&(0,Of.matchesSelectorAndParentsTo)(e.target,this.props.cancel,n))return;e.type==="touchstart"&&e.preventDefault();const i=(0,Of.getTouchIdentifier)(e);this.touchIdentifier=i;const r=(0,S4.getControlPosition)(e,i,this);if(r==null)return;const{x:a,y:l}=r,s=(0,S4.createCoreData)(this,a,l);(0,kz.default)("DraggableCore: handleDragStart: %j",s),(0,kz.default)("calling",this.props.onStart),!(this.props.onStart(e,s)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,Of.addUserSelectStyles)(o),this.dragging=!0,this.lastX=a,this.lastY=l,(0,Of.addEvent)(o,T4.move,this.handleDrag),(0,Of.addEvent)(o,T4.stop,this.handleDragStop))}),Yh(this,"handleDrag",e=>{const n=(0,S4.getControlPosition)(e,this.touchIdentifier,this);if(n==null)return;let{x:o,y:i}=n;if(Array.isArray(this.props.grid)){let l=o-this.lastX,s=i-this.lastY;if([l,s]=(0,S4.snapToGrid)(this.props.grid,l,s),!l&&!s)return;o=this.lastX+l,i=this.lastY+s}const r=(0,S4.createCoreData)(this,o,i);if((0,kz.default)("DraggableCore: handleDrag: %j",r),this.props.onDrag(e,r)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const s=document.createEvent("MouseEvents");s.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(s)}return}this.lastX=o,this.lastY=i}),Yh(this,"handleDragStop",e=>{if(!this.dragging)return;const n=(0,S4.getControlPosition)(e,this.touchIdentifier,this);if(n==null)return;let{x:o,y:i}=n;if(Array.isArray(this.props.grid)){let s=o-this.lastX||0,c=i-this.lastY||0;[s,c]=(0,S4.snapToGrid)(this.props.grid,s,c),o=this.lastX+s,i=this.lastY+c}const r=(0,S4.createCoreData)(this,o,i);if(this.props.onStop(e,r)===!1||this.mounted===!1)return!1;const l=this.findDOMNode();l&&this.props.enableUserSelectHack&&(0,Of.removeUserSelectStyles)(l.ownerDocument),(0,kz.default)("DraggableCore: handleDragStop: %j",r),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,l&&((0,kz.default)("DraggableCore: Removing handlers"),(0,Of.removeEvent)(l.ownerDocument,T4.move,this.handleDrag),(0,Of.removeEvent)(l.ownerDocument,T4.stop,this.handleDragStop))}),Yh(this,"onMouseDown",e=>(T4=Xy.mouse,this.handleDragStart(e))),Yh(this,"onMouseUp",e=>(T4=Xy.mouse,this.handleDragStop(e))),Yh(this,"onTouchStart",e=>(T4=Xy.touch,this.handleDragStart(e))),Yh(this,"onTouchEnd",e=>(T4=Xy.touch,this.handleDragStop(e)))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,Of.addEvent)(e,Xy.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:n}=e;(0,Of.removeEvent)(n,Xy.mouse.move,this.handleDrag),(0,Of.removeEvent)(n,Xy.touch.move,this.handleDrag),(0,Of.removeEvent)(n,Xy.mouse.stop,this.handleDragStop),(0,Of.removeEvent)(n,Xy.touch.stop,this.handleDragStop),(0,Of.removeEvent)(e,Xy.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,Of.removeUserSelectStyles)(n)}}findDOMNode(){var e,n;return(e=this.props)!==null&&e!==void 0&&e.nodeRef?(n=this.props)===null||n===void 0||(n=n.nodeRef)===null||n===void 0?void 0:n.current:Rkn.default.findDOMNode(this)}render(){return kre.cloneElement(kre.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};hQ.default=gQ;Yh(gQ,"displayName","DraggableCore");Yh(gQ,"propTypes",{allowAnyClick:Rp.default.bool,children:Rp.default.node.isRequired,disabled:Rp.default.bool,enableUserSelectHack:Rp.default.bool,offsetParent:function(t,e){if(t[e]&&t[e].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:Rp.default.arrayOf(Rp.default.number),handle:Rp.default.string,cancel:Rp.default.string,nodeRef:Rp.default.object,onStart:Rp.default.func,onDrag:Rp.default.func,onStop:Rp.default.func,onMouseDown:Rp.default.func,scale:Rp.default.number,className:Fre.dontSetMe,style:Fre.dontSetMe,transform:Fre.dontSetMe});Yh(gQ,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1});(function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return s.default}}),t.default=void 0;var e=f(m),n=u(dq),o=u(Sd),i=u(KEn),r=y0,a=u3,l=c3,s=u(hQ),c=u(pQ);function u(C){return C&&C.__esModule?C:{default:C}}function d(C){if(typeof WeakMap!="function")return null;var b=new WeakMap,v=new WeakMap;return(d=function(S){return S?v:b})(C)}function f(C,b){if(C&&C.__esModule)return C;if(C===null||typeof C!="object"&&typeof C!="function")return{default:C};var v=d(b);if(v&&v.has(C))return v.get(C);var S={},w=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var T in C)if(T!=="default"&&Object.prototype.hasOwnProperty.call(C,T)){var P=w?Object.getOwnPropertyDescriptor(C,T):null;P&&(P.get||P.set)?Object.defineProperty(S,T,P):S[T]=C[T]}return S.default=C,v&&v.set(C,S),S}function p(){return p=Object.assign?Object.assign.bind():function(C){for(var b=1;b{if((0,c.default)("Draggable: onDragStart: %j",S),this.props.onStart(v,(0,a.createDraggableData)(this,S))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),g(this,"onDrag",(v,S)=>{if(!this.state.dragging)return!1;(0,c.default)("Draggable: onDrag: %j",S);const w=(0,a.createDraggableData)(this,S),T={x:w.x,y:w.y,slackX:0,slackY:0};if(this.props.bounds){const{x:R,y:H}=T;T.x+=this.state.slackX,T.y+=this.state.slackY;const[D,E]=(0,a.getBoundPosition)(this,T.x,T.y);T.x=D,T.y=E,T.slackX=this.state.slackX+(R-T.x),T.slackY=this.state.slackY+(H-T.y),w.x=T.x,w.y=T.y,w.deltaX=T.x-this.state.x,w.deltaY=T.y-this.state.y}if(this.props.onDrag(v,w)===!1)return!1;this.setState(T)}),g(this,"onDragStop",(v,S)=>{if(!this.state.dragging||this.props.onStop(v,(0,a.createDraggableData)(this,S))===!1)return!1;(0,c.default)("Draggable: onDragStop: %j",S);const T={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:R,y:H}=this.props.position;T.x=R,T.y=H}this.setState(T)}),this.state={dragging:!1,dragged:!1,x:b.position?b.position.x:b.defaultPosition.x,y:b.position?b.position.y:b.defaultPosition.y,prevPropsPosition:{...b.position},slackX:0,slackY:0,isElementSVG:!1},b.position&&!(b.onDrag||b.onStop)&&console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var b,v;return(b=(v=this.props)===null||v===void 0||(v=v.nodeRef)===null||v===void 0?void 0:v.current)!==null&&b!==void 0?b:o.default.findDOMNode(this)}render(){const{axis:b,bounds:v,children:S,defaultPosition:w,defaultClassName:T,defaultClassNameDragging:P,defaultClassNameDragged:R,position:H,positionOffset:D,scale:E,...L}=this.props;let U={},F=null;const B=!!!H||this.state.dragging,k=H||w,N={x:(0,a.canDragX)(this)&&B?this.state.x:k.x,y:(0,a.canDragY)(this)&&B?this.state.y:k.y};this.state.isElementSVG?F=(0,r.createSVGTransform)(N,D):U=(0,r.createCSSTransform)(N,D);const j=(0,i.default)(S.props.className||"",T,{[P]:this.state.dragging,[R]:this.state.dragged});return e.createElement(s.default,p({},L,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),e.cloneElement(e.Children.only(S),{className:j,style:{...S.props.style,...U},transform:F}))}}t.default=x,g(x,"displayName","Draggable"),g(x,"propTypes",{...s.default.propTypes,axis:n.default.oneOf(["both","x","y","none"]),bounds:n.default.oneOfType([n.default.shape({left:n.default.number,right:n.default.number,top:n.default.number,bottom:n.default.number}),n.default.string,n.default.oneOf([!1])]),defaultClassName:n.default.string,defaultClassNameDragging:n.default.string,defaultClassNameDragged:n.default.string,defaultPosition:n.default.shape({x:n.default.number,y:n.default.number}),positionOffset:n.default.shape({x:n.default.oneOfType([n.default.number,n.default.string]),y:n.default.oneOfType([n.default.number,n.default.string])}),position:n.default.shape({x:n.default.number,y:n.default.number}),className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),g(x,"defaultProps",{...s.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(I$e);const{default:U$e,DraggableCore:zkn}=I$e;fQ.exports=U$e;fQ.exports.default=U$e;fQ.exports.DraggableCore=zkn;var Dkn=fQ.exports;const Vr=kr(Dkn),xTe=t=>{t=1831565813+(t|=0)|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296};let Ekn=class{constructor(e){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:n,separator:o,dictionaries:i,style:r,seed:a}=e;this.dictionaries=i,this.separator=o,this.length=n,this.style=r,this.seed=a}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries. +Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let e=this.seed;return this.dictionaries.slice(0,this.length).reduce((n,o)=>{let i;e?(i=(a=>{if(typeof a=="string"){const l=a.split("").map(c=>c.charCodeAt(0)).reduce((c,u)=>c+u,1),s=Math.floor(Number(l));return xTe(s)}return xTe(a)})(e),e=4294967296*i):i=Math.random();let r=o[Math.floor(i*o.length)]||"";if(this.style==="lowerCase")r=r.toLowerCase();else if(this.style==="capital"){const[a,...l]=r.split("");r=a.toUpperCase()+l.join("")}else this.style==="upperCase"&&(r=r.toUpperCase());return n?`${n}${this.separator}${r}`:`${r}`},"")}};const bTe={separator:"_",dictionaries:[]},kkn=t=>{const e=[...t&&t.dictionaries||bTe.dictionaries],n={...bTe,...t,length:t&&t.length||e.length,dictionaries:e};if(!t||!t.dictionaries||!t.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new Ekn(n).generate()};var Fkn=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],Lkn=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];const{Option:E1}=Yo,Wkn=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),[i,r]=m.useState(M.getState().modelType),[a,l]=m.useState(M.getState().modelAuthor??kkn({dictionaries:[Lkn,Fkn],separator:" ",style:"capital"})),[s,c]=m.useState(M.getState().modelLabel??M.getState().cloudFile??null),[u,d]=m.useState(M.getState().modelDescription),[f,p]=m.useState(!1),[g,y]=m.useState({left:0,top:0,bottom:0,right:0}),A=m.useRef(null),x=m.useRef(null),{TextArea:C}=ns,b={lng:o};m.useEffect(()=>{var P;(P=x.current)==null||P.focus()},[]);const v=(P,R)=>{if(A.current){const{clientWidth:H,clientHeight:D}=window.document.documentElement,E=A.current.getBoundingClientRect();y({left:-E.left+R.x,right:H-(E.right-R.x),top:-E.top+R.y,bottom:D-((E==null?void 0:E.bottom)-R.y)})}},S=()=>{t(!1)},w=()=>{gt.getState().set(P=>{P.publishOnModelsMapFlag=!0}),e(P=>{P.modelType=i,P.modelAuthor=a,P.modelLabel=s,P.modelDescription=u}),gt.getState().setChanged(!0),n&&e(P=>{P.actionInfo={name:"Publish on Map of Models",timestamp:new Date().getTime()}}),t(!1)},{t:T}=jl();return h.jsxs(_r,{width:560,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:T("menu.file.PublishOnModelsMap",b)}),footer:[h.jsx(no,{onClick:S,children:T("word.Cancel",b)},"Cancel"),h.jsx(no,{type:"primary",ref:x,onClick:w,disabled:!a||!s,children:T("word.OK",b)},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:P=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(R,H)=>v(R,H),children:h.jsx("div",{ref:A,children:P})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:8,children:T("shared.ModelType",b)+":"}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsxs(Yo,{style:{width:"100%"},value:i,onChange:P=>{r(P)},children:[h.jsxs(E1,{value:da.UNKNOWN,children:[h.jsx("img",{alt:"Building",width:24,src:R$e,style:{marginRight:"8px"}}),T("word.Unknown",b)]},da.UNKNOWN),h.jsxs(E1,{value:da.UNDER_CONSTRUCTION,children:[h.jsx("img",{alt:"Building",width:24,src:C$e,style:{marginRight:"8px"}}),T("word.UnderConstruction",b)]},da.UNDER_CONSTRUCTION),h.jsxs(E1,{value:da.RESIDENTIAL_BUILDING,children:[h.jsx("img",{alt:"Residential Building",width:24,src:y$e,style:{marginRight:"8px"}}),T("word.ResidentialBuilding",b)]},da.RESIDENTIAL_BUILDING),h.jsxs(E1,{value:da.COMMERCIAL_BUILDING,children:[h.jsx("img",{alt:"Commercial Building",width:24,src:A$e,style:{marginRight:"8px"}}),T("word.CommercialBuilding",b)]},da.COMMERCIAL_BUILDING),h.jsxs(E1,{value:da.SCHOOL_BUILDING,children:[h.jsx("img",{alt:"School Building",width:24,src:w$e,style:{marginRight:"8px"}}),T("word.SchoolBuilding",b)]},da.SCHOOL_BUILDING),h.jsxs(E1,{value:da.TOURIST_ATTRACTION,children:[h.jsx("img",{alt:"Tourist Attraction",width:24,src:v$e,style:{marginRight:"8px"}}),T("word.TouristAttraction",b)]},da.TOURIST_ATTRACTION),h.jsxs(E1,{value:da.PHOTOVOLTAIC,children:[h.jsx("img",{alt:"Photovoltaic",width:24,src:x$e,style:{marginRight:"8px"}}),T("word.Photovoltaic",b)]},da.PHOTOVOLTAIC),h.jsxs(E1,{value:da.PARABOLIC_DISH,children:[h.jsx("img",{alt:"Parabolic Dish",width:24,src:b$e,style:{marginRight:"8px"}}),T("shared.ParabolicDishElement",b)]},da.PARABOLIC_DISH),h.jsxs(E1,{value:da.PARABOLIC_TROUGH,children:[h.jsx("img",{alt:"Parabolic Trough",width:24,src:S$e,style:{marginRight:"8px"}}),T("shared.ParabolicTroughElement",b)]},da.PARABOLIC_TROUGH),h.jsxs(E1,{value:da.FRESNEL_REFLECTOR,children:[h.jsx("img",{alt:"Fresnel Reflector",width:24,src:T$e,style:{marginRight:"8px"}}),T("shared.FresnelReflectorElement",b)]},da.FRESNEL_REFLECTOR),h.jsxs(E1,{value:da.SOLAR_POWER_TOWER,children:[h.jsx("img",{alt:"Heliostat",width:24,src:P$e,style:{marginRight:"8px"}}),T("shared.HeliostatElement",b)]},da.SOLAR_POWER_TOWER),h.jsxs(E1,{value:da.WIND_TURBINE,children:[h.jsx("img",{alt:"Wind Turbine",width:24,src:H$e,style:{marginRight:"8px"}}),O.t("word.WindPower",b)]},da.WIND_TURBINE),h.jsxs(E1,{value:da.COLOCATION_PROJECTS,children:[h.jsx("img",{alt:"Colocation Projects",width:24,src:M$e,style:{marginRight:"8px"}}),O.t("word.ColocationProjects",b)]},da.COLOCATION_PROJECTS)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[T("word.Publisher",b),":"]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:30,style:{width:"100%"},value:a??"",onKeyDown:P=>{if(!JC.test(P.key))return P.preventDefault(),!1},onChange:P=>{l(P.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[T("word.Label",b),":"]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:50,style:{width:"100%"},value:s??"",onKeyDown:P=>{if(!JC.test(P.key))return P.preventDefault(),!1},onChange:P=>{c(P.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[T("word.Description",b),":",h.jsx("br",{}),h.jsxs("span",{style:{fontSize:"10px"},children:["(",T("word.MaximumCharacters",b),": 200)"]})]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(C,{rows:5,maxLength:200,style:{width:"100%"},value:u??"",onChange:P=>{d(P.target.value)}})})]})]})},Nkn=Se.memo(()=>{const t=Kt(),e=M.getState().user,n=M.getState().cloudFile,[o,i]=m.useState(!1),r=()=>{const a=new URLSearchParams(window.location.search).get("userid"),l=a===e.uid;e.uid&&n&&l?i(!0):e.uid?fn(a&&!l?O.t("menu.file.YouCannotPublishAModelThatYouDoNotOwn",t)+".":O.t("menu.file.YouMustSaveModelOnCloudBeforePublishingIt",t)+"."):fn(O.t("menu.file.YouMustLogInToPublishYourModel",t)+".")};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:r,children:[O.t("menu.file.PublishOnModelsMap",t),"..."]}),o&&h.jsx(Wkn,{setDialogVisible:i})]})}),Ukn=(t,e,n)=>{const o={lng:M.getState().language},i=M.getState().user,r=M.getState().cloudFile,a=M.getState().undoManager,l=M.getState().loggable,s=M.getState().set,c=()=>{a.clear(),gt.getState().set(x=>{x.createNewFileFlag=!0,x.openModelsMap=!1}),s(x=>{x.objectTypeToAdd=z.None,x.groupActionMode=!1,window.history.pushState({},document.title,qp),l&&(x.actionInfo={name:"Create New File",timestamp:new Date().getTime()})})},u=()=>{a.clear(),gt.getState().set(x=>{x.openLocalFileFlag=!0,x.openModelsMap=!1}),s(x=>{x.objectTypeToAdd=z.None,x.groupActionMode=!1,x.cloudFile=void 0,window.history.pushState({},document.title,qp),l&&(x.actionInfo={name:"Open Local File",timestamp:new Date().getTime()})})},d=()=>{gt.getState().set(x=>{x.saveLocalFileDialogVisible=!0}),l&&s(x=>{x.actionInfo={name:"Save as Local File",timestamp:new Date().getTime()}})},f=()=>{gt.getState().set(x=>{x.listCloudFilesFlag=!0,x.openModelsMap=!1}),s(x=>{x.selectedFloatingWindow="cloudFilePanel"}),l&&s(x=>{x.actionInfo={name:"List Cloud Files",timestamp:new Date().getTime()}})},p=()=>{gt.getState().setSaveCloudFileFlag(!0),l&&s(x=>{x.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}})},g=()=>{s(x=>{x.showCloudFileTitleDialogFlag=!x.showCloudFileTitleDialogFlag,x.showCloudFileTitleDialog=!0,l&&(x.actionInfo={name:"Save as Cloud File",timestamp:new Date().getTime()})})},y=()=>{n&&(Gqt("screenshot.png",n.toDataURL("image/png")),l&&s(x=>{x.actionInfo={name:"Take Screenshot",timestamp:new Date().getTime()}}),gt.getState().set(x=>{x.openModelsMap=!1}))},A=[];return t||A.push({key:"create-new-file",label:h.jsxs(tn,{noPadding:!0,onClick:c,children:[O.t("menu.file.CreateNewFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+F)"]})]})}),t||A.push({key:"open-local-file",label:h.jsxs(tn,{noPadding:!0,onClick:u,children:[O.t("menu.file.OpenLocalFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+O)"]}),"..."]})}),A.push({key:"save-local-file",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[O.t("menu.file.SaveAsLocalFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+S)"]}),"..."]})}),i.uid&&!t&&A.push({key:"open-cloud-file",label:h.jsxs(tn,{noPadding:!0,onClick:f,children:[O.t("menu.file.OpenCloudFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+Shift+O)"]}),"..."]})}),i.uid&&r&&!t&&A.push({key:"save-cloud-file",label:h.jsxs(tn,{noPadding:!0,onClick:p,children:[O.t("menu.file.SaveCloudFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+Shift+S)"]}),"..."]})}),i.uid&&!t&&A.push({key:"save-as-cloud-file",label:h.jsx(tn,{noPadding:!0,onClick:g,children:O.t("menu.file.SaveAsCloudFile",o)})}),t||A.push({key:"publish-on-model-map",label:h.jsx(Nkn,{})}),A.push({key:"take-screen-shot",label:h.jsx(tn,{noPadding:!0,onClick:y,children:O.t("menu.file.TakeScreenshot",o)})}),A},{Option:Bkn}=Yo,B$e=Se.memo(({saveAs:t,setDialogVisible:e})=>{const n=M(dn),o=M(ha),[i,r]=m.useState(M.getState().projectState.type??Tr.SOLAR_PANEL_ARRAY),[a,l]=m.useState(M.getState().projectState.title),[s,c]=m.useState(M.getState().projectState.description),[u,d]=m.useState(!1),[f,p]=m.useState({left:0,top:0,bottom:0,right:0}),g=m.useRef(null),{TextArea:y}=ns,A=Kt(),x=(v,S)=>{if(g.current){const{clientWidth:w,clientHeight:T}=window.document.documentElement,P=g.current.getBoundingClientRect();p({left:-P.left+S.x,right:w-(P.right-S.x),top:-P.top+S.y,bottom:T-((P==null?void 0:P.bottom)-S.y)})}},C=()=>{e(!1)},b=()=>{gt.getState().set(v=>{t?v.saveProjectAsFlag=!0:v.createProjectFlag=!0}),gt.getState().set(v=>{v.projectType=i,v.projectTitle=a,v.projectDescription=s}),o&&n(v=>{v.actionInfo={name:t?"Save Project as":"Create New Project",timestamp:new Date().getTime()}}),e(!1)};return h.jsxs(_r,{width:560,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>d(!0),onMouseOut:()=>d(!1),children:`${O.t(t?"menu.project.SaveProjectAs":"menu.project.CreateNewProject",A)}`}),footer:[h.jsx(no,{onClick:C,children:`${O.t("word.Cancel",A)}`},"Cancel"),h.jsx(no,{type:"primary",onClick:b,disabled:!a,children:`${O.t("word.OK",A)}`},"OK")],onCancel:()=>{e(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:v=>h.jsx(Vr,{disabled:!u,bounds:f,onStart:(S,w)=>x(S,w),children:h.jsx("div",{ref:g,children:v})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:8,children:O.t("projectPanel.ProjectType",A)+":"}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(Yo,{disabled:t,style:{width:"100%"},value:i,onChange:v=>{r(v)},children:h.jsx(Bkn,{value:Tr.SOLAR_PANEL_ARRAY,children:`${O.t("projectPanel.SolarPanelArray",A)}`},Tr.SOLAR_PANEL_ARRAY)})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[`${O.t("word.Title",A)}`,":"]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:50,style:{width:"100%"},value:a??"",onKeyDown:v=>{if(!JC.test(v.key))return v.preventDefault(),!1},onChange:v=>{l(v.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[`${O.t("word.Description",A)}`,":",h.jsx("br",{}),h.jsxs("span",{style:{fontSize:"10px"},children:["(",`${O.t("word.MaximumCharacters",A)}`,": 200)"]})]}),h.jsx(nt,{className:"gutter-row",span:16,children:h.jsx(y,{rows:5,maxLength:200,style:{width:"100%"},value:s??"",onChange:v=>{c(v.target.value)}})})]})]})}),jkn=()=>{const[t,e]=m.useState(!1),n=Kt(),o=()=>{if(!M.getState().user.uid){fn(O.t("menu.project.YouMustLogInToCreateProject",n)+".");return}e(!0),gt.getState().set(i=>{i.openModelsMap=!1}),M.getState().loggable&&M.getState().set(i=>{i.actionInfo={name:"Create New Project",timestamp:new Date().getTime()}})};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:o,children:[O.t("menu.project.CreateNewProject",n),"..."]}),t&&h.jsx(B$e,{saveAs:!1,setDialogVisible:e})]})},Ykn=()=>{const[t,e]=m.useState(!1),n=Kt(),o=()=>{e(!0),gt.getState().set(i=>{i.openModelsMap=!1}),M.getState().loggable&&M.getState().set(i=>{i.actionInfo={name:"Save Project As",timestamp:new Date().getTime()}})};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:o,children:[O.t("menu.project.SaveProjectAs",n),"..."]}),t&&h.jsx(B$e,{saveAs:!0,setDialogVisible:e})]})},Okn=()=>{const t={lng:M.getState().language},e=M.getState().user,n=M.getState().loggable,o=M.getState().projectState,i=M.getState().projectView,r=M.getState().set,a=()=>{if(!e.uid){fn(O.t("menu.project.YouMustLogInToOpenProject",t)+".");return}gt.getState().set(s=>{s.showProjectsFlag=!0,s.openModelsMap=!1}),r(s=>{s.selectedFloatingWindow="projectListPanel"}),n&&r(s=>{s.actionInfo={name:"Open Project",timestamp:new Date().getTime()}})},l=[];return l.push({key:"create-new-project",label:h.jsx(jkn,{})}),l.push({key:"list-project",label:h.jsxs(tn,{noPadding:!0,onClick:a,children:[O.t("menu.project.OpenProject",t),"..."]})}),i&&o.title&&e.uid&&l.push({key:"save-project-as",label:h.jsx(Ykn,{})}),l},_kn=(t,e,n,o)=>{const i={lng:M.getState().language},r=M.getState().loggable,a=M.getState().set,l=()=>{t&&(M.getState().copyElementById(t.id),r&&a(p=>{p.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:t.id,elementType:t.type}}))},s=()=>{if(!(!t||t.type===z.Roof))if(t.locked)fn(O.t("message.ThisElementIsLocked",i));else{const p=M.getState().removeElementById(t.id,!0);if(p.length===0)return;if(be.isElementTriggerAutoDeletion(p[0]))Ln.getState().setListenToAutoDeletionByCut(!0),gt.getState().setPrimitiveStore("selectedElementId",t.id);else{const g={name:"Cut",timestamp:Date.now(),deletedElements:p,selectedElementId:t.id,undo:()=>{const y=g.deletedElements;if(y.length===0)return;const A=y.find(x=>x.id===g.selectedElementId);A&&a(x=>{for(const C of y)x.elements.push(C);if(A.type===z.Wall){const C=A;let b=null,v=null;if(C.leftJoints.length>0&&(b=C.leftJoints[0]),C.rightJoints.length>0&&(v=C.rightJoints[0]),b||v)for(const S of x.elements)S.id===b&&S.type===z.Wall&&(S.rightJoints[0]=C.id),S.id===v&&S.type===z.Wall&&(S.leftJoints[0]=C.id)}})},redo:()=>{g.deletedElements&&g.deletedElements.length>0&&M.getState().removeElementById(g.deletedElements[0].id,!0)}};M.getState().addUndoable(g)}}},c=()=>{const p=M.getState().elementsToPaste;if(p&&p.length>0){const g=M.getState().pasteElementsByKey();if(g.length>0){const y={name:"Paste by Key",timestamp:Date.now(),pastedElements:JSON.parse(JSON.stringify(g)),undo:()=>{for(const A of y.pastedElements)M.getState().removeElementById(A.id,!1)},redo:()=>{a(A=>{A.elements.push(...y.pastedElements),A.selectedElement=y.pastedElements[0]})}};M.getState().addUndoable(y)}}},u=()=>{if(n.hasUndo()){const p=n.undo();p&&fn(O.t("menu.edit.Undo",i)+": "+p,$V),r&&a(g=>{g.actionInfo={name:"Undo",timestamp:new Date().getTime()}})}},d=()=>{if(n.hasRedo()){const p=n.redo();p&&fn(O.t("menu.edit.Redo",i)+": "+p,$V),r&&a(g=>{g.actionInfo={name:"Redo",timestamp:new Date().getTime()}})}},f=[];return t&&f.push({key:"cut",label:h.jsxs(tn,{noPadding:!0,onClick:s,children:[O.t("word.Cut",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+X)"]})]})}),t&&f.push({key:"copy",label:h.jsxs(tn,{noPadding:!0,onClick:l,children:[O.t("word.Copy",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+C)"]})]})}),e&&f.push({key:"paste",label:h.jsxs(tn,{noPadding:!0,onClick:c,children:[O.t("word.Paste",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+V)"]})]})}),n.hasUndo()&&f.push({key:"undo",label:h.jsxs(tn,{noPadding:!0,onClick:u,children:[O.t("menu.edit.Undo",i)+": "+n.getLastUndoName(),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+Z)"]})]})}),n.hasRedo()&&f.push({key:"redo",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[O.t("menu.edit.Redo",i)+": "+n.getLastRedoName(),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+Y)"]})]})}),f};var Mye={},mQ={};Object.defineProperty(mQ,"__esModule",{value:!0});mQ.default=void 0;var Vkn={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};mQ.default=Vkn;var yQ={},eN={},AQ={};Object.defineProperty(AQ,"__esModule",{value:!0});AQ.default=void 0;var Gkn={locale:"zh_CN",yearFormat:"YYYY年",cellDateFormat:"D",cellMeridiemFormat:"A",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪"};AQ.default=Gkn;var tN={};Object.defineProperty(tN,"__esModule",{value:!0});tN.default=void 0;const Xkn={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};tN.default=Xkn;var j$e=Pd.default;Object.defineProperty(eN,"__esModule",{value:!0});eN.default=void 0;var Jkn=j$e(AQ),Kkn=j$e(tN);const Y$e={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},Jkn.default),timePickerLocale:Object.assign({},Kkn.default)};Y$e.lang.ok="确定";eN.default=Y$e;var qkn=Pd.default;Object.defineProperty(yQ,"__esModule",{value:!0});yQ.default=void 0;var $kn=qkn(eN);yQ.default=$kn.default;var wQ=Pd.default;Object.defineProperty(Mye,"__esModule",{value:!0});var O$e=Mye.default=void 0,Qkn=wQ(mQ),Zkn=wQ(yQ),eFn=wQ(eN),tFn=wQ(tN);const k1="${label}不是一个有效的${type}",nFn={locale:"zh-cn",Pagination:Qkn.default,DatePicker:eFn.default,TimePicker:tFn.default,Calendar:Zkn.default,global:{placeholder:"请选择"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckall:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:k1,method:k1,array:k1,object:k1,number:k1,date:k1,boolean:k1,integer:k1,float:k1,regexp:k1,email:k1,url:k1,hex:k1},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},Image:{preview:"预览"},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无"}};O$e=Mye.default=nFn;var Iye={},vQ={};Object.defineProperty(vQ,"__esModule",{value:!0});vQ.default=void 0;var oFn={items_per_page:"條/頁",jump_to:"跳至",jump_to_confirm:"確定",page:"頁",prev_page:"上一頁",next_page:"下一頁",prev_5:"向前 5 頁",next_5:"向後 5 頁",prev_3:"向前 3 頁",next_3:"向後 3 頁",page_size:"頁碼"};vQ.default=oFn;var xQ={},nN={},bQ={};Object.defineProperty(bQ,"__esModule",{value:!0});bQ.default=void 0;var iFn={locale:"zh_TW",today:"今天",now:"此刻",backToToday:"返回今天",ok:"確定",timeSelect:"選擇時間",dateSelect:"選擇日期",weekSelect:"選擇周",clear:"清除",month:"月",year:"年",previousMonth:"上個月 (翻頁上鍵)",nextMonth:"下個月 (翻頁下鍵)",monthSelect:"選擇月份",yearSelect:"選擇年份",decadeSelect:"選擇年代",yearFormat:"YYYY年",dayFormat:"D",dateFormat:"YYYY年M月D日",dateTimeFormat:"YYYY年M月D日 HH時mm分ss秒",previousYear:"上一年 (Control鍵加左方向鍵)",nextYear:"下一年 (Control鍵加右方向鍵)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世紀",nextCentury:"下一世紀"};bQ.default=iFn;var oN={};Object.defineProperty(oN,"__esModule",{value:!0});oN.default=void 0;const rFn={placeholder:"請選擇時間"};oN.default=rFn;var _$e=Pd.default;Object.defineProperty(nN,"__esModule",{value:!0});nN.default=void 0;var aFn=_$e(bQ),lFn=_$e(oN);const V$e={lang:Object.assign({placeholder:"請選擇日期",yearPlaceholder:"請選擇年份",quarterPlaceholder:"請選擇季度",monthPlaceholder:"請選擇月份",weekPlaceholder:"請選擇周",rangePlaceholder:["開始日期","結束日期"],rangeYearPlaceholder:["開始年份","結束年份"],rangeMonthPlaceholder:["開始月份","結束月份"],rangeQuarterPlaceholder:["開始季度","結束季度"],rangeWeekPlaceholder:["開始周","結束周"]},aFn.default),timePickerLocale:Object.assign({},lFn.default)};V$e.lang.ok="確 定";nN.default=V$e;var sFn=Pd.default;Object.defineProperty(xQ,"__esModule",{value:!0});xQ.default=void 0;var cFn=sFn(nN);xQ.default=cFn.default;var SQ=Pd.default;Object.defineProperty(Iye,"__esModule",{value:!0});var G$e=Iye.default=void 0,uFn=SQ(vQ),dFn=SQ(xQ),fFn=SQ(nN),hFn=SQ(oN);const F1="${label}不是一個有效的${type}",pFn={locale:"zh-tw",Pagination:uFn.default,DatePicker:fFn.default,TimePicker:hFn.default,Calendar:dFn.default,global:{placeholder:"請選擇"},Table:{filterTitle:"篩選器",filterConfirm:"確定",filterReset:"重置",filterEmptyText:"無篩選項",filterCheckall:"全選",filterSearchPlaceholder:"在篩選項中搜尋",emptyText:"暫無數據",selectAll:"全部選取",selectInvert:"反向選取",selectNone:"清空所有",selectionAll:"全選所有",sortTitle:"排序",expand:"展開行",collapse:"關閉行",triggerDesc:"點擊降序",triggerAsc:"點擊升序",cancelSort:"取消排序"},Modal:{okText:"確定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"結束導覽"},Popconfirm:{okText:"確定",cancelText:"取消"},Transfer:{titles:["",""],searchPlaceholder:"搜尋資料",itemUnit:"項目",itemsUnit:"項目",remove:"删除",selectCurrent:"全選當頁",removeCurrent:"删除當頁",selectAll:"全選所有",removeAll:"删除全部",selectInvert:"反選當頁"},Upload:{uploading:"正在上傳...",removeFile:"刪除檔案",uploadError:"上傳失敗",previewFile:"檔案預覽",downloadFile:"下载文件"},Empty:{description:"無此資料"},Icon:{icon:"圖標"},Text:{edit:"編輯",copy:"複製",copied:"複製成功",expand:"展開"},Form:{optional:"(可選)",defaultValidateMessages:{default:"字段驗證錯誤${label}",required:"請輸入${label}",enum:"${label}必須是其中一個[${enum}]",whitespace:"${label}不能為空字符",date:{format:"${label}日期格式無效",parse:"${label}不能轉換為日期",invalid:"${label}是一個無效日期"},types:{string:F1,method:F1,array:F1,object:F1,number:F1,date:F1,boolean:F1,integer:F1,float:F1,regexp:F1,email:F1,url:F1,hex:F1},string:{len:"${label}須為${len}個字符",min:"${label}最少${min}個字符",max:"${label}最多${max}個字符",range:"${label}須在${min}-${max}字符之間"},number:{len:"${label}必須等於${len}",min:"${label}最小值為${min}",max:"${label}最大值為${max}",range:"${label}須在${min}-${max}之間"},array:{len:"須為${len}個${label}",min:"最少${min}個${label}",max:"最多${max}個${label}",range:"${label}數量須在${min}-${max}之間"},pattern:{mismatch:"${label}與模式不匹配${pattern}"}}},Image:{preview:"預覽"},QRCode:{expired:"二維碼過期",refresh:"點擊刷新",scanned:"已掃描"}};G$e=Iye.default=pFn;var zye={},TQ={};Object.defineProperty(TQ,"__esModule",{value:!0});TQ.default=void 0;var gFn={items_per_page:"/ página",jump_to:"Ir a",jump_to_confirm:"confirmar",page:"Página",prev_page:"Página anterior",next_page:"Página siguiente",prev_5:"5 páginas previas",next_5:"5 páginas siguientes",prev_3:"3 páginas previas",next_3:"3 páginas siguientes",page_size:"tamaño de página"};TQ.default=gFn;var PQ={},iN={},CQ={};Object.defineProperty(CQ,"__esModule",{value:!0});CQ.default=void 0;var mFn={locale:"es_ES",today:"Hoy",now:"Ahora",backToToday:"Volver a hoy",ok:"Aceptar",clear:"Limpiar",month:"Mes",year:"Año",timeSelect:"Seleccionar hora",dateSelect:"Seleccionar fecha",monthSelect:"Elegir un mes",yearSelect:"Elegir un año",decadeSelect:"Elegir una década",yearFormat:"YYYY",dateFormat:"D/M/YYYY",dayFormat:"D",dateTimeFormat:"D/M/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Mes anterior (PageUp)",nextMonth:"Mes siguiente (PageDown)",previousYear:"Año anterior (Control + left)",nextYear:"Año siguiente (Control + right)",previousDecade:"Década anterior",nextDecade:"Década siguiente",previousCentury:"Siglo anterior",nextCentury:"Siglo siguiente"};CQ.default=mFn;var rN={};Object.defineProperty(rN,"__esModule",{value:!0});rN.default=void 0;const yFn={placeholder:"Seleccionar hora"};rN.default=yFn;var X$e=Pd.default;Object.defineProperty(iN,"__esModule",{value:!0});iN.default=void 0;var AFn=X$e(CQ),wFn=X$e(rN);const vFn={lang:Object.assign({placeholder:"Seleccionar fecha",rangePlaceholder:["Fecha inicial","Fecha final"],shortWeekDays:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"]},AFn.default),timePickerLocale:Object.assign({},wFn.default)};iN.default=vFn;var xFn=Pd.default;Object.defineProperty(PQ,"__esModule",{value:!0});PQ.default=void 0;var bFn=xFn(iN);PQ.default=bFn.default;var RQ=Pd.default;Object.defineProperty(zye,"__esModule",{value:!0});var J$e=zye.default=void 0,SFn=RQ(TQ),TFn=RQ(PQ),PFn=RQ(iN),CFn=RQ(rN);const L1="${label} no es un ${type} válido",RFn={locale:"es",Pagination:SFn.default,DatePicker:PFn.default,TimePicker:CFn.default,Calendar:TFn.default,global:{placeholder:"Seleccione"},Table:{filterTitle:"Filtrar menú",filterConfirm:"Aceptar",filterReset:"Reiniciar",filterEmptyText:"Sin filtros",filterCheckall:"Seleccionar todo",filterSearchPlaceholder:"Buscar en filtros",emptyText:"Sin datos",selectAll:"Seleccionar todo",selectInvert:"Invertir selección",selectNone:"Vacíe todo",selectionAll:"Seleccionar todos los datos",sortTitle:"Ordenar",expand:"Expandir fila",collapse:"Colapsar fila",triggerDesc:"Click para ordenar en orden descendente",triggerAsc:"Click para ordenar en orden ascendente",cancelSort:"Click para cancelar ordenamiento"},Modal:{okText:"Aceptar",cancelText:"Cancelar",justOkText:"Aceptar"},Popconfirm:{okText:"Aceptar",cancelText:"Cancelar"},Transfer:{titles:["",""],searchPlaceholder:"Buscar aquí",itemUnit:"elemento",itemsUnit:"elementos",remove:"Eliminar",selectCurrent:"Seleccionar página actual",removeCurrent:"Remover página actual",selectAll:"Seleccionar todos los datos",removeAll:"Eliminar todos los datos",selectInvert:"Invertir página actual"},Upload:{uploading:"Subiendo...",removeFile:"Eliminar archivo",uploadError:"Error al subir el archivo",previewFile:"Vista previa",downloadFile:"Descargar archivo"},Empty:{description:"No hay datos"},Icon:{icon:"ícono"},Text:{edit:"Editar",copy:"Copiar",copied:"Copiado",expand:"Expandir"},Form:{optional:"(opcional)",defaultValidateMessages:{default:"Error de validación del campo ${label}",required:"Por favor ingresar ${label}",enum:"${label} debe ser uno de [${enum}]",whitespace:"${label} no puede ser un carácter en blanco",date:{format:"El formato de fecha de ${label} es inválido",parse:"${label} no se puede convertir a una fecha",invalid:"${label} es una fecha inválida"},types:{string:L1,method:L1,array:L1,object:L1,number:L1,date:L1,boolean:L1,integer:L1,float:L1,regexp:L1,email:L1,url:L1,hex:L1},string:{len:"${label} debe tener ${len} caracteres",min:"${label} debe tener al menos ${min} caracteres",max:"${label} debe tener hasta ${max} caracteres",range:"${label} debe tener entre ${min}-${max} caracteres"},number:{len:"${label} debe ser igual a ${len}",min:"${label} valor mínimo es ${min}",max:"${label} valor máximo es ${max}",range:"${label} debe estar entre ${min}-${max}"},array:{len:"Debe ser ${len} ${label}",min:"Al menos ${min} ${label}",max:"A lo mucho ${max} ${label}",range:"El monto de ${label} debe estar entre ${min}-${max}"},pattern:{mismatch:"${label} no coincide con el patrón ${pattern}"}}},Image:{preview:"Previsualización"}};J$e=zye.default=RFn;var Dye={},HQ={};Object.defineProperty(HQ,"__esModule",{value:!0});HQ.default=void 0;var HFn={items_per_page:"/ sayfa",jump_to:"Git",jump_to_confirm:"onayla",page:"Sayfa",prev_page:"Önceki Sayfa",next_page:"Sonraki Sayfa",prev_5:"Önceki 5 Sayfa",next_5:"Sonraki 5 Sayfa",prev_3:"Önceki 3 Sayfa",next_3:"Sonraki 3 Sayfa",page_size:"sayfa boyutu"};HQ.default=HFn;var MQ={},aN={},IQ={};Object.defineProperty(IQ,"__esModule",{value:!0});IQ.default=void 0;var MFn={locale:"tr_TR",today:"Bugün",now:"Şimdi",backToToday:"Bugüne Geri Dön",ok:"Tamam",clear:"Temizle",month:"Ay",year:"Yıl",timeSelect:"Zaman Seç",dateSelect:"Tarih Seç",monthSelect:"Ay Seç",yearSelect:"Yıl Seç",decadeSelect:"On Yıl Seç",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Önceki Ay (PageUp)",nextMonth:"Sonraki Ay (PageDown)",previousYear:"Önceki Yıl (Control + Sol)",nextYear:"Sonraki Yıl (Control + Sağ)",previousDecade:"Önceki On Yıl",nextDecade:"Sonraki On Yıl",previousCentury:"Önceki Yüzyıl",nextCentury:"Sonraki Yüzyıl"};IQ.default=MFn;var lN={};Object.defineProperty(lN,"__esModule",{value:!0});lN.default=void 0;const IFn={placeholder:"Zaman seç",rangePlaceholder:["Başlangıç zamanı","Bitiş zamanı"]};lN.default=IFn;var K$e=Pd.default;Object.defineProperty(aN,"__esModule",{value:!0});aN.default=void 0;var zFn=K$e(IQ),DFn=K$e(lN);const EFn={lang:Object.assign({placeholder:"Tarih seç",yearPlaceholder:"Yıl seç",quarterPlaceholder:"Çeyrek seç",monthPlaceholder:"Ay seç",weekPlaceholder:"Hafta seç",rangePlaceholder:["Başlangıç tarihi","Bitiş tarihi"],rangeYearPlaceholder:["Başlangıç yılı","Bitiş yılı"],rangeMonthPlaceholder:["Başlangıç ayı","Bitiş ayı"],rangeWeekPlaceholder:["Başlangıç haftası","Bitiş haftası"]},zFn.default),timePickerLocale:Object.assign({},DFn.default)};aN.default=EFn;var kFn=Pd.default;Object.defineProperty(MQ,"__esModule",{value:!0});MQ.default=void 0;var FFn=kFn(aN);MQ.default=FFn.default;var zQ=Pd.default;Object.defineProperty(Dye,"__esModule",{value:!0});var q$e=Dye.default=void 0,LFn=zQ(HQ),WFn=zQ(MQ),NFn=zQ(aN),UFn=zQ(lN);const W1="${label} geçerli bir ${type} değil",BFn={locale:"tr",Pagination:LFn.default,DatePicker:NFn.default,TimePicker:UFn.default,Calendar:WFn.default,global:{placeholder:"Lütfen seçiniz"},Table:{filterTitle:"Filtre menüsü",filterConfirm:"Tamam",filterReset:"Sıfırla",filterEmptyText:"Filtre yok",selectAll:"Tüm sayfayı seç",selectInvert:"Tersini seç",selectionAll:"Tümünü seç",sortTitle:"Sırala",expand:"Satırı genişlet",collapse:"Satırı daralt",triggerDesc:"Azalan düzende sırala",triggerAsc:"Artan düzende sırala",cancelSort:"Sıralamayı kaldır"},Modal:{okText:"Tamam",cancelText:"İptal",justOkText:"Tamam"},Popconfirm:{okText:"Tamam",cancelText:"İptal"},Transfer:{titles:["",""],searchPlaceholder:"Arama",itemUnit:"Öğe",itemsUnit:"Öğeler",remove:"Kaldır",selectCurrent:"Tüm sayfayı seç",removeCurrent:"Sayfayı kaldır",selectAll:"Tümünü seç",removeAll:"Tümünü kaldır",selectInvert:"Tersini seç"},Upload:{uploading:"Yükleniyor...",removeFile:"Dosyayı kaldır",uploadError:"Yükleme hatası",previewFile:"Dosyayı önizle",downloadFile:"Dosyayı indir"},Empty:{description:"Veri Yok"},Icon:{icon:"ikon"},Text:{edit:"Düzenle",copy:"Kopyala",copied:"Kopyalandı",expand:"Genişlet"},Form:{optional:"(opsiyonel)",defaultValidateMessages:{default:"Alan doğrulama hatası ${label}",required:"${label} gerekli bir alan",enum:"${label} şunlardan biri olmalı: [${enum}]",whitespace:"${label} sadece boşluk olamaz",date:{format:"${label} tarih biçimi geçersiz",parse:"${label} bir tarihe dönüştürülemedi",invalid:"${label} geçersiz bir tarih"},types:{string:W1,method:W1,array:W1,object:W1,number:W1,date:W1,boolean:W1,integer:W1,float:W1,regexp:W1,email:W1,url:W1,hex:W1},string:{len:"${label} ${len} karakter olmalı",min:"${label} en az ${min} karakter olmalı",max:"${label} en çok ${max} karakter olmalı",range:"${label} ${min}-${max} karakter arası olmalı"},number:{len:"${label} ${len} olmalı",min:"${label} en az ${min} olmalı",max:"${label} en çok ${max} olmalı",range:"${label} ${min}-${max} arası olmalı"},array:{len:"${label} sayısı ${len} olmalı",min:"${label} sayısı en az ${min} olmalı",max:"${label} sayısı en çok ${max} olmalı",range:"${label} sayısı ${min}-${max} arası olmalı"},pattern:{mismatch:"${label} şu kalıpla eşleşmeli: ${pattern}"}}},Image:{preview:"Önizleme"}};q$e=Dye.default=BFn;var Eye={},DQ={};Object.defineProperty(DQ,"__esModule",{value:!0});DQ.default=void 0;var jFn={items_per_page:"/ сторінці",jump_to:"Перейти",jump_to_confirm:"підтвердити",page:"",prev_page:"Попередня сторінка",next_page:"Наступна сторінка",prev_5:"Попередні 5 сторінок",next_5:"Наступні 5 сторінок",prev_3:"Попередні 3 сторінки",next_3:"Наступні 3 сторінки",page_size:"Page Size"};DQ.default=jFn;var EQ={},sN={},kQ={};Object.defineProperty(kQ,"__esModule",{value:!0});kQ.default=void 0;var YFn={locale:"uk_UA",today:"Сьогодні",now:"Зараз",backToToday:"Поточна дата",ok:"OK",clear:"Очистити",month:"Місяць",year:"Рік",timeSelect:"Обрати час",dateSelect:"Обрати дату",monthSelect:"Обрати місяць",yearSelect:"Обрати рік",decadeSelect:"Обрати десятиріччя",yearFormat:"YYYY",dateFormat:"D-M-YYYY",dayFormat:"D",dateTimeFormat:"D-M-YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Попередній місяць (PageUp)",nextMonth:"Наступний місяць (PageDown)",previousYear:"Попередній рік (Control + left)",nextYear:"Наступний рік (Control + right)",previousDecade:"Попереднє десятиріччя",nextDecade:"Наступне десятиріччя",previousCentury:"Попереднє століття",nextCentury:"Наступне століття"};kQ.default=YFn;var cN={};Object.defineProperty(cN,"__esModule",{value:!0});cN.default=void 0;const OFn={placeholder:"Оберіть час"};cN.default=OFn;var $$e=Pd.default;Object.defineProperty(sN,"__esModule",{value:!0});sN.default=void 0;var _Fn=$$e(kQ),VFn=$$e(cN);const GFn={lang:Object.assign({placeholder:"Оберіть дату",rangePlaceholder:["Початкова дата","Кінцева дата"]},_Fn.default),timePickerLocale:Object.assign({},VFn.default)};sN.default=GFn;var XFn=Pd.default;Object.defineProperty(EQ,"__esModule",{value:!0});EQ.default=void 0;var JFn=XFn(sN);EQ.default=JFn.default;var FQ=Pd.default;Object.defineProperty(Eye,"__esModule",{value:!0});var Q$e=Eye.default=void 0,KFn=FQ(DQ),qFn=FQ(EQ),$Fn=FQ(sN),QFn=FQ(cN);const N1="${label} не є типом ${type}",ZFn={locale:"uk",Pagination:KFn.default,DatePicker:$Fn.default,TimePicker:QFn.default,Calendar:qFn.default,global:{placeholder:"Будь ласка, оберіть"},Table:{filterTitle:"Фільтрувати",filterConfirm:"OK",filterReset:"Скинути",filterEmptyText:"Фільтри відсутні",filterCheckall:"Обрати всі",filterSearchPlaceholder:"Пошук у фільтрах",emptyText:"Даних немає",selectAll:"Обрати всі на сторінці",selectInvert:"Інвертувати вибір",selectNone:"Очистити вибір",selectionAll:"Обрати всі",sortTitle:"Сортувати",expand:"Розгорнути рядок",collapse:"Згорнути рядок",triggerDesc:"Сортувати за спаданням",triggerAsc:"Сортувати за зростанням",cancelSort:"Відмінити сортування"},Tour:{Next:"Далі",Previous:"Назад",Finish:"Завершити"},Modal:{okText:"Гаразд",cancelText:"Скасувати",justOkText:"Гаразд"},Popconfirm:{okText:"Гаразд",cancelText:"Скасувати"},Transfer:{titles:["",""],searchPlaceholder:"Введіть текст для пошуку",itemUnit:"елем.",itemsUnit:"елем.",remove:"Видалити",selectCurrent:"Вибрати поточну сторінку",removeCurrent:"Скасувати вибір на сторінці",selectAll:"Вибрати всі дані",removeAll:"Скасувати вибір",selectInvert:"Інвертувати поточну сторінку"},Upload:{uploading:"Завантаження ...",removeFile:"Видалити файл",uploadError:"Помилка завантаження",previewFile:"Попередній перегляд файлу",downloadFile:"Завантажити файл"},Empty:{description:"Даних немає"},Icon:{icon:"іконка"},Text:{edit:"Редагувати",copy:"Скопіювати",copied:"Скопійовано",expand:"Розширити"},Form:{optional:"(опціонально)",defaultValidateMessages:{default:"Помилка валідації для поля ${label}",required:"Будь ласка, заповніть ${label}",enum:"Лише одне зі значень [${enum}] доступне для ${label}",whitespace:"Значення у полі ${label} не може бути пробілом",date:{format:"Не валідний формат дати у ${label}",parse:"Значення ${label} не може бути приведене до дати",invalid:"Не валідна дата у ${label}"},types:{string:N1,method:N1,array:N1,object:N1,number:N1,date:N1,boolean:N1,integer:N1,float:N1,regexp:N1,email:N1,url:N1,hex:N1},string:{len:"${label} має містити ${len} символів",min:"${label} має містити не менш, ніж ${min} символів",max:"${label} має містити не більш, ніж ${max} символів",range:"${label} має містити ${min}-${max} символів"},number:{len:"${label} має дорівнювати ${len}",min:"${label} має бути не менш, ніж ${min}",max:"${label} має бути не більш, ніж ${max}",range:"${label} має бути в межах ${min}-${max}"},array:{len:"${label} має містити ${len} елементи",min:"${label} має містити не менш, ніж ${min} елементи",max:"${label} має містити не більш, ніж ${max} елементи",range:"Кількість елементів в ${label} має бути в межах ${min}-${max}"},pattern:{mismatch:"${label} не відповідає шаблону ${pattern}"}}},Image:{preview:"Попередній перегляд"},QRCode:{expired:"QR-код закінчився",refresh:"Оновити"}};Q$e=Eye.default=ZFn;const eLn=Se.memo(()=>{const t=M.getState().language,e=n=>{M.getState().set(o=>{switch(o.language=n.target.value,o.language){case"zh_cn":o.locale=O$e;break;case"zh_tw":o.locale=G$e;break;case"es":o.locale=J$e;break;case"tr":o.locale=q$e;break;case"ua":o.locale=Q$e;break;default:o.locale=Lpe}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,update:!0,children:h.jsx(Be.Group,{value:t,style:{height:"170px"},onChange:e,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:"en",children:Z5.English}),h.jsx(Be,{style:{width:"100%"},value:"es",children:Z5.Spanish}),h.jsx(Be,{style:{width:"100%"},value:"zh_cn",children:Z5.ChineseSimplified}),h.jsx(Be,{style:{width:"100%"},value:"zh_tw",children:Z5.ChineseTraditional}),h.jsx(Be,{style:{width:"100%"},value:"tr",children:Z5.Turkish}),h.jsx(Be,{style:{width:"100%"},value:"ua",children:Z5.Ukrainian})]})})})}),tLn=(t,e,n)=>{const o={lng:M.getState().language},i=()=>{gt.getState().set(l=>{l.showModelsGallery=!0,l.leaderboardFlag=!0,l.openModelsMap=!1})},r=()=>{gt.getState().set(l=>{l.modelsMapFlag=!0,l.modelsMapWeatherStations=!1,l.openModelsMap=!0,l.showModelsGallery=!1}),M.getState().loggable&&M.getState().set(l=>{l.actionInfo={name:"Open Models Map",timestamp:new Date().getTime()}})},a=[];return t&&!e&&a.push({key:"my-models",label:h.jsxs(tn,{noPadding:!0,onClick:i,children:[O.t("menu.ModelsGallery",o),"..."]})}),n||a.push({key:"models-map",label:h.jsxs(tn,{noPadding:!0,onClick:r,children:[O.t("menu.ModelsMap",o),"..."]})}),a},$G=()=>{const t=Ln.getState().orbitControlsRef;if(t!=null&&t.current){const e=Math.min(50,M.getState().sceneRadius*4);t.current.object.position.set(e,e,e),t.current.target.set(0,0,0),t.current.update(),M.getState().set(n=>{const o=n.viewState;o.cameraPosition=[e,e,e],o.panCenter=[0,0,0]})}},QG=t=>{if(M.getState().viewState.orthographic){const e=M.getState().viewState.cameraZoom??20,n=e,o=e/t,i={name:"Zoom",timestamp:Date.now(),oldValue:n,newValue:o,undo:()=>{M.getState().set(r=>{r.viewState.cameraZoom=i.oldValue})},redo:()=>{M.getState().set(r=>{r.viewState.cameraZoom=i.newValue})}};M.getState().addUndoable(i),M.getState().set(r=>{r.viewState.cameraZoom=o})}else{const e=Ln.getState().orbitControlsRef;if(e!=null&&e.current){const n=e.current.object.position,o=n.x*t,i=n.y*t,r=n.z*t,a={name:"Zoom",timestamp:Date.now(),oldCameraPosition:[n.x,n.y,n.z],newCameraPosition:[o,i,r],undo:()=>{var u,d;const l=a.oldCameraPosition[0],s=a.oldCameraPosition[1],c=a.oldCameraPosition[2];(u=e.current)==null||u.object.position.set(l,s,c),(d=e.current)==null||d.update(),M.getState().set(f=>{f.viewState.cameraPosition=[l,s,c]})},redo:()=>{var u,d;const l=a.newCameraPosition[0],s=a.newCameraPosition[1],c=a.newCameraPosition[2];(u=e.current)==null||u.object.position.set(l,s,c),(d=e.current)==null||d.update(),M.getState().set(f=>{f.viewState.cameraPosition=[l,s,c]})}};M.getState().addUndoable(a),e.current.object.position.set(o,i,r),e.current.update(),M.getState().set(l=>{l.viewState.cameraPosition=[o,i,r]})}}},nLn=(t,e)=>{const n={lng:M.getState().language},o=M.getState().viewState.orthographic,i=M.getState().viewState.cameraPosition,r=M.getState().viewState.panCenter,a=i[0]===i[1]&&i[1]===i[2]&&r[0]===0&&r[1]===0&&r[2]===0,l=()=>{const C={name:"Reset View",timestamp:Date.now(),oldCameraPosition:[...i],oldPanCenter:[...r],undo:()=>{const b=Ln.getState().orbitControlsRef;b!=null&&b.current&&(b.current.object.position.set(C.oldCameraPosition[0],C.oldCameraPosition[1],C.oldCameraPosition[2]),b.current.target.set(C.oldPanCenter[0],C.oldPanCenter[1],C.oldPanCenter[2]),b.current.update(),M.getState().set(v=>{const S=v.viewState;S.cameraPosition=[...C.oldCameraPosition],S.panCenter=[...C.oldPanCenter]}))},redo:()=>{$G()}};M.getState().addUndoable(C),$G(),M.getState().set(b=>{b.objectTypeToAdd=z.None,b.groupActionMode=!1,b.viewState.orthographic=!1})},s=()=>{QG(1.1)},c=()=>{QG(.9)},u=C=>{const b=M.getState().setNavigationView,v={name:"Toggle Navigation View",timestamp:Date.now(),checked:C.target.checked,undo:()=>{b(!v.checked)},redo:()=>{b(v.checked)}};M.getState().addUndoable(v),M.getState().set(S=>{S.viewState.autoRotate=!1}),b(C.target.checked)},d=C=>{const b=M.getState().set2DView,v={name:"Toggle 2D View",timestamp:Date.now(),checked:C.target.checked,undo:()=>{b(!v.checked)},redo:()=>{b(v.checked)}};M.getState().addUndoable(v),b(C.target.checked),M.getState().set(S=>{S.viewState.autoRotate=!1})},f=C=>{if(!M.getState().viewState.orthographic){const b={name:"Auto Rotate",timestamp:Date.now(),checked:C.target.checked,undo:()=>{M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=!b.checked})},redo:()=>{M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=b.checked})}};M.getState().addUndoable(b),M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=!v.viewState.autoRotate})}},p=C=>{const b=C.target.checked,v={name:"Show Axes",timestamp:Date.now(),checked:b,undo:()=>{M.getState().set(S=>{S.viewState.axes=!v.checked})},redo:()=>{M.getState().set(S=>{S.viewState.axes=v.checked})}};M.getState().addUndoable(v),M.getState().set(S=>{S.viewState.axes=b})},g=C=>{const b={name:"Show Shadow",timestamp:Date.now(),checked:C.target.checked,undo:()=>{M.getState().set(v=>{v.viewState.shadowEnabled=!b.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})},redo:()=>{M.getState().set(v=>{v.viewState.shadowEnabled=b.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})}};M.getState().addUndoable(b),M.getState().set(v=>{v.viewState.shadowEnabled=C.target.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})},y=C=>{const b=C.target.checked?Xm:0,v={name:"Set Surface Shininess",timestamp:Date.now(),oldValue:M.getState().viewState.solarPanelShininess??Xm,newValue:b,undo:()=>{M.getState().set(S=>{S.viewState.solarPanelShininess=v.oldValue})},redo:()=>{M.getState().set(S=>{S.viewState.solarPanelShininess=v.newValue})}};M.getState().addUndoable(v),M.getState().set(S=>{S.viewState.solarPanelShininess=b})},A=C=>{const b=M.getState().floatingWindowOpacity,v=C.target.checked?m0:1,S={name:"Floating Window Opacity",timestamp:Date.now(),oldValue:b,newValue:v,undo:()=>{M.getState().set(w=>{w.floatingWindowOpacity=S.oldValue})},redo:()=>{M.getState().set(w=>{w.floatingWindowOpacity=S.newValue})}};M.getState().addUndoable(S),M.getState().set(w=>{w.floatingWindowOpacity=v})},x=[];return!o&&!a&&x.push({key:"reset-view",label:h.jsxs(tn,{onClick:l,children:[O.t("menu.view.ResetView",n),h.jsxs(nh,{children:["(",t,")"]})]})}),x.push({key:"zoom-out-view",label:h.jsxs(tn,{onClick:s,children:[O.t("menu.view.ZoomOut",n),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+])"]})]})}),x.push({key:"zoom-in-view",label:h.jsxs(tn,{onClick:c,children:[O.t("menu.view.ZoomIn",n),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+[)"]})]})}),x.push({key:"navigation-view-check-box",label:h.jsxs(r2,{selector:fq,onChange:u,children:[O.t("menu.view.NavigationView",n),h.jsxs(nh,{children:["(",Voe,"+Q)"]})]})}),x.push({key:"orthographic-check-box",label:h.jsxs(r2,{selector:hu,onChange:d,children:[O.t("menu.view.TwoDimensionalView",n),h.jsxs(nh,{children:["(",Voe,"+B)"]})]})}),o||x.push({key:"auto-rotate-check-box",label:h.jsxs(r2,{selector:yBe,onChange:f,children:[O.t("menu.view.AutoRotate",n),h.jsxs(nh,{children:["(",Voe,"+M)"]})]})}),x.push({key:"axes-check-box",label:h.jsx(r2,{selector:B1e,onChange:p,children:O.t("skyMenu.Axes",n)})}),x.push({key:"shadow-check-box",label:h.jsx(r2,{selector:ss,onChange:g,children:O.t("menu.view.ShowShadow",n)})}),x.push({key:"shininess-check-box",label:h.jsx(r2,{selector:C=>C.viewState.solarPanelShininess===void 0||C.viewState.solarPanelShininess>0,onChange:y,children:O.t("menu.view.ShowSurfaceShininess",n)})}),x.push({key:"translucency-check-box",label:h.jsx(r2,{selector:C=>C.floatingWindowOpacity<1,onChange:A,children:O.t("menu.view.TranslucentFloatingWindows",n)})}),x},oLn=()=>{const t={lng:M.getState().language},e=M.getState().set,n=M.getState().addUndoable,o=M.getState().viewState.showHeliodonPanel,i=M.getState().viewState.showMapPanel,r=M.getState().viewState.showWeatherPanel,a=M.getState().viewState.showDiurnalTemperaturePanel,l=gt.getState().showEconomicsPanel,s=gt.getState().showNavigationPanel,c=gt.getState().showShadowSettings,u=M.getState().loggable,d=()=>{const b={name:"Open Sun and Time Settings Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showHeliodonPanel=!1})},redo:()=>{e(v=>{v.viewState.showHeliodonPanel=!0})}};n(b),e(v=>{v.viewState.showHeliodonPanel=!0,v.selectedFloatingWindow="heliodonPanel"})},f=()=>{const b={name:"Open Maps",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showMapPanel=!1})},redo:()=>{e(v=>{v.viewState.showMapPanel=!0})}};n(b),e(v=>{v.viewState.showMapPanel=!0,v.selectedFloatingWindow="mapPanel"})},p=()=>{const b={name:"Open Weather Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showWeatherPanel=!1})},redo:()=>{e(v=>{v.viewState.showWeatherPanel=!0})}};n(b),e(v=>{v.viewState.showWeatherPanel=!0,v.selectedFloatingWindow="weatherPanel"})},g=()=>{const b={name:"Open Diurnal Temperature Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showDiurnalTemperaturePanel=!1})},redo:()=>{e(v=>{v.viewState.showDiurnalTemperaturePanel=!0})}};n(b),e(v=>{v.viewState.showDiurnalTemperaturePanel=!0,v.selectedFloatingWindow="diurnalTemperaturePanel"})},y=()=>{gt.getState().set(b=>{b.showEconomicsPanel=!0}),u&&e(b=>{b.actionInfo={name:"Open Economics Panel",timestamp:new Date().getTime()}})},A=()=>{gt.getState().set(b=>{b.showNavigationPanel=!0}),u&&e(b=>{b.actionInfo={name:"Open Navigation Panel",timestamp:new Date().getTime()}})},x=()=>{gt.getState().set(b=>{b.showShadowSettings=!0}),u&&e(b=>{b.actionInfo={name:"Open Shadow Settings",timestamp:new Date().getTime()}})},C=[];return o||C.push({key:"sun-time",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[O.t("menu.settings.SunAndTime",t),"..."]})}),i||C.push({key:"show-map-panel",label:h.jsxs(tn,{noPadding:!0,onClick:f,children:[O.t("word.Location",t),"..."]})}),r||C.push({key:"weather-panel",label:h.jsxs(tn,{noPadding:!0,onClick:p,children:[O.t("menu.settings.WeatherData",t),"..."]})}),a||C.push({key:"diurnal-temperature-panel",label:h.jsxs(tn,{noPadding:!0,onClick:g,children:[O.t("menu.settings.DiurnalTemperature",t),"..."]})}),l||C.push({key:"economics-panel",label:h.jsxs(tn,{noPadding:!0,onClick:y,children:[O.t("economicsPanel.EconomicsParameters",t),"..."]})}),s||C.push({key:"navigation-panel",label:h.jsxs(tn,{noPadding:!0,onClick:A,children:[O.t("navigationPanel.NavigationParameters",t),"..."]})}),c||C.push({key:"shadow-settings",label:h.jsxs(tn,{noPadding:!0,onClick:x,children:[O.t("shadowSettingsPanel.ShadowSettings",t),"..."]})}),C},iLn=()=>{const t={lng:M.getState().language},e=M.getState().set,n=M.getState().addUndoable,o=s=>{const c=s.target.checked,u={name:"Show Site Information",timestamp:Date.now(),checked:c,undo:()=>{e(d=>{d.viewState.showSiteInfoPanel=!u.checked})},redo:()=>{e(d=>{d.viewState.showSiteInfoPanel=u.checked})}};n(u),e(d=>{d.viewState.showSiteInfoPanel=c})},i=s=>{const c=s.target.checked,u={name:"Show Design Information",timestamp:Date.now(),checked:c,undo:()=>{e(d=>{d.viewState.showDesignInfoPanel=!u.checked})},redo:()=>{e(d=>{d.viewState.showDesignInfoPanel=u.checked})}};n(u),e(d=>{d.viewState.showDesignInfoPanel=!d.viewState.showDesignInfoPanel})},r=s=>{const c={name:"Show Instruction Panel",timestamp:Date.now(),checked:s.target.checked,undo:()=>{e(u=>{u.viewState.showInstructionPanel=!c.checked})},redo:()=>{e(u=>{u.viewState.showInstructionPanel=c.checked})}};n(c),e(u=>{u.viewState.showInstructionPanel=!u.viewState.showInstructionPanel})},a=s=>{const c={name:"Show Sticky Note",timestamp:Date.now(),checked:s.target.value,undo:()=>{e(u=>{u.viewState.showStickyNotePanel=!c.checked})},redo:()=>{e(u=>{u.viewState.showStickyNotePanel=c.checked})}};n(c),e(u=>{u.viewState.showStickyNotePanel=!u.viewState.showStickyNotePanel})};return[{key:"site-info-panel-check-box",label:h.jsx(r2,{selector:Y1e,onChange:o,children:O.t("menu.view.accessories.SiteInformation",t)})},{key:"design-info-panel-check-box",label:h.jsx(r2,{selector:gq,onChange:i,children:O.t("menu.view.accessories.DesignInformation",t)})},{key:"instruction-panel-check-box",label:h.jsx(r2,{selector:TBe,onChange:r,children:O.t("menu.view.accessories.Instruction",t)})},{key:"sticky-note-panel-check-box",label:h.jsx(r2,{selector:CBe,onChange:a,children:O.t("menu.view.accessories.StickyNote",t)})}]};var eg=(t=>(t[t.NO_BUILDING=3]="NO_BUILDING",t[t.AT_LEAST_ONE_BAD_NO_GOOD=2]="AT_LEAST_ONE_BAD_NO_GOOD",t[t.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD=1]="AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD",t[t.OK=0]="OK",t))(eg||{});const aO=50,ZG=(t,e,n)=>{if(e(z.Foundation)===0)return{status:3};let i=!1,r=!1,a;for(const l of t)if(l.type===z.Foundation){const s=l;if(s.notBuilding)continue;if(n(z.Wall,s.id).length>0){const u=be.getBuildingCompletionStatus(s,t);u===Uc.COMPLETE?i=!0:(r=!0,a=u)}else r=!0}return r&&!i?{status:2,buildingCompletion:a}:r&&i?{status:1}:{status:0}},G8=t=>{if(!t.color)return .5;const e=t.color.toLowerCase();if(e==="white")return .05;if(e==="black")return .95;const n=parseInt(t.color.substring(1),16),o=n>>16&255,i=n>>8&255,r=n&255;let a=Math.min(o,i);a=Math.min(a,r);let l=Math.max(o,i);return l=Math.max(l,r),Math.min(.95,Math.max(.05,1-(a+l)/510))},lO=(t,e,n,o)=>e<0&&t.low>=n-o||e>0&&t.high<=n+o?0:e,Xx=(t,e,n,o,i,r)=>{if(n===u2.Sinusoidal)return .5*(t+e)-.5*(t-e)*Math.cos(Rue*(r-(o-720)));const a=.5*(t+e),l=.5*(t-e),s=i.daylight();if(r>i.sunrise&&ri.sunset){const p=r-i.sunset;return e+(u-e)*Math.exp(-d*p/c)}const f=r+23*60-i.sunset;return e+(u-e)*Math.exp(-d*f/c)},Jx=(t,e,n)=>{const o=t.getFullYear(),i=t.getMonth(),r=t.getDate(),l=be.daysOfMonth(i,o)/2;let s,c,u;if(r11&&(c=0);const p=be.daysOfMonth(c,o)/2,g=l+p;u=(r-l)/g}const d=e[s]+(e[c]-e[s])*u,f=n[s]+(n[c]-n[s])*u;return{low:d,high:f}},rLn=(t,e,n,o,i,r)=>{const a=n.length;let l=0,s=-1e3,c=1e3,u=-1e3,d=1e3;for(let g=0;go[g]&&(c=o[g]),d>n[g]&&(d=n[g]);l/=2*a;const f=.25*(s-c+u-d),p=r*Math.sqrt(bre/(2*i));return t>0?l-f*Math.exp(-p)*Math.cos(bre*(e-$be)-p):l-f*Math.exp(-p)*Math.cos(Math.PI+bre*(e-$be)-p)},Z$e=(t,e,n,o,i,r,a,l,s)=>rLn(t,e,o,i,l,s)-Math.exp(-s*Math.sqrt(Rue/(2*l)))*a*Math.cos(Rue*(n-(r-720)-f$t)),{Option:X8}=Yo,LQ=Se.memo(({type:t})=>{const e=M(kBe),n=M(a4t),o=M(s4t),i=Kt(),r=m.useMemo(()=>{switch(t){case Ql.CSP:return n;case Ql.SUT:return o;default:return e}},[t,e,n,o]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:O.t("menu.option.SamplingFrequency",i)+":"}),h.jsxs(Yo,{style:{width:"72px"},value:r??4,onChange:a=>{M.getState().set(l=>{switch(t){case Ql.CSP:l.world.cspTimesPerHour=a;break;case Ql.SUT:l.world.sutTimesPerHour=a;break;default:l.world.timesPerHour=a;break}})},children:[h.jsx(X8,{value:1,children:"1"},1),h.jsx(X8,{value:2,children:"2"},2),h.jsx(X8,{value:3,children:"3"},3),h.jsx(X8,{value:4,children:"4"},4),h.jsx(X8,{value:6,children:"6"},6),h.jsx(X8,{value:12,children:"12"},12),h.jsx(X8,{value:30,children:"30"},30)]}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("menu.option.TimesPerHour",i)})]})}),{Option:Lre}=Yo,WQ=Se.memo(({type:t})=>{const e=M(mH),n=M(qL),o=M(LBe),i=Kt(),r=m.useMemo(()=>{switch(t){case Ql.CSP:return n;case Ql.SUT:return o;default:return e}},[t,e,n,o]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsxs(Yo,{style:{marginLeft:"150px",width:"72px"},value:r??6,onChange:a=>{switch(t){case Ql.BUILDING:M.getState().set(l=>{l.world.daysPerYear=a});break;case Ql.PV:M.getState().set(l=>{l.world.daysPerYear=a}),bn.setState({yearlyPvYield:[]});break;case Ql.CSP:M.getState().set(l=>{l.world.cspDaysPerYear=a}),bn.setState({yearlyParabolicTroughYield:[],yearlyParabolicDishYield:[],yearlyFresnelReflectorYield:[],yearlyHeliostatYield:[]});break;case Ql.SUT:M.getState().set(l=>{l.world.sutDaysPerYear=a}),bn.setState({yearlyUpdraftTowerYield:[]});break}},children:[h.jsx(Lre,{value:4,children:"4"},4),h.jsx(Lre,{value:6,children:"6"},6),h.jsx(Lre,{value:12,children:"12"},12)]}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("menu.option.DaysPerYear",i)})]})}),uN=Se.memo(({type:t})=>{const e=M(o4t),n=M(i4t),o=M(l4t),i=M(c4t),r=Kt(),a=m.useMemo(()=>{switch(t){case Ql.PV:return n;case Ql.CSP:return o;case Ql.SUT:return i;default:return e}},[t,n,o,i,e]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:O.t("menu.option.GridCellSize",r)+":"}),h.jsx(Hn,{min:.1,max:5,step:.05,style:{width:72},precision:2,value:a??.5,onChange:l=>{l!==null&&M.getState().set(s=>{switch(t){case Ql.PV:s.world.pvGridCellSize=l;break;case Ql.CSP:s.world.cspGridCellSize=l;break;case Ql.SUT:s.world.sutGridCellSize=l;break;default:s.world.solarRadiationHeatmapGridCellSize=l;break}})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("word.MeterAbbreviation",r)})]})}),aLn=()=>[{key:"building-energy-simulation-sampling-frequency",label:h.jsx(LQ,{type:Ql.BUILDING})},{key:"building-energy-simulation-sampling-days",label:h.jsx(WQ,{type:Ql.BUILDING})},{key:"building-energy-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.BUILDING})}],{Option:STe}=Yo,lLn=Se.memo(()=>{const t=Kt(),e=M(n4t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:O.t("menu.solarPanel.PanelDiscretization",t)+":"}),h.jsxs(Yo,{style:{width:"165px"},value:e??Rm.APPROXIMATE,onChange:n=>{M.getState().set(o=>{o.world.discretization=n})},children:[h.jsx(STe,{value:Rm.EXACT,children:O.t("menu.solarPanel.Exact",t)},Rm.EXACT),h.jsx(STe,{value:Rm.APPROXIMATE,children:O.t("menu.solarPanel.Approximate",t)},Rm.APPROXIMATE)]})]})}),sLn=Se.memo(()=>{const t=Kt(),e=M(X1e);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:O.t("menu.solarPanel.SolarPanelSimulationNoAnimation",t)+":"}),h.jsx(wc,{checked:e,onChange:n=>{M.getState().set(o=>{o.world.noAnimationForSolarPanelSimulation=n})}})]})}),cLn=t=>{const e=M.getState().world.discretization,n=[{key:"solar-panel-simulation-sampling-frequency",label:h.jsx(LQ,{type:Ql.PV})},{key:"solar-panel-simulation-sampling-days",label:h.jsx(WQ,{type:Ql.PV})},{key:"solar-panel-discretization",label:h.jsx(lLn,{})}];return(!e||e===Rm.APPROXIMATE)&&n.push({key:"solar-panel-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.PV})}),t||n.push({key:"solar-panel-simulation-no-animation",label:h.jsx(sLn,{})}),n},sO=t=>[{key:`${t}-simulation-sampling-frequency`,label:h.jsx(LQ,{type:Ql.CSP})},{key:`${t}-simulation-sampling-days`,label:h.jsx(WQ,{type:Ql.CSP})},{key:`${t}-simulation-grid-cell-size`,label:h.jsx(uN,{type:Ql.CSP})}],uLn=Se.memo(()=>{const t=Kt(),e=M(wf);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:O.t("menu.physics.SolarRadiationHeatmapMaxValue",t)+":"}),h.jsx(Hn,{min:.5,max:50,step:.5,style:{width:60},precision:1,value:e??5,onChange:n=>{M.getState().set(o=>{n!==null&&(o.viewState.solarRadiationHeatMapMaxValue=n)})}})]})}),dLn=Se.memo(()=>{const t=Kt(),e=M(kBe);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:O.t("menu.option.SamplingFrequency",t)+":"}),h.jsx(Hn,{min:1,max:60,step:1,style:{width:60},precision:0,value:e,formatter:n=>Number(n).toFixed(0),onChange:n=>{n!==null&&M.getState().set(o=>{o.world.timesPerHour=n})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("menu.option.TimesPerHour",t)})]})}),fLn=Se.memo(()=>{const t=Kt(),e=M(r4t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{paddingRight:"10px"},children:O.t("menu.solarPanel.VisibilityGridCellSize",t)+":"}),h.jsx(Hn,{min:.1,max:5,step:.1,style:{width:60},precision:1,value:e??.2,onChange:n=>{n!==null&&M.getState().set(o=>{o.world.solarPanelVisibilityGridCellSize=n})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:O.t("word.MeterAbbreviation",t)})]})}),hLn=()=>[{key:"sut-simulation-sampling-frequency",label:h.jsx(LQ,{type:Ql.SUT})},{key:"sut-simulation-sampling-days",label:h.jsx(WQ,{type:Ql.SUT})},{key:"sut-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.SUT})}],pLn=t=>{const e={lng:M.getState().language},n=gt.getState().setPrimitiveStore,o=M.getState().set,i=M.getState().selectNone,r=M.getState().countElementsByType,a=M.getState().countHeatmapCells,l=gt.getState().runDynamicSimulation,s=gt.getState().runStaticSimulation,c=M.getState().world.noAnimationForHeatmapSimulation,u=M.getState().elements,d=M.getState().loggable,f=be.hasMovingParts(u),p=[],g=()=>{s||fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{i(),n("runStaticSimulation",!s),d&&o(Y=>{Y.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Static)",timestamp:new Date().getTime()}})},100)},y=()=>{l||fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{i(),n("runDynamicSimulation",!l),d&&o(Y=>{Y.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Dynamic)",timestamp:new Date().getTime()}})},100)},A=()=>{a()>QNe?_r.confirm({title:O.t("message.CalculationMayBeSlowDoYouWantToContinue",e)+" ("+O.t("message.IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp",e)+")",icon:h.jsx(WW,{}),onOk:()=>{x()},onCancel:()=>{},okText:`${O.t("word.Yes",e)}`,cancelText:`${O.t("word.No",e)}`}):x()},x=()=>{!c||f?y():g()},C=()=>{if(r(z.Sensor)===0){fn(O.t("analysisManager.NoSensorForCollectingData",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{d&&o(_=>{_.actionInfo={name:"Collect Daily Data for Sensors",timestamp:new Date().getTime()}}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailyLightSensor=!0})},100)},b=()=>{if(r(z.Sensor)===0){fn(O.t("analysisManager.NoSensorForCollectingData",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{d&&o(_=>{_.actionInfo={name:"Collect Yearly Data for Sensors",timestamp:new Date().getTime()}}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlyLightSensor=!0})},100)},v=()=>{const Y=ZG(u,M.getState().countElementsByType,M.getState().getChildrenOfType);if(Y.status===eg.NO_BUILDING){fn(O.t("analysisManager.NoBuildingForAnalysis",e));return}if(Y.status===eg.AT_LEAST_ONE_BAD_NO_GOOD){let _;switch(Y.buildingCompletion){case Uc.WALL_DISJOINED:_=O.t("message.WallsAreNotConnected",e);break;case Uc.WALL_EMPTY:_=O.t("message.BuildingContainsEmptyWall",e);break;case Uc.ROOF_MISSING:_=O.t("message.BuildingRoofMissing",e);break;default:_=O.t("message.UnknownErrors",e)}Lo(O.t("message.SimulationWillNotStartDueToErrors",e)+": "+_);return}Y.status===eg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(O.t("message.SimulationWillStartDespiteWarnings",e)),fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{i(),d&&o(_=>{_.actionInfo={name:"Analyze Daily Building Energy",timestamp:new Date().getTime()}}),gt.getState().set(_=>{_.runDailyThermalSimulation=!0,_.simulationInProgress=!0})},100)},S=()=>{const Y=ZG(u,M.getState().countElementsByType,M.getState().getChildrenOfType);if(Y.status===eg.NO_BUILDING){fn(O.t("analysisManager.NoBuildingForAnalysis",e));return}if(Y.status===eg.AT_LEAST_ONE_BAD_NO_GOOD){let _;switch(Y.buildingCompletion){case Uc.WALL_DISJOINED:_=O.t("message.WallsAreNotConnected",e);break;case Uc.WALL_EMPTY:_=O.t("message.BuildingContainsEmptyWall",e);break;case Uc.ROOF_MISSING:_=O.t("message.BuildingRoofMissing",e);break;default:_=O.t("message.UnknownErrors",e)}Lo(O.t("message.SimulationWillNotStartDueToErrors",e)+": "+_);return}Y.status===eg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(O.t("message.SimulationWillStartDespiteWarnings",e)),fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{i(),gt.getState().set(_=>{_.runYearlyThermalSimulation=!0,_.simulationInProgress=!0}),d&&o(_=>{_.actionInfo={name:"Analyze Yearly Building Energy",timestamp:new Date().getTime()}})},100)},w=()=>{if(r(z.SolarPanel)===0){fn(O.t("analysisManager.NoSolarPanelForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyPvIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation For Solar Panels",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForSolarPanels=!0})},100)},T=()=>{if(r(z.SolarPanel)===0){fn(O.t("analysisManager.NoSolarPanelForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyPvIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation For Solar Panels",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForSolarPanels=!0})},100)},P=()=>{if(M.getState().countObservers()===0){fn(O.t("analysisManager.NoObserverForVisibilityAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{gt.getState().set(_=>{_.runSolarPanelVisibilityAnalysis=!_.runSolarPanelVisibilityAnalysis,_.simulationInProgress=!0}),d&&o(_=>{_.actionInfo={name:"Run Visibility Analysis For Solar Panels",timestamp:new Date().getTime()}})},100)},R=()=>{if(r(z.ParabolicTrough)===0){fn(O.t("analysisManager.NoParabolicTroughForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyParabolicTroughIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Parabolic Troughs",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForParabolicTroughs=!0})},100)},H=()=>{if(r(z.ParabolicTrough)===0){fn(O.t("analysisManager.NoParabolicTroughForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyParabolicTroughIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Parabolic Troughs",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForParabolicTroughs=!0})},100)},D=()=>{if(r(z.ParabolicDish)===0){fn(O.t("analysisManager.NoParabolicDishForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyParabolicDishIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Parabolic Dishes",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForParabolicDishes=!0})},100)},E=()=>{if(r(z.ParabolicDish)===0){fn(O.t("analysisManager.NoParabolicDishForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyParabolicDishIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Parabolic Dishes",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForParabolicDishes=!0})},100)},L=()=>{if(r(z.FresnelReflector)===0){fn(O.t("analysisManager.NoFresnelReflectorForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyFresnelReflectorIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Fresnel Reflectors",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForFresnelReflectors=!0})},100)},U=()=>{if(r(z.FresnelReflector)===0){fn(O.t("analysisManager.NoFresnelReflectorForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyFresnelReflectorIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Fresnel Reflectors",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForFresnelReflectors=!0})},100)},F=()=>{if(r(z.Heliostat)===0){fn(O.t("analysisManager.NoHeliostatForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyHeliostatIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Heliostats",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForHeliostats=!0})},100)},W=()=>{if(r(z.Heliostat)===0){fn(O.t("analysisManager.NoHeliostatForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyHeliostatIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Heliostats",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForHeliostats=!0})},100)},B=()=>{if(M.getState().countSolarStructuresByType(zn.UpdraftTower)===0){fn(O.t("analysisManager.NoSolarUpdraftTowerForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyUpdraftTowerIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Daily Simulation for Solar Updraft Tower",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForUpdraftTower=!0})},100)},k=()=>{if(M.getState().countSolarStructuresByType(zn.UpdraftTower)===0){fn(O.t("analysisManager.NoSolarUpdraftTowerForAnalysis",e));return}fn(O.t("message.SimulationStarted",e)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.yearlyUpdraftTowerIndividualOutputs=!1),d&&(_.actionInfo={name:"Run Yearly Simulation for Solar Updraft Tower",timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runYearlySimulationForUpdraftTower=!0})},100)},N=[];N.push({key:"solar-radiation-heatmap-grid-cell-size",label:h.jsx(uN,{type:Ql.BUILDING})}),N.push({key:"solar-radiation-heatmap-max-value",label:h.jsx(uLn,{})}),be.hasHeliostatOrFresnelReflectors(u)&&N.push({key:"solar-radiation-heatmap-reflection-only",label:h.jsx(Dre,{selector:U1e,onChange:Y=>{M.getState().set(_=>{_.world.noAnimationForHeatmapSimulation=Y})},children:O.t("menu.physics.ReflectionHeatmap",e)+":"})}),f||N.push({key:"solar-radiation-heatmap-no-animation",label:h.jsx(Dre,{selector:V1e,onChange:Y=>{M.getState().set(_=>{_.world.noAnimationForHeatmapSimulation=Y})},children:O.t("menu.physics.SolarRadiationHeatmapNoAnimation",e)+":"})}),p.push({key:"physics-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.physicsSubMenu",e)}),children:[{key:"daily-solar-radiation-heatmap",label:h.jsx(tn,{noPadding:!0,onClick:A,children:O.t("menu.physics.DailySolarRadiationHeatmap",e)})},{key:"solar-radiation-heatmap-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.physics.SolarRadiationHeatmapOptions",e)}),children:N}]});const j=[];return j.push({key:"sensor-simulation-sampling-frequency",label:h.jsx(dLn,{})}),f||j.push({key:"sensor-simulation-no-animation",label:h.jsx(Dre,{selector:G1e,onChange:Y=>{M.getState().set(_=>{_.world.noAnimationForSensorDataCollection=Y})},children:O.t("menu.sensor.SensorSimulationNoAnimation",e)+":"})}),t.sensorCount>0&&p.push({key:"sensor-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.sensorSubMenu",e)}),children:[{key:"sensor-collect-daily-data",label:h.jsx(tn,{noPadding:!0,onClick:C,children:O.t("menu.sensor.CollectDailyData",e)})},{key:"sensor-collect-yearly-data",label:h.jsx(tn,{noPadding:!0,onClick:b,children:O.t("menu.sensor.CollectYearlyData",e)})},{key:"sensor-simulation-options-submenu-2",label:h.jsx(tn,{noPadding:!0,children:O.t("word.Options",e)}),children:j}]}),t.wallCount>0&&p.push({key:"buildings-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingSubMenu",e)}),children:[{key:"building-energy-daily-data",label:h.jsx(tn,{noPadding:!0,onClick:v,children:O.t("menu.building.AnalyzeDailyBuildingEnergy",e)})},{key:"building-energy-yearly-data",label:h.jsx(tn,{noPadding:!0,onClick:S,children:O.t("menu.building.AnalyzeYearlyBuildingEnergy",e)})},{key:"building-energy-analysis-options-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.building.EnergyAnalysisOptions",e)}),children:aLn()}]}),t.solarPanelCount>0&&p.push({key:"solar-panels-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarPanelSubMenu",e)}),children:[{key:"solar-panel-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:w,children:O.t("menu.solarPanel.AnalyzeDailyYield",e)})},{key:"solar-panel-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:T,children:O.t("menu.solarPanel.AnalyzeYearlyYield",e)})},{key:"solar-panel-energy-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarPanel.EnergyAnalysisOptions",e)}),children:cLn(f)},{key:"solar-panel-visibility",label:h.jsx(tn,{noPadding:!0,onClick:P,children:O.t("menu.solarPanel.AnalyzeVisibility",e)})},{key:"solar-panel-visibility-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarPanel.VisibilityAnalysisOptions",e)}),children:[{key:"solar-panel-visibility-grid-cell-size",label:h.jsx(fLn,{})}]}]}),t.parabolicTroughCount>0&&p.push({key:"parabolic-troughs-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.parabolicTroughSubMenu",e)}),children:[{key:"parabolic-trough-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:R,children:O.t("menu.parabolicTrough.AnalyzeDailyYield",e)})},{key:"parabolic-trough-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:H,children:O.t("menu.parabolicTrough.AnalyzeYearlyYield",e)})},{key:"parabolic-trough-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:sO("parabolic-trough")}]}),t.parabolicDishCount>0&&p.push({key:"parabolic-dishes-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.parabolicDishSubMenu",e)}),children:[{key:"parabolic-dish-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:D,children:O.t("menu.parabolicDish.AnalyzeDailyYield",e)})},{key:"parabolic-dish-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:E,children:O.t("menu.parabolicDish.AnalyzeYearlyYield",e)})},{key:"parabolic-dish-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:sO("parabolic-dish")}]}),t.fresnelReflectorCount>0&&p.push({key:"fresnel-reflector-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.fresnelReflectorSubMenu",e)}),children:[{key:"fresnel-reflector-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:L,children:O.t("menu.fresnelReflector.AnalyzeDailyYield",e)})},{key:"fresnel-reflector-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:U,children:O.t("menu.fresnelReflector.AnalyzeYearlyYield",e)})},{key:"fresnel-reflector-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:sO("fresnel-reflector")}]}),t.heliostatCount>0&&p.push({key:"heliostat-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.heliostatSubMenu",e)}),children:[{key:"heliostat-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:F,children:O.t("menu.heliostat.AnalyzeDailyYield",e)})},{key:"heliostat-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:W,children:O.t("menu.heliostat.AnalyzeYearlyYield",e)})},{key:"heliostat-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:sO("heliostat-analysis")}]}),t.solarUpdraftTowerCount>0&&p.push({key:"solar-updraft-tower-submenu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarUpdraftTowerSubMenu",e)}),children:[{key:"solar-updraft-tower-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:B,children:O.t("menu.solarUpdraftTower.AnalyzeDailyYield",e)})},{key:"solar-updraft-tower-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:k,children:O.t("menu.solarUpdraftTower.AnalyzeYearlyYield",e)})},{key:"solar-updraft-tower-analysis-options",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.AnalysisOptions",e)}),children:hLn()}]}),p};/** * @license * Copyright 2017 Google LLC * @@ -4943,7 +4943,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var tQe=function(t){for(var e=[],n=0,o=0;o>6|192,e[n++]=i&63|128):(i&64512)===55296&&o+1>18|240,e[n++]=i>>12&63|128,e[n++]=i>>6&63|128,e[n++]=i&63|128):(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=i&63|128)}return e},yLn=function(t){for(var e=[],n=0,o=0;n191&&i<224){var r=t[n++];e[o++]=String.fromCharCode((i&31)<<6|r&63)}else if(i>239&&i<365){var r=t[n++],a=t[n++],l=t[n++],s=((i&7)<<18|(r&63)<<12|(a&63)<<6|l&63)-65536;e[o++]=String.fromCharCode(55296+(s>>10)),e[o++]=String.fromCharCode(56320+(s&1023))}else{var r=t[n++],a=t[n++];e[o++]=String.fromCharCode((i&15)<<12|(r&63)<<6|a&63)}}return e.join("")},kye={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:typeof atob=="function",encodeByteArray:function(t,e){if(!Array.isArray(t))throw Error("encodeByteArray takes an array as a parameter");this.init_();for(var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,o=[],i=0;i>2,d=(r&3)<<4|l>>4,f=(l&15)<<2|c>>6,p=c&63;s||(p=64,a||(f=64)),o.push(n[u],n[d],n[f],n[p])}return o.join("")},encodeString:function(t,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(t):this.encodeByteArray(tQe(t),e)},decodeString:function(t,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(t):yLn(this.decodeStringToByteArray(t,e))},decodeStringToByteArray:function(t,e){this.init_();for(var n=e?this.charToByteMapWebSafe_:this.charToByteMap_,o=[],i=0;i>4;if(o.push(f),c!==64){var p=l<<4&240|c>>2;if(o.push(p),d!==64){var g=c<<6&192|d;o.push(g)}}}return o},init_:function(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(var t=0;t=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(t)]=t,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(t)]=t)}}},nQe=function(t){var e=tQe(t);return kye.encodeByteArray(e,!0)},TTe=function(t){return nQe(t).replace(/\./g,"")},PTe=function(t){try{return kye.decodeString(t,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/** + */var tQe=function(t){for(var e=[],n=0,o=0;o>6|192,e[n++]=i&63|128):(i&64512)===55296&&o+1>18|240,e[n++]=i>>12&63|128,e[n++]=i>>6&63|128,e[n++]=i&63|128):(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=i&63|128)}return e},gLn=function(t){for(var e=[],n=0,o=0;n191&&i<224){var r=t[n++];e[o++]=String.fromCharCode((i&31)<<6|r&63)}else if(i>239&&i<365){var r=t[n++],a=t[n++],l=t[n++],s=((i&7)<<18|(r&63)<<12|(a&63)<<6|l&63)-65536;e[o++]=String.fromCharCode(55296+(s>>10)),e[o++]=String.fromCharCode(56320+(s&1023))}else{var r=t[n++],a=t[n++];e[o++]=String.fromCharCode((i&15)<<12|(r&63)<<6|a&63)}}return e.join("")},kye={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:typeof atob=="function",encodeByteArray:function(t,e){if(!Array.isArray(t))throw Error("encodeByteArray takes an array as a parameter");this.init_();for(var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,o=[],i=0;i>2,d=(r&3)<<4|l>>4,f=(l&15)<<2|c>>6,p=c&63;s||(p=64,a||(f=64)),o.push(n[u],n[d],n[f],n[p])}return o.join("")},encodeString:function(t,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(t):this.encodeByteArray(tQe(t),e)},decodeString:function(t,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(t):gLn(this.decodeStringToByteArray(t,e))},decodeStringToByteArray:function(t,e){this.init_();for(var n=e?this.charToByteMapWebSafe_:this.charToByteMap_,o=[],i=0;i>4;if(o.push(f),c!==64){var p=l<<4&240|c>>2;if(o.push(p),d!==64){var g=c<<6&192|d;o.push(g)}}}return o},init_:function(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(var t=0;t=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(t)]=t,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(t)]=t)}}},nQe=function(t){var e=tQe(t);return kye.encodeByteArray(e,!0)},TTe=function(t){return nQe(t).replace(/\./g,"")},PTe=function(t){try{return kye.decodeString(t,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/** * @license * Copyright 2017 Google LLC * @@ -4958,7 +4958,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function oQe(t){return iF(void 0,t)}function iF(t,e){if(!(e instanceof Object))return e;switch(e.constructor){case Date:var n=e;return new Date(n.getTime());case Object:t===void 0&&(t={});break;case Array:t=[];break;default:return e}for(var o in e)!e.hasOwnProperty(o)||!ALn(o)||(t[o]=iF(t[o],e[o]));return t}function ALn(t){return t!=="__proto__"}/** + */function oQe(t){return iF(void 0,t)}function iF(t,e){if(!(e instanceof Object))return e;switch(e.constructor){case Date:var n=e;return new Date(n.getTime());case Object:t===void 0&&(t={});break;case Array:t=[];break;default:return e}for(var o in e)!e.hasOwnProperty(o)||!mLn(o)||(t[o]=iF(t[o],e[o]));return t}function mLn(t){return t!=="__proto__"}/** * @license * Copyright 2017 Google LLC * @@ -5003,7 +5003,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Kx(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function Lye(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(Kx())}function iQe(){try{return Object.prototype.toString.call(global.process)==="[object process]"}catch{return!1}}function wLn(){return typeof self=="object"&&self.self===self}function vLn(){var t=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof t=="object"&&t.id!==void 0}function rQe(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function xLn(){return Kx().indexOf("Electron/")>=0}function bLn(){var t=Kx();return t.indexOf("MSIE ")>=0||t.indexOf("Trident/")>=0}function SLn(){return Kx().indexOf("MSAppHost/")>=0}function aQe(){return eQe.NODE_ADMIN===!0}function TLn(){return!iQe()&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}/** + */function Kx(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function Lye(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(Kx())}function iQe(){try{return Object.prototype.toString.call(global.process)==="[object process]"}catch{return!1}}function yLn(){return typeof self=="object"&&self.self===self}function ALn(){var t=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof t=="object"&&t.id!==void 0}function rQe(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function wLn(){return Kx().indexOf("Electron/")>=0}function vLn(){var t=Kx();return t.indexOf("MSIE ")>=0||t.indexOf("Trident/")>=0}function xLn(){return Kx().indexOf("MSAppHost/")>=0}function aQe(){return eQe.NODE_ADMIN===!0}function bLn(){return!iQe()&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}/** * @license * Copyright 2017 Google LLC * @@ -5018,7 +5018,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var PLn="FirebaseError",lQe=function(t){Ti(e,t);function e(n,o,i){var r=t.call(this,o)||this;return r.code=n,r.customData=i,r.name=PLn,Object.setPrototypeOf(r,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(r,Wye.prototype.create),r}return e}(Error),Wye=function(){function t(e,n,o){this.service=e,this.serviceName=n,this.errors=o}return t.prototype.create=function(e){for(var n=[],o=1;o"})}var RLn=/\{\$([^}]+)}/g;/** + */var SLn="FirebaseError",lQe=function(t){Ti(e,t);function e(n,o,i){var r=t.call(this,o)||this;return r.code=n,r.customData=i,r.name=SLn,Object.setPrototypeOf(r,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(r,Wye.prototype.create),r}return e}(Error),Wye=function(){function t(e,n,o){this.service=e,this.serviceName=n,this.errors=o}return t.prototype.create=function(e){for(var n=[],o=1;o"})}var PLn=/\{\$([^}]+)}/g;/** * @license * Copyright 2017 Google LLC * @@ -5048,7 +5048,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var sQe=function(t){var e={},n={},o={},i="";try{var r=t.split(".");e=rF(PTe(r[0])||""),n=rF(PTe(r[1])||""),i=r[2],o=n.d||{},delete n.d}catch{}return{header:e,claims:n,data:o,signature:i}},HLn=function(t){var e=sQe(t),n=e.claims;return!!n&&typeof n=="object"&&n.hasOwnProperty("iat")},MLn=function(t){var e=sQe(t).claims;return typeof e=="object"&&e.admin===!0};/** + */var sQe=function(t){var e={},n={},o={},i="";try{var r=t.split(".");e=rF(PTe(r[0])||""),n=rF(PTe(r[1])||""),i=r[2],o=n.d||{},delete n.d}catch{}return{header:e,claims:n,data:o,signature:i}},CLn=function(t){var e=sQe(t),n=e.claims;return!!n&&typeof n=="object"&&n.hasOwnProperty("iat")},RLn=function(t){var e=sQe(t).claims;return typeof e=="object"&&e.admin===!0};/** * @license * Copyright 2017 Google LLC * @@ -5078,7 +5078,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function ILn(t){for(var e=[],n=function(s,c){Array.isArray(c)?c.forEach(function(u){e.push(encodeURIComponent(s)+"="+encodeURIComponent(u))}):e.push(encodeURIComponent(s)+"="+encodeURIComponent(c))},o=0,i=Object.entries(t);o>>31)&4294967295}for(var a=this.chain_[0],l=this.chain_[1],s=this.chain_[2],c=this.chain_[3],u=this.chain_[4],d,f,i=0;i<80;i++){i<40?i<20?(d=c^l&(s^c),f=1518500249):(d=l^s^c,f=1859775393):i<60?(d=l&s|c&(l|s),f=2400959708):(d=l^s^c,f=3395469782);var r=(a<<5|a>>>27)+d+u+f+o[i]&4294967295;u=c,c=s,s=(l<<30|l>>>2)&4294967295,l=a,a=r}this.chain_[0]=this.chain_[0]+a&4294967295,this.chain_[1]=this.chain_[1]+l&4294967295,this.chain_[2]=this.chain_[2]+s&4294967295,this.chain_[3]=this.chain_[3]+c&4294967295,this.chain_[4]=this.chain_[4]+u&4294967295},t.prototype.update=function(e,n){if(e!=null){n===void 0&&(n=e.length);for(var o=n-this.blockSize,i=0,r=this.buf_,a=this.inbuf_;i=56;o--)this.buf_[o]=n&255,n/=256;this.compress_(this.buf_);for(var i=0,o=0;o<5;o++)for(var r=24;r>=0;r-=8)e[i]=this.chain_[o]>>r&255,++i;return e},t}();function DLn(t,e){var n=new ELn(t,e);return n.subscribe.bind(n)}var ELn=function(){function t(e,n){var o=this;this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=n,this.task.then(function(){e(o)}).catch(function(i){o.error(i)})}return t.prototype.next=function(e){this.forEachObserver(function(n){n.next(e)})},t.prototype.error=function(e){this.forEachObserver(function(n){n.error(e)}),this.close(e)},t.prototype.complete=function(){this.forEachObserver(function(e){e.complete()}),this.close()},t.prototype.subscribe=function(e,n,o){var i=this,r;if(e===void 0&&n===void 0&&o===void 0)throw new Error("Missing Observer.");kLn(e,["next","error","complete"])?r=e:r={next:e,error:n,complete:o},r.next===void 0&&(r.next=Wre),r.error===void 0&&(r.error=Wre),r.complete===void 0&&(r.complete=Wre);var a=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(function(){try{i.finalError?r.error(i.finalError):r.complete()}catch{}}),this.observers.push(r),a},t.prototype.unsubscribeOne=function(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],this.observerCount-=1,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))},t.prototype.forEachObserver=function(e){if(!this.finalized)for(var n=0;n>>31)&4294967295}for(var a=this.chain_[0],l=this.chain_[1],s=this.chain_[2],c=this.chain_[3],u=this.chain_[4],d,f,i=0;i<80;i++){i<40?i<20?(d=c^l&(s^c),f=1518500249):(d=l^s^c,f=1859775393):i<60?(d=l&s|c&(l|s),f=2400959708):(d=l^s^c,f=3395469782);var r=(a<<5|a>>>27)+d+u+f+o[i]&4294967295;u=c,c=s,s=(l<<30|l>>>2)&4294967295,l=a,a=r}this.chain_[0]=this.chain_[0]+a&4294967295,this.chain_[1]=this.chain_[1]+l&4294967295,this.chain_[2]=this.chain_[2]+s&4294967295,this.chain_[3]=this.chain_[3]+c&4294967295,this.chain_[4]=this.chain_[4]+u&4294967295},t.prototype.update=function(e,n){if(e!=null){n===void 0&&(n=e.length);for(var o=n-this.blockSize,i=0,r=this.buf_,a=this.inbuf_;i=56;o--)this.buf_[o]=n&255,n/=256;this.compress_(this.buf_);for(var i=0,o=0;o<5;o++)for(var r=24;r>=0;r-=8)e[i]=this.chain_[o]>>r&255,++i;return e},t}();function ILn(t,e){var n=new zLn(t,e);return n.subscribe.bind(n)}var zLn=function(){function t(e,n){var o=this;this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=n,this.task.then(function(){e(o)}).catch(function(i){o.error(i)})}return t.prototype.next=function(e){this.forEachObserver(function(n){n.next(e)})},t.prototype.error=function(e){this.forEachObserver(function(n){n.error(e)}),this.close(e)},t.prototype.complete=function(){this.forEachObserver(function(e){e.complete()}),this.close()},t.prototype.subscribe=function(e,n,o){var i=this,r;if(e===void 0&&n===void 0&&o===void 0)throw new Error("Missing Observer.");DLn(e,["next","error","complete"])?r=e:r={next:e,error:n,complete:o},r.next===void 0&&(r.next=Wre),r.error===void 0&&(r.error=Wre),r.complete===void 0&&(r.complete=Wre);var a=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(function(){try{i.finalError?r.error(i.finalError):r.complete()}catch{}}),this.observers.push(r),a},t.prototype.unsubscribeOne=function(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],this.observerCount-=1,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))},t.prototype.forEachObserver=function(e){if(!this.finalized)for(var n=0;n=55296&&i<=56319){var r=i-55296;o++,ei(o>6|192,e[n++]=i&63|128):i<65536?(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=i&63|128):(e[n++]=i>>18|240,e[n++]=i>>12&63|128,e[n++]=i>>6&63|128,e[n++]=i&63|128)}return e},NQ=function(t){for(var e=0,n=0;n=55296&&o<=56319?(e+=4,n++):e+=3}return e};/** + */var ELn=function(t){for(var e=[],n=0,o=0;o=55296&&i<=56319){var r=i-55296;o++,ei(o>6|192,e[n++]=i&63|128):i<65536?(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=i&63|128):(e[n++]=i>>18|240,e[n++]=i>>12&63|128,e[n++]=i>>6&63|128,e[n++]=i&63|128)}return e},NQ=function(t){for(var e=0,n=0;n=55296&&o<=56319?(e+=4,n++):e+=3}return e};/** * @license * Copyright 2021 Google LLC * @@ -5168,7 +5168,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var cQe=function(){function t(e,n){this.name=e,this.container=n,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}return t.prototype.get=function(e){var n=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(n)){var o=new Lp;if(this.instancesDeferred.set(n,o),this.isInitialized(n)||this.shouldAutoInitialize())try{var i=this.getOrInitializeService({instanceIdentifier:n});i&&o.resolve(i)}catch{}}return this.instancesDeferred.get(n).promise},t.prototype.getImmediate=function(e){var n,o=this.normalizeInstanceIdentifier(e==null?void 0:e.identifier),i=(n=e==null?void 0:e.optional)!==null&&n!==void 0?n:!1;if(this.isInitialized(o)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:o})}catch(r){if(i)return null;throw r}else{if(i)return null;throw Error("Service "+this.name+" is not available")}},t.prototype.getComponent=function(){return this.component},t.prototype.setComponent=function(e){var n,o;if(e.name!==this.name)throw Error("Mismatching Component "+e.name+" for Provider "+this.name+".");if(this.component)throw Error("Component for "+this.name+" has already been provided");if(this.component=e,!!this.shouldAutoInitialize()){if(WLn(e))try{this.getOrInitializeService({instanceIdentifier:cv})}catch{}try{for(var i=yg(this.instancesDeferred.entries()),r=i.next();!r.done;r=i.next()){var a=tp(r.value,2),l=a[0],s=a[1],c=this.normalizeInstanceIdentifier(l);try{var u=this.getOrInitializeService({instanceIdentifier:c});s.resolve(u)}catch{}}}catch(d){n={error:d}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}},t.prototype.clearInstance=function(e){e===void 0&&(e=cv),this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)},t.prototype.delete=function(){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return e=Array.from(this.instances.values()),[4,Promise.all(pl(pl([],tp(e.filter(function(o){return"INTERNAL"in o}).map(function(o){return o.INTERNAL.delete()}))),tp(e.filter(function(o){return"_delete"in o}).map(function(o){return o._delete()}))))];case 1:return n.sent(),[2]}})})},t.prototype.isComponentSet=function(){return this.component!=null},t.prototype.isInitialized=function(e){return e===void 0&&(e=cv),this.instances.has(e)},t.prototype.getOptions=function(e){return e===void 0&&(e=cv),this.instancesOptions.get(e)||{}},t.prototype.initialize=function(e){var n,o;e===void 0&&(e={});var i=e.options,r=i===void 0?{}:i,a=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(a))throw Error(this.name+"("+a+") has already been initialized");if(!this.isComponentSet())throw Error("Component "+this.name+" has not been registered yet");var l=this.getOrInitializeService({instanceIdentifier:a,options:r});try{for(var s=yg(this.instancesDeferred.entries()),c=s.next();!c.done;c=s.next()){var u=tp(c.value,2),d=u[0],f=u[1],p=this.normalizeInstanceIdentifier(d);a===p&&f.resolve(l)}}catch(g){n={error:g}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return l},t.prototype.onInit=function(e,n){var o,i=this.normalizeInstanceIdentifier(n),r=(o=this.onInitCallbacks.get(i))!==null&&o!==void 0?o:new Set;r.add(e),this.onInitCallbacks.set(i,r);var a=this.instances.get(i);return a&&e(a,i),function(){r.delete(e)}},t.prototype.invokeOnInitCallbacks=function(e,n){var o,i,r=this.onInitCallbacks.get(n);if(r)try{for(var a=yg(r),l=a.next();!l.done;l=a.next()){var s=l.value;try{s(e,n)}catch{}}}catch(c){o={error:c}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},t.prototype.getOrInitializeService=function(e){var n=e.instanceIdentifier,o=e.options,i=o===void 0?{}:o,r=this.instances.get(n);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:LLn(n),options:i}),this.instances.set(n,r),this.instancesOptions.set(n,i),this.invokeOnInitCallbacks(r,n),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,n,r)}catch{}return r||null},t.prototype.normalizeInstanceIdentifier=function(e){return e===void 0&&(e=cv),this.component?this.component.multipleInstances?e:cv:e},t.prototype.shouldAutoInitialize=function(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"},t}();function LLn(t){return t===cv?void 0:t}function WLn(t){return t.instantiationMode==="EAGER"}/** + */var cQe=function(){function t(e,n){this.name=e,this.container=n,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}return t.prototype.get=function(e){var n=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(n)){var o=new Lp;if(this.instancesDeferred.set(n,o),this.isInitialized(n)||this.shouldAutoInitialize())try{var i=this.getOrInitializeService({instanceIdentifier:n});i&&o.resolve(i)}catch{}}return this.instancesDeferred.get(n).promise},t.prototype.getImmediate=function(e){var n,o=this.normalizeInstanceIdentifier(e==null?void 0:e.identifier),i=(n=e==null?void 0:e.optional)!==null&&n!==void 0?n:!1;if(this.isInitialized(o)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:o})}catch(r){if(i)return null;throw r}else{if(i)return null;throw Error("Service "+this.name+" is not available")}},t.prototype.getComponent=function(){return this.component},t.prototype.setComponent=function(e){var n,o;if(e.name!==this.name)throw Error("Mismatching Component "+e.name+" for Provider "+this.name+".");if(this.component)throw Error("Component for "+this.name+" has already been provided");if(this.component=e,!!this.shouldAutoInitialize()){if(FLn(e))try{this.getOrInitializeService({instanceIdentifier:cv})}catch{}try{for(var i=Ag(this.instancesDeferred.entries()),r=i.next();!r.done;r=i.next()){var a=tp(r.value,2),l=a[0],s=a[1],c=this.normalizeInstanceIdentifier(l);try{var u=this.getOrInitializeService({instanceIdentifier:c});s.resolve(u)}catch{}}}catch(d){n={error:d}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}},t.prototype.clearInstance=function(e){e===void 0&&(e=cv),this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)},t.prototype.delete=function(){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return e=Array.from(this.instances.values()),[4,Promise.all(pl(pl([],tp(e.filter(function(o){return"INTERNAL"in o}).map(function(o){return o.INTERNAL.delete()}))),tp(e.filter(function(o){return"_delete"in o}).map(function(o){return o._delete()}))))];case 1:return n.sent(),[2]}})})},t.prototype.isComponentSet=function(){return this.component!=null},t.prototype.isInitialized=function(e){return e===void 0&&(e=cv),this.instances.has(e)},t.prototype.getOptions=function(e){return e===void 0&&(e=cv),this.instancesOptions.get(e)||{}},t.prototype.initialize=function(e){var n,o;e===void 0&&(e={});var i=e.options,r=i===void 0?{}:i,a=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(a))throw Error(this.name+"("+a+") has already been initialized");if(!this.isComponentSet())throw Error("Component "+this.name+" has not been registered yet");var l=this.getOrInitializeService({instanceIdentifier:a,options:r});try{for(var s=Ag(this.instancesDeferred.entries()),c=s.next();!c.done;c=s.next()){var u=tp(c.value,2),d=u[0],f=u[1],p=this.normalizeInstanceIdentifier(d);a===p&&f.resolve(l)}}catch(g){n={error:g}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return l},t.prototype.onInit=function(e,n){var o,i=this.normalizeInstanceIdentifier(n),r=(o=this.onInitCallbacks.get(i))!==null&&o!==void 0?o:new Set;r.add(e),this.onInitCallbacks.set(i,r);var a=this.instances.get(i);return a&&e(a,i),function(){r.delete(e)}},t.prototype.invokeOnInitCallbacks=function(e,n){var o,i,r=this.onInitCallbacks.get(n);if(r)try{for(var a=Ag(r),l=a.next();!l.done;l=a.next()){var s=l.value;try{s(e,n)}catch{}}}catch(c){o={error:c}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},t.prototype.getOrInitializeService=function(e){var n=e.instanceIdentifier,o=e.options,i=o===void 0?{}:o,r=this.instances.get(n);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:kLn(n),options:i}),this.instances.set(n,r),this.instancesOptions.set(n,i),this.invokeOnInitCallbacks(r,n),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,n,r)}catch{}return r||null},t.prototype.normalizeInstanceIdentifier=function(e){return e===void 0&&(e=cv),this.component?this.component.multipleInstances?e:cv:e},t.prototype.shouldAutoInitialize=function(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"},t}();function kLn(t){return t===cv?void 0:t}function FLn(t){return t.instantiationMode==="EAGER"}/** * @license * Copyright 2019 Google LLC * @@ -5211,7 +5211,7 @@ and limitations under the License. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var J8,Nye=[],Sl;(function(t){t[t.DEBUG=0]="DEBUG",t[t.VERBOSE=1]="VERBOSE",t[t.INFO=2]="INFO",t[t.WARN=3]="WARN",t[t.ERROR=4]="ERROR",t[t.SILENT=5]="SILENT"})(Sl||(Sl={}));var dQe={debug:Sl.DEBUG,verbose:Sl.VERBOSE,info:Sl.INFO,warn:Sl.WARN,error:Sl.ERROR,silent:Sl.SILENT},NLn=Sl.INFO,ULn=(J8={},J8[Sl.DEBUG]="log",J8[Sl.VERBOSE]="log",J8[Sl.INFO]="info",J8[Sl.WARN]="warn",J8[Sl.ERROR]="error",J8),BLn=function(t,e){for(var n=[],o=2;o=(l??s.logLevel)&&t({level:Sl[c].toLowerCase(),message:f,args:u,type:s.name})}},o=0,i=Nye;o=(l??s.logLevel)&&t({level:Sl[c].toLowerCase(),message:f,args:u,type:s.name})}},o=0,i=Nye;o=0&&yR.warn(` Warning: You are trying to load Firebase while using Firebase Performance standalone script. You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code. - `)}var cWn=Bye.initializeApp;Bye.initializeApp=function(){for(var t=[],e=0;e=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}var fWn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Oi,jye=jye||{},Qr=fWn||self;function nX(){}function Jue(t){var e=typeof t;return e=e!="object"?e:t?Array.isArray(t)?"array":e:"null",e=="array"||e=="object"&&typeof t.length=="number"}function UQ(t){var e=typeof t;return e=="object"&&t!=null||e=="function"}function hWn(t){return Object.prototype.hasOwnProperty.call(t,Nre)&&t[Nre]||(t[Nre]=++pWn)}var Nre="closure_uid_"+(1e9*Math.random()>>>0),pWn=0;function gWn(t,e,n){return t.call.apply(t.bind,arguments)}function mWn(t,e,n){if(!t)throw Error();if(2e?null:typeof t=="string"?t.charAt(e):t[e]}function HTe(t){return Array.prototype.concat.apply([],arguments)}function Yye(t){var e=t.length;if(0e?1:0}var qh;e:{var ITe=Qr.navigator;if(ITe){var zTe=ITe.userAgent;if(zTe){qh=zTe;break e}}qh=""}function Oye(t,e,n){for(var o in t)e.call(n,t[o],o,t)}function AQe(t){var e={};for(var n in t)e[n]=t[n];return e}var DTe="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function wQe(t,e){for(var n,o,i=1;iparseFloat(Bre)){iX=String(Yre);break e}}iX=Bre}var bWn={};function SWn(){return wWn(function(){for(var t=0,e=MTe(String(iX)).split("."),n=MTe("9").split("."),o=Math.max(e.length,n.length),i=0;t==0&&i>>0);function CQe(t){return typeof t=="function"?t:(t[_re]||(t[_re]=function(e){return t.handleEvent(e)}),t[_re])}function Td(){N7.call(this),this.i=new YQ(this),this.P=this,this.I=null}Pf(Td,N7);Td.prototype[BQ]=!0;Td.prototype.removeEventListener=function(t,e,n,o){TQe(this,t,e,n,o)};function df(t,e){var n,o=t.I;if(o)for(n=[];o;o=o.I)n.push(o);if(t=t.P,o=e.type||e,typeof e=="string")e=new uh(e,t);else if(e instanceof uh)e.target=e.target||t;else{var i=e;e=new uh(o,t),wQe(e,i)}if(i=!0,n)for(var r=n.length-1;0<=r;r--){var a=e.g=n[r];i=uO(a,o,!0,e)&&i}if(a=e.g=t,i=uO(a,o,!0,e)&&i,i=uO(a,o,!1,e)&&i,n)for(r=0;re.h&&(e.h++,t.next=e.g,e.g=t)}ede=!1}function OQ(t,e){Td.call(this),this.h=t||1,this.g=e||Qr,this.j=uf(this.kb,this),this.l=Date.now()}Pf(OQ,Td);Oi=OQ.prototype;Oi.da=!1;Oi.S=null;Oi.kb=function(){if(this.da){var t=Date.now()-this.l;0=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}var uWn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Oi,jye=jye||{},Qr=uWn||self;function nX(){}function Jue(t){var e=typeof t;return e=e!="object"?e:t?Array.isArray(t)?"array":e:"null",e=="array"||e=="object"&&typeof t.length=="number"}function UQ(t){var e=typeof t;return e=="object"&&t!=null||e=="function"}function dWn(t){return Object.prototype.hasOwnProperty.call(t,Nre)&&t[Nre]||(t[Nre]=++fWn)}var Nre="closure_uid_"+(1e9*Math.random()>>>0),fWn=0;function hWn(t,e,n){return t.call.apply(t.bind,arguments)}function pWn(t,e,n){if(!t)throw Error();if(2e?null:typeof t=="string"?t.charAt(e):t[e]}function HTe(t){return Array.prototype.concat.apply([],arguments)}function Yye(t){var e=t.length;if(0e?1:0}var qh;e:{var ITe=Qr.navigator;if(ITe){var zTe=ITe.userAgent;if(zTe){qh=zTe;break e}}qh=""}function Oye(t,e,n){for(var o in t)e.call(n,t[o],o,t)}function AQe(t){var e={};for(var n in t)e[n]=t[n];return e}var DTe="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function wQe(t,e){for(var n,o,i=1;iparseFloat(Bre)){iX=String(Yre);break e}}iX=Bre}var vWn={};function xWn(){return yWn(function(){for(var t=0,e=MTe(String(iX)).split("."),n=MTe("9").split("."),o=Math.max(e.length,n.length),i=0;t==0&&i>>0);function CQe(t){return typeof t=="function"?t:(t[_re]||(t[_re]=function(e){return t.handleEvent(e)}),t[_re])}function Td(){N7.call(this),this.i=new YQ(this),this.P=this,this.I=null}Pf(Td,N7);Td.prototype[BQ]=!0;Td.prototype.removeEventListener=function(t,e,n,o){TQe(this,t,e,n,o)};function df(t,e){var n,o=t.I;if(o)for(n=[];o;o=o.I)n.push(o);if(t=t.P,o=e.type||e,typeof e=="string")e=new uh(e,t);else if(e instanceof uh)e.target=e.target||t;else{var i=e;e=new uh(o,t),wQe(e,i)}if(i=!0,n)for(var r=n.length-1;0<=r;r--){var a=e.g=n[r];i=uO(a,o,!0,e)&&i}if(a=e.g=t,i=uO(a,o,!0,e)&&i,i=uO(a,o,!1,e)&&i,n)for(r=0;re.h&&(e.h++,t.next=e.g,e.g=t)}ede=!1}function OQ(t,e){Td.call(this),this.h=t||1,this.g=e||Qr,this.j=uf(this.kb,this),this.l=Date.now()}Pf(OQ,Td);Oi=OQ.prototype;Oi.da=!1;Oi.S=null;Oi.kb=function(){if(this.da){var t=Date.now()-this.l;0o.length)){var i=o[1];if(Array.isArray(i)&&!(1>i.length)){var r=i[0];if(r!="noop"&&r!="stop"&&r!="close")for(var a=1;ae)&&(e!=3||Kue||this.g&&(this.h.h||this.g.ga()||BTe(this.g)))){this.I||e!=4||n==7||(n==8||0>=o?sF(3):sF(2)),JQ(this);var i=this.g.ba();this.N=i;t:if(UQe(this)){var r=BTe(this.g);t="";var a=r.length,l=m6(this.g)==4;if(!this.h.i){if(typeof TextDecoder>"u"){jv(this),wE(this);var s="";break t}this.h.i=new Qr.TextDecoder}for(n=0;ne.length?rX:(e=e.substr(o,n),t.C=o+n,e)))}Oi.cancel=function(){this.I=!0,jv(this)};function pN(t){t.Y=Date.now()+t.P,jQe(t,t.P)}function jQe(t,e){if(t.B!=null)throw Error("WatchDog timer not null");t.B=dN(uf(t.eb,t),e)}function JQ(t){t.B&&(Qr.clearTimeout(t.B),t.B=null)}Oi.eb=function(){this.B=null;var t=Date.now();0<=t-this.Y?(jWn(this.j,this.A),this.K!=2&&(sF(),np(17)),jv(this),this.o=2,wE(this)):jQe(this,this.Y-t)};function wE(t){t.l.G==0||t.I||lZe(t.l,t)}function jv(t){JQ(t);var e=t.L;e&&typeof e.na=="function"&&e.na(),t.L=null,qye(t.W),zQe(t.V),t.g&&(e=t.g,t.g=null,e.abort(),e.na())}function ide(t,e){try{var n=t.l;if(n.G!=0&&(n.g==t||rde(n.i,t))){if(n.I=t.N,!t.J&&rde(n.i,t)&&n.G==3){try{var o=n.Ca.g.parse(e)}catch{o=null}if(Array.isArray(o)&&o.length==3){var i=o;if(i[0]==0){e:if(!n.u){if(n.g)if(n.g.F+3e3i[2]&&n.N&&n.A==0&&!n.v&&(n.v=dN(uf(n.ab,n),6e3));if(1>=JQe(n.i)&&n.ka){try{n.ka()}catch{}n.ka=void 0}}else Yv(n,11)}else if((t.J||n.g==t)&&cX(n),!oX(e))for(i=n.Ca.g.parse(e),e=0;ee)throw Error("Bad port number "+e);t.m=e}else t.m=null}function WTe(t,e,n){e instanceof cF?(t.h=e,eNn(t.h,t.g)):(n||(e=CD(e,QWn)),t.h=new cF(e,t.g))}function Bc(t,e,n){t.h.set(e,n)}function KQ(t){return Bc(t,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),t}function XWn(t){return t instanceof Qx?Q6(t):new Qx(t,void 0)}function JWn(t,e,n,o){var i=new Qx(null,void 0);return t&&aX(i,t),e&&lX(i,e),n&&sX(i,n),o&&(i.l=o),i}function vE(t,e){return t?e?decodeURI(t.replace(/%25/g,"%2525")):decodeURIComponent(t):""}function CD(t,e,n){return typeof t=="string"?(t=encodeURI(t).replace(e,KWn),n&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),t):null}function KWn(t){return t=t.charCodeAt(0),"%"+(t>>4&15).toString(16)+(t&15).toString(16)}var NTe=/[#\/\?@]/g,qWn=/[#\?:]/g,$Wn=/[#\?]/g,QWn=/[#\?@]/g,ZWn=/#/g;function cF(t,e){this.h=this.g=null,this.i=t||null,this.j=!!e}function U7(t){t.g||(t.g=new VH,t.h=0,t.i&&GWn(t.i,function(e,n){t.add(decodeURIComponent(e.replace(/\+/g," ")),n)}))}Oi=cF.prototype;Oi.add=function(t,e){U7(this),this.i=null,t=GH(this,t);var n=this.g.get(t);return n||this.g.set(t,n=[]),n.push(e),this.h+=1,this};function OQe(t,e){U7(t),e=GH(t,e),$x(t.g.h,e)&&(t.i=null,t.h-=t.g.get(e).length,t=t.g,$x(t.h,e)&&(delete t.h[e],t.i--,t.g.length>2*t.i&&n2e(t)))}function _Qe(t,e){return U7(t),e=GH(t,e),$x(t.g.h,e)}Oi.forEach=function(t,e){U7(this),this.g.forEach(function(n,o){yQe(n,function(i){t.call(e,i,o,this)},this)},this)};Oi.T=function(){U7(this);for(var t=this.g.R(),e=this.g.T(),n=[],o=0;o=t.j:!1}function JQe(t){return t.h?1:t.g?t.g.size:0}function rde(t,e){return t.h?t.h==e:t.g?t.g.has(e):!1}function o2e(t,e){t.g?t.g.add(e):t.h=e}function KQe(t,e){t.h&&t.h==e?t.h=null:t.g&&t.g.has(e)&&t.g.delete(e)}GQe.prototype.cancel=function(){var t,e;if(this.i=qQe(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){try{for(var n=gQe(this.g.values()),o=n.next();!o.done;o=n.next()){var i=o.value;i.cancel()}}catch(r){t={error:r}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}this.g.clear()}};function qQe(t){var e,n;if(t.h!=null)return t.i.concat(t.h.D);if(t.g!=null&&t.g.size!==0){var o=t.i;try{for(var i=gQe(t.g.values()),r=i.next();!r.done;r=i.next()){var a=r.value;o=o.concat(a.D)}}catch(l){e={error:l}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return o}return Yye(t.i)}function i2e(){}i2e.prototype.stringify=function(t){return Qr.JSON.stringify(t,void 0)};i2e.prototype.parse=function(t){return Qr.JSON.parse(t,void 0)};function oNn(){this.g=new i2e}function iNn(t,e,n){var o=n||"";try{t2e(t,function(i,r){var a=i;UQ(i)&&(a=Jye(i)),e.push(o+r+"="+encodeURIComponent(a))})}catch(i){throw e.push(o+"type="+encodeURIComponent("_badmap")),i}}function rNn(t,e){var n=new _Q;if(Qr.Image){var o=new Image;o.onload=cO(dO,n,o,"TestLoadImage: loaded",!0,e),o.onerror=cO(dO,n,o,"TestLoadImage: error",!1,e),o.onabort=cO(dO,n,o,"TestLoadImage: abort",!1,e),o.ontimeout=cO(dO,n,o,"TestLoadImage: timeout",!1,e),Qr.setTimeout(function(){o.ontimeout&&o.ontimeout()},1e4),o.src=t}else e(!1)}function dO(t,e,n,o,i){try{e.onload=null,e.onerror=null,e.onabort=null,e.ontimeout=null,i(o)}catch{}}function gN(t){this.l=t.$b||null,this.j=t.ib||!1}Pf(gN,Qye);gN.prototype.g=function(){return new qQ(this.l,this.j)};gN.prototype.i=function(t){return function(){return t}}({});function qQ(t,e){Td.call(this),this.D=t,this.u=e,this.m=void 0,this.readyState=r2e,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.v=new Headers,this.h=null,this.C="GET",this.B="",this.g=!1,this.A=this.j=this.l=null}Pf(qQ,Td);var r2e=0;Oi=qQ.prototype;Oi.open=function(t,e){if(this.readyState!=r2e)throw this.abort(),Error("Error reopening a connection");this.C=t,this.B=e,this.readyState=1,uF(this)};Oi.send=function(t){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;var e={headers:this.v,method:this.C,credentials:this.m,cache:void 0};t&&(e.body=t),(this.D||Qr).fetch(new Request(this.B,e)).then(this.Va.bind(this),this.ha.bind(this))};Oi.abort=function(){this.response=this.responseText="",this.v=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted."),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,mN(this)),this.readyState=r2e};Oi.Va=function(t){if(this.g&&(this.l=t,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=t.headers,this.readyState=2,uF(this)),this.g&&(this.readyState=3,uF(this),this.g)))if(this.responseType==="arraybuffer")t.arrayBuffer().then(this.Ta.bind(this),this.ha.bind(this));else if(typeof Qr.ReadableStream<"u"&&"body"in t){if(this.j=t.body.getReader(),this.u){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.A=new TextDecoder;$Qe(this)}else t.text().then(this.Ua.bind(this),this.ha.bind(this))};function $Qe(t){t.j.read().then(t.Sa.bind(t)).catch(t.ha.bind(t))}Oi.Sa=function(t){if(this.g){if(this.u&&t.value)this.response.push(t.value);else if(!this.u){var e=t.value?t.value:new Uint8Array(0);(e=this.A.decode(e,{stream:!t.done}))&&(this.response=this.responseText+=e)}t.done?mN(this):uF(this),this.readyState==3&&$Qe(this)}};Oi.Ua=function(t){this.g&&(this.response=this.responseText=t,mN(this))};Oi.Ta=function(t){this.g&&(this.response=t,mN(this))};Oi.ha=function(){this.g&&mN(this)};function mN(t){t.readyState=4,t.l=null,t.j=null,t.A=null,uF(t)}Oi.setRequestHeader=function(t,e){this.v.append(t,e)};Oi.getResponseHeader=function(t){return this.h&&this.h.get(t.toLowerCase())||""};Oi.getAllResponseHeaders=function(){if(!this.h)return"";for(var t=[],e=this.h.entries(),n=e.next();!n.done;)n=n.value,t.push(n[0]+": "+n[1]),n=e.next();return t.join(`\r -`)};function uF(t){t.onreadystatechange&&t.onreadystatechange.call(t)}Object.defineProperty(qQ.prototype,"withCredentials",{get:function(){return this.m==="include"},set:function(t){this.m=t?"include":"same-origin"}});var aNn=Qr.JSON.parse;function fu(t){Td.call(this),this.headers=new VH,this.u=t||null,this.h=!1,this.C=this.g=null,this.H="",this.m=0,this.j="",this.l=this.F=this.v=this.D=!1,this.B=0,this.A=null,this.J=QQe,this.K=this.L=!1}Pf(fu,Td);var QQe="",lNn=/^https?$/i,sNn=["POST","PUT"];Oi=fu.prototype;Oi.ea=function(t,e,n,o){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.H+"; newUri="+t);e=e?e.toUpperCase():"GET",this.H=t,this.j="",this.m=0,this.D=!1,this.h=!0,this.g=this.u?this.u.g():tde.g(),this.C=this.u?LTe(this.u):LTe(tde),this.g.onreadystatechange=uf(this.Fa,this);try{this.F=!0,this.g.open(e,String(t),!0),this.F=!1}catch(r){UTe(this,r);return}t=n||"";var i=new VH(this.headers);o&&t2e(o,function(r,a){i.set(a,r)}),o=AWn(i.T()),n=Qr.FormData&&t instanceof Qr.FormData,!(0<=mQe(sNn,e))||o||n||i.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),i.forEach(function(r,a){this.g.setRequestHeader(a,r)},this),this.J&&(this.g.responseType=this.J),"withCredentials"in this.g&&this.g.withCredentials!==this.L&&(this.g.withCredentials=this.L);try{tZe(this),0=t.i.j-(t.m?1:0)?!1:t.m?(t.l=e.D.concat(t.l),!0):t.G==1||t.G==2||t.C>=(t.Xa?0:t.Ya)?!1:(t.m=dN(uf(t.Ha,t,e),sZe(t,t.C)),t.C++,!0)}Oi.Ha=function(t){if(this.m)if(this.m=null,this.G==1){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var e=new hN(this,this.h,t,void 0),n=this.s;if(this.P&&(n?(n=AQe(n),wQe(n,this.P)):n=this.P),this.o===null&&(e.H=n),this.ja)e:{for(var o=0,i=0;ic)r=Math.max(0,i[s].h-100),l=!1;else try{iNn(u,a,"req"+c+"_")}catch{o&&o(u)}}if(l){o=a.join("&");break e}}return t=t.l.splice(0,n),e.D=t,o}function rZe(t){t.g||t.u||(t.Y=1,Kye(t.Ga,t),t.A=0)}function s2e(t){return t.g||t.u||3<=t.A?!1:(t.Y++,t.u=dN(uf(t.Ga,t),sZe(t,t.A)),t.A++,!0)}Oi.Ga=function(){if(this.u=null,aZe(this),this.$&&!(this.L||this.g==null||0>=this.O)){var t=2*this.O;this.h.info("BP detection timer enabled: "+t),this.B=dN(uf(this.bb,this),t)}};Oi.bb=function(){this.B&&(this.B=null,this.h.info("BP detection timeout reached."),this.h.info("Buffering proxy detected and switch to long-polling!"),this.N=!1,this.L=!0,np(10),QQ(this),aZe(this))};function c2e(t){t.B!=null&&(Qr.clearTimeout(t.B),t.B=null)}function aZe(t){t.g=new hN(t,t.h,"rpc",t.Y),t.o===null&&(t.g.H=t.s),t.g.O=0;var e=Q6(t.oa);Bc(e,"RID","rpc"),Bc(e,"SID",t.J),Bc(e,"CI",t.N?"0":"1"),Bc(e,"AID",t.U),yN(t,e),Bc(e,"TYPE","xmlhttp"),t.o&&t.s&&a2e(e,t.o,t.s),t.K&&t.g.setTimeout(t.K);var n=t.g;t=t.la,n.K=1,n.v=KQ(Q6(e)),n.s=null,n.U=!0,NQe(n,t)}Oi.ab=function(){this.v!=null&&(this.v=null,QQ(this),s2e(this),np(19))};function cX(t){t.v!=null&&(Qr.clearTimeout(t.v),t.v=null)}function lZe(t,e){var n=null;if(t.g==e){cX(t),c2e(t),t.g=null;var o=2}else if(rde(t.i,e))n=e.D,KQe(t.i,e),o=1;else return;if(t.I=e.N,t.G!=0){if(e.i)if(o==1){n=e.s?e.s.length:0,e=Date.now()-e.F;var i=t.C;o=VQ(),df(o,new kQe(o,n)),ZQ(t)}else rZe(t);else if(i=e.o,i==3||i==0&&0o.length)){var i=o[1];if(Array.isArray(i)&&!(1>i.length)){var r=i[0];if(r!="noop"&&r!="stop"&&r!="close")for(var a=1;ae)&&(e!=3||Kue||this.g&&(this.h.h||this.g.ga()||BTe(this.g)))){this.I||e!=4||n==7||(n==8||0>=o?sF(3):sF(2)),JQ(this);var i=this.g.ba();this.N=i;t:if(UQe(this)){var r=BTe(this.g);t="";var a=r.length,l=m6(this.g)==4;if(!this.h.i){if(typeof TextDecoder>"u"){jv(this),wE(this);var s="";break t}this.h.i=new Qr.TextDecoder}for(n=0;ne.length?rX:(e=e.substr(o,n),t.C=o+n,e)))}Oi.cancel=function(){this.I=!0,jv(this)};function pN(t){t.Y=Date.now()+t.P,jQe(t,t.P)}function jQe(t,e){if(t.B!=null)throw Error("WatchDog timer not null");t.B=dN(uf(t.eb,t),e)}function JQ(t){t.B&&(Qr.clearTimeout(t.B),t.B=null)}Oi.eb=function(){this.B=null;var t=Date.now();0<=t-this.Y?(UWn(this.j,this.A),this.K!=2&&(sF(),np(17)),jv(this),this.o=2,wE(this)):jQe(this,this.Y-t)};function wE(t){t.l.G==0||t.I||lZe(t.l,t)}function jv(t){JQ(t);var e=t.L;e&&typeof e.na=="function"&&e.na(),t.L=null,qye(t.W),zQe(t.V),t.g&&(e=t.g,t.g=null,e.abort(),e.na())}function ide(t,e){try{var n=t.l;if(n.G!=0&&(n.g==t||rde(n.i,t))){if(n.I=t.N,!t.J&&rde(n.i,t)&&n.G==3){try{var o=n.Ca.g.parse(e)}catch{o=null}if(Array.isArray(o)&&o.length==3){var i=o;if(i[0]==0){e:if(!n.u){if(n.g)if(n.g.F+3e3i[2]&&n.N&&n.A==0&&!n.v&&(n.v=dN(uf(n.ab,n),6e3));if(1>=JQe(n.i)&&n.ka){try{n.ka()}catch{}n.ka=void 0}}else Yv(n,11)}else if((t.J||n.g==t)&&cX(n),!oX(e))for(i=n.Ca.g.parse(e),e=0;ee)throw Error("Bad port number "+e);t.m=e}else t.m=null}function WTe(t,e,n){e instanceof cF?(t.h=e,QWn(t.h,t.g)):(n||(e=CD(e,qWn)),t.h=new cF(e,t.g))}function Bc(t,e,n){t.h.set(e,n)}function KQ(t){return Bc(t,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),t}function VWn(t){return t instanceof Qx?Q6(t):new Qx(t,void 0)}function GWn(t,e,n,o){var i=new Qx(null,void 0);return t&&aX(i,t),e&&lX(i,e),n&&sX(i,n),o&&(i.l=o),i}function vE(t,e){return t?e?decodeURI(t.replace(/%25/g,"%2525")):decodeURIComponent(t):""}function CD(t,e,n){return typeof t=="string"?(t=encodeURI(t).replace(e,XWn),n&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),t):null}function XWn(t){return t=t.charCodeAt(0),"%"+(t>>4&15).toString(16)+(t&15).toString(16)}var NTe=/[#\/\?@]/g,JWn=/[#\?:]/g,KWn=/[#\?]/g,qWn=/[#\?@]/g,$Wn=/#/g;function cF(t,e){this.h=this.g=null,this.i=t||null,this.j=!!e}function U7(t){t.g||(t.g=new VH,t.h=0,t.i&&_Wn(t.i,function(e,n){t.add(decodeURIComponent(e.replace(/\+/g," ")),n)}))}Oi=cF.prototype;Oi.add=function(t,e){U7(this),this.i=null,t=GH(this,t);var n=this.g.get(t);return n||this.g.set(t,n=[]),n.push(e),this.h+=1,this};function OQe(t,e){U7(t),e=GH(t,e),$x(t.g.h,e)&&(t.i=null,t.h-=t.g.get(e).length,t=t.g,$x(t.h,e)&&(delete t.h[e],t.i--,t.g.length>2*t.i&&n2e(t)))}function _Qe(t,e){return U7(t),e=GH(t,e),$x(t.g.h,e)}Oi.forEach=function(t,e){U7(this),this.g.forEach(function(n,o){yQe(n,function(i){t.call(e,i,o,this)},this)},this)};Oi.T=function(){U7(this);for(var t=this.g.R(),e=this.g.T(),n=[],o=0;o=t.j:!1}function JQe(t){return t.h?1:t.g?t.g.size:0}function rde(t,e){return t.h?t.h==e:t.g?t.g.has(e):!1}function o2e(t,e){t.g?t.g.add(e):t.h=e}function KQe(t,e){t.h&&t.h==e?t.h=null:t.g&&t.g.has(e)&&t.g.delete(e)}GQe.prototype.cancel=function(){var t,e;if(this.i=qQe(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){try{for(var n=gQe(this.g.values()),o=n.next();!o.done;o=n.next()){var i=o.value;i.cancel()}}catch(r){t={error:r}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}this.g.clear()}};function qQe(t){var e,n;if(t.h!=null)return t.i.concat(t.h.D);if(t.g!=null&&t.g.size!==0){var o=t.i;try{for(var i=gQe(t.g.values()),r=i.next();!r.done;r=i.next()){var a=r.value;o=o.concat(a.D)}}catch(l){e={error:l}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return o}return Yye(t.i)}function i2e(){}i2e.prototype.stringify=function(t){return Qr.JSON.stringify(t,void 0)};i2e.prototype.parse=function(t){return Qr.JSON.parse(t,void 0)};function tNn(){this.g=new i2e}function nNn(t,e,n){var o=n||"";try{t2e(t,function(i,r){var a=i;UQ(i)&&(a=Jye(i)),e.push(o+r+"="+encodeURIComponent(a))})}catch(i){throw e.push(o+"type="+encodeURIComponent("_badmap")),i}}function oNn(t,e){var n=new _Q;if(Qr.Image){var o=new Image;o.onload=cO(dO,n,o,"TestLoadImage: loaded",!0,e),o.onerror=cO(dO,n,o,"TestLoadImage: error",!1,e),o.onabort=cO(dO,n,o,"TestLoadImage: abort",!1,e),o.ontimeout=cO(dO,n,o,"TestLoadImage: timeout",!1,e),Qr.setTimeout(function(){o.ontimeout&&o.ontimeout()},1e4),o.src=t}else e(!1)}function dO(t,e,n,o,i){try{e.onload=null,e.onerror=null,e.onabort=null,e.ontimeout=null,i(o)}catch{}}function gN(t){this.l=t.$b||null,this.j=t.ib||!1}Pf(gN,Qye);gN.prototype.g=function(){return new qQ(this.l,this.j)};gN.prototype.i=function(t){return function(){return t}}({});function qQ(t,e){Td.call(this),this.D=t,this.u=e,this.m=void 0,this.readyState=r2e,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.v=new Headers,this.h=null,this.C="GET",this.B="",this.g=!1,this.A=this.j=this.l=null}Pf(qQ,Td);var r2e=0;Oi=qQ.prototype;Oi.open=function(t,e){if(this.readyState!=r2e)throw this.abort(),Error("Error reopening a connection");this.C=t,this.B=e,this.readyState=1,uF(this)};Oi.send=function(t){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;var e={headers:this.v,method:this.C,credentials:this.m,cache:void 0};t&&(e.body=t),(this.D||Qr).fetch(new Request(this.B,e)).then(this.Va.bind(this),this.ha.bind(this))};Oi.abort=function(){this.response=this.responseText="",this.v=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted."),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,mN(this)),this.readyState=r2e};Oi.Va=function(t){if(this.g&&(this.l=t,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=t.headers,this.readyState=2,uF(this)),this.g&&(this.readyState=3,uF(this),this.g)))if(this.responseType==="arraybuffer")t.arrayBuffer().then(this.Ta.bind(this),this.ha.bind(this));else if(typeof Qr.ReadableStream<"u"&&"body"in t){if(this.j=t.body.getReader(),this.u){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.A=new TextDecoder;$Qe(this)}else t.text().then(this.Ua.bind(this),this.ha.bind(this))};function $Qe(t){t.j.read().then(t.Sa.bind(t)).catch(t.ha.bind(t))}Oi.Sa=function(t){if(this.g){if(this.u&&t.value)this.response.push(t.value);else if(!this.u){var e=t.value?t.value:new Uint8Array(0);(e=this.A.decode(e,{stream:!t.done}))&&(this.response=this.responseText+=e)}t.done?mN(this):uF(this),this.readyState==3&&$Qe(this)}};Oi.Ua=function(t){this.g&&(this.response=this.responseText=t,mN(this))};Oi.Ta=function(t){this.g&&(this.response=t,mN(this))};Oi.ha=function(){this.g&&mN(this)};function mN(t){t.readyState=4,t.l=null,t.j=null,t.A=null,uF(t)}Oi.setRequestHeader=function(t,e){this.v.append(t,e)};Oi.getResponseHeader=function(t){return this.h&&this.h.get(t.toLowerCase())||""};Oi.getAllResponseHeaders=function(){if(!this.h)return"";for(var t=[],e=this.h.entries(),n=e.next();!n.done;)n=n.value,t.push(n[0]+": "+n[1]),n=e.next();return t.join(`\r +`)};function uF(t){t.onreadystatechange&&t.onreadystatechange.call(t)}Object.defineProperty(qQ.prototype,"withCredentials",{get:function(){return this.m==="include"},set:function(t){this.m=t?"include":"same-origin"}});var iNn=Qr.JSON.parse;function fu(t){Td.call(this),this.headers=new VH,this.u=t||null,this.h=!1,this.C=this.g=null,this.H="",this.m=0,this.j="",this.l=this.F=this.v=this.D=!1,this.B=0,this.A=null,this.J=QQe,this.K=this.L=!1}Pf(fu,Td);var QQe="",rNn=/^https?$/i,aNn=["POST","PUT"];Oi=fu.prototype;Oi.ea=function(t,e,n,o){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.H+"; newUri="+t);e=e?e.toUpperCase():"GET",this.H=t,this.j="",this.m=0,this.D=!1,this.h=!0,this.g=this.u?this.u.g():tde.g(),this.C=this.u?LTe(this.u):LTe(tde),this.g.onreadystatechange=uf(this.Fa,this);try{this.F=!0,this.g.open(e,String(t),!0),this.F=!1}catch(r){UTe(this,r);return}t=n||"";var i=new VH(this.headers);o&&t2e(o,function(r,a){i.set(a,r)}),o=mWn(i.T()),n=Qr.FormData&&t instanceof Qr.FormData,!(0<=mQe(aNn,e))||o||n||i.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),i.forEach(function(r,a){this.g.setRequestHeader(a,r)},this),this.J&&(this.g.responseType=this.J),"withCredentials"in this.g&&this.g.withCredentials!==this.L&&(this.g.withCredentials=this.L);try{tZe(this),0=t.i.j-(t.m?1:0)?!1:t.m?(t.l=e.D.concat(t.l),!0):t.G==1||t.G==2||t.C>=(t.Xa?0:t.Ya)?!1:(t.m=dN(uf(t.Ha,t,e),sZe(t,t.C)),t.C++,!0)}Oi.Ha=function(t){if(this.m)if(this.m=null,this.G==1){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var e=new hN(this,this.h,t,void 0),n=this.s;if(this.P&&(n?(n=AQe(n),wQe(n,this.P)):n=this.P),this.o===null&&(e.H=n),this.ja)e:{for(var o=0,i=0;ic)r=Math.max(0,i[s].h-100),l=!1;else try{nNn(u,a,"req"+c+"_")}catch{o&&o(u)}}if(l){o=a.join("&");break e}}return t=t.l.splice(0,n),e.D=t,o}function rZe(t){t.g||t.u||(t.Y=1,Kye(t.Ga,t),t.A=0)}function s2e(t){return t.g||t.u||3<=t.A?!1:(t.Y++,t.u=dN(uf(t.Ga,t),sZe(t,t.A)),t.A++,!0)}Oi.Ga=function(){if(this.u=null,aZe(this),this.$&&!(this.L||this.g==null||0>=this.O)){var t=2*this.O;this.h.info("BP detection timer enabled: "+t),this.B=dN(uf(this.bb,this),t)}};Oi.bb=function(){this.B&&(this.B=null,this.h.info("BP detection timeout reached."),this.h.info("Buffering proxy detected and switch to long-polling!"),this.N=!1,this.L=!0,np(10),QQ(this),aZe(this))};function c2e(t){t.B!=null&&(Qr.clearTimeout(t.B),t.B=null)}function aZe(t){t.g=new hN(t,t.h,"rpc",t.Y),t.o===null&&(t.g.H=t.s),t.g.O=0;var e=Q6(t.oa);Bc(e,"RID","rpc"),Bc(e,"SID",t.J),Bc(e,"CI",t.N?"0":"1"),Bc(e,"AID",t.U),yN(t,e),Bc(e,"TYPE","xmlhttp"),t.o&&t.s&&a2e(e,t.o,t.s),t.K&&t.g.setTimeout(t.K);var n=t.g;t=t.la,n.K=1,n.v=KQ(Q6(e)),n.s=null,n.U=!0,NQe(n,t)}Oi.ab=function(){this.v!=null&&(this.v=null,QQ(this),s2e(this),np(19))};function cX(t){t.v!=null&&(Qr.clearTimeout(t.v),t.v=null)}function lZe(t,e){var n=null;if(t.g==e){cX(t),c2e(t),t.g=null;var o=2}else if(rde(t.i,e))n=e.D,KQe(t.i,e),o=1;else return;if(t.I=e.N,t.G!=0){if(e.i)if(o==1){n=e.s?e.s.length:0,e=Date.now()-e.F;var i=t.C;o=VQ(),df(o,new kQe(o,n)),ZQ(t)}else rZe(t);else if(i=e.o,i==3||i==0&&0e?1:0}function wR(t,e,n){return t.length===e.length&&t.every(function(o,i){return n(o,e[i])})}function mZe(t){return t+"\0"}/** + */var gZe=function(){function t(){}return t.u=function(){for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=Math.floor(256/e.length)*e.length,o="";o.length<20;)for(var i=ANn(40),r=0;re?1:0}function wR(t,e,n){return t.length===e.length&&t.every(function(o,i){return n(o,e[i])})}function mZe(t){return t+"\0"}/** * @license * Copyright 2017 Google LLC * @@ -5534,7 +5534,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var AZe=function(){function t(e,n,o){n===void 0?n=0:n>e.length&&or(),o===void 0?o=e.length-n:o>e.length-n&&or(),this.segments=e,this.offset=n,this.len=o}return Object.defineProperty(t.prototype,"length",{get:function(){return this.len},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return t.comparator(this,e)===0},t.prototype.child=function(e){var n=this.segments.slice(this.offset,this.limit());return e instanceof t?e.forEach(function(o){n.push(o)}):n.push(e),this.construct(n)},t.prototype.limit=function(){return this.offset+this.length},t.prototype.popFirst=function(e){return e=e===void 0?1:e,this.construct(this.segments,this.offset+e,this.length-e)},t.prototype.popLast=function(){return this.construct(this.segments,this.offset,this.length-1)},t.prototype.firstSegment=function(){return this.segments[this.offset]},t.prototype.lastSegment=function(){return this.get(this.length-1)},t.prototype.get=function(e){return this.segments[this.offset+e]},t.prototype.isEmpty=function(){return this.length===0},t.prototype.isPrefixOf=function(e){if(e.lengtha)return 1}return e.lengthn.length?1:0},t}(),Ul=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.construct=function(n,o,i){return new e(n,o,i)},e.prototype.canonicalString=function(){return this.toArray().join("/")},e.prototype.toString=function(){return this.canonicalString()},e.fromString=function(){for(var n=[],o=0;o=0)throw new ko(On.INVALID_ARGUMENT,"Invalid segment ("+l+"). Paths must not contain // in them.");i.push.apply(i,l.split("/").filter(function(s){return s.length>0}))}return new e(i)},e.emptyPath=function(){return new e([])},e}(AZe),xNn=/^[_a-zA-Z][_a-zA-Z0-9]*$/,B2=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.construct=function(n,o,i){return new e(n,o,i)},e.isValidIdentifier=function(n){return xNn.test(n)},e.prototype.canonicalString=function(){return this.toArray().map(function(n){return n=n.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e.isValidIdentifier(n)||(n="`"+n+"`"),n}).join(".")},e.prototype.toString=function(){return this.canonicalString()},e.prototype.isKeyField=function(){return this.length===1&&this.get(0)==="__name__"},e.keyField=function(){return new e(["__name__"])},e.fromServerFormat=function(n){for(var o=[],i="",r=0,a=function(){if(i.length===0)throw new ko(On.INVALID_ARGUMENT,"Invalid field path ("+n+"). Paths must not be empty, begin with '.', end with '.', or contain '..'");o.push(i),i=""},l=!1;re.length&&or(),o===void 0?o=e.length-n:o>e.length-n&&or(),this.segments=e,this.offset=n,this.len=o}return Object.defineProperty(t.prototype,"length",{get:function(){return this.len},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return t.comparator(this,e)===0},t.prototype.child=function(e){var n=this.segments.slice(this.offset,this.limit());return e instanceof t?e.forEach(function(o){n.push(o)}):n.push(e),this.construct(n)},t.prototype.limit=function(){return this.offset+this.length},t.prototype.popFirst=function(e){return e=e===void 0?1:e,this.construct(this.segments,this.offset+e,this.length-e)},t.prototype.popLast=function(){return this.construct(this.segments,this.offset,this.length-1)},t.prototype.firstSegment=function(){return this.segments[this.offset]},t.prototype.lastSegment=function(){return this.get(this.length-1)},t.prototype.get=function(e){return this.segments[this.offset+e]},t.prototype.isEmpty=function(){return this.length===0},t.prototype.isPrefixOf=function(e){if(e.lengtha)return 1}return e.lengthn.length?1:0},t}(),Ul=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.construct=function(n,o,i){return new e(n,o,i)},e.prototype.canonicalString=function(){return this.toArray().join("/")},e.prototype.toString=function(){return this.canonicalString()},e.fromString=function(){for(var n=[],o=0;o=0)throw new ko(On.INVALID_ARGUMENT,"Invalid segment ("+l+"). Paths must not contain // in them.");i.push.apply(i,l.split("/").filter(function(s){return s.length>0}))}return new e(i)},e.emptyPath=function(){return new e([])},e}(AZe),wNn=/^[_a-zA-Z][_a-zA-Z0-9]*$/,B2=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.construct=function(n,o,i){return new e(n,o,i)},e.isValidIdentifier=function(n){return wNn.test(n)},e.prototype.canonicalString=function(){return this.toArray().map(function(n){return n=n.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e.isValidIdentifier(n)||(n="`"+n+"`"),n}).join(".")},e.prototype.toString=function(){return this.canonicalString()},e.prototype.isKeyField=function(){return this.length===1&&this.get(0)==="__name__"},e.keyField=function(){return new e(["__name__"])},e.fromServerFormat=function(n){for(var o=[],i="",r=0,a=function(){if(i.length===0)throw new ko(On.INVALID_ARGUMENT,"Invalid field path ("+n+"). Paths must not be empty, begin with '.', end with '.', or contain '..'");o.push(i),i=""},l=!1;r":return n>0;case">=":return n>=0;default:return or()}},e.prototype.g=function(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0},e}(function(){}),TNn=function(t){function e(n,o,i){var r=this;return(r=t.call(this,n,o,i)||this).key=sr.fromName(i.referenceValue),r}return Ti(e,t),e.prototype.matches=function(n){var o=sr.comparator(n.key,this.key);return this.m(o)},e}(hg),PNn=function(t){function e(n,o){var i=this;return(i=t.call(this,n,"in",o)||this).keys=bZe("in",o),i}return Ti(e,t),e.prototype.matches=function(n){return this.keys.some(function(o){return o.isEqual(n.key)})},e}(hg),CNn=function(t){function e(n,o){var i=this;return(i=t.call(this,n,"not-in",o)||this).keys=bZe("not-in",o),i}return Ti(e,t),e.prototype.matches=function(n){return!this.keys.some(function(o){return o.isEqual(n.key)})},e}(hg);function bZe(t,e){var n;return(((n=e.arrayValue)===null||n===void 0?void 0:n.values)||[]).map(function(o){return sr.fromName(o.referenceValue)})}var RNn=function(t){function e(n,o){return t.call(this,n,"array-contains",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=n.data.field(this.field);return h2e(o)&&fF(o.arrayValue,this.value)},e}(hg),HNn=function(t){function e(n,o){return t.call(this,n,"in",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=n.data.field(this.field);return o!==null&&fF(this.value.arrayValue,o)},e}(hg),MNn=function(t){function e(n,o){return t.call(this,n,"not-in",o)||this}return Ti(e,t),e.prototype.matches=function(n){if(fF(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;var o=n.data.field(this.field);return o!==null&&!fF(this.value.arrayValue,o)},e}(hg),INn=function(t){function e(n,o){return t.call(this,n,"array-contains-any",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=this,i=n.data.field(this.field);return!(!h2e(i)||!i.arrayValue.values)&&i.arrayValue.values.some(function(r){return fF(o.value.arrayValue,r)})},e}(hg),hF=function(t,e){this.position=t,this.before=e};function gX(t){return(t.before?"b":"a")+":"+t.position.map(function(e){return f2e(e)}).join(",")}var SC=function(t,e){e===void 0&&(e="asc"),this.field=t,this.dir=e};function zNn(t,e){return t.dir===e.dir&&t.field.isEqual(e.field)}function JTe(t,e,n){for(var o=0,i=0;i":return n>0;case">=":return n>=0;default:return or()}},e.prototype.g=function(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0},e}(function(){}),bNn=function(t){function e(n,o,i){var r=this;return(r=t.call(this,n,o,i)||this).key=sr.fromName(i.referenceValue),r}return Ti(e,t),e.prototype.matches=function(n){var o=sr.comparator(n.key,this.key);return this.m(o)},e}(pg),SNn=function(t){function e(n,o){var i=this;return(i=t.call(this,n,"in",o)||this).keys=bZe("in",o),i}return Ti(e,t),e.prototype.matches=function(n){return this.keys.some(function(o){return o.isEqual(n.key)})},e}(pg),TNn=function(t){function e(n,o){var i=this;return(i=t.call(this,n,"not-in",o)||this).keys=bZe("not-in",o),i}return Ti(e,t),e.prototype.matches=function(n){return!this.keys.some(function(o){return o.isEqual(n.key)})},e}(pg);function bZe(t,e){var n;return(((n=e.arrayValue)===null||n===void 0?void 0:n.values)||[]).map(function(o){return sr.fromName(o.referenceValue)})}var PNn=function(t){function e(n,o){return t.call(this,n,"array-contains",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=n.data.field(this.field);return h2e(o)&&fF(o.arrayValue,this.value)},e}(pg),CNn=function(t){function e(n,o){return t.call(this,n,"in",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=n.data.field(this.field);return o!==null&&fF(this.value.arrayValue,o)},e}(pg),RNn=function(t){function e(n,o){return t.call(this,n,"not-in",o)||this}return Ti(e,t),e.prototype.matches=function(n){if(fF(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;var o=n.data.field(this.field);return o!==null&&!fF(this.value.arrayValue,o)},e}(pg),HNn=function(t){function e(n,o){return t.call(this,n,"array-contains-any",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=this,i=n.data.field(this.field);return!(!h2e(i)||!i.arrayValue.values)&&i.arrayValue.values.some(function(r){return fF(o.value.arrayValue,r)})},e}(pg),hF=function(t,e){this.position=t,this.before=e};function gX(t){return(t.before?"b":"a")+":"+t.position.map(function(e){return f2e(e)}).join(",")}var SC=function(t,e){e===void 0&&(e="asc"),this.field=t,this.dir=e};function MNn(t,e){return t.dir===e.dir&&t.field.isEqual(e.field)}function JTe(t,e,n){for(var o=0,i=0;i0?t.explicitOrderBy[0].field:null}function g2e(t){for(var e=0,n=t.filters;e0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";e.p.push(new SC(B2.keyField(),s))}}}return e.p}function W9(t){var e=Ri(t);if(!e.T)if(e.limitType==="F")e.T=XTe(e.path,e.collectionGroup,SR(e),e.filters,e.limit,e.startAt,e.endAt);else{for(var n=[],o=0,i=SR(e);o0&&(n+=", orderBy: ["+e.orderBy.map(function(o){return function(i){return i.field.canonicalString()+" ("+i.dir+")"}(o)}).join(", ")+"]"),e.startAt&&(n+=", startAt: "+gX(e.startAt)),e.endAt&&(n+=", endAt: "+gX(e.endAt)),"Target("+n+")"}(W9(t))+"; limitType="+t.limitType+")"}function xN(t,e){return e.isFoundDocument()&&function(n,o){var i=o.key.path;return n.collectionGroup!==null?o.key.hasCollectionId(n.collectionGroup)&&n.path.isPrefixOf(i):sr.isDocumentKey(n.path)?n.path.isEqual(i):n.path.isImmediateParentOf(i)}(t,e)&&function(n,o){for(var i=0,r=n.explicitOrderBy;i0?t.explicitOrderBy[0].field:null}function g2e(t){for(var e=0,n=t.filters;e0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";e.p.push(new SC(B2.keyField(),s))}}}return e.p}function W9(t){var e=Ri(t);if(!e.T)if(e.limitType==="F")e.T=XTe(e.path,e.collectionGroup,SR(e),e.filters,e.limit,e.startAt,e.endAt);else{for(var n=[],o=0,i=SR(e);o0&&(n+=", orderBy: ["+e.orderBy.map(function(o){return function(i){return i.field.canonicalString()+" ("+i.dir+")"}(o)}).join(", ")+"]"),e.startAt&&(n+=", startAt: "+gX(e.startAt)),e.endAt&&(n+=", endAt: "+gX(e.endAt)),"Target("+n+")"}(W9(t))+"; limitType="+t.limitType+")"}function xN(t,e){return e.isFoundDocument()&&function(n,o){var i=o.key.path;return n.collectionGroup!==null?o.key.hasCollectionId(n.collectionGroup)&&n.path.isPrefixOf(i):sr.isDocumentKey(n.path)?n.path.isEqual(i):n.path.isImmediateParentOf(i)}(t,e)&&function(n,o){for(var i=0,r=n.explicitOrderBy;i=0)return;n(i.key)}},t.prototype.forEachWhile=function(e,n){var o;for(o=n!==void 0?this.data.getIteratorFrom(n):this.data.getIterator();o.hasNext();)if(!e(o.getNext().key))return},t.prototype.firstAfterOrEqual=function(e){var n=this.data.getIteratorFrom(e);return n.hasNext()?n.getNext().key:null},t.prototype.getIterator=function(){return new tPe(this.data.getIterator())},t.prototype.getIteratorFrom=function(e){return new tPe(this.data.getIteratorFrom(e))},t.prototype.add=function(e){return this.copy(this.data.remove(e).insert(e,!0))},t.prototype.delete=function(e){return this.has(e)?this.copy(this.data.remove(e)):this},t.prototype.isEmpty=function(){return this.data.isEmpty()},t.prototype.unionWith=function(e){var n=this;return n.size=0)return;n(i.key)}},t.prototype.forEachWhile=function(e,n){var o;for(o=n!==void 0?this.data.getIteratorFrom(n):this.data.getIterator();o.hasNext();)if(!e(o.getNext().key))return},t.prototype.firstAfterOrEqual=function(e){var n=this.data.getIteratorFrom(e);return n.hasNext()?n.getNext().key:null},t.prototype.getIterator=function(){return new tPe(this.data.getIterator())},t.prototype.getIteratorFrom=function(e){return new tPe(this.data.getIteratorFrom(e))},t.prototype.add=function(e){return this.copy(this.data.remove(e).insert(e,!0))},t.prototype.delete=function(e){return this.has(e)?this.copy(this.data.remove(e)):this},t.prototype.isEmpty=function(){return this.data.isEmpty()},t.prototype.unionWith=function(e){var n=this;return n.size0&&(this.k=!0,this.C=e)},t.prototype.M=function(){var e=_s(),n=_s(),o=_s();return this.D.forEach(function(i,r){switch(r){case 0:e=e.add(i);break;case 2:n=n.add(i);break;case 1:o=o.add(i);break;default:or()}}),new w2e(this.C,this.N,e,n,o)},t.prototype.L=function(){this.k=!1,this.D=iPe()},t.prototype.B=function(e,n){this.k=!0,this.D=this.D.insert(e,n)},t.prototype.q=function(e){this.k=!0,this.D=this.D.remove(e)},t.prototype.U=function(){this.S+=1},t.prototype.K=function(){this.S-=1},t.prototype.j=function(){this.k=!0,this.N=!0},t}(),VNn=function(){function t(e){this.W=e,this.G=new Map,this.H=D2(),this.J=oPe(),this.Y=new Nu(Ga)}return t.prototype.X=function(e){for(var n=0,o=e.v;n0?e.targetIds.forEach(n):this.G.forEach(function(i,r){o.st(r)&&n(r)})},t.prototype.rt=function(e){var n=e.targetId,o=e.V.count,i=this.ot(n);if(i){var r=i.target;if(pX(r))if(o===0){var a=new sr(r.path);this.tt(n,a,ph.newNoDocument(a,Ea.min()))}else Nr(o===1);else this.ct(n)!==o&&(this.it(n),this.Y=this.Y.add(n))}},t.prototype.ut=function(e){var n=this,o=new Map;this.G.forEach(function(a,l){var s=n.ot(l);if(s){if(a.current&&pX(s.target)){var c=new sr(s.target.path);n.H.get(c)!==null||n.at(l,c)||n.tt(l,c,ph.newNoDocument(c,e))}a.$&&(o.set(l,a.M()),a.L())}});var i=_s();this.J.forEach(function(a,l){var s=!0;l.forEachWhile(function(c){var u=n.ot(c);return!u||u.purpose===2||(s=!1,!1)}),s&&(i=i.add(a))});var r=new A2e(e,o,this.Y,this.H,i);return this.H=D2(),this.J=oPe(),this.Y=new Nu(Ga),r},t.prototype.Z=function(e,n){if(this.st(e)){var o=this.at(e,n.key)?2:0;this.nt(e).B(n.key,o),this.H=this.H.insert(n.key,n),this.J=this.J.insert(n.key,this.ht(n.key).add(e))}},t.prototype.tt=function(e,n,o){if(this.st(e)){var i=this.nt(e);this.at(e,n)?i.B(n,1):i.q(n),this.J=this.J.insert(n,this.ht(n).delete(e)),o&&(this.H=this.H.insert(n,o))}},t.prototype.removeTarget=function(e){this.G.delete(e)},t.prototype.ct=function(e){var n=this.nt(e).M();return this.W.getRemoteKeysForTarget(e).size+n.addedDocuments.size-n.removedDocuments.size},t.prototype.U=function(e){this.nt(e).U()},t.prototype.nt=function(e){var n=this.G.get(e);return n||(n=new nPe,this.G.set(e,n)),n},t.prototype.ht=function(e){var n=this.J.get(e);return n||(n=new Nu(Ga),this.J=this.J.insert(e,n)),n},t.prototype.st=function(e){var n=this.ot(e)!==null;return n||ai("WatchChangeAggregator","Detected inactive target",e),n},t.prototype.ot=function(e){var n=this.G.get(e);return n&&n.F?null:this.W.lt(e)},t.prototype.it=function(e){var n=this;this.G.set(e,new nPe),this.W.getRemoteKeysForTarget(e).forEach(function(o){n.tt(e,o,null)})},t.prototype.at=function(e,n){return this.W.getRemoteKeysForTarget(e).has(n)},t}();function oPe(){return new xh(sr.comparator)}function iPe(){return new xh(sr.comparator)}/** + */var A2e=function(){function t(e,n,o,i,r){this.snapshotVersion=e,this.targetChanges=n,this.targetMismatches=o,this.documentUpdates=i,this.resolvedLimboDocuments=r}return t.createSynthesizedRemoteEventForCurrentChange=function(e,n){var o=new Map;return o.set(e,w2e.createSynthesizedTargetChangeForCurrentChange(e,n)),new t(Ea.min(),o,oZ(),D2(),_s())},t}(),w2e=function(){function t(e,n,o,i,r){this.resumeToken=e,this.current=n,this.addedDocuments=o,this.modifiedDocuments=i,this.removedDocuments=r}return t.createSynthesizedTargetChangeForCurrentChange=function(e,n){return new t(Zp.EMPTY_BYTE_STRING,n,_s(),_s(),_s())},t}(),Q_=function(t,e,n,o){this.v=t,this.removedTargetIds=e,this.key=n,this.P=o},WZe=function(t,e){this.targetId=t,this.V=e},NZe=function(t,e,n,o){n===void 0&&(n=Zp.EMPTY_BYTE_STRING),o===void 0&&(o=null),this.state=t,this.targetIds=e,this.resumeToken=n,this.cause=o},nPe=function(){function t(){this.S=0,this.D=iPe(),this.C=Zp.EMPTY_BYTE_STRING,this.N=!1,this.k=!0}return Object.defineProperty(t.prototype,"current",{get:function(){return this.N},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"resumeToken",{get:function(){return this.C},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"F",{get:function(){return this.S!==0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"$",{get:function(){return this.k},enumerable:!1,configurable:!0}),t.prototype.O=function(e){e.approximateByteSize()>0&&(this.k=!0,this.C=e)},t.prototype.M=function(){var e=_s(),n=_s(),o=_s();return this.D.forEach(function(i,r){switch(r){case 0:e=e.add(i);break;case 2:n=n.add(i);break;case 1:o=o.add(i);break;default:or()}}),new w2e(this.C,this.N,e,n,o)},t.prototype.L=function(){this.k=!1,this.D=iPe()},t.prototype.B=function(e,n){this.k=!0,this.D=this.D.insert(e,n)},t.prototype.q=function(e){this.k=!0,this.D=this.D.remove(e)},t.prototype.U=function(){this.S+=1},t.prototype.K=function(){this.S-=1},t.prototype.j=function(){this.k=!0,this.N=!0},t}(),ONn=function(){function t(e){this.W=e,this.G=new Map,this.H=D2(),this.J=oPe(),this.Y=new Nu(Ga)}return t.prototype.X=function(e){for(var n=0,o=e.v;n0?e.targetIds.forEach(n):this.G.forEach(function(i,r){o.st(r)&&n(r)})},t.prototype.rt=function(e){var n=e.targetId,o=e.V.count,i=this.ot(n);if(i){var r=i.target;if(pX(r))if(o===0){var a=new sr(r.path);this.tt(n,a,ph.newNoDocument(a,Ea.min()))}else Nr(o===1);else this.ct(n)!==o&&(this.it(n),this.Y=this.Y.add(n))}},t.prototype.ut=function(e){var n=this,o=new Map;this.G.forEach(function(a,l){var s=n.ot(l);if(s){if(a.current&&pX(s.target)){var c=new sr(s.target.path);n.H.get(c)!==null||n.at(l,c)||n.tt(l,c,ph.newNoDocument(c,e))}a.$&&(o.set(l,a.M()),a.L())}});var i=_s();this.J.forEach(function(a,l){var s=!0;l.forEachWhile(function(c){var u=n.ot(c);return!u||u.purpose===2||(s=!1,!1)}),s&&(i=i.add(a))});var r=new A2e(e,o,this.Y,this.H,i);return this.H=D2(),this.J=oPe(),this.Y=new Nu(Ga),r},t.prototype.Z=function(e,n){if(this.st(e)){var o=this.at(e,n.key)?2:0;this.nt(e).B(n.key,o),this.H=this.H.insert(n.key,n),this.J=this.J.insert(n.key,this.ht(n.key).add(e))}},t.prototype.tt=function(e,n,o){if(this.st(e)){var i=this.nt(e);this.at(e,n)?i.B(n,1):i.q(n),this.J=this.J.insert(n,this.ht(n).delete(e)),o&&(this.H=this.H.insert(n,o))}},t.prototype.removeTarget=function(e){this.G.delete(e)},t.prototype.ct=function(e){var n=this.nt(e).M();return this.W.getRemoteKeysForTarget(e).size+n.addedDocuments.size-n.removedDocuments.size},t.prototype.U=function(e){this.nt(e).U()},t.prototype.nt=function(e){var n=this.G.get(e);return n||(n=new nPe,this.G.set(e,n)),n},t.prototype.ht=function(e){var n=this.J.get(e);return n||(n=new Nu(Ga),this.J=this.J.insert(e,n)),n},t.prototype.st=function(e){var n=this.ot(e)!==null;return n||ai("WatchChangeAggregator","Detected inactive target",e),n},t.prototype.ot=function(e){var n=this.G.get(e);return n&&n.F?null:this.W.lt(e)},t.prototype.it=function(e){var n=this;this.G.set(e,new nPe),this.W.getRemoteKeysForTarget(e).forEach(function(o){n.tt(e,o,null)})},t.prototype.at=function(e,n){return this.W.getRemoteKeysForTarget(e).has(n)},t}();function oPe(){return new xh(sr.comparator)}function iPe(){return new xh(sr.comparator)}/** * @license * Copyright 2017 Google LLC * @@ -5744,7 +5744,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var GNn={asc:"ASCENDING",desc:"DESCENDING"},XNn={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},JNn=function(t,e){this.databaseId=t,this.I=e};function pF(t,e){return t.I?new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")+"."+("000000000"+e.nanoseconds).slice(-9)+"Z":{seconds:""+e.seconds,nanos:e.nanoseconds}}function UZe(t,e){return t.I?e.toBase64():e.toUint8Array()}function KNn(t,e){return pF(t,e.toTimestamp())}function op(t){return Nr(!!t),Ea.fromTimestamp(function(e){var n=u7(e);return new Jp(n.seconds,n.nanos)}(t))}function v2e(t,e){return function(n){return new Ul(["projects",n.projectId,"databases",n.database])}(t).child("documents").child(e).canonicalString()}function BZe(t){var e=Ul.fromString(t);return Nr(XZe(e)),e}function gF(t,e){return v2e(t.databaseId,e.path)}function H6(t,e){var n=BZe(e);if(n.get(1)!==t.databaseId.projectId)throw new ko(On.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+n.get(1)+" vs "+t.databaseId.projectId);if(n.get(3)!==t.databaseId.database)throw new ko(On.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+n.get(3)+" vs "+t.databaseId.database);return new sr(YZe(n))}function fde(t,e){return v2e(t.databaseId,e)}function jZe(t){var e=BZe(t);return e.length===4?Ul.emptyPath():YZe(e)}function mF(t){return new Ul(["projects",t.databaseId.projectId,"databases",t.databaseId.database]).canonicalString()}function YZe(t){return Nr(t.length>4&&t.get(4)==="documents"),t.popFirst(5)}function rPe(t,e,n){return{name:gF(t,e),fields:n.value.mapValue.fields}}function qNn(t,e,n){var o=H6(t,e.name),i=op(e.updateTime),r=new ag({mapValue:{fields:e.fields}}),a=ph.newFoundDocument(o,i,r);return n&&a.setHasCommittedMutations(),n?a.setHasCommittedMutations():a}function yX(t,e){var n;if(e instanceof SN)n={update:rPe(t,e.key,e.value)};else if(e instanceof TN)n={delete:gF(t,e.key)};else if(e instanceof B7)n={update:rPe(t,e.key,e.data),updateMask:tUn(e.fieldMask)};else{if(!(e instanceof y2e))return or();n={verify:gF(t,e.key)}}return e.fieldTransforms.length>0&&(n.updateTransforms=e.fieldTransforms.map(function(o){return function(i,r){var a=r.transform;if(a instanceof TR)return{fieldPath:r.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(a instanceof eb)return{fieldPath:r.field.canonicalString(),appendMissingElements:{values:a.elements}};if(a instanceof tb)return{fieldPath:r.field.canonicalString(),removeAllFromArray:{values:a.elements}};if(a instanceof PR)return{fieldPath:r.field.canonicalString(),increment:a.A};throw or()}(0,o)})),e.precondition.isNone||(n.currentDocument=function(o,i){return i.updateTime!==void 0?{updateTime:KNn(o,i.updateTime)}:i.exists!==void 0?{exists:i.exists}:or()}(t,e.precondition)),n}function aPe(t,e){var n=e.currentDocument?function(c){return c.updateTime!==void 0?sh.updateTime(op(c.updateTime)):c.exists!==void 0?sh.exists(c.exists):sh.none()}(e.currentDocument):sh.none(),o=e.updateTransforms?e.updateTransforms.map(function(c){return function(u,d){var f=null;if("setToServerValue"in d)Nr(d.setToServerValue==="REQUEST_TIME"),f=new TR;else if("appendMissingElements"in d){var p=d.appendMissingElements.values||[];f=new eb(p)}else if("removeAllFromArray"in d){var g=d.removeAllFromArray.values||[];f=new tb(g)}else"increment"in d?f=new PR(u,d.increment):or();var y=B2.fromServerFormat(d.fieldPath);return new bN(y,f)}(t,c)}):[];if(e.update){e.update.name;var i=H6(t,e.update.name),r=new ag({mapValue:{fields:e.update.fields}});if(e.updateMask){var a=function(c){var u=c.fieldPaths||[];return new vR(u.map(function(d){return B2.fromServerFormat(d)}))}(e.updateMask);return new B7(i,r,a,n,o)}return new SN(i,r,n,o)}if(e.delete){var l=H6(t,e.delete);return new TN(l,n)}if(e.verify){var s=H6(t,e.verify);return new y2e(s,n)}return or()}function OZe(t,e){return{documents:[fde(t,e.path)]}}function _Ze(t,e){var n={structuredQuery:{}},o=e.path;e.collectionGroup!==null?(n.parent=fde(t,o),n.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(n.parent=fde(t,o.popLast()),n.structuredQuery.from=[{collectionId:o.lastSegment()}]);var i=function(l){if(l.length!==0){var s=l.map(function(c){return function(u){if(u.op==="=="){if(GTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NAN"}};if(VTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NULL"}}}else if(u.op==="!="){if(GTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NOT_NAN"}};if(VTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:WT(u.field),op:QNn(u.op),value:u.value}}}(c)});return s.length===1?s[0]:{compositeFilter:{op:"AND",filters:s}}}}(e.filters);i&&(n.structuredQuery.where=i);var r=function(l){if(l.length!==0)return l.map(function(s){return function(c){return{field:WT(c.field),direction:$Nn(c.dir)}}(s)})}(e.orderBy);r&&(n.structuredQuery.orderBy=r);var a=function(l,s){return l.I||Ub(s)?s:{value:s}}(t,e.limit);return a!==null&&(n.structuredQuery.limit=a),e.startAt&&(n.structuredQuery.startAt=lPe(e.startAt)),e.endAt&&(n.structuredQuery.endAt=lPe(e.endAt)),n}function VZe(t){var e=jZe(t.parent),n=t.structuredQuery,o=n.from?n.from.length:0,i=null;if(o>0){Nr(o===1);var r=n.from[0];r.allDescendants?i=r.collectionId:e=e.child(r.collectionId)}var a=[];n.where&&(a=GZe(n.where));var l=[];n.orderBy&&(l=n.orderBy.map(function(d){return function(f){return new SC(QP(f.field),function(p){switch(p){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(f.direction))}(d)}));var s=null;n.limit&&(s=function(d){var f;return Ub(f=typeof d=="object"?d.value:d)?null:f}(n.limit));var c=null;n.startAt&&(c=sPe(n.startAt));var u=null;return n.endAt&&(u=sPe(n.endAt)),SZe(e,i,l,a,s,"F",c,u)}function GZe(t){return t?t.unaryFilter!==void 0?[eUn(t)]:t.fieldFilter!==void 0?[ZNn(t)]:t.compositeFilter!==void 0?t.compositeFilter.filters.map(function(e){return GZe(e)}).reduce(function(e,n){return e.concat(n)}):or():[]}function lPe(t){return{before:t.before,values:t.position}}function sPe(t){var e=!!t.before,n=t.values||[];return new hF(n,e)}function $Nn(t){return GNn[t]}function QNn(t){return XNn[t]}function WT(t){return{fieldPath:t.canonicalString()}}function QP(t){return B2.fromServerFormat(t.fieldPath)}function ZNn(t){return hg.create(QP(t.fieldFilter.field),function(e){switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":default:return or()}}(t.fieldFilter.op),t.fieldFilter.value)}function eUn(t){switch(t.unaryFilter.op){case"IS_NAN":var e=QP(t.unaryFilter.field);return hg.create(e,"==",{doubleValue:NaN});case"IS_NULL":var n=QP(t.unaryFilter.field);return hg.create(n,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":var o=QP(t.unaryFilter.field);return hg.create(o,"!=",{doubleValue:NaN});case"IS_NOT_NULL":var i=QP(t.unaryFilter.field);return hg.create(i,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":default:return or()}}function tUn(t){var e=[];return t.fields.forEach(function(n){return e.push(n.canonicalString())}),{fieldPaths:e}}function XZe(t){return t.length>=4&&t.get(0)==="projects"&&t.get(2)==="databases"}/** + */var _Nn={asc:"ASCENDING",desc:"DESCENDING"},VNn={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},GNn=function(t,e){this.databaseId=t,this.I=e};function pF(t,e){return t.I?new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")+"."+("000000000"+e.nanoseconds).slice(-9)+"Z":{seconds:""+e.seconds,nanos:e.nanoseconds}}function UZe(t,e){return t.I?e.toBase64():e.toUint8Array()}function XNn(t,e){return pF(t,e.toTimestamp())}function op(t){return Nr(!!t),Ea.fromTimestamp(function(e){var n=u7(e);return new Jp(n.seconds,n.nanos)}(t))}function v2e(t,e){return function(n){return new Ul(["projects",n.projectId,"databases",n.database])}(t).child("documents").child(e).canonicalString()}function BZe(t){var e=Ul.fromString(t);return Nr(XZe(e)),e}function gF(t,e){return v2e(t.databaseId,e.path)}function H6(t,e){var n=BZe(e);if(n.get(1)!==t.databaseId.projectId)throw new ko(On.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+n.get(1)+" vs "+t.databaseId.projectId);if(n.get(3)!==t.databaseId.database)throw new ko(On.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+n.get(3)+" vs "+t.databaseId.database);return new sr(YZe(n))}function fde(t,e){return v2e(t.databaseId,e)}function jZe(t){var e=BZe(t);return e.length===4?Ul.emptyPath():YZe(e)}function mF(t){return new Ul(["projects",t.databaseId.projectId,"databases",t.databaseId.database]).canonicalString()}function YZe(t){return Nr(t.length>4&&t.get(4)==="documents"),t.popFirst(5)}function rPe(t,e,n){return{name:gF(t,e),fields:n.value.mapValue.fields}}function JNn(t,e,n){var o=H6(t,e.name),i=op(e.updateTime),r=new lg({mapValue:{fields:e.fields}}),a=ph.newFoundDocument(o,i,r);return n&&a.setHasCommittedMutations(),n?a.setHasCommittedMutations():a}function yX(t,e){var n;if(e instanceof SN)n={update:rPe(t,e.key,e.value)};else if(e instanceof TN)n={delete:gF(t,e.key)};else if(e instanceof B7)n={update:rPe(t,e.key,e.data),updateMask:ZNn(e.fieldMask)};else{if(!(e instanceof y2e))return or();n={verify:gF(t,e.key)}}return e.fieldTransforms.length>0&&(n.updateTransforms=e.fieldTransforms.map(function(o){return function(i,r){var a=r.transform;if(a instanceof TR)return{fieldPath:r.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(a instanceof eb)return{fieldPath:r.field.canonicalString(),appendMissingElements:{values:a.elements}};if(a instanceof tb)return{fieldPath:r.field.canonicalString(),removeAllFromArray:{values:a.elements}};if(a instanceof PR)return{fieldPath:r.field.canonicalString(),increment:a.A};throw or()}(0,o)})),e.precondition.isNone||(n.currentDocument=function(o,i){return i.updateTime!==void 0?{updateTime:XNn(o,i.updateTime)}:i.exists!==void 0?{exists:i.exists}:or()}(t,e.precondition)),n}function aPe(t,e){var n=e.currentDocument?function(c){return c.updateTime!==void 0?sh.updateTime(op(c.updateTime)):c.exists!==void 0?sh.exists(c.exists):sh.none()}(e.currentDocument):sh.none(),o=e.updateTransforms?e.updateTransforms.map(function(c){return function(u,d){var f=null;if("setToServerValue"in d)Nr(d.setToServerValue==="REQUEST_TIME"),f=new TR;else if("appendMissingElements"in d){var p=d.appendMissingElements.values||[];f=new eb(p)}else if("removeAllFromArray"in d){var g=d.removeAllFromArray.values||[];f=new tb(g)}else"increment"in d?f=new PR(u,d.increment):or();var y=B2.fromServerFormat(d.fieldPath);return new bN(y,f)}(t,c)}):[];if(e.update){e.update.name;var i=H6(t,e.update.name),r=new lg({mapValue:{fields:e.update.fields}});if(e.updateMask){var a=function(c){var u=c.fieldPaths||[];return new vR(u.map(function(d){return B2.fromServerFormat(d)}))}(e.updateMask);return new B7(i,r,a,n,o)}return new SN(i,r,n,o)}if(e.delete){var l=H6(t,e.delete);return new TN(l,n)}if(e.verify){var s=H6(t,e.verify);return new y2e(s,n)}return or()}function OZe(t,e){return{documents:[fde(t,e.path)]}}function _Ze(t,e){var n={structuredQuery:{}},o=e.path;e.collectionGroup!==null?(n.parent=fde(t,o),n.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(n.parent=fde(t,o.popLast()),n.structuredQuery.from=[{collectionId:o.lastSegment()}]);var i=function(l){if(l.length!==0){var s=l.map(function(c){return function(u){if(u.op==="=="){if(GTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NAN"}};if(VTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NULL"}}}else if(u.op==="!="){if(GTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NOT_NAN"}};if(VTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:WT(u.field),op:qNn(u.op),value:u.value}}}(c)});return s.length===1?s[0]:{compositeFilter:{op:"AND",filters:s}}}}(e.filters);i&&(n.structuredQuery.where=i);var r=function(l){if(l.length!==0)return l.map(function(s){return function(c){return{field:WT(c.field),direction:KNn(c.dir)}}(s)})}(e.orderBy);r&&(n.structuredQuery.orderBy=r);var a=function(l,s){return l.I||Ub(s)?s:{value:s}}(t,e.limit);return a!==null&&(n.structuredQuery.limit=a),e.startAt&&(n.structuredQuery.startAt=lPe(e.startAt)),e.endAt&&(n.structuredQuery.endAt=lPe(e.endAt)),n}function VZe(t){var e=jZe(t.parent),n=t.structuredQuery,o=n.from?n.from.length:0,i=null;if(o>0){Nr(o===1);var r=n.from[0];r.allDescendants?i=r.collectionId:e=e.child(r.collectionId)}var a=[];n.where&&(a=GZe(n.where));var l=[];n.orderBy&&(l=n.orderBy.map(function(d){return function(f){return new SC(QP(f.field),function(p){switch(p){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(f.direction))}(d)}));var s=null;n.limit&&(s=function(d){var f;return Ub(f=typeof d=="object"?d.value:d)?null:f}(n.limit));var c=null;n.startAt&&(c=sPe(n.startAt));var u=null;return n.endAt&&(u=sPe(n.endAt)),SZe(e,i,l,a,s,"F",c,u)}function GZe(t){return t?t.unaryFilter!==void 0?[QNn(t)]:t.fieldFilter!==void 0?[$Nn(t)]:t.compositeFilter!==void 0?t.compositeFilter.filters.map(function(e){return GZe(e)}).reduce(function(e,n){return e.concat(n)}):or():[]}function lPe(t){return{before:t.before,values:t.position}}function sPe(t){var e=!!t.before,n=t.values||[];return new hF(n,e)}function KNn(t){return _Nn[t]}function qNn(t){return VNn[t]}function WT(t){return{fieldPath:t.canonicalString()}}function QP(t){return B2.fromServerFormat(t.fieldPath)}function $Nn(t){return pg.create(QP(t.fieldFilter.field),function(e){switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":default:return or()}}(t.fieldFilter.op),t.fieldFilter.value)}function QNn(t){switch(t.unaryFilter.op){case"IS_NAN":var e=QP(t.unaryFilter.field);return pg.create(e,"==",{doubleValue:NaN});case"IS_NULL":var n=QP(t.unaryFilter.field);return pg.create(n,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":var o=QP(t.unaryFilter.field);return pg.create(o,"!=",{doubleValue:NaN});case"IS_NOT_NULL":var i=QP(t.unaryFilter.field);return pg.create(i,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":default:return or()}}function ZNn(t){var e=[];return t.fields.forEach(function(n){return e.push(n.canonicalString())}),{fieldPaths:e}}function XZe(t){return t.length>=4&&t.get(0)==="projects"&&t.get(2)==="databases"}/** * @license * Copyright 2017 Google LLC * @@ -5759,7 +5759,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function E2(t){for(var e="",n=0;n0&&(e=cPe(e)),e=nUn(t.get(n),e);return cPe(e)}function nUn(t,e){for(var n=e,o=t.length,i=0;i=2),e===2)return Nr(t.charAt(0)===""&&t.charAt(1)===""),Ul.emptyPath();for(var n=e-2,o=[],i="",r=0;rn)&&or(),t.charAt(a+1)){case"":var l=t.substring(r,a),s=void 0;i.length===0?s=l:(s=i+=l,i=""),o.push(s);break;case"":i+=t.substring(r,a),i+="\0";break;case"":i+=t.substring(r,a+1);break;default:or()}r=a+2}return new Ul(o)}/** + */function E2(t){for(var e="",n=0;n0&&(e=cPe(e)),e=eUn(t.get(n),e);return cPe(e)}function eUn(t,e){for(var n=e,o=t.length,i=0;i=2),e===2)return Nr(t.charAt(0)===""&&t.charAt(1)===""),Ul.emptyPath();for(var n=e-2,o=[],i="",r=0;rn)&&or(),t.charAt(a+1)){case"":var l=t.substring(r,a),s=void 0;i.length===0?s=l:(s=i+=l,i=""),o.push(s);break;case"":i+=t.substring(r,a),i+="\0";break;case"":i+=t.substring(r,a+1);break;default:or()}r=a+2}return new Ul(o)}/** * @license * Copyright 2017 Google LLC * @@ -5774,7 +5774,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var oUn=function(t,e){this.seconds=t,this.nanoseconds=e},J1=function(t,e,n){this.ownerId=t,this.allowTabSynchronization=e,this.leaseTimestampMs=n};J1.store="owner",J1.key="owner";var Nw=function(t,e,n){this.userId=t,this.lastAcknowledgedBatchId=e,this.lastStreamToken=n};Nw.store="mutationQueues",Nw.keyPath="userId";var uc=function(t,e,n,o,i){this.userId=t,this.batchId=e,this.localWriteTimeMs=n,this.baseMutations=o,this.mutations=i};uc.store="mutations",uc.keyPath="batchId",uc.userMutationsIndex="userMutationsIndex",uc.userMutationsKeyPath=["userId","batchId"];var oh=function(){function t(){}return t.prefixForUser=function(e){return[e]},t.prefixForPath=function(e,n){return[e,E2(n)]},t.key=function(e,n,o){return[e,E2(n),o]},t}();oh.store="documentMutations",oh.PLACEHOLDER=new oh;var iUn=function(t,e){this.path=t,this.readTime=e},rUn=function(t,e){this.path=t,this.version=e},d0=function(t,e,n,o,i,r){this.unknownDocument=t,this.noDocument=e,this.document=n,this.hasCommittedMutations=o,this.readTime=i,this.parentPath=r};d0.store="remoteDocuments",d0.readTimeIndex="readTimeIndex",d0.readTimeIndexPath="readTime",d0.collectionReadTimeIndex="collectionReadTimeIndex",d0.collectionReadTimeIndexPath=["parentPath","readTime"];var s9=function(t){this.byteSize=t};s9.store="remoteDocumentGlobal",s9.key="remoteDocumentGlobalKey";var Yp=function(t,e,n,o,i,r,a){this.targetId=t,this.canonicalId=e,this.readTime=n,this.resumeToken=o,this.lastListenSequenceNumber=i,this.lastLimboFreeSnapshotVersion=r,this.query=a};Yp.store="targets",Yp.keyPath="targetId",Yp.queryTargetsIndexName="queryTargetsIndex",Yp.queryTargetsKeyPath=["canonicalId","targetId"];var rf=function(t,e,n){this.targetId=t,this.path=e,this.sequenceNumber=n};rf.store="targetDocuments",rf.keyPath=["targetId","path"],rf.documentTargetsIndex="documentTargetsIndex",rf.documentTargetsKeyPath=["path","targetId"];var eg=function(t,e,n,o){this.highestTargetId=t,this.highestListenSequenceNumber=e,this.lastRemoteSnapshotVersion=n,this.targetCount=o};eg.key="targetGlobalKey",eg.store="targetGlobal";var wx=function(t,e){this.collectionId=t,this.parent=e};wx.store="collectionParents",wx.keyPath=["collectionId","parent"];var M6=function(t,e,n,o){this.clientId=t,this.updateTimeMs=e,this.networkEnabled=n,this.inForeground=o};M6.store="clientMetadata",M6.keyPath="clientId";var CR=function(t,e,n){this.bundleId=t,this.createTime=e,this.version=n};CR.store="bundles",CR.keyPath="bundleId";var RR=function(t,e,n){this.name=t,this.readTime=e,this.bundledQuery=n};RR.store="namedQueries",RR.keyPath="name";var aUn=pl(pl([],pl(pl([],pl(pl([],pl(pl([],[Nw.store,uc.store,oh.store,d0.store,Yp.store,J1.store,eg.store,rf.store]),[M6.store])),[s9.store])),[wx.store])),[CR.store,RR.store]),JZe="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.",KZe=function(){function t(){this.onCommittedListeners=[]}return t.prototype.addOnCommittedListener=function(e){this.onCommittedListeners.push(e)},t.prototype.raiseOnCommittedEvent=function(){this.onCommittedListeners.forEach(function(e){return e()})},t}(),Zp=function(){var t=this;this.promise=new Promise(function(e,n){t.resolve=e,t.reject=n})},_o=function(){function t(e){var n=this;this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(function(o){n.isDone=!0,n.result=o,n.nextCallback&&n.nextCallback(o)},function(o){n.isDone=!0,n.error=o,n.catchCallback&&n.catchCallback(o)})}return t.prototype.catch=function(e){return this.next(void 0,e)},t.prototype.next=function(e,n){var o=this;return this.callbackAttached&&or(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(n,this.error):this.wrapSuccess(e,this.result):new t(function(i,r){o.nextCallback=function(a){o.wrapSuccess(e,a).next(i,r)},o.catchCallback=function(a){o.wrapFailure(n,a).next(i,r)}})},t.prototype.toPromise=function(){var e=this;return new Promise(function(n,o){e.next(n,o)})},t.prototype.wrapUserFunction=function(e){try{var n=e();return n instanceof t?n:t.resolve(n)}catch(o){return t.reject(o)}},t.prototype.wrapSuccess=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.resolve(n)},t.prototype.wrapFailure=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.reject(n)},t.resolve=function(e){return new t(function(n,o){n(e)})},t.reject=function(e){return new t(function(n,o){o(e)})},t.waitFor=function(e){return new t(function(n,o){var i=0,r=0,a=!1;e.forEach(function(l){++i,l.next(function(){++r,a&&r===i&&n()},function(s){return o(s)})}),a=!0,r===i&&n()})},t.or=function(e){for(var n=t.resolve(!1),o=function(a){n=n.next(function(l){return l?t.resolve(l):a()})},i=0,r=e;i"u")return!1;if(t.gt())return!0;var e=Kx(),n=t._t(e),o=00||e.indexOf("Trident/")>0||e.indexOf("Edge/")>0||o||r)},t.gt=function(){var e;return typeof process<"u"&&((e=wNn)===null||e===void 0?void 0:e.Tt)==="YES"},t.It=function(e,n){return e.store(n)},t._t=function(e){var n=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),o=n?n[1].split("_").slice(0,2).join("."):"-1";return Number(o)},t.Et=function(e){var n=e.match(/Android ([\d.]+)/i),o=n?n[1].split(".").slice(0,2).join("."):"-1";return Number(o)},t.prototype.At=function(e){return Ao(this,void 0,void 0,function(){var n,o=this;return ho(this,function(i){switch(i.label){case 0:return this.db?[3,2]:(ai("SimpleDb","Opening database:",this.name),n=this,[4,new Promise(function(r,a){var l=indexedDB.open(o.name,o.version);l.onsuccess=function(s){var c=s.target.result;r(c)},l.onblocked=function(){a(new bE(e,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},l.onerror=function(s){var c=s.target.error;c.name==="VersionError"?a(new ko(On.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):a(new bE(e,c))},l.onupgradeneeded=function(s){ai("SimpleDb",'Database "'+o.name+'" requires upgrade from version:',s.oldVersion);var c=s.target.result;o.wt.Rt(c,l.transaction,s.oldVersion,o.version).next(function(){ai("SimpleDb","Database upgrade to version "+o.version+" complete")})}})]);case 1:n.db=i.sent(),i.label=2;case 2:return[2,(this.bt&&(this.db.onversionchange=function(r){return o.bt(r)}),this.db)]}})})},t.prototype.vt=function(e){this.bt=e,this.db&&(this.db.onversionchange=function(n){return e(n)})},t.prototype.runTransaction=function(e,n,o,i){return Ao(this,void 0,void 0,function(){var r,a,l,s,c;return ho(this,function(u){switch(u.label){case 0:r=n==="readonly",a=0,l=function(){var d,f,p,g,y;return ho(this,function(A){switch(A.label){case 0:++a,A.label=1;case 1:return A.trys.push([1,4,,5]),[4,s.At(e)];case 2:return s.db=A.sent(),d=qZe.open(s.db,e,r?"readonly":"readwrite",o),f=i(d).catch(function(x){return d.abort(x),_o.reject(x)}).toPromise(),p={},f.catch(function(){}),[4,d.dt];case 3:return[2,(p.value=(A.sent(),f),p)];case 4:return g=A.sent(),y=g.name!=="FirebaseError"&&a<3,ai("SimpleDb","Transaction failed with error:",g.message,"Retrying:",y),s.close(),y?[3,5]:[2,{value:Promise.reject(g)}];case 5:return[2]}})},s=this,u.label=1;case 1:return[5,l()];case 2:if(typeof(c=u.sent())=="object")return[2,c.value];u.label=3;case 3:return[3,1];case 4:return[2]}})})},t.prototype.close=function(){this.db&&this.db.close(),this.db=void 0},t}(),lUn=function(){function t(e){this.Pt=e,this.Vt=!1,this.St=null}return Object.defineProperty(t.prototype,"isDone",{get:function(){return this.Vt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"Dt",{get:function(){return this.St},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cursor",{set:function(e){this.Pt=e},enumerable:!1,configurable:!0}),t.prototype.done=function(){this.Vt=!0},t.prototype.Ct=function(e){this.St=e},t.prototype.delete=function(){return vv(this.Pt.delete())},t}(),bE=function(t){function e(n,o){var i=this;return(i=t.call(this,On.UNAVAILABLE,"IndexedDB transaction '"+n+"' failed: "+o)||this).name="IndexedDbTransactionError",i}return Ti(e,t),e}(ko);function Bb(t){return t.name==="IndexedDbTransactionError"}var sUn=function(){function t(e){this.store=e}return t.prototype.put=function(e,n){var o;return n!==void 0?(ai("SimpleDb","PUT",this.store.name,e,n),o=this.store.put(n,e)):(ai("SimpleDb","PUT",this.store.name,"",e),o=this.store.put(e)),vv(o)},t.prototype.add=function(e){return ai("SimpleDb","ADD",this.store.name,e,e),vv(this.store.add(e))},t.prototype.get=function(e){var n=this;return vv(this.store.get(e)).next(function(o){return o===void 0&&(o=null),ai("SimpleDb","GET",n.store.name,e,o),o})},t.prototype.delete=function(e){return ai("SimpleDb","DELETE",this.store.name,e),vv(this.store.delete(e))},t.prototype.count=function(){return ai("SimpleDb","COUNT",this.store.name),vv(this.store.count())},t.prototype.Nt=function(e,n){var o=this.cursor(this.options(e,n)),i=[];return this.xt(o,function(r,a){i.push(a)}).next(function(){return i})},t.prototype.kt=function(e,n){ai("SimpleDb","DELETE ALL",this.store.name);var o=this.options(e,n);o.Ft=!1;var i=this.cursor(o);return this.xt(i,function(r,a,l){return l.delete()})},t.prototype.$t=function(e,n){var o;n?o=e:(o={},n=e);var i=this.cursor(o);return this.xt(i,n)},t.prototype.Ot=function(e){var n=this.cursor({});return new _o(function(o,i){n.onerror=function(r){var a=x2e(r.target.error);i(a)},n.onsuccess=function(r){var a=r.target.result;a?e(a.primaryKey,a.value).next(function(l){l?a.continue():o()}):o()}})},t.prototype.xt=function(e,n){var o=[];return new _o(function(i,r){e.onerror=function(a){r(a.target.error)},e.onsuccess=function(a){var l=a.target.result;if(l){var s=new lUn(l),c=n(l.primaryKey,l.value,s);if(c instanceof _o){var u=c.catch(function(d){return s.done(),_o.reject(d)});o.push(u)}s.isDone?i():s.Dt===null?l.continue():l.continue(s.Dt)}else i()}}).next(function(){return _o.waitFor(o)})},t.prototype.options=function(e,n){var o;return e!==void 0&&(typeof e=="string"?o=e:n=e),{index:o,range:n}},t.prototype.cursor=function(e){var n="next";if(e.reverse&&(n="prev"),e.index){var o=this.store.index(e.index);return e.Ft?o.openKeyCursor(e.range,n):o.openCursor(e.range,n)}return this.store.openCursor(e.range,n)},t}();function vv(t){return new _o(function(e,n){t.onsuccess=function(o){var i=o.target.result;e(i)},t.onerror=function(o){var i=x2e(o.target.error);n(i)}})}var uPe=!1;function x2e(t){var e=HR._t(Kx());if(e>=12.2&&e<13){var n="An internal error was encountered in the Indexed Database server";if(t.message.indexOf(n)>=0){var o=new ko("internal","IOS_INDEXEDDB_BUG1: IndexedDb has thrown '"+n+"'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.");return uPe||(uPe=!0,setTimeout(function(){throw o},0)),o}}return t}/** + */var tUn=function(t,e){this.seconds=t,this.nanoseconds=e},K1=function(t,e,n){this.ownerId=t,this.allowTabSynchronization=e,this.leaseTimestampMs=n};K1.store="owner",K1.key="owner";var Nw=function(t,e,n){this.userId=t,this.lastAcknowledgedBatchId=e,this.lastStreamToken=n};Nw.store="mutationQueues",Nw.keyPath="userId";var uc=function(t,e,n,o,i){this.userId=t,this.batchId=e,this.localWriteTimeMs=n,this.baseMutations=o,this.mutations=i};uc.store="mutations",uc.keyPath="batchId",uc.userMutationsIndex="userMutationsIndex",uc.userMutationsKeyPath=["userId","batchId"];var oh=function(){function t(){}return t.prefixForUser=function(e){return[e]},t.prefixForPath=function(e,n){return[e,E2(n)]},t.key=function(e,n,o){return[e,E2(n),o]},t}();oh.store="documentMutations",oh.PLACEHOLDER=new oh;var nUn=function(t,e){this.path=t,this.readTime=e},oUn=function(t,e){this.path=t,this.version=e},d0=function(t,e,n,o,i,r){this.unknownDocument=t,this.noDocument=e,this.document=n,this.hasCommittedMutations=o,this.readTime=i,this.parentPath=r};d0.store="remoteDocuments",d0.readTimeIndex="readTimeIndex",d0.readTimeIndexPath="readTime",d0.collectionReadTimeIndex="collectionReadTimeIndex",d0.collectionReadTimeIndexPath=["parentPath","readTime"];var s9=function(t){this.byteSize=t};s9.store="remoteDocumentGlobal",s9.key="remoteDocumentGlobalKey";var Yp=function(t,e,n,o,i,r,a){this.targetId=t,this.canonicalId=e,this.readTime=n,this.resumeToken=o,this.lastListenSequenceNumber=i,this.lastLimboFreeSnapshotVersion=r,this.query=a};Yp.store="targets",Yp.keyPath="targetId",Yp.queryTargetsIndexName="queryTargetsIndex",Yp.queryTargetsKeyPath=["canonicalId","targetId"];var rf=function(t,e,n){this.targetId=t,this.path=e,this.sequenceNumber=n};rf.store="targetDocuments",rf.keyPath=["targetId","path"],rf.documentTargetsIndex="documentTargetsIndex",rf.documentTargetsKeyPath=["path","targetId"];var tg=function(t,e,n,o){this.highestTargetId=t,this.highestListenSequenceNumber=e,this.lastRemoteSnapshotVersion=n,this.targetCount=o};tg.key="targetGlobalKey",tg.store="targetGlobal";var wx=function(t,e){this.collectionId=t,this.parent=e};wx.store="collectionParents",wx.keyPath=["collectionId","parent"];var M6=function(t,e,n,o){this.clientId=t,this.updateTimeMs=e,this.networkEnabled=n,this.inForeground=o};M6.store="clientMetadata",M6.keyPath="clientId";var CR=function(t,e,n){this.bundleId=t,this.createTime=e,this.version=n};CR.store="bundles",CR.keyPath="bundleId";var RR=function(t,e,n){this.name=t,this.readTime=e,this.bundledQuery=n};RR.store="namedQueries",RR.keyPath="name";var iUn=pl(pl([],pl(pl([],pl(pl([],pl(pl([],[Nw.store,uc.store,oh.store,d0.store,Yp.store,K1.store,tg.store,rf.store]),[M6.store])),[s9.store])),[wx.store])),[CR.store,RR.store]),JZe="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.",KZe=function(){function t(){this.onCommittedListeners=[]}return t.prototype.addOnCommittedListener=function(e){this.onCommittedListeners.push(e)},t.prototype.raiseOnCommittedEvent=function(){this.onCommittedListeners.forEach(function(e){return e()})},t}(),e1=function(){var t=this;this.promise=new Promise(function(e,n){t.resolve=e,t.reject=n})},_o=function(){function t(e){var n=this;this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(function(o){n.isDone=!0,n.result=o,n.nextCallback&&n.nextCallback(o)},function(o){n.isDone=!0,n.error=o,n.catchCallback&&n.catchCallback(o)})}return t.prototype.catch=function(e){return this.next(void 0,e)},t.prototype.next=function(e,n){var o=this;return this.callbackAttached&&or(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(n,this.error):this.wrapSuccess(e,this.result):new t(function(i,r){o.nextCallback=function(a){o.wrapSuccess(e,a).next(i,r)},o.catchCallback=function(a){o.wrapFailure(n,a).next(i,r)}})},t.prototype.toPromise=function(){var e=this;return new Promise(function(n,o){e.next(n,o)})},t.prototype.wrapUserFunction=function(e){try{var n=e();return n instanceof t?n:t.resolve(n)}catch(o){return t.reject(o)}},t.prototype.wrapSuccess=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.resolve(n)},t.prototype.wrapFailure=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.reject(n)},t.resolve=function(e){return new t(function(n,o){n(e)})},t.reject=function(e){return new t(function(n,o){o(e)})},t.waitFor=function(e){return new t(function(n,o){var i=0,r=0,a=!1;e.forEach(function(l){++i,l.next(function(){++r,a&&r===i&&n()},function(s){return o(s)})}),a=!0,r===i&&n()})},t.or=function(e){for(var n=t.resolve(!1),o=function(a){n=n.next(function(l){return l?t.resolve(l):a()})},i=0,r=e;i"u")return!1;if(t.gt())return!0;var e=Kx(),n=t._t(e),o=00||e.indexOf("Trident/")>0||e.indexOf("Edge/")>0||o||r)},t.gt=function(){var e;return typeof process<"u"&&((e=yNn)===null||e===void 0?void 0:e.Tt)==="YES"},t.It=function(e,n){return e.store(n)},t._t=function(e){var n=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),o=n?n[1].split("_").slice(0,2).join("."):"-1";return Number(o)},t.Et=function(e){var n=e.match(/Android ([\d.]+)/i),o=n?n[1].split(".").slice(0,2).join("."):"-1";return Number(o)},t.prototype.At=function(e){return Ao(this,void 0,void 0,function(){var n,o=this;return ho(this,function(i){switch(i.label){case 0:return this.db?[3,2]:(ai("SimpleDb","Opening database:",this.name),n=this,[4,new Promise(function(r,a){var l=indexedDB.open(o.name,o.version);l.onsuccess=function(s){var c=s.target.result;r(c)},l.onblocked=function(){a(new bE(e,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},l.onerror=function(s){var c=s.target.error;c.name==="VersionError"?a(new ko(On.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):a(new bE(e,c))},l.onupgradeneeded=function(s){ai("SimpleDb",'Database "'+o.name+'" requires upgrade from version:',s.oldVersion);var c=s.target.result;o.wt.Rt(c,l.transaction,s.oldVersion,o.version).next(function(){ai("SimpleDb","Database upgrade to version "+o.version+" complete")})}})]);case 1:n.db=i.sent(),i.label=2;case 2:return[2,(this.bt&&(this.db.onversionchange=function(r){return o.bt(r)}),this.db)]}})})},t.prototype.vt=function(e){this.bt=e,this.db&&(this.db.onversionchange=function(n){return e(n)})},t.prototype.runTransaction=function(e,n,o,i){return Ao(this,void 0,void 0,function(){var r,a,l,s,c;return ho(this,function(u){switch(u.label){case 0:r=n==="readonly",a=0,l=function(){var d,f,p,g,y;return ho(this,function(A){switch(A.label){case 0:++a,A.label=1;case 1:return A.trys.push([1,4,,5]),[4,s.At(e)];case 2:return s.db=A.sent(),d=qZe.open(s.db,e,r?"readonly":"readwrite",o),f=i(d).catch(function(x){return d.abort(x),_o.reject(x)}).toPromise(),p={},f.catch(function(){}),[4,d.dt];case 3:return[2,(p.value=(A.sent(),f),p)];case 4:return g=A.sent(),y=g.name!=="FirebaseError"&&a<3,ai("SimpleDb","Transaction failed with error:",g.message,"Retrying:",y),s.close(),y?[3,5]:[2,{value:Promise.reject(g)}];case 5:return[2]}})},s=this,u.label=1;case 1:return[5,l()];case 2:if(typeof(c=u.sent())=="object")return[2,c.value];u.label=3;case 3:return[3,1];case 4:return[2]}})})},t.prototype.close=function(){this.db&&this.db.close(),this.db=void 0},t}(),rUn=function(){function t(e){this.Pt=e,this.Vt=!1,this.St=null}return Object.defineProperty(t.prototype,"isDone",{get:function(){return this.Vt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"Dt",{get:function(){return this.St},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cursor",{set:function(e){this.Pt=e},enumerable:!1,configurable:!0}),t.prototype.done=function(){this.Vt=!0},t.prototype.Ct=function(e){this.St=e},t.prototype.delete=function(){return vv(this.Pt.delete())},t}(),bE=function(t){function e(n,o){var i=this;return(i=t.call(this,On.UNAVAILABLE,"IndexedDB transaction '"+n+"' failed: "+o)||this).name="IndexedDbTransactionError",i}return Ti(e,t),e}(ko);function Bb(t){return t.name==="IndexedDbTransactionError"}var aUn=function(){function t(e){this.store=e}return t.prototype.put=function(e,n){var o;return n!==void 0?(ai("SimpleDb","PUT",this.store.name,e,n),o=this.store.put(n,e)):(ai("SimpleDb","PUT",this.store.name,"",e),o=this.store.put(e)),vv(o)},t.prototype.add=function(e){return ai("SimpleDb","ADD",this.store.name,e,e),vv(this.store.add(e))},t.prototype.get=function(e){var n=this;return vv(this.store.get(e)).next(function(o){return o===void 0&&(o=null),ai("SimpleDb","GET",n.store.name,e,o),o})},t.prototype.delete=function(e){return ai("SimpleDb","DELETE",this.store.name,e),vv(this.store.delete(e))},t.prototype.count=function(){return ai("SimpleDb","COUNT",this.store.name),vv(this.store.count())},t.prototype.Nt=function(e,n){var o=this.cursor(this.options(e,n)),i=[];return this.xt(o,function(r,a){i.push(a)}).next(function(){return i})},t.prototype.kt=function(e,n){ai("SimpleDb","DELETE ALL",this.store.name);var o=this.options(e,n);o.Ft=!1;var i=this.cursor(o);return this.xt(i,function(r,a,l){return l.delete()})},t.prototype.$t=function(e,n){var o;n?o=e:(o={},n=e);var i=this.cursor(o);return this.xt(i,n)},t.prototype.Ot=function(e){var n=this.cursor({});return new _o(function(o,i){n.onerror=function(r){var a=x2e(r.target.error);i(a)},n.onsuccess=function(r){var a=r.target.result;a?e(a.primaryKey,a.value).next(function(l){l?a.continue():o()}):o()}})},t.prototype.xt=function(e,n){var o=[];return new _o(function(i,r){e.onerror=function(a){r(a.target.error)},e.onsuccess=function(a){var l=a.target.result;if(l){var s=new rUn(l),c=n(l.primaryKey,l.value,s);if(c instanceof _o){var u=c.catch(function(d){return s.done(),_o.reject(d)});o.push(u)}s.isDone?i():s.Dt===null?l.continue():l.continue(s.Dt)}else i()}}).next(function(){return _o.waitFor(o)})},t.prototype.options=function(e,n){var o;return e!==void 0&&(typeof e=="string"?o=e:n=e),{index:o,range:n}},t.prototype.cursor=function(e){var n="next";if(e.reverse&&(n="prev"),e.index){var o=this.store.index(e.index);return e.Ft?o.openKeyCursor(e.range,n):o.openCursor(e.range,n)}return this.store.openCursor(e.range,n)},t}();function vv(t){return new _o(function(e,n){t.onsuccess=function(o){var i=o.target.result;e(i)},t.onerror=function(o){var i=x2e(o.target.error);n(i)}})}var uPe=!1;function x2e(t){var e=HR._t(Kx());if(e>=12.2&&e<13){var n="An internal error was encountered in the Indexed Database server";if(t.message.indexOf(n)>=0){var o=new ko("internal","IOS_INDEXEDDB_BUG1: IndexedDb has thrown '"+n+"'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.");return uPe||(uPe=!0,setTimeout(function(){throw o},0)),o}}return t}/** * @license * Copyright 2020 Google LLC * @@ -5789,7 +5789,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var dPe=function(t){function e(n,o){var i=this;return(i=t.call(this)||this).Mt=n,i.currentSequenceNumber=o,i}return Ti(e,t),e}(KZe);function l1(t,e){var n=Ri(t);return HR.It(n.Mt,e)}/** + */var dPe=function(t){function e(n,o){var i=this;return(i=t.call(this)||this).Mt=n,i.currentSequenceNumber=o,i}return Ti(e,t),e}(KZe);function s1(t,e){var n=Ri(t);return HR.It(n.Mt,e)}/** * @license * Copyright 2017 Google LLC * @@ -5804,7 +5804,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var b2e=function(){function t(e,n,o,i){this.batchId=e,this.localWriteTime=n,this.baseMutations=o,this.mutations=i}return t.prototype.applyToRemoteDocument=function(e,n){for(var o=n.mutationResults,i=0;i=i),a=oP(o.R,s)),c.done()}).next(function(){return a})},t.prototype.getHighestUnacknowledgedBatchId=function(e){var n=IDBKeyRange.upperBound([this.userId,Number.POSITIVE_INFINITY]),o=-1;return C4(e).$t({index:uc.userMutationsIndex,range:n,reverse:!0},function(i,r,a){o=r.batchId,a.done()}).next(function(){return o})},t.prototype.getAllMutationBatches=function(e){var n=this,o=IDBKeyRange.bound([this.userId,-1],[this.userId,Number.POSITIVE_INFINITY]);return C4(e).Nt(uc.userMutationsIndex,o).next(function(i){return i.map(function(r){return oP(n.R,r)})})},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(e,n){var o=this,i=oh.prefixForPath(this.userId,n.path),r=IDBKeyRange.lowerBound(i),a=[];return iP(e).$t({range:r},function(l,s,c){var u=l[0],d=l[1],f=l[2],p=y6(d);if(u===o.userId&&n.path.isEqual(p))return C4(e).get(f).next(function(g){if(!g)throw or();Nr(g.userId===o.userId),a.push(oP(o.R,g))});c.done()}).next(function(){return a})},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(e,n){var o=this,i=new Nu(Ga),r=[];return n.forEach(function(a){var l=oh.prefixForPath(o.userId,a.path),s=IDBKeyRange.lowerBound(l),c=iP(e).$t({range:s},function(u,d,f){var p=u[0],g=u[1],y=u[2],A=y6(g);p===o.userId&&a.path.isEqual(A)?i=i.add(y):f.done()});r.push(c)}),_o.waitFor(r).next(function(){return o.Wt(e,i)})},t.prototype.getAllMutationBatchesAffectingQuery=function(e,n){var o=this,i=n.path,r=i.length+1,a=oh.prefixForPath(this.userId,i),l=IDBKeyRange.lowerBound(a),s=new Nu(Ga);return iP(e).$t({range:l},function(c,u,d){var f=c[0],p=c[1],g=c[2],y=y6(p);f===o.userId&&i.isPrefixOf(y)?y.length===r&&(s=s.add(g)):d.done()}).next(function(){return o.Wt(e,s)})},t.prototype.Wt=function(e,n){var o=this,i=[],r=[];return n.forEach(function(a){r.push(C4(e).get(a).next(function(l){if(l===null)throw or();Nr(l.userId===o.userId),i.push(oP(o.R,l))}))}),_o.waitFor(r).next(function(){return i})},t.prototype.removeMutationBatch=function(e,n){var o=this;return tet(e.Mt,this.userId,n).next(function(i){return e.addOnCommittedListener(function(){o.Gt(n.batchId)}),_o.forEach(i,function(r){return o.referenceDelegate.markPotentiallyOrphaned(e,r)})})},t.prototype.Gt=function(e){delete this.Kt[e]},t.prototype.performConsistencyCheck=function(e){var n=this;return this.checkEmpty(e).next(function(o){if(!o)return _o.resolve();var i=IDBKeyRange.lowerBound(oh.prefixForUser(n.userId)),r=[];return iP(e).$t({range:i},function(a,l,s){if(a[0]===n.userId){var c=y6(a[1]);r.push(c)}else s.done()}).next(function(){Nr(r.length===0)})})},t.prototype.containsKey=function(e,n){return net(e,this.userId,n)},t.prototype.zt=function(e){var n=this;return oet(e).get(this.userId).next(function(o){return o||new Nw(n.userId,-1,"")})},t}();function net(t,e,n){var o=oh.prefixForPath(e,n.path),i=o[1],r=IDBKeyRange.lowerBound(o),a=!1;return iP(t).$t({range:r,Ft:!0},function(l,s,c){var u=l[0],d=l[1];l[2],u===e&&d===i&&(a=!0),c.done()}).next(function(){return a})}function C4(t){return l1(t,uc.store)}function iP(t){return l1(t,oh.store)}function oet(t){return l1(t,Nw.store)}/** + */G5.DEFAULT_COLLECTION_PERCENTILE=10,G5.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,G5.DEFAULT=new G5(41943040,G5.DEFAULT_COLLECTION_PERCENTILE,G5.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),G5.DISABLED=new G5(-1,0,0);var dUn=function(){function t(e,n,o,i){this.userId=e,this.R=n,this.Ut=o,this.referenceDelegate=i,this.Kt={}}return t.Qt=function(e,n,o,i){return Nr(e.uid!==""),new t(e.isAuthenticated()?e.uid:"",n,o,i)},t.prototype.checkEmpty=function(e){var n=!0,o=IDBKeyRange.bound([this.userId,Number.NEGATIVE_INFINITY],[this.userId,Number.POSITIVE_INFINITY]);return C4(e).$t({index:uc.userMutationsIndex,range:o},function(i,r,a){n=!1,a.done()}).next(function(){return n})},t.prototype.addMutationBatch=function(e,n,o,i){var r=this,a=iP(e),l=C4(e);return l.add({}).next(function(s){Nr(typeof s=="number");for(var c=new b2e(s,n,o,i),u=function(x,C,b){var v=b.baseMutations.map(function(w){return yX(x.Lt,w)}),S=b.mutations.map(function(w){return yX(x.Lt,w)});return new uc(C,b.batchId,b.localWriteTime.toMillis(),v,S)}(r.R,r.userId,c),d=[],f=new Nu(function(x,C){return Ga(x.canonicalString(),C.canonicalString())}),p=0,g=i;p=i),a=oP(o.R,s)),c.done()}).next(function(){return a})},t.prototype.getHighestUnacknowledgedBatchId=function(e){var n=IDBKeyRange.upperBound([this.userId,Number.POSITIVE_INFINITY]),o=-1;return C4(e).$t({index:uc.userMutationsIndex,range:n,reverse:!0},function(i,r,a){o=r.batchId,a.done()}).next(function(){return o})},t.prototype.getAllMutationBatches=function(e){var n=this,o=IDBKeyRange.bound([this.userId,-1],[this.userId,Number.POSITIVE_INFINITY]);return C4(e).Nt(uc.userMutationsIndex,o).next(function(i){return i.map(function(r){return oP(n.R,r)})})},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(e,n){var o=this,i=oh.prefixForPath(this.userId,n.path),r=IDBKeyRange.lowerBound(i),a=[];return iP(e).$t({range:r},function(l,s,c){var u=l[0],d=l[1],f=l[2],p=y6(d);if(u===o.userId&&n.path.isEqual(p))return C4(e).get(f).next(function(g){if(!g)throw or();Nr(g.userId===o.userId),a.push(oP(o.R,g))});c.done()}).next(function(){return a})},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(e,n){var o=this,i=new Nu(Ga),r=[];return n.forEach(function(a){var l=oh.prefixForPath(o.userId,a.path),s=IDBKeyRange.lowerBound(l),c=iP(e).$t({range:s},function(u,d,f){var p=u[0],g=u[1],y=u[2],A=y6(g);p===o.userId&&a.path.isEqual(A)?i=i.add(y):f.done()});r.push(c)}),_o.waitFor(r).next(function(){return o.Wt(e,i)})},t.prototype.getAllMutationBatchesAffectingQuery=function(e,n){var o=this,i=n.path,r=i.length+1,a=oh.prefixForPath(this.userId,i),l=IDBKeyRange.lowerBound(a),s=new Nu(Ga);return iP(e).$t({range:l},function(c,u,d){var f=c[0],p=c[1],g=c[2],y=y6(p);f===o.userId&&i.isPrefixOf(y)?y.length===r&&(s=s.add(g)):d.done()}).next(function(){return o.Wt(e,s)})},t.prototype.Wt=function(e,n){var o=this,i=[],r=[];return n.forEach(function(a){r.push(C4(e).get(a).next(function(l){if(l===null)throw or();Nr(l.userId===o.userId),i.push(oP(o.R,l))}))}),_o.waitFor(r).next(function(){return i})},t.prototype.removeMutationBatch=function(e,n){var o=this;return tet(e.Mt,this.userId,n).next(function(i){return e.addOnCommittedListener(function(){o.Gt(n.batchId)}),_o.forEach(i,function(r){return o.referenceDelegate.markPotentiallyOrphaned(e,r)})})},t.prototype.Gt=function(e){delete this.Kt[e]},t.prototype.performConsistencyCheck=function(e){var n=this;return this.checkEmpty(e).next(function(o){if(!o)return _o.resolve();var i=IDBKeyRange.lowerBound(oh.prefixForUser(n.userId)),r=[];return iP(e).$t({range:i},function(a,l,s){if(a[0]===n.userId){var c=y6(a[1]);r.push(c)}else s.done()}).next(function(){Nr(r.length===0)})})},t.prototype.containsKey=function(e,n){return net(e,this.userId,n)},t.prototype.zt=function(e){var n=this;return oet(e).get(this.userId).next(function(o){return o||new Nw(n.userId,-1,"")})},t}();function net(t,e,n){var o=oh.prefixForPath(e,n.path),i=o[1],r=IDBKeyRange.lowerBound(o),a=!1;return iP(t).$t({range:r,Ft:!0},function(l,s,c){var u=l[0],d=l[1];l[2],u===e&&d===i&&(a=!0),c.done()}).next(function(){return a})}function C4(t){return s1(t,uc.store)}function iP(t){return s1(t,oh.store)}function oet(t){return s1(t,Nw.store)}/** * @license * Copyright 2017 Google LLC * @@ -5894,7 +5894,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var wX=function(){function t(e){this.Ht=e}return t.prototype.next=function(){return this.Ht+=2,this.Ht},t.Jt=function(){return new t(0)},t.Yt=function(){return new t(-1)},t}(),pUn=function(){function t(e,n){this.referenceDelegate=e,this.R=n}return t.prototype.allocateTargetId=function(e){var n=this;return this.Xt(e).next(function(o){var i=new wX(o.highestTargetId);return o.highestTargetId=i.next(),n.Zt(e,o).next(function(){return o.highestTargetId})})},t.prototype.getLastRemoteSnapshotVersion=function(e){return this.Xt(e).next(function(n){return Ea.fromTimestamp(new Jp(n.lastRemoteSnapshotVersion.seconds,n.lastRemoteSnapshotVersion.nanoseconds))})},t.prototype.getHighestSequenceNumber=function(e){return this.Xt(e).next(function(n){return n.highestListenSequenceNumber})},t.prototype.setTargetsMetadata=function(e,n,o){var i=this;return this.Xt(e).next(function(r){return r.highestListenSequenceNumber=n,o&&(r.lastRemoteSnapshotVersion=o.toTimestamp()),n>r.highestListenSequenceNumber&&(r.highestListenSequenceNumber=n),i.Zt(e,r)})},t.prototype.addTargetData=function(e,n){var o=this;return this.te(e,n).next(function(){return o.Xt(e).next(function(i){return i.targetCount+=1,o.ee(n,i),o.Zt(e,i)})})},t.prototype.updateTargetData=function(e,n){return this.te(e,n)},t.prototype.removeTargetData=function(e,n){var o=this;return this.removeMatchingKeysForTargetId(e,n.targetId).next(function(){return NT(e).delete(n.targetId)}).next(function(){return o.Xt(e)}).next(function(i){return Nr(i.targetCount>0),i.targetCount-=1,o.Zt(e,i)})},t.prototype.removeTargets=function(e,n,o){var i=this,r=0,a=[];return NT(e).$t(function(l,s){var c=RD(s);c.sequenceNumber<=n&&o.get(c.targetId)===null&&(r++,a.push(i.removeTargetData(e,c)))}).next(function(){return _o.waitFor(a)}).next(function(){return r})},t.prototype.forEachTarget=function(e,n){return NT(e).$t(function(o,i){var r=RD(i);n(r)})},t.prototype.Xt=function(e){return yPe(e).get(eg.key).next(function(n){return Nr(n!==null),n})},t.prototype.Zt=function(e,n){return yPe(e).put(eg.key,n)},t.prototype.te=function(e,n){return NT(e).put(ZZe(this.R,n))},t.prototype.ee=function(e,n){var o=!1;return e.targetId>n.highestTargetId&&(n.highestTargetId=e.targetId,o=!0),e.sequenceNumber>n.highestListenSequenceNumber&&(n.highestListenSequenceNumber=e.sequenceNumber,o=!0),o},t.prototype.getTargetCount=function(e){return this.Xt(e).next(function(n){return n.targetCount})},t.prototype.getTargetData=function(e,n){var o=AN(n),i=IDBKeyRange.bound([o,Number.NEGATIVE_INFINITY],[o,Number.POSITIVE_INFINITY]),r=null;return NT(e).$t({range:i,index:Yp.queryTargetsIndexName},function(a,l,s){var c=RD(l);eZ(n,c.target)&&(r=c,s.done())}).next(function(){return r})},t.prototype.addMatchingKeys=function(e,n,o){var i=this,r=[],a=tw(e);return n.forEach(function(l){var s=E2(l.path);r.push(a.put(new rf(o,s))),r.push(i.referenceDelegate.addReference(e,o,l))}),_o.waitFor(r)},t.prototype.removeMatchingKeys=function(e,n,o){var i=this,r=tw(e);return _o.forEach(n,function(a){var l=E2(a.path);return _o.waitFor([r.delete([o,l]),i.referenceDelegate.removeReference(e,o,a)])})},t.prototype.removeMatchingKeysForTargetId=function(e,n){var o=tw(e),i=IDBKeyRange.bound([n],[n+1],!1,!0);return o.delete(i)},t.prototype.getMatchingKeysForTargetId=function(e,n){var o=IDBKeyRange.bound([n],[n+1],!1,!0),i=tw(e),r=_s();return i.$t({range:o,Ft:!0},function(a,l,s){var c=y6(a[1]),u=new sr(c);r=r.add(u)}).next(function(){return r})},t.prototype.containsKey=function(e,n){var o=E2(n.path),i=IDBKeyRange.bound([o],[mZe(o)],!1,!0),r=0;return tw(e).$t({index:rf.documentTargetsIndex,Ft:!0,range:i},function(a,l,s){var c=a[0];a[1],c!==0&&(r++,s.done())}).next(function(){return r>0})},t.prototype.lt=function(e,n){return NT(e).get(n).next(function(o){return o?RD(o):null})},t}();/** + */var wX=function(){function t(e){this.Ht=e}return t.prototype.next=function(){return this.Ht+=2,this.Ht},t.Jt=function(){return new t(0)},t.Yt=function(){return new t(-1)},t}(),fUn=function(){function t(e,n){this.referenceDelegate=e,this.R=n}return t.prototype.allocateTargetId=function(e){var n=this;return this.Xt(e).next(function(o){var i=new wX(o.highestTargetId);return o.highestTargetId=i.next(),n.Zt(e,o).next(function(){return o.highestTargetId})})},t.prototype.getLastRemoteSnapshotVersion=function(e){return this.Xt(e).next(function(n){return Ea.fromTimestamp(new Jp(n.lastRemoteSnapshotVersion.seconds,n.lastRemoteSnapshotVersion.nanoseconds))})},t.prototype.getHighestSequenceNumber=function(e){return this.Xt(e).next(function(n){return n.highestListenSequenceNumber})},t.prototype.setTargetsMetadata=function(e,n,o){var i=this;return this.Xt(e).next(function(r){return r.highestListenSequenceNumber=n,o&&(r.lastRemoteSnapshotVersion=o.toTimestamp()),n>r.highestListenSequenceNumber&&(r.highestListenSequenceNumber=n),i.Zt(e,r)})},t.prototype.addTargetData=function(e,n){var o=this;return this.te(e,n).next(function(){return o.Xt(e).next(function(i){return i.targetCount+=1,o.ee(n,i),o.Zt(e,i)})})},t.prototype.updateTargetData=function(e,n){return this.te(e,n)},t.prototype.removeTargetData=function(e,n){var o=this;return this.removeMatchingKeysForTargetId(e,n.targetId).next(function(){return NT(e).delete(n.targetId)}).next(function(){return o.Xt(e)}).next(function(i){return Nr(i.targetCount>0),i.targetCount-=1,o.Zt(e,i)})},t.prototype.removeTargets=function(e,n,o){var i=this,r=0,a=[];return NT(e).$t(function(l,s){var c=RD(s);c.sequenceNumber<=n&&o.get(c.targetId)===null&&(r++,a.push(i.removeTargetData(e,c)))}).next(function(){return _o.waitFor(a)}).next(function(){return r})},t.prototype.forEachTarget=function(e,n){return NT(e).$t(function(o,i){var r=RD(i);n(r)})},t.prototype.Xt=function(e){return yPe(e).get(tg.key).next(function(n){return Nr(n!==null),n})},t.prototype.Zt=function(e,n){return yPe(e).put(tg.key,n)},t.prototype.te=function(e,n){return NT(e).put(ZZe(this.R,n))},t.prototype.ee=function(e,n){var o=!1;return e.targetId>n.highestTargetId&&(n.highestTargetId=e.targetId,o=!0),e.sequenceNumber>n.highestListenSequenceNumber&&(n.highestListenSequenceNumber=e.sequenceNumber,o=!0),o},t.prototype.getTargetCount=function(e){return this.Xt(e).next(function(n){return n.targetCount})},t.prototype.getTargetData=function(e,n){var o=AN(n),i=IDBKeyRange.bound([o,Number.NEGATIVE_INFINITY],[o,Number.POSITIVE_INFINITY]),r=null;return NT(e).$t({range:i,index:Yp.queryTargetsIndexName},function(a,l,s){var c=RD(l);eZ(n,c.target)&&(r=c,s.done())}).next(function(){return r})},t.prototype.addMatchingKeys=function(e,n,o){var i=this,r=[],a=tw(e);return n.forEach(function(l){var s=E2(l.path);r.push(a.put(new rf(o,s))),r.push(i.referenceDelegate.addReference(e,o,l))}),_o.waitFor(r)},t.prototype.removeMatchingKeys=function(e,n,o){var i=this,r=tw(e);return _o.forEach(n,function(a){var l=E2(a.path);return _o.waitFor([r.delete([o,l]),i.referenceDelegate.removeReference(e,o,a)])})},t.prototype.removeMatchingKeysForTargetId=function(e,n){var o=tw(e),i=IDBKeyRange.bound([n],[n+1],!1,!0);return o.delete(i)},t.prototype.getMatchingKeysForTargetId=function(e,n){var o=IDBKeyRange.bound([n],[n+1],!1,!0),i=tw(e),r=_s();return i.$t({range:o,Ft:!0},function(a,l,s){var c=y6(a[1]),u=new sr(c);r=r.add(u)}).next(function(){return r})},t.prototype.containsKey=function(e,n){var o=E2(n.path),i=IDBKeyRange.bound([o],[mZe(o)],!1,!0),r=0;return tw(e).$t({index:rf.documentTargetsIndex,Ft:!0,range:i},function(a,l,s){var c=a[0];a[1],c!==0&&(r++,s.done())}).next(function(){return r>0})},t.prototype.lt=function(e,n){return NT(e).get(n).next(function(o){return o?RD(o):null})},t}();/** * @license * Copyright 2017 Google LLC * @@ -5909,7 +5909,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function NT(t){return l1(t,Yp.store)}function yPe(t){return l1(t,eg.store)}function tw(t){return l1(t,rf.store)}/** + */function NT(t){return s1(t,Yp.store)}function yPe(t){return s1(t,tg.store)}function tw(t){return s1(t,rf.store)}/** * @license * Copyright 2017 Google LLC * @@ -5939,12 +5939,12 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function APe(t,e){var n=t[0],o=t[1],i=e[0],r=e[1],a=Ga(n,i);return a===0?Ga(o,r):a}var gUn=function(){function t(e){this.ne=e,this.buffer=new Nu(APe),this.se=0}return t.prototype.ie=function(){return++this.se},t.prototype.re=function(e){var n=[e,this.ie()];if(this.buffer.sizeu.params.maximumSequenceNumbersToCollect?(ai("LruGarbageCollector","Capping sequence numbers to collect down to the maximum of "+u.params.maximumSequenceNumbersToCollect+" from "+f),i=u.params.maximumSequenceNumbersToCollect):i=f,a=Date.now(),u.nthSequenceNumber(e,i)}).next(function(f){return o=f,l=Date.now(),u.removeTargets(e,o,n)}).next(function(f){return r=f,s=Date.now(),u.removeOrphanedDocuments(e,o)}).next(function(f){return c=Date.now(),ade()<=Sl.DEBUG&&ai("LruGarbageCollector",`LRU Garbage Collection + */function APe(t,e){var n=t[0],o=t[1],i=e[0],r=e[1],a=Ga(n,i);return a===0?Ga(o,r):a}var hUn=function(){function t(e){this.ne=e,this.buffer=new Nu(APe),this.se=0}return t.prototype.ie=function(){return++this.se},t.prototype.re=function(e){var n=[e,this.ie()];if(this.buffer.sizeu.params.maximumSequenceNumbersToCollect?(ai("LruGarbageCollector","Capping sequence numbers to collect down to the maximum of "+u.params.maximumSequenceNumbersToCollect+" from "+f),i=u.params.maximumSequenceNumbersToCollect):i=f,a=Date.now(),u.nthSequenceNumber(e,i)}).next(function(f){return o=f,l=Date.now(),u.removeTargets(e,o,n)}).next(function(f){return r=f,s=Date.now(),u.removeOrphanedDocuments(e,o)}).next(function(f){return c=Date.now(),ade()<=Sl.DEBUG&&ai("LruGarbageCollector",`LRU Garbage Collection Counted targets in `+(a-d)+`ms Determined least recently used `+i+" in "+(l-a)+`ms Removed `+r+" targets in "+(s-l)+`ms Removed `+f+" documents in "+(c-s)+`ms -Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,targetsRemoved:r,documentsRemoved:f})})},t}(),AUn=function(){function t(e,n){this.db=e,this.garbageCollector=function(o,i){return new yUn(o,i)}(this,n)}return t.prototype.he=function(e){var n=this.de(e);return this.db.getTargetCache().getTargetCount(e).next(function(o){return n.next(function(i){return o+i})})},t.prototype.de=function(e){var n=0;return this.le(e,function(o){n++}).next(function(){return n})},t.prototype.forEachTarget=function(e,n){return this.db.getTargetCache().forEachTarget(e,n)},t.prototype.le=function(e,n){return this.we(e,function(o,i){return n(i)})},t.prototype.addReference=function(e,n,o){return pO(e,o)},t.prototype.removeReference=function(e,n,o){return pO(e,o)},t.prototype.removeTargets=function(e,n,o){return this.db.getTargetCache().removeTargets(e,n,o)},t.prototype.markPotentiallyOrphaned=function(e,n){return pO(e,n)},t.prototype._e=function(e,n){return function(o,i){var r=!1;return oet(o).Ot(function(a){return net(o,a,i).next(function(l){return l&&(r=!0),_o.resolve(!l)})}).next(function(){return r})}(e,n)},t.prototype.removeOrphanedDocuments=function(e,n){var o=this,i=this.db.getRemoteDocumentCache().newChangeBuffer(),r=[],a=0;return this.we(e,function(l,s){if(s<=n){var c=o._e(e,l).next(function(u){if(!u)return a++,i.getEntry(e,l).next(function(){return i.removeEntry(l),tw(e).delete([0,E2(l.path)])})});r.push(c)}}).next(function(){return _o.waitFor(r)}).next(function(){return i.apply(e)}).next(function(){return a})},t.prototype.removeTarget=function(e,n){var o=n.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,o)},t.prototype.updateLimboDocument=function(e,n){return pO(e,n)},t.prototype.we=function(e,n){var o,i=tw(e),r=fg.o;return i.$t({index:rf.documentTargetsIndex},function(a,l){var s=a[0];a[1];var c=l.path,u=l.sequenceNumber;s===0?(r!==fg.o&&n(new sr(y6(o)),r),r=u,o=c):r=fg.o}).next(function(){r!==fg.o&&n(new sr(y6(o)),r)})},t.prototype.getCacheSize=function(e){return this.db.getRemoteDocumentCache().getSize(e)},t}();function pO(t,e){return tw(t).put(function(n,o){return new rf(0,E2(n.path),o)}(e,t.currentSequenceNumber))}/** +Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,targetsRemoved:r,documentsRemoved:f})})},t}(),mUn=function(){function t(e,n){this.db=e,this.garbageCollector=function(o,i){return new gUn(o,i)}(this,n)}return t.prototype.he=function(e){var n=this.de(e);return this.db.getTargetCache().getTargetCount(e).next(function(o){return n.next(function(i){return o+i})})},t.prototype.de=function(e){var n=0;return this.le(e,function(o){n++}).next(function(){return n})},t.prototype.forEachTarget=function(e,n){return this.db.getTargetCache().forEachTarget(e,n)},t.prototype.le=function(e,n){return this.we(e,function(o,i){return n(i)})},t.prototype.addReference=function(e,n,o){return pO(e,o)},t.prototype.removeReference=function(e,n,o){return pO(e,o)},t.prototype.removeTargets=function(e,n,o){return this.db.getTargetCache().removeTargets(e,n,o)},t.prototype.markPotentiallyOrphaned=function(e,n){return pO(e,n)},t.prototype._e=function(e,n){return function(o,i){var r=!1;return oet(o).Ot(function(a){return net(o,a,i).next(function(l){return l&&(r=!0),_o.resolve(!l)})}).next(function(){return r})}(e,n)},t.prototype.removeOrphanedDocuments=function(e,n){var o=this,i=this.db.getRemoteDocumentCache().newChangeBuffer(),r=[],a=0;return this.we(e,function(l,s){if(s<=n){var c=o._e(e,l).next(function(u){if(!u)return a++,i.getEntry(e,l).next(function(){return i.removeEntry(l),tw(e).delete([0,E2(l.path)])})});r.push(c)}}).next(function(){return _o.waitFor(r)}).next(function(){return i.apply(e)}).next(function(){return a})},t.prototype.removeTarget=function(e,n){var o=n.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,o)},t.prototype.updateLimboDocument=function(e,n){return pO(e,n)},t.prototype.we=function(e,n){var o,i=tw(e),r=hg.o;return i.$t({index:rf.documentTargetsIndex},function(a,l){var s=a[0];a[1];var c=l.path,u=l.sequenceNumber;s===0?(r!==hg.o&&n(new sr(y6(o)),r),r=u,o=c):r=hg.o}).next(function(){r!==hg.o&&n(new sr(y6(o)),r)})},t.prototype.getCacheSize=function(e){return this.db.getRemoteDocumentCache().getSize(e)},t}();function pO(t,e){return tw(t).put(function(n,o){return new rf(0,E2(n.path),o)}(e,t.currentSequenceNumber))}/** * @license * Copyright 2017 Google LLC * @@ -5959,7 +5959,7 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var JH=function(){function t(e,n){this.mapKeyFn=e,this.equalsFn=n,this.inner={}}return t.prototype.get=function(e){var n=this.mapKeyFn(e),o=this.inner[n];if(o!==void 0)for(var i=0,r=o;i=0&&i<=11);var a=new qZe("createOrUpgrade",n);o<1&&i>=1&&(function(s){s.createObjectStore(J1.store)}(e),function(s){s.createObjectStore(Nw.store,{keyPath:Nw.keyPath}),s.createObjectStore(uc.store,{keyPath:uc.keyPath,autoIncrement:!0}).createIndex(uc.userMutationsIndex,uc.userMutationsKeyPath,{unique:!0}),s.createObjectStore(oh.store)}(e),vPe(e),function(s){s.createObjectStore(d0.store)}(e));var l=_o.resolve();return o<3&&i>=3&&(o!==0&&(function(s){s.deleteObjectStore(rf.store),s.deleteObjectStore(Yp.store),s.deleteObjectStore(eg.store)}(e),vPe(e)),l=l.next(function(){return function(s){var c=s.store(eg.store),u=new eg(0,0,Ea.min().toTimestamp(),0);return c.put(eg.key,u)}(a)})),o<4&&i>=4&&(o!==0&&(l=l.next(function(){return function(s,c){return c.store(uc.store).Nt().next(function(u){s.deleteObjectStore(uc.store),s.createObjectStore(uc.store,{keyPath:uc.keyPath,autoIncrement:!0}).createIndex(uc.userMutationsIndex,uc.userMutationsKeyPath,{unique:!0});var d=c.store(uc.store),f=u.map(function(p){return d.put(p)});return _o.waitFor(f)})}(e,a)})),l=l.next(function(){(function(s){s.createObjectStore(M6.store,{keyPath:M6.keyPath})})(e)})),o<5&&i>=5&&(l=l.next(function(){return r.Re(a)})),o<6&&i>=6&&(l=l.next(function(){return function(s){s.createObjectStore(s9.store)}(e),r.be(a)})),o<7&&i>=7&&(l=l.next(function(){return r.ve(a)})),o<8&&i>=8&&(l=l.next(function(){return r.Pe(e,a)})),o<9&&i>=9&&(l=l.next(function(){(function(s){s.objectStoreNames.contains("remoteDocumentChanges")&&s.deleteObjectStore("remoteDocumentChanges")})(e),function(s){var c=s.objectStore(d0.store);c.createIndex(d0.readTimeIndex,d0.readTimeIndexPath,{unique:!1}),c.createIndex(d0.collectionReadTimeIndex,d0.collectionReadTimeIndexPath,{unique:!1})}(n)})),o<10&&i>=10&&(l=l.next(function(){return r.Ve(a)})),o<11&&i>=11&&(l=l.next(function(){(function(s){s.createObjectStore(CR.store,{keyPath:CR.keyPath})})(e),function(s){s.createObjectStore(RR.store,{keyPath:RR.keyPath})}(e)})),l},t.prototype.be=function(e){var n=0;return e.store(d0.store).$t(function(o,i){n+=AX(i)}).next(function(){var o=new s9(n);return e.store(s9.store).put(s9.key,o)})},t.prototype.Re=function(e){var n=this,o=e.store(Nw.store),i=e.store(uc.store);return o.Nt().next(function(r){return _o.forEach(r,function(a){var l=IDBKeyRange.bound([a.userId,-1],[a.userId,a.lastAcknowledgedBatchId]);return i.Nt(uc.userMutationsIndex,l).next(function(s){return _o.forEach(s,function(c){Nr(c.userId===a.userId);var u=oP(n.R,c);return tet(e,a.userId,u).next(function(){})})})})})},t.prototype.ve=function(e){var n=e.store(rf.store),o=e.store(d0.store);return e.store(eg.store).get(eg.key).next(function(i){var r=[];return o.$t(function(a,l){var s=new Ul(a),c=function(u){return[0,E2(u)]}(s);r.push(n.get(c).next(function(u){return u?_o.resolve():function(d){return n.put(new rf(0,E2(d),i.highestListenSequenceNumber))}(s)}))}).next(function(){return _o.waitFor(r)})})},t.prototype.Pe=function(e,n){e.createObjectStore(wx.store,{keyPath:wx.keyPath});var o=n.store(wx.store),i=new T2e,r=function(a){if(i.add(a)){var l=a.lastSegment(),s=a.popLast();return o.put({collectionId:l,parent:E2(s)})}};return n.store(d0.store).$t({Ft:!0},function(a,l){var s=new Ul(a);return r(s.popLast())}).next(function(){return n.store(oh.store).$t({Ft:!0},function(a,l){a[0];var s=a[1];a[2];var c=y6(s);return r(c.popLast())})})},t.prototype.Ve=function(e){var n=this,o=e.store(Yp.store);return o.$t(function(i,r){var a=RD(r),l=ZZe(n.R,a);return o.put(l)})},t}();function vPe(t){t.createObjectStore(rf.store,{keyPath:rf.keyPath}).createIndex(rf.documentTargetsIndex,rf.documentTargetsKeyPath,{unique:!0}),t.createObjectStore(Yp.store,{keyPath:Yp.keyPath}).createIndex(Yp.queryTargetsIndexName,Yp.queryTargetsKeyPath,{unique:!0}),t.createObjectStore(eg.store)}var Xre="Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.",bUn=function(){function t(e,n,o,i,r,a,l,s,c,u){if(this.allowTabSynchronization=e,this.persistenceKey=n,this.clientId=o,this.Se=r,this.window=a,this.document=l,this.De=c,this.Ce=u,this.Ne=null,this.xe=!1,this.isPrimary=!1,this.networkEnabled=!0,this.ke=null,this.inForeground=!1,this.Fe=null,this.$e=null,this.Oe=Number.NEGATIVE_INFINITY,this.Me=function(d){return Promise.resolve()},!t.yt())throw new ko(On.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new AUn(this,i),this.Le=n+"main",this.R=new $Ze(s),this.Be=new HR(this.Le,11,new xUn(this.R)),this.qe=new pUn(this.referenceDelegate,this.R),this.Ut=new fUn,this.Ue=function(d,f){return new wUn(d,f)}(this.R,this.Ut),this.Ke=new uUn,this.window&&this.window.localStorage?this.Qe=this.window.localStorage:(this.Qe=null,u===!1&&lu("IndexedDbPersistence","LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}return t.prototype.start=function(){var e=this;return this.je().then(function(){if(!e.isPrimary&&!e.allowTabSynchronization)throw new ko(On.FAILED_PRECONDITION,Xre);return e.We(),e.Ge(),e.ze(),e.runTransaction("getHighestListenSequenceNumber","readonly",function(n){return e.qe.getHighestSequenceNumber(n)})}).then(function(n){e.Ne=new fg(n,e.De)}).then(function(){e.xe=!0}).catch(function(n){return e.Be&&e.Be.close(),Promise.reject(n)})},t.prototype.He=function(e){var n=this;return this.Me=function(o){return Ao(n,void 0,void 0,function(){return ho(this,function(i){return this.started?[2,e(o)]:[2]})})},e(this.isPrimary)},t.prototype.setDatabaseDeletedListener=function(e){var n=this;this.Be.vt(function(o){return Ao(n,void 0,void 0,function(){return ho(this,function(i){switch(i.label){case 0:return o.newVersion===null?[4,e()]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})})},t.prototype.setNetworkEnabled=function(e){var n=this;this.networkEnabled!==e&&(this.networkEnabled=e,this.Se.enqueueAndForget(function(){return Ao(n,void 0,void 0,function(){return ho(this,function(o){switch(o.label){case 0:return this.started?[4,this.je()]:[3,2];case 1:o.sent(),o.label=2;case 2:return[2]}})})}))},t.prototype.je=function(){var e=this;return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",function(n){return mO(n).put(new M6(e.clientId,Date.now(),e.networkEnabled,e.inForeground)).next(function(){if(e.isPrimary)return e.Je(n).next(function(o){o||(e.isPrimary=!1,e.Se.enqueueRetryable(function(){return e.Me(!1)}))})}).next(function(){return e.Ye(n)}).next(function(o){return e.isPrimary&&!o?e.Xe(n).next(function(){return!1}):!!o&&e.Ze(n).next(function(){return!0})})}).catch(function(n){if(Bb(n))return ai("IndexedDbPersistence","Failed to extend owner lease: ",n),e.isPrimary;if(!e.allowTabSynchronization)throw n;return ai("IndexedDbPersistence","Releasing owner lease after error during lease refresh",n),!1}).then(function(n){e.isPrimary!==n&&e.Se.enqueueRetryable(function(){return e.Me(n)}),e.isPrimary=n})},t.prototype.Je=function(e){var n=this;return Lz(e).get(J1.key).next(function(o){return _o.resolve(n.tn(o))})},t.prototype.en=function(e){return mO(e).delete(this.clientId)},t.prototype.nn=function(){return Ao(this,void 0,void 0,function(){var e,n,o,i,r=this;return ho(this,function(a){switch(a.label){case 0:return!this.isPrimary||this.sn(this.Oe,18e5)?[3,2]:(this.Oe=Date.now(),[4,this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",function(l){var s=l1(l,M6.store);return s.Nt().next(function(c){var u=r.rn(c,18e5),d=c.filter(function(f){return u.indexOf(f)===-1});return _o.forEach(d,function(f){return s.delete(f.clientId)}).next(function(){return d})})}).catch(function(){return[]})]);case 1:if(e=a.sent(),this.Qe)for(n=0,o=e;no&&(lu("Detected an update time that is in the future: "+e+" > "+o),1))},t.prototype.We=function(){var e=this;this.document!==null&&typeof this.document.addEventListener=="function"&&(this.Fe=function(){e.Se.enqueueAndForget(function(){return e.inForeground=e.document.visibilityState==="visible",e.je()})},this.document.addEventListener("visibilitychange",this.Fe),this.inForeground=this.document.visibilityState==="visible")},t.prototype.an=function(){this.Fe&&(this.document.removeEventListener("visibilitychange",this.Fe),this.Fe=null)},t.prototype.Ge=function(){var e,n=this;typeof((e=this.window)===null||e===void 0?void 0:e.addEventListener)=="function"&&(this.ke=function(){n.un(),TLn()&&navigator.appVersion.match("Version/14")&&n.Se.enterRestrictedMode(!0),n.Se.enqueueAndForget(function(){return n.shutdown()})},this.window.addEventListener("pagehide",this.ke))},t.prototype.hn=function(){this.ke&&(this.window.removeEventListener("pagehide",this.ke),this.ke=null)},t.prototype.cn=function(e){var n;try{var o=((n=this.Qe)===null||n===void 0?void 0:n.getItem(this.on(e)))!==null;return ai("IndexedDbPersistence","Client '"+e+"' "+(o?"is":"is not")+" zombied in LocalStorage"),o}catch(i){return lu("IndexedDbPersistence","Failed to get zombied client id.",i),!1}},t.prototype.un=function(){if(this.Qe)try{this.Qe.setItem(this.on(this.clientId),String(Date.now()))}catch(e){lu("Failed to set zombie client id.",e)}},t.prototype.ln=function(){if(this.Qe)try{this.Qe.removeItem(this.on(this.clientId))}catch{}},t.prototype.on=function(e){return"firestore_zombie_"+this.persistenceKey+"_"+e},t}();function Lz(t){return l1(t,J1.store)}function mO(t){return l1(t,M6.store)}function P2e(t,e){var n=t.projectId;return t.isDefaultDatabase||(n+="."+t.database),"firestore/"+e+"/"+n+"/"}var ret=function(){function t(e,n,o){this.Ue=e,this._n=n,this.Ut=o}return t.prototype.mn=function(e,n){var o=this;return this._n.getAllMutationBatchesAffectingDocumentKey(e,n).next(function(i){return o.yn(e,n,i)})},t.prototype.yn=function(e,n,o){return this.Ue.getEntry(e,n).next(function(i){for(var r=0,a=o;r0)},t.prototype.Dn=function(e,n){return ade()<=Sl.DEBUG&&ai("QueryEngine","Using full collection scan to execute query:",cde(n)),this.Sn.getDocumentsMatchingQuery(e,n,Ea.min())},t}(),TUn=function(){function t(e,n,o,i){this.persistence=e,this.xn=n,this.R=i,this.kn=new xh(Ga),this.Fn=new JH(function(r){return AN(r)},eZ),this.$n=Ea.min(),this._n=e.getMutationQueue(o),this.On=e.getRemoteDocumentCache(),this.qe=e.getTargetCache(),this.Mn=new ret(this.On,this._n,this.persistence.getIndexManager()),this.Ke=e.getBundleCache(),this.xn.Vn(this.Mn)}return t.prototype.collectGarbage=function(e){var n=this;return this.persistence.runTransaction("Collect garbage","readwrite-primary",function(o){return e.collect(o,n.kn)})},t}();/** + */var wUn=function(){function t(e){this.R=e}return t.prototype.Rt=function(e,n,o,i){var r=this;Nr(o=0&&i<=11);var a=new qZe("createOrUpgrade",n);o<1&&i>=1&&(function(s){s.createObjectStore(K1.store)}(e),function(s){s.createObjectStore(Nw.store,{keyPath:Nw.keyPath}),s.createObjectStore(uc.store,{keyPath:uc.keyPath,autoIncrement:!0}).createIndex(uc.userMutationsIndex,uc.userMutationsKeyPath,{unique:!0}),s.createObjectStore(oh.store)}(e),vPe(e),function(s){s.createObjectStore(d0.store)}(e));var l=_o.resolve();return o<3&&i>=3&&(o!==0&&(function(s){s.deleteObjectStore(rf.store),s.deleteObjectStore(Yp.store),s.deleteObjectStore(tg.store)}(e),vPe(e)),l=l.next(function(){return function(s){var c=s.store(tg.store),u=new tg(0,0,Ea.min().toTimestamp(),0);return c.put(tg.key,u)}(a)})),o<4&&i>=4&&(o!==0&&(l=l.next(function(){return function(s,c){return c.store(uc.store).Nt().next(function(u){s.deleteObjectStore(uc.store),s.createObjectStore(uc.store,{keyPath:uc.keyPath,autoIncrement:!0}).createIndex(uc.userMutationsIndex,uc.userMutationsKeyPath,{unique:!0});var d=c.store(uc.store),f=u.map(function(p){return d.put(p)});return _o.waitFor(f)})}(e,a)})),l=l.next(function(){(function(s){s.createObjectStore(M6.store,{keyPath:M6.keyPath})})(e)})),o<5&&i>=5&&(l=l.next(function(){return r.Re(a)})),o<6&&i>=6&&(l=l.next(function(){return function(s){s.createObjectStore(s9.store)}(e),r.be(a)})),o<7&&i>=7&&(l=l.next(function(){return r.ve(a)})),o<8&&i>=8&&(l=l.next(function(){return r.Pe(e,a)})),o<9&&i>=9&&(l=l.next(function(){(function(s){s.objectStoreNames.contains("remoteDocumentChanges")&&s.deleteObjectStore("remoteDocumentChanges")})(e),function(s){var c=s.objectStore(d0.store);c.createIndex(d0.readTimeIndex,d0.readTimeIndexPath,{unique:!1}),c.createIndex(d0.collectionReadTimeIndex,d0.collectionReadTimeIndexPath,{unique:!1})}(n)})),o<10&&i>=10&&(l=l.next(function(){return r.Ve(a)})),o<11&&i>=11&&(l=l.next(function(){(function(s){s.createObjectStore(CR.store,{keyPath:CR.keyPath})})(e),function(s){s.createObjectStore(RR.store,{keyPath:RR.keyPath})}(e)})),l},t.prototype.be=function(e){var n=0;return e.store(d0.store).$t(function(o,i){n+=AX(i)}).next(function(){var o=new s9(n);return e.store(s9.store).put(s9.key,o)})},t.prototype.Re=function(e){var n=this,o=e.store(Nw.store),i=e.store(uc.store);return o.Nt().next(function(r){return _o.forEach(r,function(a){var l=IDBKeyRange.bound([a.userId,-1],[a.userId,a.lastAcknowledgedBatchId]);return i.Nt(uc.userMutationsIndex,l).next(function(s){return _o.forEach(s,function(c){Nr(c.userId===a.userId);var u=oP(n.R,c);return tet(e,a.userId,u).next(function(){})})})})})},t.prototype.ve=function(e){var n=e.store(rf.store),o=e.store(d0.store);return e.store(tg.store).get(tg.key).next(function(i){var r=[];return o.$t(function(a,l){var s=new Ul(a),c=function(u){return[0,E2(u)]}(s);r.push(n.get(c).next(function(u){return u?_o.resolve():function(d){return n.put(new rf(0,E2(d),i.highestListenSequenceNumber))}(s)}))}).next(function(){return _o.waitFor(r)})})},t.prototype.Pe=function(e,n){e.createObjectStore(wx.store,{keyPath:wx.keyPath});var o=n.store(wx.store),i=new T2e,r=function(a){if(i.add(a)){var l=a.lastSegment(),s=a.popLast();return o.put({collectionId:l,parent:E2(s)})}};return n.store(d0.store).$t({Ft:!0},function(a,l){var s=new Ul(a);return r(s.popLast())}).next(function(){return n.store(oh.store).$t({Ft:!0},function(a,l){a[0];var s=a[1];a[2];var c=y6(s);return r(c.popLast())})})},t.prototype.Ve=function(e){var n=this,o=e.store(Yp.store);return o.$t(function(i,r){var a=RD(r),l=ZZe(n.R,a);return o.put(l)})},t}();function vPe(t){t.createObjectStore(rf.store,{keyPath:rf.keyPath}).createIndex(rf.documentTargetsIndex,rf.documentTargetsKeyPath,{unique:!0}),t.createObjectStore(Yp.store,{keyPath:Yp.keyPath}).createIndex(Yp.queryTargetsIndexName,Yp.queryTargetsKeyPath,{unique:!0}),t.createObjectStore(tg.store)}var Xre="Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.",vUn=function(){function t(e,n,o,i,r,a,l,s,c,u){if(this.allowTabSynchronization=e,this.persistenceKey=n,this.clientId=o,this.Se=r,this.window=a,this.document=l,this.De=c,this.Ce=u,this.Ne=null,this.xe=!1,this.isPrimary=!1,this.networkEnabled=!0,this.ke=null,this.inForeground=!1,this.Fe=null,this.$e=null,this.Oe=Number.NEGATIVE_INFINITY,this.Me=function(d){return Promise.resolve()},!t.yt())throw new ko(On.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new mUn(this,i),this.Le=n+"main",this.R=new $Ze(s),this.Be=new HR(this.Le,11,new wUn(this.R)),this.qe=new fUn(this.referenceDelegate,this.R),this.Ut=new uUn,this.Ue=function(d,f){return new yUn(d,f)}(this.R,this.Ut),this.Ke=new sUn,this.window&&this.window.localStorage?this.Qe=this.window.localStorage:(this.Qe=null,u===!1&&lu("IndexedDbPersistence","LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}return t.prototype.start=function(){var e=this;return this.je().then(function(){if(!e.isPrimary&&!e.allowTabSynchronization)throw new ko(On.FAILED_PRECONDITION,Xre);return e.We(),e.Ge(),e.ze(),e.runTransaction("getHighestListenSequenceNumber","readonly",function(n){return e.qe.getHighestSequenceNumber(n)})}).then(function(n){e.Ne=new hg(n,e.De)}).then(function(){e.xe=!0}).catch(function(n){return e.Be&&e.Be.close(),Promise.reject(n)})},t.prototype.He=function(e){var n=this;return this.Me=function(o){return Ao(n,void 0,void 0,function(){return ho(this,function(i){return this.started?[2,e(o)]:[2]})})},e(this.isPrimary)},t.prototype.setDatabaseDeletedListener=function(e){var n=this;this.Be.vt(function(o){return Ao(n,void 0,void 0,function(){return ho(this,function(i){switch(i.label){case 0:return o.newVersion===null?[4,e()]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})})},t.prototype.setNetworkEnabled=function(e){var n=this;this.networkEnabled!==e&&(this.networkEnabled=e,this.Se.enqueueAndForget(function(){return Ao(n,void 0,void 0,function(){return ho(this,function(o){switch(o.label){case 0:return this.started?[4,this.je()]:[3,2];case 1:o.sent(),o.label=2;case 2:return[2]}})})}))},t.prototype.je=function(){var e=this;return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",function(n){return mO(n).put(new M6(e.clientId,Date.now(),e.networkEnabled,e.inForeground)).next(function(){if(e.isPrimary)return e.Je(n).next(function(o){o||(e.isPrimary=!1,e.Se.enqueueRetryable(function(){return e.Me(!1)}))})}).next(function(){return e.Ye(n)}).next(function(o){return e.isPrimary&&!o?e.Xe(n).next(function(){return!1}):!!o&&e.Ze(n).next(function(){return!0})})}).catch(function(n){if(Bb(n))return ai("IndexedDbPersistence","Failed to extend owner lease: ",n),e.isPrimary;if(!e.allowTabSynchronization)throw n;return ai("IndexedDbPersistence","Releasing owner lease after error during lease refresh",n),!1}).then(function(n){e.isPrimary!==n&&e.Se.enqueueRetryable(function(){return e.Me(n)}),e.isPrimary=n})},t.prototype.Je=function(e){var n=this;return Lz(e).get(K1.key).next(function(o){return _o.resolve(n.tn(o))})},t.prototype.en=function(e){return mO(e).delete(this.clientId)},t.prototype.nn=function(){return Ao(this,void 0,void 0,function(){var e,n,o,i,r=this;return ho(this,function(a){switch(a.label){case 0:return!this.isPrimary||this.sn(this.Oe,18e5)?[3,2]:(this.Oe=Date.now(),[4,this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",function(l){var s=s1(l,M6.store);return s.Nt().next(function(c){var u=r.rn(c,18e5),d=c.filter(function(f){return u.indexOf(f)===-1});return _o.forEach(d,function(f){return s.delete(f.clientId)}).next(function(){return d})})}).catch(function(){return[]})]);case 1:if(e=a.sent(),this.Qe)for(n=0,o=e;no&&(lu("Detected an update time that is in the future: "+e+" > "+o),1))},t.prototype.We=function(){var e=this;this.document!==null&&typeof this.document.addEventListener=="function"&&(this.Fe=function(){e.Se.enqueueAndForget(function(){return e.inForeground=e.document.visibilityState==="visible",e.je()})},this.document.addEventListener("visibilitychange",this.Fe),this.inForeground=this.document.visibilityState==="visible")},t.prototype.an=function(){this.Fe&&(this.document.removeEventListener("visibilitychange",this.Fe),this.Fe=null)},t.prototype.Ge=function(){var e,n=this;typeof((e=this.window)===null||e===void 0?void 0:e.addEventListener)=="function"&&(this.ke=function(){n.un(),bLn()&&navigator.appVersion.match("Version/14")&&n.Se.enterRestrictedMode(!0),n.Se.enqueueAndForget(function(){return n.shutdown()})},this.window.addEventListener("pagehide",this.ke))},t.prototype.hn=function(){this.ke&&(this.window.removeEventListener("pagehide",this.ke),this.ke=null)},t.prototype.cn=function(e){var n;try{var o=((n=this.Qe)===null||n===void 0?void 0:n.getItem(this.on(e)))!==null;return ai("IndexedDbPersistence","Client '"+e+"' "+(o?"is":"is not")+" zombied in LocalStorage"),o}catch(i){return lu("IndexedDbPersistence","Failed to get zombied client id.",i),!1}},t.prototype.un=function(){if(this.Qe)try{this.Qe.setItem(this.on(this.clientId),String(Date.now()))}catch(e){lu("Failed to set zombie client id.",e)}},t.prototype.ln=function(){if(this.Qe)try{this.Qe.removeItem(this.on(this.clientId))}catch{}},t.prototype.on=function(e){return"firestore_zombie_"+this.persistenceKey+"_"+e},t}();function Lz(t){return s1(t,K1.store)}function mO(t){return s1(t,M6.store)}function P2e(t,e){var n=t.projectId;return t.isDefaultDatabase||(n+="."+t.database),"firestore/"+e+"/"+n+"/"}var ret=function(){function t(e,n,o){this.Ue=e,this._n=n,this.Ut=o}return t.prototype.mn=function(e,n){var o=this;return this._n.getAllMutationBatchesAffectingDocumentKey(e,n).next(function(i){return o.yn(e,n,i)})},t.prototype.yn=function(e,n,o){return this.Ue.getEntry(e,n).next(function(i){for(var r=0,a=o;r0)},t.prototype.Dn=function(e,n){return ade()<=Sl.DEBUG&&ai("QueryEngine","Using full collection scan to execute query:",cde(n)),this.Sn.getDocumentsMatchingQuery(e,n,Ea.min())},t}(),bUn=function(){function t(e,n,o,i){this.persistence=e,this.xn=n,this.R=i,this.kn=new xh(Ga),this.Fn=new JH(function(r){return AN(r)},eZ),this.$n=Ea.min(),this._n=e.getMutationQueue(o),this.On=e.getRemoteDocumentCache(),this.qe=e.getTargetCache(),this.Mn=new ret(this.On,this._n,this.persistence.getIndexManager()),this.Ke=e.getBundleCache(),this.xn.Vn(this.Mn)}return t.prototype.collectGarbage=function(e){var n=this;return this.persistence.runTransaction("Collect garbage","readwrite-primary",function(o){return e.collect(o,n.kn)})},t}();/** * @license * Copyright 2017 Google LLC * @@ -6004,7 +6004,7 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function set(t,e,n,o){return new TUn(t,e,n,o)}function cet(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r;return ho(this,function(a){switch(a.label){case 0:return n=Ri(t),o=n._n,i=n.Mn,[4,n.persistence.runTransaction("Handle user change","readonly",function(l){var s;return n._n.getAllMutationBatches(l).next(function(c){return s=c,o=n.persistence.getMutationQueue(e),i=new ret(n.On,o,n.persistence.getIndexManager()),o.getAllMutationBatches(l)}).next(function(c){for(var u=[],d=[],f=_s(),p=0,g=s;p0){var g=f.withResumeToken(p,o).withSequenceNumber(r.currentSequenceNumber);i=i.insert(d,g),function(y,A,x){return Nr(A.resumeToken.approximateByteSize()>0),y.resumeToken.approximateByteSize()===0||A.snapshotVersion.toMicroseconds()-y.snapshotVersion.toMicroseconds()>=3e8||x.addedDocuments.size+x.modifiedDocuments.size+x.removedDocuments.size>0}(f,g,u)&&l.push(n.qe.updateTargetData(r,g))}}});var s=D2();if(e.documentUpdates.forEach(function(u,d){e.resolvedLimboDocuments.has(u)&&l.push(n.persistence.referenceDelegate.updateLimboDocument(r,u))}),l.push(RUn(r,a,e.documentUpdates,o).next(function(u){s=u})),!o.isEqual(Ea.min())){var c=n.qe.getLastRemoteSnapshotVersion(r).next(function(u){return n.qe.setTargetsMetadata(r,r.currentSequenceNumber,o)});l.push(c)}return _o.waitFor(l).next(function(){return a.apply(r)}).next(function(){return n.Mn.En(r,s)}).next(function(){return s})}).then(function(r){return n.kn=i,r})}function RUn(t,e,n,o,i){var r=_s();return n.forEach(function(a){return r=r.add(a)}),e.getEntries(t,r).next(function(a){var l=D2();return n.forEach(function(s,c){var u=a.get(s),d=o;c.isNoDocument()&&c.version.isEqual(Ea.min())?(e.removeEntry(s,d),l=l.insert(s,c)):!u.isValidDocument()||c.version.compareTo(u.version)>0||c.version.compareTo(u.version)===0&&u.hasPendingWrites?(e.addEntry(c,d),l=l.insert(s,c)):ai("LocalStore","Ignoring outdated watch update for ",s,". Current version:",u.version," Watch version:",c.version)}),l})}function HUn(t,e){var n=Ri(t);return n.persistence.runTransaction("Get next mutation batch","readonly",function(o){return e===void 0&&(e=-1),n._n.getNextMutationBatchAfterBatchId(o,e)})}function vX(t,e){var n=Ri(t);return n.persistence.runTransaction("Allocate target","readwrite",function(o){var i;return n.qe.getTargetData(o,e).next(function(r){return r?(i=r,_o.resolve(i)):n.qe.allocateTargetId(o).next(function(a){return i=new iZ(e,a,0,o.currentSequenceNumber),n.qe.addTargetData(o,i).next(function(){return i})})})}).then(function(o){var i=n.kn.get(o.targetId);return(i===null||o.snapshotVersion.compareTo(i.snapshotVersion)>0)&&(n.kn=n.kn.insert(o.targetId,o),n.Fn.set(e,o.targetId)),o})}function zR(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:o=Ri(t),i=o.kn.get(e),r=n?"readwrite":"readwrite-primary",l.label=1;case 1:return l.trys.push([1,4,,5]),n?[3,3]:[4,o.persistence.runTransaction("Release target",r,function(s){return o.persistence.referenceDelegate.removeTarget(s,i)})];case 2:l.sent(),l.label=3;case 3:return[3,5];case 4:if(!Bb(a=l.sent()))throw a;return ai("LocalStore","Failed to update sequence numbers for target "+e+": "+a),[3,5];case 5:return o.kn=o.kn.remove(e),o.Fn.delete(i.target),[2]}})})}function xX(t,e,n){var o=Ri(t),i=Ea.min(),r=_s();return o.persistence.runTransaction("Execute query","readonly",function(a){return function(l,s,c){var u=Ri(l),d=u.Fn.get(c);return d!==void 0?_o.resolve(u.kn.get(d)):u.qe.getTargetData(s,c)}(o,a,W9(e)).next(function(l){if(l)return i=l.lastLimboFreeSnapshotVersion,o.qe.getMatchingKeysForTargetId(a,l.targetId).next(function(s){r=s})}).next(function(){return o.xn.getDocumentsMatchingQuery(a,e,n?i:Ea.min(),n?r:_s())}).next(function(l){return{documents:l,Bn:r}})})}function det(t,e){var n=Ri(t),o=Ri(n.qe),i=n.kn.get(e);return i?Promise.resolve(i.target):n.persistence.runTransaction("Get target data","readonly",function(r){return o.lt(r,e).next(function(a){return a?a.target:null})})}function fet(t){var e=Ri(t);return e.persistence.runTransaction("Get new document changes","readonly",function(n){return function(o,i,r){var a=Ri(o),l=D2(),s=S2e(r),c=V4(i),u=IDBKeyRange.lowerBound(s,!0);return c.$t({index:d0.readTimeIndex,range:u},function(d,f){var p=hde(a.R,f);l=l.insert(p.key,p),s=f.readTime}).next(function(){return{wn:l,readTime:QZe(s)}})}(e.On,n,e.$n)}).then(function(n){var o=n.wn,i=n.readTime;return e.$n=i,o})}function MUn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){return[2,(e=Ri(t)).persistence.runTransaction("Synchronize last document change read time","readonly",function(o){return function(i){var r=V4(i),a=Ea.min();return r.$t({index:d0.readTimeIndex,reverse:!0},function(l,s,c){s.readTime&&(a=QZe(s.readTime)),c.done()}).next(function(){return a})}(o)}).then(function(o){e.$n=o})]})})}/** + */function set(t,e,n,o){return new bUn(t,e,n,o)}function cet(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r;return ho(this,function(a){switch(a.label){case 0:return n=Ri(t),o=n._n,i=n.Mn,[4,n.persistence.runTransaction("Handle user change","readonly",function(l){var s;return n._n.getAllMutationBatches(l).next(function(c){return s=c,o=n.persistence.getMutationQueue(e),i=new ret(n.On,o,n.persistence.getIndexManager()),o.getAllMutationBatches(l)}).next(function(c){for(var u=[],d=[],f=_s(),p=0,g=s;p0){var g=f.withResumeToken(p,o).withSequenceNumber(r.currentSequenceNumber);i=i.insert(d,g),function(y,A,x){return Nr(A.resumeToken.approximateByteSize()>0),y.resumeToken.approximateByteSize()===0||A.snapshotVersion.toMicroseconds()-y.snapshotVersion.toMicroseconds()>=3e8||x.addedDocuments.size+x.modifiedDocuments.size+x.removedDocuments.size>0}(f,g,u)&&l.push(n.qe.updateTargetData(r,g))}}});var s=D2();if(e.documentUpdates.forEach(function(u,d){e.resolvedLimboDocuments.has(u)&&l.push(n.persistence.referenceDelegate.updateLimboDocument(r,u))}),l.push(PUn(r,a,e.documentUpdates,o).next(function(u){s=u})),!o.isEqual(Ea.min())){var c=n.qe.getLastRemoteSnapshotVersion(r).next(function(u){return n.qe.setTargetsMetadata(r,r.currentSequenceNumber,o)});l.push(c)}return _o.waitFor(l).next(function(){return a.apply(r)}).next(function(){return n.Mn.En(r,s)}).next(function(){return s})}).then(function(r){return n.kn=i,r})}function PUn(t,e,n,o,i){var r=_s();return n.forEach(function(a){return r=r.add(a)}),e.getEntries(t,r).next(function(a){var l=D2();return n.forEach(function(s,c){var u=a.get(s),d=o;c.isNoDocument()&&c.version.isEqual(Ea.min())?(e.removeEntry(s,d),l=l.insert(s,c)):!u.isValidDocument()||c.version.compareTo(u.version)>0||c.version.compareTo(u.version)===0&&u.hasPendingWrites?(e.addEntry(c,d),l=l.insert(s,c)):ai("LocalStore","Ignoring outdated watch update for ",s,". Current version:",u.version," Watch version:",c.version)}),l})}function CUn(t,e){var n=Ri(t);return n.persistence.runTransaction("Get next mutation batch","readonly",function(o){return e===void 0&&(e=-1),n._n.getNextMutationBatchAfterBatchId(o,e)})}function vX(t,e){var n=Ri(t);return n.persistence.runTransaction("Allocate target","readwrite",function(o){var i;return n.qe.getTargetData(o,e).next(function(r){return r?(i=r,_o.resolve(i)):n.qe.allocateTargetId(o).next(function(a){return i=new iZ(e,a,0,o.currentSequenceNumber),n.qe.addTargetData(o,i).next(function(){return i})})})}).then(function(o){var i=n.kn.get(o.targetId);return(i===null||o.snapshotVersion.compareTo(i.snapshotVersion)>0)&&(n.kn=n.kn.insert(o.targetId,o),n.Fn.set(e,o.targetId)),o})}function zR(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:o=Ri(t),i=o.kn.get(e),r=n?"readwrite":"readwrite-primary",l.label=1;case 1:return l.trys.push([1,4,,5]),n?[3,3]:[4,o.persistence.runTransaction("Release target",r,function(s){return o.persistence.referenceDelegate.removeTarget(s,i)})];case 2:l.sent(),l.label=3;case 3:return[3,5];case 4:if(!Bb(a=l.sent()))throw a;return ai("LocalStore","Failed to update sequence numbers for target "+e+": "+a),[3,5];case 5:return o.kn=o.kn.remove(e),o.Fn.delete(i.target),[2]}})})}function xX(t,e,n){var o=Ri(t),i=Ea.min(),r=_s();return o.persistence.runTransaction("Execute query","readonly",function(a){return function(l,s,c){var u=Ri(l),d=u.Fn.get(c);return d!==void 0?_o.resolve(u.kn.get(d)):u.qe.getTargetData(s,c)}(o,a,W9(e)).next(function(l){if(l)return i=l.lastLimboFreeSnapshotVersion,o.qe.getMatchingKeysForTargetId(a,l.targetId).next(function(s){r=s})}).next(function(){return o.xn.getDocumentsMatchingQuery(a,e,n?i:Ea.min(),n?r:_s())}).next(function(l){return{documents:l,Bn:r}})})}function det(t,e){var n=Ri(t),o=Ri(n.qe),i=n.kn.get(e);return i?Promise.resolve(i.target):n.persistence.runTransaction("Get target data","readonly",function(r){return o.lt(r,e).next(function(a){return a?a.target:null})})}function fet(t){var e=Ri(t);return e.persistence.runTransaction("Get new document changes","readonly",function(n){return function(o,i,r){var a=Ri(o),l=D2(),s=S2e(r),c=V4(i),u=IDBKeyRange.lowerBound(s,!0);return c.$t({index:d0.readTimeIndex,range:u},function(d,f){var p=hde(a.R,f);l=l.insert(p.key,p),s=f.readTime}).next(function(){return{wn:l,readTime:QZe(s)}})}(e.On,n,e.$n)}).then(function(n){var o=n.wn,i=n.readTime;return e.$n=i,o})}function RUn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){return[2,(e=Ri(t)).persistence.runTransaction("Synchronize last document change read time","readonly",function(o){return function(i){var r=V4(i),a=Ea.min();return r.$t({index:d0.readTimeIndex,reverse:!0},function(l,s,c){s.readTime&&(a=QZe(s.readTime)),c.done()}).next(function(){return a})}(o)}).then(function(o){e.$n=o})]})})}/** * @license * Copyright 2020 Google LLC * @@ -6019,7 +6019,7 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var IUn=function(){function t(e){this.R=e,this.Qn=new Map,this.jn=new Map}return t.prototype.getBundleMetadata=function(e,n){return _o.resolve(this.Qn.get(n))},t.prototype.saveBundleMetadata=function(e,n){var o;return this.Qn.set(n.id,{id:(o=n).id,version:o.version,createTime:op(o.createTime)}),_o.resolve()},t.prototype.getNamedQuery=function(e,n){return _o.resolve(this.jn.get(n))},t.prototype.saveNamedQuery=function(e,n){return this.jn.set(n.name,function(o){return{name:o.name,query:eet(o.bundledQuery),readTime:op(o.readTime)}}(n)),_o.resolve()},t}(),C2e=function(){function t(){this.Wn=new Nu(pd.Gn),this.zn=new Nu(pd.Hn)}return t.prototype.isEmpty=function(){return this.Wn.isEmpty()},t.prototype.addReference=function(e,n){var o=new pd(e,n);this.Wn=this.Wn.add(o),this.zn=this.zn.add(o)},t.prototype.Jn=function(e,n){var o=this;e.forEach(function(i){return o.addReference(i,n)})},t.prototype.removeReference=function(e,n){this.Yn(new pd(e,n))},t.prototype.Xn=function(e,n){var o=this;e.forEach(function(i){return o.removeReference(i,n)})},t.prototype.Zn=function(e){var n=this,o=new sr(new Ul([])),i=new pd(o,e),r=new pd(o,e+1),a=[];return this.zn.forEachInRange([i,r],function(l){n.Yn(l),a.push(l.key)}),a},t.prototype.ts=function(){var e=this;this.Wn.forEach(function(n){return e.Yn(n)})},t.prototype.Yn=function(e){this.Wn=this.Wn.delete(e),this.zn=this.zn.delete(e)},t.prototype.es=function(e){var n=new sr(new Ul([])),o=new pd(n,e),i=new pd(n,e+1),r=_s();return this.zn.forEachInRange([o,i],function(a){r=r.add(a.key)}),r},t.prototype.containsKey=function(e){var n=new pd(e,0),o=this.Wn.firstAfterOrEqual(n);return o!==null&&e.isEqual(o.key)},t}(),pd=function(){function t(e,n){this.key=e,this.ns=n}return t.Gn=function(e,n){return sr.comparator(e.key,n.key)||Ga(e.ns,n.ns)},t.Hn=function(e,n){return Ga(e.ns,n.ns)||sr.comparator(e.key,n.key)},t}(),zUn=function(){function t(e,n){this.Ut=e,this.referenceDelegate=n,this._n=[],this.ss=1,this.rs=new Nu(pd.Gn)}return t.prototype.checkEmpty=function(e){return _o.resolve(this._n.length===0)},t.prototype.addMutationBatch=function(e,n,o,i){var r=this.ss;this.ss++,this._n.length>0&&this._n[this._n.length-1];var a=new b2e(r,n,o,i);this._n.push(a);for(var l=0,s=i;lr?this._n[r]:null)},t.prototype.getHighestUnacknowledgedBatchId=function(){return _o.resolve(this._n.length===0?-1:this.ss-1)},t.prototype.getAllMutationBatches=function(e){return _o.resolve(this._n.slice())},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(e,n){var o=this,i=new pd(n,0),r=new pd(n,Number.POSITIVE_INFINITY),a=[];return this.rs.forEachInRange([i,r],function(l){var s=o.os(l.ns);a.push(s)}),_o.resolve(a)},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(e,n){var o=this,i=new Nu(Ga);return n.forEach(function(r){var a=new pd(r,0),l=new pd(r,Number.POSITIVE_INFINITY);o.rs.forEachInRange([a,l],function(s){i=i.add(s.ns)})}),_o.resolve(this.us(i))},t.prototype.getAllMutationBatchesAffectingQuery=function(e,n){var o=n.path,i=o.length+1,r=o;sr.isDocumentKey(r)||(r=r.child(""));var a=new pd(new sr(r),0),l=new Nu(Ga);return this.rs.forEachWhile(function(s){var c=s.key.path;return!!o.isPrefixOf(c)&&(c.length===i&&(l=l.add(s.ns)),!0)},a),_o.resolve(this.us(l))},t.prototype.us=function(e){var n=this,o=[];return e.forEach(function(i){var r=n.os(i);r!==null&&o.push(r)}),o},t.prototype.removeMutationBatch=function(e,n){var o=this;Nr(this.hs(n.batchId,"removed")===0),this._n.shift();var i=this.rs;return _o.forEach(n.mutations,function(r){var a=new pd(r.key,n.batchId);return i=i.delete(a),o.referenceDelegate.markPotentiallyOrphaned(e,r.key)}).next(function(){o.rs=i})},t.prototype.Gt=function(e){},t.prototype.containsKey=function(e,n){var o=new pd(n,0),i=this.rs.firstAfterOrEqual(o);return _o.resolve(n.isEqual(i&&i.key))},t.prototype.performConsistencyCheck=function(e){return this._n.length,_o.resolve()},t.prototype.hs=function(e,n){return this.cs(e)},t.prototype.cs=function(e){return this._n.length===0?0:e-this._n[0].batchId},t.prototype.os=function(e){var n=this.cs(e);return n<0||n>=this._n.length?null:this._n[n]},t}(),DUn=function(){function t(e,n){this.Ut=e,this.ls=n,this.docs=new xh(sr.comparator),this.size=0}return t.prototype.addEntry=function(e,n,o){var i=n.key,r=this.docs.get(i),a=r?r.size:0,l=this.ls(n);return this.docs=this.docs.insert(i,{document:n.clone(),size:l,readTime:o}),this.size+=l-a,this.Ut.addToCollectionParentIndex(e,i.path.popLast())},t.prototype.removeEntry=function(e){var n=this.docs.get(e);n&&(this.docs=this.docs.remove(e),this.size-=n.size)},t.prototype.getEntry=function(e,n){var o=this.docs.get(n);return _o.resolve(o?o.document.clone():ph.newInvalidDocument(n))},t.prototype.getEntries=function(e,n){var o=this,i=D2();return n.forEach(function(r){var a=o.docs.get(r);i=i.insert(r,a?a.document.clone():ph.newInvalidDocument(r))}),_o.resolve(i)},t.prototype.getDocumentsMatchingQuery=function(e,n,o){for(var i=D2(),r=new sr(n.path.child("")),a=this.docs.getIteratorFrom(r);a.hasNext();){var l=a.getNext(),s=l.key,c=l.value,u=c.document,d=c.readTime;if(!n.path.isPrefixOf(s.path))break;d.compareTo(o)<=0||xN(n,u)&&(i=i.insert(u.key,u.clone()))}return _o.resolve(i)},t.prototype.fs=function(e,n){return _o.forEach(this.docs,function(o){return n(o)})},t.prototype.newChangeBuffer=function(e){return new EUn(this)},t.prototype.getSize=function(e){return _o.resolve(this.size)},t}(),EUn=function(t){function e(n){var o=this;return(o=t.call(this)||this).Ie=n,o}return Ti(e,t),e.prototype.applyChanges=function(n){var o=this,i=[];return this.changes.forEach(function(r,a){a.document.isValidDocument()?i.push(o.Ie.addEntry(n,a.document,o.getReadTime(r))):o.Ie.removeEntry(r)}),_o.waitFor(i)},e.prototype.getFromCache=function(n,o){return this.Ie.getEntry(n,o)},e.prototype.getAllFromCache=function(n,o){return this.Ie.getEntries(n,o)},e}(iet),kUn=function(){function t(e){this.persistence=e,this.ds=new JH(function(n){return AN(n)},eZ),this.lastRemoteSnapshotVersion=Ea.min(),this.highestTargetId=0,this.ws=0,this._s=new C2e,this.targetCount=0,this.ys=wX.Jt()}return t.prototype.forEachTarget=function(e,n){return this.ds.forEach(function(o,i){return n(i)}),_o.resolve()},t.prototype.getLastRemoteSnapshotVersion=function(e){return _o.resolve(this.lastRemoteSnapshotVersion)},t.prototype.getHighestSequenceNumber=function(e){return _o.resolve(this.ws)},t.prototype.allocateTargetId=function(e){return this.highestTargetId=this.ys.next(),_o.resolve(this.highestTargetId)},t.prototype.setTargetsMetadata=function(e,n,o){return o&&(this.lastRemoteSnapshotVersion=o),n>this.ws&&(this.ws=n),_o.resolve()},t.prototype.te=function(e){this.ds.set(e.target,e);var n=e.targetId;n>this.highestTargetId&&(this.ys=new wX(n),this.highestTargetId=n),e.sequenceNumber>this.ws&&(this.ws=e.sequenceNumber)},t.prototype.addTargetData=function(e,n){return this.te(n),this.targetCount+=1,_o.resolve()},t.prototype.updateTargetData=function(e,n){return this.te(n),_o.resolve()},t.prototype.removeTargetData=function(e,n){return this.ds.delete(n.target),this._s.Zn(n.targetId),this.targetCount-=1,_o.resolve()},t.prototype.removeTargets=function(e,n,o){var i=this,r=0,a=[];return this.ds.forEach(function(l,s){s.sequenceNumber<=n&&o.get(s.targetId)===null&&(i.ds.delete(l),a.push(i.removeMatchingKeysForTargetId(e,s.targetId)),r++)}),_o.waitFor(a).next(function(){return r})},t.prototype.getTargetCount=function(e){return _o.resolve(this.targetCount)},t.prototype.getTargetData=function(e,n){var o=this.ds.get(n)||null;return _o.resolve(o)},t.prototype.addMatchingKeys=function(e,n,o){return this._s.Jn(n,o),_o.resolve()},t.prototype.removeMatchingKeys=function(e,n,o){this._s.Xn(n,o);var i=this.persistence.referenceDelegate,r=[];return i&&n.forEach(function(a){r.push(i.markPotentiallyOrphaned(e,a))}),_o.waitFor(r)},t.prototype.removeMatchingKeysForTargetId=function(e,n){return this._s.Zn(n),_o.resolve()},t.prototype.getMatchingKeysForTargetId=function(e,n){var o=this._s.es(n);return _o.resolve(o)},t.prototype.containsKey=function(e,n){return _o.resolve(this._s.containsKey(n))},t}(),FUn=function(){function t(e,n){var o=this;this.gs={},this.Ne=new fg(0),this.xe=!1,this.xe=!0,this.referenceDelegate=e(this),this.qe=new kUn(this),this.Ut=new dUn,this.Ue=function(i,r){return new DUn(i,function(a){return o.referenceDelegate.ps(a)})}(this.Ut),this.R=new $Ze(n),this.Ke=new IUn(this.R)}return t.prototype.start=function(){return Promise.resolve()},t.prototype.shutdown=function(){return this.xe=!1,Promise.resolve()},Object.defineProperty(t.prototype,"started",{get:function(){return this.xe},enumerable:!1,configurable:!0}),t.prototype.setDatabaseDeletedListener=function(){},t.prototype.setNetworkEnabled=function(){},t.prototype.getIndexManager=function(){return this.Ut},t.prototype.getMutationQueue=function(e){var n=this.gs[e.toKey()];return n||(n=new zUn(this.Ut,this.referenceDelegate),this.gs[e.toKey()]=n),n},t.prototype.getTargetCache=function(){return this.qe},t.prototype.getRemoteDocumentCache=function(){return this.Ue},t.prototype.getBundleCache=function(){return this.Ke},t.prototype.runTransaction=function(e,n,o){var i=this;ai("MemoryPersistence","Starting transaction:",e);var r=new LUn(this.Ne.next());return this.referenceDelegate.Es(),o(r).next(function(a){return i.referenceDelegate.Ts(r).next(function(){return a})}).toPromise().then(function(a){return r.raiseOnCommittedEvent(),a})},t.prototype.Is=function(e,n){return _o.or(Object.values(this.gs).map(function(o){return function(){return o.containsKey(e,n)}}))},t}(),LUn=function(t){function e(n){var o=this;return(o=t.call(this)||this).currentSequenceNumber=n,o}return Ti(e,t),e}(KZe),WUn=function(){function t(e){this.persistence=e,this.As=new C2e,this.Rs=null}return t.bs=function(e){return new t(e)},Object.defineProperty(t.prototype,"vs",{get:function(){if(this.Rs)return this.Rs;throw or()},enumerable:!1,configurable:!0}),t.prototype.addReference=function(e,n,o){return this.As.addReference(o,n),this.vs.delete(o.toString()),_o.resolve()},t.prototype.removeReference=function(e,n,o){return this.As.removeReference(o,n),this.vs.add(o.toString()),_o.resolve()},t.prototype.markPotentiallyOrphaned=function(e,n){return this.vs.add(n.toString()),_o.resolve()},t.prototype.removeTarget=function(e,n){var o=this;this.As.Zn(n.targetId).forEach(function(r){return o.vs.add(r.toString())});var i=this.persistence.getTargetCache();return i.getMatchingKeysForTargetId(e,n.targetId).next(function(r){r.forEach(function(a){return o.vs.add(a.toString())})}).next(function(){return i.removeTargetData(e,n)})},t.prototype.Es=function(){this.Rs=new Set},t.prototype.Ts=function(e){var n=this,o=this.persistence.getRemoteDocumentCache().newChangeBuffer();return _o.forEach(this.vs,function(i){var r=sr.fromPath(i);return n.Ps(e,r).next(function(a){a||o.removeEntry(r)})}).next(function(){return n.Rs=null,o.apply(e)})},t.prototype.updateLimboDocument=function(e,n){var o=this;return this.Ps(e,n).next(function(i){i?o.vs.delete(n.toString()):o.vs.add(n.toString())})},t.prototype.ps=function(e){return 0},t.prototype.Ps=function(e,n){var o=this;return _o.or([function(){return _o.resolve(o.As.containsKey(n))},function(){return o.persistence.getTargetCache().containsKey(e,n)},function(){return o.persistence.Is(e,n)}])},t}(),Zd=function(){function t(e){this.uid=e}return t.prototype.isAuthenticated=function(){return this.uid!=null},t.prototype.toKey=function(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"},t.prototype.isEqual=function(e){return e.uid===this.uid},t}();/** + */var HUn=function(){function t(e){this.R=e,this.Qn=new Map,this.jn=new Map}return t.prototype.getBundleMetadata=function(e,n){return _o.resolve(this.Qn.get(n))},t.prototype.saveBundleMetadata=function(e,n){var o;return this.Qn.set(n.id,{id:(o=n).id,version:o.version,createTime:op(o.createTime)}),_o.resolve()},t.prototype.getNamedQuery=function(e,n){return _o.resolve(this.jn.get(n))},t.prototype.saveNamedQuery=function(e,n){return this.jn.set(n.name,function(o){return{name:o.name,query:eet(o.bundledQuery),readTime:op(o.readTime)}}(n)),_o.resolve()},t}(),C2e=function(){function t(){this.Wn=new Nu(pd.Gn),this.zn=new Nu(pd.Hn)}return t.prototype.isEmpty=function(){return this.Wn.isEmpty()},t.prototype.addReference=function(e,n){var o=new pd(e,n);this.Wn=this.Wn.add(o),this.zn=this.zn.add(o)},t.prototype.Jn=function(e,n){var o=this;e.forEach(function(i){return o.addReference(i,n)})},t.prototype.removeReference=function(e,n){this.Yn(new pd(e,n))},t.prototype.Xn=function(e,n){var o=this;e.forEach(function(i){return o.removeReference(i,n)})},t.prototype.Zn=function(e){var n=this,o=new sr(new Ul([])),i=new pd(o,e),r=new pd(o,e+1),a=[];return this.zn.forEachInRange([i,r],function(l){n.Yn(l),a.push(l.key)}),a},t.prototype.ts=function(){var e=this;this.Wn.forEach(function(n){return e.Yn(n)})},t.prototype.Yn=function(e){this.Wn=this.Wn.delete(e),this.zn=this.zn.delete(e)},t.prototype.es=function(e){var n=new sr(new Ul([])),o=new pd(n,e),i=new pd(n,e+1),r=_s();return this.zn.forEachInRange([o,i],function(a){r=r.add(a.key)}),r},t.prototype.containsKey=function(e){var n=new pd(e,0),o=this.Wn.firstAfterOrEqual(n);return o!==null&&e.isEqual(o.key)},t}(),pd=function(){function t(e,n){this.key=e,this.ns=n}return t.Gn=function(e,n){return sr.comparator(e.key,n.key)||Ga(e.ns,n.ns)},t.Hn=function(e,n){return Ga(e.ns,n.ns)||sr.comparator(e.key,n.key)},t}(),MUn=function(){function t(e,n){this.Ut=e,this.referenceDelegate=n,this._n=[],this.ss=1,this.rs=new Nu(pd.Gn)}return t.prototype.checkEmpty=function(e){return _o.resolve(this._n.length===0)},t.prototype.addMutationBatch=function(e,n,o,i){var r=this.ss;this.ss++,this._n.length>0&&this._n[this._n.length-1];var a=new b2e(r,n,o,i);this._n.push(a);for(var l=0,s=i;lr?this._n[r]:null)},t.prototype.getHighestUnacknowledgedBatchId=function(){return _o.resolve(this._n.length===0?-1:this.ss-1)},t.prototype.getAllMutationBatches=function(e){return _o.resolve(this._n.slice())},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(e,n){var o=this,i=new pd(n,0),r=new pd(n,Number.POSITIVE_INFINITY),a=[];return this.rs.forEachInRange([i,r],function(l){var s=o.os(l.ns);a.push(s)}),_o.resolve(a)},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(e,n){var o=this,i=new Nu(Ga);return n.forEach(function(r){var a=new pd(r,0),l=new pd(r,Number.POSITIVE_INFINITY);o.rs.forEachInRange([a,l],function(s){i=i.add(s.ns)})}),_o.resolve(this.us(i))},t.prototype.getAllMutationBatchesAffectingQuery=function(e,n){var o=n.path,i=o.length+1,r=o;sr.isDocumentKey(r)||(r=r.child(""));var a=new pd(new sr(r),0),l=new Nu(Ga);return this.rs.forEachWhile(function(s){var c=s.key.path;return!!o.isPrefixOf(c)&&(c.length===i&&(l=l.add(s.ns)),!0)},a),_o.resolve(this.us(l))},t.prototype.us=function(e){var n=this,o=[];return e.forEach(function(i){var r=n.os(i);r!==null&&o.push(r)}),o},t.prototype.removeMutationBatch=function(e,n){var o=this;Nr(this.hs(n.batchId,"removed")===0),this._n.shift();var i=this.rs;return _o.forEach(n.mutations,function(r){var a=new pd(r.key,n.batchId);return i=i.delete(a),o.referenceDelegate.markPotentiallyOrphaned(e,r.key)}).next(function(){o.rs=i})},t.prototype.Gt=function(e){},t.prototype.containsKey=function(e,n){var o=new pd(n,0),i=this.rs.firstAfterOrEqual(o);return _o.resolve(n.isEqual(i&&i.key))},t.prototype.performConsistencyCheck=function(e){return this._n.length,_o.resolve()},t.prototype.hs=function(e,n){return this.cs(e)},t.prototype.cs=function(e){return this._n.length===0?0:e-this._n[0].batchId},t.prototype.os=function(e){var n=this.cs(e);return n<0||n>=this._n.length?null:this._n[n]},t}(),IUn=function(){function t(e,n){this.Ut=e,this.ls=n,this.docs=new xh(sr.comparator),this.size=0}return t.prototype.addEntry=function(e,n,o){var i=n.key,r=this.docs.get(i),a=r?r.size:0,l=this.ls(n);return this.docs=this.docs.insert(i,{document:n.clone(),size:l,readTime:o}),this.size+=l-a,this.Ut.addToCollectionParentIndex(e,i.path.popLast())},t.prototype.removeEntry=function(e){var n=this.docs.get(e);n&&(this.docs=this.docs.remove(e),this.size-=n.size)},t.prototype.getEntry=function(e,n){var o=this.docs.get(n);return _o.resolve(o?o.document.clone():ph.newInvalidDocument(n))},t.prototype.getEntries=function(e,n){var o=this,i=D2();return n.forEach(function(r){var a=o.docs.get(r);i=i.insert(r,a?a.document.clone():ph.newInvalidDocument(r))}),_o.resolve(i)},t.prototype.getDocumentsMatchingQuery=function(e,n,o){for(var i=D2(),r=new sr(n.path.child("")),a=this.docs.getIteratorFrom(r);a.hasNext();){var l=a.getNext(),s=l.key,c=l.value,u=c.document,d=c.readTime;if(!n.path.isPrefixOf(s.path))break;d.compareTo(o)<=0||xN(n,u)&&(i=i.insert(u.key,u.clone()))}return _o.resolve(i)},t.prototype.fs=function(e,n){return _o.forEach(this.docs,function(o){return n(o)})},t.prototype.newChangeBuffer=function(e){return new zUn(this)},t.prototype.getSize=function(e){return _o.resolve(this.size)},t}(),zUn=function(t){function e(n){var o=this;return(o=t.call(this)||this).Ie=n,o}return Ti(e,t),e.prototype.applyChanges=function(n){var o=this,i=[];return this.changes.forEach(function(r,a){a.document.isValidDocument()?i.push(o.Ie.addEntry(n,a.document,o.getReadTime(r))):o.Ie.removeEntry(r)}),_o.waitFor(i)},e.prototype.getFromCache=function(n,o){return this.Ie.getEntry(n,o)},e.prototype.getAllFromCache=function(n,o){return this.Ie.getEntries(n,o)},e}(iet),DUn=function(){function t(e){this.persistence=e,this.ds=new JH(function(n){return AN(n)},eZ),this.lastRemoteSnapshotVersion=Ea.min(),this.highestTargetId=0,this.ws=0,this._s=new C2e,this.targetCount=0,this.ys=wX.Jt()}return t.prototype.forEachTarget=function(e,n){return this.ds.forEach(function(o,i){return n(i)}),_o.resolve()},t.prototype.getLastRemoteSnapshotVersion=function(e){return _o.resolve(this.lastRemoteSnapshotVersion)},t.prototype.getHighestSequenceNumber=function(e){return _o.resolve(this.ws)},t.prototype.allocateTargetId=function(e){return this.highestTargetId=this.ys.next(),_o.resolve(this.highestTargetId)},t.prototype.setTargetsMetadata=function(e,n,o){return o&&(this.lastRemoteSnapshotVersion=o),n>this.ws&&(this.ws=n),_o.resolve()},t.prototype.te=function(e){this.ds.set(e.target,e);var n=e.targetId;n>this.highestTargetId&&(this.ys=new wX(n),this.highestTargetId=n),e.sequenceNumber>this.ws&&(this.ws=e.sequenceNumber)},t.prototype.addTargetData=function(e,n){return this.te(n),this.targetCount+=1,_o.resolve()},t.prototype.updateTargetData=function(e,n){return this.te(n),_o.resolve()},t.prototype.removeTargetData=function(e,n){return this.ds.delete(n.target),this._s.Zn(n.targetId),this.targetCount-=1,_o.resolve()},t.prototype.removeTargets=function(e,n,o){var i=this,r=0,a=[];return this.ds.forEach(function(l,s){s.sequenceNumber<=n&&o.get(s.targetId)===null&&(i.ds.delete(l),a.push(i.removeMatchingKeysForTargetId(e,s.targetId)),r++)}),_o.waitFor(a).next(function(){return r})},t.prototype.getTargetCount=function(e){return _o.resolve(this.targetCount)},t.prototype.getTargetData=function(e,n){var o=this.ds.get(n)||null;return _o.resolve(o)},t.prototype.addMatchingKeys=function(e,n,o){return this._s.Jn(n,o),_o.resolve()},t.prototype.removeMatchingKeys=function(e,n,o){this._s.Xn(n,o);var i=this.persistence.referenceDelegate,r=[];return i&&n.forEach(function(a){r.push(i.markPotentiallyOrphaned(e,a))}),_o.waitFor(r)},t.prototype.removeMatchingKeysForTargetId=function(e,n){return this._s.Zn(n),_o.resolve()},t.prototype.getMatchingKeysForTargetId=function(e,n){var o=this._s.es(n);return _o.resolve(o)},t.prototype.containsKey=function(e,n){return _o.resolve(this._s.containsKey(n))},t}(),EUn=function(){function t(e,n){var o=this;this.gs={},this.Ne=new hg(0),this.xe=!1,this.xe=!0,this.referenceDelegate=e(this),this.qe=new DUn(this),this.Ut=new cUn,this.Ue=function(i,r){return new IUn(i,function(a){return o.referenceDelegate.ps(a)})}(this.Ut),this.R=new $Ze(n),this.Ke=new HUn(this.R)}return t.prototype.start=function(){return Promise.resolve()},t.prototype.shutdown=function(){return this.xe=!1,Promise.resolve()},Object.defineProperty(t.prototype,"started",{get:function(){return this.xe},enumerable:!1,configurable:!0}),t.prototype.setDatabaseDeletedListener=function(){},t.prototype.setNetworkEnabled=function(){},t.prototype.getIndexManager=function(){return this.Ut},t.prototype.getMutationQueue=function(e){var n=this.gs[e.toKey()];return n||(n=new MUn(this.Ut,this.referenceDelegate),this.gs[e.toKey()]=n),n},t.prototype.getTargetCache=function(){return this.qe},t.prototype.getRemoteDocumentCache=function(){return this.Ue},t.prototype.getBundleCache=function(){return this.Ke},t.prototype.runTransaction=function(e,n,o){var i=this;ai("MemoryPersistence","Starting transaction:",e);var r=new kUn(this.Ne.next());return this.referenceDelegate.Es(),o(r).next(function(a){return i.referenceDelegate.Ts(r).next(function(){return a})}).toPromise().then(function(a){return r.raiseOnCommittedEvent(),a})},t.prototype.Is=function(e,n){return _o.or(Object.values(this.gs).map(function(o){return function(){return o.containsKey(e,n)}}))},t}(),kUn=function(t){function e(n){var o=this;return(o=t.call(this)||this).currentSequenceNumber=n,o}return Ti(e,t),e}(KZe),FUn=function(){function t(e){this.persistence=e,this.As=new C2e,this.Rs=null}return t.bs=function(e){return new t(e)},Object.defineProperty(t.prototype,"vs",{get:function(){if(this.Rs)return this.Rs;throw or()},enumerable:!1,configurable:!0}),t.prototype.addReference=function(e,n,o){return this.As.addReference(o,n),this.vs.delete(o.toString()),_o.resolve()},t.prototype.removeReference=function(e,n,o){return this.As.removeReference(o,n),this.vs.add(o.toString()),_o.resolve()},t.prototype.markPotentiallyOrphaned=function(e,n){return this.vs.add(n.toString()),_o.resolve()},t.prototype.removeTarget=function(e,n){var o=this;this.As.Zn(n.targetId).forEach(function(r){return o.vs.add(r.toString())});var i=this.persistence.getTargetCache();return i.getMatchingKeysForTargetId(e,n.targetId).next(function(r){r.forEach(function(a){return o.vs.add(a.toString())})}).next(function(){return i.removeTargetData(e,n)})},t.prototype.Es=function(){this.Rs=new Set},t.prototype.Ts=function(e){var n=this,o=this.persistence.getRemoteDocumentCache().newChangeBuffer();return _o.forEach(this.vs,function(i){var r=sr.fromPath(i);return n.Ps(e,r).next(function(a){a||o.removeEntry(r)})}).next(function(){return n.Rs=null,o.apply(e)})},t.prototype.updateLimboDocument=function(e,n){var o=this;return this.Ps(e,n).next(function(i){i?o.vs.delete(n.toString()):o.vs.add(n.toString())})},t.prototype.ps=function(e){return 0},t.prototype.Ps=function(e,n){var o=this;return _o.or([function(){return _o.resolve(o.As.containsKey(n))},function(){return o.persistence.getTargetCache().containsKey(e,n)},function(){return o.persistence.Is(e,n)}])},t}(),Zd=function(){function t(e){this.uid=e}return t.prototype.isAuthenticated=function(){return this.uid!=null},t.prototype.toKey=function(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"},t.prototype.isEqual=function(e){return e.uid===this.uid},t}();/** * @license * Copyright 2017 Google LLC * @@ -6034,7 +6034,7 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function xPe(t,e){return"firestore_clients_"+t+"_"+e}function bPe(t,e,n){var o="firestore_mutations_"+t+"_"+n;return e.isAuthenticated()&&(o+="_"+e.uid),o}function Jre(t,e){return"firestore_targets_"+t+"_"+e}Zd.UNAUTHENTICATED=new Zd(null),Zd.GOOGLE_CREDENTIALS=new Zd("google-credentials-uid"),Zd.FIRST_PARTY=new Zd("first-party-uid"),Zd.MOCK_USER=new Zd("mock-user");var SPe=function(){function t(e,n,o,i){this.user=e,this.batchId=n,this.state=o,this.error=i}return t.Vs=function(e,n,o){var i,r=JSON.parse(o),a=typeof r=="object"&&["pending","acknowledged","rejected"].indexOf(r.state)!==-1&&(r.error===void 0||typeof r.error=="object");return a&&r.error&&(a=typeof r.error.message=="string"&&typeof r.error.code=="string")&&(i=new ko(r.error.code,r.error.message)),a?new t(e,n,r.state,i):(lu("SharedClientState","Failed to parse mutation state for ID '"+n+"': "+o),null)},t.prototype.Ss=function(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)},t}(),Kre=function(){function t(e,n,o){this.targetId=e,this.state=n,this.error=o}return t.Vs=function(e,n){var o,i=JSON.parse(n),r=typeof i=="object"&&["not-current","current","rejected"].indexOf(i.state)!==-1&&(i.error===void 0||typeof i.error=="object");return r&&i.error&&(r=typeof i.error.message=="string"&&typeof i.error.code=="string")&&(o=new ko(i.error.code,i.error.message)),r?new t(e,i.state,o):(lu("SharedClientState","Failed to parse target state for ID '"+e+"': "+n),null)},t.prototype.Ss=function(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)},t}(),TPe=function(){function t(e,n){this.clientId=e,this.activeTargetIds=n}return t.Vs=function(e,n){for(var o=JSON.parse(n),i=typeof o=="object"&&o.activeTargetIds instanceof Array,r=oZ(),a=0;i&&a0){var f=s.getResponseJson().error;if(f&&f.status&&f.message){var p=function(g){var y=g.toLowerCase().replace(/_/g,"-");return Object.values(On).indexOf(y)>=0?y:On.UNKNOWN}(f.status);l(new ko(p,f.message))}else l(new ko(On.UNKNOWN,"Server responded with status "+s.getStatus()))}else l(new ko(On.UNAVAILABLE,"Connection failed."));break;default:or()}}finally{ai("Connection",'RPC "'+n+'" completed.')}});var c=JSON.stringify(r);s.send(o,"POST",c,i,15)})},e.prototype.Oi=function(n,o){var i=[this.Di,"/","google.firestore.v1.Firestore","/",n,"/channel"],r=hNn(),a=pNn(),l={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:"projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling};this.useFetchStreams&&(l.xmlHttpFactory=new yNn({})),this.ki(l.initMessageHeaders,o),Lye()||rQe()||xLn()||bLn()||SLn()||vLn()||(l.httpHeadersOverwriteParam="$httpHeaders");var s=i.join("");ai("Connection","Creating WebChannel: "+s,l);var c=r.createWebChannel(s,l),u=!1,d=!1,f=new jUn({Ei:function(g){d?ai("Connection","Not sending because WebChannel is closed:",g):(u||(ai("Connection","Opening WebChannel transport."),c.open(),u=!0),ai("Connection","WebChannel sending:",g),c.send(g))},Ti:function(){return c.close()}}),p=function(g,y,A){g.listen(y,function(x){try{A(x)}catch(C){setTimeout(function(){throw C},0)}})};return p(c,fO.EventType.OPEN,function(){d||ai("Connection","WebChannel transport opened.")}),p(c,fO.EventType.CLOSE,function(){d||(d=!0,ai("Connection","WebChannel transport closed"),f.Vi())}),p(c,fO.EventType.ERROR,function(g){d||(d=!0,dX("Connection","WebChannel transport errored:",g),f.Vi(new ko(On.UNAVAILABLE,"The operation could not be completed")))}),p(c,fO.EventType.MESSAGE,function(g){var y;if(!d){var A=g.data[0];Nr(!!A);var x=A,C=x.error||((y=x[0])===null||y===void 0?void 0:y.error);if(C){ai("Connection","WebChannel received error:",C);var b=C.status,v=function(w){var T=Z0[w];if(T!==void 0)return LZe(T)}(b),S=C.message;v===void 0&&(v=On.INTERNAL,S="Unknown error status: "+b+" with message "+C.message),d=!0,f.Vi(new ko(v,S)),c.close()}else ai("Connection","WebChannel received:",A),f.Si(A)}}),p(a,mNn.STAT_EVENT,function(g){g.stat===YTe.PROXY?ai("Connection","Detected buffering proxy"):g.stat===YTe.NOPROXY&&ai("Connection","Detected no buffering proxy")}),setTimeout(function(){f.Pi()},0),f},e}(function(){function t(e){this.databaseInfo=e,this.databaseId=e.databaseId;var n=e.ssl?"https":"http";this.Di=n+"://"+e.host,this.Ci="projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database+"/documents"}return t.prototype.Ni=function(e,n,o,i){var r=this.xi(e,n);ai("RestConnection","Sending: ",r,o);var a={};return this.ki(a,i),this.Fi(e,r,a,o).then(function(l){return ai("RestConnection","Received: ",l),l},function(l){throw dX("RestConnection",e+" failed with error: ",l,"url: ",r,"request:",o),l})},t.prototype.$i=function(e,n,o,i){return this.Ni(e,n,o,i)},t.prototype.ki=function(e,n){if(e["X-Goog-Api-Client"]="gl-js/ fire/8.10.1",e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),n)for(var o in n.authHeaders)n.authHeaders.hasOwnProperty(o)&&(e[o]=n.authHeaders[o])},t.prototype.xi=function(e,n){var o=BUn[e];return this.Di+"/v1/"+n+":"+o},t}());/** + */function xPe(t,e){return"firestore_clients_"+t+"_"+e}function bPe(t,e,n){var o="firestore_mutations_"+t+"_"+n;return e.isAuthenticated()&&(o+="_"+e.uid),o}function Jre(t,e){return"firestore_targets_"+t+"_"+e}Zd.UNAUTHENTICATED=new Zd(null),Zd.GOOGLE_CREDENTIALS=new Zd("google-credentials-uid"),Zd.FIRST_PARTY=new Zd("first-party-uid"),Zd.MOCK_USER=new Zd("mock-user");var SPe=function(){function t(e,n,o,i){this.user=e,this.batchId=n,this.state=o,this.error=i}return t.Vs=function(e,n,o){var i,r=JSON.parse(o),a=typeof r=="object"&&["pending","acknowledged","rejected"].indexOf(r.state)!==-1&&(r.error===void 0||typeof r.error=="object");return a&&r.error&&(a=typeof r.error.message=="string"&&typeof r.error.code=="string")&&(i=new ko(r.error.code,r.error.message)),a?new t(e,n,r.state,i):(lu("SharedClientState","Failed to parse mutation state for ID '"+n+"': "+o),null)},t.prototype.Ss=function(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)},t}(),Kre=function(){function t(e,n,o){this.targetId=e,this.state=n,this.error=o}return t.Vs=function(e,n){var o,i=JSON.parse(n),r=typeof i=="object"&&["not-current","current","rejected"].indexOf(i.state)!==-1&&(i.error===void 0||typeof i.error=="object");return r&&i.error&&(r=typeof i.error.message=="string"&&typeof i.error.code=="string")&&(o=new ko(i.error.code,i.error.message)),r?new t(e,i.state,o):(lu("SharedClientState","Failed to parse target state for ID '"+e+"': "+n),null)},t.prototype.Ss=function(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)},t}(),TPe=function(){function t(e,n){this.clientId=e,this.activeTargetIds=n}return t.Vs=function(e,n){for(var o=JSON.parse(n),i=typeof o=="object"&&o.activeTargetIds instanceof Array,r=oZ(),a=0;i&&a0){var f=s.getResponseJson().error;if(f&&f.status&&f.message){var p=function(g){var y=g.toLowerCase().replace(/_/g,"-");return Object.values(On).indexOf(y)>=0?y:On.UNKNOWN}(f.status);l(new ko(p,f.message))}else l(new ko(On.UNKNOWN,"Server responded with status "+s.getStatus()))}else l(new ko(On.UNAVAILABLE,"Connection failed."));break;default:or()}}finally{ai("Connection",'RPC "'+n+'" completed.')}});var c=JSON.stringify(r);s.send(o,"POST",c,i,15)})},e.prototype.Oi=function(n,o){var i=[this.Di,"/","google.firestore.v1.Firestore","/",n,"/channel"],r=dNn(),a=fNn(),l={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:"projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling};this.useFetchStreams&&(l.xmlHttpFactory=new gNn({})),this.ki(l.initMessageHeaders,o),Lye()||rQe()||wLn()||vLn()||xLn()||ALn()||(l.httpHeadersOverwriteParam="$httpHeaders");var s=i.join("");ai("Connection","Creating WebChannel: "+s,l);var c=r.createWebChannel(s,l),u=!1,d=!1,f=new UUn({Ei:function(g){d?ai("Connection","Not sending because WebChannel is closed:",g):(u||(ai("Connection","Opening WebChannel transport."),c.open(),u=!0),ai("Connection","WebChannel sending:",g),c.send(g))},Ti:function(){return c.close()}}),p=function(g,y,A){g.listen(y,function(x){try{A(x)}catch(C){setTimeout(function(){throw C},0)}})};return p(c,fO.EventType.OPEN,function(){d||ai("Connection","WebChannel transport opened.")}),p(c,fO.EventType.CLOSE,function(){d||(d=!0,ai("Connection","WebChannel transport closed"),f.Vi())}),p(c,fO.EventType.ERROR,function(g){d||(d=!0,dX("Connection","WebChannel transport errored:",g),f.Vi(new ko(On.UNAVAILABLE,"The operation could not be completed")))}),p(c,fO.EventType.MESSAGE,function(g){var y;if(!d){var A=g.data[0];Nr(!!A);var x=A,C=x.error||((y=x[0])===null||y===void 0?void 0:y.error);if(C){ai("Connection","WebChannel received error:",C);var b=C.status,v=function(w){var T=Z0[w];if(T!==void 0)return LZe(T)}(b),S=C.message;v===void 0&&(v=On.INTERNAL,S="Unknown error status: "+b+" with message "+C.message),d=!0,f.Vi(new ko(v,S)),c.close()}else ai("Connection","WebChannel received:",A),f.Si(A)}}),p(a,pNn.STAT_EVENT,function(g){g.stat===YTe.PROXY?ai("Connection","Detected buffering proxy"):g.stat===YTe.NOPROXY&&ai("Connection","Detected no buffering proxy")}),setTimeout(function(){f.Pi()},0),f},e}(function(){function t(e){this.databaseInfo=e,this.databaseId=e.databaseId;var n=e.ssl?"https":"http";this.Di=n+"://"+e.host,this.Ci="projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database+"/documents"}return t.prototype.Ni=function(e,n,o,i){var r=this.xi(e,n);ai("RestConnection","Sending: ",r,o);var a={};return this.ki(a,i),this.Fi(e,r,a,o).then(function(l){return ai("RestConnection","Received: ",l),l},function(l){throw dX("RestConnection",e+" failed with error: ",l,"url: ",r,"request:",o),l})},t.prototype.$i=function(e,n,o,i){return this.Ni(e,n,o,i)},t.prototype.ki=function(e,n){if(e["X-Goog-Api-Client"]="gl-js/ fire/8.10.1",e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),n)for(var o in n.authHeaders)n.authHeaders.hasOwnProperty(o)&&(e[o]=n.authHeaders[o])},t.prototype.xi=function(e,n){var o=NUn[e];return this.Di+"/v1/"+n+":"+o},t}());/** * @license * Copyright 2020 Google LLC * @@ -6079,8 +6079,8 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function rZ(t){return new JNn(t,!0)}var R2e=function(){function t(e,n,o,i,r){o===void 0&&(o=1e3),i===void 0&&(i=1.5),r===void 0&&(r=6e4),this.Se=e,this.timerId=n,this.Mi=o,this.Li=i,this.Bi=r,this.qi=0,this.Ui=null,this.Ki=Date.now(),this.reset()}return t.prototype.reset=function(){this.qi=0},t.prototype.Qi=function(){this.qi=this.Bi},t.prototype.ji=function(e){var n=this;this.cancel();var o=Math.floor(this.qi+this.Wi()),i=Math.max(0,Date.now()-this.Ki),r=Math.max(0,o-i);r>0&&ai("ExponentialBackoff","Backing off for "+r+" ms (base delay: "+this.qi+" ms, delay with jitter: "+o+" ms, last attempt: "+i+" ms ago)"),this.Ui=this.Se.enqueueAfterDelay(this.timerId,r,function(){return n.Ki=Date.now(),e()}),this.qi*=this.Li,this.qithis.Bi&&(this.qi=this.Bi)},t.prototype.Gi=function(){this.Ui!==null&&(this.Ui.skipDelay(),this.Ui=null)},t.prototype.cancel=function(){this.Ui!==null&&(this.Ui.cancel(),this.Ui=null)},t.prototype.Wi=function(){return(Math.random()-.5)*this.qi},t}(),get=function(){function t(e,n,o,i,r,a){this.Se=e,this.zi=o,this.Hi=i,this.Ji=r,this.listener=a,this.state=0,this.Yi=0,this.Xi=null,this.stream=null,this.Zi=new R2e(e,n)}return t.prototype.tr=function(){return this.state===1||this.state===2||this.state===4},t.prototype.er=function(){return this.state===2},t.prototype.start=function(){this.state!==3?this.auth():this.nr()},t.prototype.stop=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return this.tr()?[4,this.close(0)]:[3,2];case 1:e.sent(),e.label=2;case 2:return[2]}})})},t.prototype.sr=function(){this.state=0,this.Zi.reset()},t.prototype.ir=function(){var e=this;this.er()&&this.Xi===null&&(this.Xi=this.Se.enqueueAfterDelay(this.zi,6e4,function(){return e.rr()}))},t.prototype.cr=function(e){this.ur(),this.stream.send(e)},t.prototype.rr=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return this.er()?[2,this.close(0)]:[2]})})},t.prototype.ur=function(){this.Xi&&(this.Xi.cancel(),this.Xi=null)},t.prototype.close=function(e,n){return Ao(this,void 0,void 0,function(){return ho(this,function(o){switch(o.label){case 0:return this.ur(),this.Zi.cancel(),this.Yi++,e!==3?this.Zi.reset():n&&n.code===On.RESOURCE_EXHAUSTED?(lu(n.toString()),lu("Using maximum backoff delay to prevent overloading the backend."),this.Zi.Qi()):n&&n.code===On.UNAUTHENTICATED&&this.Ji.invalidateToken(),this.stream!==null&&(this.ar(),this.stream.close(),this.stream=null),this.state=e,[4,this.listener.Ri(n)];case 1:return o.sent(),[2]}})})},t.prototype.ar=function(){},t.prototype.auth=function(){var e=this;this.state=1;var n=this.hr(this.Yi),o=this.Yi;this.Ji.getToken().then(function(i){e.Yi===o&&e.lr(i)},function(i){n(function(){var r=new ko(On.UNKNOWN,"Fetching auth token failed: "+i.message);return e.dr(r)})})},t.prototype.lr=function(e){var n=this,o=this.hr(this.Yi);this.stream=this.wr(e),this.stream.Ii(function(){o(function(){return n.state=2,n.listener.Ii()})}),this.stream.Ri(function(i){o(function(){return n.dr(i)})}),this.stream.onMessage(function(i){o(function(){return n.onMessage(i)})})},t.prototype.nr=function(){var e=this;this.state=4,this.Zi.ji(function(){return Ao(e,void 0,void 0,function(){return ho(this,function(n){return this.state=0,this.start(),[2]})})})},t.prototype.dr=function(e){return ai("PersistentStream","close with error: "+e),this.stream=null,this.close(3,e)},t.prototype.hr=function(e){var n=this;return function(o){n.Se.enqueueAndForget(function(){return n.Yi===e?o():(ai("PersistentStream","stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve())})}},t}(),OUn=function(t){function e(n,o,i,r,a){var l=this;return(l=t.call(this,n,"listen_stream_connection_backoff","listen_stream_idle",o,i,a)||this).R=r,l}return Ti(e,t),e.prototype.wr=function(n){return this.Hi.Oi("Listen",n)},e.prototype.onMessage=function(n){this.Zi.reset();var o=function(r,a){var l;if("targetChange"in a){a.targetChange;var s=function(A){return A==="NO_CHANGE"?0:A==="ADD"?1:A==="REMOVE"?2:A==="CURRENT"?3:A==="RESET"?4:or()}(a.targetChange.targetChangeType||"NO_CHANGE"),c=a.targetChange.targetIds||[],u=function(A,x){return A.I?(Nr(x===void 0||typeof x=="string"),Qp.fromBase64String(x||"")):(Nr(x===void 0||x instanceof Uint8Array),Qp.fromUint8Array(x||new Uint8Array))}(r,a.targetChange.resumeToken),d=(f=a.targetChange.cause)&&function(A){var x=A.code===void 0?On.UNKNOWN:LZe(A.code);return new ko(x,A.message||"")}(f);l=new NZe(s,c,u,d||null)}else if("documentChange"in a){a.documentChange,(s=a.documentChange).document,s.document.name,s.document.updateTime,c=H6(r,s.document.name),u=op(s.document.updateTime);var f=new ag({mapValue:{fields:s.document.fields}}),p=(d=ph.newFoundDocument(c,u,f),s.targetIds||[]),g=s.removedTargetIds||[];l=new Q_(p,g,d.key,d)}else if("documentDelete"in a)a.documentDelete,(s=a.documentDelete).document,c=H6(r,s.document),u=s.readTime?op(s.readTime):Ea.min(),f=ph.newNoDocument(c,u),d=s.removedTargetIds||[],l=new Q_([],d,f.key,f);else if("documentRemove"in a)a.documentRemove,(s=a.documentRemove).document,c=H6(r,s.document),u=s.removedTargetIds||[],l=new Q_([],u,c,null);else{if(!("filter"in a))return or();a.filter;var y=a.filter;y.targetId,s=y.count||0,c=new NNn(s),u=y.targetId,l=new WZe(u,c)}return l}(this.R,n),i=function(r){if(!("targetChange"in r))return Ea.min();var a=r.targetChange;return a.targetIds&&a.targetIds.length?Ea.min():a.readTime?op(a.readTime):Ea.min()}(n);return this.listener._r(o,i)},e.prototype.mr=function(n){var o={};o.database=mF(this.R),o.addTarget=function(r,a){var l,s=a.target;return(l=pX(s)?{documents:OZe(r,s)}:{query:_Ze(r,s)}).targetId=a.targetId,a.resumeToken.approximateByteSize()>0?l.resumeToken=UZe(r,a.resumeToken):a.snapshotVersion.compareTo(Ea.min())>0&&(l.readTime=pF(r,a.snapshotVersion.toTimestamp())),l}(this.R,n);var i=function(r,a){var l=function(s,c){switch(c){case 0:return null;case 1:return"existence-filter-mismatch";case 2:return"limbo-document";default:return or()}}(0,a.purpose);return l==null?null:{"goog-listen-tags":l}}(this.R,n);i&&(o.labels=i),this.cr(o)},e.prototype.yr=function(n){var o={};o.database=mF(this.R),o.removeTarget=n,this.cr(o)},e}(get),_Un=function(t){function e(n,o,i,r,a){var l=this;return(l=t.call(this,n,"write_stream_connection_backoff","write_stream_idle",o,i,a)||this).R=r,l.gr=!1,l}return Ti(e,t),Object.defineProperty(e.prototype,"pr",{get:function(){return this.gr},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.gr=!1,this.lastStreamToken=void 0,t.prototype.start.call(this)},e.prototype.ar=function(){this.gr&&this.Er([])},e.prototype.wr=function(n){return this.Hi.Oi("Write",n)},e.prototype.onMessage=function(n){if(Nr(!!n.streamToken),this.lastStreamToken=n.streamToken,this.gr){this.Zi.reset();var o=function(r,a){return r&&r.length>0?(Nr(a!==void 0),r.map(function(l){return function(s,c){var u=s.updateTime?op(s.updateTime):op(c);return u.isEqual(Ea.min())&&(u=op(c)),new FNn(u,s.transformResults||[])}(l,a)})):[]}(n.writeResults,n.commitTime),i=op(n.commitTime);return this.listener.Tr(i,o)}return Nr(!n.writeResults||n.writeResults.length===0),this.gr=!0,this.listener.Ir()},e.prototype.Ar=function(){var n={};n.database=mF(this.R),this.cr(n)},e.prototype.Er=function(n){var o=this,i={streamToken:this.lastStreamToken,writes:n.map(function(r){return yX(o.R,r)})};this.cr(i)},e}(get),VUn=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).credentials=n,r.Hi=o,r.R=i,r.Rr=!1,r}return Ti(e,t),e.prototype.br=function(){if(this.Rr)throw new ko(On.FAILED_PRECONDITION,"The client has already been terminated.")},e.prototype.Ni=function(n,o,i){var r=this;return this.br(),this.credentials.getToken().then(function(a){return r.Hi.Ni(n,o,i,a)}).catch(function(a){throw a.name==="FirebaseError"?(a.code===On.UNAUTHENTICATED&&r.credentials.invalidateToken(),a):new ko(On.UNKNOWN,a.toString())})},e.prototype.$i=function(n,o,i){var r=this;return this.br(),this.credentials.getToken().then(function(a){return r.Hi.$i(n,o,i,a)}).catch(function(a){throw a.name==="FirebaseError"?(a.code===On.UNAUTHENTICATED&&r.credentials.invalidateToken(),a):new ko(On.UNKNOWN,a.toString())})},e.prototype.terminate=function(){this.Rr=!0},e}(function(){}),GUn=function(){function t(e,n){this.asyncQueue=e,this.onlineStateHandler=n,this.state="Unknown",this.vr=0,this.Pr=null,this.Vr=!0}return t.prototype.Sr=function(){var e=this;this.vr===0&&(this.Dr("Unknown"),this.Pr=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,function(){return e.Pr=null,e.Cr("Backend didn't respond within 10 seconds."),e.Dr("Offline"),Promise.resolve()}))},t.prototype.Nr=function(e){this.state==="Online"?this.Dr("Unknown"):(this.vr++,this.vr>=1&&(this.kr(),this.Cr("Connection failed 1 times. Most recent error: "+e.toString()),this.Dr("Offline")))},t.prototype.set=function(e){this.kr(),this.vr=0,e==="Online"&&(this.Vr=!1),this.Dr(e)},t.prototype.Dr=function(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))},t.prototype.Cr=function(e){var n="Could not reach Cloud Firestore backend. "+e+` -This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.Vr?(lu(n),this.Vr=!1):ai("OnlineStateTracker",n)},t.prototype.kr=function(){this.Pr!==null&&(this.Pr.cancel(),this.Pr=null)},t}(),XUn=function(t,e,n,o,i){var r=this;this.localStore=t,this.datastore=e,this.asyncQueue=n,this.remoteSyncer={},this.Fr=[],this.$r=new Map,this.Or=new Set,this.Mr=[],this.Lr=i,this.Lr.di(function(a){n.enqueueAndForget(function(){return Ao(r,void 0,void 0,function(){return ho(this,function(l){switch(l.label){case 0:return j7(this)?(ai("RemoteStore","Restarting streams for network reachability change."),[4,function(s){return Ao(this,void 0,void 0,function(){var c;return ho(this,function(u){switch(u.label){case 0:return(c=Ri(s)).Or.add(4),[4,KH(c)];case 1:return u.sent(),c.Br.set("Unknown"),c.Or.delete(4),[4,PN(c)];case 2:return u.sent(),[2]}})})}(this)]):[3,2];case 1:l.sent(),l.label=2;case 2:return[2]}})})})}),this.Br=new GUn(n,o)};/** + */function rZ(t){return new GNn(t,!0)}var R2e=function(){function t(e,n,o,i,r){o===void 0&&(o=1e3),i===void 0&&(i=1.5),r===void 0&&(r=6e4),this.Se=e,this.timerId=n,this.Mi=o,this.Li=i,this.Bi=r,this.qi=0,this.Ui=null,this.Ki=Date.now(),this.reset()}return t.prototype.reset=function(){this.qi=0},t.prototype.Qi=function(){this.qi=this.Bi},t.prototype.ji=function(e){var n=this;this.cancel();var o=Math.floor(this.qi+this.Wi()),i=Math.max(0,Date.now()-this.Ki),r=Math.max(0,o-i);r>0&&ai("ExponentialBackoff","Backing off for "+r+" ms (base delay: "+this.qi+" ms, delay with jitter: "+o+" ms, last attempt: "+i+" ms ago)"),this.Ui=this.Se.enqueueAfterDelay(this.timerId,r,function(){return n.Ki=Date.now(),e()}),this.qi*=this.Li,this.qithis.Bi&&(this.qi=this.Bi)},t.prototype.Gi=function(){this.Ui!==null&&(this.Ui.skipDelay(),this.Ui=null)},t.prototype.cancel=function(){this.Ui!==null&&(this.Ui.cancel(),this.Ui=null)},t.prototype.Wi=function(){return(Math.random()-.5)*this.qi},t}(),get=function(){function t(e,n,o,i,r,a){this.Se=e,this.zi=o,this.Hi=i,this.Ji=r,this.listener=a,this.state=0,this.Yi=0,this.Xi=null,this.stream=null,this.Zi=new R2e(e,n)}return t.prototype.tr=function(){return this.state===1||this.state===2||this.state===4},t.prototype.er=function(){return this.state===2},t.prototype.start=function(){this.state!==3?this.auth():this.nr()},t.prototype.stop=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return this.tr()?[4,this.close(0)]:[3,2];case 1:e.sent(),e.label=2;case 2:return[2]}})})},t.prototype.sr=function(){this.state=0,this.Zi.reset()},t.prototype.ir=function(){var e=this;this.er()&&this.Xi===null&&(this.Xi=this.Se.enqueueAfterDelay(this.zi,6e4,function(){return e.rr()}))},t.prototype.cr=function(e){this.ur(),this.stream.send(e)},t.prototype.rr=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return this.er()?[2,this.close(0)]:[2]})})},t.prototype.ur=function(){this.Xi&&(this.Xi.cancel(),this.Xi=null)},t.prototype.close=function(e,n){return Ao(this,void 0,void 0,function(){return ho(this,function(o){switch(o.label){case 0:return this.ur(),this.Zi.cancel(),this.Yi++,e!==3?this.Zi.reset():n&&n.code===On.RESOURCE_EXHAUSTED?(lu(n.toString()),lu("Using maximum backoff delay to prevent overloading the backend."),this.Zi.Qi()):n&&n.code===On.UNAUTHENTICATED&&this.Ji.invalidateToken(),this.stream!==null&&(this.ar(),this.stream.close(),this.stream=null),this.state=e,[4,this.listener.Ri(n)];case 1:return o.sent(),[2]}})})},t.prototype.ar=function(){},t.prototype.auth=function(){var e=this;this.state=1;var n=this.hr(this.Yi),o=this.Yi;this.Ji.getToken().then(function(i){e.Yi===o&&e.lr(i)},function(i){n(function(){var r=new ko(On.UNKNOWN,"Fetching auth token failed: "+i.message);return e.dr(r)})})},t.prototype.lr=function(e){var n=this,o=this.hr(this.Yi);this.stream=this.wr(e),this.stream.Ii(function(){o(function(){return n.state=2,n.listener.Ii()})}),this.stream.Ri(function(i){o(function(){return n.dr(i)})}),this.stream.onMessage(function(i){o(function(){return n.onMessage(i)})})},t.prototype.nr=function(){var e=this;this.state=4,this.Zi.ji(function(){return Ao(e,void 0,void 0,function(){return ho(this,function(n){return this.state=0,this.start(),[2]})})})},t.prototype.dr=function(e){return ai("PersistentStream","close with error: "+e),this.stream=null,this.close(3,e)},t.prototype.hr=function(e){var n=this;return function(o){n.Se.enqueueAndForget(function(){return n.Yi===e?o():(ai("PersistentStream","stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve())})}},t}(),jUn=function(t){function e(n,o,i,r,a){var l=this;return(l=t.call(this,n,"listen_stream_connection_backoff","listen_stream_idle",o,i,a)||this).R=r,l}return Ti(e,t),e.prototype.wr=function(n){return this.Hi.Oi("Listen",n)},e.prototype.onMessage=function(n){this.Zi.reset();var o=function(r,a){var l;if("targetChange"in a){a.targetChange;var s=function(A){return A==="NO_CHANGE"?0:A==="ADD"?1:A==="REMOVE"?2:A==="CURRENT"?3:A==="RESET"?4:or()}(a.targetChange.targetChangeType||"NO_CHANGE"),c=a.targetChange.targetIds||[],u=function(A,x){return A.I?(Nr(x===void 0||typeof x=="string"),Zp.fromBase64String(x||"")):(Nr(x===void 0||x instanceof Uint8Array),Zp.fromUint8Array(x||new Uint8Array))}(r,a.targetChange.resumeToken),d=(f=a.targetChange.cause)&&function(A){var x=A.code===void 0?On.UNKNOWN:LZe(A.code);return new ko(x,A.message||"")}(f);l=new NZe(s,c,u,d||null)}else if("documentChange"in a){a.documentChange,(s=a.documentChange).document,s.document.name,s.document.updateTime,c=H6(r,s.document.name),u=op(s.document.updateTime);var f=new lg({mapValue:{fields:s.document.fields}}),p=(d=ph.newFoundDocument(c,u,f),s.targetIds||[]),g=s.removedTargetIds||[];l=new Q_(p,g,d.key,d)}else if("documentDelete"in a)a.documentDelete,(s=a.documentDelete).document,c=H6(r,s.document),u=s.readTime?op(s.readTime):Ea.min(),f=ph.newNoDocument(c,u),d=s.removedTargetIds||[],l=new Q_([],d,f.key,f);else if("documentRemove"in a)a.documentRemove,(s=a.documentRemove).document,c=H6(r,s.document),u=s.removedTargetIds||[],l=new Q_([],u,c,null);else{if(!("filter"in a))return or();a.filter;var y=a.filter;y.targetId,s=y.count||0,c=new LNn(s),u=y.targetId,l=new WZe(u,c)}return l}(this.R,n),i=function(r){if(!("targetChange"in r))return Ea.min();var a=r.targetChange;return a.targetIds&&a.targetIds.length?Ea.min():a.readTime?op(a.readTime):Ea.min()}(n);return this.listener._r(o,i)},e.prototype.mr=function(n){var o={};o.database=mF(this.R),o.addTarget=function(r,a){var l,s=a.target;return(l=pX(s)?{documents:OZe(r,s)}:{query:_Ze(r,s)}).targetId=a.targetId,a.resumeToken.approximateByteSize()>0?l.resumeToken=UZe(r,a.resumeToken):a.snapshotVersion.compareTo(Ea.min())>0&&(l.readTime=pF(r,a.snapshotVersion.toTimestamp())),l}(this.R,n);var i=function(r,a){var l=function(s,c){switch(c){case 0:return null;case 1:return"existence-filter-mismatch";case 2:return"limbo-document";default:return or()}}(0,a.purpose);return l==null?null:{"goog-listen-tags":l}}(this.R,n);i&&(o.labels=i),this.cr(o)},e.prototype.yr=function(n){var o={};o.database=mF(this.R),o.removeTarget=n,this.cr(o)},e}(get),YUn=function(t){function e(n,o,i,r,a){var l=this;return(l=t.call(this,n,"write_stream_connection_backoff","write_stream_idle",o,i,a)||this).R=r,l.gr=!1,l}return Ti(e,t),Object.defineProperty(e.prototype,"pr",{get:function(){return this.gr},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.gr=!1,this.lastStreamToken=void 0,t.prototype.start.call(this)},e.prototype.ar=function(){this.gr&&this.Er([])},e.prototype.wr=function(n){return this.Hi.Oi("Write",n)},e.prototype.onMessage=function(n){if(Nr(!!n.streamToken),this.lastStreamToken=n.streamToken,this.gr){this.Zi.reset();var o=function(r,a){return r&&r.length>0?(Nr(a!==void 0),r.map(function(l){return function(s,c){var u=s.updateTime?op(s.updateTime):op(c);return u.isEqual(Ea.min())&&(u=op(c)),new ENn(u,s.transformResults||[])}(l,a)})):[]}(n.writeResults,n.commitTime),i=op(n.commitTime);return this.listener.Tr(i,o)}return Nr(!n.writeResults||n.writeResults.length===0),this.gr=!0,this.listener.Ir()},e.prototype.Ar=function(){var n={};n.database=mF(this.R),this.cr(n)},e.prototype.Er=function(n){var o=this,i={streamToken:this.lastStreamToken,writes:n.map(function(r){return yX(o.R,r)})};this.cr(i)},e}(get),OUn=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).credentials=n,r.Hi=o,r.R=i,r.Rr=!1,r}return Ti(e,t),e.prototype.br=function(){if(this.Rr)throw new ko(On.FAILED_PRECONDITION,"The client has already been terminated.")},e.prototype.Ni=function(n,o,i){var r=this;return this.br(),this.credentials.getToken().then(function(a){return r.Hi.Ni(n,o,i,a)}).catch(function(a){throw a.name==="FirebaseError"?(a.code===On.UNAUTHENTICATED&&r.credentials.invalidateToken(),a):new ko(On.UNKNOWN,a.toString())})},e.prototype.$i=function(n,o,i){var r=this;return this.br(),this.credentials.getToken().then(function(a){return r.Hi.$i(n,o,i,a)}).catch(function(a){throw a.name==="FirebaseError"?(a.code===On.UNAUTHENTICATED&&r.credentials.invalidateToken(),a):new ko(On.UNKNOWN,a.toString())})},e.prototype.terminate=function(){this.Rr=!0},e}(function(){}),_Un=function(){function t(e,n){this.asyncQueue=e,this.onlineStateHandler=n,this.state="Unknown",this.vr=0,this.Pr=null,this.Vr=!0}return t.prototype.Sr=function(){var e=this;this.vr===0&&(this.Dr("Unknown"),this.Pr=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,function(){return e.Pr=null,e.Cr("Backend didn't respond within 10 seconds."),e.Dr("Offline"),Promise.resolve()}))},t.prototype.Nr=function(e){this.state==="Online"?this.Dr("Unknown"):(this.vr++,this.vr>=1&&(this.kr(),this.Cr("Connection failed 1 times. Most recent error: "+e.toString()),this.Dr("Offline")))},t.prototype.set=function(e){this.kr(),this.vr=0,e==="Online"&&(this.Vr=!1),this.Dr(e)},t.prototype.Dr=function(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))},t.prototype.Cr=function(e){var n="Could not reach Cloud Firestore backend. "+e+` +This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.Vr?(lu(n),this.Vr=!1):ai("OnlineStateTracker",n)},t.prototype.kr=function(){this.Pr!==null&&(this.Pr.cancel(),this.Pr=null)},t}(),VUn=function(t,e,n,o,i){var r=this;this.localStore=t,this.datastore=e,this.asyncQueue=n,this.remoteSyncer={},this.Fr=[],this.$r=new Map,this.Or=new Set,this.Mr=[],this.Lr=i,this.Lr.di(function(a){n.enqueueAndForget(function(){return Ao(r,void 0,void 0,function(){return ho(this,function(l){switch(l.label){case 0:return j7(this)?(ai("RemoteStore","Restarting streams for network reachability change."),[4,function(s){return Ao(this,void 0,void 0,function(){var c;return ho(this,function(u){switch(u.label){case 0:return(c=Ri(s)).Or.add(4),[4,KH(c)];case 1:return u.sent(),c.Br.set("Unknown"),c.Or.delete(4),[4,PN(c)];case 2:return u.sent(),[2]}})})}(this)]):[3,2];case 1:l.sent(),l.label=2;case 2:return[2]}})})})}),this.Br=new _Un(n,o)};/** * @license * Copyright 2017 Google LLC * @@ -6095,7 +6095,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function PN(t){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:if(!j7(t))return[3,4];e=0,n=t.Mr,o.label=1;case 1:return e0}function j7(t){return Ri(t).Or.size===0}function yet(t){t.qr=void 0}function JUn(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return t.$r.forEach(function(n,o){H2e(t,n)}),[2]})})}function KUn(t,e){return Ao(this,void 0,void 0,function(){return ho(this,function(n){return yet(t),I2e(t)?(t.Br.Nr(e),M2e(t)):t.Br.set("Unknown"),[2]})})}function qUn(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r;return ho(this,function(a){switch(a.label){case 0:if(t.Br.set("Online"),!(e instanceof NZe&&e.state===2&&e.cause))return[3,6];a.label=1;case 1:return a.trys.push([1,3,,5]),[4,function(l,s){return Ao(this,void 0,void 0,function(){var c,u,d,f;return ho(this,function(p){switch(p.label){case 0:c=s.cause,u=0,d=s.targetIds,p.label=1;case 1:return u=0?[4,function(l,s){var c=l.qr.ut(s);return c.targetChanges.forEach(function(u,d){if(u.resumeToken.approximateByteSize()>0){var f=l.$r.get(d);f&&l.$r.set(d,f.withResumeToken(u.resumeToken,s))}}),c.targetMismatches.forEach(function(u){var d=l.$r.get(u);if(d){l.$r.set(u,d.withResumeToken(Qp.EMPTY_BYTE_STRING,d.snapshotVersion)),met(l,u);var f=new iZ(d.target,u,1,d.sequenceNumber);H2e(l,f)}}),l.remoteSyncer.applyRemoteEvent(c)}(t,n)]:[3,10];case 9:a.sent(),a.label=10;case 10:return[3,13];case 11:return ai("RemoteStore","Failed to raise snapshot:",r=a.sent()),[4,bX(t,r)];case 12:return a.sent(),[3,13];case 13:return[2]}})})}function bX(t,e,n){return Ao(this,void 0,void 0,function(){var o=this;return ho(this,function(i){switch(i.label){case 0:if(!Bb(e))throw e;return t.Or.add(1),[4,KH(t)];case 1:return i.sent(),t.Br.set("Offline"),n||(n=function(){return uet(t.localStore)}),t.asyncQueue.enqueueRetryable(function(){return Ao(o,void 0,void 0,function(){return ho(this,function(r){switch(r.label){case 0:return ai("RemoteStore","Retrying IndexedDB access"),[4,n()];case 1:return r.sent(),t.Or.delete(1),[4,PN(t)];case 2:return r.sent(),[2]}})})}),[2]}})})}function Aet(t,e){return e().catch(function(n){return bX(t,n,e)})}function qH(t){return Ao(this,void 0,void 0,function(){var e,n,o,i,r;return ho(this,function(a){switch(a.label){case 0:e=Ri(t),n=d7(e),o=e.Fr.length>0?e.Fr[e.Fr.length-1].batchId:-1,a.label=1;case 1:if(!function(l){return j7(l)&&l.Fr.length<10}(e))return[3,7];a.label=2;case 2:return a.trys.push([2,4,,6]),[4,HUn(e.localStore,o)];case 3:return(i=a.sent())===null?(e.Fr.length===0&&n.ir(),[3,7]):(o=i.batchId,function(l,s){l.Fr.push(s);var c=d7(l);c.er()&&c.pr&&c.Er(s.mutations)}(e,i),[3,6]);case 4:return r=a.sent(),[4,bX(e,r)];case 5:return a.sent(),[3,6];case 6:return[3,1];case 7:return wet(e)&&vet(e),[2]}})})}function wet(t){return j7(t)&&!d7(t).tr()&&t.Fr.length>0}function vet(t){d7(t).start()}function $Un(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return d7(t).Ar(),[2]})})}function QUn(t){return Ao(this,void 0,void 0,function(){var e,n,o,i;return ho(this,function(r){for(e=d7(t),n=0,o=t.Fr;n0&&(ai("RemoteStore","Stopping write stream with "+t.Fr.length+" pending writes"),t.Fr=[]),o.label=4;case 4:return[2]}})})})),t.Kr}var tBn=function(){function t(e,n,o,i,r){this.asyncQueue=e,this.timerId=n,this.targetTimeMs=o,this.op=i,this.removalCallback=r,this.deferred=new Zp,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(function(a){})}return t.createAndSchedule=function(e,n,o,i,r){var a=new t(e,n,Date.now()+o,i,r);return a.start(o),a},t.prototype.start=function(e){var n=this;this.timerHandle=setTimeout(function(){return n.handleDelayElapsed()},e)},t.prototype.skipDelay=function(){return this.handleDelayElapsed()},t.prototype.cancel=function(e){this.timerHandle!==null&&(this.clearTimeout(),this.deferred.reject(new ko(On.CANCELLED,"Operation cancelled"+(e?": "+e:""))))},t.prototype.handleDelayElapsed=function(){var e=this;this.asyncQueue.enqueueAndForget(function(){return e.timerHandle!==null?(e.clearTimeout(),e.op().then(function(n){return e.deferred.resolve(n)})):Promise.resolve()})},t.prototype.clearTimeout=function(){this.timerHandle!==null&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)},t}();function QH(t,e){if(lu("AsyncQueue",e+": "+t),Bb(t))return new ko(On.UNAVAILABLE,e+": "+t);throw t}/** + */function PN(t){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:if(!j7(t))return[3,4];e=0,n=t.Mr,o.label=1;case 1:return e0}function j7(t){return Ri(t).Or.size===0}function yet(t){t.qr=void 0}function GUn(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return t.$r.forEach(function(n,o){H2e(t,n)}),[2]})})}function XUn(t,e){return Ao(this,void 0,void 0,function(){return ho(this,function(n){return yet(t),I2e(t)?(t.Br.Nr(e),M2e(t)):t.Br.set("Unknown"),[2]})})}function JUn(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r;return ho(this,function(a){switch(a.label){case 0:if(t.Br.set("Online"),!(e instanceof NZe&&e.state===2&&e.cause))return[3,6];a.label=1;case 1:return a.trys.push([1,3,,5]),[4,function(l,s){return Ao(this,void 0,void 0,function(){var c,u,d,f;return ho(this,function(p){switch(p.label){case 0:c=s.cause,u=0,d=s.targetIds,p.label=1;case 1:return u=0?[4,function(l,s){var c=l.qr.ut(s);return c.targetChanges.forEach(function(u,d){if(u.resumeToken.approximateByteSize()>0){var f=l.$r.get(d);f&&l.$r.set(d,f.withResumeToken(u.resumeToken,s))}}),c.targetMismatches.forEach(function(u){var d=l.$r.get(u);if(d){l.$r.set(u,d.withResumeToken(Zp.EMPTY_BYTE_STRING,d.snapshotVersion)),met(l,u);var f=new iZ(d.target,u,1,d.sequenceNumber);H2e(l,f)}}),l.remoteSyncer.applyRemoteEvent(c)}(t,n)]:[3,10];case 9:a.sent(),a.label=10;case 10:return[3,13];case 11:return ai("RemoteStore","Failed to raise snapshot:",r=a.sent()),[4,bX(t,r)];case 12:return a.sent(),[3,13];case 13:return[2]}})})}function bX(t,e,n){return Ao(this,void 0,void 0,function(){var o=this;return ho(this,function(i){switch(i.label){case 0:if(!Bb(e))throw e;return t.Or.add(1),[4,KH(t)];case 1:return i.sent(),t.Br.set("Offline"),n||(n=function(){return uet(t.localStore)}),t.asyncQueue.enqueueRetryable(function(){return Ao(o,void 0,void 0,function(){return ho(this,function(r){switch(r.label){case 0:return ai("RemoteStore","Retrying IndexedDB access"),[4,n()];case 1:return r.sent(),t.Or.delete(1),[4,PN(t)];case 2:return r.sent(),[2]}})})}),[2]}})})}function Aet(t,e){return e().catch(function(n){return bX(t,n,e)})}function qH(t){return Ao(this,void 0,void 0,function(){var e,n,o,i,r;return ho(this,function(a){switch(a.label){case 0:e=Ri(t),n=d7(e),o=e.Fr.length>0?e.Fr[e.Fr.length-1].batchId:-1,a.label=1;case 1:if(!function(l){return j7(l)&&l.Fr.length<10}(e))return[3,7];a.label=2;case 2:return a.trys.push([2,4,,6]),[4,CUn(e.localStore,o)];case 3:return(i=a.sent())===null?(e.Fr.length===0&&n.ir(),[3,7]):(o=i.batchId,function(l,s){l.Fr.push(s);var c=d7(l);c.er()&&c.pr&&c.Er(s.mutations)}(e,i),[3,6]);case 4:return r=a.sent(),[4,bX(e,r)];case 5:return a.sent(),[3,6];case 6:return[3,1];case 7:return wet(e)&&vet(e),[2]}})})}function wet(t){return j7(t)&&!d7(t).tr()&&t.Fr.length>0}function vet(t){d7(t).start()}function KUn(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return d7(t).Ar(),[2]})})}function qUn(t){return Ao(this,void 0,void 0,function(){var e,n,o,i;return ho(this,function(r){for(e=d7(t),n=0,o=t.Fr;n0&&(ai("RemoteStore","Stopping write stream with "+t.Fr.length+" pending writes"),t.Fr=[]),o.label=4;case 4:return[2]}})})})),t.Kr}var ZUn=function(){function t(e,n,o,i,r){this.asyncQueue=e,this.timerId=n,this.targetTimeMs=o,this.op=i,this.removalCallback=r,this.deferred=new e1,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(function(a){})}return t.createAndSchedule=function(e,n,o,i,r){var a=new t(e,n,Date.now()+o,i,r);return a.start(o),a},t.prototype.start=function(e){var n=this;this.timerHandle=setTimeout(function(){return n.handleDelayElapsed()},e)},t.prototype.skipDelay=function(){return this.handleDelayElapsed()},t.prototype.cancel=function(e){this.timerHandle!==null&&(this.clearTimeout(),this.deferred.reject(new ko(On.CANCELLED,"Operation cancelled"+(e?": "+e:""))))},t.prototype.handleDelayElapsed=function(){var e=this;this.asyncQueue.enqueueAndForget(function(){return e.timerHandle!==null?(e.clearTimeout(),e.op().then(function(n){return e.deferred.resolve(n)})):Promise.resolve()})},t.prototype.clearTimeout=function(){this.timerHandle!==null&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)},t}();function QH(t,e){if(lu("AsyncQueue",e+": "+t),Bb(t))return new ko(On.UNAVAILABLE,e+": "+t);throw t}/** * @license * Copyright 2017 Google LLC * @@ -6113,7 +6113,7 @@ This typically indicates that your device does not have a healthy Internet conne */var xet=function(){function t(e){this.comparator=e?function(n,o){return e(n,o)||sr.comparator(n.key,o.key)}:function(n,o){return sr.comparator(n.key,o.key)},this.keyedMap=dde(),this.sortedSet=new xh(this.comparator)}return t.emptySet=function(e){return new t(e.comparator)},t.prototype.has=function(e){return this.keyedMap.get(e)!=null},t.prototype.get=function(e){return this.keyedMap.get(e)},t.prototype.first=function(){return this.sortedSet.minKey()},t.prototype.last=function(){return this.sortedSet.maxKey()},t.prototype.isEmpty=function(){return this.sortedSet.isEmpty()},t.prototype.indexOf=function(e){var n=this.keyedMap.get(e);return n?this.sortedSet.indexOf(n):-1},Object.defineProperty(t.prototype,"size",{get:function(){return this.sortedSet.size},enumerable:!1,configurable:!0}),t.prototype.forEach=function(e){this.sortedSet.inorderTraversal(function(n,o){return e(n),!1})},t.prototype.add=function(e){var n=this.delete(e.key);return n.copy(n.keyedMap.insert(e.key,e),n.sortedSet.insert(e,null))},t.prototype.delete=function(e){var n=this.get(e);return n?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(n)):this},t.prototype.isEqual=function(e){if(!(e instanceof t)||this.size!==e.size)return!1;for(var n=this.sortedSet.getIterator(),o=e.sortedSet.getIterator();n.hasNext();){var i=n.getNext().key,r=o.getNext().key;if(!i.isEqual(r))return!1}return!0},t.prototype.toString=function(){var e=[];return this.forEach(function(n){e.push(n.toString())}),e.length===0?"DocumentSet ()":`DocumentSet ( `+e.join(` `)+` -)`},t.prototype.copy=function(e,n){var o=new t;return o.comparator=this.comparator,o.keyedMap=e,o.sortedSet=n,o},t}(),CPe=function(){function t(){this.Qr=new xh(sr.comparator)}return t.prototype.track=function(e){var n=e.doc.key,o=this.Qr.get(n);o?e.type!==0&&o.type===3?this.Qr=this.Qr.insert(n,e):e.type===3&&o.type!==1?this.Qr=this.Qr.insert(n,{type:o.type,doc:e.doc}):e.type===2&&o.type===2?this.Qr=this.Qr.insert(n,{type:2,doc:e.doc}):e.type===2&&o.type===0?this.Qr=this.Qr.insert(n,{type:0,doc:e.doc}):e.type===1&&o.type===0?this.Qr=this.Qr.remove(n):e.type===1&&o.type===2?this.Qr=this.Qr.insert(n,{type:1,doc:o.doc}):e.type===0&&o.type===1?this.Qr=this.Qr.insert(n,{type:2,doc:e.doc}):or():this.Qr=this.Qr.insert(n,e)},t.prototype.jr=function(){var e=[];return this.Qr.inorderTraversal(function(n,o){e.push(o)}),e},t}(),SX=function(){function t(e,n,o,i,r,a,l,s){this.query=e,this.docs=n,this.oldDocs=o,this.docChanges=i,this.mutatedKeys=r,this.fromCache=a,this.syncStateChanged=l,this.excludesMetadataChanges=s}return t.fromInitialDocuments=function(e,n,o,i){var r=[];return n.forEach(function(a){r.push({type:0,doc:a})}),new t(e,n,xet.emptySet(n),r,o,i,!0,!1)},Object.defineProperty(t.prototype,"hasPendingWrites",{get:function(){return!this.mutatedKeys.isEmpty()},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){if(!(this.fromCache===e.fromCache&&this.syncStateChanged===e.syncStateChanged&&this.mutatedKeys.isEqual(e.mutatedKeys)&&vN(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;var n=this.docChanges,o=e.docChanges;if(n.length!==o.length)return!1;for(var i=0;i=0&&(r.listeners.splice(a,1),i=r.listeners.length===0),i?[2,(n.queries.delete(o),n.onUnlisten(o))]:[2]})})}function iBn(t,e){for(var n=Ri(t),o=!1,i=0,r=e;i0)return!0;var n=this.Xr&&this.Xr.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!n)&&this.options.includeMetadataChanges===!0},t.prototype.no=function(e){e=SX.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache),this.Yr=!0,this.Jr.next(e)},t}();/** + */function z2e(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l,s;return ho(this,function(c){switch(c.label){case 0:if(n=Ri(t),o=e.query,i=!1,(r=n.queries.get(o))||(i=!0,r=new eBn),!i)return[3,4];c.label=1;case 1:return c.trys.push([1,3,,4]),a=r,[4,n.onListen(o)];case 2:return a.Wr=c.sent(),[3,4];case 3:return l=c.sent(),s=QH(l,"Initialization of query '"+cde(e.query)+"' failed"),[2,void e.onError(s)];case 4:return n.queries.set(o,r),r.listeners.push(e),e.zr(n.onlineState),r.Wr&&e.Hr(r.Wr)&&E2e(n),[2]}})})}function D2e(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r,a;return ho(this,function(l){return n=Ri(t),o=e.query,i=!1,(r=n.queries.get(o))&&(a=r.listeners.indexOf(e))>=0&&(r.listeners.splice(a,1),i=r.listeners.length===0),i?[2,(n.queries.delete(o),n.onUnlisten(o))]:[2]})})}function nBn(t,e){for(var n=Ri(t),o=!1,i=0,r=e;i0)return!0;var n=this.Xr&&this.Xr.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!n)&&this.options.includeMetadataChanges===!0},t.prototype.no=function(e){e=SX.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache),this.Yr=!0,this.Jr.next(e)},t}();/** * @license * Copyright 2017 Google LLC * @@ -6143,7 +6143,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var bet=function(t){this.key=t},Tet=function(t){this.key=t},Pet=function(){function t(e,n){this.query=e,this.uo=n,this.ao=null,this.current=!1,this.ho=_s(),this.mutatedKeys=_s(),this.lo=CZe(e),this.fo=new xet(this.lo)}return Object.defineProperty(t.prototype,"wo",{get:function(){return this.uo},enumerable:!1,configurable:!0}),t.prototype._o=function(e,n){var o=this,i=n?n.mo:new CPe,r=n?n.fo:this.fo,a=n?n.mutatedKeys:this.mutatedKeys,l=r,s=!1,c=q_(this.query)&&r.size===this.query.limit?r.last():null,u=mX(this.query)&&r.size===this.query.limit?r.first():null;if(e.inorderTraversal(function(f,p){var g=r.get(f),y=xN(o.query,p)?p:null,A=!!g&&o.mutatedKeys.has(g.key),x=!!y&&(y.hasLocalMutations||o.mutatedKeys.has(y.key)&&y.hasCommittedMutations),C=!1;g&&y?g.data.isEqual(y.data)?A!==x&&(i.track({type:3,doc:y}),C=!0):o.yo(g,y)||(i.track({type:2,doc:y}),C=!0,(c&&o.lo(y,c)>0||u&&o.lo(y,u)<0)&&(s=!0)):!g&&y?(i.track({type:0,doc:y}),C=!0):g&&!y&&(i.track({type:1,doc:g}),C=!0,(c||u)&&(s=!0)),C&&(y?(l=l.add(y),a=x?a.add(f):a.delete(f)):(l=l.delete(f),a=a.delete(f)))}),q_(this.query)||mX(this.query))for(;l.size>this.query.limit;){var d=q_(this.query)?l.last():l.first();l=l.delete(d.key),a=a.delete(d.key),i.track({type:1,doc:d})}return{fo:l,mo:i,Nn:s,mutatedKeys:a}},t.prototype.yo=function(e,n){return e.hasLocalMutations&&n.hasCommittedMutations&&!n.hasLocalMutations},t.prototype.applyChanges=function(e,n,o){var i=this,r=this.fo;this.fo=e.fo,this.mutatedKeys=e.mutatedKeys;var a=e.mo.jr();a.sort(function(u,d){return function(f,p){var g=function(y){switch(y){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return or()}};return g(f)-g(p)}(u.type,d.type)||i.lo(u.doc,d.doc)}),this.po(o);var l=n?this.Eo():[],s=this.ho.size===0&&this.current?1:0,c=s!==this.ao;return this.ao=s,a.length!==0||c?{snapshot:new SX(this.query,e.fo,r,a,e.mutatedKeys,s===0,c,!1),To:l}:{To:l}},t.prototype.zr=function(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({fo:this.fo,mo:new CPe,mutatedKeys:this.mutatedKeys,Nn:!1},!1)):{To:[]}},t.prototype.Io=function(e){return!this.uo.has(e)&&!!this.fo.has(e)&&!this.fo.get(e).hasLocalMutations},t.prototype.po=function(e){var n=this;e&&(e.addedDocuments.forEach(function(o){return n.uo=n.uo.add(o)}),e.modifiedDocuments.forEach(function(o){}),e.removedDocuments.forEach(function(o){return n.uo=n.uo.delete(o)}),this.current=e.current)},t.prototype.Eo=function(){var e=this;if(!this.current)return[];var n=this.ho;this.ho=_s(),this.fo.forEach(function(i){e.Io(i.key)&&(e.ho=e.ho.add(i.key))});var o=[];return n.forEach(function(i){e.ho.has(i)||o.push(new Tet(i))}),this.ho.forEach(function(i){n.has(i)||o.push(new bet(i))}),o},t.prototype.Ao=function(e){this.uo=e.Bn,this.ho=_s();var n=this._o(e.documents);return this.applyChanges(n,!0)},t.prototype.Ro=function(){return SX.fromInitialDocuments(this.query,this.fo,this.mutatedKeys,this.ao===0)},t}(),aBn=function(t,e,n){this.query=t,this.targetId=e,this.view=n},lBn=function(t){this.key=t,this.bo=!1},sBn=function(){function t(e,n,o,i,r,a){this.localStore=e,this.remoteStore=n,this.eventManager=o,this.sharedClientState=i,this.currentUser=r,this.maxConcurrentLimboResolutions=a,this.vo={},this.Po=new JH(function(l){return PZe(l)},vN),this.Vo=new Map,this.So=new Set,this.Do=new xh(sr.comparator),this.Co=new Map,this.No=new C2e,this.xo={},this.ko=new Map,this.Fo=wX.Yt(),this.onlineState="Unknown",this.$o=void 0}return Object.defineProperty(t.prototype,"isPrimaryClient",{get:function(){return this.$o===!0},enumerable:!1,configurable:!0}),t}();function cBn(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l;return ho(this,function(s){switch(s.label){case 0:return n=U2e(t),(r=n.Po.get(e))?(o=r.targetId,n.sharedClientState.addLocalQueryTarget(o),i=r.view.Ro(),[3,4]):[3,1];case 1:return[4,vX(n.localStore,W9(e))];case 2:return a=s.sent(),l=n.sharedClientState.addLocalQueryTarget(a.targetId),o=a.targetId,[4,F2e(n,e,o,l==="current")];case 3:i=s.sent(),n.isPrimaryClient&&aZ(n.remoteStore,a),s.label=4;case 4:return[2,i]}})})}function F2e(t,e,n,o){return Ao(this,void 0,void 0,function(){var i,r,a,l,s,c;return ho(this,function(u){switch(u.label){case 0:return t.Oo=function(d,f,p){return function(g,y,A,x){return Ao(this,void 0,void 0,function(){var C,b,v;return ho(this,function(S){switch(S.label){case 0:return C=y.view._o(A),C.Nn?[4,xX(g.localStore,y.query,!1).then(function(w){var T=w.documents;return y.view._o(T,C)})]:[3,2];case 1:C=S.sent(),S.label=2;case 2:return b=x&&x.targetChanges.get(y.targetId),v=y.view.applyChanges(C,g.isPrimaryClient,b),[2,(mde(g,y.targetId,v.To),v.snapshot)]}})})}(t,d,f,p)},[4,xX(t.localStore,e,!0)];case 1:return i=u.sent(),r=new Pet(e,i.Bn),a=r._o(i.documents),l=w2e.createSynthesizedTargetChangeForCurrentChange(n,o&&t.onlineState!=="Offline"),s=r.applyChanges(a,t.isPrimaryClient,l),mde(t,n,s.To),c=new aBn(e,n,r),[2,(t.Po.set(e,c),t.Vo.has(n)?t.Vo.get(n).push(e):t.Vo.set(n,[e]),s.snapshot)]}})})}function uBn(t,e){return Ao(this,void 0,void 0,function(){var n,o,i;return ho(this,function(r){switch(r.label){case 0:return n=Ri(t),o=n.Po.get(e),(i=n.Vo.get(o.targetId)).length>1?[2,(n.Vo.set(o.targetId,i.filter(function(a){return!vN(a,e)})),void n.Po.delete(e))]:n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(o.targetId),n.sharedClientState.isActiveQueryTarget(o.targetId)?[3,2]:[4,zR(n.localStore,o.targetId,!1).then(function(){n.sharedClientState.clearQueryState(o.targetId),yF(n.remoteStore,o.targetId),DR(n,o.targetId)}).catch(jb)]):[3,3];case 1:r.sent(),r.label=2;case 2:return[3,5];case 3:return DR(n,o.targetId),[4,zR(n.localStore,o.targetId,!0)];case 4:r.sent(),r.label=5;case 5:return[2]}})})}function dBn(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:o=B2e(t),l.label=1;case 1:return l.trys.push([1,5,,6]),[4,function(s,c){var u,d=Ri(s),f=Jp.now(),p=c.reduce(function(g,y){return g.add(y.key)},_s());return d.persistence.runTransaction("Locally write mutations","readwrite",function(g){return d.Mn.pn(g,p).next(function(y){u=y;for(var A=[],x=0,C=c;x0?l.bo=!0:r.modifiedDocuments.size>0?Nr(l.bo):r.removedDocuments.size>0&&(Nr(l.bo),l.bo=!1))}),[4,Y7(n,o,e)];case 3:return i.sent(),[3,6];case 4:return[4,jb(i.sent())];case 5:return i.sent(),[3,6];case 6:return[2]}})})}function RPe(t,e,n){var o=Ri(t);if(o.isPrimaryClient&&n===0||!o.isPrimaryClient&&n===1){var i=[];o.Po.forEach(function(r,a){var l=a.view.zr(e);l.snapshot&&i.push(l.snapshot)}),function(r,a){var l=Ri(r);l.onlineState=a;var s=!1;l.queries.forEach(function(c,u){for(var d=0,f=u.listeners;d0&&t.Do.size0||u&&o.lo(y,u)<0)&&(s=!0)):!g&&y?(i.track({type:0,doc:y}),C=!0):g&&!y&&(i.track({type:1,doc:g}),C=!0,(c||u)&&(s=!0)),C&&(y?(l=l.add(y),a=x?a.add(f):a.delete(f)):(l=l.delete(f),a=a.delete(f)))}),q_(this.query)||mX(this.query))for(;l.size>this.query.limit;){var d=q_(this.query)?l.last():l.first();l=l.delete(d.key),a=a.delete(d.key),i.track({type:1,doc:d})}return{fo:l,mo:i,Nn:s,mutatedKeys:a}},t.prototype.yo=function(e,n){return e.hasLocalMutations&&n.hasCommittedMutations&&!n.hasLocalMutations},t.prototype.applyChanges=function(e,n,o){var i=this,r=this.fo;this.fo=e.fo,this.mutatedKeys=e.mutatedKeys;var a=e.mo.jr();a.sort(function(u,d){return function(f,p){var g=function(y){switch(y){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return or()}};return g(f)-g(p)}(u.type,d.type)||i.lo(u.doc,d.doc)}),this.po(o);var l=n?this.Eo():[],s=this.ho.size===0&&this.current?1:0,c=s!==this.ao;return this.ao=s,a.length!==0||c?{snapshot:new SX(this.query,e.fo,r,a,e.mutatedKeys,s===0,c,!1),To:l}:{To:l}},t.prototype.zr=function(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({fo:this.fo,mo:new CPe,mutatedKeys:this.mutatedKeys,Nn:!1},!1)):{To:[]}},t.prototype.Io=function(e){return!this.uo.has(e)&&!!this.fo.has(e)&&!this.fo.get(e).hasLocalMutations},t.prototype.po=function(e){var n=this;e&&(e.addedDocuments.forEach(function(o){return n.uo=n.uo.add(o)}),e.modifiedDocuments.forEach(function(o){}),e.removedDocuments.forEach(function(o){return n.uo=n.uo.delete(o)}),this.current=e.current)},t.prototype.Eo=function(){var e=this;if(!this.current)return[];var n=this.ho;this.ho=_s(),this.fo.forEach(function(i){e.Io(i.key)&&(e.ho=e.ho.add(i.key))});var o=[];return n.forEach(function(i){e.ho.has(i)||o.push(new Tet(i))}),this.ho.forEach(function(i){n.has(i)||o.push(new bet(i))}),o},t.prototype.Ao=function(e){this.uo=e.Bn,this.ho=_s();var n=this._o(e.documents);return this.applyChanges(n,!0)},t.prototype.Ro=function(){return SX.fromInitialDocuments(this.query,this.fo,this.mutatedKeys,this.ao===0)},t}(),iBn=function(t,e,n){this.query=t,this.targetId=e,this.view=n},rBn=function(t){this.key=t,this.bo=!1},aBn=function(){function t(e,n,o,i,r,a){this.localStore=e,this.remoteStore=n,this.eventManager=o,this.sharedClientState=i,this.currentUser=r,this.maxConcurrentLimboResolutions=a,this.vo={},this.Po=new JH(function(l){return PZe(l)},vN),this.Vo=new Map,this.So=new Set,this.Do=new xh(sr.comparator),this.Co=new Map,this.No=new C2e,this.xo={},this.ko=new Map,this.Fo=wX.Yt(),this.onlineState="Unknown",this.$o=void 0}return Object.defineProperty(t.prototype,"isPrimaryClient",{get:function(){return this.$o===!0},enumerable:!1,configurable:!0}),t}();function lBn(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l;return ho(this,function(s){switch(s.label){case 0:return n=U2e(t),(r=n.Po.get(e))?(o=r.targetId,n.sharedClientState.addLocalQueryTarget(o),i=r.view.Ro(),[3,4]):[3,1];case 1:return[4,vX(n.localStore,W9(e))];case 2:return a=s.sent(),l=n.sharedClientState.addLocalQueryTarget(a.targetId),o=a.targetId,[4,F2e(n,e,o,l==="current")];case 3:i=s.sent(),n.isPrimaryClient&&aZ(n.remoteStore,a),s.label=4;case 4:return[2,i]}})})}function F2e(t,e,n,o){return Ao(this,void 0,void 0,function(){var i,r,a,l,s,c;return ho(this,function(u){switch(u.label){case 0:return t.Oo=function(d,f,p){return function(g,y,A,x){return Ao(this,void 0,void 0,function(){var C,b,v;return ho(this,function(S){switch(S.label){case 0:return C=y.view._o(A),C.Nn?[4,xX(g.localStore,y.query,!1).then(function(w){var T=w.documents;return y.view._o(T,C)})]:[3,2];case 1:C=S.sent(),S.label=2;case 2:return b=x&&x.targetChanges.get(y.targetId),v=y.view.applyChanges(C,g.isPrimaryClient,b),[2,(mde(g,y.targetId,v.To),v.snapshot)]}})})}(t,d,f,p)},[4,xX(t.localStore,e,!0)];case 1:return i=u.sent(),r=new Pet(e,i.Bn),a=r._o(i.documents),l=w2e.createSynthesizedTargetChangeForCurrentChange(n,o&&t.onlineState!=="Offline"),s=r.applyChanges(a,t.isPrimaryClient,l),mde(t,n,s.To),c=new iBn(e,n,r),[2,(t.Po.set(e,c),t.Vo.has(n)?t.Vo.get(n).push(e):t.Vo.set(n,[e]),s.snapshot)]}})})}function sBn(t,e){return Ao(this,void 0,void 0,function(){var n,o,i;return ho(this,function(r){switch(r.label){case 0:return n=Ri(t),o=n.Po.get(e),(i=n.Vo.get(o.targetId)).length>1?[2,(n.Vo.set(o.targetId,i.filter(function(a){return!vN(a,e)})),void n.Po.delete(e))]:n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(o.targetId),n.sharedClientState.isActiveQueryTarget(o.targetId)?[3,2]:[4,zR(n.localStore,o.targetId,!1).then(function(){n.sharedClientState.clearQueryState(o.targetId),yF(n.remoteStore,o.targetId),DR(n,o.targetId)}).catch(jb)]):[3,3];case 1:r.sent(),r.label=2;case 2:return[3,5];case 3:return DR(n,o.targetId),[4,zR(n.localStore,o.targetId,!0)];case 4:r.sent(),r.label=5;case 5:return[2]}})})}function cBn(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:o=B2e(t),l.label=1;case 1:return l.trys.push([1,5,,6]),[4,function(s,c){var u,d=Ri(s),f=Jp.now(),p=c.reduce(function(g,y){return g.add(y.key)},_s());return d.persistence.runTransaction("Locally write mutations","readwrite",function(g){return d.Mn.pn(g,p).next(function(y){u=y;for(var A=[],x=0,C=c;x0?l.bo=!0:r.modifiedDocuments.size>0?Nr(l.bo):r.removedDocuments.size>0&&(Nr(l.bo),l.bo=!1))}),[4,Y7(n,o,e)];case 3:return i.sent(),[3,6];case 4:return[4,jb(i.sent())];case 5:return i.sent(),[3,6];case 6:return[2]}})})}function RPe(t,e,n){var o=Ri(t);if(o.isPrimaryClient&&n===0||!o.isPrimaryClient&&n===1){var i=[];o.Po.forEach(function(r,a){var l=a.view.zr(e);l.snapshot&&i.push(l.snapshot)}),function(r,a){var l=Ri(r);l.onlineState=a;var s=!1;l.queries.forEach(function(c,u){for(var d=0,f=u.listeners;d0&&t.Do.size0)throw new ko(On.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes.");return[4,function(r,a){return Ao(this,void 0,void 0,function(){var l,s,c,u,d,f;return ho(this,function(p){switch(p.label){case 0:return l=Ri(r),s=mF(l.R)+"/documents",c={documents:a.map(function(g){return gF(l.R,g)})},[4,l.$i("BatchGetDocuments",s,c)];case 1:return u=p.sent(),d=new Map,u.forEach(function(g){var y=function(A,x){return"found"in x?function(C,b){Nr(!!b.found),b.found.name,b.found.updateTime;var v=H6(C,b.found.name),S=op(b.found.updateTime),w=new ag({mapValue:{fields:b.found.fields}});return ph.newFoundDocument(v,S,w)}(A,x):"missing"in x?function(C,b){Nr(!!b.missing),Nr(!!b.readTime);var v=H6(C,b.missing),S=op(b.readTime);return ph.newNoDocument(v,S)}(A,x):or()}(l.R,g);d.set(y.key.toString(),y)}),f=[],[2,(a.forEach(function(g){var y=d.get(g.toString());Nr(!!y),f.push(y)}),f)]}})})}(this.datastore,e)];case 1:return[2,((n=i.sent()).forEach(function(r){return o.recordVersion(r)}),n)]}})})},t.prototype.set=function(e,n){this.write(n.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())},t.prototype.update=function(e,n){try{this.write(n.toMutation(e,this.preconditionForUpdate(e)))}catch(o){this.lastWriteError=o}this.writtenDocs.add(e.toString())},t.prototype.delete=function(e){this.write(new TN(e,this.precondition(e))),this.writtenDocs.add(e.toString())},t.prototype.commit=function(){return Ao(this,void 0,void 0,function(){var e,n=this;return ho(this,function(o){switch(o.label){case 0:if(this.ensureCommitNotCalled(),this.lastWriteError)throw this.lastWriteError;return e=this.readVersions,this.mutations.forEach(function(i){e.delete(i.key.toString())}),e.forEach(function(i,r){var a=sr.fromPath(r);n.mutations.push(new y2e(a,n.precondition(a)))}),[4,function(i,r){return Ao(this,void 0,void 0,function(){var a,l,s;return ho(this,function(c){switch(c.label){case 0:return a=Ri(i),l=mF(a.R)+"/documents",s={writes:r.map(function(u){return yX(a.R,u)})},[4,a.Ni("Commit",l,s)];case 1:return c.sent(),[2]}})})}(this.datastore,this.mutations)];case 1:return o.sent(),this.committed=!0,[2]}})})},t.prototype.recordVersion=function(e){var n;if(e.isFoundDocument())n=e.version;else{if(!e.isNoDocument())throw or();n=Ea.min()}var o=this.readVersions.get(e.key.toString());if(o){if(!n.isEqual(o))throw new ko(On.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),n)},t.prototype.precondition=function(e){var n=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&n?sh.updateTime(n):sh.none()},t.prototype.preconditionForUpdate=function(e){var n=this.readVersions.get(e.toString());if(!this.writtenDocs.has(e.toString())&&n){if(n.isEqual(Ea.min()))throw new ko(On.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return sh.updateTime(n)}return sh.exists(!0)},t.prototype.write=function(e){this.ensureCommitNotCalled(),this.mutations.push(e)},t.prototype.ensureCommitNotCalled=function(){},t}(),HBn=function(){function t(e,n,o,i){this.asyncQueue=e,this.datastore=n,this.updateFunction=o,this.deferred=i,this.ec=5,this.Zi=new R2e(this.asyncQueue,"transaction_retry")}return t.prototype.run=function(){this.ec-=1,this.nc()},t.prototype.nc=function(){var e=this;this.Zi.ji(function(){return Ao(e,void 0,void 0,function(){var n,o,i=this;return ho(this,function(r){return n=new RBn(this.datastore),(o=this.sc(n))&&o.then(function(a){i.asyncQueue.enqueueAndForget(function(){return n.commit().then(function(){i.deferred.resolve(a)}).catch(function(l){i.ic(l)})})}).catch(function(a){i.ic(a)}),[2]})})})},t.prototype.sc=function(e){try{var n=this.updateFunction(e);return!Ub(n)&&n.catch&&n.then?n:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(o){return this.deferred.reject(o),null}},t.prototype.ic=function(e){var n=this;this.ec>0&&this.rc(e)?(this.ec-=1,this.asyncQueue.enqueueAndForget(function(){return n.nc(),Promise.resolve()})):this.deferred.reject(e)},t.prototype.rc=function(e){if(e.name==="FirebaseError"){var n=e.code;return n==="aborted"||n==="failed-precondition"||!FZe(n)}return!1},t}(),MBn=function(){function t(e,n,o){var i=this;this.credentials=e,this.asyncQueue=n,this.databaseInfo=o,this.user=Zd.UNAUTHENTICATED,this.clientId=gZe.u(),this.credentialListener=function(){return Promise.resolve()},this.credentials.setChangeListener(n,function(r){return Ao(i,void 0,void 0,function(){return ho(this,function(a){switch(a.label){case 0:return ai("FirestoreClient","Received user=",r.uid),[4,this.credentialListener(r)];case 1:return a.sent(),this.user=r,[2]}})})})}return t.prototype.getConfiguration=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return[2,{asyncQueue:this.asyncQueue,databaseInfo:this.databaseInfo,clientId:this.clientId,credentials:this.credentials,initialUser:this.user,maxConcurrentLimboResolutions:100}]})})},t.prototype.setCredentialChangeListener=function(e){this.credentialListener=e},t.prototype.verifyNotTerminated=function(){if(this.asyncQueue.isShuttingDown)throw new ko(On.FAILED_PRECONDITION,"The client has already been terminated.")},t.prototype.terminate=function(){var e=this;this.asyncQueue.enterRestrictedMode();var n=new Zp;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(function(){return Ao(e,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return r.trys.push([0,5,,6]),this.onlineComponents?[4,this.onlineComponents.terminate()]:[3,2];case 1:r.sent(),r.label=2;case 2:return this.offlineComponents?[4,this.offlineComponents.terminate()]:[3,4];case 3:r.sent(),r.label=4;case 4:return this.credentials.removeChangeListener(),n.resolve(),[3,6];case 5:return o=r.sent(),i=QH(o,"Failed to shutdown persistence"),n.reject(i),[3,6];case 6:return[2]}})})}),n.promise},t}();/** + */var lZ=function(){function t(e){this.observer=e,this.muted=!1}return t.prototype.next=function(e){this.observer.next&&this.jo(this.observer.next,e)},t.prototype.error=function(e){this.observer.error?this.jo(this.observer.error,e):console.error("Uncaught Error in snapshot listener:",e)},t.prototype.Wo=function(){this.muted=!0},t.prototype.jo=function(e,n){var o=this;this.muted||setTimeout(function(){o.muted||e(n)},0)},t}(),PBn=function(){function t(e){this.datastore=e,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastWriteError=null,this.writtenDocs=new Set}return t.prototype.lookup=function(e){return Ao(this,void 0,void 0,function(){var n,o=this;return ho(this,function(i){switch(i.label){case 0:if(this.ensureCommitNotCalled(),this.mutations.length>0)throw new ko(On.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes.");return[4,function(r,a){return Ao(this,void 0,void 0,function(){var l,s,c,u,d,f;return ho(this,function(p){switch(p.label){case 0:return l=Ri(r),s=mF(l.R)+"/documents",c={documents:a.map(function(g){return gF(l.R,g)})},[4,l.$i("BatchGetDocuments",s,c)];case 1:return u=p.sent(),d=new Map,u.forEach(function(g){var y=function(A,x){return"found"in x?function(C,b){Nr(!!b.found),b.found.name,b.found.updateTime;var v=H6(C,b.found.name),S=op(b.found.updateTime),w=new lg({mapValue:{fields:b.found.fields}});return ph.newFoundDocument(v,S,w)}(A,x):"missing"in x?function(C,b){Nr(!!b.missing),Nr(!!b.readTime);var v=H6(C,b.missing),S=op(b.readTime);return ph.newNoDocument(v,S)}(A,x):or()}(l.R,g);d.set(y.key.toString(),y)}),f=[],[2,(a.forEach(function(g){var y=d.get(g.toString());Nr(!!y),f.push(y)}),f)]}})})}(this.datastore,e)];case 1:return[2,((n=i.sent()).forEach(function(r){return o.recordVersion(r)}),n)]}})})},t.prototype.set=function(e,n){this.write(n.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())},t.prototype.update=function(e,n){try{this.write(n.toMutation(e,this.preconditionForUpdate(e)))}catch(o){this.lastWriteError=o}this.writtenDocs.add(e.toString())},t.prototype.delete=function(e){this.write(new TN(e,this.precondition(e))),this.writtenDocs.add(e.toString())},t.prototype.commit=function(){return Ao(this,void 0,void 0,function(){var e,n=this;return ho(this,function(o){switch(o.label){case 0:if(this.ensureCommitNotCalled(),this.lastWriteError)throw this.lastWriteError;return e=this.readVersions,this.mutations.forEach(function(i){e.delete(i.key.toString())}),e.forEach(function(i,r){var a=sr.fromPath(r);n.mutations.push(new y2e(a,n.precondition(a)))}),[4,function(i,r){return Ao(this,void 0,void 0,function(){var a,l,s;return ho(this,function(c){switch(c.label){case 0:return a=Ri(i),l=mF(a.R)+"/documents",s={writes:r.map(function(u){return yX(a.R,u)})},[4,a.Ni("Commit",l,s)];case 1:return c.sent(),[2]}})})}(this.datastore,this.mutations)];case 1:return o.sent(),this.committed=!0,[2]}})})},t.prototype.recordVersion=function(e){var n;if(e.isFoundDocument())n=e.version;else{if(!e.isNoDocument())throw or();n=Ea.min()}var o=this.readVersions.get(e.key.toString());if(o){if(!n.isEqual(o))throw new ko(On.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),n)},t.prototype.precondition=function(e){var n=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&n?sh.updateTime(n):sh.none()},t.prototype.preconditionForUpdate=function(e){var n=this.readVersions.get(e.toString());if(!this.writtenDocs.has(e.toString())&&n){if(n.isEqual(Ea.min()))throw new ko(On.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return sh.updateTime(n)}return sh.exists(!0)},t.prototype.write=function(e){this.ensureCommitNotCalled(),this.mutations.push(e)},t.prototype.ensureCommitNotCalled=function(){},t}(),CBn=function(){function t(e,n,o,i){this.asyncQueue=e,this.datastore=n,this.updateFunction=o,this.deferred=i,this.ec=5,this.Zi=new R2e(this.asyncQueue,"transaction_retry")}return t.prototype.run=function(){this.ec-=1,this.nc()},t.prototype.nc=function(){var e=this;this.Zi.ji(function(){return Ao(e,void 0,void 0,function(){var n,o,i=this;return ho(this,function(r){return n=new PBn(this.datastore),(o=this.sc(n))&&o.then(function(a){i.asyncQueue.enqueueAndForget(function(){return n.commit().then(function(){i.deferred.resolve(a)}).catch(function(l){i.ic(l)})})}).catch(function(a){i.ic(a)}),[2]})})})},t.prototype.sc=function(e){try{var n=this.updateFunction(e);return!Ub(n)&&n.catch&&n.then?n:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(o){return this.deferred.reject(o),null}},t.prototype.ic=function(e){var n=this;this.ec>0&&this.rc(e)?(this.ec-=1,this.asyncQueue.enqueueAndForget(function(){return n.nc(),Promise.resolve()})):this.deferred.reject(e)},t.prototype.rc=function(e){if(e.name==="FirebaseError"){var n=e.code;return n==="aborted"||n==="failed-precondition"||!FZe(n)}return!1},t}(),RBn=function(){function t(e,n,o){var i=this;this.credentials=e,this.asyncQueue=n,this.databaseInfo=o,this.user=Zd.UNAUTHENTICATED,this.clientId=gZe.u(),this.credentialListener=function(){return Promise.resolve()},this.credentials.setChangeListener(n,function(r){return Ao(i,void 0,void 0,function(){return ho(this,function(a){switch(a.label){case 0:return ai("FirestoreClient","Received user=",r.uid),[4,this.credentialListener(r)];case 1:return a.sent(),this.user=r,[2]}})})})}return t.prototype.getConfiguration=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return[2,{asyncQueue:this.asyncQueue,databaseInfo:this.databaseInfo,clientId:this.clientId,credentials:this.credentials,initialUser:this.user,maxConcurrentLimboResolutions:100}]})})},t.prototype.setCredentialChangeListener=function(e){this.credentialListener=e},t.prototype.verifyNotTerminated=function(){if(this.asyncQueue.isShuttingDown)throw new ko(On.FAILED_PRECONDITION,"The client has already been terminated.")},t.prototype.terminate=function(){var e=this;this.asyncQueue.enterRestrictedMode();var n=new e1;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(function(){return Ao(e,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return r.trys.push([0,5,,6]),this.onlineComponents?[4,this.onlineComponents.terminate()]:[3,2];case 1:r.sent(),r.label=2;case 2:return this.offlineComponents?[4,this.offlineComponents.terminate()]:[3,4];case 3:r.sent(),r.label=4;case 4:return this.credentials.removeChangeListener(),n.resolve(),[3,6];case 5:return o=r.sent(),i=QH(o,"Failed to shutdown persistence"),n.reject(i),[3,6];case 6:return[2]}})})}),n.promise},t}();/** * @license * Copyright 2020 Google LLC * @@ -6188,7 +6188,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function zet(t,e){return Ao(this,void 0,void 0,function(){var n,o,i=this;return ho(this,function(r){switch(r.label){case 0:return t.asyncQueue.verifyOperationInProgress(),ai("FirestoreClient","Initializing OfflineComponentProvider"),[4,t.getConfiguration()];case 1:return n=r.sent(),[4,e.initialize(n)];case 2:return r.sent(),o=n.initialUser,t.setCredentialChangeListener(function(a){return Ao(i,void 0,void 0,function(){return ho(this,function(l){switch(l.label){case 0:return o.isEqual(a)?[3,2]:[4,cet(e.localStore,a)];case 1:l.sent(),o=a,l.label=2;case 2:return[2]}})})}),e.persistence.setDatabaseDeletedListener(function(){return t.terminate()}),t.offlineComponents=e,[2]}})})}function Det(t,e){return Ao(this,void 0,void 0,function(){var n,o;return ho(this,function(i){switch(i.label){case 0:return t.asyncQueue.verifyOperationInProgress(),[4,j2e(t)];case 1:return n=i.sent(),ai("FirestoreClient","Initializing OnlineComponentProvider"),[4,t.getConfiguration()];case 2:return o=i.sent(),[4,e.initialize(n,o)];case 3:return i.sent(),t.setCredentialChangeListener(function(r){return function(a,l){return Ao(this,void 0,void 0,function(){var s,c;return ho(this,function(u){switch(u.label){case 0:return(s=Ri(a)).asyncQueue.verifyOperationInProgress(),ai("RemoteStore","RemoteStore received new credentials"),c=j7(s),s.Or.add(3),[4,KH(s)];case 1:return u.sent(),c&&s.Br.set("Unknown"),[4,s.remoteSyncer.handleCredentialChange(l)];case 2:return u.sent(),s.Or.delete(3),[4,PN(s)];case 3:return u.sent(),[2]}})})}(e.remoteStore,r)}),t.onlineComponents=e,[2]}})})}function j2e(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return t.offlineComponents?[3,2]:(ai("FirestoreClient","Using default OfflineComponentProvider"),[4,zet(t,new Met)]);case 1:e.sent(),e.label=2;case 2:return[2,t.offlineComponents]}})})}function sZ(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return t.onlineComponents?[3,2]:(ai("FirestoreClient","Using default OnlineComponentProvider"),[4,Det(t,new yde)]);case 1:e.sent(),e.label=2;case 2:return[2,t.onlineComponents]}})})}function MPe(t){return j2e(t).then(function(e){return e.persistence})}function Eet(t){return j2e(t).then(function(e){return e.localStore})}function IPe(t){return sZ(t).then(function(e){return e.remoteStore})}function ket(t){return sZ(t).then(function(e){return e.syncEngine})}function ER(t){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return[4,sZ(t)];case 1:return e=o.sent(),[2,((n=e.eventManager).onListen=cBn.bind(null,e.syncEngine),n.onUnlisten=uBn.bind(null,e.syncEngine),n)]}})})}function zPe(t,e,n){var o=this;n===void 0&&(n={});var i=new Zp;return t.asyncQueue.enqueueAndForget(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return r=function(l,s,c,u,d){var f=new lZ({next:function(g){s.enqueueAndForget(function(){return D2e(l,p)});var y=g.docs.has(c);!y&&g.fromCache?d.reject(new ko(On.UNAVAILABLE,"Failed to get document because the client is offline.")):y&&g.fromCache&&u&&u.source==="server"?d.reject(new ko(On.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):d.resolve(g)},error:function(g){return d.reject(g)}}),p=new k2e(wN(c.path),f,{includeMetadataChanges:!0,so:!0});return z2e(l,p)},[4,ER(t)];case 1:return[2,r.apply(void 0,[a.sent(),t.asyncQueue,e,n,i])]}})})}),i.promise}function DPe(t,e,n){var o=this;n===void 0&&(n={});var i=new Zp;return t.asyncQueue.enqueueAndForget(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return r=function(l,s,c,u,d){var f=new lZ({next:function(g){s.enqueueAndForget(function(){return D2e(l,p)}),g.fromCache&&u.source==="server"?d.reject(new ko(On.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):d.resolve(g)},error:function(g){return d.reject(g)}}),p=new k2e(c,f,{includeMetadataChanges:!0,so:!0});return z2e(l,p)},[4,ER(t)];case 1:return[2,r.apply(void 0,[a.sent(),t.asyncQueue,e,n,i])]}})})}),i.promise}var IBn=function(t,e,n,o,i,r,a,l){this.databaseId=t,this.appId=e,this.persistenceKey=n,this.host=o,this.ssl=i,this.forceLongPolling=r,this.autoDetectLongPolling=a,this.useFetchStreams=l},TX=function(){function t(e,n){this.projectId=e,this.database=n||"(default)"}return Object.defineProperty(t.prototype,"isDefaultDatabase",{get:function(){return this.database==="(default)"},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return e instanceof t&&e.projectId===this.projectId&&e.database===this.database},t}(),EPe=new Map,Fet=function(t,e){this.user=e,this.type="OAuth",this.authHeaders={},this.authHeaders.Authorization="Bearer "+t},kPe=function(){function t(){this.changeListener=null}return t.prototype.getToken=function(){return Promise.resolve(null)},t.prototype.invalidateToken=function(){},t.prototype.setChangeListener=function(e,n){this.changeListener=n,e.enqueueRetryable(function(){return n(Zd.UNAUTHENTICATED)})},t.prototype.removeChangeListener=function(){this.changeListener=null},t}(),zBn=function(){function t(e){this.token=e,this.changeListener=null}return t.prototype.getToken=function(){return Promise.resolve(this.token)},t.prototype.invalidateToken=function(){},t.prototype.setChangeListener=function(e,n){var o=this;this.changeListener=n,e.enqueueRetryable(function(){return n(o.token.user)})},t.prototype.removeChangeListener=function(){this.changeListener=null},t}(),DBn=function(){function t(e){var n=this;this.currentUser=Zd.UNAUTHENTICATED,this.oc=new Zp,this.cc=0,this.forceRefresh=!1,this.auth=null,this.asyncQueue=null,this.uc=function(){n.cc++,n.currentUser=n.ac(),n.oc.resolve(),n.changeListener&&n.asyncQueue.enqueueRetryable(function(){return n.changeListener(n.currentUser)})};var o=function(i){ai("FirebaseCredentialsProvider","Auth detected"),n.auth=i,n.auth.addAuthTokenListener(n.uc)};e.onInit(function(i){return o(i)}),setTimeout(function(){if(!n.auth){var i=e.getImmediate({optional:!0});i?o(i):(ai("FirebaseCredentialsProvider","Auth not yet detected"),n.oc.resolve())}},0)}return t.prototype.getToken=function(){var e=this,n=this.cc,o=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(o).then(function(i){return e.cc!==n?(ai("FirebaseCredentialsProvider","getToken aborted due to token change."),e.getToken()):i?(Nr(typeof i.accessToken=="string"),new Fet(i.accessToken,e.currentUser)):null}):Promise.resolve(null)},t.prototype.invalidateToken=function(){this.forceRefresh=!0},t.prototype.setChangeListener=function(e,n){var o=this;this.asyncQueue=e,this.asyncQueue.enqueueRetryable(function(){return Ao(o,void 0,void 0,function(){return ho(this,function(i){switch(i.label){case 0:return[4,this.oc.promise];case 1:return i.sent(),[4,n(this.currentUser)];case 2:return i.sent(),this.changeListener=n,[2]}})})})},t.prototype.removeChangeListener=function(){this.auth&&this.auth.removeAuthTokenListener(this.uc),this.changeListener=function(){return Promise.resolve()}},t.prototype.ac=function(){var e=this.auth&&this.auth.getUid();return Nr(e===null||typeof e=="string"),new Zd(e)},t}(),EBn=function(){function t(e,n,o){this.hc=e,this.lc=n,this.fc=o,this.type="FirstParty",this.user=Zd.FIRST_PARTY}return Object.defineProperty(t.prototype,"authHeaders",{get:function(){var e={"X-Goog-AuthUser":this.lc},n=this.hc.auth.getAuthHeaderValueForFirstParty([]);return n&&(e.Authorization=n),this.fc&&(e["X-Goog-Iam-Authorization-Token"]=this.fc),e},enumerable:!1,configurable:!0}),t}(),kBn=function(){function t(e,n,o){this.hc=e,this.lc=n,this.fc=o}return t.prototype.getToken=function(){return Promise.resolve(new EBn(this.hc,this.lc,this.fc))},t.prototype.setChangeListener=function(e,n){e.enqueueRetryable(function(){return n(Zd.FIRST_PARTY)})},t.prototype.removeChangeListener=function(){},t.prototype.invalidateToken=function(){},t}();/** + */function zet(t,e){return Ao(this,void 0,void 0,function(){var n,o,i=this;return ho(this,function(r){switch(r.label){case 0:return t.asyncQueue.verifyOperationInProgress(),ai("FirestoreClient","Initializing OfflineComponentProvider"),[4,t.getConfiguration()];case 1:return n=r.sent(),[4,e.initialize(n)];case 2:return r.sent(),o=n.initialUser,t.setCredentialChangeListener(function(a){return Ao(i,void 0,void 0,function(){return ho(this,function(l){switch(l.label){case 0:return o.isEqual(a)?[3,2]:[4,cet(e.localStore,a)];case 1:l.sent(),o=a,l.label=2;case 2:return[2]}})})}),e.persistence.setDatabaseDeletedListener(function(){return t.terminate()}),t.offlineComponents=e,[2]}})})}function Det(t,e){return Ao(this,void 0,void 0,function(){var n,o;return ho(this,function(i){switch(i.label){case 0:return t.asyncQueue.verifyOperationInProgress(),[4,j2e(t)];case 1:return n=i.sent(),ai("FirestoreClient","Initializing OnlineComponentProvider"),[4,t.getConfiguration()];case 2:return o=i.sent(),[4,e.initialize(n,o)];case 3:return i.sent(),t.setCredentialChangeListener(function(r){return function(a,l){return Ao(this,void 0,void 0,function(){var s,c;return ho(this,function(u){switch(u.label){case 0:return(s=Ri(a)).asyncQueue.verifyOperationInProgress(),ai("RemoteStore","RemoteStore received new credentials"),c=j7(s),s.Or.add(3),[4,KH(s)];case 1:return u.sent(),c&&s.Br.set("Unknown"),[4,s.remoteSyncer.handleCredentialChange(l)];case 2:return u.sent(),s.Or.delete(3),[4,PN(s)];case 3:return u.sent(),[2]}})})}(e.remoteStore,r)}),t.onlineComponents=e,[2]}})})}function j2e(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return t.offlineComponents?[3,2]:(ai("FirestoreClient","Using default OfflineComponentProvider"),[4,zet(t,new Met)]);case 1:e.sent(),e.label=2;case 2:return[2,t.offlineComponents]}})})}function sZ(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return t.onlineComponents?[3,2]:(ai("FirestoreClient","Using default OnlineComponentProvider"),[4,Det(t,new yde)]);case 1:e.sent(),e.label=2;case 2:return[2,t.onlineComponents]}})})}function MPe(t){return j2e(t).then(function(e){return e.persistence})}function Eet(t){return j2e(t).then(function(e){return e.localStore})}function IPe(t){return sZ(t).then(function(e){return e.remoteStore})}function ket(t){return sZ(t).then(function(e){return e.syncEngine})}function ER(t){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return[4,sZ(t)];case 1:return e=o.sent(),[2,((n=e.eventManager).onListen=lBn.bind(null,e.syncEngine),n.onUnlisten=sBn.bind(null,e.syncEngine),n)]}})})}function zPe(t,e,n){var o=this;n===void 0&&(n={});var i=new e1;return t.asyncQueue.enqueueAndForget(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return r=function(l,s,c,u,d){var f=new lZ({next:function(g){s.enqueueAndForget(function(){return D2e(l,p)});var y=g.docs.has(c);!y&&g.fromCache?d.reject(new ko(On.UNAVAILABLE,"Failed to get document because the client is offline.")):y&&g.fromCache&&u&&u.source==="server"?d.reject(new ko(On.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):d.resolve(g)},error:function(g){return d.reject(g)}}),p=new k2e(wN(c.path),f,{includeMetadataChanges:!0,so:!0});return z2e(l,p)},[4,ER(t)];case 1:return[2,r.apply(void 0,[a.sent(),t.asyncQueue,e,n,i])]}})})}),i.promise}function DPe(t,e,n){var o=this;n===void 0&&(n={});var i=new e1;return t.asyncQueue.enqueueAndForget(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return r=function(l,s,c,u,d){var f=new lZ({next:function(g){s.enqueueAndForget(function(){return D2e(l,p)}),g.fromCache&&u.source==="server"?d.reject(new ko(On.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):d.resolve(g)},error:function(g){return d.reject(g)}}),p=new k2e(c,f,{includeMetadataChanges:!0,so:!0});return z2e(l,p)},[4,ER(t)];case 1:return[2,r.apply(void 0,[a.sent(),t.asyncQueue,e,n,i])]}})})}),i.promise}var HBn=function(t,e,n,o,i,r,a,l){this.databaseId=t,this.appId=e,this.persistenceKey=n,this.host=o,this.ssl=i,this.forceLongPolling=r,this.autoDetectLongPolling=a,this.useFetchStreams=l},TX=function(){function t(e,n){this.projectId=e,this.database=n||"(default)"}return Object.defineProperty(t.prototype,"isDefaultDatabase",{get:function(){return this.database==="(default)"},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return e instanceof t&&e.projectId===this.projectId&&e.database===this.database},t}(),EPe=new Map,Fet=function(t,e){this.user=e,this.type="OAuth",this.authHeaders={},this.authHeaders.Authorization="Bearer "+t},kPe=function(){function t(){this.changeListener=null}return t.prototype.getToken=function(){return Promise.resolve(null)},t.prototype.invalidateToken=function(){},t.prototype.setChangeListener=function(e,n){this.changeListener=n,e.enqueueRetryable(function(){return n(Zd.UNAUTHENTICATED)})},t.prototype.removeChangeListener=function(){this.changeListener=null},t}(),MBn=function(){function t(e){this.token=e,this.changeListener=null}return t.prototype.getToken=function(){return Promise.resolve(this.token)},t.prototype.invalidateToken=function(){},t.prototype.setChangeListener=function(e,n){var o=this;this.changeListener=n,e.enqueueRetryable(function(){return n(o.token.user)})},t.prototype.removeChangeListener=function(){this.changeListener=null},t}(),IBn=function(){function t(e){var n=this;this.currentUser=Zd.UNAUTHENTICATED,this.oc=new e1,this.cc=0,this.forceRefresh=!1,this.auth=null,this.asyncQueue=null,this.uc=function(){n.cc++,n.currentUser=n.ac(),n.oc.resolve(),n.changeListener&&n.asyncQueue.enqueueRetryable(function(){return n.changeListener(n.currentUser)})};var o=function(i){ai("FirebaseCredentialsProvider","Auth detected"),n.auth=i,n.auth.addAuthTokenListener(n.uc)};e.onInit(function(i){return o(i)}),setTimeout(function(){if(!n.auth){var i=e.getImmediate({optional:!0});i?o(i):(ai("FirebaseCredentialsProvider","Auth not yet detected"),n.oc.resolve())}},0)}return t.prototype.getToken=function(){var e=this,n=this.cc,o=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(o).then(function(i){return e.cc!==n?(ai("FirebaseCredentialsProvider","getToken aborted due to token change."),e.getToken()):i?(Nr(typeof i.accessToken=="string"),new Fet(i.accessToken,e.currentUser)):null}):Promise.resolve(null)},t.prototype.invalidateToken=function(){this.forceRefresh=!0},t.prototype.setChangeListener=function(e,n){var o=this;this.asyncQueue=e,this.asyncQueue.enqueueRetryable(function(){return Ao(o,void 0,void 0,function(){return ho(this,function(i){switch(i.label){case 0:return[4,this.oc.promise];case 1:return i.sent(),[4,n(this.currentUser)];case 2:return i.sent(),this.changeListener=n,[2]}})})})},t.prototype.removeChangeListener=function(){this.auth&&this.auth.removeAuthTokenListener(this.uc),this.changeListener=function(){return Promise.resolve()}},t.prototype.ac=function(){var e=this.auth&&this.auth.getUid();return Nr(e===null||typeof e=="string"),new Zd(e)},t}(),zBn=function(){function t(e,n,o){this.hc=e,this.lc=n,this.fc=o,this.type="FirstParty",this.user=Zd.FIRST_PARTY}return Object.defineProperty(t.prototype,"authHeaders",{get:function(){var e={"X-Goog-AuthUser":this.lc},n=this.hc.auth.getAuthHeaderValueForFirstParty([]);return n&&(e.Authorization=n),this.fc&&(e["X-Goog-Iam-Authorization-Token"]=this.fc),e},enumerable:!1,configurable:!0}),t}(),DBn=function(){function t(e,n,o){this.hc=e,this.lc=n,this.fc=o}return t.prototype.getToken=function(){return Promise.resolve(new zBn(this.hc,this.lc,this.fc))},t.prototype.setChangeListener=function(e,n){e.enqueueRetryable(function(){return n(Zd.FIRST_PARTY)})},t.prototype.removeChangeListener=function(){},t.prototype.invalidateToken=function(){},t}();/** * @license * Copyright 2017 Google LLC * @@ -6218,7 +6218,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var NPe=function(){function t(e){var n;if(e.host===void 0){if(e.ssl!==void 0)throw new ko(On.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host="firestore.googleapis.com",this.ssl=!0}else this.host=e.host,this.ssl=(n=e.ssl)===null||n===void 0||n;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,e.cacheSizeBytes===void 0)this.cacheSizeBytes=41943040;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<1048576)throw new ko(On.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.useFetchStreams=!!e.useFetchStreams,Let("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling)}return t.prototype.isEqual=function(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams},t}(),AF=function(){function t(e,n){this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new NPe({}),this._settingsFrozen=!1,e instanceof TX?(this._databaseId=e,this._credentials=new kPe):(this._app=e,this._databaseId=function(o){if(!Object.prototype.hasOwnProperty.apply(o.options,["projectId"]))throw new ko(On.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new TX(o.options.projectId)}(e),this._credentials=new DBn(n))}return Object.defineProperty(t.prototype,"app",{get:function(){if(!this._app)throw new ko(On.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_initialized",{get:function(){return this._settingsFrozen},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_terminated",{get:function(){return this._terminateTask!==void 0},enumerable:!1,configurable:!0}),t.prototype._setSettings=function(e){if(this._settingsFrozen)throw new ko(On.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");this._settings=new NPe(e),e.credentials!==void 0&&(this._credentials=function(n){if(!n)return new kPe;switch(n.type){case"gapi":var o=n.client;return Nr(!(typeof o!="object"||o===null||!o.auth||!o.auth.getAuthHeaderValueForFirstParty)),new kBn(o,n.sessionIndex||"0",n.iamToken||null);case"provider":return n.client;default:throw new ko(On.INVALID_ARGUMENT,"makeCredentialsProvider failed due to invalid credential type")}}(e.credentials))},t.prototype._getSettings=function(){return this._settings},t.prototype._freezeSettings=function(){return this._settingsFrozen=!0,this._settings},t.prototype._delete=function(){return this._terminateTask||(this._terminateTask=this._terminate()),this._terminateTask},t.prototype.toJSON=function(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}},t.prototype._terminate=function(){return e=this,(n=EPe.get(e))&&(ai("ComponentProvider","Removing Datastore"),EPe.delete(e),n.terminate()),Promise.resolve();var e,n},t}(),e0=function(){function t(e,n,o){this.converter=n,this._key=o,this.type="document",this.firestore=e}return Object.defineProperty(t.prototype,"_path",{get:function(){return this._key.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return this._key.path.canonicalString()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return new Uw(this.firestore,this.converter,this._key.path.popLast())},enumerable:!1,configurable:!0}),t.prototype.withConverter=function(e){return new t(this.firestore,e,this._key)},t}(),wg=function(){function t(e,n,o){this.converter=n,this._query=o,this.type="query",this.firestore=e}return t.prototype.withConverter=function(e){return new t(this.firestore,e,this._query)},t}(),Uw=function(t){function e(n,o,i){var r=this;return(r=t.call(this,n,o,wN(i))||this)._path=i,r.type="collection",r}return Ti(e,t),Object.defineProperty(e.prototype,"id",{get:function(){return this._query.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return this._query.path.canonicalString()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){var n=this._path.popLast();return n.isEmpty()?null:new e0(this.firestore,null,new sr(n))},enumerable:!1,configurable:!0}),e.prototype.withConverter=function(n){return new e(this.firestore,n,this._path)},e}(wg);/** + */var NPe=function(){function t(e){var n;if(e.host===void 0){if(e.ssl!==void 0)throw new ko(On.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host="firestore.googleapis.com",this.ssl=!0}else this.host=e.host,this.ssl=(n=e.ssl)===null||n===void 0||n;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,e.cacheSizeBytes===void 0)this.cacheSizeBytes=41943040;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<1048576)throw new ko(On.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.useFetchStreams=!!e.useFetchStreams,Let("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling)}return t.prototype.isEqual=function(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams},t}(),AF=function(){function t(e,n){this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new NPe({}),this._settingsFrozen=!1,e instanceof TX?(this._databaseId=e,this._credentials=new kPe):(this._app=e,this._databaseId=function(o){if(!Object.prototype.hasOwnProperty.apply(o.options,["projectId"]))throw new ko(On.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new TX(o.options.projectId)}(e),this._credentials=new IBn(n))}return Object.defineProperty(t.prototype,"app",{get:function(){if(!this._app)throw new ko(On.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_initialized",{get:function(){return this._settingsFrozen},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_terminated",{get:function(){return this._terminateTask!==void 0},enumerable:!1,configurable:!0}),t.prototype._setSettings=function(e){if(this._settingsFrozen)throw new ko(On.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");this._settings=new NPe(e),e.credentials!==void 0&&(this._credentials=function(n){if(!n)return new kPe;switch(n.type){case"gapi":var o=n.client;return Nr(!(typeof o!="object"||o===null||!o.auth||!o.auth.getAuthHeaderValueForFirstParty)),new DBn(o,n.sessionIndex||"0",n.iamToken||null);case"provider":return n.client;default:throw new ko(On.INVALID_ARGUMENT,"makeCredentialsProvider failed due to invalid credential type")}}(e.credentials))},t.prototype._getSettings=function(){return this._settings},t.prototype._freezeSettings=function(){return this._settingsFrozen=!0,this._settings},t.prototype._delete=function(){return this._terminateTask||(this._terminateTask=this._terminate()),this._terminateTask},t.prototype.toJSON=function(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}},t.prototype._terminate=function(){return e=this,(n=EPe.get(e))&&(ai("ComponentProvider","Removing Datastore"),EPe.delete(e),n.terminate()),Promise.resolve();var e,n},t}(),e0=function(){function t(e,n,o){this.converter=n,this._key=o,this.type="document",this.firestore=e}return Object.defineProperty(t.prototype,"_path",{get:function(){return this._key.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return this._key.path.canonicalString()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return new Uw(this.firestore,this.converter,this._key.path.popLast())},enumerable:!1,configurable:!0}),t.prototype.withConverter=function(e){return new t(this.firestore,e,this._key)},t}(),vg=function(){function t(e,n,o){this.converter=n,this._query=o,this.type="query",this.firestore=e}return t.prototype.withConverter=function(e){return new t(this.firestore,e,this._query)},t}(),Uw=function(t){function e(n,o,i){var r=this;return(r=t.call(this,n,o,wN(i))||this)._path=i,r.type="collection",r}return Ti(e,t),Object.defineProperty(e.prototype,"id",{get:function(){return this._query.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return this._query.path.canonicalString()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){var n=this._path.popLast();return n.isEmpty()?null:new e0(this.firestore,null,new sr(n))},enumerable:!1,configurable:!0}),e.prototype.withConverter=function(n){return new e(this.firestore,n,this._path)},e}(vg);/** * @license * Copyright 2020 Google LLC * @@ -6233,8 +6233,8 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Wet(t,e){for(var n,o=[],i=2;i0&&this.Zi.ji(function(){return n.bc()}),o.label=5;case 5:return[2]}})})},t.prototype.Rc=function(e){var n=this,o=this.dc.then(function(){return n.gc=!0,e().catch(function(i){throw n.yc=i,n.gc=!1,lu("INTERNAL UNHANDLED ERROR: ",function(r){var a=r.message||"";return r.stack&&(a=r.stack.includes(r.message)?r.stack:r.message+` -`+r.stack),a}(i)),i}).then(function(i){return n.gc=!1,i})});return this.dc=o,o},t.prototype.enqueueAfterDelay=function(e,n,o){var i=this;this.Ac(),this.Tc.indexOf(e)>-1&&(n=0);var r=tBn.createAndSchedule(this,e,n,o,function(a){return i.vc(a)});return this.mc.push(r),r},t.prototype.Ac=function(){this.yc&&or()},t.prototype.verifyOperationInProgress=function(){},t.prototype.Pc=function(){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return[4,e=this.dc];case 1:n.sent(),n.label=2;case 2:if(e!==this.dc)return[3,0];n.label=3;case 3:return[2]}})})},t.prototype.Vc=function(e){for(var n=0,o=this.mc;n0&&this.Zi.ji(function(){return n.bc()}),o.label=5;case 5:return[2]}})})},t.prototype.Rc=function(e){var n=this,o=this.dc.then(function(){return n.gc=!0,e().catch(function(i){throw n.yc=i,n.gc=!1,lu("INTERNAL UNHANDLED ERROR: ",function(r){var a=r.message||"";return r.stack&&(a=r.stack.includes(r.message)?r.stack:r.message+` +`+r.stack),a}(i)),i}).then(function(i){return n.gc=!1,i})});return this.dc=o,o},t.prototype.enqueueAfterDelay=function(e,n,o){var i=this;this.Ac(),this.Tc.indexOf(e)>-1&&(n=0);var r=ZUn.createAndSchedule(this,e,n,o,function(a){return i.vc(a)});return this.mc.push(r),r},t.prototype.Ac=function(){this.yc&&or()},t.prototype.verifyOperationInProgress=function(){},t.prototype.Pc=function(){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return[4,e=this.dc];case 1:n.sent(),n.label=2;case 2:if(e!==this.dc)return[3,0];n.label=3;case 3:return[2]}})})},t.prototype.Vc=function(e){for(var n=0,o=this.mc;n90)throw new ko(On.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(n)||n<-180||n>180)throw new ko(On.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+n);this._lat=e,this._long=n}return Object.defineProperty(t.prototype,"latitude",{get:function(){return this._lat},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"longitude",{get:function(){return this._long},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return this._lat===e._lat&&this._long===e._long},t.prototype.toJSON=function(){return{latitude:this._lat,longitude:this._long}},t.prototype._compareTo=function(e){return Ga(this._lat,e._lat)||Ga(this._long,e._long)},t}(),WBn=/^__.*__$/,NBn=function(){function t(e,n,o){this.data=e,this.fieldMask=n,this.fieldTransforms=o}return t.prototype.toMutation=function(e,n){return this.fieldMask!==null?new B7(e,this.data,this.fieldMask,n,this.fieldTransforms):new SN(e,this.data,n,this.fieldTransforms)},t}(),jet=function(){function t(e,n,o){this.data=e,this.fieldMask=n,this.fieldTransforms=o}return t.prototype.toMutation=function(e,n){return new B7(e,this.data,this.fieldMask,n,this.fieldTransforms)},t}();/** + */var v9=function(){function t(){for(var e=[],n=0;n90)throw new ko(On.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(n)||n<-180||n>180)throw new ko(On.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+n);this._lat=e,this._long=n}return Object.defineProperty(t.prototype,"latitude",{get:function(){return this._lat},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"longitude",{get:function(){return this._long},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return this._lat===e._lat&&this._long===e._long},t.prototype.toJSON=function(){return{latitude:this._lat,longitude:this._long}},t.prototype._compareTo=function(e){return Ga(this._lat,e._lat)||Ga(this._long,e._long)},t}(),FBn=/^__.*__$/,LBn=function(){function t(e,n,o){this.data=e,this.fieldMask=n,this.fieldTransforms=o}return t.prototype.toMutation=function(e,n){return this.fieldMask!==null?new B7(e,this.data,this.fieldMask,n,this.fieldTransforms):new SN(e,this.data,n,this.fieldTransforms)},t}(),jet=function(){function t(e,n,o){this.data=e,this.fieldMask=n,this.fieldTransforms=o}return t.prototype.toMutation=function(e,n){return new B7(e,this.data,this.fieldMask,n,this.fieldTransforms)},t}();/** * @license * Copyright 2020 Google LLC * @@ -6279,7 +6279,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Yet(t){switch(t){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw or()}}var Oet=function(){function t(e,n,o,i,r,a){this.settings=e,this.databaseId=n,this.R=o,this.ignoreUndefinedProperties=i,r===void 0&&this.Cc(),this.fieldTransforms=r||[],this.fieldMask=a||[]}return Object.defineProperty(t.prototype,"path",{get:function(){return this.settings.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"Nc",{get:function(){return this.settings.Nc},enumerable:!1,configurable:!0}),t.prototype.xc=function(e){return new t(Object.assign(Object.assign({},this.settings),e),this.databaseId,this.R,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)},t.prototype.kc=function(e){var n,o=(n=this.path)===null||n===void 0?void 0:n.child(e),i=this.xc({path:o,Fc:!1});return i.$c(e),i},t.prototype.Oc=function(e){var n,o=(n=this.path)===null||n===void 0?void 0:n.child(e),i=this.xc({path:o,Fc:!1});return i.Cc(),i},t.prototype.Mc=function(e){return this.xc({path:void 0,Fc:!0})},t.prototype.Lc=function(e){return PX(e,this.settings.methodName,this.settings.Bc||!1,this.path,this.settings.qc)},t.prototype.contains=function(e){return this.fieldMask.find(function(n){return e.isPrefixOf(n)})!==void 0||this.fieldTransforms.find(function(n){return e.isPrefixOf(n.field)})!==void 0},t.prototype.Cc=function(){if(this.path)for(var e=0;e=0;--f)if(!Jet(u,l[f])){var p=l[f],g=s[f];g=va(g);var y=a.Oc(p);if(g instanceof _2e)u.push(p);else{var A=_b(g,y);A!=null&&(u.push(p),d.set(p,A))}}var x=new vR(u);return new jet(d,x,a.fieldTransforms)}function Vet(t,e,n,o){return o===void 0&&(o=!1),_b(n,t.Uc(o?4:3,e))}function _b(t,e){if(Xet(t=va(t)))return X2e("Unsupported field value:",e,t),Get(t,e);if(t instanceof Yb)return function(n,o){if(!Yet(o.Nc))throw o.Lc(n._methodName+"() can only be used with update() and set()");if(!o.path)throw o.Lc(n._methodName+"() is not currently supported inside arrays");var i=n._toFieldTransform(o);i&&o.fieldTransforms.push(i)}(t,e),null;if(t===void 0&&e.ignoreUndefinedProperties)return null;if(e.path&&e.fieldMask.push(e.path),t instanceof Array){if(e.settings.Fc&&e.Nc!==4)throw e.Lc("Nested arrays are not supported");return function(n,o){for(var i=[],r=0,a=0,l=n;a0&&e.fieldMask.push(e.path):Nb(t,function(o,i){var r=_b(i,e.kc(o));r!=null&&(n[o]=r)}),{mapValue:{fields:n}}}function Xet(t){return!(typeof t!="object"||t===null||t instanceof Array||t instanceof Date||t instanceof Jp||t instanceof uZ||t instanceof nb||t instanceof e0||t instanceof Yb)}function X2e(t,e,n){if(!Xet(n)||!function(i){return typeof i=="object"&&i!==null&&(Object.getPrototypeOf(i)===Object.prototype||Object.getPrototypeOf(i)===null)}(n)){var o=cZ(n);throw o==="an object"?e.Lc(t+" a custom object"):e.Lc(t+" "+o)}}function Ade(t,e,n){if((e=va(e))instanceof v9)return e._internalPath;if(typeof e=="string")return J2e(t,e);throw PX("Field path arguments must be of type string or FieldPath.",t,!1,void 0,n)}var _Bn=new RegExp("[~\\*/\\[\\]]");function J2e(t,e,n){if(e.search(_Bn)>=0)throw PX("Invalid field path ("+e+"). Paths must not contain '~', '*', '/', '[', or ']'",t,!1,void 0,n);try{return new(v9.bind.apply(v9,pl([void 0],e.split("."))))()._internalPath}catch{throw PX("Invalid field path ("+e+"). Paths must not be empty, begin with '.', end with '.', or contain '..'",t,!1,void 0,n)}}function PX(t,e,n,o,i){var r=o&&!o.isEmpty(),a=i!==void 0,l="Function "+e+"() called with invalid data";n&&(l+=" (via `toFirestore()`)");var s="";return(r||a)&&(s+=" (found",r&&(s+=" in field "+o),a&&(s+=" in document "+i),s+=")"),new ko(On.INVALID_ARGUMENT,(l+=". ")+t+s)}function Jet(t,e){return t.some(function(n){return n.isEqual(e)})}/** + */function Yet(t){switch(t){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw or()}}var Oet=function(){function t(e,n,o,i,r,a){this.settings=e,this.databaseId=n,this.R=o,this.ignoreUndefinedProperties=i,r===void 0&&this.Cc(),this.fieldTransforms=r||[],this.fieldMask=a||[]}return Object.defineProperty(t.prototype,"path",{get:function(){return this.settings.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"Nc",{get:function(){return this.settings.Nc},enumerable:!1,configurable:!0}),t.prototype.xc=function(e){return new t(Object.assign(Object.assign({},this.settings),e),this.databaseId,this.R,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)},t.prototype.kc=function(e){var n,o=(n=this.path)===null||n===void 0?void 0:n.child(e),i=this.xc({path:o,Fc:!1});return i.$c(e),i},t.prototype.Oc=function(e){var n,o=(n=this.path)===null||n===void 0?void 0:n.child(e),i=this.xc({path:o,Fc:!1});return i.Cc(),i},t.prototype.Mc=function(e){return this.xc({path:void 0,Fc:!0})},t.prototype.Lc=function(e){return PX(e,this.settings.methodName,this.settings.Bc||!1,this.path,this.settings.qc)},t.prototype.contains=function(e){return this.fieldMask.find(function(n){return e.isPrefixOf(n)})!==void 0||this.fieldTransforms.find(function(n){return e.isPrefixOf(n.field)})!==void 0},t.prototype.Cc=function(){if(this.path)for(var e=0;e=0;--f)if(!Jet(u,l[f])){var p=l[f],g=s[f];g=va(g);var y=a.Oc(p);if(g instanceof _2e)u.push(p);else{var A=_b(g,y);A!=null&&(u.push(p),d.set(p,A))}}var x=new vR(u);return new jet(d,x,a.fieldTransforms)}function Vet(t,e,n,o){return o===void 0&&(o=!1),_b(n,t.Uc(o?4:3,e))}function _b(t,e){if(Xet(t=va(t)))return X2e("Unsupported field value:",e,t),Get(t,e);if(t instanceof Yb)return function(n,o){if(!Yet(o.Nc))throw o.Lc(n._methodName+"() can only be used with update() and set()");if(!o.path)throw o.Lc(n._methodName+"() is not currently supported inside arrays");var i=n._toFieldTransform(o);i&&o.fieldTransforms.push(i)}(t,e),null;if(t===void 0&&e.ignoreUndefinedProperties)return null;if(e.path&&e.fieldMask.push(e.path),t instanceof Array){if(e.settings.Fc&&e.Nc!==4)throw e.Lc("Nested arrays are not supported");return function(n,o){for(var i=[],r=0,a=0,l=n;a0&&e.fieldMask.push(e.path):Nb(t,function(o,i){var r=_b(i,e.kc(o));r!=null&&(n[o]=r)}),{mapValue:{fields:n}}}function Xet(t){return!(typeof t!="object"||t===null||t instanceof Array||t instanceof Date||t instanceof Jp||t instanceof uZ||t instanceof nb||t instanceof e0||t instanceof Yb)}function X2e(t,e,n){if(!Xet(n)||!function(i){return typeof i=="object"&&i!==null&&(Object.getPrototypeOf(i)===Object.prototype||Object.getPrototypeOf(i)===null)}(n)){var o=cZ(n);throw o==="an object"?e.Lc(t+" a custom object"):e.Lc(t+" "+o)}}function Ade(t,e,n){if((e=va(e))instanceof v9)return e._internalPath;if(typeof e=="string")return J2e(t,e);throw PX("Field path arguments must be of type string or FieldPath.",t,!1,void 0,n)}var YBn=new RegExp("[~\\*/\\[\\]]");function J2e(t,e,n){if(e.search(YBn)>=0)throw PX("Invalid field path ("+e+"). Paths must not contain '~', '*', '/', '[', or ']'",t,!1,void 0,n);try{return new(v9.bind.apply(v9,pl([void 0],e.split("."))))()._internalPath}catch{throw PX("Invalid field path ("+e+"). Paths must not be empty, begin with '.', end with '.', or contain '..'",t,!1,void 0,n)}}function PX(t,e,n,o,i){var r=o&&!o.isEmpty(),a=i!==void 0,l="Function "+e+"() called with invalid data";n&&(l+=" (via `toFirestore()`)");var s="";return(r||a)&&(s+=" (found",r&&(s+=" in field "+o),a&&(s+=" in document "+i),s+=")"),new ko(On.INVALID_ARGUMENT,(l+=". ")+t+s)}function Jet(t,e){return t.some(function(n){return n.isEqual(e)})}/** * @license * Copyright 2020 Google LLC * @@ -6294,7 +6294,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var wF=function(){function t(e,n,o,i,r){this._firestore=e,this._userDataWriter=n,this._key=o,this._document=i,this._converter=r}return Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ref",{get:function(){return new e0(this._firestore,this._converter,this._key)},enumerable:!1,configurable:!0}),t.prototype.exists=function(){return this._document!==null},t.prototype.data=function(){if(this._document){if(this._converter){var e=new VBn(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}},t.prototype.get=function(e){if(this._document){var n=this._document.data.field(CX("DocumentSnapshot.get",e));if(n!==null)return this._userDataWriter.convertValue(n)}},t}(),VBn=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.data=function(){return t.prototype.data.call(this)},e}(wF);function CX(t,e){return typeof e=="string"?J2e(t,e):e instanceof v9?e._internalPath:e._delegate._internalPath}/** + */var wF=function(){function t(e,n,o,i,r){this._firestore=e,this._userDataWriter=n,this._key=o,this._document=i,this._converter=r}return Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ref",{get:function(){return new e0(this._firestore,this._converter,this._key)},enumerable:!1,configurable:!0}),t.prototype.exists=function(){return this._document!==null},t.prototype.data=function(){if(this._document){if(this._converter){var e=new OBn(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}},t.prototype.get=function(e){if(this._document){var n=this._document.data.field(CX("DocumentSnapshot.get",e));if(n!==null)return this._userDataWriter.convertValue(n)}},t}(),OBn=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.data=function(){return t.prototype.data.call(this)},e}(wF);function CX(t,e){return typeof e=="string"?J2e(t,e):e instanceof v9?e._internalPath:e._delegate._internalPath}/** * @license * Copyright 2020 Google LLC * @@ -6309,7 +6309,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Ov=function(){function t(e,n){this.hasPendingWrites=e,this.fromCache=n}return t.prototype.isEqual=function(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache},t}(),I6=function(t){function e(n,o,i,r,a,l){var s=this;return(s=t.call(this,n,o,i,r,l)||this)._firestore=n,s._firestoreImpl=n,s.metadata=a,s}return Ti(e,t),e.prototype.exists=function(){return t.prototype.exists.call(this)},e.prototype.data=function(n){if(n===void 0&&(n={}),this._document){if(this._converter){var o=new SE(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(o,n)}return this._userDataWriter.convertValue(this._document.data.value,n.serverTimestamps)}},e.prototype.get=function(n,o){if(o===void 0&&(o={}),this._document){var i=this._document.data.field(CX("DocumentSnapshot.get",n));if(i!==null)return this._userDataWriter.convertValue(i,o.serverTimestamps)}},e}(wF),SE=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.data=function(n){return n===void 0&&(n={}),t.prototype.data.call(this,n)},e}(I6),nw=function(){function t(e,n,o,i){this._firestore=e,this._userDataWriter=n,this._snapshot=i,this.metadata=new Ov(i.hasPendingWrites,i.fromCache),this.query=o}return Object.defineProperty(t.prototype,"docs",{get:function(){var e=[];return this.forEach(function(n){return e.push(n)}),e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){return this._snapshot.docs.size},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"empty",{get:function(){return this.size===0},enumerable:!1,configurable:!0}),t.prototype.forEach=function(e,n){var o=this;this._snapshot.docs.forEach(function(i){e.call(n,new SE(o._firestore,o._userDataWriter,i.key,i,new Ov(o._snapshot.mutatedKeys.has(i.key),o._snapshot.fromCache),o.query.converter))})},t.prototype.docChanges=function(e){e===void 0&&(e={});var n=!!e.includeMetadataChanges;if(n&&this._snapshot.excludesMetadataChanges)throw new ko(On.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===n||(this._cachedChanges=function(o,i){if(o._snapshot.oldDocs.isEmpty()){var r=0;return o._snapshot.docChanges.map(function(l){return{type:"added",doc:new SE(o._firestore,o._userDataWriter,l.doc.key,l.doc,new Ov(o._snapshot.mutatedKeys.has(l.doc.key),o._snapshot.fromCache),o.query.converter),oldIndex:-1,newIndex:r++}})}var a=o._snapshot.oldDocs;return o._snapshot.docChanges.filter(function(l){return i||l.type!==3}).map(function(l){var s=new SE(o._firestore,o._userDataWriter,l.doc.key,l.doc,new Ov(o._snapshot.mutatedKeys.has(l.doc.key),o._snapshot.fromCache),o.query.converter),c=-1,u=-1;return l.type!==0&&(c=a.indexOf(l.doc.key),a=a.delete(l.doc.key)),l.type!==1&&(u=(a=a.add(l.doc)).indexOf(l.doc.key)),{type:GBn(l.type),doc:s,oldIndex:c,newIndex:u}})}(this,n),this._cachedChangesIncludeMetadataChanges=n),this._cachedChanges},t}();function GBn(t){switch(t){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return or()}}function Ket(t,e){return t instanceof I6&&e instanceof I6?t._firestore===e._firestore&&t._key.isEqual(e._key)&&(t._document===null?e._document===null:t._document.isEqual(e._document))&&t._converter===e._converter:t instanceof nw&&e instanceof nw&&t._firestore===e._firestore&&Uet(t.query,e.query)&&t.metadata.isEqual(e.metadata)&&t._snapshot.isEqual(e._snapshot)}/** + */var Ov=function(){function t(e,n){this.hasPendingWrites=e,this.fromCache=n}return t.prototype.isEqual=function(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache},t}(),I6=function(t){function e(n,o,i,r,a,l){var s=this;return(s=t.call(this,n,o,i,r,l)||this)._firestore=n,s._firestoreImpl=n,s.metadata=a,s}return Ti(e,t),e.prototype.exists=function(){return t.prototype.exists.call(this)},e.prototype.data=function(n){if(n===void 0&&(n={}),this._document){if(this._converter){var o=new SE(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(o,n)}return this._userDataWriter.convertValue(this._document.data.value,n.serverTimestamps)}},e.prototype.get=function(n,o){if(o===void 0&&(o={}),this._document){var i=this._document.data.field(CX("DocumentSnapshot.get",n));if(i!==null)return this._userDataWriter.convertValue(i,o.serverTimestamps)}},e}(wF),SE=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.data=function(n){return n===void 0&&(n={}),t.prototype.data.call(this,n)},e}(I6),nw=function(){function t(e,n,o,i){this._firestore=e,this._userDataWriter=n,this._snapshot=i,this.metadata=new Ov(i.hasPendingWrites,i.fromCache),this.query=o}return Object.defineProperty(t.prototype,"docs",{get:function(){var e=[];return this.forEach(function(n){return e.push(n)}),e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){return this._snapshot.docs.size},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"empty",{get:function(){return this.size===0},enumerable:!1,configurable:!0}),t.prototype.forEach=function(e,n){var o=this;this._snapshot.docs.forEach(function(i){e.call(n,new SE(o._firestore,o._userDataWriter,i.key,i,new Ov(o._snapshot.mutatedKeys.has(i.key),o._snapshot.fromCache),o.query.converter))})},t.prototype.docChanges=function(e){e===void 0&&(e={});var n=!!e.includeMetadataChanges;if(n&&this._snapshot.excludesMetadataChanges)throw new ko(On.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===n||(this._cachedChanges=function(o,i){if(o._snapshot.oldDocs.isEmpty()){var r=0;return o._snapshot.docChanges.map(function(l){return{type:"added",doc:new SE(o._firestore,o._userDataWriter,l.doc.key,l.doc,new Ov(o._snapshot.mutatedKeys.has(l.doc.key),o._snapshot.fromCache),o.query.converter),oldIndex:-1,newIndex:r++}})}var a=o._snapshot.oldDocs;return o._snapshot.docChanges.filter(function(l){return i||l.type!==3}).map(function(l){var s=new SE(o._firestore,o._userDataWriter,l.doc.key,l.doc,new Ov(o._snapshot.mutatedKeys.has(l.doc.key),o._snapshot.fromCache),o.query.converter),c=-1,u=-1;return l.type!==0&&(c=a.indexOf(l.doc.key),a=a.delete(l.doc.key)),l.type!==1&&(u=(a=a.add(l.doc)).indexOf(l.doc.key)),{type:_Bn(l.type),doc:s,oldIndex:c,newIndex:u}})}(this,n),this._cachedChangesIncludeMetadataChanges=n),this._cachedChanges},t}();function _Bn(t){switch(t){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return or()}}function Ket(t,e){return t instanceof I6&&e instanceof I6?t._firestore===e._firestore&&t._key.isEqual(e._key)&&(t._document===null?e._document===null:t._document.isEqual(e._document))&&t._converter===e._converter:t instanceof nw&&e instanceof nw&&t._firestore===e._firestore&&Uet(t.query,e.query)&&t.metadata.isEqual(e.metadata)&&t._snapshot.isEqual(e._snapshot)}/** * @license * Copyright 2020 Google LLC * @@ -6324,7 +6324,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function qet(t){if(mX(t)&&t.explicitOrderBy.length===0)throw new ko(On.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}var CN=function(){};function R4(t){for(var e=[],n=1;n, or >=) must be on the same field. But you have inequality filters on '"+v.toString()+"' and '"+b.field.toString()+"'");var S=p2e(C);S!==null&&Qet(C,b.field,S)}var w=function(T,P){for(var R=0,H=T.filters;R=0)return D.op}return null}(C,function(T){switch(T){case"!=":return["!=","not-in"];case"array-contains":return["array-contains","array-contains-any","not-in"];case"in":return["array-contains-any","in","not-in"];case"array-contains-any":return["array-contains","array-contains-any","in","not-in"];case"not-in":return["array-contains","array-contains-any","in","not-in","!="];default:return[]}}(b.op));if(w!==null)throw w===b.op?new ko(On.INVALID_ARGUMENT,"Invalid query. You cannot use more than one '"+b.op.toString()+"' filter."):new ko(On.INVALID_ARGUMENT,"Invalid query. You cannot use '"+b.op.toString()+"' filters with '"+w.toString()+"' filters.")}(r,x),x}(n._query,0,o,n.firestore._databaseId,this.jc,this.Wc,this.Gc);return new wg(n.firestore,n.converter,function(r,a){var l=r.filters.concat([a]);return new gA(r.path,r.collectionGroup,r.explicitOrderBy.slice(),l,r.limit,r.limitType,r.startAt,r.endAt)}(n._query,i))},e}(CN),JBn=function(t){function e(n,o){var i=this;return(i=t.call(this)||this).jc=n,i.zc=o,i.type="orderBy",i}return Ti(e,t),e.prototype._apply=function(n){var o=function(i,r,a){if(i.startAt!==null)throw new ko(On.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(i.endAt!==null)throw new ko(On.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");var l=new SC(r,a);return function(s,c){if(p2e(s)===null){var u=g2e(s);u!==null&&Qet(s,u,c.field)}}(i,l),l}(n._query,this.jc,this.zc);return new wg(n.firestore,n.converter,function(i,r){var a=i.explicitOrderBy.concat([r]);return new gA(i.path,i.collectionGroup,a,i.filters.slice(),i.limit,i.limitType,i.startAt,i.endAt)}(n._query,o))},e}(CN),jPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Hc=o,r.Jc=i,r}return Ti(e,t),e.prototype._apply=function(n){return new wg(n.firestore,n.converter,TZe(n._query,this.Hc,this.Jc))},e}(CN),YPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Yc=o,r.Xc=i,r}return Ti(e,t),e.prototype._apply=function(n){var o=$et(n,this.type,this.Yc,this.Xc);return new wg(n.firestore,n.converter,function(i,r){return new gA(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,r,i.endAt)}(n._query,o))},e}(CN),OPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Yc=o,r.Xc=i,r}return Ti(e,t),e.prototype._apply=function(n){var o=$et(n,this.type,this.Yc,this.Xc);return new wg(n.firestore,n.converter,function(i,r){return new gA(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,i.startAt,r)}(n._query,o))},e}(CN);function $et(t,e,n,o){if(n[0]=va(n[0]),n[0]instanceof wF)return function(r,a,l,s,c){if(!s)throw new ko(On.NOT_FOUND,"Can't use a DocumentSnapshot that doesn't exist for "+l+"().");for(var u=[],d=0,f=SR(r);dd.length)throw new ko(On.INVALID_ARGUMENT,"Too many arguments provided to "+s+"(). The number of arguments must be less than or equal to the number of orderBy() clauses");for(var f=[],p=0;p10)throw new ko(On.INVALID_ARGUMENT,"Invalid Query. '"+e.toString()+"' filters support a maximum of 10 elements in the value array.")}function Qet(t,e,n){if(!n.isEqual(e))throw new ko(On.INVALID_ARGUMENT,"Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field '"+e.toString()+"' and so you must also use '"+e.toString()+"' as your first argument to orderBy(), but your first orderBy() is on field '"+n.toString()+"' instead.")}/** + */function qet(t){if(mX(t)&&t.explicitOrderBy.length===0)throw new ko(On.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}var CN=function(){};function R4(t){for(var e=[],n=1;n, or >=) must be on the same field. But you have inequality filters on '"+v.toString()+"' and '"+b.field.toString()+"'");var S=p2e(C);S!==null&&Qet(C,b.field,S)}var w=function(T,P){for(var R=0,H=T.filters;R=0)return D.op}return null}(C,function(T){switch(T){case"!=":return["!=","not-in"];case"array-contains":return["array-contains","array-contains-any","not-in"];case"in":return["array-contains-any","in","not-in"];case"array-contains-any":return["array-contains","array-contains-any","in","not-in"];case"not-in":return["array-contains","array-contains-any","in","not-in","!="];default:return[]}}(b.op));if(w!==null)throw w===b.op?new ko(On.INVALID_ARGUMENT,"Invalid query. You cannot use more than one '"+b.op.toString()+"' filter."):new ko(On.INVALID_ARGUMENT,"Invalid query. You cannot use '"+b.op.toString()+"' filters with '"+w.toString()+"' filters.")}(r,x),x}(n._query,0,o,n.firestore._databaseId,this.jc,this.Wc,this.Gc);return new vg(n.firestore,n.converter,function(r,a){var l=r.filters.concat([a]);return new gA(r.path,r.collectionGroup,r.explicitOrderBy.slice(),l,r.limit,r.limitType,r.startAt,r.endAt)}(n._query,i))},e}(CN),GBn=function(t){function e(n,o){var i=this;return(i=t.call(this)||this).jc=n,i.zc=o,i.type="orderBy",i}return Ti(e,t),e.prototype._apply=function(n){var o=function(i,r,a){if(i.startAt!==null)throw new ko(On.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(i.endAt!==null)throw new ko(On.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");var l=new SC(r,a);return function(s,c){if(p2e(s)===null){var u=g2e(s);u!==null&&Qet(s,u,c.field)}}(i,l),l}(n._query,this.jc,this.zc);return new vg(n.firestore,n.converter,function(i,r){var a=i.explicitOrderBy.concat([r]);return new gA(i.path,i.collectionGroup,a,i.filters.slice(),i.limit,i.limitType,i.startAt,i.endAt)}(n._query,o))},e}(CN),jPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Hc=o,r.Jc=i,r}return Ti(e,t),e.prototype._apply=function(n){return new vg(n.firestore,n.converter,TZe(n._query,this.Hc,this.Jc))},e}(CN),YPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Yc=o,r.Xc=i,r}return Ti(e,t),e.prototype._apply=function(n){var o=$et(n,this.type,this.Yc,this.Xc);return new vg(n.firestore,n.converter,function(i,r){return new gA(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,r,i.endAt)}(n._query,o))},e}(CN),OPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Yc=o,r.Xc=i,r}return Ti(e,t),e.prototype._apply=function(n){var o=$et(n,this.type,this.Yc,this.Xc);return new vg(n.firestore,n.converter,function(i,r){return new gA(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,i.startAt,r)}(n._query,o))},e}(CN);function $et(t,e,n,o){if(n[0]=va(n[0]),n[0]instanceof wF)return function(r,a,l,s,c){if(!s)throw new ko(On.NOT_FOUND,"Can't use a DocumentSnapshot that doesn't exist for "+l+"().");for(var u=[],d=0,f=SR(r);dd.length)throw new ko(On.INVALID_ARGUMENT,"Too many arguments provided to "+s+"(). The number of arguments must be less than or equal to the number of orderBy() clauses");for(var f=[],p=0;p10)throw new ko(On.INVALID_ARGUMENT,"Invalid Query. '"+e.toString()+"' filters support a maximum of 10 elements in the value array.")}function Qet(t,e,n){if(!n.isEqual(e))throw new ko(On.INVALID_ARGUMENT,"Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field '"+e.toString()+"' and so you must also use '"+e.toString()+"' as your first argument to orderBy(), but your first orderBy() is on field '"+n.toString()+"' instead.")}/** * @license * Copyright 2020 Google LLC * @@ -6354,7 +6354,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function fZ(t,e,n){return t?n&&(n.merge||n.mergeFields)?t.toFirestore(e,n):t.toFirestore(e):e}var KBn=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new nb(n)},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return new e0(this.firestore,null,o)},e}(K2e),qBn=function(){function t(e,n){this._firestore=e,this._commitHandler=n,this._mutations=[],this._committed=!1,this._dataReader=Ob(e)}return t.prototype.set=function(e,n,o){this._verifyNotCommitted();var i=ow(e,this._firestore),r=fZ(i.converter,n,o),a=dZ(this._dataReader,"WriteBatch.set",i._key,r,i.converter!==null,o);return this._mutations.push(a.toMutation(i._key,sh.none())),this},t.prototype.update=function(e,n,o){for(var i=[],r=3;r0?this._commitHandler(this._mutations):Promise.resolve()},t.prototype._verifyNotCommitted=function(){if(this._committed)throw new ko(On.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")},t}();/** + */function fZ(t,e,n){return t?n&&(n.merge||n.mergeFields)?t.toFirestore(e,n):t.toFirestore(e):e}var XBn=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new nb(n)},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return new e0(this.firestore,null,o)},e}(K2e),JBn=function(){function t(e,n){this._firestore=e,this._commitHandler=n,this._mutations=[],this._committed=!1,this._dataReader=Ob(e)}return t.prototype.set=function(e,n,o){this._verifyNotCommitted();var i=ow(e,this._firestore),r=fZ(i.converter,n,o),a=dZ(this._dataReader,"WriteBatch.set",i._key,r,i.converter!==null,o);return this._mutations.push(a.toMutation(i._key,sh.none())),this},t.prototype.update=function(e,n,o){for(var i=[],r=3;r0?this._commitHandler(this._mutations):Promise.resolve()},t.prototype._verifyNotCommitted=function(){if(this._committed)throw new ko(On.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")},t}();/** * @license * Copyright 2020 Google LLC * @@ -6384,7 +6384,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var vx=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new nb(n)},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return new e0(this.firestore,null,o)},e}(K2e);function GPe(t,e,n){t=$l(t,e0);var o=$l(t.firestore,Fu),i=fZ(t.converter,e,n);return RN(o,[dZ(Ob(o),"setDoc",t._key,i,t.converter!==null,n).toMutation(t._key,sh.none())])}function XPe(t,e,n){for(var o=[],i=3;i"u")throw new ko(On.UNIMPLEMENTED,"Uint8Arrays are not available in this environment.")}function KPe(){if(typeof atob>"u")throw new ko(On.UNIMPLEMENTED,"Blobs are unavailable in Firestore in this environment.")}var ett=function(){function t(e){this._delegate=e}return t.fromBase64String=function(e){return KPe(),new t(nb.fromBase64String(e))},t.fromUint8Array=function(e){return JPe(),new t(nb.fromUint8Array(e))},t.prototype.toBase64=function(){return KPe(),this._delegate.toBase64()},t.prototype.toUint8Array=function(){return JPe(),this._delegate.toUint8Array()},t.prototype.isEqual=function(e){return this._delegate.isEqual(e._delegate)},t.prototype.toString=function(){return"Blob(base64: "+this.toBase64()+")"},t}(),QBn=function(){function t(){}return t.prototype.enableIndexedDbPersistence=function(e,n){return function(o,i){BPe(o=$l(o,Fu));var r=ih(o),a=o._freezeSettings(),l=new yde;return UPe(r,l,new Iet(l,a.cacheSizeBytes,i==null?void 0:i.forceOwnership))}(e._delegate,{forceOwnership:n})},t.prototype.enableMultiTabIndexedDbPersistence=function(e){return function(n){BPe(n=$l(n,Fu));var o=ih(n),i=n._freezeSettings(),r=new yde;return UPe(o,r,new CBn(r,i.cacheSizeBytes))}(e._delegate)},t.prototype.clearIndexedDbPersistence=function(e){return function(n){var o=this;if(n._initialized&&!n._terminated)throw new ko(On.FAILED_PRECONDITION,"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");var i=new Zp;return n._queue.enqueueAndForgetEvenWhileRestricted(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,function(l){return Ao(this,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return HR.yt()?(s=l+"main",[4,HR.delete(s)]):[2,Promise.resolve()];case 1:return c.sent(),[2]}})})}(P2e(n._databaseId,n._persistenceKey))];case 1:return a.sent(),i.resolve(),[3,3];case 2:return r=a.sent(),i.reject(r),[3,3];case 3:return[2]}})})}),i.promise}(e._delegate)},t}(),ttt=function(){function t(e,n,o){var i=this;this._delegate=n,this.Zc=o,this.INTERNAL={delete:function(){return i.terminate()}},e instanceof TX||(this.tu=e)}return Object.defineProperty(t.prototype,"_databaseId",{get:function(){return this._delegate._databaseId},enumerable:!1,configurable:!0}),t.prototype.settings=function(e){var n=this._delegate._getSettings();e.merge||n.host===e.host||dX("You are overriding the original host. If you did not intend to override your settings, use {merge: true}."),e.merge&&delete(e=Object.assign(Object.assign({},n),e)).merge,this._delegate._setSettings(e)},t.prototype.useEmulator=function(e,n,o){o===void 0&&(o={}),function(i,r,a,l){var s;l===void 0&&(l={});var c=(i=$l(i,AF))._getSettings();if(c.host!=="firestore.googleapis.com"&&c.host!==r&&dX("Host has been set in both settings() and useEmulator(), emulator host will be used"),i._setSettings(Object.assign(Object.assign({},c),{host:r+":"+a,ssl:!1})),l.mockUserToken){var u,d;if(typeof l.mockUserToken=="string")u=l.mockUserToken,d=Zd.MOCK_USER;else{u=Fye(l.mockUserToken,(s=i._app)===null||s===void 0?void 0:s.options.projectId);var f=l.mockUserToken.sub||l.mockUserToken.user_id;if(!f)throw new ko(On.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");d=new Zd(f)}i._credentials=new zBn(new Fet(u,d))}}(this._delegate,e,n,o)},t.prototype.enableNetwork=function(){return function(e){var n=this;return e.asyncQueue.enqueue(function(){return Ao(n,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return[4,MPe(e)];case 1:return o=r.sent(),[4,IPe(e)];case 2:return i=r.sent(),[2,(o.setNetworkEnabled(!0),function(a){var l=Ri(a);return l.Or.delete(0),PN(l)}(i))]}})})})}(ih($l(this._delegate,Fu)))},t.prototype.disableNetwork=function(){return function(e){var n=this;return e.asyncQueue.enqueue(function(){return Ao(n,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return[4,MPe(e)];case 1:return o=r.sent(),[4,IPe(e)];case 2:return i=r.sent(),[2,(o.setNetworkEnabled(!1),function(a){return Ao(this,void 0,void 0,function(){var l;return ho(this,function(s){switch(s.label){case 0:return(l=Ri(a)).Or.add(0),[4,KH(l)];case 1:return s.sent(),l.Br.set("Offline"),[2]}})})}(i))]}})})})}(ih($l(this._delegate,Fu)))},t.prototype.enablePersistence=function(e){var n=!1,o=!1;return e&&Let("synchronizeTabs",n=!!e.synchronizeTabs,"experimentalForceOwningTab",o=!!e.experimentalForceOwningTab),n?this.Zc.enableMultiTabIndexedDbPersistence(this):this.Zc.enableIndexedDbPersistence(this,o)},t.prototype.clearPersistence=function(){return this.Zc.clearIndexedDbPersistence(this)},t.prototype.terminate=function(){return this.tu&&(this.tu._removeServiceInstance("firestore"),this.tu._removeServiceInstance("firestore-exp")),this._delegate._delete()},t.prototype.waitForPendingWrites=function(){return function(e){var n=this,o=new Zp;return e.asyncQueue.enqueueAndForget(function(){return Ao(n,void 0,void 0,function(){var i;return ho(this,function(r){switch(r.label){case 0:return i=gBn,[4,ket(e)];case 1:return[2,i.apply(void 0,[r.sent(),o])]}})})}),o.promise}(ih($l(this._delegate,Fu)))},t.prototype.onSnapshotsInSync=function(e){return function(n,o){return function(i,r){var a=this,l=new lZ(r);return i.asyncQueue.enqueueAndForget(function(){return Ao(a,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return s=function(u,d){Ri(u).Gr.add(d),d.next()},[4,ER(i)];case 1:return[2,s.apply(void 0,[c.sent(),l])]}})})}),function(){l.Wo(),i.asyncQueue.enqueueAndForget(function(){return Ao(a,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return s=function(u,d){Ri(u).Gr.delete(d)},[4,ER(i)];case 1:return[2,s.apply(void 0,[c.sent(),l])]}})})})}}(ih(n=$l(n,Fu)),kR(o)?o:{next:o})}(this._delegate,e)},Object.defineProperty(t.prototype,"app",{get:function(){if(!this.tu)throw new ko(On.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this.tu},enumerable:!1,configurable:!0}),t.prototype.collection=function(e){try{return new RX(this,Wet(this._delegate,e))}catch(n){throw Gh(n,"collection()","Firestore.collection()")}},t.prototype.doc=function(e){try{return new xx(this,eV(this._delegate,e))}catch(n){throw Gh(n,"doc()","Firestore.doc()")}},t.prototype.collectionGroup=function(e){try{return new gZ(this,function(n,o){if(n=$l(n,AF),Y2e("collectionGroup","collection id",o),o.indexOf("/")>=0)throw new ko(On.INVALID_ARGUMENT,"Invalid collection ID '"+o+"' passed to function collectionGroup(). Collection IDs must not contain '/'.");return new wg(n,null,function(i){return new gA(Ul.emptyPath(),i)}(o))}(this._delegate,e))}catch(n){throw Gh(n,"collectionGroup()","Firestore.collectionGroup()")}},t.prototype.runTransaction=function(e){var n=this;return function(o,i){return function(r,a){var l=this,s=new Zp;return r.asyncQueue.enqueueAndForget(function(){return Ao(l,void 0,void 0,function(){var c;return ho(this,function(u){switch(u.label){case 0:return[4,function(d){return sZ(d).then(function(f){return f.datastore})}(r)];case 1:return c=u.sent(),new HBn(r.asyncQueue,c,a,s).run(),[2]}})})}),s.promise}(ih(o),function(r){return i(new $Bn(o,r))})}(this._delegate,function(o){return e(new ntt(n,o))})},t.prototype.batch=function(){var e=this;return ih(this._delegate),new ott(new qBn(this._delegate,function(n){return RN(e._delegate,n)}))},t.prototype.loadBundle=function(e){throw new ko(On.FAILED_PRECONDITION,'"loadBundle()" does not exist, have you imported "firebase/firestore/bundle"?')},t.prototype.namedQuery=function(e){throw new ko(On.FAILED_PRECONDITION,'"namedQuery()" does not exist, have you imported "firebase/firestore/bundle"?')},t}(),hZ=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new ett(new nb(n))},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return xx.eu(o,this.firestore,null)},e}(K2e);function ZBn(t){var e;e=t,z2.setLogLevel(e)}var ntt=function(){function t(e,n){this._firestore=e,this._delegate=n,this._userDataWriter=new hZ(e)}return t.prototype.get=function(e){var n=this,o=_v(e);return this._delegate.get(o).then(function(i){return new vF(n._firestore,new I6(n._firestore._delegate,n._userDataWriter,i._key,i._document,i.metadata,o.converter))})},t.prototype.set=function(e,n,o){var i=_v(e);return o?(O2e("Transaction.set",o),this._delegate.set(i,n,o)):this._delegate.set(i,n),this},t.prototype.update=function(e,n,o){for(var i,r=[],a=3;a"u")throw new ko(On.UNIMPLEMENTED,"Uint8Arrays are not available in this environment.")}function KPe(){if(typeof atob>"u")throw new ko(On.UNIMPLEMENTED,"Blobs are unavailable in Firestore in this environment.")}var ett=function(){function t(e){this._delegate=e}return t.fromBase64String=function(e){return KPe(),new t(nb.fromBase64String(e))},t.fromUint8Array=function(e){return JPe(),new t(nb.fromUint8Array(e))},t.prototype.toBase64=function(){return KPe(),this._delegate.toBase64()},t.prototype.toUint8Array=function(){return JPe(),this._delegate.toUint8Array()},t.prototype.isEqual=function(e){return this._delegate.isEqual(e._delegate)},t.prototype.toString=function(){return"Blob(base64: "+this.toBase64()+")"},t}(),qBn=function(){function t(){}return t.prototype.enableIndexedDbPersistence=function(e,n){return function(o,i){BPe(o=$l(o,Fu));var r=ih(o),a=o._freezeSettings(),l=new yde;return UPe(r,l,new Iet(l,a.cacheSizeBytes,i==null?void 0:i.forceOwnership))}(e._delegate,{forceOwnership:n})},t.prototype.enableMultiTabIndexedDbPersistence=function(e){return function(n){BPe(n=$l(n,Fu));var o=ih(n),i=n._freezeSettings(),r=new yde;return UPe(o,r,new TBn(r,i.cacheSizeBytes))}(e._delegate)},t.prototype.clearIndexedDbPersistence=function(e){return function(n){var o=this;if(n._initialized&&!n._terminated)throw new ko(On.FAILED_PRECONDITION,"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");var i=new e1;return n._queue.enqueueAndForgetEvenWhileRestricted(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,function(l){return Ao(this,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return HR.yt()?(s=l+"main",[4,HR.delete(s)]):[2,Promise.resolve()];case 1:return c.sent(),[2]}})})}(P2e(n._databaseId,n._persistenceKey))];case 1:return a.sent(),i.resolve(),[3,3];case 2:return r=a.sent(),i.reject(r),[3,3];case 3:return[2]}})})}),i.promise}(e._delegate)},t}(),ttt=function(){function t(e,n,o){var i=this;this._delegate=n,this.Zc=o,this.INTERNAL={delete:function(){return i.terminate()}},e instanceof TX||(this.tu=e)}return Object.defineProperty(t.prototype,"_databaseId",{get:function(){return this._delegate._databaseId},enumerable:!1,configurable:!0}),t.prototype.settings=function(e){var n=this._delegate._getSettings();e.merge||n.host===e.host||dX("You are overriding the original host. If you did not intend to override your settings, use {merge: true}."),e.merge&&delete(e=Object.assign(Object.assign({},n),e)).merge,this._delegate._setSettings(e)},t.prototype.useEmulator=function(e,n,o){o===void 0&&(o={}),function(i,r,a,l){var s;l===void 0&&(l={});var c=(i=$l(i,AF))._getSettings();if(c.host!=="firestore.googleapis.com"&&c.host!==r&&dX("Host has been set in both settings() and useEmulator(), emulator host will be used"),i._setSettings(Object.assign(Object.assign({},c),{host:r+":"+a,ssl:!1})),l.mockUserToken){var u,d;if(typeof l.mockUserToken=="string")u=l.mockUserToken,d=Zd.MOCK_USER;else{u=Fye(l.mockUserToken,(s=i._app)===null||s===void 0?void 0:s.options.projectId);var f=l.mockUserToken.sub||l.mockUserToken.user_id;if(!f)throw new ko(On.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");d=new Zd(f)}i._credentials=new MBn(new Fet(u,d))}}(this._delegate,e,n,o)},t.prototype.enableNetwork=function(){return function(e){var n=this;return e.asyncQueue.enqueue(function(){return Ao(n,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return[4,MPe(e)];case 1:return o=r.sent(),[4,IPe(e)];case 2:return i=r.sent(),[2,(o.setNetworkEnabled(!0),function(a){var l=Ri(a);return l.Or.delete(0),PN(l)}(i))]}})})})}(ih($l(this._delegate,Fu)))},t.prototype.disableNetwork=function(){return function(e){var n=this;return e.asyncQueue.enqueue(function(){return Ao(n,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return[4,MPe(e)];case 1:return o=r.sent(),[4,IPe(e)];case 2:return i=r.sent(),[2,(o.setNetworkEnabled(!1),function(a){return Ao(this,void 0,void 0,function(){var l;return ho(this,function(s){switch(s.label){case 0:return(l=Ri(a)).Or.add(0),[4,KH(l)];case 1:return s.sent(),l.Br.set("Offline"),[2]}})})}(i))]}})})})}(ih($l(this._delegate,Fu)))},t.prototype.enablePersistence=function(e){var n=!1,o=!1;return e&&Let("synchronizeTabs",n=!!e.synchronizeTabs,"experimentalForceOwningTab",o=!!e.experimentalForceOwningTab),n?this.Zc.enableMultiTabIndexedDbPersistence(this):this.Zc.enableIndexedDbPersistence(this,o)},t.prototype.clearPersistence=function(){return this.Zc.clearIndexedDbPersistence(this)},t.prototype.terminate=function(){return this.tu&&(this.tu._removeServiceInstance("firestore"),this.tu._removeServiceInstance("firestore-exp")),this._delegate._delete()},t.prototype.waitForPendingWrites=function(){return function(e){var n=this,o=new e1;return e.asyncQueue.enqueueAndForget(function(){return Ao(n,void 0,void 0,function(){var i;return ho(this,function(r){switch(r.label){case 0:return i=hBn,[4,ket(e)];case 1:return[2,i.apply(void 0,[r.sent(),o])]}})})}),o.promise}(ih($l(this._delegate,Fu)))},t.prototype.onSnapshotsInSync=function(e){return function(n,o){return function(i,r){var a=this,l=new lZ(r);return i.asyncQueue.enqueueAndForget(function(){return Ao(a,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return s=function(u,d){Ri(u).Gr.add(d),d.next()},[4,ER(i)];case 1:return[2,s.apply(void 0,[c.sent(),l])]}})})}),function(){l.Wo(),i.asyncQueue.enqueueAndForget(function(){return Ao(a,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return s=function(u,d){Ri(u).Gr.delete(d)},[4,ER(i)];case 1:return[2,s.apply(void 0,[c.sent(),l])]}})})})}}(ih(n=$l(n,Fu)),kR(o)?o:{next:o})}(this._delegate,e)},Object.defineProperty(t.prototype,"app",{get:function(){if(!this.tu)throw new ko(On.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this.tu},enumerable:!1,configurable:!0}),t.prototype.collection=function(e){try{return new RX(this,Wet(this._delegate,e))}catch(n){throw Gh(n,"collection()","Firestore.collection()")}},t.prototype.doc=function(e){try{return new xx(this,eV(this._delegate,e))}catch(n){throw Gh(n,"doc()","Firestore.doc()")}},t.prototype.collectionGroup=function(e){try{return new gZ(this,function(n,o){if(n=$l(n,AF),Y2e("collectionGroup","collection id",o),o.indexOf("/")>=0)throw new ko(On.INVALID_ARGUMENT,"Invalid collection ID '"+o+"' passed to function collectionGroup(). Collection IDs must not contain '/'.");return new vg(n,null,function(i){return new gA(Ul.emptyPath(),i)}(o))}(this._delegate,e))}catch(n){throw Gh(n,"collectionGroup()","Firestore.collectionGroup()")}},t.prototype.runTransaction=function(e){var n=this;return function(o,i){return function(r,a){var l=this,s=new e1;return r.asyncQueue.enqueueAndForget(function(){return Ao(l,void 0,void 0,function(){var c;return ho(this,function(u){switch(u.label){case 0:return[4,function(d){return sZ(d).then(function(f){return f.datastore})}(r)];case 1:return c=u.sent(),new CBn(r.asyncQueue,c,a,s).run(),[2]}})})}),s.promise}(ih(o),function(r){return i(new KBn(o,r))})}(this._delegate,function(o){return e(new ntt(n,o))})},t.prototype.batch=function(){var e=this;return ih(this._delegate),new ott(new JBn(this._delegate,function(n){return RN(e._delegate,n)}))},t.prototype.loadBundle=function(e){throw new ko(On.FAILED_PRECONDITION,'"loadBundle()" does not exist, have you imported "firebase/firestore/bundle"?')},t.prototype.namedQuery=function(e){throw new ko(On.FAILED_PRECONDITION,'"namedQuery()" does not exist, have you imported "firebase/firestore/bundle"?')},t}(),hZ=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new ett(new nb(n))},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return xx.eu(o,this.firestore,null)},e}(K2e);function $Bn(t){var e;e=t,z2.setLogLevel(e)}var ntt=function(){function t(e,n){this._firestore=e,this._delegate=n,this._userDataWriter=new hZ(e)}return t.prototype.get=function(e){var n=this,o=_v(e);return this._delegate.get(o).then(function(i){return new vF(n._firestore,new I6(n._firestore._delegate,n._userDataWriter,i._key,i._document,i.metadata,o.converter))})},t.prototype.set=function(e,n,o){var i=_v(e);return o?(O2e("Transaction.set",o),this._delegate.set(i,n,o)):this._delegate.set(i,n),this},t.prototype.update=function(e,n,o){for(var i,r=[],a=3;a>6,128|o&63);else if((o&64512)===55296){var i=n>18,128|o>>12&63,128|o>>6&63,128|o&63)}}else(o&64512)===56320?e.push(239,191,189):e.push(224|o>>12,128|o>>6&63,128|o&63)}return new Uint8Array(e)}function wjn(t){var e;try{e=decodeURIComponent(t)}catch{throw TE(km.DATA_URL,"Malformed data URL.")}return htt(e)}function ptt(t,e){switch(t){case km.BASE64:{var n=e.indexOf("-")!==-1,o=e.indexOf("_")!==-1;if(n||o){var i=n?"-":"_";throw TE(t,"Invalid character '"+i+"' found: is it base64url encoded?")}break}case km.BASE64URL:{var r=e.indexOf("+")!==-1,a=e.indexOf("/")!==-1;if(r||a){var i=r?"+":"/";throw TE(t,"Invalid character '"+i+"' found: is it base64 encoded?")}e=e.replace(/-/g,"+").replace(/_/g,"/");break}}var l;try{l=Ajn(e)}catch{throw TE(t,"Invalid character found")}for(var s=new Uint8Array(l.length),c=0;c][;base64],");var o=n[1]||null;o!=null&&(this.base64=bjn(o,";base64"),this.contentType=this.base64?o.substring(0,o.length-7):o),this.rest=e.substring(e.indexOf(",")+1)}return t}();function vjn(t){var e=new gtt(t);return e.base64?ptt(km.BASE64,e.rest):wjn(e.rest)}function xjn(t){var e=new gtt(t);return e.contentType}function bjn(t,e){var n=t.length>=e.length;return n?t.substring(t.length-e.length)===e:!1}/** + */var km={RAW:"raw",BASE64:"base64",BASE64URL:"base64url",DATA_URL:"data_url"},Qre=function(){function t(e,n){this.data=e,this.contentType=n||null}return t}();function ftt(t,e){switch(t){case km.RAW:return new Qre(htt(e));case km.BASE64:case km.BASE64URL:return new Qre(ptt(t,e));case km.DATA_URL:return new Qre(Ajn(e),wjn(e))}throw q2e()}function htt(t){for(var e=[],n=0;n>6,128|o&63);else if((o&64512)===55296){var i=n>18,128|o>>12&63,128|o>>6&63,128|o&63)}}else(o&64512)===56320?e.push(239,191,189):e.push(224|o>>12,128|o>>6&63,128|o&63)}return new Uint8Array(e)}function yjn(t){var e;try{e=decodeURIComponent(t)}catch{throw TE(km.DATA_URL,"Malformed data URL.")}return htt(e)}function ptt(t,e){switch(t){case km.BASE64:{var n=e.indexOf("-")!==-1,o=e.indexOf("_")!==-1;if(n||o){var i=n?"-":"_";throw TE(t,"Invalid character '"+i+"' found: is it base64url encoded?")}break}case km.BASE64URL:{var r=e.indexOf("+")!==-1,a=e.indexOf("/")!==-1;if(r||a){var i=r?"+":"/";throw TE(t,"Invalid character '"+i+"' found: is it base64 encoded?")}e=e.replace(/-/g,"+").replace(/_/g,"/");break}}var l;try{l=mjn(e)}catch{throw TE(t,"Invalid character found")}for(var s=new Uint8Array(l.length),c=0;c][;base64],");var o=n[1]||null;o!=null&&(this.base64=vjn(o,";base64"),this.contentType=this.base64?o.substring(0,o.length-7):o),this.rest=e.substring(e.indexOf(",")+1)}return t}();function Ajn(t){var e=new gtt(t);return e.base64?ptt(km.BASE64,e.rest):yjn(e.rest)}function wjn(t){var e=new gtt(t);return e.contentType}function vjn(t,e){var n=t.length>=e.length;return n?t.substring(t.length-e.length)===e:!1}/** * @license * Copyright 2017 Google LLC * @@ -6505,7 +6505,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Sjn={STATE_CHANGED:"state_changed"},Xh={RUNNING:"running",PAUSED:"paused",SUCCESS:"success",CANCELED:"canceled",ERROR:"error"};function Zre(t){switch(t){case"running":case"pausing":case"canceling":return Xh.RUNNING;case"paused":return Xh.PAUSED;case"success":return Xh.SUCCESS;case"canceled":return Xh.CANCELED;case"error":return Xh.ERROR;default:return Xh.ERROR}}/** + */var xjn={STATE_CHANGED:"state_changed"},Xh={RUNNING:"running",PAUSED:"paused",SUCCESS:"success",CANCELED:"canceled",ERROR:"error"};function Zre(t){switch(t){case"running":case"pausing":case"canceling":return Xh.RUNNING;case"paused":return Xh.PAUSED;case"success":return Xh.SUCCESS;case"canceled":return Xh.CANCELED;case"error":return Xh.ERROR;default:return Xh.ERROR}}/** * @license * Copyright 2017 Google LLC * @@ -6535,7 +6535,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Tjn=function(){function t(){var e=this;this.sent_=!1,this.xhr_=new XMLHttpRequest,this.errorCode_=bx.NO_ERROR,this.sendPromise_=new Promise(function(n){e.xhr_.addEventListener("abort",function(){e.errorCode_=bx.ABORT,n()}),e.xhr_.addEventListener("error",function(){e.errorCode_=bx.NETWORK_ERROR,n()}),e.xhr_.addEventListener("load",function(){n()})})}return t.prototype.send=function(e,n,o,i){if(this.sent_)throw yO("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(n,e,!0),i!==void 0)for(var r in i)i.hasOwnProperty(r)&&this.xhr_.setRequestHeader(r,i[r].toString());return o!==void 0?this.xhr_.send(o):this.xhr_.send(),this.sendPromise_},t.prototype.getErrorCode=function(){if(!this.sent_)throw yO("cannot .getErrorCode() before sending");return this.errorCode_},t.prototype.getStatus=function(){if(!this.sent_)throw yO("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}},t.prototype.getResponseText=function(){if(!this.sent_)throw yO("cannot .getResponseText() before sending");return this.xhr_.responseText},t.prototype.abort=function(){this.xhr_.abort()},t.prototype.getResponseHeader=function(e){return this.xhr_.getResponseHeader(e)},t.prototype.addUploadProgressListener=function(e){this.xhr_.upload!=null&&this.xhr_.upload.addEventListener("progress",e)},t.prototype.removeUploadProgressListener=function(e){this.xhr_.upload!=null&&this.xhr_.upload.removeEventListener("progress",e)},t}();function Pjn(){return new Tjn}/** + */var bjn=function(){function t(){var e=this;this.sent_=!1,this.xhr_=new XMLHttpRequest,this.errorCode_=bx.NO_ERROR,this.sendPromise_=new Promise(function(n){e.xhr_.addEventListener("abort",function(){e.errorCode_=bx.ABORT,n()}),e.xhr_.addEventListener("error",function(){e.errorCode_=bx.NETWORK_ERROR,n()}),e.xhr_.addEventListener("load",function(){n()})})}return t.prototype.send=function(e,n,o,i){if(this.sent_)throw yO("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(n,e,!0),i!==void 0)for(var r in i)i.hasOwnProperty(r)&&this.xhr_.setRequestHeader(r,i[r].toString());return o!==void 0?this.xhr_.send(o):this.xhr_.send(),this.sendPromise_},t.prototype.getErrorCode=function(){if(!this.sent_)throw yO("cannot .getErrorCode() before sending");return this.errorCode_},t.prototype.getStatus=function(){if(!this.sent_)throw yO("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}},t.prototype.getResponseText=function(){if(!this.sent_)throw yO("cannot .getResponseText() before sending");return this.xhr_.responseText},t.prototype.abort=function(){this.xhr_.abort()},t.prototype.getResponseHeader=function(e){return this.xhr_.getResponseHeader(e)},t.prototype.addUploadProgressListener=function(e){this.xhr_.upload!=null&&this.xhr_.upload.addEventListener("progress",e)},t.prototype.removeUploadProgressListener=function(e){this.xhr_.upload!=null&&this.xhr_.upload.removeEventListener("progress",e)},t}();function Sjn(){return new bjn}/** * @license * Copyright 2017 Google LLC * @@ -6550,7 +6550,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Cjn=function(){function t(){}return t.prototype.createConnection=function(){return Pjn()},t}();/** + */var Tjn=function(){function t(){}return t.prototype.createConnection=function(){return Sjn()},t}();/** * @license * Copyright 2017 Google LLC * @@ -6565,7 +6565,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Fm=function(){function t(e,n){this.bucket=e,this.path_=n}return Object.defineProperty(t.prototype,"path",{get:function(){return this.path_},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isRoot",{get:function(){return this.path.length===0},enumerable:!1,configurable:!0}),t.prototype.fullServerUrl=function(){var e=encodeURIComponent;return"/b/"+e(this.bucket)+"/o/"+e(this.path)},t.prototype.bucketOnlyServerUrl=function(){var e=encodeURIComponent;return"/b/"+e(this.bucket)+"/o"},t.makeFromBucketSpec=function(e,n){var o;try{o=t.makeFromUrl(e,n)}catch{return new t(e,"")}if(o.path==="")return o;throw pjn(e)},t.makeFromUrl=function(e,n){var o=null,i="([A-Za-z0-9.\\-_]+)";function r(R){R.path.charAt(R.path.length-1)==="/"&&(R.path_=R.path_.slice(0,-1))}var a="(/(.*))?$",l=new RegExp("^gs://"+i+a,"i"),s={bucket:1,path:3};function c(R){R.path_=decodeURIComponent(R.path)}for(var u="v[A-Za-z0-9_]+",d=n.replace(/[.]/g,"\\."),f="(/([^?#]*).*)?$",p=new RegExp("^https?://"+d+"/"+u+"/b/"+i+"/o"+f,"i"),g={bucket:1,path:3},y=n===att?"(?:storage.googleapis.com|storage.cloud.google.com)":n,A="([^?#]*)",x=new RegExp("^https?://"+y+"/"+i+"/"+A,"i"),C={bucket:1,path:2},b=[{regex:l,indices:s,postModify:r},{regex:p,indices:g,postModify:c},{regex:x,indices:C,postModify:c}],v=0;vn)throw TC("Invalid value for '"+t+"'. Expected "+n+" or less.")}/** + */function Hjn(t){return t!==void 0}function Mjn(t){return typeof t=="function"}function Ijn(t){return typeof t=="object"&&!Array.isArray(t)}function mZ(t){return typeof t=="string"||t instanceof String}function qPe(t){return $2e()&&t instanceof Blob}function $2e(){return typeof Blob<"u"}function xde(t,e,n,o){if(on)throw TC("Invalid value for '"+t+"'. Expected "+n+" or less.")}/** * @license * Copyright 2017 Google LLC * @@ -6625,7 +6625,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Ejn=function(){function t(e,n,o,i,r,a,l,s,c,u,d){var f=this;this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.url_=e,this.method_=n,this.headers_=o,this.body_=i,this.successCodes_=r.slice(),this.additionalRetryCodes_=a.slice(),this.callback_=l,this.errorCallback_=s,this.progressCallback_=u,this.timeout_=c,this.pool_=d,this.promise_=new Promise(function(p,g){f.resolve_=p,f.reject_=g,f.start_()})}return t.prototype.start_=function(){var e=this;function n(i,r){if(r){i(!1,new AO(!1,null,!0));return}var a=e.pool_.createConnection();e.pendingConnection_=a;function l(s){var c=s.loaded,u=s.lengthComputable?s.total:-1;e.progressCallback_!==null&&e.progressCallback_(c,u)}e.progressCallback_!==null&&a.addUploadProgressListener(l),a.send(e.url_,e.method_,e.body_,e.headers_).then(function(){e.progressCallback_!==null&&a.removeUploadProgressListener(l),e.pendingConnection_=null;var s=a.getErrorCode()===bx.NO_ERROR,c=a.getStatus();if(!s||e.isRetryStatusCode_(c)){var u=a.getErrorCode()===bx.ABORT;i(!1,new AO(!1,null,u));return}var d=e.successCodes_.indexOf(c)!==-1;i(!0,new AO(d,a))})}function o(i,r){var a=e.resolve_,l=e.reject_,s=r.connection;if(r.wasSuccessCode)try{var c=e.callback_(s,s.getResponseText());Ijn(c)?a(c):a()}catch(d){l(d)}else if(s!==null){var u=q2e();u.serverResponse=s.getResponseText(),e.errorCallback_?l(e.errorCallback_(s,u)):l(u)}else if(r.canceled){var u=e.appDelete_?utt():stt();l(u)}else{var u=fjn();l(u)}}this.canceled_?o(!1,new AO(!1,null,!0)):this.backoffId_=Hjn(n,o,this.timeout_)},t.prototype.getPromise=function(){return this.promise_},t.prototype.cancel=function(e){this.canceled_=!0,this.appDelete_=e||!1,this.backoffId_!==null&&Mjn(this.backoffId_),this.pendingConnection_!==null&&this.pendingConnection_.abort()},t.prototype.isRetryStatusCode_=function(e){var n=e>=500&&e<600,o=[408,429],i=o.indexOf(e)!==-1,r=this.additionalRetryCodes_.indexOf(e)!==-1;return n||i||r},t}(),AO=function(){function t(e,n,o){this.wasSuccessCode=e,this.connection=n,this.canceled=!!o}return t}();function kjn(t,e){e!==null&&e.length>0&&(t.Authorization="Firebase "+e)}function Fjn(t,e){t["X-Firebase-Storage-Version"]="webjs/"+(e??"AppManager")}function Ljn(t,e){e&&(t["X-Firebase-GMPID"]=e)}function Wjn(t,e){e!==null&&(t["X-Firebase-AppCheck"]=e)}function Njn(t,e,n,o,i,r){var a=mtt(t.urlParams),l=t.url+a,s=Object.assign({},t.headers);return Ljn(s,e),kjn(s,n),Fjn(s,r),Wjn(s,o),new Ejn(l,t.method,s,t.body,t.successCodes,t.additionalRetryCodes,t.handler,t.errorHandler,t.timeout,t.progressCallback,i)}/** + */var zjn=function(){function t(e,n,o,i,r,a,l,s,c,u,d){var f=this;this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.url_=e,this.method_=n,this.headers_=o,this.body_=i,this.successCodes_=r.slice(),this.additionalRetryCodes_=a.slice(),this.callback_=l,this.errorCallback_=s,this.progressCallback_=u,this.timeout_=c,this.pool_=d,this.promise_=new Promise(function(p,g){f.resolve_=p,f.reject_=g,f.start_()})}return t.prototype.start_=function(){var e=this;function n(i,r){if(r){i(!1,new AO(!1,null,!0));return}var a=e.pool_.createConnection();e.pendingConnection_=a;function l(s){var c=s.loaded,u=s.lengthComputable?s.total:-1;e.progressCallback_!==null&&e.progressCallback_(c,u)}e.progressCallback_!==null&&a.addUploadProgressListener(l),a.send(e.url_,e.method_,e.body_,e.headers_).then(function(){e.progressCallback_!==null&&a.removeUploadProgressListener(l),e.pendingConnection_=null;var s=a.getErrorCode()===bx.NO_ERROR,c=a.getStatus();if(!s||e.isRetryStatusCode_(c)){var u=a.getErrorCode()===bx.ABORT;i(!1,new AO(!1,null,u));return}var d=e.successCodes_.indexOf(c)!==-1;i(!0,new AO(d,a))})}function o(i,r){var a=e.resolve_,l=e.reject_,s=r.connection;if(r.wasSuccessCode)try{var c=e.callback_(s,s.getResponseText());Hjn(c)?a(c):a()}catch(d){l(d)}else if(s!==null){var u=q2e();u.serverResponse=s.getResponseText(),e.errorCallback_?l(e.errorCallback_(s,u)):l(u)}else if(r.canceled){var u=e.appDelete_?utt():stt();l(u)}else{var u=ujn();l(u)}}this.canceled_?o(!1,new AO(!1,null,!0)):this.backoffId_=Cjn(n,o,this.timeout_)},t.prototype.getPromise=function(){return this.promise_},t.prototype.cancel=function(e){this.canceled_=!0,this.appDelete_=e||!1,this.backoffId_!==null&&Rjn(this.backoffId_),this.pendingConnection_!==null&&this.pendingConnection_.abort()},t.prototype.isRetryStatusCode_=function(e){var n=e>=500&&e<600,o=[408,429],i=o.indexOf(e)!==-1,r=this.additionalRetryCodes_.indexOf(e)!==-1;return n||i||r},t}(),AO=function(){function t(e,n,o){this.wasSuccessCode=e,this.connection=n,this.canceled=!!o}return t}();function Djn(t,e){e!==null&&e.length>0&&(t.Authorization="Firebase "+e)}function Ejn(t,e){t["X-Firebase-Storage-Version"]="webjs/"+(e??"AppManager")}function kjn(t,e){e&&(t["X-Firebase-GMPID"]=e)}function Fjn(t,e){e!==null&&(t["X-Firebase-AppCheck"]=e)}function Ljn(t,e,n,o,i,r){var a=mtt(t.urlParams),l=t.url+a,s=Object.assign({},t.headers);return kjn(s,e),Djn(s,n),Ejn(s,r),Fjn(s,o),new zjn(l,t.method,s,t.body,t.successCodes,t.additionalRetryCodes,t.handler,t.errorHandler,t.timeout,t.progressCallback,i)}/** * @license * Copyright 2017 Google LLC * @@ -6640,7 +6640,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Ujn(){return typeof BlobBuilder<"u"?BlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:void 0}function Bjn(){for(var t=[],e=0;e0}).join("/");return t.length===0?n:t+"/"+n}function ytt(t){var e=t.lastIndexOf("/",t.length-2);return e===-1?t:t.slice(e+1)}/** + */function Bjn(t){if(t.length===0)return null;var e=t.lastIndexOf("/");if(e===-1)return"";var n=t.slice(0,e);return n}function jjn(t,e){var n=e.split("/").filter(function(o){return o.length>0}).join("/");return t.length===0?n:t+"/"+n}function ytt(t){var e=t.lastIndexOf("/",t.length-2);return e===-1?t:t.slice(e+1)}/** * @license * Copyright 2017 Google LLC * @@ -6700,7 +6700,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function _jn(t,e){return e}var Wh=function(){function t(e,n,o,i){this.server=e,this.local=n||e,this.writable=!!o,this.xform=i||_jn}return t}(),wO=null;function Vjn(t){return!mZ(t)||t.length<2?t:ytt(t)}function yZ(){if(wO)return wO;var t=[];t.push(new Wh("bucket")),t.push(new Wh("generation")),t.push(new Wh("metageneration")),t.push(new Wh("name","fullPath",!0));function e(r,a){return Vjn(a)}var n=new Wh("name");n.xform=e,t.push(n);function o(r,a){return a!==void 0?Number(a):a}var i=new Wh("size");return i.xform=o,t.push(i),t.push(new Wh("timeCreated")),t.push(new Wh("updated")),t.push(new Wh("md5Hash",null,!0)),t.push(new Wh("cacheControl",null,!0)),t.push(new Wh("contentDisposition",null,!0)),t.push(new Wh("contentEncoding",null,!0)),t.push(new Wh("contentLanguage",null,!0)),t.push(new Wh("contentType",null,!0)),t.push(new Wh("metadata","customMetadata",!0)),wO=t,wO}function Gjn(t,e){function n(){var o=t.bucket,i=t.fullPath,r=new Fm(o,i);return e._makeStorageReference(r)}Object.defineProperty(t,"ref",{get:n})}function Xjn(t,e,n){var o={};o.type="file";for(var i=n.length,r=0;r0&&(r.delimiter=n),o&&(r.pageToken=o),i&&(r.maxResults=i);var a=e.bucketOnlyServerUrl(),l=O7(a,t.host),s="GET",c=t.maxOperationRetryTime,u=new mA(l,s,$jn(t,e.bucket),c);return u.urlParams=r,u.errorHandler=ZH(e),u}function eYn(t,e,n){var o=e.fullServerUrl(),i=O7(o,t.host),r="GET",a=t.maxOperationRetryTime,l=new mA(i,r,Qjn(t,n),a);return l.errorHandler=wZ(e),l}function tYn(t,e,n,o){var i=e.fullServerUrl(),r=O7(i,t.host),a="PATCH",l=e5e(n,o),s={"Content-Type":"application/json; charset=utf-8"},c=t.maxOperationRetryTime,u=new mA(r,a,AZ(t,o),c);return u.headers=s,u.body=l,u.errorHandler=wZ(e),u}function nYn(t,e){var n=e.fullServerUrl(),o=O7(n,t.host),i="DELETE",r=t.maxOperationRetryTime;function a(s,c){}var l=new mA(o,i,a,r);return l.successCodes=[200,204],l.errorHandler=wZ(e),l}function oYn(t,e){return t&&t.contentType||e&&e.type()||"application/octet-stream"}function vtt(t,e,n){var o=Object.assign({},n);return o.fullPath=t.path,o.size=e.size(),o.contentType||(o.contentType=oYn(null,e)),o}function iYn(t,e,n,o,i){var r=e.bucketOnlyServerUrl(),a={"X-Goog-Upload-Protocol":"multipart"};function l(){for(var b="",v=0;v<2;v++)b=b+Math.random().toString().slice(2);return b}var s=l();a["Content-Type"]="multipart/related; boundary="+s;var c=vtt(e,o,i),u=e5e(c,n),d="--"+s+`\r + */function x9(t){if(!t)throw q2e()}function AZ(t,e){function n(o,i){var r=Att(t,i,e);return x9(r!==null),r}return n}function Kjn(t,e){function n(o,i){var r=Jjn(t,e,i);return x9(r!==null),r}return n}function qjn(t,e){function n(o,i){var r=Att(t,i,e);return x9(r!==null),Gjn(r,i,t.host)}return n}function ZH(t){function e(n,o){var i;return n.getStatus()===401?n.getResponseText().includes("Firebase App Check token is invalid")?i=sjn():i=ljn():n.getStatus()===402?i=ajn(t.bucket):n.getStatus()===403?i=cjn(t.path):i=o,i.serverResponse=o.serverResponse,i}return e}function wZ(t){var e=ZH(t);function n(o,i){var r=e(o,i);return o.getStatus()===404&&(r=rjn(t.path)),r.serverResponse=i.serverResponse,r}return n}function wtt(t,e,n){var o=e.fullServerUrl(),i=O7(o,t.host),r="GET",a=t.maxOperationRetryTime,l=new mA(i,r,AZ(t,n),a);return l.errorHandler=wZ(e),l}function $jn(t,e,n,o,i){var r={};e.isRoot?r.prefix="":r.prefix=e.path+"/",n.length>0&&(r.delimiter=n),o&&(r.pageToken=o),i&&(r.maxResults=i);var a=e.bucketOnlyServerUrl(),l=O7(a,t.host),s="GET",c=t.maxOperationRetryTime,u=new mA(l,s,Kjn(t,e.bucket),c);return u.urlParams=r,u.errorHandler=ZH(e),u}function Qjn(t,e,n){var o=e.fullServerUrl(),i=O7(o,t.host),r="GET",a=t.maxOperationRetryTime,l=new mA(i,r,qjn(t,n),a);return l.errorHandler=wZ(e),l}function Zjn(t,e,n,o){var i=e.fullServerUrl(),r=O7(i,t.host),a="PATCH",l=e5e(n,o),s={"Content-Type":"application/json; charset=utf-8"},c=t.maxOperationRetryTime,u=new mA(r,a,AZ(t,o),c);return u.headers=s,u.body=l,u.errorHandler=wZ(e),u}function eYn(t,e){var n=e.fullServerUrl(),o=O7(n,t.host),i="DELETE",r=t.maxOperationRetryTime;function a(s,c){}var l=new mA(o,i,a,r);return l.successCodes=[200,204],l.errorHandler=wZ(e),l}function tYn(t,e){return t&&t.contentType||e&&e.type()||"application/octet-stream"}function vtt(t,e,n){var o=Object.assign({},n);return o.fullPath=t.path,o.size=e.size(),o.contentType||(o.contentType=tYn(null,e)),o}function nYn(t,e,n,o,i){var r=e.bucketOnlyServerUrl(),a={"X-Goog-Upload-Protocol":"multipart"};function l(){for(var b="",v=0;v<2;v++)b=b+Math.random().toString().slice(2);return b}var s=l();a["Content-Type"]="multipart/related; boundary="+s;var c=vtt(e,o,i),u=e5e(c,n),d="--"+s+`\r Content-Type: application/json; charset=utf-8\r \r `+u+`\r @@ -6738,7 +6738,7 @@ Content-Type: application/json; charset=utf-8\r Content-Type: `+c.contentType+`\r \r `,f=`\r ---`+s+"--",p=Q2e.getBlob(d,o,f);if(p===null)throw ctt();var g={name:c.fullPath},y=O7(r,t.host),A="POST",x=t.maxUploadRetryTime,C=new mA(y,A,AZ(t,n),x);return C.urlParams=g,C.headers=a,C.body=p.uploadData(),C.errorHandler=ZH(e),C}var HX=function(){function t(e,n,o,i){this.current=e,this.total=n,this.finalized=!!o,this.metadata=i||null}return t}();function t5e(t,e){var n=null;try{n=t.getResponseHeader("X-Goog-Upload-Status")}catch{x9(!1)}var o=e||["active"];return x9(!!n&&o.indexOf(n)!==-1),n}function rYn(t,e,n,o,i){var r=e.bucketOnlyServerUrl(),a=vtt(e,o,i),l={name:a.fullPath},s=O7(r,t.host),c="POST",u={"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":""+o.size(),"X-Goog-Upload-Header-Content-Type":a.contentType,"Content-Type":"application/json; charset=utf-8"},d=e5e(a,n),f=t.maxUploadRetryTime;function p(y){t5e(y);var A;try{A=y.getResponseHeader("X-Goog-Upload-URL")}catch{x9(!1)}return x9(mZ(A)),A}var g=new mA(s,c,p,f);return g.urlParams=l,g.headers=u,g.body=d,g.errorHandler=ZH(e),g}function aYn(t,e,n,o){var i={"X-Goog-Upload-Command":"query"};function r(c){var u=t5e(c,["active","final"]),d=null;try{d=c.getResponseHeader("X-Goog-Upload-Size-Received")}catch{x9(!1)}d||x9(!1);var f=Number(d);return x9(!isNaN(f)),new HX(f,o.size(),u==="final")}var a="POST",l=t.maxUploadRetryTime,s=new mA(n,a,r,l);return s.headers=i,s.errorHandler=ZH(e),s}var ZPe=256*1024;function lYn(t,e,n,o,i,r,a,l){var s=new HX(0,0);if(a?(s.current=a.current,s.total=a.total):(s.current=0,s.total=o.size()),o.size()!==s.total)throw mjn();var c=s.total-s.current,u=c;i>0&&(u=Math.min(u,i));var d=s.current,f=d+u,p=u===c?"upload, finalize":"upload",g={"X-Goog-Upload-Command":p,"X-Goog-Upload-Offset":""+s.current},y=o.slice(d,f);if(y===null)throw ctt();function A(v,S){var w=t5e(v,["active","final"]),T=s.current+u,P=o.size(),R;return w==="final"?R=AZ(e,r)(v,S):R=null,new HX(T,P,w==="final",R)}var x="POST",C=e.maxUploadRetryTime,b=new mA(n,x,A,C);return b.headers=g,b.body=y.uploadData(),b.progressCallback=l||null,b.errorHandler=ZH(t),b}/** +--`+s+"--",p=Q2e.getBlob(d,o,f);if(p===null)throw ctt();var g={name:c.fullPath},y=O7(r,t.host),A="POST",x=t.maxUploadRetryTime,C=new mA(y,A,AZ(t,n),x);return C.urlParams=g,C.headers=a,C.body=p.uploadData(),C.errorHandler=ZH(e),C}var HX=function(){function t(e,n,o,i){this.current=e,this.total=n,this.finalized=!!o,this.metadata=i||null}return t}();function t5e(t,e){var n=null;try{n=t.getResponseHeader("X-Goog-Upload-Status")}catch{x9(!1)}var o=e||["active"];return x9(!!n&&o.indexOf(n)!==-1),n}function oYn(t,e,n,o,i){var r=e.bucketOnlyServerUrl(),a=vtt(e,o,i),l={name:a.fullPath},s=O7(r,t.host),c="POST",u={"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":""+o.size(),"X-Goog-Upload-Header-Content-Type":a.contentType,"Content-Type":"application/json; charset=utf-8"},d=e5e(a,n),f=t.maxUploadRetryTime;function p(y){t5e(y);var A;try{A=y.getResponseHeader("X-Goog-Upload-URL")}catch{x9(!1)}return x9(mZ(A)),A}var g=new mA(s,c,p,f);return g.urlParams=l,g.headers=u,g.body=d,g.errorHandler=ZH(e),g}function iYn(t,e,n,o){var i={"X-Goog-Upload-Command":"query"};function r(c){var u=t5e(c,["active","final"]),d=null;try{d=c.getResponseHeader("X-Goog-Upload-Size-Received")}catch{x9(!1)}d||x9(!1);var f=Number(d);return x9(!isNaN(f)),new HX(f,o.size(),u==="final")}var a="POST",l=t.maxUploadRetryTime,s=new mA(n,a,r,l);return s.headers=i,s.errorHandler=ZH(e),s}var ZPe=256*1024;function rYn(t,e,n,o,i,r,a,l){var s=new HX(0,0);if(a?(s.current=a.current,s.total=a.total):(s.current=0,s.total=o.size()),o.size()!==s.total)throw pjn();var c=s.total-s.current,u=c;i>0&&(u=Math.min(u,i));var d=s.current,f=d+u,p=u===c?"upload, finalize":"upload",g={"X-Goog-Upload-Command":p,"X-Goog-Upload-Offset":""+s.current},y=o.slice(d,f);if(y===null)throw ctt();function A(v,S){var w=t5e(v,["active","final"]),T=s.current+u,P=o.size(),R;return w==="final"?R=AZ(e,r)(v,S):R=null,new HX(T,P,w==="final",R)}var x="POST",C=e.maxUploadRetryTime,b=new mA(n,x,A,C);return b.headers=g,b.body=y.uploadData(),b.progressCallback=l||null,b.errorHandler=ZH(t),b}/** * @license * Copyright 2017 Google LLC * @@ -6753,7 +6753,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var sYn=function(){function t(e,n,o){var i=zjn(e)||n!=null||o!=null;if(i)this.next=e,this.error=n,this.complete=o;else{var r=e;this.next=r.next,this.error=r.error,this.complete=r.complete}}return t}();/** + */var aYn=function(){function t(e,n,o){var i=Mjn(e)||n!=null||o!=null;if(i)this.next=e,this.error=n,this.complete=o;else{var r=e;this.next=r.next,this.error=r.error,this.complete=r.complete}}return t}();/** * @license * Copyright 2017 Google LLC * @@ -6783,7 +6783,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var xtt=function(){function t(e,n,o){var i=this;o===void 0&&(o=null),this._transferred=0,this._needToFetchStatus=!1,this._needToFetchMetadata=!1,this._observers=[],this._error=void 0,this._uploadUrl=void 0,this._request=void 0,this._chunkMultiplier=1,this._resolve=void 0,this._reject=void 0,this._ref=e,this._blob=n,this._metadata=o,this._mappings=yZ(),this._resumable=this._shouldDoResumable(this._blob),this._state="running",this._errorHandler=function(r){i._request=void 0,i._chunkMultiplier=1,r._codeEquals("canceled")?(i._needToFetchStatus=!0,i.completeTransitions_()):(i._error=r,i._transition("error"))},this._metadataErrorHandler=function(r){i._request=void 0,r._codeEquals("canceled")?i.completeTransitions_():(i._error=r,i._transition("error"))},this._promise=new Promise(function(r,a){i._resolve=r,i._reject=a,i._start()}),this._promise.then(null,function(){})}return t.prototype._makeProgressCallback=function(){var e=this,n=this._transferred;return function(o){return e._updateProgress(n+o)}},t.prototype._shouldDoResumable=function(e){return e.size()>256*1024},t.prototype._start=function(){this._state==="running"&&this._request===void 0&&(this._resumable?this._uploadUrl===void 0?this._createResumable():this._needToFetchStatus?this._fetchStatus():this._needToFetchMetadata?this._fetchMetadata():this._continueUpload():this._oneShotUpload())},t.prototype._resolveToken=function(e){var n=this;Promise.all([this._ref.storage._getAuthToken(),this._ref.storage._getAppCheckToken()]).then(function(o){var i=o[0],r=o[1];switch(n._state){case"running":e(i,r);break;case"canceling":n._transition("canceled");break;case"pausing":n._transition("paused");break}})},t.prototype._createResumable=function(){var e=this;this._resolveToken(function(n,o){var i=rYn(e._ref.storage,e._ref._location,e._mappings,e._blob,e._metadata),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._uploadUrl=a,e._needToFetchStatus=!1,e.completeTransitions_()},e._errorHandler)})},t.prototype._fetchStatus=function(){var e=this,n=this._uploadUrl;this._resolveToken(function(o,i){var r=aYn(e._ref.storage,e._ref._location,n,e._blob),a=e._ref.storage._makeRequest(r,o,i);e._request=a,a.getPromise().then(function(l){l=l,e._request=void 0,e._updateProgress(l.current),e._needToFetchStatus=!1,l.finalized&&(e._needToFetchMetadata=!0),e.completeTransitions_()},e._errorHandler)})},t.prototype._continueUpload=function(){var e=this,n=ZPe*this._chunkMultiplier,o=new HX(this._transferred,this._blob.size()),i=this._uploadUrl;this._resolveToken(function(r,a){var l;try{l=lYn(e._ref._location,e._ref.storage,i,e._blob,n,e._mappings,o,e._makeProgressCallback())}catch(c){e._error=c,e._transition("error");return}var s=e._ref.storage._makeRequest(l,r,a);e._request=s,s.getPromise().then(function(c){e._increaseMultiplier(),e._request=void 0,e._updateProgress(c.current),c.finalized?(e._metadata=c.metadata,e._transition("success")):e.completeTransitions_()},e._errorHandler)})},t.prototype._increaseMultiplier=function(){var e=ZPe*this._chunkMultiplier;e<32*1024*1024&&(this._chunkMultiplier*=2)},t.prototype._fetchMetadata=function(){var e=this;this._resolveToken(function(n,o){var i=wtt(e._ref.storage,e._ref._location,e._mappings),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._metadata=a,e._transition("success")},e._metadataErrorHandler)})},t.prototype._oneShotUpload=function(){var e=this;this._resolveToken(function(n,o){var i=iYn(e._ref.storage,e._ref._location,e._mappings,e._blob,e._metadata),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._metadata=a,e._updateProgress(e._blob.size()),e._transition("success")},e._errorHandler)})},t.prototype._updateProgress=function(e){var n=this._transferred;this._transferred=e,this._transferred!==n&&this._notifyObservers()},t.prototype._transition=function(e){if(this._state!==e)switch(e){case"canceling":this._state=e,this._request!==void 0&&this._request.cancel();break;case"pausing":this._state=e,this._request!==void 0&&this._request.cancel();break;case"running":var n=this._state==="paused";this._state=e,n&&(this._notifyObservers(),this._start());break;case"paused":this._state=e,this._notifyObservers();break;case"canceled":this._error=stt(),this._state=e,this._notifyObservers();break;case"error":this._state=e,this._notifyObservers();break;case"success":this._state=e,this._notifyObservers();break}},t.prototype.completeTransitions_=function(){switch(this._state){case"pausing":this._transition("paused");break;case"canceling":this._transition("canceled");break;case"running":this._start();break}},Object.defineProperty(t.prototype,"snapshot",{get:function(){var e=Zre(this._state);return{bytesTransferred:this._transferred,totalBytes:this._blob.size(),state:e,metadata:this._metadata,task:this,ref:this._ref}},enumerable:!1,configurable:!0}),t.prototype.on=function(e,n,o,i){var r=this,a=new sYn(n,o,i);return this._addObserver(a),function(){r._removeObserver(a)}},t.prototype.then=function(e,n){return this._promise.then(e,n)},t.prototype.catch=function(e){return this.then(null,e)},t.prototype._addObserver=function(e){this._observers.push(e),this._notifyObserver(e)},t.prototype._removeObserver=function(e){var n=this._observers.indexOf(e);n!==-1&&this._observers.splice(n,1)},t.prototype._notifyObservers=function(){var e=this;this._finishPromise();var n=this._observers.slice();n.forEach(function(o){e._notifyObserver(o)})},t.prototype._finishPromise=function(){if(this._resolve!==void 0){var e=!0;switch(Zre(this._state)){case Xh.SUCCESS:UT(this._resolve.bind(null,this.snapshot))();break;case Xh.CANCELED:case Xh.ERROR:var n=this._reject;UT(n.bind(null,this._error))();break;default:e=!1;break}e&&(this._resolve=void 0,this._reject=void 0)}},t.prototype._notifyObserver=function(e){var n=Zre(this._state);switch(n){case Xh.RUNNING:case Xh.PAUSED:e.next&&UT(e.next.bind(e,this.snapshot))();break;case Xh.SUCCESS:e.complete&&UT(e.complete.bind(e))();break;case Xh.CANCELED:case Xh.ERROR:e.error&&UT(e.error.bind(e,this._error))();break;default:e.error&&UT(e.error.bind(e,this._error))()}},t.prototype.resume=function(){var e=this._state==="paused"||this._state==="pausing";return e&&this._transition("running"),e},t.prototype.pause=function(){var e=this._state==="running";return e&&this._transition("pausing"),e},t.prototype.cancel=function(){var e=this._state==="running"||this._state==="pausing";return e&&this._transition("canceling"),e},t}();/** + */var xtt=function(){function t(e,n,o){var i=this;o===void 0&&(o=null),this._transferred=0,this._needToFetchStatus=!1,this._needToFetchMetadata=!1,this._observers=[],this._error=void 0,this._uploadUrl=void 0,this._request=void 0,this._chunkMultiplier=1,this._resolve=void 0,this._reject=void 0,this._ref=e,this._blob=n,this._metadata=o,this._mappings=yZ(),this._resumable=this._shouldDoResumable(this._blob),this._state="running",this._errorHandler=function(r){i._request=void 0,i._chunkMultiplier=1,r._codeEquals("canceled")?(i._needToFetchStatus=!0,i.completeTransitions_()):(i._error=r,i._transition("error"))},this._metadataErrorHandler=function(r){i._request=void 0,r._codeEquals("canceled")?i.completeTransitions_():(i._error=r,i._transition("error"))},this._promise=new Promise(function(r,a){i._resolve=r,i._reject=a,i._start()}),this._promise.then(null,function(){})}return t.prototype._makeProgressCallback=function(){var e=this,n=this._transferred;return function(o){return e._updateProgress(n+o)}},t.prototype._shouldDoResumable=function(e){return e.size()>256*1024},t.prototype._start=function(){this._state==="running"&&this._request===void 0&&(this._resumable?this._uploadUrl===void 0?this._createResumable():this._needToFetchStatus?this._fetchStatus():this._needToFetchMetadata?this._fetchMetadata():this._continueUpload():this._oneShotUpload())},t.prototype._resolveToken=function(e){var n=this;Promise.all([this._ref.storage._getAuthToken(),this._ref.storage._getAppCheckToken()]).then(function(o){var i=o[0],r=o[1];switch(n._state){case"running":e(i,r);break;case"canceling":n._transition("canceled");break;case"pausing":n._transition("paused");break}})},t.prototype._createResumable=function(){var e=this;this._resolveToken(function(n,o){var i=oYn(e._ref.storage,e._ref._location,e._mappings,e._blob,e._metadata),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._uploadUrl=a,e._needToFetchStatus=!1,e.completeTransitions_()},e._errorHandler)})},t.prototype._fetchStatus=function(){var e=this,n=this._uploadUrl;this._resolveToken(function(o,i){var r=iYn(e._ref.storage,e._ref._location,n,e._blob),a=e._ref.storage._makeRequest(r,o,i);e._request=a,a.getPromise().then(function(l){l=l,e._request=void 0,e._updateProgress(l.current),e._needToFetchStatus=!1,l.finalized&&(e._needToFetchMetadata=!0),e.completeTransitions_()},e._errorHandler)})},t.prototype._continueUpload=function(){var e=this,n=ZPe*this._chunkMultiplier,o=new HX(this._transferred,this._blob.size()),i=this._uploadUrl;this._resolveToken(function(r,a){var l;try{l=rYn(e._ref._location,e._ref.storage,i,e._blob,n,e._mappings,o,e._makeProgressCallback())}catch(c){e._error=c,e._transition("error");return}var s=e._ref.storage._makeRequest(l,r,a);e._request=s,s.getPromise().then(function(c){e._increaseMultiplier(),e._request=void 0,e._updateProgress(c.current),c.finalized?(e._metadata=c.metadata,e._transition("success")):e.completeTransitions_()},e._errorHandler)})},t.prototype._increaseMultiplier=function(){var e=ZPe*this._chunkMultiplier;e<32*1024*1024&&(this._chunkMultiplier*=2)},t.prototype._fetchMetadata=function(){var e=this;this._resolveToken(function(n,o){var i=wtt(e._ref.storage,e._ref._location,e._mappings),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._metadata=a,e._transition("success")},e._metadataErrorHandler)})},t.prototype._oneShotUpload=function(){var e=this;this._resolveToken(function(n,o){var i=nYn(e._ref.storage,e._ref._location,e._mappings,e._blob,e._metadata),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._metadata=a,e._updateProgress(e._blob.size()),e._transition("success")},e._errorHandler)})},t.prototype._updateProgress=function(e){var n=this._transferred;this._transferred=e,this._transferred!==n&&this._notifyObservers()},t.prototype._transition=function(e){if(this._state!==e)switch(e){case"canceling":this._state=e,this._request!==void 0&&this._request.cancel();break;case"pausing":this._state=e,this._request!==void 0&&this._request.cancel();break;case"running":var n=this._state==="paused";this._state=e,n&&(this._notifyObservers(),this._start());break;case"paused":this._state=e,this._notifyObservers();break;case"canceled":this._error=stt(),this._state=e,this._notifyObservers();break;case"error":this._state=e,this._notifyObservers();break;case"success":this._state=e,this._notifyObservers();break}},t.prototype.completeTransitions_=function(){switch(this._state){case"pausing":this._transition("paused");break;case"canceling":this._transition("canceled");break;case"running":this._start();break}},Object.defineProperty(t.prototype,"snapshot",{get:function(){var e=Zre(this._state);return{bytesTransferred:this._transferred,totalBytes:this._blob.size(),state:e,metadata:this._metadata,task:this,ref:this._ref}},enumerable:!1,configurable:!0}),t.prototype.on=function(e,n,o,i){var r=this,a=new aYn(n,o,i);return this._addObserver(a),function(){r._removeObserver(a)}},t.prototype.then=function(e,n){return this._promise.then(e,n)},t.prototype.catch=function(e){return this.then(null,e)},t.prototype._addObserver=function(e){this._observers.push(e),this._notifyObserver(e)},t.prototype._removeObserver=function(e){var n=this._observers.indexOf(e);n!==-1&&this._observers.splice(n,1)},t.prototype._notifyObservers=function(){var e=this;this._finishPromise();var n=this._observers.slice();n.forEach(function(o){e._notifyObserver(o)})},t.prototype._finishPromise=function(){if(this._resolve!==void 0){var e=!0;switch(Zre(this._state)){case Xh.SUCCESS:UT(this._resolve.bind(null,this.snapshot))();break;case Xh.CANCELED:case Xh.ERROR:var n=this._reject;UT(n.bind(null,this._error))();break;default:e=!1;break}e&&(this._resolve=void 0,this._reject=void 0)}},t.prototype._notifyObserver=function(e){var n=Zre(this._state);switch(n){case Xh.RUNNING:case Xh.PAUSED:e.next&&UT(e.next.bind(e,this.snapshot))();break;case Xh.SUCCESS:e.complete&&UT(e.complete.bind(e))();break;case Xh.CANCELED:case Xh.ERROR:e.error&&UT(e.error.bind(e,this._error))();break;default:e.error&&UT(e.error.bind(e,this._error))()}},t.prototype.resume=function(){var e=this._state==="paused"||this._state==="pausing";return e&&this._transition("running"),e},t.prototype.pause=function(){var e=this._state==="running";return e&&this._transition("pausing"),e},t.prototype.cancel=function(){var e=this._state==="running"||this._state==="pausing";return e&&this._transition("canceling"),e},t}();/** * @license * Copyright 2019 Google LLC * @@ -6798,7 +6798,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var vZ=function(){function t(e,n){this._service=e,n instanceof Fm?this._location=n:this._location=Fm.makeFromUrl(n,e.host)}return t.prototype.toString=function(){return"gs://"+this._location.bucket+"/"+this._location.path},t.prototype._newRef=function(e,n){return new t(e,n)},Object.defineProperty(t.prototype,"root",{get:function(){var e=new Fm(this._location.bucket,"");return this._newRef(this._service,e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bucket",{get:function(){return this._location.bucket},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fullPath",{get:function(){return this._location.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return ytt(this._location.path)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"storage",{get:function(){return this._service},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){var e=Yjn(this._location.path);if(e===null)return null;var n=new Fm(this._location.bucket,e);return new t(this._service,n)},enumerable:!1,configurable:!0}),t.prototype._throwIfRoot=function(e){if(this._location.path==="")throw dtt(e)},t}();function cYn(t,e,n){return t._throwIfRoot("uploadBytesResumable"),new xtt(t,new Q2e(e),n)}function uYn(t){var e={prefixes:[],items:[]};return btt(t,e).then(function(){return e})}function btt(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:return o={pageToken:n},[4,Stt(t,o)];case 1:return i=l.sent(),(r=e.prefixes).push.apply(r,i.prefixes),(a=e.items).push.apply(a,i.items),i.nextPageToken==null?[3,3]:[4,btt(t,e,i.nextPageToken)];case 2:l.sent(),l.label=3;case 3:return[2]}})})}function Stt(t,e){return Ao(this,void 0,void 0,function(){var n,o;return ho(this,function(i){switch(i.label){case 0:return e!=null&&typeof e.maxResults=="number"&&xde("options.maxResults",1,1e3,e.maxResults),n=e||{},o=Zjn(t.storage,t._location,"/",n.pageToken,n.maxResults),[4,t.storage.makeRequestWithTokens(o)];case 1:return[2,i.sent().getPromise()]}})})}function dYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("getMetadata"),e=wtt(t.storage,t._location,yZ()),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise()]}})})}function fYn(t,e){return Ao(this,void 0,void 0,function(){var n;return ho(this,function(o){switch(o.label){case 0:return t._throwIfRoot("updateMetadata"),n=tYn(t.storage,t._location,e,yZ()),[4,t.storage.makeRequestWithTokens(n)];case 1:return[2,o.sent().getPromise()]}})})}function hYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("getDownloadURL"),e=eYn(t.storage,t._location,yZ()),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise().then(function(o){if(o===null)throw yjn();return o})]}})})}function pYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("deleteObject"),e=nYn(t.storage,t._location),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise()]}})})}function Ttt(t,e){var n=Ojn(t._location.path,e),o=new Fm(t._location.bucket,n);return new vZ(t.storage,o)}/** + */var vZ=function(){function t(e,n){this._service=e,n instanceof Fm?this._location=n:this._location=Fm.makeFromUrl(n,e.host)}return t.prototype.toString=function(){return"gs://"+this._location.bucket+"/"+this._location.path},t.prototype._newRef=function(e,n){return new t(e,n)},Object.defineProperty(t.prototype,"root",{get:function(){var e=new Fm(this._location.bucket,"");return this._newRef(this._service,e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bucket",{get:function(){return this._location.bucket},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fullPath",{get:function(){return this._location.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return ytt(this._location.path)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"storage",{get:function(){return this._service},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){var e=Bjn(this._location.path);if(e===null)return null;var n=new Fm(this._location.bucket,e);return new t(this._service,n)},enumerable:!1,configurable:!0}),t.prototype._throwIfRoot=function(e){if(this._location.path==="")throw dtt(e)},t}();function lYn(t,e,n){return t._throwIfRoot("uploadBytesResumable"),new xtt(t,new Q2e(e),n)}function sYn(t){var e={prefixes:[],items:[]};return btt(t,e).then(function(){return e})}function btt(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:return o={pageToken:n},[4,Stt(t,o)];case 1:return i=l.sent(),(r=e.prefixes).push.apply(r,i.prefixes),(a=e.items).push.apply(a,i.items),i.nextPageToken==null?[3,3]:[4,btt(t,e,i.nextPageToken)];case 2:l.sent(),l.label=3;case 3:return[2]}})})}function Stt(t,e){return Ao(this,void 0,void 0,function(){var n,o;return ho(this,function(i){switch(i.label){case 0:return e!=null&&typeof e.maxResults=="number"&&xde("options.maxResults",1,1e3,e.maxResults),n=e||{},o=$jn(t.storage,t._location,"/",n.pageToken,n.maxResults),[4,t.storage.makeRequestWithTokens(o)];case 1:return[2,i.sent().getPromise()]}})})}function cYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("getMetadata"),e=wtt(t.storage,t._location,yZ()),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise()]}})})}function uYn(t,e){return Ao(this,void 0,void 0,function(){var n;return ho(this,function(o){switch(o.label){case 0:return t._throwIfRoot("updateMetadata"),n=Zjn(t.storage,t._location,e,yZ()),[4,t.storage.makeRequestWithTokens(n)];case 1:return[2,o.sent().getPromise()]}})})}function dYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("getDownloadURL"),e=Qjn(t.storage,t._location,yZ()),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise().then(function(o){if(o===null)throw gjn();return o})]}})})}function fYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("deleteObject"),e=eYn(t.storage,t._location),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise()]}})})}function Ttt(t,e){var n=jjn(t._location.path,e),o=new Fm(t._location.bucket,n);return new vZ(t.storage,o)}/** * @license * Copyright 2017 Google LLC * @@ -6813,7 +6813,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function bde(t){return/^[A-Za-z]+:\/\//.test(t)}function gYn(t,e){return new vZ(t,e)}function Ptt(t,e){if(t instanceof xZ){var n=t;if(n._bucket==null)throw gjn();var o=new vZ(n,n._bucket);return e!=null?Ptt(o,e):o}else return e!==void 0?Ttt(t,e):t}function mYn(t,e){if(e&&bde(e)){if(t instanceof xZ)return gYn(t,e);throw TC("To use ref(service, url), the first argument must be a Storage instance.")}else return Ptt(t,e)}function eCe(t,e){var n=e==null?void 0:e[ltt];return n==null?null:Fm.makeFromBucketSpec(n,t)}function yYn(t,e,n,o){o===void 0&&(o={}),t.host="http://"+e+":"+n;var i=o.mockUserToken;i&&(t._overrideAuthToken=typeof i=="string"?i:Fye(i,t.app.options.projectId))}var xZ=function(){function t(e,n,o,i,r,a){this.app=e,this._authProvider=n,this._appCheckProvider=o,this._pool=i,this._url=r,this._firebaseVersion=a,this._bucket=null,this._host=att,this._appId=null,this._deleted=!1,this._maxOperationRetryTime=rjn,this._maxUploadRetryTime=ajn,this._requests=new Set,r!=null?this._bucket=Fm.makeFromBucketSpec(r,this._host):this._bucket=eCe(this._host,this.app.options)}return Object.defineProperty(t.prototype,"host",{get:function(){return this._host},set:function(e){this._host=e,this._url!=null?this._bucket=Fm.makeFromBucketSpec(this._url,e):this._bucket=eCe(e,this.app.options)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxUploadRetryTime",{get:function(){return this._maxUploadRetryTime},set:function(e){xde("time",0,Number.POSITIVE_INFINITY,e),this._maxUploadRetryTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxOperationRetryTime",{get:function(){return this._maxOperationRetryTime},set:function(e){xde("time",0,Number.POSITIVE_INFINITY,e),this._maxOperationRetryTime=e},enumerable:!1,configurable:!0}),t.prototype._getAuthToken=function(){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return this._overrideAuthToken?[2,this._overrideAuthToken]:(e=this._authProvider.getImmediate({optional:!0}),e?[4,e.getToken()]:[3,2]);case 1:if(n=o.sent(),n!==null)return[2,n.accessToken];o.label=2;case 2:return[2,null]}})})},t.prototype._getAppCheckToken=function(){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return e=this._appCheckProvider.getImmediate({optional:!0}),e?[4,e.getToken()]:[3,2];case 1:return n=o.sent(),[2,n.token];case 2:return[2,null]}})})},t.prototype._delete=function(){return this._deleted||(this._deleted=!0,this._requests.forEach(function(e){return e.cancel()}),this._requests.clear()),Promise.resolve()},t.prototype._makeStorageReference=function(e){return new vZ(this,e)},t.prototype._makeRequest=function(e,n,o){var i=this;if(this._deleted)return new Rjn(utt());var r=Njn(e,this._appId,n,o,this._pool,this._firebaseVersion);return this._requests.add(r),r.getPromise().then(function(){return i._requests.delete(r)},function(){return i._requests.delete(r)}),r},t.prototype.makeRequestWithTokens=function(e){return Ao(this,void 0,void 0,function(){var n,o,i;return ho(this,function(r){switch(r.label){case 0:return[4,Promise.all([this._getAuthToken(),this._getAppCheckToken()])];case 1:return n=r.sent(),o=n[0],i=n[1],[2,this._makeRequest(e,o,i)]}})})},t}();/** + */function bde(t){return/^[A-Za-z]+:\/\//.test(t)}function hYn(t,e){return new vZ(t,e)}function Ptt(t,e){if(t instanceof xZ){var n=t;if(n._bucket==null)throw hjn();var o=new vZ(n,n._bucket);return e!=null?Ptt(o,e):o}else return e!==void 0?Ttt(t,e):t}function pYn(t,e){if(e&&bde(e)){if(t instanceof xZ)return hYn(t,e);throw TC("To use ref(service, url), the first argument must be a Storage instance.")}else return Ptt(t,e)}function eCe(t,e){var n=e==null?void 0:e[ltt];return n==null?null:Fm.makeFromBucketSpec(n,t)}function gYn(t,e,n,o){o===void 0&&(o={}),t.host="http://"+e+":"+n;var i=o.mockUserToken;i&&(t._overrideAuthToken=typeof i=="string"?i:Fye(i,t.app.options.projectId))}var xZ=function(){function t(e,n,o,i,r,a){this.app=e,this._authProvider=n,this._appCheckProvider=o,this._pool=i,this._url=r,this._firebaseVersion=a,this._bucket=null,this._host=att,this._appId=null,this._deleted=!1,this._maxOperationRetryTime=ojn,this._maxUploadRetryTime=ijn,this._requests=new Set,r!=null?this._bucket=Fm.makeFromBucketSpec(r,this._host):this._bucket=eCe(this._host,this.app.options)}return Object.defineProperty(t.prototype,"host",{get:function(){return this._host},set:function(e){this._host=e,this._url!=null?this._bucket=Fm.makeFromBucketSpec(this._url,e):this._bucket=eCe(e,this.app.options)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxUploadRetryTime",{get:function(){return this._maxUploadRetryTime},set:function(e){xde("time",0,Number.POSITIVE_INFINITY,e),this._maxUploadRetryTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxOperationRetryTime",{get:function(){return this._maxOperationRetryTime},set:function(e){xde("time",0,Number.POSITIVE_INFINITY,e),this._maxOperationRetryTime=e},enumerable:!1,configurable:!0}),t.prototype._getAuthToken=function(){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return this._overrideAuthToken?[2,this._overrideAuthToken]:(e=this._authProvider.getImmediate({optional:!0}),e?[4,e.getToken()]:[3,2]);case 1:if(n=o.sent(),n!==null)return[2,n.accessToken];o.label=2;case 2:return[2,null]}})})},t.prototype._getAppCheckToken=function(){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return e=this._appCheckProvider.getImmediate({optional:!0}),e?[4,e.getToken()]:[3,2];case 1:return n=o.sent(),[2,n.token];case 2:return[2,null]}})})},t.prototype._delete=function(){return this._deleted||(this._deleted=!0,this._requests.forEach(function(e){return e.cancel()}),this._requests.clear()),Promise.resolve()},t.prototype._makeStorageReference=function(e){return new vZ(this,e)},t.prototype._makeRequest=function(e,n,o){var i=this;if(this._deleted)return new Pjn(utt());var r=Ljn(e,this._appId,n,o,this._pool,this._firebaseVersion);return this._requests.add(r),r.getPromise().then(function(){return i._requests.delete(r)},function(){return i._requests.delete(r)}),r},t.prototype.makeRequestWithTokens=function(e){return Ao(this,void 0,void 0,function(){var n,o,i;return ho(this,function(r){switch(r.label){case 0:return[4,Promise.all([this._getAuthToken(),this._getAppCheckToken()])];case 1:return n=r.sent(),o=n[0],i=n[1],[2,this._makeRequest(e,o,i)]}})})},t}();/** * @license * Copyright 2020 Google LLC * @@ -6828,7 +6828,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function AYn(t,e,n){return t=va(t),cYn(t,e,n)}function wYn(t){return t=va(t),dYn(t)}function vYn(t,e){return t=va(t),fYn(t,e)}function xYn(t,e){return t=va(t),Stt(t,e)}function bYn(t){return t=va(t),uYn(t)}function SYn(t){return t=va(t),hYn(t)}function TYn(t){return t=va(t),pYn(t)}function tCe(t,e){return t=va(t),mYn(t,e)}function PYn(t,e){return Ttt(t,e)}function CYn(t,e,n,o){o===void 0&&(o={}),yYn(t,e,n,o)}/** + */function mYn(t,e,n){return t=va(t),lYn(t,e,n)}function yYn(t){return t=va(t),cYn(t)}function AYn(t,e){return t=va(t),uYn(t,e)}function wYn(t,e){return t=va(t),Stt(t,e)}function vYn(t){return t=va(t),sYn(t)}function xYn(t){return t=va(t),dYn(t)}function bYn(t){return t=va(t),fYn(t)}function tCe(t,e){return t=va(t),pYn(t,e)}function SYn(t,e){return Ttt(t,e)}function TYn(t,e,n,o){o===void 0&&(o={}),gYn(t,e,n,o)}/** * @license * Copyright 2020 Google LLC * @@ -6873,7 +6873,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var bF=function(){function t(e,n){this._delegate=e,this.storage=n}return Object.defineProperty(t.prototype,"name",{get:function(){return this._delegate.name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bucket",{get:function(){return this._delegate.bucket},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fullPath",{get:function(){return this._delegate.fullPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return this._delegate.toString()},t.prototype.child=function(e){var n=PYn(this._delegate,e);return new t(n,this.storage)},Object.defineProperty(t.prototype,"root",{get:function(){return new t(this._delegate.root,this.storage)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){var e=this._delegate.parent;return e==null?null:new t(e,this.storage)},enumerable:!1,configurable:!0}),t.prototype.put=function(e,n){return this._throwIfRoot("put"),new nCe(AYn(this._delegate,e,n),this)},t.prototype.putString=function(e,n,o){n===void 0&&(n=km.RAW),this._throwIfRoot("putString");var i=ftt(n,e),r=N0({},o);return r.contentType==null&&i.contentType!=null&&(r.contentType=i.contentType),new nCe(new xtt(this._delegate,new Q2e(i.data,!0),r),this)},t.prototype.listAll=function(){var e=this;return bYn(this._delegate).then(function(n){return new oCe(n,e.storage)})},t.prototype.list=function(e){var n=this;return xYn(this._delegate,e||void 0).then(function(o){return new oCe(o,n.storage)})},t.prototype.getMetadata=function(){return wYn(this._delegate)},t.prototype.updateMetadata=function(e){return vYn(this._delegate,e)},t.prototype.getDownloadURL=function(){return SYn(this._delegate)},t.prototype.delete=function(){return this._throwIfRoot("delete"),TYn(this._delegate)},t.prototype._throwIfRoot=function(e){if(this._delegate._location.path==="")throw dtt(e)},t}();/** + */var bF=function(){function t(e,n){this._delegate=e,this.storage=n}return Object.defineProperty(t.prototype,"name",{get:function(){return this._delegate.name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bucket",{get:function(){return this._delegate.bucket},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fullPath",{get:function(){return this._delegate.fullPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return this._delegate.toString()},t.prototype.child=function(e){var n=SYn(this._delegate,e);return new t(n,this.storage)},Object.defineProperty(t.prototype,"root",{get:function(){return new t(this._delegate.root,this.storage)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){var e=this._delegate.parent;return e==null?null:new t(e,this.storage)},enumerable:!1,configurable:!0}),t.prototype.put=function(e,n){return this._throwIfRoot("put"),new nCe(mYn(this._delegate,e,n),this)},t.prototype.putString=function(e,n,o){n===void 0&&(n=km.RAW),this._throwIfRoot("putString");var i=ftt(n,e),r=N0({},o);return r.contentType==null&&i.contentType!=null&&(r.contentType=i.contentType),new nCe(new xtt(this._delegate,new Q2e(i.data,!0),r),this)},t.prototype.listAll=function(){var e=this;return vYn(this._delegate).then(function(n){return new oCe(n,e.storage)})},t.prototype.list=function(e){var n=this;return wYn(this._delegate,e||void 0).then(function(o){return new oCe(o,n.storage)})},t.prototype.getMetadata=function(){return yYn(this._delegate)},t.prototype.updateMetadata=function(e){return AYn(this._delegate,e)},t.prototype.getDownloadURL=function(){return xYn(this._delegate)},t.prototype.delete=function(){return this._throwIfRoot("delete"),bYn(this._delegate)},t.prototype._throwIfRoot=function(e){if(this._delegate._location.path==="")throw dtt(e)},t}();/** * @license * Copyright 2020 Google LLC * @@ -6888,7 +6888,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var RYn=function(){function t(e,n){this.app=e,this._delegate=n}return Object.defineProperty(t.prototype,"maxOperationRetryTime",{get:function(){return this._delegate.maxOperationRetryTime},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxUploadRetryTime",{get:function(){return this._delegate.maxUploadRetryTime},enumerable:!1,configurable:!0}),t.prototype.ref=function(e){if(bde(e))throw TC("ref() expected a child path but got a URL, use refFromURL instead.");return new bF(tCe(this._delegate,e),this)},t.prototype.refFromURL=function(e){if(!bde(e))throw TC("refFromURL() expected a full URL but got a child path, use ref() instead.");try{Fm.makeFromUrl(e,this._delegate.host)}catch{throw TC("refFromUrl() expected a valid full URL but got an invalid one.")}return new bF(tCe(this._delegate,e),this)},t.prototype.setMaxUploadRetryTime=function(e){this._delegate.maxUploadRetryTime=e},t.prototype.setMaxOperationRetryTime=function(e){this._delegate.maxOperationRetryTime=e},t.prototype.useEmulator=function(e,n,o){o===void 0&&(o={}),CYn(this._delegate,e,n,o)},t}(),HYn="@firebase/storage",MYn="0.7.1";/** + */var PYn=function(){function t(e,n){this.app=e,this._delegate=n}return Object.defineProperty(t.prototype,"maxOperationRetryTime",{get:function(){return this._delegate.maxOperationRetryTime},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxUploadRetryTime",{get:function(){return this._delegate.maxUploadRetryTime},enumerable:!1,configurable:!0}),t.prototype.ref=function(e){if(bde(e))throw TC("ref() expected a child path but got a URL, use refFromURL instead.");return new bF(tCe(this._delegate,e),this)},t.prototype.refFromURL=function(e){if(!bde(e))throw TC("refFromURL() expected a full URL but got a child path, use ref() instead.");try{Fm.makeFromUrl(e,this._delegate.host)}catch{throw TC("refFromUrl() expected a valid full URL but got an invalid one.")}return new bF(tCe(this._delegate,e),this)},t.prototype.setMaxUploadRetryTime=function(e){this._delegate.maxUploadRetryTime=e},t.prototype.setMaxOperationRetryTime=function(e){this._delegate.maxOperationRetryTime=e},t.prototype.useEmulator=function(e,n,o){o===void 0&&(o={}),TYn(this._delegate,e,n,o)},t}(),CYn="@firebase/storage",RYn="0.7.1";/** * @license * Copyright 2020 Google LLC * @@ -6903,9 +6903,9 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var IYn="storage";function zYn(t,e){var n=e.instanceIdentifier,o=t.getProvider("app").getImmediate(),i=t.getProvider("auth-internal"),r=t.getProvider("app-check-internal"),a=new RYn(o,new xZ(o,i,r,new Cjn,n,ao.SDK_VERSION));return a}function DYn(t){var e={TaskState:Xh,TaskEvent:Sjn,StringFormat:km,Storage:xZ,Reference:bF};t.INTERNAL.registerComponent(new Lb(IYn,zYn,"PUBLIC").setServiceProps(e).setMultipleInstances(!0)),t.registerVersion(HYn,MYn)}DYn(ao);const Ctt=async(t,e,n)=>{const o={lng:M.getState().language};await ao.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{const r=i.data();r?n({owner:t,title:i.id,timestamp:r.timestamp,description:r.description,dataColoring:r.dataColoring??n9.ALL,type:r.type,designs:r.designs,ranges:r.ranges??[],filters:r.filters??[],hiddenParameters:r.hiddenParameters,counter:r.counter??0,selectedProperty:r.selectedProperty,sortDescending:r.sortDescending,xAxisNameScatterPlot:r.xAxisNameScatterPlot,yAxisNameScatterPlot:r.yAxisNameScatterPlot,dotSizeScatterPlot:r.dotSizeScatterPlot,thumbnailWidth:r.thumbnailWidth}):Lo(O.t("message.CannotOpenProject",o)+": "+e)}).catch(i=>{Lo(O.t("message.CannotOpenProject",o)+": "+i)})},EYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:ao.firestore.FieldValue.arrayRemove(n)}),gt.getState().set(i=>{i.updateProjectsFlag=!0}),ao.firestore().collection("users").doc(t).collection("designs").doc(n.title).delete().then(()=>{M.getState().set(i=>{n.title===i.cloudFile&&(i.cloudFile=void 0)}),fn(O.t("message.DesignRemovedFromProject",o)+".")}).catch(i=>{Lo(O.t("message.CannotDeleteCloudFile",o)+": "+i)})}catch(i){Lo(O.t("message.CannotRemoveDesignFromProject",o)+": "+i)}},kYn=async(t,e,n,o)=>{const i={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({hiddenParameters:o?ao.firestore.FieldValue.arrayUnion(n):ao.firestore.FieldValue.arrayRemove(n)})}catch(r){Lo(O.t("message.CannotUpdateProject",i)+": "+r)}},xO=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:ao.firestore.FieldValue.arrayUnion(n)})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},iCe=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},FYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({description:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},LYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({dataColoring:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},WYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({selectedProperty:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},NYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({xAxisNameScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},UYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({yAxisNameScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},BYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({dotSizeScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},jYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({thumbnailWidth:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},Rtt=(t,e,n)=>{let o={timestamp:Date.now(),title:e,thumbnail:n};switch(t){case Tr.SOLAR_PANEL_ARRAY:{const i=M.getState().world.latitude,r=be.countAllSolarPanels(),a=be.countAllSolarPanelDailyYields(),l=be.countAllSolarPanelYearlyYields(),s=M.getState().economicsParams,c=s.operationalCostPerUnit,u=s.electricitySellingPrice;o={latitude:i,unitCost:c,sellingPrice:u,panelCount:r,dailyYield:a,yearlyYield:l,...o,...M.getState().solarPanelArrayLayoutParams};break}case Tr.SOLAR_PANEL_TILT_ANGLE:break}return o},rCe=(t,e)=>{if(!e)return null;const n=[];for(const o of e){const i={...o};i.title=YYn(t,o.title),i.timestamp=Date.now(),n.push(i)}return n},YYn=(t,e)=>{const n=e.lastIndexOf(" ");return t+e.substring(n)},OYn=t=>{const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");return n&&n.drawImage(t,1,1),e.toDataURL()},aCe=(t,e,n,o)=>{const i={lng:M.getState().language};ao.firestore().collection("users").doc(n??o).collection("designs").doc(t).get().then(r=>{if(r.exists){const a=r.data();a&&ao.firestore().collection("users").doc(o).collection("designs").doc(e).set(a).then(()=>{fn(O.t("message.CloudFileCopied",i)+": "+e)}).catch(l=>{Lo(O.t("message.CannotWriteCloudFile",i)+": "+l)})}else Lo(O.t("message.CannotReadCloudFile",i))}).catch(r=>{Lo(O.t("message.CannotReadCloudFile",i)+": "+r)})},_Yn=(t,e,n)=>{const o={lng:M.getState().language};ao.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{if(i.exists){const r=i.data();if(r){const a=[];a.push(...r.designs);let l=-1;for(const[s,c]of a.entries())if(c.title===n.title){l=s;break}l>=0&&(a[l].invisible=!n.invisible,ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:a}).then(()=>{}).catch(s=>{Lo(O.t("message.CannotUpdateProject",o)+": "+s)}))}}}).catch(i=>{Lo(O.t("message.CannotFetchProjectData",o)+": "+i)}).finally(()=>{})},VYn=async(t,e,n,o,i,r)=>{const a={lng:M.getState().language};if(gt.getState().set(l=>{l.waiting=!0}),await ao.firestore().collection("users").doc(t).collection("designs").doc(i).set(M.getState().exportContent()),gt.getState().setChanged(!1),r){const l=be.resizeCanvas(r,o).toDataURL();ao.firestore().collection("users").doc(t).collection("projects").doc(n).get().then(s=>{if(s.exists){const c=s.data();if(c){const u=[];u.push(...c.designs);let d=-1;for(const[f,p]of u.entries())if(p.title===i){d=f;break}d>=0&&(u[d]=Rtt(e,i,l),ao.firestore().collection("users").doc(t).collection("projects").doc(n).update({designs:u}).then(()=>{}).catch(f=>{Lo(O.t("message.CannotUpdateProject",a)+": "+f)}).finally(()=>{M.getState().set(f=>{f.projectState.designs=u}),gt.getState().set(f=>{f.updateProjectsFlag=!0,f.waiting=!1})}))}}}).catch(s=>{Lo(O.t("message.CannotFetchProjectData",a)+": "+s)}).finally(()=>{})}},MX=async(t,e,n,o,i)=>{const r={lng:M.getState().language};M.getState().undoManager.clear(),gt.getState().set(a=>{a.waiting=!0});try{const l=(await ao.firestore().collection("users").doc(t).collection(n?"designs":"files").doc(e).get()).data();l?M.getState().importContent(l,e):(fn(O.t("message.CloudFileNotFound",r)+": "+e),M.getState().set(s=>{s.cloudFile=void 0}),gt.getState().set(s=>{s.waiting=!1}))}catch(a){Lo(O.t("message.CannotOpenCloudFile",r)+": "+a),gt.getState().set(l=>{l.waiting=!1})}},H4=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:O.t(e,{lng:M.getState().language})})}),GYn=t=>{const e={lng:M.getState().language},n=M.getState().set,o=a=>{n(l=>{l.projectState={...a},l.projectImages.clear(),l.projectView=!0}),gt.getState().set(l=>{l.projectImagesUpdateFlag=!l.projectImagesUpdateFlag,l.updateProjectsFlag=!0})},i=(a,l)=>{const s="QWecNcxhyvP6j6sBN11hBsfZDau1";a&&s&&(Ctt(s,a,o).then(()=>{MX(s,a+" "+l,!0,!0,t).then(()=>{})}),gt.getState().set(c=>{c.openModelsMap=!1}),M.getState().loggable&&n(c=>{c.actionInfo={name:"Open Example: "+a,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,Sg))};return[{key:"solar-energy-science",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarEnergyScienceSubMenu",e)}),children:[{key:"sun_angles",label:"menu.solarEnergyScienceTutorials.SunAngles"},{key:"insolation_and_climate",label:"menu.solarEnergyScienceTutorials.InsolationAndClimate"},{key:"solar_radiation_to_box",label:"menu.solarEnergyScienceTutorials.SolarRadiationToBox"},{key:"sun_beam_at_center",label:"menu.solarEnergyExamples.SunBeamAndHeliodon"}].map(H4)},{key:"building-science",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingScienceSubMenu",e)}),children:[{key:"thermal_vs_building_envelope",label:"menu.buildingScienceTutorials.ThermalEnvelopeVsBuildingEnvelope"},{key:"effect_house_size",label:"menu.buildingScienceTutorials.EffectOfSizeOnBuildingEnergy"},{key:"effect_house_orientation",label:"menu.buildingScienceTutorials.EffectOfOrientationOnBuildingEnergy"},{key:"effect_wall_roof_insulation",label:"menu.buildingScienceTutorials.EffectOfInsulationOnBuildingEnergy"},{key:"effect_roof_color",label:"menu.buildingScienceTutorials.EffectOfRoofColorOnBuildingEnergy"},{key:"effect_eaves_overhang_length",label:"menu.buildingScienceTutorials.EffectOfEavesOverhangLengthOnBuildingEnergy"},{key:"effect_window_shgc",label:"menu.buildingScienceTutorials.EffectOfWindowSHGCOnBuildingEnergy"},{key:"effect_thermostat_setpoint",label:"menu.buildingScienceTutorials.EffectOfThermostatSetpointOnBuildingEnergy"},{key:"effect_solar_panels",label:"menu.buildingScienceTutorials.EffectOfSolarPanelsOnBuildingEnergy"},{key:"effect_ground_temperature",label:"menu.buildingScienceTutorials.EffectOfGroundTemperatureOnBuildingEnergy"},{key:"effect_trees",label:"menu.buildingScienceTutorials.EffectOfTreesOnBuildingEnergy"}].map(H4)},{key:"building-design",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingDesignSubMenu",e)}),children:[{key:"cape_cod_with_shed_dormer",label:"menu.buildingDesignTutorials.CapeCodStyleHouseWithShedDormer"},{key:"mansard_roof_with_dormers",label:"menu.buildingDesignTutorials.MansardRoofWithDormers"},{key:"gable_roof_vs_hip_roof",label:"menu.buildingDesignTutorials.GableRoofVsHipRoof"},{key:"colonial_vs_saltbox",label:"menu.buildingDesignTutorials.ColonialVsSaltbox"},{key:"gambrel_roof_vs_mansard_roof",label:"menu.buildingDesignTutorials.GambrelRoofVsMansardRoof"},{key:"combination_roof_vs_bonnet_roof",label:"menu.buildingDesignTutorials.CombinationRoofVsBonnetRoof"},{key:"dutch_gable_roof",label:"menu.buildingDesignTutorials.DutchGableRoof"},{key:"gable_and_valley_roof",label:"menu.buildingDesignTutorials.GableAndValleyRoof"},{key:"clerestory_roof",label:"menu.buildingDesignTutorials.ClerestoryRoof"},{key:"monitor_roof",label:"menu.buildingDesignTutorials.MonitorRoof"},{key:"a_frame_house",label:"menu.buildingDesignTutorials.AFrameHouse"},{key:"half_timbered_house",label:"menu.buildingDesignTutorials.HalfTimberedHouse"},{key:"all_roof_types",label:"menu.buildingDesignTutorials.AllBasicRoofTypes"}].map(H4)},{key:"photovoltaic-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.photovoltaicSolarPowerSubMenu",e)}),children:[{key:"effect_tilt_angle_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfTiltAngleOfSolarPanel"},{key:"effect_azimuth_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfAzimuthOfSolarPanel"},{key:"solar_panel_types",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelTypes"},{key:"vertical_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.VerticalBifacialSolarPanels"},{key:"compare_monofacial_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.CompareMonofacialAndBifacialSolarPanels"},{key:"solar_trackers",label:"menu.photovoltaicSolarPowerTutorials.SolarTrackers"},{key:"why_solar_array",label:"menu.photovoltaicSolarPowerTutorials.CoveringGroundWithSolarPanels"},{key:"inter_row_spacing",label:"menu.photovoltaicSolarPowerTutorials.InterRowSpacingOfSolarPanelArray"},{key:"effect_orientation_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfOrientationOfSolarPanels"},{key:"solar_panel_array_auto_layout",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelArrayAutomaticLayout"},{key:"rooftop_solar_panels",label:"menu.solarEnergyExamples.RooftopSolarPanels"},{key:"solar_canopy_form_factors",label:"menu.solarEnergyExamples.SolarCanopyFormFactors"},{key:"bipv_01",label:"menu.solarEnergyExamples.BuildingIntegratedPhotovoltaics"}].map(H4)},{key:"concentrated-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.concentratedSolarPowerSubMenu",e)}),children:[{key:"parabolic_dish_focus_sunlight",label:"menu.concentratedSolarPowerTutorials.FocusSunlightWithParabolicDish"},{key:"effect_azimuth_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfParabolicTrough"},{key:"effect_latus_rectum_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfLatusRectumOfParabolicTrough"},{key:"linear_fresnel_reflectors",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectors"},{key:"effect_absorber_pipe_height",label:"menu.concentratedSolarPowerTutorials.EffectOfAbsorberPipeHeightForLinearFresnelReflectors"},{key:"effect_azimuth_fresnel_reflector",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfLinearFresnelReflectors"},{key:"linear_fresnel_reflectors_two_absorbers",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectorsWithTwoAbsorbers"},{key:"solar_power_tower",label:"menu.concentratedSolarPowerTutorials.SolarPowerTower"},{key:"cosine_efficiency_heliostats",label:"menu.concentratedSolarPowerTutorials.CosineEfficiencyOfHeliostats"},{key:"shadowing_blocking_heliostats",label:"menu.concentratedSolarPowerTutorials.ShadowingAndBlockingOfHeliostats"},{key:"effect_solar_power_tower_height",label:"menu.concentratedSolarPowerTutorials.EffectSolarPowerTowerHeight"}].map(H4)},{key:"other-types-of-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherTypesOfSolarPowerSubMenu",e)}),children:[{key:"solar_updraft_tower",label:"menu.otherTypesOfSolarPowerTutorials.SolarUpdraftTower"}].map(H4)},{key:"wind-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.windPowerSubMenu",e)}),children:[{key:"effect_blade_number",label:"menu.windPowerTutorials.EffectOfBladeNumberOfWindTurbine"},{key:"effect_pitch_angle",label:"menu.windPowerTutorials.EffectOfPitchAngleOfWindTurbineBlades"},{key:"bird_safe_blade_design",label:"menu.windPowerTutorials.BirdSafeBladeDesign"},{key:"offshore_wind_farm",label:"menu.windPowerTutorials.OffshoreWindFarm"}].map(H4)},{key:"colocation",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.colocationSubMenu",e)}),children:[{key:"agriculture_solar_wind_colocation",label:"menu.colocationTutorials.AgricultureSolarWindColocation"}].map(H4)},{key:"generative-design",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.generativeDesignSubMenu",e)}),children:[{key:"Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Tilt Angle",48),children:O.t("menu.generativeDesignTutorials.MonofacialSolarPanelArrayTiltAngle",e)})},{key:"Bifacial Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Bifacial Tilt Angle",50),children:O.t("menu.generativeDesignTutorials.BifacialSolarPanelArrayTiltAngle",e)})},{key:"Latitude",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Latitude",0),children:O.t("menu.generativeDesignTutorials.OutputOfSolarPanelArrayInDifferentPlaces",e)})},{key:"Pareto Front",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Pareto Front",0),children:O.t("menu.generativeDesignTutorials.SimpleSolarFarmParetoFront",e)})}]}]},B5=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:O.t(e,{lng:M.getState().language})})}),XYn=()=>{const t={lng:M.getState().language};return[{key:"solar-energy",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarEnergySubMenu",t)}),children:[{key:"photovoltaic-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.photovoltaicSolarPowerSubMenu",t)}),children:[{key:"vegetative_buffer_01",label:"menu.solarEnergyExamples.VegetativeBuffer"},{key:"solar_canopy_over_bleachers",label:"menu.solarEnergyExamples.SolarCanopyOverBleachers"},{key:"solar_canopy_over_garage",label:"menu.solarEnergyExamples.SolarCanopyOverGarage"},{key:"solar_bus_stop",label:"menu.solarEnergyExamples.SolarBusStop"},{key:"solar_facade_tesla",label:"menu.solarEnergyExamples.SolarFacadeTesla"},{key:"floatovoltaics",label:"menu.solarEnergyExamples.Floatovoltaics"},{key:"rainbow_swash_solar_farm",label:"menu.solarEnergyExamples.RainbowSwashSolarFarmBostonMA"},{key:"mickey_mouse_solar_farm",label:"menu.solarEnergyExamples.MickeyMouseSolarFarmOrlandoFL"},{key:"solar_panels_over_canal",label:"menu.solarEnergyExamples.SolarPanelsOverCanalBakersfieldCA"},{key:"solar_noise_barrier",label:"menu.solarEnergyExamples.SolarNoiseBarrierLexingtonMA"},{key:"solar_farm_hsat_array",label:"menu.solarEnergyExamples.HSATSolarTrackersRaleighNC"},{key:"solar_farm_aadat_array",label:"menu.solarEnergyExamples.AADATSolarTrackersLancasterCA"}].map(B5)},{key:"concentrated-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.concentratedSolarPowerSubMenu",t)}),children:[{key:"nevada_solar_one_parabolic_troughs",label:"menu.solarEnergyExamples.NevadaSolarOneParabolicTroughArray"},{key:"tooele_parabolic_dish_array",label:"menu.solarEnergyExamples.TooeleParabolicDishArray"},{key:"tucson_sundt_station",label:"menu.solarEnergyExamples.TucsonLinearFresnelReflectors"},{key:"ps10_solar_power_tower",label:"menu.solarEnergyExamples.PS10SolarPowerTower"}].map(B5)},{key:"other-types-of-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherTypesOfSolarPowerSubMenu",t)}),children:[{key:"solar_updraft_tower_city",label:"menu.solarEnergyExamples.SolarUpdraftTowerInCity"}].map(B5)}]},{key:"built-environment",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.builtEnvironmentSubMenu",t)}),children:[{key:"residential_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.residentialBuildingsSubMenu",t)}),children:[{key:"colonial_house",label:"menu.residentialBuildingExamples.ColonialHouse"},{key:"dutch_colonial_house",label:"menu.residentialBuildingExamples.DutchColonialHouse"},{key:"t_shaped_house",label:"menu.residentialBuildingExamples.TShapedHouse"},{key:"cape_cod_with_garage",label:"menu.residentialBuildingExamples.CapeCodHouseWithGarage"},{key:"solarium",label:"menu.residentialBuildingExamples.Solarium"},{key:"butterfly_roof_house",label:"menu.residentialBuildingExamples.ButterflyRoofHouse"},{key:"adobe_taos_house",label:"menu.residentialBuildingExamples.AdobeTaosHouse"},{key:"ranch_house",label:"menu.residentialBuildingExamples.RanchHouse"},{key:"bonnet_house",label:"menu.residentialBuildingExamples.BonnetHouse"},{key:"barn_house",label:"menu.residentialBuildingExamples.BarnStyleHouse"},{key:"modern_house_01",label:"menu.residentialBuildingExamples.ModernHouse"}].map(B5)},{key:"commercial_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.commercialBuildingsSubMenu",t)}),children:[{key:"white_house",label:"menu.commercialBuildingExamples.WhiteHouse"},{key:"bilim_mersin_turkiye",label:"menu.commercialBuildingExamples.BilimMersinTurkiye"},{key:"spanish_style_hotel",label:"menu.commercialBuildingExamples.SpanishStyleHotel"},{key:"apartment_building_01",label:"menu.commercialBuildingExamples.ApartmentBuilding"},{key:"office_building_01",label:"menu.commercialBuildingExamples.OfficeBuilding"},{key:"hotel_01",label:"menu.commercialBuildingExamples.Hotel"}].map(B5)},{key:"other_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherBuildingsSubMenu",t)}),children:[{key:"greenhouse",label:"menu.otherBuildingExamples.Greenhouse"},{key:"church_01",label:"menu.residentialBuildingExamples.Church1"},{key:"cathedral_01",label:"menu.residentialBuildingExamples.Cathedral1"},{key:"cathedral_02",label:"menu.residentialBuildingExamples.Cathedral2"},{key:"mosque_01",label:"menu.residentialBuildingExamples.Mosque1"},{key:"pavilion",label:"menu.otherBuildingExamples.Pavilion"},{key:"octagonal_pagoda",label:"menu.otherBuildingExamples.OctagonalPagoda"},{key:"ocean_front",label:"menu.otherBuildingExamples.OceanFront"},{key:"egyptian_pyramids",label:"menu.otherBuildingExamples.EgyptianPyramids"},{key:"mayan_pyramid",label:"menu.otherBuildingExamples.MayanPyramid"},{key:"si_o_se_pol",label:"menu.otherBuildingExamples.SiOSePol"},{key:"stacked_cuboids",label:"menu.otherBuildingExamples.StackedCuboids"}].map(B5)},{key:"building_complexes",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingComplexesSubMenu",t)}),children:[{key:"south_burlington_high_school",label:"menu.buildingComplexExamples.SouthBurlingtonHighSchoolVermont"},{key:"mescalero_apache_school",label:"menu.buildingComplexExamples.MescaleroApacheSchoolNewMexico"}].map(B5)},{key:"urban_planning",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.urbanPlanningSubMenu",t)}),children:[{key:"heatmap_01",label:"menu.urbanPlanningExamples.Heatmap1"}].map(B5)}]},{key:"artificial-intelligence",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.artificialIntelligenceSubMenu",t)}),children:[{key:"ai_tilt_angle_one_row",label:"menu.artificialIntelligenceExamples.OptimizingTiltAngleOfOneSolarPanelRow"},{key:"ai_tilt_angles_multiple_rows",label:"menu.artificialIntelligenceExamples.OptimizingTiltAnglesOfMultipleSolarPanelRows"},{key:"ai_solar_farm_design",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesign"},{key:"ai_solar_farm_design_block",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesignWithBlock"},{key:"ai_fitchburg_solar_farm",label:"menu.artificialIntelligenceExamples.FitchburgSolarFarmGenerativeDesign"}].map(B5)},{key:"benchmarks",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.benchmarksSubMenu",t)}),children:[{key:"solar_radiation_predicted_vs_measured",label:"menu.benchmarks.SolarRadiationPredictionVsMeasurement"},{key:"bestest_case_600",label:"menu.benchmarks.BESTESTCase600"},{key:"bestest_case_610",label:"menu.benchmarks.BESTESTCase610"},{key:"bestest_case_620",label:"menu.benchmarks.BESTESTCase620"},{key:"bestest_case_630",label:"menu.benchmarks.BESTESTCase630"}].map(B5)}]},JYn=Ho.div` + */var HYn="storage";function MYn(t,e){var n=e.instanceIdentifier,o=t.getProvider("app").getImmediate(),i=t.getProvider("auth-internal"),r=t.getProvider("app-check-internal"),a=new PYn(o,new xZ(o,i,r,new Tjn,n,ao.SDK_VERSION));return a}function IYn(t){var e={TaskState:Xh,TaskEvent:xjn,StringFormat:km,Storage:xZ,Reference:bF};t.INTERNAL.registerComponent(new Lb(HYn,MYn,"PUBLIC").setServiceProps(e).setMultipleInstances(!0)),t.registerVersion(CYn,RYn)}IYn(ao);const Ctt=async(t,e,n)=>{const o={lng:M.getState().language};await ao.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{const r=i.data();r?n({owner:t,title:i.id,timestamp:r.timestamp,description:r.description,dataColoring:r.dataColoring??n9.ALL,type:r.type,designs:r.designs,ranges:r.ranges??[],filters:r.filters??[],hiddenParameters:r.hiddenParameters,counter:r.counter??0,selectedProperty:r.selectedProperty,sortDescending:r.sortDescending,xAxisNameScatterPlot:r.xAxisNameScatterPlot,yAxisNameScatterPlot:r.yAxisNameScatterPlot,dotSizeScatterPlot:r.dotSizeScatterPlot,thumbnailWidth:r.thumbnailWidth}):Lo(O.t("message.CannotOpenProject",o)+": "+e)}).catch(i=>{Lo(O.t("message.CannotOpenProject",o)+": "+i)})},zYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:ao.firestore.FieldValue.arrayRemove(n)}),gt.getState().set(i=>{i.updateProjectsFlag=!0}),ao.firestore().collection("users").doc(t).collection("designs").doc(n.title).delete().then(()=>{M.getState().set(i=>{n.title===i.cloudFile&&(i.cloudFile=void 0)}),fn(O.t("message.DesignRemovedFromProject",o)+".")}).catch(i=>{Lo(O.t("message.CannotDeleteCloudFile",o)+": "+i)})}catch(i){Lo(O.t("message.CannotRemoveDesignFromProject",o)+": "+i)}},DYn=async(t,e,n,o)=>{const i={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({hiddenParameters:o?ao.firestore.FieldValue.arrayUnion(n):ao.firestore.FieldValue.arrayRemove(n)})}catch(r){Lo(O.t("message.CannotUpdateProject",i)+": "+r)}},xO=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:ao.firestore.FieldValue.arrayUnion(n)})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},iCe=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},EYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({description:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},kYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({dataColoring:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},FYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({selectedProperty:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},LYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({xAxisNameScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},WYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({yAxisNameScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},NYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({dotSizeScatterPlot:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},UYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({thumbnailWidth:n})}catch(i){Lo(O.t("message.CannotUpdateProject",o)+": "+i)}},Rtt=(t,e,n)=>{let o={timestamp:Date.now(),title:e,thumbnail:n};switch(t){case Tr.SOLAR_PANEL_ARRAY:{const i=M.getState().world.latitude,r=be.countAllSolarPanels(),a=be.countAllSolarPanelDailyYields(),l=be.countAllSolarPanelYearlyYields(),s=M.getState().economicsParams,c=s.operationalCostPerUnit,u=s.electricitySellingPrice;o={latitude:i,unitCost:c,sellingPrice:u,panelCount:r,dailyYield:a,yearlyYield:l,...o,...M.getState().solarPanelArrayLayoutParams};break}case Tr.SOLAR_PANEL_TILT_ANGLE:break}return o},rCe=(t,e)=>{if(!e)return null;const n=[];for(const o of e){const i={...o};i.title=BYn(t,o.title),i.timestamp=Date.now(),n.push(i)}return n},BYn=(t,e)=>{const n=e.lastIndexOf(" ");return t+e.substring(n)},jYn=t=>{const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");return n&&n.drawImage(t,1,1),e.toDataURL()},aCe=(t,e,n,o)=>{const i={lng:M.getState().language};ao.firestore().collection("users").doc(n??o).collection("designs").doc(t).get().then(r=>{if(r.exists){const a=r.data();a&&ao.firestore().collection("users").doc(o).collection("designs").doc(e).set(a).then(()=>{fn(O.t("message.CloudFileCopied",i)+": "+e)}).catch(l=>{Lo(O.t("message.CannotWriteCloudFile",i)+": "+l)})}else Lo(O.t("message.CannotReadCloudFile",i))}).catch(r=>{Lo(O.t("message.CannotReadCloudFile",i)+": "+r)})},YYn=(t,e,n)=>{const o={lng:M.getState().language};ao.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{if(i.exists){const r=i.data();if(r){const a=[];a.push(...r.designs);let l=-1;for(const[s,c]of a.entries())if(c.title===n.title){l=s;break}l>=0&&(a[l].invisible=!n.invisible,ao.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:a}).then(()=>{}).catch(s=>{Lo(O.t("message.CannotUpdateProject",o)+": "+s)}))}}}).catch(i=>{Lo(O.t("message.CannotFetchProjectData",o)+": "+i)}).finally(()=>{})},OYn=async(t,e,n,o,i,r)=>{const a={lng:M.getState().language};if(gt.getState().set(l=>{l.waiting=!0}),await ao.firestore().collection("users").doc(t).collection("designs").doc(i).set(M.getState().exportContent()),gt.getState().setChanged(!1),r){const l=be.resizeCanvas(r,o).toDataURL();ao.firestore().collection("users").doc(t).collection("projects").doc(n).get().then(s=>{if(s.exists){const c=s.data();if(c){const u=[];u.push(...c.designs);let d=-1;for(const[f,p]of u.entries())if(p.title===i){d=f;break}d>=0&&(u[d]=Rtt(e,i,l),ao.firestore().collection("users").doc(t).collection("projects").doc(n).update({designs:u}).then(()=>{}).catch(f=>{Lo(O.t("message.CannotUpdateProject",a)+": "+f)}).finally(()=>{M.getState().set(f=>{f.projectState.designs=u}),gt.getState().set(f=>{f.updateProjectsFlag=!0,f.waiting=!1})}))}}}).catch(s=>{Lo(O.t("message.CannotFetchProjectData",a)+": "+s)}).finally(()=>{})}},MX=async(t,e,n,o,i)=>{const r={lng:M.getState().language};M.getState().undoManager.clear(),gt.getState().set(a=>{a.waiting=!0});try{const l=(await ao.firestore().collection("users").doc(t).collection(n?"designs":"files").doc(e).get()).data();if(l?M.getState().importContent(l,e):(fn(O.t("message.CloudFileNotFound",r)+": "+e),M.getState().set(s=>{s.cloudFile=void 0}),gt.getState().set(s=>{s.waiting=!1})),!o&&!i){const s=qp+"?client=web&userid="+t+"&title="+encodeURIComponent(e);window.history.pushState({},document.title,s)}}catch(a){Lo(O.t("message.CannotOpenCloudFile",r)+": "+a),gt.getState().set(l=>{l.waiting=!1})}},H4=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:O.t(e,{lng:M.getState().language})})}),_Yn=t=>{const e={lng:M.getState().language},n=M.getState().set,o=a=>{n(l=>{l.projectState={...a},l.projectImages.clear(),l.projectView=!0}),gt.getState().set(l=>{l.projectImagesUpdateFlag=!l.projectImagesUpdateFlag,l.updateProjectsFlag=!0})},i=(a,l)=>{const s="QWecNcxhyvP6j6sBN11hBsfZDau1";a&&s&&(Ctt(s,a,o).then(()=>{MX(s,a+" "+l,!0,!0,t).then(()=>{})}),gt.getState().set(c=>{c.openModelsMap=!1}),M.getState().loggable&&n(c=>{c.actionInfo={name:"Open Example: "+a,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,qp))};return[{key:"solar-energy-science",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarEnergyScienceSubMenu",e)}),children:[{key:"sun_angles",label:"menu.solarEnergyScienceTutorials.SunAngles"},{key:"insolation_and_climate",label:"menu.solarEnergyScienceTutorials.InsolationAndClimate"},{key:"solar_radiation_to_box",label:"menu.solarEnergyScienceTutorials.SolarRadiationToBox"},{key:"sun_beam_at_center",label:"menu.solarEnergyExamples.SunBeamAndHeliodon"}].map(H4)},{key:"building-science",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingScienceSubMenu",e)}),children:[{key:"thermal_vs_building_envelope",label:"menu.buildingScienceTutorials.ThermalEnvelopeVsBuildingEnvelope"},{key:"effect_house_size",label:"menu.buildingScienceTutorials.EffectOfSizeOnBuildingEnergy"},{key:"effect_house_orientation",label:"menu.buildingScienceTutorials.EffectOfOrientationOnBuildingEnergy"},{key:"effect_wall_roof_insulation",label:"menu.buildingScienceTutorials.EffectOfInsulationOnBuildingEnergy"},{key:"effect_roof_color",label:"menu.buildingScienceTutorials.EffectOfRoofColorOnBuildingEnergy"},{key:"effect_eaves_overhang_length",label:"menu.buildingScienceTutorials.EffectOfEavesOverhangLengthOnBuildingEnergy"},{key:"effect_window_shgc",label:"menu.buildingScienceTutorials.EffectOfWindowSHGCOnBuildingEnergy"},{key:"effect_thermostat_setpoint",label:"menu.buildingScienceTutorials.EffectOfThermostatSetpointOnBuildingEnergy"},{key:"effect_solar_panels",label:"menu.buildingScienceTutorials.EffectOfSolarPanelsOnBuildingEnergy"},{key:"effect_ground_temperature",label:"menu.buildingScienceTutorials.EffectOfGroundTemperatureOnBuildingEnergy"},{key:"effect_trees",label:"menu.buildingScienceTutorials.EffectOfTreesOnBuildingEnergy"}].map(H4)},{key:"building-design",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingDesignSubMenu",e)}),children:[{key:"cape_cod_with_shed_dormer",label:"menu.buildingDesignTutorials.CapeCodStyleHouseWithShedDormer"},{key:"mansard_roof_with_dormers",label:"menu.buildingDesignTutorials.MansardRoofWithDormers"},{key:"gable_roof_vs_hip_roof",label:"menu.buildingDesignTutorials.GableRoofVsHipRoof"},{key:"colonial_vs_saltbox",label:"menu.buildingDesignTutorials.ColonialVsSaltbox"},{key:"gambrel_roof_vs_mansard_roof",label:"menu.buildingDesignTutorials.GambrelRoofVsMansardRoof"},{key:"combination_roof_vs_bonnet_roof",label:"menu.buildingDesignTutorials.CombinationRoofVsBonnetRoof"},{key:"dutch_gable_roof",label:"menu.buildingDesignTutorials.DutchGableRoof"},{key:"gable_and_valley_roof",label:"menu.buildingDesignTutorials.GableAndValleyRoof"},{key:"clerestory_roof",label:"menu.buildingDesignTutorials.ClerestoryRoof"},{key:"monitor_roof",label:"menu.buildingDesignTutorials.MonitorRoof"},{key:"a_frame_house",label:"menu.buildingDesignTutorials.AFrameHouse"},{key:"half_timbered_house",label:"menu.buildingDesignTutorials.HalfTimberedHouse"},{key:"all_roof_types",label:"menu.buildingDesignTutorials.AllBasicRoofTypes"}].map(H4)},{key:"photovoltaic-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.photovoltaicSolarPowerSubMenu",e)}),children:[{key:"effect_tilt_angle_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfTiltAngleOfSolarPanel"},{key:"effect_azimuth_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfAzimuthOfSolarPanel"},{key:"solar_panel_types",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelTypes"},{key:"vertical_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.VerticalBifacialSolarPanels"},{key:"compare_monofacial_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.CompareMonofacialAndBifacialSolarPanels"},{key:"solar_trackers",label:"menu.photovoltaicSolarPowerTutorials.SolarTrackers"},{key:"why_solar_array",label:"menu.photovoltaicSolarPowerTutorials.CoveringGroundWithSolarPanels"},{key:"inter_row_spacing",label:"menu.photovoltaicSolarPowerTutorials.InterRowSpacingOfSolarPanelArray"},{key:"effect_orientation_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfOrientationOfSolarPanels"},{key:"solar_panel_array_auto_layout",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelArrayAutomaticLayout"},{key:"rooftop_solar_panels",label:"menu.solarEnergyExamples.RooftopSolarPanels"},{key:"solar_canopy_form_factors",label:"menu.solarEnergyExamples.SolarCanopyFormFactors"},{key:"bipv_01",label:"menu.solarEnergyExamples.BuildingIntegratedPhotovoltaics"}].map(H4)},{key:"concentrated-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.concentratedSolarPowerSubMenu",e)}),children:[{key:"parabolic_dish_focus_sunlight",label:"menu.concentratedSolarPowerTutorials.FocusSunlightWithParabolicDish"},{key:"effect_azimuth_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfParabolicTrough"},{key:"effect_latus_rectum_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfLatusRectumOfParabolicTrough"},{key:"linear_fresnel_reflectors",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectors"},{key:"effect_absorber_pipe_height",label:"menu.concentratedSolarPowerTutorials.EffectOfAbsorberPipeHeightForLinearFresnelReflectors"},{key:"effect_azimuth_fresnel_reflector",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfLinearFresnelReflectors"},{key:"linear_fresnel_reflectors_two_absorbers",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectorsWithTwoAbsorbers"},{key:"solar_power_tower",label:"menu.concentratedSolarPowerTutorials.SolarPowerTower"},{key:"cosine_efficiency_heliostats",label:"menu.concentratedSolarPowerTutorials.CosineEfficiencyOfHeliostats"},{key:"shadowing_blocking_heliostats",label:"menu.concentratedSolarPowerTutorials.ShadowingAndBlockingOfHeliostats"},{key:"effect_solar_power_tower_height",label:"menu.concentratedSolarPowerTutorials.EffectSolarPowerTowerHeight"}].map(H4)},{key:"other-types-of-solar-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherTypesOfSolarPowerSubMenu",e)}),children:[{key:"solar_updraft_tower",label:"menu.otherTypesOfSolarPowerTutorials.SolarUpdraftTower"}].map(H4)},{key:"wind-power",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.windPowerSubMenu",e)}),children:[{key:"effect_blade_number",label:"menu.windPowerTutorials.EffectOfBladeNumberOfWindTurbine"},{key:"effect_pitch_angle",label:"menu.windPowerTutorials.EffectOfPitchAngleOfWindTurbineBlades"},{key:"bird_safe_blade_design",label:"menu.windPowerTutorials.BirdSafeBladeDesign"},{key:"offshore_wind_farm",label:"menu.windPowerTutorials.OffshoreWindFarm"}].map(H4)},{key:"colocation",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.colocationSubMenu",e)}),children:[{key:"agriculture_solar_wind_colocation",label:"menu.colocationTutorials.AgricultureSolarWindColocation"}].map(H4)},{key:"generative-design",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.generativeDesignSubMenu",e)}),children:[{key:"Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Tilt Angle",48),children:O.t("menu.generativeDesignTutorials.MonofacialSolarPanelArrayTiltAngle",e)})},{key:"Bifacial Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Bifacial Tilt Angle",50),children:O.t("menu.generativeDesignTutorials.BifacialSolarPanelArrayTiltAngle",e)})},{key:"Latitude",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Latitude",0),children:O.t("menu.generativeDesignTutorials.OutputOfSolarPanelArrayInDifferentPlaces",e)})},{key:"Pareto Front",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Pareto Front",0),children:O.t("menu.generativeDesignTutorials.SimpleSolarFarmParetoFront",e)})}]}]},B5=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:O.t(e,{lng:M.getState().language})})}),VYn=()=>{const t={lng:M.getState().language};return[{key:"solar-energy",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.solarEnergySubMenu",t)}),children:[{key:"photovoltaic-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.photovoltaicSolarPowerSubMenu",t)}),children:[{key:"vegetative_buffer_01",label:"menu.solarEnergyExamples.VegetativeBuffer"},{key:"solar_canopy_over_bleachers",label:"menu.solarEnergyExamples.SolarCanopyOverBleachers"},{key:"solar_canopy_over_garage",label:"menu.solarEnergyExamples.SolarCanopyOverGarage"},{key:"solar_bus_stop",label:"menu.solarEnergyExamples.SolarBusStop"},{key:"solar_facade_tesla",label:"menu.solarEnergyExamples.SolarFacadeTesla"},{key:"floatovoltaics",label:"menu.solarEnergyExamples.Floatovoltaics"},{key:"rainbow_swash_solar_farm",label:"menu.solarEnergyExamples.RainbowSwashSolarFarmBostonMA"},{key:"mickey_mouse_solar_farm",label:"menu.solarEnergyExamples.MickeyMouseSolarFarmOrlandoFL"},{key:"solar_panels_over_canal",label:"menu.solarEnergyExamples.SolarPanelsOverCanalBakersfieldCA"},{key:"solar_noise_barrier",label:"menu.solarEnergyExamples.SolarNoiseBarrierLexingtonMA"},{key:"solar_farm_hsat_array",label:"menu.solarEnergyExamples.HSATSolarTrackersRaleighNC"},{key:"solar_farm_aadat_array",label:"menu.solarEnergyExamples.AADATSolarTrackersLancasterCA"}].map(B5)},{key:"concentrated-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.concentratedSolarPowerSubMenu",t)}),children:[{key:"nevada_solar_one_parabolic_troughs",label:"menu.solarEnergyExamples.NevadaSolarOneParabolicTroughArray"},{key:"tooele_parabolic_dish_array",label:"menu.solarEnergyExamples.TooeleParabolicDishArray"},{key:"tucson_sundt_station",label:"menu.solarEnergyExamples.TucsonLinearFresnelReflectors"},{key:"ps10_solar_power_tower",label:"menu.solarEnergyExamples.PS10SolarPowerTower"}].map(B5)},{key:"other-types-of-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherTypesOfSolarPowerSubMenu",t)}),children:[{key:"solar_updraft_tower_city",label:"menu.solarEnergyExamples.SolarUpdraftTowerInCity"}].map(B5)}]},{key:"built-environment",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.builtEnvironmentSubMenu",t)}),children:[{key:"residential_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.residentialBuildingsSubMenu",t)}),children:[{key:"colonial_house",label:"menu.residentialBuildingExamples.ColonialHouse"},{key:"dutch_colonial_house",label:"menu.residentialBuildingExamples.DutchColonialHouse"},{key:"t_shaped_house",label:"menu.residentialBuildingExamples.TShapedHouse"},{key:"cape_cod_with_garage",label:"menu.residentialBuildingExamples.CapeCodHouseWithGarage"},{key:"solarium",label:"menu.residentialBuildingExamples.Solarium"},{key:"butterfly_roof_house",label:"menu.residentialBuildingExamples.ButterflyRoofHouse"},{key:"adobe_taos_house",label:"menu.residentialBuildingExamples.AdobeTaosHouse"},{key:"ranch_house",label:"menu.residentialBuildingExamples.RanchHouse"},{key:"bonnet_house",label:"menu.residentialBuildingExamples.BonnetHouse"},{key:"barn_house",label:"menu.residentialBuildingExamples.BarnStyleHouse"},{key:"modern_house_01",label:"menu.residentialBuildingExamples.ModernHouse"}].map(B5)},{key:"commercial_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.commercialBuildingsSubMenu",t)}),children:[{key:"white_house",label:"menu.commercialBuildingExamples.WhiteHouse"},{key:"bilim_mersin_turkiye",label:"menu.commercialBuildingExamples.BilimMersinTurkiye"},{key:"spanish_style_hotel",label:"menu.commercialBuildingExamples.SpanishStyleHotel"},{key:"apartment_building_01",label:"menu.commercialBuildingExamples.ApartmentBuilding"},{key:"office_building_01",label:"menu.commercialBuildingExamples.OfficeBuilding"},{key:"hotel_01",label:"menu.commercialBuildingExamples.Hotel"}].map(B5)},{key:"other_buildings",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.otherBuildingsSubMenu",t)}),children:[{key:"greenhouse",label:"menu.otherBuildingExamples.Greenhouse"},{key:"church_01",label:"menu.residentialBuildingExamples.Church1"},{key:"cathedral_01",label:"menu.residentialBuildingExamples.Cathedral1"},{key:"cathedral_02",label:"menu.residentialBuildingExamples.Cathedral2"},{key:"mosque_01",label:"menu.residentialBuildingExamples.Mosque1"},{key:"pavilion",label:"menu.otherBuildingExamples.Pavilion"},{key:"octagonal_pagoda",label:"menu.otherBuildingExamples.OctagonalPagoda"},{key:"ocean_front",label:"menu.otherBuildingExamples.OceanFront"},{key:"egyptian_pyramids",label:"menu.otherBuildingExamples.EgyptianPyramids"},{key:"mayan_pyramid",label:"menu.otherBuildingExamples.MayanPyramid"},{key:"si_o_se_pol",label:"menu.otherBuildingExamples.SiOSePol"},{key:"stacked_cuboids",label:"menu.otherBuildingExamples.StackedCuboids"}].map(B5)},{key:"building_complexes",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.buildingComplexesSubMenu",t)}),children:[{key:"south_burlington_high_school",label:"menu.buildingComplexExamples.SouthBurlingtonHighSchoolVermont"},{key:"mescalero_apache_school",label:"menu.buildingComplexExamples.MescaleroApacheSchoolNewMexico"}].map(B5)},{key:"urban_planning",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.urbanPlanningSubMenu",t)}),children:[{key:"heatmap_01",label:"menu.urbanPlanningExamples.Heatmap1"}].map(B5)}]},{key:"artificial-intelligence",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.artificialIntelligenceSubMenu",t)}),children:[{key:"ai_tilt_angle_one_row",label:"menu.artificialIntelligenceExamples.OptimizingTiltAngleOfOneSolarPanelRow"},{key:"ai_tilt_angles_multiple_rows",label:"menu.artificialIntelligenceExamples.OptimizingTiltAnglesOfMultipleSolarPanelRows"},{key:"ai_solar_farm_design",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesign"},{key:"ai_solar_farm_design_block",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesignWithBlock"},{key:"ai_fitchburg_solar_farm",label:"menu.artificialIntelligenceExamples.FitchburgSolarFarmGenerativeDesign"}].map(B5)},{key:"benchmarks",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.benchmarksSubMenu",t)}),children:[{key:"solar_radiation_predicted_vs_measured",label:"menu.benchmarks.SolarRadiationPredictionVsMeasurement"},{key:"bestest_case_600",label:"menu.benchmarks.BESTESTCase600"},{key:"bestest_case_610",label:"menu.benchmarks.BESTESTCase610"},{key:"bestest_case_620",label:"menu.benchmarks.BESTESTCase620"},{key:"bestest_case_630",label:"menu.benchmarks.BESTESTCase630"}].map(B5)}]},GYn=Ho.div` width: 100px; -`,KYn=Ho.img` +`,XYn=Ho.img` position: absolute; top: 10px; left: 10px; @@ -6918,7 +6918,7 @@ Content-Type: `+c.contentType+`\r &:hover { opacity: 0.5; } -`,qYn=Ho.div` +`,JYn=Ho.div` position: absolute; top: 54px; left: 0; @@ -6928,15 +6928,15 @@ Content-Type: `+c.contentType+`\r align-items: center; user-select: none; z-index: 9; -`,lCe="tutorials-submenu",sCe="examples-submenu",$Yn=Se.memo(({viewOnly:t,canvas:e})=>{const n=M(dn),o=M(Q1e),i=gt(yq),r=M.getState().loggable,a=M.getState().language,l=M.getState().undoManager,s=gt.getState().changed,c=M.getState().cloudFile,u=M.getState().user,d=M.getState().elementsToPaste,f=M.getState().selectedElement;gt(U=>U.contextMenuFlag);const[p,g]=m.useState(!1),[y,A]=m.useState(!1),x=U=>{U&&A(!y)},{t:C}=jl(),b=m.useMemo(()=>({lng:a}),[a]),v=m.useMemo(()=>be.isMac(),[]),S=m.useMemo(()=>{const U=be.getOS();return U&&(U.includes("OS X")||U.includes("Chrome"))?"Ctrl+Alt+H":"Ctrl+Home"},[]),w=U=>{U.keyPath.find(F=>F===lCe||F===sCe)&&T(U.key)},T=U=>{const F=KEn(U);F&&(gt.getState().set(W=>{W.openModelsMap=!1}),!t&&s?_r.confirm({title:C("message.DoYouWantToSaveChanges",b),icon:h.jsx(qm,{}),onOk:()=>P(F),onCancel:()=>{gt.getState().set(W=>{W.waiting=!0}),setTimeout(()=>{o(F)},10)},okText:C("word.Yes",b),cancelText:C("word.No",b)}):(gt.getState().set(W=>{W.waiting=!0}),setTimeout(()=>{o(F)},10)),r&&n(W=>{W.actionInfo={name:"Open Example: "+U,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,Sg))},P=U=>{c?(n(F=>{F.localContentToImportAfterCloudFileUpdate=U}),gt.getState().setSaveCloudFileFlag(!0)):u.uid?n(F=>{F.localContentToImportAfterCloudFileUpdate=U,F.showCloudFileTitleDialogFlag=!F.showCloudFileTitleDialogFlag,F.showCloudFileTitleDialog=!0}):fn(C("menu.file.ToSaveYourWorkPleaseSignIn",b))},R=()=>{g(!0)},H=()=>{g(!1)},D=d&&d.length>0,E=M.getState().countAllElementsByType(),L=[];return i||L.push({key:"file-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.fileSubMenu",b)}),children:jkn(t,v,e)}),!i&&!t&&u.uid&&L.push({key:"project-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.projectSubMenu",b)}),children:Vkn()}),(f||D||l.hasUndo()||l.hasRedo())&&!i&&L.push({key:"edit-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.editSubMenu",b)}),children:Gkn(f,D,l,v)}),i||L.push({key:"view-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.viewSubMenu",b)}),children:iLn(S,v)}),i||L.push({key:"settings-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.settingsSubMenu",b)}),children:rLn()}),i||L.push({key:"accessories-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.view.accessoriesSubMenu",b)}),children:aLn()}),!i&&E.gotSome()&&L.push({key:"analysis-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.analysisSubMenu",b)}),children:mLn(E)}),L.push({key:lCe,label:h.jsx(tn,{noPadding:!0,children:O.t("menu.tutorialsSubMenu",b)}),children:GYn(t)}),L.push({key:sCe,label:h.jsx(tn,{noPadding:!0,children:O.t("menu.examplesSubMenu",b)}),children:XYn()}),L.push({key:"public-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.publicSubMenu",b)}),children:oLn(u.uid,t,i)}),L.push({key:"language-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.languageSubMenu",b)}),children:[{key:"language-radio-group",label:h.jsx(nLn,{}),style:{backgroundColor:"white"}}]}),L.push({key:"about-us-window",label:h.jsxs(tn,{noPadding:!0,onClick:R,children:[O.t("menu.AboutUs",b),"..."]})}),h.jsxs(h.Fragment,{children:[h.jsx(W7,{menu:{items:L,onClick:w},trigger:["click"],onOpenChange:x,children:h.jsxs(JYn,{children:[h.jsx(KYn,{src:Een,title:C("tooltip.clickToOpenMenu",b)}),h.jsx(qYn,{children:h.jsx("span",{style:{fontSize:"10px",alignContent:"center",cursor:"pointer"},children:C("menu.mainMenu",b)})})]})}),p&&h.jsx(Len,{close:H})]})});var Htt={exports:{}};/*! +`,lCe="tutorials-submenu",sCe="examples-submenu",KYn=Se.memo(({viewOnly:t,canvas:e})=>{const n=M(dn),o=M(Q1e),i=gt(yq),r=M.getState().loggable,a=M.getState().language,l=M.getState().undoManager,s=gt.getState().changed,c=M.getState().cloudFile,u=M.getState().user,d=M.getState().elementsToPaste,f=M.getState().selectedElement;gt(U=>U.contextMenuFlag);const[p,g]=m.useState(!1),[y,A]=m.useState(!1),x=U=>{U&&A(!y)},{t:C}=jl(),b=m.useMemo(()=>({lng:a}),[a]),v=m.useMemo(()=>be.isMac(),[]),S=m.useMemo(()=>{const U=be.getOS();return U&&(U.includes("OS X")||U.includes("Chrome"))?"Ctrl+Alt+H":"Ctrl+Home"},[]),w=U=>{U.keyPath.find(F=>F===lCe||F===sCe)&&T(U.key)},T=U=>{const F=XEn(U);F&&(gt.getState().set(W=>{W.openModelsMap=!1}),!t&&s?_r.confirm({title:C("message.DoYouWantToSaveChanges",b),icon:h.jsx(qm,{}),onOk:()=>P(F),onCancel:()=>{gt.getState().set(W=>{W.waiting=!0}),setTimeout(()=>{o(F)},10)},okText:C("word.Yes",b),cancelText:C("word.No",b)}):(gt.getState().set(W=>{W.waiting=!0}),setTimeout(()=>{o(F)},10)),r&&n(W=>{W.actionInfo={name:"Open Example: "+U,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,qp))},P=U=>{c?(n(F=>{F.localContentToImportAfterCloudFileUpdate=U}),gt.getState().setSaveCloudFileFlag(!0)):u.uid?n(F=>{F.localContentToImportAfterCloudFileUpdate=U,F.showCloudFileTitleDialogFlag=!F.showCloudFileTitleDialogFlag,F.showCloudFileTitleDialog=!0}):fn(C("menu.file.ToSaveYourWorkPleaseSignIn",b))},R=()=>{g(!0)},H=()=>{g(!1)},D=d&&d.length>0,E=M.getState().countAllElementsByType(),L=[];return i||L.push({key:"file-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.fileSubMenu",b)}),children:Ukn(t,v,e)}),!i&&!t&&u.uid&&L.push({key:"project-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.projectSubMenu",b)}),children:Okn()}),(f||D||l.hasUndo()||l.hasRedo())&&!i&&L.push({key:"edit-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.editSubMenu",b)}),children:_kn(f,D,l,v)}),i||L.push({key:"view-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.viewSubMenu",b)}),children:nLn(S,v)}),i||L.push({key:"settings-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.settingsSubMenu",b)}),children:oLn()}),i||L.push({key:"accessories-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.view.accessoriesSubMenu",b)}),children:iLn()}),!i&&E.gotSome()&&L.push({key:"analysis-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.analysisSubMenu",b)}),children:pLn(E)}),L.push({key:lCe,label:h.jsx(tn,{noPadding:!0,children:O.t("menu.tutorialsSubMenu",b)}),children:_Yn(t)}),L.push({key:sCe,label:h.jsx(tn,{noPadding:!0,children:O.t("menu.examplesSubMenu",b)}),children:VYn()}),L.push({key:"public-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.publicSubMenu",b)}),children:tLn(u.uid,t,i)}),L.push({key:"language-sub-menu",label:h.jsx(tn,{noPadding:!0,children:O.t("menu.languageSubMenu",b)}),children:[{key:"language-radio-group",label:h.jsx(eLn,{}),style:{backgroundColor:"white"}}]}),L.push({key:"about-us-window",label:h.jsxs(tn,{noPadding:!0,onClick:R,children:[O.t("menu.AboutUs",b),"..."]})}),h.jsxs(h.Fragment,{children:[h.jsx(W7,{menu:{items:L,onClick:w},trigger:["click"],onOpenChange:x,children:h.jsxs(GYn,{children:[h.jsx(XYn,{src:zen,title:C("tooltip.clickToOpenMenu",b)}),h.jsx(JYn,{children:h.jsx("span",{style:{fontSize:"10px",alignContent:"center",cursor:"pointer"},children:C("menu.mainMenu",b)})})]})}),p&&h.jsx(ken,{close:H})]})});var Htt={exports:{}};/*! * JavaScript Cookie v2.2.1 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license - */(function(t,e){(function(n){var o;if(t.exports=n(),o=!0,!o){var i=window.Cookies,r=window.Cookies=n();r.noConflict=function(){return window.Cookies=i,r}}})(function(){function n(){for(var r=0,a={};r"u")){d=n({path:"/"},a.defaults,d),typeof d.expires=="number"&&(d.expires=new Date(new Date*1+d.expires*864e5)),d.expires=d.expires?d.expires.toUTCString():"";try{var f=JSON.stringify(u);/^[\{\[]/.test(f)&&(u=f)}catch{}u=r.write?r.write(u,c):encodeURIComponent(String(u)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),c=encodeURIComponent(String(c)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var p="";for(var g in d)d[g]&&(p+="; "+g,d[g]!==!0&&(p+="="+d[g].split(";")[0]));return document.cookie=c+"="+u+p}}function s(c,u){if(!(typeof document>"u")){for(var d={},f=document.cookie?document.cookie.split("; "):[],p=0;p=0)&&(n[i]=t[i]);return n}var Tde={TOP:"top",BOTTOM:"bottom",NONE:"none"},zX;(function(t){t.STRICT="strict",t.LAX="lax",t.NONE="none"})(zX||(zX={}));var Pde={HIDDEN:"hidden",SHOW:"show",BY_COOKIE_VALUE:"byCookieValue"},Mtt="CookieConsent",nOn=["children"],oOn=function(e){var n=e.children,o=tOn(e,nOn);return Se.createElement("button",Object.assign({},o),n)},HD={disableStyles:!1,hideOnAccept:!0,hideOnDecline:!0,location:Tde.BOTTOM,visible:Pde.BY_COOKIE_VALUE,onAccept:function(e){},onDecline:function(){},cookieName:Mtt,cookieValue:"true",declineCookieValue:"false",setDeclineCookie:!0,buttonText:"I understand",declineButtonText:"I decline",debug:!1,expires:365,containerClasses:"CookieConsent",contentClasses:"",buttonClasses:"",buttonWrapperClasses:"",declineButtonClasses:"",buttonId:"rcc-confirm-button",declineButtonId:"rcc-decline-button",extraCookieOptions:{},disableButtonStyles:!1,enableDeclineButton:!1,flipButtons:!1,sameSite:zX.LAX,ButtonComponent:oOn,overlay:!1,overlayClasses:"",onOverlayClick:function(){},acceptOnOverlayClick:!1,ariaAcceptLabel:"Accept cookies",ariaDeclineLabel:"Decline cookies",acceptOnScroll:!1,acceptOnScrollPercentage:25,customContentAttributes:{},customContainerAttributes:{},customButtonProps:{},customDeclineButtonProps:{},customButtonWrapperAttributes:{},style:{},buttonStyle:{},declineButtonStyle:{},contentStyle:{},overlayStyle:{}},iOn={visible:!1,style:{alignItems:"baseline",background:"#353535",color:"white",display:"flex",flexWrap:"wrap",justifyContent:"space-between",left:"0",position:"fixed",width:"100%",zIndex:"999"},buttonStyle:{background:"#ffd42d",border:"0",borderRadius:"0px",boxShadow:"none",color:"black",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},declineButtonStyle:{background:"#c12a2a",border:"0",borderRadius:"0px",boxShadow:"none",color:"#e5e5e5",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},contentStyle:{flex:"1 0 300px",margin:"15px"},overlayStyle:{position:"fixed",left:0,top:0,width:"100%",height:"100%",zIndex:"999",backgroundColor:"rgba(0,0,0,0.3)"}},rOn=function(e){e===void 0&&(e=Mtt);var n=IX.get(e);return n===void 0?IX.get(Itt(e)):n},Itt=function(e){return e+"-legacy"},ztt=function(t){eOn(e,t);function e(){var o;return o=t.apply(this,arguments)||this,o.state=iOn,o.handleScroll=function(){var i=gm({},HD,o.props),r=i.acceptOnScrollPercentage,a=document.documentElement,l=document.body,s="scrollTop",c="scrollHeight",u=(a[s]||l[s])/((a[c]||l[c])-a.clientHeight)*100;u>r&&o.accept(!0)},o.removeScrollListener=function(){var i=o.props.acceptOnScroll;i&&window.removeEventListener("scroll",o.handleScroll)},o}var n=e.prototype;return n.componentDidMount=function(){var i=this.props.debug;(this.getCookieValue()===void 0||i)&&(this.setState({visible:!0}),this.props.acceptOnScroll&&window.addEventListener("scroll",this.handleScroll,{passive:!0}))},n.componentWillUnmount=function(){this.removeScrollListener()},n.accept=function(i){var r;i===void 0&&(i=!1);var a=gm({},HD,this.props),l=a.cookieName,s=a.cookieValue,c=a.hideOnAccept,u=a.onAccept;this.setCookie(l,s),u((r=i)!=null?r:!1),c&&(this.setState({visible:!1}),this.removeScrollListener())},n.overlayClick=function(){var i=gm({},HD,this.props),r=i.acceptOnOverlayClick,a=i.onOverlayClick;r&&this.accept(),a()},n.decline=function(){var i=gm({},HD,this.props),r=i.cookieName,a=i.declineCookieValue,l=i.hideOnDecline,s=i.onDecline,c=i.setDeclineCookie;c&&this.setCookie(r,a),s(),l&&this.setState({visible:!1})},n.setCookie=function(i,r){var a=this.props,l=a.extraCookieOptions,s=a.expires,c=a.sameSite,u=this.props.cookieSecurity;u===void 0&&(u=window.location?window.location.protocol==="https:":!0);var d=gm({expires:s},l,{sameSite:c,secure:u});c===zX.NONE&&IX.set(Itt(i),r,d),IX.set(i,r,d)},n.getCookieValue=function(){var i=this.props.cookieName;return rOn(i)},n.render=function(){var i=this;switch(this.props.visible){case Pde.HIDDEN:return null;case Pde.BY_COOKIE_VALUE:if(!this.state.visible)return null;break}var r=this.props,a=r.location,l=r.style,s=r.buttonStyle,c=r.declineButtonStyle,u=r.contentStyle,d=r.disableStyles,f=r.buttonText,p=r.declineButtonText,g=r.containerClasses,y=r.contentClasses,A=r.buttonClasses,x=r.buttonWrapperClasses,C=r.declineButtonClasses,b=r.buttonId,v=r.declineButtonId,S=r.disableButtonStyles,w=r.enableDeclineButton,T=r.flipButtons,P=r.ButtonComponent,R=r.overlay,H=r.overlayClasses,D=r.overlayStyle,E=r.ariaAcceptLabel,L=r.ariaDeclineLabel,U=r.customContainerAttributes,F=r.customContentAttributes,W=r.customButtonProps,B=r.customDeclineButtonProps,k=r.customButtonWrapperAttributes,N={},j={},Y={},_={},J={};switch(d?(N=Object.assign({},l),j=Object.assign({},s),Y=Object.assign({},c),_=Object.assign({},u),J=Object.assign({},D)):(N=Object.assign({},gm({},this.state.style,l)),_=Object.assign({},gm({},this.state.contentStyle,u)),J=Object.assign({},gm({},this.state.overlayStyle,D)),S?(j=Object.assign({},s),Y=Object.assign({},c)):(j=Object.assign({},gm({},this.state.buttonStyle,s)),Y=Object.assign({},gm({},this.state.declineButtonStyle,c)))),a){case Tde.TOP:N.top="0";break;case Tde.BOTTOM:N.bottom="0";break}var Q=[];return w&&Q.push(Se.createElement(P,Object.assign({key:"declineButton",style:Y,className:C,id:v,"aria-label":L,onClick:function(){i.decline()}},B),p)),Q.push(Se.createElement(P,Object.assign({key:"acceptButton",style:j,className:A,id:b,"aria-label":E,onClick:function(){i.accept()}},W),f)),T&&Q.reverse(),Se.createElement(ZYn,{condition:R,wrapper:function($){return Se.createElement("div",{style:J,className:H,onClick:function(){i.overlayClick()}},$)}},Se.createElement("div",Object.assign({className:""+g,style:N},U),Se.createElement("div",Object.assign({style:_,className:y},F),this.props.children),Se.createElement("div",Object.assign({className:""+x},k),Q.map(function(ee){return ee}))))},e}(m.Component);ztt.defaultProps=HD;const aOn=Se.memo(()=>{const t=Kt();return h.jsx(ztt,{location:"bottom",buttonText:O.t("cookie.Accept",t),cookieName:"AladdinCookieName",style:{background:"#2B373B",textAlign:"center",zIndex:99999},buttonStyle:{color:"#4e503b",fontSize:"12px"},expires:150,children:O.t("cookie.Statement",t)})}),lOn=.7,sOn=42.2845513,cOn=lOn/Math.cos(be.toRadians(sOn)),uOn=Se.memo(()=>{const t=M(dn),e=M(Xs),n=M(wb),o=M(j1e),i=M(SBe),r=m.useRef(null),a=Ab(i==="satellite"||i==="hybrid"?Gqt(640,e,n,o):Xqt(640,e,n,o));let l;o===21?l=.5:o===20?l=1:l=Math.pow(2,20-o);const s=cOn*Math.cos(be.toRadians(e))*l,c=u=>{u.intersections.length>0&&u.intersections[0].object===r.current&&t(f=>{mx.selectNone(f),f.pastePoint.copy(u.intersections[0].point),f.clickObjectType=z.Ground,f.contextMenuObjectType=z.Ground,f.pasteNormal=Po})};return a?h.jsxs("mesh",{rotation:[0,0,0],position:[0,0,0],renderOrder:-1,scale:[s,s,1],receiveShadow:!0,ref:r,onContextMenu:c,children:[h.jsx("planeGeometry",{args:[100,100]}),h.jsx("meshStandardMaterial",{attach:"material",depthTest:!1,side:ji,map:a,opacity:1})]}):h.jsx(h.Fragment,{})}),dOn=({foundation:t})=>{const e=Kt(),n=()=>{M.getState().set(i=>{for(const r of i.elements)if(r.id===t.id){r.notBuilding=!r.notBuilding;break}})},o=i=>{const r={name:"Building",timestamp:Date.now(),checked:i.target.checked,selectedElementId:t.id,selectedElementType:t.type,undo:()=>n(),redo:()=>n()};M.getState().addUndoable(r),n()};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!t.notBuilding,onChange:o,children:O.t("word.Building",e)})})},cCe=({foundation:t,lock:e,count:n})=>{const o=Kt(),i=e?"foundationMenu.LockAllUnlockedElementsOnThisFoundation":"foundationMenu.UnlockAllLockedElementsOnThisFoundation",r=()=>{const a=new Map;for(const c of M.getState().elements)(c.foundationId===t.id||c.id===t.id)&&a.set(c.id,!!c.locked);const s={name:e?"Lock All Unlocked Offsprings":"Unlock All Locked Offsprings",timestamp:Date.now(),oldValues:a,newValue:!0,undo:()=>{for(const[c,u]of s.oldValues.entries())M.getState().updateElementLockById(c,u)},redo:()=>{M.getState().updateElementLockByFoundationId(t.id,e)}};M.getState().addUndoable(s),M.getState().updateElementLockByFoundationId(t.id,e)};return h.jsxs(tn,{noPadding:!0,onClick:r,children:[O.t(i,o)," (",n,")"]})},eae=({foundation:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllElementsOnFoundationByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.foundationId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Foundation`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx(qm,{}),onOk:s})};return h.jsx(tn,{noPadding:!0,onClick:l,children:i})},fOn=({foundation:t})=>{const e=M.getState().set,n=Kt(),o=()=>{e(a=>{a.objectTypeToAdd=z.Polygon});const i=M.getState().addElement(t,new ae(t.cx,t.cy,t.lz),Po),r={name:"Add",timestamp:Date.now(),addedElement:i,undo:()=>{M.getState().removeElementById(r.addedElement.id,!1)},redo:()=>{e(a=>{a.elements.push(r.addedElement),a.selectedElement=r.addedElement})}};M.getState().addUndoable(r),e(a=>{a.objectTypeToAdd=z.None})};return h.jsx(tn,{onClick:o,children:O.t("foundationMenu.AddPolygon",n)})},hOn=({foundation:t})=>{var a;const[e,n]=m.useState((a=t==null?void 0:t.hvacSystem)==null?void 0:a.id),o=l=>{let s=l.target.value;s.trim().length===0&&(s=void 0),n(s)},i=(l,s)=>{M.getState().set(c=>{for(const u of c.elements)if(u.type===z.Foundation&&u.id===l){const d=u;d.hvacSystem?d.hvacSystem.id=s:d.hvacSystem={thermostatSetpoint:20,temperatureThreshold:3,id:s};break}})},r=l=>{var d;const s=(d=t.hvacSystem)==null?void 0:d.id,c=l&&l.trim().length>0?l:void 0,u={name:"Change HVAC ID",timestamp:Date.now(),oldValue:s,newValue:c,undo:()=>{i(t.id,u.oldValue)},redo:()=>{i(t.id,u.newValue)}};M.getState().addUndoable(u),i(t.id,c)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{style:{width:"40px",paddingLeft:"0px",textAlign:"left"},children:"ID:"}),h.jsx(ns,{style:{width:"180px"},value:e,onChange:o,onPressEnter:()=>r(e),onBlur:()=>r(e)})]})},pOn=({foundation:t})=>{var i;const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r){const c=s;c.hvacSystem?c.hvacSystem.thermostatSetpoint=a:c.hvacSystem={thermostatSetpoint:a,temperatureThreshold:3};break}})},o=r=>{var c;if(r===null)return;const a=((c=t.hvacSystem)==null?void 0:c.thermostatSetpoint)??20,l=r,s={name:"Change Thermostat Setpoint",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(t.id,s.oldValue)},redo:()=>{n(t.id,s.newValue)}};M.getState().addUndoable(s),n(t.id,l)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{style:{width:"160px"},children:O.t("word.ThermostatSetpoint",e)+":"}),h.jsx(Hn,{min:0,max:30,step:1,style:{width:60},precision:1,value:((i=t.hvacSystem)==null?void 0:i.thermostatSetpoint)??20,onChange:o})]})},gOn=({foundation:t})=>{var i;const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r){const c=s;c.hvacSystem?c.hvacSystem.temperatureThreshold=a:c.hvacSystem={thermostatSetpoint:20,temperatureThreshold:a};break}})},o=r=>{var c;if(r===null)return;const a=((c=t.hvacSystem)==null?void 0:c.temperatureThreshold)??3,l=r,s={name:"Change Temperature Tolerance Threshold",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(t.id,s.oldValue)},redo:()=>{n(t.id,s.newValue)}};M.getState().addUndoable(s),n(t.id,l)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{title:O.t("word.TemperatureToleranceThresholdExplanation",e),style:{width:"160px"},children:O.t("word.TemperatureToleranceThreshold",e)+":"}),h.jsx(Hn,{min:0,max:30,step:1,style:{width:60},precision:1,value:((i=t.hvacSystem)==null?void 0:i.temperatureThreshold)??3,onChange:o}),h.jsx(en,{style:{paddingLeft:"10px"},children:"°C"})]})},mOn=({foundation:t})=>{const e=Kt(),n=(t==null?void 0:t.solarStructure)??zn.None,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r&&!s.locked){s.solarStructure=a;break}})},i=r=>{const a=t.solarStructure,l=r.target.value,s={name:"Select Solar Structure for Selected Foundation",timestamp:Date.now(),oldValue:a,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{o(s.changedElementId,s.oldValue)},redo:()=>{o(s.changedElementId,s.newValue)}};M.getState().addUndoable(s),o(t.id,l)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:n,onChange:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:zn.None,children:O.t("word.None",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.FocusPipe,children:O.t("solarAbsorberPipeMenu.AbsorberPipeForFresnelReflectors",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.FocusTower,children:O.t("solarPowerTowerMenu.ReceiverTowerForHeliostats",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.UpdraftTower,children:O.t("solarUpdraftTowerMenu.SolarUpdraftTower",e)})]})})})},Dtt="/aladdin/assets/foundation_01_menu-DJ2ZRFYJ.png",Ett="/aladdin/assets/foundation_02_menu-D6HXceyz.png",ktt="/aladdin/assets/foundation_03_menu-BFLw0RU7.png",Ftt="/aladdin/assets/foundation_04_menu-DtGEusM9.png",Ltt="/aladdin/assets/foundation_05_menu-BGUU1Wal.png",Wtt="/aladdin/assets/foundation_06_menu-hg_Rf0EG.png",Ntt="/aladdin/assets/foundation_07_menu-BM9bFpzu.png",Utt=t=>{const[e,n]=m.useState((t==null?void 0:t.label)??"");return m.useEffect(()=>{t!=null&&t.label&&n(t.label)},[t==null?void 0:t.id]),{labelText:e,setLabelText:n}},Btt=t=>{const e=M(En),n=M(ywt);return()=>{if(t){const o={name:"Show Label for "+t.type,timestamp:Date.now(),checked:!t.showLabel,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!o.checked)},redo:()=>{n(t.id,o.checked)}};e(o),n(t.id,!t.showLabel)}}},jtt=(t,e)=>{const n=M(mwt),o=M(En);return()=>{if(t){const i=t.label,r={name:"Set Label for "+t.type,timestamp:Date.now(),oldValue:i,newValue:e,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};o(r),n(t.id,e)}}},yOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelFontSize=i;break}})};return i=>{if(t){const r=t.labelFontSize??20,a=i,l={name:"Set Label Font Size for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},AOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelSize=i;break}})};return i=>{if(t){const r=t.labelSize??.2,a=i,l={name:"Set Label Size for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},wOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelColor=i;break}})};return i=>{if(t){const r=t.labelColor??"white",a=i,l={name:"Set Label Color for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},vOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelHeight=i;break}})};return i=>{if(t){const r=t.labelHeight??t.lz/2+.2,a=i,l={name:"Set Label Height for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},co=t=>M(e=>{if(!e.selectedElement)return;const n=e.elements.find(o=>{var i;return o.id===((i=e.selectedElement)==null?void 0:i.id)});if(!n||!t||n.type===t)return n}),bZ=t=>{const[e,n]=m.useState(t);return[e,i=>{n(i.hex)}]},lo=({width:t,title:e,rejectedMessage:n,onApply:o,onClose:i,onClickOk:r,onClickCancel:a,children:l})=>{const s=M(oo),c=M(ca),{t:u}=jl(),d=Kt(),[f,p]=m.useState({left:0,top:0,bottom:0,right:0}),[g,y]=m.useState(!1),A=m.useRef(null),x=(S,w)=>{if(A.current){const{clientWidth:T,clientHeight:P}=window.document.documentElement,R=A.current.getBoundingClientRect();p({left:-R.left+w.x,right:T-(R.right-w.x),top:-R.top+w.y,bottom:P-((R==null?void 0:R.bottom)-w.y)})}},C=()=>{r?r():(o(),i(),s(0))},b=()=>{a?a():(i(),c())};m.useEffect(()=>{const S=w=>{w.key==="Enter"&&C()};return window.addEventListener("keydown",S),()=>window.removeEventListener("keydown",S)},[C]);const v=!!n&&n.length>0;return h.jsxs(_r,{width:t,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>y(!0),onMouseOut:()=>y(!1),children:[e,v&&h.jsx("span",{style:{color:"red",fontWeight:"bold"},children:n})]}),footer:[h.jsx(no,{onClick:o,children:u("word.Apply",d)},"Apply"),h.jsx(no,{onClick:b,children:u("word.Cancel",d)},"Cancel"),h.jsx(no,{type:"primary",onClick:C,children:u("word.OK",d)},"OK")],onCancel:i,maskClosable:!1,destroyOnClose:!1,modalRender:S=>h.jsx(Vr,{disabled:!g,bounds:f,onStart:(w,T)=>x(w,T),children:h.jsx("div",{ref:A,children:S})}),children:[h.jsx(Ove,{}),l,h.jsx(Ove,{})]})},xOn=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState((s==null?void 0:s.textureType)??Or.NoTexture),d=Kt(),{Option:f}=Yo,p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){T.textureType=S;break}})},g=v=>{e(S=>{for(const w of S.elements)w.type===z.Foundation&&!w.locked&&(w.textureType=v)})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&v!==S.textureType)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&v!==S.textureType)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0}return!1},A=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&v.has(T.id))if(S!==void 0)T.textureType=S;else{const P=v.get(T.id);P!==void 0&&(T.textureType=P)}})},x=v=>{if(s&&y(v)){switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)&&S.set(T.id,T.textureType??Or.NoTexture);const w={name:"Set Texture for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{A(w.oldValues)},redo:()=>{A(w.oldValues,w.newValue)}};i(w),A(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)T.type===z.Foundation&&S.set(T.id,T.textureType??Or.NoTexture);const w={name:"Set Texture for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())p(T,P)},redo:()=>{g(w.newValue)}};i(w),g(v),l(a+1);break}default:{const S=o(s.id),w=S?S.textureType:s.textureType,T={name:"Set Texture of Selected Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),p(s.id,v),l(a+1);break}}e(S=>{S.actionState.foundationTexture=v})}},C=()=>{t(!1)},b=()=>{x(c)};return h.jsx(lo,{width:500,title:O.t("word.Texture",d),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:u,children:[h.jsxs(f,{value:Or.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",d)]},Or.NoTexture),h.jsxs(f,{value:Or.Texture01,children:[h.jsx("img",{alt:Or.Texture01,src:Dtt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture01",d)]},Or.Texture01),h.jsxs(f,{value:Or.Texture02,children:[h.jsx("img",{alt:Or.Texture02,src:Ett,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture02",d)]},Or.Texture02),h.jsxs(f,{value:Or.Texture03,children:[h.jsx("img",{alt:Or.Texture03,src:ktt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture03",d)]},Or.Texture03),h.jsxs(f,{value:Or.Texture04,children:[h.jsx("img",{alt:Or.Texture04,src:Ftt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture04",d)]},Or.Texture04),h.jsxs(f,{value:Or.Texture05,children:[h.jsx("img",{alt:Or.Texture05,src:Ltt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture05",d)]},Or.Texture05),h.jsxs(f,{value:Or.Texture06,children:[h.jsx("img",{alt:Or.Texture06,src:Wtt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture06",d)]},Or.Texture06),h.jsxs(f,{value:Or.Texture07,children:[h.jsx("img",{alt:Or.Texture07,src:Ntt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture07",d)]},Or.Texture07)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})};var Hm={},HN={},bOn=typeof mc=="object"&&mc&&mc.Object===Object&&mc,Ytt=bOn,SOn=Ytt,TOn=typeof self=="object"&&self&&self.Object===Object&&self,POn=SOn||TOn||Function("return this")(),Z2=POn,COn=Z2,ROn=COn.Symbol,eM=ROn,uCe=eM,Ott=Object.prototype,HOn=Ott.hasOwnProperty,MOn=Ott.toString,Wz=uCe?uCe.toStringTag:void 0;function IOn(t){var e=HOn.call(t,Wz),n=t[Wz];try{t[Wz]=void 0;var o=!0}catch{}var i=MOn.call(t);return o&&(e?t[Wz]=n:delete t[Wz]),i}var zOn=IOn,DOn=Object.prototype,EOn=DOn.toString;function kOn(t){return EOn.call(t)}var FOn=kOn,dCe=eM,LOn=zOn,WOn=FOn,NOn="[object Null]",UOn="[object Undefined]",fCe=dCe?dCe.toStringTag:void 0;function BOn(t){return t==null?t===void 0?UOn:NOn:fCe&&fCe in Object(t)?LOn(t):WOn(t)}var yA=BOn,jOn=Array.isArray,mp=jOn;function YOn(t){return t!=null&&typeof t=="object"}var e5=YOn,OOn=yA,_On=mp,VOn=e5,GOn="[object String]";function XOn(t){return typeof t=="string"||!_On(t)&&VOn(t)&&OOn(t)==GOn}var _tt=XOn;const MN=kr(_tt);function JOn(t){return function(e,n,o){for(var i=-1,r=Object(e),a=o(e),l=a.length;l--;){var s=a[t?l:++i];if(n(r[s],s,r)===!1)break}return e}}var KOn=JOn,qOn=KOn,$On=qOn(),QOn=$On;function ZOn(t,e){for(var n=-1,o=Array(t);++n-1&&t%1==0&&t-1&&t%1==0&&t<=g_n}var r5e=m_n,y_n=yA,A_n=r5e,w_n=e5,v_n="[object Arguments]",x_n="[object Array]",b_n="[object Boolean]",S_n="[object Date]",T_n="[object Error]",P_n="[object Function]",C_n="[object Map]",R_n="[object Number]",H_n="[object Object]",M_n="[object RegExp]",I_n="[object Set]",z_n="[object String]",D_n="[object WeakMap]",E_n="[object ArrayBuffer]",k_n="[object DataView]",F_n="[object Float32Array]",L_n="[object Float64Array]",W_n="[object Int8Array]",N_n="[object Int16Array]",U_n="[object Int32Array]",B_n="[object Uint8Array]",j_n="[object Uint8ClampedArray]",Y_n="[object Uint16Array]",O_n="[object Uint32Array]",sc={};sc[F_n]=sc[L_n]=sc[W_n]=sc[N_n]=sc[U_n]=sc[B_n]=sc[j_n]=sc[Y_n]=sc[O_n]=!0;sc[v_n]=sc[x_n]=sc[E_n]=sc[b_n]=sc[k_n]=sc[S_n]=sc[T_n]=sc[P_n]=sc[C_n]=sc[R_n]=sc[H_n]=sc[M_n]=sc[I_n]=sc[z_n]=sc[D_n]=!1;function __n(t){return w_n(t)&&A_n(t.length)&&!!sc[y_n(t)]}var V_n=__n;function G_n(t){return function(e){return t(e)}}var SZ=G_n,EX={exports:{}};EX.exports;(function(t,e){var n=Ytt,o=e&&!e.nodeType&&e,i=o&&!0&&t&&!t.nodeType&&t,r=i&&i.exports===o,a=r&&n.process,l=function(){try{var s=i&&i.require&&i.require("util").types;return s||a&&a.binding&&a.binding("util")}catch{}}();t.exports=l})(EX,EX.exports);var a5e=EX.exports,X_n=V_n,J_n=SZ,pCe=a5e,gCe=pCe&&pCe.isTypedArray,K_n=gCe?J_n(gCe):X_n,Gtt=K_n,q_n=e_n,$_n=n5e,Q_n=mp,Z_n=o5e,eVn=i5e,tVn=Gtt,nVn=Object.prototype,oVn=nVn.hasOwnProperty;function iVn(t,e){var n=Q_n(t),o=!n&&$_n(t),i=!n&&!o&&Z_n(t),r=!n&&!o&&!i&&tVn(t),a=n||o||i||r,l=a?q_n(t.length,String):[],s=l.length;for(var c in t)(e||oVn.call(t,c))&&!(a&&(c=="length"||i&&(c=="offset"||c=="parent")||r&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||eVn(c,s)))&&l.push(c);return l}var Xtt=iVn,rVn=Object.prototype;function aVn(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||rVn;return t===n}var l5e=aVn;function lVn(t,e){return function(n){return t(e(n))}}var Jtt=lVn,sVn=Jtt,cVn=sVn(Object.keys,Object),uVn=cVn,dVn=l5e,fVn=uVn,hVn=Object.prototype,pVn=hVn.hasOwnProperty;function gVn(t){if(!dVn(t))return fVn(t);var e=[];for(var n in Object(t))pVn.call(t,n)&&n!="constructor"&&e.push(n);return e}var mVn=gVn;function yVn(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var t5=yVn;const tM=kr(t5);var AVn=yA,wVn=t5,vVn="[object AsyncFunction]",xVn="[object Function]",bVn="[object GeneratorFunction]",SVn="[object Proxy]";function TVn(t){if(!wVn(t))return!1;var e=AVn(t);return e==xVn||e==bVn||e==vVn||e==SVn}var s5e=TVn;const Aa=kr(s5e);var PVn=s5e,CVn=r5e;function RVn(t){return t!=null&&CVn(t.length)&&!PVn(t)}var nM=RVn,HVn=Xtt,MVn=mVn,IVn=nM;function zVn(t){return IVn(t)?HVn(t):MVn(t)}var oM=zVn,DVn=QOn,EVn=oM;function kVn(t,e){return t&&DVn(t,e,EVn)}var c5e=kVn;function FVn(t){return t}var Vb=FVn,LVn=Vb;function WVn(t){return typeof t=="function"?t:LVn}var NVn=WVn,UVn=c5e,BVn=NVn;function jVn(t,e){return t&&UVn(t,BVn(e))}var u5e=jVn,YVn=Jtt,OVn=YVn(Object.getPrototypeOf,Object),d5e=OVn,_Vn=yA,VVn=d5e,GVn=e5,XVn="[object Object]",JVn=Function.prototype,KVn=Object.prototype,Ktt=JVn.toString,qVn=KVn.hasOwnProperty,$Vn=Ktt.call(Object);function QVn(t){if(!GVn(t)||_Vn(t)!=XVn)return!1;var e=VVn(t);if(e===null)return!0;var n=qVn.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&Ktt.call(n)==$Vn}var qtt=QVn;const ZVn=kr(qtt);function eGn(t,e){for(var n=-1,o=t==null?0:t.length,i=Array(o);++n-1}var mGn=gGn,yGn=PZ;function AGn(t,e){var n=this.__data__,o=yGn(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}var wGn=AGn,vGn=nGn,xGn=uGn,bGn=hGn,SGn=mGn,TGn=wGn;function iM(t){var e=-1,n=t==null?0:t.length;for(this.clear();++el))return!1;var c=r.get(t),u=r.get(e);if(c&&u)return c==e&&u==t;var d=-1,f=!0,p=n&EJn?new MJn:void 0;for(r.set(t,e),r.set(e,t);++d0&&arguments[0]!==void 0?arguments[0]:[],n=[];return(0,gQn.default)(e,function(o){Array.isArray(o)?t(o).map(function(i){return n.push(i)}):(0,hQn.default)(o)?(0,dQn.default)(o,function(i,r){i===!0&&n.push(r),n.push(r+"-"+i)}):(0,cQn.default)(o)&&n.push(o)}),n};HN.default=mQn;var IN={};function yQn(t,e){for(var n=-1,o=t==null?0:t.length;++n1&&arguments[1]!==void 0?arguments[1]:[],o=e.default&&(0,Lto.default)(e.default)||{};return n.map(function(i){var r=e[i];return r&&(0,kto.default)(r,function(a,l){o[l]||(o[l]={}),o[l]=Wto({},o[l],r[l])}),i}),o};IN.default=Nto;var zN={};Object.defineProperty(zN,"__esModule",{value:!0});zN.autoprefix=void 0;var Uto=u5e,KCe=jto(Uto),Bto=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){Jto(i,o);function i(){var r,a,l,s;Xto(this,i);for(var c=arguments.length,u=Array(c),d=0;d1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){eno(i,o);function i(){var r,a,l,s;Zto(this,i);for(var c=arguments.length,u=Array(c),d=0;d1&&arguments[1]!==void 0?arguments[1]:!0;o[a]=l};return e===0&&i("first-child"),e===n-1&&i("last-child"),(e===0||e%2===0)&&i("even"),Math.abs(e%2)===1&&i("odd"),i("nth-child",e),o};R5e.default=nno;Object.defineProperty(Hm,"__esModule",{value:!0});Hm.ReactCSS=Hm.loop=Hm.handleActive=H5e=Hm.handleHover=Hm.hover=void 0;var ono=HN,ino=uM(ono),rno=IN,ano=uM(rno),lno=zN,sno=uM(lno),cno=DN,Cnt=uM(cno),uno=EN,dno=uM(uno),fno=R5e,hno=uM(fno);function uM(t){return t&&t.__esModule?t:{default:t}}Hm.hover=Cnt.default;var H5e=Hm.handleHover=Cnt.default;Hm.handleActive=dno.default;Hm.loop=hno.default;var pno=Hm.ReactCSS=function(e){for(var n=arguments.length,o=Array(n>1?n-1:0),i=1;il?f=1:f=Math.round(d*100/l)/100,n.a!==f)return{h:n.h,s:n.s,l:n.l,a:f,source:"rgb"}}else{var p=void 0;if(u<0?p=0:u>a?p=1:p=Math.round(u*100/a)/100,i!==p)return{h:n.h,s:n.s,l:n.l,a:p,source:"rgb"}}return null},aae={},mno=function(e,n,o,i){if(typeof document>"u"&&!i)return null;var r=i?new i:document.createElement("canvas");r.width=o*2,r.height=o*2;var a=r.getContext("2d");return a?(a.fillStyle=e,a.fillRect(0,0,r.width,r.height),a.fillStyle=n,a.fillRect(0,0,o,o),a.translate(o,o),a.fillRect(0,0,o,o),r.toDataURL()):null},yno=function(e,n,o,i){var r=e+"-"+n+"-"+o+(i?"-server":"");if(aae[r])return aae[r];var a=mno(e,n,o,i);return aae[r]=a,a},QCe=Object.assign||function(t){for(var e=1;e"u")){d=n({path:"/"},a.defaults,d),typeof d.expires=="number"&&(d.expires=new Date(new Date*1+d.expires*864e5)),d.expires=d.expires?d.expires.toUTCString():"";try{var f=JSON.stringify(u);/^[\{\[]/.test(f)&&(u=f)}catch{}u=r.write?r.write(u,c):encodeURIComponent(String(u)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),c=encodeURIComponent(String(c)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var p="";for(var g in d)d[g]&&(p+="; "+g,d[g]!==!0&&(p+="="+d[g].split(";")[0]));return document.cookie=c+"="+u+p}}function s(c,u){if(!(typeof document>"u")){for(var d={},f=document.cookie?document.cookie.split("; "):[],p=0;p=0)&&(n[i]=t[i]);return n}var Tde={TOP:"top",BOTTOM:"bottom",NONE:"none"},zX;(function(t){t.STRICT="strict",t.LAX="lax",t.NONE="none"})(zX||(zX={}));var Pde={HIDDEN:"hidden",SHOW:"show",BY_COOKIE_VALUE:"byCookieValue"},Mtt="CookieConsent",eOn=["children"],tOn=function(e){var n=e.children,o=ZYn(e,eOn);return Se.createElement("button",Object.assign({},o),n)},HD={disableStyles:!1,hideOnAccept:!0,hideOnDecline:!0,location:Tde.BOTTOM,visible:Pde.BY_COOKIE_VALUE,onAccept:function(e){},onDecline:function(){},cookieName:Mtt,cookieValue:"true",declineCookieValue:"false",setDeclineCookie:!0,buttonText:"I understand",declineButtonText:"I decline",debug:!1,expires:365,containerClasses:"CookieConsent",contentClasses:"",buttonClasses:"",buttonWrapperClasses:"",declineButtonClasses:"",buttonId:"rcc-confirm-button",declineButtonId:"rcc-decline-button",extraCookieOptions:{},disableButtonStyles:!1,enableDeclineButton:!1,flipButtons:!1,sameSite:zX.LAX,ButtonComponent:tOn,overlay:!1,overlayClasses:"",onOverlayClick:function(){},acceptOnOverlayClick:!1,ariaAcceptLabel:"Accept cookies",ariaDeclineLabel:"Decline cookies",acceptOnScroll:!1,acceptOnScrollPercentage:25,customContentAttributes:{},customContainerAttributes:{},customButtonProps:{},customDeclineButtonProps:{},customButtonWrapperAttributes:{},style:{},buttonStyle:{},declineButtonStyle:{},contentStyle:{},overlayStyle:{}},nOn={visible:!1,style:{alignItems:"baseline",background:"#353535",color:"white",display:"flex",flexWrap:"wrap",justifyContent:"space-between",left:"0",position:"fixed",width:"100%",zIndex:"999"},buttonStyle:{background:"#ffd42d",border:"0",borderRadius:"0px",boxShadow:"none",color:"black",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},declineButtonStyle:{background:"#c12a2a",border:"0",borderRadius:"0px",boxShadow:"none",color:"#e5e5e5",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},contentStyle:{flex:"1 0 300px",margin:"15px"},overlayStyle:{position:"fixed",left:0,top:0,width:"100%",height:"100%",zIndex:"999",backgroundColor:"rgba(0,0,0,0.3)"}},oOn=function(e){e===void 0&&(e=Mtt);var n=IX.get(e);return n===void 0?IX.get(Itt(e)):n},Itt=function(e){return e+"-legacy"},ztt=function(t){QYn(e,t);function e(){var o;return o=t.apply(this,arguments)||this,o.state=nOn,o.handleScroll=function(){var i=gm({},HD,o.props),r=i.acceptOnScrollPercentage,a=document.documentElement,l=document.body,s="scrollTop",c="scrollHeight",u=(a[s]||l[s])/((a[c]||l[c])-a.clientHeight)*100;u>r&&o.accept(!0)},o.removeScrollListener=function(){var i=o.props.acceptOnScroll;i&&window.removeEventListener("scroll",o.handleScroll)},o}var n=e.prototype;return n.componentDidMount=function(){var i=this.props.debug;(this.getCookieValue()===void 0||i)&&(this.setState({visible:!0}),this.props.acceptOnScroll&&window.addEventListener("scroll",this.handleScroll,{passive:!0}))},n.componentWillUnmount=function(){this.removeScrollListener()},n.accept=function(i){var r;i===void 0&&(i=!1);var a=gm({},HD,this.props),l=a.cookieName,s=a.cookieValue,c=a.hideOnAccept,u=a.onAccept;this.setCookie(l,s),u((r=i)!=null?r:!1),c&&(this.setState({visible:!1}),this.removeScrollListener())},n.overlayClick=function(){var i=gm({},HD,this.props),r=i.acceptOnOverlayClick,a=i.onOverlayClick;r&&this.accept(),a()},n.decline=function(){var i=gm({},HD,this.props),r=i.cookieName,a=i.declineCookieValue,l=i.hideOnDecline,s=i.onDecline,c=i.setDeclineCookie;c&&this.setCookie(r,a),s(),l&&this.setState({visible:!1})},n.setCookie=function(i,r){var a=this.props,l=a.extraCookieOptions,s=a.expires,c=a.sameSite,u=this.props.cookieSecurity;u===void 0&&(u=window.location?window.location.protocol==="https:":!0);var d=gm({expires:s},l,{sameSite:c,secure:u});c===zX.NONE&&IX.set(Itt(i),r,d),IX.set(i,r,d)},n.getCookieValue=function(){var i=this.props.cookieName;return oOn(i)},n.render=function(){var i=this;switch(this.props.visible){case Pde.HIDDEN:return null;case Pde.BY_COOKIE_VALUE:if(!this.state.visible)return null;break}var r=this.props,a=r.location,l=r.style,s=r.buttonStyle,c=r.declineButtonStyle,u=r.contentStyle,d=r.disableStyles,f=r.buttonText,p=r.declineButtonText,g=r.containerClasses,y=r.contentClasses,A=r.buttonClasses,x=r.buttonWrapperClasses,C=r.declineButtonClasses,b=r.buttonId,v=r.declineButtonId,S=r.disableButtonStyles,w=r.enableDeclineButton,T=r.flipButtons,P=r.ButtonComponent,R=r.overlay,H=r.overlayClasses,D=r.overlayStyle,E=r.ariaAcceptLabel,L=r.ariaDeclineLabel,U=r.customContainerAttributes,F=r.customContentAttributes,W=r.customButtonProps,B=r.customDeclineButtonProps,k=r.customButtonWrapperAttributes,N={},j={},Y={},_={},J={};switch(d?(N=Object.assign({},l),j=Object.assign({},s),Y=Object.assign({},c),_=Object.assign({},u),J=Object.assign({},D)):(N=Object.assign({},gm({},this.state.style,l)),_=Object.assign({},gm({},this.state.contentStyle,u)),J=Object.assign({},gm({},this.state.overlayStyle,D)),S?(j=Object.assign({},s),Y=Object.assign({},c)):(j=Object.assign({},gm({},this.state.buttonStyle,s)),Y=Object.assign({},gm({},this.state.declineButtonStyle,c)))),a){case Tde.TOP:N.top="0";break;case Tde.BOTTOM:N.bottom="0";break}var Q=[];return w&&Q.push(Se.createElement(P,Object.assign({key:"declineButton",style:Y,className:C,id:v,"aria-label":L,onClick:function(){i.decline()}},B),p)),Q.push(Se.createElement(P,Object.assign({key:"acceptButton",style:j,className:A,id:b,"aria-label":E,onClick:function(){i.accept()}},W),f)),T&&Q.reverse(),Se.createElement($Yn,{condition:R,wrapper:function($){return Se.createElement("div",{style:J,className:H,onClick:function(){i.overlayClick()}},$)}},Se.createElement("div",Object.assign({className:""+g,style:N},U),Se.createElement("div",Object.assign({style:_,className:y},F),this.props.children),Se.createElement("div",Object.assign({className:""+x},k),Q.map(function(ee){return ee}))))},e}(m.Component);ztt.defaultProps=HD;const iOn=Se.memo(()=>{const t=Kt();return h.jsx(ztt,{location:"bottom",buttonText:O.t("cookie.Accept",t),cookieName:"AladdinCookieName",style:{background:"#2B373B",textAlign:"center",zIndex:99999},buttonStyle:{color:"#4e503b",fontSize:"12px"},expires:150,children:O.t("cookie.Statement",t)})}),rOn=.7,aOn=42.2845513,lOn=rOn/Math.cos(be.toRadians(aOn)),sOn=Se.memo(()=>{const t=M(dn),e=M(Xs),n=M(wb),o=M(j1e),i=M(SBe),r=m.useRef(null),a=Ab(i==="satellite"||i==="hybrid"?_qt(640,e,n,o):Vqt(640,e,n,o));let l;o===21?l=.5:o===20?l=1:l=Math.pow(2,20-o);const s=lOn*Math.cos(be.toRadians(e))*l,c=u=>{u.intersections.length>0&&u.intersections[0].object===r.current&&t(f=>{mx.selectNone(f),f.pastePoint.copy(u.intersections[0].point),f.clickObjectType=z.Ground,f.contextMenuObjectType=z.Ground,f.pasteNormal=Po})};return a?h.jsxs("mesh",{rotation:[0,0,0],position:[0,0,0],renderOrder:-1,scale:[s,s,1],receiveShadow:!0,ref:r,onContextMenu:c,children:[h.jsx("planeGeometry",{args:[100,100]}),h.jsx("meshStandardMaterial",{attach:"material",depthTest:!1,side:ji,map:a,opacity:1})]}):h.jsx(h.Fragment,{})}),cOn=({foundation:t})=>{const e=Kt(),n=()=>{M.getState().set(i=>{for(const r of i.elements)if(r.id===t.id){r.notBuilding=!r.notBuilding;break}})},o=i=>{const r={name:"Building",timestamp:Date.now(),checked:i.target.checked,selectedElementId:t.id,selectedElementType:t.type,undo:()=>n(),redo:()=>n()};M.getState().addUndoable(r),n()};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!t.notBuilding,onChange:o,children:O.t("word.Building",e)})})},cCe=({foundation:t,lock:e,count:n})=>{const o=Kt(),i=e?"foundationMenu.LockAllUnlockedElementsOnThisFoundation":"foundationMenu.UnlockAllLockedElementsOnThisFoundation",r=()=>{const a=new Map;for(const c of M.getState().elements)(c.foundationId===t.id||c.id===t.id)&&a.set(c.id,!!c.locked);const s={name:e?"Lock All Unlocked Offsprings":"Unlock All Locked Offsprings",timestamp:Date.now(),oldValues:a,newValue:!0,undo:()=>{for(const[c,u]of s.oldValues.entries())M.getState().updateElementLockById(c,u)},redo:()=>{M.getState().updateElementLockByFoundationId(t.id,e)}};M.getState().addUndoable(s),M.getState().updateElementLockByFoundationId(t.id,e)};return h.jsxs(tn,{noPadding:!0,onClick:r,children:[O.t(i,o)," (",n,")"]})},eae=({foundation:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllElementsOnFoundationByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.foundationId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Foundation`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx(qm,{}),onOk:s})};return h.jsx(tn,{noPadding:!0,onClick:l,children:i})},uOn=({foundation:t})=>{const e=M.getState().set,n=Kt(),o=()=>{e(a=>{a.objectTypeToAdd=z.Polygon});const i=M.getState().addElement(t,new ae(t.cx,t.cy,t.lz),Po),r={name:"Add",timestamp:Date.now(),addedElement:i,undo:()=>{M.getState().removeElementById(r.addedElement.id,!1)},redo:()=>{e(a=>{a.elements.push(r.addedElement),a.selectedElement=r.addedElement})}};M.getState().addUndoable(r),e(a=>{a.objectTypeToAdd=z.None})};return h.jsx(tn,{onClick:o,children:O.t("foundationMenu.AddPolygon",n)})},dOn=({foundation:t})=>{var a;const[e,n]=m.useState((a=t==null?void 0:t.hvacSystem)==null?void 0:a.id),o=l=>{let s=l.target.value;s.trim().length===0&&(s=void 0),n(s)},i=(l,s)=>{M.getState().set(c=>{for(const u of c.elements)if(u.type===z.Foundation&&u.id===l){const d=u;d.hvacSystem?d.hvacSystem.id=s:d.hvacSystem={thermostatSetpoint:20,temperatureThreshold:3,id:s};break}})},r=l=>{var d;const s=(d=t.hvacSystem)==null?void 0:d.id,c=l&&l.trim().length>0?l:void 0,u={name:"Change HVAC ID",timestamp:Date.now(),oldValue:s,newValue:c,undo:()=>{i(t.id,u.oldValue)},redo:()=>{i(t.id,u.newValue)}};M.getState().addUndoable(u),i(t.id,c)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{style:{width:"40px",paddingLeft:"0px",textAlign:"left"},children:"ID:"}),h.jsx(ns,{style:{width:"180px"},value:e,onChange:o,onPressEnter:()=>r(e),onBlur:()=>r(e)})]})},fOn=({foundation:t})=>{var i;const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r){const c=s;c.hvacSystem?c.hvacSystem.thermostatSetpoint=a:c.hvacSystem={thermostatSetpoint:a,temperatureThreshold:3};break}})},o=r=>{var c;if(r===null)return;const a=((c=t.hvacSystem)==null?void 0:c.thermostatSetpoint)??20,l=r,s={name:"Change Thermostat Setpoint",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(t.id,s.oldValue)},redo:()=>{n(t.id,s.newValue)}};M.getState().addUndoable(s),n(t.id,l)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{style:{width:"160px"},children:O.t("word.ThermostatSetpoint",e)+":"}),h.jsx(Hn,{min:0,max:30,step:1,style:{width:60},precision:1,value:((i=t.hvacSystem)==null?void 0:i.thermostatSetpoint)??20,onChange:o})]})},hOn=({foundation:t})=>{var i;const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r){const c=s;c.hvacSystem?c.hvacSystem.temperatureThreshold=a:c.hvacSystem={thermostatSetpoint:20,temperatureThreshold:a};break}})},o=r=>{var c;if(r===null)return;const a=((c=t.hvacSystem)==null?void 0:c.temperatureThreshold)??3,l=r,s={name:"Change Temperature Tolerance Threshold",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(t.id,s.oldValue)},redo:()=>{n(t.id,s.newValue)}};M.getState().addUndoable(s),n(t.id,l)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{title:O.t("word.TemperatureToleranceThresholdExplanation",e),style:{width:"160px"},children:O.t("word.TemperatureToleranceThreshold",e)+":"}),h.jsx(Hn,{min:0,max:30,step:1,style:{width:60},precision:1,value:((i=t.hvacSystem)==null?void 0:i.temperatureThreshold)??3,onChange:o}),h.jsx(en,{style:{paddingLeft:"10px"},children:"°C"})]})},pOn=({foundation:t})=>{const e=Kt(),n=(t==null?void 0:t.solarStructure)??zn.None,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r&&!s.locked){s.solarStructure=a;break}})},i=r=>{const a=t.solarStructure,l=r.target.value,s={name:"Select Solar Structure for Selected Foundation",timestamp:Date.now(),oldValue:a,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{o(s.changedElementId,s.oldValue)},redo:()=>{o(s.changedElementId,s.newValue)}};M.getState().addUndoable(s),o(t.id,l)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:n,onChange:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:zn.None,children:O.t("word.None",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.FocusPipe,children:O.t("solarAbsorberPipeMenu.AbsorberPipeForFresnelReflectors",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.FocusTower,children:O.t("solarPowerTowerMenu.ReceiverTowerForHeliostats",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.UpdraftTower,children:O.t("solarUpdraftTowerMenu.SolarUpdraftTower",e)})]})})})},Dtt="/aladdin/assets/foundation_01_menu-DJ2ZRFYJ.png",Ett="/aladdin/assets/foundation_02_menu-D6HXceyz.png",ktt="/aladdin/assets/foundation_03_menu-BFLw0RU7.png",Ftt="/aladdin/assets/foundation_04_menu-DtGEusM9.png",Ltt="/aladdin/assets/foundation_05_menu-BGUU1Wal.png",Wtt="/aladdin/assets/foundation_06_menu-hg_Rf0EG.png",Ntt="/aladdin/assets/foundation_07_menu-BM9bFpzu.png",Utt=t=>{const[e,n]=m.useState((t==null?void 0:t.label)??"");return m.useEffect(()=>{t!=null&&t.label&&n(t.label)},[t==null?void 0:t.id]),{labelText:e,setLabelText:n}},Btt=t=>{const e=M(En),n=M(gwt);return()=>{if(t){const o={name:"Show Label for "+t.type,timestamp:Date.now(),checked:!t.showLabel,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!o.checked)},redo:()=>{n(t.id,o.checked)}};e(o),n(t.id,!t.showLabel)}}},jtt=(t,e)=>{const n=M(pwt),o=M(En);return()=>{if(t){const i=t.label,r={name:"Set Label for "+t.type,timestamp:Date.now(),oldValue:i,newValue:e,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};o(r),n(t.id,e)}}},gOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelFontSize=i;break}})};return i=>{if(t){const r=t.labelFontSize??20,a=i,l={name:"Set Label Font Size for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},mOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelSize=i;break}})};return i=>{if(t){const r=t.labelSize??.2,a=i,l={name:"Set Label Size for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},yOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelColor=i;break}})};return i=>{if(t){const r=t.labelColor??"white",a=i,l={name:"Set Label Color for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},AOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelHeight=i;break}})};return i=>{if(t){const r=t.labelHeight??t.lz/2+.2,a=i,l={name:"Set Label Height for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},co=t=>M(e=>{if(!e.selectedElement)return;const n=e.elements.find(o=>{var i;return o.id===((i=e.selectedElement)==null?void 0:i.id)});if(!n||!t||n.type===t)return n}),bZ=t=>{const[e,n]=m.useState(t);return[e,i=>{n(i.hex)}]},lo=({width:t,title:e,rejectedMessage:n,onApply:o,onClose:i,onClickOk:r,onClickCancel:a,children:l})=>{const s=M(oo),c=M(ca),{t:u}=jl(),d=Kt(),[f,p]=m.useState({left:0,top:0,bottom:0,right:0}),[g,y]=m.useState(!1),A=m.useRef(null),x=(S,w)=>{if(A.current){const{clientWidth:T,clientHeight:P}=window.document.documentElement,R=A.current.getBoundingClientRect();p({left:-R.left+w.x,right:T-(R.right-w.x),top:-R.top+w.y,bottom:P-((R==null?void 0:R.bottom)-w.y)})}},C=()=>{r?r():(o(),i(),s(0))},b=()=>{a?a():(i(),c())};m.useEffect(()=>{const S=w=>{w.key==="Enter"&&C()};return window.addEventListener("keydown",S),()=>window.removeEventListener("keydown",S)},[C]);const v=!!n&&n.length>0;return h.jsxs(_r,{width:t,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>y(!0),onMouseOut:()=>y(!1),children:[e,v&&h.jsx("span",{style:{color:"red",fontWeight:"bold"},children:n})]}),footer:[h.jsx(no,{onClick:o,children:u("word.Apply",d)},"Apply"),h.jsx(no,{onClick:b,children:u("word.Cancel",d)},"Cancel"),h.jsx(no,{type:"primary",onClick:C,children:u("word.OK",d)},"OK")],onCancel:i,maskClosable:!1,destroyOnClose:!1,modalRender:S=>h.jsx(Vr,{disabled:!g,bounds:f,onStart:(w,T)=>x(w,T),children:h.jsx("div",{ref:A,children:S})}),children:[h.jsx(Ove,{}),l,h.jsx(Ove,{})]})},wOn=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState((s==null?void 0:s.textureType)??Or.NoTexture),d=Kt(),{Option:f}=Yo,p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){T.textureType=S;break}})},g=v=>{e(S=>{for(const w of S.elements)w.type===z.Foundation&&!w.locked&&(w.textureType=v)})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&v!==S.textureType)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&v!==S.textureType)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0}return!1},A=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&v.has(T.id))if(S!==void 0)T.textureType=S;else{const P=v.get(T.id);P!==void 0&&(T.textureType=P)}})},x=v=>{if(s&&y(v)){switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)&&S.set(T.id,T.textureType??Or.NoTexture);const w={name:"Set Texture for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{A(w.oldValues)},redo:()=>{A(w.oldValues,w.newValue)}};i(w),A(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)T.type===z.Foundation&&S.set(T.id,T.textureType??Or.NoTexture);const w={name:"Set Texture for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())p(T,P)},redo:()=>{g(w.newValue)}};i(w),g(v),l(a+1);break}default:{const S=o(s.id),w=S?S.textureType:s.textureType,T={name:"Set Texture of Selected Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),p(s.id,v),l(a+1);break}}e(S=>{S.actionState.foundationTexture=v})}},C=()=>{t(!1)},b=()=>{x(c)};return h.jsx(lo,{width:500,title:O.t("word.Texture",d),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:u,children:[h.jsxs(f,{value:Or.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",d)]},Or.NoTexture),h.jsxs(f,{value:Or.Texture01,children:[h.jsx("img",{alt:Or.Texture01,src:Dtt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture01",d)]},Or.Texture01),h.jsxs(f,{value:Or.Texture02,children:[h.jsx("img",{alt:Or.Texture02,src:Ett,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture02",d)]},Or.Texture02),h.jsxs(f,{value:Or.Texture03,children:[h.jsx("img",{alt:Or.Texture03,src:ktt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture03",d)]},Or.Texture03),h.jsxs(f,{value:Or.Texture04,children:[h.jsx("img",{alt:Or.Texture04,src:Ftt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture04",d)]},Or.Texture04),h.jsxs(f,{value:Or.Texture05,children:[h.jsx("img",{alt:Or.Texture05,src:Ltt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture05",d)]},Or.Texture05),h.jsxs(f,{value:Or.Texture06,children:[h.jsx("img",{alt:Or.Texture06,src:Wtt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture06",d)]},Or.Texture06),h.jsxs(f,{value:Or.Texture07,children:[h.jsx("img",{alt:Or.Texture07,src:Ntt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("foundationMenu.Texture07",d)]},Or.Texture07)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})};var Hm={},HN={},vOn=typeof mc=="object"&&mc&&mc.Object===Object&&mc,Ytt=vOn,xOn=Ytt,bOn=typeof self=="object"&&self&&self.Object===Object&&self,SOn=xOn||bOn||Function("return this")(),Z2=SOn,TOn=Z2,POn=TOn.Symbol,eM=POn,uCe=eM,Ott=Object.prototype,COn=Ott.hasOwnProperty,ROn=Ott.toString,Wz=uCe?uCe.toStringTag:void 0;function HOn(t){var e=COn.call(t,Wz),n=t[Wz];try{t[Wz]=void 0;var o=!0}catch{}var i=ROn.call(t);return o&&(e?t[Wz]=n:delete t[Wz]),i}var MOn=HOn,IOn=Object.prototype,zOn=IOn.toString;function DOn(t){return zOn.call(t)}var EOn=DOn,dCe=eM,kOn=MOn,FOn=EOn,LOn="[object Null]",WOn="[object Undefined]",fCe=dCe?dCe.toStringTag:void 0;function NOn(t){return t==null?t===void 0?WOn:LOn:fCe&&fCe in Object(t)?kOn(t):FOn(t)}var yA=NOn,UOn=Array.isArray,mp=UOn;function BOn(t){return t!=null&&typeof t=="object"}var e5=BOn,jOn=yA,YOn=mp,OOn=e5,_On="[object String]";function VOn(t){return typeof t=="string"||!YOn(t)&&OOn(t)&&jOn(t)==_On}var _tt=VOn;const MN=kr(_tt);function GOn(t){return function(e,n,o){for(var i=-1,r=Object(e),a=o(e),l=a.length;l--;){var s=a[t?l:++i];if(n(r[s],s,r)===!1)break}return e}}var XOn=GOn,JOn=XOn,KOn=JOn(),qOn=KOn;function $On(t,e){for(var n=-1,o=Array(t);++n-1&&t%1==0&&t-1&&t%1==0&&t<=h_n}var r5e=p_n,g_n=yA,m_n=r5e,y_n=e5,A_n="[object Arguments]",w_n="[object Array]",v_n="[object Boolean]",x_n="[object Date]",b_n="[object Error]",S_n="[object Function]",T_n="[object Map]",P_n="[object Number]",C_n="[object Object]",R_n="[object RegExp]",H_n="[object Set]",M_n="[object String]",I_n="[object WeakMap]",z_n="[object ArrayBuffer]",D_n="[object DataView]",E_n="[object Float32Array]",k_n="[object Float64Array]",F_n="[object Int8Array]",L_n="[object Int16Array]",W_n="[object Int32Array]",N_n="[object Uint8Array]",U_n="[object Uint8ClampedArray]",B_n="[object Uint16Array]",j_n="[object Uint32Array]",sc={};sc[E_n]=sc[k_n]=sc[F_n]=sc[L_n]=sc[W_n]=sc[N_n]=sc[U_n]=sc[B_n]=sc[j_n]=!0;sc[A_n]=sc[w_n]=sc[z_n]=sc[v_n]=sc[D_n]=sc[x_n]=sc[b_n]=sc[S_n]=sc[T_n]=sc[P_n]=sc[C_n]=sc[R_n]=sc[H_n]=sc[M_n]=sc[I_n]=!1;function Y_n(t){return y_n(t)&&m_n(t.length)&&!!sc[g_n(t)]}var O_n=Y_n;function __n(t){return function(e){return t(e)}}var SZ=__n,EX={exports:{}};EX.exports;(function(t,e){var n=Ytt,o=e&&!e.nodeType&&e,i=o&&!0&&t&&!t.nodeType&&t,r=i&&i.exports===o,a=r&&n.process,l=function(){try{var s=i&&i.require&&i.require("util").types;return s||a&&a.binding&&a.binding("util")}catch{}}();t.exports=l})(EX,EX.exports);var a5e=EX.exports,V_n=O_n,G_n=SZ,pCe=a5e,gCe=pCe&&pCe.isTypedArray,X_n=gCe?G_n(gCe):V_n,Gtt=X_n,J_n=QOn,K_n=n5e,q_n=mp,$_n=o5e,Q_n=i5e,Z_n=Gtt,eVn=Object.prototype,tVn=eVn.hasOwnProperty;function nVn(t,e){var n=q_n(t),o=!n&&K_n(t),i=!n&&!o&&$_n(t),r=!n&&!o&&!i&&Z_n(t),a=n||o||i||r,l=a?J_n(t.length,String):[],s=l.length;for(var c in t)(e||tVn.call(t,c))&&!(a&&(c=="length"||i&&(c=="offset"||c=="parent")||r&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Q_n(c,s)))&&l.push(c);return l}var Xtt=nVn,oVn=Object.prototype;function iVn(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||oVn;return t===n}var l5e=iVn;function rVn(t,e){return function(n){return t(e(n))}}var Jtt=rVn,aVn=Jtt,lVn=aVn(Object.keys,Object),sVn=lVn,cVn=l5e,uVn=sVn,dVn=Object.prototype,fVn=dVn.hasOwnProperty;function hVn(t){if(!cVn(t))return uVn(t);var e=[];for(var n in Object(t))fVn.call(t,n)&&n!="constructor"&&e.push(n);return e}var pVn=hVn;function gVn(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var t5=gVn;const tM=kr(t5);var mVn=yA,yVn=t5,AVn="[object AsyncFunction]",wVn="[object Function]",vVn="[object GeneratorFunction]",xVn="[object Proxy]";function bVn(t){if(!yVn(t))return!1;var e=mVn(t);return e==wVn||e==vVn||e==AVn||e==xVn}var s5e=bVn;const Aa=kr(s5e);var SVn=s5e,TVn=r5e;function PVn(t){return t!=null&&TVn(t.length)&&!SVn(t)}var nM=PVn,CVn=Xtt,RVn=pVn,HVn=nM;function MVn(t){return HVn(t)?CVn(t):RVn(t)}var oM=MVn,IVn=qOn,zVn=oM;function DVn(t,e){return t&&IVn(t,e,zVn)}var c5e=DVn;function EVn(t){return t}var Vb=EVn,kVn=Vb;function FVn(t){return typeof t=="function"?t:kVn}var LVn=FVn,WVn=c5e,NVn=LVn;function UVn(t,e){return t&&WVn(t,NVn(e))}var u5e=UVn,BVn=Jtt,jVn=BVn(Object.getPrototypeOf,Object),d5e=jVn,YVn=yA,OVn=d5e,_Vn=e5,VVn="[object Object]",GVn=Function.prototype,XVn=Object.prototype,Ktt=GVn.toString,JVn=XVn.hasOwnProperty,KVn=Ktt.call(Object);function qVn(t){if(!_Vn(t)||YVn(t)!=VVn)return!1;var e=OVn(t);if(e===null)return!0;var n=JVn.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&Ktt.call(n)==KVn}var qtt=qVn;const $Vn=kr(qtt);function QVn(t,e){for(var n=-1,o=t==null?0:t.length,i=Array(o);++n-1}var pGn=hGn,gGn=PZ;function mGn(t,e){var n=this.__data__,o=gGn(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}var yGn=mGn,AGn=eGn,wGn=sGn,vGn=dGn,xGn=pGn,bGn=yGn;function iM(t){var e=-1,n=t==null?0:t.length;for(this.clear();++el))return!1;var c=r.get(t),u=r.get(e);if(c&&u)return c==e&&u==t;var d=-1,f=!0,p=n&zJn?new RJn:void 0;for(r.set(t,e),r.set(e,t);++d0&&arguments[0]!==void 0?arguments[0]:[],n=[];return(0,hQn.default)(e,function(o){Array.isArray(o)?t(o).map(function(i){return n.push(i)}):(0,dQn.default)(o)?(0,cQn.default)(o,function(i,r){i===!0&&n.push(r),n.push(r+"-"+i)}):(0,lQn.default)(o)&&n.push(o)}),n};HN.default=pQn;var IN={};function gQn(t,e){for(var n=-1,o=t==null?0:t.length;++n1&&arguments[1]!==void 0?arguments[1]:[],o=e.default&&(0,kto.default)(e.default)||{};return n.map(function(i){var r=e[i];return r&&(0,Dto.default)(r,function(a,l){o[l]||(o[l]={}),o[l]=Fto({},o[l],r[l])}),i}),o};IN.default=Lto;var zN={};Object.defineProperty(zN,"__esModule",{value:!0});zN.autoprefix=void 0;var Wto=u5e,KCe=Uto(Wto),Nto=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){Gto(i,o);function i(){var r,a,l,s;Vto(this,i);for(var c=arguments.length,u=Array(c),d=0;d1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){Qto(i,o);function i(){var r,a,l,s;$to(this,i);for(var c=arguments.length,u=Array(c),d=0;d1&&arguments[1]!==void 0?arguments[1]:!0;o[a]=l};return e===0&&i("first-child"),e===n-1&&i("last-child"),(e===0||e%2===0)&&i("even"),Math.abs(e%2)===1&&i("odd"),i("nth-child",e),o};R5e.default=eno;Object.defineProperty(Hm,"__esModule",{value:!0});Hm.ReactCSS=Hm.loop=Hm.handleActive=H5e=Hm.handleHover=Hm.hover=void 0;var tno=HN,nno=uM(tno),ono=IN,ino=uM(ono),rno=zN,ano=uM(rno),lno=DN,Cnt=uM(lno),sno=EN,cno=uM(sno),uno=R5e,dno=uM(uno);function uM(t){return t&&t.__esModule?t:{default:t}}Hm.hover=Cnt.default;var H5e=Hm.handleHover=Cnt.default;Hm.handleActive=cno.default;Hm.loop=dno.default;var fno=Hm.ReactCSS=function(e){for(var n=arguments.length,o=Array(n>1?n-1:0),i=1;il?f=1:f=Math.round(d*100/l)/100,n.a!==f)return{h:n.h,s:n.s,l:n.l,a:f,source:"rgb"}}else{var p=void 0;if(u<0?p=0:u>a?p=1:p=Math.round(u*100/a)/100,i!==p)return{h:n.h,s:n.s,l:n.l,a:p,source:"rgb"}}return null},aae={},pno=function(e,n,o,i){if(typeof document>"u"&&!i)return null;var r=i?new i:document.createElement("canvas");r.width=o*2,r.height=o*2;var a=r.getContext("2d");return a?(a.fillStyle=e,a.fillRect(0,0,r.width,r.height),a.fillStyle=n,a.fillRect(0,0,o,o),a.translate(o,o),a.fillRect(0,0,o,o),r.toDataURL()):null},gno=function(e,n,o,i){var r=e+"-"+n+"-"+o+(i?"-server":"");if(aae[r])return aae[r];var a=pno(e,n,o,i);return aae[r]=a,a},QCe=Object.assign||function(t){for(var e=1;e-1},zno=function(e){return Number(String(e).replace(/%/g,""))},Dno=1,al=function(t){Cno(e,t);function e(n){Tno(this,e);var o=Pno(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return o.handleBlur=function(){o.state.blurValue&&o.setState({value:o.state.blurValue,blurValue:null})},o.handleChange=function(i){o.setUpdatedValue(i.target.value,i)},o.handleKeyDown=function(i){var r=zno(i.target.value);if(!isNaN(r)&&Ino(i.keyCode)){var a=o.getArrowOffset(),l=i.keyCode===Rnt?r+a:r-a;o.setUpdatedValue(l,i)}},o.handleDrag=function(i){if(o.props.dragLabel){var r=Math.round(o.props.value+i.movementX);r>=0&&r<=o.props.dragMax&&o.props.onChange&&o.props.onChange(o.getValueObjectWithLabel(r),i)}},o.handleMouseDown=function(i){o.props.dragLabel&&(i.preventDefault(),o.handleDrag(i),window.addEventListener("mousemove",o.handleDrag),window.addEventListener("mouseup",o.handleMouseUp))},o.handleMouseUp=function(){o.unbindEventListeners()},o.unbindEventListeners=function(){window.removeEventListener("mousemove",o.handleDrag),window.removeEventListener("mouseup",o.handleMouseUp)},o.state={value:String(n.value).toUpperCase(),blurValue:String(n.value).toUpperCase()},o.inputId="rc-editable-input-"+Dno++,o}return bno(e,[{key:"componentDidUpdate",value:function(o,i){this.props.value!==this.state.value&&(o.value!==this.props.value||i.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(o){return Sno({},this.props.label,o)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||Rno}},{key:"setUpdatedValue",value:function(o,i){var r=this.props.label?this.getValueObjectWithLabel(o):o;this.props.onChange&&this.props.onChange(r,i),this.setState({value:o})}},{key:"render",value:function(){var o=this,i=Jr({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return Se.createElement("div",{style:i.wrap},Se.createElement("input",{id:this.inputId,style:i.input,ref:function(a){return o.input=a},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?Se.createElement("label",{htmlFor:this.inputId,style:i.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(m.PureComponent||m.Component),Eno=function(e,n,o,i){var r=i.clientWidth,a=i.clientHeight,l=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,s=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=l-(i.getBoundingClientRect().left+window.pageXOffset),u=s-(i.getBoundingClientRect().top+window.pageYOffset);if(n==="vertical"){var d=void 0;if(u<0)d=359;else if(u>a)d=0;else{var f=-(u*100/a)+100;d=360*f/100}if(o.h!==d)return{h:d,s:o.s,l:o.l,a:o.a,source:"hsl"}}else{var p=void 0;if(c<0)p=0;else if(c>r)p=359;else{var g=c*100/r;p=360*g/100}if(o.h!==p)return{h:p,s:o.s,l:o.l,a:o.a,source:"hsl"}}return null},kno=function(){function t(e,n){for(var o=0;o-1},Mno=function(e){return Number(String(e).replace(/%/g,""))},Ino=1,al=function(t){Tno(e,t);function e(n){bno(this,e);var o=Sno(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return o.handleBlur=function(){o.state.blurValue&&o.setState({value:o.state.blurValue,blurValue:null})},o.handleChange=function(i){o.setUpdatedValue(i.target.value,i)},o.handleKeyDown=function(i){var r=Mno(i.target.value);if(!isNaN(r)&&Hno(i.keyCode)){var a=o.getArrowOffset(),l=i.keyCode===Rnt?r+a:r-a;o.setUpdatedValue(l,i)}},o.handleDrag=function(i){if(o.props.dragLabel){var r=Math.round(o.props.value+i.movementX);r>=0&&r<=o.props.dragMax&&o.props.onChange&&o.props.onChange(o.getValueObjectWithLabel(r),i)}},o.handleMouseDown=function(i){o.props.dragLabel&&(i.preventDefault(),o.handleDrag(i),window.addEventListener("mousemove",o.handleDrag),window.addEventListener("mouseup",o.handleMouseUp))},o.handleMouseUp=function(){o.unbindEventListeners()},o.unbindEventListeners=function(){window.removeEventListener("mousemove",o.handleDrag),window.removeEventListener("mouseup",o.handleMouseUp)},o.state={value:String(n.value).toUpperCase(),blurValue:String(n.value).toUpperCase()},o.inputId="rc-editable-input-"+Ino++,o}return vno(e,[{key:"componentDidUpdate",value:function(o,i){this.props.value!==this.state.value&&(o.value!==this.props.value||i.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(o){return xno({},this.props.label,o)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||Pno}},{key:"setUpdatedValue",value:function(o,i){var r=this.props.label?this.getValueObjectWithLabel(o):o;this.props.onChange&&this.props.onChange(r,i),this.setState({value:o})}},{key:"render",value:function(){var o=this,i=Jr({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return Se.createElement("div",{style:i.wrap},Se.createElement("input",{id:this.inputId,style:i.input,ref:function(a){return o.input=a},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?Se.createElement("label",{htmlFor:this.inputId,style:i.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(m.PureComponent||m.Component),zno=function(e,n,o,i){var r=i.clientWidth,a=i.clientHeight,l=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,s=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=l-(i.getBoundingClientRect().left+window.pageXOffset),u=s-(i.getBoundingClientRect().top+window.pageYOffset);if(n==="vertical"){var d=void 0;if(u<0)d=359;else if(u>a)d=0;else{var f=-(u*100/a)+100;d=360*f/100}if(o.h!==d)return{h:d,s:o.s,l:o.l,a:o.a,source:"hsl"}}else{var p=void 0;if(c<0)p=0;else if(c>r)p=359;else{var g=c*100/r;p=360*g/100}if(o.h!==p)return{h:p,s:o.s,l:o.l,a:o.a,source:"hsl"}}return null},Dno=function(){function t(e,n){for(var o=0;o-1}function Ono(t,e){var n=this.__data__,o=EZ(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}function AA(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=qoo}function hM(t){return t!=null&&E5e(t.length)&&!I5e(t)}function $oo(t){return h7(t)&&hM(t)}function Qoo(){return!1}var Fnt=typeof pg=="object"&&pg&&!pg.nodeType&&pg,lRe=Fnt&&typeof ch=="object"&&ch&&!ch.nodeType&&ch,Zoo=lRe&&lRe.exports===Fnt,sRe=Zoo?n5.Buffer:void 0,eio=sRe?sRe.isBuffer:void 0,UX=eio||Qoo,tio="[object Object]",nio=Function.prototype,oio=Object.prototype,Lnt=nio.toString,iio=oio.hasOwnProperty,rio=Lnt.call(Object);function aio(t){if(!h7(t)||Xb(t)!=tio)return!1;var e=Ent(t);if(e===null)return!0;var n=iio.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&Lnt.call(n)==rio}var lio="[object Arguments]",sio="[object Array]",cio="[object Boolean]",uio="[object Date]",dio="[object Error]",fio="[object Function]",hio="[object Map]",pio="[object Number]",gio="[object Object]",mio="[object RegExp]",yio="[object Set]",Aio="[object String]",wio="[object WeakMap]",vio="[object ArrayBuffer]",xio="[object DataView]",bio="[object Float32Array]",Sio="[object Float64Array]",Tio="[object Int8Array]",Pio="[object Int16Array]",Cio="[object Int32Array]",Rio="[object Uint8Array]",Hio="[object Uint8ClampedArray]",Mio="[object Uint16Array]",Iio="[object Uint32Array]",cc={};cc[bio]=cc[Sio]=cc[Tio]=cc[Pio]=cc[Cio]=cc[Rio]=cc[Hio]=cc[Mio]=cc[Iio]=!0;cc[lio]=cc[sio]=cc[vio]=cc[cio]=cc[xio]=cc[uio]=cc[dio]=cc[fio]=cc[hio]=cc[pio]=cc[gio]=cc[mio]=cc[yio]=cc[Aio]=cc[wio]=!1;function zio(t){return h7(t)&&E5e(t.length)&&!!cc[Xb(t)]}function Dio(t){return function(e){return t(e)}}var Wnt=typeof pg=="object"&&pg&&!pg.nodeType&&pg,PE=Wnt&&typeof ch=="object"&&ch&&!ch.nodeType&&ch,Eio=PE&&PE.exports===Wnt,sae=Eio&&Hnt.process,cRe=function(){try{var t=PE&&PE.require&&PE.require("util").types;return t||sae&&sae.binding&&sae.binding("util")}catch{}}(),uRe=cRe&&cRe.isTypedArray,k5e=uRe?Dio(uRe):zio;function Dde(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var kio=Object.prototype,Fio=kio.hasOwnProperty;function Lio(t,e,n){var o=t[e];(!(Fio.call(t,e)&&kN(o,n))||n===void 0&&!(e in t))&&z5e(t,e,n)}function Wio(t,e,n,o){var i=!n;n||(n={});for(var r=-1,a=e.length;++r-1&&t%1==0&&t0){if(++e>=Zio)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var oro=nro(Qio);function iro(t,e){return oro(qio(t,e,FZ),t+"")}function rro(t,e,n){if(!$m(n))return!1;var o=typeof e;return(o=="number"?hM(n)&&F5e(e,n.length):o=="string"&&e in n)?kN(n[e],t):!1}function aro(t){return iro(function(e,n){var o=-1,i=n.length,r=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(r=t.length>3&&typeof r=="function"?(i--,r):void 0,a&&rro(n[0],n[1],a)&&(r=i<3?void 0:r,i=1),e=Object(e);++o=e||T<0||d&&P>=r}function x(){var w=cae();if(A(w))return C(w);l=setTimeout(x,y(w))}function C(w){return l=void 0,f&&o?p(w):(o=i=void 0,a)}function b(){l!==void 0&&clearTimeout(l),c=0,o=s=i=l=void 0}function v(){return l===void 0?a:C(cae())}function S(){var w=cae(),T=A(w);if(o=arguments,i=this,s=w,T){if(l===void 0)return g(s);if(d)return clearTimeout(l),l=setTimeout(x,e),p(s)}return l===void 0&&(l=setTimeout(x,e)),a}return S.cancel=b,S.flush=v,S}var wro="Expected a function";function vro(t,e,n){var o=!0,i=!0;if(typeof t!="function")throw new TypeError(wro);return $m(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),jnt(t,e,{leading:o,maxWait:e,trailing:i})}var xro=function(e,n,o){var i=o.getBoundingClientRect(),r=i.width,a=i.height,l=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,s=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=l-(o.getBoundingClientRect().left+window.pageXOffset),u=s-(o.getBoundingClientRect().top+window.pageYOffset);c<0?c=0:c>r&&(c=r),u<0?u=0:u>a&&(u=a);var d=c/r,f=1-u/a;return{h:n.h,s:d,v:f,a:n.a,source:"hsv"}},bro=function(){function t(e,n){for(var o=0;o-1}function jno(t,e){var n=this.__data__,o=EZ(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}function AA(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Joo}function hM(t){return t!=null&&E5e(t.length)&&!I5e(t)}function Koo(t){return h7(t)&&hM(t)}function qoo(){return!1}var Fnt=typeof gg=="object"&&gg&&!gg.nodeType&&gg,lRe=Fnt&&typeof ch=="object"&&ch&&!ch.nodeType&&ch,$oo=lRe&&lRe.exports===Fnt,sRe=$oo?n5.Buffer:void 0,Qoo=sRe?sRe.isBuffer:void 0,UX=Qoo||qoo,Zoo="[object Object]",eio=Function.prototype,tio=Object.prototype,Lnt=eio.toString,nio=tio.hasOwnProperty,oio=Lnt.call(Object);function iio(t){if(!h7(t)||Xb(t)!=Zoo)return!1;var e=Ent(t);if(e===null)return!0;var n=nio.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&Lnt.call(n)==oio}var rio="[object Arguments]",aio="[object Array]",lio="[object Boolean]",sio="[object Date]",cio="[object Error]",uio="[object Function]",dio="[object Map]",fio="[object Number]",hio="[object Object]",pio="[object RegExp]",gio="[object Set]",mio="[object String]",yio="[object WeakMap]",Aio="[object ArrayBuffer]",wio="[object DataView]",vio="[object Float32Array]",xio="[object Float64Array]",bio="[object Int8Array]",Sio="[object Int16Array]",Tio="[object Int32Array]",Pio="[object Uint8Array]",Cio="[object Uint8ClampedArray]",Rio="[object Uint16Array]",Hio="[object Uint32Array]",cc={};cc[vio]=cc[xio]=cc[bio]=cc[Sio]=cc[Tio]=cc[Pio]=cc[Cio]=cc[Rio]=cc[Hio]=!0;cc[rio]=cc[aio]=cc[Aio]=cc[lio]=cc[wio]=cc[sio]=cc[cio]=cc[uio]=cc[dio]=cc[fio]=cc[hio]=cc[pio]=cc[gio]=cc[mio]=cc[yio]=!1;function Mio(t){return h7(t)&&E5e(t.length)&&!!cc[Xb(t)]}function Iio(t){return function(e){return t(e)}}var Wnt=typeof gg=="object"&&gg&&!gg.nodeType&&gg,PE=Wnt&&typeof ch=="object"&&ch&&!ch.nodeType&&ch,zio=PE&&PE.exports===Wnt,sae=zio&&Hnt.process,cRe=function(){try{var t=PE&&PE.require&&PE.require("util").types;return t||sae&&sae.binding&&sae.binding("util")}catch{}}(),uRe=cRe&&cRe.isTypedArray,k5e=uRe?Iio(uRe):Mio;function Dde(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Dio=Object.prototype,Eio=Dio.hasOwnProperty;function kio(t,e,n){var o=t[e];(!(Eio.call(t,e)&&kN(o,n))||n===void 0&&!(e in t))&&z5e(t,e,n)}function Fio(t,e,n,o){var i=!n;n||(n={});for(var r=-1,a=e.length;++r-1&&t%1==0&&t0){if(++e>=$io)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var tro=ero(qio);function nro(t,e){return tro(Jio(t,e,FZ),t+"")}function oro(t,e,n){if(!$m(n))return!1;var o=typeof e;return(o=="number"?hM(n)&&F5e(e,n.length):o=="string"&&e in n)?kN(n[e],t):!1}function iro(t){return nro(function(e,n){var o=-1,i=n.length,r=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(r=t.length>3&&typeof r=="function"?(i--,r):void 0,a&&oro(n[0],n[1],a)&&(r=i<3?void 0:r,i=1),e=Object(e);++o=e||T<0||d&&P>=r}function x(){var w=cae();if(A(w))return C(w);l=setTimeout(x,y(w))}function C(w){return l=void 0,f&&o?p(w):(o=i=void 0,a)}function b(){l!==void 0&&clearTimeout(l),c=0,o=s=i=l=void 0}function v(){return l===void 0?a:C(cae())}function S(){var w=cae(),T=A(w);if(o=arguments,i=this,s=w,T){if(l===void 0)return g(s);if(d)return clearTimeout(l),l=setTimeout(x,e),p(s)}return l===void 0&&(l=setTimeout(x,e)),a}return S.cancel=b,S.flush=v,S}var yro="Expected a function";function Aro(t,e,n){var o=!0,i=!0;if(typeof t!="function")throw new TypeError(yro);return $m(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),jnt(t,e,{leading:o,maxWait:e,trailing:i})}var wro=function(e,n,o){var i=o.getBoundingClientRect(),r=i.width,a=i.height,l=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,s=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=l-(o.getBoundingClientRect().left+window.pageXOffset),u=s-(o.getBoundingClientRect().top+window.pageYOffset);c<0?c=0:c>r&&(c=r),u<0?u=0:u>a&&(u=a);var d=c/r,f=1-u/a;return{h:n.h,s:d,v:f,a:n.a,source:"hsv"}},vro=function(){function t(e,n){for(var o=0;o=0,r=!n&&i&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return r?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(o=this.toRgbString()),e==="prgb"&&(o=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(o=this.toHexString()),e==="hex3"&&(o=this.toHexString(!0)),e==="hex4"&&(o=this.toHex8String(!0)),e==="hex8"&&(o=this.toHex8String()),e==="name"&&(o=this.toName()),e==="hsl"&&(o=this.toHslString()),e==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},clone:function(){return er(this.toString())},_applyModification:function(e,n){var o=e.apply(null,[this].concat([].slice.call(n)));return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this},lighten:function(){return this._applyModification(Vro,arguments)},brighten:function(){return this._applyModification(Gro,arguments)},darken:function(){return this._applyModification(Xro,arguments)},desaturate:function(){return this._applyModification(Yro,arguments)},saturate:function(){return this._applyModification(Oro,arguments)},greyscale:function(){return this._applyModification(_ro,arguments)},spin:function(){return this._applyModification(Jro,arguments)},_applyCombination:function(e,n){return e.apply(null,[this].concat([].slice.call(n)))},analogous:function(){return this._applyCombination($ro,arguments)},complement:function(){return this._applyCombination(Kro,arguments)},monochromatic:function(){return this._applyCombination(Qro,arguments)},splitcomplement:function(){return this._applyCombination(qro,arguments)},triad:function(){return this._applyCombination(ARe,[3])},tetrad:function(){return this._applyCombination(ARe,[4])}};er.fromRatio=function(t,e){if(BX(t)=="object"){var n={};for(var o in t)t.hasOwnProperty(o)&&(o==="a"?n[o]=t[o]:n[o]=MD(t[o]));t=n}return er(t,e)};function Wro(t){var e={r:0,g:0,b:0},n=1,o=null,i=null,r=null,a=!1,l=!1;return typeof t=="string"&&(t=oao(t)),BX(t)=="object"&&(e6(t.r)&&e6(t.g)&&e6(t.b)?(e=Nro(t.r,t.g,t.b),a=!0,l=String(t.r).substr(-1)==="%"?"prgb":"rgb"):e6(t.h)&&e6(t.s)&&e6(t.v)?(o=MD(t.s),i=MD(t.v),e=Bro(t.h,o,i),a=!0,l="hsv"):e6(t.h)&&e6(t.s)&&e6(t.l)&&(o=MD(t.s),r=MD(t.l),e=Uro(t.h,o,r),a=!0,l="hsl"),t.hasOwnProperty("a")&&(n=t.a)),n=Ont(n),{ok:a,format:t.format||l,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:n}}function Nro(t,e,n){return{r:Wc(t,255)*255,g:Wc(e,255)*255,b:Wc(n,255)*255}}function pRe(t,e,n){t=Wc(t,255),e=Wc(e,255),n=Wc(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r,a,l=(o+i)/2;if(o==i)r=a=0;else{var s=o-i;switch(a=l>.5?s/(2-o-i):s/(o+i),o){case t:r=(e-n)/s+(e1&&(d-=1),d<1/6?c+(u-c)*6*d:d<1/2?u:d<2/3?c+(u-c)*(2/3-d)*6:c}if(e===0)o=i=r=n;else{var l=n<.5?n*(1+e):n+e-n*e,s=2*n-l;o=a(s,l,t+1/3),i=a(s,l,t),r=a(s,l,t-1/3)}return{r:o*255,g:i*255,b:r*255}}function gRe(t,e,n){t=Wc(t,255),e=Wc(e,255),n=Wc(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r,a,l=o,s=o-i;if(a=o===0?0:s/o,o==i)r=0;else{switch(o){case t:r=(e-n)/s+(e>1)+720)%360;--e;)o.h=(o.h+i)%360,r.push(er(o));return r}function Qro(t,e){e=e||6;for(var n=er(t).toHsv(),o=n.h,i=n.s,r=n.v,a=[],l=1/e;e--;)a.push(er({h:o,s:i,v:r})),r=(r+l)%1;return a}er.mix=function(t,e,n){n=n===0?0:n||50;var o=er(t).toRgb(),i=er(e).toRgb(),r=n/100,a={r:(i.r-o.r)*r+o.r,g:(i.g-o.g)*r+o.g,b:(i.b-o.b)*r+o.b,a:(i.a-o.a)*r+o.a};return er(a)};er.readability=function(t,e){var n=er(t),o=er(e);return(Math.max(n.getLuminance(),o.getLuminance())+.05)/(Math.min(n.getLuminance(),o.getLuminance())+.05)};er.isReadable=function(t,e,n){var o=er.readability(t,e),i,r;switch(r=!1,i=iao(n),i.level+i.size){case"AAsmall":case"AAAlarge":r=o>=4.5;break;case"AAlarge":r=o>=3;break;case"AAAsmall":r=o>=7;break}return r};er.mostReadable=function(t,e,n){var o=null,i=0,r,a,l,s;n=n||{},a=n.includeFallbackColors,l=n.level,s=n.size;for(var c=0;ci&&(i=r,o=er(e[c]));return er.isReadable(t,o,{level:l,size:s})||!a?o:(n.includeFallbackColors=!1,er.mostReadable(t,["#fff","#000"],n))};var Ede=er.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Zro=er.hexNames=eao(Ede);function eao(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}function Ont(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function Wc(t,e){tao(t)&&(t="100%");var n=nao(t);return t=Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function NZ(t){return Math.min(1,Math.max(0,t))}function O1(t){return parseInt(t,16)}function tao(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function nao(t){return typeof t=="string"&&t.indexOf("%")!=-1}function A2(t){return t.length==1?"0"+t:""+t}function MD(t){return t<=1&&(t=t*100+"%"),t}function _nt(t){return Math.round(parseFloat(t)*255).toString(16)}function wRe(t){return O1(t)/255}var Ky=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",n="(?:"+e+")|(?:"+t+")",o="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?",i="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?";return{CSS_UNIT:new RegExp(n),rgb:new RegExp("rgb"+o),rgba:new RegExp("rgba"+i),hsl:new RegExp("hsl"+o),hsla:new RegExp("hsla"+i),hsv:new RegExp("hsv"+o),hsva:new RegExp("hsva"+i),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function e6(t){return!!Ky.CSS_UNIT.exec(t)}function oao(t){t=t.replace(Fro,"").replace(Lro,"").toLowerCase();var e=!1;if(Ede[t])t=Ede[t],e=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n;return(n=Ky.rgb.exec(t))?{r:n[1],g:n[2],b:n[3]}:(n=Ky.rgba.exec(t))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Ky.hsl.exec(t))?{h:n[1],s:n[2],l:n[3]}:(n=Ky.hsla.exec(t))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Ky.hsv.exec(t))?{h:n[1],s:n[2],v:n[3]}:(n=Ky.hsva.exec(t))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Ky.hex8.exec(t))?{r:O1(n[1]),g:O1(n[2]),b:O1(n[3]),a:wRe(n[4]),format:e?"name":"hex8"}:(n=Ky.hex6.exec(t))?{r:O1(n[1]),g:O1(n[2]),b:O1(n[3]),format:e?"name":"hex"}:(n=Ky.hex4.exec(t))?{r:O1(n[1]+""+n[1]),g:O1(n[2]+""+n[2]),b:O1(n[3]+""+n[3]),a:wRe(n[4]+""+n[4]),format:e?"name":"hex8"}:(n=Ky.hex3.exec(t))?{r:O1(n[1]+""+n[1]),g:O1(n[2]+""+n[2]),b:O1(n[3]+""+n[3]),format:e?"name":"hex"}:!1}function iao(t){var e,n;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),n=(t.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),n!=="small"&&n!=="large"&&(n="small"),{level:e,size:n}}var vRe=function(e){var n=["r","g","b","a","h","s","l","v"],o=0,i=0;return kro(n,function(r){if(e[r]&&(o+=1,isNaN(e[r])||(i+=1),r==="s"||r==="l")){var a=/^\d+%$/;a.test(e[r])&&(i+=1)}}),o===i?e:!1},ID=function(e,n){var o=e.hex?er(e.hex):er(e),i=o.toHsl(),r=o.toHsv(),a=o.toRgb(),l=o.toHex();i.s===0&&(i.h=n||0,r.h=n||0);var s=l==="000000"&&a.a===0;return{hsl:i,hex:s?"transparent":"#"+l,rgb:a,hsv:r,oldHue:e.h||n||i.h,source:e.source}},V7=function(e){if(e==="transparent")return!0;var n=String(e).charAt(0)==="#"?1:0;return e.length!==4+n&&e.length<7+n&&er(e).isValid()},W5e=function(e){if(!e)return"#fff";var n=ID(e);if(n.hex==="transparent")return"rgba(0,0,0,0.4)";var o=(n.rgb.r*299+n.rgb.g*587+n.rgb.b*114)/1e3;return o>=128?"#000":"#fff"},uae=function(e,n){var o=e.replace("°","");return er(n+" ("+o+")")._ok},Uz=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){fao(i,o);function i(){var r,a,l,s;dao(this,i);for(var c=arguments.length,u=Array(c),d=0;dl))return!1;var c=r.get(t),u=r.get(e);if(c&&u)return c==e&&u==t;var d=-1,f=!0,p=n&Tao?new jX:void 0;for(r.set(t,e),r.set(e,t);++d=0||Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o]);return n}var TO=24,Blo=eot.default=function(t){var e=t.fill,n=e===void 0?"currentColor":e,o=t.width,i=o===void 0?TO:o,r=t.height,a=r===void 0?TO:r,l=t.style,s=l===void 0?{}:l,c=Ulo(t,["fill","width","height","style"]);return NRe.default.createElement("svg",WRe({viewBox:"0 0 "+TO+" "+TO,style:WRe({fill:n,width:i,height:a},s)},c),NRe.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))},jlo=function(){function t(e,n){for(var o=0;o1&&(i.a=1),o.props.onChange({h:o.props.hsl.h,s:o.props.hsl.s,l:o.props.hsl.l,a:Math.round(i.a*100)/100,source:"rgb"},r)):(i.h||i.s||i.l)&&(typeof i.s=="string"&&i.s.includes("%")&&(i.s=i.s.replace("%","")),typeof i.l=="string"&&i.l.includes("%")&&(i.l=i.l.replace("%","")),i.s==1?i.s=.01:i.l==1&&(i.l=.01),o.props.onChange({h:i.h||o.props.hsl.h,s:Number(LRe(i.s)?o.props.hsl.s:i.s),l:Number(LRe(i.l)?o.props.hsl.l:i.l),source:"hsl"},r))},o.showHighlight=function(i){i.currentTarget.style.background="#eee"},o.hideHighlight=function(i){i.currentTarget.style.background="transparent"},n.hsl.a!==1&&n.view==="hex"?o.state={view:"rgb"}:o.state={view:n.view},o}return jlo(e,[{key:"render",value:function(){var o=this,i=Jr({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),r=void 0;return this.state.view==="hex"?r=Se.createElement("div",{style:i.fields,className:"flexbox-fix"},Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?r=Se.createElement("div",{style:i.fields,className:"flexbox-fix"},Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),Se.createElement("div",{style:i.alpha},Se.createElement(al,{style:{input:i.input,label:i.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(r=Se.createElement("div",{style:i.fields,className:"flexbox-fix"},Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),Se.createElement("div",{style:i.alpha},Se.createElement(al,{style:{input:i.input,label:i.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),Se.createElement("div",{style:i.wrap,className:"flexbox-fix"},r,Se.createElement("div",{style:i.toggle},Se.createElement("div",{style:i.icon,onClick:this.toggleViews,ref:function(l){return o.icon=l}},Se.createElement(Blo,{style:i.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.hsl.a!==1&&i.view==="hex"?{view:"rgb"}:null}}]),e}(Se.Component);tot.defaultProps={view:"hex"};var URe=function(){var e=Jr({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return Se.createElement("div",{style:e.picker})},Vlo=function(){var e=Jr({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return Se.createElement("div",{style:e.picker})},O5e=function(e){var n=e.width,o=e.onChange,i=e.disableAlpha,r=e.rgb,a=e.hsl,l=e.hsv,s=e.hex,c=e.renderers,u=e.styles,d=u===void 0?{}:u,f=e.className,p=f===void 0?"":f,g=e.defaultView,y=Jr(s1({default:{picker:{width:n,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+r.r+", "+r.g+", "+r.b+", "+r.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},d),{disableAlpha:i});return Se.createElement("div",{style:y.picker,className:"chrome-picker "+p},Se.createElement("div",{style:y.saturation},Se.createElement(WZ,{style:y.Saturation,hsl:a,hsv:l,pointer:Vlo,onChange:o})),Se.createElement("div",{style:y.body},Se.createElement("div",{style:y.controls,className:"flexbox-fix"},Se.createElement("div",{style:y.color},Se.createElement("div",{style:y.swatch},Se.createElement("div",{style:y.active}),Se.createElement(dM,{renderers:c}))),Se.createElement("div",{style:y.toggles},Se.createElement("div",{style:y.hue},Se.createElement(fM,{style:y.Hue,hsl:a,pointer:URe,onChange:o})),Se.createElement("div",{style:y.alpha},Se.createElement(M5e,{style:y.Alpha,rgb:r,hsl:a,pointer:URe,renderers:c,onChange:o})))),Se.createElement(tot,{rgb:r,hsl:a,hex:s,view:g,onChange:o,disableAlpha:i})))};O5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),disableAlpha:fo.bool,styles:fo.object,defaultView:fo.oneOf(["hex","rgb","hsl"])};O5e.defaultProps={width:225,disableAlpha:!1,styles:{}};c1(O5e);var Glo=function(e){var n=e.color,o=e.onClick,i=o===void 0?function(){}:o,r=e.onSwatchHover,a=e.active,l=Jr({default:{color:{background:n,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:W5e(n),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:a,"color-#FFFFFF":n==="#FFFFFF",transparent:n==="transparent"});return Se.createElement(qb,{style:l.color,color:n,onClick:i,onHover:r,focusStyle:{boxShadow:"0 0 4px "+n}},Se.createElement("div",{style:l.dot}))},Xlo=function(e){var n=e.hex,o=e.rgb,i=e.onChange,r=Jr({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:n},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),a=function(s,c){s.r||s.g||s.b?i({r:s.r||o.r,g:s.g||o.g,b:s.b||o.b,source:"rgb"},c):i({hex:s.hex,source:"hex"},c)};return Se.createElement("div",{style:r.fields,className:"flexbox-fix"},Se.createElement("div",{style:r.active}),Se.createElement(al,{style:{wrap:r.HEXwrap,input:r.HEXinput,label:r.HEXlabel},label:"hex",value:n,onChange:a}),Se.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"r",value:o.r,onChange:a}),Se.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"g",value:o.g,onChange:a}),Se.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"b",value:o.b,onChange:a}))},_5e=function(e){var n=e.onChange,o=e.onSwatchHover,i=e.colors,r=e.hex,a=e.rgb,l=e.styles,s=l===void 0?{}:l,c=e.className,u=c===void 0?"":c,d=Jr(s1({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},s)),f=function(g,y){g.hex?V7(g.hex)&&n({hex:g.hex,source:"hex"},y):n(g,y)};return Se.createElement(FN,{style:d.Compact,styles:s},Se.createElement("div",{style:d.compact,className:"compact-picker "+u},Se.createElement("div",null,$b(i,function(p){return Se.createElement(Glo,{key:p,color:p,active:p.toLowerCase()===r,onClick:f,onSwatchHover:o})}),Se.createElement("div",{style:d.clear})),Se.createElement(Xlo,{hex:r,rgb:a,onChange:f})))};_5e.propTypes={colors:fo.arrayOf(fo.string),styles:fo.object};_5e.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};const Cf=c1(_5e);var Jlo=function(e){var n=e.hover,o=e.color,i=e.onClick,r=e.onSwatchHover,a={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},l=Jr({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:a}},{hover:n});return Se.createElement("div",{style:l.swatch},Se.createElement(qb,{color:o,onClick:i,onHover:r,focusStyle:a}))};const Klo=H5e(Jlo);var V5e=function(e){var n=e.width,o=e.colors,i=e.onChange,r=e.onSwatchHover,a=e.triangle,l=e.styles,s=l===void 0?{}:l,c=e.className,u=c===void 0?"":c,d=Jr(s1({default:{card:{width:n,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},s),{"hide-triangle":a==="hide","top-left-triangle":a==="top-left","top-right-triangle":a==="top-right","bottom-left-triangle":a==="bottom-left","bottom-right-triangle":a==="bottom-right"}),f=function(g,y){return i({hex:g,source:"hex"},y)};return Se.createElement("div",{style:d.card,className:"github-picker "+u},Se.createElement("div",{style:d.triangleShadow}),Se.createElement("div",{style:d.triangle}),$b(o,function(p){return Se.createElement(Klo,{color:p,key:p,onClick:f,onSwatchHover:r})}))};V5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),colors:fo.arrayOf(fo.string),triangle:fo.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:fo.object};V5e.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};c1(V5e);var qlo=function(e){var n=e.direction,o=Jr({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:n==="vertical"});return Se.createElement("div",{style:o.picker})},$lo=Object.assign||function(t){for(var e=1;e.5});return Se.createElement("div",{style:o.picker})},tso=function(){var e=Jr({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return Se.createElement("div",{style:e.pointer},Se.createElement("div",{style:e.left},Se.createElement("div",{style:e.leftInside})),Se.createElement("div",{style:e.right},Se.createElement("div",{style:e.rightInside})))},BRe=function(e){var n=e.onClick,o=e.label,i=e.children,r=e.active,a=Jr({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:r});return Se.createElement("div",{style:a.button,onClick:n},o||i)},nso=function(e){var n=e.rgb,o=e.currentColor,i=Jr({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+n.r+","+n.g+", "+n.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:o,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return Se.createElement("div",null,Se.createElement("div",{style:i.label},"new"),Se.createElement("div",{style:i.swatches},Se.createElement("div",{style:i.new}),Se.createElement("div",{style:i.current})),Se.createElement("div",{style:i.label},"current"))},oso=function(){function t(e,n){for(var o=0;o100&&(u.a=100),u.a/=100,n({h:i.h,s:i.s,l:i.l,a:u.a,source:"rgb"},d))};return Se.createElement("div",{style:l.fields,className:"flexbox-fix"},Se.createElement("div",{style:l.double},Se.createElement(al,{style:{input:l.input,label:l.label},label:"hex",value:r.replace("#",""),onChange:s})),Se.createElement("div",{style:l.single},Se.createElement(al,{style:{input:l.input,label:l.label},label:"r",value:o.r,onChange:s,dragLabel:"true",dragMax:"255"})),Se.createElement("div",{style:l.single},Se.createElement(al,{style:{input:l.input,label:l.label},label:"g",value:o.g,onChange:s,dragLabel:"true",dragMax:"255"})),Se.createElement("div",{style:l.single},Se.createElement(al,{style:{input:l.input,label:l.label},label:"b",value:o.b,onChange:s,dragLabel:"true",dragMax:"255"})),Se.createElement("div",{style:l.alpha},Se.createElement(al,{style:{input:l.input,label:l.label},label:"a",value:Math.round(o.a*100),onChange:s,dragLabel:"true",dragMax:"100"})))},sso=Object.assign||function(t){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o]);return n}var PO=24,gso=oot.default=function(t){var e=t.fill,n=e===void 0?"currentColor":e,o=t.width,i=o===void 0?PO:o,r=t.height,a=r===void 0?PO:r,l=t.style,s=l===void 0?{}:l,c=pso(t,["fill","width","height","style"]);return YRe.default.createElement("svg",jRe({viewBox:"0 0 "+PO+" "+PO,style:jRe({fill:n,width:i,height:a},s)},c),YRe.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},mso=function(e){var n=e.color,o=e.onClick,i=o===void 0?function(){}:o,r=e.onSwatchHover,a=e.first,l=e.last,s=e.active,c=Jr({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:n,marginBottom:"1px"},check:{color:W5e(n),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:a,last:l,active:s,"color-#FFFFFF":n==="#FFFFFF",transparent:n==="transparent"});return Se.createElement(qb,{color:n,style:c.color,onClick:i,onHover:r,focusStyle:{boxShadow:"0 0 4px "+n}},Se.createElement("div",{style:c.check},Se.createElement(gso,null)))},yso=function(e){var n=e.onClick,o=e.onSwatchHover,i=e.group,r=e.active,a=Jr({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return Se.createElement("div",{style:a.group},$b(i,function(l,s){return Se.createElement(mso,{key:l,color:l,active:l.toLowerCase()===r,first:s===0,last:s===i.length-1,onClick:n,onSwatchHover:o})}))},q5e=function(e){var n=e.width,o=e.height,i=e.onChange,r=e.onSwatchHover,a=e.colors,l=e.hex,s=e.styles,c=s===void 0?{}:s,u=e.className,d=u===void 0?"":u,f=Jr(s1({default:{picker:{width:n,height:o},overflow:{height:o,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},c)),p=function(y,A){return i({hex:y,source:"hex"},A)};return Se.createElement("div",{style:f.picker,className:"swatches-picker "+d},Se.createElement(FN,null,Se.createElement("div",{style:f.overflow},Se.createElement("div",{style:f.body},$b(a,function(g){return Se.createElement(yso,{key:g.toString(),group:g,active:l,onClick:p,onSwatchHover:r})}),Se.createElement("div",{style:f.clear})))))};q5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),height:fo.oneOfType([fo.string,fo.number]),colors:fo.arrayOf(fo.arrayOf(fo.string)),styles:fo.object};q5e.defaultProps={width:320,height:240,colors:[[rP[900],rP[700],rP[500],rP[300],rP[100]],[aP[900],aP[700],aP[500],aP[300],aP[100]],[lP[900],lP[700],lP[500],lP[300],lP[100]],[sP[900],sP[700],sP[500],sP[300],sP[100]],[cP[900],cP[700],cP[500],cP[300],cP[100]],[uP[900],uP[700],uP[500],uP[300],uP[100]],[dP[900],dP[700],dP[500],dP[300],dP[100]],[fP[900],fP[700],fP[500],fP[300],fP[100]],[hP[900],hP[700],hP[500],hP[300],hP[100]],["#194D33",zD[700],zD[500],zD[300],zD[100]],[pP[900],pP[700],pP[500],pP[300],pP[100]],[gP[900],gP[700],gP[500],gP[300],gP[100]],[mP[900],mP[700],mP[500],mP[300],mP[100]],[yP[900],yP[700],yP[500],yP[300],yP[100]],[AP[900],AP[700],AP[500],AP[300],AP[100]],[wP[900],wP[700],wP[500],wP[300],wP[100]],[vP[900],vP[700],vP[500],vP[300],vP[100]],[xP[900],xP[700],xP[500],xP[300],xP[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};c1(q5e);var $5e=function(e){var n=e.onChange,o=e.onSwatchHover,i=e.hex,r=e.colors,a=e.width,l=e.triangle,s=e.styles,c=s===void 0?{}:s,u=e.className,d=u===void 0?"":u,f=Jr(s1({default:{card:{width:a,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},c),{"hide-triangle":l==="hide","top-left-triangle":l==="top-left","top-right-triangle":l==="top-right"}),p=function(y,A){V7(y)&&n({hex:y,source:"hex"},A)};return Se.createElement("div",{style:f.card,className:"twitter-picker "+d},Se.createElement("div",{style:f.triangleShadow}),Se.createElement("div",{style:f.triangle}),Se.createElement("div",{style:f.body},$b(r,function(g,y){return Se.createElement(qb,{key:y,color:g,hex:g,style:f.swatch,onClick:p,onHover:o,focusStyle:{boxShadow:"0 0 4px "+g}})}),Se.createElement("div",{style:f.hash},"#"),Se.createElement(al,{label:null,style:{input:f.input},value:i.replace("#",""),onChange:p}),Se.createElement("div",{style:f.clear})))};$5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),triangle:fo.oneOf(["hide","top-left","top-right"]),colors:fo.arrayOf(fo.string),styles:fo.object};$5e.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};c1($5e);var Q5e=function(e){var n=Jr({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return Se.createElement("div",{style:n.picker})};Q5e.propTypes={hsl:fo.shape({h:fo.number,s:fo.number,l:fo.number,a:fo.number})};Q5e.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var Z5e=function(e){var n=Jr({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return Se.createElement("div",{style:n.picker})};Z5e.propTypes={hsl:fo.shape({h:fo.number,s:fo.number,l:fo.number,a:fo.number})};Z5e.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var Aso=function(e){var n=e.onChange,o=e.rgb,i=e.hsl,r=e.hex,a=e.hsv,l=function(p,g){if(p.hex)V7(p.hex)&&n({hex:p.hex,source:"hex"},g);else if(p.rgb){var y=p.rgb.split(",");uae(p.rgb,"rgb")&&n({r:y[0],g:y[1],b:y[2],a:1,source:"rgb"},g)}else if(p.hsv){var A=p.hsv.split(",");uae(p.hsv,"hsv")&&(A[2]=A[2].replace("%",""),A[1]=A[1].replace("%",""),A[0]=A[0].replace("°",""),A[1]==1?A[1]=.01:A[2]==1&&(A[2]=.01),n({h:Number(A[0]),s:Number(A[1]),v:Number(A[2]),source:"hsv"},g))}else if(p.hsl){var x=p.hsl.split(",");uae(p.hsl,"hsl")&&(x[2]=x[2].replace("%",""),x[1]=x[1].replace("%",""),x[0]=x[0].replace("°",""),d[1]==1?d[1]=.01:d[2]==1&&(d[2]=.01),n({h:Number(x[0]),s:Number(x[1]),v:Number(x[2]),source:"hsl"},g))}},s=Jr({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),c=o.r+", "+o.g+", "+o.b,u=Math.round(i.h)+"°, "+Math.round(i.s*100)+"%, "+Math.round(i.l*100)+"%",d=Math.round(a.h)+"°, "+Math.round(a.s*100)+"%, "+Math.round(a.v*100)+"%";return Se.createElement("div",{style:s.wrap,className:"flexbox-fix"},Se.createElement("div",{style:s.fields},Se.createElement("div",{style:s.double},Se.createElement(al,{style:{input:s.input,label:s.label},label:"hex",value:r,onChange:l})),Se.createElement("div",{style:s.column},Se.createElement("div",{style:s.single},Se.createElement(al,{style:{input:s.input2,label:s.label2},label:"rgb",value:c,onChange:l})),Se.createElement("div",{style:s.single},Se.createElement(al,{style:{input:s.input2,label:s.label2},label:"hsv",value:d,onChange:l})),Se.createElement("div",{style:s.single},Se.createElement(al,{style:{input:s.input2,label:s.label2},label:"hsl",value:u,onChange:l})))))},e9e=function(e){var n=e.width,o=e.onChange,i=e.rgb,r=e.hsl,a=e.hsv,l=e.hex,s=e.header,c=e.styles,u=c===void 0?{}:c,d=e.className,f=d===void 0?"":d,p=Jr(s1({default:{picker:{width:n,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+i.r+", "+i.g+", "+i.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},u));return Se.createElement("div",{style:p.picker,className:"google-picker "+f},Se.createElement("div",{style:p.head},s),Se.createElement("div",{style:p.swatch}),Se.createElement("div",{style:p.saturation},Se.createElement(WZ,{hsl:r,hsv:a,pointer:Q5e,onChange:o})),Se.createElement("div",{style:p.body},Se.createElement("div",{style:p.controls,className:"flexbox-fix"},Se.createElement("div",{style:p.hue},Se.createElement(fM,{style:p.Hue,hsl:r,radius:"4px",pointer:Z5e,onChange:o}))),Se.createElement(Aso,{rgb:i,hsl:r,hex:l,hsv:a,onChange:o})))};e9e.propTypes={width:fo.oneOfType([fo.string,fo.number]),styles:fo.object,header:fo.string};e9e.defaultProps={width:652,styles:{},header:"Color picker"};c1(e9e);const wso=({setDialogVisible:t})=>{const e=M(dn),n=M(ZBe),o=M(jn),i=M(eje),r=M(En),a=M(Js),l=M(oo),s=co(z.Foundation),[c,u]=m.useState((s==null?void 0:s.color)??"#808080"),d=Kt(),f=x=>{switch(a){case ue.AllSelectedObjectsOfThisType:{for(const C of M.getState().elements)if(C.type===z.Foundation&&!C.locked&&M.getState().selectedElementIdSet.has(C.id)&&x!==C.color)return!0;break}case ue.AllObjectsOfThisType:for(const C of M.getState().elements)if(C.type===z.Foundation&&!C.locked&&x!==C.color)return!0;break;default:if(x!==(s==null?void 0:s.color))return!0}return!1},p=(x,C)=>{M.getState().set(b=>{for(const v of b.elements)if(v.type===z.Foundation&&x.has(v.id))if(C!==void 0)v.color=C;else{const S=x.get(v.id);S!==void 0&&(v.color=S)}})},g=x=>{if(s&&f(x)){switch(a){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of M.getState().elements)R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)&&T.set(R.id,R.color??"#808080");const P={name:"Set Color for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:x,undo:()=>{p(P.oldValues)},redo:()=>{p(P.oldValues,P.newValue)}};r(P),p(T,x),l(M.getState().applyCount+1);break}case ue.AllObjectsOfThisType:const C=new Map;for(const T of M.getState().elements)T.type===z.Foundation&&C.set(T.id,T.color??"#808080");const b={name:"Set Color for All Foundations",timestamp:Date.now(),oldValues:C,newValue:x,undo:()=>{for(const[T,P]of b.oldValues.entries())n(T,P)},redo:()=>{i(z.Foundation,b.newValue)}};r(b),i(z.Foundation,x),l(M.getState().applyCount+1);break;default:const v=o(s.id),S=v?v.color:s.color,w={name:"Set Color of Selected Foundation",timestamp:Date.now(),oldValue:S,newValue:x,changedElementId:s.id,changedElementType:s.type,undo:()=>{n(w.changedElementId,w.oldValue)},redo:()=>{n(w.changedElementId,w.newValue)}};r(w),n(s.id,x),l(M.getState().applyCount+1)}e(C=>{C.actionState.foundationColor=x})}},y=()=>{g(c)},A=()=>{t(!1)};return h.jsx(lo,{width:600,title:O.t("word.Color",d),onApply:y,onClose:A,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:c,onChangeComplete:x=>{u(x.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:x=>M.getState().setFoundationActionScope(x.target.value),value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},vso=Se.memo(({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M($Be),i=M(t3),r=M(eW),a=M(H7),l=M(vH),s=M(e3),c=M(En),u=M(Js),d=M(dn),f=M(ro),p=M(oo),g=M(ca),y=co(z.Foundation),[A,x]=m.useState((y==null?void 0:y.lx)??.1),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),E=Kt(),L=le=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const ie of e)if(ie.type===z.Foundation&&M.getState().selectedElementIdSet.has(ie.id)){const pe=ie,ne=l(pe.id);if(ne.length>0&&!be.doesNewSizeContainAllChildren(pe,ne,le,pe.ly))return!1}break}case ue.AllObjectsOfThisType:{for(const ie of e)if(ie.type===z.Foundation){const pe=ie,ne=l(pe.id);if(ne.length>0&&!be.doesNewSizeContainAllChildren(pe,ne,le,pe.ly))return!1}break}default:{const ie=l(y.id);if(ie.length>0)return be.doesNewSizeContainAllChildren(y,ie,le,y.ly);break}}return!0}},U=le=>!L(le),F=le=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const ie of e)if(ie.type===z.Foundation&&!ie.locked&&M.getState().selectedElementIdSet.has(ie.id)&&Math.abs(ie.lx-le)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const ie of e)if(ie.type===z.Foundation&&!ie.locked&&Math.abs(ie.lx-le)>kt)return!0;break;default:if(Math.abs((y==null?void 0:y.lx)-le)>kt)return!0}return!1}},W=(le,ie)=>{if(le==null)return null;for(const pe of le.children)if(pe.name.includes(`${ie}`))return pe;return null},B=(le,ie,pe)=>{var ne,Z;if(le){for(const he of le.children)if(he.name.includes(`${pe.id}`)){(Z=(ne=Ln.getState().contentRef)==null?void 0:ne.current)==null||Z.add(he);break}d(he=>{for(const fe of he.elements)if(fe.id===pe.id){fe.parentId=Zo;const se=new Gt(fe.cx,fe.cy).rotateAround(wr,ie.rotation[2]).add(new Gt(ie.cx,ie.cy));fe.cx=se.x,fe.cy=se.y,fe.cz=0,S.current.set(fe.id,new ae(se.x,se.y,0)),b.current.set(fe.id,Zo);break}})}},k=(le,ie)=>{const pe=l(le.id),ne=le.rotation[2];if(w.current.clear(),R.current.clear(),pe.length>0)for(const Z of pe)switch(Z.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const he=new Gt(Z.cx*le.lx,Z.cy*le.ly).rotateAround(wr,ne);w.current.set(Z.id,he),v.current.set(Z.id,new ae(Z.cx,Z.cy));break}case z.Polygon:{const he=Z,fe=[];for(const se of he.vertices)fe.push(new Gt(se.x*le.lx,se.y*le.ly).rotateAround(wr,ne));R.current.set(Z.id,fe),T.current.set(Z.id,he.vertices.map(se=>({...se})));break}case z.Human:case z.Tree:{v.current.set(Z.id,new ae(Z.cx,Z.cy,Z.cz));break}}if(i(le.id,ie),pe.length>0)for(const Z of pe)switch(Z.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const he=w.current.get(Z.id);if(he){const se=new Gt(he.x,he.y).rotateAround(wr,-ne).x/ie;o(Z.id,se),S.current.set(Z.id,new ae(se,Z.cy))}break}case z.Polygon:{const he=R.current.get(Z.id);if(he){const fe=[];for(const se of he){const oe=se.rotateAround(wr,-ne),de=oe.x/ie,ve=oe.y/le.ly;fe.push({x:de,y:ve})}a(Z.id,fe),P.current.set(Z.id,fe.map(se=>({...se})))}break}case z.Human:case z.Tree:{if(S.current.set(Z.id,new ae(Z.cx,Z.cy,Z.cz)),C.current.set(Z.id,le.id),Math.abs(Z.cz-le.lz/2)0){const he=Ln.getState().contentRef,fe=W(he==null?void 0:he.current,le.id);B(fe,le,Z)}}else if(Math.abs(Math.abs(Z.cx)-le.lx/2)0?ie:-ie)/2;o(Z.id,he),S.current.set(Z.id,new ae(he,Z.cy,Z.cz))}break}}},N=(le,ie,pe)=>{if(!le||!ie)return;const ne=Ln.getState().contentRef,Z=W(ne==null?void 0:ne.current,ie),he=W(ie===Zo?ne==null?void 0:ne.current:Z,pe);if(he&&(ne!=null&&ne.current)){if(le===Zo)ne.current.add(he);else{const fe=W(ne.current,le);fe==null||fe.add(he)}Zh()}},j=(le,ie)=>{le&&d(pe=>{for(const ne of pe.elements)if(ne.id===ie){ne.parentId=le;break}})},Y=(le,ie)=>{M.getState().set(pe=>{for(const ne of pe.elements)if(le.has(ne.id))if(ie!==void 0)ne.lx=ie;else{const Z=le.get(ne.id);Z!==void 0&&(ne.lx=Z)}})},_=le=>{if(!y||!F(le))return;const ie=n(y.id),pe=ie?ie.lx:y.lx;if(D.current=void 0,H.current=U(le),H.current)D.current=le,x(pe);else switch(v.current.clear(),S.current.clear(),T.current.clear(),P.current.clear(),u){case ue.AllSelectedObjectsOfThisType:{const ne=new Map;for(const he of e)he.type===z.Foundation&&M.getState().selectedElementIdSet.has(he.id)&&ne.set(he.id,he.lx);for(const he of e)he.type===z.Foundation&&M.getState().selectedElementIdSet.has(he.id)&&k(he,le);const Z={name:"Set Length for Selected Foundations",timestamp:Date.now(),oldSizes:ne,newSize:le,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var he,fe;if(Y(Z.oldSizes),Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[se,oe]of Z.oldChildrenPositionsMap.entries()){s(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(N(de,ve,se),j(de,se))}if(Z.oldChildrenVerticesMap&&Z.oldChildrenVerticesMap.size>0)for(const[se,oe]of Z.oldChildrenVerticesMap.entries())a(se,oe)},redo:()=>{var he,fe;if(Y(Z.oldSizes,Z.newSize),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[se,oe]of Z.newChildrenPositionsMap.entries()){s(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(N(ve,de,se),j(ve,se))}if(Z.newChildrenVerticesMap&&Z.newChildrenVerticesMap.size>0)for(const[se,oe]of Z.newChildrenVerticesMap.entries())a(se,oe)}};c(Z),p(f+1);break}case ue.AllObjectsOfThisType:{const ne=new Map;for(const he of e)he.type===z.Foundation&&ne.set(he.id,he.lx);for(const he of e)he.type===z.Foundation&&k(he,le);const Z={name:"Set Length for All Foundations",timestamp:Date.now(),oldSizes:ne,newSize:le,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var he,fe;for(const[se,oe]of Z.oldSizes.entries())i(se,oe);if(Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[se,oe]of Z.oldChildrenPositionsMap.entries()){s(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(N(de,ve,se),j(de,se))}if(Z.oldChildrenVerticesMap&&Z.oldChildrenVerticesMap.size>0)for(const[se,oe]of Z.oldChildrenVerticesMap.entries())a(se,oe)},redo:()=>{var he,fe;if(r(z.Foundation,Z.newSize),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[se,oe]of Z.newChildrenPositionsMap.entries()){s(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(N(ve,de,se),j(ve,se))}if(Z.newChildrenVerticesMap&&Z.newChildrenVerticesMap.size>0)for(const[se,oe]of Z.newChildrenVerticesMap.entries())a(se,oe)}};c(Z),p(f+1);break}default:{k(y,le);const ne={name:"Set Foundation Length",timestamp:Date.now(),oldSize:pe,newSize:le,resizedElementId:y.id,resizedElementType:y.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var Z,he;if(i(y.id,ne.oldSize),ne.oldChildrenPositionsMap&&ne.oldChildrenPositionsMap.size>0)for(const[fe,se]of ne.oldChildrenPositionsMap.entries()){s(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(oe,de,fe),j(oe,fe))}if(ne.oldChildrenVerticesMap&&ne.oldChildrenVerticesMap.size>0)for(const[fe,se]of ne.oldChildrenVerticesMap.entries())a(fe,se)},redo:()=>{var Z,he;if(i(y.id,ne.newSize),ne.newChildrenPositionsMap&&ne.newChildrenPositionsMap.size>0)for(const[fe,se]of ne.newChildrenPositionsMap.entries()){s(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(de,oe,fe),j(de,fe))}if(ne.newChildrenVerticesMap&&ne.newChildrenVerticesMap.size>0)for(const[fe,se]of ne.newChildrenVerticesMap.entries())a(fe,se)}};c(ne),p(f+1);break}}},J=()=>{t(!1)},Q=()=>{J(),g()},ee=()=>{_(A),H.current||(t(!1),p(0))},$=()=>{_(A)},q=H.current?": "+O.t("message.NotApplicableToSelectedAction",E)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Length",E),rejectedMessage:q,onApply:$,onClose:J,onClickCancel:Q,onClickOk:ee,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:A,onChange:le=>{le!==null&&x(le)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",E),": [0.1, 1000] ",O.t("word.MeterAbbreviation",E)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",E)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:le=>M.getState().setFoundationActionScope(le.target.value),value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",E)})]})})})]})})}),xso=Se.memo(({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(e3),i=M(QBe),r=M(R7),a=M(tW),l=M(H7),s=M(vH),c=M(En),u=M(Js),d=M(dn),f=M(ro),p=M(oo),g=M(ca),y=co(z.Foundation),[A,x]=m.useState((y==null?void 0:y.ly)??.1),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),E=Kt(),L=q=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const le of e)if(le.type===z.Foundation&&M.getState().selectedElementIdSet.has(le.id)){const ie=le,pe=s(ie.id);if(pe.length>0&&!be.doesNewSizeContainAllChildren(ie,pe,ie.lx,q))return!1}break}case ue.AllObjectsOfThisType:{for(const le of e)if(le.type===z.Foundation){const ie=le,pe=s(ie.id);if(pe.length>0&&!be.doesNewSizeContainAllChildren(ie,pe,ie.lx,q))return!1}break}default:{const le=s(y.id);if(le.length>0)return be.doesNewSizeContainAllChildren(y,le,y.lx,q);break}}return!0}},U=q=>!L(q),F=q=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const le of e)if(le.type===z.Foundation&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.ly-q)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const le of e)if(le.type===z.Foundation&&!le.locked&&Math.abs(le.ly-q)>kt)return!0;break;default:if(Math.abs((y==null?void 0:y.ly)-q)>kt)return!0}return!1}},W=(q,le)=>{if(q==null)return null;for(const ie of q.children)if(ie.name.includes(`${le}`))return ie;return null},B=(q,le,ie)=>{var pe,ne;if(q){for(const Z of q.children)if(Z.name.includes(`${ie.id}`)){(ne=(pe=Ln.getState().contentRef)==null?void 0:pe.current)==null||ne.add(Z);break}d(Z=>{for(const he of Z.elements)if(he.id===ie.id){he.parentId=Zo;const fe=new Gt(he.cx,he.cy).rotateAround(wr,le.rotation[2]).add(new Gt(le.cx,le.cy));he.cx=fe.x,he.cy=fe.y,he.cz=0,S.current.set(he.id,new ae(fe.x,fe.y,0)),b.current.set(he.id,Zo);break}})}},k=(q,le)=>{const ie=s(q.id),pe=q.rotation[2];if(w.current.clear(),R.current.clear(),ie.length>0)for(const ne of ie)switch(ne.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const Z=new Gt(ne.cx*q.lx,ne.cy*q.ly).rotateAround(wr,pe);w.current.set(ne.id,Z),v.current.set(ne.id,new ae(ne.cx,ne.cy));break}case z.Polygon:{const Z=ne,he=[];for(const fe of Z.vertices)he.push(new Gt(fe.x*q.lx,fe.y*q.ly).rotateAround(wr,pe));R.current.set(ne.id,he),T.current.set(ne.id,Z.vertices.map(fe=>({...fe})));break}case z.Human:case z.Tree:{v.current.set(ne.id,new ae(ne.cx,ne.cy,ne.cz));break}}if(r(q.id,le),ie.length>0)for(const ne of ie)switch(ne.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const Z=w.current.get(ne.id);if(Z){const fe=new Gt(Z.x,Z.y).rotateAround(wr,-pe).y/le;i(ne.id,fe),S.current.set(ne.id,new ae(ne.cx,fe))}break}case z.Polygon:{const Z=R.current.get(ne.id);if(Z){const he=[];for(const fe of Z){const se=fe.rotateAround(wr,-pe),oe=se.x/q.lx,de=se.y/le;he.push({x:oe,y:de})}l(ne.id,he),P.current.set(ne.id,he.map(fe=>({...fe})))}break}case z.Human:case z.Tree:{if(S.current.set(ne.id,new ae(ne.cx,ne.cy,ne.cz)),C.current.set(ne.id,q.id),Math.abs(ne.cz-q.lz/2)0){const Z=Ln.getState().contentRef,he=W(Z==null?void 0:Z.current,q.id);B(he,q,ne)}}else if(Math.abs(Math.abs(ne.cy)-q.ly/2)0?le:-le)/2;i(ne.id,Z),S.current.set(ne.id,new ae(ne.cz,Z,ne.cz))}break}}},N=(q,le,ie)=>{if(!q||!le)return;const pe=Ln.getState().contentRef,ne=W(pe==null?void 0:pe.current,le),Z=W(le===Zo?pe==null?void 0:pe.current:ne,ie);if(Z&&(pe!=null&&pe.current)){if(q===Zo)pe.current.add(Z);else{const he=W(pe.current,q);he==null||he.add(Z)}Zh()}},j=(q,le)=>{q&&d(ie=>{for(const pe of ie.elements)if(pe.id===le){pe.parentId=q;break}})},Y=q=>{if(!y||!F(q))return;const le=n(y.id),ie=le?le.ly:y.ly;if(D.current=void 0,H.current=U(q),H.current)D.current=q,x(ie);else switch(v.current.clear(),S.current.clear(),T.current.clear(),P.current.clear(),u){case ue.AllSelectedObjectsOfThisType:{const pe=new Map;for(const Z of e)Z.type===z.Foundation&&M.getState().selectedElementIdSet.has(Z.id)&&pe.set(Z.id,Z.ly);for(const Z of e)Z.type===z.Foundation&&M.getState().selectedElementIdSet.has(Z.id)&&k(Z,q);const ne={name:"Set Width for Selected Foundations",timestamp:Date.now(),oldSizes:pe,newSize:q,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var Z,he;for(const[fe,se]of ne.oldSizes.entries())r(fe,se);if(ne.oldChildrenPositionsMap&&ne.oldChildrenPositionsMap.size>0)for(const[fe,se]of ne.oldChildrenPositionsMap.entries()){o(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(oe,de,fe),j(oe,fe))}if(ne.oldChildrenVerticesMap&&ne.oldChildrenVerticesMap.size>0)for(const[fe,se]of ne.oldChildrenVerticesMap.entries())l(fe,se)},redo:()=>{var Z,he;for(const[fe,se]of ne.oldSizes.entries())r(fe,ne.newSize);if(ne.newChildrenPositionsMap&&ne.newChildrenPositionsMap.size>0)for(const[fe,se]of ne.newChildrenPositionsMap.entries()){o(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(de,oe,fe),j(de,fe))}if(ne.newChildrenVerticesMap&&ne.newChildrenVerticesMap.size>0)for(const[fe,se]of ne.newChildrenVerticesMap.entries())l(fe,se)}};c(ne),p(f+1);break}case ue.AllObjectsOfThisType:{const pe=new Map;for(const Z of e)Z.type===z.Foundation&&pe.set(Z.id,Z.ly);for(const Z of e)Z.type===z.Foundation&&k(Z,q);const ne={name:"Set Width for All Foundations",timestamp:Date.now(),oldSizes:pe,newSize:q,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var Z,he;for(const[fe,se]of ne.oldSizes.entries())r(fe,se);if(ne.oldChildrenPositionsMap&&ne.oldChildrenPositionsMap.size>0)for(const[fe,se]of ne.oldChildrenPositionsMap.entries()){o(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(oe,de,fe),j(oe,fe))}if(ne.oldChildrenVerticesMap&&ne.oldChildrenVerticesMap.size>0)for(const[fe,se]of ne.oldChildrenVerticesMap.entries())l(fe,se)},redo:()=>{var Z,he;if(a(z.Foundation,ne.newSize),ne.newChildrenPositionsMap&&ne.newChildrenPositionsMap.size>0)for(const[fe,se]of ne.newChildrenPositionsMap.entries()){o(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(de,oe,fe),j(de,fe))}if(ne.newChildrenVerticesMap&&ne.newChildrenVerticesMap.size>0)for(const[fe,se]of ne.newChildrenVerticesMap.entries())l(fe,se)}};c(ne),p(f+1);break}default:{k(y,q);const pe={name:"Set Foundation Width",timestamp:Date.now(),oldSize:ie,newSize:q,resizedElementId:y.id,resizedElementType:y.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var ne,Z;if(r(y.id,pe.oldSize),pe.oldChildrenPositionsMap&&pe.oldChildrenPositionsMap.size>0)for(const[he,fe]of pe.oldChildrenPositionsMap.entries()){o(he,fe.x,fe.y,fe.z);const se=(ne=pe.oldChildrenParentIdMap)==null?void 0:ne.get(he),oe=(Z=pe.newChildrenParentIdMap)==null?void 0:Z.get(he);se&&oe&&se!==oe&&(N(se,oe,he),j(se,he))}if(pe.oldChildrenVerticesMap&&pe.oldChildrenVerticesMap.size>0)for(const[he,fe]of pe.oldChildrenVerticesMap.entries())l(he,fe)},redo:()=>{var ne,Z;if(r(y.id,pe.newSize),pe.newChildrenPositionsMap&&pe.newChildrenPositionsMap.size>0)for(const[he,fe]of pe.newChildrenPositionsMap.entries()){o(he,fe.x,fe.y,fe.z);const se=(ne=pe.oldChildrenParentIdMap)==null?void 0:ne.get(he),oe=(Z=pe.newChildrenParentIdMap)==null?void 0:Z.get(he);se&&oe&&se!==oe&&(N(oe,se,he),j(oe,he))}if(pe.newChildrenVerticesMap&&pe.newChildrenVerticesMap.size>0)for(const[he,fe]of pe.newChildrenVerticesMap.entries())l(he,fe)}};c(pe),p(f+1);break}}},_=()=>{t(!1)},J=()=>{_(),g()},Q=()=>{Y(A),H.current||(t(!1),p(0))},ee=()=>{Y(A)},$=H.current?": "+O.t("message.NotApplicableToSelectedAction",E)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Width",E),rejectedMessage:$,onApply:ee,onClickCancel:J,onClickOk:Q,onClose:_,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:A,onChange:q=>{q!==null&&x(q)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",E),": [0.1, 1000] ",O.t("word.MeterAbbreviation",E)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",E)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:q=>M.getState().setFoundationActionScope(q.target.value),value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",E)})]})})})]})})}),bso=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(e3),l=M(ro),s=M(oo),c=co(z.Foundation),[u,d]=m.useState((c==null?void 0:c.lz)??.1),f=m.useRef(new Map),p=m.useRef(new Map),g=m.useRef(new Map),y=m.useRef(new Map),A=Kt(),x=(L,U)=>{e(F=>{const W=F.elements.find(B=>B.id===L);W&&(W.lz=U,W.cz=U/2)})},C=(L,U)=>{e(F=>{for(const W of F.elements)W.type===L&&!W.locked&&(W.lz=U,W.cz=U/2)})},b=L=>{if(c){switch(r){case ue.AllSelectedObjectsOfThisType:{for(const U of n)if(U.type===z.Foundation&&!U.locked&&M.getState().selectedElementIdSet.has(U.id)&&Math.abs(U.lz-L)>kt)return!0;break}case ue.AllObjectsOfThisType:for(const U of n)if(U.type===z.Foundation&&!U.locked&&Math.abs(U.lz-L)>kt)return!0;break;default:if(Math.abs((c==null?void 0:c.lz)-L)>kt)return!0}return!1}},v=(L,U)=>{if(L==null)return null;for(const F of L.children)if(F.name.includes(`${U}`))return F;return null},S=(L,U,F)=>{var W,B;if(L){for(const N of L.children)if(N.name.includes(`${F.id}`)){(B=(W=Ln.getState().contentRef)==null?void 0:W.current)==null||B.add(N);break}F.parentId=Zo;const k=new Gt(F.cx,F.cy).rotateAround(wr,-U.rotation[2]).add(new Gt(U.cx,U.cy));F.cx=k.x,F.cy=k.y,F.cz=0,y.current.set(F.id,new ae(k.x,k.y,0)),p.current.set(F.id,Zo)}},w=(L,U)=>{e(F=>{for(const W of F.elements)if(W.parentId===L.id&&(f.current.set(W.id,L.id),g.current.set(W.id,new ae(W.cx,W.cy,W.cz)),be.isPlantOrHuman(W)))if(Math.abs(W.cz-L.lz/2)U/2){const k=Ln.getState().contentRef,N=v(k==null?void 0:k.current,L.id);S(N,L,W)}else W.cz=B,y.current.set(W.id,new ae(W.cx,W.cy,B))}})},T=(L,U,F)=>{if(!L||!U)return;const W=Ln.getState().contentRef,B=v(W==null?void 0:W.current,U),k=v(U===Zo?W==null?void 0:W.current:B,F);if(k&&(W!=null&&W.current)){if(L===Zo)W.current.add(k);else{const N=v(W.current,L);N==null||N.add(k)}Zh()}},P=(L,U)=>{L&&e(F=>{for(const W of F.elements)if(W.id===U){W.parentId=L;break}})},R=(L,U)=>{M.getState().set(F=>{for(const W of F.elements)if(L.has(W.id))if(U!==void 0)W.lz=U,W.cz=U/2;else{const B=L.get(W.id);B!==void 0&&(W.lz=B,W.cz=B/2)}})},H=L=>{if(c&&b(L)){switch(r){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.Foundation&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&U.set(W.id,W.lz);for(const W of n)W.type===z.Foundation&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&w(W,L);const F={name:"Set Height for Selected Foundations",timestamp:Date.now(),oldValues:U,newValue:L,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(y.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),undo:()=>{var W,B;if(R(F.oldValues),F.oldChildrenPositionsMap&&F.oldChildrenPositionsMap.size>0)for(const[k,N]of F.oldChildrenPositionsMap.entries()){a(k,N.x,N.y,N.z);const j=(W=F.oldChildrenParentIdMap)==null?void 0:W.get(k),Y=(B=F.newChildrenParentIdMap)==null?void 0:B.get(k);j&&Y&&j!==Y&&(T(j,Y,k),P(j,k))}},redo:()=>{var B,k;const W=F.newValue;if(R(F.oldValues,W),F.newChildrenPositionsMap&&F.newChildrenPositionsMap.size>0)for(const[N,j]of F.newChildrenPositionsMap.entries()){a(N,j.x,j.y,j.z);const Y=(B=F.oldChildrenParentIdMap)==null?void 0:B.get(N),_=(k=F.newChildrenParentIdMap)==null?void 0:k.get(N);Y&&_&&Y!==_&&(T(_,Y,N),P(_,N))}}};i(F),R(U,L),s(l+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.Foundation&&U.set(W.id,W.lz);for(const W of n)W.type===z.Foundation&&w(W,L);const F={name:"Set Height for All Foundations",timestamp:Date.now(),oldValues:U,newValue:L,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(y.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),undo:()=>{var W,B;for(const[k,N]of F.oldValues.entries())x(k,N);if(F.oldChildrenPositionsMap&&F.oldChildrenPositionsMap.size>0)for(const[k,N]of F.oldChildrenPositionsMap.entries()){a(k,N.x,N.y,N.z);const j=(W=F.oldChildrenParentIdMap)==null?void 0:W.get(k),Y=(B=F.newChildrenParentIdMap)==null?void 0:B.get(k);j&&Y&&j!==Y&&(T(j,Y,k),P(j,k))}},redo:()=>{var B,k;const W=F.newValue;if(C(z.Foundation,W),F.newChildrenPositionsMap&&F.newChildrenPositionsMap.size>0)for(const[N,j]of F.newChildrenPositionsMap.entries()){a(N,j.x,j.y,j.z);const Y=(B=F.oldChildrenParentIdMap)==null?void 0:B.get(N),_=(k=F.newChildrenParentIdMap)==null?void 0:k.get(N);Y&&_&&Y!==_&&(T(_,Y,N),P(_,N))}}};i(F),C(z.Foundation,L),s(l+1);break}default:{const U=o(c.id),F=U?U.lz:c.lz;w(c,L),x(c.id,L);const W={name:"Set Foundation Height",timestamp:Date.now(),oldValue:F,newValue:L,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(y.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),changedElementId:c.id,changedElementType:c.type,undo:()=>{var B,k;if(x(W.changedElementId,W.oldValue),W.oldChildrenPositionsMap&&W.oldChildrenPositionsMap.size>0)for(const[N,j]of W.oldChildrenPositionsMap.entries()){a(N,j.x,j.y,j.z);const Y=(B=W.oldChildrenParentIdMap)==null?void 0:B.get(N),_=(k=W.newChildrenParentIdMap)==null?void 0:k.get(N);Y&&_&&Y!==_&&(T(Y,_,N),P(Y,N))}},redo:()=>{var B,k;if(x(W.changedElementId,W.newValue),W.newChildrenPositionsMap&&W.newChildrenPositionsMap.size>0)for(const[N,j]of W.newChildrenPositionsMap.entries()){a(N,j.x,j.y,j.z);const Y=(B=W.oldChildrenParentIdMap)==null?void 0:B.get(N),_=(k=W.newChildrenParentIdMap)==null?void 0:k.get(N);Y&&_&&Y!==_&&(T(_,Y,N),P(_,N))}}};i(W),s(l+1);break}}e(U=>{U.actionState.foundationHeight=L})}},D=()=>{t(!1)},E=()=>{H(u)};return h.jsx(lo,{width:550,title:O.t("word.Height",A),onApply:E,onClose:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:10,style:{width:120},step:.1,precision:2,value:u,onChange:L=>{L!==null&&d(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",A),": [0.1, 10] ",O.t("word.MeterAbbreviation",A)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",A)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L=>M.getState().setFoundationActionScope(L.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",A)})]})})})]})})}),Sso=Se.memo(({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(ige),i=M(zwt),r=M(En),a=M(Js),l=M(ro),s=M(oo),c=co(z.Foundation),[u,d]=m.useState(c?-(c==null?void 0:c.rotation[2]):0),f=Kt(),p=C=>{if(c){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const b of e)if(b.type===z.Foundation&&!b.locked&&M.getState().selectedElementIdSet.has(b.id)&&Math.abs(-b.rotation[2]-C)>kt)return!0;break}case ue.AllObjectsOfThisType:for(const b of e)if(b.type===z.Foundation&&!b.locked&&Math.abs(-b.rotation[2]-C)>kt)return!0;break;default:if(Math.abs(-(c==null?void 0:c.rotation[2])-C)>kt)return!0}return!1}},g=(C,b)=>{M.getState().set(v=>{for(const S of v.elements)if(C.has(S.id))if(b!==void 0)S.rotation[2]=b;else{const w=C.get(S.id);w!==void 0&&(S.rotation[2]=-w)}})},y=C=>{if(c&&p(C))switch(a){case ue.AllSelectedObjectsOfThisType:{const b=new Map;for(const S of e)S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)&&b.set(S.id,-S.rotation[2]);const v={name:"Set Azimuth for All Selected Foundations",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{g(v.oldValues)},redo:()=>{g(v.oldValues,-v.newValue)}};r(v),g(b,-C),s(l+1);break}case ue.AllObjectsOfThisType:{const b=new Map;for(const S of e)S.type===z.Foundation&&b.set(S.id,-S.rotation[2]);const v={name:"Set Azimuth for All Foundations",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{for(const[S,w]of v.oldValues.entries())o(S,0,0,-w)},redo:()=>{i(z.Foundation,0,0,-v.newValue)}};r(v),i(z.Foundation,0,0,-C),s(l+1);break}default:{const b=n(c.id),v=b?-b.rotation[2]:-c.rotation[2],S={name:"Set Foundation Azimuth",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:c.id,changedElementType:c.type,undo:()=>{o(S.changedElementId,0,0,-S.oldValue)},redo:()=>{o(S.changedElementId,0,0,-S.newValue)}};r(S),o(c.id,0,0,-C),s(l+1);break}}},A=()=>{t(!1)},x=()=>{y(u)};return h.jsx(lo,{width:500,title:O.t("word.Azimuth",f),onApply:x,onClose:A,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},step:.5,precision:2,value:parseFloat(be.toDegrees(u).toFixed(2)),formatter:C=>`${C}°`,onChange:C=>{C!==null&&d(be.toRadians(C))}}),h.jsxs("div",{style:{paddingTop:"20px",paddingRight:"6px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [-180°, 180°]",h.jsx("br",{}),O.t("message.AzimuthOfNorthIsZero",f),h.jsx("br",{}),O.t("message.CounterclockwiseAzimuthIsPositive",f)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:C=>M.getState().setFoundationActionScope(C.target.value),value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})}),Tso=Se.memo(({setDialogVisible:t})=>{const e=M(Jn),n=M(Z9),o=M(En),i=M(Js),r=M(Dwt),a=M(ro),l=M(oo),s=M(ca),c=M(jn),u=M(dn),d=M(W=>{if(n){for(const B of W.elements)if(B.id===n.id)return B}return null}),[f,p]=m.useState((d==null?void 0:d.rValue)??Q4),[g,y]=m.useState(be.toRValueInUS(f)),[A,x]=m.useState(!1),[C,b]=m.useState({left:0,top:0,bottom:0,right:0}),v=m.useRef(null),S=Kt();m.useEffect(()=>{d&&p((d==null?void 0:d.rValue)??Q4)},[d==null?void 0:d.rValue]);const w=W=>{switch(i){case ue.AllObjectsOfThisType:for(const B of e)if(B.type===z.Foundation&&!B.locked){const k=B;if(k.rValue===void 0||Math.abs(k.rValue-W)>kt)return!0}break;default:if((d==null?void 0:d.rValue)===void 0||Math.abs((d==null?void 0:d.rValue)-W)>kt)return!0}return!1},T=(W,B)=>{u(k=>{for(const N of k.elements)if(N.id===W){N.rValue=B;break}})},P=W=>{for(const[B,k]of W.entries())T(B,k)},R=(W,B)=>{for(const k of W.keys())T(k,B)},H=W=>{if(d&&w(W)){switch(i){case ue.AllObjectsOfThisType:{const B=new Map;u(N=>{for(const j of N.elements)if(j.type===z.Foundation&&!j.locked){const Y=j;B.set(j.id,Y.rValue??Q4),Y.rValue=W}});const k={name:"Set R-Value for All Ground Floors",timestamp:Date.now(),oldValues:B,newValue:W,undo:()=>{P(k.oldValues)},redo:()=>{R(k.oldValues,k.newValue)}};o(k),l(a+1);break}default:{if(d){const k=c(d.id).rValue??d.rValue??Q4,N={name:"Set Ground Floor R-Value",timestamp:Date.now(),oldValue:k,newValue:W,changedElementId:d.id,changedElementType:d.type,undo:()=>{T(N.changedElementId,N.oldValue)},redo:()=>{T(N.changedElementId,N.newValue)}};o(N),T(d.id,W),l(a+1)}break}}u(B=>{B.actionState.groundFloorRValue=W})}},D=(W,B)=>{if(v.current){const{clientWidth:k,clientHeight:N}=window.document.documentElement,j=v.current.getBoundingClientRect();b({left:-j.left+B.x,right:k-(j.right-B.x),top:-j.top+B.y,bottom:N-((j==null?void 0:j.bottom)-B.y)})}},E=()=>{p((d==null?void 0:d.rValue)??Q4),t(!1)},L=()=>{E(),s()},U=()=>{H(f),t(!1),l(0)},F=()=>{H(f)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>x(!0),onMouseOut:()=>x(!1),children:[O.t("word.RValue",S)+" ","(",O.t("word.ThermalResistance",S),")"]}),footer:[h.jsx(no,{onClick:F,children:O.t("word.Apply",S)},"Apply"),h.jsx(no,{onClick:L,children:O.t("word.Cancel",S)},"Cancel"),h.jsx(no,{type:"primary",onClick:U,children:O.t("word.OK",S)},"OK")],onCancel:E,maskClosable:!1,destroyOnClose:!1,modalRender:W=>h.jsx(Vr,{disabled:!A,bounds:C,onStart:(B,k)=>D(B,k),children:h.jsx("div",{ref:v,children:W})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:f,formatter:W=>Number(W).toFixed(2),onChange:W=>{W!==null&&(p(W),y(be.toRValueInUS(W)))},onPressEnter:U}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",S),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",S),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toRValueInUS(.01),max:be.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:g,formatter:W=>Number(W).toFixed(2),onChange:W=>{W!==null&&(y(W),p(be.toRValueInSI(W)))},onPressEnter:U}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",S),": [",be.toRValueInUS(.01).toFixed(3),", ",be.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",S),": h·ft²·℉/Btu"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:W=>r(W.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisGroundFloor",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllGroundFloors",S)})]})})})]})})})}),Pso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberHeight)??10),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberHeight=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.absorberHeight=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberHeight=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberHeight===void 0||Math.abs(w.solarAbsorberPipe.absorberHeight-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberHeight===void 0||Math.abs(w.solarAbsorberPipe.absorberHeight-v)>kt))return!0}break;default:if((c==null?void 0:c.absorberHeight)===void 0||Math.abs((c==null?void 0:c.absorberHeight)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberHeight??10)}const R={name:"Set Absorber Height for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberHeight??10)}const R={name:"Set Absorber Height for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.absorberHeight??10:c.absorberHeight??10;p(s.id,v);const T={name:"Set Absorber Height on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarAbsorberPipeMenu.AbsorberHeight",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:50,style:{width:120},step:.5,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [1, 50] ",O.t("word.MeterAbbreviation",f)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",f)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Cso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.apertureWidth)??.6),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.apertureWidth=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.apertureWidth=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.apertureWidth=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.apertureWidth===void 0||Math.abs(w.solarAbsorberPipe.apertureWidth-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.apertureWidth===void 0||Math.abs(w.solarAbsorberPipe.apertureWidth-v)>kt))return!0}break;default:if((c==null?void 0:c.apertureWidth)===void 0||Math.abs((c==null?void 0:c.apertureWidth)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.apertureWidth??.6)}const R={name:"Set Absorber Aperture Width for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.apertureWidth??.6)}const R={name:"Set Absorber Aperture Width for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.apertureWidth??.6:c.apertureWidth??.6;p(s.id,v);const T={name:"Set Absorber Aperture Width on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarAbsorberPipeMenu.AbsorberApertureWidth",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:2,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0.1, 2] ",O.t("word.MeterAbbreviation",f)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",f)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Rso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.poleNumber)??5),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.poleNumber=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.poleNumber=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.poleNumber=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.poleNumber===void 0||w.solarAbsorberPipe.poleNumber!==v))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.poleNumber===void 0||w.solarAbsorberPipe.poleNumber!==v))return!0}break;default:if((c==null?void 0:c.poleNumber)===void 0||(c==null?void 0:c.poleNumber)!==v)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.poleNumber??5)}const R={name:"Set Absorber Pipe Pole Number for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.poleNumber??5)}const R={name:"Set Absorber Pipe Pole Number for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.poleNumber??5:c.poleNumber??5;p(s.id,v);const T={name:"Set Absorber Pipe Pole Number on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarAbsorberPipeMenu.AbsorberPipePoleNumber",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:1,precision:0,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [1, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Hso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberAbsorptance)??.95),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberAbsorptance=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.absorberAbsorptance=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberAbsorptance=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberAbsorptance===void 0||Math.abs(w.solarAbsorberPipe.absorberAbsorptance-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberAbsorptance===void 0||Math.abs(w.solarAbsorberPipe.absorberAbsorptance-v)>kt))return!0}break;default:if((c==null?void 0:c.absorberAbsorptance)===void 0||Math.abs((c==null?void 0:c.absorberAbsorptance)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberAbsorptance??.95)}const R={name:"Set Absorber Pipe Absorptance for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberAbsorptance??.95)}const R={name:"Set Absorber Pipe Absorptance for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.absorberAbsorptance??.95:c.absorberAbsorptance??.95;p(s.id,v);const T={name:"Set Absorber Pipe Absorptance on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarAbsorberPipeMenu.AbsorberAbsorptance",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Mso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberOpticalEfficiency)??.7),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberOpticalEfficiency=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.absorberOpticalEfficiency=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberOpticalEfficiency=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberOpticalEfficiency===void 0||Math.abs(w.solarAbsorberPipe.absorberOpticalEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberOpticalEfficiency===void 0||Math.abs(w.solarAbsorberPipe.absorberOpticalEfficiency-v)>kt))return!0}break;default:if((c==null?void 0:c.absorberOpticalEfficiency)===void 0||Math.abs((c==null?void 0:c.absorberOpticalEfficiency)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberOpticalEfficiency??.7)}const R={name:"Set Absorber Optical Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberOpticalEfficiency??.7)}const R={name:"Set Absorber Optical Efficiency for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.absorberOpticalEfficiency??.7:c.absorberOpticalEfficiency??.7;p(s.id,v);const T={name:"Set Absorber Optical Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarAbsorberPipeMenu.AbsorberOpticalEfficiency",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Iso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberThermalEfficiency)??.3),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberThermalEfficiency=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.absorberThermalEfficiency=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberThermalEfficiency=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberThermalEfficiency===void 0||Math.abs(w.solarAbsorberPipe.absorberThermalEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberThermalEfficiency===void 0||Math.abs(w.solarAbsorberPipe.absorberThermalEfficiency-v)>kt))return!0}break;default:if((c==null?void 0:c.absorberThermalEfficiency)===void 0||Math.abs((c==null?void 0:c.absorberThermalEfficiency)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberThermalEfficiency??.3)}const R={name:"Set Absorber Thermal Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberThermalEfficiency??.3)}const R={name:"Set Absorber Thermal Efficiency for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.absorberThermalEfficiency??.3:c.absorberThermalEfficiency??.3;p(s.id,v);const T={name:"Set Absorber Thermal Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarAbsorberPipeMenu.AbsorberThermalEfficiency",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},zso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.towerHeight)??20),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.towerHeight=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.towerHeight=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.towerHeight=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.towerHeight===void 0||Math.abs(w.solarPowerTower.towerHeight-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.towerHeight===void 0||Math.abs(w.solarPowerTower.towerHeight-v)>kt))return!0}break;default:if((c==null?void 0:c.towerHeight)===void 0||Math.abs((c==null?void 0:c.towerHeight)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.towerHeight??20)}const R={name:"Set Tower Height for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.towerHeight??20)}const R={name:"Set Tower Height for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.towerHeight??20:c.towerHeight??20;p(s.id,v);const T={name:"Set Tower Height on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarPowerTowerMenu.ReceiverTowerHeight",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:10,max:500,style:{width:120},step:1,precision:1,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [10, 500] ",O.t("word.MeterAbbreviation",f)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",f)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Dso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.towerRadius)??1),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.towerRadius=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.towerRadius=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.towerRadius=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.towerRadius===void 0||Math.abs(w.solarPowerTower.towerRadius-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.towerRadius===void 0||Math.abs(w.solarPowerTower.towerRadius-v)>kt))return!0}break;default:if((c==null?void 0:c.towerRadius)===void 0||Math.abs((c==null?void 0:c.towerRadius)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.towerRadius??1)}const R={name:"Set Tower Radius for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.towerRadius??1)}const R={name:"Set Tower Radius for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.towerRadius??1:c.towerRadius??1;p(s.id,v);const T={name:"Set Tower Radius on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarPowerTowerMenu.ReceiverTowerRadius",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.5,max:10,style:{width:120},step:.5,precision:1,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0.5, 10] ",O.t("word.MeterAbbreviation",f)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",f)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Eso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverAbsorptance)??.95),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverAbsorptance=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.receiverAbsorptance=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverAbsorptance=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverAbsorptance===void 0||Math.abs(w.solarPowerTower.receiverAbsorptance-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverAbsorptance===void 0||Math.abs(w.solarPowerTower.receiverAbsorptance-v)>kt))return!0}break;default:if((c==null?void 0:c.receiverAbsorptance)===void 0||Math.abs((c==null?void 0:c.receiverAbsorptance)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverAbsorptance??.95)}const R={name:"Set Receiver Absorptance for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverAbsorptance??.95)}const R={name:"Set Receiver Absorptance for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.receiverAbsorptance??.95:c.receiverAbsorptance??.95;p(s.id,v);const T={name:"Set Receiver Absorptance on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarPowerTowerMenu.ReceiverAbsorptance",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},kso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverThermalEfficiency)??.3),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverThermalEfficiency=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.receiverThermalEfficiency=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverThermalEfficiency=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverThermalEfficiency===void 0||Math.abs(w.solarPowerTower.receiverThermalEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverThermalEfficiency===void 0||Math.abs(w.solarPowerTower.receiverThermalEfficiency-v)>kt))return!0}break;default:if((c==null?void 0:c.receiverThermalEfficiency)===void 0||Math.abs((c==null?void 0:c.receiverThermalEfficiency)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverThermalEfficiency??.3)}const R={name:"Set Receiver Thermal Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverThermalEfficiency??.3)}const R={name:"Set Receiver Thermal Efficiency for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.receiverThermalEfficiency??.3:c.receiverThermalEfficiency??.3;p(s.id,v);const T={name:"Set Receiver Thermal Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarPowerTowerMenu.ReceiverThermalEfficiency",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Fso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverOpticalEfficiency)??.7),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverOpticalEfficiency=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.receiverOpticalEfficiency=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverOpticalEfficiency=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverOpticalEfficiency===void 0||Math.abs(w.solarPowerTower.receiverOpticalEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverOpticalEfficiency===void 0||Math.abs(w.solarPowerTower.receiverOpticalEfficiency-v)>kt))return!0}break;default:if((c==null?void 0:c.receiverOpticalEfficiency)===void 0||Math.abs((c==null?void 0:c.receiverOpticalEfficiency)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverOpticalEfficiency??.7)}const R={name:"Set Receiver Optical Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverOpticalEfficiency??.7)}const R={name:"Set Receiver Optical Efficiency for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.receiverOpticalEfficiency??.7:c.receiverOpticalEfficiency??.7;p(s.id,v);const T={name:"Set Receiver Optical Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarPowerTowerMenu.ReceiverOpticalEfficiency",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Lso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.chimneyHeight)??Math.max((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0)),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.chimneyHeight=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.chimneyHeight=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.chimneyHeight=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.chimneyHeight===void 0||Math.abs(w.solarUpdraftTower.chimneyHeight-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.chimneyHeight===void 0||Math.abs(w.solarUpdraftTower.chimneyHeight-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.chimneyHeight===void 0||Math.abs(s.solarUpdraftTower.chimneyHeight-v)>kt))return!0}return!1},A=v=>{var S,w;if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of n)if(R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&T.set(R.id,((S=H.solarUpdraftTower)==null?void 0:S.chimneyHeight)??Math.max(H.lx,H.ly))}const P={name:"Set Solar Chimney Height for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{g(P.oldValues,P.newValue)}};i(P),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const R of n)if(R.type===z.Foundation){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&T.set(R.id,((w=H.solarUpdraftTower)==null?void 0:w.chimneyHeight)??Math.max(H.lx,H.ly))}const P={name:"Set Solar Chimney Height for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};i(P),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),P=T&&T.solarUpdraftTower?T.solarUpdraftTower.chimneyHeight??Math.max(T.lx,T.ly):s.solarUpdraftTower.chimneyHeight??Math.max(s.lx,s.ly);f(s.id,v);const R={name:"Set Solar Chimney Height on Foundation",timestamp:Date.now(),oldValue:P,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(R.changedElementId,R.oldValue)},redo:()=>{f(R.changedElementId,R.newValue)}};i(R),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyHeight",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:1e3,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [1, 1000] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Wso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.chimneyRadius)??Math.max(1,.025*Math.min((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0))),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.chimneyRadius=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.chimneyRadius=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.chimneyRadius=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.chimneyRadius===void 0||Math.abs(w.solarUpdraftTower.chimneyRadius-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.chimneyRadius===void 0||Math.abs(w.solarUpdraftTower.chimneyRadius-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.chimneyRadius===void 0||Math.abs(s.solarUpdraftTower.chimneyRadius-v)>kt))return!0}return!1},A=v=>{var S,w;if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of n)if(R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&T.set(R.id,((S=H.solarUpdraftTower)==null?void 0:S.chimneyRadius)??Math.max(1,.025*Math.min(H.lx,H.ly)))}const P={name:"Set Solar Chimney Radius for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{g(P.oldValues,P.newValue)}};i(P),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const R of n)if(R.type===z.Foundation){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&T.set(R.id,((w=H.solarUpdraftTower)==null?void 0:w.chimneyRadius)??Math.max(1,.025*Math.min(H.lx,H.ly)))}const P={name:"Set Solar Chimney Radius for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};i(P),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),P=T&&T.solarUpdraftTower?T.solarUpdraftTower.chimneyRadius??Math.max(1,.025*Math.min(T.lx,T.ly)):s.solarUpdraftTower.chimneyRadius??Math.max(1,.025*Math.min(s.lx,s.ly));f(s.id,v);const R={name:"Set Solar Chimney Radius on Foundation",timestamp:Date.now(),oldValue:P,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(R.changedElementId,R.oldValue)},redo:()=>{f(R.changedElementId,R.newValue)}};i(R),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyRadius",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:10,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.1, 10] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Nso=({setDialogVisible:t})=>{var x;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=co(z.Foundation),[l,s]=m.useState(((x=a==null?void 0:a.solarUpdraftTower)==null?void 0:x.collectorHeight)??Math.max(3,10*((a==null?void 0:a.lz)??0))),c=Kt(),u=(C,b)=>{e(v=>{for(const S of v.elements)if(S.type===z.Foundation&&S.id===C&&!S.locked){const w=S;w.solarStructure===zn.UpdraftTower&&(w.solarUpdraftTower||(w.solarUpdraftTower={}),w.solarUpdraftTower.collectorHeight=b);break}})},d=C=>{e(b=>{for(const v of b.elements)if(v.type===z.Foundation&&!v.locked){const S=v;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.collectorHeight=C)}})},f=(C,b)=>{e(v=>{for(const S of v.elements)if(S.type===z.Foundation&&!S.locked&&C.has(S.id)){const w=S;w.solarStructure===zn.UpdraftTower&&(w.solarUpdraftTower||(w.solarUpdraftTower={}),w.solarUpdraftTower.collectorHeight=b)}})},p=C=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const b of n)if(b.type===z.Foundation&&!b.locked&&M.getState().selectedElementIdSet.has(b.id)){const v=b;if(v.solarStructure===zn.UpdraftTower&&v.solarUpdraftTower&&(v.solarUpdraftTower.collectorHeight===void 0||Math.abs(v.solarUpdraftTower.collectorHeight-C)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const b of n)if(b.type===z.Foundation&&!b.locked){const v=b;if(v.solarStructure===zn.UpdraftTower&&v.solarUpdraftTower&&(v.solarUpdraftTower.collectorHeight===void 0||Math.abs(v.solarUpdraftTower.collectorHeight-C)>kt))return!0}break;default:if(a&&a.solarStructure===zn.UpdraftTower&&a.solarUpdraftTower&&(a.solarUpdraftTower.collectorHeight===void 0||Math.abs(a.solarUpdraftTower.collectorHeight-C)>kt))return!0}return!1},g=C=>{if(a&&p(C))switch(r){case ue.AllSelectedObjectsOfThisType:{const b=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const w=S;w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&b.set(S.id,w.solarUpdraftTower.collectorHeight??Math.max(3,10*w.lz))}const v={name:"Set Solar Collector Height for Selected Foundations",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{for(const[S,w]of v.oldValues.entries())u(S,w)},redo:()=>{f(v.oldValues,v.newValue)}};i(v),f(b,C);break}case ue.AllObjectsOfThisType:{const b=new Map;for(const S of n)if(S.type===z.Foundation){const w=S;w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&b.set(S.id,w.solarUpdraftTower.collectorHeight??Math.max(3,10*w.lz))}const v={name:"Set Solar Collector Height for All Foundations",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{for(const[S,w]of v.oldValues.entries())u(S,w)},redo:()=>{d(v.newValue)}};i(v),d(C);break}default:if(a.solarStructure===zn.UpdraftTower&&a.solarUpdraftTower){const b=o(a.id),v=b&&b.solarUpdraftTower?b.solarUpdraftTower.collectorHeight??Math.max(3,10*b.lz):a.solarUpdraftTower.collectorHeight??Math.max(3,10*a.lz);u(a.id,C);const S={name:"Set Solar Collector Height on Foundation",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:a.id,changedElementType:a.type,undo:()=>{u(S.changedElementId,S.oldValue)},redo:()=>{u(S.changedElementId,S.newValue)}};i(S)}}},y=()=>{t(!1)},A=()=>{g(l)};return h.jsx(lo,{width:550,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorHeight",c),onApply:A,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:20,style:{width:120},step:1,precision:1,value:l,onChange:C=>{C!==null&&s(C)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",c),": [0.1, 20] ",O.t("word.MeterAbbreviation",c)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",c)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:C=>M.getState().setFoundationActionScope(C.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",c)})]})})})]})})},Uso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.collectorRadius)??Math.max(10,.5*Math.min((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0))),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorRadius=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.collectorRadius=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorRadius=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorRadius===void 0||Math.abs(w.solarUpdraftTower.collectorRadius-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorRadius===void 0||Math.abs(w.solarUpdraftTower.collectorRadius-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorRadius===void 0||Math.abs(s.solarUpdraftTower.collectorRadius-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(P.lx,P.ly)))}const w={name:"Set Solar Collector Radius for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(P.lx,P.ly)))}const w={name:"Set Solar Collector Radius for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(S.lx,S.ly)):s.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(s.lx,s.ly));f(s.id,v);const T={name:"Set Solar Collector Radius on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorRadius",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:1e3,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [1, 1000] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Bso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.collectorTransmissivity)??.9),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorTransmissivity=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.collectorTransmissivity=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorTransmissivity=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(w.solarUpdraftTower.collectorTransmissivity-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(w.solarUpdraftTower.collectorTransmissivity-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(s.solarUpdraftTower.collectorTransmissivity-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorTransmissivity??.9)}const w={name:"Set Solar Collector Transmissivity for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorTransmissivity??.9)}const w={name:"Set Solar Collector Transmissivity for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.collectorTransmissivity??.9:s.solarUpdraftTower.collectorTransmissivity??.9;f(s.id,v);const T={name:"Set Solar Collector Transmissivity on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:540,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorTransmissivity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},jso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.collectorEmissivity)??.95),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorEmissivity=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.collectorEmissivity=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorEmissivity=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(w.solarUpdraftTower.collectorEmissivity-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(w.solarUpdraftTower.collectorEmissivity-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(s.solarUpdraftTower.collectorEmissivity-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorEmissivity??.95)}const w={name:"Set Solar Collector Emissivity for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorEmissivity??.95)}const w={name:"Set Solar Collector Emissivity for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.collectorEmissivity??.95:s.solarUpdraftTower.collectorEmissivity??.95;f(s.id,v);const T={name:"Set Solar Collector Emissivity on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:540,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorEmissivity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.01,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Yso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.dischargeCoefficient)??.65),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.dischargeCoefficient=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.dischargeCoefficient=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.dischargeCoefficient=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(w.solarUpdraftTower.dischargeCoefficient-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(w.solarUpdraftTower.dischargeCoefficient-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(s.solarUpdraftTower.dischargeCoefficient-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.dischargeCoefficient??.65)}const w={name:"Set Solar Chimney Discharge Coefficient for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.dischargeCoefficient??.65)}const w={name:"Set Solar Chimney Discharge Coefficient for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.dischargeCoefficient??.65:s.solarUpdraftTower.dischargeCoefficient??.65;f(s.id,v);const T={name:"Set Solar Chimney Discharge Coefficient on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:540,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerDischargeCoefficient",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.65,max:.7,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.65, 0.70]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Oso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.turbineEfficiency)??.3),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.turbineEfficiency=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.turbineEfficiency=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.turbineEfficiency=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(w.solarUpdraftTower.turbineEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(w.solarUpdraftTower.turbineEfficiency-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(s.solarUpdraftTower.turbineEfficiency-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.turbineEfficiency??.3)}const w={name:"Set Solar Updraft Tower Turbine Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.turbineEfficiency??.3)}const w={name:"Set Solar Updraft Tower Turbine Efficiency for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.turbineEfficiency??.3:s.solarUpdraftTower.turbineEfficiency??.3;f(s.id,v);const T={name:"Set Solar Updraft Tower Turbine Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:540,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerTurbineEfficiency",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.2,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.2, 1.0]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},{Option:BT}=Yo,_so=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=gt(K2),[r,a]=m.useState(!1),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=M(pA).geneticAlgorithmParams,p=m.useRef(f.selectionMethod),g=m.useRef(f.searchMethod),y=m.useRef(Math.min(f.objectiveFunctionType,xo.YEARLY_TOTAL_OUTPUT)),A=m.useRef(f.populationSize),x=m.useRef(f.maximumGenerations),C=m.useRef(f.mutationRate),b=m.useRef(f.selectionRate??.5),v=m.useRef(f.crossoverRate??.5),S=m.useRef(f.convergenceThreshold),w=m.useRef(f.localSearchRadius),T=m.useRef(null);m.useEffect(()=>{var L;(L=T.current)==null||L.focus()},[]);const P={lng:o},R=(L,U)=>{if(d.current){const{clientWidth:F,clientHeight:W}=window.document.documentElement,B=d.current.getBoundingClientRect();u({left:-B.left+U.x,right:F-(B.right-U.x),top:-B.top+U.y,bottom:W-((B==null?void 0:B.bottom)-U.y)})}},H=()=>{e(L=>{L.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,L.evolutionaryAlgorithmState.geneticAlgorithmParams.objectiveFunctionType=y.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionMethod=p.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.searchMethod=g.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.populationSize=A.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.maximumGenerations=x.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionRate=b.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.crossoverRate=v.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.mutationRate=C.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.convergenceThreshold=S.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.localSearchRadius=w.current})},D=()=>{i||fn(E("message.EvolutionStarted",P)),H(),setTimeout(()=>{gt.getState().set(L=>{L.runEvolution=!L.runEvolution}),e(L=>{L.evolutionMethod=Bs.GENETIC_ALGORITHM,L.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,n&&(L.actionInfo={name:"Run Genetic Algorithm for Solar Panel Tilt Angle",timestamp:new Date().getTime()})})},100)},{t:E}=jl();return h.jsx(h.Fragment,{children:h.jsxs(_r,{width:640,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:[E("optimizationMenu.SolarPanelTiltAngleOptimization",P)+": ",E("optimizationMenu.GeneticAlgorithmSettings",P)]}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:E("word.Cancel",P)},"Cancel"),h.jsx(no,{type:"primary",ref:T,onClick:()=>{D(),t(!1)},children:E("word.Run",P)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:L=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(U,F)=>R(U,F),children:h.jsx("div",{ref:d,children:L})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.Objective",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:y.current,style:{width:"100%"},value:y.current,onChange:L=>{y.current=L,a(!r)},children:[h.jsx(BT,{value:xo.DAILY_TOTAL_OUTPUT,children:E("optimizationMenu.ObjectiveFunctionDailyTotalYield",P)},xo.DAILY_TOTAL_OUTPUT),h.jsx(BT,{value:xo.YEARLY_TOTAL_OUTPUT,children:E("optimizationMenu.ObjectiveFunctionYearlyTotalYield",P)},xo.YEARLY_TOTAL_OUTPUT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.GeneticAlgorithmSelectionMethod",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:p.current,style:{width:"100%"},value:p.current,onChange:L=>{p.current=L,a(!r)},children:[h.jsx(BT,{value:Im.ROULETTE_WHEEL,children:E("optimizationMenu.RouletteWheel",P)},Im.ROULETTE_WHEEL),h.jsx(BT,{value:Im.TOURNAMENT,children:E("optimizationMenu.Tournament",P)},Im.TOURNAMENT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.PopulationSize",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,formatter:L=>Number(L).toFixed(0),value:A.current,step:1,onChange:L=>{L!==null&&(A.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.MaximumGenerations",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,formatter:L=>Number(L).toFixed(0),value:x.current,onChange:L=>{L!==null&&(x.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SelectionRate",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:b.current,step:.01,onChange:L=>{L!==null&&(b.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.CrossoverRate",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:v.current,step:.01,onChange:L=>{L!==null&&(v.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.MutationRate",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:C.current,step:.01,onChange:L=>{L!==null&&(C.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.ConvergenceThreshold",P)+" [0, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:S.current,step:.001,onChange:L=>{L!==null&&(S.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SearchMethod",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:g.current,style:{width:"100%"},value:g.current,onChange:L=>{g.current=Number(L),a(!r)},children:[h.jsx(BT,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:E("optimizationMenu.GlobalSearchUniformSelection",P)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(BT,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:E("optimizationMenu.LocalSearchRandomOptimization",P)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),g.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.LocalSearchRadius",P)+" ([0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:w.current,step:.01,onChange:L=>{L!==null&&(w.current=Number(L),a(!r))}})})]})]})})},{Option:CO}=Yo,Vso=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=gt(K2),r=M(pA).particleSwarmOptimizationParams,[a,l]=m.useState(!1),[s,c]=m.useState(!1),[u,d]=m.useState({left:0,top:0,bottom:0,right:0}),f=m.useRef(null),p=m.useRef(Math.min(r.objectiveFunctionType,xo.YEARLY_TOTAL_OUTPUT)),g=m.useRef(r.searchMethod),y=m.useRef(r.swarmSize),A=m.useRef(r.maximumSteps),x=m.useRef(r.vmax??.01),C=m.useRef(r.inertia??.8),b=m.useRef(r.cognitiveCoefficient??.1),v=m.useRef(r.socialCoefficient??.1),S=m.useRef(r.convergenceThreshold),w=m.useRef(r.localSearchRadius),T=m.useRef(null);m.useEffect(()=>{var L;(L=T.current)==null||L.focus()},[]);const P={lng:o},R=(L,U)=>{if(f.current){const{clientWidth:F,clientHeight:W}=window.document.documentElement,B=f.current.getBoundingClientRect();d({left:-B.left+U.x,right:F-(B.right-U.x),top:-B.top+U.y,bottom:W-((B==null?void 0:B.bottom)-U.y)})}},H=()=>{e(L=>{L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.objectiveFunctionType=p.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.searchMethod=g.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.swarmSize=y.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.maximumSteps=A.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.cognitiveCoefficient=b.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.socialCoefficient=v.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.vmax=x.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.inertia=C.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.convergenceThreshold=S.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.localSearchRadius=w.current})},D=()=>{i||fn(E("message.EvolutionStarted",P)),H(),setTimeout(()=>{gt.getState().set(L=>{L.runEvolution=!L.runEvolution}),e(L=>{L.evolutionMethod=Bs.PARTICLE_SWARM_OPTIMIZATION,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,n&&(L.actionInfo={name:"Run Particle Swarm Optimization for Solar Panel Tilt Angle",timestamp:new Date().getTime()})})},100)},{t:E}=jl();return h.jsx(h.Fragment,{children:h.jsxs(_r,{width:640,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>c(!0),onMouseOut:()=>c(!1),children:[E("optimizationMenu.SolarPanelTiltAngleOptimization",P)+": ",E("optimizationMenu.ParticleSwarmOptimizationSettings",P)]}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:E("word.Cancel",P)},"Cancel"),h.jsx(no,{type:"primary",ref:T,onClick:()=>{D(),t(!1)},children:E("word.Run",P)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:L=>h.jsx(Vr,{disabled:!s,bounds:u,onStart:(U,F)=>R(U,F),children:h.jsx("div",{ref:f,children:L})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.Objective",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:p.current,style:{width:"100%"},value:p.current,onChange:L=>{p.current=L,l(!a)},children:[h.jsx(CO,{value:xo.DAILY_TOTAL_OUTPUT,children:E("optimizationMenu.ObjectiveFunctionDailyTotalYield",P)},xo.DAILY_TOTAL_OUTPUT),h.jsx(CO,{value:xo.YEARLY_TOTAL_OUTPUT,children:E("optimizationMenu.ObjectiveFunctionYearlyTotalYield",P)},xo.YEARLY_TOTAL_OUTPUT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SwarmSize",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:y.current,step:1,formatter:L=>Number(L).toFixed(0),onChange:L=>{y.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.MaximumSteps",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:A.current,formatter:L=>Number(L).toFixed(0),onChange:L=>{A.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.CognitiveCoefficient",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:b.current,step:.01,onChange:L=>{b.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SocialCoefficient",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:v.current,step:.01,onChange:L=>{v.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.InertiaWeight",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:C.current,step:.01,onChange:L=>{C.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.MaximumVelocity",P)+" [0.001, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:x.current,step:.001,onChange:L=>{x.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.ConvergenceThreshold",P)+" [0, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:S.current,step:.001,onChange:L=>{S.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SearchMethod",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:g.current,style:{width:"100%"},value:g.current,onChange:L=>{g.current=Number(L),l(!a)},children:[h.jsx(CO,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:E("optimizationMenu.GlobalSearchUniformSelection",P)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(CO,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:E("optimizationMenu.LocalSearchRandomOptimization",P)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),g.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.LocalSearchRadius",P)+" ([0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:w.current,step:.01,onChange:L=>{w.current=Number(L),l(!a)}})})]})]})})},ry=({children:t,width:e="90px"})=>h.jsx("div",{style:{width:e},children:t}),Gso=({element:t})=>{const e=Btt(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!(t!=null&&t.showLabel),onChange:e,children:O.t("labelSubMenu.KeepShowingLabel",n)})})},Xso=({element:t})=>{const{labelText:e,setLabelText:n}=Utt(t),o=jtt(t,e),i=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelText",i)+":"}),value:e,onChange:r=>n(r.target.value),onPressEnter:o,onBlur:o})})},Jso=({element:t})=>{const e=vOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelHeight",n)+":"}),min:t.lz/2+.2,max:100,step:1,precision:1,value:t.labelHeight??t.lz/2+.2,onChange:o=>e(o)})})},Kso=({element:t})=>{const e=yOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelFontSize",n)+":"}),min:10,max:100,step:1,precision:0,value:t.labelFontSize??20,onChange:o=>e(o)})})},qso=({element:t})=>{const e=AOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelSize",n)+":"}),min:.2,max:5,step:.1,precision:1,value:t.labelSize??.2,onChange:o=>e(o)})})},$so=({element:t})=>{const e=wOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelColor",n)+":"}),value:t.labelColor??"#ffffff",onChange:o=>e(o.target.value)})})},vA=t=>[{key:`${t.type}-show-label`,label:h.jsx(Gso,{element:t})},{key:`${t.type}-label-text`,label:h.jsx(Xso,{element:t})},{key:`${t.type}-label-height`,label:h.jsx(Jso,{element:t})},{key:`${t.type}-label-font-size`,label:h.jsx(Kso,{element:t})},{key:`${t.type}-label-size`,label:h.jsx(qso,{element:t})},{key:`${t.type}-label-color`,label:h.jsx($so,{element:t})}],Qso=[{key:"windowCount",objectType:z.Window},{key:"doorCount",objectType:z.Door},{key:"sensorCount",objectType:z.Sensor},{key:"outsideLightCount",objectType:z.Light},{key:"parabolicTroughCount",objectType:z.ParabolicTrough},{key:"parabolicDishCount",objectType:z.ParabolicDish},{key:"fresnelReflectorCount",objectType:z.FresnelReflector},{key:"heliostatCount",objectType:z.Heliostat},{key:"windTurbineCount",objectType:z.WindTurbine},{key:"polygonCount",objectType:z.Polygon},{key:"humanCount",objectType:z.Human},{key:"treeCount",objectType:z.Tree},{key:"flowerCount",objectType:z.Flower}],ORe=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.Wall:{o=`${O.t("foundationMenu.RemoveAllUnlockedWalls",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllWallsOnFoundation",n)} (${e} ${O.t("foundationMenu.Walls",n)})`;break}case z.Window:{o=`${O.t("foundationMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllWindowsOnFoundation",n)} (${e} ${O.t("foundationMenu.Windows",n)})`;break}case z.Door:{o=`${O.t("foundationMenu.RemoveAllUnlockedDoors",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllDoorsOnFoundation",n)} (${e} ${O.t("foundationMenu.Doors",n)})`;break}case z.Sensor:{o=`${O.t("foundationMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllSensorsOnFoundation",n)} (${e} ${O.t("foundationMenu.Sensors",n)})`;break}case z.Light:{o=`${O.t("foundationMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllLightsOnFoundation",n)} (${e} ${O.t("foundationMenu.Lights",n)})`;break}case z.ParabolicTrough:{o=`${O.t("foundationMenu.RemoveAllUnlockedParabolicTroughs",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation",n)} (${e} ${O.t("foundationMenu.ParabolicTroughs",n)})`;break}case z.ParabolicDish:{o=`${O.t("foundationMenu.RemoveAllUnlockedParabolicDishes",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllParabolicDishesOnFoundation",n)} (${e} ${O.t("foundationMenu.ParabolicDishes",n)})`;break}case z.FresnelReflector:{o=`${O.t("foundationMenu.RemoveAllUnlockedFresnelReflectors",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation",n)} (${e} ${O.t("foundationMenu.FresnelReflectors",n)})`;break}case z.Heliostat:{o=`${O.t("foundationMenu.RemoveAllUnlockedHeliostats",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllHeliostatsOnFoundation",n)} (${e} ${O.t("foundationMenu.Heliostats",n)})`;break}case z.WindTurbine:{o=`${O.t("foundationMenu.RemoveAllUnlockedWindTurbines",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllWindTurbinesOnFoundation",n)} (${e} ${O.t("foundationMenu.WindTurbines",n)})`;break}case z.Polygon:{o=`${O.t("foundationMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllPolygonsOnFoundation",n)} (${e} ${O.t("foundationMenu.Polygons",n)})`;break}case z.Human:{o=`${O.t("foundationMenu.RemoveAllUnlockedHumans",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllHumansOnFoundation",n)} (${e} ${O.t("foundationMenu.Humans",n)})`;break}case z.Tree:{o=`${O.t("foundationMenu.RemoveAllUnlockedTrees",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllTreesOnFoundation",n)} (${e} ${O.t("foundationMenu.Trees",n)})`;break}case z.Flower:{o=`${O.t("foundationMenu.RemoveAllUnlockedFlowers",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllFlowersOnFoundation",n)} (${e} ${O.t("foundationMenu.Flowers",n)})`;break}}return{itemLabel:o,modalTitle:i}},Zso=(t,e,n)=>n===z.Light?t.insideLightCount+t.outsideLightCount:t[e],eco=t=>{const e=M.getState().set,n=new Set;M.getState().elements.forEach(a=>{!a.locked&&a.type===z.Wall&&(a.parentId===t.id||a.foundationId===t.id)&&n.add(a.id)});const o=M.getState().elements.filter(a=>n.has(a.id)||n.has(a.parentId));e(a=>{a.elements=a.elements.filter(l=>!n.has(l.id)&&!n.has(l.parentId))});const i=JSON.parse(JSON.stringify(o)),r={name:"Remove All Walls on Foundation",timestamp:Date.now(),parentId:t.id,removedElements:i,undo:()=>{e(a=>{a.elements.push(...r.removedElements),a.updateWallMapOnFoundationFlag=!a.updateWallMapOnFoundationFlag})},redo:()=>{const a=new Set;M.getState().elements.forEach(l=>{!l.locked&&l.type===z.Wall&&l.parentId===r.parentId&&a.add(l.id)}),e(l=>{l.elements=l.elements.filter(s=>!a.has(s.id)&&!a.has(s.parentId))})}};M.getState().addUndoable(r)},tco=(t,e,n)=>{const o=[],i={lng:M.getState().language};if(e.unlockedCount>0&&o.push({key:"lock-all-offsprings",label:h.jsx(cCe,{foundation:t,lock:!0,count:e.unlockedCount})}),e.lockedCount>0&&o.push({key:"unlock-all-offsprings",label:h.jsx(cCe,{foundation:t,lock:!1,count:e.lockedCount})}),n.wallCount>0){const{itemLabel:r,modalTitle:a}=ORe(z.Wall,n.wallCount);o.push({key:"remove-all-walls-on-foundation",label:h.jsx(eae,{foundation:t,objectType:z.Wall,modalTitle:a,onClickOk:()=>eco(t),children:r})})}if(n.solarPanelCount>0){const r=O.t("foundationMenu.DoYouReallyWantToRemoveAllSolarPanelsOnFoundation",i)+" ("+n.solarPanelModuleCount+" "+O.t("foundationMenu.SolarPanels",i)+", "+n.solarPanelCount+" "+O.t("foundationMenu.Racks",i)+")?";o.push({key:"remove-all-solar-panels-on-foundation",label:h.jsxs(eae,{foundation:t,objectType:z.SolarPanel,modalTitle:r,children:[O.t("foundationMenu.RemoveAllUnlockedSolarPanels",i),"  (",n.solarPanelModuleCount," ",O.t("foundationMenu.SolarPanels",i),", ",n.solarPanelCount," ",O.t("foundationMenu.Racks",i),")"]})})}return Qso.forEach(({key:r,objectType:a})=>{const l=Zso(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=ORe(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-foundation`,label:h.jsx(eae,{foundation:t,objectType:a,modalTitle:c,children:s})})}}),o},nco=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Polygon||e.type===z.Sensor||e.type===z.Light||e.type===z.SolarPanel||e.type===z.WaterHeater||e.type===z.ParabolicDish||e.type===z.Heliostat||e.type===z.FresnelReflector||e.type===z.ParabolicTrough||e.type===z.WindTurbine||e.type===z.Wall)return!0}return!1},oco=t=>{const e=[];if(t.type!==z.Foundation)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked,r=!n.notBuilding&&be.getBuildingCompletionStatus(n,M.getState().elements)===Uc.COMPLETE,a=M.getState().countAllOffspringsByTypeAtOnce(n.id,!0),l=M.getState().countAllOffspringsByTypeAtOnce(n.id,!1);return nco()&&e.push({key:"foundation-paste",label:h.jsx(OH,{})}),e.push({key:"foundation-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"foundation-cut",label:h.jsx(Tf,{})}),e.push({key:"foundation-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"foundation-group-master",label:h.jsx(m$e,{groupableElement:n})}),e.push({key:"building",label:h.jsx(dOn,{foundation:n})}),a.gotSome()&&e.push({key:"lock-unlock-clear-on-foundation",label:h.jsx(tn,{children:O.t("word.Elements",o)}),children:tco(n,a,l)}),i&&((!n.textureType||n.textureType===Or.NoTexture)&&e.push({key:"fountaion-color",label:h.jsxs(io,{Dialog:wso,children:[O.t("word.Color",o)," ..."]})}),e.push({key:"fountaion-texture",label:h.jsxs(io,{Dialog:xOn,children:[O.t("word.Texture",o)," ..."]})}),e.push({key:"fountaion-length",label:h.jsxs(io,{Dialog:vso,children:[O.t("word.Length",o)," ..."]})}),e.push({key:"fountaion-width",label:h.jsxs(io,{Dialog:xso,children:[O.t("word.Width",o)," ..."]})}),e.push({key:"fountaion-height",label:h.jsxs(io,{Dialog:bso,children:[O.t("word.Height",o)," ..."]})}),e.push({key:"fountaion-azimuth",label:h.jsxs(io,{Dialog:Sso,children:[O.t("word.Azimuth",o)," ..."]})}),r&&e.push({key:"ground-floor-r-value",label:h.jsxs(io,{Dialog:Tso,children:[O.t("foundationMenu.GroundFloorRValue",o)," ..."]})})),e.push({key:"add-polygon-on-foundation",label:h.jsx(fOn,{foundation:n})}),!n.notBuilding&&a.wallCount>0&&e.push({key:"building-hvac-system",label:h.jsx(tn,{children:O.t("word.BuildingHVACSystem",o)}),children:[{key:"hvac-system-id",label:h.jsx(hOn,{foundation:n})},{key:"thermostat-temperature",label:h.jsx(pOn,{foundation:n})},{key:"tolerance-threshold",label:h.jsx(gOn,{foundation:n})}]}),i&&(e.push({key:"select-solar-structure",label:h.jsx(tn,{children:O.t("foundationMenu.SolarStructure",o)}),children:[{key:"select-solar-structure-submenu",label:h.jsx(mOn,{foundation:n}),style:{backgroundColor:"white"}}]}),n.solarStructure===zn.FocusPipe&&e.push({key:"solar-absorber-pipe-physical-properties",label:h.jsx(tn,{children:O.t("solarAbsorberPipeMenu.AbsorberPipePhysicalProperties",o)}),children:[{key:"solar-absorber-pipe-height",label:h.jsxs(io,{noPadding:!0,Dialog:Pso,children:[O.t("solarAbsorberPipeMenu.AbsorberHeight",o)," ..."]})},{key:"solar-absorber-pipe-aperture-width",label:h.jsxs(io,{noPadding:!0,Dialog:Cso,children:[O.t("solarAbsorberPipeMenu.AbsorberApertureWidth",o)," ..."]})},{key:"foundation-solar-receiver-pipe-pole-number",label:h.jsxs(io,{noPadding:!0,Dialog:Rso,children:[O.t("solarAbsorberPipeMenu.AbsorberPipePoleNumber",o)," ..."]})},{key:"solar-absorber-pipe-absorptance",label:h.jsxs(io,{noPadding:!0,Dialog:Hso,children:[O.t("solarAbsorberPipeMenu.AbsorberAbsorptance",o)," ..."]})},{key:"solar-absorber-optical-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Mso,children:[O.t("solarAbsorberPipeMenu.AbsorberOpticalEfficiency",o)," ..."]})},{key:"solar-absorber-thermal-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Iso,children:[O.t("solarAbsorberPipeMenu.AbsorberThermalEfficiency",o)," ..."]})}]}),n.solarStructure===zn.FocusTower&&e.push({key:"solar-power-tower-physical-properties",label:h.jsx(tn,{children:O.t("solarPowerTowerMenu.ReceiverTowerPhysicalProperties",o)}),children:[{key:"solar-power-tower-height",label:h.jsxs(io,{noPadding:!0,Dialog:zso,children:[O.t("solarPowerTowerMenu.ReceiverTowerHeight",o)," ..."]})},{key:"solar-power-tower-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Dso,children:[O.t("solarPowerTowerMenu.ReceiverTowerRadius",o)," ..."]})},{key:"solar-power-tower-receiver-absorptance",label:h.jsxs(io,{noPadding:!0,Dialog:Eso,children:[O.t("solarPowerTowerMenu.ReceiverAbsorptance",o)," ..."]})},{key:"solar-power-tower-receiver-optical-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Fso,children:[O.t("solarPowerTowerMenu.ReceiverOpticalEfficiency",o)," ..."]})},{key:"solar-power-tower-receiver-thermal-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:kso,children:[O.t("solarPowerTowerMenu.ReceiverThermalEfficiency",o)," ..."]})}]}),n.solarStructure===zn.UpdraftTower&&e.push({key:"solar-updraft-tower-physical-properties",label:h.jsx(tn,{children:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerPhysicalProperties",o)}),children:[{key:"solar-updraft-tower-chimney-height",label:h.jsxs(io,{noPadding:!0,Dialog:Lso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyHeight",o)," ..."]})},{key:"solar-updraft-tower-chimney-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Wso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyRadius",o)," ..."]})},{key:"solar-updraft-tower-collector-height",label:h.jsxs(io,{noPadding:!0,Dialog:Nso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorHeight",o)," ..."]})},{key:"solar-updraft-tower-collector-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Uso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorRadius",o)," ..."]})},{key:"solar-updraft-tower-collector-transmissivity",label:h.jsxs(io,{noPadding:!0,Dialog:Bso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorTransmissivity",o)," ..."]})},{key:"solar-updraft-tower-collector-emissivity",label:h.jsxs(io,{noPadding:!0,Dialog:jso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorEmissivity",o)," ..."]})},{key:"solar-updraft-tower-discharge-coefficient",label:h.jsxs(io,{noPadding:!0,Dialog:Yso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerDischargeCoefficient",o)," ..."]})},{key:"solar-updraft-tower-turbine-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Oso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerTurbineEfficiency",o)," ..."]})}]})),e.push({key:"optimization",label:h.jsx(tn,{children:O.t("optimizationMenu.Optimization",o)}),children:[{key:"genetic-algorithms",label:h.jsx(tn,{noPadding:!0,children:O.t("optimizationMenu.GeneticAlgorithm",o)}),disabled:l.solarPanelCount===0,children:[{key:"solar-panel-tilt-angle-ga-optimizer",label:h.jsxs(io,{noPadding:!0,Dialog:_so,children:[O.t("optimizationMenu.SolarPanelTiltAngleOptimization",o),"..."]})}]},{key:"particle-swarm-optimization",label:h.jsx(tn,{noPadding:!0,children:O.t("optimizationMenu.ParticleSwarmOptimization",o)}),disabled:l.solarPanelCount===0,children:[{key:"solar-panel-tilt-angle-pso-optimizer",label:h.jsxs(io,{noPadding:!0,Dialog:Vso,children:[O.t("optimizationMenu.SolarPanelTiltAngleOptimization",o),"..."]})}]}]}),i&&e.push({key:"foundation-label",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},ico=({cuboid:t})=>{const e=Kt(),n=()=>{M.getState().set(o=>{for(const i of o.elements)if(i.id===t.id&&i.type===z.Cuboid){const r=i,a=!r.stackable;r.stackable=a,o.actionState.cuboidStackable=a;break}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.stackable,onChange:n,children:O.t("cuboidMenu.Stackable",e)})})},rco=({cuboid:t,selectedSideIndex:e})=>{const n=Kt(),o=M.getState().set,i=()=>{o(c=>{c.objectTypeToAdd=z.Polygon});const{pos:r}=be.getWorldDataById(t.id);let a;switch(e){case 0:a=Np;break;case 1:a=Up;break;case 2:a=Yc;break;case 3:a=Bp;break;default:a=Po,r.z=t.lz}const l=M.getState().addElement(t,r,a),s={name:"Add",timestamp:Date.now(),addedElement:l,undo:()=>{M.getState().removeElementById(s.addedElement.id,!1)},redo:()=>{o(c=>{c.elements.push(s.addedElement),c.selectedElement=s.addedElement})}};M.getState().addUndoable(s),o(c=>{c.objectTypeToAdd=z.None})};return h.jsx(tn,{onClick:i,children:O.t("cuboidMenu.AddPolygon",n)})},_Re=({cuboid:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Cuboid`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx(qm,{}),onOk:s})};return h.jsx(tn,{noPadding:!0,onClick:l,children:i})},aco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(SH),r=M(TH),a=M(qBe),l=M(ro),s=M(oo),c=co(z.Cuboid),[u,d]=m.useState((c==null?void 0:c.color)??"#808080"),[f,p]=m.useState(!1),g=Kt();m.useEffect(()=>{b()},[c,a]);const y=(R,H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.Cuboid&&L.id===H&&!L.locked){const U=L;U.faceColors||(U.faceColors=new Array(6),U.faceColors.fill(U.color??D)),U.faceColors[R]=D;break}})},A=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.Cuboid&&E.id===R&&!E.locked){E.color=H;const L=E;L.faceColors||(L.faceColors=new Array(6));for(let U=0;U<4;U++)L.faceColors[U]=H;break}})},x=R=>{e(H=>{for(const D of H.elements)if(D.type===z.Cuboid&&!D.locked){D.color=R;const E=D;E.faceColors||(E.faceColors=new Array(6));for(let L=0;L<4;L++)E.faceColors[L]=R}})},C=R=>{r(R.target.value),p(!f)},b=()=>{c&&(a>=0&&c.faceColors?d(c.faceColors[a]):d(c.color??"#808080"))},v=R=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Cuboid&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)){const D=H;if(D.faceColors){for(let E=0;E<4;E++)if(R!==D.faceColors[E])return!0}else if(R!==D.color)return!0}break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Cuboid&&!H.locked){const D=H;if(D.faceColors){for(let E=0;E<4;E++)if(R!==D.faceColors[E])return!0}else if(R!==D.color)return!0}break;case ue.OnlyThisObject:if(c.faceColors){for(let H=0;H<4;H++)if(R!==c.faceColors[H])return!0}else if(R!==(c==null?void 0:c.color))return!0;break;default:if(a>=0){const H=c!=null&&c.faceColors?c==null?void 0:c.faceColors[a]:c==null?void 0:c.color;if(R!==H)return!0}else if(R!==(c==null?void 0:c.color))return!0}return!1}},S=R=>{if(c&&v(R)){switch(i){case ue.AllSelectedObjectsOfThisType:{const E=new Map;for(const U of n)if(U.type===z.Cuboid&&M.getState().selectedElementIdSet.has(U.id)){const F=U;if(F.faceColors)E.set(U.id,[...F.faceColors]);else{const W=F.color??"#808080";E.set(U.id,[W,W,W,W,W,W])}}const L={name:"Set Color for Selected Cuboids",timestamp:Date.now(),oldValues:E,newValue:R,undo:()=>{for(const[U,F]of L.oldValues.entries())if(F&&Array.isArray(F))for(let W=0;W{for(const[U,F]of L.oldValues.entries())if(F&&Array.isArray(F))for(let W=0;W{U.actionState.cuboidFaceColors||(U.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let F=0;F<4;F++)U.actionState.cuboidFaceColors[F]=R});break}case ue.AllObjectsOfThisType:{const E=new Map;for(const U of n)if(U.type===z.Cuboid){const F=U;if(F.faceColors)E.set(U.id,[...F.faceColors]);else{const W=F.color??"#808080";E.set(U.id,[W,W,W,W,W,W])}}const L={name:"Set Color for All Cuboids",timestamp:Date.now(),oldValues:E,newValue:R,undo:()=>{for(const[U,F]of L.oldValues.entries())if(F&&Array.isArray(F))for(let W=0;W{x(L.newValue)}};o(L),x(R),s(l+1),e(U=>{U.actionState.cuboidFaceColors||(U.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let F=0;F<4;F++)U.actionState.cuboidFaceColors[F]=R});break}case ue.OnlyThisObject:let H;if(c.faceColors)H=[...c.faceColors];else{const E=c.color??"#808080";H=[E,E,E,E,E,E]}const D={name:"Set Color for All Sides of Selected Cuboid",timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:c.id,changedElementType:c.type,undo:()=>{if(D.oldValue&&Array.isArray(D.oldValue))for(let E=0;E{A(D.changedElementId,D.newValue)}};o(D),A(c.id,R),s(l+1),e(E=>{E.actionState.cuboidFaceColors||(E.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let L=0;L<4;L++)E.actionState.cuboidFaceColors[L]=R});break;default:if(a>=0){const E=c.faceColors?c.faceColors[a]:c.color,L={name:"Set Color for Selected Side of Cuboid",timestamp:Date.now(),oldValue:E,newValue:R,changedElementId:c.id,changedElementType:c.type,changedSideIndex:a,undo:()=>{L.changedSideIndex!==void 0&&y(L.changedSideIndex,L.changedElementId,L.oldValue)},redo:()=>{L.changedSideIndex!==void 0&&y(L.changedSideIndex,L.changedElementId,L.newValue)}};o(L),y(a,c.id,R),s(l+1),e(U=>{U.actionState.cuboidFaceColors||(U.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]),U.actionState.cuboidFaceColors[a]=R})}}p(!f)}},w=()=>{b(),t(!1)},T=()=>{S(u),t(!1),s(0)},P=a>=0&&(c!=null&&c.faceColors)?c.faceColors[a]:(c==null?void 0:c.color)??"#808080";return h.jsx(lo,{width:600,title:O.t("word.Color",g),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:u??P,onChangeComplete:R=>{d(R.hex),p(!f)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:C,value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("cuboidMenu.OnlyThisSide",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.AllSidesOfThisCuboid",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSidesOfSelectedCuboids",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllSidesOfAllCuboids",g)})]})})})]})})},lco="/aladdin/assets/building_facade_01_menu-BAm4EVGn.png",sco="/aladdin/assets/building_facade_02_menu-BylQ9E0j.png",cco="/aladdin/assets/building_facade_03_menu-DfU_cdlP.png",uco="/aladdin/assets/building_facade_04_menu-Bz2bcbq0.png",dco="/aladdin/assets/building_facade_05_menu-hF6OsAF0.png",fco="/aladdin/assets/building_facade_06_menu-CUmtyI19.png",hco="/aladdin/assets/building_facade_07_menu-B8_DYqYz.png",pco="/aladdin/assets/building_facade_08_menu-CTA_rxim.png",gco="/aladdin/assets/building_facade_09_menu-BpQDoLbY.png",mco="/aladdin/assets/building_facade_10_menu-z_jZrQMT.png",yco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(SH),r=M(TH),a=M(qBe),l=M(ro),s=M(oo),c=co(z.Cuboid),[u,d]=m.useState(c&&c.textureTypes&&a>=0?c.textureTypes[a]:Co.NoTexture),f=Kt(),{Option:p}=Yo;m.useEffect(()=>{c&&d(c.textureTypes&&a>=0?c.textureTypes[a]:Co.NoTexture)},[c,a]);const g=(T,P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.Cuboid&&D.id===P&&!D.locked){const E=D;E.textureTypes||(E.textureTypes=new Array(6),E.textureTypes.fill(Co.NoTexture)),E.textureTypes[T]=R;break}})},y=(T,P)=>{e(R=>{for(const H of R.elements)if(H.type===z.Cuboid&&H.id===T&&!H.locked){const D=H;D.textureTypes||(D.textureTypes=new Array(6),D.textureTypes.fill(Co.NoTexture));for(let E=0;E<4;E++)D.textureTypes[E]=P;break}})},A=(T,P)=>{e(R=>{for(const H of R.elements)if(H.type===z.Cuboid&&!H.locked&&T.has(H.id)){const D=H;if(D.textureTypes||(D.textureTypes=new Array(6),D.textureTypes.fill(Co.NoTexture)),P!==void 0)for(let E=0;E<4;E++)D.textureTypes[E]=P;else{const E=T.get(H.id);if(E&&E.length>=4)for(let L=0;L<4;L++)D.textureTypes[L]=E[L]}}})},x=T=>{e(P=>{for(const R of P.elements)if(R.type===z.Cuboid&&!R.locked){const H=R;H.textureTypes||(H.textureTypes=new Array(6),H.textureTypes.fill(Co.NoTexture));for(let D=0;D<4;D++)H.textureTypes[D]=T}})},C=T=>{r(T.target.value)},b=T=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Cuboid&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const R=P;if(R.textureTypes){for(let H=0;H<4;H++)if(T!==R.textureTypes[H])return!0}}break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Cuboid&&!P.locked){const R=P;if(R.textureTypes){for(let H=0;H<4;H++)if(T!==R.textureTypes[H])return!0}}break;case ue.OnlyThisObject:if(c.textureTypes){for(let P=0;P<4;P++)if(T!==c.textureTypes[P])return!0}break;default:if(a>=0&&c.textureTypes&&T!==c.textureTypes[a])return!0}return!1}},v=T=>{if(c&&b(T))switch(i){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)if(E.type===z.Cuboid&&M.getState().selectedElementIdSet.has(E.id)){const L=E;H.set(E.id,L.textureTypes?[...L.textureTypes]:void 0)}const D={name:"Set Texture for Selected Cuboids",timestamp:Date.now(),oldValues:H,newValue:T,undo:()=>{for(const[E,L]of D.oldValues.entries())if(L&&Array.isArray(L))for(let U=0;U{A(D.oldValues,D.newValue)}};o(D),A(H,T),s(l+1),e(E=>{E.actionState.cuboidFaceTextures||(E.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let L=0;L<4;L++)E.actionState.cuboidFaceTextures[L]=T});break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)if(E.type===z.Cuboid){const L=E;H.set(E.id,L.textureTypes?[...L.textureTypes]:void 0)}const D={name:"Set Texture for All Cuboids",timestamp:Date.now(),oldValues:H,newValue:T,undo:()=>{for(const[E,L]of D.oldValues.entries())if(L&&Array.isArray(L))for(let U=0;U{x(D.newValue)}};o(D),x(T),s(l+1),e(E=>{E.actionState.cuboidFaceTextures||(E.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let L=0;L<4;L++)E.actionState.cuboidFaceTextures[L]=T});break}case ue.OnlyThisObject:const P=c.textureTypes?[...c.textureTypes]:void 0,R={name:"Set Texture for All Sides of Selected Cuboid",timestamp:Date.now(),oldValue:P,newValue:T,changedElementId:c.id,changedElementType:c.type,undo:()=>{if(R.oldValue&&Array.isArray(R.oldValue))for(let H=0;H{y(R.changedElementId,R.newValue)}};o(R),y(c.id,T),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let D=0;D<4;D++)H.actionState.cuboidFaceTextures[D]=T});break;default:if(a>=0){const H=c.textureTypes?c.textureTypes[a]:Co.NoTexture,D={name:"Set Texture for Selected Side of Cuboid",timestamp:Date.now(),oldValue:H,newValue:T,changedElementId:c.id,changedElementType:c.type,changedSideIndex:a,undo:()=>{D.changedSideIndex!==void 0&&g(D.changedSideIndex,D.changedElementId,D.oldValue)},redo:()=>{D.changedSideIndex!==void 0&&g(D.changedSideIndex,D.changedElementId,D.newValue)}};o(D),g(a,c.id,T),s(l+1),e(E=>{E.actionState.cuboidFaceTextures||(E.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]),E.actionState.cuboidFaceTextures[a]=T})}}},S=()=>{c!=null&&c.textureTypes&&a>=0&&d(c.textureTypes[a]),t(!1)},w=()=>{v(u)};return h.jsx(lo,{width:600,title:O.t("word.Texture",f),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"150px"},value:u,onChange:d,children:[h.jsxs(p,{value:Co.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",f)]},Co.NoTexture),h.jsxs(p,{value:Co.Facade01,children:[h.jsx("img",{alt:Co.Facade01,src:lco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture01",f)]},Co.Facade01),h.jsxs(p,{value:Co.Facade02,children:[h.jsx("img",{alt:Co.Facade02,src:sco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture02",f)]},Co.Facade02),h.jsxs(p,{value:Co.Facade03,children:[h.jsx("img",{alt:Co.Facade03,src:cco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture03",f)]},Co.Facade03),h.jsxs(p,{value:Co.Facade04,children:[h.jsx("img",{alt:Co.Facade04,src:uco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture04",f)]},Co.Facade04),h.jsxs(p,{value:Co.Facade05,children:[h.jsx("img",{alt:Co.Facade05,src:dco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture05",f)]},Co.Facade05),h.jsxs(p,{value:Co.Facade06,children:[h.jsx("img",{alt:Co.Facade06,src:fco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture06",f)]},Co.Facade06),h.jsxs(p,{value:Co.Facade07,children:[h.jsx("img",{alt:Co.Facade07,src:hco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture07",f)]},Co.Facade07),h.jsxs(p,{value:Co.Facade08,children:[h.jsx("img",{alt:Co.Facade08,src:pco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture08",f)]},Co.Facade08),h.jsxs(p,{value:Co.Facade09,children:[h.jsx("img",{alt:Co.Facade09,src:gco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture09",f)]},Co.Facade09),h.jsxs(p,{value:Co.Facade10,children:[h.jsx("img",{alt:Co.Facade10,src:mco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture10",f)]},Co.Facade10)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:C,value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("cuboidMenu.OnlyThisSide",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.AllSidesOfThisCuboid",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSidesOfSelectedCuboids",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllSidesOfAllCuboids",f)})]})})})]})})},Aco=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(vH),i=M($Be),r=M(t3),a=M(H7),l=M(e3),s=M(En),c=M(SH),u=M(TH),d=M(dn),f=M(ro),p=M(oo),g=M(ca),y=co(z.Cuboid),[A,x]=m.useState((y==null?void 0:y.lx)??0),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),E=Kt(),L=ie=>{u(ie.target.value)},U=ie=>{if(y){switch(c){case ue.AllSelectedObjectsOfThisType:for(const ne of e)if(ne.type===z.Cuboid&&M.getState().selectedElementIdSet.has(ne.id)){const Z=ne,he=o(Z.id);if(he.length>0&&!be.doesNewSizeContainAllChildren(Z,he,ie,Z.ly))return!1}break;case ue.AllObjectsOfThisType:for(const ne of e)if(ne.type===z.Cuboid){const Z=ne,he=o(Z.id);if(he.length>0&&!be.doesNewSizeContainAllChildren(Z,he,ie,Z.ly))return!1}break;default:const pe=o(y.id);if(pe.length>0)return be.doesNewSizeContainAllChildren(y,pe,ie,y.ly)}return!0}},F=ie=>!U(ie),W=ie=>{if(y){switch(c){case ue.AllSelectedObjectsOfThisType:for(const pe of e)if(pe.type===z.Cuboid&&!pe.locked&&M.getState().selectedElementIdSet.has(pe.id)&&Math.abs(pe.lx-ie)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const pe of e)if(pe.type===z.Cuboid&&!pe.locked&&Math.abs(pe.lx-ie)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const pe of e)if(pe.type===z.Cuboid&&pe.parentId===(y==null?void 0:y.parentId)&&!pe.locked&&Math.abs(pe.lx-ie)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((y==null?void 0:y.lx)-ie)>kt)return!0}return!1}},B=(ie,pe)=>{if(ie==null)return null;for(const ne of ie.children)if(ne.name.includes(`${pe}`))return ne;return null},k=(ie,pe,ne)=>{var Z,he;if(ie){for(const fe of ie.children)if(fe.name.includes(`${ne.id}`)){(he=(Z=Ln.getState().contentRef)==null?void 0:Z.current)==null||he.add(fe);break}d(fe=>{for(const se of fe.elements)if(se.id===ne.id){se.parentId=Zo;const oe=new Gt(se.cx,se.cy).rotateAround(wr,pe.rotation[2]).add(new Gt(pe.cx,pe.cy));se.cx=oe.x,se.cy=oe.y,se.cz=0,S.current.set(se.id,new ae(oe.x,oe.y,0)),b.current.set(se.id,Zo);break}})}},N=ie=>{for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&pe.parentId===(y==null?void 0:y.parentId)&&j(pe,ie)},j=(ie,pe)=>{const ne=o(ie.id),Z=ie.rotation[2];if(w.current.clear(),R.current.clear(),ne.length>0)for(const he of ne){if(be.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:const fe=new Gt(he.cx*ie.lx,he.cy*ie.ly).rotateAround(wr,Z);w.current.set(he.id,fe),v.current.set(he.id,new ae(he.cx,he.cy));break;case z.Polygon:const se=he,oe=[];for(const de of se.vertices)oe.push(new Gt(de.x*ie.lx,de.y*ie.ly).rotateAround(wr,Z));R.current.set(he.id,oe),T.current.set(he.id,se.vertices.map(de=>({...de})));break}be.isPlantOrHuman(he)&&v.current.set(he.id,new ae(he.cx,he.cy,he.cz))}if(r(ie.id,pe),ne.length>0)for(const he of ne){if(be.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:const fe=w.current.get(he.id);if(fe){const de=new Gt(fe.x,fe.y).rotateAround(wr,-Z).x/pe;i(he.id,de),S.current.set(he.id,new ae(de,he.cy))}break;case z.Polygon:const se=R.current.get(he.id);if(se){const oe=[];for(const de of se){const ve=de.rotateAround(wr,-Z),Pe=ve.x/pe,me=ve.y/ie.ly;oe.push({x:Pe,y:me})}a(he.id,oe),P.current.set(he.id,oe.map(de=>({...de})))}break}if(be.isPlantOrHuman(he)){if(S.current.set(he.id,new ae(he.cx,he.cy,he.cz)),C.current.set(he.id,ie.id),Math.abs(he.cz-ie.lz/2)0){const fe=Ln.getState().contentRef,se=B(fe==null?void 0:fe.current,ie.id);k(se,ie,he)}}else if(Math.abs(Math.abs(he.cx)-ie.lx/2)0?pe:-pe)/2;i(he.id,fe),S.current.set(he.id,new ae(fe,he.cy,he.cz))}}}},Y=(ie,pe,ne)=>{if(!ie||!pe)return;const Z=Ln.getState().contentRef,he=B(Z==null?void 0:Z.current,pe),fe=B(pe===Zo?Z==null?void 0:Z.current:he,ne);if(fe&&(Z!=null&&Z.current)){if(ie===Zo)Z.current.add(fe);else{const se=B(Z.current,ie);se==null||se.add(fe)}Zh()}},_=(ie,pe)=>{ie&&d(ne=>{for(const Z of ne.elements)if(Z.id===pe){Z.parentId=ie;break}})},J=ie=>{if(!y||!W(ie))return;const pe=n(y.id),ne=pe?pe.lx:y.lx;if(D.current=void 0,H.current=F(ie),H.current)D.current=ie,x(ne);else switch(c){case ue.AllSelectedObjectsOfThisType:{const he=new Map;for(const se of e)se.type===z.Cuboid&&!se.locked&&M.getState().selectedElementIdSet.has(se.id)&&(he.set(se.id,se.lx),j(se,ie));const fe={name:"Set Length for Selected Cuboids",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())a(de,ve)},redo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,fe.newSize);if(fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())a(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const he=new Map;for(const se of e)se.type===z.Cuboid&&se.parentId===y.parentId&&!se.locked&&(he.set(se.id,se.lx),j(se,ie));const fe={name:"Set Length for All Cuboids on Surface",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())a(de,ve)},redo:()=>{var se,oe;if(N(fe.newSize),fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())a(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisType:{const he=new Map;for(const se of e)se.type===z.Cuboid&&!se.locked&&(he.set(se.id,se.lx),j(se,ie));const fe={name:"Set Length for All Cuboids",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())a(de,ve)},redo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,fe.newSize);if(fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())a(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:j(y,ie);const Z={name:"Set Cuboid Length",timestamp:Date.now(),oldSize:ne,newSize:ie,resizedElementId:y.id,resizedElementType:y.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var he,fe;if(r(y.id,Z.oldSize),Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[se,oe]of Z.oldChildrenPositionsMap.entries()){l(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(Y(de,ve,se),_(de,se))}if(Z.oldChildrenVerticesMap&&Z.oldChildrenVerticesMap.size>0)for(const[se,oe]of Z.oldChildrenVerticesMap.entries())a(se,oe)},redo:()=>{var he,fe;if(r(y.id,Z.newSize),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[se,oe]of Z.newChildrenPositionsMap.entries()){l(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(Y(ve,de,se),_(ve,se))}if(Z.newChildrenVerticesMap&&Z.newChildrenVerticesMap.size>0)for(const[se,oe]of Z.newChildrenVerticesMap.entries())a(se,oe)}};s(Z),p(f+1)}},Q=()=>{t(!1)},ee=()=>{Q(),g()},$=()=>{J(A),H.current||(t(!1),p(0))},q=()=>{J(A)},le=H.current?": "+O.t("message.NotApplicableToSelectedAction",E)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Length",E),rejectedMessage:le,onApply:q,onClose:Q,onClickCancel:ee,onClickOk:$,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:500,style:{width:120},step:.5,precision:2,value:A,onChange:ie=>{ie!==null&&x(ie)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",E),": [0.1, 500] ",O.t("word.MeterAbbreviation",E)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",E)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.OnlyThisCuboid",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("cuboidMenu.AllCuboidsOnSameSurface",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSelectedCuboids",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllCuboids",E)})]})})})]})})},wco=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(vH),i=M(e3),r=M(QBe),a=M(R7),l=M(H7),s=M(En),c=M(SH),u=M(TH),d=M(dn),f=M(ro),p=M(oo),g=M(ca),y=co(z.Cuboid),[A,x]=m.useState((y==null?void 0:y.ly)??0),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),E=Kt(),L=ie=>{u(ie.target.value)},U=ie=>{if(y){switch(c){case ue.AllSelectedObjectsOfThisType:for(const ne of e)if(ne.type===z.Cuboid&&M.getState().selectedElementIdSet.has(ne.id)){const Z=ne,he=o(Z.id);if(he.length>0&&!be.doesNewSizeContainAllChildren(Z,he,Z.lx,ie))return!1}break;case ue.AllObjectsOfThisType:for(const ne of e)if(ne.type===z.Cuboid){const Z=ne,he=o(Z.id);if(he.length>0&&!be.doesNewSizeContainAllChildren(Z,he,Z.lx,ie))return!1}break;default:const pe=o(y.id);if(pe.length>0)return be.doesNewSizeContainAllChildren(y,pe,y.lx,ie)}return!0}},F=ie=>!U(ie),W=ie=>{if(y){switch(c){case ue.AllSelectedObjectsOfThisType:for(const pe of e)if(pe.type===z.Cuboid&&!pe.locked&&M.getState().selectedElementIdSet.has(pe.id)&&Math.abs(pe.ly-ie)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const pe of e)if(pe.type===z.Cuboid&&pe.parentId===(y==null?void 0:y.parentId)&&!pe.locked&&Math.abs(pe.ly-ie)>kt)return!0;break;case ue.AllObjectsOfThisType:{for(const pe of e)if(pe.type===z.Cuboid&&!pe.locked&&Math.abs(pe.ly-ie)>kt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((y==null?void 0:y.ly)-ie)>kt)return!0}return!1}},B=(ie,pe)=>{if(ie==null)return null;for(const ne of ie.children)if(ne.name.includes(`${pe}`))return ne;return null},k=(ie,pe,ne)=>{var Z,he;if(ie){for(const fe of ie.children)if(fe.name.includes(`${ne.id}`)){(he=(Z=Ln.getState().contentRef)==null?void 0:Z.current)==null||he.add(fe);break}d(fe=>{for(const se of fe.elements)if(se.id===ne.id){se.parentId=Zo;const oe=new Gt(se.cx,se.cy).rotateAround(wr,pe.rotation[2]).add(new Gt(pe.cx,pe.cy));se.cx=oe.x,se.cy=oe.y,se.cz=0,S.current.set(se.id,new ae(oe.x,oe.y,0)),b.current.set(se.id,Zo);break}})}},N=ie=>{for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&pe.parentId===(y==null?void 0:y.parentId)&&j(pe,ie)},j=(ie,pe)=>{const ne=o(ie.id),Z=ie.rotation[2];if(w.current.clear(),R.current.clear(),ne.length>0)for(const he of ne){if(be.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:const fe=new Gt(he.cx*ie.lx,he.cy*ie.ly).rotateAround(wr,Z);w.current.set(he.id,fe),v.current.set(he.id,new ae(he.cx,he.cy));break;case z.Polygon:const se=he,oe=[];for(const de of se.vertices)oe.push(new Gt(de.x*ie.lx,de.y*ie.ly).rotateAround(wr,Z));R.current.set(he.id,oe),T.current.set(he.id,se.vertices.map(de=>({...de})));break}be.isPlantOrHuman(he)&&v.current.set(he.id,new ae(he.cx,he.cy,he.cz))}if(a(ie.id,pe),ne.length>0)for(const he of ne){if(be.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:const fe=w.current.get(he.id);if(fe){const de=new Gt(fe.x,fe.y).rotateAround(wr,-Z).y/pe;r(he.id,de),S.current.set(he.id,new ae(he.cx,de))}break;case z.Polygon:const se=R.current.get(he.id);if(se){const oe=[];for(const de of se){const ve=de.rotateAround(wr,-Z),Pe=ve.x/ie.lx,me=ve.y/pe;oe.push({x:Pe,y:me})}l(he.id,oe),P.current.set(he.id,oe.map(de=>({...de})))}break}if(be.isPlantOrHuman(he)){if(S.current.set(he.id,new ae(he.cx,he.cy,he.cz)),C.current.set(he.id,ie.id),Math.abs(he.cz-ie.lz/2)0){const fe=Ln.getState().contentRef,se=B(fe==null?void 0:fe.current,ie.id);k(se,ie,he)}}else if(Math.abs(Math.abs(he.cy)-ie.ly/2)0?pe:-pe)/2;r(he.id,fe),S.current.set(he.id,new ae(he.cz,fe,he.cz))}}}},Y=(ie,pe,ne)=>{if(!ie||!pe)return;const Z=Ln.getState().contentRef,he=B(Z==null?void 0:Z.current,pe),fe=B(pe===Zo?Z==null?void 0:Z.current:he,ne);if(fe&&(Z!=null&&Z.current)){if(ie===Zo)Z.current.add(fe);else{const se=B(Z.current,ie);se==null||se.add(fe)}Zh()}},_=(ie,pe)=>{ie&&d(ne=>{for(const Z of ne.elements)if(Z.id===pe){Z.parentId=ie;break}})},J=ie=>{if(!y||!W(ie))return;const pe=n(y.id),ne=pe?pe.ly:y.ly;if(D.current=void 0,H.current=F(ie),H.current)D.current=ie,x(ne);else switch(v.current.clear(),S.current.clear(),T.current.clear(),P.current.clear(),c){case ue.AllSelectedObjectsOfThisType:{const he=new Map;for(const se of e)se.type===z.Cuboid&&!se.locked&&M.getState().selectedElementIdSet.has(se.id)&&(he.set(se.id,se.ly),j(se,ie));const fe={name:"Set Width for Selected Cuboids on Surface",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())l(de,ve)},redo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,fe.newSize);if(fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())l(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const he=new Map;for(const se of e)se.type===z.Cuboid&&se.parentId===y.parentId&&!se.locked&&(he.set(se.id,se.ly),j(se,ie));const fe={name:"Set Width for All Cuboids on Surface",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())l(de,ve)},redo:()=>{var se,oe;if(N(fe.newSize),fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())l(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisType:{const he=new Map;for(const se of e)se.type===z.Cuboid&&!se.locked&&(he.set(se.id,se.ly),j(se,ie));const fe={name:"Set Width for All Cuboids on Surface",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())l(de,ve)},redo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,fe.newSize);if(fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())l(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:j(y,ie);const Z={name:"Set Cuboid Width",timestamp:Date.now(),oldSize:ne,newSize:ie,resizedElementId:y.id,resizedElementType:y.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var he,fe;if(a(y.id,Z.oldSize),Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[se,oe]of Z.oldChildrenPositionsMap.entries()){i(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(Y(de,ve,se),_(de,se))}if(Z.oldChildrenVerticesMap&&Z.oldChildrenVerticesMap.size>0)for(const[se,oe]of Z.oldChildrenVerticesMap.entries())l(se,oe)},redo:()=>{var he,fe;if(a(y.id,Z.newSize),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[se,oe]of Z.newChildrenPositionsMap.entries()){i(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(Y(ve,de,se),_(ve,se))}if(Z.newChildrenVerticesMap&&Z.newChildrenVerticesMap.size>0)for(const[se,oe]of Z.newChildrenVerticesMap.entries())l(se,oe)}};s(Z),p(f+1)}},Q=()=>{t(!1)},ee=()=>{Q(),g()},$=()=>{J(A),H.current||(t(!1),p(0))},q=()=>{J(A)},le=H.current?": "+O.t("message.NotApplicableToSelectedAction",E)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Width",E),rejectedMessage:le,onApply:q,onClose:Q,onClickCancel:ee,onClickOk:$,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:500,style:{width:120},step:.5,precision:2,value:A,onChange:ie=>{ie!==null&&x(ie)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",E),": [0.1, 500] ",O.t("word.MeterAbbreviation",E)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",E)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.OnlyThisCuboid",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("cuboidMenu.AllCuboidsOnSameSurface",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSelectedCuboids",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllCuboids",E)})]})})})]})})},vco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(jn),r=M(oge),a=M(Awt),l=M(vwt),s=M(wwt),c=M(En),u=M(SH),d=M(TH),f=M(e3),p=M(ro),g=M(oo),y=co(z.Cuboid),[A,x]=m.useState((y==null?void 0:y.lz)??0),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=Kt(),T=Y=>{d(Y.target.value)},P=(Y,_)=>{r(Y,_),a(Y,_/2)},R=Y=>{if(!y)return;const _=o(y);if(_)for(const J of n)J.type===z.Cuboid&&!J.locked&&J.parentId===_.id&&(r(J.id,Y),a(J.id,Y/2))},H=Y=>{if(!y)return;const _=be.getBaseId(y.id);if(_)for(const J of n)J.type===z.Cuboid&&!J.locked&&be.getBaseId(J.id)===_&&(r(J.id,Y),a(J.id,Y/2))},D=Y=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const J of n)if(J.type===z.Cuboid&&!J.locked&&M.getState().selectedElementIdSet.has(J.id)&&Math.abs(J.lz-Y)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const J of n)if(J.type===z.Cuboid&&!J.locked&&Math.abs(J.lz-Y)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:const _=be.getBaseId(y==null?void 0:y.id);if(_&&_!==Zo){for(const J of n)if(J.type===z.Cuboid&&J.parentId&&J.parentId!==Zo&&!J.locked){const Q=J;if(_===be.getBaseId(Q.id)&&Math.abs(Q.lz-Y)>kt)return!0}}break;case ue.AllObjectsOfThisTypeOnSurface:for(const J of n)if(J.type===z.Cuboid&&J.parentId!==Zo&&J.parentId===(y==null?void 0:y.parentId)&&!J.locked&&Math.abs(J.lz-Y)>kt)return!0;break;default:if(Math.abs((y==null?void 0:y.lz)-Y)>kt)return!0}return!1}},E=(Y,_)=>{if(Y==null)return null;for(const J of Y.children)if(J.name.includes(`${_}`))return J;return null},L=(Y,_,J)=>{var Q,ee;if(Y){for(const q of Y.children)if(q.name.includes(`${J.id}`)){(ee=(Q=Ln.getState().contentRef)==null?void 0:Q.current)==null||ee.add(q);break}J.parentId=Zo;const $=new Gt(J.cx,J.cy).rotateAround(wr,-_.rotation[2]).add(new Gt(_.cx,_.cy));J.cx=$.x,J.cy=$.y,J.cz=0,S.current.set(J.id,new ae($.x,$.y,0)),b.current.set(J.id,Zo)}},U=(Y,_)=>{e(J=>{for(const Q of J.elements)if(Q.parentId===Y.id&&(C.current.set(Q.id,Y.id),v.current.set(Q.id,new ae(Q.cx,Q.cy,Q.cz)),be.isPlantOrHuman(Q)))if(Math.abs(Q.cz-Y.lz/2)_/2){const $=Ln.getState().contentRef,q=E($==null?void 0:$.current,Y.id);L(q,Y,Q)}else Q.cz=ee,S.current.set(Q.id,new ae(Q.cx,Q.cy,ee))}})},F=(Y,_,J)=>{if(!Y||!_)return;const Q=Ln.getState().contentRef,ee=E(Q==null?void 0:Q.current,_),$=E(_===Zo?Q==null?void 0:Q.current:ee,J);if($&&(Q!=null&&Q.current)){if(Y===Zo)Q.current.add($);else{const q=E(Q.current,Y);q==null||q.add($)}Zh()}},W=(Y,_)=>{Y&&e(J=>{for(const Q of J.elements)if(Q.id===_){Q.parentId=Y;break}})},B=(Y,_)=>{M.getState().set(J=>{for(const Q of J.elements)if(Y.has(Q.id))if(_!==void 0)Q.lz=_,Q.cz=_/2;else{const ee=Y.get(Q.id);ee!==void 0&&(Q.lz=ee,Q.cz=ee/2)}})},k=Y=>{if(y&&D(Y)){switch(u){case ue.AllSelectedObjectsOfThisType:{const ee=new Map;for(const q of n)q.type===z.Cuboid&&M.getState().selectedElementIdSet.has(q.id)&&(ee.set(q.id,q.lz),U(q,Y));const $={name:"Set Height for Selected Cuboids",timestamp:Date.now(),oldValues:ee,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var q,le;if(B($.oldValues),$.oldChildrenPositionsMap&&$.oldChildrenPositionsMap.size>0)for(const[ie,pe]of $.oldChildrenPositionsMap.entries()){f(ie,pe.x,pe.y,pe.z);const ne=(q=$.oldChildrenParentIdMap)==null?void 0:q.get(ie),Z=(le=$.newChildrenParentIdMap)==null?void 0:le.get(ie);ne&&Z&&ne!==Z&&(F(ne,Z,ie),W(ne,ie))}},redo:()=>{var le,ie;const q=$.newValue;if(B($.oldValues,q),$.newChildrenPositionsMap&&$.newChildrenPositionsMap.size>0)for(const[pe,ne]of $.newChildrenPositionsMap.entries()){f(pe,ne.x,ne.y,ne.z);const Z=(le=$.oldChildrenParentIdMap)==null?void 0:le.get(pe),he=(ie=$.newChildrenParentIdMap)==null?void 0:ie.get(pe);Z&&he&&Z!==he&&(F(he,Z,pe),W(he,pe))}}};c($),B(ee,Y),g(p+1);break}case ue.AllObjectsOfThisType:{const ee=new Map;for(const q of n)q.type===z.Cuboid&&(ee.set(q.id,q.lz),U(q,Y));const $={name:"Set Height for All Cuboids",timestamp:Date.now(),oldValues:ee,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var q,le;for(const[ie,pe]of $.oldValues.entries())P(ie,pe);if($.oldChildrenPositionsMap&&$.oldChildrenPositionsMap.size>0)for(const[ie,pe]of $.oldChildrenPositionsMap.entries()){f(ie,pe.x,pe.y,pe.z);const ne=(q=$.oldChildrenParentIdMap)==null?void 0:q.get(ie),Z=(le=$.newChildrenParentIdMap)==null?void 0:le.get(ie);ne&&Z&&ne!==Z&&(F(ne,Z,ie),W(ne,ie))}},redo:()=>{var le,ie;const q=$.newValue;if(l(z.Cuboid,q),s(z.Cuboid,q/2),$.newChildrenPositionsMap&&$.newChildrenPositionsMap.size>0)for(const[pe,ne]of $.newChildrenPositionsMap.entries()){f(pe,ne.x,ne.y,ne.z);const Z=(le=$.oldChildrenParentIdMap)==null?void 0:le.get(pe),he=(ie=$.newChildrenParentIdMap)==null?void 0:ie.get(pe);Z&&he&&Z!==he&&(F(he,Z,pe),W(he,pe))}}};c($),l(z.Cuboid,Y),s(z.Cuboid,Y/2),g(p+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{const ee=new Map,$=be.getBaseId(y.id);for(const le of n)le.type===z.Cuboid&&be.getBaseId(le.id)===$&&(ee.set(le.id,le.lz),U(le,Y));const q={name:"Set Height for All Cuboids Above Same Base",timestamp:Date.now(),oldValues:ee,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var le,ie;for(const[pe,ne]of q.oldValues.entries())P(pe,ne);if(q.oldChildrenPositionsMap&&q.oldChildrenPositionsMap.size>0)for(const[pe,ne]of q.oldChildrenPositionsMap.entries()){f(pe,ne.x,ne.y,ne.z);const Z=(le=q.oldChildrenParentIdMap)==null?void 0:le.get(pe),he=(ie=q.newChildrenParentIdMap)==null?void 0:ie.get(pe);Z&&he&&Z!==he&&(F(Z,he,pe),W(Z,pe))}},redo:()=>{var ie,pe;const le=q.newValue;if(H(le),q.newChildrenPositionsMap&&q.newChildrenPositionsMap.size>0)for(const[ne,Z]of q.newChildrenPositionsMap.entries()){f(ne,Z.x,Z.y,Z.z);const he=(ie=q.oldChildrenParentIdMap)==null?void 0:ie.get(ne),fe=(pe=q.newChildrenParentIdMap)==null?void 0:pe.get(ne);he&&fe&&he!==fe&&(F(fe,he,ne),W(fe,ne))}}};c(q),H(Y),g(p+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const ee=new Map;for(const q of n)q.type===z.Cuboid&&q.parentId===y.parentId&&(ee.set(q.id,q.lz),U(q,Y));const $={name:"Set Height for All Cuboids on Same Surface",timestamp:Date.now(),oldValues:ee,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var q,le;for(const[ie,pe]of $.oldValues.entries())P(ie,pe);if($.oldChildrenPositionsMap&&$.oldChildrenPositionsMap.size>0)for(const[ie,pe]of $.oldChildrenPositionsMap.entries()){f(ie,pe.x,pe.y,pe.z);const ne=(q=$.oldChildrenParentIdMap)==null?void 0:q.get(ie),Z=(le=$.newChildrenParentIdMap)==null?void 0:le.get(ie);ne&&Z&&ne!==Z&&(F(ne,Z,ie),W(ne,ie))}},redo:()=>{var le,ie;const q=$.newValue;if(R(q),$.newChildrenPositionsMap&&$.newChildrenPositionsMap.size>0)for(const[pe,ne]of $.newChildrenPositionsMap.entries()){f(pe,ne.x,ne.y,ne.z);const Z=(le=$.oldChildrenParentIdMap)==null?void 0:le.get(pe),he=(ie=$.newChildrenParentIdMap)==null?void 0:ie.get(pe);Z&&he&&Z!==he&&(F(he,Z,pe),W(he,pe))}}};c($),R(Y),g(p+1);break}default:const _=i(y.id),J=_?_.lz:y.lz;U(y,Y),P(y.id,Y);const Q={name:"Set Cuboid Width",timestamp:Date.now(),oldValue:J,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),changedElementId:y.id,changedElementType:y.type,undo:()=>{var ee,$;if(P(Q.changedElementId,Q.oldValue),Q.oldChildrenPositionsMap&&Q.oldChildrenPositionsMap.size>0)for(const[q,le]of Q.oldChildrenPositionsMap.entries()){f(q,le.x,le.y,le.z);const ie=(ee=Q.oldChildrenParentIdMap)==null?void 0:ee.get(q),pe=($=Q.newChildrenParentIdMap)==null?void 0:$.get(q);ie&&pe&&ie!==pe&&(F(ie,pe,q),W(ie,q))}},redo:()=>{var ee,$;if(P(Q.changedElementId,Q.newValue),Q.newChildrenPositionsMap&&Q.newChildrenPositionsMap.size>0)for(const[q,le]of Q.newChildrenPositionsMap.entries()){f(q,le.x,le.y,le.z);const ie=(ee=Q.oldChildrenParentIdMap)==null?void 0:ee.get(q),pe=($=Q.newChildrenParentIdMap)==null?void 0:$.get(q);ie&&pe&&ie!==pe&&(F(pe,ie,q),W(pe,q))}}};c(Q),g(p+1)}e(_=>{_.actionState.cuboidHeight=Y})}},N=()=>{t(!1)},j=()=>{k(A)};return h.jsx(lo,{width:550,title:O.t("word.Height",w),onApply:j,onClose:N,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:A,onChange:Y=>{Y!==null&&x(Y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",w),": [0.1, 1000] ",O.t("word.MeterAbbreviation",w)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",w)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.OnlyThisCuboid",w)}),(y==null?void 0:y.parentId)!==Zo&&h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("cuboidMenu.AllCuboidsOnSameSurface",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("cuboidMenu.AllCuboidsAboveSameBase",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSelectedCuboids",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllCuboids",w)})]})})})]})})},xco=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(ige),i=M(En),r=M(SH),a=M(TH),l=M(ro),s=M(oo),c=co(z.Cuboid),[u,d]=m.useState(c?-c.rotation[2]:0),f=Kt(),p=v=>{a(v.target.value)},g=v=>{for(const S of e)S.type===z.Cuboid&&!S.locked&&S.parentId===(c==null?void 0:c.parentId)&&o(S.id,0,0,-v)},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Cuboid&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(-S.rotation[2]-v)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const S of e)if(S.type===z.Cuboid&&S.parentId===(c==null?void 0:c.parentId)&&!S.locked&&Math.abs(-S.rotation[2]-v)>kt)return!0;break;case ue.AllObjectsOfThisType:{for(const S of e)if(S.type===z.Cuboid&&!S.locked&&Math.abs(-S.rotation[2]-v)>kt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((c?-c.rotation[2]:0)-v)>kt)return!0}return!1},A=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(v.has(T.id))if(S!==void 0)T.rotation[2]=S;else{const P=v.get(T.id);P!==void 0&&(T.rotation[2]=-P)}})},x=v=>{if(c&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Cuboid&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,-H.rotation[2]);const R={name:"Set Azimuth for Selected Cuboids",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{A(R.oldValues)},redo:()=>{A(R.oldValues,-R.newValue)}};i(R),A(P,-v),s(l+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const P=new Map;for(const H of e)H.type===z.Cuboid&&H.parentId===c.parentId&&!H.locked&&P.set(H.id,-H.rotation[2]);const R={name:"Set Azimuth for All Cuboids on Surface",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())o(H,0,0,-D)},redo:()=>{g(R.newValue)}};i(R),g(v),s(l+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Cuboid&&!H.locked&&P.set(H.id,-H.rotation[2]);const R={name:"Set Azimuth for All Cuboids",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{A(R.oldValues)},redo:()=>{A(R.oldValues,-R.newValue)}};i(R),A(P,-v),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:const S=n(c.id),w=S?-S.rotation[2]:-c.rotation[2],T={name:"Set Cuboid Azimuth",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:c.id,changedElementType:c.type,undo:()=>{o(T.changedElementId,0,0,-T.oldValue)},redo:()=>{o(T.changedElementId,0,0,-T.newValue)}};i(T),o(c.id,0,0,-v),s(l+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("word.Azimuth",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},step:.5,precision:2,value:parseFloat(be.toDegrees(u).toFixed(2)),formatter:v=>`${v}°`,onChange:v=>{v!==null&&d(be.toRadians(v))}}),h.jsxs("div",{style:{paddingTop:"20px",paddingRight:"6px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [-180°, 180°]",h.jsx("br",{}),O.t("message.AzimuthOfNorthIsZero",f),h.jsx("br",{}),O.t("message.CounterclockwiseAzimuthIsPositive",f)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:p,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.OnlyThisCuboid",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("cuboidMenu.AllCuboidsOnSameSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSelectedCuboids",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllCuboids",f)})]})})})]})})},bco=[{key:"sensorCount",objectType:z.Sensor},{key:"polygonCount",objectType:z.Polygon},{key:"humanCount",objectType:z.Human},{key:"treeCount",objectType:z.Tree},{key:"flowerCount",objectType:z.Flower},{key:"outsideLightCount",objectType:z.Light}],Sco=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.Light:{o=`${O.t("cuboidMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllLightsOnCuboid",n)} (${e} ${O.t("cuboidMenu.Lights",n)})`;break}case z.Sensor:{o=`${O.t("cuboidMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllSensorsOnCuboid",n)} (${e} ${O.t("cuboidMenu.Sensors",n)})`;break}case z.Polygon:{o=`${O.t("cuboidMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllPolygonsOnCuboid",n)} (${e} ${O.t("cuboidMenu.Polygons",n)})`;break}case z.Human:{o=`${O.t("cuboidMenu.RemoveAllUnlockedHumans",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllHumansOnCuboid",n)} (${e} ${O.t("cuboidMenu.Humans",n)})`;break}case z.Tree:{o=`${O.t("cuboidMenu.RemoveAllUnlockedTrees",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllTreesOnCuboid",n)} (${e} ${O.t("cuboidMenu.Trees",n)})`;break}case z.Flower:{o=`${O.t("cuboidMenu.RemoveAllUnlockedFlowers",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllFlowersOnCuboid",n)} (${e} ${O.t("cuboidMenu.Flowers",n)})`;break}}return{itemLabel:o,modalTitle:i}},Tco=(t,e)=>{const n=[],o={lng:M.getState().language};if(e.solarPanelCount>0){const i=O.t("cuboidMenu.DoYouReallyWantToRemoveAllSolarPanelsOnCuboid",o)+" ("+e.solarPanelModuleCount+" "+O.t("cuboidMenu.SolarPanels",o)+", "+e.solarPanelCount+" "+O.t("cuboidMenu.Racks",o)+")?";n.push({key:"remove-all-solar-panels-on-cuboid",label:h.jsxs(_Re,{cuboid:t,objectType:z.SolarPanel,modalTitle:i,children:[O.t("cuboidMenu.RemoveAllUnlockedSolarPanels",o),"  (",e.solarPanelModuleCount," ",O.t("cuboidMenu.SolarPanels",o),",",e.solarPanelCount," ",O.t("cuboidMenu.Racks",o),")"]})})}return bco.forEach(({key:i,objectType:r})=>{const a=e[i];if(typeof a=="number"&&a>0){const{itemLabel:l,modalTitle:s}=Sco(r,a),c=r.replaceAll(" ","");n.push({key:`remove-all-${c}s-on-cuboid`,label:h.jsx(_Re,{cuboid:t,objectType:r,modalTitle:s,children:l})})}}),n},Pco=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Polygon||e.type===z.Sensor||e.type===z.SolarPanel||e.type===z.Cuboid)return!0}return!1},Cco=t=>{const e=[];if(t.type!==z.Cuboid)return{items:e};const n=t,o=M.getState().selectedSideIndex,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce(n.id,!1),a=!(n!=null&&n.locked),l=!n.textureTypes||o>=0&&n.textureTypes[o]===Co.NoTexture;return Pco()&&e.push({key:"cuboid-paste",label:h.jsx(OH,{})}),e.push({key:"cuboid-copy",label:h.jsx(Sf,{})}),a&&e.push({key:"cuboid-cut",label:h.jsx(Tf,{})}),e.push({key:"cuboid-lock",label:h.jsx(Md,{selectedElement:n})}),e.push({key:"cuboid-group-master",label:h.jsx(m$e,{groupableElement:n})}),e.push({key:"cuboid-stackable",label:h.jsx(ico,{cuboid:n})}),r.gotSome()&&e.push({key:"cuboid-clear",label:h.jsx(tn,{children:O.t("word.Clear",i)}),children:Tco(n,r)}),a&&(l&&e.push({key:"cuboid-color",label:h.jsxs(io,{Dialog:aco,children:[O.t("word.Color",i)," ..."]})}),e.push({key:"cuboid-texture",label:h.jsxs(io,{Dialog:yco,children:[O.t("word.Texture",i)," ..."]})}),e.push({key:"cuboid-length",label:h.jsxs(io,{Dialog:Aco,children:[O.t("word.Length",i)," ..."]})}),e.push({key:"cuboid-width",label:h.jsxs(io,{Dialog:wco,children:[O.t("word.Width",i)," ..."]})}),e.push({key:"cuboid-height",label:h.jsxs(io,{Dialog:vco,children:[O.t("word.Height",i)," ..."]})}),e.push({key:"cuboid-azimuth",label:h.jsxs(io,{Dialog:xco,children:[O.t("word.Azimuth",i)," ..."]})})),e.push({key:"add-polygon-on-cuboid",label:h.jsx(rco,{cuboid:n,selectedSideIndex:o})}),a&&e.push({key:"cuboid-label",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",i)}),children:vA(n)}),{items:e}},Rco=()=>{const t=M(sA),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.groundImage=i,r.viewState.groundImageType=r.viewState.mapType})},o=i=>{const r=i.target.checked,a={name:"Show Ground Image",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("groundMenu.ImageOnGround",e)})})},Hco=()=>{const t=M(vBe),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.waterSurface=i})},o=i=>{const r=i.target.checked,a={name:"Water Surface",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,update:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("groundMenu.WaterSurface",e)})})},Mco=()=>{const t=M(wBe),e=o=>{M.getState().set(i=>{i.viewState.groundColor=o})},n=o=>{const i=t,r=o.hex,a={name:"Set Ground Color",timestamp:Date.now(),oldValue:i,newValue:r,undo:()=>{e(a.oldValue)},redo:()=>{e(a.newValue)}};M.getState().addUndoable(a),e(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Cf,{color:t,onChangeComplete:n})})},Ico=()=>{const t=M(O1e)??sq,n=M(Xs)>0,o=Kt(),i=s=>{M.getState().set(c=>{c.world.leafDayOfYear1=s})},r=s=>{if(s===null)return;const c=t,u=s,d={name:"Set Leaf Day 1",timestamp:Date.now(),oldValue:c,newValue:u,undo:()=>{i(d.oldValue)},redo:()=>{i(d.newValue)}};M.getState().addUndoable(d),i(u)},a=()=>h.jsx("div",{style:{width:"80px"},children:O.t(n?"groundMenu.LeafOffDay":"groundMenu.LeafOutDay",o)}),l=()=>h.jsx("div",{style:{width:"60px"},children:"(1-150)"});return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(a,{}),addonAfter:h.jsx(l,{}),style:{width:"300px"},min:1,max:150,step:1,precision:0,value:t,onChange:r})})},zco=()=>{const t=M(_1e)??cq,n=M(Xs)>0,o=Kt(),i=s=>{M.getState().set(c=>{c.world.leafDayOfYear2=s})},r=s=>{if(s===null)return;const c=t,u=s,d={name:"Set Leaf Day 2",timestamp:Date.now(),oldValue:c,newValue:u,undo:()=>{i(d.oldValue)},redo:()=>{i(d.newValue)}};M.getState().addUndoable(d),i(u)},a=()=>h.jsx("div",{style:{width:"80px"},children:O.t(n?"groundMenu.LeafOffDay":"groundMenu.LeafOutDay",o)}),l=()=>h.jsx("div",{style:{width:"60px"},children:"(215-365)"});return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(a,{}),addonAfter:h.jsx(l,{}),style:{width:"300px"},min:215,max:365,step:1,precision:0,value:t,onChange:r})})},VRe=({monthIndex:t})=>{const e=M(r=>r.world.monthlyIrradianceLosses?r.world.monthlyIrradianceLosses[t]:.05)??.05,n=Kt(),o=r=>{M.getState().set(a=>{a.world.monthlyIrradianceLosses||(a.world.monthlyIrradianceLosses=new Array(12).fill(.05)),a.world.monthlyIrradianceLosses[t]=r})},i=r=>{if(r===null)return;const a=e,l=r,s={name:"Set Irradiance Loss in "+Pwe[t],timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{o(s.oldValue)},redo:()=>{o(s.newValue)}};M.getState().addUndoable(s),o(l)};return h.jsx(Hn,{addonBefore:h.jsx("span",{style:{fontFamily:"monospace"},children:O.t(`month.${Pwe[t]}`,n)}),style:{width:"120px"},min:0,max:1,step:.01,precision:2,value:e,onChange:i})},Dco=()=>{const t=M(i=>i.world.ground.albedo),e=Kt(),n=i=>{M.getState().set(r=>{r.world.ground.albedo=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Ground Albedo",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"60px"},children:[O.t("groundMenu.Albedo",e),":"]}),h.jsx(Hn,{min:.05,max:1,step:.01,precision:2,value:t,onChange:o})]})},Eco=({itemLabel:t,modalTitle:e,objectType:n})=>{const o=M.getState().removeElementsByType,i=()=>{const a=M.getState().elements.filter(c=>!c.locked&&c.type===n);o(n);const l=JSON.parse(JSON.stringify(a)),s={name:"Remove All "+n+"s",timestamp:Date.now(),removedElements:l,undo:()=>{M.getState().set(c=>{c.elements.push(...s.removedElements)})},redo:()=>{o(n)}};M.getState().addUndoable(s),gt.getState().updateContextMenu()},r=()=>{_r.confirm({title:e,onOk:i,icon:h.jsx(qm,{})})};return h.jsx(tn,{onClick:r,children:t})},GRe=({lock:t,count:e,label:n})=>{const o=M.getState().updateAllElementLocks,i=()=>{const r=new Map;for(const c of M.getState().elements)r.set(c.id,!!c.locked);const s={name:`${t?"Lock":"Unlock"} All ${t?"Unlocked":"Locked"} Elements`,timestamp:Date.now(),oldValues:r,newValue:!0,undo:()=>{for(const[c,u]of s.oldValues.entries())M.getState().updateElementLockById(c,u)},redo:()=>{o(t)}};M.getState().addUndoable(s),o(t)};return h.jsxs(tn,{update:!0,onClick:i,children:[n," (",e,")"]})},kco=[{key:"humanCount",type:z.Human,itemLabel:"groundMenu.RemoveAllUnlockedPeople",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllPeople"},{key:"treeCount",type:z.Tree,itemLabel:"groundMenu.RemoveAllUnlockedTrees",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllTrees"},{key:"flowerCount",type:z.Flower,itemLabel:"groundMenu.RemoveAllUnlockedFlowers",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllFlowers"},{key:"solarPanelCount",type:z.SolarPanel,itemLabel:"groundMenu.RemoveAllUnlockedSolarPanels",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllSolarPanels"},{key:"foundationCount",type:z.Foundation,itemLabel:"groundMenu.RemoveAllUnlockedFoundations",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllFoundations"},{key:"cuboidCount",type:z.Cuboid,itemLabel:"groundMenu.RemoveAllUnlockedCuboids",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllCuboids"}],Fco=()=>{const t=M.getState().elementsToPaste;if(!t||t.length===0)return!1;const e=t[0];return e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Cuboid||e.type===z.Foundation},Lco=()=>Ps.slice().reduce((t,e,n,o)=>(t&&n%2!==0&&t.push({key:`${o[n-1]}-${o[n]}`,label:h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(VRe,{monthIndex:n-1}),h.jsx(VRe,{monthIndex:n})]})}),t),[]),Wco=()=>{const t={lng:M.getState().language},e=M.getState().countAllElementsByType(!0),n=[];return Fco()&&n.push({key:"ground-paste",label:h.jsx(OH,{})}),kco.forEach(({key:i,type:r,itemLabel:a,modalTitle:l})=>{const s=e[i];typeof s=="number"&&s>0&&n.push({key:`ground-remove-all-${r}s`,label:h.jsx(Eco,{objectType:r,itemLabel:`${O.t(a,t)} (${s})`,modalTitle:`${O.t(l,t)} (${s})?`})})}),e.unlockedCount>0&&n.push({key:"lock-all-elements",label:h.jsx(GRe,{lock:!0,count:e.unlockedCount,label:O.t("groundMenu.LockAllUnlockedElements",t)})}),e.lockedCount>0&&M.getState().elements.length>0&&n.push({key:"unlock-all-elements",label:h.jsx(GRe,{lock:!1,count:e.lockedCount,label:O.t("groundMenu.UnlockAllLockedElements",t)})}),n.push({key:"image-on-ground",label:h.jsx(Rco,{})}),n.push({key:"water-surface",label:h.jsx(Hco,{})}),M.getState().viewState.waterSurface||n.push({key:"ground-color-submenu",label:h.jsx(tn,{children:O.t("word.Color",t)}),children:[{key:"groung-color-picker",label:h.jsx(Mco,{}),style:{backgroundColor:"white"}}]}),n.push({key:"vegetation-submenu",label:h.jsx(tn,{children:O.t("groundMenu.Vegetation",t)}),children:[{key:"leaf-out-day",label:h.jsx(Ico,{})},{key:"leaf-shed-day",label:h.jsx(zco,{})}]}),n.push({key:"monthly-irradiance-loss-submenu",label:h.jsx(tn,{children:O.t("groundMenu.MonthlyIrradianceLoss",t)}),children:Lco()}),n.push({key:"ground-albedo",label:h.jsx(Dco,{})}),{items:n,onClick:({key:i})=>{}}};var CE={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 1-Math.cos(t*Math.PI/2)},Out:function(t){return Math.sin(t*Math.PI/2)},InOut:function(t){return .5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return t===0?0:Math.pow(1024,t-1)},Out:function(t){return t===1?1:1-Math.pow(2,-10*t)},InOut:function(t){return t===0?0:t===1?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(-Math.pow(2,-10*(t-1))+2)}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return t===0?0:t===1?1:-Math.pow(2,10*(t-1))*Math.sin((t-1.1)*5*Math.PI)},Out:function(t){return t===0?0:t===1?1:Math.pow(2,-10*t)*Math.sin((t-.1)*5*Math.PI)+1},InOut:function(t){return t===0?0:t===1?1:(t*=2,t<1?-.5*Math.pow(2,10*(t-1))*Math.sin((t-1.1)*5*Math.PI):.5*Math.pow(2,-10*(t-1))*Math.sin((t-1.1)*5*Math.PI)+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?.5*(t*t*((e+1)*t-e)):.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-CE.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?CE.Bounce.In(t*2)*.5:CE.Bounce.Out(t*2-1)*.5+.5}}},DD;typeof self>"u"&&typeof process<"u"&&process.hrtime?DD=function(){var t=process.hrtime();return t[0]*1e3+t[1]/1e6}:typeof self<"u"&&self.performance!==void 0&&self.performance.now!==void 0?DD=self.performance.now.bind(self.performance):Date.now!==void 0?DD=Date.now:DD=function(){return new Date().getTime()};var bP=DD,Nco=function(){function t(){this._tweens={},this._tweensAddedDuringUpdate={}}return t.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map(function(n){return e._tweens[n]})},t.prototype.removeAll=function(){this._tweens={}},t.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},t.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},t.prototype.update=function(e,n){e===void 0&&(e=bP()),n===void 0&&(n=!1);var o=Object.keys(this._tweens);if(o.length===0)return!1;for(;o.length>0;){this._tweensAddedDuringUpdate={};for(var i=0;i1?r(t[n],t[n-1],n-o):r(t[i],t[i+1>n?n:i+1],o-i)},Bezier:function(t,e){for(var n=0,o=t.length-1,i=Math.pow,r=ED.Utils.Bernstein,a=0;a<=o;a++)n+=i(1-e,o-a)*i(e,a)*t[a]*r(o,a);return n},CatmullRom:function(t,e){var n=t.length-1,o=n*e,i=Math.floor(o),r=ED.Utils.CatmullRom;return t[0]===t[n]?(e<0&&(i=Math.floor(o=n*(1+e))),r(t[(i-1+n)%n],t[i],t[(i+1)%n],t[(i+2)%n],o-i)):e<0?t[0]-(r(t[0],t[0],t[1],t[1],-o)-t[0]):e>1?t[n]-(r(t[n],t[n],t[n-1],t[n-1],o-n)-t[n]):r(t[i?i-1:0],t[i],t[n1;o--)n*=o;return t[e]=n,n}}(),CatmullRom:function(t,e,n,o,i){var r=(n-t)*.5,a=(o-e)*.5,l=i*i,s=i*l;return(2*e-2*n+r+a)*s+(-3*e+3*n-2*r-a)*l+r*i+e}}},Uco=function(){function t(){}return t.nextId=function(){return t._nextId++},t._nextId=0,t}(),iot=new Nco,Bco=function(){function t(e,n){n===void 0&&(n=iot),this._object=e,this._group=n,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=CE.Linear.None,this._interpolationFunction=ED.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=Uco.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return t.prototype.getId=function(){return this._id},t.prototype.isPlaying=function(){return this._isPlaying},t.prototype.isPaused=function(){return this._isPaused},t.prototype.to=function(e,n){return this._valuesEnd=Object.create(e),n!==void 0&&(this._duration=n),this},t.prototype.duration=function(e){return this._duration=e,this},t.prototype.start=function(e){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e!==void 0?typeof e=="string"?bP()+parseFloat(e):e:bP(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},t.prototype._setupProperties=function(e,n,o,i){for(var r in o){var a=e[r],l=Array.isArray(a),s=l?"array":typeof a,c=!l&&Array.isArray(o[r]);if(!(s==="undefined"||s==="function")){if(c){var u=o[r];if(u.length===0)continue;u=u.map(this._handleRelativeValue.bind(this,a)),o[r]=[a].concat(u)}if((s==="object"||l)&&a&&!c){n[r]=l?[]:{};for(var d in a)n[r][d]=a[d];i[r]=l?[]:{},this._setupProperties(a,n[r],o[r],i[r])}else typeof n[r]>"u"&&(n[r]=a),l||(n[r]*=1),c?i[r]=o[r].slice().reverse():i[r]=n[r]||0}}},t.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},t.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},t.prototype.pause=function(e){return e===void 0&&(e=bP()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this),this)},t.prototype.resume=function(e){return e===void 0&&(e=bP()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},t.prototype.stopChainedTweens=function(){for(var e=0,n=this._chainedTweens.length;er)return!1;n&&this.start(e)}if(this._goToEnd=!1,e1?1:i;var a=this._easingFunction(i);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,a),this._onUpdateCallback&&this._onUpdateCallback(this._object,i),i===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(o in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[o]=="string"&&(this._valuesStartRepeat[o]=this._valuesStartRepeat[o]+parseFloat(this._valuesEnd[o])),this._yoyo&&this._swapEndStartRepeatValues(o),this._valuesStart[o]=this._valuesStartRepeat[o];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var l=0,s=this._chainedTweens.length;l{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&(l.type===z.Human||l.type===z.Tree||l.type===z.Flower)){const s=l;s.flip=r;break}})},o=i=>{const r=i.target.checked,a={name:`Flip ${t.type}`,timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:z.Human,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.flip,onChange:o,children:O.t("peopleMenu.Flip",e)})})},Yco=({human:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Human&&l.id===i){l.observer=r;break}})},o=i=>{const r=i.target.checked,a={name:"Set Observer",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:z.Human,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.observer,onChange:o,children:O.t("peopleMenu.Observer",e)})})},Oco=({human:t})=>{const e=Kt(),[n,o]=m.useState(!1),i=m.useRef(0),r=m.useRef(-1),a=m.useRef(!0),l=m.useRef(!1);m.useEffect(()=>{if(l.current){if(a.current)return i.current=requestAnimationFrame(c),u(),()=>{cancelAnimationFrame(i.current)};a.current=!0}},[n]);const s=(f,p,g)=>{const y=Ln.getState().orbitControlsRef;y!=null&&y.current&&(y.current.object.position.set(f,p,g),y.current.update(),M.getState().set(A=>{const x=A.viewState;x.cameraPosition=[f,p,g]}))},c=()=>{requestAnimationFrame(c);const f=Date.now();f-r.current>100&&(jco(),r.current=f)},u=()=>{if(!t)return;let f=t.cx,p=t.cy,g=t.cz+t.lz;const y=M.getState().getParent(t);if(y){const C=be.absoluteHumanOrTreeCoordinates(f,p,g,y);f=C.x,p=C.y,g=C.z}const A=M.getState().cameraDirection.clone().normalize().multiplyScalar(.5);f+=A.x,p+=A.y;const x=[...M.getState().viewState.cameraPosition];new Bco(x).to([f,p,g],1e3).easing(CE.Quadratic.In).onUpdate(C=>{s(C[0],C[1],C[2])}).onComplete(()=>{M.getState().selectNone()}).start()},d=()=>{o(!n),l.current=!0};return h.jsx(tn,{onClick:d,children:O.t("peopleMenu.ViewFromThisPerson",e)})},_co=({tree:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Tree&&l.id===i){l.showModel=r;break}})},o=i=>{const r={name:"Show Tree Model",timestamp:Date.now(),checked:i,selectedElementId:t.id,selectedElementType:z.Tree,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:(t==null?void 0:t.showModel)&&(t==null?void 0:t.type)===z.Tree,onChange:i=>o(i.target.checked),children:O.t("treeMenu.ShowModel",e)})})},Vco=({tree:t})=>{const e=M.getState().updateElementLxById,n=Kt(),o=t.lx??1,i=r=>{if(r===null||r===o)return;const a={name:"Set Tree Spread",timestamp:Date.now(),oldValue:o,newValue:r,changedElementId:t.id,changedElementType:t.type,undo:()=>{e(a.changedElementId,a.oldValue)},redo:()=>{e(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),e(t.id,r),M.getState().set(l=>{l.actionState.treeSpread=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[O.t("treeMenu.Spread",n)+" ("+O.t("word.MeterAbbreviation",n)+")",":"]}),h.jsx(Hn,{style:{width:"160px"},min:1,max:50,step:1,precision:1,value:o,onChange:i})]})},Gco=({tree:t})=>{const e=M.getState().updateElementLzById,n=Kt(),o=t.lz??1,i=r=>{if(r===null||r===o)return;const a={name:"Set Tree Height",timestamp:Date.now(),oldValue:o,newValue:r,changedElementId:t.id,changedElementType:t.type,undo:()=>{e(a.changedElementId,a.oldValue)},redo:()=>{e(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),e(t.id,r),M.getState().set(l=>{l.actionState.treeHeight=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[O.t("word.Height",n)+" ("+O.t("word.MeterAbbreviation",n)+")",":"]}),h.jsx(Hn,{style:{width:"160px"},min:1,max:30,step:1,precision:1,value:o,onChange:i})]})},{Option:_a}=Yo,Xco=Se.memo(({human:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Human&&u.id===l){const d=u;d.name=s,d.lx=Ip.fetchWidth(s),d.lz=Ip.fetchHeight(s);break}})};return h.jsxs(Yo,{style:{width:"140px"},value:(t==null?void 0:t.name)??Yt.Jack,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change People",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.humanName=l}),i(!o)}}},children:[h.jsxs(_a,{value:Yt.Jack,children:[h.jsx("img",{alt:Yt.Jack,src:AUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jack",r)]},Yt.Jack),h.jsxs(_a,{value:Yt.Jacob,children:[h.jsx("img",{alt:Yt.Jacob,src:wUe,height:20,style:{paddingRight:"16px"}})," ",O.t("people.Jacob",r)]},Yt.Jacob),h.jsxs(_a,{value:Yt.Jacqueline,children:[h.jsx("img",{alt:Yt.Jacqueline,src:vUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jacqueline",r)]},Yt.Jacqueline),h.jsxs(_a,{value:Yt.Jaah,children:[h.jsx("img",{alt:Yt.Jaah,src:yUe,height:20,style:{paddingRight:"19px"}})," ",O.t("people.Jaah",r)]},Yt.Jaah),h.jsxs(_a,{value:Yt.Jade,children:[h.jsx("img",{alt:Yt.Jade,src:xUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jade",r)]},Yt.Jade),h.jsxs(_a,{value:Yt.Jamelia,children:[h.jsx("img",{alt:Yt.Jamelia,src:bUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jamelia",r)]},Yt.Jamelia),h.jsxs(_a,{value:Yt.James,children:[h.jsx("img",{alt:Yt.James,src:SUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.James",r)]},Yt.James),h.jsxs(_a,{value:Yt.Jane,children:[h.jsx("img",{alt:Yt.Jane,src:TUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jane",r)]},Yt.Jane),h.jsxs(_a,{value:Yt.Jaya,children:[h.jsx("img",{alt:Yt.Jaya,src:PUe,height:20,style:{paddingRight:"19px"}})," ",O.t("people.Jaya",r)]},Yt.Jaya),h.jsxs(_a,{value:Yt.Jaye,children:[h.jsx("img",{alt:Yt.Jaye,src:CUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jaye",r)]},Yt.Jaye),h.jsxs(_a,{value:Yt.Jeanette,children:[h.jsx("img",{alt:Yt.Jeanette,src:RUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jeanette",r)]},Yt.Jeanette),h.jsxs(_a,{value:Yt.Jedi,children:[h.jsx("img",{alt:Yt.Jedi,src:HUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jedi",r)]},Yt.Jedi),h.jsxs(_a,{value:Yt.Jeff,children:[h.jsx("img",{alt:Yt.Jeff,src:MUe,height:20,style:{paddingRight:"19px"}})," ",O.t("people.Jeff",r)]},Yt.Jeff),h.jsxs(_a,{value:Yt.Jena,children:[h.jsx("img",{alt:Yt.Jena,src:IUe,height:20,style:{paddingRight:"19px"}})," ",O.t("people.Jena",r)]},Yt.Jena),h.jsxs(_a,{value:Yt.Jennifer,children:[h.jsx("img",{alt:Yt.Jennifer,src:zUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jennifer",r)]},Yt.Jennifer),h.jsxs(_a,{value:Yt.Jess,children:[h.jsx("img",{alt:Yt.Jess,src:DUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jess",r)]},Yt.Jess),h.jsxs(_a,{value:Yt.Jett,children:[h.jsx("img",{alt:Yt.Jett,src:EUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jett",r)]},Yt.Jett),h.jsxs(_a,{value:Yt.Jill,children:[h.jsx("img",{alt:Yt.Jill,src:kUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jill",r)]},Yt.Jill),h.jsxs(_a,{value:Yt.Jiya,children:[h.jsx("img",{alt:Yt.Jiya,src:FUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jiya",r)]},Yt.Jiya),h.jsxs(_a,{value:Yt.Joan,children:[h.jsx("img",{alt:Yt.Joan,src:LUe,height:20,style:{paddingRight:"8px"}})," ",O.t("people.Joan",r)]},Yt.Joan),h.jsxs(_a,{value:Yt.Jocelyn,children:[h.jsx("img",{alt:Yt.Jocelyn,src:WUe,height:20,style:{paddingRight:"23px"}})," ",O.t("people.Jocelyn",r)]},Yt.Jocelyn),h.jsxs(_a,{value:Yt.Joel,children:[h.jsx("img",{alt:Yt.Joel,src:NUe,height:20,style:{paddingRight:"7px"}})," ",O.t("people.Joel",r)]},Yt.Joel),h.jsxs(_a,{value:Yt.Joey,children:[h.jsx("img",{alt:Yt.Joey,src:UUe,height:20,style:{paddingRight:"22px"}})," ",O.t("people.Joey",r)]},Yt.Joey),h.jsxs(_a,{value:Yt.John,children:[h.jsx("img",{alt:Yt.John,src:BUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.John",r)]},Yt.John),h.jsxs(_a,{value:Yt.Jonathon,children:[h.jsx("img",{alt:Yt.Jonathon,src:jUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jonathon",r)]},Yt.Jonathon),h.jsxs(_a,{value:Yt.Jose,children:[h.jsx("img",{alt:Yt.Jose,src:YUe,height:20,style:{paddingRight:"5px"}})," ",O.t("people.Jose",r)]},Yt.Jose),h.jsxs(_a,{value:Yt.Joseph,children:[h.jsx("img",{alt:Yt.Joseph,src:OUe,height:20,style:{paddingRight:"22px"}})," ",O.t("people.Joseph",r)]},Yt.Joseph),h.jsxs(_a,{value:Yt.Joshua,children:[h.jsx("img",{alt:Yt.Joshua,src:_Ue,height:20,style:{paddingRight:"22px"}})," ",O.t("people.Joshua",r)]},Yt.Joshua),h.jsxs(_a,{value:Yt.Judd,children:[h.jsx("img",{alt:Yt.Judd,src:VUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Judd",r)]},Yt.Judd),h.jsxs(_a,{value:Yt.Judy,children:[h.jsx("img",{alt:Yt.Judy,src:GUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Judy",r)]},Yt.Judy),h.jsxs(_a,{value:Yt.Julia,children:[h.jsx("img",{alt:Yt.Julia,src:XUe,height:20,style:{paddingRight:"22px"}})," ",O.t("people.Julia",r)]},Yt.Julia),h.jsxs(_a,{value:Yt.Julio,children:[h.jsx("img",{alt:Yt.Julio,src:JUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Julio",r)]},Yt.Julio),h.jsxs(_a,{value:Yt.Jumapili,children:[h.jsx("img",{alt:Yt.Jumapili,src:KUe,height:20,style:{paddingRight:"16px"}})," ",O.t("people.Jumapili",r)]},Yt.Jumapili),h.jsxs(_a,{value:Yt.June,children:[h.jsx("img",{alt:Yt.June,src:qUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.June",r)]},Yt.June),h.jsxs(_a,{value:Yt.Juro,children:[h.jsx("img",{alt:Yt.Juro,src:$Ue,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Juro",r)]},Yt.Juro),h.jsxs(_a,{value:Yt.Justin,children:[h.jsx("img",{alt:Yt.Justin,src:QUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Justin",r)]},Yt.Justin)]})}),Jco=t=>{const e=[];if(t.type!==z.Human)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().viewState.orthographic??!1;return e.push({key:"human-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"human-cut",label:h.jsx(Tf,{})}),e.push({key:"human-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"human-flip",label:h.jsx(t9e,{billboardModel:n})}),r||e.push({key:"human-move-view",label:h.jsx(Oco,{human:n})}),o&&e.push({key:"human-obserber",label:h.jsx(Yco,{human:n})}),o&&e.push({key:"human-selection",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"120px"},children:[O.t("peopleMenu.ChangePerson",i),": "]}),h.jsx(Xco,{human:n})]})}),{items:e}},{Option:Gd}=Yo,Kco=Se.memo(({flower:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Flower&&u.id===l){const d=u;d.name=s,d.lx=cw.fetchSpread(s),d.lz=cw.fetchHeight(s);break}})};return h.jsxs(Yo,{style:{width:"200px"},value:(t==null?void 0:t.name)??$n.WhiteFlower,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change Flower",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.flowerType=l}),i(!o)}}},children:[h.jsxs(Gd,{value:$n.WhiteFlower,children:[h.jsx("img",{alt:$n.WhiteFlower,src:sBe,height:20,style:{paddingRight:"17px"}})," ",O.t("flower.WhiteFlower",r)]},$n.WhiteFlower),h.jsxs(Gd,{value:$n.YellowFlower,children:[h.jsx("img",{alt:$n.YellowFlower,src:cBe,height:20,style:{paddingRight:"16px"}})," ",O.t("flower.YellowFlower",r)]},$n.YellowFlower),h.jsxs(Gd,{value:$n.Hibiscus,children:[h.jsx("img",{alt:$n.Hibiscus,src:eBe,height:20,style:{paddingRight:"19px"}})," ",O.t("flower.Hibiscus",r)]},$n.Hibiscus),h.jsxs(Gd,{value:$n.Hydrangea,children:[h.jsx("img",{alt:$n.Hydrangea,src:tBe,height:20,style:{paddingRight:"18px"}})," ",O.t("flower.Hydrangea",r)]},$n.Hydrangea),h.jsxs(Gd,{value:$n.Spirea,children:[h.jsx("img",{alt:$n.Spirea,src:rBe,height:20,style:{paddingRight:"18px"}})," ",O.t("flower.Spirea",r)]},$n.Spirea),h.jsxs(Gd,{value:$n.Hosta,children:[h.jsx("img",{alt:$n.Hosta,src:nBe,height:20,style:{paddingRight:"18px"}})," ",O.t("flower.Hosta",r)]},$n.Hosta),h.jsxs(Gd,{value:$n.Peony,children:[h.jsx("img",{alt:$n.Peony,src:oBe,height:20,style:{paddingRight:"17px"}})," ",O.t("flower.Peony",r)]},$n.Peony),h.jsxs(Gd,{value:$n.Boxwood,children:[h.jsx("img",{alt:$n.Boxwood,src:hce,height:20,style:{paddingRight:"23px"}})," ",O.t("flower.Boxwood",r)]},$n.Boxwood),h.jsxs(Gd,{value:$n.TallBush,children:[h.jsx("img",{alt:$n.TallBush,src:Ace,height:20,style:{paddingRight:"32px"}})," ",O.t("flower.TallBush",r)]},$n.TallBush),h.jsxs(Gd,{value:$n.CactusCombo1,children:[h.jsx("img",{alt:$n.CactusCombo1,src:pce,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.CactusCombo1",r)]},$n.CactusCombo1),h.jsxs(Gd,{value:$n.CactusCombo2,children:[h.jsx("img",{alt:$n.CactusCombo2,src:gce,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.CactusCombo2",r)]},$n.CactusCombo2),h.jsxs(Gd,{value:$n.CactusCombo3,children:[h.jsx("img",{alt:$n.CactusCombo3,src:mce,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.CactusCombo3",r)]},$n.CactusCombo3),h.jsxs(Gd,{value:$n.CactusCombo4,children:[h.jsx("img",{alt:$n.CactusCombo4,src:yce,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.CactusCombo4",r)]},$n.CactusCombo4),h.jsxs(Gd,{value:$n.RedRose,children:[h.jsx("img",{alt:$n.RedRose,src:iBe,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.RedRose",r)]},$n.RedRose),h.jsxs(Gd,{value:$n.Bellflower,children:[h.jsx("img",{alt:$n.Bellflower,src:ZUe,height:20,style:{paddingRight:"20px"}})," ",O.t("flower.Bellflower",r)]},$n.Bellflower),h.jsxs(Gd,{value:$n.Sunflower,children:[h.jsx("img",{alt:$n.Sunflower,src:aBe,height:20,style:{paddingRight:"32px"}})," ",O.t("flower.Sunflower",r)]},$n.Sunflower),h.jsxs(Gd,{value:$n.Tulip,children:[h.jsx("img",{alt:$n.Tulip,src:lBe,height:20,style:{paddingRight:"24px"}})," ",O.t("flower.Tulip",r)]},$n.Tulip)]})}),qco=t=>{const e=[];if(t.type!==z.Flower)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"flower-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"flower-cut",label:h.jsx(Tf,{})}),e.push({key:"flower-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"flower-flip",label:h.jsx(t9e,{billboardModel:n})}),o&&e.push({key:"flower-change-type",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"60px"},children:[O.t("flowerMenu.Type",i),": "]}),h.jsx(Kco,{flower:n})]})}),{items:e}},$co=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.filled=r;break}})},o=i=>{const r={name:"Fill Polygon",timestamp:Date.now(),checked:!t.filled,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.filled,onChange:o,children:O.t("polygonMenu.Filled",e)})})},Qco=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.shininess=r;break}})},o=i=>{const a={name:"Shiny Polygon",timestamp:Date.now(),checked:((t==null?void 0:t.shininess)??0)>0,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,a.checked?0:100)},redo:()=>{n(t.id,a.checked?100:0)}};M.getState().addUndoable(a),n(t.id,i.target.checked?100:0)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.shininess,onChange:o,children:O.t("polygonMenu.Shiny",e)})})},Zco=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.noOutline=r;break}})},o=i=>{const r={name:"No Outline for Polygon",timestamp:Date.now(),checked:!t.noOutline,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.noOutline,onChange:o,children:O.t("polygonMenu.NoOutline",e)})})},e0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.text)??""),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.text=l);break}})},r=()=>{const a={name:"Set Text for Polygon",timestamp:Date.now(),oldValue:t.text??"",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("word.Text",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},t0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontSize)??1),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontSize=l);break}})},r=()=>{const a={name:"Set Font Size for Polygon",timestamp:Date.now(),oldValue:t.fontSize??1,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("word.FontSize",e),":"]}),min:.1,max:5,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},n0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontColor)??"black"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontColor=l);break}})},r=()=>{const a={name:"Set Font Color for Polygon",timestamp:Date.now(),oldValue:t.fontColor??"black",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("word.FontColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},o0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontOutlineColor)??"white"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontOutlineColor=l);break}})},r=()=>{const a={name:"Set Font Outline Color for Polygon",timestamp:Date.now(),oldValue:t.fontOutlineColor??"white",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("polygonMenu.FontOutlineColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},i0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontOutlineWidth)??0),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontOutlineWidth=l);break}})},r=()=>{const a={name:"Set Font Outline Width for Polygon",timestamp:Date.now(),oldValue:t.fontOutlineWidth??0,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("polygonMenu.FontOutlineWidth",e),":"]}),min:0,max:1,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},r0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontStrokeColor)??"black"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontStrokeColor=l);break}})},r=()=>{const a={name:"Set Font Stroke Color for Polygon",timestamp:Date.now(),oldValue:t.fontStrokeColor??"black",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("polygonMenu.FontStrokeColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},a0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontStrokeWidth)??0),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontStrokeWidth=l);break}})},r=()=>{const a={name:"Set Font Stroke Width for Polygon",timestamp:Date.now(),oldValue:t.fontStrokeWidth??0,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("polygonMenu.FontStrokeWidth",e),":"]}),min:0,max:1,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},l0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(rr),i=M(Swt),r=M(Twt),a=M(Pwt),l=M(Cwt),s=M(En),c=M(xH),u=M(bH),d=M(ro),f=M(oo),p=co(z.Polygon),[g,y]=m.useState((p==null?void 0:p.lineColor)??"black"),A=Kt(),x=T=>{u(T.target.value)},C=T=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const P of e)if(P.type===z.Polygon&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&T!==P.lineColor)return!0;break;case ue.AllObjectsOfThisType:for(const P of e)if(P.type===z.Polygon&&!P.locked&&T!==P.lineColor)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const P of e)if(P.type===z.Polygon&&P.parentId===p.parentId&&be.isIdentical(P.normal,p.normal)&&!P.locked&&P.lineColor!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of e)if(P.type===z.Polygon&&P.foundationId===(p==null?void 0:p.foundationId)&&!P.locked&&P.lineColor!==T)return!0;break;default:if(T!==(p==null?void 0:p.lineColor))return!0}return!1}},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Polygon&&!H.locked&&T.has(H.id)&&(H.lineColor=P)})},v=T=>{if(p&&C(T))switch(c){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Polygon&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for Selected Polygons",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{b(R.oldValues,R.newValue)}};s(R),b(P,T),f(d+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Polygon&&P.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for All Polygons",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{l(z.Polygon,R.newValue)}};s(R),l(z.Polygon,T),f(d+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const R=new Map;for(const D of e)D.type===z.Polygon&&D.parentId===p.parentId&&be.isIdentical(D.normal,p.normal)&&R.set(D.id,D.lineColor??"gray");const H={name:"Set Line Color for All Polygons on Same Surface",timestamp:Date.now(),oldValues:R,newValue:T,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{H.groupId&&r(z.Polygon,H.groupId,H.normal,H.newValue)}};s(H),r(z.Polygon,p.parentId,p.normal,T),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const P=new Map;for(const H of e)H.type===z.Polygon&&H.foundationId===p.foundationId&&P.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for All Polygons Above Foundation",timestamp:Date.now(),oldValues:P,newValue:T,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&a(z.Polygon,R.groupId,R.newValue)}};s(R),a(z.Polygon,p.foundationId,T),f(d+1)}break}default:{const P=n(p.id),R=P?P.lineColor:p.lineColor,H={name:"Set Line Color of Selected Polygon",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,T),f(d+1);break}}},S=()=>{t(!1)},w=()=>{v(g)};return h.jsx(lo,{width:600,title:O.t("polygonMenu.LineColor",A),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:g??(p==null?void 0:p.lineColor)??"black",onChangeComplete:T=>{y(T.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:x,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",A)})]})})})]})})},s0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(xH),l=M(bH),s=M(ro),c=M(oo),u=co(z.Polygon),[d,f]=m.useState((u==null?void 0:u.lineStyle)??Oh.Solid),p=Kt(),{Option:g}=Yo,y=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.Polygon&&E.id===R){E.lineStyle=H;break}})},A=(R,H,D)=>{e(E=>{for(const L of E.elements)L.type===z.Polygon&&L.parentId===R&&be.isIdentical(L.normal,H)&&!L.locked&&(L.lineStyle=D)})},x=(R,H)=>{e(D=>{for(const E of D.elements)E.type===z.Polygon&&E.foundationId===R&&!E.locked&&(E.lineStyle=H)})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&(D.lineStyle=R)})},b=R=>{l(R.target.value)},v=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const H of n)if(H.type===z.Polygon&&H.parentId===u.parentId&&be.isIdentical(H.normal,u.normal)&&!H.locked&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.Polygon&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&R!==H.lineStyle)return!0;break;default:if(R!==(u==null?void 0:u.lineStyle))return!0}return!1}},S=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)E.type===z.Polygon&&!E.locked&&R.has(E.id)&&(E.lineStyle=H)})},w=R=>{if(u&&v(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Polygon&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.lineStyle??Oh.Solid);const D={name:"Set Line Style for Selected Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{S(D.oldValues,D.newValue)}};r(D),S(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Polygon&&H.set(E.id,E.lineStyle??Oh.Solid);const D={name:"Set Line Style for All Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(i(u)){const D=new Map;for(const L of n)L.type===z.Polygon&&L.parentId===u.parentId&&be.isIdentical(L.normal,u.normal)&&D.set(L.id,L.lineStyle??Oh.Solid);const E={name:"Set Line Style for All Polygons on Same Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:u.normal,undo:()=>{for(const[L,U]of E.oldValues.entries())y(L,U)},redo:()=>{E.groupId&&A(E.groupId,E.normal,E.newValue)}};r(E),A(u.parentId,u.normal,R),c(s+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const E of n)E.type===z.Polygon&&E.foundationId===u.foundationId&&H.set(E.id,E.lineStyle??Oh.Solid);const D={name:"Set Line Style for All Polygons Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{D.groupId&&x(D.groupId,D.newValue)}};r(D),x(u.foundationId,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.lineStyle:u.lineStyle,E={name:"Set Line Style of Selected Polygon",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{y(E.changedElementId,E.oldValue)},redo:()=>{y(E.changedElementId,E.newValue)}};r(E),y(u.id,R),c(s+1);break}}},T=()=>{t(!1)},P=()=>{w(d)};return h.jsx(lo,{width:600,title:O.t("polygonMenu.LineStyle",p),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"200px"},value:d,onChange:R=>f(R),children:[h.jsxs(g,{value:Oh.Solid,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px solid dimGray"},children:" "}),O.t("polygonMenu.SolidLine",p)]},Oh.Solid),h.jsxs(g,{value:Oh.Dashed,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px dashed dimGray"},children:" "}),O.t("polygonMenu.DashedLine",p)]},Oh.Dashed),h.jsxs(g,{value:Oh.Dotted,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px dotted dimGray"},children:" "}),O.t("polygonMenu.DottedLine",p)]},Oh.Dotted)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",p)})]})})})]})})},c0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(rr),i=M(Rwt),r=M(Hwt),a=M(Mwt),l=M(Iwt),s=M(En),c=M(xH),u=M(bH),d=M(ro),f=M(oo),p=co(z.Polygon),[g,y]=m.useState((p==null?void 0:p.lineWidth)??1),A=Kt(),{Option:x}=Yo,C=P=>{u(P.target.value)},b=P=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const R of e)if(R.type===z.Polygon&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&P!==R.lineWidth)return!0;break;case ue.AllObjectsOfThisType:for(const R of e)if(R.type===z.Polygon&&!R.locked&&P!==R.lineWidth)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const R of e)if(R.type===z.Polygon&&R.parentId===p.parentId&&be.isIdentical(R.normal,p.normal)&&!R.locked&&R.lineWidth!==P)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of e)if(R.type===z.Polygon&&R.foundationId===(p==null?void 0:p.foundationId)&&!R.locked&&R.lineWidth!==P)return!0;break;default:if(P!==(p==null?void 0:p.lineWidth))return!0}return!1}},v=(P,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&P.has(D.id)&&(D.lineWidth=R)})},S=P=>{if(p&&b(P))switch(c){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Polygon&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for Selected Polygons",timestamp:Date.now(),oldValues:R,newValue:P,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{v(H.oldValues,H.newValue)}};s(H),v(R,P),f(d+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Polygon&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for All Polygons",timestamp:Date.now(),oldValues:R,newValue:P,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{l(z.Polygon,H.newValue)}};s(H),l(z.Polygon,P),f(d+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const H=new Map;for(const E of e)E.type===z.Polygon&&E.parentId===p.parentId&&be.isIdentical(E.normal,p.normal)&&H.set(E.id,E.lineWidth??1);const D={name:"Set Line Width for All Polygons on Same Surface",timestamp:Date.now(),oldValues:H,newValue:P,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.Polygon,D.groupId,D.normal,D.newValue)}};s(D),r(z.Polygon,p.parentId,p.normal,P),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const R=new Map;for(const D of e)D.type===z.Polygon&&D.foundationId===p.foundationId&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for All Polygons Above Foundation",timestamp:Date.now(),oldValues:R,newValue:P,groupId:p.foundationId,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{H.groupId&&a(z.Polygon,H.groupId,H.newValue)}};s(H),a(z.Polygon,p.foundationId,P),f(d+1)}break}default:{const R=n(p.id),H=R?R.lineWidth:p.lineWidth,D={name:"Set Line Width of Selected Polygon",timestamp:Date.now(),oldValue:H,newValue:P,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(D.changedElementId,D.oldValue)},redo:()=>{i(D.changedElementId,D.newValue)}};s(D),i(p.id,P),f(d+1);break}}},w=()=>{t(!1)},T=()=>{S(g),t(!1),f(0)};return h.jsx(lo,{width:560,title:O.t("polygonMenu.LineWidth",A),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"200px"},value:g,onChange:P=>y(P),children:[h.jsx(x,{value:_y.One,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"1px solid dimGray"}})},_y.One),h.jsx(x,{value:_y.Two,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"2px solid dimGray"}})},_y.Two),h.jsx(x,{value:_y.Three,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"3px solid dimGray"}})},_y.Three),h.jsx(x,{value:_y.Four,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"4px solid dimGray"}})},_y.Four),h.jsx(x,{value:_y.Five,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"5px solid dimGray"}})},_y.Five)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:C,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",A)})]})})})]})})},u0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(rr),i=M(ZBe),r=M(xwt),a=M(bwt),l=M(eje),s=M(En),c=M(xH),u=M(bH),d=M(ro),f=M(oo),p=co(z.Polygon),[g,y]=m.useState((p==null?void 0:p.color)??"gray"),A=Kt(),x=T=>{u(T.target.value)},C=T=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const P of e)if(P.type===z.Polygon&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&T!==P.color)return!0;break;case ue.AllObjectsOfThisType:for(const P of e)if(P.type===z.Polygon&&!P.locked&&T!==P.color)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of e)if(P.type===z.Polygon&&P.foundationId===p.foundationId&&!P.locked&&P.color!==T)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const P of e)if(P.type===z.Polygon&&P.parentId===p.parentId&&be.isIdentical(P.normal,p.normal)&&!P.locked&&P.color!==T)return!0;break;default:if(T!==p.color)return!0}return!1}},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Polygon&&!H.locked&&T.has(H.id)&&(H.color=P)})},v=T=>{if(p&&C(T))switch(c){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Polygon&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,H.color??"gray");const R={name:"Set Fill Color for Selected Polygons",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{b(R.oldValues,R.newValue)}};s(R),b(P,T),f(d+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Polygon&&P.set(H.id,H.color??"gray");const R={name:"Set Fill Color for All Polygons",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{l(z.Polygon,R.newValue)}};s(R),l(z.Polygon,T),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const P=new Map;for(const H of e)H.type===z.Polygon&&H.foundationId===p.foundationId&&P.set(H.id,H.color??"gray");const R={name:"Set Fill Color for All Polygons Above Foundation",timestamp:Date.now(),oldValues:P,newValue:T,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&a(z.Polygon,R.groupId,R.newValue)}};s(R),a(z.Polygon,p.foundationId,T),f(d+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const R=new Map;for(const D of e)D.type===z.Polygon&&D.parentId===p.parentId&&be.isIdentical(D.normal,p.normal)&&R.set(D.id,D.color??"gray");const H={name:"Set Fill Color for All Polygons on Same Surface",timestamp:Date.now(),oldValues:R,newValue:T,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{H.groupId&&r(z.Polygon,H.groupId,H.normal,H.newValue)}};s(H),r(z.Polygon,p.parentId,p.normal,T),f(d+1)}break}default:{const P=n(p.id),R=P?P.color:p.color,H={name:"Set Fill Color of Selected Polygon",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,T),f(d+1);break}}},S=()=>{t(!1)},w=()=>{v(g)};return h.jsx(lo,{width:600,title:O.t("polygonMenu.FillColor",A),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:g??(p==null?void 0:p.color)??"gray",onChangeComplete:T=>{y(T.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:x,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",A)})]})})})]})})},d0o="/aladdin/assets/polygon_08_menu-RpvWW3pg.png",f0o="/aladdin/assets/polygon_09_menu-CCH8lYni.png",h0o="/aladdin/assets/polygon_10_menu-BYFeRpsw.png",p0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(xH),l=M(bH),s=M(ro),c=M(oo),u=co(z.Polygon),[d,f]=m.useState((u==null?void 0:u.textureType)??qi.NoTexture),p=Kt(),{Option:g}=Yo,y=(R,H)=>{e(D=>{for(const E of D.elements)if(E.id===R&&E.type===z.Polygon&&!E.locked){E.textureType=H;break}})},A=(R,H,D)=>{e(E=>{for(const L of E.elements)L.type===z.Polygon&&L.parentId===R&&be.isIdentical(L.normal,H)&&!L.locked&&(L.textureType=D)})},x=(R,H)=>{e(D=>{for(const E of D.elements)E.type===z.Polygon&&E.foundationId===R&&!E.locked&&(E.textureType=H)})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&(D.textureType=R)})},b=R=>{l(R.target.value)},v=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&R!==H.textureType)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&R!==H.textureType)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const H of n)if(H.type===z.Polygon&&H.parentId===u.parentId&&be.isIdentical(H.normal,u.normal)&&!H.locked&&H.textureType!==R)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.Polygon&&H.foundationId===u.foundationId&&!H.locked&&H.textureType!==R)return!0;break;default:if(R!==(u==null?void 0:u.textureType))return!0}return!1}},S=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)E.type===z.Polygon&&!E.locked&&R.has(E.id)&&(E.textureType=H)})},w=R=>{if(u&&v(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Polygon&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.textureType??qi.NoTexture);const D={name:"Set Texture for Selected Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{S(D.oldValues,D.newValue)}};r(D),S(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Polygon&&H.set(E.id,E.textureType??qi.NoTexture);const D={name:"Set Texture for All Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(i(u)){const D=new Map;for(const L of n)L.type===z.Polygon&&L.parentId===u.parentId&&be.isIdentical(L.normal,u.normal)&&D.set(L.id,L.textureType??qi.NoTexture);const E={name:"Set Texture for All Polygons on Same Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:u.normal,undo:()=>{for(const[L,U]of E.oldValues.entries())y(L,U)},redo:()=>{E.groupId&&A(E.groupId,E.normal,E.newValue)}};r(E),A(u.parentId,u.normal,R),c(s+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const E of n)E.type===z.Polygon&&E.foundationId===u.foundationId&&H.set(E.id,E.textureType??qi.NoTexture);const D={name:"Set Texture for All Polygons Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{D.groupId&&x(D.groupId,D.newValue)}};r(D),x(u.foundationId,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.textureType:u.textureType,E={name:"Set Texture of Selected Polygon",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{y(E.changedElementId,E.oldValue)},redo:()=>{y(E.changedElementId,E.newValue)}};r(E),y(u.id,R),c(s+1);break}}},T=()=>{t(!1)},P=()=>{w(d)};return h.jsx(lo,{width:500,title:O.t("polygonMenu.FillTexture",p),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"150px"},value:d,onChange:R=>f(R),children:[h.jsxs(g,{value:qi.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",p)]},qi.NoTexture),h.jsxs(g,{value:qi.Texture01,children:[h.jsx("img",{alt:qi.Texture01,src:Dtt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture01",p)]},qi.Texture01),h.jsxs(g,{value:qi.Texture02,children:[h.jsx("img",{alt:qi.Texture02,src:Ett,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture02",p)]},qi.Texture02),h.jsxs(g,{value:qi.Texture03,children:[h.jsx("img",{alt:qi.Texture03,src:ktt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture03",p)]},qi.Texture03),h.jsxs(g,{value:qi.Texture04,children:[h.jsx("img",{alt:qi.Texture04,src:Ftt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture04",p)]},qi.Texture04),h.jsxs(g,{value:qi.Texture05,children:[h.jsx("img",{alt:qi.Texture05,src:Ltt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture05",p)]},qi.Texture05),h.jsxs(g,{value:qi.Texture06,children:[h.jsx("img",{alt:qi.Texture06,src:Wtt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture06",p)]},qi.Texture06),h.jsxs(g,{value:qi.Texture07,children:[h.jsx("img",{alt:qi.Texture07,src:Ntt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture07",p)]},qi.Texture07),h.jsxs(g,{value:qi.Texture08,children:[h.jsx("img",{alt:qi.Texture08,src:d0o,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture08",p)]},qi.Texture08),h.jsxs(g,{value:qi.Texture09,children:[h.jsx("img",{alt:qi.Texture09,src:f0o,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture09",p)]},qi.Texture09),h.jsxs(g,{value:qi.Texture10,children:[h.jsx("img",{alt:qi.Texture10,src:h0o,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture10",p)]},qi.Texture10)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",p)})]})})})]})})},g0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(xH),i=M(bH),r=M(ro),a=M(oo),l=M(jn),s=M(dn),c=co(z.Polygon),[u,d]=m.useState((c==null?void 0:c.opacity)!==void 0?c.opacity:1),f=Kt(),p=(v,S)=>{s(w=>{for(const T of w.elements)if(T.id===v){T.opacity=S;break}})},g=v=>{for(const[S,w]of v.entries())p(S,w)},y=(v,S)=>{for(const w of v.keys())p(w,S)},A=v=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Polygon&&v!==S.opacity&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break;case ue.AllObjectsOfThisType:for(const S of e)if(S.type===z.Polygon&&v!==S.opacity&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of e)if(S.type===z.Polygon&&S.foundationId===c.foundationId&&v!==S.opacity&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const S of e)if(S.type===z.Polygon&&S.parentId===c.parentId&&be.isIdentical(S.normal,c.normal)&&v!==S.opacity&&!S.locked)return!0;break;default:if(v!==(c==null?void 0:c.opacity))return!0;break}return!1}},x=v=>{if(c&&A(v))switch(o){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of e)if(T.type===z.Polygon&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const P=T;S.set(T.id,P.opacity),p(P.id,v)}const w={name:"Set Opacity for Selected Polygons",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{g(w.oldValues)},redo:()=>{y(w.oldValues,w.newValue)}};n(w),a(r+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of e)if(T.type===z.Polygon&&!T.locked){const P=T;S.set(T.id,P.opacity),p(P.id,v)}const w={name:"Set Opacity for All Polygons",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{g(w.oldValues)},redo:()=>{y(w.oldValues,w.newValue)}};n(w),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(c.foundationId){const S=new Map;for(const T of e)if(T.type===z.Polygon&&T.foundationId===c.foundationId&&!T.locked){const P=T;S.set(T.id,P.opacity),p(P.id,v)}const w={name:"Set Opacity for All Polygons Above Foundation",timestamp:Date.now(),oldValues:S,newValue:v,groupId:c.foundationId,undo:()=>{g(w.oldValues)},redo:()=>{y(w.oldValues,w.newValue)}};n(w),a(r+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{if(c.parentId){const S=new Map;for(const T of e)if(T.type===z.Polygon&&T.parentId===c.parentId&&be.isIdentical(T.normal,c.normal)&&!T.locked){const P=T;S.set(T.id,P.opacity),p(P.id,v)}const w={name:"Set Opacity for All Polygons Above Foundation",timestamp:Date.now(),oldValues:S,newValue:v,groupId:c.foundationId,undo:()=>{g(w.oldValues)},redo:()=>{y(w.oldValues,w.newValue)}};n(w),a(r+1)}break}default:if(c){const S=l(c.id),w=S.opacity!==void 0?S.opacity:c.opacity!==void 0?c.opacity:1,T={name:"Set Polygon Opacity",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:c.id,changedElementType:c.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};n(T),p(c.id,v),a(r+1);break}}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("polygonMenu.Opacity",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.1,precision:1,value:u,formatter:v=>Number(v).toFixed(1),onChange:v=>d(v)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>i(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",f)})]})})})]})})};class FR{static create(e,n,o,i,r,a,l,s,c,u,d){if(n.type!==z.Foundation&&n.type!==z.Cuboid)throw new Error("base must be a foundation or cuboid");const f=[],p=be.calculatePolygonBounds(e.vertices),g=(i===ci.portrait?o.length:o.width)*a;if(s===Rl.upDown){const y=Math.floor(((p.maxX()-p.minX())*n.lx-g)/l),A=p.minX()+g/(2*n.lx)+d/n.lx,x=l/n.lx,C=.5*Math.abs(Math.cos(r))*g/n.lx,b={x:0,y:-.5},v={x:0,y:.5},S="rotation"in n?n.rotation:void 0;for(let w=0;w<=y;w++){const T=A+w*x;b.x=v.x=T-C;const P=be.polygonIntersections(b,v,e.vertices).sort((D,E)=>D.y-E.y);b.x=v.x=T+C;const R=be.polygonIntersections(b,v,e.vertices).sort((D,E)=>D.y-E.y),H=Math.max(P.length,R.length)/2;if(H>0)for(let D=0;DD.x-E.x);b.y=v.y=T+C;const R=be.polygonIntersections(b,v,e.vertices).sort((D,E)=>D.x-E.x),H=Math.max(P.length,R.length)/2;if(H>0)for(let D=0;D0)return rl.makeSolarPanel(s,c,a,(y+A)/2,s.type===z.Cuboid?.5:s.lz,ci.portrait,d,f,u,Vt,Po,r,void 0,x*s.ly,l)}static makeLeftRightSegment(e,n,o,i,r,a,l,s,c,u,d,f,p){const g=Math.abs(e.x-n.x)0)return rl.makeSolarPanel(s,c,(y+A)/2,a,s.type===z.Cuboid?.5:s.lz,ci.portrait,d,f,u,0,Po,r,void 0,x*s.lx,l)}}class m0o{static create(e,n,o,i,r,a,l,s,c,u,d){if(n.type!==z.Foundation&&n.type!==z.Cuboid)throw new Error("base must be a foundation or cuboid");const f=[],p=!be.isZero(n.rotation[2]),g=[];for(const b of e.vertices)g.push({x:b.x*n.lx+n.cx,y:b.y*n.ly+n.cy});const y=p?be.rotatePolygon(g,n.cx,n.cy,n.rotation[2]):g,A=be.calculatePolygonBounds(y),x=(i===ci.portrait?o.length:o.width)*a,C=.5*Math.abs(Math.cos(r))*x;if(s===Rl.eastWest){const b=A.maxY()-A.minY(),v=Math.floor((b-2*d-x)/l),S=A.minY()+x/2+d,w={x:A.minX(),y:0},T={x:A.maxX(),y:0};for(let P=0;P<=v;P++){const R=S+P*l;w.y=T.y=R-C;const H=be.polygonIntersections(w,T,y).sort((L,U)=>L.x-U.x);w.y=T.y=R+C;const D=be.polygonIntersections(w,T,y).sort((L,U)=>L.x-U.x),E=Math.max(H.length,D.length)/2;if(E>0)for(let L=0;L0){const ee=be.relativeCoordinates((j+Y)/2,R,0,n),$=rl.makeSolarPanel(n,o,ee.x,ee.y,n.type===z.Cuboid?.5:n.lz,ci.portrait,c,u,r,-n.rotation[2],Po,n.rotation,void 0,Q,x);$.referenceId=e.id,be.changeOrientation($,o,i),f.push($)}}}}else if(s===Rl.northSouth){const b=A.maxX()-A.minX(),v=Math.floor((b-2*d-x)/l),S=A.minX()+x/2+d,w={x:0,y:A.minY()},T={x:0,y:A.maxY()};for(let P=0;P<=v;P++){const R=S+P*l;w.x=T.x=R-C;const H=be.polygonIntersections(w,T,y).sort((L,U)=>L.y-U.y);w.x=T.x=R+C;const D=be.polygonIntersections(w,T,y).sort((L,U)=>L.y-U.y),E=Math.max(H.length,D.length)/2;if(E>0)for(let L=0;L0){const ee=be.relativeCoordinates(R,(_+J)/2,0,n),$=rl.makeSolarPanel(n,o,ee.x,ee.y,n.type===z.Cuboid?.5:n.lz,ci.portrait,c,u,r,-n.rotation[2]+Vt,Po,n.rotation,void 0,Q,x);$.referenceId=e.id,be.changeOrientation($,o,i),f.push($)}}}}return f}}const{Option:K8}=Yo,y0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M.getState().solarPanelArrayLayoutParams,i=M(xb),r=M(rr),a=M(C7),l=M(J2),s=M(gwt),c=M(_wt),u=M(lge),d=M(Owt),f=M(En),p=M(ro),g=M(oo),y=M(ca),[A,x]=m.useState(!1),[C,b]=m.useState(!1),[v,S]=m.useState(!1),[w,T]=m.useState({left:0,top:0,bottom:0,right:0}),P=m.useRef(null),R=m.useRef(!0),H=m.useRef(null),D=m.useRef(null),E=m.useRef(!1),L=m.useRef(M(Z6t)),U=m.useRef(M(eAt)),F=m.useRef(M(lAt)),W=m.useRef(M(aAt)),B=m.useRef(M(tAt)),k=m.useRef(M(nAt)),N=m.useRef(M(oAt)??0),j=m.useRef(M(iAt)),Y=m.useRef(M(rAt)),_=Kt(),J=l(L.current),Q=i();m.useEffect(()=>{var de;(de=H.current)==null||de.focus()},[]),m.useEffect(()=>{var de;C&&((de=D.current)==null||de.focus())},[C]);const ee=(de,ve)=>{if(P.current){const{clientWidth:Pe,clientHeight:me}=window.document.documentElement,Re=P.current.getBoundingClientRect();T({left:-Re.left+ve.x,right:Pe-(Re.right-ve.x),top:-Re.top+ve.y,bottom:me-((Re==null?void 0:Re.bottom)-ve.y)})}},$=()=>{const de=(F.current===ci.portrait?J.length:J.width)*B.current;return .5*(de*Math.abs(Math.sin(W.current)))>j.current?(Lo(O.t("message.SolarPanelsCannotIntersectWithGround",_)),!1):de>k.current?(Lo(O.t("message.SolarPanelsCannotOverlapWithOneAnother",_)),!1):!0},q=de=>{const ve=n.filter(Pe=>Pe.type===z.SolarPanel&&Pe.parentId===de.parentId);if(ve.length>0)for(const Pe of ve)Pe.referenceId!==de.id&&be.isPointInside(Pe.cx,Pe.cy,de.vertices)&&s(Pe.id,de.id)},le=()=>{if((Q==null?void 0:Q.type)===z.Polygon){const de=r(Q);if(de){const ve=[],me=U.current===Rl.eastWest||U.current===Rl.northSouth?m0o.create(Q,de,J,F.current,W.current,B.current,k.current,U.current,j.current,Y.current,N.current):FR.create(Q,de,J,F.current,W.current,B.current,k.current,U.current,j.current,Y.current,N.current);if(me.length>0){for(const ze of me)ve.push(JSON.parse(JSON.stringify(ze))),e(Ae=>{Ae.elements.push(ze)});const Re={name:"Solar Panel Array Layout",timestamp:Date.now(),oldElements:M.getState().deletedElements,newElements:ve,oldParams:{pvModelName:o.pvModelName,rowAxis:o.rowAxis,orientation:o.orientation,tiltAngle:o.tiltAngle,rowsPerRack:o.rowsPerRack,interRowSpacing:o.interRowSpacing,poleHeight:o.poleHeight,poleSpacing:o.poleSpacing,margin:o.margin},newParams:{pvModelName:L.current,rowAxis:U.current,orientation:F.current,tiltAngle:W.current,rowsPerRack:B.current,interRowSpacing:k.current,poleHeight:j.current,poleSpacing:Y.current,margin:N.current},referenceId:Q.id,undo:()=>{u(Re.referenceId,!1),Re.oldElements.length>0&&e(ze=>{for(const Ae of Re.oldElements)ze.elements.push(Ae)}),ie(Re.oldParams),pe()},redo:()=>{u(Re.referenceId,!1),Re.newElements.length>0&&e(ze=>{for(const Ae of Re.newElements)ze.elements.push(Ae)}),ie(Re.newParams),pe()}};f(Re),g(p+1)}}R.current=!1,pe()}},ie=de=>{L.current=de.pvModelName,U.current=de.rowAxis,F.current=de.orientation,W.current=de.tiltAngle,B.current=de.rowsPerRack,k.current=de.interRowSpacing,j.current=de.poleHeight,Y.current=de.poleSpacing,N.current=de.margin??0},pe=()=>{e(de=>{de.solarPanelArrayLayoutParams.pvModelName=L.current,de.solarPanelArrayLayoutParams.rowAxis=U.current,de.solarPanelArrayLayoutParams.orientation=F.current,de.solarPanelArrayLayoutParams.tiltAngle=W.current,de.solarPanelArrayLayoutParams.rowsPerRack=B.current,de.solarPanelArrayLayoutParams.interRowSpacing=k.current,de.solarPanelArrayLayoutParams.poleHeight=j.current,de.solarPanelArrayLayoutParams.poleSpacing=Y.current,de.solarPanelArrayLayoutParams.margin=N.current})},ne=()=>{R.current&&($()?Q&&(q(Q),c(Q.id)>0?b(!0):(d(),le())):Lo(O.t("polygonMenu.LayoutNotAcceptedCheckYourParameters",_)))},Z=()=>{ne(),E.current=!1},he=()=>{t(!1),y(),R.current=!0,E.current=!1},fe=()=>{R.current?(ne(),E.current=!0):t(!1)},se=()=>{b(!1)},oe=()=>{Q&&(u(Q.id,!0),le(),E.current&&(t(!1),g(0))),b(!1)};return h.jsxs(h.Fragment,{children:[C&&h.jsx(_r,{width:400,open:C,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>S(!0),onMouseOut:()=>S(!1),children:O.t("word.Reminder",_)}),footer:[h.jsx(no,{onClick:se,children:O.t("word.Cancel",_)},"Cancel"),h.jsx(no,{type:"primary",ref:D,onClick:oe,children:O.t("word.OK",_)},"OK")],children:O.t("message.ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout",_)+" "+O.t("message.DoYouWantToContinue",_)}),h.jsxs(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>S(!0),onMouseOut:()=>S(!1),children:O.t("polygonMenu.SolarPanelArrayLayoutParametricDesign",_)}),footer:[h.jsx(no,{disabled:!R.current,onClick:Z,children:O.t("word.Apply",_)},"Apply"),h.jsx(no,{onClick:he,children:O.t("word.Cancel",_)},"Cancel"),h.jsx(no,{type:"primary",ref:H,onClick:fe,children:O.t("word.OK",_)},"OK")],onCancel:()=>{t(!1),R.current=!0},maskClosable:!1,destroyOnClose:!1,modalRender:de=>h.jsx(Vr,{disabled:!v,bounds:w,onStart:(ve,Pe)=>ee(ve,Pe),children:h.jsx("div",{ref:P,children:de})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayModel",_)+" ("+Object.keys(a).length+" "+O.t("word.Options",_)+"):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:L.current,onChange:de=>{de!==null&&(L.current=de,R.current=!0,x(!A))},children:Object.keys(a).map(de=>h.jsx(K8,{value:de,children:de+(a[de].bifacialityFactor>0?" ("+O.t("pvModelPanel.Bifacial",_)+")":"")},de))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayRowAxis",_)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsxs(Yo,{style:{width:"100%"},value:U.current,onChange:de=>{de!==null&&(U.current=de,R.current=!0,x(!A))},children:[h.jsx(K8,{value:Rl.leftRight,children:O.t("polygonMenu.SolarPanelArrayLeftRightRowAxis",_)},Rl.leftRight),h.jsx(K8,{value:Rl.upDown,children:O.t("polygonMenu.SolarPanelArrayUpDownRowAxis",_)},Rl.upDown),h.jsx(K8,{value:Rl.eastWest,children:O.t("polygonMenu.SolarPanelArrayEastWestRowAxis",_)},Rl.eastWest),h.jsx(K8,{value:Rl.northSouth,children:O.t("polygonMenu.SolarPanelArrayNorthSouthRowAxis",_)},Rl.northSouth)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayOrientation",_)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsxs(Yo,{style:{width:"100%"},value:F.current,onChange:de=>{de!==null&&(F.current=de,R.current=!0,x(!A))},children:[h.jsx(K8,{value:ci.portrait,children:O.t("solarPanelMenu.Portrait",_)},ci.portrait),h.jsx(K8,{value:ci.landscape,children:O.t("solarPanelMenu.Landscape",_)},ci.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayTiltAngle",_)+" ([-90°, 90°]): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:-90,max:90,style:{width:"100%"},precision:2,value:parseFloat(be.toDegrees(W.current).toFixed(2)),step:1,formatter:de=>`${de}°`,onChange:de=>{de!==null&&(W.current=be.toRadians(de),R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayRowWidth",_)+" ([1-100] "+O.t("solarPanelMenu.Panels",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:1,max:100,step:1,style:{width:"100%"},precision:0,formatter:de=>Number(de).toFixed(0),value:B.current,onChange:de=>{de!==null&&(B.current=de,R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayInterRowSpacing",_)+" ([1, 20] "+O.t("word.MeterAbbreviation",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:1,max:20,style:{width:"100%"},precision:2,value:k.current,step:.5,onChange:de=>{de!==null&&(k.current=de,R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayMargin",_)+" ([0, 5] "+O.t("word.MeterAbbreviation",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:0,max:5,style:{width:"100%"},precision:1,value:N.current,step:.1,onChange:de=>{de!==null&&(N.current=de,R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayPoleHeight",_)+" ([0, 10] "+O.t("word.MeterAbbreviation",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:0,max:10,style:{width:"100%"},precision:2,value:j.current,step:.1,onChange:de=>{de!==null&&(j.current=de,R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayPoleSpacing",_)+" ([2, 50] "+O.t("word.MeterAbbreviation",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:2,max:50,style:{width:"100%"},precision:2,value:Y.current,step:.5,onChange:de=>{de!==null&&(Y.current=de,R.current=!0,x(!A))}})})]})]})]})},{Option:Nh}=Yo,{TabPane:fae}=FW,A0o=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=gt(K2),r=M(C7),a=M(Z9),l=M(rr),s=M(Q9),c=M(pA).geneticAlgorithmParams,u=M(Eq),d=M(J8t),f=M(Iq),[p,g]=m.useState(!1),[y,A]=m.useState(!1),[x,C]=m.useState({left:0,top:0,bottom:0,right:0}),b=m.useRef(null),v=m.useRef(c.objectiveFunctionType),S=m.useRef(c.selectionMethod),w=m.useRef(c.searchMethod),T=m.useRef(c.populationSize),P=m.useRef(c.maximumGenerations),R=m.useRef(c.mutationRate),H=m.useRef(c.selectionRate??.5),D=m.useRef(c.crossoverRate??.5),E=m.useRef(c.convergenceThreshold),L=m.useRef(c.localSearchRadius),U=m.useRef(u.minimumTiltAngle??-Vt),F=m.useRef(u.maximumTiltAngle??Vt),W=m.useRef(u.minimumRowsPerRack),B=m.useRef(u.maximumRowsPerRack),k=m.useRef(u.minimumInterRowSpacing),N=m.useRef(u.maximumInterRowSpacing),j=m.useRef(null);m.useEffect(()=>{var oe;(oe=j.current)==null||oe.focus()},[]);const Y={lng:o},_=m.useRef(u.rowAxis??Rl.leftRight),J=a?l(a):void 0,Q=J?s(z.SolarPanel,J.id):void 0,ee=m.useRef(Q&&Q.length>0?Q[0].pvModelName:u.pvModelName??"CS6X-355P-FG"),$=m.useRef(Q&&Q.length>0?Q[0].orientation:u.orientation??ci.landscape),q=m.useRef(Q&&Q.length>0?Q[0].poleHeight:u.poleHeight??1),le=m.useRef(Q&&Q.length>0?Q[0].poleSpacing:u.poleSpacing??3),ie=m.useRef(u.margin??0),pe=m.useRef(f.electricitySellingPrice),ne=m.useRef(f.operationalCostPerUnit);m.useEffect(()=>{pe.current=f.electricitySellingPrice},[f.electricitySellingPrice]),m.useEffect(()=>{ne.current=f.operationalCostPerUnit},[f.operationalCostPerUnit]);const Z=(oe,de)=>{if(b.current){const{clientWidth:ve,clientHeight:Pe}=window.document.documentElement,me=b.current.getBoundingClientRect();C({left:-me.left+de.x,right:ve-(me.right-de.x),top:-me.top+de.y,bottom:Pe-((me==null?void 0:me.bottom)-de.y)})}},he=()=>{e(oe=>{oe.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_ARRAY,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.objectiveFunctionType=v.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionMethod=S.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.searchMethod=w.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.populationSize=T.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.maximumGenerations=P.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionRate=H.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.crossoverRate=D.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.mutationRate=R.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.convergenceThreshold=E.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.localSearchRadius=L.current,oe.solarPanelArrayLayoutConstraints||(oe.solarPanelArrayLayoutConstraints=new GG),oe.solarPanelArrayLayoutConstraints.minimumRowsPerRack=W.current,oe.solarPanelArrayLayoutConstraints.maximumRowsPerRack=B.current,oe.solarPanelArrayLayoutConstraints.minimumTiltAngle=U.current,oe.solarPanelArrayLayoutConstraints.maximumTiltAngle=F.current,oe.solarPanelArrayLayoutConstraints.minimumInterRowSpacing=k.current,oe.solarPanelArrayLayoutConstraints.maximumInterRowSpacing=N.current,oe.solarPanelArrayLayoutConstraints.poleHeight=q.current,oe.solarPanelArrayLayoutConstraints.poleSpacing=le.current,oe.solarPanelArrayLayoutConstraints.pvModelName=ee.current,oe.solarPanelArrayLayoutConstraints.rowAxis=_.current,oe.solarPanelArrayLayoutConstraints.orientation=$.current,oe.solarPanelArrayLayoutConstraints.margin=ie.current,oe.economicsParams.operationalCostPerUnit=ne.current,oe.economicsParams.electricitySellingPrice=pe.current})},fe=()=>{i||fn(se("message.EvolutionStarted",Y)),he(),setTimeout(()=>{gt.getState().set(oe=>{oe.runEvolution=!oe.runEvolution}),e(oe=>{oe.evolutionMethod=Bs.GENETIC_ALGORITHM,n&&(oe.actionInfo={name:"Run Genetic Algorithm for Solar Panel Array Layout",timestamp:new Date().getTime()})})},100)},{t:se}=jl();return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:se("optimizationMenu.SolarPanelArrayLayout",Y)+": "+se("optimizationMenu.GeneticAlgorithmSettings",Y)}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:se("word.Cancel",Y)},"Cancel"),h.jsx(no,{type:"primary",ref:j,onClick:()=>{fe(),t(!1)},children:se("word.Run",Y)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:oe=>h.jsx(Vr,{disabled:!y,bounds:x,onStart:(de,ve)=>Z(de,ve),children:h.jsx("div",{ref:b,children:oe})}),children:h.jsxs(FW,{defaultActiveKey:d,type:"card",onChange:oe=>{e(de=>{de.geneticAlgorithmWizardSelectedTab=oe})},children:[h.jsxs(fae,{tab:se("optimizationMenu.Parameters",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.Objective",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:v.current,style:{width:"100%"},value:v.current,onChange:oe=>{v.current=oe,g(!p)},children:[h.jsx(Nh,{value:xo.DAILY_TOTAL_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionDailyTotalYield",Y)},xo.DAILY_TOTAL_OUTPUT),h.jsx(Nh,{value:xo.YEARLY_TOTAL_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionYearlyTotalYield",Y)},xo.YEARLY_TOTAL_OUTPUT),h.jsx(Nh,{value:xo.DAILY_AVERAGE_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionDailyMeanYield",Y)},xo.DAILY_AVERAGE_OUTPUT),h.jsx(Nh,{value:xo.YEARLY_AVERAGE_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionYearlyMeanYield",Y)},xo.YEARLY_AVERAGE_OUTPUT),h.jsx(Nh,{value:xo.DAILY_PROFIT,children:se("optimizationMenu.ObjectiveFunctionDailyProfit",Y)},xo.DAILY_PROFIT),h.jsx(Nh,{value:xo.YEARLY_PROFIT,children:se("optimizationMenu.ObjectiveFunctionYearlyProfit",Y)},xo.YEARLY_PROFIT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.GeneticAlgorithmSelectionMethod",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:S.current,style:{width:"100%"},value:S.current,onChange:oe=>{S.current=oe,g(!p)},children:[h.jsx(Nh,{value:Im.ROULETTE_WHEEL,children:se("optimizationMenu.RouletteWheel",Y)},Im.ROULETTE_WHEEL),h.jsx(Nh,{value:Im.TOURNAMENT,children:se("optimizationMenu.Tournament",Y)},Im.TOURNAMENT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.PopulationSize",Y)+" [10, 100]:"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:T.current,step:1,formatter:oe=>Number(oe).toFixed(0),onChange:oe=>{oe!==null&&(T.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.MaximumGenerations",Y)+" [5, 100]:"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:P.current,formatter:oe=>Number(oe).toFixed(0),onChange:oe=>{oe!==null&&(P.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SelectionRate",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:H.current,step:.01,onChange:oe=>{oe!==null&&(H.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.CrossoverRate",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:D.current,step:.01,onChange:oe=>{oe!==null&&(D.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.MutationRate",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:R.current,step:.01,onChange:oe=>{oe!==null&&(R.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.ConvergenceThreshold",Y)+" (0, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:E.current,step:.001,onChange:oe=>{oe!==null&&(E.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SearchMethod",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:w.current,style:{width:"100%"},value:w.current,onChange:oe=>{w.current=Number(oe),g(!p)},children:[h.jsx(Nh,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:se("optimizationMenu.GlobalSearchUniformSelection",Y)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(Nh,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:se("optimizationMenu.LocalSearchRandomOptimization",Y)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),w.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.LocalSearchRadius",Y)+" ([0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:L.current,step:.01,onChange:oe=>{oe!==null&&(L.current=Number(oe),g(!p))}})})]})]},"1"),h.jsxs(fae,{tab:se("optimizationMenu.Variables",Y),children:[h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.TiltAngleRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{U.current=be.toRadians(oe[0]),F.current=be.toRadians(oe[1]),g(!p)},min:-90,max:90,defaultValue:[be.toDegrees(U.current),be.toDegrees(F.current)],marks:{"-90":{style:{fontSize:"10px"},label:"-90°"},"-45":{style:{fontSize:"10px"},label:"-45°"},0:{style:{fontSize:"10px"},label:"0°"},45:{style:{fontSize:"10px"},label:"45°"},90:{style:{fontSize:"10px"},label:"90°"}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.RowsPerRackRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{W.current=oe[0],B.current=oe[1],g(!p)},min:1,max:9,defaultValue:[W.current,B.current],marks:{1:{style:{fontSize:"10px"},label:1},2:{style:{fontSize:"10px"},label:2},3:{style:{fontSize:"10px"},label:3},4:{style:{fontSize:"10px"},label:4},5:{style:{fontSize:"10px"},label:5},6:{style:{fontSize:"10px"},label:6},7:{style:{fontSize:"10px"},label:7},8:{style:{fontSize:"10px"},label:8},9:{style:{fontSize:"10px"},label:9}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.InterRowSpacingRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{k.current=oe[0],N.current=oe[1],g(!p)},min:1,max:10,defaultValue:[k.current,N.current],marks:{1:{style:{fontSize:"10px"},label:"1m"},3:{style:{fontSize:"10px"},label:"3m"},5:{style:{fontSize:"10px"},label:"5m"},7:{style:{fontSize:"10px"},label:"7m"},9:{style:{fontSize:"10px"},label:"9m"}}})})]})]},"2"),h.jsxs(fae,{tab:se("optimizationMenu.Constants",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"0px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayModel",Y)+" ("+Object.keys(r).length+" "+se("word.Options",Y)+"):"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:ee.current,onChange:oe=>{ee.current=oe,g(!p)},children:Object.keys(r).map(oe=>h.jsx(Nh,{value:oe,children:oe+(r[oe].bifacialityFactor>0?" ("+se("pvModelPanel.Bifacial",Y)+")":"")},oe))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayRowAxis",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:_.current,onChange:oe=>{_.current=oe,g(!p)},children:[h.jsx(Nh,{value:Rl.leftRight,children:se("polygonMenu.SolarPanelArrayLeftRightRowAxis",Y)},Rl.leftRight),h.jsx(Nh,{value:Rl.upDown,children:se("polygonMenu.SolarPanelArrayUpDownRowAxis",Y)},Rl.upDown)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayOrientation",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:$.current,onChange:oe=>{$.current=oe,g(!p)},children:[h.jsx(Nh,{value:ci.portrait,children:se("solarPanelMenu.Portrait",Y)},ci.portrait),h.jsx(Nh,{value:ci.landscape,children:se("solarPanelMenu.Landscape",Y)},ci.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayMargin",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{ie.current=oe,g(!p)},min:0,max:5,step:.1,defaultValue:ie.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},1:{style:{fontSize:"10px"},label:"1m"},2:{style:{fontSize:"10px"},label:"2m"},3:{style:{fontSize:"10px"},label:"3m"},4:{style:{fontSize:"10px"},label:"4m"},5:{style:{fontSize:"10px"},label:"5m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("solarCollectorMenu.PoleHeight",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{q.current=oe,g(!p)},min:0,max:10,step:.1,defaultValue:q.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("solarPanelMenu.PoleSpacing",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{le.current=oe,g(!p)},min:2,max:10,step:.1,defaultValue:le.current,marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("economicsPanel.OperationalCostPerUnit",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{ne.current=oe,g(!p)},min:.1,max:1,step:.01,defaultValue:ne.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("economicsPanel.ElectricitySellingPrice",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{pe.current=oe,g(!p)},min:.1,max:1,step:.01,defaultValue:pe.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]})]},"3")]})})})},{Option:N1}=Yo,{TabPane:hae}=FW,w0o=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=gt(K2),r=M(C7),a=M(Z9),l=M(rr),s=M(Q9),c=M(pA).particleSwarmOptimizationParams,u=M(Eq),d=M(K8t),f=M(Iq),[p,g]=m.useState(!1),[y,A]=m.useState(!1),[x,C]=m.useState({left:0,top:0,bottom:0,right:0}),b=m.useRef(null),v=m.useRef(c.objectiveFunctionType),S=m.useRef(c.searchMethod),w=m.useRef(c.swarmSize),T=m.useRef(c.maximumSteps),P=m.useRef(c.vmax??.01),R=m.useRef(c.inertia??.8),H=m.useRef(c.cognitiveCoefficient??.1),D=m.useRef(c.socialCoefficient??.1),E=m.useRef(c.convergenceThreshold),L=m.useRef(c.localSearchRadius),U=m.useRef(u.minimumTiltAngle??-Vt),F=m.useRef(u.maximumTiltAngle??Vt),W=m.useRef(u.minimumRowsPerRack),B=m.useRef(u.maximumRowsPerRack),k=m.useRef(u.minimumInterRowSpacing),N=m.useRef(u.maximumInterRowSpacing),j=m.useRef(null);m.useEffect(()=>{var oe;(oe=j.current)==null||oe.focus()},[]);const Y={lng:o},_=m.useRef(u.rowAxis??Rl.leftRight),J=a?l(a):void 0,Q=J?s(z.SolarPanel,J.id):void 0,ee=m.useRef(Q&&Q.length>0?Q[0].pvModelName:u.pvModelName??"CS6X-355P-FG"),$=m.useRef(Q&&Q.length>0?Q[0].orientation:u.orientation??ci.landscape),q=m.useRef(Q&&Q.length>0?Q[0].poleHeight:u.poleHeight??1),le=m.useRef(Q&&Q.length>0?Q[0].poleSpacing:u.poleSpacing??3),ie=m.useRef(u.margin??0),pe=m.useRef(f.electricitySellingPrice),ne=m.useRef(f.operationalCostPerUnit);m.useEffect(()=>{pe.current=f.electricitySellingPrice},[f.electricitySellingPrice]),m.useEffect(()=>{ne.current=f.operationalCostPerUnit},[f.operationalCostPerUnit]);const Z=(oe,de)=>{if(b.current){const{clientWidth:ve,clientHeight:Pe}=window.document.documentElement,me=b.current.getBoundingClientRect();C({left:-me.left+de.x,right:ve-(me.right-de.x),top:-me.top+de.y,bottom:Pe-((me==null?void 0:me.bottom)-de.y)})}},he=()=>{e(oe=>{oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_ARRAY,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.objectiveFunctionType=v.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.searchMethod=S.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.swarmSize=w.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.maximumSteps=T.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.cognitiveCoefficient=H.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.socialCoefficient=D.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.vmax=P.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.inertia=R.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.convergenceThreshold=E.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.localSearchRadius=L.current,oe.solarPanelArrayLayoutConstraints||(oe.solarPanelArrayLayoutConstraints=new GG),oe.solarPanelArrayLayoutConstraints.minimumRowsPerRack=W.current,oe.solarPanelArrayLayoutConstraints.maximumRowsPerRack=B.current,oe.solarPanelArrayLayoutConstraints.minimumTiltAngle=U.current,oe.solarPanelArrayLayoutConstraints.maximumTiltAngle=F.current,oe.solarPanelArrayLayoutConstraints.minimumInterRowSpacing=k.current,oe.solarPanelArrayLayoutConstraints.maximumInterRowSpacing=N.current,oe.solarPanelArrayLayoutConstraints.poleHeight=q.current,oe.solarPanelArrayLayoutConstraints.poleSpacing=le.current,oe.solarPanelArrayLayoutConstraints.pvModelName=ee.current,oe.solarPanelArrayLayoutConstraints.rowAxis=_.current,oe.solarPanelArrayLayoutConstraints.orientation=$.current,oe.solarPanelArrayLayoutConstraints.margin=ie.current,oe.economicsParams.operationalCostPerUnit=ne.current,oe.economicsParams.electricitySellingPrice=pe.current})},fe=()=>{i||fn(se("message.EvolutionStarted",Y)),he(),setTimeout(()=>{gt.getState().set(oe=>{oe.runEvolution=!oe.runEvolution}),e(oe=>{oe.evolutionMethod=Bs.PARTICLE_SWARM_OPTIMIZATION,n&&(oe.actionInfo={name:"Run Particle Swarm Optimization for Solar Panel Array Layout",timestamp:new Date().getTime()})})},100)},{t:se}=jl();return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:se("optimizationMenu.SolarPanelArrayLayout",Y)+": "+se("optimizationMenu.ParticleSwarmOptimizationSettings",Y)}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:se("word.Cancel",Y)},"Cancel"),h.jsx(no,{type:"primary",ref:j,onClick:()=>{fe(),t(!1)},children:se("word.Run",Y)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:oe=>h.jsx(Vr,{disabled:!y,bounds:x,onStart:(de,ve)=>Z(de,ve),children:h.jsx("div",{ref:b,children:oe})}),children:h.jsxs(FW,{defaultActiveKey:d,type:"card",onChange:oe=>{e(de=>{de.particleSwarmOptimizationWizardSelectedTab=oe})},children:[h.jsxs(hae,{tab:se("optimizationMenu.Parameters",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.Objective",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:v.current,style:{width:"100%"},value:v.current,onChange:oe=>{v.current=oe,g(!p)},children:[h.jsx(N1,{value:xo.DAILY_TOTAL_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionDailyTotalYield",Y)},xo.DAILY_TOTAL_OUTPUT),h.jsx(N1,{value:xo.YEARLY_TOTAL_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionYearlyTotalYield",Y)},xo.YEARLY_TOTAL_OUTPUT),h.jsx(N1,{value:xo.DAILY_AVERAGE_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionDailyMeanYield",Y)},xo.DAILY_AVERAGE_OUTPUT),h.jsx(N1,{value:xo.YEARLY_AVERAGE_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionYearlyMeanYield",Y)},xo.YEARLY_AVERAGE_OUTPUT),h.jsx(N1,{value:xo.DAILY_PROFIT,children:se("optimizationMenu.ObjectiveFunctionDailyProfit",Y)},xo.DAILY_PROFIT),h.jsx(N1,{value:xo.YEARLY_PROFIT,children:se("optimizationMenu.ObjectiveFunctionYearlyProfit",Y)},xo.YEARLY_PROFIT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SwarmSize",Y)+" [10, 100]:"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:w.current,step:1,formatter:oe=>Number(oe).toFixed(0),onChange:oe=>{w.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.MaximumSteps",Y)+" [5, 100]:"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:T.current,formatter:oe=>Number(oe).toFixed(0),onChange:oe=>{T.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.CognitiveCoefficient",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:H.current,step:.01,onChange:oe=>{H.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SocialCoefficient",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:D.current,step:.01,onChange:oe=>{D.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.InertiaWeight",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:R.current,step:.01,onChange:oe=>{R.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.MaximumVelocity",Y)+" [0.001, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:P.current,step:.001,onChange:oe=>{P.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.ConvergenceThreshold",Y)+" (0, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:E.current,step:.001,onChange:oe=>{E.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SearchMethod",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:S.current,style:{width:"100%"},value:S.current,onChange:oe=>{S.current=Number(oe),g(!p)},children:[h.jsx(N1,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:se("optimizationMenu.GlobalSearchUniformSelection",Y)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(N1,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:se("optimizationMenu.LocalSearchRandomOptimization",Y)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),S.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.LocalSearchRadius",Y)+" ([0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:L.current,step:.01,onChange:oe=>{L.current=Number(oe),g(!p)}})})]})]},"1"),h.jsxs(hae,{tab:se("optimizationMenu.Variables",Y),children:[h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.TiltAngleRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{U.current=be.toRadians(oe[0]),F.current=be.toRadians(oe[1]),g(!p)},min:-90,max:90,defaultValue:[be.toDegrees(U.current),be.toDegrees(F.current)],marks:{"-90":{style:{fontSize:"10px"},label:"-90°"},"-45":{style:{fontSize:"10px"},label:"-45°"},0:{style:{fontSize:"10px"},label:"0°"},45:{style:{fontSize:"10px"},label:"45°"},90:{style:{fontSize:"10px"},label:"90°"}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.RowsPerRackRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{W.current=oe[0],B.current=oe[1],g(!p)},min:1,max:9,defaultValue:[W.current,B.current],marks:{1:{style:{fontSize:"10px"},label:1},2:{style:{fontSize:"10px"},label:2},3:{style:{fontSize:"10px"},label:3},4:{style:{fontSize:"10px"},label:4},5:{style:{fontSize:"10px"},label:5},6:{style:{fontSize:"10px"},label:6},7:{style:{fontSize:"10px"},label:7},8:{style:{fontSize:"10px"},label:8},9:{style:{fontSize:"10px"},label:9}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.InterRowSpacingRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{k.current=oe[0],N.current=oe[1],g(!p)},min:2,max:10,defaultValue:[k.current,N.current],marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]})]},"2"),h.jsxs(hae,{tab:se("optimizationMenu.Constants",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"0px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayModel",Y)+" ("+Object.keys(r).length+" "+se("word.Options",Y)+"):"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:ee.current,onChange:oe=>{ee.current=oe,g(!p)},children:Object.keys(r).map(oe=>h.jsx(N1,{value:oe,children:oe+(r[oe].bifacialityFactor>0?" ("+se("pvModelPanel.Bifacial",Y)+")":"")},oe))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayRowAxis",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:_.current,onChange:oe=>{_.current=oe,g(!p)},children:[h.jsx(N1,{value:Rl.leftRight,children:se("polygonMenu.SolarPanelArrayLeftRightRowAxis",Y)},Rl.leftRight),h.jsx(N1,{value:Rl.upDown,children:se("polygonMenu.SolarPanelArrayUpDownRowAxis",Y)},Rl.upDown)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayOrientation",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:$.current,onChange:oe=>{$.current=oe,g(!p)},children:[h.jsx(N1,{value:ci.portrait,children:se("solarPanelMenu.Portrait",Y)},ci.portrait),h.jsx(N1,{value:ci.landscape,children:se("solarPanelMenu.Landscape",Y)},ci.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayMargin",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{ie.current=oe,g(!p)},min:0,max:5,step:.1,defaultValue:ie.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},1:{style:{fontSize:"10px"},label:"1m"},2:{style:{fontSize:"10px"},label:"2m"},3:{style:{fontSize:"10px"},label:"3m"},4:{style:{fontSize:"10px"},label:"4m"},5:{style:{fontSize:"10px"},label:"5m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("solarCollectorMenu.PoleHeight",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{q.current=oe,g(!p)},min:0,max:10,step:.1,defaultValue:q.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("solarPanelMenu.PoleSpacing",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{le.current=oe,g(!p)},min:2,max:10,step:.1,defaultValue:le.current,marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("economicsPanel.OperationalCostPerUnit",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{ne.current=oe,g(!p)},min:.1,max:1,step:.01,defaultValue:ne.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("economicsPanel.ElectricitySellingPrice",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{pe.current=oe,g(!p)},min:.1,max:1,step:.01,defaultValue:pe.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]})]},"3")]})})})},v0o=t=>{const e=[];if(t.type!==z.Polygon)return{items:e};const n=t,o=M.getState().getParent(n),i={lng:M.getState().language},r=!n.locked;return e.push({key:"polygon-paste",label:h.jsx(OH,{})}),e.push({key:"polygon-copy",label:h.jsx(Sf,{})}),r&&e.push({key:"polygon-cut",label:h.jsx(Tf,{})}),o&&(o.type===z.Foundation||o.type===z.Cuboid)&&e.push({key:"polygon-layout-submenu",label:h.jsx(tn,{children:O.t("polygonMenu.Layout",i)}),children:[{key:"solar-panel-layout-wizard",label:h.jsxs(io,{noPadding:!0,Dialog:y0o,children:[O.t("polygonMenu.SolarPanelArrayLayoutParametricDesign",i)," ..."]})},{key:"solar-panel-layout-ai",label:h.jsx(tn,{noPadding:!0,children:O.t("polygonMenu.SolarPanelArrayLayoutGenerativeDesign",i)}),children:[{key:"solar-panel-layout-ga",label:h.jsxs(io,{noPadding:!0,Dialog:A0o,children:[O.t("optimizationMenu.GeneticAlgorithm",i)," ..."]})},{key:"solar-panel-layout-pso",label:h.jsxs(io,{noPadding:!0,Dialog:w0o,children:[O.t("optimizationMenu.ParticleSwarmOptimization",i)," ..."]})}]}]}),e.push({key:"polygon-lock",label:h.jsx(Md,{selectedElement:n})}),r&&(e.push({key:"polygon-filled",label:h.jsx($co,{polygon:n})}),n.filled&&e.push({key:"polygon-shiny",label:h.jsx(Qco,{polygon:n})}),e.push({key:"polygon-no-outline",label:h.jsx(Zco,{polygon:n})})),r&&(e.push({key:"polygon-line-color",label:h.jsxs(io,{Dialog:l0o,children:[O.t("polygonMenu.LineColor",i)," ..."]})},{key:"polygon-line-style",label:h.jsxs(io,{Dialog:s0o,children:[O.t("polygonMenu.LineStyle",i)," ..."]})},{key:"polygon-line-width",label:h.jsxs(io,{Dialog:c0o,children:[O.t("polygonMenu.LineWidth",i)," ..."]})}),n.filled&&((!n.textureType||n.textureType===qi.NoTexture)&&e.push({key:"polygon-fill-color",label:h.jsxs(io,{Dialog:u0o,children:[O.t("polygonMenu.FillColor",i)," ..."]})}),e.push({key:"polygon-texture",label:h.jsxs(io,{Dialog:p0o,children:[O.t("polygonMenu.FillTexture",i)," ..."]})},{key:"polygon-opacity",label:h.jsxs(io,{Dialog:g0o,children:[O.t("polygonMenu.Opacity",i)," ..."]})})),e.push({key:"polygon-text-box",label:h.jsx(tn,{children:O.t("polygonMenu.TextBox",i)}),children:[{key:"polygon-text",label:h.jsx(e0o,{polygon:n})},{key:"polygon-font-size",label:h.jsx(t0o,{polygon:n})},{key:"polygon-font-color",label:h.jsx(n0o,{polygon:n})},{key:"polygon-font-outline-color",label:h.jsx(o0o,{polygon:n})},{key:"polygon-font-outline-width",label:h.jsx(i0o,{polygon:n})},{key:"polygon-font-stroke-color",label:h.jsx(r0o,{polygon:n})},{key:"polygon-font-stroke-width",label:h.jsx(a0o,{polygon:n})}]})),{items:e}},x0o=(t,e)=>{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){o.vertices.splice(e,1);break}})},b0o=(t,e)=>{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){const i=o,r=i.vertices.length;if(e>0&&e{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){const i=o,r=i.vertices.length;if(e>=0&&e{if(t.selectedIndex>=0){const n=t.vertices.map(r=>({...r}));switch(e){case ix.Delete:x0o(t.id,t.selectedIndex);break;case ix.InsertBeforeIndex:b0o(t.id,t.selectedIndex);break;case ix.InsertAfterIndex:S0o(t.id,t.selectedIndex);break}const o=M.getState().getElementById(t.id).vertices.map(r=>({...r})),i={name:e,timestamp:Date.now(),changedElementId:t.id,changedElementType:t.type,oldValue:n,newValue:o,undo:()=>{i.oldValue&&Array.isArray(i.oldValue)&&M.getState().updatePolygonVerticesById(i.changedElementId,n)},redo:()=>{M.getState().updatePolygonVerticesById(i.changedElementId,o)}};M.getState().addUndoable(i)}},T0o=t=>{const e=[];if(t.type!==z.Polygon)return{items:e};const n=t,o={lng:M.getState().language};return e.push({key:"polygon-vertex-insert-before-index",label:h.jsx(tn,{noPadding:!0,children:O.t("polygonMenu.InsertVertexBeforeIndex",o)})},{key:"polygon-vertex-insert-after-index",label:h.jsx(tn,{noPadding:!0,children:O.t("polygonMenu.InsertVertexAfterIndex",o)})}),n.vertices.length>3&&e.push({key:"polygon-vertex-delete",label:h.jsx(tn,{noPadding:!0,children:O.t("polygonMenu.DeleteVertex",o)})}),{items:e,onClick:({key:r})=>{switch(r){case"polygon-vertex-insert-before-index":pae(n,ix.InsertBeforeIndex);break;case"polygon-vertex-insert-after-index":pae(n,ix.InsertAfterIndex);break;case"polygon-vertex-delete":pae(n,ix.Delete);break}}}},P0o=({sensor:t})=>{const e=Kt(),n=Btt(t);return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.showLabel,onChange:n,children:O.t("labelSubMenu.KeepShowingLabel",e)})})},C0o=({sensor:t})=>{const e=Kt(),{labelText:n,setLabelText:o}=Utt(t),i=jtt(t,n);return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"80px"},children:O.t("labelSubMenu.LabelText",e)+":"}),h.jsx(ns,{style:{width:"150px"},value:n,onChange:r=>o(r.target.value),onPressEnter:i,onBlur:i})]})},R0o=t=>{const e=[];if(t.type!==z.Sensor)return{items:e};const n=t,o=!n.locked;return e.push({key:"sensor-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"sensor-cut",label:h.jsx(Tf,{})}),e.push({key:"sensor-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"seneor-show-label",label:h.jsx(P0o,{sensor:n})}),o&&e.push({key:"sensor-label-text",label:h.jsx(C0o,{sensor:n})}),{items:e}},H0o=({light:t})=>{const e=Kt(),n=M.getState().updateInsideLightById,o=i=>{const r=i.target.checked,a={name:"Inside Light",timestamp:Date.now(),checked:r,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.inside,onChange:o,children:O.t("lightMenu.Inside",e)})})},M0o=({light:t})=>{const e=Kt(),n=t.intensity??3,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Light&&s.id===r){s.intensity=a;break}})},i=r=>{if(r===null||r===n)return;const a={name:"Set Light Intensity",timestamp:Date.now(),oldValue:n,newValue:r,changedElementId:t.id,undo:()=>{o(a.changedElementId,a.oldValue)},redo:()=>{o(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),o(t.id,r),M.getState().set(l=>{l.actionState.lightIntensity=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"80px"},children:[O.t("lightMenu.Intensity",e),":"]}),h.jsx(Hn,{min:.1,max:10,step:.1,precision:1,value:n,onChange:i})]})},I0o=({light:t})=>{const e=Kt(),n=t.distance??5,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Light&&s.id===r){s.distance=a;break}})},i=r=>{if(r===null||r===n)return;const a={name:"Set Light Distance",timestamp:Date.now(),oldValue:n,newValue:r,changedElementId:t.id,undo:()=>{o(a.changedElementId,a.oldValue)},redo:()=>{o(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),o(t.id,r),M.getState().set(l=>{l.actionState.lightDistance=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"80px"},children:[O.t("lightMenu.MaximumDistance",e),":"]}),h.jsx(Hn,{min:1,max:10,step:1,precision:1,value:n,onChange:i})]})},z0o=({light:t})=>{const e=t.color??"#ffff99",n=(o,i)=>{M.getState().set(r=>{for(const a of r.elements)if(a.type===z.Light&&a.id===o){a.color=i;break}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Cf,{color:e,onChangeComplete:o=>{const i=t.color,r=o.hex,a={name:"Set Light Color",timestamp:Date.now(),oldValue:i,newValue:r,undo:()=>{n(t.id,a.oldValue)},redo:()=>{n(t.id,a.newValue)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.lightColor=r})}})})},D0o=t=>{const e=[];if(t.type!==z.Light)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=n.parentId?M.getState().getParent(n):void 0;return e.push({key:"light-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"light-cut",label:h.jsx(Tf,{})}),e.push({key:"light-lock",label:h.jsx(Md,{selectedElement:n})}),o&&r&&(r.type===z.Roof||r.type===z.Wall)&&e.push({key:"light-inside",label:h.jsx(H0o,{light:n})}),o&&e.push({key:"light-intensity",label:h.jsx(M0o,{light:n})},{key:"light-distance",label:h.jsx(I0o,{light:n})},{key:"light-color",label:h.jsx(tn,{children:O.t("word.Color",i)}),children:[{key:"light-color-picker",label:h.jsx(z0o,{light:n}),style:{backgroundColor:"white"}}]}),{items:e}},E0o=()=>{const t=M(B1e),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.axes=i})},o=i=>{const r=i.target.checked,a={name:"Show Axes",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("skyMenu.Axes",e)})})},k0o=()=>{const t=M(hBe),e=Kt(),n=r=>{M.getState().set(a=>{a.viewState.theme=r})},o=r=>{const a=t,l=r.target.value,s={name:"Select Theme",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(s.oldValue)},redo:()=>{n(s.newValue)}};M.getState().addUndoable(s),n(l)},i=[{value:Ns.Default,label:"skyMenu.ThemeDefault"},{value:Ns.Desert,label:"skyMenu.ThemeDesert"},{value:Ns.Dune,label:"skyMenu.ThemeDune"},{value:Ns.Forest,label:"skyMenu.ThemeForest"},{value:Ns.Grassland,label:"skyMenu.ThemeGrassland"},{value:Ns.Hill,label:"skyMenu.ThemeHill"},{value:Ns.Lake,label:"skyMenu.ThemeLake"},{value:Ns.Mountain,label:"skyMenu.ThemeMountain"},{value:Ns.Rural,label:"skyMenu.ThemeRural"}];return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t,onChange:o,children:h.jsx(en,{direction:"vertical",children:i.map((r,a)=>h.jsx(Be,{style:{width:"100%"},value:r.value,children:O.t(r.label,e)},`${a}-${r.value}`))})})})},F0o=()=>{const t=M(pBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showAzimuthAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Azimuth Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("skyMenu.ShowAzimuthAngle",e)})})},L0o=()=>{const t=M(gBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showElevationAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Elevation Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("skyMenu.ShowElevationAngle",e)})})},W0o=()=>{const t=M(mBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showZenithAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Zenith Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("skyMenu.ShowZenithAngle",e)})})},N0o=()=>{const t=M(fBe)??3.5,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.directLightIntensity=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Direct Light Intensity",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.DirectLightBrightnessAtNoon",e)+" [0.1-10]:"}),h.jsx(Hn,{min:.1,max:10,step:.1,precision:2,value:t,onChange:o})]})},U0o=()=>{const t=M(dBe)??.2,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.ambientLightIntensity=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Ambient Light Intensity",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.AmbientLightBrightnessAtNoon",e)+" [0.01-1]:"}),h.jsx(Hn,{min:.01,max:1,step:.01,precision:2,value:t,onChange:o})]})},B0o=()=>{const t=M(n4t)??.01,e=Kt(),n=i=>{M.getState().set(r=>{r.world.airAttenuationCoefficient=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Sunlight Attenuation Coefficient of Air",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.SunlightAttenuationCoefficientInAir",e)+":"}),h.jsx(Hn,{min:0,max:.1,step:.001,precision:3,value:t,onChange:o})]})},j0o=()=>{const t=M(o4t)??5,e=Kt(),n=i=>{M.getState().set(r=>{r.world.airConvectiveCoefficient=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Convective Coefficient of Air",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.ConvectiveCoefficientOfAir",e)+" [W/(m²×K)]:"}),h.jsx(Hn,{min:2.5,max:20,step:.1,precision:2,value:t,onChange:o})]})},Y0o=()=>{const t=M(KL)??900,e=M.getState().world,n=Kt(),o=m.useMemo(()=>sl(new Date(e.date),e.latitude),[e.date,e.latitude]),i=a=>{M.getState().set(l=>{l.world.highestTemperatureTimeInMinutes=a})},r=a=>{if(a===null)return;const l=t,s=a,c={name:"Set Time of Highest Temperature in Minutes",timestamp:Date.now(),oldValue:l,newValue:s,undo:()=>{i(c.oldValue)},redo:()=>{i(c.newValue)}};M.getState().addUndoable(c),i(s)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.HighestTemperatureTimeInMinutes",n)+":"}),h.jsx(Hn,{min:720,max:o.sunset,step:5,precision:0,value:t,onChange:r})]})},O0o=()=>{const t={lng:M.getState().language},e=[];return e.push({key:"axes",label:h.jsx(E0o,{})}),e.push({key:"theme-submenu",label:h.jsx(tn,{children:O.t("skyMenu.Theme",t)}),children:[{key:"theme-radio-group",label:h.jsx(k0o,{}),style:{backgroundColor:"white"}}]}),e.push({key:"sun-angles-submenu",label:h.jsx(tn,{children:O.t("skyMenu.SelectSunAnglesToShow",t)}),children:[{key:"show-azimuth-angle",label:h.jsx(F0o,{})},{key:"ShowElevationAngle",label:h.jsx(L0o,{})},{key:"ShowZenithAngle",label:h.jsx(W0o,{})}]}),e.push({key:"direct-light-intensity",label:h.jsx(N0o,{})}),e.push({key:"ambient-light-intensity",label:h.jsx(U0o,{})}),e.push({key:"air-attenuation-coefficient",label:h.jsx(B0o,{})}),e.push({key:"air-convective-coefficient",label:h.jsx(j0o,{})}),e.push({key:"highest-temperature-time-in-minutes",label:h.jsx(Y0o,{})}),{items:e}},tK=class tK{constructor(){this.n=14,this.nominalStrings=new Array(this.n),this.nominalWidths=new Array(this.n),this.nominalHeights=new Array(this.n),this.cellNx=new Array(this.n),this.cellNy=new Array(this.n),this.nominalWidths[0]=.99,this.nominalHeights[0]=1.65,this.cellNx[0]=6,this.cellNy[0]=10,this.nominalWidths[1]=.99,this.nominalHeights[1]=1.96,this.cellNx[1]=6,this.cellNy[1]=12,this.nominalWidths[2]=1.05,this.nominalHeights[2]=1.56,this.cellNx[2]=8,this.cellNy[2]=12,this.nominalWidths[3]=1.31,this.nominalHeights[3]=1.96,this.cellNx[3]=8,this.cellNy[3]=12,this.nominalWidths[4]=1.07,this.nominalHeights[4]=2.07,this.cellNx[4]=8,this.cellNy[4]=16,this.nominalWidths[5]=.6,this.nominalHeights[5]=1.2,this.cellNx[5]=10,this.cellNy[5]=20,this.nominalWidths[6]=1.2,this.nominalHeights[6]=2,this.cellNx[6]=10,this.cellNy[6]=20,this.nominalWidths[7]=1,this.nominalHeights[7]=2.07,this.cellNx[7]=6,this.cellNy[7]=12,this.nominalWidths[8]=.8,this.nominalHeights[8]=1.56,this.cellNx[8]=6,this.cellNy[8]=12,this.nominalWidths[9]=.83,this.nominalHeights[9]=1.58,this.cellNx[9]=6,this.cellNy[9]=12,this.nominalWidths[10]=.99,this.nominalHeights[10]=1.31,this.cellNx[10]=6,this.cellNy[10]=8,this.nominalWidths[11]=.99,this.nominalHeights[11]=1.5,this.cellNx[11]=6,this.cellNy[11]=9,this.nominalWidths[12]=1.05,this.nominalHeights[12]=1.81,this.cellNx[12]=8,this.cellNy[12]=14,this.nominalWidths[13]=1.05,this.nominalHeights[13]=1.69,this.cellNx[13]=8,this.cellNy[13]=13;for(let e=0;e{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(C7),a=M(J2),l=M(En),s=M(o1),c=M(i1),u=M(ro),d=M(oo),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.pvModelName)??"SPR-X21-335-BLK"),[y,A]=m.useState(),x=Kt(),C=a(p??"SPR-X21-335-BLK");m.useEffect(()=>{A(C.nominalWidth.toFixed(2)+"m×"+C.nominalLength.toFixed(2)+"m ("+C.n+"×"+C.m+" "+O.t("pvModelPanel.Cells",x)+")")},[C]);const b=(L,U)=>{e(F=>{for(const W of F.elements)if(W.type===z.SolarPanel&&W.id===L&&!W.locked){const B=W;B.pvModelName=U;const k=F.pvModules[U];if(B.orientation===ci.portrait){const N=Math.max(1,Math.round(B.lx/k.width)),j=Math.max(1,Math.round(B.ly/k.length));B.lx=N*k.width,B.ly=j*k.length}else{const N=Math.max(1,Math.round(B.lx/k.length)),j=Math.max(1,Math.round(B.ly/k.width));B.lx=N*k.length,B.ly=j*k.width}B.parentType,z.Wall;break}})},v=(L,U)=>{e(F=>{const W=F.pvModules[U];for(const B of F.elements)if(B.type===z.SolarPanel&&B.foundationId===L&&!B.locked){const k=B;if(k.pvModelName=U,k.orientation===ci.portrait){const N=Math.max(1,Math.round(k.lx/W.width)),j=Math.max(1,Math.round(k.ly/W.length));k.lx=N*W.width,k.ly=j*W.length}else{const N=Math.max(1,Math.round(k.lx/W.length)),j=Math.max(1,Math.round(k.ly/W.width));k.lx=N*W.length,k.ly=j*W.width}k.parentType,z.Wall}})},S=(L,U,F)=>{e(W=>{const B=W.pvModules[F];for(const k of W.elements)if(k.type===z.SolarPanel&&!k.locked){let N;if(U?N=k.parentId===L&&be.isIdentical(k.normal,U):N=k.parentId===L,N){const j=k;if(j.pvModelName=F,j.orientation===ci.portrait){const Y=Math.max(1,Math.round(j.lx/B.width)),_=Math.max(1,Math.round(j.ly/B.length));j.lx=Y*B.width,j.ly=_*B.length}else{const Y=Math.max(1,Math.round(j.lx/B.length)),_=Math.max(1,Math.round(j.ly/B.width));j.lx=Y*B.length,j.ly=_*B.width}j.parentType,z.Wall}}})},w=L=>{e(U=>{const F=U.pvModules[L];for(const W of U.elements)if(W.type===z.SolarPanel&&!W.locked){const B=W;if(B.pvModelName=L,B.orientation===ci.portrait){const k=Math.max(1,Math.round(B.lx/F.width)),N=Math.max(1,Math.round(B.ly/F.length));B.lx=k*F.width,B.ly=N*F.length}else{const k=Math.max(1,Math.round(B.lx/F.length)),N=Math.max(1,Math.round(B.ly/F.width));B.lx=k*F.length,B.ly=N*F.width}B.parentType,z.Wall}})},T=(L,U)=>{M.getState().set(F=>{const W=F.pvModules[U];for(const B of F.elements)if(B.type===z.SolarPanel&&!B.locked&&L.has(B.id)){const k=B;if(k.pvModelName=U,k.orientation===ci.portrait){const N=Math.max(1,Math.round(k.lx/W.width)),j=Math.max(1,Math.round(k.ly/W.length));k.lx=N*W.width,k.ly=j*W.length}else{const N=Math.max(1,Math.round(k.lx/W.length)),j=Math.max(1,Math.round(k.ly/W.width));k.lx=N*W.length,k.ly=j*W.width}k.parentType,z.Wall}})},P=L=>{c(L.target.value)},R=L=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&F.pvModelName!==L)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&F.pvModelName!==L)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.SolarPanel&&F.foundationId===(f==null?void 0:f.foundationId)&&!F.locked&&F.pvModelName!==L)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const U=i(f);if(U){if(U.type===z.Cuboid){for(const W of n)if(W.type===z.SolarPanel&&W.parentId===f.parentId&&be.isIdentical(W.normal,f.normal)&&!W.locked&&W.pvModelName!==L)return!0}else for(const W of n)if(W.type===z.SolarPanel&&W.parentId===f.parentId&&!W.locked&&W.pvModelName!==L)return!0}break;default:if((f==null?void 0:f.pvModelName)!==L)return!0}return!1}},H=L=>{if(f&&R(L)){switch(s){case ue.AllSelectedObjectsOfThisType:{const k=new Map;for(const j of n)j.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.pvModelName);const N={name:"Set Model for Selected Solar Panels",timestamp:Date.now(),oldValues:k,newValue:L,undo:()=>{for(const[j,Y]of N.oldValues.entries())b(j,Y)},redo:()=>{T(N.oldValues,N.newValue)}};l(N),T(k,L),d(u+1);break}case ue.AllObjectsOfThisType:{const k=new Map;for(const j of n)j.type===z.SolarPanel&&k.set(j.id,j.pvModelName);const N={name:"Set Model for All Solar Panels",timestamp:Date.now(),oldValues:k,newValue:L,undo:()=>{for(const[j,Y]of N.oldValues.entries())b(j,Y)},redo:()=>{w(N.newValue)}};l(N),w(L),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const k=new Map;for(const j of n)j.type===z.SolarPanel&&j.foundationId===f.foundationId&&k.set(j.id,j.pvModelName);const N={name:"Set Model for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:k,newValue:L,groupId:f.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())b(j,Y)},redo:()=>{N.groupId&&v(N.groupId,N.newValue)}};l(N),v(f.foundationId,L),d(u+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const U=i(f);if(U){const k=new Map,N=U.type===z.Cuboid;if(N)for(const _ of n)_.type===z.SolarPanel&&_.parentId===f.parentId&&be.isIdentical(_.normal,f.normal)&&k.set(_.id,_.pvModelName);else for(const _ of n)_.type===z.SolarPanel&&_.parentId===f.parentId&&k.set(_.id,_.pvModelName);const j=N?f.normal:void 0,Y={name:"Set Model for All Solar Panels on Surface",timestamp:Date.now(),oldValues:k,newValue:L,groupId:f.parentId,normal:j,undo:()=>{for(const[_,J]of Y.oldValues.entries())b(_,J)},redo:()=>{Y.groupId&&S(Y.groupId,Y.normal,Y.newValue)}};l(Y),S(f.parentId,j,L),d(u+1)}break;default:const F=o(f.id),W=F?F.pvModelName:f.pvModelName,B={name:"Set Model for Selected Solar Panel",timestamp:Date.now(),oldValue:W,newValue:L,changedElementId:f.id,changedElementType:f.type,undo:()=>{b(B.changedElementId,B.oldValue)},redo:()=>{b(B.changedElementId,B.newValue)}};l(B),b(f.id,L),d(u+1)}e(U=>{U.actionState.solarPanelModelName=L})}},D=()=>{t(!1)},E=()=>{H(p)};return h.jsxs(lo,{width:640,title:O.t("pvModelPanel.SolarPanelSpecs",x),onApply:E,onClose:D,children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.Model",x)+" ("+Object.keys(r).length+" "+O.t("word.Options",x)+"):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:p,onChange:g,children:Object.keys(r).map(L=>h.jsx(q8,{value:L,children:L+(r[L].bifacialityFactor>0?" ("+O.t("pvModelPanel.Bifacial",x)+")":"")},L))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.PanelSize",x)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Yo,{disabled:!0,style:{width:"100%"},value:y,onChange:L=>{},children:Nde.instance.nominalStrings.map(L=>h.jsx(q8,{value:L,children:L},L))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.CellType",x)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsxs(Yo,{disabled:!0,style:{width:"100%"},value:C.cellType,onChange:L=>{},children:[h.jsx(q8,{value:"Monocrystalline",children:O.t("pvModelPanel.Monocrystalline",x)},"Monocrystalline"),h.jsx(q8,{value:"Polycrystalline",children:O.t("pvModelPanel.Polycrystalline",x)},"Polycrystalline"),h.jsx(q8,{value:"Thin Film",children:O.t("pvModelPanel.ThinFilm",x)},"Thin Film")]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.BifacialityFactor",x)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:2,value:C.bifacialityFactor,onChange:L=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("word.Color",x)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsxs(Yo,{disabled:!0,style:{width:"100%"},value:C.color,onChange:L=>{},children:[h.jsx(q8,{value:"Black",children:O.t("pvModelPanel.Black",x)},"Black"),h.jsx(q8,{value:"Blue",children:O.t("pvModelPanel.Blue",x)},"Blue")]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.SolarCellEfficiency",x)+" (%):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:2,value:100*C.efficiency,onChange:L=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.NominalOperatingCellTemperature",x)+" (°C):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:1,value:C.noct,onChange:L=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.TemperatureCoefficientOfPmax",x)+" (%/°C):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(ns,{disabled:!0,style:{width:"100%"},value:C.pmaxTC,onChange:L=>{}})})]}),h.jsxs(nn,{gutter:6,style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:3,children:O.t("word.ApplyTo",x)+":"}),h.jsx(nt,{className:"gutter-row",span:21,children:h.jsx(Be.Group,{onChange:P,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",x)})]})})})]})]})},{Option:XRe}=Yo,V0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(J2),r=M(rr),a=M(nge),l=M(En),s=M(o1),c=M(i1),u=M(ro),d=M(oo),f=M(ca),p=co(z.SolarPanel),[g,y]=m.useState((p==null?void 0:p.orientation)??ci.portrait),A=m.useRef(!1),x=m.useRef(),C=Kt(),b=(N,j)=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&_.id===N&&!_.locked){const J=_,Q=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Q,j),J.parentType,z.Wall;break}})},v=(N,j)=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&_.foundationId===N&&!_.locked){const J=_,Q=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Q,j),J.parentType,z.Wall}})},S=(N,j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&!J.locked){let Q;if(j?Q=J.parentId===N&&be.isIdentical(J.normal,j):Q=J.parentId===N,Q){const ee=J,$=_.pvModules[ee.pvModelName];_.setSolarPanelOrientation(ee,$,Y),ee.parentType,z.Wall}}})},w=N=>{e(j=>{for(const Y of j.elements)if(Y.type===z.SolarPanel&&!Y.locked){const _=Y,J=j.pvModules[_.pvModelName];j.setSolarPanelOrientation(_,J,N),_.parentType,z.Wall}})},T=(N,j)=>{M.getState().set(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&!_.locked&&N.has(_.id)){const J=_,Q=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Q,j)}})},P=N=>{c(N.target.value)},R=N=>{if(p){const j=i(p.pvModelName);if(N===ci.portrait){const Y=Math.max(1,Math.round(p.lx/j.width)),_=Math.max(1,Math.round(p.ly/j.length));a(p.id,Y*j.width,_*j.length)}else{const Y=Math.max(1,Math.round(p.lx/j.length)),_=Math.max(1,Math.round(p.ly/j.width));a(p.id,Y*j.length,_*j.width)}b(p.id,N)}},H=(N,j)=>{const Y=r(N);if(Y){if(Y.type===z.Cuboid&&!be.isIdentical(N.normal,o0))return!0;const _=JSON.parse(JSON.stringify(N));_.orientation=j;const J=i(_.pvModelName);if(j===ci.portrait){const Q=Math.max(1,Math.round(_.lx/J.width)),ee=Math.max(1,Math.round(_.ly/J.length));_.lx=Q*J.width,_.ly=ee*J.length}else{const Q=Math.max(1,Math.round(_.lx/J.length)),ee=Math.max(1,Math.round(_.ly/J.width));_.lx=Q*J.length,_.ly=ee*J.width}return Y.type===z.Wall?be.checkElementOnWallState(_,Y)===fc.Valid:Y.type===z.Roof?be.checkElementOnRoofState(_,Y)===fc.Valid:be.isSolarCollectorWithinHorizontalSurface(_,Y)}return!1},D=(N,j)=>!H(N,j),E=N=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&M.getState().selectedElementIdSet.has(Y.id)&&Y.orientation!==N)return!0;break;case ue.AllObjectsOfThisType:for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&Y.orientation!==N)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===(p==null?void 0:p.foundationId)&&!Y.locked&&Y.orientation!==N)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const j=r(p);if(j){if(j.type===z.Cuboid){for(const _ of n)if(_.type===z.SolarPanel&&_.parentId===p.parentId&&be.isIdentical(_.normal,p.normal)&&!_.locked&&_.orientation!==N)return!0}else for(const _ of n)if(_.type===z.SolarPanel&&_.parentId===p.parentId&&!_.locked&&_.orientation!==N)return!0}break;default:if((p==null?void 0:p.orientation)!==N)return!0}return!1}},L=N=>{if(p&&E(N)){switch(x.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{A.current=!1;for(const J of n)if(J.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(J.id)&&D(J,N)){A.current=!0;break}if(A.current)x.current=N,y(p.orientation);else{const J=new Map;for(const ee of n)ee.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(ee.id)&&J.set(ee.id,ee.orientation);const Q={name:"Set Orientation for Selected Solar Panels",timestamp:Date.now(),oldValues:J,newValue:N,undo:()=>{for(const[ee,$]of Q.oldValues.entries())b(ee,$)},redo:()=>{T(Q.oldValues,Q.newValue)}};l(Q),T(J,N),d(u+1)}break}case ue.AllObjectsOfThisType:{A.current=!1;for(const J of n)if(J.type===z.SolarPanel&&D(J,N)){A.current=!0;break}if(A.current)x.current=N,y(p.orientation);else{const J=new Map;for(const ee of n)ee.type===z.SolarPanel&&J.set(ee.id,ee.orientation);const Q={name:"Set Orientation for All Solar Panels",timestamp:Date.now(),oldValues:J,newValue:N,undo:()=>{for(const[ee,$]of Q.oldValues.entries())b(ee,$)},redo:()=>{w(Q.newValue)}};l(Q),w(N),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){A.current=!1;for(const J of n)if(J.type===z.SolarPanel&&J.foundationId===p.foundationId&&D(J,N)){A.current=!0;break}if(A.current)x.current=N,y(p.orientation);else{const J=new Map;for(const ee of n)ee.type===z.SolarPanel&&ee.foundationId===p.foundationId&&J.set(ee.id,ee.orientation);const Q={name:"Set Orientation for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:J,newValue:N,groupId:p.foundationId,undo:()=>{for(const[ee,$]of Q.oldValues.entries())b(ee,$)},redo:()=>{Q.groupId&&v(Q.groupId,Q.newValue)}};l(Q),v(p.foundationId,N),d(u+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const j=r(p);if(j){if(A.current=!1,j.type===z.Cuboid){for(const Q of n)if(Q.type===z.SolarPanel&&Q.parentId===p.parentId&&be.isIdentical(Q.normal,p.normal)&&D(Q,N)){A.current=!0;break}}else for(const Q of n)if(Q.type===z.SolarPanel&&Q.parentId===p.parentId&&D(Q,N)){A.current=!0;break}if(A.current)x.current=N,y(p.orientation);else{const Q=new Map,ee=j.type===z.Cuboid;if(ee)for(const le of n)le.type===z.SolarPanel&&le.parentId===p.parentId&&be.isIdentical(le.normal,p.normal)&&Q.set(le.id,le.orientation);else for(const le of n)le.type===z.SolarPanel&&le.parentId===p.parentId&&Q.set(le.id,le.orientation);const $=ee?p.normal:void 0,q={name:"Set Orientation for All Solar Panels on Surface",timestamp:Date.now(),oldValues:Q,newValue:N,groupId:p.parentId,normal:$,undo:()=>{for(const[le,ie]of q.oldValues.entries())b(le,ie)},redo:()=>{q.groupId&&S(q.groupId,q.normal,q.newValue)}};l(q),S(p.parentId,$,N),d(u+1)}}break;default:const Y=o(p.id),_=Y?Y.orientation:p.orientation;if(A.current=D(p,N),A.current)x.current=N,y(_);else{const J={name:"Set Orientation of Selected Solar Panel",timestamp:Date.now(),oldValue:_,newValue:N,changedElementId:p.id,changedElementType:p.type,undo:()=>{R(J.oldValue)},redo:()=>{R(J.newValue)}};l(J),R(N),d(u+1)}}e(j=>{j.actionState.solarPanelOrientation=N})}},U=()=>{p&&(y(p.orientation),A.current=!1,t(!1))},F=()=>{U(),f()},W=()=>{L(g),A.current||(t(!1),d(0))},B=()=>{L(g)},k=A.current?": "+O.t("message.NotApplicableToSelectedAction",C)+(x.current?" ("+(x.current===ci.portrait?O.t("solarPanelMenu.Portrait",C):O.t("solarPanelMenu.Landscape",C))+")":""):"";return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.Orientation",C),rejectedMessage:k,onApply:B,onClose:U,onClickCancel:F,onClickOk:W,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:8,children:h.jsxs(Yo,{style:{width:"150px"},value:g,onChange:N=>y(N),children:[h.jsx(XRe,{value:ci.portrait,children:O.t("solarPanelMenu.Portrait",C)},ci.portrait),h.jsx(XRe,{value:ci.landscape,children:O.t("solarPanelMenu.Landscape",C)},ci.landscape)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:P,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",C)})]})})})]})})},G0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(J2),r=M(rr),a=M(En),l=M(o1),s=M(i1),c=M(ro),u=M(oo),d=M(ca),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.lx)??1),[y,A]=m.useState(0),x=m.useRef(!1),C=m.useRef(),b=Kt();m.useEffect(()=>{if(f){const j=i(f.pvModelName)??i("SPR-X21-335-BLK");A(f.orientation===ci.portrait?j.width:j.length)}},[f]);const v=(j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&J.id===j&&!J.locked){const Q=J,ee=_.getPvModule(Q.pvModelName);J.lx=be.panelizeLx(Q,ee,Y);break}})},S=(j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&J.foundationId===j&&!J.locked){const Q=J,ee=_.getPvModule(Q.pvModelName);J.lx=be.panelizeLx(Q,ee,Y)}})},w=(j,Y,_)=>{e(J=>{for(const Q of J.elements)if(Q.type===z.SolarPanel&&!Q.locked){let ee;if(Y?ee=Q.parentId===j&&be.isIdentical(Q.normal,Y):ee=Q.parentId===j,ee){const $=Q,q=J.getPvModule($.pvModelName);Q.lx=be.panelizeLx($,q,_)}}})},T=j=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&!_.locked){const J=_,Q=Y.getPvModule(J.pvModelName);_.lx=be.panelizeLx(J,Q,j)}})},P=(j,Y)=>{M.getState().set(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&!J.locked&&j.has(J.id)){const Q=J,ee=_.getPvModule(Q.pvModelName);J.lx=be.panelizeLx(Q,ee,Y)}})},R=j=>{s(j.target.value)},H=(j,Y)=>{const _=r(j);if(_){if(_.type===z.Cuboid&&!be.isIdentical(j.normal,o0))return!0;const J=JSON.parse(JSON.stringify(j));return J.lx=Y,_.type===z.Wall?be.checkElementOnWallState(J,_)===fc.Valid:_.type===z.Roof?be.checkElementOnRoofState(J,_)===fc.Valid:be.isSolarCollectorWithinHorizontalSurface(J,_)}return!1},D=(j,Y)=>!H(j,Y),E=j=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&M.getState().selectedElementIdSet.has(_.id)&&Math.abs(_.lx-j)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&Math.abs(_.lx-j)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const _ of n)if(_.type===z.SolarPanel&&_.foundationId===(f==null?void 0:f.foundationId)&&!_.locked&&Math.abs(_.lx-j)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const Y=r(f);if(Y){if(Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&be.isIdentical(J.normal,f.normal)&&!J.locked&&Math.abs(J.lx-j)>kt)return!0}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&!J.locked&&Math.abs(J.lx-j)>kt)return!0}break;default:if(Math.abs((f==null?void 0:f.lx)-j)>kt)return!0}return!1}},L=j=>{if(f&&E(j))switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Q.id)&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.lx);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&M.getState().selectedElementIdSet.has($.id)&&Q.set($.id,$.lx);const ee={name:"Set Length for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:Q,newValue:j,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{P(ee.oldValues,ee.newValue)}};a(ee),P(Q,j),u(c+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Q.id)&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.lx);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&M.getState().selectedElementIdSet.has($.id)&&Q.set($.id,$.lx);const ee={name:"Set Length for All Solar Panel Arrays",timestamp:Date.now(),oldValues:Q,newValue:j,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{T(ee.newValue)}};a(ee),T(j),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&Q.foundationId===f.foundationId&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.lx);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&$.foundationId===f.foundationId&&Q.set($.id,$.lx);const ee={name:"Set Length for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:Q,newValue:j,groupId:f.foundationId,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{ee.groupId&&S(ee.groupId,ee.newValue)}};a(ee),S(f.foundationId,j),u(c+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const Y=r(f);if(Y){if(x.current=!1,Y.type===z.Cuboid){for(const ee of n)if(ee.type===z.SolarPanel&&ee.parentId===f.parentId&&be.isIdentical(ee.normal,f.normal)&&D(ee,j)){x.current=!0;break}}else for(const ee of n)if(ee.type===z.SolarPanel&&ee.parentId===f.parentId&&D(ee,j)){x.current=!0;break}if(x.current)C.current=j,g(f.lx);else{const ee=new Map,$=Y.type===z.Cuboid;if($)for(const ie of n)ie.type===z.SolarPanel&&ie.parentId===f.parentId&&be.isIdentical(ie.normal,f.normal)&&ee.set(ie.id,ie.lx);else for(const ie of n)ie.type===z.SolarPanel&&ie.parentId===f.parentId&&ee.set(ie.id,ie.lx);const q=$?f.normal:void 0,le={name:"Set Length for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:ee,newValue:j,groupId:f.parentId,normal:q,undo:()=>{for(const[ie,pe]of le.oldValues.entries())v(ie,pe)},redo:()=>{le.groupId&&w(le.groupId,le.normal,le.newValue)}};a(le),w(f.parentId,q,j),u(c+1)}}break;default:const _=o(f.id),J=_?_.lx:f.lx;if(x.current=D(f,j),x.current)C.current=j,g(J);else{const Q={name:"Set Solar Panel Array Length",timestamp:Date.now(),oldValue:J,newValue:j,changedElementId:f.id,changedElementType:f.type,undo:()=>{v(Q.changedElementId,Q.oldValue)},redo:()=>{v(Q.changedElementId,Q.newValue)}};a(Q),v(f.id,j),u(c+1)}}},U=j=>{let Y=j??1;return Y=Math.max(1,Math.ceil((Y-y/2)/y))*y,Y},F=()=>{x.current=!1,t(!1)},W=()=>{F(),d()},B=()=>{L(p),x.current||(t(!1),u(0))},k=()=>{L(p)},N=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Length",b),rejectedMessage:N,onApply:k,onClose:F,onClickCancel:W,onClickOk:B,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:y,max:100*y,step:y,style:{width:120},precision:2,value:p,onChange:j=>{j!==null&&g(U(j))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[Math.round(p/y)+" "+O.t("solarPanelMenu.PanelsWide",b),h.jsx("br",{}),O.t("word.MaximumNumber",b),": 100 ",O.t("solarPanelMenu.Panels",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},X0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(J2),r=M(rr),a=M(En),l=M(o1),s=M(i1),c=M(ro),u=M(oo),d=M(ca),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.ly)??2),[y,A]=m.useState(0),x=m.useRef(!1),C=m.useRef(),b=Kt();m.useEffect(()=>{if(f){const j=i(f.pvModelName)??i("SPR-X21-335-BLK");A(f.orientation===ci.portrait?j.length:j.width),g(f.ly)}},[f]);const v=(j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&J.id===j&&!J.locked){const Q=J,ee=_.getPvModule(Q.pvModelName);J.ly=be.panelizeLy(Q,ee,Y);break}})},S=(j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&J.foundationId===j&&!J.locked){const Q=J,ee=_.getPvModule(Q.pvModelName);J.ly=be.panelizeLy(Q,ee,Y)}})},w=(j,Y,_)=>{e(J=>{for(const Q of J.elements)if(Q.type===z.SolarPanel&&!Q.locked){let ee;if(Y?ee=Q.parentId===j&&be.isIdentical(Q.normal,Y):ee=Q.parentId===j,ee){const $=Q,q=J.getPvModule($.pvModelName);Q.ly=be.panelizeLy($,q,_)}}})},T=j=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&!_.locked){const J=_,Q=Y.getPvModule(J.pvModelName);_.ly=be.panelizeLy(J,Q,j)}})},P=(j,Y)=>{M.getState().set(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&!J.locked&&j.has(J.id)){const Q=J,ee=_.getPvModule(Q.pvModelName);J.ly=be.panelizeLy(Q,ee,Y)}})},R=j=>{s(j.target.value)},H=(j,Y)=>{const _=r(j);if(_){if(_.type===z.Cuboid&&!be.isIdentical(j.normal,o0))return!0;const J=JSON.parse(JSON.stringify(j));return J.ly=Y,_.type===z.Wall?be.checkElementOnWallState(J,_)===fc.Valid:_.type===z.Roof?be.checkElementOnRoofState(J,_)===fc.Valid:be.isSolarCollectorWithinHorizontalSurface(J,_)}return!1},D=(j,Y)=>j.tiltAngle!==0&&.5*Y*Math.abs(Math.sin(j.tiltAngle))>j.poleHeight||!H(j,Y),E=j=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&M.getState().selectedElementIdSet.has(_.id)&&Math.abs(_.ly-j)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&Math.abs(_.ly-j)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const _ of n)if(_.type===z.SolarPanel&&_.foundationId===(f==null?void 0:f.foundationId)&&!_.locked&&Math.abs(_.ly-j)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const Y=r(f);if(Y){if(Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&be.isIdentical(J.normal,f.normal)&&!J.locked&&Math.abs(J.ly-j)>kt)return!0}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&!J.locked&&Math.abs(J.ly-j)>kt)return!0}break;default:if(Math.abs((f==null?void 0:f.ly)-j)>kt)return!0}return!1}},L=j=>{if(f&&E(j))switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Q.id)&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.ly);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&M.getState().selectedElementIdSet.has($.id)&&Q.set($.id,$.ly);const ee={name:"Set Width for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:Q,newValue:j,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{P(ee.oldValues,ee.newValue)}};a(ee),P(Q,j),u(c+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.ly);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&Q.set($.id,$.ly);const ee={name:"Set Width for All Solar Panel Arrays",timestamp:Date.now(),oldValues:Q,newValue:j,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{T(ee.newValue)}};a(ee),T(j),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&Q.foundationId===f.foundationId&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.ly);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&$.foundationId===f.foundationId&&Q.set($.id,$.ly);const ee={name:"Set Width for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:Q,newValue:j,groupId:f.foundationId,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{ee.groupId&&S(ee.groupId,ee.newValue)}};a(ee),S(f.foundationId,j),u(c+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const Y=r(f);if(Y){if(x.current=!1,Y.type===z.Cuboid){for(const ee of n)if(ee.type===z.SolarPanel&&ee.parentId===f.parentId&&be.isIdentical(ee.normal,f.normal)&&D(ee,j)){x.current=!0;break}}else for(const ee of n)if(ee.type===z.SolarPanel&&ee.parentId===f.parentId&&D(ee,j)){x.current=!0;break}if(x.current)C.current=j,g(f.ly);else{const ee=new Map,$=Y.type===z.Cuboid;if($)for(const ie of n)ie.type===z.SolarPanel&&ie.parentId===f.parentId&&be.isIdentical(ie.normal,f.normal)&&ee.set(ie.id,ie.ly);else for(const ie of n)ie.type===z.SolarPanel&&ie.parentId===f.parentId&&ee.set(ie.id,ie.ly);const q=$?f.normal:void 0,le={name:"Set Width for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:ee,newValue:j,groupId:f.parentId,normal:q,undo:()=>{for(const[ie,pe]of le.oldValues.entries())v(ie,pe)},redo:()=>{le.groupId&&w(le.groupId,le.normal,le.newValue)}};a(le),w(f.parentId,q,j),u(c+1)}}break;default:const _=o(f.id),J=_?_.ly:f.ly;if(x.current=D(f,j),x.current)C.current=j,g(J);else{const Q={name:"Set Solar Panel Array Width",timestamp:Date.now(),oldValue:J,newValue:j,changedElementId:f.id,changedElementType:f.type,undo:()=>{v(Q.changedElementId,Q.oldValue)},redo:()=>{v(Q.changedElementId,Q.newValue)}};a(Q),v(f.id,j),u(c+1)}}},U=()=>{x.current=!1,t(!1)},F=()=>{U(),d()},W=()=>{L(p),x.current||(t(!1),u(0))},B=j=>{let Y=j??1;return Y=Math.max(1,Math.ceil((Y-y/2)/y))*y,Y},k=()=>{L(p)},N=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Width",b),rejectedMessage:N,onApply:k,onClose:U,onClickCancel:F,onClickOk:W,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:y,max:100*y,step:y,style:{width:120},precision:2,value:p,onChange:j=>{j!==null&&g(B(j))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[Math.round(p/y)+" "+O.t("solarPanelMenu.PanelsLong",b),h.jsx("br",{}),O.t("word.MaximumNumber",b),": 100 ",O.t("solarPanelMenu.Panels",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:R,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},J0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(o1),l=M(i1),s=M(ro),c=M(oo),u=M(P=>P.elements.find(R=>R.selected&&R.type===z.SolarPanel)),[d,f]=m.useState((u==null?void 0:u.inverterEfficiency)??.95),p=Kt(),g=(P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===P&&!D.locked){D.inverterEfficiency=R;break}})},y=(P,R)=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&D.foundationId===P&&!D.locked&&(D.inverterEfficiency=R)})},A=(P,R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.SolarPanel&&!E.locked){let L;R?L=E.parentId===P&&be.isIdentical(E.normal,R):L=E.parentId===P,L&&(E.inverterEfficiency=H)}})},x=P=>{e(R=>{for(const H of R.elements)H.type===z.SolarPanel&&!H.locked&&(H.inverterEfficiency=P)})},C=(P,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&P.has(D.id)&&(D.inverterEfficiency=R)})},b=P=>{l(P.target.value)},v=P=>{switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.inverterEfficiency??.95)-P)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&Math.abs((H.inverterEfficiency??.95)-P)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.SolarPanel&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.inverterEfficiency??.95)-P)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&be.isIdentical(D.normal,u.normal)&&!D.locked&&Math.abs((D.inverterEfficiency??.95)-P)>kt)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&Math.abs((D.inverterEfficiency??.95)-P)>kt)return!0}break;default:if(Math.abs(((u==null?void 0:u.inverterEfficiency)??.95)-P)>kt)return!0}return!1},S=P=>{if(u&&v(P))switch(a){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.inverterEfficiency??.95);const U={name:"Set Inverter Efficiency for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{C(U.oldValues,U.newValue)}};r(U),C(L,P),c(s+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&L.set(F.id,F.inverterEfficiency??.95);const U={name:"Set Inverter Efficiency for All Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{x(U.newValue)}};r(U),x(P),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===u.foundationId&&L.set(F.id,F.inverterEfficiency??.95);const U={name:"Set Inverter Efficiency for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{U.groupId&&y(U.groupId,U.newValue)}};r(U),y(u.foundationId,P),c(s+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){const L=new Map,U=R.type===z.Cuboid;if(U)for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&be.isIdentical(B.normal,u.normal)&&L.set(B.id,B.inverterEfficiency??.95);else for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&L.set(B.id,B.inverterEfficiency??.95);const F=U?u.normal:void 0,W={name:"Set Inverter Efficiency for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.parentId,normal:F,undo:()=>{for(const[B,k]of W.oldValues.entries())g(B,k)},redo:()=>{W.groupId&&A(W.groupId,W.normal,W.newValue)}};r(W),A(u.parentId,F,P),c(s+1)}break;default:const H=o(u.id),D=H?H.inverterEfficiency??.95:u.inverterEfficiency??.95,E={name:"Set Solar Panel Array Inverter Efficiency",timestamp:Date.now(),oldValue:D,newValue:P,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(E.changedElementId,E.oldValue)},redo:()=>{g(E.changedElementId,E.newValue)}};r(E),g(u.id,P),c(s+1)}},w=()=>{t(!1)},T=()=>{S(d)};return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.InverterEfficiency",p),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.5,max:1,step:.01,style:{width:120},precision:2,value:d,onChange:P=>{P!==null&&f(P)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:["[0.5, 1.0]",h.jsx("br",{}),O.t("solarPanelMenu.InverterEfficiencyExplained",p)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},K0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Sc),o=M(Jn),i=M(jn),r=M(rr),a=M(En),l=M(o1),s=M(i1),c=M(ro),u=M(oo),d=M(ca),f=M(k=>k.elements.find(N=>N.selected&&N.type===z.SolarPanel)),[p,g]=m.useState(!1),[y,A]=m.useState(!1),[x,C]=m.useState({left:0,top:0,bottom:0,right:0}),b=m.useRef(null),v=m.useRef((f==null?void 0:f.dcToAcRatio)??1),S={lng:n};m.useEffect(()=>{f&&(v.current=f.dcToAcRatio??1)},[f.dcToAcRatio]);const w=(k,N)=>{e(j=>{for(const Y of j.elements)if(Y.type===z.SolarPanel&&Y.id===k&&!Y.locked){Y.dcToAcRatio=N;break}})},T=(k,N)=>{e(j=>{for(const Y of j.elements)Y.type===z.SolarPanel&&Y.foundationId===k&&!Y.locked&&(Y.dcToAcRatio=N)})},P=(k,N,j)=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&!_.locked){let J;N?J=_.parentId===k&&be.isIdentical(_.normal,N):J=_.parentId===k,J&&(_.dcToAcRatio=j)}})},R=k=>{e(N=>{for(const j of N.elements)j.type===z.SolarPanel&&!j.locked&&(j.dcToAcRatio=k)})},H=(k,N)=>{M.getState().set(j=>{for(const Y of j.elements)Y.type===z.SolarPanel&&!Y.locked&&k.has(Y.id)&&(Y.dcToAcRatio=N)})},D=k=>{s(k.target.value),g(!p)},E=k=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const j of o)if(j.type===z.SolarPanel&&!j.locked&&M.getState().selectedElementIdSet.has(j.id)&&Math.abs((j.dcToAcRatio??1)-k)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const j of o)if(j.type===z.SolarPanel&&!j.locked&&Math.abs((j.dcToAcRatio??1)-k)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const j of o)if(j.type===z.SolarPanel&&j.foundationId===(f==null?void 0:f.foundationId)&&!j.locked&&Math.abs((j.dcToAcRatio??1)-k)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const N=r(f);if(N){if(N.type===z.Cuboid){for(const Y of o)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&be.isIdentical(Y.normal,f.normal)&&!Y.locked&&Math.abs((Y.dcToAcRatio??1)-k)>kt)return!0}else for(const Y of o)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&!Y.locked&&Math.abs((Y.dcToAcRatio??1)-k)>kt)return!0}break;default:if(Math.abs(((f==null?void 0:f.dcToAcRatio)??1)-k)>kt)return!0}return!1},L=k=>{if(f&&E(k)){switch(l){case ue.AllSelectedObjectsOfThisType:{const J=new Map;for(const ee of o)ee.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(ee.id)&&J.set(ee.id,ee.dcToAcRatio??1);const Q={name:"Set DC-AC Ratio for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:J,newValue:k,undo:()=>{for(const[ee,$]of Q.oldValues.entries())w(ee,$)},redo:()=>{H(Q.oldValues,Q.newValue)}};a(Q),H(J,k),u(c+1);break}case ue.AllObjectsOfThisType:{const J=new Map;for(const ee of o)ee.type===z.SolarPanel&&J.set(ee.id,ee.dcToAcRatio??1);const Q={name:"Set DC-AC Ratio for All Solar Panel Arrays",timestamp:Date.now(),oldValues:J,newValue:k,undo:()=>{for(const[ee,$]of Q.oldValues.entries())w(ee,$)},redo:()=>{R(Q.newValue)}};a(Q),R(k),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const J=new Map;for(const ee of o)ee.type===z.SolarPanel&&ee.foundationId===f.foundationId&&J.set(ee.id,ee.dcToAcRatio??1);const Q={name:"Set DC-AC Ratio for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:J,newValue:k,groupId:f.foundationId,undo:()=>{for(const[ee,$]of Q.oldValues.entries())w(ee,$)},redo:()=>{Q.groupId&&T(Q.groupId,Q.newValue)}};a(Q),T(f.foundationId,k),u(c+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const N=r(f);if(N){const J=new Map,Q=N.type===z.Cuboid;if(Q)for(const q of o)q.type===z.SolarPanel&&q.parentId===f.parentId&&be.isIdentical(q.normal,f.normal)&&J.set(q.id,q.dcToAcRatio??1);else for(const q of o)q.type===z.SolarPanel&&q.parentId===f.parentId&&J.set(q.id,q.dcToAcRatio??1);const ee=Q?f.normal:void 0,$={name:"Set DC-AC Ratio for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:J,newValue:k,groupId:f.parentId,normal:ee,undo:()=>{for(const[q,le]of $.oldValues.entries())w(q,le)},redo:()=>{$.groupId&&P($.groupId,$.normal,$.newValue)}};a($),P(f.parentId,ee,k),u(c+1)}break;default:const j=i(f.id),Y=j?j.dcToAcRatio??1:f.dcToAcRatio??1,_={name:"Set Solar Panel Array DC-AC Ratio",timestamp:Date.now(),oldValue:Y,newValue:k,changedElementId:f.id,changedElementType:f.type,undo:()=>{w(_.changedElementId,_.oldValue)},redo:()=>{w(_.changedElementId,_.newValue)}};a(_),w(f.id,k),u(c+1)}g(!p)}},U=(k,N)=>{if(b.current){const{clientWidth:j,clientHeight:Y}=window.document.documentElement,_=b.current.getBoundingClientRect();C({left:-_.left+N.x,right:j-(_.right-N.x),top:-_.top+N.y,bottom:Y-((_==null?void 0:_.bottom)-N.y)})}},F=()=>{v.current=f.dcToAcRatio??1,t(!1)},W=()=>{F(),d()},B=()=>{L(v.current),t(!1),u(0)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:O.t("solarPanelMenu.DcToAcSizeRatio",S)}),footer:[h.jsx(no,{onClick:()=>{L(v.current)},children:O.t("word.Apply",S)},"Apply"),h.jsx(no,{onClick:W,children:O.t("word.Cancel",S)},"Cancel"),h.jsx(no,{type:"primary",onClick:B,children:O.t("word.OK",S)},"OK")],onCancel:F,maskClosable:!1,destroyOnClose:!1,modalRender:k=>h.jsx(Vr,{disabled:!y,bounds:x,onStart:(N,j)=>U(N,j),children:h.jsx("div",{ref:b,children:k})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:2,step:.01,style:{width:120},precision:2,value:v.current,onChange:k=>{k!==null&&(v.current=k,g(!p))},onPressEnter:B}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:["[1.0, 2.0]",h.jsx("br",{}),O.t("solarPanelMenu.DcToAcSizeRatioExplained",S)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:D,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",S)})]})})})]})})})},JRe=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rge),r=M(rr),a=M(En),l=M(o1),s=M(i1),c=M(ro),u=M(oo),d=M(ca),f=co(z.SolarPanel),p=(f==null?void 0:f.tiltAngle)??0,g=(f==null?void 0:f.parentType)===z.Wall,[y,A]=m.useState(g?-p:p),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=(W,B,k)=>{e(N=>{for(const j of N.elements)if(j.type===z.SolarPanel&&j.foundationId===W&&!j.locked){const Y=j;Y.parentType===z.Wall?Y.tiltAngle=Math.min(0,k?-B:B):Y.tiltAngle=B}})},S=(W,B,k)=>{e(N=>{for(const j of N.elements)if(j.type===z.SolarPanel&&!j.locked){let Y;if(B?Y=j.parentId===W&&be.isIdentical(j.normal,B):Y=j.parentId===W,Y){const _=j;_.tiltAngle=k}}})},w=(W,B)=>{e(k=>{for(const N of k.elements)if(N.type===z.SolarPanel&&!N.locked){const j=N;j.parentType===z.Wall?j.tiltAngle=Math.min(0,B?-W:W):j.tiltAngle=W}})},T=(W,B,k)=>{M.getState().set(N=>{for(const j of N.elements)if(j.type===z.SolarPanel&&!j.locked&&W.has(j.id)){const Y=j;Y.parentType===z.Wall?Y.tiltAngle=Math.min(0,k?-B:B):Y.tiltAngle=B}})},P=W=>{s(W.target.value)},R=W=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:for(const k of n)if(k.type===z.SolarPanel&&!k.locked&&M.getState().selectedElementIdSet.has(k.id)&&Math.abs(k.tiltAngle-W)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const k of n)if(k.type===z.SolarPanel&&!k.locked&&Math.abs(k.tiltAngle-W)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const k of n)if(k.type===z.SolarPanel&&k.foundationId===(f==null?void 0:f.foundationId)&&!k.locked&&Math.abs(k.tiltAngle-W)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const B=r(f);if(B){if(B.type===z.Cuboid){for(const N of n)if(N.type===z.SolarPanel&&N.parentId===f.parentId&&be.isIdentical(N.normal,f.normal)&&!N.locked&&Math.abs(N.tiltAngle-W)>kt)return!0}else for(const N of n)if(N.type===z.SolarPanel&&N.parentId===f.parentId&&!N.locked&&Math.abs(N.tiltAngle-W)>kt)return!0}break;default:if(Math.abs((f==null?void 0:f.tiltAngle)-W)>kt)return!0}return!1}},H=W=>{if(g&&(W=-W),!!f&&R(W)){switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const j of n)if(j.type===z.SolarPanel&&j.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(j.id)&&.5*j.ly*Math.abs(Math.sin(W))>j.poleHeight){x.current=!0;break}if(x.current)C.current=W,A(f.tiltAngle);else{const j=new Map;for(const _ of n)_.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(_.id)&&j.set(_.id,_.tiltAngle);const Y={name:"Set Tilt Angle for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:j,newValue:W,undo:()=>{for(const[_,J]of Y.oldValues.entries())i(_,J)},redo:()=>{T(Y.oldValues,Y.newValue,!g)}};a(Y),T(j,W,!g),u(c+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const j of n)if(j.type===z.SolarPanel&&j.parentType!==z.Wall&&.5*j.ly*Math.abs(Math.sin(W))>j.poleHeight){x.current=!0;break}if(x.current)C.current=W,A(f.tiltAngle);else{const j=new Map;for(const _ of n)_.type===z.SolarPanel&&j.set(_.id,_.tiltAngle);const Y={name:"Set Tilt Angle for All Solar Panel Arrays",timestamp:Date.now(),oldValues:j,newValue:W,undo:()=>{for(const[_,J]of Y.oldValues.entries())i(_,J)},redo:()=>{w(Y.newValue,!g)}};a(Y),w(W,!g),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){x.current=!1;for(const j of n)if(j.type===z.SolarPanel&&j.foundationId===f.foundationId&&j.parentType!==z.Wall&&.5*j.ly*Math.abs(Math.sin(W))>j.poleHeight){x.current=!0;break}if(x.current)C.current=W,A(f.tiltAngle);else{const j=new Map;for(const _ of n)_.type===z.SolarPanel&&_.foundationId===f.foundationId&&j.set(_.id,_.tiltAngle);const Y={name:"Set Tilt Angle for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:j,newValue:W,groupId:f.foundationId,undo:()=>{for(const[_,J]of Y.oldValues.entries())i(_,J);Y.oldValues.size%2===0&&M.getState().set(_=>{})},redo:()=>{Y.groupId&&v(Y.groupId,Y.newValue,!g)}};a(Y),v(f.foundationId,W,!g),u(c+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const B=r(f);if(B){x.current=!1;const j=B.type===z.Cuboid;if(j){for(const Y of n)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&be.isIdentical(Y.normal,f.normal)&&.5*Y.ly*Math.abs(Math.sin(W))>Y.poleHeight){x.current=!0;break}}else if(f.parentType===z.Wall)x.current=!1;else for(const Y of n)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&.5*Y.ly*Math.abs(Math.sin(W))>Y.poleHeight){x.current=!0;break}if(x.current)C.current=W,A(f.tiltAngle);else{const Y=new Map;if(j)for(const Q of n)Q.type===z.SolarPanel&&Q.parentId===f.parentId&&be.isIdentical(Q.normal,f.normal)&&Y.set(Q.id,Q.tiltAngle);else for(const Q of n)Q.type===z.SolarPanel&&Q.parentId===f.parentId&&Y.set(Q.id,Q.tiltAngle);const _=j?f.normal:void 0,J={name:"Set Tilt Angle for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:Y,newValue:W,groupId:f.parentId,normal:_,undo:()=>{for(const[Q,ee]of J.oldValues.entries())i(Q,ee);J.oldValues.size%2===0&&M.getState().set(Q=>{})},redo:()=>{J.groupId&&S(J.groupId,J.normal,J.newValue)}};a(J),S(f.parentId,_,W),u(c+1)}}break;default:const k=o(f.id),N=k?k.tiltAngle:f.tiltAngle;if(x.current=.5*f.ly*Math.abs(Math.sin(W))>f.poleHeight,f.parentType===z.Wall&&(x.current=!1),x.current)C.current=W,A(N);else{const j={name:"Set Solar Panel Array Tilt Angle",timestamp:Date.now(),oldValue:N,newValue:W,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(j.changedElementId,j.oldValue)},redo:()=>{i(j.changedElementId,j.newValue)}};a(j),i(f.id,W),u(c+1)}}e(B=>{B.actionState.solarPanelTiltAngle=W})}},D=()=>{x.current=!1,t(!1)},E=()=>{D(),d()},L=()=>{H(y),x.current||(t(!1),u(0))},U=()=>{H(y)},F=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+be.toDegrees(C.current).toFixed(1)+"°)":null):null;return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.TiltAngle",b),rejectedMessage:F,onApply:U,onClose:D,onClickCancel:E,onClickOk:L,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:g?0:-90,max:90,style:{width:120},precision:2,value:parseFloat(be.toDegrees(y).toFixed(2)),step:1,formatter:W=>`${W}°`,onChange:W=>{W!==null&&A(be.toRadians(W))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [",g?"0°":"-90°",", 90°]",h.jsx("br",{}),O.t("solarPanelMenu.SouthFacingIsPositive",b)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:18,children:h.jsx(Be.Group,{onChange:P,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},q0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(age),r=M(Ewt),a=M(kwt),l=M(Fwt),s=M(rr),c=M(En),u=M(o1),d=M(i1),f=M(ro),p=M(oo),g=M(ca),y=co(z.SolarPanel),A=m.useRef(!1),x=m.useRef(),[C,b]=m.useState(y?-y.relativeAzimuth:0),v=Kt(),S=W=>{d(W.target.value)},w=(W,B)=>{const k=s(W);if(k){if(k.type===z.Cuboid&&!be.isIdentical(W.normal,o0))return!0;const N=JSON.parse(JSON.stringify(W));return N.relativeAzimuth=-B,k.type===z.Roof?be.checkElementOnRoofState(N,k)===fc.Valid:be.isSolarCollectorWithinHorizontalSurface(N,k)}return!1},T=(W,B)=>!w(W,B),P=W=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const B of n)if(B.type===z.SolarPanel&&!B.locked&&B.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(B.id)&&Math.abs(-B.relativeAzimuth-W)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const B of n)if(B.type===z.SolarPanel&&!B.locked&&B.parentType!==z.Wall&&Math.abs(-B.relativeAzimuth-W)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const B of n)if(B.type===z.SolarPanel&&B.foundationId===(y==null?void 0:y.foundationId)&&!B.locked&&B.parentType!==z.Wall&&Math.abs(-B.relativeAzimuth-W)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(y!=null&&y.parentId){const B=s(y);if(B){if(B.type===z.Cuboid){for(const N of n)if(N.type===z.SolarPanel&&N.parentId===y.parentId&&be.isIdentical(N.normal,y.normal)&&!N.locked&&Math.abs(-N.relativeAzimuth-W)>kt)return!0}else for(const N of n)if(N.type===z.SolarPanel&&N.parentId===y.parentId&&!N.locked&&Math.abs(-N.relativeAzimuth-W)>kt)return!0}}break;default:if(Math.abs(-(y==null?void 0:y.relativeAzimuth)-W)>kt)return!0}return!1}},R=(W,B)=>{M.getState().set(k=>{for(const N of k.elements)if(N.type===z.SolarPanel&&!N.locked&&W.has(N.id)){const j=N;j.relativeAzimuth=B}})},H=W=>{if(y&&P(W)){switch(x.current=void 0,u){case ue.AllSelectedObjectsOfThisType:{A.current=!1;for(const N of n)if(N.type===z.SolarPanel&&N.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(N.id)&&T(N,W)){A.current=!0;break}if(A.current)x.current=W,b(-y.relativeAzimuth);else{const N=new Map;for(const Y of n)Y.type===z.SolarPanel&&Y.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(Y.id)&&N.set(Y.id,-Y.relativeAzimuth);const j={name:"Set Relative Azimuth for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[Y,_]of j.oldValues.entries())i(Y,-_)},redo:()=>{R(j.oldValues,j.newValue)}};c(j),R(N,-W),p(f+1)}break}case ue.AllObjectsOfThisType:{A.current=!1;for(const N of n)if(N.type===z.SolarPanel&&N.parentType!==z.Wall&&T(N,W)){A.current=!0;break}if(A.current)x.current=W,b(-y.relativeAzimuth);else{const N=new Map;for(const Y of n)Y.type===z.SolarPanel&&Y.parentType!==z.Wall&&N.set(Y.id,-Y.relativeAzimuth);const j={name:"Set Relative Azimuth for All Solar Panel Arrays",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[Y,_]of j.oldValues.entries())i(Y,-_)},redo:()=>{l(z.SolarPanel,-j.newValue)}};c(j),l(z.SolarPanel,-W),p(f+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(y.foundationId){A.current=!1;for(const N of n)if(N.type===z.SolarPanel&&N.foundationId===y.foundationId&&N.parentType!==z.Wall&&T(N,W)){A.current=!0;break}if(A.current)x.current=W,b(-y.relativeAzimuth);else{const N=new Map;for(const Y of n)Y.type===z.SolarPanel&&Y.foundationId===y.foundationId&&Y.parentType!==z.Wall&&N.set(Y.id,-Y.relativeAzimuth);const j={name:"Set Relative Azimuth for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:y.foundationId,undo:()=>{for(const[Y,_]of j.oldValues.entries())i(Y,-_)},redo:()=>{j.groupId&&a(z.SolarPanel,j.groupId,-j.newValue)}};c(j),a(z.SolarPanel,y.foundationId,-W),p(f+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:if(y.parentId){const N=s(y);if(N){if(A.current=!1,N.type===z.Cuboid){for(const Y of n)if(Y.type===z.SolarPanel&&Y.parentId===y.parentId&&be.isIdentical(Y.normal,y.normal)&&T(Y,W)){A.current=!0;break}}else for(const Y of n)if(Y.type===z.SolarPanel&&Y.parentId===y.parentId&&T(Y,W)){A.current=!0;break}if(A.current)x.current=W,b(-y.relativeAzimuth);else{const Y=new Map,_=N.type===z.Cuboid;if(_)for(const ee of n)ee.type===z.SolarPanel&&ee.parentId===y.parentId&&be.isIdentical(ee.normal,y.normal)&&Y.set(ee.id,-ee.relativeAzimuth);else for(const ee of n)ee.type===z.SolarPanel&&ee.parentId===y.parentId&&Y.set(ee.id,-ee.relativeAzimuth);const J=_?y.normal:void 0,Q={name:"Set Relative Azimuth for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:Y,newValue:W,groupId:y.parentId,normal:J,undo:()=>{for(const[ee,$]of Q.oldValues.entries())i(ee,-$)},redo:()=>{Q.groupId&&r(z.SolarPanel,Q.groupId,Q.normal,-Q.newValue)}};c(Q),r(z.SolarPanel,y.parentId,J,-W),p(f+1)}}}break;default:const B=o(y.id),k=B?-B.relativeAzimuth:-y.relativeAzimuth;if(A.current=T(y,W),A.current)x.current=W,b(k);else{const N={name:"Set Solar Panel Array Relative Azimuth",timestamp:Date.now(),oldValue:k,newValue:W,changedElementId:y.id,changedElementType:y.type,undo:()=>{i(N.changedElementId,-N.oldValue)},redo:()=>{i(N.changedElementId,-N.newValue)}};c(N),i(y.id,-W),p(f+1)}}e(B=>{B.actionState.solarPanelRelativeAzimuth=-W})}},D=()=>{A.current=!1,t(!1)},E=()=>{D(),g()},L=()=>{H(C),A.current||(t(!1),p(0))},U=()=>{H(C)},F=A.current?": "+O.t("message.NotApplicableToSelectedAction",v)+(x.current!==void 0?" ("+be.toDegrees(x.current).toFixed(1)+"°)":null):null;return h.jsx(lo,{width:550,title:O.t("solarCollectorMenu.RelativeAzimuth",v),rejectedMessage:F,onApply:U,onClose:D,onClickCancel:E,onClickOk:L,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(be.toDegrees(C).toFixed(2)),formatter:W=>`${W}°`,onChange:W=>{W!==null&&b(be.toRadians(W))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",v),": [-180°, 180°]",h.jsx("br",{}),O.t("message.AzimuthOfNorthIsZero",v),h.jsx("br",{}),O.t("message.CounterclockwiseAzimuthIsPositive",v)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:18,children:h.jsx(Be.Group,{onChange:S,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",v)})]})})})]})})},$0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(o1),l=M(i1),s=M(ro),c=M(oo),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.trackerType)??Ma.NO_TRACKER),p=Kt(),{Option:g}=Yo,y=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.SolarPanel&&E.id===R&&!E.locked){E.trackerType=H;break}})},A=(R,H)=>{e(D=>{for(const E of D.elements)E.type===z.SolarPanel&&E.foundationId===R&&!E.locked&&(E.trackerType=H)})},x=(R,H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.SolarPanel&&!L.locked){let U;H?U=L.parentId===R&&be.isIdentical(L.normal,H):U=L.parentId===R,U&&(L.trackerType=D)}})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&(D.trackerType=R)})},b=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)E.type===z.SolarPanel&&!E.locked&&R.has(E.id)&&(E.trackerType=H)})},v=R=>{l(R.target.value)},S=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.SolarPanel&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&D.trackerType!==R)return!0;break;case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.SolarPanel&&!D.locked&&D.trackerType!==R)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.SolarPanel&&D.foundationId===(u==null?void 0:u.foundationId)&&!D.locked&&D.trackerType!==R)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const H=i(u);if(H){if(H.type===z.Cuboid){for(const E of n)if(E.type===z.SolarPanel&&E.parentId===u.parentId&&be.isIdentical(E.normal,u.normal)&&!E.locked&&E.trackerType!==R)return!0}else for(const E of n)if(E.type===z.SolarPanel&&E.parentId===u.parentId&&!E.locked&&E.trackerType!==R)return!0}break;default:if((u==null?void 0:u.trackerType)!==R)return!0}return!1}},w=R=>{if(u&&S(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(W.id)&&U.set(W.id,W.trackerType);const F={name:"Set Tracker Type for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:R,undo:()=>{for(const[W,B]of F.oldValues.entries())y(W,B)},redo:()=>{b(F.oldValues,F.newValue)}};r(F),b(U,R),c(s+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.SolarPanel&&U.set(W.id,W.trackerType);const F={name:"Set Tracker Type for All Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:R,undo:()=>{for(const[W,B]of F.oldValues.entries())y(W,B)},redo:()=>{C(F.newValue)}};r(F),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const U=new Map;for(const W of n)W.type===z.SolarPanel&&W.foundationId===u.foundationId&&U.set(W.id,W.trackerType);const F={name:"Set Tracker Type for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:U,newValue:R,groupId:u.foundationId,undo:()=>{for(const[W,B]of F.oldValues.entries())y(W,B)},redo:()=>{F.groupId&&A(F.groupId,F.newValue)}};r(F),A(u.foundationId,R),c(s+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const H=i(u);if(H){const U=new Map,F=H.type===z.Cuboid;if(F)for(const k of n)k.type===z.SolarPanel&&k.parentId===u.parentId&&be.isIdentical(k.normal,u.normal)&&U.set(k.id,k.trackerType);else for(const k of n)k.type===z.SolarPanel&&k.parentId===u.parentId&&U.set(k.id,k.trackerType);const W=F?u.normal:void 0,B={name:"Set Tracker Type for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:U,newValue:R,groupId:u.parentId,normal:W,undo:()=>{for(const[k,N]of B.oldValues.entries())y(k,N)},redo:()=>{B.groupId&&x(B.groupId,B.normal,B.newValue)}};r(B),x(u.parentId,W,R),c(s+1)}break;default:const D=o(u.id),E=D?D.trackerType:u.trackerType,L={name:"Set Solar Panel Array Tracker Type",timestamp:Date.now(),oldValue:E,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{y(L.changedElementId,L.oldValue)},redo:()=>{y(L.changedElementId,L.newValue)}};r(L),y(u.id,R),c(s+1)}},T=()=>{t(!1)},P=()=>{w(d)};return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.Tracker",p),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsxs(Yo,{style:{width:"120px"},value:d,onChange:R=>f(R),children:[h.jsx(g,{value:Ma.NO_TRACKER,title:O.t("solarPanelMenu.NoTracker",p),children:O.t("word.None",p)},"NONE"),h.jsx(g,{value:Ma.HORIZONTAL_SINGLE_AXIS_TRACKER,title:O.t("solarPanelMenu.HorizontalSingleAxisTracker",p),children:"HSAT"},"HSAT"),h.jsx(g,{value:Ma.VERTICAL_SINGLE_AXIS_TRACKER,title:O.t("solarPanelMenu.VerticalSingleAxisTracker",p),children:"VSAT"},"VSAT"),h.jsx(g,{value:Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER,title:O.t("solarPanelMenu.AltazimuthDualAxisTracker",p),children:"AADAT"},"AADAT")]}),h.jsx("div",{style:{paddingTop:"20px",paddingRight:"10px",textAlign:"left",fontSize:"11px"},children:O.t("solarPanelMenu.SolarTrackerFollowsSun",p)})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},Q0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(o1),l=M(i1),s=M(ro),c=M(oo),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.frameColor)??"white"),p=Kt(),g=(P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===P&&!D.locked){D.frameColor=R;break}})},y=(P,R)=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&D.foundationId===P&&!D.locked&&(D.frameColor=R)})},A=(P,R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.SolarPanel&&!E.locked){let L;R?L=E.parentId===P&&be.isIdentical(E.normal,R):L=E.parentId===P,L&&(E.frameColor=H)}})},x=P=>{e(R=>{for(const H of R.elements)H.type===z.SolarPanel&&!H.locked&&(H.frameColor=P)})},C=(P,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&P.has(D.id)&&(D.frameColor=R)})},b=P=>{l(P.target.value)},v=P=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&H.frameColor!==P)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&H.frameColor!==P)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.SolarPanel&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&H.frameColor!==P)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&be.isIdentical(D.normal,u.normal)&&!D.locked&&D.frameColor!==P)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&D.frameColor!==P)return!0}break;default:if((u==null?void 0:u.frameColor)!==P)return!0}return!1}},S=P=>{if(u&&v(P)){switch(a){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.frameColor??"white");const U={name:"Set Frame Color for Selected Solar Panels",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{C(U.oldValues,U.newValue)}};r(U),C(L,P),c(s+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&L.set(F.id,F.frameColor??"white");const U={name:"Set Frame Color for All Solar Panels",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{x(U.newValue)}};r(U),x(P),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===u.foundationId&&L.set(F.id,F.frameColor??"white");const U={name:"Set Frame Color for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{U.groupId&&y(U.groupId,U.newValue)}};r(U),y(u.foundationId,P),c(s+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){const L=new Map,U=R.type===z.Cuboid;if(U)for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&be.isIdentical(B.normal,u.normal)&&L.set(B.id,B.frameColor??"white");else for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&L.set(B.id,B.frameColor??"white");const F=U?u.normal:void 0,W={name:"Set Frame Color for All Solar Panels on Surface",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.parentId,normal:F,undo:()=>{for(const[B,k]of W.oldValues.entries())g(B,k)},redo:()=>{W.groupId&&A(W.groupId,W.normal,W.newValue)}};r(W),A(u.parentId,F,P),c(s+1)}break;default:const H=o(u.id),D=H?H.frameColor:u.frameColor,E={name:"Set Frame Color of Selected Solar Panel",timestamp:Date.now(),oldValue:D,newValue:P,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(u.id,E.oldValue)},redo:()=>{g(u.id,E.newValue)}};r(E),g(u.id,P),c(s+1)}e(R=>{R.actionState.solarPanelFrameColor=P})}},w=()=>{t(!1)},T=()=>{S(d)};return h.jsx(lo,{width:680,title:O.t("solarPanelMenu.FrameColor",p),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsx(Cf,{color:d??(u==null?void 0:u.color)??"white",onChangeComplete:P=>{f(P.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},Z0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(Ywt),a=M(rW),l=M(aW),s=M(rr),c=M(En),u=M(o1),d=M(i1),f=M(ro),p=M(oo),g=M(ca),y=co(z.SolarPanel),[A,x]=m.useState((y==null?void 0:y.poleHeight)??0),C=m.useRef(!1),b=m.useRef(),v=Kt(),S=U=>{d(U.target.value)},w=U=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.SolarPanel&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.SolarPanel&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.SolarPanel&&W.foundationId===(y==null?void 0:y.foundationId)&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const F=s(y);if(F){if(F.type===z.Cuboid){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===y.parentId&&be.isIdentical(B.normal,y.normal)&&!B.locked&&Math.abs(B.poleHeight-U)>kt)return!0}else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===y.parentId&&!B.locked&&Math.abs(B.poleHeight-U)>kt)return!0}break;default:if(Math.abs((y==null?void 0:y.poleHeight)-U)>kt)return!0}return!1}},T=(U,F)=>{M.getState().set(W=>{for(const B of W.elements)if(B.type===z.SolarPanel&&!B.locked&&U.has(B.id)){const k=B;k.poleHeight=F}})},P=U=>{if(y&&w(U)){switch(b.current=void 0,u){case ue.AllSelectedObjectsOfThisType:{C.current=!1;for(const k of n)if(k.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(k.id)&&.5*k.ly*Math.abs(Math.sin(k.tiltAngle))>U){C.current=!0;break}if(C.current)b.current=U,x(y.poleHeight);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.poleHeight);const N={name:"Set Pole Height for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{T(N.oldValues,N.newValue)}};c(N),T(k,U),p(f+1)}break}case ue.AllObjectsOfThisType:{C.current=!1;for(const k of n)if(k.type===z.SolarPanel&&.5*k.ly*Math.abs(Math.sin(k.tiltAngle))>U){C.current=!0;break}if(C.current)b.current=U,x(y.poleHeight);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&k.set(j.id,j.poleHeight);const N={name:"Set Pole Height for All Solar Panel Arrays",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{l(z.SolarPanel,N.newValue)}};c(N),l(z.SolarPanel,U),p(f+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(y.foundationId){C.current=!1;for(const k of n)if(k.type===z.SolarPanel&&k.foundationId===y.foundationId&&.5*k.ly*Math.abs(Math.sin(k.tiltAngle))>U){C.current=!0;break}if(C.current)b.current=U,x(y.poleHeight);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&j.foundationId===y.foundationId&&k.set(j.id,j.poleHeight);const N={name:"Set Pole Height for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:k,newValue:U,groupId:y.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&a(z.SolarPanel,N.groupId,N.newValue)}};c(N),a(z.SolarPanel,y.foundationId,U),p(f+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const F=s(y);if(F){if(C.current=!1,F.type===z.Cuboid){for(const N of n)if(N.type===z.SolarPanel&&N.parentId===y.parentId&&be.isIdentical(N.normal,y.normal)&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>U){C.current=!0;break}}else for(const N of n)if(N.type===z.SolarPanel&&N.parentId===y.parentId&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>U){C.current=!0;break}if(C.current)b.current=U,x(y.poleHeight);else{const N=new Map,j=F.type===z.Cuboid;if(j)for(const J of n)J.type===z.SolarPanel&&J.parentId===y.parentId&&be.isIdentical(J.normal,y.normal)&&N.set(J.id,J.poleHeight);else for(const J of n)J.type===z.SolarPanel&&J.parentId===y.parentId&&N.set(J.id,J.poleHeight);const Y=j?y.normal:void 0,_={name:"Set Pole Height for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:N,newValue:U,groupId:y.parentId,normal:Y,undo:()=>{for(const[J,Q]of _.oldValues.entries())i(J,Q)},redo:()=>{_.groupId&&r(z.SolarPanel,_.groupId,_.normal,_.newValue)}};c(_),r(z.SolarPanel,y.parentId,Y,U),p(f+1)}}break;default:const W=o(y.id),B=W?W.poleHeight:y.poleHeight;if(C.current=.5*y.ly*Math.abs(Math.sin(y.tiltAngle))>U,C.current)b.current=U,x(B);else{const k={name:"Set Solar Panel Array Pole Height",timestamp:Date.now(),oldValue:B,newValue:U,changedElementId:y.id,changedElementType:y.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};c(k),i(y.id,U),p(f+1)}}e(F=>{F.actionState.solarPanelPoleHeight=U})}},R=()=>{C.current=!1,t(!1)},H=()=>{R(),g()},D=()=>{P(A),C.current||(t(!1),p(0))},E=()=>{P(A)},L=C.current?": "+O.t("message.NotApplicableToSelectedAction",v)+(b.current!==void 0?" ("+b.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("solarCollectorMenu.PoleHeight",v),rejectedMessage:L,onApply:E,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:10,style:{width:120},step:.1,precision:2,value:A,onChange:U=>{U!==null&&x(U)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",v),": [0, 10] ",O.t("word.MeterAbbreviation",v)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",v)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",v)})]})})})]})})},euo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(o1),l=M(i1),s=M(ro),c=M(oo),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.poleSpacing)??0),p=Kt(),g=(P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===P&&!D.locked){const E=D;E.poleSpacing=R;break}})},y=(P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.foundationId===P&&!D.locked){const E=D;E.poleSpacing=R}})},A=(P,R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.SolarPanel&&!E.locked){let L;if(R?L=E.parentId===P&&be.isIdentical(E.normal,R):L=E.parentId===P,L){const U=E;U.poleSpacing=H}}})},x=P=>{e(R=>{for(const H of R.elements)if(H.type===z.SolarPanel&&!H.locked){const D=H;D.poleSpacing=P}})},C=(P,R)=>{M.getState().set(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&!D.locked&&P.has(D.id)){const E=D;E.poleSpacing=R}})},b=P=>{l(P.target.value)},v=P=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.poleSpacing-P)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&Math.abs(H.poleSpacing-P)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.SolarPanel&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs(H.poleSpacing-P)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&be.isIdentical(D.normal,u.normal)&&!D.locked&&Math.abs(D.poleSpacing-P)>kt)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&Math.abs(D.poleSpacing-P)>kt)return!0}break;default:if(Math.abs((u==null?void 0:u.poleSpacing)-P)>kt)return!0}return!1}},S=P=>{if(u&&v(P)){switch(a){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.poleSpacing);const U={name:"Set Pole Spacing for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{C(U.oldValues,U.newValue)}};r(U),C(L,P),c(s+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&L.set(F.id,F.poleSpacing);const U={name:"Set Pole Spacing for All Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{x(U.newValue)}};r(U),x(P),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===u.foundationId&&L.set(F.id,F.poleSpacing);const U={name:"Set Pole Spacing for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{U.groupId&&y(U.groupId,U.newValue)}};r(U),y(u.foundationId,P),c(s+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){const L=new Map,U=R.type===z.Cuboid;if(U)for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&be.isIdentical(B.normal,u.normal)&&L.set(B.id,B.poleSpacing);else for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&L.set(B.id,B.poleSpacing);const F=U?u.normal:void 0,W={name:"Set Pole Spacing for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.parentId,normal:F,undo:()=>{for(const[B,k]of W.oldValues.entries())g(B,k)},redo:()=>{W.groupId&&A(W.groupId,W.normal,W.newValue)}};r(W),A(u.parentId,F,P),c(s+1)}break;default:const H=o(u.id),D=H?H.poleSpacing:u.poleSpacing,E={name:"Set Solar Panel Array Pole Spacing",timestamp:Date.now(),oldValue:D,newValue:P,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(E.changedElementId,E.oldValue)},redo:()=>{g(E.changedElementId,E.newValue)}};r(E),g(u.id,P),c(s+1)}e(R=>{R.actionState.solarPanelPoleSpacing=P})}},w=()=>{t(!1)},T=()=>{S(d),t(!1),c(0)};return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.PoleSpacing",p),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:1,style:{width:120},precision:2,value:d,onChange:P=>{P!==null&&f(P)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [1, 10] ",O.t("word.MeterAbbreviation",p)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",p)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},tuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(jn),r=M(Lwt),a=M(Wwt),l=M(Nwt),s=M(En),c=M(o1),u=M(i1),d=M(ro),f=M(oo),p=M(ca),g=co(z.SolarPanel),[y,A]=m.useState((g==null?void 0:g.cx)??0),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=U=>{u(U.target.value)},S=U=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&Math.abs(F.cx-U)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.cx-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.SolarPanel&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.cx-U)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.cx)-U)>kt)return!0}return!1}},w=(U,F)=>{M.getState().set(W=>{for(const B of W.elements)if(B.type===z.SolarPanel&&!B.locked&&U.has(B.id)){const k=B;k.cx=F}})},T=(U,F,W)=>U+.5*F/W<.5&&U-.5*F/W>-.5,P=U=>{if(!g||!S(U))return;C.current=void 0;const F=o(g);if(F){switch(c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(k.id)&&!T(U,g.lx,F.lx)){x.current=!0;break}if(x.current)C.current=U,A(g.cx);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.cx);const N={name:"Set Center X for Selected Solar Panel",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{w(N.oldValues,N.newValue)}};s(N),w(k,U),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&!T(U,g.lx,F.lx)){x.current=!0;break}if(x.current)C.current=U,A(g.cx);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&k.set(j.id,j.cx);const N={name:"Set Center X for All Solar Panels",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{l(z.SolarPanel,N.newValue)}};s(N),l(z.SolarPanel,U),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&k.foundationId===g.foundationId&&!T(U,g.lx,F.lx)){x.current=!0;break}if(x.current)C.current=U,A(g.cx);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&j.foundationId===g.foundationId&&k.set(j.id,j.cx);const N={name:"Set Center X for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:k,newValue:U,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{N.groupId&&a(z.SolarPanel,N.groupId,N.newValue)}};s(N),a(z.SolarPanel,g.foundationId,U),f(d+1)}}break;default:const W=i(g.id),B=W?W.cx:g.cx;if(x.current=!T(U,g.lx,F.lx),x.current)C.current=U,A(B);else{const k={name:"Set Solar Panel Center X",timestamp:Date.now(),oldValue:B,newValue:U,changedElementId:g.id,changedElementType:g.type,undo:()=>{r(k.changedElementId,k.oldValue)},redo:()=>{r(k.changedElementId,k.newValue)}};s(k),r(g.id,U),f(d+1)}}e(W=>{W.actionState.solarPanelCx=U})}},R=()=>{x.current=!1,t(!1)},H=()=>{R(),p()},D=()=>{P(y),x.current||(t(!1),f(0))},E=()=>{P(y)},L=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("solarCollectorMenu.RelativeXCoordinateOfCenter",b),rejectedMessage:L,onApply:E,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-.5,max:.5,style:{width:120},step:.01,precision:2,value:y,onChange:U=>{U!==null&&A(U)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [-0.5, 0.5]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},nuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(jn),r=M(Uwt),a=M(Bwt),l=M(jwt),s=M(En),c=M(o1),u=M(i1),d=M(ro),f=M(oo),p=M(ca),g=co(z.SolarPanel),[y,A]=m.useState((g==null?void 0:g.cy)??0),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=U=>{u(U.target.value)},S=U=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&Math.abs(F.cy-U)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.cy-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.SolarPanel&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.cy-U)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.cy)-U)>kt)return!0}return!1}},w=(U,F)=>{M.getState().set(W=>{for(const B of W.elements)if(B.type===z.SolarPanel&&!B.locked&&U.has(B.id)){const k=B;k.cy=F}})},T=(U,F,W)=>U+.5*F/W<.5&&U-.5*F/W>-.5,P=U=>{if(!g||!S(U))return;C.current=void 0;const F=o(g);if(F){switch(c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(k.id)&&!T(U,g.ly,F.ly)){x.current=!0;break}if(x.current)C.current=U,A(g.cy);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.cy);const N={name:"Set Center Y for Selected Solar Panel",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{w(N.oldValues,N.newValue)}};s(N),w(k,U),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&!T(U,g.ly,F.ly)){x.current=!0;break}if(x.current)C.current=U,A(g.cy);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&k.set(j.id,j.cy);const N={name:"Set Center Y for All Solar Panels",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{l(z.SolarPanel,N.newValue)}};s(N),l(z.SolarPanel,U),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&k.foundationId===g.foundationId&&!T(U,g.ly,F.ly)){x.current=!0;break}if(x.current)C.current=U,A(g.cy);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&j.foundationId===g.foundationId&&k.set(j.id,j.cy);const N={name:"Set Center Y for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:k,newValue:U,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{N.groupId&&a(z.SolarPanel,N.groupId,N.newValue)}};s(N),a(z.SolarPanel,g.foundationId,U),f(d+1)}}break;default:const W=i(g.id),B=W?W.cy:g.cy;if(x.current=!T(U,g.ly,F.ly),x.current)C.current=U,A(B);else{const k={name:"Set Solar Panel Center Y",timestamp:Date.now(),oldValue:B,newValue:U,changedElementId:g.id,changedElementType:g.type,undo:()=>{r(k.changedElementId,k.oldValue)},redo:()=>{r(k.changedElementId,k.newValue)}};s(k),r(g.id,U),f(d+1)}}e(W=>{W.actionState.solarPanelCy=U})}},R=()=>{x.current=!1,t(!1)},H=()=>{R(),p()},D=()=>{P(y),x.current||(t(!1),f(0))},E=()=>{P(y)},L=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("solarCollectorMenu.RelativeYCoordinateOfCenter",b),rejectedMessage:L,onApply:E,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-.5,max:.5,style:{width:120},step:.01,precision:2,value:y,onChange:U=>{U!==null&&A(U)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [-0.5, 0.5]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},ouo=t=>{const e=[];if(t.type!==z.SolarPanel)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=be.isIdentical(n.normal,o0);return e.push({key:"solar-panel-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"solar-panel-cut",label:h.jsx(Tf,{})}),e.push({key:"solar-panel-lock",label:h.jsx(Md,{selectedElement:n})}),o&&(e.push({key:"solar-panel-model-change",label:h.jsxs(io,{Dialog:_0o,children:[O.t("solarPanelMenu.ChangePvModel",i)," (",n.pvModelName,") ..."]})},{key:"solar-panel-orientation",label:h.jsxs(io,{Dialog:V0o,children:[O.t("solarPanelMenu.Orientation",i)," ..."]})},{key:"solar-panel-length",label:h.jsxs(io,{Dialog:G0o,children:[O.t("word.Length",i)," ..."]})},{key:"solar-panel-width",label:h.jsxs(io,{Dialog:X0o,children:[O.t("word.Width",i)," ..."]})}),e.push({key:"solar-panel-coordinates-submenu",label:h.jsx(tn,{children:O.t("solarCollectorMenu.Coordinates",i)}),children:[{key:"solar-panel-center-x",label:h.jsxs(io,{Dialog:tuo,children:[O.t("solarCollectorMenu.RelativeXCoordinateOfCenter",i)," ..."]})},{key:"solar-panel-center-y",label:h.jsxs(io,{Dialog:nuo,children:[O.t("solarCollectorMenu.RelativeYCoordinateOfCenter",i)," ..."]})}]}),n.parentType===z.Wall&&e.push({key:"solar-panel-tilt-angle-on-wall",label:h.jsxs(io,{Dialog:JRe,children:[O.t("solarPanelMenu.TiltAngle",i)," ..."]})}),r&&(n.trackerType===Ma.NO_TRACKER&&e.push({key:"solar-panel-tilt-angle",label:h.jsxs(io,{Dialog:JRe,children:[O.t("solarPanelMenu.TiltAngle",i)," ..."]})}),e.push({key:"solar-panel-relative-azimuth",label:h.jsxs(io,{Dialog:q0o,children:[O.t("solarCollectorMenu.RelativeAzimuth",i)," ..."]})}),n.parentType!==z.Roof&&e.push({key:"solar-panel-tracker",label:h.jsxs(io,{Dialog:$0o,children:[O.t("solarPanelMenu.Tracker",i)," ..."]})})),e.push({key:"solar-panel-frame-color",label:h.jsxs(io,{Dialog:Q0o,children:[O.t("solarPanelMenu.FrameColor",i)," ..."]})}),e.push({key:"solar-panel-draw-sun-beam",label:h.jsx(Pye,{solarCollector:n})}),e.push({key:"solar-panel-electrical-submenu",label:h.jsx(tn,{children:O.t("solarPanelMenu.ElectricalProperties",i)}),children:[{key:"solar-panel-inverter-efficiency",label:h.jsxs(io,{Dialog:J0o,children:[O.t("solarPanelMenu.InverterEfficiency",i)," ..."]})},{key:"solar-panel-dc-ac-ratio",label:h.jsxs(io,{Dialog:K0o,children:[O.t("solarPanelMenu.DcToAcSizeRatio",i)," ..."]})}]}),e.push({key:"solar-panel-pole-submenu",label:h.jsx(tn,{children:O.t("solarCollectorMenu.Pole",i)}),children:[{key:"solar-panel-pole-height",label:h.jsxs(io,{noPadding:!0,Dialog:Z0o,children:[O.t("solarCollectorMenu.PoleHeight",i)," ..."]})},{key:"solar-panel-pole-spacing",label:h.jsxs(io,{noPadding:!0,Dialog:euo,children:[O.t("solarPanelMenu.PoleSpacing",i)," ..."]})}]}),e.push({key:"solar-panel-label",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",i)}),children:vA(n)})),{items:e}},iuo=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(R7),i=M(bq),r=M(tW),a=M(rr),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=M(ca),p=co(z.ParabolicTrough),[g,y]=m.useState((p==null?void 0:p.ly)??9),A=m.useRef(!1),x=m.useRef(),C=Kt(),b=F=>{c(F.target.value)},v=(F,W)=>{const B=a(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.ly=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},S=(F,W)=>!v(F,W),w=F=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const W of e)if(W.type===z.ParabolicTrough&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of e)if(W.type===z.ParabolicTrough&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of e)if(W.type===z.ParabolicTrough&&W.foundationId===(p==null?void 0:p.foundationId)&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;default:if(Math.abs((p==null?void 0:p.ly)-F)>kt)return!0}return!1}},T=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicTrough&&!k.locked&&F.has(k.id)&&(k.ly=W)})},P=F=>{if(p&&w(F))switch(x.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{A.current=!1;for(const k of e)if(k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.ly);const N={name:"Set Length for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{T(N.oldValues,N.newValue)}};l(N),T(k,F),d(u+1)}break}case ue.AllObjectsOfThisType:{A.current=!1;for(const k of e)if(k.type===z.ParabolicTrough&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.ParabolicTrough&&k.set(j.id,j.ly);const N={name:"Set Length for All Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{r(z.ParabolicTrough,N.newValue)}};l(N),r(z.ParabolicTrough,F),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){A.current=!1;for(const k of e)if(k.type===z.ParabolicTrough&&k.foundationId===p.foundationId&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.ParabolicTrough&&j.foundationId===p.foundationId&&k.set(j.id,j.ly);const N={name:"Set Length for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:p.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{N.groupId&&i(z.ParabolicTrough,N.groupId,N.newValue)}};l(N),i(z.ParabolicTrough,p.foundationId,F),d(u+1)}}break;default:const W=n(p.id),B=W?W.ly:p.ly;if(A.current=S(p,F),A.current)x.current=F,y(B);else{const k={name:"Set Parabolic Trough Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:p.id,changedElementType:p.type,undo:()=>{o(k.changedElementId,k.oldValue)},redo:()=>{o(k.changedElementId,k.newValue)}};l(k),o(p.id,F),d(u+1)}}},R=()=>{A.current=!1,t(!1)},H=()=>{R(),f()},D=()=>{P(g),A.current||(t(!1),d(0))},E=F=>{if(!p)return 1;let W=F??1;return W=Math.max(1,Math.ceil((W-p.moduleLength/2)/p.moduleLength))*p.moduleLength,W},L=()=>{P(g)};if((p==null?void 0:p.type)!==z.ParabolicTrough)return null;const U=A.current?": "+O.t("message.NotApplicableToSelectedAction",C)+(x.current!==void 0?" ("+x.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Length",C),rejectedMessage:U,onApply:L,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:p.moduleLength,max:100*p.moduleLength,step:p.moduleLength,precision:2,style:{width:120},value:g,onChange:F=>{y(E(F))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("parabolicTroughMenu.ModuleLength",C)+": "+p.moduleLength.toFixed(1)+" "+O.t("word.MeterAbbreviation",C),h.jsx("br",{}),Math.round(g/p.moduleLength)+" "+O.t("parabolicTroughMenu.ModulesLong",C),h.jsx("br",{}),O.t("word.Maximum",C),": 100 ",O.t("parabolicTroughMenu.Modules",C)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",C)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",C)})]})})})]})})},ruo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(t3),r=M(xq),a=M(eW),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[y,A]=m.useState((g==null?void 0:g.lx)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.lx=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.ParabolicTrough&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicTrough&&!k.locked&&F.has(k.id)&&(k.lx=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.lx);const N={name:"Set Width for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&k.set(j.id,j.lx);const N={name:"Set Width for All Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.ParabolicTrough,N.newValue)}};s(N),a(z.ParabolicTrough,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&j.foundationId===g.foundationId&&k.set(j.id,j.lx);const N={name:"Set Width for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.ParabolicTrough,N.groupId,N.newValue)}};s(N),r(z.ParabolicTrough,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.lx:g.lx;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Parabolic Trough Width",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.parabolicTroughWidth=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Width",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,precision:2,style:{width:120},value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 10 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",b)})]})})})]})})},auo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sje),r=M(Tje),a=M(Pje),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[y,A]=m.useState((g==null?void 0:g.moduleLength)??3),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.moduleLength=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.moduleLength-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&Math.abs(W.moduleLength-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.ParabolicTrough&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.moduleLength-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.moduleLength)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicTrough&&!k.locked&&F.has(k.id)&&(k.moduleLength=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for All Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.ParabolicTrough,N.newValue)}};s(N),a(z.ParabolicTrough,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&j.foundationId===g.foundationId&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.ParabolicTrough,N.groupId,N.newValue)}};s(N),r(z.ParabolicTrough,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.moduleLength:g.moduleLength;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Parabolic Trough Module Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.parabolicTroughModuleLength=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicTroughMenu.LatusRectum",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 10 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",b)})]})})})]})})},luo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(vje),r=M(xje),a=M(bje),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[y,A]=m.useState((g==null?void 0:g.latusRectum)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.latusRectum=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.latusRectum-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&Math.abs(W.latusRectum-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.ParabolicTrough&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.latusRectum-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.latusRectum)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicTrough&&!k.locked&&F.has(k.id)&&(k.latusRectum=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for All Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.ParabolicTrough,N.newValue)}};s(N),a(z.ParabolicTrough,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&j.foundationId===g.foundationId&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.ParabolicTrough,N.groupId,N.newValue)}};s(N),r(z.ParabolicTrough,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.latusRectum:g.latusRectum;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Parabolic Trough Latus Rectum",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.parabolicTroughLatusRectum=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicTroughMenu.LatusRectum",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,precision:2,style:{width:120},value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 20 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",b)})]})})})]})})},suo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[y,A]=m.useState((g==null?void 0:g.poleHeight)??1),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=L=>{u(L.target.value)},S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.ParabolicTrough&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.ParabolicTrough&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.ParabolicTrough&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(g)){for(const F of n)if(F.type===z.ParabolicTrough&&F.parentId===g.parentId&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0}break;default:if(Math.abs((g==null?void 0:g.poleHeight)-L)>kt)return!0}return!1}},w=(L,U)=>{M.getState().set(F=>{for(const W of F.elements)W.type===z.ParabolicTrough&&!W.locked&&L.has(W.id)&&(W.tiltAngle=U)})},T=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(W.id)&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{w(B.oldValues,B.newValue)}};s(B),w(W,L),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.ParabolicTrough&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicTrough&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Parabolic Troughs",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{a(z.ParabolicTrough,B.newValue)}};s(B),a(z.ParabolicTrough,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const W of n)if(W.type===z.ParabolicTrough&&W.foundationId===g.foundationId&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicTrough&&k.foundationId===g.foundationId&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:W,newValue:L,groupId:g.foundationId,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{B.groupId&&r(z.ParabolicTrough,B.groupId,B.newValue)}};s(B),r(z.ParabolicTrough,g.foundationId,L),f(d+1)}}break;default:const U=o(g.id),F=U?U.poleHeight:g.poleHeight;if(x.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>L,x.current)C.current=L,A(F);else{const W={name:"Set Parabolic Trough Pole Height",timestamp:Date.now(),oldValue:F,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(W.changedElementId,W.oldValue)},redo:()=>{i(W.changedElementId,W.newValue)}};s(W),i(g.id,L),f(d+1)}}e(U=>{U.actionState.parabolicTroughPoleHeight=L})}},P=()=>{x.current=!1,t(!1)},R=()=>{P(),p()},H=()=>{T(y),x.current||(t(!1),f(0))},D=()=>{T(y)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const E=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",b),rejectedMessage:E,onApply:D,onClose:P,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:y,onChange:L=>{L!==null&&A(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [0, 5] ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",b)})]})})})]})})},cuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sq),r=M(Tq),a=M(Pq),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicTrough&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicTrough&&!R.locked&&w.has(R.id)&&(R.reflectance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicTrough,D.newValue)}};l(D),a(z.ParabolicTrough,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===f.foundationId&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicTrough,D.groupId,D.newValue)}};l(D),r(z.ParabolicTrough,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.reflectance:f.reflectance,R={name:"Set Parabolic Trough Reflectance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicTroughReflectance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",y)})]})})})]})})},uuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(sje),r=M(cje),a=M(uje),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.absorptance)??.95),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.absorptance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&Math.abs(T.absorptance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicTrough&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.absorptance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.absorptance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicTrough&&!R.locked&&w.has(R.id)&&(R.absorptance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for All Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicTrough,D.newValue)}};l(D),a(z.ParabolicTrough,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===f.foundationId&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicTrough,D.groupId,D.newValue)}};l(D),r(z.ParabolicTrough,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.absorptance:f.absorptance,R={name:"Set Parabolic Trough Absorptance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicTroughAbsorptance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",y)})]})})})]})})},duo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(dje),r=M(fje),a=M(hje),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.opticalEfficiency)??.7),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicTrough&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.opticalEfficiency)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicTrough&&!R.locked&&w.has(R.id)&&(R.opticalEfficiency=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for All Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicTrough,D.newValue)}};l(D),a(z.ParabolicTrough,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===f.foundationId&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicTrough,D.groupId,D.newValue)}};l(D),r(z.ParabolicTrough,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.opticalEfficiency:f.opticalEfficiency,R={name:"Set Parabolic Trough Optical Efficiency",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicTroughOpticalEfficiency=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",y)})]})})})]})})},fuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(pje),r=M(gje),a=M(mje),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.thermalEfficiency)??.3),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicTrough&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.thermalEfficiency)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicTrough&&!R.locked&&w.has(R.id)&&(R.thermalEfficiency=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for All Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicTrough,D.newValue)}};l(D),a(z.ParabolicTrough,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===f.foundationId&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicTrough,D.groupId,D.newValue)}};l(D),r(z.ParabolicTrough,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.thermalEfficiency:f.thermalEfficiency,R={name:"Set Parabolic Trough Thermal Efficiency",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicTroughThermalEfficiency=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",y)})]})})})]})})},huo=t=>{const e=[];if(t.type!==z.ParabolicTrough)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"parabolic-trough-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"parabolic-trough-cut",label:h.jsx(Tf,{})}),e.push({key:"parabolic-trough-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"parabolic-trough-length",label:h.jsxs(io,{Dialog:iuo,children:[O.t("word.Length",o)," ..."]})},{key:"parabolic-trough-width",label:h.jsxs(io,{Dialog:ruo,children:[O.t("word.Width",o)," ..."]})},{key:"parabolic-trough-module-length",label:h.jsxs(io,{Dialog:auo,children:[O.t("parabolicTroughMenu.ModuleLength",o)," ..."]})},{key:"parabolic-trough-latus-rectum",label:h.jsxs(io,{Dialog:luo,children:[O.t("parabolicTroughMenu.LatusRectum",o)," ..."]})},{key:"parabolic-trough-pole-height",label:h.jsxs(io,{Dialog:suo,children:[O.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"parabolic-trough-reflectance",label:h.jsxs(io,{Dialog:cuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"parabolic-trough-absorptance",label:h.jsxs(io,{Dialog:uuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",o)," ..."]})},{key:"parabolic-trough-optical-efficiency",label:h.jsxs(io,{Dialog:duo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",o)," ..."]})},{key:"parabolic-trough-thermal-efficiency",label:h.jsxs(io,{Dialog:fuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",o)," ..."]})},{key:"parabolic-dish-draw-sun-beam",label:h.jsx(Pye,{solarCollector:n})},{key:"parabolic-trough-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},puo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(t3),r=M(R7),a=M(xq),l=M(bq),s=M(eW),c=M(tW),u=M(rr),d=M(En),f=M(fA),p=M(hA),g=M(ro),y=M(oo),A=M(ca),x=co(z.ParabolicDish),[C,b]=m.useState((x==null?void 0:x.lx)??2),v=m.useRef(!1),S=m.useRef(),w=Kt(),T=k=>{p(k.target.value)},P=(k,N)=>{const j=u(k);if(j){const Y=JSON.parse(JSON.stringify(k));return Y.lx=N,be.isSolarCollectorWithinHorizontalSurface(Y,j)}return!1},R=(k,N)=>!P(k,N),H=k=>{if(x){switch(f){case ue.AllSelectedObjectsOfThisType:for(const N of n)if(N.type===z.ParabolicDish&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.lx-k)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const N of n)if(N.type===z.ParabolicDish&&!N.locked&&Math.abs(N.lx-k)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const N of n)if(N.type===z.ParabolicDish&&N.foundationId===(x==null?void 0:x.foundationId)&&!N.locked&&Math.abs(N.lx-k)>kt)return!0;break;default:if(Math.abs((x==null?void 0:x.lx)-k)>kt)return!0}return!1}},D=(k,N)=>{M.getState().set(j=>{for(const Y of j.elements)Y.type===z.ParabolicDish&&!Y.locked&&k.has(Y.id)&&(Y.lx=N,Y.ly=N)})},E=k=>{if(x&&H(k)){switch(S.current=void 0,f){case ue.AllSelectedObjectsOfThisType:{v.current=!1;for(const Y of n)if(Y.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(Y.id)&&R(Y,k)){v.current=!0;break}if(v.current)S.current=k,b(x.lx);else{const Y=new Map;for(const J of n)J.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(J.id)&&Y.set(J.id,J.lx);const _={name:"Set Diameter for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:Y,newValue:k,undo:()=>{for(const[J,Q]of _.oldValues.entries())i(J,Q),r(J,Q)},redo:()=>{D(_.oldValues,_.newValue)}};d(_),D(Y,k),y(g+1)}break}case ue.AllObjectsOfThisType:{v.current=!1;for(const Y of n)if(Y.type===z.ParabolicDish&&R(Y,k)){v.current=!0;break}if(v.current)S.current=k,b(x.lx);else{const Y=new Map;for(const J of n)J.type===z.ParabolicDish&&Y.set(J.id,J.lx);const _={name:"Set Diameter for All Parabolic Dishes",timestamp:Date.now(),oldValues:Y,newValue:k,undo:()=>{for(const[J,Q]of _.oldValues.entries())i(J,Q),r(J,Q)},redo:()=>{s(z.ParabolicDish,_.newValue),c(z.ParabolicDish,_.newValue)}};d(_),s(z.ParabolicDish,k),c(z.ParabolicDish,k),y(g+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(x.foundationId){v.current=!1;for(const Y of n)if(Y.type===z.ParabolicDish&&Y.foundationId===x.foundationId&&R(Y,k)){v.current=!0;break}if(v.current)S.current=k,b(x.lx);else{const Y=new Map;for(const J of n)J.type===z.ParabolicDish&&J.foundationId===x.foundationId&&Y.set(J.id,J.lx);const _={name:"Set Diameter for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:Y,newValue:k,groupId:x.foundationId,undo:()=>{for(const[J,Q]of _.oldValues.entries())i(J,Q),r(J,Q)},redo:()=>{_.groupId&&(a(z.ParabolicDish,_.groupId,_.newValue),l(z.ParabolicDish,_.groupId,_.newValue))}};d(_),a(z.ParabolicDish,x.foundationId,k),l(z.ParabolicDish,x.foundationId,k),y(g+1)}}break;default:const N=o(x.id),j=N?N.lx:x.lx;if(v.current=R(x,k),v.current)S.current=k,b(j);else{const Y={name:"Set Parabolic Dish Diameter",timestamp:Date.now(),oldValue:j,newValue:k,changedElementId:x.id,changedElementType:x.type,undo:()=>{i(Y.changedElementId,Y.oldValue),r(Y.changedElementId,Y.oldValue)},redo:()=>{i(Y.changedElementId,Y.newValue),r(Y.changedElementId,Y.newValue)}};d(Y),i(x.id,k),r(x.id,k),y(g+1)}}e(N=>{N.actionState.parabolicDishRimDiameter=k})}},L=()=>{v.current=!1,t(!1)},U=()=>{L(),A()},F=()=>{E(C),v.current||(t(!1),y(0))},W=()=>{E(C)};if((x==null?void 0:x.type)!==z.ParabolicDish)return null;const B=v.current?": "+O.t("message.NotApplicableToSelectedAction",w)+(S.current!==void 0?" ("+S.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicDishMenu.RimDiameter",w),rejectedMessage:B,onApply:W,onClose:L,onClickCancel:U,onClickOk:F,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,precision:2,style:{width:120},value:C,onChange:k=>{k!==null&&b(k)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",w),": 1 ",O.t("word.MeterAbbreviation",w),h.jsx("br",{}),O.t("word.MaximumValue",w),": 10 ",O.t("word.MeterAbbreviation",w)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",w)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T,value:f,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",w)})]})})})]})})},guo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(vje),r=M(xje),a=M(bje),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicDish),[y,A]=m.useState((g==null?void 0:g.latusRectum)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.latusRectum=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicDish&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.latusRectum-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicDish&&!W.locked&&Math.abs(W.latusRectum-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.ParabolicDish&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.latusRectum-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.latusRectum)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicDish&&!k.locked&&F.has(k.id)&&(k.latusRectum=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicDish&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicDish&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for All Parabolic Dishes",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.ParabolicDish,N.newValue)}};s(N),a(z.ParabolicDish,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.ParabolicDish&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicDish&&j.foundationId===g.foundationId&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.ParabolicDish,N.groupId,N.newValue)}};s(N),r(z.ParabolicDish,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.latusRectum:g.latusRectum;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Parabolic Dish Latus Rectum",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.parabolicDishLatusRectum=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.ParabolicDish)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicDishMenu.LatusRectum",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 20 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",b)})]})})})]})})},muo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(fA),a=M(hA),l=M(ro),s=M(oo),c=co(z.ParabolicDish),[u,d]=m.useState((c==null?void 0:c.structureType)??ef.CentralPole),f=Kt(),{Option:p}=Yo,g=(T,P)=>{e(R=>{for(const H of R.elements)if(H.id===T&&!H.locked&&H.type===z.ParabolicDish){H.structureType=P;break}})},y=(T,P)=>{e(R=>{for(const H of R.elements)H.foundationId===T&&!H.locked&&H.type===z.ParabolicDish&&(H.structureType=P)})},A=T=>{e(P=>{for(const R of P.elements)R.locked||R.type===z.ParabolicDish&&(R.structureType=T)})},x=T=>{a(T.target.value)},C=T=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.ParabolicDish&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&P.structureType!==T)return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.ParabolicDish&&!P.locked&&P.structureType!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.ParabolicDish&&P.foundationId===(c==null?void 0:c.foundationId)&&!P.locked&&P.structureType!==T)return!0;break;default:if((c==null?void 0:c.structureType)!==T)return!0}return!1},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.ParabolicDish&&!H.locked&&T.has(H.id)&&(H.structureType=P)})},v=T=>{if(c&&C(T)){switch(r){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.structureType);const E={name:"Set Structure Type for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())g(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};i(E),b(D,T),s(l+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.ParabolicDish&&D.set(L.id,L.structureType);const E={name:"Set Structure Type for All Parabolic Dishes",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())g(L,U)},redo:()=>{A(E.newValue)}};i(E),A(T),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const D=new Map;for(const L of n)L.type===z.ParabolicDish&&L.foundationId===c.foundationId&&D.set(L.id,L.structureType);const E={name:"Set Structure Type for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:c.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())g(L,U)},redo:()=>{E.groupId&&y(E.groupId,E.newValue)}};i(E),y(c.foundationId,T),s(l+1)}break;default:const P=o(c.id),R=P?P.structureType:c.structureType,H={name:"Set Parabolic Dish Structure Type",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(H.changedElementId,H.oldValue)},redo:()=>{g(H.changedElementId,H.newValue)}};i(H),g(c.id,T),s(l+1)}e(P=>{P.actionState.parabolicDishReceiverStructure=T})}},S=()=>{t(!1)},w=()=>{v(u)};return(c==null?void 0:c.type)!==z.ParabolicDish?null:h.jsx(lo,{width:640,title:O.t("parabolicDishMenu.ReceiverStructure",f),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:8,children:h.jsxs(Yo,{value:u,onChange:T=>d(T),children:[h.jsx(p,{value:ef.CentralPole,children:O.t("parabolicDishMenu.CentralPole",f)},ef.CentralPole),h.jsx(p,{value:ef.CentralPoleWithTripod,children:O.t("parabolicDishMenu.CentralPoleWithTripod",f)},ef.CentralPoleWithTripod),h.jsx(p,{value:ef.Quadrupod,children:O.t("parabolicDishMenu.Quadrupod",f)},ef.Quadrupod)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:x,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",f)})]})})})]})})},yuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicDish),[y,A]=m.useState((g==null?void 0:g.poleHeight)??1),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=L=>{u(L.target.value)},S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.ParabolicDish&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.ParabolicDish&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.ParabolicDish&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(g)){for(const F of n)if(F.type===z.ParabolicDish&&F.parentId===g.parentId&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0}break;default:if(Math.abs((g==null?void 0:g.poleHeight)-L)>kt)return!0}return!1}},w=(L,U)=>{M.getState().set(F=>{for(const W of F.elements)W.type===z.ParabolicDish&&!W.locked&&L.has(W.id)&&(W.tiltAngle=U)})},T=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(W.id)&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(k.id)&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{w(B.oldValues,B.newValue)}};s(B),w(W,L),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.ParabolicDish&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicDish&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Parabolic Dishes",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{a(z.ParabolicDish,B.newValue)}};s(B),a(z.ParabolicDish,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const W of n)if(W.type===z.ParabolicDish&&W.foundationId===g.foundationId&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicDish&&k.foundationId===g.foundationId&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:W,newValue:L,groupId:g.foundationId,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{B.groupId&&r(z.ParabolicDish,B.groupId,B.newValue)}};s(B),r(z.ParabolicDish,g.foundationId,L),f(d+1)}}break;default:const U=o(g.id),F=U?U.poleHeight:g.poleHeight;if(x.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>L,x.current)C.current=L,A(F);else{const W={name:"Set Parabolic Dish Pole Height",timestamp:Date.now(),oldValue:F,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(W.changedElementId,W.oldValue)},redo:()=>{i(W.changedElementId,W.newValue)}};s(W),i(g.id,L),f(d+1)}}e(U=>{U.actionState.parabolicDishPoleHeight=L})}},P=()=>{x.current=!1,t(!1)},R=()=>{P(),p()},H=()=>{T(y),x.current||(t(!1),f(0))},D=()=>{T(y)};if((g==null?void 0:g.type)!==z.ParabolicDish)return null;const E=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicDishMenu.ExtraPoleHeightInAdditionToRadius",b),rejectedMessage:E,onApply:D,onClose:P,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:y,onChange:L=>{L!==null&&A(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [0, 5] ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",b)})]})})})]})})},Auo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rje),r=M(aje),a=M(lje),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ro),f=M(oo),p=co(z.ParabolicDish),[g,y]=m.useState((p==null?void 0:p.poleRadius)??.1),A=Kt(),x=T=>{u(T.target.value)},C=T=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const R of n)if(R.type===z.ParabolicDish&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const R of n)if(R.type===z.ParabolicDish&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of n)if(R.type===z.ParabolicDish&&R.foundationId===(p==null?void 0:p.foundationId)&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(p)){for(const R of n)if(R.type===z.ParabolicDish&&R.parentId===p.parentId&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0}break;default:if(Math.abs((p==null?void 0:p.poleRadius)-T)>kt)return!0}return!1}},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.ParabolicDish&&!H.locked&&T.has(H.id)&&(H.poleRadius=P)})},v=T=>{if(p&&C(T)){switch(c){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};s(E),b(D,T),f(d+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.ParabolicDish&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for All Parabolic Dishes",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{a(z.ParabolicDish,E.newValue)}};s(E),a(z.ParabolicDish,T),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){const D=new Map;for(const L of n)L.type===z.ParabolicDish&&L.foundationId===p.foundationId&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:p.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{E.groupId&&r(z.ParabolicDish,E.groupId,E.newValue)}};s(E),r(z.ParabolicDish,p.foundationId,T),f(d+1)}break;default:const P=o(p.id),R=P?P.poleRadius:p.poleRadius,H={name:"Set Parabolic Dish Pole Radius",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,T),f(d+1)}e(P=>{P.actionState.parabolicDishPoleRadius=T})}},S=()=>{t(!1)},w=()=>{v(g)};return(p==null?void 0:p.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.PoleRadius",A),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:.5,style:{width:120},step:.01,precision:2,value:g,onChange:T=>{T!==null&&y(T)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",A),": [0.1, 0.5] ",O.t("word.MeterAbbreviation",A)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",A)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:x,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},wuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sq),r=M(Tq),a=M(Pq),l=M(En),s=M(fA),c=M(hA),u=M(ro),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicDish&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicDish&&!R.locked&&w.has(R.id)&&(R.reflectance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicDish,D.newValue)}};l(D),a(z.ParabolicDish,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===f.foundationId&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicDish,D.groupId,D.newValue)}};l(D),r(z.ParabolicDish,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.reflectance:f.reflectance,R={name:"Set Parabolic Dish Reflectance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicDishReflectance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},vuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(sje),r=M(cje),a=M(uje),l=M(En),s=M(fA),c=M(hA),u=M(ro),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.absorptance)??.95),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.absorptance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&Math.abs(T.absorptance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicDish&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.absorptance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.absorptance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicDish&&!R.locked&&w.has(R.id)&&(R.absorptance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for All Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicDish,D.newValue)}};l(D),a(z.ParabolicDish,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===f.foundationId&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicDish,D.groupId,D.newValue)}};l(D),r(z.ParabolicDish,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.absorptance:f.absorptance,R={name:"Set Parabolic Dish Absorptance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicDishAbsorptance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},xuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(dje),r=M(fje),a=M(hje),l=M(En),s=M(fA),c=M(hA),u=M(ro),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.opticalEfficiency)??.7),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicDish&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.opticalEfficiency)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicDish&&!R.locked&&w.has(R.id)&&(R.opticalEfficiency=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for All Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicDish,D.newValue)}};l(D),a(z.ParabolicDish,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===f.foundationId&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicDish,D.groupId,D.newValue)}};l(D),r(z.ParabolicDish,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.opticalEfficiency:f.opticalEfficiency,R={name:"Set Parabolic Dish Optical Efficiency",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicDishOpticalEfficiency=w})}},v=()=>{t(!1)},S=()=>{b(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},buo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(pje),r=M(gje),a=M(mje),l=M(En),s=M(fA),c=M(hA),u=M(ro),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.thermalEfficiency)??.3),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicDish&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.thermalEfficiency)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicDish&&!R.locked&&w.has(R.id)&&(R.thermalEfficiency=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for All Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicDish,D.newValue)}};l(D),a(z.ParabolicDish,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===f.foundationId&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicDish,D.groupId,D.newValue)}};l(D),r(z.ParabolicDish,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.thermalEfficiency:f.thermalEfficiency,R={name:"Set Parabolic Dish Thermal Efficiency",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicDishThermalEfficiency=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},Suo=t=>{const e=[];if(t.type!==z.ParabolicDish)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"parabolic-dish-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"parabolic-dish-cut",label:h.jsx(Tf,{})}),e.push({key:"parabolic-dish-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"parabolic-dish-radius",label:h.jsxs(io,{Dialog:puo,children:[O.t("parabolicDishMenu.RimDiameter",o)," ..."]})},{key:"parabolic-dish-latus-rectum",label:h.jsxs(io,{Dialog:guo,children:[O.t("parabolicDishMenu.LatusRectum",o)," ..."]})},{key:"parabolic-dish-structure-type",label:h.jsxs(io,{Dialog:muo,children:[O.t("parabolicDishMenu.ReceiverStructure",o)," ..."]})},{key:"parabolic-dish-pole-height",label:h.jsxs(io,{Dialog:yuo,children:[O.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"parabolic-dish-pole-radius",label:h.jsxs(io,{Dialog:Auo,children:[O.t("solarCollectorMenu.PoleRadius",o)," ..."]})},{key:"parabolic-dish-reflectance",label:h.jsxs(io,{Dialog:wuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"parabolic-dish-absorptance",label:h.jsxs(io,{Dialog:vuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",o)," ..."]})},{key:"parabolic-dish-optical-efficiency",label:h.jsxs(io,{Dialog:xuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",o)," ..."]})},{key:"parabolic-dish-thermal-efficiency",label:h.jsxs(io,{Dialog:buo,children:[O.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",o)," ..."]})},{key:"parabolic-dish-draw-sun-beam",label:h.jsx(Pye,{solarCollector:n})},{key:"parabolic-dish-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},Tuo=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(nje),i=M(oje),r=M(ije),a=M(En),l=M(bb),s=M(Sb),c=M(ro),u=M(oo),d=co(z.FresnelReflector),[f,p]=m.useState(!!(d!=null&&d.drawSunBeam)),g=Kt(),y=S=>{s(S.target.value)},A=S=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.FresnelReflector&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&w.drawSunBeam!==S)return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.FresnelReflector&&!w.locked&&w.drawSunBeam!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.FresnelReflector&&w.foundationId===(d==null?void 0:d.foundationId)&&!w.locked&&w.drawSunBeam!==S)return!0;break;default:if((d==null?void 0:d.drawSunBeam)!==S)return!0}return!1},x=(S,w)=>{M.getState().set(T=>{for(const P of T.elements)be.isSolarCollectorType(P.type)&&!P.locked&&P.type===z.FresnelReflector&&S.has(P.id)&&(P.drawSunBeam=w)})},C=S=>{if(d&&A(S))switch(l){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{x(H.oldValues,H.newValue)}};a(H),x(R,S),u(c+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.FresnelReflector&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for All Fresnel Reflectors",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{r(z.FresnelReflector,H.newValue)}};a(H),r(z.FresnelReflector,S),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(d.foundationId){const R=new Map;for(const D of e)D.type===z.FresnelReflector&&D.foundationId===d.foundationId&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:R,newValue:S,groupId:d.foundationId,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{H.groupId&&i(z.FresnelReflector,H.groupId,H.newValue)}};a(H),i(z.FresnelReflector,d.foundationId,S),u(c+1)}break;default:const w=n(d.id),T=w?w.drawSunBeam:d.drawSunBeam,P={name:"Draw Sun Beam for Fresnel Reflector",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:d.id,changedElementType:d.type,undo:()=>{o(P.changedElementId,P.oldValue)},redo:()=>{o(P.changedElementId,P.newValue)}};a(P),o(d.id,S),u(c+1)}},b=()=>{t(!1)},v=()=>{C(f)};return(d==null?void 0:d.type)!==z.FresnelReflector?null:h.jsx(lo,{width:500,title:O.t("solarCollectorMenu.DrawSunBeam",g),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:f,onChange:S=>{p(S)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:y,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",g)})]})})})]})})},{Option:Puo}=Yo,Cuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(yje),r=M(Aje),a=M(wje),l=M(En),s=M(bb),c=M(Sb),u=M(ro),d=M(oo),f=co(z.FresnelReflector),[p,g]=m.useState((f==null?void 0:f.receiverId)??"None"),y=Kt(),A=m.useMemo(()=>{const T=[];for(const P of n)if(P.type===z.Foundation){const R=P;R.solarStructure===zn.FocusPipe&&T.push(R.id)}return T},[n]);m.useEffect(()=>{if(g("None"),f)if(f.receiverId)g(f.receiverId);else{const T=o(f.parentId);T&&T.type===z.Foundation&&T.solarStructure===zn.FocusPipe&&g(T.id)}},[f]);const x=T=>{c(T.target.value)},C=T=>{switch(s){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.FresnelReflector&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&P.receiverId!==T)return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.FresnelReflector&&!P.locked&&P.receiverId!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.FresnelReflector&&P.foundationId===(f==null?void 0:f.foundationId)&&!P.locked&&P.receiverId!==T)return!0;break;default:if((f==null?void 0:f.receiverId)!==T)return!0}return!1},b=(T,P)=>{e(R=>{for(const H of R.elements)be.isHeliostatOrFresnelReflector(H.type)&&!H.locked&&T.has(H.id)&&(H.type===z.Heliostat?H.towerId=P:H.type===z.FresnelReflector&&(H.receiverId=P))})},v=T=>{if(f&&C(T)){switch(s){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.receiverId);const E={name:"Set Receiver for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};l(E),b(D,T),d(u+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.FresnelReflector&&D.set(L.id,L.receiverId);const E={name:"Set Receiver for All Fresnel Reflectors",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{a(z.FresnelReflector,E.newValue)}};l(E),a(z.FresnelReflector,T),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const D=new Map;for(const L of n)L.type===z.FresnelReflector&&L.foundationId===f.foundationId&&D.set(L.id,L.receiverId);const E={name:"Set Receiver for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:f.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{E.groupId&&r(z.FresnelReflector,E.groupId,E.newValue)}};l(E),r(z.FresnelReflector,f.foundationId,T),d(u+1)}break;default:const P=o(f.id),R=P?P.receiverId:f.receiverId,H={name:"Set Receiver for Fresnel Reflector",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};l(H),i(f.id,T),d(u+1)}e(P=>{P.actionState.fresnelReflectorReceiver=T})}},S=()=>{t(!1)},w=()=>{p&&v(p)};return(f==null?void 0:f.type)!==z.FresnelReflector?null:h.jsx(lo,{width:640,title:O.t("fresnelReflectorMenu.SelectAbsorberToReflectSunlightTo",y),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsx(Yo,{style:{width:"160px"},value:p,onChange:T=>{g(T)},children:A.map((T,P)=>h.jsx(Puo,{value:T,children:O.t("fresnelReflectorMenu.AbsorberPipe",y)+" "+(P+1)},P))})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:x,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",y)})]})})})]})})},Ruo=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(R7),i=M(bq),r=M(tW),a=M(rr),l=M(En),s=M(bb),c=M(Sb),u=M(ro),d=M(oo),f=M(ca),p=co(z.FresnelReflector),[g,y]=m.useState((p==null?void 0:p.ly)??9),A=m.useRef(!1),x=m.useRef(),C=Kt(),b=F=>{c(F.target.value)},v=(F,W)=>{const B=a(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.ly=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},S=(F,W)=>!v(F,W),w=F=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const W of e)if(W.type===z.FresnelReflector&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of e)if(W.type===z.FresnelReflector&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of e)if(W.type===z.FresnelReflector&&W.foundationId===(p==null?void 0:p.foundationId)&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;default:if(Math.abs((p==null?void 0:p.ly)-F)>kt)return!0}return!1}},T=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.FresnelReflector&&!k.locked&&F.has(k.id)&&(k.ly=W)})},P=F=>{if(p&&w(F))switch(x.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{A.current=!1;for(const k of e)if(k.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(k.id)&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.ly);const N={name:"Set Length for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{T(N.oldValues,N.newValue)}};l(N),T(k,F),d(u+1)}break}case ue.AllObjectsOfThisType:{A.current=!1;for(const k of e)if(k.type===z.FresnelReflector&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.FresnelReflector&&k.set(j.id,j.ly);const N={name:"Set Length for All Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{r(z.FresnelReflector,N.newValue)}};l(N),r(z.FresnelReflector,F),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){A.current=!1;for(const k of e)if(k.type===z.FresnelReflector&&k.foundationId===p.foundationId&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.FresnelReflector&&j.foundationId===p.foundationId&&k.set(j.id,j.ly);const N={name:"Set Length for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:p.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{N.groupId&&i(z.FresnelReflector,N.groupId,N.newValue)}};l(N),i(z.FresnelReflector,p.foundationId,F),d(u+1)}}break;default:const W=n(p.id),B=W?W.ly:p.ly;if(A.current=S(p,F),A.current)x.current=F,y(B);else{const k={name:"Set Fresnel Reflector Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:p.id,changedElementType:p.type,undo:()=>{o(k.changedElementId,k.oldValue)},redo:()=>{o(k.changedElementId,k.newValue)}};l(k),o(p.id,F),d(u+1)}}},R=()=>{A.current=!1,t(!1)},H=()=>{R(),f()},D=()=>{P(g),A.current||(t(!1),d(0))},E=F=>{if(!p)return 1;let W=F??1;return W=Math.max(1,Math.ceil((W-p.moduleLength/2)/p.moduleLength))*p.moduleLength,W},L=()=>{P(g)};if((p==null?void 0:p.type)!==z.FresnelReflector)return null;const U=A.current?": "+O.t("message.NotApplicableToSelectedAction",C)+(x.current!==void 0?" ("+x.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Length",C),rejectedMessage:U,onApply:L,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:p.moduleLength,max:200*p.moduleLength,step:p.moduleLength,style:{width:120},precision:2,value:g,onChange:F=>{F!==null&&y(E(F))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("fresnelReflectorMenu.ModuleLength",C)+": "+p.moduleLength.toFixed(1)+" "+O.t("word.MeterAbbreviation",C),h.jsx("br",{}),Math.round(g/p.moduleLength)+" "+O.t("fresnelReflectorMenu.ModulesLong",C),h.jsx("br",{}),O.t("word.Maximum",C),": 200 ",O.t("fresnelReflectorMenu.Modules",C)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",C)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",C)})]})})})]})})},Huo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(t3),r=M(xq),a=M(eW),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ro),f=M(oo),p=M(ca),g=co(z.FresnelReflector),[y,A]=m.useState((g==null?void 0:g.lx)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.lx=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.FresnelReflector&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.FresnelReflector&&!k.locked&&F.has(k.id)&&(k.lx=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.lx);const N={name:"Set Width for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&k.set(j.id,j.lx);const N={name:"Set Width for All Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.FresnelReflector,N.newValue)}};s(N),a(z.FresnelReflector,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&j.foundationId===g.foundationId&&k.set(j.id,j.lx);const N={name:"Set Width for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.FresnelReflector,N.groupId,N.newValue)}};s(N),r(z.FresnelReflector,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.lx:g.lx;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Fresnel Reflector Width",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.fresnelReflectorWidth=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Width",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 10 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",b)})]})})})]})})},Muo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sje),r=M(Tje),a=M(Pje),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ro),f=M(oo),p=M(ca),g=co(z.FresnelReflector),[y,A]=m.useState((g==null?void 0:g.moduleLength)??3),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.moduleLength=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.moduleLength-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&Math.abs(W.moduleLength-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.FresnelReflector&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.moduleLength-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.moduleLength)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.FresnelReflector&&!k.locked&&F.has(k.id)&&(k.moduleLength=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for All Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.FresnelReflector,N.newValue)}};s(N),a(z.FresnelReflector,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&j.foundationId===g.foundationId&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.FresnelReflector,N.groupId,N.newValue)}};s(N),r(z.FresnelReflector,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.moduleLength:g.moduleLength;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Fresnel Reflector Module Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.fresnelReflectorModuleLength=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("fresnelReflectorMenu.ModuleLength",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 10 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",b)})]})})})]})})},Iuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ro),f=M(oo),p=M(ca),g=co(z.FresnelReflector),[y,A]=m.useState((g==null?void 0:g.poleHeight)??1),x=m.useRef(!1),C=m.useRef(),b=m.useRef((g==null?void 0:g.poleHeight)??1),v=Kt(),S=U=>{u(U.target.value)},w=U=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.FresnelReflector&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(g)){for(const W of n)if(W.type===z.FresnelReflector&&W.parentId===g.parentId&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0}break;default:if(Math.abs((g==null?void 0:g.poleHeight)-U)>kt)return!0}return!1}},T=(U,F)=>{M.getState().set(W=>{for(const B of W.elements)B.type===z.FresnelReflector&&!B.locked&&U.has(B.id)&&(B.poleHeight=F)})},P=U=>{if(g&&w(U)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const B of n)if(B.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(B.id)&&.5*B.ly*Math.abs(Math.sin(B.tiltAngle))>U){x.current=!0;break}if(x.current)C.current=U,b.current=g.poleHeight;else{const B=new Map;for(const N of n)N.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(N.id)&&B.set(N.id,N.poleHeight);const k={name:"Set Pole Height for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:B,newValue:U,undo:()=>{for(const[N,j]of k.oldValues.entries())i(N,j)},redo:()=>{T(k.oldValues,k.newValue)}};s(k),T(B,U),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const B of n)if(B.type===z.FresnelReflector&&.5*B.ly*Math.abs(Math.sin(B.tiltAngle))>U){x.current=!0;break}if(x.current)C.current=U,b.current=g.poleHeight;else{const B=new Map;for(const N of n)N.type===z.FresnelReflector&&B.set(N.id,N.poleHeight);const k={name:"Set Pole Height for All Fresnel Reflectors",timestamp:Date.now(),oldValues:B,newValue:U,undo:()=>{for(const[N,j]of k.oldValues.entries())i(N,j)},redo:()=>{a(z.FresnelReflector,k.newValue)}};s(k),a(z.FresnelReflector,U),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const B of n)if(B.type===z.FresnelReflector&&B.foundationId===g.foundationId&&.5*B.ly*Math.abs(Math.sin(B.tiltAngle))>U){x.current=!0;break}if(x.current)C.current=U,b.current=g.poleHeight;else{const B=new Map;for(const N of n)N.type===z.FresnelReflector&&N.foundationId===g.foundationId&&B.set(N.id,N.poleHeight);const k={name:"Set Pole Height for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:B,newValue:U,groupId:g.foundationId,undo:()=>{for(const[N,j]of k.oldValues.entries())i(N,j)},redo:()=>{k.groupId&&r(z.FresnelReflector,k.groupId,k.newValue)}};s(k),r(z.FresnelReflector,g.foundationId,U),f(d+1)}}break;default:const F=o(g.id),W=F?F.poleHeight:g.poleHeight;if(x.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>U,x.current)C.current=U,b.current=W;else{const B={name:"Set Fresnel Reflector Pole Height",timestamp:Date.now(),oldValue:W,newValue:U,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(B.changedElementId,B.oldValue)},redo:()=>{i(B.changedElementId,B.newValue)}};s(B),i(g.id,U),f(d+1)}}e(F=>{F.actionState.fresnelReflectorPoleHeight=U})}},R=()=>{t(!1)},H=()=>{R(),p()},D=()=>{P(y),x.current||(t(!1),f(0))},E=()=>{P(y)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const L=x.current?": "+O.t("message.NotApplicableToSelectedAction",v)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",v),rejectedMessage:L,onApply:E,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:y,onChange:U=>{U!==null&&A(U)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",v),": [0, 5] ",O.t("word.MeterAbbreviation",v)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",v)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",v)})]})})})]})})},zuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sq),r=M(Tq),a=M(Pq),l=M(En),s=M(bb),c=M(Sb),u=M(ro),d=M(oo),f=co(z.FresnelReflector),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.FresnelReflector&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.FresnelReflector&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.FresnelReflector&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.FresnelReflector&&!R.locked&&w.has(R.id)&&(R.reflectance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.FresnelReflector&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Fresnel Reflectors",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.FresnelReflector,D.newValue)}};l(D),a(z.FresnelReflector,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.FresnelReflector&&E.foundationId===f.foundationId&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.FresnelReflector,D.groupId,D.newValue)}};l(D),r(z.FresnelReflector,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.reflectance:f.reflectance,R={name:"Set Fresnel Reflector Reflectance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.fresnelReflectorReflectance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.FresnelReflector?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,value:p,step:.01,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",y)})]})})})]})})},Duo=t=>{const e=[];if(t.type!==z.FresnelReflector)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"fresnel-reflector-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"fresnel-reflector-cut",label:h.jsx(Tf,{})}),e.push({key:"fresnel-reflector-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"fresnel-reflector-receiver",label:h.jsxs(io,{Dialog:Cuo,children:[O.t("fresnelReflectorMenu.SelectAbsorberToReflectSunlightTo",o)," ..."]})},{key:"fresnel-reflector-length",label:h.jsxs(io,{Dialog:Ruo,children:[O.t("word.Length",o)," ..."]})},{key:"fresnel-reflector-width",label:h.jsxs(io,{Dialog:Huo,children:[O.t("word.Width",o)," ..."]})},{key:"fresnel-reflector-module-length",label:h.jsxs(io,{Dialog:Muo,children:[O.t("fresnelReflectorMenu.ModuleLength",o)," ..."]})},{key:"fresnel-reflector-pole-height",label:h.jsxs(io,{Dialog:Iuo,children:[O.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"fresnel-reflector-reflectance",label:h.jsxs(io,{Dialog:zuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"fresnel-reflector-draw-sun-beam",label:h.jsxs(io,{Dialog:Tuo,children:[O.t("solarCollectorMenu.DrawSunBeam",o)," ..."]})},{key:"fresnel-reflector-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},Euo=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(nje),i=M(oje),r=M(ije),a=M(En),l=M(Tb),s=M(Pb),c=M(ro),u=M(oo),d=co(z.Heliostat),[f,p]=m.useState(!!(d!=null&&d.drawSunBeam)),g=Kt(),y=S=>{s(S.target.value)},A=S=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.Heliostat&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&w.drawSunBeam!==S)return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.Heliostat&&!w.locked&&w.drawSunBeam!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.Heliostat&&w.foundationId===(d==null?void 0:d.foundationId)&&!w.locked&&w.drawSunBeam!==S)return!0;break;default:if((d==null?void 0:d.drawSunBeam)!==S)return!0}return!1},x=(S,w)=>{M.getState().set(T=>{for(const P of T.elements)P.type===z.Heliostat&&!P.locked&&S.has(P.id)&&(P.drawSunBeam=w)})},C=S=>{if(d&&A(S))switch(l){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Heliostat&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for Selected Heliostats",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{x(H.oldValues,H.newValue)}};a(H),x(R,S),u(c+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Heliostat&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for All Heliostats",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{r(z.Heliostat,H.newValue)}};a(H),r(z.Heliostat,S),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(d.foundationId){const R=new Map;for(const D of e)D.type===z.Heliostat&&D.foundationId===d.foundationId&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:R,newValue:S,groupId:d.foundationId,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{H.groupId&&i(z.Heliostat,H.groupId,H.newValue)}};a(H),i(z.Heliostat,d.foundationId,S),u(c+1)}break;default:const w=n(d.id),T=w?w.drawSunBeam:d.drawSunBeam,P={name:"Draw Sun Beam for Heliostat",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:d.id,changedElementType:d.type,undo:()=>{o(P.changedElementId,P.oldValue)},redo:()=>{o(P.changedElementId,P.newValue)}};a(P),o(d.id,S),u(c+1)}},b=()=>{t(!1)},v=()=>{C(f)};return(d==null?void 0:d.type)!==z.Heliostat?null:h.jsx(lo,{width:500,title:O.t("solarCollectorMenu.DrawSunBeam",g),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:f,onChange:p})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:y,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",g)})]})})})]})})},{Option:kuo}=Yo,Fuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(yje),r=M(Aje),a=M(wje),l=M(En),s=M(Tb),c=M(Pb),u=M(ro),d=M(oo),f=co(z.Heliostat),[p,g]=m.useState((f==null?void 0:f.towerId)??"None"),y=Kt(),A=m.useMemo(()=>{const T=[];for(const P of n)if(P.type===z.Foundation){const R=P;R.solarStructure===zn.FocusTower&&T.push(R.id)}return T},[n]);m.useEffect(()=>{if(g("None"),f)if(f.towerId)g(f.towerId);else{const T=o(f.parentId);T&&T.type===z.Foundation&&T.solarStructure===zn.FocusTower&&g(T.id)}},[f]);const x=T=>{c(T.target.value)},C=T=>{switch(s){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Heliostat&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&P.towerId!==T)return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Heliostat&&!P.locked&&P.towerId!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.Heliostat&&P.foundationId===(f==null?void 0:f.foundationId)&&!P.locked&&P.towerId!==T)return!0;break;default:if((f==null?void 0:f.towerId)!==T)return!0}return!1},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Heliostat&&!H.locked&&T.has(H.id)&&(H.towerId=P)})},v=T=>{if(f&&C(T)){switch(s){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.Heliostat&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.towerId);const E={name:"Set Tower for Selected Heliostats",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};l(E),b(D,T),d(u+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.Heliostat&&D.set(L.id,L.towerId);const E={name:"Set Tower for All Heliostats",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{a(z.Heliostat,E.newValue)}};l(E),a(z.Heliostat,T),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const D=new Map;for(const L of n)L.type===z.Heliostat&&L.foundationId===f.foundationId&&D.set(L.id,L.towerId);const E={name:"Set Tower for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:f.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{E.groupId&&r(z.Heliostat,E.groupId,E.newValue)}};l(E),r(z.Heliostat,f.foundationId,T),d(u+1)}break;default:const P=o(f.id),R=P?P.towerId:f.towerId,H={name:"Set Tower for Heliostat",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};l(H),i(f.id,T),d(u+1)}e(P=>{P.actionState.heliostatTower=T})}},S=()=>{t(!1)},w=()=>{p&&v(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:O.t("heliostatMenu.SelectTowerToReflectSunlightTo",y),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Yo,{style:{width:"120px"},value:p,onChange:g,children:A.map((T,P)=>h.jsx(kuo,{value:T,children:O.t("heliostatMenu.Tower",y)+" "+(P+1)},P))})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:x,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",y)})]})})})]})})},Luo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(t3),r=M(xq),a=M(eW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ro),f=M(oo),p=M(ca),g=co(z.Heliostat),[y,A]=m.useState((g==null?void 0:g.lx)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.lx=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.Heliostat&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.Heliostat&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.Heliostat&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.Heliostat&&!k.locked&&F.has(k.id)&&(k.lx=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.Heliostat&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.lx);const N={name:"Set Length for Selected Heliostats",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.Heliostat&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&k.set(j.id,j.lx);const N={name:"Set Length for All Heliostats",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.Heliostat,N.newValue)}};s(N),a(z.Heliostat,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.Heliostat&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&j.foundationId===g.foundationId&&k.set(j.id,j.lx);const N={name:"Set Length for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.Heliostat,N.groupId,N.newValue)}};s(N),r(z.Heliostat,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.lx:g.lx;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Heliostat Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.heliostatLength=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Length",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 20 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",b)})]})})})]})})},Wuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(R7),r=M(bq),a=M(tW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ro),f=M(oo),p=M(ca),g=co(z.Heliostat),[y,A]=m.useState((g==null?void 0:g.ly)??4),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.ly=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.Heliostat&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.Heliostat&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.Heliostat&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.ly)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.Heliostat&&!k.locked&&F.has(k.id)&&(k.ly=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.Heliostat&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.ly);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.ly);const N={name:"Set Width for Selected Heliostats",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.Heliostat&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.ly);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&k.set(j.id,j.ly);const N={name:"Set Width for All Heliostats",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.Heliostat,N.newValue)}};s(N),a(z.Heliostat,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.Heliostat&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.ly);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&j.foundationId===g.foundationId&&k.set(j.id,j.ly);const N={name:"Set Width for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.Heliostat,N.groupId,N.newValue)}};s(N),r(z.Heliostat,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.ly:g.ly;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Heliostat Width",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.heliostatWidth=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Width",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,precision:2,style:{width:120},value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 20 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",b)})]})})})]})})},Nuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ro),f=M(oo),p=M(ca),g=co(z.Heliostat),[y,A]=m.useState((g==null?void 0:g.poleHeight)??1),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=L=>{u(L.target.value)},S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.Heliostat&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.Heliostat&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.Heliostat&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(g)){for(const F of n)if(F.type===z.Heliostat&&F.parentId===g.parentId&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0}break;default:if(Math.abs((g==null?void 0:g.poleHeight)-L)>kt)return!0}return!1}},w=(L,U)=>{M.getState().set(F=>{for(const W of F.elements)W.type===z.Heliostat&&!W.locked&&L.has(W.id)&&(W.poleHeight=U)})},T=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.Heliostat&&M.getState().selectedElementIdSet.has(W.id)&&.5*Math.max(W.lx,W.ly)*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.Heliostat&&M.getState().selectedElementIdSet.has(k.id)&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for Selected Heliostats",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{w(B.oldValues,B.newValue)}};s(B),w(W,L),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.Heliostat&&.5*Math.max(W.lx,W.ly)*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.Heliostat&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Heliostats",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{a(z.Heliostat,B.newValue)}};s(B),a(z.Heliostat,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const W of n)if(W.type===z.Heliostat&&W.foundationId===g.foundationId&&.5*Math.max(W.lx,W.ly)*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.Heliostat&&k.foundationId===g.foundationId&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:W,newValue:L,groupId:g.foundationId,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{B.groupId&&r(z.Heliostat,B.groupId,B.newValue)}};s(B),r(z.Heliostat,g.foundationId,L),f(d+1)}}break;default:const U=o(g.id),F=U?U.poleHeight:g.poleHeight;if(x.current=.5*Math.max(g.lx,g.ly)*Math.abs(Math.sin(g.tiltAngle))>L,x.current)C.current=L,A(F);else{const W={name:"Set Heliostat Pole Height",timestamp:Date.now(),oldValue:F,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(W.changedElementId,W.oldValue)},redo:()=>{i(W.changedElementId,W.newValue)}};s(W),i(g.id,L),f(d+1)}}e(U=>{U.actionState.heliostatPoleHeight=L})}},P=()=>{x.current=!1,t(!1)},R=()=>{P(),p()},H=()=>{T(y),x.current||(t(!1),f(0))},D=()=>{T(y)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const E=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",b),rejectedMessage:E,onApply:D,onClose:P,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:y,onChange:L=>{L!==null&&A(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [0, 5] ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",b)})]})})})]})})},Uuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rje),r=M(aje),a=M(lje),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ro),f=M(oo),p=co(z.Heliostat),[g,y]=m.useState((p==null?void 0:p.poleRadius)??.1),A=Kt(),x=T=>{u(T.target.value)},C=T=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const R of n)if(R.type===z.Heliostat&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const R of n)if(R.type===z.Heliostat&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of n)if(R.type===z.Heliostat&&R.foundationId===(p==null?void 0:p.foundationId)&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(p)){for(const R of n)if(R.type===z.Heliostat&&R.parentId===p.parentId&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0}break;default:if(Math.abs((p==null?void 0:p.poleRadius)-T)>kt)return!0}return!1}},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Heliostat&&!H.locked&&T.has(H.id)&&(H.poleRadius=P)})},v=T=>{if(p&&C(T)){switch(c){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.Heliostat&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for Selected Heliostats",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};s(E),b(D,T),f(d+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.Heliostat&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for All Heliostats",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{a(z.Heliostat,E.newValue)}};s(E),a(z.Heliostat,T),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){const D=new Map;for(const L of n)L.type===z.Heliostat&&L.foundationId===p.foundationId&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:p.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{E.groupId&&r(z.Heliostat,E.groupId,E.newValue)}};s(E),r(z.Heliostat,p.foundationId,T),f(d+1)}break;default:const P=o(p.id),R=P?P.poleRadius:p.poleRadius,H={name:"Set Heliostat Pole Radius",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,T),f(d+1)}e(P=>{P.actionState.heliostatPoleRadius=T})}},S=()=>{t(!1)},w=()=>{v(g)};return(p==null?void 0:p.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.PoleRadius",A),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:.5,style:{width:120},step:.01,precision:2,value:g,onChange:T=>{T!==null&&y(T)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",A),": [0.1, 0.5] ",O.t("word.MeterAbbreviation",A)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",A)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:x,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",A)})]})})})]})})},Buo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sq),r=M(Tq),a=M(Pq),l=M(En),s=M(Tb),c=M(Pb),u=M(ro),d=M(oo),f=co(z.Heliostat),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Heliostat&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Heliostat&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.Heliostat&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.Heliostat&&!R.locked&&w.has(R.id)&&(R.reflectance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Heliostat&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for Selected Heliostats",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Heliostat&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Heliostats",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.Heliostat,D.newValue)}};l(D),a(z.Heliostat,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.Heliostat&&E.foundationId===f.foundationId&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.Heliostat,D.groupId,D.newValue)}};l(D),r(z.Heliostat,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.reflectance:f.reflectance,R={name:"Set Heliostat Reflectance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.heliostatReflectance=w})}},v=()=>{t(!1)},S=()=>{b(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",y)})]})})})]})})},juo=t=>{const e=[];if(t.type!==z.Heliostat)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"heliostat-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"heliostat-cut",label:h.jsx(Tf,{})}),e.push({key:"heliostat-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"heliostat-tower",label:h.jsxs(io,{Dialog:Fuo,children:[O.t("heliostatMenu.SelectTowerToReflectSunlightTo",o)," ..."]})},{key:"heliostat-length",label:h.jsxs(io,{Dialog:Luo,children:[O.t("word.Length",o)," ..."]})},{key:"heliostat-width",label:h.jsxs(io,{Dialog:Wuo,children:[O.t("word.Width",o)," ..."]})},{key:"heliostat-pole-height",label:h.jsxs(io,{Dialog:Nuo,children:[O.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"heliostat-pole-radius",label:h.jsxs(io,{Dialog:Uuo,children:[O.t("solarCollectorMenu.PoleRadius",o)," ..."]})},{key:"heliostat-reflectance",label:h.jsxs(io,{Dialog:Buo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"heliostat-draw-sun-beam",label:h.jsxs(io,{Dialog:Euo,children:[O.t("solarCollectorMenu.DrawSunBeam",o)," ..."]})},{key:"heliostat-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},{Option:dm}=Yo,Yuo=Se.memo(({tree:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Tree&&u.id===l){u.name=s;break}})};return h.jsxs(Yo,{style:{width:"160px"},value:(t==null?void 0:t.name)??fi.Pine,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change Tree",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.treeType=l}),i(!o)}}},children:[h.jsxs(dm,{value:fi.Apple,children:[h.jsx("img",{alt:fi.Apple,src:Iue,height:20,style:{paddingRight:"8px"}})," ",O.t("tree.Apple",r)]},fi.Apple),h.jsxs(dm,{value:fi.Birch,children:[h.jsx("img",{alt:fi.Birch,src:zue,height:20,style:{paddingRight:"20px"}})," ",O.t("tree.Birch",r)]},fi.Birch),h.jsxs(dm,{value:fi.Coconut,children:[h.jsx("img",{alt:fi.Coconut,src:Bqe,height:20,style:{paddingRight:"18px"}})," ",O.t("tree.Coconut",r)]},fi.Coconut),h.jsxs(dm,{value:fi.Dogwood,children:[h.jsx("img",{alt:fi.Dogwood,src:Due,height:20,style:{paddingRight:"10px"}})," ",O.t("tree.Dogwood",r)]},fi.Dogwood),h.jsxs(dm,{value:fi.Elm,children:[h.jsx("img",{alt:fi.Elm,src:Eue,height:20,style:{paddingRight:"20px"}}),O.t("tree.Elm",r)]},fi.Elm),h.jsxs(dm,{value:fi.FanPalm,children:[h.jsx("img",{alt:fi.FanPalm,src:jqe,height:20,style:{paddingRight:"18px"}})," ",O.t("tree.FanPalm",r)]},fi.FanPalm),h.jsxs(dm,{value:fi.Linden,children:[h.jsx("img",{alt:fi.Linden,src:kue,height:20,style:{paddingRight:"10px"}})," ",O.t("tree.Linden",r)]},fi.Linden),h.jsxs(dm,{value:fi.Magnolia,children:[h.jsx("img",{alt:fi.Magnolia,src:Fue,height:20,style:{paddingRight:"10px"}})," ",O.t("tree.Magnolia",r)]},fi.Magnolia),h.jsxs(dm,{value:fi.Maple,children:[h.jsx("img",{alt:fi.Maple,src:Lue,height:20,style:{paddingRight:"12px"}})," ",O.t("tree.Maple",r)]},fi.Maple),h.jsxs(dm,{value:fi.Oak,children:[h.jsx("img",{alt:fi.Oak,src:Wue,height:20,style:{paddingRight:"17px"}}),O.t("tree.Oak",r)]},fi.Oak),h.jsxs(dm,{value:fi.Pine,children:[h.jsx("img",{alt:fi.Pine,src:Yqe,height:20,style:{paddingRight:"18px"}})," ",O.t("tree.Pine",r)]},fi.Pine),h.jsxs(dm,{value:fi.Spruce,children:[h.jsx("img",{alt:fi.Spruce,src:Oqe,height:20,style:{paddingRight:"20px"}})," ",O.t("tree.Spruce",r)]},fi.Spruce)]})}),Ouo=t=>{const e=[];if(t.type!==z.Tree)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"tree-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"tree-cut",label:h.jsx(Tf,{})}),e.push({key:"tree-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"tree-show-model",label:h.jsx(_co,{tree:n})},{key:"tree-flip",label:h.jsx(t9e,{billboardModel:n})}),o&&e.push({key:"tree-change-type",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[O.t("treeMenu.Type",i),": "]}),h.jsx(Yuo,{tree:n})]})},{key:"tree-spread",label:h.jsx(Vco,{tree:n})},{key:"tree-height",label:h.jsx(Gco,{tree:n})},{key:"tree-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",i)}),children:vA(n)}),{items:e}},_uo=({wall:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Wall`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx(qm,{}),onOk:s})};return h.jsx(tn,{update:!0,noPadding:!0,onClick:l,children:i})},KRe=({wall:t,objectType:e,lock:n,children:o})=>{const i=M.getState().updateElementLockById,r=M.getState().updateElementLockByParentId,a=()=>{const l=e.replaceAll(" ",""),s=new Map;for(const d of M.getState().elements)d.parentId===t.id&&d.type===e&&s.set(d.id,!!d.locked);r(t.id,e,n);const u={name:n?`Lock All Unlocked ${l} on Wall`:`Unlock All Locked ${l} on Wall`,timestamp:Date.now(),oldValues:s,newValue:!0,undo:()=>{for(const[d,f]of u.oldValues.entries())i(d,f)},redo:()=>{r(t.id,e,n)}};M.getState().addUndoable(u)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:a,children:o})},Vuo=({wall:t})=>{const e=Kt(),n=M.getState().set,o=(r,a)=>{n(l=>{const s=l.elements.find(c=>c.id===r&&c.type===z.Wall);s&&(s.parapet.display=a)})},i=r=>{const a=r.target.checked,l={name:"Parapet",timestamp:Date.now(),checked:a,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{o(t.id,!l.checked)},redo:()=>{o(t.id,l.checked)}};M.getState().addUndoable(l),o(t.id,a),n(s=>{s.actionState.wallParapet.display=a})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.parapet.display,onChange:i,children:O.t("wallMenu.Parapet",e)})})},Guo=({wall:t})=>{const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.id===r&&s.type===z.Wall){const c=s;c.wallStructure=a,(a===hc.Stud||a===hc.Pillar)&&(c.opacity=0);break}})},o=r=>{const a={name:"Select Wall Structure",timestamp:Date.now(),oldValue:t.wallStructure,newValue:r.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(a.changedElementId,a.oldValue)},redo:()=>{n(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),n(t.id,r.target.value),M.getState().set(l=>{l.actionState.wallStructure=r.target.value,(l.actionState.wallStructure===hc.Stud||l.actionState.wallStructure===hc.Pillar)&&(l.actionState.wallOpacity=0)})},i=t.wallStructure??hc.Default;return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:i,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:hc.Default,children:O.t("wallMenu.DefaultStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:hc.Stud,children:O.t("wallMenu.StudStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:hc.Pillar,children:O.t("wallMenu.PillarStructure",e)})]})})})},Xuo=({wall:t})=>{const e=M.getState().set,n=Kt(),o=(r,a,l)=>{const{cx:s,cy:c,cz:u}=a,d=l?l.rotation[2]+a.relativeAngle:a.relativeAngle;if(l&&d!==void 0){const f=be.wallAbsolutePosition(new ae(s,c,u),l).setZ(a.lz/2+l.lz);return new ae().subVectors(r,f).applyEuler(new Qt(0,0,-d))}return new ae},i=()=>{const r=M.getState().getFoundation(t);if(!r)return;const a=o(M.getState().pastePoint,t,r),l=rl.makePolygon(t,-a.x/t.lx,0,-a.z/t.lz,new ae(0,0,1),[0,0,0],z.Wall);e(c=>{c.elements.push(l),c.objectTypeToAdd=z.None});const s={name:"Add",timestamp:Date.now(),addedElement:l,undo:()=>{M.getState().removeElementById(s.addedElement.id,!1)},redo:()=>{e(c=>{c.elements.push(s.addedElement),c.selectedElement=s.addedElement})}};M.getState().addUndoable(s)};return h.jsx(tn,{onClick:i,children:O.t("foundationMenu.AddPolygon",n)})},Juo=({wall:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Wall){l.fill=r;break}})},o=i=>{const r={name:"Select Wall Fill",timestamp:Date.now(),oldValue:t.fill,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.fill,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:Hl.Full,children:O.t("wallMenu.Full",e)}),h.jsx(Be,{style:{width:"100%"},value:Hl.Partial,children:O.t("wallMenu.Partial",e)}),h.jsx(Be,{style:{width:"100%"},value:Hl.Empty,children:O.t("wallMenu.Empty",e)})]})})})},Kuo=({wall:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Wall){l.openToOutside=r;break}})},o=i=>{const r={name:"Set Open to Outside",timestamp:Date.now(),oldValue:!!t.openToOutside,newValue:i.target.checked,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.openToOutside,onChange:o,children:O.t("wallMenu.OpenToOutside",e)})})},gae=[{key:"solarPanelCount",lockedKey:"lockedSolarPanelCount",objectType:z.SolarPanel},{key:"windowCount",lockedKey:"lockedWindowCount",objectType:z.Window},{key:"doorCount",lockedKey:"lockedDoorCount",objectType:z.Door},{key:"sensorCount",lockedKey:"lockedSensorCount",objectType:z.Sensor},{key:"polygonCount",lockedKey:"lockedPolygonCount",objectType:z.Polygon},{key:"outsideLightCount",lockedKey:"lockedLightCount",objectType:z.Light}],quo=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.SolarPanel:{o=`${O.t("wallMenu.RemoveAllUnlockedSolarPanels",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllSolarPanelsOnThisWall",n)} (${e} ${O.t("wallMenu.SolarPanels",n)})`;break}case z.Window:{o=`${O.t("wallMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllWindowsOnThisWall",n)} (${e} ${O.t("wallMenu.Windows",n)})`;break}case z.Door:{o=`${O.t("wallMenu.RemoveAllUnlockedDoors",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllDoorsOnThisWall",n)} (${e} ${O.t("wallMenu.Doors",n)})`;break}case z.Sensor:{o=`${O.t("wallMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllSensorsOnThisWall",n)} (${e} ${O.t("wallMenu.Sensors",n)})`;break}case z.Light:{o=`${O.t("wallMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllLightsOnThisWall",n)} (${e} ${O.t("wallMenu.Lights",n)})`;break}case z.Polygon:{o=`${O.t("wallMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllPolygonsOnThisWall",n)} (${e} ${O.t("wallMenu.Polygons",n)})`;break}}return{itemLabel:o,modalTitle:i}},mae=(t,e,n,o)=>n===z.Light?o?t.lockedLightCount:t.insideLightCount+t.outsideLightCount:t[e],$uo=(t,e,n)=>{const o=[],i={lng:M.getState().language};return gae.forEach(({key:r,objectType:a})=>{const l=mae(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=quo(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-wall`,label:h.jsx(_uo,{wall:t,objectType:a,modalTitle:c,children:s})})}}),gae.forEach(({key:r,objectType:a})=>{const l=mae(n,r,a);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`lock-all-${s}s-on-wall`,label:h.jsxs(KRe,{wall:t,objectType:a,lock:!0,children:[O.t(`wallMenu.LockAllUnlocked${s}s`,i)," (",l,")"]})})}}),gae.forEach(({lockedKey:r,objectType:a})=>{const l=mae(e,r,a,!0);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`unlock-all-${s}s-on-wall`,label:h.jsxs(KRe,{wall:t,objectType:a,lock:!1,children:[O.t(`wallMenu.UnlockAllLocked${s}s`,i)," (",l,")"]})})}}),e.outsideLightCount>0&&o.push({key:"inside-lights-on-wall",label:h.jsxs(qG,{element:t,inside:!0,children:[O.t("wallMenu.AllLightsOnWallInside",i)," (",e.outsideLightCount,")"]})}),e.insideLightCount>0&&o.push({key:"outside-lights-on-wall",label:h.jsxs(qG,{element:t,inside:!1,children:[O.t("wallMenu.AllLightsOnWallOutside",i)," (",e.insideLightCount,")"]})}),o},Quo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=co(z.Wall),c=Kt(),[u,d]=bZ((s==null?void 0:s.parapet.color)??"#ffffff"),f=(S,w)=>{e(T=>{for(const P of T.elements)if(P.id===S&&P.type===z.Wall&&!P.locked){P.parapet.color=w;break}})},p=S=>{if(!s)return;const w=be.getAllConnectedWalls(s);w.length!==0&&e(T=>{for(const P of w)if(!P.locked)for(const R of T.elements)R.id===P.id&&R.type===z.Wall&&(R.parapet.color=S)})},g=(S,w)=>{e(T=>{for(const P of T.elements)P.parentId===S&&P.type===z.Wall&&!P.locked&&(P.parapet.color=w)})},y=S=>{e(w=>{for(const T of w.elements)T.type===z.Wall&&!T.locked&&(T.parapet.color=S)})},A=(S,w)=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&S.has(P.id)&&(P.parapet.color=w)})},x=S=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.parapet.color&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.parapet.color&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.Wall&&T.foundationId===s.foundationId&&S!==T.parapet.color&&!T.locked)return!0;break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s);for(const T of w)if(S!==T.parapet.color&&!T.locked)return!0;break;default:if(S!==(s==null?void 0:s.parapet.color))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(i){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of n)P.type===z.Wall&&M.getState().selectedElementIdSet.has(P.id)&&w.set(P.id,P.parapet.color??"#ffffff");const T={name:"Set Parapet Color for Selected Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{A(T.oldValues,T.newValue)}};o(T),A(w,S),a(r+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of n)P.type===z.Wall&&w.set(P.id,P.parapet.color??"#ffffff");const T={name:"Set Parapet Color for All Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{y(T.newValue)}};o(T),y(S),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;for(const P of n)P.type===z.Wall&&P.foundationId===s.foundationId&&w.set(P.id,P.parapet.color??"#ffffff");const T={name:"Set Parapet Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{T.groupId&&g(T.groupId,T.newValue)}};o(T),g(s.foundationId,S),a(r+1)}break;case ue.AllConnectedObjects:if(s){const w=be.getAllConnectedWalls(s),T=new Map;for(const R of w)T.set(R.id,R.color??"#ffffff");const P={name:"Set Parapet Color for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:S,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};o(P),p(S),a(r+1)}break;default:if(s){const w=l(s.id),T=(w==null?void 0:w.parapet.color)??s.parapet.color??"#ffffff",P={name:"Set Parapet Color of Selected Wall",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(P.changedElementId,P.oldValue)},redo:()=>{f(P.changedElementId,P.newValue)}};o(P),f(s.id,S),a(r+1)}}e(w=>{w.actionState.wallParapet.color=S})}},b=()=>{C(u)},v=()=>{t(!1)};return h.jsx(lo,{width:640,title:O.t("wallMenu.ParapetColor",c),onApply:b,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u,onChangeComplete:d})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWallActionScope(S.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",c)})]})})})]})})},rot="/aladdin/assets/wall_01_menu-BlJdKfby.png",aot="/aladdin/assets/wall_02_menu-DfsmvvWJ.png",lot="/aladdin/assets/wall_03_menu-B95_FEuA.png",sot="/aladdin/assets/wall_04_menu-D-Kn25E7.png",cot="/aladdin/assets/wall_05_menu-DGgjaMY9.png",uot="/aladdin/assets/wall_06_menu-EOIch2eu.png",dot="/aladdin/assets/wall_07_menu-DvXS_qn2.png",fot="/aladdin/assets/wall_08_menu-CfftE2pF.png",hot="/aladdin/assets/wall_09_menu-_O8A0WOE.png",pot="/aladdin/assets/wall_10_menu-B5QfhD3g.png",Zuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.parapet.textureType)??No.Default),d=Kt(),{Option:f}=Yo,p=(w,T)=>{e(P=>{for(const R of P.elements)if(R.type===z.Wall&&R.id===w&&!R.locked){R.parapet.textureType=T;break}})},g=w=>{if(!s)return;const T=be.getAllConnectedWalls(s);T.length!==0&&e(P=>{for(const R of T)if(!R.locked)for(const H of P.elements)H.id===R.id&&H.type===z.Wall&&(H.parapet.textureType=w)})},y=(w,T)=>{e(P=>{for(const R of P.elements)R.type===z.Wall&&R.foundationId===w&&!R.locked&&(R.parapet.textureType=T)})},A=w=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&(P.parapet.textureType=w)})},x=(w,T)=>{e(P=>{for(const R of P.elements)R.type===z.Wall&&!R.locked&&w.has(R.id)&&(R.parapet.textureType=T)})},C=w=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Wall&&w!==P.parapet.textureType&&!P.locked&&M.getState().selectedElementIdSet.has(P.id))return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Wall&&w!==P.parapet.textureType&&!P.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.Wall&&P.foundationId===s.foundationId&&w!==P.parapet.textureType&&!P.locked)return!0;break;case ue.AllConnectedObjects:const T=be.getAllConnectedWalls(s);for(const P of T)if(w!==P.parapet.textureType&&!P.locked)return!0;break;default:if(w!==(s==null?void 0:s.parapet.textureType))return!0;break}return!1}},b=w=>{if(s&&C(w)){switch(i){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&T.set(R.id,R.parapet.textureType??No.Default);const P={name:"Set Parapet Texture for Selected Walls",timestamp:Date.now(),oldValues:T,newValue:w,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{x(P.oldValues,P.newValue)}};o(P),x(T,w),a(r+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&T.set(R.id,R.parapet.textureType??No.Default);const P={name:"Set Parapet Texture for All Walls",timestamp:Date.now(),oldValues:T,newValue:w,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{A(P.newValue)}};o(P),A(w),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const T=new Map;for(const R of n)R.type===z.Wall&&R.foundationId===s.foundationId&&!R.locked&&T.set(R.id,R.parapet.textureType);const P={name:"Set Parapet Texture for All Walls Above Foundation",timestamp:Date.now(),oldValues:T,newValue:w,groupId:s.foundationId,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{P.groupId&&y(P.groupId,P.newValue)}};o(P),y(s.foundationId,w),a(r+1)}break;case ue.AllConnectedObjects:if(s){const T=be.getAllConnectedWalls(s),P=new Map;for(const H of T)P.set(H.id,H.parapet.textureType);const R={name:"Set Parapet Texture for All Connected Walls",timestamp:Date.now(),oldValues:P,newValue:w,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};o(R),g(w),a(r+1)}break;default:if(s){const T=l(s.id),P=(T==null?void 0:T.parapet.textureType)??s.parapet.textureType,R={name:"Set Parapet Texture of Selected Wall",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};o(R),p(s.id,w),a(r+1)}}e(T=>{T.actionState.wallParapet.textureType=w})}},v=()=>{t(!1)},S=()=>{b(c)};return h.jsx(lo,{width:550,title:O.t("word.Texture",d),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:u,children:[h.jsxs(f,{value:No.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",d)]},No.NoTexture),h.jsxs(f,{value:No.Default,children:[h.jsx("img",{alt:No.Default,src:nye,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.TextureDefault",d)]},No.Default),h.jsxs(f,{value:No.Texture01,children:[h.jsx("img",{alt:No.Texture01,src:rot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture01",d)]},No.Texture01),h.jsxs(f,{value:No.Texture02,children:[h.jsx("img",{alt:No.Texture02,src:aot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture02",d)]},No.Texture02),h.jsxs(f,{value:No.Texture03,children:[h.jsx("img",{alt:No.Texture03,src:lot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture03",d)]},No.Texture03),h.jsxs(f,{value:No.Texture04,children:[h.jsx("img",{alt:No.Texture04,src:sot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture04",d)]},No.Texture04),h.jsxs(f,{value:No.Texture05,children:[h.jsx("img",{alt:No.Texture05,src:cot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture05",d)]},No.Texture05),h.jsxs(f,{value:No.Texture06,children:[h.jsx("img",{alt:No.Texture06,src:uot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture06",d)]},No.Texture06),h.jsxs(f,{value:No.Texture07,children:[h.jsx("img",{alt:No.Texture07,src:dot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture07",d)]},No.Texture07),h.jsxs(f,{value:No.Texture08,children:[h.jsx("img",{alt:No.Texture08,src:fot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture08",d)]},No.Texture08),h.jsxs(f,{value:No.Texture09,children:[h.jsx("img",{alt:No.Texture09,src:hot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture09",d)]},No.Texture09),h.jsxs(f,{value:No.Texture10,children:[h.jsx("img",{alt:No.Texture10,src:pot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture10",d)]},No.Texture10)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:w=>M.getState().setWallActionScope(w.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",d)})]})})})]})})},yae=({wall:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,setDialogVisible:a})=>{const l=M(Jn),s=M(En),c=M(r3),u=M(ro),d=M(oo),f=M(dn),p=m.useRef(t.parapet[n]),g=Kt(),y=R=>{f(H=>{switch(n){case"copingsHeight":H.actionState.wallParapet.copingsHeight=R;break;case"copingsWidth":H.actionState.wallParapet.copingsWidth=R;break;case"parapetHeight":H.actionState.wallParapet.parapetHeight=R;break}})},A=(R,H)=>{f(D=>{for(const E of D.elements)if(E.id===R&&E.type===z.Wall&&!E.locked){E.parapet[n]=H;break}}),y(H)},x=R=>{const H=be.getAllConnectedWalls(t);H.length!==0&&(f(D=>{for(const E of H)if(!E.locked)for(const L of D.elements)L.id===E.id&&L.type===z.Wall&&(L.parapet[n]=R)}),y(R))},C=(R,H)=>{f(D=>{for(const E of D.elements)E.parentId===R&&E.type===z.Wall&&!E.locked&&(E.parapet[n]=H)}),y(H)},b=R=>{f(H=>{for(const D of H.elements)D.type===z.Wall&&!D.locked&&(D.parapet[n]=R)}),y(R)},v=(R,H)=>{f(D=>{for(const E of D.elements)E.type===z.Wall&&!E.locked&&R.has(E.id)&&(E.parapet[n]=H)}),y(H)},S=R=>{switch(c){case ue.AllSelectedObjectsOfThisType:for(const D of l)if(D.type===z.Wall&&R!==D.parapet[n]&&!D.locked&&M.getState().selectedElementIdSet.has(D.id))return!0;break;case ue.AllObjectsOfThisType:for(const D of l)if(D.type===z.Wall&&R!==D.parapet[n]&&!D.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of l)if(D.type===z.Wall&&D.foundationId===t.foundationId&&R!==D.parapet[n]&&!D.locked)return!0;break;case ue.AllConnectedObjects:const H=be.getAllConnectedWalls(t);for(const D of H)if(R!==D.parapet[n]&&!D.locked)return!0;break;default:if(R!==t.parapet[n])return!0;break}return!1},w=R=>{if(t&&S(R))switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of l)E.type===z.Wall&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.parapet[n]);const D={name:`Set ${e} for Selected Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{v(D.oldValues,D.newValue)}};s(D),v(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of l)E.type===z.Wall&&H.set(E.id,E.parapet[n]);const D={name:`Set ${e} for All Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{b(D.newValue)}};s(D),b(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const E of l)E.type===z.Wall&&E.foundationId===t.foundationId&&H.set(E.id,E.parapet[n]);const D={name:`Set ${e} for All Walls Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{D.groupId&&C(D.groupId,D.newValue)}};s(D),C(t.foundationId,R),d(u+1)}break;case ue.AllConnectedObjects:if(t){const H=be.getAllConnectedWalls(t),D=new Map;for(const L of H)D.set(L.id,L.parapet[n]);const E={name:`Set ${e} for All Connected Walls`,timestamp:Date.now(),oldValues:D,newValue:R,undo:()=>{for(const[L,U]of E.oldValues.entries())A(L,U)},redo:()=>{x(E.newValue)}};s(E),x(R),d(u+1)}break;default:if(t){const H=t.parapet[n],D={name:`Set Wall ${e}`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{A(D.changedElementId,D.oldValue)},redo:()=>{A(D.changedElementId,D.newValue)}};s(D),A(t.id,R),d(u+1)}}},T=()=>{a(!1)},P=()=>{w(p.current)};return h.jsx(lo,{width:550,title:O.t(`wallMenu.${e}`,g),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,defaultValue:t.parapet[n],onChange:R=>p.current=R}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",g),": [",o.toString(),"] ",r]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r??" "}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWallActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",g)})]})})})]})})},edo={ParapetHeight:{attributeKey:"parapetHeight",range:[0,5],step:.01,unit:"word.MeterAbbreviation"},CopingsHeight:{attributeKey:"copingsHeight",range:[0,1],step:.01,unit:"word.MeterAbbreviation"},CopingsWidth:{attributeKey:"copingsWidth",range:[0,3],step:.01,unit:"word.MeterAbbreviation"}},Aae=({Dialog:t,wall:e,dataType:n,children:o})=>{const i=Kt(),[r,a]=m.useState(!1),l=()=>{M.getState().setApplyCount(0),a(!0)},s=edo[n];return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:!0,onClick:l,children:o}),r&&h.jsx(t,{wall:e,dataType:n,attributeKey:s.attributeKey,range:s.range,step:s.step,unit:s.unit?O.t(s.unit,i):void 0,setDialogVisible:a})]})},tdo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"parapet-checkbox",label:h.jsx(Vuo,{wall:t})}),t.parapet.display&&n.push({type:"divider"},{key:"parapet-color",label:h.jsxs(io,{noPadding:!0,Dialog:Quo,children:[O.t("wallMenu.ParapetColor",e)," ..."]})},{key:"parapet-texture",label:h.jsxs(io,{noPadding:!0,Dialog:Zuo,children:[O.t("wallMenu.ParapetTexture",e)," ..."]})},{key:"parapet-height",label:h.jsxs(Aae,{wall:t,dataType:"ParapetHeight",Dialog:yae,children:[O.t("wallMenu.ParapetHeight",e)," ..."]})},{key:"copings-height",label:h.jsxs(Aae,{wall:t,dataType:"CopingsHeight",Dialog:yae,children:[O.t("wallMenu.CopingsHeight",e)," ..."]})},{key:"copings-width",label:h.jsxs(Aae,{wall:t,dataType:"CopingsWidth",Dialog:yae,children:[O.t("wallMenu.CopingsWidth",e)," ..."]})}),n},ZP=({wall:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,setDialogVisible:a})=>{const l=M(Jn),s=M(En),c=M(r3),u=M(ro),d=M(oo),f=M(dn),p=m.useRef(t[n]),g=Kt(),y=R=>{f(H=>{switch(n){case"ly":H.actionState.wallThickness=R;break;case"lz":H.actionState.wallHeight=R;break;case"opacity":H.actionState.wallOpacity=R;break;case"structureSpacing":H.actionState.wallStructureSpacing=R;break;case"structureWidth":H.actionState.wallStructureWidth=R;break;case"eavesLength":H.actionState.wallEavesLength=R;break}})},A=(R,H)=>{f(D=>{for(const E of D.elements)if(E.id===R&&E.type===z.Wall&&!E.locked){E[n]=H;break}}),y(H)},x=R=>{const H=be.getAllConnectedWalls(t);H.length!==0&&(f(D=>{for(const E of H)if(!E.locked)for(const L of D.elements)L.id===E.id&&L.type===z.Wall&&(L[n]=R)}),y(R))},C=(R,H)=>{f(D=>{for(const E of D.elements)E.parentId===R&&E.type===z.Wall&&!E.locked&&(E[n]=H)}),y(H)},b=R=>{f(H=>{for(const D of H.elements)D.type===z.Wall&&!D.locked&&(D[n]=R)}),y(R)},v=(R,H)=>{f(D=>{for(const E of D.elements)E.type===z.Wall&&!E.locked&&R.has(E.id)&&(E[n]=H)}),y(H)},S=R=>{switch(c){case ue.AllSelectedObjectsOfThisType:for(const D of l)if(D.type===z.Wall&&R!==D[n]&&!D.locked&&M.getState().selectedElementIdSet.has(D.id))return!0;break;case ue.AllObjectsOfThisType:for(const D of l)if(D.type===z.Wall&&R!==D[n]&&!D.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of l)if(D.type===z.Wall&&D.foundationId===t.foundationId&&R!==D[n]&&!D.locked)return!0;break;case ue.AllConnectedObjects:const H=be.getAllConnectedWalls(t);for(const D of H)if(R!==D[n]&&!D.locked)return!0;break;default:if(R!==t[n])return!0;break}return!1},w=R=>{if(t&&S(R))switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of l)E.type===z.Wall&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E[n]);const D={name:`Set ${e} for Selected Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{v(D.oldValues,D.newValue)}};s(D),v(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of l)E.type===z.Wall&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{b(D.newValue)}};s(D),b(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const E of l)E.type===z.Wall&&E.foundationId===t.foundationId&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Walls Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{D.groupId&&C(D.groupId,D.newValue)}};s(D),C(t.foundationId,R),d(u+1)}break;case ue.AllConnectedObjects:if(t){const H=be.getAllConnectedWalls(t),D=new Map;for(const L of H)D.set(L.id,L[n]);const E={name:`Set ${e} for All Connected Walls`,timestamp:Date.now(),oldValues:D,newValue:R,undo:()=>{for(const[L,U]of E.oldValues.entries())A(L,U)},redo:()=>{x(E.newValue)}};s(E),x(R),d(u+1)}break;default:if(t){const H=t[n],D={name:`Set Wall ${e}`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{A(D.changedElementId,D.oldValue)},redo:()=>{A(D.changedElementId,D.newValue)}};s(D),A(t.id,R),d(u+1)}}},T=()=>{p.current=t[n],a(!1)},P=()=>{w(p.current)};return h.jsx(lo,{width:550,title:O.t(`wallMenu.${e}`,g),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,defaultValue:t[n],onChange:R=>p.current=R}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",g),": [",o.toString(),"] ",r]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r??" "}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWallActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",g)})]})})})]})})};var K1=(t=>(t.Height="Height",t.Opacity="Opacity",t.StructureSpacing="StructureSpacing",t.StructureWidth="StructureWidth",t.Thickness="Thickness",t.EavesLength="EavesLength",t))(K1||{});const eC=({Dialog:t,noPadding:e,dataType:n,children:o})=>{const i=Kt(),[r,a]=m.useState(!1),l=co(z.Wall),s=()=>{M.getState().setApplyCount(0),a(!0)},c=cdo[n];return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:e,onClick:s,children:o}),r&&l&&h.jsx(t,{wall:l,dataType:n,attributeKey:c.attributeKey,range:c.range,step:c.step,unit:c.unit?O.t(c.unit,i):void 0,setDialogVisible:a})]})},ndo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=co(z.Wall),[c,u]=bZ((s==null?void 0:s.structureColor)??"#ffffff"),d=Kt(),f=(S,w)=>{e(T=>{for(const P of T.elements)if(P.id===S&&P.type===z.Wall&&!P.locked){P.structureColor=w;break}})},p=S=>{if(!s)return;const w=be.getAllConnectedWalls(s);w.length!==0&&e(T=>{for(const P of w)if(!P.locked)for(const R of T.elements)R.id===P.id&&R.type===z.Wall&&(R.structureColor=S)})},g=(S,w)=>{e(T=>{for(const P of T.elements)P.parentId===S&&P.type===z.Wall&&!P.locked&&(P.structureColor=w)})},y=S=>{e(w=>{for(const T of w.elements)T.type===z.Wall&&!T.locked&&(T.structureColor=S)})},A=(S,w)=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&S.has(P.id)&&(P.color=w)})},x=S=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.structureColor&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.structureColor&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.Wall&&T.foundationId===s.foundationId&&S!==T.structureColor&&!T.locked)return!0;break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s);for(const T of w)if(S!==T.structureColor&&!T.locked)return!0;break;default:if(S!==(s==null?void 0:s.structureColor))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(i){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of n)P.type===z.Wall&&M.getState().selectedElementIdSet.has(P.id)&&w.set(P.id,P.structureColor??"#ffffff");const T={name:"Set Structure Color for Selected Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{A(T.oldValues,T.newValue)}};o(T),A(w,S),a(r+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of n)P.type===z.Wall&&w.set(P.id,P.structureColor??"#ffffff");const T={name:"Set Structure Color for All Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{y(T.newValue)}};o(T),y(S),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;for(const P of n)P.type===z.Wall&&P.foundationId===s.foundationId&&w.set(P.id,P.structureColor??"#ffffff");const T={name:"Set Structure Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{T.groupId&&g(T.groupId,T.newValue)}};o(T),g(s.foundationId,S),a(r+1)}break;case ue.AllConnectedObjects:if(s){const w=be.getAllConnectedWalls(s),T=new Map;for(const R of w)T.set(R.id,R.color??"#ffffff");const P={name:"Set Structure Color for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:S,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};o(P),p(S),a(r+1)}break;default:if(s){const w=l(s.id),T=(w==null?void 0:w.structureColor)??s.structureColor??"#ffffff",P={name:"Set Structure Color of Selected Wall",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(P.changedElementId,P.oldValue)},redo:()=>{f(P.changedElementId,P.newValue)}};o(P),f(s.id,S),a(r+1)}}e(w=>{w.actionState.wallStructureColor=S})}},b=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:640,title:O.t("wallMenu.StructureColor",d),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:u})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWallActionScope(S.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",d)})]})})})]})})},odo=t=>{const e=[],n={lng:M.getState().language};return e.push({key:"wall-structure-submenu-radio-group",label:h.jsx(Guo,{wall:t}),style:{backgroundColor:"white"}}),t.wallStructure!==hc.Default&&e.push({type:"divider"},{key:"wall-structure-spacing",label:h.jsxs(eC,{noPadding:!0,dataType:K1.StructureSpacing,Dialog:ZP,children:[O.t(`wallMenu.${K1.StructureSpacing}`,n)," ..."]})},{key:"wall-structure-width",label:h.jsxs(eC,{noPadding:!0,dataType:K1.StructureWidth,Dialog:ZP,children:[O.t(`wallMenu.${K1.StructureWidth}`,n)," ..."]})},{key:"wall-structure-color",label:h.jsxs(io,{noPadding:!0,Dialog:ndo,children:[O.t("wallMenu.StructureColor",n)," ..."]})}),e},ido=t=>{const e=[];return e.push({key:"wall-fill-radio-group",label:h.jsx(Juo,{wall:t}),style:{backgroundColor:"white"}}),t.fill!==Hl.Full&&e.push({type:"divider"},{key:"wall-open-to-outside-checkbox",label:h.jsx(Kuo,{wall:t})}),e},rdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.rValue)??i6),[d,f]=m.useState(be.toRValueInUS(c)),p=Kt(),g=(S,w)=>{l(T=>{for(const P of T.elements)if(P.id===S){P.rValue=w;break}})},y=S=>{for(const[w,T]of S.entries())g(w,T)},A=(S,w)=>{for(const T of S.keys())g(T,w)},x=S=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Wall&&S!==T.rValue&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Wall&&S!==T.rValue&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Wall&&T.foundationId===s.foundationId&&S!==T.rValue&&!T.locked)return!0;break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s);for(const T of w)if(S!==T.rValue&&!T.locked)return!0;break;default:if(S!==(s==null?void 0:s.rValue))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(o){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Wall&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const R=P;w.set(P.id,R.rValue??i6),g(R.id,S)}const T={name:"Set R-Value for Selected Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Wall&&!P.locked){const R=P;w.set(P.id,R.rValue??i6),g(R.id,S)}const T={name:"Set R-Value for All Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s!=null&&s.foundationId){const w=new Map;for(const P of e)if(P.type===z.Wall&&P.foundationId===s.foundationId&&!P.locked){const R=P;w.set(P.id,R.rValue??i6),g(R.id,S)}const T={name:"Set R-Value for All Walls Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.AllConnectedObjects:if(s){const w=be.getAllConnectedWalls(s),T=new Map;for(const R of w)if(!R.locked){const H=R;T.set(R.id,H.rValue??i6),g(H.id,S)}const P={name:"Set R-Value for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:S,undo:()=>{y(P.oldValues)},redo:()=>{A(P.oldValues,P.newValue)}};n(P),r(i+1)}break;default:if(s){const T=a(s.id).rValue??s.rValue??i6,P={name:"Set Wall R-Value",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(P.changedElementId,P.oldValue)},redo:()=>{g(P.changedElementId,P.newValue)}};n(P),g(s.id,S),r(i+1)}}l(w=>{w.actionState.wallRValue=S})}},b=()=>{u((s==null?void 0:s.rValue)??i6),t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${O.t("word.RValue",p)+" "}(${O.t("word.ThermalResistance",p)})`,onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(u(S),f(be.toRValueInUS(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",p),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toRValueInUS(.01),max:be.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(f(S),u(be.toRValueInSI(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [",be.toRValueInUS(.01).toFixed(3),", ",be.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",p),": h·ft²·℉/Btu"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWallActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",p)})]})})})]})})},ado=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.volumetricHeatCapacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Wall&&b!==S.volumetricHeatCapacity&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break;case ue.AllObjectsOfThisType:for(const S of e)if(S.type===z.Wall&&b!==S.volumetricHeatCapacity&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of e)if(S.type===z.Wall&&S.foundationId===s.foundationId&&b!==S.volumetricHeatCapacity&&!S.locked)return!0;break;case ue.AllConnectedObjects:const v=be.getAllConnectedWalls(s);for(const S of v)if(b!==S.volumetricHeatCapacity&&!S.locked)return!0;break;default:if(b!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Wall&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)){const T=w;v.set(w.id,T.volumetricHeatCapacity??.5),f(T.id,b)}const S={name:"Set Volumetric Heat Capacity for Selected Walls",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Wall&&!w.locked){const T=w;v.set(w.id,T.volumetricHeatCapacity??.5),f(T.id,b)}const S={name:"Set Volumetric Heat Capacity for All Walls",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s!=null&&s.foundationId){const v=new Map;for(const w of e)if(w.type===z.Wall&&w.foundationId===s.foundationId&&!w.locked){const T=w;v.set(w.id,T.volumetricHeatCapacity??.5),f(T.id,b)}const S={name:"Set Volumetric Heat Capacity for All Walls Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.AllConnectedObjects:if(s){const v=be.getAllConnectedWalls(s),S=new Map;for(const T of v)if(!T.locked){const P=T;S.set(T.id,P.volumetricHeatCapacity??.5),f(P.id,b)}const w={name:"Set Volumetric Heat Capacity for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:b,undo:()=>{p(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),r(i+1)}break;default:if(s){const S=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,w={name:"Set Volumetric Heat Capacity of Wall",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.wallVolumetricHeatCapacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>{b!==null&&u(b)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),O.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setWallActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",d)})]})})})]})})},ldo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=Kt(),c=co(z.Wall),[u,d]=m.useState((c==null?void 0:c.textureType)??No.Default),{Option:f}=Yo,p=(w,T)=>{e(P=>{for(const R of P.elements)if(R.type===z.Wall&&R.id===w&&!R.locked){R.textureType=T;break}})},g=w=>{if(!c)return;const T=be.getAllConnectedWalls(c);T.length!==0&&e(P=>{for(const R of T)if(!R.locked)for(const H of P.elements)H.id===R.id&&H.type===z.Wall&&(H.textureType=w)})},y=(w,T)=>{e(P=>{for(const R of P.elements)R.type===z.Wall&&R.foundationId===w&&!R.locked&&(R.textureType=T)})},A=w=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&(P.textureType=w)})},x=(w,T)=>{e(P=>{for(const R of P.elements)R.type===z.Wall&&!R.locked&&w.has(R.id)&&(R.textureType=T)})},C=w=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Wall&&w!==P.textureType&&!P.locked&&M.getState().selectedElementIdSet.has(P.id))return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Wall&&w!==P.textureType&&!P.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.Wall&&P.foundationId===c.foundationId&&w!==P.textureType&&!P.locked)return!0;break;case ue.AllConnectedObjects:const T=be.getAllConnectedWalls(c);for(const P of T)if(w!==P.textureType&&!P.locked)return!0;break;default:if(w!==(c==null?void 0:c.textureType))return!0;break}return!1}},b=w=>{if(c&&C(w)){switch(i){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&T.set(R.id,R.textureType??No.Default);const P={name:"Set Texture for Selected Walls",timestamp:Date.now(),oldValues:T,newValue:w,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{x(P.oldValues,P.newValue)}};o(P),x(T,w),a(r+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&T.set(R.id,R.textureType??No.Default);const P={name:"Set Texture for All Walls",timestamp:Date.now(),oldValues:T,newValue:w,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{A(P.newValue)}};o(P),A(w),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const T=new Map;for(const R of n)R.type===z.Wall&&R.foundationId===c.foundationId&&!R.locked&&T.set(R.id,R.textureType);const P={name:"Set Texture for All Walls Above Foundation",timestamp:Date.now(),oldValues:T,newValue:w,groupId:c.foundationId,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{P.groupId&&y(P.groupId,P.newValue)}};o(P),y(c.foundationId,w),a(r+1)}break;case ue.AllConnectedObjects:if(c){const T=be.getAllConnectedWalls(c),P=new Map;for(const H of T)P.set(H.id,H.textureType);const R={name:"Set Texture for All Connected Walls",timestamp:Date.now(),oldValues:P,newValue:w,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};o(R),g(w),a(r+1)}break;default:if(c){const T=l(c.id),P=(T==null?void 0:T.textureType)??c.textureType,R={name:"Set Texture of Selected Wall",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:c.id,changedElementType:c.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};o(R),p(c.id,w),a(r+1)}}e(T=>{T.actionState.wallTexture=w})}},v=()=>{t(!1)},S=()=>{b(u)};return h.jsx(lo,{width:550,title:O.t("word.Texture",s),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:u,onChange:d,children:[h.jsxs(f,{value:No.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",s)]},No.NoTexture),h.jsxs(f,{value:No.Default,children:[h.jsx("img",{alt:No.Default,src:nye,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.TextureDefault",s)]},No.Default),h.jsxs(f,{value:No.Texture01,children:[h.jsx("img",{alt:No.Texture01,src:rot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture01",s)]},No.Texture01),h.jsxs(f,{value:No.Texture02,children:[h.jsx("img",{alt:No.Texture02,src:aot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture02",s)]},No.Texture02),h.jsxs(f,{value:No.Texture03,children:[h.jsx("img",{alt:No.Texture03,src:lot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture03",s)]},No.Texture03),h.jsxs(f,{value:No.Texture04,children:[h.jsx("img",{alt:No.Texture04,src:sot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture04",s)]},No.Texture04),h.jsxs(f,{value:No.Texture05,children:[h.jsx("img",{alt:No.Texture05,src:cot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture05",s)]},No.Texture05),h.jsxs(f,{value:No.Texture06,children:[h.jsx("img",{alt:No.Texture06,src:uot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture06",s)]},No.Texture06),h.jsxs(f,{value:No.Texture07,children:[h.jsx("img",{alt:No.Texture07,src:dot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture07",s)]},No.Texture07),h.jsxs(f,{value:No.Texture08,children:[h.jsx("img",{alt:No.Texture08,src:fot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture08",s)]},No.Texture08),h.jsxs(f,{value:No.Texture09,children:[h.jsx("img",{alt:No.Texture09,src:hot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture09",s)]},No.Texture09),h.jsxs(f,{value:No.Texture10,children:[h.jsx("img",{alt:No.Texture10,src:pot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture10",s)]},No.Texture10)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:w=>M.getState().setWallActionScope(w.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",s)})]})})})]})})},sdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=co(z.Wall),c=Kt(),[u,d]=bZ((s==null?void 0:s.color)??"#ffffff"),f=(S,w)=>{e(T=>{for(const P of T.elements)if(P.type===z.Wall&&P.id===S&&!P.locked){P.color=w;break}})},p=S=>{if(!s)return;const w=be.getAllConnectedWalls(s);w.length!==0&&e(T=>{for(const P of w)if(!P.locked)for(const R of T.elements)R.id===P.id&&R.type===z.Wall&&(R.color=S)})},g=(S,w)=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&P.foundationId===S&&!P.locked&&(P.color=w)})},y=S=>{e(w=>{for(const T of w.elements)T.type===z.Wall&&!T.locked&&(T.color=S)})},A=(S,w)=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&S.has(P.id)&&(P.color=w)})},x=S=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.color&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.color&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.Wall&&T.foundationId===s.foundationId&&S!==T.color&&!T.locked)return!0;break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s);for(const T of w)if(S!==T.color&&!T.locked)return!0;break;default:if(S!==(s==null?void 0:s.color))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(i){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.Wall&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.color??"#ffffff");const H={name:"Set Color for Selected Walls",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())f(D,E)},redo:()=>{A(H.oldValues,H.newValue)}};o(H),A(R,S),a(r+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.Wall&&R.set(D.id,D.color??"#ffffff");const H={name:"Set Color for All Walls",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())f(D,E)},redo:()=>{y(H.newValue)}};o(H),y(S),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const R=new Map;for(const D of n)D.type===z.Wall&&D.foundationId===s.foundationId&&R.set(D.id,D.color??"#ffffff");const H={name:"Set Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:R,newValue:S,groupId:s.foundationId,undo:()=>{for(const[D,E]of H.oldValues.entries())f(D,E)},redo:()=>{H.groupId&&g(H.groupId,H.newValue)}};o(H),g(s.foundationId,S),a(r+1)}break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s),T=new Map;for(const R of w)T.set(R.id,R.color??"#ffffff");const P={name:"Set Color for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:S,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};o(P),p(S),a(r+1);break;default:if(s){const R=l(s.id),H=(R==null?void 0:R.color)??s.color??"#ffffff",D={name:"Set Color of Selected Wall",timestamp:Date.now(),oldValue:H,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(D.changedElementId,D.oldValue)},redo:()=>{f(D.changedElementId,D.newValue)}};o(D),f(s.id,S),a(r+1)}}e(w=>{w.actionState.wallColor=S})}},b=()=>{t(!1)},v=()=>{C(u)};return h.jsx(lo,{width:640,title:O.t("wallMenu.Color",c),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u,onChangeComplete:d})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWallActionScope(S.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",c)})]})})})]})})},cdo={Height:{attributeKey:"lz",range:[.1,100],step:.1,unit:"word.MeterAbbreviation"},Opacity:{attributeKey:"opacity",range:[0,1],step:.01},StructureSpacing:{attributeKey:"structureSpacing",range:[.1,1e3],step:.1,unit:"word.MeterAbbreviation"},StructureWidth:{attributeKey:"structureWidth",range:[.01,1],step:.1,unit:"word.MeterAbbreviation"},Thickness:{attributeKey:"ly",range:[.1,1],step:.01,unit:"word.MeterAbbreviation"},EavesLength:{attributeKey:"eavesLength",range:[-.1,5],step:.01,unit:"word.MeterAbbreviation"},ParapetHeight:{attributeKey:"parapetHeight",range:[0,5],step:.01,unit:"word.MeterAbbreviation"},CopingsHeight:{attributeKey:"copingsHeight",range:[0,1],step:.01,unit:"word.MeterAbbreviation"},CopingsWidth:{attributeKey:"copingsWidth",range:[0,3],step:.01,unit:"word.MeterAbbreviation"}},udo=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(be.isLegalOnWall(e.type))return!0}return!1},ddo=t=>{const e=[];if(t.type!==z.Wall)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce,a=r(n.id,!0),l=r(n.id,!1);return udo()&&e.push({key:"wall-paste",label:h.jsx(OH,{})}),e.push({key:"wall-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"wall-cut",label:h.jsx(Tf,{})}),e.push({key:"wall-lock",label:h.jsx(Md,{selectedElement:n})}),o&&(a.gotSome()&&e.push({key:"lock-unlock-clear-on-wall",label:h.jsx(tn,{children:O.t("word.Elements",i)}),children:$uo(n,a,l)}),e.push({key:"wall-parapet",label:h.jsx(tn,{children:O.t("wallMenu.Parapet",i)}),children:tdo(n)}),e.push({key:"wall-structure",label:h.jsx(tn,{children:O.t("wallMenu.WallStructure",i)}),children:odo(n)}),n.wallStructure!==hc.Default&&e.push({key:"wall-opacity",label:h.jsxs(eC,{dataType:K1.Opacity,Dialog:ZP,children:[O.t(`wallMenu.${K1.Opacity}`,i)," ..."]})}),e.push({key:"wall-fill",label:h.jsx(tn,{children:O.t("wallMenu.Fill",i)}),children:ido(n)},{key:"add-polygon-on-wall",label:h.jsx(Xuo,{wall:n})},{key:"wall-thickness",label:h.jsxs(eC,{dataType:K1.Thickness,Dialog:ZP,children:[O.t(`wallMenu.${K1.Thickness}`,i)," ..."]})},{key:"wall-height",label:h.jsxs(eC,{dataType:K1.Height,Dialog:ZP,children:[O.t(`wallMenu.${K1.Height}`,i)," ..."]})},{key:"wall-eaves-length",label:h.jsxs(eC,{dataType:K1.EavesLength,Dialog:ZP,children:[O.t(`wallMenu.${K1.EavesLength}`,i)," ..."]})},{key:"wall-r-value",label:h.jsxs(io,{Dialog:rdo,children:[O.t("word.RValue",i)," ..."]})},{key:"wall-heat-capacity",label:h.jsxs(io,{Dialog:ado,children:[O.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"wall-texture",label:h.jsxs(io,{Dialog:ldo,children:[O.t("wallMenu.Texture",i)," ..."]})},{key:"wall-color",label:h.jsxs(io,{Dialog:sdo,children:[O.t("wallMenu.Color",i)," ..."]})})),{items:e}},fdo=({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.filled=r;break}})},o=i=>{const r=i.target.checked,a={name:"Filled Door",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.doorFilled=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.filled,onChange:o,children:O.t("doorMenu.Filled",e)})})},hdo=({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.interior=r;break}})},o=i=>{const r=i.target.checked,a={name:"Interior Door",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.doorInterior=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.interior,onChange:o,children:O.t("doorMenu.Interior",e)})})},pdo=({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.doorType=r;break}})},o=i=>{const r={name:"Select Door Type",timestamp:Date.now(),oldValue:t.doorType,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value),M.getState().set(a=>{a.actionState.doorType=i.target.value})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.doorType,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:bd.Default,children:O.t("doorMenu.Default",e)}),h.jsx(Be,{style:{width:"100%"},value:bd.Arched,children:O.t("doorMenu.Arched",e)})]})})})},gdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=M(rr),c=co(z.Door),u=m.useMemo(()=>{const T=c?c.lx:1,P=c?s(c):null;return P?T*P.lx:T},[c==null?void 0:c.lx]),[d,f]=m.useState(u),p=Kt(),g=(T,P)=>{l(R=>{for(const H of R.elements)if(H.id===T&&H.type===z.Door){const D=H,E=s(D);D.lx=E?P/E.lx:P;break}})},y=T=>{for(const[P,R]of T.entries())g(P,R)},A=(T,P)=>{for(const R of T.keys())g(R,P)},x=T=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:for(const R of e)if(R.type===z.Door&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)){const H=s(R);if(H&&T!==R.lx*H.lx)return!0}break;case ue.AllObjectsOfThisType:for(const R of e)if(R.type===z.Door&&!R.locked){const H=s(R);if(H&&T!==R.lx*H.lx)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of e)if(R.type===z.Door&&R.foundationId===c.foundationId&&!R.locked){const H=s(R);if(H&&T!==R.lx*H.lx)return!0}break;case ue.OnlyThisSide:for(const R of e)if(R.type===z.Door&&R.parentId===c.parentId&&!R.locked){const H=s(R);if(H&&T!==R.lx*H.lx)return!0}break;default:const P=s(c);if(P&&T!==c.lx*P.lx)return!0;break}return!1}},C=T=>{if(c&&x(T))switch(o){case ue.AllSelectedObjectsOfThisType:{const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)){const E=D,L=E?s(E):null;P.set(D.id,E.lx*(L?L.lx:1)),E.lx=L?T/L.lx:T}});const R={name:"Set Width for Selected Doors",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisType:{const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lx*(L?L.lx:1)),E.lx=L?T/L.lx:T}});const R={name:"Set Width for All Doors",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.foundationId===c.foundationId&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lx*(L?L.lx:1)),E.lx=L?T/L.lx:T}});const R={name:"Set Width for All Doors Above Foundation",timestamp:Date.now(),oldValues:P,newValue:T,groupId:c.foundationId,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1)}break;case ue.OnlyThisSide:if(c.parentId){const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.parentId===c.parentId&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lx*(L?L.lx:1)),E.lx=L?T/L.lx:T}});const R={name:"Set Width for All Doors On the Same Wall",timestamp:Date.now(),oldValues:P,newValue:T,groupId:c.parentId,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1)}break;default:if(c){const P=a(c.id),R=c?s(P):null,H=(P.lx??c.lx??.1)*(R?R.lx:1),D={name:"Set Door Width",timestamp:Date.now(),oldValue:H,newValue:T,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};n(D),g(c.id,T),r(i+1)}}},b=()=>{t(!1)},v=()=>{C(d)},S=c?s(c):null,w=S&&c?2*S.lx*Math.min(Math.abs(.5-c.cx),Math.abs(-.5-c.cx)):100;return h.jsx(lo,{width:550,title:O.t("word.Width",p),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:w,style:{width:120},step:.1,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>f(T)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.1, ",w.toFixed(1),"]",O.t("word.MeterAbbreviation",p)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",p)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setDoorActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",p)})]})})})]})})},mdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=M(rr),c=co(z.Door),u=m.useMemo(()=>{const T=c?c.lz:1,P=c?s(c):null;return P?T*P.lz:T},[c==null?void 0:c.lz]),[d,f]=m.useState(u),p=Kt(),g=(T,P)=>{l(R=>{for(const H of R.elements)if(H.id===T&&H.type===z.Door){const D=H,E=s(D);D.lz=E?P/E.lz:P,E&&(D.cz=-(E.lz-P)/(2*E.lz));break}})},y=T=>{for(const[P,R]of T.entries())g(P,R)},A=(T,P)=>{for(const R of T.keys())g(R,P)},x=T=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:for(const R of e)if(R.type===z.Door&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)){const H=s(R);if(H&&T!==R.lz*H.lz)return!0}break;case ue.AllObjectsOfThisType:for(const R of e)if(R.type===z.Door&&!R.locked){const H=s(R);if(H&&T!==R.lz*H.lz)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of e)if(R.type===z.Door&&R.foundationId===c.foundationId&&!R.locked){const H=s(R);if(H&&T!==R.lz*H.lz)return!0}break;case ue.OnlyThisSide:for(const R of e)if(R.type===z.Door&&R.parentId===c.parentId&&!R.locked){const H=s(R);if(H&&T!==R.lz*H.lz)return!0}break;default:const P=s(c);if(P&&T!==c.lz*P.lz)return!0;break}return!1}},C=T=>{if(c&&x(T))switch(o){case ue.AllSelectedObjectsOfThisType:{const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)){const E=D,L=E?s(E):null;P.set(D.id,E.lz*(L?L.lz:1)),E.lz=L?T/L.lz:T,L&&(E.cz=-(L.lz-T)/(2*L.lz))}});const R={name:"Set Height for Selected Doors",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisType:{const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lz*(L?L.lz:1)),E.lz=L?T/L.lz:T,L&&(E.cz=-(L.lz-T)/(2*L.lz))}});const R={name:"Set Height for All Doors",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.foundationId===c.foundationId&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lz*(L?L.lz:1)),E.lz=L?T/L.lz:T,L&&(E.cz=-(L.lz-T)/(2*L.lz))}});const R={name:"Set Height for All Doors Above Foundation",timestamp:Date.now(),oldValues:P,newValue:T,groupId:c.foundationId,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1)}break;case ue.OnlyThisSide:if(c.parentId){const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.parentId===c.parentId&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lz*(L?L.lz:1)),E.lz=L?T/L.lz:T,L&&(E.cz=-(L.lz-T)/(2*L.lz))}});const R={name:"Set Height for All Doors On the Same Wall",timestamp:Date.now(),oldValues:P,newValue:T,groupId:c.parentId,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1)}break;default:if(c){const P=a(c.id),R=c?s(P):null,H=(P.lz??c.lz??.2)*(R?R.lz:1),D={name:"Set Door Height",timestamp:Date.now(),oldValue:H,newValue:T,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};n(D),g(c.id,T),r(i+1)}}},b=()=>{f(u),t(!1)},v=()=>{C(d)},S=c?s(c):null,w=(S==null?void 0:S.lz)??20;return h.jsx(lo,{width:550,title:O.t("word.Height",p),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:w,style:{width:120},step:.1,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&f(T)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.1, ",w.toFixed(1),"]",O.t("word.MeterAbbreviation",p)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",p)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setDoorActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",p)})]})})})]})})},ydo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.opacity)??1),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.opacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Door&&b!==v.opacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Door&&b!==v.opacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Door&&v.foundationId===s.foundationId&&b!==v.opacity&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of e)if(v.type===z.Door&&v.parentId===s.parentId&&b!==v.opacity&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.opacity))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const P=T;v.set(T.id,P.opacity??1),P.opacity=b}});const S={name:"Set Opacity for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&!T.locked){const P=T;v.set(T.id,P.opacity??1),P.opacity=b}});const S={name:"Set Opacity for All Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&T.foundationId===s.foundationId&&!T.locked){const P=T;v.set(T.id,P.opacity??1),P.opacity=b}});const S={name:"Set Opacity for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&T.parentId===s.parentId&&!T.locked){const P=T;v.set(T.id,P.opacity??1),P.opacity=b}});const S={name:"Set Opacity for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.parentId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).opacity??s.opacity??1,w={name:"Set Opacity of Door",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.doorOpacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("wallMenu.Opacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),O.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setDoorActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},Ado=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.uValue)??j4),[d,f]=m.useState(be.toUValueInUS(c)),p=Kt(),g=(S,w)=>{l(T=>{for(const P of T.elements)if(P.id===S){P.uValue=w;break}})},y=S=>{for(const[w,T]of S.entries())g(w,T)},A=(S,w)=>{for(const T of S.keys())g(T,w)},x=S=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.Door&&S!==w.uValue&&!w.locked&&M.getState().selectedElementIdSet.has(w.id))return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.Door&&S!==w.uValue&&!w.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.Door&&w.foundationId===s.foundationId&&S!==w.uValue&&!w.locked)return!0;break;case ue.OnlyThisSide:for(const w of e)if(w.type===z.Door&&w.parentId===s.parentId&&S!==w.uValue&&!w.locked)return!0;break;default:if(S!==(s==null?void 0:s.uValue))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(o){case ue.AllSelectedObjectsOfThisType:{const w=new Map;l(P=>{for(const R of P.elements)if(R.type===z.Door&&!R.locked){const H=R;w.set(R.id,H.uValue??j4),H.uValue=S}});const T={name:"Set U-Value for Selected Doors",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const w=new Map;l(P=>{for(const R of P.elements)if(R.type===z.Door&&!R.locked){const H=R;w.set(R.id,H.uValue??j4),H.uValue=S}});const T={name:"Set U-Value for All Doors",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;l(P=>{for(const R of P.elements)if(R.type===z.Door&&R.foundationId===s.foundationId&&!R.locked){const H=R;w.set(R.id,H.uValue??j4),H.uValue=S}});const T={name:"Set U-Value for All Doors Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const w=new Map;l(P=>{for(const R of P.elements)if(R.type===z.Door&&R.parentId===s.parentId&&!R.locked){const H=R;w.set(R.id,H.uValue??j4),H.uValue=S}});const T={name:"Set U-Value for All Doors On the Same Wall",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.parentId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).uValue??s.uValue??j4,P={name:"Set Door U-Value",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(P.changedElementId,P.oldValue)},redo:()=>{g(P.changedElementId,P.newValue)}};n(P),g(s.id,S),r(i+1)}}l(w=>{w.actionState.doorUValue=S})}},b=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${O.t("word.UValue",p)+" "}(${O.t("word.ThermalTransmittance",p)})`,onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(u(S),f(be.toUValueInUS(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",p),": W/(m²·℃)"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toUValueInUS(.01),max:be.toUValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(f(S),u(be.toUValueInSI(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [",be.toUValueInUS(.01).toFixed(3),", ",be.toUValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",p),": Btu/(h·ft²·℉)"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setDoorActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",p)})]})})})]})})},wdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.volumetricHeatCapacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Door&&b!==v.volumetricHeatCapacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Door&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of e)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&T.foundationId===s.foundationId&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&T.parentId===s.parentId&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.parentId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,w={name:"Set Volumetric Heat Capacity of Door",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.doorVolumetricHeatCapacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>{b!==null&&u(b)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),O.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setDoorActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},vdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(dn),l=M(jn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.textureType)??ii.Default),d=Kt(),{Option:f}=Yo,p=(v,S)=>{a(w=>{for(const T of w.elements)if(T.id===v){T.locked||(T.textureType=S);break}})},g=(v,S)=>{for(const w of v.keys())p(w,S)},y=v=>{for(const[S,w]of v.entries())p(S,w)},A=v=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Door&&v!==S.textureType&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break;case ue.AllObjectsOfThisType:for(const S of e)if(S.type===z.Door&&v!==S.textureType&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of e)if(S.type===z.Door&&S.foundationId===s.foundationId&&v!==S.textureType&&!S.locked)return!0;break;case ue.OnlyThisSide:for(const S of e)if(S.type===z.Door&&S.parentId===s.parentId&&v!==S.textureType&&!S.locked)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0;break}return!1}},x=v=>{if(s&&A(v)){switch(o){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of M.getState().elements)T.type===z.Door&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&S.set(T.id,T.textureType??ii.Default);const w={name:"Set Texture for Selected Doors",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{y(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of M.getState().elements)T.type===z.Door&&!T.locked&&S.set(T.id,T.textureType??ii.Default);const w={name:"Set Texture for All Doors",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{y(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const S=new Map;for(const T of M.getState().elements)T.type===z.Door&&T.foundationId===s.foundationId&&!T.locked&&S.set(T.id,T.textureType);const w={name:"Set Texture for All Doors Above Foundation",timestamp:Date.now(),oldValues:S,newValue:v,groupId:s.foundationId,undo:()=>{y(w.oldValues)},redo:()=>{w.groupId&&g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const S=new Map;for(const T of M.getState().elements)T.type===z.Door&&T.parentId===s.parentId&&!T.locked&&S.set(T.id,T.textureType);const w={name:"Set Texture for All Doors On the Same Wall",timestamp:Date.now(),oldValues:S,newValue:v,groupId:s.parentId,undo:()=>{y(w.oldValues)},redo:()=>{w.groupId&&g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1)}break;default:if(s){const S=l(s.id),w=S?S.textureType:s.textureType,T={name:"Set Texture of Selected Door",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};n(T),p(s.id,v),r(i+1)}}a(S=>{S.actionState.doorTexture=v})}},C=()=>{t(!1)},b=()=>{x(c)};return h.jsx(lo,{width:550,title:O.t("word.Texture",d),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:v=>u(v),children:[h.jsxs(f,{value:ii.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",d)]},ii.NoTexture),h.jsxs(f,{value:ii.Default,children:[h.jsx("img",{alt:ii.Default,src:hqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.TextureDefault",d)]},ii.Default),h.jsxs(f,{value:ii.Texture01,children:[h.jsx("img",{alt:ii.Texture01,src:pqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture01",d)]},ii.Texture01),h.jsxs(f,{value:ii.Texture02,children:[h.jsx("img",{alt:ii.Texture02,src:Mue,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture02",d)]},ii.Texture02),h.jsxs(f,{value:ii.Texture03,children:[h.jsx("img",{alt:ii.Texture03,src:gqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture03",d)]},ii.Texture03),h.jsxs(f,{value:ii.Texture04,children:[h.jsx("img",{alt:ii.Texture04,src:mqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture04",d)]},ii.Texture04),h.jsxs(f,{value:ii.Texture05,children:[h.jsx("img",{alt:ii.Texture05,src:yqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture05",d)]},ii.Texture05),h.jsxs(f,{value:ii.Texture06,children:[h.jsx("img",{alt:ii.Texture06,src:Aqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture06",d)]},ii.Texture06),h.jsxs(f,{value:ii.Texture07,children:[h.jsx("img",{alt:ii.Texture07,src:wqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture07",d)]},ii.Texture07),h.jsxs(f,{value:ii.Texture08,children:[h.jsx("img",{alt:ii.Texture08,src:vqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture08",d)]},ii.Texture08),h.jsxs(f,{value:ii.Texture09,children:[h.jsx("img",{alt:ii.Texture09,src:xqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture09",d)]},ii.Texture09),h.jsxs(f,{value:ii.Texture10,children:[h.jsx("img",{alt:ii.Texture10,src:bqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture10",d)]},ii.Texture10),h.jsxs(f,{value:ii.Texture11,children:[h.jsx("img",{alt:ii.Texture11,src:Sqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture11",d)]},ii.Texture11),h.jsxs(f,{value:ii.Texture12,children:[h.jsx("img",{alt:ii.Texture12,src:Tqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture12",d)]},ii.Texture12),h.jsxs(f,{value:ii.Texture13,children:[h.jsx("img",{alt:ii.Texture13,src:Pqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture13",d)]},ii.Texture13),h.jsxs(f,{value:ii.Texture14,children:[h.jsx("img",{alt:ii.Texture14,src:Cqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture14",d)]},ii.Texture14),h.jsxs(f,{value:ii.Texture15,children:[h.jsx("img",{alt:ii.Texture15,src:Rqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture15",d)]},ii.Texture15),h.jsxs(f,{value:ii.Texture16,children:[h.jsx("img",{alt:ii.Texture16,src:Hqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture16",d)]},ii.Texture16),h.jsxs(f,{value:ii.Texture17,children:[h.jsx("img",{alt:ii.Texture17,src:Mqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture17",d)]},ii.Texture17)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:v=>M.getState().setDoorActionScope(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},xdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(I7),r=M(ro),a=M(oo),l=M(jn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.color)??"#ffffff"),d=Kt(),f=(b,v)=>{e(S=>{for(const w of S.elements)if(w.id===b){w.locked||(w.color=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Door&&b!==v.color&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Door&&b!==v.color&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&b!==v.color&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of n)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&b!==v.color&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.color))return!0;break}return!1},A=b=>{if(s&&y(b)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&!w.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&w.parentId===s.parentId&&!s.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.parentId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.color:s.color)??"#ffffff",w={name:"Set Color of Selected Door",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}e(v=>{v.actionState.doorColor=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("word.Color",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setDoorActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},bdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(I7),r=M(ro),a=M(oo),l=M(jn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.frameColor)??"#ffffff"),d=Kt(),f=(b,v)=>{e(S=>{for(const w of S.elements)if(w.id===b){!w.locked&&w.type===z.Door&&(w.frameColor=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Door&&!v.locked&&M.getState().selectedElementIdSet.has(v.id)&&b!==v.frameColor)return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Door&&!v.locked&&b!==v.frameColor)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&!v.locked&&b!==v.frameColor)return!0;break;case ue.OnlyThisSide:for(const v of n)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&!v.locked&&b!==v.frameColor)return!0;break;default:if(b!==(s==null?void 0:s.frameColor))return!0;break}return!1},A=b=>{if(s&&y(b)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&v.set(w.id,w.frameColor??"#ffffff");const S={name:"Set Color for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&!w.locked&&v.set(w.id,w.frameColor??"#ffffff");const S={name:"Set Color for All Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.frameColor??"#ffffff");const S={name:"Set Color for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&w.parentId===s.parentId&&!s.locked&&v.set(w.id,w.frameColor??"#ffffff");const S={name:"Set Color for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.parentId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.frameColor:s.frameColor)??"#ffffff",w={name:"Set Color of Selected Door",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}e(v=>{v.actionState.doorColor=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("doorMenu.FrameColor",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c??(s==null?void 0:s.frameColor)??"#ffffff",onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setDoorActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},Sdo=t=>{const e=[];if(t.type!==z.Door)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"door-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"door-cut",label:h.jsx(Tf,{})}),e.push({key:"door-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"door-filled",label:h.jsx(fdo,{door:n})},{key:"door-interior",label:h.jsx(hdo,{door:n})}),o&&(e.push({key:"door-type-submenu",label:h.jsx(tn,{children:O.t("doorMenu.DoorType",i)}),children:[{key:"door-type-radio-group",label:h.jsx(pdo,{door:n}),style:{backgroundColor:"white"}}]},{key:"door-width",label:h.jsxs(io,{Dialog:gdo,children:[O.t("word.Width",i)," ..."]})},{key:"door-height",label:h.jsxs(io,{Dialog:mdo,children:[O.t("word.Height",i)," ..."]})}),n.filled&&(e.push({key:"door-u-value",label:h.jsxs(io,{Dialog:Ado,children:[O.t("word.UValue",i)," ..."]})},{key:"door-heat-capacity",label:h.jsxs(io,{Dialog:wdo,children:[O.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"door-texture",label:h.jsxs(io,{Dialog:vdo,children:[O.t("word.Texture",i)," ..."]})},{key:"door-color",label:h.jsxs(io,{Dialog:xdo,children:[O.t("word.Color",i)," ..."]})},{key:"door-frame-color",label:h.jsxs(io,{Dialog:bdo,children:[O.t("doorMenu.FrameColor",i)," ..."]})}),(n.textureType===ii.Default||n.textureType===ii.NoTexture)&&e.push({key:"door-opacity",label:h.jsxs(io,{Dialog:ydo,children:[O.t("wallMenu.Opacity",i)," ..."]})}))),{items:e}},Tdo=({windowModel:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,note:a,digit:l,setDialogVisible:s})=>{const c=M(Jn),u=M(En),d=M(cW),f=M(ro),p=M(oo),g=M(dn),y=M(rr),A=m.useMemo(()=>{const F=t[n],W=y(t);if(W&&t.parentType!==z.Roof){if(n==="lx")return F*W.lx;if(n==="lz")return F*W.lz}return n==="sillWidth"&&F===void 0?.2:F},[n,t]),[x,C]=m.useState(A),b=Kt(),v=(F,W,B)=>{const k=y(F);k&&(W==="lx"||W==="lz")?F.parentType===z.Roof?F[W]=B:F[W]=B/k[W]:F[W]=B},S=(F,W)=>{g(B=>{for(const k of B.elements)if(k.id===F){!k.locked&&k.type===z.Window&&v(k,n,W);break}})},w=(F,W)=>{F&&g(B=>{for(const k of B.elements)!k.locked&&k.type===z.Window&&k.parentId===F&&v(k,n,W)})},T=(F,W)=>{F&&g(B=>{for(const k of B.elements)!k.locked&&k.type===z.Window&&k.foundationId===F&&v(k,n,W)})},P=F=>{g(W=>{for(const B of W.elements)!B.locked&&B.type===z.Window&&v(B,n,F)})},R=(F,W)=>{g(B=>{for(const k of B.elements)!k.locked&&k.type===z.Window&&F.has(k.id)&&v(k,n,W)})},H=F=>{for(const[W,B]of F.entries())S(W,B)},D=F=>{switch(d){case ue.AllSelectedObjectsOfThisType:for(const B of c)if(B.type===z.Window&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)){const k=B,N=y(k);if(N&&k.parentType!==z.Roof){if(n==="lx"){if(F!==k[n]*N.lx)return!0}else if(n==="lz"){if(F!==k[n]*N.lz)return!0}else if(F!==k[n])return!0}else if(F!==k[n])return!0}break;case ue.AllObjectsOfThisType:for(const B of c)if(B.type===z.Window&&!B.locked){const k=B,N=y(k);if(N&&k.parentType!==z.Roof){if(n==="lx"){if(F!==k[n]*N.lx)return!0}else if(n==="lz"){if(F!==k[n]*N.lz)return!0}else if(F!==k[n])return!0}else if(F!==k[n])return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const B of c)if(B.type===z.Window&&B.foundationId===t.foundationId&&!B.locked){const k=B,N=y(k);if(N&&k.parentType!==z.Roof){if(n==="lx"){if(F!==k[n]*N.lx)return!0}else if(n==="lz"){if(F!==k[n]*N.lz)return!0}else if(F!==k[n])return!0}else if(F!==k[n])return!0}break;case ue.OnlyThisSide:for(const B of c)if(B.type===z.Window&&B.parentId===t.parentId&&!B.locked){const k=B,N=y(k);if(N&&k.parentType!==z.Roof){if(n==="lx"){if(F!==k[n]*N.lx)return!0}else if(n==="lz"){if(F!==k[n]*N.lz)return!0}else if(F!==k[n])return!0}else if(F!==k[n])return!0}break;default:const W=y(t);if(W&&t.parentType!==z.Roof){if(n==="lx"){if(F!==t[n]*W.lx)return!0}else if(n==="lz"){if(F!==t[n]*W.lz)return!0}else if(F!==t[n])return!0}else if(F!==t[n])return!0;break}return!1},E=F=>{if(t&&D(F)){switch(d){case ue.AllSelectedObjectsOfThisType:{const W=new Map;for(const k of c)if(k.type===z.Window&&!k.locked&&M.getState().selectedElementIdSet.has(k.id)){const N=k,j=y(N);let Y=N[n];j&&N.parentType!==z.Roof&&(n==="lx"?Y*=j.lx:n==="lz"&&(Y*=j.lz)),W.set(k.id,Y)}const B={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:W,newValue:F,undo:()=>{H(B.oldValues)},redo:()=>{R(B.oldValues,B.newValue)}};u(B),R(W,F),p(f+1);break}case ue.AllObjectsOfThisType:{const W=new Map;for(const k of c)if(k.type===z.Window&&!k.locked){const N=k,j=y(N);let Y=N[n];j&&N.parentType!==z.Roof&&(n==="lx"?Y*=j.lx:n==="lz"&&(Y*=j.lz)),W.set(k.id,Y)}const B={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:W,newValue:F,undo:()=>{H(B.oldValues)},redo:()=>{P(B.newValue)}};u(B),P(F),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const W=new Map;for(const k of c)if(k.type===z.Window&&k.foundationId===t.foundationId&&!k.locked){const N=k,j=y(N);let Y=N[n];j&&N.parentType!==z.Roof&&(n==="lx"?Y*=j.lx:n==="lz"&&(Y*=j.lz)),W.set(k.id,Y)}const B={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:W,newValue:F,groupId:t.foundationId,undo:()=>{H(B.oldValues)},redo:()=>{T(t.foundationId,B.newValue)}};u(B),T(t.foundationId,F),p(f+1)}break;case ue.OnlyThisSide:if(t.parentId){const W=new Map;for(const k of c)if(k.type===z.Window&&k.parentId===t.parentId&&!k.locked){const N=k,j=y(N);let Y=N[n];j&&N.parentType!==z.Roof&&(n==="lx"?Y*=j.lx:n==="lz"&&(Y*=j.lz)),W.set(k.id,Y)}const B={name:`Set ${e} for All Windows On the Same Parent`,timestamp:Date.now(),oldValues:W,newValue:F,groupId:t.parentId,undo:()=>{H(B.oldValues)},redo:()=>{w(t.parentId,B.newValue)}};u(B),w(t.parentId,F),p(f+1)}break;default:if(t){let W=t[n];const B=y(t);B&&t.parentType!==z.Roof&&(n==="lx"?W*=B.lx:n==="lz"&&(W*=B.lz));const k={name:`Set Window ${e}`,timestamp:Date.now(),oldValue:W,newValue:F,changedElementId:t.id,changedElementType:t.type,undo:()=>{S(k.changedElementId,k.oldValue)},redo:()=>{S(k.changedElementId,k.newValue)}};u(k),S(t.id,F),p(f+1)}}g(W=>{switch(e){case Jh.Width:W.actionState.windowWidth=F;break;case Jh.Height:W.actionState.windowHeight=F;break;case Jh.Opacity:W.actionState.windowOpacity=F;break;case Jh.FrameWidth:W.actionState.windowFrameWidth=F;break;case Jh.SillWidth:W.actionState.windowSillWidth=F;break;case Jh.HorizontalMullionSpacing:W.actionState.windowHorizontalMullionSpacing=F;break;case Jh.VerticalMullionSpacing:W.actionState.windowVerticalMullionSpacing=F;break;case Jh.MullionWidth:W.actionState.windowMullionWidth=F;break}})}},L=()=>{s(!1)},U=()=>{E(x)};return h.jsx(lo,{width:550,title:O.t(`windowMenu.${e}`,b),onApply:U,onClose:L,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,value:x,formatter:F=>Number(F).toFixed(2),onChange:F=>{F!==null&&C(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [",o[0].toFixed(o[0]===0?0:l??0),","," ",o[1].toFixed(l??0),"] ",r," ",h.jsx("br",{}),h.jsx("br",{})," ",a]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:F=>M.getState().setWindowActionScope(F.target.value),value:d,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",b)})]})})})]})})},Pdo=({window:t,dataType:e,attributeKey:n,setDialogVisible:o})=>{const i=M(Jn),r=M(dn),a=M(En),l=M(cW),s=M(ro),c=M(oo),[u,d]=bZ(t[n]??"#ffffff"),f=Kt(),p=(T,P)=>{r(R=>{for(const H of R.elements)if(H.id===T){!H.locked&&H.type===z.Window&&(H[n]=P);break}})},g=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.parentId===T&&(H[n]=P)})},y=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.foundationId===T&&(H[n]=P)})},A=T=>{r(P=>{for(const R of P.elements)!R.locked&&R.type===z.Window&&(R[n]=T)})},x=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&T.has(H.id)&&(H[n]=P)})},C=T=>{for(const[P,R]of T.entries())p(P,R)},b=T=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const P of i)if(P.type===z.Window&&T!==P[n]&&!P.locked&&M.getState().selectedElementIdSet.has(P.id))return!0;break;case ue.AllObjectsOfThisType:for(const P of i)if(P.type===z.Window&&T!==P[n]&&!P.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of i)if(P.type===z.Window&&P.foundationId===t.foundationId&&T!==P[n]&&!P.locked)return!0;break;case ue.OnlyThisSide:for(const P of i)if(P.type===z.Window&&P.parentId===t.parentId&&T!==P[n]&&!P.locked)return!0;break;default:if(T!==t[n])return!0;break}return!1},v=T=>{if(t&&b(T)){switch(l){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of i)H.type===z.Window&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,H[n]);const R={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{C(R.oldValues)},redo:()=>{x(R.oldValues,R.newValue)}};a(R),x(P,T),c(s+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of i)H.type===z.Window&&!H.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{C(R.oldValues)},redo:()=>{A(R.newValue)}};a(R),A(T),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const P=new Map;for(const H of i)H.type===z.Window&&H.foundationId===t.foundationId&&!t.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:P,newValue:T,groupId:t.foundationId,undo:()=>{C(R.oldValues)},redo:()=>{y(R.groupId,R.newValue)}};a(R),y(t.foundationId,T),c(s+1)}break;case ue.OnlyThisSide:if(t.parentId){const P=new Map;for(const H of i)H.type===z.Window&&H.parentId===t.parentId&&!H.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:P,newValue:T,groupId:t.parentId,undo:()=>{C(R.oldValues)},redo:()=>{g(t.parentId,R.newValue)}};a(R),g(t.parentId,T),c(s+1)}break;default:if(t){const P=t[n],R={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:P,newValue:T,changedElementId:t.id,changedElementType:t.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};a(R),p(t.id,T),c(s+1)}}r(P=>{switch(e){case Jh.Tint:P.actionState.windowTint=T;break;case Jh.MullionColor:P.actionState.windowMullionColor=T;break;case Jh.Color:P.actionState.windowColor=T;break}})}},S=()=>{o()},w=()=>{t[n]!==u&&v(u)};return h.jsx(lo,{width:640,title:O.t(`windowMenu.${e}`,f),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u??"#73D8FF",onChangeComplete:d})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWindowActionScope(T.target.value),value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",f)})]})})})]})})},Cdo=({window:t,dataType:e,attributeKey:n,setDialogVisible:o})=>{const i=M(Jn),r=M(dn),a=M(En),l=M(cW),s=M(ro),c=M(oo),[u,d]=m.useState(t[n]),f=Kt(),p=(T,P)=>{r(R=>{for(const H of R.elements)if(H.id===T&&!H.locked&&H.type===z.Window){H[n]=P;break}})},g=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.parentId===T&&(H[n]=P)})},y=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.foundationId===T&&(H[n]=P)})},A=T=>{r(P=>{for(const R of P.elements)!R.locked&&R.type===z.Window&&(R[n]=T)})},x=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&T.has(H.id)&&(H[n]=P)})},C=T=>{for(const[P,R]of T.entries())p(P,R)},b=T=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const P of i)if(P.type===z.Window&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&P[n]!==T)return!0;break;case ue.AllObjectsOfThisType:for(const P of i)if(P.type===z.Window&&!P.locked&&P[n]!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of i)if(P.type===z.Window&&P.foundationId===t.foundationId&&!P.locked&&P[n]!==T)return!0;break;case ue.OnlyThisSide:for(const P of i)if(P.type===z.Window&&P.parentId===t.parentId&&!P.locked&&P[n]!==T)return!0;break;default:if(t[n]!==T)return!0;break}return!1},v=T=>{if(t&&b(T))switch(l){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of i)H.type===z.Window&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,H[n]);const R={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{C(R.oldValues)},redo:()=>{x(R.oldValues,R.newValue)}};a(R),x(P,T),c(s+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of i)H.type===z.Window&&!H.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{C(R.oldValues)},redo:()=>{A(R.newValue)}};a(R),A(T),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const P=new Map;for(const H of i)H.type===z.Window&&H.foundationId===t.foundationId&&!t.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:P,newValue:T,groupId:t.foundationId,undo:()=>{C(R.oldValues)},redo:()=>{y(R.groupId,R.newValue)}};a(R),y(t.foundationId,T),c(s+1)}break;case ue.OnlyThisSide:if(t.parentId){const P=new Map;for(const H of i)H.type===z.Window&&H.parentId===t.parentId&&!H.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:P,newValue:T,groupId:t.parentId,undo:()=>{C(R.oldValues)},redo:()=>{g(t.parentId,R.newValue)}};a(R),g(t.parentId,T),c(s+1)}break;default:if(t){const P=t[n],R={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:P,newValue:T,changedElementId:t.id,changedElementType:t.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};a(R),p(t.id,T),c(s+1)}}},S=()=>{o()},w=()=>{t[n]!==u&&v(u)};return h.jsx(lo,{width:500,title:O.t(`windowMenu.${e}`,f),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:u,onChange:T=>{d(T)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWindowActionScope(T.target.value),value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",f)})]})})})]})})},{Option:Rdo}=Yo,Hdo=({window:t,dataType:e,attributeKey:n,options:o,optionsText:i,setDialogVisible:r})=>{const a=M(Jn),l=M(dn),s=M(En),c=M(cW),u=M(ro),d=M(oo),[f,p]=m.useState(t[n]),g=Kt(),y=(R,H)=>{l(D=>{for(const E of D.elements)if(E.id===R){!E.locked&&E.type===z.Window&&(E[n]=H);break}})},A=(R,H)=>{l(D=>{for(const E of D.elements)!E.locked&&E.type===z.Window&&E.parentId===R&&(E[n]=H)})},x=(R,H)=>{l(D=>{for(const E of D.elements)!E.locked&&E.type===z.Window&&E.foundationId===R&&(E[n]=H)})},C=R=>{l(H=>{for(const D of H.elements)!D.locked&&D.type===z.Window&&(D[n]=R)})},b=(R,H)=>{l(D=>{for(const E of D.elements)!E.locked&&E.type===z.Window&&R.has(E.id)&&(E[n]=H)})},v=R=>{for(const[H,D]of R.entries())y(H,D)},S=R=>{if(t){switch(c){case ue.AllSelectedObjectsOfThisType:for(const H of a)if(H.type===z.Window&&R!==H[n]&&!H.locked&&M.getState().selectedElementIdSet.has(H.id))return!0;break;case ue.AllObjectsOfThisType:for(const H of a)if(H.type===z.Window&&R!==H[n]&&!H.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of a)if(H.type===z.Window&&H.foundationId===t.foundationId&&R!==H[n]&&!H.locked)return!0;break;case ue.OnlyThisSide:for(const H of a)if(H.type===z.Window&&H.parentId===t.parentId&&R!==H[n]&&!H.locked)return!0;break;default:if(R!==t[n])return!0;break}return!1}},w=R=>{if(t&&S(R)){switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of a)E.type===z.Window&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E[n]);const D={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{v(D.oldValues)},redo:()=>{b(D.oldValues,D.newValue)}};s(D),b(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of a)E.type===z.Window&&!E.locked&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{v(D.oldValues)},redo:()=>{C(D.newValue)}};s(D),C(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const E of a)E.type===z.Window&&E.foundationId===t.foundationId&&!t.locked&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{v(D.oldValues)},redo:()=>{x(D.groupId,D.newValue)}};s(D),x(t.foundationId,R),d(u+1)}break;case ue.OnlyThisSide:if(t.parentId){const H=new Map;for(const E of a)E.type===z.Window&&E.parentId===t.parentId&&!E.locked&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.parentId,undo:()=>{v(D.oldValues)},redo:()=>{A(t.parentId,D.newValue)}};s(D),A(t.parentId,R),d(u+1)}break;default:if(t){const H=t[n],D={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{y(D.changedElementId,D.oldValue)},redo:()=>{y(D.changedElementId,D.newValue)}};s(D),y(t.id,R),d(u+1)}}l(H=>{switch(e){case Jh.Tint:H.actionState.windowTint=R;break;case Jh.MullionColor:H.actionState.windowMullionColor=R;break;case Jh.Color:H.actionState.windowColor=R;break}})}},T=()=>{r()},P=()=>{w(f)};return h.jsx(lo,{width:560,title:O.t(`windowMenu.${e}`,g),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Yo,{style:{width:"150px"},value:f,onChange:R=>p(R),children:o.map((R,H)=>h.jsx(Rdo,{value:R,children:i[H]},R))})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWindowActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",g)})]})})})]})})};var w2=(t=>(t.Opacity="Opacity",t.Width="Width",t.Height="Height",t.Setback="Setback",t.HorizontalMullionSpacing="HorizontalMullionSpacing",t.VerticalMullionSpacing="VerticalMullionSpacing",t.MullionWidth="MullionWidth",t.SillWidth="SillWidth",t.FrameWidth="FrameWidth",t.ShutterWidth="ShutterWidth",t))(w2||{}),LN=(t=>(t.ShutterColor="ShutterColor",t.Color="Color",t.MullionColor="MullionColor",t.Tint="Tint",t))(LN||{}),LR=(t=>(t.Frame="Frame",t.LeftShutter="LeftShutter",t.RightShutter="RightShutter",t.HorizontalMullion="HorizontalMullion",t.VerticalMullion="VerticalMullion",t))(LR||{}),got=(t=>(t.WindowType="WindowType",t))(got||{});const c9=({dataType:t,noPadding:e})=>{const n=Kt(),[o,i]=m.useState(!1),r=co(z.Window),a=r?M.getState().getParent(r):null,l=()=>{M.getState().setApplyCount(0),i(!0)},s=Udo[t];return t==="Width"?s.range[1]=a&&r&&r.parentType!==z.Roof?2*a.lx*Math.min(Math.abs(.5-r.cx),Math.abs(-.5-r.cx)):100:t==="Height"&&(s.range[1]=a&&r&&r.parentType!==z.Roof?2*a.lz*Math.min(Math.abs(.5-r.cz),Math.abs(-.5-r.cz)):100),h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:l,children:[O.t(`windowMenu.${t}`,n)," ..."]}),o&&s&&r&&h.jsx(Tdo,{windowModel:r,dataType:t,attributeKey:s.attributeKey,range:s.range,step:s.step,unit:s.unit?O.t(s.unit,n):void 0,note:s.note?O.t(s.note,n):void 0,digit:s.digit??0,setDialogVisible:i})]})},BZ=({dataType:t,noPadding:e})=>{const[n,o]=m.useState(!1),i=Kt(),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),o(!0)},l=Ldo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[O.t(`windowMenu.${t}`,i)," ..."]}),n&&l&&r&&h.jsx(Pdo,{window:r,dataType:t,attributeKey:l.attributeKey,setDialogVisible:()=>o(!1)})]})},PF=({dataType:t,noPadding:e})=>{const[n,o]=m.useState(!1),i=Kt(),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),o(!0)},l=Wdo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[O.t(`windowMenu.${t}`,i)," ..."]}),n&&l&&r&&h.jsx(Cdo,{window:r,dataType:t,attributeKey:l.attributeKey,setDialogVisible:()=>o(!1)})]})},Mdo=({dataType:t,noPadding:e})=>{const n=Kt(),[o,i]=m.useState(!1),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),i(!0)},l=Ndo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[O.t(`windowMenu.${t}`,n)," ..."]}),o&&l&&r&&h.jsx(Hdo,{window:r,dataType:t,attributeKey:l.attributeKey,options:[Sr.Default,Sr.Arched,Sr.Polygonal],optionsText:[O.t("windowMenu.Default",n),O.t("windowMenu.Arched",n),O.t("windowMenu.Polygonal",n)],setDialogVisible:()=>i(!1)})]})},Ido=({window:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Window){l.empty=r;break}})},o=i=>{const r=i.target.checked,a={name:"Empty Window",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.windowEmpty=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.empty,onChange:o,children:O.t("windowMenu.Empty",e)})})},zdo=({window:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Window){l.interior=r;break}})},o=i=>{const r=i.target.checked,a={name:"Interior Window",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.windowInterior=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.interior,onChange:o,children:O.t("windowMenu.Interior",e)})})},Ddo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(cW),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Window),[c,u]=m.useState((s==null?void 0:s.uValue)??B4),[d,f]=m.useState(be.toUValueInUS(c)),p=Kt(),g=(S,w)=>{l(T=>{for(const P of T.elements)if(P.id===S){P.uValue=w;break}})},y=S=>{for(const[w,T]of S.entries())g(w,T)},A=(S,w)=>{for(const T of S.keys())g(T,w)},x=S=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.Window&&S!==w.uValue&&!w.locked&&M.getState().selectedElementIdSet.has(w.id))return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.Window&&S!==w.uValue&&!w.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.Window&&w.foundationId===s.foundationId&&S!==w.uValue&&!w.locked)return!0;break;case ue.OnlyThisSide:for(const w of e)if(w.type===z.Window&&w.parentId===s.parentId&&S!==w.uValue&&!w.locked)return!0;break;default:if(S!==(s==null?void 0:s.uValue))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(o){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Window&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const R=P;w.set(P.id,R.uValue??B4),g(R.id,S)}const T={name:"Set U-Value for Selected Windows",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Window&&!P.locked){const R=P;w.set(P.id,R.uValue??B4),g(R.id,S)}const T={name:"Set U-Value for All Windows",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;for(const P of e)if(P.type===z.Window&&P.foundationId===s.foundationId&&!P.locked){const R=P;w.set(P.id,R.uValue??B4),g(R.id,S)}const T={name:"Set U-Value for All Windows Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const w=new Map;for(const P of e)if(P.type===z.Window&&P.parentId===s.parentId&&!P.locked){const R=P;w.set(P.id,R.uValue??B4),g(R.id,S)}const T={name:"Set U-Value for All Windows On the Same Wall",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.parentId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).uValue??s.uValue??B4,P={name:"Set Window U-Value",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(P.changedElementId,P.oldValue)},redo:()=>{g(P.changedElementId,P.newValue)}};n(P),g(s.id,S),r(i+1)}}l(w=>{w.actionState.windowUValue=S})}},b=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${O.t("word.UValue",p)+" "}(${O.t("word.ThermalTransmittance",p)})`,onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(u(S),f(be.toUValueInUS(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",p),": W/(m²·℃)"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toUValueInUS(.01),max:be.toUValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(f(S),u(be.toUValueInSI(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [",be.toUValueInUS(.01).toFixed(3),", ",be.toUValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",p),": Btu/(h·ft²·℉)"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWindowActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",p)})]})})})]})})},Edo=t=>{const e=[];return M.getState().language,e.push({key:"window-frame-boolean",label:h.jsx(PF,{noPadding:!0,dataType:LR.Frame})}),t.frame&&e.push({type:"divider"},{key:"window-frame-width",label:h.jsx(c9,{noPadding:!0,dataType:w2.FrameWidth})},{key:"window-sill-width",label:h.jsx(c9,{noPadding:!0,dataType:w2.SillWidth})},{key:"window-frame-color",label:h.jsx(BZ,{noPadding:!0,dataType:LN.Color})}),e},kdo=t=>{const e=[];return e.push({key:"window-horizontal-mullion",label:h.jsx(PF,{noPadding:!0,dataType:LR.HorizontalMullion})},{key:"window-vertical-mullion",label:h.jsx(PF,{noPadding:!0,dataType:LR.VerticalMullion})}),(t.horizontalMullion||t.verticalMullion)&&(e.push({type:"divider"},{key:"window-mullion-width",label:h.jsx(c9,{noPadding:!0,dataType:w2.MullionWidth})},{key:"window-mullion-color",label:h.jsx(BZ,{noPadding:!0,dataType:LN.MullionColor})}),t.horizontalMullion&&e.push({key:"window-horizontal-mullion-spacing",label:h.jsx(c9,{noPadding:!0,dataType:w2.HorizontalMullionSpacing})}),t.verticalMullion&&e.push({key:"window-vertical-mullion-spacing",label:h.jsx(c9,{noPadding:!0,dataType:w2.VerticalMullionSpacing})})),e},Fdo=t=>{const e=[];return e.push({key:"window-left-shutter",label:h.jsx(PF,{noPadding:!0,dataType:LR.LeftShutter})},{key:"window-right-shutter",label:h.jsx(PF,{noPadding:!0,dataType:LR.RightShutter})}),(t.leftShutter||t.rightShutter)&&e.push({type:"divider"},{key:"window-shutter-color",label:h.jsx(BZ,{noPadding:!0,dataType:LN.ShutterColor})},{key:"window-shutter-width",label:h.jsx(c9,{noPadding:!0,dataType:w2.ShutterWidth})}),e};var Jh=(t=>(t.Color="Color",t.Tint="Tint",t.Opacity="Opacity",t.WindowType="WindowType",t.HorizontalMullion="HorizontalMullion",t.VerticalMullion="VerticalMullion",t.MullionWidth="MullionWidth",t.HorizontalMullionSpacing="HorizontalMullionSpacing",t.VerticalMullionSpacing="VerticalMullionSpacing",t.MullionColor="MullionColor",t.Frame="Frame",t.FrameWidth="FrameWidth",t.SillWidth="SillWidth",t.Width="Width",t.Height="Height",t.Setback="Setback",t.LeftShutter="LeftShutter",t.RightShutter="RightShutter",t.ShutterColor="ShutterColor",t.ShutterWidth="ShutterWidth",t))(Jh||{});const Ldo={Tint:{attributeKey:"tint"},Color:{attributeKey:"color"},MullionColor:{attributeKey:"mullionColor"},ShutterColor:{attributeKey:"shutterColor"}},Wdo={HorizontalMullion:{attributeKey:"horizontalMullion"},VerticalMullion:{attributeKey:"verticalMullion"},Frame:{attributeKey:"frame"},LeftShutter:{attributeKey:"leftShutter"},RightShutter:{attributeKey:"rightShutter"}},Ndo={WindowType:{attributeKey:"windowType",options:[Sr.Default,Sr.Arched,Sr.Polygonal]}},Udo={Opacity:{attributeKey:"opacity",range:[0,.9],step:.1,note:"windowMenu.SolarHeatGainCoefficient",digit:1},Width:{attributeKey:"lx",range:[.1,100],step:.1,unit:"word.MeterAbbreviation",digit:1},Height:{attributeKey:"lz",range:[.1,100],step:.1,unit:"word.MeterAbbreviation",digit:1},Setback:{attributeKey:"cy",range:[0,1],step:.01,unit:"",digit:0,note:"windowMenu.RelativeToWallThickness"},MullionWidth:{attributeKey:"mullionWidth",range:[0,.2],step:.1,unit:"word.MeterAbbreviation",digit:1},ShutterWidth:{attributeKey:"shutterWidth",range:[0,.5],step:.01,unit:"",digit:1},HorizontalMullionSpacing:{attributeKey:"horizontalMullionSpacing",range:[.1,5],step:.01,unit:"word.MeterAbbreviation",digit:1},VerticalMullionSpacing:{attributeKey:"verticalMullionSpacing",range:[.1,5],step:.01,unit:"word.MeterAbbreviation",digit:1},FrameWidth:{attributeKey:"frameWidth",range:[.05,.2],step:.01,unit:"word.MeterAbbreviation",digit:2},SillWidth:{attributeKey:"sillWidth",range:[0,.5],step:.01,unit:"word.MeterAbbreviation",digit:2}},Bdo=t=>{const e=[];if(t.type!==z.Window)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"window-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"window-cut",label:h.jsx(Tf,{})}),e.push({key:"window-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"window-empty",label:h.jsx(Ido,{window:n})},{key:"window-interior",label:h.jsx(zdo,{window:n})}),o&&e.push({key:"window-type",label:h.jsx(Mdo,{dataType:got.WindowType})},{key:"window-width",label:h.jsx(c9,{dataType:w2.Width})},{key:"window-height",label:h.jsx(c9,{dataType:w2.Height})},{key:"window-setback",label:h.jsx(c9,{dataType:w2.Setback})},{key:"window-opacity",label:h.jsx(c9,{dataType:w2.Opacity})},{key:"window-tint",label:h.jsx(BZ,{dataType:LN.Tint})},{key:"window-u-value",label:h.jsxs(io,{Dialog:Ddo,children:[O.t("word.UValue",i)," ..."]})},{key:"window-mullion-submenu",label:h.jsx(tn,{children:O.t("windowMenu.Mullion",i)}),children:kdo(n)},{key:"window-frame-submenu",label:h.jsx(tn,{children:O.t("windowMenu.Frame",i)}),children:Edo(n)},{key:"window-shutter-submenu",label:h.jsx(tn,{children:O.t("windowMenu.Shutter",i)}),children:Fdo(n)}),{items:e}},jdo=({roof:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{const l=a.elements.find(s=>s.id===i&&s.type===z.Roof);l&&(l.ceiling=r,a.actionState.roofCeiling=r)})},o=i=>{const r=i.target.checked,a={name:"Roof Ceiling",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.ceiling,onChange:o,children:O.t("roofMenu.Ceiling",e)})})},Ydo=({roof:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Roof`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx(qm,{}),onOk:s})};return h.jsx(tn,{update:!0,noPadding:!0,onClick:l,children:i})},qRe=({roof:t,objectType:e,lock:n,children:o})=>{const i=M.getState().updateElementLockById,r=M.getState().updateElementLockByParentId,a=()=>{const l=e.replaceAll(" ",""),s=new Map;for(const d of M.getState().elements)d.parentId===t.id&&d.type===e&&s.set(d.id,!!d.locked);r(t.id,e,n);const u={name:n?`Lock All Unlocked ${l} on Roof`:`Unlock All Locked ${l} on Roof`,timestamp:Date.now(),oldValues:s,newValue:!0,undo:()=>{for(const[d,f]of u.oldValues.entries())i(d,f)},redo:()=>{r(t.id,e,n)}};M.getState().addUndoable(u)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:a,children:o})},Odo=({roof:t})=>{const e=Kt(),n=M.getState().updateRoofStructureById,o=i=>{const r={name:"Select Roof Structure",timestamp:Date.now(),oldValue:t.roofStructure??yc.Default,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value),M.getState().set(a=>{a.actionState.roofStructure=i.target.value})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.roofStructure??yc.Default,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:yc.Default,children:O.t("roofMenu.DefaultStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:yc.Rafter,children:O.t("roofMenu.RafterStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:yc.Glass,children:O.t("roofMenu.GlassStructure",e)})]})})})},wae=[{key:"solarPanelCount",lockedKey:"lockedSolarPanelCount",objectType:z.SolarPanel},{key:"windowCount",lockedKey:"lockedWindowCount",objectType:z.Window},{key:"sensorCount",lockedKey:"lockedSensorCount",objectType:z.Sensor},{key:"outsideLightCount",lockedKey:"lockedLightCount",objectType:z.Light}],_do=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.SolarPanel:{o=`${O.t("roofMenu.RemoveAllUnlockedSolarPanels",n)} (${e})`,i=`${O.t("roofMenu.DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof",n)} (${e} ${O.t("roofMenu.SolarPanels",n)})`;break}case z.Window:{o=`${O.t("roofMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${O.t("roofMenu.DoYouReallyWantToRemoveAllWindowsOnThisRoof",n)} (${e} ${O.t("roofMenu.Windows",n)})`;break}case z.Sensor:{o=`${O.t("roofMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${O.t("roofMenu.DoYouReallyWantToRemoveAllSensorsOnThisRoof",n)} (${e} ${O.t("roofMenu.Sensors",n)})`;break}case z.Light:{o=`${O.t("roofMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${O.t("roofMenu.DoYouReallyWantToRemoveAllLightsOnThisRoof",n)} (${e} ${O.t("roofMenu.Lights",n)})`;break}}return{itemLabel:o,modalTitle:i}},vae=(t,e,n,o)=>n===z.Light?o?t.lockedLightCount:t.insideLightCount+t.outsideLightCount:t[e],Vdo=(t,e,n)=>{const o=[],i={lng:M.getState().language};return wae.forEach(({key:r,objectType:a})=>{const l=vae(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=_do(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-roof`,label:h.jsx(Ydo,{roof:t,objectType:a,modalTitle:c,children:s})})}}),wae.forEach(({key:r,objectType:a})=>{const l=vae(n,r,a);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`lock-all-${s}s-on-roof`,label:h.jsxs(qRe,{roof:t,objectType:a,lock:!0,children:[O.t(`wallMenu.LockAllUnlocked${s}s`,i)," (",l,")"]})})}}),wae.forEach(({lockedKey:r,objectType:a})=>{const l=vae(e,r,a,!0);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`unlock-all-${s}s-on-wall`,label:h.jsxs(qRe,{roof:t,objectType:a,lock:!1,children:[O.t(`wallMenu.UnlockAllLocked${s}s`,i)," (",l,")"]})})}}),e.outsideLightCount>0&&o.push({key:"inside-lights-on-wall",label:h.jsxs(qG,{element:t,inside:!0,children:[O.t("wallMenu.AllLightsOnWallInside",i)," (",e.outsideLightCount,")"]})}),e.insideLightCount>0&&o.push({key:"outside-lights-on-wall",label:h.jsxs(qG,{element:t,inside:!1,children:[O.t("wallMenu.AllLightsOnWallOutside",i)," (",e.insideLightCount,")"]})}),o},Gdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.thickness)??.4),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)w.id===b&&(w.thickness=v,S.updateElementOnRoofFlag=!0),w.parentId===b&&w.type===z.Window&&(w.ly=v)})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.thickness&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.thickness&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.thickness&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.thickness))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)){const T=w;v.set(w.id,T.thickness),f(T.id,b)}const S={name:"Set Thickness for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Roof&&!w.locked){const T=w;v.set(w.id,T.thickness),f(T.id,b)}const S={name:"Set Thickness for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)if(w.type===z.Roof&&w.foundationId===s.foundationId&&!w.locked){const T=w;v.set(w.id,T.thickness),f(T.id,b)}const S={name:"Set Thickness for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).thickness??s.thickness??.4,w={name:"Set Roof Thickness",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.roofThickness=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("word.Thickness",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.05,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.05, 1] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},Xdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=co(z.Roof),[s,c]=m.useState((l==null?void 0:l.rise)??0),u=Kt(),d=(C,b)=>{M.getState().updateRoofRiseById(C,b),M.getState().set(v=>{v.updateElementOnRoofFlag=!0})},f=C=>{for(const[b,v]of C.entries())d(b,v)},p=(C,b)=>{for(const v of C.keys())d(v,b)},g=C=>{if(l){switch(o){case ue.AllSelectedObjectsOfThisType:for(const b of e)if(b.type===z.Roof&&C!==b.rise&&!b.locked&&M.getState().selectedElementIdSet.has(b.id))return!0;break;case ue.AllObjectsOfThisType:for(const b of e)if(b.type===z.Roof&&C!==b.rise&&!b.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const b of e)if(b.type===z.Roof&&b.foundationId===l.foundationId&&C!==b.rise&&!b.locked)return!0;break;default:if(C!==(l==null?void 0:l.rise))return!0;break}return!1}},y=C=>{if(l&&g(C))switch(M.getState().roofActionScope){case ue.AllSelectedObjectsOfThisType:{const b=new Map;for(const S of e)S.type===z.Roof&&!S.locked&&(b.set(S.id,S.rise),d(S.id,C));const v={name:"Set Rise for Selected Roofs",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1);break}case ue.AllObjectsOfThisType:{const b=new Map;for(const S of e)S.type===z.Roof&&!S.locked&&(b.set(S.id,S.rise),d(S.id,C));const v={name:"Set Rise for All Roofs",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(l.foundationId){const b=new Map;for(const S of e)S.type===z.Roof&&S.foundationId===l.foundationId&&!S.locked&&(b.set(S.id,S.rise),d(S.id,C));const v={name:"Set Rise for All Roofs Above Foundation",timestamp:Date.now(),oldValues:b,newValue:C,groupId:l.foundationId,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1)}break;default:if(l){const b=a(l.id),v=(b==null?void 0:b.rise)??(l==null?void 0:l.rise)??0,S={name:"Set Roof Rise",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:l.id,changedElementType:l.type,undo:()=>{d(S.changedElementId,S.oldValue)},redo:()=>{d(S.changedElementId,S.newValue)}};n(S),d(l.id,C),r(i+1)}}},A=()=>{t(!1)},x=()=>{y(s)};return h.jsx(lo,{width:550,title:O.t("roofMenu.Rise",u),onApply:x,onClose:A,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:200,style:{width:120},step:.1,precision:2,value:s,formatter:C=>Number(C).toFixed(2),onChange:C=>c(C)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",u),": [0, 200] ",O.t("word.MeterAbbreviation",u)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",u)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:C=>M.getState().setRoofActionScope(C.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",u)})]})})})]})})},Jdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rValue)??Z4),[d,f]=m.useState(be.toRValueInUS(c)),p=Kt(),g=(S,w)=>{l(T=>{for(const P of T.elements)if(P.id===S){P.rValue=w;break}})},y=S=>{for(const[w,T]of S.entries())g(w,T)},A=(S,w)=>{for(const T of S.keys())g(T,w)},x=S=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.Roof&&S!==w.rValue&&!w.locked&&M.getState().selectedElementIdSet.has(w.id))return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.Roof&&S!==w.rValue&&!w.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.Roof&&w.foundationId===s.foundationId&&S!==w.rValue&&!w.locked)return!0;break;default:if(S!==(s==null?void 0:s.rValue))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(o){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Roof&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const R=P;w.set(P.id,R.rValue??Z4),g(R.id,S)}const T={name:"Set R-Value for Selected Roofs",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Roof&&!P.locked){const R=P;w.set(P.id,R.rValue??Z4),g(R.id,S)}const T={name:"Set R-Value for All Roofs",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;for(const P of e)if(P.type===z.Roof&&P.foundationId===s.foundationId&&!P.locked){const R=P;w.set(P.id,R.rValue??Z4),g(R.id,S)}const T={name:"Set R-Value for All Roofs Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).rValue??s.rValue??Z4,P={name:"Set Roof R-Value",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(P.changedElementId,P.oldValue)},redo:()=>{g(P.changedElementId,P.newValue)}};n(P),g(s.id,S),r(i+1)}}l(w=>{w.actionState.roofRValue=S})}},b=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${O.t("roofMenu.RoofRValue",p)+" "}(${O.t("word.ThermalResistance",p)})`,onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(u(S),f(be.toRValueInUS(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",p),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toRValueInUS(.01),max:be.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(f(S),u(be.toRValueInSI(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [",be.toRValueInUS(.01).toFixed(3),", ",be.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",p),": h·ft²·℉/Btu"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setRoofActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",p)})]})})})]})})},Kdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.volumetricHeatCapacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.volumetricHeatCapacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Roof&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Roof&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Roof&&T.foundationId===s.foundationId&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,w={name:"Set Volumetric Heat Capacity of Roof",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.roofVolumetricHeatCapacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),O.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},qdo="/aladdin/assets/roof_edge-DBy_1Q5D.png",$do="/aladdin/assets/roof_01-BwuyLpwq.png",Qdo="/aladdin/assets/roof_02-DAbYjnV7.png",Zdo="/aladdin/assets/roof_03-haZGIixv.png",efo="/aladdin/assets/roof_04-DDuwUcDr.png",tfo="/aladdin/assets/roof_05-CtBb5xIW.png",nfo="/aladdin/assets/roof_06-DuyyebV8.png",ofo="/aladdin/assets/roof_07-DXWGQN8a.png",ifo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(dn),l=M(jn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.textureType)??Ui.Default),d=Kt(),{Option:f}=Yo,p=(v,S)=>{a(w=>{for(const T of w.elements)if(T.id===v){T.locked||(T.textureType=S);break}})},g=(v,S)=>{for(const w of v.keys())p(w,S)},y=v=>{for(const[S,w]of v.entries())p(S,w)},A=v=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Roof&&v!==S.textureType&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break;case ue.AllObjectsOfThisType:for(const S of e)if(S.type===z.Roof&&v!==S.textureType&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of e)if(S.type===z.Roof&&S.foundationId===s.foundationId&&v!==S.textureType&&!S.locked)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0;break}return!1}},x=v=>{if(s&&A(v)){switch(o){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of e)T.type===z.Roof&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&S.set(T.id,T.textureType??Ui.Default);const w={name:"Set Texture for Selected Roofs",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{y(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of e)T.type===z.Roof&&!T.locked&&S.set(T.id,T.textureType??Ui.Default);const w={name:"Set Texture for All Roofs",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{y(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const S=new Map;for(const T of e)T.type===z.Roof&&T.foundationId===s.foundationId&&!T.locked&&S.set(T.id,T.textureType);const w={name:"Set Texture for All Roofs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:v,groupId:s.foundationId,undo:()=>{y(w.oldValues)},redo:()=>{w.groupId&&g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1)}break;default:if(s){const S=l(s.id),w=S?S.textureType:s.textureType,T={name:"Set Texture of Selected Roof",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};n(T),p(s.id,v),r(i+1)}}a(S=>{S.actionState.roofTexture=v})}},C=()=>{t(!1)},b=()=>{x(c)};return h.jsx(lo,{width:550,title:O.t("word.Texture",d),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:v=>u(v),children:[h.jsxs(f,{value:Ui.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",d)]},Ui.NoTexture),h.jsxs(f,{value:Ui.Default,children:[h.jsx("img",{alt:Ui.Default,src:qdo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.TextureDefault",d)]},Ui.Default),h.jsxs(f,{value:Ui.Texture01,children:[h.jsx("img",{alt:Ui.Texture01,src:$do,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture01",d)]},Ui.Texture01),h.jsxs(f,{value:Ui.Texture02,children:[h.jsx("img",{alt:Ui.Texture02,src:Qdo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture02",d)]},Ui.Texture02),h.jsxs(f,{value:Ui.Texture03,children:[h.jsx("img",{alt:Ui.Texture03,src:Zdo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture03",d)]},Ui.Texture03),h.jsxs(f,{value:Ui.Texture04,children:[h.jsx("img",{alt:Ui.Texture04,src:efo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture04",d)]},Ui.Texture04),h.jsxs(f,{value:Ui.Texture05,children:[h.jsx("img",{alt:Ui.Texture05,src:tfo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture05",d)]},Ui.Texture05),h.jsxs(f,{value:Ui.Texture06,children:[h.jsx("img",{alt:Ui.Texture06,src:nfo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture06",d)]},Ui.Texture06),h.jsxs(f,{value:Ui.Texture07,children:[h.jsx("img",{alt:Ui.Texture07,src:ofo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture07",d)]},Ui.Texture07)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:v=>M.getState().setRoofActionScope(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},rfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(ty),r=M(ro),a=M(oo),l=M(jn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.color)??"#ffffff"),d=Kt(),f=(b,v)=>{e(S=>{for(const w of S.elements)if(w.id===b){w.locked||(w.color=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&b!==v.color&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&b!==v.color&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.color&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.color))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of n)w.type===z.Roof&&!w.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of n)w.type===z.Roof&&!w.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of n)w.type===z.Roof&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.color:s.color)??"#ffffff",w={name:"Set Color of Selected Roof",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}e(v=>{v.actionState.roofColor=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("roofMenu.RoofColor",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},afo=({setDialogVisible:t})=>{const e=M(Jn),n=M(dn),o=M(En),i=M(ty),r=M(ro),a=M(oo),l=M(jn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.sideColor)??"#ffffff"),d=Kt(),f=(b,v)=>{n(S=>{for(const w of S.elements)if(w.id===b){w.locked||(w.sideColor=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.sideColor&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.sideColor&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.sideColor&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.sideColor))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&v.set(w.id,w.sideColor??"#ffffff");const S={name:"Set Side Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&v.set(w.id,w.sideColor??"#ffffff");const S={name:"Set Side Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)w.type===z.Roof&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.sideColor??"#ffffff");const S={name:"Set Side Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.sideColor:s.sideColor)??"#ffffff",w={name:"Set Side Color of Selected Roof",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}n(v=>{v.actionState.roofSideColor=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("roofMenu.RoofSideColor",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c??(s==null?void 0:s.sideColor)??"#ffffff",onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},lfo=({setDialogVisible:t})=>{const e=M(Sc),n=M(Z9),o=M(En),i=M(ty),r=M(hYe),a=M(ro),l=M(oo),s=M(ca),c=M(jn),u=M(dn),d=M(F=>{if(n){for(const W of F.elements)if(W.id===n.id)return W}return null}),[f,p]=m.useState((d==null?void 0:d.ceilingRValue)??c6),[g,y]=m.useState(be.toRValueInUS(f)),[A,x]=m.useState(!1),[C,b]=m.useState({left:0,top:0,bottom:0,right:0}),v=m.useRef(null),S={lng:e};m.useEffect(()=>{d&&p((d==null?void 0:d.ceilingRValue)??c6)},[d==null?void 0:d.ceilingRValue]);const w=(F,W)=>{u(B=>{for(const k of B.elements)if(k.id===F){k.ceilingRValue=W;break}})},T=F=>{for(const[W,B]of F.entries())w(W,B)},P=(F,W)=>{for(const B of F.keys())w(B,W)},R=F=>{if(d){switch(i){case ue.AllObjectsOfThisType:const W=new Map;u(k=>{for(const N of k.elements)if(N.type===z.Roof&&!N.locked){const j=N;W.set(N.id,j.ceilingRValue??c6),j.ceilingRValue=F}});const B={name:"Set R-Value for All Ceilings",timestamp:Date.now(),oldValues:W,newValue:F,undo:()=>{T(B.oldValues)},redo:()=>{P(B.oldValues,B.newValue)}};o(B),l(a+1);break;case ue.AllObjectsOfThisTypeAboveFoundation:if(d.foundationId){const k=new Map;u(j=>{for(const Y of j.elements)if(Y.type===z.Roof&&Y.foundationId===d.foundationId&&!Y.locked){const _=Y;k.set(Y.id,_.ceilingRValue??c6),_.ceilingRValue=F}});const N={name:"Set R-Value for All Ceilings Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:d.foundationId,undo:()=>{T(N.oldValues)},redo:()=>{P(N.oldValues,N.newValue)}};o(N),l(a+1)}break;default:if(d){const N=c(d.id).ceilingRValue??d.ceilingRValue??c6,j={name:"Set Ceiling R-Value",timestamp:Date.now(),oldValue:N,newValue:F,changedElementId:d.id,changedElementType:d.type,undo:()=>{w(j.changedElementId,j.oldValue)},redo:()=>{w(j.changedElementId,j.newValue)}};o(j),w(d.id,F),l(a+1)}}u(W=>{W.actionState.roofRValue=F})}},H=(F,W)=>{if(v.current){const{clientWidth:B,clientHeight:k}=window.document.documentElement,N=v.current.getBoundingClientRect();b({left:-N.left+W.x,right:B-(N.right-W.x),top:-N.top+W.y,bottom:k-((N==null?void 0:N.bottom)-W.y)})}},D=()=>{p((d==null?void 0:d.ceilingRValue)??c6),t(!1)},E=()=>{D(),s()},L=()=>{R(f),t(!1),l(0)},U=()=>{R(f)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>x(!0),onMouseOut:()=>x(!1),children:[O.t("roofMenu.CeilingRValue",S)+" ","(",O.t("word.ThermalResistance",S),")"]}),footer:[h.jsx(no,{onClick:U,children:O.t("word.Apply",S)},"Apply"),h.jsx(no,{onClick:E,children:O.t("word.Cancel",S)},"Cancel"),h.jsx(no,{type:"primary",onClick:L,children:O.t("word.OK",S)},"OK")],onCancel:D,maskClosable:!1,destroyOnClose:!1,modalRender:F=>h.jsx(Vr,{disabled:!A,bounds:C,onStart:(W,B)=>H(W,B),children:h.jsx("div",{ref:v,children:F})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:f,formatter:F=>Number(F).toFixed(2),onChange:F=>{F!==null&&(p(F),y(be.toRValueInUS(F)))},onPressEnter:L}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",S),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",S),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toRValueInUS(.01),max:be.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:g,formatter:F=>Number(F).toFixed(2),onChange:F=>{F!==null&&(y(F),p(be.toRValueInSI(F)))},onPressEnter:L}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",S),": [",be.toRValueInUS(.01).toFixed(3),", ",be.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",S),": h·ft²·℉/Btu"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:F=>r(F.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisCeiling",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllCeilingsAboveFoundation",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllCeilings",S)})]})})})]})})})},sfo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"roof-ceiling",label:h.jsx(jdo,{roof:t})}),t.ceiling&&n.push({type:"divider"},{key:"ceiling-r-value",label:h.jsxs(io,{noPadding:!0,Dialog:lfo,children:[O.t("roofMenu.CeilingRValue",e)," ..."]})}),n},cfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(ty),r=M(ro),a=M(oo),l=M(jn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterColor)??"#ffffff"),d=Kt(),f=(b,v)=>{e(S=>{for(const w of S.elements)if(w.id===b){w.locked||(w.rafterColor=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&b!==v.rafterColor&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&b!==v.rafterColor&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.rafterColor&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.rafterColor))return!0;break}return!1}},A=b=>{if(s&&y(b))switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of n)w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&v.set(w.id,w.rafterColor??"#ffffff");const S={name:"Set Rafter Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of n)w.type===z.Roof&&!w.locked&&v.set(w.id,w.rafterColor??"#ffffff");const S={name:"Set Rafter Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of n)w.type===z.Roof&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.rafterColor??"#ffffff");const S={name:"Set Rafter Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.rafterColor:s.rafterColor)??"#ffffff",w={name:"Set Rafter Color of Selected Roof",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("roofMenu.RoofColor",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},ufo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterSpacing)??1),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.rafterSpacing=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.rafterSpacing&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.rafterSpacing&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.rafterSpacing&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.rafterSpacing))return!0;break}return!1}},A=b=>{if(s&&y(b))switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&(v.set(w.id,w.rafterSpacing??1),f(w.id,b));const S={name:"Set Rafter Spacing for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&(v.set(w.id,w.rafterSpacing??1),f(w.id,b));const S={name:"Set Rafter Spacing for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)w.type===z.Roof&&w.foundationId===s.foundationId&&!w.locked&&(v.set(w.id,w.rafterSpacing??1),f(w.id,b));const S={name:"Set Rafter Spacing for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).rafterSpacing??s.rafterSpacing??1,w={name:"Set Roof Rafter Spacing",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("roofMenu.RafterSpacing",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:100,style:{width:120},step:.1,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.1, 100] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},dfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterWidth)??.1),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.rafterWidth=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.rafterWidth&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.rafterWidth&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.rafterWidth&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.rafterWidth))return!0;break}return!1}},A=b=>{if(s&&y(b))switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&(v.set(w.id,w.rafterWidth??.1),f(w.id,b));const S={name:"Set Rafter Width for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&(v.set(w.id,w.rafterWidth??.1),f(w.id,b));const S={name:"Set Rafter Width for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)w.type===z.Roof&&w.foundationId===s.foundationId&&!w.locked&&(v.set(w.id,w.rafterWidth??.1),f(w.id,b));const S={name:"Set Rafter Width for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).rafterWidth??s.rafterWidth??.1,w={name:"Set Roof Rafter Width",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("roofMenu.RafterWidth",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.01,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.01, 1] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},ffo=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(Z9),o=M(En),i=M(ty),r=M(hYe),a=M(ro),l=M(oo),s=M(ca),c=M(jn),[u,d]=m.useState((n==null?void 0:n.glassTint)??"#73D8FF"),[f,p]=m.useState(!1),[g,y]=m.useState({left:0,top:0,bottom:0,right:0}),A=m.useRef(null),x=m.useRef(null);m.useEffect(()=>{var E;(E=x.current)==null||E.focus()});const C=Kt();m.useEffect(()=>{n&&d((n==null?void 0:n.glassTint)??"#73D8FF")},[n]);const b=(E,L)=>{e(U=>{for(const F of U.elements)if(F.id===E){F.locked||(F.glassTint=L);break}})},v=(E,L)=>{for(const U of E.keys())b(U,L)},S=E=>{for(const[L,U]of E.entries())b(L,U)},w=E=>{if(n)switch(i){case ue.AllObjectsOfThisType:{const L=new Map;for(const F of M.getState().elements)F.type===z.Roof&&!F.locked&&L.set(F.id,F.glassTint??"#73D8FF");const U={name:"Set Glass Tint for All Roofs",timestamp:Date.now(),oldValues:L,newValue:E,undo:()=>{S(U.oldValues)},redo:()=>{v(U.oldValues,U.newValue)}};o(U),v(L,E),l(a+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(n.foundationId){const L=new Map;for(const F of M.getState().elements)F.type===z.Roof&&F.foundationId===n.foundationId&&!n.locked&&L.set(F.id,F.glassTint??"#73D8FF");const U={name:"Set Glass Tint for All Roofs Above Foundation",timestamp:Date.now(),oldValues:L,newValue:E,groupId:n.foundationId,undo:()=>{S(U.oldValues)},redo:()=>{U.groupId&&v(U.oldValues,U.newValue)}};o(U),v(L,E),l(a+1)}break}default:{if(n){const L=c(n.id),U=(L?L.glassTint:n.glassTint)??"#73D8FF",F={name:"Set Glass Tint of Selected Roof",timestamp:Date.now(),oldValue:U,newValue:E,changedElementId:n.id,changedElementType:n.type,undo:()=>{b(F.changedElementId,F.oldValue)},redo:()=>{b(F.changedElementId,F.newValue)}};o(F),b(n.id,E),l(a+1)}break}}},T=(E,L)=>{if(A.current){const{clientWidth:U,clientHeight:F}=window.document.documentElement,W=A.current.getBoundingClientRect();y({left:-W.left+L.x,right:U-(W.right-L.x),top:-W.top+L.y,bottom:F-((W==null?void 0:W.bottom)-L.y)})}},P=()=>{n!=null&&n.glassTint&&d(n.glassTint),t(!1)},R=()=>{P(),s()},H=()=>{const E=c(n.id);E&&E.glassTint!==u&&w(u),t(!1),l(0)},D=()=>{w(u)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:O.t("roofMenu.GlassTint",C)}),footer:[h.jsx(no,{onClick:D,children:O.t("word.Apply",C)},"Apply"),h.jsx(no,{onClick:R,children:O.t("word.Cancel",C)},"Cancel"),h.jsx(no,{type:"primary",ref:x,onClick:H,children:O.t("word.OK",C)},"OK")],onCancel:P,maskClosable:!1,destroyOnClose:!1,modalRender:E=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(L,U)=>T(L,U),children:h.jsx("div",{ref:A,children:E})}),children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u??(n==null?void 0:n.glassTint)??"#73D8FF",onChangeComplete:E=>{d(E.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:E=>r(E.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",C)})]})})})]})})})}),hfo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"roof-structure-radio-group",label:h.jsx(Odo,{roof:t}),style:{backgroundColor:"white"}}),t.roofStructure===yc.Rafter&&n.push({type:"divider"},{key:"roof-rafter-spacing",label:h.jsxs(io,{noPadding:!0,Dialog:ufo,children:[O.t("roofMenu.RafterSpacing",e)," ..."]})},{key:"roof-rafter-width",label:h.jsxs(io,{noPadding:!0,Dialog:dfo,children:[O.t("roofMenu.RafterWidth",e)," ..."]})},{key:"roof-rafter-color",label:h.jsxs(io,{noPadding:!0,Dialog:cfo,children:[O.t("roofMenu.RafterColor",e)," ..."]})}),t.roofStructure===yc.Glass&&n.push({type:"divider"},{key:"roof-glass-tint-selection",label:h.jsxs(io,{noPadding:!0,Dialog:ffo,children:[O.t("roofMenu.GlassTint",e)," ..."]})}),n},pfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.opacity)!==void 0?s.opacity:.5),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.opacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.opacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.opacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.opacity&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.opacity))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Roof&&!w.locked){const T=w;v.set(w.id,T.opacity),f(T.id,b)}const S={name:"Set Opacity for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Roof&&!w.locked){const T=w;v.set(w.id,T.opacity),f(T.id,b)}const S={name:"Set Opacity for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)if(w.type===z.Roof&&w.foundationId===s.foundationId&&!w.locked){const T=w;v.set(w.id,T.opacity),f(T.id,b)}const S={name:"Set Opacity for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const v=a(s.id),S=v.opacity!==void 0?v.opacity:s.opacity!==void 0?s.opacity:.5,w={name:"Set Roof Opacity",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.roofGlassOpacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("roofMenu.Opacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},gfo=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0)switch(t[0].type){case z.Window:case z.SolarPanel:case z.Sensor:case z.Light:return!0}return!1},mfo=t=>{const e=[];if(t.type!==z.Roof)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce,a=r(n.id,!0),l=r(n.id,!1),s=n.roofStructure!==yc.Rafter||n.opacity===void 0||n.opacity>0;return gfo()&&e.push({key:"roof-paste",label:h.jsx(OH,{})}),e.push({key:"roof-lock",label:h.jsx(Md,{selectedElement:n})}),n.rise>0&&e.push({key:"roof-ceiling-submenu",label:h.jsx(tn,{children:O.t("roofMenu.Ceiling",i)}),children:sfo(n)}),a.gotSome()&&e.push({key:"lock-unlock-clear-on-roof",label:h.jsx(tn,{children:O.t("word.Elements",i)}),children:Vdo(n,a,l)}),o&&(n.roofType===Vo.Gable&&(e.push({key:"roof-structure-submenu",label:h.jsx(tn,{children:O.t("roofMenu.RoofStructure",i)}),children:hfo(n)}),(n.roofStructure===yc.Rafter||n.roofStructure===yc.Glass)&&e.push({key:"opacity",label:h.jsxs(io,{Dialog:pfo,children:[O.t("roofMenu.Opacity",i)," ..."]})})),e.push({key:"roof-thickness",label:h.jsxs(io,{Dialog:Gdo,children:[O.t(n.roofStructure===yc.Rafter?"roofMenu.RafterThickness":"word.Thickness",i)," ","..."]})}),e.push({key:"roof-rise",label:h.jsxs(io,{Dialog:Xdo,children:[O.t("roofMenu.Rise",i)," ..."]})}),s&&(e.push({key:"roof-r-value",label:h.jsxs(io,{Dialog:Jdo,children:[O.t("roofMenu.RoofRValue",i)," ..."]})},{key:"roof-heat-capacity",label:h.jsxs(io,{Dialog:Kdo,children:[O.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"roof-texture",label:h.jsxs(io,{Dialog:ifo,children:[O.t("word.Texture",i)," ..."]})}),(n.textureType===Ui.NoTexture||n.textureType===Ui.Default)&&e.push({key:"roof-color",label:h.jsxs(io,{Dialog:rfo,children:[O.t("roofMenu.RoofColor",i)," ..."]})}),e.push({key:"roof-side-color",label:h.jsxs(io,{Dialog:afo,children:[O.t("roofMenu.RoofSideColor",i)," ..."]})}))),{items:e}},yfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.relativeYawAngle)??0),p=Kt(),g=R=>{a(R.target.value)},y=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.relativeYawAngle??0)-R)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.relativeYawAngle??0)-R)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.relativeYawAngle??0)-R)>kt)return!0;break;default:if(Math.abs(((u==null?void 0:u.relativeYawAngle)??0)-R)>kt)return!0}return!1}},A=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.id===R&&!E.locked){const L=E;L.relativeYawAngle=H;break}})},x=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.foundationId===R&&!E.locked){const L=E;L.relativeYawAngle=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const E=D;E.relativeYawAngle=R}})},b=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked&&R.has(E.id)){const L=E;L.relativeYawAngle=H}})},v=R=>{if(u&&y(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.relativeYawAngle);const U={name:"Set Relative Yaw Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{b(U.oldValues,U.newValue)}};i(U),b(L,R),s(l+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&L.set(F.id,F.relativeYawAngle);const U={name:"Set Relative Yaw Angle for All Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{C(U.newValue)}};i(U),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.WindTurbine&&F.foundationId===u.foundationId&&L.set(F.id,F.relativeYawAngle);const U={name:"Set Relative Yaw Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:L,newValue:R,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{U.groupId&&x(U.groupId,U.newValue)}};i(U),x(u.foundationId,R),s(l+1)}break;default:const H=o(u.id),D=H?H.relativeYawAngle:u.relativeYawAngle,E={name:"Set Wind Turbine Relative Yaw Angle",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(E.changedElementId,E.oldValue)},redo:()=>{A(E.changedElementId,E.newValue)}};i(E),A(u.id,R),s(l+1)}e(H=>{H.actionState.windTurbineRelativeYawAngle=R})}},S=()=>{t(!1)},w=()=>{S(),c()},T=()=>{v(d),t(!1),s(0)},P=()=>{v(d)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.RelativeYawAngle",p),onApply:P,onClose:S,onClickCancel:w,onClickOk:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(be.toDegrees(d).toFixed(2)),formatter:R=>`${R}°`,onChange:R=>{R!==null&&f(be.toRadians(R))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [-180°, 180°]",h.jsx("br",{}),O.t("message.SouthFacingIsZero",p),h.jsx("br",{}),O.t("message.CounterclockwiseAzimuthIsPositive",p)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},Afo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.numberOfBlades)??3),p=Kt(),{Option:g}=Yo,y=H=>{a(H.target.value)},A=H=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.numberOfBlades??0)-H)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.WindTurbine&&D.foundationId===(u==null?void 0:u.foundationId)&&!D.locked&&Math.abs((D.numberOfBlades??0)-H)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.numberOfBlades??0)-H)>kt)return!0;break;default:if(Math.abs(((u==null?void 0:u.numberOfBlades)??0)-H)>kt)return!0}return!1}},x=(H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&L.id===H&&!L.locked){const U=L;U.numberOfBlades=D;break}})},C=(H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&L.foundationId===H&&!L.locked){const U=L;U.numberOfBlades=D}})},b=H=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked){const L=E;L.numberOfBlades=H}})},v=(H,D)=>{M.getState().set(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&!L.locked&&H.has(L.id)){const U=L;U.numberOfBlades=D}})},S=H=>{if(u&&A(H)){switch(r){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&U.set(W.id,W.numberOfBlades??3);const F={name:"Select Blade Number for Selected Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:H,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{v(F.oldValues,F.newValue)}};i(F),v(U,H),s(l+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.WindTurbine&&U.set(W.id,W.numberOfBlades??3);const F={name:"Select Blade Number for All Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:H,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{b(F.newValue)}};i(F),b(H),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const U=new Map;for(const W of n)W.type===z.WindTurbine&&W.foundationId===u.foundationId&&U.set(W.id,W.numberOfBlades??3);const F={name:"Select Blade Number for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:U,newValue:H,groupId:u.foundationId,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{F.groupId&&C(F.groupId,F.newValue)}};i(F),C(u.foundationId,H),s(l+1)}break;default:const D=o(u.id),E=D?D.numberOfBlades??3:u.numberOfBlades??3,L={name:"Select Wind Turbine Blade Number",timestamp:Date.now(),oldValue:E,newValue:H,changedElementId:u.id,changedElementType:u.type,undo:()=>{x(L.changedElementId,L.oldValue)},redo:()=>{x(L.changedElementId,L.newValue)}};i(L),x(u.id,H),s(l+1)}e(D=>{D.actionState.windTurbineNumberOfBlades=H})}},w=()=>{t(!1)},T=()=>{w(),c()},P=()=>{S(d),t(!1),s(0)},R=()=>{S(d)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.BladeNumber",p),onApply:R,onClose:w,onClickCancel:T,onClickOk:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:4,children:h.jsxs(Yo,{style:{width:"60px"},value:d,onChange:H=>{H!==null&&f(H)},children:[h.jsx(g,{value:1,children:"1"},1),h.jsx(g,{value:2,children:"2"},2),h.jsx(g,{value:3,children:"3"},3),h.jsx(g,{value:4,children:"4"},4),h.jsx(g,{value:8,children:"8"},8)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:y,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},wfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.initialRotorAngle)??0),p=Kt(),g=R=>{a(R.target.value)},y=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.initialRotorAngle??0)-R)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.initialRotorAngle??0)-R)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.initialRotorAngle??0)-R)>kt)return!0;break;default:if(Math.abs(((u==null?void 0:u.initialRotorAngle)??0)-R)>kt)return!0}return!1}},A=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.id===R&&!E.locked){const L=E;L.initialRotorAngle=H;break}})},x=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.foundationId===R&&!E.locked){const L=E;L.initialRotorAngle=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const E=D;E.initialRotorAngle=R}})},b=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked&&R.has(E.id)){const L=E;L.initialRotorAngle=H}})},v=R=>{if(u&&y(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.initialRotorAngle);const U={name:"Set Rotor Initial Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{b(U.oldValues,U.newValue)}};i(U),b(L,R),s(l+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&L.set(F.id,F.initialRotorAngle);const U={name:"Set Rotor Initial Angle for All Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{C(U.newValue)}};i(U),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.WindTurbine&&F.foundationId===u.foundationId&&L.set(F.id,F.initialRotorAngle);const U={name:"Set Rotor Initial Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:L,newValue:R,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{U.groupId&&x(U.groupId,U.newValue)}};i(U),x(u.foundationId,R),s(l+1)}break;default:const H=o(u.id),D=H?H.initialRotorAngle:u.initialRotorAngle,E={name:"Set Wind Turbine Rotor Initial Angle",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(E.changedElementId,E.oldValue)},redo:()=>{A(E.changedElementId,E.newValue)}};i(E),A(u.id,R),s(l+1)}e(H=>{H.actionState.windTurbineInitialRotorAngle=R})}},S=()=>{t(!1)},w=()=>{S(),c()},T=()=>{v(d),t(!1),s(0)},P=()=>{v(d)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.RotorInitialAngle",p),onApply:P,onClose:S,onClickCancel:w,onClickOk:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:360,style:{width:120},precision:1,step:1,value:parseFloat(be.toDegrees(d).toFixed(2)),formatter:R=>`${R}°`,onChange:R=>{R!==null&&f(be.toRadians(R))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0°, 360°]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},vfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=be.toRadians(10),d=co(z.WindTurbine),[f,p]=m.useState((d==null?void 0:d.pitchAngle)??u),g=Kt(),y=H=>{a(H.target.value)},A=H=>{if(d){switch(r){case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.pitchAngle??u)-H)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.WindTurbine&&D.foundationId===(d==null?void 0:d.foundationId)&&!D.locked&&Math.abs((D.pitchAngle??u)-H)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.pitchAngle??u)-H)>kt)return!0;break;default:if(Math.abs(((d==null?void 0:d.pitchAngle)??u)-H)>kt)return!0}return!1}},x=(H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&L.id===H&&!L.locked){const U=L;U.pitchAngle=D;break}})},C=(H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&L.foundationId===H&&!L.locked){const U=L;U.pitchAngle=D}})},b=H=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked){const L=E;L.pitchAngle=H}})},v=(H,D)=>{M.getState().set(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&!L.locked&&H.has(L.id)){const U=L;U.pitchAngle=D}})},S=H=>{if(d&&A(H)){switch(r){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&U.set(W.id,W.pitchAngle);const F={name:"Set Pitch Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:H,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{v(F.oldValues,F.newValue)}};i(F),v(U,H),s(l+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.WindTurbine&&U.set(W.id,W.pitchAngle);const F={name:"Set Pitch Angle for All Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:H,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{b(F.newValue)}};i(F),b(H),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(d.foundationId){const U=new Map;for(const W of n)W.type===z.WindTurbine&&W.foundationId===d.foundationId&&U.set(W.id,W.pitchAngle);const F={name:"Set Pitch Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:U,newValue:H,groupId:d.foundationId,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{F.groupId&&C(F.groupId,F.newValue)}};i(F),C(d.foundationId,H),s(l+1)}break;default:const D=o(d.id),E=D?D.pitchAngle:d.pitchAngle,L={name:"Set Wind Turbine Pitch Angle",timestamp:Date.now(),oldValue:E,newValue:H,changedElementId:d.id,changedElementType:d.type,undo:()=>{x(L.changedElementId,L.oldValue)},redo:()=>{x(L.changedElementId,L.newValue)}};i(L),x(d.id,H),s(l+1)}e(D=>{D.actionState.windTurbinePitchAngle=H})}},w=()=>{t(!1)},T=()=>{w(),c()},P=()=>{S(f),t(!1),s(0)},R=()=>{S(f)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.RotorBladePitchAngle",g),onApply:R,onClose:w,onClickCancel:T,onClickOk:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(be.toDegrees(f).toFixed(2)),formatter:H=>`${H}°`,onChange:H=>{H!==null&&p(be.toRadians(H))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",g),": [-180°, 180°]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:y,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",g)})]})})})]})})},xfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.bladeRadius)??0),p=m.useRef(!1),g=m.useRef(),y=Kt(),A=E=>{a(E.target.value)},x=E=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.bladeRadius-E)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.WindTurbine&&L.foundationId===(u==null?void 0:u.foundationId)&&!L.locked&&Math.abs(L.bladeRadius-E)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.bladeRadius-E)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.bladeRadius)-E)>kt)return!0}return!1}},C=(E,L)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&F.id===E&&!F.locked){const W=F;W.bladeRadius=L,W.lx=W.ly=L*2,W.lz=W.towerHeight+L;break}})},b=(E,L)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&F.foundationId===E&&!F.locked){const W=F;W.bladeRadius=L,W.lx=W.ly=L*2,W.lz=W.towerHeight+L}})},v=E=>{e(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&!U.locked){const F=U;F.bladeRadius=E,F.lx=F.ly=E*2,F.lz=F.towerHeight+E}})},S=(E,L)=>{M.getState().set(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&!F.locked&&E.has(F.id)){const W=F;W.bladeRadius=L,W.lx=W.ly=L*2,W.lz=W.towerHeight+L}})},w=E=>{if(u&&x(E)){switch(g.current=void 0,r){case ue.AllSelectedObjectsOfThisType:{p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&F.towerHeight{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{S(W.oldValues,W.newValue)}};i(W),S(F,E),s(l+1)}break}case ue.AllObjectsOfThisType:{p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&F.towerHeight{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{v(W.newValue)}};i(W),v(E),s(l+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&F.foundationId===u.foundationId&&F.towerHeight{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{W.groupId&&b(W.groupId,W.newValue)}};i(W),b(u.foundationId,E),s(l+1)}}break;default:const L=o(u.id),U=L?L.bladeRadius:u.bladeRadius;if(p.current=u.towerHeight{C(F.changedElementId,F.oldValue)},redo:()=>{C(F.changedElementId,F.newValue)}};i(F),C(u.id,E),s(l+1)}}e(L=>{L.actionState.windTurbineBladeRadius=E})}},T=()=>{p.current=!1,t(!1)},P=()=>{T(),c()},R=()=>{w(d),p.current||(t(!1),s(0))},H=()=>{w(d)},D=p.current?": "+O.t("message.NotApplicableToSelectedAction",y)+(g.current!==void 0?" ("+g.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.RotorBladeRadius",y),rejectedMessage:D,onApply:H,onClose:T,onClickCancel:P,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:.1,precision:1,value:d,onChange:E=>{E!==null&&f(E)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [1, 100] ",O.t("word.MeterAbbreviation",y)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",y)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",y)})]})})})]})})},bfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.bladeRootRadius)??.3),[p,g]=m.useState((u==null?void 0:u.maximumChordLength)??1),[y,A]=m.useState((u==null?void 0:u.maximumChordRadius)??3),x=m.useRef(null),C=Kt(),b=555;m.useEffect(()=>{if(!x.current||!u)return;const q=x.current.getContext("2d");if(!q)return;const le=x.current.width,ie=x.current.height,pe=20,ne=ie*.7;q.clearRect(0,0,le,ie),q.setLineDash([]),q.strokeStyle="gray",q.lineWidth=1,q.rect(0,0,le,ie),q.stroke();const Z=(le-pe*2)/u.bladeRadius,he=Z*u.bladeTipWidth,fe=Z*y,se=Z*p,oe=Z*u.bladeRadius,de=Z*d,ve=se-de,Pe=oe-fe/3,me=[];me.push(new Gt(pe,ne-de)),me.push(new Gt(pe+oe-Pe,ne-ve/2)),me.push(new Gt(pe+fe,ne-ve)),me.push(new Gt(pe+oe,ne+de-he));const ze=new GK(me).getPoints(50);q.beginPath(),q.moveTo(ze[0].x,ze[0].y);for(let Ae=1;Ae{a(q.target.value)},S=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.bladeRootRadius-q)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const le of n)if(le.type===z.WindTurbine&&le.foundationId===(u==null?void 0:u.foundationId)&&!le.locked&&Math.abs(le.bladeRootRadius-q)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.bladeRootRadius-q)>kt)return!0;break;default:if(Math.abs(((u==null?void 0:u.bladeRootRadius)??.3)-q)>kt)return!0}return!1}},w=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.id===q&&!pe.locked){const ne=pe;ne.bladeRootRadius=le;break}})},T=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.foundationId===q&&!pe.locked){const ne=pe;ne.bladeRootRadius=le}})},P=q=>{e(le=>{for(const ie of le.elements)if(ie.type===z.WindTurbine&&!ie.locked){const pe=ie;pe.bladeRootRadius=q}})},R=(q,le)=>{M.getState().set(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&!pe.locked&&q.has(pe.id)){const ne=pe;ne.bladeRootRadius=le}})},H=q=>{if(u&&S(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(he.id)&&ne.set(he.id,he.bladeRootRadius);const Z={name:"Set Root Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())w(he,fe)},redo:()=>{R(Z.oldValues,Z.newValue)}};i(Z),R(ne,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&ne.set(he.id,he.bladeRootRadius);const Z={name:"Set Root Radius for All Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())w(he,fe)},redo:()=>{P(Z.newValue)}};i(Z),P(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const ne=new Map;for(const he of n)he.type===z.WindTurbine&&he.foundationId===u.foundationId&&ne.set(he.id,he.bladeRootRadius);const Z={name:"Set Root Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ne,newValue:q,groupId:u.foundationId,undo:()=>{for(const[he,fe]of Z.oldValues.entries())w(he,fe)},redo:()=>{Z.groupId&&T(Z.groupId,Z.newValue)}};i(Z),T(u.foundationId,q),s(l+1)}break;default:const le=o(u.id),ie=le?le.bladeRootRadius:u.bladeRootRadius,pe={name:"Set Wind Turbine Root Radius",timestamp:Date.now(),oldValue:ie,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{w(pe.changedElementId,pe.oldValue)},redo:()=>{w(pe.changedElementId,pe.newValue)}};i(pe),w(u.id,q),s(l+1)}e(le=>{le.actionState.windTurbineBladeRootRadius=q})}},D=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.maximumChordLength-q)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const le of n)if(le.type===z.WindTurbine&&le.foundationId===(u==null?void 0:u.foundationId)&&!le.locked&&Math.abs(le.maximumChordLength-q)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.maximumChordLength-q)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.maximumChordLength)-q)>kt)return!0}return!1}},E=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.id===q&&!pe.locked){const ne=pe;ne.maximumChordLength=le;break}})},L=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.foundationId===q&&!pe.locked){const ne=pe;ne.maximumChordLength=le}})},U=q=>{e(le=>{for(const ie of le.elements)if(ie.type===z.WindTurbine&&!ie.locked){const pe=ie;pe.maximumChordLength=q}})},F=(q,le)=>{M.getState().set(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&!pe.locked&&q.has(pe.id)){const ne=pe;ne.maximumChordLength=le}})},W=q=>{if(u&&D(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(he.id)&&ne.set(he.id,he.maximumChordLength);const Z={name:"Set Chord Length for Selected Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())E(he,fe)},redo:()=>{F(Z.oldValues,Z.newValue)}};i(Z),F(ne,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&ne.set(he.id,he.maximumChordLength);const Z={name:"Set Chord Length for All Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())E(he,fe)},redo:()=>{U(Z.newValue)}};i(Z),U(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const ne=new Map;for(const he of n)he.type===z.WindTurbine&&he.foundationId===u.foundationId&&ne.set(he.id,he.maximumChordLength);const Z={name:"Set Chord Length for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ne,newValue:q,groupId:u.foundationId,undo:()=>{for(const[he,fe]of Z.oldValues.entries())E(he,fe)},redo:()=>{Z.groupId&&L(Z.groupId,Z.newValue)}};i(Z),L(u.foundationId,q),s(l+1)}break;default:const le=o(u.id),ie=le?le.maximumChordLength:u.maximumChordLength,pe={name:"Set Wind Turbine Chord Length",timestamp:Date.now(),oldValue:ie,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{E(pe.changedElementId,pe.oldValue)},redo:()=>{E(pe.changedElementId,pe.newValue)}};i(pe),E(u.id,q),s(l+1)}e(le=>{le.actionState.windTurbineBladeMaximumChordLength=q})}},B=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.maximumChordRadius-q)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const le of n)if(le.type===z.WindTurbine&&le.foundationId===(u==null?void 0:u.foundationId)&&!le.locked&&Math.abs(le.maximumChordRadius-q)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.maximumChordRadius-q)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.maximumChordRadius)-q)>kt)return!0}return!1}},k=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.id===q&&!pe.locked){const ne=pe;ne.maximumChordRadius=le;break}})},N=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.foundationId===q&&!pe.locked){const ne=pe;ne.maximumChordRadius=le}})},j=q=>{e(le=>{for(const ie of le.elements)if(ie.type===z.WindTurbine&&!ie.locked){const pe=ie;pe.maximumChordRadius=q}})},Y=(q,le)=>{M.getState().set(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&!pe.locked&&q.has(pe.id)){const ne=pe;ne.maximumChordRadius=le}})},_=q=>{if(u&&B(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(he.id)&&ne.set(he.id,he.maximumChordRadius);const Z={name:"Set Chord Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())k(he,fe)},redo:()=>{Y(Z.oldValues,Z.newValue)}};i(Z),Y(ne,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&ne.set(he.id,he.maximumChordRadius);const Z={name:"Set Chord Radius for All Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())k(he,fe)},redo:()=>{j(Z.newValue)}};i(Z),j(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const ne=new Map;for(const he of n)he.type===z.WindTurbine&&he.foundationId===u.foundationId&&ne.set(he.id,he.maximumChordRadius);const Z={name:"Set Chord Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ne,newValue:q,groupId:u.foundationId,undo:()=>{for(const[he,fe]of Z.oldValues.entries())k(he,fe)},redo:()=>{Z.groupId&&N(Z.groupId,Z.newValue)}};i(Z),N(u.foundationId,q),s(l+1)}break;default:const le=o(u.id),ie=le?le.maximumChordRadius:u.maximumChordRadius,pe={name:"Set Wind Turbine Chord Radius",timestamp:Date.now(),oldValue:ie,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{k(pe.changedElementId,pe.oldValue)},redo:()=>{k(pe.changedElementId,pe.newValue)}};i(pe),k(u.id,q),s(l+1)}e(le=>{le.actionState.windTurbineBladeMaximumChordRadius=q})}},J=()=>{t(!1)},Q=()=>{J(),c()},ee=()=>{W(p),_(y),H(d),t(!1),s(0)},$=()=>{W(p),_(y),H(d)};return h.jsxs(lo,{width:600,title:O.t("windTurbineMenu.RotorBladeDesign",C),onApply:$,onClose:J,onClickCancel:Q,onClickOk:ee,children:[h.jsx(nn,{children:h.jsx(nt,{span:24,children:h.jsx("canvas",{ref:x,id:"blade-design-canvas",width:b,height:b*.25,style:{paddingBottom:"12px"}})})}),h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(nt,{style:{textAlign:"center",fontStyle:"italic"},children:"A: "}),h.jsx(nt,{children:h.jsx(Hn,{min:.1,max:1,style:{width:"70px"},step:.01,precision:2,value:d,onChange:q=>{q&&f(q)}})}),h.jsxs(nt,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[0.1, 1] ",O.t("word.MeterAbbreviation",C)]})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(nt,{style:{textAlign:"center",fontStyle:"italic"},children:"C: "}),h.jsx(nt,{children:h.jsx(Hn,{min:.5,max:2,style:{width:"70px"},step:.01,precision:2,value:p,onChange:q=>{q&&g(q)}})}),h.jsxs(nt,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[0.5, 2] ",O.t("word.MeterAbbreviation",C)]})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{style:{textAlign:"center",fontStyle:"italic"},children:"D:"}),h.jsx(nt,{children:h.jsx(Hn,{min:2,max:((u==null?void 0:u.bladeRadius)??10)/2,style:{width:70},step:.01,precision:2,value:y,onChange:q=>{q&&A(q)}})}),h.jsxs(nt,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[2, ",((u==null?void 0:u.bladeRadius)??10)/2,"] ",O.t("word.MeterAbbreviation",C)]})]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",C)})]})})})]})]})},Sfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.hubRadius)??0),[p,g]=m.useState((u==null?void 0:u.hubLength)??0),y=Kt(),A=D=>{a(D.target.value)},x=(D,E)=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)){const U=L;if(Math.abs(U.hubRadius-D)>kt||Math.abs(U.hubLength-E)>kt)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.WindTurbine&&L.foundationId===(u==null?void 0:u.foundationId)&&!L.locked){const U=L;if(Math.abs(U.hubRadius-D)>kt||Math.abs(U.hubLength-E)>kt)return!0}break;case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)){const U=L;if(Math.abs(U.hubRadius-D)>kt||Math.abs(U.hubLength-E)>kt)return!0}break;default:if(Math.abs((u==null?void 0:u.hubRadius)-D)>kt||Math.abs((u==null?void 0:u.hubLength)-E)>kt)return!0}return!1}},C=(D,E)=>{e(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&U.id===D&&!U.locked){const F=U;F.hubRadius=E[0],F.hubLength=E[1];break}})},b=(D,E)=>{e(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&U.foundationId===D&&!U.locked){const F=U;F.hubRadius=E[0],F.hubLength=E[1]}})},v=D=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&!L.locked){const U=L;U.hubRadius=D[0],U.hubLength=D[1]}})},S=(D,E)=>{M.getState().set(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&!U.locked&&D.has(U.id)){const F=U;F.hubRadius=E[0],F.hubLength=E[1]}})},w=D=>{if(u&&x(D[0],D[1])){switch(r){case ue.AllSelectedObjectsOfThisType:{const W=new Map;for(const k of n)if(k.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(k.id)){const N=k;W.set(k.id,[N.hubRadius,N.hubLength])}const B={name:"Set Hub Parameters for Selected Wind Turbines",timestamp:Date.now(),oldValues:W,newValue:D,undo:()=>{for(const[k,N]of B.oldValues.entries())C(k,N)},redo:()=>{S(B.oldValues,B.newValue)}};i(B),S(W,D),s(l+1);break}case ue.AllObjectsOfThisType:{const W=new Map;for(const k of n)if(k.type===z.WindTurbine){const N=k;W.set(k.id,[N.hubRadius,N.hubLength])}const B={name:"Set Hub Parameters for All Wind Turbines",timestamp:Date.now(),oldValues:W,newValue:D,undo:()=>{for(const[k,N]of B.oldValues.entries())C(k,N)},redo:()=>{v(B.newValue)}};i(B),v(D),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const W=new Map;for(const k of n)if(k.type===z.WindTurbine&&k.foundationId===u.foundationId){const N=k;W.set(k.id,[N.hubRadius,N.hubLength])}const B={name:"Set Hub Parameters for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:W,newValue:D,groupId:u.foundationId,undo:()=>{for(const[k,N]of B.oldValues.entries())C(k,N)},redo:()=>{B.groupId&&b(B.groupId,B.newValue)}};i(B),b(u.foundationId,D),s(l+1)}break;default:const E=o(u.id),L=E?E.hubRadius:u.hubRadius,U=E?E.hubLength:u.hubLength,F={name:"Set Wind Turbine Hub Parameters",timestamp:Date.now(),oldValue:[L,U],newValue:D,changedElementId:u.id,changedElementType:u.type,undo:()=>{C(F.changedElementId,F.oldValue)},redo:()=>{C(F.changedElementId,F.newValue)}};i(F),C(u.id,D),s(l+1)}e(E=>{E.actionState.windTurbineHubRadius=D[0],E.actionState.windTurbineHubLength=D[1]})}},T=()=>{t(!1)},P=()=>{T(),c()},R=()=>{w([d,p]),t(!1),s(0)},H=()=>{w([d,p])};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.HubDesign",y),onApply:H,onClose:T,onClickCancel:P,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx("div",{style:{marginTop:"-20px",textAlign:"left",fontSize:"12px"},children:O.t("windTurbineMenu.HubRadius",y)}),h.jsx(Hn,{min:.5,max:5,style:{width:120},step:.01,precision:2,value:d,onChange:D=>{D!==null&&f(D)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0.5, 5] ",O.t("word.MeterAbbreviation",y)]}),h.jsx("div",{style:{paddingTop:"10px",textAlign:"left",fontSize:"12px"},children:O.t("windTurbineMenu.HubLength",y)}),h.jsx(Hn,{min:1,max:10,style:{width:120},step:.01,precision:2,value:p,onChange:D=>{D!==null&&g(D)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [1, 10] ",O.t("word.MeterAbbreviation",y)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",y)})]})})})]})})},Tfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.birdSafe)??lc.None),[p,g]=m.useState((u==null?void 0:u.bladeColor)??X5),[y,A]=m.useState((u==null?void 0:u.stripeColor)??J5),x=Kt(),{Option:C}=Yo,b=U=>{a(U.target.value)},v=(U,F,W)=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const B of n)if(B.type===z.WindTurbine&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)){const k=B;if((k.birdSafe??lc.None)!==U||(k.bladeColor??X5)!==F||(k.stripeColor??J5)!==W)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const B of n)if(B.type===z.WindTurbine&&B.foundationId===(u==null?void 0:u.foundationId)&&!B.locked){const k=B;if((k.birdSafe??lc.None)!==U||(k.bladeColor??X5)!==F||(k.stripeColor??J5)!==W)return!0}break;case ue.AllSelectedObjectsOfThisType:for(const B of n)if(B.type===z.WindTurbine&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)){const k=B;if((k.birdSafe??lc.None)!==U||(k.bladeColor??X5)!==F||(k.stripeColor??J5)!==W)return!0}break;default:if((u.birdSafe??lc.None)!==U||(u.bladeColor??X5)!==F||(u.stripeColor??J5)!==W)return!0}return!1}},S=(U,F,W,B)=>{e(k=>{for(const N of k.elements)if(N.type===z.WindTurbine&&N.id===U&&!N.locked){const j=N;j.birdSafe=F,j.bladeColor=W,j.stripeColor=B;break}})},w=(U,F,W,B)=>{e(k=>{for(const N of k.elements)if(N.type===z.WindTurbine&&N.foundationId===U&&!N.locked){const j=N;j.birdSafe=F,j.bladeColor=W,j.stripeColor=B}})},T=(U,F,W)=>{e(B=>{for(const k of B.elements)if(k.type===z.WindTurbine&&!k.locked){const N=k;N.birdSafe=U,N.bladeColor=F,N.stripeColor=W}})},P=(U,F,W,B)=>{M.getState().set(k=>{for(const N of k.elements)if(N.type===z.WindTurbine&&!N.locked&&U.has(N.id)){const j=N;j.birdSafe=F,j.bladeColor=W,j.stripeColor=B}})},R=(U,F,W)=>{if(u&&v(U,F,W)){switch(r){case ue.AllSelectedObjectsOfThisType:{const J=new Map;for(const ee of n)if(ee.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(ee.id)){const $=ee;J.set(ee.id,[($.birdSafe??lc.None).toString(),$.bladeColor,$.stripeColor])}const Q={name:"Select Bird-Safe Design for Selected Wind Turbines",timestamp:Date.now(),oldValues:J,newValue:[U.toString(),F,W],undo:()=>{for(const[ee,$]of Q.oldValues.entries()){const q=$;S(ee,Number(q[0]),q[1],q[2])}},redo:()=>{const ee=Q.newValue;P(Q.oldValues,Number(ee[0]),ee[1],ee[2])}};i(Q),P(J,U,F,W),s(l+1);break}case ue.AllObjectsOfThisType:{const J=new Map;for(const ee of n)if(ee.type===z.WindTurbine){const $=ee;J.set(ee.id,[($.birdSafe??lc.None).toString(),$.bladeColor,$.stripeColor])}const Q={name:"Select Bird-Safe Design for All Wind Turbines",timestamp:Date.now(),oldValues:J,newValue:[U.toString(),F,W],undo:()=>{for(const[ee,$]of Q.oldValues.entries()){const q=$;S(ee,Number(q[0]),q[1],q[2])}},redo:()=>{const ee=Q.newValue;T(Number(ee[0]),ee[1],ee[2])}};i(Q),T(U,F,W),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const J=new Map;for(const ee of n)if(ee.type===z.WindTurbine&&ee.foundationId===u.foundationId){const $=ee;J.set(ee.id,[($.birdSafe??lc.None).toString(),$.bladeColor,$.stripeColor])}const Q={name:"Select Bird-Safe Design for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:J,newValue:[U.toString(),F,W],groupId:u.foundationId,undo:()=>{for(const[ee,$]of Q.oldValues.entries()){const q=$;S(ee,Number(q[0]),q[1],q[2])}},redo:()=>{if(Q.groupId){const ee=Q.newValue;w(Q.groupId,Number(ee[0]),ee[1],ee[2])}}};i(Q),w(u.foundationId,U,F,W),s(l+1)}break;default:const B=o(u.id),k=B?B.birdSafe??lc.None:u.birdSafe??lc.None,N=B?B.bladeColor??X5:u.bladeColor??X5,j=B?B.stripeColor??J5:u.stripeColor??J5,Y=[k.toString(),N,j],_={name:"Select Bird-Safe Design for Wind Turbine",timestamp:Date.now(),oldValue:Y,newValue:[U.toString(),F,W],changedElementId:u.id,changedElementType:u.type,undo:()=>{const J=_.oldValue;S(_.changedElementId,Number(J[0]),J[1],J[2])},redo:()=>{S(_.changedElementId,U,F,W)}};i(_),S(u.id,U,F,W),s(l+1)}e(B=>{B.actionState.windTurbineBirdSafeDesign=U,B.actionState.windTurbineBladeColor=F,B.actionState.windTurbineStripeColor=W})}},H=()=>{t(!1)},D=()=>{H(),c()},E=()=>{R(d,p,y),t(!1),s(0)},L=()=>{R(d,p,y)};return h.jsx(lo,{width:600,title:O.t("windTurbineMenu.BirdSafeDesign",x),onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsxs("span",{children:[O.t("word.Pattern",x),": "]}),h.jsxs(Yo,{style:{width:"116px"},value:d,onChange:U=>{U!==null&&f(U)},children:[h.jsx(C,{value:lc.None,children:O.t("windTurbineMenu.BirdSafeNone",x)},lc.None),h.jsx(C,{value:lc.Bicolor,children:O.t("windTurbineMenu.BirdSafeBicolor",x)},lc.Bicolor),h.jsx(C,{value:lc.Striped,children:O.t("windTurbineMenu.BirdSafeStriped",x)},lc.Striped)]}),h.jsxs("div",{style:{marginTop:"10px"},children:[h.jsxs("span",{children:[O.t("word.Color",x)," 1: "]}),h.jsx("input",{type:"color",value:p,onChange:U=>{g(U.target.value)}})]}),h.jsxs("div",{style:{marginTop:"10px"},children:[h.jsxs("span",{children:[O.t("word.Color",x)," 2: "]}),h.jsx("input",{type:"color",value:y,onChange:U=>{A(U.target.value)}})]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:b,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",x)})]})})})]})})},Pfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.towerHeight)??0),p=m.useRef(!1),g=m.useRef(),y=Kt(),A=E=>{a(E.target.value)},x=E=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.towerHeight-E)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.WindTurbine&&L.foundationId===(u==null?void 0:u.foundationId)&&!L.locked&&Math.abs(L.towerHeight-E)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.towerHeight-E)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.towerHeight)-E)>kt)return!0}return!1}},C=(E,L)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&F.id===E&&!F.locked){const W=F;W.towerHeight=L,W.lz=L+W.bladeRadius;break}})},b=(E,L)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&F.foundationId===E&&!F.locked){const W=F;W.towerHeight=L,W.lz=L+W.bladeRadius}})},v=E=>{e(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&!U.locked){const F=U;F.towerHeight=E,F.lz=E+F.bladeRadius}})},S=(E,L)=>{M.getState().set(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&!F.locked&&E.has(F.id)){const W=F;W.towerHeight=L,W.lz=L+W.bladeRadius}})},w=E=>{if(u&&x(E)){switch(g.current=void 0,r){case ue.AllSelectedObjectsOfThisType:{p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&F.bladeRadius>E){p.current=!0;break}if(p.current)g.current=E,f(u.towerHeight);else{const F=new Map;for(const B of n)B.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(B.id)&&F.set(B.id,B.towerHeight);const W={name:"Set Tower Height for Selected Wind Turbines",timestamp:Date.now(),oldValues:F,newValue:E,undo:()=>{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{S(W.oldValues,W.newValue)}};i(W),S(F,E),s(l+1)}break}case ue.AllObjectsOfThisType:{p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&F.bladeRadius>E){p.current=!0;break}if(p.current)g.current=E,f(u.towerHeight);else{const F=new Map;for(const B of n)B.type===z.WindTurbine&&F.set(B.id,B.towerHeight);const W={name:"Set Tower Height for All Wind Turbines",timestamp:Date.now(),oldValues:F,newValue:E,undo:()=>{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{v(W.newValue)}};i(W),v(E),s(l+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&F.foundationId===u.foundationId&&F.bladeRadius>E){p.current=!0;break}if(p.current)g.current=E,f(u.towerHeight);else{const F=new Map;for(const B of n)B.type===z.WindTurbine&&B.foundationId===u.foundationId&&F.set(B.id,B.towerHeight);const W={name:"Set Tower Height for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:F,newValue:E,groupId:u.foundationId,undo:()=>{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{W.groupId&&b(W.groupId,W.newValue)}};i(W),b(u.foundationId,E),s(l+1)}}break;default:const L=o(u.id),U=L?L.towerHeight:u.towerHeight;if(p.current=u.bladeRadius>E,p.current)g.current=E,f(U);else{const F={name:"Set Wind Turbine Tower Height",timestamp:Date.now(),oldValue:U,newValue:E,changedElementId:u.id,changedElementType:u.type,undo:()=>{C(F.changedElementId,F.oldValue)},redo:()=>{C(F.changedElementId,F.newValue)}};i(F),C(u.id,E),s(l+1)}}e(L=>{L.actionState.windTurbineTowerHeight=E})}},T=()=>{p.current=!1,t(!1)},P=()=>{T(),c()},R=()=>{w(d),p.current||(t(!1),s(0))},H=()=>{w(d)},D=p.current?": "+O.t("message.NotApplicableToSelectedAction",y)+(g.current!==void 0?" ("+g.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.TowerHeight",y),rejectedMessage:D,onApply:H,onClose:T,onClickCancel:P,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:.1,precision:1,value:d,onChange:E=>{E!==null&&f(E)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [1, 100] ",O.t("word.MeterAbbreviation",y)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",y)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",y)})]})})})]})})},Cfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.towerRadius)??0),p=Kt(),g=R=>{a(R.target.value)},y=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.towerRadius-R)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs(H.towerRadius-R)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.towerRadius-R)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.towerRadius)-R)>kt)return!0}return!1}},A=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.id===R&&!E.locked){const L=E;L.towerRadius=H;break}})},x=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.foundationId===R&&!E.locked){const L=E;L.towerRadius=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const E=D;E.towerRadius=R}})},b=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked&&R.has(E.id)){const L=E;L.towerRadius=H}})},v=R=>{if(u&&y(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.towerRadius);const U={name:"Set Tower Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{b(U.oldValues,U.newValue)}};i(U),b(L,R),s(l+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&L.set(F.id,F.towerRadius);const U={name:"Set Tower Radius for All Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{C(U.newValue)}};i(U),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.WindTurbine&&F.foundationId===u.foundationId&&L.set(F.id,F.towerRadius);const U={name:"Set Tower Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:L,newValue:R,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{U.groupId&&x(U.groupId,U.newValue)}};i(U),x(u.foundationId,R),s(l+1)}break;default:const H=o(u.id),D=H?H.towerRadius:u.towerRadius,E={name:"Set Wind Turbine Tower Radius",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(E.changedElementId,E.oldValue)},redo:()=>{A(E.changedElementId,E.newValue)}};i(E),A(u.id,R),s(l+1)}e(H=>{H.actionState.windTurbineTowerRadius=R})}},S=()=>{t(!1)},w=()=>{S(),c()},T=()=>{v(d),t(!1),s(0)},P=()=>{v(d)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.TowerRadius",p),onApply:P,onClose:S,onClickCancel:w,onClickOk:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:2,style:{width:120},step:.01,precision:2,value:d,onChange:R=>{R!==null&&f(R)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.1, 2] ",O.t("word.MeterAbbreviation",p)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",p)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},Rfo=t=>{const e=[];if(t.type!==z.WindTurbine)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"wind-turbine-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"wind-turbine-cut",label:h.jsx(Tf,{})}),e.push({key:"wind-turbine-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"wind-turbine-relative-yaw-angle",label:h.jsxs(io,{Dialog:yfo,children:[O.t("windTurbineMenu.RelativeYawAngle",o)," ..."]})},{key:"wind-turbine-rotor-submenu",label:h.jsx(tn,{children:O.t("windTurbineMenu.Rotor",o)}),children:[{key:"wind-turbine-rotor-blade-number",label:h.jsxs(io,{noPadding:!0,Dialog:Afo,children:[O.t("windTurbineMenu.BladeNumber",o)," ..."]})},{key:"wind-turbine-rotor-initial-angle",label:h.jsxs(io,{noPadding:!0,Dialog:wfo,children:[O.t("windTurbineMenu.RotorInitialAngle",o)," ..."]})},{key:"wind-turbine-rotor-blade-pitch-angle",label:h.jsxs(io,{noPadding:!0,Dialog:vfo,children:[O.t("windTurbineMenu.RotorBladePitchAngle",o)," ..."]})},{key:"wind-turbine-rotor-blade-radius",label:h.jsxs(io,{noPadding:!0,Dialog:xfo,children:[O.t("windTurbineMenu.RotorBladeRadius",o)," ..."]})},{key:"wind-turbine-rotor-blade-design",label:h.jsxs(io,{noPadding:!0,Dialog:bfo,children:[O.t("windTurbineMenu.RotorBladeDesign",o)," ..."]})},{key:"wind-turbine-hub-design",label:h.jsxs(io,{noPadding:!0,Dialog:Sfo,children:[O.t("windTurbineMenu.HubDesign",o)," ..."]})},{key:"wind-turbine-bird-safe-blade",label:h.jsxs(io,{noPadding:!0,Dialog:Tfo,children:[O.t("windTurbineMenu.BirdSafeDesign",o)," ..."]})}]},{key:"wind-turbine-tower-submenu",label:h.jsx(tn,{children:O.t("windTurbineMenu.Tower",o)}),children:[{key:"wind-turbine-tower-height",label:h.jsxs(io,{noPadding:!0,Dialog:Pfo,children:[O.t("windTurbineMenu.TowerHeight",o)," ..."]})},{key:"wind-turbine-tower-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Cfo,children:[O.t("windTurbineMenu.TowerRadius",o)," ..."]})}]},{key:"wind-turbine-label",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},Hfo=()=>{const t=M($wt),e=co(),n=m.useRef(t),o=m.useRef(e);return t!==null?(n.current=t,o.current=e):setTimeout(()=>{n.current=t,o.current=t===null?void 0:e},200),[n.current,o.current]},Mfo=({children:t})=>{gt(i=>i.contextMenuFlag);const[e,n]=Hfo(),o=()=>{if(!n)return e===z.Ground?Wco():e===z.Sky?O0o():{items:[]};switch(e){case z.Foundation:return oco(n);case z.Cuboid:return Cco(n);case z.Wall:return ddo(n);case z.Roof:return mfo(n);case z.SolarPanel:return ouo(n);case z.Window:return Bdo(n);case z.Door:return Sdo(n);case z.Sensor:return R0o(n);case z.Light:return D0o(n);case z.Human:return Jco(n);case z.Tree:return Ouo(n);case z.Flower:return qco(n);case z.ParabolicTrough:return huo(n);case z.ParabolicDish:return Suo(n);case z.FresnelReflector:return Duo(n);case z.Heliostat:return juo(n);case z.Polygon:return v0o(n);case z.PolygonVertex:return T0o(n);case z.WindTurbine:return Rfo(n);default:return{items:[]}}};return h.jsx(W7,{trigger:["contextMenu"],menu:o(),overlayClassName:"my-overlay",children:t})},Ifo=Se.memo(Mfo);(function(){var t,e=typeof Object.defineProperties=="function"?Object.defineProperty:function(I,V,ce){I!=Array.prototype&&I!=Object.prototype&&(I[V]=ce.value)};function n(I){I=[typeof window=="object"&&window,typeof self=="object"&&self,typeof global=="object"&&global,I];for(var V=0;V>>0),b=0;function v(I,V,ce){return I.call.apply(I.bind,arguments)}function S(I,V,ce){if(!I)throw Error();if(2I.b&&(I.b++,V.next=I.a,I.a=V)}function J(){this.b=this.a=null}var Q=new Y(function(){return new $},function(I){I.reset()});J.prototype.add=function(I,V){var ce=Q.get();ce.set(I,V),this.b?this.b.next=ce:this.a=ce,this.b=ce};function ee(){var I=go,V=null;return I.a&&(V=I.a,I.a=I.a.next,I.a||(I.b=null),V.next=null),V}function $(){this.next=this.b=this.a=null}$.prototype.set=function(I,V){this.a=I,this.b=V,this.next=null},$.prototype.reset=function(){this.next=this.b=this.a=null};var q=Array.prototype.indexOf?function(I,V){return Array.prototype.indexOf.call(I,V,void 0)}:function(I,V){if(typeof I=="string")return typeof V!="string"||V.length!=1?-1:I.indexOf(V,0);for(var ce=0;ceV?null:typeof I=="string"?I.charAt(V):I[V]}function fe(I,V){return 0<=q(I,V)}function se(I,V){V=q(I,V);var ce;return(ce=0<=V)&&Array.prototype.splice.call(I,V,1),ce}function oe(I,V){var ce=0;ie(I,function(He,Ve){V.call(void 0,He,Ve,I)&&Array.prototype.splice.call(I,Ve,1).length==1&&ce++})}function de(I){return Array.prototype.concat.apply([],arguments)}function ve(I){var V=I.length;if(0/g,Ae=/"/g,re=/'/g,ge=/\x00/g,we=/[\x00&<>"']/;function ye(I,V){return I.indexOf(V)!=-1}function Te(I,V){return IV?1:0}var Ie;e:{var Ce=s.navigator;if(Ce){var Ee=Ce.userAgent;if(Ee){Ie=Ee;break e}}Ie=""}function Ue(I){return ye(Ie,I)}function Ne(I,V){for(var ce in I)V.call(void 0,I[ce],ce,I)}function Le(I){for(var V in I)return!1;return!0}function qe(I){var V={},ce;for(ce in I)V[ce]=I[ce];return V}var We="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function De(I,V){for(var ce,He,Ve=1;Ve"}else bt=I===void 0?"undefined":I===null?"null":typeof I;j("Argument is not a %s (or a non-Element, non-Location mock); got: %s",V,bt)}}function _e(I,V){this.a=I===St&&V||"",this.b=Ye}_e.prototype.ta=!0,_e.prototype.sa=function(){return this.a},_e.prototype.toString=function(){return"Const{"+this.a+"}"};function ot(I){return I instanceof _e&&I.constructor===_e&&I.b===Ye?I.a:(j("expected object of type Const, got '"+I+"'"),"type_error:Const")}var Ye={},St={},dt;function je(){if(dt===void 0){var I=null,V=s.trustedTypes;if(V&&V.createPolicy){try{I=V.createPolicy("goog#html",{createHTML:R,createScript:R,createScriptURL:R})}catch(ce){s.console&&s.console.error(ce.message)}dt=I}else dt=I}return dt}function at(I,V){this.a=V===Oe?I:""}at.prototype.ta=!0,at.prototype.sa=function(){return this.a.toString()},at.prototype.toString=function(){return"TrustedResourceUrl{"+this.a+"}"};function ut(I){return I instanceof at&&I.constructor===at?I.a:(j("expected object of type TrustedResourceUrl, got '"+I+"' of type "+p(I)),"type_error:TrustedResourceUrl")}function wt(I,V){var ce=ot(I);if(!Qe.test(ce))throw Error("Invalid TrustedResourceUrl format: "+ce);return I=ce.replace(rt,function(He,Ve){if(!Object.prototype.hasOwnProperty.call(V,Ve))throw Error('Found marker, "'+Ve+'", in format string, "'+ce+'", but no valid label mapping found in args: '+JSON.stringify(V));return He=V[Ve],He instanceof _e?ot(He):encodeURIComponent(String(He))}),et(I)}var rt=/%{(\w+)}/g,Qe=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,Oe={};function et(I){var V=je();return I=V?V.createScriptURL(I):I,new at(I,Oe)}function vt(I,V){this.a=V===st?I:""}vt.prototype.ta=!0,vt.prototype.sa=function(){return this.a.toString()},vt.prototype.toString=function(){return"SafeUrl{"+this.a+"}"};function ct(I){return I instanceof vt&&I.constructor===vt?I.a:(j("expected object of type SafeUrl, got '"+I+"' of type "+p(I)),"type_error:SafeUrl")}var lt=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|font\/\w+|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,tt=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,it=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function At(I){if(I instanceof vt)return I;if(I=typeof I=="object"&&I.ta?I.sa():String(I),it.test(I))I=new vt(I,st);else{I=String(I),I=I.replace(/(%0A|%0D)/g,"");var V=I.match(tt);I=V&<.test(V[1])?new vt(I,st):null}return I}function Mt(I){return I instanceof vt?I:(I=typeof I=="object"&&I.ta?I.sa():String(I),it.test(I)||(I="about:invalid#zClosurez"),new vt(I,st))}var st={},ft=new vt("about:invalid#zClosurez",st);function Rt(I,V,ce){this.a=ce===Xe?I:""}Rt.prototype.ta=!0,Rt.prototype.sa=function(){return this.a.toString()},Rt.prototype.toString=function(){return"SafeHtml{"+this.a+"}"};function zt(I){return I instanceof Rt&&I.constructor===Rt?I.a:(j("expected object of type SafeHtml, got '"+I+"' of type "+p(I)),"type_error:SafeHtml")}var Xe={};function ht(I,V){Fe(I,"HTMLScriptElement"),I.src=ut(V),(V=I.ownerDocument&&I.ownerDocument.defaultView)&&V!=s?V=d(V.document):(u===null&&(u=d(s.document)),V=u),V&&I.setAttribute("nonce",V)}function Je(I,V,ce,He){return I=I instanceof vt?I:Mt(I),V=V||s,ce=ce instanceof _e?ot(ce):ce||"",V.open(ct(I),ce,He,void 0)}function mt(I,V){for(var ce=I.split("%s"),He="",Ve=Array.prototype.slice.call(arguments,1);Ve.length&&1")!=-1&&(I=I.replace(ze,">")),I.indexOf('"')!=-1&&(I=I.replace(Ae,""")),I.indexOf("'")!=-1&&(I=I.replace(re,"'")),I.indexOf("\0")!=-1&&(I=I.replace(ge,"�"))),I}function xt(I){return xt[" "](I),I}xt[" "]=f;function It(I,V){var ce=Ai;return Object.prototype.hasOwnProperty.call(ce,I)?ce[I]:ce[I]=V(I)}var Tt=Ue("Opera"),Dt=Ue("Trident")||Ue("MSIE"),Lt=Ue("Edge"),Et=Lt||Dt,an=Ue("Gecko")&&!(ye(Ie.toLowerCase(),"webkit")&&!Ue("Edge"))&&!(Ue("Trident")||Ue("MSIE"))&&!Ue("Edge"),Jt=ye(Ie.toLowerCase(),"webkit")&&!Ue("Edge");function hn(){var I=s.document;return I?I.documentMode:void 0}var cn;e:{var Sn="",Pn=function(){var I=Ie;if(an)return/rv:([^\);]+)(\)|;)/.exec(I);if(Lt)return/Edge\/([\d\.]+)/.exec(I);if(Dt)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(I);if(Jt)return/WebKit\/(\S+)/.exec(I);if(Tt)return/(?:Version)[ \/]?(\S+)/.exec(I)}();if(Pn&&(Sn=Pn?Pn[1]:""),Dt){var Un=hn();if(Un!=null&&Un>parseFloat(Sn)){cn=String(Un);break e}}cn=Sn}var Ai={};function vo(I){return It(I,function(){for(var V=0,ce=Pe(String(cn)).split("."),He=Pe(String(I)).split("."),Ve=Math.max(ce.length,He.length),bt=0;V==0&&bt"),bt=bt.join("")}return bt=yn(Ve,bt),Ft&&(typeof Ft=="string"?bt.className=Ft:Array.isArray(Ft)?bt.className=Ft.join(" "):qo(bt,Ft)),2"u"&&typeof window<"u"&&window.postMessage&&window.addEventListener&&!Ue("Presto")&&(I=function(){var Ve=yn(document,"IFRAME");Ve.style.display="none",document.documentElement.appendChild(Ve);var bt=Ve.contentWindow;Ve=bt.document,Ve.open(),Ve.close();var Ft="callImmediate"+Math.random(),ln=bt.location.protocol=="file:"?"*":bt.location.protocol+"//"+bt.location.host;Ve=w(function(Zn){(ln=="*"||Zn.origin==ln)&&Zn.data==Ft&&this.port1.onmessage()},this),bt.addEventListener("message",Ve,!1),this.port1={},this.port2={postMessage:function(){bt.postMessage(Ft,ln)}}}),typeof I<"u"&&!Ue("Trident")&&!Ue("MSIE")){var V=new I,ce={},He=ce;return V.port1.onmessage=function(){if(ce.next!==void 0){ce=ce.next;var Ve=ce.Hb;ce.Hb=null,Ve()}},function(Ve){He.next={Hb:Ve},He=He.next,V.port2.postMessage(0)}}return function(Ve){s.setTimeout(Ve,0)}}function Fo(I,V){bo||Ro(),oi||(bo(),oi=!0),go.add(I,V)}var bo;function Ro(){if(s.Promise&&s.Promise.resolve){var I=s.Promise.resolve(void 0);bo=function(){I.then(So)}}else bo=function(){var V=So;!y(s.setImmediate)||s.Window&&s.Window.prototype&&!Ue("Edge")&&s.Window.prototype.setImmediate==s.setImmediate?(Do||(Do=ni()),Do(V)):s.setImmediate(V)}}var oi=!1,go=new J;function So(){for(var I;I=ee();){try{I.a.call(I.b)}catch(V){to(V)}_(Q,I)}oi=!1}function Uo(I,V){if(this.a=_i,this.i=void 0,this.f=this.b=this.c=null,this.g=this.h=!1,I!=f)try{var ce=this;I.call(V,function(He){Pc(ce,Qo,He)},function(He){if(!(He instanceof mu))try{throw He instanceof Error?He:Error("Promise rejected.")}catch{}Pc(ce,ar,He)})}catch(He){Pc(this,ar,He)}}var _i=0,Qo=2,ar=3;function ur(){this.next=this.f=this.b=this.g=this.a=null,this.c=!1}ur.prototype.reset=function(){this.f=this.b=this.g=this.a=null,this.c=!1};var $o=new Y(function(){return new ur},function(I){I.reset()});function ba(I,V,ce){var He=$o.get();return He.g=I,He.b=V,He.f=ce,He}function Mo(I){if(I instanceof Uo)return I;var V=new Uo(f);return Pc(V,Qo,I),V}function $i(I){return new Uo(function(V,ce){ce(I)})}function Za(I,V,ce){Is(I,V,ce,null)||Fo(T(V,I))}function ti(I){return new Uo(function(V,ce){var He=I.length,Ve=[];if(He)for(var bt=function(Io,Hr){He--,Ve[Io]=Hr,He==0&&V(Ve)},Ft=function(Io){ce(Io)},ln=0,Zn;ln=I.keyCode)&&(I.keyCode=-1)}catch{}},Ct.prototype.g=function(){return this.a};var Xt="closure_listenable_"+(1e6*Math.random()|0),rn=0;function gn(I,V,ce,He,Ve){this.listener=I,this.proxy=null,this.src=V,this.type=ce,this.capture=!!He,this.Wa=Ve,this.key=++rn,this.wa=this.Qa=!1}function mn(I){I.wa=!0,I.listener=null,I.proxy=null,I.src=null,I.Wa=null}function vn(I){this.src=I,this.a={},this.b=0}vn.prototype.add=function(I,V,ce,He,Ve){var bt=I.toString();I=this.a[bt],I||(I=this.a[bt]=[],this.b++);var Ft=Yn(I,V,He,Ve);return-1He.keyCode||He.returnValue!=null)){e:{var Ve=!1;if(He.keyCode==0)try{He.keyCode=-1;break e}catch{Ve=!0}(Ve||He.returnValue==null)&&(He.returnValue=!0)}for(He=[],Ve=V.b;Ve;Ve=Ve.parentNode)He.push(Ve);for(I=I.type,Ve=He.length-1;0<=Ve;Ve--){V.b=He[Ve];var bt=Ju(He[Ve],I,!0,V);ce=ce&&bt}for(Ve=0;Ve>>0);function Hf(I){return y(I)?I:(I[qu]||(I[qu]=function(V){return I.handleEvent(V)}),I[qu])}function Ol(){sn.call(this),this.v=new vn(this),this.bc=this,this.hb=null}P(Ol,sn),Ol.prototype[Xt]=!0,Ol.prototype.addEventListener=function(I,V,ce,He){Xn(this,I,V,ce,He)},Ol.prototype.removeEventListener=function(I,V,ce,He){Vi(this,I,V,ce,He)},Ol.prototype.dispatchEvent=function(I){var V,ce=this.hb;if(ce)for(V=[];ce;ce=ce.hb)V.push(ce);ce=this.bc;var He=I.type||I;if(typeof I=="string")I=new Nt(I,ce);else if(I instanceof Nt)I.target=I.target||ce;else{var Ve=I;I=new Nt(He,ce),De(I,Ve)}if(Ve=!0,V)for(var bt=V.length-1;0<=bt;bt--){var Ft=I.b=V[bt];Ve=yp(Ft,He,!0,I)&&Ve}if(Ft=I.b=ce,Ve=yp(Ft,He,!0,I)&&Ve,Ve=yp(Ft,He,!1,I)&&Ve,V)for(bt=0;btV)throw Error("Bad port number "+V);I.g=V}else I.g=null}function Ng(I,V,ce){V instanceof Ug?(I.b=V,Q7(I.b,I.i)):(ce||(V=Rh(V,Hh)),I.b=new Ug(V,I.i))}function el(I,V,ce){I.b.set(V,ce)}function Dd(I,V){return I.b.get(V)}function wu(I){return I instanceof zs?new zs(I):new zs(I,void 0)}function a5(I,V,ce,He){var Ve=new zs(null,void 0);return I&&$s(Ve,I),V&&(Ve.a=V),ce&&yl(Ve,ce),He&&(Ve.f=He),Ve}function dy(I,V){return I?V?decodeURI(I.replace(/%25/g,"%2525")):decodeURIComponent(I):""}function Rh(I,V,ce){return typeof I=="string"?(I=encodeURI(I).replace(V,g3),ce&&(I=I.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),I):null}function g3(I){return I=I.charCodeAt(0),"%"+(I>>4&15).toString(16)+(I&15).toString(16)}var fy=/[#\/\?@]/g,m3=/[#\?:]/g,l5=/[#\?]/g,Hh=/[#\?@]/g,y3=/#/g;function Ug(I,V){this.b=this.a=null,this.c=I||null,this.f=!!V}function Ed(I){I.a||(I.a=new O0,I.b=0,I.c&&Au(I.c,function(V,ce){I.add(decodeURIComponent(V.replace(/\+/g," ")),ce)}))}function $7(I){var V=u1(I);if(typeof V>"u")throw Error("Keys are undefined");var ce=new Ug(null,void 0);I=yu(I);for(var He=0;He2*I.c&&Ch(I)))}t.clear=function(){this.a=this.c=null,this.b=0};function hs(I,V){return Ed(I),V=vu(I,V),Wg(I.a.b,V)}t.forEach=function(I,V){Ed(this),this.a.forEach(function(ce,He){le(ce,function(Ve){I.call(V,Ve,He,this)},this)},this)},t.Y=function(){Ed(this);for(var I=this.a.X(),V=this.a.Y(),ce=[],He=0;HeI?!1:!Dt||!po||9',I=(He=je())?He.createHTML(I):I,I=new Rt(I,null,Xe),He=Ft.document)&&(He.write(zt(I)),He.close())):(Ft=Je(V,He,ce,Ft))&&I.noopener&&(Ft.opener=null),Ft)try{Ft.focus()}catch{}return Ft}function Bg(I){return new Uo(function(V){function ce(){Gc(2e3).then(function(){if(!I||I.closed)V();else return ce()})}return ce()})}var A3=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,s5=/^[^@]+@[^@]+$/;function Ds(){var I=null;return new Uo(function(V){s.document.readyState=="complete"?V():(I=function(){V()},Kr(window,"load",I))}).o(function(V){throw Vi(window,"load",I),V})}function c5(){return La(void 0)?Ds().then(function(){return new Uo(function(I,V){var ce=s.document,He=setTimeout(function(){V(Error("Cordova framework is not ready."))},1e3);ce.addEventListener("deviceready",function(){clearTimeout(He),I()},!1)})}):$i(Error("Cordova must run in an Android or iOS file scheme."))}function La(I){return I=I||Qs(),!(kd()!=="file:"&&kd()!=="ionic:"||!I.toLowerCase().match(/iphone|ipad|ipod|android/))}function w3(){var I=s.window;try{return!(!I||I==I.top)}catch{return!1}}function Rc(){return typeof s.WorkerGlobalScope<"u"&&typeof s.importScripts=="function"}function Es(){return ao.INTERNAL.hasOwnProperty("reactNative")?"ReactNative":ao.INTERNAL.hasOwnProperty("node")?"Node":Rc()?"Worker":"Browser"}function jg(){var I=Es();return I==="ReactNative"||I==="Node"}function PA(){for(var I=50,V=[];0"u"?null:gy(I)}function g5(I){var V={},ce;for(ce in I)I.hasOwnProperty(ce)&&I[ce]!==null&&I[ce]!==void 0&&(V[ce]=I[ce]);return V}function my(I){if(I!==null)return JSON.parse(I)}function Og(I){return I||Math.floor(1e9*Math.random()).toString()}function m5(I){return I=I||Qs(),!($u(I)=="Safari"||I.toLowerCase().match(/iphone|ipad|ipod/))}function y5(){var I=s.___jsl;if(I&&I.H){for(var V in I.H)if(I.H[V].r=I.H[V].r||[],I.H[V].L=I.H[V].L||[],I.H[V].r=I.H[V].L.concat(),I.CP)for(var ce=0;ceV)throw Error("Short delay should be less than long delay!");this.a=I,this.c=V,I=Qs(),V=Es(),this.b=Jc(I)||V==="ReactNative"}Mf.prototype.get=function(){var I=s.navigator;return!(I&&typeof I.onLine=="boolean"&&(p5()||kd()==="chrome-extension:"||typeof I.connection<"u"))||I.onLine?this.b?this.c:this.a:Math.min(5e3,this.a)};function CA(){var I=s.document;return I&&typeof I.visibilityState<"u"?I.visibilityState=="visible":!0}function Z7(){var I=s.document,V=null;return CA()||!I?Mo():new Uo(function(ce){V=function(){CA()&&(I.removeEventListener("visibilitychange",V,!1),ce())},I.addEventListener("visibilitychange",V,!1)}).o(function(ce){throw I.removeEventListener("visibilitychange",V,!1),ce})}function v3(I){try{var V=new Date(parseInt(I,10));if(!isNaN(V.getTime())&&!/[^0-9]/.test(I))return V.toUTCString()}catch{}return null}function e8(){return!(!_l("fireauth.oauthhelper",s)&&!_l("fireauth.iframe",s))}function Kc(){var I=s.navigator;return I&&I.serviceWorker&&I.serviceWorker.controller||null}function V0(){var I=s.navigator;return I&&I.serviceWorker?Mo().then(function(){return I.serviceWorker.ready}).then(function(V){return V.active||null}).o(function(){return null}):Mo(null)}var t8={};function RA(I){t8[I]||(t8[I]=!0,typeof console<"u"&&typeof console.warn=="function"&&console.warn(I))}var x3;try{var HA={};Object.defineProperty(HA,"abcd",{configurable:!0,enumerable:!0,value:1}),Object.defineProperty(HA,"abcd",{configurable:!0,enumerable:!0,value:2}),x3=HA.abcd==2}catch{x3=!1}function Pi(I,V,ce){x3?Object.defineProperty(I,V,{configurable:!0,enumerable:!0,value:ce}):I[V]=ce}function qc(I,V){if(V)for(var ce in V)V.hasOwnProperty(ce)&&Pi(I,ce,V[ce])}function If(I){var V={};return qc(V,I),V}function A5(I){var V={},ce;for(ce in I)I.hasOwnProperty(ce)&&(V[ce]=I[ce]);return V}function yy(I,V){if(!V||!V.length)return!0;if(!I)return!1;for(var ce=0;ce"u")throw new H("missing-continue-uri");if(typeof V!="string"||typeof V=="string"&&!V.length)throw new H("invalid-continue-uri");this.h=V,this.b=this.a=null,this.g=!1;var ce=I[r8];if(ce&&typeof ce=="object"){V=ce[l8];var He=ce[m1];if(ce=ce[WA],typeof V=="string"&&V.length){if(this.a=V,typeof He<"u"&&typeof He!="boolean")throw new H("argument-error",m1+" property must be a boolean when specified.");if(this.g=!!He,typeof ce<"u"&&(typeof ce!="string"||typeof ce=="string"&&!ce.length))throw new H("argument-error",WA+" property must be a non empty string when specified.");this.b=ce||null}else{if(typeof V<"u")throw new H("argument-error",l8+" property must be a non empty string when specified.");if(typeof He<"u"||typeof ce<"u")throw new H("missing-android-pkg-name")}}else if(typeof ce<"u")throw new H("argument-error",r8+" property must be a non null object when specified.");if(this.f=null,(V=I[a8])&&typeof V=="object"){if(V=V[Hc],typeof V=="string"&&V.length)this.f=V;else if(typeof V<"u")throw new H("argument-error",Hc+" property must be a non empty string when specified.")}else if(typeof V<"u")throw new H("argument-error",a8+" property must be a non null object when specified.");if(V=I[FA],typeof V<"u"&&typeof V!="boolean")throw new H("argument-error",FA+" property must be a boolean when specified.");if(this.c=!!V,I=I[kA],typeof I<"u"&&(typeof I!="string"||typeof I=="string"&&!I.length))throw new H("argument-error",kA+" property must be a non empty string when specified.");this.i=I||null}var r8="android",kA="dynamicLinkDomain",FA="handleCodeInApp",a8="iOS",LA="url",m1="installApp",WA="minimumVersion",l8="packageName",Hc="bundleId";function NA(I){var V={};V.continueUrl=I.h,V.canHandleCodeInApp=I.c,(V.androidPackageName=I.a)&&(V.androidMinimumVersion=I.b,V.androidInstallApp=I.g),V.iOSBundleId=I.f,V.dynamicLinkDomain=I.i;for(var ce in V)V[ce]===null&&delete V[ce];return V}function HM(I){return ne(I,function(V){return V=V.toString(16),1>4),Ft!=64&&(V(bt<<4&240|Ft>>2),ln!=64&&V(Ft<<6&192|ln))}}function mi(){if(!_g){_g={};for(var I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),V=["+/=","+/","-_=","-_.","-_"],ce=0;5>ce;ce++)for(var He=I.concat(V[ce].split("")),Ve=0;Vethis.a?this.a:I),this.b=V.provider_id||V.firebase&&V.firebase.sign_in_provider||null,this.f=V.firebase&&V.firebase.tenant||null,this.c=!!V.is_anonymous||this.b=="anonymous"}Vg.prototype.T=function(){return this.f},Vg.prototype.l=function(){return this.c},Vg.prototype.toString=function(){return this.h};function v5(I){try{return new Vg(I)}catch{return null}}function s8(I){if(!I||(I=I.split("."),I.length!=3))return null;I=I[1];for(var V=(4-I.length%4)%4,ce=0;ceVe)I[ce++]=String.fromCharCode(Ve);else if(191Ve){var bt=He[V++];I[ce++]=String.fromCharCode((Ve&31)<<6|bt&63)}else if(239Ve){bt=He[V++];var Ft=He[V++],ln=He[V++],Zn=((Ve&7)<<18|(bt&63)<<12|(Ft&63)<<6|ln&63)-65536;I[ce++]=String.fromCharCode(55296+(Zn>>10)),I[ce++]=String.fromCharCode(56320+(Zn&1023))}else bt=He[V++],Ft=He[V++],I[ce++]=String.fromCharCode((Ve&15)<<12|(bt&63)<<6|Ft&63)}return JSON.parse(I.join(""))}catch{}return null}var UA="oauth_consumer_key oauth_nonce oauth_signature oauth_signature_method oauth_timestamp oauth_token oauth_version".split(" "),td=["client_id","response_type","scope","redirect_uri","state"],vp={nd:{Ja:"locale",va:700,ua:600,fa:"facebook.com",Ya:td},pd:{Ja:null,va:500,ua:750,fa:"github.com",Ya:td},qd:{Ja:"hl",va:515,ua:680,fa:"google.com",Ya:td},wd:{Ja:"lang",va:485,ua:705,fa:"twitter.com",Ya:UA},kd:{Ja:"locale",va:640,ua:600,fa:"apple.com",Ya:[]}};function P3(I){for(var V in vp)if(vp[V].fa==I)return vp[V];return null}function BA(I){var V={};V["facebook.com"]=nd,V["google.com"]=C3,V["github.com"]=YA,V["twitter.com"]=OA;var ce=I&&I[zh];try{if(ce)return V[ce]?new V[ce](I):new w0(I);if(typeof I[jA]<"u")return new x5(I)}catch{}return null}var jA="idToken",zh="providerId";function x5(I){var V=I[zh];if(!V&&I[jA]){var ce=v5(I[jA]);ce&&ce.b&&(V=ce.b)}if(!V)throw Error("Invalid additional user info!");(V=="anonymous"||V=="custom")&&(V=null),ce=!1,typeof I.isNewUser<"u"?ce=!!I.isNewUser:I.kind==="identitytoolkit#SignupNewUserResponse"&&(ce=!0),Pi(this,"providerId",V),Pi(this,"isNewUser",ce)}function w0(I){x5.call(this,I),I=my(I.rawUserInfo||"{}"),Pi(this,"profile",f1(I||{}))}P(w0,x5);function nd(I){if(w0.call(this,I),this.providerId!="facebook.com")throw Error("Invalid provider ID!")}P(nd,w0);function YA(I){if(w0.call(this,I),this.providerId!="github.com")throw Error("Invalid provider ID!");Pi(this,"username",this.profile&&this.profile.login||null)}P(YA,w0);function C3(I){if(w0.call(this,I),this.providerId!="google.com")throw Error("Invalid provider ID!")}P(C3,w0);function OA(I){if(w0.call(this,I),this.providerId!="twitter.com")throw Error("Invalid provider ID!");Pi(this,"username",I.screenName||null)}P(OA,w0);function Gg(I){var V=wu(I),ce=Dd(V,"link"),He=Dd(wu(ce),"link");return V=Dd(V,"deep_link_id"),Dd(wu(V),"link")||V||He||ce||I}function od(I,V){if(!I&&!V)throw new H("internal-error","Internal assert: no raw session string available");if(I&&V)throw new H("internal-error","Internal assert: unable to determine the session type");this.a=I||null,this.b=V||null,this.type=this.a?b5:_A}var b5="enroll",_A="signin";od.prototype.Ha=function(){return this.a?Mo(this.a):Mo(this.b)},od.prototype.w=function(){return this.type==b5?{multiFactorSession:{idToken:this.a}}:{multiFactorSession:{pendingCredential:this.b}}};function xp(){}xp.prototype.ka=function(){},xp.prototype.b=function(){},xp.prototype.c=function(){},xp.prototype.w=function(){};function wy(I,V){return I.then(function(ce){if(ce[Zt]){var He=v5(ce[Zt]);if(!He||V!=He.i)throw new H("user-mismatch");return ce}throw new H("user-mismatch")}).o(function(ce){throw ce&&ce.code&&ce.code==E+"user-not-found"?new H("user-mismatch"):ce})}function y1(I,V){if(V)this.a=V;else throw new H("internal-error","failed to construct a credential");Pi(this,"providerId",I),Pi(this,"signInMethod",I)}y1.prototype.ka=function(I){return AS(I,Mc(this))},y1.prototype.b=function(I,V){var ce=Mc(this);return ce.idToken=V,q0(I,ce)},y1.prototype.c=function(I,V){return wy(EM(I,Mc(this)),V)};function Mc(I){return{pendingToken:I.a,requestUri:"http://localhost"}}y1.prototype.w=function(){return{providerId:this.providerId,signInMethod:this.signInMethod,pendingToken:this.a}};function S5(I){if(I&&I.providerId&&I.signInMethod&&I.providerId.indexOf("saml.")==0&&I.pendingToken)try{return new y1(I.providerId,I.pendingToken)}catch{}return null}function Ld(I,V,ce){if(this.a=null,V.idToken||V.accessToken)V.idToken&&Pi(this,"idToken",V.idToken),V.accessToken&&Pi(this,"accessToken",V.accessToken),V.nonce&&!V.pendingToken&&Pi(this,"nonce",V.nonce),V.pendingToken&&(this.a=V.pendingToken);else if(V.oauthToken&&V.oauthTokenSecret)Pi(this,"accessToken",V.oauthToken),Pi(this,"secret",V.oauthTokenSecret);else throw new H("internal-error","failed to construct a credential");Pi(this,"providerId",I),Pi(this,"signInMethod",ce)}Ld.prototype.ka=function(I){return AS(I,bu(this))},Ld.prototype.b=function(I,V){var ce=bu(this);return ce.idToken=V,q0(I,ce)},Ld.prototype.c=function(I,V){var ce=bu(this);return wy(EM(I,ce),V)};function bu(I){var V={};return I.idToken&&(V.id_token=I.idToken),I.accessToken&&(V.access_token=I.accessToken),I.secret&&(V.oauth_token_secret=I.secret),V.providerId=I.providerId,I.nonce&&!I.a&&(V.nonce=I.nonce),V={postBody:$7(V).toString(),requestUri:"http://localhost"},I.a&&(delete V.postBody,V.pendingToken=I.a),V}Ld.prototype.w=function(){var I={providerId:this.providerId,signInMethod:this.signInMethod};return this.idToken&&(I.oauthIdToken=this.idToken),this.accessToken&&(I.oauthAccessToken=this.accessToken),this.secret&&(I.oauthTokenSecret=this.secret),this.nonce&&(I.nonce=this.nonce),this.a&&(I.pendingToken=this.a),I};function T5(I){if(I&&I.providerId&&I.signInMethod){var V={idToken:I.oauthIdToken,accessToken:I.oauthTokenSecret?null:I.oauthAccessToken,oauthTokenSecret:I.oauthTokenSecret,oauthToken:I.oauthTokenSecret&&I.oauthAccessToken,nonce:I.nonce,pendingToken:I.pendingToken};try{return new Ld(I.providerId,V,I.signInMethod)}catch{}}return null}function Wd(I,V){this.Qc=V||[],qc(this,{providerId:I,isOAuthProvider:!0}),this.Jb={},this.qb=(P3(I)||{}).Ja||null,this.pb=null}Wd.prototype.Ka=function(I){return this.Jb=qe(I),this};function zf(I){if(typeof I!="string"||I.indexOf("saml.")!=0)throw new H("argument-error",'SAML provider IDs must be prefixed with "saml."');Wd.call(this,I,[])}P(zf,Wd);function X0(I){Wd.call(this,I,td),this.a=[]}P(X0,Wd),X0.prototype.Ca=function(I){return fe(this.a,I)||this.a.push(I),this},X0.prototype.Rb=function(){return ve(this.a)},X0.prototype.credential=function(I,V){var ce;if(A(I)?ce={idToken:I.idToken||null,accessToken:I.accessToken||null,nonce:I.rawNonce||null}:ce={idToken:I||null,accessToken:V||null},!ce.idToken&&!ce.accessToken)throw new H("argument-error","credential failed: must provide the ID token and/or the access token.");return new Ld(this.providerId,ce,this.providerId)};function xs(){X0.call(this,"facebook.com")}P(xs,X0),Pi(xs,"PROVIDER_ID","facebook.com"),Pi(xs,"FACEBOOK_SIGN_IN_METHOD","facebook.com");function P5(I){if(!I)throw new H("argument-error","credential failed: expected 1 argument (the OAuth access token).");var V=I;return A(I)&&(V=I.accessToken),new xs().credential({accessToken:V})}function Xg(){X0.call(this,"github.com")}P(Xg,X0),Pi(Xg,"PROVIDER_ID","github.com"),Pi(Xg,"GITHUB_SIGN_IN_METHOD","github.com");function VA(I){if(!I)throw new H("argument-error","credential failed: expected 1 argument (the OAuth access token).");var V=I;return A(I)&&(V=I.accessToken),new Xg().credential({accessToken:V})}function vy(){X0.call(this,"google.com"),this.Ca("profile")}P(vy,X0),Pi(vy,"PROVIDER_ID","google.com"),Pi(vy,"GOOGLE_SIGN_IN_METHOD","google.com");function xy(I,V){var ce=I;return A(I)&&(ce=I.idToken,V=I.accessToken),new vy().credential({idToken:ce,accessToken:V})}function Jg(){Wd.call(this,"twitter.com",UA)}P(Jg,Wd),Pi(Jg,"PROVIDER_ID","twitter.com"),Pi(Jg,"TWITTER_SIGN_IN_METHOD","twitter.com");function Vl(I,V){var ce=I;if(A(ce)||(ce={oauthToken:I,oauthTokenSecret:V}),!ce.oauthToken||!ce.oauthTokenSecret)throw new H("argument-error","credential failed: expected 2 arguments (the OAuth access token and secret).");return new Ld("twitter.com",ce,"twitter.com")}function Cr(I,V,ce){this.a=I,this.f=V,Pi(this,"providerId","password"),Pi(this,"signInMethod",ce===tl.EMAIL_LINK_SIGN_IN_METHOD?tl.EMAIL_LINK_SIGN_IN_METHOD:tl.EMAIL_PASSWORD_SIGN_IN_METHOD)}Cr.prototype.ka=function(I){return this.signInMethod==tl.EMAIL_LINK_SIGN_IN_METHOD?Da(I,Dy,{email:this.a,oobCode:this.f}):Da(I,BM,{email:this.a,password:this.f})},Cr.prototype.b=function(I,V){return this.signInMethod==tl.EMAIL_LINK_SIGN_IN_METHOD?Da(I,Od,{idToken:V,email:this.a,oobCode:this.f}):Da(I,WM,{idToken:V,email:this.a,password:this.f})},Cr.prototype.c=function(I,V){return wy(this.ka(I),V)},Cr.prototype.w=function(){return{email:this.a,password:this.f,signInMethod:this.signInMethod}};function Ic(I){return I&&I.email&&I.password?new Cr(I.email,I.password,I.signInMethod):null}function tl(){qc(this,{providerId:"password",isOAuthProvider:!1})}function Fs(I,V){if(V=Su(V),!V)throw new H("argument-error","Invalid email link!");return new Cr(I,V.code,tl.EMAIL_LINK_SIGN_IN_METHOD)}function Su(I){return I=Gg(I),(I=T3(I))&&I.operation===p1?I:null}qc(tl,{PROVIDER_ID:"password"}),qc(tl,{EMAIL_LINK_SIGN_IN_METHOD:"emailLink"}),qc(tl,{EMAIL_PASSWORD_SIGN_IN_METHOD:"password"});function Nd(I){if(!(I.fb&&I.eb||I.La&&I.ea))throw new H("internal-error");this.a=I,Pi(this,"providerId","phone"),this.fa="phone",Pi(this,"signInMethod","phone")}Nd.prototype.ka=function(I){return I.gb(bp(this))},Nd.prototype.b=function(I,V){var ce=bp(this);return ce.idToken=V,Da(I,gU,ce)},Nd.prototype.c=function(I,V){var ce=bp(this);return ce.operation="REAUTH",I=Da(I,nm,ce),wy(I,V)},Nd.prototype.w=function(){var I={providerId:"phone"};return this.a.fb&&(I.verificationId=this.a.fb),this.a.eb&&(I.verificationCode=this.a.eb),this.a.La&&(I.temporaryProof=this.a.La),this.a.ea&&(I.phoneNumber=this.a.ea),I};function Zs(I){if(I&&I.providerId==="phone"&&(I.verificationId&&I.verificationCode||I.temporaryProof&&I.phoneNumber)){var V={};return le(["verificationId","verificationCode","temporaryProof","phoneNumber"],function(ce){I[ce]&&(V[ce]=I[ce])}),new Nd(V)}return null}function bp(I){return I.a.La&&I.a.ea?{temporaryProof:I.a.La,phoneNumber:I.a.ea}:{sessionInfo:I.a.fb,code:I.a.eb}}function id(I){try{this.a=I||ao.auth()}catch{throw new H("argument-error","Either an instance of firebase.auth.Auth must be passed as an argument to the firebase.auth.PhoneAuthProvider constructor, or the default firebase App instance must be initialized via firebase.initializeApp().")}qc(this,{providerId:"phone",isOAuthProvider:!1})}id.prototype.gb=function(I,V){var ce=this.a.a;return Mo(V.verify()).then(function(He){if(typeof He!="string")throw new H("argument-error","An implementation of firebase.auth.ApplicationVerifier.prototype.verify() must return a firebase.Promise that resolves with a string.");switch(V.type){case"recaptcha":var Ve=A(I)?I.session:null,bt=A(I)?I.phoneNumber:I,Ft;return Ve&&Ve.type==b5?Ft=Ve.Ha().then(function(ln){return e4(ce,{idToken:ln,phoneEnrollmentInfo:{phoneNumber:bt,recaptchaToken:He}})}):Ve&&Ve.type==_A?Ft=Ve.Ha().then(function(ln){return mS(ce,{mfaPendingCredential:ln,mfaEnrollmentId:I.multiFactorHint&&I.multiFactorHint.uid||I.multiFactorUid,phoneSignInInfo:{recaptchaToken:He}})}):Ft=ZA(ce,{phoneNumber:bt,recaptchaToken:He}),Ft.then(function(ln){return typeof V.reset=="function"&&V.reset(),ln},function(ln){throw typeof V.reset=="function"&&V.reset(),ln});default:throw new H("argument-error",'Only firebase.auth.ApplicationVerifiers with type="recaptcha" are currently supported.')}})};function R3(I,V){if(!I)throw new H("missing-verification-id");if(!V)throw new H("missing-verification-code");return new Nd({fb:I,eb:V})}qc(id,{PROVIDER_ID:"phone"}),qc(id,{PHONE_SIGN_IN_METHOD:"phone"});function H3(I){if(I.temporaryProof&&I.phoneNumber)return new Nd({La:I.temporaryProof,ea:I.phoneNumber});var V=I&&I.providerId;if(!V||V==="password")return null;var ce=I&&I.oauthAccessToken,He=I&&I.oauthTokenSecret,Ve=I&&I.nonce,bt=I&&I.oauthIdToken,Ft=I&&I.pendingToken;try{switch(V){case"google.com":return xy(bt,ce);case"facebook.com":return P5(ce);case"github.com":return VA(ce);case"twitter.com":return Vl(ce,He);default:return ce||He||bt||Ft?Ft?V.indexOf("saml.")==0?new y1(V,Ft):new Ld(V,{pendingToken:Ft,idToken:I.oauthIdToken,accessToken:I.oauthAccessToken},V):new X0(V).credential({idToken:bt,accessToken:ce,rawNonce:Ve}):null}}catch{return null}}function Kg(I){if(!I.isOAuthProvider)throw new H("invalid-oauth-provider")}function Gl(I,V,ce,He,Ve,bt,Ft){if(this.c=I,this.b=V||null,this.g=ce||null,this.f=He||null,this.i=bt||null,this.h=Ft||null,this.a=Ve||null,this.g||this.a){if(this.g&&this.a)throw new H("invalid-auth-event");if(this.g&&!this.f)throw new H("invalid-auth-event")}else throw new H("invalid-auth-event")}Gl.prototype.getUid=function(){var I=[];return I.push(this.c),this.b&&I.push(this.b),this.f&&I.push(this.f),this.h&&I.push(this.h),I.join("-")},Gl.prototype.T=function(){return this.h},Gl.prototype.w=function(){return{type:this.c,eventId:this.b,urlResponse:this.g,sessionId:this.f,postBody:this.i,tenantId:this.h,error:this.a&&this.a.w()}};function GA(I){return I=I||{},I.type?new Gl(I.type,I.eventId,I.urlResponse,I.sessionId,I.error&&D(I.error),I.postBody,I.tenantId):null}function M3(){this.b=null,this.a=[]}var A1=null;function I3(I){var V=A1;V.a.push(I),V.b||(V.b=function(ce){for(var He=0;He Auth section -> Sign in method tab.",I):He=="http"||He=="https"?ce=mt("This domain (%s) is not authorized to run this operation. Add it to the OAuth redirect domains list in the Firebase console -> Auth section -> Sign in method tab.",I):V="operation-not-supported-in-this-environment",H.call(this,V,ce)}P(C5,H);function Tu(I,V,ce){H.call(this,I,ce),I=V||{},I.Kb&&Pi(this,"email",I.Kb),I.ea&&Pi(this,"phoneNumber",I.ea),I.credential&&Pi(this,"credential",I.credential),I.$b&&Pi(this,"tenantId",I.$b)}P(Tu,H),Tu.prototype.w=function(){var I={code:this.code,message:this.message};this.email&&(I.email=this.email),this.phoneNumber&&(I.phoneNumber=this.phoneNumber),this.tenantId&&(I.tenantId=this.tenantId);var V=this.credential&&this.credential.w();return V&&De(I,V),I},Tu.prototype.toJSON=function(){return this.w()};function by(I){if(I.code){var V=I.code||"";V.indexOf(E)==0&&(V=V.substring(E.length));var ce={credential:H3(I),$b:I.tenantId};if(I.email)ce.Kb=I.email;else if(I.phoneNumber)ce.ea=I.phoneNumber;else if(!ce.credential)return new H(V,I.message||void 0);return new Tu(V,ce,I.message)}return null}function Ud(){}Ud.prototype.c=null;function R5(I){return I.c||(I.c=I.b())}var Sy;function Ty(){}P(Ty,Ud),Ty.prototype.a=function(){var I=z3(this);return I?new ActiveXObject(I):new XMLHttpRequest},Ty.prototype.b=function(){var I={};return z3(this)&&(I[0]=!0,I[1]=!0),I};function z3(I){if(!I.f&&typeof XMLHttpRequest>"u"&&typeof ActiveXObject<"u"){for(var V=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],ce=0;ce=v1(this).value)for(y(V)&&(V=V()),I=new rd(I,String(V),this.f),ce&&(I.a=ce),ce=this;ce;)ce=ce.a};var XA={},J0=null;function E3(I){J0||(J0=new qg(""),XA[""]=J0,J0.c=Py);var V;if(!(V=XA[I])){V=new qg(I);var ce=I.lastIndexOf("."),He=I.substr(ce+1);ce=E3(I.substr(0,ce)),ce.b||(ce.b={}),ce.b[He]=V,V.a=ce,XA[I]=V}return V}function ec(I,V){I&&I.log(gS,V,void 0)}function Cy(I){this.f=I}P(Cy,Ud),Cy.prototype.a=function(){return new H5(this.f)},Cy.prototype.b=function(I){return function(){return I}}({});function H5(I){Ol.call(this),this.u=I,this.h=void 0,this.readyState=M5,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.l=new Headers,this.b=null,this.s="GET",this.f="",this.a=!1,this.i=E3("goog.net.FetchXmlHttp"),this.m=this.c=this.g=null}P(H5,Ol);var M5=0;t=H5.prototype,t.open=function(I,V){if(this.readyState!=M5)throw this.abort(),Error("Error reopening a connection");this.s=I,this.f=V,this.readyState=1,Ry(this)},t.send=function(I){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.a=!0;var V={headers:this.l,method:this.s,credentials:this.h,cache:void 0};I&&(V.body=I),this.u.fetch(new Request(this.f,V)).then(this.uc.bind(this),this.Va.bind(this))},t.abort=function(){this.response=this.responseText="",this.l=new Headers,this.status=0,this.c&&this.c.cancel("Request was aborted."),1<=this.readyState&&this.a&&this.readyState!=4&&(this.a=!1,Ef(this)),this.readyState=M5},t.uc=function(I){this.a&&(this.g=I,this.b||(this.status=this.g.status,this.statusText=this.g.statusText,this.b=I.headers,this.readyState=2,Ry(this)),this.a&&(this.readyState=3,Ry(this),this.a&&(this.responseType==="arraybuffer"?I.arrayBuffer().then(this.sc.bind(this),this.Va.bind(this)):typeof s.ReadableStream<"u"&&"body"in I?(this.response=this.responseText="",this.c=I.body.getReader(),this.m=new TextDecoder,x0(this)):I.text().then(this.tc.bind(this),this.Va.bind(this)))))};function x0(I){I.c.read().then(I.pc.bind(I)).catch(I.Va.bind(I))}t.pc=function(I){if(this.a){var V=this.m.decode(I.value?I.value:new Uint8Array(0),{stream:!I.done});V&&(this.response=this.responseText+=V),I.done?Ef(this):Ry(this),this.readyState==3&&x0(this)}},t.tc=function(I){this.a&&(this.response=this.responseText=I,Ef(this))},t.sc=function(I){this.a&&(this.response=I,Ef(this))},t.Va=function(I){var V=this.i;V&&V.log(D3,"Failed to fetch url "+this.f,I instanceof Error?I:Error(I)),this.a&&Ef(this)};function Ef(I){I.readyState=4,I.g=null,I.c=null,I.m=null,Ry(I)}t.setRequestHeader=function(I,V){this.l.append(I,V)},t.getResponseHeader=function(I){return this.b?this.b.get(I.toLowerCase())||"":((I=this.i)&&I.log(D3,"Attempting to get response header but no headers have been received for url: "+this.f,void 0),"")},t.getAllResponseHeaders=function(){if(!this.b){var I=this.i;return I&&I.log(D3,"Attempting to get all response headers but no headers have been received for url: "+this.f,void 0),""}I=[];for(var V=this.b.entries(),ce=V.next();!ce.done;)ce=ce.value,I.push(ce[0]+": "+ce[1]),ce=V.next();return I.join(`\r -`)};function Ry(I){I.onreadystatechange&&I.onreadystatechange.call(I)}Object.defineProperty(H5.prototype,"withCredentials",{get:function(){return this.h==="include"},set:function(I){this.h=I?"include":"same-origin"}});function Hy(I){Ol.call(this),this.headers=new O0,this.D=I||null,this.c=!1,this.C=this.a=null,this.h=this.P=this.l="",this.f=this.N=this.i=this.J=!1,this.g=0,this.s=null,this.m=I5,this.u=this.S=!1}P(Hy,Ol);var I5="";Hy.prototype.b=E3("goog.net.XhrIo");var $g=/^https?$/i,u8=["POST","PUT"];function Qg(I,V,ce,He,Ve){if(I.a)throw Error("[goog.net.XhrIo] Object is active with another request="+I.l+"; newUri="+V);ce=ce?ce.toUpperCase():"GET",I.l=V,I.h="",I.P=ce,I.J=!1,I.c=!0,I.a=I.D?I.D.a():Sy.a(),I.C=I.D?R5(I.D):R5(Sy),I.a.onreadystatechange=w(I.Wb,I);try{ec(I.b,Dh(I,"Opening Xhr")),I.N=!0,I.a.open(ce,String(V),!0),I.N=!1}catch(Ft){ec(I.b,Dh(I,"Error opening Xhr: "+Ft.message)),x1(I,Ft);return}V=He||"";var bt=new O0(I.headers);Ve&&d1(Ve,function(Ft,ln){bt.set(ln,Ft)}),Ve=he(bt.Y()),He=s.FormData&&V instanceof s.FormData,!fe(u8,ce)||Ve||He||bt.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),bt.forEach(function(Ft,ln){this.a.setRequestHeader(ln,Ft)},I),I.m&&(I.a.responseType=I.m),"withCredentials"in I.a&&I.a.withCredentials!==I.S&&(I.a.withCredentials=I.S);try{KA(I),0=V.l&&V.cancel())}this.u?this.u.call(this.s,this):this.v=!0,this.a||(I=new z5,My(this),Bd(this,!1,I))}},em.prototype.m=function(I,V){this.i=!1,Bd(this,I,V)};function Bd(I,V,ce){I.a=!0,I.c=ce,I.f=!V,jd(I)}function My(I){if(I.a){if(!I.v)throw new $A;I.v=!1}}function tm(I,V){Iy(I,null,V,void 0)}function Iy(I,V,ce,He){I.g.push([V,ce,He]),I.a&&jd(I)}em.prototype.then=function(I,V,ce){var He,Ve,bt=new Uo(function(Ft,ln){He=Ft,Ve=ln});return Iy(this,He,function(Ft){Ft instanceof z5?bt.cancel():Ve(Ft)}),bt.then(I,V,ce)},em.prototype.$goog_Thenable=!0;function b0(I){return Z(I.g,function(V){return y(V[1])})}function jd(I){if(I.h&&I.a&&b0(I)){var V=I.h,ce=Sp[V];ce&&(s.clearTimeout(ce.a),delete Sp[V]),I.h=0}I.b&&(I.b.l--,delete I.b),V=I.c;for(var He=ce=!1;I.g.length&&!I.i;){var Ve=I.g.shift(),bt=Ve[0],Ft=Ve[1];if(Ve=Ve[2],bt=I.f?Ft:bt)try{var ln=bt.call(Ve||I.s,V);ln!==void 0&&(I.f=I.f&&(ln==V||ln instanceof Error),I.c=V=ln),(B(V)||typeof s.Promise=="function"&&V instanceof s.Promise)&&(He=!0,I.i=!0)}catch(Zn){V=Zn,I.f=!0,b0(I)||(ce=!0)}}I.c=V,He&&(ln=w(I.m,I,!0),He=w(I.m,I,!1),V instanceof em?(Iy(V,ln,He),V.C=!0):V.then(ln,He)),ce&&(V=new D5(V),Sp[V.a]=V,I.h=V.a)}function $A(){k.call(this)}P($A,k),$A.prototype.message="Deferred has already fired",$A.prototype.name="AlreadyCalledError";function z5(){k.call(this)}P(z5,k),z5.prototype.message="Deferred was canceled",z5.prototype.name="CanceledError";function D5(I){this.a=s.setTimeout(w(this.c,this),0),this.b=I}D5.prototype.c=function(){throw delete Sp[this.a],this.b};var Sp={};function F3(I){var V={},ce=V.document||document,He=ut(I).toString(),Ve=yn(document,"SCRIPT"),bt={Xb:Ve,Ma:void 0},Ft=new em(bt),ln=null,Zn=V.timeout!=null?V.timeout:5e3;return 0"u"||typeof s.Headers>"u"||typeof s.Request>"u"))throw new H("operation-not-supported-in-this-environment","fetch, Headers and Request native APIs or equivalent Polyfills must be available to support HTTP requests from a Worker environment.");var Ft=new Hy(this.f);if(bt){Ft.g=Math.max(0,bt);var ln=setTimeout(function(){Ft.dispatchEvent("timeout")},bt)}Y0(Ft,"complete",function(){ln&&clearTimeout(ln);var Zn=null;try{Zn=JSON.parse(kf(this))||null}catch{Zn=null}V&&V(Zn)}),Ph(Ft,"ready",function(){ln&&clearTimeout(ln),jt(this)}),Ph(Ft,"timeout",function(){ln&&clearTimeout(ln),jt(this),V&&V(null)}),Qg(Ft,I,ce,He,Ve)};var Yd=new _e(St,"https://apis.google.com/js/client.js?onload=%{onload}"),Dn="__fcb"+Math.floor(1e6*Math.random()).toString();function Rn(I,V){if(((window.gapi||{}).client||{}).request)I();else{s[Dn]=function(){((window.gapi||{}).client||{}).request?I():V(Error("CORS_UNSUPPORTED"))};var ce=wt(Yd,{onload:Dn});tm(F3(ce),function(){V(Error("CORS_UNSUPPORTED"))})}}Ke.prototype.s=function(I,V,ce,He,Ve){var bt=this;pt.then(function(){window.gapi.client.setApiKey(bt.c);var Ft=window.gapi.auth.getToken();window.gapi.auth.setToken(null),window.gapi.client.request({path:I,method:ce,body:He,headers:Ve,authType:"none",callback:function(ln){window.gapi.auth.setToken(Ft),V&&V(ln)}})}).o(function(Ft){V&&V({error:{message:Ft&&Ft.message||"CORS_UNSUPPORTED"}})})};function _n(I,V){return new Uo(function(ce,He){V.grant_type=="refresh_token"&&V.refresh_token||V.grant_type=="authorization_code"&&V.code?S0(I,I.l+"?key="+encodeURIComponent(I.c),function(Ve){Ve?Ve.error?He(YM(Ve)):Ve.access_token&&Ve.refresh_token?ce(Ve):He(new H("internal-error")):He(new H("network-request-failed"))},"POST",$7(V).toString(),I.g,I.m.get()):He(new H("internal-error"))})}function xi(I,V,ce,He,Ve,bt,Ft){var ln=wu(V+ce);el(ln,"key",I.c),Ft&&el(ln,"cb",Date.now().toString());var Zn=He=="GET";if(Zn)for(var Io in Ve)Ve.hasOwnProperty(Io)&&el(ln,Io,Ve[Io]);return new Uo(function(Hr,Al){S0(I,ln.toString(),function(fl){fl?fl.error?Al(YM(fl,bt||{})):Hr(fl):Al(new H("network-request-failed"))},He,Zn?void 0:gy(g5(Ve)),I.a,I.v.get())})}function zi(I){if(I=I.email,typeof I!="string"||!s5.test(I))throw new H("invalid-email")}function qr(I){"email"in I&&zi(I)}function Yr(I,V){return Da(I,Qee,{identifier:V,continueUri:p5()?dr():"http://localhost"}).then(function(ce){return ce.signinMethods||[]})}function ea(I){return Da(I,uU,{}).then(function(V){return V.authorizedDomains||[]})}function Wa(I){if(!I[Zt])throw I.mfaPendingCredential?new H("multi-factor-auth-required",null,qe(I)):new H("internal-error")}function Sa(I){if(I.phoneNumber||I.temporaryProof){if(!I.phoneNumber||!I.temporaryProof)throw new H("internal-error")}else{if(!I.sessionInfo)throw new H("missing-verification-id");if(!I.code)throw new H("missing-verification-code")}}Ke.prototype.Ab=function(){return Da(this,fU,{})},Ke.prototype.Cb=function(I,V){return Da(this,dU,{idToken:I,email:V})},Ke.prototype.Db=function(I,V){return Da(this,WM,{idToken:I,password:V})};var Tp={displayName:"DISPLAY_NAME",photoUrl:"PHOTO_URL"};t=Ke.prototype,t.Eb=function(I,V){var ce={idToken:I},He=[];return Ne(Tp,function(Ve,bt){var Ft=V[bt];Ft===null?He.push(Ve):bt in V&&(ce[bt]=Ft)}),He.length&&(ce.deleteAttribute=He),Da(this,dU,ce)},t.wb=function(I,V){return I={requestType:"PASSWORD_RESET",email:I},De(I,V),Da(this,cU,I)},t.xb=function(I,V){return I={requestType:"EMAIL_SIGNIN",email:I},De(I,V),Da(this,nte,I)},t.vb=function(I,V){return I={requestType:"VERIFY_EMAIL",idToken:I},De(I,V),Da(this,ote,I)},t.Fb=function(I,V,ce){return I={requestType:"VERIFY_AND_CHANGE_EMAIL",idToken:I,newEmail:V},De(I,ce),Da(this,f8,I)};function ZA(I,V){return Da(I,ate,V)}t.gb=function(I){return Da(this,wS,I)};function e4(I,V){return Da(I,lte,V).then(function(ce){return ce.phoneSessionInfo.sessionInfo})}function yr(I){if(!I.phoneVerificationInfo)throw new H("internal-error");if(!I.phoneVerificationInfo.sessionInfo)throw new H("missing-verification-id");if(!I.phoneVerificationInfo.code)throw new H("missing-verification-code")}function mS(I,V){return Da(I,NM,V).then(function(ce){return ce.phoneResponseInfo.sessionInfo})}function zM(I,V,ce){return Da(I,ete,{idToken:V,deleteProvider:ce})}function zy(I){if(!I.requestUri||!I.sessionId&&!I.postBody&&!I.pendingToken)throw new H("internal-error")}function DM(I,V){return V.oauthIdToken&&V.providerId&&V.providerId.indexOf("oidc.")==0&&!V.pendingToken&&(I.sessionId?V.nonce=I.sessionId:I.postBody&&(I=new Ug(I.postBody),hs(I,"nonce")&&(V.nonce=I.get("nonce")))),V}function yS(I){var V=null;if(I.needConfirmation?(I.code="account-exists-with-different-credential",V=by(I)):I.errorMessage=="FEDERATED_USER_ID_ALREADY_LINKED"?(I.code="credential-already-in-use",V=by(I)):I.errorMessage=="EMAIL_EXISTS"?(I.code="email-already-in-use",V=by(I)):I.errorMessage&&(V=jM(I.errorMessage)),V)throw V;Wa(I)}function AS(I,V){return V.returnIdpCredential=!0,Da(I,hU,V)}function q0(I,V){return V.returnIdpCredential=!0,Da(I,UM,V)}function EM(I,V){return V.returnIdpCredential=!0,V.autoCreate=!1,Da(I,h8,V)}function kM(I){if(!I.oobCode)throw new H("invalid-action-code")}t.ob=function(I,V){return Da(this,rte,{oobCode:I,newPassword:V})},t.Sa=function(I){return Da(this,$ee,{oobCode:I})},t.kb=function(I){return Da(this,lU,{oobCode:I})};var lU={endpoint:"setAccountInfo",A:kM,Z:"email",B:!0},$ee={endpoint:"resetPassword",A:kM,G:function(I){var V=I.requestType;if(!V||!I.email&&V!="EMAIL_SIGNIN"&&V!="VERIFY_AND_CHANGE_EMAIL")throw new H("internal-error")},B:!0},sU={endpoint:"signupNewUser",A:function(I){if(zi(I),!I.password)throw new H("weak-password")},G:Wa,V:!0,B:!0},Qee={endpoint:"createAuthUri",B:!0},Zee={endpoint:"deleteAccount",O:["idToken"]},ete={endpoint:"setAccountInfo",O:["idToken","deleteProvider"],A:function(I){if(!Array.isArray(I.deleteProvider))throw new H("internal-error")}},Dy={endpoint:"emailLinkSignin",O:["email","oobCode"],A:zi,G:Wa,V:!0,B:!0},Od={endpoint:"emailLinkSignin",O:["idToken","email","oobCode"],A:zi,G:Wa,V:!0},FM={endpoint:"accounts/mfaEnrollment:finalize",O:["idToken","phoneVerificationInfo"],A:yr,G:Wa,B:!0,Na:!0},tte={endpoint:"accounts/mfaSignIn:finalize",O:["mfaPendingCredential","phoneVerificationInfo"],A:yr,G:Wa,B:!0,Na:!0},LM={endpoint:"getAccountInfo"},nte={endpoint:"getOobConfirmationCode",O:["requestType"],A:function(I){if(I.requestType!="EMAIL_SIGNIN")throw new H("internal-error");zi(I)},Z:"email",B:!0},ote={endpoint:"getOobConfirmationCode",O:["idToken","requestType"],A:function(I){if(I.requestType!="VERIFY_EMAIL")throw new H("internal-error")},Z:"email",B:!0},f8={endpoint:"getOobConfirmationCode",O:["idToken","newEmail","requestType"],A:function(I){if(I.requestType!="VERIFY_AND_CHANGE_EMAIL")throw new H("internal-error")},Z:"email",B:!0},cU={endpoint:"getOobConfirmationCode",O:["requestType"],A:function(I){if(I.requestType!="PASSWORD_RESET")throw new H("internal-error");zi(I)},Z:"email",B:!0},uU={mb:!0,endpoint:"getProjectConfig",Vb:"GET"},ite={mb:!0,endpoint:"getRecaptchaParam",Vb:"GET",G:function(I){if(!I.recaptchaSiteKey)throw new H("internal-error")}},rte={endpoint:"resetPassword",A:kM,Z:"email",B:!0},ate={endpoint:"sendVerificationCode",O:["phoneNumber","recaptchaToken"],Z:"sessionInfo",B:!0},dU={endpoint:"setAccountInfo",O:["idToken"],A:qr,V:!0},WM={endpoint:"setAccountInfo",O:["idToken"],A:function(I){if(qr(I),!I.password)throw new H("weak-password")},G:Wa,V:!0},fU={endpoint:"signupNewUser",G:Wa,V:!0,B:!0},lte={endpoint:"accounts/mfaEnrollment:start",O:["idToken","phoneEnrollmentInfo"],A:function(I){if(!I.phoneEnrollmentInfo)throw new H("internal-error");if(!I.phoneEnrollmentInfo.phoneNumber)throw new H("missing-phone-number");if(!I.phoneEnrollmentInfo.recaptchaToken)throw new H("missing-app-credential")},G:function(I){if(!I.phoneSessionInfo||!I.phoneSessionInfo.sessionInfo)throw new H("internal-error")},B:!0,Na:!0},NM={endpoint:"accounts/mfaSignIn:start",O:["mfaPendingCredential","mfaEnrollmentId","phoneSignInInfo"],A:function(I){if(!I.phoneSignInInfo||!I.phoneSignInInfo.recaptchaToken)throw new H("missing-app-credential")},G:function(I){if(!I.phoneResponseInfo||!I.phoneResponseInfo.sessionInfo)throw new H("internal-error")},B:!0,Na:!0},hU={endpoint:"verifyAssertion",A:zy,Za:DM,G:yS,V:!0,B:!0},h8={endpoint:"verifyAssertion",A:zy,Za:DM,G:function(I){if(I.errorMessage&&I.errorMessage=="USER_NOT_FOUND")throw new H("user-not-found");if(I.errorMessage)throw jM(I.errorMessage);Wa(I)},V:!0,B:!0},UM={endpoint:"verifyAssertion",A:function(I){if(zy(I),!I.idToken)throw new H("internal-error")},Za:DM,G:yS,V:!0},pU={endpoint:"verifyCustomToken",A:function(I){if(!I.token)throw new H("invalid-custom-token")},G:Wa,V:!0,B:!0},BM={endpoint:"verifyPassword",A:function(I){if(zi(I),!I.password)throw new H("wrong-password")},G:Wa,V:!0,B:!0},wS={endpoint:"verifyPhoneNumber",A:Sa,G:Wa,B:!0},gU={endpoint:"verifyPhoneNumber",A:function(I){if(!I.idToken)throw new H("internal-error");Sa(I)},G:function(I){if(I.temporaryProof)throw I.code="credential-already-in-use",by(I);Wa(I)}},nm={Ib:{USER_NOT_FOUND:"user-not-found"},endpoint:"verifyPhoneNumber",A:Sa,G:Wa,B:!0},W3={endpoint:"accounts/mfaEnrollment:withdraw",O:["idToken","mfaEnrollmentId"],G:function(I){if(!!I[Zt]^!!I.refreshToken)throw new H("internal-error")},B:!0,Na:!0};function Da(I,V,ce){if(!yy(ce,V.O))return $i(new H("internal-error"));var He=!!V.Na,Ve=V.Vb||"POST",bt;return Mo(ce).then(V.A).then(function(){return V.V&&(ce.returnSecureToken=!0),V.B&&I.b&&typeof ce.tenantId>"u"&&(ce.tenantId=I.b),He?xi(I,I.i,V.endpoint,Ve,ce,V.Ib,V.mb||!1):xi(I,I.h,V.endpoint,Ve,ce,V.Ib,V.mb||!1)}).then(function(Ft){return bt=Ft,V.Za?V.Za(ce,bt):bt}).then(V.G).then(function(){if(!V.Z)return bt;if(!(V.Z in bt))throw new H("internal-error");return bt[V.Z]})}function jM(I){return YM({error:{errors:[{message:I}],code:400,message:I}})}function YM(I,V){var ce=(I.error&&I.error.errors&&I.error.errors[0]||{}).reason||"",He={keyInvalid:"invalid-api-key",ipRefererBlocked:"app-not-authorized"};if(ce=He[ce]?new H(He[ce]):null)return ce;ce=I.error&&I.error.message||"",He={INVALID_CUSTOM_TOKEN:"invalid-custom-token",CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_EMAIL:"invalid-email",INVALID_PASSWORD:"wrong-password",USER_DISABLED:"user-disabled",MISSING_PASSWORD:"internal-error",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_OR_INVALID_NONCE:"missing-or-invalid-nonce",INVALID_MESSAGE_PAYLOAD:"invalid-message-payload",INVALID_RECIPIENT_EMAIL:"invalid-recipient-email",INVALID_SENDER:"invalid-sender",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",INVALID_PROVIDER_ID:"invalid-provider-id",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",CORS_UNSUPPORTED:"cors-unsupported",DYNAMIC_LINK_NOT_ACTIVATED:"dynamic-link-not-activated",INVALID_APP_ID:"invalid-app-id",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",WEAK_PASSWORD:"weak-password",OPERATION_NOT_ALLOWED:"operation-not-allowed",USER_CANCELLED:"user-cancelled",CAPTCHA_CHECK_FAILED:"captcha-check-failed",INVALID_APP_CREDENTIAL:"invalid-app-credential",INVALID_CODE:"invalid-verification-code",INVALID_PHONE_NUMBER:"invalid-phone-number",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_APP_CREDENTIAL:"missing-app-credential",MISSING_CODE:"missing-verification-code",MISSING_PHONE_NUMBER:"missing-phone-number",MISSING_SESSION_INFO:"missing-verification-id",QUOTA_EXCEEDED:"quota-exceeded",SESSION_EXPIRED:"code-expired",REJECTED_CREDENTIAL:"rejected-credential",INVALID_CONTINUE_URI:"invalid-continue-uri",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",MISSING_IOS_BUNDLE_ID:"missing-ios-bundle-id",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_DYNAMIC_LINK_DOMAIN:"invalid-dynamic-link-domain",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",INVALID_CERT_HASH:"invalid-cert-hash",UNSUPPORTED_TENANT_OPERATION:"unsupported-tenant-operation",INVALID_TENANT_ID:"invalid-tenant-id",TENANT_ID_MISMATCH:"tenant-id-mismatch",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",EMAIL_CHANGE_NEEDS_VERIFICATION:"email-change-needs-verification",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",UNSUPPORTED_FIRST_FACTOR:"unsupported-first-factor",UNVERIFIED_EMAIL:"unverified-email"},De(He,V||{}),V=(V=ce.match(/^[^\s]+\s*:\s*([\s\S]*)$/))&&1"u"&&delete ln[Zn]}),I.ports[0].postMessage({status:"done",eventId:ce,eventType:V,response:Ft})})}};function Eh(I,V,ce){Le(I.a)&&I.b.addEventListener("message",I.f),typeof I.a[V]>"u"&&(I.a[V]=[]),I.a[V].push(ce)}function SU(I){this.a=I}SU.prototype.postMessage=function(I,V){this.a.postMessage(I,V)};function TU(I){this.c=I,this.b=!1,this.a=[]}function PU(I,V,ce,He){var Ve,bt=ce||{},Ft,ln,Zn,Io=null;if(I.b)return $i(Error("connection_unavailable"));var Hr=He?800:50,Al=typeof MessageChannel<"u"?new MessageChannel:null;return new Uo(function(fl,$0){Al?(Ve=Math.floor(Math.random()*Math.pow(10,20)).toString(),Al.port1.start(),ln=setTimeout(function(){$0(Error("unsupported_event"))},Hr),Ft=function(Fy){Fy.data.eventId===Ve&&(Fy.data.status==="ack"?(clearTimeout(ln),Zn=setTimeout(function(){$0(Error("timeout"))},3e3)):Fy.data.status==="done"?(clearTimeout(Zn),typeof Fy.data.response<"u"?fl(Fy.data.response):$0(Error("unknown_error"))):(clearTimeout(ln),clearTimeout(Zn),$0(Error("invalid_response"))))},Io={messageChannel:Al,onMessage:Ft},I.a.push(Io),Al.port1.addEventListener("message",Ft),I.c.postMessage({eventType:V,eventId:Ve,data:bt},[Al.port2])):$0(Error("connection_unavailable"))}).then(function(fl){return SS(I,Io),fl}).o(function(fl){throw SS(I,Io),fl})}function SS(I,V){if(V){var ce=V.messageChannel,He=V.onMessage;ce&&(ce.port1.removeEventListener("message",He),ce.port1.close()),oe(I.a,function(Ve){return Ve==V})}}TU.prototype.close=function(){for(;0"u"&&(He=null);var Ve=s.localStorage.getItem(ce);Ve!==He&&(this.b[ce]=Ve,this.nb(ce))}else if(V.indexOf("firebase:")==0&&this.a[V]){if(typeof I.a.a<"u"?N3(this,"local").ia(this.f):$M(this),this.m){if(ce=s.localStorage.getItem(V),He=I.a.newValue,He!==ce)He!==null?s.localStorage.setItem(V,He):s.localStorage.removeItem(V);else if(this.b[V]===He&&typeof I.a.a>"u")return}var bt=this;ce=function(){(typeof I.a.a<"u"||bt.b[V]!==s.localStorage.getItem(V))&&(bt.b[V]=s.localStorage.getItem(V),bt.nb(V))},Dt&&po&&po==10&&s.localStorage.getItem(V)!==I.a.newValue&&I.a.newValue!==I.a.oldValue?setTimeout(ce,10):ce()}}else le(I,w(this.nb,this))},t.nb=function(I){this.a[I]&&le(this.a[I],function(V){V()})};function Mte(I){this.a=I,this.b=A8()}var QM={name:"authEvent",F:"local"};function Ite(I){return I.b.get(QM,I.a).then(function(V){return GA(V)})}function zte(){this.a=A8()}function Dte(){this.b=-1}function CS(I,V){this.b=LU,this.f=s.Uint8Array?new Uint8Array(this.b):Array(this.b),this.g=this.c=0,this.a=[],this.i=I,this.h=V,this.l=s.Int32Array?new Int32Array(64):Array(64),RS===void 0&&(s.Int32Array?RS=new Int32Array(nI):RS=nI),this.reset()}var RS;P(CS,Dte);for(var LU=64,Ete=LU-1,WU=[],ZM=0;ZMV;V++){Ve=ce[V-15]|0,He=ce[V-2]|0;var bt=(ce[V-16]|0)+((Ve>>>7|Ve<<25)^(Ve>>>18|Ve<<14)^Ve>>>3)|0,Ft=(ce[V-7]|0)+((He>>>17|He<<15)^(He>>>19|He<<13)^He>>>10)|0;ce[V]=bt+Ft|0}He=I.a[0]|0,Ve=I.a[1]|0;var ln=I.a[2]|0,Zn=I.a[3]|0,Io=I.a[4]|0,Hr=I.a[5]|0,Al=I.a[6]|0;for(bt=I.a[7]|0,V=0;64>V;V++){var fl=((He>>>2|He<<30)^(He>>>13|He<<19)^(He>>>22|He<<10))+(He&Ve^He&ln^Ve&ln)|0;Ft=Io&Hr^~Io&Al,bt=bt+((Io>>>6|Io<<26)^(Io>>>11|Io<<21)^(Io>>>25|Io<<7))|0,Ft=Ft+(RS[V]|0)|0,Ft=bt+(Ft+(ce[V]|0)|0)|0,bt=Al,Al=Hr,Hr=Io,Io=Zn+Ft|0,Zn=ln,ln=Ve,Ve=He,He=Ft+fl|0}I.a[0]=I.a[0]+He|0,I.a[1]=I.a[1]+Ve|0,I.a[2]=I.a[2]+ln|0,I.a[3]=I.a[3]+Zn|0,I.a[4]=I.a[4]+Io|0,I.a[5]=I.a[5]+Hr|0,I.a[6]=I.a[6]+Al|0,I.a[7]=I.a[7]+bt|0}function tI(I,V,ce){ce===void 0&&(ce=V.length);var He=0,Ve=I.c;if(typeof V=="string")for(;He=bt&&bt==(bt|0)))throw Error("message must be a byte array");I.f[Ve++]=bt,Ve==I.b&&(eI(I),Ve=0)}else throw Error("message must be string or array");I.c=Ve,I.g+=ce}var nI=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function oI(){CS.call(this,8,kte)}P(oI,CS);var kte=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function UU(I,V,ce,He,Ve,bt){this.v=I,this.i=V,this.l=ce,this.m=He||null,this.u=Ve||null,this.s=bt,this.h=V+":"+ce,this.C=new zte,this.g=new Mte(this.h),this.f=null,this.b=[],this.a=this.c=null}function HS(I){return new H("invalid-cordova-configuration",I)}t=UU.prototype,t.ma=function(){return this.Ia?this.Ia:this.Ia=c5().then(function(){if(typeof _l("universalLinks.subscribe",s)!="function")throw HS("cordova-universal-links-plugin-fix is not installed");if(typeof _l("BuildInfo.packageName",s)>"u")throw HS("cordova-plugin-buildinfo is not installed");if(typeof _l("cordova.plugins.browsertab.openUrl",s)!="function")throw HS("cordova-plugin-browsertab is not installed");if(typeof _l("cordova.InAppBrowser.open",s)!="function")throw HS("cordova-plugin-inappbrowser is not installed")},function(){throw new H("cordova-not-ready")})};function Fte(){for(var I=20,V=[];0V.c?tI(V,NU,56-V.c):tI(V,NU,V.b-(V.c-56));for(var He=63;56<=He;He--)V.f[He]=ce&255,ce/=256;for(eI(V),He=ce=0;He>Ve&255;return HM(I)}t.Pb=function(I,V){return V(new H("operation-not-supported-in-this-environment")),Mo()},t.Nb=function(){return $i(new H("operation-not-supported-in-this-environment"))},t.ac=function(){return!1},t.Yb=function(){return!0},t.Ub=function(){return!0},t.Ob=function(I,V,ce,He){if(this.c)return $i(new H("redirect-operation-pending"));var Ve=this,bt=s.document,Ft=null,ln=null,Zn=null,Io=null;return this.c=Mo().then(function(){return Kg(V),jU(Ve)}).then(function(){return Lte(Ve,I,V,ce,He)}).then(function(){return new Uo(function(Hr,Al){ln=function(){var fl=_l("cordova.plugins.browsertab.close",s);return Hr(),typeof fl=="function"&&fl(),Ve.a&&typeof Ve.a.close=="function"&&(Ve.a.close(),Ve.a=null),!1},Ve.Ea(ln),Zn=function(){Ft||(Ft=Gc(2e3).then(function(){Al(new H("redirect-cancelled-by-user"))}))},Io=function(){CA()&&Zn()},bt.addEventListener("resume",Zn,!1),Qs().toLowerCase().match(/android/)||bt.addEventListener("visibilitychange",Io,!1)}).o(function(Hr){return iI(Ve).then(function(){throw Hr})})}).oa(function(){Zn&&bt.removeEventListener("resume",Zn,!1),Io&&bt.removeEventListener("visibilitychange",Io,!1),Ft&&Ft.cancel(),ln&&Ve.Ta(ln),Ve.c=null})};function Lte(I,V,ce,He,Ve){var bt=Fte(),Ft=new Gl(V,He,null,bt,new H("no-auth-event"),null,Ve),ln=_l("BuildInfo.packageName",s);if(typeof ln!="string")throw new H("invalid-cordova-configuration");var Zn=_l("BuildInfo.displayName",s),Io={};if(Qs().toLowerCase().match(/iphone|ipad|ipod/))Io.ibi=ln;else if(Qs().toLowerCase().match(/android/))Io.apn=ln;else return $i(new H("operation-not-supported-in-this-environment"));Zn&&(Io.appDisplayName=Zn),bt=MS(bt),Io.sessionId=bt;var Hr=t4(I.v,I.i,I.l,V,ce,null,He,I.m,Io,I.u,Ve,I.s);return I.ma().then(function(){var Al=I.h;return I.C.a.set(QM,Ft.w(),Al)}).then(function(){var Al=_l("cordova.plugins.browsertab.isAvailable",s);if(typeof Al!="function")throw new H("invalid-cordova-configuration");var fl=null;Al(function($0){if($0){if(fl=_l("cordova.plugins.browsertab.openUrl",s),typeof fl!="function")throw new H("invalid-cordova-configuration");fl(Hr)}else{if(fl=_l("cordova.InAppBrowser.open",s),typeof fl!="function")throw new H("invalid-cordova-configuration");$0=Qs(),I.a=fl(Hr,$0.match(/(iPad|iPhone|iPod).*OS 7_\d/i)||$0.match(/(iPad|iPhone|iPod).*OS 8_\d/i)?"_blank":"_system","location=yes")}})})}function BU(I,V){for(var ce=0;ceI.f&&(I.a=I.f),V)}function gI(I,V){I.stop(),I.b=Gc(Xte(I,V)).then(function(){return Z7()}).then(function(){return I.h()}).then(function(){gI(I,!0)}).o(function(ce){I.i(ce)&&gI(I,!1)})}pI.prototype.stop=function(){this.b&&(this.b.cancel(),this.b=null)};function S8(I){this.f=I,this.b=this.a=null,this.c=Date.now()}S8.prototype.w=function(){return{apiKey:this.f.c,refreshToken:this.a,accessToken:this.b&&this.b.toString(),expirationTime:this.c}};function eB(I,V){typeof V>"u"&&(I.b?(V=I.b,V=V.a-V.g):V=0),I.c=Date.now()+1e3*V}function im(I,V){I.b=v5(V[Zt]||""),I.a=V.refreshToken,V=V.expiresIn,eB(I,typeof V<"u"?Number(V):void 0)}function tB(I,V){I.b=V.b,I.a=V.a,I.c=V.c}function kS(I,V){return _n(I.f,V).then(function(ce){return I.b=v5(ce.access_token),I.a=ce.refresh_token,eB(I,ce.expires_in),{accessToken:I.b.toString(),refreshToken:I.a}}).o(function(ce){throw ce.code=="auth/user-token-expired"&&(I.a=null),ce})}S8.prototype.getToken=function(I){return I=!!I,this.b&&!this.a?$i(new H("user-token-expired")):I||!this.b||Date.now()>this.c-3e4?this.a?kS(this,{grant_type:"refresh_token",refresh_token:this.a}):Mo(null):Mo({accessToken:this.b.toString(),refreshToken:this.a})};function gs(I,V){this.a=I||null,this.b=V||null,qc(this,{lastSignInTime:v3(V||null),creationTime:v3(I||null)})}function Dc(I){return new gs(I.a,I.b)}gs.prototype.w=function(){return{lastLoginAt:this.b,createdAt:this.a}};function nB(I,V,ce,He,Ve,bt){qc(this,{uid:I,displayName:He||null,photoURL:Ve||null,email:ce||null,phoneNumber:bt||null,providerId:V})}function kh(I,V,ce){this.N=[],this.l=I.apiKey,this.m=I.appName,this.s=I.authDomain||null;var He=ao.SDK_VERSION?Yg(ao.SDK_VERSION):null;this.a=new Ke(this.l,F(W),He),(this.u=I.emulatorConfig||null)&&Ji(this.a,this.u),this.h=new S8(this.a),WS(this,V[Zt]),im(this.h,V),Pi(this,"refreshToken",this.h.a),oB(this,ce||{}),Ol.call(this),this.P=!1,this.s&&Qu()&&(this.b=i4(this.s,this.l,this.m,this.u)),this.W=[],this.i=null,this.D=P8(this),this.ba=w(this.ib,this);var Ve=this;this.za=null,this.Pa=function(bt){Ve.xa(bt.h)},this.qa=null,this.Ba=function(bt){mI(Ve,bt.c)},this.$=null,this.aa=[],this.Oa=function(bt){T8(Ve,bt.f)},this.ja=null,this.S=new om(this,ce),Pi(this,"multiFactor",this.S)}P(kh,Ol),kh.prototype.xa=function(I){this.za=I,Dr(this.a,I)};function mI(I,V){I.u=V,Ji(I.a,V),I.b&&(V=I.b,I.b=i4(I.s,I.l,I.m,I.u),I.P&&(x8(V,I),v8(I.b,I)))}kh.prototype.la=function(){return this.za};function yI(I,V){I.qa&&Vi(I.qa,"languageCodeChanged",I.Pa),(I.qa=V)&&Xn(V,"languageCodeChanged",I.Pa)}function AI(I,V){I.$&&Vi(I.$,"emulatorConfigChanged",I.Ba),(I.$=V)&&Xn(V,"emulatorConfigChanged",I.Ba)}function T8(I,V){I.aa=V,Gi(I.a,ao.SDK_VERSION?Yg(ao.SDK_VERSION,I.aa):null)}kh.prototype.Ga=function(){return ve(this.aa)};function wI(I,V){I.ja&&Vi(I.ja,"frameworkChanged",I.Oa),(I.ja=V)&&Xn(V,"frameworkChanged",I.Oa)}kh.prototype.ib=function(){this.D.b&&(this.D.stop(),this.D.start())};function FS(I){try{return ao.app(I.m).auth()}catch{throw new H("internal-error","No firebase.auth.Auth instance is available for the Firebase App '"+I.m+"'!")}}function P8(I){return new pI(function(){return I.I(!0)},function(V){return!!(V&&V.code=="auth/network-request-failed")},function(){var V=I.h.c-Date.now()-3e5;return 0"u"||Le(I)?{}:NA(new xu(I))}).then(function(He){return V.a.vb(ce,He)}).then(function(He){if(V.email!=He)return V.reload()}).then(function(){}))},t.Fb=function(I,V){var ce=this,He=null;return P0(this,this.I().then(function(Ve){return He=Ve,typeof V>"u"||Le(V)?{}:NA(new xu(V))}).then(function(Ve){return ce.a.Fb(He,I,Ve)}).then(function(Ve){if(ce.email!=Ve)return ce.reload()}).then(function(){}))};function P0(I,V,ce){var He=Kte(I,V,ce);return I.N.push(He),He.oa(function(){se(I.N,He)}),He.o(function(Ve){var bt=null;throw Ve&&Ve.code==="auth/multi-factor-auth-required"&&(bt=ZU(Ve.w(),FS(I),w(I.jc,I))),bt||Ve})}t.jc=function(I){var V=null,ce=this;return I=wy(Mo(I),ce.uid).then(function(He){return V=C8(ce,He,"reauthenticate"),$c(ce,He),ce.i=null,ce.reload()}).then(function(){return V}),P0(this,I,!0)};function Kte(I,V,ce){return I.i&&!ce?(V.cancel(),$i(I.i)):V.o(function(He){throw!He||He.code!="auth/user-disabled"&&He.code!="auth/user-token-expired"||(I.i||I.dispatchEvent(new a4("userInvalidated")),I.i=He),He})}t.toJSON=function(){return this.w()},t.w=function(){var I={uid:this.uid,displayName:this.displayName,photoURL:this.photoURL,email:this.email,emailVerified:this.emailVerified,phoneNumber:this.phoneNumber,isAnonymous:this.isAnonymous,tenantId:this.tenantId,providerData:[],apiKey:this.l,appName:this.m,authDomain:this.s,stsTokenManager:this.h.w(),redirectEventId:this.ga||null};return this.metadata&&De(I,this.metadata.w()),le(this.providerData,function(V){I.providerData.push(A5(V))}),De(I,this.S.w()),I};function sB(I){if(!I.apiKey)return null;var V={apiKey:I.apiKey,authDomain:I.authDomain,appName:I.appName,emulatorConfig:I.emulatorConfig},ce={};if(I.stsTokenManager&&I.stsTokenManager.accessToken){ce[Zt]=I.stsTokenManager.accessToken,ce.refreshToken=I.stsTokenManager.refreshToken||null;var He=I.stsTokenManager.expirationTime;He&&(ce.expiresIn=(He-Date.now())/1e3)}else return null;var Ve=new kh(V,ce,I);return I.providerData&&le(I.providerData,function(bt){bt&&SI(Ve,If(bt))}),I.redirectEventId&&(Ve.ga=I.redirectEventId),Ve}function qte(I,V,ce,He){var Ve=new kh(I,V);return ce&&(Ve.ha=ce),He&&T8(Ve,He),Ve.reload().then(function(){return Ve})}function $te(I,V,ce,He){var Ve=I.h,bt={};return bt[Zt]=Ve.b&&Ve.b.toString(),bt.refreshToken=Ve.a,V=new kh(V||{apiKey:I.l,authDomain:I.s,appName:I.m},bt),ce&&(V.ha=ce),He&&T8(V,He),Gr(V,I),V}function Qte(I){this.a=I,this.b=A8()}var CI={name:"redirectUser",F:"session"};function cB(I){return Ey(I.b,CI,I.a)}function Zte(I,V){return I.b.get(CI,I.a).then(function(ce){return ce&&V&&(ce.authDomain=V),sB(ce||{})})}function RI(I){this.a=I,this.b=A8(),this.c=null,this.f=MI(this),this.b.addListener(Cp("local"),this.a,w(this.g,this))}RI.prototype.g=function(){var I=this,V=Cp("local");R0(this,function(){return Mo().then(function(){return I.c&&I.c.F!="local"?I.b.get(V,I.a):null}).then(function(ce){if(ce)return HI(I,"local").then(function(){I.c=V})})})};function HI(I,V){var ce=[],He;for(He in o4)o4[He]!==V&&ce.push(Ey(I.b,Cp(o4[He]),I.a));return ce.push(Ey(I.b,II,I.a)),ti(ce)}function MI(I){var V=Cp("local"),ce=Cp("session"),He=Cp("none");return Rte(I.b,V,I.a).then(function(){return I.b.get(ce,I.a)}).then(function(Ve){return Ve?ce:I.b.get(He,I.a).then(function(bt){return bt?He:I.b.get(V,I.a).then(function(Ft){return Ft?V:I.b.get(II,I.a).then(function(ln){return ln?Cp(ln):V})})})}).then(function(Ve){return I.c=Ve,HI(I,Ve.F)}).o(function(){I.c||(I.c=V)})}var II={name:"persistence",F:"session"};function Cp(I){return{name:"authUser",F:I}}RI.prototype.yb=function(I){var V=null,ce=this;return Cte(I),R0(this,function(){return I!=ce.c.F?ce.b.get(ce.c,ce.a).then(function(He){return V=He,HI(ce,I)}).then(function(){if(ce.c=Cp(I),V)return ce.b.set(ce.c,V,ce.a)}):Mo()})};function ene(I){return R0(I,function(){return I.b.set(II,I.c.F,I.a)})}function uB(I,V){return R0(I,function(){return I.b.set(I.c,V.w(),I.a)})}function dB(I){return R0(I,function(){return Ey(I.b,I.c,I.a)})}function C0(I,V,ce){return R0(I,function(){return I.b.get(I.c,I.a).then(function(He){return He&&V&&(He.authDomain=V),He&&ce&&(He.emulatorConfig=ce),sB(He||{})})})}function R0(I,V){return I.f=I.f.then(V,V),I.f}function S1(I){if(this.l=!1,Pi(this,"settings",new $U),Pi(this,"app",I),Xl(this).options&&Xl(this).options.apiKey)I=ao.SDK_VERSION?Yg(ao.SDK_VERSION):null,this.a=new Ke(Xl(this).options&&Xl(this).options.apiKey,F(W),I);else throw new H("invalid-api-key");this.P=[],this.s=[],this.N=[],this.Pa=ao.INTERNAL.createSubscribe(w(this.zc,this)),this.W=void 0,this.ib=ao.INTERNAL.createSubscribe(w(this.Ac,this)),l4(this,null),this.i=new RI(Xl(this).options.apiKey+":"+Xl(this).name),this.D=new Qte(Xl(this).options.apiKey+":"+Xl(this).name),this.$=Ec(this,yB(this)),this.h=Ec(this,ine(this)),this.ba=!1,this.ja=w(this.Zc,this),this.Ba=w(this.da,this),this.qa=w(this.mc,this),this.za=w(this.wc,this),this.Aa=w(this.xc,this),this.b=null,pB(this),this.INTERNAL={},this.INTERNAL.delete=w(this.delete,this),this.INTERNAL.logFramework=w(this.Gc,this),this.u=0,Ol.call(this),nne(this),this.J=[],this.R=null}P(S1,Ol);function fB(I){Nt.call(this,"languageCodeChanged"),this.h=I}P(fB,Nt);function hB(I){Nt.call(this,"emulatorConfigChanged"),this.c=I}P(hB,Nt);function zI(I){Nt.call(this,"frameworkChanged"),this.f=I}P(zI,Nt),t=S1.prototype,t.yb=function(I){return I=this.i.yb(I),Ec(this,I)},t.xa=function(I){this.aa===I||this.l||(this.aa=I,Dr(this.a,this.aa),this.dispatchEvent(new fB(this.la())))},t.la=function(){return this.aa},t.fd=function(){var I=s.navigator;this.xa(I&&(I.languages&&I.languages[0]||I.language||I.userLanguage)||null)},t.gd=function(I,V){if(!this.R){if(!/^https?:\/\//.test(I))throw new H("argument-error","Emulator URL must start with a valid scheme (http:// or https://).");V=V?!!V.disableWarnings:!1,tne(V),this.R={url:I,ec:V},this.settings.jb=!0,Ji(this.a,this.R),this.dispatchEvent(new hB(this.R))}};function tne(I){typeof console<"u"&&typeof console.info=="function"&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),s.document&&!I&&Ds().then(function(){var V=s.document.createElement("div");V.innerText="Running in emulator mode. Do not use with production credentials.",V.style.position="fixed",V.style.width="100%",V.style.backgroundColor="#ffffff",V.style.border=".1em solid #000000",V.style.color="#b50000",V.style.bottom="0px",V.style.left="0px",V.style.margin="0px",V.style.zIndex=1e4,V.style.textAlign="center",V.classList.add("firebase-emulator-warning"),s.document.body.appendChild(V)})}t.Gc=function(I){this.J.push(I),Gi(this.a,ao.SDK_VERSION?Yg(ao.SDK_VERSION,this.J):null),this.dispatchEvent(new zI(this.J))},t.Ga=function(){return ve(this.J)},t.zb=function(I){this.S===I||this.l||(this.S=I,this.a.b=this.S)},t.T=function(){return this.S};function nne(I){Object.defineProperty(I,"lc",{get:function(){return this.la()},set:function(V){this.xa(V)},enumerable:!1}),I.aa=null,Object.defineProperty(I,"ti",{get:function(){return this.T()},set:function(V){this.zb(V)},enumerable:!1}),I.S=null,Object.defineProperty(I,"emulatorConfig",{get:function(){if(this.R){var V=wu(this.R.url);V=If({protocol:V.c,host:V.a,port:V.g,options:If({disableWarnings:this.R.ec})})}else V=null;return V},enumerable:!1})}t.toJSON=function(){return{apiKey:Xl(this).options.apiKey,authDomain:Xl(this).options.authDomain,appName:Xl(this).name,currentUser:aa(this)&&aa(this).w()}};function DI(I){return I.Oa||$i(new H("auth-domain-config-required"))}function pB(I){var V=Xl(I).options.authDomain,ce=Xl(I).options.apiKey;V&&Qu()&&(I.Oa=I.$.then(function(){if(!I.l){if(I.b=i4(V,ce,Xl(I).name,I.R),v8(I.b,I),aa(I)&&rm(aa(I)),I.m){rm(I.m);var He=I.m;He.xa(I.la()),yI(He,I),He=I.m,T8(He,I.J),wI(He,I),He=I.m,mI(He,I.R),AI(He,I),I.m=null}return I.b}}))}t.Gb=function(I,V){switch(I){case"unknown":case"signInViaRedirect":return!0;case"signInViaPopup":return this.g==V&&!!this.f;default:return!1}},t.na=function(I,V,ce,He){I=="signInViaPopup"&&this.g==He&&(ce&&this.C?this.C(ce):V&&!ce&&this.f&&this.f(V),this.c&&(this.c.cancel(),this.c=null),delete this.f,delete this.C)},t.Fa=function(I,V){return I=="signInViaRedirect"||I=="signInViaPopup"&&this.g==V&&this.f?w(this.ic,this):null},t.ic=function(I,V,ce,He){var Ve=this,bt={requestUri:I,postBody:He,sessionId:V,tenantId:ce};return this.c&&(this.c.cancel(),this.c=null),Ve.$.then(function(){return j3(Ve,AS(Ve.a,bt))})},t.Xc=function(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=this,ce=P3(I.providerId),He=Og(),Ve=null;(!Zu()||w3())&&Xl(this).options.authDomain&&I.isOAuthProvider&&(Ve=t4(Xl(this).options.authDomain,Xl(this).options.apiKey,Xl(this).name,"signInViaPopup",I,null,He,ao.SDK_VERSION||null,null,null,this.T(),this.R));var bt=_0(Ve,ce&&ce.va,ce&&ce.ua);return ce=DI(this).then(function(Ft){return sI(Ft,bt,"signInViaPopup",I,He,!!Ve,V.T())}).then(function(){return new Uo(function(Ft,ln){V.na("signInViaPopup",null,new H("cancelled-popup-request"),V.g),V.f=Ft,V.C=ln,V.g=He,V.c=GU(V.b,V,"signInViaPopup",bt,He)})}).then(function(Ft){return bt&&ps(bt),Ft?If(Ft):null}).o(function(Ft){throw bt&&ps(bt),Ft}),Ec(this,ce)},t.Yc=function(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=this,ce=DI(this).then(function(){return ene(V.i)}).then(function(){return VU(V.b,"signInViaRedirect",I,void 0,V.T())});return Ec(this,ce)};function gB(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=DI(I).then(function(){return I.b.ra()}).then(function(ce){return ce?If(ce):null});return Ec(I,V)}t.ra=function(){var I=this;return gB(this).then(function(V){return I.b&&r4(I.b.b),V}).o(function(V){throw I.b&&r4(I.b.b),V})},t.dd=function(I){if(!I)return $i(new H("null-user"));if(this.S!=I.tenantId)return $i(new H("tenant-id-mismatch"));var V=this,ce={};ce.apiKey=Xl(this).options.apiKey,ce.authDomain=Xl(this).options.authDomain,ce.appName=Xl(this).name;var He=$te(I,ce,V.D,V.Ga());return Ec(this,this.h.then(function(){if(Xl(V).options.apiKey!=I.l)return He.reload()}).then(function(){return aa(V)&&I.uid==aa(V).uid?(Gr(aa(V),I),V.da(I)):(l4(V,He),rm(He),V.da(He))}).then(function(){H8(V)}))};function one(I,V){var ce={};return ce.apiKey=Xl(I).options.apiKey,ce.authDomain=Xl(I).options.authDomain,ce.appName=Xl(I).name,I.R&&(ce.emulatorConfig=I.R),I.$.then(function(){return qte(ce,V,I.D,I.Ga())}).then(function(He){return aa(I)&&He.uid==aa(I).uid?(Gr(aa(I),He),I.da(He)):(l4(I,He),rm(He),I.da(He))}).then(function(){H8(I)})}function l4(I,V){aa(I)&&(NS(aa(I),I.Ba),Vi(aa(I),"tokenChanged",I.qa),Vi(aa(I),"userDeleted",I.za),Vi(aa(I),"userInvalidated",I.Aa),vI(aa(I))),V&&(V.W.push(I.Ba),Xn(V,"tokenChanged",I.qa),Xn(V,"userDeleted",I.za),Xn(V,"userInvalidated",I.Aa),0this.u&&(this.u=0),this.u==0&&aa(this)&&vI(aa(this)),this.removeAuthTokenListener(I)},t.addAuthTokenListener=function(I){var V=this;this.s.push(I),Ec(this,this.h.then(function(){V.l||fe(V.s,I)&&I(ky(V))}))},t.removeAuthTokenListener=function(I){oe(this.s,function(V){return V==I})};function rne(I,V){I.N.push(V),Ec(I,I.h.then(function(){!I.l&&fe(I.N,V)&&I.W!==I.getUid()&&(I.W=I.getUid(),V(ky(I)))}))}t.delete=function(){this.l=!0;for(var I=0;I"u"||Le(V)?{}:NA(new xu(V))}).then(function(He){return ce.a.wb(I,He)}).then(function(){}))},t.Wc=function(I,V){return Ec(this,dI(this,I,V,w(this.ab,this)))},t.Vc=function(I,V){var ce=this;return Ec(this,Mo().then(function(){var He=V||dr(),Ve=Fs(I,He);if(He=Su(He),!He)throw new H("argument-error","Invalid email link!");if(He.tenantId!==ce.T())throw new H("tenant-id-mismatch");return ce.ab(Ve)}))};function M8(){}M8.prototype.render=function(){},M8.prototype.reset=function(){},M8.prototype.getResponse=function(){},M8.prototype.execute=function(){};function s4(){this.a={},this.b=1e12}var BS=null;s4.prototype.render=function(I,V){return this.a[this.b.toString()]=new YS(I,V),this.b++},s4.prototype.reset=function(I){var V=jS(this,I);I=AB(I),V&&I&&(V.delete(),delete this.a[I])},s4.prototype.getResponse=function(I){return(I=jS(this,I))?I.getResponse():null},s4.prototype.execute=function(I){(I=jS(this,I))&&I.execute()};function jS(I,V){return(V=AB(V))&&I.a[V]||null}function AB(I){return(I=typeof I>"u"?1e12:I)?I.toString():null}function YS(I,V){this.g=!1,this.c=V,this.a=this.b=null,this.h=this.c.size!=="invisible",this.f=uo(I);var ce=this;this.i=function(){ce.execute()},this.h?this.execute():Xn(this.f,"click",this.i)}YS.prototype.getResponse=function(){return EI(this),this.b},YS.prototype.execute=function(){EI(this);var I=this;this.a||(this.a=setTimeout(function(){I.b=PA();var V=I.c.callback,ce=I.c["expired-callback"];if(V)try{V(I.b)}catch{}I.a=setTimeout(function(){if(I.a=null,I.b=null,ce)try{ce()}catch{}I.h&&I.execute()},6e4)},500))},YS.prototype.delete=function(){EI(this),this.g=!0,clearTimeout(this.a),this.a=null,Vi(this.f,"click",this.i)};function EI(I){if(I.g)throw Error("reCAPTCHA mock was already deleted!")}function kI(){}Pi(kI,"FACTOR_ID","phone");function FI(){}FI.prototype.g=function(){return BS||(BS=new s4),Mo(BS)},FI.prototype.c=function(){};var LI=null;function WI(){this.b=s.grecaptcha?1/0:0,this.f=null,this.a="__rcb"+Math.floor(1e6*Math.random()).toString()}var ane=new _e(St,"https://www.google.com/recaptcha/api.js?onload=%{onload}&render=explicit&hl=%{hl}"),lne=new Mf(3e4,6e4);WI.prototype.g=function(I){var V=this;return new Uo(function(ce,He){var Ve=setTimeout(function(){He(new H("network-request-failed"))},lne.get());if(!s.grecaptcha||I!==V.f&&!V.b){s[V.a]=function(){if(s.grecaptcha){V.f=I;var Ft=s.grecaptcha.render;s.grecaptcha.render=function(ln,Zn){return ln=Ft(ln,Zn),V.b++,ln},clearTimeout(Ve),ce(s.grecaptcha)}else clearTimeout(Ve),He(new H("internal-error"));delete s[V.a]};var bt=wt(ane,{onload:V.a,hl:I||""});Mo(F3(bt)).o(function(){clearTimeout(Ve),He(new H("internal-error","Unable to load external reCAPTCHA dependencies!"))})}else clearTimeout(Ve),ce(s.grecaptcha)})},WI.prototype.c=function(){this.b--};var NI=null;function UI(I,V,ce,He,Ve,bt,Ft){if(Pi(this,"type","recaptcha"),this.c=this.f=null,this.J=!1,this.v=V,this.g=null,Ft?(LI||(LI=new FI),Ft=LI):(NI||(NI=new WI),Ft=NI),this.m=Ft,this.a=ce||{theme:"light",type:"image"},this.h=[],this.a[xB])throw new H("argument-error","sitekey should not be provided for reCAPTCHA as one is automatically provisioned for the current project.");if(this.i=this.a[sne]==="invisible",!s.document)throw new H("operation-not-supported-in-this-environment","RecaptchaVerifier is only supported in a browser HTTP/HTTPS environment with DOM support.");if(!uo(V)||!this.i&&uo(V).hasChildNodes())throw new H("argument-error","reCAPTCHA container is either not found or already contains inner elements!");this.s=new Ke(I,bt||null,Ve||null),this.u=He||function(){return null};var ln=this;this.l=[];var Zn=this.a[wB];this.a[wB]=function(Hr){if(bB(ln,Hr),typeof Zn=="function")Zn(Hr);else if(typeof Zn=="string"){var Al=_l(Zn,s);typeof Al=="function"&&Al(Hr)}};var Io=this.a[vB];this.a[vB]=function(){if(bB(ln,null),typeof Io=="function")Io();else if(typeof Io=="string"){var Hr=_l(Io,s);typeof Hr=="function"&&Hr()}}}var wB="callback",vB="expired-callback",xB="sitekey",sne="size";function bB(I,V){for(var ce=0;ceVe||Ve>=TB.length)throw new H("internal-error","Argument validator received an unsupported number of arguments.");ce=TB[Ve],He=(He?"":ce+" argument ")+(V.name?'"'+V.name+'" ':"")+"must be "+V.K+".";break e}He=null}}if(He)throw new H("argument-error",I+" failed: "+He)}var TB="First Second Third Fourth Fifth Sixth Seventh Eighth Ninth".split(" ");function Ni(I,V){return{name:I||"",K:"a valid string",optional:!!V,M:function(ce){return typeof ce=="string"}}}function YI(I,V){return{name:I||"",K:"a boolean",optional:!!V,M:function(ce){return typeof ce=="boolean"}}}function s0(I,V){return{name:I||"",K:"a valid object",optional:!!V,M:A}}function k5(I,V){return{name:I||"",K:"a function",optional:!!V,M:function(ce){return typeof ce=="function"}}}function T1(I,V){return{name:I||"",K:"null",optional:!!V,M:function(ce){return ce===null}}}function PB(){return{name:"",K:"an HTML element",optional:!1,M:function(I){return!!(I&&I instanceof Element)}}}function une(){return{name:"auth",K:"an instance of Firebase Auth",optional:!0,M:function(I){return!!(I&&I instanceof S1)}}}function dne(){return{name:"app",K:"an instance of Firebase App",optional:!0,M:function(I){return!!(I&&I instanceof ao.app.App)}}}function F5(I){return{name:I?I+"Credential":"credential",K:I?"a valid "+I+" credential":"a valid credential",optional:!1,M:function(V){if(!V)return!1;var ce=!I||V.providerId===I;return!(!V.ka||!ce)}}}function _S(){return{name:"multiFactorAssertion",K:"a valid multiFactorAssertion",optional:!1,M:function(I){return I?!!I.tb:!1}}}function c4(){return{name:"authProvider",K:"a valid Auth provider",optional:!1,M:function(I){return!!(I&&I.providerId&&I.hasOwnProperty&&I.hasOwnProperty("isOAuthProvider"))}}}function OI(I,V){return A(I)&&typeof I.type=="string"&&I.type===V&&typeof I.Ha=="function"}function CB(I){return A(I)&&typeof I.uid=="string"}function Pu(){return{name:"applicationVerifier",K:"an implementation of firebase.auth.ApplicationVerifier",optional:!1,M:function(I){return!(!I||typeof I.type!="string"||typeof I.verify!="function")}}}function tc(I,V,ce,He){return{name:ce||"",K:I.K+" or "+V.K,optional:!!He,M:function(Ve){return I.M(Ve)||V.M(Ve)}}}function nc(I,V){for(var ce in V){var He=V[ce].name;I[He]=HB(He,I[ce],V[ce].j)}}function RB(I,V){for(var ce in V){var He=V[ce].name;He!==ce&&Object.defineProperty(I,He,{get:T(function(Ve){return this[Ve]},ce),set:T(function(Ve,bt,Ft,ln){SB(Ve,[Ft],[ln],!0),this[bt]=ln},He,ce,V[ce].lb),enumerable:!0})}}function Qc(I,V,ce,He){I[V]=HB(V,ce,He)}function HB(I,V,ce){function He(){var Ft=Array.prototype.slice.call(arguments);return SB(Ve,ce,Ft),V.apply(this,Ft)}if(!ce)return V;var Ve=_I(I),bt;for(bt in V)He[bt]=V[bt];for(bt in V.prototype)He.prototype[bt]=V.prototype[bt];return He}function _I(I){return I=I.split("."),I[I.length-1]}nc(S1.prototype,{kb:{name:"applyActionCode",j:[Ni("code")]},Sa:{name:"checkActionCode",j:[Ni("code")]},ob:{name:"confirmPasswordReset",j:[Ni("code"),Ni("newPassword")]},dc:{name:"createUserWithEmailAndPassword",j:[Ni("email"),Ni("password")]},hc:{name:"fetchSignInMethodsForEmail",j:[Ni("email")]},ra:{name:"getRedirectResult",j:[]},Bc:{name:"isSignInWithEmailLink",j:[Ni("emailLink")]},Hc:{name:"onAuthStateChanged",j:[tc(s0(),k5(),"nextOrObserver"),k5("opt_error",!0),k5("opt_completed",!0)]},Ic:{name:"onIdTokenChanged",j:[tc(s0(),k5(),"nextOrObserver"),k5("opt_error",!0),k5("opt_completed",!0)]},wb:{name:"sendPasswordResetEmail",j:[Ni("email"),tc(s0("opt_actionCodeSettings",!0),T1(null,!0),"opt_actionCodeSettings",!0)]},xb:{name:"sendSignInLinkToEmail",j:[Ni("email"),s0("actionCodeSettings")]},yb:{name:"setPersistence",j:[Ni("persistence")]},Sc:{name:"signInAndRetrieveDataWithCredential",j:[F5()]},Ab:{name:"signInAnonymously",j:[]},ab:{name:"signInWithCredential",j:[F5()]},Tc:{name:"signInWithCustomToken",j:[Ni("token")]},Uc:{name:"signInWithEmailAndPassword",j:[Ni("email"),Ni("password")]},Vc:{name:"signInWithEmailLink",j:[Ni("email"),Ni("emailLink",!0)]},Wc:{name:"signInWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Xc:{name:"signInWithPopup",j:[c4()]},Yc:{name:"signInWithRedirect",j:[c4()]},dd:{name:"updateCurrentUser",j:[tc(function(I){return{name:"user",K:"an instance of Firebase User",optional:!!I,M:function(V){return!!(V&&V instanceof kh)}}}(),T1(),"user")]},Bb:{name:"signOut",j:[]},toJSON:{name:"toJSON",j:[Ni(null,!0)]},fd:{name:"useDeviceLanguage",j:[]},gd:{name:"useEmulator",j:[Ni("url"),s0("options",!0)]},jd:{name:"verifyPasswordResetCode",j:[Ni("code")]}}),RB(S1.prototype,{lc:{name:"languageCode",lb:tc(Ni(),T1(),"languageCode")},ti:{name:"tenantId",lb:tc(Ni(),T1(),"tenantId")}}),S1.Persistence=o4,S1.Persistence.LOCAL="local",S1.Persistence.SESSION="session",S1.Persistence.NONE="none",nc(kh.prototype,{delete:{name:"delete",j:[]},oc:{name:"getIdTokenResult",j:[YI("opt_forceRefresh",!0)]},I:{name:"getIdToken",j:[YI("opt_forceRefresh",!0)]},Cc:{name:"linkAndRetrieveDataWithCredential",j:[F5()]},rb:{name:"linkWithCredential",j:[F5()]},Dc:{name:"linkWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Ec:{name:"linkWithPopup",j:[c4()]},Fc:{name:"linkWithRedirect",j:[c4()]},Lc:{name:"reauthenticateAndRetrieveDataWithCredential",j:[F5()]},ub:{name:"reauthenticateWithCredential",j:[F5()]},Mc:{name:"reauthenticateWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Nc:{name:"reauthenticateWithPopup",j:[c4()]},Oc:{name:"reauthenticateWithRedirect",j:[c4()]},reload:{name:"reload",j:[]},vb:{name:"sendEmailVerification",j:[tc(s0("opt_actionCodeSettings",!0),T1(null,!0),"opt_actionCodeSettings",!0)]},toJSON:{name:"toJSON",j:[Ni(null,!0)]},cd:{name:"unlink",j:[Ni("provider")]},Cb:{name:"updateEmail",j:[Ni("email")]},Db:{name:"updatePassword",j:[Ni("password")]},ed:{name:"updatePhoneNumber",j:[F5("phone")]},Eb:{name:"updateProfile",j:[s0("profile")]},Fb:{name:"verifyBeforeUpdateEmail",j:[Ni("email"),tc(s0("opt_actionCodeSettings",!0),T1(null,!0),"opt_actionCodeSettings",!0)]}}),nc(s4.prototype,{execute:{name:"execute"},render:{name:"render"},reset:{name:"reset"},getResponse:{name:"getResponse"}}),nc(M8.prototype,{execute:{name:"execute"},render:{name:"render"},reset:{name:"reset"},getResponse:{name:"getResponse"}}),nc(Uo.prototype,{oa:{name:"finally"},o:{name:"catch"},then:{name:"then"}}),RB($U.prototype,{appVerificationDisabled:{name:"appVerificationDisabledForTesting",lb:YI("appVerificationDisabledForTesting")}}),nc(uI.prototype,{confirm:{name:"confirm",j:[Ni("verificationCode")]}}),Qc(xp,"fromJSON",function(I){I=typeof I=="string"?JSON.parse(I):I;for(var V,ce=[T5,Ic,Zs,S5],He=0;He=0,r=!n&&i&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return r?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(o=this.toRgbString()),e==="prgb"&&(o=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(o=this.toHexString()),e==="hex3"&&(o=this.toHexString(!0)),e==="hex4"&&(o=this.toHex8String(!0)),e==="hex8"&&(o=this.toHex8String()),e==="name"&&(o=this.toName()),e==="hsl"&&(o=this.toHslString()),e==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},clone:function(){return er(this.toString())},_applyModification:function(e,n){var o=e.apply(null,[this].concat([].slice.call(n)));return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this},lighten:function(){return this._applyModification(Oro,arguments)},brighten:function(){return this._applyModification(_ro,arguments)},darken:function(){return this._applyModification(Vro,arguments)},desaturate:function(){return this._applyModification(Bro,arguments)},saturate:function(){return this._applyModification(jro,arguments)},greyscale:function(){return this._applyModification(Yro,arguments)},spin:function(){return this._applyModification(Gro,arguments)},_applyCombination:function(e,n){return e.apply(null,[this].concat([].slice.call(n)))},analogous:function(){return this._applyCombination(Kro,arguments)},complement:function(){return this._applyCombination(Xro,arguments)},monochromatic:function(){return this._applyCombination(qro,arguments)},splitcomplement:function(){return this._applyCombination(Jro,arguments)},triad:function(){return this._applyCombination(ARe,[3])},tetrad:function(){return this._applyCombination(ARe,[4])}};er.fromRatio=function(t,e){if(BX(t)=="object"){var n={};for(var o in t)t.hasOwnProperty(o)&&(o==="a"?n[o]=t[o]:n[o]=MD(t[o]));t=n}return er(t,e)};function Fro(t){var e={r:0,g:0,b:0},n=1,o=null,i=null,r=null,a=!1,l=!1;return typeof t=="string"&&(t=tao(t)),BX(t)=="object"&&(e6(t.r)&&e6(t.g)&&e6(t.b)?(e=Lro(t.r,t.g,t.b),a=!0,l=String(t.r).substr(-1)==="%"?"prgb":"rgb"):e6(t.h)&&e6(t.s)&&e6(t.v)?(o=MD(t.s),i=MD(t.v),e=Nro(t.h,o,i),a=!0,l="hsv"):e6(t.h)&&e6(t.s)&&e6(t.l)&&(o=MD(t.s),r=MD(t.l),e=Wro(t.h,o,r),a=!0,l="hsl"),t.hasOwnProperty("a")&&(n=t.a)),n=Ont(n),{ok:a,format:t.format||l,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:n}}function Lro(t,e,n){return{r:Wc(t,255)*255,g:Wc(e,255)*255,b:Wc(n,255)*255}}function pRe(t,e,n){t=Wc(t,255),e=Wc(e,255),n=Wc(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r,a,l=(o+i)/2;if(o==i)r=a=0;else{var s=o-i;switch(a=l>.5?s/(2-o-i):s/(o+i),o){case t:r=(e-n)/s+(e1&&(d-=1),d<1/6?c+(u-c)*6*d:d<1/2?u:d<2/3?c+(u-c)*(2/3-d)*6:c}if(e===0)o=i=r=n;else{var l=n<.5?n*(1+e):n+e-n*e,s=2*n-l;o=a(s,l,t+1/3),i=a(s,l,t),r=a(s,l,t-1/3)}return{r:o*255,g:i*255,b:r*255}}function gRe(t,e,n){t=Wc(t,255),e=Wc(e,255),n=Wc(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r,a,l=o,s=o-i;if(a=o===0?0:s/o,o==i)r=0;else{switch(o){case t:r=(e-n)/s+(e>1)+720)%360;--e;)o.h=(o.h+i)%360,r.push(er(o));return r}function qro(t,e){e=e||6;for(var n=er(t).toHsv(),o=n.h,i=n.s,r=n.v,a=[],l=1/e;e--;)a.push(er({h:o,s:i,v:r})),r=(r+l)%1;return a}er.mix=function(t,e,n){n=n===0?0:n||50;var o=er(t).toRgb(),i=er(e).toRgb(),r=n/100,a={r:(i.r-o.r)*r+o.r,g:(i.g-o.g)*r+o.g,b:(i.b-o.b)*r+o.b,a:(i.a-o.a)*r+o.a};return er(a)};er.readability=function(t,e){var n=er(t),o=er(e);return(Math.max(n.getLuminance(),o.getLuminance())+.05)/(Math.min(n.getLuminance(),o.getLuminance())+.05)};er.isReadable=function(t,e,n){var o=er.readability(t,e),i,r;switch(r=!1,i=nao(n),i.level+i.size){case"AAsmall":case"AAAlarge":r=o>=4.5;break;case"AAlarge":r=o>=3;break;case"AAAsmall":r=o>=7;break}return r};er.mostReadable=function(t,e,n){var o=null,i=0,r,a,l,s;n=n||{},a=n.includeFallbackColors,l=n.level,s=n.size;for(var c=0;ci&&(i=r,o=er(e[c]));return er.isReadable(t,o,{level:l,size:s})||!a?o:(n.includeFallbackColors=!1,er.mostReadable(t,["#fff","#000"],n))};var Ede=er.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},$ro=er.hexNames=Qro(Ede);function Qro(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}function Ont(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function Wc(t,e){Zro(t)&&(t="100%");var n=eao(t);return t=Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function NZ(t){return Math.min(1,Math.max(0,t))}function _1(t){return parseInt(t,16)}function Zro(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function eao(t){return typeof t=="string"&&t.indexOf("%")!=-1}function A2(t){return t.length==1?"0"+t:""+t}function MD(t){return t<=1&&(t=t*100+"%"),t}function _nt(t){return Math.round(parseFloat(t)*255).toString(16)}function wRe(t){return _1(t)/255}var Ky=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",n="(?:"+e+")|(?:"+t+")",o="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?",i="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?";return{CSS_UNIT:new RegExp(n),rgb:new RegExp("rgb"+o),rgba:new RegExp("rgba"+i),hsl:new RegExp("hsl"+o),hsla:new RegExp("hsla"+i),hsv:new RegExp("hsv"+o),hsva:new RegExp("hsva"+i),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function e6(t){return!!Ky.CSS_UNIT.exec(t)}function tao(t){t=t.replace(Ero,"").replace(kro,"").toLowerCase();var e=!1;if(Ede[t])t=Ede[t],e=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n;return(n=Ky.rgb.exec(t))?{r:n[1],g:n[2],b:n[3]}:(n=Ky.rgba.exec(t))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Ky.hsl.exec(t))?{h:n[1],s:n[2],l:n[3]}:(n=Ky.hsla.exec(t))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Ky.hsv.exec(t))?{h:n[1],s:n[2],v:n[3]}:(n=Ky.hsva.exec(t))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Ky.hex8.exec(t))?{r:_1(n[1]),g:_1(n[2]),b:_1(n[3]),a:wRe(n[4]),format:e?"name":"hex8"}:(n=Ky.hex6.exec(t))?{r:_1(n[1]),g:_1(n[2]),b:_1(n[3]),format:e?"name":"hex"}:(n=Ky.hex4.exec(t))?{r:_1(n[1]+""+n[1]),g:_1(n[2]+""+n[2]),b:_1(n[3]+""+n[3]),a:wRe(n[4]+""+n[4]),format:e?"name":"hex8"}:(n=Ky.hex3.exec(t))?{r:_1(n[1]+""+n[1]),g:_1(n[2]+""+n[2]),b:_1(n[3]+""+n[3]),format:e?"name":"hex"}:!1}function nao(t){var e,n;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),n=(t.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),n!=="small"&&n!=="large"&&(n="small"),{level:e,size:n}}var vRe=function(e){var n=["r","g","b","a","h","s","l","v"],o=0,i=0;return Dro(n,function(r){if(e[r]&&(o+=1,isNaN(e[r])||(i+=1),r==="s"||r==="l")){var a=/^\d+%$/;a.test(e[r])&&(i+=1)}}),o===i?e:!1},ID=function(e,n){var o=e.hex?er(e.hex):er(e),i=o.toHsl(),r=o.toHsv(),a=o.toRgb(),l=o.toHex();i.s===0&&(i.h=n||0,r.h=n||0);var s=l==="000000"&&a.a===0;return{hsl:i,hex:s?"transparent":"#"+l,rgb:a,hsv:r,oldHue:e.h||n||i.h,source:e.source}},V7=function(e){if(e==="transparent")return!0;var n=String(e).charAt(0)==="#"?1:0;return e.length!==4+n&&e.length<7+n&&er(e).isValid()},W5e=function(e){if(!e)return"#fff";var n=ID(e);if(n.hex==="transparent")return"rgba(0,0,0,0.4)";var o=(n.rgb.r*299+n.rgb.g*587+n.rgb.b*114)/1e3;return o>=128?"#000":"#fff"},uae=function(e,n){var o=e.replace("°","");return er(n+" ("+o+")")._ok},Uz=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){uao(i,o);function i(){var r,a,l,s;cao(this,i);for(var c=arguments.length,u=Array(c),d=0;dl))return!1;var c=r.get(t),u=r.get(e);if(c&&u)return c==e&&u==t;var d=-1,f=!0,p=n&bao?new jX:void 0;for(r.set(t,e),r.set(e,t);++d=0||Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o]);return n}var TO=24,Nlo=eot.default=function(t){var e=t.fill,n=e===void 0?"currentColor":e,o=t.width,i=o===void 0?TO:o,r=t.height,a=r===void 0?TO:r,l=t.style,s=l===void 0?{}:l,c=Wlo(t,["fill","width","height","style"]);return NRe.default.createElement("svg",WRe({viewBox:"0 0 "+TO+" "+TO,style:WRe({fill:n,width:i,height:a},s)},c),NRe.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))},Ulo=function(){function t(e,n){for(var o=0;o1&&(i.a=1),o.props.onChange({h:o.props.hsl.h,s:o.props.hsl.s,l:o.props.hsl.l,a:Math.round(i.a*100)/100,source:"rgb"},r)):(i.h||i.s||i.l)&&(typeof i.s=="string"&&i.s.includes("%")&&(i.s=i.s.replace("%","")),typeof i.l=="string"&&i.l.includes("%")&&(i.l=i.l.replace("%","")),i.s==1?i.s=.01:i.l==1&&(i.l=.01),o.props.onChange({h:i.h||o.props.hsl.h,s:Number(LRe(i.s)?o.props.hsl.s:i.s),l:Number(LRe(i.l)?o.props.hsl.l:i.l),source:"hsl"},r))},o.showHighlight=function(i){i.currentTarget.style.background="#eee"},o.hideHighlight=function(i){i.currentTarget.style.background="transparent"},n.hsl.a!==1&&n.view==="hex"?o.state={view:"rgb"}:o.state={view:n.view},o}return Ulo(e,[{key:"render",value:function(){var o=this,i=Jr({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),r=void 0;return this.state.view==="hex"?r=Se.createElement("div",{style:i.fields,className:"flexbox-fix"},Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?r=Se.createElement("div",{style:i.fields,className:"flexbox-fix"},Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),Se.createElement("div",{style:i.alpha},Se.createElement(al,{style:{input:i.input,label:i.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(r=Se.createElement("div",{style:i.fields,className:"flexbox-fix"},Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),Se.createElement("div",{style:i.field},Se.createElement(al,{style:{input:i.input,label:i.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),Se.createElement("div",{style:i.alpha},Se.createElement(al,{style:{input:i.input,label:i.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),Se.createElement("div",{style:i.wrap,className:"flexbox-fix"},r,Se.createElement("div",{style:i.toggle},Se.createElement("div",{style:i.icon,onClick:this.toggleViews,ref:function(l){return o.icon=l}},Se.createElement(Nlo,{style:i.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.hsl.a!==1&&i.view==="hex"?{view:"rgb"}:null}}]),e}(Se.Component);tot.defaultProps={view:"hex"};var URe=function(){var e=Jr({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return Se.createElement("div",{style:e.picker})},Olo=function(){var e=Jr({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return Se.createElement("div",{style:e.picker})},O5e=function(e){var n=e.width,o=e.onChange,i=e.disableAlpha,r=e.rgb,a=e.hsl,l=e.hsv,s=e.hex,c=e.renderers,u=e.styles,d=u===void 0?{}:u,f=e.className,p=f===void 0?"":f,g=e.defaultView,y=Jr(c1({default:{picker:{width:n,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+r.r+", "+r.g+", "+r.b+", "+r.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},d),{disableAlpha:i});return Se.createElement("div",{style:y.picker,className:"chrome-picker "+p},Se.createElement("div",{style:y.saturation},Se.createElement(WZ,{style:y.Saturation,hsl:a,hsv:l,pointer:Olo,onChange:o})),Se.createElement("div",{style:y.body},Se.createElement("div",{style:y.controls,className:"flexbox-fix"},Se.createElement("div",{style:y.color},Se.createElement("div",{style:y.swatch},Se.createElement("div",{style:y.active}),Se.createElement(dM,{renderers:c}))),Se.createElement("div",{style:y.toggles},Se.createElement("div",{style:y.hue},Se.createElement(fM,{style:y.Hue,hsl:a,pointer:URe,onChange:o})),Se.createElement("div",{style:y.alpha},Se.createElement(M5e,{style:y.Alpha,rgb:r,hsl:a,pointer:URe,renderers:c,onChange:o})))),Se.createElement(tot,{rgb:r,hsl:a,hex:s,view:g,onChange:o,disableAlpha:i})))};O5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),disableAlpha:fo.bool,styles:fo.object,defaultView:fo.oneOf(["hex","rgb","hsl"])};O5e.defaultProps={width:225,disableAlpha:!1,styles:{}};u1(O5e);var _lo=function(e){var n=e.color,o=e.onClick,i=o===void 0?function(){}:o,r=e.onSwatchHover,a=e.active,l=Jr({default:{color:{background:n,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:W5e(n),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:a,"color-#FFFFFF":n==="#FFFFFF",transparent:n==="transparent"});return Se.createElement(qb,{style:l.color,color:n,onClick:i,onHover:r,focusStyle:{boxShadow:"0 0 4px "+n}},Se.createElement("div",{style:l.dot}))},Vlo=function(e){var n=e.hex,o=e.rgb,i=e.onChange,r=Jr({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:n},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),a=function(s,c){s.r||s.g||s.b?i({r:s.r||o.r,g:s.g||o.g,b:s.b||o.b,source:"rgb"},c):i({hex:s.hex,source:"hex"},c)};return Se.createElement("div",{style:r.fields,className:"flexbox-fix"},Se.createElement("div",{style:r.active}),Se.createElement(al,{style:{wrap:r.HEXwrap,input:r.HEXinput,label:r.HEXlabel},label:"hex",value:n,onChange:a}),Se.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"r",value:o.r,onChange:a}),Se.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"g",value:o.g,onChange:a}),Se.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"b",value:o.b,onChange:a}))},_5e=function(e){var n=e.onChange,o=e.onSwatchHover,i=e.colors,r=e.hex,a=e.rgb,l=e.styles,s=l===void 0?{}:l,c=e.className,u=c===void 0?"":c,d=Jr(c1({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},s)),f=function(g,y){g.hex?V7(g.hex)&&n({hex:g.hex,source:"hex"},y):n(g,y)};return Se.createElement(FN,{style:d.Compact,styles:s},Se.createElement("div",{style:d.compact,className:"compact-picker "+u},Se.createElement("div",null,$b(i,function(p){return Se.createElement(_lo,{key:p,color:p,active:p.toLowerCase()===r,onClick:f,onSwatchHover:o})}),Se.createElement("div",{style:d.clear})),Se.createElement(Vlo,{hex:r,rgb:a,onChange:f})))};_5e.propTypes={colors:fo.arrayOf(fo.string),styles:fo.object};_5e.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};const Cf=u1(_5e);var Glo=function(e){var n=e.hover,o=e.color,i=e.onClick,r=e.onSwatchHover,a={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},l=Jr({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:a}},{hover:n});return Se.createElement("div",{style:l.swatch},Se.createElement(qb,{color:o,onClick:i,onHover:r,focusStyle:a}))};const Xlo=H5e(Glo);var V5e=function(e){var n=e.width,o=e.colors,i=e.onChange,r=e.onSwatchHover,a=e.triangle,l=e.styles,s=l===void 0?{}:l,c=e.className,u=c===void 0?"":c,d=Jr(c1({default:{card:{width:n,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},s),{"hide-triangle":a==="hide","top-left-triangle":a==="top-left","top-right-triangle":a==="top-right","bottom-left-triangle":a==="bottom-left","bottom-right-triangle":a==="bottom-right"}),f=function(g,y){return i({hex:g,source:"hex"},y)};return Se.createElement("div",{style:d.card,className:"github-picker "+u},Se.createElement("div",{style:d.triangleShadow}),Se.createElement("div",{style:d.triangle}),$b(o,function(p){return Se.createElement(Xlo,{color:p,key:p,onClick:f,onSwatchHover:r})}))};V5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),colors:fo.arrayOf(fo.string),triangle:fo.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:fo.object};V5e.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};u1(V5e);var Jlo=function(e){var n=e.direction,o=Jr({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:n==="vertical"});return Se.createElement("div",{style:o.picker})},Klo=Object.assign||function(t){for(var e=1;e.5});return Se.createElement("div",{style:o.picker})},Zlo=function(){var e=Jr({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return Se.createElement("div",{style:e.pointer},Se.createElement("div",{style:e.left},Se.createElement("div",{style:e.leftInside})),Se.createElement("div",{style:e.right},Se.createElement("div",{style:e.rightInside})))},BRe=function(e){var n=e.onClick,o=e.label,i=e.children,r=e.active,a=Jr({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:r});return Se.createElement("div",{style:a.button,onClick:n},o||i)},eso=function(e){var n=e.rgb,o=e.currentColor,i=Jr({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+n.r+","+n.g+", "+n.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:o,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return Se.createElement("div",null,Se.createElement("div",{style:i.label},"new"),Se.createElement("div",{style:i.swatches},Se.createElement("div",{style:i.new}),Se.createElement("div",{style:i.current})),Se.createElement("div",{style:i.label},"current"))},tso=function(){function t(e,n){for(var o=0;o100&&(u.a=100),u.a/=100,n({h:i.h,s:i.s,l:i.l,a:u.a,source:"rgb"},d))};return Se.createElement("div",{style:l.fields,className:"flexbox-fix"},Se.createElement("div",{style:l.double},Se.createElement(al,{style:{input:l.input,label:l.label},label:"hex",value:r.replace("#",""),onChange:s})),Se.createElement("div",{style:l.single},Se.createElement(al,{style:{input:l.input,label:l.label},label:"r",value:o.r,onChange:s,dragLabel:"true",dragMax:"255"})),Se.createElement("div",{style:l.single},Se.createElement(al,{style:{input:l.input,label:l.label},label:"g",value:o.g,onChange:s,dragLabel:"true",dragMax:"255"})),Se.createElement("div",{style:l.single},Se.createElement(al,{style:{input:l.input,label:l.label},label:"b",value:o.b,onChange:s,dragLabel:"true",dragMax:"255"})),Se.createElement("div",{style:l.alpha},Se.createElement(al,{style:{input:l.input,label:l.label},label:"a",value:Math.round(o.a*100),onChange:s,dragLabel:"true",dragMax:"100"})))},aso=Object.assign||function(t){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o]);return n}var PO=24,hso=oot.default=function(t){var e=t.fill,n=e===void 0?"currentColor":e,o=t.width,i=o===void 0?PO:o,r=t.height,a=r===void 0?PO:r,l=t.style,s=l===void 0?{}:l,c=fso(t,["fill","width","height","style"]);return YRe.default.createElement("svg",jRe({viewBox:"0 0 "+PO+" "+PO,style:jRe({fill:n,width:i,height:a},s)},c),YRe.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},pso=function(e){var n=e.color,o=e.onClick,i=o===void 0?function(){}:o,r=e.onSwatchHover,a=e.first,l=e.last,s=e.active,c=Jr({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:n,marginBottom:"1px"},check:{color:W5e(n),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:a,last:l,active:s,"color-#FFFFFF":n==="#FFFFFF",transparent:n==="transparent"});return Se.createElement(qb,{color:n,style:c.color,onClick:i,onHover:r,focusStyle:{boxShadow:"0 0 4px "+n}},Se.createElement("div",{style:c.check},Se.createElement(hso,null)))},gso=function(e){var n=e.onClick,o=e.onSwatchHover,i=e.group,r=e.active,a=Jr({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return Se.createElement("div",{style:a.group},$b(i,function(l,s){return Se.createElement(pso,{key:l,color:l,active:l.toLowerCase()===r,first:s===0,last:s===i.length-1,onClick:n,onSwatchHover:o})}))},q5e=function(e){var n=e.width,o=e.height,i=e.onChange,r=e.onSwatchHover,a=e.colors,l=e.hex,s=e.styles,c=s===void 0?{}:s,u=e.className,d=u===void 0?"":u,f=Jr(c1({default:{picker:{width:n,height:o},overflow:{height:o,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},c)),p=function(y,A){return i({hex:y,source:"hex"},A)};return Se.createElement("div",{style:f.picker,className:"swatches-picker "+d},Se.createElement(FN,null,Se.createElement("div",{style:f.overflow},Se.createElement("div",{style:f.body},$b(a,function(g){return Se.createElement(gso,{key:g.toString(),group:g,active:l,onClick:p,onSwatchHover:r})}),Se.createElement("div",{style:f.clear})))))};q5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),height:fo.oneOfType([fo.string,fo.number]),colors:fo.arrayOf(fo.arrayOf(fo.string)),styles:fo.object};q5e.defaultProps={width:320,height:240,colors:[[rP[900],rP[700],rP[500],rP[300],rP[100]],[aP[900],aP[700],aP[500],aP[300],aP[100]],[lP[900],lP[700],lP[500],lP[300],lP[100]],[sP[900],sP[700],sP[500],sP[300],sP[100]],[cP[900],cP[700],cP[500],cP[300],cP[100]],[uP[900],uP[700],uP[500],uP[300],uP[100]],[dP[900],dP[700],dP[500],dP[300],dP[100]],[fP[900],fP[700],fP[500],fP[300],fP[100]],[hP[900],hP[700],hP[500],hP[300],hP[100]],["#194D33",zD[700],zD[500],zD[300],zD[100]],[pP[900],pP[700],pP[500],pP[300],pP[100]],[gP[900],gP[700],gP[500],gP[300],gP[100]],[mP[900],mP[700],mP[500],mP[300],mP[100]],[yP[900],yP[700],yP[500],yP[300],yP[100]],[AP[900],AP[700],AP[500],AP[300],AP[100]],[wP[900],wP[700],wP[500],wP[300],wP[100]],[vP[900],vP[700],vP[500],vP[300],vP[100]],[xP[900],xP[700],xP[500],xP[300],xP[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};u1(q5e);var $5e=function(e){var n=e.onChange,o=e.onSwatchHover,i=e.hex,r=e.colors,a=e.width,l=e.triangle,s=e.styles,c=s===void 0?{}:s,u=e.className,d=u===void 0?"":u,f=Jr(c1({default:{card:{width:a,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},c),{"hide-triangle":l==="hide","top-left-triangle":l==="top-left","top-right-triangle":l==="top-right"}),p=function(y,A){V7(y)&&n({hex:y,source:"hex"},A)};return Se.createElement("div",{style:f.card,className:"twitter-picker "+d},Se.createElement("div",{style:f.triangleShadow}),Se.createElement("div",{style:f.triangle}),Se.createElement("div",{style:f.body},$b(r,function(g,y){return Se.createElement(qb,{key:y,color:g,hex:g,style:f.swatch,onClick:p,onHover:o,focusStyle:{boxShadow:"0 0 4px "+g}})}),Se.createElement("div",{style:f.hash},"#"),Se.createElement(al,{label:null,style:{input:f.input},value:i.replace("#",""),onChange:p}),Se.createElement("div",{style:f.clear})))};$5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),triangle:fo.oneOf(["hide","top-left","top-right"]),colors:fo.arrayOf(fo.string),styles:fo.object};$5e.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};u1($5e);var Q5e=function(e){var n=Jr({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return Se.createElement("div",{style:n.picker})};Q5e.propTypes={hsl:fo.shape({h:fo.number,s:fo.number,l:fo.number,a:fo.number})};Q5e.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var Z5e=function(e){var n=Jr({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return Se.createElement("div",{style:n.picker})};Z5e.propTypes={hsl:fo.shape({h:fo.number,s:fo.number,l:fo.number,a:fo.number})};Z5e.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var mso=function(e){var n=e.onChange,o=e.rgb,i=e.hsl,r=e.hex,a=e.hsv,l=function(p,g){if(p.hex)V7(p.hex)&&n({hex:p.hex,source:"hex"},g);else if(p.rgb){var y=p.rgb.split(",");uae(p.rgb,"rgb")&&n({r:y[0],g:y[1],b:y[2],a:1,source:"rgb"},g)}else if(p.hsv){var A=p.hsv.split(",");uae(p.hsv,"hsv")&&(A[2]=A[2].replace("%",""),A[1]=A[1].replace("%",""),A[0]=A[0].replace("°",""),A[1]==1?A[1]=.01:A[2]==1&&(A[2]=.01),n({h:Number(A[0]),s:Number(A[1]),v:Number(A[2]),source:"hsv"},g))}else if(p.hsl){var x=p.hsl.split(",");uae(p.hsl,"hsl")&&(x[2]=x[2].replace("%",""),x[1]=x[1].replace("%",""),x[0]=x[0].replace("°",""),d[1]==1?d[1]=.01:d[2]==1&&(d[2]=.01),n({h:Number(x[0]),s:Number(x[1]),v:Number(x[2]),source:"hsl"},g))}},s=Jr({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),c=o.r+", "+o.g+", "+o.b,u=Math.round(i.h)+"°, "+Math.round(i.s*100)+"%, "+Math.round(i.l*100)+"%",d=Math.round(a.h)+"°, "+Math.round(a.s*100)+"%, "+Math.round(a.v*100)+"%";return Se.createElement("div",{style:s.wrap,className:"flexbox-fix"},Se.createElement("div",{style:s.fields},Se.createElement("div",{style:s.double},Se.createElement(al,{style:{input:s.input,label:s.label},label:"hex",value:r,onChange:l})),Se.createElement("div",{style:s.column},Se.createElement("div",{style:s.single},Se.createElement(al,{style:{input:s.input2,label:s.label2},label:"rgb",value:c,onChange:l})),Se.createElement("div",{style:s.single},Se.createElement(al,{style:{input:s.input2,label:s.label2},label:"hsv",value:d,onChange:l})),Se.createElement("div",{style:s.single},Se.createElement(al,{style:{input:s.input2,label:s.label2},label:"hsl",value:u,onChange:l})))))},e9e=function(e){var n=e.width,o=e.onChange,i=e.rgb,r=e.hsl,a=e.hsv,l=e.hex,s=e.header,c=e.styles,u=c===void 0?{}:c,d=e.className,f=d===void 0?"":d,p=Jr(c1({default:{picker:{width:n,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+i.r+", "+i.g+", "+i.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},u));return Se.createElement("div",{style:p.picker,className:"google-picker "+f},Se.createElement("div",{style:p.head},s),Se.createElement("div",{style:p.swatch}),Se.createElement("div",{style:p.saturation},Se.createElement(WZ,{hsl:r,hsv:a,pointer:Q5e,onChange:o})),Se.createElement("div",{style:p.body},Se.createElement("div",{style:p.controls,className:"flexbox-fix"},Se.createElement("div",{style:p.hue},Se.createElement(fM,{style:p.Hue,hsl:r,radius:"4px",pointer:Z5e,onChange:o}))),Se.createElement(mso,{rgb:i,hsl:r,hex:l,hsv:a,onChange:o})))};e9e.propTypes={width:fo.oneOfType([fo.string,fo.number]),styles:fo.object,header:fo.string};e9e.defaultProps={width:652,styles:{},header:"Color picker"};u1(e9e);const yso=({setDialogVisible:t})=>{const e=M(dn),n=M(ZBe),o=M(jn),i=M(eje),r=M(En),a=M(Js),l=M(oo),s=co(z.Foundation),[c,u]=m.useState((s==null?void 0:s.color)??"#808080"),d=Kt(),f=x=>{switch(a){case ue.AllSelectedObjectsOfThisType:{for(const C of M.getState().elements)if(C.type===z.Foundation&&!C.locked&&M.getState().selectedElementIdSet.has(C.id)&&x!==C.color)return!0;break}case ue.AllObjectsOfThisType:for(const C of M.getState().elements)if(C.type===z.Foundation&&!C.locked&&x!==C.color)return!0;break;default:if(x!==(s==null?void 0:s.color))return!0}return!1},p=(x,C)=>{M.getState().set(b=>{for(const v of b.elements)if(v.type===z.Foundation&&x.has(v.id))if(C!==void 0)v.color=C;else{const S=x.get(v.id);S!==void 0&&(v.color=S)}})},g=x=>{if(s&&f(x)){switch(a){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of M.getState().elements)R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)&&T.set(R.id,R.color??"#808080");const P={name:"Set Color for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:x,undo:()=>{p(P.oldValues)},redo:()=>{p(P.oldValues,P.newValue)}};r(P),p(T,x),l(M.getState().applyCount+1);break}case ue.AllObjectsOfThisType:const C=new Map;for(const T of M.getState().elements)T.type===z.Foundation&&C.set(T.id,T.color??"#808080");const b={name:"Set Color for All Foundations",timestamp:Date.now(),oldValues:C,newValue:x,undo:()=>{for(const[T,P]of b.oldValues.entries())n(T,P)},redo:()=>{i(z.Foundation,b.newValue)}};r(b),i(z.Foundation,x),l(M.getState().applyCount+1);break;default:const v=o(s.id),S=v?v.color:s.color,w={name:"Set Color of Selected Foundation",timestamp:Date.now(),oldValue:S,newValue:x,changedElementId:s.id,changedElementType:s.type,undo:()=>{n(w.changedElementId,w.oldValue)},redo:()=>{n(w.changedElementId,w.newValue)}};r(w),n(s.id,x),l(M.getState().applyCount+1)}e(C=>{C.actionState.foundationColor=x})}},y=()=>{g(c)},A=()=>{t(!1)};return h.jsx(lo,{width:600,title:O.t("word.Color",d),onApply:y,onClose:A,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:c,onChangeComplete:x=>{u(x.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:x=>M.getState().setFoundationActionScope(x.target.value),value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Aso=Se.memo(({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M($Be),i=M(t3),r=M(eW),a=M(H7),l=M(vH),s=M(e3),c=M(En),u=M(Js),d=M(dn),f=M(ro),p=M(oo),g=M(ca),y=co(z.Foundation),[A,x]=m.useState((y==null?void 0:y.lx)??.1),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),E=Kt(),L=le=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const ie of e)if(ie.type===z.Foundation&&M.getState().selectedElementIdSet.has(ie.id)){const pe=ie,ne=l(pe.id);if(ne.length>0&&!be.doesNewSizeContainAllChildren(pe,ne,le,pe.ly))return!1}break}case ue.AllObjectsOfThisType:{for(const ie of e)if(ie.type===z.Foundation){const pe=ie,ne=l(pe.id);if(ne.length>0&&!be.doesNewSizeContainAllChildren(pe,ne,le,pe.ly))return!1}break}default:{const ie=l(y.id);if(ie.length>0)return be.doesNewSizeContainAllChildren(y,ie,le,y.ly);break}}return!0}},U=le=>!L(le),F=le=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const ie of e)if(ie.type===z.Foundation&&!ie.locked&&M.getState().selectedElementIdSet.has(ie.id)&&Math.abs(ie.lx-le)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const ie of e)if(ie.type===z.Foundation&&!ie.locked&&Math.abs(ie.lx-le)>kt)return!0;break;default:if(Math.abs((y==null?void 0:y.lx)-le)>kt)return!0}return!1}},W=(le,ie)=>{if(le==null)return null;for(const pe of le.children)if(pe.name.includes(`${ie}`))return pe;return null},B=(le,ie,pe)=>{var ne,Z;if(le){for(const he of le.children)if(he.name.includes(`${pe.id}`)){(Z=(ne=Ln.getState().contentRef)==null?void 0:ne.current)==null||Z.add(he);break}d(he=>{for(const fe of he.elements)if(fe.id===pe.id){fe.parentId=Zo;const se=new Gt(fe.cx,fe.cy).rotateAround(wr,ie.rotation[2]).add(new Gt(ie.cx,ie.cy));fe.cx=se.x,fe.cy=se.y,fe.cz=0,S.current.set(fe.id,new ae(se.x,se.y,0)),b.current.set(fe.id,Zo);break}})}},k=(le,ie)=>{const pe=l(le.id),ne=le.rotation[2];if(w.current.clear(),R.current.clear(),pe.length>0)for(const Z of pe)switch(Z.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const he=new Gt(Z.cx*le.lx,Z.cy*le.ly).rotateAround(wr,ne);w.current.set(Z.id,he),v.current.set(Z.id,new ae(Z.cx,Z.cy));break}case z.Polygon:{const he=Z,fe=[];for(const se of he.vertices)fe.push(new Gt(se.x*le.lx,se.y*le.ly).rotateAround(wr,ne));R.current.set(Z.id,fe),T.current.set(Z.id,he.vertices.map(se=>({...se})));break}case z.Human:case z.Tree:{v.current.set(Z.id,new ae(Z.cx,Z.cy,Z.cz));break}}if(i(le.id,ie),pe.length>0)for(const Z of pe)switch(Z.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const he=w.current.get(Z.id);if(he){const se=new Gt(he.x,he.y).rotateAround(wr,-ne).x/ie;o(Z.id,se),S.current.set(Z.id,new ae(se,Z.cy))}break}case z.Polygon:{const he=R.current.get(Z.id);if(he){const fe=[];for(const se of he){const oe=se.rotateAround(wr,-ne),de=oe.x/ie,ve=oe.y/le.ly;fe.push({x:de,y:ve})}a(Z.id,fe),P.current.set(Z.id,fe.map(se=>({...se})))}break}case z.Human:case z.Tree:{if(S.current.set(Z.id,new ae(Z.cx,Z.cy,Z.cz)),C.current.set(Z.id,le.id),Math.abs(Z.cz-le.lz/2)0){const he=Ln.getState().contentRef,fe=W(he==null?void 0:he.current,le.id);B(fe,le,Z)}}else if(Math.abs(Math.abs(Z.cx)-le.lx/2)0?ie:-ie)/2;o(Z.id,he),S.current.set(Z.id,new ae(he,Z.cy,Z.cz))}break}}},N=(le,ie,pe)=>{if(!le||!ie)return;const ne=Ln.getState().contentRef,Z=W(ne==null?void 0:ne.current,ie),he=W(ie===Zo?ne==null?void 0:ne.current:Z,pe);if(he&&(ne!=null&&ne.current)){if(le===Zo)ne.current.add(he);else{const fe=W(ne.current,le);fe==null||fe.add(he)}Zh()}},j=(le,ie)=>{le&&d(pe=>{for(const ne of pe.elements)if(ne.id===ie){ne.parentId=le;break}})},Y=(le,ie)=>{M.getState().set(pe=>{for(const ne of pe.elements)if(le.has(ne.id))if(ie!==void 0)ne.lx=ie;else{const Z=le.get(ne.id);Z!==void 0&&(ne.lx=Z)}})},_=le=>{if(!y||!F(le))return;const ie=n(y.id),pe=ie?ie.lx:y.lx;if(D.current=void 0,H.current=U(le),H.current)D.current=le,x(pe);else switch(v.current.clear(),S.current.clear(),T.current.clear(),P.current.clear(),u){case ue.AllSelectedObjectsOfThisType:{const ne=new Map;for(const he of e)he.type===z.Foundation&&M.getState().selectedElementIdSet.has(he.id)&&ne.set(he.id,he.lx);for(const he of e)he.type===z.Foundation&&M.getState().selectedElementIdSet.has(he.id)&&k(he,le);const Z={name:"Set Length for Selected Foundations",timestamp:Date.now(),oldSizes:ne,newSize:le,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var he,fe;if(Y(Z.oldSizes),Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[se,oe]of Z.oldChildrenPositionsMap.entries()){s(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(N(de,ve,se),j(de,se))}if(Z.oldChildrenVerticesMap&&Z.oldChildrenVerticesMap.size>0)for(const[se,oe]of Z.oldChildrenVerticesMap.entries())a(se,oe)},redo:()=>{var he,fe;if(Y(Z.oldSizes,Z.newSize),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[se,oe]of Z.newChildrenPositionsMap.entries()){s(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(N(ve,de,se),j(ve,se))}if(Z.newChildrenVerticesMap&&Z.newChildrenVerticesMap.size>0)for(const[se,oe]of Z.newChildrenVerticesMap.entries())a(se,oe)}};c(Z),p(f+1);break}case ue.AllObjectsOfThisType:{const ne=new Map;for(const he of e)he.type===z.Foundation&&ne.set(he.id,he.lx);for(const he of e)he.type===z.Foundation&&k(he,le);const Z={name:"Set Length for All Foundations",timestamp:Date.now(),oldSizes:ne,newSize:le,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var he,fe;for(const[se,oe]of Z.oldSizes.entries())i(se,oe);if(Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[se,oe]of Z.oldChildrenPositionsMap.entries()){s(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(N(de,ve,se),j(de,se))}if(Z.oldChildrenVerticesMap&&Z.oldChildrenVerticesMap.size>0)for(const[se,oe]of Z.oldChildrenVerticesMap.entries())a(se,oe)},redo:()=>{var he,fe;if(r(z.Foundation,Z.newSize),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[se,oe]of Z.newChildrenPositionsMap.entries()){s(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(N(ve,de,se),j(ve,se))}if(Z.newChildrenVerticesMap&&Z.newChildrenVerticesMap.size>0)for(const[se,oe]of Z.newChildrenVerticesMap.entries())a(se,oe)}};c(Z),p(f+1);break}default:{k(y,le);const ne={name:"Set Foundation Length",timestamp:Date.now(),oldSize:pe,newSize:le,resizedElementId:y.id,resizedElementType:y.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var Z,he;if(i(y.id,ne.oldSize),ne.oldChildrenPositionsMap&&ne.oldChildrenPositionsMap.size>0)for(const[fe,se]of ne.oldChildrenPositionsMap.entries()){s(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(oe,de,fe),j(oe,fe))}if(ne.oldChildrenVerticesMap&&ne.oldChildrenVerticesMap.size>0)for(const[fe,se]of ne.oldChildrenVerticesMap.entries())a(fe,se)},redo:()=>{var Z,he;if(i(y.id,ne.newSize),ne.newChildrenPositionsMap&&ne.newChildrenPositionsMap.size>0)for(const[fe,se]of ne.newChildrenPositionsMap.entries()){s(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(de,oe,fe),j(de,fe))}if(ne.newChildrenVerticesMap&&ne.newChildrenVerticesMap.size>0)for(const[fe,se]of ne.newChildrenVerticesMap.entries())a(fe,se)}};c(ne),p(f+1);break}}},J=()=>{t(!1)},Q=()=>{J(),g()},ee=()=>{_(A),H.current||(t(!1),p(0))},$=()=>{_(A)},q=H.current?": "+O.t("message.NotApplicableToSelectedAction",E)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Length",E),rejectedMessage:q,onApply:$,onClose:J,onClickCancel:Q,onClickOk:ee,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:A,onChange:le=>{le!==null&&x(le)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",E),": [0.1, 1000] ",O.t("word.MeterAbbreviation",E)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",E)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:le=>M.getState().setFoundationActionScope(le.target.value),value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",E)})]})})})]})})}),wso=Se.memo(({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(e3),i=M(QBe),r=M(R7),a=M(tW),l=M(H7),s=M(vH),c=M(En),u=M(Js),d=M(dn),f=M(ro),p=M(oo),g=M(ca),y=co(z.Foundation),[A,x]=m.useState((y==null?void 0:y.ly)??.1),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),E=Kt(),L=q=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const le of e)if(le.type===z.Foundation&&M.getState().selectedElementIdSet.has(le.id)){const ie=le,pe=s(ie.id);if(pe.length>0&&!be.doesNewSizeContainAllChildren(ie,pe,ie.lx,q))return!1}break}case ue.AllObjectsOfThisType:{for(const le of e)if(le.type===z.Foundation){const ie=le,pe=s(ie.id);if(pe.length>0&&!be.doesNewSizeContainAllChildren(ie,pe,ie.lx,q))return!1}break}default:{const le=s(y.id);if(le.length>0)return be.doesNewSizeContainAllChildren(y,le,y.lx,q);break}}return!0}},U=q=>!L(q),F=q=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const le of e)if(le.type===z.Foundation&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.ly-q)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const le of e)if(le.type===z.Foundation&&!le.locked&&Math.abs(le.ly-q)>kt)return!0;break;default:if(Math.abs((y==null?void 0:y.ly)-q)>kt)return!0}return!1}},W=(q,le)=>{if(q==null)return null;for(const ie of q.children)if(ie.name.includes(`${le}`))return ie;return null},B=(q,le,ie)=>{var pe,ne;if(q){for(const Z of q.children)if(Z.name.includes(`${ie.id}`)){(ne=(pe=Ln.getState().contentRef)==null?void 0:pe.current)==null||ne.add(Z);break}d(Z=>{for(const he of Z.elements)if(he.id===ie.id){he.parentId=Zo;const fe=new Gt(he.cx,he.cy).rotateAround(wr,le.rotation[2]).add(new Gt(le.cx,le.cy));he.cx=fe.x,he.cy=fe.y,he.cz=0,S.current.set(he.id,new ae(fe.x,fe.y,0)),b.current.set(he.id,Zo);break}})}},k=(q,le)=>{const ie=s(q.id),pe=q.rotation[2];if(w.current.clear(),R.current.clear(),ie.length>0)for(const ne of ie)switch(ne.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const Z=new Gt(ne.cx*q.lx,ne.cy*q.ly).rotateAround(wr,pe);w.current.set(ne.id,Z),v.current.set(ne.id,new ae(ne.cx,ne.cy));break}case z.Polygon:{const Z=ne,he=[];for(const fe of Z.vertices)he.push(new Gt(fe.x*q.lx,fe.y*q.ly).rotateAround(wr,pe));R.current.set(ne.id,he),T.current.set(ne.id,Z.vertices.map(fe=>({...fe})));break}case z.Human:case z.Tree:{v.current.set(ne.id,new ae(ne.cx,ne.cy,ne.cz));break}}if(r(q.id,le),ie.length>0)for(const ne of ie)switch(ne.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const Z=w.current.get(ne.id);if(Z){const fe=new Gt(Z.x,Z.y).rotateAround(wr,-pe).y/le;i(ne.id,fe),S.current.set(ne.id,new ae(ne.cx,fe))}break}case z.Polygon:{const Z=R.current.get(ne.id);if(Z){const he=[];for(const fe of Z){const se=fe.rotateAround(wr,-pe),oe=se.x/q.lx,de=se.y/le;he.push({x:oe,y:de})}l(ne.id,he),P.current.set(ne.id,he.map(fe=>({...fe})))}break}case z.Human:case z.Tree:{if(S.current.set(ne.id,new ae(ne.cx,ne.cy,ne.cz)),C.current.set(ne.id,q.id),Math.abs(ne.cz-q.lz/2)0){const Z=Ln.getState().contentRef,he=W(Z==null?void 0:Z.current,q.id);B(he,q,ne)}}else if(Math.abs(Math.abs(ne.cy)-q.ly/2)0?le:-le)/2;i(ne.id,Z),S.current.set(ne.id,new ae(ne.cz,Z,ne.cz))}break}}},N=(q,le,ie)=>{if(!q||!le)return;const pe=Ln.getState().contentRef,ne=W(pe==null?void 0:pe.current,le),Z=W(le===Zo?pe==null?void 0:pe.current:ne,ie);if(Z&&(pe!=null&&pe.current)){if(q===Zo)pe.current.add(Z);else{const he=W(pe.current,q);he==null||he.add(Z)}Zh()}},j=(q,le)=>{q&&d(ie=>{for(const pe of ie.elements)if(pe.id===le){pe.parentId=q;break}})},Y=q=>{if(!y||!F(q))return;const le=n(y.id),ie=le?le.ly:y.ly;if(D.current=void 0,H.current=U(q),H.current)D.current=q,x(ie);else switch(v.current.clear(),S.current.clear(),T.current.clear(),P.current.clear(),u){case ue.AllSelectedObjectsOfThisType:{const pe=new Map;for(const Z of e)Z.type===z.Foundation&&M.getState().selectedElementIdSet.has(Z.id)&&pe.set(Z.id,Z.ly);for(const Z of e)Z.type===z.Foundation&&M.getState().selectedElementIdSet.has(Z.id)&&k(Z,q);const ne={name:"Set Width for Selected Foundations",timestamp:Date.now(),oldSizes:pe,newSize:q,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var Z,he;for(const[fe,se]of ne.oldSizes.entries())r(fe,se);if(ne.oldChildrenPositionsMap&&ne.oldChildrenPositionsMap.size>0)for(const[fe,se]of ne.oldChildrenPositionsMap.entries()){o(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(oe,de,fe),j(oe,fe))}if(ne.oldChildrenVerticesMap&&ne.oldChildrenVerticesMap.size>0)for(const[fe,se]of ne.oldChildrenVerticesMap.entries())l(fe,se)},redo:()=>{var Z,he;for(const[fe,se]of ne.oldSizes.entries())r(fe,ne.newSize);if(ne.newChildrenPositionsMap&&ne.newChildrenPositionsMap.size>0)for(const[fe,se]of ne.newChildrenPositionsMap.entries()){o(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(de,oe,fe),j(de,fe))}if(ne.newChildrenVerticesMap&&ne.newChildrenVerticesMap.size>0)for(const[fe,se]of ne.newChildrenVerticesMap.entries())l(fe,se)}};c(ne),p(f+1);break}case ue.AllObjectsOfThisType:{const pe=new Map;for(const Z of e)Z.type===z.Foundation&&pe.set(Z.id,Z.ly);for(const Z of e)Z.type===z.Foundation&&k(Z,q);const ne={name:"Set Width for All Foundations",timestamp:Date.now(),oldSizes:pe,newSize:q,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var Z,he;for(const[fe,se]of ne.oldSizes.entries())r(fe,se);if(ne.oldChildrenPositionsMap&&ne.oldChildrenPositionsMap.size>0)for(const[fe,se]of ne.oldChildrenPositionsMap.entries()){o(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(oe,de,fe),j(oe,fe))}if(ne.oldChildrenVerticesMap&&ne.oldChildrenVerticesMap.size>0)for(const[fe,se]of ne.oldChildrenVerticesMap.entries())l(fe,se)},redo:()=>{var Z,he;if(a(z.Foundation,ne.newSize),ne.newChildrenPositionsMap&&ne.newChildrenPositionsMap.size>0)for(const[fe,se]of ne.newChildrenPositionsMap.entries()){o(fe,se.x,se.y,se.z);const oe=(Z=ne.oldChildrenParentIdMap)==null?void 0:Z.get(fe),de=(he=ne.newChildrenParentIdMap)==null?void 0:he.get(fe);oe&&de&&oe!==de&&(N(de,oe,fe),j(de,fe))}if(ne.newChildrenVerticesMap&&ne.newChildrenVerticesMap.size>0)for(const[fe,se]of ne.newChildrenVerticesMap.entries())l(fe,se)}};c(ne),p(f+1);break}default:{k(y,q);const pe={name:"Set Foundation Width",timestamp:Date.now(),oldSize:ie,newSize:q,resizedElementId:y.id,resizedElementType:y.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var ne,Z;if(r(y.id,pe.oldSize),pe.oldChildrenPositionsMap&&pe.oldChildrenPositionsMap.size>0)for(const[he,fe]of pe.oldChildrenPositionsMap.entries()){o(he,fe.x,fe.y,fe.z);const se=(ne=pe.oldChildrenParentIdMap)==null?void 0:ne.get(he),oe=(Z=pe.newChildrenParentIdMap)==null?void 0:Z.get(he);se&&oe&&se!==oe&&(N(se,oe,he),j(se,he))}if(pe.oldChildrenVerticesMap&&pe.oldChildrenVerticesMap.size>0)for(const[he,fe]of pe.oldChildrenVerticesMap.entries())l(he,fe)},redo:()=>{var ne,Z;if(r(y.id,pe.newSize),pe.newChildrenPositionsMap&&pe.newChildrenPositionsMap.size>0)for(const[he,fe]of pe.newChildrenPositionsMap.entries()){o(he,fe.x,fe.y,fe.z);const se=(ne=pe.oldChildrenParentIdMap)==null?void 0:ne.get(he),oe=(Z=pe.newChildrenParentIdMap)==null?void 0:Z.get(he);se&&oe&&se!==oe&&(N(oe,se,he),j(oe,he))}if(pe.newChildrenVerticesMap&&pe.newChildrenVerticesMap.size>0)for(const[he,fe]of pe.newChildrenVerticesMap.entries())l(he,fe)}};c(pe),p(f+1);break}}},_=()=>{t(!1)},J=()=>{_(),g()},Q=()=>{Y(A),H.current||(t(!1),p(0))},ee=()=>{Y(A)},$=H.current?": "+O.t("message.NotApplicableToSelectedAction",E)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Width",E),rejectedMessage:$,onApply:ee,onClickCancel:J,onClickOk:Q,onClose:_,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:A,onChange:q=>{q!==null&&x(q)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",E),": [0.1, 1000] ",O.t("word.MeterAbbreviation",E)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",E)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:q=>M.getState().setFoundationActionScope(q.target.value),value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",E)})]})})})]})})}),vso=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(e3),l=M(ro),s=M(oo),c=co(z.Foundation),[u,d]=m.useState((c==null?void 0:c.lz)??.1),f=m.useRef(new Map),p=m.useRef(new Map),g=m.useRef(new Map),y=m.useRef(new Map),A=Kt(),x=(L,U)=>{e(F=>{const W=F.elements.find(B=>B.id===L);W&&(W.lz=U,W.cz=U/2)})},C=(L,U)=>{e(F=>{for(const W of F.elements)W.type===L&&!W.locked&&(W.lz=U,W.cz=U/2)})},b=L=>{if(c){switch(r){case ue.AllSelectedObjectsOfThisType:{for(const U of n)if(U.type===z.Foundation&&!U.locked&&M.getState().selectedElementIdSet.has(U.id)&&Math.abs(U.lz-L)>kt)return!0;break}case ue.AllObjectsOfThisType:for(const U of n)if(U.type===z.Foundation&&!U.locked&&Math.abs(U.lz-L)>kt)return!0;break;default:if(Math.abs((c==null?void 0:c.lz)-L)>kt)return!0}return!1}},v=(L,U)=>{if(L==null)return null;for(const F of L.children)if(F.name.includes(`${U}`))return F;return null},S=(L,U,F)=>{var W,B;if(L){for(const N of L.children)if(N.name.includes(`${F.id}`)){(B=(W=Ln.getState().contentRef)==null?void 0:W.current)==null||B.add(N);break}F.parentId=Zo;const k=new Gt(F.cx,F.cy).rotateAround(wr,-U.rotation[2]).add(new Gt(U.cx,U.cy));F.cx=k.x,F.cy=k.y,F.cz=0,y.current.set(F.id,new ae(k.x,k.y,0)),p.current.set(F.id,Zo)}},w=(L,U)=>{e(F=>{for(const W of F.elements)if(W.parentId===L.id&&(f.current.set(W.id,L.id),g.current.set(W.id,new ae(W.cx,W.cy,W.cz)),be.isPlantOrHuman(W)))if(Math.abs(W.cz-L.lz/2)U/2){const k=Ln.getState().contentRef,N=v(k==null?void 0:k.current,L.id);S(N,L,W)}else W.cz=B,y.current.set(W.id,new ae(W.cx,W.cy,B))}})},T=(L,U,F)=>{if(!L||!U)return;const W=Ln.getState().contentRef,B=v(W==null?void 0:W.current,U),k=v(U===Zo?W==null?void 0:W.current:B,F);if(k&&(W!=null&&W.current)){if(L===Zo)W.current.add(k);else{const N=v(W.current,L);N==null||N.add(k)}Zh()}},P=(L,U)=>{L&&e(F=>{for(const W of F.elements)if(W.id===U){W.parentId=L;break}})},R=(L,U)=>{M.getState().set(F=>{for(const W of F.elements)if(L.has(W.id))if(U!==void 0)W.lz=U,W.cz=U/2;else{const B=L.get(W.id);B!==void 0&&(W.lz=B,W.cz=B/2)}})},H=L=>{if(c&&b(L)){switch(r){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.Foundation&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&U.set(W.id,W.lz);for(const W of n)W.type===z.Foundation&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&w(W,L);const F={name:"Set Height for Selected Foundations",timestamp:Date.now(),oldValues:U,newValue:L,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(y.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),undo:()=>{var W,B;if(R(F.oldValues),F.oldChildrenPositionsMap&&F.oldChildrenPositionsMap.size>0)for(const[k,N]of F.oldChildrenPositionsMap.entries()){a(k,N.x,N.y,N.z);const j=(W=F.oldChildrenParentIdMap)==null?void 0:W.get(k),Y=(B=F.newChildrenParentIdMap)==null?void 0:B.get(k);j&&Y&&j!==Y&&(T(j,Y,k),P(j,k))}},redo:()=>{var B,k;const W=F.newValue;if(R(F.oldValues,W),F.newChildrenPositionsMap&&F.newChildrenPositionsMap.size>0)for(const[N,j]of F.newChildrenPositionsMap.entries()){a(N,j.x,j.y,j.z);const Y=(B=F.oldChildrenParentIdMap)==null?void 0:B.get(N),_=(k=F.newChildrenParentIdMap)==null?void 0:k.get(N);Y&&_&&Y!==_&&(T(_,Y,N),P(_,N))}}};i(F),R(U,L),s(l+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.Foundation&&U.set(W.id,W.lz);for(const W of n)W.type===z.Foundation&&w(W,L);const F={name:"Set Height for All Foundations",timestamp:Date.now(),oldValues:U,newValue:L,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(y.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),undo:()=>{var W,B;for(const[k,N]of F.oldValues.entries())x(k,N);if(F.oldChildrenPositionsMap&&F.oldChildrenPositionsMap.size>0)for(const[k,N]of F.oldChildrenPositionsMap.entries()){a(k,N.x,N.y,N.z);const j=(W=F.oldChildrenParentIdMap)==null?void 0:W.get(k),Y=(B=F.newChildrenParentIdMap)==null?void 0:B.get(k);j&&Y&&j!==Y&&(T(j,Y,k),P(j,k))}},redo:()=>{var B,k;const W=F.newValue;if(C(z.Foundation,W),F.newChildrenPositionsMap&&F.newChildrenPositionsMap.size>0)for(const[N,j]of F.newChildrenPositionsMap.entries()){a(N,j.x,j.y,j.z);const Y=(B=F.oldChildrenParentIdMap)==null?void 0:B.get(N),_=(k=F.newChildrenParentIdMap)==null?void 0:k.get(N);Y&&_&&Y!==_&&(T(_,Y,N),P(_,N))}}};i(F),C(z.Foundation,L),s(l+1);break}default:{const U=o(c.id),F=U?U.lz:c.lz;w(c,L),x(c.id,L);const W={name:"Set Foundation Height",timestamp:Date.now(),oldValue:F,newValue:L,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(y.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),changedElementId:c.id,changedElementType:c.type,undo:()=>{var B,k;if(x(W.changedElementId,W.oldValue),W.oldChildrenPositionsMap&&W.oldChildrenPositionsMap.size>0)for(const[N,j]of W.oldChildrenPositionsMap.entries()){a(N,j.x,j.y,j.z);const Y=(B=W.oldChildrenParentIdMap)==null?void 0:B.get(N),_=(k=W.newChildrenParentIdMap)==null?void 0:k.get(N);Y&&_&&Y!==_&&(T(Y,_,N),P(Y,N))}},redo:()=>{var B,k;if(x(W.changedElementId,W.newValue),W.newChildrenPositionsMap&&W.newChildrenPositionsMap.size>0)for(const[N,j]of W.newChildrenPositionsMap.entries()){a(N,j.x,j.y,j.z);const Y=(B=W.oldChildrenParentIdMap)==null?void 0:B.get(N),_=(k=W.newChildrenParentIdMap)==null?void 0:k.get(N);Y&&_&&Y!==_&&(T(_,Y,N),P(_,N))}}};i(W),s(l+1);break}}e(U=>{U.actionState.foundationHeight=L})}},D=()=>{t(!1)},E=()=>{H(u)};return h.jsx(lo,{width:550,title:O.t("word.Height",A),onApply:E,onClose:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:10,style:{width:120},step:.1,precision:2,value:u,onChange:L=>{L!==null&&d(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",A),": [0.1, 10] ",O.t("word.MeterAbbreviation",A)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",A)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L=>M.getState().setFoundationActionScope(L.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",A)})]})})})]})})}),xso=Se.memo(({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(ige),i=M(Mwt),r=M(En),a=M(Js),l=M(ro),s=M(oo),c=co(z.Foundation),[u,d]=m.useState(c?-(c==null?void 0:c.rotation[2]):0),f=Kt(),p=C=>{if(c){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const b of e)if(b.type===z.Foundation&&!b.locked&&M.getState().selectedElementIdSet.has(b.id)&&Math.abs(-b.rotation[2]-C)>kt)return!0;break}case ue.AllObjectsOfThisType:for(const b of e)if(b.type===z.Foundation&&!b.locked&&Math.abs(-b.rotation[2]-C)>kt)return!0;break;default:if(Math.abs(-(c==null?void 0:c.rotation[2])-C)>kt)return!0}return!1}},g=(C,b)=>{M.getState().set(v=>{for(const S of v.elements)if(C.has(S.id))if(b!==void 0)S.rotation[2]=b;else{const w=C.get(S.id);w!==void 0&&(S.rotation[2]=-w)}})},y=C=>{if(c&&p(C))switch(a){case ue.AllSelectedObjectsOfThisType:{const b=new Map;for(const S of e)S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)&&b.set(S.id,-S.rotation[2]);const v={name:"Set Azimuth for All Selected Foundations",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{g(v.oldValues)},redo:()=>{g(v.oldValues,-v.newValue)}};r(v),g(b,-C),s(l+1);break}case ue.AllObjectsOfThisType:{const b=new Map;for(const S of e)S.type===z.Foundation&&b.set(S.id,-S.rotation[2]);const v={name:"Set Azimuth for All Foundations",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{for(const[S,w]of v.oldValues.entries())o(S,0,0,-w)},redo:()=>{i(z.Foundation,0,0,-v.newValue)}};r(v),i(z.Foundation,0,0,-C),s(l+1);break}default:{const b=n(c.id),v=b?-b.rotation[2]:-c.rotation[2],S={name:"Set Foundation Azimuth",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:c.id,changedElementType:c.type,undo:()=>{o(S.changedElementId,0,0,-S.oldValue)},redo:()=>{o(S.changedElementId,0,0,-S.newValue)}};r(S),o(c.id,0,0,-C),s(l+1);break}}},A=()=>{t(!1)},x=()=>{y(u)};return h.jsx(lo,{width:500,title:O.t("word.Azimuth",f),onApply:x,onClose:A,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},step:.5,precision:2,value:parseFloat(be.toDegrees(u).toFixed(2)),formatter:C=>`${C}°`,onChange:C=>{C!==null&&d(be.toRadians(C))}}),h.jsxs("div",{style:{paddingTop:"20px",paddingRight:"6px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [-180°, 180°]",h.jsx("br",{}),O.t("message.AzimuthOfNorthIsZero",f),h.jsx("br",{}),O.t("message.CounterclockwiseAzimuthIsPositive",f)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:C=>M.getState().setFoundationActionScope(C.target.value),value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})}),bso=Se.memo(({setDialogVisible:t})=>{const e=M(Jn),n=M(Z9),o=M(En),i=M(Js),r=M(Iwt),a=M(ro),l=M(oo),s=M(ca),c=M(jn),u=M(dn),d=M(W=>{if(n){for(const B of W.elements)if(B.id===n.id)return B}return null}),[f,p]=m.useState((d==null?void 0:d.rValue)??Q4),[g,y]=m.useState(be.toRValueInUS(f)),[A,x]=m.useState(!1),[C,b]=m.useState({left:0,top:0,bottom:0,right:0}),v=m.useRef(null),S=Kt();m.useEffect(()=>{d&&p((d==null?void 0:d.rValue)??Q4)},[d==null?void 0:d.rValue]);const w=W=>{switch(i){case ue.AllObjectsOfThisType:for(const B of e)if(B.type===z.Foundation&&!B.locked){const k=B;if(k.rValue===void 0||Math.abs(k.rValue-W)>kt)return!0}break;default:if((d==null?void 0:d.rValue)===void 0||Math.abs((d==null?void 0:d.rValue)-W)>kt)return!0}return!1},T=(W,B)=>{u(k=>{for(const N of k.elements)if(N.id===W){N.rValue=B;break}})},P=W=>{for(const[B,k]of W.entries())T(B,k)},R=(W,B)=>{for(const k of W.keys())T(k,B)},H=W=>{if(d&&w(W)){switch(i){case ue.AllObjectsOfThisType:{const B=new Map;u(N=>{for(const j of N.elements)if(j.type===z.Foundation&&!j.locked){const Y=j;B.set(j.id,Y.rValue??Q4),Y.rValue=W}});const k={name:"Set R-Value for All Ground Floors",timestamp:Date.now(),oldValues:B,newValue:W,undo:()=>{P(k.oldValues)},redo:()=>{R(k.oldValues,k.newValue)}};o(k),l(a+1);break}default:{if(d){const k=c(d.id).rValue??d.rValue??Q4,N={name:"Set Ground Floor R-Value",timestamp:Date.now(),oldValue:k,newValue:W,changedElementId:d.id,changedElementType:d.type,undo:()=>{T(N.changedElementId,N.oldValue)},redo:()=>{T(N.changedElementId,N.newValue)}};o(N),T(d.id,W),l(a+1)}break}}u(B=>{B.actionState.groundFloorRValue=W})}},D=(W,B)=>{if(v.current){const{clientWidth:k,clientHeight:N}=window.document.documentElement,j=v.current.getBoundingClientRect();b({left:-j.left+B.x,right:k-(j.right-B.x),top:-j.top+B.y,bottom:N-((j==null?void 0:j.bottom)-B.y)})}},E=()=>{p((d==null?void 0:d.rValue)??Q4),t(!1)},L=()=>{E(),s()},U=()=>{H(f),t(!1),l(0)},F=()=>{H(f)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>x(!0),onMouseOut:()=>x(!1),children:[O.t("word.RValue",S)+" ","(",O.t("word.ThermalResistance",S),")"]}),footer:[h.jsx(no,{onClick:F,children:O.t("word.Apply",S)},"Apply"),h.jsx(no,{onClick:L,children:O.t("word.Cancel",S)},"Cancel"),h.jsx(no,{type:"primary",onClick:U,children:O.t("word.OK",S)},"OK")],onCancel:E,maskClosable:!1,destroyOnClose:!1,modalRender:W=>h.jsx(Vr,{disabled:!A,bounds:C,onStart:(B,k)=>D(B,k),children:h.jsx("div",{ref:v,children:W})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:f,formatter:W=>Number(W).toFixed(2),onChange:W=>{W!==null&&(p(W),y(be.toRValueInUS(W)))},onPressEnter:U}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",S),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",S),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toRValueInUS(.01),max:be.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:g,formatter:W=>Number(W).toFixed(2),onChange:W=>{W!==null&&(y(W),p(be.toRValueInSI(W)))},onPressEnter:U}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",S),": [",be.toRValueInUS(.01).toFixed(3),", ",be.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",S),": h·ft²·℉/Btu"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:W=>r(W.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisGroundFloor",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllGroundFloors",S)})]})})})]})})})}),Sso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberHeight)??10),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberHeight=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.absorberHeight=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberHeight=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberHeight===void 0||Math.abs(w.solarAbsorberPipe.absorberHeight-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberHeight===void 0||Math.abs(w.solarAbsorberPipe.absorberHeight-v)>kt))return!0}break;default:if((c==null?void 0:c.absorberHeight)===void 0||Math.abs((c==null?void 0:c.absorberHeight)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberHeight??10)}const R={name:"Set Absorber Height for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberHeight??10)}const R={name:"Set Absorber Height for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.absorberHeight??10:c.absorberHeight??10;p(s.id,v);const T={name:"Set Absorber Height on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarAbsorberPipeMenu.AbsorberHeight",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:50,style:{width:120},step:.5,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [1, 50] ",O.t("word.MeterAbbreviation",f)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",f)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Tso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.apertureWidth)??.6),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.apertureWidth=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.apertureWidth=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.apertureWidth=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.apertureWidth===void 0||Math.abs(w.solarAbsorberPipe.apertureWidth-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.apertureWidth===void 0||Math.abs(w.solarAbsorberPipe.apertureWidth-v)>kt))return!0}break;default:if((c==null?void 0:c.apertureWidth)===void 0||Math.abs((c==null?void 0:c.apertureWidth)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.apertureWidth??.6)}const R={name:"Set Absorber Aperture Width for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.apertureWidth??.6)}const R={name:"Set Absorber Aperture Width for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.apertureWidth??.6:c.apertureWidth??.6;p(s.id,v);const T={name:"Set Absorber Aperture Width on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarAbsorberPipeMenu.AbsorberApertureWidth",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:2,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0.1, 2] ",O.t("word.MeterAbbreviation",f)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",f)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Pso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.poleNumber)??5),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.poleNumber=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.poleNumber=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.poleNumber=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.poleNumber===void 0||w.solarAbsorberPipe.poleNumber!==v))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.poleNumber===void 0||w.solarAbsorberPipe.poleNumber!==v))return!0}break;default:if((c==null?void 0:c.poleNumber)===void 0||(c==null?void 0:c.poleNumber)!==v)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.poleNumber??5)}const R={name:"Set Absorber Pipe Pole Number for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.poleNumber??5)}const R={name:"Set Absorber Pipe Pole Number for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.poleNumber??5:c.poleNumber??5;p(s.id,v);const T={name:"Set Absorber Pipe Pole Number on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarAbsorberPipeMenu.AbsorberPipePoleNumber",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:1,precision:0,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [1, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Cso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberAbsorptance)??.95),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberAbsorptance=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.absorberAbsorptance=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberAbsorptance=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberAbsorptance===void 0||Math.abs(w.solarAbsorberPipe.absorberAbsorptance-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberAbsorptance===void 0||Math.abs(w.solarAbsorberPipe.absorberAbsorptance-v)>kt))return!0}break;default:if((c==null?void 0:c.absorberAbsorptance)===void 0||Math.abs((c==null?void 0:c.absorberAbsorptance)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberAbsorptance??.95)}const R={name:"Set Absorber Pipe Absorptance for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberAbsorptance??.95)}const R={name:"Set Absorber Pipe Absorptance for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.absorberAbsorptance??.95:c.absorberAbsorptance??.95;p(s.id,v);const T={name:"Set Absorber Pipe Absorptance on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarAbsorberPipeMenu.AbsorberAbsorptance",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Rso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberOpticalEfficiency)??.7),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberOpticalEfficiency=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.absorberOpticalEfficiency=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberOpticalEfficiency=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberOpticalEfficiency===void 0||Math.abs(w.solarAbsorberPipe.absorberOpticalEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberOpticalEfficiency===void 0||Math.abs(w.solarAbsorberPipe.absorberOpticalEfficiency-v)>kt))return!0}break;default:if((c==null?void 0:c.absorberOpticalEfficiency)===void 0||Math.abs((c==null?void 0:c.absorberOpticalEfficiency)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberOpticalEfficiency??.7)}const R={name:"Set Absorber Optical Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberOpticalEfficiency??.7)}const R={name:"Set Absorber Optical Efficiency for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.absorberOpticalEfficiency??.7:c.absorberOpticalEfficiency??.7;p(s.id,v);const T={name:"Set Absorber Optical Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarAbsorberPipeMenu.AbsorberOpticalEfficiency",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Hso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberThermalEfficiency)??.3),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberThermalEfficiency=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusPipe&&(T.solarAbsorberPipe||(T.solarAbsorberPipe={}),T.solarAbsorberPipe.absorberThermalEfficiency=v)}})},y=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusPipe&&(P.solarAbsorberPipe||(P.solarAbsorberPipe={}),P.solarAbsorberPipe.absorberThermalEfficiency=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberThermalEfficiency===void 0||Math.abs(w.solarAbsorberPipe.absorberThermalEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusPipe&&w.solarAbsorberPipe&&(w.solarAbsorberPipe.absorberThermalEfficiency===void 0||Math.abs(w.solarAbsorberPipe.absorberThermalEfficiency-v)>kt))return!0}break;default:if((c==null?void 0:c.absorberThermalEfficiency)===void 0||Math.abs((c==null?void 0:c.absorberThermalEfficiency)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberThermalEfficiency??.3)}const R={name:"Set Absorber Thermal Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarAbsorberPipe&&P.set(H.id,D.solarAbsorberPipe.absorberThermalEfficiency??.3)}const R={name:"Set Absorber Thermal Efficiency for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarAbsorberPipe?S.solarAbsorberPipe.absorberThermalEfficiency??.3:c.absorberThermalEfficiency??.3;p(s.id,v);const T={name:"Set Absorber Thermal Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarAbsorberPipeMenu.AbsorberThermalEfficiency",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Mso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.towerHeight)??20),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.towerHeight=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.towerHeight=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.towerHeight=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.towerHeight===void 0||Math.abs(w.solarPowerTower.towerHeight-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.towerHeight===void 0||Math.abs(w.solarPowerTower.towerHeight-v)>kt))return!0}break;default:if((c==null?void 0:c.towerHeight)===void 0||Math.abs((c==null?void 0:c.towerHeight)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.towerHeight??20)}const R={name:"Set Tower Height for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.towerHeight??20)}const R={name:"Set Tower Height for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.towerHeight??20:c.towerHeight??20;p(s.id,v);const T={name:"Set Tower Height on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarPowerTowerMenu.ReceiverTowerHeight",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:10,max:500,style:{width:120},step:1,precision:1,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [10, 500] ",O.t("word.MeterAbbreviation",f)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",f)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Iso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.towerRadius)??1),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.towerRadius=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.towerRadius=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.towerRadius=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.towerRadius===void 0||Math.abs(w.solarPowerTower.towerRadius-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.towerRadius===void 0||Math.abs(w.solarPowerTower.towerRadius-v)>kt))return!0}break;default:if((c==null?void 0:c.towerRadius)===void 0||Math.abs((c==null?void 0:c.towerRadius)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.towerRadius??1)}const R={name:"Set Tower Radius for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.towerRadius??1)}const R={name:"Set Tower Radius for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.towerRadius??1:c.towerRadius??1;p(s.id,v);const T={name:"Set Tower Radius on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarPowerTowerMenu.ReceiverTowerRadius",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.5,max:10,style:{width:120},step:.5,precision:1,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0.5, 10] ",O.t("word.MeterAbbreviation",f)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",f)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},zso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverAbsorptance)??.95),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverAbsorptance=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.receiverAbsorptance=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverAbsorptance=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverAbsorptance===void 0||Math.abs(w.solarPowerTower.receiverAbsorptance-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverAbsorptance===void 0||Math.abs(w.solarPowerTower.receiverAbsorptance-v)>kt))return!0}break;default:if((c==null?void 0:c.receiverAbsorptance)===void 0||Math.abs((c==null?void 0:c.receiverAbsorptance)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverAbsorptance??.95)}const R={name:"Set Receiver Absorptance for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverAbsorptance??.95)}const R={name:"Set Receiver Absorptance for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.receiverAbsorptance??.95:c.receiverAbsorptance??.95;p(s.id,v);const T={name:"Set Receiver Absorptance on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarPowerTowerMenu.ReceiverAbsorptance",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Dso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverThermalEfficiency)??.3),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverThermalEfficiency=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.receiverThermalEfficiency=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverThermalEfficiency=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverThermalEfficiency===void 0||Math.abs(w.solarPowerTower.receiverThermalEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverThermalEfficiency===void 0||Math.abs(w.solarPowerTower.receiverThermalEfficiency-v)>kt))return!0}break;default:if((c==null?void 0:c.receiverThermalEfficiency)===void 0||Math.abs((c==null?void 0:c.receiverThermalEfficiency)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverThermalEfficiency??.3)}const R={name:"Set Receiver Thermal Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverThermalEfficiency??.3)}const R={name:"Set Receiver Thermal Efficiency for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.receiverThermalEfficiency??.3:c.receiverThermalEfficiency??.3;p(s.id,v);const T={name:"Set Receiver Thermal Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("solarPowerTowerMenu.ReceiverThermalEfficiency",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},Eso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverOpticalEfficiency)??.7),f=Kt(),p=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverOpticalEfficiency=S);break}})},g=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.FocusTower&&(T.solarPowerTower||(T.solarPowerTower={}),T.solarPowerTower.receiverOpticalEfficiency=v)}})},y=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.FocusTower&&(P.solarPowerTower||(P.solarPowerTower={}),P.solarPowerTower.receiverOpticalEfficiency=S)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverOpticalEfficiency===void 0||Math.abs(w.solarPowerTower.receiverOpticalEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.FocusTower&&w.solarPowerTower&&(w.solarPowerTower.receiverOpticalEfficiency===void 0||Math.abs(w.solarPowerTower.receiverOpticalEfficiency-v)>kt))return!0}break;default:if((c==null?void 0:c.receiverOpticalEfficiency)===void 0||Math.abs((c==null?void 0:c.receiverOpticalEfficiency)-v)>kt)return!0}return!1},x=v=>{if(!(!s||!c)&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation&&M.getState().selectedElementIdSet.has(H.id)){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverOpticalEfficiency??.7)}const R={name:"Set Receiver Optical Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{y(R.oldValues,R.newValue)}};i(R),y(P,v),l(a+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of n)if(H.type===z.Foundation){const D=H;D.solarPowerTower&&P.set(H.id,D.solarPowerTower.receiverOpticalEfficiency??.7)}const R={name:"Set Receiver Optical Efficiency for All Foundations",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};i(R),g(v),l(a+1);break}default:const S=o(s.id),w=S&&S.solarPowerTower?S.solarPowerTower.receiverOpticalEfficiency??.7:c.receiverOpticalEfficiency??.7;p(s.id,v);const T={name:"Set Receiver Optical Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};i(T),l(a+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:500,title:O.t("solarPowerTowerMenu.ReceiverOpticalEfficiency",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",f)})]})})})]})})},kso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.chimneyHeight)??Math.max((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0)),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.chimneyHeight=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.chimneyHeight=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.chimneyHeight=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.chimneyHeight===void 0||Math.abs(w.solarUpdraftTower.chimneyHeight-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.chimneyHeight===void 0||Math.abs(w.solarUpdraftTower.chimneyHeight-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.chimneyHeight===void 0||Math.abs(s.solarUpdraftTower.chimneyHeight-v)>kt))return!0}return!1},A=v=>{var S,w;if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of n)if(R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&T.set(R.id,((S=H.solarUpdraftTower)==null?void 0:S.chimneyHeight)??Math.max(H.lx,H.ly))}const P={name:"Set Solar Chimney Height for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{g(P.oldValues,P.newValue)}};i(P),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const R of n)if(R.type===z.Foundation){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&T.set(R.id,((w=H.solarUpdraftTower)==null?void 0:w.chimneyHeight)??Math.max(H.lx,H.ly))}const P={name:"Set Solar Chimney Height for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};i(P),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),P=T&&T.solarUpdraftTower?T.solarUpdraftTower.chimneyHeight??Math.max(T.lx,T.ly):s.solarUpdraftTower.chimneyHeight??Math.max(s.lx,s.ly);f(s.id,v);const R={name:"Set Solar Chimney Height on Foundation",timestamp:Date.now(),oldValue:P,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(R.changedElementId,R.oldValue)},redo:()=>{f(R.changedElementId,R.newValue)}};i(R),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyHeight",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:1e3,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [1, 1000] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Fso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.chimneyRadius)??Math.max(1,.025*Math.min((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0))),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.chimneyRadius=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.chimneyRadius=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.chimneyRadius=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.chimneyRadius===void 0||Math.abs(w.solarUpdraftTower.chimneyRadius-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.chimneyRadius===void 0||Math.abs(w.solarUpdraftTower.chimneyRadius-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.chimneyRadius===void 0||Math.abs(s.solarUpdraftTower.chimneyRadius-v)>kt))return!0}return!1},A=v=>{var S,w;if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of n)if(R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&T.set(R.id,((S=H.solarUpdraftTower)==null?void 0:S.chimneyRadius)??Math.max(1,.025*Math.min(H.lx,H.ly)))}const P={name:"Set Solar Chimney Radius for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{g(P.oldValues,P.newValue)}};i(P),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const R of n)if(R.type===z.Foundation){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&T.set(R.id,((w=H.solarUpdraftTower)==null?void 0:w.chimneyRadius)??Math.max(1,.025*Math.min(H.lx,H.ly)))}const P={name:"Set Solar Chimney Radius for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};i(P),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),P=T&&T.solarUpdraftTower?T.solarUpdraftTower.chimneyRadius??Math.max(1,.025*Math.min(T.lx,T.ly)):s.solarUpdraftTower.chimneyRadius??Math.max(1,.025*Math.min(s.lx,s.ly));f(s.id,v);const R={name:"Set Solar Chimney Radius on Foundation",timestamp:Date.now(),oldValue:P,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(R.changedElementId,R.oldValue)},redo:()=>{f(R.changedElementId,R.newValue)}};i(R),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyRadius",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:10,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.1, 10] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Lso=({setDialogVisible:t})=>{var x;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=co(z.Foundation),[l,s]=m.useState(((x=a==null?void 0:a.solarUpdraftTower)==null?void 0:x.collectorHeight)??Math.max(3,10*((a==null?void 0:a.lz)??0))),c=Kt(),u=(C,b)=>{e(v=>{for(const S of v.elements)if(S.type===z.Foundation&&S.id===C&&!S.locked){const w=S;w.solarStructure===zn.UpdraftTower&&(w.solarUpdraftTower||(w.solarUpdraftTower={}),w.solarUpdraftTower.collectorHeight=b);break}})},d=C=>{e(b=>{for(const v of b.elements)if(v.type===z.Foundation&&!v.locked){const S=v;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.collectorHeight=C)}})},f=(C,b)=>{e(v=>{for(const S of v.elements)if(S.type===z.Foundation&&!S.locked&&C.has(S.id)){const w=S;w.solarStructure===zn.UpdraftTower&&(w.solarUpdraftTower||(w.solarUpdraftTower={}),w.solarUpdraftTower.collectorHeight=b)}})},p=C=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const b of n)if(b.type===z.Foundation&&!b.locked&&M.getState().selectedElementIdSet.has(b.id)){const v=b;if(v.solarStructure===zn.UpdraftTower&&v.solarUpdraftTower&&(v.solarUpdraftTower.collectorHeight===void 0||Math.abs(v.solarUpdraftTower.collectorHeight-C)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const b of n)if(b.type===z.Foundation&&!b.locked){const v=b;if(v.solarStructure===zn.UpdraftTower&&v.solarUpdraftTower&&(v.solarUpdraftTower.collectorHeight===void 0||Math.abs(v.solarUpdraftTower.collectorHeight-C)>kt))return!0}break;default:if(a&&a.solarStructure===zn.UpdraftTower&&a.solarUpdraftTower&&(a.solarUpdraftTower.collectorHeight===void 0||Math.abs(a.solarUpdraftTower.collectorHeight-C)>kt))return!0}return!1},g=C=>{if(a&&p(C))switch(r){case ue.AllSelectedObjectsOfThisType:{const b=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const w=S;w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&b.set(S.id,w.solarUpdraftTower.collectorHeight??Math.max(3,10*w.lz))}const v={name:"Set Solar Collector Height for Selected Foundations",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{for(const[S,w]of v.oldValues.entries())u(S,w)},redo:()=>{f(v.oldValues,v.newValue)}};i(v),f(b,C);break}case ue.AllObjectsOfThisType:{const b=new Map;for(const S of n)if(S.type===z.Foundation){const w=S;w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&b.set(S.id,w.solarUpdraftTower.collectorHeight??Math.max(3,10*w.lz))}const v={name:"Set Solar Collector Height for All Foundations",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{for(const[S,w]of v.oldValues.entries())u(S,w)},redo:()=>{d(v.newValue)}};i(v),d(C);break}default:if(a.solarStructure===zn.UpdraftTower&&a.solarUpdraftTower){const b=o(a.id),v=b&&b.solarUpdraftTower?b.solarUpdraftTower.collectorHeight??Math.max(3,10*b.lz):a.solarUpdraftTower.collectorHeight??Math.max(3,10*a.lz);u(a.id,C);const S={name:"Set Solar Collector Height on Foundation",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:a.id,changedElementType:a.type,undo:()=>{u(S.changedElementId,S.oldValue)},redo:()=>{u(S.changedElementId,S.newValue)}};i(S)}}},y=()=>{t(!1)},A=()=>{g(l)};return h.jsx(lo,{width:550,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorHeight",c),onApply:A,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:20,style:{width:120},step:1,precision:1,value:l,onChange:C=>{C!==null&&s(C)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",c),": [0.1, 20] ",O.t("word.MeterAbbreviation",c)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",c)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:C=>M.getState().setFoundationActionScope(C.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",c)})]})})})]})})},Wso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.collectorRadius)??Math.max(10,.5*Math.min((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0))),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorRadius=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.collectorRadius=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorRadius=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorRadius===void 0||Math.abs(w.solarUpdraftTower.collectorRadius-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorRadius===void 0||Math.abs(w.solarUpdraftTower.collectorRadius-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorRadius===void 0||Math.abs(s.solarUpdraftTower.collectorRadius-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(P.lx,P.ly)))}const w={name:"Set Solar Collector Radius for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(P.lx,P.ly)))}const w={name:"Set Solar Collector Radius for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(S.lx,S.ly)):s.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(s.lx,s.ly));f(s.id,v);const T={name:"Set Solar Collector Radius on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorRadius",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:1e3,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [1, 1000] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Nso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.collectorTransmissivity)??.9),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorTransmissivity=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.collectorTransmissivity=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorTransmissivity=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(w.solarUpdraftTower.collectorTransmissivity-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(w.solarUpdraftTower.collectorTransmissivity-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(s.solarUpdraftTower.collectorTransmissivity-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorTransmissivity??.9)}const w={name:"Set Solar Collector Transmissivity for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorTransmissivity??.9)}const w={name:"Set Solar Collector Transmissivity for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.collectorTransmissivity??.9:s.solarUpdraftTower.collectorTransmissivity??.9;f(s.id,v);const T={name:"Set Solar Collector Transmissivity on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:540,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorTransmissivity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Uso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.collectorEmissivity)??.95),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorEmissivity=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.collectorEmissivity=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.collectorEmissivity=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(w.solarUpdraftTower.collectorEmissivity-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(w.solarUpdraftTower.collectorEmissivity-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(s.solarUpdraftTower.collectorEmissivity-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorEmissivity??.95)}const w={name:"Set Solar Collector Emissivity for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.collectorEmissivity??.95)}const w={name:"Set Solar Collector Emissivity for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.collectorEmissivity??.95:s.solarUpdraftTower.collectorEmissivity??.95;f(s.id,v);const T={name:"Set Solar Collector Emissivity on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:540,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorEmissivity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.01,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},Bso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.dischargeCoefficient)??.65),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.dischargeCoefficient=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.dischargeCoefficient=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.dischargeCoefficient=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(w.solarUpdraftTower.dischargeCoefficient-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(w.solarUpdraftTower.dischargeCoefficient-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(s.solarUpdraftTower.dischargeCoefficient-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.dischargeCoefficient??.65)}const w={name:"Set Solar Chimney Discharge Coefficient for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.dischargeCoefficient??.65)}const w={name:"Set Solar Chimney Discharge Coefficient for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.dischargeCoefficient??.65:s.solarUpdraftTower.dischargeCoefficient??.65;f(s.id,v);const T={name:"Set Solar Chimney Discharge Coefficient on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:540,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerDischargeCoefficient",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.65,max:.7,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.65, 0.70]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},jso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(Js),a=M(ro),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((b=s==null?void 0:s.solarUpdraftTower)==null?void 0:b.turbineEfficiency)??.3),d=Kt(),f=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&T.id===v&&!T.locked){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.turbineEfficiency=S);break}})},p=v=>{e(S=>{for(const w of S.elements)if(w.type===z.Foundation&&!w.locked){const T=w;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.turbineEfficiency=v)}})},g=(v,S)=>{e(w=>{for(const T of w.elements)if(T.type===z.Foundation&&!T.locked&&v.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&(P.solarUpdraftTower||(P.solarUpdraftTower={}),P.solarUpdraftTower.turbineEfficiency=S)}})},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(w.solarUpdraftTower.turbineEfficiency-v)>kt))return!0}break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Foundation&&!S.locked){const w=S;if(w.solarStructure===zn.UpdraftTower&&w.solarUpdraftTower&&(w.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(w.solarUpdraftTower.turbineEfficiency-v)>kt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(s.solarUpdraftTower.turbineEfficiency-v)>kt))return!0}return!1},A=v=>{if(s&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.turbineEfficiency??.3)}const w={name:"Set Solar Updraft Tower Turbine Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{g(w.oldValues,w.newValue)}};i(w),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of n)if(T.type===z.Foundation){const P=T;P.solarStructure===zn.UpdraftTower&&P.solarUpdraftTower&&S.set(T.id,P.solarUpdraftTower.turbineEfficiency??.3)}const w={name:"Set Solar Updraft Tower Turbine Efficiency for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[T,P]of w.oldValues.entries())f(T,P)},redo:()=>{p(w.newValue)}};i(w),p(v),l(a+1);break}default:if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),w=S&&S.solarUpdraftTower?S.solarUpdraftTower.turbineEfficiency??.3:s.solarUpdraftTower.turbineEfficiency??.3;f(s.id,v);const T={name:"Set Solar Updraft Tower Turbine Efficiency on Foundation",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(T.changedElementId,T.oldValue)},redo:()=>{f(T.changedElementId,T.newValue)}};i(T),l(a+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:540,title:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerTurbineEfficiency",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.2,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.2, 1.0]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("foundationMenu.AllFoundations",d)})]})})})]})})},{Option:BT}=Yo,Yso=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=gt(K2),[r,a]=m.useState(!1),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=M(pA).geneticAlgorithmParams,p=m.useRef(f.selectionMethod),g=m.useRef(f.searchMethod),y=m.useRef(Math.min(f.objectiveFunctionType,xo.YEARLY_TOTAL_OUTPUT)),A=m.useRef(f.populationSize),x=m.useRef(f.maximumGenerations),C=m.useRef(f.mutationRate),b=m.useRef(f.selectionRate??.5),v=m.useRef(f.crossoverRate??.5),S=m.useRef(f.convergenceThreshold),w=m.useRef(f.localSearchRadius),T=m.useRef(null);m.useEffect(()=>{var L;(L=T.current)==null||L.focus()},[]);const P={lng:o},R=(L,U)=>{if(d.current){const{clientWidth:F,clientHeight:W}=window.document.documentElement,B=d.current.getBoundingClientRect();u({left:-B.left+U.x,right:F-(B.right-U.x),top:-B.top+U.y,bottom:W-((B==null?void 0:B.bottom)-U.y)})}},H=()=>{e(L=>{L.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,L.evolutionaryAlgorithmState.geneticAlgorithmParams.objectiveFunctionType=y.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionMethod=p.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.searchMethod=g.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.populationSize=A.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.maximumGenerations=x.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionRate=b.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.crossoverRate=v.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.mutationRate=C.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.convergenceThreshold=S.current,L.evolutionaryAlgorithmState.geneticAlgorithmParams.localSearchRadius=w.current})},D=()=>{i||fn(E("message.EvolutionStarted",P)),H(),setTimeout(()=>{gt.getState().set(L=>{L.runEvolution=!L.runEvolution}),e(L=>{L.evolutionMethod=Bs.GENETIC_ALGORITHM,L.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,n&&(L.actionInfo={name:"Run Genetic Algorithm for Solar Panel Tilt Angle",timestamp:new Date().getTime()})})},100)},{t:E}=jl();return h.jsx(h.Fragment,{children:h.jsxs(_r,{width:640,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:[E("optimizationMenu.SolarPanelTiltAngleOptimization",P)+": ",E("optimizationMenu.GeneticAlgorithmSettings",P)]}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:E("word.Cancel",P)},"Cancel"),h.jsx(no,{type:"primary",ref:T,onClick:()=>{D(),t(!1)},children:E("word.Run",P)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:L=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(U,F)=>R(U,F),children:h.jsx("div",{ref:d,children:L})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.Objective",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:y.current,style:{width:"100%"},value:y.current,onChange:L=>{y.current=L,a(!r)},children:[h.jsx(BT,{value:xo.DAILY_TOTAL_OUTPUT,children:E("optimizationMenu.ObjectiveFunctionDailyTotalYield",P)},xo.DAILY_TOTAL_OUTPUT),h.jsx(BT,{value:xo.YEARLY_TOTAL_OUTPUT,children:E("optimizationMenu.ObjectiveFunctionYearlyTotalYield",P)},xo.YEARLY_TOTAL_OUTPUT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.GeneticAlgorithmSelectionMethod",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:p.current,style:{width:"100%"},value:p.current,onChange:L=>{p.current=L,a(!r)},children:[h.jsx(BT,{value:Im.ROULETTE_WHEEL,children:E("optimizationMenu.RouletteWheel",P)},Im.ROULETTE_WHEEL),h.jsx(BT,{value:Im.TOURNAMENT,children:E("optimizationMenu.Tournament",P)},Im.TOURNAMENT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.PopulationSize",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,formatter:L=>Number(L).toFixed(0),value:A.current,step:1,onChange:L=>{L!==null&&(A.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.MaximumGenerations",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,formatter:L=>Number(L).toFixed(0),value:x.current,onChange:L=>{L!==null&&(x.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SelectionRate",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:b.current,step:.01,onChange:L=>{L!==null&&(b.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.CrossoverRate",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:v.current,step:.01,onChange:L=>{L!==null&&(v.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.MutationRate",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:C.current,step:.01,onChange:L=>{L!==null&&(C.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.ConvergenceThreshold",P)+" [0, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:S.current,step:.001,onChange:L=>{L!==null&&(S.current=Number(L),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SearchMethod",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:g.current,style:{width:"100%"},value:g.current,onChange:L=>{g.current=Number(L),a(!r)},children:[h.jsx(BT,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:E("optimizationMenu.GlobalSearchUniformSelection",P)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(BT,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:E("optimizationMenu.LocalSearchRandomOptimization",P)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),g.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.LocalSearchRadius",P)+" ([0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:w.current,step:.01,onChange:L=>{L!==null&&(w.current=Number(L),a(!r))}})})]})]})})},{Option:CO}=Yo,Oso=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=gt(K2),r=M(pA).particleSwarmOptimizationParams,[a,l]=m.useState(!1),[s,c]=m.useState(!1),[u,d]=m.useState({left:0,top:0,bottom:0,right:0}),f=m.useRef(null),p=m.useRef(Math.min(r.objectiveFunctionType,xo.YEARLY_TOTAL_OUTPUT)),g=m.useRef(r.searchMethod),y=m.useRef(r.swarmSize),A=m.useRef(r.maximumSteps),x=m.useRef(r.vmax??.01),C=m.useRef(r.inertia??.8),b=m.useRef(r.cognitiveCoefficient??.1),v=m.useRef(r.socialCoefficient??.1),S=m.useRef(r.convergenceThreshold),w=m.useRef(r.localSearchRadius),T=m.useRef(null);m.useEffect(()=>{var L;(L=T.current)==null||L.focus()},[]);const P={lng:o},R=(L,U)=>{if(f.current){const{clientWidth:F,clientHeight:W}=window.document.documentElement,B=f.current.getBoundingClientRect();d({left:-B.left+U.x,right:F-(B.right-U.x),top:-B.top+U.y,bottom:W-((B==null?void 0:B.bottom)-U.y)})}},H=()=>{e(L=>{L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.objectiveFunctionType=p.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.searchMethod=g.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.swarmSize=y.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.maximumSteps=A.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.cognitiveCoefficient=b.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.socialCoefficient=v.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.vmax=x.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.inertia=C.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.convergenceThreshold=S.current,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.localSearchRadius=w.current})},D=()=>{i||fn(E("message.EvolutionStarted",P)),H(),setTimeout(()=>{gt.getState().set(L=>{L.runEvolution=!L.runEvolution}),e(L=>{L.evolutionMethod=Bs.PARTICLE_SWARM_OPTIMIZATION,L.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,n&&(L.actionInfo={name:"Run Particle Swarm Optimization for Solar Panel Tilt Angle",timestamp:new Date().getTime()})})},100)},{t:E}=jl();return h.jsx(h.Fragment,{children:h.jsxs(_r,{width:640,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>c(!0),onMouseOut:()=>c(!1),children:[E("optimizationMenu.SolarPanelTiltAngleOptimization",P)+": ",E("optimizationMenu.ParticleSwarmOptimizationSettings",P)]}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:E("word.Cancel",P)},"Cancel"),h.jsx(no,{type:"primary",ref:T,onClick:()=>{D(),t(!1)},children:E("word.Run",P)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:L=>h.jsx(Vr,{disabled:!s,bounds:u,onStart:(U,F)=>R(U,F),children:h.jsx("div",{ref:f,children:L})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.Objective",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:p.current,style:{width:"100%"},value:p.current,onChange:L=>{p.current=L,l(!a)},children:[h.jsx(CO,{value:xo.DAILY_TOTAL_OUTPUT,children:E("optimizationMenu.ObjectiveFunctionDailyTotalYield",P)},xo.DAILY_TOTAL_OUTPUT),h.jsx(CO,{value:xo.YEARLY_TOTAL_OUTPUT,children:E("optimizationMenu.ObjectiveFunctionYearlyTotalYield",P)},xo.YEARLY_TOTAL_OUTPUT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SwarmSize",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:y.current,step:1,formatter:L=>Number(L).toFixed(0),onChange:L=>{y.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.MaximumSteps",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:A.current,formatter:L=>Number(L).toFixed(0),onChange:L=>{A.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.CognitiveCoefficient",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:b.current,step:.01,onChange:L=>{b.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SocialCoefficient",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:v.current,step:.01,onChange:L=>{v.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.InertiaWeight",P)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:C.current,step:.01,onChange:L=>{C.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.MaximumVelocity",P)+" [0.001, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:x.current,step:.001,onChange:L=>{x.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.ConvergenceThreshold",P)+" [0, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:S.current,step:.001,onChange:L=>{S.current=Number(L),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.SearchMethod",P)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:g.current,style:{width:"100%"},value:g.current,onChange:L=>{g.current=Number(L),l(!a)},children:[h.jsx(CO,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:E("optimizationMenu.GlobalSearchUniformSelection",P)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(CO,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:E("optimizationMenu.LocalSearchRandomOptimization",P)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),g.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:E("optimizationMenu.LocalSearchRadius",P)+" ([0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:w.current,step:.01,onChange:L=>{w.current=Number(L),l(!a)}})})]})]})})},ry=({children:t,width:e="90px"})=>h.jsx("div",{style:{width:e},children:t}),_so=({element:t})=>{const e=Btt(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!(t!=null&&t.showLabel),onChange:e,children:O.t("labelSubMenu.KeepShowingLabel",n)})})},Vso=({element:t})=>{const{labelText:e,setLabelText:n}=Utt(t),o=jtt(t,e),i=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelText",i)+":"}),value:e,onChange:r=>n(r.target.value),onPressEnter:o,onBlur:o})})},Gso=({element:t})=>{const e=AOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelHeight",n)+":"}),min:t.lz/2+.2,max:100,step:1,precision:1,value:t.labelHeight??t.lz/2+.2,onChange:o=>e(o)})})},Xso=({element:t})=>{const e=gOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelFontSize",n)+":"}),min:10,max:100,step:1,precision:0,value:t.labelFontSize??20,onChange:o=>e(o)})})},Jso=({element:t})=>{const e=mOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelSize",n)+":"}),min:.2,max:5,step:.1,precision:1,value:t.labelSize??.2,onChange:o=>e(o)})})},Kso=({element:t})=>{const e=yOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsx(ry,{children:O.t("labelSubMenu.LabelColor",n)+":"}),value:t.labelColor??"#ffffff",onChange:o=>e(o.target.value)})})},vA=t=>[{key:`${t.type}-show-label`,label:h.jsx(_so,{element:t})},{key:`${t.type}-label-text`,label:h.jsx(Vso,{element:t})},{key:`${t.type}-label-height`,label:h.jsx(Gso,{element:t})},{key:`${t.type}-label-font-size`,label:h.jsx(Xso,{element:t})},{key:`${t.type}-label-size`,label:h.jsx(Jso,{element:t})},{key:`${t.type}-label-color`,label:h.jsx(Kso,{element:t})}],qso=[{key:"windowCount",objectType:z.Window},{key:"doorCount",objectType:z.Door},{key:"sensorCount",objectType:z.Sensor},{key:"outsideLightCount",objectType:z.Light},{key:"parabolicTroughCount",objectType:z.ParabolicTrough},{key:"parabolicDishCount",objectType:z.ParabolicDish},{key:"fresnelReflectorCount",objectType:z.FresnelReflector},{key:"heliostatCount",objectType:z.Heliostat},{key:"windTurbineCount",objectType:z.WindTurbine},{key:"polygonCount",objectType:z.Polygon},{key:"humanCount",objectType:z.Human},{key:"treeCount",objectType:z.Tree},{key:"flowerCount",objectType:z.Flower}],ORe=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.Wall:{o=`${O.t("foundationMenu.RemoveAllUnlockedWalls",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllWallsOnFoundation",n)} (${e} ${O.t("foundationMenu.Walls",n)})`;break}case z.Window:{o=`${O.t("foundationMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllWindowsOnFoundation",n)} (${e} ${O.t("foundationMenu.Windows",n)})`;break}case z.Door:{o=`${O.t("foundationMenu.RemoveAllUnlockedDoors",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllDoorsOnFoundation",n)} (${e} ${O.t("foundationMenu.Doors",n)})`;break}case z.Sensor:{o=`${O.t("foundationMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllSensorsOnFoundation",n)} (${e} ${O.t("foundationMenu.Sensors",n)})`;break}case z.Light:{o=`${O.t("foundationMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllLightsOnFoundation",n)} (${e} ${O.t("foundationMenu.Lights",n)})`;break}case z.ParabolicTrough:{o=`${O.t("foundationMenu.RemoveAllUnlockedParabolicTroughs",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation",n)} (${e} ${O.t("foundationMenu.ParabolicTroughs",n)})`;break}case z.ParabolicDish:{o=`${O.t("foundationMenu.RemoveAllUnlockedParabolicDishes",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllParabolicDishesOnFoundation",n)} (${e} ${O.t("foundationMenu.ParabolicDishes",n)})`;break}case z.FresnelReflector:{o=`${O.t("foundationMenu.RemoveAllUnlockedFresnelReflectors",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation",n)} (${e} ${O.t("foundationMenu.FresnelReflectors",n)})`;break}case z.Heliostat:{o=`${O.t("foundationMenu.RemoveAllUnlockedHeliostats",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllHeliostatsOnFoundation",n)} (${e} ${O.t("foundationMenu.Heliostats",n)})`;break}case z.WindTurbine:{o=`${O.t("foundationMenu.RemoveAllUnlockedWindTurbines",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllWindTurbinesOnFoundation",n)} (${e} ${O.t("foundationMenu.WindTurbines",n)})`;break}case z.Polygon:{o=`${O.t("foundationMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllPolygonsOnFoundation",n)} (${e} ${O.t("foundationMenu.Polygons",n)})`;break}case z.Human:{o=`${O.t("foundationMenu.RemoveAllUnlockedHumans",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllHumansOnFoundation",n)} (${e} ${O.t("foundationMenu.Humans",n)})`;break}case z.Tree:{o=`${O.t("foundationMenu.RemoveAllUnlockedTrees",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllTreesOnFoundation",n)} (${e} ${O.t("foundationMenu.Trees",n)})`;break}case z.Flower:{o=`${O.t("foundationMenu.RemoveAllUnlockedFlowers",n)} (${e})`,i=`${O.t("foundationMenu.DoYouReallyWantToRemoveAllFlowersOnFoundation",n)} (${e} ${O.t("foundationMenu.Flowers",n)})`;break}}return{itemLabel:o,modalTitle:i}},$so=(t,e,n)=>n===z.Light?t.insideLightCount+t.outsideLightCount:t[e],Qso=t=>{const e=M.getState().set,n=new Set;M.getState().elements.forEach(a=>{!a.locked&&a.type===z.Wall&&(a.parentId===t.id||a.foundationId===t.id)&&n.add(a.id)});const o=M.getState().elements.filter(a=>n.has(a.id)||n.has(a.parentId));e(a=>{a.elements=a.elements.filter(l=>!n.has(l.id)&&!n.has(l.parentId))});const i=JSON.parse(JSON.stringify(o)),r={name:"Remove All Walls on Foundation",timestamp:Date.now(),parentId:t.id,removedElements:i,undo:()=>{e(a=>{a.elements.push(...r.removedElements),a.updateWallMapOnFoundationFlag=!a.updateWallMapOnFoundationFlag})},redo:()=>{const a=new Set;M.getState().elements.forEach(l=>{!l.locked&&l.type===z.Wall&&l.parentId===r.parentId&&a.add(l.id)}),e(l=>{l.elements=l.elements.filter(s=>!a.has(s.id)&&!a.has(s.parentId))})}};M.getState().addUndoable(r)},Zso=(t,e,n)=>{const o=[],i={lng:M.getState().language};if(e.unlockedCount>0&&o.push({key:"lock-all-offsprings",label:h.jsx(cCe,{foundation:t,lock:!0,count:e.unlockedCount})}),e.lockedCount>0&&o.push({key:"unlock-all-offsprings",label:h.jsx(cCe,{foundation:t,lock:!1,count:e.lockedCount})}),n.wallCount>0){const{itemLabel:r,modalTitle:a}=ORe(z.Wall,n.wallCount);o.push({key:"remove-all-walls-on-foundation",label:h.jsx(eae,{foundation:t,objectType:z.Wall,modalTitle:a,onClickOk:()=>Qso(t),children:r})})}if(n.solarPanelCount>0){const r=O.t("foundationMenu.DoYouReallyWantToRemoveAllSolarPanelsOnFoundation",i)+" ("+n.solarPanelModuleCount+" "+O.t("foundationMenu.SolarPanels",i)+", "+n.solarPanelCount+" "+O.t("foundationMenu.Racks",i)+")?";o.push({key:"remove-all-solar-panels-on-foundation",label:h.jsxs(eae,{foundation:t,objectType:z.SolarPanel,modalTitle:r,children:[O.t("foundationMenu.RemoveAllUnlockedSolarPanels",i),"  (",n.solarPanelModuleCount," ",O.t("foundationMenu.SolarPanels",i),", ",n.solarPanelCount," ",O.t("foundationMenu.Racks",i),")"]})})}return qso.forEach(({key:r,objectType:a})=>{const l=$so(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=ORe(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-foundation`,label:h.jsx(eae,{foundation:t,objectType:a,modalTitle:c,children:s})})}}),o},eco=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Polygon||e.type===z.Sensor||e.type===z.Light||e.type===z.SolarPanel||e.type===z.WaterHeater||e.type===z.ParabolicDish||e.type===z.Heliostat||e.type===z.FresnelReflector||e.type===z.ParabolicTrough||e.type===z.WindTurbine||e.type===z.Wall)return!0}return!1},tco=t=>{const e=[];if(t.type!==z.Foundation)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked,r=!n.notBuilding&&be.getBuildingCompletionStatus(n,M.getState().elements)===Uc.COMPLETE,a=M.getState().countAllOffspringsByTypeAtOnce(n.id,!0),l=M.getState().countAllOffspringsByTypeAtOnce(n.id,!1);return eco()&&e.push({key:"foundation-paste",label:h.jsx(OH,{})}),e.push({key:"foundation-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"foundation-cut",label:h.jsx(Tf,{})}),e.push({key:"foundation-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"foundation-group-master",label:h.jsx(m$e,{groupableElement:n})}),e.push({key:"building",label:h.jsx(cOn,{foundation:n})}),a.gotSome()&&e.push({key:"lock-unlock-clear-on-foundation",label:h.jsx(tn,{children:O.t("word.Elements",o)}),children:Zso(n,a,l)}),i&&((!n.textureType||n.textureType===Or.NoTexture)&&e.push({key:"fountaion-color",label:h.jsxs(io,{Dialog:yso,children:[O.t("word.Color",o)," ..."]})}),e.push({key:"fountaion-texture",label:h.jsxs(io,{Dialog:wOn,children:[O.t("word.Texture",o)," ..."]})}),e.push({key:"fountaion-length",label:h.jsxs(io,{Dialog:Aso,children:[O.t("word.Length",o)," ..."]})}),e.push({key:"fountaion-width",label:h.jsxs(io,{Dialog:wso,children:[O.t("word.Width",o)," ..."]})}),e.push({key:"fountaion-height",label:h.jsxs(io,{Dialog:vso,children:[O.t("word.Height",o)," ..."]})}),e.push({key:"fountaion-azimuth",label:h.jsxs(io,{Dialog:xso,children:[O.t("word.Azimuth",o)," ..."]})}),r&&e.push({key:"ground-floor-r-value",label:h.jsxs(io,{Dialog:bso,children:[O.t("foundationMenu.GroundFloorRValue",o)," ..."]})})),e.push({key:"add-polygon-on-foundation",label:h.jsx(uOn,{foundation:n})}),!n.notBuilding&&a.wallCount>0&&e.push({key:"building-hvac-system",label:h.jsx(tn,{children:O.t("word.BuildingHVACSystem",o)}),children:[{key:"hvac-system-id",label:h.jsx(dOn,{foundation:n})},{key:"thermostat-temperature",label:h.jsx(fOn,{foundation:n})},{key:"tolerance-threshold",label:h.jsx(hOn,{foundation:n})}]}),i&&(e.push({key:"select-solar-structure",label:h.jsx(tn,{children:O.t("foundationMenu.SolarStructure",o)}),children:[{key:"select-solar-structure-submenu",label:h.jsx(pOn,{foundation:n}),style:{backgroundColor:"white"}}]}),n.solarStructure===zn.FocusPipe&&e.push({key:"solar-absorber-pipe-physical-properties",label:h.jsx(tn,{children:O.t("solarAbsorberPipeMenu.AbsorberPipePhysicalProperties",o)}),children:[{key:"solar-absorber-pipe-height",label:h.jsxs(io,{noPadding:!0,Dialog:Sso,children:[O.t("solarAbsorberPipeMenu.AbsorberHeight",o)," ..."]})},{key:"solar-absorber-pipe-aperture-width",label:h.jsxs(io,{noPadding:!0,Dialog:Tso,children:[O.t("solarAbsorberPipeMenu.AbsorberApertureWidth",o)," ..."]})},{key:"foundation-solar-receiver-pipe-pole-number",label:h.jsxs(io,{noPadding:!0,Dialog:Pso,children:[O.t("solarAbsorberPipeMenu.AbsorberPipePoleNumber",o)," ..."]})},{key:"solar-absorber-pipe-absorptance",label:h.jsxs(io,{noPadding:!0,Dialog:Cso,children:[O.t("solarAbsorberPipeMenu.AbsorberAbsorptance",o)," ..."]})},{key:"solar-absorber-optical-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Rso,children:[O.t("solarAbsorberPipeMenu.AbsorberOpticalEfficiency",o)," ..."]})},{key:"solar-absorber-thermal-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Hso,children:[O.t("solarAbsorberPipeMenu.AbsorberThermalEfficiency",o)," ..."]})}]}),n.solarStructure===zn.FocusTower&&e.push({key:"solar-power-tower-physical-properties",label:h.jsx(tn,{children:O.t("solarPowerTowerMenu.ReceiverTowerPhysicalProperties",o)}),children:[{key:"solar-power-tower-height",label:h.jsxs(io,{noPadding:!0,Dialog:Mso,children:[O.t("solarPowerTowerMenu.ReceiverTowerHeight",o)," ..."]})},{key:"solar-power-tower-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Iso,children:[O.t("solarPowerTowerMenu.ReceiverTowerRadius",o)," ..."]})},{key:"solar-power-tower-receiver-absorptance",label:h.jsxs(io,{noPadding:!0,Dialog:zso,children:[O.t("solarPowerTowerMenu.ReceiverAbsorptance",o)," ..."]})},{key:"solar-power-tower-receiver-optical-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Eso,children:[O.t("solarPowerTowerMenu.ReceiverOpticalEfficiency",o)," ..."]})},{key:"solar-power-tower-receiver-thermal-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Dso,children:[O.t("solarPowerTowerMenu.ReceiverThermalEfficiency",o)," ..."]})}]}),n.solarStructure===zn.UpdraftTower&&e.push({key:"solar-updraft-tower-physical-properties",label:h.jsx(tn,{children:O.t("solarUpdraftTowerMenu.SolarUpdraftTowerPhysicalProperties",o)}),children:[{key:"solar-updraft-tower-chimney-height",label:h.jsxs(io,{noPadding:!0,Dialog:kso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyHeight",o)," ..."]})},{key:"solar-updraft-tower-chimney-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Fso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyRadius",o)," ..."]})},{key:"solar-updraft-tower-collector-height",label:h.jsxs(io,{noPadding:!0,Dialog:Lso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorHeight",o)," ..."]})},{key:"solar-updraft-tower-collector-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Wso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorRadius",o)," ..."]})},{key:"solar-updraft-tower-collector-transmissivity",label:h.jsxs(io,{noPadding:!0,Dialog:Nso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorTransmissivity",o)," ..."]})},{key:"solar-updraft-tower-collector-emissivity",label:h.jsxs(io,{noPadding:!0,Dialog:Uso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorEmissivity",o)," ..."]})},{key:"solar-updraft-tower-discharge-coefficient",label:h.jsxs(io,{noPadding:!0,Dialog:Bso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerDischargeCoefficient",o)," ..."]})},{key:"solar-updraft-tower-turbine-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:jso,children:[O.t("solarUpdraftTowerMenu.SolarUpdraftTowerTurbineEfficiency",o)," ..."]})}]})),e.push({key:"optimization",label:h.jsx(tn,{children:O.t("optimizationMenu.Optimization",o)}),children:[{key:"genetic-algorithms",label:h.jsx(tn,{noPadding:!0,children:O.t("optimizationMenu.GeneticAlgorithm",o)}),disabled:l.solarPanelCount===0,children:[{key:"solar-panel-tilt-angle-ga-optimizer",label:h.jsxs(io,{noPadding:!0,Dialog:Yso,children:[O.t("optimizationMenu.SolarPanelTiltAngleOptimization",o),"..."]})}]},{key:"particle-swarm-optimization",label:h.jsx(tn,{noPadding:!0,children:O.t("optimizationMenu.ParticleSwarmOptimization",o)}),disabled:l.solarPanelCount===0,children:[{key:"solar-panel-tilt-angle-pso-optimizer",label:h.jsxs(io,{noPadding:!0,Dialog:Oso,children:[O.t("optimizationMenu.SolarPanelTiltAngleOptimization",o),"..."]})}]}]}),i&&e.push({key:"foundation-label",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},nco=({cuboid:t})=>{const e=Kt(),n=()=>{M.getState().set(o=>{for(const i of o.elements)if(i.id===t.id&&i.type===z.Cuboid){const r=i,a=!r.stackable;r.stackable=a,o.actionState.cuboidStackable=a;break}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.stackable,onChange:n,children:O.t("cuboidMenu.Stackable",e)})})},oco=({cuboid:t,selectedSideIndex:e})=>{const n=Kt(),o=M.getState().set,i=()=>{o(c=>{c.objectTypeToAdd=z.Polygon});const{pos:r}=be.getWorldDataById(t.id);let a;switch(e){case 0:a=Np;break;case 1:a=Up;break;case 2:a=Yc;break;case 3:a=Bp;break;default:a=Po,r.z=t.lz}const l=M.getState().addElement(t,r,a),s={name:"Add",timestamp:Date.now(),addedElement:l,undo:()=>{M.getState().removeElementById(s.addedElement.id,!1)},redo:()=>{o(c=>{c.elements.push(s.addedElement),c.selectedElement=s.addedElement})}};M.getState().addUndoable(s),o(c=>{c.objectTypeToAdd=z.None})};return h.jsx(tn,{onClick:i,children:O.t("cuboidMenu.AddPolygon",n)})},_Re=({cuboid:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Cuboid`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx(qm,{}),onOk:s})};return h.jsx(tn,{noPadding:!0,onClick:l,children:i})},ico=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(SH),r=M(TH),a=M(qBe),l=M(ro),s=M(oo),c=co(z.Cuboid),[u,d]=m.useState((c==null?void 0:c.color)??"#808080"),[f,p]=m.useState(!1),g=Kt();m.useEffect(()=>{b()},[c,a]);const y=(R,H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.Cuboid&&L.id===H&&!L.locked){const U=L;U.faceColors||(U.faceColors=new Array(6),U.faceColors.fill(U.color??D)),U.faceColors[R]=D;break}})},A=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.Cuboid&&E.id===R&&!E.locked){E.color=H;const L=E;L.faceColors||(L.faceColors=new Array(6));for(let U=0;U<4;U++)L.faceColors[U]=H;break}})},x=R=>{e(H=>{for(const D of H.elements)if(D.type===z.Cuboid&&!D.locked){D.color=R;const E=D;E.faceColors||(E.faceColors=new Array(6));for(let L=0;L<4;L++)E.faceColors[L]=R}})},C=R=>{r(R.target.value),p(!f)},b=()=>{c&&(a>=0&&c.faceColors?d(c.faceColors[a]):d(c.color??"#808080"))},v=R=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Cuboid&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)){const D=H;if(D.faceColors){for(let E=0;E<4;E++)if(R!==D.faceColors[E])return!0}else if(R!==D.color)return!0}break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Cuboid&&!H.locked){const D=H;if(D.faceColors){for(let E=0;E<4;E++)if(R!==D.faceColors[E])return!0}else if(R!==D.color)return!0}break;case ue.OnlyThisObject:if(c.faceColors){for(let H=0;H<4;H++)if(R!==c.faceColors[H])return!0}else if(R!==(c==null?void 0:c.color))return!0;break;default:if(a>=0){const H=c!=null&&c.faceColors?c==null?void 0:c.faceColors[a]:c==null?void 0:c.color;if(R!==H)return!0}else if(R!==(c==null?void 0:c.color))return!0}return!1}},S=R=>{if(c&&v(R)){switch(i){case ue.AllSelectedObjectsOfThisType:{const E=new Map;for(const U of n)if(U.type===z.Cuboid&&M.getState().selectedElementIdSet.has(U.id)){const F=U;if(F.faceColors)E.set(U.id,[...F.faceColors]);else{const W=F.color??"#808080";E.set(U.id,[W,W,W,W,W,W])}}const L={name:"Set Color for Selected Cuboids",timestamp:Date.now(),oldValues:E,newValue:R,undo:()=>{for(const[U,F]of L.oldValues.entries())if(F&&Array.isArray(F))for(let W=0;W{for(const[U,F]of L.oldValues.entries())if(F&&Array.isArray(F))for(let W=0;W{U.actionState.cuboidFaceColors||(U.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let F=0;F<4;F++)U.actionState.cuboidFaceColors[F]=R});break}case ue.AllObjectsOfThisType:{const E=new Map;for(const U of n)if(U.type===z.Cuboid){const F=U;if(F.faceColors)E.set(U.id,[...F.faceColors]);else{const W=F.color??"#808080";E.set(U.id,[W,W,W,W,W,W])}}const L={name:"Set Color for All Cuboids",timestamp:Date.now(),oldValues:E,newValue:R,undo:()=>{for(const[U,F]of L.oldValues.entries())if(F&&Array.isArray(F))for(let W=0;W{x(L.newValue)}};o(L),x(R),s(l+1),e(U=>{U.actionState.cuboidFaceColors||(U.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let F=0;F<4;F++)U.actionState.cuboidFaceColors[F]=R});break}case ue.OnlyThisObject:let H;if(c.faceColors)H=[...c.faceColors];else{const E=c.color??"#808080";H=[E,E,E,E,E,E]}const D={name:"Set Color for All Sides of Selected Cuboid",timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:c.id,changedElementType:c.type,undo:()=>{if(D.oldValue&&Array.isArray(D.oldValue))for(let E=0;E{A(D.changedElementId,D.newValue)}};o(D),A(c.id,R),s(l+1),e(E=>{E.actionState.cuboidFaceColors||(E.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let L=0;L<4;L++)E.actionState.cuboidFaceColors[L]=R});break;default:if(a>=0){const E=c.faceColors?c.faceColors[a]:c.color,L={name:"Set Color for Selected Side of Cuboid",timestamp:Date.now(),oldValue:E,newValue:R,changedElementId:c.id,changedElementType:c.type,changedSideIndex:a,undo:()=>{L.changedSideIndex!==void 0&&y(L.changedSideIndex,L.changedElementId,L.oldValue)},redo:()=>{L.changedSideIndex!==void 0&&y(L.changedSideIndex,L.changedElementId,L.newValue)}};o(L),y(a,c.id,R),s(l+1),e(U=>{U.actionState.cuboidFaceColors||(U.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]),U.actionState.cuboidFaceColors[a]=R})}}p(!f)}},w=()=>{b(),t(!1)},T=()=>{S(u),t(!1),s(0)},P=a>=0&&(c!=null&&c.faceColors)?c.faceColors[a]:(c==null?void 0:c.color)??"#808080";return h.jsx(lo,{width:600,title:O.t("word.Color",g),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:u??P,onChangeComplete:R=>{d(R.hex),p(!f)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:C,value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("cuboidMenu.OnlyThisSide",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.AllSidesOfThisCuboid",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSidesOfSelectedCuboids",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllSidesOfAllCuboids",g)})]})})})]})})},rco="/aladdin/assets/building_facade_01_menu-BAm4EVGn.png",aco="/aladdin/assets/building_facade_02_menu-BylQ9E0j.png",lco="/aladdin/assets/building_facade_03_menu-DfU_cdlP.png",sco="/aladdin/assets/building_facade_04_menu-Bz2bcbq0.png",cco="/aladdin/assets/building_facade_05_menu-hF6OsAF0.png",uco="/aladdin/assets/building_facade_06_menu-CUmtyI19.png",dco="/aladdin/assets/building_facade_07_menu-B8_DYqYz.png",fco="/aladdin/assets/building_facade_08_menu-CTA_rxim.png",hco="/aladdin/assets/building_facade_09_menu-BpQDoLbY.png",pco="/aladdin/assets/building_facade_10_menu-z_jZrQMT.png",gco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(SH),r=M(TH),a=M(qBe),l=M(ro),s=M(oo),c=co(z.Cuboid),[u,d]=m.useState(c&&c.textureTypes&&a>=0?c.textureTypes[a]:Co.NoTexture),f=Kt(),{Option:p}=Yo;m.useEffect(()=>{c&&d(c.textureTypes&&a>=0?c.textureTypes[a]:Co.NoTexture)},[c,a]);const g=(T,P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.Cuboid&&D.id===P&&!D.locked){const E=D;E.textureTypes||(E.textureTypes=new Array(6),E.textureTypes.fill(Co.NoTexture)),E.textureTypes[T]=R;break}})},y=(T,P)=>{e(R=>{for(const H of R.elements)if(H.type===z.Cuboid&&H.id===T&&!H.locked){const D=H;D.textureTypes||(D.textureTypes=new Array(6),D.textureTypes.fill(Co.NoTexture));for(let E=0;E<4;E++)D.textureTypes[E]=P;break}})},A=(T,P)=>{e(R=>{for(const H of R.elements)if(H.type===z.Cuboid&&!H.locked&&T.has(H.id)){const D=H;if(D.textureTypes||(D.textureTypes=new Array(6),D.textureTypes.fill(Co.NoTexture)),P!==void 0)for(let E=0;E<4;E++)D.textureTypes[E]=P;else{const E=T.get(H.id);if(E&&E.length>=4)for(let L=0;L<4;L++)D.textureTypes[L]=E[L]}}})},x=T=>{e(P=>{for(const R of P.elements)if(R.type===z.Cuboid&&!R.locked){const H=R;H.textureTypes||(H.textureTypes=new Array(6),H.textureTypes.fill(Co.NoTexture));for(let D=0;D<4;D++)H.textureTypes[D]=T}})},C=T=>{r(T.target.value)},b=T=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Cuboid&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const R=P;if(R.textureTypes){for(let H=0;H<4;H++)if(T!==R.textureTypes[H])return!0}}break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Cuboid&&!P.locked){const R=P;if(R.textureTypes){for(let H=0;H<4;H++)if(T!==R.textureTypes[H])return!0}}break;case ue.OnlyThisObject:if(c.textureTypes){for(let P=0;P<4;P++)if(T!==c.textureTypes[P])return!0}break;default:if(a>=0&&c.textureTypes&&T!==c.textureTypes[a])return!0}return!1}},v=T=>{if(c&&b(T))switch(i){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)if(E.type===z.Cuboid&&M.getState().selectedElementIdSet.has(E.id)){const L=E;H.set(E.id,L.textureTypes?[...L.textureTypes]:void 0)}const D={name:"Set Texture for Selected Cuboids",timestamp:Date.now(),oldValues:H,newValue:T,undo:()=>{for(const[E,L]of D.oldValues.entries())if(L&&Array.isArray(L))for(let U=0;U{A(D.oldValues,D.newValue)}};o(D),A(H,T),s(l+1),e(E=>{E.actionState.cuboidFaceTextures||(E.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let L=0;L<4;L++)E.actionState.cuboidFaceTextures[L]=T});break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)if(E.type===z.Cuboid){const L=E;H.set(E.id,L.textureTypes?[...L.textureTypes]:void 0)}const D={name:"Set Texture for All Cuboids",timestamp:Date.now(),oldValues:H,newValue:T,undo:()=>{for(const[E,L]of D.oldValues.entries())if(L&&Array.isArray(L))for(let U=0;U{x(D.newValue)}};o(D),x(T),s(l+1),e(E=>{E.actionState.cuboidFaceTextures||(E.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let L=0;L<4;L++)E.actionState.cuboidFaceTextures[L]=T});break}case ue.OnlyThisObject:const P=c.textureTypes?[...c.textureTypes]:void 0,R={name:"Set Texture for All Sides of Selected Cuboid",timestamp:Date.now(),oldValue:P,newValue:T,changedElementId:c.id,changedElementType:c.type,undo:()=>{if(R.oldValue&&Array.isArray(R.oldValue))for(let H=0;H{y(R.changedElementId,R.newValue)}};o(R),y(c.id,T),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let D=0;D<4;D++)H.actionState.cuboidFaceTextures[D]=T});break;default:if(a>=0){const H=c.textureTypes?c.textureTypes[a]:Co.NoTexture,D={name:"Set Texture for Selected Side of Cuboid",timestamp:Date.now(),oldValue:H,newValue:T,changedElementId:c.id,changedElementType:c.type,changedSideIndex:a,undo:()=>{D.changedSideIndex!==void 0&&g(D.changedSideIndex,D.changedElementId,D.oldValue)},redo:()=>{D.changedSideIndex!==void 0&&g(D.changedSideIndex,D.changedElementId,D.newValue)}};o(D),g(a,c.id,T),s(l+1),e(E=>{E.actionState.cuboidFaceTextures||(E.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]),E.actionState.cuboidFaceTextures[a]=T})}}},S=()=>{c!=null&&c.textureTypes&&a>=0&&d(c.textureTypes[a]),t(!1)},w=()=>{v(u)};return h.jsx(lo,{width:600,title:O.t("word.Texture",f),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"150px"},value:u,onChange:d,children:[h.jsxs(p,{value:Co.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",f)]},Co.NoTexture),h.jsxs(p,{value:Co.Facade01,children:[h.jsx("img",{alt:Co.Facade01,src:rco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture01",f)]},Co.Facade01),h.jsxs(p,{value:Co.Facade02,children:[h.jsx("img",{alt:Co.Facade02,src:aco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture02",f)]},Co.Facade02),h.jsxs(p,{value:Co.Facade03,children:[h.jsx("img",{alt:Co.Facade03,src:lco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture03",f)]},Co.Facade03),h.jsxs(p,{value:Co.Facade04,children:[h.jsx("img",{alt:Co.Facade04,src:sco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture04",f)]},Co.Facade04),h.jsxs(p,{value:Co.Facade05,children:[h.jsx("img",{alt:Co.Facade05,src:cco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture05",f)]},Co.Facade05),h.jsxs(p,{value:Co.Facade06,children:[h.jsx("img",{alt:Co.Facade06,src:uco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture06",f)]},Co.Facade06),h.jsxs(p,{value:Co.Facade07,children:[h.jsx("img",{alt:Co.Facade07,src:dco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture07",f)]},Co.Facade07),h.jsxs(p,{value:Co.Facade08,children:[h.jsx("img",{alt:Co.Facade08,src:fco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture08",f)]},Co.Facade08),h.jsxs(p,{value:Co.Facade09,children:[h.jsx("img",{alt:Co.Facade09,src:hco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture09",f)]},Co.Facade09),h.jsxs(p,{value:Co.Facade10,children:[h.jsx("img",{alt:Co.Facade10,src:pco,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("cuboidMenu.Texture10",f)]},Co.Facade10)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:C,value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("cuboidMenu.OnlyThisSide",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.AllSidesOfThisCuboid",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSidesOfSelectedCuboids",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllSidesOfAllCuboids",f)})]})})})]})})},mco=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(vH),i=M($Be),r=M(t3),a=M(H7),l=M(e3),s=M(En),c=M(SH),u=M(TH),d=M(dn),f=M(ro),p=M(oo),g=M(ca),y=co(z.Cuboid),[A,x]=m.useState((y==null?void 0:y.lx)??0),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),E=Kt(),L=ie=>{u(ie.target.value)},U=ie=>{if(y){switch(c){case ue.AllSelectedObjectsOfThisType:for(const ne of e)if(ne.type===z.Cuboid&&M.getState().selectedElementIdSet.has(ne.id)){const Z=ne,he=o(Z.id);if(he.length>0&&!be.doesNewSizeContainAllChildren(Z,he,ie,Z.ly))return!1}break;case ue.AllObjectsOfThisType:for(const ne of e)if(ne.type===z.Cuboid){const Z=ne,he=o(Z.id);if(he.length>0&&!be.doesNewSizeContainAllChildren(Z,he,ie,Z.ly))return!1}break;default:const pe=o(y.id);if(pe.length>0)return be.doesNewSizeContainAllChildren(y,pe,ie,y.ly)}return!0}},F=ie=>!U(ie),W=ie=>{if(y){switch(c){case ue.AllSelectedObjectsOfThisType:for(const pe of e)if(pe.type===z.Cuboid&&!pe.locked&&M.getState().selectedElementIdSet.has(pe.id)&&Math.abs(pe.lx-ie)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const pe of e)if(pe.type===z.Cuboid&&!pe.locked&&Math.abs(pe.lx-ie)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const pe of e)if(pe.type===z.Cuboid&&pe.parentId===(y==null?void 0:y.parentId)&&!pe.locked&&Math.abs(pe.lx-ie)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((y==null?void 0:y.lx)-ie)>kt)return!0}return!1}},B=(ie,pe)=>{if(ie==null)return null;for(const ne of ie.children)if(ne.name.includes(`${pe}`))return ne;return null},k=(ie,pe,ne)=>{var Z,he;if(ie){for(const fe of ie.children)if(fe.name.includes(`${ne.id}`)){(he=(Z=Ln.getState().contentRef)==null?void 0:Z.current)==null||he.add(fe);break}d(fe=>{for(const se of fe.elements)if(se.id===ne.id){se.parentId=Zo;const oe=new Gt(se.cx,se.cy).rotateAround(wr,pe.rotation[2]).add(new Gt(pe.cx,pe.cy));se.cx=oe.x,se.cy=oe.y,se.cz=0,S.current.set(se.id,new ae(oe.x,oe.y,0)),b.current.set(se.id,Zo);break}})}},N=ie=>{for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&pe.parentId===(y==null?void 0:y.parentId)&&j(pe,ie)},j=(ie,pe)=>{const ne=o(ie.id),Z=ie.rotation[2];if(w.current.clear(),R.current.clear(),ne.length>0)for(const he of ne){if(be.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:const fe=new Gt(he.cx*ie.lx,he.cy*ie.ly).rotateAround(wr,Z);w.current.set(he.id,fe),v.current.set(he.id,new ae(he.cx,he.cy));break;case z.Polygon:const se=he,oe=[];for(const de of se.vertices)oe.push(new Gt(de.x*ie.lx,de.y*ie.ly).rotateAround(wr,Z));R.current.set(he.id,oe),T.current.set(he.id,se.vertices.map(de=>({...de})));break}be.isPlantOrHuman(he)&&v.current.set(he.id,new ae(he.cx,he.cy,he.cz))}if(r(ie.id,pe),ne.length>0)for(const he of ne){if(be.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:const fe=w.current.get(he.id);if(fe){const de=new Gt(fe.x,fe.y).rotateAround(wr,-Z).x/pe;i(he.id,de),S.current.set(he.id,new ae(de,he.cy))}break;case z.Polygon:const se=R.current.get(he.id);if(se){const oe=[];for(const de of se){const ve=de.rotateAround(wr,-Z),Pe=ve.x/pe,me=ve.y/ie.ly;oe.push({x:Pe,y:me})}a(he.id,oe),P.current.set(he.id,oe.map(de=>({...de})))}break}if(be.isPlantOrHuman(he)){if(S.current.set(he.id,new ae(he.cx,he.cy,he.cz)),C.current.set(he.id,ie.id),Math.abs(he.cz-ie.lz/2)0){const fe=Ln.getState().contentRef,se=B(fe==null?void 0:fe.current,ie.id);k(se,ie,he)}}else if(Math.abs(Math.abs(he.cx)-ie.lx/2)0?pe:-pe)/2;i(he.id,fe),S.current.set(he.id,new ae(fe,he.cy,he.cz))}}}},Y=(ie,pe,ne)=>{if(!ie||!pe)return;const Z=Ln.getState().contentRef,he=B(Z==null?void 0:Z.current,pe),fe=B(pe===Zo?Z==null?void 0:Z.current:he,ne);if(fe&&(Z!=null&&Z.current)){if(ie===Zo)Z.current.add(fe);else{const se=B(Z.current,ie);se==null||se.add(fe)}Zh()}},_=(ie,pe)=>{ie&&d(ne=>{for(const Z of ne.elements)if(Z.id===pe){Z.parentId=ie;break}})},J=ie=>{if(!y||!W(ie))return;const pe=n(y.id),ne=pe?pe.lx:y.lx;if(D.current=void 0,H.current=F(ie),H.current)D.current=ie,x(ne);else switch(c){case ue.AllSelectedObjectsOfThisType:{const he=new Map;for(const se of e)se.type===z.Cuboid&&!se.locked&&M.getState().selectedElementIdSet.has(se.id)&&(he.set(se.id,se.lx),j(se,ie));const fe={name:"Set Length for Selected Cuboids",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())a(de,ve)},redo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,fe.newSize);if(fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())a(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const he=new Map;for(const se of e)se.type===z.Cuboid&&se.parentId===y.parentId&&!se.locked&&(he.set(se.id,se.lx),j(se,ie));const fe={name:"Set Length for All Cuboids on Surface",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())a(de,ve)},redo:()=>{var se,oe;if(N(fe.newSize),fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())a(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisType:{const he=new Map;for(const se of e)se.type===z.Cuboid&&!se.locked&&(he.set(se.id,se.lx),j(se,ie));const fe={name:"Set Length for All Cuboids",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())a(de,ve)},redo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())r(de,fe.newSize);if(fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){l(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())a(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:j(y,ie);const Z={name:"Set Cuboid Length",timestamp:Date.now(),oldSize:ne,newSize:ie,resizedElementId:y.id,resizedElementType:y.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var he,fe;if(r(y.id,Z.oldSize),Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[se,oe]of Z.oldChildrenPositionsMap.entries()){l(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(Y(de,ve,se),_(de,se))}if(Z.oldChildrenVerticesMap&&Z.oldChildrenVerticesMap.size>0)for(const[se,oe]of Z.oldChildrenVerticesMap.entries())a(se,oe)},redo:()=>{var he,fe;if(r(y.id,Z.newSize),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[se,oe]of Z.newChildrenPositionsMap.entries()){l(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(Y(ve,de,se),_(ve,se))}if(Z.newChildrenVerticesMap&&Z.newChildrenVerticesMap.size>0)for(const[se,oe]of Z.newChildrenVerticesMap.entries())a(se,oe)}};s(Z),p(f+1)}},Q=()=>{t(!1)},ee=()=>{Q(),g()},$=()=>{J(A),H.current||(t(!1),p(0))},q=()=>{J(A)},le=H.current?": "+O.t("message.NotApplicableToSelectedAction",E)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Length",E),rejectedMessage:le,onApply:q,onClose:Q,onClickCancel:ee,onClickOk:$,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:500,style:{width:120},step:.5,precision:2,value:A,onChange:ie=>{ie!==null&&x(ie)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",E),": [0.1, 500] ",O.t("word.MeterAbbreviation",E)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",E)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.OnlyThisCuboid",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("cuboidMenu.AllCuboidsOnSameSurface",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSelectedCuboids",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllCuboids",E)})]})})})]})})},yco=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(vH),i=M(e3),r=M(QBe),a=M(R7),l=M(H7),s=M(En),c=M(SH),u=M(TH),d=M(dn),f=M(ro),p=M(oo),g=M(ca),y=co(z.Cuboid),[A,x]=m.useState((y==null?void 0:y.ly)??0),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),E=Kt(),L=ie=>{u(ie.target.value)},U=ie=>{if(y){switch(c){case ue.AllSelectedObjectsOfThisType:for(const ne of e)if(ne.type===z.Cuboid&&M.getState().selectedElementIdSet.has(ne.id)){const Z=ne,he=o(Z.id);if(he.length>0&&!be.doesNewSizeContainAllChildren(Z,he,Z.lx,ie))return!1}break;case ue.AllObjectsOfThisType:for(const ne of e)if(ne.type===z.Cuboid){const Z=ne,he=o(Z.id);if(he.length>0&&!be.doesNewSizeContainAllChildren(Z,he,Z.lx,ie))return!1}break;default:const pe=o(y.id);if(pe.length>0)return be.doesNewSizeContainAllChildren(y,pe,y.lx,ie)}return!0}},F=ie=>!U(ie),W=ie=>{if(y){switch(c){case ue.AllSelectedObjectsOfThisType:for(const pe of e)if(pe.type===z.Cuboid&&!pe.locked&&M.getState().selectedElementIdSet.has(pe.id)&&Math.abs(pe.ly-ie)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const pe of e)if(pe.type===z.Cuboid&&pe.parentId===(y==null?void 0:y.parentId)&&!pe.locked&&Math.abs(pe.ly-ie)>kt)return!0;break;case ue.AllObjectsOfThisType:{for(const pe of e)if(pe.type===z.Cuboid&&!pe.locked&&Math.abs(pe.ly-ie)>kt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((y==null?void 0:y.ly)-ie)>kt)return!0}return!1}},B=(ie,pe)=>{if(ie==null)return null;for(const ne of ie.children)if(ne.name.includes(`${pe}`))return ne;return null},k=(ie,pe,ne)=>{var Z,he;if(ie){for(const fe of ie.children)if(fe.name.includes(`${ne.id}`)){(he=(Z=Ln.getState().contentRef)==null?void 0:Z.current)==null||he.add(fe);break}d(fe=>{for(const se of fe.elements)if(se.id===ne.id){se.parentId=Zo;const oe=new Gt(se.cx,se.cy).rotateAround(wr,pe.rotation[2]).add(new Gt(pe.cx,pe.cy));se.cx=oe.x,se.cy=oe.y,se.cz=0,S.current.set(se.id,new ae(oe.x,oe.y,0)),b.current.set(se.id,Zo);break}})}},N=ie=>{for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&pe.parentId===(y==null?void 0:y.parentId)&&j(pe,ie)},j=(ie,pe)=>{const ne=o(ie.id),Z=ie.rotation[2];if(w.current.clear(),R.current.clear(),ne.length>0)for(const he of ne){if(be.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:const fe=new Gt(he.cx*ie.lx,he.cy*ie.ly).rotateAround(wr,Z);w.current.set(he.id,fe),v.current.set(he.id,new ae(he.cx,he.cy));break;case z.Polygon:const se=he,oe=[];for(const de of se.vertices)oe.push(new Gt(de.x*ie.lx,de.y*ie.ly).rotateAround(wr,Z));R.current.set(he.id,oe),T.current.set(he.id,se.vertices.map(de=>({...de})));break}be.isPlantOrHuman(he)&&v.current.set(he.id,new ae(he.cx,he.cy,he.cz))}if(a(ie.id,pe),ne.length>0)for(const he of ne){if(be.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:const fe=w.current.get(he.id);if(fe){const de=new Gt(fe.x,fe.y).rotateAround(wr,-Z).y/pe;r(he.id,de),S.current.set(he.id,new ae(he.cx,de))}break;case z.Polygon:const se=R.current.get(he.id);if(se){const oe=[];for(const de of se){const ve=de.rotateAround(wr,-Z),Pe=ve.x/ie.lx,me=ve.y/pe;oe.push({x:Pe,y:me})}l(he.id,oe),P.current.set(he.id,oe.map(de=>({...de})))}break}if(be.isPlantOrHuman(he)){if(S.current.set(he.id,new ae(he.cx,he.cy,he.cz)),C.current.set(he.id,ie.id),Math.abs(he.cz-ie.lz/2)0){const fe=Ln.getState().contentRef,se=B(fe==null?void 0:fe.current,ie.id);k(se,ie,he)}}else if(Math.abs(Math.abs(he.cy)-ie.ly/2)0?pe:-pe)/2;r(he.id,fe),S.current.set(he.id,new ae(he.cz,fe,he.cz))}}}},Y=(ie,pe,ne)=>{if(!ie||!pe)return;const Z=Ln.getState().contentRef,he=B(Z==null?void 0:Z.current,pe),fe=B(pe===Zo?Z==null?void 0:Z.current:he,ne);if(fe&&(Z!=null&&Z.current)){if(ie===Zo)Z.current.add(fe);else{const se=B(Z.current,ie);se==null||se.add(fe)}Zh()}},_=(ie,pe)=>{ie&&d(ne=>{for(const Z of ne.elements)if(Z.id===pe){Z.parentId=ie;break}})},J=ie=>{if(!y||!W(ie))return;const pe=n(y.id),ne=pe?pe.ly:y.ly;if(D.current=void 0,H.current=F(ie),H.current)D.current=ie,x(ne);else switch(v.current.clear(),S.current.clear(),T.current.clear(),P.current.clear(),c){case ue.AllSelectedObjectsOfThisType:{const he=new Map;for(const se of e)se.type===z.Cuboid&&!se.locked&&M.getState().selectedElementIdSet.has(se.id)&&(he.set(se.id,se.ly),j(se,ie));const fe={name:"Set Width for Selected Cuboids on Surface",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())l(de,ve)},redo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,fe.newSize);if(fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())l(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const he=new Map;for(const se of e)se.type===z.Cuboid&&se.parentId===y.parentId&&!se.locked&&(he.set(se.id,se.ly),j(se,ie));const fe={name:"Set Width for All Cuboids on Surface",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())l(de,ve)},redo:()=>{var se,oe;if(N(fe.newSize),fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())l(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisType:{const he=new Map;for(const se of e)se.type===z.Cuboid&&!se.locked&&(he.set(se.id,se.ly),j(se,ie));const fe={name:"Set Width for All Cuboids on Surface",timestamp:Date.now(),oldSizes:he,newSize:ie,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,ve);if(fe.oldChildrenPositionsMap&&fe.oldChildrenPositionsMap.size>0)for(const[de,ve]of fe.oldChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(Pe,me,de),_(Pe,de))}if(fe.oldChildrenVerticesMap&&fe.oldChildrenVerticesMap.size>0)for(const[de,ve]of fe.oldChildrenVerticesMap.entries())l(de,ve)},redo:()=>{var se,oe;for(const[de,ve]of fe.oldSizes.entries())a(de,fe.newSize);if(fe.newChildrenPositionsMap&&fe.newChildrenPositionsMap.size>0)for(const[de,ve]of fe.newChildrenPositionsMap.entries()){i(de,ve.x,ve.y,ve.z);const Pe=(se=fe.oldChildrenParentIdMap)==null?void 0:se.get(de),me=(oe=fe.newChildrenParentIdMap)==null?void 0:oe.get(de);Pe&&me&&Pe!==me&&(Y(me,Pe,de),_(me,de))}if(fe.newChildrenVerticesMap&&fe.newChildrenVerticesMap.size>0)for(const[de,ve]of fe.newChildrenVerticesMap.entries())l(de,ve)}};s(fe),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:j(y,ie);const Z={name:"Set Cuboid Width",timestamp:Date.now(),oldSize:ne,newSize:ie,resizedElementId:y.id,resizedElementType:y.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenVerticesMap:new Map(T.current),newChildrenVerticesMap:new Map(P.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var he,fe;if(a(y.id,Z.oldSize),Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[se,oe]of Z.oldChildrenPositionsMap.entries()){i(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(Y(de,ve,se),_(de,se))}if(Z.oldChildrenVerticesMap&&Z.oldChildrenVerticesMap.size>0)for(const[se,oe]of Z.oldChildrenVerticesMap.entries())l(se,oe)},redo:()=>{var he,fe;if(a(y.id,Z.newSize),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[se,oe]of Z.newChildrenPositionsMap.entries()){i(se,oe.x,oe.y,oe.z);const de=(he=Z.oldChildrenParentIdMap)==null?void 0:he.get(se),ve=(fe=Z.newChildrenParentIdMap)==null?void 0:fe.get(se);de&&ve&&de!==ve&&(Y(ve,de,se),_(ve,se))}if(Z.newChildrenVerticesMap&&Z.newChildrenVerticesMap.size>0)for(const[se,oe]of Z.newChildrenVerticesMap.entries())l(se,oe)}};s(Z),p(f+1)}},Q=()=>{t(!1)},ee=()=>{Q(),g()},$=()=>{J(A),H.current||(t(!1),p(0))},q=()=>{J(A)},le=H.current?": "+O.t("message.NotApplicableToSelectedAction",E)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Width",E),rejectedMessage:le,onApply:q,onClose:Q,onClickCancel:ee,onClickOk:$,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:500,style:{width:120},step:.5,precision:2,value:A,onChange:ie=>{ie!==null&&x(ie)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",E),": [0.1, 500] ",O.t("word.MeterAbbreviation",E)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",E)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.OnlyThisCuboid",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("cuboidMenu.AllCuboidsOnSameSurface",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSelectedCuboids",E)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllCuboids",E)})]})})})]})})},Aco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(jn),r=M(oge),a=M(mwt),l=M(Awt),s=M(ywt),c=M(En),u=M(SH),d=M(TH),f=M(e3),p=M(ro),g=M(oo),y=co(z.Cuboid),[A,x]=m.useState((y==null?void 0:y.lz)??0),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=Kt(),T=Y=>{d(Y.target.value)},P=(Y,_)=>{r(Y,_),a(Y,_/2)},R=Y=>{if(!y)return;const _=o(y);if(_)for(const J of n)J.type===z.Cuboid&&!J.locked&&J.parentId===_.id&&(r(J.id,Y),a(J.id,Y/2))},H=Y=>{if(!y)return;const _=be.getBaseId(y.id);if(_)for(const J of n)J.type===z.Cuboid&&!J.locked&&be.getBaseId(J.id)===_&&(r(J.id,Y),a(J.id,Y/2))},D=Y=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const J of n)if(J.type===z.Cuboid&&!J.locked&&M.getState().selectedElementIdSet.has(J.id)&&Math.abs(J.lz-Y)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const J of n)if(J.type===z.Cuboid&&!J.locked&&Math.abs(J.lz-Y)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:const _=be.getBaseId(y==null?void 0:y.id);if(_&&_!==Zo){for(const J of n)if(J.type===z.Cuboid&&J.parentId&&J.parentId!==Zo&&!J.locked){const Q=J;if(_===be.getBaseId(Q.id)&&Math.abs(Q.lz-Y)>kt)return!0}}break;case ue.AllObjectsOfThisTypeOnSurface:for(const J of n)if(J.type===z.Cuboid&&J.parentId!==Zo&&J.parentId===(y==null?void 0:y.parentId)&&!J.locked&&Math.abs(J.lz-Y)>kt)return!0;break;default:if(Math.abs((y==null?void 0:y.lz)-Y)>kt)return!0}return!1}},E=(Y,_)=>{if(Y==null)return null;for(const J of Y.children)if(J.name.includes(`${_}`))return J;return null},L=(Y,_,J)=>{var Q,ee;if(Y){for(const q of Y.children)if(q.name.includes(`${J.id}`)){(ee=(Q=Ln.getState().contentRef)==null?void 0:Q.current)==null||ee.add(q);break}J.parentId=Zo;const $=new Gt(J.cx,J.cy).rotateAround(wr,-_.rotation[2]).add(new Gt(_.cx,_.cy));J.cx=$.x,J.cy=$.y,J.cz=0,S.current.set(J.id,new ae($.x,$.y,0)),b.current.set(J.id,Zo)}},U=(Y,_)=>{e(J=>{for(const Q of J.elements)if(Q.parentId===Y.id&&(C.current.set(Q.id,Y.id),v.current.set(Q.id,new ae(Q.cx,Q.cy,Q.cz)),be.isPlantOrHuman(Q)))if(Math.abs(Q.cz-Y.lz/2)_/2){const $=Ln.getState().contentRef,q=E($==null?void 0:$.current,Y.id);L(q,Y,Q)}else Q.cz=ee,S.current.set(Q.id,new ae(Q.cx,Q.cy,ee))}})},F=(Y,_,J)=>{if(!Y||!_)return;const Q=Ln.getState().contentRef,ee=E(Q==null?void 0:Q.current,_),$=E(_===Zo?Q==null?void 0:Q.current:ee,J);if($&&(Q!=null&&Q.current)){if(Y===Zo)Q.current.add($);else{const q=E(Q.current,Y);q==null||q.add($)}Zh()}},W=(Y,_)=>{Y&&e(J=>{for(const Q of J.elements)if(Q.id===_){Q.parentId=Y;break}})},B=(Y,_)=>{M.getState().set(J=>{for(const Q of J.elements)if(Y.has(Q.id))if(_!==void 0)Q.lz=_,Q.cz=_/2;else{const ee=Y.get(Q.id);ee!==void 0&&(Q.lz=ee,Q.cz=ee/2)}})},k=Y=>{if(y&&D(Y)){switch(u){case ue.AllSelectedObjectsOfThisType:{const ee=new Map;for(const q of n)q.type===z.Cuboid&&M.getState().selectedElementIdSet.has(q.id)&&(ee.set(q.id,q.lz),U(q,Y));const $={name:"Set Height for Selected Cuboids",timestamp:Date.now(),oldValues:ee,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var q,le;if(B($.oldValues),$.oldChildrenPositionsMap&&$.oldChildrenPositionsMap.size>0)for(const[ie,pe]of $.oldChildrenPositionsMap.entries()){f(ie,pe.x,pe.y,pe.z);const ne=(q=$.oldChildrenParentIdMap)==null?void 0:q.get(ie),Z=(le=$.newChildrenParentIdMap)==null?void 0:le.get(ie);ne&&Z&&ne!==Z&&(F(ne,Z,ie),W(ne,ie))}},redo:()=>{var le,ie;const q=$.newValue;if(B($.oldValues,q),$.newChildrenPositionsMap&&$.newChildrenPositionsMap.size>0)for(const[pe,ne]of $.newChildrenPositionsMap.entries()){f(pe,ne.x,ne.y,ne.z);const Z=(le=$.oldChildrenParentIdMap)==null?void 0:le.get(pe),he=(ie=$.newChildrenParentIdMap)==null?void 0:ie.get(pe);Z&&he&&Z!==he&&(F(he,Z,pe),W(he,pe))}}};c($),B(ee,Y),g(p+1);break}case ue.AllObjectsOfThisType:{const ee=new Map;for(const q of n)q.type===z.Cuboid&&(ee.set(q.id,q.lz),U(q,Y));const $={name:"Set Height for All Cuboids",timestamp:Date.now(),oldValues:ee,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var q,le;for(const[ie,pe]of $.oldValues.entries())P(ie,pe);if($.oldChildrenPositionsMap&&$.oldChildrenPositionsMap.size>0)for(const[ie,pe]of $.oldChildrenPositionsMap.entries()){f(ie,pe.x,pe.y,pe.z);const ne=(q=$.oldChildrenParentIdMap)==null?void 0:q.get(ie),Z=(le=$.newChildrenParentIdMap)==null?void 0:le.get(ie);ne&&Z&&ne!==Z&&(F(ne,Z,ie),W(ne,ie))}},redo:()=>{var le,ie;const q=$.newValue;if(l(z.Cuboid,q),s(z.Cuboid,q/2),$.newChildrenPositionsMap&&$.newChildrenPositionsMap.size>0)for(const[pe,ne]of $.newChildrenPositionsMap.entries()){f(pe,ne.x,ne.y,ne.z);const Z=(le=$.oldChildrenParentIdMap)==null?void 0:le.get(pe),he=(ie=$.newChildrenParentIdMap)==null?void 0:ie.get(pe);Z&&he&&Z!==he&&(F(he,Z,pe),W(he,pe))}}};c($),l(z.Cuboid,Y),s(z.Cuboid,Y/2),g(p+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{const ee=new Map,$=be.getBaseId(y.id);for(const le of n)le.type===z.Cuboid&&be.getBaseId(le.id)===$&&(ee.set(le.id,le.lz),U(le,Y));const q={name:"Set Height for All Cuboids Above Same Base",timestamp:Date.now(),oldValues:ee,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var le,ie;for(const[pe,ne]of q.oldValues.entries())P(pe,ne);if(q.oldChildrenPositionsMap&&q.oldChildrenPositionsMap.size>0)for(const[pe,ne]of q.oldChildrenPositionsMap.entries()){f(pe,ne.x,ne.y,ne.z);const Z=(le=q.oldChildrenParentIdMap)==null?void 0:le.get(pe),he=(ie=q.newChildrenParentIdMap)==null?void 0:ie.get(pe);Z&&he&&Z!==he&&(F(Z,he,pe),W(Z,pe))}},redo:()=>{var ie,pe;const le=q.newValue;if(H(le),q.newChildrenPositionsMap&&q.newChildrenPositionsMap.size>0)for(const[ne,Z]of q.newChildrenPositionsMap.entries()){f(ne,Z.x,Z.y,Z.z);const he=(ie=q.oldChildrenParentIdMap)==null?void 0:ie.get(ne),fe=(pe=q.newChildrenParentIdMap)==null?void 0:pe.get(ne);he&&fe&&he!==fe&&(F(fe,he,ne),W(fe,ne))}}};c(q),H(Y),g(p+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const ee=new Map;for(const q of n)q.type===z.Cuboid&&q.parentId===y.parentId&&(ee.set(q.id,q.lz),U(q,Y));const $={name:"Set Height for All Cuboids on Same Surface",timestamp:Date.now(),oldValues:ee,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),undo:()=>{var q,le;for(const[ie,pe]of $.oldValues.entries())P(ie,pe);if($.oldChildrenPositionsMap&&$.oldChildrenPositionsMap.size>0)for(const[ie,pe]of $.oldChildrenPositionsMap.entries()){f(ie,pe.x,pe.y,pe.z);const ne=(q=$.oldChildrenParentIdMap)==null?void 0:q.get(ie),Z=(le=$.newChildrenParentIdMap)==null?void 0:le.get(ie);ne&&Z&&ne!==Z&&(F(ne,Z,ie),W(ne,ie))}},redo:()=>{var le,ie;const q=$.newValue;if(R(q),$.newChildrenPositionsMap&&$.newChildrenPositionsMap.size>0)for(const[pe,ne]of $.newChildrenPositionsMap.entries()){f(pe,ne.x,ne.y,ne.z);const Z=(le=$.oldChildrenParentIdMap)==null?void 0:le.get(pe),he=(ie=$.newChildrenParentIdMap)==null?void 0:ie.get(pe);Z&&he&&Z!==he&&(F(he,Z,pe),W(he,pe))}}};c($),R(Y),g(p+1);break}default:const _=i(y.id),J=_?_.lz:y.lz;U(y,Y),P(y.id,Y);const Q={name:"Set Cuboid Width",timestamp:Date.now(),oldValue:J,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(S.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(b.current),changedElementId:y.id,changedElementType:y.type,undo:()=>{var ee,$;if(P(Q.changedElementId,Q.oldValue),Q.oldChildrenPositionsMap&&Q.oldChildrenPositionsMap.size>0)for(const[q,le]of Q.oldChildrenPositionsMap.entries()){f(q,le.x,le.y,le.z);const ie=(ee=Q.oldChildrenParentIdMap)==null?void 0:ee.get(q),pe=($=Q.newChildrenParentIdMap)==null?void 0:$.get(q);ie&&pe&&ie!==pe&&(F(ie,pe,q),W(ie,q))}},redo:()=>{var ee,$;if(P(Q.changedElementId,Q.newValue),Q.newChildrenPositionsMap&&Q.newChildrenPositionsMap.size>0)for(const[q,le]of Q.newChildrenPositionsMap.entries()){f(q,le.x,le.y,le.z);const ie=(ee=Q.oldChildrenParentIdMap)==null?void 0:ee.get(q),pe=($=Q.newChildrenParentIdMap)==null?void 0:$.get(q);ie&&pe&&ie!==pe&&(F(pe,ie,q),W(pe,q))}}};c(Q),g(p+1)}e(_=>{_.actionState.cuboidHeight=Y})}},N=()=>{t(!1)},j=()=>{k(A)};return h.jsx(lo,{width:550,title:O.t("word.Height",w),onApply:j,onClose:N,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:A,onChange:Y=>{Y!==null&&x(Y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",w),": [0.1, 1000] ",O.t("word.MeterAbbreviation",w)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",w)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.OnlyThisCuboid",w)}),(y==null?void 0:y.parentId)!==Zo&&h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("cuboidMenu.AllCuboidsOnSameSurface",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("cuboidMenu.AllCuboidsAboveSameBase",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSelectedCuboids",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllCuboids",w)})]})})})]})})},wco=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(ige),i=M(En),r=M(SH),a=M(TH),l=M(ro),s=M(oo),c=co(z.Cuboid),[u,d]=m.useState(c?-c.rotation[2]:0),f=Kt(),p=v=>{a(v.target.value)},g=v=>{for(const S of e)S.type===z.Cuboid&&!S.locked&&S.parentId===(c==null?void 0:c.parentId)&&o(S.id,0,0,-v)},y=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Cuboid&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(-S.rotation[2]-v)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const S of e)if(S.type===z.Cuboid&&S.parentId===(c==null?void 0:c.parentId)&&!S.locked&&Math.abs(-S.rotation[2]-v)>kt)return!0;break;case ue.AllObjectsOfThisType:{for(const S of e)if(S.type===z.Cuboid&&!S.locked&&Math.abs(-S.rotation[2]-v)>kt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((c?-c.rotation[2]:0)-v)>kt)return!0}return!1},A=(v,S)=>{M.getState().set(w=>{for(const T of w.elements)if(v.has(T.id))if(S!==void 0)T.rotation[2]=S;else{const P=v.get(T.id);P!==void 0&&(T.rotation[2]=-P)}})},x=v=>{if(c&&y(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Cuboid&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,-H.rotation[2]);const R={name:"Set Azimuth for Selected Cuboids",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{A(R.oldValues)},redo:()=>{A(R.oldValues,-R.newValue)}};i(R),A(P,-v),s(l+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const P=new Map;for(const H of e)H.type===z.Cuboid&&H.parentId===c.parentId&&!H.locked&&P.set(H.id,-H.rotation[2]);const R={name:"Set Azimuth for All Cuboids on Surface",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{for(const[H,D]of R.oldValues.entries())o(H,0,0,-D)},redo:()=>{g(R.newValue)}};i(R),g(v),s(l+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Cuboid&&!H.locked&&P.set(H.id,-H.rotation[2]);const R={name:"Set Azimuth for All Cuboids",timestamp:Date.now(),oldValues:P,newValue:v,undo:()=>{A(R.oldValues)},redo:()=>{A(R.oldValues,-R.newValue)}};i(R),A(P,-v),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:const S=n(c.id),w=S?-S.rotation[2]:-c.rotation[2],T={name:"Set Cuboid Azimuth",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:c.id,changedElementType:c.type,undo:()=>{o(T.changedElementId,0,0,-T.oldValue)},redo:()=>{o(T.changedElementId,0,0,-T.newValue)}};i(T),o(c.id,0,0,-v),s(l+1)}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("word.Azimuth",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},step:.5,precision:2,value:parseFloat(be.toDegrees(u).toFixed(2)),formatter:v=>`${v}°`,onChange:v=>{v!==null&&d(be.toRadians(v))}}),h.jsxs("div",{style:{paddingTop:"20px",paddingRight:"6px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [-180°, 180°]",h.jsx("br",{}),O.t("message.AzimuthOfNorthIsZero",f),h.jsx("br",{}),O.t("message.CounterclockwiseAzimuthIsPositive",f)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:p,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("cuboidMenu.OnlyThisCuboid",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("cuboidMenu.AllCuboidsOnSameSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("cuboidMenu.AllSelectedCuboids",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("cuboidMenu.AllCuboids",f)})]})})})]})})},vco=[{key:"sensorCount",objectType:z.Sensor},{key:"polygonCount",objectType:z.Polygon},{key:"humanCount",objectType:z.Human},{key:"treeCount",objectType:z.Tree},{key:"flowerCount",objectType:z.Flower},{key:"outsideLightCount",objectType:z.Light}],xco=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.Light:{o=`${O.t("cuboidMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllLightsOnCuboid",n)} (${e} ${O.t("cuboidMenu.Lights",n)})`;break}case z.Sensor:{o=`${O.t("cuboidMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllSensorsOnCuboid",n)} (${e} ${O.t("cuboidMenu.Sensors",n)})`;break}case z.Polygon:{o=`${O.t("cuboidMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllPolygonsOnCuboid",n)} (${e} ${O.t("cuboidMenu.Polygons",n)})`;break}case z.Human:{o=`${O.t("cuboidMenu.RemoveAllUnlockedHumans",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllHumansOnCuboid",n)} (${e} ${O.t("cuboidMenu.Humans",n)})`;break}case z.Tree:{o=`${O.t("cuboidMenu.RemoveAllUnlockedTrees",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllTreesOnCuboid",n)} (${e} ${O.t("cuboidMenu.Trees",n)})`;break}case z.Flower:{o=`${O.t("cuboidMenu.RemoveAllUnlockedFlowers",n)} (${e})`,i=`${O.t("cuboidMenu.DoYouReallyWantToRemoveAllFlowersOnCuboid",n)} (${e} ${O.t("cuboidMenu.Flowers",n)})`;break}}return{itemLabel:o,modalTitle:i}},bco=(t,e)=>{const n=[],o={lng:M.getState().language};if(e.solarPanelCount>0){const i=O.t("cuboidMenu.DoYouReallyWantToRemoveAllSolarPanelsOnCuboid",o)+" ("+e.solarPanelModuleCount+" "+O.t("cuboidMenu.SolarPanels",o)+", "+e.solarPanelCount+" "+O.t("cuboidMenu.Racks",o)+")?";n.push({key:"remove-all-solar-panels-on-cuboid",label:h.jsxs(_Re,{cuboid:t,objectType:z.SolarPanel,modalTitle:i,children:[O.t("cuboidMenu.RemoveAllUnlockedSolarPanels",o),"  (",e.solarPanelModuleCount," ",O.t("cuboidMenu.SolarPanels",o),",",e.solarPanelCount," ",O.t("cuboidMenu.Racks",o),")"]})})}return vco.forEach(({key:i,objectType:r})=>{const a=e[i];if(typeof a=="number"&&a>0){const{itemLabel:l,modalTitle:s}=xco(r,a),c=r.replaceAll(" ","");n.push({key:`remove-all-${c}s-on-cuboid`,label:h.jsx(_Re,{cuboid:t,objectType:r,modalTitle:s,children:l})})}}),n},Sco=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Polygon||e.type===z.Sensor||e.type===z.SolarPanel||e.type===z.Cuboid)return!0}return!1},Tco=t=>{const e=[];if(t.type!==z.Cuboid)return{items:e};const n=t,o=M.getState().selectedSideIndex,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce(n.id,!1),a=!(n!=null&&n.locked),l=!n.textureTypes||o>=0&&n.textureTypes[o]===Co.NoTexture;return Sco()&&e.push({key:"cuboid-paste",label:h.jsx(OH,{})}),e.push({key:"cuboid-copy",label:h.jsx(Sf,{})}),a&&e.push({key:"cuboid-cut",label:h.jsx(Tf,{})}),e.push({key:"cuboid-lock",label:h.jsx(Md,{selectedElement:n})}),e.push({key:"cuboid-group-master",label:h.jsx(m$e,{groupableElement:n})}),e.push({key:"cuboid-stackable",label:h.jsx(nco,{cuboid:n})}),r.gotSome()&&e.push({key:"cuboid-clear",label:h.jsx(tn,{children:O.t("word.Clear",i)}),children:bco(n,r)}),a&&(l&&e.push({key:"cuboid-color",label:h.jsxs(io,{Dialog:ico,children:[O.t("word.Color",i)," ..."]})}),e.push({key:"cuboid-texture",label:h.jsxs(io,{Dialog:gco,children:[O.t("word.Texture",i)," ..."]})}),e.push({key:"cuboid-length",label:h.jsxs(io,{Dialog:mco,children:[O.t("word.Length",i)," ..."]})}),e.push({key:"cuboid-width",label:h.jsxs(io,{Dialog:yco,children:[O.t("word.Width",i)," ..."]})}),e.push({key:"cuboid-height",label:h.jsxs(io,{Dialog:Aco,children:[O.t("word.Height",i)," ..."]})}),e.push({key:"cuboid-azimuth",label:h.jsxs(io,{Dialog:wco,children:[O.t("word.Azimuth",i)," ..."]})})),e.push({key:"add-polygon-on-cuboid",label:h.jsx(oco,{cuboid:n,selectedSideIndex:o})}),a&&e.push({key:"cuboid-label",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",i)}),children:vA(n)}),{items:e}},Pco=()=>{const t=M(sA),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.groundImage=i,r.viewState.groundImageType=r.viewState.mapType})},o=i=>{const r=i.target.checked,a={name:"Show Ground Image",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("groundMenu.ImageOnGround",e)})})},Cco=()=>{const t=M(vBe),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.waterSurface=i})},o=i=>{const r=i.target.checked,a={name:"Water Surface",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,update:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("groundMenu.WaterSurface",e)})})},Rco=()=>{const t=M(wBe),e=o=>{M.getState().set(i=>{i.viewState.groundColor=o})},n=o=>{const i=t,r=o.hex,a={name:"Set Ground Color",timestamp:Date.now(),oldValue:i,newValue:r,undo:()=>{e(a.oldValue)},redo:()=>{e(a.newValue)}};M.getState().addUndoable(a),e(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Cf,{color:t,onChangeComplete:n})})},Hco=()=>{const t=M(O1e)??sq,n=M(Xs)>0,o=Kt(),i=s=>{M.getState().set(c=>{c.world.leafDayOfYear1=s})},r=s=>{if(s===null)return;const c=t,u=s,d={name:"Set Leaf Day 1",timestamp:Date.now(),oldValue:c,newValue:u,undo:()=>{i(d.oldValue)},redo:()=>{i(d.newValue)}};M.getState().addUndoable(d),i(u)},a=()=>h.jsx("div",{style:{width:"80px"},children:O.t(n?"groundMenu.LeafOffDay":"groundMenu.LeafOutDay",o)}),l=()=>h.jsx("div",{style:{width:"60px"},children:"(1-150)"});return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(a,{}),addonAfter:h.jsx(l,{}),style:{width:"300px"},min:1,max:150,step:1,precision:0,value:t,onChange:r})})},Mco=()=>{const t=M(_1e)??cq,n=M(Xs)>0,o=Kt(),i=s=>{M.getState().set(c=>{c.world.leafDayOfYear2=s})},r=s=>{if(s===null)return;const c=t,u=s,d={name:"Set Leaf Day 2",timestamp:Date.now(),oldValue:c,newValue:u,undo:()=>{i(d.oldValue)},redo:()=>{i(d.newValue)}};M.getState().addUndoable(d),i(u)},a=()=>h.jsx("div",{style:{width:"80px"},children:O.t(n?"groundMenu.LeafOffDay":"groundMenu.LeafOutDay",o)}),l=()=>h.jsx("div",{style:{width:"60px"},children:"(215-365)"});return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(a,{}),addonAfter:h.jsx(l,{}),style:{width:"300px"},min:215,max:365,step:1,precision:0,value:t,onChange:r})})},VRe=({monthIndex:t})=>{const e=M(r=>r.world.monthlyIrradianceLosses?r.world.monthlyIrradianceLosses[t]:.05)??.05,n=Kt(),o=r=>{M.getState().set(a=>{a.world.monthlyIrradianceLosses||(a.world.monthlyIrradianceLosses=new Array(12).fill(.05)),a.world.monthlyIrradianceLosses[t]=r})},i=r=>{if(r===null)return;const a=e,l=r,s={name:"Set Irradiance Loss in "+Pwe[t],timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{o(s.oldValue)},redo:()=>{o(s.newValue)}};M.getState().addUndoable(s),o(l)};return h.jsx(Hn,{addonBefore:h.jsx("span",{style:{fontFamily:"monospace"},children:O.t(`month.${Pwe[t]}`,n)}),style:{width:"120px"},min:0,max:1,step:.01,precision:2,value:e,onChange:i})},Ico=()=>{const t=M(i=>i.world.ground.albedo),e=Kt(),n=i=>{M.getState().set(r=>{r.world.ground.albedo=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Ground Albedo",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"60px"},children:[O.t("groundMenu.Albedo",e),":"]}),h.jsx(Hn,{min:.05,max:1,step:.01,precision:2,value:t,onChange:o})]})},zco=({itemLabel:t,modalTitle:e,objectType:n})=>{const o=M.getState().removeElementsByType,i=()=>{const a=M.getState().elements.filter(c=>!c.locked&&c.type===n);o(n);const l=JSON.parse(JSON.stringify(a)),s={name:"Remove All "+n+"s",timestamp:Date.now(),removedElements:l,undo:()=>{M.getState().set(c=>{c.elements.push(...s.removedElements)})},redo:()=>{o(n)}};M.getState().addUndoable(s),gt.getState().updateContextMenu()},r=()=>{_r.confirm({title:e,onOk:i,icon:h.jsx(qm,{})})};return h.jsx(tn,{onClick:r,children:t})},GRe=({lock:t,count:e,label:n})=>{const o=M.getState().updateAllElementLocks,i=()=>{const r=new Map;for(const c of M.getState().elements)r.set(c.id,!!c.locked);const s={name:`${t?"Lock":"Unlock"} All ${t?"Unlocked":"Locked"} Elements`,timestamp:Date.now(),oldValues:r,newValue:!0,undo:()=>{for(const[c,u]of s.oldValues.entries())M.getState().updateElementLockById(c,u)},redo:()=>{o(t)}};M.getState().addUndoable(s),o(t)};return h.jsxs(tn,{update:!0,onClick:i,children:[n," (",e,")"]})},Dco=[{key:"humanCount",type:z.Human,itemLabel:"groundMenu.RemoveAllUnlockedPeople",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllPeople"},{key:"treeCount",type:z.Tree,itemLabel:"groundMenu.RemoveAllUnlockedTrees",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllTrees"},{key:"flowerCount",type:z.Flower,itemLabel:"groundMenu.RemoveAllUnlockedFlowers",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllFlowers"},{key:"solarPanelCount",type:z.SolarPanel,itemLabel:"groundMenu.RemoveAllUnlockedSolarPanels",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllSolarPanels"},{key:"foundationCount",type:z.Foundation,itemLabel:"groundMenu.RemoveAllUnlockedFoundations",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllFoundations"},{key:"cuboidCount",type:z.Cuboid,itemLabel:"groundMenu.RemoveAllUnlockedCuboids",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllCuboids"}],Eco=()=>{const t=M.getState().elementsToPaste;if(!t||t.length===0)return!1;const e=t[0];return e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Cuboid||e.type===z.Foundation},kco=()=>Ps.slice().reduce((t,e,n,o)=>(t&&n%2!==0&&t.push({key:`${o[n-1]}-${o[n]}`,label:h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(VRe,{monthIndex:n-1}),h.jsx(VRe,{monthIndex:n})]})}),t),[]),Fco=()=>{const t={lng:M.getState().language},e=M.getState().countAllElementsByType(!0),n=[];return Eco()&&n.push({key:"ground-paste",label:h.jsx(OH,{})}),Dco.forEach(({key:i,type:r,itemLabel:a,modalTitle:l})=>{const s=e[i];typeof s=="number"&&s>0&&n.push({key:`ground-remove-all-${r}s`,label:h.jsx(zco,{objectType:r,itemLabel:`${O.t(a,t)} (${s})`,modalTitle:`${O.t(l,t)} (${s})?`})})}),e.unlockedCount>0&&n.push({key:"lock-all-elements",label:h.jsx(GRe,{lock:!0,count:e.unlockedCount,label:O.t("groundMenu.LockAllUnlockedElements",t)})}),e.lockedCount>0&&M.getState().elements.length>0&&n.push({key:"unlock-all-elements",label:h.jsx(GRe,{lock:!1,count:e.lockedCount,label:O.t("groundMenu.UnlockAllLockedElements",t)})}),n.push({key:"image-on-ground",label:h.jsx(Pco,{})}),n.push({key:"water-surface",label:h.jsx(Cco,{})}),M.getState().viewState.waterSurface||n.push({key:"ground-color-submenu",label:h.jsx(tn,{children:O.t("word.Color",t)}),children:[{key:"groung-color-picker",label:h.jsx(Rco,{}),style:{backgroundColor:"white"}}]}),n.push({key:"vegetation-submenu",label:h.jsx(tn,{children:O.t("groundMenu.Vegetation",t)}),children:[{key:"leaf-out-day",label:h.jsx(Hco,{})},{key:"leaf-shed-day",label:h.jsx(Mco,{})}]}),n.push({key:"monthly-irradiance-loss-submenu",label:h.jsx(tn,{children:O.t("groundMenu.MonthlyIrradianceLoss",t)}),children:kco()}),n.push({key:"ground-albedo",label:h.jsx(Ico,{})}),{items:n,onClick:({key:i})=>{}}};var CE={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 1-Math.cos(t*Math.PI/2)},Out:function(t){return Math.sin(t*Math.PI/2)},InOut:function(t){return .5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return t===0?0:Math.pow(1024,t-1)},Out:function(t){return t===1?1:1-Math.pow(2,-10*t)},InOut:function(t){return t===0?0:t===1?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(-Math.pow(2,-10*(t-1))+2)}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return t===0?0:t===1?1:-Math.pow(2,10*(t-1))*Math.sin((t-1.1)*5*Math.PI)},Out:function(t){return t===0?0:t===1?1:Math.pow(2,-10*t)*Math.sin((t-.1)*5*Math.PI)+1},InOut:function(t){return t===0?0:t===1?1:(t*=2,t<1?-.5*Math.pow(2,10*(t-1))*Math.sin((t-1.1)*5*Math.PI):.5*Math.pow(2,-10*(t-1))*Math.sin((t-1.1)*5*Math.PI)+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?.5*(t*t*((e+1)*t-e)):.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-CE.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?CE.Bounce.In(t*2)*.5:CE.Bounce.Out(t*2-1)*.5+.5}}},DD;typeof self>"u"&&typeof process<"u"&&process.hrtime?DD=function(){var t=process.hrtime();return t[0]*1e3+t[1]/1e6}:typeof self<"u"&&self.performance!==void 0&&self.performance.now!==void 0?DD=self.performance.now.bind(self.performance):Date.now!==void 0?DD=Date.now:DD=function(){return new Date().getTime()};var bP=DD,Lco=function(){function t(){this._tweens={},this._tweensAddedDuringUpdate={}}return t.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map(function(n){return e._tweens[n]})},t.prototype.removeAll=function(){this._tweens={}},t.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},t.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},t.prototype.update=function(e,n){e===void 0&&(e=bP()),n===void 0&&(n=!1);var o=Object.keys(this._tweens);if(o.length===0)return!1;for(;o.length>0;){this._tweensAddedDuringUpdate={};for(var i=0;i1?r(t[n],t[n-1],n-o):r(t[i],t[i+1>n?n:i+1],o-i)},Bezier:function(t,e){for(var n=0,o=t.length-1,i=Math.pow,r=ED.Utils.Bernstein,a=0;a<=o;a++)n+=i(1-e,o-a)*i(e,a)*t[a]*r(o,a);return n},CatmullRom:function(t,e){var n=t.length-1,o=n*e,i=Math.floor(o),r=ED.Utils.CatmullRom;return t[0]===t[n]?(e<0&&(i=Math.floor(o=n*(1+e))),r(t[(i-1+n)%n],t[i],t[(i+1)%n],t[(i+2)%n],o-i)):e<0?t[0]-(r(t[0],t[0],t[1],t[1],-o)-t[0]):e>1?t[n]-(r(t[n],t[n],t[n-1],t[n-1],o-n)-t[n]):r(t[i?i-1:0],t[i],t[n1;o--)n*=o;return t[e]=n,n}}(),CatmullRom:function(t,e,n,o,i){var r=(n-t)*.5,a=(o-e)*.5,l=i*i,s=i*l;return(2*e-2*n+r+a)*s+(-3*e+3*n-2*r-a)*l+r*i+e}}},Wco=function(){function t(){}return t.nextId=function(){return t._nextId++},t._nextId=0,t}(),iot=new Lco,Nco=function(){function t(e,n){n===void 0&&(n=iot),this._object=e,this._group=n,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=CE.Linear.None,this._interpolationFunction=ED.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=Wco.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return t.prototype.getId=function(){return this._id},t.prototype.isPlaying=function(){return this._isPlaying},t.prototype.isPaused=function(){return this._isPaused},t.prototype.to=function(e,n){return this._valuesEnd=Object.create(e),n!==void 0&&(this._duration=n),this},t.prototype.duration=function(e){return this._duration=e,this},t.prototype.start=function(e){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e!==void 0?typeof e=="string"?bP()+parseFloat(e):e:bP(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},t.prototype._setupProperties=function(e,n,o,i){for(var r in o){var a=e[r],l=Array.isArray(a),s=l?"array":typeof a,c=!l&&Array.isArray(o[r]);if(!(s==="undefined"||s==="function")){if(c){var u=o[r];if(u.length===0)continue;u=u.map(this._handleRelativeValue.bind(this,a)),o[r]=[a].concat(u)}if((s==="object"||l)&&a&&!c){n[r]=l?[]:{};for(var d in a)n[r][d]=a[d];i[r]=l?[]:{},this._setupProperties(a,n[r],o[r],i[r])}else typeof n[r]>"u"&&(n[r]=a),l||(n[r]*=1),c?i[r]=o[r].slice().reverse():i[r]=n[r]||0}}},t.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},t.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},t.prototype.pause=function(e){return e===void 0&&(e=bP()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this),this)},t.prototype.resume=function(e){return e===void 0&&(e=bP()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},t.prototype.stopChainedTweens=function(){for(var e=0,n=this._chainedTweens.length;er)return!1;n&&this.start(e)}if(this._goToEnd=!1,e1?1:i;var a=this._easingFunction(i);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,a),this._onUpdateCallback&&this._onUpdateCallback(this._object,i),i===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(o in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[o]=="string"&&(this._valuesStartRepeat[o]=this._valuesStartRepeat[o]+parseFloat(this._valuesEnd[o])),this._yoyo&&this._swapEndStartRepeatValues(o),this._valuesStart[o]=this._valuesStartRepeat[o];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var l=0,s=this._chainedTweens.length;l{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&(l.type===z.Human||l.type===z.Tree||l.type===z.Flower)){const s=l;s.flip=r;break}})},o=i=>{const r=i.target.checked,a={name:`Flip ${t.type}`,timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:z.Human,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.flip,onChange:o,children:O.t("peopleMenu.Flip",e)})})},Bco=({human:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Human&&l.id===i){l.observer=r;break}})},o=i=>{const r=i.target.checked,a={name:"Set Observer",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:z.Human,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.observer,onChange:o,children:O.t("peopleMenu.Observer",e)})})},jco=({human:t})=>{const e=Kt(),[n,o]=m.useState(!1),i=m.useRef(0),r=m.useRef(-1),a=m.useRef(!0),l=m.useRef(!1);m.useEffect(()=>{if(l.current){if(a.current)return i.current=requestAnimationFrame(c),u(),()=>{cancelAnimationFrame(i.current)};a.current=!0}},[n]);const s=(f,p,g)=>{const y=Ln.getState().orbitControlsRef;y!=null&&y.current&&(y.current.object.position.set(f,p,g),y.current.update(),M.getState().set(A=>{const x=A.viewState;x.cameraPosition=[f,p,g]}))},c=()=>{requestAnimationFrame(c);const f=Date.now();f-r.current>100&&(Uco(),r.current=f)},u=()=>{if(!t)return;let f=t.cx,p=t.cy,g=t.cz+t.lz;const y=M.getState().getParent(t);if(y){const C=be.absoluteHumanOrTreeCoordinates(f,p,g,y);f=C.x,p=C.y,g=C.z}const A=M.getState().cameraDirection.clone().normalize().multiplyScalar(.5);f+=A.x,p+=A.y;const x=[...M.getState().viewState.cameraPosition];new Nco(x).to([f,p,g],1e3).easing(CE.Quadratic.In).onUpdate(C=>{s(C[0],C[1],C[2])}).onComplete(()=>{M.getState().selectNone()}).start()},d=()=>{o(!n),l.current=!0};return h.jsx(tn,{onClick:d,children:O.t("peopleMenu.ViewFromThisPerson",e)})},Yco=({tree:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Tree&&l.id===i){l.showModel=r;break}})},o=i=>{const r={name:"Show Tree Model",timestamp:Date.now(),checked:i,selectedElementId:t.id,selectedElementType:z.Tree,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:(t==null?void 0:t.showModel)&&(t==null?void 0:t.type)===z.Tree,onChange:i=>o(i.target.checked),children:O.t("treeMenu.ShowModel",e)})})},Oco=({tree:t})=>{const e=M.getState().updateElementLxById,n=Kt(),o=t.lx??1,i=r=>{if(r===null||r===o)return;const a={name:"Set Tree Spread",timestamp:Date.now(),oldValue:o,newValue:r,changedElementId:t.id,changedElementType:t.type,undo:()=>{e(a.changedElementId,a.oldValue)},redo:()=>{e(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),e(t.id,r),M.getState().set(l=>{l.actionState.treeSpread=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[O.t("treeMenu.Spread",n)+" ("+O.t("word.MeterAbbreviation",n)+")",":"]}),h.jsx(Hn,{style:{width:"160px"},min:1,max:50,step:1,precision:1,value:o,onChange:i})]})},_co=({tree:t})=>{const e=M.getState().updateElementLzById,n=Kt(),o=t.lz??1,i=r=>{if(r===null||r===o)return;const a={name:"Set Tree Height",timestamp:Date.now(),oldValue:o,newValue:r,changedElementId:t.id,changedElementType:t.type,undo:()=>{e(a.changedElementId,a.oldValue)},redo:()=>{e(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),e(t.id,r),M.getState().set(l=>{l.actionState.treeHeight=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[O.t("word.Height",n)+" ("+O.t("word.MeterAbbreviation",n)+")",":"]}),h.jsx(Hn,{style:{width:"160px"},min:1,max:30,step:1,precision:1,value:o,onChange:i})]})},{Option:_a}=Yo,Vco=Se.memo(({human:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Human&&u.id===l){const d=u;d.name=s,d.lx=Ip.fetchWidth(s),d.lz=Ip.fetchHeight(s);break}})};return h.jsxs(Yo,{style:{width:"140px"},value:(t==null?void 0:t.name)??Yt.Jack,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change People",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.humanName=l}),i(!o)}}},children:[h.jsxs(_a,{value:Yt.Jack,children:[h.jsx("img",{alt:Yt.Jack,src:AUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jack",r)]},Yt.Jack),h.jsxs(_a,{value:Yt.Jacob,children:[h.jsx("img",{alt:Yt.Jacob,src:wUe,height:20,style:{paddingRight:"16px"}})," ",O.t("people.Jacob",r)]},Yt.Jacob),h.jsxs(_a,{value:Yt.Jacqueline,children:[h.jsx("img",{alt:Yt.Jacqueline,src:vUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jacqueline",r)]},Yt.Jacqueline),h.jsxs(_a,{value:Yt.Jaah,children:[h.jsx("img",{alt:Yt.Jaah,src:yUe,height:20,style:{paddingRight:"19px"}})," ",O.t("people.Jaah",r)]},Yt.Jaah),h.jsxs(_a,{value:Yt.Jade,children:[h.jsx("img",{alt:Yt.Jade,src:xUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jade",r)]},Yt.Jade),h.jsxs(_a,{value:Yt.Jamelia,children:[h.jsx("img",{alt:Yt.Jamelia,src:bUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jamelia",r)]},Yt.Jamelia),h.jsxs(_a,{value:Yt.James,children:[h.jsx("img",{alt:Yt.James,src:SUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.James",r)]},Yt.James),h.jsxs(_a,{value:Yt.Jane,children:[h.jsx("img",{alt:Yt.Jane,src:TUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jane",r)]},Yt.Jane),h.jsxs(_a,{value:Yt.Jaya,children:[h.jsx("img",{alt:Yt.Jaya,src:PUe,height:20,style:{paddingRight:"19px"}})," ",O.t("people.Jaya",r)]},Yt.Jaya),h.jsxs(_a,{value:Yt.Jaye,children:[h.jsx("img",{alt:Yt.Jaye,src:CUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jaye",r)]},Yt.Jaye),h.jsxs(_a,{value:Yt.Jeanette,children:[h.jsx("img",{alt:Yt.Jeanette,src:RUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jeanette",r)]},Yt.Jeanette),h.jsxs(_a,{value:Yt.Jedi,children:[h.jsx("img",{alt:Yt.Jedi,src:HUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jedi",r)]},Yt.Jedi),h.jsxs(_a,{value:Yt.Jeff,children:[h.jsx("img",{alt:Yt.Jeff,src:MUe,height:20,style:{paddingRight:"19px"}})," ",O.t("people.Jeff",r)]},Yt.Jeff),h.jsxs(_a,{value:Yt.Jena,children:[h.jsx("img",{alt:Yt.Jena,src:IUe,height:20,style:{paddingRight:"19px"}})," ",O.t("people.Jena",r)]},Yt.Jena),h.jsxs(_a,{value:Yt.Jennifer,children:[h.jsx("img",{alt:Yt.Jennifer,src:zUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jennifer",r)]},Yt.Jennifer),h.jsxs(_a,{value:Yt.Jess,children:[h.jsx("img",{alt:Yt.Jess,src:DUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jess",r)]},Yt.Jess),h.jsxs(_a,{value:Yt.Jett,children:[h.jsx("img",{alt:Yt.Jett,src:EUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Jett",r)]},Yt.Jett),h.jsxs(_a,{value:Yt.Jill,children:[h.jsx("img",{alt:Yt.Jill,src:kUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jill",r)]},Yt.Jill),h.jsxs(_a,{value:Yt.Jiya,children:[h.jsx("img",{alt:Yt.Jiya,src:FUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jiya",r)]},Yt.Jiya),h.jsxs(_a,{value:Yt.Joan,children:[h.jsx("img",{alt:Yt.Joan,src:LUe,height:20,style:{paddingRight:"8px"}})," ",O.t("people.Joan",r)]},Yt.Joan),h.jsxs(_a,{value:Yt.Jocelyn,children:[h.jsx("img",{alt:Yt.Jocelyn,src:WUe,height:20,style:{paddingRight:"23px"}})," ",O.t("people.Jocelyn",r)]},Yt.Jocelyn),h.jsxs(_a,{value:Yt.Joel,children:[h.jsx("img",{alt:Yt.Joel,src:NUe,height:20,style:{paddingRight:"7px"}})," ",O.t("people.Joel",r)]},Yt.Joel),h.jsxs(_a,{value:Yt.Joey,children:[h.jsx("img",{alt:Yt.Joey,src:UUe,height:20,style:{paddingRight:"22px"}})," ",O.t("people.Joey",r)]},Yt.Joey),h.jsxs(_a,{value:Yt.John,children:[h.jsx("img",{alt:Yt.John,src:BUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.John",r)]},Yt.John),h.jsxs(_a,{value:Yt.Jonathon,children:[h.jsx("img",{alt:Yt.Jonathon,src:jUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Jonathon",r)]},Yt.Jonathon),h.jsxs(_a,{value:Yt.Jose,children:[h.jsx("img",{alt:Yt.Jose,src:YUe,height:20,style:{paddingRight:"5px"}})," ",O.t("people.Jose",r)]},Yt.Jose),h.jsxs(_a,{value:Yt.Joseph,children:[h.jsx("img",{alt:Yt.Joseph,src:OUe,height:20,style:{paddingRight:"22px"}})," ",O.t("people.Joseph",r)]},Yt.Joseph),h.jsxs(_a,{value:Yt.Joshua,children:[h.jsx("img",{alt:Yt.Joshua,src:_Ue,height:20,style:{paddingRight:"22px"}})," ",O.t("people.Joshua",r)]},Yt.Joshua),h.jsxs(_a,{value:Yt.Judd,children:[h.jsx("img",{alt:Yt.Judd,src:VUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Judd",r)]},Yt.Judd),h.jsxs(_a,{value:Yt.Judy,children:[h.jsx("img",{alt:Yt.Judy,src:GUe,height:20,style:{paddingRight:"21px"}})," ",O.t("people.Judy",r)]},Yt.Judy),h.jsxs(_a,{value:Yt.Julia,children:[h.jsx("img",{alt:Yt.Julia,src:XUe,height:20,style:{paddingRight:"22px"}})," ",O.t("people.Julia",r)]},Yt.Julia),h.jsxs(_a,{value:Yt.Julio,children:[h.jsx("img",{alt:Yt.Julio,src:JUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Julio",r)]},Yt.Julio),h.jsxs(_a,{value:Yt.Jumapili,children:[h.jsx("img",{alt:Yt.Jumapili,src:KUe,height:20,style:{paddingRight:"16px"}})," ",O.t("people.Jumapili",r)]},Yt.Jumapili),h.jsxs(_a,{value:Yt.June,children:[h.jsx("img",{alt:Yt.June,src:qUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.June",r)]},Yt.June),h.jsxs(_a,{value:Yt.Juro,children:[h.jsx("img",{alt:Yt.Juro,src:$Ue,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Juro",r)]},Yt.Juro),h.jsxs(_a,{value:Yt.Justin,children:[h.jsx("img",{alt:Yt.Justin,src:QUe,height:20,style:{paddingRight:"20px"}})," ",O.t("people.Justin",r)]},Yt.Justin)]})}),Gco=t=>{const e=[];if(t.type!==z.Human)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().viewState.orthographic??!1;return e.push({key:"human-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"human-cut",label:h.jsx(Tf,{})}),e.push({key:"human-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"human-flip",label:h.jsx(t9e,{billboardModel:n})}),r||e.push({key:"human-move-view",label:h.jsx(jco,{human:n})}),o&&e.push({key:"human-obserber",label:h.jsx(Bco,{human:n})}),o&&e.push({key:"human-selection",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"120px"},children:[O.t("peopleMenu.ChangePerson",i),": "]}),h.jsx(Vco,{human:n})]})}),{items:e}},{Option:Gd}=Yo,Xco=Se.memo(({flower:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Flower&&u.id===l){const d=u;d.name=s,d.lx=cw.fetchSpread(s),d.lz=cw.fetchHeight(s);break}})};return h.jsxs(Yo,{style:{width:"200px"},value:(t==null?void 0:t.name)??$n.WhiteFlower,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change Flower",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.flowerType=l}),i(!o)}}},children:[h.jsxs(Gd,{value:$n.WhiteFlower,children:[h.jsx("img",{alt:$n.WhiteFlower,src:sBe,height:20,style:{paddingRight:"17px"}})," ",O.t("flower.WhiteFlower",r)]},$n.WhiteFlower),h.jsxs(Gd,{value:$n.YellowFlower,children:[h.jsx("img",{alt:$n.YellowFlower,src:cBe,height:20,style:{paddingRight:"16px"}})," ",O.t("flower.YellowFlower",r)]},$n.YellowFlower),h.jsxs(Gd,{value:$n.Hibiscus,children:[h.jsx("img",{alt:$n.Hibiscus,src:eBe,height:20,style:{paddingRight:"19px"}})," ",O.t("flower.Hibiscus",r)]},$n.Hibiscus),h.jsxs(Gd,{value:$n.Hydrangea,children:[h.jsx("img",{alt:$n.Hydrangea,src:tBe,height:20,style:{paddingRight:"18px"}})," ",O.t("flower.Hydrangea",r)]},$n.Hydrangea),h.jsxs(Gd,{value:$n.Spirea,children:[h.jsx("img",{alt:$n.Spirea,src:rBe,height:20,style:{paddingRight:"18px"}})," ",O.t("flower.Spirea",r)]},$n.Spirea),h.jsxs(Gd,{value:$n.Hosta,children:[h.jsx("img",{alt:$n.Hosta,src:nBe,height:20,style:{paddingRight:"18px"}})," ",O.t("flower.Hosta",r)]},$n.Hosta),h.jsxs(Gd,{value:$n.Peony,children:[h.jsx("img",{alt:$n.Peony,src:oBe,height:20,style:{paddingRight:"17px"}})," ",O.t("flower.Peony",r)]},$n.Peony),h.jsxs(Gd,{value:$n.Boxwood,children:[h.jsx("img",{alt:$n.Boxwood,src:hce,height:20,style:{paddingRight:"23px"}})," ",O.t("flower.Boxwood",r)]},$n.Boxwood),h.jsxs(Gd,{value:$n.TallBush,children:[h.jsx("img",{alt:$n.TallBush,src:Ace,height:20,style:{paddingRight:"32px"}})," ",O.t("flower.TallBush",r)]},$n.TallBush),h.jsxs(Gd,{value:$n.CactusCombo1,children:[h.jsx("img",{alt:$n.CactusCombo1,src:pce,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.CactusCombo1",r)]},$n.CactusCombo1),h.jsxs(Gd,{value:$n.CactusCombo2,children:[h.jsx("img",{alt:$n.CactusCombo2,src:gce,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.CactusCombo2",r)]},$n.CactusCombo2),h.jsxs(Gd,{value:$n.CactusCombo3,children:[h.jsx("img",{alt:$n.CactusCombo3,src:mce,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.CactusCombo3",r)]},$n.CactusCombo3),h.jsxs(Gd,{value:$n.CactusCombo4,children:[h.jsx("img",{alt:$n.CactusCombo4,src:yce,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.CactusCombo4",r)]},$n.CactusCombo4),h.jsxs(Gd,{value:$n.RedRose,children:[h.jsx("img",{alt:$n.RedRose,src:iBe,height:20,style:{paddingRight:"26px"}})," ",O.t("flower.RedRose",r)]},$n.RedRose),h.jsxs(Gd,{value:$n.Bellflower,children:[h.jsx("img",{alt:$n.Bellflower,src:ZUe,height:20,style:{paddingRight:"20px"}})," ",O.t("flower.Bellflower",r)]},$n.Bellflower),h.jsxs(Gd,{value:$n.Sunflower,children:[h.jsx("img",{alt:$n.Sunflower,src:aBe,height:20,style:{paddingRight:"32px"}})," ",O.t("flower.Sunflower",r)]},$n.Sunflower),h.jsxs(Gd,{value:$n.Tulip,children:[h.jsx("img",{alt:$n.Tulip,src:lBe,height:20,style:{paddingRight:"24px"}})," ",O.t("flower.Tulip",r)]},$n.Tulip)]})}),Jco=t=>{const e=[];if(t.type!==z.Flower)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"flower-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"flower-cut",label:h.jsx(Tf,{})}),e.push({key:"flower-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"flower-flip",label:h.jsx(t9e,{billboardModel:n})}),o&&e.push({key:"flower-change-type",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"60px"},children:[O.t("flowerMenu.Type",i),": "]}),h.jsx(Xco,{flower:n})]})}),{items:e}},Kco=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.filled=r;break}})},o=i=>{const r={name:"Fill Polygon",timestamp:Date.now(),checked:!t.filled,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.filled,onChange:o,children:O.t("polygonMenu.Filled",e)})})},qco=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.shininess=r;break}})},o=i=>{const a={name:"Shiny Polygon",timestamp:Date.now(),checked:((t==null?void 0:t.shininess)??0)>0,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,a.checked?0:100)},redo:()=>{n(t.id,a.checked?100:0)}};M.getState().addUndoable(a),n(t.id,i.target.checked?100:0)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.shininess,onChange:o,children:O.t("polygonMenu.Shiny",e)})})},$co=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.noOutline=r;break}})},o=i=>{const r={name:"No Outline for Polygon",timestamp:Date.now(),checked:!t.noOutline,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.noOutline,onChange:o,children:O.t("polygonMenu.NoOutline",e)})})},Qco=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.text)??""),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.text=l);break}})},r=()=>{const a={name:"Set Text for Polygon",timestamp:Date.now(),oldValue:t.text??"",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("word.Text",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},Zco=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontSize)??1),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontSize=l);break}})},r=()=>{const a={name:"Set Font Size for Polygon",timestamp:Date.now(),oldValue:t.fontSize??1,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("word.FontSize",e),":"]}),min:.1,max:5,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},e0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontColor)??"black"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontColor=l);break}})},r=()=>{const a={name:"Set Font Color for Polygon",timestamp:Date.now(),oldValue:t.fontColor??"black",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("word.FontColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},t0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontOutlineColor)??"white"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontOutlineColor=l);break}})},r=()=>{const a={name:"Set Font Outline Color for Polygon",timestamp:Date.now(),oldValue:t.fontOutlineColor??"white",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("polygonMenu.FontOutlineColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},n0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontOutlineWidth)??0),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontOutlineWidth=l);break}})},r=()=>{const a={name:"Set Font Outline Width for Polygon",timestamp:Date.now(),oldValue:t.fontOutlineWidth??0,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("polygonMenu.FontOutlineWidth",e),":"]}),min:0,max:1,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},o0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontStrokeColor)??"black"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontStrokeColor=l);break}})},r=()=>{const a={name:"Set Font Stroke Color for Polygon",timestamp:Date.now(),oldValue:t.fontStrokeColor??"black",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("polygonMenu.FontStrokeColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},i0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontStrokeWidth)??0),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontStrokeWidth=l);break}})},r=()=>{const a={name:"Set Font Stroke Width for Polygon",timestamp:Date.now(),oldValue:t.fontStrokeWidth??0,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ry,{width:"120px",children:[O.t("polygonMenu.FontStrokeWidth",e),":"]}),min:0,max:1,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},r0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(rr),i=M(xwt),r=M(bwt),a=M(Swt),l=M(Twt),s=M(En),c=M(xH),u=M(bH),d=M(ro),f=M(oo),p=co(z.Polygon),[g,y]=m.useState((p==null?void 0:p.lineColor)??"black"),A=Kt(),x=T=>{u(T.target.value)},C=T=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const P of e)if(P.type===z.Polygon&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&T!==P.lineColor)return!0;break;case ue.AllObjectsOfThisType:for(const P of e)if(P.type===z.Polygon&&!P.locked&&T!==P.lineColor)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const P of e)if(P.type===z.Polygon&&P.parentId===p.parentId&&be.isIdentical(P.normal,p.normal)&&!P.locked&&P.lineColor!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of e)if(P.type===z.Polygon&&P.foundationId===(p==null?void 0:p.foundationId)&&!P.locked&&P.lineColor!==T)return!0;break;default:if(T!==(p==null?void 0:p.lineColor))return!0}return!1}},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Polygon&&!H.locked&&T.has(H.id)&&(H.lineColor=P)})},v=T=>{if(p&&C(T))switch(c){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Polygon&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for Selected Polygons",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{b(R.oldValues,R.newValue)}};s(R),b(P,T),f(d+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Polygon&&P.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for All Polygons",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{l(z.Polygon,R.newValue)}};s(R),l(z.Polygon,T),f(d+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const R=new Map;for(const D of e)D.type===z.Polygon&&D.parentId===p.parentId&&be.isIdentical(D.normal,p.normal)&&R.set(D.id,D.lineColor??"gray");const H={name:"Set Line Color for All Polygons on Same Surface",timestamp:Date.now(),oldValues:R,newValue:T,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{H.groupId&&r(z.Polygon,H.groupId,H.normal,H.newValue)}};s(H),r(z.Polygon,p.parentId,p.normal,T),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const P=new Map;for(const H of e)H.type===z.Polygon&&H.foundationId===p.foundationId&&P.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for All Polygons Above Foundation",timestamp:Date.now(),oldValues:P,newValue:T,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&a(z.Polygon,R.groupId,R.newValue)}};s(R),a(z.Polygon,p.foundationId,T),f(d+1)}break}default:{const P=n(p.id),R=P?P.lineColor:p.lineColor,H={name:"Set Line Color of Selected Polygon",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,T),f(d+1);break}}},S=()=>{t(!1)},w=()=>{v(g)};return h.jsx(lo,{width:600,title:O.t("polygonMenu.LineColor",A),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:g??(p==null?void 0:p.lineColor)??"black",onChangeComplete:T=>{y(T.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:x,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",A)})]})})})]})})},a0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(xH),l=M(bH),s=M(ro),c=M(oo),u=co(z.Polygon),[d,f]=m.useState((u==null?void 0:u.lineStyle)??Oh.Solid),p=Kt(),{Option:g}=Yo,y=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.Polygon&&E.id===R){E.lineStyle=H;break}})},A=(R,H,D)=>{e(E=>{for(const L of E.elements)L.type===z.Polygon&&L.parentId===R&&be.isIdentical(L.normal,H)&&!L.locked&&(L.lineStyle=D)})},x=(R,H)=>{e(D=>{for(const E of D.elements)E.type===z.Polygon&&E.foundationId===R&&!E.locked&&(E.lineStyle=H)})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&(D.lineStyle=R)})},b=R=>{l(R.target.value)},v=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const H of n)if(H.type===z.Polygon&&H.parentId===u.parentId&&be.isIdentical(H.normal,u.normal)&&!H.locked&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.Polygon&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&R!==H.lineStyle)return!0;break;default:if(R!==(u==null?void 0:u.lineStyle))return!0}return!1}},S=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)E.type===z.Polygon&&!E.locked&&R.has(E.id)&&(E.lineStyle=H)})},w=R=>{if(u&&v(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Polygon&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.lineStyle??Oh.Solid);const D={name:"Set Line Style for Selected Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{S(D.oldValues,D.newValue)}};r(D),S(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Polygon&&H.set(E.id,E.lineStyle??Oh.Solid);const D={name:"Set Line Style for All Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(i(u)){const D=new Map;for(const L of n)L.type===z.Polygon&&L.parentId===u.parentId&&be.isIdentical(L.normal,u.normal)&&D.set(L.id,L.lineStyle??Oh.Solid);const E={name:"Set Line Style for All Polygons on Same Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:u.normal,undo:()=>{for(const[L,U]of E.oldValues.entries())y(L,U)},redo:()=>{E.groupId&&A(E.groupId,E.normal,E.newValue)}};r(E),A(u.parentId,u.normal,R),c(s+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const E of n)E.type===z.Polygon&&E.foundationId===u.foundationId&&H.set(E.id,E.lineStyle??Oh.Solid);const D={name:"Set Line Style for All Polygons Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{D.groupId&&x(D.groupId,D.newValue)}};r(D),x(u.foundationId,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.lineStyle:u.lineStyle,E={name:"Set Line Style of Selected Polygon",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{y(E.changedElementId,E.oldValue)},redo:()=>{y(E.changedElementId,E.newValue)}};r(E),y(u.id,R),c(s+1);break}}},T=()=>{t(!1)},P=()=>{w(d)};return h.jsx(lo,{width:600,title:O.t("polygonMenu.LineStyle",p),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"200px"},value:d,onChange:R=>f(R),children:[h.jsxs(g,{value:Oh.Solid,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px solid dimGray"},children:" "}),O.t("polygonMenu.SolidLine",p)]},Oh.Solid),h.jsxs(g,{value:Oh.Dashed,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px dashed dimGray"},children:" "}),O.t("polygonMenu.DashedLine",p)]},Oh.Dashed),h.jsxs(g,{value:Oh.Dotted,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px dotted dimGray"},children:" "}),O.t("polygonMenu.DottedLine",p)]},Oh.Dotted)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",p)})]})})})]})})},l0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(rr),i=M(Pwt),r=M(Cwt),a=M(Rwt),l=M(Hwt),s=M(En),c=M(xH),u=M(bH),d=M(ro),f=M(oo),p=co(z.Polygon),[g,y]=m.useState((p==null?void 0:p.lineWidth)??1),A=Kt(),{Option:x}=Yo,C=P=>{u(P.target.value)},b=P=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const R of e)if(R.type===z.Polygon&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&P!==R.lineWidth)return!0;break;case ue.AllObjectsOfThisType:for(const R of e)if(R.type===z.Polygon&&!R.locked&&P!==R.lineWidth)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const R of e)if(R.type===z.Polygon&&R.parentId===p.parentId&&be.isIdentical(R.normal,p.normal)&&!R.locked&&R.lineWidth!==P)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of e)if(R.type===z.Polygon&&R.foundationId===(p==null?void 0:p.foundationId)&&!R.locked&&R.lineWidth!==P)return!0;break;default:if(P!==(p==null?void 0:p.lineWidth))return!0}return!1}},v=(P,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&P.has(D.id)&&(D.lineWidth=R)})},S=P=>{if(p&&b(P))switch(c){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Polygon&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for Selected Polygons",timestamp:Date.now(),oldValues:R,newValue:P,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{v(H.oldValues,H.newValue)}};s(H),v(R,P),f(d+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Polygon&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for All Polygons",timestamp:Date.now(),oldValues:R,newValue:P,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{l(z.Polygon,H.newValue)}};s(H),l(z.Polygon,P),f(d+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const H=new Map;for(const E of e)E.type===z.Polygon&&E.parentId===p.parentId&&be.isIdentical(E.normal,p.normal)&&H.set(E.id,E.lineWidth??1);const D={name:"Set Line Width for All Polygons on Same Surface",timestamp:Date.now(),oldValues:H,newValue:P,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.Polygon,D.groupId,D.normal,D.newValue)}};s(D),r(z.Polygon,p.parentId,p.normal,P),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const R=new Map;for(const D of e)D.type===z.Polygon&&D.foundationId===p.foundationId&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for All Polygons Above Foundation",timestamp:Date.now(),oldValues:R,newValue:P,groupId:p.foundationId,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{H.groupId&&a(z.Polygon,H.groupId,H.newValue)}};s(H),a(z.Polygon,p.foundationId,P),f(d+1)}break}default:{const R=n(p.id),H=R?R.lineWidth:p.lineWidth,D={name:"Set Line Width of Selected Polygon",timestamp:Date.now(),oldValue:H,newValue:P,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(D.changedElementId,D.oldValue)},redo:()=>{i(D.changedElementId,D.newValue)}};s(D),i(p.id,P),f(d+1);break}}},w=()=>{t(!1)},T=()=>{S(g),t(!1),f(0)};return h.jsx(lo,{width:560,title:O.t("polygonMenu.LineWidth",A),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"200px"},value:g,onChange:P=>y(P),children:[h.jsx(x,{value:_y.One,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"1px solid dimGray"}})},_y.One),h.jsx(x,{value:_y.Two,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"2px solid dimGray"}})},_y.Two),h.jsx(x,{value:_y.Three,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"3px solid dimGray"}})},_y.Three),h.jsx(x,{value:_y.Four,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"4px solid dimGray"}})},_y.Four),h.jsx(x,{value:_y.Five,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"5px solid dimGray"}})},_y.Five)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:C,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",A)})]})})})]})})},s0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(rr),i=M(ZBe),r=M(wwt),a=M(vwt),l=M(eje),s=M(En),c=M(xH),u=M(bH),d=M(ro),f=M(oo),p=co(z.Polygon),[g,y]=m.useState((p==null?void 0:p.color)??"gray"),A=Kt(),x=T=>{u(T.target.value)},C=T=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const P of e)if(P.type===z.Polygon&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&T!==P.color)return!0;break;case ue.AllObjectsOfThisType:for(const P of e)if(P.type===z.Polygon&&!P.locked&&T!==P.color)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of e)if(P.type===z.Polygon&&P.foundationId===p.foundationId&&!P.locked&&P.color!==T)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const P of e)if(P.type===z.Polygon&&P.parentId===p.parentId&&be.isIdentical(P.normal,p.normal)&&!P.locked&&P.color!==T)return!0;break;default:if(T!==p.color)return!0}return!1}},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Polygon&&!H.locked&&T.has(H.id)&&(H.color=P)})},v=T=>{if(p&&C(T))switch(c){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Polygon&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,H.color??"gray");const R={name:"Set Fill Color for Selected Polygons",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{b(R.oldValues,R.newValue)}};s(R),b(P,T),f(d+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of e)H.type===z.Polygon&&P.set(H.id,H.color??"gray");const R={name:"Set Fill Color for All Polygons",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{l(z.Polygon,R.newValue)}};s(R),l(z.Polygon,T),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const P=new Map;for(const H of e)H.type===z.Polygon&&H.foundationId===p.foundationId&&P.set(H.id,H.color??"gray");const R={name:"Set Fill Color for All Polygons Above Foundation",timestamp:Date.now(),oldValues:P,newValue:T,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&a(z.Polygon,R.groupId,R.newValue)}};s(R),a(z.Polygon,p.foundationId,T),f(d+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const R=new Map;for(const D of e)D.type===z.Polygon&&D.parentId===p.parentId&&be.isIdentical(D.normal,p.normal)&&R.set(D.id,D.color??"gray");const H={name:"Set Fill Color for All Polygons on Same Surface",timestamp:Date.now(),oldValues:R,newValue:T,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[D,E]of H.oldValues.entries())i(D,E)},redo:()=>{H.groupId&&r(z.Polygon,H.groupId,H.normal,H.newValue)}};s(H),r(z.Polygon,p.parentId,p.normal,T),f(d+1)}break}default:{const P=n(p.id),R=P?P.color:p.color,H={name:"Set Fill Color of Selected Polygon",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,T),f(d+1);break}}},S=()=>{t(!1)},w=()=>{v(g)};return h.jsx(lo,{width:600,title:O.t("polygonMenu.FillColor",A),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:g??(p==null?void 0:p.color)??"gray",onChangeComplete:T=>{y(T.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:x,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",A)})]})})})]})})},c0o="/aladdin/assets/polygon_08_menu-RpvWW3pg.png",u0o="/aladdin/assets/polygon_09_menu-CCH8lYni.png",d0o="/aladdin/assets/polygon_10_menu-BYFeRpsw.png",f0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(xH),l=M(bH),s=M(ro),c=M(oo),u=co(z.Polygon),[d,f]=m.useState((u==null?void 0:u.textureType)??qi.NoTexture),p=Kt(),{Option:g}=Yo,y=(R,H)=>{e(D=>{for(const E of D.elements)if(E.id===R&&E.type===z.Polygon&&!E.locked){E.textureType=H;break}})},A=(R,H,D)=>{e(E=>{for(const L of E.elements)L.type===z.Polygon&&L.parentId===R&&be.isIdentical(L.normal,H)&&!L.locked&&(L.textureType=D)})},x=(R,H)=>{e(D=>{for(const E of D.elements)E.type===z.Polygon&&E.foundationId===R&&!E.locked&&(E.textureType=H)})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&(D.textureType=R)})},b=R=>{l(R.target.value)},v=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&R!==H.textureType)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&R!==H.textureType)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const H of n)if(H.type===z.Polygon&&H.parentId===u.parentId&&be.isIdentical(H.normal,u.normal)&&!H.locked&&H.textureType!==R)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.Polygon&&H.foundationId===u.foundationId&&!H.locked&&H.textureType!==R)return!0;break;default:if(R!==(u==null?void 0:u.textureType))return!0}return!1}},S=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)E.type===z.Polygon&&!E.locked&&R.has(E.id)&&(E.textureType=H)})},w=R=>{if(u&&v(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Polygon&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.textureType??qi.NoTexture);const D={name:"Set Texture for Selected Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{S(D.oldValues,D.newValue)}};r(D),S(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Polygon&&H.set(E.id,E.textureType??qi.NoTexture);const D={name:"Set Texture for All Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(i(u)){const D=new Map;for(const L of n)L.type===z.Polygon&&L.parentId===u.parentId&&be.isIdentical(L.normal,u.normal)&&D.set(L.id,L.textureType??qi.NoTexture);const E={name:"Set Texture for All Polygons on Same Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:u.normal,undo:()=>{for(const[L,U]of E.oldValues.entries())y(L,U)},redo:()=>{E.groupId&&A(E.groupId,E.normal,E.newValue)}};r(E),A(u.parentId,u.normal,R),c(s+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const E of n)E.type===z.Polygon&&E.foundationId===u.foundationId&&H.set(E.id,E.textureType??qi.NoTexture);const D={name:"Set Texture for All Polygons Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())y(E,L)},redo:()=>{D.groupId&&x(D.groupId,D.newValue)}};r(D),x(u.foundationId,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.textureType:u.textureType,E={name:"Set Texture of Selected Polygon",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{y(E.changedElementId,E.oldValue)},redo:()=>{y(E.changedElementId,E.newValue)}};r(E),y(u.id,R),c(s+1);break}}},T=()=>{t(!1)},P=()=>{w(d)};return h.jsx(lo,{width:500,title:O.t("polygonMenu.FillTexture",p),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"150px"},value:d,onChange:R=>f(R),children:[h.jsxs(g,{value:qi.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",p)]},qi.NoTexture),h.jsxs(g,{value:qi.Texture01,children:[h.jsx("img",{alt:qi.Texture01,src:Dtt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture01",p)]},qi.Texture01),h.jsxs(g,{value:qi.Texture02,children:[h.jsx("img",{alt:qi.Texture02,src:Ett,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture02",p)]},qi.Texture02),h.jsxs(g,{value:qi.Texture03,children:[h.jsx("img",{alt:qi.Texture03,src:ktt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture03",p)]},qi.Texture03),h.jsxs(g,{value:qi.Texture04,children:[h.jsx("img",{alt:qi.Texture04,src:Ftt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture04",p)]},qi.Texture04),h.jsxs(g,{value:qi.Texture05,children:[h.jsx("img",{alt:qi.Texture05,src:Ltt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture05",p)]},qi.Texture05),h.jsxs(g,{value:qi.Texture06,children:[h.jsx("img",{alt:qi.Texture06,src:Wtt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture06",p)]},qi.Texture06),h.jsxs(g,{value:qi.Texture07,children:[h.jsx("img",{alt:qi.Texture07,src:Ntt,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture07",p)]},qi.Texture07),h.jsxs(g,{value:qi.Texture08,children:[h.jsx("img",{alt:qi.Texture08,src:c0o,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture08",p)]},qi.Texture08),h.jsxs(g,{value:qi.Texture09,children:[h.jsx("img",{alt:qi.Texture09,src:u0o,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture09",p)]},qi.Texture09),h.jsxs(g,{value:qi.Texture10,children:[h.jsx("img",{alt:qi.Texture10,src:d0o,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("polygonMenu.Texture10",p)]},qi.Texture10)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",p)})]})})})]})})},h0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(xH),i=M(bH),r=M(ro),a=M(oo),l=M(jn),s=M(dn),c=co(z.Polygon),[u,d]=m.useState((c==null?void 0:c.opacity)!==void 0?c.opacity:1),f=Kt(),p=(v,S)=>{s(w=>{for(const T of w.elements)if(T.id===v){T.opacity=S;break}})},g=v=>{for(const[S,w]of v.entries())p(S,w)},y=(v,S)=>{for(const w of v.keys())p(w,S)},A=v=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Polygon&&v!==S.opacity&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break;case ue.AllObjectsOfThisType:for(const S of e)if(S.type===z.Polygon&&v!==S.opacity&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of e)if(S.type===z.Polygon&&S.foundationId===c.foundationId&&v!==S.opacity&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const S of e)if(S.type===z.Polygon&&S.parentId===c.parentId&&be.isIdentical(S.normal,c.normal)&&v!==S.opacity&&!S.locked)return!0;break;default:if(v!==(c==null?void 0:c.opacity))return!0;break}return!1}},x=v=>{if(c&&A(v))switch(o){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of e)if(T.type===z.Polygon&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const P=T;S.set(T.id,P.opacity),p(P.id,v)}const w={name:"Set Opacity for Selected Polygons",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{g(w.oldValues)},redo:()=>{y(w.oldValues,w.newValue)}};n(w),a(r+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of e)if(T.type===z.Polygon&&!T.locked){const P=T;S.set(T.id,P.opacity),p(P.id,v)}const w={name:"Set Opacity for All Polygons",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{g(w.oldValues)},redo:()=>{y(w.oldValues,w.newValue)}};n(w),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(c.foundationId){const S=new Map;for(const T of e)if(T.type===z.Polygon&&T.foundationId===c.foundationId&&!T.locked){const P=T;S.set(T.id,P.opacity),p(P.id,v)}const w={name:"Set Opacity for All Polygons Above Foundation",timestamp:Date.now(),oldValues:S,newValue:v,groupId:c.foundationId,undo:()=>{g(w.oldValues)},redo:()=>{y(w.oldValues,w.newValue)}};n(w),a(r+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{if(c.parentId){const S=new Map;for(const T of e)if(T.type===z.Polygon&&T.parentId===c.parentId&&be.isIdentical(T.normal,c.normal)&&!T.locked){const P=T;S.set(T.id,P.opacity),p(P.id,v)}const w={name:"Set Opacity for All Polygons Above Foundation",timestamp:Date.now(),oldValues:S,newValue:v,groupId:c.foundationId,undo:()=>{g(w.oldValues)},redo:()=>{y(w.oldValues,w.newValue)}};n(w),a(r+1)}break}default:if(c){const S=l(c.id),w=S.opacity!==void 0?S.opacity:c.opacity!==void 0?c.opacity:1,T={name:"Set Polygon Opacity",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:c.id,changedElementType:c.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};n(T),p(c.id,v),a(r+1);break}}},C=()=>{t(!1)},b=()=>{x(u)};return h.jsx(lo,{width:550,title:O.t("polygonMenu.Opacity",f),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.1,precision:1,value:u,formatter:v=>Number(v).toFixed(1),onChange:v=>d(v)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",f),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>i(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("polygonMenu.OnlyThisPolygon",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("polygonMenu.AllPolygonsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("polygonMenu.AllPolygonsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("polygonMenu.AllSelectedPolygons",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("polygonMenu.AllPolygons",f)})]})})})]})})};class FR{static create(e,n,o,i,r,a,l,s,c,u,d){if(n.type!==z.Foundation&&n.type!==z.Cuboid)throw new Error("base must be a foundation or cuboid");const f=[],p=be.calculatePolygonBounds(e.vertices),g=(i===ci.portrait?o.length:o.width)*a;if(s===Rl.upDown){const y=Math.floor(((p.maxX()-p.minX())*n.lx-g)/l),A=p.minX()+g/(2*n.lx)+d/n.lx,x=l/n.lx,C=.5*Math.abs(Math.cos(r))*g/n.lx,b={x:0,y:-.5},v={x:0,y:.5},S="rotation"in n?n.rotation:void 0;for(let w=0;w<=y;w++){const T=A+w*x;b.x=v.x=T-C;const P=be.polygonIntersections(b,v,e.vertices).sort((D,E)=>D.y-E.y);b.x=v.x=T+C;const R=be.polygonIntersections(b,v,e.vertices).sort((D,E)=>D.y-E.y),H=Math.max(P.length,R.length)/2;if(H>0)for(let D=0;DD.x-E.x);b.y=v.y=T+C;const R=be.polygonIntersections(b,v,e.vertices).sort((D,E)=>D.x-E.x),H=Math.max(P.length,R.length)/2;if(H>0)for(let D=0;D0)return rl.makeSolarPanel(s,c,a,(y+A)/2,s.type===z.Cuboid?.5:s.lz,ci.portrait,d,f,u,Vt,Po,r,void 0,x*s.ly,l)}static makeLeftRightSegment(e,n,o,i,r,a,l,s,c,u,d,f,p){const g=Math.abs(e.x-n.x)0)return rl.makeSolarPanel(s,c,(y+A)/2,a,s.type===z.Cuboid?.5:s.lz,ci.portrait,d,f,u,0,Po,r,void 0,x*s.lx,l)}}class p0o{static create(e,n,o,i,r,a,l,s,c,u,d){if(n.type!==z.Foundation&&n.type!==z.Cuboid)throw new Error("base must be a foundation or cuboid");const f=[],p=!be.isZero(n.rotation[2]),g=[];for(const b of e.vertices)g.push({x:b.x*n.lx+n.cx,y:b.y*n.ly+n.cy});const y=p?be.rotatePolygon(g,n.cx,n.cy,n.rotation[2]):g,A=be.calculatePolygonBounds(y),x=(i===ci.portrait?o.length:o.width)*a,C=.5*Math.abs(Math.cos(r))*x;if(s===Rl.eastWest){const b=A.maxY()-A.minY(),v=Math.floor((b-2*d-x)/l),S=A.minY()+x/2+d,w={x:A.minX(),y:0},T={x:A.maxX(),y:0};for(let P=0;P<=v;P++){const R=S+P*l;w.y=T.y=R-C;const H=be.polygonIntersections(w,T,y).sort((L,U)=>L.x-U.x);w.y=T.y=R+C;const D=be.polygonIntersections(w,T,y).sort((L,U)=>L.x-U.x),E=Math.max(H.length,D.length)/2;if(E>0)for(let L=0;L0){const ee=be.relativeCoordinates((j+Y)/2,R,0,n),$=rl.makeSolarPanel(n,o,ee.x,ee.y,n.type===z.Cuboid?.5:n.lz,ci.portrait,c,u,r,-n.rotation[2],Po,n.rotation,void 0,Q,x);$.referenceId=e.id,be.changeOrientation($,o,i),f.push($)}}}}else if(s===Rl.northSouth){const b=A.maxX()-A.minX(),v=Math.floor((b-2*d-x)/l),S=A.minX()+x/2+d,w={x:0,y:A.minY()},T={x:0,y:A.maxY()};for(let P=0;P<=v;P++){const R=S+P*l;w.x=T.x=R-C;const H=be.polygonIntersections(w,T,y).sort((L,U)=>L.y-U.y);w.x=T.x=R+C;const D=be.polygonIntersections(w,T,y).sort((L,U)=>L.y-U.y),E=Math.max(H.length,D.length)/2;if(E>0)for(let L=0;L0){const ee=be.relativeCoordinates(R,(_+J)/2,0,n),$=rl.makeSolarPanel(n,o,ee.x,ee.y,n.type===z.Cuboid?.5:n.lz,ci.portrait,c,u,r,-n.rotation[2]+Vt,Po,n.rotation,void 0,Q,x);$.referenceId=e.id,be.changeOrientation($,o,i),f.push($)}}}}return f}}const{Option:K8}=Yo,g0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M.getState().solarPanelArrayLayoutParams,i=M(xb),r=M(rr),a=M(C7),l=M(J2),s=M(hwt),c=M(Ywt),u=M(lge),d=M(jwt),f=M(En),p=M(ro),g=M(oo),y=M(ca),[A,x]=m.useState(!1),[C,b]=m.useState(!1),[v,S]=m.useState(!1),[w,T]=m.useState({left:0,top:0,bottom:0,right:0}),P=m.useRef(null),R=m.useRef(!0),H=m.useRef(null),D=m.useRef(null),E=m.useRef(!1),L=m.useRef(M($6t)),U=m.useRef(M(Q6t)),F=m.useRef(M(rAt)),W=m.useRef(M(iAt)),B=m.useRef(M(Z6t)),k=m.useRef(M(eAt)),N=m.useRef(M(tAt)??0),j=m.useRef(M(nAt)),Y=m.useRef(M(oAt)),_=Kt(),J=l(L.current),Q=i();m.useEffect(()=>{var de;(de=H.current)==null||de.focus()},[]),m.useEffect(()=>{var de;C&&((de=D.current)==null||de.focus())},[C]);const ee=(de,ve)=>{if(P.current){const{clientWidth:Pe,clientHeight:me}=window.document.documentElement,Re=P.current.getBoundingClientRect();T({left:-Re.left+ve.x,right:Pe-(Re.right-ve.x),top:-Re.top+ve.y,bottom:me-((Re==null?void 0:Re.bottom)-ve.y)})}},$=()=>{const de=(F.current===ci.portrait?J.length:J.width)*B.current;return .5*(de*Math.abs(Math.sin(W.current)))>j.current?(Lo(O.t("message.SolarPanelsCannotIntersectWithGround",_)),!1):de>k.current?(Lo(O.t("message.SolarPanelsCannotOverlapWithOneAnother",_)),!1):!0},q=de=>{const ve=n.filter(Pe=>Pe.type===z.SolarPanel&&Pe.parentId===de.parentId);if(ve.length>0)for(const Pe of ve)Pe.referenceId!==de.id&&be.isPointInside(Pe.cx,Pe.cy,de.vertices)&&s(Pe.id,de.id)},le=()=>{if((Q==null?void 0:Q.type)===z.Polygon){const de=r(Q);if(de){const ve=[],me=U.current===Rl.eastWest||U.current===Rl.northSouth?p0o.create(Q,de,J,F.current,W.current,B.current,k.current,U.current,j.current,Y.current,N.current):FR.create(Q,de,J,F.current,W.current,B.current,k.current,U.current,j.current,Y.current,N.current);if(me.length>0){for(const ze of me)ve.push(JSON.parse(JSON.stringify(ze))),e(Ae=>{Ae.elements.push(ze)});const Re={name:"Solar Panel Array Layout",timestamp:Date.now(),oldElements:M.getState().deletedElements,newElements:ve,oldParams:{pvModelName:o.pvModelName,rowAxis:o.rowAxis,orientation:o.orientation,tiltAngle:o.tiltAngle,rowsPerRack:o.rowsPerRack,interRowSpacing:o.interRowSpacing,poleHeight:o.poleHeight,poleSpacing:o.poleSpacing,margin:o.margin},newParams:{pvModelName:L.current,rowAxis:U.current,orientation:F.current,tiltAngle:W.current,rowsPerRack:B.current,interRowSpacing:k.current,poleHeight:j.current,poleSpacing:Y.current,margin:N.current},referenceId:Q.id,undo:()=>{u(Re.referenceId,!1),Re.oldElements.length>0&&e(ze=>{for(const Ae of Re.oldElements)ze.elements.push(Ae)}),ie(Re.oldParams),pe()},redo:()=>{u(Re.referenceId,!1),Re.newElements.length>0&&e(ze=>{for(const Ae of Re.newElements)ze.elements.push(Ae)}),ie(Re.newParams),pe()}};f(Re),g(p+1)}}R.current=!1,pe()}},ie=de=>{L.current=de.pvModelName,U.current=de.rowAxis,F.current=de.orientation,W.current=de.tiltAngle,B.current=de.rowsPerRack,k.current=de.interRowSpacing,j.current=de.poleHeight,Y.current=de.poleSpacing,N.current=de.margin??0},pe=()=>{e(de=>{de.solarPanelArrayLayoutParams.pvModelName=L.current,de.solarPanelArrayLayoutParams.rowAxis=U.current,de.solarPanelArrayLayoutParams.orientation=F.current,de.solarPanelArrayLayoutParams.tiltAngle=W.current,de.solarPanelArrayLayoutParams.rowsPerRack=B.current,de.solarPanelArrayLayoutParams.interRowSpacing=k.current,de.solarPanelArrayLayoutParams.poleHeight=j.current,de.solarPanelArrayLayoutParams.poleSpacing=Y.current,de.solarPanelArrayLayoutParams.margin=N.current})},ne=()=>{R.current&&($()?Q&&(q(Q),c(Q.id)>0?b(!0):(d(),le())):Lo(O.t("polygonMenu.LayoutNotAcceptedCheckYourParameters",_)))},Z=()=>{ne(),E.current=!1},he=()=>{t(!1),y(),R.current=!0,E.current=!1},fe=()=>{R.current?(ne(),E.current=!0):t(!1)},se=()=>{b(!1)},oe=()=>{Q&&(u(Q.id,!0),le(),E.current&&(t(!1),g(0))),b(!1)};return h.jsxs(h.Fragment,{children:[C&&h.jsx(_r,{width:400,open:C,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>S(!0),onMouseOut:()=>S(!1),children:O.t("word.Reminder",_)}),footer:[h.jsx(no,{onClick:se,children:O.t("word.Cancel",_)},"Cancel"),h.jsx(no,{type:"primary",ref:D,onClick:oe,children:O.t("word.OK",_)},"OK")],children:O.t("message.ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout",_)+" "+O.t("message.DoYouWantToContinue",_)}),h.jsxs(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>S(!0),onMouseOut:()=>S(!1),children:O.t("polygonMenu.SolarPanelArrayLayoutParametricDesign",_)}),footer:[h.jsx(no,{disabled:!R.current,onClick:Z,children:O.t("word.Apply",_)},"Apply"),h.jsx(no,{onClick:he,children:O.t("word.Cancel",_)},"Cancel"),h.jsx(no,{type:"primary",ref:H,onClick:fe,children:O.t("word.OK",_)},"OK")],onCancel:()=>{t(!1),R.current=!0},maskClosable:!1,destroyOnClose:!1,modalRender:de=>h.jsx(Vr,{disabled:!v,bounds:w,onStart:(ve,Pe)=>ee(ve,Pe),children:h.jsx("div",{ref:P,children:de})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayModel",_)+" ("+Object.keys(a).length+" "+O.t("word.Options",_)+"):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:L.current,onChange:de=>{de!==null&&(L.current=de,R.current=!0,x(!A))},children:Object.keys(a).map(de=>h.jsx(K8,{value:de,children:de+(a[de].bifacialityFactor>0?" ("+O.t("pvModelPanel.Bifacial",_)+")":"")},de))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayRowAxis",_)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsxs(Yo,{style:{width:"100%"},value:U.current,onChange:de=>{de!==null&&(U.current=de,R.current=!0,x(!A))},children:[h.jsx(K8,{value:Rl.leftRight,children:O.t("polygonMenu.SolarPanelArrayLeftRightRowAxis",_)},Rl.leftRight),h.jsx(K8,{value:Rl.upDown,children:O.t("polygonMenu.SolarPanelArrayUpDownRowAxis",_)},Rl.upDown),h.jsx(K8,{value:Rl.eastWest,children:O.t("polygonMenu.SolarPanelArrayEastWestRowAxis",_)},Rl.eastWest),h.jsx(K8,{value:Rl.northSouth,children:O.t("polygonMenu.SolarPanelArrayNorthSouthRowAxis",_)},Rl.northSouth)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayOrientation",_)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsxs(Yo,{style:{width:"100%"},value:F.current,onChange:de=>{de!==null&&(F.current=de,R.current=!0,x(!A))},children:[h.jsx(K8,{value:ci.portrait,children:O.t("solarPanelMenu.Portrait",_)},ci.portrait),h.jsx(K8,{value:ci.landscape,children:O.t("solarPanelMenu.Landscape",_)},ci.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayTiltAngle",_)+" ([-90°, 90°]): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:-90,max:90,style:{width:"100%"},precision:2,value:parseFloat(be.toDegrees(W.current).toFixed(2)),step:1,formatter:de=>`${de}°`,onChange:de=>{de!==null&&(W.current=be.toRadians(de),R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayRowWidth",_)+" ([1-100] "+O.t("solarPanelMenu.Panels",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:1,max:100,step:1,style:{width:"100%"},precision:0,formatter:de=>Number(de).toFixed(0),value:B.current,onChange:de=>{de!==null&&(B.current=de,R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayInterRowSpacing",_)+" ([1, 20] "+O.t("word.MeterAbbreviation",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:1,max:20,style:{width:"100%"},precision:2,value:k.current,step:.5,onChange:de=>{de!==null&&(k.current=de,R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayMargin",_)+" ([0, 5] "+O.t("word.MeterAbbreviation",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:0,max:5,style:{width:"100%"},precision:1,value:N.current,step:.1,onChange:de=>{de!==null&&(N.current=de,R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayPoleHeight",_)+" ([0, 10] "+O.t("word.MeterAbbreviation",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:0,max:10,style:{width:"100%"},precision:2,value:j.current,step:.1,onChange:de=>{de!==null&&(j.current=de,R.current=!0,x(!A))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("polygonMenu.SolarPanelArrayPoleSpacing",_)+" ([2, 50] "+O.t("word.MeterAbbreviation",_)+"): "}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:2,max:50,style:{width:"100%"},precision:2,value:Y.current,step:.5,onChange:de=>{de!==null&&(Y.current=de,R.current=!0,x(!A))}})})]})]})]})},{Option:Nh}=Yo,{TabPane:fae}=FW,m0o=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=gt(K2),r=M(C7),a=M(Z9),l=M(rr),s=M(Q9),c=M(pA).geneticAlgorithmParams,u=M(Eq),d=M(G8t),f=M(Iq),[p,g]=m.useState(!1),[y,A]=m.useState(!1),[x,C]=m.useState({left:0,top:0,bottom:0,right:0}),b=m.useRef(null),v=m.useRef(c.objectiveFunctionType),S=m.useRef(c.selectionMethod),w=m.useRef(c.searchMethod),T=m.useRef(c.populationSize),P=m.useRef(c.maximumGenerations),R=m.useRef(c.mutationRate),H=m.useRef(c.selectionRate??.5),D=m.useRef(c.crossoverRate??.5),E=m.useRef(c.convergenceThreshold),L=m.useRef(c.localSearchRadius),U=m.useRef(u.minimumTiltAngle??-Vt),F=m.useRef(u.maximumTiltAngle??Vt),W=m.useRef(u.minimumRowsPerRack),B=m.useRef(u.maximumRowsPerRack),k=m.useRef(u.minimumInterRowSpacing),N=m.useRef(u.maximumInterRowSpacing),j=m.useRef(null);m.useEffect(()=>{var oe;(oe=j.current)==null||oe.focus()},[]);const Y={lng:o},_=m.useRef(u.rowAxis??Rl.leftRight),J=a?l(a):void 0,Q=J?s(z.SolarPanel,J.id):void 0,ee=m.useRef(Q&&Q.length>0?Q[0].pvModelName:u.pvModelName??"CS6X-355P-FG"),$=m.useRef(Q&&Q.length>0?Q[0].orientation:u.orientation??ci.landscape),q=m.useRef(Q&&Q.length>0?Q[0].poleHeight:u.poleHeight??1),le=m.useRef(Q&&Q.length>0?Q[0].poleSpacing:u.poleSpacing??3),ie=m.useRef(u.margin??0),pe=m.useRef(f.electricitySellingPrice),ne=m.useRef(f.operationalCostPerUnit);m.useEffect(()=>{pe.current=f.electricitySellingPrice},[f.electricitySellingPrice]),m.useEffect(()=>{ne.current=f.operationalCostPerUnit},[f.operationalCostPerUnit]);const Z=(oe,de)=>{if(b.current){const{clientWidth:ve,clientHeight:Pe}=window.document.documentElement,me=b.current.getBoundingClientRect();C({left:-me.left+de.x,right:ve-(me.right-de.x),top:-me.top+de.y,bottom:Pe-((me==null?void 0:me.bottom)-de.y)})}},he=()=>{e(oe=>{oe.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_ARRAY,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.objectiveFunctionType=v.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionMethod=S.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.searchMethod=w.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.populationSize=T.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.maximumGenerations=P.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionRate=H.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.crossoverRate=D.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.mutationRate=R.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.convergenceThreshold=E.current,oe.evolutionaryAlgorithmState.geneticAlgorithmParams.localSearchRadius=L.current,oe.solarPanelArrayLayoutConstraints||(oe.solarPanelArrayLayoutConstraints=new GG),oe.solarPanelArrayLayoutConstraints.minimumRowsPerRack=W.current,oe.solarPanelArrayLayoutConstraints.maximumRowsPerRack=B.current,oe.solarPanelArrayLayoutConstraints.minimumTiltAngle=U.current,oe.solarPanelArrayLayoutConstraints.maximumTiltAngle=F.current,oe.solarPanelArrayLayoutConstraints.minimumInterRowSpacing=k.current,oe.solarPanelArrayLayoutConstraints.maximumInterRowSpacing=N.current,oe.solarPanelArrayLayoutConstraints.poleHeight=q.current,oe.solarPanelArrayLayoutConstraints.poleSpacing=le.current,oe.solarPanelArrayLayoutConstraints.pvModelName=ee.current,oe.solarPanelArrayLayoutConstraints.rowAxis=_.current,oe.solarPanelArrayLayoutConstraints.orientation=$.current,oe.solarPanelArrayLayoutConstraints.margin=ie.current,oe.economicsParams.operationalCostPerUnit=ne.current,oe.economicsParams.electricitySellingPrice=pe.current})},fe=()=>{i||fn(se("message.EvolutionStarted",Y)),he(),setTimeout(()=>{gt.getState().set(oe=>{oe.runEvolution=!oe.runEvolution}),e(oe=>{oe.evolutionMethod=Bs.GENETIC_ALGORITHM,n&&(oe.actionInfo={name:"Run Genetic Algorithm for Solar Panel Array Layout",timestamp:new Date().getTime()})})},100)},{t:se}=jl();return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:se("optimizationMenu.SolarPanelArrayLayout",Y)+": "+se("optimizationMenu.GeneticAlgorithmSettings",Y)}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:se("word.Cancel",Y)},"Cancel"),h.jsx(no,{type:"primary",ref:j,onClick:()=>{fe(),t(!1)},children:se("word.Run",Y)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:oe=>h.jsx(Vr,{disabled:!y,bounds:x,onStart:(de,ve)=>Z(de,ve),children:h.jsx("div",{ref:b,children:oe})}),children:h.jsxs(FW,{defaultActiveKey:d,type:"card",onChange:oe=>{e(de=>{de.geneticAlgorithmWizardSelectedTab=oe})},children:[h.jsxs(fae,{tab:se("optimizationMenu.Parameters",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.Objective",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:v.current,style:{width:"100%"},value:v.current,onChange:oe=>{v.current=oe,g(!p)},children:[h.jsx(Nh,{value:xo.DAILY_TOTAL_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionDailyTotalYield",Y)},xo.DAILY_TOTAL_OUTPUT),h.jsx(Nh,{value:xo.YEARLY_TOTAL_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionYearlyTotalYield",Y)},xo.YEARLY_TOTAL_OUTPUT),h.jsx(Nh,{value:xo.DAILY_AVERAGE_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionDailyMeanYield",Y)},xo.DAILY_AVERAGE_OUTPUT),h.jsx(Nh,{value:xo.YEARLY_AVERAGE_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionYearlyMeanYield",Y)},xo.YEARLY_AVERAGE_OUTPUT),h.jsx(Nh,{value:xo.DAILY_PROFIT,children:se("optimizationMenu.ObjectiveFunctionDailyProfit",Y)},xo.DAILY_PROFIT),h.jsx(Nh,{value:xo.YEARLY_PROFIT,children:se("optimizationMenu.ObjectiveFunctionYearlyProfit",Y)},xo.YEARLY_PROFIT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.GeneticAlgorithmSelectionMethod",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:S.current,style:{width:"100%"},value:S.current,onChange:oe=>{S.current=oe,g(!p)},children:[h.jsx(Nh,{value:Im.ROULETTE_WHEEL,children:se("optimizationMenu.RouletteWheel",Y)},Im.ROULETTE_WHEEL),h.jsx(Nh,{value:Im.TOURNAMENT,children:se("optimizationMenu.Tournament",Y)},Im.TOURNAMENT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.PopulationSize",Y)+" [10, 100]:"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:T.current,step:1,formatter:oe=>Number(oe).toFixed(0),onChange:oe=>{oe!==null&&(T.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.MaximumGenerations",Y)+" [5, 100]:"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:P.current,formatter:oe=>Number(oe).toFixed(0),onChange:oe=>{oe!==null&&(P.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SelectionRate",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:H.current,step:.01,onChange:oe=>{oe!==null&&(H.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.CrossoverRate",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:D.current,step:.01,onChange:oe=>{oe!==null&&(D.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.MutationRate",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:R.current,step:.01,onChange:oe=>{oe!==null&&(R.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.ConvergenceThreshold",Y)+" (0, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:E.current,step:.001,onChange:oe=>{oe!==null&&(E.current=Number(oe),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SearchMethod",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:w.current,style:{width:"100%"},value:w.current,onChange:oe=>{w.current=Number(oe),g(!p)},children:[h.jsx(Nh,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:se("optimizationMenu.GlobalSearchUniformSelection",Y)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(Nh,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:se("optimizationMenu.LocalSearchRandomOptimization",Y)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),w.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.LocalSearchRadius",Y)+" ([0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:L.current,step:.01,onChange:oe=>{oe!==null&&(L.current=Number(oe),g(!p))}})})]})]},"1"),h.jsxs(fae,{tab:se("optimizationMenu.Variables",Y),children:[h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.TiltAngleRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{U.current=be.toRadians(oe[0]),F.current=be.toRadians(oe[1]),g(!p)},min:-90,max:90,defaultValue:[be.toDegrees(U.current),be.toDegrees(F.current)],marks:{"-90":{style:{fontSize:"10px"},label:"-90°"},"-45":{style:{fontSize:"10px"},label:"-45°"},0:{style:{fontSize:"10px"},label:"0°"},45:{style:{fontSize:"10px"},label:"45°"},90:{style:{fontSize:"10px"},label:"90°"}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.RowsPerRackRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{W.current=oe[0],B.current=oe[1],g(!p)},min:1,max:9,defaultValue:[W.current,B.current],marks:{1:{style:{fontSize:"10px"},label:1},2:{style:{fontSize:"10px"},label:2},3:{style:{fontSize:"10px"},label:3},4:{style:{fontSize:"10px"},label:4},5:{style:{fontSize:"10px"},label:5},6:{style:{fontSize:"10px"},label:6},7:{style:{fontSize:"10px"},label:7},8:{style:{fontSize:"10px"},label:8},9:{style:{fontSize:"10px"},label:9}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.InterRowSpacingRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{k.current=oe[0],N.current=oe[1],g(!p)},min:1,max:10,defaultValue:[k.current,N.current],marks:{1:{style:{fontSize:"10px"},label:"1m"},3:{style:{fontSize:"10px"},label:"3m"},5:{style:{fontSize:"10px"},label:"5m"},7:{style:{fontSize:"10px"},label:"7m"},9:{style:{fontSize:"10px"},label:"9m"}}})})]})]},"2"),h.jsxs(fae,{tab:se("optimizationMenu.Constants",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"0px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayModel",Y)+" ("+Object.keys(r).length+" "+se("word.Options",Y)+"):"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:ee.current,onChange:oe=>{ee.current=oe,g(!p)},children:Object.keys(r).map(oe=>h.jsx(Nh,{value:oe,children:oe+(r[oe].bifacialityFactor>0?" ("+se("pvModelPanel.Bifacial",Y)+")":"")},oe))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayRowAxis",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:_.current,onChange:oe=>{_.current=oe,g(!p)},children:[h.jsx(Nh,{value:Rl.leftRight,children:se("polygonMenu.SolarPanelArrayLeftRightRowAxis",Y)},Rl.leftRight),h.jsx(Nh,{value:Rl.upDown,children:se("polygonMenu.SolarPanelArrayUpDownRowAxis",Y)},Rl.upDown)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayOrientation",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:$.current,onChange:oe=>{$.current=oe,g(!p)},children:[h.jsx(Nh,{value:ci.portrait,children:se("solarPanelMenu.Portrait",Y)},ci.portrait),h.jsx(Nh,{value:ci.landscape,children:se("solarPanelMenu.Landscape",Y)},ci.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayMargin",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{ie.current=oe,g(!p)},min:0,max:5,step:.1,defaultValue:ie.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},1:{style:{fontSize:"10px"},label:"1m"},2:{style:{fontSize:"10px"},label:"2m"},3:{style:{fontSize:"10px"},label:"3m"},4:{style:{fontSize:"10px"},label:"4m"},5:{style:{fontSize:"10px"},label:"5m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("solarCollectorMenu.PoleHeight",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{q.current=oe,g(!p)},min:0,max:10,step:.1,defaultValue:q.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("solarPanelMenu.PoleSpacing",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{le.current=oe,g(!p)},min:2,max:10,step:.1,defaultValue:le.current,marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("economicsPanel.OperationalCostPerUnit",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{ne.current=oe,g(!p)},min:.1,max:1,step:.01,defaultValue:ne.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("economicsPanel.ElectricitySellingPrice",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{pe.current=oe,g(!p)},min:.1,max:1,step:.01,defaultValue:pe.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]})]},"3")]})})})},{Option:U1}=Yo,{TabPane:hae}=FW,y0o=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=gt(K2),r=M(C7),a=M(Z9),l=M(rr),s=M(Q9),c=M(pA).particleSwarmOptimizationParams,u=M(Eq),d=M(X8t),f=M(Iq),[p,g]=m.useState(!1),[y,A]=m.useState(!1),[x,C]=m.useState({left:0,top:0,bottom:0,right:0}),b=m.useRef(null),v=m.useRef(c.objectiveFunctionType),S=m.useRef(c.searchMethod),w=m.useRef(c.swarmSize),T=m.useRef(c.maximumSteps),P=m.useRef(c.vmax??.01),R=m.useRef(c.inertia??.8),H=m.useRef(c.cognitiveCoefficient??.1),D=m.useRef(c.socialCoefficient??.1),E=m.useRef(c.convergenceThreshold),L=m.useRef(c.localSearchRadius),U=m.useRef(u.minimumTiltAngle??-Vt),F=m.useRef(u.maximumTiltAngle??Vt),W=m.useRef(u.minimumRowsPerRack),B=m.useRef(u.maximumRowsPerRack),k=m.useRef(u.minimumInterRowSpacing),N=m.useRef(u.maximumInterRowSpacing),j=m.useRef(null);m.useEffect(()=>{var oe;(oe=j.current)==null||oe.focus()},[]);const Y={lng:o},_=m.useRef(u.rowAxis??Rl.leftRight),J=a?l(a):void 0,Q=J?s(z.SolarPanel,J.id):void 0,ee=m.useRef(Q&&Q.length>0?Q[0].pvModelName:u.pvModelName??"CS6X-355P-FG"),$=m.useRef(Q&&Q.length>0?Q[0].orientation:u.orientation??ci.landscape),q=m.useRef(Q&&Q.length>0?Q[0].poleHeight:u.poleHeight??1),le=m.useRef(Q&&Q.length>0?Q[0].poleSpacing:u.poleSpacing??3),ie=m.useRef(u.margin??0),pe=m.useRef(f.electricitySellingPrice),ne=m.useRef(f.operationalCostPerUnit);m.useEffect(()=>{pe.current=f.electricitySellingPrice},[f.electricitySellingPrice]),m.useEffect(()=>{ne.current=f.operationalCostPerUnit},[f.operationalCostPerUnit]);const Z=(oe,de)=>{if(b.current){const{clientWidth:ve,clientHeight:Pe}=window.document.documentElement,me=b.current.getBoundingClientRect();C({left:-me.left+de.x,right:ve-(me.right-de.x),top:-me.top+de.y,bottom:Pe-((me==null?void 0:me.bottom)-de.y)})}},he=()=>{e(oe=>{oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_ARRAY,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.objectiveFunctionType=v.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.searchMethod=S.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.swarmSize=w.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.maximumSteps=T.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.cognitiveCoefficient=H.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.socialCoefficient=D.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.vmax=P.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.inertia=R.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.convergenceThreshold=E.current,oe.evolutionaryAlgorithmState.particleSwarmOptimizationParams.localSearchRadius=L.current,oe.solarPanelArrayLayoutConstraints||(oe.solarPanelArrayLayoutConstraints=new GG),oe.solarPanelArrayLayoutConstraints.minimumRowsPerRack=W.current,oe.solarPanelArrayLayoutConstraints.maximumRowsPerRack=B.current,oe.solarPanelArrayLayoutConstraints.minimumTiltAngle=U.current,oe.solarPanelArrayLayoutConstraints.maximumTiltAngle=F.current,oe.solarPanelArrayLayoutConstraints.minimumInterRowSpacing=k.current,oe.solarPanelArrayLayoutConstraints.maximumInterRowSpacing=N.current,oe.solarPanelArrayLayoutConstraints.poleHeight=q.current,oe.solarPanelArrayLayoutConstraints.poleSpacing=le.current,oe.solarPanelArrayLayoutConstraints.pvModelName=ee.current,oe.solarPanelArrayLayoutConstraints.rowAxis=_.current,oe.solarPanelArrayLayoutConstraints.orientation=$.current,oe.solarPanelArrayLayoutConstraints.margin=ie.current,oe.economicsParams.operationalCostPerUnit=ne.current,oe.economicsParams.electricitySellingPrice=pe.current})},fe=()=>{i||fn(se("message.EvolutionStarted",Y)),he(),setTimeout(()=>{gt.getState().set(oe=>{oe.runEvolution=!oe.runEvolution}),e(oe=>{oe.evolutionMethod=Bs.PARTICLE_SWARM_OPTIMIZATION,n&&(oe.actionInfo={name:"Run Particle Swarm Optimization for Solar Panel Array Layout",timestamp:new Date().getTime()})})},100)},{t:se}=jl();return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:se("optimizationMenu.SolarPanelArrayLayout",Y)+": "+se("optimizationMenu.ParticleSwarmOptimizationSettings",Y)}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:se("word.Cancel",Y)},"Cancel"),h.jsx(no,{type:"primary",ref:j,onClick:()=>{fe(),t(!1)},children:se("word.Run",Y)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:oe=>h.jsx(Vr,{disabled:!y,bounds:x,onStart:(de,ve)=>Z(de,ve),children:h.jsx("div",{ref:b,children:oe})}),children:h.jsxs(FW,{defaultActiveKey:d,type:"card",onChange:oe=>{e(de=>{de.particleSwarmOptimizationWizardSelectedTab=oe})},children:[h.jsxs(hae,{tab:se("optimizationMenu.Parameters",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.Objective",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:v.current,style:{width:"100%"},value:v.current,onChange:oe=>{v.current=oe,g(!p)},children:[h.jsx(U1,{value:xo.DAILY_TOTAL_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionDailyTotalYield",Y)},xo.DAILY_TOTAL_OUTPUT),h.jsx(U1,{value:xo.YEARLY_TOTAL_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionYearlyTotalYield",Y)},xo.YEARLY_TOTAL_OUTPUT),h.jsx(U1,{value:xo.DAILY_AVERAGE_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionDailyMeanYield",Y)},xo.DAILY_AVERAGE_OUTPUT),h.jsx(U1,{value:xo.YEARLY_AVERAGE_OUTPUT,children:se("optimizationMenu.ObjectiveFunctionYearlyMeanYield",Y)},xo.YEARLY_AVERAGE_OUTPUT),h.jsx(U1,{value:xo.DAILY_PROFIT,children:se("optimizationMenu.ObjectiveFunctionDailyProfit",Y)},xo.DAILY_PROFIT),h.jsx(U1,{value:xo.YEARLY_PROFIT,children:se("optimizationMenu.ObjectiveFunctionYearlyProfit",Y)},xo.YEARLY_PROFIT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SwarmSize",Y)+" [10, 100]:"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:w.current,step:1,formatter:oe=>Number(oe).toFixed(0),onChange:oe=>{w.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.MaximumSteps",Y)+" [5, 100]:"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:T.current,formatter:oe=>Number(oe).toFixed(0),onChange:oe=>{T.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.CognitiveCoefficient",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:H.current,step:.01,onChange:oe=>{H.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SocialCoefficient",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:D.current,step:.01,onChange:oe=>{D.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.InertiaWeight",Y)+" [0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:R.current,step:.01,onChange:oe=>{R.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.MaximumVelocity",Y)+" [0.001, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:P.current,step:.001,onChange:oe=>{P.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.ConvergenceThreshold",Y)+" (0, 0.1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:E.current,step:.001,onChange:oe=>{E.current=Number(oe),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.SearchMethod",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:S.current,style:{width:"100%"},value:S.current,onChange:oe=>{S.current=Number(oe),g(!p)},children:[h.jsx(U1,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:se("optimizationMenu.GlobalSearchUniformSelection",Y)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(U1,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:se("optimizationMenu.LocalSearchRandomOptimization",Y)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),S.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.LocalSearchRadius",Y)+" ([0, 1]: "}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:L.current,step:.01,onChange:oe=>{L.current=Number(oe),g(!p)}})})]})]},"1"),h.jsxs(hae,{tab:se("optimizationMenu.Variables",Y),children:[h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.TiltAngleRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{U.current=be.toRadians(oe[0]),F.current=be.toRadians(oe[1]),g(!p)},min:-90,max:90,defaultValue:[be.toDegrees(U.current),be.toDegrees(F.current)],marks:{"-90":{style:{fontSize:"10px"},label:"-90°"},"-45":{style:{fontSize:"10px"},label:"-45°"},0:{style:{fontSize:"10px"},label:"0°"},45:{style:{fontSize:"10px"},label:"45°"},90:{style:{fontSize:"10px"},label:"90°"}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.RowsPerRackRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{W.current=oe[0],B.current=oe[1],g(!p)},min:1,max:9,defaultValue:[W.current,B.current],marks:{1:{style:{fontSize:"10px"},label:1},2:{style:{fontSize:"10px"},label:2},3:{style:{fontSize:"10px"},label:3},4:{style:{fontSize:"10px"},label:4},5:{style:{fontSize:"10px"},label:5},6:{style:{fontSize:"10px"},label:6},7:{style:{fontSize:"10px"},label:7},8:{style:{fontSize:"10px"},label:8},9:{style:{fontSize:"10px"},label:9}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("optimizationMenu.InterRowSpacingRange",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:oe=>{k.current=oe[0],N.current=oe[1],g(!p)},min:2,max:10,defaultValue:[k.current,N.current],marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]})]},"2"),h.jsxs(hae,{tab:se("optimizationMenu.Constants",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"0px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayModel",Y)+" ("+Object.keys(r).length+" "+se("word.Options",Y)+"):"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:ee.current,onChange:oe=>{ee.current=oe,g(!p)},children:Object.keys(r).map(oe=>h.jsx(U1,{value:oe,children:oe+(r[oe].bifacialityFactor>0?" ("+se("pvModelPanel.Bifacial",Y)+")":"")},oe))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayRowAxis",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:_.current,onChange:oe=>{_.current=oe,g(!p)},children:[h.jsx(U1,{value:Rl.leftRight,children:se("polygonMenu.SolarPanelArrayLeftRightRowAxis",Y)},Rl.leftRight),h.jsx(U1,{value:Rl.upDown,children:se("polygonMenu.SolarPanelArrayUpDownRowAxis",Y)},Rl.upDown)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayOrientation",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:$.current,onChange:oe=>{$.current=oe,g(!p)},children:[h.jsx(U1,{value:ci.portrait,children:se("solarPanelMenu.Portrait",Y)},ci.portrait),h.jsx(U1,{value:ci.landscape,children:se("solarPanelMenu.Landscape",Y)},ci.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("polygonMenu.SolarPanelArrayMargin",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{ie.current=oe,g(!p)},min:0,max:5,step:.1,defaultValue:ie.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},1:{style:{fontSize:"10px"},label:"1m"},2:{style:{fontSize:"10px"},label:"2m"},3:{style:{fontSize:"10px"},label:"3m"},4:{style:{fontSize:"10px"},label:"4m"},5:{style:{fontSize:"10px"},label:"5m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("solarCollectorMenu.PoleHeight",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{q.current=oe,g(!p)},min:0,max:10,step:.1,defaultValue:q.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("solarPanelMenu.PoleSpacing",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{le.current=oe,g(!p)},min:2,max:10,step:.1,defaultValue:le.current,marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("economicsPanel.OperationalCostPerUnit",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{ne.current=oe,g(!p)},min:.1,max:1,step:.01,defaultValue:ne.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(nt,{className:"gutter-row",span:12,children:se("economicsPanel.ElectricitySellingPrice",Y)+":"}),h.jsx(nt,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:oe=>{pe.current=oe,g(!p)},min:.1,max:1,step:.01,defaultValue:pe.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]})]},"3")]})})})},A0o=t=>{const e=[];if(t.type!==z.Polygon)return{items:e};const n=t,o=M.getState().getParent(n),i={lng:M.getState().language},r=!n.locked;return e.push({key:"polygon-paste",label:h.jsx(OH,{})}),e.push({key:"polygon-copy",label:h.jsx(Sf,{})}),r&&e.push({key:"polygon-cut",label:h.jsx(Tf,{})}),o&&(o.type===z.Foundation||o.type===z.Cuboid)&&e.push({key:"polygon-layout-submenu",label:h.jsx(tn,{children:O.t("polygonMenu.Layout",i)}),children:[{key:"solar-panel-layout-wizard",label:h.jsxs(io,{noPadding:!0,Dialog:g0o,children:[O.t("polygonMenu.SolarPanelArrayLayoutParametricDesign",i)," ..."]})},{key:"solar-panel-layout-ai",label:h.jsx(tn,{noPadding:!0,children:O.t("polygonMenu.SolarPanelArrayLayoutGenerativeDesign",i)}),children:[{key:"solar-panel-layout-ga",label:h.jsxs(io,{noPadding:!0,Dialog:m0o,children:[O.t("optimizationMenu.GeneticAlgorithm",i)," ..."]})},{key:"solar-panel-layout-pso",label:h.jsxs(io,{noPadding:!0,Dialog:y0o,children:[O.t("optimizationMenu.ParticleSwarmOptimization",i)," ..."]})}]}]}),e.push({key:"polygon-lock",label:h.jsx(Md,{selectedElement:n})}),r&&(e.push({key:"polygon-filled",label:h.jsx(Kco,{polygon:n})}),n.filled&&e.push({key:"polygon-shiny",label:h.jsx(qco,{polygon:n})}),e.push({key:"polygon-no-outline",label:h.jsx($co,{polygon:n})})),r&&(e.push({key:"polygon-line-color",label:h.jsxs(io,{Dialog:r0o,children:[O.t("polygonMenu.LineColor",i)," ..."]})},{key:"polygon-line-style",label:h.jsxs(io,{Dialog:a0o,children:[O.t("polygonMenu.LineStyle",i)," ..."]})},{key:"polygon-line-width",label:h.jsxs(io,{Dialog:l0o,children:[O.t("polygonMenu.LineWidth",i)," ..."]})}),n.filled&&((!n.textureType||n.textureType===qi.NoTexture)&&e.push({key:"polygon-fill-color",label:h.jsxs(io,{Dialog:s0o,children:[O.t("polygonMenu.FillColor",i)," ..."]})}),e.push({key:"polygon-texture",label:h.jsxs(io,{Dialog:f0o,children:[O.t("polygonMenu.FillTexture",i)," ..."]})},{key:"polygon-opacity",label:h.jsxs(io,{Dialog:h0o,children:[O.t("polygonMenu.Opacity",i)," ..."]})})),e.push({key:"polygon-text-box",label:h.jsx(tn,{children:O.t("polygonMenu.TextBox",i)}),children:[{key:"polygon-text",label:h.jsx(Qco,{polygon:n})},{key:"polygon-font-size",label:h.jsx(Zco,{polygon:n})},{key:"polygon-font-color",label:h.jsx(e0o,{polygon:n})},{key:"polygon-font-outline-color",label:h.jsx(t0o,{polygon:n})},{key:"polygon-font-outline-width",label:h.jsx(n0o,{polygon:n})},{key:"polygon-font-stroke-color",label:h.jsx(o0o,{polygon:n})},{key:"polygon-font-stroke-width",label:h.jsx(i0o,{polygon:n})}]})),{items:e}},w0o=(t,e)=>{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){o.vertices.splice(e,1);break}})},v0o=(t,e)=>{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){const i=o,r=i.vertices.length;if(e>0&&e{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){const i=o,r=i.vertices.length;if(e>=0&&e{if(t.selectedIndex>=0){const n=t.vertices.map(r=>({...r}));switch(e){case ix.Delete:w0o(t.id,t.selectedIndex);break;case ix.InsertBeforeIndex:v0o(t.id,t.selectedIndex);break;case ix.InsertAfterIndex:x0o(t.id,t.selectedIndex);break}const o=M.getState().getElementById(t.id).vertices.map(r=>({...r})),i={name:e,timestamp:Date.now(),changedElementId:t.id,changedElementType:t.type,oldValue:n,newValue:o,undo:()=>{i.oldValue&&Array.isArray(i.oldValue)&&M.getState().updatePolygonVerticesById(i.changedElementId,n)},redo:()=>{M.getState().updatePolygonVerticesById(i.changedElementId,o)}};M.getState().addUndoable(i)}},b0o=t=>{const e=[];if(t.type!==z.Polygon)return{items:e};const n=t,o={lng:M.getState().language};return e.push({key:"polygon-vertex-insert-before-index",label:h.jsx(tn,{noPadding:!0,children:O.t("polygonMenu.InsertVertexBeforeIndex",o)})},{key:"polygon-vertex-insert-after-index",label:h.jsx(tn,{noPadding:!0,children:O.t("polygonMenu.InsertVertexAfterIndex",o)})}),n.vertices.length>3&&e.push({key:"polygon-vertex-delete",label:h.jsx(tn,{noPadding:!0,children:O.t("polygonMenu.DeleteVertex",o)})}),{items:e,onClick:({key:r})=>{switch(r){case"polygon-vertex-insert-before-index":pae(n,ix.InsertBeforeIndex);break;case"polygon-vertex-insert-after-index":pae(n,ix.InsertAfterIndex);break;case"polygon-vertex-delete":pae(n,ix.Delete);break}}}},S0o=({sensor:t})=>{const e=Kt(),n=Btt(t);return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.showLabel,onChange:n,children:O.t("labelSubMenu.KeepShowingLabel",e)})})},T0o=({sensor:t})=>{const e=Kt(),{labelText:n,setLabelText:o}=Utt(t),i=jtt(t,n);return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"80px"},children:O.t("labelSubMenu.LabelText",e)+":"}),h.jsx(ns,{style:{width:"150px"},value:n,onChange:r=>o(r.target.value),onPressEnter:i,onBlur:i})]})},P0o=t=>{const e=[];if(t.type!==z.Sensor)return{items:e};const n=t,o=!n.locked;return e.push({key:"sensor-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"sensor-cut",label:h.jsx(Tf,{})}),e.push({key:"sensor-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"seneor-show-label",label:h.jsx(S0o,{sensor:n})}),o&&e.push({key:"sensor-label-text",label:h.jsx(T0o,{sensor:n})}),{items:e}},C0o=({light:t})=>{const e=Kt(),n=M.getState().updateInsideLightById,o=i=>{const r=i.target.checked,a={name:"Inside Light",timestamp:Date.now(),checked:r,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.inside,onChange:o,children:O.t("lightMenu.Inside",e)})})},R0o=({light:t})=>{const e=Kt(),n=t.intensity??3,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Light&&s.id===r){s.intensity=a;break}})},i=r=>{if(r===null||r===n)return;const a={name:"Set Light Intensity",timestamp:Date.now(),oldValue:n,newValue:r,changedElementId:t.id,undo:()=>{o(a.changedElementId,a.oldValue)},redo:()=>{o(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),o(t.id,r),M.getState().set(l=>{l.actionState.lightIntensity=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"80px"},children:[O.t("lightMenu.Intensity",e),":"]}),h.jsx(Hn,{min:.1,max:10,step:.1,precision:1,value:n,onChange:i})]})},H0o=({light:t})=>{const e=Kt(),n=t.distance??5,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Light&&s.id===r){s.distance=a;break}})},i=r=>{if(r===null||r===n)return;const a={name:"Set Light Distance",timestamp:Date.now(),oldValue:n,newValue:r,changedElementId:t.id,undo:()=>{o(a.changedElementId,a.oldValue)},redo:()=>{o(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),o(t.id,r),M.getState().set(l=>{l.actionState.lightDistance=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"80px"},children:[O.t("lightMenu.MaximumDistance",e),":"]}),h.jsx(Hn,{min:1,max:10,step:1,precision:1,value:n,onChange:i})]})},M0o=({light:t})=>{const e=t.color??"#ffff99",n=(o,i)=>{M.getState().set(r=>{for(const a of r.elements)if(a.type===z.Light&&a.id===o){a.color=i;break}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Cf,{color:e,onChangeComplete:o=>{const i=t.color,r=o.hex,a={name:"Set Light Color",timestamp:Date.now(),oldValue:i,newValue:r,undo:()=>{n(t.id,a.oldValue)},redo:()=>{n(t.id,a.newValue)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.lightColor=r})}})})},I0o=t=>{const e=[];if(t.type!==z.Light)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=n.parentId?M.getState().getParent(n):void 0;return e.push({key:"light-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"light-cut",label:h.jsx(Tf,{})}),e.push({key:"light-lock",label:h.jsx(Md,{selectedElement:n})}),o&&r&&(r.type===z.Roof||r.type===z.Wall)&&e.push({key:"light-inside",label:h.jsx(C0o,{light:n})}),o&&e.push({key:"light-intensity",label:h.jsx(R0o,{light:n})},{key:"light-distance",label:h.jsx(H0o,{light:n})},{key:"light-color",label:h.jsx(tn,{children:O.t("word.Color",i)}),children:[{key:"light-color-picker",label:h.jsx(M0o,{light:n}),style:{backgroundColor:"white"}}]}),{items:e}},z0o=()=>{const t=M(B1e),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.axes=i})},o=i=>{const r=i.target.checked,a={name:"Show Axes",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("skyMenu.Axes",e)})})},D0o=()=>{const t=M(hBe),e=Kt(),n=r=>{M.getState().set(a=>{a.viewState.theme=r})},o=r=>{const a=t,l=r.target.value,s={name:"Select Theme",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(s.oldValue)},redo:()=>{n(s.newValue)}};M.getState().addUndoable(s),n(l)},i=[{value:Ns.Default,label:"skyMenu.ThemeDefault"},{value:Ns.Desert,label:"skyMenu.ThemeDesert"},{value:Ns.Dune,label:"skyMenu.ThemeDune"},{value:Ns.Forest,label:"skyMenu.ThemeForest"},{value:Ns.Grassland,label:"skyMenu.ThemeGrassland"},{value:Ns.Hill,label:"skyMenu.ThemeHill"},{value:Ns.Lake,label:"skyMenu.ThemeLake"},{value:Ns.Mountain,label:"skyMenu.ThemeMountain"},{value:Ns.Rural,label:"skyMenu.ThemeRural"}];return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t,onChange:o,children:h.jsx(en,{direction:"vertical",children:i.map((r,a)=>h.jsx(Be,{style:{width:"100%"},value:r.value,children:O.t(r.label,e)},`${a}-${r.value}`))})})})},E0o=()=>{const t=M(pBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showAzimuthAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Azimuth Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("skyMenu.ShowAzimuthAngle",e)})})},k0o=()=>{const t=M(gBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showElevationAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Elevation Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("skyMenu.ShowElevationAngle",e)})})},F0o=()=>{const t=M(mBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showZenithAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Zenith Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:O.t("skyMenu.ShowZenithAngle",e)})})},L0o=()=>{const t=M(fBe)??3.5,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.directLightIntensity=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Direct Light Intensity",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.DirectLightBrightnessAtNoon",e)+" [0.1-10]:"}),h.jsx(Hn,{min:.1,max:10,step:.1,precision:2,value:t,onChange:o})]})},W0o=()=>{const t=M(dBe)??.2,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.ambientLightIntensity=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Ambient Light Intensity",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.AmbientLightBrightnessAtNoon",e)+" [0.01-1]:"}),h.jsx(Hn,{min:.01,max:1,step:.01,precision:2,value:t,onChange:o})]})},N0o=()=>{const t=M(e4t)??.01,e=Kt(),n=i=>{M.getState().set(r=>{r.world.airAttenuationCoefficient=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Sunlight Attenuation Coefficient of Air",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.SunlightAttenuationCoefficientInAir",e)+":"}),h.jsx(Hn,{min:0,max:.1,step:.001,precision:3,value:t,onChange:o})]})},U0o=()=>{const t=M(t4t)??5,e=Kt(),n=i=>{M.getState().set(r=>{r.world.airConvectiveCoefficient=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Convective Coefficient of Air",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.ConvectiveCoefficientOfAir",e)+" [W/(m²×K)]:"}),h.jsx(Hn,{min:2.5,max:20,step:.1,precision:2,value:t,onChange:o})]})},B0o=()=>{const t=M(KL)??900,e=M.getState().world,n=Kt(),o=m.useMemo(()=>sl(new Date(e.date),e.latitude),[e.date,e.latitude]),i=a=>{M.getState().set(l=>{l.world.highestTemperatureTimeInMinutes=a})},r=a=>{if(a===null)return;const l=t,s=a,c={name:"Set Time of Highest Temperature in Minutes",timestamp:Date.now(),oldValue:l,newValue:s,undo:()=>{i(c.oldValue)},redo:()=>{i(c.newValue)}};M.getState().addUndoable(c),i(s)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:O.t("skyMenu.HighestTemperatureTimeInMinutes",n)+":"}),h.jsx(Hn,{min:720,max:o.sunset,step:5,precision:0,value:t,onChange:r})]})},j0o=()=>{const t={lng:M.getState().language},e=[];return e.push({key:"axes",label:h.jsx(z0o,{})}),e.push({key:"theme-submenu",label:h.jsx(tn,{children:O.t("skyMenu.Theme",t)}),children:[{key:"theme-radio-group",label:h.jsx(D0o,{}),style:{backgroundColor:"white"}}]}),e.push({key:"sun-angles-submenu",label:h.jsx(tn,{children:O.t("skyMenu.SelectSunAnglesToShow",t)}),children:[{key:"show-azimuth-angle",label:h.jsx(E0o,{})},{key:"ShowElevationAngle",label:h.jsx(k0o,{})},{key:"ShowZenithAngle",label:h.jsx(F0o,{})}]}),e.push({key:"direct-light-intensity",label:h.jsx(L0o,{})}),e.push({key:"ambient-light-intensity",label:h.jsx(W0o,{})}),e.push({key:"air-attenuation-coefficient",label:h.jsx(N0o,{})}),e.push({key:"air-convective-coefficient",label:h.jsx(U0o,{})}),e.push({key:"highest-temperature-time-in-minutes",label:h.jsx(B0o,{})}),{items:e}},tK=class tK{constructor(){this.n=14,this.nominalStrings=new Array(this.n),this.nominalWidths=new Array(this.n),this.nominalHeights=new Array(this.n),this.cellNx=new Array(this.n),this.cellNy=new Array(this.n),this.nominalWidths[0]=.99,this.nominalHeights[0]=1.65,this.cellNx[0]=6,this.cellNy[0]=10,this.nominalWidths[1]=.99,this.nominalHeights[1]=1.96,this.cellNx[1]=6,this.cellNy[1]=12,this.nominalWidths[2]=1.05,this.nominalHeights[2]=1.56,this.cellNx[2]=8,this.cellNy[2]=12,this.nominalWidths[3]=1.31,this.nominalHeights[3]=1.96,this.cellNx[3]=8,this.cellNy[3]=12,this.nominalWidths[4]=1.07,this.nominalHeights[4]=2.07,this.cellNx[4]=8,this.cellNy[4]=16,this.nominalWidths[5]=.6,this.nominalHeights[5]=1.2,this.cellNx[5]=10,this.cellNy[5]=20,this.nominalWidths[6]=1.2,this.nominalHeights[6]=2,this.cellNx[6]=10,this.cellNy[6]=20,this.nominalWidths[7]=1,this.nominalHeights[7]=2.07,this.cellNx[7]=6,this.cellNy[7]=12,this.nominalWidths[8]=.8,this.nominalHeights[8]=1.56,this.cellNx[8]=6,this.cellNy[8]=12,this.nominalWidths[9]=.83,this.nominalHeights[9]=1.58,this.cellNx[9]=6,this.cellNy[9]=12,this.nominalWidths[10]=.99,this.nominalHeights[10]=1.31,this.cellNx[10]=6,this.cellNy[10]=8,this.nominalWidths[11]=.99,this.nominalHeights[11]=1.5,this.cellNx[11]=6,this.cellNy[11]=9,this.nominalWidths[12]=1.05,this.nominalHeights[12]=1.81,this.cellNx[12]=8,this.cellNy[12]=14,this.nominalWidths[13]=1.05,this.nominalHeights[13]=1.69,this.cellNx[13]=8,this.cellNy[13]=13;for(let e=0;e{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(C7),a=M(J2),l=M(En),s=M(i1),c=M(r1),u=M(ro),d=M(oo),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.pvModelName)??"SPR-X21-335-BLK"),[y,A]=m.useState(),x=Kt(),C=a(p??"SPR-X21-335-BLK");m.useEffect(()=>{A(C.nominalWidth.toFixed(2)+"m×"+C.nominalLength.toFixed(2)+"m ("+C.n+"×"+C.m+" "+O.t("pvModelPanel.Cells",x)+")")},[C]);const b=(L,U)=>{e(F=>{for(const W of F.elements)if(W.type===z.SolarPanel&&W.id===L&&!W.locked){const B=W;B.pvModelName=U;const k=F.pvModules[U];if(B.orientation===ci.portrait){const N=Math.max(1,Math.round(B.lx/k.width)),j=Math.max(1,Math.round(B.ly/k.length));B.lx=N*k.width,B.ly=j*k.length}else{const N=Math.max(1,Math.round(B.lx/k.length)),j=Math.max(1,Math.round(B.ly/k.width));B.lx=N*k.length,B.ly=j*k.width}B.parentType,z.Wall;break}})},v=(L,U)=>{e(F=>{const W=F.pvModules[U];for(const B of F.elements)if(B.type===z.SolarPanel&&B.foundationId===L&&!B.locked){const k=B;if(k.pvModelName=U,k.orientation===ci.portrait){const N=Math.max(1,Math.round(k.lx/W.width)),j=Math.max(1,Math.round(k.ly/W.length));k.lx=N*W.width,k.ly=j*W.length}else{const N=Math.max(1,Math.round(k.lx/W.length)),j=Math.max(1,Math.round(k.ly/W.width));k.lx=N*W.length,k.ly=j*W.width}k.parentType,z.Wall}})},S=(L,U,F)=>{e(W=>{const B=W.pvModules[F];for(const k of W.elements)if(k.type===z.SolarPanel&&!k.locked){let N;if(U?N=k.parentId===L&&be.isIdentical(k.normal,U):N=k.parentId===L,N){const j=k;if(j.pvModelName=F,j.orientation===ci.portrait){const Y=Math.max(1,Math.round(j.lx/B.width)),_=Math.max(1,Math.round(j.ly/B.length));j.lx=Y*B.width,j.ly=_*B.length}else{const Y=Math.max(1,Math.round(j.lx/B.length)),_=Math.max(1,Math.round(j.ly/B.width));j.lx=Y*B.length,j.ly=_*B.width}j.parentType,z.Wall}}})},w=L=>{e(U=>{const F=U.pvModules[L];for(const W of U.elements)if(W.type===z.SolarPanel&&!W.locked){const B=W;if(B.pvModelName=L,B.orientation===ci.portrait){const k=Math.max(1,Math.round(B.lx/F.width)),N=Math.max(1,Math.round(B.ly/F.length));B.lx=k*F.width,B.ly=N*F.length}else{const k=Math.max(1,Math.round(B.lx/F.length)),N=Math.max(1,Math.round(B.ly/F.width));B.lx=k*F.length,B.ly=N*F.width}B.parentType,z.Wall}})},T=(L,U)=>{M.getState().set(F=>{const W=F.pvModules[U];for(const B of F.elements)if(B.type===z.SolarPanel&&!B.locked&&L.has(B.id)){const k=B;if(k.pvModelName=U,k.orientation===ci.portrait){const N=Math.max(1,Math.round(k.lx/W.width)),j=Math.max(1,Math.round(k.ly/W.length));k.lx=N*W.width,k.ly=j*W.length}else{const N=Math.max(1,Math.round(k.lx/W.length)),j=Math.max(1,Math.round(k.ly/W.width));k.lx=N*W.length,k.ly=j*W.width}k.parentType,z.Wall}})},P=L=>{c(L.target.value)},R=L=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&F.pvModelName!==L)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&F.pvModelName!==L)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.SolarPanel&&F.foundationId===(f==null?void 0:f.foundationId)&&!F.locked&&F.pvModelName!==L)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const U=i(f);if(U){if(U.type===z.Cuboid){for(const W of n)if(W.type===z.SolarPanel&&W.parentId===f.parentId&&be.isIdentical(W.normal,f.normal)&&!W.locked&&W.pvModelName!==L)return!0}else for(const W of n)if(W.type===z.SolarPanel&&W.parentId===f.parentId&&!W.locked&&W.pvModelName!==L)return!0}break;default:if((f==null?void 0:f.pvModelName)!==L)return!0}return!1}},H=L=>{if(f&&R(L)){switch(s){case ue.AllSelectedObjectsOfThisType:{const k=new Map;for(const j of n)j.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.pvModelName);const N={name:"Set Model for Selected Solar Panels",timestamp:Date.now(),oldValues:k,newValue:L,undo:()=>{for(const[j,Y]of N.oldValues.entries())b(j,Y)},redo:()=>{T(N.oldValues,N.newValue)}};l(N),T(k,L),d(u+1);break}case ue.AllObjectsOfThisType:{const k=new Map;for(const j of n)j.type===z.SolarPanel&&k.set(j.id,j.pvModelName);const N={name:"Set Model for All Solar Panels",timestamp:Date.now(),oldValues:k,newValue:L,undo:()=>{for(const[j,Y]of N.oldValues.entries())b(j,Y)},redo:()=>{w(N.newValue)}};l(N),w(L),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const k=new Map;for(const j of n)j.type===z.SolarPanel&&j.foundationId===f.foundationId&&k.set(j.id,j.pvModelName);const N={name:"Set Model for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:k,newValue:L,groupId:f.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())b(j,Y)},redo:()=>{N.groupId&&v(N.groupId,N.newValue)}};l(N),v(f.foundationId,L),d(u+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const U=i(f);if(U){const k=new Map,N=U.type===z.Cuboid;if(N)for(const _ of n)_.type===z.SolarPanel&&_.parentId===f.parentId&&be.isIdentical(_.normal,f.normal)&&k.set(_.id,_.pvModelName);else for(const _ of n)_.type===z.SolarPanel&&_.parentId===f.parentId&&k.set(_.id,_.pvModelName);const j=N?f.normal:void 0,Y={name:"Set Model for All Solar Panels on Surface",timestamp:Date.now(),oldValues:k,newValue:L,groupId:f.parentId,normal:j,undo:()=>{for(const[_,J]of Y.oldValues.entries())b(_,J)},redo:()=>{Y.groupId&&S(Y.groupId,Y.normal,Y.newValue)}};l(Y),S(f.parentId,j,L),d(u+1)}break;default:const F=o(f.id),W=F?F.pvModelName:f.pvModelName,B={name:"Set Model for Selected Solar Panel",timestamp:Date.now(),oldValue:W,newValue:L,changedElementId:f.id,changedElementType:f.type,undo:()=>{b(B.changedElementId,B.oldValue)},redo:()=>{b(B.changedElementId,B.newValue)}};l(B),b(f.id,L),d(u+1)}e(U=>{U.actionState.solarPanelModelName=L})}},D=()=>{t(!1)},E=()=>{H(p)};return h.jsxs(lo,{width:640,title:O.t("pvModelPanel.SolarPanelSpecs",x),onApply:E,onClose:D,children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.Model",x)+" ("+Object.keys(r).length+" "+O.t("word.Options",x)+"):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:p,onChange:g,children:Object.keys(r).map(L=>h.jsx(q8,{value:L,children:L+(r[L].bifacialityFactor>0?" ("+O.t("pvModelPanel.Bifacial",x)+")":"")},L))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.PanelSize",x)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Yo,{disabled:!0,style:{width:"100%"},value:y,onChange:L=>{},children:Nde.instance.nominalStrings.map(L=>h.jsx(q8,{value:L,children:L},L))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.CellType",x)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsxs(Yo,{disabled:!0,style:{width:"100%"},value:C.cellType,onChange:L=>{},children:[h.jsx(q8,{value:"Monocrystalline",children:O.t("pvModelPanel.Monocrystalline",x)},"Monocrystalline"),h.jsx(q8,{value:"Polycrystalline",children:O.t("pvModelPanel.Polycrystalline",x)},"Polycrystalline"),h.jsx(q8,{value:"Thin Film",children:O.t("pvModelPanel.ThinFilm",x)},"Thin Film")]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.BifacialityFactor",x)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:2,value:C.bifacialityFactor,onChange:L=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("word.Color",x)+":"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsxs(Yo,{disabled:!0,style:{width:"100%"},value:C.color,onChange:L=>{},children:[h.jsx(q8,{value:"Black",children:O.t("pvModelPanel.Black",x)},"Black"),h.jsx(q8,{value:"Blue",children:O.t("pvModelPanel.Blue",x)},"Blue")]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.SolarCellEfficiency",x)+" (%):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:2,value:100*C.efficiency,onChange:L=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.NominalOperatingCellTemperature",x)+" (°C):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:1,value:C.noct,onChange:L=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:13,children:O.t("pvModelPanel.TemperatureCoefficientOfPmax",x)+" (%/°C):"}),h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(ns,{disabled:!0,style:{width:"100%"},value:C.pmaxTC,onChange:L=>{}})})]}),h.jsxs(nn,{gutter:6,style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},children:[h.jsx(nt,{className:"gutter-row",span:3,children:O.t("word.ApplyTo",x)+":"}),h.jsx(nt,{className:"gutter-row",span:21,children:h.jsx(Be.Group,{onChange:P,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",x)})]})})})]})]})},{Option:XRe}=Yo,O0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(J2),r=M(rr),a=M(nge),l=M(En),s=M(i1),c=M(r1),u=M(ro),d=M(oo),f=M(ca),p=co(z.SolarPanel),[g,y]=m.useState((p==null?void 0:p.orientation)??ci.portrait),A=m.useRef(!1),x=m.useRef(),C=Kt(),b=(N,j)=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&_.id===N&&!_.locked){const J=_,Q=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Q,j),J.parentType,z.Wall;break}})},v=(N,j)=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&_.foundationId===N&&!_.locked){const J=_,Q=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Q,j),J.parentType,z.Wall}})},S=(N,j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&!J.locked){let Q;if(j?Q=J.parentId===N&&be.isIdentical(J.normal,j):Q=J.parentId===N,Q){const ee=J,$=_.pvModules[ee.pvModelName];_.setSolarPanelOrientation(ee,$,Y),ee.parentType,z.Wall}}})},w=N=>{e(j=>{for(const Y of j.elements)if(Y.type===z.SolarPanel&&!Y.locked){const _=Y,J=j.pvModules[_.pvModelName];j.setSolarPanelOrientation(_,J,N),_.parentType,z.Wall}})},T=(N,j)=>{M.getState().set(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&!_.locked&&N.has(_.id)){const J=_,Q=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Q,j)}})},P=N=>{c(N.target.value)},R=N=>{if(p){const j=i(p.pvModelName);if(N===ci.portrait){const Y=Math.max(1,Math.round(p.lx/j.width)),_=Math.max(1,Math.round(p.ly/j.length));a(p.id,Y*j.width,_*j.length)}else{const Y=Math.max(1,Math.round(p.lx/j.length)),_=Math.max(1,Math.round(p.ly/j.width));a(p.id,Y*j.length,_*j.width)}b(p.id,N)}},H=(N,j)=>{const Y=r(N);if(Y){if(Y.type===z.Cuboid&&!be.isIdentical(N.normal,o0))return!0;const _=JSON.parse(JSON.stringify(N));_.orientation=j;const J=i(_.pvModelName);if(j===ci.portrait){const Q=Math.max(1,Math.round(_.lx/J.width)),ee=Math.max(1,Math.round(_.ly/J.length));_.lx=Q*J.width,_.ly=ee*J.length}else{const Q=Math.max(1,Math.round(_.lx/J.length)),ee=Math.max(1,Math.round(_.ly/J.width));_.lx=Q*J.length,_.ly=ee*J.width}return Y.type===z.Wall?be.checkElementOnWallState(_,Y)===fc.Valid:Y.type===z.Roof?be.checkElementOnRoofState(_,Y)===fc.Valid:be.isSolarCollectorWithinHorizontalSurface(_,Y)}return!1},D=(N,j)=>!H(N,j),E=N=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&M.getState().selectedElementIdSet.has(Y.id)&&Y.orientation!==N)return!0;break;case ue.AllObjectsOfThisType:for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&Y.orientation!==N)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===(p==null?void 0:p.foundationId)&&!Y.locked&&Y.orientation!==N)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const j=r(p);if(j){if(j.type===z.Cuboid){for(const _ of n)if(_.type===z.SolarPanel&&_.parentId===p.parentId&&be.isIdentical(_.normal,p.normal)&&!_.locked&&_.orientation!==N)return!0}else for(const _ of n)if(_.type===z.SolarPanel&&_.parentId===p.parentId&&!_.locked&&_.orientation!==N)return!0}break;default:if((p==null?void 0:p.orientation)!==N)return!0}return!1}},L=N=>{if(p&&E(N)){switch(x.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{A.current=!1;for(const J of n)if(J.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(J.id)&&D(J,N)){A.current=!0;break}if(A.current)x.current=N,y(p.orientation);else{const J=new Map;for(const ee of n)ee.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(ee.id)&&J.set(ee.id,ee.orientation);const Q={name:"Set Orientation for Selected Solar Panels",timestamp:Date.now(),oldValues:J,newValue:N,undo:()=>{for(const[ee,$]of Q.oldValues.entries())b(ee,$)},redo:()=>{T(Q.oldValues,Q.newValue)}};l(Q),T(J,N),d(u+1)}break}case ue.AllObjectsOfThisType:{A.current=!1;for(const J of n)if(J.type===z.SolarPanel&&D(J,N)){A.current=!0;break}if(A.current)x.current=N,y(p.orientation);else{const J=new Map;for(const ee of n)ee.type===z.SolarPanel&&J.set(ee.id,ee.orientation);const Q={name:"Set Orientation for All Solar Panels",timestamp:Date.now(),oldValues:J,newValue:N,undo:()=>{for(const[ee,$]of Q.oldValues.entries())b(ee,$)},redo:()=>{w(Q.newValue)}};l(Q),w(N),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){A.current=!1;for(const J of n)if(J.type===z.SolarPanel&&J.foundationId===p.foundationId&&D(J,N)){A.current=!0;break}if(A.current)x.current=N,y(p.orientation);else{const J=new Map;for(const ee of n)ee.type===z.SolarPanel&&ee.foundationId===p.foundationId&&J.set(ee.id,ee.orientation);const Q={name:"Set Orientation for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:J,newValue:N,groupId:p.foundationId,undo:()=>{for(const[ee,$]of Q.oldValues.entries())b(ee,$)},redo:()=>{Q.groupId&&v(Q.groupId,Q.newValue)}};l(Q),v(p.foundationId,N),d(u+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const j=r(p);if(j){if(A.current=!1,j.type===z.Cuboid){for(const Q of n)if(Q.type===z.SolarPanel&&Q.parentId===p.parentId&&be.isIdentical(Q.normal,p.normal)&&D(Q,N)){A.current=!0;break}}else for(const Q of n)if(Q.type===z.SolarPanel&&Q.parentId===p.parentId&&D(Q,N)){A.current=!0;break}if(A.current)x.current=N,y(p.orientation);else{const Q=new Map,ee=j.type===z.Cuboid;if(ee)for(const le of n)le.type===z.SolarPanel&&le.parentId===p.parentId&&be.isIdentical(le.normal,p.normal)&&Q.set(le.id,le.orientation);else for(const le of n)le.type===z.SolarPanel&&le.parentId===p.parentId&&Q.set(le.id,le.orientation);const $=ee?p.normal:void 0,q={name:"Set Orientation for All Solar Panels on Surface",timestamp:Date.now(),oldValues:Q,newValue:N,groupId:p.parentId,normal:$,undo:()=>{for(const[le,ie]of q.oldValues.entries())b(le,ie)},redo:()=>{q.groupId&&S(q.groupId,q.normal,q.newValue)}};l(q),S(p.parentId,$,N),d(u+1)}}break;default:const Y=o(p.id),_=Y?Y.orientation:p.orientation;if(A.current=D(p,N),A.current)x.current=N,y(_);else{const J={name:"Set Orientation of Selected Solar Panel",timestamp:Date.now(),oldValue:_,newValue:N,changedElementId:p.id,changedElementType:p.type,undo:()=>{R(J.oldValue)},redo:()=>{R(J.newValue)}};l(J),R(N),d(u+1)}}e(j=>{j.actionState.solarPanelOrientation=N})}},U=()=>{p&&(y(p.orientation),A.current=!1,t(!1))},F=()=>{U(),f()},W=()=>{L(g),A.current||(t(!1),d(0))},B=()=>{L(g)},k=A.current?": "+O.t("message.NotApplicableToSelectedAction",C)+(x.current?" ("+(x.current===ci.portrait?O.t("solarPanelMenu.Portrait",C):O.t("solarPanelMenu.Landscape",C))+")":""):"";return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.Orientation",C),rejectedMessage:k,onApply:B,onClose:U,onClickCancel:F,onClickOk:W,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:8,children:h.jsxs(Yo,{style:{width:"150px"},value:g,onChange:N=>y(N),children:[h.jsx(XRe,{value:ci.portrait,children:O.t("solarPanelMenu.Portrait",C)},ci.portrait),h.jsx(XRe,{value:ci.landscape,children:O.t("solarPanelMenu.Landscape",C)},ci.landscape)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:P,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",C)})]})})})]})})},_0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(J2),r=M(rr),a=M(En),l=M(i1),s=M(r1),c=M(ro),u=M(oo),d=M(ca),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.lx)??1),[y,A]=m.useState(0),x=m.useRef(!1),C=m.useRef(),b=Kt();m.useEffect(()=>{if(f){const j=i(f.pvModelName)??i("SPR-X21-335-BLK");A(f.orientation===ci.portrait?j.width:j.length)}},[f]);const v=(j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&J.id===j&&!J.locked){const Q=J,ee=_.getPvModule(Q.pvModelName);J.lx=be.panelizeLx(Q,ee,Y);break}})},S=(j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&J.foundationId===j&&!J.locked){const Q=J,ee=_.getPvModule(Q.pvModelName);J.lx=be.panelizeLx(Q,ee,Y)}})},w=(j,Y,_)=>{e(J=>{for(const Q of J.elements)if(Q.type===z.SolarPanel&&!Q.locked){let ee;if(Y?ee=Q.parentId===j&&be.isIdentical(Q.normal,Y):ee=Q.parentId===j,ee){const $=Q,q=J.getPvModule($.pvModelName);Q.lx=be.panelizeLx($,q,_)}}})},T=j=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&!_.locked){const J=_,Q=Y.getPvModule(J.pvModelName);_.lx=be.panelizeLx(J,Q,j)}})},P=(j,Y)=>{M.getState().set(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&!J.locked&&j.has(J.id)){const Q=J,ee=_.getPvModule(Q.pvModelName);J.lx=be.panelizeLx(Q,ee,Y)}})},R=j=>{s(j.target.value)},H=(j,Y)=>{const _=r(j);if(_){if(_.type===z.Cuboid&&!be.isIdentical(j.normal,o0))return!0;const J=JSON.parse(JSON.stringify(j));return J.lx=Y,_.type===z.Wall?be.checkElementOnWallState(J,_)===fc.Valid:_.type===z.Roof?be.checkElementOnRoofState(J,_)===fc.Valid:be.isSolarCollectorWithinHorizontalSurface(J,_)}return!1},D=(j,Y)=>!H(j,Y),E=j=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&M.getState().selectedElementIdSet.has(_.id)&&Math.abs(_.lx-j)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&Math.abs(_.lx-j)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const _ of n)if(_.type===z.SolarPanel&&_.foundationId===(f==null?void 0:f.foundationId)&&!_.locked&&Math.abs(_.lx-j)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const Y=r(f);if(Y){if(Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&be.isIdentical(J.normal,f.normal)&&!J.locked&&Math.abs(J.lx-j)>kt)return!0}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&!J.locked&&Math.abs(J.lx-j)>kt)return!0}break;default:if(Math.abs((f==null?void 0:f.lx)-j)>kt)return!0}return!1}},L=j=>{if(f&&E(j))switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Q.id)&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.lx);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&M.getState().selectedElementIdSet.has($.id)&&Q.set($.id,$.lx);const ee={name:"Set Length for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:Q,newValue:j,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{P(ee.oldValues,ee.newValue)}};a(ee),P(Q,j),u(c+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Q.id)&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.lx);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&M.getState().selectedElementIdSet.has($.id)&&Q.set($.id,$.lx);const ee={name:"Set Length for All Solar Panel Arrays",timestamp:Date.now(),oldValues:Q,newValue:j,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{T(ee.newValue)}};a(ee),T(j),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&Q.foundationId===f.foundationId&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.lx);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&$.foundationId===f.foundationId&&Q.set($.id,$.lx);const ee={name:"Set Length for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:Q,newValue:j,groupId:f.foundationId,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{ee.groupId&&S(ee.groupId,ee.newValue)}};a(ee),S(f.foundationId,j),u(c+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const Y=r(f);if(Y){if(x.current=!1,Y.type===z.Cuboid){for(const ee of n)if(ee.type===z.SolarPanel&&ee.parentId===f.parentId&&be.isIdentical(ee.normal,f.normal)&&D(ee,j)){x.current=!0;break}}else for(const ee of n)if(ee.type===z.SolarPanel&&ee.parentId===f.parentId&&D(ee,j)){x.current=!0;break}if(x.current)C.current=j,g(f.lx);else{const ee=new Map,$=Y.type===z.Cuboid;if($)for(const ie of n)ie.type===z.SolarPanel&&ie.parentId===f.parentId&&be.isIdentical(ie.normal,f.normal)&&ee.set(ie.id,ie.lx);else for(const ie of n)ie.type===z.SolarPanel&&ie.parentId===f.parentId&&ee.set(ie.id,ie.lx);const q=$?f.normal:void 0,le={name:"Set Length for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:ee,newValue:j,groupId:f.parentId,normal:q,undo:()=>{for(const[ie,pe]of le.oldValues.entries())v(ie,pe)},redo:()=>{le.groupId&&w(le.groupId,le.normal,le.newValue)}};a(le),w(f.parentId,q,j),u(c+1)}}break;default:const _=o(f.id),J=_?_.lx:f.lx;if(x.current=D(f,j),x.current)C.current=j,g(J);else{const Q={name:"Set Solar Panel Array Length",timestamp:Date.now(),oldValue:J,newValue:j,changedElementId:f.id,changedElementType:f.type,undo:()=>{v(Q.changedElementId,Q.oldValue)},redo:()=>{v(Q.changedElementId,Q.newValue)}};a(Q),v(f.id,j),u(c+1)}}},U=j=>{let Y=j??1;return Y=Math.max(1,Math.ceil((Y-y/2)/y))*y,Y},F=()=>{x.current=!1,t(!1)},W=()=>{F(),d()},B=()=>{L(p),x.current||(t(!1),u(0))},k=()=>{L(p)},N=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Length",b),rejectedMessage:N,onApply:k,onClose:F,onClickCancel:W,onClickOk:B,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:y,max:100*y,step:y,style:{width:120},precision:2,value:p,onChange:j=>{j!==null&&g(U(j))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[Math.round(p/y)+" "+O.t("solarPanelMenu.PanelsWide",b),h.jsx("br",{}),O.t("word.MaximumNumber",b),": 100 ",O.t("solarPanelMenu.Panels",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},V0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(J2),r=M(rr),a=M(En),l=M(i1),s=M(r1),c=M(ro),u=M(oo),d=M(ca),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.ly)??2),[y,A]=m.useState(0),x=m.useRef(!1),C=m.useRef(),b=Kt();m.useEffect(()=>{if(f){const j=i(f.pvModelName)??i("SPR-X21-335-BLK");A(f.orientation===ci.portrait?j.length:j.width),g(f.ly)}},[f]);const v=(j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&J.id===j&&!J.locked){const Q=J,ee=_.getPvModule(Q.pvModelName);J.ly=be.panelizeLy(Q,ee,Y);break}})},S=(j,Y)=>{e(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&J.foundationId===j&&!J.locked){const Q=J,ee=_.getPvModule(Q.pvModelName);J.ly=be.panelizeLy(Q,ee,Y)}})},w=(j,Y,_)=>{e(J=>{for(const Q of J.elements)if(Q.type===z.SolarPanel&&!Q.locked){let ee;if(Y?ee=Q.parentId===j&&be.isIdentical(Q.normal,Y):ee=Q.parentId===j,ee){const $=Q,q=J.getPvModule($.pvModelName);Q.ly=be.panelizeLy($,q,_)}}})},T=j=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&!_.locked){const J=_,Q=Y.getPvModule(J.pvModelName);_.ly=be.panelizeLy(J,Q,j)}})},P=(j,Y)=>{M.getState().set(_=>{for(const J of _.elements)if(J.type===z.SolarPanel&&!J.locked&&j.has(J.id)){const Q=J,ee=_.getPvModule(Q.pvModelName);J.ly=be.panelizeLy(Q,ee,Y)}})},R=j=>{s(j.target.value)},H=(j,Y)=>{const _=r(j);if(_){if(_.type===z.Cuboid&&!be.isIdentical(j.normal,o0))return!0;const J=JSON.parse(JSON.stringify(j));return J.ly=Y,_.type===z.Wall?be.checkElementOnWallState(J,_)===fc.Valid:_.type===z.Roof?be.checkElementOnRoofState(J,_)===fc.Valid:be.isSolarCollectorWithinHorizontalSurface(J,_)}return!1},D=(j,Y)=>j.tiltAngle!==0&&.5*Y*Math.abs(Math.sin(j.tiltAngle))>j.poleHeight||!H(j,Y),E=j=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&M.getState().selectedElementIdSet.has(_.id)&&Math.abs(_.ly-j)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&Math.abs(_.ly-j)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const _ of n)if(_.type===z.SolarPanel&&_.foundationId===(f==null?void 0:f.foundationId)&&!_.locked&&Math.abs(_.ly-j)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const Y=r(f);if(Y){if(Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&be.isIdentical(J.normal,f.normal)&&!J.locked&&Math.abs(J.ly-j)>kt)return!0}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&!J.locked&&Math.abs(J.ly-j)>kt)return!0}break;default:if(Math.abs((f==null?void 0:f.ly)-j)>kt)return!0}return!1}},L=j=>{if(f&&E(j))switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Q.id)&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.ly);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&M.getState().selectedElementIdSet.has($.id)&&Q.set($.id,$.ly);const ee={name:"Set Width for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:Q,newValue:j,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{P(ee.oldValues,ee.newValue)}};a(ee),P(Q,j),u(c+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.ly);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&Q.set($.id,$.ly);const ee={name:"Set Width for All Solar Panel Arrays",timestamp:Date.now(),oldValues:Q,newValue:j,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{T(ee.newValue)}};a(ee),T(j),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){x.current=!1;for(const Q of n)if(Q.type===z.SolarPanel&&Q.foundationId===f.foundationId&&D(Q,j)){x.current=!0;break}if(x.current)C.current=j,g(f.ly);else{const Q=new Map;for(const $ of n)$.type===z.SolarPanel&&$.foundationId===f.foundationId&&Q.set($.id,$.ly);const ee={name:"Set Width for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:Q,newValue:j,groupId:f.foundationId,undo:()=>{for(const[$,q]of ee.oldValues.entries())v($,q)},redo:()=>{ee.groupId&&S(ee.groupId,ee.newValue)}};a(ee),S(f.foundationId,j),u(c+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const Y=r(f);if(Y){if(x.current=!1,Y.type===z.Cuboid){for(const ee of n)if(ee.type===z.SolarPanel&&ee.parentId===f.parentId&&be.isIdentical(ee.normal,f.normal)&&D(ee,j)){x.current=!0;break}}else for(const ee of n)if(ee.type===z.SolarPanel&&ee.parentId===f.parentId&&D(ee,j)){x.current=!0;break}if(x.current)C.current=j,g(f.ly);else{const ee=new Map,$=Y.type===z.Cuboid;if($)for(const ie of n)ie.type===z.SolarPanel&&ie.parentId===f.parentId&&be.isIdentical(ie.normal,f.normal)&&ee.set(ie.id,ie.ly);else for(const ie of n)ie.type===z.SolarPanel&&ie.parentId===f.parentId&&ee.set(ie.id,ie.ly);const q=$?f.normal:void 0,le={name:"Set Width for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:ee,newValue:j,groupId:f.parentId,normal:q,undo:()=>{for(const[ie,pe]of le.oldValues.entries())v(ie,pe)},redo:()=>{le.groupId&&w(le.groupId,le.normal,le.newValue)}};a(le),w(f.parentId,q,j),u(c+1)}}break;default:const _=o(f.id),J=_?_.ly:f.ly;if(x.current=D(f,j),x.current)C.current=j,g(J);else{const Q={name:"Set Solar Panel Array Width",timestamp:Date.now(),oldValue:J,newValue:j,changedElementId:f.id,changedElementType:f.type,undo:()=>{v(Q.changedElementId,Q.oldValue)},redo:()=>{v(Q.changedElementId,Q.newValue)}};a(Q),v(f.id,j),u(c+1)}}},U=()=>{x.current=!1,t(!1)},F=()=>{U(),d()},W=()=>{L(p),x.current||(t(!1),u(0))},B=j=>{let Y=j??1;return Y=Math.max(1,Math.ceil((Y-y/2)/y))*y,Y},k=()=>{L(p)},N=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("word.Width",b),rejectedMessage:N,onApply:k,onClose:U,onClickCancel:F,onClickOk:W,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:y,max:100*y,step:y,style:{width:120},precision:2,value:p,onChange:j=>{j!==null&&g(B(j))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[Math.round(p/y)+" "+O.t("solarPanelMenu.PanelsLong",b),h.jsx("br",{}),O.t("word.MaximumNumber",b),": 100 ",O.t("solarPanelMenu.Panels",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:R,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},G0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(i1),l=M(r1),s=M(ro),c=M(oo),u=M(P=>P.elements.find(R=>R.selected&&R.type===z.SolarPanel)),[d,f]=m.useState((u==null?void 0:u.inverterEfficiency)??.95),p=Kt(),g=(P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===P&&!D.locked){D.inverterEfficiency=R;break}})},y=(P,R)=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&D.foundationId===P&&!D.locked&&(D.inverterEfficiency=R)})},A=(P,R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.SolarPanel&&!E.locked){let L;R?L=E.parentId===P&&be.isIdentical(E.normal,R):L=E.parentId===P,L&&(E.inverterEfficiency=H)}})},x=P=>{e(R=>{for(const H of R.elements)H.type===z.SolarPanel&&!H.locked&&(H.inverterEfficiency=P)})},C=(P,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&P.has(D.id)&&(D.inverterEfficiency=R)})},b=P=>{l(P.target.value)},v=P=>{switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.inverterEfficiency??.95)-P)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&Math.abs((H.inverterEfficiency??.95)-P)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.SolarPanel&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.inverterEfficiency??.95)-P)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&be.isIdentical(D.normal,u.normal)&&!D.locked&&Math.abs((D.inverterEfficiency??.95)-P)>kt)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&Math.abs((D.inverterEfficiency??.95)-P)>kt)return!0}break;default:if(Math.abs(((u==null?void 0:u.inverterEfficiency)??.95)-P)>kt)return!0}return!1},S=P=>{if(u&&v(P))switch(a){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.inverterEfficiency??.95);const U={name:"Set Inverter Efficiency for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{C(U.oldValues,U.newValue)}};r(U),C(L,P),c(s+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&L.set(F.id,F.inverterEfficiency??.95);const U={name:"Set Inverter Efficiency for All Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{x(U.newValue)}};r(U),x(P),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===u.foundationId&&L.set(F.id,F.inverterEfficiency??.95);const U={name:"Set Inverter Efficiency for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{U.groupId&&y(U.groupId,U.newValue)}};r(U),y(u.foundationId,P),c(s+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){const L=new Map,U=R.type===z.Cuboid;if(U)for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&be.isIdentical(B.normal,u.normal)&&L.set(B.id,B.inverterEfficiency??.95);else for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&L.set(B.id,B.inverterEfficiency??.95);const F=U?u.normal:void 0,W={name:"Set Inverter Efficiency for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.parentId,normal:F,undo:()=>{for(const[B,k]of W.oldValues.entries())g(B,k)},redo:()=>{W.groupId&&A(W.groupId,W.normal,W.newValue)}};r(W),A(u.parentId,F,P),c(s+1)}break;default:const H=o(u.id),D=H?H.inverterEfficiency??.95:u.inverterEfficiency??.95,E={name:"Set Solar Panel Array Inverter Efficiency",timestamp:Date.now(),oldValue:D,newValue:P,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(E.changedElementId,E.oldValue)},redo:()=>{g(E.changedElementId,E.newValue)}};r(E),g(u.id,P),c(s+1)}},w=()=>{t(!1)},T=()=>{S(d)};return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.InverterEfficiency",p),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.5,max:1,step:.01,style:{width:120},precision:2,value:d,onChange:P=>{P!==null&&f(P)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:["[0.5, 1.0]",h.jsx("br",{}),O.t("solarPanelMenu.InverterEfficiencyExplained",p)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},X0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Sc),o=M(Jn),i=M(jn),r=M(rr),a=M(En),l=M(i1),s=M(r1),c=M(ro),u=M(oo),d=M(ca),f=M(k=>k.elements.find(N=>N.selected&&N.type===z.SolarPanel)),[p,g]=m.useState(!1),[y,A]=m.useState(!1),[x,C]=m.useState({left:0,top:0,bottom:0,right:0}),b=m.useRef(null),v=m.useRef((f==null?void 0:f.dcToAcRatio)??1),S={lng:n};m.useEffect(()=>{f&&(v.current=f.dcToAcRatio??1)},[f.dcToAcRatio]);const w=(k,N)=>{e(j=>{for(const Y of j.elements)if(Y.type===z.SolarPanel&&Y.id===k&&!Y.locked){Y.dcToAcRatio=N;break}})},T=(k,N)=>{e(j=>{for(const Y of j.elements)Y.type===z.SolarPanel&&Y.foundationId===k&&!Y.locked&&(Y.dcToAcRatio=N)})},P=(k,N,j)=>{e(Y=>{for(const _ of Y.elements)if(_.type===z.SolarPanel&&!_.locked){let J;N?J=_.parentId===k&&be.isIdentical(_.normal,N):J=_.parentId===k,J&&(_.dcToAcRatio=j)}})},R=k=>{e(N=>{for(const j of N.elements)j.type===z.SolarPanel&&!j.locked&&(j.dcToAcRatio=k)})},H=(k,N)=>{M.getState().set(j=>{for(const Y of j.elements)Y.type===z.SolarPanel&&!Y.locked&&k.has(Y.id)&&(Y.dcToAcRatio=N)})},D=k=>{s(k.target.value),g(!p)},E=k=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const j of o)if(j.type===z.SolarPanel&&!j.locked&&M.getState().selectedElementIdSet.has(j.id)&&Math.abs((j.dcToAcRatio??1)-k)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const j of o)if(j.type===z.SolarPanel&&!j.locked&&Math.abs((j.dcToAcRatio??1)-k)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const j of o)if(j.type===z.SolarPanel&&j.foundationId===(f==null?void 0:f.foundationId)&&!j.locked&&Math.abs((j.dcToAcRatio??1)-k)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const N=r(f);if(N){if(N.type===z.Cuboid){for(const Y of o)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&be.isIdentical(Y.normal,f.normal)&&!Y.locked&&Math.abs((Y.dcToAcRatio??1)-k)>kt)return!0}else for(const Y of o)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&!Y.locked&&Math.abs((Y.dcToAcRatio??1)-k)>kt)return!0}break;default:if(Math.abs(((f==null?void 0:f.dcToAcRatio)??1)-k)>kt)return!0}return!1},L=k=>{if(f&&E(k)){switch(l){case ue.AllSelectedObjectsOfThisType:{const J=new Map;for(const ee of o)ee.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(ee.id)&&J.set(ee.id,ee.dcToAcRatio??1);const Q={name:"Set DC-AC Ratio for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:J,newValue:k,undo:()=>{for(const[ee,$]of Q.oldValues.entries())w(ee,$)},redo:()=>{H(Q.oldValues,Q.newValue)}};a(Q),H(J,k),u(c+1);break}case ue.AllObjectsOfThisType:{const J=new Map;for(const ee of o)ee.type===z.SolarPanel&&J.set(ee.id,ee.dcToAcRatio??1);const Q={name:"Set DC-AC Ratio for All Solar Panel Arrays",timestamp:Date.now(),oldValues:J,newValue:k,undo:()=>{for(const[ee,$]of Q.oldValues.entries())w(ee,$)},redo:()=>{R(Q.newValue)}};a(Q),R(k),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const J=new Map;for(const ee of o)ee.type===z.SolarPanel&&ee.foundationId===f.foundationId&&J.set(ee.id,ee.dcToAcRatio??1);const Q={name:"Set DC-AC Ratio for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:J,newValue:k,groupId:f.foundationId,undo:()=>{for(const[ee,$]of Q.oldValues.entries())w(ee,$)},redo:()=>{Q.groupId&&T(Q.groupId,Q.newValue)}};a(Q),T(f.foundationId,k),u(c+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const N=r(f);if(N){const J=new Map,Q=N.type===z.Cuboid;if(Q)for(const q of o)q.type===z.SolarPanel&&q.parentId===f.parentId&&be.isIdentical(q.normal,f.normal)&&J.set(q.id,q.dcToAcRatio??1);else for(const q of o)q.type===z.SolarPanel&&q.parentId===f.parentId&&J.set(q.id,q.dcToAcRatio??1);const ee=Q?f.normal:void 0,$={name:"Set DC-AC Ratio for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:J,newValue:k,groupId:f.parentId,normal:ee,undo:()=>{for(const[q,le]of $.oldValues.entries())w(q,le)},redo:()=>{$.groupId&&P($.groupId,$.normal,$.newValue)}};a($),P(f.parentId,ee,k),u(c+1)}break;default:const j=i(f.id),Y=j?j.dcToAcRatio??1:f.dcToAcRatio??1,_={name:"Set Solar Panel Array DC-AC Ratio",timestamp:Date.now(),oldValue:Y,newValue:k,changedElementId:f.id,changedElementType:f.type,undo:()=>{w(_.changedElementId,_.oldValue)},redo:()=>{w(_.changedElementId,_.newValue)}};a(_),w(f.id,k),u(c+1)}g(!p)}},U=(k,N)=>{if(b.current){const{clientWidth:j,clientHeight:Y}=window.document.documentElement,_=b.current.getBoundingClientRect();C({left:-_.left+N.x,right:j-(_.right-N.x),top:-_.top+N.y,bottom:Y-((_==null?void 0:_.bottom)-N.y)})}},F=()=>{v.current=f.dcToAcRatio??1,t(!1)},W=()=>{F(),d()},B=()=>{L(v.current),t(!1),u(0)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:O.t("solarPanelMenu.DcToAcSizeRatio",S)}),footer:[h.jsx(no,{onClick:()=>{L(v.current)},children:O.t("word.Apply",S)},"Apply"),h.jsx(no,{onClick:W,children:O.t("word.Cancel",S)},"Cancel"),h.jsx(no,{type:"primary",onClick:B,children:O.t("word.OK",S)},"OK")],onCancel:F,maskClosable:!1,destroyOnClose:!1,modalRender:k=>h.jsx(Vr,{disabled:!y,bounds:x,onStart:(N,j)=>U(N,j),children:h.jsx("div",{ref:b,children:k})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:2,step:.01,style:{width:120},precision:2,value:v.current,onChange:k=>{k!==null&&(v.current=k,g(!p))},onPressEnter:B}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:["[1.0, 2.0]",h.jsx("br",{}),O.t("solarPanelMenu.DcToAcSizeRatioExplained",S)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:D,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",S)})]})})})]})})})},JRe=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rge),r=M(rr),a=M(En),l=M(i1),s=M(r1),c=M(ro),u=M(oo),d=M(ca),f=co(z.SolarPanel),p=(f==null?void 0:f.tiltAngle)??0,g=(f==null?void 0:f.parentType)===z.Wall,[y,A]=m.useState(g?-p:p),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=(W,B,k)=>{e(N=>{for(const j of N.elements)if(j.type===z.SolarPanel&&j.foundationId===W&&!j.locked){const Y=j;Y.parentType===z.Wall?Y.tiltAngle=Math.min(0,k?-B:B):Y.tiltAngle=B}})},S=(W,B,k)=>{e(N=>{for(const j of N.elements)if(j.type===z.SolarPanel&&!j.locked){let Y;if(B?Y=j.parentId===W&&be.isIdentical(j.normal,B):Y=j.parentId===W,Y){const _=j;_.tiltAngle=k}}})},w=(W,B)=>{e(k=>{for(const N of k.elements)if(N.type===z.SolarPanel&&!N.locked){const j=N;j.parentType===z.Wall?j.tiltAngle=Math.min(0,B?-W:W):j.tiltAngle=W}})},T=(W,B,k)=>{M.getState().set(N=>{for(const j of N.elements)if(j.type===z.SolarPanel&&!j.locked&&W.has(j.id)){const Y=j;Y.parentType===z.Wall?Y.tiltAngle=Math.min(0,k?-B:B):Y.tiltAngle=B}})},P=W=>{s(W.target.value)},R=W=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:for(const k of n)if(k.type===z.SolarPanel&&!k.locked&&M.getState().selectedElementIdSet.has(k.id)&&Math.abs(k.tiltAngle-W)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const k of n)if(k.type===z.SolarPanel&&!k.locked&&Math.abs(k.tiltAngle-W)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const k of n)if(k.type===z.SolarPanel&&k.foundationId===(f==null?void 0:f.foundationId)&&!k.locked&&Math.abs(k.tiltAngle-W)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const B=r(f);if(B){if(B.type===z.Cuboid){for(const N of n)if(N.type===z.SolarPanel&&N.parentId===f.parentId&&be.isIdentical(N.normal,f.normal)&&!N.locked&&Math.abs(N.tiltAngle-W)>kt)return!0}else for(const N of n)if(N.type===z.SolarPanel&&N.parentId===f.parentId&&!N.locked&&Math.abs(N.tiltAngle-W)>kt)return!0}break;default:if(Math.abs((f==null?void 0:f.tiltAngle)-W)>kt)return!0}return!1}},H=W=>{if(g&&(W=-W),!!f&&R(W)){switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const j of n)if(j.type===z.SolarPanel&&j.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(j.id)&&.5*j.ly*Math.abs(Math.sin(W))>j.poleHeight){x.current=!0;break}if(x.current)C.current=W,A(f.tiltAngle);else{const j=new Map;for(const _ of n)_.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(_.id)&&j.set(_.id,_.tiltAngle);const Y={name:"Set Tilt Angle for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:j,newValue:W,undo:()=>{for(const[_,J]of Y.oldValues.entries())i(_,J)},redo:()=>{T(Y.oldValues,Y.newValue,!g)}};a(Y),T(j,W,!g),u(c+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const j of n)if(j.type===z.SolarPanel&&j.parentType!==z.Wall&&.5*j.ly*Math.abs(Math.sin(W))>j.poleHeight){x.current=!0;break}if(x.current)C.current=W,A(f.tiltAngle);else{const j=new Map;for(const _ of n)_.type===z.SolarPanel&&j.set(_.id,_.tiltAngle);const Y={name:"Set Tilt Angle for All Solar Panel Arrays",timestamp:Date.now(),oldValues:j,newValue:W,undo:()=>{for(const[_,J]of Y.oldValues.entries())i(_,J)},redo:()=>{w(Y.newValue,!g)}};a(Y),w(W,!g),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){x.current=!1;for(const j of n)if(j.type===z.SolarPanel&&j.foundationId===f.foundationId&&j.parentType!==z.Wall&&.5*j.ly*Math.abs(Math.sin(W))>j.poleHeight){x.current=!0;break}if(x.current)C.current=W,A(f.tiltAngle);else{const j=new Map;for(const _ of n)_.type===z.SolarPanel&&_.foundationId===f.foundationId&&j.set(_.id,_.tiltAngle);const Y={name:"Set Tilt Angle for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:j,newValue:W,groupId:f.foundationId,undo:()=>{for(const[_,J]of Y.oldValues.entries())i(_,J);Y.oldValues.size%2===0&&M.getState().set(_=>{})},redo:()=>{Y.groupId&&v(Y.groupId,Y.newValue,!g)}};a(Y),v(f.foundationId,W,!g),u(c+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const B=r(f);if(B){x.current=!1;const j=B.type===z.Cuboid;if(j){for(const Y of n)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&be.isIdentical(Y.normal,f.normal)&&.5*Y.ly*Math.abs(Math.sin(W))>Y.poleHeight){x.current=!0;break}}else if(f.parentType===z.Wall)x.current=!1;else for(const Y of n)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&.5*Y.ly*Math.abs(Math.sin(W))>Y.poleHeight){x.current=!0;break}if(x.current)C.current=W,A(f.tiltAngle);else{const Y=new Map;if(j)for(const Q of n)Q.type===z.SolarPanel&&Q.parentId===f.parentId&&be.isIdentical(Q.normal,f.normal)&&Y.set(Q.id,Q.tiltAngle);else for(const Q of n)Q.type===z.SolarPanel&&Q.parentId===f.parentId&&Y.set(Q.id,Q.tiltAngle);const _=j?f.normal:void 0,J={name:"Set Tilt Angle for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:Y,newValue:W,groupId:f.parentId,normal:_,undo:()=>{for(const[Q,ee]of J.oldValues.entries())i(Q,ee);J.oldValues.size%2===0&&M.getState().set(Q=>{})},redo:()=>{J.groupId&&S(J.groupId,J.normal,J.newValue)}};a(J),S(f.parentId,_,W),u(c+1)}}break;default:const k=o(f.id),N=k?k.tiltAngle:f.tiltAngle;if(x.current=.5*f.ly*Math.abs(Math.sin(W))>f.poleHeight,f.parentType===z.Wall&&(x.current=!1),x.current)C.current=W,A(N);else{const j={name:"Set Solar Panel Array Tilt Angle",timestamp:Date.now(),oldValue:N,newValue:W,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(j.changedElementId,j.oldValue)},redo:()=>{i(j.changedElementId,j.newValue)}};a(j),i(f.id,W),u(c+1)}}e(B=>{B.actionState.solarPanelTiltAngle=W})}},D=()=>{x.current=!1,t(!1)},E=()=>{D(),d()},L=()=>{H(y),x.current||(t(!1),u(0))},U=()=>{H(y)},F=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+be.toDegrees(C.current).toFixed(1)+"°)":null):null;return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.TiltAngle",b),rejectedMessage:F,onApply:U,onClose:D,onClickCancel:E,onClickOk:L,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:g?0:-90,max:90,style:{width:120},precision:2,value:parseFloat(be.toDegrees(y).toFixed(2)),step:1,formatter:W=>`${W}°`,onChange:W=>{W!==null&&A(be.toRadians(W))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [",g?"0°":"-90°",", 90°]",h.jsx("br",{}),O.t("solarPanelMenu.SouthFacingIsPositive",b)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:18,children:h.jsx(Be.Group,{onChange:P,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},J0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(age),r=M(zwt),a=M(Dwt),l=M(Ewt),s=M(rr),c=M(En),u=M(i1),d=M(r1),f=M(ro),p=M(oo),g=M(ca),y=co(z.SolarPanel),A=m.useRef(!1),x=m.useRef(),[C,b]=m.useState(y?-y.relativeAzimuth:0),v=Kt(),S=W=>{d(W.target.value)},w=(W,B)=>{const k=s(W);if(k){if(k.type===z.Cuboid&&!be.isIdentical(W.normal,o0))return!0;const N=JSON.parse(JSON.stringify(W));return N.relativeAzimuth=-B,k.type===z.Roof?be.checkElementOnRoofState(N,k)===fc.Valid:be.isSolarCollectorWithinHorizontalSurface(N,k)}return!1},T=(W,B)=>!w(W,B),P=W=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const B of n)if(B.type===z.SolarPanel&&!B.locked&&B.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(B.id)&&Math.abs(-B.relativeAzimuth-W)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const B of n)if(B.type===z.SolarPanel&&!B.locked&&B.parentType!==z.Wall&&Math.abs(-B.relativeAzimuth-W)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const B of n)if(B.type===z.SolarPanel&&B.foundationId===(y==null?void 0:y.foundationId)&&!B.locked&&B.parentType!==z.Wall&&Math.abs(-B.relativeAzimuth-W)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(y!=null&&y.parentId){const B=s(y);if(B){if(B.type===z.Cuboid){for(const N of n)if(N.type===z.SolarPanel&&N.parentId===y.parentId&&be.isIdentical(N.normal,y.normal)&&!N.locked&&Math.abs(-N.relativeAzimuth-W)>kt)return!0}else for(const N of n)if(N.type===z.SolarPanel&&N.parentId===y.parentId&&!N.locked&&Math.abs(-N.relativeAzimuth-W)>kt)return!0}}break;default:if(Math.abs(-(y==null?void 0:y.relativeAzimuth)-W)>kt)return!0}return!1}},R=(W,B)=>{M.getState().set(k=>{for(const N of k.elements)if(N.type===z.SolarPanel&&!N.locked&&W.has(N.id)){const j=N;j.relativeAzimuth=B}})},H=W=>{if(y&&P(W)){switch(x.current=void 0,u){case ue.AllSelectedObjectsOfThisType:{A.current=!1;for(const N of n)if(N.type===z.SolarPanel&&N.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(N.id)&&T(N,W)){A.current=!0;break}if(A.current)x.current=W,b(-y.relativeAzimuth);else{const N=new Map;for(const Y of n)Y.type===z.SolarPanel&&Y.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(Y.id)&&N.set(Y.id,-Y.relativeAzimuth);const j={name:"Set Relative Azimuth for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[Y,_]of j.oldValues.entries())i(Y,-_)},redo:()=>{R(j.oldValues,j.newValue)}};c(j),R(N,-W),p(f+1)}break}case ue.AllObjectsOfThisType:{A.current=!1;for(const N of n)if(N.type===z.SolarPanel&&N.parentType!==z.Wall&&T(N,W)){A.current=!0;break}if(A.current)x.current=W,b(-y.relativeAzimuth);else{const N=new Map;for(const Y of n)Y.type===z.SolarPanel&&Y.parentType!==z.Wall&&N.set(Y.id,-Y.relativeAzimuth);const j={name:"Set Relative Azimuth for All Solar Panel Arrays",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[Y,_]of j.oldValues.entries())i(Y,-_)},redo:()=>{l(z.SolarPanel,-j.newValue)}};c(j),l(z.SolarPanel,-W),p(f+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(y.foundationId){A.current=!1;for(const N of n)if(N.type===z.SolarPanel&&N.foundationId===y.foundationId&&N.parentType!==z.Wall&&T(N,W)){A.current=!0;break}if(A.current)x.current=W,b(-y.relativeAzimuth);else{const N=new Map;for(const Y of n)Y.type===z.SolarPanel&&Y.foundationId===y.foundationId&&Y.parentType!==z.Wall&&N.set(Y.id,-Y.relativeAzimuth);const j={name:"Set Relative Azimuth for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:y.foundationId,undo:()=>{for(const[Y,_]of j.oldValues.entries())i(Y,-_)},redo:()=>{j.groupId&&a(z.SolarPanel,j.groupId,-j.newValue)}};c(j),a(z.SolarPanel,y.foundationId,-W),p(f+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:if(y.parentId){const N=s(y);if(N){if(A.current=!1,N.type===z.Cuboid){for(const Y of n)if(Y.type===z.SolarPanel&&Y.parentId===y.parentId&&be.isIdentical(Y.normal,y.normal)&&T(Y,W)){A.current=!0;break}}else for(const Y of n)if(Y.type===z.SolarPanel&&Y.parentId===y.parentId&&T(Y,W)){A.current=!0;break}if(A.current)x.current=W,b(-y.relativeAzimuth);else{const Y=new Map,_=N.type===z.Cuboid;if(_)for(const ee of n)ee.type===z.SolarPanel&&ee.parentId===y.parentId&&be.isIdentical(ee.normal,y.normal)&&Y.set(ee.id,-ee.relativeAzimuth);else for(const ee of n)ee.type===z.SolarPanel&&ee.parentId===y.parentId&&Y.set(ee.id,-ee.relativeAzimuth);const J=_?y.normal:void 0,Q={name:"Set Relative Azimuth for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:Y,newValue:W,groupId:y.parentId,normal:J,undo:()=>{for(const[ee,$]of Q.oldValues.entries())i(ee,-$)},redo:()=>{Q.groupId&&r(z.SolarPanel,Q.groupId,Q.normal,-Q.newValue)}};c(Q),r(z.SolarPanel,y.parentId,J,-W),p(f+1)}}}break;default:const B=o(y.id),k=B?-B.relativeAzimuth:-y.relativeAzimuth;if(A.current=T(y,W),A.current)x.current=W,b(k);else{const N={name:"Set Solar Panel Array Relative Azimuth",timestamp:Date.now(),oldValue:k,newValue:W,changedElementId:y.id,changedElementType:y.type,undo:()=>{i(N.changedElementId,-N.oldValue)},redo:()=>{i(N.changedElementId,-N.newValue)}};c(N),i(y.id,-W),p(f+1)}}e(B=>{B.actionState.solarPanelRelativeAzimuth=-W})}},D=()=>{A.current=!1,t(!1)},E=()=>{D(),g()},L=()=>{H(C),A.current||(t(!1),p(0))},U=()=>{H(C)},F=A.current?": "+O.t("message.NotApplicableToSelectedAction",v)+(x.current!==void 0?" ("+be.toDegrees(x.current).toFixed(1)+"°)":null):null;return h.jsx(lo,{width:550,title:O.t("solarCollectorMenu.RelativeAzimuth",v),rejectedMessage:F,onApply:U,onClose:D,onClickCancel:E,onClickOk:L,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(be.toDegrees(C).toFixed(2)),formatter:W=>`${W}°`,onChange:W=>{W!==null&&b(be.toRadians(W))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",v),": [-180°, 180°]",h.jsx("br",{}),O.t("message.AzimuthOfNorthIsZero",v),h.jsx("br",{}),O.t("message.CounterclockwiseAzimuthIsPositive",v)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:18,children:h.jsx(Be.Group,{onChange:S,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",v)})]})})})]})})},K0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(i1),l=M(r1),s=M(ro),c=M(oo),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.trackerType)??Ma.NO_TRACKER),p=Kt(),{Option:g}=Yo,y=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.SolarPanel&&E.id===R&&!E.locked){E.trackerType=H;break}})},A=(R,H)=>{e(D=>{for(const E of D.elements)E.type===z.SolarPanel&&E.foundationId===R&&!E.locked&&(E.trackerType=H)})},x=(R,H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.SolarPanel&&!L.locked){let U;H?U=L.parentId===R&&be.isIdentical(L.normal,H):U=L.parentId===R,U&&(L.trackerType=D)}})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&(D.trackerType=R)})},b=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)E.type===z.SolarPanel&&!E.locked&&R.has(E.id)&&(E.trackerType=H)})},v=R=>{l(R.target.value)},S=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.SolarPanel&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&D.trackerType!==R)return!0;break;case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.SolarPanel&&!D.locked&&D.trackerType!==R)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.SolarPanel&&D.foundationId===(u==null?void 0:u.foundationId)&&!D.locked&&D.trackerType!==R)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const H=i(u);if(H){if(H.type===z.Cuboid){for(const E of n)if(E.type===z.SolarPanel&&E.parentId===u.parentId&&be.isIdentical(E.normal,u.normal)&&!E.locked&&E.trackerType!==R)return!0}else for(const E of n)if(E.type===z.SolarPanel&&E.parentId===u.parentId&&!E.locked&&E.trackerType!==R)return!0}break;default:if((u==null?void 0:u.trackerType)!==R)return!0}return!1}},w=R=>{if(u&&S(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(W.id)&&U.set(W.id,W.trackerType);const F={name:"Set Tracker Type for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:R,undo:()=>{for(const[W,B]of F.oldValues.entries())y(W,B)},redo:()=>{b(F.oldValues,F.newValue)}};r(F),b(U,R),c(s+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.SolarPanel&&U.set(W.id,W.trackerType);const F={name:"Set Tracker Type for All Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:R,undo:()=>{for(const[W,B]of F.oldValues.entries())y(W,B)},redo:()=>{C(F.newValue)}};r(F),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const U=new Map;for(const W of n)W.type===z.SolarPanel&&W.foundationId===u.foundationId&&U.set(W.id,W.trackerType);const F={name:"Set Tracker Type for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:U,newValue:R,groupId:u.foundationId,undo:()=>{for(const[W,B]of F.oldValues.entries())y(W,B)},redo:()=>{F.groupId&&A(F.groupId,F.newValue)}};r(F),A(u.foundationId,R),c(s+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const H=i(u);if(H){const U=new Map,F=H.type===z.Cuboid;if(F)for(const k of n)k.type===z.SolarPanel&&k.parentId===u.parentId&&be.isIdentical(k.normal,u.normal)&&U.set(k.id,k.trackerType);else for(const k of n)k.type===z.SolarPanel&&k.parentId===u.parentId&&U.set(k.id,k.trackerType);const W=F?u.normal:void 0,B={name:"Set Tracker Type for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:U,newValue:R,groupId:u.parentId,normal:W,undo:()=>{for(const[k,N]of B.oldValues.entries())y(k,N)},redo:()=>{B.groupId&&x(B.groupId,B.normal,B.newValue)}};r(B),x(u.parentId,W,R),c(s+1)}break;default:const D=o(u.id),E=D?D.trackerType:u.trackerType,L={name:"Set Solar Panel Array Tracker Type",timestamp:Date.now(),oldValue:E,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{y(L.changedElementId,L.oldValue)},redo:()=>{y(L.changedElementId,L.newValue)}};r(L),y(u.id,R),c(s+1)}},T=()=>{t(!1)},P=()=>{w(d)};return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.Tracker",p),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsxs(Yo,{style:{width:"120px"},value:d,onChange:R=>f(R),children:[h.jsx(g,{value:Ma.NO_TRACKER,title:O.t("solarPanelMenu.NoTracker",p),children:O.t("word.None",p)},"NONE"),h.jsx(g,{value:Ma.HORIZONTAL_SINGLE_AXIS_TRACKER,title:O.t("solarPanelMenu.HorizontalSingleAxisTracker",p),children:"HSAT"},"HSAT"),h.jsx(g,{value:Ma.VERTICAL_SINGLE_AXIS_TRACKER,title:O.t("solarPanelMenu.VerticalSingleAxisTracker",p),children:"VSAT"},"VSAT"),h.jsx(g,{value:Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER,title:O.t("solarPanelMenu.AltazimuthDualAxisTracker",p),children:"AADAT"},"AADAT")]}),h.jsx("div",{style:{paddingTop:"20px",paddingRight:"10px",textAlign:"left",fontSize:"11px"},children:O.t("solarPanelMenu.SolarTrackerFollowsSun",p)})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},q0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(i1),l=M(r1),s=M(ro),c=M(oo),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.frameColor)??"white"),p=Kt(),g=(P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===P&&!D.locked){D.frameColor=R;break}})},y=(P,R)=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&D.foundationId===P&&!D.locked&&(D.frameColor=R)})},A=(P,R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.SolarPanel&&!E.locked){let L;R?L=E.parentId===P&&be.isIdentical(E.normal,R):L=E.parentId===P,L&&(E.frameColor=H)}})},x=P=>{e(R=>{for(const H of R.elements)H.type===z.SolarPanel&&!H.locked&&(H.frameColor=P)})},C=(P,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&P.has(D.id)&&(D.frameColor=R)})},b=P=>{l(P.target.value)},v=P=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&H.frameColor!==P)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&H.frameColor!==P)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.SolarPanel&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&H.frameColor!==P)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&be.isIdentical(D.normal,u.normal)&&!D.locked&&D.frameColor!==P)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&D.frameColor!==P)return!0}break;default:if((u==null?void 0:u.frameColor)!==P)return!0}return!1}},S=P=>{if(u&&v(P)){switch(a){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.frameColor??"white");const U={name:"Set Frame Color for Selected Solar Panels",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{C(U.oldValues,U.newValue)}};r(U),C(L,P),c(s+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&L.set(F.id,F.frameColor??"white");const U={name:"Set Frame Color for All Solar Panels",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{x(U.newValue)}};r(U),x(P),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===u.foundationId&&L.set(F.id,F.frameColor??"white");const U={name:"Set Frame Color for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{U.groupId&&y(U.groupId,U.newValue)}};r(U),y(u.foundationId,P),c(s+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){const L=new Map,U=R.type===z.Cuboid;if(U)for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&be.isIdentical(B.normal,u.normal)&&L.set(B.id,B.frameColor??"white");else for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&L.set(B.id,B.frameColor??"white");const F=U?u.normal:void 0,W={name:"Set Frame Color for All Solar Panels on Surface",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.parentId,normal:F,undo:()=>{for(const[B,k]of W.oldValues.entries())g(B,k)},redo:()=>{W.groupId&&A(W.groupId,W.normal,W.newValue)}};r(W),A(u.parentId,F,P),c(s+1)}break;default:const H=o(u.id),D=H?H.frameColor:u.frameColor,E={name:"Set Frame Color of Selected Solar Panel",timestamp:Date.now(),oldValue:D,newValue:P,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(u.id,E.oldValue)},redo:()=>{g(u.id,E.newValue)}};r(E),g(u.id,P),c(s+1)}e(R=>{R.actionState.solarPanelFrameColor=P})}},w=()=>{t(!1)},T=()=>{S(d)};return h.jsx(lo,{width:680,title:O.t("solarPanelMenu.FrameColor",p),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:10,children:h.jsx(Cf,{color:d??(u==null?void 0:u.color)??"white",onChangeComplete:P=>{f(P.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},$0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(Bwt),a=M(rW),l=M(aW),s=M(rr),c=M(En),u=M(i1),d=M(r1),f=M(ro),p=M(oo),g=M(ca),y=co(z.SolarPanel),[A,x]=m.useState((y==null?void 0:y.poleHeight)??0),C=m.useRef(!1),b=m.useRef(),v=Kt(),S=U=>{d(U.target.value)},w=U=>{if(y){switch(u){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.SolarPanel&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.SolarPanel&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.SolarPanel&&W.foundationId===(y==null?void 0:y.foundationId)&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const F=s(y);if(F){if(F.type===z.Cuboid){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===y.parentId&&be.isIdentical(B.normal,y.normal)&&!B.locked&&Math.abs(B.poleHeight-U)>kt)return!0}else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===y.parentId&&!B.locked&&Math.abs(B.poleHeight-U)>kt)return!0}break;default:if(Math.abs((y==null?void 0:y.poleHeight)-U)>kt)return!0}return!1}},T=(U,F)=>{M.getState().set(W=>{for(const B of W.elements)if(B.type===z.SolarPanel&&!B.locked&&U.has(B.id)){const k=B;k.poleHeight=F}})},P=U=>{if(y&&w(U)){switch(b.current=void 0,u){case ue.AllSelectedObjectsOfThisType:{C.current=!1;for(const k of n)if(k.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(k.id)&&.5*k.ly*Math.abs(Math.sin(k.tiltAngle))>U){C.current=!0;break}if(C.current)b.current=U,x(y.poleHeight);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.poleHeight);const N={name:"Set Pole Height for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{T(N.oldValues,N.newValue)}};c(N),T(k,U),p(f+1)}break}case ue.AllObjectsOfThisType:{C.current=!1;for(const k of n)if(k.type===z.SolarPanel&&.5*k.ly*Math.abs(Math.sin(k.tiltAngle))>U){C.current=!0;break}if(C.current)b.current=U,x(y.poleHeight);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&k.set(j.id,j.poleHeight);const N={name:"Set Pole Height for All Solar Panel Arrays",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{l(z.SolarPanel,N.newValue)}};c(N),l(z.SolarPanel,U),p(f+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(y.foundationId){C.current=!1;for(const k of n)if(k.type===z.SolarPanel&&k.foundationId===y.foundationId&&.5*k.ly*Math.abs(Math.sin(k.tiltAngle))>U){C.current=!0;break}if(C.current)b.current=U,x(y.poleHeight);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&j.foundationId===y.foundationId&&k.set(j.id,j.poleHeight);const N={name:"Set Pole Height for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:k,newValue:U,groupId:y.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&a(z.SolarPanel,N.groupId,N.newValue)}};c(N),a(z.SolarPanel,y.foundationId,U),p(f+1)}}break;case ue.AllObjectsOfThisTypeOnSurface:const F=s(y);if(F){if(C.current=!1,F.type===z.Cuboid){for(const N of n)if(N.type===z.SolarPanel&&N.parentId===y.parentId&&be.isIdentical(N.normal,y.normal)&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>U){C.current=!0;break}}else for(const N of n)if(N.type===z.SolarPanel&&N.parentId===y.parentId&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>U){C.current=!0;break}if(C.current)b.current=U,x(y.poleHeight);else{const N=new Map,j=F.type===z.Cuboid;if(j)for(const J of n)J.type===z.SolarPanel&&J.parentId===y.parentId&&be.isIdentical(J.normal,y.normal)&&N.set(J.id,J.poleHeight);else for(const J of n)J.type===z.SolarPanel&&J.parentId===y.parentId&&N.set(J.id,J.poleHeight);const Y=j?y.normal:void 0,_={name:"Set Pole Height for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:N,newValue:U,groupId:y.parentId,normal:Y,undo:()=>{for(const[J,Q]of _.oldValues.entries())i(J,Q)},redo:()=>{_.groupId&&r(z.SolarPanel,_.groupId,_.normal,_.newValue)}};c(_),r(z.SolarPanel,y.parentId,Y,U),p(f+1)}}break;default:const W=o(y.id),B=W?W.poleHeight:y.poleHeight;if(C.current=.5*y.ly*Math.abs(Math.sin(y.tiltAngle))>U,C.current)b.current=U,x(B);else{const k={name:"Set Solar Panel Array Pole Height",timestamp:Date.now(),oldValue:B,newValue:U,changedElementId:y.id,changedElementType:y.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};c(k),i(y.id,U),p(f+1)}}e(F=>{F.actionState.solarPanelPoleHeight=U})}},R=()=>{C.current=!1,t(!1)},H=()=>{R(),g()},D=()=>{P(A),C.current||(t(!1),p(0))},E=()=>{P(A)},L=C.current?": "+O.t("message.NotApplicableToSelectedAction",v)+(b.current!==void 0?" ("+b.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("solarCollectorMenu.PoleHeight",v),rejectedMessage:L,onApply:E,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:10,style:{width:120},step:.1,precision:2,value:A,onChange:U=>{U!==null&&x(U)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",v),": [0, 10] ",O.t("word.MeterAbbreviation",v)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",v)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",v)})]})})})]})})},Q0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rr),r=M(En),a=M(i1),l=M(r1),s=M(ro),c=M(oo),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.poleSpacing)??0),p=Kt(),g=(P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===P&&!D.locked){const E=D;E.poleSpacing=R;break}})},y=(P,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.foundationId===P&&!D.locked){const E=D;E.poleSpacing=R}})},A=(P,R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.SolarPanel&&!E.locked){let L;if(R?L=E.parentId===P&&be.isIdentical(E.normal,R):L=E.parentId===P,L){const U=E;U.poleSpacing=H}}})},x=P=>{e(R=>{for(const H of R.elements)if(H.type===z.SolarPanel&&!H.locked){const D=H;D.poleSpacing=P}})},C=(P,R)=>{M.getState().set(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&!D.locked&&P.has(D.id)){const E=D;E.poleSpacing=R}})},b=P=>{l(P.target.value)},v=P=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.poleSpacing-P)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&Math.abs(H.poleSpacing-P)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.SolarPanel&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs(H.poleSpacing-P)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&be.isIdentical(D.normal,u.normal)&&!D.locked&&Math.abs(D.poleSpacing-P)>kt)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&Math.abs(D.poleSpacing-P)>kt)return!0}break;default:if(Math.abs((u==null?void 0:u.poleSpacing)-P)>kt)return!0}return!1}},S=P=>{if(u&&v(P)){switch(a){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.poleSpacing);const U={name:"Set Pole Spacing for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{C(U.oldValues,U.newValue)}};r(U),C(L,P),c(s+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.SolarPanel&&L.set(F.id,F.poleSpacing);const U={name:"Set Pole Spacing for All Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:P,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{x(U.newValue)}};r(U),x(P),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===u.foundationId&&L.set(F.id,F.poleSpacing);const U={name:"Set Pole Spacing for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())g(F,W)},redo:()=>{U.groupId&&y(U.groupId,U.newValue)}};r(U),y(u.foundationId,P),c(s+1)}break;case ue.AllObjectsOfThisTypeOnSurface:const R=i(u);if(R){const L=new Map,U=R.type===z.Cuboid;if(U)for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&be.isIdentical(B.normal,u.normal)&&L.set(B.id,B.poleSpacing);else for(const B of n)B.type===z.SolarPanel&&B.parentId===u.parentId&&L.set(B.id,B.poleSpacing);const F=U?u.normal:void 0,W={name:"Set Pole Spacing for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:L,newValue:P,groupId:u.parentId,normal:F,undo:()=>{for(const[B,k]of W.oldValues.entries())g(B,k)},redo:()=>{W.groupId&&A(W.groupId,W.normal,W.newValue)}};r(W),A(u.parentId,F,P),c(s+1)}break;default:const H=o(u.id),D=H?H.poleSpacing:u.poleSpacing,E={name:"Set Solar Panel Array Pole Spacing",timestamp:Date.now(),oldValue:D,newValue:P,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(E.changedElementId,E.oldValue)},redo:()=>{g(E.changedElementId,E.newValue)}};r(E),g(u.id,P),c(s+1)}e(R=>{R.actionState.solarPanelPoleSpacing=P})}},w=()=>{t(!1)},T=()=>{S(d),t(!1),c(0)};return h.jsx(lo,{width:550,title:O.t("solarPanelMenu.PoleSpacing",p),onApply:T,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:1,style:{width:120},precision:2,value:d,onChange:P=>{P!==null&&f(P)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [1, 10] ",O.t("word.MeterAbbreviation",p)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",p)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:O.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},Z0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(jn),r=M(kwt),a=M(Fwt),l=M(Lwt),s=M(En),c=M(i1),u=M(r1),d=M(ro),f=M(oo),p=M(ca),g=co(z.SolarPanel),[y,A]=m.useState((g==null?void 0:g.cx)??0),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=U=>{u(U.target.value)},S=U=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&Math.abs(F.cx-U)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.cx-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.SolarPanel&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.cx-U)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.cx)-U)>kt)return!0}return!1}},w=(U,F)=>{M.getState().set(W=>{for(const B of W.elements)if(B.type===z.SolarPanel&&!B.locked&&U.has(B.id)){const k=B;k.cx=F}})},T=(U,F,W)=>U+.5*F/W<.5&&U-.5*F/W>-.5,P=U=>{if(!g||!S(U))return;C.current=void 0;const F=o(g);if(F){switch(c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(k.id)&&!T(U,g.lx,F.lx)){x.current=!0;break}if(x.current)C.current=U,A(g.cx);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.cx);const N={name:"Set Center X for Selected Solar Panel",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{w(N.oldValues,N.newValue)}};s(N),w(k,U),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&!T(U,g.lx,F.lx)){x.current=!0;break}if(x.current)C.current=U,A(g.cx);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&k.set(j.id,j.cx);const N={name:"Set Center X for All Solar Panels",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{l(z.SolarPanel,N.newValue)}};s(N),l(z.SolarPanel,U),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&k.foundationId===g.foundationId&&!T(U,g.lx,F.lx)){x.current=!0;break}if(x.current)C.current=U,A(g.cx);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&j.foundationId===g.foundationId&&k.set(j.id,j.cx);const N={name:"Set Center X for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:k,newValue:U,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{N.groupId&&a(z.SolarPanel,N.groupId,N.newValue)}};s(N),a(z.SolarPanel,g.foundationId,U),f(d+1)}}break;default:const W=i(g.id),B=W?W.cx:g.cx;if(x.current=!T(U,g.lx,F.lx),x.current)C.current=U,A(B);else{const k={name:"Set Solar Panel Center X",timestamp:Date.now(),oldValue:B,newValue:U,changedElementId:g.id,changedElementType:g.type,undo:()=>{r(k.changedElementId,k.oldValue)},redo:()=>{r(k.changedElementId,k.newValue)}};s(k),r(g.id,U),f(d+1)}}e(W=>{W.actionState.solarPanelCx=U})}},R=()=>{x.current=!1,t(!1)},H=()=>{R(),p()},D=()=>{P(y),x.current||(t(!1),f(0))},E=()=>{P(y)},L=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("solarCollectorMenu.RelativeXCoordinateOfCenter",b),rejectedMessage:L,onApply:E,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-.5,max:.5,style:{width:120},step:.01,precision:2,value:y,onChange:U=>{U!==null&&A(U)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [-0.5, 0.5]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},euo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(jn),r=M(Wwt),a=M(Nwt),l=M(Uwt),s=M(En),c=M(i1),u=M(r1),d=M(ro),f=M(oo),p=M(ca),g=co(z.SolarPanel),[y,A]=m.useState((g==null?void 0:g.cy)??0),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=U=>{u(U.target.value)},S=U=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&Math.abs(F.cy-U)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.SolarPanel&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.cy-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.SolarPanel&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.cy-U)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.cy)-U)>kt)return!0}return!1}},w=(U,F)=>{M.getState().set(W=>{for(const B of W.elements)if(B.type===z.SolarPanel&&!B.locked&&U.has(B.id)){const k=B;k.cy=F}})},T=(U,F,W)=>U+.5*F/W<.5&&U-.5*F/W>-.5,P=U=>{if(!g||!S(U))return;C.current=void 0;const F=o(g);if(F){switch(c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(k.id)&&!T(U,g.ly,F.ly)){x.current=!0;break}if(x.current)C.current=U,A(g.cy);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.cy);const N={name:"Set Center Y for Selected Solar Panel",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{w(N.oldValues,N.newValue)}};s(N),w(k,U),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&!T(U,g.ly,F.ly)){x.current=!0;break}if(x.current)C.current=U,A(g.cy);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&k.set(j.id,j.cy);const N={name:"Set Center Y for All Solar Panels",timestamp:Date.now(),oldValues:k,newValue:U,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{l(z.SolarPanel,N.newValue)}};s(N),l(z.SolarPanel,U),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.SolarPanel&&k.foundationId===g.foundationId&&!T(U,g.ly,F.ly)){x.current=!0;break}if(x.current)C.current=U,A(g.cy);else{const k=new Map;for(const j of n)j.type===z.SolarPanel&&j.foundationId===g.foundationId&&k.set(j.id,j.cy);const N={name:"Set Center Y for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:k,newValue:U,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())r(j,Y)},redo:()=>{N.groupId&&a(z.SolarPanel,N.groupId,N.newValue)}};s(N),a(z.SolarPanel,g.foundationId,U),f(d+1)}}break;default:const W=i(g.id),B=W?W.cy:g.cy;if(x.current=!T(U,g.ly,F.ly),x.current)C.current=U,A(B);else{const k={name:"Set Solar Panel Center Y",timestamp:Date.now(),oldValue:B,newValue:U,changedElementId:g.id,changedElementType:g.type,undo:()=>{r(k.changedElementId,k.oldValue)},redo:()=>{r(k.changedElementId,k.newValue)}};s(k),r(g.id,U),f(d+1)}}e(W=>{W.actionState.solarPanelCy=U})}},R=()=>{x.current=!1,t(!1)},H=()=>{R(),p()},D=()=>{P(y),x.current||(t(!1),f(0))},E=()=>{P(y)},L=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("solarCollectorMenu.RelativeYCoordinateOfCenter",b),rejectedMessage:L,onApply:E,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-.5,max:.5,style:{width:120},step:.01,precision:2,value:y,onChange:U=>{U!==null&&A(U)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [-0.5, 0.5]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})})},tuo=t=>{const e=[];if(t.type!==z.SolarPanel)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=be.isIdentical(n.normal,o0);return e.push({key:"solar-panel-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"solar-panel-cut",label:h.jsx(Tf,{})}),e.push({key:"solar-panel-lock",label:h.jsx(Md,{selectedElement:n})}),o&&(e.push({key:"solar-panel-model-change",label:h.jsxs(io,{Dialog:Y0o,children:[O.t("solarPanelMenu.ChangePvModel",i)," (",n.pvModelName,") ..."]})},{key:"solar-panel-orientation",label:h.jsxs(io,{Dialog:O0o,children:[O.t("solarPanelMenu.Orientation",i)," ..."]})},{key:"solar-panel-length",label:h.jsxs(io,{Dialog:_0o,children:[O.t("word.Length",i)," ..."]})},{key:"solar-panel-width",label:h.jsxs(io,{Dialog:V0o,children:[O.t("word.Width",i)," ..."]})}),e.push({key:"solar-panel-coordinates-submenu",label:h.jsx(tn,{children:O.t("solarCollectorMenu.Coordinates",i)}),children:[{key:"solar-panel-center-x",label:h.jsxs(io,{Dialog:Z0o,children:[O.t("solarCollectorMenu.RelativeXCoordinateOfCenter",i)," ..."]})},{key:"solar-panel-center-y",label:h.jsxs(io,{Dialog:euo,children:[O.t("solarCollectorMenu.RelativeYCoordinateOfCenter",i)," ..."]})}]}),n.parentType===z.Wall&&e.push({key:"solar-panel-tilt-angle-on-wall",label:h.jsxs(io,{Dialog:JRe,children:[O.t("solarPanelMenu.TiltAngle",i)," ..."]})}),r&&(n.trackerType===Ma.NO_TRACKER&&e.push({key:"solar-panel-tilt-angle",label:h.jsxs(io,{Dialog:JRe,children:[O.t("solarPanelMenu.TiltAngle",i)," ..."]})}),e.push({key:"solar-panel-relative-azimuth",label:h.jsxs(io,{Dialog:J0o,children:[O.t("solarCollectorMenu.RelativeAzimuth",i)," ..."]})}),n.parentType!==z.Roof&&e.push({key:"solar-panel-tracker",label:h.jsxs(io,{Dialog:K0o,children:[O.t("solarPanelMenu.Tracker",i)," ..."]})})),e.push({key:"solar-panel-frame-color",label:h.jsxs(io,{Dialog:q0o,children:[O.t("solarPanelMenu.FrameColor",i)," ..."]})}),e.push({key:"solar-panel-draw-sun-beam",label:h.jsx(Pye,{solarCollector:n})}),e.push({key:"solar-panel-electrical-submenu",label:h.jsx(tn,{children:O.t("solarPanelMenu.ElectricalProperties",i)}),children:[{key:"solar-panel-inverter-efficiency",label:h.jsxs(io,{Dialog:G0o,children:[O.t("solarPanelMenu.InverterEfficiency",i)," ..."]})},{key:"solar-panel-dc-ac-ratio",label:h.jsxs(io,{Dialog:X0o,children:[O.t("solarPanelMenu.DcToAcSizeRatio",i)," ..."]})}]}),e.push({key:"solar-panel-pole-submenu",label:h.jsx(tn,{children:O.t("solarCollectorMenu.Pole",i)}),children:[{key:"solar-panel-pole-height",label:h.jsxs(io,{noPadding:!0,Dialog:$0o,children:[O.t("solarCollectorMenu.PoleHeight",i)," ..."]})},{key:"solar-panel-pole-spacing",label:h.jsxs(io,{noPadding:!0,Dialog:Q0o,children:[O.t("solarPanelMenu.PoleSpacing",i)," ..."]})}]}),e.push({key:"solar-panel-label",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",i)}),children:vA(n)})),{items:e}},nuo=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(R7),i=M(bq),r=M(tW),a=M(rr),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=M(ca),p=co(z.ParabolicTrough),[g,y]=m.useState((p==null?void 0:p.ly)??9),A=m.useRef(!1),x=m.useRef(),C=Kt(),b=F=>{c(F.target.value)},v=(F,W)=>{const B=a(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.ly=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},S=(F,W)=>!v(F,W),w=F=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const W of e)if(W.type===z.ParabolicTrough&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of e)if(W.type===z.ParabolicTrough&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of e)if(W.type===z.ParabolicTrough&&W.foundationId===(p==null?void 0:p.foundationId)&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;default:if(Math.abs((p==null?void 0:p.ly)-F)>kt)return!0}return!1}},T=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicTrough&&!k.locked&&F.has(k.id)&&(k.ly=W)})},P=F=>{if(p&&w(F))switch(x.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{A.current=!1;for(const k of e)if(k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.ly);const N={name:"Set Length for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{T(N.oldValues,N.newValue)}};l(N),T(k,F),d(u+1)}break}case ue.AllObjectsOfThisType:{A.current=!1;for(const k of e)if(k.type===z.ParabolicTrough&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.ParabolicTrough&&k.set(j.id,j.ly);const N={name:"Set Length for All Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{r(z.ParabolicTrough,N.newValue)}};l(N),r(z.ParabolicTrough,F),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){A.current=!1;for(const k of e)if(k.type===z.ParabolicTrough&&k.foundationId===p.foundationId&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.ParabolicTrough&&j.foundationId===p.foundationId&&k.set(j.id,j.ly);const N={name:"Set Length for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:p.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{N.groupId&&i(z.ParabolicTrough,N.groupId,N.newValue)}};l(N),i(z.ParabolicTrough,p.foundationId,F),d(u+1)}}break;default:const W=n(p.id),B=W?W.ly:p.ly;if(A.current=S(p,F),A.current)x.current=F,y(B);else{const k={name:"Set Parabolic Trough Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:p.id,changedElementType:p.type,undo:()=>{o(k.changedElementId,k.oldValue)},redo:()=>{o(k.changedElementId,k.newValue)}};l(k),o(p.id,F),d(u+1)}}},R=()=>{A.current=!1,t(!1)},H=()=>{R(),f()},D=()=>{P(g),A.current||(t(!1),d(0))},E=F=>{if(!p)return 1;let W=F??1;return W=Math.max(1,Math.ceil((W-p.moduleLength/2)/p.moduleLength))*p.moduleLength,W},L=()=>{P(g)};if((p==null?void 0:p.type)!==z.ParabolicTrough)return null;const U=A.current?": "+O.t("message.NotApplicableToSelectedAction",C)+(x.current!==void 0?" ("+x.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Length",C),rejectedMessage:U,onApply:L,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:p.moduleLength,max:100*p.moduleLength,step:p.moduleLength,precision:2,style:{width:120},value:g,onChange:F=>{y(E(F))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("parabolicTroughMenu.ModuleLength",C)+": "+p.moduleLength.toFixed(1)+" "+O.t("word.MeterAbbreviation",C),h.jsx("br",{}),Math.round(g/p.moduleLength)+" "+O.t("parabolicTroughMenu.ModulesLong",C),h.jsx("br",{}),O.t("word.Maximum",C),": 100 ",O.t("parabolicTroughMenu.Modules",C)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",C)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",C)})]})})})]})})},ouo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(t3),r=M(xq),a=M(eW),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[y,A]=m.useState((g==null?void 0:g.lx)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.lx=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.ParabolicTrough&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicTrough&&!k.locked&&F.has(k.id)&&(k.lx=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.lx);const N={name:"Set Width for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&k.set(j.id,j.lx);const N={name:"Set Width for All Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.ParabolicTrough,N.newValue)}};s(N),a(z.ParabolicTrough,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&j.foundationId===g.foundationId&&k.set(j.id,j.lx);const N={name:"Set Width for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.ParabolicTrough,N.groupId,N.newValue)}};s(N),r(z.ParabolicTrough,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.lx:g.lx;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Parabolic Trough Width",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.parabolicTroughWidth=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Width",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,precision:2,style:{width:120},value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 10 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",b)})]})})})]})})},iuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sje),r=M(Tje),a=M(Pje),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[y,A]=m.useState((g==null?void 0:g.moduleLength)??3),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.moduleLength=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.moduleLength-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&Math.abs(W.moduleLength-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.ParabolicTrough&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.moduleLength-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.moduleLength)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicTrough&&!k.locked&&F.has(k.id)&&(k.moduleLength=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for All Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.ParabolicTrough,N.newValue)}};s(N),a(z.ParabolicTrough,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&j.foundationId===g.foundationId&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.ParabolicTrough,N.groupId,N.newValue)}};s(N),r(z.ParabolicTrough,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.moduleLength:g.moduleLength;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Parabolic Trough Module Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.parabolicTroughModuleLength=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicTroughMenu.LatusRectum",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 10 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",b)})]})})})]})})},ruo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(vje),r=M(xje),a=M(bje),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[y,A]=m.useState((g==null?void 0:g.latusRectum)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.latusRectum=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.latusRectum-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicTrough&&!W.locked&&Math.abs(W.latusRectum-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.ParabolicTrough&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.latusRectum-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.latusRectum)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicTrough&&!k.locked&&F.has(k.id)&&(k.latusRectum=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for All Parabolic Troughs",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.ParabolicTrough,N.newValue)}};s(N),a(z.ParabolicTrough,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.ParabolicTrough&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicTrough&&j.foundationId===g.foundationId&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.ParabolicTrough,N.groupId,N.newValue)}};s(N),r(z.ParabolicTrough,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.latusRectum:g.latusRectum;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Parabolic Trough Latus Rectum",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.parabolicTroughLatusRectum=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicTroughMenu.LatusRectum",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,precision:2,style:{width:120},value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 20 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",b)})]})})})]})})},auo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[y,A]=m.useState((g==null?void 0:g.poleHeight)??1),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=L=>{u(L.target.value)},S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.ParabolicTrough&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.ParabolicTrough&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.ParabolicTrough&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(g)){for(const F of n)if(F.type===z.ParabolicTrough&&F.parentId===g.parentId&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0}break;default:if(Math.abs((g==null?void 0:g.poleHeight)-L)>kt)return!0}return!1}},w=(L,U)=>{M.getState().set(F=>{for(const W of F.elements)W.type===z.ParabolicTrough&&!W.locked&&L.has(W.id)&&(W.tiltAngle=U)})},T=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(W.id)&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(k.id)&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{w(B.oldValues,B.newValue)}};s(B),w(W,L),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.ParabolicTrough&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicTrough&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Parabolic Troughs",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{a(z.ParabolicTrough,B.newValue)}};s(B),a(z.ParabolicTrough,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const W of n)if(W.type===z.ParabolicTrough&&W.foundationId===g.foundationId&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicTrough&&k.foundationId===g.foundationId&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:W,newValue:L,groupId:g.foundationId,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{B.groupId&&r(z.ParabolicTrough,B.groupId,B.newValue)}};s(B),r(z.ParabolicTrough,g.foundationId,L),f(d+1)}}break;default:const U=o(g.id),F=U?U.poleHeight:g.poleHeight;if(x.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>L,x.current)C.current=L,A(F);else{const W={name:"Set Parabolic Trough Pole Height",timestamp:Date.now(),oldValue:F,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(W.changedElementId,W.oldValue)},redo:()=>{i(W.changedElementId,W.newValue)}};s(W),i(g.id,L),f(d+1)}}e(U=>{U.actionState.parabolicTroughPoleHeight=L})}},P=()=>{x.current=!1,t(!1)},R=()=>{P(),p()},H=()=>{T(y),x.current||(t(!1),f(0))},D=()=>{T(y)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const E=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",b),rejectedMessage:E,onApply:D,onClose:P,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:y,onChange:L=>{L!==null&&A(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [0, 5] ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",b)})]})})})]})})},luo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sq),r=M(Tq),a=M(Pq),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicTrough&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicTrough&&!R.locked&&w.has(R.id)&&(R.reflectance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicTrough,D.newValue)}};l(D),a(z.ParabolicTrough,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===f.foundationId&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicTrough,D.groupId,D.newValue)}};l(D),r(z.ParabolicTrough,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.reflectance:f.reflectance,R={name:"Set Parabolic Trough Reflectance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicTroughReflectance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",y)})]})})})]})})},suo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(sje),r=M(cje),a=M(uje),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.absorptance)??.95),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.absorptance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&Math.abs(T.absorptance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicTrough&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.absorptance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.absorptance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicTrough&&!R.locked&&w.has(R.id)&&(R.absorptance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for All Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicTrough,D.newValue)}};l(D),a(z.ParabolicTrough,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===f.foundationId&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicTrough,D.groupId,D.newValue)}};l(D),r(z.ParabolicTrough,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.absorptance:f.absorptance,R={name:"Set Parabolic Trough Absorptance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicTroughAbsorptance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",y)})]})})})]})})},cuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(dje),r=M(fje),a=M(hje),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.opticalEfficiency)??.7),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicTrough&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.opticalEfficiency)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicTrough&&!R.locked&&w.has(R.id)&&(R.opticalEfficiency=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for All Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicTrough,D.newValue)}};l(D),a(z.ParabolicTrough,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===f.foundationId&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicTrough,D.groupId,D.newValue)}};l(D),r(z.ParabolicTrough,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.opticalEfficiency:f.opticalEfficiency,R={name:"Set Parabolic Trough Optical Efficiency",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicTroughOpticalEfficiency=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",y)})]})})})]})})},uuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(pje),r=M(gje),a=M(mje),l=M(En),s=M(uA),c=M(dA),u=M(ro),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.thermalEfficiency)??.3),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicTrough&&!T.locked&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicTrough&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.thermalEfficiency)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicTrough&&!R.locked&&w.has(R.id)&&(R.thermalEfficiency=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for All Parabolic Troughs",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicTrough,D.newValue)}};l(D),a(z.ParabolicTrough,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===f.foundationId&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicTrough,D.groupId,D.newValue)}};l(D),r(z.ParabolicTrough,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.thermalEfficiency:f.thermalEfficiency,R={name:"Set Parabolic Trough Thermal Efficiency",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicTroughThermalEfficiency=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicTroughMenu.OnlyThisParabolicTrough",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicTroughMenu.AllSelectedParabolicTroughs",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicTroughMenu.AllParabolicTroughs",y)})]})})})]})})},duo=t=>{const e=[];if(t.type!==z.ParabolicTrough)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"parabolic-trough-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"parabolic-trough-cut",label:h.jsx(Tf,{})}),e.push({key:"parabolic-trough-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"parabolic-trough-length",label:h.jsxs(io,{Dialog:nuo,children:[O.t("word.Length",o)," ..."]})},{key:"parabolic-trough-width",label:h.jsxs(io,{Dialog:ouo,children:[O.t("word.Width",o)," ..."]})},{key:"parabolic-trough-module-length",label:h.jsxs(io,{Dialog:iuo,children:[O.t("parabolicTroughMenu.ModuleLength",o)," ..."]})},{key:"parabolic-trough-latus-rectum",label:h.jsxs(io,{Dialog:ruo,children:[O.t("parabolicTroughMenu.LatusRectum",o)," ..."]})},{key:"parabolic-trough-pole-height",label:h.jsxs(io,{Dialog:auo,children:[O.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"parabolic-trough-reflectance",label:h.jsxs(io,{Dialog:luo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"parabolic-trough-absorptance",label:h.jsxs(io,{Dialog:suo,children:[O.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",o)," ..."]})},{key:"parabolic-trough-optical-efficiency",label:h.jsxs(io,{Dialog:cuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",o)," ..."]})},{key:"parabolic-trough-thermal-efficiency",label:h.jsxs(io,{Dialog:uuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",o)," ..."]})},{key:"parabolic-dish-draw-sun-beam",label:h.jsx(Pye,{solarCollector:n})},{key:"parabolic-trough-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},fuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(t3),r=M(R7),a=M(xq),l=M(bq),s=M(eW),c=M(tW),u=M(rr),d=M(En),f=M(fA),p=M(hA),g=M(ro),y=M(oo),A=M(ca),x=co(z.ParabolicDish),[C,b]=m.useState((x==null?void 0:x.lx)??2),v=m.useRef(!1),S=m.useRef(),w=Kt(),T=k=>{p(k.target.value)},P=(k,N)=>{const j=u(k);if(j){const Y=JSON.parse(JSON.stringify(k));return Y.lx=N,be.isSolarCollectorWithinHorizontalSurface(Y,j)}return!1},R=(k,N)=>!P(k,N),H=k=>{if(x){switch(f){case ue.AllSelectedObjectsOfThisType:for(const N of n)if(N.type===z.ParabolicDish&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.lx-k)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const N of n)if(N.type===z.ParabolicDish&&!N.locked&&Math.abs(N.lx-k)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const N of n)if(N.type===z.ParabolicDish&&N.foundationId===(x==null?void 0:x.foundationId)&&!N.locked&&Math.abs(N.lx-k)>kt)return!0;break;default:if(Math.abs((x==null?void 0:x.lx)-k)>kt)return!0}return!1}},D=(k,N)=>{M.getState().set(j=>{for(const Y of j.elements)Y.type===z.ParabolicDish&&!Y.locked&&k.has(Y.id)&&(Y.lx=N,Y.ly=N)})},E=k=>{if(x&&H(k)){switch(S.current=void 0,f){case ue.AllSelectedObjectsOfThisType:{v.current=!1;for(const Y of n)if(Y.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(Y.id)&&R(Y,k)){v.current=!0;break}if(v.current)S.current=k,b(x.lx);else{const Y=new Map;for(const J of n)J.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(J.id)&&Y.set(J.id,J.lx);const _={name:"Set Diameter for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:Y,newValue:k,undo:()=>{for(const[J,Q]of _.oldValues.entries())i(J,Q),r(J,Q)},redo:()=>{D(_.oldValues,_.newValue)}};d(_),D(Y,k),y(g+1)}break}case ue.AllObjectsOfThisType:{v.current=!1;for(const Y of n)if(Y.type===z.ParabolicDish&&R(Y,k)){v.current=!0;break}if(v.current)S.current=k,b(x.lx);else{const Y=new Map;for(const J of n)J.type===z.ParabolicDish&&Y.set(J.id,J.lx);const _={name:"Set Diameter for All Parabolic Dishes",timestamp:Date.now(),oldValues:Y,newValue:k,undo:()=>{for(const[J,Q]of _.oldValues.entries())i(J,Q),r(J,Q)},redo:()=>{s(z.ParabolicDish,_.newValue),c(z.ParabolicDish,_.newValue)}};d(_),s(z.ParabolicDish,k),c(z.ParabolicDish,k),y(g+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(x.foundationId){v.current=!1;for(const Y of n)if(Y.type===z.ParabolicDish&&Y.foundationId===x.foundationId&&R(Y,k)){v.current=!0;break}if(v.current)S.current=k,b(x.lx);else{const Y=new Map;for(const J of n)J.type===z.ParabolicDish&&J.foundationId===x.foundationId&&Y.set(J.id,J.lx);const _={name:"Set Diameter for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:Y,newValue:k,groupId:x.foundationId,undo:()=>{for(const[J,Q]of _.oldValues.entries())i(J,Q),r(J,Q)},redo:()=>{_.groupId&&(a(z.ParabolicDish,_.groupId,_.newValue),l(z.ParabolicDish,_.groupId,_.newValue))}};d(_),a(z.ParabolicDish,x.foundationId,k),l(z.ParabolicDish,x.foundationId,k),y(g+1)}}break;default:const N=o(x.id),j=N?N.lx:x.lx;if(v.current=R(x,k),v.current)S.current=k,b(j);else{const Y={name:"Set Parabolic Dish Diameter",timestamp:Date.now(),oldValue:j,newValue:k,changedElementId:x.id,changedElementType:x.type,undo:()=>{i(Y.changedElementId,Y.oldValue),r(Y.changedElementId,Y.oldValue)},redo:()=>{i(Y.changedElementId,Y.newValue),r(Y.changedElementId,Y.newValue)}};d(Y),i(x.id,k),r(x.id,k),y(g+1)}}e(N=>{N.actionState.parabolicDishRimDiameter=k})}},L=()=>{v.current=!1,t(!1)},U=()=>{L(),A()},F=()=>{E(C),v.current||(t(!1),y(0))},W=()=>{E(C)};if((x==null?void 0:x.type)!==z.ParabolicDish)return null;const B=v.current?": "+O.t("message.NotApplicableToSelectedAction",w)+(S.current!==void 0?" ("+S.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicDishMenu.RimDiameter",w),rejectedMessage:B,onApply:W,onClose:L,onClickCancel:U,onClickOk:F,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,precision:2,style:{width:120},value:C,onChange:k=>{k!==null&&b(k)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",w),": 1 ",O.t("word.MeterAbbreviation",w),h.jsx("br",{}),O.t("word.MaximumValue",w),": 10 ",O.t("word.MeterAbbreviation",w)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",w)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T,value:f,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",w)})]})})})]})})},huo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(vje),r=M(xje),a=M(bje),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicDish),[y,A]=m.useState((g==null?void 0:g.latusRectum)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.latusRectum=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicDish&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.latusRectum-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.ParabolicDish&&!W.locked&&Math.abs(W.latusRectum-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.ParabolicDish&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.latusRectum-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.latusRectum)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.ParabolicDish&&!k.locked&&F.has(k.id)&&(k.latusRectum=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.ParabolicDish&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicDish&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for All Parabolic Dishes",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.ParabolicDish,N.newValue)}};s(N),a(z.ParabolicDish,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.ParabolicDish&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.latusRectum);else{const k=new Map;for(const j of n)j.type===z.ParabolicDish&&j.foundationId===g.foundationId&&k.set(j.id,j.latusRectum);const N={name:"Set Latus Rectum for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.ParabolicDish,N.groupId,N.newValue)}};s(N),r(z.ParabolicDish,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.latusRectum:g.latusRectum;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Parabolic Dish Latus Rectum",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.parabolicDishLatusRectum=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.ParabolicDish)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicDishMenu.LatusRectum",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 20 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",b)})]})})})]})})},puo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(fA),a=M(hA),l=M(ro),s=M(oo),c=co(z.ParabolicDish),[u,d]=m.useState((c==null?void 0:c.structureType)??ef.CentralPole),f=Kt(),{Option:p}=Yo,g=(T,P)=>{e(R=>{for(const H of R.elements)if(H.id===T&&!H.locked&&H.type===z.ParabolicDish){H.structureType=P;break}})},y=(T,P)=>{e(R=>{for(const H of R.elements)H.foundationId===T&&!H.locked&&H.type===z.ParabolicDish&&(H.structureType=P)})},A=T=>{e(P=>{for(const R of P.elements)R.locked||R.type===z.ParabolicDish&&(R.structureType=T)})},x=T=>{a(T.target.value)},C=T=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.ParabolicDish&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&P.structureType!==T)return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.ParabolicDish&&!P.locked&&P.structureType!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.ParabolicDish&&P.foundationId===(c==null?void 0:c.foundationId)&&!P.locked&&P.structureType!==T)return!0;break;default:if((c==null?void 0:c.structureType)!==T)return!0}return!1},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.ParabolicDish&&!H.locked&&T.has(H.id)&&(H.structureType=P)})},v=T=>{if(c&&C(T)){switch(r){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.structureType);const E={name:"Set Structure Type for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())g(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};i(E),b(D,T),s(l+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.ParabolicDish&&D.set(L.id,L.structureType);const E={name:"Set Structure Type for All Parabolic Dishes",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())g(L,U)},redo:()=>{A(E.newValue)}};i(E),A(T),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const D=new Map;for(const L of n)L.type===z.ParabolicDish&&L.foundationId===c.foundationId&&D.set(L.id,L.structureType);const E={name:"Set Structure Type for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:c.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())g(L,U)},redo:()=>{E.groupId&&y(E.groupId,E.newValue)}};i(E),y(c.foundationId,T),s(l+1)}break;default:const P=o(c.id),R=P?P.structureType:c.structureType,H={name:"Set Parabolic Dish Structure Type",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(H.changedElementId,H.oldValue)},redo:()=>{g(H.changedElementId,H.newValue)}};i(H),g(c.id,T),s(l+1)}e(P=>{P.actionState.parabolicDishReceiverStructure=T})}},S=()=>{t(!1)},w=()=>{v(u)};return(c==null?void 0:c.type)!==z.ParabolicDish?null:h.jsx(lo,{width:640,title:O.t("parabolicDishMenu.ReceiverStructure",f),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:8,children:h.jsxs(Yo,{value:u,onChange:T=>d(T),children:[h.jsx(p,{value:ef.CentralPole,children:O.t("parabolicDishMenu.CentralPole",f)},ef.CentralPole),h.jsx(p,{value:ef.CentralPoleWithTripod,children:O.t("parabolicDishMenu.CentralPoleWithTripod",f)},ef.CentralPoleWithTripod),h.jsx(p,{value:ef.Quadrupod,children:O.t("parabolicDishMenu.Quadrupod",f)},ef.Quadrupod)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:x,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",f)})]})})})]})})},guo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ro),f=M(oo),p=M(ca),g=co(z.ParabolicDish),[y,A]=m.useState((g==null?void 0:g.poleHeight)??1),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=L=>{u(L.target.value)},S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.ParabolicDish&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.ParabolicDish&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.ParabolicDish&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(g)){for(const F of n)if(F.type===z.ParabolicDish&&F.parentId===g.parentId&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0}break;default:if(Math.abs((g==null?void 0:g.poleHeight)-L)>kt)return!0}return!1}},w=(L,U)=>{M.getState().set(F=>{for(const W of F.elements)W.type===z.ParabolicDish&&!W.locked&&L.has(W.id)&&(W.tiltAngle=U)})},T=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(W.id)&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(k.id)&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{w(B.oldValues,B.newValue)}};s(B),w(W,L),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.ParabolicDish&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicDish&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Parabolic Dishes",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{a(z.ParabolicDish,B.newValue)}};s(B),a(z.ParabolicDish,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const W of n)if(W.type===z.ParabolicDish&&W.foundationId===g.foundationId&&.5*W.ly*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.ParabolicDish&&k.foundationId===g.foundationId&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:W,newValue:L,groupId:g.foundationId,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{B.groupId&&r(z.ParabolicDish,B.groupId,B.newValue)}};s(B),r(z.ParabolicDish,g.foundationId,L),f(d+1)}}break;default:const U=o(g.id),F=U?U.poleHeight:g.poleHeight;if(x.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>L,x.current)C.current=L,A(F);else{const W={name:"Set Parabolic Dish Pole Height",timestamp:Date.now(),oldValue:F,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(W.changedElementId,W.oldValue)},redo:()=>{i(W.changedElementId,W.newValue)}};s(W),i(g.id,L),f(d+1)}}e(U=>{U.actionState.parabolicDishPoleHeight=L})}},P=()=>{x.current=!1,t(!1)},R=()=>{P(),p()},H=()=>{T(y),x.current||(t(!1),f(0))},D=()=>{T(y)};if((g==null?void 0:g.type)!==z.ParabolicDish)return null;const E=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("parabolicDishMenu.ExtraPoleHeightInAdditionToRadius",b),rejectedMessage:E,onApply:D,onClose:P,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:y,onChange:L=>{L!==null&&A(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [0, 5] ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",b)})]})})})]})})},muo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rje),r=M(aje),a=M(lje),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ro),f=M(oo),p=co(z.ParabolicDish),[g,y]=m.useState((p==null?void 0:p.poleRadius)??.1),A=Kt(),x=T=>{u(T.target.value)},C=T=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const R of n)if(R.type===z.ParabolicDish&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const R of n)if(R.type===z.ParabolicDish&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of n)if(R.type===z.ParabolicDish&&R.foundationId===(p==null?void 0:p.foundationId)&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(p)){for(const R of n)if(R.type===z.ParabolicDish&&R.parentId===p.parentId&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0}break;default:if(Math.abs((p==null?void 0:p.poleRadius)-T)>kt)return!0}return!1}},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.ParabolicDish&&!H.locked&&T.has(H.id)&&(H.poleRadius=P)})},v=T=>{if(p&&C(T)){switch(c){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};s(E),b(D,T),f(d+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.ParabolicDish&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for All Parabolic Dishes",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{a(z.ParabolicDish,E.newValue)}};s(E),a(z.ParabolicDish,T),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){const D=new Map;for(const L of n)L.type===z.ParabolicDish&&L.foundationId===p.foundationId&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:p.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{E.groupId&&r(z.ParabolicDish,E.groupId,E.newValue)}};s(E),r(z.ParabolicDish,p.foundationId,T),f(d+1)}break;default:const P=o(p.id),R=P?P.poleRadius:p.poleRadius,H={name:"Set Parabolic Dish Pole Radius",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,T),f(d+1)}e(P=>{P.actionState.parabolicDishPoleRadius=T})}},S=()=>{t(!1)},w=()=>{v(g)};return(p==null?void 0:p.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.PoleRadius",A),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:.5,style:{width:120},step:.01,precision:2,value:g,onChange:T=>{T!==null&&y(T)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",A),": [0.1, 0.5] ",O.t("word.MeterAbbreviation",A)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",A)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:x,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},yuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sq),r=M(Tq),a=M(Pq),l=M(En),s=M(fA),c=M(hA),u=M(ro),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicDish&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicDish&&!R.locked&&w.has(R.id)&&(R.reflectance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicDish,D.newValue)}};l(D),a(z.ParabolicDish,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===f.foundationId&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicDish,D.groupId,D.newValue)}};l(D),r(z.ParabolicDish,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.reflectance:f.reflectance,R={name:"Set Parabolic Dish Reflectance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicDishReflectance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},Auo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(sje),r=M(cje),a=M(uje),l=M(En),s=M(fA),c=M(hA),u=M(ro),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.absorptance)??.95),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.absorptance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&Math.abs(T.absorptance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicDish&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.absorptance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.absorptance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicDish&&!R.locked&&w.has(R.id)&&(R.absorptance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for All Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicDish,D.newValue)}};l(D),a(z.ParabolicDish,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===f.foundationId&&H.set(E.id,E.absorptance);const D={name:"Set Absorptance for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicDish,D.groupId,D.newValue)}};l(D),r(z.ParabolicDish,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.absorptance:f.absorptance,R={name:"Set Parabolic Dish Absorptance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicDishAbsorptance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},wuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(dje),r=M(fje),a=M(hje),l=M(En),s=M(fA),c=M(hA),u=M(ro),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.opticalEfficiency)??.7),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicDish&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.opticalEfficiency-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.opticalEfficiency)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicDish&&!R.locked&&w.has(R.id)&&(R.opticalEfficiency=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for All Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicDish,D.newValue)}};l(D),a(z.ParabolicDish,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===f.foundationId&&H.set(E.id,E.opticalEfficiency);const D={name:"Set Optical Efficiency for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicDish,D.groupId,D.newValue)}};l(D),r(z.ParabolicDish,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.opticalEfficiency:f.opticalEfficiency,R={name:"Set Parabolic Dish Optical Efficiency",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicDishOpticalEfficiency=w})}},v=()=>{t(!1)},S=()=>{b(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},vuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(pje),r=M(gje),a=M(mje),l=M(En),s=M(fA),c=M(hA),u=M(ro),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.thermalEfficiency)??.3),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.ParabolicDish&&!T.locked&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.ParabolicDish&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.thermalEfficiency-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.thermalEfficiency)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.ParabolicDish&&!R.locked&&w.has(R.id)&&(R.thermalEfficiency=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.ParabolicDish&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for All Parabolic Dishes",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.ParabolicDish,D.newValue)}};l(D),a(z.ParabolicDish,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===f.foundationId&&H.set(E.id,E.thermalEfficiency);const D={name:"Set Thermal Efficiency for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.ParabolicDish,D.groupId,D.newValue)}};l(D),r(z.ParabolicDish,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.thermalEfficiency:f.thermalEfficiency,R={name:"Set Parabolic Dish Thermal Efficiency",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.parabolicDishThermalEfficiency=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},xuo=t=>{const e=[];if(t.type!==z.ParabolicDish)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"parabolic-dish-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"parabolic-dish-cut",label:h.jsx(Tf,{})}),e.push({key:"parabolic-dish-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"parabolic-dish-radius",label:h.jsxs(io,{Dialog:fuo,children:[O.t("parabolicDishMenu.RimDiameter",o)," ..."]})},{key:"parabolic-dish-latus-rectum",label:h.jsxs(io,{Dialog:huo,children:[O.t("parabolicDishMenu.LatusRectum",o)," ..."]})},{key:"parabolic-dish-structure-type",label:h.jsxs(io,{Dialog:puo,children:[O.t("parabolicDishMenu.ReceiverStructure",o)," ..."]})},{key:"parabolic-dish-pole-height",label:h.jsxs(io,{Dialog:guo,children:[O.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"parabolic-dish-pole-radius",label:h.jsxs(io,{Dialog:muo,children:[O.t("solarCollectorMenu.PoleRadius",o)," ..."]})},{key:"parabolic-dish-reflectance",label:h.jsxs(io,{Dialog:yuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"parabolic-dish-absorptance",label:h.jsxs(io,{Dialog:Auo,children:[O.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",o)," ..."]})},{key:"parabolic-dish-optical-efficiency",label:h.jsxs(io,{Dialog:wuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",o)," ..."]})},{key:"parabolic-dish-thermal-efficiency",label:h.jsxs(io,{Dialog:vuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",o)," ..."]})},{key:"parabolic-dish-draw-sun-beam",label:h.jsx(Pye,{solarCollector:n})},{key:"parabolic-dish-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},buo=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(nje),i=M(oje),r=M(ije),a=M(En),l=M(bb),s=M(Sb),c=M(ro),u=M(oo),d=co(z.FresnelReflector),[f,p]=m.useState(!!(d!=null&&d.drawSunBeam)),g=Kt(),y=S=>{s(S.target.value)},A=S=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.FresnelReflector&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&w.drawSunBeam!==S)return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.FresnelReflector&&!w.locked&&w.drawSunBeam!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.FresnelReflector&&w.foundationId===(d==null?void 0:d.foundationId)&&!w.locked&&w.drawSunBeam!==S)return!0;break;default:if((d==null?void 0:d.drawSunBeam)!==S)return!0}return!1},x=(S,w)=>{M.getState().set(T=>{for(const P of T.elements)be.isSolarCollectorType(P.type)&&!P.locked&&P.type===z.FresnelReflector&&S.has(P.id)&&(P.drawSunBeam=w)})},C=S=>{if(d&&A(S))switch(l){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{x(H.oldValues,H.newValue)}};a(H),x(R,S),u(c+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.FresnelReflector&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for All Fresnel Reflectors",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{r(z.FresnelReflector,H.newValue)}};a(H),r(z.FresnelReflector,S),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(d.foundationId){const R=new Map;for(const D of e)D.type===z.FresnelReflector&&D.foundationId===d.foundationId&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:R,newValue:S,groupId:d.foundationId,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{H.groupId&&i(z.FresnelReflector,H.groupId,H.newValue)}};a(H),i(z.FresnelReflector,d.foundationId,S),u(c+1)}break;default:const w=n(d.id),T=w?w.drawSunBeam:d.drawSunBeam,P={name:"Draw Sun Beam for Fresnel Reflector",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:d.id,changedElementType:d.type,undo:()=>{o(P.changedElementId,P.oldValue)},redo:()=>{o(P.changedElementId,P.newValue)}};a(P),o(d.id,S),u(c+1)}},b=()=>{t(!1)},v=()=>{C(f)};return(d==null?void 0:d.type)!==z.FresnelReflector?null:h.jsx(lo,{width:500,title:O.t("solarCollectorMenu.DrawSunBeam",g),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:f,onChange:S=>{p(S)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:y,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",g)})]})})})]})})},{Option:Suo}=Yo,Tuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(yje),r=M(Aje),a=M(wje),l=M(En),s=M(bb),c=M(Sb),u=M(ro),d=M(oo),f=co(z.FresnelReflector),[p,g]=m.useState((f==null?void 0:f.receiverId)??"None"),y=Kt(),A=m.useMemo(()=>{const T=[];for(const P of n)if(P.type===z.Foundation){const R=P;R.solarStructure===zn.FocusPipe&&T.push(R.id)}return T},[n]);m.useEffect(()=>{if(g("None"),f)if(f.receiverId)g(f.receiverId);else{const T=o(f.parentId);T&&T.type===z.Foundation&&T.solarStructure===zn.FocusPipe&&g(T.id)}},[f]);const x=T=>{c(T.target.value)},C=T=>{switch(s){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.FresnelReflector&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&P.receiverId!==T)return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.FresnelReflector&&!P.locked&&P.receiverId!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.FresnelReflector&&P.foundationId===(f==null?void 0:f.foundationId)&&!P.locked&&P.receiverId!==T)return!0;break;default:if((f==null?void 0:f.receiverId)!==T)return!0}return!1},b=(T,P)=>{e(R=>{for(const H of R.elements)be.isHeliostatOrFresnelReflector(H.type)&&!H.locked&&T.has(H.id)&&(H.type===z.Heliostat?H.towerId=P:H.type===z.FresnelReflector&&(H.receiverId=P))})},v=T=>{if(f&&C(T)){switch(s){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.receiverId);const E={name:"Set Receiver for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};l(E),b(D,T),d(u+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.FresnelReflector&&D.set(L.id,L.receiverId);const E={name:"Set Receiver for All Fresnel Reflectors",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{a(z.FresnelReflector,E.newValue)}};l(E),a(z.FresnelReflector,T),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const D=new Map;for(const L of n)L.type===z.FresnelReflector&&L.foundationId===f.foundationId&&D.set(L.id,L.receiverId);const E={name:"Set Receiver for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:f.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{E.groupId&&r(z.FresnelReflector,E.groupId,E.newValue)}};l(E),r(z.FresnelReflector,f.foundationId,T),d(u+1)}break;default:const P=o(f.id),R=P?P.receiverId:f.receiverId,H={name:"Set Receiver for Fresnel Reflector",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};l(H),i(f.id,T),d(u+1)}e(P=>{P.actionState.fresnelReflectorReceiver=T})}},S=()=>{t(!1)},w=()=>{p&&v(p)};return(f==null?void 0:f.type)!==z.FresnelReflector?null:h.jsx(lo,{width:640,title:O.t("fresnelReflectorMenu.SelectAbsorberToReflectSunlightTo",y),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsx(Yo,{style:{width:"160px"},value:p,onChange:T=>{g(T)},children:A.map((T,P)=>h.jsx(Suo,{value:T,children:O.t("fresnelReflectorMenu.AbsorberPipe",y)+" "+(P+1)},P))})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:x,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",y)})]})})})]})})},Puo=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(R7),i=M(bq),r=M(tW),a=M(rr),l=M(En),s=M(bb),c=M(Sb),u=M(ro),d=M(oo),f=M(ca),p=co(z.FresnelReflector),[g,y]=m.useState((p==null?void 0:p.ly)??9),A=m.useRef(!1),x=m.useRef(),C=Kt(),b=F=>{c(F.target.value)},v=(F,W)=>{const B=a(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.ly=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},S=(F,W)=>!v(F,W),w=F=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const W of e)if(W.type===z.FresnelReflector&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of e)if(W.type===z.FresnelReflector&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of e)if(W.type===z.FresnelReflector&&W.foundationId===(p==null?void 0:p.foundationId)&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;default:if(Math.abs((p==null?void 0:p.ly)-F)>kt)return!0}return!1}},T=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.FresnelReflector&&!k.locked&&F.has(k.id)&&(k.ly=W)})},P=F=>{if(p&&w(F))switch(x.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{A.current=!1;for(const k of e)if(k.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(k.id)&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.ly);const N={name:"Set Length for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{T(N.oldValues,N.newValue)}};l(N),T(k,F),d(u+1)}break}case ue.AllObjectsOfThisType:{A.current=!1;for(const k of e)if(k.type===z.FresnelReflector&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.FresnelReflector&&k.set(j.id,j.ly);const N={name:"Set Length for All Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{r(z.FresnelReflector,N.newValue)}};l(N),r(z.FresnelReflector,F),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){A.current=!1;for(const k of e)if(k.type===z.FresnelReflector&&k.foundationId===p.foundationId&&S(k,F)){A.current=!0;break}if(A.current)x.current=F,y(p.ly);else{const k=new Map;for(const j of e)j.type===z.FresnelReflector&&j.foundationId===p.foundationId&&k.set(j.id,j.ly);const N={name:"Set Length for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:p.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())o(j,Y)},redo:()=>{N.groupId&&i(z.FresnelReflector,N.groupId,N.newValue)}};l(N),i(z.FresnelReflector,p.foundationId,F),d(u+1)}}break;default:const W=n(p.id),B=W?W.ly:p.ly;if(A.current=S(p,F),A.current)x.current=F,y(B);else{const k={name:"Set Fresnel Reflector Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:p.id,changedElementType:p.type,undo:()=>{o(k.changedElementId,k.oldValue)},redo:()=>{o(k.changedElementId,k.newValue)}};l(k),o(p.id,F),d(u+1)}}},R=()=>{A.current=!1,t(!1)},H=()=>{R(),f()},D=()=>{P(g),A.current||(t(!1),d(0))},E=F=>{if(!p)return 1;let W=F??1;return W=Math.max(1,Math.ceil((W-p.moduleLength/2)/p.moduleLength))*p.moduleLength,W},L=()=>{P(g)};if((p==null?void 0:p.type)!==z.FresnelReflector)return null;const U=A.current?": "+O.t("message.NotApplicableToSelectedAction",C)+(x.current!==void 0?" ("+x.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Length",C),rejectedMessage:U,onApply:L,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:p.moduleLength,max:200*p.moduleLength,step:p.moduleLength,style:{width:120},precision:2,value:g,onChange:F=>{F!==null&&y(E(F))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("fresnelReflectorMenu.ModuleLength",C)+": "+p.moduleLength.toFixed(1)+" "+O.t("word.MeterAbbreviation",C),h.jsx("br",{}),Math.round(g/p.moduleLength)+" "+O.t("fresnelReflectorMenu.ModulesLong",C),h.jsx("br",{}),O.t("word.Maximum",C),": 200 ",O.t("fresnelReflectorMenu.Modules",C)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",C)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",C)})]})})})]})})},Cuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(t3),r=M(xq),a=M(eW),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ro),f=M(oo),p=M(ca),g=co(z.FresnelReflector),[y,A]=m.useState((g==null?void 0:g.lx)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.lx=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.FresnelReflector&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.FresnelReflector&&!k.locked&&F.has(k.id)&&(k.lx=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.lx);const N={name:"Set Width for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&k.set(j.id,j.lx);const N={name:"Set Width for All Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.FresnelReflector,N.newValue)}};s(N),a(z.FresnelReflector,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&j.foundationId===g.foundationId&&k.set(j.id,j.lx);const N={name:"Set Width for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.FresnelReflector,N.groupId,N.newValue)}};s(N),r(z.FresnelReflector,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.lx:g.lx;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Fresnel Reflector Width",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.fresnelReflectorWidth=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Width",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 10 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",b)})]})})})]})})},Ruo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sje),r=M(Tje),a=M(Pje),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ro),f=M(oo),p=M(ca),g=co(z.FresnelReflector),[y,A]=m.useState((g==null?void 0:g.moduleLength)??3),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.moduleLength=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.moduleLength-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&Math.abs(W.moduleLength-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.FresnelReflector&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.moduleLength-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.moduleLength)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.FresnelReflector&&!k.locked&&F.has(k.id)&&(k.moduleLength=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for All Fresnel Reflectors",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.FresnelReflector,N.newValue)}};s(N),a(z.FresnelReflector,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.FresnelReflector&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.moduleLength);else{const k=new Map;for(const j of n)j.type===z.FresnelReflector&&j.foundationId===g.foundationId&&k.set(j.id,j.moduleLength);const N={name:"Set Module Length for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.FresnelReflector,N.groupId,N.newValue)}};s(N),r(z.FresnelReflector,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.moduleLength:g.moduleLength;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Fresnel Reflector Module Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.fresnelReflectorModuleLength=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("fresnelReflectorMenu.ModuleLength",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 10 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",b)})]})})})]})})},Huo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ro),f=M(oo),p=M(ca),g=co(z.FresnelReflector),[y,A]=m.useState((g==null?void 0:g.poleHeight)??1),x=m.useRef(!1),C=m.useRef(),b=m.useRef((g==null?void 0:g.poleHeight)??1),v=Kt(),S=U=>{u(U.target.value)},w=U=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.FresnelReflector&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.FresnelReflector&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(g)){for(const W of n)if(W.type===z.FresnelReflector&&W.parentId===g.parentId&&!W.locked&&Math.abs(W.poleHeight-U)>kt)return!0}break;default:if(Math.abs((g==null?void 0:g.poleHeight)-U)>kt)return!0}return!1}},T=(U,F)=>{M.getState().set(W=>{for(const B of W.elements)B.type===z.FresnelReflector&&!B.locked&&U.has(B.id)&&(B.poleHeight=F)})},P=U=>{if(g&&w(U)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const B of n)if(B.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(B.id)&&.5*B.ly*Math.abs(Math.sin(B.tiltAngle))>U){x.current=!0;break}if(x.current)C.current=U,b.current=g.poleHeight;else{const B=new Map;for(const N of n)N.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(N.id)&&B.set(N.id,N.poleHeight);const k={name:"Set Pole Height for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:B,newValue:U,undo:()=>{for(const[N,j]of k.oldValues.entries())i(N,j)},redo:()=>{T(k.oldValues,k.newValue)}};s(k),T(B,U),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const B of n)if(B.type===z.FresnelReflector&&.5*B.ly*Math.abs(Math.sin(B.tiltAngle))>U){x.current=!0;break}if(x.current)C.current=U,b.current=g.poleHeight;else{const B=new Map;for(const N of n)N.type===z.FresnelReflector&&B.set(N.id,N.poleHeight);const k={name:"Set Pole Height for All Fresnel Reflectors",timestamp:Date.now(),oldValues:B,newValue:U,undo:()=>{for(const[N,j]of k.oldValues.entries())i(N,j)},redo:()=>{a(z.FresnelReflector,k.newValue)}};s(k),a(z.FresnelReflector,U),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const B of n)if(B.type===z.FresnelReflector&&B.foundationId===g.foundationId&&.5*B.ly*Math.abs(Math.sin(B.tiltAngle))>U){x.current=!0;break}if(x.current)C.current=U,b.current=g.poleHeight;else{const B=new Map;for(const N of n)N.type===z.FresnelReflector&&N.foundationId===g.foundationId&&B.set(N.id,N.poleHeight);const k={name:"Set Pole Height for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:B,newValue:U,groupId:g.foundationId,undo:()=>{for(const[N,j]of k.oldValues.entries())i(N,j)},redo:()=>{k.groupId&&r(z.FresnelReflector,k.groupId,k.newValue)}};s(k),r(z.FresnelReflector,g.foundationId,U),f(d+1)}}break;default:const F=o(g.id),W=F?F.poleHeight:g.poleHeight;if(x.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>U,x.current)C.current=U,b.current=W;else{const B={name:"Set Fresnel Reflector Pole Height",timestamp:Date.now(),oldValue:W,newValue:U,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(B.changedElementId,B.oldValue)},redo:()=>{i(B.changedElementId,B.newValue)}};s(B),i(g.id,U),f(d+1)}}e(F=>{F.actionState.fresnelReflectorPoleHeight=U})}},R=()=>{t(!1)},H=()=>{R(),p()},D=()=>{P(y),x.current||(t(!1),f(0))},E=()=>{P(y)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const L=x.current?": "+O.t("message.NotApplicableToSelectedAction",v)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",v),rejectedMessage:L,onApply:E,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:y,onChange:U=>{U!==null&&A(U)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",v),": [0, 5] ",O.t("word.MeterAbbreviation",v)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",v)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",v)})]})})})]})})},Muo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sq),r=M(Tq),a=M(Pq),l=M(En),s=M(bb),c=M(Sb),u=M(ro),d=M(oo),f=co(z.FresnelReflector),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.FresnelReflector&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.FresnelReflector&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.FresnelReflector&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.FresnelReflector&&!R.locked&&w.has(R.id)&&(R.reflectance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.FresnelReflector&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Fresnel Reflectors",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.FresnelReflector,D.newValue)}};l(D),a(z.FresnelReflector,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.FresnelReflector&&E.foundationId===f.foundationId&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.FresnelReflector,D.groupId,D.newValue)}};l(D),r(z.FresnelReflector,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.reflectance:f.reflectance,R={name:"Set Fresnel Reflector Reflectance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.fresnelReflectorReflectance=w})}},v=()=>{t(!1)},S=()=>{b(p)};return(f==null?void 0:f.type)!==z.FresnelReflector?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,value:p,step:.01,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("fresnelReflectorMenu.OnlyThisFresnelReflector",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("fresnelReflectorMenu.AllFresnelReflectors",y)})]})})})]})})},Iuo=t=>{const e=[];if(t.type!==z.FresnelReflector)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"fresnel-reflector-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"fresnel-reflector-cut",label:h.jsx(Tf,{})}),e.push({key:"fresnel-reflector-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"fresnel-reflector-receiver",label:h.jsxs(io,{Dialog:Tuo,children:[O.t("fresnelReflectorMenu.SelectAbsorberToReflectSunlightTo",o)," ..."]})},{key:"fresnel-reflector-length",label:h.jsxs(io,{Dialog:Puo,children:[O.t("word.Length",o)," ..."]})},{key:"fresnel-reflector-width",label:h.jsxs(io,{Dialog:Cuo,children:[O.t("word.Width",o)," ..."]})},{key:"fresnel-reflector-module-length",label:h.jsxs(io,{Dialog:Ruo,children:[O.t("fresnelReflectorMenu.ModuleLength",o)," ..."]})},{key:"fresnel-reflector-pole-height",label:h.jsxs(io,{Dialog:Huo,children:[O.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"fresnel-reflector-reflectance",label:h.jsxs(io,{Dialog:Muo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"fresnel-reflector-draw-sun-beam",label:h.jsxs(io,{Dialog:buo,children:[O.t("solarCollectorMenu.DrawSunBeam",o)," ..."]})},{key:"fresnel-reflector-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},zuo=({setDialogVisible:t})=>{const e=M(Jn),n=M(jn),o=M(nje),i=M(oje),r=M(ije),a=M(En),l=M(Tb),s=M(Pb),c=M(ro),u=M(oo),d=co(z.Heliostat),[f,p]=m.useState(!!(d!=null&&d.drawSunBeam)),g=Kt(),y=S=>{s(S.target.value)},A=S=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.Heliostat&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&w.drawSunBeam!==S)return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.Heliostat&&!w.locked&&w.drawSunBeam!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.Heliostat&&w.foundationId===(d==null?void 0:d.foundationId)&&!w.locked&&w.drawSunBeam!==S)return!0;break;default:if((d==null?void 0:d.drawSunBeam)!==S)return!0}return!1},x=(S,w)=>{M.getState().set(T=>{for(const P of T.elements)P.type===z.Heliostat&&!P.locked&&S.has(P.id)&&(P.drawSunBeam=w)})},C=S=>{if(d&&A(S))switch(l){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Heliostat&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for Selected Heliostats",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{x(H.oldValues,H.newValue)}};a(H),x(R,S),u(c+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Heliostat&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for All Heliostats",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{r(z.Heliostat,H.newValue)}};a(H),r(z.Heliostat,S),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(d.foundationId){const R=new Map;for(const D of e)D.type===z.Heliostat&&D.foundationId===d.foundationId&&R.set(D.id,D.drawSunBeam);const H={name:"Draw Sun Beam for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:R,newValue:S,groupId:d.foundationId,undo:()=>{for(const[D,E]of H.oldValues.entries())o(D,E)},redo:()=>{H.groupId&&i(z.Heliostat,H.groupId,H.newValue)}};a(H),i(z.Heliostat,d.foundationId,S),u(c+1)}break;default:const w=n(d.id),T=w?w.drawSunBeam:d.drawSunBeam,P={name:"Draw Sun Beam for Heliostat",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:d.id,changedElementType:d.type,undo:()=>{o(P.changedElementId,P.oldValue)},redo:()=>{o(P.changedElementId,P.newValue)}};a(P),o(d.id,S),u(c+1)}},b=()=>{t(!1)},v=()=>{C(f)};return(d==null?void 0:d.type)!==z.Heliostat?null:h.jsx(lo,{width:500,title:O.t("solarCollectorMenu.DrawSunBeam",g),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:f,onChange:p})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:y,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",g)})]})})})]})})},{Option:Duo}=Yo,Euo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(yje),r=M(Aje),a=M(wje),l=M(En),s=M(Tb),c=M(Pb),u=M(ro),d=M(oo),f=co(z.Heliostat),[p,g]=m.useState((f==null?void 0:f.towerId)??"None"),y=Kt(),A=m.useMemo(()=>{const T=[];for(const P of n)if(P.type===z.Foundation){const R=P;R.solarStructure===zn.FocusTower&&T.push(R.id)}return T},[n]);m.useEffect(()=>{if(g("None"),f)if(f.towerId)g(f.towerId);else{const T=o(f.parentId);T&&T.type===z.Foundation&&T.solarStructure===zn.FocusTower&&g(T.id)}},[f]);const x=T=>{c(T.target.value)},C=T=>{switch(s){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Heliostat&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&P.towerId!==T)return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Heliostat&&!P.locked&&P.towerId!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.Heliostat&&P.foundationId===(f==null?void 0:f.foundationId)&&!P.locked&&P.towerId!==T)return!0;break;default:if((f==null?void 0:f.towerId)!==T)return!0}return!1},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Heliostat&&!H.locked&&T.has(H.id)&&(H.towerId=P)})},v=T=>{if(f&&C(T)){switch(s){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.Heliostat&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.towerId);const E={name:"Set Tower for Selected Heliostats",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};l(E),b(D,T),d(u+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.Heliostat&&D.set(L.id,L.towerId);const E={name:"Set Tower for All Heliostats",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{a(z.Heliostat,E.newValue)}};l(E),a(z.Heliostat,T),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const D=new Map;for(const L of n)L.type===z.Heliostat&&L.foundationId===f.foundationId&&D.set(L.id,L.towerId);const E={name:"Set Tower for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:f.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{E.groupId&&r(z.Heliostat,E.groupId,E.newValue)}};l(E),r(z.Heliostat,f.foundationId,T),d(u+1)}break;default:const P=o(f.id),R=P?P.towerId:f.towerId,H={name:"Set Tower for Heliostat",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};l(H),i(f.id,T),d(u+1)}e(P=>{P.actionState.heliostatTower=T})}},S=()=>{t(!1)},w=()=>{p&&v(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:O.t("heliostatMenu.SelectTowerToReflectSunlightTo",y),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Yo,{style:{width:"120px"},value:p,onChange:g,children:A.map((T,P)=>h.jsx(Duo,{value:T,children:O.t("heliostatMenu.Tower",y)+" "+(P+1)},P))})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:x,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",y)})]})})})]})})},kuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(t3),r=M(xq),a=M(eW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ro),f=M(oo),p=M(ca),g=co(z.Heliostat),[y,A]=m.useState((g==null?void 0:g.lx)??2),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.lx=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.Heliostat&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.Heliostat&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.Heliostat&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.lx-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.Heliostat&&!k.locked&&F.has(k.id)&&(k.lx=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.Heliostat&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.lx);const N={name:"Set Length for Selected Heliostats",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.Heliostat&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&k.set(j.id,j.lx);const N={name:"Set Length for All Heliostats",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.Heliostat,N.newValue)}};s(N),a(z.Heliostat,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.Heliostat&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.lx);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&j.foundationId===g.foundationId&&k.set(j.id,j.lx);const N={name:"Set Length for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.Heliostat,N.groupId,N.newValue)}};s(N),r(z.Heliostat,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.lx:g.lx;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Heliostat Length",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.heliostatLength=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Length",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 20 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",b)})]})})})]})})},Fuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(R7),r=M(bq),a=M(tW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ro),f=M(oo),p=M(ca),g=co(z.Heliostat),[y,A]=m.useState((g==null?void 0:g.ly)??4),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=F=>{u(F.target.value)},S=(F,W)=>{const B=l(F);if(B){const k=JSON.parse(JSON.stringify(F));return k.ly=W,be.isSolarCollectorWithinHorizontalSurface(k,B)}return!1},w=(F,W)=>!S(F,W),T=F=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.Heliostat&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.Heliostat&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.Heliostat&&W.foundationId===(g==null?void 0:g.foundationId)&&!W.locked&&Math.abs(W.ly-F)>kt)return!0;break;default:if(Math.abs((g==null?void 0:g.ly)-F)>kt)return!0}return!1}},P=(F,W)=>{M.getState().set(B=>{for(const k of B.elements)k.type===z.Heliostat&&!k.locked&&F.has(k.id)&&(k.ly=W)})},R=F=>{if(g&&T(F)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.Heliostat&&M.getState().selectedElementIdSet.has(k.id)&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.ly);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&M.getState().selectedElementIdSet.has(j.id)&&k.set(j.id,j.ly);const N={name:"Set Width for Selected Heliostats",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{P(N.oldValues,N.newValue)}};s(N),P(k,F),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const k of n)if(k.type===z.Heliostat&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.ly);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&k.set(j.id,j.ly);const N={name:"Set Width for All Heliostats",timestamp:Date.now(),oldValues:k,newValue:F,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{a(z.Heliostat,N.newValue)}};s(N),a(z.Heliostat,F),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const k of n)if(k.type===z.Heliostat&&k.foundationId===g.foundationId&&w(k,F)){x.current=!0;break}if(x.current)C.current=F,A(g.ly);else{const k=new Map;for(const j of n)j.type===z.Heliostat&&j.foundationId===g.foundationId&&k.set(j.id,j.ly);const N={name:"Set Width for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:g.foundationId,undo:()=>{for(const[j,Y]of N.oldValues.entries())i(j,Y)},redo:()=>{N.groupId&&r(z.Heliostat,N.groupId,N.newValue)}};s(N),r(z.Heliostat,g.foundationId,F),f(d+1)}}break;default:const W=o(g.id),B=W?W.ly:g.ly;if(x.current=w(g,F),x.current)C.current=F,A(B);else{const k={name:"Set Heliostat Width",timestamp:Date.now(),oldValue:B,newValue:F,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(k.changedElementId,k.oldValue)},redo:()=>{i(k.changedElementId,k.newValue)}};s(k),i(g.id,F),f(d+1)}}e(W=>{W.actionState.heliostatWidth=F})}},H=()=>{x.current=!1,t(!1)},D=()=>{H(),p()},E=()=>{R(y),x.current||(t(!1),f(0))},L=()=>{R(y)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const U=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("word.Width",b),rejectedMessage:U,onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,precision:2,style:{width:120},value:y,onChange:F=>{F!==null&&A(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.MinimumValue",b),": 1 ",O.t("word.MeterAbbreviation",b),h.jsx("br",{}),O.t("word.MaximumValue",b),": 20 ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",b)})]})})})]})})},Luo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ro),f=M(oo),p=M(ca),g=co(z.Heliostat),[y,A]=m.useState((g==null?void 0:g.poleHeight)??1),x=m.useRef(!1),C=m.useRef(),b=Kt(),v=L=>{u(L.target.value)},S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const F of n)if(F.type===z.Heliostat&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const F of n)if(F.type===z.Heliostat&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const F of n)if(F.type===z.Heliostat&&F.foundationId===(g==null?void 0:g.foundationId)&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(g)){for(const F of n)if(F.type===z.Heliostat&&F.parentId===g.parentId&&!F.locked&&Math.abs(F.poleHeight-L)>kt)return!0}break;default:if(Math.abs((g==null?void 0:g.poleHeight)-L)>kt)return!0}return!1}},w=(L,U)=>{M.getState().set(F=>{for(const W of F.elements)W.type===z.Heliostat&&!W.locked&&L.has(W.id)&&(W.poleHeight=U)})},T=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.Heliostat&&M.getState().selectedElementIdSet.has(W.id)&&.5*Math.max(W.lx,W.ly)*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.Heliostat&&M.getState().selectedElementIdSet.has(k.id)&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for Selected Heliostats",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{w(B.oldValues,B.newValue)}};s(B),w(W,L),f(d+1)}break}case ue.AllObjectsOfThisType:{x.current=!1;for(const W of n)if(W.type===z.Heliostat&&.5*Math.max(W.lx,W.ly)*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.Heliostat&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Heliostats",timestamp:Date.now(),oldValues:W,newValue:L,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{a(z.Heliostat,B.newValue)}};s(B),a(z.Heliostat,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(g.foundationId){x.current=!1;for(const W of n)if(W.type===z.Heliostat&&W.foundationId===g.foundationId&&.5*Math.max(W.lx,W.ly)*Math.abs(Math.sin(W.tiltAngle))>L){x.current=!0;break}if(x.current)C.current=L,A(g.poleHeight);else{const W=new Map;for(const k of n)k.type===z.Heliostat&&k.foundationId===g.foundationId&&W.set(k.id,k.poleHeight);const B={name:"Set Pole Height for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:W,newValue:L,groupId:g.foundationId,undo:()=>{for(const[k,N]of B.oldValues.entries())i(k,N)},redo:()=>{B.groupId&&r(z.Heliostat,B.groupId,B.newValue)}};s(B),r(z.Heliostat,g.foundationId,L),f(d+1)}}break;default:const U=o(g.id),F=U?U.poleHeight:g.poleHeight;if(x.current=.5*Math.max(g.lx,g.ly)*Math.abs(Math.sin(g.tiltAngle))>L,x.current)C.current=L,A(F);else{const W={name:"Set Heliostat Pole Height",timestamp:Date.now(),oldValue:F,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(W.changedElementId,W.oldValue)},redo:()=>{i(W.changedElementId,W.newValue)}};s(W),i(g.id,L),f(d+1)}}e(U=>{U.actionState.heliostatPoleHeight=L})}},P=()=>{x.current=!1,t(!1)},R=()=>{P(),p()},H=()=>{T(y),x.current||(t(!1),f(0))},D=()=>{T(y)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const E=x.current?": "+O.t("message.NotApplicableToSelectedAction",b)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",b),rejectedMessage:E,onApply:D,onClose:P,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:y,onChange:L=>{L!==null&&A(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [0, 5] ",O.t("word.MeterAbbreviation",b)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",b)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",b)})]})})})]})})},Wuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(rje),r=M(aje),a=M(lje),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ro),f=M(oo),p=co(z.Heliostat),[g,y]=m.useState((p==null?void 0:p.poleRadius)??.1),A=Kt(),x=T=>{u(T.target.value)},C=T=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const R of n)if(R.type===z.Heliostat&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const R of n)if(R.type===z.Heliostat&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of n)if(R.type===z.Heliostat&&R.foundationId===(p==null?void 0:p.foundationId)&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(l(p)){for(const R of n)if(R.type===z.Heliostat&&R.parentId===p.parentId&&!R.locked&&Math.abs(R.poleRadius-T)>kt)return!0}break;default:if(Math.abs((p==null?void 0:p.poleRadius)-T)>kt)return!0}return!1}},b=(T,P)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Heliostat&&!H.locked&&T.has(H.id)&&(H.poleRadius=P)})},v=T=>{if(p&&C(T)){switch(c){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.Heliostat&&M.getState().selectedElementIdSet.has(L.id)&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for Selected Heliostats",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{b(E.oldValues,E.newValue)}};s(E),b(D,T),f(d+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const L of n)L.type===z.Heliostat&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for All Heliostats",timestamp:Date.now(),oldValues:D,newValue:T,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{a(z.Heliostat,E.newValue)}};s(E),a(z.Heliostat,T),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(p.foundationId){const D=new Map;for(const L of n)L.type===z.Heliostat&&L.foundationId===p.foundationId&&D.set(L.id,L.poleRadius);const E={name:"Set Pole Radius for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:D,newValue:T,groupId:p.foundationId,undo:()=>{for(const[L,U]of E.oldValues.entries())i(L,U)},redo:()=>{E.groupId&&r(z.Heliostat,E.groupId,E.newValue)}};s(E),r(z.Heliostat,p.foundationId,T),f(d+1)}break;default:const P=o(p.id),R=P?P.poleRadius:p.poleRadius,H={name:"Set Heliostat Pole Radius",timestamp:Date.now(),oldValue:R,newValue:T,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,T),f(d+1)}e(P=>{P.actionState.heliostatPoleRadius=T})}},S=()=>{t(!1)},w=()=>{v(g)};return(p==null?void 0:p.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:O.t("solarCollectorMenu.PoleRadius",A),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:.5,style:{width:120},step:.01,precision:2,value:g,onChange:T=>{T!==null&&y(T)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",A),": [0.1, 0.5] ",O.t("word.MeterAbbreviation",A)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",A)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:x,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",A)})]})})})]})})},Nuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(Sq),r=M(Tq),a=M(Pq),l=M(En),s=M(Tb),c=M(Pb),u=M(ro),d=M(oo),f=co(z.Heliostat),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),y=Kt(),A=w=>{c(w.target.value)},x=w=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Heliostat&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Heliostat&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.Heliostat&&T.foundationId===(f==null?void 0:f.foundationId)&&!T.locked&&Math.abs(T.reflectance-w)>kt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-w)>kt)return!0}return!1}},C=(w,T)=>{M.getState().set(P=>{for(const R of P.elements)R.type===z.Heliostat&&!R.locked&&w.has(R.id)&&(R.reflectance=T)})},b=w=>{if(f&&x(w)){switch(s){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Heliostat&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for Selected Heliostats",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{C(D.oldValues,D.newValue)}};l(D),C(H,w),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of n)E.type===z.Heliostat&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Heliostats",timestamp:Date.now(),oldValues:H,newValue:w,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{a(z.Heliostat,D.newValue)}};l(D),a(z.Heliostat,w),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(f.foundationId){const H=new Map;for(const E of n)E.type===z.Heliostat&&E.foundationId===f.foundationId&&H.set(E.id,E.reflectance);const D={name:"Set Reflectance for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:H,newValue:w,groupId:f.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())i(E,L)},redo:()=>{D.groupId&&r(z.Heliostat,D.groupId,D.newValue)}};l(D),r(z.Heliostat,f.foundationId,w),d(u+1)}break;default:const T=o(f.id),P=T?T.reflectance:f.reflectance,R={name:"Set Heliostat Reflectance",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,w),d(u+1)}e(T=>{T.actionState.heliostatReflectance=w})}},v=()=>{t(!1)},S=()=>{b(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",y),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:w=>{w!==null&&g(w)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("heliostatMenu.OnlyThisHeliostat",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("heliostatMenu.AllHeliostatsAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("heliostatMenu.AllSelectedHeliostats",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("heliostatMenu.AllHeliostats",y)})]})})})]})})},Uuo=t=>{const e=[];if(t.type!==z.Heliostat)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"heliostat-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"heliostat-cut",label:h.jsx(Tf,{})}),e.push({key:"heliostat-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"heliostat-tower",label:h.jsxs(io,{Dialog:Euo,children:[O.t("heliostatMenu.SelectTowerToReflectSunlightTo",o)," ..."]})},{key:"heliostat-length",label:h.jsxs(io,{Dialog:kuo,children:[O.t("word.Length",o)," ..."]})},{key:"heliostat-width",label:h.jsxs(io,{Dialog:Fuo,children:[O.t("word.Width",o)," ..."]})},{key:"heliostat-pole-height",label:h.jsxs(io,{Dialog:Luo,children:[O.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"heliostat-pole-radius",label:h.jsxs(io,{Dialog:Wuo,children:[O.t("solarCollectorMenu.PoleRadius",o)," ..."]})},{key:"heliostat-reflectance",label:h.jsxs(io,{Dialog:Nuo,children:[O.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"heliostat-draw-sun-beam",label:h.jsxs(io,{Dialog:zuo,children:[O.t("solarCollectorMenu.DrawSunBeam",o)," ..."]})},{key:"heliostat-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},{Option:dm}=Yo,Buo=Se.memo(({tree:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Tree&&u.id===l){u.name=s;break}})};return h.jsxs(Yo,{style:{width:"160px"},value:(t==null?void 0:t.name)??fi.Pine,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change Tree",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.treeType=l}),i(!o)}}},children:[h.jsxs(dm,{value:fi.Apple,children:[h.jsx("img",{alt:fi.Apple,src:Iue,height:20,style:{paddingRight:"8px"}})," ",O.t("tree.Apple",r)]},fi.Apple),h.jsxs(dm,{value:fi.Birch,children:[h.jsx("img",{alt:fi.Birch,src:zue,height:20,style:{paddingRight:"20px"}})," ",O.t("tree.Birch",r)]},fi.Birch),h.jsxs(dm,{value:fi.Coconut,children:[h.jsx("img",{alt:fi.Coconut,src:Bqe,height:20,style:{paddingRight:"18px"}})," ",O.t("tree.Coconut",r)]},fi.Coconut),h.jsxs(dm,{value:fi.Dogwood,children:[h.jsx("img",{alt:fi.Dogwood,src:Due,height:20,style:{paddingRight:"10px"}})," ",O.t("tree.Dogwood",r)]},fi.Dogwood),h.jsxs(dm,{value:fi.Elm,children:[h.jsx("img",{alt:fi.Elm,src:Eue,height:20,style:{paddingRight:"20px"}}),O.t("tree.Elm",r)]},fi.Elm),h.jsxs(dm,{value:fi.FanPalm,children:[h.jsx("img",{alt:fi.FanPalm,src:jqe,height:20,style:{paddingRight:"18px"}})," ",O.t("tree.FanPalm",r)]},fi.FanPalm),h.jsxs(dm,{value:fi.Linden,children:[h.jsx("img",{alt:fi.Linden,src:kue,height:20,style:{paddingRight:"10px"}})," ",O.t("tree.Linden",r)]},fi.Linden),h.jsxs(dm,{value:fi.Magnolia,children:[h.jsx("img",{alt:fi.Magnolia,src:Fue,height:20,style:{paddingRight:"10px"}})," ",O.t("tree.Magnolia",r)]},fi.Magnolia),h.jsxs(dm,{value:fi.Maple,children:[h.jsx("img",{alt:fi.Maple,src:Lue,height:20,style:{paddingRight:"12px"}})," ",O.t("tree.Maple",r)]},fi.Maple),h.jsxs(dm,{value:fi.Oak,children:[h.jsx("img",{alt:fi.Oak,src:Wue,height:20,style:{paddingRight:"17px"}}),O.t("tree.Oak",r)]},fi.Oak),h.jsxs(dm,{value:fi.Pine,children:[h.jsx("img",{alt:fi.Pine,src:Yqe,height:20,style:{paddingRight:"18px"}})," ",O.t("tree.Pine",r)]},fi.Pine),h.jsxs(dm,{value:fi.Spruce,children:[h.jsx("img",{alt:fi.Spruce,src:Oqe,height:20,style:{paddingRight:"20px"}})," ",O.t("tree.Spruce",r)]},fi.Spruce)]})}),juo=t=>{const e=[];if(t.type!==z.Tree)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"tree-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"tree-cut",label:h.jsx(Tf,{})}),e.push({key:"tree-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"tree-show-model",label:h.jsx(Yco,{tree:n})},{key:"tree-flip",label:h.jsx(t9e,{billboardModel:n})}),o&&e.push({key:"tree-change-type",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[O.t("treeMenu.Type",i),": "]}),h.jsx(Buo,{tree:n})]})},{key:"tree-spread",label:h.jsx(Oco,{tree:n})},{key:"tree-height",label:h.jsx(_co,{tree:n})},{key:"tree-label-submenu",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",i)}),children:vA(n)}),{items:e}},Yuo=({wall:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Wall`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx(qm,{}),onOk:s})};return h.jsx(tn,{update:!0,noPadding:!0,onClick:l,children:i})},KRe=({wall:t,objectType:e,lock:n,children:o})=>{const i=M.getState().updateElementLockById,r=M.getState().updateElementLockByParentId,a=()=>{const l=e.replaceAll(" ",""),s=new Map;for(const d of M.getState().elements)d.parentId===t.id&&d.type===e&&s.set(d.id,!!d.locked);r(t.id,e,n);const u={name:n?`Lock All Unlocked ${l} on Wall`:`Unlock All Locked ${l} on Wall`,timestamp:Date.now(),oldValues:s,newValue:!0,undo:()=>{for(const[d,f]of u.oldValues.entries())i(d,f)},redo:()=>{r(t.id,e,n)}};M.getState().addUndoable(u)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:a,children:o})},Ouo=({wall:t})=>{const e=Kt(),n=M.getState().set,o=(r,a)=>{n(l=>{const s=l.elements.find(c=>c.id===r&&c.type===z.Wall);s&&(s.parapet.display=a)})},i=r=>{const a=r.target.checked,l={name:"Parapet",timestamp:Date.now(),checked:a,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{o(t.id,!l.checked)},redo:()=>{o(t.id,l.checked)}};M.getState().addUndoable(l),o(t.id,a),n(s=>{s.actionState.wallParapet.display=a})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.parapet.display,onChange:i,children:O.t("wallMenu.Parapet",e)})})},_uo=({wall:t})=>{const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.id===r&&s.type===z.Wall){const c=s;c.wallStructure=a,(a===hc.Stud||a===hc.Pillar)&&(c.opacity=0);break}})},o=r=>{const a={name:"Select Wall Structure",timestamp:Date.now(),oldValue:t.wallStructure,newValue:r.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(a.changedElementId,a.oldValue)},redo:()=>{n(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),n(t.id,r.target.value),M.getState().set(l=>{l.actionState.wallStructure=r.target.value,(l.actionState.wallStructure===hc.Stud||l.actionState.wallStructure===hc.Pillar)&&(l.actionState.wallOpacity=0)})},i=t.wallStructure??hc.Default;return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:i,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:hc.Default,children:O.t("wallMenu.DefaultStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:hc.Stud,children:O.t("wallMenu.StudStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:hc.Pillar,children:O.t("wallMenu.PillarStructure",e)})]})})})},Vuo=({wall:t})=>{const e=M.getState().set,n=Kt(),o=(r,a,l)=>{const{cx:s,cy:c,cz:u}=a,d=l?l.rotation[2]+a.relativeAngle:a.relativeAngle;if(l&&d!==void 0){const f=be.wallAbsolutePosition(new ae(s,c,u),l).setZ(a.lz/2+l.lz);return new ae().subVectors(r,f).applyEuler(new Qt(0,0,-d))}return new ae},i=()=>{const r=M.getState().getFoundation(t);if(!r)return;const a=o(M.getState().pastePoint,t,r),l=rl.makePolygon(t,-a.x/t.lx,0,-a.z/t.lz,new ae(0,0,1),[0,0,0],z.Wall);e(c=>{c.elements.push(l),c.objectTypeToAdd=z.None});const s={name:"Add",timestamp:Date.now(),addedElement:l,undo:()=>{M.getState().removeElementById(s.addedElement.id,!1)},redo:()=>{e(c=>{c.elements.push(s.addedElement),c.selectedElement=s.addedElement})}};M.getState().addUndoable(s)};return h.jsx(tn,{onClick:i,children:O.t("foundationMenu.AddPolygon",n)})},Guo=({wall:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Wall){l.fill=r;break}})},o=i=>{const r={name:"Select Wall Fill",timestamp:Date.now(),oldValue:t.fill,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.fill,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:Hl.Full,children:O.t("wallMenu.Full",e)}),h.jsx(Be,{style:{width:"100%"},value:Hl.Partial,children:O.t("wallMenu.Partial",e)}),h.jsx(Be,{style:{width:"100%"},value:Hl.Empty,children:O.t("wallMenu.Empty",e)})]})})})},Xuo=({wall:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Wall){l.openToOutside=r;break}})},o=i=>{const r={name:"Set Open to Outside",timestamp:Date.now(),oldValue:!!t.openToOutside,newValue:i.target.checked,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.openToOutside,onChange:o,children:O.t("wallMenu.OpenToOutside",e)})})},gae=[{key:"solarPanelCount",lockedKey:"lockedSolarPanelCount",objectType:z.SolarPanel},{key:"windowCount",lockedKey:"lockedWindowCount",objectType:z.Window},{key:"doorCount",lockedKey:"lockedDoorCount",objectType:z.Door},{key:"sensorCount",lockedKey:"lockedSensorCount",objectType:z.Sensor},{key:"polygonCount",lockedKey:"lockedPolygonCount",objectType:z.Polygon},{key:"outsideLightCount",lockedKey:"lockedLightCount",objectType:z.Light}],Juo=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.SolarPanel:{o=`${O.t("wallMenu.RemoveAllUnlockedSolarPanels",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllSolarPanelsOnThisWall",n)} (${e} ${O.t("wallMenu.SolarPanels",n)})`;break}case z.Window:{o=`${O.t("wallMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllWindowsOnThisWall",n)} (${e} ${O.t("wallMenu.Windows",n)})`;break}case z.Door:{o=`${O.t("wallMenu.RemoveAllUnlockedDoors",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllDoorsOnThisWall",n)} (${e} ${O.t("wallMenu.Doors",n)})`;break}case z.Sensor:{o=`${O.t("wallMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllSensorsOnThisWall",n)} (${e} ${O.t("wallMenu.Sensors",n)})`;break}case z.Light:{o=`${O.t("wallMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllLightsOnThisWall",n)} (${e} ${O.t("wallMenu.Lights",n)})`;break}case z.Polygon:{o=`${O.t("wallMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${O.t("wallMenu.DoYouReallyWantToRemoveAllPolygonsOnThisWall",n)} (${e} ${O.t("wallMenu.Polygons",n)})`;break}}return{itemLabel:o,modalTitle:i}},mae=(t,e,n,o)=>n===z.Light?o?t.lockedLightCount:t.insideLightCount+t.outsideLightCount:t[e],Kuo=(t,e,n)=>{const o=[],i={lng:M.getState().language};return gae.forEach(({key:r,objectType:a})=>{const l=mae(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=Juo(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-wall`,label:h.jsx(Yuo,{wall:t,objectType:a,modalTitle:c,children:s})})}}),gae.forEach(({key:r,objectType:a})=>{const l=mae(n,r,a);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`lock-all-${s}s-on-wall`,label:h.jsxs(KRe,{wall:t,objectType:a,lock:!0,children:[O.t(`wallMenu.LockAllUnlocked${s}s`,i)," (",l,")"]})})}}),gae.forEach(({lockedKey:r,objectType:a})=>{const l=mae(e,r,a,!0);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`unlock-all-${s}s-on-wall`,label:h.jsxs(KRe,{wall:t,objectType:a,lock:!1,children:[O.t(`wallMenu.UnlockAllLocked${s}s`,i)," (",l,")"]})})}}),e.outsideLightCount>0&&o.push({key:"inside-lights-on-wall",label:h.jsxs(qG,{element:t,inside:!0,children:[O.t("wallMenu.AllLightsOnWallInside",i)," (",e.outsideLightCount,")"]})}),e.insideLightCount>0&&o.push({key:"outside-lights-on-wall",label:h.jsxs(qG,{element:t,inside:!1,children:[O.t("wallMenu.AllLightsOnWallOutside",i)," (",e.insideLightCount,")"]})}),o},quo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=co(z.Wall),c=Kt(),[u,d]=bZ((s==null?void 0:s.parapet.color)??"#ffffff"),f=(S,w)=>{e(T=>{for(const P of T.elements)if(P.id===S&&P.type===z.Wall&&!P.locked){P.parapet.color=w;break}})},p=S=>{if(!s)return;const w=be.getAllConnectedWalls(s);w.length!==0&&e(T=>{for(const P of w)if(!P.locked)for(const R of T.elements)R.id===P.id&&R.type===z.Wall&&(R.parapet.color=S)})},g=(S,w)=>{e(T=>{for(const P of T.elements)P.parentId===S&&P.type===z.Wall&&!P.locked&&(P.parapet.color=w)})},y=S=>{e(w=>{for(const T of w.elements)T.type===z.Wall&&!T.locked&&(T.parapet.color=S)})},A=(S,w)=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&S.has(P.id)&&(P.parapet.color=w)})},x=S=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.parapet.color&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.parapet.color&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.Wall&&T.foundationId===s.foundationId&&S!==T.parapet.color&&!T.locked)return!0;break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s);for(const T of w)if(S!==T.parapet.color&&!T.locked)return!0;break;default:if(S!==(s==null?void 0:s.parapet.color))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(i){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of n)P.type===z.Wall&&M.getState().selectedElementIdSet.has(P.id)&&w.set(P.id,P.parapet.color??"#ffffff");const T={name:"Set Parapet Color for Selected Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{A(T.oldValues,T.newValue)}};o(T),A(w,S),a(r+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of n)P.type===z.Wall&&w.set(P.id,P.parapet.color??"#ffffff");const T={name:"Set Parapet Color for All Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{y(T.newValue)}};o(T),y(S),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;for(const P of n)P.type===z.Wall&&P.foundationId===s.foundationId&&w.set(P.id,P.parapet.color??"#ffffff");const T={name:"Set Parapet Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{T.groupId&&g(T.groupId,T.newValue)}};o(T),g(s.foundationId,S),a(r+1)}break;case ue.AllConnectedObjects:if(s){const w=be.getAllConnectedWalls(s),T=new Map;for(const R of w)T.set(R.id,R.color??"#ffffff");const P={name:"Set Parapet Color for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:S,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};o(P),p(S),a(r+1)}break;default:if(s){const w=l(s.id),T=(w==null?void 0:w.parapet.color)??s.parapet.color??"#ffffff",P={name:"Set Parapet Color of Selected Wall",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(P.changedElementId,P.oldValue)},redo:()=>{f(P.changedElementId,P.newValue)}};o(P),f(s.id,S),a(r+1)}}e(w=>{w.actionState.wallParapet.color=S})}},b=()=>{C(u)},v=()=>{t(!1)};return h.jsx(lo,{width:640,title:O.t("wallMenu.ParapetColor",c),onApply:b,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u,onChangeComplete:d})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWallActionScope(S.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",c)})]})})})]})})},rot="/aladdin/assets/wall_01_menu-BlJdKfby.png",aot="/aladdin/assets/wall_02_menu-DfsmvvWJ.png",lot="/aladdin/assets/wall_03_menu-B95_FEuA.png",sot="/aladdin/assets/wall_04_menu-D-Kn25E7.png",cot="/aladdin/assets/wall_05_menu-DGgjaMY9.png",uot="/aladdin/assets/wall_06_menu-EOIch2eu.png",dot="/aladdin/assets/wall_07_menu-DvXS_qn2.png",fot="/aladdin/assets/wall_08_menu-CfftE2pF.png",hot="/aladdin/assets/wall_09_menu-_O8A0WOE.png",pot="/aladdin/assets/wall_10_menu-B5QfhD3g.png",$uo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.parapet.textureType)??No.Default),d=Kt(),{Option:f}=Yo,p=(w,T)=>{e(P=>{for(const R of P.elements)if(R.type===z.Wall&&R.id===w&&!R.locked){R.parapet.textureType=T;break}})},g=w=>{if(!s)return;const T=be.getAllConnectedWalls(s);T.length!==0&&e(P=>{for(const R of T)if(!R.locked)for(const H of P.elements)H.id===R.id&&H.type===z.Wall&&(H.parapet.textureType=w)})},y=(w,T)=>{e(P=>{for(const R of P.elements)R.type===z.Wall&&R.foundationId===w&&!R.locked&&(R.parapet.textureType=T)})},A=w=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&(P.parapet.textureType=w)})},x=(w,T)=>{e(P=>{for(const R of P.elements)R.type===z.Wall&&!R.locked&&w.has(R.id)&&(R.parapet.textureType=T)})},C=w=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Wall&&w!==P.parapet.textureType&&!P.locked&&M.getState().selectedElementIdSet.has(P.id))return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Wall&&w!==P.parapet.textureType&&!P.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.Wall&&P.foundationId===s.foundationId&&w!==P.parapet.textureType&&!P.locked)return!0;break;case ue.AllConnectedObjects:const T=be.getAllConnectedWalls(s);for(const P of T)if(w!==P.parapet.textureType&&!P.locked)return!0;break;default:if(w!==(s==null?void 0:s.parapet.textureType))return!0;break}return!1}},b=w=>{if(s&&C(w)){switch(i){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&T.set(R.id,R.parapet.textureType??No.Default);const P={name:"Set Parapet Texture for Selected Walls",timestamp:Date.now(),oldValues:T,newValue:w,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{x(P.oldValues,P.newValue)}};o(P),x(T,w),a(r+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&T.set(R.id,R.parapet.textureType??No.Default);const P={name:"Set Parapet Texture for All Walls",timestamp:Date.now(),oldValues:T,newValue:w,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{A(P.newValue)}};o(P),A(w),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const T=new Map;for(const R of n)R.type===z.Wall&&R.foundationId===s.foundationId&&!R.locked&&T.set(R.id,R.parapet.textureType);const P={name:"Set Parapet Texture for All Walls Above Foundation",timestamp:Date.now(),oldValues:T,newValue:w,groupId:s.foundationId,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{P.groupId&&y(P.groupId,P.newValue)}};o(P),y(s.foundationId,w),a(r+1)}break;case ue.AllConnectedObjects:if(s){const T=be.getAllConnectedWalls(s),P=new Map;for(const H of T)P.set(H.id,H.parapet.textureType);const R={name:"Set Parapet Texture for All Connected Walls",timestamp:Date.now(),oldValues:P,newValue:w,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};o(R),g(w),a(r+1)}break;default:if(s){const T=l(s.id),P=(T==null?void 0:T.parapet.textureType)??s.parapet.textureType,R={name:"Set Parapet Texture of Selected Wall",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};o(R),p(s.id,w),a(r+1)}}e(T=>{T.actionState.wallParapet.textureType=w})}},v=()=>{t(!1)},S=()=>{b(c)};return h.jsx(lo,{width:550,title:O.t("word.Texture",d),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:u,children:[h.jsxs(f,{value:No.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",d)]},No.NoTexture),h.jsxs(f,{value:No.Default,children:[h.jsx("img",{alt:No.Default,src:nye,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.TextureDefault",d)]},No.Default),h.jsxs(f,{value:No.Texture01,children:[h.jsx("img",{alt:No.Texture01,src:rot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture01",d)]},No.Texture01),h.jsxs(f,{value:No.Texture02,children:[h.jsx("img",{alt:No.Texture02,src:aot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture02",d)]},No.Texture02),h.jsxs(f,{value:No.Texture03,children:[h.jsx("img",{alt:No.Texture03,src:lot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture03",d)]},No.Texture03),h.jsxs(f,{value:No.Texture04,children:[h.jsx("img",{alt:No.Texture04,src:sot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture04",d)]},No.Texture04),h.jsxs(f,{value:No.Texture05,children:[h.jsx("img",{alt:No.Texture05,src:cot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture05",d)]},No.Texture05),h.jsxs(f,{value:No.Texture06,children:[h.jsx("img",{alt:No.Texture06,src:uot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture06",d)]},No.Texture06),h.jsxs(f,{value:No.Texture07,children:[h.jsx("img",{alt:No.Texture07,src:dot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture07",d)]},No.Texture07),h.jsxs(f,{value:No.Texture08,children:[h.jsx("img",{alt:No.Texture08,src:fot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture08",d)]},No.Texture08),h.jsxs(f,{value:No.Texture09,children:[h.jsx("img",{alt:No.Texture09,src:hot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture09",d)]},No.Texture09),h.jsxs(f,{value:No.Texture10,children:[h.jsx("img",{alt:No.Texture10,src:pot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture10",d)]},No.Texture10)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:w=>M.getState().setWallActionScope(w.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",d)})]})})})]})})},yae=({wall:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,setDialogVisible:a})=>{const l=M(Jn),s=M(En),c=M(r3),u=M(ro),d=M(oo),f=M(dn),p=m.useRef(t.parapet[n]),g=Kt(),y=R=>{f(H=>{switch(n){case"copingsHeight":H.actionState.wallParapet.copingsHeight=R;break;case"copingsWidth":H.actionState.wallParapet.copingsWidth=R;break;case"parapetHeight":H.actionState.wallParapet.parapetHeight=R;break}})},A=(R,H)=>{f(D=>{for(const E of D.elements)if(E.id===R&&E.type===z.Wall&&!E.locked){E.parapet[n]=H;break}}),y(H)},x=R=>{const H=be.getAllConnectedWalls(t);H.length!==0&&(f(D=>{for(const E of H)if(!E.locked)for(const L of D.elements)L.id===E.id&&L.type===z.Wall&&(L.parapet[n]=R)}),y(R))},C=(R,H)=>{f(D=>{for(const E of D.elements)E.parentId===R&&E.type===z.Wall&&!E.locked&&(E.parapet[n]=H)}),y(H)},b=R=>{f(H=>{for(const D of H.elements)D.type===z.Wall&&!D.locked&&(D.parapet[n]=R)}),y(R)},v=(R,H)=>{f(D=>{for(const E of D.elements)E.type===z.Wall&&!E.locked&&R.has(E.id)&&(E.parapet[n]=H)}),y(H)},S=R=>{switch(c){case ue.AllSelectedObjectsOfThisType:for(const D of l)if(D.type===z.Wall&&R!==D.parapet[n]&&!D.locked&&M.getState().selectedElementIdSet.has(D.id))return!0;break;case ue.AllObjectsOfThisType:for(const D of l)if(D.type===z.Wall&&R!==D.parapet[n]&&!D.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of l)if(D.type===z.Wall&&D.foundationId===t.foundationId&&R!==D.parapet[n]&&!D.locked)return!0;break;case ue.AllConnectedObjects:const H=be.getAllConnectedWalls(t);for(const D of H)if(R!==D.parapet[n]&&!D.locked)return!0;break;default:if(R!==t.parapet[n])return!0;break}return!1},w=R=>{if(t&&S(R))switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of l)E.type===z.Wall&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E.parapet[n]);const D={name:`Set ${e} for Selected Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{v(D.oldValues,D.newValue)}};s(D),v(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of l)E.type===z.Wall&&H.set(E.id,E.parapet[n]);const D={name:`Set ${e} for All Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{b(D.newValue)}};s(D),b(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const E of l)E.type===z.Wall&&E.foundationId===t.foundationId&&H.set(E.id,E.parapet[n]);const D={name:`Set ${e} for All Walls Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{D.groupId&&C(D.groupId,D.newValue)}};s(D),C(t.foundationId,R),d(u+1)}break;case ue.AllConnectedObjects:if(t){const H=be.getAllConnectedWalls(t),D=new Map;for(const L of H)D.set(L.id,L.parapet[n]);const E={name:`Set ${e} for All Connected Walls`,timestamp:Date.now(),oldValues:D,newValue:R,undo:()=>{for(const[L,U]of E.oldValues.entries())A(L,U)},redo:()=>{x(E.newValue)}};s(E),x(R),d(u+1)}break;default:if(t){const H=t.parapet[n],D={name:`Set Wall ${e}`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{A(D.changedElementId,D.oldValue)},redo:()=>{A(D.changedElementId,D.newValue)}};s(D),A(t.id,R),d(u+1)}}},T=()=>{a(!1)},P=()=>{w(p.current)};return h.jsx(lo,{width:550,title:O.t(`wallMenu.${e}`,g),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,defaultValue:t.parapet[n],onChange:R=>p.current=R}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",g),": [",o.toString(),"] ",r]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r??" "}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWallActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",g)})]})})})]})})},Quo={ParapetHeight:{attributeKey:"parapetHeight",range:[0,5],step:.01,unit:"word.MeterAbbreviation"},CopingsHeight:{attributeKey:"copingsHeight",range:[0,1],step:.01,unit:"word.MeterAbbreviation"},CopingsWidth:{attributeKey:"copingsWidth",range:[0,3],step:.01,unit:"word.MeterAbbreviation"}},Aae=({Dialog:t,wall:e,dataType:n,children:o})=>{const i=Kt(),[r,a]=m.useState(!1),l=()=>{M.getState().setApplyCount(0),a(!0)},s=Quo[n];return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:!0,onClick:l,children:o}),r&&h.jsx(t,{wall:e,dataType:n,attributeKey:s.attributeKey,range:s.range,step:s.step,unit:s.unit?O.t(s.unit,i):void 0,setDialogVisible:a})]})},Zuo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"parapet-checkbox",label:h.jsx(Ouo,{wall:t})}),t.parapet.display&&n.push({type:"divider"},{key:"parapet-color",label:h.jsxs(io,{noPadding:!0,Dialog:quo,children:[O.t("wallMenu.ParapetColor",e)," ..."]})},{key:"parapet-texture",label:h.jsxs(io,{noPadding:!0,Dialog:$uo,children:[O.t("wallMenu.ParapetTexture",e)," ..."]})},{key:"parapet-height",label:h.jsxs(Aae,{wall:t,dataType:"ParapetHeight",Dialog:yae,children:[O.t("wallMenu.ParapetHeight",e)," ..."]})},{key:"copings-height",label:h.jsxs(Aae,{wall:t,dataType:"CopingsHeight",Dialog:yae,children:[O.t("wallMenu.CopingsHeight",e)," ..."]})},{key:"copings-width",label:h.jsxs(Aae,{wall:t,dataType:"CopingsWidth",Dialog:yae,children:[O.t("wallMenu.CopingsWidth",e)," ..."]})}),n},ZP=({wall:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,setDialogVisible:a})=>{const l=M(Jn),s=M(En),c=M(r3),u=M(ro),d=M(oo),f=M(dn),p=m.useRef(t[n]),g=Kt(),y=R=>{f(H=>{switch(n){case"ly":H.actionState.wallThickness=R;break;case"lz":H.actionState.wallHeight=R;break;case"opacity":H.actionState.wallOpacity=R;break;case"structureSpacing":H.actionState.wallStructureSpacing=R;break;case"structureWidth":H.actionState.wallStructureWidth=R;break;case"eavesLength":H.actionState.wallEavesLength=R;break}})},A=(R,H)=>{f(D=>{for(const E of D.elements)if(E.id===R&&E.type===z.Wall&&!E.locked){E[n]=H;break}}),y(H)},x=R=>{const H=be.getAllConnectedWalls(t);H.length!==0&&(f(D=>{for(const E of H)if(!E.locked)for(const L of D.elements)L.id===E.id&&L.type===z.Wall&&(L[n]=R)}),y(R))},C=(R,H)=>{f(D=>{for(const E of D.elements)E.parentId===R&&E.type===z.Wall&&!E.locked&&(E[n]=H)}),y(H)},b=R=>{f(H=>{for(const D of H.elements)D.type===z.Wall&&!D.locked&&(D[n]=R)}),y(R)},v=(R,H)=>{f(D=>{for(const E of D.elements)E.type===z.Wall&&!E.locked&&R.has(E.id)&&(E[n]=H)}),y(H)},S=R=>{switch(c){case ue.AllSelectedObjectsOfThisType:for(const D of l)if(D.type===z.Wall&&R!==D[n]&&!D.locked&&M.getState().selectedElementIdSet.has(D.id))return!0;break;case ue.AllObjectsOfThisType:for(const D of l)if(D.type===z.Wall&&R!==D[n]&&!D.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of l)if(D.type===z.Wall&&D.foundationId===t.foundationId&&R!==D[n]&&!D.locked)return!0;break;case ue.AllConnectedObjects:const H=be.getAllConnectedWalls(t);for(const D of H)if(R!==D[n]&&!D.locked)return!0;break;default:if(R!==t[n])return!0;break}return!1},w=R=>{if(t&&S(R))switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of l)E.type===z.Wall&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E[n]);const D={name:`Set ${e} for Selected Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{v(D.oldValues,D.newValue)}};s(D),v(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of l)E.type===z.Wall&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{b(D.newValue)}};s(D),b(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const E of l)E.type===z.Wall&&E.foundationId===t.foundationId&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Walls Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{for(const[E,L]of D.oldValues.entries())A(E,L)},redo:()=>{D.groupId&&C(D.groupId,D.newValue)}};s(D),C(t.foundationId,R),d(u+1)}break;case ue.AllConnectedObjects:if(t){const H=be.getAllConnectedWalls(t),D=new Map;for(const L of H)D.set(L.id,L[n]);const E={name:`Set ${e} for All Connected Walls`,timestamp:Date.now(),oldValues:D,newValue:R,undo:()=>{for(const[L,U]of E.oldValues.entries())A(L,U)},redo:()=>{x(E.newValue)}};s(E),x(R),d(u+1)}break;default:if(t){const H=t[n],D={name:`Set Wall ${e}`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{A(D.changedElementId,D.oldValue)},redo:()=>{A(D.changedElementId,D.newValue)}};s(D),A(t.id,R),d(u+1)}}},T=()=>{p.current=t[n],a(!1)},P=()=>{w(p.current)};return h.jsx(lo,{width:550,title:O.t(`wallMenu.${e}`,g),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,defaultValue:t[n],onChange:R=>p.current=R}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",g),": [",o.toString(),"] ",r]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r??" "}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWallActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",g)})]})})})]})})};var q1=(t=>(t.Height="Height",t.Opacity="Opacity",t.StructureSpacing="StructureSpacing",t.StructureWidth="StructureWidth",t.Thickness="Thickness",t.EavesLength="EavesLength",t))(q1||{});const eC=({Dialog:t,noPadding:e,dataType:n,children:o})=>{const i=Kt(),[r,a]=m.useState(!1),l=co(z.Wall),s=()=>{M.getState().setApplyCount(0),a(!0)},c=ldo[n];return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:e,onClick:s,children:o}),r&&l&&h.jsx(t,{wall:l,dataType:n,attributeKey:c.attributeKey,range:c.range,step:c.step,unit:c.unit?O.t(c.unit,i):void 0,setDialogVisible:a})]})},edo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=co(z.Wall),[c,u]=bZ((s==null?void 0:s.structureColor)??"#ffffff"),d=Kt(),f=(S,w)=>{e(T=>{for(const P of T.elements)if(P.id===S&&P.type===z.Wall&&!P.locked){P.structureColor=w;break}})},p=S=>{if(!s)return;const w=be.getAllConnectedWalls(s);w.length!==0&&e(T=>{for(const P of w)if(!P.locked)for(const R of T.elements)R.id===P.id&&R.type===z.Wall&&(R.structureColor=S)})},g=(S,w)=>{e(T=>{for(const P of T.elements)P.parentId===S&&P.type===z.Wall&&!P.locked&&(P.structureColor=w)})},y=S=>{e(w=>{for(const T of w.elements)T.type===z.Wall&&!T.locked&&(T.structureColor=S)})},A=(S,w)=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&S.has(P.id)&&(P.color=w)})},x=S=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.structureColor&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.structureColor&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.Wall&&T.foundationId===s.foundationId&&S!==T.structureColor&&!T.locked)return!0;break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s);for(const T of w)if(S!==T.structureColor&&!T.locked)return!0;break;default:if(S!==(s==null?void 0:s.structureColor))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(i){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of n)P.type===z.Wall&&M.getState().selectedElementIdSet.has(P.id)&&w.set(P.id,P.structureColor??"#ffffff");const T={name:"Set Structure Color for Selected Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{A(T.oldValues,T.newValue)}};o(T),A(w,S),a(r+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of n)P.type===z.Wall&&w.set(P.id,P.structureColor??"#ffffff");const T={name:"Set Structure Color for All Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{y(T.newValue)}};o(T),y(S),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;for(const P of n)P.type===z.Wall&&P.foundationId===s.foundationId&&w.set(P.id,P.structureColor??"#ffffff");const T={name:"Set Structure Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{for(const[P,R]of T.oldValues.entries())f(P,R)},redo:()=>{T.groupId&&g(T.groupId,T.newValue)}};o(T),g(s.foundationId,S),a(r+1)}break;case ue.AllConnectedObjects:if(s){const w=be.getAllConnectedWalls(s),T=new Map;for(const R of w)T.set(R.id,R.color??"#ffffff");const P={name:"Set Structure Color for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:S,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};o(P),p(S),a(r+1)}break;default:if(s){const w=l(s.id),T=(w==null?void 0:w.structureColor)??s.structureColor??"#ffffff",P={name:"Set Structure Color of Selected Wall",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(P.changedElementId,P.oldValue)},redo:()=>{f(P.changedElementId,P.newValue)}};o(P),f(s.id,S),a(r+1)}}e(w=>{w.actionState.wallStructureColor=S})}},b=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:640,title:O.t("wallMenu.StructureColor",d),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:u})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWallActionScope(S.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",d)})]})})})]})})},tdo=t=>{const e=[],n={lng:M.getState().language};return e.push({key:"wall-structure-submenu-radio-group",label:h.jsx(_uo,{wall:t}),style:{backgroundColor:"white"}}),t.wallStructure!==hc.Default&&e.push({type:"divider"},{key:"wall-structure-spacing",label:h.jsxs(eC,{noPadding:!0,dataType:q1.StructureSpacing,Dialog:ZP,children:[O.t(`wallMenu.${q1.StructureSpacing}`,n)," ..."]})},{key:"wall-structure-width",label:h.jsxs(eC,{noPadding:!0,dataType:q1.StructureWidth,Dialog:ZP,children:[O.t(`wallMenu.${q1.StructureWidth}`,n)," ..."]})},{key:"wall-structure-color",label:h.jsxs(io,{noPadding:!0,Dialog:edo,children:[O.t("wallMenu.StructureColor",n)," ..."]})}),e},ndo=t=>{const e=[];return e.push({key:"wall-fill-radio-group",label:h.jsx(Guo,{wall:t}),style:{backgroundColor:"white"}}),t.fill!==Hl.Full&&e.push({type:"divider"},{key:"wall-open-to-outside-checkbox",label:h.jsx(Xuo,{wall:t})}),e},odo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.rValue)??i6),[d,f]=m.useState(be.toRValueInUS(c)),p=Kt(),g=(S,w)=>{l(T=>{for(const P of T.elements)if(P.id===S){P.rValue=w;break}})},y=S=>{for(const[w,T]of S.entries())g(w,T)},A=(S,w)=>{for(const T of S.keys())g(T,w)},x=S=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Wall&&S!==T.rValue&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Wall&&S!==T.rValue&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Wall&&T.foundationId===s.foundationId&&S!==T.rValue&&!T.locked)return!0;break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s);for(const T of w)if(S!==T.rValue&&!T.locked)return!0;break;default:if(S!==(s==null?void 0:s.rValue))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(o){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Wall&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const R=P;w.set(P.id,R.rValue??i6),g(R.id,S)}const T={name:"Set R-Value for Selected Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Wall&&!P.locked){const R=P;w.set(P.id,R.rValue??i6),g(R.id,S)}const T={name:"Set R-Value for All Walls",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s!=null&&s.foundationId){const w=new Map;for(const P of e)if(P.type===z.Wall&&P.foundationId===s.foundationId&&!P.locked){const R=P;w.set(P.id,R.rValue??i6),g(R.id,S)}const T={name:"Set R-Value for All Walls Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.AllConnectedObjects:if(s){const w=be.getAllConnectedWalls(s),T=new Map;for(const R of w)if(!R.locked){const H=R;T.set(R.id,H.rValue??i6),g(H.id,S)}const P={name:"Set R-Value for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:S,undo:()=>{y(P.oldValues)},redo:()=>{A(P.oldValues,P.newValue)}};n(P),r(i+1)}break;default:if(s){const T=a(s.id).rValue??s.rValue??i6,P={name:"Set Wall R-Value",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(P.changedElementId,P.oldValue)},redo:()=>{g(P.changedElementId,P.newValue)}};n(P),g(s.id,S),r(i+1)}}l(w=>{w.actionState.wallRValue=S})}},b=()=>{u((s==null?void 0:s.rValue)??i6),t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${O.t("word.RValue",p)+" "}(${O.t("word.ThermalResistance",p)})`,onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(u(S),f(be.toRValueInUS(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",p),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toRValueInUS(.01),max:be.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(f(S),u(be.toRValueInSI(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [",be.toRValueInUS(.01).toFixed(3),", ",be.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",p),": h·ft²·℉/Btu"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWallActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",p)})]})})})]})})},ido=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.volumetricHeatCapacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Wall&&b!==S.volumetricHeatCapacity&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break;case ue.AllObjectsOfThisType:for(const S of e)if(S.type===z.Wall&&b!==S.volumetricHeatCapacity&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of e)if(S.type===z.Wall&&S.foundationId===s.foundationId&&b!==S.volumetricHeatCapacity&&!S.locked)return!0;break;case ue.AllConnectedObjects:const v=be.getAllConnectedWalls(s);for(const S of v)if(b!==S.volumetricHeatCapacity&&!S.locked)return!0;break;default:if(b!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Wall&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)){const T=w;v.set(w.id,T.volumetricHeatCapacity??.5),f(T.id,b)}const S={name:"Set Volumetric Heat Capacity for Selected Walls",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Wall&&!w.locked){const T=w;v.set(w.id,T.volumetricHeatCapacity??.5),f(T.id,b)}const S={name:"Set Volumetric Heat Capacity for All Walls",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s!=null&&s.foundationId){const v=new Map;for(const w of e)if(w.type===z.Wall&&w.foundationId===s.foundationId&&!w.locked){const T=w;v.set(w.id,T.volumetricHeatCapacity??.5),f(T.id,b)}const S={name:"Set Volumetric Heat Capacity for All Walls Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.AllConnectedObjects:if(s){const v=be.getAllConnectedWalls(s),S=new Map;for(const T of v)if(!T.locked){const P=T;S.set(T.id,P.volumetricHeatCapacity??.5),f(P.id,b)}const w={name:"Set Volumetric Heat Capacity for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:b,undo:()=>{p(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),r(i+1)}break;default:if(s){const S=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,w={name:"Set Volumetric Heat Capacity of Wall",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.wallVolumetricHeatCapacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>{b!==null&&u(b)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),O.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setWallActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",d)})]})})})]})})},rdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=Kt(),c=co(z.Wall),[u,d]=m.useState((c==null?void 0:c.textureType)??No.Default),{Option:f}=Yo,p=(w,T)=>{e(P=>{for(const R of P.elements)if(R.type===z.Wall&&R.id===w&&!R.locked){R.textureType=T;break}})},g=w=>{if(!c)return;const T=be.getAllConnectedWalls(c);T.length!==0&&e(P=>{for(const R of T)if(!R.locked)for(const H of P.elements)H.id===R.id&&H.type===z.Wall&&(H.textureType=w)})},y=(w,T)=>{e(P=>{for(const R of P.elements)R.type===z.Wall&&R.foundationId===w&&!R.locked&&(R.textureType=T)})},A=w=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&(P.textureType=w)})},x=(w,T)=>{e(P=>{for(const R of P.elements)R.type===z.Wall&&!R.locked&&w.has(R.id)&&(R.textureType=T)})},C=w=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Wall&&w!==P.textureType&&!P.locked&&M.getState().selectedElementIdSet.has(P.id))return!0;break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Wall&&w!==P.textureType&&!P.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of n)if(P.type===z.Wall&&P.foundationId===c.foundationId&&w!==P.textureType&&!P.locked)return!0;break;case ue.AllConnectedObjects:const T=be.getAllConnectedWalls(c);for(const P of T)if(w!==P.textureType&&!P.locked)return!0;break;default:if(w!==(c==null?void 0:c.textureType))return!0;break}return!1}},b=w=>{if(c&&C(w)){switch(i){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&T.set(R.id,R.textureType??No.Default);const P={name:"Set Texture for Selected Walls",timestamp:Date.now(),oldValues:T,newValue:w,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{x(P.oldValues,P.newValue)}};o(P),x(T,w),a(r+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&T.set(R.id,R.textureType??No.Default);const P={name:"Set Texture for All Walls",timestamp:Date.now(),oldValues:T,newValue:w,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{A(P.newValue)}};o(P),A(w),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const T=new Map;for(const R of n)R.type===z.Wall&&R.foundationId===c.foundationId&&!R.locked&&T.set(R.id,R.textureType);const P={name:"Set Texture for All Walls Above Foundation",timestamp:Date.now(),oldValues:T,newValue:w,groupId:c.foundationId,undo:()=>{for(const[R,H]of P.oldValues.entries())p(R,H)},redo:()=>{P.groupId&&y(P.groupId,P.newValue)}};o(P),y(c.foundationId,w),a(r+1)}break;case ue.AllConnectedObjects:if(c){const T=be.getAllConnectedWalls(c),P=new Map;for(const H of T)P.set(H.id,H.textureType);const R={name:"Set Texture for All Connected Walls",timestamp:Date.now(),oldValues:P,newValue:w,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};o(R),g(w),a(r+1)}break;default:if(c){const T=l(c.id),P=(T==null?void 0:T.textureType)??c.textureType,R={name:"Set Texture of Selected Wall",timestamp:Date.now(),oldValue:P,newValue:w,changedElementId:c.id,changedElementType:c.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};o(R),p(c.id,w),a(r+1)}}e(T=>{T.actionState.wallTexture=w})}},v=()=>{t(!1)},S=()=>{b(u)};return h.jsx(lo,{width:550,title:O.t("word.Texture",s),onApply:S,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:u,onChange:d,children:[h.jsxs(f,{value:No.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",s)]},No.NoTexture),h.jsxs(f,{value:No.Default,children:[h.jsx("img",{alt:No.Default,src:nye,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.TextureDefault",s)]},No.Default),h.jsxs(f,{value:No.Texture01,children:[h.jsx("img",{alt:No.Texture01,src:rot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture01",s)]},No.Texture01),h.jsxs(f,{value:No.Texture02,children:[h.jsx("img",{alt:No.Texture02,src:aot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture02",s)]},No.Texture02),h.jsxs(f,{value:No.Texture03,children:[h.jsx("img",{alt:No.Texture03,src:lot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture03",s)]},No.Texture03),h.jsxs(f,{value:No.Texture04,children:[h.jsx("img",{alt:No.Texture04,src:sot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture04",s)]},No.Texture04),h.jsxs(f,{value:No.Texture05,children:[h.jsx("img",{alt:No.Texture05,src:cot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture05",s)]},No.Texture05),h.jsxs(f,{value:No.Texture06,children:[h.jsx("img",{alt:No.Texture06,src:uot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture06",s)]},No.Texture06),h.jsxs(f,{value:No.Texture07,children:[h.jsx("img",{alt:No.Texture07,src:dot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture07",s)]},No.Texture07),h.jsxs(f,{value:No.Texture08,children:[h.jsx("img",{alt:No.Texture08,src:fot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture08",s)]},No.Texture08),h.jsxs(f,{value:No.Texture09,children:[h.jsx("img",{alt:No.Texture09,src:hot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture09",s)]},No.Texture09),h.jsxs(f,{value:No.Texture10,children:[h.jsx("img",{alt:No.Texture10,src:pot,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("wallMenu.Texture10",s)]},No.Texture10)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:w=>M.getState().setWallActionScope(w.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",s)})]})})})]})})},ado=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ro),a=M(oo),l=M(jn),s=co(z.Wall),c=Kt(),[u,d]=bZ((s==null?void 0:s.color)??"#ffffff"),f=(S,w)=>{e(T=>{for(const P of T.elements)if(P.type===z.Wall&&P.id===S&&!P.locked){P.color=w;break}})},p=S=>{if(!s)return;const w=be.getAllConnectedWalls(s);w.length!==0&&e(T=>{for(const P of w)if(!P.locked)for(const R of T.elements)R.id===P.id&&R.type===z.Wall&&(R.color=S)})},g=(S,w)=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&P.foundationId===S&&!P.locked&&(P.color=w)})},y=S=>{e(w=>{for(const T of w.elements)T.type===z.Wall&&!T.locked&&(T.color=S)})},A=(S,w)=>{e(T=>{for(const P of T.elements)P.type===z.Wall&&!P.locked&&S.has(P.id)&&(P.color=w)})},x=S=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.color&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Wall&&S!==T.color&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of n)if(T.type===z.Wall&&T.foundationId===s.foundationId&&S!==T.color&&!T.locked)return!0;break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s);for(const T of w)if(S!==T.color&&!T.locked)return!0;break;default:if(S!==(s==null?void 0:s.color))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(i){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.Wall&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.color??"#ffffff");const H={name:"Set Color for Selected Walls",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())f(D,E)},redo:()=>{A(H.oldValues,H.newValue)}};o(H),A(R,S),a(r+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.Wall&&R.set(D.id,D.color??"#ffffff");const H={name:"Set Color for All Walls",timestamp:Date.now(),oldValues:R,newValue:S,undo:()=>{for(const[D,E]of H.oldValues.entries())f(D,E)},redo:()=>{y(H.newValue)}};o(H),y(S),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const R=new Map;for(const D of n)D.type===z.Wall&&D.foundationId===s.foundationId&&R.set(D.id,D.color??"#ffffff");const H={name:"Set Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:R,newValue:S,groupId:s.foundationId,undo:()=>{for(const[D,E]of H.oldValues.entries())f(D,E)},redo:()=>{H.groupId&&g(H.groupId,H.newValue)}};o(H),g(s.foundationId,S),a(r+1)}break;case ue.AllConnectedObjects:const w=be.getAllConnectedWalls(s),T=new Map;for(const R of w)T.set(R.id,R.color??"#ffffff");const P={name:"Set Color for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:S,undo:()=>{for(const[R,H]of P.oldValues.entries())f(R,H)},redo:()=>{p(P.newValue)}};o(P),p(S),a(r+1);break;default:if(s){const R=l(s.id),H=(R==null?void 0:R.color)??s.color??"#ffffff",D={name:"Set Color of Selected Wall",timestamp:Date.now(),oldValue:H,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(D.changedElementId,D.oldValue)},redo:()=>{f(D.changedElementId,D.newValue)}};o(D),f(s.id,S),a(r+1)}}e(w=>{w.actionState.wallColor=S})}},b=()=>{t(!1)},v=()=>{C(u)};return h.jsx(lo,{width:640,title:O.t("wallMenu.Color",c),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u,onChangeComplete:d})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWallActionScope(S.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("wallMenu.OnlyThisWall",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:O.t("wallMenu.AllConnectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("wallMenu.AllWallsAboveFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("wallMenu.AllSelectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("wallMenu.AllWalls",c)})]})})})]})})},ldo={Height:{attributeKey:"lz",range:[.1,100],step:.1,unit:"word.MeterAbbreviation"},Opacity:{attributeKey:"opacity",range:[0,1],step:.01},StructureSpacing:{attributeKey:"structureSpacing",range:[.1,1e3],step:.1,unit:"word.MeterAbbreviation"},StructureWidth:{attributeKey:"structureWidth",range:[.01,1],step:.1,unit:"word.MeterAbbreviation"},Thickness:{attributeKey:"ly",range:[.1,1],step:.01,unit:"word.MeterAbbreviation"},EavesLength:{attributeKey:"eavesLength",range:[-.1,5],step:.01,unit:"word.MeterAbbreviation"},ParapetHeight:{attributeKey:"parapetHeight",range:[0,5],step:.01,unit:"word.MeterAbbreviation"},CopingsHeight:{attributeKey:"copingsHeight",range:[0,1],step:.01,unit:"word.MeterAbbreviation"},CopingsWidth:{attributeKey:"copingsWidth",range:[0,3],step:.01,unit:"word.MeterAbbreviation"}},sdo=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(be.isLegalOnWall(e.type))return!0}return!1},cdo=t=>{const e=[];if(t.type!==z.Wall)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce,a=r(n.id,!0),l=r(n.id,!1);return sdo()&&e.push({key:"wall-paste",label:h.jsx(OH,{})}),e.push({key:"wall-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"wall-cut",label:h.jsx(Tf,{})}),e.push({key:"wall-lock",label:h.jsx(Md,{selectedElement:n})}),o&&(a.gotSome()&&e.push({key:"lock-unlock-clear-on-wall",label:h.jsx(tn,{children:O.t("word.Elements",i)}),children:Kuo(n,a,l)}),e.push({key:"wall-parapet",label:h.jsx(tn,{children:O.t("wallMenu.Parapet",i)}),children:Zuo(n)}),e.push({key:"wall-structure",label:h.jsx(tn,{children:O.t("wallMenu.WallStructure",i)}),children:tdo(n)}),n.wallStructure!==hc.Default&&e.push({key:"wall-opacity",label:h.jsxs(eC,{dataType:q1.Opacity,Dialog:ZP,children:[O.t(`wallMenu.${q1.Opacity}`,i)," ..."]})}),e.push({key:"wall-fill",label:h.jsx(tn,{children:O.t("wallMenu.Fill",i)}),children:ndo(n)},{key:"add-polygon-on-wall",label:h.jsx(Vuo,{wall:n})},{key:"wall-thickness",label:h.jsxs(eC,{dataType:q1.Thickness,Dialog:ZP,children:[O.t(`wallMenu.${q1.Thickness}`,i)," ..."]})},{key:"wall-height",label:h.jsxs(eC,{dataType:q1.Height,Dialog:ZP,children:[O.t(`wallMenu.${q1.Height}`,i)," ..."]})},{key:"wall-eaves-length",label:h.jsxs(eC,{dataType:q1.EavesLength,Dialog:ZP,children:[O.t(`wallMenu.${q1.EavesLength}`,i)," ..."]})},{key:"wall-r-value",label:h.jsxs(io,{Dialog:odo,children:[O.t("word.RValue",i)," ..."]})},{key:"wall-heat-capacity",label:h.jsxs(io,{Dialog:ido,children:[O.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"wall-texture",label:h.jsxs(io,{Dialog:rdo,children:[O.t("wallMenu.Texture",i)," ..."]})},{key:"wall-color",label:h.jsxs(io,{Dialog:ado,children:[O.t("wallMenu.Color",i)," ..."]})})),{items:e}},udo=({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.filled=r;break}})},o=i=>{const r=i.target.checked,a={name:"Filled Door",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.doorFilled=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.filled,onChange:o,children:O.t("doorMenu.Filled",e)})})},ddo=({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.interior=r;break}})},o=i=>{const r=i.target.checked,a={name:"Interior Door",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.doorInterior=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.interior,onChange:o,children:O.t("doorMenu.Interior",e)})})},fdo=({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.doorType=r;break}})},o=i=>{const r={name:"Select Door Type",timestamp:Date.now(),oldValue:t.doorType,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value),M.getState().set(a=>{a.actionState.doorType=i.target.value})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.doorType,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:bd.Default,children:O.t("doorMenu.Default",e)}),h.jsx(Be,{style:{width:"100%"},value:bd.Arched,children:O.t("doorMenu.Arched",e)})]})})})},hdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=M(rr),c=co(z.Door),u=m.useMemo(()=>{const T=c?c.lx:1,P=c?s(c):null;return P?T*P.lx:T},[c==null?void 0:c.lx]),[d,f]=m.useState(u),p=Kt(),g=(T,P)=>{l(R=>{for(const H of R.elements)if(H.id===T&&H.type===z.Door){const D=H,E=s(D);D.lx=E?P/E.lx:P;break}})},y=T=>{for(const[P,R]of T.entries())g(P,R)},A=(T,P)=>{for(const R of T.keys())g(R,P)},x=T=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:for(const R of e)if(R.type===z.Door&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)){const H=s(R);if(H&&T!==R.lx*H.lx)return!0}break;case ue.AllObjectsOfThisType:for(const R of e)if(R.type===z.Door&&!R.locked){const H=s(R);if(H&&T!==R.lx*H.lx)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of e)if(R.type===z.Door&&R.foundationId===c.foundationId&&!R.locked){const H=s(R);if(H&&T!==R.lx*H.lx)return!0}break;case ue.OnlyThisSide:for(const R of e)if(R.type===z.Door&&R.parentId===c.parentId&&!R.locked){const H=s(R);if(H&&T!==R.lx*H.lx)return!0}break;default:const P=s(c);if(P&&T!==c.lx*P.lx)return!0;break}return!1}},C=T=>{if(c&&x(T))switch(o){case ue.AllSelectedObjectsOfThisType:{const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)){const E=D,L=E?s(E):null;P.set(D.id,E.lx*(L?L.lx:1)),E.lx=L?T/L.lx:T}});const R={name:"Set Width for Selected Doors",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisType:{const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lx*(L?L.lx:1)),E.lx=L?T/L.lx:T}});const R={name:"Set Width for All Doors",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.foundationId===c.foundationId&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lx*(L?L.lx:1)),E.lx=L?T/L.lx:T}});const R={name:"Set Width for All Doors Above Foundation",timestamp:Date.now(),oldValues:P,newValue:T,groupId:c.foundationId,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1)}break;case ue.OnlyThisSide:if(c.parentId){const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.parentId===c.parentId&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lx*(L?L.lx:1)),E.lx=L?T/L.lx:T}});const R={name:"Set Width for All Doors On the Same Wall",timestamp:Date.now(),oldValues:P,newValue:T,groupId:c.parentId,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1)}break;default:if(c){const P=a(c.id),R=c?s(P):null,H=(P.lx??c.lx??.1)*(R?R.lx:1),D={name:"Set Door Width",timestamp:Date.now(),oldValue:H,newValue:T,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};n(D),g(c.id,T),r(i+1)}}},b=()=>{t(!1)},v=()=>{C(d)},S=c?s(c):null,w=S&&c?2*S.lx*Math.min(Math.abs(.5-c.cx),Math.abs(-.5-c.cx)):100;return h.jsx(lo,{width:550,title:O.t("word.Width",p),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:w,style:{width:120},step:.1,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>f(T)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.1, ",w.toFixed(1),"]",O.t("word.MeterAbbreviation",p)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",p)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setDoorActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",p)})]})})})]})})},pdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=M(rr),c=co(z.Door),u=m.useMemo(()=>{const T=c?c.lz:1,P=c?s(c):null;return P?T*P.lz:T},[c==null?void 0:c.lz]),[d,f]=m.useState(u),p=Kt(),g=(T,P)=>{l(R=>{for(const H of R.elements)if(H.id===T&&H.type===z.Door){const D=H,E=s(D);D.lz=E?P/E.lz:P,E&&(D.cz=-(E.lz-P)/(2*E.lz));break}})},y=T=>{for(const[P,R]of T.entries())g(P,R)},A=(T,P)=>{for(const R of T.keys())g(R,P)},x=T=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:for(const R of e)if(R.type===z.Door&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)){const H=s(R);if(H&&T!==R.lz*H.lz)return!0}break;case ue.AllObjectsOfThisType:for(const R of e)if(R.type===z.Door&&!R.locked){const H=s(R);if(H&&T!==R.lz*H.lz)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of e)if(R.type===z.Door&&R.foundationId===c.foundationId&&!R.locked){const H=s(R);if(H&&T!==R.lz*H.lz)return!0}break;case ue.OnlyThisSide:for(const R of e)if(R.type===z.Door&&R.parentId===c.parentId&&!R.locked){const H=s(R);if(H&&T!==R.lz*H.lz)return!0}break;default:const P=s(c);if(P&&T!==c.lz*P.lz)return!0;break}return!1}},C=T=>{if(c&&x(T))switch(o){case ue.AllSelectedObjectsOfThisType:{const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)){const E=D,L=E?s(E):null;P.set(D.id,E.lz*(L?L.lz:1)),E.lz=L?T/L.lz:T,L&&(E.cz=-(L.lz-T)/(2*L.lz))}});const R={name:"Set Height for Selected Doors",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisType:{const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lz*(L?L.lz:1)),E.lz=L?T/L.lz:T,L&&(E.cz=-(L.lz-T)/(2*L.lz))}});const R={name:"Set Height for All Doors",timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.foundationId===c.foundationId&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lz*(L?L.lz:1)),E.lz=L?T/L.lz:T,L&&(E.cz=-(L.lz-T)/(2*L.lz))}});const R={name:"Set Height for All Doors Above Foundation",timestamp:Date.now(),oldValues:P,newValue:T,groupId:c.foundationId,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1)}break;case ue.OnlyThisSide:if(c.parentId){const P=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.parentId===c.parentId&&!D.locked){const E=D,L=E?s(E):null;P.set(D.id,E.lz*(L?L.lz:1)),E.lz=L?T/L.lz:T,L&&(E.cz=-(L.lz-T)/(2*L.lz))}});const R={name:"Set Height for All Doors On the Same Wall",timestamp:Date.now(),oldValues:P,newValue:T,groupId:c.parentId,undo:()=>{y(R.oldValues)},redo:()=>{A(R.oldValues,R.newValue)}};n(R),r(i+1)}break;default:if(c){const P=a(c.id),R=c?s(P):null,H=(P.lz??c.lz??.2)*(R?R.lz:1),D={name:"Set Door Height",timestamp:Date.now(),oldValue:H,newValue:T,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};n(D),g(c.id,T),r(i+1)}}},b=()=>{f(u),t(!1)},v=()=>{C(d)},S=c?s(c):null,w=(S==null?void 0:S.lz)??20;return h.jsx(lo,{width:550,title:O.t("word.Height",p),onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:w,style:{width:120},step:.1,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&f(T)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.1, ",w.toFixed(1),"]",O.t("word.MeterAbbreviation",p)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",p)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setDoorActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",p)})]})})})]})})},gdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.opacity)??1),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.opacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Door&&b!==v.opacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Door&&b!==v.opacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Door&&v.foundationId===s.foundationId&&b!==v.opacity&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of e)if(v.type===z.Door&&v.parentId===s.parentId&&b!==v.opacity&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.opacity))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const P=T;v.set(T.id,P.opacity??1),P.opacity=b}});const S={name:"Set Opacity for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&!T.locked){const P=T;v.set(T.id,P.opacity??1),P.opacity=b}});const S={name:"Set Opacity for All Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&T.foundationId===s.foundationId&&!T.locked){const P=T;v.set(T.id,P.opacity??1),P.opacity=b}});const S={name:"Set Opacity for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&T.parentId===s.parentId&&!T.locked){const P=T;v.set(T.id,P.opacity??1),P.opacity=b}});const S={name:"Set Opacity for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.parentId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).opacity??s.opacity??1,w={name:"Set Opacity of Door",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.doorOpacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("wallMenu.Opacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),O.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setDoorActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},mdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.uValue)??j4),[d,f]=m.useState(be.toUValueInUS(c)),p=Kt(),g=(S,w)=>{l(T=>{for(const P of T.elements)if(P.id===S){P.uValue=w;break}})},y=S=>{for(const[w,T]of S.entries())g(w,T)},A=(S,w)=>{for(const T of S.keys())g(T,w)},x=S=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.Door&&S!==w.uValue&&!w.locked&&M.getState().selectedElementIdSet.has(w.id))return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.Door&&S!==w.uValue&&!w.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.Door&&w.foundationId===s.foundationId&&S!==w.uValue&&!w.locked)return!0;break;case ue.OnlyThisSide:for(const w of e)if(w.type===z.Door&&w.parentId===s.parentId&&S!==w.uValue&&!w.locked)return!0;break;default:if(S!==(s==null?void 0:s.uValue))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(o){case ue.AllSelectedObjectsOfThisType:{const w=new Map;l(P=>{for(const R of P.elements)if(R.type===z.Door&&!R.locked){const H=R;w.set(R.id,H.uValue??j4),H.uValue=S}});const T={name:"Set U-Value for Selected Doors",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const w=new Map;l(P=>{for(const R of P.elements)if(R.type===z.Door&&!R.locked){const H=R;w.set(R.id,H.uValue??j4),H.uValue=S}});const T={name:"Set U-Value for All Doors",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;l(P=>{for(const R of P.elements)if(R.type===z.Door&&R.foundationId===s.foundationId&&!R.locked){const H=R;w.set(R.id,H.uValue??j4),H.uValue=S}});const T={name:"Set U-Value for All Doors Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const w=new Map;l(P=>{for(const R of P.elements)if(R.type===z.Door&&R.parentId===s.parentId&&!R.locked){const H=R;w.set(R.id,H.uValue??j4),H.uValue=S}});const T={name:"Set U-Value for All Doors On the Same Wall",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.parentId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).uValue??s.uValue??j4,P={name:"Set Door U-Value",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(P.changedElementId,P.oldValue)},redo:()=>{g(P.changedElementId,P.newValue)}};n(P),g(s.id,S),r(i+1)}}l(w=>{w.actionState.doorUValue=S})}},b=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${O.t("word.UValue",p)+" "}(${O.t("word.ThermalTransmittance",p)})`,onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(u(S),f(be.toUValueInUS(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",p),": W/(m²·℃)"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toUValueInUS(.01),max:be.toUValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(f(S),u(be.toUValueInSI(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [",be.toUValueInUS(.01).toFixed(3),", ",be.toUValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",p),": Btu/(h·ft²·℉)"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setDoorActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",p)})]})})})]})})},ydo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.volumetricHeatCapacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Door&&b!==v.volumetricHeatCapacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Door&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of e)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&T.foundationId===s.foundationId&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Door&&T.parentId===s.parentId&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.parentId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,w={name:"Set Volumetric Heat Capacity of Door",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.doorVolumetricHeatCapacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>{b!==null&&u(b)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),O.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setDoorActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},Ado=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ro),r=M(oo),a=M(dn),l=M(jn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.textureType)??ii.Default),d=Kt(),{Option:f}=Yo,p=(v,S)=>{a(w=>{for(const T of w.elements)if(T.id===v){T.locked||(T.textureType=S);break}})},g=(v,S)=>{for(const w of v.keys())p(w,S)},y=v=>{for(const[S,w]of v.entries())p(S,w)},A=v=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Door&&v!==S.textureType&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break;case ue.AllObjectsOfThisType:for(const S of e)if(S.type===z.Door&&v!==S.textureType&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of e)if(S.type===z.Door&&S.foundationId===s.foundationId&&v!==S.textureType&&!S.locked)return!0;break;case ue.OnlyThisSide:for(const S of e)if(S.type===z.Door&&S.parentId===s.parentId&&v!==S.textureType&&!S.locked)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0;break}return!1}},x=v=>{if(s&&A(v)){switch(o){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of M.getState().elements)T.type===z.Door&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&S.set(T.id,T.textureType??ii.Default);const w={name:"Set Texture for Selected Doors",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{y(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of M.getState().elements)T.type===z.Door&&!T.locked&&S.set(T.id,T.textureType??ii.Default);const w={name:"Set Texture for All Doors",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{y(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const S=new Map;for(const T of M.getState().elements)T.type===z.Door&&T.foundationId===s.foundationId&&!T.locked&&S.set(T.id,T.textureType);const w={name:"Set Texture for All Doors Above Foundation",timestamp:Date.now(),oldValues:S,newValue:v,groupId:s.foundationId,undo:()=>{y(w.oldValues)},redo:()=>{w.groupId&&g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const S=new Map;for(const T of M.getState().elements)T.type===z.Door&&T.parentId===s.parentId&&!T.locked&&S.set(T.id,T.textureType);const w={name:"Set Texture for All Doors On the Same Wall",timestamp:Date.now(),oldValues:S,newValue:v,groupId:s.parentId,undo:()=>{y(w.oldValues)},redo:()=>{w.groupId&&g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1)}break;default:if(s){const S=l(s.id),w=S?S.textureType:s.textureType,T={name:"Set Texture of Selected Door",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};n(T),p(s.id,v),r(i+1)}}a(S=>{S.actionState.doorTexture=v})}},C=()=>{t(!1)},b=()=>{x(c)};return h.jsx(lo,{width:550,title:O.t("word.Texture",d),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:v=>u(v),children:[h.jsxs(f,{value:ii.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",d)]},ii.NoTexture),h.jsxs(f,{value:ii.Default,children:[h.jsx("img",{alt:ii.Default,src:hqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.TextureDefault",d)]},ii.Default),h.jsxs(f,{value:ii.Texture01,children:[h.jsx("img",{alt:ii.Texture01,src:pqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture01",d)]},ii.Texture01),h.jsxs(f,{value:ii.Texture02,children:[h.jsx("img",{alt:ii.Texture02,src:Mue,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture02",d)]},ii.Texture02),h.jsxs(f,{value:ii.Texture03,children:[h.jsx("img",{alt:ii.Texture03,src:gqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture03",d)]},ii.Texture03),h.jsxs(f,{value:ii.Texture04,children:[h.jsx("img",{alt:ii.Texture04,src:mqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture04",d)]},ii.Texture04),h.jsxs(f,{value:ii.Texture05,children:[h.jsx("img",{alt:ii.Texture05,src:yqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture05",d)]},ii.Texture05),h.jsxs(f,{value:ii.Texture06,children:[h.jsx("img",{alt:ii.Texture06,src:Aqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture06",d)]},ii.Texture06),h.jsxs(f,{value:ii.Texture07,children:[h.jsx("img",{alt:ii.Texture07,src:wqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture07",d)]},ii.Texture07),h.jsxs(f,{value:ii.Texture08,children:[h.jsx("img",{alt:ii.Texture08,src:vqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture08",d)]},ii.Texture08),h.jsxs(f,{value:ii.Texture09,children:[h.jsx("img",{alt:ii.Texture09,src:xqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture09",d)]},ii.Texture09),h.jsxs(f,{value:ii.Texture10,children:[h.jsx("img",{alt:ii.Texture10,src:bqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture10",d)]},ii.Texture10),h.jsxs(f,{value:ii.Texture11,children:[h.jsx("img",{alt:ii.Texture11,src:Sqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture11",d)]},ii.Texture11),h.jsxs(f,{value:ii.Texture12,children:[h.jsx("img",{alt:ii.Texture12,src:Tqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture12",d)]},ii.Texture12),h.jsxs(f,{value:ii.Texture13,children:[h.jsx("img",{alt:ii.Texture13,src:Pqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture13",d)]},ii.Texture13),h.jsxs(f,{value:ii.Texture14,children:[h.jsx("img",{alt:ii.Texture14,src:Cqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture14",d)]},ii.Texture14),h.jsxs(f,{value:ii.Texture15,children:[h.jsx("img",{alt:ii.Texture15,src:Rqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture15",d)]},ii.Texture15),h.jsxs(f,{value:ii.Texture16,children:[h.jsx("img",{alt:ii.Texture16,src:Hqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture16",d)]},ii.Texture16),h.jsxs(f,{value:ii.Texture17,children:[h.jsx("img",{alt:ii.Texture17,src:Mqe,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("doorMenu.Texture17",d)]},ii.Texture17)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:v=>M.getState().setDoorActionScope(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},wdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(I7),r=M(ro),a=M(oo),l=M(jn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.color)??"#ffffff"),d=Kt(),f=(b,v)=>{e(S=>{for(const w of S.elements)if(w.id===b){w.locked||(w.color=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Door&&b!==v.color&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Door&&b!==v.color&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&b!==v.color&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of n)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&b!==v.color&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.color))return!0;break}return!1},A=b=>{if(s&&y(b)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&!w.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&w.parentId===s.parentId&&!s.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.parentId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.color:s.color)??"#ffffff",w={name:"Set Color of Selected Door",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}e(v=>{v.actionState.doorColor=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("word.Color",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setDoorActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},vdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(I7),r=M(ro),a=M(oo),l=M(jn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.frameColor)??"#ffffff"),d=Kt(),f=(b,v)=>{e(S=>{for(const w of S.elements)if(w.id===b){!w.locked&&w.type===z.Door&&(w.frameColor=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Door&&!v.locked&&M.getState().selectedElementIdSet.has(v.id)&&b!==v.frameColor)return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Door&&!v.locked&&b!==v.frameColor)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&!v.locked&&b!==v.frameColor)return!0;break;case ue.OnlyThisSide:for(const v of n)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&!v.locked&&b!==v.frameColor)return!0;break;default:if(b!==(s==null?void 0:s.frameColor))return!0;break}return!1},A=b=>{if(s&&y(b)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&v.set(w.id,w.frameColor??"#ffffff");const S={name:"Set Color for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&!w.locked&&v.set(w.id,w.frameColor??"#ffffff");const S={name:"Set Color for All Doors",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.frameColor??"#ffffff");const S={name:"Set Color for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;for(const w of M.getState().elements)w.type===z.Door&&w.parentId===s.parentId&&!s.locked&&v.set(w.id,w.frameColor??"#ffffff");const S={name:"Set Color for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.parentId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.frameColor:s.frameColor)??"#ffffff",w={name:"Set Color of Selected Door",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}e(v=>{v.actionState.doorColor=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("doorMenu.FrameColor",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c??(s==null?void 0:s.frameColor)??"#ffffff",onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setDoorActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("doorMenu.AllDoors",d)})]})})})]})})},xdo=t=>{const e=[];if(t.type!==z.Door)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"door-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"door-cut",label:h.jsx(Tf,{})}),e.push({key:"door-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"door-filled",label:h.jsx(udo,{door:n})},{key:"door-interior",label:h.jsx(ddo,{door:n})}),o&&(e.push({key:"door-type-submenu",label:h.jsx(tn,{children:O.t("doorMenu.DoorType",i)}),children:[{key:"door-type-radio-group",label:h.jsx(fdo,{door:n}),style:{backgroundColor:"white"}}]},{key:"door-width",label:h.jsxs(io,{Dialog:hdo,children:[O.t("word.Width",i)," ..."]})},{key:"door-height",label:h.jsxs(io,{Dialog:pdo,children:[O.t("word.Height",i)," ..."]})}),n.filled&&(e.push({key:"door-u-value",label:h.jsxs(io,{Dialog:mdo,children:[O.t("word.UValue",i)," ..."]})},{key:"door-heat-capacity",label:h.jsxs(io,{Dialog:ydo,children:[O.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"door-texture",label:h.jsxs(io,{Dialog:Ado,children:[O.t("word.Texture",i)," ..."]})},{key:"door-color",label:h.jsxs(io,{Dialog:wdo,children:[O.t("word.Color",i)," ..."]})},{key:"door-frame-color",label:h.jsxs(io,{Dialog:vdo,children:[O.t("doorMenu.FrameColor",i)," ..."]})}),(n.textureType===ii.Default||n.textureType===ii.NoTexture)&&e.push({key:"door-opacity",label:h.jsxs(io,{Dialog:gdo,children:[O.t("wallMenu.Opacity",i)," ..."]})}))),{items:e}},bdo=({windowModel:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,note:a,digit:l,setDialogVisible:s})=>{const c=M(Jn),u=M(En),d=M(cW),f=M(ro),p=M(oo),g=M(dn),y=M(rr),A=m.useMemo(()=>{const F=t[n],W=y(t);if(W&&t.parentType!==z.Roof){if(n==="lx")return F*W.lx;if(n==="lz")return F*W.lz}return n==="sillWidth"&&F===void 0?.2:F},[n,t]),[x,C]=m.useState(A),b=Kt(),v=(F,W,B)=>{const k=y(F);k&&(W==="lx"||W==="lz")?F.parentType===z.Roof?F[W]=B:F[W]=B/k[W]:F[W]=B},S=(F,W)=>{g(B=>{for(const k of B.elements)if(k.id===F){!k.locked&&k.type===z.Window&&v(k,n,W);break}})},w=(F,W)=>{F&&g(B=>{for(const k of B.elements)!k.locked&&k.type===z.Window&&k.parentId===F&&v(k,n,W)})},T=(F,W)=>{F&&g(B=>{for(const k of B.elements)!k.locked&&k.type===z.Window&&k.foundationId===F&&v(k,n,W)})},P=F=>{g(W=>{for(const B of W.elements)!B.locked&&B.type===z.Window&&v(B,n,F)})},R=(F,W)=>{g(B=>{for(const k of B.elements)!k.locked&&k.type===z.Window&&F.has(k.id)&&v(k,n,W)})},H=F=>{for(const[W,B]of F.entries())S(W,B)},D=F=>{switch(d){case ue.AllSelectedObjectsOfThisType:for(const B of c)if(B.type===z.Window&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)){const k=B,N=y(k);if(N&&k.parentType!==z.Roof){if(n==="lx"){if(F!==k[n]*N.lx)return!0}else if(n==="lz"){if(F!==k[n]*N.lz)return!0}else if(F!==k[n])return!0}else if(F!==k[n])return!0}break;case ue.AllObjectsOfThisType:for(const B of c)if(B.type===z.Window&&!B.locked){const k=B,N=y(k);if(N&&k.parentType!==z.Roof){if(n==="lx"){if(F!==k[n]*N.lx)return!0}else if(n==="lz"){if(F!==k[n]*N.lz)return!0}else if(F!==k[n])return!0}else if(F!==k[n])return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const B of c)if(B.type===z.Window&&B.foundationId===t.foundationId&&!B.locked){const k=B,N=y(k);if(N&&k.parentType!==z.Roof){if(n==="lx"){if(F!==k[n]*N.lx)return!0}else if(n==="lz"){if(F!==k[n]*N.lz)return!0}else if(F!==k[n])return!0}else if(F!==k[n])return!0}break;case ue.OnlyThisSide:for(const B of c)if(B.type===z.Window&&B.parentId===t.parentId&&!B.locked){const k=B,N=y(k);if(N&&k.parentType!==z.Roof){if(n==="lx"){if(F!==k[n]*N.lx)return!0}else if(n==="lz"){if(F!==k[n]*N.lz)return!0}else if(F!==k[n])return!0}else if(F!==k[n])return!0}break;default:const W=y(t);if(W&&t.parentType!==z.Roof){if(n==="lx"){if(F!==t[n]*W.lx)return!0}else if(n==="lz"){if(F!==t[n]*W.lz)return!0}else if(F!==t[n])return!0}else if(F!==t[n])return!0;break}return!1},E=F=>{if(t&&D(F)){switch(d){case ue.AllSelectedObjectsOfThisType:{const W=new Map;for(const k of c)if(k.type===z.Window&&!k.locked&&M.getState().selectedElementIdSet.has(k.id)){const N=k,j=y(N);let Y=N[n];j&&N.parentType!==z.Roof&&(n==="lx"?Y*=j.lx:n==="lz"&&(Y*=j.lz)),W.set(k.id,Y)}const B={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:W,newValue:F,undo:()=>{H(B.oldValues)},redo:()=>{R(B.oldValues,B.newValue)}};u(B),R(W,F),p(f+1);break}case ue.AllObjectsOfThisType:{const W=new Map;for(const k of c)if(k.type===z.Window&&!k.locked){const N=k,j=y(N);let Y=N[n];j&&N.parentType!==z.Roof&&(n==="lx"?Y*=j.lx:n==="lz"&&(Y*=j.lz)),W.set(k.id,Y)}const B={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:W,newValue:F,undo:()=>{H(B.oldValues)},redo:()=>{P(B.newValue)}};u(B),P(F),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const W=new Map;for(const k of c)if(k.type===z.Window&&k.foundationId===t.foundationId&&!k.locked){const N=k,j=y(N);let Y=N[n];j&&N.parentType!==z.Roof&&(n==="lx"?Y*=j.lx:n==="lz"&&(Y*=j.lz)),W.set(k.id,Y)}const B={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:W,newValue:F,groupId:t.foundationId,undo:()=>{H(B.oldValues)},redo:()=>{T(t.foundationId,B.newValue)}};u(B),T(t.foundationId,F),p(f+1)}break;case ue.OnlyThisSide:if(t.parentId){const W=new Map;for(const k of c)if(k.type===z.Window&&k.parentId===t.parentId&&!k.locked){const N=k,j=y(N);let Y=N[n];j&&N.parentType!==z.Roof&&(n==="lx"?Y*=j.lx:n==="lz"&&(Y*=j.lz)),W.set(k.id,Y)}const B={name:`Set ${e} for All Windows On the Same Parent`,timestamp:Date.now(),oldValues:W,newValue:F,groupId:t.parentId,undo:()=>{H(B.oldValues)},redo:()=>{w(t.parentId,B.newValue)}};u(B),w(t.parentId,F),p(f+1)}break;default:if(t){let W=t[n];const B=y(t);B&&t.parentType!==z.Roof&&(n==="lx"?W*=B.lx:n==="lz"&&(W*=B.lz));const k={name:`Set Window ${e}`,timestamp:Date.now(),oldValue:W,newValue:F,changedElementId:t.id,changedElementType:t.type,undo:()=>{S(k.changedElementId,k.oldValue)},redo:()=>{S(k.changedElementId,k.newValue)}};u(k),S(t.id,F),p(f+1)}}g(W=>{switch(e){case Jh.Width:W.actionState.windowWidth=F;break;case Jh.Height:W.actionState.windowHeight=F;break;case Jh.Opacity:W.actionState.windowOpacity=F;break;case Jh.FrameWidth:W.actionState.windowFrameWidth=F;break;case Jh.SillWidth:W.actionState.windowSillWidth=F;break;case Jh.HorizontalMullionSpacing:W.actionState.windowHorizontalMullionSpacing=F;break;case Jh.VerticalMullionSpacing:W.actionState.windowVerticalMullionSpacing=F;break;case Jh.MullionWidth:W.actionState.windowMullionWidth=F;break}})}},L=()=>{s(!1)},U=()=>{E(x)};return h.jsx(lo,{width:550,title:O.t(`windowMenu.${e}`,b),onApply:U,onClose:L,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,value:x,formatter:F=>Number(F).toFixed(2),onChange:F=>{F!==null&&C(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",b),": [",o[0].toFixed(o[0]===0?0:l??0),","," ",o[1].toFixed(l??0),"] ",r," ",h.jsx("br",{}),h.jsx("br",{})," ",a]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:F=>M.getState().setWindowActionScope(F.target.value),value:d,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",b)})]})})})]})})},Sdo=({window:t,dataType:e,attributeKey:n,setDialogVisible:o})=>{const i=M(Jn),r=M(dn),a=M(En),l=M(cW),s=M(ro),c=M(oo),[u,d]=bZ(t[n]??"#ffffff"),f=Kt(),p=(T,P)=>{r(R=>{for(const H of R.elements)if(H.id===T){!H.locked&&H.type===z.Window&&(H[n]=P);break}})},g=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.parentId===T&&(H[n]=P)})},y=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.foundationId===T&&(H[n]=P)})},A=T=>{r(P=>{for(const R of P.elements)!R.locked&&R.type===z.Window&&(R[n]=T)})},x=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&T.has(H.id)&&(H[n]=P)})},C=T=>{for(const[P,R]of T.entries())p(P,R)},b=T=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const P of i)if(P.type===z.Window&&T!==P[n]&&!P.locked&&M.getState().selectedElementIdSet.has(P.id))return!0;break;case ue.AllObjectsOfThisType:for(const P of i)if(P.type===z.Window&&T!==P[n]&&!P.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of i)if(P.type===z.Window&&P.foundationId===t.foundationId&&T!==P[n]&&!P.locked)return!0;break;case ue.OnlyThisSide:for(const P of i)if(P.type===z.Window&&P.parentId===t.parentId&&T!==P[n]&&!P.locked)return!0;break;default:if(T!==t[n])return!0;break}return!1},v=T=>{if(t&&b(T)){switch(l){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of i)H.type===z.Window&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,H[n]);const R={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{C(R.oldValues)},redo:()=>{x(R.oldValues,R.newValue)}};a(R),x(P,T),c(s+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of i)H.type===z.Window&&!H.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{C(R.oldValues)},redo:()=>{A(R.newValue)}};a(R),A(T),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const P=new Map;for(const H of i)H.type===z.Window&&H.foundationId===t.foundationId&&!t.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:P,newValue:T,groupId:t.foundationId,undo:()=>{C(R.oldValues)},redo:()=>{y(R.groupId,R.newValue)}};a(R),y(t.foundationId,T),c(s+1)}break;case ue.OnlyThisSide:if(t.parentId){const P=new Map;for(const H of i)H.type===z.Window&&H.parentId===t.parentId&&!H.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:P,newValue:T,groupId:t.parentId,undo:()=>{C(R.oldValues)},redo:()=>{g(t.parentId,R.newValue)}};a(R),g(t.parentId,T),c(s+1)}break;default:if(t){const P=t[n],R={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:P,newValue:T,changedElementId:t.id,changedElementType:t.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};a(R),p(t.id,T),c(s+1)}}r(P=>{switch(e){case Jh.Tint:P.actionState.windowTint=T;break;case Jh.MullionColor:P.actionState.windowMullionColor=T;break;case Jh.Color:P.actionState.windowColor=T;break}})}},S=()=>{o()},w=()=>{t[n]!==u&&v(u)};return h.jsx(lo,{width:640,title:O.t(`windowMenu.${e}`,f),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u??"#73D8FF",onChangeComplete:d})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWindowActionScope(T.target.value),value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",f)})]})})})]})})},Tdo=({window:t,dataType:e,attributeKey:n,setDialogVisible:o})=>{const i=M(Jn),r=M(dn),a=M(En),l=M(cW),s=M(ro),c=M(oo),[u,d]=m.useState(t[n]),f=Kt(),p=(T,P)=>{r(R=>{for(const H of R.elements)if(H.id===T&&!H.locked&&H.type===z.Window){H[n]=P;break}})},g=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.parentId===T&&(H[n]=P)})},y=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.foundationId===T&&(H[n]=P)})},A=T=>{r(P=>{for(const R of P.elements)!R.locked&&R.type===z.Window&&(R[n]=T)})},x=(T,P)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&T.has(H.id)&&(H[n]=P)})},C=T=>{for(const[P,R]of T.entries())p(P,R)},b=T=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const P of i)if(P.type===z.Window&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&P[n]!==T)return!0;break;case ue.AllObjectsOfThisType:for(const P of i)if(P.type===z.Window&&!P.locked&&P[n]!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of i)if(P.type===z.Window&&P.foundationId===t.foundationId&&!P.locked&&P[n]!==T)return!0;break;case ue.OnlyThisSide:for(const P of i)if(P.type===z.Window&&P.parentId===t.parentId&&!P.locked&&P[n]!==T)return!0;break;default:if(t[n]!==T)return!0;break}return!1},v=T=>{if(t&&b(T))switch(l){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const H of i)H.type===z.Window&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&P.set(H.id,H[n]);const R={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{C(R.oldValues)},redo:()=>{x(R.oldValues,R.newValue)}};a(R),x(P,T),c(s+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const H of i)H.type===z.Window&&!H.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:P,newValue:T,undo:()=>{C(R.oldValues)},redo:()=>{A(R.newValue)}};a(R),A(T),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const P=new Map;for(const H of i)H.type===z.Window&&H.foundationId===t.foundationId&&!t.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:P,newValue:T,groupId:t.foundationId,undo:()=>{C(R.oldValues)},redo:()=>{y(R.groupId,R.newValue)}};a(R),y(t.foundationId,T),c(s+1)}break;case ue.OnlyThisSide:if(t.parentId){const P=new Map;for(const H of i)H.type===z.Window&&H.parentId===t.parentId&&!H.locked&&P.set(H.id,H[n]);const R={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:P,newValue:T,groupId:t.parentId,undo:()=>{C(R.oldValues)},redo:()=>{g(t.parentId,R.newValue)}};a(R),g(t.parentId,T),c(s+1)}break;default:if(t){const P=t[n],R={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:P,newValue:T,changedElementId:t.id,changedElementType:t.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};a(R),p(t.id,T),c(s+1)}}},S=()=>{o()},w=()=>{t[n]!==u&&v(u)};return h.jsx(lo,{width:500,title:O.t(`windowMenu.${e}`,f),onApply:w,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:u,onChange:T=>{d(T)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWindowActionScope(T.target.value),value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",f)})]})})})]})})},{Option:Pdo}=Yo,Cdo=({window:t,dataType:e,attributeKey:n,options:o,optionsText:i,setDialogVisible:r})=>{const a=M(Jn),l=M(dn),s=M(En),c=M(cW),u=M(ro),d=M(oo),[f,p]=m.useState(t[n]),g=Kt(),y=(R,H)=>{l(D=>{for(const E of D.elements)if(E.id===R){!E.locked&&E.type===z.Window&&(E[n]=H);break}})},A=(R,H)=>{l(D=>{for(const E of D.elements)!E.locked&&E.type===z.Window&&E.parentId===R&&(E[n]=H)})},x=(R,H)=>{l(D=>{for(const E of D.elements)!E.locked&&E.type===z.Window&&E.foundationId===R&&(E[n]=H)})},C=R=>{l(H=>{for(const D of H.elements)!D.locked&&D.type===z.Window&&(D[n]=R)})},b=(R,H)=>{l(D=>{for(const E of D.elements)!E.locked&&E.type===z.Window&&R.has(E.id)&&(E[n]=H)})},v=R=>{for(const[H,D]of R.entries())y(H,D)},S=R=>{if(t){switch(c){case ue.AllSelectedObjectsOfThisType:for(const H of a)if(H.type===z.Window&&R!==H[n]&&!H.locked&&M.getState().selectedElementIdSet.has(H.id))return!0;break;case ue.AllObjectsOfThisType:for(const H of a)if(H.type===z.Window&&R!==H[n]&&!H.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of a)if(H.type===z.Window&&H.foundationId===t.foundationId&&R!==H[n]&&!H.locked)return!0;break;case ue.OnlyThisSide:for(const H of a)if(H.type===z.Window&&H.parentId===t.parentId&&R!==H[n]&&!H.locked)return!0;break;default:if(R!==t[n])return!0;break}return!1}},w=R=>{if(t&&S(R)){switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const E of a)E.type===z.Window&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&H.set(E.id,E[n]);const D={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{v(D.oldValues)},redo:()=>{b(D.oldValues,D.newValue)}};s(D),b(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const E of a)E.type===z.Window&&!E.locked&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{v(D.oldValues)},redo:()=>{C(D.newValue)}};s(D),C(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const E of a)E.type===z.Window&&E.foundationId===t.foundationId&&!t.locked&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{v(D.oldValues)},redo:()=>{x(D.groupId,D.newValue)}};s(D),x(t.foundationId,R),d(u+1)}break;case ue.OnlyThisSide:if(t.parentId){const H=new Map;for(const E of a)E.type===z.Window&&E.parentId===t.parentId&&!E.locked&&H.set(E.id,E[n]);const D={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.parentId,undo:()=>{v(D.oldValues)},redo:()=>{A(t.parentId,D.newValue)}};s(D),A(t.parentId,R),d(u+1)}break;default:if(t){const H=t[n],D={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{y(D.changedElementId,D.oldValue)},redo:()=>{y(D.changedElementId,D.newValue)}};s(D),y(t.id,R),d(u+1)}}l(H=>{switch(e){case Jh.Tint:H.actionState.windowTint=R;break;case Jh.MullionColor:H.actionState.windowMullionColor=R;break;case Jh.Color:H.actionState.windowColor=R;break}})}},T=()=>{r()},P=()=>{w(f)};return h.jsx(lo,{width:560,title:O.t(`windowMenu.${e}`,g),onApply:P,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Yo,{style:{width:"150px"},value:f,onChange:R=>p(R),children:o.map((R,H)=>h.jsx(Pdo,{value:R,children:i[H]},R))})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWindowActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",g)})]})})})]})})};var w2=(t=>(t.Opacity="Opacity",t.Width="Width",t.Height="Height",t.Setback="Setback",t.HorizontalMullionSpacing="HorizontalMullionSpacing",t.VerticalMullionSpacing="VerticalMullionSpacing",t.MullionWidth="MullionWidth",t.SillWidth="SillWidth",t.FrameWidth="FrameWidth",t.ShutterWidth="ShutterWidth",t))(w2||{}),LN=(t=>(t.ShutterColor="ShutterColor",t.Color="Color",t.MullionColor="MullionColor",t.Tint="Tint",t))(LN||{}),LR=(t=>(t.Frame="Frame",t.LeftShutter="LeftShutter",t.RightShutter="RightShutter",t.HorizontalMullion="HorizontalMullion",t.VerticalMullion="VerticalMullion",t))(LR||{}),got=(t=>(t.WindowType="WindowType",t))(got||{});const c9=({dataType:t,noPadding:e})=>{const n=Kt(),[o,i]=m.useState(!1),r=co(z.Window),a=r?M.getState().getParent(r):null,l=()=>{M.getState().setApplyCount(0),i(!0)},s=Wdo[t];return t==="Width"?s.range[1]=a&&r&&r.parentType!==z.Roof?2*a.lx*Math.min(Math.abs(.5-r.cx),Math.abs(-.5-r.cx)):100:t==="Height"&&(s.range[1]=a&&r&&r.parentType!==z.Roof?2*a.lz*Math.min(Math.abs(.5-r.cz),Math.abs(-.5-r.cz)):100),h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:l,children:[O.t(`windowMenu.${t}`,n)," ..."]}),o&&s&&r&&h.jsx(bdo,{windowModel:r,dataType:t,attributeKey:s.attributeKey,range:s.range,step:s.step,unit:s.unit?O.t(s.unit,n):void 0,note:s.note?O.t(s.note,n):void 0,digit:s.digit??0,setDialogVisible:i})]})},BZ=({dataType:t,noPadding:e})=>{const[n,o]=m.useState(!1),i=Kt(),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),o(!0)},l=kdo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[O.t(`windowMenu.${t}`,i)," ..."]}),n&&l&&r&&h.jsx(Sdo,{window:r,dataType:t,attributeKey:l.attributeKey,setDialogVisible:()=>o(!1)})]})},PF=({dataType:t,noPadding:e})=>{const[n,o]=m.useState(!1),i=Kt(),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),o(!0)},l=Fdo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[O.t(`windowMenu.${t}`,i)," ..."]}),n&&l&&r&&h.jsx(Tdo,{window:r,dataType:t,attributeKey:l.attributeKey,setDialogVisible:()=>o(!1)})]})},Rdo=({dataType:t,noPadding:e})=>{const n=Kt(),[o,i]=m.useState(!1),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),i(!0)},l=Ldo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[O.t(`windowMenu.${t}`,n)," ..."]}),o&&l&&r&&h.jsx(Cdo,{window:r,dataType:t,attributeKey:l.attributeKey,options:[Sr.Default,Sr.Arched,Sr.Polygonal],optionsText:[O.t("windowMenu.Default",n),O.t("windowMenu.Arched",n),O.t("windowMenu.Polygonal",n)],setDialogVisible:()=>i(!1)})]})},Hdo=({window:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Window){l.empty=r;break}})},o=i=>{const r=i.target.checked,a={name:"Empty Window",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.windowEmpty=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.empty,onChange:o,children:O.t("windowMenu.Empty",e)})})},Mdo=({window:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Window){l.interior=r;break}})},o=i=>{const r=i.target.checked,a={name:"Interior Window",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.windowInterior=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.interior,onChange:o,children:O.t("windowMenu.Interior",e)})})},Ido=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(cW),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Window),[c,u]=m.useState((s==null?void 0:s.uValue)??B4),[d,f]=m.useState(be.toUValueInUS(c)),p=Kt(),g=(S,w)=>{l(T=>{for(const P of T.elements)if(P.id===S){P.uValue=w;break}})},y=S=>{for(const[w,T]of S.entries())g(w,T)},A=(S,w)=>{for(const T of S.keys())g(T,w)},x=S=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.Window&&S!==w.uValue&&!w.locked&&M.getState().selectedElementIdSet.has(w.id))return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.Window&&S!==w.uValue&&!w.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.Window&&w.foundationId===s.foundationId&&S!==w.uValue&&!w.locked)return!0;break;case ue.OnlyThisSide:for(const w of e)if(w.type===z.Window&&w.parentId===s.parentId&&S!==w.uValue&&!w.locked)return!0;break;default:if(S!==(s==null?void 0:s.uValue))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(o){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Window&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const R=P;w.set(P.id,R.uValue??B4),g(R.id,S)}const T={name:"Set U-Value for Selected Windows",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Window&&!P.locked){const R=P;w.set(P.id,R.uValue??B4),g(R.id,S)}const T={name:"Set U-Value for All Windows",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;for(const P of e)if(P.type===z.Window&&P.foundationId===s.foundationId&&!P.locked){const R=P;w.set(P.id,R.uValue??B4),g(R.id,S)}const T={name:"Set U-Value for All Windows Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const w=new Map;for(const P of e)if(P.type===z.Window&&P.parentId===s.parentId&&!P.locked){const R=P;w.set(P.id,R.uValue??B4),g(R.id,S)}const T={name:"Set U-Value for All Windows On the Same Wall",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.parentId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).uValue??s.uValue??B4,P={name:"Set Window U-Value",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(P.changedElementId,P.oldValue)},redo:()=>{g(P.changedElementId,P.newValue)}};n(P),g(s.id,S),r(i+1)}}l(w=>{w.actionState.windowUValue=S})}},b=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${O.t("word.UValue",p)+" "}(${O.t("word.ThermalTransmittance",p)})`,onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(u(S),f(be.toUValueInUS(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",p),": W/(m²·℃)"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toUValueInUS(.01),max:be.toUValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(f(S),u(be.toUValueInSI(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [",be.toUValueInUS(.01).toFixed(3),", ",be.toUValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",p),": Btu/(h·ft²·℉)"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWindowActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windowMenu.OnlyThisWindow",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:O.t("windowMenu.AllWindowsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windowMenu.AllWindowsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windowMenu.AllSelectedWindows",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windowMenu.AllWindows",p)})]})})})]})})},zdo=t=>{const e=[];return M.getState().language,e.push({key:"window-frame-boolean",label:h.jsx(PF,{noPadding:!0,dataType:LR.Frame})}),t.frame&&e.push({type:"divider"},{key:"window-frame-width",label:h.jsx(c9,{noPadding:!0,dataType:w2.FrameWidth})},{key:"window-sill-width",label:h.jsx(c9,{noPadding:!0,dataType:w2.SillWidth})},{key:"window-frame-color",label:h.jsx(BZ,{noPadding:!0,dataType:LN.Color})}),e},Ddo=t=>{const e=[];return e.push({key:"window-horizontal-mullion",label:h.jsx(PF,{noPadding:!0,dataType:LR.HorizontalMullion})},{key:"window-vertical-mullion",label:h.jsx(PF,{noPadding:!0,dataType:LR.VerticalMullion})}),(t.horizontalMullion||t.verticalMullion)&&(e.push({type:"divider"},{key:"window-mullion-width",label:h.jsx(c9,{noPadding:!0,dataType:w2.MullionWidth})},{key:"window-mullion-color",label:h.jsx(BZ,{noPadding:!0,dataType:LN.MullionColor})}),t.horizontalMullion&&e.push({key:"window-horizontal-mullion-spacing",label:h.jsx(c9,{noPadding:!0,dataType:w2.HorizontalMullionSpacing})}),t.verticalMullion&&e.push({key:"window-vertical-mullion-spacing",label:h.jsx(c9,{noPadding:!0,dataType:w2.VerticalMullionSpacing})})),e},Edo=t=>{const e=[];return e.push({key:"window-left-shutter",label:h.jsx(PF,{noPadding:!0,dataType:LR.LeftShutter})},{key:"window-right-shutter",label:h.jsx(PF,{noPadding:!0,dataType:LR.RightShutter})}),(t.leftShutter||t.rightShutter)&&e.push({type:"divider"},{key:"window-shutter-color",label:h.jsx(BZ,{noPadding:!0,dataType:LN.ShutterColor})},{key:"window-shutter-width",label:h.jsx(c9,{noPadding:!0,dataType:w2.ShutterWidth})}),e};var Jh=(t=>(t.Color="Color",t.Tint="Tint",t.Opacity="Opacity",t.WindowType="WindowType",t.HorizontalMullion="HorizontalMullion",t.VerticalMullion="VerticalMullion",t.MullionWidth="MullionWidth",t.HorizontalMullionSpacing="HorizontalMullionSpacing",t.VerticalMullionSpacing="VerticalMullionSpacing",t.MullionColor="MullionColor",t.Frame="Frame",t.FrameWidth="FrameWidth",t.SillWidth="SillWidth",t.Width="Width",t.Height="Height",t.Setback="Setback",t.LeftShutter="LeftShutter",t.RightShutter="RightShutter",t.ShutterColor="ShutterColor",t.ShutterWidth="ShutterWidth",t))(Jh||{});const kdo={Tint:{attributeKey:"tint"},Color:{attributeKey:"color"},MullionColor:{attributeKey:"mullionColor"},ShutterColor:{attributeKey:"shutterColor"}},Fdo={HorizontalMullion:{attributeKey:"horizontalMullion"},VerticalMullion:{attributeKey:"verticalMullion"},Frame:{attributeKey:"frame"},LeftShutter:{attributeKey:"leftShutter"},RightShutter:{attributeKey:"rightShutter"}},Ldo={WindowType:{attributeKey:"windowType",options:[Sr.Default,Sr.Arched,Sr.Polygonal]}},Wdo={Opacity:{attributeKey:"opacity",range:[0,.9],step:.1,note:"windowMenu.SolarHeatGainCoefficient",digit:1},Width:{attributeKey:"lx",range:[.1,100],step:.1,unit:"word.MeterAbbreviation",digit:1},Height:{attributeKey:"lz",range:[.1,100],step:.1,unit:"word.MeterAbbreviation",digit:1},Setback:{attributeKey:"cy",range:[0,1],step:.01,unit:"",digit:0,note:"windowMenu.RelativeToWallThickness"},MullionWidth:{attributeKey:"mullionWidth",range:[0,.2],step:.1,unit:"word.MeterAbbreviation",digit:1},ShutterWidth:{attributeKey:"shutterWidth",range:[0,.5],step:.01,unit:"",digit:1},HorizontalMullionSpacing:{attributeKey:"horizontalMullionSpacing",range:[.1,5],step:.01,unit:"word.MeterAbbreviation",digit:1},VerticalMullionSpacing:{attributeKey:"verticalMullionSpacing",range:[.1,5],step:.01,unit:"word.MeterAbbreviation",digit:1},FrameWidth:{attributeKey:"frameWidth",range:[.05,.2],step:.01,unit:"word.MeterAbbreviation",digit:2},SillWidth:{attributeKey:"sillWidth",range:[0,.5],step:.01,unit:"word.MeterAbbreviation",digit:2}},Ndo=t=>{const e=[];if(t.type!==z.Window)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"window-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"window-cut",label:h.jsx(Tf,{})}),e.push({key:"window-lock",label:h.jsx(Md,{selectedElement:n})}),o&&e.push({key:"window-empty",label:h.jsx(Hdo,{window:n})},{key:"window-interior",label:h.jsx(Mdo,{window:n})}),o&&e.push({key:"window-type",label:h.jsx(Rdo,{dataType:got.WindowType})},{key:"window-width",label:h.jsx(c9,{dataType:w2.Width})},{key:"window-height",label:h.jsx(c9,{dataType:w2.Height})},{key:"window-setback",label:h.jsx(c9,{dataType:w2.Setback})},{key:"window-opacity",label:h.jsx(c9,{dataType:w2.Opacity})},{key:"window-tint",label:h.jsx(BZ,{dataType:LN.Tint})},{key:"window-u-value",label:h.jsxs(io,{Dialog:Ido,children:[O.t("word.UValue",i)," ..."]})},{key:"window-mullion-submenu",label:h.jsx(tn,{children:O.t("windowMenu.Mullion",i)}),children:Ddo(n)},{key:"window-frame-submenu",label:h.jsx(tn,{children:O.t("windowMenu.Frame",i)}),children:zdo(n)},{key:"window-shutter-submenu",label:h.jsx(tn,{children:O.t("windowMenu.Shutter",i)}),children:Edo(n)}),{items:e}},Udo=({roof:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{const l=a.elements.find(s=>s.id===i&&s.type===z.Roof);l&&(l.ceiling=r,a.actionState.roofCeiling=r)})},o=i=>{const r=i.target.checked,a={name:"Roof Ceiling",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.ceiling,onChange:o,children:O.t("roofMenu.Ceiling",e)})})},Bdo=({roof:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Roof`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx(qm,{}),onOk:s})};return h.jsx(tn,{update:!0,noPadding:!0,onClick:l,children:i})},qRe=({roof:t,objectType:e,lock:n,children:o})=>{const i=M.getState().updateElementLockById,r=M.getState().updateElementLockByParentId,a=()=>{const l=e.replaceAll(" ",""),s=new Map;for(const d of M.getState().elements)d.parentId===t.id&&d.type===e&&s.set(d.id,!!d.locked);r(t.id,e,n);const u={name:n?`Lock All Unlocked ${l} on Roof`:`Unlock All Locked ${l} on Roof`,timestamp:Date.now(),oldValues:s,newValue:!0,undo:()=>{for(const[d,f]of u.oldValues.entries())i(d,f)},redo:()=>{r(t.id,e,n)}};M.getState().addUndoable(u)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:a,children:o})},jdo=({roof:t})=>{const e=Kt(),n=M.getState().updateRoofStructureById,o=i=>{const r={name:"Select Roof Structure",timestamp:Date.now(),oldValue:t.roofStructure??yc.Default,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value),M.getState().set(a=>{a.actionState.roofStructure=i.target.value})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.roofStructure??yc.Default,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:yc.Default,children:O.t("roofMenu.DefaultStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:yc.Rafter,children:O.t("roofMenu.RafterStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:yc.Glass,children:O.t("roofMenu.GlassStructure",e)})]})})})},wae=[{key:"solarPanelCount",lockedKey:"lockedSolarPanelCount",objectType:z.SolarPanel},{key:"windowCount",lockedKey:"lockedWindowCount",objectType:z.Window},{key:"sensorCount",lockedKey:"lockedSensorCount",objectType:z.Sensor},{key:"outsideLightCount",lockedKey:"lockedLightCount",objectType:z.Light}],Ydo=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.SolarPanel:{o=`${O.t("roofMenu.RemoveAllUnlockedSolarPanels",n)} (${e})`,i=`${O.t("roofMenu.DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof",n)} (${e} ${O.t("roofMenu.SolarPanels",n)})`;break}case z.Window:{o=`${O.t("roofMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${O.t("roofMenu.DoYouReallyWantToRemoveAllWindowsOnThisRoof",n)} (${e} ${O.t("roofMenu.Windows",n)})`;break}case z.Sensor:{o=`${O.t("roofMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${O.t("roofMenu.DoYouReallyWantToRemoveAllSensorsOnThisRoof",n)} (${e} ${O.t("roofMenu.Sensors",n)})`;break}case z.Light:{o=`${O.t("roofMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${O.t("roofMenu.DoYouReallyWantToRemoveAllLightsOnThisRoof",n)} (${e} ${O.t("roofMenu.Lights",n)})`;break}}return{itemLabel:o,modalTitle:i}},vae=(t,e,n,o)=>n===z.Light?o?t.lockedLightCount:t.insideLightCount+t.outsideLightCount:t[e],Odo=(t,e,n)=>{const o=[],i={lng:M.getState().language};return wae.forEach(({key:r,objectType:a})=>{const l=vae(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=Ydo(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-roof`,label:h.jsx(Bdo,{roof:t,objectType:a,modalTitle:c,children:s})})}}),wae.forEach(({key:r,objectType:a})=>{const l=vae(n,r,a);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`lock-all-${s}s-on-roof`,label:h.jsxs(qRe,{roof:t,objectType:a,lock:!0,children:[O.t(`wallMenu.LockAllUnlocked${s}s`,i)," (",l,")"]})})}}),wae.forEach(({lockedKey:r,objectType:a})=>{const l=vae(e,r,a,!0);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`unlock-all-${s}s-on-wall`,label:h.jsxs(qRe,{roof:t,objectType:a,lock:!1,children:[O.t(`wallMenu.UnlockAllLocked${s}s`,i)," (",l,")"]})})}}),e.outsideLightCount>0&&o.push({key:"inside-lights-on-wall",label:h.jsxs(qG,{element:t,inside:!0,children:[O.t("wallMenu.AllLightsOnWallInside",i)," (",e.outsideLightCount,")"]})}),e.insideLightCount>0&&o.push({key:"outside-lights-on-wall",label:h.jsxs(qG,{element:t,inside:!1,children:[O.t("wallMenu.AllLightsOnWallOutside",i)," (",e.insideLightCount,")"]})}),o},_do=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.thickness)??.4),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)w.id===b&&(w.thickness=v,S.updateElementOnRoofFlag=!0),w.parentId===b&&w.type===z.Window&&(w.ly=v)})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.thickness&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.thickness&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.thickness&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.thickness))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)){const T=w;v.set(w.id,T.thickness),f(T.id,b)}const S={name:"Set Thickness for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Roof&&!w.locked){const T=w;v.set(w.id,T.thickness),f(T.id,b)}const S={name:"Set Thickness for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)if(w.type===z.Roof&&w.foundationId===s.foundationId&&!w.locked){const T=w;v.set(w.id,T.thickness),f(T.id,b)}const S={name:"Set Thickness for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).thickness??s.thickness??.4,w={name:"Set Roof Thickness",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.roofThickness=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("word.Thickness",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.05,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.05, 1] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},Vdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=co(z.Roof),[s,c]=m.useState((l==null?void 0:l.rise)??0),u=Kt(),d=(C,b)=>{M.getState().updateRoofRiseById(C,b),M.getState().set(v=>{v.updateElementOnRoofFlag=!0})},f=C=>{for(const[b,v]of C.entries())d(b,v)},p=(C,b)=>{for(const v of C.keys())d(v,b)},g=C=>{if(l){switch(o){case ue.AllSelectedObjectsOfThisType:for(const b of e)if(b.type===z.Roof&&C!==b.rise&&!b.locked&&M.getState().selectedElementIdSet.has(b.id))return!0;break;case ue.AllObjectsOfThisType:for(const b of e)if(b.type===z.Roof&&C!==b.rise&&!b.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const b of e)if(b.type===z.Roof&&b.foundationId===l.foundationId&&C!==b.rise&&!b.locked)return!0;break;default:if(C!==(l==null?void 0:l.rise))return!0;break}return!1}},y=C=>{if(l&&g(C))switch(M.getState().roofActionScope){case ue.AllSelectedObjectsOfThisType:{const b=new Map;for(const S of e)S.type===z.Roof&&!S.locked&&(b.set(S.id,S.rise),d(S.id,C));const v={name:"Set Rise for Selected Roofs",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1);break}case ue.AllObjectsOfThisType:{const b=new Map;for(const S of e)S.type===z.Roof&&!S.locked&&(b.set(S.id,S.rise),d(S.id,C));const v={name:"Set Rise for All Roofs",timestamp:Date.now(),oldValues:b,newValue:C,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(l.foundationId){const b=new Map;for(const S of e)S.type===z.Roof&&S.foundationId===l.foundationId&&!S.locked&&(b.set(S.id,S.rise),d(S.id,C));const v={name:"Set Rise for All Roofs Above Foundation",timestamp:Date.now(),oldValues:b,newValue:C,groupId:l.foundationId,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1)}break;default:if(l){const b=a(l.id),v=(b==null?void 0:b.rise)??(l==null?void 0:l.rise)??0,S={name:"Set Roof Rise",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:l.id,changedElementType:l.type,undo:()=>{d(S.changedElementId,S.oldValue)},redo:()=>{d(S.changedElementId,S.newValue)}};n(S),d(l.id,C),r(i+1)}}},A=()=>{t(!1)},x=()=>{y(s)};return h.jsx(lo,{width:550,title:O.t("roofMenu.Rise",u),onApply:x,onClose:A,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:200,style:{width:120},step:.1,precision:2,value:s,formatter:C=>Number(C).toFixed(2),onChange:C=>c(C)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",u),": [0, 200] ",O.t("word.MeterAbbreviation",u)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",u)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:C=>M.getState().setRoofActionScope(C.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",u)})]})})})]})})},Gdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rValue)??Z4),[d,f]=m.useState(be.toRValueInUS(c)),p=Kt(),g=(S,w)=>{l(T=>{for(const P of T.elements)if(P.id===S){P.rValue=w;break}})},y=S=>{for(const[w,T]of S.entries())g(w,T)},A=(S,w)=>{for(const T of S.keys())g(T,w)},x=S=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const w of e)if(w.type===z.Roof&&S!==w.rValue&&!w.locked&&M.getState().selectedElementIdSet.has(w.id))return!0;break;case ue.AllObjectsOfThisType:for(const w of e)if(w.type===z.Roof&&S!==w.rValue&&!w.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const w of e)if(w.type===z.Roof&&w.foundationId===s.foundationId&&S!==w.rValue&&!w.locked)return!0;break;default:if(S!==(s==null?void 0:s.rValue))return!0;break}return!1}},C=S=>{if(s&&x(S)){switch(o){case ue.AllSelectedObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Roof&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const R=P;w.set(P.id,R.rValue??Z4),g(R.id,S)}const T={name:"Set R-Value for Selected Roofs",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const w=new Map;for(const P of e)if(P.type===z.Roof&&!P.locked){const R=P;w.set(P.id,R.rValue??Z4),g(R.id,S)}const T={name:"Set R-Value for All Roofs",timestamp:Date.now(),oldValues:w,newValue:S,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const w=new Map;for(const P of e)if(P.type===z.Roof&&P.foundationId===s.foundationId&&!P.locked){const R=P;w.set(P.id,R.rValue??Z4),g(R.id,S)}const T={name:"Set R-Value for All Roofs Above Foundation",timestamp:Date.now(),oldValues:w,newValue:S,groupId:s.foundationId,undo:()=>{y(T.oldValues)},redo:()=>{A(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).rValue??s.rValue??Z4,P={name:"Set Roof R-Value",timestamp:Date.now(),oldValue:T,newValue:S,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(P.changedElementId,P.oldValue)},redo:()=>{g(P.changedElementId,P.newValue)}};n(P),g(s.id,S),r(i+1)}}l(w=>{w.actionState.roofRValue=S})}},b=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${O.t("roofMenu.RoofRValue",p)+" "}(${O.t("word.ThermalResistance",p)})`,onApply:v,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(u(S),f(be.toRValueInUS(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",p),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toRValueInUS(.01),max:be.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&(f(S),u(be.toRValueInSI(S)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [",be.toRValueInUS(.01).toFixed(3),", ",be.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",p),": h·ft²·℉/Btu"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setRoofActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",p)})]})})})]})})},Xdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.volumetricHeatCapacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.volumetricHeatCapacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.volumetricHeatCapacity&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Roof&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Roof&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(w=>{for(const T of w.elements)if(T.type===z.Roof&&T.foundationId===s.foundationId&&!T.locked){const P=T;v.set(T.id,P.volumetricHeatCapacity??.5),P.volumetricHeatCapacity=b}});const S={name:"Set Volumetric Heat Capacity for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,w={name:"Set Volumetric Heat Capacity of Roof",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.roofVolumetricHeatCapacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),O.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},Jdo="/aladdin/assets/roof_edge-DBy_1Q5D.png",Kdo="/aladdin/assets/roof_01-BwuyLpwq.png",qdo="/aladdin/assets/roof_02-DAbYjnV7.png",$do="/aladdin/assets/roof_03-haZGIixv.png",Qdo="/aladdin/assets/roof_04-DDuwUcDr.png",Zdo="/aladdin/assets/roof_05-CtBb5xIW.png",efo="/aladdin/assets/roof_06-DuyyebV8.png",tfo="/aladdin/assets/roof_07-DXWGQN8a.png",nfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(dn),l=M(jn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.textureType)??Ui.Default),d=Kt(),{Option:f}=Yo,p=(v,S)=>{a(w=>{for(const T of w.elements)if(T.id===v){T.locked||(T.textureType=S);break}})},g=(v,S)=>{for(const w of v.keys())p(w,S)},y=v=>{for(const[S,w]of v.entries())p(S,w)},A=v=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const S of e)if(S.type===z.Roof&&v!==S.textureType&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break;case ue.AllObjectsOfThisType:for(const S of e)if(S.type===z.Roof&&v!==S.textureType&&!S.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of e)if(S.type===z.Roof&&S.foundationId===s.foundationId&&v!==S.textureType&&!S.locked)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0;break}return!1}},x=v=>{if(s&&A(v)){switch(o){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const T of e)T.type===z.Roof&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&S.set(T.id,T.textureType??Ui.Default);const w={name:"Set Texture for Selected Roofs",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{y(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const T of e)T.type===z.Roof&&!T.locked&&S.set(T.id,T.textureType??Ui.Default);const w={name:"Set Texture for All Roofs",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{y(w.oldValues)},redo:()=>{g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const S=new Map;for(const T of e)T.type===z.Roof&&T.foundationId===s.foundationId&&!T.locked&&S.set(T.id,T.textureType);const w={name:"Set Texture for All Roofs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:v,groupId:s.foundationId,undo:()=>{y(w.oldValues)},redo:()=>{w.groupId&&g(w.oldValues,w.newValue)}};n(w),g(S,v),r(i+1)}break;default:if(s){const S=l(s.id),w=S?S.textureType:s.textureType,T={name:"Set Texture of Selected Roof",timestamp:Date.now(),oldValue:w,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(T.changedElementId,T.oldValue)},redo:()=>{p(T.changedElementId,T.newValue)}};n(T),p(s.id,v),r(i+1)}}a(S=>{S.actionState.roofTexture=v})}},C=()=>{t(!1)},b=()=>{x(c)};return h.jsx(lo,{width:550,title:O.t("word.Texture",d),onApply:b,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:v=>u(v),children:[h.jsxs(f,{value:Ui.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),O.t("shared.NoTexture",d)]},Ui.NoTexture),h.jsxs(f,{value:Ui.Default,children:[h.jsx("img",{alt:Ui.Default,src:Jdo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.TextureDefault",d)]},Ui.Default),h.jsxs(f,{value:Ui.Texture01,children:[h.jsx("img",{alt:Ui.Texture01,src:Kdo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture01",d)]},Ui.Texture01),h.jsxs(f,{value:Ui.Texture02,children:[h.jsx("img",{alt:Ui.Texture02,src:qdo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture02",d)]},Ui.Texture02),h.jsxs(f,{value:Ui.Texture03,children:[h.jsx("img",{alt:Ui.Texture03,src:$do,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture03",d)]},Ui.Texture03),h.jsxs(f,{value:Ui.Texture04,children:[h.jsx("img",{alt:Ui.Texture04,src:Qdo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture04",d)]},Ui.Texture04),h.jsxs(f,{value:Ui.Texture05,children:[h.jsx("img",{alt:Ui.Texture05,src:Zdo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture05",d)]},Ui.Texture05),h.jsxs(f,{value:Ui.Texture06,children:[h.jsx("img",{alt:Ui.Texture06,src:efo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture06",d)]},Ui.Texture06),h.jsxs(f,{value:Ui.Texture07,children:[h.jsx("img",{alt:Ui.Texture07,src:tfo,height:20,width:40,style:{paddingRight:"8px"}})," ",O.t("roofMenu.Texture07",d)]},Ui.Texture07)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:v=>M.getState().setRoofActionScope(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},ofo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(ty),r=M(ro),a=M(oo),l=M(jn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.color)??"#ffffff"),d=Kt(),f=(b,v)=>{e(S=>{for(const w of S.elements)if(w.id===b){w.locked||(w.color=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&b!==v.color&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&b!==v.color&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.color&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.color))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of n)w.type===z.Roof&&!w.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of n)w.type===z.Roof&&!w.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of n)w.type===z.Roof&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.color??"#ffffff");const S={name:"Set Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.color:s.color)??"#ffffff",w={name:"Set Color of Selected Roof",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}e(v=>{v.actionState.roofColor=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("roofMenu.RoofColor",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},ifo=({setDialogVisible:t})=>{const e=M(Jn),n=M(dn),o=M(En),i=M(ty),r=M(ro),a=M(oo),l=M(jn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.sideColor)??"#ffffff"),d=Kt(),f=(b,v)=>{n(S=>{for(const w of S.elements)if(w.id===b){w.locked||(w.sideColor=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.sideColor&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.sideColor&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.sideColor&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.sideColor))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&v.set(w.id,w.sideColor??"#ffffff");const S={name:"Set Side Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&v.set(w.id,w.sideColor??"#ffffff");const S={name:"Set Side Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)w.type===z.Roof&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.sideColor??"#ffffff");const S={name:"Set Side Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.sideColor:s.sideColor)??"#ffffff",w={name:"Set Side Color of Selected Roof",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}n(v=>{v.actionState.roofSideColor=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("roofMenu.RoofSideColor",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c??(s==null?void 0:s.sideColor)??"#ffffff",onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},rfo=({setDialogVisible:t})=>{const e=M(Sc),n=M(Z9),o=M(En),i=M(ty),r=M(hYe),a=M(ro),l=M(oo),s=M(ca),c=M(jn),u=M(dn),d=M(F=>{if(n){for(const W of F.elements)if(W.id===n.id)return W}return null}),[f,p]=m.useState((d==null?void 0:d.ceilingRValue)??c6),[g,y]=m.useState(be.toRValueInUS(f)),[A,x]=m.useState(!1),[C,b]=m.useState({left:0,top:0,bottom:0,right:0}),v=m.useRef(null),S={lng:e};m.useEffect(()=>{d&&p((d==null?void 0:d.ceilingRValue)??c6)},[d==null?void 0:d.ceilingRValue]);const w=(F,W)=>{u(B=>{for(const k of B.elements)if(k.id===F){k.ceilingRValue=W;break}})},T=F=>{for(const[W,B]of F.entries())w(W,B)},P=(F,W)=>{for(const B of F.keys())w(B,W)},R=F=>{if(d){switch(i){case ue.AllObjectsOfThisType:const W=new Map;u(k=>{for(const N of k.elements)if(N.type===z.Roof&&!N.locked){const j=N;W.set(N.id,j.ceilingRValue??c6),j.ceilingRValue=F}});const B={name:"Set R-Value for All Ceilings",timestamp:Date.now(),oldValues:W,newValue:F,undo:()=>{T(B.oldValues)},redo:()=>{P(B.oldValues,B.newValue)}};o(B),l(a+1);break;case ue.AllObjectsOfThisTypeAboveFoundation:if(d.foundationId){const k=new Map;u(j=>{for(const Y of j.elements)if(Y.type===z.Roof&&Y.foundationId===d.foundationId&&!Y.locked){const _=Y;k.set(Y.id,_.ceilingRValue??c6),_.ceilingRValue=F}});const N={name:"Set R-Value for All Ceilings Above Foundation",timestamp:Date.now(),oldValues:k,newValue:F,groupId:d.foundationId,undo:()=>{T(N.oldValues)},redo:()=>{P(N.oldValues,N.newValue)}};o(N),l(a+1)}break;default:if(d){const N=c(d.id).ceilingRValue??d.ceilingRValue??c6,j={name:"Set Ceiling R-Value",timestamp:Date.now(),oldValue:N,newValue:F,changedElementId:d.id,changedElementType:d.type,undo:()=>{w(j.changedElementId,j.oldValue)},redo:()=>{w(j.changedElementId,j.newValue)}};o(j),w(d.id,F),l(a+1)}}u(W=>{W.actionState.roofRValue=F})}},H=(F,W)=>{if(v.current){const{clientWidth:B,clientHeight:k}=window.document.documentElement,N=v.current.getBoundingClientRect();b({left:-N.left+W.x,right:B-(N.right-W.x),top:-N.top+W.y,bottom:k-((N==null?void 0:N.bottom)-W.y)})}},D=()=>{p((d==null?void 0:d.ceilingRValue)??c6),t(!1)},E=()=>{D(),s()},L=()=>{R(f),t(!1),l(0)},U=()=>{R(f)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>x(!0),onMouseOut:()=>x(!1),children:[O.t("roofMenu.CeilingRValue",S)+" ","(",O.t("word.ThermalResistance",S),")"]}),footer:[h.jsx(no,{onClick:U,children:O.t("word.Apply",S)},"Apply"),h.jsx(no,{onClick:E,children:O.t("word.Cancel",S)},"Cancel"),h.jsx(no,{type:"primary",onClick:L,children:O.t("word.OK",S)},"OK")],onCancel:D,maskClosable:!1,destroyOnClose:!1,modalRender:F=>h.jsx(Vr,{disabled:!A,bounds:C,onStart:(W,B)=>H(W,B),children:h.jsx("div",{ref:v,children:F})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:f,formatter:F=>Number(F).toFixed(2),onChange:F=>{F!==null&&(p(F),y(be.toRValueInUS(F)))},onPressEnter:L}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",S),": [0.01, 100]",h.jsx("br",{}),O.t("word.SIUnit",S),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:be.toRValueInUS(.01),max:be.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:g,formatter:F=>Number(F).toFixed(2),onChange:F=>{F!==null&&(y(F),p(be.toRValueInSI(F)))},onPressEnter:L}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",S),": [",be.toRValueInUS(.01).toFixed(3),", ",be.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),O.t("word.USUnit",S),": h·ft²·℉/Btu"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:F=>r(F.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisCeiling",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllCeilingsAboveFoundation",S)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllCeilings",S)})]})})})]})})})},afo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"roof-ceiling",label:h.jsx(Udo,{roof:t})}),t.ceiling&&n.push({type:"divider"},{key:"ceiling-r-value",label:h.jsxs(io,{noPadding:!0,Dialog:rfo,children:[O.t("roofMenu.CeilingRValue",e)," ..."]})}),n},lfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(ty),r=M(ro),a=M(oo),l=M(jn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterColor)??"#ffffff"),d=Kt(),f=(b,v)=>{e(S=>{for(const w of S.elements)if(w.id===b){w.locked||(w.rafterColor=v);break}})},p=(b,v)=>{for(const S of b.keys())f(S,v)},g=b=>{for(const[v,S]of b.entries())f(v,S)},y=b=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&b!==v.rafterColor&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&b!==v.rafterColor&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.rafterColor&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.rafterColor))return!0;break}return!1}},A=b=>{if(s&&y(b))switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of n)w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&v.set(w.id,w.rafterColor??"#ffffff");const S={name:"Set Rafter Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of n)w.type===z.Roof&&!w.locked&&v.set(w.id,w.rafterColor??"#ffffff");const S={name:"Set Rafter Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{g(S.oldValues)},redo:()=>{p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of n)w.type===z.Roof&&w.foundationId===s.foundationId&&!s.locked&&v.set(w.id,w.rafterColor??"#ffffff");const S={name:"Set Rafter Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{g(S.oldValues)},redo:()=>{S.groupId&&p(S.oldValues,S.newValue)}};o(S),p(v,b),a(r+1)}break;default:if(s){const v=l(s.id),S=(v?v.rafterColor:s.rafterColor)??"#ffffff",w={name:"Set Rafter Color of Selected Roof",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};o(w),f(s.id,b),a(r+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:640,title:O.t("roofMenu.RoofColor",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:b=>{u(b.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},sfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterSpacing)??1),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.rafterSpacing=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.rafterSpacing&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.rafterSpacing&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.rafterSpacing&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.rafterSpacing))return!0;break}return!1}},A=b=>{if(s&&y(b))switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&(v.set(w.id,w.rafterSpacing??1),f(w.id,b));const S={name:"Set Rafter Spacing for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&(v.set(w.id,w.rafterSpacing??1),f(w.id,b));const S={name:"Set Rafter Spacing for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)w.type===z.Roof&&w.foundationId===s.foundationId&&!w.locked&&(v.set(w.id,w.rafterSpacing??1),f(w.id,b));const S={name:"Set Rafter Spacing for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).rafterSpacing??s.rafterSpacing??1,w={name:"Set Roof Rafter Spacing",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("roofMenu.RafterSpacing",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:100,style:{width:120},step:.1,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.1, 100] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},cfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterWidth)??.1),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.rafterWidth=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.rafterWidth&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.rafterWidth&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.rafterWidth&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.rafterWidth))return!0;break}return!1}},A=b=>{if(s&&y(b))switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&M.getState().selectedElementIdSet.has(w.id)&&(v.set(w.id,w.rafterWidth??.1),f(w.id,b));const S={name:"Set Rafter Width for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)w.type===z.Roof&&!w.locked&&(v.set(w.id,w.rafterWidth??.1),f(w.id,b));const S={name:"Set Rafter Width for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)w.type===z.Roof&&w.foundationId===s.foundationId&&!w.locked&&(v.set(w.id,w.rafterWidth??.1),f(w.id,b));const S={name:"Set Rafter Width for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).rafterWidth??s.rafterWidth??.1,w={name:"Set Roof Rafter Width",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("roofMenu.RafterWidth",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.01,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0.01, 1] ",O.t("word.MeterAbbreviation",d)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",d)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},ufo=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(Z9),o=M(En),i=M(ty),r=M(hYe),a=M(ro),l=M(oo),s=M(ca),c=M(jn),[u,d]=m.useState((n==null?void 0:n.glassTint)??"#73D8FF"),[f,p]=m.useState(!1),[g,y]=m.useState({left:0,top:0,bottom:0,right:0}),A=m.useRef(null),x=m.useRef(null);m.useEffect(()=>{var E;(E=x.current)==null||E.focus()});const C=Kt();m.useEffect(()=>{n&&d((n==null?void 0:n.glassTint)??"#73D8FF")},[n]);const b=(E,L)=>{e(U=>{for(const F of U.elements)if(F.id===E){F.locked||(F.glassTint=L);break}})},v=(E,L)=>{for(const U of E.keys())b(U,L)},S=E=>{for(const[L,U]of E.entries())b(L,U)},w=E=>{if(n)switch(i){case ue.AllObjectsOfThisType:{const L=new Map;for(const F of M.getState().elements)F.type===z.Roof&&!F.locked&&L.set(F.id,F.glassTint??"#73D8FF");const U={name:"Set Glass Tint for All Roofs",timestamp:Date.now(),oldValues:L,newValue:E,undo:()=>{S(U.oldValues)},redo:()=>{v(U.oldValues,U.newValue)}};o(U),v(L,E),l(a+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(n.foundationId){const L=new Map;for(const F of M.getState().elements)F.type===z.Roof&&F.foundationId===n.foundationId&&!n.locked&&L.set(F.id,F.glassTint??"#73D8FF");const U={name:"Set Glass Tint for All Roofs Above Foundation",timestamp:Date.now(),oldValues:L,newValue:E,groupId:n.foundationId,undo:()=>{S(U.oldValues)},redo:()=>{U.groupId&&v(U.oldValues,U.newValue)}};o(U),v(L,E),l(a+1)}break}default:{if(n){const L=c(n.id),U=(L?L.glassTint:n.glassTint)??"#73D8FF",F={name:"Set Glass Tint of Selected Roof",timestamp:Date.now(),oldValue:U,newValue:E,changedElementId:n.id,changedElementType:n.type,undo:()=>{b(F.changedElementId,F.oldValue)},redo:()=>{b(F.changedElementId,F.newValue)}};o(F),b(n.id,E),l(a+1)}break}}},T=(E,L)=>{if(A.current){const{clientWidth:U,clientHeight:F}=window.document.documentElement,W=A.current.getBoundingClientRect();y({left:-W.left+L.x,right:U-(W.right-L.x),top:-W.top+L.y,bottom:F-((W==null?void 0:W.bottom)-L.y)})}},P=()=>{n!=null&&n.glassTint&&d(n.glassTint),t(!1)},R=()=>{P(),s()},H=()=>{const E=c(n.id);E&&E.glassTint!==u&&w(u),t(!1),l(0)},D=()=>{w(u)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:O.t("roofMenu.GlassTint",C)}),footer:[h.jsx(no,{onClick:D,children:O.t("word.Apply",C)},"Apply"),h.jsx(no,{onClick:R,children:O.t("word.Cancel",C)},"Cancel"),h.jsx(no,{type:"primary",ref:x,onClick:H,children:O.t("word.OK",C)},"OK")],onCancel:P,maskClosable:!1,destroyOnClose:!1,modalRender:E=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(L,U)=>T(L,U),children:h.jsx("div",{ref:A,children:E})}),children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u??(n==null?void 0:n.glassTint)??"#73D8FF",onChangeComplete:E=>{d(E.hex)}})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:E=>r(E.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",C)})]})})})]})})})}),dfo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"roof-structure-radio-group",label:h.jsx(jdo,{roof:t}),style:{backgroundColor:"white"}}),t.roofStructure===yc.Rafter&&n.push({type:"divider"},{key:"roof-rafter-spacing",label:h.jsxs(io,{noPadding:!0,Dialog:sfo,children:[O.t("roofMenu.RafterSpacing",e)," ..."]})},{key:"roof-rafter-width",label:h.jsxs(io,{noPadding:!0,Dialog:cfo,children:[O.t("roofMenu.RafterWidth",e)," ..."]})},{key:"roof-rafter-color",label:h.jsxs(io,{noPadding:!0,Dialog:lfo,children:[O.t("roofMenu.RafterColor",e)," ..."]})}),t.roofStructure===yc.Glass&&n.push({type:"divider"},{key:"roof-glass-tint-selection",label:h.jsxs(io,{noPadding:!0,Dialog:ufo,children:[O.t("roofMenu.GlassTint",e)," ..."]})}),n},ffo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ty),i=M(ro),r=M(oo),a=M(jn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.opacity)!==void 0?s.opacity:.5),d=Kt(),f=(b,v)=>{l(S=>{for(const w of S.elements)if(w.id===b){w.opacity=v;break}})},p=b=>{for(const[v,S]of b.entries())f(v,S)},g=(b,v)=>{for(const S of b.keys())f(S,v)},y=b=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.opacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&b!==v.opacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&b!==v.opacity&&!v.locked)return!0;break;default:if(b!==(s==null?void 0:s.opacity))return!0;break}return!1}},A=b=>{if(s&&y(b)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Roof&&!w.locked){const T=w;v.set(w.id,T.opacity),f(T.id,b)}const S={name:"Set Opacity for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const w of e)if(w.type===z.Roof&&!w.locked){const T=w;v.set(w.id,T.opacity),f(T.id,b)}const S={name:"Set Opacity for All Roofs",timestamp:Date.now(),oldValues:v,newValue:b,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const w of e)if(w.type===z.Roof&&w.foundationId===s.foundationId&&!w.locked){const T=w;v.set(w.id,T.opacity),f(T.id,b)}const S={name:"Set Opacity for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:b,groupId:s.foundationId,undo:()=>{p(S.oldValues)},redo:()=>{g(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const v=a(s.id),S=v.opacity!==void 0?v.opacity:s.opacity!==void 0?s.opacity:.5,w={name:"Set Roof Opacity",timestamp:Date.now(),oldValue:S,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(w.changedElementId,w.oldValue)},redo:()=>{f(w.changedElementId,w.newValue)}};n(w),f(s.id,b),r(i+1)}}l(v=>{v.actionState.roofGlassOpacity=b})}},x=()=>{t(!1)},C=()=>{A(c)};return h.jsx(lo,{width:550,title:O.t("roofMenu.Opacity",d),onApply:C,onClose:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:b=>Number(b).toFixed(2),onChange:b=>u(b)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",d),": [0, 1]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b=>M.getState().setRoofActionScope(b.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("roofMenu.AllRoofs",d)})]})})})]})})},hfo=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0)switch(t[0].type){case z.Window:case z.SolarPanel:case z.Sensor:case z.Light:return!0}return!1},pfo=t=>{const e=[];if(t.type!==z.Roof)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce,a=r(n.id,!0),l=r(n.id,!1),s=n.roofStructure!==yc.Rafter||n.opacity===void 0||n.opacity>0;return hfo()&&e.push({key:"roof-paste",label:h.jsx(OH,{})}),e.push({key:"roof-lock",label:h.jsx(Md,{selectedElement:n})}),n.rise>0&&e.push({key:"roof-ceiling-submenu",label:h.jsx(tn,{children:O.t("roofMenu.Ceiling",i)}),children:afo(n)}),a.gotSome()&&e.push({key:"lock-unlock-clear-on-roof",label:h.jsx(tn,{children:O.t("word.Elements",i)}),children:Odo(n,a,l)}),o&&(n.roofType===Vo.Gable&&(e.push({key:"roof-structure-submenu",label:h.jsx(tn,{children:O.t("roofMenu.RoofStructure",i)}),children:dfo(n)}),(n.roofStructure===yc.Rafter||n.roofStructure===yc.Glass)&&e.push({key:"opacity",label:h.jsxs(io,{Dialog:ffo,children:[O.t("roofMenu.Opacity",i)," ..."]})})),e.push({key:"roof-thickness",label:h.jsxs(io,{Dialog:_do,children:[O.t(n.roofStructure===yc.Rafter?"roofMenu.RafterThickness":"word.Thickness",i)," ","..."]})}),e.push({key:"roof-rise",label:h.jsxs(io,{Dialog:Vdo,children:[O.t("roofMenu.Rise",i)," ..."]})}),s&&(e.push({key:"roof-r-value",label:h.jsxs(io,{Dialog:Gdo,children:[O.t("roofMenu.RoofRValue",i)," ..."]})},{key:"roof-heat-capacity",label:h.jsxs(io,{Dialog:Xdo,children:[O.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"roof-texture",label:h.jsxs(io,{Dialog:nfo,children:[O.t("word.Texture",i)," ..."]})}),(n.textureType===Ui.NoTexture||n.textureType===Ui.Default)&&e.push({key:"roof-color",label:h.jsxs(io,{Dialog:ofo,children:[O.t("roofMenu.RoofColor",i)," ..."]})}),e.push({key:"roof-side-color",label:h.jsxs(io,{Dialog:ifo,children:[O.t("roofMenu.RoofSideColor",i)," ..."]})}))),{items:e}},gfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.relativeYawAngle)??0),p=Kt(),g=R=>{a(R.target.value)},y=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.relativeYawAngle??0)-R)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.relativeYawAngle??0)-R)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.relativeYawAngle??0)-R)>kt)return!0;break;default:if(Math.abs(((u==null?void 0:u.relativeYawAngle)??0)-R)>kt)return!0}return!1}},A=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.id===R&&!E.locked){const L=E;L.relativeYawAngle=H;break}})},x=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.foundationId===R&&!E.locked){const L=E;L.relativeYawAngle=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const E=D;E.relativeYawAngle=R}})},b=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked&&R.has(E.id)){const L=E;L.relativeYawAngle=H}})},v=R=>{if(u&&y(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.relativeYawAngle);const U={name:"Set Relative Yaw Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{b(U.oldValues,U.newValue)}};i(U),b(L,R),s(l+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&L.set(F.id,F.relativeYawAngle);const U={name:"Set Relative Yaw Angle for All Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{C(U.newValue)}};i(U),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.WindTurbine&&F.foundationId===u.foundationId&&L.set(F.id,F.relativeYawAngle);const U={name:"Set Relative Yaw Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:L,newValue:R,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{U.groupId&&x(U.groupId,U.newValue)}};i(U),x(u.foundationId,R),s(l+1)}break;default:const H=o(u.id),D=H?H.relativeYawAngle:u.relativeYawAngle,E={name:"Set Wind Turbine Relative Yaw Angle",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(E.changedElementId,E.oldValue)},redo:()=>{A(E.changedElementId,E.newValue)}};i(E),A(u.id,R),s(l+1)}e(H=>{H.actionState.windTurbineRelativeYawAngle=R})}},S=()=>{t(!1)},w=()=>{S(),c()},T=()=>{v(d),t(!1),s(0)},P=()=>{v(d)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.RelativeYawAngle",p),onApply:P,onClose:S,onClickCancel:w,onClickOk:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(be.toDegrees(d).toFixed(2)),formatter:R=>`${R}°`,onChange:R=>{R!==null&&f(be.toRadians(R))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [-180°, 180°]",h.jsx("br",{}),O.t("message.SouthFacingIsZero",p),h.jsx("br",{}),O.t("message.CounterclockwiseAzimuthIsPositive",p)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},mfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.numberOfBlades)??3),p=Kt(),{Option:g}=Yo,y=H=>{a(H.target.value)},A=H=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.numberOfBlades??0)-H)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.WindTurbine&&D.foundationId===(u==null?void 0:u.foundationId)&&!D.locked&&Math.abs((D.numberOfBlades??0)-H)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.numberOfBlades??0)-H)>kt)return!0;break;default:if(Math.abs(((u==null?void 0:u.numberOfBlades)??0)-H)>kt)return!0}return!1}},x=(H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&L.id===H&&!L.locked){const U=L;U.numberOfBlades=D;break}})},C=(H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&L.foundationId===H&&!L.locked){const U=L;U.numberOfBlades=D}})},b=H=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked){const L=E;L.numberOfBlades=H}})},v=(H,D)=>{M.getState().set(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&!L.locked&&H.has(L.id)){const U=L;U.numberOfBlades=D}})},S=H=>{if(u&&A(H)){switch(r){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&U.set(W.id,W.numberOfBlades??3);const F={name:"Select Blade Number for Selected Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:H,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{v(F.oldValues,F.newValue)}};i(F),v(U,H),s(l+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.WindTurbine&&U.set(W.id,W.numberOfBlades??3);const F={name:"Select Blade Number for All Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:H,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{b(F.newValue)}};i(F),b(H),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const U=new Map;for(const W of n)W.type===z.WindTurbine&&W.foundationId===u.foundationId&&U.set(W.id,W.numberOfBlades??3);const F={name:"Select Blade Number for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:U,newValue:H,groupId:u.foundationId,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{F.groupId&&C(F.groupId,F.newValue)}};i(F),C(u.foundationId,H),s(l+1)}break;default:const D=o(u.id),E=D?D.numberOfBlades??3:u.numberOfBlades??3,L={name:"Select Wind Turbine Blade Number",timestamp:Date.now(),oldValue:E,newValue:H,changedElementId:u.id,changedElementType:u.type,undo:()=>{x(L.changedElementId,L.oldValue)},redo:()=>{x(L.changedElementId,L.newValue)}};i(L),x(u.id,H),s(l+1)}e(D=>{D.actionState.windTurbineNumberOfBlades=H})}},w=()=>{t(!1)},T=()=>{w(),c()},P=()=>{S(d),t(!1),s(0)},R=()=>{S(d)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.BladeNumber",p),onApply:R,onClose:w,onClickCancel:T,onClickOk:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{className:"gutter-row",span:4,children:h.jsxs(Yo,{style:{width:"60px"},value:d,onChange:H=>{H!==null&&f(H)},children:[h.jsx(g,{value:1,children:"1"},1),h.jsx(g,{value:2,children:"2"},2),h.jsx(g,{value:3,children:"3"},3),h.jsx(g,{value:4,children:"4"},4),h.jsx(g,{value:8,children:"8"},8)]})}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:y,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},yfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.initialRotorAngle)??0),p=Kt(),g=R=>{a(R.target.value)},y=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.initialRotorAngle??0)-R)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.initialRotorAngle??0)-R)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.initialRotorAngle??0)-R)>kt)return!0;break;default:if(Math.abs(((u==null?void 0:u.initialRotorAngle)??0)-R)>kt)return!0}return!1}},A=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.id===R&&!E.locked){const L=E;L.initialRotorAngle=H;break}})},x=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.foundationId===R&&!E.locked){const L=E;L.initialRotorAngle=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const E=D;E.initialRotorAngle=R}})},b=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked&&R.has(E.id)){const L=E;L.initialRotorAngle=H}})},v=R=>{if(u&&y(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.initialRotorAngle);const U={name:"Set Rotor Initial Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{b(U.oldValues,U.newValue)}};i(U),b(L,R),s(l+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&L.set(F.id,F.initialRotorAngle);const U={name:"Set Rotor Initial Angle for All Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{C(U.newValue)}};i(U),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.WindTurbine&&F.foundationId===u.foundationId&&L.set(F.id,F.initialRotorAngle);const U={name:"Set Rotor Initial Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:L,newValue:R,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{U.groupId&&x(U.groupId,U.newValue)}};i(U),x(u.foundationId,R),s(l+1)}break;default:const H=o(u.id),D=H?H.initialRotorAngle:u.initialRotorAngle,E={name:"Set Wind Turbine Rotor Initial Angle",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(E.changedElementId,E.oldValue)},redo:()=>{A(E.changedElementId,E.newValue)}};i(E),A(u.id,R),s(l+1)}e(H=>{H.actionState.windTurbineInitialRotorAngle=R})}},S=()=>{t(!1)},w=()=>{S(),c()},T=()=>{v(d),t(!1),s(0)},P=()=>{v(d)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.RotorInitialAngle",p),onApply:P,onClose:S,onClickCancel:w,onClickOk:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:360,style:{width:120},precision:1,step:1,value:parseFloat(be.toDegrees(d).toFixed(2)),formatter:R=>`${R}°`,onChange:R=>{R!==null&&f(be.toRadians(R))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0°, 360°]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},Afo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=be.toRadians(10),d=co(z.WindTurbine),[f,p]=m.useState((d==null?void 0:d.pitchAngle)??u),g=Kt(),y=H=>{a(H.target.value)},A=H=>{if(d){switch(r){case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.pitchAngle??u)-H)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.WindTurbine&&D.foundationId===(d==null?void 0:d.foundationId)&&!D.locked&&Math.abs((D.pitchAngle??u)-H)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.pitchAngle??u)-H)>kt)return!0;break;default:if(Math.abs(((d==null?void 0:d.pitchAngle)??u)-H)>kt)return!0}return!1}},x=(H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&L.id===H&&!L.locked){const U=L;U.pitchAngle=D;break}})},C=(H,D)=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&L.foundationId===H&&!L.locked){const U=L;U.pitchAngle=D}})},b=H=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked){const L=E;L.pitchAngle=H}})},v=(H,D)=>{M.getState().set(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&!L.locked&&H.has(L.id)){const U=L;U.pitchAngle=D}})},S=H=>{if(d&&A(H)){switch(r){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&U.set(W.id,W.pitchAngle);const F={name:"Set Pitch Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:H,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{v(F.oldValues,F.newValue)}};i(F),v(U,H),s(l+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const W of n)W.type===z.WindTurbine&&U.set(W.id,W.pitchAngle);const F={name:"Set Pitch Angle for All Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:H,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{b(F.newValue)}};i(F),b(H),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(d.foundationId){const U=new Map;for(const W of n)W.type===z.WindTurbine&&W.foundationId===d.foundationId&&U.set(W.id,W.pitchAngle);const F={name:"Set Pitch Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:U,newValue:H,groupId:d.foundationId,undo:()=>{for(const[W,B]of F.oldValues.entries())x(W,B)},redo:()=>{F.groupId&&C(F.groupId,F.newValue)}};i(F),C(d.foundationId,H),s(l+1)}break;default:const D=o(d.id),E=D?D.pitchAngle:d.pitchAngle,L={name:"Set Wind Turbine Pitch Angle",timestamp:Date.now(),oldValue:E,newValue:H,changedElementId:d.id,changedElementType:d.type,undo:()=>{x(L.changedElementId,L.oldValue)},redo:()=>{x(L.changedElementId,L.newValue)}};i(L),x(d.id,H),s(l+1)}e(D=>{D.actionState.windTurbinePitchAngle=H})}},w=()=>{t(!1)},T=()=>{w(),c()},P=()=>{S(f),t(!1),s(0)},R=()=>{S(f)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.RotorBladePitchAngle",g),onApply:R,onClose:w,onClickCancel:T,onClickOk:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(be.toDegrees(f).toFixed(2)),formatter:H=>`${H}°`,onChange:H=>{H!==null&&p(be.toRadians(H))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",g),": [-180°, 180°]"]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:y,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",g)})]})})})]})})},wfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.bladeRadius)??0),p=m.useRef(!1),g=m.useRef(),y=Kt(),A=E=>{a(E.target.value)},x=E=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.bladeRadius-E)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.WindTurbine&&L.foundationId===(u==null?void 0:u.foundationId)&&!L.locked&&Math.abs(L.bladeRadius-E)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.bladeRadius-E)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.bladeRadius)-E)>kt)return!0}return!1}},C=(E,L)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&F.id===E&&!F.locked){const W=F;W.bladeRadius=L,W.lx=W.ly=L*2,W.lz=W.towerHeight+L;break}})},b=(E,L)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&F.foundationId===E&&!F.locked){const W=F;W.bladeRadius=L,W.lx=W.ly=L*2,W.lz=W.towerHeight+L}})},v=E=>{e(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&!U.locked){const F=U;F.bladeRadius=E,F.lx=F.ly=E*2,F.lz=F.towerHeight+E}})},S=(E,L)=>{M.getState().set(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&!F.locked&&E.has(F.id)){const W=F;W.bladeRadius=L,W.lx=W.ly=L*2,W.lz=W.towerHeight+L}})},w=E=>{if(u&&x(E)){switch(g.current=void 0,r){case ue.AllSelectedObjectsOfThisType:{p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&F.towerHeight{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{S(W.oldValues,W.newValue)}};i(W),S(F,E),s(l+1)}break}case ue.AllObjectsOfThisType:{p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&F.towerHeight{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{v(W.newValue)}};i(W),v(E),s(l+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&F.foundationId===u.foundationId&&F.towerHeight{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{W.groupId&&b(W.groupId,W.newValue)}};i(W),b(u.foundationId,E),s(l+1)}}break;default:const L=o(u.id),U=L?L.bladeRadius:u.bladeRadius;if(p.current=u.towerHeight{C(F.changedElementId,F.oldValue)},redo:()=>{C(F.changedElementId,F.newValue)}};i(F),C(u.id,E),s(l+1)}}e(L=>{L.actionState.windTurbineBladeRadius=E})}},T=()=>{p.current=!1,t(!1)},P=()=>{T(),c()},R=()=>{w(d),p.current||(t(!1),s(0))},H=()=>{w(d)},D=p.current?": "+O.t("message.NotApplicableToSelectedAction",y)+(g.current!==void 0?" ("+g.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.RotorBladeRadius",y),rejectedMessage:D,onApply:H,onClose:T,onClickCancel:P,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:.1,precision:1,value:d,onChange:E=>{E!==null&&f(E)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [1, 100] ",O.t("word.MeterAbbreviation",y)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",y)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",y)})]})})})]})})},vfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.bladeRootRadius)??.3),[p,g]=m.useState((u==null?void 0:u.maximumChordLength)??1),[y,A]=m.useState((u==null?void 0:u.maximumChordRadius)??3),x=m.useRef(null),C=Kt(),b=555;m.useEffect(()=>{if(!x.current||!u)return;const q=x.current.getContext("2d");if(!q)return;const le=x.current.width,ie=x.current.height,pe=20,ne=ie*.7;q.clearRect(0,0,le,ie),q.setLineDash([]),q.strokeStyle="gray",q.lineWidth=1,q.rect(0,0,le,ie),q.stroke();const Z=(le-pe*2)/u.bladeRadius,he=Z*u.bladeTipWidth,fe=Z*y,se=Z*p,oe=Z*u.bladeRadius,de=Z*d,ve=se-de,Pe=oe-fe/3,me=[];me.push(new Gt(pe,ne-de)),me.push(new Gt(pe+oe-Pe,ne-ve/2)),me.push(new Gt(pe+fe,ne-ve)),me.push(new Gt(pe+oe,ne+de-he));const ze=new GK(me).getPoints(50);q.beginPath(),q.moveTo(ze[0].x,ze[0].y);for(let Ae=1;Ae{a(q.target.value)},S=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.bladeRootRadius-q)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const le of n)if(le.type===z.WindTurbine&&le.foundationId===(u==null?void 0:u.foundationId)&&!le.locked&&Math.abs(le.bladeRootRadius-q)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.bladeRootRadius-q)>kt)return!0;break;default:if(Math.abs(((u==null?void 0:u.bladeRootRadius)??.3)-q)>kt)return!0}return!1}},w=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.id===q&&!pe.locked){const ne=pe;ne.bladeRootRadius=le;break}})},T=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.foundationId===q&&!pe.locked){const ne=pe;ne.bladeRootRadius=le}})},P=q=>{e(le=>{for(const ie of le.elements)if(ie.type===z.WindTurbine&&!ie.locked){const pe=ie;pe.bladeRootRadius=q}})},R=(q,le)=>{M.getState().set(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&!pe.locked&&q.has(pe.id)){const ne=pe;ne.bladeRootRadius=le}})},H=q=>{if(u&&S(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(he.id)&&ne.set(he.id,he.bladeRootRadius);const Z={name:"Set Root Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())w(he,fe)},redo:()=>{R(Z.oldValues,Z.newValue)}};i(Z),R(ne,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&ne.set(he.id,he.bladeRootRadius);const Z={name:"Set Root Radius for All Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())w(he,fe)},redo:()=>{P(Z.newValue)}};i(Z),P(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const ne=new Map;for(const he of n)he.type===z.WindTurbine&&he.foundationId===u.foundationId&&ne.set(he.id,he.bladeRootRadius);const Z={name:"Set Root Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ne,newValue:q,groupId:u.foundationId,undo:()=>{for(const[he,fe]of Z.oldValues.entries())w(he,fe)},redo:()=>{Z.groupId&&T(Z.groupId,Z.newValue)}};i(Z),T(u.foundationId,q),s(l+1)}break;default:const le=o(u.id),ie=le?le.bladeRootRadius:u.bladeRootRadius,pe={name:"Set Wind Turbine Root Radius",timestamp:Date.now(),oldValue:ie,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{w(pe.changedElementId,pe.oldValue)},redo:()=>{w(pe.changedElementId,pe.newValue)}};i(pe),w(u.id,q),s(l+1)}e(le=>{le.actionState.windTurbineBladeRootRadius=q})}},D=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.maximumChordLength-q)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const le of n)if(le.type===z.WindTurbine&&le.foundationId===(u==null?void 0:u.foundationId)&&!le.locked&&Math.abs(le.maximumChordLength-q)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.maximumChordLength-q)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.maximumChordLength)-q)>kt)return!0}return!1}},E=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.id===q&&!pe.locked){const ne=pe;ne.maximumChordLength=le;break}})},L=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.foundationId===q&&!pe.locked){const ne=pe;ne.maximumChordLength=le}})},U=q=>{e(le=>{for(const ie of le.elements)if(ie.type===z.WindTurbine&&!ie.locked){const pe=ie;pe.maximumChordLength=q}})},F=(q,le)=>{M.getState().set(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&!pe.locked&&q.has(pe.id)){const ne=pe;ne.maximumChordLength=le}})},W=q=>{if(u&&D(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(he.id)&&ne.set(he.id,he.maximumChordLength);const Z={name:"Set Chord Length for Selected Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())E(he,fe)},redo:()=>{F(Z.oldValues,Z.newValue)}};i(Z),F(ne,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&ne.set(he.id,he.maximumChordLength);const Z={name:"Set Chord Length for All Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())E(he,fe)},redo:()=>{U(Z.newValue)}};i(Z),U(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const ne=new Map;for(const he of n)he.type===z.WindTurbine&&he.foundationId===u.foundationId&&ne.set(he.id,he.maximumChordLength);const Z={name:"Set Chord Length for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ne,newValue:q,groupId:u.foundationId,undo:()=>{for(const[he,fe]of Z.oldValues.entries())E(he,fe)},redo:()=>{Z.groupId&&L(Z.groupId,Z.newValue)}};i(Z),L(u.foundationId,q),s(l+1)}break;default:const le=o(u.id),ie=le?le.maximumChordLength:u.maximumChordLength,pe={name:"Set Wind Turbine Chord Length",timestamp:Date.now(),oldValue:ie,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{E(pe.changedElementId,pe.oldValue)},redo:()=>{E(pe.changedElementId,pe.newValue)}};i(pe),E(u.id,q),s(l+1)}e(le=>{le.actionState.windTurbineBladeMaximumChordLength=q})}},B=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.maximumChordRadius-q)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const le of n)if(le.type===z.WindTurbine&&le.foundationId===(u==null?void 0:u.foundationId)&&!le.locked&&Math.abs(le.maximumChordRadius-q)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const le of n)if(le.type===z.WindTurbine&&!le.locked&&M.getState().selectedElementIdSet.has(le.id)&&Math.abs(le.maximumChordRadius-q)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.maximumChordRadius)-q)>kt)return!0}return!1}},k=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.id===q&&!pe.locked){const ne=pe;ne.maximumChordRadius=le;break}})},N=(q,le)=>{e(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&pe.foundationId===q&&!pe.locked){const ne=pe;ne.maximumChordRadius=le}})},j=q=>{e(le=>{for(const ie of le.elements)if(ie.type===z.WindTurbine&&!ie.locked){const pe=ie;pe.maximumChordRadius=q}})},Y=(q,le)=>{M.getState().set(ie=>{for(const pe of ie.elements)if(pe.type===z.WindTurbine&&!pe.locked&&q.has(pe.id)){const ne=pe;ne.maximumChordRadius=le}})},_=q=>{if(u&&B(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(he.id)&&ne.set(he.id,he.maximumChordRadius);const Z={name:"Set Chord Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())k(he,fe)},redo:()=>{Y(Z.oldValues,Z.newValue)}};i(Z),Y(ne,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ne=new Map;for(const he of n)he.type===z.WindTurbine&&ne.set(he.id,he.maximumChordRadius);const Z={name:"Set Chord Radius for All Wind Turbines",timestamp:Date.now(),oldValues:ne,newValue:q,undo:()=>{for(const[he,fe]of Z.oldValues.entries())k(he,fe)},redo:()=>{j(Z.newValue)}};i(Z),j(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const ne=new Map;for(const he of n)he.type===z.WindTurbine&&he.foundationId===u.foundationId&&ne.set(he.id,he.maximumChordRadius);const Z={name:"Set Chord Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ne,newValue:q,groupId:u.foundationId,undo:()=>{for(const[he,fe]of Z.oldValues.entries())k(he,fe)},redo:()=>{Z.groupId&&N(Z.groupId,Z.newValue)}};i(Z),N(u.foundationId,q),s(l+1)}break;default:const le=o(u.id),ie=le?le.maximumChordRadius:u.maximumChordRadius,pe={name:"Set Wind Turbine Chord Radius",timestamp:Date.now(),oldValue:ie,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{k(pe.changedElementId,pe.oldValue)},redo:()=>{k(pe.changedElementId,pe.newValue)}};i(pe),k(u.id,q),s(l+1)}e(le=>{le.actionState.windTurbineBladeMaximumChordRadius=q})}},J=()=>{t(!1)},Q=()=>{J(),c()},ee=()=>{W(p),_(y),H(d),t(!1),s(0)},$=()=>{W(p),_(y),H(d)};return h.jsxs(lo,{width:600,title:O.t("windTurbineMenu.RotorBladeDesign",C),onApply:$,onClose:J,onClickCancel:Q,onClickOk:ee,children:[h.jsx(nn,{children:h.jsx(nt,{span:24,children:h.jsx("canvas",{ref:x,id:"blade-design-canvas",width:b,height:b*.25,style:{paddingBottom:"12px"}})})}),h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(nt,{style:{textAlign:"center",fontStyle:"italic"},children:"A: "}),h.jsx(nt,{children:h.jsx(Hn,{min:.1,max:1,style:{width:"70px"},step:.01,precision:2,value:d,onChange:q=>{q&&f(q)}})}),h.jsxs(nt,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[0.1, 1] ",O.t("word.MeterAbbreviation",C)]})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(nt,{style:{textAlign:"center",fontStyle:"italic"},children:"C: "}),h.jsx(nt,{children:h.jsx(Hn,{min:.5,max:2,style:{width:"70px"},step:.01,precision:2,value:p,onChange:q=>{q&&g(q)}})}),h.jsxs(nt,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[0.5, 2] ",O.t("word.MeterAbbreviation",C)]})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(nt,{style:{textAlign:"center",fontStyle:"italic"},children:"D:"}),h.jsx(nt,{children:h.jsx(Hn,{min:2,max:((u==null?void 0:u.bladeRadius)??10)/2,style:{width:70},step:.01,precision:2,value:y,onChange:q=>{q&&A(q)}})}),h.jsxs(nt,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[2, ",((u==null?void 0:u.bladeRadius)??10)/2,"] ",O.t("word.MeterAbbreviation",C)]})]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",C)})]})})})]})]})},xfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.hubRadius)??0),[p,g]=m.useState((u==null?void 0:u.hubLength)??0),y=Kt(),A=D=>{a(D.target.value)},x=(D,E)=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)){const U=L;if(Math.abs(U.hubRadius-D)>kt||Math.abs(U.hubLength-E)>kt)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.WindTurbine&&L.foundationId===(u==null?void 0:u.foundationId)&&!L.locked){const U=L;if(Math.abs(U.hubRadius-D)>kt||Math.abs(U.hubLength-E)>kt)return!0}break;case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)){const U=L;if(Math.abs(U.hubRadius-D)>kt||Math.abs(U.hubLength-E)>kt)return!0}break;default:if(Math.abs((u==null?void 0:u.hubRadius)-D)>kt||Math.abs((u==null?void 0:u.hubLength)-E)>kt)return!0}return!1}},C=(D,E)=>{e(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&U.id===D&&!U.locked){const F=U;F.hubRadius=E[0],F.hubLength=E[1];break}})},b=(D,E)=>{e(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&U.foundationId===D&&!U.locked){const F=U;F.hubRadius=E[0],F.hubLength=E[1]}})},v=D=>{e(E=>{for(const L of E.elements)if(L.type===z.WindTurbine&&!L.locked){const U=L;U.hubRadius=D[0],U.hubLength=D[1]}})},S=(D,E)=>{M.getState().set(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&!U.locked&&D.has(U.id)){const F=U;F.hubRadius=E[0],F.hubLength=E[1]}})},w=D=>{if(u&&x(D[0],D[1])){switch(r){case ue.AllSelectedObjectsOfThisType:{const W=new Map;for(const k of n)if(k.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(k.id)){const N=k;W.set(k.id,[N.hubRadius,N.hubLength])}const B={name:"Set Hub Parameters for Selected Wind Turbines",timestamp:Date.now(),oldValues:W,newValue:D,undo:()=>{for(const[k,N]of B.oldValues.entries())C(k,N)},redo:()=>{S(B.oldValues,B.newValue)}};i(B),S(W,D),s(l+1);break}case ue.AllObjectsOfThisType:{const W=new Map;for(const k of n)if(k.type===z.WindTurbine){const N=k;W.set(k.id,[N.hubRadius,N.hubLength])}const B={name:"Set Hub Parameters for All Wind Turbines",timestamp:Date.now(),oldValues:W,newValue:D,undo:()=>{for(const[k,N]of B.oldValues.entries())C(k,N)},redo:()=>{v(B.newValue)}};i(B),v(D),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const W=new Map;for(const k of n)if(k.type===z.WindTurbine&&k.foundationId===u.foundationId){const N=k;W.set(k.id,[N.hubRadius,N.hubLength])}const B={name:"Set Hub Parameters for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:W,newValue:D,groupId:u.foundationId,undo:()=>{for(const[k,N]of B.oldValues.entries())C(k,N)},redo:()=>{B.groupId&&b(B.groupId,B.newValue)}};i(B),b(u.foundationId,D),s(l+1)}break;default:const E=o(u.id),L=E?E.hubRadius:u.hubRadius,U=E?E.hubLength:u.hubLength,F={name:"Set Wind Turbine Hub Parameters",timestamp:Date.now(),oldValue:[L,U],newValue:D,changedElementId:u.id,changedElementType:u.type,undo:()=>{C(F.changedElementId,F.oldValue)},redo:()=>{C(F.changedElementId,F.newValue)}};i(F),C(u.id,D),s(l+1)}e(E=>{E.actionState.windTurbineHubRadius=D[0],E.actionState.windTurbineHubLength=D[1]})}},T=()=>{t(!1)},P=()=>{T(),c()},R=()=>{w([d,p]),t(!1),s(0)},H=()=>{w([d,p])};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.HubDesign",y),onApply:H,onClose:T,onClickCancel:P,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:7,children:[h.jsx("div",{style:{marginTop:"-20px",textAlign:"left",fontSize:"12px"},children:O.t("windTurbineMenu.HubRadius",y)}),h.jsx(Hn,{min:.5,max:5,style:{width:120},step:.01,precision:2,value:d,onChange:D=>{D!==null&&f(D)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [0.5, 5] ",O.t("word.MeterAbbreviation",y)]}),h.jsx("div",{style:{paddingTop:"10px",textAlign:"left",fontSize:"12px"},children:O.t("windTurbineMenu.HubLength",y)}),h.jsx(Hn,{min:1,max:10,style:{width:120},step:.01,precision:2,value:p,onChange:D=>{D!==null&&g(D)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [1, 10] ",O.t("word.MeterAbbreviation",y)]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",y)})]})})})]})})},bfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.birdSafe)??lc.None),[p,g]=m.useState((u==null?void 0:u.bladeColor)??X5),[y,A]=m.useState((u==null?void 0:u.stripeColor)??J5),x=Kt(),{Option:C}=Yo,b=U=>{a(U.target.value)},v=(U,F,W)=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const B of n)if(B.type===z.WindTurbine&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)){const k=B;if((k.birdSafe??lc.None)!==U||(k.bladeColor??X5)!==F||(k.stripeColor??J5)!==W)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const B of n)if(B.type===z.WindTurbine&&B.foundationId===(u==null?void 0:u.foundationId)&&!B.locked){const k=B;if((k.birdSafe??lc.None)!==U||(k.bladeColor??X5)!==F||(k.stripeColor??J5)!==W)return!0}break;case ue.AllSelectedObjectsOfThisType:for(const B of n)if(B.type===z.WindTurbine&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)){const k=B;if((k.birdSafe??lc.None)!==U||(k.bladeColor??X5)!==F||(k.stripeColor??J5)!==W)return!0}break;default:if((u.birdSafe??lc.None)!==U||(u.bladeColor??X5)!==F||(u.stripeColor??J5)!==W)return!0}return!1}},S=(U,F,W,B)=>{e(k=>{for(const N of k.elements)if(N.type===z.WindTurbine&&N.id===U&&!N.locked){const j=N;j.birdSafe=F,j.bladeColor=W,j.stripeColor=B;break}})},w=(U,F,W,B)=>{e(k=>{for(const N of k.elements)if(N.type===z.WindTurbine&&N.foundationId===U&&!N.locked){const j=N;j.birdSafe=F,j.bladeColor=W,j.stripeColor=B}})},T=(U,F,W)=>{e(B=>{for(const k of B.elements)if(k.type===z.WindTurbine&&!k.locked){const N=k;N.birdSafe=U,N.bladeColor=F,N.stripeColor=W}})},P=(U,F,W,B)=>{M.getState().set(k=>{for(const N of k.elements)if(N.type===z.WindTurbine&&!N.locked&&U.has(N.id)){const j=N;j.birdSafe=F,j.bladeColor=W,j.stripeColor=B}})},R=(U,F,W)=>{if(u&&v(U,F,W)){switch(r){case ue.AllSelectedObjectsOfThisType:{const J=new Map;for(const ee of n)if(ee.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(ee.id)){const $=ee;J.set(ee.id,[($.birdSafe??lc.None).toString(),$.bladeColor,$.stripeColor])}const Q={name:"Select Bird-Safe Design for Selected Wind Turbines",timestamp:Date.now(),oldValues:J,newValue:[U.toString(),F,W],undo:()=>{for(const[ee,$]of Q.oldValues.entries()){const q=$;S(ee,Number(q[0]),q[1],q[2])}},redo:()=>{const ee=Q.newValue;P(Q.oldValues,Number(ee[0]),ee[1],ee[2])}};i(Q),P(J,U,F,W),s(l+1);break}case ue.AllObjectsOfThisType:{const J=new Map;for(const ee of n)if(ee.type===z.WindTurbine){const $=ee;J.set(ee.id,[($.birdSafe??lc.None).toString(),$.bladeColor,$.stripeColor])}const Q={name:"Select Bird-Safe Design for All Wind Turbines",timestamp:Date.now(),oldValues:J,newValue:[U.toString(),F,W],undo:()=>{for(const[ee,$]of Q.oldValues.entries()){const q=$;S(ee,Number(q[0]),q[1],q[2])}},redo:()=>{const ee=Q.newValue;T(Number(ee[0]),ee[1],ee[2])}};i(Q),T(U,F,W),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const J=new Map;for(const ee of n)if(ee.type===z.WindTurbine&&ee.foundationId===u.foundationId){const $=ee;J.set(ee.id,[($.birdSafe??lc.None).toString(),$.bladeColor,$.stripeColor])}const Q={name:"Select Bird-Safe Design for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:J,newValue:[U.toString(),F,W],groupId:u.foundationId,undo:()=>{for(const[ee,$]of Q.oldValues.entries()){const q=$;S(ee,Number(q[0]),q[1],q[2])}},redo:()=>{if(Q.groupId){const ee=Q.newValue;w(Q.groupId,Number(ee[0]),ee[1],ee[2])}}};i(Q),w(u.foundationId,U,F,W),s(l+1)}break;default:const B=o(u.id),k=B?B.birdSafe??lc.None:u.birdSafe??lc.None,N=B?B.bladeColor??X5:u.bladeColor??X5,j=B?B.stripeColor??J5:u.stripeColor??J5,Y=[k.toString(),N,j],_={name:"Select Bird-Safe Design for Wind Turbine",timestamp:Date.now(),oldValue:Y,newValue:[U.toString(),F,W],changedElementId:u.id,changedElementType:u.type,undo:()=>{const J=_.oldValue;S(_.changedElementId,Number(J[0]),J[1],J[2])},redo:()=>{S(_.changedElementId,U,F,W)}};i(_),S(u.id,U,F,W),s(l+1)}e(B=>{B.actionState.windTurbineBirdSafeDesign=U,B.actionState.windTurbineBladeColor=F,B.actionState.windTurbineStripeColor=W})}},H=()=>{t(!1)},D=()=>{H(),c()},E=()=>{R(d,p,y),t(!1),s(0)},L=()=>{R(d,p,y)};return h.jsx(lo,{width:600,title:O.t("windTurbineMenu.BirdSafeDesign",x),onApply:L,onClose:H,onClickCancel:D,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:8,children:[h.jsxs("span",{children:[O.t("word.Pattern",x),": "]}),h.jsxs(Yo,{style:{width:"116px"},value:d,onChange:U=>{U!==null&&f(U)},children:[h.jsx(C,{value:lc.None,children:O.t("windTurbineMenu.BirdSafeNone",x)},lc.None),h.jsx(C,{value:lc.Bicolor,children:O.t("windTurbineMenu.BirdSafeBicolor",x)},lc.Bicolor),h.jsx(C,{value:lc.Striped,children:O.t("windTurbineMenu.BirdSafeStriped",x)},lc.Striped)]}),h.jsxs("div",{style:{marginTop:"10px"},children:[h.jsxs("span",{children:[O.t("word.Color",x)," 1: "]}),h.jsx("input",{type:"color",value:p,onChange:U=>{g(U.target.value)}})]}),h.jsxs("div",{style:{marginTop:"10px"},children:[h.jsxs("span",{children:[O.t("word.Color",x)," 2: "]}),h.jsx("input",{type:"color",value:y,onChange:U=>{A(U.target.value)}})]})]}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:b,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",x)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",x)})]})})})]})})},Sfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.towerHeight)??0),p=m.useRef(!1),g=m.useRef(),y=Kt(),A=E=>{a(E.target.value)},x=E=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.towerHeight-E)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.WindTurbine&&L.foundationId===(u==null?void 0:u.foundationId)&&!L.locked&&Math.abs(L.towerHeight-E)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.WindTurbine&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.towerHeight-E)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.towerHeight)-E)>kt)return!0}return!1}},C=(E,L)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&F.id===E&&!F.locked){const W=F;W.towerHeight=L,W.lz=L+W.bladeRadius;break}})},b=(E,L)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&F.foundationId===E&&!F.locked){const W=F;W.towerHeight=L,W.lz=L+W.bladeRadius}})},v=E=>{e(L=>{for(const U of L.elements)if(U.type===z.WindTurbine&&!U.locked){const F=U;F.towerHeight=E,F.lz=E+F.bladeRadius}})},S=(E,L)=>{M.getState().set(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&!F.locked&&E.has(F.id)){const W=F;W.towerHeight=L,W.lz=L+W.bladeRadius}})},w=E=>{if(u&&x(E)){switch(g.current=void 0,r){case ue.AllSelectedObjectsOfThisType:{p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&F.bladeRadius>E){p.current=!0;break}if(p.current)g.current=E,f(u.towerHeight);else{const F=new Map;for(const B of n)B.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(B.id)&&F.set(B.id,B.towerHeight);const W={name:"Set Tower Height for Selected Wind Turbines",timestamp:Date.now(),oldValues:F,newValue:E,undo:()=>{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{S(W.oldValues,W.newValue)}};i(W),S(F,E),s(l+1)}break}case ue.AllObjectsOfThisType:{p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&F.bladeRadius>E){p.current=!0;break}if(p.current)g.current=E,f(u.towerHeight);else{const F=new Map;for(const B of n)B.type===z.WindTurbine&&F.set(B.id,B.towerHeight);const W={name:"Set Tower Height for All Wind Turbines",timestamp:Date.now(),oldValues:F,newValue:E,undo:()=>{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{v(W.newValue)}};i(W),v(E),s(l+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){p.current=!1;for(const F of n)if(F.type===z.WindTurbine&&F.foundationId===u.foundationId&&F.bladeRadius>E){p.current=!0;break}if(p.current)g.current=E,f(u.towerHeight);else{const F=new Map;for(const B of n)B.type===z.WindTurbine&&B.foundationId===u.foundationId&&F.set(B.id,B.towerHeight);const W={name:"Set Tower Height for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:F,newValue:E,groupId:u.foundationId,undo:()=>{for(const[B,k]of W.oldValues.entries())C(B,k)},redo:()=>{W.groupId&&b(W.groupId,W.newValue)}};i(W),b(u.foundationId,E),s(l+1)}}break;default:const L=o(u.id),U=L?L.towerHeight:u.towerHeight;if(p.current=u.bladeRadius>E,p.current)g.current=E,f(U);else{const F={name:"Set Wind Turbine Tower Height",timestamp:Date.now(),oldValue:U,newValue:E,changedElementId:u.id,changedElementType:u.type,undo:()=>{C(F.changedElementId,F.oldValue)},redo:()=>{C(F.changedElementId,F.newValue)}};i(F),C(u.id,E),s(l+1)}}e(L=>{L.actionState.windTurbineTowerHeight=E})}},T=()=>{p.current=!1,t(!1)},P=()=>{T(),c()},R=()=>{w(d),p.current||(t(!1),s(0))},H=()=>{w(d)},D=p.current?": "+O.t("message.NotApplicableToSelectedAction",y)+(g.current!==void 0?" ("+g.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.TowerHeight",y),rejectedMessage:D,onApply:H,onClose:T,onClickCancel:P,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:.1,precision:1,value:d,onChange:E=>{E!==null&&f(E)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",y),": [1, 100] ",O.t("word.MeterAbbreviation",y)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",y)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",y)})]})})})]})})},Tfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(jn),i=M(En),r=M(n3),a=M(o3),l=M(ro),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.towerRadius)??0),p=Kt(),g=R=>{a(R.target.value)},y=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.towerRadius-R)>kt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs(H.towerRadius-R)>kt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.towerRadius-R)>kt)return!0;break;default:if(Math.abs((u==null?void 0:u.towerRadius)-R)>kt)return!0}return!1}},A=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.id===R&&!E.locked){const L=E;L.towerRadius=H;break}})},x=(R,H)=>{e(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&E.foundationId===R&&!E.locked){const L=E;L.towerRadius=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const E=D;E.towerRadius=R}})},b=(R,H)=>{M.getState().set(D=>{for(const E of D.elements)if(E.type===z.WindTurbine&&!E.locked&&R.has(E.id)){const L=E;L.towerRadius=H}})},v=R=>{if(u&&y(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(F.id)&&L.set(F.id,F.towerRadius);const U={name:"Set Tower Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{b(U.oldValues,U.newValue)}};i(U),b(L,R),s(l+1);break}case ue.AllObjectsOfThisType:{const L=new Map;for(const F of n)F.type===z.WindTurbine&&L.set(F.id,F.towerRadius);const U={name:"Set Tower Radius for All Wind Turbines",timestamp:Date.now(),oldValues:L,newValue:R,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{C(U.newValue)}};i(U),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(u.foundationId){const L=new Map;for(const F of n)F.type===z.WindTurbine&&F.foundationId===u.foundationId&&L.set(F.id,F.towerRadius);const U={name:"Set Tower Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:L,newValue:R,groupId:u.foundationId,undo:()=>{for(const[F,W]of U.oldValues.entries())A(F,W)},redo:()=>{U.groupId&&x(U.groupId,U.newValue)}};i(U),x(u.foundationId,R),s(l+1)}break;default:const H=o(u.id),D=H?H.towerRadius:u.towerRadius,E={name:"Set Wind Turbine Tower Radius",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(E.changedElementId,E.oldValue)},redo:()=>{A(E.changedElementId,E.newValue)}};i(E),A(u.id,R),s(l+1)}e(H=>{H.actionState.windTurbineTowerRadius=R})}},S=()=>{t(!1)},w=()=>{S(),c()},T=()=>{v(d),t(!1),s(0)},P=()=>{v(d)};return h.jsx(lo,{width:550,title:O.t("windTurbineMenu.TowerRadius",p),onApply:P,onClose:S,onClickCancel:w,onClickOk:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(nt,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:2,style:{width:120},step:.01,precision:2,value:d,onChange:R=>{R!==null&&f(R)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[O.t("word.Range",p),": [0.1, 2] ",O.t("word.MeterAbbreviation",p)]})]}),h.jsx(nt,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:O.t("word.MeterAbbreviation",p)}),h.jsx(nt,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:O.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:O.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:O.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:O.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},Pfo=t=>{const e=[];if(t.type!==z.WindTurbine)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"wind-turbine-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"wind-turbine-cut",label:h.jsx(Tf,{})}),e.push({key:"wind-turbine-lock",label:h.jsx(Md,{selectedElement:n})}),i&&e.push({key:"wind-turbine-relative-yaw-angle",label:h.jsxs(io,{Dialog:gfo,children:[O.t("windTurbineMenu.RelativeYawAngle",o)," ..."]})},{key:"wind-turbine-rotor-submenu",label:h.jsx(tn,{children:O.t("windTurbineMenu.Rotor",o)}),children:[{key:"wind-turbine-rotor-blade-number",label:h.jsxs(io,{noPadding:!0,Dialog:mfo,children:[O.t("windTurbineMenu.BladeNumber",o)," ..."]})},{key:"wind-turbine-rotor-initial-angle",label:h.jsxs(io,{noPadding:!0,Dialog:yfo,children:[O.t("windTurbineMenu.RotorInitialAngle",o)," ..."]})},{key:"wind-turbine-rotor-blade-pitch-angle",label:h.jsxs(io,{noPadding:!0,Dialog:Afo,children:[O.t("windTurbineMenu.RotorBladePitchAngle",o)," ..."]})},{key:"wind-turbine-rotor-blade-radius",label:h.jsxs(io,{noPadding:!0,Dialog:wfo,children:[O.t("windTurbineMenu.RotorBladeRadius",o)," ..."]})},{key:"wind-turbine-rotor-blade-design",label:h.jsxs(io,{noPadding:!0,Dialog:vfo,children:[O.t("windTurbineMenu.RotorBladeDesign",o)," ..."]})},{key:"wind-turbine-hub-design",label:h.jsxs(io,{noPadding:!0,Dialog:xfo,children:[O.t("windTurbineMenu.HubDesign",o)," ..."]})},{key:"wind-turbine-bird-safe-blade",label:h.jsxs(io,{noPadding:!0,Dialog:bfo,children:[O.t("windTurbineMenu.BirdSafeDesign",o)," ..."]})}]},{key:"wind-turbine-tower-submenu",label:h.jsx(tn,{children:O.t("windTurbineMenu.Tower",o)}),children:[{key:"wind-turbine-tower-height",label:h.jsxs(io,{noPadding:!0,Dialog:Sfo,children:[O.t("windTurbineMenu.TowerHeight",o)," ..."]})},{key:"wind-turbine-tower-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Tfo,children:[O.t("windTurbineMenu.TowerRadius",o)," ..."]})}]},{key:"wind-turbine-label",label:h.jsx(tn,{children:O.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},Cfo=()=>{const t=M(Kwt),e=co(),n=m.useRef(t),o=m.useRef(e);return t!==null?(n.current=t,o.current=e):setTimeout(()=>{n.current=t,o.current=t===null?void 0:e},200),[n.current,o.current]},Rfo=({children:t})=>{gt(i=>i.contextMenuFlag);const[e,n]=Cfo(),o=()=>{if(!n)return e===z.Ground?Fco():e===z.Sky?j0o():{items:[]};switch(e){case z.Foundation:return tco(n);case z.Cuboid:return Tco(n);case z.Wall:return cdo(n);case z.Roof:return pfo(n);case z.SolarPanel:return tuo(n);case z.Window:return Ndo(n);case z.Door:return xdo(n);case z.Sensor:return P0o(n);case z.Light:return I0o(n);case z.Human:return Gco(n);case z.Tree:return juo(n);case z.Flower:return Jco(n);case z.ParabolicTrough:return duo(n);case z.ParabolicDish:return xuo(n);case z.FresnelReflector:return Iuo(n);case z.Heliostat:return Uuo(n);case z.Polygon:return A0o(n);case z.PolygonVertex:return b0o(n);case z.WindTurbine:return Pfo(n);default:return{items:[]}}};return h.jsx(W7,{trigger:["contextMenu"],menu:o(),overlayClassName:"my-overlay",children:t})},Hfo=Se.memo(Rfo);(function(){var t,e=typeof Object.defineProperties=="function"?Object.defineProperty:function(I,V,ce){I!=Array.prototype&&I!=Object.prototype&&(I[V]=ce.value)};function n(I){I=[typeof window=="object"&&window,typeof self=="object"&&self,typeof global=="object"&&global,I];for(var V=0;V>>0),b=0;function v(I,V,ce){return I.call.apply(I.bind,arguments)}function S(I,V,ce){if(!I)throw Error();if(2I.b&&(I.b++,V.next=I.a,I.a=V)}function J(){this.b=this.a=null}var Q=new Y(function(){return new $},function(I){I.reset()});J.prototype.add=function(I,V){var ce=Q.get();ce.set(I,V),this.b?this.b.next=ce:this.a=ce,this.b=ce};function ee(){var I=go,V=null;return I.a&&(V=I.a,I.a=I.a.next,I.a||(I.b=null),V.next=null),V}function $(){this.next=this.b=this.a=null}$.prototype.set=function(I,V){this.a=I,this.b=V,this.next=null},$.prototype.reset=function(){this.next=this.b=this.a=null};var q=Array.prototype.indexOf?function(I,V){return Array.prototype.indexOf.call(I,V,void 0)}:function(I,V){if(typeof I=="string")return typeof V!="string"||V.length!=1?-1:I.indexOf(V,0);for(var ce=0;ceV?null:typeof I=="string"?I.charAt(V):I[V]}function fe(I,V){return 0<=q(I,V)}function se(I,V){V=q(I,V);var ce;return(ce=0<=V)&&Array.prototype.splice.call(I,V,1),ce}function oe(I,V){var ce=0;ie(I,function(He,Ve){V.call(void 0,He,Ve,I)&&Array.prototype.splice.call(I,Ve,1).length==1&&ce++})}function de(I){return Array.prototype.concat.apply([],arguments)}function ve(I){var V=I.length;if(0/g,Ae=/"/g,re=/'/g,ge=/\x00/g,we=/[\x00&<>"']/;function ye(I,V){return I.indexOf(V)!=-1}function Te(I,V){return IV?1:0}var Ie;e:{var Ce=s.navigator;if(Ce){var Ee=Ce.userAgent;if(Ee){Ie=Ee;break e}}Ie=""}function Ue(I){return ye(Ie,I)}function Ne(I,V){for(var ce in I)V.call(void 0,I[ce],ce,I)}function Le(I){for(var V in I)return!1;return!0}function qe(I){var V={},ce;for(ce in I)V[ce]=I[ce];return V}var We="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function De(I,V){for(var ce,He,Ve=1;Ve"}else bt=I===void 0?"undefined":I===null?"null":typeof I;j("Argument is not a %s (or a non-Element, non-Location mock); got: %s",V,bt)}}function _e(I,V){this.a=I===St&&V||"",this.b=Ye}_e.prototype.ta=!0,_e.prototype.sa=function(){return this.a},_e.prototype.toString=function(){return"Const{"+this.a+"}"};function ot(I){return I instanceof _e&&I.constructor===_e&&I.b===Ye?I.a:(j("expected object of type Const, got '"+I+"'"),"type_error:Const")}var Ye={},St={},dt;function je(){if(dt===void 0){var I=null,V=s.trustedTypes;if(V&&V.createPolicy){try{I=V.createPolicy("goog#html",{createHTML:R,createScript:R,createScriptURL:R})}catch(ce){s.console&&s.console.error(ce.message)}dt=I}else dt=I}return dt}function at(I,V){this.a=V===Oe?I:""}at.prototype.ta=!0,at.prototype.sa=function(){return this.a.toString()},at.prototype.toString=function(){return"TrustedResourceUrl{"+this.a+"}"};function ut(I){return I instanceof at&&I.constructor===at?I.a:(j("expected object of type TrustedResourceUrl, got '"+I+"' of type "+p(I)),"type_error:TrustedResourceUrl")}function wt(I,V){var ce=ot(I);if(!Qe.test(ce))throw Error("Invalid TrustedResourceUrl format: "+ce);return I=ce.replace(rt,function(He,Ve){if(!Object.prototype.hasOwnProperty.call(V,Ve))throw Error('Found marker, "'+Ve+'", in format string, "'+ce+'", but no valid label mapping found in args: '+JSON.stringify(V));return He=V[Ve],He instanceof _e?ot(He):encodeURIComponent(String(He))}),et(I)}var rt=/%{(\w+)}/g,Qe=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,Oe={};function et(I){var V=je();return I=V?V.createScriptURL(I):I,new at(I,Oe)}function vt(I,V){this.a=V===st?I:""}vt.prototype.ta=!0,vt.prototype.sa=function(){return this.a.toString()},vt.prototype.toString=function(){return"SafeUrl{"+this.a+"}"};function ct(I){return I instanceof vt&&I.constructor===vt?I.a:(j("expected object of type SafeUrl, got '"+I+"' of type "+p(I)),"type_error:SafeUrl")}var lt=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|font\/\w+|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,tt=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,it=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function At(I){if(I instanceof vt)return I;if(I=typeof I=="object"&&I.ta?I.sa():String(I),it.test(I))I=new vt(I,st);else{I=String(I),I=I.replace(/(%0A|%0D)/g,"");var V=I.match(tt);I=V&<.test(V[1])?new vt(I,st):null}return I}function Mt(I){return I instanceof vt?I:(I=typeof I=="object"&&I.ta?I.sa():String(I),it.test(I)||(I="about:invalid#zClosurez"),new vt(I,st))}var st={},ft=new vt("about:invalid#zClosurez",st);function Rt(I,V,ce){this.a=ce===Xe?I:""}Rt.prototype.ta=!0,Rt.prototype.sa=function(){return this.a.toString()},Rt.prototype.toString=function(){return"SafeHtml{"+this.a+"}"};function zt(I){return I instanceof Rt&&I.constructor===Rt?I.a:(j("expected object of type SafeHtml, got '"+I+"' of type "+p(I)),"type_error:SafeHtml")}var Xe={};function ht(I,V){Fe(I,"HTMLScriptElement"),I.src=ut(V),(V=I.ownerDocument&&I.ownerDocument.defaultView)&&V!=s?V=d(V.document):(u===null&&(u=d(s.document)),V=u),V&&I.setAttribute("nonce",V)}function Je(I,V,ce,He){return I=I instanceof vt?I:Mt(I),V=V||s,ce=ce instanceof _e?ot(ce):ce||"",V.open(ct(I),ce,He,void 0)}function mt(I,V){for(var ce=I.split("%s"),He="",Ve=Array.prototype.slice.call(arguments,1);Ve.length&&1")!=-1&&(I=I.replace(ze,">")),I.indexOf('"')!=-1&&(I=I.replace(Ae,""")),I.indexOf("'")!=-1&&(I=I.replace(re,"'")),I.indexOf("\0")!=-1&&(I=I.replace(ge,"�"))),I}function xt(I){return xt[" "](I),I}xt[" "]=f;function It(I,V){var ce=Ai;return Object.prototype.hasOwnProperty.call(ce,I)?ce[I]:ce[I]=V(I)}var Tt=Ue("Opera"),Dt=Ue("Trident")||Ue("MSIE"),Lt=Ue("Edge"),Et=Lt||Dt,an=Ue("Gecko")&&!(ye(Ie.toLowerCase(),"webkit")&&!Ue("Edge"))&&!(Ue("Trident")||Ue("MSIE"))&&!Ue("Edge"),Jt=ye(Ie.toLowerCase(),"webkit")&&!Ue("Edge");function hn(){var I=s.document;return I?I.documentMode:void 0}var cn;e:{var Sn="",Pn=function(){var I=Ie;if(an)return/rv:([^\);]+)(\)|;)/.exec(I);if(Lt)return/Edge\/([\d\.]+)/.exec(I);if(Dt)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(I);if(Jt)return/WebKit\/(\S+)/.exec(I);if(Tt)return/(?:Version)[ \/]?(\S+)/.exec(I)}();if(Pn&&(Sn=Pn?Pn[1]:""),Dt){var Un=hn();if(Un!=null&&Un>parseFloat(Sn)){cn=String(Un);break e}}cn=Sn}var Ai={};function vo(I){return It(I,function(){for(var V=0,ce=Pe(String(cn)).split("."),He=Pe(String(I)).split("."),Ve=Math.max(ce.length,He.length),bt=0;V==0&&bt"),bt=bt.join("")}return bt=yn(Ve,bt),Ft&&(typeof Ft=="string"?bt.className=Ft:Array.isArray(Ft)?bt.className=Ft.join(" "):qo(bt,Ft)),2"u"&&typeof window<"u"&&window.postMessage&&window.addEventListener&&!Ue("Presto")&&(I=function(){var Ve=yn(document,"IFRAME");Ve.style.display="none",document.documentElement.appendChild(Ve);var bt=Ve.contentWindow;Ve=bt.document,Ve.open(),Ve.close();var Ft="callImmediate"+Math.random(),ln=bt.location.protocol=="file:"?"*":bt.location.protocol+"//"+bt.location.host;Ve=w(function(Zn){(ln=="*"||Zn.origin==ln)&&Zn.data==Ft&&this.port1.onmessage()},this),bt.addEventListener("message",Ve,!1),this.port1={},this.port2={postMessage:function(){bt.postMessage(Ft,ln)}}}),typeof I<"u"&&!Ue("Trident")&&!Ue("MSIE")){var V=new I,ce={},He=ce;return V.port1.onmessage=function(){if(ce.next!==void 0){ce=ce.next;var Ve=ce.Hb;ce.Hb=null,Ve()}},function(Ve){He.next={Hb:Ve},He=He.next,V.port2.postMessage(0)}}return function(Ve){s.setTimeout(Ve,0)}}function Fo(I,V){bo||Ro(),oi||(bo(),oi=!0),go.add(I,V)}var bo;function Ro(){if(s.Promise&&s.Promise.resolve){var I=s.Promise.resolve(void 0);bo=function(){I.then(So)}}else bo=function(){var V=So;!y(s.setImmediate)||s.Window&&s.Window.prototype&&!Ue("Edge")&&s.Window.prototype.setImmediate==s.setImmediate?(Do||(Do=ni()),Do(V)):s.setImmediate(V)}}var oi=!1,go=new J;function So(){for(var I;I=ee();){try{I.a.call(I.b)}catch(V){to(V)}_(Q,I)}oi=!1}function Uo(I,V){if(this.a=_i,this.i=void 0,this.f=this.b=this.c=null,this.g=this.h=!1,I!=f)try{var ce=this;I.call(V,function(He){Pc(ce,Qo,He)},function(He){if(!(He instanceof mu))try{throw He instanceof Error?He:Error("Promise rejected.")}catch{}Pc(ce,ar,He)})}catch(He){Pc(this,ar,He)}}var _i=0,Qo=2,ar=3;function ur(){this.next=this.f=this.b=this.g=this.a=null,this.c=!1}ur.prototype.reset=function(){this.f=this.b=this.g=this.a=null,this.c=!1};var $o=new Y(function(){return new ur},function(I){I.reset()});function ba(I,V,ce){var He=$o.get();return He.g=I,He.b=V,He.f=ce,He}function Mo(I){if(I instanceof Uo)return I;var V=new Uo(f);return Pc(V,Qo,I),V}function $i(I){return new Uo(function(V,ce){ce(I)})}function Za(I,V,ce){Is(I,V,ce,null)||Fo(T(V,I))}function ti(I){return new Uo(function(V,ce){var He=I.length,Ve=[];if(He)for(var bt=function(Io,Hr){He--,Ve[Io]=Hr,He==0&&V(Ve)},Ft=function(Io){ce(Io)},ln=0,Zn;ln=I.keyCode)&&(I.keyCode=-1)}catch{}},Ct.prototype.g=function(){return this.a};var Xt="closure_listenable_"+(1e6*Math.random()|0),rn=0;function gn(I,V,ce,He,Ve){this.listener=I,this.proxy=null,this.src=V,this.type=ce,this.capture=!!He,this.Wa=Ve,this.key=++rn,this.wa=this.Qa=!1}function mn(I){I.wa=!0,I.listener=null,I.proxy=null,I.src=null,I.Wa=null}function vn(I){this.src=I,this.a={},this.b=0}vn.prototype.add=function(I,V,ce,He,Ve){var bt=I.toString();I=this.a[bt],I||(I=this.a[bt]=[],this.b++);var Ft=Yn(I,V,He,Ve);return-1He.keyCode||He.returnValue!=null)){e:{var Ve=!1;if(He.keyCode==0)try{He.keyCode=-1;break e}catch{Ve=!0}(Ve||He.returnValue==null)&&(He.returnValue=!0)}for(He=[],Ve=V.b;Ve;Ve=Ve.parentNode)He.push(Ve);for(I=I.type,Ve=He.length-1;0<=Ve;Ve--){V.b=He[Ve];var bt=Ju(He[Ve],I,!0,V);ce=ce&&bt}for(Ve=0;Ve>>0);function Hf(I){return y(I)?I:(I[qu]||(I[qu]=function(V){return I.handleEvent(V)}),I[qu])}function Ol(){sn.call(this),this.v=new vn(this),this.bc=this,this.hb=null}P(Ol,sn),Ol.prototype[Xt]=!0,Ol.prototype.addEventListener=function(I,V,ce,He){Xn(this,I,V,ce,He)},Ol.prototype.removeEventListener=function(I,V,ce,He){Vi(this,I,V,ce,He)},Ol.prototype.dispatchEvent=function(I){var V,ce=this.hb;if(ce)for(V=[];ce;ce=ce.hb)V.push(ce);ce=this.bc;var He=I.type||I;if(typeof I=="string")I=new Nt(I,ce);else if(I instanceof Nt)I.target=I.target||ce;else{var Ve=I;I=new Nt(He,ce),De(I,Ve)}if(Ve=!0,V)for(var bt=V.length-1;0<=bt;bt--){var Ft=I.b=V[bt];Ve=yp(Ft,He,!0,I)&&Ve}if(Ft=I.b=ce,Ve=yp(Ft,He,!0,I)&&Ve,Ve=yp(Ft,He,!1,I)&&Ve,V)for(bt=0;btV)throw Error("Bad port number "+V);I.g=V}else I.g=null}function Ng(I,V,ce){V instanceof Ug?(I.b=V,Q7(I.b,I.i)):(ce||(V=Rh(V,Hh)),I.b=new Ug(V,I.i))}function el(I,V,ce){I.b.set(V,ce)}function Dd(I,V){return I.b.get(V)}function wu(I){return I instanceof zs?new zs(I):new zs(I,void 0)}function a5(I,V,ce,He){var Ve=new zs(null,void 0);return I&&$s(Ve,I),V&&(Ve.a=V),ce&&yl(Ve,ce),He&&(Ve.f=He),Ve}function dy(I,V){return I?V?decodeURI(I.replace(/%25/g,"%2525")):decodeURIComponent(I):""}function Rh(I,V,ce){return typeof I=="string"?(I=encodeURI(I).replace(V,g3),ce&&(I=I.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),I):null}function g3(I){return I=I.charCodeAt(0),"%"+(I>>4&15).toString(16)+(I&15).toString(16)}var fy=/[#\/\?@]/g,m3=/[#\?:]/g,l5=/[#\?]/g,Hh=/[#\?@]/g,y3=/#/g;function Ug(I,V){this.b=this.a=null,this.c=I||null,this.f=!!V}function Ed(I){I.a||(I.a=new O0,I.b=0,I.c&&Au(I.c,function(V,ce){I.add(decodeURIComponent(V.replace(/\+/g," ")),ce)}))}function $7(I){var V=d1(I);if(typeof V>"u")throw Error("Keys are undefined");var ce=new Ug(null,void 0);I=yu(I);for(var He=0;He2*I.c&&Ch(I)))}t.clear=function(){this.a=this.c=null,this.b=0};function hs(I,V){return Ed(I),V=vu(I,V),Wg(I.a.b,V)}t.forEach=function(I,V){Ed(this),this.a.forEach(function(ce,He){le(ce,function(Ve){I.call(V,Ve,He,this)},this)},this)},t.Y=function(){Ed(this);for(var I=this.a.X(),V=this.a.Y(),ce=[],He=0;HeI?!1:!Dt||!po||9',I=(He=je())?He.createHTML(I):I,I=new Rt(I,null,Xe),He=Ft.document)&&(He.write(zt(I)),He.close())):(Ft=Je(V,He,ce,Ft))&&I.noopener&&(Ft.opener=null),Ft)try{Ft.focus()}catch{}return Ft}function Bg(I){return new Uo(function(V){function ce(){Gc(2e3).then(function(){if(!I||I.closed)V();else return ce()})}return ce()})}var A3=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,s5=/^[^@]+@[^@]+$/;function Ds(){var I=null;return new Uo(function(V){s.document.readyState=="complete"?V():(I=function(){V()},Kr(window,"load",I))}).o(function(V){throw Vi(window,"load",I),V})}function c5(){return La(void 0)?Ds().then(function(){return new Uo(function(I,V){var ce=s.document,He=setTimeout(function(){V(Error("Cordova framework is not ready."))},1e3);ce.addEventListener("deviceready",function(){clearTimeout(He),I()},!1)})}):$i(Error("Cordova must run in an Android or iOS file scheme."))}function La(I){return I=I||Qs(),!(kd()!=="file:"&&kd()!=="ionic:"||!I.toLowerCase().match(/iphone|ipad|ipod|android/))}function w3(){var I=s.window;try{return!(!I||I==I.top)}catch{return!1}}function Rc(){return typeof s.WorkerGlobalScope<"u"&&typeof s.importScripts=="function"}function Es(){return ao.INTERNAL.hasOwnProperty("reactNative")?"ReactNative":ao.INTERNAL.hasOwnProperty("node")?"Node":Rc()?"Worker":"Browser"}function jg(){var I=Es();return I==="ReactNative"||I==="Node"}function PA(){for(var I=50,V=[];0"u"?null:gy(I)}function g5(I){var V={},ce;for(ce in I)I.hasOwnProperty(ce)&&I[ce]!==null&&I[ce]!==void 0&&(V[ce]=I[ce]);return V}function my(I){if(I!==null)return JSON.parse(I)}function Og(I){return I||Math.floor(1e9*Math.random()).toString()}function m5(I){return I=I||Qs(),!($u(I)=="Safari"||I.toLowerCase().match(/iphone|ipad|ipod/))}function y5(){var I=s.___jsl;if(I&&I.H){for(var V in I.H)if(I.H[V].r=I.H[V].r||[],I.H[V].L=I.H[V].L||[],I.H[V].r=I.H[V].L.concat(),I.CP)for(var ce=0;ceV)throw Error("Short delay should be less than long delay!");this.a=I,this.c=V,I=Qs(),V=Es(),this.b=Jc(I)||V==="ReactNative"}Mf.prototype.get=function(){var I=s.navigator;return!(I&&typeof I.onLine=="boolean"&&(p5()||kd()==="chrome-extension:"||typeof I.connection<"u"))||I.onLine?this.b?this.c:this.a:Math.min(5e3,this.a)};function CA(){var I=s.document;return I&&typeof I.visibilityState<"u"?I.visibilityState=="visible":!0}function Z7(){var I=s.document,V=null;return CA()||!I?Mo():new Uo(function(ce){V=function(){CA()&&(I.removeEventListener("visibilitychange",V,!1),ce())},I.addEventListener("visibilitychange",V,!1)}).o(function(ce){throw I.removeEventListener("visibilitychange",V,!1),ce})}function v3(I){try{var V=new Date(parseInt(I,10));if(!isNaN(V.getTime())&&!/[^0-9]/.test(I))return V.toUTCString()}catch{}return null}function e8(){return!(!_l("fireauth.oauthhelper",s)&&!_l("fireauth.iframe",s))}function Kc(){var I=s.navigator;return I&&I.serviceWorker&&I.serviceWorker.controller||null}function V0(){var I=s.navigator;return I&&I.serviceWorker?Mo().then(function(){return I.serviceWorker.ready}).then(function(V){return V.active||null}).o(function(){return null}):Mo(null)}var t8={};function RA(I){t8[I]||(t8[I]=!0,typeof console<"u"&&typeof console.warn=="function"&&console.warn(I))}var x3;try{var HA={};Object.defineProperty(HA,"abcd",{configurable:!0,enumerable:!0,value:1}),Object.defineProperty(HA,"abcd",{configurable:!0,enumerable:!0,value:2}),x3=HA.abcd==2}catch{x3=!1}function Pi(I,V,ce){x3?Object.defineProperty(I,V,{configurable:!0,enumerable:!0,value:ce}):I[V]=ce}function qc(I,V){if(V)for(var ce in V)V.hasOwnProperty(ce)&&Pi(I,ce,V[ce])}function If(I){var V={};return qc(V,I),V}function A5(I){var V={},ce;for(ce in I)I.hasOwnProperty(ce)&&(V[ce]=I[ce]);return V}function yy(I,V){if(!V||!V.length)return!0;if(!I)return!1;for(var ce=0;ce"u")throw new H("missing-continue-uri");if(typeof V!="string"||typeof V=="string"&&!V.length)throw new H("invalid-continue-uri");this.h=V,this.b=this.a=null,this.g=!1;var ce=I[r8];if(ce&&typeof ce=="object"){V=ce[l8];var He=ce[y1];if(ce=ce[WA],typeof V=="string"&&V.length){if(this.a=V,typeof He<"u"&&typeof He!="boolean")throw new H("argument-error",y1+" property must be a boolean when specified.");if(this.g=!!He,typeof ce<"u"&&(typeof ce!="string"||typeof ce=="string"&&!ce.length))throw new H("argument-error",WA+" property must be a non empty string when specified.");this.b=ce||null}else{if(typeof V<"u")throw new H("argument-error",l8+" property must be a non empty string when specified.");if(typeof He<"u"||typeof ce<"u")throw new H("missing-android-pkg-name")}}else if(typeof ce<"u")throw new H("argument-error",r8+" property must be a non null object when specified.");if(this.f=null,(V=I[a8])&&typeof V=="object"){if(V=V[Hc],typeof V=="string"&&V.length)this.f=V;else if(typeof V<"u")throw new H("argument-error",Hc+" property must be a non empty string when specified.")}else if(typeof V<"u")throw new H("argument-error",a8+" property must be a non null object when specified.");if(V=I[FA],typeof V<"u"&&typeof V!="boolean")throw new H("argument-error",FA+" property must be a boolean when specified.");if(this.c=!!V,I=I[kA],typeof I<"u"&&(typeof I!="string"||typeof I=="string"&&!I.length))throw new H("argument-error",kA+" property must be a non empty string when specified.");this.i=I||null}var r8="android",kA="dynamicLinkDomain",FA="handleCodeInApp",a8="iOS",LA="url",y1="installApp",WA="minimumVersion",l8="packageName",Hc="bundleId";function NA(I){var V={};V.continueUrl=I.h,V.canHandleCodeInApp=I.c,(V.androidPackageName=I.a)&&(V.androidMinimumVersion=I.b,V.androidInstallApp=I.g),V.iOSBundleId=I.f,V.dynamicLinkDomain=I.i;for(var ce in V)V[ce]===null&&delete V[ce];return V}function HM(I){return ne(I,function(V){return V=V.toString(16),1>4),Ft!=64&&(V(bt<<4&240|Ft>>2),ln!=64&&V(Ft<<6&192|ln))}}function mi(){if(!_g){_g={};for(var I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),V=["+/=","+/","-_=","-_.","-_"],ce=0;5>ce;ce++)for(var He=I.concat(V[ce].split("")),Ve=0;Vethis.a?this.a:I),this.b=V.provider_id||V.firebase&&V.firebase.sign_in_provider||null,this.f=V.firebase&&V.firebase.tenant||null,this.c=!!V.is_anonymous||this.b=="anonymous"}Vg.prototype.T=function(){return this.f},Vg.prototype.l=function(){return this.c},Vg.prototype.toString=function(){return this.h};function v5(I){try{return new Vg(I)}catch{return null}}function s8(I){if(!I||(I=I.split("."),I.length!=3))return null;I=I[1];for(var V=(4-I.length%4)%4,ce=0;ceVe)I[ce++]=String.fromCharCode(Ve);else if(191Ve){var bt=He[V++];I[ce++]=String.fromCharCode((Ve&31)<<6|bt&63)}else if(239Ve){bt=He[V++];var Ft=He[V++],ln=He[V++],Zn=((Ve&7)<<18|(bt&63)<<12|(Ft&63)<<6|ln&63)-65536;I[ce++]=String.fromCharCode(55296+(Zn>>10)),I[ce++]=String.fromCharCode(56320+(Zn&1023))}else bt=He[V++],Ft=He[V++],I[ce++]=String.fromCharCode((Ve&15)<<12|(bt&63)<<6|Ft&63)}return JSON.parse(I.join(""))}catch{}return null}var UA="oauth_consumer_key oauth_nonce oauth_signature oauth_signature_method oauth_timestamp oauth_token oauth_version".split(" "),td=["client_id","response_type","scope","redirect_uri","state"],vp={nd:{Ja:"locale",va:700,ua:600,fa:"facebook.com",Ya:td},pd:{Ja:null,va:500,ua:750,fa:"github.com",Ya:td},qd:{Ja:"hl",va:515,ua:680,fa:"google.com",Ya:td},wd:{Ja:"lang",va:485,ua:705,fa:"twitter.com",Ya:UA},kd:{Ja:"locale",va:640,ua:600,fa:"apple.com",Ya:[]}};function P3(I){for(var V in vp)if(vp[V].fa==I)return vp[V];return null}function BA(I){var V={};V["facebook.com"]=nd,V["google.com"]=C3,V["github.com"]=YA,V["twitter.com"]=OA;var ce=I&&I[zh];try{if(ce)return V[ce]?new V[ce](I):new w0(I);if(typeof I[jA]<"u")return new x5(I)}catch{}return null}var jA="idToken",zh="providerId";function x5(I){var V=I[zh];if(!V&&I[jA]){var ce=v5(I[jA]);ce&&ce.b&&(V=ce.b)}if(!V)throw Error("Invalid additional user info!");(V=="anonymous"||V=="custom")&&(V=null),ce=!1,typeof I.isNewUser<"u"?ce=!!I.isNewUser:I.kind==="identitytoolkit#SignupNewUserResponse"&&(ce=!0),Pi(this,"providerId",V),Pi(this,"isNewUser",ce)}function w0(I){x5.call(this,I),I=my(I.rawUserInfo||"{}"),Pi(this,"profile",h1(I||{}))}P(w0,x5);function nd(I){if(w0.call(this,I),this.providerId!="facebook.com")throw Error("Invalid provider ID!")}P(nd,w0);function YA(I){if(w0.call(this,I),this.providerId!="github.com")throw Error("Invalid provider ID!");Pi(this,"username",this.profile&&this.profile.login||null)}P(YA,w0);function C3(I){if(w0.call(this,I),this.providerId!="google.com")throw Error("Invalid provider ID!")}P(C3,w0);function OA(I){if(w0.call(this,I),this.providerId!="twitter.com")throw Error("Invalid provider ID!");Pi(this,"username",I.screenName||null)}P(OA,w0);function Gg(I){var V=wu(I),ce=Dd(V,"link"),He=Dd(wu(ce),"link");return V=Dd(V,"deep_link_id"),Dd(wu(V),"link")||V||He||ce||I}function od(I,V){if(!I&&!V)throw new H("internal-error","Internal assert: no raw session string available");if(I&&V)throw new H("internal-error","Internal assert: unable to determine the session type");this.a=I||null,this.b=V||null,this.type=this.a?b5:_A}var b5="enroll",_A="signin";od.prototype.Ha=function(){return this.a?Mo(this.a):Mo(this.b)},od.prototype.w=function(){return this.type==b5?{multiFactorSession:{idToken:this.a}}:{multiFactorSession:{pendingCredential:this.b}}};function xp(){}xp.prototype.ka=function(){},xp.prototype.b=function(){},xp.prototype.c=function(){},xp.prototype.w=function(){};function wy(I,V){return I.then(function(ce){if(ce[Zt]){var He=v5(ce[Zt]);if(!He||V!=He.i)throw new H("user-mismatch");return ce}throw new H("user-mismatch")}).o(function(ce){throw ce&&ce.code&&ce.code==E+"user-not-found"?new H("user-mismatch"):ce})}function A1(I,V){if(V)this.a=V;else throw new H("internal-error","failed to construct a credential");Pi(this,"providerId",I),Pi(this,"signInMethod",I)}A1.prototype.ka=function(I){return AS(I,Mc(this))},A1.prototype.b=function(I,V){var ce=Mc(this);return ce.idToken=V,q0(I,ce)},A1.prototype.c=function(I,V){return wy(EM(I,Mc(this)),V)};function Mc(I){return{pendingToken:I.a,requestUri:"http://localhost"}}A1.prototype.w=function(){return{providerId:this.providerId,signInMethod:this.signInMethod,pendingToken:this.a}};function S5(I){if(I&&I.providerId&&I.signInMethod&&I.providerId.indexOf("saml.")==0&&I.pendingToken)try{return new A1(I.providerId,I.pendingToken)}catch{}return null}function Ld(I,V,ce){if(this.a=null,V.idToken||V.accessToken)V.idToken&&Pi(this,"idToken",V.idToken),V.accessToken&&Pi(this,"accessToken",V.accessToken),V.nonce&&!V.pendingToken&&Pi(this,"nonce",V.nonce),V.pendingToken&&(this.a=V.pendingToken);else if(V.oauthToken&&V.oauthTokenSecret)Pi(this,"accessToken",V.oauthToken),Pi(this,"secret",V.oauthTokenSecret);else throw new H("internal-error","failed to construct a credential");Pi(this,"providerId",I),Pi(this,"signInMethod",ce)}Ld.prototype.ka=function(I){return AS(I,bu(this))},Ld.prototype.b=function(I,V){var ce=bu(this);return ce.idToken=V,q0(I,ce)},Ld.prototype.c=function(I,V){var ce=bu(this);return wy(EM(I,ce),V)};function bu(I){var V={};return I.idToken&&(V.id_token=I.idToken),I.accessToken&&(V.access_token=I.accessToken),I.secret&&(V.oauth_token_secret=I.secret),V.providerId=I.providerId,I.nonce&&!I.a&&(V.nonce=I.nonce),V={postBody:$7(V).toString(),requestUri:"http://localhost"},I.a&&(delete V.postBody,V.pendingToken=I.a),V}Ld.prototype.w=function(){var I={providerId:this.providerId,signInMethod:this.signInMethod};return this.idToken&&(I.oauthIdToken=this.idToken),this.accessToken&&(I.oauthAccessToken=this.accessToken),this.secret&&(I.oauthTokenSecret=this.secret),this.nonce&&(I.nonce=this.nonce),this.a&&(I.pendingToken=this.a),I};function T5(I){if(I&&I.providerId&&I.signInMethod){var V={idToken:I.oauthIdToken,accessToken:I.oauthTokenSecret?null:I.oauthAccessToken,oauthTokenSecret:I.oauthTokenSecret,oauthToken:I.oauthTokenSecret&&I.oauthAccessToken,nonce:I.nonce,pendingToken:I.pendingToken};try{return new Ld(I.providerId,V,I.signInMethod)}catch{}}return null}function Wd(I,V){this.Qc=V||[],qc(this,{providerId:I,isOAuthProvider:!0}),this.Jb={},this.qb=(P3(I)||{}).Ja||null,this.pb=null}Wd.prototype.Ka=function(I){return this.Jb=qe(I),this};function zf(I){if(typeof I!="string"||I.indexOf("saml.")!=0)throw new H("argument-error",'SAML provider IDs must be prefixed with "saml."');Wd.call(this,I,[])}P(zf,Wd);function X0(I){Wd.call(this,I,td),this.a=[]}P(X0,Wd),X0.prototype.Ca=function(I){return fe(this.a,I)||this.a.push(I),this},X0.prototype.Rb=function(){return ve(this.a)},X0.prototype.credential=function(I,V){var ce;if(A(I)?ce={idToken:I.idToken||null,accessToken:I.accessToken||null,nonce:I.rawNonce||null}:ce={idToken:I||null,accessToken:V||null},!ce.idToken&&!ce.accessToken)throw new H("argument-error","credential failed: must provide the ID token and/or the access token.");return new Ld(this.providerId,ce,this.providerId)};function xs(){X0.call(this,"facebook.com")}P(xs,X0),Pi(xs,"PROVIDER_ID","facebook.com"),Pi(xs,"FACEBOOK_SIGN_IN_METHOD","facebook.com");function P5(I){if(!I)throw new H("argument-error","credential failed: expected 1 argument (the OAuth access token).");var V=I;return A(I)&&(V=I.accessToken),new xs().credential({accessToken:V})}function Xg(){X0.call(this,"github.com")}P(Xg,X0),Pi(Xg,"PROVIDER_ID","github.com"),Pi(Xg,"GITHUB_SIGN_IN_METHOD","github.com");function VA(I){if(!I)throw new H("argument-error","credential failed: expected 1 argument (the OAuth access token).");var V=I;return A(I)&&(V=I.accessToken),new Xg().credential({accessToken:V})}function vy(){X0.call(this,"google.com"),this.Ca("profile")}P(vy,X0),Pi(vy,"PROVIDER_ID","google.com"),Pi(vy,"GOOGLE_SIGN_IN_METHOD","google.com");function xy(I,V){var ce=I;return A(I)&&(ce=I.idToken,V=I.accessToken),new vy().credential({idToken:ce,accessToken:V})}function Jg(){Wd.call(this,"twitter.com",UA)}P(Jg,Wd),Pi(Jg,"PROVIDER_ID","twitter.com"),Pi(Jg,"TWITTER_SIGN_IN_METHOD","twitter.com");function Vl(I,V){var ce=I;if(A(ce)||(ce={oauthToken:I,oauthTokenSecret:V}),!ce.oauthToken||!ce.oauthTokenSecret)throw new H("argument-error","credential failed: expected 2 arguments (the OAuth access token and secret).");return new Ld("twitter.com",ce,"twitter.com")}function Cr(I,V,ce){this.a=I,this.f=V,Pi(this,"providerId","password"),Pi(this,"signInMethod",ce===tl.EMAIL_LINK_SIGN_IN_METHOD?tl.EMAIL_LINK_SIGN_IN_METHOD:tl.EMAIL_PASSWORD_SIGN_IN_METHOD)}Cr.prototype.ka=function(I){return this.signInMethod==tl.EMAIL_LINK_SIGN_IN_METHOD?Da(I,Dy,{email:this.a,oobCode:this.f}):Da(I,BM,{email:this.a,password:this.f})},Cr.prototype.b=function(I,V){return this.signInMethod==tl.EMAIL_LINK_SIGN_IN_METHOD?Da(I,Od,{idToken:V,email:this.a,oobCode:this.f}):Da(I,WM,{idToken:V,email:this.a,password:this.f})},Cr.prototype.c=function(I,V){return wy(this.ka(I),V)},Cr.prototype.w=function(){return{email:this.a,password:this.f,signInMethod:this.signInMethod}};function Ic(I){return I&&I.email&&I.password?new Cr(I.email,I.password,I.signInMethod):null}function tl(){qc(this,{providerId:"password",isOAuthProvider:!1})}function Fs(I,V){if(V=Su(V),!V)throw new H("argument-error","Invalid email link!");return new Cr(I,V.code,tl.EMAIL_LINK_SIGN_IN_METHOD)}function Su(I){return I=Gg(I),(I=T3(I))&&I.operation===g1?I:null}qc(tl,{PROVIDER_ID:"password"}),qc(tl,{EMAIL_LINK_SIGN_IN_METHOD:"emailLink"}),qc(tl,{EMAIL_PASSWORD_SIGN_IN_METHOD:"password"});function Nd(I){if(!(I.fb&&I.eb||I.La&&I.ea))throw new H("internal-error");this.a=I,Pi(this,"providerId","phone"),this.fa="phone",Pi(this,"signInMethod","phone")}Nd.prototype.ka=function(I){return I.gb(bp(this))},Nd.prototype.b=function(I,V){var ce=bp(this);return ce.idToken=V,Da(I,gU,ce)},Nd.prototype.c=function(I,V){var ce=bp(this);return ce.operation="REAUTH",I=Da(I,nm,ce),wy(I,V)},Nd.prototype.w=function(){var I={providerId:"phone"};return this.a.fb&&(I.verificationId=this.a.fb),this.a.eb&&(I.verificationCode=this.a.eb),this.a.La&&(I.temporaryProof=this.a.La),this.a.ea&&(I.phoneNumber=this.a.ea),I};function Zs(I){if(I&&I.providerId==="phone"&&(I.verificationId&&I.verificationCode||I.temporaryProof&&I.phoneNumber)){var V={};return le(["verificationId","verificationCode","temporaryProof","phoneNumber"],function(ce){I[ce]&&(V[ce]=I[ce])}),new Nd(V)}return null}function bp(I){return I.a.La&&I.a.ea?{temporaryProof:I.a.La,phoneNumber:I.a.ea}:{sessionInfo:I.a.fb,code:I.a.eb}}function id(I){try{this.a=I||ao.auth()}catch{throw new H("argument-error","Either an instance of firebase.auth.Auth must be passed as an argument to the firebase.auth.PhoneAuthProvider constructor, or the default firebase App instance must be initialized via firebase.initializeApp().")}qc(this,{providerId:"phone",isOAuthProvider:!1})}id.prototype.gb=function(I,V){var ce=this.a.a;return Mo(V.verify()).then(function(He){if(typeof He!="string")throw new H("argument-error","An implementation of firebase.auth.ApplicationVerifier.prototype.verify() must return a firebase.Promise that resolves with a string.");switch(V.type){case"recaptcha":var Ve=A(I)?I.session:null,bt=A(I)?I.phoneNumber:I,Ft;return Ve&&Ve.type==b5?Ft=Ve.Ha().then(function(ln){return e4(ce,{idToken:ln,phoneEnrollmentInfo:{phoneNumber:bt,recaptchaToken:He}})}):Ve&&Ve.type==_A?Ft=Ve.Ha().then(function(ln){return mS(ce,{mfaPendingCredential:ln,mfaEnrollmentId:I.multiFactorHint&&I.multiFactorHint.uid||I.multiFactorUid,phoneSignInInfo:{recaptchaToken:He}})}):Ft=ZA(ce,{phoneNumber:bt,recaptchaToken:He}),Ft.then(function(ln){return typeof V.reset=="function"&&V.reset(),ln},function(ln){throw typeof V.reset=="function"&&V.reset(),ln});default:throw new H("argument-error",'Only firebase.auth.ApplicationVerifiers with type="recaptcha" are currently supported.')}})};function R3(I,V){if(!I)throw new H("missing-verification-id");if(!V)throw new H("missing-verification-code");return new Nd({fb:I,eb:V})}qc(id,{PROVIDER_ID:"phone"}),qc(id,{PHONE_SIGN_IN_METHOD:"phone"});function H3(I){if(I.temporaryProof&&I.phoneNumber)return new Nd({La:I.temporaryProof,ea:I.phoneNumber});var V=I&&I.providerId;if(!V||V==="password")return null;var ce=I&&I.oauthAccessToken,He=I&&I.oauthTokenSecret,Ve=I&&I.nonce,bt=I&&I.oauthIdToken,Ft=I&&I.pendingToken;try{switch(V){case"google.com":return xy(bt,ce);case"facebook.com":return P5(ce);case"github.com":return VA(ce);case"twitter.com":return Vl(ce,He);default:return ce||He||bt||Ft?Ft?V.indexOf("saml.")==0?new A1(V,Ft):new Ld(V,{pendingToken:Ft,idToken:I.oauthIdToken,accessToken:I.oauthAccessToken},V):new X0(V).credential({idToken:bt,accessToken:ce,rawNonce:Ve}):null}}catch{return null}}function Kg(I){if(!I.isOAuthProvider)throw new H("invalid-oauth-provider")}function Gl(I,V,ce,He,Ve,bt,Ft){if(this.c=I,this.b=V||null,this.g=ce||null,this.f=He||null,this.i=bt||null,this.h=Ft||null,this.a=Ve||null,this.g||this.a){if(this.g&&this.a)throw new H("invalid-auth-event");if(this.g&&!this.f)throw new H("invalid-auth-event")}else throw new H("invalid-auth-event")}Gl.prototype.getUid=function(){var I=[];return I.push(this.c),this.b&&I.push(this.b),this.f&&I.push(this.f),this.h&&I.push(this.h),I.join("-")},Gl.prototype.T=function(){return this.h},Gl.prototype.w=function(){return{type:this.c,eventId:this.b,urlResponse:this.g,sessionId:this.f,postBody:this.i,tenantId:this.h,error:this.a&&this.a.w()}};function GA(I){return I=I||{},I.type?new Gl(I.type,I.eventId,I.urlResponse,I.sessionId,I.error&&D(I.error),I.postBody,I.tenantId):null}function M3(){this.b=null,this.a=[]}var w1=null;function I3(I){var V=w1;V.a.push(I),V.b||(V.b=function(ce){for(var He=0;He Auth section -> Sign in method tab.",I):He=="http"||He=="https"?ce=mt("This domain (%s) is not authorized to run this operation. Add it to the OAuth redirect domains list in the Firebase console -> Auth section -> Sign in method tab.",I):V="operation-not-supported-in-this-environment",H.call(this,V,ce)}P(C5,H);function Tu(I,V,ce){H.call(this,I,ce),I=V||{},I.Kb&&Pi(this,"email",I.Kb),I.ea&&Pi(this,"phoneNumber",I.ea),I.credential&&Pi(this,"credential",I.credential),I.$b&&Pi(this,"tenantId",I.$b)}P(Tu,H),Tu.prototype.w=function(){var I={code:this.code,message:this.message};this.email&&(I.email=this.email),this.phoneNumber&&(I.phoneNumber=this.phoneNumber),this.tenantId&&(I.tenantId=this.tenantId);var V=this.credential&&this.credential.w();return V&&De(I,V),I},Tu.prototype.toJSON=function(){return this.w()};function by(I){if(I.code){var V=I.code||"";V.indexOf(E)==0&&(V=V.substring(E.length));var ce={credential:H3(I),$b:I.tenantId};if(I.email)ce.Kb=I.email;else if(I.phoneNumber)ce.ea=I.phoneNumber;else if(!ce.credential)return new H(V,I.message||void 0);return new Tu(V,ce,I.message)}return null}function Ud(){}Ud.prototype.c=null;function R5(I){return I.c||(I.c=I.b())}var Sy;function Ty(){}P(Ty,Ud),Ty.prototype.a=function(){var I=z3(this);return I?new ActiveXObject(I):new XMLHttpRequest},Ty.prototype.b=function(){var I={};return z3(this)&&(I[0]=!0,I[1]=!0),I};function z3(I){if(!I.f&&typeof XMLHttpRequest>"u"&&typeof ActiveXObject<"u"){for(var V=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],ce=0;ce=x1(this).value)for(y(V)&&(V=V()),I=new rd(I,String(V),this.f),ce&&(I.a=ce),ce=this;ce;)ce=ce.a};var XA={},J0=null;function E3(I){J0||(J0=new qg(""),XA[""]=J0,J0.c=Py);var V;if(!(V=XA[I])){V=new qg(I);var ce=I.lastIndexOf("."),He=I.substr(ce+1);ce=E3(I.substr(0,ce)),ce.b||(ce.b={}),ce.b[He]=V,V.a=ce,XA[I]=V}return V}function ec(I,V){I&&I.log(gS,V,void 0)}function Cy(I){this.f=I}P(Cy,Ud),Cy.prototype.a=function(){return new H5(this.f)},Cy.prototype.b=function(I){return function(){return I}}({});function H5(I){Ol.call(this),this.u=I,this.h=void 0,this.readyState=M5,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.l=new Headers,this.b=null,this.s="GET",this.f="",this.a=!1,this.i=E3("goog.net.FetchXmlHttp"),this.m=this.c=this.g=null}P(H5,Ol);var M5=0;t=H5.prototype,t.open=function(I,V){if(this.readyState!=M5)throw this.abort(),Error("Error reopening a connection");this.s=I,this.f=V,this.readyState=1,Ry(this)},t.send=function(I){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.a=!0;var V={headers:this.l,method:this.s,credentials:this.h,cache:void 0};I&&(V.body=I),this.u.fetch(new Request(this.f,V)).then(this.uc.bind(this),this.Va.bind(this))},t.abort=function(){this.response=this.responseText="",this.l=new Headers,this.status=0,this.c&&this.c.cancel("Request was aborted."),1<=this.readyState&&this.a&&this.readyState!=4&&(this.a=!1,Ef(this)),this.readyState=M5},t.uc=function(I){this.a&&(this.g=I,this.b||(this.status=this.g.status,this.statusText=this.g.statusText,this.b=I.headers,this.readyState=2,Ry(this)),this.a&&(this.readyState=3,Ry(this),this.a&&(this.responseType==="arraybuffer"?I.arrayBuffer().then(this.sc.bind(this),this.Va.bind(this)):typeof s.ReadableStream<"u"&&"body"in I?(this.response=this.responseText="",this.c=I.body.getReader(),this.m=new TextDecoder,x0(this)):I.text().then(this.tc.bind(this),this.Va.bind(this)))))};function x0(I){I.c.read().then(I.pc.bind(I)).catch(I.Va.bind(I))}t.pc=function(I){if(this.a){var V=this.m.decode(I.value?I.value:new Uint8Array(0),{stream:!I.done});V&&(this.response=this.responseText+=V),I.done?Ef(this):Ry(this),this.readyState==3&&x0(this)}},t.tc=function(I){this.a&&(this.response=this.responseText=I,Ef(this))},t.sc=function(I){this.a&&(this.response=I,Ef(this))},t.Va=function(I){var V=this.i;V&&V.log(D3,"Failed to fetch url "+this.f,I instanceof Error?I:Error(I)),this.a&&Ef(this)};function Ef(I){I.readyState=4,I.g=null,I.c=null,I.m=null,Ry(I)}t.setRequestHeader=function(I,V){this.l.append(I,V)},t.getResponseHeader=function(I){return this.b?this.b.get(I.toLowerCase())||"":((I=this.i)&&I.log(D3,"Attempting to get response header but no headers have been received for url: "+this.f,void 0),"")},t.getAllResponseHeaders=function(){if(!this.b){var I=this.i;return I&&I.log(D3,"Attempting to get all response headers but no headers have been received for url: "+this.f,void 0),""}I=[];for(var V=this.b.entries(),ce=V.next();!ce.done;)ce=ce.value,I.push(ce[0]+": "+ce[1]),ce=V.next();return I.join(`\r +`)};function Ry(I){I.onreadystatechange&&I.onreadystatechange.call(I)}Object.defineProperty(H5.prototype,"withCredentials",{get:function(){return this.h==="include"},set:function(I){this.h=I?"include":"same-origin"}});function Hy(I){Ol.call(this),this.headers=new O0,this.D=I||null,this.c=!1,this.C=this.a=null,this.h=this.P=this.l="",this.f=this.N=this.i=this.J=!1,this.g=0,this.s=null,this.m=I5,this.u=this.S=!1}P(Hy,Ol);var I5="";Hy.prototype.b=E3("goog.net.XhrIo");var $g=/^https?$/i,u8=["POST","PUT"];function Qg(I,V,ce,He,Ve){if(I.a)throw Error("[goog.net.XhrIo] Object is active with another request="+I.l+"; newUri="+V);ce=ce?ce.toUpperCase():"GET",I.l=V,I.h="",I.P=ce,I.J=!1,I.c=!0,I.a=I.D?I.D.a():Sy.a(),I.C=I.D?R5(I.D):R5(Sy),I.a.onreadystatechange=w(I.Wb,I);try{ec(I.b,Dh(I,"Opening Xhr")),I.N=!0,I.a.open(ce,String(V),!0),I.N=!1}catch(Ft){ec(I.b,Dh(I,"Error opening Xhr: "+Ft.message)),b1(I,Ft);return}V=He||"";var bt=new O0(I.headers);Ve&&f1(Ve,function(Ft,ln){bt.set(ln,Ft)}),Ve=he(bt.Y()),He=s.FormData&&V instanceof s.FormData,!fe(u8,ce)||Ve||He||bt.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),bt.forEach(function(Ft,ln){this.a.setRequestHeader(ln,Ft)},I),I.m&&(I.a.responseType=I.m),"withCredentials"in I.a&&I.a.withCredentials!==I.S&&(I.a.withCredentials=I.S);try{KA(I),0=V.l&&V.cancel())}this.u?this.u.call(this.s,this):this.v=!0,this.a||(I=new z5,My(this),Bd(this,!1,I))}},em.prototype.m=function(I,V){this.i=!1,Bd(this,I,V)};function Bd(I,V,ce){I.a=!0,I.c=ce,I.f=!V,jd(I)}function My(I){if(I.a){if(!I.v)throw new $A;I.v=!1}}function tm(I,V){Iy(I,null,V,void 0)}function Iy(I,V,ce,He){I.g.push([V,ce,He]),I.a&&jd(I)}em.prototype.then=function(I,V,ce){var He,Ve,bt=new Uo(function(Ft,ln){He=Ft,Ve=ln});return Iy(this,He,function(Ft){Ft instanceof z5?bt.cancel():Ve(Ft)}),bt.then(I,V,ce)},em.prototype.$goog_Thenable=!0;function b0(I){return Z(I.g,function(V){return y(V[1])})}function jd(I){if(I.h&&I.a&&b0(I)){var V=I.h,ce=Sp[V];ce&&(s.clearTimeout(ce.a),delete Sp[V]),I.h=0}I.b&&(I.b.l--,delete I.b),V=I.c;for(var He=ce=!1;I.g.length&&!I.i;){var Ve=I.g.shift(),bt=Ve[0],Ft=Ve[1];if(Ve=Ve[2],bt=I.f?Ft:bt)try{var ln=bt.call(Ve||I.s,V);ln!==void 0&&(I.f=I.f&&(ln==V||ln instanceof Error),I.c=V=ln),(B(V)||typeof s.Promise=="function"&&V instanceof s.Promise)&&(He=!0,I.i=!0)}catch(Zn){V=Zn,I.f=!0,b0(I)||(ce=!0)}}I.c=V,He&&(ln=w(I.m,I,!0),He=w(I.m,I,!1),V instanceof em?(Iy(V,ln,He),V.C=!0):V.then(ln,He)),ce&&(V=new D5(V),Sp[V.a]=V,I.h=V.a)}function $A(){k.call(this)}P($A,k),$A.prototype.message="Deferred has already fired",$A.prototype.name="AlreadyCalledError";function z5(){k.call(this)}P(z5,k),z5.prototype.message="Deferred was canceled",z5.prototype.name="CanceledError";function D5(I){this.a=s.setTimeout(w(this.c,this),0),this.b=I}D5.prototype.c=function(){throw delete Sp[this.a],this.b};var Sp={};function F3(I){var V={},ce=V.document||document,He=ut(I).toString(),Ve=yn(document,"SCRIPT"),bt={Xb:Ve,Ma:void 0},Ft=new em(bt),ln=null,Zn=V.timeout!=null?V.timeout:5e3;return 0"u"||typeof s.Headers>"u"||typeof s.Request>"u"))throw new H("operation-not-supported-in-this-environment","fetch, Headers and Request native APIs or equivalent Polyfills must be available to support HTTP requests from a Worker environment.");var Ft=new Hy(this.f);if(bt){Ft.g=Math.max(0,bt);var ln=setTimeout(function(){Ft.dispatchEvent("timeout")},bt)}Y0(Ft,"complete",function(){ln&&clearTimeout(ln);var Zn=null;try{Zn=JSON.parse(kf(this))||null}catch{Zn=null}V&&V(Zn)}),Ph(Ft,"ready",function(){ln&&clearTimeout(ln),jt(this)}),Ph(Ft,"timeout",function(){ln&&clearTimeout(ln),jt(this),V&&V(null)}),Qg(Ft,I,ce,He,Ve)};var Yd=new _e(St,"https://apis.google.com/js/client.js?onload=%{onload}"),Dn="__fcb"+Math.floor(1e6*Math.random()).toString();function Rn(I,V){if(((window.gapi||{}).client||{}).request)I();else{s[Dn]=function(){((window.gapi||{}).client||{}).request?I():V(Error("CORS_UNSUPPORTED"))};var ce=wt(Yd,{onload:Dn});tm(F3(ce),function(){V(Error("CORS_UNSUPPORTED"))})}}Ke.prototype.s=function(I,V,ce,He,Ve){var bt=this;pt.then(function(){window.gapi.client.setApiKey(bt.c);var Ft=window.gapi.auth.getToken();window.gapi.auth.setToken(null),window.gapi.client.request({path:I,method:ce,body:He,headers:Ve,authType:"none",callback:function(ln){window.gapi.auth.setToken(Ft),V&&V(ln)}})}).o(function(Ft){V&&V({error:{message:Ft&&Ft.message||"CORS_UNSUPPORTED"}})})};function _n(I,V){return new Uo(function(ce,He){V.grant_type=="refresh_token"&&V.refresh_token||V.grant_type=="authorization_code"&&V.code?S0(I,I.l+"?key="+encodeURIComponent(I.c),function(Ve){Ve?Ve.error?He(YM(Ve)):Ve.access_token&&Ve.refresh_token?ce(Ve):He(new H("internal-error")):He(new H("network-request-failed"))},"POST",$7(V).toString(),I.g,I.m.get()):He(new H("internal-error"))})}function xi(I,V,ce,He,Ve,bt,Ft){var ln=wu(V+ce);el(ln,"key",I.c),Ft&&el(ln,"cb",Date.now().toString());var Zn=He=="GET";if(Zn)for(var Io in Ve)Ve.hasOwnProperty(Io)&&el(ln,Io,Ve[Io]);return new Uo(function(Hr,Al){S0(I,ln.toString(),function(fl){fl?fl.error?Al(YM(fl,bt||{})):Hr(fl):Al(new H("network-request-failed"))},He,Zn?void 0:gy(g5(Ve)),I.a,I.v.get())})}function zi(I){if(I=I.email,typeof I!="string"||!s5.test(I))throw new H("invalid-email")}function qr(I){"email"in I&&zi(I)}function Yr(I,V){return Da(I,Qee,{identifier:V,continueUri:p5()?dr():"http://localhost"}).then(function(ce){return ce.signinMethods||[]})}function ea(I){return Da(I,uU,{}).then(function(V){return V.authorizedDomains||[]})}function Wa(I){if(!I[Zt])throw I.mfaPendingCredential?new H("multi-factor-auth-required",null,qe(I)):new H("internal-error")}function Sa(I){if(I.phoneNumber||I.temporaryProof){if(!I.phoneNumber||!I.temporaryProof)throw new H("internal-error")}else{if(!I.sessionInfo)throw new H("missing-verification-id");if(!I.code)throw new H("missing-verification-code")}}Ke.prototype.Ab=function(){return Da(this,fU,{})},Ke.prototype.Cb=function(I,V){return Da(this,dU,{idToken:I,email:V})},Ke.prototype.Db=function(I,V){return Da(this,WM,{idToken:I,password:V})};var Tp={displayName:"DISPLAY_NAME",photoUrl:"PHOTO_URL"};t=Ke.prototype,t.Eb=function(I,V){var ce={idToken:I},He=[];return Ne(Tp,function(Ve,bt){var Ft=V[bt];Ft===null?He.push(Ve):bt in V&&(ce[bt]=Ft)}),He.length&&(ce.deleteAttribute=He),Da(this,dU,ce)},t.wb=function(I,V){return I={requestType:"PASSWORD_RESET",email:I},De(I,V),Da(this,cU,I)},t.xb=function(I,V){return I={requestType:"EMAIL_SIGNIN",email:I},De(I,V),Da(this,nte,I)},t.vb=function(I,V){return I={requestType:"VERIFY_EMAIL",idToken:I},De(I,V),Da(this,ote,I)},t.Fb=function(I,V,ce){return I={requestType:"VERIFY_AND_CHANGE_EMAIL",idToken:I,newEmail:V},De(I,ce),Da(this,f8,I)};function ZA(I,V){return Da(I,ate,V)}t.gb=function(I){return Da(this,wS,I)};function e4(I,V){return Da(I,lte,V).then(function(ce){return ce.phoneSessionInfo.sessionInfo})}function yr(I){if(!I.phoneVerificationInfo)throw new H("internal-error");if(!I.phoneVerificationInfo.sessionInfo)throw new H("missing-verification-id");if(!I.phoneVerificationInfo.code)throw new H("missing-verification-code")}function mS(I,V){return Da(I,NM,V).then(function(ce){return ce.phoneResponseInfo.sessionInfo})}function zM(I,V,ce){return Da(I,ete,{idToken:V,deleteProvider:ce})}function zy(I){if(!I.requestUri||!I.sessionId&&!I.postBody&&!I.pendingToken)throw new H("internal-error")}function DM(I,V){return V.oauthIdToken&&V.providerId&&V.providerId.indexOf("oidc.")==0&&!V.pendingToken&&(I.sessionId?V.nonce=I.sessionId:I.postBody&&(I=new Ug(I.postBody),hs(I,"nonce")&&(V.nonce=I.get("nonce")))),V}function yS(I){var V=null;if(I.needConfirmation?(I.code="account-exists-with-different-credential",V=by(I)):I.errorMessage=="FEDERATED_USER_ID_ALREADY_LINKED"?(I.code="credential-already-in-use",V=by(I)):I.errorMessage=="EMAIL_EXISTS"?(I.code="email-already-in-use",V=by(I)):I.errorMessage&&(V=jM(I.errorMessage)),V)throw V;Wa(I)}function AS(I,V){return V.returnIdpCredential=!0,Da(I,hU,V)}function q0(I,V){return V.returnIdpCredential=!0,Da(I,UM,V)}function EM(I,V){return V.returnIdpCredential=!0,V.autoCreate=!1,Da(I,h8,V)}function kM(I){if(!I.oobCode)throw new H("invalid-action-code")}t.ob=function(I,V){return Da(this,rte,{oobCode:I,newPassword:V})},t.Sa=function(I){return Da(this,$ee,{oobCode:I})},t.kb=function(I){return Da(this,lU,{oobCode:I})};var lU={endpoint:"setAccountInfo",A:kM,Z:"email",B:!0},$ee={endpoint:"resetPassword",A:kM,G:function(I){var V=I.requestType;if(!V||!I.email&&V!="EMAIL_SIGNIN"&&V!="VERIFY_AND_CHANGE_EMAIL")throw new H("internal-error")},B:!0},sU={endpoint:"signupNewUser",A:function(I){if(zi(I),!I.password)throw new H("weak-password")},G:Wa,V:!0,B:!0},Qee={endpoint:"createAuthUri",B:!0},Zee={endpoint:"deleteAccount",O:["idToken"]},ete={endpoint:"setAccountInfo",O:["idToken","deleteProvider"],A:function(I){if(!Array.isArray(I.deleteProvider))throw new H("internal-error")}},Dy={endpoint:"emailLinkSignin",O:["email","oobCode"],A:zi,G:Wa,V:!0,B:!0},Od={endpoint:"emailLinkSignin",O:["idToken","email","oobCode"],A:zi,G:Wa,V:!0},FM={endpoint:"accounts/mfaEnrollment:finalize",O:["idToken","phoneVerificationInfo"],A:yr,G:Wa,B:!0,Na:!0},tte={endpoint:"accounts/mfaSignIn:finalize",O:["mfaPendingCredential","phoneVerificationInfo"],A:yr,G:Wa,B:!0,Na:!0},LM={endpoint:"getAccountInfo"},nte={endpoint:"getOobConfirmationCode",O:["requestType"],A:function(I){if(I.requestType!="EMAIL_SIGNIN")throw new H("internal-error");zi(I)},Z:"email",B:!0},ote={endpoint:"getOobConfirmationCode",O:["idToken","requestType"],A:function(I){if(I.requestType!="VERIFY_EMAIL")throw new H("internal-error")},Z:"email",B:!0},f8={endpoint:"getOobConfirmationCode",O:["idToken","newEmail","requestType"],A:function(I){if(I.requestType!="VERIFY_AND_CHANGE_EMAIL")throw new H("internal-error")},Z:"email",B:!0},cU={endpoint:"getOobConfirmationCode",O:["requestType"],A:function(I){if(I.requestType!="PASSWORD_RESET")throw new H("internal-error");zi(I)},Z:"email",B:!0},uU={mb:!0,endpoint:"getProjectConfig",Vb:"GET"},ite={mb:!0,endpoint:"getRecaptchaParam",Vb:"GET",G:function(I){if(!I.recaptchaSiteKey)throw new H("internal-error")}},rte={endpoint:"resetPassword",A:kM,Z:"email",B:!0},ate={endpoint:"sendVerificationCode",O:["phoneNumber","recaptchaToken"],Z:"sessionInfo",B:!0},dU={endpoint:"setAccountInfo",O:["idToken"],A:qr,V:!0},WM={endpoint:"setAccountInfo",O:["idToken"],A:function(I){if(qr(I),!I.password)throw new H("weak-password")},G:Wa,V:!0},fU={endpoint:"signupNewUser",G:Wa,V:!0,B:!0},lte={endpoint:"accounts/mfaEnrollment:start",O:["idToken","phoneEnrollmentInfo"],A:function(I){if(!I.phoneEnrollmentInfo)throw new H("internal-error");if(!I.phoneEnrollmentInfo.phoneNumber)throw new H("missing-phone-number");if(!I.phoneEnrollmentInfo.recaptchaToken)throw new H("missing-app-credential")},G:function(I){if(!I.phoneSessionInfo||!I.phoneSessionInfo.sessionInfo)throw new H("internal-error")},B:!0,Na:!0},NM={endpoint:"accounts/mfaSignIn:start",O:["mfaPendingCredential","mfaEnrollmentId","phoneSignInInfo"],A:function(I){if(!I.phoneSignInInfo||!I.phoneSignInInfo.recaptchaToken)throw new H("missing-app-credential")},G:function(I){if(!I.phoneResponseInfo||!I.phoneResponseInfo.sessionInfo)throw new H("internal-error")},B:!0,Na:!0},hU={endpoint:"verifyAssertion",A:zy,Za:DM,G:yS,V:!0,B:!0},h8={endpoint:"verifyAssertion",A:zy,Za:DM,G:function(I){if(I.errorMessage&&I.errorMessage=="USER_NOT_FOUND")throw new H("user-not-found");if(I.errorMessage)throw jM(I.errorMessage);Wa(I)},V:!0,B:!0},UM={endpoint:"verifyAssertion",A:function(I){if(zy(I),!I.idToken)throw new H("internal-error")},Za:DM,G:yS,V:!0},pU={endpoint:"verifyCustomToken",A:function(I){if(!I.token)throw new H("invalid-custom-token")},G:Wa,V:!0,B:!0},BM={endpoint:"verifyPassword",A:function(I){if(zi(I),!I.password)throw new H("wrong-password")},G:Wa,V:!0,B:!0},wS={endpoint:"verifyPhoneNumber",A:Sa,G:Wa,B:!0},gU={endpoint:"verifyPhoneNumber",A:function(I){if(!I.idToken)throw new H("internal-error");Sa(I)},G:function(I){if(I.temporaryProof)throw I.code="credential-already-in-use",by(I);Wa(I)}},nm={Ib:{USER_NOT_FOUND:"user-not-found"},endpoint:"verifyPhoneNumber",A:Sa,G:Wa,B:!0},W3={endpoint:"accounts/mfaEnrollment:withdraw",O:["idToken","mfaEnrollmentId"],G:function(I){if(!!I[Zt]^!!I.refreshToken)throw new H("internal-error")},B:!0,Na:!0};function Da(I,V,ce){if(!yy(ce,V.O))return $i(new H("internal-error"));var He=!!V.Na,Ve=V.Vb||"POST",bt;return Mo(ce).then(V.A).then(function(){return V.V&&(ce.returnSecureToken=!0),V.B&&I.b&&typeof ce.tenantId>"u"&&(ce.tenantId=I.b),He?xi(I,I.i,V.endpoint,Ve,ce,V.Ib,V.mb||!1):xi(I,I.h,V.endpoint,Ve,ce,V.Ib,V.mb||!1)}).then(function(Ft){return bt=Ft,V.Za?V.Za(ce,bt):bt}).then(V.G).then(function(){if(!V.Z)return bt;if(!(V.Z in bt))throw new H("internal-error");return bt[V.Z]})}function jM(I){return YM({error:{errors:[{message:I}],code:400,message:I}})}function YM(I,V){var ce=(I.error&&I.error.errors&&I.error.errors[0]||{}).reason||"",He={keyInvalid:"invalid-api-key",ipRefererBlocked:"app-not-authorized"};if(ce=He[ce]?new H(He[ce]):null)return ce;ce=I.error&&I.error.message||"",He={INVALID_CUSTOM_TOKEN:"invalid-custom-token",CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_EMAIL:"invalid-email",INVALID_PASSWORD:"wrong-password",USER_DISABLED:"user-disabled",MISSING_PASSWORD:"internal-error",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_OR_INVALID_NONCE:"missing-or-invalid-nonce",INVALID_MESSAGE_PAYLOAD:"invalid-message-payload",INVALID_RECIPIENT_EMAIL:"invalid-recipient-email",INVALID_SENDER:"invalid-sender",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",INVALID_PROVIDER_ID:"invalid-provider-id",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",CORS_UNSUPPORTED:"cors-unsupported",DYNAMIC_LINK_NOT_ACTIVATED:"dynamic-link-not-activated",INVALID_APP_ID:"invalid-app-id",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",WEAK_PASSWORD:"weak-password",OPERATION_NOT_ALLOWED:"operation-not-allowed",USER_CANCELLED:"user-cancelled",CAPTCHA_CHECK_FAILED:"captcha-check-failed",INVALID_APP_CREDENTIAL:"invalid-app-credential",INVALID_CODE:"invalid-verification-code",INVALID_PHONE_NUMBER:"invalid-phone-number",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_APP_CREDENTIAL:"missing-app-credential",MISSING_CODE:"missing-verification-code",MISSING_PHONE_NUMBER:"missing-phone-number",MISSING_SESSION_INFO:"missing-verification-id",QUOTA_EXCEEDED:"quota-exceeded",SESSION_EXPIRED:"code-expired",REJECTED_CREDENTIAL:"rejected-credential",INVALID_CONTINUE_URI:"invalid-continue-uri",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",MISSING_IOS_BUNDLE_ID:"missing-ios-bundle-id",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_DYNAMIC_LINK_DOMAIN:"invalid-dynamic-link-domain",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",INVALID_CERT_HASH:"invalid-cert-hash",UNSUPPORTED_TENANT_OPERATION:"unsupported-tenant-operation",INVALID_TENANT_ID:"invalid-tenant-id",TENANT_ID_MISMATCH:"tenant-id-mismatch",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",EMAIL_CHANGE_NEEDS_VERIFICATION:"email-change-needs-verification",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",UNSUPPORTED_FIRST_FACTOR:"unsupported-first-factor",UNVERIFIED_EMAIL:"unverified-email"},De(He,V||{}),V=(V=ce.match(/^[^\s]+\s*:\s*([\s\S]*)$/))&&1"u"&&delete ln[Zn]}),I.ports[0].postMessage({status:"done",eventId:ce,eventType:V,response:Ft})})}};function Eh(I,V,ce){Le(I.a)&&I.b.addEventListener("message",I.f),typeof I.a[V]>"u"&&(I.a[V]=[]),I.a[V].push(ce)}function SU(I){this.a=I}SU.prototype.postMessage=function(I,V){this.a.postMessage(I,V)};function TU(I){this.c=I,this.b=!1,this.a=[]}function PU(I,V,ce,He){var Ve,bt=ce||{},Ft,ln,Zn,Io=null;if(I.b)return $i(Error("connection_unavailable"));var Hr=He?800:50,Al=typeof MessageChannel<"u"?new MessageChannel:null;return new Uo(function(fl,$0){Al?(Ve=Math.floor(Math.random()*Math.pow(10,20)).toString(),Al.port1.start(),ln=setTimeout(function(){$0(Error("unsupported_event"))},Hr),Ft=function(Fy){Fy.data.eventId===Ve&&(Fy.data.status==="ack"?(clearTimeout(ln),Zn=setTimeout(function(){$0(Error("timeout"))},3e3)):Fy.data.status==="done"?(clearTimeout(Zn),typeof Fy.data.response<"u"?fl(Fy.data.response):$0(Error("unknown_error"))):(clearTimeout(ln),clearTimeout(Zn),$0(Error("invalid_response"))))},Io={messageChannel:Al,onMessage:Ft},I.a.push(Io),Al.port1.addEventListener("message",Ft),I.c.postMessage({eventType:V,eventId:Ve,data:bt},[Al.port2])):$0(Error("connection_unavailable"))}).then(function(fl){return SS(I,Io),fl}).o(function(fl){throw SS(I,Io),fl})}function SS(I,V){if(V){var ce=V.messageChannel,He=V.onMessage;ce&&(ce.port1.removeEventListener("message",He),ce.port1.close()),oe(I.a,function(Ve){return Ve==V})}}TU.prototype.close=function(){for(;0"u"&&(He=null);var Ve=s.localStorage.getItem(ce);Ve!==He&&(this.b[ce]=Ve,this.nb(ce))}else if(V.indexOf("firebase:")==0&&this.a[V]){if(typeof I.a.a<"u"?N3(this,"local").ia(this.f):$M(this),this.m){if(ce=s.localStorage.getItem(V),He=I.a.newValue,He!==ce)He!==null?s.localStorage.setItem(V,He):s.localStorage.removeItem(V);else if(this.b[V]===He&&typeof I.a.a>"u")return}var bt=this;ce=function(){(typeof I.a.a<"u"||bt.b[V]!==s.localStorage.getItem(V))&&(bt.b[V]=s.localStorage.getItem(V),bt.nb(V))},Dt&&po&&po==10&&s.localStorage.getItem(V)!==I.a.newValue&&I.a.newValue!==I.a.oldValue?setTimeout(ce,10):ce()}}else le(I,w(this.nb,this))},t.nb=function(I){this.a[I]&&le(this.a[I],function(V){V()})};function Mte(I){this.a=I,this.b=A8()}var QM={name:"authEvent",F:"local"};function Ite(I){return I.b.get(QM,I.a).then(function(V){return GA(V)})}function zte(){this.a=A8()}function Dte(){this.b=-1}function CS(I,V){this.b=LU,this.f=s.Uint8Array?new Uint8Array(this.b):Array(this.b),this.g=this.c=0,this.a=[],this.i=I,this.h=V,this.l=s.Int32Array?new Int32Array(64):Array(64),RS===void 0&&(s.Int32Array?RS=new Int32Array(nI):RS=nI),this.reset()}var RS;P(CS,Dte);for(var LU=64,Ete=LU-1,WU=[],ZM=0;ZMV;V++){Ve=ce[V-15]|0,He=ce[V-2]|0;var bt=(ce[V-16]|0)+((Ve>>>7|Ve<<25)^(Ve>>>18|Ve<<14)^Ve>>>3)|0,Ft=(ce[V-7]|0)+((He>>>17|He<<15)^(He>>>19|He<<13)^He>>>10)|0;ce[V]=bt+Ft|0}He=I.a[0]|0,Ve=I.a[1]|0;var ln=I.a[2]|0,Zn=I.a[3]|0,Io=I.a[4]|0,Hr=I.a[5]|0,Al=I.a[6]|0;for(bt=I.a[7]|0,V=0;64>V;V++){var fl=((He>>>2|He<<30)^(He>>>13|He<<19)^(He>>>22|He<<10))+(He&Ve^He&ln^Ve&ln)|0;Ft=Io&Hr^~Io&Al,bt=bt+((Io>>>6|Io<<26)^(Io>>>11|Io<<21)^(Io>>>25|Io<<7))|0,Ft=Ft+(RS[V]|0)|0,Ft=bt+(Ft+(ce[V]|0)|0)|0,bt=Al,Al=Hr,Hr=Io,Io=Zn+Ft|0,Zn=ln,ln=Ve,Ve=He,He=Ft+fl|0}I.a[0]=I.a[0]+He|0,I.a[1]=I.a[1]+Ve|0,I.a[2]=I.a[2]+ln|0,I.a[3]=I.a[3]+Zn|0,I.a[4]=I.a[4]+Io|0,I.a[5]=I.a[5]+Hr|0,I.a[6]=I.a[6]+Al|0,I.a[7]=I.a[7]+bt|0}function tI(I,V,ce){ce===void 0&&(ce=V.length);var He=0,Ve=I.c;if(typeof V=="string")for(;He=bt&&bt==(bt|0)))throw Error("message must be a byte array");I.f[Ve++]=bt,Ve==I.b&&(eI(I),Ve=0)}else throw Error("message must be string or array");I.c=Ve,I.g+=ce}var nI=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function oI(){CS.call(this,8,kte)}P(oI,CS);var kte=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function UU(I,V,ce,He,Ve,bt){this.v=I,this.i=V,this.l=ce,this.m=He||null,this.u=Ve||null,this.s=bt,this.h=V+":"+ce,this.C=new zte,this.g=new Mte(this.h),this.f=null,this.b=[],this.a=this.c=null}function HS(I){return new H("invalid-cordova-configuration",I)}t=UU.prototype,t.ma=function(){return this.Ia?this.Ia:this.Ia=c5().then(function(){if(typeof _l("universalLinks.subscribe",s)!="function")throw HS("cordova-universal-links-plugin-fix is not installed");if(typeof _l("BuildInfo.packageName",s)>"u")throw HS("cordova-plugin-buildinfo is not installed");if(typeof _l("cordova.plugins.browsertab.openUrl",s)!="function")throw HS("cordova-plugin-browsertab is not installed");if(typeof _l("cordova.InAppBrowser.open",s)!="function")throw HS("cordova-plugin-inappbrowser is not installed")},function(){throw new H("cordova-not-ready")})};function Fte(){for(var I=20,V=[];0V.c?tI(V,NU,56-V.c):tI(V,NU,V.b-(V.c-56));for(var He=63;56<=He;He--)V.f[He]=ce&255,ce/=256;for(eI(V),He=ce=0;He>Ve&255;return HM(I)}t.Pb=function(I,V){return V(new H("operation-not-supported-in-this-environment")),Mo()},t.Nb=function(){return $i(new H("operation-not-supported-in-this-environment"))},t.ac=function(){return!1},t.Yb=function(){return!0},t.Ub=function(){return!0},t.Ob=function(I,V,ce,He){if(this.c)return $i(new H("redirect-operation-pending"));var Ve=this,bt=s.document,Ft=null,ln=null,Zn=null,Io=null;return this.c=Mo().then(function(){return Kg(V),jU(Ve)}).then(function(){return Lte(Ve,I,V,ce,He)}).then(function(){return new Uo(function(Hr,Al){ln=function(){var fl=_l("cordova.plugins.browsertab.close",s);return Hr(),typeof fl=="function"&&fl(),Ve.a&&typeof Ve.a.close=="function"&&(Ve.a.close(),Ve.a=null),!1},Ve.Ea(ln),Zn=function(){Ft||(Ft=Gc(2e3).then(function(){Al(new H("redirect-cancelled-by-user"))}))},Io=function(){CA()&&Zn()},bt.addEventListener("resume",Zn,!1),Qs().toLowerCase().match(/android/)||bt.addEventListener("visibilitychange",Io,!1)}).o(function(Hr){return iI(Ve).then(function(){throw Hr})})}).oa(function(){Zn&&bt.removeEventListener("resume",Zn,!1),Io&&bt.removeEventListener("visibilitychange",Io,!1),Ft&&Ft.cancel(),ln&&Ve.Ta(ln),Ve.c=null})};function Lte(I,V,ce,He,Ve){var bt=Fte(),Ft=new Gl(V,He,null,bt,new H("no-auth-event"),null,Ve),ln=_l("BuildInfo.packageName",s);if(typeof ln!="string")throw new H("invalid-cordova-configuration");var Zn=_l("BuildInfo.displayName",s),Io={};if(Qs().toLowerCase().match(/iphone|ipad|ipod/))Io.ibi=ln;else if(Qs().toLowerCase().match(/android/))Io.apn=ln;else return $i(new H("operation-not-supported-in-this-environment"));Zn&&(Io.appDisplayName=Zn),bt=MS(bt),Io.sessionId=bt;var Hr=t4(I.v,I.i,I.l,V,ce,null,He,I.m,Io,I.u,Ve,I.s);return I.ma().then(function(){var Al=I.h;return I.C.a.set(QM,Ft.w(),Al)}).then(function(){var Al=_l("cordova.plugins.browsertab.isAvailable",s);if(typeof Al!="function")throw new H("invalid-cordova-configuration");var fl=null;Al(function($0){if($0){if(fl=_l("cordova.plugins.browsertab.openUrl",s),typeof fl!="function")throw new H("invalid-cordova-configuration");fl(Hr)}else{if(fl=_l("cordova.InAppBrowser.open",s),typeof fl!="function")throw new H("invalid-cordova-configuration");$0=Qs(),I.a=fl(Hr,$0.match(/(iPad|iPhone|iPod).*OS 7_\d/i)||$0.match(/(iPad|iPhone|iPod).*OS 8_\d/i)?"_blank":"_system","location=yes")}})})}function BU(I,V){for(var ce=0;ceI.f&&(I.a=I.f),V)}function gI(I,V){I.stop(),I.b=Gc(Xte(I,V)).then(function(){return Z7()}).then(function(){return I.h()}).then(function(){gI(I,!0)}).o(function(ce){I.i(ce)&&gI(I,!1)})}pI.prototype.stop=function(){this.b&&(this.b.cancel(),this.b=null)};function S8(I){this.f=I,this.b=this.a=null,this.c=Date.now()}S8.prototype.w=function(){return{apiKey:this.f.c,refreshToken:this.a,accessToken:this.b&&this.b.toString(),expirationTime:this.c}};function eB(I,V){typeof V>"u"&&(I.b?(V=I.b,V=V.a-V.g):V=0),I.c=Date.now()+1e3*V}function im(I,V){I.b=v5(V[Zt]||""),I.a=V.refreshToken,V=V.expiresIn,eB(I,typeof V<"u"?Number(V):void 0)}function tB(I,V){I.b=V.b,I.a=V.a,I.c=V.c}function kS(I,V){return _n(I.f,V).then(function(ce){return I.b=v5(ce.access_token),I.a=ce.refresh_token,eB(I,ce.expires_in),{accessToken:I.b.toString(),refreshToken:I.a}}).o(function(ce){throw ce.code=="auth/user-token-expired"&&(I.a=null),ce})}S8.prototype.getToken=function(I){return I=!!I,this.b&&!this.a?$i(new H("user-token-expired")):I||!this.b||Date.now()>this.c-3e4?this.a?kS(this,{grant_type:"refresh_token",refresh_token:this.a}):Mo(null):Mo({accessToken:this.b.toString(),refreshToken:this.a})};function gs(I,V){this.a=I||null,this.b=V||null,qc(this,{lastSignInTime:v3(V||null),creationTime:v3(I||null)})}function Dc(I){return new gs(I.a,I.b)}gs.prototype.w=function(){return{lastLoginAt:this.b,createdAt:this.a}};function nB(I,V,ce,He,Ve,bt){qc(this,{uid:I,displayName:He||null,photoURL:Ve||null,email:ce||null,phoneNumber:bt||null,providerId:V})}function kh(I,V,ce){this.N=[],this.l=I.apiKey,this.m=I.appName,this.s=I.authDomain||null;var He=ao.SDK_VERSION?Yg(ao.SDK_VERSION):null;this.a=new Ke(this.l,F(W),He),(this.u=I.emulatorConfig||null)&&Ji(this.a,this.u),this.h=new S8(this.a),WS(this,V[Zt]),im(this.h,V),Pi(this,"refreshToken",this.h.a),oB(this,ce||{}),Ol.call(this),this.P=!1,this.s&&Qu()&&(this.b=i4(this.s,this.l,this.m,this.u)),this.W=[],this.i=null,this.D=P8(this),this.ba=w(this.ib,this);var Ve=this;this.za=null,this.Pa=function(bt){Ve.xa(bt.h)},this.qa=null,this.Ba=function(bt){mI(Ve,bt.c)},this.$=null,this.aa=[],this.Oa=function(bt){T8(Ve,bt.f)},this.ja=null,this.S=new om(this,ce),Pi(this,"multiFactor",this.S)}P(kh,Ol),kh.prototype.xa=function(I){this.za=I,Dr(this.a,I)};function mI(I,V){I.u=V,Ji(I.a,V),I.b&&(V=I.b,I.b=i4(I.s,I.l,I.m,I.u),I.P&&(x8(V,I),v8(I.b,I)))}kh.prototype.la=function(){return this.za};function yI(I,V){I.qa&&Vi(I.qa,"languageCodeChanged",I.Pa),(I.qa=V)&&Xn(V,"languageCodeChanged",I.Pa)}function AI(I,V){I.$&&Vi(I.$,"emulatorConfigChanged",I.Ba),(I.$=V)&&Xn(V,"emulatorConfigChanged",I.Ba)}function T8(I,V){I.aa=V,Gi(I.a,ao.SDK_VERSION?Yg(ao.SDK_VERSION,I.aa):null)}kh.prototype.Ga=function(){return ve(this.aa)};function wI(I,V){I.ja&&Vi(I.ja,"frameworkChanged",I.Oa),(I.ja=V)&&Xn(V,"frameworkChanged",I.Oa)}kh.prototype.ib=function(){this.D.b&&(this.D.stop(),this.D.start())};function FS(I){try{return ao.app(I.m).auth()}catch{throw new H("internal-error","No firebase.auth.Auth instance is available for the Firebase App '"+I.m+"'!")}}function P8(I){return new pI(function(){return I.I(!0)},function(V){return!!(V&&V.code=="auth/network-request-failed")},function(){var V=I.h.c-Date.now()-3e5;return 0"u"||Le(I)?{}:NA(new xu(I))}).then(function(He){return V.a.vb(ce,He)}).then(function(He){if(V.email!=He)return V.reload()}).then(function(){}))},t.Fb=function(I,V){var ce=this,He=null;return P0(this,this.I().then(function(Ve){return He=Ve,typeof V>"u"||Le(V)?{}:NA(new xu(V))}).then(function(Ve){return ce.a.Fb(He,I,Ve)}).then(function(Ve){if(ce.email!=Ve)return ce.reload()}).then(function(){}))};function P0(I,V,ce){var He=Kte(I,V,ce);return I.N.push(He),He.oa(function(){se(I.N,He)}),He.o(function(Ve){var bt=null;throw Ve&&Ve.code==="auth/multi-factor-auth-required"&&(bt=ZU(Ve.w(),FS(I),w(I.jc,I))),bt||Ve})}t.jc=function(I){var V=null,ce=this;return I=wy(Mo(I),ce.uid).then(function(He){return V=C8(ce,He,"reauthenticate"),$c(ce,He),ce.i=null,ce.reload()}).then(function(){return V}),P0(this,I,!0)};function Kte(I,V,ce){return I.i&&!ce?(V.cancel(),$i(I.i)):V.o(function(He){throw!He||He.code!="auth/user-disabled"&&He.code!="auth/user-token-expired"||(I.i||I.dispatchEvent(new a4("userInvalidated")),I.i=He),He})}t.toJSON=function(){return this.w()},t.w=function(){var I={uid:this.uid,displayName:this.displayName,photoURL:this.photoURL,email:this.email,emailVerified:this.emailVerified,phoneNumber:this.phoneNumber,isAnonymous:this.isAnonymous,tenantId:this.tenantId,providerData:[],apiKey:this.l,appName:this.m,authDomain:this.s,stsTokenManager:this.h.w(),redirectEventId:this.ga||null};return this.metadata&&De(I,this.metadata.w()),le(this.providerData,function(V){I.providerData.push(A5(V))}),De(I,this.S.w()),I};function sB(I){if(!I.apiKey)return null;var V={apiKey:I.apiKey,authDomain:I.authDomain,appName:I.appName,emulatorConfig:I.emulatorConfig},ce={};if(I.stsTokenManager&&I.stsTokenManager.accessToken){ce[Zt]=I.stsTokenManager.accessToken,ce.refreshToken=I.stsTokenManager.refreshToken||null;var He=I.stsTokenManager.expirationTime;He&&(ce.expiresIn=(He-Date.now())/1e3)}else return null;var Ve=new kh(V,ce,I);return I.providerData&&le(I.providerData,function(bt){bt&&SI(Ve,If(bt))}),I.redirectEventId&&(Ve.ga=I.redirectEventId),Ve}function qte(I,V,ce,He){var Ve=new kh(I,V);return ce&&(Ve.ha=ce),He&&T8(Ve,He),Ve.reload().then(function(){return Ve})}function $te(I,V,ce,He){var Ve=I.h,bt={};return bt[Zt]=Ve.b&&Ve.b.toString(),bt.refreshToken=Ve.a,V=new kh(V||{apiKey:I.l,authDomain:I.s,appName:I.m},bt),ce&&(V.ha=ce),He&&T8(V,He),Gr(V,I),V}function Qte(I){this.a=I,this.b=A8()}var CI={name:"redirectUser",F:"session"};function cB(I){return Ey(I.b,CI,I.a)}function Zte(I,V){return I.b.get(CI,I.a).then(function(ce){return ce&&V&&(ce.authDomain=V),sB(ce||{})})}function RI(I){this.a=I,this.b=A8(),this.c=null,this.f=MI(this),this.b.addListener(Cp("local"),this.a,w(this.g,this))}RI.prototype.g=function(){var I=this,V=Cp("local");R0(this,function(){return Mo().then(function(){return I.c&&I.c.F!="local"?I.b.get(V,I.a):null}).then(function(ce){if(ce)return HI(I,"local").then(function(){I.c=V})})})};function HI(I,V){var ce=[],He;for(He in o4)o4[He]!==V&&ce.push(Ey(I.b,Cp(o4[He]),I.a));return ce.push(Ey(I.b,II,I.a)),ti(ce)}function MI(I){var V=Cp("local"),ce=Cp("session"),He=Cp("none");return Rte(I.b,V,I.a).then(function(){return I.b.get(ce,I.a)}).then(function(Ve){return Ve?ce:I.b.get(He,I.a).then(function(bt){return bt?He:I.b.get(V,I.a).then(function(Ft){return Ft?V:I.b.get(II,I.a).then(function(ln){return ln?Cp(ln):V})})})}).then(function(Ve){return I.c=Ve,HI(I,Ve.F)}).o(function(){I.c||(I.c=V)})}var II={name:"persistence",F:"session"};function Cp(I){return{name:"authUser",F:I}}RI.prototype.yb=function(I){var V=null,ce=this;return Cte(I),R0(this,function(){return I!=ce.c.F?ce.b.get(ce.c,ce.a).then(function(He){return V=He,HI(ce,I)}).then(function(){if(ce.c=Cp(I),V)return ce.b.set(ce.c,V,ce.a)}):Mo()})};function ene(I){return R0(I,function(){return I.b.set(II,I.c.F,I.a)})}function uB(I,V){return R0(I,function(){return I.b.set(I.c,V.w(),I.a)})}function dB(I){return R0(I,function(){return Ey(I.b,I.c,I.a)})}function C0(I,V,ce){return R0(I,function(){return I.b.get(I.c,I.a).then(function(He){return He&&V&&(He.authDomain=V),He&&ce&&(He.emulatorConfig=ce),sB(He||{})})})}function R0(I,V){return I.f=I.f.then(V,V),I.f}function T1(I){if(this.l=!1,Pi(this,"settings",new $U),Pi(this,"app",I),Xl(this).options&&Xl(this).options.apiKey)I=ao.SDK_VERSION?Yg(ao.SDK_VERSION):null,this.a=new Ke(Xl(this).options&&Xl(this).options.apiKey,F(W),I);else throw new H("invalid-api-key");this.P=[],this.s=[],this.N=[],this.Pa=ao.INTERNAL.createSubscribe(w(this.zc,this)),this.W=void 0,this.ib=ao.INTERNAL.createSubscribe(w(this.Ac,this)),l4(this,null),this.i=new RI(Xl(this).options.apiKey+":"+Xl(this).name),this.D=new Qte(Xl(this).options.apiKey+":"+Xl(this).name),this.$=Ec(this,yB(this)),this.h=Ec(this,ine(this)),this.ba=!1,this.ja=w(this.Zc,this),this.Ba=w(this.da,this),this.qa=w(this.mc,this),this.za=w(this.wc,this),this.Aa=w(this.xc,this),this.b=null,pB(this),this.INTERNAL={},this.INTERNAL.delete=w(this.delete,this),this.INTERNAL.logFramework=w(this.Gc,this),this.u=0,Ol.call(this),nne(this),this.J=[],this.R=null}P(T1,Ol);function fB(I){Nt.call(this,"languageCodeChanged"),this.h=I}P(fB,Nt);function hB(I){Nt.call(this,"emulatorConfigChanged"),this.c=I}P(hB,Nt);function zI(I){Nt.call(this,"frameworkChanged"),this.f=I}P(zI,Nt),t=T1.prototype,t.yb=function(I){return I=this.i.yb(I),Ec(this,I)},t.xa=function(I){this.aa===I||this.l||(this.aa=I,Dr(this.a,this.aa),this.dispatchEvent(new fB(this.la())))},t.la=function(){return this.aa},t.fd=function(){var I=s.navigator;this.xa(I&&(I.languages&&I.languages[0]||I.language||I.userLanguage)||null)},t.gd=function(I,V){if(!this.R){if(!/^https?:\/\//.test(I))throw new H("argument-error","Emulator URL must start with a valid scheme (http:// or https://).");V=V?!!V.disableWarnings:!1,tne(V),this.R={url:I,ec:V},this.settings.jb=!0,Ji(this.a,this.R),this.dispatchEvent(new hB(this.R))}};function tne(I){typeof console<"u"&&typeof console.info=="function"&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),s.document&&!I&&Ds().then(function(){var V=s.document.createElement("div");V.innerText="Running in emulator mode. Do not use with production credentials.",V.style.position="fixed",V.style.width="100%",V.style.backgroundColor="#ffffff",V.style.border=".1em solid #000000",V.style.color="#b50000",V.style.bottom="0px",V.style.left="0px",V.style.margin="0px",V.style.zIndex=1e4,V.style.textAlign="center",V.classList.add("firebase-emulator-warning"),s.document.body.appendChild(V)})}t.Gc=function(I){this.J.push(I),Gi(this.a,ao.SDK_VERSION?Yg(ao.SDK_VERSION,this.J):null),this.dispatchEvent(new zI(this.J))},t.Ga=function(){return ve(this.J)},t.zb=function(I){this.S===I||this.l||(this.S=I,this.a.b=this.S)},t.T=function(){return this.S};function nne(I){Object.defineProperty(I,"lc",{get:function(){return this.la()},set:function(V){this.xa(V)},enumerable:!1}),I.aa=null,Object.defineProperty(I,"ti",{get:function(){return this.T()},set:function(V){this.zb(V)},enumerable:!1}),I.S=null,Object.defineProperty(I,"emulatorConfig",{get:function(){if(this.R){var V=wu(this.R.url);V=If({protocol:V.c,host:V.a,port:V.g,options:If({disableWarnings:this.R.ec})})}else V=null;return V},enumerable:!1})}t.toJSON=function(){return{apiKey:Xl(this).options.apiKey,authDomain:Xl(this).options.authDomain,appName:Xl(this).name,currentUser:aa(this)&&aa(this).w()}};function DI(I){return I.Oa||$i(new H("auth-domain-config-required"))}function pB(I){var V=Xl(I).options.authDomain,ce=Xl(I).options.apiKey;V&&Qu()&&(I.Oa=I.$.then(function(){if(!I.l){if(I.b=i4(V,ce,Xl(I).name,I.R),v8(I.b,I),aa(I)&&rm(aa(I)),I.m){rm(I.m);var He=I.m;He.xa(I.la()),yI(He,I),He=I.m,T8(He,I.J),wI(He,I),He=I.m,mI(He,I.R),AI(He,I),I.m=null}return I.b}}))}t.Gb=function(I,V){switch(I){case"unknown":case"signInViaRedirect":return!0;case"signInViaPopup":return this.g==V&&!!this.f;default:return!1}},t.na=function(I,V,ce,He){I=="signInViaPopup"&&this.g==He&&(ce&&this.C?this.C(ce):V&&!ce&&this.f&&this.f(V),this.c&&(this.c.cancel(),this.c=null),delete this.f,delete this.C)},t.Fa=function(I,V){return I=="signInViaRedirect"||I=="signInViaPopup"&&this.g==V&&this.f?w(this.ic,this):null},t.ic=function(I,V,ce,He){var Ve=this,bt={requestUri:I,postBody:He,sessionId:V,tenantId:ce};return this.c&&(this.c.cancel(),this.c=null),Ve.$.then(function(){return j3(Ve,AS(Ve.a,bt))})},t.Xc=function(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=this,ce=P3(I.providerId),He=Og(),Ve=null;(!Zu()||w3())&&Xl(this).options.authDomain&&I.isOAuthProvider&&(Ve=t4(Xl(this).options.authDomain,Xl(this).options.apiKey,Xl(this).name,"signInViaPopup",I,null,He,ao.SDK_VERSION||null,null,null,this.T(),this.R));var bt=_0(Ve,ce&&ce.va,ce&&ce.ua);return ce=DI(this).then(function(Ft){return sI(Ft,bt,"signInViaPopup",I,He,!!Ve,V.T())}).then(function(){return new Uo(function(Ft,ln){V.na("signInViaPopup",null,new H("cancelled-popup-request"),V.g),V.f=Ft,V.C=ln,V.g=He,V.c=GU(V.b,V,"signInViaPopup",bt,He)})}).then(function(Ft){return bt&&ps(bt),Ft?If(Ft):null}).o(function(Ft){throw bt&&ps(bt),Ft}),Ec(this,ce)},t.Yc=function(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=this,ce=DI(this).then(function(){return ene(V.i)}).then(function(){return VU(V.b,"signInViaRedirect",I,void 0,V.T())});return Ec(this,ce)};function gB(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=DI(I).then(function(){return I.b.ra()}).then(function(ce){return ce?If(ce):null});return Ec(I,V)}t.ra=function(){var I=this;return gB(this).then(function(V){return I.b&&r4(I.b.b),V}).o(function(V){throw I.b&&r4(I.b.b),V})},t.dd=function(I){if(!I)return $i(new H("null-user"));if(this.S!=I.tenantId)return $i(new H("tenant-id-mismatch"));var V=this,ce={};ce.apiKey=Xl(this).options.apiKey,ce.authDomain=Xl(this).options.authDomain,ce.appName=Xl(this).name;var He=$te(I,ce,V.D,V.Ga());return Ec(this,this.h.then(function(){if(Xl(V).options.apiKey!=I.l)return He.reload()}).then(function(){return aa(V)&&I.uid==aa(V).uid?(Gr(aa(V),I),V.da(I)):(l4(V,He),rm(He),V.da(He))}).then(function(){H8(V)}))};function one(I,V){var ce={};return ce.apiKey=Xl(I).options.apiKey,ce.authDomain=Xl(I).options.authDomain,ce.appName=Xl(I).name,I.R&&(ce.emulatorConfig=I.R),I.$.then(function(){return qte(ce,V,I.D,I.Ga())}).then(function(He){return aa(I)&&He.uid==aa(I).uid?(Gr(aa(I),He),I.da(He)):(l4(I,He),rm(He),I.da(He))}).then(function(){H8(I)})}function l4(I,V){aa(I)&&(NS(aa(I),I.Ba),Vi(aa(I),"tokenChanged",I.qa),Vi(aa(I),"userDeleted",I.za),Vi(aa(I),"userInvalidated",I.Aa),vI(aa(I))),V&&(V.W.push(I.Ba),Xn(V,"tokenChanged",I.qa),Xn(V,"userDeleted",I.za),Xn(V,"userInvalidated",I.Aa),0this.u&&(this.u=0),this.u==0&&aa(this)&&vI(aa(this)),this.removeAuthTokenListener(I)},t.addAuthTokenListener=function(I){var V=this;this.s.push(I),Ec(this,this.h.then(function(){V.l||fe(V.s,I)&&I(ky(V))}))},t.removeAuthTokenListener=function(I){oe(this.s,function(V){return V==I})};function rne(I,V){I.N.push(V),Ec(I,I.h.then(function(){!I.l&&fe(I.N,V)&&I.W!==I.getUid()&&(I.W=I.getUid(),V(ky(I)))}))}t.delete=function(){this.l=!0;for(var I=0;I"u"||Le(V)?{}:NA(new xu(V))}).then(function(He){return ce.a.wb(I,He)}).then(function(){}))},t.Wc=function(I,V){return Ec(this,dI(this,I,V,w(this.ab,this)))},t.Vc=function(I,V){var ce=this;return Ec(this,Mo().then(function(){var He=V||dr(),Ve=Fs(I,He);if(He=Su(He),!He)throw new H("argument-error","Invalid email link!");if(He.tenantId!==ce.T())throw new H("tenant-id-mismatch");return ce.ab(Ve)}))};function M8(){}M8.prototype.render=function(){},M8.prototype.reset=function(){},M8.prototype.getResponse=function(){},M8.prototype.execute=function(){};function s4(){this.a={},this.b=1e12}var BS=null;s4.prototype.render=function(I,V){return this.a[this.b.toString()]=new YS(I,V),this.b++},s4.prototype.reset=function(I){var V=jS(this,I);I=AB(I),V&&I&&(V.delete(),delete this.a[I])},s4.prototype.getResponse=function(I){return(I=jS(this,I))?I.getResponse():null},s4.prototype.execute=function(I){(I=jS(this,I))&&I.execute()};function jS(I,V){return(V=AB(V))&&I.a[V]||null}function AB(I){return(I=typeof I>"u"?1e12:I)?I.toString():null}function YS(I,V){this.g=!1,this.c=V,this.a=this.b=null,this.h=this.c.size!=="invisible",this.f=uo(I);var ce=this;this.i=function(){ce.execute()},this.h?this.execute():Xn(this.f,"click",this.i)}YS.prototype.getResponse=function(){return EI(this),this.b},YS.prototype.execute=function(){EI(this);var I=this;this.a||(this.a=setTimeout(function(){I.b=PA();var V=I.c.callback,ce=I.c["expired-callback"];if(V)try{V(I.b)}catch{}I.a=setTimeout(function(){if(I.a=null,I.b=null,ce)try{ce()}catch{}I.h&&I.execute()},6e4)},500))},YS.prototype.delete=function(){EI(this),this.g=!0,clearTimeout(this.a),this.a=null,Vi(this.f,"click",this.i)};function EI(I){if(I.g)throw Error("reCAPTCHA mock was already deleted!")}function kI(){}Pi(kI,"FACTOR_ID","phone");function FI(){}FI.prototype.g=function(){return BS||(BS=new s4),Mo(BS)},FI.prototype.c=function(){};var LI=null;function WI(){this.b=s.grecaptcha?1/0:0,this.f=null,this.a="__rcb"+Math.floor(1e6*Math.random()).toString()}var ane=new _e(St,"https://www.google.com/recaptcha/api.js?onload=%{onload}&render=explicit&hl=%{hl}"),lne=new Mf(3e4,6e4);WI.prototype.g=function(I){var V=this;return new Uo(function(ce,He){var Ve=setTimeout(function(){He(new H("network-request-failed"))},lne.get());if(!s.grecaptcha||I!==V.f&&!V.b){s[V.a]=function(){if(s.grecaptcha){V.f=I;var Ft=s.grecaptcha.render;s.grecaptcha.render=function(ln,Zn){return ln=Ft(ln,Zn),V.b++,ln},clearTimeout(Ve),ce(s.grecaptcha)}else clearTimeout(Ve),He(new H("internal-error"));delete s[V.a]};var bt=wt(ane,{onload:V.a,hl:I||""});Mo(F3(bt)).o(function(){clearTimeout(Ve),He(new H("internal-error","Unable to load external reCAPTCHA dependencies!"))})}else clearTimeout(Ve),ce(s.grecaptcha)})},WI.prototype.c=function(){this.b--};var NI=null;function UI(I,V,ce,He,Ve,bt,Ft){if(Pi(this,"type","recaptcha"),this.c=this.f=null,this.J=!1,this.v=V,this.g=null,Ft?(LI||(LI=new FI),Ft=LI):(NI||(NI=new WI),Ft=NI),this.m=Ft,this.a=ce||{theme:"light",type:"image"},this.h=[],this.a[xB])throw new H("argument-error","sitekey should not be provided for reCAPTCHA as one is automatically provisioned for the current project.");if(this.i=this.a[sne]==="invisible",!s.document)throw new H("operation-not-supported-in-this-environment","RecaptchaVerifier is only supported in a browser HTTP/HTTPS environment with DOM support.");if(!uo(V)||!this.i&&uo(V).hasChildNodes())throw new H("argument-error","reCAPTCHA container is either not found or already contains inner elements!");this.s=new Ke(I,bt||null,Ve||null),this.u=He||function(){return null};var ln=this;this.l=[];var Zn=this.a[wB];this.a[wB]=function(Hr){if(bB(ln,Hr),typeof Zn=="function")Zn(Hr);else if(typeof Zn=="string"){var Al=_l(Zn,s);typeof Al=="function"&&Al(Hr)}};var Io=this.a[vB];this.a[vB]=function(){if(bB(ln,null),typeof Io=="function")Io();else if(typeof Io=="string"){var Hr=_l(Io,s);typeof Hr=="function"&&Hr()}}}var wB="callback",vB="expired-callback",xB="sitekey",sne="size";function bB(I,V){for(var ce=0;ceVe||Ve>=TB.length)throw new H("internal-error","Argument validator received an unsupported number of arguments.");ce=TB[Ve],He=(He?"":ce+" argument ")+(V.name?'"'+V.name+'" ':"")+"must be "+V.K+".";break e}He=null}}if(He)throw new H("argument-error",I+" failed: "+He)}var TB="First Second Third Fourth Fifth Sixth Seventh Eighth Ninth".split(" ");function Ni(I,V){return{name:I||"",K:"a valid string",optional:!!V,M:function(ce){return typeof ce=="string"}}}function YI(I,V){return{name:I||"",K:"a boolean",optional:!!V,M:function(ce){return typeof ce=="boolean"}}}function s0(I,V){return{name:I||"",K:"a valid object",optional:!!V,M:A}}function k5(I,V){return{name:I||"",K:"a function",optional:!!V,M:function(ce){return typeof ce=="function"}}}function P1(I,V){return{name:I||"",K:"null",optional:!!V,M:function(ce){return ce===null}}}function PB(){return{name:"",K:"an HTML element",optional:!1,M:function(I){return!!(I&&I instanceof Element)}}}function une(){return{name:"auth",K:"an instance of Firebase Auth",optional:!0,M:function(I){return!!(I&&I instanceof T1)}}}function dne(){return{name:"app",K:"an instance of Firebase App",optional:!0,M:function(I){return!!(I&&I instanceof ao.app.App)}}}function F5(I){return{name:I?I+"Credential":"credential",K:I?"a valid "+I+" credential":"a valid credential",optional:!1,M:function(V){if(!V)return!1;var ce=!I||V.providerId===I;return!(!V.ka||!ce)}}}function _S(){return{name:"multiFactorAssertion",K:"a valid multiFactorAssertion",optional:!1,M:function(I){return I?!!I.tb:!1}}}function c4(){return{name:"authProvider",K:"a valid Auth provider",optional:!1,M:function(I){return!!(I&&I.providerId&&I.hasOwnProperty&&I.hasOwnProperty("isOAuthProvider"))}}}function OI(I,V){return A(I)&&typeof I.type=="string"&&I.type===V&&typeof I.Ha=="function"}function CB(I){return A(I)&&typeof I.uid=="string"}function Pu(){return{name:"applicationVerifier",K:"an implementation of firebase.auth.ApplicationVerifier",optional:!1,M:function(I){return!(!I||typeof I.type!="string"||typeof I.verify!="function")}}}function tc(I,V,ce,He){return{name:ce||"",K:I.K+" or "+V.K,optional:!!He,M:function(Ve){return I.M(Ve)||V.M(Ve)}}}function nc(I,V){for(var ce in V){var He=V[ce].name;I[He]=HB(He,I[ce],V[ce].j)}}function RB(I,V){for(var ce in V){var He=V[ce].name;He!==ce&&Object.defineProperty(I,He,{get:T(function(Ve){return this[Ve]},ce),set:T(function(Ve,bt,Ft,ln){SB(Ve,[Ft],[ln],!0),this[bt]=ln},He,ce,V[ce].lb),enumerable:!0})}}function Qc(I,V,ce,He){I[V]=HB(V,ce,He)}function HB(I,V,ce){function He(){var Ft=Array.prototype.slice.call(arguments);return SB(Ve,ce,Ft),V.apply(this,Ft)}if(!ce)return V;var Ve=_I(I),bt;for(bt in V)He[bt]=V[bt];for(bt in V.prototype)He.prototype[bt]=V.prototype[bt];return He}function _I(I){return I=I.split("."),I[I.length-1]}nc(T1.prototype,{kb:{name:"applyActionCode",j:[Ni("code")]},Sa:{name:"checkActionCode",j:[Ni("code")]},ob:{name:"confirmPasswordReset",j:[Ni("code"),Ni("newPassword")]},dc:{name:"createUserWithEmailAndPassword",j:[Ni("email"),Ni("password")]},hc:{name:"fetchSignInMethodsForEmail",j:[Ni("email")]},ra:{name:"getRedirectResult",j:[]},Bc:{name:"isSignInWithEmailLink",j:[Ni("emailLink")]},Hc:{name:"onAuthStateChanged",j:[tc(s0(),k5(),"nextOrObserver"),k5("opt_error",!0),k5("opt_completed",!0)]},Ic:{name:"onIdTokenChanged",j:[tc(s0(),k5(),"nextOrObserver"),k5("opt_error",!0),k5("opt_completed",!0)]},wb:{name:"sendPasswordResetEmail",j:[Ni("email"),tc(s0("opt_actionCodeSettings",!0),P1(null,!0),"opt_actionCodeSettings",!0)]},xb:{name:"sendSignInLinkToEmail",j:[Ni("email"),s0("actionCodeSettings")]},yb:{name:"setPersistence",j:[Ni("persistence")]},Sc:{name:"signInAndRetrieveDataWithCredential",j:[F5()]},Ab:{name:"signInAnonymously",j:[]},ab:{name:"signInWithCredential",j:[F5()]},Tc:{name:"signInWithCustomToken",j:[Ni("token")]},Uc:{name:"signInWithEmailAndPassword",j:[Ni("email"),Ni("password")]},Vc:{name:"signInWithEmailLink",j:[Ni("email"),Ni("emailLink",!0)]},Wc:{name:"signInWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Xc:{name:"signInWithPopup",j:[c4()]},Yc:{name:"signInWithRedirect",j:[c4()]},dd:{name:"updateCurrentUser",j:[tc(function(I){return{name:"user",K:"an instance of Firebase User",optional:!!I,M:function(V){return!!(V&&V instanceof kh)}}}(),P1(),"user")]},Bb:{name:"signOut",j:[]},toJSON:{name:"toJSON",j:[Ni(null,!0)]},fd:{name:"useDeviceLanguage",j:[]},gd:{name:"useEmulator",j:[Ni("url"),s0("options",!0)]},jd:{name:"verifyPasswordResetCode",j:[Ni("code")]}}),RB(T1.prototype,{lc:{name:"languageCode",lb:tc(Ni(),P1(),"languageCode")},ti:{name:"tenantId",lb:tc(Ni(),P1(),"tenantId")}}),T1.Persistence=o4,T1.Persistence.LOCAL="local",T1.Persistence.SESSION="session",T1.Persistence.NONE="none",nc(kh.prototype,{delete:{name:"delete",j:[]},oc:{name:"getIdTokenResult",j:[YI("opt_forceRefresh",!0)]},I:{name:"getIdToken",j:[YI("opt_forceRefresh",!0)]},Cc:{name:"linkAndRetrieveDataWithCredential",j:[F5()]},rb:{name:"linkWithCredential",j:[F5()]},Dc:{name:"linkWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Ec:{name:"linkWithPopup",j:[c4()]},Fc:{name:"linkWithRedirect",j:[c4()]},Lc:{name:"reauthenticateAndRetrieveDataWithCredential",j:[F5()]},ub:{name:"reauthenticateWithCredential",j:[F5()]},Mc:{name:"reauthenticateWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Nc:{name:"reauthenticateWithPopup",j:[c4()]},Oc:{name:"reauthenticateWithRedirect",j:[c4()]},reload:{name:"reload",j:[]},vb:{name:"sendEmailVerification",j:[tc(s0("opt_actionCodeSettings",!0),P1(null,!0),"opt_actionCodeSettings",!0)]},toJSON:{name:"toJSON",j:[Ni(null,!0)]},cd:{name:"unlink",j:[Ni("provider")]},Cb:{name:"updateEmail",j:[Ni("email")]},Db:{name:"updatePassword",j:[Ni("password")]},ed:{name:"updatePhoneNumber",j:[F5("phone")]},Eb:{name:"updateProfile",j:[s0("profile")]},Fb:{name:"verifyBeforeUpdateEmail",j:[Ni("email"),tc(s0("opt_actionCodeSettings",!0),P1(null,!0),"opt_actionCodeSettings",!0)]}}),nc(s4.prototype,{execute:{name:"execute"},render:{name:"render"},reset:{name:"reset"},getResponse:{name:"getResponse"}}),nc(M8.prototype,{execute:{name:"execute"},render:{name:"render"},reset:{name:"reset"},getResponse:{name:"getResponse"}}),nc(Uo.prototype,{oa:{name:"finally"},o:{name:"catch"},then:{name:"then"}}),RB($U.prototype,{appVerificationDisabled:{name:"appVerificationDisabledForTesting",lb:YI("appVerificationDisabledForTesting")}}),nc(uI.prototype,{confirm:{name:"confirm",j:[Ni("verificationCode")]}}),Qc(xp,"fromJSON",function(I){I=typeof I=="string"?JSON.parse(I):I;for(var V,ce=[T5,Ic,Zs,S5],He=0;He{const i=M(dn),r=M(bc),a=Se.useRef(null),l=m.useRef(null),s=l.current?l.current.clientWidth+40:680,c=l.current?l.current.clientHeight+100:600,[u,d]=m.useState({x:0,y:0}),[f,p]=m.useState(!1),[g,y]=m.useState(!1),[A,x]=m.useState({left:0,top:0,bottom:0,right:0}),[C,b]=m.useState(),[v,S]=m.useState(),[w,T]=m.useState(),P=m.useRef(null),R=m.useRef([...t]),[H,D]=m.useState(!1),{Search:E}=ns,L=Kt();m.useEffect(()=>{const Y=()=>{d({x:Math.max(0,s-window.innerWidth),y:Math.min(0,window.innerHeight-c)})};return window.addEventListener("resize",Y),()=>{window.removeEventListener("resize",Y)}},[]),m.useEffect(()=>{t&&(R.current=[...t],D(!H))},[t]);const U=(Y,_)=>{d({x:Math.max(_.x,s-window.innerWidth),y:Math.min(_.y,window.innerHeight-c)})},F=(Y,_)=>{},W=()=>{gt.getState().set(Y=>{Y.showCloudFilePanel=!1})},B=(Y,_)=>{_r.confirm({title:j("cloudFilePanel.DoYouReallyWantToDelete",L)+' "'+_+'"?',content:h.jsxs("span",{style:{color:"red",fontWeight:"bold"},children:[h.jsx(KG,{style:{marginRight:"6px"}}),j("word.Warning",L)+": "+j("message.ThisCannotBeUndone",L)]}),icon:h.jsx(WW,{}),onOk:()=>{n(Y,_);const J=new URLSearchParams(window.location.search);J.get("title")===_&&J.get("userid")===Y&&window.history.pushState({},document.title,Sg)}})},k=()=>{w&&C&&v&&(o(w,C,v),S(void 0)),p(!1)},N=(Y,_)=>{if(P.current){const{clientWidth:J,clientHeight:Q}=window.document.documentElement,ee=P.current.getBoundingClientRect();x({left:-ee.left+_.x,right:J-(ee.right-_.x),top:-ee.top+_.y,bottom:Q-((ee==null?void 0:ee.bottom)-_.y)})}},{t:j}=jl();return h.jsxs(h.Fragment,{children:[h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>y(!0),onMouseOut:()=>y(!1),children:j("word.Rename",L)}),open:f,onOk:k,onCancel:()=>{p(!1),S(void 0)},modalRender:Y=>h.jsx(Vr,{disabled:!g,bounds:A,onStart:(_,J)=>N(_,J),children:h.jsx("div",{ref:P,children:Y})}),children:h.jsxs(en,{direction:"vertical",style:{width:"100%"},children:[h.jsx(ns,{placeholder:"Title",value:v||C,onPressEnter:k,onKeyDown:Y=>{if(!JC.test(Y.key))return Y.preventDefault(),!1},onChange:Y=>{S(Y.target.value)}}),h.jsxs("span",{style:{fontSize:"11px",color:"red"},children:[h.jsx(KG,{style:{marginRight:"4px"}}),j("word.Caution",L)+": "+j("cloudFilePanel.IfSharedOrPublishedRenamingFileBreaksExistingLinks",L),"."]})]})}),h.jsx(Vr,{nodeRef:a,handle:".handle",bounds:"parent",axis:"both",position:u,onDrag:U,onStop:F,onMouseDown:()=>{i(Y=>{Y.selectedFloatingWindow="cloudFilePanel"})},children:h.jsx(Efo,{ref:a,style:{zIndex:r==="cloudFilePanel"?xc:14},children:h.jsxs(kfo,{ref:l,children:[h.jsxs(Ffo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:j("cloudFilePanel.MyCloudFiles",L)+" ("+R.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{W()},onTouchStart:()=>{W()},children:j("word.Close",L)})]}),h.jsx("span",{style:{direction:"ltr"},children:h.jsx(E,{style:{width:"50%",paddingTop:"8px",paddingBottom:"8px"},title:j("cloudFilePanel.SearchByTitle",L),allowClear:!0,size:"small",enterButton:!0,onSearch:Y=>{var _;if(t){R.current=[];for(const J of t)(_=J.title)!=null&&_.toLowerCase().includes(Y.toLowerCase())&&R.current.push(J);D(!H)}}})}),h.jsxs(Rd,{size:"small",style:{width:"100%",direction:"ltr"},dataSource:R.current,scroll:{y:360},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:[h.jsx(xae,{title:`${j("word.Title",L)}`,dataIndex:"title",width:"56%",sortDirections:["ascend","descend","ascend"],sorter:(Y,_)=>Y.title.localeCompare(_.title),render:(Y,_)=>h.jsx(C6.Text,{style:{fontSize:"12px",cursor:"pointer"},title:j("word.Open",L),children:Y}),onCell:(Y,_)=>({onClick:()=>{const J=window.getSelection();J&&J.toString().length>0||e(Y.userid,Y.title)}})},"title"),h.jsx(xae,{title:`${j("word.Time",L)}`,dataIndex:"time",width:"25%",defaultSortOrder:"descend",sortDirections:["ascend","descend","ascend"],sorter:(Y,_)=>Y.timestamp-_.timestamp,render:(Y,_)=>h.jsx(C6.Text,{style:{fontSize:"12px"},children:Y})},"time"),h.jsx(xae,{width:"19%",title:`${j("word.Action",L)}`,render:(Y,_)=>h.jsxs(en,{size:"middle",children:[h.jsx("img",{title:j("word.Delete",L),alt:"Delete",src:mot,onClick:()=>{B(_.userid,_.title)},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx("img",{title:j("word.Rename",L),alt:"Rename",src:zfo,onClick:()=>{b(_.title),T(_.userid),p(!0)},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx(OJe,{title:j("cloudFilePanel.CopyTitle",L),alt:"Copy Title",onClick:()=>{navigator.clipboard.writeText(_.title).then(()=>m2(j("cloudFilePanel.TitleCopiedToClipBoard",L)+"."))},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx("img",{title:j("cloudFilePanel.GenerateLink",L),alt:"Link",src:Dfo,onClick:()=>{const J=Sg+"?client=web&userid="+_.userid+"&title="+encodeURIComponent(_.title);navigator.clipboard.writeText(J).then(()=>m2(j("cloudFilePanel.LinkGeneratedInClipBoard",L)+"."))},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}})]})},"action")]})]})})})]})}),{Column:Wfo}=Rd,Nfo=Ho.div` +`,kfo=Se.memo(({cloudFileArray:t,openCloudFile:e,deleteCloudFile:n,renameCloudFile:o})=>{const i=M(dn),r=M(bc),a=Se.useRef(null),l=m.useRef(null),s=l.current?l.current.clientWidth+40:680,c=l.current?l.current.clientHeight+100:600,[u,d]=m.useState({x:0,y:0}),[f,p]=m.useState(!1),[g,y]=m.useState(!1),[A,x]=m.useState({left:0,top:0,bottom:0,right:0}),[C,b]=m.useState(),[v,S]=m.useState(),[w,T]=m.useState(),P=m.useRef(null),R=m.useRef([...t]),[H,D]=m.useState(!1),{Search:E}=ns,L=Kt();m.useEffect(()=>{const Y=()=>{d({x:Math.max(0,s-window.innerWidth),y:Math.min(0,window.innerHeight-c)})};return window.addEventListener("resize",Y),()=>{window.removeEventListener("resize",Y)}},[]),m.useEffect(()=>{t&&(R.current=[...t],D(!H))},[t]);const U=(Y,_)=>{d({x:Math.max(_.x,s-window.innerWidth),y:Math.min(_.y,window.innerHeight-c)})},F=(Y,_)=>{},W=()=>{gt.getState().set(Y=>{Y.showCloudFilePanel=!1})},B=(Y,_)=>{_r.confirm({title:j("cloudFilePanel.DoYouReallyWantToDelete",L)+' "'+_+'"?',content:h.jsxs("span",{style:{color:"red",fontWeight:"bold"},children:[h.jsx(KG,{style:{marginRight:"6px"}}),j("word.Warning",L)+": "+j("message.ThisCannotBeUndone",L)]}),icon:h.jsx(WW,{}),onOk:()=>{n(Y,_);const J=new URLSearchParams(window.location.search);J.get("title")===_&&J.get("userid")===Y&&window.history.pushState({},document.title,qp)}})},k=()=>{w&&C&&v&&(o(w,C,v),S(void 0)),p(!1)},N=(Y,_)=>{if(P.current){const{clientWidth:J,clientHeight:Q}=window.document.documentElement,ee=P.current.getBoundingClientRect();x({left:-ee.left+_.x,right:J-(ee.right-_.x),top:-ee.top+_.y,bottom:Q-((ee==null?void 0:ee.bottom)-_.y)})}},{t:j}=jl();return h.jsxs(h.Fragment,{children:[h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>y(!0),onMouseOut:()=>y(!1),children:j("word.Rename",L)}),open:f,onOk:k,onCancel:()=>{p(!1),S(void 0)},modalRender:Y=>h.jsx(Vr,{disabled:!g,bounds:A,onStart:(_,J)=>N(_,J),children:h.jsx("div",{ref:P,children:Y})}),children:h.jsxs(en,{direction:"vertical",style:{width:"100%"},children:[h.jsx(ns,{placeholder:"Title",value:v||C,onPressEnter:k,onKeyDown:Y=>{if(!JC.test(Y.key))return Y.preventDefault(),!1},onChange:Y=>{S(Y.target.value)}}),h.jsxs("span",{style:{fontSize:"11px",color:"red"},children:[h.jsx(KG,{style:{marginRight:"4px"}}),j("word.Caution",L)+": "+j("cloudFilePanel.IfSharedOrPublishedRenamingFileBreaksExistingLinks",L),"."]})]})}),h.jsx(Vr,{nodeRef:a,handle:".handle",bounds:"parent",axis:"both",position:u,onDrag:U,onStop:F,onMouseDown:()=>{i(Y=>{Y.selectedFloatingWindow="cloudFilePanel"})},children:h.jsx(zfo,{ref:a,style:{zIndex:r==="cloudFilePanel"?xc:14},children:h.jsxs(Dfo,{ref:l,children:[h.jsxs(Efo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:j("cloudFilePanel.MyCloudFiles",L)+" ("+R.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{W()},onTouchStart:()=>{W()},children:j("word.Close",L)})]}),h.jsx("span",{style:{direction:"ltr"},children:h.jsx(E,{style:{width:"50%",paddingTop:"8px",paddingBottom:"8px"},title:j("cloudFilePanel.SearchByTitle",L),allowClear:!0,size:"small",enterButton:!0,onSearch:Y=>{var _;if(t){R.current=[];for(const J of t)(_=J.title)!=null&&_.toLowerCase().includes(Y.toLowerCase())&&R.current.push(J);D(!H)}}})}),h.jsxs(Rd,{size:"small",style:{width:"100%",direction:"ltr"},dataSource:R.current,scroll:{y:360},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:[h.jsx(xae,{title:`${j("word.Title",L)}`,dataIndex:"title",width:"56%",sortDirections:["ascend","descend","ascend"],sorter:(Y,_)=>Y.title.localeCompare(_.title),render:(Y,_)=>h.jsx(C6.Text,{style:{fontSize:"12px",cursor:"pointer"},title:j("word.Open",L),children:Y}),onCell:(Y,_)=>({onClick:()=>{const J=window.getSelection();J&&J.toString().length>0||e(Y.userid,Y.title)}})},"title"),h.jsx(xae,{title:`${j("word.Time",L)}`,dataIndex:"time",width:"25%",defaultSortOrder:"descend",sortDirections:["ascend","descend","ascend"],sorter:(Y,_)=>Y.timestamp-_.timestamp,render:(Y,_)=>h.jsx(C6.Text,{style:{fontSize:"12px"},children:Y})},"time"),h.jsx(xae,{width:"19%",title:`${j("word.Action",L)}`,render:(Y,_)=>h.jsxs(en,{size:"middle",children:[h.jsx("img",{title:j("word.Delete",L),alt:"Delete",src:mot,onClick:()=>{B(_.userid,_.title)},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx("img",{title:j("word.Rename",L),alt:"Rename",src:Mfo,onClick:()=>{b(_.title),T(_.userid),p(!0)},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx(OJe,{title:j("cloudFilePanel.CopyTitle",L),alt:"Copy Title",onClick:()=>{navigator.clipboard.writeText(_.title).then(()=>m2(j("cloudFilePanel.TitleCopiedToClipBoard",L)+"."))},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx("img",{title:j("cloudFilePanel.GenerateLink",L),alt:"Link",src:Ifo,onClick:()=>{const J=qp+"?client=web&userid="+_.userid+"&title="+encodeURIComponent(_.title);navigator.clipboard.writeText(J).then(()=>m2(j("cloudFilePanel.LinkGeneratedInClipBoard",L)+"."))},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}})]})},"action")]})]})})})]})}),{Column:Ffo}=Rd,Lfo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -7010,7 +7010,7 @@ Content-Type: `+c.contentType+`\r align-items: center; padding: 16px; z-index: 1001; -`,Ufo=Ho.div` +`,Wfo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -7030,7 +7030,7 @@ Content-Type: `+c.contentType+`\r overflow-y: hidden; resize: both; direction: rtl; -`,Bfo=Ho.div` +`,Nfo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -7041,7 +7041,7 @@ Content-Type: `+c.contentType+`\r justify-content: space-between; align-items: center; cursor: move; -`,jfo=Se.memo(({likesArray:t,openCloudFile:e})=>{const n=Se.useRef(null),o=m.useRef(null),i=o.current?o.current.clientWidth+40:680,r=o.current?o.current.clientHeight+100:600,[a,l]=m.useState({x:0,y:0}),s=Kt(),{t:c}=jl();m.useEffect(()=>{const p=()=>{l({x:Math.max(0,i-window.innerWidth),y:Math.min(0,window.innerHeight-r)})};return window.addEventListener("resize",p),()=>{window.removeEventListener("resize",p)}},[]);const u=(p,g)=>{l({x:Math.max(g.x,i-window.innerWidth),y:Math.min(g.y,window.innerHeight-r)})},d=(p,g)=>{},f=()=>{gt.getState().set(p=>{p.showLikesPanel=!1})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:n,handle:".handle",bounds:"parent",axis:"both",position:a,onDrag:u,onStop:d,children:h.jsx(Nfo,{ref:n,children:h.jsxs(Ufo,{ref:o,children:[h.jsxs(Bfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:c("cloudFilePanel.MyLikes",s)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{f()},onTouchStart:()=>{f()},children:c("word.Close",s)})]}),h.jsx(Rd,{rowKey:p=>p,size:"small",style:{width:"100%",direction:"ltr"},dataSource:t,scroll:{y:300},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:h.jsx(Wfo,{title:`${c("word.Title",s)}`,render:(p,g)=>h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{const y=g,A=y.lastIndexOf(", ");A>=0&&(gt.getState().set(x=>{x.openModelsMap=!1}),e(y.substring(A+2),y.substring(0,A)))},children:g.substring(0,g.lastIndexOf(", "))},g)},"title")})]})})})})}),{Column:Yfo}=Rd,Ofo=Ho.div` +`,Ufo=Se.memo(({likesArray:t,openCloudFile:e})=>{const n=Se.useRef(null),o=m.useRef(null),i=o.current?o.current.clientWidth+40:680,r=o.current?o.current.clientHeight+100:600,[a,l]=m.useState({x:0,y:0}),s=Kt(),{t:c}=jl();m.useEffect(()=>{const p=()=>{l({x:Math.max(0,i-window.innerWidth),y:Math.min(0,window.innerHeight-r)})};return window.addEventListener("resize",p),()=>{window.removeEventListener("resize",p)}},[]);const u=(p,g)=>{l({x:Math.max(g.x,i-window.innerWidth),y:Math.min(g.y,window.innerHeight-r)})},d=(p,g)=>{},f=()=>{gt.getState().set(p=>{p.showLikesPanel=!1})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:n,handle:".handle",bounds:"parent",axis:"both",position:a,onDrag:u,onStop:d,children:h.jsx(Lfo,{ref:n,children:h.jsxs(Wfo,{ref:o,children:[h.jsxs(Nfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:c("cloudFilePanel.MyLikes",s)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{f()},onTouchStart:()=>{f()},children:c("word.Close",s)})]}),h.jsx(Rd,{rowKey:p=>p,size:"small",style:{width:"100%",direction:"ltr"},dataSource:t,scroll:{y:300},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:h.jsx(Ffo,{title:`${c("word.Title",s)}`,render:(p,g)=>h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{const y=g,A=y.lastIndexOf(", ");A>=0&&(gt.getState().set(x=>{x.openModelsMap=!1}),e(y.substring(A+2),y.substring(0,A)))},children:g.substring(0,g.lastIndexOf(", "))},g)},"title")})]})})})})}),{Column:Bfo}=Rd,jfo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -7050,7 +7050,7 @@ Content-Type: `+c.contentType+`\r align-items: center; padding: 16px; z-index: 1001; -`,_fo=Ho.div` +`,Yfo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -7070,7 +7070,7 @@ Content-Type: `+c.contentType+`\r overflow-y: hidden; resize: both; direction: rtl; -`,Vfo=Ho.div` +`,Ofo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -7081,7 +7081,7 @@ Content-Type: `+c.contentType+`\r justify-content: space-between; align-items: center; cursor: move; -`,Gfo=Se.memo(({publishedModels:t,openCloudFile:e})=>{const n=M(Eg),o=Se.useRef(null),i=m.useRef(null),r=i.current?i.current.clientWidth+40:680,a=i.current?i.current.clientHeight+100:600,[l,s]=m.useState({x:0,y:0}),c=Kt(),{t:u}=jl();m.useEffect(()=>{const g=()=>{s({x:Math.max(0,r-window.innerWidth),y:Math.min(0,window.innerHeight-a)})};return window.addEventListener("resize",g),()=>{window.removeEventListener("resize",g)}},[]);const d=(g,y)=>{s({x:Math.max(y.x,r-window.innerWidth),y:Math.min(y.y,window.innerHeight-a)})},f=(g,y)=>{},p=()=>{gt.getState().set(g=>{g.showPublishedModelsPanel=!1})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:o,handle:".handle",bounds:"parent",axis:"both",position:l,onDrag:d,onStop:f,children:h.jsx(Ofo,{ref:o,children:h.jsxs(_fo,{ref:i,children:[h.jsxs(Vfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:u("modelsMap.MyPublishedModels",c)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{p()},onTouchStart:()=>{p()},children:u("word.Close",c)})]}),h.jsx(Rd,{rowKey:g=>g,size:"small",style:{width:"100%",direction:"ltr"},dataSource:t,scroll:{y:300},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:h.jsx(Yfo,{title:`${u("word.Title",c)}`,render:(g,y)=>h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{n.uid&&(gt.getState().set(A=>{A.openModelsMap=!1}),e(n.uid,y))},children:y},y)},"title")})]})})})})}),{Option:Vf}=Yo,Xfo=Ho.div` +`,_fo=Se.memo(({publishedModels:t,openCloudFile:e})=>{const n=M(Eg),o=Se.useRef(null),i=m.useRef(null),r=i.current?i.current.clientWidth+40:680,a=i.current?i.current.clientHeight+100:600,[l,s]=m.useState({x:0,y:0}),c=Kt(),{t:u}=jl();m.useEffect(()=>{const g=()=>{s({x:Math.max(0,r-window.innerWidth),y:Math.min(0,window.innerHeight-a)})};return window.addEventListener("resize",g),()=>{window.removeEventListener("resize",g)}},[]);const d=(g,y)=>{s({x:Math.max(y.x,r-window.innerWidth),y:Math.min(y.y,window.innerHeight-a)})},f=(g,y)=>{},p=()=>{gt.getState().set(g=>{g.showPublishedModelsPanel=!1})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:o,handle:".handle",bounds:"parent",axis:"both",position:l,onDrag:d,onStop:f,children:h.jsx(jfo,{ref:o,children:h.jsxs(Yfo,{ref:i,children:[h.jsxs(Ofo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:u("modelsMap.MyPublishedModels",c)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{p()},onTouchStart:()=>{p()},children:u("word.Close",c)})]}),h.jsx(Rd,{rowKey:g=>g,size:"small",style:{width:"100%",direction:"ltr"},dataSource:t,scroll:{y:300},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:h.jsx(Bfo,{title:`${u("word.Title",c)}`,render:(g,y)=>h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{n.uid&&(gt.getState().set(A=>{A.openModelsMap=!1}),e(n.uid,y))},children:y},y)},"title")})]})})})})}),{Option:Vf}=Yo,Vfo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -7090,7 +7090,7 @@ Content-Type: `+c.contentType+`\r align-items: center; padding: 16px; z-index: 1000; -`,Jfo=Ho.div` +`,Gfo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -7111,7 +7111,7 @@ Content-Type: `+c.contentType+`\r overflow-y: auto; resize: both; direction: rtl; -`,Kfo=Ho.div` +`,Xfo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -7122,7 +7122,7 @@ Content-Type: `+c.contentType+`\r justify-content: space-between; align-items: center; cursor: move; -`,qfo=Se.memo(({openCloudFile:t})=>{var w,T,P;const e=M(dn),n=gt(Ah),o=M(Eg),i=gt(h4t),r=gt(m7t),a=gt(y7t),l=Se.useRef(null),s=m.useRef(null),c=m.useRef(o.schoolID??rc.UNKNOWN),u=m.useRef(o.classID??Ua.UNKNOWN),d=s.current?s.current.clientWidth+40:640,f=s.current?s.current.clientHeight+100:600,[p,g]=m.useState({x:0,y:0}),y=Kt();m.useEffect(()=>{const R=()=>{g({x:Math.max(0,d-window.innerWidth),y:Math.min(0,window.innerHeight-f)})};return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}},[]);const A=(R,H)=>{g({x:Math.max(H.x,d-window.innerWidth),y:Math.min(H.y,window.innerHeight-f)})},x=(R,H)=>{},C=()=>{gt.getState().set(R=>{R.showAccountSettingsPanel=!1})},b=o&&o.email&&o.email.endsWith("intofuture.org"),v=!1,{t:S}=jl();return h.jsxs(h.Fragment,{children:[r&&h.jsx(jfo,{likesArray:o.likes??[],openCloudFile:t}),a&&h.jsx(Gfo,{publishedModels:o.published??[],openCloudFile:t}),h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:p,onDrag:A,onStop:x,children:h.jsx(Xfo,{ref:l,children:h.jsxs(Jfo,{ref:s,children:[h.jsxs(Kfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:S("accountSettingsPanel.MyAccountSettings",y)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{C()},onTouchStart:()=>{C()},children:S("word.Close",y)})]}),h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{span:6,onClick:()=>{o.uid&&navigator.clipboard.writeText(o.uid).then(()=>m2(S("accountSettingsPanel.IDInClipBoard",y)))},children:h.jsx(no,{title:S("accountSettingsPanel.ClickToCopyMyID",y),style:{cursor:"copy",borderRadius:"8px"},children:S("accountSettingsPanel.MyID",y)})}),h.jsx(nt,{style:{paddingTop:"8px"},span:18,children:o.uid})]}),v,h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{style:{paddingTop:"8px"},span:6,children:S("accountSettingsPanel.SchoolID",y)}),h.jsx(nt,{span:18,children:h.jsxs(Yo,{style:{width:"90%"},value:c.current,onChange:R=>{c.current=R,e(H=>{H.user.schoolID=R}),gt.getState().set(H=>{H.saveAccountSettingsFlag=!0})},children:[h.jsx(Vf,{value:rc.UNKNOWN,children:rc.UNKNOWN},rc.UNKNOWN),h.jsx(Vf,{value:rc.SCHOOL1,children:rc.SCHOOL1},rc.SCHOOL1),h.jsx(Vf,{value:rc.SCHOOL2,children:rc.SCHOOL2},rc.SCHOOL2),h.jsx(Vf,{value:rc.SCHOOL3,children:rc.SCHOOL3},rc.SCHOOL3),h.jsx(Vf,{value:rc.SCHOOL4,children:rc.SCHOOL4},rc.SCHOOL4),h.jsx(Vf,{value:rc.SCHOOL5,children:rc.SCHOOL5},rc.SCHOOL5)]})})]}),h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{style:{paddingTop:"8px"},span:6,children:S("accountSettingsPanel.ClassID",y)}),h.jsx(nt,{span:18,children:h.jsxs(Yo,{style:{width:"90%"},value:u.current,onChange:R=>{u.current=R,e(H=>{H.user.classID=R}),gt.getState().set(H=>{H.saveAccountSettingsFlag=!0})},children:[h.jsx(Vf,{value:Ua.UNKNOWN,children:Ua.UNKNOWN},Ua.UNKNOWN),h.jsx(Vf,{value:Ua.CLASS1,children:Ua.CLASS1},Ua.CLASS1),h.jsx(Vf,{value:Ua.CLASS2,children:Ua.CLASS2},Ua.CLASS2),h.jsx(Vf,{value:Ua.CLASS3,children:Ua.CLASS3},Ua.CLASS3),h.jsx(Vf,{value:Ua.CLASS4,children:Ua.CLASS4},Ua.CLASS4),h.jsx(Vf,{value:Ua.CLASS5,children:Ua.CLASS5},Ua.CLASS5),h.jsx(Vf,{value:Ua.CLASS6,children:Ua.CLASS6},Ua.CLASS6),h.jsx(Vf,{value:Ua.CLASS7,children:Ua.CLASS7},Ua.CLASS7),h.jsx(Vf,{value:Ua.CLASS8,children:Ua.CLASS8},Ua.CLASS8),h.jsx(Vf,{value:Ua.CLASS9,children:Ua.CLASS9},Ua.CLASS9)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{span:6,children:S("accountSettingsPanel.AllPublished",y)}),h.jsx(nt,{span:18,children:h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{n("showPublishedModelsPanel",!0)},children:((w=o.published)==null?void 0:w.length)??0})})]}),h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{span:6,children:S("accountSettingsPanel.PublishedUnderAliases",y)}),h.jsx(nt,{span:18,children:h.jsx("span",{style:{fontSize:"10px"},children:(T=o.aliases)==null?void 0:T.map((R,H)=>o.aliases?R+(H{n("showLikesPanel",!0)},children:((P=o.likes)==null?void 0:P.length)??0})})]}),b&&h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{span:6,children:S("accountSettingsPanel.UserCount",y)}),h.jsx(nt,{span:18,children:i})]})]})})})]})});/*! ***************************************************************************** +`,Jfo=Se.memo(({openCloudFile:t})=>{var w,T,P;const e=M(dn),n=gt(Ah),o=M(Eg),i=gt(d4t),r=gt(p7t),a=gt(g7t),l=Se.useRef(null),s=m.useRef(null),c=m.useRef(o.schoolID??rc.UNKNOWN),u=m.useRef(o.classID??Ua.UNKNOWN),d=s.current?s.current.clientWidth+40:640,f=s.current?s.current.clientHeight+100:600,[p,g]=m.useState({x:0,y:0}),y=Kt();m.useEffect(()=>{const R=()=>{g({x:Math.max(0,d-window.innerWidth),y:Math.min(0,window.innerHeight-f)})};return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}},[]);const A=(R,H)=>{g({x:Math.max(H.x,d-window.innerWidth),y:Math.min(H.y,window.innerHeight-f)})},x=(R,H)=>{},C=()=>{gt.getState().set(R=>{R.showAccountSettingsPanel=!1})},b=o&&o.email&&o.email.endsWith("intofuture.org"),v=!1,{t:S}=jl();return h.jsxs(h.Fragment,{children:[r&&h.jsx(Ufo,{likesArray:o.likes??[],openCloudFile:t}),a&&h.jsx(_fo,{publishedModels:o.published??[],openCloudFile:t}),h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:p,onDrag:A,onStop:x,children:h.jsx(Vfo,{ref:l,children:h.jsxs(Gfo,{ref:s,children:[h.jsxs(Xfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:S("accountSettingsPanel.MyAccountSettings",y)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{C()},onTouchStart:()=>{C()},children:S("word.Close",y)})]}),h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{span:6,onClick:()=>{o.uid&&navigator.clipboard.writeText(o.uid).then(()=>m2(S("accountSettingsPanel.IDInClipBoard",y)))},children:h.jsx(no,{title:S("accountSettingsPanel.ClickToCopyMyID",y),style:{cursor:"copy",borderRadius:"8px"},children:S("accountSettingsPanel.MyID",y)})}),h.jsx(nt,{style:{paddingTop:"8px"},span:18,children:o.uid})]}),v,h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{style:{paddingTop:"8px"},span:6,children:S("accountSettingsPanel.SchoolID",y)}),h.jsx(nt,{span:18,children:h.jsxs(Yo,{style:{width:"90%"},value:c.current,onChange:R=>{c.current=R,e(H=>{H.user.schoolID=R}),gt.getState().set(H=>{H.saveAccountSettingsFlag=!0})},children:[h.jsx(Vf,{value:rc.UNKNOWN,children:rc.UNKNOWN},rc.UNKNOWN),h.jsx(Vf,{value:rc.SCHOOL1,children:rc.SCHOOL1},rc.SCHOOL1),h.jsx(Vf,{value:rc.SCHOOL2,children:rc.SCHOOL2},rc.SCHOOL2),h.jsx(Vf,{value:rc.SCHOOL3,children:rc.SCHOOL3},rc.SCHOOL3),h.jsx(Vf,{value:rc.SCHOOL4,children:rc.SCHOOL4},rc.SCHOOL4),h.jsx(Vf,{value:rc.SCHOOL5,children:rc.SCHOOL5},rc.SCHOOL5)]})})]}),h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{style:{paddingTop:"8px"},span:6,children:S("accountSettingsPanel.ClassID",y)}),h.jsx(nt,{span:18,children:h.jsxs(Yo,{style:{width:"90%"},value:u.current,onChange:R=>{u.current=R,e(H=>{H.user.classID=R}),gt.getState().set(H=>{H.saveAccountSettingsFlag=!0})},children:[h.jsx(Vf,{value:Ua.UNKNOWN,children:Ua.UNKNOWN},Ua.UNKNOWN),h.jsx(Vf,{value:Ua.CLASS1,children:Ua.CLASS1},Ua.CLASS1),h.jsx(Vf,{value:Ua.CLASS2,children:Ua.CLASS2},Ua.CLASS2),h.jsx(Vf,{value:Ua.CLASS3,children:Ua.CLASS3},Ua.CLASS3),h.jsx(Vf,{value:Ua.CLASS4,children:Ua.CLASS4},Ua.CLASS4),h.jsx(Vf,{value:Ua.CLASS5,children:Ua.CLASS5},Ua.CLASS5),h.jsx(Vf,{value:Ua.CLASS6,children:Ua.CLASS6},Ua.CLASS6),h.jsx(Vf,{value:Ua.CLASS7,children:Ua.CLASS7},Ua.CLASS7),h.jsx(Vf,{value:Ua.CLASS8,children:Ua.CLASS8},Ua.CLASS8),h.jsx(Vf,{value:Ua.CLASS9,children:Ua.CLASS9},Ua.CLASS9)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{span:6,children:S("accountSettingsPanel.AllPublished",y)}),h.jsx(nt,{span:18,children:h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{n("showPublishedModelsPanel",!0)},children:((w=o.published)==null?void 0:w.length)??0})})]}),h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{span:6,children:S("accountSettingsPanel.PublishedUnderAliases",y)}),h.jsx(nt,{span:18,children:h.jsx("span",{style:{fontSize:"10px"},children:(T=o.aliases)==null?void 0:T.map((R,H)=>o.aliases?R+(H{n("showLikesPanel",!0)},children:((P=o.likes)==null?void 0:P.length)??0})})]}),b&&h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(nt,{span:6,children:S("accountSettingsPanel.UserCount",y)}),h.jsx(nt,{span:18,children:i})]})]})})})]})});/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -7135,15 +7135,15 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var Ude=function(t,e){return Ude=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},Ude(t,e)};function Ms(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Ude(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var cr=function(){return cr=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]0&&r.innerText.includes(".gm-")}).forEach(function(r){r.parentNode&&r.parentNode.removeChild(r)})},n.injectScript=function(){n.props.preventGoogleFontsLoading&&o9e(),B0(!!n.props.id,'LoadScript requires "id" prop to be a string: %s',n.props.id);var o={id:n.props.id,nonce:n.props.nonce,url:vot(n.props)};wot(o).then(function(){n.props.onLoad&&n.props.onLoad(),n.setState(function(){return{loaded:!0}})}).catch(function(i){n.props.onError&&n.props.onError(i),console.error(` +`,"").indexOf(".gm-style")===0?(t.innerHTML="",!0):t.tagName.toLowerCase()==="style"&&!t.styleSheet&&!t.innerHTML}function o9e(){var t=document.getElementsByTagName("head")[0];if(t){var e=t.insertBefore.bind(t);t.insertBefore=function(i,r){return ZRe(i)||Reflect.apply(e,t,[i,r]),i};var n=t.appendChild.bind(t);t.appendChild=function(i){return ZRe(i)||Reflect.apply(n,t,[i]),i}}}function vot(t){var e=t.googleMapsApiKey,n=t.googleMapsClientId,o=t.version,i=o===void 0?"weekly":o,r=t.language,a=t.region,l=t.libraries,s=t.channel,c=t.mapIds,u=t.authReferrerPolicy,d=[];return B0(e&&n||!(e&&n),"You need to specify either googleMapsApiKey or googleMapsClientId for @react-google-maps/api load script to work. You cannot use both at the same time."),e?d.push("key=".concat(e)):n&&d.push("client=".concat(n)),i&&d.push("v=".concat(i)),r&&d.push("language=".concat(r)),a&&d.push("region=".concat(a)),l&&l.length&&d.push("libraries=".concat(l.sort().join(","))),s&&d.push("channel=".concat(s)),c&&c.length&&d.push("map_ids=".concat(c.join(","))),u&&d.push("auth_referrer_policy=".concat(u)),d.push("callback=initMap"),"https://maps.googleapis.com/maps/api/js?".concat(d.join("&"))}var jz=!1;function xot(){return h.jsx("div",{children:"Loading..."})}var CF={id:"script-loader",version:"weekly"};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.check=m.createRef(),n.state={loaded:!1},n.cleanupCallback=function(){delete window.google.maps,n.injectScript()},n.isCleaningUp=function(){return Kfo(n,void 0,void 0,function(){function o(i){if(!jz)i();else if(yw)var r=window.setInterval(function(){jz||(window.clearInterval(r),i())},1)}return qfo(this,function(i){return[2,new Promise(o)]})})},n.cleanup=function(){jz=!0;var o=document.getElementById(n.props.id);o&&o.parentNode&&o.parentNode.removeChild(o),Array.prototype.slice.call(document.getElementsByTagName("script")).filter(function(r){return typeof r.src=="string"&&r.src.includes("maps.googleapis")}).forEach(function(r){r.parentNode&&r.parentNode.removeChild(r)}),Array.prototype.slice.call(document.getElementsByTagName("link")).filter(function(r){return r.href==="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans"}).forEach(function(r){r.parentNode&&r.parentNode.removeChild(r)}),Array.prototype.slice.call(document.getElementsByTagName("style")).filter(function(r){return r.innerText!==void 0&&r.innerText.length>0&&r.innerText.includes(".gm-")}).forEach(function(r){r.parentNode&&r.parentNode.removeChild(r)})},n.injectScript=function(){n.props.preventGoogleFontsLoading&&o9e(),B0(!!n.props.id,'LoadScript requires "id" prop to be a string: %s',n.props.id);var o={id:n.props.id,nonce:n.props.nonce,url:vot(n.props)};wot(o).then(function(){n.props.onLoad&&n.props.onLoad(),n.setState(function(){return{loaded:!0}})}).catch(function(i){n.props.onError&&n.props.onError(i),console.error(` There has been an Error with loading Google Maps API script, please check that you provided correct google API key (`.concat(n.props.googleMapsApiKey||"-",") or Client ID (").concat(n.props.googleMapsClientId||"-",`) to Otherwise it is a Network issue. - `))})},n}return e.prototype.componentDidMount=function(){if(yw){if(window.google&&window.google.maps&&!jz){console.error("google api is already presented");return}this.isCleaningUp().then(this.injectScript).catch(function(o){console.error("Error at injecting script after cleaning up: ",o)})}},e.prototype.componentDidUpdate=function(n){this.props.libraries!==n.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),yw&&n.language!==this.props.language&&(this.cleanup(),this.setState(function(){return{loaded:!1}},this.cleanupCallback))},e.prototype.componentWillUnmount=function(){var n=this;if(yw){this.cleanup();var o=function(){n.check.current||(delete window.google,jz=!1)};window.setTimeout(o,1),this.props.onUnmount&&this.props.onUnmount()}},e.prototype.render=function(){return h.jsxs(h.Fragment,{children:[h.jsx("div",{ref:this.check}),this.state.loaded?this.props.children:this.props.loadingElement||h.jsx(xot,{})]})},e.defaultProps=CF,e})(m.PureComponent);var eHe;function sho(t){var e=t.id,n=e===void 0?CF.id:e,o=t.version,i=o===void 0?CF.version:o,r=t.nonce,a=t.googleMapsApiKey,l=t.googleMapsClientId,s=t.language,c=t.region,u=t.libraries,d=t.preventGoogleFontsLoading,f=t.channel,p=t.mapIds,g=t.authReferrerPolicy,y=m.useRef(!1),A=m.useState(!1),x=A[0],C=A[1],b=m.useState(void 0),v=b[0],S=b[1];m.useEffect(function(){return y.current=!0,function(){y.current=!1}},[]),m.useEffect(function(){yw&&d&&o9e()},[d]),m.useEffect(function(){x&&B0(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")},[x]);var w=vot({version:i,googleMapsApiKey:a,googleMapsClientId:l,language:s,region:c,libraries:u,channel:f,mapIds:p,authReferrerPolicy:g});m.useEffect(function(){if(!yw)return;function R(){y.current&&(C(!0),eHe=w)}if(window.google&&window.google.maps&&eHe===w){R();return}wot({id:n,url:w,nonce:r}).then(R).catch(function(D){y.current&&S(D),console.warn(` + `))})},n}return e.prototype.componentDidMount=function(){if(yw){if(window.google&&window.google.maps&&!jz){console.error("google api is already presented");return}this.isCleaningUp().then(this.injectScript).catch(function(o){console.error("Error at injecting script after cleaning up: ",o)})}},e.prototype.componentDidUpdate=function(n){this.props.libraries!==n.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),yw&&n.language!==this.props.language&&(this.cleanup(),this.setState(function(){return{loaded:!1}},this.cleanupCallback))},e.prototype.componentWillUnmount=function(){var n=this;if(yw){this.cleanup();var o=function(){n.check.current||(delete window.google,jz=!1)};window.setTimeout(o,1),this.props.onUnmount&&this.props.onUnmount()}},e.prototype.render=function(){return h.jsxs(h.Fragment,{children:[h.jsx("div",{ref:this.check}),this.state.loaded?this.props.children:this.props.loadingElement||h.jsx(xot,{})]})},e.defaultProps=CF,e})(m.PureComponent);var eHe;function aho(t){var e=t.id,n=e===void 0?CF.id:e,o=t.version,i=o===void 0?CF.version:o,r=t.nonce,a=t.googleMapsApiKey,l=t.googleMapsClientId,s=t.language,c=t.region,u=t.libraries,d=t.preventGoogleFontsLoading,f=t.channel,p=t.mapIds,g=t.authReferrerPolicy,y=m.useRef(!1),A=m.useState(!1),x=A[0],C=A[1],b=m.useState(void 0),v=b[0],S=b[1];m.useEffect(function(){return y.current=!0,function(){y.current=!1}},[]),m.useEffect(function(){yw&&d&&o9e()},[d]),m.useEffect(function(){x&&B0(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")},[x]);var w=vot({version:i,googleMapsApiKey:a,googleMapsClientId:l,language:s,region:c,libraries:u,channel:f,mapIds:p,authReferrerPolicy:g});m.useEffect(function(){if(!yw)return;function R(){y.current&&(C(!0),eHe=w)}if(window.google&&window.google.maps&&eHe===w){R();return}wot({id:n,url:w,nonce:r}).then(R).catch(function(D){y.current&&S(D),console.warn(` There has been an Error with loading Google Maps API script, please check that you provided correct google API key (`.concat(a||"-",") or Client ID (").concat(l||"-",`) Otherwise it is a Network issue. - `)),console.error(D)})},[n,w,r]);var T=m.useRef();return m.useEffect(function(){T.current&&u!==T.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),T.current=u},[u]),{isLoaded:x,loadError:v,url:w}}var cho=h.jsx(xot,{});function uho(t){var e=t.loadingElement,n=t.onLoad,o=t.onError,i=t.onUnmount,r=t.children,a=n9e(t,["loadingElement","onLoad","onError","onUnmount","children"]),l=sho(a),s=l.isLoaded,c=l.loadError;return m.useEffect(function(){s&&typeof n=="function"&&n()},[s,n]),m.useEffect(function(){c&&typeof o=="function"&&o(c)},[c,o]),m.useEffect(function(){return function(){i&&i()}},[i]),s?r:e||cho}m.memo(uho);/*! ***************************************************************************** + `)),console.error(D)})},[n,w,r]);var T=m.useRef();return m.useEffect(function(){T.current&&u!==T.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),T.current=u},[u]),{isLoaded:x,loadError:v,url:w}}var lho=h.jsx(xot,{});function sho(t){var e=t.loadingElement,n=t.onLoad,o=t.onError,i=t.onUnmount,r=t.children,a=n9e(t,["loadingElement","onLoad","onError","onUnmount","children"]),l=aho(a),s=l.isLoaded,c=l.loadError;return m.useEffect(function(){s&&typeof n=="function"&&n()},[s,n]),m.useEffect(function(){c&&typeof o=="function"&&o(c)},[c,o]),m.useEffect(function(){return function(){i&&i()}},[i]),s?r:e||lho}m.memo(sho);/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -7156,7 +7156,7 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */function dho(t,e,n,o){function i(r){return r instanceof n?r:new n(function(a){a(r)})}return new(n||(n=Promise))(function(r,a){function l(u){try{c(o.next(u))}catch(d){a(d)}}function s(u){try{c(o.throw(u))}catch(d){a(d)}}function c(u){u.done?r(u.value):i(u.value).then(l,s)}c((o=o.apply(t,[])).next())})}var fho=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var o,i,r;if(Array.isArray(e)){if(o=e.length,o!=n.length)return!1;for(i=o;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(r=Object.keys(e),o=r.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;for(i=o;i--!==0;){var a=r[i];if(!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n};const tHe="__googleMapsScriptId";var tC;(function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"})(tC||(tC={}));class xv{constructor({apiKey:e,authReferrerPolicy:n,channel:o,client:i,id:r=tHe,language:a,libraries:l=[],mapIds:s,nonce:c,region:u,retries:d=3,url:f="https://maps.googleapis.com/maps/api/js",version:p}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=n,this.channel=o,this.client=i,this.id=r||tHe,this.language=a,this.libraries=l,this.mapIds=s,this.nonce=c,this.region=u,this.retries=d,this.url=f,this.version=p,xv.instance){if(!fho(this.options,xv.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(xv.instance.options)}`);return xv.instance}xv.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?tC.FAILURE:this.done?tC.SUCCESS:this.loading?tC.LOADING:tC.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+="?callback=__googleMapsCallback",this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),this.libraries.length>0&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`®ion=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(e+=`&auth_referrer_policy=${this.authReferrerPolicy}`),e}deleteScript(){const e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,n)=>{this.loadCallback(o=>{o?n(o.error):e(window.google)})})}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,n;if(document.getElementById(this.id)){this.callback();return}const o={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(o).forEach(r=>!o[r]&&delete o[r]),!((n=(e=window==null?void 0:window.google)===null||e===void 0?void 0:e.maps)===null||n===void 0)&&n.importLibrary||(r=>{let a,l,s,c="The Google Maps JavaScript API",u="google",d="importLibrary",f="__ib__",p=document,g=window;g=g[u]||(g[u]={});const y=g.maps||(g.maps={}),A=new Set,x=new URLSearchParams,C=()=>a||(a=new Promise((b,v)=>dho(this,void 0,void 0,function*(){var S;yield l=p.createElement("script"),l.id=this.id,x.set("libraries",[...A]+"");for(s in r)x.set(s.replace(/[A-Z]/g,w=>"_"+w[0].toLowerCase()),r[s]);x.set("callback",u+".maps."+f),l.src=this.url+"?"+x,y[f]=b,l.onerror=()=>a=v(Error(c+" could not load.")),l.nonce=this.nonce||((S=p.querySelector("script[nonce]"))===null||S===void 0?void 0:S.nonce)||"",p.head.append(l)})));y[d]?console.warn(c+" only loads once. Ignoring:",r):y[d]=(b,...v)=>A.add(b)&&C().then(()=>y[d](b,...v))})(o);const i=this.libraries.map(r=>this.importLibrary(r));i.length||i.push(this.importLibrary("core")),Promise.all(i).then(()=>this.callback(),r=>{const a=new ErrorEvent("error",{error:r});this.loadErrorCallback(a)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){const n=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${n} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},n)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback();return}this.loading||(this.loading=!0,this.setScript())}}}var hho=["maps"];function bot(t){var e=t.id,n=e===void 0?CF.id:e,o=t.version,i=o===void 0?CF.version:o,r=t.nonce,a=t.googleMapsApiKey,l=t.language,s=t.region,c=t.libraries,u=c===void 0?hho:c,d=t.preventGoogleFontsLoading,f=t.mapIds,p=t.authReferrerPolicy,g=m.useRef(!1),y=m.useState(!1),A=y[0],x=y[1],C=m.useState(void 0),b=C[0],v=C[1];m.useEffect(function(){return g.current=!0,function(){g.current=!1}},[]);var S=m.useMemo(function(){return new xv({id:n,apiKey:a,version:i,libraries:u,language:l||"en",region:s||"US",mapIds:f||[],nonce:r||"",authReferrerPolicy:p||"origin"})},[n,a,i,u,l,s,f,r,p]);m.useEffect(function(){A||S.load().then(function(){g.current&&x(!0)}).catch(function(P){v(P)})},[]),m.useEffect(function(){yw&&d&&o9e()},[d]);var w=m.useRef();return m.useEffect(function(){w.current&&u!==w.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),w.current=u},[u]),{isLoaded:A,loadError:b}}var nHe={},oHe={options:function(t,e){t.setOptions(e)}};function pho(t){var e=t.options,n=t.onLoad,o=t.onUnmount,i=m.useContext(xa),r=m.useState(null),a=r[0],l=r[1];return m.useEffect(function(){a!==null&&a.setMap(i)},[i]),m.useEffect(function(){e&&a!==null&&a.setOptions(e)},[a,e]),m.useEffect(function(){var s=new google.maps.TrafficLayer(cr(cr({},e||{}),{map:i}));return l(s),n&&n(s),function(){a!==null&&(o&&o(a),a.setMap(null))}},[]),null}m.memo(pho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={trafficLayer:null},n.setTrafficLayerCallback=function(){n.state.trafficLayer!==null&&n.props.onLoad&&n.props.onLoad(n.state.trafficLayer)},n.registeredEvents=[],n}return e.prototype.componentDidMount=function(){var n=new google.maps.TrafficLayer(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:oHe,eventMap:nHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{trafficLayer:n}},this.setTrafficLayerCallback)},e.prototype.componentDidUpdate=function(n){this.state.trafficLayer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:oHe,eventMap:nHe,prevProps:n,nextProps:this.props,instance:this.state.trafficLayer}))},e.prototype.componentWillUnmount=function(){this.state.trafficLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),ja(this.registeredEvents),this.state.trafficLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function gho(t){var e=t.onLoad,n=t.onUnmount,o=m.useContext(xa),i=m.useState(null),r=i[0],a=i[1];return m.useEffect(function(){r!==null&&r.setMap(o)},[o]),m.useEffect(function(){var l=new google.maps.BicyclingLayer;return a(l),l.setMap(o),e&&e(l),function(){l!==null&&(n&&n(l),l.setMap(null))}},[]),null}m.memo(gho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={bicyclingLayer:null},n.setBicyclingLayerCallback=function(){n.state.bicyclingLayer!==null&&(n.state.bicyclingLayer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.bicyclingLayer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.BicyclingLayer;this.setState(function(){return{bicyclingLayer:n}},this.setBicyclingLayerCallback)},e.prototype.componentWillUnmount=function(){this.state.bicyclingLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function mho(t){var e=t.onLoad,n=t.onUnmount,o=m.useContext(xa),i=m.useState(null),r=i[0],a=i[1];return m.useEffect(function(){r!==null&&r.setMap(o)},[o]),m.useEffect(function(){var l=new google.maps.TransitLayer;return a(l),l.setMap(o),e&&e(l),function(){r!==null&&(n&&n(r),r.setMap(null))}},[]),null}m.memo(mho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={transitLayer:null},n.setTransitLayerCallback=function(){n.state.transitLayer!==null&&(n.state.transitLayer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.transitLayer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.TransitLayer;this.setState(function(){return{transitLayer:n}},this.setTransitLayerCallback)},e.prototype.componentWillUnmount=function(){this.state.transitLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var iHe={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},rHe={drawingMode:function(t,e){t.setDrawingMode(e)},options:function(t,e){t.setOptions(e)}};function yho(t){var e=t.options,n=t.drawingMode,o=t.onCircleComplete,i=t.onMarkerComplete,r=t.onOverlayComplete,a=t.onPolygonComplete,l=t.onPolylineComplete,s=t.onRectangleComplete,c=t.onLoad,u=t.onUnmount,d=m.useContext(xa),f=m.useState(null),p=f[0],g=f[1],y=m.useState(null),A=y[0],x=y[1],C=m.useState(null),b=C[0],v=C[1],S=m.useState(null),w=S[0],T=S[1],P=m.useState(null),R=P[0],H=P[1],D=m.useState(null),E=D[0],L=D[1],U=m.useState(null),F=U[0],W=U[1];return m.useEffect(function(){p!==null&&p.setMap(d)},[d]),m.useEffect(function(){e&&p!==null&&p.setOptions(e)},[p,e]),m.useEffect(function(){n&&p!==null&&p.setDrawingMode(n)},[p,n]),m.useEffect(function(){p&&o&&(A!==null&&google.maps.event.removeListener(A),x(google.maps.event.addListener(p,"circlecomplete",o)))},[p,o]),m.useEffect(function(){p&&i&&(b!==null&&google.maps.event.removeListener(b),v(google.maps.event.addListener(p,"markercomplete",i)))},[p,i]),m.useEffect(function(){p&&r&&(w!==null&&google.maps.event.removeListener(w),T(google.maps.event.addListener(p,"overlaycomplete",r)))},[p,r]),m.useEffect(function(){p&&a&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(p,"polygoncomplete",a)))},[p,a]),m.useEffect(function(){p&&l&&(E!==null&&google.maps.event.removeListener(E),L(google.maps.event.addListener(p,"polylinecomplete",l)))},[p,l]),m.useEffect(function(){p&&s&&(F!==null&&google.maps.event.removeListener(F),W(google.maps.event.addListener(p,"rectanglecomplete",s)))},[p,s]),m.useEffect(function(){B0(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var B=new google.maps.drawing.DrawingManager(cr(cr({},e||{}),{map:d}));return n&&B.setDrawingMode(n),o&&x(google.maps.event.addListener(B,"circlecomplete",o)),i&&v(google.maps.event.addListener(B,"markercomplete",i)),r&&T(google.maps.event.addListener(B,"overlaycomplete",r)),a&&H(google.maps.event.addListener(B,"polygoncomplete",a)),l&&L(google.maps.event.addListener(B,"polylinecomplete",l)),s&&W(google.maps.event.addListener(B,"rectanglecomplete",s)),g(B),c&&c(B),function(){p!==null&&(A&&google.maps.event.removeListener(A),b&&google.maps.event.removeListener(b),w&&google.maps.event.removeListener(w),R&&google.maps.event.removeListener(R),E&&google.maps.event.removeListener(E),F&&google.maps.event.removeListener(F),u&&u(p),p.setMap(null))}},[]),null}m.memo(yho);(function(t){Ms(e,t);function e(n){var o=t.call(this,n)||this;return o.registeredEvents=[],o.state={drawingManager:null},o.setDrawingManagerCallback=function(){o.state.drawingManager!==null&&o.props.onLoad&&o.props.onLoad(o.state.drawingManager)},B0(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing),o}return e.prototype.componentDidMount=function(){var n=new google.maps.drawing.DrawingManager(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:rHe,eventMap:iHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{drawingManager:n}},this.setDrawingManagerCallback)},e.prototype.componentDidUpdate=function(n){this.state.drawingManager!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:rHe,eventMap:iHe,prevProps:n,nextProps:this.props,instance:this.state.drawingManager}))},e.prototype.componentWillUnmount=function(){this.state.drawingManager!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),ja(this.registeredEvents),this.state.drawingManager.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var aHe={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},lHe={animation:function(t,e){t.setAnimation(e)},clickable:function(t,e){t.setClickable(e)},cursor:function(t,e){t.setCursor(e)},draggable:function(t,e){t.setDraggable(e)},icon:function(t,e){t.setIcon(e)},label:function(t,e){t.setLabel(e)},map:function(t,e){t.setMap(e)},opacity:function(t,e){t.setOpacity(e)},options:function(t,e){t.setOptions(e)},position:function(t,e){t.setPosition(e)},shape:function(t,e){t.setShape(e)},title:function(t,e){t.setTitle(e)},visible:function(t,e){t.setVisible(e)},zIndex:function(t,e){t.setZIndex(e)}},YX={};function Aho(t){var e=t.position,n=t.options,o=t.clusterer,i=t.noClustererRedraw,r=t.children,a=t.draggable,l=t.visible,s=t.animation,c=t.clickable,u=t.cursor,d=t.icon,f=t.label,p=t.opacity,g=t.shape,y=t.title,A=t.zIndex,x=t.onClick,C=t.onDblClick,b=t.onDrag,v=t.onDragEnd,S=t.onDragStart,w=t.onMouseOut,T=t.onMouseOver,P=t.onMouseUp,R=t.onMouseDown,H=t.onRightClick,D=t.onClickableChanged,E=t.onCursorChanged,L=t.onAnimationChanged,U=t.onDraggableChanged,F=t.onFlatChanged,W=t.onIconChanged,B=t.onPositionChanged,k=t.onShapeChanged,N=t.onTitleChanged,j=t.onVisibleChanged,Y=t.onZindexChanged,_=t.onLoad,J=t.onUnmount,Q=m.useContext(xa),ee=m.useState(null),$=ee[0],q=ee[1],le=m.useState(null),ie=le[0],pe=le[1],ne=m.useState(null),Z=ne[0],he=ne[1],fe=m.useState(null),se=fe[0],oe=fe[1],de=m.useState(null),ve=de[0],Pe=de[1],me=m.useState(null),Re=me[0],ze=me[1],Ae=m.useState(null),re=Ae[0],ge=Ae[1],we=m.useState(null),ye=we[0],Te=we[1],Ie=m.useState(null),Ce=Ie[0],Ee=Ie[1],Ue=m.useState(null),Ne=Ue[0],Le=Ue[1],qe=m.useState(null),We=qe[0],De=qe[1],Fe=m.useState(null),_e=Fe[0],ot=Fe[1],Ye=m.useState(null),St=Ye[0],dt=Ye[1],je=m.useState(null),at=je[0],ut=je[1],wt=m.useState(null),rt=wt[0],Qe=wt[1],Oe=m.useState(null),et=Oe[0],vt=Oe[1],ct=m.useState(null),lt=ct[0],tt=ct[1],it=m.useState(null),At=it[0],Mt=it[1],st=m.useState(null),ft=st[0],Rt=st[1],zt=m.useState(null),Xe=zt[0],ht=zt[1],Je=m.useState(null),mt=Je[0],Ge=Je[1],xt=m.useState(null),It=xt[0],Tt=xt[1];m.useEffect(function(){$!==null&&$.setMap(Q)},[Q]),m.useEffect(function(){typeof n<"u"&&$!==null&&$.setOptions(n)},[$,n]),m.useEffect(function(){typeof a<"u"&&$!==null&&$.setDraggable(a)},[$,a]),m.useEffect(function(){e&&$!==null&&$.setPosition(e)},[$,e]),m.useEffect(function(){typeof l<"u"&&$!==null&&$.setVisible(l)},[$,l]),m.useEffect(function(){$==null||$.setAnimation(s)},[$,s]),m.useEffect(function(){$&&C&&(ie!==null&&google.maps.event.removeListener(ie),pe(google.maps.event.addListener($,"dblclick",C)))},[C]),m.useEffect(function(){$&&v&&(Z!==null&&google.maps.event.removeListener(Z),he(google.maps.event.addListener($,"dragend",v)))},[v]),m.useEffect(function(){$&&S&&(se!==null&&google.maps.event.removeListener(se),oe(google.maps.event.addListener($,"dragstart",S)))},[S]),m.useEffect(function(){$&&R&&(ve!==null&&google.maps.event.removeListener(ve),Pe(google.maps.event.addListener($,"mousedown",R)))},[R]),m.useEffect(function(){$&&w&&(Re!==null&&google.maps.event.removeListener(Re),ze(google.maps.event.addListener($,"mouseout",w)))},[w]),m.useEffect(function(){$&&T&&(re!==null&&google.maps.event.removeListener(re),ge(google.maps.event.addListener($,"mouseover",T)))},[T]),m.useEffect(function(){$&&P&&(ye!==null&&google.maps.event.removeListener(ye),Te(google.maps.event.addListener($,"mouseup",P)))},[P]),m.useEffect(function(){$&&H&&(Ce!==null&&google.maps.event.removeListener(Ce),Ee(google.maps.event.addListener($,"rightclick",H)))},[H]),m.useEffect(function(){$&&x&&(Ne!==null&&google.maps.event.removeListener(Ne),Le(google.maps.event.addListener($,"click",x)))},[x]),m.useEffect(function(){$&&b&&(We!==null&&google.maps.event.removeListener(We),De(google.maps.event.addListener($,"drag",b)))},[b]),m.useEffect(function(){$&&D&&(_e!==null&&google.maps.event.removeListener(_e),ot(google.maps.event.addListener($,"clickable_changed",D)))},[D]),m.useEffect(function(){$&&E&&(St!==null&&google.maps.event.removeListener(St),dt(google.maps.event.addListener($,"cursor_changed",E)))},[E]),m.useEffect(function(){$&&L&&(at!==null&&google.maps.event.removeListener(at),ut(google.maps.event.addListener($,"animation_changed",L)))},[L]),m.useEffect(function(){$&&U&&(rt!==null&&google.maps.event.removeListener(rt),Qe(google.maps.event.addListener($,"draggable_changed",U)))},[U]),m.useEffect(function(){$&&F&&(et!==null&&google.maps.event.removeListener(et),vt(google.maps.event.addListener($,"flat_changed",F)))},[F]),m.useEffect(function(){$&&W&&(lt!==null&&google.maps.event.removeListener(lt),tt(google.maps.event.addListener($,"icon_changed",W)))},[W]),m.useEffect(function(){$&&B&&(At!==null&&google.maps.event.removeListener(At),Mt(google.maps.event.addListener($,"position_changed",B)))},[B]),m.useEffect(function(){$&&k&&(ft!==null&&google.maps.event.removeListener(ft),Rt(google.maps.event.addListener($,"shape_changed",k)))},[k]),m.useEffect(function(){$&&N&&(Xe!==null&&google.maps.event.removeListener(Xe),ht(google.maps.event.addListener($,"title_changed",N)))},[N]),m.useEffect(function(){$&&j&&(mt!==null&&google.maps.event.removeListener(mt),Ge(google.maps.event.addListener($,"visible_changed",j)))},[j]),m.useEffect(function(){$&&Y&&(It!==null&&google.maps.event.removeListener(It),Tt(google.maps.event.addListener($,"zindex_changed",Y)))},[Y]),m.useEffect(function(){var Lt=cr(cr(cr({},n||YX),o?YX:{map:Q}),{position:e}),Et=new google.maps.Marker(Lt);return o?o.addMarker(Et,!!i):Et.setMap(Q),e&&Et.setPosition(e),typeof l<"u"&&Et.setVisible(l),typeof a<"u"&&Et.setDraggable(a),typeof c<"u"&&Et.setClickable(c),typeof u=="string"&&Et.setCursor(u),d&&Et.setIcon(d),typeof f<"u"&&Et.setLabel(f),typeof p<"u"&&Et.setOpacity(p),g&&Et.setShape(g),typeof y=="string"&&Et.setTitle(y),typeof A=="number"&&Et.setZIndex(A),C&&pe(google.maps.event.addListener(Et,"dblclick",C)),v&&he(google.maps.event.addListener(Et,"dragend",v)),S&&oe(google.maps.event.addListener(Et,"dragstart",S)),R&&Pe(google.maps.event.addListener(Et,"mousedown",R)),w&&ze(google.maps.event.addListener(Et,"mouseout",w)),T&&ge(google.maps.event.addListener(Et,"mouseover",T)),P&&Te(google.maps.event.addListener(Et,"mouseup",P)),H&&Ee(google.maps.event.addListener(Et,"rightclick",H)),x&&Le(google.maps.event.addListener(Et,"click",x)),b&&De(google.maps.event.addListener(Et,"drag",b)),D&&ot(google.maps.event.addListener(Et,"clickable_changed",D)),E&&dt(google.maps.event.addListener(Et,"cursor_changed",E)),L&&ut(google.maps.event.addListener(Et,"animation_changed",L)),U&&Qe(google.maps.event.addListener(Et,"draggable_changed",U)),F&&vt(google.maps.event.addListener(Et,"flat_changed",F)),W&&tt(google.maps.event.addListener(Et,"icon_changed",W)),B&&Mt(google.maps.event.addListener(Et,"position_changed",B)),k&&Rt(google.maps.event.addListener(Et,"shape_changed",k)),N&&ht(google.maps.event.addListener(Et,"title_changed",N)),j&&Ge(google.maps.event.addListener(Et,"visible_changed",j)),Y&&Tt(google.maps.event.addListener(Et,"zindex_changed",Y)),q(Et),_&&_(Et),function(){ie!==null&&google.maps.event.removeListener(ie),Z!==null&&google.maps.event.removeListener(Z),se!==null&&google.maps.event.removeListener(se),ve!==null&&google.maps.event.removeListener(ve),Re!==null&&google.maps.event.removeListener(Re),re!==null&&google.maps.event.removeListener(re),ye!==null&&google.maps.event.removeListener(ye),Ce!==null&&google.maps.event.removeListener(Ce),Ne!==null&&google.maps.event.removeListener(Ne),_e!==null&&google.maps.event.removeListener(_e),St!==null&&google.maps.event.removeListener(St),at!==null&&google.maps.event.removeListener(at),rt!==null&&google.maps.event.removeListener(rt),et!==null&&google.maps.event.removeListener(et),lt!==null&&google.maps.event.removeListener(lt),At!==null&&google.maps.event.removeListener(At),Xe!==null&&google.maps.event.removeListener(Xe),mt!==null&&google.maps.event.removeListener(mt),It!==null&&google.maps.event.removeListener(It),J&&J(Et),o?o.removeMarker(Et,!!i):Et&&Et.setMap(null)}},[]);var Dt=m.useMemo(function(){return r?m.Children.map(r,function(Lt){if(!m.isValidElement(Lt))return Lt;var Et=Lt;return m.cloneElement(Et,{anchor:$})}):null},[r,$]);return h.jsx(h.Fragment,{children:Dt})||null}m.memo(Aho);var sHe=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n}return e.prototype.componentDidMount=function(){var n=cr(cr(cr({},this.props.options||YX),this.props.clusterer?YX:{map:this.context}),{position:this.props.position});this.marker=new google.maps.Marker(n),this.props.clusterer?this.props.clusterer.addMarker(this.marker,!!this.props.noClustererRedraw):this.marker.setMap(this.context),this.registeredEvents=Fa({updaterMap:lHe,eventMap:aHe,prevProps:{},nextProps:this.props,instance:this.marker}),this.props.onLoad&&this.props.onLoad(this.marker)},e.prototype.componentDidUpdate=function(n){this.marker&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:lHe,eventMap:aHe,prevProps:n,nextProps:this.props,instance:this.marker}))},e.prototype.componentWillUnmount=function(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),ja(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))},e.prototype.render=function(){var n=this,o=null;return this.props.children&&(o=m.Children.map(this.props.children,function(i){if(!m.isValidElement(i))return i;var r=i;return m.cloneElement(r,{anchor:n.marker})})),o||null},e.contextType=xa,e}(m.PureComponent),who=function(){function t(e,n){e.getClusterer().extend(t,google.maps.OverlayView),this.cluster=e,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=n,this.center=void 0,this.div=null,this.sums=null,this.visible=!1,this.boundsChangedListener=null,this.url="",this.height=0,this.width=0,this.anchorText=[0,0],this.anchorIcon=[0,0],this.textColor="black",this.textSize=11,this.textDecoration="none",this.fontWeight="bold",this.fontStyle="normal",this.fontFamily="Arial,sans-serif",this.backgroundPosition="0 0",this.cMouseDownInCluster=null,this.cDraggingMapByCluster=null,this.timeOut=null,this.setMap(e.getMap()),this.onBoundsChanged=this.onBoundsChanged.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onClick=this.onClick.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onAdd=this.onAdd.bind(this),this.onRemove=this.onRemove.bind(this),this.draw=this.draw.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.useStyle=this.useStyle.bind(this),this.setCenter=this.setCenter.bind(this),this.getPosFromLatLng=this.getPosFromLatLng.bind(this)}return t.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},t.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},t.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var n=this.cluster.getClusterer();if(google.maps.event.trigger(n,"click",this.cluster),google.maps.event.trigger(n,"clusterclick",this.cluster),n.getZoomOnClick()){var o=n.getMaxZoom(),i=this.cluster.getBounds(),r=n.getMap();r!==null&&"fitBounds"in r&&r.fitBounds(i),this.timeOut=window.setTimeout(function(){var a=n.getMap();if(a!==null){"fitBounds"in a&&a.fitBounds(i);var l=a.getZoom()||0;o!==null&&l>o&&a.setZoom(o+1)}},100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},t.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},t.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},t.prototype.onAdd=function(){var e;this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),(e=this.getPanes())===null||e===void 0||e.overlayMouseTarget.appendChild(this.div);var n=this.getMap();n!==null&&(this.boundsChangedListener=google.maps.event.addListener(n,"bounds_changed",this.onBoundsChanged),this.div.addEventListener("mousedown",this.onMouseDown),this.div.addEventListener("click",this.onClick),this.div.addEventListener("mouseover",this.onMouseOver),this.div.addEventListener("mouseout",this.onMouseOut))},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),this.boundsChangedListener!==null&&google.maps.event.removeListener(this.boundsChangedListener),this.div.removeEventListener("mousedown",this.onMouseDown),this.div.removeEventListener("click",this.onClick),this.div.removeEventListener("mouseover",this.onMouseOver),this.div.removeEventListener("mouseout",this.onMouseOut),this.div.parentNode.removeChild(this.div),this.timeOut!==null&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},t.prototype.draw=function(){if(this.visible&&this.div!==null&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=e!==null?"".concat(e.y,"px"):"0",this.div.style.left=e!==null?"".concat(e.x,"px"):"0"}},t.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},t.prototype.show=function(){var e,n,o,i,r,a;if(this.div&&this.center){var l=this.sums===null||typeof this.sums.title>"u"||this.sums.title===""?this.cluster.getClusterer().getTitle():this.sums.title,s=this.backgroundPosition.split(" "),c=parseInt(((e=s[0])===null||e===void 0?void 0:e.replace(/^\s+|\s+$/g,""))||"0",10),u=parseInt(((n=s[1])===null||n===void 0?void 0:n.replace(/^\s+|\s+$/g,""))||"0",10),d=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(d!==null?"".concat(d.y,"px"):"0","; left: ").concat(d!==null?"".concat(d.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var f=document.createElement("img");f.alt=l,f.src=this.url,f.width=this.width,f.height=this.height,f.setAttribute("style","position: absolute; top: ".concat(u,"px; left: ").concat(c,"px")),this.cluster.getClusterer().enableRetinaIcons||(f.style.clip="rect(-".concat(u,"px, -").concat(c+this.width,"px, -").concat(u+this.height,", -").concat(c,")"));var p=document.createElement("div");p.setAttribute("style","position: absolute; top: ".concat(this.anchorText[0],"px; left: ").concat(this.anchorText[1],"px; color: ").concat(this.textColor,"; font-size: ").concat(this.textSize,"px; font-family: ").concat(this.fontFamily,"; font-weight: ").concat(this.fontWeight,"; fontStyle: ").concat(this.fontStyle,"; text-decoration: ").concat(this.textDecoration,"; text-align: center; width: ").concat(this.width,"px; line-height: ").concat(this.height,"px")),!((o=this.sums)===null||o===void 0)&&o.text&&(p.innerText="".concat((i=this.sums)===null||i===void 0?void 0:i.text)),!((r=this.sums)===null||r===void 0)&&r.html&&(p.innerHTML="".concat((a=this.sums)===null||a===void 0?void 0:a.html)),this.div.innerHTML="",this.div.appendChild(f),this.div.appendChild(p),this.div.title=l,this.div.style.display=""}this.visible=!0},t.prototype.useStyle=function(e){this.sums=e;var n=this.cluster.getClusterer().getStyles(),o=n[Math.min(n.length-1,Math.max(0,e.index-1))];o&&(this.url=o.url,this.height=o.height,this.width=o.width,o.className&&(this.className="".concat(this.clusterClassName," ").concat(o.className)),this.anchorText=o.anchorText||[0,0],this.anchorIcon=o.anchorIcon||[this.height/2,this.width/2],this.textColor=o.textColor||"black",this.textSize=o.textSize||11,this.textDecoration=o.textDecoration||"none",this.fontWeight=o.fontWeight||"bold",this.fontStyle=o.fontStyle||"normal",this.fontFamily=o.fontFamily||"Arial,sans-serif",this.backgroundPosition=o.backgroundPosition||"0 0")},t.prototype.setCenter=function(e){this.center=e},t.prototype.getPosFromLatLng=function(e){var n=this.getProjection().fromLatLngToDivPixel(e);return n!==null&&(n.x-=this.anchorIcon[1],n.y-=this.anchorIcon[0]),n},t}(),vho=function(){function t(e){this.markerClusterer=e,this.map=this.markerClusterer.getMap(),this.gridSize=this.markerClusterer.getGridSize(),this.minClusterSize=this.markerClusterer.getMinimumClusterSize(),this.averageCenter=this.markerClusterer.getAverageCenter(),this.markers=[],this.center=void 0,this.bounds=null,this.clusterIcon=new who(this,this.markerClusterer.getStyles()),this.getSize=this.getSize.bind(this),this.getMarkers=this.getMarkers.bind(this),this.getCenter=this.getCenter.bind(this),this.getMap=this.getMap.bind(this),this.getClusterer=this.getClusterer.bind(this),this.getBounds=this.getBounds.bind(this),this.remove=this.remove.bind(this),this.addMarker=this.addMarker.bind(this),this.isMarkerInClusterBounds=this.isMarkerInClusterBounds.bind(this),this.calculateBounds=this.calculateBounds.bind(this),this.updateIcon=this.updateIcon.bind(this),this.isMarkerAlreadyAdded=this.isMarkerAlreadyAdded.bind(this)}return t.prototype.getSize=function(){return this.markers.length},t.prototype.getMarkers=function(){return this.markers},t.prototype.getCenter=function(){return this.center},t.prototype.getMap=function(){return this.map},t.prototype.getClusterer=function(){return this.markerClusterer},t.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),n=this.getMarkers(),o=0,i=n;oa)e.getMap()!==this.map&&e.setMap(this.map);else if(ro){this.clusterIcon.hide();return}if(n0))for(var e=0;e3?new google.maps.LatLngBounds(i==null?void 0:i.getSouthWest(),i==null?void 0:i.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),l=this.getExtendedBounds(a),s=Math.min(e+this.batchSize,this.markers.length),c=e;c"u"&&(typeof e.isHidden>"u"?e.visible=!0:e.visible=!e.isHidden),this.isHidden=!e.visible,this.alignBottom=e.alignBottom||!1,this.pane=e.pane||"floatPane",this.enableEventPropagation=e.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return t.prototype.createInfoBoxDiv=function(){var e=this,n=function(c){c.returnValue=!1,c.preventDefault&&c.preventDefault(),e.enableEventPropagation||cHe(c)};if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),typeof this.content=="string"?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var o=this.getPanes();if(o!==null&&o[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(this.maxWidth!==0&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var i=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-i.left-i.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var r=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"],a=0,l=r;al&&(o=A.x+d+c+p-l),this.alignBottom?A.y<-u+g+f?i=A.y+u-g-f:A.y+u+g>s&&(i=A.y+u+g-s):A.y<-u+g?i=A.y+u-g:A.y+f+u+g>s&&(i=A.y+f+u+g-s)),o===0&&i===0||n.panBy(o,i)}}},t.prototype.setBoxStyle=function(){if(this.div){this.div.className=this.boxClass,this.div.style.cssText="";var e=this.boxStyle;for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(this.div.style[n]=e[n]);if(this.div.style.webkitTransform="translateZ(0)",typeof this.div.style.opacity<"u"&&this.div.style.opacity!==""){var o=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+o*100+')"',this.div.style.filter="alpha(opacity="+o*100+")"}this.div.style.position="absolute",this.div.style.visibility="hidden",this.zIndex!==null&&(this.div.style.zIndex=this.zIndex+""),this.div.style.overflow||(this.div.style.overflow="auto")}},t.prototype.getBoxWidths=function(){var e={top:0,bottom:0,left:0,right:0};if(!this.div)return e;if(document.defaultView){var n=this.div.ownerDocument,o=n&&n.defaultView?n.defaultView.getComputedStyle(this.div,""):null;o&&(e.top=parseInt(o.borderTopWidth||"",10)||0,e.bottom=parseInt(o.borderBottomWidth||"",10)||0,e.left=parseInt(o.borderLeftWidth||"",10)||0,e.right=parseInt(o.borderRightWidth||"",10)||0)}else if(document.documentElement.currentStyle){var i=this.div.currentStyle;i&&(e.top=parseInt(i.borderTopWidth||"",10)||0,e.bottom=parseInt(i.borderBottomWidth||"",10)||0,e.left=parseInt(i.borderLeftWidth||"",10)||0,e.right=parseInt(i.borderRightWidth||"",10)||0)}return e},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},t.prototype.draw=function(){if(this.createInfoBoxDiv(),this.div){var e=this.getProjection(),n=e.fromLatLngToDivPixel(this.position);n!==null&&(this.div.style.left=n.x+this.pixelOffset.width+"px",this.alignBottom?this.div.style.bottom=-(n.y+this.pixelOffset.height)+"px":this.div.style.top=n.y+this.pixelOffset.height+"px"),this.isHidden?this.div.style.visibility="hidden":this.div.style.visibility="visible"}},t.prototype.setOptions=function(e){e===void 0&&(e={}),typeof e.boxClass<"u"&&(this.boxClass=e.boxClass,this.setBoxStyle()),typeof e.boxStyle<"u"&&(this.boxStyle=e.boxStyle,this.setBoxStyle()),typeof e.content<"u"&&this.setContent(e.content),typeof e.disableAutoPan<"u"&&(this.disableAutoPan=e.disableAutoPan),typeof e.maxWidth<"u"&&(this.maxWidth=e.maxWidth),typeof e.pixelOffset<"u"&&(this.pixelOffset=e.pixelOffset),typeof e.alignBottom<"u"&&(this.alignBottom=e.alignBottom),typeof e.position<"u"&&this.setPosition(e.position),typeof e.zIndex<"u"&&this.setZIndex(e.zIndex),typeof e.closeBoxMargin<"u"&&(this.closeBoxMargin=e.closeBoxMargin),typeof e.closeBoxURL<"u"&&(this.closeBoxURL=e.closeBoxURL),typeof e.infoBoxClearance<"u"&&(this.infoBoxClearance=e.infoBoxClearance),typeof e.isHidden<"u"&&(this.isHidden=e.isHidden),typeof e.visible<"u"&&(this.isHidden=!e.visible),typeof e.enableEventPropagation<"u"&&(this.enableEventPropagation=e.enableEventPropagation),this.div&&this.draw()},t.prototype.setContent=function(e){this.content=e,this.div&&(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.fixedWidthSet||(this.div.style.width=""),typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e)),this.fixedWidthSet||(this.div.style.width=this.div.offsetWidth+"px",typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e))),this.addClickHandler()),google.maps.event.trigger(this,"content_changed")},t.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},t.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},t.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},t.prototype.getContent=function(){return this.content},t.prototype.getPosition=function(){return this.position},t.prototype.getZIndex=function(){return this.zIndex},t.prototype.getVisible=function(){var e=this.getMap();return typeof e>"u"||e===null?!1:!this.isHidden},t.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},t.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},t.prototype.open=function(e,n){var o=this;n&&(this.position=n.getPosition(),this.moveListener=google.maps.event.addListener(n,"position_changed",function(){var i=n.getPosition();o.setPosition(i)}),this.mapListener=google.maps.event.addListener(n,"map_changed",function(){o.setMap(n.map)})),this.setMap(e),this.div&&this.panBox()},t.prototype.close=function(){if(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.eventListeners){for(var e=0,n=this.eventListeners;e."),d&&d(Y)}return function(){y!==null&&(C&&google.maps.event.removeListener(C),P&&google.maps.event.removeListener(P),S&&google.maps.event.removeListener(S),D&&google.maps.event.removeListener(D),U&&google.maps.event.removeListener(U),f&&f(y),y.close())}},[]),W.current?Sd.createPortal(m.Children.only(e),W.current):null}m.memo(Dho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=null,n.state={infoBox:null},n.open=function(o,i){i?n.context!==null&&o.open(n.context,i):o.getPosition()?n.context!==null&&o.open(n.context):B0(!1,"You must provide either an anchor or a position prop for .")},n.setInfoBoxCallback=function(){n.state.infoBox!==null&&n.containerElement!==null&&(n.state.infoBox.setContent(n.containerElement),n.open(n.state.infoBox,n.props.anchor),n.props.onLoad&&n.props.onLoad(n.state.infoBox))},n}return e.prototype.componentDidMount=function(){var n=this.props.options||{},o=n.position,i=n9e(n,["position"]),r;o&&!(o instanceof google.maps.LatLng)&&(r=new google.maps.LatLng(o.lat,o.lng));var a=new Tot(cr(cr({},i),r?{position:r}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=Fa({updaterMap:dHe,eventMap:uHe,prevProps:{},nextProps:this.props,instance:a}),this.setState({infoBox:a},this.setInfoBoxCallback)},e.prototype.componentDidUpdate=function(n){var o=this.state.infoBox;o!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:dHe,eventMap:uHe,prevProps:n,nextProps:this.props,instance:o}))},e.prototype.componentWillUnmount=function(){var n=this.props.onUnmount,o=this.state.infoBox;o!==null&&(n&&n(o),ja(this.registeredEvents),o.close())},e.prototype.render=function(){return this.containerElement?Sd.createPortal(m.Children.only(this.props.children),this.containerElement):null},e.contextType=xa,e})(m.PureComponent);var Eho=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var o,i,r;if(Array.isArray(e)){if(o=e.length,o!=n.length)return!1;for(i=o;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(r=Object.keys(e),o=r.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;for(i=o;i--!==0;){var a=r[i];if(!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n},fHe=yot(Eho);const hHe=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],bae=1,Yz=8;class i9e{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[n,o]=new Uint8Array(e,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");const i=o>>4;if(i!==bae)throw new Error(`Got v${i} data when expected v${bae}.`);const r=hHe[o&15];if(!r)throw new Error("Unrecognized array type.");const[a]=new Uint16Array(e,2,1),[l]=new Uint32Array(e,4,1);return new i9e(l,a,r,e)}constructor(e,n=64,o=Float64Array,i){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=o,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const r=hHe.indexOf(this.ArrayType),a=e*2*this.ArrayType.BYTES_PER_ELEMENT,l=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-l%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${o}.`);i&&i instanceof ArrayBuffer?(this.data=i,this.ids=new this.IndexArrayType(this.data,Yz,e),this.coords=new this.ArrayType(this.data,Yz+l+s,e*2),this._pos=e*2,this._finished=!0):(this.data=new ArrayBuffer(Yz+a+l+s),this.ids=new this.IndexArrayType(this.data,Yz,e),this.coords=new this.ArrayType(this.data,Yz+l+s,e*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(bae<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=e)}add(e,n){const o=this._pos>>1;return this.ids[o]=o,this.coords[this._pos++]=e,this.coords[this._pos++]=n,o}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return Bde(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,n,o,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:a,nodeSize:l}=this,s=[0,r.length-1,0],c=[];for(;s.length;){const u=s.pop()||0,d=s.pop()||0,f=s.pop()||0;if(d-f<=l){for(let A=f;A<=d;A++){const x=a[2*A],C=a[2*A+1];x>=e&&x<=o&&C>=n&&C<=i&&c.push(r[A])}continue}const p=f+d>>1,g=a[2*p],y=a[2*p+1];g>=e&&g<=o&&y>=n&&y<=i&&c.push(r[p]),(u===0?e<=g:n<=y)&&(s.push(f),s.push(p-1),s.push(1-u)),(u===0?o>=g:i>=y)&&(s.push(p+1),s.push(d),s.push(1-u))}return c}within(e,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:r,nodeSize:a}=this,l=[0,i.length-1,0],s=[],c=o*o;for(;l.length;){const u=l.pop()||0,d=l.pop()||0,f=l.pop()||0;if(d-f<=a){for(let A=f;A<=d;A++)pHe(r[2*A],r[2*A+1],e,n)<=c&&s.push(i[A]);continue}const p=f+d>>1,g=r[2*p],y=r[2*p+1];pHe(g,y,e,n)<=c&&s.push(i[p]),(u===0?e-o<=g:n-o<=y)&&(l.push(f),l.push(p-1),l.push(1-u)),(u===0?e+o>=g:n+o>=y)&&(l.push(p+1),l.push(d),l.push(1-u))}return s}}function Bde(t,e,n,o,i,r){if(i-o<=n)return;const a=o+i>>1;Pot(t,e,a,o,i,r),Bde(t,e,n,o,a-1,1-r),Bde(t,e,n,a+1,i,1-r)}function Pot(t,e,n,o,i,r){for(;i>o;){if(i-o>600){const c=i-o+1,u=n-o+1,d=Math.log(c),f=.5*Math.exp(2*d/3),p=.5*Math.sqrt(d*f*(c-f)/c)*(u-c/2<0?-1:1),g=Math.max(o,Math.floor(n-u*f/c+p)),y=Math.min(i,Math.floor(n+(c-u)*f/c+p));Pot(t,e,n,g,y,r)}const a=e[2*n+r];let l=o,s=i;for(Oz(t,e,o,n),e[2*i+r]>a&&Oz(t,e,o,i);la;)s--}e[2*o+r]===a?Oz(t,e,o,s):(s++,Oz(t,e,s,i)),s<=n&&(o=s+1),n<=s&&(i=s-1)}}function Oz(t,e,n,o){Sae(t,n,o),Sae(e,2*n,2*o),Sae(e,2*n+1,2*o+1)}function Sae(t,e,n){const o=t[e];t[e]=t[n],t[n]=o}function pHe(t,e,n,o){const i=t-n,r=e-o;return i*i+r*r}const kho={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},gHe=Math.fround||(t=>e=>(t[0]=+e,t[0]))(new Float32Array(1)),$8=2,X4=3,Tae=4,F4=5,Cot=6;class Fho{constructor(e){this.options=Object.assign(Object.create(kho),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:n,minZoom:o,maxZoom:i}=this.options;n&&console.time("total time");const r=`prepare ${e.length} points`;n&&console.time(r),this.points=e;const a=[];for(let s=0;s=o;s--){const c=+Date.now();l=this.trees[s]=this._createTree(this._cluster(l,s)),n&&console.log("z%d: %d clusters in %dms",s,l.numItems,+Date.now()-c)}return n&&console.timeEnd("total time"),this}getClusters(e,n){let o=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let r=e[2]===180?180:((e[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,r=180;else if(o>r){const d=this.getClusters([o,i,180,a],n),f=this.getClusters([-180,i,r,a],n);return d.concat(f)}const l=this.trees[this._limitZoom(n)],s=l.range(RO(o),HO(a),RO(r),HO(i)),c=l.data,u=[];for(const d of s){const f=this.stride*d;u.push(c[f+F4]>1?mHe(c,f,this.clusterProps):this.points[c[f+X4]])}return u}getChildren(e){const n=this._getOriginId(e),o=this._getOriginZoom(e),i="No cluster with the specified id.",r=this.trees[o];if(!r)throw new Error(i);const a=r.data;if(n*this.stride>=a.length)throw new Error(i);const l=this.options.radius/(this.options.extent*Math.pow(2,o-1)),s=a[n*this.stride],c=a[n*this.stride+1],u=r.within(s,c,l),d=[];for(const f of u){const p=f*this.stride;a[p+Tae]===e&&d.push(a[p+F4]>1?mHe(a,p,this.clusterProps):this.points[a[p+X4]])}if(d.length===0)throw new Error(i);return d}getLeaves(e,n,o){n=n||10,o=o||0;const i=[];return this._appendLeaves(i,e,n,o,0),i}getTile(e,n,o){const i=this.trees[this._limitZoom(e)],r=Math.pow(2,e),{extent:a,radius:l}=this.options,s=l/a,c=(o-s)/r,u=(o+1+s)/r,d={features:[]};return this._addTileFeatures(i.range((n-s)/r,c,(n+1+s)/r,u),i.data,n,o,r,d),n===0&&this._addTileFeatures(i.range(1-s/r,c,1,u),i.data,r,o,r,d),n===r-1&&this._addTileFeatures(i.range(0,c,s/r,u),i.data,-1,o,r,d),d.features.length?d:null}getClusterExpansionZoom(e){let n=this._getOriginZoom(e)-1;for(;n<=this.options.maxZoom;){const o=this.getChildren(e);if(n++,o.length!==1)break;e=o[0].properties.cluster_id}return n}_appendLeaves(e,n,o,i,r){const a=this.getChildren(n);for(const l of a){const s=l.properties;if(s&&s.cluster?r+s.point_count<=i?r+=s.point_count:r=this._appendLeaves(e,s.cluster_id,o,i,r):r1;let u,d,f;if(c)u=Rot(n,s,this.clusterProps),d=n[s],f=n[s+1];else{const y=this.points[n[s+X4]];u=y.properties;const[A,x]=y.geometry.coordinates;d=RO(A),f=HO(x)}const p={type:1,geometry:[[Math.round(this.options.extent*(d*r-o)),Math.round(this.options.extent*(f*r-i))]],tags:u};let g;c||this.options.generateId?g=n[s+X4]:g=this.points[n[s+X4]].id,g!==void 0&&(p.id=g),a.features.push(p)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,n){const{radius:o,extent:i,reduce:r,minPoints:a}=this.options,l=o/(i*Math.pow(2,n)),s=e.data,c=[],u=this.stride;for(let d=0;dn&&(A+=s[C+F4])}if(A>y&&A>=a){let x=f*y,C=p*y,b,v=-1;const S=((d/u|0)<<5)+(n+1)+this.points.length;for(const w of g){const T=w*u;if(s[T+$8]<=n)continue;s[T+$8]=n;const P=s[T+F4];x+=s[T]*P,C+=s[T+1]*P,s[T+Tae]=S,r&&(b||(b=this._map(s,d,!0),v=this.clusterProps.length,this.clusterProps.push(b)),r(b,this._map(s,T)))}s[d+Tae]=S,c.push(x/A,C/A,1/0,S,-1,A),r&&c.push(v)}else{for(let x=0;x1)for(const x of g){const C=x*u;if(!(s[C+$8]<=n)){s[C+$8]=n;for(let b=0;b>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,n,o){if(e[n+F4]>1){const a=this.clusterProps[e[n+Cot]];return o?Object.assign({},a):a}const i=this.points[e[n+X4]].properties,r=this.options.map(i);return o&&r===i?Object.assign({},r):r}}function mHe(t,e,n){return{type:"Feature",id:t[e+X4],properties:Rot(t,e,n),geometry:{type:"Point",coordinates:[Lho(t[e]),Who(t[e+1])]}}}function Rot(t,e,n){const o=t[e+F4],i=o>=1e4?`${Math.round(o/1e3)}k`:o>=1e3?`${Math.round(o/100)/10}k`:o,r=t[e+Cot],a=r===-1?{}:Object.assign({},n[r]);return Object.assign(a,{cluster:!0,cluster_id:t[e+X4],point_count:o,point_count_abbreviated:i})}function RO(t){return t/360+.5}function HO(t){const e=Math.sin(t*Math.PI/180),n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n<0?0:n>1?1:n}function Lho(t){return(t-.5)*360}function Who(t){const e=(180-t*360)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}/*! ***************************************************************************** +***************************************************************************** */function cho(t,e,n,o){function i(r){return r instanceof n?r:new n(function(a){a(r)})}return new(n||(n=Promise))(function(r,a){function l(u){try{c(o.next(u))}catch(d){a(d)}}function s(u){try{c(o.throw(u))}catch(d){a(d)}}function c(u){u.done?r(u.value):i(u.value).then(l,s)}c((o=o.apply(t,[])).next())})}var uho=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var o,i,r;if(Array.isArray(e)){if(o=e.length,o!=n.length)return!1;for(i=o;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(r=Object.keys(e),o=r.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;for(i=o;i--!==0;){var a=r[i];if(!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n};const tHe="__googleMapsScriptId";var tC;(function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"})(tC||(tC={}));class xv{constructor({apiKey:e,authReferrerPolicy:n,channel:o,client:i,id:r=tHe,language:a,libraries:l=[],mapIds:s,nonce:c,region:u,retries:d=3,url:f="https://maps.googleapis.com/maps/api/js",version:p}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=n,this.channel=o,this.client=i,this.id=r||tHe,this.language=a,this.libraries=l,this.mapIds=s,this.nonce=c,this.region=u,this.retries=d,this.url=f,this.version=p,xv.instance){if(!uho(this.options,xv.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(xv.instance.options)}`);return xv.instance}xv.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?tC.FAILURE:this.done?tC.SUCCESS:this.loading?tC.LOADING:tC.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+="?callback=__googleMapsCallback",this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),this.libraries.length>0&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`®ion=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(e+=`&auth_referrer_policy=${this.authReferrerPolicy}`),e}deleteScript(){const e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,n)=>{this.loadCallback(o=>{o?n(o.error):e(window.google)})})}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,n;if(document.getElementById(this.id)){this.callback();return}const o={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(o).forEach(r=>!o[r]&&delete o[r]),!((n=(e=window==null?void 0:window.google)===null||e===void 0?void 0:e.maps)===null||n===void 0)&&n.importLibrary||(r=>{let a,l,s,c="The Google Maps JavaScript API",u="google",d="importLibrary",f="__ib__",p=document,g=window;g=g[u]||(g[u]={});const y=g.maps||(g.maps={}),A=new Set,x=new URLSearchParams,C=()=>a||(a=new Promise((b,v)=>cho(this,void 0,void 0,function*(){var S;yield l=p.createElement("script"),l.id=this.id,x.set("libraries",[...A]+"");for(s in r)x.set(s.replace(/[A-Z]/g,w=>"_"+w[0].toLowerCase()),r[s]);x.set("callback",u+".maps."+f),l.src=this.url+"?"+x,y[f]=b,l.onerror=()=>a=v(Error(c+" could not load.")),l.nonce=this.nonce||((S=p.querySelector("script[nonce]"))===null||S===void 0?void 0:S.nonce)||"",p.head.append(l)})));y[d]?console.warn(c+" only loads once. Ignoring:",r):y[d]=(b,...v)=>A.add(b)&&C().then(()=>y[d](b,...v))})(o);const i=this.libraries.map(r=>this.importLibrary(r));i.length||i.push(this.importLibrary("core")),Promise.all(i).then(()=>this.callback(),r=>{const a=new ErrorEvent("error",{error:r});this.loadErrorCallback(a)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){const n=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${n} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},n)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback();return}this.loading||(this.loading=!0,this.setScript())}}}var dho=["maps"];function bot(t){var e=t.id,n=e===void 0?CF.id:e,o=t.version,i=o===void 0?CF.version:o,r=t.nonce,a=t.googleMapsApiKey,l=t.language,s=t.region,c=t.libraries,u=c===void 0?dho:c,d=t.preventGoogleFontsLoading,f=t.mapIds,p=t.authReferrerPolicy,g=m.useRef(!1),y=m.useState(!1),A=y[0],x=y[1],C=m.useState(void 0),b=C[0],v=C[1];m.useEffect(function(){return g.current=!0,function(){g.current=!1}},[]);var S=m.useMemo(function(){return new xv({id:n,apiKey:a,version:i,libraries:u,language:l||"en",region:s||"US",mapIds:f||[],nonce:r||"",authReferrerPolicy:p||"origin"})},[n,a,i,u,l,s,f,r,p]);m.useEffect(function(){A||S.load().then(function(){g.current&&x(!0)}).catch(function(P){v(P)})},[]),m.useEffect(function(){yw&&d&&o9e()},[d]);var w=m.useRef();return m.useEffect(function(){w.current&&u!==w.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),w.current=u},[u]),{isLoaded:A,loadError:b}}var nHe={},oHe={options:function(t,e){t.setOptions(e)}};function fho(t){var e=t.options,n=t.onLoad,o=t.onUnmount,i=m.useContext(xa),r=m.useState(null),a=r[0],l=r[1];return m.useEffect(function(){a!==null&&a.setMap(i)},[i]),m.useEffect(function(){e&&a!==null&&a.setOptions(e)},[a,e]),m.useEffect(function(){var s=new google.maps.TrafficLayer(cr(cr({},e||{}),{map:i}));return l(s),n&&n(s),function(){a!==null&&(o&&o(a),a.setMap(null))}},[]),null}m.memo(fho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={trafficLayer:null},n.setTrafficLayerCallback=function(){n.state.trafficLayer!==null&&n.props.onLoad&&n.props.onLoad(n.state.trafficLayer)},n.registeredEvents=[],n}return e.prototype.componentDidMount=function(){var n=new google.maps.TrafficLayer(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:oHe,eventMap:nHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{trafficLayer:n}},this.setTrafficLayerCallback)},e.prototype.componentDidUpdate=function(n){this.state.trafficLayer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:oHe,eventMap:nHe,prevProps:n,nextProps:this.props,instance:this.state.trafficLayer}))},e.prototype.componentWillUnmount=function(){this.state.trafficLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),ja(this.registeredEvents),this.state.trafficLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function hho(t){var e=t.onLoad,n=t.onUnmount,o=m.useContext(xa),i=m.useState(null),r=i[0],a=i[1];return m.useEffect(function(){r!==null&&r.setMap(o)},[o]),m.useEffect(function(){var l=new google.maps.BicyclingLayer;return a(l),l.setMap(o),e&&e(l),function(){l!==null&&(n&&n(l),l.setMap(null))}},[]),null}m.memo(hho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={bicyclingLayer:null},n.setBicyclingLayerCallback=function(){n.state.bicyclingLayer!==null&&(n.state.bicyclingLayer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.bicyclingLayer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.BicyclingLayer;this.setState(function(){return{bicyclingLayer:n}},this.setBicyclingLayerCallback)},e.prototype.componentWillUnmount=function(){this.state.bicyclingLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function pho(t){var e=t.onLoad,n=t.onUnmount,o=m.useContext(xa),i=m.useState(null),r=i[0],a=i[1];return m.useEffect(function(){r!==null&&r.setMap(o)},[o]),m.useEffect(function(){var l=new google.maps.TransitLayer;return a(l),l.setMap(o),e&&e(l),function(){r!==null&&(n&&n(r),r.setMap(null))}},[]),null}m.memo(pho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={transitLayer:null},n.setTransitLayerCallback=function(){n.state.transitLayer!==null&&(n.state.transitLayer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.transitLayer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.TransitLayer;this.setState(function(){return{transitLayer:n}},this.setTransitLayerCallback)},e.prototype.componentWillUnmount=function(){this.state.transitLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var iHe={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},rHe={drawingMode:function(t,e){t.setDrawingMode(e)},options:function(t,e){t.setOptions(e)}};function gho(t){var e=t.options,n=t.drawingMode,o=t.onCircleComplete,i=t.onMarkerComplete,r=t.onOverlayComplete,a=t.onPolygonComplete,l=t.onPolylineComplete,s=t.onRectangleComplete,c=t.onLoad,u=t.onUnmount,d=m.useContext(xa),f=m.useState(null),p=f[0],g=f[1],y=m.useState(null),A=y[0],x=y[1],C=m.useState(null),b=C[0],v=C[1],S=m.useState(null),w=S[0],T=S[1],P=m.useState(null),R=P[0],H=P[1],D=m.useState(null),E=D[0],L=D[1],U=m.useState(null),F=U[0],W=U[1];return m.useEffect(function(){p!==null&&p.setMap(d)},[d]),m.useEffect(function(){e&&p!==null&&p.setOptions(e)},[p,e]),m.useEffect(function(){n&&p!==null&&p.setDrawingMode(n)},[p,n]),m.useEffect(function(){p&&o&&(A!==null&&google.maps.event.removeListener(A),x(google.maps.event.addListener(p,"circlecomplete",o)))},[p,o]),m.useEffect(function(){p&&i&&(b!==null&&google.maps.event.removeListener(b),v(google.maps.event.addListener(p,"markercomplete",i)))},[p,i]),m.useEffect(function(){p&&r&&(w!==null&&google.maps.event.removeListener(w),T(google.maps.event.addListener(p,"overlaycomplete",r)))},[p,r]),m.useEffect(function(){p&&a&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(p,"polygoncomplete",a)))},[p,a]),m.useEffect(function(){p&&l&&(E!==null&&google.maps.event.removeListener(E),L(google.maps.event.addListener(p,"polylinecomplete",l)))},[p,l]),m.useEffect(function(){p&&s&&(F!==null&&google.maps.event.removeListener(F),W(google.maps.event.addListener(p,"rectanglecomplete",s)))},[p,s]),m.useEffect(function(){B0(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var B=new google.maps.drawing.DrawingManager(cr(cr({},e||{}),{map:d}));return n&&B.setDrawingMode(n),o&&x(google.maps.event.addListener(B,"circlecomplete",o)),i&&v(google.maps.event.addListener(B,"markercomplete",i)),r&&T(google.maps.event.addListener(B,"overlaycomplete",r)),a&&H(google.maps.event.addListener(B,"polygoncomplete",a)),l&&L(google.maps.event.addListener(B,"polylinecomplete",l)),s&&W(google.maps.event.addListener(B,"rectanglecomplete",s)),g(B),c&&c(B),function(){p!==null&&(A&&google.maps.event.removeListener(A),b&&google.maps.event.removeListener(b),w&&google.maps.event.removeListener(w),R&&google.maps.event.removeListener(R),E&&google.maps.event.removeListener(E),F&&google.maps.event.removeListener(F),u&&u(p),p.setMap(null))}},[]),null}m.memo(gho);(function(t){Ms(e,t);function e(n){var o=t.call(this,n)||this;return o.registeredEvents=[],o.state={drawingManager:null},o.setDrawingManagerCallback=function(){o.state.drawingManager!==null&&o.props.onLoad&&o.props.onLoad(o.state.drawingManager)},B0(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing),o}return e.prototype.componentDidMount=function(){var n=new google.maps.drawing.DrawingManager(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:rHe,eventMap:iHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{drawingManager:n}},this.setDrawingManagerCallback)},e.prototype.componentDidUpdate=function(n){this.state.drawingManager!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:rHe,eventMap:iHe,prevProps:n,nextProps:this.props,instance:this.state.drawingManager}))},e.prototype.componentWillUnmount=function(){this.state.drawingManager!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),ja(this.registeredEvents),this.state.drawingManager.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var aHe={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},lHe={animation:function(t,e){t.setAnimation(e)},clickable:function(t,e){t.setClickable(e)},cursor:function(t,e){t.setCursor(e)},draggable:function(t,e){t.setDraggable(e)},icon:function(t,e){t.setIcon(e)},label:function(t,e){t.setLabel(e)},map:function(t,e){t.setMap(e)},opacity:function(t,e){t.setOpacity(e)},options:function(t,e){t.setOptions(e)},position:function(t,e){t.setPosition(e)},shape:function(t,e){t.setShape(e)},title:function(t,e){t.setTitle(e)},visible:function(t,e){t.setVisible(e)},zIndex:function(t,e){t.setZIndex(e)}},YX={};function mho(t){var e=t.position,n=t.options,o=t.clusterer,i=t.noClustererRedraw,r=t.children,a=t.draggable,l=t.visible,s=t.animation,c=t.clickable,u=t.cursor,d=t.icon,f=t.label,p=t.opacity,g=t.shape,y=t.title,A=t.zIndex,x=t.onClick,C=t.onDblClick,b=t.onDrag,v=t.onDragEnd,S=t.onDragStart,w=t.onMouseOut,T=t.onMouseOver,P=t.onMouseUp,R=t.onMouseDown,H=t.onRightClick,D=t.onClickableChanged,E=t.onCursorChanged,L=t.onAnimationChanged,U=t.onDraggableChanged,F=t.onFlatChanged,W=t.onIconChanged,B=t.onPositionChanged,k=t.onShapeChanged,N=t.onTitleChanged,j=t.onVisibleChanged,Y=t.onZindexChanged,_=t.onLoad,J=t.onUnmount,Q=m.useContext(xa),ee=m.useState(null),$=ee[0],q=ee[1],le=m.useState(null),ie=le[0],pe=le[1],ne=m.useState(null),Z=ne[0],he=ne[1],fe=m.useState(null),se=fe[0],oe=fe[1],de=m.useState(null),ve=de[0],Pe=de[1],me=m.useState(null),Re=me[0],ze=me[1],Ae=m.useState(null),re=Ae[0],ge=Ae[1],we=m.useState(null),ye=we[0],Te=we[1],Ie=m.useState(null),Ce=Ie[0],Ee=Ie[1],Ue=m.useState(null),Ne=Ue[0],Le=Ue[1],qe=m.useState(null),We=qe[0],De=qe[1],Fe=m.useState(null),_e=Fe[0],ot=Fe[1],Ye=m.useState(null),St=Ye[0],dt=Ye[1],je=m.useState(null),at=je[0],ut=je[1],wt=m.useState(null),rt=wt[0],Qe=wt[1],Oe=m.useState(null),et=Oe[0],vt=Oe[1],ct=m.useState(null),lt=ct[0],tt=ct[1],it=m.useState(null),At=it[0],Mt=it[1],st=m.useState(null),ft=st[0],Rt=st[1],zt=m.useState(null),Xe=zt[0],ht=zt[1],Je=m.useState(null),mt=Je[0],Ge=Je[1],xt=m.useState(null),It=xt[0],Tt=xt[1];m.useEffect(function(){$!==null&&$.setMap(Q)},[Q]),m.useEffect(function(){typeof n<"u"&&$!==null&&$.setOptions(n)},[$,n]),m.useEffect(function(){typeof a<"u"&&$!==null&&$.setDraggable(a)},[$,a]),m.useEffect(function(){e&&$!==null&&$.setPosition(e)},[$,e]),m.useEffect(function(){typeof l<"u"&&$!==null&&$.setVisible(l)},[$,l]),m.useEffect(function(){$==null||$.setAnimation(s)},[$,s]),m.useEffect(function(){$&&C&&(ie!==null&&google.maps.event.removeListener(ie),pe(google.maps.event.addListener($,"dblclick",C)))},[C]),m.useEffect(function(){$&&v&&(Z!==null&&google.maps.event.removeListener(Z),he(google.maps.event.addListener($,"dragend",v)))},[v]),m.useEffect(function(){$&&S&&(se!==null&&google.maps.event.removeListener(se),oe(google.maps.event.addListener($,"dragstart",S)))},[S]),m.useEffect(function(){$&&R&&(ve!==null&&google.maps.event.removeListener(ve),Pe(google.maps.event.addListener($,"mousedown",R)))},[R]),m.useEffect(function(){$&&w&&(Re!==null&&google.maps.event.removeListener(Re),ze(google.maps.event.addListener($,"mouseout",w)))},[w]),m.useEffect(function(){$&&T&&(re!==null&&google.maps.event.removeListener(re),ge(google.maps.event.addListener($,"mouseover",T)))},[T]),m.useEffect(function(){$&&P&&(ye!==null&&google.maps.event.removeListener(ye),Te(google.maps.event.addListener($,"mouseup",P)))},[P]),m.useEffect(function(){$&&H&&(Ce!==null&&google.maps.event.removeListener(Ce),Ee(google.maps.event.addListener($,"rightclick",H)))},[H]),m.useEffect(function(){$&&x&&(Ne!==null&&google.maps.event.removeListener(Ne),Le(google.maps.event.addListener($,"click",x)))},[x]),m.useEffect(function(){$&&b&&(We!==null&&google.maps.event.removeListener(We),De(google.maps.event.addListener($,"drag",b)))},[b]),m.useEffect(function(){$&&D&&(_e!==null&&google.maps.event.removeListener(_e),ot(google.maps.event.addListener($,"clickable_changed",D)))},[D]),m.useEffect(function(){$&&E&&(St!==null&&google.maps.event.removeListener(St),dt(google.maps.event.addListener($,"cursor_changed",E)))},[E]),m.useEffect(function(){$&&L&&(at!==null&&google.maps.event.removeListener(at),ut(google.maps.event.addListener($,"animation_changed",L)))},[L]),m.useEffect(function(){$&&U&&(rt!==null&&google.maps.event.removeListener(rt),Qe(google.maps.event.addListener($,"draggable_changed",U)))},[U]),m.useEffect(function(){$&&F&&(et!==null&&google.maps.event.removeListener(et),vt(google.maps.event.addListener($,"flat_changed",F)))},[F]),m.useEffect(function(){$&&W&&(lt!==null&&google.maps.event.removeListener(lt),tt(google.maps.event.addListener($,"icon_changed",W)))},[W]),m.useEffect(function(){$&&B&&(At!==null&&google.maps.event.removeListener(At),Mt(google.maps.event.addListener($,"position_changed",B)))},[B]),m.useEffect(function(){$&&k&&(ft!==null&&google.maps.event.removeListener(ft),Rt(google.maps.event.addListener($,"shape_changed",k)))},[k]),m.useEffect(function(){$&&N&&(Xe!==null&&google.maps.event.removeListener(Xe),ht(google.maps.event.addListener($,"title_changed",N)))},[N]),m.useEffect(function(){$&&j&&(mt!==null&&google.maps.event.removeListener(mt),Ge(google.maps.event.addListener($,"visible_changed",j)))},[j]),m.useEffect(function(){$&&Y&&(It!==null&&google.maps.event.removeListener(It),Tt(google.maps.event.addListener($,"zindex_changed",Y)))},[Y]),m.useEffect(function(){var Lt=cr(cr(cr({},n||YX),o?YX:{map:Q}),{position:e}),Et=new google.maps.Marker(Lt);return o?o.addMarker(Et,!!i):Et.setMap(Q),e&&Et.setPosition(e),typeof l<"u"&&Et.setVisible(l),typeof a<"u"&&Et.setDraggable(a),typeof c<"u"&&Et.setClickable(c),typeof u=="string"&&Et.setCursor(u),d&&Et.setIcon(d),typeof f<"u"&&Et.setLabel(f),typeof p<"u"&&Et.setOpacity(p),g&&Et.setShape(g),typeof y=="string"&&Et.setTitle(y),typeof A=="number"&&Et.setZIndex(A),C&&pe(google.maps.event.addListener(Et,"dblclick",C)),v&&he(google.maps.event.addListener(Et,"dragend",v)),S&&oe(google.maps.event.addListener(Et,"dragstart",S)),R&&Pe(google.maps.event.addListener(Et,"mousedown",R)),w&&ze(google.maps.event.addListener(Et,"mouseout",w)),T&&ge(google.maps.event.addListener(Et,"mouseover",T)),P&&Te(google.maps.event.addListener(Et,"mouseup",P)),H&&Ee(google.maps.event.addListener(Et,"rightclick",H)),x&&Le(google.maps.event.addListener(Et,"click",x)),b&&De(google.maps.event.addListener(Et,"drag",b)),D&&ot(google.maps.event.addListener(Et,"clickable_changed",D)),E&&dt(google.maps.event.addListener(Et,"cursor_changed",E)),L&&ut(google.maps.event.addListener(Et,"animation_changed",L)),U&&Qe(google.maps.event.addListener(Et,"draggable_changed",U)),F&&vt(google.maps.event.addListener(Et,"flat_changed",F)),W&&tt(google.maps.event.addListener(Et,"icon_changed",W)),B&&Mt(google.maps.event.addListener(Et,"position_changed",B)),k&&Rt(google.maps.event.addListener(Et,"shape_changed",k)),N&&ht(google.maps.event.addListener(Et,"title_changed",N)),j&&Ge(google.maps.event.addListener(Et,"visible_changed",j)),Y&&Tt(google.maps.event.addListener(Et,"zindex_changed",Y)),q(Et),_&&_(Et),function(){ie!==null&&google.maps.event.removeListener(ie),Z!==null&&google.maps.event.removeListener(Z),se!==null&&google.maps.event.removeListener(se),ve!==null&&google.maps.event.removeListener(ve),Re!==null&&google.maps.event.removeListener(Re),re!==null&&google.maps.event.removeListener(re),ye!==null&&google.maps.event.removeListener(ye),Ce!==null&&google.maps.event.removeListener(Ce),Ne!==null&&google.maps.event.removeListener(Ne),_e!==null&&google.maps.event.removeListener(_e),St!==null&&google.maps.event.removeListener(St),at!==null&&google.maps.event.removeListener(at),rt!==null&&google.maps.event.removeListener(rt),et!==null&&google.maps.event.removeListener(et),lt!==null&&google.maps.event.removeListener(lt),At!==null&&google.maps.event.removeListener(At),Xe!==null&&google.maps.event.removeListener(Xe),mt!==null&&google.maps.event.removeListener(mt),It!==null&&google.maps.event.removeListener(It),J&&J(Et),o?o.removeMarker(Et,!!i):Et&&Et.setMap(null)}},[]);var Dt=m.useMemo(function(){return r?m.Children.map(r,function(Lt){if(!m.isValidElement(Lt))return Lt;var Et=Lt;return m.cloneElement(Et,{anchor:$})}):null},[r,$]);return h.jsx(h.Fragment,{children:Dt})||null}m.memo(mho);var sHe=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n}return e.prototype.componentDidMount=function(){var n=cr(cr(cr({},this.props.options||YX),this.props.clusterer?YX:{map:this.context}),{position:this.props.position});this.marker=new google.maps.Marker(n),this.props.clusterer?this.props.clusterer.addMarker(this.marker,!!this.props.noClustererRedraw):this.marker.setMap(this.context),this.registeredEvents=Fa({updaterMap:lHe,eventMap:aHe,prevProps:{},nextProps:this.props,instance:this.marker}),this.props.onLoad&&this.props.onLoad(this.marker)},e.prototype.componentDidUpdate=function(n){this.marker&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:lHe,eventMap:aHe,prevProps:n,nextProps:this.props,instance:this.marker}))},e.prototype.componentWillUnmount=function(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),ja(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))},e.prototype.render=function(){var n=this,o=null;return this.props.children&&(o=m.Children.map(this.props.children,function(i){if(!m.isValidElement(i))return i;var r=i;return m.cloneElement(r,{anchor:n.marker})})),o||null},e.contextType=xa,e}(m.PureComponent),yho=function(){function t(e,n){e.getClusterer().extend(t,google.maps.OverlayView),this.cluster=e,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=n,this.center=void 0,this.div=null,this.sums=null,this.visible=!1,this.boundsChangedListener=null,this.url="",this.height=0,this.width=0,this.anchorText=[0,0],this.anchorIcon=[0,0],this.textColor="black",this.textSize=11,this.textDecoration="none",this.fontWeight="bold",this.fontStyle="normal",this.fontFamily="Arial,sans-serif",this.backgroundPosition="0 0",this.cMouseDownInCluster=null,this.cDraggingMapByCluster=null,this.timeOut=null,this.setMap(e.getMap()),this.onBoundsChanged=this.onBoundsChanged.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onClick=this.onClick.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onAdd=this.onAdd.bind(this),this.onRemove=this.onRemove.bind(this),this.draw=this.draw.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.useStyle=this.useStyle.bind(this),this.setCenter=this.setCenter.bind(this),this.getPosFromLatLng=this.getPosFromLatLng.bind(this)}return t.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},t.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},t.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var n=this.cluster.getClusterer();if(google.maps.event.trigger(n,"click",this.cluster),google.maps.event.trigger(n,"clusterclick",this.cluster),n.getZoomOnClick()){var o=n.getMaxZoom(),i=this.cluster.getBounds(),r=n.getMap();r!==null&&"fitBounds"in r&&r.fitBounds(i),this.timeOut=window.setTimeout(function(){var a=n.getMap();if(a!==null){"fitBounds"in a&&a.fitBounds(i);var l=a.getZoom()||0;o!==null&&l>o&&a.setZoom(o+1)}},100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},t.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},t.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},t.prototype.onAdd=function(){var e;this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),(e=this.getPanes())===null||e===void 0||e.overlayMouseTarget.appendChild(this.div);var n=this.getMap();n!==null&&(this.boundsChangedListener=google.maps.event.addListener(n,"bounds_changed",this.onBoundsChanged),this.div.addEventListener("mousedown",this.onMouseDown),this.div.addEventListener("click",this.onClick),this.div.addEventListener("mouseover",this.onMouseOver),this.div.addEventListener("mouseout",this.onMouseOut))},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),this.boundsChangedListener!==null&&google.maps.event.removeListener(this.boundsChangedListener),this.div.removeEventListener("mousedown",this.onMouseDown),this.div.removeEventListener("click",this.onClick),this.div.removeEventListener("mouseover",this.onMouseOver),this.div.removeEventListener("mouseout",this.onMouseOut),this.div.parentNode.removeChild(this.div),this.timeOut!==null&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},t.prototype.draw=function(){if(this.visible&&this.div!==null&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=e!==null?"".concat(e.y,"px"):"0",this.div.style.left=e!==null?"".concat(e.x,"px"):"0"}},t.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},t.prototype.show=function(){var e,n,o,i,r,a;if(this.div&&this.center){var l=this.sums===null||typeof this.sums.title>"u"||this.sums.title===""?this.cluster.getClusterer().getTitle():this.sums.title,s=this.backgroundPosition.split(" "),c=parseInt(((e=s[0])===null||e===void 0?void 0:e.replace(/^\s+|\s+$/g,""))||"0",10),u=parseInt(((n=s[1])===null||n===void 0?void 0:n.replace(/^\s+|\s+$/g,""))||"0",10),d=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(d!==null?"".concat(d.y,"px"):"0","; left: ").concat(d!==null?"".concat(d.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var f=document.createElement("img");f.alt=l,f.src=this.url,f.width=this.width,f.height=this.height,f.setAttribute("style","position: absolute; top: ".concat(u,"px; left: ").concat(c,"px")),this.cluster.getClusterer().enableRetinaIcons||(f.style.clip="rect(-".concat(u,"px, -").concat(c+this.width,"px, -").concat(u+this.height,", -").concat(c,")"));var p=document.createElement("div");p.setAttribute("style","position: absolute; top: ".concat(this.anchorText[0],"px; left: ").concat(this.anchorText[1],"px; color: ").concat(this.textColor,"; font-size: ").concat(this.textSize,"px; font-family: ").concat(this.fontFamily,"; font-weight: ").concat(this.fontWeight,"; fontStyle: ").concat(this.fontStyle,"; text-decoration: ").concat(this.textDecoration,"; text-align: center; width: ").concat(this.width,"px; line-height: ").concat(this.height,"px")),!((o=this.sums)===null||o===void 0)&&o.text&&(p.innerText="".concat((i=this.sums)===null||i===void 0?void 0:i.text)),!((r=this.sums)===null||r===void 0)&&r.html&&(p.innerHTML="".concat((a=this.sums)===null||a===void 0?void 0:a.html)),this.div.innerHTML="",this.div.appendChild(f),this.div.appendChild(p),this.div.title=l,this.div.style.display=""}this.visible=!0},t.prototype.useStyle=function(e){this.sums=e;var n=this.cluster.getClusterer().getStyles(),o=n[Math.min(n.length-1,Math.max(0,e.index-1))];o&&(this.url=o.url,this.height=o.height,this.width=o.width,o.className&&(this.className="".concat(this.clusterClassName," ").concat(o.className)),this.anchorText=o.anchorText||[0,0],this.anchorIcon=o.anchorIcon||[this.height/2,this.width/2],this.textColor=o.textColor||"black",this.textSize=o.textSize||11,this.textDecoration=o.textDecoration||"none",this.fontWeight=o.fontWeight||"bold",this.fontStyle=o.fontStyle||"normal",this.fontFamily=o.fontFamily||"Arial,sans-serif",this.backgroundPosition=o.backgroundPosition||"0 0")},t.prototype.setCenter=function(e){this.center=e},t.prototype.getPosFromLatLng=function(e){var n=this.getProjection().fromLatLngToDivPixel(e);return n!==null&&(n.x-=this.anchorIcon[1],n.y-=this.anchorIcon[0]),n},t}(),Aho=function(){function t(e){this.markerClusterer=e,this.map=this.markerClusterer.getMap(),this.gridSize=this.markerClusterer.getGridSize(),this.minClusterSize=this.markerClusterer.getMinimumClusterSize(),this.averageCenter=this.markerClusterer.getAverageCenter(),this.markers=[],this.center=void 0,this.bounds=null,this.clusterIcon=new yho(this,this.markerClusterer.getStyles()),this.getSize=this.getSize.bind(this),this.getMarkers=this.getMarkers.bind(this),this.getCenter=this.getCenter.bind(this),this.getMap=this.getMap.bind(this),this.getClusterer=this.getClusterer.bind(this),this.getBounds=this.getBounds.bind(this),this.remove=this.remove.bind(this),this.addMarker=this.addMarker.bind(this),this.isMarkerInClusterBounds=this.isMarkerInClusterBounds.bind(this),this.calculateBounds=this.calculateBounds.bind(this),this.updateIcon=this.updateIcon.bind(this),this.isMarkerAlreadyAdded=this.isMarkerAlreadyAdded.bind(this)}return t.prototype.getSize=function(){return this.markers.length},t.prototype.getMarkers=function(){return this.markers},t.prototype.getCenter=function(){return this.center},t.prototype.getMap=function(){return this.map},t.prototype.getClusterer=function(){return this.markerClusterer},t.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),n=this.getMarkers(),o=0,i=n;oa)e.getMap()!==this.map&&e.setMap(this.map);else if(ro){this.clusterIcon.hide();return}if(n0))for(var e=0;e3?new google.maps.LatLngBounds(i==null?void 0:i.getSouthWest(),i==null?void 0:i.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),l=this.getExtendedBounds(a),s=Math.min(e+this.batchSize,this.markers.length),c=e;c"u"&&(typeof e.isHidden>"u"?e.visible=!0:e.visible=!e.isHidden),this.isHidden=!e.visible,this.alignBottom=e.alignBottom||!1,this.pane=e.pane||"floatPane",this.enableEventPropagation=e.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return t.prototype.createInfoBoxDiv=function(){var e=this,n=function(c){c.returnValue=!1,c.preventDefault&&c.preventDefault(),e.enableEventPropagation||cHe(c)};if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),typeof this.content=="string"?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var o=this.getPanes();if(o!==null&&o[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(this.maxWidth!==0&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var i=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-i.left-i.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var r=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"],a=0,l=r;al&&(o=A.x+d+c+p-l),this.alignBottom?A.y<-u+g+f?i=A.y+u-g-f:A.y+u+g>s&&(i=A.y+u+g-s):A.y<-u+g?i=A.y+u-g:A.y+f+u+g>s&&(i=A.y+f+u+g-s)),o===0&&i===0||n.panBy(o,i)}}},t.prototype.setBoxStyle=function(){if(this.div){this.div.className=this.boxClass,this.div.style.cssText="";var e=this.boxStyle;for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(this.div.style[n]=e[n]);if(this.div.style.webkitTransform="translateZ(0)",typeof this.div.style.opacity<"u"&&this.div.style.opacity!==""){var o=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+o*100+')"',this.div.style.filter="alpha(opacity="+o*100+")"}this.div.style.position="absolute",this.div.style.visibility="hidden",this.zIndex!==null&&(this.div.style.zIndex=this.zIndex+""),this.div.style.overflow||(this.div.style.overflow="auto")}},t.prototype.getBoxWidths=function(){var e={top:0,bottom:0,left:0,right:0};if(!this.div)return e;if(document.defaultView){var n=this.div.ownerDocument,o=n&&n.defaultView?n.defaultView.getComputedStyle(this.div,""):null;o&&(e.top=parseInt(o.borderTopWidth||"",10)||0,e.bottom=parseInt(o.borderBottomWidth||"",10)||0,e.left=parseInt(o.borderLeftWidth||"",10)||0,e.right=parseInt(o.borderRightWidth||"",10)||0)}else if(document.documentElement.currentStyle){var i=this.div.currentStyle;i&&(e.top=parseInt(i.borderTopWidth||"",10)||0,e.bottom=parseInt(i.borderBottomWidth||"",10)||0,e.left=parseInt(i.borderLeftWidth||"",10)||0,e.right=parseInt(i.borderRightWidth||"",10)||0)}return e},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},t.prototype.draw=function(){if(this.createInfoBoxDiv(),this.div){var e=this.getProjection(),n=e.fromLatLngToDivPixel(this.position);n!==null&&(this.div.style.left=n.x+this.pixelOffset.width+"px",this.alignBottom?this.div.style.bottom=-(n.y+this.pixelOffset.height)+"px":this.div.style.top=n.y+this.pixelOffset.height+"px"),this.isHidden?this.div.style.visibility="hidden":this.div.style.visibility="visible"}},t.prototype.setOptions=function(e){e===void 0&&(e={}),typeof e.boxClass<"u"&&(this.boxClass=e.boxClass,this.setBoxStyle()),typeof e.boxStyle<"u"&&(this.boxStyle=e.boxStyle,this.setBoxStyle()),typeof e.content<"u"&&this.setContent(e.content),typeof e.disableAutoPan<"u"&&(this.disableAutoPan=e.disableAutoPan),typeof e.maxWidth<"u"&&(this.maxWidth=e.maxWidth),typeof e.pixelOffset<"u"&&(this.pixelOffset=e.pixelOffset),typeof e.alignBottom<"u"&&(this.alignBottom=e.alignBottom),typeof e.position<"u"&&this.setPosition(e.position),typeof e.zIndex<"u"&&this.setZIndex(e.zIndex),typeof e.closeBoxMargin<"u"&&(this.closeBoxMargin=e.closeBoxMargin),typeof e.closeBoxURL<"u"&&(this.closeBoxURL=e.closeBoxURL),typeof e.infoBoxClearance<"u"&&(this.infoBoxClearance=e.infoBoxClearance),typeof e.isHidden<"u"&&(this.isHidden=e.isHidden),typeof e.visible<"u"&&(this.isHidden=!e.visible),typeof e.enableEventPropagation<"u"&&(this.enableEventPropagation=e.enableEventPropagation),this.div&&this.draw()},t.prototype.setContent=function(e){this.content=e,this.div&&(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.fixedWidthSet||(this.div.style.width=""),typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e)),this.fixedWidthSet||(this.div.style.width=this.div.offsetWidth+"px",typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e))),this.addClickHandler()),google.maps.event.trigger(this,"content_changed")},t.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},t.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},t.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},t.prototype.getContent=function(){return this.content},t.prototype.getPosition=function(){return this.position},t.prototype.getZIndex=function(){return this.zIndex},t.prototype.getVisible=function(){var e=this.getMap();return typeof e>"u"||e===null?!1:!this.isHidden},t.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},t.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},t.prototype.open=function(e,n){var o=this;n&&(this.position=n.getPosition(),this.moveListener=google.maps.event.addListener(n,"position_changed",function(){var i=n.getPosition();o.setPosition(i)}),this.mapListener=google.maps.event.addListener(n,"map_changed",function(){o.setMap(n.map)})),this.setMap(e),this.div&&this.panBox()},t.prototype.close=function(){if(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.eventListeners){for(var e=0,n=this.eventListeners;e."),d&&d(Y)}return function(){y!==null&&(C&&google.maps.event.removeListener(C),P&&google.maps.event.removeListener(P),S&&google.maps.event.removeListener(S),D&&google.maps.event.removeListener(D),U&&google.maps.event.removeListener(U),f&&f(y),y.close())}},[]),W.current?Sd.createPortal(m.Children.only(e),W.current):null}m.memo(Iho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=null,n.state={infoBox:null},n.open=function(o,i){i?n.context!==null&&o.open(n.context,i):o.getPosition()?n.context!==null&&o.open(n.context):B0(!1,"You must provide either an anchor or a position prop for .")},n.setInfoBoxCallback=function(){n.state.infoBox!==null&&n.containerElement!==null&&(n.state.infoBox.setContent(n.containerElement),n.open(n.state.infoBox,n.props.anchor),n.props.onLoad&&n.props.onLoad(n.state.infoBox))},n}return e.prototype.componentDidMount=function(){var n=this.props.options||{},o=n.position,i=n9e(n,["position"]),r;o&&!(o instanceof google.maps.LatLng)&&(r=new google.maps.LatLng(o.lat,o.lng));var a=new Tot(cr(cr({},i),r?{position:r}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=Fa({updaterMap:dHe,eventMap:uHe,prevProps:{},nextProps:this.props,instance:a}),this.setState({infoBox:a},this.setInfoBoxCallback)},e.prototype.componentDidUpdate=function(n){var o=this.state.infoBox;o!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:dHe,eventMap:uHe,prevProps:n,nextProps:this.props,instance:o}))},e.prototype.componentWillUnmount=function(){var n=this.props.onUnmount,o=this.state.infoBox;o!==null&&(n&&n(o),ja(this.registeredEvents),o.close())},e.prototype.render=function(){return this.containerElement?Sd.createPortal(m.Children.only(this.props.children),this.containerElement):null},e.contextType=xa,e})(m.PureComponent);var zho=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var o,i,r;if(Array.isArray(e)){if(o=e.length,o!=n.length)return!1;for(i=o;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(r=Object.keys(e),o=r.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;for(i=o;i--!==0;){var a=r[i];if(!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n},fHe=yot(zho);const hHe=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],bae=1,Yz=8;class i9e{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[n,o]=new Uint8Array(e,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");const i=o>>4;if(i!==bae)throw new Error(`Got v${i} data when expected v${bae}.`);const r=hHe[o&15];if(!r)throw new Error("Unrecognized array type.");const[a]=new Uint16Array(e,2,1),[l]=new Uint32Array(e,4,1);return new i9e(l,a,r,e)}constructor(e,n=64,o=Float64Array,i){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=o,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const r=hHe.indexOf(this.ArrayType),a=e*2*this.ArrayType.BYTES_PER_ELEMENT,l=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-l%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${o}.`);i&&i instanceof ArrayBuffer?(this.data=i,this.ids=new this.IndexArrayType(this.data,Yz,e),this.coords=new this.ArrayType(this.data,Yz+l+s,e*2),this._pos=e*2,this._finished=!0):(this.data=new ArrayBuffer(Yz+a+l+s),this.ids=new this.IndexArrayType(this.data,Yz,e),this.coords=new this.ArrayType(this.data,Yz+l+s,e*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(bae<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=e)}add(e,n){const o=this._pos>>1;return this.ids[o]=o,this.coords[this._pos++]=e,this.coords[this._pos++]=n,o}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return Bde(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,n,o,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:a,nodeSize:l}=this,s=[0,r.length-1,0],c=[];for(;s.length;){const u=s.pop()||0,d=s.pop()||0,f=s.pop()||0;if(d-f<=l){for(let A=f;A<=d;A++){const x=a[2*A],C=a[2*A+1];x>=e&&x<=o&&C>=n&&C<=i&&c.push(r[A])}continue}const p=f+d>>1,g=a[2*p],y=a[2*p+1];g>=e&&g<=o&&y>=n&&y<=i&&c.push(r[p]),(u===0?e<=g:n<=y)&&(s.push(f),s.push(p-1),s.push(1-u)),(u===0?o>=g:i>=y)&&(s.push(p+1),s.push(d),s.push(1-u))}return c}within(e,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:r,nodeSize:a}=this,l=[0,i.length-1,0],s=[],c=o*o;for(;l.length;){const u=l.pop()||0,d=l.pop()||0,f=l.pop()||0;if(d-f<=a){for(let A=f;A<=d;A++)pHe(r[2*A],r[2*A+1],e,n)<=c&&s.push(i[A]);continue}const p=f+d>>1,g=r[2*p],y=r[2*p+1];pHe(g,y,e,n)<=c&&s.push(i[p]),(u===0?e-o<=g:n-o<=y)&&(l.push(f),l.push(p-1),l.push(1-u)),(u===0?e+o>=g:n+o>=y)&&(l.push(p+1),l.push(d),l.push(1-u))}return s}}function Bde(t,e,n,o,i,r){if(i-o<=n)return;const a=o+i>>1;Pot(t,e,a,o,i,r),Bde(t,e,n,o,a-1,1-r),Bde(t,e,n,a+1,i,1-r)}function Pot(t,e,n,o,i,r){for(;i>o;){if(i-o>600){const c=i-o+1,u=n-o+1,d=Math.log(c),f=.5*Math.exp(2*d/3),p=.5*Math.sqrt(d*f*(c-f)/c)*(u-c/2<0?-1:1),g=Math.max(o,Math.floor(n-u*f/c+p)),y=Math.min(i,Math.floor(n+(c-u)*f/c+p));Pot(t,e,n,g,y,r)}const a=e[2*n+r];let l=o,s=i;for(Oz(t,e,o,n),e[2*i+r]>a&&Oz(t,e,o,i);la;)s--}e[2*o+r]===a?Oz(t,e,o,s):(s++,Oz(t,e,s,i)),s<=n&&(o=s+1),n<=s&&(i=s-1)}}function Oz(t,e,n,o){Sae(t,n,o),Sae(e,2*n,2*o),Sae(e,2*n+1,2*o+1)}function Sae(t,e,n){const o=t[e];t[e]=t[n],t[n]=o}function pHe(t,e,n,o){const i=t-n,r=e-o;return i*i+r*r}const Dho={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},gHe=Math.fround||(t=>e=>(t[0]=+e,t[0]))(new Float32Array(1)),$8=2,X4=3,Tae=4,F4=5,Cot=6;class Eho{constructor(e){this.options=Object.assign(Object.create(Dho),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:n,minZoom:o,maxZoom:i}=this.options;n&&console.time("total time");const r=`prepare ${e.length} points`;n&&console.time(r),this.points=e;const a=[];for(let s=0;s=o;s--){const c=+Date.now();l=this.trees[s]=this._createTree(this._cluster(l,s)),n&&console.log("z%d: %d clusters in %dms",s,l.numItems,+Date.now()-c)}return n&&console.timeEnd("total time"),this}getClusters(e,n){let o=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let r=e[2]===180?180:((e[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,r=180;else if(o>r){const d=this.getClusters([o,i,180,a],n),f=this.getClusters([-180,i,r,a],n);return d.concat(f)}const l=this.trees[this._limitZoom(n)],s=l.range(RO(o),HO(a),RO(r),HO(i)),c=l.data,u=[];for(const d of s){const f=this.stride*d;u.push(c[f+F4]>1?mHe(c,f,this.clusterProps):this.points[c[f+X4]])}return u}getChildren(e){const n=this._getOriginId(e),o=this._getOriginZoom(e),i="No cluster with the specified id.",r=this.trees[o];if(!r)throw new Error(i);const a=r.data;if(n*this.stride>=a.length)throw new Error(i);const l=this.options.radius/(this.options.extent*Math.pow(2,o-1)),s=a[n*this.stride],c=a[n*this.stride+1],u=r.within(s,c,l),d=[];for(const f of u){const p=f*this.stride;a[p+Tae]===e&&d.push(a[p+F4]>1?mHe(a,p,this.clusterProps):this.points[a[p+X4]])}if(d.length===0)throw new Error(i);return d}getLeaves(e,n,o){n=n||10,o=o||0;const i=[];return this._appendLeaves(i,e,n,o,0),i}getTile(e,n,o){const i=this.trees[this._limitZoom(e)],r=Math.pow(2,e),{extent:a,radius:l}=this.options,s=l/a,c=(o-s)/r,u=(o+1+s)/r,d={features:[]};return this._addTileFeatures(i.range((n-s)/r,c,(n+1+s)/r,u),i.data,n,o,r,d),n===0&&this._addTileFeatures(i.range(1-s/r,c,1,u),i.data,r,o,r,d),n===r-1&&this._addTileFeatures(i.range(0,c,s/r,u),i.data,-1,o,r,d),d.features.length?d:null}getClusterExpansionZoom(e){let n=this._getOriginZoom(e)-1;for(;n<=this.options.maxZoom;){const o=this.getChildren(e);if(n++,o.length!==1)break;e=o[0].properties.cluster_id}return n}_appendLeaves(e,n,o,i,r){const a=this.getChildren(n);for(const l of a){const s=l.properties;if(s&&s.cluster?r+s.point_count<=i?r+=s.point_count:r=this._appendLeaves(e,s.cluster_id,o,i,r):r1;let u,d,f;if(c)u=Rot(n,s,this.clusterProps),d=n[s],f=n[s+1];else{const y=this.points[n[s+X4]];u=y.properties;const[A,x]=y.geometry.coordinates;d=RO(A),f=HO(x)}const p={type:1,geometry:[[Math.round(this.options.extent*(d*r-o)),Math.round(this.options.extent*(f*r-i))]],tags:u};let g;c||this.options.generateId?g=n[s+X4]:g=this.points[n[s+X4]].id,g!==void 0&&(p.id=g),a.features.push(p)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,n){const{radius:o,extent:i,reduce:r,minPoints:a}=this.options,l=o/(i*Math.pow(2,n)),s=e.data,c=[],u=this.stride;for(let d=0;dn&&(A+=s[C+F4])}if(A>y&&A>=a){let x=f*y,C=p*y,b,v=-1;const S=((d/u|0)<<5)+(n+1)+this.points.length;for(const w of g){const T=w*u;if(s[T+$8]<=n)continue;s[T+$8]=n;const P=s[T+F4];x+=s[T]*P,C+=s[T+1]*P,s[T+Tae]=S,r&&(b||(b=this._map(s,d,!0),v=this.clusterProps.length,this.clusterProps.push(b)),r(b,this._map(s,T)))}s[d+Tae]=S,c.push(x/A,C/A,1/0,S,-1,A),r&&c.push(v)}else{for(let x=0;x1)for(const x of g){const C=x*u;if(!(s[C+$8]<=n)){s[C+$8]=n;for(let b=0;b>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,n,o){if(e[n+F4]>1){const a=this.clusterProps[e[n+Cot]];return o?Object.assign({},a):a}const i=this.points[e[n+X4]].properties,r=this.options.map(i);return o&&r===i?Object.assign({},r):r}}function mHe(t,e,n){return{type:"Feature",id:t[e+X4],properties:Rot(t,e,n),geometry:{type:"Point",coordinates:[kho(t[e]),Fho(t[e+1])]}}}function Rot(t,e,n){const o=t[e+F4],i=o>=1e4?`${Math.round(o/1e3)}k`:o>=1e3?`${Math.round(o/100)/10}k`:o,r=t[e+Cot],a=r===-1?{}:Object.assign({},n[r]);return Object.assign(a,{cluster:!0,cluster_id:t[e+X4],point_count:o,point_count_abbreviated:i})}function RO(t){return t/360+.5}function HO(t){const e=Math.sin(t*Math.PI/180),n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n<0?0:n>1?1:n}function kho(t){return(t-.5)*360}function Fho(t){const e=(180-t*360)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -7169,12 +7169,12 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */function Nho(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);itg.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(tg.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class Uho{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Bho(e)}}const Bho=t=>t.map(n=>new jde({position:tg.getPosition(n),markers:[n]}));class jho extends Uho{constructor(e){var{maxZoom:n,radius:o=60}=e,i=Nho(e,["maxZoom","radius"]);super({maxZoom:n}),this.state={zoom:-1},this.superCluster=new Fho(Object.assign({maxZoom:this.maxZoom,radius:o},i))}calculate(e){let n=!1;const o={zoom:e.map.getZoom()};if(!fHe(e.markers,this.markers)){n=!0,this.markers=[...e.markers];const i=this.markers.map(r=>{const a=tg.getPosition(r);return{type:"Feature",geometry:{type:"Point",coordinates:[a.lng(),a.lat()]},properties:{marker:r}}});this.superCluster.load(i)}return n||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(n=!fHe(this.state,o)),this.state=o,n&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:n}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(n=>this.transformCluster(n))}transformCluster({geometry:{coordinates:[e,n]},properties:o}){if(o.cluster)return new jde({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map(r=>r.properties.marker),position:{lat:n,lng:e}});const i=o.marker;return new jde({markers:[i],position:tg.getPosition(i)})}}class Yho{constructor(e,n){this.markers={sum:e.length};const o=n.map(r=>r.count),i=o.reduce((r,a)=>r+a,0);this.clusters={count:n.length,markers:{mean:i/n.length,sum:i,min:Math.min(...o),max:Math.max(...o)}}}}class Oho{render({count:e,position:n},o,i){const a=` +***************************************************************************** */function Lho(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);ing.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(ng.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class Who{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Nho(e)}}const Nho=t=>t.map(n=>new jde({position:ng.getPosition(n),markers:[n]}));class Uho extends Who{constructor(e){var{maxZoom:n,radius:o=60}=e,i=Lho(e,["maxZoom","radius"]);super({maxZoom:n}),this.state={zoom:-1},this.superCluster=new Eho(Object.assign({maxZoom:this.maxZoom,radius:o},i))}calculate(e){let n=!1;const o={zoom:e.map.getZoom()};if(!fHe(e.markers,this.markers)){n=!0,this.markers=[...e.markers];const i=this.markers.map(r=>{const a=ng.getPosition(r);return{type:"Feature",geometry:{type:"Point",coordinates:[a.lng(),a.lat()]},properties:{marker:r}}});this.superCluster.load(i)}return n||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(n=!fHe(this.state,o)),this.state=o,n&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:n}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(n=>this.transformCluster(n))}transformCluster({geometry:{coordinates:[e,n]},properties:o}){if(o.cluster)return new jde({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map(r=>r.properties.marker),position:{lat:n,lng:e}});const i=o.marker;return new jde({markers:[i],position:ng.getPosition(i)})}}class Bho{constructor(e,n){this.markers={sum:e.length};const o=n.map(r=>r.count),i=o.reduce((r,a)=>r+a,0);this.clusters={count:n.length,markers:{mean:i/n.length,sum:i,min:Math.min(...o),max:Math.max(...o)}}}}class jho{render({count:e,position:n},o,i){const a=` ${e} -`,l=`Cluster of ${e} markers`,s=Number(google.maps.Marker.MAX_ZINDEX)+e;if(tg.isAdvancedMarkerAvailable(i)){const u=document.createElement("div");u.innerHTML=a;const d=u.firstElementChild;d.setAttribute("transform","translate(0 25)");const f={map:i,position:n,zIndex:s,title:l,content:d};return new google.maps.marker.AdvancedMarkerElement(f)}const c={position:n,zIndex:s,title:l,icon:{url:`data:image/svg+xml;base64,${btoa(a)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(c)}}function _ho(t,e){for(let n in e.prototype)t.prototype[n]=e.prototype[n]}class r9e{constructor(){_ho(r9e,google.maps.OverlayView)}}var RE;(function(t){t.CLUSTERING_BEGIN="clusteringbegin",t.CLUSTERING_END="clusteringend",t.CLUSTER_CLICK="click"})(RE||(RE={}));const Vho=(t,e,n)=>{n.fitBounds(e.bounds)};class Gho extends r9e{constructor({map:e,markers:n=[],algorithmOptions:o={},algorithm:i=new jho(o),renderer:r=new Oho,onClusterClick:a=Vho}){super(),this.markers=[...n],this.clusters=[],this.algorithm=i,this.renderer=r,this.onClusterClick=a,e&&this.setMap(e)}addMarker(e,n){this.markers.includes(e)||(this.markers.push(e),n||this.render())}addMarkers(e,n){e.forEach(o=>{this.addMarker(o,!0)}),n||this.render()}removeMarker(e,n){const o=this.markers.indexOf(e);return o===-1?!1:(tg.setMap(e,null),this.markers.splice(o,1),n||this.render(),!0)}removeMarkers(e,n){let o=!1;return e.forEach(i=>{o=this.removeMarker(i,!0)||o}),o&&!n&&this.render(),o}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,RE.CLUSTERING_BEGIN,this);const{clusters:n,changed:o}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(o||o==null){const i=new Set;for(const a of n)a.markers.length==1&&i.add(a.markers[0]);const r=[];for(const a of this.clusters)a.marker!=null&&(a.markers.length==1?i.has(a.marker)||tg.setMap(a.marker,null):r.push(a.marker));this.clusters=n,this.renderClusters(),requestAnimationFrame(()=>r.forEach(a=>tg.setMap(a,null)))}google.maps.event.trigger(this,RE.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>tg.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){const e=new Yho(this.markers,this.clusters),n=this.getMap();this.clusters.forEach(o=>{o.markers.length===1?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,n),o.markers.forEach(i=>tg.setMap(i,null)),this.onClusterClick&&o.marker.addListener("click",i=>{google.maps.event.trigger(this,RE.CLUSTER_CLICK,o),this.onClusterClick(i,o,n)})),tg.setMap(o.marker,n)})}}function Xho(t){var e=tho(),n=m.useState(null),o=n[0],i=n[1];return m.useEffect(function(){if(e&&o===null){var r=new Gho(cr(cr({},t),{map:e}));i(r)}},[e]),o}function Jho(t){var e=t.children,n=t.options,o=Xho(n);return o!==null?e(o):null}m.memo(Jho);var yHe={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},AHe={options:function(t,e){t.setOptions(e)},position:function(t,e){t.setPosition(e)},zIndex:function(t,e){t.setZIndex(e)}};function Kho(t){var e=t.children,n=t.anchor,o=t.options,i=t.position,r=t.zIndex,a=t.onCloseClick,l=t.onDomReady,s=t.onContentChanged,c=t.onPositionChanged,u=t.onZindexChanged,d=t.onLoad,f=t.onUnmount,p=m.useContext(xa),g=m.useState(null),y=g[0],A=g[1],x=m.useState(null),C=x[0],b=x[1],v=m.useState(null),S=v[0],w=v[1],T=m.useState(null),P=T[0],R=T[1],H=m.useState(null),D=H[0],E=H[1],L=m.useState(null),U=L[0],F=L[1],W=m.useRef(null);return m.useEffect(function(){y!==null&&(y.close(),n?y.open(p,n):y.getPosition()&&y.open(p))},[p,y,n]),m.useEffect(function(){o&&y!==null&&y.setOptions(o)},[y,o]),m.useEffect(function(){i&&y!==null&&y.setPosition(i)},[i]),m.useEffect(function(){typeof r=="number"&&y!==null&&y.setZIndex(r)},[r]),m.useEffect(function(){y&&a&&(C!==null&&google.maps.event.removeListener(C),b(google.maps.event.addListener(y,"closeclick",a)))},[a]),m.useEffect(function(){y&&l&&(S!==null&&google.maps.event.removeListener(S),w(google.maps.event.addListener(y,"domready",l)))},[l]),m.useEffect(function(){y&&s&&(P!==null&&google.maps.event.removeListener(P),R(google.maps.event.addListener(y,"content_changed",s)))},[s]),m.useEffect(function(){y&&c&&(D!==null&&google.maps.event.removeListener(D),E(google.maps.event.addListener(y,"position_changed",c)))},[c]),m.useEffect(function(){y&&u&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(y,"zindex_changed",u)))},[u]),m.useEffect(function(){var B=new google.maps.InfoWindow(cr({},o||{}));return A(B),W.current=document.createElement("div"),a&&b(google.maps.event.addListener(B,"closeclick",a)),l&&w(google.maps.event.addListener(B,"domready",l)),s&&R(google.maps.event.addListener(B,"content_changed",s)),c&&E(google.maps.event.addListener(B,"position_changed",c)),u&&F(google.maps.event.addListener(B,"zindex_changed",u)),B.setContent(W.current),i&&B.setPosition(i),r&&B.setZIndex(r),n?B.open(p,n):B.getPosition()?B.open(p):B0(!1,"You must provide either an anchor (typically render it inside a ) or a position props for ."),d&&d(B),function(){C&&google.maps.event.removeListener(C),P&&google.maps.event.removeListener(P),S&&google.maps.event.removeListener(S),D&&google.maps.event.removeListener(D),U&&google.maps.event.removeListener(U),f&&f(B),B.close()}},[]),W.current?Sd.createPortal(m.Children.only(e),W.current):null}m.memo(Kho);var qho=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=null,n.state={infoWindow:null},n.open=function(o,i){i?o.open(n.context,i):o.getPosition()?o.open(n.context):B0(!1,"You must provide either an anchor (typically render it inside a ) or a position props for .")},n.setInfoWindowCallback=function(){n.state.infoWindow!==null&&n.containerElement!==null&&(n.state.infoWindow.setContent(n.containerElement),n.open(n.state.infoWindow,n.props.anchor),n.props.onLoad&&n.props.onLoad(n.state.infoWindow))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.InfoWindow(cr({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=Fa({updaterMap:AHe,eventMap:yHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{infoWindow:n}},this.setInfoWindowCallback)},e.prototype.componentDidUpdate=function(n){this.state.infoWindow!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:AHe,eventMap:yHe,prevProps:n,nextProps:this.props,instance:this.state.infoWindow}))},e.prototype.componentWillUnmount=function(){this.state.infoWindow!==null&&(ja(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},e.prototype.render=function(){return this.containerElement?Sd.createPortal(m.Children.only(this.props.children),this.containerElement):null},e.contextType=xa,e}(m.PureComponent),wHe={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},vHe={draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},path:function(t,e){t.setPath(e)},visible:function(t,e){t.setVisible(e)}},$ho={};function Qho(t){var e=t.options,n=t.draggable,o=t.editable,i=t.visible,r=t.path,a=t.onDblClick,l=t.onDragEnd,s=t.onDragStart,c=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,f=t.onMouseOver,p=t.onMouseUp,g=t.onRightClick,y=t.onClick,A=t.onDrag,x=t.onLoad,C=t.onUnmount,b=m.useContext(xa),v=m.useState(null),S=v[0],w=v[1],T=m.useState(null),P=T[0],R=T[1],H=m.useState(null),D=H[0],E=H[1],L=m.useState(null),U=L[0],F=L[1],W=m.useState(null),B=W[0],k=W[1],N=m.useState(null),j=N[0],Y=N[1],_=m.useState(null),J=_[0],Q=_[1],ee=m.useState(null),$=ee[0],q=ee[1],le=m.useState(null),ie=le[0],pe=le[1],ne=m.useState(null),Z=ne[0],he=ne[1],fe=m.useState(null),se=fe[0],oe=fe[1],de=m.useState(null),ve=de[0],Pe=de[1];return m.useEffect(function(){S!==null&&S.setMap(b)},[b]),m.useEffect(function(){typeof e<"u"&&S!==null&&S.setOptions(e)},[S,e]),m.useEffect(function(){typeof n<"u"&&S!==null&&S.setDraggable(n)},[S,n]),m.useEffect(function(){typeof o<"u"&&S!==null&&S.setEditable(o)},[S,o]),m.useEffect(function(){typeof i<"u"&&S!==null&&S.setVisible(i)},[S,i]),m.useEffect(function(){typeof r<"u"&&S!==null&&S.setPath(r)},[S,r]),m.useEffect(function(){S&&a&&(P!==null&&google.maps.event.removeListener(P),R(google.maps.event.addListener(S,"dblclick",a)))},[a]),m.useEffect(function(){S&&l&&(D!==null&&google.maps.event.removeListener(D),E(google.maps.event.addListener(S,"dragend",l)))},[l]),m.useEffect(function(){S&&s&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(S,"dragstart",s)))},[s]),m.useEffect(function(){S&&c&&(B!==null&&google.maps.event.removeListener(B),k(google.maps.event.addListener(S,"mousedown",c)))},[c]),m.useEffect(function(){S&&u&&(j!==null&&google.maps.event.removeListener(j),Y(google.maps.event.addListener(S,"mousemove",u)))},[u]),m.useEffect(function(){S&&d&&(J!==null&&google.maps.event.removeListener(J),Q(google.maps.event.addListener(S,"mouseout",d)))},[d]),m.useEffect(function(){S&&f&&($!==null&&google.maps.event.removeListener($),q(google.maps.event.addListener(S,"mouseover",f)))},[f]),m.useEffect(function(){S&&p&&(ie!==null&&google.maps.event.removeListener(ie),pe(google.maps.event.addListener(S,"mouseup",p)))},[p]),m.useEffect(function(){S&&g&&(Z!==null&&google.maps.event.removeListener(Z),he(google.maps.event.addListener(S,"rightclick",g)))},[g]),m.useEffect(function(){S&&y&&(se!==null&&google.maps.event.removeListener(se),oe(google.maps.event.addListener(S,"click",y)))},[y]),m.useEffect(function(){S&&A&&(ve!==null&&google.maps.event.removeListener(ve),Pe(google.maps.event.addListener(S,"drag",A)))},[A]),m.useEffect(function(){var me=new google.maps.Polyline(cr(cr({},e||$ho),{map:b}));return r&&me.setPath(r),typeof i<"u"&&me.setVisible(i),typeof o<"u"&&me.setEditable(o),typeof n<"u"&&me.setDraggable(n),a&&R(google.maps.event.addListener(me,"dblclick",a)),l&&E(google.maps.event.addListener(me,"dragend",l)),s&&F(google.maps.event.addListener(me,"dragstart",s)),c&&k(google.maps.event.addListener(me,"mousedown",c)),u&&Y(google.maps.event.addListener(me,"mousemove",u)),d&&Q(google.maps.event.addListener(me,"mouseout",d)),f&&q(google.maps.event.addListener(me,"mouseover",f)),p&&pe(google.maps.event.addListener(me,"mouseup",p)),g&&he(google.maps.event.addListener(me,"rightclick",g)),y&&oe(google.maps.event.addListener(me,"click",y)),A&&Pe(google.maps.event.addListener(me,"drag",A)),w(me),x&&x(me),function(){P!==null&&google.maps.event.removeListener(P),D!==null&&google.maps.event.removeListener(D),U!==null&&google.maps.event.removeListener(U),B!==null&&google.maps.event.removeListener(B),j!==null&&google.maps.event.removeListener(j),J!==null&&google.maps.event.removeListener(J),$!==null&&google.maps.event.removeListener($),ie!==null&&google.maps.event.removeListener(ie),Z!==null&&google.maps.event.removeListener(Z),se!==null&&google.maps.event.removeListener(se),C&&C(me),me.setMap(null)}},[]),null}m.memo(Qho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={polyline:null},n.setPolylineCallback=function(){n.state.polyline!==null&&n.props.onLoad&&n.props.onLoad(n.state.polyline)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Polyline(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:vHe,eventMap:wHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{polyline:n}},this.setPolylineCallback)},e.prototype.componentDidUpdate=function(n){this.state.polyline!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:vHe,eventMap:wHe,prevProps:n,nextProps:this.props,instance:this.state.polyline}))},e.prototype.componentWillUnmount=function(){this.state.polyline!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),ja(this.registeredEvents),this.state.polyline.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var xHe={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},bHe={draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},path:function(t,e){t.setPath(e)},paths:function(t,e){t.setPaths(e)},visible:function(t,e){t.setVisible(e)}};function Zho(t){var e=t.options,n=t.draggable,o=t.editable,i=t.visible,r=t.path,a=t.paths,l=t.onDblClick,s=t.onDragEnd,c=t.onDragStart,u=t.onMouseDown,d=t.onMouseMove,f=t.onMouseOut,p=t.onMouseOver,g=t.onMouseUp,y=t.onRightClick,A=t.onClick,x=t.onDrag,C=t.onLoad,b=t.onUnmount,v=m.useContext(xa),S=m.useState(null),w=S[0],T=S[1],P=m.useState(null),R=P[0],H=P[1],D=m.useState(null),E=D[0],L=D[1],U=m.useState(null),F=U[0],W=U[1],B=m.useState(null),k=B[0],N=B[1],j=m.useState(null),Y=j[0],_=j[1],J=m.useState(null),Q=J[0],ee=J[1],$=m.useState(null),q=$[0],le=$[1],ie=m.useState(null),pe=ie[0],ne=ie[1],Z=m.useState(null),he=Z[0],fe=Z[1],se=m.useState(null),oe=se[0],de=se[1],ve=m.useState(null),Pe=ve[0],me=ve[1];return m.useEffect(function(){w!==null&&w.setMap(v)},[v]),m.useEffect(function(){typeof e<"u"&&w!==null&&w.setOptions(e)},[w,e]),m.useEffect(function(){typeof n<"u"&&w!==null&&w.setDraggable(n)},[w,n]),m.useEffect(function(){typeof o<"u"&&w!==null&&w.setEditable(o)},[w,o]),m.useEffect(function(){typeof i<"u"&&w!==null&&w.setVisible(i)},[w,i]),m.useEffect(function(){typeof r<"u"&&w!==null&&w.setPath(r)},[w,r]),m.useEffect(function(){typeof a<"u"&&w!==null&&w.setPaths(a)},[w,a]),m.useEffect(function(){w&&l&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(w,"dblclick",l)))},[l]),m.useEffect(function(){w&&s&&(E!==null&&google.maps.event.removeListener(E),L(google.maps.event.addListener(w,"dragend",s)))},[s]),m.useEffect(function(){w&&c&&(F!==null&&google.maps.event.removeListener(F),W(google.maps.event.addListener(w,"dragstart",c)))},[c]),m.useEffect(function(){w&&u&&(k!==null&&google.maps.event.removeListener(k),N(google.maps.event.addListener(w,"mousedown",u)))},[u]),m.useEffect(function(){w&&d&&(Y!==null&&google.maps.event.removeListener(Y),_(google.maps.event.addListener(w,"mousemove",d)))},[d]),m.useEffect(function(){w&&f&&(Q!==null&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(w,"mouseout",f)))},[f]),m.useEffect(function(){w&&p&&(q!==null&&google.maps.event.removeListener(q),le(google.maps.event.addListener(w,"mouseover",p)))},[p]),m.useEffect(function(){w&&g&&(pe!==null&&google.maps.event.removeListener(pe),ne(google.maps.event.addListener(w,"mouseup",g)))},[g]),m.useEffect(function(){w&&y&&(he!==null&&google.maps.event.removeListener(he),fe(google.maps.event.addListener(w,"rightclick",y)))},[y]),m.useEffect(function(){w&&A&&(oe!==null&&google.maps.event.removeListener(oe),de(google.maps.event.addListener(w,"click",A)))},[A]),m.useEffect(function(){w&&x&&(Pe!==null&&google.maps.event.removeListener(Pe),me(google.maps.event.addListener(w,"drag",x)))},[x]),m.useEffect(function(){var Re=new google.maps.Polygon(cr(cr({},e||{}),{map:v}));return r&&Re.setPath(r),a&&Re.setPaths(a),typeof i<"u"&&Re.setVisible(i),typeof o<"u"&&Re.setEditable(o),typeof n<"u"&&Re.setDraggable(n),l&&H(google.maps.event.addListener(Re,"dblclick",l)),s&&L(google.maps.event.addListener(Re,"dragend",s)),c&&W(google.maps.event.addListener(Re,"dragstart",c)),u&&N(google.maps.event.addListener(Re,"mousedown",u)),d&&_(google.maps.event.addListener(Re,"mousemove",d)),f&&ee(google.maps.event.addListener(Re,"mouseout",f)),p&&le(google.maps.event.addListener(Re,"mouseover",p)),g&&ne(google.maps.event.addListener(Re,"mouseup",g)),y&&fe(google.maps.event.addListener(Re,"rightclick",y)),A&&de(google.maps.event.addListener(Re,"click",A)),x&&me(google.maps.event.addListener(Re,"drag",x)),T(Re),C&&C(Re),function(){R!==null&&google.maps.event.removeListener(R),E!==null&&google.maps.event.removeListener(E),F!==null&&google.maps.event.removeListener(F),k!==null&&google.maps.event.removeListener(k),Y!==null&&google.maps.event.removeListener(Y),Q!==null&&google.maps.event.removeListener(Q),q!==null&&google.maps.event.removeListener(q),pe!==null&&google.maps.event.removeListener(pe),he!==null&&google.maps.event.removeListener(he),oe!==null&&google.maps.event.removeListener(oe),b&&b(Re),Re.setMap(null)}},[]),null}m.memo(Zho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={polygon:null},n.setPolygonCallback=function(){n.state.polygon!==null&&n.props.onLoad&&n.props.onLoad(n.state.polygon)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Polygon(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:bHe,eventMap:xHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{polygon:n}},this.setPolygonCallback)},e.prototype.componentDidUpdate=function(n){this.state.polygon!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:bHe,eventMap:xHe,prevProps:n,nextProps:this.props,instance:this.state.polygon}))},e.prototype.componentWillUnmount=function(){this.state.polygon!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.polygon),ja(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var SHe={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},THe={bounds:function(t,e){t.setBounds(e)},draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},visible:function(t,e){t.setVisible(e)}};function epo(t){var e=t.options,n=t.bounds,o=t.draggable,i=t.editable,r=t.visible,a=t.onDblClick,l=t.onDragEnd,s=t.onDragStart,c=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,f=t.onMouseOver,p=t.onMouseUp,g=t.onRightClick,y=t.onClick,A=t.onDrag,x=t.onBoundsChanged,C=t.onLoad,b=t.onUnmount,v=m.useContext(xa),S=m.useState(null),w=S[0],T=S[1],P=m.useState(null),R=P[0],H=P[1],D=m.useState(null),E=D[0],L=D[1],U=m.useState(null),F=U[0],W=U[1],B=m.useState(null),k=B[0],N=B[1],j=m.useState(null),Y=j[0],_=j[1],J=m.useState(null),Q=J[0],ee=J[1],$=m.useState(null),q=$[0],le=$[1],ie=m.useState(null),pe=ie[0],ne=ie[1],Z=m.useState(null),he=Z[0],fe=Z[1],se=m.useState(null),oe=se[0],de=se[1],ve=m.useState(null),Pe=ve[0],me=ve[1],Re=m.useState(null),ze=Re[0],Ae=Re[1];return m.useEffect(function(){w!==null&&w.setMap(v)},[v]),m.useEffect(function(){typeof e<"u"&&w!==null&&w.setOptions(e)},[w,e]),m.useEffect(function(){typeof o<"u"&&w!==null&&w.setDraggable(o)},[w,o]),m.useEffect(function(){typeof i<"u"&&w!==null&&w.setEditable(i)},[w,i]),m.useEffect(function(){typeof r<"u"&&w!==null&&w.setVisible(r)},[w,r]),m.useEffect(function(){typeof n<"u"&&w!==null&&w.setBounds(n)},[w,n]),m.useEffect(function(){w&&a&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(w,"dblclick",a)))},[a]),m.useEffect(function(){w&&l&&(E!==null&&google.maps.event.removeListener(E),L(google.maps.event.addListener(w,"dragend",l)))},[l]),m.useEffect(function(){w&&s&&(F!==null&&google.maps.event.removeListener(F),W(google.maps.event.addListener(w,"dragstart",s)))},[s]),m.useEffect(function(){w&&c&&(k!==null&&google.maps.event.removeListener(k),N(google.maps.event.addListener(w,"mousedown",c)))},[c]),m.useEffect(function(){w&&u&&(Y!==null&&google.maps.event.removeListener(Y),_(google.maps.event.addListener(w,"mousemove",u)))},[u]),m.useEffect(function(){w&&d&&(Q!==null&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(w,"mouseout",d)))},[d]),m.useEffect(function(){w&&f&&(q!==null&&google.maps.event.removeListener(q),le(google.maps.event.addListener(w,"mouseover",f)))},[f]),m.useEffect(function(){w&&p&&(pe!==null&&google.maps.event.removeListener(pe),ne(google.maps.event.addListener(w,"mouseup",p)))},[p]),m.useEffect(function(){w&&g&&(he!==null&&google.maps.event.removeListener(he),fe(google.maps.event.addListener(w,"rightclick",g)))},[g]),m.useEffect(function(){w&&y&&(oe!==null&&google.maps.event.removeListener(oe),de(google.maps.event.addListener(w,"click",y)))},[y]),m.useEffect(function(){w&&A&&(Pe!==null&&google.maps.event.removeListener(Pe),me(google.maps.event.addListener(w,"drag",A)))},[A]),m.useEffect(function(){w&&x&&(ze!==null&&google.maps.event.removeListener(ze),Ae(google.maps.event.addListener(w,"bounds_changed",x)))},[x]),m.useEffect(function(){var re=new google.maps.Rectangle(cr(cr({},e||{}),{map:v}));return typeof r<"u"&&re.setVisible(r),typeof i<"u"&&re.setEditable(i),typeof o<"u"&&re.setDraggable(o),typeof n<"u"&&re.setBounds(n),a&&H(google.maps.event.addListener(re,"dblclick",a)),l&&L(google.maps.event.addListener(re,"dragend",l)),s&&W(google.maps.event.addListener(re,"dragstart",s)),c&&N(google.maps.event.addListener(re,"mousedown",c)),u&&_(google.maps.event.addListener(re,"mousemove",u)),d&&ee(google.maps.event.addListener(re,"mouseout",d)),f&&le(google.maps.event.addListener(re,"mouseover",f)),p&&ne(google.maps.event.addListener(re,"mouseup",p)),g&&fe(google.maps.event.addListener(re,"rightclick",g)),y&&de(google.maps.event.addListener(re,"click",y)),A&&me(google.maps.event.addListener(re,"drag",A)),x&&Ae(google.maps.event.addListener(re,"bounds_changed",x)),T(re),C&&C(re),function(){R!==null&&google.maps.event.removeListener(R),E!==null&&google.maps.event.removeListener(E),F!==null&&google.maps.event.removeListener(F),k!==null&&google.maps.event.removeListener(k),Y!==null&&google.maps.event.removeListener(Y),Q!==null&&google.maps.event.removeListener(Q),q!==null&&google.maps.event.removeListener(q),pe!==null&&google.maps.event.removeListener(pe),he!==null&&google.maps.event.removeListener(he),oe!==null&&google.maps.event.removeListener(oe),Pe!==null&&google.maps.event.removeListener(Pe),ze!==null&&google.maps.event.removeListener(ze),b&&b(re),re.setMap(null)}},[]),null}m.memo(epo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={rectangle:null},n.setRectangleCallback=function(){n.state.rectangle!==null&&n.props.onLoad&&n.props.onLoad(n.state.rectangle)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Rectangle(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:THe,eventMap:SHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{rectangle:n}},this.setRectangleCallback)},e.prototype.componentDidUpdate=function(n){this.state.rectangle!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:THe,eventMap:SHe,prevProps:n,nextProps:this.props,instance:this.state.rectangle}))},e.prototype.componentWillUnmount=function(){this.state.rectangle!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),ja(this.registeredEvents),this.state.rectangle.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var PHe={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},CHe={center:function(t,e){t.setCenter(e)},draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},radius:function(t,e){t.setRadius(e)},visible:function(t,e){t.setVisible(e)}},tpo={};function npo(t){var e=t.options,n=t.center,o=t.radius,i=t.draggable,r=t.editable,a=t.visible,l=t.onDblClick,s=t.onDragEnd,c=t.onDragStart,u=t.onMouseDown,d=t.onMouseMove,f=t.onMouseOut,p=t.onMouseOver,g=t.onMouseUp,y=t.onRightClick,A=t.onClick,x=t.onDrag,C=t.onCenterChanged,b=t.onRadiusChanged,v=t.onLoad,S=t.onUnmount,w=m.useContext(xa),T=m.useState(null),P=T[0],R=T[1],H=m.useState(null),D=H[0],E=H[1],L=m.useState(null),U=L[0],F=L[1],W=m.useState(null),B=W[0],k=W[1],N=m.useState(null),j=N[0],Y=N[1],_=m.useState(null),J=_[0],Q=_[1],ee=m.useState(null),$=ee[0],q=ee[1],le=m.useState(null),ie=le[0],pe=le[1],ne=m.useState(null),Z=ne[0],he=ne[1],fe=m.useState(null),se=fe[0],oe=fe[1],de=m.useState(null),ve=de[0],Pe=de[1],me=m.useState(null),Re=me[0],ze=me[1],Ae=m.useState(null),re=Ae[0],ge=Ae[1],we=m.useState(null),ye=we[0],Te=we[1];return m.useEffect(function(){P!==null&&P.setMap(w)},[w]),m.useEffect(function(){typeof e<"u"&&P!==null&&P.setOptions(e)},[P,e]),m.useEffect(function(){typeof i<"u"&&P!==null&&P.setDraggable(i)},[P,i]),m.useEffect(function(){typeof r<"u"&&P!==null&&P.setEditable(r)},[P,r]),m.useEffect(function(){typeof a<"u"&&P!==null&&P.setVisible(a)},[P,a]),m.useEffect(function(){typeof o=="number"&&P!==null&&P.setRadius(o)},[P,o]),m.useEffect(function(){typeof n<"u"&&P!==null&&P.setCenter(n)},[P,n]),m.useEffect(function(){P&&l&&(D!==null&&google.maps.event.removeListener(D),E(google.maps.event.addListener(P,"dblclick",l)))},[l]),m.useEffect(function(){P&&s&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(P,"dragend",s)))},[s]),m.useEffect(function(){P&&c&&(B!==null&&google.maps.event.removeListener(B),k(google.maps.event.addListener(P,"dragstart",c)))},[c]),m.useEffect(function(){P&&u&&(j!==null&&google.maps.event.removeListener(j),Y(google.maps.event.addListener(P,"mousedown",u)))},[u]),m.useEffect(function(){P&&d&&(J!==null&&google.maps.event.removeListener(J),Q(google.maps.event.addListener(P,"mousemove",d)))},[d]),m.useEffect(function(){P&&f&&($!==null&&google.maps.event.removeListener($),q(google.maps.event.addListener(P,"mouseout",f)))},[f]),m.useEffect(function(){P&&p&&(ie!==null&&google.maps.event.removeListener(ie),pe(google.maps.event.addListener(P,"mouseover",p)))},[p]),m.useEffect(function(){P&&g&&(Z!==null&&google.maps.event.removeListener(Z),he(google.maps.event.addListener(P,"mouseup",g)))},[g]),m.useEffect(function(){P&&y&&(se!==null&&google.maps.event.removeListener(se),oe(google.maps.event.addListener(P,"rightclick",y)))},[y]),m.useEffect(function(){P&&A&&(ve!==null&&google.maps.event.removeListener(ve),Pe(google.maps.event.addListener(P,"click",A)))},[A]),m.useEffect(function(){P&&x&&(Re!==null&&google.maps.event.removeListener(Re),ze(google.maps.event.addListener(P,"drag",x)))},[x]),m.useEffect(function(){P&&C&&(re!==null&&google.maps.event.removeListener(re),ge(google.maps.event.addListener(P,"center_changed",C)))},[A]),m.useEffect(function(){P&&b&&(ye!==null&&google.maps.event.removeListener(ye),Te(google.maps.event.addListener(P,"radius_changed",b)))},[b]),m.useEffect(function(){var Ie=new google.maps.Circle(cr(cr({},e||tpo),{map:w}));return typeof o=="number"&&Ie.setRadius(o),typeof n<"u"&&Ie.setCenter(n),typeof o=="number"&&Ie.setRadius(o),typeof a<"u"&&Ie.setVisible(a),typeof r<"u"&&Ie.setEditable(r),typeof i<"u"&&Ie.setDraggable(i),l&&E(google.maps.event.addListener(Ie,"dblclick",l)),s&&F(google.maps.event.addListener(Ie,"dragend",s)),c&&k(google.maps.event.addListener(Ie,"dragstart",c)),u&&Y(google.maps.event.addListener(Ie,"mousedown",u)),d&&Q(google.maps.event.addListener(Ie,"mousemove",d)),f&&q(google.maps.event.addListener(Ie,"mouseout",f)),p&&pe(google.maps.event.addListener(Ie,"mouseover",p)),g&&he(google.maps.event.addListener(Ie,"mouseup",g)),y&&oe(google.maps.event.addListener(Ie,"rightclick",y)),A&&Pe(google.maps.event.addListener(Ie,"click",A)),x&&ze(google.maps.event.addListener(Ie,"drag",x)),C&&ge(google.maps.event.addListener(Ie,"center_changed",C)),b&&Te(google.maps.event.addListener(Ie,"radius_changed",b)),R(Ie),v&&v(Ie),function(){D!==null&&google.maps.event.removeListener(D),U!==null&&google.maps.event.removeListener(U),B!==null&&google.maps.event.removeListener(B),j!==null&&google.maps.event.removeListener(j),J!==null&&google.maps.event.removeListener(J),$!==null&&google.maps.event.removeListener($),ie!==null&&google.maps.event.removeListener(ie),Z!==null&&google.maps.event.removeListener(Z),se!==null&&google.maps.event.removeListener(se),ve!==null&&google.maps.event.removeListener(ve),re!==null&&google.maps.event.removeListener(re),ye!==null&&google.maps.event.removeListener(ye),S&&S(Ie),Ie.setMap(null)}},[]),null}m.memo(npo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={circle:null},n.setCircleCallback=function(){n.state.circle!==null&&n.props.onLoad&&n.props.onLoad(n.state.circle)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Circle(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:CHe,eventMap:PHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{circle:n}},this.setCircleCallback)},e.prototype.componentDidUpdate=function(n){this.state.circle!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:CHe,eventMap:PHe,prevProps:n,nextProps:this.props,instance:this.state.circle}))},e.prototype.componentWillUnmount=function(){var n;this.state.circle!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),ja(this.registeredEvents),(n=this.state.circle)===null||n===void 0||n.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var RHe={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},HHe={add:function(t,e){t.add(e)},addgeojson:function(t,e,n){t.addGeoJson(e,n)},contains:function(t,e){t.contains(e)},foreach:function(t,e){t.forEach(e)},loadgeojson:function(t,e,n,o){t.loadGeoJson(e,n,o)},overridestyle:function(t,e,n){t.overrideStyle(e,n)},remove:function(t,e){t.remove(e)},revertstyle:function(t,e){t.revertStyle(e)},controlposition:function(t,e){t.setControlPosition(e)},controls:function(t,e){t.setControls(e)},drawingmode:function(t,e){t.setDrawingMode(e)},map:function(t,e){t.setMap(e)},style:function(t,e){t.setStyle(e)},togeojson:function(t,e){t.toGeoJson(e)}};function opo(t){var e=t.options,n=t.onClick,o=t.onDblClick,i=t.onMouseDown,r=t.onMouseMove,a=t.onMouseOut,l=t.onMouseOver,s=t.onMouseUp,c=t.onRightClick,u=t.onAddFeature,d=t.onRemoveFeature,f=t.onRemoveProperty,p=t.onSetGeometry,g=t.onSetProperty,y=t.onLoad,A=t.onUnmount,x=m.useContext(xa),C=m.useState(null),b=C[0],v=C[1],S=m.useState(null),w=S[0],T=S[1],P=m.useState(null),R=P[0],H=P[1],D=m.useState(null),E=D[0],L=D[1],U=m.useState(null),F=U[0],W=U[1],B=m.useState(null),k=B[0],N=B[1],j=m.useState(null),Y=j[0],_=j[1],J=m.useState(null),Q=J[0],ee=J[1],$=m.useState(null),q=$[0],le=$[1],ie=m.useState(null),pe=ie[0],ne=ie[1],Z=m.useState(null),he=Z[0],fe=Z[1],se=m.useState(null),oe=se[0],de=se[1],ve=m.useState(null),Pe=ve[0],me=ve[1],Re=m.useState(null),ze=Re[0],Ae=Re[1];return m.useEffect(function(){b!==null&&b.setMap(x)},[x]),m.useEffect(function(){b&&o&&(w!==null&&google.maps.event.removeListener(w),T(google.maps.event.addListener(b,"dblclick",o)))},[o]),m.useEffect(function(){b&&i&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(b,"mousedown",i)))},[i]),m.useEffect(function(){b&&r&&(E!==null&&google.maps.event.removeListener(E),L(google.maps.event.addListener(b,"mousemove",r)))},[r]),m.useEffect(function(){b&&a&&(F!==null&&google.maps.event.removeListener(F),W(google.maps.event.addListener(b,"mouseout",a)))},[a]),m.useEffect(function(){b&&l&&(k!==null&&google.maps.event.removeListener(k),N(google.maps.event.addListener(b,"mouseover",l)))},[l]),m.useEffect(function(){b&&s&&(Y!==null&&google.maps.event.removeListener(Y),_(google.maps.event.addListener(b,"mouseup",s)))},[s]),m.useEffect(function(){b&&c&&(Q!==null&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(b,"rightclick",c)))},[c]),m.useEffect(function(){b&&n&&(q!==null&&google.maps.event.removeListener(q),le(google.maps.event.addListener(b,"click",n)))},[n]),m.useEffect(function(){b&&u&&(pe!==null&&google.maps.event.removeListener(pe),ne(google.maps.event.addListener(b,"addfeature",u)))},[u]),m.useEffect(function(){b&&d&&(he!==null&&google.maps.event.removeListener(he),fe(google.maps.event.addListener(b,"removefeature",d)))},[d]),m.useEffect(function(){b&&f&&(oe!==null&&google.maps.event.removeListener(oe),de(google.maps.event.addListener(b,"removeproperty",f)))},[f]),m.useEffect(function(){b&&p&&(Pe!==null&&google.maps.event.removeListener(Pe),me(google.maps.event.addListener(b,"setgeometry",p)))},[p]),m.useEffect(function(){b&&g&&(ze!==null&&google.maps.event.removeListener(ze),Ae(google.maps.event.addListener(b,"setproperty",g)))},[g]),m.useEffect(function(){if(x!==null){var re=new google.maps.Data(cr(cr({},e||{}),{map:x}));o&&T(google.maps.event.addListener(re,"dblclick",o)),i&&H(google.maps.event.addListener(re,"mousedown",i)),r&&L(google.maps.event.addListener(re,"mousemove",r)),a&&W(google.maps.event.addListener(re,"mouseout",a)),l&&N(google.maps.event.addListener(re,"mouseover",l)),s&&_(google.maps.event.addListener(re,"mouseup",s)),c&&ee(google.maps.event.addListener(re,"rightclick",c)),n&&le(google.maps.event.addListener(re,"click",n)),u&&ne(google.maps.event.addListener(re,"addfeature",u)),d&&fe(google.maps.event.addListener(re,"removefeature",d)),f&&de(google.maps.event.addListener(re,"removeproperty",f)),p&&me(google.maps.event.addListener(re,"setgeometry",p)),g&&Ae(google.maps.event.addListener(re,"setproperty",g)),v(re),y&&y(re)}return function(){b&&(w!==null&&google.maps.event.removeListener(w),R!==null&&google.maps.event.removeListener(R),E!==null&&google.maps.event.removeListener(E),F!==null&&google.maps.event.removeListener(F),k!==null&&google.maps.event.removeListener(k),Y!==null&&google.maps.event.removeListener(Y),Q!==null&&google.maps.event.removeListener(Q),q!==null&&google.maps.event.removeListener(q),pe!==null&&google.maps.event.removeListener(pe),he!==null&&google.maps.event.removeListener(he),oe!==null&&google.maps.event.removeListener(oe),Pe!==null&&google.maps.event.removeListener(Pe),ze!==null&&google.maps.event.removeListener(ze),A&&A(b),b.setMap(null))}},[]),null}m.memo(opo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={data:null},n.setDataCallback=function(){n.state.data!==null&&n.props.onLoad&&n.props.onLoad(n.state.data)},n}return e.prototype.componentDidMount=function(){if(this.context!==null){var n=new google.maps.Data(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:HHe,eventMap:RHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{data:n}},this.setDataCallback)}},e.prototype.componentDidUpdate=function(n){this.state.data!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:HHe,eventMap:RHe,prevProps:n,nextProps:this.props,instance:this.state.data}))},e.prototype.componentWillUnmount=function(){this.state.data!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),ja(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var MHe={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},IHe={options:function(t,e){t.setOptions(e)},url:function(t,e){t.setUrl(e)},zIndex:function(t,e){t.setZIndex(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={kmlLayer:null},n.setKmlLayerCallback=function(){n.state.kmlLayer!==null&&n.props.onLoad&&n.props.onLoad(n.state.kmlLayer)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.KmlLayer(cr(cr({},this.props.options),{map:this.context}));this.registeredEvents=Fa({updaterMap:IHe,eventMap:MHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{kmlLayer:n}},this.setKmlLayerCallback)},e.prototype.componentDidUpdate=function(n){this.state.kmlLayer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:IHe,eventMap:MHe,prevProps:n,nextProps:this.props,instance:this.state.kmlLayer}))},e.prototype.componentWillUnmount=function(){this.state.kmlLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),ja(this.registeredEvents),this.state.kmlLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function Hot(t,e){return typeof e=="function"?e(t.offsetWidth,t.offsetHeight):{x:0,y:0}}function ipo(t,e){return new e(t.lat,t.lng)}function rpo(t,e){return new e(new google.maps.LatLng(t.ne.lat,t.ne.lng),new google.maps.LatLng(t.sw.lat,t.sw.lng))}function apo(t,e,n){return t instanceof e?t:n(t,e)}function lpo(t,e,n){return t instanceof e?t:n(t,e)}function spo(t,e,n){var o=t&&t.fromLatLngToDivPixel(n.getNorthEast()),i=t&&t.fromLatLngToDivPixel(n.getSouthWest());return o&&i?{left:"".concat(i.x+e.x,"px"),top:"".concat(o.y+e.y,"px"),width:"".concat(o.x-i.x-e.x,"px"),height:"".concat(i.y-o.y-e.y,"px")}:{left:"-9999px",top:"-9999px"}}function cpo(t,e,n){var o=t&&t.fromLatLngToDivPixel(n);if(o){var i=o.x,r=o.y;return{left:"".concat(i+e.x,"px"),top:"".concat(r+e.y,"px")}}return{left:"-9999px",top:"-9999px"}}function Mot(t,e,n,o){return n!==void 0?spo(t,e,lpo(n,google.maps.LatLngBounds,rpo)):cpo(t,e,apo(o,google.maps.LatLng,ipo))}function upo(t,e){return t.left===e.left&&t.top===e.top&&t.width===e.height&&t.height===e.height}function dpo(t,e,n,o,i){var r=function(a){Ms(l,a);function l(s,c,u,d){var f=a.call(this)||this;return f.container=s,f.pane=c,f.position=u,f.bounds=d,f}return l.prototype.onAdd=function(){var s,c=(s=this.getPanes())===null||s===void 0?void 0:s[this.pane];c==null||c.appendChild(this.container)},l.prototype.draw=function(){for(var s=this.getProjection(),c=cr({},this.container?Hot(this.container,i):{x:0,y:0}),u=Mot(s,c,this.bounds,this.position),d=0,f=Object.entries(u);d? %s',google.maps.visualization),B0(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var n=new google.maps.visualization.HeatmapLayer(cr(cr({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=Fa({updaterMap:LHe,eventMap:FHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{heatmapLayer:n}},this.setHeatmapLayerCallback)},e.prototype.componentDidUpdate=function(n){ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:LHe,eventMap:FHe,prevProps:n,nextProps:this.props,instance:this.state.heatmapLayer})},e.prototype.componentWillUnmount=function(){this.state.heatmapLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),ja(this.registeredEvents),this.state.heatmapLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var WHe={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},NHe={register:function(t,e,n){t.registerPanoProvider(e,n)},links:function(t,e){t.setLinks(e)},motionTracking:function(t,e){t.setMotionTracking(e)},options:function(t,e){t.setOptions(e)},pano:function(t,e){t.setPano(e)},position:function(t,e){t.setPosition(e)},pov:function(t,e){t.setPov(e)},visible:function(t,e){t.setVisible(e)},zoom:function(t,e){t.setZoom(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={streetViewPanorama:null},n.setStreetViewPanoramaCallback=function(){n.state.streetViewPanorama!==null&&n.props.onLoad&&n.props.onLoad(n.state.streetViewPanorama)},n}return e.prototype.componentDidMount=function(){var n,o,i=(o=(n=this.context)===null||n===void 0?void 0:n.getStreetView())!==null&&o!==void 0?o:null;this.registeredEvents=Fa({updaterMap:NHe,eventMap:WHe,prevProps:{},nextProps:this.props,instance:i}),this.setState(function(){return{streetViewPanorama:i}},this.setStreetViewPanoramaCallback)},e.prototype.componentDidUpdate=function(n){this.state.streetViewPanorama!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:NHe,eventMap:WHe,prevProps:n,nextProps:this.props,instance:this.state.streetViewPanorama}))},e.prototype.componentWillUnmount=function(){this.state.streetViewPanorama!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),ja(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={streetViewService:null},n.setStreetViewServiceCallback=function(){n.state.streetViewService!==null&&n.props.onLoad&&n.props.onLoad(n.state.streetViewService)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.StreetViewService;this.setState(function(){return{streetViewService:n}},this.setStreetViewServiceCallback)},e.prototype.componentWillUnmount=function(){this.state.streetViewService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={directionsService:null},n.setDirectionsServiceCallback=function(){n.state.directionsService!==null&&n.props.onLoad&&n.props.onLoad(n.state.directionsService)},n}return e.prototype.componentDidMount=function(){B0(!!this.props.options,"DirectionsService expected options object as parameter, but got %s",this.props.options);var n=new google.maps.DirectionsService;this.setState(function(){return{directionsService:n}},this.setDirectionsServiceCallback)},e.prototype.componentDidUpdate=function(){this.state.directionsService!==null&&this.state.directionsService.route(this.props.options,this.props.callback)},e.prototype.componentWillUnmount=function(){this.state.directionsService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)},e.prototype.render=function(){return null},e})(m.PureComponent);var UHe={onDirectionsChanged:"directions_changed"},BHe={directions:function(t,e){t.setDirections(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},panel:function(t,e){t.setPanel(e)},routeIndex:function(t,e){t.setRouteIndex(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={directionsRenderer:null},n.setDirectionsRendererCallback=function(){n.state.directionsRenderer!==null&&(n.state.directionsRenderer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.directionsRenderer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=Fa({updaterMap:BHe,eventMap:UHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{directionsRenderer:n}},this.setDirectionsRendererCallback)},e.prototype.componentDidUpdate=function(n){this.state.directionsRenderer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:BHe,eventMap:UHe,prevProps:n,nextProps:this.props,instance:this.state.directionsRenderer}))},e.prototype.componentWillUnmount=function(){this.state.directionsRenderer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),ja(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},e.prototype.render=function(){return h.jsx(h.Fragment,{})},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={distanceMatrixService:null},n.setDistanceMatrixServiceCallback=function(){n.state.distanceMatrixService!==null&&n.props.onLoad&&n.props.onLoad(n.state.distanceMatrixService)},n}return e.prototype.componentDidMount=function(){B0(!!this.props.options,"DistanceMatrixService expected options object as parameter, but go %s",this.props.options);var n=new google.maps.DistanceMatrixService;this.setState(function(){return{distanceMatrixService:n}},this.setDistanceMatrixServiceCallback)},e.prototype.componentDidUpdate=function(){this.state.distanceMatrixService!==null&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)},e.prototype.componentWillUnmount=function(){this.state.distanceMatrixService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)},e.prototype.render=function(){return null},e})(m.PureComponent);var jHe={onPlacesChanged:"places_changed"},YHe={bounds:function(t,e){t.setBounds(e)}},Iot=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=m.createRef(),n.state={searchBox:null},n.setSearchBoxCallback=function(){n.state.searchBox!==null&&n.props.onLoad&&n.props.onLoad(n.state.searchBox)},n}return e.prototype.componentDidMount=function(){if(B0(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places),this.containerElement!==null&&this.containerElement.current!==null){var n=this.containerElement.current.querySelector("input");if(n!==null){var o=new google.maps.places.SearchBox(n,this.props.options);this.registeredEvents=Fa({updaterMap:YHe,eventMap:jHe,prevProps:{},nextProps:this.props,instance:o}),this.setState(function(){return{searchBox:o}},this.setSearchBoxCallback)}}},e.prototype.componentDidUpdate=function(n){this.state.searchBox!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:YHe,eventMap:jHe,prevProps:n,nextProps:this.props,instance:this.state.searchBox}))},e.prototype.componentWillUnmount=function(){this.state.searchBox!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),ja(this.registeredEvents))},e.prototype.render=function(){return h.jsx("div",{ref:this.containerElement,children:m.Children.only(this.props.children)})},e.contextType=xa,e}(m.PureComponent),OHe={onPlaceChanged:"place_changed"},_He={bounds:function(t,e){t.setBounds(e)},restrictions:function(t,e){t.setComponentRestrictions(e)},fields:function(t,e){t.setFields(e)},options:function(t,e){t.setOptions(e)},types:function(t,e){t.setTypes(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=m.createRef(),n.state={autocomplete:null},n.setAutocompleteCallback=function(){n.state.autocomplete!==null&&n.props.onLoad&&n.props.onLoad(n.state.autocomplete)},n}return e.prototype.componentDidMount=function(){var n;B0(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places);var o=(n=this.containerElement.current)===null||n===void 0?void 0:n.querySelector("input");if(o){var i=new google.maps.places.Autocomplete(o,this.props.options);this.registeredEvents=Fa({updaterMap:_He,eventMap:OHe,prevProps:{},nextProps:this.props,instance:i}),this.setState(function(){return{autocomplete:i}},this.setAutocompleteCallback)}},e.prototype.componentDidUpdate=function(n){ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:_He,eventMap:OHe,prevProps:n,nextProps:this.props,instance:this.state.autocomplete})},e.prototype.componentWillUnmount=function(){this.state.autocomplete!==null&&ja(this.registeredEvents)},e.prototype.render=function(){return h.jsx("div",{ref:this.containerElement,className:this.props.className,children:m.Children.only(this.props.children)})},e.defaultProps={className:""},e.contextType=xa,e})(m.PureComponent);const VHe="/aladdin/assets/empty_heart-B57-2tMp.png",mpo="/aladdin/assets/red_heart-BaAtCixH.png",ypo="/aladdin/assets/open_file-B6scZwPU.png",Apo="/aladdin/assets/export_link-Dxa4UObV.png",wpo="/aladdin/assets/click_count-BZx6BgQJ.png";function MO(t){const e=new Date(t);if(!Number.isNaN(e.valueOf()))return e;const n=String(t).match(/\d+/g);if(n==null||n.length<=2)return e;{const[o,i,...r]=n.map(s=>parseInt(s)),a=[o,i-1,...r];return new Date(Date.UTC(...a))}}function GHe(t,e,n){const o=t!==1?e+"s":e;return t+" "+o+" "+n}function Yde(){return Yde=Object.assign?Object.assign.bind():function(t){for(var e=1;eDate.now();function xpo({date:t,formatter:e=GHe,component:n="time",live:o=!0,minPeriod:i=0,maxPeriod:r=IO,title:a,now:l=vpo,...s}){const[c,u]=m.useState(l());m.useEffect(()=>{if(!o)return;const S=(()=>{const w=MO(t).valueOf();if(!w)return console.warn("[react-timeago] Invalid Date provided"),0;const T=Math.round(Math.abs(c-w)/1e3),P=T{u(l())},R):0})();return()=>{S&&clearTimeout(S)}},[t,o,r,i,l,c]);const d=n,f=MO(t).valueOf();if(!f)return null;const p=Math.round(Math.abs(c-f)/1e3),g=f"u"?typeof t=="string"?t:MO(t).toISOString().substr(0,16).replace("T"," "):a,C=d==="time"?{...s,dateTime:MO(t).toISOString()}:s,b=GHe.bind(null,y,A,g);return m.createElement(d,Yde({},C,{title:x}),e(y,A,g,f,b,l))}function OX(){return OX=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(n[i]=t[i]);return n}var Spo=["cdnSuffix","cdnUrl","countryCode","style","svg"],Tpo="https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/",Ppo="svg",Cpo=127397,zot=function(e){var n=e.cdnSuffix,o=n===void 0?Ppo:n,i=e.cdnUrl,r=i===void 0?Tpo:i,a=e.countryCode,l=e.style,s=e.svg,c=s===void 0?!1:s,u=bpo(e,Spo);if(typeof a!="string")return null;if(c){var d=""+r+a.toLowerCase()+"."+o;return m.createElement("img",Object.assign({},u,{src:d,style:OX({display:"inline-block",width:"1em",height:"1em",verticalAlign:"middle"},l)}))}var f=a.toUpperCase().replace(/./g,function(p){return String.fromCodePoint(p.charCodeAt(0)+Cpo)});return m.createElement("span",Object.assign({role:"img"},u,{style:OX({display:"inline-block",fontSize:"1em",lineHeight:"1em",verticalAlign:"middle"},l)}),f)};const Dot=t=>{switch(t.type){case da.PHOTOVOLTAIC:return x$e;case da.PARABOLIC_DISH:return b$e;case da.PARABOLIC_TROUGH:return S$e;case da.FRESNEL_REFLECTOR:return T$e;case da.SOLAR_POWER_TOWER:return P$e;case da.WIND_TURBINE:return H$e;case da.COLOCATION_PROJECTS:return M$e;case da.RESIDENTIAL_BUILDING:return y$e;case da.COMMERCIAL_BUILDING:return A$e;case da.SCHOOL_BUILDING:return w$e;case da.TOURIST_ATTRACTION:return v$e;case da.UNDER_CONSTRUCTION:return C$e}return R$e},{Panel:Rpo}=Mme,Hpo=Se.memo(({latRef:t,lngRef:e,selectAuthor:n,closeMap:o,openModel:i,deleteModel:r,likeModel:a,pinModel:l})=>{var fe;const s=M.getState().user,c=M(dn),u=M(En),d=M(F4t)??KNe,f=M(L4t)??0,p=M($1e)??"roadmap",g=M(uge),y=gt(jBe),A=M(OBe),[x,C]=m.useState(null),[b,v]=m.useState(null),[S,w]=m.useState(null),[T,P]=m.useState(!0),[R,H]=m.useState(!1),D=m.useRef(null),E=m.useRef([]),L=m.useRef(-1),U=m.useRef([]),F=Kt(),W=14,B=(fe=s.email)==null?void 0:fe.endsWith("@intofuture.org"),k=()=>{U.current.length=0;for(const se in g)if(Object.hasOwn(g,se)){const oe=g[se],de=new google.maps.LatLng(oe.latitude,oe.longitude);U.current.push(de)}},N=m.useCallback(se=>{C(se),k(),se.setMapTypeId(p)},[p]),j=m.useCallback(function(){C(null)},[]),Y=()=>{if(x){const se=x.getCenter();if(se){const oe=se.lat(),de=se.lng();if(oe!==t.current||de!==e.current){const ve={name:"Set Model Map Location",timestamp:Date.now(),oldLatitude:t.current,newLatitude:oe,oldLongitude:e.current,newLongitude:de,undo:()=>{t.current=ve.oldLatitude,e.current=ve.oldLongitude},redo:()=>{t.current=ve.newLatitude,e.current=ve.newLongitude}};u(ve),t.current=oe,e.current=de}}}},_=()=>{if(x){const se=x.getZoom();if(se!==void 0&&se!==d){const oe={name:"Zoom Model Map",timestamp:Date.now(),oldValue:d,newValue:se,undo:()=>{c(de=>{de.modelsMapZoom=oe.oldValue})},redo:()=>{c(de=>{de.modelsMapZoom=oe.newValue})}};u(oe),c(de=>{de.modelsMapZoom=se})}}},J=()=>{if(x){const se=x.getTilt();if(se!==void 0&&se!==f){const oe={name:"Tilt Model Map",timestamp:Date.now(),oldValue:f,newValue:se,undo:()=>{c(de=>{de.modelsMapTilt=oe.oldValue})},redo:()=>{c(de=>{de.modelsMapTilt=oe.newValue})}};u(oe),c(de=>{de.modelsMapTilt=se})}}},Q=()=>{if(x){const se=x.getMapTypeId();if(se!==void 0&&se!==p){const oe={name:"Change Model Map Type",timestamp:Date.now(),oldValue:p,newValue:se,undo:()=>{c(de=>{de.modelsMapType=oe.oldValue})},redo:()=>{c(de=>{de.modelsMapType=oe.newValue})}};u(oe),c(de=>{de.modelsMapType=se})}}},ee={styles:[{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"labels",stylers:[{visibility:"off"}]}]},$=se=>{se.userid&&se.title?(i(se),o()):Lo(O.t("message.ModelNotFound",F))},q=se=>{if(se.userid&&se.title){const oe=Sg+"?client=web&userid="+se.userid+"&title="+encodeURIComponent(se.title);navigator.clipboard.writeText(oe).then(()=>m2(O.t("cloudFilePanel.LinkGeneratedInClipBoard",F)+"."))}else Lo(O.t("message.ModelNotFound",F))},le=se=>{_r.confirm({title:O.t("message.DoYouWantToDeleteModelFromMap",F),icon:h.jsx(qm,{}),onOk:()=>{r(se,()=>{c(oe=>{var de,ve;if(oe.modelSites){const Pe=oe.modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(Pe){let me;for(const[Re,ze]of Pe)if(ze.userid===se.userid&&ze.title===se.title){me=Re;break}me&&(Pe.delete(me),Pe.size===0&&((ve=(de=E.current[L.current])==null?void 0:de.marker)==null||ve.setMap(null)))}}}),v(null),w(null)})},onCancel:()=>{},okText:O.t("word.Yes",F),cancelText:O.t("word.No",F)})},ie=se=>{var oe;if(se.userid&&se.title){const de=be.getModelKey(se),ve=!!((oe=s.likes)!=null&&oe.includes(de));a(se,!ve,()=>{c(Pe=>{if(Pe.user)if(Pe.user.likes||(Pe.user.likes=[]),Pe.user.likes.includes(de)){const me=Pe.user.likes.indexOf(de);me>=0&&Pe.user.likes.splice(me,1)}else Pe.user.likes.push(de);if(Pe.modelSites){const me=Pe.modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(me){for(const Re of me.values())if(Re.userid===se.userid&&Re.title===se.title){Re.likeCount===void 0&&(Re.likeCount=0),Re.likeCount+=ve?-1:1;break}}}}),H(!R)})}},pe=se=>{const oe=M.getState().modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(oe){for(const de of oe.values())if(de.userid===se.userid&&de.title===se.title)return de.likeCount??0}return 0},ne=se=>{const oe=M.getState().modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(oe){for(const de of oe.values())if(de.userid===se.userid&&de.title===se.title)return de.clickCount??0}return 0},Z=se=>{const oe=M.getState().modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(oe){for(const de of oe.values())if(de.userid===se.userid&&de.title===se.title)return de.pinned}return!1},he=(se,oe)=>{se.userid&&se.title&&l(se,oe,()=>{c(de=>{if(de.modelSites){const ve=de.modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(ve){for(const Pe of ve.values())if(Pe.userid===se.userid&&Pe.title===se.title){Pe.pinned=oe,H(!R);break}}}})})};return h.jsx(Aot,{mapContainerStyle:{border:"1px solid",width:"100%",height:"100%"},mapTypeId:p,options:ee,center:{lat:t.current,lng:e.current},zoom:d,tilt:f,onLoad:N,onUnmount:j,onCenterChanged:Y,onZoomChanged:_,onTiltChanged:J,onMapTypeIdChanged:Q,children:h.jsxs(h.Fragment,{children:[y&&U.current.map((se,oe)=>{const de=.2*d;return h.jsx(sHe,{icon:{path:google.maps.SymbolPath.CIRCLE,strokeColor:"red",strokeWeight:de+2,scale:de},position:se},oe)}),b&&b.size&&S&&h.jsx(qho,{position:{lat:S.lat(),lng:S.lng()},children:h.jsxs("div",{style:{border:"2px solid gainsboro",maxHeight:"400px",overflowY:"auto"},onMouseLeave:()=>{v(null),w(null)},children:[b.size>1?h.jsxs("div",{style:{background:"#dddddd",textAlign:"left",borderBottom:"1px solid gainsboro",paddingBottom:"4px",marginBottom:"4px"},children:[T?h.jsx(ttn,{title:O.t("modelsMap.SortFromNewestToOldest",F),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{P(!1)}}):h.jsx(jtn,{title:O.t("modelsMap.SortFromOldestToNewest",F),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{P(!0)}}),h.jsxs("span",{style:{fontSize:"10px"},children:[b.size," ",O.t("modelsMap.ModelsFoundOnThisSite",F)]}),S&&h.jsxs("span",{style:{fontSize:"10px"},children:[" —"," ",O.t("word.Coordinates",F)+": ("+S.lat().toFixed(sw)+"°, "+S.lng().toFixed(sw)+"°)"]})]}):"",[...b.keys()].sort((se,oe)=>{const de=b.get(se),ve=b.get(oe);return de!=null&&de.pinned&&!(ve!=null&&ve.pinned)?-1:ve!=null&&ve.pinned&&!(de!=null&&de.pinned)?1:(T?1:-1)*(((de==null?void 0:de.timeCreated)??0)-((ve==null?void 0:ve.timeCreated)??0))}).map((se,oe)=>{const de=b.get(se);return de?h.jsxs("div",{style:{padding:(b==null?void 0:b.size)>1?"5px 5px 20px 5px":"5px",background:oe%2===0?"white":"#eeeeee"},children:[oe===0&&h.jsxs("div",{style:{fontSize:"12px",display:"block",paddingBottom:"6px"},children:[de.countryCode&&h.jsx(zot,{countryCode:de.countryCode,style:{marginRight:"6px",width:"20px"},svg:!0}),de.address??"Unknown",b.size===1&&h.jsx("span",{style:{fontSize:"10px",display:"block",paddingTop:"10px"},children:O.t("word.Coordinates",F)+": ("+S.lat().toFixed(sw)+"°, "+S.lng().toFixed(sw)+"°)"})]}),h.jsx(Mme,{style:{background:Z(de)?"#FEF9EC":oe%2===0?"white":"#eeeeee",width:"400px"},bordered:!1,ghost:!0,defaultActiveKey:["0"],children:h.jsx(Rpo,{header:h.jsxs(h.Fragment,{children:[de.label,Z(de)&&h.jsx(ATe,{style:{marginLeft:"8px"}})]}),style:{fontSize:"12px"},children:h.jsx("div",{style:{fontSize:"10px",display:"block",textAlign:"left"},children:h.jsxs(en,{align:"start",children:[de.thumbnailUrl&&h.jsx("img",{alt:de.label,title:O.t("word.Open",F),src:de.thumbnailUrl,style:{border:"1px solid #222",cursor:"pointer"},onClick:()=>$(de)}),h.jsxs("div",{children:[de.description&&de.description.trim()!==""?de.description:""," —  By"," ",h.jsx("span",{style:{cursor:"pointer"},title:O.t("modelsMap.ShowModelsPublishedByThisAuthor",F),onClick:()=>{n(de.author)},children:!de.author||de.author===""?O.t("word.Anonymous",F):de.author}),", ",de.timeCreated&&h.jsx(xpo,{date:new Date(de.timeCreated)})]})]})})},oe)}),h.jsxs("div",{style:{marginTop:"10px",fontSize:"11px"},children:[B&&h.jsx(h.Fragment,{children:Z(de)?h.jsx(xtn,{style:{cursor:"pointer"},title:O.t("word.Unpin",F),onClick:()=>he(de,!1)}):h.jsx(ATe,{style:{cursor:"pointer"},title:O.t("word.Pin",F),onClick:()=>he(de,!0)})}),h.jsx("img",{alt:"Open",onClick:()=>$(de),style:{marginLeft:"10px",cursor:"pointer"},title:O.t("word.Open",F),src:ypo,height:W,width:W}),h.jsx("img",{alt:"Export link",onClick:()=>q(de),style:{marginLeft:"5px",cursor:"pointer"},title:O.t("word.Share",F),src:Apo,height:W,width:W}),de.userid===s.uid&&h.jsx("img",{alt:"Delete",onClick:()=>le(de),style:{marginLeft:"5px",cursor:"pointer"},title:O.t("word.Delete",F),src:mot,height:W,width:W}),s.uid?h.jsx(h.Fragment,{children:s.likes&&s.likes.includes(be.getModelKey(de))?h.jsx("img",{alt:"Like",onClick:()=>ie(de),style:{marginLeft:"10px",cursor:"pointer"},title:O.t("word.AlreadyLike",F),src:mpo,height:W,width:W}):h.jsx("img",{alt:"Like",onClick:()=>ie(de),style:{marginLeft:"10px",cursor:"pointer"},title:O.t("word.Like",F),src:VHe,height:W,width:W})}):h.jsx(h.Fragment,{children:h.jsx("img",{alt:"Like",style:{marginLeft:"10px",opacity:.5},title:O.t("word.MustLogInToLike",F),src:VHe,height:W,width:W})}),"   ",pe(de),h.jsx("img",{alt:"Click counter",style:{marginLeft:"10px"},title:O.t("word.ClickCount",F),src:wpo,height:W,width:W}),"   ",ne(de)]})]},oe):null})]})}),!!A&&!!A.size&&h.jsx(Iho,{children:se=>h.jsx("div",{children:[...A.keys()].map((oe,de)=>{const ve=A.get(oe);if(!ve||!ve.size)return null;const Pe=[...ve.keys()].sort((ze,Ae)=>{const re=ve.get(ze),ge=ve.get(Ae);return re!=null&&re.pinned&&!(ge!=null&&ge.pinned)?-1:ge!=null&&ge.pinned&&!(re!=null&&re.pinned)?1:(T?1:-1)*(((re==null?void 0:re.timeCreated)??0)-((ge==null?void 0:ge.timeCreated)??0))}),me=ve.get(Pe[0]);if(!me)return null;const Re=Dot(me);return h.jsx(sHe,{ref:ze=>E.current[de]=ze,clusterer:se,icon:Re?{url:Re}:void 0,position:{lat:me.latitude,lng:me.longitude},onClick:()=>$(me),onMouseOver:()=>{D.current=b,L.current=de,v(ve);const ze=oe.split(", ");w(new google.maps.LatLng(Number.parseFloat(ze[0]),Number.parseFloat(ze[1])))},onMouseOut:()=>{b===D.current&&(v(null),w(null))}},de)})})})]})})}),Mpo="/aladdin/assets/image_load_failure-HGDkwC0S.png",Eot=Se.memo(({latRef:t,lngRef:e,author:n,models:o,closeCallback:i,openCloudFile:r})=>{const a=M(Eg),l=M(Sc),s=M(dn),c=M($1e),u=m.useRef(o?new Map(o):new Map),[d,f]=m.useState(!1),[p,g]=m.useState(),[y,A]=m.useState(!1),{Search:x}=ns,C=m.useMemo(()=>({lng:l}),[l]);m.useEffect(()=>{o&&(u.current=new Map(o),f(!d))},[o]);const b=m.useMemo(()=>{let S=0;for(const w of u.current.values())(n||w.userid===a.uid)&&S++;return S},[u.current,n,a.uid,d]),v=n&&c!=="roadmap";return u.current.size===0?h.jsx(B0e,{mask:!1,styles:{header:{height:"40px",paddingLeft:"1px",paddingRight:"1px",paddingTop:"16px",paddingBottom:"12px",background:v?"#6A6B6E":"whitesmoke"},body:{padding:"0px 4px 0px 4px",overflowY:"hidden",background:v?"#2A2B2E":"white"}},style:{scrollbarColor:v?"#6A6B6E":"whitesmoke"},title:(n??O.t("modelsMap.MyPublishedModels",C))+" (0)",placement:"bottom",open:!0,height:"150px",onClose:()=>{i()},children:h.jsx(rg,{image:rg.PRESENTED_IMAGE_SIMPLE,style:{color:v?"lightgray":"dimgray"}})}):h.jsx(B0e,{extra:h.jsxs(en,{children:[y?h.jsx(ftn,{title:O.t("modelsMap.SortFromNewestToOldest",C),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{A(!1)}}):h.jsx(g$e,{title:O.t("modelsMap.SortFromOldestToNewest",C),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{A(!0)}}),h.jsx(x,{title:O.t("modelsMap.SearchByLabel",C),allowClear:!0,size:"small",enterButton:!0,onSearch:S=>{var w;if(o){u.current.clear();for(const[T,P]of o)(w=P.label)!=null&&w.toLowerCase().includes(S.toLowerCase())&&u.current.set(T,P);f(!d)}}})]}),mask:!1,styles:{header:{height:"40px",color:v?"white":"black",background:v?"#6A6B6E":"whitesmoke",paddingLeft:"1px",paddingRight:"1px",paddingTop:"16px",paddingBottom:"12px",border:"none"},body:{padding:"0px 4px 0px 4px",overflowY:"hidden",background:v?"#2A2B2E":"white"}},title:(n??O.t("modelsMap.MyPublishedModels",C))+" ("+b+")",placement:"bottom",open:!0,height:"164px",onClose:()=>{g(void 0),i()},children:h.jsx("table",{children:h.jsx("tbody",{children:h.jsx("tr",{children:[...u.current.keys()].sort((S,w)=>{const T=u.current.get(S),P=u.current.get(w);return!T||!P?0:(y?-1:1)*((P.timeCreated??0)-(T.timeCreated??0))}).map((S,w)=>{const T=u.current.get(S);return!T||!n&&T.userid!==a.uid?null:h.jsx("td",{children:h.jsxs("div",{style:{display:"block",marginTop:"4px"},children:[h.jsx("img",{loading:"lazy",height:"100px",width:"auto",onError:P=>{P.target.src=Mpo},alt:T.label,title:T.label,src:T.thumbnailUrl,style:{cursor:"pointer",borderRadius:p===T?"0":"10px",border:p===T?"2px solid "+(v?"goldenrod":"red"):"none",marginRight:"4px"},onClick:()=>{g(T),r?r(T.userid,T.title):s(P=>{T&&(P.modelsMapLatitude=T.latitude,P.modelsMapLongitude=T.longitude,P.modelsMapZoom=17,t&&(t.current=T.latitude),e&&(e.current=T.longitude))})}}),h.jsxs("div",{children:[h.jsx("img",{alt:T.type,src:Dot(T),style:{position:"relative",left:"8px",bottom:"28px",width:"16px",height:"16px"}}),h.jsx("span",{style:{position:"relative",left:"16px",bottom:"24px",color:"white",fontSize:"8px",fontWeight:"bold"},children:T.label?T.label.length>30?T.label.substring(0,30)+"...":T.label:"Unknown"})]})]})},w)})})})})})}),Ipo=["places"],zpo=Ho.div` +`,l=`Cluster of ${e} markers`,s=Number(google.maps.Marker.MAX_ZINDEX)+e;if(ng.isAdvancedMarkerAvailable(i)){const u=document.createElement("div");u.innerHTML=a;const d=u.firstElementChild;d.setAttribute("transform","translate(0 25)");const f={map:i,position:n,zIndex:s,title:l,content:d};return new google.maps.marker.AdvancedMarkerElement(f)}const c={position:n,zIndex:s,title:l,icon:{url:`data:image/svg+xml;base64,${btoa(a)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(c)}}function Yho(t,e){for(let n in e.prototype)t.prototype[n]=e.prototype[n]}class r9e{constructor(){Yho(r9e,google.maps.OverlayView)}}var RE;(function(t){t.CLUSTERING_BEGIN="clusteringbegin",t.CLUSTERING_END="clusteringend",t.CLUSTER_CLICK="click"})(RE||(RE={}));const Oho=(t,e,n)=>{n.fitBounds(e.bounds)};class _ho extends r9e{constructor({map:e,markers:n=[],algorithmOptions:o={},algorithm:i=new Uho(o),renderer:r=new jho,onClusterClick:a=Oho}){super(),this.markers=[...n],this.clusters=[],this.algorithm=i,this.renderer=r,this.onClusterClick=a,e&&this.setMap(e)}addMarker(e,n){this.markers.includes(e)||(this.markers.push(e),n||this.render())}addMarkers(e,n){e.forEach(o=>{this.addMarker(o,!0)}),n||this.render()}removeMarker(e,n){const o=this.markers.indexOf(e);return o===-1?!1:(ng.setMap(e,null),this.markers.splice(o,1),n||this.render(),!0)}removeMarkers(e,n){let o=!1;return e.forEach(i=>{o=this.removeMarker(i,!0)||o}),o&&!n&&this.render(),o}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,RE.CLUSTERING_BEGIN,this);const{clusters:n,changed:o}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(o||o==null){const i=new Set;for(const a of n)a.markers.length==1&&i.add(a.markers[0]);const r=[];for(const a of this.clusters)a.marker!=null&&(a.markers.length==1?i.has(a.marker)||ng.setMap(a.marker,null):r.push(a.marker));this.clusters=n,this.renderClusters(),requestAnimationFrame(()=>r.forEach(a=>ng.setMap(a,null)))}google.maps.event.trigger(this,RE.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>ng.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){const e=new Bho(this.markers,this.clusters),n=this.getMap();this.clusters.forEach(o=>{o.markers.length===1?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,n),o.markers.forEach(i=>ng.setMap(i,null)),this.onClusterClick&&o.marker.addListener("click",i=>{google.maps.event.trigger(this,RE.CLUSTER_CLICK,o),this.onClusterClick(i,o,n)})),ng.setMap(o.marker,n)})}}function Vho(t){var e=Zfo(),n=m.useState(null),o=n[0],i=n[1];return m.useEffect(function(){if(e&&o===null){var r=new _ho(cr(cr({},t),{map:e}));i(r)}},[e]),o}function Gho(t){var e=t.children,n=t.options,o=Vho(n);return o!==null?e(o):null}m.memo(Gho);var yHe={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},AHe={options:function(t,e){t.setOptions(e)},position:function(t,e){t.setPosition(e)},zIndex:function(t,e){t.setZIndex(e)}};function Xho(t){var e=t.children,n=t.anchor,o=t.options,i=t.position,r=t.zIndex,a=t.onCloseClick,l=t.onDomReady,s=t.onContentChanged,c=t.onPositionChanged,u=t.onZindexChanged,d=t.onLoad,f=t.onUnmount,p=m.useContext(xa),g=m.useState(null),y=g[0],A=g[1],x=m.useState(null),C=x[0],b=x[1],v=m.useState(null),S=v[0],w=v[1],T=m.useState(null),P=T[0],R=T[1],H=m.useState(null),D=H[0],E=H[1],L=m.useState(null),U=L[0],F=L[1],W=m.useRef(null);return m.useEffect(function(){y!==null&&(y.close(),n?y.open(p,n):y.getPosition()&&y.open(p))},[p,y,n]),m.useEffect(function(){o&&y!==null&&y.setOptions(o)},[y,o]),m.useEffect(function(){i&&y!==null&&y.setPosition(i)},[i]),m.useEffect(function(){typeof r=="number"&&y!==null&&y.setZIndex(r)},[r]),m.useEffect(function(){y&&a&&(C!==null&&google.maps.event.removeListener(C),b(google.maps.event.addListener(y,"closeclick",a)))},[a]),m.useEffect(function(){y&&l&&(S!==null&&google.maps.event.removeListener(S),w(google.maps.event.addListener(y,"domready",l)))},[l]),m.useEffect(function(){y&&s&&(P!==null&&google.maps.event.removeListener(P),R(google.maps.event.addListener(y,"content_changed",s)))},[s]),m.useEffect(function(){y&&c&&(D!==null&&google.maps.event.removeListener(D),E(google.maps.event.addListener(y,"position_changed",c)))},[c]),m.useEffect(function(){y&&u&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(y,"zindex_changed",u)))},[u]),m.useEffect(function(){var B=new google.maps.InfoWindow(cr({},o||{}));return A(B),W.current=document.createElement("div"),a&&b(google.maps.event.addListener(B,"closeclick",a)),l&&w(google.maps.event.addListener(B,"domready",l)),s&&R(google.maps.event.addListener(B,"content_changed",s)),c&&E(google.maps.event.addListener(B,"position_changed",c)),u&&F(google.maps.event.addListener(B,"zindex_changed",u)),B.setContent(W.current),i&&B.setPosition(i),r&&B.setZIndex(r),n?B.open(p,n):B.getPosition()?B.open(p):B0(!1,"You must provide either an anchor (typically render it inside a ) or a position props for ."),d&&d(B),function(){C&&google.maps.event.removeListener(C),P&&google.maps.event.removeListener(P),S&&google.maps.event.removeListener(S),D&&google.maps.event.removeListener(D),U&&google.maps.event.removeListener(U),f&&f(B),B.close()}},[]),W.current?Sd.createPortal(m.Children.only(e),W.current):null}m.memo(Xho);var Jho=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=null,n.state={infoWindow:null},n.open=function(o,i){i?o.open(n.context,i):o.getPosition()?o.open(n.context):B0(!1,"You must provide either an anchor (typically render it inside a ) or a position props for .")},n.setInfoWindowCallback=function(){n.state.infoWindow!==null&&n.containerElement!==null&&(n.state.infoWindow.setContent(n.containerElement),n.open(n.state.infoWindow,n.props.anchor),n.props.onLoad&&n.props.onLoad(n.state.infoWindow))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.InfoWindow(cr({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=Fa({updaterMap:AHe,eventMap:yHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{infoWindow:n}},this.setInfoWindowCallback)},e.prototype.componentDidUpdate=function(n){this.state.infoWindow!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:AHe,eventMap:yHe,prevProps:n,nextProps:this.props,instance:this.state.infoWindow}))},e.prototype.componentWillUnmount=function(){this.state.infoWindow!==null&&(ja(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},e.prototype.render=function(){return this.containerElement?Sd.createPortal(m.Children.only(this.props.children),this.containerElement):null},e.contextType=xa,e}(m.PureComponent),wHe={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},vHe={draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},path:function(t,e){t.setPath(e)},visible:function(t,e){t.setVisible(e)}},Kho={};function qho(t){var e=t.options,n=t.draggable,o=t.editable,i=t.visible,r=t.path,a=t.onDblClick,l=t.onDragEnd,s=t.onDragStart,c=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,f=t.onMouseOver,p=t.onMouseUp,g=t.onRightClick,y=t.onClick,A=t.onDrag,x=t.onLoad,C=t.onUnmount,b=m.useContext(xa),v=m.useState(null),S=v[0],w=v[1],T=m.useState(null),P=T[0],R=T[1],H=m.useState(null),D=H[0],E=H[1],L=m.useState(null),U=L[0],F=L[1],W=m.useState(null),B=W[0],k=W[1],N=m.useState(null),j=N[0],Y=N[1],_=m.useState(null),J=_[0],Q=_[1],ee=m.useState(null),$=ee[0],q=ee[1],le=m.useState(null),ie=le[0],pe=le[1],ne=m.useState(null),Z=ne[0],he=ne[1],fe=m.useState(null),se=fe[0],oe=fe[1],de=m.useState(null),ve=de[0],Pe=de[1];return m.useEffect(function(){S!==null&&S.setMap(b)},[b]),m.useEffect(function(){typeof e<"u"&&S!==null&&S.setOptions(e)},[S,e]),m.useEffect(function(){typeof n<"u"&&S!==null&&S.setDraggable(n)},[S,n]),m.useEffect(function(){typeof o<"u"&&S!==null&&S.setEditable(o)},[S,o]),m.useEffect(function(){typeof i<"u"&&S!==null&&S.setVisible(i)},[S,i]),m.useEffect(function(){typeof r<"u"&&S!==null&&S.setPath(r)},[S,r]),m.useEffect(function(){S&&a&&(P!==null&&google.maps.event.removeListener(P),R(google.maps.event.addListener(S,"dblclick",a)))},[a]),m.useEffect(function(){S&&l&&(D!==null&&google.maps.event.removeListener(D),E(google.maps.event.addListener(S,"dragend",l)))},[l]),m.useEffect(function(){S&&s&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(S,"dragstart",s)))},[s]),m.useEffect(function(){S&&c&&(B!==null&&google.maps.event.removeListener(B),k(google.maps.event.addListener(S,"mousedown",c)))},[c]),m.useEffect(function(){S&&u&&(j!==null&&google.maps.event.removeListener(j),Y(google.maps.event.addListener(S,"mousemove",u)))},[u]),m.useEffect(function(){S&&d&&(J!==null&&google.maps.event.removeListener(J),Q(google.maps.event.addListener(S,"mouseout",d)))},[d]),m.useEffect(function(){S&&f&&($!==null&&google.maps.event.removeListener($),q(google.maps.event.addListener(S,"mouseover",f)))},[f]),m.useEffect(function(){S&&p&&(ie!==null&&google.maps.event.removeListener(ie),pe(google.maps.event.addListener(S,"mouseup",p)))},[p]),m.useEffect(function(){S&&g&&(Z!==null&&google.maps.event.removeListener(Z),he(google.maps.event.addListener(S,"rightclick",g)))},[g]),m.useEffect(function(){S&&y&&(se!==null&&google.maps.event.removeListener(se),oe(google.maps.event.addListener(S,"click",y)))},[y]),m.useEffect(function(){S&&A&&(ve!==null&&google.maps.event.removeListener(ve),Pe(google.maps.event.addListener(S,"drag",A)))},[A]),m.useEffect(function(){var me=new google.maps.Polyline(cr(cr({},e||Kho),{map:b}));return r&&me.setPath(r),typeof i<"u"&&me.setVisible(i),typeof o<"u"&&me.setEditable(o),typeof n<"u"&&me.setDraggable(n),a&&R(google.maps.event.addListener(me,"dblclick",a)),l&&E(google.maps.event.addListener(me,"dragend",l)),s&&F(google.maps.event.addListener(me,"dragstart",s)),c&&k(google.maps.event.addListener(me,"mousedown",c)),u&&Y(google.maps.event.addListener(me,"mousemove",u)),d&&Q(google.maps.event.addListener(me,"mouseout",d)),f&&q(google.maps.event.addListener(me,"mouseover",f)),p&&pe(google.maps.event.addListener(me,"mouseup",p)),g&&he(google.maps.event.addListener(me,"rightclick",g)),y&&oe(google.maps.event.addListener(me,"click",y)),A&&Pe(google.maps.event.addListener(me,"drag",A)),w(me),x&&x(me),function(){P!==null&&google.maps.event.removeListener(P),D!==null&&google.maps.event.removeListener(D),U!==null&&google.maps.event.removeListener(U),B!==null&&google.maps.event.removeListener(B),j!==null&&google.maps.event.removeListener(j),J!==null&&google.maps.event.removeListener(J),$!==null&&google.maps.event.removeListener($),ie!==null&&google.maps.event.removeListener(ie),Z!==null&&google.maps.event.removeListener(Z),se!==null&&google.maps.event.removeListener(se),C&&C(me),me.setMap(null)}},[]),null}m.memo(qho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={polyline:null},n.setPolylineCallback=function(){n.state.polyline!==null&&n.props.onLoad&&n.props.onLoad(n.state.polyline)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Polyline(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:vHe,eventMap:wHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{polyline:n}},this.setPolylineCallback)},e.prototype.componentDidUpdate=function(n){this.state.polyline!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:vHe,eventMap:wHe,prevProps:n,nextProps:this.props,instance:this.state.polyline}))},e.prototype.componentWillUnmount=function(){this.state.polyline!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),ja(this.registeredEvents),this.state.polyline.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var xHe={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},bHe={draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},path:function(t,e){t.setPath(e)},paths:function(t,e){t.setPaths(e)},visible:function(t,e){t.setVisible(e)}};function $ho(t){var e=t.options,n=t.draggable,o=t.editable,i=t.visible,r=t.path,a=t.paths,l=t.onDblClick,s=t.onDragEnd,c=t.onDragStart,u=t.onMouseDown,d=t.onMouseMove,f=t.onMouseOut,p=t.onMouseOver,g=t.onMouseUp,y=t.onRightClick,A=t.onClick,x=t.onDrag,C=t.onLoad,b=t.onUnmount,v=m.useContext(xa),S=m.useState(null),w=S[0],T=S[1],P=m.useState(null),R=P[0],H=P[1],D=m.useState(null),E=D[0],L=D[1],U=m.useState(null),F=U[0],W=U[1],B=m.useState(null),k=B[0],N=B[1],j=m.useState(null),Y=j[0],_=j[1],J=m.useState(null),Q=J[0],ee=J[1],$=m.useState(null),q=$[0],le=$[1],ie=m.useState(null),pe=ie[0],ne=ie[1],Z=m.useState(null),he=Z[0],fe=Z[1],se=m.useState(null),oe=se[0],de=se[1],ve=m.useState(null),Pe=ve[0],me=ve[1];return m.useEffect(function(){w!==null&&w.setMap(v)},[v]),m.useEffect(function(){typeof e<"u"&&w!==null&&w.setOptions(e)},[w,e]),m.useEffect(function(){typeof n<"u"&&w!==null&&w.setDraggable(n)},[w,n]),m.useEffect(function(){typeof o<"u"&&w!==null&&w.setEditable(o)},[w,o]),m.useEffect(function(){typeof i<"u"&&w!==null&&w.setVisible(i)},[w,i]),m.useEffect(function(){typeof r<"u"&&w!==null&&w.setPath(r)},[w,r]),m.useEffect(function(){typeof a<"u"&&w!==null&&w.setPaths(a)},[w,a]),m.useEffect(function(){w&&l&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(w,"dblclick",l)))},[l]),m.useEffect(function(){w&&s&&(E!==null&&google.maps.event.removeListener(E),L(google.maps.event.addListener(w,"dragend",s)))},[s]),m.useEffect(function(){w&&c&&(F!==null&&google.maps.event.removeListener(F),W(google.maps.event.addListener(w,"dragstart",c)))},[c]),m.useEffect(function(){w&&u&&(k!==null&&google.maps.event.removeListener(k),N(google.maps.event.addListener(w,"mousedown",u)))},[u]),m.useEffect(function(){w&&d&&(Y!==null&&google.maps.event.removeListener(Y),_(google.maps.event.addListener(w,"mousemove",d)))},[d]),m.useEffect(function(){w&&f&&(Q!==null&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(w,"mouseout",f)))},[f]),m.useEffect(function(){w&&p&&(q!==null&&google.maps.event.removeListener(q),le(google.maps.event.addListener(w,"mouseover",p)))},[p]),m.useEffect(function(){w&&g&&(pe!==null&&google.maps.event.removeListener(pe),ne(google.maps.event.addListener(w,"mouseup",g)))},[g]),m.useEffect(function(){w&&y&&(he!==null&&google.maps.event.removeListener(he),fe(google.maps.event.addListener(w,"rightclick",y)))},[y]),m.useEffect(function(){w&&A&&(oe!==null&&google.maps.event.removeListener(oe),de(google.maps.event.addListener(w,"click",A)))},[A]),m.useEffect(function(){w&&x&&(Pe!==null&&google.maps.event.removeListener(Pe),me(google.maps.event.addListener(w,"drag",x)))},[x]),m.useEffect(function(){var Re=new google.maps.Polygon(cr(cr({},e||{}),{map:v}));return r&&Re.setPath(r),a&&Re.setPaths(a),typeof i<"u"&&Re.setVisible(i),typeof o<"u"&&Re.setEditable(o),typeof n<"u"&&Re.setDraggable(n),l&&H(google.maps.event.addListener(Re,"dblclick",l)),s&&L(google.maps.event.addListener(Re,"dragend",s)),c&&W(google.maps.event.addListener(Re,"dragstart",c)),u&&N(google.maps.event.addListener(Re,"mousedown",u)),d&&_(google.maps.event.addListener(Re,"mousemove",d)),f&&ee(google.maps.event.addListener(Re,"mouseout",f)),p&&le(google.maps.event.addListener(Re,"mouseover",p)),g&&ne(google.maps.event.addListener(Re,"mouseup",g)),y&&fe(google.maps.event.addListener(Re,"rightclick",y)),A&&de(google.maps.event.addListener(Re,"click",A)),x&&me(google.maps.event.addListener(Re,"drag",x)),T(Re),C&&C(Re),function(){R!==null&&google.maps.event.removeListener(R),E!==null&&google.maps.event.removeListener(E),F!==null&&google.maps.event.removeListener(F),k!==null&&google.maps.event.removeListener(k),Y!==null&&google.maps.event.removeListener(Y),Q!==null&&google.maps.event.removeListener(Q),q!==null&&google.maps.event.removeListener(q),pe!==null&&google.maps.event.removeListener(pe),he!==null&&google.maps.event.removeListener(he),oe!==null&&google.maps.event.removeListener(oe),b&&b(Re),Re.setMap(null)}},[]),null}m.memo($ho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={polygon:null},n.setPolygonCallback=function(){n.state.polygon!==null&&n.props.onLoad&&n.props.onLoad(n.state.polygon)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Polygon(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:bHe,eventMap:xHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{polygon:n}},this.setPolygonCallback)},e.prototype.componentDidUpdate=function(n){this.state.polygon!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:bHe,eventMap:xHe,prevProps:n,nextProps:this.props,instance:this.state.polygon}))},e.prototype.componentWillUnmount=function(){this.state.polygon!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.polygon),ja(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var SHe={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},THe={bounds:function(t,e){t.setBounds(e)},draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},visible:function(t,e){t.setVisible(e)}};function Qho(t){var e=t.options,n=t.bounds,o=t.draggable,i=t.editable,r=t.visible,a=t.onDblClick,l=t.onDragEnd,s=t.onDragStart,c=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,f=t.onMouseOver,p=t.onMouseUp,g=t.onRightClick,y=t.onClick,A=t.onDrag,x=t.onBoundsChanged,C=t.onLoad,b=t.onUnmount,v=m.useContext(xa),S=m.useState(null),w=S[0],T=S[1],P=m.useState(null),R=P[0],H=P[1],D=m.useState(null),E=D[0],L=D[1],U=m.useState(null),F=U[0],W=U[1],B=m.useState(null),k=B[0],N=B[1],j=m.useState(null),Y=j[0],_=j[1],J=m.useState(null),Q=J[0],ee=J[1],$=m.useState(null),q=$[0],le=$[1],ie=m.useState(null),pe=ie[0],ne=ie[1],Z=m.useState(null),he=Z[0],fe=Z[1],se=m.useState(null),oe=se[0],de=se[1],ve=m.useState(null),Pe=ve[0],me=ve[1],Re=m.useState(null),ze=Re[0],Ae=Re[1];return m.useEffect(function(){w!==null&&w.setMap(v)},[v]),m.useEffect(function(){typeof e<"u"&&w!==null&&w.setOptions(e)},[w,e]),m.useEffect(function(){typeof o<"u"&&w!==null&&w.setDraggable(o)},[w,o]),m.useEffect(function(){typeof i<"u"&&w!==null&&w.setEditable(i)},[w,i]),m.useEffect(function(){typeof r<"u"&&w!==null&&w.setVisible(r)},[w,r]),m.useEffect(function(){typeof n<"u"&&w!==null&&w.setBounds(n)},[w,n]),m.useEffect(function(){w&&a&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(w,"dblclick",a)))},[a]),m.useEffect(function(){w&&l&&(E!==null&&google.maps.event.removeListener(E),L(google.maps.event.addListener(w,"dragend",l)))},[l]),m.useEffect(function(){w&&s&&(F!==null&&google.maps.event.removeListener(F),W(google.maps.event.addListener(w,"dragstart",s)))},[s]),m.useEffect(function(){w&&c&&(k!==null&&google.maps.event.removeListener(k),N(google.maps.event.addListener(w,"mousedown",c)))},[c]),m.useEffect(function(){w&&u&&(Y!==null&&google.maps.event.removeListener(Y),_(google.maps.event.addListener(w,"mousemove",u)))},[u]),m.useEffect(function(){w&&d&&(Q!==null&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(w,"mouseout",d)))},[d]),m.useEffect(function(){w&&f&&(q!==null&&google.maps.event.removeListener(q),le(google.maps.event.addListener(w,"mouseover",f)))},[f]),m.useEffect(function(){w&&p&&(pe!==null&&google.maps.event.removeListener(pe),ne(google.maps.event.addListener(w,"mouseup",p)))},[p]),m.useEffect(function(){w&&g&&(he!==null&&google.maps.event.removeListener(he),fe(google.maps.event.addListener(w,"rightclick",g)))},[g]),m.useEffect(function(){w&&y&&(oe!==null&&google.maps.event.removeListener(oe),de(google.maps.event.addListener(w,"click",y)))},[y]),m.useEffect(function(){w&&A&&(Pe!==null&&google.maps.event.removeListener(Pe),me(google.maps.event.addListener(w,"drag",A)))},[A]),m.useEffect(function(){w&&x&&(ze!==null&&google.maps.event.removeListener(ze),Ae(google.maps.event.addListener(w,"bounds_changed",x)))},[x]),m.useEffect(function(){var re=new google.maps.Rectangle(cr(cr({},e||{}),{map:v}));return typeof r<"u"&&re.setVisible(r),typeof i<"u"&&re.setEditable(i),typeof o<"u"&&re.setDraggable(o),typeof n<"u"&&re.setBounds(n),a&&H(google.maps.event.addListener(re,"dblclick",a)),l&&L(google.maps.event.addListener(re,"dragend",l)),s&&W(google.maps.event.addListener(re,"dragstart",s)),c&&N(google.maps.event.addListener(re,"mousedown",c)),u&&_(google.maps.event.addListener(re,"mousemove",u)),d&&ee(google.maps.event.addListener(re,"mouseout",d)),f&&le(google.maps.event.addListener(re,"mouseover",f)),p&&ne(google.maps.event.addListener(re,"mouseup",p)),g&&fe(google.maps.event.addListener(re,"rightclick",g)),y&&de(google.maps.event.addListener(re,"click",y)),A&&me(google.maps.event.addListener(re,"drag",A)),x&&Ae(google.maps.event.addListener(re,"bounds_changed",x)),T(re),C&&C(re),function(){R!==null&&google.maps.event.removeListener(R),E!==null&&google.maps.event.removeListener(E),F!==null&&google.maps.event.removeListener(F),k!==null&&google.maps.event.removeListener(k),Y!==null&&google.maps.event.removeListener(Y),Q!==null&&google.maps.event.removeListener(Q),q!==null&&google.maps.event.removeListener(q),pe!==null&&google.maps.event.removeListener(pe),he!==null&&google.maps.event.removeListener(he),oe!==null&&google.maps.event.removeListener(oe),Pe!==null&&google.maps.event.removeListener(Pe),ze!==null&&google.maps.event.removeListener(ze),b&&b(re),re.setMap(null)}},[]),null}m.memo(Qho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={rectangle:null},n.setRectangleCallback=function(){n.state.rectangle!==null&&n.props.onLoad&&n.props.onLoad(n.state.rectangle)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Rectangle(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:THe,eventMap:SHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{rectangle:n}},this.setRectangleCallback)},e.prototype.componentDidUpdate=function(n){this.state.rectangle!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:THe,eventMap:SHe,prevProps:n,nextProps:this.props,instance:this.state.rectangle}))},e.prototype.componentWillUnmount=function(){this.state.rectangle!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),ja(this.registeredEvents),this.state.rectangle.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var PHe={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},CHe={center:function(t,e){t.setCenter(e)},draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},radius:function(t,e){t.setRadius(e)},visible:function(t,e){t.setVisible(e)}},Zho={};function epo(t){var e=t.options,n=t.center,o=t.radius,i=t.draggable,r=t.editable,a=t.visible,l=t.onDblClick,s=t.onDragEnd,c=t.onDragStart,u=t.onMouseDown,d=t.onMouseMove,f=t.onMouseOut,p=t.onMouseOver,g=t.onMouseUp,y=t.onRightClick,A=t.onClick,x=t.onDrag,C=t.onCenterChanged,b=t.onRadiusChanged,v=t.onLoad,S=t.onUnmount,w=m.useContext(xa),T=m.useState(null),P=T[0],R=T[1],H=m.useState(null),D=H[0],E=H[1],L=m.useState(null),U=L[0],F=L[1],W=m.useState(null),B=W[0],k=W[1],N=m.useState(null),j=N[0],Y=N[1],_=m.useState(null),J=_[0],Q=_[1],ee=m.useState(null),$=ee[0],q=ee[1],le=m.useState(null),ie=le[0],pe=le[1],ne=m.useState(null),Z=ne[0],he=ne[1],fe=m.useState(null),se=fe[0],oe=fe[1],de=m.useState(null),ve=de[0],Pe=de[1],me=m.useState(null),Re=me[0],ze=me[1],Ae=m.useState(null),re=Ae[0],ge=Ae[1],we=m.useState(null),ye=we[0],Te=we[1];return m.useEffect(function(){P!==null&&P.setMap(w)},[w]),m.useEffect(function(){typeof e<"u"&&P!==null&&P.setOptions(e)},[P,e]),m.useEffect(function(){typeof i<"u"&&P!==null&&P.setDraggable(i)},[P,i]),m.useEffect(function(){typeof r<"u"&&P!==null&&P.setEditable(r)},[P,r]),m.useEffect(function(){typeof a<"u"&&P!==null&&P.setVisible(a)},[P,a]),m.useEffect(function(){typeof o=="number"&&P!==null&&P.setRadius(o)},[P,o]),m.useEffect(function(){typeof n<"u"&&P!==null&&P.setCenter(n)},[P,n]),m.useEffect(function(){P&&l&&(D!==null&&google.maps.event.removeListener(D),E(google.maps.event.addListener(P,"dblclick",l)))},[l]),m.useEffect(function(){P&&s&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(P,"dragend",s)))},[s]),m.useEffect(function(){P&&c&&(B!==null&&google.maps.event.removeListener(B),k(google.maps.event.addListener(P,"dragstart",c)))},[c]),m.useEffect(function(){P&&u&&(j!==null&&google.maps.event.removeListener(j),Y(google.maps.event.addListener(P,"mousedown",u)))},[u]),m.useEffect(function(){P&&d&&(J!==null&&google.maps.event.removeListener(J),Q(google.maps.event.addListener(P,"mousemove",d)))},[d]),m.useEffect(function(){P&&f&&($!==null&&google.maps.event.removeListener($),q(google.maps.event.addListener(P,"mouseout",f)))},[f]),m.useEffect(function(){P&&p&&(ie!==null&&google.maps.event.removeListener(ie),pe(google.maps.event.addListener(P,"mouseover",p)))},[p]),m.useEffect(function(){P&&g&&(Z!==null&&google.maps.event.removeListener(Z),he(google.maps.event.addListener(P,"mouseup",g)))},[g]),m.useEffect(function(){P&&y&&(se!==null&&google.maps.event.removeListener(se),oe(google.maps.event.addListener(P,"rightclick",y)))},[y]),m.useEffect(function(){P&&A&&(ve!==null&&google.maps.event.removeListener(ve),Pe(google.maps.event.addListener(P,"click",A)))},[A]),m.useEffect(function(){P&&x&&(Re!==null&&google.maps.event.removeListener(Re),ze(google.maps.event.addListener(P,"drag",x)))},[x]),m.useEffect(function(){P&&C&&(re!==null&&google.maps.event.removeListener(re),ge(google.maps.event.addListener(P,"center_changed",C)))},[A]),m.useEffect(function(){P&&b&&(ye!==null&&google.maps.event.removeListener(ye),Te(google.maps.event.addListener(P,"radius_changed",b)))},[b]),m.useEffect(function(){var Ie=new google.maps.Circle(cr(cr({},e||Zho),{map:w}));return typeof o=="number"&&Ie.setRadius(o),typeof n<"u"&&Ie.setCenter(n),typeof o=="number"&&Ie.setRadius(o),typeof a<"u"&&Ie.setVisible(a),typeof r<"u"&&Ie.setEditable(r),typeof i<"u"&&Ie.setDraggable(i),l&&E(google.maps.event.addListener(Ie,"dblclick",l)),s&&F(google.maps.event.addListener(Ie,"dragend",s)),c&&k(google.maps.event.addListener(Ie,"dragstart",c)),u&&Y(google.maps.event.addListener(Ie,"mousedown",u)),d&&Q(google.maps.event.addListener(Ie,"mousemove",d)),f&&q(google.maps.event.addListener(Ie,"mouseout",f)),p&&pe(google.maps.event.addListener(Ie,"mouseover",p)),g&&he(google.maps.event.addListener(Ie,"mouseup",g)),y&&oe(google.maps.event.addListener(Ie,"rightclick",y)),A&&Pe(google.maps.event.addListener(Ie,"click",A)),x&&ze(google.maps.event.addListener(Ie,"drag",x)),C&&ge(google.maps.event.addListener(Ie,"center_changed",C)),b&&Te(google.maps.event.addListener(Ie,"radius_changed",b)),R(Ie),v&&v(Ie),function(){D!==null&&google.maps.event.removeListener(D),U!==null&&google.maps.event.removeListener(U),B!==null&&google.maps.event.removeListener(B),j!==null&&google.maps.event.removeListener(j),J!==null&&google.maps.event.removeListener(J),$!==null&&google.maps.event.removeListener($),ie!==null&&google.maps.event.removeListener(ie),Z!==null&&google.maps.event.removeListener(Z),se!==null&&google.maps.event.removeListener(se),ve!==null&&google.maps.event.removeListener(ve),re!==null&&google.maps.event.removeListener(re),ye!==null&&google.maps.event.removeListener(ye),S&&S(Ie),Ie.setMap(null)}},[]),null}m.memo(epo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={circle:null},n.setCircleCallback=function(){n.state.circle!==null&&n.props.onLoad&&n.props.onLoad(n.state.circle)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Circle(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:CHe,eventMap:PHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{circle:n}},this.setCircleCallback)},e.prototype.componentDidUpdate=function(n){this.state.circle!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:CHe,eventMap:PHe,prevProps:n,nextProps:this.props,instance:this.state.circle}))},e.prototype.componentWillUnmount=function(){var n;this.state.circle!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),ja(this.registeredEvents),(n=this.state.circle)===null||n===void 0||n.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var RHe={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},HHe={add:function(t,e){t.add(e)},addgeojson:function(t,e,n){t.addGeoJson(e,n)},contains:function(t,e){t.contains(e)},foreach:function(t,e){t.forEach(e)},loadgeojson:function(t,e,n,o){t.loadGeoJson(e,n,o)},overridestyle:function(t,e,n){t.overrideStyle(e,n)},remove:function(t,e){t.remove(e)},revertstyle:function(t,e){t.revertStyle(e)},controlposition:function(t,e){t.setControlPosition(e)},controls:function(t,e){t.setControls(e)},drawingmode:function(t,e){t.setDrawingMode(e)},map:function(t,e){t.setMap(e)},style:function(t,e){t.setStyle(e)},togeojson:function(t,e){t.toGeoJson(e)}};function tpo(t){var e=t.options,n=t.onClick,o=t.onDblClick,i=t.onMouseDown,r=t.onMouseMove,a=t.onMouseOut,l=t.onMouseOver,s=t.onMouseUp,c=t.onRightClick,u=t.onAddFeature,d=t.onRemoveFeature,f=t.onRemoveProperty,p=t.onSetGeometry,g=t.onSetProperty,y=t.onLoad,A=t.onUnmount,x=m.useContext(xa),C=m.useState(null),b=C[0],v=C[1],S=m.useState(null),w=S[0],T=S[1],P=m.useState(null),R=P[0],H=P[1],D=m.useState(null),E=D[0],L=D[1],U=m.useState(null),F=U[0],W=U[1],B=m.useState(null),k=B[0],N=B[1],j=m.useState(null),Y=j[0],_=j[1],J=m.useState(null),Q=J[0],ee=J[1],$=m.useState(null),q=$[0],le=$[1],ie=m.useState(null),pe=ie[0],ne=ie[1],Z=m.useState(null),he=Z[0],fe=Z[1],se=m.useState(null),oe=se[0],de=se[1],ve=m.useState(null),Pe=ve[0],me=ve[1],Re=m.useState(null),ze=Re[0],Ae=Re[1];return m.useEffect(function(){b!==null&&b.setMap(x)},[x]),m.useEffect(function(){b&&o&&(w!==null&&google.maps.event.removeListener(w),T(google.maps.event.addListener(b,"dblclick",o)))},[o]),m.useEffect(function(){b&&i&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(b,"mousedown",i)))},[i]),m.useEffect(function(){b&&r&&(E!==null&&google.maps.event.removeListener(E),L(google.maps.event.addListener(b,"mousemove",r)))},[r]),m.useEffect(function(){b&&a&&(F!==null&&google.maps.event.removeListener(F),W(google.maps.event.addListener(b,"mouseout",a)))},[a]),m.useEffect(function(){b&&l&&(k!==null&&google.maps.event.removeListener(k),N(google.maps.event.addListener(b,"mouseover",l)))},[l]),m.useEffect(function(){b&&s&&(Y!==null&&google.maps.event.removeListener(Y),_(google.maps.event.addListener(b,"mouseup",s)))},[s]),m.useEffect(function(){b&&c&&(Q!==null&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(b,"rightclick",c)))},[c]),m.useEffect(function(){b&&n&&(q!==null&&google.maps.event.removeListener(q),le(google.maps.event.addListener(b,"click",n)))},[n]),m.useEffect(function(){b&&u&&(pe!==null&&google.maps.event.removeListener(pe),ne(google.maps.event.addListener(b,"addfeature",u)))},[u]),m.useEffect(function(){b&&d&&(he!==null&&google.maps.event.removeListener(he),fe(google.maps.event.addListener(b,"removefeature",d)))},[d]),m.useEffect(function(){b&&f&&(oe!==null&&google.maps.event.removeListener(oe),de(google.maps.event.addListener(b,"removeproperty",f)))},[f]),m.useEffect(function(){b&&p&&(Pe!==null&&google.maps.event.removeListener(Pe),me(google.maps.event.addListener(b,"setgeometry",p)))},[p]),m.useEffect(function(){b&&g&&(ze!==null&&google.maps.event.removeListener(ze),Ae(google.maps.event.addListener(b,"setproperty",g)))},[g]),m.useEffect(function(){if(x!==null){var re=new google.maps.Data(cr(cr({},e||{}),{map:x}));o&&T(google.maps.event.addListener(re,"dblclick",o)),i&&H(google.maps.event.addListener(re,"mousedown",i)),r&&L(google.maps.event.addListener(re,"mousemove",r)),a&&W(google.maps.event.addListener(re,"mouseout",a)),l&&N(google.maps.event.addListener(re,"mouseover",l)),s&&_(google.maps.event.addListener(re,"mouseup",s)),c&&ee(google.maps.event.addListener(re,"rightclick",c)),n&&le(google.maps.event.addListener(re,"click",n)),u&&ne(google.maps.event.addListener(re,"addfeature",u)),d&&fe(google.maps.event.addListener(re,"removefeature",d)),f&&de(google.maps.event.addListener(re,"removeproperty",f)),p&&me(google.maps.event.addListener(re,"setgeometry",p)),g&&Ae(google.maps.event.addListener(re,"setproperty",g)),v(re),y&&y(re)}return function(){b&&(w!==null&&google.maps.event.removeListener(w),R!==null&&google.maps.event.removeListener(R),E!==null&&google.maps.event.removeListener(E),F!==null&&google.maps.event.removeListener(F),k!==null&&google.maps.event.removeListener(k),Y!==null&&google.maps.event.removeListener(Y),Q!==null&&google.maps.event.removeListener(Q),q!==null&&google.maps.event.removeListener(q),pe!==null&&google.maps.event.removeListener(pe),he!==null&&google.maps.event.removeListener(he),oe!==null&&google.maps.event.removeListener(oe),Pe!==null&&google.maps.event.removeListener(Pe),ze!==null&&google.maps.event.removeListener(ze),A&&A(b),b.setMap(null))}},[]),null}m.memo(tpo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={data:null},n.setDataCallback=function(){n.state.data!==null&&n.props.onLoad&&n.props.onLoad(n.state.data)},n}return e.prototype.componentDidMount=function(){if(this.context!==null){var n=new google.maps.Data(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:HHe,eventMap:RHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{data:n}},this.setDataCallback)}},e.prototype.componentDidUpdate=function(n){this.state.data!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:HHe,eventMap:RHe,prevProps:n,nextProps:this.props,instance:this.state.data}))},e.prototype.componentWillUnmount=function(){this.state.data!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),ja(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var MHe={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},IHe={options:function(t,e){t.setOptions(e)},url:function(t,e){t.setUrl(e)},zIndex:function(t,e){t.setZIndex(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={kmlLayer:null},n.setKmlLayerCallback=function(){n.state.kmlLayer!==null&&n.props.onLoad&&n.props.onLoad(n.state.kmlLayer)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.KmlLayer(cr(cr({},this.props.options),{map:this.context}));this.registeredEvents=Fa({updaterMap:IHe,eventMap:MHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{kmlLayer:n}},this.setKmlLayerCallback)},e.prototype.componentDidUpdate=function(n){this.state.kmlLayer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:IHe,eventMap:MHe,prevProps:n,nextProps:this.props,instance:this.state.kmlLayer}))},e.prototype.componentWillUnmount=function(){this.state.kmlLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),ja(this.registeredEvents),this.state.kmlLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function Hot(t,e){return typeof e=="function"?e(t.offsetWidth,t.offsetHeight):{x:0,y:0}}function npo(t,e){return new e(t.lat,t.lng)}function opo(t,e){return new e(new google.maps.LatLng(t.ne.lat,t.ne.lng),new google.maps.LatLng(t.sw.lat,t.sw.lng))}function ipo(t,e,n){return t instanceof e?t:n(t,e)}function rpo(t,e,n){return t instanceof e?t:n(t,e)}function apo(t,e,n){var o=t&&t.fromLatLngToDivPixel(n.getNorthEast()),i=t&&t.fromLatLngToDivPixel(n.getSouthWest());return o&&i?{left:"".concat(i.x+e.x,"px"),top:"".concat(o.y+e.y,"px"),width:"".concat(o.x-i.x-e.x,"px"),height:"".concat(i.y-o.y-e.y,"px")}:{left:"-9999px",top:"-9999px"}}function lpo(t,e,n){var o=t&&t.fromLatLngToDivPixel(n);if(o){var i=o.x,r=o.y;return{left:"".concat(i+e.x,"px"),top:"".concat(r+e.y,"px")}}return{left:"-9999px",top:"-9999px"}}function Mot(t,e,n,o){return n!==void 0?apo(t,e,rpo(n,google.maps.LatLngBounds,opo)):lpo(t,e,ipo(o,google.maps.LatLng,npo))}function spo(t,e){return t.left===e.left&&t.top===e.top&&t.width===e.height&&t.height===e.height}function cpo(t,e,n,o,i){var r=function(a){Ms(l,a);function l(s,c,u,d){var f=a.call(this)||this;return f.container=s,f.pane=c,f.position=u,f.bounds=d,f}return l.prototype.onAdd=function(){var s,c=(s=this.getPanes())===null||s===void 0?void 0:s[this.pane];c==null||c.appendChild(this.container)},l.prototype.draw=function(){for(var s=this.getProjection(),c=cr({},this.container?Hot(this.container,i):{x:0,y:0}),u=Mot(s,c,this.bounds,this.position),d=0,f=Object.entries(u);d? %s',google.maps.visualization),B0(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var n=new google.maps.visualization.HeatmapLayer(cr(cr({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=Fa({updaterMap:LHe,eventMap:FHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{heatmapLayer:n}},this.setHeatmapLayerCallback)},e.prototype.componentDidUpdate=function(n){ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:LHe,eventMap:FHe,prevProps:n,nextProps:this.props,instance:this.state.heatmapLayer})},e.prototype.componentWillUnmount=function(){this.state.heatmapLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),ja(this.registeredEvents),this.state.heatmapLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var WHe={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},NHe={register:function(t,e,n){t.registerPanoProvider(e,n)},links:function(t,e){t.setLinks(e)},motionTracking:function(t,e){t.setMotionTracking(e)},options:function(t,e){t.setOptions(e)},pano:function(t,e){t.setPano(e)},position:function(t,e){t.setPosition(e)},pov:function(t,e){t.setPov(e)},visible:function(t,e){t.setVisible(e)},zoom:function(t,e){t.setZoom(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={streetViewPanorama:null},n.setStreetViewPanoramaCallback=function(){n.state.streetViewPanorama!==null&&n.props.onLoad&&n.props.onLoad(n.state.streetViewPanorama)},n}return e.prototype.componentDidMount=function(){var n,o,i=(o=(n=this.context)===null||n===void 0?void 0:n.getStreetView())!==null&&o!==void 0?o:null;this.registeredEvents=Fa({updaterMap:NHe,eventMap:WHe,prevProps:{},nextProps:this.props,instance:i}),this.setState(function(){return{streetViewPanorama:i}},this.setStreetViewPanoramaCallback)},e.prototype.componentDidUpdate=function(n){this.state.streetViewPanorama!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:NHe,eventMap:WHe,prevProps:n,nextProps:this.props,instance:this.state.streetViewPanorama}))},e.prototype.componentWillUnmount=function(){this.state.streetViewPanorama!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),ja(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={streetViewService:null},n.setStreetViewServiceCallback=function(){n.state.streetViewService!==null&&n.props.onLoad&&n.props.onLoad(n.state.streetViewService)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.StreetViewService;this.setState(function(){return{streetViewService:n}},this.setStreetViewServiceCallback)},e.prototype.componentWillUnmount=function(){this.state.streetViewService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={directionsService:null},n.setDirectionsServiceCallback=function(){n.state.directionsService!==null&&n.props.onLoad&&n.props.onLoad(n.state.directionsService)},n}return e.prototype.componentDidMount=function(){B0(!!this.props.options,"DirectionsService expected options object as parameter, but got %s",this.props.options);var n=new google.maps.DirectionsService;this.setState(function(){return{directionsService:n}},this.setDirectionsServiceCallback)},e.prototype.componentDidUpdate=function(){this.state.directionsService!==null&&this.state.directionsService.route(this.props.options,this.props.callback)},e.prototype.componentWillUnmount=function(){this.state.directionsService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)},e.prototype.render=function(){return null},e})(m.PureComponent);var UHe={onDirectionsChanged:"directions_changed"},BHe={directions:function(t,e){t.setDirections(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},panel:function(t,e){t.setPanel(e)},routeIndex:function(t,e){t.setRouteIndex(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={directionsRenderer:null},n.setDirectionsRendererCallback=function(){n.state.directionsRenderer!==null&&(n.state.directionsRenderer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.directionsRenderer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=Fa({updaterMap:BHe,eventMap:UHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{directionsRenderer:n}},this.setDirectionsRendererCallback)},e.prototype.componentDidUpdate=function(n){this.state.directionsRenderer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:BHe,eventMap:UHe,prevProps:n,nextProps:this.props,instance:this.state.directionsRenderer}))},e.prototype.componentWillUnmount=function(){this.state.directionsRenderer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),ja(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},e.prototype.render=function(){return h.jsx(h.Fragment,{})},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={distanceMatrixService:null},n.setDistanceMatrixServiceCallback=function(){n.state.distanceMatrixService!==null&&n.props.onLoad&&n.props.onLoad(n.state.distanceMatrixService)},n}return e.prototype.componentDidMount=function(){B0(!!this.props.options,"DistanceMatrixService expected options object as parameter, but go %s",this.props.options);var n=new google.maps.DistanceMatrixService;this.setState(function(){return{distanceMatrixService:n}},this.setDistanceMatrixServiceCallback)},e.prototype.componentDidUpdate=function(){this.state.distanceMatrixService!==null&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)},e.prototype.componentWillUnmount=function(){this.state.distanceMatrixService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)},e.prototype.render=function(){return null},e})(m.PureComponent);var jHe={onPlacesChanged:"places_changed"},YHe={bounds:function(t,e){t.setBounds(e)}},Iot=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=m.createRef(),n.state={searchBox:null},n.setSearchBoxCallback=function(){n.state.searchBox!==null&&n.props.onLoad&&n.props.onLoad(n.state.searchBox)},n}return e.prototype.componentDidMount=function(){if(B0(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places),this.containerElement!==null&&this.containerElement.current!==null){var n=this.containerElement.current.querySelector("input");if(n!==null){var o=new google.maps.places.SearchBox(n,this.props.options);this.registeredEvents=Fa({updaterMap:YHe,eventMap:jHe,prevProps:{},nextProps:this.props,instance:o}),this.setState(function(){return{searchBox:o}},this.setSearchBoxCallback)}}},e.prototype.componentDidUpdate=function(n){this.state.searchBox!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:YHe,eventMap:jHe,prevProps:n,nextProps:this.props,instance:this.state.searchBox}))},e.prototype.componentWillUnmount=function(){this.state.searchBox!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),ja(this.registeredEvents))},e.prototype.render=function(){return h.jsx("div",{ref:this.containerElement,children:m.Children.only(this.props.children)})},e.contextType=xa,e}(m.PureComponent),OHe={onPlaceChanged:"place_changed"},_He={bounds:function(t,e){t.setBounds(e)},restrictions:function(t,e){t.setComponentRestrictions(e)},fields:function(t,e){t.setFields(e)},options:function(t,e){t.setOptions(e)},types:function(t,e){t.setTypes(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=m.createRef(),n.state={autocomplete:null},n.setAutocompleteCallback=function(){n.state.autocomplete!==null&&n.props.onLoad&&n.props.onLoad(n.state.autocomplete)},n}return e.prototype.componentDidMount=function(){var n;B0(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places);var o=(n=this.containerElement.current)===null||n===void 0?void 0:n.querySelector("input");if(o){var i=new google.maps.places.Autocomplete(o,this.props.options);this.registeredEvents=Fa({updaterMap:_He,eventMap:OHe,prevProps:{},nextProps:this.props,instance:i}),this.setState(function(){return{autocomplete:i}},this.setAutocompleteCallback)}},e.prototype.componentDidUpdate=function(n){ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:_He,eventMap:OHe,prevProps:n,nextProps:this.props,instance:this.state.autocomplete})},e.prototype.componentWillUnmount=function(){this.state.autocomplete!==null&&ja(this.registeredEvents)},e.prototype.render=function(){return h.jsx("div",{ref:this.containerElement,className:this.props.className,children:m.Children.only(this.props.children)})},e.defaultProps={className:""},e.contextType=xa,e})(m.PureComponent);const VHe="/aladdin/assets/empty_heart-B57-2tMp.png",ppo="/aladdin/assets/red_heart-BaAtCixH.png",gpo="/aladdin/assets/open_file-B6scZwPU.png",mpo="/aladdin/assets/export_link-Dxa4UObV.png",ypo="/aladdin/assets/click_count-BZx6BgQJ.png";function MO(t){const e=new Date(t);if(!Number.isNaN(e.valueOf()))return e;const n=String(t).match(/\d+/g);if(n==null||n.length<=2)return e;{const[o,i,...r]=n.map(s=>parseInt(s)),a=[o,i-1,...r];return new Date(Date.UTC(...a))}}function GHe(t,e,n){const o=t!==1?e+"s":e;return t+" "+o+" "+n}function Yde(){return Yde=Object.assign?Object.assign.bind():function(t){for(var e=1;eDate.now();function wpo({date:t,formatter:e=GHe,component:n="time",live:o=!0,minPeriod:i=0,maxPeriod:r=IO,title:a,now:l=Apo,...s}){const[c,u]=m.useState(l());m.useEffect(()=>{if(!o)return;const S=(()=>{const w=MO(t).valueOf();if(!w)return console.warn("[react-timeago] Invalid Date provided"),0;const T=Math.round(Math.abs(c-w)/1e3),P=T{u(l())},R):0})();return()=>{S&&clearTimeout(S)}},[t,o,r,i,l,c]);const d=n,f=MO(t).valueOf();if(!f)return null;const p=Math.round(Math.abs(c-f)/1e3),g=f"u"?typeof t=="string"?t:MO(t).toISOString().substr(0,16).replace("T"," "):a,C=d==="time"?{...s,dateTime:MO(t).toISOString()}:s,b=GHe.bind(null,y,A,g);return m.createElement(d,Yde({},C,{title:x}),e(y,A,g,f,b,l))}function OX(){return OX=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(n[i]=t[i]);return n}var xpo=["cdnSuffix","cdnUrl","countryCode","style","svg"],bpo="https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/",Spo="svg",Tpo=127397,zot=function(e){var n=e.cdnSuffix,o=n===void 0?Spo:n,i=e.cdnUrl,r=i===void 0?bpo:i,a=e.countryCode,l=e.style,s=e.svg,c=s===void 0?!1:s,u=vpo(e,xpo);if(typeof a!="string")return null;if(c){var d=""+r+a.toLowerCase()+"."+o;return m.createElement("img",Object.assign({},u,{src:d,style:OX({display:"inline-block",width:"1em",height:"1em",verticalAlign:"middle"},l)}))}var f=a.toUpperCase().replace(/./g,function(p){return String.fromCodePoint(p.charCodeAt(0)+Tpo)});return m.createElement("span",Object.assign({role:"img"},u,{style:OX({display:"inline-block",fontSize:"1em",lineHeight:"1em",verticalAlign:"middle"},l)}),f)};const Dot=t=>{switch(t.type){case da.PHOTOVOLTAIC:return x$e;case da.PARABOLIC_DISH:return b$e;case da.PARABOLIC_TROUGH:return S$e;case da.FRESNEL_REFLECTOR:return T$e;case da.SOLAR_POWER_TOWER:return P$e;case da.WIND_TURBINE:return H$e;case da.COLOCATION_PROJECTS:return M$e;case da.RESIDENTIAL_BUILDING:return y$e;case da.COMMERCIAL_BUILDING:return A$e;case da.SCHOOL_BUILDING:return w$e;case da.TOURIST_ATTRACTION:return v$e;case da.UNDER_CONSTRUCTION:return C$e}return R$e},{Panel:Ppo}=Mme,Cpo=Se.memo(({latRef:t,lngRef:e,selectAuthor:n,closeMap:o,openModel:i,deleteModel:r,likeModel:a,pinModel:l})=>{var fe;const s=M.getState().user,c=M(dn),u=M(En),d=M(E4t)??KNe,f=M(k4t)??0,p=M($1e)??"roadmap",g=M(uge),y=gt(jBe),A=M(OBe),[x,C]=m.useState(null),[b,v]=m.useState(null),[S,w]=m.useState(null),[T,P]=m.useState(!0),[R,H]=m.useState(!1),D=m.useRef(null),E=m.useRef([]),L=m.useRef(-1),U=m.useRef([]),F=Kt(),W=14,B=(fe=s.email)==null?void 0:fe.endsWith("@intofuture.org"),k=()=>{U.current.length=0;for(const se in g)if(Object.hasOwn(g,se)){const oe=g[se],de=new google.maps.LatLng(oe.latitude,oe.longitude);U.current.push(de)}},N=m.useCallback(se=>{C(se),k(),se.setMapTypeId(p)},[p]),j=m.useCallback(function(){C(null)},[]),Y=()=>{if(x){const se=x.getCenter();if(se){const oe=se.lat(),de=se.lng();if(oe!==t.current||de!==e.current){const ve={name:"Set Model Map Location",timestamp:Date.now(),oldLatitude:t.current,newLatitude:oe,oldLongitude:e.current,newLongitude:de,undo:()=>{t.current=ve.oldLatitude,e.current=ve.oldLongitude},redo:()=>{t.current=ve.newLatitude,e.current=ve.newLongitude}};u(ve),t.current=oe,e.current=de}}}},_=()=>{if(x){const se=x.getZoom();if(se!==void 0&&se!==d){const oe={name:"Zoom Model Map",timestamp:Date.now(),oldValue:d,newValue:se,undo:()=>{c(de=>{de.modelsMapZoom=oe.oldValue})},redo:()=>{c(de=>{de.modelsMapZoom=oe.newValue})}};u(oe),c(de=>{de.modelsMapZoom=se})}}},J=()=>{if(x){const se=x.getTilt();if(se!==void 0&&se!==f){const oe={name:"Tilt Model Map",timestamp:Date.now(),oldValue:f,newValue:se,undo:()=>{c(de=>{de.modelsMapTilt=oe.oldValue})},redo:()=>{c(de=>{de.modelsMapTilt=oe.newValue})}};u(oe),c(de=>{de.modelsMapTilt=se})}}},Q=()=>{if(x){const se=x.getMapTypeId();if(se!==void 0&&se!==p){const oe={name:"Change Model Map Type",timestamp:Date.now(),oldValue:p,newValue:se,undo:()=>{c(de=>{de.modelsMapType=oe.oldValue})},redo:()=>{c(de=>{de.modelsMapType=oe.newValue})}};u(oe),c(de=>{de.modelsMapType=se})}}},ee={styles:[{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"labels",stylers:[{visibility:"off"}]}]},$=se=>{se.userid&&se.title?(i(se),o()):Lo(O.t("message.ModelNotFound",F))},q=se=>{if(se.userid&&se.title){const oe=qp+"?client=web&userid="+se.userid+"&title="+encodeURIComponent(se.title);navigator.clipboard.writeText(oe).then(()=>m2(O.t("cloudFilePanel.LinkGeneratedInClipBoard",F)+"."))}else Lo(O.t("message.ModelNotFound",F))},le=se=>{_r.confirm({title:O.t("message.DoYouWantToDeleteModelFromMap",F),icon:h.jsx(qm,{}),onOk:()=>{r(se,()=>{c(oe=>{var de,ve;if(oe.modelSites){const Pe=oe.modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(Pe){let me;for(const[Re,ze]of Pe)if(ze.userid===se.userid&&ze.title===se.title){me=Re;break}me&&(Pe.delete(me),Pe.size===0&&((ve=(de=E.current[L.current])==null?void 0:de.marker)==null||ve.setMap(null)))}}}),v(null),w(null)})},onCancel:()=>{},okText:O.t("word.Yes",F),cancelText:O.t("word.No",F)})},ie=se=>{var oe;if(se.userid&&se.title){const de=be.getModelKey(se),ve=!!((oe=s.likes)!=null&&oe.includes(de));a(se,!ve,()=>{c(Pe=>{if(Pe.user)if(Pe.user.likes||(Pe.user.likes=[]),Pe.user.likes.includes(de)){const me=Pe.user.likes.indexOf(de);me>=0&&Pe.user.likes.splice(me,1)}else Pe.user.likes.push(de);if(Pe.modelSites){const me=Pe.modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(me){for(const Re of me.values())if(Re.userid===se.userid&&Re.title===se.title){Re.likeCount===void 0&&(Re.likeCount=0),Re.likeCount+=ve?-1:1;break}}}}),H(!R)})}},pe=se=>{const oe=M.getState().modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(oe){for(const de of oe.values())if(de.userid===se.userid&&de.title===se.title)return de.likeCount??0}return 0},ne=se=>{const oe=M.getState().modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(oe){for(const de of oe.values())if(de.userid===se.userid&&de.title===se.title)return de.clickCount??0}return 0},Z=se=>{const oe=M.getState().modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(oe){for(const de of oe.values())if(de.userid===se.userid&&de.title===se.title)return de.pinned}return!1},he=(se,oe)=>{se.userid&&se.title&&l(se,oe,()=>{c(de=>{if(de.modelSites){const ve=de.modelSites.get(be.getLatLngKey(se.latitude,se.longitude));if(ve){for(const Pe of ve.values())if(Pe.userid===se.userid&&Pe.title===se.title){Pe.pinned=oe,H(!R);break}}}})})};return h.jsx(Aot,{mapContainerStyle:{border:"1px solid",width:"100%",height:"100%"},mapTypeId:p,options:ee,center:{lat:t.current,lng:e.current},zoom:d,tilt:f,onLoad:N,onUnmount:j,onCenterChanged:Y,onZoomChanged:_,onTiltChanged:J,onMapTypeIdChanged:Q,children:h.jsxs(h.Fragment,{children:[y&&U.current.map((se,oe)=>{const de=.2*d;return h.jsx(sHe,{icon:{path:google.maps.SymbolPath.CIRCLE,strokeColor:"red",strokeWeight:de+2,scale:de},position:se},oe)}),b&&b.size&&S&&h.jsx(Jho,{position:{lat:S.lat(),lng:S.lng()},children:h.jsxs("div",{style:{border:"2px solid gainsboro",maxHeight:"400px",overflowY:"auto"},onMouseLeave:()=>{v(null),w(null)},children:[b.size>1?h.jsxs("div",{style:{background:"#dddddd",textAlign:"left",borderBottom:"1px solid gainsboro",paddingBottom:"4px",marginBottom:"4px"},children:[T?h.jsx(Zen,{title:O.t("modelsMap.SortFromNewestToOldest",F),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{P(!1)}}):h.jsx(Utn,{title:O.t("modelsMap.SortFromOldestToNewest",F),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{P(!0)}}),h.jsxs("span",{style:{fontSize:"10px"},children:[b.size," ",O.t("modelsMap.ModelsFoundOnThisSite",F)]}),S&&h.jsxs("span",{style:{fontSize:"10px"},children:[" —"," ",O.t("word.Coordinates",F)+": ("+S.lat().toFixed(sw)+"°, "+S.lng().toFixed(sw)+"°)"]})]}):"",[...b.keys()].sort((se,oe)=>{const de=b.get(se),ve=b.get(oe);return de!=null&&de.pinned&&!(ve!=null&&ve.pinned)?-1:ve!=null&&ve.pinned&&!(de!=null&&de.pinned)?1:(T?1:-1)*(((de==null?void 0:de.timeCreated)??0)-((ve==null?void 0:ve.timeCreated)??0))}).map((se,oe)=>{const de=b.get(se);return de?h.jsxs("div",{style:{padding:(b==null?void 0:b.size)>1?"5px 5px 20px 5px":"5px",background:oe%2===0?"white":"#eeeeee"},children:[oe===0&&h.jsxs("div",{style:{fontSize:"12px",display:"block",paddingBottom:"6px"},children:[de.countryCode&&h.jsx(zot,{countryCode:de.countryCode,style:{marginRight:"6px",width:"20px"},svg:!0}),de.address??"Unknown",b.size===1&&h.jsx("span",{style:{fontSize:"10px",display:"block",paddingTop:"10px"},children:O.t("word.Coordinates",F)+": ("+S.lat().toFixed(sw)+"°, "+S.lng().toFixed(sw)+"°)"})]}),h.jsx(Mme,{style:{background:Z(de)?"#FEF9EC":oe%2===0?"white":"#eeeeee",width:"400px"},bordered:!1,ghost:!0,defaultActiveKey:["0"],children:h.jsx(Ppo,{header:h.jsxs(h.Fragment,{children:[de.label,Z(de)&&h.jsx(ATe,{style:{marginLeft:"8px"}})]}),style:{fontSize:"12px"},children:h.jsx("div",{style:{fontSize:"10px",display:"block",textAlign:"left"},children:h.jsxs(en,{align:"start",children:[de.thumbnailUrl&&h.jsx("img",{alt:de.label,title:O.t("word.Open",F),src:de.thumbnailUrl,style:{border:"1px solid #222",cursor:"pointer"},onClick:()=>$(de)}),h.jsxs("div",{children:[de.description&&de.description.trim()!==""?de.description:""," —  By"," ",h.jsx("span",{style:{cursor:"pointer"},title:O.t("modelsMap.ShowModelsPublishedByThisAuthor",F),onClick:()=>{n(de.author)},children:!de.author||de.author===""?O.t("word.Anonymous",F):de.author}),", ",de.timeCreated&&h.jsx(wpo,{date:new Date(de.timeCreated)})]})]})})},oe)}),h.jsxs("div",{style:{marginTop:"10px",fontSize:"11px"},children:[B&&h.jsx(h.Fragment,{children:Z(de)?h.jsx(wtn,{style:{cursor:"pointer"},title:O.t("word.Unpin",F),onClick:()=>he(de,!1)}):h.jsx(ATe,{style:{cursor:"pointer"},title:O.t("word.Pin",F),onClick:()=>he(de,!0)})}),h.jsx("img",{alt:"Open",onClick:()=>$(de),style:{marginLeft:"10px",cursor:"pointer"},title:O.t("word.Open",F),src:gpo,height:W,width:W}),h.jsx("img",{alt:"Export link",onClick:()=>q(de),style:{marginLeft:"5px",cursor:"pointer"},title:O.t("word.Share",F),src:mpo,height:W,width:W}),de.userid===s.uid&&h.jsx("img",{alt:"Delete",onClick:()=>le(de),style:{marginLeft:"5px",cursor:"pointer"},title:O.t("word.Delete",F),src:mot,height:W,width:W}),s.uid?h.jsx(h.Fragment,{children:s.likes&&s.likes.includes(be.getModelKey(de))?h.jsx("img",{alt:"Like",onClick:()=>ie(de),style:{marginLeft:"10px",cursor:"pointer"},title:O.t("word.AlreadyLike",F),src:ppo,height:W,width:W}):h.jsx("img",{alt:"Like",onClick:()=>ie(de),style:{marginLeft:"10px",cursor:"pointer"},title:O.t("word.Like",F),src:VHe,height:W,width:W})}):h.jsx(h.Fragment,{children:h.jsx("img",{alt:"Like",style:{marginLeft:"10px",opacity:.5},title:O.t("word.MustLogInToLike",F),src:VHe,height:W,width:W})}),"   ",pe(de),h.jsx("img",{alt:"Click counter",style:{marginLeft:"10px"},title:O.t("word.ClickCount",F),src:ypo,height:W,width:W}),"   ",ne(de)]})]},oe):null})]})}),!!A&&!!A.size&&h.jsx(Hho,{children:se=>h.jsx("div",{children:[...A.keys()].map((oe,de)=>{const ve=A.get(oe);if(!ve||!ve.size)return null;const Pe=[...ve.keys()].sort((ze,Ae)=>{const re=ve.get(ze),ge=ve.get(Ae);return re!=null&&re.pinned&&!(ge!=null&&ge.pinned)?-1:ge!=null&&ge.pinned&&!(re!=null&&re.pinned)?1:(T?1:-1)*(((re==null?void 0:re.timeCreated)??0)-((ge==null?void 0:ge.timeCreated)??0))}),me=ve.get(Pe[0]);if(!me)return null;const Re=Dot(me);return h.jsx(sHe,{ref:ze=>E.current[de]=ze,clusterer:se,icon:Re?{url:Re}:void 0,position:{lat:me.latitude,lng:me.longitude},onClick:()=>$(me),onMouseOver:()=>{D.current=b,L.current=de,v(ve);const ze=oe.split(", ");w(new google.maps.LatLng(Number.parseFloat(ze[0]),Number.parseFloat(ze[1])))},onMouseOut:()=>{b===D.current&&(v(null),w(null))}},de)})})})]})})}),Rpo="/aladdin/assets/image_load_failure-HGDkwC0S.png",Eot=Se.memo(({latRef:t,lngRef:e,author:n,models:o,closeCallback:i,openCloudFile:r})=>{const a=M(Eg),l=M(Sc),s=M(dn),c=M($1e),u=m.useRef(o?new Map(o):new Map),[d,f]=m.useState(!1),[p,g]=m.useState(),[y,A]=m.useState(!1),{Search:x}=ns,C=m.useMemo(()=>({lng:l}),[l]);m.useEffect(()=>{o&&(u.current=new Map(o),f(!d))},[o]);const b=m.useMemo(()=>{let S=0;for(const w of u.current.values())(n||w.userid===a.uid)&&S++;return S},[u.current,n,a.uid,d]),v=n&&c!=="roadmap";return u.current.size===0?h.jsx(B0e,{mask:!1,styles:{header:{height:"40px",paddingLeft:"1px",paddingRight:"1px",paddingTop:"16px",paddingBottom:"12px",background:v?"#6A6B6E":"whitesmoke"},body:{padding:"0px 4px 0px 4px",overflowY:"hidden",background:v?"#2A2B2E":"white"}},style:{scrollbarColor:v?"#6A6B6E":"whitesmoke"},title:(n??O.t("modelsMap.MyPublishedModels",C))+" (0)",placement:"bottom",open:!0,height:"150px",onClose:()=>{i()},children:h.jsx(ag,{image:ag.PRESENTED_IMAGE_SIMPLE,style:{color:v?"lightgray":"dimgray"}})}):h.jsx(B0e,{extra:h.jsxs(en,{children:[y?h.jsx(utn,{title:O.t("modelsMap.SortFromNewestToOldest",C),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{A(!1)}}):h.jsx(g$e,{title:O.t("modelsMap.SortFromOldestToNewest",C),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{A(!0)}}),h.jsx(x,{title:O.t("modelsMap.SearchByLabel",C),allowClear:!0,size:"small",enterButton:!0,onSearch:S=>{var w;if(o){u.current.clear();for(const[T,P]of o)(w=P.label)!=null&&w.toLowerCase().includes(S.toLowerCase())&&u.current.set(T,P);f(!d)}}})]}),mask:!1,styles:{header:{height:"40px",color:v?"white":"black",background:v?"#6A6B6E":"whitesmoke",paddingLeft:"1px",paddingRight:"1px",paddingTop:"16px",paddingBottom:"12px",border:"none"},body:{padding:"0px 4px 0px 4px",overflowY:"hidden",background:v?"#2A2B2E":"white"}},title:(n??O.t("modelsMap.MyPublishedModels",C))+" ("+b+")",placement:"bottom",open:!0,height:"164px",onClose:()=>{g(void 0),i()},children:h.jsx("table",{children:h.jsx("tbody",{children:h.jsx("tr",{children:[...u.current.keys()].sort((S,w)=>{const T=u.current.get(S),P=u.current.get(w);return!T||!P?0:(y?-1:1)*((P.timeCreated??0)-(T.timeCreated??0))}).map((S,w)=>{const T=u.current.get(S);return!T||!n&&T.userid!==a.uid?null:h.jsx("td",{children:h.jsxs("div",{style:{display:"block",marginTop:"4px"},children:[h.jsx("img",{loading:"lazy",height:"100px",width:"auto",onError:P=>{P.target.src=Rpo},alt:T.label,title:T.label,src:T.thumbnailUrl,style:{cursor:"pointer",borderRadius:p===T?"0":"10px",border:p===T?"2px solid "+(v?"goldenrod":"red"):"none",marginRight:"4px"},onClick:()=>{g(T),r?r(T.userid,T.title):s(P=>{T&&(P.modelsMapLatitude=T.latitude,P.modelsMapLongitude=T.longitude,P.modelsMapZoom=17,t&&(t.current=T.latitude),e&&(e.current=T.longitude))})}}),h.jsxs("div",{children:[h.jsx("img",{alt:T.type,src:Dot(T),style:{position:"relative",left:"8px",bottom:"28px",width:"16px",height:"16px"}}),h.jsx("span",{style:{position:"relative",left:"16px",bottom:"24px",color:"white",fontSize:"8px",fontWeight:"bold"},children:T.label?T.label.length>30?T.label.substring(0,30)+"...":T.label:"Unknown"})]})]})},w)})})})})})}),Hpo=["places"],Mpo=Ho.div` position: absolute; top: 70px; left: 0; @@ -7186,8 +7186,8 @@ PERFORMANCE OF THIS SOFTWARE. z-index: 999; tab-index: 0; background: white; -`,KHe=Se.memo(({openCloudFile:t,deleteModelFromMap:e,likeModelFromMap:n,pinModelFromMap:o})=>{var Y;const i=M(Eg),r=M(dn),a=M(En),l=M($1e),s=M(E4t),c=s!==void 0?s:42.2844063,u=M(k4t),d=u!==void 0?u:-71.3488548,f=M.getState().modelsMapAddress??qV,p=gt(jBe),g=gt(J4t),y=M(N4t),A=M(OBe),x=M(_Be),C=m.useRef(x?new Map(x):new Map),[b,v]=m.useState(),[S,w]=m.useState(!1),T=m.useRef(),P=m.useRef(),R=m.useRef(c),H=m.useRef(d),D=Kt(),{Search:E}=ns;m.useEffect(()=>{C.current=x?new Map(x):new Map,b&&(T.current=x.get(b)),w(!S)},[x,b]);const L=_=>{v(_),gt.getState().set(J=>{J.showLeaderboard||(J.leaderboardFlag=!0),_&&(T.current=C.current.get(_))})},{isLoaded:U,loadError:F}=bot({id:"google-map-script",googleMapsApiKey:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",libraries:Ipo}),W=()=>{gt.getState().set(_=>{_.openModelsMap=!1}),r(_=>{_.modelsMapLatitude=R.current,_.modelsMapLongitude=H.current})},B=_=>{P.current=_},k=()=>{var J;const _=(J=P.current)==null?void 0:J.getPlaces();if(_&&_.length>0){const Q=_[0].geometry;if(Q&&Q.location){const ee={name:"Set Model Map Location",timestamp:Date.now(),oldLatitude:c,newLatitude:Q.location.lat(),oldLongitude:d,newLongitude:Q.location.lng(),oldAddress:f,newAddress:_[0].formatted_address,undo:()=>{r($=>{$.modelsMapLatitude=ee.oldLatitude,$.modelsMapLongitude=ee.oldLongitude,$.modelsMapAddress=ee.oldAddress,R.current=$.modelsMapLatitude,H.current=$.modelsMapLongitude})},redo:()=>{r($=>{$.modelsMapLatitude=ee.newLatitude,$.modelsMapLongitude=ee.newLongitude,$.modelsMapAddress=ee.newAddress,R.current=$.modelsMapLatitude,H.current=$.modelsMapLongitude})}};a(ee),r($=>{Q.location&&($.modelsMapLatitude=Q.location.lat(),$.modelsMapLongitude=Q.location.lng(),R.current=$.modelsMapLatitude,H.current=$.modelsMapLongitude),$.modelsMapAddress=_[0].formatted_address})}}},N=(Y=i.email)==null?void 0:Y.endsWith("@intofuture.org"),j=m.useMemo(()=>{if(!A||!A.size)return 0;let _=0;for(const J of A.values())_+=J.size??0;return _},[A]);return h.jsxs(zpo,{onKeyDown:_=>{_.key==="Escape"&&W()},children:[U&&h.jsx(en,{children:h.jsx("div",{style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-40px",left:"40%",width:"20%",height:"28px",background:"white",boxShadow:"1px 1px 1px 1px gray"},children:h.jsx(Iot,{onLoad:B,onPlacesChanged:k,children:h.jsx("input",{type:"text",placeholder:f,style:{boxSizing:"border-box",border:"1px solid transparent",width:"100%",height:"100%",fontSize:"14px",paddingLeft:"8px",paddingRight:"8px",outline:"none",textOverflow:"ellipses",position:"relative"}})})})}),U?h.jsx(Hpo,{latRef:R,lngRef:H,selectAuthor:L,closeMap:W,openModel:t,deleteModel:e,likeModel:n,pinModel:o}):h.jsx(dQ,{}),F&&h.jsx(en,{children:h.jsx("div",{children:"Map cannot be loaded right now, sorry."})}),h.jsxs(h.Fragment,{children:[b&&h.jsx(Eot,{latRef:R,lngRef:H,author:b,models:T.current,closeCallback:()=>{v(void 0),T.current=void 0}}),g&&!b&&h.jsx("div",{style:{position:"absolute",fontSize:"10px",color:"black",bottom:"33px",left:"5px",width:"180px",height:"360px",overflowY:"auto",padding:"6px 6px 6px 6px",background:"whitesmoke",boxShadow:"1px 1px 1px 1px gray",textAlign:"left"},children:h.jsxs(en,{direction:"vertical",children:[h.jsx(E,{title:O.t("modelsMap.SearchByPublisher",D),allowClear:!0,size:"small",enterButton:!0,onSearch:_=>{if(x){C.current.clear();for(const[J,Q]of x)J.toLowerCase().includes(_.toLowerCase())&&C.current.set(J,Q);w(!S)}}}),C.current.size===0?h.jsx(rg,{image:rg.PRESENTED_IMAGE_SIMPLE}):h.jsx("table",{children:h.jsx("tbody",{children:[...C.current.keys()].sort((_,J)=>{const Q=C.current.get(_),ee=C.current.get(J);return(ee?ee.size:0)-(Q?Q.size:0)}).map((_,J)=>{if(J>50)return null;const Q=C.current.get(_);return(Q==null?void 0:Q.size)===void 0||(Q==null?void 0:Q.size)===0?null:h.jsxs("tr",{style:{width:"180px"},children:[h.jsx("td",{style:{width:"150px"},children:h.jsx(WJe,{icon:h.jsx(_tn,{}),color:(Q==null?void 0:Q.size)>10?"gold":(Q==null?void 0:Q.size)>5?"lime":(Q==null?void 0:Q.size)>1?"blue":"magenta",style:{cursor:"pointer",fontSize:"10px",fontWeight:"bold",width:"130px"},onClick:()=>v(_),title:_,children:_.length>16?_.substring(0,15)+"...":_})}),h.jsx("td",{children:Q==null?void 0:Q.size})]},J)})})})]})}),h.jsx(en,{children:h.jsxs("div",{title:O.t("modelsMap.TotalNumberOfUserPublishedModels",D)+": "+j,style:{position:"absolute",fontSize:"14px",color:"black",bottom:"6px",left:"5px",width:"180px",height:"25px",paddingTop:"4px",background:"whitesmoke",boxShadow:"1px 1px 1px 1px gray",cursor:"pointer",userSelect:"none"},onClick:()=>{gt.getState().set(_=>{_.showLeaderboard||(_.leaderboardFlag=!0),_.showLeaderboard=!_.showLeaderboard})},children:[g?h.jsx(Xtn,{title:O.t("word.Close",D),style:{marginRight:"8px"}}):h.jsx(DDt,{title:O.t("word.Open",D),style:{marginRight:"8px"}}),O.t("word.Leaderboard",D)]})}),y&&h.jsx(en,{children:h.jsxs("div",{style:{position:"absolute",fontSize:"10px",color:l==="roadmap"?"black":"white",bottom:"6px",left:"188px",height:"25x",padding:"6px 6px 2px 6px",cursor:"pointer"},onClick:()=>{r(_=>{y&&(_.modelsMapLatitude=y.latitude,_.modelsMapLongitude=y.longitude,_.modelsMapZoom=20,R.current=_.modelsMapLatitude,H.current=_.modelsMapLongitude)})},children:[O.t("word.Latest",D)+": ",y.countryCode&&h.jsx(zot,{countryCode:y.countryCode,style:{marginLeft:"2px",marginRight:"4px",width:"20px"},svg:!0}),y.title+", by "+y.author]})}),h.jsx(en,{children:h.jsx("div",{style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-52px",right:i.uid?"60px":"100px",width:"64px",height:"28px",background:"orange",boxShadow:"1px 1px 1px 1px gray",paddingTop:"4px"},onMouseDown:()=>{W()},children:O.t("word.Close",D)})}),N&&h.jsx(en,{children:h.jsx(Wr,{checked:p,style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-52px",right:"130px",width:"160px",height:"28px",background:"white",boxShadow:"1px 1px 1px 1px gray",paddingLeft:"4px"},onChange:()=>{gt.getState().set(_=>{_.modelsMapWeatherStations=!_.modelsMapWeatherStations})},children:p?h.jsx("span",{title:O.t("mapPanel.WeatherStationsNote",D),children:O.t("mapPanel.WeatherStations",D)}):h.jsx("span",{children:O.t("mapPanel.WeatherStations",D)})})})]})]})}),Dpo="/aladdin/assets/tiny_lock-DSfuZD8Y.png",Epo="/aladdin/assets/select-C-gZZ0yB.png",qHe="/aladdin/assets/foundation-Bf2d60AT.png",$He="/aladdin/assets/cuboid-C70KMDTq.png",QHe="/aladdin/assets/sensor-BZ9UhBbW.png",Ode="/aladdin/assets/solar-panel-BLllvFhu.png",ZHe="/aladdin/assets/wall-Dcb0OCnD.png",eMe="/aladdin/assets/window-uls1fTpz.png",tMe="/aladdin/assets/door-DmvdjDKR.png",nMe="/aladdin/assets/pyramid_roof-CRzRVezC.png",oMe="/aladdin/assets/hip_roof-gO3gEx_s.png",iMe="/aladdin/assets/gambrel_roof-BKCAWDsb.png",rMe="/aladdin/assets/mansard_roof-DRTaI5DY.png",aMe="/aladdin/assets/gable_roof-9fruWngj.png",lMe="/aladdin/assets/tree-BUu2qyTB.png",sMe="/aladdin/assets/flower-DErmZ90Q.png",cMe="/aladdin/assets/human-EToF5YZi.png",uMe="/aladdin/assets/parabolic_trough-CSR3V81L.png",dMe="/aladdin/assets/parabolic_dish-BYGRlVcr.png",fMe="/aladdin/assets/fresnel_reflector-CBKiWWxR.png",_de="/aladdin/assets/heliostat-Kq0JVQG1.png",hMe="/aladdin/assets/wind_turbine-D02sl9A9.png",kpo="/aladdin/assets/vertical_axis_wind_turbine-C-KZaZtD.png",pMe="/aladdin/assets/led_light-D7hmM4q6.png",Fpo="/aladdin/assets/group-BuZ9lmWH.png",Lpo="/aladdin/assets/clear-BZ83yweM.png",Wpo="/aladdin/assets/heliodon-CPHdpxt2.png",Npo="/aladdin/assets/analyze-CgmQCUK0.png",M4=({...t})=>h.jsx("div",{style:{verticalAlign:"top",display:"inline-block",marginTop:"4px",marginRight:"8px"},children:t.children}),dv="invert(41%) sepia(0%) saturate(0%) hue-rotate(224deg) brightness(93%) contrast(81%)",jT="invert(93%) sepia(3%) saturate(1955%) hue-rotate(26deg) brightness(113%) contrast(96%)",z0=({objectType:t,srcImg:e,setFlag:n,replacingText:o})=>{const i=a=>{M.getState().set(l=>{l.objectTypeToAdd=a,l.groupActionMode=!1,l.actionModeLock=!1}),Ln.getState().setEnableOrbitController(!1),M.getState().selectNone()},r=Kt();return h.jsxs(tn,{noPadding:!0,textSelectable:!1,onClick:()=>{n(t),i(t)},children:[h.jsx("img",{alt:t,src:e,height:36,width:36,style:{filter:dv,verticalAlign:"middle",marginRight:"10px"}}),O.t(`toolbar.Add${o??t.replaceAll(" ","")}`,r)]})},Upo=Se.memo(()=>{const t=M(dn),e=gt(Ah),n=M(ha),o=M(Jn),i=M(Sc),r=M(lW),a=M(Gwt),l=M(PBe),s=M(V1e),c=gt(cs),u=M(nwt),d=M(Cq),f=M(Hq),p=M(Mq),g=M(cYe),y=M(O8t),A=M(_8t),x=M(En),C=gt(ZL),b=gt(Z1e),v=M(fYe),S=M(q8t),[w,T]=m.useState(z.Foundation),[P,R]=m.useState(z.Wall),[H,D]=m.useState(z.SolarPanel),E=m.useMemo(()=>({lng:i}),[i]),L=()=>{t(ne=>{ne.objectTypeToAdd=z.None,ne.groupActionMode=!1,ne.actionModeLock=!1})},U=()=>{t(ne=>{ne.groupActionMode||(ne.objectTypeToAdd=z.None),ne.groupActionMode=!ne.groupActionMode})},F=()=>{_r.confirm({title:O.t("toolbar.DoYouReallyWantToClearContent",E)+"?",icon:h.jsx(qm,{}),onOk:()=>{const ne=JSON.parse(JSON.stringify(M.getState().elements));u();const Z={name:"Clear Scene",timestamp:Date.now(),removedElements:ne,undo:()=>{t(he=>{he.elements.push(...Z.removedElements)})},redo:()=>{u()}};x(Z)}}),L()},W=()=>{const ne={name:"Show Sun and Time Settings Panel",timestamp:Date.now(),checked:!l,undo:()=>{t(Z=>{Z.viewState.showHeliodonPanel=!ne.checked})},redo:()=>{t(Z=>{Z.viewState.showHeliodonPanel=ne.checked})}};x(ne),t(Z=>{Z.viewState.showHeliodonPanel=!Z.viewState.showHeliodonPanel,Z.viewState.showHeliodonPanel&&(Z.selectedFloatingWindow="heliodonPanel")})},B=()=>{b||fn(O.t("message.SimulationStarted",E)),setTimeout(()=>{r(),e("runStaticSimulation",!b),t(ne=>{n&&(ne.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Static)",timestamp:new Date().getTime()})})},100)},k=()=>{C||fn(O.t("message.SimulationStarted",E)),setTimeout(()=>{r(),e("runDynamicSimulation",!C),t(ne=>{n&&(ne.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Dynamic)",timestamp:new Date().getTime()})})},100)},N=ne=>{t(Z=>{Z.objectTypeToAdd=ne,Z.groupActionMode=!1,Z.actionModeLock=!1}),Ln.getState().setEnableOrbitController(!1),r()},j=ne=>{switch(ne){case z.Human:case z.Tree:case z.Flower:case z.Sensor:case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.VerticalAxisWindTurbine:case z.Light:case z.Wall:case z.Window:return!0;default:return!1}},Y=(ne,Z,he,fe)=>{const se=j(ne);return h.jsxs(h.Fragment,{children:[h.jsx("img",{title:O.t(`toolbar.Add${fe??ne.replaceAll(" ","")}`,E)+(se?` -`+(a?O.t("toolbar.ClickToUnlockThisModeForNextAction",E):O.t("toolbar.DoubleClickToLockThisModeForNextAction",E)):""),alt:ne,src:Z,height:36,width:36,style:{filter:d===ne||he?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:()=>{N(ne)},onDoubleClick:()=>{se&&t(oe=>{oe.actionModeLock=!0})}}),(d===ne||he)&&se&&a&&h.jsx("img",{alt:"Tiny lock",src:Dpo,style:{marginLeft:"-2px",filter:d===ne||he?jT:dv,verticalAlign:"top"}})]})},_=ne=>h.jsx(W7,{menu:ne,trigger:["click"],children:h.jsx("span",{title:O.t("toolbar.ClickForMoreButtons",E),style:{cursor:"pointer",verticalAlign:"middle",fontSize:"10px",marginLeft:"4px",width:"10px",height:"36px",color:"#666666",fontWeight:"bold"},children:"▼"})}),J=[{key:"add-foundation",label:h.jsx(z0,{objectType:z.Foundation,srcImg:qHe,setFlag:T})},{key:"add-cuboid",label:h.jsx(z0,{objectType:z.Cuboid,srcImg:$He,setFlag:T})},{key:"add-tree",label:h.jsx(z0,{objectType:z.Tree,srcImg:lMe,setFlag:T})},{key:"add-flower",label:h.jsx(z0,{objectType:z.Flower,srcImg:sMe,setFlag:T})},{key:"add-human",label:h.jsx(z0,{objectType:z.Human,srcImg:cMe,setFlag:T,replacingText:"People"})}],Q=[{key:"add-wall",label:h.jsx(z0,{objectType:z.Wall,srcImg:ZHe,setFlag:R})},{key:"add-window",label:h.jsx(z0,{objectType:z.Window,srcImg:eMe,setFlag:R})},{key:"add-door",label:h.jsx(z0,{objectType:z.Door,srcImg:tMe,setFlag:R})},{key:"add-pyramid-roof",label:h.jsx(z0,{objectType:z.PyramidRoof,srcImg:nMe,setFlag:R})},{key:"add-hip-roof",label:h.jsx(z0,{objectType:z.HipRoof,srcImg:oMe,setFlag:R})},{key:"add-gable-roof",label:h.jsx(z0,{objectType:z.GableRoof,srcImg:aMe,setFlag:R})},{key:"add-gambrel-roof",label:h.jsx(z0,{objectType:z.GambrelRoof,srcImg:iMe,setFlag:R})},{key:"add-mansard-roof",label:h.jsx(z0,{objectType:z.MansardRoof,srcImg:rMe,setFlag:R})}],ee=[{key:"add-solar-panel",label:h.jsx(z0,{objectType:z.SolarPanel,srcImg:Ode,setFlag:D})},{key:"add-parabolic-trough",label:h.jsx(z0,{objectType:z.ParabolicTrough,srcImg:uMe,setFlag:D})},{key:"add-parabolic-dish",label:h.jsx(z0,{objectType:z.ParabolicDish,srcImg:dMe,setFlag:D})},{key:"add-fresnel-reflector",label:h.jsx(z0,{objectType:z.FresnelReflector,srcImg:fMe,setFlag:D})},{key:"add-heliostat",label:h.jsx(z0,{objectType:z.Heliostat,srcImg:_de,setFlag:D})},{key:"add-wind-turbine",label:h.jsx(z0,{objectType:z.WindTurbine,srcImg:hMe,setFlag:D})},{key:"add-sensor",label:h.jsx(z0,{objectType:z.Sensor,srcImg:QHe,setFlag:D})},{key:"add-light",label:h.jsx(z0,{objectType:z.Light,srcImg:pMe,setFlag:D})}],$=ne=>{switch(ne){case z.Foundation:return Y(ne,qHe,M.getState().addedFoundationId);case z.Cuboid:return Y(ne,$He,M.getState().addedCuboidId);case z.Tree:return Y(ne,lMe);case z.Flower:return Y(ne,sMe);case z.Human:return Y(ne,cMe,void 0,"People")}},q=ne=>{switch(ne){case z.Wall:return Y(ne,ZHe,M.getState().addedWallId);case z.Window:return Y(ne,eMe,M.getState().addedWindowId);case z.Door:return Y(ne,tMe,M.getState().addedDoorId);case z.PyramidRoof:return Y(z.PyramidRoof,nMe);case z.HipRoof:return Y(z.HipRoof,oMe);case z.GableRoof:return Y(z.GableRoof,aMe);case z.GambrelRoof:return Y(z.GambrelRoof,iMe);case z.MansardRoof:return Y(z.MansardRoof,rMe)}},le=ne=>{switch(ne){case z.SolarPanel:return Y(ne,Ode);case z.ParabolicTrough:return Y(ne,uMe);case z.ParabolicDish:return Y(ne,dMe);case z.FresnelReflector:return Y(ne,fMe);case z.Heliostat:return Y(ne,_de);case z.Sensor:return Y(ne,QHe);case z.WindTurbine:return Y(ne,hMe);case z.VerticalAxisWindTurbine:return Y(ne,kpo);case z.Light:return Y(ne,pMe)}},ie=()=>d===z.None&&!f&&!p&&!g&&!y&&!A&&!v,pe=()=>{!s||be.hasMovingParts(o)?k():B()};return h.jsxs("div",{children:[h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.Select",E),alt:"Select",src:Epo,height:36,width:36,style:{filter:ie()?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:L})}),h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.ManipulateGroup",E),alt:"Group",src:Fpo,height:36,width:36,style:{filter:v?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:U})}),h.jsxs(M4,{children:[$(w),_({items:J})]}),h.jsxs(M4,{children:[q(P),_({items:Q})]}),h.jsxs(M4,{children:[le(H),_({items:ee})]}),h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.ClearScene",E),alt:"Clear",src:Lpo,height:36,width:36,color:"#666666",style:{cursor:"pointer"},onClick:F})}),h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.SpatialAnalysisOfEnergy",E),alt:"Spatial analysis",src:Npo,height:36,width:36,color:"#666666",style:{filter:c?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:()=>{c?gt.getState().set(ne=>{ne.showSolarRadiationHeatmap=!1,ne.showHeatFluxes=!1}):S()>QNe?_r.confirm({title:O.t("message.CalculationMayBeSlowDoYouWantToContinue",E)+" ("+O.t("message.IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp",E)+")",icon:h.jsx(WW,{}),onOk:()=>{pe()},onCancel:()=>{},okText:`${O.t("word.Yes",E)}`,cancelText:`${O.t("word.No",E)}`}):pe()}})}),h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.ShowSunAndTimeSettings",E),alt:"Heliodon",src:Wpo,height:36,width:36,color:"#666666",style:{filter:l?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:W})})]})}),Bpo=Ho.div` +`,KHe=Se.memo(({openCloudFile:t,deleteModelFromMap:e,likeModelFromMap:n,pinModelFromMap:o})=>{var Y;const i=M(Eg),r=M(dn),a=M(En),l=M($1e),s=M(z4t),c=s!==void 0?s:42.2844063,u=M(D4t),d=u!==void 0?u:-71.3488548,f=M.getState().modelsMapAddress??qV,p=gt(jBe),g=gt(G4t),y=M(L4t),A=M(OBe),x=M(_Be),C=m.useRef(x?new Map(x):new Map),[b,v]=m.useState(),[S,w]=m.useState(!1),T=m.useRef(),P=m.useRef(),R=m.useRef(c),H=m.useRef(d),D=Kt(),{Search:E}=ns;m.useEffect(()=>{C.current=x?new Map(x):new Map,b&&(T.current=x.get(b)),w(!S)},[x,b]);const L=_=>{v(_),gt.getState().set(J=>{J.showLeaderboard||(J.leaderboardFlag=!0),_&&(T.current=C.current.get(_))})},{isLoaded:U,loadError:F}=bot({id:"google-map-script",googleMapsApiKey:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",libraries:Hpo}),W=()=>{gt.getState().set(_=>{_.openModelsMap=!1}),r(_=>{_.modelsMapLatitude=R.current,_.modelsMapLongitude=H.current})},B=_=>{P.current=_},k=()=>{var J;const _=(J=P.current)==null?void 0:J.getPlaces();if(_&&_.length>0){const Q=_[0].geometry;if(Q&&Q.location){const ee={name:"Set Model Map Location",timestamp:Date.now(),oldLatitude:c,newLatitude:Q.location.lat(),oldLongitude:d,newLongitude:Q.location.lng(),oldAddress:f,newAddress:_[0].formatted_address,undo:()=>{r($=>{$.modelsMapLatitude=ee.oldLatitude,$.modelsMapLongitude=ee.oldLongitude,$.modelsMapAddress=ee.oldAddress,R.current=$.modelsMapLatitude,H.current=$.modelsMapLongitude})},redo:()=>{r($=>{$.modelsMapLatitude=ee.newLatitude,$.modelsMapLongitude=ee.newLongitude,$.modelsMapAddress=ee.newAddress,R.current=$.modelsMapLatitude,H.current=$.modelsMapLongitude})}};a(ee),r($=>{Q.location&&($.modelsMapLatitude=Q.location.lat(),$.modelsMapLongitude=Q.location.lng(),R.current=$.modelsMapLatitude,H.current=$.modelsMapLongitude),$.modelsMapAddress=_[0].formatted_address})}}},N=(Y=i.email)==null?void 0:Y.endsWith("@intofuture.org"),j=m.useMemo(()=>{if(!A||!A.size)return 0;let _=0;for(const J of A.values())_+=J.size??0;return _},[A]);return h.jsxs(Mpo,{onKeyDown:_=>{_.key==="Escape"&&W()},children:[U&&h.jsx(en,{children:h.jsx("div",{style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-40px",left:"40%",width:"20%",height:"28px",background:"white",boxShadow:"1px 1px 1px 1px gray"},children:h.jsx(Iot,{onLoad:B,onPlacesChanged:k,children:h.jsx("input",{type:"text",placeholder:f,style:{boxSizing:"border-box",border:"1px solid transparent",width:"100%",height:"100%",fontSize:"14px",paddingLeft:"8px",paddingRight:"8px",outline:"none",textOverflow:"ellipses",position:"relative"}})})})}),U?h.jsx(Cpo,{latRef:R,lngRef:H,selectAuthor:L,closeMap:W,openModel:t,deleteModel:e,likeModel:n,pinModel:o}):h.jsx(dQ,{}),F&&h.jsx(en,{children:h.jsx("div",{children:"Map cannot be loaded right now, sorry."})}),h.jsxs(h.Fragment,{children:[b&&h.jsx(Eot,{latRef:R,lngRef:H,author:b,models:T.current,closeCallback:()=>{v(void 0),T.current=void 0}}),g&&!b&&h.jsx("div",{style:{position:"absolute",fontSize:"10px",color:"black",bottom:"33px",left:"5px",width:"180px",height:"360px",overflowY:"auto",padding:"6px 6px 6px 6px",background:"whitesmoke",boxShadow:"1px 1px 1px 1px gray",textAlign:"left"},children:h.jsxs(en,{direction:"vertical",children:[h.jsx(E,{title:O.t("modelsMap.SearchByPublisher",D),allowClear:!0,size:"small",enterButton:!0,onSearch:_=>{if(x){C.current.clear();for(const[J,Q]of x)J.toLowerCase().includes(_.toLowerCase())&&C.current.set(J,Q);w(!S)}}}),C.current.size===0?h.jsx(ag,{image:ag.PRESENTED_IMAGE_SIMPLE}):h.jsx("table",{children:h.jsx("tbody",{children:[...C.current.keys()].sort((_,J)=>{const Q=C.current.get(_),ee=C.current.get(J);return(ee?ee.size:0)-(Q?Q.size:0)}).map((_,J)=>{if(J>50)return null;const Q=C.current.get(_);return(Q==null?void 0:Q.size)===void 0||(Q==null?void 0:Q.size)===0?null:h.jsxs("tr",{style:{width:"180px"},children:[h.jsx("td",{style:{width:"150px"},children:h.jsx(WJe,{icon:h.jsx(Ytn,{}),color:(Q==null?void 0:Q.size)>10?"gold":(Q==null?void 0:Q.size)>5?"lime":(Q==null?void 0:Q.size)>1?"blue":"magenta",style:{cursor:"pointer",fontSize:"10px",fontWeight:"bold",width:"130px"},onClick:()=>v(_),title:_,children:_.length>16?_.substring(0,15)+"...":_})}),h.jsx("td",{children:Q==null?void 0:Q.size})]},J)})})})]})}),h.jsx(en,{children:h.jsxs("div",{title:O.t("modelsMap.TotalNumberOfUserPublishedModels",D)+": "+j,style:{position:"absolute",fontSize:"14px",color:"black",bottom:"6px",left:"5px",width:"180px",height:"25px",paddingTop:"4px",background:"whitesmoke",boxShadow:"1px 1px 1px 1px gray",cursor:"pointer",userSelect:"none"},onClick:()=>{gt.getState().set(_=>{_.showLeaderboard||(_.leaderboardFlag=!0),_.showLeaderboard=!_.showLeaderboard})},children:[g?h.jsx(Vtn,{title:O.t("word.Close",D),style:{marginRight:"8px"}}):h.jsx(IDt,{title:O.t("word.Open",D),style:{marginRight:"8px"}}),O.t("word.Leaderboard",D)]})}),y&&h.jsx(en,{children:h.jsxs("div",{style:{position:"absolute",fontSize:"10px",color:l==="roadmap"?"black":"white",bottom:"6px",left:"188px",height:"25x",padding:"6px 6px 2px 6px",cursor:"pointer"},onClick:()=>{r(_=>{y&&(_.modelsMapLatitude=y.latitude,_.modelsMapLongitude=y.longitude,_.modelsMapZoom=20,R.current=_.modelsMapLatitude,H.current=_.modelsMapLongitude)})},children:[O.t("word.Latest",D)+": ",y.countryCode&&h.jsx(zot,{countryCode:y.countryCode,style:{marginLeft:"2px",marginRight:"4px",width:"20px"},svg:!0}),y.title+", by "+y.author]})}),h.jsx(en,{children:h.jsx("div",{style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-52px",right:i.uid?"60px":"100px",width:"64px",height:"28px",background:"orange",boxShadow:"1px 1px 1px 1px gray",paddingTop:"4px"},onMouseDown:()=>{W()},children:O.t("word.Close",D)})}),N&&h.jsx(en,{children:h.jsx(Wr,{checked:p,style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-52px",right:"130px",width:"160px",height:"28px",background:"white",boxShadow:"1px 1px 1px 1px gray",paddingLeft:"4px"},onChange:()=>{gt.getState().set(_=>{_.modelsMapWeatherStations=!_.modelsMapWeatherStations})},children:p?h.jsx("span",{title:O.t("mapPanel.WeatherStationsNote",D),children:O.t("mapPanel.WeatherStations",D)}):h.jsx("span",{children:O.t("mapPanel.WeatherStations",D)})})})]})]})}),Ipo="/aladdin/assets/tiny_lock-DSfuZD8Y.png",zpo="/aladdin/assets/select-C-gZZ0yB.png",qHe="/aladdin/assets/foundation-Bf2d60AT.png",$He="/aladdin/assets/cuboid-C70KMDTq.png",QHe="/aladdin/assets/sensor-BZ9UhBbW.png",Ode="/aladdin/assets/solar-panel-BLllvFhu.png",ZHe="/aladdin/assets/wall-Dcb0OCnD.png",eMe="/aladdin/assets/window-uls1fTpz.png",tMe="/aladdin/assets/door-DmvdjDKR.png",nMe="/aladdin/assets/pyramid_roof-CRzRVezC.png",oMe="/aladdin/assets/hip_roof-gO3gEx_s.png",iMe="/aladdin/assets/gambrel_roof-BKCAWDsb.png",rMe="/aladdin/assets/mansard_roof-DRTaI5DY.png",aMe="/aladdin/assets/gable_roof-9fruWngj.png",lMe="/aladdin/assets/tree-BUu2qyTB.png",sMe="/aladdin/assets/flower-DErmZ90Q.png",cMe="/aladdin/assets/human-EToF5YZi.png",uMe="/aladdin/assets/parabolic_trough-CSR3V81L.png",dMe="/aladdin/assets/parabolic_dish-BYGRlVcr.png",fMe="/aladdin/assets/fresnel_reflector-CBKiWWxR.png",_de="/aladdin/assets/heliostat-Kq0JVQG1.png",hMe="/aladdin/assets/wind_turbine-D02sl9A9.png",Dpo="/aladdin/assets/vertical_axis_wind_turbine-C-KZaZtD.png",pMe="/aladdin/assets/led_light-D7hmM4q6.png",Epo="/aladdin/assets/group-BuZ9lmWH.png",kpo="/aladdin/assets/clear-BZ83yweM.png",Fpo="/aladdin/assets/heliodon-CPHdpxt2.png",Lpo="/aladdin/assets/analyze-CgmQCUK0.png",M4=({...t})=>h.jsx("div",{style:{verticalAlign:"top",display:"inline-block",marginTop:"4px",marginRight:"8px"},children:t.children}),dv="invert(41%) sepia(0%) saturate(0%) hue-rotate(224deg) brightness(93%) contrast(81%)",jT="invert(93%) sepia(3%) saturate(1955%) hue-rotate(26deg) brightness(113%) contrast(96%)",z0=({objectType:t,srcImg:e,setFlag:n,replacingText:o})=>{const i=a=>{M.getState().set(l=>{l.objectTypeToAdd=a,l.groupActionMode=!1,l.actionModeLock=!1}),Ln.getState().setEnableOrbitController(!1),M.getState().selectNone()},r=Kt();return h.jsxs(tn,{noPadding:!0,textSelectable:!1,onClick:()=>{n(t),i(t)},children:[h.jsx("img",{alt:t,src:e,height:36,width:36,style:{filter:dv,verticalAlign:"middle",marginRight:"10px"}}),O.t(`toolbar.Add${o??t.replaceAll(" ","")}`,r)]})},Wpo=Se.memo(()=>{const t=M(dn),e=gt(Ah),n=M(ha),o=M(Jn),i=M(Sc),r=M(lW),a=M(_wt),l=M(PBe),s=M(V1e),c=gt(cs),u=M(ewt),d=M(Cq),f=M(Hq),p=M(Mq),g=M(cYe),y=M(j8t),A=M(Y8t),x=M(En),C=gt(ZL),b=gt(Z1e),v=M(fYe),S=M(J8t),[w,T]=m.useState(z.Foundation),[P,R]=m.useState(z.Wall),[H,D]=m.useState(z.SolarPanel),E=m.useMemo(()=>({lng:i}),[i]),L=()=>{t(ne=>{ne.objectTypeToAdd=z.None,ne.groupActionMode=!1,ne.actionModeLock=!1})},U=()=>{t(ne=>{ne.groupActionMode||(ne.objectTypeToAdd=z.None),ne.groupActionMode=!ne.groupActionMode})},F=()=>{_r.confirm({title:O.t("toolbar.DoYouReallyWantToClearContent",E)+"?",icon:h.jsx(qm,{}),onOk:()=>{const ne=JSON.parse(JSON.stringify(M.getState().elements));u();const Z={name:"Clear Scene",timestamp:Date.now(),removedElements:ne,undo:()=>{t(he=>{he.elements.push(...Z.removedElements)})},redo:()=>{u()}};x(Z)}}),L()},W=()=>{const ne={name:"Show Sun and Time Settings Panel",timestamp:Date.now(),checked:!l,undo:()=>{t(Z=>{Z.viewState.showHeliodonPanel=!ne.checked})},redo:()=>{t(Z=>{Z.viewState.showHeliodonPanel=ne.checked})}};x(ne),t(Z=>{Z.viewState.showHeliodonPanel=!Z.viewState.showHeliodonPanel,Z.viewState.showHeliodonPanel&&(Z.selectedFloatingWindow="heliodonPanel")})},B=()=>{b||fn(O.t("message.SimulationStarted",E)),setTimeout(()=>{r(),e("runStaticSimulation",!b),t(ne=>{n&&(ne.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Static)",timestamp:new Date().getTime()})})},100)},k=()=>{C||fn(O.t("message.SimulationStarted",E)),setTimeout(()=>{r(),e("runDynamicSimulation",!C),t(ne=>{n&&(ne.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Dynamic)",timestamp:new Date().getTime()})})},100)},N=ne=>{t(Z=>{Z.objectTypeToAdd=ne,Z.groupActionMode=!1,Z.actionModeLock=!1}),Ln.getState().setEnableOrbitController(!1),r()},j=ne=>{switch(ne){case z.Human:case z.Tree:case z.Flower:case z.Sensor:case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.VerticalAxisWindTurbine:case z.Light:case z.Wall:case z.Window:return!0;default:return!1}},Y=(ne,Z,he,fe)=>{const se=j(ne);return h.jsxs(h.Fragment,{children:[h.jsx("img",{title:O.t(`toolbar.Add${fe??ne.replaceAll(" ","")}`,E)+(se?` +`+(a?O.t("toolbar.ClickToUnlockThisModeForNextAction",E):O.t("toolbar.DoubleClickToLockThisModeForNextAction",E)):""),alt:ne,src:Z,height:36,width:36,style:{filter:d===ne||he?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:()=>{N(ne)},onDoubleClick:()=>{se&&t(oe=>{oe.actionModeLock=!0})}}),(d===ne||he)&&se&&a&&h.jsx("img",{alt:"Tiny lock",src:Ipo,style:{marginLeft:"-2px",filter:d===ne||he?jT:dv,verticalAlign:"top"}})]})},_=ne=>h.jsx(W7,{menu:ne,trigger:["click"],children:h.jsx("span",{title:O.t("toolbar.ClickForMoreButtons",E),style:{cursor:"pointer",verticalAlign:"middle",fontSize:"10px",marginLeft:"4px",width:"10px",height:"36px",color:"#666666",fontWeight:"bold"},children:"▼"})}),J=[{key:"add-foundation",label:h.jsx(z0,{objectType:z.Foundation,srcImg:qHe,setFlag:T})},{key:"add-cuboid",label:h.jsx(z0,{objectType:z.Cuboid,srcImg:$He,setFlag:T})},{key:"add-tree",label:h.jsx(z0,{objectType:z.Tree,srcImg:lMe,setFlag:T})},{key:"add-flower",label:h.jsx(z0,{objectType:z.Flower,srcImg:sMe,setFlag:T})},{key:"add-human",label:h.jsx(z0,{objectType:z.Human,srcImg:cMe,setFlag:T,replacingText:"People"})}],Q=[{key:"add-wall",label:h.jsx(z0,{objectType:z.Wall,srcImg:ZHe,setFlag:R})},{key:"add-window",label:h.jsx(z0,{objectType:z.Window,srcImg:eMe,setFlag:R})},{key:"add-door",label:h.jsx(z0,{objectType:z.Door,srcImg:tMe,setFlag:R})},{key:"add-pyramid-roof",label:h.jsx(z0,{objectType:z.PyramidRoof,srcImg:nMe,setFlag:R})},{key:"add-hip-roof",label:h.jsx(z0,{objectType:z.HipRoof,srcImg:oMe,setFlag:R})},{key:"add-gable-roof",label:h.jsx(z0,{objectType:z.GableRoof,srcImg:aMe,setFlag:R})},{key:"add-gambrel-roof",label:h.jsx(z0,{objectType:z.GambrelRoof,srcImg:iMe,setFlag:R})},{key:"add-mansard-roof",label:h.jsx(z0,{objectType:z.MansardRoof,srcImg:rMe,setFlag:R})}],ee=[{key:"add-solar-panel",label:h.jsx(z0,{objectType:z.SolarPanel,srcImg:Ode,setFlag:D})},{key:"add-parabolic-trough",label:h.jsx(z0,{objectType:z.ParabolicTrough,srcImg:uMe,setFlag:D})},{key:"add-parabolic-dish",label:h.jsx(z0,{objectType:z.ParabolicDish,srcImg:dMe,setFlag:D})},{key:"add-fresnel-reflector",label:h.jsx(z0,{objectType:z.FresnelReflector,srcImg:fMe,setFlag:D})},{key:"add-heliostat",label:h.jsx(z0,{objectType:z.Heliostat,srcImg:_de,setFlag:D})},{key:"add-wind-turbine",label:h.jsx(z0,{objectType:z.WindTurbine,srcImg:hMe,setFlag:D})},{key:"add-sensor",label:h.jsx(z0,{objectType:z.Sensor,srcImg:QHe,setFlag:D})},{key:"add-light",label:h.jsx(z0,{objectType:z.Light,srcImg:pMe,setFlag:D})}],$=ne=>{switch(ne){case z.Foundation:return Y(ne,qHe,M.getState().addedFoundationId);case z.Cuboid:return Y(ne,$He,M.getState().addedCuboidId);case z.Tree:return Y(ne,lMe);case z.Flower:return Y(ne,sMe);case z.Human:return Y(ne,cMe,void 0,"People")}},q=ne=>{switch(ne){case z.Wall:return Y(ne,ZHe,M.getState().addedWallId);case z.Window:return Y(ne,eMe,M.getState().addedWindowId);case z.Door:return Y(ne,tMe,M.getState().addedDoorId);case z.PyramidRoof:return Y(z.PyramidRoof,nMe);case z.HipRoof:return Y(z.HipRoof,oMe);case z.GableRoof:return Y(z.GableRoof,aMe);case z.GambrelRoof:return Y(z.GambrelRoof,iMe);case z.MansardRoof:return Y(z.MansardRoof,rMe)}},le=ne=>{switch(ne){case z.SolarPanel:return Y(ne,Ode);case z.ParabolicTrough:return Y(ne,uMe);case z.ParabolicDish:return Y(ne,dMe);case z.FresnelReflector:return Y(ne,fMe);case z.Heliostat:return Y(ne,_de);case z.Sensor:return Y(ne,QHe);case z.WindTurbine:return Y(ne,hMe);case z.VerticalAxisWindTurbine:return Y(ne,Dpo);case z.Light:return Y(ne,pMe)}},ie=()=>d===z.None&&!f&&!p&&!g&&!y&&!A&&!v,pe=()=>{!s||be.hasMovingParts(o)?k():B()};return h.jsxs("div",{children:[h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.Select",E),alt:"Select",src:zpo,height:36,width:36,style:{filter:ie()?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:L})}),h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.ManipulateGroup",E),alt:"Group",src:Epo,height:36,width:36,style:{filter:v?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:U})}),h.jsxs(M4,{children:[$(w),_({items:J})]}),h.jsxs(M4,{children:[q(P),_({items:Q})]}),h.jsxs(M4,{children:[le(H),_({items:ee})]}),h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.ClearScene",E),alt:"Clear",src:kpo,height:36,width:36,color:"#666666",style:{cursor:"pointer"},onClick:F})}),h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.SpatialAnalysisOfEnergy",E),alt:"Spatial analysis",src:Lpo,height:36,width:36,color:"#666666",style:{filter:c?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:()=>{c?gt.getState().set(ne=>{ne.showSolarRadiationHeatmap=!1,ne.showHeatFluxes=!1}):S()>QNe?_r.confirm({title:O.t("message.CalculationMayBeSlowDoYouWantToContinue",E)+" ("+O.t("message.IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp",E)+")",icon:h.jsx(WW,{}),onOk:()=>{pe()},onCancel:()=>{},okText:`${O.t("word.Yes",E)}`,cancelText:`${O.t("word.No",E)}`}):pe()}})}),h.jsx(M4,{children:h.jsx("img",{title:O.t("toolbar.ShowSunAndTimeSettings",E),alt:"Heliodon",src:Fpo,height:36,width:36,color:"#666666",style:{filter:l?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:W})})]})}),Npo=Ho.div` position: absolute; top: 0; right: 10px; @@ -7199,7 +7199,7 @@ PERFORMANCE OF THIS SOFTWARE. align-items: center; user-select: none; z-index: 9; -`,jpo=Se.memo(({signIn:t,signOut:e})=>{const n=M(Eg),o=gt(yq),i=Kt(),r=[{key:"account",label:h.jsx(tn,{noPadding:!0,onClick:()=>{gt.getState().set(a=>{a.showAccountSettingsPanel=!0})},children:O.t("avatarMenu.AccountSettings",i)})},{key:"signOut",label:h.jsx(tn,{noPadding:!0,onClick:e,children:O.t("avatarMenu.SignOut",i)})}];return h.jsx(Bpo,{children:h.jsxs(en,{direction:"horizontal",children:[!o&&h.jsx(Upo,{}),h.jsx("div",{style:{verticalAlign:"top"},children:n.displayName?h.jsx(W7,{menu:{items:r},trigger:["click"],children:h.jsx("a",{className:"ant-dropdown-link",onClick:a=>a.preventDefault(),title:O.t("tooltip.clickToAccessAccountSettings",i),children:h.jsx(OVe,{size:32,src:n.photoURL,alt:n.displayName})})}):h.jsx(gl,{title:h.jsx("div",{onClick:a=>a.stopPropagation(),children:O.t("avatarMenu.PrivacyStatementTitle",i)}),content:h.jsxs("div",{style:{width:"280px",fontSize:"12px"},children:[O.t("avatarMenu.PrivacyStatement",i),h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-privacy.html",children:O.t("aboutUs.PrivacyPolicy",i)}),"."]}),children:h.jsx(no,{type:"primary",onClick:t,children:O.t("avatarMenu.SignIn",i)})})})]})})}),Ypo=Se.memo(({saveToCloud:t,isLoading:e,setTitle:n,getTitle:o,setTitleDialogVisible:i,isTitleDialogVisible:r})=>{const a=M(dn),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=Kt(),p=(A,x)=>{if(d.current){const{clientWidth:C,clientHeight:b}=window.document.documentElement,v=d.current.getBoundingClientRect();u({left:-v.left+x.x,right:C-(v.right-x.x),top:-v.top+x.y,bottom:b-((v==null?void 0:v.bottom)-x.y)})}},g=()=>{t(o(),!1,!0),a(A=>{A.showCloudFileTitleDialogFlag=!A.showCloudFileTitleDialogFlag,A.showCloudFileTitleDialog=!1})},y=()=>{i(!1),a(A=>{A.showCloudFileTitleDialogFlag=!A.showCloudFileTitleDialogFlag,A.showCloudFileTitleDialog=!1})};return h.jsx(_r,{width:500,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:O.t("menu.file.SaveAsCloudFile",f)}),open:r(),footer:[h.jsx(no,{onClick:y,children:O.t("word.Cancel",f)},"Cancel"),h.jsx(no,{type:"primary",onClick:g,disabled:!o(),children:O.t("word.OK",f)},"OK")],confirmLoading:e(),onCancel:y,modalRender:A=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(x,C)=>p(x,C),children:h.jsx("div",{ref:d,children:A})}),children:h.jsxs(en,{direction:"horizontal",children:[h.jsxs("span",{children:[O.t("word.Title",f),":"]}),h.jsx(ns,{style:{width:"400px"},placeholder:"Title",value:o(),onPressEnter:g,onKeyDown:A=>{if(!JC.test(A.key))return A.preventDefault(),!1},onChange:A=>{n(A.target.value)}})]})})}),{Column:Pae}=Rd,Opo=Ho.div` +`,Upo=Se.memo(({signIn:t,signOut:e})=>{const n=M(Eg),o=gt(yq),i=Kt(),r=[{key:"account",label:h.jsx(tn,{noPadding:!0,onClick:()=>{gt.getState().set(a=>{a.showAccountSettingsPanel=!0})},children:O.t("avatarMenu.AccountSettings",i)})},{key:"signOut",label:h.jsx(tn,{noPadding:!0,onClick:e,children:O.t("avatarMenu.SignOut",i)})}];return h.jsx(Npo,{children:h.jsxs(en,{direction:"horizontal",children:[!o&&h.jsx(Wpo,{}),h.jsx("div",{style:{verticalAlign:"top"},children:n.displayName?h.jsx(W7,{menu:{items:r},trigger:["click"],children:h.jsx("a",{className:"ant-dropdown-link",onClick:a=>a.preventDefault(),title:O.t("tooltip.clickToAccessAccountSettings",i),children:h.jsx(OVe,{size:32,src:n.photoURL,alt:n.displayName})})}):h.jsx(gl,{title:h.jsx("div",{onClick:a=>a.stopPropagation(),children:O.t("avatarMenu.PrivacyStatementTitle",i)}),content:h.jsxs("div",{style:{width:"280px",fontSize:"12px"},children:[O.t("avatarMenu.PrivacyStatement",i),h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-privacy.html",children:O.t("aboutUs.PrivacyPolicy",i)}),"."]}),children:h.jsx(no,{type:"primary",onClick:t,children:O.t("avatarMenu.SignIn",i)})})})]})})}),Bpo=Se.memo(({saveToCloud:t,isLoading:e,setTitle:n,getTitle:o,setTitleDialogVisible:i,isTitleDialogVisible:r})=>{const a=M(dn),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=Kt(),p=(A,x)=>{if(d.current){const{clientWidth:C,clientHeight:b}=window.document.documentElement,v=d.current.getBoundingClientRect();u({left:-v.left+x.x,right:C-(v.right-x.x),top:-v.top+x.y,bottom:b-((v==null?void 0:v.bottom)-x.y)})}},g=()=>{t(o(),!1,!0),a(A=>{A.showCloudFileTitleDialogFlag=!A.showCloudFileTitleDialogFlag,A.showCloudFileTitleDialog=!1})},y=()=>{i(!1),a(A=>{A.showCloudFileTitleDialogFlag=!A.showCloudFileTitleDialogFlag,A.showCloudFileTitleDialog=!1})};return h.jsx(_r,{width:500,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:O.t("menu.file.SaveAsCloudFile",f)}),open:r(),footer:[h.jsx(no,{onClick:y,children:O.t("word.Cancel",f)},"Cancel"),h.jsx(no,{type:"primary",onClick:g,disabled:!o(),children:O.t("word.OK",f)},"OK")],confirmLoading:e(),onCancel:y,modalRender:A=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(x,C)=>p(x,C),children:h.jsx("div",{ref:d,children:A})}),children:h.jsxs(en,{direction:"horizontal",children:[h.jsxs("span",{children:[O.t("word.Title",f),":"]}),h.jsx(ns,{style:{width:"400px"},placeholder:"Title",value:o(),onPressEnter:g,onKeyDown:A=>{if(!JC.test(A.key))return A.preventDefault(),!1},onChange:A=>{n(A.target.value)}})]})})}),{Column:Pae}=Rd,jpo=Ho.div` position: fixed; top: 90px; right: 40px; @@ -7208,7 +7208,7 @@ PERFORMANCE OF THIS SOFTWARE. align-items: center; padding: 16px; z-index: 14; -`,_po=Ho.div` +`,Ypo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -7228,7 +7228,7 @@ PERFORMANCE OF THIS SOFTWARE. overflow-y: hidden; resize: both; direction: rtl; -`,Vpo=Ho.div` +`,Opo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -7239,7 +7239,7 @@ PERFORMANCE OF THIS SOFTWARE. justify-content: space-between; align-items: center; cursor: move; -`,Gpo=Se.memo(({projects:t,setProjectState:e,deleteProject:n,renameProject:o})=>{const i=M(Eg),r=M(dn),a=M(bc),l=Se.useRef(null),s=m.useRef(null),c=s.current?s.current.clientWidth+40:680,u=s.current?s.current.clientHeight+100:600,[d,f]=m.useState({x:0,y:0}),[p,g]=m.useState(!1),[y,A]=m.useState(!1),[x,C]=m.useState({left:0,top:0,bottom:0,right:0}),[b,v]=m.useState(),[S,w]=m.useState(),T=m.useRef(null),P=m.useRef([...t]),[R,H]=m.useState(!1),[D,E]=m.useState(-1),{Search:L}=ns,{t:U}=jl(),F=Kt();m.useEffect(()=>{const _=()=>{f({x:Math.max(0,c-window.innerWidth),y:Math.min(0,window.innerHeight-u)})};return window.addEventListener("resize",_),()=>{window.removeEventListener("resize",_)}},[]),m.useEffect(()=>{t&&(P.current=[...t],H(!R))},[t]);const W=(_,J)=>{f({x:Math.max(J.x,c-window.innerWidth),y:Math.min(J.y,window.innerHeight-u)})},B=(_,J)=>{},k=()=>{gt.getState().set(_=>{_.showProjectListPanel=!1})},N=_=>{_r.confirm({title:U("projectListPanel.DoYouReallyWantToDeleteProject",F)+' "'+_+'"?',content:h.jsxs("span",{style:{color:"red",fontWeight:"bold"},children:[h.jsx(KG,{style:{marginRight:"6px"}}),U("word.Warning",F)+": "+U("message.ThisCannotBeUndone",F)]}),icon:h.jsx(WW,{}),onOk:()=>{n(_)}})},j=()=>{b&&S&&(o(b,S),w(void 0),H(!R)),g(!1)},Y=(_,J)=>{if(T.current){const{clientWidth:Q,clientHeight:ee}=window.document.documentElement,$=T.current.getBoundingClientRect();C({left:-$.left+J.x,right:Q-($.right-J.x),top:-$.top+J.y,bottom:ee-(($==null?void 0:$.bottom)-J.y)})}};return h.jsxs(h.Fragment,{children:[h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:U("word.Rename",F)}),open:p,onOk:j,onCancel:()=>{g(!1),w(void 0)},modalRender:_=>h.jsx(Vr,{disabled:!y,bounds:x,onStart:(J,Q)=>Y(J,Q),children:h.jsx("div",{ref:T,children:_})}),children:h.jsxs(en,{direction:"vertical",style:{width:"100%"},children:[h.jsx(ns,{placeholder:"Title",value:S||b,onPressEnter:j,onKeyDown:_=>{if(!JC.test(_.key))return _.preventDefault(),!1},onChange:_=>{w(_.target.value)}}),h.jsxs("span",{style:{fontSize:"11px",color:"red"},children:[h.jsx(KG,{style:{marginRight:"4px"}}),U("word.Caution",F)+": "+U("projectListPanel.IfSharedOrPublishedRenamingProjectBreaksExistingLinks",F),"."]})]})}),h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:d,onDrag:W,onStop:B,onMouseDown:()=>{r(_=>{_.selectedFloatingWindow="projectListPanel"})},children:h.jsx(Opo,{ref:l,style:{zIndex:a==="projectListPanel"?xc:14},children:h.jsxs(_po,{ref:s,children:[h.jsxs(Vpo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:U("projectListPanel.MyProjects",F)+" ("+P.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{k()},onTouchStart:()=>{k()},children:U("word.Close",F)})]}),h.jsx("span",{style:{direction:"ltr"},children:h.jsx(L,{style:{width:"50%",paddingTop:"8px",paddingBottom:"8px"},title:U("projectListPanel.SearchByTitle",F),allowClear:!0,size:"small",enterButton:!0,onSearch:_=>{var J;if(t){P.current=[];for(const Q of t)(J=Q.title)!=null&&J.toLowerCase().includes(_.toLowerCase())&&P.current.push(Q);H(!R)}}})}),h.jsxs(Rd,{size:"small",style:{width:"100%",direction:"ltr",verticalAlign:"top"},dataSource:P.current,scroll:{y:360},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:[h.jsx(Pae,{title:`${U("word.Title",F)}`,dataIndex:"title",width:"50%",sortDirections:["ascend","descend","ascend"],sorter:(_,J)=>_.title.localeCompare(J.title),render:(_,J,Q)=>{const ee=[{key:"project-title",label:h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:!0,fontWeight:"bold",children:_}),h.jsx("hr",{})]})},{key:"open-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>e(J),children:U("word.Open",F)})},{key:"copy-title-to-clip-board",label:h.jsx(tn,{noPadding:!0,onClick:()=>{navigator.clipboard.writeText(_).then(()=>m2(U("projectListPanel.TitleCopiedToClipBoard",F)+"."))},children:U("projectListPanel.CopyTitle",F)})},{key:"rename-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>{v(_),g(!0)},children:U("word.Rename",F)})},{key:"delete-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>N(_),children:U("word.Delete",F)})},{key:"generate-project-link",label:h.jsx(tn,{noPadding:!0,onClick:()=>{const $=Sg+"?client=web&userid="+i.uid+"&project="+encodeURIComponent(_);navigator.clipboard.writeText($).then(()=>m2(U("projectListPanel.ProjectLinkGeneratedInClipBoard",F)+"."))},children:U("projectListPanel.GenerateProjectLink",F)})}];return h.jsxs(en,{style:{width:"100%"},children:[h.jsx(W7,{menu:{items:ee},trigger:["hover"],children:h.jsx(EJe,{style:{fontSize:"12px",cursor:"pointer"},onMouseEnter:()=>{Q!==void 0&&E(Q)},onMouseLeave:()=>{E(-1)}})}),h.jsx(C6.Text,{title:U("word.Open",F),style:{fontSize:"12px",cursor:"pointer",verticalAlign:"top"},onClick:()=>{const $=window.getSelection();$&&$.toString().length>0||e(J)},children:_})]})},onCell:(_,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"title"),h.jsx(Pae,{title:`${U("word.Type",F)}`,dataIndex:"type",width:"25%",render:_=>h.jsx(C6.Text,{style:{fontSize:"12px",verticalAlign:"top"},children:_}),onCell:(_,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"type"),h.jsx(Pae,{title:`${U("word.Time",F)}`,dataIndex:"time",width:"25%",defaultSortOrder:"descend",sortDirections:["ascend","descend","ascend"],sorter:(_,J)=>_.timestamp-J.timestamp,render:_=>h.jsx(C6.Text,{style:{fontSize:"12px",verticalAlign:"top"},children:_}),onCell:(_,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"time")]})]})})})]})}),jy=(t,e,n)=>{m.useEffect(()=>{t&&(e(),n())},[t])},Xpo=({viewOnly:t=!1,canvas:e})=>{const n=M(dn),o=gt(Ah),i=M(Eg),r=M(Xs),a=M(wb),l=M(mq),s=M(t4t),c=M(GBe),u=gt(e7t),d=gt(h7t),f=gt(p7t),p=gt(g7t),g=gt(yq),y=M(yH),A=gt(U4t),x=gt(B4t),C=gt(G4t),b=gt(X4t),v=gt(K4t),S=gt(q4t),w=M(W4t),T=M(YBe),P=M(Q1e),R=M(XBe),H=gt(BBe),D=M($4t),E=M(_Be),L=gt(j4t),U=gt(Y4t),F=gt(O4t),W=gt(_4t),B=gt(V4t),[k,N]=m.useState(!1),[j,Y]=m.useState(!1),[_,J]=m.useState([]),[Q,ee]=m.useState([]),[$,q]=m.useState(!1),[le,ie]=m.useState(y??"My Aladdin File"),[pe,ne]=m.useState(!1),Z=m.useRef(),he=m.useRef(),fe=m.useRef(),se=Kt();jy(A,ze,()=>o("saveAccountSettingsFlag",!1)),jy(x,at,()=>o("saveCloudFileFlag",!1)),jy(C,ut,()=>o("modelsMapFlag",!1)),jy(b,wt,()=>o("leaderboardFlag",!1)),jy(v,rt,()=>o("publishOnModelsMapFlag",!1)),jy(L,Qe,()=>o("createProjectFlag",!1)),jy(U,Oe,()=>o("saveProjectAsFlag",!1)),jy(W,ct,()=>o("showProjectsFlag",!1)),jy(B,lt,()=>o("updateProjectsFlag",!1)),jy(S,vt,()=>o("listCloudFilesFlag",!1)),jy(F,et,()=>o("curateDesignToProjectFlag",!1)),m.useEffect(()=>{const tt={apiKey:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",authDomain:"aladdin-316017.firebaseapp.com",projectId:"aladdin-316017",storageBucket:"aladdin-316017.appspot.com",databaseURL:"https://aladdin-316017.firebaseio.com",messagingSenderId:"169516488625",appId:"1:169516488625:web:bb0ae3c3f7c6e813250f90"};let it=ao.apps.length===0;return ao.apps.length===1&&ao.apps[0].name===JV.LOG_DATA&&(it=!0),it?ao.initializeApp(tt):ao.app(),ao.auth().onAuthStateChanged(At=>{const st=new URLSearchParams(window.location.search).get("title");n(At?ft=>{ft.user&&(ft.user.uid=At.uid,ft.user.displayName=At.displayName,ft.user.email=At.email,ft.user.photoURL=At.photoURL),ft.cloudFile=st??void 0}:ft=>{ft.cloudFile=st??void 0})}),de(),window.addEventListener("popstate",oe),()=>{window.removeEventListener("popstate",oe)}},[]);const oe=()=>{if(t)return;const tt=new URLSearchParams(window.location.search),it=tt.get("userid"),At=tt.get("title");it&&At&&Ye(it,At,!0)};m.useEffect(()=>{if(Z.current){const tt=[];Z.current.forEach((it,At)=>{tt.push({key:At.toString(),title:it.fileName,time:gc(new Date(it.timestamp)).format("MM/DD/YYYY hh:mm A"),timestamp:it.timestamp,userid:it.userid,action:""})}),tt.sort((it,At)=>At.timestamp-it.timestamp),J(tt)}},[Z.current]),m.useEffect(()=>{if(he.current){const tt=[];he.current.forEach((it,At)=>{tt.push({key:At.toString(),owner:it.owner,title:it.title,time:gc(new Date(it.timestamp)).format("MM/DD/YYYY hh:mm A"),timestamp:it.timestamp,description:it.description,dataColoring:it.dataColoring,selectedProperty:it.selectedProperty,sortDescending:it.sortDescending,xAxisNameScatterPlot:it.xAxisNameScatterPlot,yAxisNameScatterPlot:it.yAxisNameScatterPlot,dotSizeScatterPlot:it.dotSizeScatterPlot,thumbnailWidth:it.thumbnailWidth,type:it.type,designs:it.designs,ranges:it.ranges??[],filters:it.filters??[],hiddenParameters:it.hiddenParameters??dd.getDefaultHiddenParameters(it.type),counter:it.counter,action:""})}),tt.sort((it,At)=>At.timestamp-it.timestamp),ee(tt)}},[he.current,$]),m.useEffect(()=>{if(fe.current=new Map,i.aliases&&i.aliases.length>0){for(const tt of i.aliases)if(tt!==i.displayName){const it=E.get(tt);it&&(fe.current=new Map([...fe.current,...it]))}}if(i.displayName){const tt=E.get(i.displayName);tt&&(fe.current=new Map([...fe.current,...tt]))}},[E,i.displayName,i.aliases]),m.useEffect(()=>{ne(w)},[T]),m.useEffect(()=>{ie(y??"My Aladdin File")},[y]);const de=()=>{const tt=new URLSearchParams(window.location.search),it=tt.get("userid");if(it){const At=tt.get("title"),Mt=tt.get("project");Mt?(N(!0),Ctt(it,Mt,Le).finally(()=>{N(!1)}),At&&qe(it,At)):At&&Ye(it,At)}else n(At=>{At.cloudFile=void 0})},ve=()=>{n(tt=>{tt.objectTypeToAdd=z.None,tt.groupActionMode=!1})},Pe=()=>{const tt=new ao.auth.GoogleAuthProvider;ao.auth().signInWithPopup(tt).then(it=>{n(At=>{it.user&&(At.user.uid=it.user.uid,At.user.email=it.user.email,At.user.displayName=it.user.displayName,At.user.photoURL=it.user.photoURL,me({...At.user}).then(()=>{}))})}).catch(it=>{it.code!=="auth/popup-closed-by-user"&&it.code!=="auth/cancelled-popup-request"&&Lo(O.t("message.CannotSignIn",se)+": "+it)}),ve()},me=async tt=>{const it=ao.firestore();let At=!1,Mt=!1,st=rc.UNKNOWN,ft=Ua.UNKNOWN,Rt=[],zt=[],Xe=[],ht=!1,Je=0;tt.uid!==null&&(tt&&tt.email==="charles@intofuture.org"&&await it.collection("users").get().then(Ge=>{Je=Ge.size}),ht=await it.collection("users").doc(tt.uid).get().then(Ge=>{const xt=Ge.data();return xt?(At=!!xt.signFile,Mt=!!xt.noLogging,st=xt.schoolID?xt.schoolID:rc.UNKNOWN,ft=xt.classID?xt.classID:Ua.UNKNOWN,xt.likes&&(Rt=xt.likes),xt.published&&(zt=xt.published),xt.aliases&&(Xe=xt.aliases),!0):!1})),ht?(n(mt=>{mt.user.signFile=At,mt.user.noLogging=Mt,mt.user.schoolID=st,mt.user.classID=ft,mt.user.likes=Rt,mt.user.published=zt,mt.user.aliases=Xe}),gt.getState().set(mt=>{mt.userCount=Je}),tt.signFile=At,tt.noLogging=Mt,tt.schoolID=st,tt.classID=ft,tt.likes=Rt,tt.published=zt,tt.aliases=Xe):tt.uid&&it.collection("users").doc(tt.uid).set({uid:tt.uid,signFile:!!tt.signFile,noLogging:!!tt.noLogging,schoolID:tt.schoolID??rc.UNKNOWN,classID:tt.classID??Ua.UNKNOWN,since:gc(new Date).format("MM/DD/YYYY hh:mm A"),os:be.getOS()}).then(()=>{fn(O.t("message.YourAccountWasCreated",se))}).catch(mt=>{Lo(O.t("message.CannotCreateAccount",se)+": "+mt)})},Re=()=>{ao.auth().signOut().then(()=>{n(tt=>{tt.user.uid=null,tt.user.email=null,tt.user.displayName=null,tt.user.photoURL=null,tt.user.signFile=!1,tt.user.likes=[],tt.user.published=[],tt.user.aliases=[],tt.cloudFile=void 0}),gt.getState().set(tt=>{tt.showCloudFilePanel=!1,tt.showAccountSettingsPanel=!1,tt.showModelsGallery=!1,tt.showProjectListPanel=!1})}).catch(tt=>{Lo(O.t("message.CannotSignOut",se)+": "+tt)})};function ze(){i.uid&&ao.firestore().collection("users").doc(i.uid).update({signFile:!!i.signFile,schoolID:i.schoolID??rc.UNKNOWN,classID:i.classID??Ua.UNKNOWN}).then(()=>{fn(O.t("message.YourAccountSettingsWereSaved",se))}).catch(it=>{Lo(O.t("message.CannotSaveYourAccountSettings",se)+": "+it)})}const Ae=async()=>{N(!0),await ao.firestore().collection("models").get().then(tt=>{const it=new Map;return tt.forEach(At=>{var st;const Mt=At.data();if(Mt){const ft=new Map;for(const Rt in Mt)Mt[Rt].countryCode||(st=Mt[Rt].address)!=null&&st.endsWith("USA")&&(Mt[Rt].countryCode="US"),ft.set(Rt,Mt[Rt]);it.set(At.id,ft)}}),n(At=>{At.modelSites=it}),it}).catch(tt=>{Lo(O.t("message.CannotLoadModelsOnMap",se)+": "+tt)}).finally(()=>{N(!1)})},re=async()=>{await ao.firestore().collection("board").doc("info").get().then(tt=>{if(tt.exists){const it=tt.data();it&&it.latestModel&&n(At=>{var ft;let Mt=!1;const st=it.latestModel;st.author&&(Mt=!!((ft=At.peopleModels.get(st.author))!=null&&ft.get(be.getModelKey(st)))),At.latestModelSite=Mt?st:void 0})}}).catch(tt=>{console.log(tt)})},ge=async()=>{N(!0),await ao.firestore().collection("board").doc("people").get().then(tt=>{const it=tt.data();if(it){const At=new Map;for(const Mt in it)At.set(Mt,new Map(Object.entries(it[Mt])));n(Mt=>{Mt.peopleModels=At})}}).catch(tt=>{Lo(O.t("message.CannotLoadLeaderboard",se)+": "+tt)}).finally(()=>{N(!1)})},we=(tt,it)=>{i&&i.uid&&(ao.firestore().collection("models").doc(be.getLatLngKey(tt.latitude,tt.longitude)).update({[be.getModelKey(tt)]:ao.firestore.FieldValue.delete()}).then(()=>{m2(O.t("message.ModelDeletedFromMap",se)),it&&it()}).catch(At=>{Lo(O.t("message.CannotDeleteModelFromMap",se)+": "+At)}),ao.firestore().collection("board").doc("people").update({[(tt.author??"Anonymous")+"."+be.getModelKey(tt)]:ao.firestore.FieldValue.delete()}).then(()=>{n(At=>{At.peopleModels&&(At.peopleModels.delete(be.getModelKey(tt)),gt.getState().set(Mt=>{Mt.leaderboardFlag=!0}))})}),ao.firestore().collection("users").doc(i.uid).update({published:ao.firestore.FieldValue.arrayRemove(tt.title)}).then(()=>{n(At=>{if(At.user&&At.user.published&&At.user.published.includes(tt.title)){const Mt=At.user.published.indexOf(tt.title);Mt>=0&&At.user.published.splice(Mt,1)}})}))},ye=(tt,it,At)=>{if(i&&i.uid){const Mt=be.getModelKey(tt);ao.firestore().collection("users").doc(i.uid).update(it?{likes:ao.firestore.FieldValue.arrayUnion(Mt)}:{likes:ao.firestore.FieldValue.arrayRemove(Mt)}).then(()=>{}).catch(ft=>{Lo(O.t("message.CannotLikeModelFromMap",se)+": "+ft)});const st=Mt+".likeCount";ao.firestore().collection("models").doc(be.getLatLngKey(tt.latitude,tt.longitude)).update(it?{[st]:ao.firestore.FieldValue.increment(1)}:{[st]:ao.firestore.FieldValue.increment(-1)}).then(()=>{At&&At()}).catch(ft=>{Lo(O.t("message.CannotLikeModelFromMap",se)+": "+ft)})}},Te=(tt,it,At)=>{i&&i.uid&&ao.firestore().collection("models").doc(be.getLatLngKey(tt.latitude,tt.longitude)).update({[be.getModelKey(tt)+".pinned"]:it}).then(()=>{At&&At()}).catch(()=>{})},Ie=tt=>{i&&i.uid&&ao.firestore().collection("models").doc(be.getLatLngKey(tt.latitude,tt.longitude)).update({[be.getModelKey(tt)+".clickCount"]:ao.firestore.FieldValue.increment(1)}).then(()=>{}).catch(()=>{})},Ce=async tt=>{i.uid&&(tt||N(!0),he.current=await ao.firestore().collection("users").doc(i.uid).collection("projects").get().then(it=>{const At=[];return it.forEach(Mt=>{const st=Mt.data();At.push({owner:i.uid,title:Mt.id,timestamp:st.timestamp,description:st.description,dataColoring:st.dataColoring,selectedProperty:st.selectedProperty,sortDescending:st.sortDescending,xAxisNameScatterPlot:st.xAxisNameScatterPlot,yAxisNameScatterPlot:st.yAxisNameScatterPlot,dotSizeScatterPlot:st.dotSizeScatterPlot,thumbnailWidth:st.thumbnailWidth,type:st.type,designs:st.designs??[],ranges:st.ranges??[],filters:st.filters??[],hiddenParameters:st.hiddenParameters??dd.getDefaultHiddenParameters(st.type),counter:st.counter??0})}),At}).catch(it=>{Lo(O.t("message.CannotOpenYourProjects",se)+": "+it)}).finally(()=>{tt||N(!1)}))},Ee=tt=>{i.uid&&Ce(!tt).then(()=>{tt&>.getState().set(it=>{it.showProjectListPanel=!0}),q(!$)})},Ue=tt=>{i.uid&&ao.firestore().collection("users").doc(i.uid).collection("projects").doc(tt).delete().then(()=>{if(he.current&&i.uid){for(const it of he.current)if(it.title===tt&&it.designs){for(const At of it.designs)n(Mt=>{At.title===Mt.cloudFile&&(Mt.cloudFile=void 0)}),ao.firestore().collection("users").doc(i.uid).collection("designs").doc(At.title).delete().then(()=>{}).catch(Mt=>{Lo(O.t("message.CannotDeleteCloudFile",se)+": "+Mt)});break}he.current=he.current.filter(it=>it.title!==tt),Y(!j)}n(it=>{tt===it.projectState.title&&(it.projectState.title=null,it.projectState.description=null,it.projectState.dataColoring=n9.ALL,it.projectState.selectedProperty=null,it.projectState.sortDescending=!1,it.projectState.xAxisNameScatterPlot=null,it.projectState.yAxisNameScatterPlot=null,it.projectState.dotSizeScatterPlot=5,it.projectState.thumbnailWidth=200,it.projectState.counter=0,it.projectState.designs=[],it.projectState.ranges=[],it.projectState.filters=[],it.projectState.hiddenParameters=dd.getDefaultHiddenParameters(it.projectState.type),it.designProjectType=null,it.projectView=!1)})}).catch(it=>{Lo(O.t("message.CannotDeleteProject",se)+": "+it)})},Ne=(tt,it)=>{Ce(!1).then(()=>{let At=!1;if(he.current){for(const Mt of he.current)if(Mt.title===it){At=!0;break}}if(At)fn(O.t("message.TitleUsedChooseDifferentOne",se)+": "+it);else{if(!i.uid)return;const Mt=ao.firestore().collection("users").doc(i.uid).collection("projects");Mt.doc(tt).get().then(st=>{if(st&&st.exists){const ft=st.data();if(ft&&i.uid){const Rt={...ft};if(ft.designs&&ft.designs.length>0){const zt=rCe(it,ft.designs)??[];for(const[Xe,ht]of ft.designs.entries())aCe(ht.title,zt[Xe].title,ft.owner,i.uid);Rt.designs=zt,n(Xe=>{Xe.projectState.designs=zt})}Mt.doc(it).set(Rt).then(()=>{if(Mt.doc(tt).delete().then(()=>{}),he.current){const zt=[];for(const Xe of he.current)Xe.title===tt?zt.push({owner:Xe.owner,timestamp:Xe.timestamp,title:it,description:Xe.description,type:Xe.type,designs:Xe.designs,ranges:Xe.ranges??null,filters:Xe.filters??null,hiddenParameters:Xe.hiddenParameters,counter:Xe.counter}):zt.push(Xe);he.current=zt,Y(!j)}n(zt=>{zt.projectState.title===tt&&(zt.projectState.title=it)})})}}}).catch(st=>{Lo(O.t("message.CannotRenameProject",se)+": "+st)})}})},Le=tt=>{n(it=>{it.projectState={...tt},it.projectImages.clear(),it.projectView=!0}),gt.getState().set(it=>{it.projectImagesUpdateFlag=!it.projectImagesUpdateFlag,it.updateProjectsFlag=!0})},qe=(tt,it)=>{tt&&it&&(N(!0),MX(tt,it,!0,!0,t).finally(()=>{N(!1)}))},We=(tt,it,At,Mt)=>{if(!i.uid||!e)return;const st=be.resizeCanvas(e,Mt).toDataURL(),ft=Rtt(tt,At,st);ao.firestore().collection("users").doc(i.uid).collection("projects").doc(it).update({designs:ao.firestore.FieldValue.arrayUnion(ft),counter:ao.firestore.FieldValue.increment(1)}).then(()=>{n(Rt=>{var zt;(zt=Rt.projectState.designs)==null||zt.push(ft),Rt.projectState.counter++,Rt.designProjectType=Rt.projectState.type,Rt.cloudFile=ft.title}),Fe(At,!0,!0)}).catch(Rt=>{Lo(O.t("message.CannotAddDesignToProject",se)+": "+Rt)}).finally(()=>{N(!1)})},De=(tt,it,At)=>{if(!i.uid)return;const Mt=tt.trim();if(Mt.length===0){Lo(O.t("menu.file.SavingAbortedMustHaveValidTitle",se)+".");return}N(!0),At?St().then(()=>{let st=!1;if(Z.current){for(const ft of Z.current)if(ft.fileName===Mt){st=!0;break}}st?_r.confirm({title:`${O.t("message.CloudFileWithTitleExistsDoYouWantToOverwrite",se)}`,icon:h.jsx(WW,{}),onOk:()=>{Fe(Mt,it)},onCancel:()=>{n(ft=>{ft.showCloudFileTitleDialogFlag=!ft.showCloudFileTitleDialogFlag,ft.showCloudFileTitleDialog=!0})},okText:`${O.t("word.Yes",se)}`,cancelText:`${O.t("word.No",se)}`}):Fe(Mt,it)}):Fe(Mt,it),ne(!1)},Fe=(tt,it,At)=>{if(i.uid)try{const Mt=ao.firestore().collection("users").doc(i.uid);Mt&&(D&>.getState().set(st=>{st.waiting=!0}),Mt.collection(At?"designs":"files").doc(tt).set(c()).then(()=>{if(it||(n(st=>{st.cloudFile=tt}),gt.getState().setChanged(!1)),D)D==="CREATE_NEW_FILE"?R():P(D);else if(!At){const st=Sg+"?client=web&userid="+i.uid+"&title="+encodeURIComponent(tt);window.history.pushState({},document.title,st)}u&&St().then(()=>{Y(!j)})}).catch(st=>{Lo(O.t("message.CannotSaveYourFileToCloud",se)+": "+st)}).finally(()=>{N(!1)}))}catch(Mt){Lo(O.t("message.CannotSaveYourFileToCloud",se)+": "+Mt),N(!1)}},_e=(tt,it)=>{H?_r.confirm({title:`${O.t("message.DoYouWantToSaveChanges",se)}`,icon:h.jsx(qm,{}),onOk:()=>{y?(De(y,!0,!1),Ye(tt,it)):n(At=>{At.showCloudFileTitleDialogFlag=!At.showCloudFileTitleDialogFlag,At.showCloudFileTitleDialog=!0})},onCancel:()=>{Ye(tt,it)},okText:`${O.t("word.Yes",se)}`,cancelText:`${O.t("word.No",se)}`}):Ye(tt,it)},ot=tt=>{H?_r.confirm({title:`${O.t("message.DoYouWantToSaveChanges",se)}`,icon:h.jsx(qm,{}),onOk:()=>{y?(De(y,!0,!1),Ye(tt.userid,tt.title),Ie(tt)):n(it=>{it.showCloudFileTitleDialogFlag=!it.showCloudFileTitleDialogFlag,it.showCloudFileTitleDialog=!0})},onCancel:()=>{Ye(tt.userid,tt.title),Ie(tt)},okText:`${O.t("word.Yes",se)}`,cancelText:`${O.t("word.No",se)}`}):(Ye(tt.userid,tt.title),Ie(tt))},Ye=(tt,it,At)=>{tt&&it&&(N(!0),MX(tt,it,!1,At,t).finally(()=>{N(!1)}))},St=async()=>{i.uid&&(N(!0),Z.current=await ao.firestore().collection("users").doc(i.uid).collection("files").get().then(tt=>{const it=[];return tt.forEach(At=>{const Mt=At.data();it.push({timestamp:Mt.timestamp,fileName:At.id,userid:i.uid,uuid:Mt.docid})}),it}).catch(tt=>{Lo(O.t("message.CannotOpenCloudFolder",se)+": "+tt)}).finally(()=>{N(!1)}))},dt=(tt,it)=>{ao.firestore().collection("users").doc(tt).collection("files").doc(it).delete().then(()=>{J(_.filter(At=>At.userid!==tt||At.title!==it)),n(At=>{it===At.cloudFile&&(At.cloudFile=void 0)})}).catch(At=>{Lo(O.t("message.CannotDeleteCloudFile",se)+": "+At)})},je=(tt,it,At)=>{const Mt=ao.firestore().collection("users").doc(tt).collection("files");Mt.doc(it).get().then(st=>{if(st&&st.exists){const ft=st.data();ft&&Mt.doc(At).set(ft).then(()=>{Mt.doc(it).delete().then(()=>{});for(const zt of _)if(zt.userid===tt&&zt.title===it){zt.title=At;break}J([..._]),n(zt=>{zt.cloudFile===it&&(zt.cloudFile=At)});const Rt=new URLSearchParams(window.location.search);if(Rt.get("title")===it&&Rt.get("userid")===i.uid){const zt=Sg+"?client=web&userid="+i.uid+"&title="+encodeURIComponent(At);window.history.pushState({},document.title,zt)}})}}).catch(st=>{Lo(O.t("message.CannotRenameCloudFile",se)+": "+st)})};function at(){y&&(De(y,!1,!1),ie(y))}function ut(){Ae().then(()=>{re().then(()=>{})})}function wt(){ge().then(()=>{re().then(()=>{})})}function rt(){if(i&&i.uid&&le){const tt=new URLSearchParams(window.location.search);if(tt.get("userid")===i.uid&&tt.get("title")===le){const it={latitude:r,longitude:a,address:l??null,countryCode:s??null,type:M.getState().modelType,author:M.getState().modelAuthor??i.displayName,userid:i.uid,title:le,label:M.getState().modelLabel,description:M.getState().modelDescription,timeCreated:Date.now()},At=be.getModelKey(it),Mt=ao.firestore().collection("models");if(Mt){const st=ao.storage().ref();e&&be.resizeCanvas(e,200).toBlob(Rt=>{if(Rt){const zt={contentType:"image/png"},Xe=st.child("images/"+At+".png").put(Rt,zt);Xe.on(ao.storage.TaskEvent.STATE_CHANGED,ht=>{const Je=ht.bytesTransferred/ht.totalBytes*100;Je>0&&fn(O.t("word.Upload",se)+": "+Je+"%")},ht=>{Lo("Storage: "+ht)},()=>{Xe.snapshot.ref.getDownloadURL().then(ht=>{const Je={...it,thumbnailUrl:ht},mt=Mt.doc(be.getLatLngKey(r,a));mt.get().then(Ge=>{if(Ge.exists){const xt=Ge.data();xt&&xt[At]?mt.set({[At]:Je},{merge:!0}).then(()=>{m2(O.t("menu.file.UpdatedOnModelsMap",se)+".")}):mt.set({[At]:Je},{merge:!0}).then(()=>{m2(O.t("menu.file.PublishedOnModelsMap",se)+".")})}else mt.set({[At]:Je},{merge:!0}).then(()=>{m2(O.t("menu.file.PublishedOnModelsMap",se)+".")})}).catch(Ge=>{Lo(O.t("message.CannotPublishModelOnMap",se)+": "+Ge)}),ao.firestore().collection("board").doc("people").update({[(Je.author??"Anonymous")+"."+be.getModelKey(Je)]:Je}).then(()=>{n(Ge=>{if(Ge.peopleModels){const xt=Ge.peopleModels.get(Je.author??"Anonymous");xt&&xt.set(be.getModelKey(Je),Je)}})}),ao.firestore().collection("board").doc("info").set({latestModel:Je},{merge:!0}).then(()=>{})})})}})}ao.firestore().collection("users").doc(i.uid).update(M.getState().modelAuthor===i.displayName?{published:ao.firestore.FieldValue.arrayUnion(le)}:{published:ao.firestore.FieldValue.arrayUnion(le),aliases:ao.firestore.FieldValue.arrayUnion(M.getState().modelAuthor)}).then(()=>{n(st=>{st.user&&(st.user.published||(st.user.published=[]),st.user.published.includes(le)||st.user.published.push(le),st.user.aliases||(st.user.aliases=[]),st.modelAuthor&&!st.user.aliases.includes(st.modelAuthor)&&st.modelAuthor!==i.displayName&&st.user.aliases.push(st.modelAuthor))})})}}}function Qe(){if(!i||!i.uid)return;const tt=gt.getState().projectTitle;if(!tt){Lo(O.t("message.CannotCreateNewProjectWithoutTitle",se)+".");return}const it=tt.trim();if(it.length===0){Lo(O.t("message.CannotCreateNewProjectWithoutTitle",se)+".");return}Ce(!1).then(()=>{let At=!1;if(he.current){for(const Mt of he.current)if(Mt.title===it){At=!0;break}}if(At)fn(O.t("message.TitleUsedChooseDifferentOne",se)+": "+it);else if(i&&i.uid){const Mt=gt.getState().projectType??Tr.SOLAR_PANEL_ARRAY,st=gt.getState().projectDescription??null,ft=new Date().getTime();ao.firestore().collection("users").doc(i.uid).collection("projects").doc(it).set({owner:i.uid,timestamp:ft,type:Mt,description:st,counter:0,designs:[],hiddenParameters:dd.getDefaultHiddenParameters(Mt)}).then(()=>{n(zt=>{zt.projectView=!0,zt.projectState.owner=i.uid,zt.projectState.type=Mt,zt.projectState.title=tt,zt.projectState.description=st,zt.projectState.counter=0,zt.projectState.dataColoring=n9.ALL,zt.projectState.selectedProperty=null,zt.projectState.sortDescending=!1,zt.projectState.xAxisNameScatterPlot=null,zt.projectState.yAxisNameScatterPlot=null,zt.projectState.dotSizeScatterPlot=5,zt.projectState.thumbnailWidth=200,zt.projectState.designs=[],zt.projectState.ranges=[],zt.projectState.filters=[],zt.projectState.hiddenParameters=dd.getDefaultHiddenParameters(zt.projectState.type)})}).catch(zt=>{Lo(O.t("message.CannotCreateNewProject",se)+": "+zt)}).finally(()=>{d&&Ce(!1).then(()=>{Y(!j)}),N(!1)})}})}function Oe(){if(!i||!i.uid)return;const tt=gt.getState().projectTitle;if(!tt){Lo(O.t("message.CannotCreateNewProjectWithoutTitle",se)+".");return}const it=tt.trim();if(it.length===0){Lo(O.t("message.CannotCreateNewProjectWithoutTitle",se)+".");return}Ce(!1).then(()=>{let At=!1;if(he.current){for(const Mt of he.current)if(Mt.title===it){At=!0;break}}if(At)fn(O.t("message.TitleUsedChooseDifferentOne",se)+": "+it);else if(i&&i.uid){const Mt=M.getState().projectState.designs;if(Mt){const st=gt.getState().projectType,ft=gt.getState().projectDescription,Rt=M.getState().projectState.owner,zt=new Date().getTime(),Xe=M.getState().projectState.counter,ht=M.getState().projectState.dataColoring??null,Je=M.getState().projectState.selectedProperty??null,mt=!!M.getState().projectState.sortDescending,Ge=M.getState().projectState.xAxisNameScatterPlot??"rowWidth",xt=M.getState().projectState.yAxisNameScatterPlot??"rowWidth",It=M.getState().projectState.dotSizeScatterPlot??5,Tt=M.getState().projectState.thumbnailWidth??200,Dt=rCe(it,Mt)??[];for(const[Et,an]of Mt.entries())aCe(an.title,Dt[Et].title,Rt,i.uid);const Lt=M.getState().projectImages;if(Lt&&Lt.size>0){for(const[Et,an]of Mt.entries()){const Jt=Lt.get(an.title);Jt&&(Dt[Et].thumbnail=OYn(Jt))}ao.firestore().collection("users").doc(i.uid).collection("projects").doc(it).set({owner:i.uid,timestamp:zt,type:st,description:ft,counter:Xe,dataColoring:ht,selectedProperty:Je,sortDescending:mt,xAxisNameScatterPlot:Ge,yAxisNameScatterPlot:xt,dotSizeScatterPlot:It,thumbnailWidth:Tt,designs:Dt,ranges:M.getState().projectState.ranges??null,filters:M.getState().projectState.filters??null,hiddenParameters:M.getState().projectState.hiddenParameters}).then(()=>{n(Et=>{Et.projectView=!0,Et.projectState.owner=i.uid,Et.projectState.type=st,Et.projectState.title=tt,Et.projectState.description=ft,Et.projectState.designs=Dt})}).catch(Et=>{Lo(O.t("message.CannotCreateNewProject",se)+": "+Et)}).finally(()=>{d&&Ce(!1).then(()=>{Y(!j)}),N(!1)})}}}})}function et(){const tt=M.getState().projectState.owner;if(i.uid!==tt)fn(O.t("message.CannotAddDesignToProjectOwnedByOthers",se));else{const it=M.getState().projectState.title;if(it){N(!0);const At=M.getState().projectState.type??Tr.SOLAR_PANEL_ARRAY,Mt=M.getState().projectState.thumbnailWidth??200,st=M.getState().projectState.counter??0;We(At,it,it+" "+st,Mt)}}}function vt(){i.uid&&St().then(()=>{gt.getState().set(tt=>{tt.showCloudFilePanel=!0})})}function ct(){Ee(!0)}function lt(){Ee(!1),Y(!j)}return t?h.jsx(h.Fragment,{children:g&&h.jsx(KHe,{openCloudFile:ot,deleteModelFromMap:we,likeModelFromMap:ye,pinModelFromMap:Te})}):h.jsxs(h.Fragment,{children:[k&&h.jsx(dQ,{}),h.jsx(Ypo,{saveToCloud:De,isLoading:()=>k,setTitle:ie,getTitle:()=>le,setTitleDialogVisible:ne,isTitleDialogVisible:()=>pe}),h.jsx(jpo,{signIn:Pe,signOut:Re}),u&&Z.current&&h.jsx(Lfo,{cloudFileArray:_,openCloudFile:_e,deleteCloudFile:dt,renameCloudFile:je}),d&&he.current&&h.jsx(Gpo,{projects:Q,setProjectState:Le,deleteProject:Ue,renameProject:Ne}),f&&h.jsx(Eot,{author:void 0,models:fe.current,openCloudFile:_e,closeCallback:()=>{o("showModelsGallery",!1),fe.current=void 0}}),p&&h.jsx(qfo,{openCloudFile:Ye}),g&&h.jsx(KHe,{openCloudFile:ot,deleteModelFromMap:we,likeModelFromMap:ye,pinModelFromMap:Te})]})},Jpo=Se.memo(Xpo);var Kpo={},qpo="@firebase/database",$po="0.11.0";/** +`,_po=Se.memo(({projects:t,setProjectState:e,deleteProject:n,renameProject:o})=>{const i=M(Eg),r=M(dn),a=M(bc),l=Se.useRef(null),s=m.useRef(null),c=s.current?s.current.clientWidth+40:680,u=s.current?s.current.clientHeight+100:600,[d,f]=m.useState({x:0,y:0}),[p,g]=m.useState(!1),[y,A]=m.useState(!1),[x,C]=m.useState({left:0,top:0,bottom:0,right:0}),[b,v]=m.useState(),[S,w]=m.useState(),T=m.useRef(null),P=m.useRef([...t]),[R,H]=m.useState(!1),[D,E]=m.useState(-1),{Search:L}=ns,{t:U}=jl(),F=Kt();m.useEffect(()=>{const _=()=>{f({x:Math.max(0,c-window.innerWidth),y:Math.min(0,window.innerHeight-u)})};return window.addEventListener("resize",_),()=>{window.removeEventListener("resize",_)}},[]),m.useEffect(()=>{t&&(P.current=[...t],H(!R))},[t]);const W=(_,J)=>{f({x:Math.max(J.x,c-window.innerWidth),y:Math.min(J.y,window.innerHeight-u)})},B=(_,J)=>{},k=()=>{gt.getState().set(_=>{_.showProjectListPanel=!1})},N=_=>{_r.confirm({title:U("projectListPanel.DoYouReallyWantToDeleteProject",F)+' "'+_+'"?',content:h.jsxs("span",{style:{color:"red",fontWeight:"bold"},children:[h.jsx(KG,{style:{marginRight:"6px"}}),U("word.Warning",F)+": "+U("message.ThisCannotBeUndone",F)]}),icon:h.jsx(WW,{}),onOk:()=>{n(_)}})},j=()=>{b&&S&&(o(b,S),w(void 0),H(!R)),g(!1)},Y=(_,J)=>{if(T.current){const{clientWidth:Q,clientHeight:ee}=window.document.documentElement,$=T.current.getBoundingClientRect();C({left:-$.left+J.x,right:Q-($.right-J.x),top:-$.top+J.y,bottom:ee-(($==null?void 0:$.bottom)-J.y)})}};return h.jsxs(h.Fragment,{children:[h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:U("word.Rename",F)}),open:p,onOk:j,onCancel:()=>{g(!1),w(void 0)},modalRender:_=>h.jsx(Vr,{disabled:!y,bounds:x,onStart:(J,Q)=>Y(J,Q),children:h.jsx("div",{ref:T,children:_})}),children:h.jsxs(en,{direction:"vertical",style:{width:"100%"},children:[h.jsx(ns,{placeholder:"Title",value:S||b,onPressEnter:j,onKeyDown:_=>{if(!JC.test(_.key))return _.preventDefault(),!1},onChange:_=>{w(_.target.value)}}),h.jsxs("span",{style:{fontSize:"11px",color:"red"},children:[h.jsx(KG,{style:{marginRight:"4px"}}),U("word.Caution",F)+": "+U("projectListPanel.IfSharedOrPublishedRenamingProjectBreaksExistingLinks",F),"."]})]})}),h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:d,onDrag:W,onStop:B,onMouseDown:()=>{r(_=>{_.selectedFloatingWindow="projectListPanel"})},children:h.jsx(jpo,{ref:l,style:{zIndex:a==="projectListPanel"?xc:14},children:h.jsxs(Ypo,{ref:s,children:[h.jsxs(Opo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:U("projectListPanel.MyProjects",F)+" ("+P.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{k()},onTouchStart:()=>{k()},children:U("word.Close",F)})]}),h.jsx("span",{style:{direction:"ltr"},children:h.jsx(L,{style:{width:"50%",paddingTop:"8px",paddingBottom:"8px"},title:U("projectListPanel.SearchByTitle",F),allowClear:!0,size:"small",enterButton:!0,onSearch:_=>{var J;if(t){P.current=[];for(const Q of t)(J=Q.title)!=null&&J.toLowerCase().includes(_.toLowerCase())&&P.current.push(Q);H(!R)}}})}),h.jsxs(Rd,{size:"small",style:{width:"100%",direction:"ltr",verticalAlign:"top"},dataSource:P.current,scroll:{y:360},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:[h.jsx(Pae,{title:`${U("word.Title",F)}`,dataIndex:"title",width:"50%",sortDirections:["ascend","descend","ascend"],sorter:(_,J)=>_.title.localeCompare(J.title),render:(_,J,Q)=>{const ee=[{key:"project-title",label:h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:!0,fontWeight:"bold",children:_}),h.jsx("hr",{})]})},{key:"open-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>e(J),children:U("word.Open",F)})},{key:"copy-title-to-clip-board",label:h.jsx(tn,{noPadding:!0,onClick:()=>{navigator.clipboard.writeText(_).then(()=>m2(U("projectListPanel.TitleCopiedToClipBoard",F)+"."))},children:U("projectListPanel.CopyTitle",F)})},{key:"rename-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>{v(_),g(!0)},children:U("word.Rename",F)})},{key:"delete-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>N(_),children:U("word.Delete",F)})},{key:"generate-project-link",label:h.jsx(tn,{noPadding:!0,onClick:()=>{const $=qp+"?client=web&userid="+i.uid+"&project="+encodeURIComponent(_);navigator.clipboard.writeText($).then(()=>m2(U("projectListPanel.ProjectLinkGeneratedInClipBoard",F)+"."))},children:U("projectListPanel.GenerateProjectLink",F)})}];return h.jsxs(en,{style:{width:"100%"},children:[h.jsx(W7,{menu:{items:ee},trigger:["hover"],children:h.jsx(EJe,{style:{fontSize:"12px",cursor:"pointer"},onMouseEnter:()=>{Q!==void 0&&E(Q)},onMouseLeave:()=>{E(-1)}})}),h.jsx(C6.Text,{title:U("word.Open",F),style:{fontSize:"12px",cursor:"pointer",verticalAlign:"top"},onClick:()=>{const $=window.getSelection();$&&$.toString().length>0||e(J)},children:_})]})},onCell:(_,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"title"),h.jsx(Pae,{title:`${U("word.Type",F)}`,dataIndex:"type",width:"25%",render:_=>h.jsx(C6.Text,{style:{fontSize:"12px",verticalAlign:"top"},children:_}),onCell:(_,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"type"),h.jsx(Pae,{title:`${U("word.Time",F)}`,dataIndex:"time",width:"25%",defaultSortOrder:"descend",sortDirections:["ascend","descend","ascend"],sorter:(_,J)=>_.timestamp-J.timestamp,render:_=>h.jsx(C6.Text,{style:{fontSize:"12px",verticalAlign:"top"},children:_}),onCell:(_,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"time")]})]})})})]})}),jy=(t,e,n)=>{m.useEffect(()=>{t&&(e(),n())},[t])},Vpo=({viewOnly:t=!1,canvas:e})=>{const n=M(dn),o=gt(Ah),i=M(Eg),r=M(Xs),a=M(wb),l=M(mq),s=M(ZAt),c=M(GBe),u=gt(Qwt),d=gt(d7t),f=gt(f7t),p=gt(h7t),g=gt(yq),y=M(yH),A=gt(W4t),x=gt(N4t),C=gt(_4t),b=gt(V4t),v=gt(X4t),S=gt(J4t),w=M(F4t),T=M(YBe),P=M(Q1e),R=M(XBe),H=gt(BBe),D=M(K4t),E=M(_Be),L=gt(U4t),U=gt(B4t),F=gt(j4t),W=gt(Y4t),B=gt(O4t),[k,N]=m.useState(!1),[j,Y]=m.useState(!1),[_,J]=m.useState([]),[Q,ee]=m.useState([]),[$,q]=m.useState(!1),[le,ie]=m.useState(y??"My Aladdin File"),[pe,ne]=m.useState(!1),Z=m.useRef(),he=m.useRef(),fe=m.useRef(),se=Kt();jy(A,ze,()=>o("saveAccountSettingsFlag",!1)),jy(x,at,()=>o("saveCloudFileFlag",!1)),jy(C,ut,()=>o("modelsMapFlag",!1)),jy(b,wt,()=>o("leaderboardFlag",!1)),jy(v,rt,()=>o("publishOnModelsMapFlag",!1)),jy(L,Qe,()=>o("createProjectFlag",!1)),jy(U,Oe,()=>o("saveProjectAsFlag",!1)),jy(W,ct,()=>o("showProjectsFlag",!1)),jy(B,lt,()=>o("updateProjectsFlag",!1)),jy(S,vt,()=>o("listCloudFilesFlag",!1)),jy(F,et,()=>o("curateDesignToProjectFlag",!1)),m.useEffect(()=>{const tt={apiKey:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",authDomain:"aladdin-316017.firebaseapp.com",projectId:"aladdin-316017",storageBucket:"aladdin-316017.appspot.com",databaseURL:"https://aladdin-316017.firebaseio.com",messagingSenderId:"169516488625",appId:"1:169516488625:web:bb0ae3c3f7c6e813250f90"};let it=ao.apps.length===0;return ao.apps.length===1&&ao.apps[0].name===JV.LOG_DATA&&(it=!0),it?ao.initializeApp(tt):ao.app(),ao.auth().onAuthStateChanged(At=>{const st=new URLSearchParams(window.location.search).get("title");n(At?ft=>{ft.user&&(ft.user.uid=At.uid,ft.user.displayName=At.displayName,ft.user.email=At.email,ft.user.photoURL=At.photoURL),ft.cloudFile=st??void 0}:ft=>{ft.cloudFile=st??void 0})}),de(),window.addEventListener("popstate",oe),()=>{window.removeEventListener("popstate",oe)}},[]);const oe=()=>{if(t)return;const tt=new URLSearchParams(window.location.search),it=tt.get("userid"),At=tt.get("title");it&&At&&Ye(it,At,!0)};m.useEffect(()=>{if(Z.current){const tt=[];Z.current.forEach((it,At)=>{tt.push({key:At.toString(),title:it.fileName,time:gc(new Date(it.timestamp)).format("MM/DD/YYYY hh:mm A"),timestamp:it.timestamp,userid:it.userid,action:""})}),tt.sort((it,At)=>At.timestamp-it.timestamp),J(tt)}},[Z.current]),m.useEffect(()=>{if(he.current){const tt=[];he.current.forEach((it,At)=>{tt.push({key:At.toString(),owner:it.owner,title:it.title,time:gc(new Date(it.timestamp)).format("MM/DD/YYYY hh:mm A"),timestamp:it.timestamp,description:it.description,dataColoring:it.dataColoring,selectedProperty:it.selectedProperty,sortDescending:it.sortDescending,xAxisNameScatterPlot:it.xAxisNameScatterPlot,yAxisNameScatterPlot:it.yAxisNameScatterPlot,dotSizeScatterPlot:it.dotSizeScatterPlot,thumbnailWidth:it.thumbnailWidth,type:it.type,designs:it.designs,ranges:it.ranges??[],filters:it.filters??[],hiddenParameters:it.hiddenParameters??dd.getDefaultHiddenParameters(it.type),counter:it.counter,action:""})}),tt.sort((it,At)=>At.timestamp-it.timestamp),ee(tt)}},[he.current,$]),m.useEffect(()=>{if(fe.current=new Map,i.aliases&&i.aliases.length>0){for(const tt of i.aliases)if(tt!==i.displayName){const it=E.get(tt);it&&(fe.current=new Map([...fe.current,...it]))}}if(i.displayName){const tt=E.get(i.displayName);tt&&(fe.current=new Map([...fe.current,...tt]))}},[E,i.displayName,i.aliases]),m.useEffect(()=>{ne(w)},[T]),m.useEffect(()=>{ie(y??"My Aladdin File")},[y]);const de=()=>{const tt=new URLSearchParams(window.location.search),it=tt.get("userid");if(it){const At=tt.get("title"),Mt=tt.get("project");Mt?(N(!0),Ctt(it,Mt,Le).finally(()=>{N(!1)}),At&&qe(it,At)):At&&Ye(it,At)}else n(At=>{At.cloudFile=void 0})},ve=()=>{n(tt=>{tt.objectTypeToAdd=z.None,tt.groupActionMode=!1})},Pe=()=>{const tt=new ao.auth.GoogleAuthProvider;ao.auth().signInWithPopup(tt).then(it=>{n(At=>{it.user&&(At.user.uid=it.user.uid,At.user.email=it.user.email,At.user.displayName=it.user.displayName,At.user.photoURL=it.user.photoURL,me({...At.user}).then(()=>{}))})}).catch(it=>{it.code!=="auth/popup-closed-by-user"&&it.code!=="auth/cancelled-popup-request"&&Lo(O.t("message.CannotSignIn",se)+": "+it)}),ve()},me=async tt=>{const it=ao.firestore();let At=!1,Mt=!1,st=rc.UNKNOWN,ft=Ua.UNKNOWN,Rt=[],zt=[],Xe=[],ht=!1,Je=0;tt.uid!==null&&(tt&&tt.email==="charles@intofuture.org"&&await it.collection("users").get().then(Ge=>{Je=Ge.size}),ht=await it.collection("users").doc(tt.uid).get().then(Ge=>{const xt=Ge.data();return xt?(At=!!xt.signFile,Mt=!!xt.noLogging,st=xt.schoolID?xt.schoolID:rc.UNKNOWN,ft=xt.classID?xt.classID:Ua.UNKNOWN,xt.likes&&(Rt=xt.likes),xt.published&&(zt=xt.published),xt.aliases&&(Xe=xt.aliases),!0):!1})),ht?(n(mt=>{mt.user.signFile=At,mt.user.noLogging=Mt,mt.user.schoolID=st,mt.user.classID=ft,mt.user.likes=Rt,mt.user.published=zt,mt.user.aliases=Xe}),gt.getState().set(mt=>{mt.userCount=Je}),tt.signFile=At,tt.noLogging=Mt,tt.schoolID=st,tt.classID=ft,tt.likes=Rt,tt.published=zt,tt.aliases=Xe):tt.uid&&it.collection("users").doc(tt.uid).set({uid:tt.uid,signFile:!!tt.signFile,noLogging:!!tt.noLogging,schoolID:tt.schoolID??rc.UNKNOWN,classID:tt.classID??Ua.UNKNOWN,since:gc(new Date).format("MM/DD/YYYY hh:mm A"),os:be.getOS()}).then(()=>{fn(O.t("message.YourAccountWasCreated",se))}).catch(mt=>{Lo(O.t("message.CannotCreateAccount",se)+": "+mt)})},Re=()=>{ao.auth().signOut().then(()=>{n(tt=>{tt.user.uid=null,tt.user.email=null,tt.user.displayName=null,tt.user.photoURL=null,tt.user.signFile=!1,tt.user.likes=[],tt.user.published=[],tt.user.aliases=[],tt.cloudFile=void 0}),gt.getState().set(tt=>{tt.showCloudFilePanel=!1,tt.showAccountSettingsPanel=!1,tt.showModelsGallery=!1,tt.showProjectListPanel=!1})}).catch(tt=>{Lo(O.t("message.CannotSignOut",se)+": "+tt)})};function ze(){i.uid&&ao.firestore().collection("users").doc(i.uid).update({signFile:!!i.signFile,schoolID:i.schoolID??rc.UNKNOWN,classID:i.classID??Ua.UNKNOWN}).then(()=>{fn(O.t("message.YourAccountSettingsWereSaved",se))}).catch(it=>{Lo(O.t("message.CannotSaveYourAccountSettings",se)+": "+it)})}const Ae=async()=>{N(!0),await ao.firestore().collection("models").get().then(tt=>{const it=new Map;return tt.forEach(At=>{var st;const Mt=At.data();if(Mt){const ft=new Map;for(const Rt in Mt)Mt[Rt].countryCode||(st=Mt[Rt].address)!=null&&st.endsWith("USA")&&(Mt[Rt].countryCode="US"),ft.set(Rt,Mt[Rt]);it.set(At.id,ft)}}),n(At=>{At.modelSites=it}),it}).catch(tt=>{Lo(O.t("message.CannotLoadModelsOnMap",se)+": "+tt)}).finally(()=>{N(!1)})},re=async()=>{await ao.firestore().collection("board").doc("info").get().then(tt=>{if(tt.exists){const it=tt.data();it&&it.latestModel&&n(At=>{var ft;let Mt=!1;const st=it.latestModel;st.author&&(Mt=!!((ft=At.peopleModels.get(st.author))!=null&&ft.get(be.getModelKey(st)))),At.latestModelSite=Mt?st:void 0})}}).catch(tt=>{console.log(tt)})},ge=async()=>{N(!0),await ao.firestore().collection("board").doc("people").get().then(tt=>{const it=tt.data();if(it){const At=new Map;for(const Mt in it)At.set(Mt,new Map(Object.entries(it[Mt])));n(Mt=>{Mt.peopleModels=At})}}).catch(tt=>{Lo(O.t("message.CannotLoadLeaderboard",se)+": "+tt)}).finally(()=>{N(!1)})},we=(tt,it)=>{i&&i.uid&&(ao.firestore().collection("models").doc(be.getLatLngKey(tt.latitude,tt.longitude)).update({[be.getModelKey(tt)]:ao.firestore.FieldValue.delete()}).then(()=>{m2(O.t("message.ModelDeletedFromMap",se)),it&&it()}).catch(At=>{Lo(O.t("message.CannotDeleteModelFromMap",se)+": "+At)}),ao.firestore().collection("board").doc("people").update({[(tt.author??"Anonymous")+"."+be.getModelKey(tt)]:ao.firestore.FieldValue.delete()}).then(()=>{n(At=>{At.peopleModels&&(At.peopleModels.delete(be.getModelKey(tt)),gt.getState().set(Mt=>{Mt.leaderboardFlag=!0}))})}),ao.firestore().collection("users").doc(i.uid).update({published:ao.firestore.FieldValue.arrayRemove(tt.title)}).then(()=>{n(At=>{if(At.user&&At.user.published&&At.user.published.includes(tt.title)){const Mt=At.user.published.indexOf(tt.title);Mt>=0&&At.user.published.splice(Mt,1)}})}))},ye=(tt,it,At)=>{if(i&&i.uid){const Mt=be.getModelKey(tt);ao.firestore().collection("users").doc(i.uid).update(it?{likes:ao.firestore.FieldValue.arrayUnion(Mt)}:{likes:ao.firestore.FieldValue.arrayRemove(Mt)}).then(()=>{}).catch(ft=>{Lo(O.t("message.CannotLikeModelFromMap",se)+": "+ft)});const st=Mt+".likeCount";ao.firestore().collection("models").doc(be.getLatLngKey(tt.latitude,tt.longitude)).update(it?{[st]:ao.firestore.FieldValue.increment(1)}:{[st]:ao.firestore.FieldValue.increment(-1)}).then(()=>{At&&At()}).catch(ft=>{Lo(O.t("message.CannotLikeModelFromMap",se)+": "+ft)})}},Te=(tt,it,At)=>{i&&i.uid&&ao.firestore().collection("models").doc(be.getLatLngKey(tt.latitude,tt.longitude)).update({[be.getModelKey(tt)+".pinned"]:it}).then(()=>{At&&At()}).catch(()=>{})},Ie=tt=>{i&&i.uid&&ao.firestore().collection("models").doc(be.getLatLngKey(tt.latitude,tt.longitude)).update({[be.getModelKey(tt)+".clickCount"]:ao.firestore.FieldValue.increment(1)}).then(()=>{}).catch(()=>{})},Ce=async tt=>{i.uid&&(tt||N(!0),he.current=await ao.firestore().collection("users").doc(i.uid).collection("projects").get().then(it=>{const At=[];return it.forEach(Mt=>{const st=Mt.data();At.push({owner:i.uid,title:Mt.id,timestamp:st.timestamp,description:st.description,dataColoring:st.dataColoring,selectedProperty:st.selectedProperty,sortDescending:st.sortDescending,xAxisNameScatterPlot:st.xAxisNameScatterPlot,yAxisNameScatterPlot:st.yAxisNameScatterPlot,dotSizeScatterPlot:st.dotSizeScatterPlot,thumbnailWidth:st.thumbnailWidth,type:st.type,designs:st.designs??[],ranges:st.ranges??[],filters:st.filters??[],hiddenParameters:st.hiddenParameters??dd.getDefaultHiddenParameters(st.type),counter:st.counter??0})}),At}).catch(it=>{Lo(O.t("message.CannotOpenYourProjects",se)+": "+it)}).finally(()=>{tt||N(!1)}))},Ee=tt=>{i.uid&&Ce(!tt).then(()=>{tt&>.getState().set(it=>{it.showProjectListPanel=!0}),q(!$)})},Ue=tt=>{i.uid&&ao.firestore().collection("users").doc(i.uid).collection("projects").doc(tt).delete().then(()=>{if(he.current&&i.uid){for(const it of he.current)if(it.title===tt&&it.designs){for(const At of it.designs)n(Mt=>{At.title===Mt.cloudFile&&(Mt.cloudFile=void 0)}),ao.firestore().collection("users").doc(i.uid).collection("designs").doc(At.title).delete().then(()=>{}).catch(Mt=>{Lo(O.t("message.CannotDeleteCloudFile",se)+": "+Mt)});break}he.current=he.current.filter(it=>it.title!==tt),Y(!j)}n(it=>{tt===it.projectState.title&&(it.projectState.title=null,it.projectState.description=null,it.projectState.dataColoring=n9.ALL,it.projectState.selectedProperty=null,it.projectState.sortDescending=!1,it.projectState.xAxisNameScatterPlot=null,it.projectState.yAxisNameScatterPlot=null,it.projectState.dotSizeScatterPlot=5,it.projectState.thumbnailWidth=200,it.projectState.counter=0,it.projectState.designs=[],it.projectState.ranges=[],it.projectState.filters=[],it.projectState.hiddenParameters=dd.getDefaultHiddenParameters(it.projectState.type),it.designProjectType=null,it.projectView=!1)})}).catch(it=>{Lo(O.t("message.CannotDeleteProject",se)+": "+it)})},Ne=(tt,it)=>{Ce(!1).then(()=>{let At=!1;if(he.current){for(const Mt of he.current)if(Mt.title===it){At=!0;break}}if(At)fn(O.t("message.TitleUsedChooseDifferentOne",se)+": "+it);else{if(!i.uid)return;const Mt=ao.firestore().collection("users").doc(i.uid).collection("projects");Mt.doc(tt).get().then(st=>{if(st&&st.exists){const ft=st.data();if(ft&&i.uid){const Rt={...ft};if(ft.designs&&ft.designs.length>0){const zt=rCe(it,ft.designs)??[];for(const[Xe,ht]of ft.designs.entries())aCe(ht.title,zt[Xe].title,ft.owner,i.uid);Rt.designs=zt,n(Xe=>{Xe.projectState.designs=zt})}Mt.doc(it).set(Rt).then(()=>{if(Mt.doc(tt).delete().then(()=>{}),he.current){const zt=[];for(const Xe of he.current)Xe.title===tt?zt.push({owner:Xe.owner,timestamp:Xe.timestamp,title:it,description:Xe.description,type:Xe.type,designs:Xe.designs,ranges:Xe.ranges??null,filters:Xe.filters??null,hiddenParameters:Xe.hiddenParameters,counter:Xe.counter}):zt.push(Xe);he.current=zt,Y(!j)}n(zt=>{zt.projectState.title===tt&&(zt.projectState.title=it)})})}}}).catch(st=>{Lo(O.t("message.CannotRenameProject",se)+": "+st)})}})},Le=tt=>{n(it=>{it.projectState={...tt},it.projectImages.clear(),it.projectView=!0}),gt.getState().set(it=>{it.projectImagesUpdateFlag=!it.projectImagesUpdateFlag,it.updateProjectsFlag=!0})},qe=(tt,it)=>{tt&&it&&(N(!0),MX(tt,it,!0,!0,t).finally(()=>{N(!1)}))},We=(tt,it,At,Mt)=>{if(!i.uid||!e)return;const st=be.resizeCanvas(e,Mt).toDataURL(),ft=Rtt(tt,At,st);ao.firestore().collection("users").doc(i.uid).collection("projects").doc(it).update({designs:ao.firestore.FieldValue.arrayUnion(ft),counter:ao.firestore.FieldValue.increment(1)}).then(()=>{n(Rt=>{var zt;(zt=Rt.projectState.designs)==null||zt.push(ft),Rt.projectState.counter++,Rt.designProjectType=Rt.projectState.type,Rt.cloudFile=ft.title}),Fe(At,!0,!0)}).catch(Rt=>{Lo(O.t("message.CannotAddDesignToProject",se)+": "+Rt)}).finally(()=>{N(!1)})},De=(tt,it,At)=>{if(!i.uid)return;const Mt=tt.trim();if(Mt.length===0){Lo(O.t("menu.file.SavingAbortedMustHaveValidTitle",se)+".");return}N(!0),At?St().then(()=>{let st=!1;if(Z.current){for(const ft of Z.current)if(ft.fileName===Mt){st=!0;break}}st?_r.confirm({title:`${O.t("message.CloudFileWithTitleExistsDoYouWantToOverwrite",se)}`,icon:h.jsx(WW,{}),onOk:()=>{Fe(Mt,it)},onCancel:()=>{n(ft=>{ft.showCloudFileTitleDialogFlag=!ft.showCloudFileTitleDialogFlag,ft.showCloudFileTitleDialog=!0})},okText:`${O.t("word.Yes",se)}`,cancelText:`${O.t("word.No",se)}`}):Fe(Mt,it)}):Fe(Mt,it),ne(!1)},Fe=(tt,it,At)=>{if(i.uid)try{const Mt=ao.firestore().collection("users").doc(i.uid);Mt&&(D&>.getState().set(st=>{st.waiting=!0}),Mt.collection(At?"designs":"files").doc(tt).set(c()).then(()=>{if(it||(n(st=>{st.cloudFile=tt}),gt.getState().setChanged(!1)),D)D==="CREATE_NEW_FILE"?R():P(D);else if(!At){const st=qp+"?client=web&userid="+i.uid+"&title="+encodeURIComponent(tt);window.history.pushState({},document.title,st)}u&&St().then(()=>{Y(!j)})}).catch(st=>{Lo(O.t("message.CannotSaveYourFileToCloud",se)+": "+st)}).finally(()=>{N(!1)}))}catch(Mt){Lo(O.t("message.CannotSaveYourFileToCloud",se)+": "+Mt),N(!1)}},_e=(tt,it)=>{H?_r.confirm({title:`${O.t("message.DoYouWantToSaveChanges",se)}`,icon:h.jsx(qm,{}),onOk:()=>{y?(De(y,!0,!1),Ye(tt,it)):n(At=>{At.showCloudFileTitleDialogFlag=!At.showCloudFileTitleDialogFlag,At.showCloudFileTitleDialog=!0})},onCancel:()=>{Ye(tt,it)},okText:`${O.t("word.Yes",se)}`,cancelText:`${O.t("word.No",se)}`}):Ye(tt,it)},ot=tt=>{H?_r.confirm({title:`${O.t("message.DoYouWantToSaveChanges",se)}`,icon:h.jsx(qm,{}),onOk:()=>{y?(De(y,!0,!1),Ye(tt.userid,tt.title),Ie(tt)):n(it=>{it.showCloudFileTitleDialogFlag=!it.showCloudFileTitleDialogFlag,it.showCloudFileTitleDialog=!0})},onCancel:()=>{Ye(tt.userid,tt.title),Ie(tt)},okText:`${O.t("word.Yes",se)}`,cancelText:`${O.t("word.No",se)}`}):(Ye(tt.userid,tt.title),Ie(tt))},Ye=(tt,it,At)=>{tt&&it&&(N(!0),MX(tt,it,!1,At,t).finally(()=>{N(!1)}))},St=async()=>{i.uid&&(N(!0),Z.current=await ao.firestore().collection("users").doc(i.uid).collection("files").get().then(tt=>{const it=[];return tt.forEach(At=>{const Mt=At.data();it.push({timestamp:Mt.timestamp,fileName:At.id,userid:i.uid,uuid:Mt.docid})}),it}).catch(tt=>{Lo(O.t("message.CannotOpenCloudFolder",se)+": "+tt)}).finally(()=>{N(!1)}))},dt=(tt,it)=>{ao.firestore().collection("users").doc(tt).collection("files").doc(it).delete().then(()=>{J(_.filter(At=>At.userid!==tt||At.title!==it)),n(At=>{it===At.cloudFile&&(At.cloudFile=void 0)})}).catch(At=>{Lo(O.t("message.CannotDeleteCloudFile",se)+": "+At)})},je=(tt,it,At)=>{const Mt=ao.firestore().collection("users").doc(tt).collection("files");Mt.doc(it).get().then(st=>{if(st&&st.exists){const ft=st.data();ft&&Mt.doc(At).set(ft).then(()=>{Mt.doc(it).delete().then(()=>{});for(const zt of _)if(zt.userid===tt&&zt.title===it){zt.title=At;break}J([..._]),n(zt=>{zt.cloudFile===it&&(zt.cloudFile=At)});const Rt=new URLSearchParams(window.location.search);if(Rt.get("title")===it&&Rt.get("userid")===i.uid){const zt=qp+"?client=web&userid="+i.uid+"&title="+encodeURIComponent(At);window.history.pushState({},document.title,zt)}})}}).catch(st=>{Lo(O.t("message.CannotRenameCloudFile",se)+": "+st)})};function at(){y&&(De(y,!1,!1),ie(y))}function ut(){Ae().then(()=>{re().then(()=>{})})}function wt(){ge().then(()=>{re().then(()=>{})})}function rt(){if(i&&i.uid&&le){const tt=new URLSearchParams(window.location.search);if(tt.get("userid")===i.uid&&tt.get("title")===le){const it={latitude:r,longitude:a,address:l??null,countryCode:s??null,type:M.getState().modelType,author:M.getState().modelAuthor??i.displayName,userid:i.uid,title:le,label:M.getState().modelLabel,description:M.getState().modelDescription,timeCreated:Date.now()},At=be.getModelKey(it),Mt=ao.firestore().collection("models");if(Mt){const st=ao.storage().ref();e&&be.resizeCanvas(e,200).toBlob(Rt=>{if(Rt){const zt={contentType:"image/png"},Xe=st.child("images/"+At+".png").put(Rt,zt);Xe.on(ao.storage.TaskEvent.STATE_CHANGED,ht=>{const Je=ht.bytesTransferred/ht.totalBytes*100;Je>0&&fn(O.t("word.Upload",se)+": "+Je+"%")},ht=>{Lo("Storage: "+ht)},()=>{Xe.snapshot.ref.getDownloadURL().then(ht=>{const Je={...it,thumbnailUrl:ht},mt=Mt.doc(be.getLatLngKey(r,a));mt.get().then(Ge=>{if(Ge.exists){const xt=Ge.data();xt&&xt[At]?mt.set({[At]:Je},{merge:!0}).then(()=>{m2(O.t("menu.file.UpdatedOnModelsMap",se)+".")}):mt.set({[At]:Je},{merge:!0}).then(()=>{m2(O.t("menu.file.PublishedOnModelsMap",se)+".")})}else mt.set({[At]:Je},{merge:!0}).then(()=>{m2(O.t("menu.file.PublishedOnModelsMap",se)+".")})}).catch(Ge=>{Lo(O.t("message.CannotPublishModelOnMap",se)+": "+Ge)}),ao.firestore().collection("board").doc("people").update({[(Je.author??"Anonymous")+"."+be.getModelKey(Je)]:Je}).then(()=>{n(Ge=>{if(Ge.peopleModels){const xt=Ge.peopleModels.get(Je.author??"Anonymous");xt&&xt.set(be.getModelKey(Je),Je)}})}),ao.firestore().collection("board").doc("info").set({latestModel:Je},{merge:!0}).then(()=>{})})})}})}ao.firestore().collection("users").doc(i.uid).update(M.getState().modelAuthor===i.displayName?{published:ao.firestore.FieldValue.arrayUnion(le)}:{published:ao.firestore.FieldValue.arrayUnion(le),aliases:ao.firestore.FieldValue.arrayUnion(M.getState().modelAuthor)}).then(()=>{n(st=>{st.user&&(st.user.published||(st.user.published=[]),st.user.published.includes(le)||st.user.published.push(le),st.user.aliases||(st.user.aliases=[]),st.modelAuthor&&!st.user.aliases.includes(st.modelAuthor)&&st.modelAuthor!==i.displayName&&st.user.aliases.push(st.modelAuthor))})})}}}function Qe(){if(!i||!i.uid)return;const tt=gt.getState().projectTitle;if(!tt){Lo(O.t("message.CannotCreateNewProjectWithoutTitle",se)+".");return}const it=tt.trim();if(it.length===0){Lo(O.t("message.CannotCreateNewProjectWithoutTitle",se)+".");return}Ce(!1).then(()=>{let At=!1;if(he.current){for(const Mt of he.current)if(Mt.title===it){At=!0;break}}if(At)fn(O.t("message.TitleUsedChooseDifferentOne",se)+": "+it);else if(i&&i.uid){const Mt=gt.getState().projectType??Tr.SOLAR_PANEL_ARRAY,st=gt.getState().projectDescription??null,ft=new Date().getTime();ao.firestore().collection("users").doc(i.uid).collection("projects").doc(it).set({owner:i.uid,timestamp:ft,type:Mt,description:st,counter:0,designs:[],hiddenParameters:dd.getDefaultHiddenParameters(Mt)}).then(()=>{n(zt=>{zt.projectView=!0,zt.projectState.owner=i.uid,zt.projectState.type=Mt,zt.projectState.title=tt,zt.projectState.description=st,zt.projectState.counter=0,zt.projectState.dataColoring=n9.ALL,zt.projectState.selectedProperty=null,zt.projectState.sortDescending=!1,zt.projectState.xAxisNameScatterPlot=null,zt.projectState.yAxisNameScatterPlot=null,zt.projectState.dotSizeScatterPlot=5,zt.projectState.thumbnailWidth=200,zt.projectState.designs=[],zt.projectState.ranges=[],zt.projectState.filters=[],zt.projectState.hiddenParameters=dd.getDefaultHiddenParameters(zt.projectState.type)})}).catch(zt=>{Lo(O.t("message.CannotCreateNewProject",se)+": "+zt)}).finally(()=>{d&&Ce(!1).then(()=>{Y(!j)}),N(!1)})}})}function Oe(){if(!i||!i.uid)return;const tt=gt.getState().projectTitle;if(!tt){Lo(O.t("message.CannotCreateNewProjectWithoutTitle",se)+".");return}const it=tt.trim();if(it.length===0){Lo(O.t("message.CannotCreateNewProjectWithoutTitle",se)+".");return}Ce(!1).then(()=>{let At=!1;if(he.current){for(const Mt of he.current)if(Mt.title===it){At=!0;break}}if(At)fn(O.t("message.TitleUsedChooseDifferentOne",se)+": "+it);else if(i&&i.uid){const Mt=M.getState().projectState.designs;if(Mt){const st=gt.getState().projectType,ft=gt.getState().projectDescription,Rt=M.getState().projectState.owner,zt=new Date().getTime(),Xe=M.getState().projectState.counter,ht=M.getState().projectState.dataColoring??null,Je=M.getState().projectState.selectedProperty??null,mt=!!M.getState().projectState.sortDescending,Ge=M.getState().projectState.xAxisNameScatterPlot??"rowWidth",xt=M.getState().projectState.yAxisNameScatterPlot??"rowWidth",It=M.getState().projectState.dotSizeScatterPlot??5,Tt=M.getState().projectState.thumbnailWidth??200,Dt=rCe(it,Mt)??[];for(const[Et,an]of Mt.entries())aCe(an.title,Dt[Et].title,Rt,i.uid);const Lt=M.getState().projectImages;if(Lt&&Lt.size>0){for(const[Et,an]of Mt.entries()){const Jt=Lt.get(an.title);Jt&&(Dt[Et].thumbnail=jYn(Jt))}ao.firestore().collection("users").doc(i.uid).collection("projects").doc(it).set({owner:i.uid,timestamp:zt,type:st,description:ft,counter:Xe,dataColoring:ht,selectedProperty:Je,sortDescending:mt,xAxisNameScatterPlot:Ge,yAxisNameScatterPlot:xt,dotSizeScatterPlot:It,thumbnailWidth:Tt,designs:Dt,ranges:M.getState().projectState.ranges??null,filters:M.getState().projectState.filters??null,hiddenParameters:M.getState().projectState.hiddenParameters}).then(()=>{n(Et=>{Et.projectView=!0,Et.projectState.owner=i.uid,Et.projectState.type=st,Et.projectState.title=tt,Et.projectState.description=ft,Et.projectState.designs=Dt})}).catch(Et=>{Lo(O.t("message.CannotCreateNewProject",se)+": "+Et)}).finally(()=>{d&&Ce(!1).then(()=>{Y(!j)}),N(!1)})}}}})}function et(){const tt=M.getState().projectState.owner;if(i.uid!==tt)fn(O.t("message.CannotAddDesignToProjectOwnedByOthers",se));else{const it=M.getState().projectState.title;if(it){N(!0);const At=M.getState().projectState.type??Tr.SOLAR_PANEL_ARRAY,Mt=M.getState().projectState.thumbnailWidth??200,st=M.getState().projectState.counter??0;We(At,it,it+" "+st,Mt)}}}function vt(){i.uid&&St().then(()=>{gt.getState().set(tt=>{tt.showCloudFilePanel=!0})})}function ct(){Ee(!0)}function lt(){Ee(!1),Y(!j)}return t?h.jsx(h.Fragment,{children:g&&h.jsx(KHe,{openCloudFile:ot,deleteModelFromMap:we,likeModelFromMap:ye,pinModelFromMap:Te})}):h.jsxs(h.Fragment,{children:[k&&h.jsx(dQ,{}),h.jsx(Bpo,{saveToCloud:De,isLoading:()=>k,setTitle:ie,getTitle:()=>le,setTitleDialogVisible:ne,isTitleDialogVisible:()=>pe}),h.jsx(Upo,{signIn:Pe,signOut:Re}),u&&Z.current&&h.jsx(kfo,{cloudFileArray:_,openCloudFile:_e,deleteCloudFile:dt,renameCloudFile:je}),d&&he.current&&h.jsx(_po,{projects:Q,setProjectState:Le,deleteProject:Ue,renameProject:Ne}),f&&h.jsx(Eot,{author:void 0,models:fe.current,openCloudFile:_e,closeCallback:()=>{o("showModelsGallery",!1),fe.current=void 0}}),p&&h.jsx(Jfo,{openCloudFile:Ye}),g&&h.jsx(KHe,{openCloudFile:ot,deleteModelFromMap:we,likeModelFromMap:ye,pinModelFromMap:Te})]})},Gpo=Se.memo(Vpo);var Xpo={},Jpo="@firebase/database",Kpo="0.11.0";/** * @license * Copyright 2019 Google LLC * @@ -7269,7 +7269,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Qpo=function(){function t(e){this.domStorage_=e,this.prefix_="firebase:"}return t.prototype.set=function(e,n){n==null?this.domStorage_.removeItem(this.prefixedName_(e)):this.domStorage_.setItem(this.prefixedName_(e),Du(n))},t.prototype.get=function(e){var n=this.domStorage_.getItem(this.prefixedName_(e));return n==null?null:rF(n)},t.prototype.remove=function(e){this.domStorage_.removeItem(this.prefixedName_(e))},t.prototype.prefixedName_=function(e){return this.prefix_+e},t.prototype.toString=function(){return this.domStorage_.toString()},t}();/** + */var qpo=function(){function t(e){this.domStorage_=e,this.prefix_="firebase:"}return t.prototype.set=function(e,n){n==null?this.domStorage_.removeItem(this.prefixedName_(e)):this.domStorage_.setItem(this.prefixedName_(e),Du(n))},t.prototype.get=function(e){var n=this.domStorage_.getItem(this.prefixedName_(e));return n==null?null:rF(n)},t.prototype.remove=function(e){this.domStorage_.removeItem(this.prefixedName_(e))},t.prototype.prefixedName_=function(e){return this.prefix_+e},t.prototype.toString=function(){return this.domStorage_.toString()},t}();/** * @license * Copyright 2017 Google LLC * @@ -7284,7 +7284,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Zpo=function(){function t(){this.cache_={},this.isInMemoryStorage=!0}return t.prototype.set=function(e,n){n==null?delete this.cache_[e]:this.cache_[e]=n},t.prototype.get=function(e){return Rg(this.cache_,e)?this.cache_[e]:null},t.prototype.remove=function(e){delete this.cache_[e]},t}();/** + */var $po=function(){function t(){this.cache_={},this.isInMemoryStorage=!0}return t.prototype.set=function(e,n){n==null?delete this.cache_[e]:this.cache_[e]=n},t.prototype.get=function(e){return Rg(this.cache_,e)?this.cache_[e]:null},t.prototype.remove=function(e){delete this.cache_[e]},t}();/** * @license * Copyright 2017 Google LLC * @@ -7299,7 +7299,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Lot=function(t){try{if(typeof window<"u"&&typeof window[t]<"u"){var e=window[t];return e.setItem("firebase:sentinel","cache"),e.removeItem("firebase:sentinel"),new Qpo(e)}}catch{}return new Zpo},Vv=Lot("localStorage"),Vde=Lot("sessionStorage");/** + */var Lot=function(t){try{if(typeof window<"u"&&typeof window[t]<"u"){var e=window[t];return e.setItem("firebase:sentinel","cache"),e.removeItem("firebase:sentinel"),new qpo(e)}}catch{}return new $po},Vv=Lot("localStorage"),Vde=Lot("sessionStorage");/** * @license * Copyright 2017 Google LLC * @@ -7314,7 +7314,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var CC=new Uye("@firebase/database"),Wot=function(){var t=1;return function(){return t++}}(),Not=function(t){var e=FLn(t),n=new zLn;n.update(e);var o=n.digest();return kye.encodeByteArray(o)},WN=function(){for(var t=[],e=0;en?o.push(t.substring(i,n)):o.push(t.substring(i,i+e));return o};function Vu(t,e){for(var n in t)t.hasOwnProperty(n)&&e(n,t[n])}var jot=function(t){ei(!jZ(t),"Invalid JSON number");var e=11,n=52,o=(1<=Math.pow(2,1-o)?(l=Math.min(Math.floor(Math.log(t)/Math.LN2),o),r=l+o,a=Math.round(t*Math.pow(2,n-l)-Math.pow(2,n))):(r=0,a=Math.round(t/Math.pow(2,1-o-n))));var c=[];for(s=n;s;s-=1)c.push(a%2?1:0),a=Math.floor(a/2);for(s=e;s;s-=1)c.push(r%2?1:0),r=Math.floor(r/2);c.push(i?1:0),c.reverse();var u=c.join(""),d="";for(s=0;s<64;s+=8){var f=parseInt(u.substr(s,8),2).toString(16);f.length===1&&(f="0"+f),d=d+f}return d.toLowerCase()},o1o=function(){return!!(typeof window=="object"&&window.chrome&&window.chrome.extension&&!/^chrome/.test(window.location.href))},i1o=function(){return typeof Windows=="object"&&typeof Windows.UI=="object"};function r1o(t,e){var n="Unknown Error";t==="too_big"?n="The data requested exceeds the maximum size that can be accessed with a single request.":t==="permission_denied"?n="Client doesn't have permission to access the desired data.":t==="unavailable"&&(n="The service is unavailable");var o=new Error(t+" at "+e._path.toString()+": "+n);return o.code=t.toUpperCase(),o}var a1o=new RegExp("^-?(0*)\\d{1,10}$"),Yot=-2147483648,l9e=2147483647,_X=function(t){if(a1o.test(t)){var e=Number(t);if(e>=Yot&&e<=l9e)return e}return null},pM=function(t){try{t()}catch(e){setTimeout(function(){var n=e.stack||"";throw ff("Exception was thrown by user callback.",n),e},Math.floor(0))}},l1o=function(){var t=typeof window=="object"&&window.navigator&&window.navigator.userAgent||"";return t.search(/googlebot|google webmaster tools|bingbot|yahoo! slurp|baiduspider|yandexbot|duckduckbot/i)>=0},HE=function(t,e){var n=setTimeout(t,e);return typeof n=="object"&&n.unref&&n.unref(),n};/** + */var CC=new Uye("@firebase/database"),Wot=function(){var t=1;return function(){return t++}}(),Not=function(t){var e=ELn(t),n=new MLn;n.update(e);var o=n.digest();return kye.encodeByteArray(o)},WN=function(){for(var t=[],e=0;en?o.push(t.substring(i,n)):o.push(t.substring(i,i+e));return o};function Vu(t,e){for(var n in t)t.hasOwnProperty(n)&&e(n,t[n])}var jot=function(t){ei(!jZ(t),"Invalid JSON number");var e=11,n=52,o=(1<=Math.pow(2,1-o)?(l=Math.min(Math.floor(Math.log(t)/Math.LN2),o),r=l+o,a=Math.round(t*Math.pow(2,n-l)-Math.pow(2,n))):(r=0,a=Math.round(t/Math.pow(2,1-o-n))));var c=[];for(s=n;s;s-=1)c.push(a%2?1:0),a=Math.floor(a/2);for(s=e;s;s-=1)c.push(r%2?1:0),r=Math.floor(r/2);c.push(i?1:0),c.reverse();var u=c.join(""),d="";for(s=0;s<64;s+=8){var f=parseInt(u.substr(s,8),2).toString(16);f.length===1&&(f="0"+f),d=d+f}return d.toLowerCase()},t1o=function(){return!!(typeof window=="object"&&window.chrome&&window.chrome.extension&&!/^chrome/.test(window.location.href))},n1o=function(){return typeof Windows=="object"&&typeof Windows.UI=="object"};function o1o(t,e){var n="Unknown Error";t==="too_big"?n="The data requested exceeds the maximum size that can be accessed with a single request.":t==="permission_denied"?n="Client doesn't have permission to access the desired data.":t==="unavailable"&&(n="The service is unavailable");var o=new Error(t+" at "+e._path.toString()+": "+n);return o.code=t.toUpperCase(),o}var i1o=new RegExp("^-?(0*)\\d{1,10}$"),Yot=-2147483648,l9e=2147483647,_X=function(t){if(i1o.test(t)){var e=Number(t);if(e>=Yot&&e<=l9e)return e}return null},pM=function(t){try{t()}catch(e){setTimeout(function(){var n=e.stack||"";throw ff("Exception was thrown by user callback.",n),e},Math.floor(0))}},r1o=function(){var t=typeof window=="object"&&window.navigator&&window.navigator.userAgent||"";return t.search(/googlebot|google webmaster tools|bingbot|yahoo! slurp|baiduspider|yandexbot|duckduckbot/i)>=0},HE=function(t,e){var n=setTimeout(t,e);return typeof n=="object"&&n.unref&&n.unref(),n};/** * @license * Copyright 2021 Google LLC * @@ -7329,7 +7329,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var s1o=function(){function t(e,n){var o=this;this.appName_=e,this.appCheckProvider=n,this.appCheck=n==null?void 0:n.getImmediate({optional:!0}),this.appCheck||n==null||n.get().then(function(i){return o.appCheck=i})}return t.prototype.getToken=function(e){var n=this;return this.appCheck?this.appCheck.getToken(e):new Promise(function(o,i){setTimeout(function(){n.appCheck?n.getToken(e).then(o,i):o(null)},0)})},t.prototype.addTokenChangeListener=function(e){var n;(n=this.appCheckProvider)===null||n===void 0||n.get().then(function(o){return o.addTokenListener(e)})},t.prototype.notifyForInvalidToken=function(){ff('Provided AppCheck credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly.')},t}();/** + */var a1o=function(){function t(e,n){var o=this;this.appName_=e,this.appCheckProvider=n,this.appCheck=n==null?void 0:n.getImmediate({optional:!0}),this.appCheck||n==null||n.get().then(function(i){return o.appCheck=i})}return t.prototype.getToken=function(e){var n=this;return this.appCheck?this.appCheck.getToken(e):new Promise(function(o,i){setTimeout(function(){n.appCheck?n.getToken(e).then(o,i):o(null)},0)})},t.prototype.addTokenChangeListener=function(e){var n;(n=this.appCheckProvider)===null||n===void 0||n.get().then(function(o){return o.addTokenListener(e)})},t.prototype.notifyForInvalidToken=function(){ff('Provided AppCheck credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly.')},t}();/** * @license * Copyright 2017 Google LLC * @@ -7344,7 +7344,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var c1o=function(){function t(e,n,o){var i=this;this.appName_=e,this.firebaseOptions_=n,this.authProvider_=o,this.auth_=null,this.auth_=o.getImmediate({optional:!0}),this.auth_||o.onInit(function(r){return i.auth_=r})}return t.prototype.getToken=function(e){var n=this;return this.auth_?this.auth_.getToken(e).catch(function(o){return o&&o.code==="auth/token-not-initialized"?(wd("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(o)}):new Promise(function(o,i){setTimeout(function(){n.auth_?n.getToken(e).then(o,i):o(null)},0)})},t.prototype.addTokenChangeListener=function(e){this.auth_?this.auth_.addAuthTokenListener(e):this.authProvider_.get().then(function(n){return n.addAuthTokenListener(e)})},t.prototype.removeTokenChangeListener=function(e){this.authProvider_.get().then(function(n){return n.removeAuthTokenListener(e)})},t.prototype.notifyForInvalidToken=function(){var e='Provided authentication credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly. ';"credential"in this.firebaseOptions_?e+='Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':"serviceAccount"in this.firebaseOptions_?e+='Make sure the "serviceAccount" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':e+='Make sure the "apiKey" and "databaseURL" properties provided to initializeApp() match the values provided for your app at https://console.firebase.google.com/.',ff(e)},t}(),ME=function(){function t(e){this.accessToken=e}return t.prototype.getToken=function(e){return Promise.resolve({accessToken:this.accessToken})},t.prototype.addTokenChangeListener=function(e){e(this.accessToken)},t.prototype.removeTokenChangeListener=function(e){},t.prototype.notifyForInvalidToken=function(){},t.OWNER="owner",t}();/** + */var l1o=function(){function t(e,n,o){var i=this;this.appName_=e,this.firebaseOptions_=n,this.authProvider_=o,this.auth_=null,this.auth_=o.getImmediate({optional:!0}),this.auth_||o.onInit(function(r){return i.auth_=r})}return t.prototype.getToken=function(e){var n=this;return this.auth_?this.auth_.getToken(e).catch(function(o){return o&&o.code==="auth/token-not-initialized"?(wd("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(o)}):new Promise(function(o,i){setTimeout(function(){n.auth_?n.getToken(e).then(o,i):o(null)},0)})},t.prototype.addTokenChangeListener=function(e){this.auth_?this.auth_.addAuthTokenListener(e):this.authProvider_.get().then(function(n){return n.addAuthTokenListener(e)})},t.prototype.removeTokenChangeListener=function(e){this.authProvider_.get().then(function(n){return n.removeAuthTokenListener(e)})},t.prototype.notifyForInvalidToken=function(){var e='Provided authentication credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly. ';"credential"in this.firebaseOptions_?e+='Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':"serviceAccount"in this.firebaseOptions_?e+='Make sure the "serviceAccount" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':e+='Make sure the "apiKey" and "databaseURL" properties provided to initializeApp() match the values provided for your app at https://console.firebase.google.com/.',ff(e)},t}(),ME=function(){function t(e){this.accessToken=e}return t.prototype.getToken=function(e){return Promise.resolve({accessToken:this.accessToken})},t.prototype.addTokenChangeListener=function(e){e(this.accessToken)},t.prototype.removeTokenChangeListener=function(e){},t.prototype.notifyForInvalidToken=function(){},t.OWNER="owner",t}();/** * @license * Copyright 2017 Google LLC * @@ -7359,7 +7359,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var s9e="5",Oot="v",_ot="s",Vot="r",Got="f",Xot=/(console\.firebase|firebase-console-\w+\.corp|firebase\.corp)\.google\.com/,Jot="ls",u1o="p",Xde="ac",Kot="websocket",qot="long_polling";/** + */var s9e="5",Oot="v",_ot="s",Vot="r",Got="f",Xot=/(console\.firebase|firebase-console-\w+\.corp|firebase\.corp)\.google\.com/,Jot="ls",s1o="p",Xde="ac",Kot="websocket",qot="long_polling";/** * @license * Copyright 2017 Google LLC * @@ -7374,7 +7374,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var c9e=function(){function t(e,n,o,i,r,a,l){r===void 0&&(r=!1),a===void 0&&(a=""),l===void 0&&(l=!1),this.secure=n,this.namespace=o,this.webSocketOnly=i,this.nodeAdmin=r,this.persistenceKey=a,this.includeNamespaceInQueryParams=l,this._host=e.toLowerCase(),this._domain=this._host.substr(this._host.indexOf(".")+1),this.internalHost=Vv.get("host:"+e)||this._host}return t.prototype.isCacheableHost=function(){return this.internalHost.substr(0,2)==="s-"},t.prototype.isCustomHost=function(){return this._domain!=="firebaseio.com"&&this._domain!=="firebaseio-demo.com"},Object.defineProperty(t.prototype,"host",{get:function(){return this._host},set:function(e){e!==this.internalHost&&(this.internalHost=e,this.isCacheableHost()&&Vv.set("host:"+this._host,this.internalHost))},enumerable:!1,configurable:!0}),t.prototype.toString=function(){var e=this.toURLString();return this.persistenceKey&&(e+="<"+this.persistenceKey+">"),e},t.prototype.toURLString=function(){var e=this.secure?"https://":"http://",n=this.includeNamespaceInQueryParams?"?ns="+this.namespace:"";return""+e+this.host+"/"+n},t}();function d1o(t){return t.host!==t.internalHost||t.isCustomHost()||t.includeNamespaceInQueryParams}function $ot(t,e,n){ei(typeof e=="string","typeof type must == string"),ei(typeof n=="object","typeof params must == object");var o;if(e===Kot)o=(t.secure?"wss://":"ws://")+t.internalHost+"/.ws?";else if(e===qot)o=(t.secure?"https://":"http://")+t.internalHost+"/.lp?";else throw new Error("Unknown connection type: "+e);d1o(t)&&(n.ns=t.namespace);var i=[];return Vu(n,function(r,a){i.push(r+"="+a)}),o+i.join("&")}/** + */var c9e=function(){function t(e,n,o,i,r,a,l){r===void 0&&(r=!1),a===void 0&&(a=""),l===void 0&&(l=!1),this.secure=n,this.namespace=o,this.webSocketOnly=i,this.nodeAdmin=r,this.persistenceKey=a,this.includeNamespaceInQueryParams=l,this._host=e.toLowerCase(),this._domain=this._host.substr(this._host.indexOf(".")+1),this.internalHost=Vv.get("host:"+e)||this._host}return t.prototype.isCacheableHost=function(){return this.internalHost.substr(0,2)==="s-"},t.prototype.isCustomHost=function(){return this._domain!=="firebaseio.com"&&this._domain!=="firebaseio-demo.com"},Object.defineProperty(t.prototype,"host",{get:function(){return this._host},set:function(e){e!==this.internalHost&&(this.internalHost=e,this.isCacheableHost()&&Vv.set("host:"+this._host,this.internalHost))},enumerable:!1,configurable:!0}),t.prototype.toString=function(){var e=this.toURLString();return this.persistenceKey&&(e+="<"+this.persistenceKey+">"),e},t.prototype.toURLString=function(){var e=this.secure?"https://":"http://",n=this.includeNamespaceInQueryParams?"?ns="+this.namespace:"";return""+e+this.host+"/"+n},t}();function c1o(t){return t.host!==t.internalHost||t.isCustomHost()||t.includeNamespaceInQueryParams}function $ot(t,e,n){ei(typeof e=="string","typeof type must == string"),ei(typeof n=="object","typeof params must == object");var o;if(e===Kot)o=(t.secure?"wss://":"ws://")+t.internalHost+"/.ws?";else if(e===qot)o=(t.secure?"https://":"http://")+t.internalHost+"/.lp?";else throw new Error("Unknown connection type: "+e);c1o(t)&&(n.ns=t.namespace);var i=[];return Vu(n,function(r,a){i.push(r+"="+a)}),o+i.join("&")}/** * @license * Copyright 2017 Google LLC * @@ -7389,7 +7389,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var f1o=function(){function t(){this.counters_={}}return t.prototype.incrementCounter=function(e,n){n===void 0&&(n=1),Rg(this.counters_,e)||(this.counters_[e]=0),this.counters_[e]+=n},t.prototype.get=function(){return oQe(this.counters_)},t}();/** + */var u1o=function(){function t(){this.counters_={}}return t.prototype.incrementCounter=function(e,n){n===void 0&&(n=1),Rg(this.counters_,e)||(this.counters_[e]=0),this.counters_[e]+=n},t.prototype.get=function(){return oQe(this.counters_)},t}();/** * @license * Copyright 2017 Google LLC * @@ -7404,7 +7404,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Cae={},Rae={};function u9e(t){var e=t.toString();return Cae[e]||(Cae[e]=new f1o),Cae[e]}function h1o(t,e){var n=t.toString();return Rae[n]||(Rae[n]=e()),Rae[n]}/** + */var Cae={},Rae={};function u9e(t){var e=t.toString();return Cae[e]||(Cae[e]=new u1o),Cae[e]}function d1o(t,e){var n=t.toString();return Rae[n]||(Rae[n]=e()),Rae[n]}/** * @license * Copyright 2017 Google LLC * @@ -7419,7 +7419,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var p1o=function(){function t(e){this.onMessage_=e,this.pendingResponses=[],this.currentResponseNum=0,this.closeAfterResponse=-1,this.onClose=null}return t.prototype.closeAfter=function(e,n){this.closeAfterResponse=e,this.onClose=n,this.closeAfterResponsedocument.domain="'+a+'";<\/script>'}var l=""+r+"";try{this.myIFrame.doc.open(),this.myIFrame.doc.write(l),this.myIFrame.doc.close()}catch(s){wd("frame writing exception"),s.stack&&wd(s.stack),wd(s)}}}return t.createIFrame_=function(){var e=document.createElement("iframe");if(e.style.display="none",document.body){document.body.appendChild(e);try{var n=e.contentWindow.document;n||wd("No IE domain setting required")}catch{var o=document.domain;e.src="javascript:void((function(){document.open();document.domain='"+o+"';document.close();})())"}}else throw"Document body has not initialized. Wait to initialize Firebase until after the document is ready.";return e.contentDocument?e.doc=e.contentDocument:e.contentWindow?e.doc=e.contentWindow.document:e.document&&(e.doc=e.document),e},t.prototype.close=function(){var e=this;this.alive=!1,this.myIFrame&&(this.myIFrame.doc.body.innerHTML="",setTimeout(function(){e.myIFrame!==null&&(document.body.removeChild(e.myIFrame),e.myIFrame=null)},Math.floor(0)));var n=this.onDisconnect;n&&(this.onDisconnect=null,n())},t.prototype.startLongPoll=function(e,n){for(this.myID=e,this.myPW=n,this.alive=!0;this.newRequest_(););},t.prototype.newRequest_=function(){if(this.alive&&this.sendNewPolls&&this.outstandingRequests.size<(this.pendingSegs.length>0?2:1)){this.currentSerial++;var e={};e[Qot]=this.myID,e[Zot]=this.myPW,e[eit]=this.currentSerial;for(var n=this.urlFn(e),o="",i=0;this.pendingSegs.length>0;){var r=this.pendingSegs[0];if(r.d.length+nit+o.length<=tit){var a=this.pendingSegs.shift();o=o+"&"+w1o+i+"="+a.seg+"&"+v1o+i+"="+a.ts+"&"+x1o+i+"="+a.d,i++}else break}return n=n+o,this.addLongPollTag_(n,this.currentSerial),!0}else return!1},t.prototype.enqueueSegment=function(e,n,o){this.pendingSegs.push({seg:e,ts:n,d:o}),this.alive&&this.newRequest_()},t.prototype.addLongPollTag_=function(e,n){var o=this;this.outstandingRequests.add(n);var i=function(){o.outstandingRequests.delete(n),o.newRequest_()},r=setTimeout(i,Math.floor(T1o)),a=function(){clearTimeout(r),i()};this.addTag(e,a)},t.prototype.addTag=function(e,n){var o=this;setTimeout(function(){try{if(!o.sendNewPolls)return;var i=o.myIFrame.doc.createElement("script");i.type="text/javascript",i.async=!0,i.src=e,i.onload=i.onreadystatechange=function(){var r=i.readyState;(!r||r==="loaded"||r==="complete")&&(i.onload=i.onreadystatechange=null,i.parentNode&&i.parentNode.removeChild(i),n())},i.onerror=function(){wd("Long-poll script failed to load: "+e),o.sendNewPolls=!1,o.close()},o.myIFrame.doc.body.appendChild(i)}catch{}},Math.floor(1))},t}();/** + */var mMe="start",h1o="close",p1o="pLPCommand",g1o="pRTLPCB",Qot="id",Zot="pw",eit="ser",m1o="cb",y1o="seg",A1o="ts",w1o="d",v1o="dframe",tit=1870,nit=30,x1o=tit-nit,b1o=25e3,S1o=3e4,d9e=function(){function t(e,n,o,i,r,a,l){var s=this;this.connId=e,this.repoInfo=n,this.applicationId=o,this.appCheckToken=i,this.authToken=r,this.transportSessionId=a,this.lastSessionId=l,this.bytesSent=0,this.bytesReceived=0,this.everConnected_=!1,this.log_=NN(e),this.stats_=u9e(n),this.urlFn=function(c){return s.appCheckToken&&(c[Xde]=s.appCheckToken),$ot(n,qot,c)}}return t.prototype.open=function(e,n){var o=this;this.curSegmentNum=0,this.onDisconnect_=n,this.myPacketOrderer=new f1o(e),this.isClosed_=!1,this.connectTimeoutTimer_=setTimeout(function(){o.log_("Timed out trying to connect."),o.onClosed_(),o.connectTimeoutTimer_=null},Math.floor(S1o)),Zpo(function(){if(!o.isClosed_){o.scriptTagHolder=new T1o(function(){for(var a=[],l=0;ldocument.domain="'+a+'";<\/script>'}var l=""+r+"";try{this.myIFrame.doc.open(),this.myIFrame.doc.write(l),this.myIFrame.doc.close()}catch(s){wd("frame writing exception"),s.stack&&wd(s.stack),wd(s)}}}return t.createIFrame_=function(){var e=document.createElement("iframe");if(e.style.display="none",document.body){document.body.appendChild(e);try{var n=e.contentWindow.document;n||wd("No IE domain setting required")}catch{var o=document.domain;e.src="javascript:void((function(){document.open();document.domain='"+o+"';document.close();})())"}}else throw"Document body has not initialized. Wait to initialize Firebase until after the document is ready.";return e.contentDocument?e.doc=e.contentDocument:e.contentWindow?e.doc=e.contentWindow.document:e.document&&(e.doc=e.document),e},t.prototype.close=function(){var e=this;this.alive=!1,this.myIFrame&&(this.myIFrame.doc.body.innerHTML="",setTimeout(function(){e.myIFrame!==null&&(document.body.removeChild(e.myIFrame),e.myIFrame=null)},Math.floor(0)));var n=this.onDisconnect;n&&(this.onDisconnect=null,n())},t.prototype.startLongPoll=function(e,n){for(this.myID=e,this.myPW=n,this.alive=!0;this.newRequest_(););},t.prototype.newRequest_=function(){if(this.alive&&this.sendNewPolls&&this.outstandingRequests.size<(this.pendingSegs.length>0?2:1)){this.currentSerial++;var e={};e[Qot]=this.myID,e[Zot]=this.myPW,e[eit]=this.currentSerial;for(var n=this.urlFn(e),o="",i=0;this.pendingSegs.length>0;){var r=this.pendingSegs[0];if(r.d.length+nit+o.length<=tit){var a=this.pendingSegs.shift();o=o+"&"+y1o+i+"="+a.seg+"&"+A1o+i+"="+a.ts+"&"+w1o+i+"="+a.d,i++}else break}return n=n+o,this.addLongPollTag_(n,this.currentSerial),!0}else return!1},t.prototype.enqueueSegment=function(e,n,o){this.pendingSegs.push({seg:e,ts:n,d:o}),this.alive&&this.newRequest_()},t.prototype.addLongPollTag_=function(e,n){var o=this;this.outstandingRequests.add(n);var i=function(){o.outstandingRequests.delete(n),o.newRequest_()},r=setTimeout(i,Math.floor(b1o)),a=function(){clearTimeout(r),i()};this.addTag(e,a)},t.prototype.addTag=function(e,n){var o=this;setTimeout(function(){try{if(!o.sendNewPolls)return;var i=o.myIFrame.doc.createElement("script");i.type="text/javascript",i.async=!0,i.src=e,i.onload=i.onreadystatechange=function(){var r=i.readyState;(!r||r==="loaded"||r==="complete")&&(i.onload=i.onreadystatechange=null,i.parentNode&&i.parentNode.removeChild(i),n())},i.onerror=function(){wd("Long-poll script failed to load: "+e),o.sendNewPolls=!1,o.close()},o.myIFrame.doc.body.appendChild(i)}catch{}},Math.floor(1))},t}();/** * @license * Copyright 2017 Google LLC * @@ -7449,7 +7449,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var R1o=16384,H1o=45e3,VX=null;typeof MozWebSocket<"u"?VX=MozWebSocket:typeof WebSocket<"u"&&(VX=WebSocket);var bv=function(){function t(e,n,o,i,r,a,l){this.connId=e,this.applicationId=o,this.appCheckToken=i,this.authToken=r,this.keepaliveTimer=null,this.frames=null,this.totalFrames=0,this.bytesSent=0,this.bytesReceived=0,this.log_=NN(this.connId),this.stats_=u9e(n),this.connURL=t.connectionURL_(n,a,l,i),this.nodeAdmin=n.nodeAdmin}return t.connectionURL_=function(e,n,o,i){var r={};return r[Oot]=s9e,typeof location<"u"&&location.hostname&&Xot.test(location.hostname)&&(r[Vot]=Got),n&&(r[_ot]=n),o&&(r[Jot]=o),i&&(r[Xde]=i),$ot(e,Kot,r)},t.prototype.open=function(e,n){var o=this;this.onDisconnect=n,this.onMessage=e,this.log_("Websocket connecting to "+this.connURL),this.everConnected_=!1,Vv.set("previous_websocket_failure",!0);try{var i,r,a,l;if(!aQe()){var r={headers:{"X-Firebase-GMPID":this.applicationId||"","X-Firebase-AppCheck":this.appCheckToken||""}};this.mySock=new VX(this.connURL,[],r)}}catch(c){this.log_("Error instantiating WebSocket.");var s=c.message||c.data;s&&this.log_(s),this.onClosed_();return}this.mySock.onopen=function(){o.log_("Websocket connected."),o.everConnected_=!0},this.mySock.onclose=function(){o.log_("Websocket connection was disconnected."),o.mySock=null,o.onClosed_()},this.mySock.onmessage=function(c){o.handleIncomingFrame(c)},this.mySock.onerror=function(c){o.log_("WebSocket error. Closing connection.");var u=c.message||c.data;u&&o.log_(u),o.onClosed_()}},t.prototype.start=function(){},t.forceDisallow=function(){t.forceDisallow_=!0},t.isAvailable=function(){var e=!1;if(typeof navigator<"u"&&navigator.userAgent){var n=/Android ([0-9]{0,}\.[0-9]{0,})/,o=navigator.userAgent.match(n);o&&o.length>1&&parseFloat(o[1])<4.4&&(e=!0)}return!e&&VX!==null&&!t.forceDisallow_},t.previouslyFailed=function(){return Vv.isInMemoryStorage||Vv.get("previous_websocket_failure")===!0},t.prototype.markConnectionHealthy=function(){Vv.remove("previous_websocket_failure")},t.prototype.appendFrame_=function(e){if(this.frames.push(e),this.frames.length===this.totalFrames){var n=this.frames.join("");this.frames=null;var o=rF(n);this.onMessage(o)}},t.prototype.handleNewFrameCount_=function(e){this.totalFrames=e,this.frames=[]},t.prototype.extractFrameCount_=function(e){if(ei(this.frames===null,"We already have a frame buffer"),e.length<=6){var n=Number(e);if(!isNaN(n))return this.handleNewFrameCount_(n),null}return this.handleNewFrameCount_(1),e},t.prototype.handleIncomingFrame=function(e){if(this.mySock!==null){var n=e.data;if(this.bytesReceived+=n.length,this.stats_.incrementCounter("bytes_received",n.length),this.resetKeepAlive(),this.frames!==null)this.appendFrame_(n);else{var o=this.extractFrameCount_(n);o!==null&&this.appendFrame_(o)}}},t.prototype.send=function(e){this.resetKeepAlive();var n=Du(e);this.bytesSent+=n.length,this.stats_.incrementCounter("bytes_sent",n.length);var o=Bot(n,R1o);o.length>1&&this.sendString_(String(o.length));for(var i=0;i1&&parseFloat(o[1])<4.4&&(e=!0)}return!e&&VX!==null&&!t.forceDisallow_},t.previouslyFailed=function(){return Vv.isInMemoryStorage||Vv.get("previous_websocket_failure")===!0},t.prototype.markConnectionHealthy=function(){Vv.remove("previous_websocket_failure")},t.prototype.appendFrame_=function(e){if(this.frames.push(e),this.frames.length===this.totalFrames){var n=this.frames.join("");this.frames=null;var o=rF(n);this.onMessage(o)}},t.prototype.handleNewFrameCount_=function(e){this.totalFrames=e,this.frames=[]},t.prototype.extractFrameCount_=function(e){if(ei(this.frames===null,"We already have a frame buffer"),e.length<=6){var n=Number(e);if(!isNaN(n))return this.handleNewFrameCount_(n),null}return this.handleNewFrameCount_(1),e},t.prototype.handleIncomingFrame=function(e){if(this.mySock!==null){var n=e.data;if(this.bytesReceived+=n.length,this.stats_.incrementCounter("bytes_received",n.length),this.resetKeepAlive(),this.frames!==null)this.appendFrame_(n);else{var o=this.extractFrameCount_(n);o!==null&&this.appendFrame_(o)}}},t.prototype.send=function(e){this.resetKeepAlive();var n=Du(e);this.bytesSent+=n.length,this.stats_.incrementCounter("bytes_sent",n.length);var o=Bot(n,P1o);o.length>1&&this.sendString_(String(o.length));for(var i=0;i0)return this.transports_[0];throw new Error("No transports available")},t.prototype.upgradeTransport=function(){return this.transports_.length>1?this.transports_[1]:null},t}();/** + */var R1o=function(){function t(e){this.initTransports_(e)}return Object.defineProperty(t,"ALL_TRANSPORTS",{get:function(){return[d9e,bv]},enumerable:!1,configurable:!0}),t.prototype.initTransports_=function(e){var n,o,i=bv&&bv.isAvailable(),r=i&&!bv.previouslyFailed();if(e.webSocketOnly&&(i||ff("wss:// URL used, but browser isn't known to support websockets. Trying anyway."),r=!0),r)this.transports_=[bv];else{var a=this.transports_=[];try{for(var l=Ag(t.ALL_TRANSPORTS),s=l.next();!s.done;s=l.next()){var c=s.value;c&&c.isAvailable()&&a.push(c)}}catch(u){n={error:u}}finally{try{s&&!s.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}}},t.prototype.initialTransport=function(){if(this.transports_.length>0)return this.transports_[0];throw new Error("No transports available")},t.prototype.upgradeTransport=function(){return this.transports_.length>1?this.transports_[1]:null},t}();/** * @license * Copyright 2017 Google LLC * @@ -7479,7 +7479,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var I1o=6e4,z1o=5e3,D1o=10*1024,E1o=100*1024,Hae="t",yMe="d",k1o="s",AMe="r",F1o="e",wMe="o",vMe="a",xMe="n",bMe="p",L1o="h",oit=function(){function t(e,n,o,i,r,a,l,s,c,u){this.id=e,this.repoInfo_=n,this.applicationId_=o,this.appCheckToken_=i,this.authToken_=r,this.onMessage_=a,this.onReady_=l,this.onDisconnect_=s,this.onKill_=c,this.lastSessionId=u,this.connectionCount=0,this.pendingDataMessages=[],this.state_=0,this.log_=NN("c:"+this.id+":"),this.transportManager_=new M1o(n),this.log_("Connection created"),this.start_()}return t.prototype.start_=function(){var e=this,n=this.transportManager_.initialTransport();this.conn_=new n(this.nextTransportId_(),this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,null,this.lastSessionId),this.primaryResponsesRequired_=n.responsesRequiredToBeHealthy||0;var o=this.connReceiver_(this.conn_),i=this.disconnReceiver_(this.conn_);this.tx_=this.conn_,this.rx_=this.conn_,this.secondaryConn_=null,this.isHealthy_=!1,setTimeout(function(){e.conn_&&e.conn_.open(o,i)},Math.floor(0));var r=n.healthyTimeout||0;r>0&&(this.healthyTimeout_=HE(function(){e.healthyTimeout_=null,e.isHealthy_||(e.conn_&&e.conn_.bytesReceived>E1o?(e.log_("Connection exceeded healthy timeout but has received "+e.conn_.bytesReceived+" bytes. Marking connection healthy."),e.isHealthy_=!0,e.conn_.markConnectionHealthy()):e.conn_&&e.conn_.bytesSent>D1o?e.log_("Connection exceeded healthy timeout but has sent "+e.conn_.bytesSent+" bytes. Leaving connection alive."):(e.log_("Closing unhealthy connection after timeout."),e.close()))},Math.floor(r)))},t.prototype.nextTransportId_=function(){return"c:"+this.id+":"+this.connectionCount++},t.prototype.disconnReceiver_=function(e){var n=this;return function(o){e===n.conn_?n.onConnectionLost_(o):e===n.secondaryConn_?(n.log_("Secondary connection lost."),n.onSecondaryConnectionLost_()):n.log_("closing an old connection")}},t.prototype.connReceiver_=function(e){var n=this;return function(o){n.state_!==2&&(e===n.rx_?n.onPrimaryMessageReceived_(o):e===n.secondaryConn_?n.onSecondaryMessageReceived_(o):n.log_("message on old connection"))}},t.prototype.sendRequest=function(e){var n={t:"d",d:e};this.sendData_(n)},t.prototype.tryCleanupConnection=function(){this.tx_===this.secondaryConn_&&this.rx_===this.secondaryConn_&&(this.log_("cleaning up and promoting a connection: "+this.secondaryConn_.connId),this.conn_=this.secondaryConn_,this.secondaryConn_=null)},t.prototype.onSecondaryControl_=function(e){if(Hae in e){var n=e[Hae];n===vMe?this.upgradeIfSecondaryHealthy_():n===AMe?(this.log_("Got a reset on secondary, closing it"),this.secondaryConn_.close(),(this.tx_===this.secondaryConn_||this.rx_===this.secondaryConn_)&&this.close()):n===wMe&&(this.log_("got pong on secondary."),this.secondaryResponsesRequired_--,this.upgradeIfSecondaryHealthy_())}},t.prototype.onSecondaryMessageReceived_=function(e){var n=_z("t",e),o=_z("d",e);if(n==="c")this.onSecondaryControl_(o);else if(n==="d")this.pendingDataMessages.push(o);else throw new Error("Unknown protocol layer: "+n)},t.prototype.upgradeIfSecondaryHealthy_=function(){this.secondaryResponsesRequired_<=0?(this.log_("Secondary connection is healthy."),this.isHealthy_=!0,this.secondaryConn_.markConnectionHealthy(),this.proceedWithUpgrade_()):(this.log_("sending ping on secondary."),this.secondaryConn_.send({t:"c",d:{t:bMe,d:{}}}))},t.prototype.proceedWithUpgrade_=function(){this.secondaryConn_.start(),this.log_("sending client ack on secondary"),this.secondaryConn_.send({t:"c",d:{t:vMe,d:{}}}),this.log_("Ending transmission on primary"),this.conn_.send({t:"c",d:{t:xMe,d:{}}}),this.tx_=this.secondaryConn_,this.tryCleanupConnection()},t.prototype.onPrimaryMessageReceived_=function(e){var n=_z("t",e),o=_z("d",e);n==="c"?this.onControl_(o):n==="d"&&this.onDataMessage_(o)},t.prototype.onDataMessage_=function(e){this.onPrimaryResponse_(),this.onMessage_(e)},t.prototype.onPrimaryResponse_=function(){this.isHealthy_||(this.primaryResponsesRequired_--,this.primaryResponsesRequired_<=0&&(this.log_("Primary connection is healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()))},t.prototype.onControl_=function(e){var n=_z(Hae,e);if(yMe in e){var o=e[yMe];if(n===L1o)this.onHandshake_(o);else if(n===xMe){this.log_("recvd end transmission on primary"),this.rx_=this.secondaryConn_;for(var i=0;i0&&(this.healthyTimeout_=HE(function(){e.healthyTimeout_=null,e.isHealthy_||(e.conn_&&e.conn_.bytesReceived>z1o?(e.log_("Connection exceeded healthy timeout but has received "+e.conn_.bytesReceived+" bytes. Marking connection healthy."),e.isHealthy_=!0,e.conn_.markConnectionHealthy()):e.conn_&&e.conn_.bytesSent>I1o?e.log_("Connection exceeded healthy timeout but has sent "+e.conn_.bytesSent+" bytes. Leaving connection alive."):(e.log_("Closing unhealthy connection after timeout."),e.close()))},Math.floor(r)))},t.prototype.nextTransportId_=function(){return"c:"+this.id+":"+this.connectionCount++},t.prototype.disconnReceiver_=function(e){var n=this;return function(o){e===n.conn_?n.onConnectionLost_(o):e===n.secondaryConn_?(n.log_("Secondary connection lost."),n.onSecondaryConnectionLost_()):n.log_("closing an old connection")}},t.prototype.connReceiver_=function(e){var n=this;return function(o){n.state_!==2&&(e===n.rx_?n.onPrimaryMessageReceived_(o):e===n.secondaryConn_?n.onSecondaryMessageReceived_(o):n.log_("message on old connection"))}},t.prototype.sendRequest=function(e){var n={t:"d",d:e};this.sendData_(n)},t.prototype.tryCleanupConnection=function(){this.tx_===this.secondaryConn_&&this.rx_===this.secondaryConn_&&(this.log_("cleaning up and promoting a connection: "+this.secondaryConn_.connId),this.conn_=this.secondaryConn_,this.secondaryConn_=null)},t.prototype.onSecondaryControl_=function(e){if(Hae in e){var n=e[Hae];n===vMe?this.upgradeIfSecondaryHealthy_():n===AMe?(this.log_("Got a reset on secondary, closing it"),this.secondaryConn_.close(),(this.tx_===this.secondaryConn_||this.rx_===this.secondaryConn_)&&this.close()):n===wMe&&(this.log_("got pong on secondary."),this.secondaryResponsesRequired_--,this.upgradeIfSecondaryHealthy_())}},t.prototype.onSecondaryMessageReceived_=function(e){var n=_z("t",e),o=_z("d",e);if(n==="c")this.onSecondaryControl_(o);else if(n==="d")this.pendingDataMessages.push(o);else throw new Error("Unknown protocol layer: "+n)},t.prototype.upgradeIfSecondaryHealthy_=function(){this.secondaryResponsesRequired_<=0?(this.log_("Secondary connection is healthy."),this.isHealthy_=!0,this.secondaryConn_.markConnectionHealthy(),this.proceedWithUpgrade_()):(this.log_("sending ping on secondary."),this.secondaryConn_.send({t:"c",d:{t:bMe,d:{}}}))},t.prototype.proceedWithUpgrade_=function(){this.secondaryConn_.start(),this.log_("sending client ack on secondary"),this.secondaryConn_.send({t:"c",d:{t:vMe,d:{}}}),this.log_("Ending transmission on primary"),this.conn_.send({t:"c",d:{t:xMe,d:{}}}),this.tx_=this.secondaryConn_,this.tryCleanupConnection()},t.prototype.onPrimaryMessageReceived_=function(e){var n=_z("t",e),o=_z("d",e);n==="c"?this.onControl_(o):n==="d"&&this.onDataMessage_(o)},t.prototype.onDataMessage_=function(e){this.onPrimaryResponse_(),this.onMessage_(e)},t.prototype.onPrimaryResponse_=function(){this.isHealthy_||(this.primaryResponsesRequired_--,this.primaryResponsesRequired_<=0&&(this.log_("Primary connection is healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()))},t.prototype.onControl_=function(e){var n=_z(Hae,e);if(yMe in e){var o=e[yMe];if(n===k1o)this.onHandshake_(o);else if(n===xMe){this.log_("recvd end transmission on primary"),this.rx_=this.secondaryConn_;for(var i=0;i0&&(this.pieces_[o]=this.pieces_[i],o++);this.pieces_.length=o,this.pieceNum_=0}else this.pieces_=e,this.pieceNum_=n}return t.prototype.toString=function(){for(var e="",n=this.pieceNum_;n=t.pieces_.length?null:t.pieces_[t.pieceNum_]}function p7(t){return t.pieces_.length-t.pieceNum_}function bs(t){var e=t.pieceNum_;return e=t.pieces_.length)return null;for(var e=[],n=t.pieceNum_;n0&&n.push(i[o]);return new os(n,0)}function Ha(t){return t.pieceNum_>=t.pieces_.length}function ip(t,e){var n=Ra(t),o=Ra(e);if(n===null)return e;if(n===o)return ip(bs(t),bs(e));throw new Error("INTERNAL ERROR: innerPath ("+e+") is not within outerPath ("+t+")")}function N1o(t,e){for(var n=RF(t,0),o=RF(e,0),i=0;ip7(e))return!1;for(;n0&&(t.byteLength_+=1),t.parts_.push(e),t.byteLength_+=NQ(e),lit(t)}function j1o(t){var e=t.parts_.pop();t.byteLength_-=NQ(e),t.parts_.length>0&&(t.byteLength_-=1)}function lit(t){if(t.byteLength_>PMe)throw new Error(t.errorPrefix_+"has a key path longer than "+PMe+" bytes ("+t.byteLength_+").");if(t.parts_.length>TMe)throw new Error(t.errorPrefix_+"path specified exceeds the maximum depth that can be written ("+TMe+") or object contains a cycle "+fv(t))}function fv(t){return t.parts_.length===0?"":"in property '"+t.parts_.join(".")+"'"}/** + */var TMe=32,PMe=768,os=function(){function t(e,n){if(n===void 0){this.pieces_=e.split("/");for(var o=0,i=0;i0&&(this.pieces_[o]=this.pieces_[i],o++);this.pieces_.length=o,this.pieceNum_=0}else this.pieces_=e,this.pieceNum_=n}return t.prototype.toString=function(){for(var e="",n=this.pieceNum_;n=t.pieces_.length?null:t.pieces_[t.pieceNum_]}function p7(t){return t.pieces_.length-t.pieceNum_}function bs(t){var e=t.pieceNum_;return e=t.pieces_.length)return null;for(var e=[],n=t.pieceNum_;n0&&n.push(i[o]);return new os(n,0)}function Ha(t){return t.pieceNum_>=t.pieces_.length}function ip(t,e){var n=Ra(t),o=Ra(e);if(n===null)return e;if(n===o)return ip(bs(t),bs(e));throw new Error("INTERNAL ERROR: innerPath ("+e+") is not within outerPath ("+t+")")}function L1o(t,e){for(var n=RF(t,0),o=RF(e,0),i=0;ip7(e))return!1;for(;n0&&(t.byteLength_+=1),t.parts_.push(e),t.byteLength_+=NQ(e),lit(t)}function U1o(t){var e=t.parts_.pop();t.byteLength_-=NQ(e),t.parts_.length>0&&(t.byteLength_-=1)}function lit(t){if(t.byteLength_>PMe)throw new Error(t.errorPrefix_+"has a key path longer than "+PMe+" bytes ("+t.byteLength_+").");if(t.parts_.length>TMe)throw new Error(t.errorPrefix_+"path specified exceeds the maximum depth that can be written ("+TMe+") or object contains a cycle "+fv(t))}function fv(t){return t.parts_.length===0?"":"in property '"+t.parts_.join(".")+"'"}/** * @license * Copyright 2017 Google LLC * @@ -7554,7 +7554,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Y1o=function(t){Ti(e,t);function e(){var n=t.call(this,["visible"])||this,o,i;return typeof document<"u"&&typeof document.addEventListener<"u"&&(typeof document.hidden<"u"?(i="visibilitychange",o="hidden"):typeof document.mozHidden<"u"?(i="mozvisibilitychange",o="mozHidden"):typeof document.msHidden<"u"?(i="msvisibilitychange",o="msHidden"):typeof document.webkitHidden<"u"&&(i="webkitvisibilitychange",o="webkitHidden")),n.visible_=!0,i&&document.addEventListener(i,function(){var r=!document[o];r!==n.visible_&&(n.visible_=r,n.trigger("visible",r))},!1),n}return e.getInstance=function(){return new e},e.prototype.getInitialEvent=function(n){return ei(n==="visible","Unknown event type: "+n),[this.visible_]},e}(rit);/** + */var B1o=function(t){Ti(e,t);function e(){var n=t.call(this,["visible"])||this,o,i;return typeof document<"u"&&typeof document.addEventListener<"u"&&(typeof document.hidden<"u"?(i="visibilitychange",o="hidden"):typeof document.mozHidden<"u"?(i="mozvisibilitychange",o="mozHidden"):typeof document.msHidden<"u"?(i="msvisibilitychange",o="msHidden"):typeof document.webkitHidden<"u"&&(i="webkitvisibilitychange",o="webkitHidden")),n.visible_=!0,i&&document.addEventListener(i,function(){var r=!document[o];r!==n.visible_&&(n.visible_=r,n.trigger("visible",r))},!1),n}return e.getInstance=function(){return new e},e.prototype.getInitialEvent=function(n){return ei(n==="visible","Unknown event type: "+n),[this.visible_]},e}(rit);/** * @license * Copyright 2017 Google LLC * @@ -7569,10 +7569,10 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Vz=1e3,O1o=60*5*1e3,_1o=3*1e3,CMe=30*1e3,V1o=1.3,G1o=3e4,X1o="server_kill",RMe=3,Tx=function(t){Ti(e,t);function e(n,o,i,r,a,l,s,c){var u=t.call(this)||this;if(u.repoInfo_=n,u.applicationId_=o,u.onDataUpdate_=i,u.onConnectStatus_=r,u.onServerInfoUpdate_=a,u.authTokenProvider_=l,u.appCheckTokenProvider_=s,u.authOverride_=c,u.id=e.nextPersistentConnectionId_++,u.log_=NN("p:"+u.id+":"),u.interruptReasons_={},u.listens=new Map,u.outstandingPuts_=[],u.outstandingGets_=[],u.outstandingPutCount_=0,u.outstandingGetCount_=0,u.onDisconnectRequestQueue_=[],u.connected_=!1,u.reconnectDelay_=Vz,u.maxReconnectDelay_=O1o,u.securityDebugCallback_=null,u.lastSessionId=null,u.establishConnectionTimer_=null,u.visible_=!1,u.requestCBHash_={},u.requestNumber_=0,u.realtime_=null,u.authToken_=null,u.appCheckToken_=null,u.forceTokenRefresh_=!1,u.invalidAuthTokenCount_=0,u.invalidAppCheckTokenCount_=0,u.firstConnection_=!0,u.lastConnectionAttemptTime_=null,u.lastConnectionEstablishedTime_=null,c&&!aQe())throw new Error("Auth override specified in options, but not supported on non Node.js platforms");return Y1o.getInstance().on("visible",u.onVisible_,u),n.host.indexOf("fblocal")===-1&&SMe.getInstance().on("online",u.onOnline_,u),u}return e.prototype.sendRequest=function(n,o,i){var r=++this.requestNumber_,a={r,a:n,b:o};this.log_(Du(a)),ei(this.connected_,"sendRequest call when we're not connected not allowed."),this.realtime_.sendRequest(a),i&&(this.requestCBHash_[r]=i)},e.prototype.get=function(n){var o=this;this.initConnection_();var i=new Lp,r={p:n._path.toString(),q:n._queryObject},a={action:"g",request:r,onComplete:function(s){var c=s.d;s.s==="ok"?(o.onDataUpdate_(r.p,c,!1,null),i.resolve(c)):i.reject(c)}};this.outstandingGets_.push(a),this.outstandingGetCount_++;var l=this.outstandingGets_.length-1;return this.connected_||setTimeout(function(){var s=o.outstandingGets_[l];s===void 0||a!==s||(delete o.outstandingGets_[l],o.outstandingGetCount_--,o.outstandingGetCount_===0&&(o.outstandingGets_=[]),o.log_("get "+l+" timed out on connection"),i.reject(new Error("Client is offline.")))},_1o),this.connected_&&this.sendGet_(l),i.promise},e.prototype.listen=function(n,o,i,r){this.initConnection_();var a=n._queryIdentifier,l=n._path.toString();this.log_("Listen called for "+l+" "+a),this.listens.has(l)||this.listens.set(l,new Map),ei(n._queryParams.isDefault()||!n._queryParams.loadsAllData(),"listen() called for non-default but complete query"),ei(!this.listens.get(l).has(a),"listen() called twice for same path/queryId.");var s={onComplete:r,hashFn:o,query:n,tag:i};this.listens.get(l).set(a,s),this.connected_&&this.sendListen_(s)},e.prototype.sendGet_=function(n){var o=this,i=this.outstandingGets_[n];this.sendRequest("g",i.request,function(r){delete o.outstandingGets_[n],o.outstandingGetCount_--,o.outstandingGetCount_===0&&(o.outstandingGets_=[]),i.onComplete&&i.onComplete(r)})},e.prototype.sendListen_=function(n){var o=this,i=n.query,r=i._path.toString(),a=i._queryIdentifier;this.log_("Listen on "+r+" for "+a);var l={p:r},s="q";n.tag&&(l.q=i._queryObject,l.t=n.tag),l.h=n.hashFn(),this.sendRequest(s,l,function(c){var u=c.d,d=c.s;e.warnOnListenWarnings_(u,i);var f=o.listens.get(r)&&o.listens.get(r).get(a);f===n&&(o.log_("listen response",c),d!=="ok"&&o.removeListen_(r,a),n.onComplete&&n.onComplete(d,u))})},e.warnOnListenWarnings_=function(n,o){if(n&&typeof n=="object"&&Rg(n,"w")){var i=qx(n,"w");if(Array.isArray(i)&&~i.indexOf("no_index")){var r='".indexOn": "'+o._queryParams.getIndex().toString()+'"',a=o._path.toString();ff("Using an unspecified index. Your data will be downloaded and "+("filtered on the client. Consider adding "+r+" at ")+(a+" to your security rules for better performance."))}}},e.prototype.refreshAuthToken=function(n){this.authToken_=n,this.log_("Auth token refreshed"),this.authToken_?this.tryAuth():this.connected_&&this.sendRequest("unauth",{},function(){}),this.reduceReconnectDelayIfAdminCredential_(n)},e.prototype.reduceReconnectDelayIfAdminCredential_=function(n){var o=n&&n.length===40;(o||MLn(n))&&(this.log_("Admin auth credential detected. Reducing max reconnect time."),this.maxReconnectDelay_=CMe)},e.prototype.refreshAppCheckToken=function(n){this.appCheckToken_=n,this.log_("App check token refreshed"),this.appCheckToken_?this.tryAppCheck():this.connected_&&this.sendRequest("unappeck",{},function(){})},e.prototype.tryAuth=function(){var n=this;if(this.connected_&&this.authToken_){var o=this.authToken_,i=HLn(o)?"auth":"gauth",r={cred:o};this.authOverride_===null?r.noauth=!0:typeof this.authOverride_=="object"&&(r.authvar=this.authOverride_),this.sendRequest(i,r,function(a){var l=a.s,s=a.d||"error";n.authToken_===o&&(l==="ok"?n.invalidAuthTokenCount_=0:n.onAuthRevoked_(l,s))})}},e.prototype.tryAppCheck=function(){var n=this;this.connected_&&this.appCheckToken_&&this.sendRequest("appcheck",{token:this.appCheckToken_},function(o){var i=o.s,r=o.d||"error";i==="ok"?n.invalidAppCheckTokenCount_=0:n.onAppCheckRevoked_(i,r)})},e.prototype.unlisten=function(n,o){var i=n._path.toString(),r=n._queryIdentifier;this.log_("Unlisten called for "+i+" "+r),ei(n._queryParams.isDefault()||!n._queryParams.loadsAllData(),"unlisten() called for non-default but complete query");var a=this.removeListen_(i,r);a&&this.connected_&&this.sendUnlisten_(i,r,n._queryObject,o)},e.prototype.sendUnlisten_=function(n,o,i,r){this.log_("Unlisten on "+n+" for "+o);var a={p:n},l="n";r&&(a.q=i,a.t=r),this.sendRequest(l,a)},e.prototype.onDisconnectPut=function(n,o,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("o",n,o,i):this.onDisconnectRequestQueue_.push({pathString:n,action:"o",data:o,onComplete:i})},e.prototype.onDisconnectMerge=function(n,o,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("om",n,o,i):this.onDisconnectRequestQueue_.push({pathString:n,action:"om",data:o,onComplete:i})},e.prototype.onDisconnectCancel=function(n,o){this.initConnection_(),this.connected_?this.sendOnDisconnect_("oc",n,null,o):this.onDisconnectRequestQueue_.push({pathString:n,action:"oc",data:null,onComplete:o})},e.prototype.sendOnDisconnect_=function(n,o,i,r){var a={p:o,d:i};this.log_("onDisconnect "+n,a),this.sendRequest(n,a,function(l){r&&setTimeout(function(){r(l.s,l.d)},Math.floor(0))})},e.prototype.put=function(n,o,i,r){this.putInternal("p",n,o,i,r)},e.prototype.merge=function(n,o,i,r){this.putInternal("m",n,o,i,r)},e.prototype.putInternal=function(n,o,i,r,a){this.initConnection_();var l={p:o,d:i};a!==void 0&&(l.h=a),this.outstandingPuts_.push({action:n,request:l,onComplete:r}),this.outstandingPutCount_++;var s=this.outstandingPuts_.length-1;this.connected_?this.sendPut_(s):this.log_("Buffering put: "+o)},e.prototype.sendPut_=function(n){var o=this,i=this.outstandingPuts_[n].action,r=this.outstandingPuts_[n].request,a=this.outstandingPuts_[n].onComplete;this.outstandingPuts_[n].queued=this.connected_,this.sendRequest(i,r,function(l){o.log_(i+" response",l),delete o.outstandingPuts_[n],o.outstandingPutCount_--,o.outstandingPutCount_===0&&(o.outstandingPuts_=[]),a&&a(l.s,l.d)})},e.prototype.reportStats=function(n){var o=this;if(this.connected_){var i={c:n};this.log_("reportStats",i),this.sendRequest("s",i,function(r){var a=r.s;if(a!=="ok"){var l=r.d;o.log_("reportStats","Error sending stats: "+l)}})}},e.prototype.onDataMessage_=function(n){if("r"in n){this.log_("from server: "+Du(n));var o=n.r,i=this.requestCBHash_[o];i&&(delete this.requestCBHash_[o],i(n.b))}else{if("error"in n)throw"A server-side error has occurred: "+n.error;"a"in n&&this.onDataPush_(n.a,n.b)}},e.prototype.onDataPush_=function(n,o){this.log_("handleServerMessage",n,o),n==="d"?this.onDataUpdate_(o.p,o.d,!1,o.t):n==="m"?this.onDataUpdate_(o.p,o.d,!0,o.t):n==="c"?this.onListenRevoked_(o.p,o.q):n==="ac"?this.onAuthRevoked_(o.s,o.d):n==="apc"?this.onAppCheckRevoked_(o.s,o.d):n==="sd"?this.onSecurityDebugPacket_(o):Gde("Unrecognized action received from server: "+Du(n)+` -Are you using the latest client?`)},e.prototype.onReady_=function(n,o){this.log_("connection ready"),this.connected_=!0,this.lastConnectionEstablishedTime_=new Date().getTime(),this.handleTimestamp_(n),this.lastSessionId=o,this.firstConnection_&&this.sendConnectStats_(),this.restoreState_(),this.firstConnection_=!1,this.onConnectStatus_(!0)},e.prototype.scheduleConnect_=function(n){var o=this;ei(!this.realtime_,"Scheduling a connect when we're already connected/ing?"),this.establishConnectionTimer_&&clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=setTimeout(function(){o.establishConnectionTimer_=null,o.establishConnection_()},Math.floor(n))},e.prototype.initConnection_=function(){!this.realtime_&&this.firstConnection_&&this.scheduleConnect_(0)},e.prototype.onVisible_=function(n){n&&!this.visible_&&this.reconnectDelay_===this.maxReconnectDelay_&&(this.log_("Window became visible. Reducing delay."),this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0)),this.visible_=n},e.prototype.onOnline_=function(n){n?(this.log_("Browser went online."),this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0)):(this.log_("Browser went offline. Killing connection."),this.realtime_&&this.realtime_.close())},e.prototype.onRealtimeDisconnect_=function(){if(this.log_("data client disconnected"),this.connected_=!1,this.realtime_=null,this.cancelSentTransactions_(),this.requestCBHash_={},this.shouldReconnect_()){if(!this.visible_)this.log_("Window isn't visible. Delaying reconnect."),this.reconnectDelay_=this.maxReconnectDelay_,this.lastConnectionAttemptTime_=new Date().getTime();else if(this.lastConnectionEstablishedTime_){var n=new Date().getTime()-this.lastConnectionEstablishedTime_;n>G1o&&(this.reconnectDelay_=Vz),this.lastConnectionEstablishedTime_=null}var o=new Date().getTime()-this.lastConnectionAttemptTime_,i=Math.max(0,this.reconnectDelay_-o);i=Math.random()*i,this.log_("Trying to reconnect in "+i+"ms"),this.scheduleConnect_(i),this.reconnectDelay_=Math.min(this.maxReconnectDelay_,this.reconnectDelay_*V1o)}this.onConnectStatus_(!1)},e.prototype.establishConnection_=function(){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l,s,c,u,d,f,p,g,y,A=this;return ho(this,function(x){switch(x.label){case 0:if(!this.shouldReconnect_())return[3,4];this.log_("Making a connection attempt"),this.lastConnectionAttemptTime_=new Date().getTime(),this.lastConnectionEstablishedTime_=null,n=this.onDataMessage_.bind(this),o=this.onReady_.bind(this),i=this.onRealtimeDisconnect_.bind(this),r=this.id+":"+e.nextConnectionId_++,a=this.lastSessionId,l=!1,s=null,c=function(){s?s.close():(l=!0,i())},u=function(C){ei(s,"sendRequest call when we're not connected not allowed."),s.sendRequest(C)},this.realtime_={close:c,sendRequest:u},d=this.forceTokenRefresh_,this.forceTokenRefresh_=!1,x.label=1;case 1:return x.trys.push([1,3,,4]),[4,Promise.all([this.authTokenProvider_.getToken(d),this.appCheckTokenProvider_.getToken(d)])];case 2:return f=tp.apply(void 0,[x.sent(),2]),p=f[0],g=f[1],l?wd("getToken() completed but was canceled"):(wd("getToken() completed. Creating connection."),this.authToken_=p&&p.accessToken,this.appCheckToken_=g&&g.token,s=new oit(r,this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,n,o,i,function(C){ff(C+" ("+A.repoInfo_.toString()+")"),A.interrupt(X1o)},a)),[3,4];case 3:return y=x.sent(),this.log_("Failed to get token: "+y),l||(this.repoInfo_.nodeAdmin&&ff(y),c()),[3,4];case 4:return[2]}})})},e.prototype.interrupt=function(n){wd("Interrupting connection for reason: "+n),this.interruptReasons_[n]=!0,this.realtime_?this.realtime_.close():(this.establishConnectionTimer_&&(clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=null),this.connected_&&this.onRealtimeDisconnect_())},e.prototype.resume=function(n){wd("Resuming connection for reason: "+n),delete this.interruptReasons_[n],Gue(this.interruptReasons_)&&(this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0))},e.prototype.handleTimestamp_=function(n){var o=n-new Date().getTime();this.onServerInfoUpdate_({serverTimeOffset:o})},e.prototype.cancelSentTransactions_=function(){for(var n=0;n=RMe&&(this.reconnectDelay_=CMe,this.authTokenProvider_.notifyForInvalidToken()))},e.prototype.onAppCheckRevoked_=function(n,o){wd("App check token revoked: "+n+"/"+o),this.appCheckToken_=null,this.forceTokenRefresh_=!0,(n==="invalid_token"||n==="permission_denied")&&(this.invalidAppCheckTokenCount_++,this.invalidAppCheckTokenCount_>=RMe&&this.appCheckTokenProvider_.notifyForInvalidToken())},e.prototype.onSecurityDebugPacket_=function(n){this.securityDebugCallback_?this.securityDebugCallback_(n):"msg"in n&&console.log("FIREBASE: "+n.msg.replace(` + */var Vz=1e3,j1o=60*5*1e3,Y1o=3*1e3,CMe=30*1e3,O1o=1.3,_1o=3e4,V1o="server_kill",RMe=3,Tx=function(t){Ti(e,t);function e(n,o,i,r,a,l,s,c){var u=t.call(this)||this;if(u.repoInfo_=n,u.applicationId_=o,u.onDataUpdate_=i,u.onConnectStatus_=r,u.onServerInfoUpdate_=a,u.authTokenProvider_=l,u.appCheckTokenProvider_=s,u.authOverride_=c,u.id=e.nextPersistentConnectionId_++,u.log_=NN("p:"+u.id+":"),u.interruptReasons_={},u.listens=new Map,u.outstandingPuts_=[],u.outstandingGets_=[],u.outstandingPutCount_=0,u.outstandingGetCount_=0,u.onDisconnectRequestQueue_=[],u.connected_=!1,u.reconnectDelay_=Vz,u.maxReconnectDelay_=j1o,u.securityDebugCallback_=null,u.lastSessionId=null,u.establishConnectionTimer_=null,u.visible_=!1,u.requestCBHash_={},u.requestNumber_=0,u.realtime_=null,u.authToken_=null,u.appCheckToken_=null,u.forceTokenRefresh_=!1,u.invalidAuthTokenCount_=0,u.invalidAppCheckTokenCount_=0,u.firstConnection_=!0,u.lastConnectionAttemptTime_=null,u.lastConnectionEstablishedTime_=null,c&&!aQe())throw new Error("Auth override specified in options, but not supported on non Node.js platforms");return B1o.getInstance().on("visible",u.onVisible_,u),n.host.indexOf("fblocal")===-1&&SMe.getInstance().on("online",u.onOnline_,u),u}return e.prototype.sendRequest=function(n,o,i){var r=++this.requestNumber_,a={r,a:n,b:o};this.log_(Du(a)),ei(this.connected_,"sendRequest call when we're not connected not allowed."),this.realtime_.sendRequest(a),i&&(this.requestCBHash_[r]=i)},e.prototype.get=function(n){var o=this;this.initConnection_();var i=new Lp,r={p:n._path.toString(),q:n._queryObject},a={action:"g",request:r,onComplete:function(s){var c=s.d;s.s==="ok"?(o.onDataUpdate_(r.p,c,!1,null),i.resolve(c)):i.reject(c)}};this.outstandingGets_.push(a),this.outstandingGetCount_++;var l=this.outstandingGets_.length-1;return this.connected_||setTimeout(function(){var s=o.outstandingGets_[l];s===void 0||a!==s||(delete o.outstandingGets_[l],o.outstandingGetCount_--,o.outstandingGetCount_===0&&(o.outstandingGets_=[]),o.log_("get "+l+" timed out on connection"),i.reject(new Error("Client is offline.")))},Y1o),this.connected_&&this.sendGet_(l),i.promise},e.prototype.listen=function(n,o,i,r){this.initConnection_();var a=n._queryIdentifier,l=n._path.toString();this.log_("Listen called for "+l+" "+a),this.listens.has(l)||this.listens.set(l,new Map),ei(n._queryParams.isDefault()||!n._queryParams.loadsAllData(),"listen() called for non-default but complete query"),ei(!this.listens.get(l).has(a),"listen() called twice for same path/queryId.");var s={onComplete:r,hashFn:o,query:n,tag:i};this.listens.get(l).set(a,s),this.connected_&&this.sendListen_(s)},e.prototype.sendGet_=function(n){var o=this,i=this.outstandingGets_[n];this.sendRequest("g",i.request,function(r){delete o.outstandingGets_[n],o.outstandingGetCount_--,o.outstandingGetCount_===0&&(o.outstandingGets_=[]),i.onComplete&&i.onComplete(r)})},e.prototype.sendListen_=function(n){var o=this,i=n.query,r=i._path.toString(),a=i._queryIdentifier;this.log_("Listen on "+r+" for "+a);var l={p:r},s="q";n.tag&&(l.q=i._queryObject,l.t=n.tag),l.h=n.hashFn(),this.sendRequest(s,l,function(c){var u=c.d,d=c.s;e.warnOnListenWarnings_(u,i);var f=o.listens.get(r)&&o.listens.get(r).get(a);f===n&&(o.log_("listen response",c),d!=="ok"&&o.removeListen_(r,a),n.onComplete&&n.onComplete(d,u))})},e.warnOnListenWarnings_=function(n,o){if(n&&typeof n=="object"&&Rg(n,"w")){var i=qx(n,"w");if(Array.isArray(i)&&~i.indexOf("no_index")){var r='".indexOn": "'+o._queryParams.getIndex().toString()+'"',a=o._path.toString();ff("Using an unspecified index. Your data will be downloaded and "+("filtered on the client. Consider adding "+r+" at ")+(a+" to your security rules for better performance."))}}},e.prototype.refreshAuthToken=function(n){this.authToken_=n,this.log_("Auth token refreshed"),this.authToken_?this.tryAuth():this.connected_&&this.sendRequest("unauth",{},function(){}),this.reduceReconnectDelayIfAdminCredential_(n)},e.prototype.reduceReconnectDelayIfAdminCredential_=function(n){var o=n&&n.length===40;(o||RLn(n))&&(this.log_("Admin auth credential detected. Reducing max reconnect time."),this.maxReconnectDelay_=CMe)},e.prototype.refreshAppCheckToken=function(n){this.appCheckToken_=n,this.log_("App check token refreshed"),this.appCheckToken_?this.tryAppCheck():this.connected_&&this.sendRequest("unappeck",{},function(){})},e.prototype.tryAuth=function(){var n=this;if(this.connected_&&this.authToken_){var o=this.authToken_,i=CLn(o)?"auth":"gauth",r={cred:o};this.authOverride_===null?r.noauth=!0:typeof this.authOverride_=="object"&&(r.authvar=this.authOverride_),this.sendRequest(i,r,function(a){var l=a.s,s=a.d||"error";n.authToken_===o&&(l==="ok"?n.invalidAuthTokenCount_=0:n.onAuthRevoked_(l,s))})}},e.prototype.tryAppCheck=function(){var n=this;this.connected_&&this.appCheckToken_&&this.sendRequest("appcheck",{token:this.appCheckToken_},function(o){var i=o.s,r=o.d||"error";i==="ok"?n.invalidAppCheckTokenCount_=0:n.onAppCheckRevoked_(i,r)})},e.prototype.unlisten=function(n,o){var i=n._path.toString(),r=n._queryIdentifier;this.log_("Unlisten called for "+i+" "+r),ei(n._queryParams.isDefault()||!n._queryParams.loadsAllData(),"unlisten() called for non-default but complete query");var a=this.removeListen_(i,r);a&&this.connected_&&this.sendUnlisten_(i,r,n._queryObject,o)},e.prototype.sendUnlisten_=function(n,o,i,r){this.log_("Unlisten on "+n+" for "+o);var a={p:n},l="n";r&&(a.q=i,a.t=r),this.sendRequest(l,a)},e.prototype.onDisconnectPut=function(n,o,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("o",n,o,i):this.onDisconnectRequestQueue_.push({pathString:n,action:"o",data:o,onComplete:i})},e.prototype.onDisconnectMerge=function(n,o,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("om",n,o,i):this.onDisconnectRequestQueue_.push({pathString:n,action:"om",data:o,onComplete:i})},e.prototype.onDisconnectCancel=function(n,o){this.initConnection_(),this.connected_?this.sendOnDisconnect_("oc",n,null,o):this.onDisconnectRequestQueue_.push({pathString:n,action:"oc",data:null,onComplete:o})},e.prototype.sendOnDisconnect_=function(n,o,i,r){var a={p:o,d:i};this.log_("onDisconnect "+n,a),this.sendRequest(n,a,function(l){r&&setTimeout(function(){r(l.s,l.d)},Math.floor(0))})},e.prototype.put=function(n,o,i,r){this.putInternal("p",n,o,i,r)},e.prototype.merge=function(n,o,i,r){this.putInternal("m",n,o,i,r)},e.prototype.putInternal=function(n,o,i,r,a){this.initConnection_();var l={p:o,d:i};a!==void 0&&(l.h=a),this.outstandingPuts_.push({action:n,request:l,onComplete:r}),this.outstandingPutCount_++;var s=this.outstandingPuts_.length-1;this.connected_?this.sendPut_(s):this.log_("Buffering put: "+o)},e.prototype.sendPut_=function(n){var o=this,i=this.outstandingPuts_[n].action,r=this.outstandingPuts_[n].request,a=this.outstandingPuts_[n].onComplete;this.outstandingPuts_[n].queued=this.connected_,this.sendRequest(i,r,function(l){o.log_(i+" response",l),delete o.outstandingPuts_[n],o.outstandingPutCount_--,o.outstandingPutCount_===0&&(o.outstandingPuts_=[]),a&&a(l.s,l.d)})},e.prototype.reportStats=function(n){var o=this;if(this.connected_){var i={c:n};this.log_("reportStats",i),this.sendRequest("s",i,function(r){var a=r.s;if(a!=="ok"){var l=r.d;o.log_("reportStats","Error sending stats: "+l)}})}},e.prototype.onDataMessage_=function(n){if("r"in n){this.log_("from server: "+Du(n));var o=n.r,i=this.requestCBHash_[o];i&&(delete this.requestCBHash_[o],i(n.b))}else{if("error"in n)throw"A server-side error has occurred: "+n.error;"a"in n&&this.onDataPush_(n.a,n.b)}},e.prototype.onDataPush_=function(n,o){this.log_("handleServerMessage",n,o),n==="d"?this.onDataUpdate_(o.p,o.d,!1,o.t):n==="m"?this.onDataUpdate_(o.p,o.d,!0,o.t):n==="c"?this.onListenRevoked_(o.p,o.q):n==="ac"?this.onAuthRevoked_(o.s,o.d):n==="apc"?this.onAppCheckRevoked_(o.s,o.d):n==="sd"?this.onSecurityDebugPacket_(o):Gde("Unrecognized action received from server: "+Du(n)+` +Are you using the latest client?`)},e.prototype.onReady_=function(n,o){this.log_("connection ready"),this.connected_=!0,this.lastConnectionEstablishedTime_=new Date().getTime(),this.handleTimestamp_(n),this.lastSessionId=o,this.firstConnection_&&this.sendConnectStats_(),this.restoreState_(),this.firstConnection_=!1,this.onConnectStatus_(!0)},e.prototype.scheduleConnect_=function(n){var o=this;ei(!this.realtime_,"Scheduling a connect when we're already connected/ing?"),this.establishConnectionTimer_&&clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=setTimeout(function(){o.establishConnectionTimer_=null,o.establishConnection_()},Math.floor(n))},e.prototype.initConnection_=function(){!this.realtime_&&this.firstConnection_&&this.scheduleConnect_(0)},e.prototype.onVisible_=function(n){n&&!this.visible_&&this.reconnectDelay_===this.maxReconnectDelay_&&(this.log_("Window became visible. Reducing delay."),this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0)),this.visible_=n},e.prototype.onOnline_=function(n){n?(this.log_("Browser went online."),this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0)):(this.log_("Browser went offline. Killing connection."),this.realtime_&&this.realtime_.close())},e.prototype.onRealtimeDisconnect_=function(){if(this.log_("data client disconnected"),this.connected_=!1,this.realtime_=null,this.cancelSentTransactions_(),this.requestCBHash_={},this.shouldReconnect_()){if(!this.visible_)this.log_("Window isn't visible. Delaying reconnect."),this.reconnectDelay_=this.maxReconnectDelay_,this.lastConnectionAttemptTime_=new Date().getTime();else if(this.lastConnectionEstablishedTime_){var n=new Date().getTime()-this.lastConnectionEstablishedTime_;n>_1o&&(this.reconnectDelay_=Vz),this.lastConnectionEstablishedTime_=null}var o=new Date().getTime()-this.lastConnectionAttemptTime_,i=Math.max(0,this.reconnectDelay_-o);i=Math.random()*i,this.log_("Trying to reconnect in "+i+"ms"),this.scheduleConnect_(i),this.reconnectDelay_=Math.min(this.maxReconnectDelay_,this.reconnectDelay_*O1o)}this.onConnectStatus_(!1)},e.prototype.establishConnection_=function(){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l,s,c,u,d,f,p,g,y,A=this;return ho(this,function(x){switch(x.label){case 0:if(!this.shouldReconnect_())return[3,4];this.log_("Making a connection attempt"),this.lastConnectionAttemptTime_=new Date().getTime(),this.lastConnectionEstablishedTime_=null,n=this.onDataMessage_.bind(this),o=this.onReady_.bind(this),i=this.onRealtimeDisconnect_.bind(this),r=this.id+":"+e.nextConnectionId_++,a=this.lastSessionId,l=!1,s=null,c=function(){s?s.close():(l=!0,i())},u=function(C){ei(s,"sendRequest call when we're not connected not allowed."),s.sendRequest(C)},this.realtime_={close:c,sendRequest:u},d=this.forceTokenRefresh_,this.forceTokenRefresh_=!1,x.label=1;case 1:return x.trys.push([1,3,,4]),[4,Promise.all([this.authTokenProvider_.getToken(d),this.appCheckTokenProvider_.getToken(d)])];case 2:return f=tp.apply(void 0,[x.sent(),2]),p=f[0],g=f[1],l?wd("getToken() completed but was canceled"):(wd("getToken() completed. Creating connection."),this.authToken_=p&&p.accessToken,this.appCheckToken_=g&&g.token,s=new oit(r,this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,n,o,i,function(C){ff(C+" ("+A.repoInfo_.toString()+")"),A.interrupt(V1o)},a)),[3,4];case 3:return y=x.sent(),this.log_("Failed to get token: "+y),l||(this.repoInfo_.nodeAdmin&&ff(y),c()),[3,4];case 4:return[2]}})})},e.prototype.interrupt=function(n){wd("Interrupting connection for reason: "+n),this.interruptReasons_[n]=!0,this.realtime_?this.realtime_.close():(this.establishConnectionTimer_&&(clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=null),this.connected_&&this.onRealtimeDisconnect_())},e.prototype.resume=function(n){wd("Resuming connection for reason: "+n),delete this.interruptReasons_[n],Gue(this.interruptReasons_)&&(this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0))},e.prototype.handleTimestamp_=function(n){var o=n-new Date().getTime();this.onServerInfoUpdate_({serverTimeOffset:o})},e.prototype.cancelSentTransactions_=function(){for(var n=0;n=RMe&&(this.reconnectDelay_=CMe,this.authTokenProvider_.notifyForInvalidToken()))},e.prototype.onAppCheckRevoked_=function(n,o){wd("App check token revoked: "+n+"/"+o),this.appCheckToken_=null,this.forceTokenRefresh_=!0,(n==="invalid_token"||n==="permission_denied")&&(this.invalidAppCheckTokenCount_++,this.invalidAppCheckTokenCount_>=RMe&&this.appCheckTokenProvider_.notifyForInvalidToken())},e.prototype.onSecurityDebugPacket_=function(n){this.securityDebugCallback_?this.securityDebugCallback_(n):"msg"in n&&console.log("FIREBASE: "+n.msg.replace(` `,` -FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),this.tryAppCheck();try{for(var a=yg(this.listens.values()),l=a.next();!l.done;l=a.next()){var s=l.value;try{for(var c=(i=void 0,yg(s.values())),u=c.next();!u.done;u=c.next()){var d=u.value;this.sendListen_(d)}}catch(g){i={error:g}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}}}catch(g){n={error:g}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}for(var f=0;f0},t.prototype.peek=function(){if(this.nodeStack_.length===0)return null;var e=this.nodeStack_[this.nodeStack_.length-1];return this.resultGenerator_?this.resultGenerator_(e.key,e.value):{key:e.key,value:e.value}},t}(),t2=function(){function t(e,n,o,i,r){this.key=e,this.value=n,this.color=o??t.RED,this.left=i??A6.EMPTY_NODE,this.right=r??A6.EMPTY_NODE}return t.prototype.copy=function(e,n,o,i,r){return new t(e??this.key,n??this.value,o??this.color,i??this.left,r??this.right)},t.prototype.count=function(){return this.left.count()+1+this.right.count()},t.prototype.isEmpty=function(){return!1},t.prototype.inorderTraversal=function(e){return this.left.inorderTraversal(e)||!!e(this.key,this.value)||this.right.inorderTraversal(e)},t.prototype.reverseTraversal=function(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)},t.prototype.min_=function(){return this.left.isEmpty()?this:this.left.min_()},t.prototype.minKey=function(){return this.min_().key},t.prototype.maxKey=function(){return this.right.isEmpty()?this.key:this.right.maxKey()},t.prototype.insert=function(e,n,o){var i=this,r=o(e,i.key);return r<0?i=i.copy(null,null,null,i.left.insert(e,n,o),null):r===0?i=i.copy(null,n,null,null,null):i=i.copy(null,null,null,null,i.right.insert(e,n,o)),i.fixUp_()},t.prototype.removeMin_=function(){if(this.left.isEmpty())return A6.EMPTY_NODE;var e=this;return!e.left.isRed_()&&!e.left.left.isRed_()&&(e=e.moveRedLeft_()),e=e.copy(null,null,null,e.left.removeMin_(),null),e.fixUp_()},t.prototype.remove=function(e,n){var o,i;if(o=this,n(e,o.key)<0)!o.left.isEmpty()&&!o.left.isRed_()&&!o.left.left.isRed_()&&(o=o.moveRedLeft_()),o=o.copy(null,null,null,o.left.remove(e,n),null);else{if(o.left.isRed_()&&(o=o.rotateRight_()),!o.right.isEmpty()&&!o.right.isRed_()&&!o.right.left.isRed_()&&(o=o.moveRedRight_()),n(e,o.key)===0){if(o.right.isEmpty())return A6.EMPTY_NODE;i=o.right.min_(),o=o.copy(i.key,i.value,null,null,o.right.removeMin_())}o=o.copy(null,null,null,null,o.right.remove(e,n))}return o.fixUp_()},t.prototype.isRed_=function(){return this.color},t.prototype.fixUp_=function(){var e=this;return e.right.isRed_()&&!e.left.isRed_()&&(e=e.rotateLeft_()),e.left.isRed_()&&e.left.left.isRed_()&&(e=e.rotateRight_()),e.left.isRed_()&&e.right.isRed_()&&(e=e.colorFlip_()),e},t.prototype.moveRedLeft_=function(){var e=this.colorFlip_();return e.right.left.isRed_()&&(e=e.copy(null,null,null,null,e.right.rotateRight_()),e=e.rotateLeft_(),e=e.colorFlip_()),e},t.prototype.moveRedRight_=function(){var e=this.colorFlip_();return e.left.left.isRed_()&&(e=e.rotateRight_(),e=e.colorFlip_()),e},t.prototype.rotateLeft_=function(){var e=this.copy(null,null,t.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)},t.prototype.rotateRight_=function(){var e=this.copy(null,null,t.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)},t.prototype.colorFlip_=function(){var e=this.left.copy(null,null,!this.left.color,null,null),n=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,n)},t.prototype.checkMaxDepth_=function(){var e=this.check_();return Math.pow(2,e)<=this.count()+1},t.prototype.check_=function(){if(this.isRed_()&&this.left.isRed_())throw new Error("Red node has red child("+this.key+","+this.value+")");if(this.right.isRed_())throw new Error("Right child of ("+this.key+","+this.value+") is red");var e=this.left.check_();if(e!==this.right.check_())throw new Error("Black depths differ");return e+(this.isRed_()?0:1)},t.RED=!0,t.BLACK=!1,t}(),J1o=function(){function t(){}return t.prototype.copy=function(e,n,o,i,r){return this},t.prototype.insert=function(e,n,o){return new t2(e,n,null)},t.prototype.remove=function(e,n){return this},t.prototype.count=function(){return 0},t.prototype.isEmpty=function(){return!0},t.prototype.inorderTraversal=function(e){return!1},t.prototype.reverseTraversal=function(e){return!1},t.prototype.minKey=function(){return null},t.prototype.maxKey=function(){return null},t.prototype.check_=function(){return 0},t.prototype.isRed_=function(){return!1},t}(),A6=function(){function t(e,n){n===void 0&&(n=t.EMPTY_NODE),this.comparator_=e,this.root_=n}return t.prototype.insert=function(e,n){return new t(this.comparator_,this.root_.insert(e,n,this.comparator_).copy(null,null,t2.BLACK,null,null))},t.prototype.remove=function(e){return new t(this.comparator_,this.root_.remove(e,this.comparator_).copy(null,null,t2.BLACK,null,null))},t.prototype.get=function(e){for(var n,o=this.root_;!o.isEmpty();){if(n=this.comparator_(e,o.key),n===0)return o.value;n<0?o=o.left:n>0&&(o=o.right)}return null},t.prototype.getPredecessorKey=function(e){for(var n,o=this.root_,i=null;!o.isEmpty();)if(n=this.comparator_(e,o.key),n===0){if(o.left.isEmpty())return i?i.key:null;for(o=o.left;!o.right.isEmpty();)o=o.right;return o.key}else n<0?o=o.left:n>0&&(i=o,o=o.right);throw new Error("Attempted to find predecessor key for a nonexistent key. What gives?")},t.prototype.isEmpty=function(){return this.root_.isEmpty()},t.prototype.count=function(){return this.root_.count()},t.prototype.minKey=function(){return this.root_.minKey()},t.prototype.maxKey=function(){return this.root_.maxKey()},t.prototype.inorderTraversal=function(e){return this.root_.inorderTraversal(e)},t.prototype.reverseTraversal=function(e){return this.root_.reverseTraversal(e)},t.prototype.getIterator=function(e){return new DO(this.root_,null,this.comparator_,!1,e)},t.prototype.getIteratorFrom=function(e,n){return new DO(this.root_,e,this.comparator_,!1,n)},t.prototype.getReverseIteratorFrom=function(e,n){return new DO(this.root_,e,this.comparator_,!0,n)},t.prototype.getReverseIterator=function(e){return new DO(this.root_,null,this.comparator_,!0,e)},t.EMPTY_NODE=new J1o,t}();/** + */var DO=function(){function t(e,n,o,i,r){r===void 0&&(r=null),this.isReverse_=i,this.resultGenerator_=r,this.nodeStack_=[];for(var a=1;!e.isEmpty();)if(e=e,a=n?o(e.key,n):1,i&&(a*=-1),a<0)this.isReverse_?e=e.left:e=e.right;else if(a===0){this.nodeStack_.push(e);break}else this.nodeStack_.push(e),this.isReverse_?e=e.right:e=e.left}return t.prototype.getNext=function(){if(this.nodeStack_.length===0)return null;var e=this.nodeStack_.pop(),n;if(this.resultGenerator_?n=this.resultGenerator_(e.key,e.value):n={key:e.key,value:e.value},this.isReverse_)for(e=e.left;!e.isEmpty();)this.nodeStack_.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack_.push(e),e=e.left;return n},t.prototype.hasNext=function(){return this.nodeStack_.length>0},t.prototype.peek=function(){if(this.nodeStack_.length===0)return null;var e=this.nodeStack_[this.nodeStack_.length-1];return this.resultGenerator_?this.resultGenerator_(e.key,e.value):{key:e.key,value:e.value}},t}(),t2=function(){function t(e,n,o,i,r){this.key=e,this.value=n,this.color=o??t.RED,this.left=i??A6.EMPTY_NODE,this.right=r??A6.EMPTY_NODE}return t.prototype.copy=function(e,n,o,i,r){return new t(e??this.key,n??this.value,o??this.color,i??this.left,r??this.right)},t.prototype.count=function(){return this.left.count()+1+this.right.count()},t.prototype.isEmpty=function(){return!1},t.prototype.inorderTraversal=function(e){return this.left.inorderTraversal(e)||!!e(this.key,this.value)||this.right.inorderTraversal(e)},t.prototype.reverseTraversal=function(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)},t.prototype.min_=function(){return this.left.isEmpty()?this:this.left.min_()},t.prototype.minKey=function(){return this.min_().key},t.prototype.maxKey=function(){return this.right.isEmpty()?this.key:this.right.maxKey()},t.prototype.insert=function(e,n,o){var i=this,r=o(e,i.key);return r<0?i=i.copy(null,null,null,i.left.insert(e,n,o),null):r===0?i=i.copy(null,n,null,null,null):i=i.copy(null,null,null,null,i.right.insert(e,n,o)),i.fixUp_()},t.prototype.removeMin_=function(){if(this.left.isEmpty())return A6.EMPTY_NODE;var e=this;return!e.left.isRed_()&&!e.left.left.isRed_()&&(e=e.moveRedLeft_()),e=e.copy(null,null,null,e.left.removeMin_(),null),e.fixUp_()},t.prototype.remove=function(e,n){var o,i;if(o=this,n(e,o.key)<0)!o.left.isEmpty()&&!o.left.isRed_()&&!o.left.left.isRed_()&&(o=o.moveRedLeft_()),o=o.copy(null,null,null,o.left.remove(e,n),null);else{if(o.left.isRed_()&&(o=o.rotateRight_()),!o.right.isEmpty()&&!o.right.isRed_()&&!o.right.left.isRed_()&&(o=o.moveRedRight_()),n(e,o.key)===0){if(o.right.isEmpty())return A6.EMPTY_NODE;i=o.right.min_(),o=o.copy(i.key,i.value,null,null,o.right.removeMin_())}o=o.copy(null,null,null,null,o.right.remove(e,n))}return o.fixUp_()},t.prototype.isRed_=function(){return this.color},t.prototype.fixUp_=function(){var e=this;return e.right.isRed_()&&!e.left.isRed_()&&(e=e.rotateLeft_()),e.left.isRed_()&&e.left.left.isRed_()&&(e=e.rotateRight_()),e.left.isRed_()&&e.right.isRed_()&&(e=e.colorFlip_()),e},t.prototype.moveRedLeft_=function(){var e=this.colorFlip_();return e.right.left.isRed_()&&(e=e.copy(null,null,null,null,e.right.rotateRight_()),e=e.rotateLeft_(),e=e.colorFlip_()),e},t.prototype.moveRedRight_=function(){var e=this.colorFlip_();return e.left.left.isRed_()&&(e=e.rotateRight_(),e=e.colorFlip_()),e},t.prototype.rotateLeft_=function(){var e=this.copy(null,null,t.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)},t.prototype.rotateRight_=function(){var e=this.copy(null,null,t.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)},t.prototype.colorFlip_=function(){var e=this.left.copy(null,null,!this.left.color,null,null),n=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,n)},t.prototype.checkMaxDepth_=function(){var e=this.check_();return Math.pow(2,e)<=this.count()+1},t.prototype.check_=function(){if(this.isRed_()&&this.left.isRed_())throw new Error("Red node has red child("+this.key+","+this.value+")");if(this.right.isRed_())throw new Error("Right child of ("+this.key+","+this.value+") is red");var e=this.left.check_();if(e!==this.right.check_())throw new Error("Black depths differ");return e+(this.isRed_()?0:1)},t.RED=!0,t.BLACK=!1,t}(),G1o=function(){function t(){}return t.prototype.copy=function(e,n,o,i,r){return this},t.prototype.insert=function(e,n,o){return new t2(e,n,null)},t.prototype.remove=function(e,n){return this},t.prototype.count=function(){return 0},t.prototype.isEmpty=function(){return!0},t.prototype.inorderTraversal=function(e){return!1},t.prototype.reverseTraversal=function(e){return!1},t.prototype.minKey=function(){return null},t.prototype.maxKey=function(){return null},t.prototype.check_=function(){return 0},t.prototype.isRed_=function(){return!1},t}(),A6=function(){function t(e,n){n===void 0&&(n=t.EMPTY_NODE),this.comparator_=e,this.root_=n}return t.prototype.insert=function(e,n){return new t(this.comparator_,this.root_.insert(e,n,this.comparator_).copy(null,null,t2.BLACK,null,null))},t.prototype.remove=function(e){return new t(this.comparator_,this.root_.remove(e,this.comparator_).copy(null,null,t2.BLACK,null,null))},t.prototype.get=function(e){for(var n,o=this.root_;!o.isEmpty();){if(n=this.comparator_(e,o.key),n===0)return o.value;n<0?o=o.left:n>0&&(o=o.right)}return null},t.prototype.getPredecessorKey=function(e){for(var n,o=this.root_,i=null;!o.isEmpty();)if(n=this.comparator_(e,o.key),n===0){if(o.left.isEmpty())return i?i.key:null;for(o=o.left;!o.right.isEmpty();)o=o.right;return o.key}else n<0?o=o.left:n>0&&(i=o,o=o.right);throw new Error("Attempted to find predecessor key for a nonexistent key. What gives?")},t.prototype.isEmpty=function(){return this.root_.isEmpty()},t.prototype.count=function(){return this.root_.count()},t.prototype.minKey=function(){return this.root_.minKey()},t.prototype.maxKey=function(){return this.root_.maxKey()},t.prototype.inorderTraversal=function(e){return this.root_.inorderTraversal(e)},t.prototype.reverseTraversal=function(e){return this.root_.reverseTraversal(e)},t.prototype.getIterator=function(e){return new DO(this.root_,null,this.comparator_,!1,e)},t.prototype.getIteratorFrom=function(e,n){return new DO(this.root_,e,this.comparator_,!1,n)},t.prototype.getReverseIteratorFrom=function(e,n){return new DO(this.root_,e,this.comparator_,!0,n)},t.prototype.getReverseIterator=function(e){return new DO(this.root_,null,this.comparator_,!0,e)},t.EMPTY_NODE=new G1o,t}();/** * @license * Copyright 2017 Google LLC * @@ -7647,7 +7647,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function K1o(t,e){return Qb(t.name,e.name)}function p9e(t,e){return Qb(t,e)}/** + */function X1o(t,e){return Qb(t.name,e.name)}function p9e(t,e){return Qb(t,e)}/** * @license * Copyright 2017 Google LLC * @@ -7662,7 +7662,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Jde;function q1o(t){Jde=t}var cit=function(t){return typeof t=="number"?"number:"+jot(t):"string:"+t},uit=function(t){if(t.isLeafNode()){var e=t.val();ei(typeof e=="string"||typeof e=="number"||typeof e=="object"&&Rg(e,".sv"),"Priority must be a string or number.")}else ei(t===Jde||t.isEmpty(),"priority of unexpected type.");ei(t===Jde||t.getPriority().isEmpty(),"Priority nodes can't have a priority of their own.")};/** + */var Jde;function J1o(t){Jde=t}var cit=function(t){return typeof t=="number"?"number:"+jot(t):"string:"+t},uit=function(t){if(t.isLeafNode()){var e=t.val();ei(typeof e=="string"||typeof e=="number"||typeof e=="object"&&Rg(e,".sv"),"Priority must be a string or number.")}else ei(t===Jde||t.isEmpty(),"priority of unexpected type.");ei(t===Jde||t.getPriority().isEmpty(),"Priority nodes can't have a priority of their own.")};/** * @license * Copyright 2017 Google LLC * @@ -7692,7 +7692,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var dit,fit;function $1o(t){dit=t}function Q1o(t){fit=t}var Z1o=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.compare=function(n,o){var i=n.node.getPriority(),r=o.node.getPriority(),a=i.compareTo(r);return a===0?Qb(n.name,o.name):a},e.prototype.isDefinedOn=function(n){return!n.getPriority().isEmpty()},e.prototype.indexedValueChanged=function(n,o){return!n.getPriority().equals(o.getPriority())},e.prototype.minPost=function(){return Ja.MIN},e.prototype.maxPost=function(){return new Ja(B9,new WR("[PRIORITY-POST]",fit))},e.prototype.makePost=function(n,o){var i=dit(n);return new Ja(o,new WR("[PRIORITY-POST]",i))},e.prototype.toString=function(){return".priority"},e}(YZ),Vs=new Z1o;/** + */var dit,fit;function K1o(t){dit=t}function q1o(t){fit=t}var $1o=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.compare=function(n,o){var i=n.node.getPriority(),r=o.node.getPriority(),a=i.compareTo(r);return a===0?Qb(n.name,o.name):a},e.prototype.isDefinedOn=function(n){return!n.getPriority().isEmpty()},e.prototype.indexedValueChanged=function(n,o){return!n.getPriority().equals(o.getPriority())},e.prototype.minPost=function(){return Ja.MIN},e.prototype.maxPost=function(){return new Ja(B9,new WR("[PRIORITY-POST]",fit))},e.prototype.makePost=function(n,o){var i=dit(n);return new Ja(o,new WR("[PRIORITY-POST]",i))},e.prototype.toString=function(){return".priority"},e}(YZ),Vs=new $1o;/** * @license * Copyright 2017 Google LLC * @@ -7707,7 +7707,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var ego=Math.log(2),tgo=function(){function t(e){var n=function(r){return parseInt(Math.log(r)/ego,10)},o=function(r){return parseInt(Array(r+1).join("1"),2)};this.count=n(e+1),this.current_=this.count-1;var i=o(this.count);this.bits_=e+1&i}return t.prototype.nextBitIsOne=function(){var e=!(this.bits_&1<0;)i.getNext(),r=i.peek();return i},t.prototype.compareTo=function(e){return this.isEmpty()?e.isEmpty()?0:-1:e.isLeafNode()||e.isEmpty()?1:e===UN?-1:0},t.prototype.withIndex=function(e){if(e===S9||this.indexMap_.hasIndex(e))return this;var n=this.indexMap_.addIndex(e,this.children_);return new t(this.children_,this.priorityNode_,n)},t.prototype.isIndexed=function(e){return e===S9||this.indexMap_.hasIndex(e)},t.prototype.equals=function(e){if(e===this)return!0;if(e.isLeafNode())return!1;var n=e;if(this.getPriority().equals(n.getPriority()))if(this.children_.count()===n.children_.count()){for(var o=this.getIterator(Vs),i=n.getIterator(Vs),r=o.getNext(),a=i.getNext();r&&a;){if(r.name!==a.name||!r.node.equals(a.node))return!1;r=o.getNext(),a=i.getNext()}return r===null&&a===null}else return!1;else return!1},t.prototype.resolveIndex_=function(e){return e===S9?null:this.indexMap_.get(e.toString())},t.INTEGER_REGEXP_=/^(0|[1-9]\d*)$/,t}(),ngo=function(t){Ti(e,t);function e(){return t.call(this,new A6(p9e),la.EMPTY_NODE,XX.Default)||this}return e.prototype.compareTo=function(n){return n===this?0:1},e.prototype.equals=function(n){return n===this},e.prototype.getPriority=function(){return this},e.prototype.getImmediateChild=function(n){return la.EMPTY_NODE},e.prototype.isEmpty=function(){return!1},e}(la),UN=new ngo;Object.defineProperties(Ja,{MIN:{value:new Ja(Z6,la.EMPTY_NODE)},MAX:{value:new Ja(B9,UN)}});sit.__EMPTY_NODE=la.EMPTY_NODE;WR.__childrenNodeConstructor=la;q1o(UN);Q1o(UN);/** + */var Gz,la=function(){function t(e,n,o){this.children_=e,this.priorityNode_=n,this.indexMap_=o,this.lazyHash_=null,this.priorityNode_&&uit(this.priorityNode_),this.children_.isEmpty()&&ei(!this.priorityNode_||this.priorityNode_.isEmpty(),"An empty node cannot have a priority")}return Object.defineProperty(t,"EMPTY_NODE",{get:function(){return Gz||(Gz=new t(new A6(p9e),null,XX.Default))},enumerable:!1,configurable:!0}),t.prototype.isLeafNode=function(){return!1},t.prototype.getPriority=function(){return this.priorityNode_||Gz},t.prototype.updatePriority=function(e){return this.children_.isEmpty()?this:new t(this.children_,e,this.indexMap_)},t.prototype.getImmediateChild=function(e){if(e===".priority")return this.getPriority();var n=this.children_.get(e);return n===null?Gz:n},t.prototype.getChild=function(e){var n=Ra(e);return n===null?this:this.getImmediateChild(n).getChild(bs(e))},t.prototype.hasChild=function(e){return this.children_.get(e)!==null},t.prototype.updateImmediateChild=function(e,n){if(ei(n,"We should always be passing snapshot nodes"),e===".priority")return this.updatePriority(n);var o=new Ja(e,n),i=void 0,r=void 0;n.isEmpty()?(i=this.children_.remove(e),r=this.indexMap_.removeFromIndexes(o,this.children_)):(i=this.children_.insert(e,n),r=this.indexMap_.addToIndexes(o,this.children_));var a=i.isEmpty()?Gz:this.priorityNode_;return new t(i,a,r)},t.prototype.updateChild=function(e,n){var o=Ra(e);if(o===null)return n;ei(Ra(e)!==".priority"||p7(e)===1,".priority must be the last token in a path");var i=this.getImmediateChild(o).updateChild(bs(e),n);return this.updateImmediateChild(o,i)},t.prototype.isEmpty=function(){return this.children_.isEmpty()},t.prototype.numChildren=function(){return this.children_.count()},t.prototype.val=function(e){if(this.isEmpty())return null;var n={},o=0,i=0,r=!0;if(this.forEachChild(Vs,function(s,c){n[s]=c.val(e),o++,r&&t.INTEGER_REGEXP_.test(s)?i=Math.max(i,Number(s)):r=!1}),!e&&r&&i<2*o){var a=[];for(var l in n)a[l]=n[l];return a}else return e&&!this.getPriority().isEmpty()&&(n[".priority"]=this.getPriority().val()),n},t.prototype.hash=function(){if(this.lazyHash_===null){var e="";this.getPriority().isEmpty()||(e+="priority:"+cit(this.getPriority().val())+":"),this.forEachChild(Vs,function(n,o){var i=o.hash();i!==""&&(e+=":"+n+":"+i)}),this.lazyHash_=e===""?"":Not(e)}return this.lazyHash_},t.prototype.getPredecessorChildName=function(e,n,o){var i=this.resolveIndex_(o);if(i){var r=i.getPredecessorKey(new Ja(e,n));return r?r.name:null}else return this.children_.getPredecessorKey(e)},t.prototype.getFirstChildName=function(e){var n=this.resolveIndex_(e);if(n){var o=n.minKey();return o&&o.name}else return this.children_.minKey()},t.prototype.getFirstChild=function(e){var n=this.getFirstChildName(e);return n?new Ja(n,this.children_.get(n)):null},t.prototype.getLastChildName=function(e){var n=this.resolveIndex_(e);if(n){var o=n.maxKey();return o&&o.name}else return this.children_.maxKey()},t.prototype.getLastChild=function(e){var n=this.getLastChildName(e);return n?new Ja(n,this.children_.get(n)):null},t.prototype.forEachChild=function(e,n){var o=this.resolveIndex_(e);return o?o.inorderTraversal(function(i){return n(i.name,i.node)}):this.children_.inorderTraversal(n)},t.prototype.getIterator=function(e){return this.getIteratorFrom(e.minPost(),e)},t.prototype.getIteratorFrom=function(e,n){var o=this.resolveIndex_(n);if(o)return o.getIteratorFrom(e,function(a){return a});for(var i=this.children_.getIteratorFrom(e.name,Ja.Wrap),r=i.peek();r!=null&&n.compare(r,e)<0;)i.getNext(),r=i.peek();return i},t.prototype.getReverseIterator=function(e){return this.getReverseIteratorFrom(e.maxPost(),e)},t.prototype.getReverseIteratorFrom=function(e,n){var o=this.resolveIndex_(n);if(o)return o.getReverseIteratorFrom(e,function(a){return a});for(var i=this.children_.getReverseIteratorFrom(e.name,Ja.Wrap),r=i.peek();r!=null&&n.compare(r,e)>0;)i.getNext(),r=i.peek();return i},t.prototype.compareTo=function(e){return this.isEmpty()?e.isEmpty()?0:-1:e.isLeafNode()||e.isEmpty()?1:e===UN?-1:0},t.prototype.withIndex=function(e){if(e===S9||this.indexMap_.hasIndex(e))return this;var n=this.indexMap_.addIndex(e,this.children_);return new t(this.children_,this.priorityNode_,n)},t.prototype.isIndexed=function(e){return e===S9||this.indexMap_.hasIndex(e)},t.prototype.equals=function(e){if(e===this)return!0;if(e.isLeafNode())return!1;var n=e;if(this.getPriority().equals(n.getPriority()))if(this.children_.count()===n.children_.count()){for(var o=this.getIterator(Vs),i=n.getIterator(Vs),r=o.getNext(),a=i.getNext();r&&a;){if(r.name!==a.name||!r.node.equals(a.node))return!1;r=o.getNext(),a=i.getNext()}return r===null&&a===null}else return!1;else return!1},t.prototype.resolveIndex_=function(e){return e===S9?null:this.indexMap_.get(e.toString())},t.INTEGER_REGEXP_=/^(0|[1-9]\d*)$/,t}(),ego=function(t){Ti(e,t);function e(){return t.call(this,new A6(p9e),la.EMPTY_NODE,XX.Default)||this}return e.prototype.compareTo=function(n){return n===this?0:1},e.prototype.equals=function(n){return n===this},e.prototype.getPriority=function(){return this},e.prototype.getImmediateChild=function(n){return la.EMPTY_NODE},e.prototype.isEmpty=function(){return!1},e}(la),UN=new ego;Object.defineProperties(Ja,{MIN:{value:new Ja(Z6,la.EMPTY_NODE)},MAX:{value:new Ja(B9,UN)}});sit.__EMPTY_NODE=la.EMPTY_NODE;WR.__childrenNodeConstructor=la;J1o(UN);q1o(UN);/** * @license * Copyright 2017 Google LLC * @@ -7752,7 +7752,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var ogo=!0;function t0(t,e){if(e===void 0&&(e=null),t===null)return la.EMPTY_NODE;if(typeof t=="object"&&".priority"in t&&(e=t[".priority"]),ei(e===null||typeof e=="string"||typeof e=="number"||typeof e=="object"&&".sv"in e,"Invalid priority type found: "+typeof e),typeof t=="object"&&".value"in t&&t[".value"]!==null&&(t=t[".value"]),typeof t!="object"||".sv"in t){var n=t;return new WR(n,t0(e))}if(!(t instanceof Array)&&ogo){var o=[],i=!1,r=t;if(Vu(r,function(c,u){if(c.substring(0,1)!=="."){var d=t0(u);d.isEmpty()||(i=i||!d.getPriority().isEmpty(),o.push(new Ja(c,d)))}}),o.length===0)return la.EMPTY_NODE;var a=GX(o,K1o,function(c){return c.name},p9e);if(i){var l=GX(o,Vs.getCompare());return new la(a,t0(e),new XX({".priority":l},{".priority":Vs}))}else return new la(a,t0(e),XX.Default)}else{var s=la.EMPTY_NODE;return Vu(t,function(c,u){if(Rg(t,c)&&c.substring(0,1)!=="."){var d=t0(u);(d.isLeafNode()||!d.isEmpty())&&(s=s.updateImmediateChild(c,d))}}),s.updatePriority(t0(e))}}$1o(t0);/** + */var tgo=!0;function t0(t,e){if(e===void 0&&(e=null),t===null)return la.EMPTY_NODE;if(typeof t=="object"&&".priority"in t&&(e=t[".priority"]),ei(e===null||typeof e=="string"||typeof e=="number"||typeof e=="object"&&".sv"in e,"Invalid priority type found: "+typeof e),typeof t=="object"&&".value"in t&&t[".value"]!==null&&(t=t[".value"]),typeof t!="object"||".sv"in t){var n=t;return new WR(n,t0(e))}if(!(t instanceof Array)&&tgo){var o=[],i=!1,r=t;if(Vu(r,function(c,u){if(c.substring(0,1)!=="."){var d=t0(u);d.isEmpty()||(i=i||!d.getPriority().isEmpty(),o.push(new Ja(c,d)))}}),o.length===0)return la.EMPTY_NODE;var a=GX(o,X1o,function(c){return c.name},p9e);if(i){var l=GX(o,Vs.getCompare());return new la(a,t0(e),new XX({".priority":l},{".priority":Vs}))}else return new la(a,t0(e),XX.Default)}else{var s=la.EMPTY_NODE;return Vu(t,function(c,u){if(Rg(t,c)&&c.substring(0,1)!=="."){var d=t0(u);(d.isLeafNode()||!d.isEmpty())&&(s=s.updateImmediateChild(c,d))}}),s.updatePriority(t0(e))}}K1o(t0);/** * @license * Copyright 2017 Google LLC * @@ -7782,7 +7782,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var igo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.compare=function(n,o){var i=n.node.compareTo(o.node);return i===0?Qb(n.name,o.name):i},e.prototype.isDefinedOn=function(n){return!0},e.prototype.indexedValueChanged=function(n,o){return!n.equals(o)},e.prototype.minPost=function(){return Ja.MIN},e.prototype.maxPost=function(){return Ja.MAX},e.prototype.makePost=function(n,o){var i=t0(n);return new Ja(o,i)},e.prototype.toString=function(){return".value"},e}(YZ),m9e=new igo;/** + */var ngo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.compare=function(n,o){var i=n.node.compareTo(o.node);return i===0?Qb(n.name,o.name):i},e.prototype.isDefinedOn=function(n){return!0},e.prototype.indexedValueChanged=function(n,o){return!n.equals(o)},e.prototype.minPost=function(){return Ja.MIN},e.prototype.maxPost=function(){return Ja.MAX},e.prototype.makePost=function(n,o){var i=t0(n);return new Ja(o,i)},e.prototype.toString=function(){return".value"},e}(YZ),m9e=new ngo;/** * @license * Copyright 2017 Google LLC * @@ -7797,7 +7797,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var NR="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz",Kde="-",hit="z",pit=786,rgo=function(){var t=0,e=[];return function(n){var o=n===t;t=n;var i,r=new Array(8);for(i=7;i>=0;i--)r[i]=NR.charAt(n%64),n=Math.floor(n/64);ei(n===0,"Cannot push at time == 0");var a=r.join("");if(o){for(i=11;i>=0&&e[i]===63;i--)e[i]=0;e[i]++}else for(i=0;i<12;i++)e[i]=Math.floor(Math.random()*64);for(i=0;i<12;i++)a+=NR.charAt(e[i]);return ei(a.length===20,"nextPushId: Length should be 20."),a}}(),MMe=function(t){if(t===""+l9e)return Kde;var e=_X(t);if(e!=null)return""+(e+1);for(var n=new Array(t.length),o=0;o=0&&n[i]===hit;)i--;if(i===-1)return B9;var r=n[i],a=NR.charAt(NR.indexOf(r)+1);return n[i]=a,n.slice(0,i+1).join("")},IMe=function(t){if(t===""+Yot)return Z6;var e=_X(t);if(e!=null)return""+(e-1);for(var n=new Array(t.length),o=0;o=0;i--)r[i]=NR.charAt(n%64),n=Math.floor(n/64);ei(n===0,"Cannot push at time == 0");var a=r.join("");if(o){for(i=11;i>=0&&e[i]===63;i--)e[i]=0;e[i]++}else for(i=0;i<12;i++)e[i]=Math.floor(Math.random()*64);for(i=0;i<12;i++)a+=NR.charAt(e[i]);return ei(a.length===20,"nextPushId: Length should be 20."),a}}(),MMe=function(t){if(t===""+l9e)return Kde;var e=_X(t);if(e!=null)return""+(e+1);for(var n=new Array(t.length),o=0;o=0&&n[i]===hit;)i--;if(i===-1)return B9;var r=n[i],a=NR.charAt(NR.indexOf(r)+1);return n[i]=a,n.slice(0,i+1).join("")},IMe=function(t){if(t===""+Yot)return Z6;var e=_X(t);if(e!=null)return""+(e-1);for(var n=new Array(t.length),o=0;o=0;if(y)return r!=null&&r.trackChildChange(MF(n,o,f)),s.updateImmediateChild(n,o);r!=null&&r.trackChildChange(HF(n,f));var A=s.updateImmediateChild(n,la.EMPTY_NODE),x=p!=null&&this.rangedFilter_.matches(p);return x?(r!=null&&r.trackChildChange(UR(p.name,p.node)),A.updateImmediateChild(p.name,p.node)):A}else return o.isEmpty()?e:d&&a(u,c)>=0?(r!=null&&(r.trackChildChange(HF(u.name,u.node)),r.trackChildChange(UR(n,o))),s.updateImmediateChild(n,o).updateImmediateChild(u.name,la.EMPTY_NODE)):e},t}();/** + */var rgo=function(){function t(e){this.rangedFilter_=new mit(e),this.index_=e.getIndex(),this.limit_=e.getLimit(),this.reverse_=!e.isViewFromLeft()}return t.prototype.updateChild=function(e,n,o,i,r,a){return this.rangedFilter_.matches(new Ja(n,o))||(o=la.EMPTY_NODE),e.getImmediateChild(n).equals(o)?e:e.numChildren()=0;if(y)return r!=null&&r.trackChildChange(MF(n,o,f)),s.updateImmediateChild(n,o);r!=null&&r.trackChildChange(HF(n,f));var A=s.updateImmediateChild(n,la.EMPTY_NODE),x=p!=null&&this.rangedFilter_.matches(p);return x?(r!=null&&r.trackChildChange(UR(p.name,p.node)),A.updateImmediateChild(p.name,p.node)):A}else return o.isEmpty()?e:d&&a(u,c)>=0?(r!=null&&(r.trackChildChange(HF(u.name,u.node)),r.trackChildChange(UR(n,o))),s.updateImmediateChild(n,o).updateImmediateChild(u.name,la.EMPTY_NODE)):e},t}();/** * @license * Copyright 2017 Google LLC * @@ -7872,7 +7872,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var yit=function(){function t(){this.limitSet_=!1,this.startSet_=!1,this.startNameSet_=!1,this.startAfterSet_=!1,this.endSet_=!1,this.endNameSet_=!1,this.endBeforeSet_=!1,this.limit_=0,this.viewFrom_="",this.indexStartValue_=null,this.indexStartName_="",this.indexEndValue_=null,this.indexEndName_="",this.index_=Vs}return t.prototype.hasStart=function(){return this.startSet_},t.prototype.hasStartAfter=function(){return this.startAfterSet_},t.prototype.hasEndBefore=function(){return this.endBeforeSet_},t.prototype.isViewFromLeft=function(){return this.viewFrom_===""?this.startSet_:this.viewFrom_==="l"},t.prototype.getIndexStartValue=function(){return ei(this.startSet_,"Only valid if start has been set"),this.indexStartValue_},t.prototype.getIndexStartName=function(){return ei(this.startSet_,"Only valid if start has been set"),this.startNameSet_?this.indexStartName_:Z6},t.prototype.hasEnd=function(){return this.endSet_},t.prototype.getIndexEndValue=function(){return ei(this.endSet_,"Only valid if end has been set"),this.indexEndValue_},t.prototype.getIndexEndName=function(){return ei(this.endSet_,"Only valid if end has been set"),this.endNameSet_?this.indexEndName_:B9},t.prototype.hasLimit=function(){return this.limitSet_},t.prototype.hasAnchoredLimit=function(){return this.limitSet_&&this.viewFrom_!==""},t.prototype.getLimit=function(){return ei(this.limitSet_,"Only valid if limit has been set"),this.limit_},t.prototype.getIndex=function(){return this.index_},t.prototype.loadsAllData=function(){return!(this.startSet_||this.endSet_||this.limitSet_)},t.prototype.isDefault=function(){return this.loadsAllData()&&this.index_===Vs},t.prototype.copy=function(){var e=new t;return e.limitSet_=this.limitSet_,e.limit_=this.limit_,e.startSet_=this.startSet_,e.indexStartValue_=this.indexStartValue_,e.startNameSet_=this.startNameSet_,e.indexStartName_=this.indexStartName_,e.endSet_=this.endSet_,e.indexEndValue_=this.indexEndValue_,e.endNameSet_=this.endNameSet_,e.indexEndName_=this.indexEndName_,e.index_=this.index_,e.viewFrom_=this.viewFrom_,e},t}();function sgo(t){return t.loadsAllData()?new y9e(t.getIndex()):t.hasLimit()?new lgo(t):new mit(t)}function cgo(t,e){var n=t.copy();return n.limitSet_=!0,n.limit_=e,n.viewFrom_="l",n}function ugo(t,e){var n=t.copy();return n.limitSet_=!0,n.limit_=e,n.viewFrom_="r",n}function qde(t,e,n){var o=t.copy();return o.startSet_=!0,e===void 0&&(e=null),o.indexStartValue_=e,n!=null?(o.startNameSet_=!0,o.indexStartName_=n):(o.startNameSet_=!1,o.indexStartName_=""),o}function dgo(t,e,n){var o;if(t.index_===S9)typeof e=="string"&&(e=MMe(e)),o=qde(t,e,n);else{var i=void 0;n==null?i=B9:i=MMe(n),o=qde(t,e,i)}return o.startAfterSet_=!0,o}function $de(t,e,n){var o=t.copy();return o.endSet_=!0,e===void 0&&(e=null),o.indexEndValue_=e,n!==void 0?(o.endNameSet_=!0,o.indexEndName_=n):(o.endNameSet_=!1,o.indexEndName_=""),o}function fgo(t,e,n){var o,i;return t.index_===S9?(typeof e=="string"&&(e=IMe(e)),i=$de(t,e,n)):(n==null?o=Z6:o=IMe(n),i=$de(t,e,o)),i.endBeforeSet_=!0,i}function OZ(t,e){var n=t.copy();return n.index_=e,n}function zMe(t){var e={};if(t.isDefault())return e;var n;return t.index_===Vs?n="$priority":t.index_===m9e?n="$value":t.index_===S9?n="$key":(ei(t.index_ instanceof g9e,"Unrecognized index type!"),n=t.index_.toString()),e.orderBy=Du(n),t.startSet_&&(e.startAt=Du(t.indexStartValue_),t.startNameSet_&&(e.startAt+=","+Du(t.indexStartName_))),t.endSet_&&(e.endAt=Du(t.indexEndValue_),t.endNameSet_&&(e.endAt+=","+Du(t.indexEndName_))),t.limitSet_&&(t.isViewFromLeft()?e.limitToFirst=t.limit_:e.limitToLast=t.limit_),e}function DMe(t){var e={};if(t.startSet_&&(e.sp=t.indexStartValue_,t.startNameSet_&&(e.sn=t.indexStartName_)),t.endSet_&&(e.ep=t.indexEndValue_,t.endNameSet_&&(e.en=t.indexEndName_)),t.limitSet_){e.l=t.limit_;var n=t.viewFrom_;n===""&&(t.isViewFromLeft()?n="l":n="r"),e.vf=n}return t.index_!==Vs&&(e.i=t.index_.toString()),e}/** + */var yit=function(){function t(){this.limitSet_=!1,this.startSet_=!1,this.startNameSet_=!1,this.startAfterSet_=!1,this.endSet_=!1,this.endNameSet_=!1,this.endBeforeSet_=!1,this.limit_=0,this.viewFrom_="",this.indexStartValue_=null,this.indexStartName_="",this.indexEndValue_=null,this.indexEndName_="",this.index_=Vs}return t.prototype.hasStart=function(){return this.startSet_},t.prototype.hasStartAfter=function(){return this.startAfterSet_},t.prototype.hasEndBefore=function(){return this.endBeforeSet_},t.prototype.isViewFromLeft=function(){return this.viewFrom_===""?this.startSet_:this.viewFrom_==="l"},t.prototype.getIndexStartValue=function(){return ei(this.startSet_,"Only valid if start has been set"),this.indexStartValue_},t.prototype.getIndexStartName=function(){return ei(this.startSet_,"Only valid if start has been set"),this.startNameSet_?this.indexStartName_:Z6},t.prototype.hasEnd=function(){return this.endSet_},t.prototype.getIndexEndValue=function(){return ei(this.endSet_,"Only valid if end has been set"),this.indexEndValue_},t.prototype.getIndexEndName=function(){return ei(this.endSet_,"Only valid if end has been set"),this.endNameSet_?this.indexEndName_:B9},t.prototype.hasLimit=function(){return this.limitSet_},t.prototype.hasAnchoredLimit=function(){return this.limitSet_&&this.viewFrom_!==""},t.prototype.getLimit=function(){return ei(this.limitSet_,"Only valid if limit has been set"),this.limit_},t.prototype.getIndex=function(){return this.index_},t.prototype.loadsAllData=function(){return!(this.startSet_||this.endSet_||this.limitSet_)},t.prototype.isDefault=function(){return this.loadsAllData()&&this.index_===Vs},t.prototype.copy=function(){var e=new t;return e.limitSet_=this.limitSet_,e.limit_=this.limit_,e.startSet_=this.startSet_,e.indexStartValue_=this.indexStartValue_,e.startNameSet_=this.startNameSet_,e.indexStartName_=this.indexStartName_,e.endSet_=this.endSet_,e.indexEndValue_=this.indexEndValue_,e.endNameSet_=this.endNameSet_,e.indexEndName_=this.indexEndName_,e.index_=this.index_,e.viewFrom_=this.viewFrom_,e},t}();function ago(t){return t.loadsAllData()?new y9e(t.getIndex()):t.hasLimit()?new rgo(t):new mit(t)}function lgo(t,e){var n=t.copy();return n.limitSet_=!0,n.limit_=e,n.viewFrom_="l",n}function sgo(t,e){var n=t.copy();return n.limitSet_=!0,n.limit_=e,n.viewFrom_="r",n}function qde(t,e,n){var o=t.copy();return o.startSet_=!0,e===void 0&&(e=null),o.indexStartValue_=e,n!=null?(o.startNameSet_=!0,o.indexStartName_=n):(o.startNameSet_=!1,o.indexStartName_=""),o}function cgo(t,e,n){var o;if(t.index_===S9)typeof e=="string"&&(e=MMe(e)),o=qde(t,e,n);else{var i=void 0;n==null?i=B9:i=MMe(n),o=qde(t,e,i)}return o.startAfterSet_=!0,o}function $de(t,e,n){var o=t.copy();return o.endSet_=!0,e===void 0&&(e=null),o.indexEndValue_=e,n!==void 0?(o.endNameSet_=!0,o.indexEndName_=n):(o.endNameSet_=!1,o.indexEndName_=""),o}function ugo(t,e,n){var o,i;return t.index_===S9?(typeof e=="string"&&(e=IMe(e)),i=$de(t,e,n)):(n==null?o=Z6:o=IMe(n),i=$de(t,e,o)),i.endBeforeSet_=!0,i}function OZ(t,e){var n=t.copy();return n.index_=e,n}function zMe(t){var e={};if(t.isDefault())return e;var n;return t.index_===Vs?n="$priority":t.index_===m9e?n="$value":t.index_===S9?n="$key":(ei(t.index_ instanceof g9e,"Unrecognized index type!"),n=t.index_.toString()),e.orderBy=Du(n),t.startSet_&&(e.startAt=Du(t.indexStartValue_),t.startNameSet_&&(e.startAt+=","+Du(t.indexStartName_))),t.endSet_&&(e.endAt=Du(t.indexEndValue_),t.endNameSet_&&(e.endAt+=","+Du(t.indexEndName_))),t.limitSet_&&(t.isViewFromLeft()?e.limitToFirst=t.limit_:e.limitToLast=t.limit_),e}function DMe(t){var e={};if(t.startSet_&&(e.sp=t.indexStartValue_,t.startNameSet_&&(e.sn=t.indexStartName_)),t.endSet_&&(e.ep=t.indexEndValue_,t.endNameSet_&&(e.en=t.indexEndName_)),t.limitSet_){e.l=t.limit_;var n=t.viewFrom_;n===""&&(t.isViewFromLeft()?n="l":n="r"),e.vf=n}return t.index_!==Vs&&(e.i=t.index_.toString()),e}/** * @license * Copyright 2017 Google LLC * @@ -7887,7 +7887,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var hgo=function(t){Ti(e,t);function e(n,o,i,r){var a=t.call(this)||this;return a.repoInfo_=n,a.onDataUpdate_=o,a.authTokenProvider_=i,a.appCheckTokenProvider_=r,a.log_=NN("p:rest:"),a.listens_={},a}return e.prototype.reportStats=function(n){throw new Error("Method not implemented.")},e.getListenId_=function(n,o){return o!==void 0?"tag$"+o:(ei(n._queryParams.isDefault(),"should have a tag if it's not a default query."),n._path.toString())},e.prototype.listen=function(n,o,i,r){var a=this,l=n._path.toString();this.log_("Listen called for "+l+" "+n._queryIdentifier);var s=e.getListenId_(n,i),c={};this.listens_[s]=c;var u=zMe(n._queryParams);this.restRequest_(l+".json",u,function(d,f){var p=f;if(d===404&&(p=null,d=null),d===null&&a.onDataUpdate_(l,p,!1,i),qx(a.listens_,s)===c){var g;d?d===401?g="permission_denied":g="rest_error:"+d:g="ok",r(g,null)}})},e.prototype.unlisten=function(n,o){var i=e.getListenId_(n,o);delete this.listens_[i]},e.prototype.get=function(n){var o=this,i=zMe(n._queryParams),r=n._path.toString(),a=new Lp;return this.restRequest_(r+".json",i,function(l,s){var c=s;l===404&&(c=null,l=null),l===null?(o.onDataUpdate_(r,c,!1,null),a.resolve(c)):a.reject(new Error(c))}),a.promise},e.prototype.refreshAuthToken=function(n){},e.prototype.restRequest_=function(n,o,i){var r=this;return o===void 0&&(o={}),o.format="export",Promise.all([this.authTokenProvider_.getToken(!1),this.appCheckTokenProvider_.getToken(!1)]).then(function(a){var l=tp(a,2),s=l[0],c=l[1];s&&s.accessToken&&(o.auth=s.accessToken),c&&c.token&&(o.ac=c.token);var u=(r.repoInfo_.secure?"https://":"http://")+r.repoInfo_.host+n+"?ns="+r.repoInfo_.namespace+ILn(o);r.log_("Sending REST request for "+u);var d=new XMLHttpRequest;d.onreadystatechange=function(){if(i&&d.readyState===4){r.log_("REST Response for "+u+" received. status:",d.status,"response:",d.responseText);var f=null;if(d.status>=200&&d.status<300){try{f=rF(d.responseText)}catch{ff("Failed to parse JSON response for "+u+": "+d.responseText)}i(null,f)}else d.status!==401&&d.status!==404&&ff("Got unsuccessful REST response for "+u+" Status: "+d.status),i(d.status);i=null}},d.open("GET",u,!0),d.send()})},e}(iit);/** + */var dgo=function(t){Ti(e,t);function e(n,o,i,r){var a=t.call(this)||this;return a.repoInfo_=n,a.onDataUpdate_=o,a.authTokenProvider_=i,a.appCheckTokenProvider_=r,a.log_=NN("p:rest:"),a.listens_={},a}return e.prototype.reportStats=function(n){throw new Error("Method not implemented.")},e.getListenId_=function(n,o){return o!==void 0?"tag$"+o:(ei(n._queryParams.isDefault(),"should have a tag if it's not a default query."),n._path.toString())},e.prototype.listen=function(n,o,i,r){var a=this,l=n._path.toString();this.log_("Listen called for "+l+" "+n._queryIdentifier);var s=e.getListenId_(n,i),c={};this.listens_[s]=c;var u=zMe(n._queryParams);this.restRequest_(l+".json",u,function(d,f){var p=f;if(d===404&&(p=null,d=null),d===null&&a.onDataUpdate_(l,p,!1,i),qx(a.listens_,s)===c){var g;d?d===401?g="permission_denied":g="rest_error:"+d:g="ok",r(g,null)}})},e.prototype.unlisten=function(n,o){var i=e.getListenId_(n,o);delete this.listens_[i]},e.prototype.get=function(n){var o=this,i=zMe(n._queryParams),r=n._path.toString(),a=new Lp;return this.restRequest_(r+".json",i,function(l,s){var c=s;l===404&&(c=null,l=null),l===null?(o.onDataUpdate_(r,c,!1,null),a.resolve(c)):a.reject(new Error(c))}),a.promise},e.prototype.refreshAuthToken=function(n){},e.prototype.restRequest_=function(n,o,i){var r=this;return o===void 0&&(o={}),o.format="export",Promise.all([this.authTokenProvider_.getToken(!1),this.appCheckTokenProvider_.getToken(!1)]).then(function(a){var l=tp(a,2),s=l[0],c=l[1];s&&s.accessToken&&(o.auth=s.accessToken),c&&c.token&&(o.ac=c.token);var u=(r.repoInfo_.secure?"https://":"http://")+r.repoInfo_.host+n+"?ns="+r.repoInfo_.namespace+HLn(o);r.log_("Sending REST request for "+u);var d=new XMLHttpRequest;d.onreadystatechange=function(){if(i&&d.readyState===4){r.log_("REST Response for "+u+" received. status:",d.status,"response:",d.responseText);var f=null;if(d.status>=200&&d.status<300){try{f=rF(d.responseText)}catch{ff("Failed to parse JSON response for "+u+": "+d.responseText)}i(null,f)}else d.status!==401&&d.status!==404&&ff("Got unsuccessful REST response for "+u+" Status: "+d.status),i(d.status);i=null}},d.open("GET",u,!0),d.send()})},e}(iit);/** * @license * Copyright 2017 Google LLC * @@ -7902,7 +7902,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var pgo=function(){function t(){this.rootNode_=la.EMPTY_NODE}return t.prototype.getNode=function(e){return this.rootNode_.getChild(e)},t.prototype.updateSnapshot=function(e,n){this.rootNode_=this.rootNode_.updateChild(e,n)},t}();/** + */var fgo=function(){function t(){this.rootNode_=la.EMPTY_NODE}return t.prototype.getNode=function(e){return this.rootNode_.getChild(e)},t.prototype.updateSnapshot=function(e,n){this.rootNode_=this.rootNode_.updateChild(e,n)},t}();/** * @license * Copyright 2017 Google LLC * @@ -7917,7 +7917,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function JX(){return{value:null,children:new Map}}function gM(t,e,n){if(Ha(e))t.value=n,t.children.clear();else if(t.value!==null)t.value=t.value.updateChild(e,n);else{var o=Ra(e);t.children.has(o)||t.children.set(o,JX());var i=t.children.get(o);e=bs(e),gM(i,e,n)}}function Qde(t,e){if(Ha(e))return t.value=null,t.children.clear(),!0;if(t.value!==null){if(t.value.isLeafNode())return!1;var n=t.value;return t.value=null,n.forEachChild(Vs,function(r,a){gM(t,new os(r),a)}),Qde(t,e)}else if(t.children.size>0){var o=Ra(e);if(e=bs(e),t.children.has(o)){var i=Qde(t.children.get(o),e);i&&t.children.delete(o)}return t.children.size===0}else return!0}function Zde(t,e,n){t.value!==null?n(e,t.value):ggo(t,function(o,i){var r=new os(e.toString()+"/"+o);Zde(i,r,n)})}function ggo(t,e){t.children.forEach(function(n,o){e(o,n)})}/** + */function JX(){return{value:null,children:new Map}}function gM(t,e,n){if(Ha(e))t.value=n,t.children.clear();else if(t.value!==null)t.value=t.value.updateChild(e,n);else{var o=Ra(e);t.children.has(o)||t.children.set(o,JX());var i=t.children.get(o);e=bs(e),gM(i,e,n)}}function Qde(t,e){if(Ha(e))return t.value=null,t.children.clear(),!0;if(t.value!==null){if(t.value.isLeafNode())return!1;var n=t.value;return t.value=null,n.forEachChild(Vs,function(r,a){gM(t,new os(r),a)}),Qde(t,e)}else if(t.children.size>0){var o=Ra(e);if(e=bs(e),t.children.has(o)){var i=Qde(t.children.get(o),e);i&&t.children.delete(o)}return t.children.size===0}else return!0}function Zde(t,e,n){t.value!==null?n(e,t.value):hgo(t,function(o,i){var r=new os(e.toString()+"/"+o);Zde(i,r,n)})}function hgo(t,e){t.children.forEach(function(n,o){e(o,n)})}/** * @license * Copyright 2017 Google LLC * @@ -7947,7 +7947,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var EMe=10*1e3,mgo=30*1e3,ygo=5*60*1e3,Ago=function(){function t(e,n){this.server_=n,this.statsToReport_={},this.statsListener_=new Ait(e);var o=EMe+(mgo-EMe)*Math.random();HE(this.reportStats_.bind(this),Math.floor(o))}return t.prototype.reportStats_=function(){var e=this,n=this.statsListener_.get(),o={},i=!1;Vu(n,function(r,a){a>0&&Rg(e.statsToReport_,r)&&(o[r]=a,i=!0)}),i&&this.server_.reportStats(o),HE(this.reportStats_.bind(this),Math.floor(Math.random()*2*ygo))},t}();function wgo(t,e){t.statsToReport_[e]=!0}/** + */var EMe=10*1e3,pgo=30*1e3,ggo=5*60*1e3,mgo=function(){function t(e,n){this.server_=n,this.statsToReport_={},this.statsListener_=new Ait(e);var o=EMe+(pgo-EMe)*Math.random();HE(this.reportStats_.bind(this),Math.floor(o))}return t.prototype.reportStats_=function(){var e=this,n=this.statsListener_.get(),o={},i=!1;Vu(n,function(r,a){a>0&&Rg(e.statsToReport_,r)&&(o[r]=a,i=!0)}),i&&this.server_.reportStats(o),HE(this.reportStats_.bind(this),Math.floor(Math.random()*2*ggo))},t}();function ygo(t,e){t.statsToReport_[e]=!0}/** * @license * Copyright 2017 Google LLC * @@ -7977,7 +7977,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var vgo=function(){function t(e,n,o){this.path=e,this.affectedTree=n,this.revert=o,this.type=v2.ACK_USER_WRITE,this.source=A9e()}return t.prototype.operationForChild=function(e){if(Ha(this.path)){if(this.affectedTree.value!=null)return ei(this.affectedTree.children.isEmpty(),"affectedTree should not have overlapping affected paths."),this;var n=this.affectedTree.subtree(new os(e));return new t(zl(),n,this.revert)}else return ei(Ra(this.path)===e,"operationForChild called for unrelated child."),new t(bs(this.path),this.affectedTree,this.revert)},t}();/** + */var Ago=function(){function t(e,n,o){this.path=e,this.affectedTree=n,this.revert=o,this.type=v2.ACK_USER_WRITE,this.source=A9e()}return t.prototype.operationForChild=function(e){if(Ha(this.path)){if(this.affectedTree.value!=null)return ei(this.affectedTree.children.isEmpty(),"affectedTree should not have overlapping affected paths."),this;var n=this.affectedTree.subtree(new os(e));return new t(zl(),n,this.revert)}else return ei(Ra(this.path)===e,"operationForChild called for unrelated child."),new t(bs(this.path),this.affectedTree,this.revert)},t}();/** * @license * Copyright 2017 Google LLC * @@ -8052,7 +8052,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var xgo=function(){function t(e){this.query_=e,this.index_=this.query_._queryParams.getIndex()}return t}();function bgo(t,e,n,o){var i=[],r=[];return e.forEach(function(a){a.type==="child_changed"&&t.index_.indexedValueChanged(a.oldSnap,a.snapshotNode)&&r.push(ago(a.childName,a.snapshotNode))}),Xz(t,i,"child_removed",e,o,n),Xz(t,i,"child_added",e,o,n),Xz(t,i,"child_moved",r,o,n),Xz(t,i,"child_changed",e,o,n),Xz(t,i,"value",e,o,n),i}function Xz(t,e,n,o,i,r){var a=o.filter(function(l){return l.type===n});a.sort(function(l,s){return Tgo(t,l,s)}),a.forEach(function(l){var s=Sgo(t,l,r);i.forEach(function(c){c.respondsTo(l.type)&&e.push(c.createEvent(s,t.query_))})})}function Sgo(t,e,n){return e.type==="value"||e.type==="child_removed"||(e.prevName=n.getPredecessorChildName(e.childName,e.snapshotNode,t.index_)),e}function Tgo(t,e,n){if(e.childName==null||n.childName==null)throw _H("Should only compare child_ events.");var o=new Ja(e.childName,e.snapshotNode),i=new Ja(n.childName,n.snapshotNode);return t.index_.compare(o,i)}/** + */var wgo=function(){function t(e){this.query_=e,this.index_=this.query_._queryParams.getIndex()}return t}();function vgo(t,e,n,o){var i=[],r=[];return e.forEach(function(a){a.type==="child_changed"&&t.index_.indexedValueChanged(a.oldSnap,a.snapshotNode)&&r.push(igo(a.childName,a.snapshotNode))}),Xz(t,i,"child_removed",e,o,n),Xz(t,i,"child_added",e,o,n),Xz(t,i,"child_moved",r,o,n),Xz(t,i,"child_changed",e,o,n),Xz(t,i,"value",e,o,n),i}function Xz(t,e,n,o,i,r){var a=o.filter(function(l){return l.type===n});a.sort(function(l,s){return bgo(t,l,s)}),a.forEach(function(l){var s=xgo(t,l,r);i.forEach(function(c){c.respondsTo(l.type)&&e.push(c.createEvent(s,t.query_))})})}function xgo(t,e,n){return e.type==="value"||e.type==="child_removed"||(e.prevName=n.getPredecessorChildName(e.childName,e.snapshotNode,t.index_)),e}function bgo(t,e,n){if(e.childName==null||n.childName==null)throw _H("Should only compare child_ events.");var o=new Ja(e.childName,e.snapshotNode),i=new Ja(n.childName,n.snapshotNode);return t.index_.compare(o,i)}/** * @license * Copyright 2017 Google LLC * @@ -8082,7 +8082,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Iae,Pgo=function(){return Iae||(Iae=new A6(n1o)),Iae},Ig=function(){function t(e,n){n===void 0&&(n=Pgo()),this.value=e,this.children=n}return t.fromObject=function(e){var n=new t(null);return Vu(e,function(o,i){n=n.set(new os(o),i)}),n},t.prototype.isEmpty=function(){return this.value===null&&this.children.isEmpty()},t.prototype.findRootMostMatchingPathAndValue=function(e,n){if(this.value!=null&&n(this.value))return{path:zl(),value:this.value};if(Ha(e))return null;var o=Ra(e),i=this.children.get(o);if(i!==null){var r=i.findRootMostMatchingPathAndValue(bs(e),n);if(r!=null){var a=jc(new os(o),r.path);return{path:a,value:r.value}}else return null}else return null},t.prototype.findRootMostValueAndPath=function(e){return this.findRootMostMatchingPathAndValue(e,function(){return!0})},t.prototype.subtree=function(e){if(Ha(e))return this;var n=Ra(e),o=this.children.get(n);return o!==null?o.subtree(bs(e)):new t(null)},t.prototype.set=function(e,n){if(Ha(e))return new t(n,this.children);var o=Ra(e),i=this.children.get(o)||new t(null),r=i.set(bs(e),n),a=this.children.insert(o,r);return new t(this.value,a)},t.prototype.remove=function(e){if(Ha(e))return this.children.isEmpty()?new t(null):new t(null,this.children);var n=Ra(e),o=this.children.get(n);if(o){var i=o.remove(bs(e)),r=void 0;return i.isEmpty()?r=this.children.remove(n):r=this.children.insert(n,i),this.value===null&&r.isEmpty()?new t(null):new t(this.value,r)}else return this},t.prototype.get=function(e){if(Ha(e))return this.value;var n=Ra(e),o=this.children.get(n);return o?o.get(bs(e)):null},t.prototype.setTree=function(e,n){if(Ha(e))return n;var o=Ra(e),i=this.children.get(o)||new t(null),r=i.setTree(bs(e),n),a=void 0;return r.isEmpty()?a=this.children.remove(o):a=this.children.insert(o,r),new t(this.value,a)},t.prototype.fold=function(e){return this.fold_(zl(),e)},t.prototype.fold_=function(e,n){var o={};return this.children.inorderTraversal(function(i,r){o[i]=r.fold_(jc(e,i),n)}),n(e,this.value,o)},t.prototype.findOnPath=function(e,n){return this.findOnPath_(e,zl(),n)},t.prototype.findOnPath_=function(e,n,o){var i=this.value?o(n,this.value):!1;if(i)return i;if(Ha(e))return null;var r=Ra(e),a=this.children.get(r);return a?a.findOnPath_(bs(e),jc(n,r),o):null},t.prototype.foreachOnPath=function(e,n){return this.foreachOnPath_(e,zl(),n)},t.prototype.foreachOnPath_=function(e,n,o){if(Ha(e))return this;this.value&&o(n,this.value);var i=Ra(e),r=this.children.get(i);return r?r.foreachOnPath_(bs(e),jc(n,i),o):new t(null)},t.prototype.foreach=function(e){this.foreach_(zl(),e)},t.prototype.foreach_=function(e,n){this.children.inorderTraversal(function(o,i){i.foreach_(jc(e,o),n)}),this.value&&n(e,this.value)},t.prototype.foreachChild=function(e){this.children.inorderTraversal(function(n,o){o.value&&e(n,o.value)})},t}();/** + */var Iae,Sgo=function(){return Iae||(Iae=new A6(e1o)),Iae},Ig=function(){function t(e,n){n===void 0&&(n=Sgo()),this.value=e,this.children=n}return t.fromObject=function(e){var n=new t(null);return Vu(e,function(o,i){n=n.set(new os(o),i)}),n},t.prototype.isEmpty=function(){return this.value===null&&this.children.isEmpty()},t.prototype.findRootMostMatchingPathAndValue=function(e,n){if(this.value!=null&&n(this.value))return{path:zl(),value:this.value};if(Ha(e))return null;var o=Ra(e),i=this.children.get(o);if(i!==null){var r=i.findRootMostMatchingPathAndValue(bs(e),n);if(r!=null){var a=jc(new os(o),r.path);return{path:a,value:r.value}}else return null}else return null},t.prototype.findRootMostValueAndPath=function(e){return this.findRootMostMatchingPathAndValue(e,function(){return!0})},t.prototype.subtree=function(e){if(Ha(e))return this;var n=Ra(e),o=this.children.get(n);return o!==null?o.subtree(bs(e)):new t(null)},t.prototype.set=function(e,n){if(Ha(e))return new t(n,this.children);var o=Ra(e),i=this.children.get(o)||new t(null),r=i.set(bs(e),n),a=this.children.insert(o,r);return new t(this.value,a)},t.prototype.remove=function(e){if(Ha(e))return this.children.isEmpty()?new t(null):new t(null,this.children);var n=Ra(e),o=this.children.get(n);if(o){var i=o.remove(bs(e)),r=void 0;return i.isEmpty()?r=this.children.remove(n):r=this.children.insert(n,i),this.value===null&&r.isEmpty()?new t(null):new t(this.value,r)}else return this},t.prototype.get=function(e){if(Ha(e))return this.value;var n=Ra(e),o=this.children.get(n);return o?o.get(bs(e)):null},t.prototype.setTree=function(e,n){if(Ha(e))return n;var o=Ra(e),i=this.children.get(o)||new t(null),r=i.setTree(bs(e),n),a=void 0;return r.isEmpty()?a=this.children.remove(o):a=this.children.insert(o,r),new t(this.value,a)},t.prototype.fold=function(e){return this.fold_(zl(),e)},t.prototype.fold_=function(e,n){var o={};return this.children.inorderTraversal(function(i,r){o[i]=r.fold_(jc(e,i),n)}),n(e,this.value,o)},t.prototype.findOnPath=function(e,n){return this.findOnPath_(e,zl(),n)},t.prototype.findOnPath_=function(e,n,o){var i=this.value?o(n,this.value):!1;if(i)return i;if(Ha(e))return null;var r=Ra(e),a=this.children.get(r);return a?a.findOnPath_(bs(e),jc(n,r),o):null},t.prototype.foreachOnPath=function(e,n){return this.foreachOnPath_(e,zl(),n)},t.prototype.foreachOnPath_=function(e,n,o){if(Ha(e))return this;this.value&&o(n,this.value);var i=Ra(e),r=this.children.get(i);return r?r.foreachOnPath_(bs(e),jc(n,i),o):new t(null)},t.prototype.foreach=function(e){this.foreach_(zl(),e)},t.prototype.foreach_=function(e,n){this.children.inorderTraversal(function(o,i){i.foreach_(jc(e,o),n)}),this.value&&n(e,this.value)},t.prototype.foreachChild=function(e){this.children.inorderTraversal(function(n,o){o.value&&e(n,o.value)})},t}();/** * @license * Copyright 2017 Google LLC * @@ -8112,7 +8112,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function GZ(t,e){return Pit(e,t)}function Cgo(t,e,n,o,i){ei(o>t.lastWriteId,"Stacking an older write on top of newer ones"),i===void 0&&(i=!0),t.allWrites.push({path:e,snap:n,writeId:o,visible:i}),i&&(t.visibleWrites=zE(t.visibleWrites,e,n)),t.lastWriteId=o}function Rgo(t,e,n,o){ei(o>t.lastWriteId,"Stacking an older merge on top of newer ones"),t.allWrites.push({path:e,children:n,writeId:o,visible:!0}),t.visibleWrites=efe(t.visibleWrites,e,n),t.lastWriteId=o}function Hgo(t,e){for(var n=0;n=0,"removeWrite called with nonexistent writeId.");var o=t.allWrites[n];t.allWrites.splice(n,1);for(var i=o.visible,r=!1,a=t.allWrites.length-1;i&&a>=0;){var l=t.allWrites[a];l.visible&&(a>=n&&Igo(l,o.path)?i=!1:Lm(o.path,l.path)&&(r=!0)),a--}if(i){if(r)return zgo(t),!0;if(o.snap)t.visibleWrites=kMe(t.visibleWrites,o.path);else{var s=o.children;Vu(s,function(c){t.visibleWrites=kMe(t.visibleWrites,jc(o.path,c))})}return!0}else return!1}function Igo(t,e){if(t.snap)return Lm(t.path,e);for(var n in t.children)if(t.children.hasOwnProperty(n)&&Lm(jc(t.path,n),e))return!0;return!1}function zgo(t){t.visibleWrites=bit(t.allWrites,Dgo,zl()),t.allWrites.length>0?t.lastWriteId=t.allWrites[t.allWrites.length-1].writeId:t.lastWriteId=-1}function Dgo(t){return t.visible}function bit(t,e,n){for(var o=z6.empty(),i=0;it.lastWriteId,"Stacking an older write on top of newer ones"),i===void 0&&(i=!0),t.allWrites.push({path:e,snap:n,writeId:o,visible:i}),i&&(t.visibleWrites=zE(t.visibleWrites,e,n)),t.lastWriteId=o}function Pgo(t,e,n,o){ei(o>t.lastWriteId,"Stacking an older merge on top of newer ones"),t.allWrites.push({path:e,children:n,writeId:o,visible:!0}),t.visibleWrites=efe(t.visibleWrites,e,n),t.lastWriteId=o}function Cgo(t,e){for(var n=0;n=0,"removeWrite called with nonexistent writeId.");var o=t.allWrites[n];t.allWrites.splice(n,1);for(var i=o.visible,r=!1,a=t.allWrites.length-1;i&&a>=0;){var l=t.allWrites[a];l.visible&&(a>=n&&Hgo(l,o.path)?i=!1:Lm(o.path,l.path)&&(r=!0)),a--}if(i){if(r)return Mgo(t),!0;if(o.snap)t.visibleWrites=kMe(t.visibleWrites,o.path);else{var s=o.children;Vu(s,function(c){t.visibleWrites=kMe(t.visibleWrites,jc(o.path,c))})}return!0}else return!1}function Hgo(t,e){if(t.snap)return Lm(t.path,e);for(var n in t.children)if(t.children.hasOwnProperty(n)&&Lm(jc(t.path,n),e))return!0;return!1}function Mgo(t){t.visibleWrites=bit(t.allWrites,Igo,zl()),t.allWrites.length>0?t.lastWriteId=t.allWrites[t.allWrites.length-1].writeId:t.lastWriteId=-1}function Igo(t){return t.visible}function bit(t,e,n){for(var o=z6.empty(),i=0;i0||!t.eventCache.isFullyInitialized()||i&&!o.getNode().equals(r)||!o.getNode().getPriority().equals(r.getPriority()))&&n.push(git(KX(e)))}}function Rit(t,e,n,o,i,r){var a=e.eventCache;if($X(o,n)!=null)return e;var l=void 0,s=void 0;if(Ha(n))if(ei(e.serverCache.isFullyInitialized(),"If change path is empty, we must have complete server data"),e.serverCache.isFiltered()){var c=ib(e),u=c instanceof la?c:la.EMPTY_NODE,d=b9e(o,u);l=t.filter.updateFullNode(e.eventCache.getNode(),d,r)}else{var f=qX(o,ib(e));l=t.filter.updateFullNode(e.eventCache.getNode(),f,r)}else{var p=Ra(n);if(p===".priority"){ei(p7(n)===1,"Can't have a priority with additional path components");var g=a.getNode();s=e.serverCache.getNode();var y=LMe(o,n,g,s);y!=null?l=t.filter.updatePriority(g,y):l=a.getNode()}else{var A=bs(n),x=void 0;if(a.isCompleteForChild(p)){s=e.serverCache.getNode();var C=LMe(o,n,a.getNode(),s);C!=null?x=a.getNode().getImmediateChild(p).updateChild(A,C):x=a.getNode().getImmediateChild(p)}else x=S9e(o,p,e.serverCache);x!=null?l=t.filter.updateChild(a.getNode(),p,x,A,i,r):l=a.getNode()}}return IE(e,l,a.isFullyInitialized()||Ha(n),t.filter.filtersNodes())}function QX(t,e,n,o,i,r,a,l){var s=e.serverCache,c,u=a?t.filter:t.filter.getIndexedFilter();if(Ha(n))c=u.updateFullNode(s.getNode(),o,null);else if(u.filtersNodes()&&!s.isFiltered()){var d=s.getNode().updateChild(n,o);c=u.updateFullNode(s.getNode(),d,null)}else{var f=Ra(n);if(!s.isCompleteForPath(n)&&p7(n)>1)return e;var p=bs(n),g=s.getNode().getImmediateChild(f),y=g.updateChild(p,o);f===".priority"?c=u.updatePriority(s.getNode(),y):c=u.updateChild(s.getNode(),f,y,p,Cit,null)}var A=vit(e,c,s.isFullyInitialized()||Ha(n),u.filtersNodes()),x=new T9e(i,A,r);return Rit(t,A,n,i,x,l)}function ofe(t,e,n,o,i,r,a){var l=e.eventCache,s,c,u=new T9e(i,e,r);if(Ha(n))c=t.filter.updateFullNode(e.eventCache.getNode(),o,a),s=IE(e,c,!0,t.filter.filtersNodes());else{var d=Ra(n);if(d===".priority")c=t.filter.updatePriority(e.eventCache.getNode(),o),s=IE(e,c,l.isFullyInitialized(),l.isFiltered());else{var f=bs(n),p=l.getNode().getImmediateChild(d),g=void 0;if(Ha(f))g=o;else{var y=u.getCompleteChild(d);y!=null?f9e(f)===".priority"&&y.getChild(ait(f)).isEmpty()?g=y:g=y.updateChild(f,o):g=la.EMPTY_NODE}if(p.equals(g))s=e;else{var A=t.filter.updateChild(l.getNode(),d,g,f,u,a);s=IE(e,A,l.isFullyInitialized(),t.filter.filtersNodes())}}}return s}function WMe(t,e){return t.eventCache.isCompleteForChild(e)}function Ggo(t,e,n,o,i,r,a){var l=e;return o.foreach(function(s,c){var u=jc(n,s);WMe(e,Ra(u))&&(l=ofe(t,l,u,c,i,r,a))}),o.foreach(function(s,c){var u=jc(n,s);WMe(e,Ra(u))||(l=ofe(t,l,u,c,i,r,a))}),l}function NMe(t,e,n){return n.foreach(function(o,i){e=e.updateChild(o,i)}),e}function ife(t,e,n,o,i,r,a,l){if(e.serverCache.getNode().isEmpty()&&!e.serverCache.isFullyInitialized())return e;var s=e,c;Ha(n)?c=o:c=new Ig(null).setTree(n,o);var u=e.serverCache.getNode();return c.children.inorderTraversal(function(d,f){if(u.hasChild(d)){var p=e.serverCache.getNode().getImmediateChild(d),g=NMe(t,p,f);s=QX(t,s,new os(d),g,i,r,a,l)}}),c.children.inorderTraversal(function(d,f){var p=!e.serverCache.isCompleteForChild(d)&&f.value===void 0;if(!u.hasChild(d)&&!p){var g=e.serverCache.getNode().getImmediateChild(d),y=NMe(t,g,f);s=QX(t,s,new os(d),y,i,r,a,l)}}),s}function Xgo(t,e,n,o,i,r,a){if($X(i,n)!=null)return e;var l=e.serverCache.isFiltered(),s=e.serverCache;if(o.value!=null){if(Ha(n)&&s.isFullyInitialized()||s.isCompleteForPath(n))return QX(t,e,n,s.getNode().getChild(n),i,r,l,a);if(Ha(n)){var c=new Ig(null);return s.getNode().forEachChild(S9,function(d,f){c=c.set(new os(d),f)}),ife(t,e,n,c,i,r,l,a)}else return e}else{var u=new Ig(null);return o.foreach(function(d,f){var p=jc(n,d);s.isCompleteForPath(p)&&(u=u.set(d,s.getNode().getChild(p)))}),ife(t,e,n,u,i,r,l,a)}}function Jgo(t,e,n,o,i){var r=e.serverCache,a=vit(e,r.getNode(),r.isFullyInitialized()||Ha(n),r.isFiltered());return Rit(t,a,n,o,Cit,i)}function Kgo(t,e,n,o,i,r){var a;if($X(o,n)!=null)return e;var l=new T9e(o,e,i),s=e.eventCache.getNode(),c=void 0;if(Ha(n)||Ra(n)===".priority"){var u=void 0;if(e.serverCache.isFullyInitialized())u=qX(o,ib(e));else{var d=e.serverCache.getNode();ei(d instanceof la,"serverChildren would be complete if leaf node"),u=b9e(o,d)}u=u,c=t.filter.updateFullNode(s,u,r)}else{var f=Ra(n),p=S9e(o,f,e.serverCache);p==null&&e.serverCache.isCompleteForChild(f)&&(p=s.getImmediateChild(f)),p!=null?c=t.filter.updateChild(s,f,p,bs(n),l,r):e.eventCache.getNode().hasChild(f)?c=t.filter.updateChild(s,f,la.EMPTY_NODE,bs(n),l,r):c=s,c.isEmpty()&&e.serverCache.isFullyInitialized()&&(a=qX(o,ib(e)),a.isLeafNode()&&(c=t.filter.updateFullNode(c,a,r)))}return a=e.serverCache.isFullyInitialized()||$X(o,zl())!=null,IE(e,c,a,t.filter.filtersNodes())}/** + */function Bgo(t){return{filter:t}}function jgo(t,e){ei(e.eventCache.getNode().isIndexed(t.filter.getIndex()),"Event snap not indexed"),ei(e.serverCache.getNode().isIndexed(t.filter.getIndex()),"Server snap not indexed")}function Ygo(t,e,n,o,i){var r=new Ngo,a,l;if(n.type===v2.OVERWRITE){var s=n;s.source.fromUser?a=ofe(t,e,s.path,s.snap,o,i,r):(ei(s.source.fromServer,"Unknown source."),l=s.source.tagged||e.serverCache.isFiltered()&&!Ha(s.path),a=QX(t,e,s.path,s.snap,o,i,l,r))}else if(n.type===v2.MERGE){var c=n;c.source.fromUser?a=_go(t,e,c.path,c.children,o,i,r):(ei(c.source.fromServer,"Unknown source."),l=c.source.tagged||e.serverCache.isFiltered(),a=ife(t,e,c.path,c.children,o,i,l,r))}else if(n.type===v2.ACK_USER_WRITE){var u=n;u.revert?a=Xgo(t,e,u.path,o,i,r):a=Vgo(t,e,u.path,u.affectedTree,o,i,r)}else if(n.type===v2.LISTEN_COMPLETE)a=Ggo(t,e,n.path,o,r);else throw _H("Unknown operation type: "+n.type);var d=r.getChanges();return Ogo(e,a,d),{viewCache:a,changes:d}}function Ogo(t,e,n){var o=e.eventCache;if(o.isFullyInitialized()){var i=o.getNode().isLeafNode()||o.getNode().isEmpty(),r=KX(t);(n.length>0||!t.eventCache.isFullyInitialized()||i&&!o.getNode().equals(r)||!o.getNode().getPriority().equals(r.getPriority()))&&n.push(git(KX(e)))}}function Rit(t,e,n,o,i,r){var a=e.eventCache;if($X(o,n)!=null)return e;var l=void 0,s=void 0;if(Ha(n))if(ei(e.serverCache.isFullyInitialized(),"If change path is empty, we must have complete server data"),e.serverCache.isFiltered()){var c=ib(e),u=c instanceof la?c:la.EMPTY_NODE,d=b9e(o,u);l=t.filter.updateFullNode(e.eventCache.getNode(),d,r)}else{var f=qX(o,ib(e));l=t.filter.updateFullNode(e.eventCache.getNode(),f,r)}else{var p=Ra(n);if(p===".priority"){ei(p7(n)===1,"Can't have a priority with additional path components");var g=a.getNode();s=e.serverCache.getNode();var y=LMe(o,n,g,s);y!=null?l=t.filter.updatePriority(g,y):l=a.getNode()}else{var A=bs(n),x=void 0;if(a.isCompleteForChild(p)){s=e.serverCache.getNode();var C=LMe(o,n,a.getNode(),s);C!=null?x=a.getNode().getImmediateChild(p).updateChild(A,C):x=a.getNode().getImmediateChild(p)}else x=S9e(o,p,e.serverCache);x!=null?l=t.filter.updateChild(a.getNode(),p,x,A,i,r):l=a.getNode()}}return IE(e,l,a.isFullyInitialized()||Ha(n),t.filter.filtersNodes())}function QX(t,e,n,o,i,r,a,l){var s=e.serverCache,c,u=a?t.filter:t.filter.getIndexedFilter();if(Ha(n))c=u.updateFullNode(s.getNode(),o,null);else if(u.filtersNodes()&&!s.isFiltered()){var d=s.getNode().updateChild(n,o);c=u.updateFullNode(s.getNode(),d,null)}else{var f=Ra(n);if(!s.isCompleteForPath(n)&&p7(n)>1)return e;var p=bs(n),g=s.getNode().getImmediateChild(f),y=g.updateChild(p,o);f===".priority"?c=u.updatePriority(s.getNode(),y):c=u.updateChild(s.getNode(),f,y,p,Cit,null)}var A=vit(e,c,s.isFullyInitialized()||Ha(n),u.filtersNodes()),x=new T9e(i,A,r);return Rit(t,A,n,i,x,l)}function ofe(t,e,n,o,i,r,a){var l=e.eventCache,s,c,u=new T9e(i,e,r);if(Ha(n))c=t.filter.updateFullNode(e.eventCache.getNode(),o,a),s=IE(e,c,!0,t.filter.filtersNodes());else{var d=Ra(n);if(d===".priority")c=t.filter.updatePriority(e.eventCache.getNode(),o),s=IE(e,c,l.isFullyInitialized(),l.isFiltered());else{var f=bs(n),p=l.getNode().getImmediateChild(d),g=void 0;if(Ha(f))g=o;else{var y=u.getCompleteChild(d);y!=null?f9e(f)===".priority"&&y.getChild(ait(f)).isEmpty()?g=y:g=y.updateChild(f,o):g=la.EMPTY_NODE}if(p.equals(g))s=e;else{var A=t.filter.updateChild(l.getNode(),d,g,f,u,a);s=IE(e,A,l.isFullyInitialized(),t.filter.filtersNodes())}}}return s}function WMe(t,e){return t.eventCache.isCompleteForChild(e)}function _go(t,e,n,o,i,r,a){var l=e;return o.foreach(function(s,c){var u=jc(n,s);WMe(e,Ra(u))&&(l=ofe(t,l,u,c,i,r,a))}),o.foreach(function(s,c){var u=jc(n,s);WMe(e,Ra(u))||(l=ofe(t,l,u,c,i,r,a))}),l}function NMe(t,e,n){return n.foreach(function(o,i){e=e.updateChild(o,i)}),e}function ife(t,e,n,o,i,r,a,l){if(e.serverCache.getNode().isEmpty()&&!e.serverCache.isFullyInitialized())return e;var s=e,c;Ha(n)?c=o:c=new Ig(null).setTree(n,o);var u=e.serverCache.getNode();return c.children.inorderTraversal(function(d,f){if(u.hasChild(d)){var p=e.serverCache.getNode().getImmediateChild(d),g=NMe(t,p,f);s=QX(t,s,new os(d),g,i,r,a,l)}}),c.children.inorderTraversal(function(d,f){var p=!e.serverCache.isCompleteForChild(d)&&f.value===void 0;if(!u.hasChild(d)&&!p){var g=e.serverCache.getNode().getImmediateChild(d),y=NMe(t,g,f);s=QX(t,s,new os(d),y,i,r,a,l)}}),s}function Vgo(t,e,n,o,i,r,a){if($X(i,n)!=null)return e;var l=e.serverCache.isFiltered(),s=e.serverCache;if(o.value!=null){if(Ha(n)&&s.isFullyInitialized()||s.isCompleteForPath(n))return QX(t,e,n,s.getNode().getChild(n),i,r,l,a);if(Ha(n)){var c=new Ig(null);return s.getNode().forEachChild(S9,function(d,f){c=c.set(new os(d),f)}),ife(t,e,n,c,i,r,l,a)}else return e}else{var u=new Ig(null);return o.foreach(function(d,f){var p=jc(n,d);s.isCompleteForPath(p)&&(u=u.set(d,s.getNode().getChild(p)))}),ife(t,e,n,u,i,r,l,a)}}function Ggo(t,e,n,o,i){var r=e.serverCache,a=vit(e,r.getNode(),r.isFullyInitialized()||Ha(n),r.isFiltered());return Rit(t,a,n,o,Cit,i)}function Xgo(t,e,n,o,i,r){var a;if($X(o,n)!=null)return e;var l=new T9e(o,e,i),s=e.eventCache.getNode(),c=void 0;if(Ha(n)||Ra(n)===".priority"){var u=void 0;if(e.serverCache.isFullyInitialized())u=qX(o,ib(e));else{var d=e.serverCache.getNode();ei(d instanceof la,"serverChildren would be complete if leaf node"),u=b9e(o,d)}u=u,c=t.filter.updateFullNode(s,u,r)}else{var f=Ra(n),p=S9e(o,f,e.serverCache);p==null&&e.serverCache.isCompleteForChild(f)&&(p=s.getImmediateChild(f)),p!=null?c=t.filter.updateChild(s,f,p,bs(n),l,r):e.eventCache.getNode().hasChild(f)?c=t.filter.updateChild(s,f,la.EMPTY_NODE,bs(n),l,r):c=s,c.isEmpty()&&e.serverCache.isFullyInitialized()&&(a=qX(o,ib(e)),a.isLeafNode()&&(c=t.filter.updateFullNode(c,a,r)))}return a=e.serverCache.isFullyInitialized()||$X(o,zl())!=null,IE(e,c,a,t.filter.filtersNodes())}/** * @license * Copyright 2017 Google LLC * @@ -8172,7 +8172,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var qgo=function(){function t(e,n){this.query_=e,this.eventRegistrations_=[];var o=this.query_._queryParams,i=new y9e(o.getIndex()),r=sgo(o);this.processor_=Ygo(r);var a=n.serverCache,l=n.eventCache,s=i.updateFullNode(la.EMPTY_NODE,a.getNode(),null),c=r.updateFullNode(la.EMPTY_NODE,l.getNode(),null),u=new g7(s,a.isFullyInitialized(),i.filtersNodes()),d=new g7(c,l.isFullyInitialized(),r.filtersNodes());this.viewCache_=VZ(d,u),this.eventGenerator_=new xgo(this.query_)}return Object.defineProperty(t.prototype,"query",{get:function(){return this.query_},enumerable:!1,configurable:!0}),t}();function $go(t){return t.viewCache_.serverCache.getNode()}function Qgo(t){return KX(t.viewCache_)}function Zgo(t,e){var n=ib(t.viewCache_);return n&&(t.query._queryParams.loadsAllData()||!Ha(e)&&!n.getImmediateChild(Ra(e)).isEmpty())?n.getChild(e):null}function UMe(t){return t.eventRegistrations_.length===0}function emo(t,e){t.eventRegistrations_.push(e)}function BMe(t,e,n){var o=[];if(n){ei(e==null,"A cancel should cancel all event registrations.");var i=t.query._path;t.eventRegistrations_.forEach(function(s){var c=s.createCancelEvent(n,i);c&&o.push(c)})}if(e){for(var r=[],a=0;a0&&!o)if(c){var x=null;t.listenProvider_.stopListening(DE(e),x)}else s.forEach(function(C){var b=t.queryToTagMap.get(KZ(C));t.listenProvider_.stopListening(DE(C),b)});Amo(t,s)}return a}function pmo(t,e,n,o){var i=R9e(t,o);if(i!=null){var r=H9e(i),a=r.path,l=r.queryId,s=ip(a,e),c=new _Z(v9e(l),s,n);return M9e(t,a,c)}else return[]}function gmo(t,e,n,o){var i=R9e(t,o);if(i){var r=H9e(i),a=r.path,l=r.queryId,s=ip(a,e),c=Ig.fromObject(n),u=new x9e(v9e(l),s,c);return M9e(t,a,u)}else return[]}function OMe(t,e,n){var o=e._path,i=null,r=!1;t.syncPointTree_.foreachOnPath(o,function(y,A){var x=ip(y,o);i=i||jw(A,x),r=r||m7(A)});var a=t.syncPointTree_.get(o);a?(r=r||m7(a),i=i||jw(a,zl())):(a=new Mit,t.syncPointTree_=t.syncPointTree_.set(o,a));var l;if(i!=null)l=!0;else{l=!1,i=la.EMPTY_NODE;var s=t.syncPointTree_.subtree(o);s.foreachChild(function(y,A){var x=jw(A,zl());x&&(i=i.updateImmediateChild(y,x))})}var c=Eit(a,e);if(!c&&!e._queryParams.loadsAllData()){var u=KZ(e);ei(!t.queryToTagMap.has(u),"View does not exist, but we have a tag");var d=wmo();t.queryToTagMap.set(u,d),t.tagToQueryMap.set(d,u)}var f=GZ(t.pendingWriteTree_,o),p=rmo(a,e,n,f,i,l);if(!c&&!r){var g=Dit(a,e);p=p.concat(vmo(t,e,g))}return p}function JZ(t,e,n){var o=!0,i=t.pendingWriteTree_,r=t.syncPointTree_.findOnPath(e,function(a,l){var s=ip(a,e),c=jw(l,s);if(c)return c});return Sit(i,e,r,n,o)}function mmo(t,e){var n=e._path,o=null;t.syncPointTree_.foreachOnPath(n,function(c,u){var d=ip(c,n);o=o||jw(u,d)});var i=t.syncPointTree_.get(n);i?o=o||jw(i,zl()):(i=new Mit,t.syncPointTree_=t.syncPointTree_.set(n,i));var r=o!=null,a=r?new g7(o,!0,!1):null,l=GZ(t.pendingWriteTree_,e._path),s=Iit(i,e,l,r?a.getNode():la.EMPTY_NODE,r);return Qgo(s)}function mM(t,e){return kit(e,t.syncPointTree_,null,GZ(t.pendingWriteTree_,zl()))}function kit(t,e,n,o){if(Ha(t.path))return Fit(t,e,n,o);var i=e.get(zl());n==null&&i!=null&&(n=jw(i,zl()));var r=[],a=Ra(t.path),l=t.operationForChild(a),s=e.children.get(a);if(s&&l){var c=n?n.getImmediateChild(a):null,u=Tit(o,a);r=r.concat(kit(l,s,c,u))}return i&&(r=r.concat(P9e(i,t,o,n))),r}function Fit(t,e,n,o){var i=e.get(zl());n==null&&i!=null&&(n=jw(i,zl()));var r=[];return e.children.inorderTraversal(function(a,l){var s=n?n.getImmediateChild(a):null,c=Tit(o,a),u=t.operationForChild(a);u&&(r=r.concat(Fit(u,l,s,c)))}),i&&(r=r.concat(P9e(i,t,o,n))),r}function Lit(t,e){var n=e.query,o=tJ(t,n);return{hashFn:function(){var i=$go(e)||la.EMPTY_NODE;return i.hash()},onComplete:function(i){if(i==="ok")return o?hmo(t,n._path,o):fmo(t,n._path);var r=r1o(i,n);return rfe(t,n,null,r)}}}function tJ(t,e){var n=KZ(e);return t.queryToTagMap.get(n)}function KZ(t){return t._path.toString()+"$"+t._queryIdentifier}function R9e(t,e){return t.tagToQueryMap.get(e)}function H9e(t){var e=t.indexOf("$");return ei(e!==-1&&e0&&!o)if(c){var x=null;t.listenProvider_.stopListening(DE(e),x)}else s.forEach(function(C){var b=t.queryToTagMap.get(KZ(C));t.listenProvider_.stopListening(DE(C),b)});mmo(t,s)}return a}function fmo(t,e,n,o){var i=R9e(t,o);if(i!=null){var r=H9e(i),a=r.path,l=r.queryId,s=ip(a,e),c=new _Z(v9e(l),s,n);return M9e(t,a,c)}else return[]}function hmo(t,e,n,o){var i=R9e(t,o);if(i){var r=H9e(i),a=r.path,l=r.queryId,s=ip(a,e),c=Ig.fromObject(n),u=new x9e(v9e(l),s,c);return M9e(t,a,u)}else return[]}function OMe(t,e,n){var o=e._path,i=null,r=!1;t.syncPointTree_.foreachOnPath(o,function(y,A){var x=ip(y,o);i=i||jw(A,x),r=r||m7(A)});var a=t.syncPointTree_.get(o);a?(r=r||m7(a),i=i||jw(a,zl())):(a=new Mit,t.syncPointTree_=t.syncPointTree_.set(o,a));var l;if(i!=null)l=!0;else{l=!1,i=la.EMPTY_NODE;var s=t.syncPointTree_.subtree(o);s.foreachChild(function(y,A){var x=jw(A,zl());x&&(i=i.updateImmediateChild(y,x))})}var c=Eit(a,e);if(!c&&!e._queryParams.loadsAllData()){var u=KZ(e);ei(!t.queryToTagMap.has(u),"View does not exist, but we have a tag");var d=ymo();t.queryToTagMap.set(u,d),t.tagToQueryMap.set(d,u)}var f=GZ(t.pendingWriteTree_,o),p=omo(a,e,n,f,i,l);if(!c&&!r){var g=Dit(a,e);p=p.concat(Amo(t,e,g))}return p}function JZ(t,e,n){var o=!0,i=t.pendingWriteTree_,r=t.syncPointTree_.findOnPath(e,function(a,l){var s=ip(a,e),c=jw(l,s);if(c)return c});return Sit(i,e,r,n,o)}function pmo(t,e){var n=e._path,o=null;t.syncPointTree_.foreachOnPath(n,function(c,u){var d=ip(c,n);o=o||jw(u,d)});var i=t.syncPointTree_.get(n);i?o=o||jw(i,zl()):(i=new Mit,t.syncPointTree_=t.syncPointTree_.set(n,i));var r=o!=null,a=r?new g7(o,!0,!1):null,l=GZ(t.pendingWriteTree_,e._path),s=Iit(i,e,l,r?a.getNode():la.EMPTY_NODE,r);return qgo(s)}function mM(t,e){return kit(e,t.syncPointTree_,null,GZ(t.pendingWriteTree_,zl()))}function kit(t,e,n,o){if(Ha(t.path))return Fit(t,e,n,o);var i=e.get(zl());n==null&&i!=null&&(n=jw(i,zl()));var r=[],a=Ra(t.path),l=t.operationForChild(a),s=e.children.get(a);if(s&&l){var c=n?n.getImmediateChild(a):null,u=Tit(o,a);r=r.concat(kit(l,s,c,u))}return i&&(r=r.concat(P9e(i,t,o,n))),r}function Fit(t,e,n,o){var i=e.get(zl());n==null&&i!=null&&(n=jw(i,zl()));var r=[];return e.children.inorderTraversal(function(a,l){var s=n?n.getImmediateChild(a):null,c=Tit(o,a),u=t.operationForChild(a);u&&(r=r.concat(Fit(u,l,s,c)))}),i&&(r=r.concat(P9e(i,t,o,n))),r}function Lit(t,e){var n=e.query,o=tJ(t,n);return{hashFn:function(){var i=Kgo(e)||la.EMPTY_NODE;return i.hash()},onComplete:function(i){if(i==="ok")return o?dmo(t,n._path,o):umo(t,n._path);var r=o1o(i,n);return rfe(t,n,null,r)}}}function tJ(t,e){var n=KZ(e);return t.queryToTagMap.get(n)}function KZ(t){return t._path.toString()+"$"+t._queryIdentifier}function R9e(t,e){return t.tagToQueryMap.get(e)}function H9e(t){var e=t.indexOf("$");return ei(e!==-1&&e0}function Cmo(t){return eS(t)===void 0&&!Nit(t)}function $Z(t,e){Vu(t.node.children,function(n,o){e(new D9e(n,t,o))})}function Uit(t,e,n,o){n&&!o&&e(t),$Z(t,function(i){Uit(i,e,!0,o)}),n&&o&&e(t)}function Rmo(t,e,n){for(var o=t.parent;o!==null;){if(e(o))return!0;o=o.parent}return!1}function jN(t){return new os(t.parent===null?t.name:jN(t.parent)+"/"+t.name)}function afe(t){t.parent!==null&&Hmo(t.parent,t.name,t)}function Hmo(t,e,n){var o=Cmo(n),i=Rg(t.node.children,e);o&&i?(delete t.node.children[e],t.node.childCount--,afe(t)):!o&&!i&&(t.node.children[e]=n.node,t.node.childCount++,afe(t))}/** + */var D9e=function(){function t(e,n,o){e===void 0&&(e=""),n===void 0&&(n=null),o===void 0&&(o={children:{},childCount:0}),this.name=e,this.parent=n,this.node=o}return t}();function qZ(t,e){for(var n=e instanceof os?e:new os(e),o=t,i=Ra(n);i!==null;){var r=qx(o.node.children,i)||{children:{},childCount:0};o=new D9e(i,o,r),n=bs(n),i=Ra(n)}return o}function eS(t){return t.node.value}function E9e(t,e){t.node.value=e,afe(t)}function Nit(t){return t.node.childCount>0}function Tmo(t){return eS(t)===void 0&&!Nit(t)}function $Z(t,e){Vu(t.node.children,function(n,o){e(new D9e(n,t,o))})}function Uit(t,e,n,o){n&&!o&&e(t),$Z(t,function(i){Uit(i,e,!0,o)}),n&&o&&e(t)}function Pmo(t,e,n){for(var o=t.parent;o!==null;){if(e(o))return!0;o=o.parent}return!1}function jN(t){return new os(t.parent===null?t.name:jN(t.parent)+"/"+t.name)}function afe(t){t.parent!==null&&Cmo(t.parent,t.name,t)}function Cmo(t,e,n){var o=Tmo(n),i=Rg(t.node.children,e);o&&i?(delete t.node.children[e],t.node.childCount--,afe(t)):!o&&!i&&(t.node.children[e]=n.node,t.node.childCount++,afe(t))}/** * @license * Copyright 2017 Google LLC * @@ -8247,7 +8247,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Mmo=/[\[\].#$\/\u0000-\u001F\u007F]/,Imo=/[\[\].#$\u0000-\u001F\u007F]/,zae=10*1024*1024,QZ=function(t){return typeof t=="string"&&t.length!==0&&!Mmo.test(t)},Bit=function(t){return typeof t=="string"&&t.length!==0&&!Imo.test(t)},zmo=function(t){return t&&(t=t.replace(/^\/*\.info(\/|$)/,"/")),Bit(t)},IF=function(t){return t===null||typeof t=="string"||typeof t=="number"&&!jZ(t)||t&&typeof t=="object"&&Rg(t,".sv")},j9=function(t,e,n,o){o&&e===void 0||YN(Xp(t,"value"),e,n)},YN=function(t,e,n){var o=n instanceof os?new U1o(n,t):n;if(e===void 0)throw new Error(t+"contains undefined "+fv(o));if(typeof e=="function")throw new Error(t+"contains a function "+fv(o)+" with contents = "+e.toString());if(jZ(e))throw new Error(t+"contains "+e.toString()+" "+fv(o));if(typeof e=="string"&&e.length>zae/3&&NQ(e)>zae)throw new Error(t+"contains a string greater than "+zae+" utf8 bytes "+fv(o)+" ('"+e.substring(0,50)+"...')");if(e&&typeof e=="object"){var i=!1,r=!1;if(Vu(e,function(a,l){if(a===".value")i=!0;else if(a!==".priority"&&a!==".sv"&&(r=!0,!QZ(a)))throw new Error(t+" contains an invalid key ("+a+") "+fv(o)+`. Keys must be non-empty strings and can't contain ".", "#", "$", "/", "[", or "]"`);B1o(o,a),YN(t,l,o),j1o(o)}),i&&r)throw new Error(t+' contains ".value" child '+fv(o)+" in addition to actual children.")}},Dmo=function(t,e){var n,o;for(n=0;nzae/3&&NQ(e)>zae)throw new Error(t+"contains a string greater than "+zae+" utf8 bytes "+fv(o)+" ('"+e.substring(0,50)+"...')");if(e&&typeof e=="object"){var i=!1,r=!1;if(Vu(e,function(a,l){if(a===".value")i=!0;else if(a!==".priority"&&a!==".sv"&&(r=!0,!QZ(a)))throw new Error(t+" contains an invalid key ("+a+") "+fv(o)+`. Keys must be non-empty strings and can't contain ".", "#", "$", "/", "[", or "]"`);N1o(o,a),YN(t,l,o),U1o(o)}),i&&r)throw new Error(t+' contains ".value" child '+fv(o)+" in addition to actual children.")}},Imo=function(t,e){var n,o;for(n=0;n0&&(d=jR(t,r)),Qm(t.eventQueue_,d,a)}function jmo(t,e){t.interceptServerDataCallback_=e}function GMe(t,e){L9e(t,"connected",e),e===!1&&Vmo(t)}function Ymo(t,e){Vu(e,function(n,o){L9e(t,n,o)})}function L9e(t,e,n){var o=new os("/.info/"+e),i=t0(n);t.infoData_.updateSnapshot(o,i);var r=BN(t.infoSyncTree_,o,i);Qm(t.eventQueue_,o,r)}function eee(t){return t.nextWriteId_++}function Omo(t,e){var n=mmo(t.serverSyncTree_,e);return n!=null?Promise.resolve(n):t.server_.get(e).then(function(o){var i=t0(o).withIndex(e._queryParams.getIndex()),r=BN(t.serverSyncTree_,e._path,i);return F9e(t.eventQueue_,e._path,r),Promise.resolve(i)},function(o){return yM(t,"get for query "+Du(e)+" failed: "+o),Promise.reject(new Error(o))})}function W9e(t,e,n,o,i){yM(t,"set",{path:e.toString(),value:n,priority:o});var r=_N(t),a=t0(n,o),l=JZ(t.serverSyncTree_,e),s=I9e(a,l,r),c=eee(t),u=C9e(t.serverSyncTree_,e,s,c,!0);ZZ(t.eventQueue_,u),t.server_.put(e.toString(),a.val(!0),function(f,p){var g=f==="ok";g||ff("set at "+e+" failed: "+f);var y=Aw(t.serverSyncTree_,c,!g);Qm(t.eventQueue_,e,y),y7(t,i,f,p)});var d=U9e(t,e);jR(t,d),Qm(t.eventQueue_,d,[])}function _mo(t,e,n,o){yM(t,"update",{path:e.toString(),value:n});var i=!0,r=_N(t),a={};if(Vu(n,function(c,u){i=!1,a[c]=Wit(jc(e,c),t0(u),t.serverSyncTree_,r)}),i)wd("update() called with empty data. Don't do anything."),y7(t,o,"ok",void 0);else{var l=eee(t),s=umo(t.serverSyncTree_,e,a,l);ZZ(t.eventQueue_,s),t.server_.merge(e.toString(),n,function(c,u){var d=c==="ok";d||ff("update at "+e+" failed: "+c);var f=Aw(t.serverSyncTree_,l,!d),p=f.length>0?jR(t,e):e;Qm(t.eventQueue_,p,f),y7(t,o,c,u)}),Vu(n,function(c){var u=U9e(t,jc(e,c));jR(t,u)}),Qm(t.eventQueue_,e,[])}}function Vmo(t){yM(t,"onDisconnectEvents");var e=_N(t),n=JX();Zde(t.onDisconnect_,zl(),function(i,r){var a=Wit(i,r,t.serverSyncTree_,e);gM(n,i,a)});var o=[];Zde(n,zl(),function(i,r){o=o.concat(BN(t.serverSyncTree_,i,r));var a=U9e(t,i);jR(t,a)}),t.onDisconnect_=JX(),Qm(t.eventQueue_,zl(),o)}function Gmo(t,e,n){t.server_.onDisconnectCancel(e.toString(),function(o,i){o==="ok"&&Qde(t.onDisconnect_,e),y7(t,n,o,i)})}function XMe(t,e,n,o){var i=t0(n);t.server_.onDisconnectPut(e.toString(),i.val(!0),function(r,a){r==="ok"&&gM(t.onDisconnect_,e,i),y7(t,o,r,a)})}function Xmo(t,e,n,o,i){var r=t0(n,o);t.server_.onDisconnectPut(e.toString(),r.val(!0),function(a,l){a==="ok"&&gM(t.onDisconnect_,e,r),y7(t,i,a,l)})}function Jmo(t,e,n,o){if(Gue(n)){wd("onDisconnect().update() called with empty data. Don't do anything."),y7(t,o,"ok",void 0);return}t.server_.onDisconnectMerge(e.toString(),n,function(i,r){i==="ok"&&Vu(n,function(a,l){var s=t0(l);gM(t.onDisconnect_,jc(e,a),s)}),y7(t,o,i,r)})}function Kmo(t,e,n){var o;Ra(e._path)===".info"?o=OMe(t.infoSyncTree_,e,n):o=OMe(t.serverSyncTree_,e,n),F9e(t.eventQueue_,e._path,o)}function lfe(t,e,n){var o;Ra(e._path)===".info"?o=rfe(t.infoSyncTree_,e,n):o=rfe(t.serverSyncTree_,e,n),F9e(t.eventQueue_,e._path,o)}function Git(t){t.persistentConnection_&&t.persistentConnection_.interrupt(_it)}function qmo(t){t.persistentConnection_&&t.persistentConnection_.resume(_it)}function $mo(t,e){if(e===void 0&&(e=!1),!(typeof console>"u")){var n;e?(t.statsListener_||(t.statsListener_=new Ait(t.stats_)),n=t.statsListener_.get()):n=t.stats_.get();var o=Object.keys(n).reduce(function(i,r){return Math.max(r.length,i)},0);Vu(n,function(i,r){for(var a=i,l=i.length;l0,"Sending zero length transaction queue");var o=n.every(function(i){return i.status===0});o&&eyo(t,jN(e),n)}else Nit(e)&&$Z(e,function(i){tee(t,i)})}function eyo(t,e,n){for(var o=n.map(function(f){return f.currentWriteId}),i=N9e(t,e,o),r=i,a=i.hash(),l=0;l=Nmo)f=!0,p="maxretry",i=i.concat(Aw(t.serverSyncTree_,u.currentWriteId,!0));else{var g=N9e(t,u.path,a);u.currentInputSnapshot=g;var y=e[c].update(g.val());if(y!==void 0){YN("transaction failed: Data returned ",y,u.path);var A=t0(y),x=typeof y=="object"&&y!=null&&Rg(y,".priority");x||(A=A.updatePriority(g.getPriority()));var C=u.currentWriteId,b=_N(t),v=I9e(A,g,b);u.currentOutputSnapshotRaw=A,u.currentOutputSnapshotResolved=v,u.currentWriteId=eee(t),a.splice(a.indexOf(C),1),i=i.concat(C9e(t.serverSyncTree_,u.path,v,u.currentWriteId,u.applyLocally)),i=i.concat(Aw(t.serverSyncTree_,C,!0))}else f=!0,p="nodata",i=i.concat(Aw(t.serverSyncTree_,u.currentWriteId,!0))}Qm(t.eventQueue_,n,i),i=[],f&&(e[c].status=2,function(S){setTimeout(S,Math.floor(0))}(e[c].unwatcher),e[c].onComplete&&(p==="nodata"?o.push(function(){return e[c].onComplete(null,!1,e[c].currentInputSnapshot)}):o.push(function(){return e[c].onComplete(new Error(p),!1,null)})))},s=0;s0?n:void 0)}$Z(e,function(r){nee(t,r)})}function U9e(t,e){var n=jN(Xit(t,e)),o=qZ(t.transactionQueueTree_,e);return Rmo(o,function(i){Dae(t,i)}),Dae(t,o),Uit(o,function(i){Dae(t,i)}),n}function Dae(t,e){var n=eS(e);if(n){for(var o=[],i=[],r=-1,a=0;a0&&(d=jR(t,r)),Qm(t.eventQueue_,d,a)}function Umo(t,e){t.interceptServerDataCallback_=e}function GMe(t,e){L9e(t,"connected",e),e===!1&&Omo(t)}function Bmo(t,e){Vu(e,function(n,o){L9e(t,n,o)})}function L9e(t,e,n){var o=new os("/.info/"+e),i=t0(n);t.infoData_.updateSnapshot(o,i);var r=BN(t.infoSyncTree_,o,i);Qm(t.eventQueue_,o,r)}function eee(t){return t.nextWriteId_++}function jmo(t,e){var n=pmo(t.serverSyncTree_,e);return n!=null?Promise.resolve(n):t.server_.get(e).then(function(o){var i=t0(o).withIndex(e._queryParams.getIndex()),r=BN(t.serverSyncTree_,e._path,i);return F9e(t.eventQueue_,e._path,r),Promise.resolve(i)},function(o){return yM(t,"get for query "+Du(e)+" failed: "+o),Promise.reject(new Error(o))})}function W9e(t,e,n,o,i){yM(t,"set",{path:e.toString(),value:n,priority:o});var r=_N(t),a=t0(n,o),l=JZ(t.serverSyncTree_,e),s=I9e(a,l,r),c=eee(t),u=C9e(t.serverSyncTree_,e,s,c,!0);ZZ(t.eventQueue_,u),t.server_.put(e.toString(),a.val(!0),function(f,p){var g=f==="ok";g||ff("set at "+e+" failed: "+f);var y=Aw(t.serverSyncTree_,c,!g);Qm(t.eventQueue_,e,y),y7(t,i,f,p)});var d=U9e(t,e);jR(t,d),Qm(t.eventQueue_,d,[])}function Ymo(t,e,n,o){yM(t,"update",{path:e.toString(),value:n});var i=!0,r=_N(t),a={};if(Vu(n,function(c,u){i=!1,a[c]=Wit(jc(e,c),t0(u),t.serverSyncTree_,r)}),i)wd("update() called with empty data. Don't do anything."),y7(t,o,"ok",void 0);else{var l=eee(t),s=smo(t.serverSyncTree_,e,a,l);ZZ(t.eventQueue_,s),t.server_.merge(e.toString(),n,function(c,u){var d=c==="ok";d||ff("update at "+e+" failed: "+c);var f=Aw(t.serverSyncTree_,l,!d),p=f.length>0?jR(t,e):e;Qm(t.eventQueue_,p,f),y7(t,o,c,u)}),Vu(n,function(c){var u=U9e(t,jc(e,c));jR(t,u)}),Qm(t.eventQueue_,e,[])}}function Omo(t){yM(t,"onDisconnectEvents");var e=_N(t),n=JX();Zde(t.onDisconnect_,zl(),function(i,r){var a=Wit(i,r,t.serverSyncTree_,e);gM(n,i,a)});var o=[];Zde(n,zl(),function(i,r){o=o.concat(BN(t.serverSyncTree_,i,r));var a=U9e(t,i);jR(t,a)}),t.onDisconnect_=JX(),Qm(t.eventQueue_,zl(),o)}function _mo(t,e,n){t.server_.onDisconnectCancel(e.toString(),function(o,i){o==="ok"&&Qde(t.onDisconnect_,e),y7(t,n,o,i)})}function XMe(t,e,n,o){var i=t0(n);t.server_.onDisconnectPut(e.toString(),i.val(!0),function(r,a){r==="ok"&&gM(t.onDisconnect_,e,i),y7(t,o,r,a)})}function Vmo(t,e,n,o,i){var r=t0(n,o);t.server_.onDisconnectPut(e.toString(),r.val(!0),function(a,l){a==="ok"&&gM(t.onDisconnect_,e,r),y7(t,i,a,l)})}function Gmo(t,e,n,o){if(Gue(n)){wd("onDisconnect().update() called with empty data. Don't do anything."),y7(t,o,"ok",void 0);return}t.server_.onDisconnectMerge(e.toString(),n,function(i,r){i==="ok"&&Vu(n,function(a,l){var s=t0(l);gM(t.onDisconnect_,jc(e,a),s)}),y7(t,o,i,r)})}function Xmo(t,e,n){var o;Ra(e._path)===".info"?o=OMe(t.infoSyncTree_,e,n):o=OMe(t.serverSyncTree_,e,n),F9e(t.eventQueue_,e._path,o)}function lfe(t,e,n){var o;Ra(e._path)===".info"?o=rfe(t.infoSyncTree_,e,n):o=rfe(t.serverSyncTree_,e,n),F9e(t.eventQueue_,e._path,o)}function Git(t){t.persistentConnection_&&t.persistentConnection_.interrupt(_it)}function Jmo(t){t.persistentConnection_&&t.persistentConnection_.resume(_it)}function Kmo(t,e){if(e===void 0&&(e=!1),!(typeof console>"u")){var n;e?(t.statsListener_||(t.statsListener_=new Ait(t.stats_)),n=t.statsListener_.get()):n=t.stats_.get();var o=Object.keys(n).reduce(function(i,r){return Math.max(r.length,i)},0);Vu(n,function(i,r){for(var a=i,l=i.length;l0,"Sending zero length transaction queue");var o=n.every(function(i){return i.status===0});o&&Qmo(t,jN(e),n)}else Nit(e)&&$Z(e,function(i){tee(t,i)})}function Qmo(t,e,n){for(var o=n.map(function(f){return f.currentWriteId}),i=N9e(t,e,o),r=i,a=i.hash(),l=0;l=Lmo)f=!0,p="maxretry",i=i.concat(Aw(t.serverSyncTree_,u.currentWriteId,!0));else{var g=N9e(t,u.path,a);u.currentInputSnapshot=g;var y=e[c].update(g.val());if(y!==void 0){YN("transaction failed: Data returned ",y,u.path);var A=t0(y),x=typeof y=="object"&&y!=null&&Rg(y,".priority");x||(A=A.updatePriority(g.getPriority()));var C=u.currentWriteId,b=_N(t),v=I9e(A,g,b);u.currentOutputSnapshotRaw=A,u.currentOutputSnapshotResolved=v,u.currentWriteId=eee(t),a.splice(a.indexOf(C),1),i=i.concat(C9e(t.serverSyncTree_,u.path,v,u.currentWriteId,u.applyLocally)),i=i.concat(Aw(t.serverSyncTree_,C,!0))}else f=!0,p="nodata",i=i.concat(Aw(t.serverSyncTree_,u.currentWriteId,!0))}Qm(t.eventQueue_,n,i),i=[],f&&(e[c].status=2,function(S){setTimeout(S,Math.floor(0))}(e[c].unwatcher),e[c].onComplete&&(p==="nodata"?o.push(function(){return e[c].onComplete(null,!1,e[c].currentInputSnapshot)}):o.push(function(){return e[c].onComplete(new Error(p),!1,null)})))},s=0;s0?n:void 0)}$Z(e,function(r){nee(t,r)})}function U9e(t,e){var n=jN(Xit(t,e)),o=qZ(t.transactionQueueTree_,e);return Pmo(o,function(i){Dae(t,i)}),Dae(t,o),Uit(o,function(i){Dae(t,i)}),n}function Dae(t,e){var n=eS(e);if(n){for(var o=[],i=[],r=-1,a=0;a0){var i=n[o];try{i=decodeURIComponent(i.replace(/\+/g," "))}catch{}e+="/"+i}return e}function oyo(t){var e,n,o={};t.charAt(0)==="?"&&(t=t.substring(1));try{for(var i=yg(t.split("&")),r=i.next();!r.done;r=i.next()){var a=r.value;if(a.length!==0){var l=a.split("=");l.length===2?o[decodeURIComponent(l[0])]=decodeURIComponent(l[1]):ff("Invalid query segment '"+a+"' in query '"+t+"'")}}}catch(s){e={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return o}var sfe=function(t,e){var n=iyo(t),o=n.namespace;n.domain==="firebase.com"&&U9(n.host+" is no longer supported. Please use .firebaseio.com instead"),(!o||o==="undefined")&&n.domain!=="localhost"&&U9("Cannot parse Firebase url. Please use https://.firebaseio.com"),n.secure||e1o();var i=n.scheme==="ws"||n.scheme==="wss";return{repoInfo:new c9e(n.host,n.secure,o,e,i,"",o!==n.subdomain),path:new os(n.pathString)}},iyo=function(t){var e="",n="",o="",i="",r="",a=!0,l="https",s=443;if(typeof t=="string"){var c=t.indexOf("//");c>=0&&(l=t.substring(0,c-1),t=t.substring(c+2));var u=t.indexOf("/");u===-1&&(u=t.length);var d=t.indexOf("?");d===-1&&(d=t.length),e=t.substring(0,Math.min(u,d)),u=0?(a=l==="https"||l==="wss",s=parseInt(e.substring(c+1),10)):c=e.length;var p=e.slice(0,c);if(p.toLowerCase()==="localhost")n="localhost";else if(p.split(".").length<=2)n=p;else{var g=e.indexOf(".");o=e.substring(0,g).toLowerCase(),n=e.substring(g+1),r=o}"ns"in f&&(r=f.ns)}return{host:e,port:s,domain:n,subdomain:o,secure:a,scheme:l,pathString:i,namespace:r}};/** + */function eyo(t){for(var e="",n=t.split("/"),o=0;o0){var i=n[o];try{i=decodeURIComponent(i.replace(/\+/g," "))}catch{}e+="/"+i}return e}function tyo(t){var e,n,o={};t.charAt(0)==="?"&&(t=t.substring(1));try{for(var i=Ag(t.split("&")),r=i.next();!r.done;r=i.next()){var a=r.value;if(a.length!==0){var l=a.split("=");l.length===2?o[decodeURIComponent(l[0])]=decodeURIComponent(l[1]):ff("Invalid query segment '"+a+"' in query '"+t+"'")}}}catch(s){e={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return o}var sfe=function(t,e){var n=nyo(t),o=n.namespace;n.domain==="firebase.com"&&U9(n.host+" is no longer supported. Please use .firebaseio.com instead"),(!o||o==="undefined")&&n.domain!=="localhost"&&U9("Cannot parse Firebase url. Please use https://.firebaseio.com"),n.secure||Qpo();var i=n.scheme==="ws"||n.scheme==="wss";return{repoInfo:new c9e(n.host,n.secure,o,e,i,"",o!==n.subdomain),path:new os(n.pathString)}},nyo=function(t){var e="",n="",o="",i="",r="",a=!0,l="https",s=443;if(typeof t=="string"){var c=t.indexOf("//");c>=0&&(l=t.substring(0,c-1),t=t.substring(c+2));var u=t.indexOf("/");u===-1&&(u=t.length);var d=t.indexOf("?");d===-1&&(d=t.length),e=t.substring(0,Math.min(u,d)),u=0?(a=l==="https"||l==="wss",s=parseInt(e.substring(c+1),10)):c=e.length;var p=e.slice(0,c);if(p.toLowerCase()==="localhost")n="localhost";else if(p.split(".").length<=2)n=p;else{var g=e.indexOf(".");o=e.substring(0,g).toLowerCase(),n=e.substring(g+1),r=o}"ns"in f&&(r=f.ns)}return{host:e,port:s,domain:n,subdomain:o,secure:a,scheme:l,pathString:i,namespace:r}};/** * @license * Copyright 2017 Google LLC * @@ -8337,7 +8337,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var ryo=function(){function t(e,n){this._repo=e,this._path=n}return t.prototype.cancel=function(){var e=new Lp;return Gmo(this._repo,this._path,e.wrapCallback(function(){})),e.promise},t.prototype.remove=function(){Wm("OnDisconnect.remove",this._path);var e=new Lp;return XMe(this._repo,this._path,null,e.wrapCallback(function(){})),e.promise},t.prototype.set=function(e){Wm("OnDisconnect.set",this._path),j9("OnDisconnect.set",e,this._path,!1);var n=new Lp;return XMe(this._repo,this._path,e,n.wrapCallback(function(){})),n.promise},t.prototype.setWithPriority=function(e,n){Wm("OnDisconnect.setWithPriority",this._path),j9("OnDisconnect.setWithPriority",e,this._path,!1),k9e("OnDisconnect.setWithPriority",n);var o=new Lp;return Xmo(this._repo,this._path,e,n,o.wrapCallback(function(){})),o.promise},t.prototype.update=function(e){Wm("OnDisconnect.update",this._path),jit("OnDisconnect.update",e,this._path);var n=new Lp;return Jmo(this._repo,this._path,e,n.wrapCallback(function(){})),n.promise},t}();/** + */var oyo=function(){function t(e,n){this._repo=e,this._path=n}return t.prototype.cancel=function(){var e=new Lp;return _mo(this._repo,this._path,e.wrapCallback(function(){})),e.promise},t.prototype.remove=function(){Wm("OnDisconnect.remove",this._path);var e=new Lp;return XMe(this._repo,this._path,null,e.wrapCallback(function(){})),e.promise},t.prototype.set=function(e){Wm("OnDisconnect.set",this._path),j9("OnDisconnect.set",e,this._path,!1);var n=new Lp;return XMe(this._repo,this._path,e,n.wrapCallback(function(){})),n.promise},t.prototype.setWithPriority=function(e,n){Wm("OnDisconnect.setWithPriority",this._path),j9("OnDisconnect.setWithPriority",e,this._path,!1),k9e("OnDisconnect.setWithPriority",n);var o=new Lp;return Vmo(this._repo,this._path,e,n,o.wrapCallback(function(){})),o.promise},t.prototype.update=function(e){Wm("OnDisconnect.update",this._path),jit("OnDisconnect.update",e,this._path);var n=new Lp;return Gmo(this._repo,this._path,e,n.wrapCallback(function(){})),n.promise},t}();/** * @license * Copyright 2020 Google LLC * @@ -8352,7 +8352,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var ay=function(){function t(e,n,o,i){this._repo=e,this._path=n,this._queryParams=o,this._orderByCalled=i}return Object.defineProperty(t.prototype,"key",{get:function(){return Ha(this._path)?null:f9e(this._path)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ref",{get:function(){return new d3(this._repo,this._path)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_queryIdentifier",{get:function(){var e=DMe(this._queryParams),n=a9e(e);return n==="{}"?"default":n},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_queryObject",{get:function(){return DMe(this._queryParams)},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){if(e=va(e),!(e instanceof t))return!1;var n=this._repo===e._repo,o=h9e(this._path,e._path),i=this._queryIdentifier===e._queryIdentifier;return n&&o&&i},t.prototype.toJSON=function(){return this.toString()},t.prototype.toString=function(){return this._repo.toString()+W1o(this._path)},t}();function oee(t,e){if(t._orderByCalled===!0)throw new Error(e+": You can't combine multiple orderBy calls.")}function G7(t){var e=null,n=null;if(t.hasStart()&&(e=t.getIndexStartValue()),t.hasEnd()&&(n=t.getIndexEndValue()),t.getIndex()===S9){var o="Query: When ordering by key, you may only pass one argument to startAt(), endAt(), or equalTo().",i="Query: When ordering by key, the argument passed to startAt(), startAfter(), endAt(), endBefore(), or equalTo() must be a string.";if(t.hasStart()){var r=t.getIndexStartName();if(r!==Z6)throw new Error(o);if(typeof e!="string")throw new Error(i)}if(t.hasEnd()){var a=t.getIndexEndName();if(a!==B9)throw new Error(o);if(typeof n!="string")throw new Error(i)}}else if(t.getIndex()===Vs){if(e!=null&&!IF(e)||n!=null&&!IF(n))throw new Error("Query: When ordering by priority, the first argument passed to startAt(), startAfter() endAt(), endBefore(), or equalTo() must be a valid priority value (null, a number, or a string).")}else if(ei(t.getIndex()instanceof g9e||t.getIndex()===m9e,"unknown index type."),e!=null&&typeof e=="object"||n!=null&&typeof n=="object")throw new Error("Query: First argument passed to startAt(), startAfter(), endAt(), endBefore(), or equalTo() cannot be an object.")}function iee(t){if(t.hasStart()&&t.hasEnd()&&t.hasLimit()&&!t.hasAnchoredLimit())throw new Error("Query: Can't combine startAt(), startAfter(), endAt(), endBefore(), and limit(). Use limitToFirst() or limitToLast() instead.")}var d3=function(t){Ti(e,t);function e(n,o){return t.call(this,n,o,new yit,!1)||this}return Object.defineProperty(e.prototype,"parent",{get:function(){var n=ait(this._path);return n===null?null:new e(this._repo,n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"root",{get:function(){for(var n=this;n.parent!==null;)n=n.parent;return n},enumerable:!1,configurable:!0}),e}(ay),ree=function(){function t(e,n,o){this._node=e,this.ref=n,this._index=o}return Object.defineProperty(t.prototype,"priority",{get:function(){return this._node.getPriority().val()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"key",{get:function(){return this.ref.key},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){return this._node.numChildren()},enumerable:!1,configurable:!0}),t.prototype.child=function(e){var n=new os(e),o=rb(this.ref,e);return new t(this._node.getChild(n),o,Vs)},t.prototype.exists=function(){return!this._node.isEmpty()},t.prototype.exportVal=function(){return this._node.val(!0)},t.prototype.forEach=function(e){var n=this;if(this._node.isLeafNode())return!1;var o=this._node;return!!o.forEachChild(this._index,function(i,r){return e(new t(r,rb(n.ref,i),Vs))})},t.prototype.hasChild=function(e){var n=new os(e);return!this._node.getChild(n).isEmpty()},t.prototype.hasChildren=function(){return this._node.isLeafNode()?!1:!this._node.isEmpty()},t.prototype.toJSON=function(){return this.exportVal()},t.prototype.val=function(){return this._node.val()},t}();function Zit(t,e){return t=va(t),t._checkNotDeleted("ref"),e!==void 0?rb(t._root,e):t._root}function JMe(t,e){t=va(t),t._checkNotDeleted("refFromURL");var n=sfe(e,t._repo.repoInfo_.nodeAdmin);Yit("refFromURL",n);var o=n.repoInfo;return!t._repo.repoInfo_.isCustomHost()&&o.host!==t._repo.repoInfo_.host&&U9("refFromURL: Host name does not match the current database: (found "+o.host+" but expected "+t._repo.repoInfo_.host+")"),Zit(t,n.path.toString())}function rb(t,e){return t=va(t),Ra(t._path)===null?kmo("child","path",e):zF("child","path",e),new d3(t._repo,jc(t._path,e))}function ayo(t,e){t=va(t),Wm("push",t._path),j9("push",e,t._path,!0);var n=Vit(t._repo),o=rgo(n),i=rb(t,o),r=rb(t,o),a;return e!=null?a=B9e(r,e).then(function(){return r}):a=Promise.resolve(r),i.then=a.then.bind(a),i.catch=a.then.bind(a,void 0),i}function lyo(t){return Wm("remove",t._path),B9e(t,null)}function B9e(t,e){t=va(t),Wm("set",t._path),j9("set",e,t._path,!1);var n=new Lp;return W9e(t._repo,t._path,e,null,n.wrapCallback(function(){})),n.promise}function syo(t,e){t=va(t),Wm("setPriority",t._path),k9e("setPriority",e);var n=new Lp;return W9e(t._repo,jc(t._path,".priority"),e,null,n.wrapCallback(function(){})),n.promise}function cyo(t,e,n){if(Wm("setWithPriority",t._path),j9("setWithPriority",e,t._path,!1),k9e("setWithPriority",n),t.key===".length"||t.key===".keys")throw"setWithPriority failed: "+t.key+" is a read-only object.";var o=new Lp;return W9e(t._repo,t._path,e,n,o.wrapCallback(function(){})),o.promise}function uyo(t,e){jit("update",e,t._path);var n=new Lp;return _mo(t._repo,t._path,e,n.wrapCallback(function(){})),n.promise}function dyo(t){return t=va(t),Omo(t._repo,t).then(function(e){return new ree(e,new d3(t._repo,t._path),t._queryParams.getIndex())})}var ert=function(){function t(e){this.callbackContext=e}return t.prototype.respondsTo=function(e){return e==="value"},t.prototype.createEvent=function(e,n){var o=n._queryParams.getIndex();return new qit("value",this,new ree(e.snapshotNode,new d3(n._repo,n._path),o))},t.prototype.getEventRunner=function(e){var n=this;return e.getEventType()==="cancel"?function(){return n.callbackContext.onCancel(e.error)}:function(){return n.callbackContext.onValue(e.snapshot,null)}},t.prototype.createCancelEvent=function(e,n){return this.callbackContext.hasCancelCallback?new $it(this,e,n):null},t.prototype.matches=function(e){return e instanceof t?!e.callbackContext||!this.callbackContext?!0:e.callbackContext.matches(this.callbackContext):!1},t.prototype.hasAnyCallback=function(){return this.callbackContext!==null},t}(),trt=function(){function t(e,n){this.eventType=e,this.callbackContext=n}return t.prototype.respondsTo=function(e){var n=e==="children_added"?"child_added":e;return n=n==="children_removed"?"child_removed":n,this.eventType===n},t.prototype.createCancelEvent=function(e,n){return this.callbackContext.hasCancelCallback?new $it(this,e,n):null},t.prototype.createEvent=function(e,n){ei(e.childName!=null,"Child events should have a childName.");var o=rb(new d3(n._repo,n._path),e.childName),i=n._queryParams.getIndex();return new qit(e.type,this,new ree(e.snapshotNode,o,i),e.prevName)},t.prototype.getEventRunner=function(e){var n=this;return e.getEventType()==="cancel"?function(){return n.callbackContext.onCancel(e.error)}:function(){return n.callbackContext.onValue(e.snapshot,e.prevName)}},t.prototype.matches=function(e){return e instanceof t?this.eventType===e.eventType&&(!this.callbackContext||!e.callbackContext||this.callbackContext.matches(e.callbackContext)):!1},t.prototype.hasAnyCallback=function(){return!!this.callbackContext},t}();function VN(t,e,n,o,i){var r;if(typeof o=="object"&&(r=void 0,i=o),typeof o=="function"&&(r=o),i&&i.onlyOnce){var a=n,l=function(u,d){lfe(t._repo,t,c),a(u,d)};l.userCallback=n.userCallback,l.context=n.context,n=l}var s=new Qit(n,r||void 0),c=e==="value"?new ert(s):new trt(e,s);return Kmo(t._repo,t,c),function(){return lfe(t._repo,t,c)}}function cfe(t,e,n,o){return VN(t,"value",e,n,o)}function KMe(t,e,n,o){return VN(t,"child_added",e,n,o)}function qMe(t,e,n,o){return VN(t,"child_changed",e,n,o)}function $Me(t,e,n,o){return VN(t,"child_moved",e,n,o)}function QMe(t,e,n,o){return VN(t,"child_removed",e,n,o)}function ZMe(t,e,n){var o=null,i=n?new Qit(n):null;e==="value"?o=new ert(i):e&&(o=new trt(e,i)),lfe(t._repo,t,o)}var o5=function(){function t(){}return t}(),nrt=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){j9("endAt",this._value,n._path,!0);var o=$de(n._queryParams,this._value,this._key);if(iee(o),G7(o),n._queryParams.hasEnd())throw new Error("endAt: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new ay(n._repo,n._path,o,n._orderByCalled)},e}(o5);function fyo(t,e){return ON("endAt","key",e),new nrt(t,e)}var hyo=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){j9("endBefore",this._value,n._path,!1);var o=fgo(n._queryParams,this._value,this._key);if(iee(o),G7(o),n._queryParams.hasEnd())throw new Error("endBefore: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new ay(n._repo,n._path,o,n._orderByCalled)},e}(o5);function pyo(t,e){return ON("endBefore","key",e),new hyo(t,e)}var ort=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){j9("startAt",this._value,n._path,!0);var o=qde(n._queryParams,this._value,this._key);if(iee(o),G7(o),n._queryParams.hasStart())throw new Error("startAt: Starting point was already set (by another call to startAt, startBefore or equalTo).");return new ay(n._repo,n._path,o,n._orderByCalled)},e}(o5);function gyo(t,e){return t===void 0&&(t=null),ON("startAt","key",e),new ort(t,e)}var myo=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){j9("startAfter",this._value,n._path,!1);var o=dgo(n._queryParams,this._value,this._key);if(iee(o),G7(o),n._queryParams.hasStart())throw new Error("startAfter: Starting point was already set (by another call to startAt, startAfter, or equalTo).");return new ay(n._repo,n._path,o,n._orderByCalled)},e}(o5);function yyo(t,e){return ON("startAfter","key",e),new myo(t,e)}var Ayo=function(t){Ti(e,t);function e(n){var o=t.call(this)||this;return o._limit=n,o}return e.prototype._apply=function(n){if(n._queryParams.hasLimit())throw new Error("limitToFirst: Limit was already set (by another call to limitToFirst or limitToLast).");return new ay(n._repo,n._path,cgo(n._queryParams,this._limit),n._orderByCalled)},e}(o5);function wyo(t){if(typeof t!="number"||Math.floor(t)!==t||t<=0)throw new Error("limitToFirst: First argument must be a positive integer.");return new Ayo(t)}var vyo=function(t){Ti(e,t);function e(n){var o=t.call(this)||this;return o._limit=n,o}return e.prototype._apply=function(n){if(n._queryParams.hasLimit())throw new Error("limitToLast: Limit was already set (by another call to limitToFirst or limitToLast).");return new ay(n._repo,n._path,ugo(n._queryParams,this._limit),n._orderByCalled)},e}(o5);function xyo(t){if(typeof t!="number"||Math.floor(t)!==t||t<=0)throw new Error("limitToLast: First argument must be a positive integer.");return new vyo(t)}var byo=function(t){Ti(e,t);function e(n){var o=t.call(this)||this;return o._path=n,o}return e.prototype._apply=function(n){oee(n,"orderByChild");var o=new os(this._path);if(Ha(o))throw new Error("orderByChild: cannot pass in empty path. Use orderByValue() instead.");var i=new g9e(o),r=OZ(n._queryParams,i);return G7(r),new ay(n._repo,n._path,r,!0)},e}(o5);function Syo(t){if(t==="$key")throw new Error('orderByChild: "$key" is invalid. Use orderByKey() instead.');if(t==="$priority")throw new Error('orderByChild: "$priority" is invalid. Use orderByPriority() instead.');if(t==="$value")throw new Error('orderByChild: "$value" is invalid. Use orderByValue() instead.');return zF("orderByChild","path",t),new byo(t)}var Tyo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype._apply=function(n){oee(n,"orderByKey");var o=OZ(n._queryParams,S9);return G7(o),new ay(n._repo,n._path,o,!0)},e}(o5);function Pyo(){return new Tyo}var Cyo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype._apply=function(n){oee(n,"orderByPriority");var o=OZ(n._queryParams,Vs);return G7(o),new ay(n._repo,n._path,o,!0)},e}(o5);function Ryo(){return new Cyo}var Hyo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype._apply=function(n){oee(n,"orderByValue");var o=OZ(n._queryParams,m9e);return G7(o),new ay(n._repo,n._path,o,!0)},e}(o5);function Myo(){return new Hyo}var Iyo=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){if(j9("equalTo",this._value,n._path,!1),n._queryParams.hasStart())throw new Error("equalTo: Starting point was already set (by another call to startAt/startAfter or equalTo).");if(n._queryParams.hasEnd())throw new Error("equalTo: Ending point was already set (by another call to endAt/endBefore or equalTo).");return new nrt(this._value,this._key)._apply(new ort(this._value,this._key)._apply(n))},e}(o5);function zyo(t,e){return ON("equalTo","key",e),new Iyo(t,e)}function Yy(t){for(var e,n,o=[],i=1;i{const t=M(z4t),e=M(D4t),n=M(Eg),o=M(yH),i=m.useRef(),r=n.schoolID??rc.UNKNOWN,a=n.classID??Ua.UNKNOWN;return m.useEffect(()=>{const l={apiKey:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",authDomain:"aladdin-316017.firebaseapp.com",projectId:"aladdin-316017",storageBucket:"aladdin-316017.appspot.com",databaseURL:"https://aladdin-2023.firebaseio.com",messagingSenderId:"169516488625",appId:"1:169516488625:web:bb0ae3c3f7c6e813250f90"};let s;for(const c of ao.apps)if(c.name===JV.LOG_DATA){s=c;break}s||(s=ao.initializeApp(l,JV.LOG_DATA)),s&&(i.current=ao.database(s))},[]),m.useEffect(()=>{e&&(async()=>{if(i.current){const s=e.timestamp+" ("+gc(new Date(e.timestamp)).format("MM-DD-YYYY hh:mm A")+")";await i.current.ref(r+"/"+a+"/"+n.uid+"/"+s).set({file:o??"Untitled",action:JSON.stringify(e)})}})().catch(s=>{uR("Data logger error: "+e+" - "+s)})},[e,n.uid,a,r,o]),m.useEffect(()=>{t&&(async()=>{if(i.current){const s=t.timestamp+" ("+gc(new Date(t.timestamp)).format("MM-DD-YYYY hh:mm A")+")";await i.current.ref(r+"/"+a+"/"+n.uid+"/"+s).set({file:o??"Untitled",action:JSON.stringify(t)})}})().catch(s=>{uR("Data logger error: "+t+" - "+s)})},[t,n.uid,a,r,o]),h.jsx(h.Fragment,{})}),p2o=Se.memo(()=>{const t=M(fBe)??3.5,e=M(dBe)??.2,n=M(hq)??kk,o=M(NBe)??$Ne,i=M(M7),r=M(mh),a=2*r,l=r+100,s=M(ss),c=m.useRef(null);c.current&&(c.current.shadow.camera.left=-l,c.current.shadow.camera.bottom=-l,c.current.shadow.camera.right=l,c.current.shadow.camera.top=l,c.current.shadow.camera.updateProjectionMatrix());const u=i.z>0,d=u?i.normalize().dot(Po):0;return h.jsxs(h.Fragment,{children:[h.jsx("ambientLight",{intensity:F3t+(u?e*d:0),name:"Ambient Light"}),h.jsx("directionalLight",{ref:c,name:"Directional Light",color:"white",position:i.normalize().multiplyScalar(a),intensity:u?t*d:0,castShadow:s,"shadow-bias":0,"shadow-mapSize-height":o,"shadow-mapSize-width":o,"shadow-camera-near":1,"shadow-camera-far":n})]})}),g2o=Se.memo(({element:t})=>{const e=M(dwt),n=M(yh),o=M(ey),i=M(dge),r=t.type===z.Roof,a="lightGray",l=aA(lq,nQ),s={font:l,height:0,size:.2},c={font:l,height:0,size:.35},u=m.useMemo(()=>i(t,n??o),[n,o]),d=m.useMemo(()=>{const b=-Math.atan2(e.x,e.y)+Math.PI;return new Qt(Vt,0,b,"ZXY")},[e.x,e.y]),f=()=>{let b=t.lz;return r&&(b=M.getState().selectedElementHeight),Math.ceil(b)+1},p=()=>{let b=t.lz;return r&&(b=t.rise),b.toFixed(1)+" m"},g=()=>r?M.getState().selectedElementHeight+1:t.lz-.175;if(!n&&!o)return null;const y=f(),A=p(),x=g(),C=new Array(y+1).fill(0);return h.jsxs("group",{position:u,rotation:d,name:"Vertical Ruler",children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[0,y,0]],color:a}),h.jsxs("mesh",{position:[-1.5,x,0],userData:{unintersectable:!0},children:[h.jsx("textGeometry",{args:[A,c]}),h.jsx("meshBasicMaterial",{attach:"material",color:"white"})]}),C.map((b,v)=>{const S=.2+(v%5===0?.05:0),w=h.jsx("textGeometry",{args:[`${v}`,s]});return h.jsxs("group",{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[-S,v,0],[S,v,0]],lineWidth:.5,color:a}),!r&&h.jsxs("mesh",{position:[.4,v-.125,0],userData:{unintersectable:!0},children:[w,h.jsx("meshBasicMaterial",{attach:"material",color:a})]})]},v)})]})}),m2o=Se.memo(()=>{const t=M(Cb),e=M(sW),n=M(yh),o=M(ey),i=M(sA),r=M(mh),a=M(Mq),l=M(Hq),s=M(v=>{if(v.selectedElement){const S=v.selectedElement.id;return v.elements.find(w=>w.id===S)}}),[c,u]=m.useState(!1),[d,f]=m.useState(2*r),[p,g]=m.useState(2*r);m.useEffect(()=>{const v=Math.floor(r/50)+1,S=Math.round(r/v)*2;f(S*v),g(S)},[r]),m.useEffect(()=>{if(n){const v=be.isTopResizeHandle(n)||n===yt.UpperLeft&&(s==null?void 0:s.type)===z.Wall||n===yt.UpperRight&&(s==null?void 0:s.type)===z.Wall;u(!v)}else u(!1)},[n,s==null?void 0:s.type]);const y=()=>{if(!s)return!1;const v=s.type;return v===z.Foundation||v===z.Cuboid||v===z.Tree&&s.parentId===z.Ground||v===z.Human&&s.parentId===z.Ground},A=o===wi.Lower||o===wi.Upper,b=(v=>be.isTopResizeHandle(v)||(s==null?void 0:s.type)===z.Wall&&be.isTopResizeHandleOfWall(v)||(s==null?void 0:s.type)===z.Roof&&be.isRiseHandleOfRoof(v))(n??o);return s?h.jsxs(h.Fragment,{children:[((c||t||be.isMoveHandle(o))&&!i&&y()||a||l)&&h.jsx("gridHelper",{rotation:[Vt,0,0],name:"Grid",args:[d,p,"gray","#444444"]}),(e||A)&&s&&y()&&h.jsx(uye,{element:s}),b&&h.jsx(g2o,{element:s})]}):null}),Eae=120,Q8="DarkSlateGray",Jz="white",y2o=Se.memo(({visible:t=!0})=>{const e=m.useRef(null),n=Kt(),o=window.devicePixelRatio,i=Eae*o,r=i/150,l=20*r+"px serif";return m.useEffect(()=>{e.current&&Ln.setState({compassRef:e})},[]),m.useEffect(()=>{if(!e.current)return;const s=e.current.getContext("2d");if(!s)return;const c=55*r,u=10*r,d=40*r,f=5*r,p=30*r,g=r,y=r,A=15*r,x=i/2;s.clearRect(0,0,i,i),s.beginPath(),s.arc(x,x,d,0,Math.PI*2),s.lineWidth=f,s.strokeStyle=Q8,s.stroke(),s.beginPath(),s.arc(x,x,p,0,Math.PI*2),s.lineWidth=g,s.strokeStyle=Q8,s.stroke(),s.lineWidth=y,s.beginPath(),s.moveTo(x,x-c),s.lineTo(x-u,x-u),s.lineTo(x,x),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x,x-c),s.lineTo(x+u,x-u),s.lineTo(x,x),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x,x+c),s.lineTo(x-u,x+u),s.lineTo(x,x),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x,x+c),s.lineTo(x+u,x+u),s.lineTo(x,x),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x-c,x),s.lineTo(x-u,x-u),s.lineTo(x,x),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x-c,x),s.lineTo(x-u,x+u),s.lineTo(x,x),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x+c,x),s.lineTo(x+u,x-u),s.lineTo(x,x),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x+c,x),s.lineTo(x+u,x+u),s.lineTo(x,x),s.fillStyle=Q8,s.stroke(),s.fill(),s.font=l,s.fillStyle=Jz,s.textAlign="center",s.fillText(`${O.t("compass.N",n)}`,x,A),s.save(),s.translate(i,i),s.rotate(Math.PI),s.fillText(`${O.t("compass.S",n)}`,x,A),s.restore(),s.fillStyle=Q8,s.save(),s.translate(0,i),s.rotate(-Math.PI/2),s.fillText(`${O.t("compass.W",n)}`,x,A),s.restore(),s.save(),s.translate(i,0),s.rotate(Math.PI/2),s.fillText(`${O.t("compass.E",n)}`,x,A),s.restore()},[n]),t?h.jsx("canvas",{ref:e,id:"compassCanvas",width:i,height:i,style:{position:"absolute",bottom:"0",right:"0",height:`${Eae}px`,width:`${Eae}px`,margin:"5px",pointerEvents:"none"}}):null});var lrt={exports:{}};(function(t,e){(function(n,o){t.exports=o(m,dq)})(window,function(n,o){return function(i){var r={};function a(l){if(r[l])return r[l].exports;var s=r[l]={i:l,l:!1,exports:{}};return i[l].call(s.exports,s,s.exports,a),s.l=!0,s.exports}return a.m=i,a.c=r,a.d=function(l,s,c){a.o(l,s)||Object.defineProperty(l,s,{enumerable:!0,get:c})},a.r=function(l){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},a.t=function(l,s){if(1&s&&(l=a(l)),8&s||4&s&&typeof l=="object"&&l&&l.__esModule)return l;var c=Object.create(null);if(a.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:l}),2&s&&typeof l!="string")for(var u in l)a.d(c,u,(function(d){return l[d]}).bind(null,u));return c},a.n=function(l){var s=l&&l.__esModule?function(){return l.default}:function(){return l};return a.d(s,"a",s),s},a.o=function(l,s){return Object.prototype.hasOwnProperty.call(l,s)},a.p="",a(a.s=0)}([function(i,r,a){Object.defineProperty(r,"__esModule",{value:!0});var l=a(1);Object.defineProperty(r,"default",{enumerable:!0,get:function(){return function(s){return s&&s.__esModule?s:{default:s}}(l).default}}),i.exports=r.default},function(i,r,a){Object.defineProperty(r,"__esModule",{value:!0});var l=Object.assign||function(y){for(var A=1;A0&&p[0]!==this)return!1;var R=x.target===document.body||P,H=this.childrenContainer&&this.childrenContainer.contains(x.target);if(!(T?H:R))return!1;var D=(0,d.findMatchedKey)(x,v);return!!D&&(S(D,x),!0)}},{key:"render",value:function(){var x=this,C=this.props.children,b=Object.assign({},this.props),v=!0,S=!1,w=void 0;try{for(var T,P=Object.keys(A.propTypes)[Symbol.iterator]();!(v=(T=P.next()).done);v=!0)delete b[T.value]}catch(R){S=!0,w=R}finally{try{!v&&P.return&&P.return()}finally{if(S)throw w}}return C?c.default.createElement("span",l({ref:function(R){x.childrenContainer=R}},b),C):null}}]),A}();r.default=g,g.propTypes={handleKeys:u.default.array,handleEventType:u.default.oneOf(["keydown","keyup","keypress"]),handleFocusableElements:u.default.bool,onKeyEvent:u.default.func,isDisabled:u.default.bool,isExclusive:u.default.bool,children:u.default.any},g.defaultProps={handleKeys:[],handleFocusableElements:!1,handleEventType:"keydown",onKeyEvent:function(){return null}},i.exports=r.default},function(i,r){i.exports=n},function(i,r){i.exports=o},function(i,r,a){function l(C,b,v){return b in C?Object.defineProperty(C,b,{value:v,enumerable:!0,configurable:!0,writable:!0}):C[b]=v,C}Object.defineProperty(r,"__esModule",{value:!0}),r.matchKeyEvent=x,r.findMatchedKey=function(C,b){var v=b.map(function(S){var w=S.toLowerCase(),T=A[w];return T||[S]}).reduce(function(S,w){return S.concat(w)},[]).find(function(S){return x(C,S)});return!v&&b.includes("all")&&(v="other"),v};var s={backspace:[8],del:[46],delete:[46],ins:[45],insert:[45],tab:[9],enter:[13],return:[13],esc:[27],space:[32],pageup:[33],pagedown:[34],end:[35],home:[36],left:[37],up:[38],right:[39],down:[40],shift:[16],ctrl:[17],alt:[18],cap:[20],num:[144],clear:[12],meta:[91],";":[186,59],"=":[187,61],",":[188,44],"-":[189,45,173,109],minus:[189,45,173,109],".":[190,110],"/":[191,111],"`":[192],"[":[219],"\\":[220],"]":[221],"*":[106],"+":[107],plus:[107],"'":[222],quote:[222]},c=Object.keys(s).reduce(function(C,b){return Object.assign(C,l({},b.toUpperCase(),s[b]))},{}),u="0123456789".split("").reduce(function(C,b,v){return Object.assign(C,l({},b,[v+48,v+96]))},{}),d="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("").reduce(function(C,b,v){return Object.assign(C,l({},b.toLowerCase(),[v+65]),l({},b,[v+65]))},{}),f="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19".split(",").reduce(function(C,b,v){return Object.assign(C,l({},"f"+b,[v+112]))},{}),p={control:"ctrl",ctrl:"ctrl",shift:"shift",meta:"meta",cmd:"meta",command:"meta",option:"alt",alt:"alt"},g=r.AllKeys=Object.assign({},s,c,u,d,f),y=Object.assign({},u,d),A={all:Object.keys(g),alphanumeric:Object.keys(y),numeric:Object.keys(u),alphabetic:Object.keys(d),function:Object.keys(f)};function x(C,b){var v=C.which||C.keyCode,S=C.type,w=Object.keys(p).filter(function(U){return C[U+"Key"]}).sort(),T=b.toLowerCase().trim(),P=T==="+"?["+"]:T.split(/\s?\+\s?/),R=P.pop(),H=g[R],D=P;if(S==="keypress")return b==String.fromCharCode(v).toLowerCase();if(D.length===0&&w.length===0)return H.indexOf(v)>=0;if(D.length>0&&w.length>0){var E=D.map(function(U){return p[U]}).sort(),L=E.length===w.length&&E.every(function(U,F){return w[F]===U});return H.indexOf(v)>=0&&L}return D.length==0&&w.length===1&&R===w[0]}}])})})(lrt);var A2o=lrt.exports;const eIe=kr(A2o),w2o=new Gt,I4=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr);return h.jsx(Ei,{name:e,args:[r,r,r],position:[n,o,i],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),children:h.jsx("meshStandardMaterial",{color:a})})},EO=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr);return h.jsx(ts,{name:e,args:[r],position:[n,o,i],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),children:h.jsx("meshStandardMaterial",{color:a})})},tIe=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr),s=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:a}),[a]);return h.jsxs("group",{name:e,position:[n,o,i],rotation:[Vt,0,0],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),scale:r*4,children:[h.jsxs("group",{children:[h.jsx(N1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:s}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:s}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:s})]}),h.jsx(sa,{name:e,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1})]})},v2o=({groupedElementsIdSet:t,childCuboidSet:e,initalPosition:n,initalDimension:o,initalRotation:i})=>{const[r,a,l]=n,[s,c,u]=o,d=s===0?1:c/s,f=t.size>1||e.size>0,p=m.useRef(null),g=m.useRef(new ae),y=m.useRef(new Qt),A=m.useRef(new Gt),x=m.useRef(new Map),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new ae),H=m.useRef(!1),D=m.useRef(new Map),E=m.useRef(new Map),L=m.useRef(new Map),U=m.useRef(new Map),F=m.useRef(new Map),[W,B]=m.useState(new ae(r,a,l)),[k,N]=m.useState(i),[j,Y]=m.useState(s/2),[_,J]=m.useState(c/2),[Q,ee]=m.useState(u),[$,q]=m.useState(!1),[le,ie]=m.useState("Null"),{get:pe}=Xi(),ne=m.useMemo(()=>new Gs,[]),Z=m.useMemo(()=>new Gt,[]),he=M(hu),fe=M(jn),se=M(ege),oe=M(dn),de=M(En);m.useEffect(()=>{ee(u)},[u]),m.useEffect(()=>{B(new ae(r,a,l)),Pe(s,c),N(i)},[n,o,i]);const ve=je=>{Z.x=je.offsetX/pe().gl.domElement.clientWidth*2-1,Z.y=-(je.offsetY/pe().gl.domElement.clientHeight)*2+1,ne.setFromCamera(Z,pe().camera)},Pe=(je,at)=>{Y(je/2),J(at/2)},me=je=>{q(!0),Ln.getState().setEnableOrbitController(!1),H.current=!0,g.current.set(0,0,0),y.current.set(0,0,0),ye(yo.Default),je.stopPropagation()},Re=(je,at,ut)=>{oe(wt=>{for(const rt of wt.elements)if(hd(rt)&&je.has(rt.id))[rt.cx,rt.cy,rt.lx,rt.ly]=je.get(rt.id);else if(je.has(rt.parentId))switch(rt.type){case z.Wall:{const Qe=at.get(rt.id);if(!Qe)continue;const Oe=rt,et=Qe.slice(0,3),vt=Qe.slice(3);Oe.cx=(et[0]+vt[0])/2,Oe.cy=(et[1]+vt[1])/2,Oe.lx=Math.hypot(et[0]-vt[0]+(et[1]-vt[1])),Oe.relativeAngle=Math.atan2(vt[1]-et[1],vt[0]-et[0]),Oe.leftPoint=[...et],Oe.rightPoint=[...vt];break}case z.Window:{const Qe=rt;if(Qe.parentType!==z.Roof)continue;const Oe=ut.get(rt.id);if(!Oe)continue;[Qe.cx,Qe.cy]=Oe;break}}wt.groupActionUpdateFlag=!wt.groupActionUpdateFlag,wt.updateElementOnRoofFlag=!0})},ze=(je,at)=>{oe(ut=>{for(const wt of ut.elements){if(je.has(wt.id)){const rt=je.get(wt.id);rt!==void 0&&(wt.type===z.Roof?wt.rise=rt:wt.lz=rt)}if(wt.type===z.Wall&&at.has(wt.id)){const rt=wt,Qe=at.get(rt.id);Qe&&(rt.leftTopPartialHeight=Qe.upperLeft,rt.rightTopPartialHeight=Qe.upperRight,rt.leftUnfilledHeight=Qe.lowerLeft,rt.rightUnfilledHeight=Qe.lowerRight)}}ut.groupActionUpdateFlag=!ut.groupActionUpdateFlag,ut.updateElementOnRoofFlag=!0})},Ae=je=>{oe(at=>{for(const ut of at.elements)if(je.has(ut.id)){const wt=je.get(ut.id);wt&&(ut.cx=wt[0],ut.cy=wt[1],ut.cz=wt[2],ut.rotation[2]=wt[3])}at.groupActionUpdateFlag=!at.groupActionUpdateFlag})},re=()=>{const je=new Map;for(const wt of M.getState().elements)(hd(wt)&&t.has(wt.id)||t.has(wt.parentId))&&je.set(wt.id,[wt.cx,wt.cy,wt.cz,wt.rotation[2]]);const ut={name:`${le==="Move"?"Move":"Rotate"} Foundation Group`,timestamp:Date.now(),oldPositionMap:new Map(D.current),newPositionMap:new Map(je),undo:()=>{Ae(ut.oldPositionMap)},redo:()=>{Ae(ut.newPositionMap)}};de(ut)},ge=()=>{const je=new Map,at=new Map,ut=new Map;for(const rt of M.getState().elements)if(hd(rt)&&D.current.has(rt.id))je.set(rt.id,[rt.cx,rt.cy,rt.lx,rt.ly]);else if(E.current.has(rt.id)){const Qe=rt;at.set(rt.id,[...Qe.leftPoint,...Qe.rightPoint])}else if(F.current.has(rt.id)){const Qe=rt;if(Qe.parentType!==z.Roof)continue;ut.set(Qe.id,[Qe.cx,Qe.cy])}const wt={name:"Resize Building XY",timestamp:Date.now(),oldFoundationDataMap:new Map(D.current),newFoundationDataMap:new Map(je),oldWallPointsMap:new Map(E.current),newWallPointsMap:new Map(at),oldSkylightPosMap:new Map(F.current),newSkylightPosMap:new Map(ut),undo:()=>{Re(wt.oldFoundationDataMap,wt.oldWallPointsMap,wt.oldSkylightPosMap)},redo:()=>{Re(wt.newFoundationDataMap,wt.newWallPointsMap,wt.newSkylightPosMap)}};de(wt)},we=()=>{const je=new Map,at=new Map;for(const wt of M.getState().elements)if(L.current.has(wt.id)&&(wt.type===z.Roof?je.set(wt.id,wt.rise):je.set(wt.id,wt.lz)),wt.type===z.Wall&&U.current.has(wt.id)){const rt=wt;at.set(rt.id,{lowerLeft:rt.leftUnfilledHeight,lowerRight:rt.rightUnfilledHeight,upperLeft:rt.leftTopPartialHeight,upperRight:rt.rightTopPartialHeight})}const ut={name:"Resize Building Z",timestamp:Date.now(),oldElementHeightMap:new Map(L.current),newElementHeightMap:new Map(je),oldPartialWallHeightMap:new Map(U.current),newPartialWallHeightMap:new Map(at),undo:()=>{ze(ut.oldElementHeightMap,ut.oldPartialWallHeightMap)},redo:()=>{ze(ut.newElementHeightMap,ut.newPartialWallHeightMap)}};de(ut)},ye=je=>{oe(at=>{at.moveHandleType=je})},Te=je=>{const at=new Gt(je.x,je.y),ut=A.current.clone();if(f){const wt=new Gt().subVectors(at,ut),rt=Math.max(1,wt.length()),Qe=Math.sqrt(Math.pow(rt,2)/(Math.pow(d,2)+1)),Oe=Qe*d,et=new Gt(Qe*Math.sign(wt.x),Oe*Math.sign(wt.y)).normalize().multiplyScalar(rt/2).add(ut);B(new ae(et.x,et.y)),Pe(Qe,Oe),oe(vt=>{const ct=new Map;for(const lt of vt.elements)if(hd(lt)&&(t.has(lt.id)||e.has(lt.id))){const tt=T.current.get(lt.id),it=P.current.get(lt.id);if(tt&&it){const At=it[0]*Qe,Mt=it[1]*Oe;if(lt.lx=At,lt.ly=Mt,lt.parentId!==Zo){const st=ct.get(lt.parentId);if(st){const{pos:ft,rot:Rt}=st,zt=new ae(tt[0]*Qe+et.x,tt[1]*Oe+et.y),Xe=zt.clone().sub(ft).applyEuler(new Qt(0,0,-Rt));lt.cx=Xe.x,lt.cy=Xe.y,ct.set(lt.id,{pos:zt.clone(),rot:lt.rotation[2]+Rt})}}else{const st=tt[0]*Qe+et.x,ft=tt[1]*Oe+et.y;lt.cx=st,lt.cy=ft,ct.set(lt.id,{pos:new ae(st,ft),rot:lt.rotation[2]})}for(const st of vt.elements)if(st.foundationId===lt.id)switch(st.type){case z.Wall:{const ft=st,Rt=C.current.get(ft.id);if(!Rt)continue;const[zt,Xe]=Rt,ht=[zt.x*At,zt.y*Mt,lt.lz],Je=[Xe.x*At,Xe.y*Mt,lt.lz];ft.cx=(ht[0]+Je[0])/2,ft.cy=(ht[1]+Je[1])/2,ft.lx=Math.hypot(ht[0]-Je[0]+(ht[1]-Je[1])),ft.relativeAngle=Math.atan2(Je[1]-ht[1],Je[0]-ht[0]),ft.leftPoint=[...ht],ft.rightPoint=[...Je];break}case z.Window:{const ft=st;if(ft.parentType!==z.Roof)continue;const Rt=v.current.get(ft.id);if(!Rt)continue;ft.cx=Rt[0]*At,ft.cy=Rt[1]*Mt;break}}}}})}else{const wt=ut.distanceTo(at),rt=Math.atan2(at.x-ut.x,at.y-ut.y)+k,Qe=Math.abs(wt*Math.sin(rt)),Oe=Math.abs(wt*Math.cos(rt)),et=new Gt().addVectors(at,ut).multiplyScalar(.5);B(new ae(et.x,et.y)),Pe(Qe,Oe),oe(vt=>{for(const ct of vt.elements)if(t.has(ct.id))ct.lx=Qe,ct.ly=Oe,ct.cx=et.x,ct.cy=et.y;else if(ct.foundationId&&t.has(ct.foundationId))switch(ct.type){case z.Wall:{const lt=ct,tt=C.current.get(lt.id);if(!tt)continue;const[it,At]=tt,Mt=[it.x*Qe,it.y*Oe,0],st=[At.x*Qe,At.y*Oe,0];lt.cx=(Mt[0]+st[0])/2,lt.cy=(Mt[1]+st[1])/2,lt.lx=Math.hypot(Mt[0]-st[0],Mt[1]-st[1]),lt.relativeAngle=Math.atan2(st[1]-Mt[1],st[0]-Mt[0]),lt.leftPoint=[...Mt],lt.rightPoint=[...st];break}case z.Window:{const lt=ct;if(lt.parentType!==z.Roof)continue;const tt=v.current.get(lt.id);if(!tt)continue;lt.cx=tt[0]*Qe,lt.cy=tt[1]*Oe}}})}M.getState().updateElementOnRoofFn()},Ie=je=>{if(je.z<.1)return;const at=je.z;ee(at),oe(ut=>{for(const wt of ut.elements)if(x.current.has(wt.id)){if(wt.type===z.Wall){wt.lz=at*x.current.get(wt.id);const rt=wt;if(rt.fill===Hl.Partial){const Qe=b.current.get(rt.id);Qe&&(rt.leftTopPartialHeight=at*Qe.upperLeft,rt.rightTopPartialHeight=at*Qe.upperRight,rt.leftUnfilledHeight=at*Qe.lowerLeft,rt.rightUnfilledHeight=at*Qe.lowerRight)}}else if(wt.type===z.Roof)wt.rise=at*x.current.get(wt.id);else if(wt.type===z.Cuboid){const rt=x.current.get(wt.id);if(rt){const Qe=rt*at;wt.lz=Qe,wt.cz=Qe/2}}}ut.updateElementOnRoofFlag=!0})},Ce=je=>{const at=new ae(W.x,W.y),ut=Math.atan2(at.x-je.x,je.y-at.y)+(le==="Rotate Upper"?0:Math.PI),wt=Math.abs(ut)>Math.PI?-na:0,rt=ut+wt,Qe=new Qt(0,0,rt),Oe=w.current.size;oe(et=>{for(const vt of et.elements){if(hd(vt)&&t.has(vt.id)&&!e.has(vt.id)){const ct=S.current.get(vt.id),lt=Oe!==1?w.current.get(vt.id):0;if(ct&<!==void 0){const tt=ct.clone().applyEuler(Qe);vt.cx=at.x+tt.x,vt.cy=at.y+tt.y,vt.rotation=[0,0,lt+rt]}}if(vt.type!==z.Cuboid&&t.has(vt.parentId)){const ct=Oe!==1?w.current.get(vt.parentId):0;ct!==void 0&&(vt.rotation=[0,0,ct+rt])}}}),N(rt)},Ee=(je,at)=>{const ut=new Gt(W.x,W.y);A.current.set(je,at).rotateAround(w2o,k).add(ut),ie("Resize XY"),T.current.clear(),P.current.clear(),C.current.clear(),D.current.clear(),E.current.clear(),v.current.clear(),F.current.clear();const[wt,rt]=[j*2,_*2];for(const Qe of M.getState().elements)if(hd(Qe)&&(t.has(Qe.id)||e.has(Qe.id))){const{pos:Oe}=be.getWorldDataById(Qe.id);T.current.set(Qe.id,[(Oe.x-W.x)/wt,(Oe.y-W.y)/rt]),P.current.set(Qe.id,[Qe.lx/wt,Qe.ly/rt]),D.current.set(Qe.id,[Qe.cx,Qe.cy,Qe.lx,Qe.ly])}else if(Qe.foundationId&&t.has(Qe.foundationId)){const Oe=fe(Qe.foundationId);if(!Oe)continue;switch(Qe.type){case z.Wall:{const et=Qe,vt=new Gt(et.leftPoint[0]/Oe.lx,et.leftPoint[1]/Oe.ly),ct=new Gt(et.rightPoint[0]/Oe.lx,et.rightPoint[1]/Oe.ly);C.current.set(et.id,[vt,ct]),E.current.set(et.id,[...et.leftPoint,...et.rightPoint]);break}case z.Window:{const et=Qe;if(et.parentType!==z.Roof)continue;v.current.set(et.id,[et.cx/Oe.lx,et.cy/Oe.ly]),F.current.set(et.id,[et.cx,et.cy]);break}}}},Ue=(je,at,ut)=>{const{x:wt,y:rt}=se();g.current.set(je,at,ut),y.current.set(-Vt,0,-Math.atan2(wt,rt)-k,"ZXY"),ie("Resize Z"),x.current.clear(),L.current.clear(),b.current.clear(),U.current.clear();for(const Qe of M.getState().elements)if(Qe.foundationId&&t.has(Qe.foundationId))if(Qe.type===z.Wall){x.current.set(Qe.id,Qe.lz/Q),L.current.set(Qe.id,Qe.lz);const Oe=Qe;Oe.fill===Hl.Partial&&(U.current.set(Oe.id,{upperLeft:Oe.leftTopPartialHeight,upperRight:Oe.rightTopPartialHeight,lowerLeft:Oe.leftUnfilledHeight,lowerRight:Oe.rightUnfilledHeight}),b.current.set(Oe.id,{upperLeft:Oe.leftTopPartialHeight/Q,upperRight:Oe.rightTopPartialHeight/Q,lowerLeft:Oe.leftUnfilledHeight/Q,lowerRight:Oe.rightUnfilledHeight/Q}))}else Qe.type===z.Roof&&(x.current.set(Qe.id,Qe.rise/Q),L.current.set(Qe.id,Qe.rise));else(t.has(Qe.id)||e.has(Qe.id))&&(x.current.set(Qe.id,Qe.lz/Q),L.current.set(Qe.id,Qe.lz))},Ne=je=>{switch(me(je),je.object.name){case yt.UpperLeft:{Ee(j,-_);break}case yt.UpperRight:{Ee(-j,-_);break}case yt.LowerLeft:{Ee(j,_);break}case yt.LowerRight:{Ee(-j,_);break}case yt.UpperLeftTop:{Ue(-j,_,Q);break}case yt.UpperRightTop:{Ue(j,_,Q);break}case yt.LowerLeftTop:{Ue(-j,-_,Q);break}case yt.LowerRightTop:{Ue(j,-_,Q);break}}},Le=je=>{if(me(je),ie("Move"),je.intersections.length>0){const at=je.intersections[0].point.clone().setZ(0);R.current.subVectors(W,at);for(const ut of M.getState().elements)if(hd(ut)&&t.has(ut.id)){const wt=new ae(ut.cx,ut.cy),rt=new ae().subVectors(wt,at);S.current.set(ut.id,rt),D.current.set(ut.id,[ut.cx,ut.cy,ut.cz,ut.rotation[2]])}}},qe=je=>{if(me(je),je.object.name===wi.Lower?ie("Rotate Lower"):je.object.name===wi.Upper&&ie("Rotate Upper"),je.intersections.length>0){const at=new ae(W.x,W.y);for(const ut of M.getState().elements){if(hd(ut)&&t.has(ut.id)){const wt=new ae(ut.cx,ut.cy),rt=new ae().subVectors(wt,at);S.current.set(ut.id,rt),w.current.set(ut.id,ut.rotation[2]),D.current.set(ut.id,[ut.cx,ut.cy,ut.cz,ut.rotation[2]])}t.has(ut.parentId)&&D.current.set(ut.id,[ut.cx,ut.cy,ut.cz,ut.rotation[2]])}}},We=je=>{switch(le){case"Move":case"Rotate Lower":case"Rotate Upper":re();break;case"Resize XY":ge();break;case"Resize Z":we();break}q(!1),Ln.getState().setEnableOrbitController(!0),H.current=!1,ie("Null"),ye(null),oe(at=>{at.groupActionUpdateFlag=!at.groupActionUpdateFlag,at.updateWallMapOnFoundationFlag=!at.updateWallMapOnFoundationFlag,at.updateElementOnRoofFlag=!0})},De=je=>{if(!p.current||!H.current)return;ve(je);const at=ne.intersectObjects([p.current]);if(at.length>0){const ut=at[0].point;switch(le){case"Resize XY":Te(ut);break;case"Resize Z":Ie(ut);break;case"Rotate Lower":case"Rotate Upper":Ce(ut);break;case"Move":B(new ae().addVectors(ut.clone().setZ(0),R.current)),oe(wt=>{for(const rt of wt.elements)if(hd(rt)&&t.has(rt.id)&&!e.has(rt.id)){const Qe=S.current.get(rt.id);Qe&&(rt.cx=ut.x+Qe.x,rt.cy=ut.y+Qe.y)}});break}}},Fe=UH(),_e=Fe/2,ot=Q+_e-Fe/2,Ye=j+Fe,St=_+Fe,dt=_+Fe*4;return h.jsxs("group",{name:"Group Master",position:W,rotation:[0,0,k],children:[h.jsxs("group",{name:"Resize Handle Group",onPointerDown:Ne,children:[h.jsx(I4,{args:[j,_,_e,Fe],handleType:yt.UpperRight}),h.jsx(I4,{args:[-j,_,_e,Fe],handleType:yt.UpperLeft}),h.jsx(I4,{args:[j,-_,_e,Fe],handleType:yt.LowerRight}),h.jsx(I4,{args:[-j,-_,_e,Fe],handleType:yt.LowerLeft}),!he&&h.jsxs(h.Fragment,{children:[h.jsx(I4,{args:[j,_,ot,Fe],handleType:yt.UpperRightTop}),h.jsx(I4,{args:[-j,_,ot,Fe],handleType:yt.UpperLeftTop}),h.jsx(I4,{args:[j,-_,ot,Fe],handleType:yt.LowerRightTop}),h.jsx(I4,{args:[-j,-_,ot,Fe],handleType:yt.LowerLeftTop})]})]}),h.jsxs("group",{name:"Move Handle Group",onPointerDown:Le,children:[h.jsx(EO,{args:[0,St,_e,Fe],handleType:yo.Upper}),h.jsx(EO,{args:[0,-St,_e,Fe],handleType:yo.Lower}),h.jsx(EO,{args:[Ye,0,_e,Fe],handleType:yo.Right}),h.jsx(EO,{args:[-Ye,0,_e,Fe],handleType:yo.Left})]}),h.jsxs("group",{name:"Rotate Handle Group",onPointerDown:qe,children:[h.jsx(tIe,{args:[0,dt,_e,Fe],handleType:wi.Upper}),h.jsx(tIe,{args:[0,-dt,_e,Fe],handleType:wi.Lower})]}),$&&h.jsx(sa,{name:"Intersection Plane",ref:p,args:[Math.max(j*2.4,1e3),Math.max(j*2.4,1e3)],visible:!1,position:g.current,rotation:y.current,onPointerMove:De,onPointerUp:We}),h.jsx("group",{name:"Wireframe Group",position:[0,0,Q/2],children:h.jsx(s7,{hx:j,hy:_,hz:Q/2,lineColor:"white"})})]})},x2o=Se.memo(v2o),b2o=t=>t.parentId===Zo&&(t.type===z.Foundation||t.type===z.Cuboid),srt=(t,e,n)=>{const o=n.get(t),i=n.get(e);if(!o||!i)return!1;for(const r of o)if(be.isPointInside(r.x,r.y,i))return!0;for(const r of i)if(be.isPointInside(r.x,r.y,o))return!0;o.push(o[0]),i.push(i[0]);for(let r=0;r{M(Y8t);const t=M(fwt),e=d();if(e.length===0)return null;const{allBaseElements:n,allBaseElementsVerticesMap:o,cuboidParentIdMap:i}=f(),r=new Set(e.map(A=>A.id)),a=[...e];for(const A of e)A.enableGroupMaster&&p(A);const{position:l,dimension:s,rotation:c,childCuboidIdSet:u}=g();function d(){const A=new Set;for(const x of M.getState().elements)t.has(x.id)&&(x.parentId===Zo&&hd(x)?A.add(x.id):x.foundationId&&A.add(x.foundationId));return A.size===0?[]:M.getState().elements.filter(x=>A.has(x.id))}function f(){const A=[],x=new Map,C=new Map;for(const b of M.getState().elements){if(b2o(b)){const v=be.fetchFoundationVertexCoordinates(b);A.push(b),x.set(b.id,v)}b.type===z.Cuboid&&b.parentId!==Zo&&C.set(b.id,b.parentId)}return{allBaseElements:A,allBaseElementsVerticesMap:x,cuboidParentIdMap:C}}function p(A){for(const x of n)!r.has(x.id)&&srt(A.id,x.id,o)&&(r.add(x.id),a.push(x),x.enableGroupMaster&&p(x))}function g(){const A=a.map(R=>be.fetchFoundationVertexCoordinates(R)).flat(),x=new Set,C=be.calculatePolygonBounds(A);let b=1,v=1;const S=new Map;for(const R of M.getState().elements)if(R.foundationId&&r.has(R.foundationId))if(R.type===z.Wall){const H=R;b=Math.max(b,H.lz),H.roofId&&(S.get(H.roofId)??0)M(fYe)?h.jsx(S2o,{}):null),P2o=Se.memo(()=>{var s,c;const t=M(dn),e=M(gge),n=M(pge),o=M(En),i=m.useRef(!1),r=m.useRef(!1);M(uYe),M(dYe),gt(u=>u.selectedElementId),m.useEffect(()=>{Ln.setState({listenToAutoDeletionByDeleteRef:i,listenToAutoDeletionByCutRef:r})},[]);const a=M2.debounce(()=>{var v,S;const u=gt.getState().selectedElementId,d=M.getState().selectedElementIdSet;if(!u||d.size===0)return;const f=M.getState().getAutoDeletedElements();if(!f)return;const p=M.getState().deletedElements,g=M.getState().elementsToPaste,y=(v=Ln.getState().listenToAutoDeletionByCutRef)==null?void 0:v.current,A=(S=Ln.getState().listenToAutoDeletionByDeleteRef)==null?void 0:S.current;let x=[],C="";y?(Ln.getState().setListenToAutoDeletionByCut(!1),x=[...g,...f],C="Cut"):A&&(Ln.getState().setListenToAutoDeletionByDelete(!1),x=[...p,...f],C="Delete");const b={name:C,timestamp:Date.now(),deletedElements:[...x],selectedElementId:u,selectedElementIdSet:new Set(d),undo(){const w=b.deletedElements;if(!w||w.length===0)return;for(const P of this.deletedElements)if(P.type===z.Wall){const R=P;R.leftJoints.length>0&&e(R.leftJoints[0],[R.id]),R.rightJoints.length>0&&n(R.rightJoints[0],[R.id])}else P.type===z.Roof&&t(R=>{R.addedRoofIdSet.add(P.id)});const T=w.find(P=>P.id===this.selectedElementId)??null;t(P=>{P.elements.push(...w),P.selectedElement=T,P.selectedElementIdSet=new Set(this.selectedElementIdSet),P.updateWallMapOnFoundationFlag=!P.updateWallMapOnFoundationFlag,P.deletedRoofId=null,P.autoDeletedRoofs=null,P.deletedRoofIdSet.clear(),P.autoDeletedRoofIdSet.clear(),P.autoDeletedChild=null})},redo(){b.deletedElements.length!==0&&(t(w=>{w.selectedElement=w.elements.find(T=>T.id===this.selectedElementId)??null,w.selectedElementIdSet=new Set(this.selectedElementIdSet)}),M.getState().removeSelectedElements())}};o(b),t(w=>{w.selectedElement=null,w.selectedElementIdSet.clear(),w.deletedRoofId=null,w.deletedRoofIdSet.clear(),w.autoDeletedRoofs=null,w.autoDeletedRoofIdSet.clear(),w.autoDeletedChild=null}),gt.getState().setPrimitiveStore("selectedElementId",null)},50);return(((s=Ln.getState().listenToAutoDeletionByCutRef)==null?void 0:s.current)||((c=Ln.getState().listenToAutoDeletionByDeleteRef)==null?void 0:c.current))&&M.getState().getAutoDeletedElements()&&a(),null}),nIe=["left","up","right","down","shift+left","shift+up","shift+right","shift+down","ctrl+shift+left","ctrl+shift+up","ctrl+shift+right","ctrl+shift+down","meta+shift+left","meta+shift+up","meta+shift+right","meta+shift+down","ctrl+f","meta+f","ctrl+o","meta+o","ctrl+s","meta+s","ctrl+c","meta+c","ctrl+x","meta+x","ctrl+v","meta+v","ctrl+[","meta+[","ctrl+]","meta+]","ctrl+z","meta+z","ctrl+y","meta+y","ctrl+m","meta+m","ctrl+u","meta+u","ctrl+b","meta+b","shift","esc","ctrl+home","ctrl+alt+h","ctrl+shift+o","meta+shift+o","ctrl+shift+s","meta+shift+s","delete","backspace","alt+backspace","f2","f4","ctrl"],C2o=Se.memo(({canvas:t})=>{const e=M(dn),n=M(ha),o=M(lW),i=M(Sc),r=M(twt),a=M(En),l=M(hu)??!1,s=M(xb),c=M(jn),u=M(Cje),d=M(hp),f=M(Vwt),p=M(rr),g=M(pge),y=M(gge),A=M(Zwt),x=M(tge),C=.1,b=m.useMemo(()=>({lng:i}),[i]),v=(_,J)=>(t&&(t.style.cursor="default"),d(_,J)),S=()=>{if(M.getState().viewState.navigationView)return;const _=M.getState().set2DView,J={name:"Set 2D View",timestamp:Date.now(),checked:!l,undo:()=>{_(!J.checked)},redo:()=>{_(J.checked)}};a(J),_(!l),e(Q=>{Q.viewState.autoRotate=!1})},w=()=>{if(l)return;const _=M.getState().setNavigationView,J={name:"Set Navigation View",timestamp:Date.now(),checked:!M.getState().viewState.navigationView,undo:()=>{_(!J.checked)},redo:()=>{_(J.checked)}};a(J),_(!M.getState().viewState.navigationView),e(Q=>{Q.viewState.autoRotate=!1})},T=()=>{if(l)return;const _={name:"Auto Rotate",timestamp:Date.now(),checked:!M.getState().viewState.autoRotate,undo:()=>{e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=!_.checked})},redo:()=>{e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=_.checked})}};a(_),e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=!J.viewState.autoRotate})},P=(_,J,Q)=>{const ee=JSON.parse(JSON.stringify(_));if(ee.cx=J,ee.cy=Q,_.type===z.SolarPanel&&_.parentType===z.Roof){if(_.parentId&&_.foundationId){const $=c(_.parentId),q=c(_.foundationId);if($&&q){const le=In.getRoofBoundaryVertices($),ie=In.getSolarPanelVerticesOnRoof(ee,q);if(!oye(ie,le)||!iye(ee,q,ie))return!1}}return!0}if(x(ee))return Lo(O.t("message.MoveCancelledBecauseOfOverlap",b)),!1;if(ee.type===z.SolarPanel){const $=p(_);if($&&!be.isSolarCollectorWithinHorizontalSurface(ee,$))return Lo(O.t("message.MoveOutsideBoundaryCancelled",b)),!1}return!0},R=_=>{switch(_.type){case z.Roof:case z.Door:case z.Window:return!1;case z.SolarPanel:case z.Sensor:case z.Light:{const J=_;return J.parentType===z.Wall||J.parentType===z.Roof?!1:J.parentType===z.Cuboid?J.rotation[2]===1:!0}case z.Wall:{const J=_;return!(J.leftJoints.length!==0||J.rightJoints.length!==0)}default:return!0}},H=(_,J)=>{switch(_){case z.Foundation:case z.Cuboid:return J===z.Foundation||J===z.Cuboid;default:return J!==z.Foundation&&J!==z.Cuboid}},D=_=>{const J=M.getState().elements.filter(q=>hd(q)&&q.parentId===Zo),Q=new Set(_.map(q=>q.id)),ee=new Map;for(const q of J){const le=be.fetchFoundationVertexCoordinates(q);ee.set(q.id,le)}const $=q=>{for(const le of J)!Q.has(le.id)&&srt(q.id,le.id,ee)&&(Q.add(le.id),_.push(le),le.enableGroupMaster&&$(le))};for(const q of _)q.enableGroupMaster&&$(q)},E=()=>{const _=[],J=M.getState().selectedElementIdSet,Q=s();if(!Q||J.size===0)return _;if(Q){const ee=Q.type,$=Q.parentId,q=M.getState().elements.filter(le=>H(ee,le.type)&&R(le)&&le.parentId===$&&J.has(le.id));_.push(...q),hd(Q)&&_.length>0&&$===Zo&&D(_)}return _},L=(_,J,Q,ee)=>{switch(ee){case wl.Left:return[_-Q,J];case wl.Right:return[_+Q,J];case wl.Up:return[_,J+Q];case wl.Down:return[_,J-Q]}},U=(_,J)=>{e(Q=>{var $,q;let ee=!1;for(const le of Q.elements)if(_.has(le.id)){const ie=_.get(le.id);if(ie!==void 0){const[pe,ne]=L(le.cx,le.cy,ie,J);if(le.type===z.Wall){const Z=le,he=new ae(pe-Z.cx,ne-Z.cy),fe=new ae().fromArray(Z.leftPoint).setZ(0).add(he),se=new ae().fromArray(Z.rightPoint).setZ(0).add(he);Z.leftPoint=fe.toArray(),Z.rightPoint=se.toArray(),ee=!0}le.cx=pe,le.cy=ne}}else Q.selectedElementIdSet.has(le.id)&&Q.selectedElementIdSet.delete(le.id);(($=Q.selectedElement)==null?void 0:$.type)===z.Cuboid||((q=Q.selectedElement)==null?void 0:q.type)===z.Foundation?Q.groupActionUpdateFlag=!Q.groupActionUpdateFlag:ee&&(Q.updateWallMapOnFoundationFlag=!Q.updateWallMapOnFoundationFlag)})},F=(_,J)=>{e(Q=>{for(const ee of Q.elements)(be.isFoundationOrCuboid(ee)||be.isPlantOrHuman(ee)&&ee.parentId===Zo)&&([ee.cx,ee.cy]=L(ee.cx,ee.cy,_,J))})},W=_=>_===wl.Left?wl.Right:_===wl.Right?wl.Left:_===wl.Up?wl.Down:_===wl.Down?wl.Up:(console.error("Undo direction is possibly incorrect:",_),_),B=(_,J)=>{if(!l)return;const Q=E(),ee=s(),$=J*C;if(ee&&Q.length>0){const q=new Map;for(const ie of Q)switch(ie.type){case z.Foundation:case z.Cuboid:case z.Wall:case z.Tree:case z.Flower:case z.Human:{q.set(ie.id,$);break}case z.Light:case z.Sensor:{const pe=p(ee);if(pe){let ne=$/pe.lx;const[Z,he]=L(ie.cx,ie.cy,ne,_),fe=ie.lx/(2*pe.lx),se=ie.lx/(2*pe.ly);switch(_){case wl.Left:case wl.Right:{const oe=be.clamp(Z,-.5+fe,.5-fe);ne=Math.abs(oe-ee.cx);break}case wl.Up:case wl.Down:{const oe=be.clamp(he,-.5+se,.5-se);ne=Math.abs(oe-ee.cy);break}}q.set(ie.id,ne)}break}case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:{const pe=p(ie);if(pe){let ne=!0,Z=$;switch(_){case wl.Left:case wl.Right:{Z=$/pe.lx;break}case wl.Up:case wl.Down:{Z=$/pe.ly;break}}if(ie.type===z.SolarPanel){const[he,fe]=L(ie.cx,ie.cy,Z,_);ne=P(ie,he,fe)}if(ne)q.set(ie.id,Z);else return}break}}U(q,_);const le={name:`Move Selected Elements ${_} By Key`,timestamp:Date.now(),direction:_,movedElementsDisplacementMap:new Map(q),undo:()=>{const ie=W(le.direction);U(le.movedElementsDisplacementMap,ie)},redo:()=>{U(le.movedElementsDisplacementMap,le.direction)}};a(le)}else{F($,_);const q={name:`Move All ${_} By Key`,timestamp:Date.now(),direction:_,displacement:$,undo:()=>{const le=W(q.direction);F(q.displacement,le)},redo:()=>{F(q.displacement,q.direction)}};a(q)}},k=_=>{M.getState().set(J=>{J.multiSelectionsMode=_})},N=_=>{const J=s(),Q=1;switch(_){case"left":B(wl.Left,Q);break;case"shift+left":B(wl.Left,Q/V5);break;case"ctrl+shift+left":case"meta+shift+left":B(wl.Left,Q*V5);break;case"right":B(wl.Right,Q);break;case"shift+right":B(wl.Right,Q/V5);break;case"ctrl+shift+right":case"meta+shift+right":B(wl.Right,Q*V5);break;case"down":B(wl.Down,Q);break;case"shift+down":B(wl.Down,Q/V5);break;case"ctrl+shift+down":case"meta+shift+down":B(wl.Down,Q*V5);break;case"up":B(wl.Up,Q);break;case"shift+up":B(wl.Up,Q/V5);break;case"ctrl+shift+up":case"meta+shift+up":B(wl.Up,Q*V5);break;case"ctrl+[":case"meta+[":QG(.9);break;case"ctrl+]":case"meta+]":QG(1.1);break;case"ctrl+c":case"meta+c":J&&J.type!==z.Roof&&(u(J.id),e(ee=>{ee.selectedElementIdSet.clear(),ee.selectedElementIdSet.add(J.id)}),n&&e(ee=>{ee.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:J.id,elementType:J.type}}));break;case"ctrl+x":case"meta+x":if(!J||J.type===z.Roof)break;if(J.locked)fn(O.t("message.ThisElementIsLocked",b));else{const ee=v(J.id,!0);if(ee.length===0)break;if(be.isElementTriggerAutoDeletion(J))Ln.getState().setListenToAutoDeletionByCut(!0),gt.getState().setPrimitiveStore("selectedElementId",J.id);else{const $={name:"Cut",timestamp:Date.now(),deletedElements:ee,selectedElementId:J.id,undo:()=>{const q=$.deletedElements;if(q.length===0)return;const le=q.find(ie=>ie.id===$.selectedElementId);le&&e(ie=>{if(ie.elements.push(...q),ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(le.id),ie.selectedElement=le,le.type===z.Wall){const pe=le;let ne=null,Z=null;if(pe.leftJoints.length>0&&(ne=pe.leftJoints[0]),pe.rightJoints.length>0&&(Z=pe.rightJoints[0]),ne||Z)for(const he of ie.elements)he.id===ne&&he.type===z.Wall&&(he.rightJoints[0]=pe.id),he.id===Z&&he.type===z.Wall&&(he.leftJoints[0]=pe.id)}})},redo:()=>{$.deletedElements&&$.deletedElements.length>0&&v($.deletedElements[0].id,!0)}};a($)}}break;case"ctrl+v":case"meta+v":{const ee=f();if(ee.length>0){const $={name:"Paste by Key",timestamp:Date.now(),pastedElements:JSON.parse(JSON.stringify(ee)),undo:()=>{for(const q of $.pastedElements)d(q.id,!1)},redo:()=>{e(q=>{q.elements.push(...$.pastedElements),q.selectedElement=$.pastedElements[0]})}};a($)}break}case"ctrl+alt+h":case"ctrl+home":{if(!l){const ee=M.getState().viewState.cameraPosition,$=M.getState().viewState.panCenter;if(ee[0]!==ee[1]||ee[1]!==ee[2]||ee[0]!==ee[2]||$[0]!==0||$[1]!==0||$[2]!==0){const q={name:"Reset View",timestamp:Date.now(),oldCameraPosition:[...ee],oldPanCenter:[...$],undo:()=>{const le=Ln.getState().orbitControlsRef;le!=null&&le.current&&(le.current.object.position.set(q.oldCameraPosition[0],q.oldCameraPosition[1],q.oldCameraPosition[2]),le.current.target.set(q.oldPanCenter[0],q.oldPanCenter[1],q.oldPanCenter[2]),le.current.update(),e(ie=>{const pe=ie.viewState;pe.cameraPosition=[...q.oldCameraPosition],pe.panCenter=[...q.oldPanCenter]}))},redo:()=>{$G()}};a(q),e(le=>{le.objectTypeToAdd=z.None,le.groupActionMode=!1,le.viewState.orthographic=!1}),$G()}}break}case"f2":case"ctrl+b":case"meta+b":S();break;case"ctrl+u":case"meta+u":w();break;case"f4":case"ctrl+m":case"meta+m":T();break;case"ctrl+f":case"meta+f":gt.getState().set(ee=>{ee.createNewFileFlag=!0,ee.openModelsMap=!1}),e(ee=>{ee.objectTypeToAdd=z.None,ee.groupActionMode=!1,window.history.pushState({},document.title,Sg),n&&(ee.actionInfo={name:"Create New File",timestamp:new Date().getTime()})});break;case"ctrl+s":case"meta+s":gt.getState().set(ee=>{ee.saveLocalFileDialogVisible=!0}),n&&e(ee=>{ee.actionInfo={name:"Save Local File",timestamp:new Date().getTime()}});break;case"ctrl+shift+o":case"meta+shift+o":gt.getState().set(ee=>{ee.listCloudFilesFlag=!0,ee.openModelsMap=!1}),n&&e(ee=>{ee.actionInfo={name:"List Cloud Files",timestamp:new Date().getTime()}});break;case"ctrl+shift+s":case"meta+shift+s":gt.getState().setSaveCloudFileFlag(!0),n&&e(ee=>{ee.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}});break;case"alt+backspace":case"backspace":case"delete":{const ee=M.getState().selectedElementIdSet;if(!J||ee.size===0)break;const $=M.getState().removeSelectedElements();if($.length===0)break;if((()=>{const le=$.filter(ne=>ne.type===z.Foundation),ie=new Set(le.map(ne=>ne.id));return!!$.find(ne=>!ie.has(ne.parentId)&&be.isElementTriggerAutoDeletion(ne))})())Ln.getState().setListenToAutoDeletionByDelete(!0),gt.getState().setPrimitiveStore("selectedElementId",J.id);else{if($.length===1){const le={name:"Delete",timestamp:Date.now(),deletedElements:[...$],selectedElementId:J.id,undo:()=>{const ie=le.deletedElements;if(!ie||ie.length===0)return;const pe=ie.find(ne=>ne.id===le.selectedElementId);if(pe&&(e(ne=>{ne.elements.push(...ie),ne.selectedElementIdSet.clear(),ne.selectedElementIdSet.add(pe.id),ne.selectedElement=pe,ne.updateWallMapOnFoundationFlag=!ne.updateWallMapOnFoundationFlag,ne.deletedRoofId=null,ne.deletedRoofIdSet.clear()}),pe.type===z.Wall)){const ne=pe;ne.leftJoints.length>0&&y(ne.leftJoints[0],[ne.id]),ne.rightJoints.length>0&&g(ne.rightJoints[0],[ne.id])}},redo:()=>{const ie=le.deletedElements;if(!ie||ie.length===0)return;const pe=ie.find(ne=>ne.id===le.selectedElementId);pe&&v(pe.id,!1)}};a(le)}else{const le={name:"Delete Multiple",timestamp:Date.now(),deletedElements:[...$],selectedElementId:J.id,selectedElementIdSet:new Set(ee),undo(){const ie=this.deletedElements;if(!ie||ie.length===0)return;const pe=ie.find(ne=>ne.id===this.selectedElementId);if(pe){e(ne=>{ne.elements.push(...ie),ne.selectedElement=pe,ne.selectedElementIdSet=new Set(this.selectedElementIdSet),ne.updateWallMapOnFoundationFlag=!ne.updateWallMapOnFoundationFlag,ne.deletedRoofId=null,ne.deletedRoofIdSet.clear()});for(const ne of this.deletedElements)if(ne.type===z.Wall){const Z=ne;Z.leftJoints.length>0&&y(Z.leftJoints[0],[Z.id]),Z.rightJoints.length>0&&g(Z.rightJoints[0],[Z.id])}}},redo(){e(ie=>{ie.selectedElement=ie.elements.find(pe=>pe.id===this.selectedElementId)??null,ie.selectedElementIdSet=new Set(this.selectedElementIdSet)}),M.getState().removeSelectedElements()}};a(le)}e(le=>{le.selectedElement=null,le.selectedElementIdSet.clear()})}break}case"ctrl+z":case"meta+z":if(r.hasUndo()){const ee=r.undo();M.getState().groupActionMode&&e($=>{$.groupActionUpdateFlag=!$.groupActionUpdateFlag}),ee&&fn(O.t("menu.edit.Undo",b)+": "+ee,$V),n&&e($=>{$.actionInfo={name:"Undo",timestamp:new Date().getTime()}})}break;case"ctrl+y":case"meta+y":if(r.hasRedo()){const ee=r.redo();ee&&fn(O.t("menu.edit.Redo",b)+": "+ee,$V),M.getState().groupActionMode&&e($=>{$.groupActionUpdateFlag=!$.groupActionUpdateFlag}),n&&e($=>{$.actionInfo={name:"Redo",timestamp:new Date().getTime()}})}break;case"shift":M.getState().viewState.navigationView&>.getState().set(ee=>{ee.navigationMoveSpeed=5*M.getState().minimumNavigationMoveSpeed,ee.navigationTurnSpeed=5*M.getState().minimumNavigationTurnSpeed}),A(!0);break;case"esc":{const ee=M.getState().addedFoundationId,$=M.getState().addedCuboidId,q=M.getState().addedWallId,le=M.getState().addedWindowId,ie=M.getState().addedDoorId;ee?d(ee,!1):$?d($,!1):q?d(q,!1):le?(d(le,!1),gt.getState().setPrimitiveStore("elementBeingCanceledId",le)):ie&&(d(ie,!1),gt.getState().setPrimitiveStore("elementBeingCanceledId",ie)),e(pe=>{pe.objectTypeToAdd=z.None,pe.actionModeLock=!1,pe.moveHandleType=null,pe.resizeHandleType=null,pe.groupActionMode=!1}),Ln.getState().setEnableOrbitController(!0),o();break}case"ctrl":{k(!0);break}}},j=_=>{switch(_){case"shift":M.getState().viewState.navigationView&>.getState().set(J=>{J.navigationMoveSpeed=M.getState().minimumNavigationMoveSpeed,J.navigationTurnSpeed=M.getState().minimumNavigationTurnSpeed}),A(!1);break;case"ctrl+o":case"meta+o":M.getState().localFileDialogRequested||(gt.getState().set(J=>{J.openLocalFileFlag=!0}),e(J=>{J.localFileDialogRequested=!0,n&&(J.actionInfo={name:"Open Local File",timestamp:new Date().getTime()})}));break;case"ctrl":{k(!1);break}}};m.useEffect(()=>()=>{Y.current=null},[]);const Y=m.useRef(null);return h.jsxs(h.Fragment,{children:[h.jsx(eIe,{handleKeys:nIe,handleEventType:"keydown",onKeyEvent:(_,J)=>{J.preventDefault(),Y.current!==_&&(Y.current=_,N(_))}}),h.jsx(eIe,{handleKeys:nIe,handleEventType:"keyup",onKeyEvent:(_,J)=>{J.preventDefault(),Y.current=null,j(_)}}),h.jsx(P2o,{})]})}),R2o="/aladdin/assets/cloud-B68yt6QG.png",H2o=Se.memo(()=>{const t=M(dn),e=M(uwt),{scene:n}=Xi();m.useEffect(()=>{const i=n.children.filter(l=>l.name==="Content"),r=[];if(i.length>0){const l=i[0].children;for(const s of l)o(s,r)}const a=[];for(const l of r)a.push(new pf().setFromObject(l));if(a.length>0){const l=new ae,s=new ae;for(const u of a)l.min(u.min),s.max(u.max);let c=Math.abs(l.x);c{u.aabb=new pf(l,s),!isNaN(c)&&isFinite(c)&&(u.sceneRadius=Math.round(Math.max(10,c*1.25)))})}},[e]);const o=(i,r)=>{if(i.userData.aabb&&r.push(i),i.children.length>0)for(const a of i.children)o(a,r)};return h.jsx(h.Fragment,{})}),dfe=t=>{const e=new ae().subVectors(t.localToWorld(new ae(0,0,1e3)),t.position);return e.x===0&&e.y===0&&t.getWorldDirection(e),e},OT=t=>{const e=document.getElementById("compassCanvas"),n=o=>{gt.getState().set(i=>{i.isCameraUnderGround=o})};if(e){const o=dfe(t).normalize(),r=(Math.atan2(o.y,o.x)+Math.PI/2)/Math.PI*180;e.style.transform=`rotate(${r}deg)`;const a=t.position.z<.001;a&&!gt.getState().isCameraUnderGround?n(!0):!a&>.getState().isCameraUnderGround&&n(!1)}},M2o=Se.memo(()=>{const t=M(dn),e=M(hu),n=M(cAt),o=M(yBe),i=M(AH),r=M(mh),a=M(uAt),l=M(dAt),s=M(hq)??kk,c=M(fq),u=gt(w4t),d=gt(v4t),f=M(YBe),p=gt(VBe),g=c&&!e,y=Math.hypot(a[0],a[1],a[2]),A=(e?l*50:y*10)*r,x=m.useMemo(()=>new ae(-A,-A,0),[A]),C=m.useMemo(()=>new ae(A,A,A/2),[A]),{gl:b,invalidate:v,get:S,set:w,camera:T}=Xi(),P=m.useMemo(()=>{const k=S().camera;return k.up.set(0,0,1),k},[]),R=m.useMemo(()=>b.domElement,[]),H=m.useRef(null),D=m.useRef(null),E=m.useRef(null);m.useEffect(()=>{Ln.setState({canvas:{gl:b,camera:T}}),!e&&D.current&&Ln.setState({canvas:{gl:b,camera:D.current}})},[e]),m.useEffect(()=>{M.getState().viewState.cameraPosition2D[2]<100&&t(k=>{k.viewState.cameraPosition2D[2]=150})},[]),m.useEffect(()=>{H&&H.current&&Ln.setState({orbitControlsRef:H})},[]),m.useEffect(()=>{H.current&&(H.current.addEventListener("change",L),H.current.addEventListener("start",U),H.current.addEventListener("end",F));const k=H.current;return()=>{k&&(k.removeEventListener("change",L),k.removeEventListener("start",U),k.removeEventListener("end",F))}},[g]),m.useEffect(()=>{const k=M.getState().viewState;if(H.current){if(D.current){if(g){const N=S().camera,j=k.cameraPositionNav??[5,-30,1],Y=k.cameraRotationNav??[1.5374753309166491,.16505866097993566,.005476951734475092];N.position.fromArray(j),N.rotation.fromArray([Y[0],Y[1],Y[2],"XYZ"])}else{const N=W(k.cameraPosition??[0,0,20]),j=W(k.panCenter??[0,0,0]);D.current.position.copy(N),D.current.lookAt(j),D.current.zoom=1,e||(H.current.object=D.current,H.current.target.copy(j))}T.updateMatrixWorld(),OT(S().camera)}if(E.current){const N=W(k.cameraPosition2D??[0,0,1e3]).setZ(1e3),j=W(k.panCenter2D??[0,0,0]);E.current.position.copy(N),E.current.rotation.set(0,0,0),E.current.lookAt(j),E.current.zoom=k.cameraZoom,e&&(H.current.object=E.current,H.current.target.copy(j))}}},[i]),m.useEffect(()=>{if(!E.current||!D.current||!H.current)return;const k=M.getState().viewState,N=H.current,j=E.current,Y=D.current;e?(j.rotation.set(0,0,0),N.object=j,N.target.copy(W(k.panCenter2D??[0,0,0])),w({camera:j})):(N.object=Y,N.target.copy(W(k.panCenter??[0,0,0])),w({camera:Y}),OT(S().camera))},[e]),m.useEffect(()=>{e&&H.current&&(E.current&&(E.current.zoom=l,H.current.object=E.current),L(),H.current.update())},[l]);const L=()=>{v(),M.getState().viewState.orthographic||(OT(S().camera),H.current&&H.current.target.clamp(x,C))},U=()=>{gt.getState().set(k=>{k.duringCameraInteraction=!0})},F=()=>{gt.getState().set(k=>{k.duringCameraInteraction=!1}),t(k=>{if(!H.current)return;const N=k.viewState,j=S().camera,Y=j.position,_=H.current.target;N.orthographic?(j.zoom&&!isNaN(j.zoom)?N.cameraZoom=j.zoom:N.cameraZoom=20,N.cameraPosition2D=[Y.x,Y.y,150],N.panCenter2D=[_.x,_.y,_.z]):g?(N.cameraPositionNav=[Y.x,Y.y,Y.z],N.cameraRotationNav=[j.rotation.x,j.rotation.y,j.rotation.z],k.cameraDirection=dfe(j)):(N.cameraPosition=[Y.x,Y.y,Y.z],N.panCenter=[_.x,_.y,_.z],k.cameraDirection=dfe(j))})},W=k=>k&&Array.isArray(k)?new ae(k[0],k[1],k[2]):k&&k.x!==null?new ae(k.x,k.y,k.z):new ae(0,0,5);rA(()=>{o&&H.current&&H.current.update()});const B=Ln(k=>k.compassRef);return m.useEffect(()=>{OT(S().camera)},[B]),m.useEffect(()=>{H.current&&(g&&!p&&!f?H.current.listenToKeyEvents(window):H.current.removeKeyEvents())},[g,p,f]),m.useEffect(()=>{if(!H.current)return;const k=M.getState().viewState;if(g){const N=S().camera,j=k.cameraPositionNav??[5,-30,1],Y=k.cameraRotationNav??[1.5374753309166491,.16505866097993566,.005476951734475092];N.position.fromArray(j),N.rotation.fromArray([Y[0],Y[1],Y[2],"XYZ"]),N.updateMatrixWorld(),OT(S().camera)}else if(H.current&&D.current){const N=W(k.cameraPosition??[0,0,20]),j=W(k.panCenter??[0,0,0]);D.current.position.copy(N),D.current.lookAt(j),D.current.zoom=1,e||(H.current.object=D.current,H.current.target.copy(j)),D.current.updateMatrixWorld(),OT(D.current)}v()},[g]),h.jsxs(h.Fragment,{children:[h.jsx(_6t,{ref:D,fov:qNe,far:s,up:[0,0,1]}),h.jsx(Y6t,{ref:E,up:[0,0,1]}),h.jsx("myOrbitControls",{ref:H,args:[P,R],autoRotate:o,enableRotate:n,enablePan:!0,enableZoom:!0,enableDamping:!1,maxAzimuthAngle:1/0,minAzimuthAngle:-1/0,maxPolarAngle:Vt,minPolarAngle:0,moveSpeed:u??3,turnSpeed:d??3})]})});var ffe={exports:{}},hfe={exports:{}},DF=1e3,EF=DF*60,kF=EF*60,FF=kF*24,I2o=FF*365.25,z2o=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return D2o(t);if(n==="number"&&isNaN(t)===!1)return e.long?k2o(t):E2o(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function D2o(t){if(t=String(t),!(t.length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),o=(e[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return n*I2o;case"days":case"day":case"d":return n*FF;case"hours":case"hour":case"hrs":case"hr":case"h":return n*kF;case"minutes":case"minute":case"mins":case"min":case"m":return n*EF;case"seconds":case"second":case"secs":case"sec":case"s":return n*DF;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function E2o(t){return t>=FF?Math.round(t/FF)+"d":t>=kF?Math.round(t/kF)+"h":t>=EF?Math.round(t/EF)+"m":t>=DF?Math.round(t/DF)+"s":t+"ms"}function k2o(t){return kO(t,FF,"day")||kO(t,kF,"hour")||kO(t,EF,"minute")||kO(t,DF,"second")||t+" ms"}function kO(t,e,n){if(!(t=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}e.formatters.j=function(c){try{return JSON.stringify(c)}catch(u){return"[UnexpectedJSONParseError]: "+u.message}};function i(c){var u=this.useColors;if(c[0]=(u?"%c":"")+this.namespace+(u?" %c":" ")+c[0]+(u?"%c ":" ")+"+"+e.humanize(this.diff),!!u){var d="color: "+this.color;c.splice(1,0,d,"color: inherit");var f=0,p=0;c[0].replace(/%[a-zA-Z%]/g,function(g){g!=="%%"&&(f++,g==="%c"&&(p=f))}),c.splice(p,0,d)}}function r(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(c){try{c==null?e.storage.removeItem("debug"):e.storage.debug=c}catch{}}function l(){var c;try{c=e.storage.debug}catch{}return!c&&typeof process<"u"&&"env"in process&&(c=n.DEBUG),c}e.enable(l());function s(){try{return window.localStorage}catch{}}})(ffe,ffe.exports);var L2o=ffe.exports,oIe=L2o("jsonp"),W2o=B2o,N2o=0;function U2o(){}function B2o(t,e,n){typeof e=="function"&&(n=e,e={}),e||(e={});var o=e.prefix||"__jp",i=e.name||o+N2o++,r=e.param||"callback",a=e.timeout!=null?e.timeout:6e4,l=encodeURIComponent,s=document.getElementsByTagName("script")[0]||document.head,c,u;a&&(u=setTimeout(function(){d(),n&&n(new Error("Timeout"))},a));function d(){c.parentNode&&c.parentNode.removeChild(c),window[i]=U2o,u&&clearTimeout(u)}function f(){window[i]&&d()}return window[i]=function(p){oIe("jsonp got",p),d(),n&&n(null,p)},t+=(~t.indexOf("?")?"&":"?")+r+"="+l(i),t=t.replace("?&","?"),oIe('jsonp req "%s"',t),c=document.createElement("script"),c.src=t,s.parentNode.insertBefore(c,s),f}const tS=kr(W2o);var j2o=Object.defineProperty,Y2o=Object.defineProperties,O2o=Object.getOwnPropertyDescriptors,oJ=Object.getOwnPropertySymbols,crt=Object.prototype.hasOwnProperty,urt=Object.prototype.propertyIsEnumerable,iIe=(t,e,n)=>e in t?j2o(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ng=(t,e)=>{for(var n in e||(e={}))crt.call(e,n)&&iIe(t,n,e[n]);if(oJ)for(var n of oJ(e))urt.call(e,n)&&iIe(t,n,e[n]);return t},aee=(t,e)=>Y2o(t,O2o(e)),lee=(t,e)=>{var n={};for(var o in t)crt.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&oJ)for(var o of oJ(t))e.indexOf(o)<0&&urt.call(t,o)&&(n[o]=t[o]);return n};function X7(t){return n=>{var o=n,{bgStyle:i={},borderRadius:r=0,iconFillColor:a="white",round:l=!1,size:s=64}=o,c=lee(o,["bgStyle","borderRadius","iconFillColor","round","size"]);return h.jsxs("svg",aee(ng({viewBox:"0 0 64 64",width:s,height:s},c),{children:[l?h.jsx("circle",{cx:"32",cy:"32",r:"32",fill:t.color,style:i}):h.jsx("rect",{width:"64",height:"64",rx:r,ry:r,fill:t.color,style:i}),h.jsx("path",{d:t.path,fill:a})]}))}}const _2o=X7({color:"#7f7f7f",networkName:"email",path:"M17,22v20h30V22H17z M41.1,25L32,32.1L22.9,25H41.1z M20,39V26.6l12,9.3l12-9.3V39H20z"}),V2o=_2o;function Ks(t){const e=Object.entries(t).filter(([,n])=>n!=null).map(([n,o])=>`${encodeURIComponent(n)}=${encodeURIComponent(String(o))}`);return e.length>0?`?${e.join("&")}`:""}const G2o=t=>!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function",X2o=(t,e)=>({left:window.outerWidth/2+(window.screenX||window.screenLeft||0)-t/2,top:window.outerHeight/2+(window.screenY||window.screenTop||0)-e/2}),J2o=(t,e)=>({top:(window.screen.height-e)/2,left:(window.screen.width-t)/2});function K2o(t,e,n){var o=e,{height:i,width:r}=o,a=lee(o,["height","width"]);const l=ng({height:i,width:r,location:"no",toolbar:"no",status:"no",directories:"no",menubar:"no",scrollbars:"yes",resizable:"no",centerscreen:"yes",chrome:"yes"},a),s=window.open(t,"",Object.keys(l).map(c=>`${c}=${l[c]}`).join(", "));if(n){const c=window.setInterval(()=>{try{(s===null||s.closed)&&(window.clearInterval(c),n(s))}catch(u){console.error(u)}},1e3)}return s}function q2o(t){var e=t,{beforeOnClick:n,children:o,className:i,disabled:r,disabledStyle:a={opacity:.6},forwardedRef:l,networkLink:s,networkName:c,onClick:u,onShareWindowClose:d,openShareDialogOnClick:f=!0,opts:p,resetButtonStyle:g=!0,style:y,url:A,windowHeight:x=400,windowPosition:C="windowCenter",windowWidth:b=550}=e,v=lee(e,["beforeOnClick","children","className","disabled","disabledStyle","forwardedRef","networkLink","networkName","onClick","onShareWindowClose","openShareDialogOnClick","opts","resetButtonStyle","style","url","windowHeight","windowPosition","windowWidth"]);const S=async P=>{const R=s(A,p);if(!r){if(P.preventDefault(),n){const H=n();G2o(H)&&await H}if(f){const H=ng({height:x,width:b},C==="windowCenter"?X2o(b,x):J2o(b,x));K2o(R,H,d)}u&&u(P,R)}},w=Vn("react-share__ShareButton",{"react-share__ShareButton--disabled":!!r,disabled:!!r},i),T=ng(ng(g?{backgroundColor:"transparent",border:"none",padding:0,font:"inherit",color:"inherit",cursor:"pointer"}:{},y),r&&a);return h.jsx("button",aee(ng({},v),{className:w,onClick:S,ref:l,style:T,children:o}))}function A0(t,e,n,o){function i(r,a){const l=n(r),s=ng({},r);return Object.keys(l).forEach(u=>{delete s[u]}),h.jsx(q2o,aee(ng(ng({},o),s),{forwardedRef:a,networkName:t,networkLink:e,opts:n(r)}))}return i.displayName=`ShareButton-${t}`,m.forwardRef(i)}function $2o(t,{subject:e,body:n,separator:o}){return"mailto:"+Ks({subject:e,body:n?n+o+t:t})}const Q2o=A0("email",$2o,t=>({subject:t.subject,body:t.body,separator:t.separator||" "}),{openShareDialogOnClick:!1,onClick:(t,e)=>{window.location.href=e}}),Z2o=Q2o,e5o=X7({color:"#0965FE",networkName:"facebook",path:"M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z"}),t5o=e5o;function n5o(t,{appId:e,redirectUri:n,to:o}){return"https://www.facebook.com/dialog/send"+Ks({link:t,redirect_uri:n||t,app_id:e,to:o})}A0("facebookmessenger",n5o,t=>({appId:t.appId,redirectUri:t.redirectUri,to:t.to}),{windowWidth:1e3,windowHeight:820});class o5o extends Error{constructor(e){super(e),this.name="AssertionError"}}function r0(t,e){if(!t)throw new o5o(e)}function i5o(t,{hashtag:e}){return r0(t,"facebook.url"),"https://www.facebook.com/sharer/sharer.php"+Ks({u:t,hashtag:e})}const r5o=A0("facebook",i5o,t=>({hashtag:t.hashtag}),{windowWidth:550,windowHeight:400}),a5o=r5o;function l5o(){const t=m.useRef(!1);return m.useEffect(()=>(t.current=!0,()=>{t.current=!1}),[]),m.useCallback(()=>t.current,[])}function s5o(t){var e=t,{children:n=f=>f,className:o,getCount:i,url:r}=e,a=lee(e,["children","className","getCount","url"]);const l=l5o(),[s,c]=m.useState(void 0),[u,d]=m.useState(!1);return m.useEffect(()=>{d(!0),i(r,f=>{l()&&(c(f),d(!1))})},[r]),h.jsx("span",aee(ng({className:Vn("react-share__ShareCount",o)},a),{children:!u&&s!==void 0&&n(s)}))}function nS(t){const e=n=>h.jsx(s5o,ng({getCount:t},n));return e.displayName=`ShareCount(${t.name})`,e}function c5o(t,e){const n=`https://graph.facebook.com/?id=${t}&fields=og_object{engagement}`;tS(n,(o,i)=>{e(!o&&i&&i.og_object&&i.og_object.engagement?i.og_object.engagement.count:void 0)})}nS(c5o);function u5o(t,{title:e}){return r0(t,"hatena.url"),`http://b.hatena.ne.jp/add?mode=confirm&url=${t}&title=${e}`}A0("hatena",u5o,t=>({title:t.title}),{windowWidth:660,windowHeight:460,windowPosition:"windowCenter"});function d5o(t,e){tS("https://bookmark.hatenaapis.com/count/entry"+Ks({url:t}),(o,i)=>{e(i??void 0)})}nS(d5o);function f5o(t,{title:e,description:n}){return r0(t,"instapaper.url"),"http://www.instapaper.com/hello2"+Ks({url:t,title:e,description:n})}A0("instapaper",f5o,t=>({title:t.title,description:t.description}),{windowWidth:500,windowHeight:500,windowPosition:"windowCenter"});const h5o=X7({color:"#00b800",networkName:"line",path:"M52.62 30.138c0 3.693-1.432 7.019-4.42 10.296h.001c-4.326 4.979-14 11.044-16.201 11.972-2.2.927-1.876-.591-1.786-1.112l.294-1.765c.069-.527.142-1.343-.066-1.865-.232-.574-1.146-.872-1.817-1.016-9.909-1.31-17.245-8.238-17.245-16.51 0-9.226 9.251-16.733 20.62-16.733 11.37 0 20.62 7.507 20.62 16.733zM27.81 25.68h-1.446a.402.402 0 0 0-.402.401v8.985c0 .221.18.4.402.4h1.446a.401.401 0 0 0 .402-.4v-8.985a.402.402 0 0 0-.402-.401zm9.956 0H36.32a.402.402 0 0 0-.402.401v5.338L31.8 25.858a.39.39 0 0 0-.031-.04l-.002-.003-.024-.025-.008-.007a.313.313 0 0 0-.032-.026.255.255 0 0 1-.021-.014l-.012-.007-.021-.012-.013-.006-.023-.01-.013-.005-.024-.008-.014-.003-.023-.005-.017-.002-.021-.003-.021-.002h-1.46a.402.402 0 0 0-.402.401v8.985c0 .221.18.4.402.4h1.446a.401.401 0 0 0 .402-.4v-5.337l4.123 5.568c.028.04.063.072.101.099l.004.003a.236.236 0 0 0 .025.015l.012.006.019.01a.154.154 0 0 1 .019.008l.012.004.028.01.005.001a.442.442 0 0 0 .104.013h1.446a.4.4 0 0 0 .401-.4v-8.985a.402.402 0 0 0-.401-.401zm-13.442 7.537h-3.93v-7.136a.401.401 0 0 0-.401-.401h-1.447a.4.4 0 0 0-.401.401v8.984a.392.392 0 0 0 .123.29c.072.068.17.111.278.111h5.778a.4.4 0 0 0 .401-.401v-1.447a.401.401 0 0 0-.401-.401zm21.429-5.287c.222 0 .401-.18.401-.402v-1.446a.401.401 0 0 0-.401-.402h-5.778a.398.398 0 0 0-.279.113l-.005.004-.006.008a.397.397 0 0 0-.111.276v8.984c0 .108.043.206.112.278l.005.006a.401.401 0 0 0 .284.117h5.778a.4.4 0 0 0 .401-.401v-1.447a.401.401 0 0 0-.401-.401h-3.93v-1.519h3.93c.222 0 .401-.18.401-.402V29.85a.401.401 0 0 0-.401-.402h-3.93V27.93h3.93z"}),p5o=h5o;function g5o(t,{title:e}){return r0(t,"line.url"),"https://social-plugins.line.me/lineit/share"+Ks({url:t,text:e})}const m5o=A0("line",g5o,t=>({title:t.title}),{windowWidth:500,windowHeight:500}),y5o=m5o,A5o=X7({color:"#0077B5",networkName:"linkedin",path:"M20.4,44h5.4V26.6h-5.4V44z M23.1,18c-1.7,0-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3.1,3.1 c1.7,0,3.1-1.4,3.1-3.1C26.2,19.4,24.8,18,23.1,18z M39.5,26.2c-2.6,0-4.4,1.4-5.1,2.8h-0.1v-2.4h-5.2V44h5.4v-8.6 c0-2.3,0.4-4.5,3.2-4.5c2.8,0,2.8,2.6,2.8,4.6V44H46v-9.5C46,29.8,45,26.2,39.5,26.2z"}),w5o=A5o;function v5o(t,{title:e,summary:n,source:o}){return r0(t,"linkedin.url"),"https://linkedin.com/shareArticle"+Ks({url:t,mini:"true",title:e,summary:n,source:o})}const x5o=A0("linkedin",v5o,({title:t,summary:e,source:n})=>({title:t,summary:e,source:n}),{windowWidth:750,windowHeight:600}),b5o=x5o;function S5o(t,{title:e,description:n}){return r0(t,"livejournal.url"),"https://www.livejournal.com/update.bml"+Ks({subject:e,event:n})}A0("livejournal",S5o,t=>({title:t.title,description:t.description}),{windowWidth:660,windowHeight:460});function T5o(t,{title:e,description:n,imageUrl:o}){return r0(t,"mailru.url"),"https://connect.mail.ru/share"+Ks({url:t,title:e,description:n,image_url:o})}A0("mailru",T5o,t=>({title:t.title,description:t.description,imageUrl:t.imageUrl}),{windowWidth:660,windowHeight:460});function P5o(t,{title:e,description:n,image:o}){return r0(t,"ok.url"),"https://connect.ok.ru/offer"+Ks({url:t,title:e,description:n,imageUrl:o})}A0("ok",P5o,t=>({title:t.title,description:t.description,image:t.image}),{windowWidth:588,windowHeight:480,windowPosition:"screenCenter"});function C5o(t,e){window.OK||(window.OK={Share:{count:function(r,a){var l,s;(s=(l=window.OK.callbacks)[r])==null||s.call(l,a)}},callbacks:[]});const n="https://connect.ok.ru/dk",o=window.OK.callbacks.length;return window.ODKL={updateCount(i,r){var a,l;const s=i===""?0:parseInt(i.replace("react-share-",""),10);(l=(a=window.OK.callbacks)[s])==null||l.call(a,r===""?void 0:parseInt(r,10))}},window.OK.callbacks.push(e),tS(n+Ks({"st.cmd":"extLike",uid:`react-share-${o}`,ref:t}))}nS(C5o);function R5o(t,{media:e,description:n,pinId:o}){return o?`https://pinterest.com/pin/${o}/repin/x/`:(r0(t,"pinterest.url"),r0(e,"pinterest.media"),"https://pinterest.com/pin/create/button/"+Ks({url:t,media:e,description:n}))}A0("pinterest",R5o,t=>({media:t.media,description:t.description,pinId:t.pinId}),{windowWidth:1e3,windowHeight:730});function H5o(t,e){tS("https://api.pinterest.com/v1/urls/count.json"+Ks({url:t}),(o,i)=>{e(i?i.count:void 0)})}nS(H5o);function M5o(t,{title:e}){return r0(t,"pocket.url"),"https://getpocket.com/save"+Ks({url:t,title:e})}A0("pocket",M5o,t=>({title:t.title}),{windowWidth:500,windowHeight:500});const I5o=X7({color:"#FF5700",networkName:"reddit",path:"M 53.34375 32 C 53.277344 30.160156 52.136719 28.53125 50.429688 27.839844 C 48.722656 27.148438 46.769531 27.523438 45.441406 28.800781 C 41.800781 26.324219 37.519531 24.957031 33.121094 24.863281 L 35.199219 14.878906 L 42.046875 16.320312 C 42.214844 17.882812 43.496094 19.09375 45.066406 19.171875 C 46.636719 19.253906 48.03125 18.183594 48.359375 16.644531 C 48.6875 15.105469 47.847656 13.558594 46.382812 12.992188 C 44.914062 12.425781 43.253906 13.007812 42.464844 14.367188 L 34.625 12.800781 C 34.363281 12.742188 34.09375 12.792969 33.871094 12.9375 C 33.648438 13.082031 33.492188 13.308594 33.441406 13.566406 L 31.070312 24.671875 C 26.617188 24.738281 22.277344 26.105469 18.59375 28.609375 C 17.242188 27.339844 15.273438 26.988281 13.570312 27.707031 C 11.863281 28.429688 10.746094 30.089844 10.71875 31.941406 C 10.691406 33.789062 11.757812 35.484375 13.441406 36.257812 C 13.402344 36.726562 13.402344 37.195312 13.441406 37.664062 C 13.441406 44.832031 21.792969 50.65625 32.097656 50.65625 C 42.398438 50.65625 50.753906 44.832031 50.753906 37.664062 C 50.789062 37.195312 50.789062 36.726562 50.753906 36.257812 C 52.363281 35.453125 53.371094 33.800781 53.34375 32 Z M 21.34375 35.199219 C 21.34375 33.433594 22.777344 32 24.542969 32 C 26.3125 32 27.742188 33.433594 27.742188 35.199219 C 27.742188 36.96875 26.3125 38.398438 24.542969 38.398438 C 22.777344 38.398438 21.34375 36.96875 21.34375 35.199219 Z M 39.9375 44 C 37.664062 45.710938 34.871094 46.582031 32.03125 46.464844 C 29.191406 46.582031 26.398438 45.710938 24.128906 44 C 23.847656 43.65625 23.871094 43.15625 24.183594 42.839844 C 24.5 42.527344 25 42.503906 25.34375 42.785156 C 27.269531 44.195312 29.617188 44.90625 32 44.800781 C 34.386719 44.929688 36.746094 44.242188 38.6875 42.847656 C 39.042969 42.503906 39.605469 42.511719 39.953125 42.863281 C 40.296875 43.21875 40.289062 43.785156 39.9375 44.128906 Z M 39.359375 38.527344 C 37.59375 38.527344 36.160156 37.09375 36.160156 35.328125 C 36.160156 33.5625 37.59375 32.128906 39.359375 32.128906 C 41.128906 32.128906 42.558594 33.5625 42.558594 35.328125 C 42.59375 36.203125 42.269531 37.054688 41.65625 37.6875 C 41.046875 38.316406 40.203125 38.664062 39.328125 38.65625 Z M 39.359375 38.527344"}),z5o=I5o;function D5o(t,{title:e}){return r0(t,"reddit.url"),"https://www.reddit.com/submit"+Ks({url:t,title:e})}const E5o=A0("reddit",D5o,t=>({title:t.title}),{windowWidth:660,windowHeight:460,windowPosition:"windowCenter"}),k5o=E5o;function F5o(t,{title:e}){return r0(t,"gab.url"),"https://gab.com/compose"+Ks({url:t,text:e})}A0("gab",F5o,t=>({title:t.title}),{windowWidth:660,windowHeight:640,windowPosition:"windowCenter"});function L5o(t,e){const n=`https://www.reddit.com/api/info.json?limit=1&url=${t}`;tS(n,{param:"jsonp"},(o,i)=>{e(!o&&i&&i.data&&i.data.children.length>0&&i.data.children[0].data.score?i.data.children[0].data.score:void 0)})}nS(L5o);const W5o=X7({color:"#25A3E3",networkName:"telegram",path:"m45.90873,15.44335c-0.6901,-0.0281 -1.37668,0.14048 -1.96142,0.41265c-0.84989,0.32661 -8.63939,3.33986 -16.5237,6.39174c-3.9685,1.53296 -7.93349,3.06593 -10.98537,4.24067c-3.05012,1.1765 -5.34694,2.05098 -5.4681,2.09312c-0.80775,0.28096 -1.89996,0.63566 -2.82712,1.72788c-0.23354,0.27218 -0.46884,0.62161 -0.58825,1.10275c-0.11941,0.48114 -0.06673,1.09222 0.16682,1.5716c0.46533,0.96052 1.25376,1.35737 2.18443,1.71383c3.09051,0.99037 6.28638,1.93508 8.93263,2.8236c0.97632,3.44171 1.91401,6.89571 2.84116,10.34268c0.30554,0.69185 0.97105,0.94823 1.65764,0.95525l-0.00351,0.03512c0,0 0.53908,0.05268 1.06412,-0.07375c0.52679,-0.12292 1.18879,-0.42846 1.79109,-0.99212c0.662,-0.62161 2.45836,-2.38812 3.47683,-3.38552l7.6736,5.66477l0.06146,0.03512c0,0 0.84989,0.59703 2.09312,0.68132c0.62161,0.04214 1.4399,-0.07726 2.14229,-0.59176c0.70766,-0.51626 1.1765,-1.34683 1.396,-2.29506c0.65673,-2.86224 5.00979,-23.57745 5.75257,-27.00686l-0.02107,0.08077c0.51977,-1.93157 0.32837,-3.70159 -0.87096,-4.74991c-0.60054,-0.52152 -1.2924,-0.7498 -1.98425,-0.77965l0,0.00176zm-0.2072,3.29069c0.04741,0.0439 0.0439,0.0439 0.00351,0.04741c-0.01229,-0.00351 0.14048,0.2072 -0.15804,1.32576l-0.01229,0.04214l-0.00878,0.03863c-0.75858,3.50668 -5.15554,24.40802 -5.74203,26.96472c-0.08077,0.34417 -0.11414,0.31959 -0.09482,0.29852c-0.1756,-0.02634 -0.50045,-0.16506 -0.52679,-0.1756l-13.13468,-9.70175c4.4988,-4.33199 9.09945,-8.25307 13.744,-12.43229c0.8218,-0.41265 0.68483,-1.68573 -0.29852,-1.70681c-1.04305,0.24584 -1.92279,0.99564 -2.8798,1.47502c-5.49971,3.2626 -11.11882,6.13186 -16.55882,9.49279c-2.792,-0.97105 -5.57873,-1.77704 -8.15298,-2.57601c2.2336,-0.89555 4.00889,-1.55579 5.75608,-2.23009c3.05188,-1.1765 7.01687,-2.7042 10.98537,-4.24067c7.94051,-3.06944 15.92667,-6.16346 16.62028,-6.43037l0.05619,-0.02283l0.05268,-0.02283c0.19316,-0.0878 0.30378,-0.09658 0.35471,-0.10009c0,0 -0.01756,-0.05795 -0.00351,-0.04566l-0.00176,0zm-20.91715,22.0638l2.16687,1.60145c-0.93418,0.91311 -1.81743,1.77353 -2.45485,2.38812l0.28798,-3.98957"}),N5o=W5o;function U5o(t,{title:e}){return r0(t,"telegram.url"),"https://telegram.me/share/url"+Ks({url:t,text:e})}const B5o=A0("telegram",U5o,t=>({title:t.title}),{windowWidth:550,windowHeight:400}),j5o=B5o;function Y5o(t,{title:e,caption:n,tags:o,posttype:i}){return r0(t,"tumblr.url"),"https://www.tumblr.com/widgets/share/tool"+Ks({canonicalUrl:t,title:e,caption:n,tags:o,posttype:i})}A0("tumblr",Y5o,t=>({title:t.title,tags:(t.tags||[]).join(","),caption:t.caption,posttype:t.posttype||"link"}),{windowWidth:660,windowHeight:460});function O5o(t,e){return tS("https://api.tumblr.com/v2/share/stats"+Ks({url:t}),(o,i)=>{e(!o&&i&&i.response?i.response.note_count:void 0)})}nS(O5o);function _5o(t,{title:e,via:n,hashtags:o=[],related:i=[]}){return r0(t,"twitter.url"),r0(Array.isArray(o),"twitter.hashtags is not an array"),r0(Array.isArray(i),"twitter.related is not an array"),"https://twitter.com/intent/tweet"+Ks({url:t,text:e,via:n,hashtags:o.length>0?o.join(","):void 0,related:i.length>0?i.join(","):void 0})}const V5o=A0("twitter",_5o,t=>({hashtags:t.hashtags,title:t.title,via:t.via,related:t.related}),{windowWidth:550,windowHeight:400}),G5o=V5o;function X5o(t,{title:e,separator:n}){return r0(t,"viber.url"),"viber://forward"+Ks({text:e?e+n+t:t})}A0("viber",X5o,t=>({title:t.title,separator:t.separator||" "}),{windowWidth:660,windowHeight:460});function J5o(t,{title:e,image:n,noParse:o,noVkLinks:i}){return r0(t,"vk.url"),"https://vk.com/share.php"+Ks({url:t,title:e,image:n,noparse:o?1:0,no_vk_links:i?1:0})}A0("vk",J5o,t=>({title:t.title,image:t.image,noParse:t.noParse,noVkLinks:t.noVkLinks}),{windowWidth:660,windowHeight:460});function K5o(t,e){window.VK||(window.VK={}),window.VK.Share={count:(i,r)=>{var a,l;return(l=(a=window.VK.callbacks)==null?void 0:a[i])==null?void 0:l.call(a,r)}},window.VK.callbacks=[];const n="https://vk.com/share.php",o=window.VK.callbacks.length;return window.VK.callbacks.push(e),tS(n+Ks({act:"count",index:o,url:t}))}nS(K5o);function q5o(t,{title:e,image:n}){return r0(t,"weibo.url"),"http://service.weibo.com/share/share.php"+Ks({url:t,title:e,pic:n})}A0("weibo",q5o,t=>({title:t.title,image:t.image}),{windowWidth:660,windowHeight:550,windowPosition:"screenCenter"});const $5o=X7({color:"#25D366",networkName:"whatsapp",path:"m42.32286,33.93287c-0.5178,-0.2589 -3.04726,-1.49644 -3.52105,-1.66732c-0.4712,-0.17346 -0.81554,-0.2589 -1.15987,0.2589c-0.34175,0.51004 -1.33075,1.66474 -1.63108,2.00648c-0.30032,0.33658 -0.60064,0.36247 -1.11327,0.12945c-0.5178,-0.2589 -2.17994,-0.80259 -4.14759,-2.56312c-1.53269,-1.37217 -2.56312,-3.05503 -2.86603,-3.57283c-0.30033,-0.5178 -0.03366,-0.80259 0.22524,-1.06149c0.23301,-0.23301 0.5178,-0.59547 0.7767,-0.90616c0.25372,-0.31068 0.33657,-0.5178 0.51262,-0.85437c0.17088,-0.36246 0.08544,-0.64725 -0.04402,-0.90615c-0.12945,-0.2589 -1.15987,-2.79613 -1.58964,-3.80584c-0.41424,-1.00971 -0.84142,-0.88027 -1.15987,-0.88027c-0.29773,-0.02588 -0.64208,-0.02588 -0.98382,-0.02588c-0.34693,0 -0.90616,0.12945 -1.37736,0.62136c-0.4712,0.5178 -1.80194,1.76053 -1.80194,4.27186c0,2.51134 1.84596,4.945 2.10227,5.30747c0.2589,0.33657 3.63497,5.51458 8.80262,7.74113c1.23237,0.5178 2.1903,0.82848 2.94111,1.08738c1.23237,0.38836 2.35599,0.33657 3.24402,0.20712c0.99159,-0.15534 3.04985,-1.24272 3.47963,-2.45956c0.44013,-1.21683 0.44013,-2.22654 0.31068,-2.45955c-0.12945,-0.23301 -0.46601,-0.36247 -0.98382,-0.59548m-9.40068,12.84407l-0.02589,0c-3.05503,0 -6.08417,-0.82849 -8.72495,-2.38189l-0.62136,-0.37023l-6.47252,1.68286l1.73463,-6.29129l-0.41424,-0.64725c-1.70875,-2.71846 -2.6149,-5.85116 -2.6149,-9.07706c0,-9.39809 7.68934,-17.06155 17.15993,-17.06155c4.58253,0 8.88029,1.78642 12.11655,5.02268c3.23625,3.21036 5.02267,7.50812 5.02267,12.06476c-0.0078,9.3981 -7.69712,17.06155 -17.14699,17.06155m14.58906,-31.58846c-3.93529,-3.80584 -9.1133,-5.95471 -14.62789,-5.95471c-11.36055,0 -20.60848,9.2065 -20.61625,20.52564c0,3.61684 0.94757,7.14565 2.75211,10.26282l-2.92557,10.63564l10.93337,-2.85309c3.0136,1.63108 6.4052,2.4958 9.85634,2.49839l0.01037,0c11.36574,0 20.61884,-9.2091 20.62403,-20.53082c0,-5.48093 -2.14111,-10.64081 -6.03239,-14.51915"}),Q5o=$5o;function Z5o(){return/(android|iphone|ipad|mobile)/i.test(navigator.userAgent)}function e9o(t,{title:e,separator:n}){return r0(t,"whatsapp.url"),"https://"+(Z5o()?"api":"web")+".whatsapp.com/send"+Ks({text:e?e+n+t:t})}const t9o=A0("whatsapp",e9o,t=>({title:t.title,separator:t.separator||" "}),{windowWidth:550,windowHeight:400}),n9o=t9o;function o9o(t,{quote:e,hashtag:n}){return r0(t,"workplace.url"),"https://work.facebook.com/sharer.php"+Ks({u:t,quote:e,hashtag:n})}A0("workplace",o9o,t=>({quote:t.quote,hashtag:t.hashtag}),{windowWidth:550,windowHeight:400});const i9o=X7({color:"#000000",networkName:"X",path:"M 41.116 18.375 h 4.962 l -10.8405 12.39 l 12.753 16.86 H 38.005 l -7.821 -10.2255 L 21.235 47.625 H 16.27 l 11.595 -13.2525 L 15.631 18.375 H 25.87 l 7.0695 9.3465 z m -1.7415 26.28 h 2.7495 L 24.376 21.189 H 21.4255 z"}),r9o=i9o,a9o=Ho.div` + */var c2o=nJ.ServerValue;function u2o(t){Fot(t.SDK_VERSION),t.INTERNAL.registerComponent(new Lb("database",function(e,n){var o=n.instanceIdentifier,i=e.getProvider("app").getImmediate(),r=e.getProvider("auth-internal"),a=e.getProvider("app-check-internal");return new nJ(rrt(i,r,a,o),i)},"PUBLIC").setServiceProps({Reference:Gv,Query:art,Database:nJ,DataSnapshot:EE,enableLogging:Uot,INTERNAL:t2o,ServerValue:c2o,TEST_ACCESS:s2o}).setMultipleInstances(!0)),t.registerVersion(Jpo,Kpo)}u2o(ao);const d2o=Se.memo(()=>{const t=M(M4t),e=M(I4t),n=M(Eg),o=M(yH),i=m.useRef(),r=n.schoolID??rc.UNKNOWN,a=n.classID??Ua.UNKNOWN;return m.useEffect(()=>{const l={apiKey:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",authDomain:"aladdin-316017.firebaseapp.com",projectId:"aladdin-316017",storageBucket:"aladdin-316017.appspot.com",databaseURL:"https://aladdin-2023.firebaseio.com",messagingSenderId:"169516488625",appId:"1:169516488625:web:bb0ae3c3f7c6e813250f90"};let s;for(const c of ao.apps)if(c.name===JV.LOG_DATA){s=c;break}s||(s=ao.initializeApp(l,JV.LOG_DATA)),s&&(i.current=ao.database(s))},[]),m.useEffect(()=>{e&&(async()=>{if(i.current){const s=e.timestamp+" ("+gc(new Date(e.timestamp)).format("MM-DD-YYYY hh:mm A")+")";await i.current.ref(r+"/"+a+"/"+n.uid+"/"+s).set({file:o??"Untitled",action:JSON.stringify(e)})}})().catch(s=>{uR("Data logger error: "+e+" - "+s)})},[e,n.uid,a,r,o]),m.useEffect(()=>{t&&(async()=>{if(i.current){const s=t.timestamp+" ("+gc(new Date(t.timestamp)).format("MM-DD-YYYY hh:mm A")+")";await i.current.ref(r+"/"+a+"/"+n.uid+"/"+s).set({file:o??"Untitled",action:JSON.stringify(t)})}})().catch(s=>{uR("Data logger error: "+t+" - "+s)})},[t,n.uid,a,r,o]),h.jsx(h.Fragment,{})}),f2o=Se.memo(()=>{const t=M(fBe)??3.5,e=M(dBe)??.2,n=M(hq)??kk,o=M(NBe)??$Ne,i=M(M7),r=M(mh),a=2*r,l=r+100,s=M(ss),c=m.useRef(null);c.current&&(c.current.shadow.camera.left=-l,c.current.shadow.camera.bottom=-l,c.current.shadow.camera.right=l,c.current.shadow.camera.top=l,c.current.shadow.camera.updateProjectionMatrix());const u=i.z>0,d=u?i.normalize().dot(Po):0;return h.jsxs(h.Fragment,{children:[h.jsx("ambientLight",{intensity:E3t+(u?e*d:0),name:"Ambient Light"}),h.jsx("directionalLight",{ref:c,name:"Directional Light",color:"white",position:i.normalize().multiplyScalar(a),intensity:u?t*d:0,castShadow:s,"shadow-bias":0,"shadow-mapSize-height":o,"shadow-mapSize-width":o,"shadow-camera-near":1,"shadow-camera-far":n})]})}),h2o=Se.memo(({element:t})=>{const e=M(cwt),n=M(yh),o=M(ey),i=M(dge),r=t.type===z.Roof,a="lightGray",l=aA(lq,nQ),s={font:l,height:0,size:.2},c={font:l,height:0,size:.35},u=m.useMemo(()=>i(t,n??o),[n,o]),d=m.useMemo(()=>{const b=-Math.atan2(e.x,e.y)+Math.PI;return new Qt(Vt,0,b,"ZXY")},[e.x,e.y]),f=()=>{let b=t.lz;return r&&(b=M.getState().selectedElementHeight),Math.ceil(b)+1},p=()=>{let b=t.lz;return r&&(b=t.rise),b.toFixed(1)+" m"},g=()=>r?M.getState().selectedElementHeight+1:t.lz-.175;if(!n&&!o)return null;const y=f(),A=p(),x=g(),C=new Array(y+1).fill(0);return h.jsxs("group",{position:u,rotation:d,name:"Vertical Ruler",children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[0,y,0]],color:a}),h.jsxs("mesh",{position:[-1.5,x,0],userData:{unintersectable:!0},children:[h.jsx("textGeometry",{args:[A,c]}),h.jsx("meshBasicMaterial",{attach:"material",color:"white"})]}),C.map((b,v)=>{const S=.2+(v%5===0?.05:0),w=h.jsx("textGeometry",{args:[`${v}`,s]});return h.jsxs("group",{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[-S,v,0],[S,v,0]],lineWidth:.5,color:a}),!r&&h.jsxs("mesh",{position:[.4,v-.125,0],userData:{unintersectable:!0},children:[w,h.jsx("meshBasicMaterial",{attach:"material",color:a})]})]},v)})]})}),p2o=Se.memo(()=>{const t=M(Cb),e=M(sW),n=M(yh),o=M(ey),i=M(sA),r=M(mh),a=M(Mq),l=M(Hq),s=M(v=>{if(v.selectedElement){const S=v.selectedElement.id;return v.elements.find(w=>w.id===S)}}),[c,u]=m.useState(!1),[d,f]=m.useState(2*r),[p,g]=m.useState(2*r);m.useEffect(()=>{const v=Math.floor(r/50)+1,S=Math.round(r/v)*2;f(S*v),g(S)},[r]),m.useEffect(()=>{if(n){const v=be.isTopResizeHandle(n)||n===yt.UpperLeft&&(s==null?void 0:s.type)===z.Wall||n===yt.UpperRight&&(s==null?void 0:s.type)===z.Wall;u(!v)}else u(!1)},[n,s==null?void 0:s.type]);const y=()=>{if(!s)return!1;const v=s.type;return v===z.Foundation||v===z.Cuboid||v===z.Tree&&s.parentId===z.Ground||v===z.Human&&s.parentId===z.Ground},A=o===wi.Lower||o===wi.Upper,b=(v=>be.isTopResizeHandle(v)||(s==null?void 0:s.type)===z.Wall&&be.isTopResizeHandleOfWall(v)||(s==null?void 0:s.type)===z.Roof&&be.isRiseHandleOfRoof(v))(n??o);return s?h.jsxs(h.Fragment,{children:[((c||t||be.isMoveHandle(o))&&!i&&y()||a||l)&&h.jsx("gridHelper",{rotation:[Vt,0,0],name:"Grid",args:[d,p,"gray","#444444"]}),(e||A)&&s&&y()&&h.jsx(uye,{element:s}),b&&h.jsx(h2o,{element:s})]}):null}),Eae=120,Q8="DarkSlateGray",Jz="white",g2o=Se.memo(({visible:t=!0})=>{const e=m.useRef(null),n=Kt(),o=window.devicePixelRatio,i=Eae*o,r=i/150,l=20*r+"px serif";return m.useEffect(()=>{e.current&&Ln.setState({compassRef:e})},[]),m.useEffect(()=>{if(!e.current)return;const s=e.current.getContext("2d");if(!s)return;const c=55*r,u=10*r,d=40*r,f=5*r,p=30*r,g=r,y=r,A=15*r,x=i/2;s.clearRect(0,0,i,i),s.beginPath(),s.arc(x,x,d,0,Math.PI*2),s.lineWidth=f,s.strokeStyle=Q8,s.stroke(),s.beginPath(),s.arc(x,x,p,0,Math.PI*2),s.lineWidth=g,s.strokeStyle=Q8,s.stroke(),s.lineWidth=y,s.beginPath(),s.moveTo(x,x-c),s.lineTo(x-u,x-u),s.lineTo(x,x),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x,x-c),s.lineTo(x+u,x-u),s.lineTo(x,x),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x,x+c),s.lineTo(x-u,x+u),s.lineTo(x,x),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x,x+c),s.lineTo(x+u,x+u),s.lineTo(x,x),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x-c,x),s.lineTo(x-u,x-u),s.lineTo(x,x),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x-c,x),s.lineTo(x-u,x+u),s.lineTo(x,x),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x+c,x),s.lineTo(x+u,x-u),s.lineTo(x,x),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(x+c,x),s.lineTo(x+u,x+u),s.lineTo(x,x),s.fillStyle=Q8,s.stroke(),s.fill(),s.font=l,s.fillStyle=Jz,s.textAlign="center",s.fillText(`${O.t("compass.N",n)}`,x,A),s.save(),s.translate(i,i),s.rotate(Math.PI),s.fillText(`${O.t("compass.S",n)}`,x,A),s.restore(),s.fillStyle=Q8,s.save(),s.translate(0,i),s.rotate(-Math.PI/2),s.fillText(`${O.t("compass.W",n)}`,x,A),s.restore(),s.save(),s.translate(i,0),s.rotate(Math.PI/2),s.fillText(`${O.t("compass.E",n)}`,x,A),s.restore()},[n]),t?h.jsx("canvas",{ref:e,id:"compassCanvas",width:i,height:i,style:{position:"absolute",bottom:"0",right:"0",height:`${Eae}px`,width:`${Eae}px`,margin:"5px",pointerEvents:"none"}}):null});var lrt={exports:{}};(function(t,e){(function(n,o){t.exports=o(m,dq)})(window,function(n,o){return function(i){var r={};function a(l){if(r[l])return r[l].exports;var s=r[l]={i:l,l:!1,exports:{}};return i[l].call(s.exports,s,s.exports,a),s.l=!0,s.exports}return a.m=i,a.c=r,a.d=function(l,s,c){a.o(l,s)||Object.defineProperty(l,s,{enumerable:!0,get:c})},a.r=function(l){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},a.t=function(l,s){if(1&s&&(l=a(l)),8&s||4&s&&typeof l=="object"&&l&&l.__esModule)return l;var c=Object.create(null);if(a.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:l}),2&s&&typeof l!="string")for(var u in l)a.d(c,u,(function(d){return l[d]}).bind(null,u));return c},a.n=function(l){var s=l&&l.__esModule?function(){return l.default}:function(){return l};return a.d(s,"a",s),s},a.o=function(l,s){return Object.prototype.hasOwnProperty.call(l,s)},a.p="",a(a.s=0)}([function(i,r,a){Object.defineProperty(r,"__esModule",{value:!0});var l=a(1);Object.defineProperty(r,"default",{enumerable:!0,get:function(){return function(s){return s&&s.__esModule?s:{default:s}}(l).default}}),i.exports=r.default},function(i,r,a){Object.defineProperty(r,"__esModule",{value:!0});var l=Object.assign||function(y){for(var A=1;A0&&p[0]!==this)return!1;var R=x.target===document.body||P,H=this.childrenContainer&&this.childrenContainer.contains(x.target);if(!(T?H:R))return!1;var D=(0,d.findMatchedKey)(x,v);return!!D&&(S(D,x),!0)}},{key:"render",value:function(){var x=this,C=this.props.children,b=Object.assign({},this.props),v=!0,S=!1,w=void 0;try{for(var T,P=Object.keys(A.propTypes)[Symbol.iterator]();!(v=(T=P.next()).done);v=!0)delete b[T.value]}catch(R){S=!0,w=R}finally{try{!v&&P.return&&P.return()}finally{if(S)throw w}}return C?c.default.createElement("span",l({ref:function(R){x.childrenContainer=R}},b),C):null}}]),A}();r.default=g,g.propTypes={handleKeys:u.default.array,handleEventType:u.default.oneOf(["keydown","keyup","keypress"]),handleFocusableElements:u.default.bool,onKeyEvent:u.default.func,isDisabled:u.default.bool,isExclusive:u.default.bool,children:u.default.any},g.defaultProps={handleKeys:[],handleFocusableElements:!1,handleEventType:"keydown",onKeyEvent:function(){return null}},i.exports=r.default},function(i,r){i.exports=n},function(i,r){i.exports=o},function(i,r,a){function l(C,b,v){return b in C?Object.defineProperty(C,b,{value:v,enumerable:!0,configurable:!0,writable:!0}):C[b]=v,C}Object.defineProperty(r,"__esModule",{value:!0}),r.matchKeyEvent=x,r.findMatchedKey=function(C,b){var v=b.map(function(S){var w=S.toLowerCase(),T=A[w];return T||[S]}).reduce(function(S,w){return S.concat(w)},[]).find(function(S){return x(C,S)});return!v&&b.includes("all")&&(v="other"),v};var s={backspace:[8],del:[46],delete:[46],ins:[45],insert:[45],tab:[9],enter:[13],return:[13],esc:[27],space:[32],pageup:[33],pagedown:[34],end:[35],home:[36],left:[37],up:[38],right:[39],down:[40],shift:[16],ctrl:[17],alt:[18],cap:[20],num:[144],clear:[12],meta:[91],";":[186,59],"=":[187,61],",":[188,44],"-":[189,45,173,109],minus:[189,45,173,109],".":[190,110],"/":[191,111],"`":[192],"[":[219],"\\":[220],"]":[221],"*":[106],"+":[107],plus:[107],"'":[222],quote:[222]},c=Object.keys(s).reduce(function(C,b){return Object.assign(C,l({},b.toUpperCase(),s[b]))},{}),u="0123456789".split("").reduce(function(C,b,v){return Object.assign(C,l({},b,[v+48,v+96]))},{}),d="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("").reduce(function(C,b,v){return Object.assign(C,l({},b.toLowerCase(),[v+65]),l({},b,[v+65]))},{}),f="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19".split(",").reduce(function(C,b,v){return Object.assign(C,l({},"f"+b,[v+112]))},{}),p={control:"ctrl",ctrl:"ctrl",shift:"shift",meta:"meta",cmd:"meta",command:"meta",option:"alt",alt:"alt"},g=r.AllKeys=Object.assign({},s,c,u,d,f),y=Object.assign({},u,d),A={all:Object.keys(g),alphanumeric:Object.keys(y),numeric:Object.keys(u),alphabetic:Object.keys(d),function:Object.keys(f)};function x(C,b){var v=C.which||C.keyCode,S=C.type,w=Object.keys(p).filter(function(U){return C[U+"Key"]}).sort(),T=b.toLowerCase().trim(),P=T==="+"?["+"]:T.split(/\s?\+\s?/),R=P.pop(),H=g[R],D=P;if(S==="keypress")return b==String.fromCharCode(v).toLowerCase();if(D.length===0&&w.length===0)return H.indexOf(v)>=0;if(D.length>0&&w.length>0){var E=D.map(function(U){return p[U]}).sort(),L=E.length===w.length&&E.every(function(U,F){return w[F]===U});return H.indexOf(v)>=0&&L}return D.length==0&&w.length===1&&R===w[0]}}])})})(lrt);var m2o=lrt.exports;const eIe=kr(m2o),y2o=new Gt,I4=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr);return h.jsx(Ei,{name:e,args:[r,r,r],position:[n,o,i],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),children:h.jsx("meshStandardMaterial",{color:a})})},EO=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr);return h.jsx(ts,{name:e,args:[r],position:[n,o,i],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),children:h.jsx("meshStandardMaterial",{color:a})})},tIe=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr),s=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:a}),[a]);return h.jsxs("group",{name:e,position:[n,o,i],rotation:[Vt,0,0],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),scale:r*4,children:[h.jsxs("group",{children:[h.jsx(N1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:s}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:s}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:s})]}),h.jsx(sa,{name:e,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1})]})},A2o=({groupedElementsIdSet:t,childCuboidSet:e,initalPosition:n,initalDimension:o,initalRotation:i})=>{const[r,a,l]=n,[s,c,u]=o,d=s===0?1:c/s,f=t.size>1||e.size>0,p=m.useRef(null),g=m.useRef(new ae),y=m.useRef(new Qt),A=m.useRef(new Gt),x=m.useRef(new Map),C=m.useRef(new Map),b=m.useRef(new Map),v=m.useRef(new Map),S=m.useRef(new Map),w=m.useRef(new Map),T=m.useRef(new Map),P=m.useRef(new Map),R=m.useRef(new ae),H=m.useRef(!1),D=m.useRef(new Map),E=m.useRef(new Map),L=m.useRef(new Map),U=m.useRef(new Map),F=m.useRef(new Map),[W,B]=m.useState(new ae(r,a,l)),[k,N]=m.useState(i),[j,Y]=m.useState(s/2),[_,J]=m.useState(c/2),[Q,ee]=m.useState(u),[$,q]=m.useState(!1),[le,ie]=m.useState("Null"),{get:pe}=Xi(),ne=m.useMemo(()=>new Gs,[]),Z=m.useMemo(()=>new Gt,[]),he=M(hu),fe=M(jn),se=M(ege),oe=M(dn),de=M(En);m.useEffect(()=>{ee(u)},[u]),m.useEffect(()=>{B(new ae(r,a,l)),Pe(s,c),N(i)},[n,o,i]);const ve=je=>{Z.x=je.offsetX/pe().gl.domElement.clientWidth*2-1,Z.y=-(je.offsetY/pe().gl.domElement.clientHeight)*2+1,ne.setFromCamera(Z,pe().camera)},Pe=(je,at)=>{Y(je/2),J(at/2)},me=je=>{q(!0),Ln.getState().setEnableOrbitController(!1),H.current=!0,g.current.set(0,0,0),y.current.set(0,0,0),ye(yo.Default),je.stopPropagation()},Re=(je,at,ut)=>{oe(wt=>{for(const rt of wt.elements)if(hd(rt)&&je.has(rt.id))[rt.cx,rt.cy,rt.lx,rt.ly]=je.get(rt.id);else if(je.has(rt.parentId))switch(rt.type){case z.Wall:{const Qe=at.get(rt.id);if(!Qe)continue;const Oe=rt,et=Qe.slice(0,3),vt=Qe.slice(3);Oe.cx=(et[0]+vt[0])/2,Oe.cy=(et[1]+vt[1])/2,Oe.lx=Math.hypot(et[0]-vt[0]+(et[1]-vt[1])),Oe.relativeAngle=Math.atan2(vt[1]-et[1],vt[0]-et[0]),Oe.leftPoint=[...et],Oe.rightPoint=[...vt];break}case z.Window:{const Qe=rt;if(Qe.parentType!==z.Roof)continue;const Oe=ut.get(rt.id);if(!Oe)continue;[Qe.cx,Qe.cy]=Oe;break}}wt.groupActionUpdateFlag=!wt.groupActionUpdateFlag,wt.updateElementOnRoofFlag=!0})},ze=(je,at)=>{oe(ut=>{for(const wt of ut.elements){if(je.has(wt.id)){const rt=je.get(wt.id);rt!==void 0&&(wt.type===z.Roof?wt.rise=rt:wt.lz=rt)}if(wt.type===z.Wall&&at.has(wt.id)){const rt=wt,Qe=at.get(rt.id);Qe&&(rt.leftTopPartialHeight=Qe.upperLeft,rt.rightTopPartialHeight=Qe.upperRight,rt.leftUnfilledHeight=Qe.lowerLeft,rt.rightUnfilledHeight=Qe.lowerRight)}}ut.groupActionUpdateFlag=!ut.groupActionUpdateFlag,ut.updateElementOnRoofFlag=!0})},Ae=je=>{oe(at=>{for(const ut of at.elements)if(je.has(ut.id)){const wt=je.get(ut.id);wt&&(ut.cx=wt[0],ut.cy=wt[1],ut.cz=wt[2],ut.rotation[2]=wt[3])}at.groupActionUpdateFlag=!at.groupActionUpdateFlag})},re=()=>{const je=new Map;for(const wt of M.getState().elements)(hd(wt)&&t.has(wt.id)||t.has(wt.parentId))&&je.set(wt.id,[wt.cx,wt.cy,wt.cz,wt.rotation[2]]);const ut={name:`${le==="Move"?"Move":"Rotate"} Foundation Group`,timestamp:Date.now(),oldPositionMap:new Map(D.current),newPositionMap:new Map(je),undo:()=>{Ae(ut.oldPositionMap)},redo:()=>{Ae(ut.newPositionMap)}};de(ut)},ge=()=>{const je=new Map,at=new Map,ut=new Map;for(const rt of M.getState().elements)if(hd(rt)&&D.current.has(rt.id))je.set(rt.id,[rt.cx,rt.cy,rt.lx,rt.ly]);else if(E.current.has(rt.id)){const Qe=rt;at.set(rt.id,[...Qe.leftPoint,...Qe.rightPoint])}else if(F.current.has(rt.id)){const Qe=rt;if(Qe.parentType!==z.Roof)continue;ut.set(Qe.id,[Qe.cx,Qe.cy])}const wt={name:"Resize Building XY",timestamp:Date.now(),oldFoundationDataMap:new Map(D.current),newFoundationDataMap:new Map(je),oldWallPointsMap:new Map(E.current),newWallPointsMap:new Map(at),oldSkylightPosMap:new Map(F.current),newSkylightPosMap:new Map(ut),undo:()=>{Re(wt.oldFoundationDataMap,wt.oldWallPointsMap,wt.oldSkylightPosMap)},redo:()=>{Re(wt.newFoundationDataMap,wt.newWallPointsMap,wt.newSkylightPosMap)}};de(wt)},we=()=>{const je=new Map,at=new Map;for(const wt of M.getState().elements)if(L.current.has(wt.id)&&(wt.type===z.Roof?je.set(wt.id,wt.rise):je.set(wt.id,wt.lz)),wt.type===z.Wall&&U.current.has(wt.id)){const rt=wt;at.set(rt.id,{lowerLeft:rt.leftUnfilledHeight,lowerRight:rt.rightUnfilledHeight,upperLeft:rt.leftTopPartialHeight,upperRight:rt.rightTopPartialHeight})}const ut={name:"Resize Building Z",timestamp:Date.now(),oldElementHeightMap:new Map(L.current),newElementHeightMap:new Map(je),oldPartialWallHeightMap:new Map(U.current),newPartialWallHeightMap:new Map(at),undo:()=>{ze(ut.oldElementHeightMap,ut.oldPartialWallHeightMap)},redo:()=>{ze(ut.newElementHeightMap,ut.newPartialWallHeightMap)}};de(ut)},ye=je=>{oe(at=>{at.moveHandleType=je})},Te=je=>{const at=new Gt(je.x,je.y),ut=A.current.clone();if(f){const wt=new Gt().subVectors(at,ut),rt=Math.max(1,wt.length()),Qe=Math.sqrt(Math.pow(rt,2)/(Math.pow(d,2)+1)),Oe=Qe*d,et=new Gt(Qe*Math.sign(wt.x),Oe*Math.sign(wt.y)).normalize().multiplyScalar(rt/2).add(ut);B(new ae(et.x,et.y)),Pe(Qe,Oe),oe(vt=>{const ct=new Map;for(const lt of vt.elements)if(hd(lt)&&(t.has(lt.id)||e.has(lt.id))){const tt=T.current.get(lt.id),it=P.current.get(lt.id);if(tt&&it){const At=it[0]*Qe,Mt=it[1]*Oe;if(lt.lx=At,lt.ly=Mt,lt.parentId!==Zo){const st=ct.get(lt.parentId);if(st){const{pos:ft,rot:Rt}=st,zt=new ae(tt[0]*Qe+et.x,tt[1]*Oe+et.y),Xe=zt.clone().sub(ft).applyEuler(new Qt(0,0,-Rt));lt.cx=Xe.x,lt.cy=Xe.y,ct.set(lt.id,{pos:zt.clone(),rot:lt.rotation[2]+Rt})}}else{const st=tt[0]*Qe+et.x,ft=tt[1]*Oe+et.y;lt.cx=st,lt.cy=ft,ct.set(lt.id,{pos:new ae(st,ft),rot:lt.rotation[2]})}for(const st of vt.elements)if(st.foundationId===lt.id)switch(st.type){case z.Wall:{const ft=st,Rt=C.current.get(ft.id);if(!Rt)continue;const[zt,Xe]=Rt,ht=[zt.x*At,zt.y*Mt,lt.lz],Je=[Xe.x*At,Xe.y*Mt,lt.lz];ft.cx=(ht[0]+Je[0])/2,ft.cy=(ht[1]+Je[1])/2,ft.lx=Math.hypot(ht[0]-Je[0]+(ht[1]-Je[1])),ft.relativeAngle=Math.atan2(Je[1]-ht[1],Je[0]-ht[0]),ft.leftPoint=[...ht],ft.rightPoint=[...Je];break}case z.Window:{const ft=st;if(ft.parentType!==z.Roof)continue;const Rt=v.current.get(ft.id);if(!Rt)continue;ft.cx=Rt[0]*At,ft.cy=Rt[1]*Mt;break}}}}})}else{const wt=ut.distanceTo(at),rt=Math.atan2(at.x-ut.x,at.y-ut.y)+k,Qe=Math.abs(wt*Math.sin(rt)),Oe=Math.abs(wt*Math.cos(rt)),et=new Gt().addVectors(at,ut).multiplyScalar(.5);B(new ae(et.x,et.y)),Pe(Qe,Oe),oe(vt=>{for(const ct of vt.elements)if(t.has(ct.id))ct.lx=Qe,ct.ly=Oe,ct.cx=et.x,ct.cy=et.y;else if(ct.foundationId&&t.has(ct.foundationId))switch(ct.type){case z.Wall:{const lt=ct,tt=C.current.get(lt.id);if(!tt)continue;const[it,At]=tt,Mt=[it.x*Qe,it.y*Oe,0],st=[At.x*Qe,At.y*Oe,0];lt.cx=(Mt[0]+st[0])/2,lt.cy=(Mt[1]+st[1])/2,lt.lx=Math.hypot(Mt[0]-st[0],Mt[1]-st[1]),lt.relativeAngle=Math.atan2(st[1]-Mt[1],st[0]-Mt[0]),lt.leftPoint=[...Mt],lt.rightPoint=[...st];break}case z.Window:{const lt=ct;if(lt.parentType!==z.Roof)continue;const tt=v.current.get(lt.id);if(!tt)continue;lt.cx=tt[0]*Qe,lt.cy=tt[1]*Oe}}})}M.getState().updateElementOnRoofFn()},Ie=je=>{if(je.z<.1)return;const at=je.z;ee(at),oe(ut=>{for(const wt of ut.elements)if(x.current.has(wt.id)){if(wt.type===z.Wall){wt.lz=at*x.current.get(wt.id);const rt=wt;if(rt.fill===Hl.Partial){const Qe=b.current.get(rt.id);Qe&&(rt.leftTopPartialHeight=at*Qe.upperLeft,rt.rightTopPartialHeight=at*Qe.upperRight,rt.leftUnfilledHeight=at*Qe.lowerLeft,rt.rightUnfilledHeight=at*Qe.lowerRight)}}else if(wt.type===z.Roof)wt.rise=at*x.current.get(wt.id);else if(wt.type===z.Cuboid){const rt=x.current.get(wt.id);if(rt){const Qe=rt*at;wt.lz=Qe,wt.cz=Qe/2}}}ut.updateElementOnRoofFlag=!0})},Ce=je=>{const at=new ae(W.x,W.y),ut=Math.atan2(at.x-je.x,je.y-at.y)+(le==="Rotate Upper"?0:Math.PI),wt=Math.abs(ut)>Math.PI?-na:0,rt=ut+wt,Qe=new Qt(0,0,rt),Oe=w.current.size;oe(et=>{for(const vt of et.elements){if(hd(vt)&&t.has(vt.id)&&!e.has(vt.id)){const ct=S.current.get(vt.id),lt=Oe!==1?w.current.get(vt.id):0;if(ct&<!==void 0){const tt=ct.clone().applyEuler(Qe);vt.cx=at.x+tt.x,vt.cy=at.y+tt.y,vt.rotation=[0,0,lt+rt]}}if(vt.type!==z.Cuboid&&t.has(vt.parentId)){const ct=Oe!==1?w.current.get(vt.parentId):0;ct!==void 0&&(vt.rotation=[0,0,ct+rt])}}}),N(rt)},Ee=(je,at)=>{const ut=new Gt(W.x,W.y);A.current.set(je,at).rotateAround(y2o,k).add(ut),ie("Resize XY"),T.current.clear(),P.current.clear(),C.current.clear(),D.current.clear(),E.current.clear(),v.current.clear(),F.current.clear();const[wt,rt]=[j*2,_*2];for(const Qe of M.getState().elements)if(hd(Qe)&&(t.has(Qe.id)||e.has(Qe.id))){const{pos:Oe}=be.getWorldDataById(Qe.id);T.current.set(Qe.id,[(Oe.x-W.x)/wt,(Oe.y-W.y)/rt]),P.current.set(Qe.id,[Qe.lx/wt,Qe.ly/rt]),D.current.set(Qe.id,[Qe.cx,Qe.cy,Qe.lx,Qe.ly])}else if(Qe.foundationId&&t.has(Qe.foundationId)){const Oe=fe(Qe.foundationId);if(!Oe)continue;switch(Qe.type){case z.Wall:{const et=Qe,vt=new Gt(et.leftPoint[0]/Oe.lx,et.leftPoint[1]/Oe.ly),ct=new Gt(et.rightPoint[0]/Oe.lx,et.rightPoint[1]/Oe.ly);C.current.set(et.id,[vt,ct]),E.current.set(et.id,[...et.leftPoint,...et.rightPoint]);break}case z.Window:{const et=Qe;if(et.parentType!==z.Roof)continue;v.current.set(et.id,[et.cx/Oe.lx,et.cy/Oe.ly]),F.current.set(et.id,[et.cx,et.cy]);break}}}},Ue=(je,at,ut)=>{const{x:wt,y:rt}=se();g.current.set(je,at,ut),y.current.set(-Vt,0,-Math.atan2(wt,rt)-k,"ZXY"),ie("Resize Z"),x.current.clear(),L.current.clear(),b.current.clear(),U.current.clear();for(const Qe of M.getState().elements)if(Qe.foundationId&&t.has(Qe.foundationId))if(Qe.type===z.Wall){x.current.set(Qe.id,Qe.lz/Q),L.current.set(Qe.id,Qe.lz);const Oe=Qe;Oe.fill===Hl.Partial&&(U.current.set(Oe.id,{upperLeft:Oe.leftTopPartialHeight,upperRight:Oe.rightTopPartialHeight,lowerLeft:Oe.leftUnfilledHeight,lowerRight:Oe.rightUnfilledHeight}),b.current.set(Oe.id,{upperLeft:Oe.leftTopPartialHeight/Q,upperRight:Oe.rightTopPartialHeight/Q,lowerLeft:Oe.leftUnfilledHeight/Q,lowerRight:Oe.rightUnfilledHeight/Q}))}else Qe.type===z.Roof&&(x.current.set(Qe.id,Qe.rise/Q),L.current.set(Qe.id,Qe.rise));else(t.has(Qe.id)||e.has(Qe.id))&&(x.current.set(Qe.id,Qe.lz/Q),L.current.set(Qe.id,Qe.lz))},Ne=je=>{switch(me(je),je.object.name){case yt.UpperLeft:{Ee(j,-_);break}case yt.UpperRight:{Ee(-j,-_);break}case yt.LowerLeft:{Ee(j,_);break}case yt.LowerRight:{Ee(-j,_);break}case yt.UpperLeftTop:{Ue(-j,_,Q);break}case yt.UpperRightTop:{Ue(j,_,Q);break}case yt.LowerLeftTop:{Ue(-j,-_,Q);break}case yt.LowerRightTop:{Ue(j,-_,Q);break}}},Le=je=>{if(me(je),ie("Move"),je.intersections.length>0){const at=je.intersections[0].point.clone().setZ(0);R.current.subVectors(W,at);for(const ut of M.getState().elements)if(hd(ut)&&t.has(ut.id)){const wt=new ae(ut.cx,ut.cy),rt=new ae().subVectors(wt,at);S.current.set(ut.id,rt),D.current.set(ut.id,[ut.cx,ut.cy,ut.cz,ut.rotation[2]])}}},qe=je=>{if(me(je),je.object.name===wi.Lower?ie("Rotate Lower"):je.object.name===wi.Upper&&ie("Rotate Upper"),je.intersections.length>0){const at=new ae(W.x,W.y);for(const ut of M.getState().elements){if(hd(ut)&&t.has(ut.id)){const wt=new ae(ut.cx,ut.cy),rt=new ae().subVectors(wt,at);S.current.set(ut.id,rt),w.current.set(ut.id,ut.rotation[2]),D.current.set(ut.id,[ut.cx,ut.cy,ut.cz,ut.rotation[2]])}t.has(ut.parentId)&&D.current.set(ut.id,[ut.cx,ut.cy,ut.cz,ut.rotation[2]])}}},We=je=>{switch(le){case"Move":case"Rotate Lower":case"Rotate Upper":re();break;case"Resize XY":ge();break;case"Resize Z":we();break}q(!1),Ln.getState().setEnableOrbitController(!0),H.current=!1,ie("Null"),ye(null),oe(at=>{at.groupActionUpdateFlag=!at.groupActionUpdateFlag,at.updateWallMapOnFoundationFlag=!at.updateWallMapOnFoundationFlag,at.updateElementOnRoofFlag=!0})},De=je=>{if(!p.current||!H.current)return;ve(je);const at=ne.intersectObjects([p.current]);if(at.length>0){const ut=at[0].point;switch(le){case"Resize XY":Te(ut);break;case"Resize Z":Ie(ut);break;case"Rotate Lower":case"Rotate Upper":Ce(ut);break;case"Move":B(new ae().addVectors(ut.clone().setZ(0),R.current)),oe(wt=>{for(const rt of wt.elements)if(hd(rt)&&t.has(rt.id)&&!e.has(rt.id)){const Qe=S.current.get(rt.id);Qe&&(rt.cx=ut.x+Qe.x,rt.cy=ut.y+Qe.y)}});break}}},Fe=UH(),_e=Fe/2,ot=Q+_e-Fe/2,Ye=j+Fe,St=_+Fe,dt=_+Fe*4;return h.jsxs("group",{name:"Group Master",position:W,rotation:[0,0,k],children:[h.jsxs("group",{name:"Resize Handle Group",onPointerDown:Ne,children:[h.jsx(I4,{args:[j,_,_e,Fe],handleType:yt.UpperRight}),h.jsx(I4,{args:[-j,_,_e,Fe],handleType:yt.UpperLeft}),h.jsx(I4,{args:[j,-_,_e,Fe],handleType:yt.LowerRight}),h.jsx(I4,{args:[-j,-_,_e,Fe],handleType:yt.LowerLeft}),!he&&h.jsxs(h.Fragment,{children:[h.jsx(I4,{args:[j,_,ot,Fe],handleType:yt.UpperRightTop}),h.jsx(I4,{args:[-j,_,ot,Fe],handleType:yt.UpperLeftTop}),h.jsx(I4,{args:[j,-_,ot,Fe],handleType:yt.LowerRightTop}),h.jsx(I4,{args:[-j,-_,ot,Fe],handleType:yt.LowerLeftTop})]})]}),h.jsxs("group",{name:"Move Handle Group",onPointerDown:Le,children:[h.jsx(EO,{args:[0,St,_e,Fe],handleType:yo.Upper}),h.jsx(EO,{args:[0,-St,_e,Fe],handleType:yo.Lower}),h.jsx(EO,{args:[Ye,0,_e,Fe],handleType:yo.Right}),h.jsx(EO,{args:[-Ye,0,_e,Fe],handleType:yo.Left})]}),h.jsxs("group",{name:"Rotate Handle Group",onPointerDown:qe,children:[h.jsx(tIe,{args:[0,dt,_e,Fe],handleType:wi.Upper}),h.jsx(tIe,{args:[0,-dt,_e,Fe],handleType:wi.Lower})]}),$&&h.jsx(sa,{name:"Intersection Plane",ref:p,args:[Math.max(j*2.4,1e3),Math.max(j*2.4,1e3)],visible:!1,position:g.current,rotation:y.current,onPointerMove:De,onPointerUp:We}),h.jsx("group",{name:"Wireframe Group",position:[0,0,Q/2],children:h.jsx(s7,{hx:j,hy:_,hz:Q/2,lineColor:"white"})})]})},w2o=Se.memo(A2o),v2o=t=>t.parentId===Zo&&(t.type===z.Foundation||t.type===z.Cuboid),srt=(t,e,n)=>{const o=n.get(t),i=n.get(e);if(!o||!i)return!1;for(const r of o)if(be.isPointInside(r.x,r.y,i))return!0;for(const r of i)if(be.isPointInside(r.x,r.y,o))return!0;o.push(o[0]),i.push(i[0]);for(let r=0;r{M(B8t);const t=M(uwt),e=d();if(e.length===0)return null;const{allBaseElements:n,allBaseElementsVerticesMap:o,cuboidParentIdMap:i}=f(),r=new Set(e.map(A=>A.id)),a=[...e];for(const A of e)A.enableGroupMaster&&p(A);const{position:l,dimension:s,rotation:c,childCuboidIdSet:u}=g();function d(){const A=new Set;for(const x of M.getState().elements)t.has(x.id)&&(x.parentId===Zo&&hd(x)?A.add(x.id):x.foundationId&&A.add(x.foundationId));return A.size===0?[]:M.getState().elements.filter(x=>A.has(x.id))}function f(){const A=[],x=new Map,C=new Map;for(const b of M.getState().elements){if(v2o(b)){const v=be.fetchFoundationVertexCoordinates(b);A.push(b),x.set(b.id,v)}b.type===z.Cuboid&&b.parentId!==Zo&&C.set(b.id,b.parentId)}return{allBaseElements:A,allBaseElementsVerticesMap:x,cuboidParentIdMap:C}}function p(A){for(const x of n)!r.has(x.id)&&srt(A.id,x.id,o)&&(r.add(x.id),a.push(x),x.enableGroupMaster&&p(x))}function g(){const A=a.map(R=>be.fetchFoundationVertexCoordinates(R)).flat(),x=new Set,C=be.calculatePolygonBounds(A);let b=1,v=1;const S=new Map;for(const R of M.getState().elements)if(R.foundationId&&r.has(R.foundationId))if(R.type===z.Wall){const H=R;b=Math.max(b,H.lz),H.roofId&&(S.get(H.roofId)??0)M(fYe)?h.jsx(x2o,{}):null),S2o=Se.memo(()=>{var s,c;const t=M(dn),e=M(gge),n=M(pge),o=M(En),i=m.useRef(!1),r=m.useRef(!1);M(uYe),M(dYe),gt(u=>u.selectedElementId),m.useEffect(()=>{Ln.setState({listenToAutoDeletionByDeleteRef:i,listenToAutoDeletionByCutRef:r})},[]);const a=M2.debounce(()=>{var v,S;const u=gt.getState().selectedElementId,d=M.getState().selectedElementIdSet;if(!u||d.size===0)return;const f=M.getState().getAutoDeletedElements();if(!f)return;const p=M.getState().deletedElements,g=M.getState().elementsToPaste,y=(v=Ln.getState().listenToAutoDeletionByCutRef)==null?void 0:v.current,A=(S=Ln.getState().listenToAutoDeletionByDeleteRef)==null?void 0:S.current;let x=[],C="";y?(Ln.getState().setListenToAutoDeletionByCut(!1),x=[...g,...f],C="Cut"):A&&(Ln.getState().setListenToAutoDeletionByDelete(!1),x=[...p,...f],C="Delete");const b={name:C,timestamp:Date.now(),deletedElements:[...x],selectedElementId:u,selectedElementIdSet:new Set(d),undo(){const w=b.deletedElements;if(!w||w.length===0)return;for(const P of this.deletedElements)if(P.type===z.Wall){const R=P;R.leftJoints.length>0&&e(R.leftJoints[0],[R.id]),R.rightJoints.length>0&&n(R.rightJoints[0],[R.id])}else P.type===z.Roof&&t(R=>{R.addedRoofIdSet.add(P.id)});const T=w.find(P=>P.id===this.selectedElementId)??null;t(P=>{P.elements.push(...w),P.selectedElement=T,P.selectedElementIdSet=new Set(this.selectedElementIdSet),P.updateWallMapOnFoundationFlag=!P.updateWallMapOnFoundationFlag,P.deletedRoofId=null,P.autoDeletedRoofs=null,P.deletedRoofIdSet.clear(),P.autoDeletedRoofIdSet.clear(),P.autoDeletedChild=null})},redo(){b.deletedElements.length!==0&&(t(w=>{w.selectedElement=w.elements.find(T=>T.id===this.selectedElementId)??null,w.selectedElementIdSet=new Set(this.selectedElementIdSet)}),M.getState().removeSelectedElements())}};o(b),t(w=>{w.selectedElement=null,w.selectedElementIdSet.clear(),w.deletedRoofId=null,w.deletedRoofIdSet.clear(),w.autoDeletedRoofs=null,w.autoDeletedRoofIdSet.clear(),w.autoDeletedChild=null}),gt.getState().setPrimitiveStore("selectedElementId",null)},50);return(((s=Ln.getState().listenToAutoDeletionByCutRef)==null?void 0:s.current)||((c=Ln.getState().listenToAutoDeletionByDeleteRef)==null?void 0:c.current))&&M.getState().getAutoDeletedElements()&&a(),null}),nIe=["left","up","right","down","shift+left","shift+up","shift+right","shift+down","ctrl+shift+left","ctrl+shift+up","ctrl+shift+right","ctrl+shift+down","meta+shift+left","meta+shift+up","meta+shift+right","meta+shift+down","ctrl+f","meta+f","ctrl+o","meta+o","ctrl+s","meta+s","ctrl+c","meta+c","ctrl+x","meta+x","ctrl+v","meta+v","ctrl+[","meta+[","ctrl+]","meta+]","ctrl+z","meta+z","ctrl+y","meta+y","ctrl+m","meta+m","ctrl+u","meta+u","ctrl+b","meta+b","shift","esc","ctrl+home","ctrl+alt+h","ctrl+shift+o","meta+shift+o","ctrl+shift+s","meta+shift+s","delete","backspace","alt+backspace","f2","f4","ctrl"],T2o=Se.memo(({canvas:t})=>{const e=M(dn),n=M(ha),o=M(lW),i=M(Sc),r=M(Z4t),a=M(En),l=M(hu)??!1,s=M(xb),c=M(jn),u=M(Cje),d=M(hp),f=M(Owt),p=M(rr),g=M(pge),y=M(gge),A=M($wt),x=M(tge),C=.1,b=m.useMemo(()=>({lng:i}),[i]),v=(_,J)=>(t&&(t.style.cursor="default"),d(_,J)),S=()=>{if(M.getState().viewState.navigationView)return;const _=M.getState().set2DView,J={name:"Set 2D View",timestamp:Date.now(),checked:!l,undo:()=>{_(!J.checked)},redo:()=>{_(J.checked)}};a(J),_(!l),e(Q=>{Q.viewState.autoRotate=!1})},w=()=>{if(l)return;const _=M.getState().setNavigationView,J={name:"Set Navigation View",timestamp:Date.now(),checked:!M.getState().viewState.navigationView,undo:()=>{_(!J.checked)},redo:()=>{_(J.checked)}};a(J),_(!M.getState().viewState.navigationView),e(Q=>{Q.viewState.autoRotate=!1})},T=()=>{if(l)return;const _={name:"Auto Rotate",timestamp:Date.now(),checked:!M.getState().viewState.autoRotate,undo:()=>{e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=!_.checked})},redo:()=>{e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=_.checked})}};a(_),e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=!J.viewState.autoRotate})},P=(_,J,Q)=>{const ee=JSON.parse(JSON.stringify(_));if(ee.cx=J,ee.cy=Q,_.type===z.SolarPanel&&_.parentType===z.Roof){if(_.parentId&&_.foundationId){const $=c(_.parentId),q=c(_.foundationId);if($&&q){const le=In.getRoofBoundaryVertices($),ie=In.getSolarPanelVerticesOnRoof(ee,q);if(!oye(ie,le)||!iye(ee,q,ie))return!1}}return!0}if(x(ee))return Lo(O.t("message.MoveCancelledBecauseOfOverlap",b)),!1;if(ee.type===z.SolarPanel){const $=p(_);if($&&!be.isSolarCollectorWithinHorizontalSurface(ee,$))return Lo(O.t("message.MoveOutsideBoundaryCancelled",b)),!1}return!0},R=_=>{switch(_.type){case z.Roof:case z.Door:case z.Window:return!1;case z.SolarPanel:case z.Sensor:case z.Light:{const J=_;return J.parentType===z.Wall||J.parentType===z.Roof?!1:J.parentType===z.Cuboid?J.rotation[2]===1:!0}case z.Wall:{const J=_;return!(J.leftJoints.length!==0||J.rightJoints.length!==0)}default:return!0}},H=(_,J)=>{switch(_){case z.Foundation:case z.Cuboid:return J===z.Foundation||J===z.Cuboid;default:return J!==z.Foundation&&J!==z.Cuboid}},D=_=>{const J=M.getState().elements.filter(q=>hd(q)&&q.parentId===Zo),Q=new Set(_.map(q=>q.id)),ee=new Map;for(const q of J){const le=be.fetchFoundationVertexCoordinates(q);ee.set(q.id,le)}const $=q=>{for(const le of J)!Q.has(le.id)&&srt(q.id,le.id,ee)&&(Q.add(le.id),_.push(le),le.enableGroupMaster&&$(le))};for(const q of _)q.enableGroupMaster&&$(q)},E=()=>{const _=[],J=M.getState().selectedElementIdSet,Q=s();if(!Q||J.size===0)return _;if(Q){const ee=Q.type,$=Q.parentId,q=M.getState().elements.filter(le=>H(ee,le.type)&&R(le)&&le.parentId===$&&J.has(le.id));_.push(...q),hd(Q)&&_.length>0&&$===Zo&&D(_)}return _},L=(_,J,Q,ee)=>{switch(ee){case wl.Left:return[_-Q,J];case wl.Right:return[_+Q,J];case wl.Up:return[_,J+Q];case wl.Down:return[_,J-Q]}},U=(_,J)=>{e(Q=>{var $,q;let ee=!1;for(const le of Q.elements)if(_.has(le.id)){const ie=_.get(le.id);if(ie!==void 0){const[pe,ne]=L(le.cx,le.cy,ie,J);if(le.type===z.Wall){const Z=le,he=new ae(pe-Z.cx,ne-Z.cy),fe=new ae().fromArray(Z.leftPoint).setZ(0).add(he),se=new ae().fromArray(Z.rightPoint).setZ(0).add(he);Z.leftPoint=fe.toArray(),Z.rightPoint=se.toArray(),ee=!0}le.cx=pe,le.cy=ne}}else Q.selectedElementIdSet.has(le.id)&&Q.selectedElementIdSet.delete(le.id);(($=Q.selectedElement)==null?void 0:$.type)===z.Cuboid||((q=Q.selectedElement)==null?void 0:q.type)===z.Foundation?Q.groupActionUpdateFlag=!Q.groupActionUpdateFlag:ee&&(Q.updateWallMapOnFoundationFlag=!Q.updateWallMapOnFoundationFlag)})},F=(_,J)=>{e(Q=>{for(const ee of Q.elements)(be.isFoundationOrCuboid(ee)||be.isPlantOrHuman(ee)&&ee.parentId===Zo)&&([ee.cx,ee.cy]=L(ee.cx,ee.cy,_,J))})},W=_=>_===wl.Left?wl.Right:_===wl.Right?wl.Left:_===wl.Up?wl.Down:_===wl.Down?wl.Up:(console.error("Undo direction is possibly incorrect:",_),_),B=(_,J)=>{if(!l)return;const Q=E(),ee=s(),$=J*C;if(ee&&Q.length>0){const q=new Map;for(const ie of Q)switch(ie.type){case z.Foundation:case z.Cuboid:case z.Wall:case z.Tree:case z.Flower:case z.Human:{q.set(ie.id,$);break}case z.Light:case z.Sensor:{const pe=p(ee);if(pe){let ne=$/pe.lx;const[Z,he]=L(ie.cx,ie.cy,ne,_),fe=ie.lx/(2*pe.lx),se=ie.lx/(2*pe.ly);switch(_){case wl.Left:case wl.Right:{const oe=be.clamp(Z,-.5+fe,.5-fe);ne=Math.abs(oe-ee.cx);break}case wl.Up:case wl.Down:{const oe=be.clamp(he,-.5+se,.5-se);ne=Math.abs(oe-ee.cy);break}}q.set(ie.id,ne)}break}case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:{const pe=p(ie);if(pe){let ne=!0,Z=$;switch(_){case wl.Left:case wl.Right:{Z=$/pe.lx;break}case wl.Up:case wl.Down:{Z=$/pe.ly;break}}if(ie.type===z.SolarPanel){const[he,fe]=L(ie.cx,ie.cy,Z,_);ne=P(ie,he,fe)}if(ne)q.set(ie.id,Z);else return}break}}U(q,_);const le={name:`Move Selected Elements ${_} By Key`,timestamp:Date.now(),direction:_,movedElementsDisplacementMap:new Map(q),undo:()=>{const ie=W(le.direction);U(le.movedElementsDisplacementMap,ie)},redo:()=>{U(le.movedElementsDisplacementMap,le.direction)}};a(le)}else{F($,_);const q={name:`Move All ${_} By Key`,timestamp:Date.now(),direction:_,displacement:$,undo:()=>{const le=W(q.direction);F(q.displacement,le)},redo:()=>{F(q.displacement,q.direction)}};a(q)}},k=_=>{M.getState().set(J=>{J.multiSelectionsMode=_})},N=_=>{const J=s(),Q=1;switch(_){case"left":B(wl.Left,Q);break;case"shift+left":B(wl.Left,Q/V5);break;case"ctrl+shift+left":case"meta+shift+left":B(wl.Left,Q*V5);break;case"right":B(wl.Right,Q);break;case"shift+right":B(wl.Right,Q/V5);break;case"ctrl+shift+right":case"meta+shift+right":B(wl.Right,Q*V5);break;case"down":B(wl.Down,Q);break;case"shift+down":B(wl.Down,Q/V5);break;case"ctrl+shift+down":case"meta+shift+down":B(wl.Down,Q*V5);break;case"up":B(wl.Up,Q);break;case"shift+up":B(wl.Up,Q/V5);break;case"ctrl+shift+up":case"meta+shift+up":B(wl.Up,Q*V5);break;case"ctrl+[":case"meta+[":QG(.9);break;case"ctrl+]":case"meta+]":QG(1.1);break;case"ctrl+c":case"meta+c":J&&J.type!==z.Roof&&(u(J.id),e(ee=>{ee.selectedElementIdSet.clear(),ee.selectedElementIdSet.add(J.id)}),n&&e(ee=>{ee.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:J.id,elementType:J.type}}));break;case"ctrl+x":case"meta+x":if(!J||J.type===z.Roof)break;if(J.locked)fn(O.t("message.ThisElementIsLocked",b));else{const ee=v(J.id,!0);if(ee.length===0)break;if(be.isElementTriggerAutoDeletion(J))Ln.getState().setListenToAutoDeletionByCut(!0),gt.getState().setPrimitiveStore("selectedElementId",J.id);else{const $={name:"Cut",timestamp:Date.now(),deletedElements:ee,selectedElementId:J.id,undo:()=>{const q=$.deletedElements;if(q.length===0)return;const le=q.find(ie=>ie.id===$.selectedElementId);le&&e(ie=>{if(ie.elements.push(...q),ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(le.id),ie.selectedElement=le,le.type===z.Wall){const pe=le;let ne=null,Z=null;if(pe.leftJoints.length>0&&(ne=pe.leftJoints[0]),pe.rightJoints.length>0&&(Z=pe.rightJoints[0]),ne||Z)for(const he of ie.elements)he.id===ne&&he.type===z.Wall&&(he.rightJoints[0]=pe.id),he.id===Z&&he.type===z.Wall&&(he.leftJoints[0]=pe.id)}})},redo:()=>{$.deletedElements&&$.deletedElements.length>0&&v($.deletedElements[0].id,!0)}};a($)}}break;case"ctrl+v":case"meta+v":{const ee=f();if(ee.length>0){const $={name:"Paste by Key",timestamp:Date.now(),pastedElements:JSON.parse(JSON.stringify(ee)),undo:()=>{for(const q of $.pastedElements)d(q.id,!1)},redo:()=>{e(q=>{q.elements.push(...$.pastedElements),q.selectedElement=$.pastedElements[0]})}};a($)}break}case"ctrl+alt+h":case"ctrl+home":{if(!l){const ee=M.getState().viewState.cameraPosition,$=M.getState().viewState.panCenter;if(ee[0]!==ee[1]||ee[1]!==ee[2]||ee[0]!==ee[2]||$[0]!==0||$[1]!==0||$[2]!==0){const q={name:"Reset View",timestamp:Date.now(),oldCameraPosition:[...ee],oldPanCenter:[...$],undo:()=>{const le=Ln.getState().orbitControlsRef;le!=null&&le.current&&(le.current.object.position.set(q.oldCameraPosition[0],q.oldCameraPosition[1],q.oldCameraPosition[2]),le.current.target.set(q.oldPanCenter[0],q.oldPanCenter[1],q.oldPanCenter[2]),le.current.update(),e(ie=>{const pe=ie.viewState;pe.cameraPosition=[...q.oldCameraPosition],pe.panCenter=[...q.oldPanCenter]}))},redo:()=>{$G()}};a(q),e(le=>{le.objectTypeToAdd=z.None,le.groupActionMode=!1,le.viewState.orthographic=!1}),$G()}}break}case"f2":case"ctrl+b":case"meta+b":S();break;case"ctrl+u":case"meta+u":w();break;case"f4":case"ctrl+m":case"meta+m":T();break;case"ctrl+f":case"meta+f":gt.getState().set(ee=>{ee.createNewFileFlag=!0,ee.openModelsMap=!1}),e(ee=>{ee.objectTypeToAdd=z.None,ee.groupActionMode=!1,window.history.pushState({},document.title,qp),n&&(ee.actionInfo={name:"Create New File",timestamp:new Date().getTime()})});break;case"ctrl+s":case"meta+s":gt.getState().set(ee=>{ee.saveLocalFileDialogVisible=!0}),n&&e(ee=>{ee.actionInfo={name:"Save Local File",timestamp:new Date().getTime()}});break;case"ctrl+shift+o":case"meta+shift+o":gt.getState().set(ee=>{ee.listCloudFilesFlag=!0,ee.openModelsMap=!1}),n&&e(ee=>{ee.actionInfo={name:"List Cloud Files",timestamp:new Date().getTime()}});break;case"ctrl+shift+s":case"meta+shift+s":gt.getState().setSaveCloudFileFlag(!0),n&&e(ee=>{ee.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}});break;case"alt+backspace":case"backspace":case"delete":{const ee=M.getState().selectedElementIdSet;if(!J||ee.size===0)break;const $=M.getState().removeSelectedElements();if($.length===0)break;if((()=>{const le=$.filter(ne=>ne.type===z.Foundation),ie=new Set(le.map(ne=>ne.id));return!!$.find(ne=>!ie.has(ne.parentId)&&be.isElementTriggerAutoDeletion(ne))})())Ln.getState().setListenToAutoDeletionByDelete(!0),gt.getState().setPrimitiveStore("selectedElementId",J.id);else{if($.length===1){const le={name:"Delete",timestamp:Date.now(),deletedElements:[...$],selectedElementId:J.id,undo:()=>{const ie=le.deletedElements;if(!ie||ie.length===0)return;const pe=ie.find(ne=>ne.id===le.selectedElementId);if(pe&&(e(ne=>{ne.elements.push(...ie),ne.selectedElementIdSet.clear(),ne.selectedElementIdSet.add(pe.id),ne.selectedElement=pe,ne.updateWallMapOnFoundationFlag=!ne.updateWallMapOnFoundationFlag,ne.deletedRoofId=null,ne.deletedRoofIdSet.clear()}),pe.type===z.Wall)){const ne=pe;ne.leftJoints.length>0&&y(ne.leftJoints[0],[ne.id]),ne.rightJoints.length>0&&g(ne.rightJoints[0],[ne.id])}},redo:()=>{const ie=le.deletedElements;if(!ie||ie.length===0)return;const pe=ie.find(ne=>ne.id===le.selectedElementId);pe&&v(pe.id,!1)}};a(le)}else{const le={name:"Delete Multiple",timestamp:Date.now(),deletedElements:[...$],selectedElementId:J.id,selectedElementIdSet:new Set(ee),undo(){const ie=this.deletedElements;if(!ie||ie.length===0)return;const pe=ie.find(ne=>ne.id===this.selectedElementId);if(pe){e(ne=>{ne.elements.push(...ie),ne.selectedElement=pe,ne.selectedElementIdSet=new Set(this.selectedElementIdSet),ne.updateWallMapOnFoundationFlag=!ne.updateWallMapOnFoundationFlag,ne.deletedRoofId=null,ne.deletedRoofIdSet.clear()});for(const ne of this.deletedElements)if(ne.type===z.Wall){const Z=ne;Z.leftJoints.length>0&&y(Z.leftJoints[0],[Z.id]),Z.rightJoints.length>0&&g(Z.rightJoints[0],[Z.id])}}},redo(){e(ie=>{ie.selectedElement=ie.elements.find(pe=>pe.id===this.selectedElementId)??null,ie.selectedElementIdSet=new Set(this.selectedElementIdSet)}),M.getState().removeSelectedElements()}};a(le)}e(le=>{le.selectedElement=null,le.selectedElementIdSet.clear()})}break}case"ctrl+z":case"meta+z":if(r.hasUndo()){const ee=r.undo();M.getState().groupActionMode&&e($=>{$.groupActionUpdateFlag=!$.groupActionUpdateFlag}),ee&&fn(O.t("menu.edit.Undo",b)+": "+ee,$V),n&&e($=>{$.actionInfo={name:"Undo",timestamp:new Date().getTime()}})}break;case"ctrl+y":case"meta+y":if(r.hasRedo()){const ee=r.redo();ee&&fn(O.t("menu.edit.Redo",b)+": "+ee,$V),M.getState().groupActionMode&&e($=>{$.groupActionUpdateFlag=!$.groupActionUpdateFlag}),n&&e($=>{$.actionInfo={name:"Redo",timestamp:new Date().getTime()}})}break;case"shift":M.getState().viewState.navigationView&>.getState().set(ee=>{ee.navigationMoveSpeed=5*M.getState().minimumNavigationMoveSpeed,ee.navigationTurnSpeed=5*M.getState().minimumNavigationTurnSpeed}),A(!0);break;case"esc":{const ee=M.getState().addedFoundationId,$=M.getState().addedCuboidId,q=M.getState().addedWallId,le=M.getState().addedWindowId,ie=M.getState().addedDoorId;ee?d(ee,!1):$?d($,!1):q?d(q,!1):le?(d(le,!1),gt.getState().setPrimitiveStore("elementBeingCanceledId",le)):ie&&(d(ie,!1),gt.getState().setPrimitiveStore("elementBeingCanceledId",ie)),e(pe=>{pe.objectTypeToAdd=z.None,pe.actionModeLock=!1,pe.moveHandleType=null,pe.resizeHandleType=null,pe.groupActionMode=!1}),Ln.getState().setEnableOrbitController(!0),o();break}case"ctrl":{k(!0);break}}},j=_=>{switch(_){case"shift":M.getState().viewState.navigationView&>.getState().set(J=>{J.navigationMoveSpeed=M.getState().minimumNavigationMoveSpeed,J.navigationTurnSpeed=M.getState().minimumNavigationTurnSpeed}),A(!1);break;case"ctrl+o":case"meta+o":M.getState().localFileDialogRequested||(gt.getState().set(J=>{J.openLocalFileFlag=!0}),e(J=>{J.localFileDialogRequested=!0,n&&(J.actionInfo={name:"Open Local File",timestamp:new Date().getTime()})}));break;case"ctrl":{k(!1);break}}};m.useEffect(()=>()=>{Y.current=null},[]);const Y=m.useRef(null);return h.jsxs(h.Fragment,{children:[h.jsx(eIe,{handleKeys:nIe,handleEventType:"keydown",onKeyEvent:(_,J)=>{J.preventDefault(),Y.current!==_&&(Y.current=_,N(_))}}),h.jsx(eIe,{handleKeys:nIe,handleEventType:"keyup",onKeyEvent:(_,J)=>{J.preventDefault(),Y.current=null,j(_)}}),h.jsx(S2o,{})]})}),P2o="/aladdin/assets/cloud-B68yt6QG.png",C2o=Se.memo(()=>{const t=M(dn),e=M(swt),{scene:n}=Xi();m.useEffect(()=>{const i=n.children.filter(l=>l.name==="Content"),r=[];if(i.length>0){const l=i[0].children;for(const s of l)o(s,r)}const a=[];for(const l of r)a.push(new pf().setFromObject(l));if(a.length>0){const l=new ae,s=new ae;for(const u of a)l.min(u.min),s.max(u.max);let c=Math.abs(l.x);c{u.aabb=new pf(l,s),!isNaN(c)&&isFinite(c)&&(u.sceneRadius=Math.round(Math.max(10,c*1.25)))})}},[e]);const o=(i,r)=>{if(i.userData.aabb&&r.push(i),i.children.length>0)for(const a of i.children)o(a,r)};return h.jsx(h.Fragment,{})}),dfe=t=>{const e=new ae().subVectors(t.localToWorld(new ae(0,0,1e3)),t.position);return e.x===0&&e.y===0&&t.getWorldDirection(e),e},OT=t=>{const e=document.getElementById("compassCanvas"),n=o=>{gt.getState().set(i=>{i.isCameraUnderGround=o})};if(e){const o=dfe(t).normalize(),r=(Math.atan2(o.y,o.x)+Math.PI/2)/Math.PI*180;e.style.transform=`rotate(${r}deg)`;const a=t.position.z<.001;a&&!gt.getState().isCameraUnderGround?n(!0):!a&>.getState().isCameraUnderGround&&n(!1)}},R2o=Se.memo(()=>{const t=M(dn),e=M(hu),n=M(lAt),o=M(yBe),i=M(AH),r=M(mh),a=M(sAt),l=M(cAt),s=M(hq)??kk,c=M(fq),u=gt(y4t),d=gt(A4t),f=M(YBe),p=gt(VBe),g=c&&!e,y=Math.hypot(a[0],a[1],a[2]),A=(e?l*50:y*10)*r,x=m.useMemo(()=>new ae(-A,-A,0),[A]),C=m.useMemo(()=>new ae(A,A,A/2),[A]),{gl:b,invalidate:v,get:S,set:w,camera:T}=Xi(),P=m.useMemo(()=>{const k=S().camera;return k.up.set(0,0,1),k},[]),R=m.useMemo(()=>b.domElement,[]),H=m.useRef(null),D=m.useRef(null),E=m.useRef(null);m.useEffect(()=>{Ln.setState({canvas:{gl:b,camera:T}}),!e&&D.current&&Ln.setState({canvas:{gl:b,camera:D.current}})},[e]),m.useEffect(()=>{M.getState().viewState.cameraPosition2D[2]<100&&t(k=>{k.viewState.cameraPosition2D[2]=150})},[]),m.useEffect(()=>{H&&H.current&&Ln.setState({orbitControlsRef:H})},[]),m.useEffect(()=>{H.current&&(H.current.addEventListener("change",L),H.current.addEventListener("start",U),H.current.addEventListener("end",F));const k=H.current;return()=>{k&&(k.removeEventListener("change",L),k.removeEventListener("start",U),k.removeEventListener("end",F))}},[g]),m.useEffect(()=>{const k=M.getState().viewState;if(H.current){if(D.current){if(g){const N=S().camera,j=k.cameraPositionNav??[5,-30,1],Y=k.cameraRotationNav??[1.5374753309166491,.16505866097993566,.005476951734475092];N.position.fromArray(j),N.rotation.fromArray([Y[0],Y[1],Y[2],"XYZ"])}else{const N=W(k.cameraPosition??[0,0,20]),j=W(k.panCenter??[0,0,0]);D.current.position.copy(N),D.current.lookAt(j),D.current.zoom=1,e||(H.current.object=D.current,H.current.target.copy(j))}T.updateMatrixWorld(),OT(S().camera)}if(E.current){const N=W(k.cameraPosition2D??[0,0,1e3]).setZ(1e3),j=W(k.panCenter2D??[0,0,0]);E.current.position.copy(N),E.current.rotation.set(0,0,0),E.current.lookAt(j),E.current.zoom=k.cameraZoom,e&&(H.current.object=E.current,H.current.target.copy(j))}}},[i]),m.useEffect(()=>{if(!E.current||!D.current||!H.current)return;const k=M.getState().viewState,N=H.current,j=E.current,Y=D.current;e?(j.rotation.set(0,0,0),N.object=j,N.target.copy(W(k.panCenter2D??[0,0,0])),w({camera:j})):(N.object=Y,N.target.copy(W(k.panCenter??[0,0,0])),w({camera:Y}),OT(S().camera))},[e]),m.useEffect(()=>{e&&H.current&&(E.current&&(E.current.zoom=l,H.current.object=E.current),L(),H.current.update())},[l]);const L=()=>{v(),M.getState().viewState.orthographic||(OT(S().camera),H.current&&H.current.target.clamp(x,C))},U=()=>{gt.getState().set(k=>{k.duringCameraInteraction=!0})},F=()=>{gt.getState().set(k=>{k.duringCameraInteraction=!1}),t(k=>{if(!H.current)return;const N=k.viewState,j=S().camera,Y=j.position,_=H.current.target;N.orthographic?(j.zoom&&!isNaN(j.zoom)?N.cameraZoom=j.zoom:N.cameraZoom=20,N.cameraPosition2D=[Y.x,Y.y,150],N.panCenter2D=[_.x,_.y,_.z]):g?(N.cameraPositionNav=[Y.x,Y.y,Y.z],N.cameraRotationNav=[j.rotation.x,j.rotation.y,j.rotation.z],k.cameraDirection=dfe(j)):(N.cameraPosition=[Y.x,Y.y,Y.z],N.panCenter=[_.x,_.y,_.z],k.cameraDirection=dfe(j))})},W=k=>k&&Array.isArray(k)?new ae(k[0],k[1],k[2]):k&&k.x!==null?new ae(k.x,k.y,k.z):new ae(0,0,5);rA(()=>{o&&H.current&&H.current.update()});const B=Ln(k=>k.compassRef);return m.useEffect(()=>{OT(S().camera)},[B]),m.useEffect(()=>{H.current&&(g&&!p&&!f?H.current.listenToKeyEvents(window):H.current.removeKeyEvents())},[g,p,f]),m.useEffect(()=>{if(!H.current)return;const k=M.getState().viewState;if(g){const N=S().camera,j=k.cameraPositionNav??[5,-30,1],Y=k.cameraRotationNav??[1.5374753309166491,.16505866097993566,.005476951734475092];N.position.fromArray(j),N.rotation.fromArray([Y[0],Y[1],Y[2],"XYZ"]),N.updateMatrixWorld(),OT(S().camera)}else if(H.current&&D.current){const N=W(k.cameraPosition??[0,0,20]),j=W(k.panCenter??[0,0,0]);D.current.position.copy(N),D.current.lookAt(j),D.current.zoom=1,e||(H.current.object=D.current,H.current.target.copy(j)),D.current.updateMatrixWorld(),OT(D.current)}v()},[g]),h.jsxs(h.Fragment,{children:[h.jsx(Y6t,{ref:D,fov:qNe,far:s,up:[0,0,1]}),h.jsx(B6t,{ref:E,up:[0,0,1]}),h.jsx("myOrbitControls",{ref:H,args:[P,R],autoRotate:o,enableRotate:n,enablePan:!0,enableZoom:!0,enableDamping:!1,maxAzimuthAngle:1/0,minAzimuthAngle:-1/0,maxPolarAngle:Vt,minPolarAngle:0,moveSpeed:u??3,turnSpeed:d??3})]})});var ffe={exports:{}},hfe={exports:{}},DF=1e3,EF=DF*60,kF=EF*60,FF=kF*24,H2o=FF*365.25,M2o=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return I2o(t);if(n==="number"&&isNaN(t)===!1)return e.long?D2o(t):z2o(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function I2o(t){if(t=String(t),!(t.length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),o=(e[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return n*H2o;case"days":case"day":case"d":return n*FF;case"hours":case"hour":case"hrs":case"hr":case"h":return n*kF;case"minutes":case"minute":case"mins":case"min":case"m":return n*EF;case"seconds":case"second":case"secs":case"sec":case"s":return n*DF;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function z2o(t){return t>=FF?Math.round(t/FF)+"d":t>=kF?Math.round(t/kF)+"h":t>=EF?Math.round(t/EF)+"m":t>=DF?Math.round(t/DF)+"s":t+"ms"}function D2o(t){return kO(t,FF,"day")||kO(t,kF,"hour")||kO(t,EF,"minute")||kO(t,DF,"second")||t+" ms"}function kO(t,e,n){if(!(t=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}e.formatters.j=function(c){try{return JSON.stringify(c)}catch(u){return"[UnexpectedJSONParseError]: "+u.message}};function i(c){var u=this.useColors;if(c[0]=(u?"%c":"")+this.namespace+(u?" %c":" ")+c[0]+(u?"%c ":" ")+"+"+e.humanize(this.diff),!!u){var d="color: "+this.color;c.splice(1,0,d,"color: inherit");var f=0,p=0;c[0].replace(/%[a-zA-Z%]/g,function(g){g!=="%%"&&(f++,g==="%c"&&(p=f))}),c.splice(p,0,d)}}function r(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(c){try{c==null?e.storage.removeItem("debug"):e.storage.debug=c}catch{}}function l(){var c;try{c=e.storage.debug}catch{}return!c&&typeof process<"u"&&"env"in process&&(c=n.DEBUG),c}e.enable(l());function s(){try{return window.localStorage}catch{}}})(ffe,ffe.exports);var k2o=ffe.exports,oIe=k2o("jsonp"),F2o=N2o,L2o=0;function W2o(){}function N2o(t,e,n){typeof e=="function"&&(n=e,e={}),e||(e={});var o=e.prefix||"__jp",i=e.name||o+L2o++,r=e.param||"callback",a=e.timeout!=null?e.timeout:6e4,l=encodeURIComponent,s=document.getElementsByTagName("script")[0]||document.head,c,u;a&&(u=setTimeout(function(){d(),n&&n(new Error("Timeout"))},a));function d(){c.parentNode&&c.parentNode.removeChild(c),window[i]=W2o,u&&clearTimeout(u)}function f(){window[i]&&d()}return window[i]=function(p){oIe("jsonp got",p),d(),n&&n(null,p)},t+=(~t.indexOf("?")?"&":"?")+r+"="+l(i),t=t.replace("?&","?"),oIe('jsonp req "%s"',t),c=document.createElement("script"),c.src=t,s.parentNode.insertBefore(c,s),f}const tS=kr(F2o);var U2o=Object.defineProperty,B2o=Object.defineProperties,j2o=Object.getOwnPropertyDescriptors,oJ=Object.getOwnPropertySymbols,crt=Object.prototype.hasOwnProperty,urt=Object.prototype.propertyIsEnumerable,iIe=(t,e,n)=>e in t?U2o(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,og=(t,e)=>{for(var n in e||(e={}))crt.call(e,n)&&iIe(t,n,e[n]);if(oJ)for(var n of oJ(e))urt.call(e,n)&&iIe(t,n,e[n]);return t},aee=(t,e)=>B2o(t,j2o(e)),lee=(t,e)=>{var n={};for(var o in t)crt.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&oJ)for(var o of oJ(t))e.indexOf(o)<0&&urt.call(t,o)&&(n[o]=t[o]);return n};function X7(t){return n=>{var o=n,{bgStyle:i={},borderRadius:r=0,iconFillColor:a="white",round:l=!1,size:s=64}=o,c=lee(o,["bgStyle","borderRadius","iconFillColor","round","size"]);return h.jsxs("svg",aee(og({viewBox:"0 0 64 64",width:s,height:s},c),{children:[l?h.jsx("circle",{cx:"32",cy:"32",r:"32",fill:t.color,style:i}):h.jsx("rect",{width:"64",height:"64",rx:r,ry:r,fill:t.color,style:i}),h.jsx("path",{d:t.path,fill:a})]}))}}const Y2o=X7({color:"#7f7f7f",networkName:"email",path:"M17,22v20h30V22H17z M41.1,25L32,32.1L22.9,25H41.1z M20,39V26.6l12,9.3l12-9.3V39H20z"}),O2o=Y2o;function Ks(t){const e=Object.entries(t).filter(([,n])=>n!=null).map(([n,o])=>`${encodeURIComponent(n)}=${encodeURIComponent(String(o))}`);return e.length>0?`?${e.join("&")}`:""}const _2o=t=>!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function",V2o=(t,e)=>({left:window.outerWidth/2+(window.screenX||window.screenLeft||0)-t/2,top:window.outerHeight/2+(window.screenY||window.screenTop||0)-e/2}),G2o=(t,e)=>({top:(window.screen.height-e)/2,left:(window.screen.width-t)/2});function X2o(t,e,n){var o=e,{height:i,width:r}=o,a=lee(o,["height","width"]);const l=og({height:i,width:r,location:"no",toolbar:"no",status:"no",directories:"no",menubar:"no",scrollbars:"yes",resizable:"no",centerscreen:"yes",chrome:"yes"},a),s=window.open(t,"",Object.keys(l).map(c=>`${c}=${l[c]}`).join(", "));if(n){const c=window.setInterval(()=>{try{(s===null||s.closed)&&(window.clearInterval(c),n(s))}catch(u){console.error(u)}},1e3)}return s}function J2o(t){var e=t,{beforeOnClick:n,children:o,className:i,disabled:r,disabledStyle:a={opacity:.6},forwardedRef:l,networkLink:s,networkName:c,onClick:u,onShareWindowClose:d,openShareDialogOnClick:f=!0,opts:p,resetButtonStyle:g=!0,style:y,url:A,windowHeight:x=400,windowPosition:C="windowCenter",windowWidth:b=550}=e,v=lee(e,["beforeOnClick","children","className","disabled","disabledStyle","forwardedRef","networkLink","networkName","onClick","onShareWindowClose","openShareDialogOnClick","opts","resetButtonStyle","style","url","windowHeight","windowPosition","windowWidth"]);const S=async P=>{const R=s(A,p);if(!r){if(P.preventDefault(),n){const H=n();_2o(H)&&await H}if(f){const H=og({height:x,width:b},C==="windowCenter"?V2o(b,x):G2o(b,x));X2o(R,H,d)}u&&u(P,R)}},w=Vn("react-share__ShareButton",{"react-share__ShareButton--disabled":!!r,disabled:!!r},i),T=og(og(g?{backgroundColor:"transparent",border:"none",padding:0,font:"inherit",color:"inherit",cursor:"pointer"}:{},y),r&&a);return h.jsx("button",aee(og({},v),{className:w,onClick:S,ref:l,style:T,children:o}))}function A0(t,e,n,o){function i(r,a){const l=n(r),s=og({},r);return Object.keys(l).forEach(u=>{delete s[u]}),h.jsx(J2o,aee(og(og({},o),s),{forwardedRef:a,networkName:t,networkLink:e,opts:n(r)}))}return i.displayName=`ShareButton-${t}`,m.forwardRef(i)}function K2o(t,{subject:e,body:n,separator:o}){return"mailto:"+Ks({subject:e,body:n?n+o+t:t})}const q2o=A0("email",K2o,t=>({subject:t.subject,body:t.body,separator:t.separator||" "}),{openShareDialogOnClick:!1,onClick:(t,e)=>{window.location.href=e}}),$2o=q2o,Q2o=X7({color:"#0965FE",networkName:"facebook",path:"M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z"}),Z2o=Q2o;function e5o(t,{appId:e,redirectUri:n,to:o}){return"https://www.facebook.com/dialog/send"+Ks({link:t,redirect_uri:n||t,app_id:e,to:o})}A0("facebookmessenger",e5o,t=>({appId:t.appId,redirectUri:t.redirectUri,to:t.to}),{windowWidth:1e3,windowHeight:820});class t5o extends Error{constructor(e){super(e),this.name="AssertionError"}}function r0(t,e){if(!t)throw new t5o(e)}function n5o(t,{hashtag:e}){return r0(t,"facebook.url"),"https://www.facebook.com/sharer/sharer.php"+Ks({u:t,hashtag:e})}const o5o=A0("facebook",n5o,t=>({hashtag:t.hashtag}),{windowWidth:550,windowHeight:400}),i5o=o5o;function r5o(){const t=m.useRef(!1);return m.useEffect(()=>(t.current=!0,()=>{t.current=!1}),[]),m.useCallback(()=>t.current,[])}function a5o(t){var e=t,{children:n=f=>f,className:o,getCount:i,url:r}=e,a=lee(e,["children","className","getCount","url"]);const l=r5o(),[s,c]=m.useState(void 0),[u,d]=m.useState(!1);return m.useEffect(()=>{d(!0),i(r,f=>{l()&&(c(f),d(!1))})},[r]),h.jsx("span",aee(og({className:Vn("react-share__ShareCount",o)},a),{children:!u&&s!==void 0&&n(s)}))}function nS(t){const e=n=>h.jsx(a5o,og({getCount:t},n));return e.displayName=`ShareCount(${t.name})`,e}function l5o(t,e){const n=`https://graph.facebook.com/?id=${t}&fields=og_object{engagement}`;tS(n,(o,i)=>{e(!o&&i&&i.og_object&&i.og_object.engagement?i.og_object.engagement.count:void 0)})}nS(l5o);function s5o(t,{title:e}){return r0(t,"hatena.url"),`http://b.hatena.ne.jp/add?mode=confirm&url=${t}&title=${e}`}A0("hatena",s5o,t=>({title:t.title}),{windowWidth:660,windowHeight:460,windowPosition:"windowCenter"});function c5o(t,e){tS("https://bookmark.hatenaapis.com/count/entry"+Ks({url:t}),(o,i)=>{e(i??void 0)})}nS(c5o);function u5o(t,{title:e,description:n}){return r0(t,"instapaper.url"),"http://www.instapaper.com/hello2"+Ks({url:t,title:e,description:n})}A0("instapaper",u5o,t=>({title:t.title,description:t.description}),{windowWidth:500,windowHeight:500,windowPosition:"windowCenter"});const d5o=X7({color:"#00b800",networkName:"line",path:"M52.62 30.138c0 3.693-1.432 7.019-4.42 10.296h.001c-4.326 4.979-14 11.044-16.201 11.972-2.2.927-1.876-.591-1.786-1.112l.294-1.765c.069-.527.142-1.343-.066-1.865-.232-.574-1.146-.872-1.817-1.016-9.909-1.31-17.245-8.238-17.245-16.51 0-9.226 9.251-16.733 20.62-16.733 11.37 0 20.62 7.507 20.62 16.733zM27.81 25.68h-1.446a.402.402 0 0 0-.402.401v8.985c0 .221.18.4.402.4h1.446a.401.401 0 0 0 .402-.4v-8.985a.402.402 0 0 0-.402-.401zm9.956 0H36.32a.402.402 0 0 0-.402.401v5.338L31.8 25.858a.39.39 0 0 0-.031-.04l-.002-.003-.024-.025-.008-.007a.313.313 0 0 0-.032-.026.255.255 0 0 1-.021-.014l-.012-.007-.021-.012-.013-.006-.023-.01-.013-.005-.024-.008-.014-.003-.023-.005-.017-.002-.021-.003-.021-.002h-1.46a.402.402 0 0 0-.402.401v8.985c0 .221.18.4.402.4h1.446a.401.401 0 0 0 .402-.4v-5.337l4.123 5.568c.028.04.063.072.101.099l.004.003a.236.236 0 0 0 .025.015l.012.006.019.01a.154.154 0 0 1 .019.008l.012.004.028.01.005.001a.442.442 0 0 0 .104.013h1.446a.4.4 0 0 0 .401-.4v-8.985a.402.402 0 0 0-.401-.401zm-13.442 7.537h-3.93v-7.136a.401.401 0 0 0-.401-.401h-1.447a.4.4 0 0 0-.401.401v8.984a.392.392 0 0 0 .123.29c.072.068.17.111.278.111h5.778a.4.4 0 0 0 .401-.401v-1.447a.401.401 0 0 0-.401-.401zm21.429-5.287c.222 0 .401-.18.401-.402v-1.446a.401.401 0 0 0-.401-.402h-5.778a.398.398 0 0 0-.279.113l-.005.004-.006.008a.397.397 0 0 0-.111.276v8.984c0 .108.043.206.112.278l.005.006a.401.401 0 0 0 .284.117h5.778a.4.4 0 0 0 .401-.401v-1.447a.401.401 0 0 0-.401-.401h-3.93v-1.519h3.93c.222 0 .401-.18.401-.402V29.85a.401.401 0 0 0-.401-.402h-3.93V27.93h3.93z"}),f5o=d5o;function h5o(t,{title:e}){return r0(t,"line.url"),"https://social-plugins.line.me/lineit/share"+Ks({url:t,text:e})}const p5o=A0("line",h5o,t=>({title:t.title}),{windowWidth:500,windowHeight:500}),g5o=p5o,m5o=X7({color:"#0077B5",networkName:"linkedin",path:"M20.4,44h5.4V26.6h-5.4V44z M23.1,18c-1.7,0-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3.1,3.1 c1.7,0,3.1-1.4,3.1-3.1C26.2,19.4,24.8,18,23.1,18z M39.5,26.2c-2.6,0-4.4,1.4-5.1,2.8h-0.1v-2.4h-5.2V44h5.4v-8.6 c0-2.3,0.4-4.5,3.2-4.5c2.8,0,2.8,2.6,2.8,4.6V44H46v-9.5C46,29.8,45,26.2,39.5,26.2z"}),y5o=m5o;function A5o(t,{title:e,summary:n,source:o}){return r0(t,"linkedin.url"),"https://linkedin.com/shareArticle"+Ks({url:t,mini:"true",title:e,summary:n,source:o})}const w5o=A0("linkedin",A5o,({title:t,summary:e,source:n})=>({title:t,summary:e,source:n}),{windowWidth:750,windowHeight:600}),v5o=w5o;function x5o(t,{title:e,description:n}){return r0(t,"livejournal.url"),"https://www.livejournal.com/update.bml"+Ks({subject:e,event:n})}A0("livejournal",x5o,t=>({title:t.title,description:t.description}),{windowWidth:660,windowHeight:460});function b5o(t,{title:e,description:n,imageUrl:o}){return r0(t,"mailru.url"),"https://connect.mail.ru/share"+Ks({url:t,title:e,description:n,image_url:o})}A0("mailru",b5o,t=>({title:t.title,description:t.description,imageUrl:t.imageUrl}),{windowWidth:660,windowHeight:460});function S5o(t,{title:e,description:n,image:o}){return r0(t,"ok.url"),"https://connect.ok.ru/offer"+Ks({url:t,title:e,description:n,imageUrl:o})}A0("ok",S5o,t=>({title:t.title,description:t.description,image:t.image}),{windowWidth:588,windowHeight:480,windowPosition:"screenCenter"});function T5o(t,e){window.OK||(window.OK={Share:{count:function(r,a){var l,s;(s=(l=window.OK.callbacks)[r])==null||s.call(l,a)}},callbacks:[]});const n="https://connect.ok.ru/dk",o=window.OK.callbacks.length;return window.ODKL={updateCount(i,r){var a,l;const s=i===""?0:parseInt(i.replace("react-share-",""),10);(l=(a=window.OK.callbacks)[s])==null||l.call(a,r===""?void 0:parseInt(r,10))}},window.OK.callbacks.push(e),tS(n+Ks({"st.cmd":"extLike",uid:`react-share-${o}`,ref:t}))}nS(T5o);function P5o(t,{media:e,description:n,pinId:o}){return o?`https://pinterest.com/pin/${o}/repin/x/`:(r0(t,"pinterest.url"),r0(e,"pinterest.media"),"https://pinterest.com/pin/create/button/"+Ks({url:t,media:e,description:n}))}A0("pinterest",P5o,t=>({media:t.media,description:t.description,pinId:t.pinId}),{windowWidth:1e3,windowHeight:730});function C5o(t,e){tS("https://api.pinterest.com/v1/urls/count.json"+Ks({url:t}),(o,i)=>{e(i?i.count:void 0)})}nS(C5o);function R5o(t,{title:e}){return r0(t,"pocket.url"),"https://getpocket.com/save"+Ks({url:t,title:e})}A0("pocket",R5o,t=>({title:t.title}),{windowWidth:500,windowHeight:500});const H5o=X7({color:"#FF5700",networkName:"reddit",path:"M 53.34375 32 C 53.277344 30.160156 52.136719 28.53125 50.429688 27.839844 C 48.722656 27.148438 46.769531 27.523438 45.441406 28.800781 C 41.800781 26.324219 37.519531 24.957031 33.121094 24.863281 L 35.199219 14.878906 L 42.046875 16.320312 C 42.214844 17.882812 43.496094 19.09375 45.066406 19.171875 C 46.636719 19.253906 48.03125 18.183594 48.359375 16.644531 C 48.6875 15.105469 47.847656 13.558594 46.382812 12.992188 C 44.914062 12.425781 43.253906 13.007812 42.464844 14.367188 L 34.625 12.800781 C 34.363281 12.742188 34.09375 12.792969 33.871094 12.9375 C 33.648438 13.082031 33.492188 13.308594 33.441406 13.566406 L 31.070312 24.671875 C 26.617188 24.738281 22.277344 26.105469 18.59375 28.609375 C 17.242188 27.339844 15.273438 26.988281 13.570312 27.707031 C 11.863281 28.429688 10.746094 30.089844 10.71875 31.941406 C 10.691406 33.789062 11.757812 35.484375 13.441406 36.257812 C 13.402344 36.726562 13.402344 37.195312 13.441406 37.664062 C 13.441406 44.832031 21.792969 50.65625 32.097656 50.65625 C 42.398438 50.65625 50.753906 44.832031 50.753906 37.664062 C 50.789062 37.195312 50.789062 36.726562 50.753906 36.257812 C 52.363281 35.453125 53.371094 33.800781 53.34375 32 Z M 21.34375 35.199219 C 21.34375 33.433594 22.777344 32 24.542969 32 C 26.3125 32 27.742188 33.433594 27.742188 35.199219 C 27.742188 36.96875 26.3125 38.398438 24.542969 38.398438 C 22.777344 38.398438 21.34375 36.96875 21.34375 35.199219 Z M 39.9375 44 C 37.664062 45.710938 34.871094 46.582031 32.03125 46.464844 C 29.191406 46.582031 26.398438 45.710938 24.128906 44 C 23.847656 43.65625 23.871094 43.15625 24.183594 42.839844 C 24.5 42.527344 25 42.503906 25.34375 42.785156 C 27.269531 44.195312 29.617188 44.90625 32 44.800781 C 34.386719 44.929688 36.746094 44.242188 38.6875 42.847656 C 39.042969 42.503906 39.605469 42.511719 39.953125 42.863281 C 40.296875 43.21875 40.289062 43.785156 39.9375 44.128906 Z M 39.359375 38.527344 C 37.59375 38.527344 36.160156 37.09375 36.160156 35.328125 C 36.160156 33.5625 37.59375 32.128906 39.359375 32.128906 C 41.128906 32.128906 42.558594 33.5625 42.558594 35.328125 C 42.59375 36.203125 42.269531 37.054688 41.65625 37.6875 C 41.046875 38.316406 40.203125 38.664062 39.328125 38.65625 Z M 39.359375 38.527344"}),M5o=H5o;function I5o(t,{title:e}){return r0(t,"reddit.url"),"https://www.reddit.com/submit"+Ks({url:t,title:e})}const z5o=A0("reddit",I5o,t=>({title:t.title}),{windowWidth:660,windowHeight:460,windowPosition:"windowCenter"}),D5o=z5o;function E5o(t,{title:e}){return r0(t,"gab.url"),"https://gab.com/compose"+Ks({url:t,text:e})}A0("gab",E5o,t=>({title:t.title}),{windowWidth:660,windowHeight:640,windowPosition:"windowCenter"});function k5o(t,e){const n=`https://www.reddit.com/api/info.json?limit=1&url=${t}`;tS(n,{param:"jsonp"},(o,i)=>{e(!o&&i&&i.data&&i.data.children.length>0&&i.data.children[0].data.score?i.data.children[0].data.score:void 0)})}nS(k5o);const F5o=X7({color:"#25A3E3",networkName:"telegram",path:"m45.90873,15.44335c-0.6901,-0.0281 -1.37668,0.14048 -1.96142,0.41265c-0.84989,0.32661 -8.63939,3.33986 -16.5237,6.39174c-3.9685,1.53296 -7.93349,3.06593 -10.98537,4.24067c-3.05012,1.1765 -5.34694,2.05098 -5.4681,2.09312c-0.80775,0.28096 -1.89996,0.63566 -2.82712,1.72788c-0.23354,0.27218 -0.46884,0.62161 -0.58825,1.10275c-0.11941,0.48114 -0.06673,1.09222 0.16682,1.5716c0.46533,0.96052 1.25376,1.35737 2.18443,1.71383c3.09051,0.99037 6.28638,1.93508 8.93263,2.8236c0.97632,3.44171 1.91401,6.89571 2.84116,10.34268c0.30554,0.69185 0.97105,0.94823 1.65764,0.95525l-0.00351,0.03512c0,0 0.53908,0.05268 1.06412,-0.07375c0.52679,-0.12292 1.18879,-0.42846 1.79109,-0.99212c0.662,-0.62161 2.45836,-2.38812 3.47683,-3.38552l7.6736,5.66477l0.06146,0.03512c0,0 0.84989,0.59703 2.09312,0.68132c0.62161,0.04214 1.4399,-0.07726 2.14229,-0.59176c0.70766,-0.51626 1.1765,-1.34683 1.396,-2.29506c0.65673,-2.86224 5.00979,-23.57745 5.75257,-27.00686l-0.02107,0.08077c0.51977,-1.93157 0.32837,-3.70159 -0.87096,-4.74991c-0.60054,-0.52152 -1.2924,-0.7498 -1.98425,-0.77965l0,0.00176zm-0.2072,3.29069c0.04741,0.0439 0.0439,0.0439 0.00351,0.04741c-0.01229,-0.00351 0.14048,0.2072 -0.15804,1.32576l-0.01229,0.04214l-0.00878,0.03863c-0.75858,3.50668 -5.15554,24.40802 -5.74203,26.96472c-0.08077,0.34417 -0.11414,0.31959 -0.09482,0.29852c-0.1756,-0.02634 -0.50045,-0.16506 -0.52679,-0.1756l-13.13468,-9.70175c4.4988,-4.33199 9.09945,-8.25307 13.744,-12.43229c0.8218,-0.41265 0.68483,-1.68573 -0.29852,-1.70681c-1.04305,0.24584 -1.92279,0.99564 -2.8798,1.47502c-5.49971,3.2626 -11.11882,6.13186 -16.55882,9.49279c-2.792,-0.97105 -5.57873,-1.77704 -8.15298,-2.57601c2.2336,-0.89555 4.00889,-1.55579 5.75608,-2.23009c3.05188,-1.1765 7.01687,-2.7042 10.98537,-4.24067c7.94051,-3.06944 15.92667,-6.16346 16.62028,-6.43037l0.05619,-0.02283l0.05268,-0.02283c0.19316,-0.0878 0.30378,-0.09658 0.35471,-0.10009c0,0 -0.01756,-0.05795 -0.00351,-0.04566l-0.00176,0zm-20.91715,22.0638l2.16687,1.60145c-0.93418,0.91311 -1.81743,1.77353 -2.45485,2.38812l0.28798,-3.98957"}),L5o=F5o;function W5o(t,{title:e}){return r0(t,"telegram.url"),"https://telegram.me/share/url"+Ks({url:t,text:e})}const N5o=A0("telegram",W5o,t=>({title:t.title}),{windowWidth:550,windowHeight:400}),U5o=N5o;function B5o(t,{title:e,caption:n,tags:o,posttype:i}){return r0(t,"tumblr.url"),"https://www.tumblr.com/widgets/share/tool"+Ks({canonicalUrl:t,title:e,caption:n,tags:o,posttype:i})}A0("tumblr",B5o,t=>({title:t.title,tags:(t.tags||[]).join(","),caption:t.caption,posttype:t.posttype||"link"}),{windowWidth:660,windowHeight:460});function j5o(t,e){return tS("https://api.tumblr.com/v2/share/stats"+Ks({url:t}),(o,i)=>{e(!o&&i&&i.response?i.response.note_count:void 0)})}nS(j5o);function Y5o(t,{title:e,via:n,hashtags:o=[],related:i=[]}){return r0(t,"twitter.url"),r0(Array.isArray(o),"twitter.hashtags is not an array"),r0(Array.isArray(i),"twitter.related is not an array"),"https://twitter.com/intent/tweet"+Ks({url:t,text:e,via:n,hashtags:o.length>0?o.join(","):void 0,related:i.length>0?i.join(","):void 0})}const O5o=A0("twitter",Y5o,t=>({hashtags:t.hashtags,title:t.title,via:t.via,related:t.related}),{windowWidth:550,windowHeight:400}),_5o=O5o;function V5o(t,{title:e,separator:n}){return r0(t,"viber.url"),"viber://forward"+Ks({text:e?e+n+t:t})}A0("viber",V5o,t=>({title:t.title,separator:t.separator||" "}),{windowWidth:660,windowHeight:460});function G5o(t,{title:e,image:n,noParse:o,noVkLinks:i}){return r0(t,"vk.url"),"https://vk.com/share.php"+Ks({url:t,title:e,image:n,noparse:o?1:0,no_vk_links:i?1:0})}A0("vk",G5o,t=>({title:t.title,image:t.image,noParse:t.noParse,noVkLinks:t.noVkLinks}),{windowWidth:660,windowHeight:460});function X5o(t,e){window.VK||(window.VK={}),window.VK.Share={count:(i,r)=>{var a,l;return(l=(a=window.VK.callbacks)==null?void 0:a[i])==null?void 0:l.call(a,r)}},window.VK.callbacks=[];const n="https://vk.com/share.php",o=window.VK.callbacks.length;return window.VK.callbacks.push(e),tS(n+Ks({act:"count",index:o,url:t}))}nS(X5o);function J5o(t,{title:e,image:n}){return r0(t,"weibo.url"),"http://service.weibo.com/share/share.php"+Ks({url:t,title:e,pic:n})}A0("weibo",J5o,t=>({title:t.title,image:t.image}),{windowWidth:660,windowHeight:550,windowPosition:"screenCenter"});const K5o=X7({color:"#25D366",networkName:"whatsapp",path:"m42.32286,33.93287c-0.5178,-0.2589 -3.04726,-1.49644 -3.52105,-1.66732c-0.4712,-0.17346 -0.81554,-0.2589 -1.15987,0.2589c-0.34175,0.51004 -1.33075,1.66474 -1.63108,2.00648c-0.30032,0.33658 -0.60064,0.36247 -1.11327,0.12945c-0.5178,-0.2589 -2.17994,-0.80259 -4.14759,-2.56312c-1.53269,-1.37217 -2.56312,-3.05503 -2.86603,-3.57283c-0.30033,-0.5178 -0.03366,-0.80259 0.22524,-1.06149c0.23301,-0.23301 0.5178,-0.59547 0.7767,-0.90616c0.25372,-0.31068 0.33657,-0.5178 0.51262,-0.85437c0.17088,-0.36246 0.08544,-0.64725 -0.04402,-0.90615c-0.12945,-0.2589 -1.15987,-2.79613 -1.58964,-3.80584c-0.41424,-1.00971 -0.84142,-0.88027 -1.15987,-0.88027c-0.29773,-0.02588 -0.64208,-0.02588 -0.98382,-0.02588c-0.34693,0 -0.90616,0.12945 -1.37736,0.62136c-0.4712,0.5178 -1.80194,1.76053 -1.80194,4.27186c0,2.51134 1.84596,4.945 2.10227,5.30747c0.2589,0.33657 3.63497,5.51458 8.80262,7.74113c1.23237,0.5178 2.1903,0.82848 2.94111,1.08738c1.23237,0.38836 2.35599,0.33657 3.24402,0.20712c0.99159,-0.15534 3.04985,-1.24272 3.47963,-2.45956c0.44013,-1.21683 0.44013,-2.22654 0.31068,-2.45955c-0.12945,-0.23301 -0.46601,-0.36247 -0.98382,-0.59548m-9.40068,12.84407l-0.02589,0c-3.05503,0 -6.08417,-0.82849 -8.72495,-2.38189l-0.62136,-0.37023l-6.47252,1.68286l1.73463,-6.29129l-0.41424,-0.64725c-1.70875,-2.71846 -2.6149,-5.85116 -2.6149,-9.07706c0,-9.39809 7.68934,-17.06155 17.15993,-17.06155c4.58253,0 8.88029,1.78642 12.11655,5.02268c3.23625,3.21036 5.02267,7.50812 5.02267,12.06476c-0.0078,9.3981 -7.69712,17.06155 -17.14699,17.06155m14.58906,-31.58846c-3.93529,-3.80584 -9.1133,-5.95471 -14.62789,-5.95471c-11.36055,0 -20.60848,9.2065 -20.61625,20.52564c0,3.61684 0.94757,7.14565 2.75211,10.26282l-2.92557,10.63564l10.93337,-2.85309c3.0136,1.63108 6.4052,2.4958 9.85634,2.49839l0.01037,0c11.36574,0 20.61884,-9.2091 20.62403,-20.53082c0,-5.48093 -2.14111,-10.64081 -6.03239,-14.51915"}),q5o=K5o;function $5o(){return/(android|iphone|ipad|mobile)/i.test(navigator.userAgent)}function Q5o(t,{title:e,separator:n}){return r0(t,"whatsapp.url"),"https://"+($5o()?"api":"web")+".whatsapp.com/send"+Ks({text:e?e+n+t:t})}const Z5o=A0("whatsapp",Q5o,t=>({title:t.title,separator:t.separator||" "}),{windowWidth:550,windowHeight:400}),e9o=Z5o;function t9o(t,{quote:e,hashtag:n}){return r0(t,"workplace.url"),"https://work.facebook.com/sharer.php"+Ks({u:t,quote:e,hashtag:n})}A0("workplace",t9o,t=>({quote:t.quote,hashtag:t.hashtag}),{windowWidth:550,windowHeight:400});const n9o=X7({color:"#000000",networkName:"X",path:"M 41.116 18.375 h 4.962 l -10.8405 12.39 l 12.753 16.86 H 38.005 l -7.821 -10.2255 L 21.235 47.625 H 16.27 l 11.595 -13.2525 L 15.631 18.375 H 25.87 l 7.0695 9.3465 z m -1.7415 26.28 h 2.7495 L 24.376 21.189 H 21.4255 z"}),o9o=n9o,i9o=Ho.div` display: flex; flex-direction: column; z-index: 999; -`,l9o=Se.memo(({style:t,size:e,margin:n,round:o,handleShareWindowClose:i})=>{const r=M(Eg),a=M(yH),s=new URLSearchParams(window.location.search).get("userid"),c=Kt(),u=a??O.t("name.Tagline",c),d="aladdinIFI "+(a?O.t("name.Tagline",c):"");let f=Sg;return a&&(s?f+="?client=web&userid="+s+"&title="+encodeURIComponent(a):r.uid&&(f+="?client=web&userid="+r.uid+"&title="+encodeURIComponent(a))),h.jsxs(a9o,{style:t,children:[h.jsx(Z2o,{url:f,subject:u,children:h.jsx(V2o,{size:e,round:o})}),h.jsx(G5o,{url:f,title:u,via:d,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(r9o,{size:e,round:o})}),h.jsx(a5o,{url:f,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(t5o,{size:e,round:o})}),h.jsx(k5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(z5o,{size:e,round:o})}),h.jsx(j5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(N5o,{size:e,round:o})}),h.jsx(y5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(p5o,{size:e,round:o})}),h.jsx(b5o,{url:f,title:u,summary:d,source:O.t("name.IFI",c),style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(w5o,{size:e,round:o})}),h.jsx(n9o,{url:f,title:u,separator:":: ",onShareWindowClose:i,children:h.jsx(Q5o,{size:e,round:o})})]})});class nC{constructor(e,n,o){if(this.fitness=Number.NaN,this.chromosome=new Array(e),this.discretizationSteps=o,n)if(o)for(let i=0;ie.fitness?1:this.fitness=this.chromosome.length)throw new Error("Gene index out of bound: "+e);this.chromosome[e]=n}getGene(e){if(e<0||e>=this.chromosome.length)throw new Error("Gene index out of bound: "+e);return this.chromosome[e]}copyGenes(e){const n=Math.min(this.chromosome.length,e.chromosome.length);for(let o=0;on.compare(e))}getNicheCount(e,n){let o=0;for(const i of this.individuals){const r=e.distance(i);let a=0;re&&(e=o.fitness,n=o);return n}evolve(e,n){this.selectSurvivors(e),this.crossover(n)}selectSurvivors(e){this.survivors=[],this.sort();const n=Math.floor(e*this.individuals.length);for(let o=0;o=i){o=l;break}let a=null;do{i=Math.random()*n,r=0;for(const l of this.survivors)if(r+=l.fitness-e,r>=i){l!==o&&(a=l);break}}while(a===null);return o&&a?new rIe(o,a):null}selectParentsByTournament(){const e=this.survivors.length;if(e<=1)throw new Error("Must have at least two survivors to be used as parents");const n=e-1;let o=Math.floor(Math.random()*n),i;do i=Math.floor(Math.random()*n);while(i===o);const r=this.survivors[o].fitness>this.survivors[i].fitness?o:i;o=Math.floor(Math.random()*n);do i=Math.floor(Math.random()*n);while(i===o);let a=this.survivors[o].fitness>this.survivors[i].fitness?o:i;for(;a===r;){o=Math.floor(Math.random()*n);do i=Math.floor(Math.random()*n);while(i===o);a=this.survivors[o].fitness>this.survivors[i].fitness?o:i}return new rIe(this.survivors[r],this.survivors[a])}mutate(e){if(be.isZero(e))return;let n=Math.floor(e*(this.individuals.length-1));for(n===0?n=1:n===this.individuals.length-1&&(n=this.individuals.length-2),this.mutants=[];this.mutants.lengthe)return!1}return!0}}class drt{constructor(e,n,o,i,r,a,l,s,c,u){this.fitnessSharingRadius=.1,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.localSearchRadius=.1,this.constraints=[],this.stopped=!0,this.mutationRate=.1,this.crossoverRate=.5,this.selectionRate=.5,this.maximumGenerations=5,this.fittestOfGenerations=[],this.populationOfGenerations=[],this.outsideGenerationCounter=0,this.computeCounter=0,this.converged=!1,this.population=new aIe(o,r,a,u),this.objectiveFunctionType=n,this.convergenceThreshold=l,this.maximumGenerations=i,this.searchMethod=s,this.localSearchRadius=c,this.geneNames=new Array(r),this.foundation=e;const d=e.cx,f=e.cy,p=e.lx,g=e.ly;this.minima=new Array(r),this.maxima=new Array(r);for(let y=0;y=this.maximumGenerations}}class LF{static gaussian(){let e=0,n=0;for(;e===0;)e=Math.random();for(;n===0;)n=Math.random();return Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*n)}static twoGaussians(){let e=0,n=0;for(;e===0;)e=Math.random();for(;n===0;)n=Math.random();const o=new Array(2),i=Math.sqrt(-2*Math.log(e)),r=2*Math.PI*n;return o[0]=i*Math.cos(r),o[1]=i*Math.sin(r),o}static poisson(e){let n=0,o=Math.exp(-e),i=o;const r=Math.random();for(;r>i;)n++,o*=e/n,i+=o;return n}}class WF extends drt{constructor(e,n,o,i,r,a,l,s,c){super(n,o,i,r,e.length,a,l,s,c),this.solarPanels=e;const u=this.population.individuals[0];for(const[d,f]of e.entries()){const p=.5*(1+f.tiltAngle/Vt);if(u.setGene(d,p),this.searchMethod===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)for(let g=1;g1;)A=LF.gaussian()*this.localSearchRadius+p;y.setGene(d,A)}this.geneNames[d]="Tilt Angle ("+f.id+")"}}applyFittest(){const e=this.population.getFittest();if(e){for(let n=0;n{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=gt(K2),r=gt(wq),a=M(Z9),l=M(Q9),s=M(zq),c=gt(vq),u=M(uW),d=M(Dq),f=M(pA).geneticAlgorithmParams,p=Kt(),g=m.useRef(0),y=m.useRef(!1),A=m.useRef(!1),x=m.useRef(),C=m.useRef(),b=m.useRef(0),v=m.useRef(!1),S=m.useRef([]);m.useEffect(()=>{if(f.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&o===Bs.GENETIC_ALGORITHM&&i){w(),g.current=requestAnimationFrame(P);const D=[...S.current];return()=>{cancelAnimationFrame(g.current),y.current||(fn(O.t("message.EvolutionAborted",p)),gt.getState().set(E=>{E.evolutionInProgress=!1}),D.length>0&&(x.current=D,R(!0)))}}},[i]),m.useEffect(()=>{A.current=r,r?(cancelAnimationFrame(g.current),gt.getState().set(D=>{D.evolutionPaused=!0}),fn(O.t("message.EvolutionPaused",p))):(gt.getState().set(D=>{D.evolutionPaused=!1}),P())},[r]);const w=()=>{if(!a)return;gt.getState().set(L=>{L.evolutionInProgress=!0,L.objectiveEvaluationIndex=0}),y.current=!1;const D=l(z.SolarPanel,a.id);S.current.length=0;for(const L of D)S.current.push(JSON.parse(JSON.stringify(L)));x.current=[];const E=[];for(const L of D)x.current.push(JSON.parse(JSON.stringify(L))),E.push(L.label);x.current.length>0?(C.current=new WF(x.current,a,f.objectiveFunctionType,f.populationSize,f.maximumGenerations,f.selectionMethod,f.convergenceThreshold,f.searchMethod,f.localSearchRadius),C.current.selectionRate=f.selectionRate,C.current.crossoverRate=f.crossoverRate,C.current.mutationRate=f.mutationRate,b.current=0,v.current=!1,d(E),C.current.startEvolving(),t(L=>{L.viewState.showEvolutionPanel=!0,L.selectedFloatingWindow="solarPanelOptimizationResult"})):Lo(O.t("message.EncounterEvolutionError",p))},T=()=>{let D=0;switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:{const E=bn.getState().dailyPvYield;for(const L of E)for(const U in L)Object.hasOwn(L,U)&&U==="Total"&&(D+=L[U]);break}case xo.YEARLY_TOTAL_OUTPUT:{const E=bn.getState().yearlyPvYield;for(const L of E)for(const U in L)Object.hasOwn(L,U)&&U==="Total"&&(D+=L[U]);D*=12/n;break}}return D};m.useEffect(()=>{!C.current||!c||(v.current=C.current.evolveIndividual(b.current%f.populationSize,T()),H(),b.current++,C.current.outsideGenerationCounter=Math.floor(b.current/f.populationSize),g.current=requestAnimationFrame(P))},[c]);const P=()=>{if(C.current&&o===Bs.GENETIC_ALGORITHM&&i&&!A.current){if(v.current||C.current.outsideGenerationCounter>=f.maximumGenerations){if(cancelAnimationFrame(g.current),y.current=!0,C.current.applyFittest(),H(),R(!0),fn(O.t("message.EvolutionCompleted",p)+` -`+(v.current?O.t("message.ConvergenceThresholdHasBeenReached",p):O.t("message.MaximumNumberOfGenerationsHasBeenReached",p))),e&&C.current){const D=C.current.population.getFittest();D&&t(E=>{var L;E.actionInfo={name:"Genetic Algorithm for Solar Panel Tilt Angle Completed",result:WF.individualToString(D),steps:(L=C.current)==null?void 0:L.outsideGenerationCounter,timestamp:new Date().getTime()}})}return}C.current.translateIndividual(b.current%f.populationSize),R(!1)}},R=D=>{gt.getState().set(E=>{if(x.current)switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:D?E.runDailySimulationForSolarPanelsLastStep=!0:E.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:D?E.runYearlySimulationForSolarPanelsLastStep=!0:E.runYearlySimulationForSolarPanels=!0;break;default:Lo(O.t("message.ObjectiveFunctionTypeError",p),60)}}),t(E=>{if(x.current){switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:E.graphState&&(E.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:E.graphState&&(E.graphState.yearlyPvIndividualOutputs=!1);break;default:Lo(O.t("message.ObjectiveFunctionTypeError",p),60)}for(const L of E.elements)if(L.type===z.SolarPanel){const U=L;for(const F of x.current)if(U.id===F.id){U.tiltAngle=F.tiltAngle;break}}}}),D&>.getState().set(E=>{E.runEvolution=!1,E.evolutionInProgress=!1,E.objectiveEvaluationIndex=0})},H=()=>{var E;if(!C.current)return;const D=[];for(let L=0;L0){const B=C.current.populationOfGenerations[L-1];if(B){let k=0;for(let N=0;N0&&D.push(U)}s(D)};return h.jsx(h.Fragment,{})});class c9o extends drt{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A,x,C,b,v,S,w,T){if(super(c,u,d,f,3,p,g,y,A),this.orientation=ci.landscape,this.rowAxis=Rl.leftRight,this.poleHeight=2,this.poleSpacing=5,this.solarPanelCount=0,this.solarRackCount=0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.margin=0,this.polygon=s,this.pvModel=e,this.rowAxis=n,this.orientation=o,this.poleHeight=i,this.poleSpacing=r,this.minimumInterRowSpacing=x,this.maximumInterRowSpacing=C,this.minimumRowsPerRack=b,this.maximumRowsPerRack=v,this.minimumTiltAngle=S,this.maximumTiltAngle=w,this.margin=T,this.setInterRowSpacingBounds(),this.geneNames[0]="Tilt Angle",this.geneNames[1]="Inter-Row Spacing",this.geneNames[2]="Rack Width",a&&a.length>0){const P=a[0];if(a.length>1){const R=this.population.individuals[0],H=this.maximumTiltAngle===this.minimumTiltAngle?0:(P.tiltAngle-this.minimumTiltAngle)/(this.maximumTiltAngle-this.minimumTiltAngle);R.setGene(0,H);const D=a[1],E=l?l.interRowSpacing:this.rowAxis===Rl.upDown?Math.abs(P.cx-D.cx)*this.foundation.lx:Math.abs(P.cy-D.cy)*this.foundation.ly;let L=this.maximumInterRowSpacing===this.minimumInterRowSpacing?0:(E-this.minimumInterRowSpacing)/(this.maximumInterRowSpacing-this.minimumInterRowSpacing);L<0?L=0:L>1&&(L=1),R.setGene(1,L);const U=l?l.rowsPerRack:Math.max(1,Math.round(P.ly/(P.orientation===ci.portrait?e.length:e.width)));let F=this.maximumRowsPerRack===this.minimumRowsPerRack?0:(U-this.minimumRowsPerRack)/(this.maximumRowsPerRack-this.minimumRowsPerRack);F<0?F=0:F>1&&(F=1),R.setGene(2,F)}}}setInterRowSpacingBounds(){this.bounds=be.calculatePolygonBounds(this.polygon.vertices)}applyFittest(){const e=this.population.getFittest();e&&console.log("Fittest: "+this.individualToString(e)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount)}getObjectiveUnit(){switch(this.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:return"kWh";case xo.YEARLY_PROFIT:case xo.DAILY_PROFIT:return"dollars"}return null}individualToString(e){let n="F("+be.toDegrees(e.getGene(0)*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle).toFixed(3)+"°, ";return n+=(e.getGene(1)*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing).toFixed(3)+"m, ",n+=Math.floor(e.getGene(2)*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack)+")",n+" = "+e.fitness.toFixed(5)+" "+this.getObjectiveUnit()}startEvolving(){this.outsideGenerationCounter=0,this.computeCounter=0,this.fittestOfGenerations.fill(null),this.setInterRowSpacingBounds()}translateIndividualByIndex(e){return this.translateIndividual(this.population.individuals[e])}translateBest(){const e=this.population.getFittest();return e?this.translateIndividual(e):[]}translateIndividual(e){if(!this.bounds)return[];const n=e.getGene(0)*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle,o=e.getGene(1)*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing,i=Math.floor(e.getGene(2)*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack),r=FR.create(this.polygon,this.foundation,this.pvModel,this.orientation,n,i,o,this.rowAxis,this.poleHeight,this.poleSpacing,this.margin);if(this.solarPanelCount=0,this.solarRackCount=r.length,r.length>0)for(const a of r)this.solarPanelCount+=be.countSolarPanelsOnRack(a,this.pvModel);return r}evolveIndividual(e,n){var i;const o=this.population.individuals.length;if(!this.converged){const r=this.population.individuals[e];r.fitness=n,this.computeCounter===0&&e===0&&(this.fittestOfGenerations[0]=r.getCopy());const a=Math.floor(this.computeCounter/o);console.log("Generation "+(a+1)+", individual "+e+" : "+this.individualToString(r)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount);const l=(i=this.populationOfGenerations[a])==null?void 0:i.individuals[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=gt(K2),r=gt(wq),a=M(rr),l=M(Z9),s=M(Q9),c=M(zq),u=gt(vq),d=M(uW),f=M(Dq),p=M(J2),g=M(lge),y=M(pA).geneticAlgorithmParams,A=M.getState().solarPanelArrayLayoutConstraints,x=M.getState().economicsParams,C=M.getState().solarPanelArrayLayoutParams,b=m.useRef(0),v=m.useRef(!1),S=m.useRef(!1),w=m.useRef(),T=m.useRef(0),P=m.useRef(!1),R=m.useRef([]),H=m.useRef([]),D=Kt(),E=l?a(l):void 0;m.useEffect(()=>{if(o===Bs.GENETIC_ALGORITHM&&y.problem===Tr.SOLAR_PANEL_ARRAY&&i){L(),b.current=requestAnimationFrame(F);const k=[...H.current];return()=>{cancelAnimationFrame(b.current),v.current||(fn(O.t("message.EvolutionAborted",D)),gt.getState().set(N=>{N.evolutionInProgress=!1,N.runDailySimulationForSolarPanels=!1,N.runYearlySimulationForSolarPanels=!1}),setTimeout(()=>{R.current.length>0&&g(l.id,!1),k.length>0&&(R.current=k,W(!0))},100))}}},[i]),m.useEffect(()=>{S.current=r,r?(cancelAnimationFrame(b.current),gt.getState().set(k=>{k.evolutionPaused=!0}),fn(O.t("message.EvolutionPaused",D))):(gt.getState().set(k=>{k.evolutionPaused=!1}),F())},[r]);const L=()=>{if(!l||!E)return;gt.getState().set(N=>{N.evolutionInProgress=!0,N.objectiveEvaluationIndex=0}),v.current=!1;const k=s(z.SolarPanel,E.id);H.current.length=0;for(const N of k)H.current.push(JSON.parse(JSON.stringify(N)));w.current=new c9o(p(A.pvModelName??"CS6X-355P-FG"),A.rowAxis??Rl.leftRight,A.orientation??ci.landscape,A.poleHeight??1,A.poleSpacing??3,H.current,C,l,E,y.objectiveFunctionType,y.populationSize,y.maximumGenerations,y.selectionMethod,y.convergenceThreshold,y.searchMethod,y.localSearchRadius,A.minimumInterRowSpacing,A.maximumInterRowSpacing,A.minimumRowsPerRack,A.maximumRowsPerRack,A.minimumTiltAngle,A.maximumTiltAngle,A.margin??0),w.current.selectionRate=y.selectionRate,w.current.crossoverRate=y.crossoverRate,w.current.mutationRate=y.mutationRate,T.current=0,P.current=!1,f([...w.current.geneNames]),w.current.startEvolving(),t(N=>{N.viewState.showEvolutionPanel=!0,N.selectedFloatingWindow="solarPanelOptimizationResult"})},U=()=>{var j;let k=0;switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:{const Y=bn.getState().dailyPvYield;for(const _ of Y)for(const J in _)Object.hasOwn(_,J)&&J==="Total"&&(k+=_[J]);break}case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:{const Y=bn.getState().yearlyPvYield;for(const _ of Y)for(const J in _)Object.hasOwn(_,J)&&J==="Total"&&(k+=_[J]);k*=12/n;break}}const N=(j=w.current)==null?void 0:j.solarPanelCount;switch(y.objectiveFunctionType){case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:N&&(k/=N);break;case xo.DAILY_PROFIT:k=k*x.electricitySellingPrice,N&&(k-=N*x.operationalCostPerUnit);break;case xo.YEARLY_PROFIT:k=k*x.electricitySellingPrice,N&&(k-=N*x.operationalCostPerUnit*365);break}return k};m.useEffect(()=>{!w.current||!u||(P.current=w.current.evolveIndividual(T.current%y.populationSize,U()),B(),T.current++,w.current.outsideGenerationCounter=Math.floor(T.current/y.populationSize),b.current=requestAnimationFrame(F))},[u]);const F=()=>{if(w.current&&o===Bs.GENETIC_ALGORITHM&&i&&!S.current){if(P.current||w.current.outsideGenerationCounter>=y.maximumGenerations){if(cancelAnimationFrame(b.current),v.current=!0,R.current.length>0&&g(l.id,!1),R.current=w.current.translateBest(),w.current.applyFittest(),B(),W(!0),fn(O.t("message.EvolutionCompleted",D)+` -`+(P.current?O.t("message.ConvergenceThresholdHasBeenReached",D):O.t("message.MaximumNumberOfGenerationsHasBeenReached",D))),w.current){const k=w.current.population.getFittest();if(k){const N=k.getGene(0)*(A.maximumTiltAngle-A.minimumTiltAngle)+A.minimumTiltAngle,j=k.getGene(1)*(A.maximumInterRowSpacing-A.minimumInterRowSpacing)+A.minimumInterRowSpacing,Y=Math.floor(k.getGene(2)*(A.maximumRowsPerRack-A.minimumRowsPerRack)+A.minimumRowsPerRack);t(_=>{_.solarPanelArrayLayoutParams.tiltAngle=N,_.solarPanelArrayLayoutParams.interRowSpacing=j,_.solarPanelArrayLayoutParams.rowsPerRack=Y,_.solarPanelArrayLayoutParams.orientation=A.orientation,_.solarPanelArrayLayoutParams.poleHeight=A.poleHeight}),e&&t(_=>{var J,Q;_.actionInfo={name:"Genetic Algorithm for Solar Panel Array Layout Completed",result:(J=w.current)==null?void 0:J.individualToString(k),steps:(Q=w.current)==null?void 0:Q.outsideGenerationCounter,timestamp:new Date().getTime()}})}}return}g(l.id,!1),setTimeout(()=>{w.current&&(R.current=w.current.translateIndividualByIndex(T.current%y.populationSize)),W(!1)},100)}},W=k=>{gt.getState().set(N=>{switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:k?N.runDailySimulationForSolarPanelsLastStep=!0:N.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:k?N.runYearlySimulationForSolarPanelsLastStep=!0:N.runYearlySimulationForSolarPanels=!0;break}}),t(N=>{switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:N.graphState&&(N.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:N.graphState&&(N.graphState.yearlyPvIndividualOutputs=!1);break}N.elements.push(...R.current)}),k&>.getState().set(N=>{N.runEvolution=!1,N.evolutionInProgress=!1,N.objectiveEvaluationIndex=0})},B=()=>{if(!w.current)return;const k=[];for(let N=0;N0){const J=w.current.populationOfGenerations[N-1];if(J){let Q=0;for(let ee=0;ee0&&k.push(j)}c(k)};return h.jsx(h.Fragment,{})});class d9o{constructor(e,n){this.fitness=Number.NaN,this.position=new Array,this.velocity=new Array,this.bestPositionOfParticle=new Array;for(let o=0;oe.fitness?1:this.fitnessn.compare(e)),Number.isNaN(this.bestFitness)||this.bestFitnesse)return!1}return!0}}class frt{constructor(e,n,o,i,r,a,l,s,c){this.stopped=!0,this.inertia=.8,this.cognitiveCoefficient=.1,this.socialCoefficient=.1,this.maximumSteps=5,this.bestPositionOfSteps=[],this.bestFitnessOfSteps=[],this.swarmOfSteps=[],this.outsideStepCounter=0,this.computeCounter=0,this.convergenceThreshold=.1,this.converged=!1,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.localSearchRadius=.1,this.swarm=new lIe(o,a,i),this.objectiveFunctionType=n,this.convergenceThreshold=l,this.searchMethod=s,this.localSearchRadius=c,this.maximumSteps=r,this.foundation=e,this.bestPositionOfSteps=new Array(this.maximumSteps+1),this.bestPositionOfSteps.fill(null),this.bestFitnessOfSteps=new Array(this.maximumSteps+1),this.bestFitnessOfSteps.fill(0),this.swarmOfSteps=new Array(this.maximumSteps);for(let u=0;u=this.maximumSteps}}class NF extends frt{constructor(e,n,o,i,r,a,l,s,c){super(n,o,i,r,a,e.length,l,s,c),this.solarPanels=e;const u=this.swarm.particles[0];for(const[d,f]of e.entries()){const p=.5*(1+f.tiltAngle/Vt);if(u.position[d]=p,this.searchMethod===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)for(let g=1;g1;)A=LF.gaussian()*this.localSearchRadius+p;y.position[d]=A}}}applyFittest(){const e=this.swarm.bestPositionOfSwarm;if(e){for(let n=0;nr.fitness&&r.updateBestPosition(),r.fitness=n,this.computeCounter===0&&e===0&&(this.bestPositionOfSteps[0]=[...r.position],this.bestFitnessOfSteps[0]=n);const a=Math.floor(this.computeCounter/o);console.log("Step "+(a+1)+", particle "+e+" : "+NF.particleToString(r.position,n));const l=(i=this.swarmOfSteps[a])==null?void 0:i.particles[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=gt(K2),r=gt(wq),a=M(Z9),l=M(Q9),s=M(zq),c=gt(vq),u=M(uW),d=M(Dq),f=M(pA).particleSwarmOptimizationParams,p=Kt(),g=m.useRef(0),y=m.useRef(!1),A=m.useRef(!1),x=m.useRef(),C=m.useRef(),b=m.useRef(0),v=m.useRef(!1),S=m.useRef([]);m.useEffect(()=>{if(f.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i){w(),g.current=requestAnimationFrame(P);const D=[...S.current];return()=>{cancelAnimationFrame(g.current),y.current||(fn(O.t("message.EvolutionAborted",p)),gt.getState().set(E=>{E.evolutionInProgress=!1}),D.length>0&&(x.current=D,R(!0)))}}},[i]),m.useEffect(()=>{A.current=r,r?(cancelAnimationFrame(g.current),gt.getState().set(D=>{D.evolutionPaused=!0}),fn(O.t("message.EvolutionPaused",p))):(gt.getState().set(D=>{D.evolutionPaused=!1}),P())},[r]);const w=()=>{if(!a)return;gt.getState().set(L=>{L.evolutionInProgress=!0,L.objectiveEvaluationIndex=0}),y.current=!1;const D=l(z.SolarPanel,a.id);S.current.length=0;for(const L of D)S.current.push(JSON.parse(JSON.stringify(L)));x.current=[];const E=[];for(const L of D)x.current.push(JSON.parse(JSON.stringify(L))),E.push(L.label);x.current.length>0?(C.current=new NF(x.current,a,f.objectiveFunctionType,f.swarmSize,f.vmax,f.maximumSteps,f.convergenceThreshold,f.searchMethod,f.localSearchRadius),C.current.inertia=f.inertia,C.current.cognitiveCoefficient=f.cognitiveCoefficient,C.current.socialCoefficient=f.socialCoefficient,b.current=0,v.current=!1,d(E),C.current.startEvolving(),t(L=>{L.viewState.showEvolutionPanel=!0,L.selectedFloatingWindow="solarPanelOptimizationResult"})):Lo(O.t("message.EncounterEvolutionError",p))},T=()=>{let D=0;switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:{const E=bn.getState().dailyPvYield;for(const L of E)for(const U in L)Object.hasOwn(L,U)&&U==="Total"&&(D+=L[U]);break}case xo.YEARLY_TOTAL_OUTPUT:{const E=bn.getState().yearlyPvYield;for(const L of E)for(const U in L)Object.hasOwn(L,U)&&U==="Total"&&(D+=L[U]);D*=12/n;break}}return D};m.useEffect(()=>{!C.current||!c||(v.current=C.current.updateParticle(b.current%f.swarmSize,T()),H(),b.current++,C.current.outsideStepCounter=Math.floor(b.current/f.swarmSize),g.current=requestAnimationFrame(P))},[c]);const P=()=>{if(C.current&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i&&!A.current){if(v.current||C.current.outsideStepCounter>=f.maximumSteps){if(cancelAnimationFrame(g.current),y.current=!0,C.current.applyFittest(),H(),R(!0),fn(O.t("message.EvolutionCompleted",p)+` -`+(v.current?O.t("message.ConvergenceThresholdHasBeenReached",p):O.t("message.MaximumNumberOfStepsHasBeenReached",p))),e&&C.current){const D=C.current.swarm.bestPositionOfSwarm,E=C.current.swarm.bestFitness;D&&E&&t(L=>{var U;L.actionInfo={name:"Particle Swarm Optimization for Solar Panel Tilt Angle Completed",result:NF.particleToString(D,E),steps:(U=C.current)==null?void 0:U.outsideStepCounter,timestamp:new Date().getTime()}})}return}C.current.translateParticle(b.current%f.swarmSize),R(!1)}},R=D=>{gt.getState().set(E=>{if(x.current)switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:D?E.runDailySimulationForSolarPanelsLastStep=!0:E.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:D?E.runYearlySimulationForSolarPanelsLastStep=!0:E.runYearlySimulationForSolarPanels=!0;break}}),t(E=>{if(x.current){switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:E.graphState&&(E.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:E.graphState&&(E.graphState.yearlyPvIndividualOutputs=!1);break}for(const L of E.elements)if(L.type===z.SolarPanel){const U=L;for(const F of x.current)if(U.id===F.id){U.tiltAngle=F.tiltAngle;break}}}}),D&>.getState().set(E=>{E.runEvolution=!1,E.evolutionInProgress=!1,E.objectiveEvaluationIndex=0})},H=()=>{var E;if(!C.current)return;const D=[];for(let L=0;L0){const B=C.current.swarmOfSteps[L-1];if(B){let k=0;for(let N=0;N0&&D.push(U)}s(D)};return h.jsx(h.Fragment,{})});class h9o extends frt{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A,x,C,b,v,S,w,T){if(super(c,u,d,f,p,3,g,y,A),this.orientation=ci.landscape,this.rowAxis=Rl.leftRight,this.relativeMargin=.01,this.poleHeight=2,this.poleSpacing=5,this.solarPanelCount=0,this.solarRackCount=0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.margin=0,this.polygon=s,this.pvModel=e,this.rowAxis=n,this.orientation=o,this.poleHeight=i,this.poleSpacing=r,this.minimumInterRowSpacing=x,this.maximumInterRowSpacing=C,this.minimumRowsPerRack=b,this.maximumRowsPerRack=v,this.minimumTiltAngle=S,this.maximumTiltAngle=w,this.margin=T,this.setInterRowSpacingBounds(),a&&a.length>0){const P=a[0];if(a.length>1){const R=this.swarm.particles[0];R.position[0]=this.maximumTiltAngle===this.minimumTiltAngle?0:(P.tiltAngle-this.minimumTiltAngle)/(this.maximumTiltAngle-this.minimumTiltAngle);const H=a[1],D=l?l.interRowSpacing:this.rowAxis===Rl.upDown?Math.abs(P.cx-H.cx)*this.foundation.lx:Math.abs(P.cy-H.cy)*this.foundation.ly;let E=this.maximumInterRowSpacing===this.minimumInterRowSpacing?0:(D-this.minimumInterRowSpacing)/(this.maximumInterRowSpacing-this.minimumInterRowSpacing);E<0?E=0:E>1&&(E=1),R.position[1]=E;const L=l?l.rowsPerRack:Math.max(1,Math.round(P.ly/(P.orientation===ci.portrait?e.length:e.width)));let U=this.maximumRowsPerRack===this.minimumRowsPerRack?0:(L-this.minimumRowsPerRack)/(this.maximumRowsPerRack-this.minimumRowsPerRack);U<0?U=0:U>1&&(U=1),R.position[2]=U}}}setInterRowSpacingBounds(){this.bounds=be.calculatePolygonBounds(this.polygon.vertices)}applyFittest(){this.swarm.bestPositionOfSwarm&&console.log("Best: "+this.particleToString(this.swarm.bestPositionOfSwarm,this.swarm.bestFitness)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount)}getObjectiveUnit(){switch(this.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:return"kWh";case xo.YEARLY_PROFIT:case xo.DAILY_PROFIT:return"dollars"}return null}particleToString(e,n){let o="F("+be.toDegrees(e[0]*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle).toFixed(3)+"°, ";return o+=(e[1]*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing).toFixed(3)+"m, ",o+=Math.floor(e[2]*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack)+")",o+" = "+n.toFixed(5)+" "+this.getObjectiveUnit()}startEvolving(){this.outsideStepCounter=0,this.computeCounter=0,this.bestPositionOfSteps.fill(null),this.bestFitnessOfSteps.fill(0),this.setInterRowSpacingBounds()}translateParticleByIndex(e){return this.translatePosition(this.swarm.particles[e].position)}translateBest(){return this.swarm.bestPositionOfSwarm?this.translatePosition(this.swarm.bestPositionOfSwarm):[]}translatePosition(e){if(!this.bounds)return[];const n=e[0]*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle,o=e[1]*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing,i=Math.floor(e[2]*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack),r=FR.create(this.polygon,this.foundation,this.pvModel,this.orientation,n,i,o,this.rowAxis,this.poleHeight,this.poleSpacing,this.margin);if(this.solarPanelCount=0,this.solarRackCount=r.length,r.length>0)for(const a of r)this.solarPanelCount+=be.countSolarPanelsOnRack(a,this.pvModel);return r}updateParticle(e,n){var i;const o=this.swarm.particles.length;if(!this.converged){const r=this.swarm.particles[e];r.fitness=n,this.computeCounter===0&&e===0&&(this.bestPositionOfSteps[0]=[...r.position],this.bestFitnessOfSteps[0]=n);const a=Math.floor(this.computeCounter/o);console.log("Step "+(a+1)+", particle "+e+" : "+this.particleToString(r.position,n)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount);const l=(i=this.swarmOfSteps[a])==null?void 0:i.particles[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=gt(K2),r=gt(wq),a=M(rr),l=M(Z9),s=M(Q9),c=M(J2),u=M(lge),d=M(zq),f=gt(vq),p=M(uW),g=M(Dq),y=M(pA).particleSwarmOptimizationParams,A=M.getState().solarPanelArrayLayoutConstraints,x=M.getState().economicsParams,C=M.getState().solarPanelArrayLayoutParams,b=m.useRef(0),v=m.useRef(!1),S=m.useRef(!1),w=m.useRef(),T=m.useRef(0),P=m.useRef(!1),R=m.useRef([]),H=m.useRef([]),D=Kt(),E=l?a(l):void 0;m.useEffect(()=>{if(o===Bs.PARTICLE_SWARM_OPTIMIZATION&&y.problem===Tr.SOLAR_PANEL_ARRAY&&i){L(),b.current=requestAnimationFrame(F);const k=[...H.current];return()=>{cancelAnimationFrame(b.current),v.current||(fn(O.t("message.EvolutionAborted",D)),gt.getState().set(N=>{N.evolutionInProgress=!1,N.runDailySimulationForSolarPanels=!1,N.runYearlySimulationForSolarPanels=!1}),setTimeout(()=>{R.current.length>0&&u(l.id,!1),k.length>0&&(R.current=k,W(!0))},100))}}},[i]),m.useEffect(()=>{S.current=r,r?(cancelAnimationFrame(b.current),gt.getState().set(k=>{k.evolutionPaused=!0}),fn(O.t("message.EvolutionPaused",D))):(gt.getState().set(k=>{k.evolutionPaused=!1}),F())},[r]);const L=()=>{if(!l||!E)return;gt.getState().set(N=>{N.evolutionInProgress=!0,N.objectiveEvaluationIndex=0}),v.current=!1;const k=s(z.SolarPanel,E.id);H.current.length=0;for(const N of k)H.current.push(JSON.parse(JSON.stringify(N)));w.current=new h9o(c(A.pvModelName??"CS6X-355P-FG"),A.rowAxis??Rl.leftRight,A.orientation??ci.landscape,A.poleHeight??1,A.poleSpacing??3,H.current,C,l,E,y.objectiveFunctionType,y.swarmSize,y.vmax,y.maximumSteps,y.convergenceThreshold,y.searchMethod,y.localSearchRadius,A.minimumInterRowSpacing,A.maximumInterRowSpacing,A.minimumRowsPerRack,A.maximumRowsPerRack,A.minimumTiltAngle,A.maximumTiltAngle,A.margin??0),w.current.inertia=y.inertia,w.current.cognitiveCoefficient=y.cognitiveCoefficient,w.current.socialCoefficient=y.socialCoefficient,T.current=0,P.current=!1,g(["Tilt Angle","Inter-Row Spacing","Rack Width"]),w.current.startEvolving(),t(N=>{N.viewState.showEvolutionPanel=!0,N.selectedFloatingWindow="solarPanelOptimizationResult"})},U=()=>{var j;let k=0;switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:{const Y=bn.getState().dailyPvYield;for(const _ of Y)for(const J in _)Object.hasOwn(_,J)&&J==="Total"&&(k+=_[J]);break}case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:{const Y=bn.getState().yearlyPvYield;for(const _ of Y)for(const J in _)Object.hasOwn(_,J)&&J==="Total"&&(k+=_[J]);k*=12/n;break}}const N=(j=w.current)==null?void 0:j.solarPanelCount;switch(y.objectiveFunctionType){case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:N&&(k/=N);break;case xo.DAILY_PROFIT:k=k*x.electricitySellingPrice,N&&(k-=N*x.operationalCostPerUnit);break;case xo.YEARLY_PROFIT:k=k*x.electricitySellingPrice,N&&(k-=N*x.operationalCostPerUnit*365);break}return k};m.useEffect(()=>{!w.current||!f||(P.current=w.current.updateParticle(T.current%y.swarmSize,U()),B(),T.current++,w.current.outsideStepCounter=Math.floor(T.current/y.swarmSize),b.current=requestAnimationFrame(F))},[f]);const F=()=>{if(w.current&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i&&!S.current){if(P.current||w.current.outsideStepCounter>=y.maximumSteps){if(cancelAnimationFrame(b.current),v.current=!0,R.current.length>0&&u(l.id,!1),R.current=w.current.translateBest(),w.current.applyFittest(),B(),W(!0),fn(O.t("message.EvolutionCompleted",D)+` -`+(P.current?O.t("message.ConvergenceThresholdHasBeenReached",D):O.t("message.MaximumNumberOfStepsHasBeenReached",D))),w.current){const k=w.current.swarm.bestPositionOfSwarm,N=w.current.swarm.bestFitness;if(k&&N){const j=k[0]*(A.maximumTiltAngle-A.minimumTiltAngle)+A.minimumTiltAngle,Y=k[1]*(A.maximumInterRowSpacing-A.minimumInterRowSpacing)+A.minimumInterRowSpacing,_=Math.floor(k[2]*(A.maximumRowsPerRack-A.minimumRowsPerRack)+A.minimumRowsPerRack);t(J=>{J.solarPanelArrayLayoutParams.tiltAngle=j,J.solarPanelArrayLayoutParams.interRowSpacing=Y,J.solarPanelArrayLayoutParams.rowsPerRack=_,J.solarPanelArrayLayoutParams.orientation=A.orientation,J.solarPanelArrayLayoutParams.poleHeight=A.poleHeight}),e&&t(J=>{var Q,ee;J.actionInfo={name:"Particle Swarm Optimization for Solar Panel Array Layout Completed",result:(Q=w.current)==null?void 0:Q.particleToString(k,N),steps:(ee=w.current)==null?void 0:ee.outsideStepCounter,timestamp:new Date().getTime()}})}}return}u(l.id,!1),setTimeout(()=>{w.current&&(R.current=w.current.translateParticleByIndex(T.current%y.swarmSize)),W(!1)},100)}},W=k=>{gt.getState().set(N=>{switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:k?N.runDailySimulationForSolarPanelsLastStep=!0:N.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:k?N.runYearlySimulationForSolarPanelsLastStep=!0:N.runYearlySimulationForSolarPanels=!0;break}}),t(N=>{switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:N.graphState&&(N.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:N.graphState&&(N.graphState.yearlyPvIndividualOutputs=!1);break}N.elements.push(...R.current)}),k&>.getState().set(N=>{N.runEvolution=!1,N.evolutionInProgress=!1,N.objectiveEvaluationIndex=0})},B=()=>{if(!w.current)return;const k=[];for(let N=0;N0){const J=w.current.swarmOfSteps[N-1];if(J){let Q=0;for(let ee=0;ee0&&k.push(j)}d(k)};return h.jsx(h.Fragment,{})}),g9o=Se.memo(()=>{const t=M(Cq),e=M(Hq),n=M(Mq),{gl:o}=Xi();return o.domElement.style.cursor=t!==z.None||n||e?"crosshair":"default",null}),Sm=()=>{gt.getState().set(t=>{t.showSolarRadiationHeatmap=!1,t.showHeatFluxes=!1})},m9o=Se.memo(({width:t=400,height:e=400})=>{const n=M(dn),o=M(En),i=M(Xs),r=M(wb),a=M(j1e),l=M(fAt),s=M(SBe),[c,u]=m.useState(null),d=100,f=m.useCallback(b=>{u(b)},[]),p=m.useCallback(function(){u(null)},[]),g=()=>{const b=new google.maps.LatLng(i,r);new google.maps.Geocoder().geocode({location:b},function(v,S){if(S===google.maps.GeocoderStatus.OK&&v&&v[0].address_components){n(w=>{w.world.address=v[0].formatted_address});for(const w of v[0].address_components)if(w.types[0]==="country"){n(T=>{T.world.countryCode=w.short_name});break}}}).then(()=>{})},y=M2.throttle(()=>{if(c){const b=c.getCenter();if(b){const v=b.lat(),S=b.lng();if(v!==i||S!==r){g();const w={name:"Set Location",timestamp:Date.now(),oldLatitude:i,newLatitude:v,oldLongitude:r,newLongitude:S,undo:()=>{Sm(),n(T=>{T.world.latitude=w.oldLatitude,T.world.longitude=w.oldLongitude})},redo:()=>{Sm(),n(T=>{T.world.latitude=w.newLatitude,T.world.longitude=w.newLongitude})}};o(w),Sm(),n(T=>{T.world.latitude=v,T.world.longitude=S})}}}},d,{leading:!1,trailing:!0}),A=M2.throttle(()=>{if(c){const b=c.getZoom();if(b!==void 0&&b!==a){g();const v={name:"Zoom Map",timestamp:Date.now(),oldValue:a,newValue:b,undo:()=>{n(S=>{S.viewState.mapZoom=v.oldValue})},redo:()=>{n(S=>{S.viewState.mapZoom=v.newValue})}};o(v),n(S=>{S.viewState.mapZoom=b})}}},d,{leading:!1,trailing:!0}),x=()=>{if(c){const b=c.getTilt();if(b!==void 0&&b!==l){const v={name:"Tilt Map",timestamp:Date.now(),oldValue:l,newValue:b,undo:()=>{n(S=>{S.viewState.mapTilt=v.oldValue})},redo:()=>{n(S=>{S.viewState.mapTilt=v.newValue})}};o(v),n(S=>{S.viewState.mapTilt=b})}}},C=()=>{if(c){const b=c.getMapTypeId();if(b!==void 0&&b!==s){const v={name:"Change Map Type",timestamp:Date.now(),oldValue:s,newValue:b,undo:()=>{n(S=>{S.viewState.mapType=v.oldValue,S.viewState.groundImageType=S.viewState.mapType})},redo:()=>{n(S=>{S.viewState.mapType=v.newValue,S.viewState.groundImageType=S.viewState.mapType})}};o(v),n(S=>{S.viewState.mapType=b,S.viewState.groundImageType=b})}}};return h.jsx(Aot,{mapContainerStyle:{border:"1px solid",width:t+"px",height:e+"px"},mapTypeId:s,center:{lat:i,lng:r},zoom:a,tilt:l,onLoad:f,onUnmount:p,onCenterChanged:y,onZoomChanged:A,onTiltChanged:x,onMapTypeIdChanged:C})}),y9o=["places"],A9o=Ho.div` +`,r9o=Se.memo(({style:t,size:e,margin:n,round:o,handleShareWindowClose:i})=>{const r=M(Eg),a=M(yH),s=new URLSearchParams(window.location.search).get("userid"),c=Kt(),u=a??O.t("name.Tagline",c),d="aladdinIFI "+(a?O.t("name.Tagline",c):"");let f=qp;return a&&(s?f+="?client=web&userid="+s+"&title="+encodeURIComponent(a):r.uid&&(f+="?client=web&userid="+r.uid+"&title="+encodeURIComponent(a))),h.jsxs(i9o,{style:t,children:[h.jsx($2o,{url:f,subject:u,children:h.jsx(O2o,{size:e,round:o})}),h.jsx(_5o,{url:f,title:u,via:d,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(o9o,{size:e,round:o})}),h.jsx(i5o,{url:f,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(Z2o,{size:e,round:o})}),h.jsx(D5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(M5o,{size:e,round:o})}),h.jsx(U5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(L5o,{size:e,round:o})}),h.jsx(g5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(f5o,{size:e,round:o})}),h.jsx(v5o,{url:f,title:u,summary:d,source:O.t("name.IFI",c),style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(y5o,{size:e,round:o})}),h.jsx(e9o,{url:f,title:u,separator:":: ",onShareWindowClose:i,children:h.jsx(q5o,{size:e,round:o})})]})});class nC{constructor(e,n,o){if(this.fitness=Number.NaN,this.chromosome=new Array(e),this.discretizationSteps=o,n)if(o)for(let i=0;ie.fitness?1:this.fitness=this.chromosome.length)throw new Error("Gene index out of bound: "+e);this.chromosome[e]=n}getGene(e){if(e<0||e>=this.chromosome.length)throw new Error("Gene index out of bound: "+e);return this.chromosome[e]}copyGenes(e){const n=Math.min(this.chromosome.length,e.chromosome.length);for(let o=0;on.compare(e))}getNicheCount(e,n){let o=0;for(const i of this.individuals){const r=e.distance(i);let a=0;re&&(e=o.fitness,n=o);return n}evolve(e,n){this.selectSurvivors(e),this.crossover(n)}selectSurvivors(e){this.survivors=[],this.sort();const n=Math.floor(e*this.individuals.length);for(let o=0;o=i){o=l;break}let a=null;do{i=Math.random()*n,r=0;for(const l of this.survivors)if(r+=l.fitness-e,r>=i){l!==o&&(a=l);break}}while(a===null);return o&&a?new rIe(o,a):null}selectParentsByTournament(){const e=this.survivors.length;if(e<=1)throw new Error("Must have at least two survivors to be used as parents");const n=e-1;let o=Math.floor(Math.random()*n),i;do i=Math.floor(Math.random()*n);while(i===o);const r=this.survivors[o].fitness>this.survivors[i].fitness?o:i;o=Math.floor(Math.random()*n);do i=Math.floor(Math.random()*n);while(i===o);let a=this.survivors[o].fitness>this.survivors[i].fitness?o:i;for(;a===r;){o=Math.floor(Math.random()*n);do i=Math.floor(Math.random()*n);while(i===o);a=this.survivors[o].fitness>this.survivors[i].fitness?o:i}return new rIe(this.survivors[r],this.survivors[a])}mutate(e){if(be.isZero(e))return;let n=Math.floor(e*(this.individuals.length-1));for(n===0?n=1:n===this.individuals.length-1&&(n=this.individuals.length-2),this.mutants=[];this.mutants.lengthe)return!1}return!0}}class drt{constructor(e,n,o,i,r,a,l,s,c,u){this.fitnessSharingRadius=.1,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.localSearchRadius=.1,this.constraints=[],this.stopped=!0,this.mutationRate=.1,this.crossoverRate=.5,this.selectionRate=.5,this.maximumGenerations=5,this.fittestOfGenerations=[],this.populationOfGenerations=[],this.outsideGenerationCounter=0,this.computeCounter=0,this.converged=!1,this.population=new aIe(o,r,a,u),this.objectiveFunctionType=n,this.convergenceThreshold=l,this.maximumGenerations=i,this.searchMethod=s,this.localSearchRadius=c,this.geneNames=new Array(r),this.foundation=e;const d=e.cx,f=e.cy,p=e.lx,g=e.ly;this.minima=new Array(r),this.maxima=new Array(r);for(let y=0;y=this.maximumGenerations}}class LF{static gaussian(){let e=0,n=0;for(;e===0;)e=Math.random();for(;n===0;)n=Math.random();return Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*n)}static twoGaussians(){let e=0,n=0;for(;e===0;)e=Math.random();for(;n===0;)n=Math.random();const o=new Array(2),i=Math.sqrt(-2*Math.log(e)),r=2*Math.PI*n;return o[0]=i*Math.cos(r),o[1]=i*Math.sin(r),o}static poisson(e){let n=0,o=Math.exp(-e),i=o;const r=Math.random();for(;r>i;)n++,o*=e/n,i+=o;return n}}class WF extends drt{constructor(e,n,o,i,r,a,l,s,c){super(n,o,i,r,e.length,a,l,s,c),this.solarPanels=e;const u=this.population.individuals[0];for(const[d,f]of e.entries()){const p=.5*(1+f.tiltAngle/Vt);if(u.setGene(d,p),this.searchMethod===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)for(let g=1;g1;)A=LF.gaussian()*this.localSearchRadius+p;y.setGene(d,A)}this.geneNames[d]="Tilt Angle ("+f.id+")"}}applyFittest(){const e=this.population.getFittest();if(e){for(let n=0;n{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=gt(K2),r=gt(wq),a=M(Z9),l=M(Q9),s=M(zq),c=gt(vq),u=M(uW),d=M(Dq),f=M(pA).geneticAlgorithmParams,p=Kt(),g=m.useRef(0),y=m.useRef(!1),A=m.useRef(!1),x=m.useRef(),C=m.useRef(),b=m.useRef(0),v=m.useRef(!1),S=m.useRef([]);m.useEffect(()=>{if(f.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&o===Bs.GENETIC_ALGORITHM&&i){w(),g.current=requestAnimationFrame(P);const D=[...S.current];return()=>{cancelAnimationFrame(g.current),y.current||(fn(O.t("message.EvolutionAborted",p)),gt.getState().set(E=>{E.evolutionInProgress=!1}),D.length>0&&(x.current=D,R(!0)))}}},[i]),m.useEffect(()=>{A.current=r,r?(cancelAnimationFrame(g.current),gt.getState().set(D=>{D.evolutionPaused=!0}),fn(O.t("message.EvolutionPaused",p))):(gt.getState().set(D=>{D.evolutionPaused=!1}),P())},[r]);const w=()=>{if(!a)return;gt.getState().set(L=>{L.evolutionInProgress=!0,L.objectiveEvaluationIndex=0}),y.current=!1;const D=l(z.SolarPanel,a.id);S.current.length=0;for(const L of D)S.current.push(JSON.parse(JSON.stringify(L)));x.current=[];const E=[];for(const L of D)x.current.push(JSON.parse(JSON.stringify(L))),E.push(L.label);x.current.length>0?(C.current=new WF(x.current,a,f.objectiveFunctionType,f.populationSize,f.maximumGenerations,f.selectionMethod,f.convergenceThreshold,f.searchMethod,f.localSearchRadius),C.current.selectionRate=f.selectionRate,C.current.crossoverRate=f.crossoverRate,C.current.mutationRate=f.mutationRate,b.current=0,v.current=!1,d(E),C.current.startEvolving(),t(L=>{L.viewState.showEvolutionPanel=!0,L.selectedFloatingWindow="solarPanelOptimizationResult"})):Lo(O.t("message.EncounterEvolutionError",p))},T=()=>{let D=0;switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:{const E=bn.getState().dailyPvYield;for(const L of E)for(const U in L)Object.hasOwn(L,U)&&U==="Total"&&(D+=L[U]);break}case xo.YEARLY_TOTAL_OUTPUT:{const E=bn.getState().yearlyPvYield;for(const L of E)for(const U in L)Object.hasOwn(L,U)&&U==="Total"&&(D+=L[U]);D*=12/n;break}}return D};m.useEffect(()=>{!C.current||!c||(v.current=C.current.evolveIndividual(b.current%f.populationSize,T()),H(),b.current++,C.current.outsideGenerationCounter=Math.floor(b.current/f.populationSize),g.current=requestAnimationFrame(P))},[c]);const P=()=>{if(C.current&&o===Bs.GENETIC_ALGORITHM&&i&&!A.current){if(v.current||C.current.outsideGenerationCounter>=f.maximumGenerations){if(cancelAnimationFrame(g.current),y.current=!0,C.current.applyFittest(),H(),R(!0),fn(O.t("message.EvolutionCompleted",p)+` +`+(v.current?O.t("message.ConvergenceThresholdHasBeenReached",p):O.t("message.MaximumNumberOfGenerationsHasBeenReached",p))),e&&C.current){const D=C.current.population.getFittest();D&&t(E=>{var L;E.actionInfo={name:"Genetic Algorithm for Solar Panel Tilt Angle Completed",result:WF.individualToString(D),steps:(L=C.current)==null?void 0:L.outsideGenerationCounter,timestamp:new Date().getTime()}})}return}C.current.translateIndividual(b.current%f.populationSize),R(!1)}},R=D=>{gt.getState().set(E=>{if(x.current)switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:D?E.runDailySimulationForSolarPanelsLastStep=!0:E.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:D?E.runYearlySimulationForSolarPanelsLastStep=!0:E.runYearlySimulationForSolarPanels=!0;break;default:Lo(O.t("message.ObjectiveFunctionTypeError",p),60)}}),t(E=>{if(x.current){switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:E.graphState&&(E.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:E.graphState&&(E.graphState.yearlyPvIndividualOutputs=!1);break;default:Lo(O.t("message.ObjectiveFunctionTypeError",p),60)}for(const L of E.elements)if(L.type===z.SolarPanel){const U=L;for(const F of x.current)if(U.id===F.id){U.tiltAngle=F.tiltAngle;break}}}}),D&>.getState().set(E=>{E.runEvolution=!1,E.evolutionInProgress=!1,E.objectiveEvaluationIndex=0})},H=()=>{var E;if(!C.current)return;const D=[];for(let L=0;L0){const B=C.current.populationOfGenerations[L-1];if(B){let k=0;for(let N=0;N0&&D.push(U)}s(D)};return h.jsx(h.Fragment,{})});class l9o extends drt{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A,x,C,b,v,S,w,T){if(super(c,u,d,f,3,p,g,y,A),this.orientation=ci.landscape,this.rowAxis=Rl.leftRight,this.poleHeight=2,this.poleSpacing=5,this.solarPanelCount=0,this.solarRackCount=0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.margin=0,this.polygon=s,this.pvModel=e,this.rowAxis=n,this.orientation=o,this.poleHeight=i,this.poleSpacing=r,this.minimumInterRowSpacing=x,this.maximumInterRowSpacing=C,this.minimumRowsPerRack=b,this.maximumRowsPerRack=v,this.minimumTiltAngle=S,this.maximumTiltAngle=w,this.margin=T,this.setInterRowSpacingBounds(),this.geneNames[0]="Tilt Angle",this.geneNames[1]="Inter-Row Spacing",this.geneNames[2]="Rack Width",a&&a.length>0){const P=a[0];if(a.length>1){const R=this.population.individuals[0],H=this.maximumTiltAngle===this.minimumTiltAngle?0:(P.tiltAngle-this.minimumTiltAngle)/(this.maximumTiltAngle-this.minimumTiltAngle);R.setGene(0,H);const D=a[1],E=l?l.interRowSpacing:this.rowAxis===Rl.upDown?Math.abs(P.cx-D.cx)*this.foundation.lx:Math.abs(P.cy-D.cy)*this.foundation.ly;let L=this.maximumInterRowSpacing===this.minimumInterRowSpacing?0:(E-this.minimumInterRowSpacing)/(this.maximumInterRowSpacing-this.minimumInterRowSpacing);L<0?L=0:L>1&&(L=1),R.setGene(1,L);const U=l?l.rowsPerRack:Math.max(1,Math.round(P.ly/(P.orientation===ci.portrait?e.length:e.width)));let F=this.maximumRowsPerRack===this.minimumRowsPerRack?0:(U-this.minimumRowsPerRack)/(this.maximumRowsPerRack-this.minimumRowsPerRack);F<0?F=0:F>1&&(F=1),R.setGene(2,F)}}}setInterRowSpacingBounds(){this.bounds=be.calculatePolygonBounds(this.polygon.vertices)}applyFittest(){const e=this.population.getFittest();e&&console.log("Fittest: "+this.individualToString(e)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount)}getObjectiveUnit(){switch(this.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:return"kWh";case xo.YEARLY_PROFIT:case xo.DAILY_PROFIT:return"dollars"}return null}individualToString(e){let n="F("+be.toDegrees(e.getGene(0)*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle).toFixed(3)+"°, ";return n+=(e.getGene(1)*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing).toFixed(3)+"m, ",n+=Math.floor(e.getGene(2)*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack)+")",n+" = "+e.fitness.toFixed(5)+" "+this.getObjectiveUnit()}startEvolving(){this.outsideGenerationCounter=0,this.computeCounter=0,this.fittestOfGenerations.fill(null),this.setInterRowSpacingBounds()}translateIndividualByIndex(e){return this.translateIndividual(this.population.individuals[e])}translateBest(){const e=this.population.getFittest();return e?this.translateIndividual(e):[]}translateIndividual(e){if(!this.bounds)return[];const n=e.getGene(0)*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle,o=e.getGene(1)*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing,i=Math.floor(e.getGene(2)*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack),r=FR.create(this.polygon,this.foundation,this.pvModel,this.orientation,n,i,o,this.rowAxis,this.poleHeight,this.poleSpacing,this.margin);if(this.solarPanelCount=0,this.solarRackCount=r.length,r.length>0)for(const a of r)this.solarPanelCount+=be.countSolarPanelsOnRack(a,this.pvModel);return r}evolveIndividual(e,n){var i;const o=this.population.individuals.length;if(!this.converged){const r=this.population.individuals[e];r.fitness=n,this.computeCounter===0&&e===0&&(this.fittestOfGenerations[0]=r.getCopy());const a=Math.floor(this.computeCounter/o);console.log("Generation "+(a+1)+", individual "+e+" : "+this.individualToString(r)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount);const l=(i=this.populationOfGenerations[a])==null?void 0:i.individuals[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=gt(K2),r=gt(wq),a=M(rr),l=M(Z9),s=M(Q9),c=M(zq),u=gt(vq),d=M(uW),f=M(Dq),p=M(J2),g=M(lge),y=M(pA).geneticAlgorithmParams,A=M.getState().solarPanelArrayLayoutConstraints,x=M.getState().economicsParams,C=M.getState().solarPanelArrayLayoutParams,b=m.useRef(0),v=m.useRef(!1),S=m.useRef(!1),w=m.useRef(),T=m.useRef(0),P=m.useRef(!1),R=m.useRef([]),H=m.useRef([]),D=Kt(),E=l?a(l):void 0;m.useEffect(()=>{if(o===Bs.GENETIC_ALGORITHM&&y.problem===Tr.SOLAR_PANEL_ARRAY&&i){L(),b.current=requestAnimationFrame(F);const k=[...H.current];return()=>{cancelAnimationFrame(b.current),v.current||(fn(O.t("message.EvolutionAborted",D)),gt.getState().set(N=>{N.evolutionInProgress=!1,N.runDailySimulationForSolarPanels=!1,N.runYearlySimulationForSolarPanels=!1}),setTimeout(()=>{R.current.length>0&&g(l.id,!1),k.length>0&&(R.current=k,W(!0))},100))}}},[i]),m.useEffect(()=>{S.current=r,r?(cancelAnimationFrame(b.current),gt.getState().set(k=>{k.evolutionPaused=!0}),fn(O.t("message.EvolutionPaused",D))):(gt.getState().set(k=>{k.evolutionPaused=!1}),F())},[r]);const L=()=>{if(!l||!E)return;gt.getState().set(N=>{N.evolutionInProgress=!0,N.objectiveEvaluationIndex=0}),v.current=!1;const k=s(z.SolarPanel,E.id);H.current.length=0;for(const N of k)H.current.push(JSON.parse(JSON.stringify(N)));w.current=new l9o(p(A.pvModelName??"CS6X-355P-FG"),A.rowAxis??Rl.leftRight,A.orientation??ci.landscape,A.poleHeight??1,A.poleSpacing??3,H.current,C,l,E,y.objectiveFunctionType,y.populationSize,y.maximumGenerations,y.selectionMethod,y.convergenceThreshold,y.searchMethod,y.localSearchRadius,A.minimumInterRowSpacing,A.maximumInterRowSpacing,A.minimumRowsPerRack,A.maximumRowsPerRack,A.minimumTiltAngle,A.maximumTiltAngle,A.margin??0),w.current.selectionRate=y.selectionRate,w.current.crossoverRate=y.crossoverRate,w.current.mutationRate=y.mutationRate,T.current=0,P.current=!1,f([...w.current.geneNames]),w.current.startEvolving(),t(N=>{N.viewState.showEvolutionPanel=!0,N.selectedFloatingWindow="solarPanelOptimizationResult"})},U=()=>{var j;let k=0;switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:{const Y=bn.getState().dailyPvYield;for(const _ of Y)for(const J in _)Object.hasOwn(_,J)&&J==="Total"&&(k+=_[J]);break}case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:{const Y=bn.getState().yearlyPvYield;for(const _ of Y)for(const J in _)Object.hasOwn(_,J)&&J==="Total"&&(k+=_[J]);k*=12/n;break}}const N=(j=w.current)==null?void 0:j.solarPanelCount;switch(y.objectiveFunctionType){case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:N&&(k/=N);break;case xo.DAILY_PROFIT:k=k*x.electricitySellingPrice,N&&(k-=N*x.operationalCostPerUnit);break;case xo.YEARLY_PROFIT:k=k*x.electricitySellingPrice,N&&(k-=N*x.operationalCostPerUnit*365);break}return k};m.useEffect(()=>{!w.current||!u||(P.current=w.current.evolveIndividual(T.current%y.populationSize,U()),B(),T.current++,w.current.outsideGenerationCounter=Math.floor(T.current/y.populationSize),b.current=requestAnimationFrame(F))},[u]);const F=()=>{if(w.current&&o===Bs.GENETIC_ALGORITHM&&i&&!S.current){if(P.current||w.current.outsideGenerationCounter>=y.maximumGenerations){if(cancelAnimationFrame(b.current),v.current=!0,R.current.length>0&&g(l.id,!1),R.current=w.current.translateBest(),w.current.applyFittest(),B(),W(!0),fn(O.t("message.EvolutionCompleted",D)+` +`+(P.current?O.t("message.ConvergenceThresholdHasBeenReached",D):O.t("message.MaximumNumberOfGenerationsHasBeenReached",D))),w.current){const k=w.current.population.getFittest();if(k){const N=k.getGene(0)*(A.maximumTiltAngle-A.minimumTiltAngle)+A.minimumTiltAngle,j=k.getGene(1)*(A.maximumInterRowSpacing-A.minimumInterRowSpacing)+A.minimumInterRowSpacing,Y=Math.floor(k.getGene(2)*(A.maximumRowsPerRack-A.minimumRowsPerRack)+A.minimumRowsPerRack);t(_=>{_.solarPanelArrayLayoutParams.tiltAngle=N,_.solarPanelArrayLayoutParams.interRowSpacing=j,_.solarPanelArrayLayoutParams.rowsPerRack=Y,_.solarPanelArrayLayoutParams.orientation=A.orientation,_.solarPanelArrayLayoutParams.poleHeight=A.poleHeight}),e&&t(_=>{var J,Q;_.actionInfo={name:"Genetic Algorithm for Solar Panel Array Layout Completed",result:(J=w.current)==null?void 0:J.individualToString(k),steps:(Q=w.current)==null?void 0:Q.outsideGenerationCounter,timestamp:new Date().getTime()}})}}return}g(l.id,!1),setTimeout(()=>{w.current&&(R.current=w.current.translateIndividualByIndex(T.current%y.populationSize)),W(!1)},100)}},W=k=>{gt.getState().set(N=>{switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:k?N.runDailySimulationForSolarPanelsLastStep=!0:N.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:k?N.runYearlySimulationForSolarPanelsLastStep=!0:N.runYearlySimulationForSolarPanels=!0;break}}),t(N=>{switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:N.graphState&&(N.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:N.graphState&&(N.graphState.yearlyPvIndividualOutputs=!1);break}N.elements.push(...R.current)}),k&>.getState().set(N=>{N.runEvolution=!1,N.evolutionInProgress=!1,N.objectiveEvaluationIndex=0})},B=()=>{if(!w.current)return;const k=[];for(let N=0;N0){const J=w.current.populationOfGenerations[N-1];if(J){let Q=0;for(let ee=0;ee0&&k.push(j)}c(k)};return h.jsx(h.Fragment,{})});class c9o{constructor(e,n){this.fitness=Number.NaN,this.position=new Array,this.velocity=new Array,this.bestPositionOfParticle=new Array;for(let o=0;oe.fitness?1:this.fitnessn.compare(e)),Number.isNaN(this.bestFitness)||this.bestFitnesse)return!1}return!0}}class frt{constructor(e,n,o,i,r,a,l,s,c){this.stopped=!0,this.inertia=.8,this.cognitiveCoefficient=.1,this.socialCoefficient=.1,this.maximumSteps=5,this.bestPositionOfSteps=[],this.bestFitnessOfSteps=[],this.swarmOfSteps=[],this.outsideStepCounter=0,this.computeCounter=0,this.convergenceThreshold=.1,this.converged=!1,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.localSearchRadius=.1,this.swarm=new lIe(o,a,i),this.objectiveFunctionType=n,this.convergenceThreshold=l,this.searchMethod=s,this.localSearchRadius=c,this.maximumSteps=r,this.foundation=e,this.bestPositionOfSteps=new Array(this.maximumSteps+1),this.bestPositionOfSteps.fill(null),this.bestFitnessOfSteps=new Array(this.maximumSteps+1),this.bestFitnessOfSteps.fill(0),this.swarmOfSteps=new Array(this.maximumSteps);for(let u=0;u=this.maximumSteps}}class NF extends frt{constructor(e,n,o,i,r,a,l,s,c){super(n,o,i,r,a,e.length,l,s,c),this.solarPanels=e;const u=this.swarm.particles[0];for(const[d,f]of e.entries()){const p=.5*(1+f.tiltAngle/Vt);if(u.position[d]=p,this.searchMethod===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)for(let g=1;g1;)A=LF.gaussian()*this.localSearchRadius+p;y.position[d]=A}}}applyFittest(){const e=this.swarm.bestPositionOfSwarm;if(e){for(let n=0;nr.fitness&&r.updateBestPosition(),r.fitness=n,this.computeCounter===0&&e===0&&(this.bestPositionOfSteps[0]=[...r.position],this.bestFitnessOfSteps[0]=n);const a=Math.floor(this.computeCounter/o);console.log("Step "+(a+1)+", particle "+e+" : "+NF.particleToString(r.position,n));const l=(i=this.swarmOfSteps[a])==null?void 0:i.particles[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=gt(K2),r=gt(wq),a=M(Z9),l=M(Q9),s=M(zq),c=gt(vq),u=M(uW),d=M(Dq),f=M(pA).particleSwarmOptimizationParams,p=Kt(),g=m.useRef(0),y=m.useRef(!1),A=m.useRef(!1),x=m.useRef(),C=m.useRef(),b=m.useRef(0),v=m.useRef(!1),S=m.useRef([]);m.useEffect(()=>{if(f.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i){w(),g.current=requestAnimationFrame(P);const D=[...S.current];return()=>{cancelAnimationFrame(g.current),y.current||(fn(O.t("message.EvolutionAborted",p)),gt.getState().set(E=>{E.evolutionInProgress=!1}),D.length>0&&(x.current=D,R(!0)))}}},[i]),m.useEffect(()=>{A.current=r,r?(cancelAnimationFrame(g.current),gt.getState().set(D=>{D.evolutionPaused=!0}),fn(O.t("message.EvolutionPaused",p))):(gt.getState().set(D=>{D.evolutionPaused=!1}),P())},[r]);const w=()=>{if(!a)return;gt.getState().set(L=>{L.evolutionInProgress=!0,L.objectiveEvaluationIndex=0}),y.current=!1;const D=l(z.SolarPanel,a.id);S.current.length=0;for(const L of D)S.current.push(JSON.parse(JSON.stringify(L)));x.current=[];const E=[];for(const L of D)x.current.push(JSON.parse(JSON.stringify(L))),E.push(L.label);x.current.length>0?(C.current=new NF(x.current,a,f.objectiveFunctionType,f.swarmSize,f.vmax,f.maximumSteps,f.convergenceThreshold,f.searchMethod,f.localSearchRadius),C.current.inertia=f.inertia,C.current.cognitiveCoefficient=f.cognitiveCoefficient,C.current.socialCoefficient=f.socialCoefficient,b.current=0,v.current=!1,d(E),C.current.startEvolving(),t(L=>{L.viewState.showEvolutionPanel=!0,L.selectedFloatingWindow="solarPanelOptimizationResult"})):Lo(O.t("message.EncounterEvolutionError",p))},T=()=>{let D=0;switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:{const E=bn.getState().dailyPvYield;for(const L of E)for(const U in L)Object.hasOwn(L,U)&&U==="Total"&&(D+=L[U]);break}case xo.YEARLY_TOTAL_OUTPUT:{const E=bn.getState().yearlyPvYield;for(const L of E)for(const U in L)Object.hasOwn(L,U)&&U==="Total"&&(D+=L[U]);D*=12/n;break}}return D};m.useEffect(()=>{!C.current||!c||(v.current=C.current.updateParticle(b.current%f.swarmSize,T()),H(),b.current++,C.current.outsideStepCounter=Math.floor(b.current/f.swarmSize),g.current=requestAnimationFrame(P))},[c]);const P=()=>{if(C.current&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i&&!A.current){if(v.current||C.current.outsideStepCounter>=f.maximumSteps){if(cancelAnimationFrame(g.current),y.current=!0,C.current.applyFittest(),H(),R(!0),fn(O.t("message.EvolutionCompleted",p)+` +`+(v.current?O.t("message.ConvergenceThresholdHasBeenReached",p):O.t("message.MaximumNumberOfStepsHasBeenReached",p))),e&&C.current){const D=C.current.swarm.bestPositionOfSwarm,E=C.current.swarm.bestFitness;D&&E&&t(L=>{var U;L.actionInfo={name:"Particle Swarm Optimization for Solar Panel Tilt Angle Completed",result:NF.particleToString(D,E),steps:(U=C.current)==null?void 0:U.outsideStepCounter,timestamp:new Date().getTime()}})}return}C.current.translateParticle(b.current%f.swarmSize),R(!1)}},R=D=>{gt.getState().set(E=>{if(x.current)switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:D?E.runDailySimulationForSolarPanelsLastStep=!0:E.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:D?E.runYearlySimulationForSolarPanelsLastStep=!0:E.runYearlySimulationForSolarPanels=!0;break}}),t(E=>{if(x.current){switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:E.graphState&&(E.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:E.graphState&&(E.graphState.yearlyPvIndividualOutputs=!1);break}for(const L of E.elements)if(L.type===z.SolarPanel){const U=L;for(const F of x.current)if(U.id===F.id){U.tiltAngle=F.tiltAngle;break}}}}),D&>.getState().set(E=>{E.runEvolution=!1,E.evolutionInProgress=!1,E.objectiveEvaluationIndex=0})},H=()=>{var E;if(!C.current)return;const D=[];for(let L=0;L0){const B=C.current.swarmOfSteps[L-1];if(B){let k=0;for(let N=0;N0&&D.push(U)}s(D)};return h.jsx(h.Fragment,{})});class d9o extends frt{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,y,A,x,C,b,v,S,w,T){if(super(c,u,d,f,p,3,g,y,A),this.orientation=ci.landscape,this.rowAxis=Rl.leftRight,this.relativeMargin=.01,this.poleHeight=2,this.poleSpacing=5,this.solarPanelCount=0,this.solarRackCount=0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.margin=0,this.polygon=s,this.pvModel=e,this.rowAxis=n,this.orientation=o,this.poleHeight=i,this.poleSpacing=r,this.minimumInterRowSpacing=x,this.maximumInterRowSpacing=C,this.minimumRowsPerRack=b,this.maximumRowsPerRack=v,this.minimumTiltAngle=S,this.maximumTiltAngle=w,this.margin=T,this.setInterRowSpacingBounds(),a&&a.length>0){const P=a[0];if(a.length>1){const R=this.swarm.particles[0];R.position[0]=this.maximumTiltAngle===this.minimumTiltAngle?0:(P.tiltAngle-this.minimumTiltAngle)/(this.maximumTiltAngle-this.minimumTiltAngle);const H=a[1],D=l?l.interRowSpacing:this.rowAxis===Rl.upDown?Math.abs(P.cx-H.cx)*this.foundation.lx:Math.abs(P.cy-H.cy)*this.foundation.ly;let E=this.maximumInterRowSpacing===this.minimumInterRowSpacing?0:(D-this.minimumInterRowSpacing)/(this.maximumInterRowSpacing-this.minimumInterRowSpacing);E<0?E=0:E>1&&(E=1),R.position[1]=E;const L=l?l.rowsPerRack:Math.max(1,Math.round(P.ly/(P.orientation===ci.portrait?e.length:e.width)));let U=this.maximumRowsPerRack===this.minimumRowsPerRack?0:(L-this.minimumRowsPerRack)/(this.maximumRowsPerRack-this.minimumRowsPerRack);U<0?U=0:U>1&&(U=1),R.position[2]=U}}}setInterRowSpacingBounds(){this.bounds=be.calculatePolygonBounds(this.polygon.vertices)}applyFittest(){this.swarm.bestPositionOfSwarm&&console.log("Best: "+this.particleToString(this.swarm.bestPositionOfSwarm,this.swarm.bestFitness)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount)}getObjectiveUnit(){switch(this.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:return"kWh";case xo.YEARLY_PROFIT:case xo.DAILY_PROFIT:return"dollars"}return null}particleToString(e,n){let o="F("+be.toDegrees(e[0]*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle).toFixed(3)+"°, ";return o+=(e[1]*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing).toFixed(3)+"m, ",o+=Math.floor(e[2]*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack)+")",o+" = "+n.toFixed(5)+" "+this.getObjectiveUnit()}startEvolving(){this.outsideStepCounter=0,this.computeCounter=0,this.bestPositionOfSteps.fill(null),this.bestFitnessOfSteps.fill(0),this.setInterRowSpacingBounds()}translateParticleByIndex(e){return this.translatePosition(this.swarm.particles[e].position)}translateBest(){return this.swarm.bestPositionOfSwarm?this.translatePosition(this.swarm.bestPositionOfSwarm):[]}translatePosition(e){if(!this.bounds)return[];const n=e[0]*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle,o=e[1]*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing,i=Math.floor(e[2]*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack),r=FR.create(this.polygon,this.foundation,this.pvModel,this.orientation,n,i,o,this.rowAxis,this.poleHeight,this.poleSpacing,this.margin);if(this.solarPanelCount=0,this.solarRackCount=r.length,r.length>0)for(const a of r)this.solarPanelCount+=be.countSolarPanelsOnRack(a,this.pvModel);return r}updateParticle(e,n){var i;const o=this.swarm.particles.length;if(!this.converged){const r=this.swarm.particles[e];r.fitness=n,this.computeCounter===0&&e===0&&(this.bestPositionOfSteps[0]=[...r.position],this.bestFitnessOfSteps[0]=n);const a=Math.floor(this.computeCounter/o);console.log("Step "+(a+1)+", particle "+e+" : "+this.particleToString(r.position,n)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount);const l=(i=this.swarmOfSteps[a])==null?void 0:i.particles[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=gt(K2),r=gt(wq),a=M(rr),l=M(Z9),s=M(Q9),c=M(J2),u=M(lge),d=M(zq),f=gt(vq),p=M(uW),g=M(Dq),y=M(pA).particleSwarmOptimizationParams,A=M.getState().solarPanelArrayLayoutConstraints,x=M.getState().economicsParams,C=M.getState().solarPanelArrayLayoutParams,b=m.useRef(0),v=m.useRef(!1),S=m.useRef(!1),w=m.useRef(),T=m.useRef(0),P=m.useRef(!1),R=m.useRef([]),H=m.useRef([]),D=Kt(),E=l?a(l):void 0;m.useEffect(()=>{if(o===Bs.PARTICLE_SWARM_OPTIMIZATION&&y.problem===Tr.SOLAR_PANEL_ARRAY&&i){L(),b.current=requestAnimationFrame(F);const k=[...H.current];return()=>{cancelAnimationFrame(b.current),v.current||(fn(O.t("message.EvolutionAborted",D)),gt.getState().set(N=>{N.evolutionInProgress=!1,N.runDailySimulationForSolarPanels=!1,N.runYearlySimulationForSolarPanels=!1}),setTimeout(()=>{R.current.length>0&&u(l.id,!1),k.length>0&&(R.current=k,W(!0))},100))}}},[i]),m.useEffect(()=>{S.current=r,r?(cancelAnimationFrame(b.current),gt.getState().set(k=>{k.evolutionPaused=!0}),fn(O.t("message.EvolutionPaused",D))):(gt.getState().set(k=>{k.evolutionPaused=!1}),F())},[r]);const L=()=>{if(!l||!E)return;gt.getState().set(N=>{N.evolutionInProgress=!0,N.objectiveEvaluationIndex=0}),v.current=!1;const k=s(z.SolarPanel,E.id);H.current.length=0;for(const N of k)H.current.push(JSON.parse(JSON.stringify(N)));w.current=new d9o(c(A.pvModelName??"CS6X-355P-FG"),A.rowAxis??Rl.leftRight,A.orientation??ci.landscape,A.poleHeight??1,A.poleSpacing??3,H.current,C,l,E,y.objectiveFunctionType,y.swarmSize,y.vmax,y.maximumSteps,y.convergenceThreshold,y.searchMethod,y.localSearchRadius,A.minimumInterRowSpacing,A.maximumInterRowSpacing,A.minimumRowsPerRack,A.maximumRowsPerRack,A.minimumTiltAngle,A.maximumTiltAngle,A.margin??0),w.current.inertia=y.inertia,w.current.cognitiveCoefficient=y.cognitiveCoefficient,w.current.socialCoefficient=y.socialCoefficient,T.current=0,P.current=!1,g(["Tilt Angle","Inter-Row Spacing","Rack Width"]),w.current.startEvolving(),t(N=>{N.viewState.showEvolutionPanel=!0,N.selectedFloatingWindow="solarPanelOptimizationResult"})},U=()=>{var j;let k=0;switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:{const Y=bn.getState().dailyPvYield;for(const _ of Y)for(const J in _)Object.hasOwn(_,J)&&J==="Total"&&(k+=_[J]);break}case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:{const Y=bn.getState().yearlyPvYield;for(const _ of Y)for(const J in _)Object.hasOwn(_,J)&&J==="Total"&&(k+=_[J]);k*=12/n;break}}const N=(j=w.current)==null?void 0:j.solarPanelCount;switch(y.objectiveFunctionType){case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:N&&(k/=N);break;case xo.DAILY_PROFIT:k=k*x.electricitySellingPrice,N&&(k-=N*x.operationalCostPerUnit);break;case xo.YEARLY_PROFIT:k=k*x.electricitySellingPrice,N&&(k-=N*x.operationalCostPerUnit*365);break}return k};m.useEffect(()=>{!w.current||!f||(P.current=w.current.updateParticle(T.current%y.swarmSize,U()),B(),T.current++,w.current.outsideStepCounter=Math.floor(T.current/y.swarmSize),b.current=requestAnimationFrame(F))},[f]);const F=()=>{if(w.current&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i&&!S.current){if(P.current||w.current.outsideStepCounter>=y.maximumSteps){if(cancelAnimationFrame(b.current),v.current=!0,R.current.length>0&&u(l.id,!1),R.current=w.current.translateBest(),w.current.applyFittest(),B(),W(!0),fn(O.t("message.EvolutionCompleted",D)+` +`+(P.current?O.t("message.ConvergenceThresholdHasBeenReached",D):O.t("message.MaximumNumberOfStepsHasBeenReached",D))),w.current){const k=w.current.swarm.bestPositionOfSwarm,N=w.current.swarm.bestFitness;if(k&&N){const j=k[0]*(A.maximumTiltAngle-A.minimumTiltAngle)+A.minimumTiltAngle,Y=k[1]*(A.maximumInterRowSpacing-A.minimumInterRowSpacing)+A.minimumInterRowSpacing,_=Math.floor(k[2]*(A.maximumRowsPerRack-A.minimumRowsPerRack)+A.minimumRowsPerRack);t(J=>{J.solarPanelArrayLayoutParams.tiltAngle=j,J.solarPanelArrayLayoutParams.interRowSpacing=Y,J.solarPanelArrayLayoutParams.rowsPerRack=_,J.solarPanelArrayLayoutParams.orientation=A.orientation,J.solarPanelArrayLayoutParams.poleHeight=A.poleHeight}),e&&t(J=>{var Q,ee;J.actionInfo={name:"Particle Swarm Optimization for Solar Panel Array Layout Completed",result:(Q=w.current)==null?void 0:Q.particleToString(k,N),steps:(ee=w.current)==null?void 0:ee.outsideStepCounter,timestamp:new Date().getTime()}})}}return}u(l.id,!1),setTimeout(()=>{w.current&&(R.current=w.current.translateParticleByIndex(T.current%y.swarmSize)),W(!1)},100)}},W=k=>{gt.getState().set(N=>{switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:k?N.runDailySimulationForSolarPanelsLastStep=!0:N.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:k?N.runYearlySimulationForSolarPanelsLastStep=!0:N.runYearlySimulationForSolarPanels=!0;break}}),t(N=>{switch(y.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:N.graphState&&(N.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:N.graphState&&(N.graphState.yearlyPvIndividualOutputs=!1);break}N.elements.push(...R.current)}),k&>.getState().set(N=>{N.runEvolution=!1,N.evolutionInProgress=!1,N.objectiveEvaluationIndex=0})},B=()=>{if(!w.current)return;const k=[];for(let N=0;N0){const J=w.current.swarmOfSteps[N-1];if(J){let Q=0;for(let ee=0;ee0&&k.push(j)}d(k)};return h.jsx(h.Fragment,{})}),h9o=Se.memo(()=>{const t=M(Cq),e=M(Hq),n=M(Mq),{gl:o}=Xi();return o.domElement.style.cursor=t!==z.None||n||e?"crosshair":"default",null}),Sm=()=>{gt.getState().set(t=>{t.showSolarRadiationHeatmap=!1,t.showHeatFluxes=!1})},p9o=Se.memo(({width:t=400,height:e=400})=>{const n=M(dn),o=M(En),i=M(Xs),r=M(wb),a=M(j1e),l=M(uAt),s=M(SBe),[c,u]=m.useState(null),d=100,f=m.useCallback(b=>{u(b)},[]),p=m.useCallback(function(){u(null)},[]),g=()=>{const b=new google.maps.LatLng(i,r);new google.maps.Geocoder().geocode({location:b},function(v,S){if(S===google.maps.GeocoderStatus.OK&&v&&v[0].address_components){n(w=>{w.world.address=v[0].formatted_address});for(const w of v[0].address_components)if(w.types[0]==="country"){n(T=>{T.world.countryCode=w.short_name});break}}}).then(()=>{})},y=M2.throttle(()=>{if(c){const b=c.getCenter();if(b){const v=b.lat(),S=b.lng();if(v!==i||S!==r){g();const w={name:"Set Location",timestamp:Date.now(),oldLatitude:i,newLatitude:v,oldLongitude:r,newLongitude:S,undo:()=>{Sm(),n(T=>{T.world.latitude=w.oldLatitude,T.world.longitude=w.oldLongitude})},redo:()=>{Sm(),n(T=>{T.world.latitude=w.newLatitude,T.world.longitude=w.newLongitude})}};o(w),Sm(),n(T=>{T.world.latitude=v,T.world.longitude=S})}}}},d,{leading:!1,trailing:!0}),A=M2.throttle(()=>{if(c){const b=c.getZoom();if(b!==void 0&&b!==a){g();const v={name:"Zoom Map",timestamp:Date.now(),oldValue:a,newValue:b,undo:()=>{n(S=>{S.viewState.mapZoom=v.oldValue})},redo:()=>{n(S=>{S.viewState.mapZoom=v.newValue})}};o(v),n(S=>{S.viewState.mapZoom=b})}}},d,{leading:!1,trailing:!0}),x=()=>{if(c){const b=c.getTilt();if(b!==void 0&&b!==l){const v={name:"Tilt Map",timestamp:Date.now(),oldValue:l,newValue:b,undo:()=>{n(S=>{S.viewState.mapTilt=v.oldValue})},redo:()=>{n(S=>{S.viewState.mapTilt=v.newValue})}};o(v),n(S=>{S.viewState.mapTilt=b})}}},C=()=>{if(c){const b=c.getMapTypeId();if(b!==void 0&&b!==s){const v={name:"Change Map Type",timestamp:Date.now(),oldValue:s,newValue:b,undo:()=>{n(S=>{S.viewState.mapType=v.oldValue,S.viewState.groundImageType=S.viewState.mapType})},redo:()=>{n(S=>{S.viewState.mapType=v.newValue,S.viewState.groundImageType=S.viewState.mapType})}};o(v),n(S=>{S.viewState.mapType=b,S.viewState.groundImageType=b})}}};return h.jsx(Aot,{mapContainerStyle:{border:"1px solid",width:t+"px",height:e+"px"},mapTypeId:s,center:{lat:i,lng:r},zoom:a,tilt:l,onLoad:f,onUnmount:p,onCenterChanged:y,onZoomChanged:A,onTiltChanged:x,onMapTypeIdChanged:C})}),g9o=["places"],m9o=Ho.div` position: fixed; top: 40px; left: 10px; @@ -8519,7 +8519,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t align-items: center; padding: 16px; z-index: 10; -`,w9o=Ho.div` +`,y9o=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -8537,7 +8537,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t overflow-x: auto; overflow-y: auto; resize: both; -`,v9o=Ho.div` +`,A9o=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8555,7 +8555,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t padding: 8px; fill: #666; } -`,x9o=Se.memo(()=>{const t=M(dn),e=M(En),n=M(mq),o=M(Xs),i=M(wb),r=M(mAt),a=M(yAt),l=M(sA),s=M(ABe),c=M(j1e),u=M(bc),d=Se.useRef(null),f=m.useRef(),p=m.useRef(null),g=p.current?p.current.clientWidth+40:460,y=p.current?p.current.clientHeight+40:600,[A,x]=m.useState({x:isNaN(r)?0:Math.min(r,window.innerWidth-g),y:isNaN(a)?0:Math.min(a,window.innerHeight-y)}),[C,b]=m.useState(!1),v=Kt();m.useEffect(()=>{const E=()=>{x({x:Math.min(r,window.innerWidth-g),y:Math.min(a,window.innerHeight-y)})};return window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E)}},[]);const{isLoaded:S,loadError:w}=bot({id:"google-map-script",googleMapsApiKey:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",libraries:y9o}),T=()=>{var L;const E=(L=f.current)==null?void 0:L.getPlaces();if(E&&E.length>0){const U=E[0].geometry;if(U&&U.location){const F={name:"Set Location",timestamp:Date.now(),oldLatitude:o,newLatitude:U.location.lat(),oldLongitude:i,newLongitude:U.location.lng(),oldAddress:n,newAddress:E[0].formatted_address,undo:()=>{t(W=>{W.world.latitude=F.oldLatitude,W.world.longitude=F.oldLongitude,W.world.address=F.oldAddress}),Sm(),b(!C)},redo:()=>{t(W=>{W.world.latitude=F.newLatitude,W.world.longitude=F.newLongitude,W.world.address=F.newAddress}),Sm(),b(!C)}};e(F),Sm(),t(W=>{if(U.location&&(W.world.latitude=U.location.lat(),W.world.longitude=U.location.lng()),E[0]&&(W.world.address=E[0].formatted_address,E[0].address_components)){for(const B of E[0].address_components)if(B.types[0]==="country"){W.world.countryCode=B.short_name;break}}})}}},P=E=>{f.current=E},R=(E,L)=>{x({x:Math.min(L.x,window.innerWidth-g),y:Math.min(L.y,window.innerHeight-y)})},H=(E,L)=>{t(U=>{U.viewState.mapPanelX=Math.min(L.x,window.innerWidth-g),U.viewState.mapPanelY=Math.min(L.y,window.innerHeight-y)})},D=()=>{const E={name:"Close Maps",timestamp:Date.now(),undo:()=>{t(L=>{L.viewState.showMapPanel=!0})},redo:()=>{t(L=>{L.viewState.showMapPanel=!1})}};e(E),t(L=>{L.viewState.showMapPanel=!1})};return h.jsx(Vr,{nodeRef:d,handle:".handle",bounds:"parent",axis:"both",position:A,onDrag:R,onStop:H,onMouseDown:()=>{t(E=>{E.selectedFloatingWindow="mapPanel"})},children:h.jsx(A9o,{ref:d,style:{zIndex:u==="mapPanel"?xc:10},children:h.jsxs(w9o,{ref:p,children:[h.jsxs(v9o,{className:"handle",children:[h.jsx("span",{children:O.t("word.Location",v)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:O.t("word.Close",v)})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx(en,{style:{paddingTop:"10px"},align:"center",size:20,children:h.jsxs(en,{direction:"horizontal",children:[h.jsx(en,{style:{fontSize:"12px"},children:O.t("mapPanel.ImageOnGround",v)+":"}),h.jsx(wc,{title:"Show ground image",checked:l,onChange:E=>{const L={name:"Show Ground Image",timestamp:Date.now(),checked:E,undo:()=>{t(U=>{U.viewState.groundImage=!L.checked})},redo:()=>{t(U=>{U.viewState.groundImage=L.checked})}};e(L),t(U=>{U.viewState.groundImage=E})}}),h.jsx(en,{style:{fontSize:"12px"},children:O.t("mapPanel.HideAddress",v)+":"}),h.jsx(wc,{title:"Hide address",checked:s,onChange:E=>{const L={name:"Hide Address",timestamp:Date.now(),checked:E,undo:()=>{t(U=>{U.viewState.hideAddress=!L.checked})},redo:()=>{t(U=>{U.viewState.hideAddress=L.checked})}};e(L),t(U=>{U.viewState.hideAddress=E})}})]})}),S&&h.jsx(en,{children:h.jsx("div",{children:h.jsx(Iot,{onLoad:P,onPlacesChanged:T,children:h.jsx("input",{type:"text",placeholder:n,style:{boxSizing:"border-box",border:"1px solid transparent",width:"400px",height:"32px",padding:"0 12px",borderRadius:"3px",boxShadow:"0 2px 6px rgba(0, 0, 0, 0.3)",fontSize:"14px",outline:"none",textOverflow:"ellipses",position:"relative"}})})})}),S?h.jsx(en,{children:h.jsxs("div",{children:[h.jsx(m9o,{width:400,height:400}),h.jsxs("p",{style:{paddingTop:"10px",fontSize:"12px"},children:[O.t("mapPanel.Coordinates",v)+":"," (",Math.abs(o).toFixed(sw)+(o>0?"°N":"°S"),","," ",Math.abs(i).toFixed(sw)+(i>0?"°E":"°W"),"),  ",O.t("mapPanel.Zoom",v)+":"," ",c]})]})}):h.jsx(dQ,{}),w&&h.jsx(en,{children:h.jsx("div",{children:"Map cannot be loaded right now, sorry."})})]})]})})})}),b9o=Ho.div` +`,w9o=Se.memo(()=>{const t=M(dn),e=M(En),n=M(mq),o=M(Xs),i=M(wb),r=M(pAt),a=M(gAt),l=M(sA),s=M(ABe),c=M(j1e),u=M(bc),d=Se.useRef(null),f=m.useRef(),p=m.useRef(null),g=p.current?p.current.clientWidth+40:460,y=p.current?p.current.clientHeight+40:600,[A,x]=m.useState({x:isNaN(r)?0:Math.min(r,window.innerWidth-g),y:isNaN(a)?0:Math.min(a,window.innerHeight-y)}),[C,b]=m.useState(!1),v=Kt();m.useEffect(()=>{const E=()=>{x({x:Math.min(r,window.innerWidth-g),y:Math.min(a,window.innerHeight-y)})};return window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E)}},[]);const{isLoaded:S,loadError:w}=bot({id:"google-map-script",googleMapsApiKey:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",libraries:g9o}),T=()=>{var L;const E=(L=f.current)==null?void 0:L.getPlaces();if(E&&E.length>0){const U=E[0].geometry;if(U&&U.location){const F={name:"Set Location",timestamp:Date.now(),oldLatitude:o,newLatitude:U.location.lat(),oldLongitude:i,newLongitude:U.location.lng(),oldAddress:n,newAddress:E[0].formatted_address,undo:()=>{t(W=>{W.world.latitude=F.oldLatitude,W.world.longitude=F.oldLongitude,W.world.address=F.oldAddress}),Sm(),b(!C)},redo:()=>{t(W=>{W.world.latitude=F.newLatitude,W.world.longitude=F.newLongitude,W.world.address=F.newAddress}),Sm(),b(!C)}};e(F),Sm(),t(W=>{if(U.location&&(W.world.latitude=U.location.lat(),W.world.longitude=U.location.lng()),E[0]&&(W.world.address=E[0].formatted_address,E[0].address_components)){for(const B of E[0].address_components)if(B.types[0]==="country"){W.world.countryCode=B.short_name;break}}})}}},P=E=>{f.current=E},R=(E,L)=>{x({x:Math.min(L.x,window.innerWidth-g),y:Math.min(L.y,window.innerHeight-y)})},H=(E,L)=>{t(U=>{U.viewState.mapPanelX=Math.min(L.x,window.innerWidth-g),U.viewState.mapPanelY=Math.min(L.y,window.innerHeight-y)})},D=()=>{const E={name:"Close Maps",timestamp:Date.now(),undo:()=>{t(L=>{L.viewState.showMapPanel=!0})},redo:()=>{t(L=>{L.viewState.showMapPanel=!1})}};e(E),t(L=>{L.viewState.showMapPanel=!1})};return h.jsx(Vr,{nodeRef:d,handle:".handle",bounds:"parent",axis:"both",position:A,onDrag:R,onStop:H,onMouseDown:()=>{t(E=>{E.selectedFloatingWindow="mapPanel"})},children:h.jsx(m9o,{ref:d,style:{zIndex:u==="mapPanel"?xc:10},children:h.jsxs(y9o,{ref:p,children:[h.jsxs(A9o,{className:"handle",children:[h.jsx("span",{children:O.t("word.Location",v)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:O.t("word.Close",v)})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx(en,{style:{paddingTop:"10px"},align:"center",size:20,children:h.jsxs(en,{direction:"horizontal",children:[h.jsx(en,{style:{fontSize:"12px"},children:O.t("mapPanel.ImageOnGround",v)+":"}),h.jsx(wc,{title:"Show ground image",checked:l,onChange:E=>{const L={name:"Show Ground Image",timestamp:Date.now(),checked:E,undo:()=>{t(U=>{U.viewState.groundImage=!L.checked})},redo:()=>{t(U=>{U.viewState.groundImage=L.checked})}};e(L),t(U=>{U.viewState.groundImage=E})}}),h.jsx(en,{style:{fontSize:"12px"},children:O.t("mapPanel.HideAddress",v)+":"}),h.jsx(wc,{title:"Hide address",checked:s,onChange:E=>{const L={name:"Hide Address",timestamp:Date.now(),checked:E,undo:()=>{t(U=>{U.viewState.hideAddress=!L.checked})},redo:()=>{t(U=>{U.viewState.hideAddress=L.checked})}};e(L),t(U=>{U.viewState.hideAddress=E})}})]})}),S&&h.jsx(en,{children:h.jsx("div",{children:h.jsx(Iot,{onLoad:P,onPlacesChanged:T,children:h.jsx("input",{type:"text",placeholder:n,style:{boxSizing:"border-box",border:"1px solid transparent",width:"400px",height:"32px",padding:"0 12px",borderRadius:"3px",boxShadow:"0 2px 6px rgba(0, 0, 0, 0.3)",fontSize:"14px",outline:"none",textOverflow:"ellipses",position:"relative"}})})})}),S?h.jsx(en,{children:h.jsxs("div",{children:[h.jsx(p9o,{width:400,height:400}),h.jsxs("p",{style:{paddingTop:"10px",fontSize:"12px"},children:[O.t("mapPanel.Coordinates",v)+":"," (",Math.abs(o).toFixed(sw)+(o>0?"°N":"°S"),","," ",Math.abs(i).toFixed(sw)+(i>0?"°E":"°W"),"),  ",O.t("mapPanel.Zoom",v)+":"," ",c]})]})}):h.jsx(dQ,{}),w&&h.jsx(en,{children:h.jsx("div",{children:"Map cannot be loaded right now, sorry."})})]})]})})})}),v9o=Ho.div` position: absolute; top: 80px; right: 24px; @@ -8564,7 +8564,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t align-items: center; padding: 16px; z-index: 11; -`,S9o=Ho.div` +`,x9o=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8575,7 +8575,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t border-radius: 10px 10px 10px 10px; display: flex; flex-direction: column; -`,T9o=Ho.div` +`,b9o=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8586,41 +8586,41 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t justify-content: space-between; align-items: center; cursor: move; -`,P9o=Se.memo(()=>{const t=M(dn),e=M(En),n=M(Ya),o=M(Xs),i=M(mq),r=gt(JBe),a=M(iwt),l=gt(ZL),s=M(bBe),c=M(xBe),u=M(hAt),d=M(pAt),f=M(bc),p=Se.useRef(null),g=m.useRef(0),y=m.useRef(-1),A=m.useRef(null),x=A.current?A.current.clientWidth+40:680,C=A.current?A.current.clientHeight+100:250,[b,v]=m.useState({x:isNaN(u)?0:Math.max(u,x-window.innerWidth),y:isNaN(d)?0:Math.min(d,window.innerHeight-C)}),[S,w]=m.useState(!1),T=m.useMemo(()=>new Date(n),[n]),P=m.useMemo(()=>sl(T,o),[T,o]),{t:R}=jl(),H=Kt();m.useEffect(()=>{const B=()=>{v({x:Math.max(u,x-window.innerWidth),y:Math.min(d,window.innerHeight-C)})};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}},[C,x,u,d]),m.useEffect(()=>(g.current=requestAnimationFrame(D),()=>{cancelAnimationFrame(g.current)}),[r]),m.useEffect(()=>{r&&P.sunset===0&&(cancelAnimationFrame(g.current),gt.getState().set(B=>{B.animateSun=!1}))},[P.sunset]);const D=()=>{const B=M.getState().animate24Hours;if(r){g.current=requestAnimationFrame(D);const k=Date.now();if(k-y.current>100){const N=T.getDate(),j=T.getMinutes()+T.getHours()*60,Y=sl(T,M.getState().world.latitude);!B&&j>Y.sunset&&T.setHours(Y.sunrise/60,T.getMinutes()+15),T.setHours(T.getHours(),T.getMinutes()+15),T.setDate(N),E(T,!1),y.current=k}}else cancelAnimationFrame(g.current)},E=(B,k)=>{const N=new Date(T);if(N.setHours(B.getHours(),B.getMinutes()),k){const j={name:"Set Time",timestamp:Date.now(),oldValue:n,newValue:N.toLocaleString(),undo:()=>{t(Y=>{Y.world.date=j.oldValue})},redo:()=>{t(Y=>{Y.world.date=j.newValue})}};e(j)}t(j=>{j.world.date=N.toLocaleString("en-US")})},L=(B,k)=>{v({x:Math.max(k.x,x-window.innerWidth),y:Math.min(k.y,window.innerHeight-C)})},U=(B,k)=>{t(N=>{N.viewState.heliodonPanelX=Math.max(k.x,x-window.innerWidth),N.viewState.heliodonPanelY=Math.min(k.y,window.innerHeight-C)})},F=()=>{const B={name:"Close Sun and Time Settings Panel",timestamp:Date.now(),undo:()=>{t(k=>{k.viewState.showHeliodonPanel=!0})},redo:()=>{t(k=>{k.viewState.showHeliodonPanel=!1})}};e(B),t(k=>{k.viewState.showHeliodonPanel=!1})},W=m.useRef(M2.throttle(B=>{const k={name:"Set Latitude",timestamp:Date.now(),oldLatitude:o,newLatitude:B,oldAddress:i,newAddress:"",undo:()=>{t(N=>{N.world.latitude=k.oldLatitude,N.world.address=k.oldAddress}),Sm(),w(!S)},redo:()=>{t(N=>{N.world.latitude=k.newLatitude,N.world.address=k.newAddress}),Sm(),w(!S)}};e(k),t(N=>{N.world.latitude=B,N.world.address=""}),Sm()},500,{leading:!1,trailing:!0}));return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:L,onStop:U,onMouseDown:()=>{t(B=>{B.selectedFloatingWindow="heliodonPanel"})},children:h.jsx(b9o,{ref:p,style:{zIndex:f==="heliodonPanel"?xc:11},children:h.jsxs(S9o,{ref:A,children:[h.jsxs(T9o,{className:"handle",children:[h.jsx("span",{children:R("heliodonPanel.SunAndTimeSettings",H)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{F()},onMouseDown:()=>{F()},children:R("word.Close",H)})]}),h.jsxs(en,{style:{padding:"20px"},align:"baseline",size:20,children:[h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("menu.settings.Heliodon",H)}),h.jsx(wc,{checked:c,onChange:B=>{const k={name:"Show Heliodon",timestamp:Date.now(),checked:!c,undo:()=>{t(N=>{N.viewState.heliodon=!k.checked,N.viewState.heliodon&&N.updateSceneRadius()})},redo:()=>{t(N=>{N.viewState.heliodon=k.checked,N.viewState.heliodon&&N.updateSceneRadius()})}};e(k),t(N=>{N.viewState.heliodon=B,N.viewState.heliodon&&N.updateSceneRadius()})}})]}),c&&h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{style:{fontSize:"10px"},children:R("heliodonPanel.SunAngles",H)}),h.jsx(wc,{checked:s,onChange:B=>{const k={name:"Show Sun Angles",timestamp:Date.now(),checked:!s,undo:()=>{t(N=>{N.viewState.showSunAngles=!k.checked})},redo:()=>{t(N=>{N.viewState.showSunAngles=k.checked})}};e(k),t(N=>{N.viewState.showSunAngles=B})}})]}),P.sunset>0&&!l&&h.jsxs(h.Fragment,{children:[h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Animate",H)}),h.jsx(wc,{checked:r,onChange:B=>{const k={name:"Animate Heliodon",timestamp:Date.now(),checked:!r,undo:()=>{gt.getState().set(N=>{N.animateSun=!k.checked})},redo:()=>{gt.getState().set(N=>{N.animateSun=k.checked})}};e(k),gt.getState().set(N=>{N.animateSun=B})}})]}),r&&h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{style:{fontSize:"10px"},children:R("heliodonPanel.TwentyFourHours",H)}),h.jsx(wc,{checked:a,onChange:B=>{const k={name:"Animate 24 Hours",timestamp:Date.now(),checked:!a,undo:()=>{t(N=>{N.animate24Hours=!k.checked})},redo:()=>{t(N=>{N.animate24Hours=k.checked})}};e(k),t(N=>{N.animate24Hours=B})}})]})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Date",H)}),h.jsx(Db,{disabled:l,value:gc(T),onChange:B=>{if(B){const k=new Date(T),N=B.toDate();k.setFullYear(N.getFullYear()),k.setMonth(N.getMonth()),k.setDate(N.getDate());const j={name:"Set Date",timestamp:Date.now(),oldValue:n,newValue:k.toString(),undo:()=>{t(Y=>{Y.world.date=j.oldValue}),Sm()},redo:()=>{t(Y=>{Y.world.date=j.newValue}),Sm()}};e(j),t(Y=>{Y.world.date=k.toLocaleString("en-US")}),Sm()}}})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Time",H)}),h.jsx(jW,{disabled:l,value:gc(T),format:"HH:mm",onChange:B=>{B&&(E==null||E(B.toDate(),!0))}})]}),!l&&h.jsxs(en,{direction:"vertical",children:[h.jsxs("span",{children:[R("word.Latitude",H),": ",o.toFixed(2),"°"]}),h.jsx(Mu,{disabled:l,style:{width:"110px"},marks:{"-90":"-90°",0:"0°",90:"90°"},min:-90,max:90,value:o,tooltip:{open:!1},onChange:W.current})]})]})]})})})});function hrt(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e{const t=M(dn),e=M(En),n=M(Ya),o=M(Xs),i=M(mq),r=gt(JBe),a=M(nwt),l=gt(ZL),s=M(bBe),c=M(xBe),u=M(dAt),d=M(fAt),f=M(bc),p=Se.useRef(null),g=m.useRef(0),y=m.useRef(-1),A=m.useRef(null),x=A.current?A.current.clientWidth+40:680,C=A.current?A.current.clientHeight+100:250,[b,v]=m.useState({x:isNaN(u)?0:Math.max(u,x-window.innerWidth),y:isNaN(d)?0:Math.min(d,window.innerHeight-C)}),[S,w]=m.useState(!1),T=m.useMemo(()=>new Date(n),[n]),P=m.useMemo(()=>sl(T,o),[T,o]),{t:R}=jl(),H=Kt();m.useEffect(()=>{const B=()=>{v({x:Math.max(u,x-window.innerWidth),y:Math.min(d,window.innerHeight-C)})};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}},[C,x,u,d]),m.useEffect(()=>(g.current=requestAnimationFrame(D),()=>{cancelAnimationFrame(g.current)}),[r]),m.useEffect(()=>{r&&P.sunset===0&&(cancelAnimationFrame(g.current),gt.getState().set(B=>{B.animateSun=!1}))},[P.sunset]);const D=()=>{const B=M.getState().animate24Hours;if(r){g.current=requestAnimationFrame(D);const k=Date.now();if(k-y.current>100){const N=T.getDate(),j=T.getMinutes()+T.getHours()*60,Y=sl(T,M.getState().world.latitude);!B&&j>Y.sunset&&T.setHours(Y.sunrise/60,T.getMinutes()+15),T.setHours(T.getHours(),T.getMinutes()+15),T.setDate(N),E(T,!1),y.current=k}}else cancelAnimationFrame(g.current)},E=(B,k)=>{const N=new Date(T);if(N.setHours(B.getHours(),B.getMinutes()),k){const j={name:"Set Time",timestamp:Date.now(),oldValue:n,newValue:N.toLocaleString(),undo:()=>{t(Y=>{Y.world.date=j.oldValue})},redo:()=>{t(Y=>{Y.world.date=j.newValue})}};e(j)}t(j=>{j.world.date=N.toLocaleString("en-US")})},L=(B,k)=>{v({x:Math.max(k.x,x-window.innerWidth),y:Math.min(k.y,window.innerHeight-C)})},U=(B,k)=>{t(N=>{N.viewState.heliodonPanelX=Math.max(k.x,x-window.innerWidth),N.viewState.heliodonPanelY=Math.min(k.y,window.innerHeight-C)})},F=()=>{const B={name:"Close Sun and Time Settings Panel",timestamp:Date.now(),undo:()=>{t(k=>{k.viewState.showHeliodonPanel=!0})},redo:()=>{t(k=>{k.viewState.showHeliodonPanel=!1})}};e(B),t(k=>{k.viewState.showHeliodonPanel=!1})},W=m.useRef(M2.throttle(B=>{const k={name:"Set Latitude",timestamp:Date.now(),oldLatitude:o,newLatitude:B,oldAddress:i,newAddress:"",undo:()=>{t(N=>{N.world.latitude=k.oldLatitude,N.world.address=k.oldAddress}),Sm(),w(!S)},redo:()=>{t(N=>{N.world.latitude=k.newLatitude,N.world.address=k.newAddress}),Sm(),w(!S)}};e(k),t(N=>{N.world.latitude=B,N.world.address=""}),Sm()},500,{leading:!1,trailing:!0}));return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:L,onStop:U,onMouseDown:()=>{t(B=>{B.selectedFloatingWindow="heliodonPanel"})},children:h.jsx(v9o,{ref:p,style:{zIndex:f==="heliodonPanel"?xc:11},children:h.jsxs(x9o,{ref:A,children:[h.jsxs(b9o,{className:"handle",children:[h.jsx("span",{children:R("heliodonPanel.SunAndTimeSettings",H)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{F()},onMouseDown:()=>{F()},children:R("word.Close",H)})]}),h.jsxs(en,{style:{padding:"20px"},align:"baseline",size:20,children:[h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("menu.settings.Heliodon",H)}),h.jsx(wc,{checked:c,onChange:B=>{const k={name:"Show Heliodon",timestamp:Date.now(),checked:!c,undo:()=>{t(N=>{N.viewState.heliodon=!k.checked,N.viewState.heliodon&&N.updateSceneRadius()})},redo:()=>{t(N=>{N.viewState.heliodon=k.checked,N.viewState.heliodon&&N.updateSceneRadius()})}};e(k),t(N=>{N.viewState.heliodon=B,N.viewState.heliodon&&N.updateSceneRadius()})}})]}),c&&h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{style:{fontSize:"10px"},children:R("heliodonPanel.SunAngles",H)}),h.jsx(wc,{checked:s,onChange:B=>{const k={name:"Show Sun Angles",timestamp:Date.now(),checked:!s,undo:()=>{t(N=>{N.viewState.showSunAngles=!k.checked})},redo:()=>{t(N=>{N.viewState.showSunAngles=k.checked})}};e(k),t(N=>{N.viewState.showSunAngles=B})}})]}),P.sunset>0&&!l&&h.jsxs(h.Fragment,{children:[h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Animate",H)}),h.jsx(wc,{checked:r,onChange:B=>{const k={name:"Animate Heliodon",timestamp:Date.now(),checked:!r,undo:()=>{gt.getState().set(N=>{N.animateSun=!k.checked})},redo:()=>{gt.getState().set(N=>{N.animateSun=k.checked})}};e(k),gt.getState().set(N=>{N.animateSun=B})}})]}),r&&h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{style:{fontSize:"10px"},children:R("heliodonPanel.TwentyFourHours",H)}),h.jsx(wc,{checked:a,onChange:B=>{const k={name:"Animate 24 Hours",timestamp:Date.now(),checked:!a,undo:()=>{t(N=>{N.animate24Hours=!k.checked})},redo:()=>{t(N=>{N.animate24Hours=k.checked})}};e(k),t(N=>{N.animate24Hours=B})}})]})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Date",H)}),h.jsx(Db,{disabled:l,value:gc(T),onChange:B=>{if(B){const k=new Date(T),N=B.toDate();k.setFullYear(N.getFullYear()),k.setMonth(N.getMonth()),k.setDate(N.getDate());const j={name:"Set Date",timestamp:Date.now(),oldValue:n,newValue:k.toString(),undo:()=>{t(Y=>{Y.world.date=j.oldValue}),Sm()},redo:()=>{t(Y=>{Y.world.date=j.newValue}),Sm()}};e(j),t(Y=>{Y.world.date=k.toLocaleString("en-US")}),Sm()}}})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Time",H)}),h.jsx(jW,{disabled:l,value:gc(T),format:"HH:mm",onChange:B=>{B&&(E==null||E(B.toDate(),!0))}})]}),!l&&h.jsxs(en,{direction:"vertical",children:[h.jsxs("span",{children:[R("word.Latitude",H),": ",o.toFixed(2),"°"]}),h.jsx(Mu,{disabled:l,style:{width:"110px"},marks:{"-90":"-90°",0:"0°",90:"90°"},min:-90,max:90,value:o,tooltip:{open:!1},onChange:W.current})]})]})]})})})});function hrt(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e0?1:-1},Xv=function(e){return MN(e)&&e.indexOf("%")===e.length-1},si=function(e){return W9o(e)&&!AM(e)},Lu=function(e){return si(e)||MN(e)},j9o=0,oS=function(e){var n=++j9o;return"".concat(e||"").concat(n)},ab=function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!si(e)&&!MN(e))return o;var r;if(Xv(e)){var a=e.indexOf("%");r=n*parseFloat(e.slice(0,a))/100}else r=+e;return AM(r)&&(r=o),i&&r>n&&(r=n),r},iw=function(e){if(!e)return null;var n=Object.keys(e);return n&&n.length?e[n[0]]:null},Y9o=function(e){if(!Array.isArray(e))return!1;for(var n=e.length,o={},i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function K9o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function mfe(t){"@babel/helpers - typeof";return mfe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},mfe(t)}var uIe={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},D6=function(e){return typeof e=="string"?e:e?e.displayName||e.name||"Component":""},dIe=null,Fae=null,V9e=function t(e){if(e===dIe&&Array.isArray(Fae))return Fae;var n=[];return m.Children.forEach(e,function(o){ra(o)||(pfe.isFragment(o)?n=n.concat(t(o.props.children)):n.push(o))}),Fae=n,dIe=e,n};function Kp(t,e){var n=[],o=[];return Array.isArray(e)?o=e.map(function(i){return D6(i)}):o=[D6(e)],V9e(t).forEach(function(i){var r=Bm(i,"type.displayName")||Bm(i,"type.name");o.indexOf(r)!==-1&&n.push(i)}),n}function q1(t,e){var n=Kp(t,e);return n&&n[0]}var fIe=function(e){if(!e||!e.props)return!1;var n=e.props,o=n.width,i=n.height;return!(!si(o)||o<=0||!si(i)||i<=0)},q9o=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],$9o=function(e){return e&&e.type&&MN(e.type)&&q9o.indexOf(e.type)>=0},yrt=function(e){return e&&mfe(e)==="object"&&"cx"in e&&"cy"in e&&"r"in e},Q9o=function(e,n,o,i){var r,a=(r=kae==null?void 0:kae[i])!==null&&r!==void 0?r:[];return!Aa(e)&&(i&&a.includes(n)||V9o.includes(n))||o&&_9e.includes(n)},oa=function(e,n,o){if(!e||typeof e=="function"||typeof e=="boolean")return null;var i=e;if(m.isValidElement(e)&&(i=e.props),!tM(i))return null;var r={};return Object.keys(i).forEach(function(a){var l;Q9o((l=i)===null||l===void 0?void 0:l[a],a,n,o)&&(r[a]=i[a])}),r},yfe=function t(e,n){if(e===n)return!0;var o=m.Children.count(e);if(o!==m.Children.count(n))return!1;if(o===0)return!0;if(o===1)return hIe(Array.isArray(e)?e[0]:e,Array.isArray(n)?n[0]:n);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function o3o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function wfe(t){var e=t.children,n=t.width,o=t.height,i=t.viewBox,r=t.className,a=t.style,l=t.title,s=t.desc,c=n3o(t,t3o),u=i||{width:n,height:o,x:0,y:0},d=cl("recharts-surface",r);return Se.createElement("svg",Afe({},oa(c,!0,"svg"),{className:d,width:n,height:o,style:a,viewBox:"".concat(u.x," ").concat(u.y," ").concat(u.width," ").concat(u.height)}),Se.createElement("title",null,l),Se.createElement("desc",null,s),e)}var i3o=["children","className"];function vfe(){return vfe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function a3o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var Bl=Se.forwardRef(function(t,e){var n=t.children,o=t.className,i=r3o(t,i3o),r=cl("recharts-layer",o);return Se.createElement("g",vfe({className:r},oa(i,!0),{ref:e}),n)}),E6=function(e,n){for(var o=arguments.length,i=new Array(o>2?o-2:0),r=2;ri?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var r=Array(i);++o=o?t:c3o(t,e,n)}var d3o=u3o,f3o="\\ud800-\\udfff",h3o="\\u0300-\\u036f",p3o="\\ufe20-\\ufe2f",g3o="\\u20d0-\\u20ff",m3o=h3o+p3o+g3o,y3o="\\ufe0e\\ufe0f",A3o="\\u200d",w3o=RegExp("["+A3o+f3o+m3o+y3o+"]");function v3o(t){return w3o.test(t)}var Art=v3o;function x3o(t){return t.split("")}var b3o=x3o,wrt="\\ud800-\\udfff",S3o="\\u0300-\\u036f",T3o="\\ufe20-\\ufe2f",P3o="\\u20d0-\\u20ff",C3o=S3o+T3o+P3o,R3o="\\ufe0e\\ufe0f",H3o="["+wrt+"]",xfe="["+C3o+"]",bfe="\\ud83c[\\udffb-\\udfff]",M3o="(?:"+xfe+"|"+bfe+")",vrt="[^"+wrt+"]",xrt="(?:\\ud83c[\\udde6-\\uddff]){2}",brt="[\\ud800-\\udbff][\\udc00-\\udfff]",I3o="\\u200d",Srt=M3o+"?",Trt="["+R3o+"]?",z3o="(?:"+I3o+"(?:"+[vrt,xrt,brt].join("|")+")"+Trt+Srt+")*",D3o=Trt+Srt+z3o,E3o="(?:"+[vrt+xfe+"?",xfe,xrt,brt,H3o].join("|")+")",k3o=RegExp(bfe+"(?="+bfe+")|"+E3o+D3o,"g");function F3o(t){return t.match(k3o)||[]}var L3o=F3o,W3o=b3o,N3o=Art,U3o=L3o;function B3o(t){return N3o(t)?U3o(t):W3o(t)}var j3o=B3o,Y3o=d3o,O3o=Art,_3o=j3o,V3o=pnt;function G3o(t){return function(e){e=V3o(e);var n=O3o(e)?_3o(e):void 0,o=n?n[0]:e.charAt(0),i=n?Y3o(n,1).join(""):e.slice(1);return o[t]()+i}}var X3o=G3o,J3o=X3o,K3o=J3o("toUpperCase"),q3o=K3o;const Aee=kr(q3o);function Us(t){return function(){return t}}const Prt=Math.cos,aJ=Math.sin,i5=Math.sqrt,lJ=Math.PI,wee=2*lJ,Sfe=Math.PI,Tfe=2*Sfe,hv=1e-6,$3o=Tfe-hv;function Crt(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Crt;const n=10**e;return function(o){this._+=o[0];for(let i=1,r=o.length;ihv)if(!(Math.abs(d*s-c*u)>hv)||!r)this._append`L${this._x1=e},${this._y1=n}`;else{let p=o-a,g=i-l,y=s*s+c*c,A=p*p+g*g,x=Math.sqrt(y),C=Math.sqrt(f),b=r*Math.tan((Sfe-Math.acos((y+f-A)/(2*x*C)))/2),v=b/C,S=b/x;Math.abs(v-1)>hv&&this._append`L${e+v*u},${n+v*d}`,this._append`A${r},${r},0,0,${+(d*p>u*g)},${this._x1=e+S*s},${this._y1=n+S*c}`}}arc(e,n,o,i,r,a){if(e=+e,n=+n,o=+o,a=!!a,o<0)throw new Error(`negative radius: ${o}`);let l=o*Math.cos(i),s=o*Math.sin(i),c=e+l,u=n+s,d=1^a,f=a?i-r:r-i;this._x1===null?this._append`M${c},${u}`:(Math.abs(this._x1-c)>hv||Math.abs(this._y1-u)>hv)&&this._append`L${c},${u}`,o&&(f<0&&(f=f%Tfe+Tfe),f>$3o?this._append`A${o},${o},0,1,${d},${e-l},${n-s}A${o},${o},0,1,${d},${this._x1=c},${this._y1=u}`:f>hv&&this._append`A${o},${o},0,${+(f>=Sfe)},${d},${this._x1=e+o*Math.cos(r)},${this._y1=n+o*Math.sin(r)}`)}rect(e,n,o,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${o=+o}v${+i}h${-o}Z`}toString(){return this._}}function G9e(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const o=Math.floor(n);if(!(o>=0))throw new RangeError(`invalid digits: ${n}`);e=o}return t},()=>new Z3o(e)}function X9e(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Rrt(t){this._context=t}Rrt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function vee(t){return new Rrt(t)}function Hrt(t){return t[0]}function Mrt(t){return t[1]}function J9e(t,e){var n=Us(!0),o=null,i=vee,r=null,a=G9e(l);t=typeof t=="function"?t:t===void 0?Hrt:Us(t),e=typeof e=="function"?e:e===void 0?Mrt:Us(e);function l(s){var c,u=(s=X9e(s)).length,d,f=!1,p;for(o==null&&(r=i(p=a())),c=0;c<=u;++c)!(c=p;--g)l.point(b[g],v[g]);l.lineEnd(),l.areaEnd()}x&&(b[f]=+t(A,f,d),v[f]=+e(A,f,d),l.point(o?+o(A,f,d):b[f],n?+n(A,f,d):v[f]))}if(C)return l=null,C+""||null}function u(){return J9e().defined(i).curve(a).context(r)}return c.x=function(d){return arguments.length?(t=typeof d=="function"?d:Us(+d),o=null,c):t},c.x0=function(d){return arguments.length?(t=typeof d=="function"?d:Us(+d),c):t},c.x1=function(d){return arguments.length?(o=d==null?null:typeof d=="function"?d:Us(+d),c):o},c.y=function(d){return arguments.length?(e=typeof d=="function"?d:Us(+d),n=null,c):e},c.y0=function(d){return arguments.length?(e=typeof d=="function"?d:Us(+d),c):e},c.y1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Us(+d),c):n},c.lineX0=c.lineY0=function(){return u().x(t).y(e)},c.lineY1=function(){return u().x(t).y(n)},c.lineX1=function(){return u().x(o).y(e)},c.defined=function(d){return arguments.length?(i=typeof d=="function"?d:Us(!!d),c):i},c.curve=function(d){return arguments.length?(a=d,r!=null&&(l=a(r)),c):a},c.context=function(d){return arguments.length?(d==null?r=l=null:l=a(r=d),c):r},c}class Irt{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}function e6o(t){return new Irt(t,!0)}function t6o(t){return new Irt(t,!1)}const K9e={draw(t,e){const n=i5(e/lJ);t.moveTo(n,0),t.arc(0,0,n,0,wee)}},n6o={draw(t,e){const n=i5(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},zrt=i5(1/3),o6o=zrt*2,i6o={draw(t,e){const n=i5(e/o6o),o=n*zrt;t.moveTo(0,-n),t.lineTo(o,0),t.lineTo(0,n),t.lineTo(-o,0),t.closePath()}},r6o={draw(t,e){const n=i5(e),o=-n/2;t.rect(o,o,n,n)}},a6o=.8908130915292852,Drt=aJ(lJ/10)/aJ(7*lJ/10),l6o=aJ(wee/10)*Drt,s6o=-Prt(wee/10)*Drt,c6o={draw(t,e){const n=i5(e*a6o),o=l6o*n,i=s6o*n;t.moveTo(0,-n),t.lineTo(o,i);for(let r=1;r<5;++r){const a=wee*r/5,l=Prt(a),s=aJ(a);t.lineTo(s*n,-l*n),t.lineTo(l*o-s*i,s*o+l*i)}t.closePath()}},Lae=i5(3),u6o={draw(t,e){const n=-i5(e/(Lae*3));t.moveTo(0,n*2),t.lineTo(-Lae*n,-n),t.lineTo(Lae*n,-n),t.closePath()}},fm=-.5,hm=i5(3)/2,Pfe=1/i5(12),d6o=(Pfe/2+1)*3,f6o={draw(t,e){const n=i5(e/d6o),o=n/2,i=n*Pfe,r=o,a=n*Pfe+n,l=-r,s=a;t.moveTo(o,i),t.lineTo(r,a),t.lineTo(l,s),t.lineTo(fm*o-hm*i,hm*o+fm*i),t.lineTo(fm*r-hm*a,hm*r+fm*a),t.lineTo(fm*l-hm*s,hm*l+fm*s),t.lineTo(fm*o+hm*i,fm*i-hm*o),t.lineTo(fm*r+hm*a,fm*a-hm*r),t.lineTo(fm*l+hm*s,fm*s-hm*l),t.closePath()}};function h6o(t,e){let n=null,o=G9e(i);t=typeof t=="function"?t:Us(t||K9e),e=typeof e=="function"?e:Us(e===void 0?64:+e);function i(){let r;if(n||(n=r=o()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return i.type=function(r){return arguments.length?(t=typeof r=="function"?r:Us(r),i):t},i.size=function(r){return arguments.length?(e=typeof r=="function"?r:Us(+r),i):e},i.context=function(r){return arguments.length?(n=r??null,i):n},i}function sJ(){}function cJ(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Ert(t){this._context=t}Ert.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:cJ(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:cJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function p6o(t){return new Ert(t)}function krt(t){this._context=t}krt.prototype={areaStart:sJ,areaEnd:sJ,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:cJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function g6o(t){return new krt(t)}function Frt(t){this._context=t}Frt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,o=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,o):this._context.moveTo(n,o);break;case 3:this._point=4;default:cJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function m6o(t){return new Frt(t)}function Lrt(t){this._context=t}Lrt.prototype={areaStart:sJ,areaEnd:sJ,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function y6o(t){return new Lrt(t)}function gIe(t){return t<0?-1:1}function mIe(t,e,n){var o=t._x1-t._x0,i=e-t._x1,r=(t._y1-t._y0)/(o||i<0&&-0),a=(n-t._y1)/(i||o<0&&-0),l=(r*i+a*o)/(o+i);return(gIe(r)+gIe(a))*Math.min(Math.abs(r),Math.abs(a),.5*Math.abs(l))||0}function yIe(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Wae(t,e,n){var o=t._x0,i=t._y0,r=t._x1,a=t._y1,l=(r-o)/3;t._context.bezierCurveTo(o+l,i+l*e,r-l,a-l*n,r,a)}function uJ(t){this._context=t}uJ.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Wae(this,this._t0,yIe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Wae(this,yIe(this,n=mIe(this,t,e)),n);break;default:Wae(this,this._t0,n=mIe(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function Wrt(t){this._context=new Nrt(t)}(Wrt.prototype=Object.create(uJ.prototype)).point=function(t,e){uJ.prototype.point.call(this,e,t)};function Nrt(t){this._context=t}Nrt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,o,i,r){this._context.bezierCurveTo(e,t,o,n,r,i)}};function A6o(t){return new uJ(t)}function w6o(t){return new Wrt(t)}function Urt(t){this._context=t}Urt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var o=AIe(t),i=AIe(e),r=0,a=1;a=0;--e)i[e]=(a[e]-i[e+1])/r[e];for(r[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function x6o(t){return new xee(t,.5)}function b6o(t){return new xee(t,0)}function S6o(t){return new xee(t,1)}function YR(t,e){if((a=t.length)>1)for(var n=1,o,i,r=t[e[0]],a,l=r.length;n=0;)n[e]=e;return n}function T6o(t,e){return t[e]}function P6o(t){const e=[];return e.key=t,e}function C6o(){var t=Us([]),e=Cfe,n=YR,o=T6o;function i(r){var a=Array.from(t.apply(this,arguments),P6o),l,s=a.length,c=-1,u;for(const d of r)for(l=0,++c;l0){for(var n,o,i=0,r=t[0].length,a;i0){for(var n=0,o=t[e[0]],i,r=o.length;n0)||!((r=(i=t[e[0]]).length)>0))){for(var n=0,o=1,i,r,a;o=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function F6o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var Brt={symbolCircle:K9e,symbolCross:n6o,symbolDiamond:i6o,symbolSquare:r6o,symbolStar:c6o,symbolTriangle:u6o,symbolWye:f6o},L6o=Math.PI/180,W6o=function(e){var n="symbol".concat(Aee(e));return Brt[n]||K9e},N6o=function(e,n,o){if(n==="area")return e;switch(o){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var i=18*L6o;return 1.25*e*e*(Math.tan(i)-Math.tan(i*2)*Math.pow(Math.tan(i),2))}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},U6o=function(e,n){Brt["symbol".concat(Aee(e))]=n},bee=function(e){var n=e.type,o=n===void 0?"circle":n,i=e.size,r=i===void 0?64:i,a=e.sizeType,l=a===void 0?"area":a,s=k6o(e,I6o),c=vIe(vIe({},s),{},{type:o,size:r,sizeType:l}),u=function(){var A=W6o(o),x=h6o().type(A).size(N6o(r,l,o));return x()},d=c.className,f=c.cx,p=c.cy,g=oa(c,!0);return f===+f&&p===+p&&r===+r?Se.createElement("path",Rfe({},g,{className:cl("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:u()})):null};bee.registerSymbol=U6o;function OR(t){"@babel/helpers - typeof";return OR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},OR(t)}function Hfe(){return Hfe=Object.assign?Object.assign.bind():function(t){for(var e=1;e0?1:-1},Xv=function(e){return MN(e)&&e.indexOf("%")===e.length-1},si=function(e){return F9o(e)&&!AM(e)},Lu=function(e){return si(e)||MN(e)},U9o=0,oS=function(e){var n=++U9o;return"".concat(e||"").concat(n)},ab=function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!si(e)&&!MN(e))return o;var r;if(Xv(e)){var a=e.indexOf("%");r=n*parseFloat(e.slice(0,a))/100}else r=+e;return AM(r)&&(r=o),i&&r>n&&(r=n),r},iw=function(e){if(!e)return null;var n=Object.keys(e);return n&&n.length?e[n[0]]:null},B9o=function(e){if(!Array.isArray(e))return!1;for(var n=e.length,o={},i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function X9o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function mfe(t){"@babel/helpers - typeof";return mfe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},mfe(t)}var uIe={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},D6=function(e){return typeof e=="string"?e:e?e.displayName||e.name||"Component":""},dIe=null,Fae=null,V9e=function t(e){if(e===dIe&&Array.isArray(Fae))return Fae;var n=[];return m.Children.forEach(e,function(o){ra(o)||(pfe.isFragment(o)?n=n.concat(t(o.props.children)):n.push(o))}),Fae=n,dIe=e,n};function Kp(t,e){var n=[],o=[];return Array.isArray(e)?o=e.map(function(i){return D6(i)}):o=[D6(e)],V9e(t).forEach(function(i){var r=Bm(i,"type.displayName")||Bm(i,"type.name");o.indexOf(r)!==-1&&n.push(i)}),n}function $1(t,e){var n=Kp(t,e);return n&&n[0]}var fIe=function(e){if(!e||!e.props)return!1;var n=e.props,o=n.width,i=n.height;return!(!si(o)||o<=0||!si(i)||i<=0)},J9o=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],K9o=function(e){return e&&e.type&&MN(e.type)&&J9o.indexOf(e.type)>=0},yrt=function(e){return e&&mfe(e)==="object"&&"cx"in e&&"cy"in e&&"r"in e},q9o=function(e,n,o,i){var r,a=(r=kae==null?void 0:kae[i])!==null&&r!==void 0?r:[];return!Aa(e)&&(i&&a.includes(n)||O9o.includes(n))||o&&_9e.includes(n)},oa=function(e,n,o){if(!e||typeof e=="function"||typeof e=="boolean")return null;var i=e;if(m.isValidElement(e)&&(i=e.props),!tM(i))return null;var r={};return Object.keys(i).forEach(function(a){var l;q9o((l=i)===null||l===void 0?void 0:l[a],a,n,o)&&(r[a]=i[a])}),r},yfe=function t(e,n){if(e===n)return!0;var o=m.Children.count(e);if(o!==m.Children.count(n))return!1;if(o===0)return!0;if(o===1)return hIe(Array.isArray(e)?e[0]:e,Array.isArray(n)?n[0]:n);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function t3o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function wfe(t){var e=t.children,n=t.width,o=t.height,i=t.viewBox,r=t.className,a=t.style,l=t.title,s=t.desc,c=e3o(t,Z9o),u=i||{width:n,height:o,x:0,y:0},d=cl("recharts-surface",r);return Se.createElement("svg",Afe({},oa(c,!0,"svg"),{className:d,width:n,height:o,style:a,viewBox:"".concat(u.x," ").concat(u.y," ").concat(u.width," ").concat(u.height)}),Se.createElement("title",null,l),Se.createElement("desc",null,s),e)}var n3o=["children","className"];function vfe(){return vfe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function i3o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var Bl=Se.forwardRef(function(t,e){var n=t.children,o=t.className,i=o3o(t,n3o),r=cl("recharts-layer",o);return Se.createElement("g",vfe({className:r},oa(i,!0),{ref:e}),n)}),E6=function(e,n){for(var o=arguments.length,i=new Array(o>2?o-2:0),r=2;ri?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var r=Array(i);++o=o?t:l3o(t,e,n)}var c3o=s3o,u3o="\\ud800-\\udfff",d3o="\\u0300-\\u036f",f3o="\\ufe20-\\ufe2f",h3o="\\u20d0-\\u20ff",p3o=d3o+f3o+h3o,g3o="\\ufe0e\\ufe0f",m3o="\\u200d",y3o=RegExp("["+m3o+u3o+p3o+g3o+"]");function A3o(t){return y3o.test(t)}var Art=A3o;function w3o(t){return t.split("")}var v3o=w3o,wrt="\\ud800-\\udfff",x3o="\\u0300-\\u036f",b3o="\\ufe20-\\ufe2f",S3o="\\u20d0-\\u20ff",T3o=x3o+b3o+S3o,P3o="\\ufe0e\\ufe0f",C3o="["+wrt+"]",xfe="["+T3o+"]",bfe="\\ud83c[\\udffb-\\udfff]",R3o="(?:"+xfe+"|"+bfe+")",vrt="[^"+wrt+"]",xrt="(?:\\ud83c[\\udde6-\\uddff]){2}",brt="[\\ud800-\\udbff][\\udc00-\\udfff]",H3o="\\u200d",Srt=R3o+"?",Trt="["+P3o+"]?",M3o="(?:"+H3o+"(?:"+[vrt,xrt,brt].join("|")+")"+Trt+Srt+")*",I3o=Trt+Srt+M3o,z3o="(?:"+[vrt+xfe+"?",xfe,xrt,brt,C3o].join("|")+")",D3o=RegExp(bfe+"(?="+bfe+")|"+z3o+I3o,"g");function E3o(t){return t.match(D3o)||[]}var k3o=E3o,F3o=v3o,L3o=Art,W3o=k3o;function N3o(t){return L3o(t)?W3o(t):F3o(t)}var U3o=N3o,B3o=c3o,j3o=Art,Y3o=U3o,O3o=pnt;function _3o(t){return function(e){e=O3o(e);var n=j3o(e)?Y3o(e):void 0,o=n?n[0]:e.charAt(0),i=n?B3o(n,1).join(""):e.slice(1);return o[t]()+i}}var V3o=_3o,G3o=V3o,X3o=G3o("toUpperCase"),J3o=X3o;const Aee=kr(J3o);function Us(t){return function(){return t}}const Prt=Math.cos,aJ=Math.sin,i5=Math.sqrt,lJ=Math.PI,wee=2*lJ,Sfe=Math.PI,Tfe=2*Sfe,hv=1e-6,K3o=Tfe-hv;function Crt(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Crt;const n=10**e;return function(o){this._+=o[0];for(let i=1,r=o.length;ihv)if(!(Math.abs(d*s-c*u)>hv)||!r)this._append`L${this._x1=e},${this._y1=n}`;else{let p=o-a,g=i-l,y=s*s+c*c,A=p*p+g*g,x=Math.sqrt(y),C=Math.sqrt(f),b=r*Math.tan((Sfe-Math.acos((y+f-A)/(2*x*C)))/2),v=b/C,S=b/x;Math.abs(v-1)>hv&&this._append`L${e+v*u},${n+v*d}`,this._append`A${r},${r},0,0,${+(d*p>u*g)},${this._x1=e+S*s},${this._y1=n+S*c}`}}arc(e,n,o,i,r,a){if(e=+e,n=+n,o=+o,a=!!a,o<0)throw new Error(`negative radius: ${o}`);let l=o*Math.cos(i),s=o*Math.sin(i),c=e+l,u=n+s,d=1^a,f=a?i-r:r-i;this._x1===null?this._append`M${c},${u}`:(Math.abs(this._x1-c)>hv||Math.abs(this._y1-u)>hv)&&this._append`L${c},${u}`,o&&(f<0&&(f=f%Tfe+Tfe),f>K3o?this._append`A${o},${o},0,1,${d},${e-l},${n-s}A${o},${o},0,1,${d},${this._x1=c},${this._y1=u}`:f>hv&&this._append`A${o},${o},0,${+(f>=Sfe)},${d},${this._x1=e+o*Math.cos(r)},${this._y1=n+o*Math.sin(r)}`)}rect(e,n,o,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${o=+o}v${+i}h${-o}Z`}toString(){return this._}}function G9e(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const o=Math.floor(n);if(!(o>=0))throw new RangeError(`invalid digits: ${n}`);e=o}return t},()=>new $3o(e)}function X9e(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Rrt(t){this._context=t}Rrt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function vee(t){return new Rrt(t)}function Hrt(t){return t[0]}function Mrt(t){return t[1]}function J9e(t,e){var n=Us(!0),o=null,i=vee,r=null,a=G9e(l);t=typeof t=="function"?t:t===void 0?Hrt:Us(t),e=typeof e=="function"?e:e===void 0?Mrt:Us(e);function l(s){var c,u=(s=X9e(s)).length,d,f=!1,p;for(o==null&&(r=i(p=a())),c=0;c<=u;++c)!(c=p;--g)l.point(b[g],v[g]);l.lineEnd(),l.areaEnd()}x&&(b[f]=+t(A,f,d),v[f]=+e(A,f,d),l.point(o?+o(A,f,d):b[f],n?+n(A,f,d):v[f]))}if(C)return l=null,C+""||null}function u(){return J9e().defined(i).curve(a).context(r)}return c.x=function(d){return arguments.length?(t=typeof d=="function"?d:Us(+d),o=null,c):t},c.x0=function(d){return arguments.length?(t=typeof d=="function"?d:Us(+d),c):t},c.x1=function(d){return arguments.length?(o=d==null?null:typeof d=="function"?d:Us(+d),c):o},c.y=function(d){return arguments.length?(e=typeof d=="function"?d:Us(+d),n=null,c):e},c.y0=function(d){return arguments.length?(e=typeof d=="function"?d:Us(+d),c):e},c.y1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Us(+d),c):n},c.lineX0=c.lineY0=function(){return u().x(t).y(e)},c.lineY1=function(){return u().x(t).y(n)},c.lineX1=function(){return u().x(o).y(e)},c.defined=function(d){return arguments.length?(i=typeof d=="function"?d:Us(!!d),c):i},c.curve=function(d){return arguments.length?(a=d,r!=null&&(l=a(r)),c):a},c.context=function(d){return arguments.length?(d==null?r=l=null:l=a(r=d),c):r},c}class Irt{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}function Q3o(t){return new Irt(t,!0)}function Z3o(t){return new Irt(t,!1)}const K9e={draw(t,e){const n=i5(e/lJ);t.moveTo(n,0),t.arc(0,0,n,0,wee)}},e6o={draw(t,e){const n=i5(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},zrt=i5(1/3),t6o=zrt*2,n6o={draw(t,e){const n=i5(e/t6o),o=n*zrt;t.moveTo(0,-n),t.lineTo(o,0),t.lineTo(0,n),t.lineTo(-o,0),t.closePath()}},o6o={draw(t,e){const n=i5(e),o=-n/2;t.rect(o,o,n,n)}},i6o=.8908130915292852,Drt=aJ(lJ/10)/aJ(7*lJ/10),r6o=aJ(wee/10)*Drt,a6o=-Prt(wee/10)*Drt,l6o={draw(t,e){const n=i5(e*i6o),o=r6o*n,i=a6o*n;t.moveTo(0,-n),t.lineTo(o,i);for(let r=1;r<5;++r){const a=wee*r/5,l=Prt(a),s=aJ(a);t.lineTo(s*n,-l*n),t.lineTo(l*o-s*i,s*o+l*i)}t.closePath()}},Lae=i5(3),s6o={draw(t,e){const n=-i5(e/(Lae*3));t.moveTo(0,n*2),t.lineTo(-Lae*n,-n),t.lineTo(Lae*n,-n),t.closePath()}},fm=-.5,hm=i5(3)/2,Pfe=1/i5(12),c6o=(Pfe/2+1)*3,u6o={draw(t,e){const n=i5(e/c6o),o=n/2,i=n*Pfe,r=o,a=n*Pfe+n,l=-r,s=a;t.moveTo(o,i),t.lineTo(r,a),t.lineTo(l,s),t.lineTo(fm*o-hm*i,hm*o+fm*i),t.lineTo(fm*r-hm*a,hm*r+fm*a),t.lineTo(fm*l-hm*s,hm*l+fm*s),t.lineTo(fm*o+hm*i,fm*i-hm*o),t.lineTo(fm*r+hm*a,fm*a-hm*r),t.lineTo(fm*l+hm*s,fm*s-hm*l),t.closePath()}};function d6o(t,e){let n=null,o=G9e(i);t=typeof t=="function"?t:Us(t||K9e),e=typeof e=="function"?e:Us(e===void 0?64:+e);function i(){let r;if(n||(n=r=o()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return i.type=function(r){return arguments.length?(t=typeof r=="function"?r:Us(r),i):t},i.size=function(r){return arguments.length?(e=typeof r=="function"?r:Us(+r),i):e},i.context=function(r){return arguments.length?(n=r??null,i):n},i}function sJ(){}function cJ(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Ert(t){this._context=t}Ert.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:cJ(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:cJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function f6o(t){return new Ert(t)}function krt(t){this._context=t}krt.prototype={areaStart:sJ,areaEnd:sJ,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:cJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function h6o(t){return new krt(t)}function Frt(t){this._context=t}Frt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,o=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,o):this._context.moveTo(n,o);break;case 3:this._point=4;default:cJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function p6o(t){return new Frt(t)}function Lrt(t){this._context=t}Lrt.prototype={areaStart:sJ,areaEnd:sJ,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function g6o(t){return new Lrt(t)}function gIe(t){return t<0?-1:1}function mIe(t,e,n){var o=t._x1-t._x0,i=e-t._x1,r=(t._y1-t._y0)/(o||i<0&&-0),a=(n-t._y1)/(i||o<0&&-0),l=(r*i+a*o)/(o+i);return(gIe(r)+gIe(a))*Math.min(Math.abs(r),Math.abs(a),.5*Math.abs(l))||0}function yIe(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Wae(t,e,n){var o=t._x0,i=t._y0,r=t._x1,a=t._y1,l=(r-o)/3;t._context.bezierCurveTo(o+l,i+l*e,r-l,a-l*n,r,a)}function uJ(t){this._context=t}uJ.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Wae(this,this._t0,yIe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Wae(this,yIe(this,n=mIe(this,t,e)),n);break;default:Wae(this,this._t0,n=mIe(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function Wrt(t){this._context=new Nrt(t)}(Wrt.prototype=Object.create(uJ.prototype)).point=function(t,e){uJ.prototype.point.call(this,e,t)};function Nrt(t){this._context=t}Nrt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,o,i,r){this._context.bezierCurveTo(e,t,o,n,r,i)}};function m6o(t){return new uJ(t)}function y6o(t){return new Wrt(t)}function Urt(t){this._context=t}Urt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var o=AIe(t),i=AIe(e),r=0,a=1;a=0;--e)i[e]=(a[e]-i[e+1])/r[e];for(r[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function w6o(t){return new xee(t,.5)}function v6o(t){return new xee(t,0)}function x6o(t){return new xee(t,1)}function YR(t,e){if((a=t.length)>1)for(var n=1,o,i,r=t[e[0]],a,l=r.length;n=0;)n[e]=e;return n}function b6o(t,e){return t[e]}function S6o(t){const e=[];return e.key=t,e}function T6o(){var t=Us([]),e=Cfe,n=YR,o=b6o;function i(r){var a=Array.from(t.apply(this,arguments),S6o),l,s=a.length,c=-1,u;for(const d of r)for(l=0,++c;l0){for(var n,o,i=0,r=t[0].length,a;i0){for(var n=0,o=t[e[0]],i,r=o.length;n0)||!((r=(i=t[e[0]]).length)>0))){for(var n=0,o=1,i,r,a;o=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function E6o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var Brt={symbolCircle:K9e,symbolCross:e6o,symbolDiamond:n6o,symbolSquare:o6o,symbolStar:l6o,symbolTriangle:s6o,symbolWye:u6o},k6o=Math.PI/180,F6o=function(e){var n="symbol".concat(Aee(e));return Brt[n]||K9e},L6o=function(e,n,o){if(n==="area")return e;switch(o){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var i=18*k6o;return 1.25*e*e*(Math.tan(i)-Math.tan(i*2)*Math.pow(Math.tan(i),2))}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},W6o=function(e,n){Brt["symbol".concat(Aee(e))]=n},bee=function(e){var n=e.type,o=n===void 0?"circle":n,i=e.size,r=i===void 0?64:i,a=e.sizeType,l=a===void 0?"area":a,s=D6o(e,H6o),c=vIe(vIe({},s),{},{type:o,size:r,sizeType:l}),u=function(){var A=F6o(o),x=d6o().type(A).size(L6o(r,l,o));return x()},d=c.className,f=c.cx,p=c.cy,g=oa(c,!0);return f===+f&&p===+p&&r===+r?Se.createElement("path",Rfe({},g,{className:cl("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:u()})):null};bee.registerSymbol=W6o;function OR(t){"@babel/helpers - typeof";return OR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},OR(t)}function Hfe(){return Hfe=Object.assign?Object.assign.bind():function(t){for(var e=1;e`);var C=p.inactive?c:p.color;return Se.createElement("li",Hfe({className:A,style:d,key:"legend-item-".concat(g)},UF(o.props,p,g)),Se.createElement(wfe,{width:a,height:a,viewBox:u,style:f},o.renderIcon(p)),Se.createElement("span",{className:"recharts-legend-item-text",style:{color:C}},y?y(x,p,g):x))})}},{key:"render",value:function(){var o=this.props,i=o.payload,r=o.layout,a=o.align;if(!i||!i.length)return null;var l={padding:0,margin:0,textAlign:r==="horizontal"?a:"left"};return Se.createElement("ul",{className:"recharts-default-legend",style:l},this.renderItems())}}]),e}(m.PureComponent);jF(q9e,"displayName","Legend");jF(q9e,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});function K6o(t,e,n,o){for(var i=t.length,r=n+(o?1:-1);o?r--:++r-1}var lAo=aAo;function sAo(t,e,n){for(var o=-1,i=t==null?0:t.length;++o=SAo){var c=e?null:xAo(t);if(c)return bAo(c);a=!1,i=vAo,s=new yAo}else s=e?[]:l;e:for(;++o=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function NAo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function UAo(t){return t.value}function BAo(t,e){if(Se.isValidElement(t))return Se.cloneElement(t,e);if(typeof t=="function")return Se.createElement(t,e);e.ref;var n=WAo(e,IAo);return Se.createElement(q9e,n)}var PIe=1,j2=function(t){FAo(e,t);function e(){var n;zAo(this,e);for(var o=arguments.length,i=new Array(o),r=0;rPIe||Math.abs(i.height-this.lastBoundingBox.height)>PIe)&&(this.lastBoundingBox.width=i.width,this.lastBoundingBox.height=i.height,o&&o(i)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,o&&o(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Z8({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(o){var i=this.props,r=i.layout,a=i.align,l=i.verticalAlign,s=i.margin,c=i.chartWidth,u=i.chartHeight,d,f;if(!o||(o.left===void 0||o.left===null)&&(o.right===void 0||o.right===null))if(a==="center"&&r==="vertical"){var p=this.getBBoxSnapshot();d={left:((c||0)-p.width)/2}}else d=a==="right"?{right:s&&s.right||0}:{left:s&&s.left||0};if(!o||(o.top===void 0||o.top===null)&&(o.bottom===void 0||o.bottom===null))if(l==="middle"){var g=this.getBBoxSnapshot();f={top:((u||0)-g.height)/2}}else f=l==="bottom"?{bottom:s&&s.bottom||0}:{top:s&&s.top||0};return Z8(Z8({},d),f)}},{key:"render",value:function(){var o=this,i=this.props,r=i.content,a=i.width,l=i.height,s=i.wrapperStyle,c=i.payloadUniqBy,u=i.payload,d=Z8(Z8({position:"absolute",width:a||"auto",height:l||"auto"},this.getDefaultPosition(s)),s);return Se.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(p){o.wrapperNode=p}},BAo(r,Z8(Z8({},this.props),{},{payload:_rt(u,c,UAo)})))}}],[{key:"getWithHeight",value:function(o,i){var r=o.props.layout;return r==="vertical"&&si(o.props.height)?{height:o.props.height}:r==="horizontal"?{width:o.props.width||i}:null}}]),e}(m.PureComponent);See(j2,"displayName","Legend");See(j2,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var CIe=eM,jAo=n5e,YAo=mp,RIe=CIe?CIe.isConcatSpreadable:void 0;function OAo(t){return YAo(t)||jAo(t)||!!(RIe&&t&&t[RIe])}var _Ao=OAo,VAo=y5e,GAo=_Ao;function Jrt(t,e,n,o,i){var r=-1,a=t.length;for(n||(n=GAo),i||(i=[]);++r0&&n(l)?e>1?Jrt(l,e-1,n,o,i):VAo(i,l):o||(i[i.length]=l)}return i}var Krt=Jrt;function XAo(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}var JAo=XAo,HIe=cM;function KAo(t,e){if(t!==e){var n=t!==void 0,o=t===null,i=t===t,r=HIe(t),a=e!==void 0,l=e===null,s=e===e,c=HIe(e);if(!l&&!c&&!r&&t>e||r&&a&&s&&!l&&!c||o&&a&&s||!n&&s||!i)return 1;if(!o&&!r&&!c&&t=l)return s;var c=n[o];return s*(c=="desc"?-1:1)}}return t.index-e.index}var ZAo=QAo,Uae=f5e,e4o=b5e,t4o=_7,n4o=ynt,o4o=JAo,i4o=SZ,r4o=ZAo,a4o=Vb,l4o=mp;function s4o(t,e,n){e.length?e=Uae(e,function(r){return l4o(r)?function(a){return e4o(a,r.length===1?r[0]:r)}:r}):e=[a4o];var o=-1;e=Uae(e,i4o(t4o));var i=n4o(t,function(r,a,l){var s=Uae(e,function(c){return c(r)});return{criteria:s,index:++o,value:r}});return o4o(i,function(r,a){return r4o(r,a,n)})}var c4o=s4o;function u4o(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var d4o=u4o,f4o=d4o,MIe=Math.max;function h4o(t,e,n){return e=MIe(e===void 0?t.length-1:e,0),function(){for(var o=arguments,i=-1,r=MIe(o.length-e,0),a=Array(r);++i0){if(++e>=x4o)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var P4o=T4o,C4o=v4o,R4o=P4o,H4o=R4o(C4o),M4o=H4o,I4o=Vb,z4o=p4o,D4o=M4o;function E4o(t,e){return D4o(z4o(t,e,I4o),t+"")}var k4o=E4o,F4o=TZ,L4o=nM,W4o=i5e,N4o=t5;function U4o(t,e,n){if(!N4o(n))return!1;var o=typeof e;return(o=="number"?L4o(n)&&W4o(e,n.length):o=="string"&&e in n)?F4o(n[e],t):!1}var Tee=U4o,B4o=Krt,j4o=c4o,Y4o=k4o,zIe=Tee,O4o=Y4o(function(t,e){if(t==null)return[];var n=e.length;return n>1&&zIe(t,e[0],e[1])?e=[]:n>2&&zIe(e[0],e[1],e[2])&&(e=[e[0]]),j4o(t,B4o(e,1),[])}),_4o=O4o;const $9e=kr(_4o);function YF(t){"@babel/helpers - typeof";return YF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},YF(t)}function zfe(){return zfe=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=e.x),"".concat(Kz,"-left"),si(n)&&e&&si(e.x)&&n=e.y),"".concat(Kz,"-top"),si(o)&&e&&si(e.y)&&oy?Math.max(u,s[o]):Math.max(d,s[o])}function rwo(t){var e=t.translateX,n=t.translateY,o=t.useTranslate3d;return{transform:o?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")}}function awo(t){var e=t.allowEscapeViewBox,n=t.coordinate,o=t.offsetTopLeft,i=t.position,r=t.reverseDirection,a=t.tooltipBox,l=t.useTranslate3d,s=t.viewBox,c,u,d;return a.height>0&&a.width>0&&n?(u=kIe({allowEscapeViewBox:e,coordinate:n,key:"x",offsetTopLeft:o,position:i,reverseDirection:r,tooltipDimension:a.width,viewBox:s,viewBoxDimension:s.width}),d=kIe({allowEscapeViewBox:e,coordinate:n,key:"y",offsetTopLeft:o,position:i,reverseDirection:r,tooltipDimension:a.height,viewBox:s,viewBoxDimension:s.height}),c=rwo({translateX:u,translateY:d,useTranslate3d:l})):c=owo,{cssProperties:c,cssClasses:iwo({translateX:u,translateY:d,coordinate:n})}}function VR(t){"@babel/helpers - typeof";return VR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VR(t)}function FIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function LIe(t){for(var e=1;eWIe||Math.abs(o.height-this.state.lastBoundingBox.height)>WIe)&&this.setState({lastBoundingBox:{width:o.width,height:o.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var o,i;this.props.active&&this.updateBBox(),this.state.dismissed&&(((o=this.props.coordinate)===null||o===void 0?void 0:o.x)!==this.state.dismissedAtCoordinate.x||((i=this.props.coordinate)===null||i===void 0?void 0:i.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var o=this,i=this.props,r=i.active,a=i.allowEscapeViewBox,l=i.animationDuration,s=i.animationEasing,c=i.children,u=i.coordinate,d=i.hasPayload,f=i.isAnimationActive,p=i.offset,g=i.position,y=i.reverseDirection,A=i.useTranslate3d,x=i.viewBox,C=i.wrapperStyle,b=awo({allowEscapeViewBox:a,coordinate:u,offsetTopLeft:p,position:g,reverseDirection:y,tooltipBox:this.state.lastBoundingBox,useTranslate3d:A,viewBox:x}),v=b.cssClasses,S=b.cssProperties,w=LIe(LIe({transition:f&&r?"transform ".concat(l,"ms ").concat(s):void 0},S),{},{pointerEvents:"none",visibility:!this.state.dismissed&&r&&d?"visible":"hidden",position:"absolute",top:0,left:0},C);return Se.createElement("div",{tabIndex:-1,className:v,style:w,ref:function(P){o.wrapperNode=P}},c)}}]),e}(m.PureComponent),gwo=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},k2={isSsr:gwo(),get:function(e){return k2[e]},set:function(e,n){if(typeof e=="string")k2[e]=n;else{var o=Object.keys(e);o&&o.length&&o.forEach(function(i){k2[i]=e[i]})}}};function GR(t){"@babel/helpers - typeof";return GR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},GR(t)}function NIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function UIe(t){for(var e=1;e0;return Se.createElement(pwo,{allowEscapeViewBox:a,animationDuration:l,animationEasing:s,isAnimationActive:f,active:r,coordinate:u,hasPayload:w,offset:p,position:A,reverseDirection:x,useTranslate3d:C,viewBox:b,wrapperStyle:v},Pwo(c,UIe(UIe({},this.props),{},{payload:S})))}}]),e}(m.PureComponent);Q9e(Zf,"displayName","Tooltip");Q9e(Zf,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!k2.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var Cwo=Z2,Rwo=function(){return Cwo.Date.now()},Hwo=Rwo,Mwo=/\s/;function Iwo(t){for(var e=t.length;e--&&Mwo.test(t.charAt(e)););return e}var zwo=Iwo,Dwo=zwo,Ewo=/^\s+/;function kwo(t){return t&&t.slice(0,Dwo(t)+1).replace(Ewo,"")}var Fwo=kwo,Lwo=Fwo,BIe=t5,Wwo=cM,jIe=NaN,Nwo=/^[-+]0x[0-9a-f]+$/i,Uwo=/^0b[01]+$/i,Bwo=/^0o[0-7]+$/i,jwo=parseInt;function Ywo(t){if(typeof t=="number")return t;if(Wwo(t))return jIe;if(BIe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=BIe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Lwo(t);var n=Uwo.test(t);return n||Bwo.test(t)?jwo(t.slice(2),n?2:8):Nwo.test(t)?jIe:+t}var eat=Ywo,Owo=t5,jae=Hwo,YIe=eat,_wo="Expected a function",Vwo=Math.max,Gwo=Math.min;function Xwo(t,e,n){var o,i,r,a,l,s,c=0,u=!1,d=!1,f=!0;if(typeof t!="function")throw new TypeError(_wo);e=YIe(e)||0,Owo(n)&&(u=!!n.leading,d="maxWait"in n,r=d?Vwo(YIe(n.maxWait)||0,e):r,f="trailing"in n?!!n.trailing:f);function p(w){var T=o,P=i;return o=i=void 0,c=w,a=t.apply(P,T),a}function g(w){return c=w,l=setTimeout(x,e),u?p(w):a}function y(w){var T=w-s,P=w-c,R=e-T;return d?Gwo(R,r-P):R}function A(w){var T=w-s,P=w-c;return s===void 0||T>=e||T<0||d&&P>=r}function x(){var w=jae();if(A(w))return C(w);l=setTimeout(x,y(w))}function C(w){return l=void 0,f&&o?p(w):(o=i=void 0,a)}function b(){l!==void 0&&clearTimeout(l),c=0,o=s=i=l=void 0}function v(){return l===void 0?a:C(jae())}function S(){var w=jae(),T=A(w);if(o=arguments,i=this,s=w,T){if(l===void 0)return g(s);if(d)return clearTimeout(l),l=setTimeout(x,e),p(s)}return l===void 0&&(l=setTimeout(x,e)),a}return S.cancel=b,S.flush=v,S}var Jwo=Xwo,Kwo=Jwo,qwo=t5,$wo="Expected a function";function Qwo(t,e,n){var o=!0,i=!0;if(typeof t!="function")throw new TypeError($wo);return qwo(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),Kwo(t,e,{leading:o,maxWait:e,trailing:i})}var Zwo=Qwo;const tat=kr(Zwo);function _F(t){"@babel/helpers - typeof";return _F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_F(t)}function OIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function WO(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&(L=tat(L,y,{trailing:!0,leading:!1}));var U=new ResizeObserver(L),F=S.current.getBoundingClientRect(),W=F.width,B=F.height;return D(W,B),U.observe(S.current),function(){U.disconnect()}},[D,y]);var E=m.useMemo(function(){var L=R.containerWidth,U=R.containerHeight;if(L<0||U<0)return null;E6(Xv(a)||Xv(s),`The width(%s) and height(%s) are both fixed numbers, + A`).concat(a,",").concat(a,",0,1,1,").concat(l,",").concat(r),className:"recharts-legend-icon"});if(o.type==="rect")return Se.createElement("path",{stroke:"none",fill:s,d:"M0,".concat(pm/8,"h").concat(pm,"v").concat(pm*3/4,"h").concat(-pm,"z"),className:"recharts-legend-icon"});if(Se.isValidElement(o.legendIcon)){var c=N6o({},o);return delete c.legendIcon,Se.cloneElement(o.legendIcon,c)}return Se.createElement(bee,{fill:s,cx:r,cy:r,size:pm,sizeType:"diameter",type:o.type})}},{key:"renderItems",value:function(){var o=this,i=this.props,r=i.payload,a=i.iconSize,l=i.layout,s=i.formatter,c=i.inactiveColor,u={x:0,y:0,width:pm,height:pm},d={display:l==="horizontal"?"inline-block":"block",marginRight:10},f={display:"inline-block",verticalAlign:"middle",marginRight:4};return r.map(function(p,g){var y=p.formatter||s,A=cl(jF(jF({"recharts-legend-item":!0},"legend-item-".concat(g),!0),"inactive",p.inactive));if(p.type==="none")return null;var x=Aa(p.value)?null:p.value;E6(!Aa(p.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: `);var C=p.inactive?c:p.color;return Se.createElement("li",Hfe({className:A,style:d,key:"legend-item-".concat(g)},UF(o.props,p,g)),Se.createElement(wfe,{width:a,height:a,viewBox:u,style:f},o.renderIcon(p)),Se.createElement("span",{className:"recharts-legend-item-text",style:{color:C}},y?y(x,p,g):x))})}},{key:"render",value:function(){var o=this.props,i=o.payload,r=o.layout,a=o.align;if(!i||!i.length)return null;var l={padding:0,margin:0,textAlign:r==="horizontal"?a:"left"};return Se.createElement("ul",{className:"recharts-default-legend",style:l},this.renderItems())}}]),e}(m.PureComponent);jF(q9e,"displayName","Legend");jF(q9e,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});function X6o(t,e,n,o){for(var i=t.length,r=n+(o?1:-1);o?r--:++r-1}var rAo=iAo;function aAo(t,e,n){for(var o=-1,i=t==null?0:t.length;++o=xAo){var c=e?null:wAo(t);if(c)return vAo(c);a=!1,i=AAo,s=new gAo}else s=e?[]:l;e:for(;++o=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function LAo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function WAo(t){return t.value}function NAo(t,e){if(Se.isValidElement(t))return Se.cloneElement(t,e);if(typeof t=="function")return Se.createElement(t,e);e.ref;var n=FAo(e,HAo);return Se.createElement(q9e,n)}var PIe=1,j2=function(t){EAo(e,t);function e(){var n;MAo(this,e);for(var o=arguments.length,i=new Array(o),r=0;rPIe||Math.abs(i.height-this.lastBoundingBox.height)>PIe)&&(this.lastBoundingBox.width=i.width,this.lastBoundingBox.height=i.height,o&&o(i)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,o&&o(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Z8({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(o){var i=this.props,r=i.layout,a=i.align,l=i.verticalAlign,s=i.margin,c=i.chartWidth,u=i.chartHeight,d,f;if(!o||(o.left===void 0||o.left===null)&&(o.right===void 0||o.right===null))if(a==="center"&&r==="vertical"){var p=this.getBBoxSnapshot();d={left:((c||0)-p.width)/2}}else d=a==="right"?{right:s&&s.right||0}:{left:s&&s.left||0};if(!o||(o.top===void 0||o.top===null)&&(o.bottom===void 0||o.bottom===null))if(l==="middle"){var g=this.getBBoxSnapshot();f={top:((u||0)-g.height)/2}}else f=l==="bottom"?{bottom:s&&s.bottom||0}:{top:s&&s.top||0};return Z8(Z8({},d),f)}},{key:"render",value:function(){var o=this,i=this.props,r=i.content,a=i.width,l=i.height,s=i.wrapperStyle,c=i.payloadUniqBy,u=i.payload,d=Z8(Z8({position:"absolute",width:a||"auto",height:l||"auto"},this.getDefaultPosition(s)),s);return Se.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(p){o.wrapperNode=p}},NAo(r,Z8(Z8({},this.props),{},{payload:_rt(u,c,WAo)})))}}],[{key:"getWithHeight",value:function(o,i){var r=o.props.layout;return r==="vertical"&&si(o.props.height)?{height:o.props.height}:r==="horizontal"?{width:o.props.width||i}:null}}]),e}(m.PureComponent);See(j2,"displayName","Legend");See(j2,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var CIe=eM,UAo=n5e,BAo=mp,RIe=CIe?CIe.isConcatSpreadable:void 0;function jAo(t){return BAo(t)||UAo(t)||!!(RIe&&t&&t[RIe])}var YAo=jAo,OAo=y5e,_Ao=YAo;function Jrt(t,e,n,o,i){var r=-1,a=t.length;for(n||(n=_Ao),i||(i=[]);++r0&&n(l)?e>1?Jrt(l,e-1,n,o,i):OAo(i,l):o||(i[i.length]=l)}return i}var Krt=Jrt;function VAo(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}var GAo=VAo,HIe=cM;function XAo(t,e){if(t!==e){var n=t!==void 0,o=t===null,i=t===t,r=HIe(t),a=e!==void 0,l=e===null,s=e===e,c=HIe(e);if(!l&&!c&&!r&&t>e||r&&a&&s&&!l&&!c||o&&a&&s||!n&&s||!i)return 1;if(!o&&!r&&!c&&t=l)return s;var c=n[o];return s*(c=="desc"?-1:1)}}return t.index-e.index}var $Ao=qAo,Uae=f5e,QAo=b5e,ZAo=_7,e4o=ynt,t4o=GAo,n4o=SZ,o4o=$Ao,i4o=Vb,r4o=mp;function a4o(t,e,n){e.length?e=Uae(e,function(r){return r4o(r)?function(a){return QAo(a,r.length===1?r[0]:r)}:r}):e=[i4o];var o=-1;e=Uae(e,n4o(ZAo));var i=e4o(t,function(r,a,l){var s=Uae(e,function(c){return c(r)});return{criteria:s,index:++o,value:r}});return t4o(i,function(r,a){return o4o(r,a,n)})}var l4o=a4o;function s4o(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var c4o=s4o,u4o=c4o,MIe=Math.max;function d4o(t,e,n){return e=MIe(e===void 0?t.length-1:e,0),function(){for(var o=arguments,i=-1,r=MIe(o.length-e,0),a=Array(r);++i0){if(++e>=w4o)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var S4o=b4o,T4o=A4o,P4o=S4o,C4o=P4o(T4o),R4o=C4o,H4o=Vb,M4o=f4o,I4o=R4o;function z4o(t,e){return I4o(M4o(t,e,H4o),t+"")}var D4o=z4o,E4o=TZ,k4o=nM,F4o=i5e,L4o=t5;function W4o(t,e,n){if(!L4o(n))return!1;var o=typeof e;return(o=="number"?k4o(n)&&F4o(e,n.length):o=="string"&&e in n)?E4o(n[e],t):!1}var Tee=W4o,N4o=Krt,U4o=l4o,B4o=D4o,zIe=Tee,j4o=B4o(function(t,e){if(t==null)return[];var n=e.length;return n>1&&zIe(t,e[0],e[1])?e=[]:n>2&&zIe(e[0],e[1],e[2])&&(e=[e[0]]),U4o(t,N4o(e,1),[])}),Y4o=j4o;const $9e=kr(Y4o);function YF(t){"@babel/helpers - typeof";return YF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},YF(t)}function zfe(){return zfe=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=e.x),"".concat(Kz,"-left"),si(n)&&e&&si(e.x)&&n=e.y),"".concat(Kz,"-top"),si(o)&&e&&si(e.y)&&oy?Math.max(u,s[o]):Math.max(d,s[o])}function owo(t){var e=t.translateX,n=t.translateY,o=t.useTranslate3d;return{transform:o?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")}}function iwo(t){var e=t.allowEscapeViewBox,n=t.coordinate,o=t.offsetTopLeft,i=t.position,r=t.reverseDirection,a=t.tooltipBox,l=t.useTranslate3d,s=t.viewBox,c,u,d;return a.height>0&&a.width>0&&n?(u=kIe({allowEscapeViewBox:e,coordinate:n,key:"x",offsetTopLeft:o,position:i,reverseDirection:r,tooltipDimension:a.width,viewBox:s,viewBoxDimension:s.width}),d=kIe({allowEscapeViewBox:e,coordinate:n,key:"y",offsetTopLeft:o,position:i,reverseDirection:r,tooltipDimension:a.height,viewBox:s,viewBoxDimension:s.height}),c=owo({translateX:u,translateY:d,useTranslate3d:l})):c=two,{cssProperties:c,cssClasses:nwo({translateX:u,translateY:d,coordinate:n})}}function VR(t){"@babel/helpers - typeof";return VR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VR(t)}function FIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function LIe(t){for(var e=1;eWIe||Math.abs(o.height-this.state.lastBoundingBox.height)>WIe)&&this.setState({lastBoundingBox:{width:o.width,height:o.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var o,i;this.props.active&&this.updateBBox(),this.state.dismissed&&(((o=this.props.coordinate)===null||o===void 0?void 0:o.x)!==this.state.dismissedAtCoordinate.x||((i=this.props.coordinate)===null||i===void 0?void 0:i.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var o=this,i=this.props,r=i.active,a=i.allowEscapeViewBox,l=i.animationDuration,s=i.animationEasing,c=i.children,u=i.coordinate,d=i.hasPayload,f=i.isAnimationActive,p=i.offset,g=i.position,y=i.reverseDirection,A=i.useTranslate3d,x=i.viewBox,C=i.wrapperStyle,b=iwo({allowEscapeViewBox:a,coordinate:u,offsetTopLeft:p,position:g,reverseDirection:y,tooltipBox:this.state.lastBoundingBox,useTranslate3d:A,viewBox:x}),v=b.cssClasses,S=b.cssProperties,w=LIe(LIe({transition:f&&r?"transform ".concat(l,"ms ").concat(s):void 0},S),{},{pointerEvents:"none",visibility:!this.state.dismissed&&r&&d?"visible":"hidden",position:"absolute",top:0,left:0},C);return Se.createElement("div",{tabIndex:-1,className:v,style:w,ref:function(P){o.wrapperNode=P}},c)}}]),e}(m.PureComponent),hwo=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},k2={isSsr:hwo(),get:function(e){return k2[e]},set:function(e,n){if(typeof e=="string")k2[e]=n;else{var o=Object.keys(e);o&&o.length&&o.forEach(function(i){k2[i]=e[i]})}}};function GR(t){"@babel/helpers - typeof";return GR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},GR(t)}function NIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function UIe(t){for(var e=1;e0;return Se.createElement(fwo,{allowEscapeViewBox:a,animationDuration:l,animationEasing:s,isAnimationActive:f,active:r,coordinate:u,hasPayload:w,offset:p,position:A,reverseDirection:x,useTranslate3d:C,viewBox:b,wrapperStyle:v},Swo(c,UIe(UIe({},this.props),{},{payload:S})))}}]),e}(m.PureComponent);Q9e(Zf,"displayName","Tooltip");Q9e(Zf,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!k2.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var Two=Z2,Pwo=function(){return Two.Date.now()},Cwo=Pwo,Rwo=/\s/;function Hwo(t){for(var e=t.length;e--&&Rwo.test(t.charAt(e)););return e}var Mwo=Hwo,Iwo=Mwo,zwo=/^\s+/;function Dwo(t){return t&&t.slice(0,Iwo(t)+1).replace(zwo,"")}var Ewo=Dwo,kwo=Ewo,BIe=t5,Fwo=cM,jIe=NaN,Lwo=/^[-+]0x[0-9a-f]+$/i,Wwo=/^0b[01]+$/i,Nwo=/^0o[0-7]+$/i,Uwo=parseInt;function Bwo(t){if(typeof t=="number")return t;if(Fwo(t))return jIe;if(BIe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=BIe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=kwo(t);var n=Wwo.test(t);return n||Nwo.test(t)?Uwo(t.slice(2),n?2:8):Lwo.test(t)?jIe:+t}var eat=Bwo,jwo=t5,jae=Cwo,YIe=eat,Ywo="Expected a function",Owo=Math.max,_wo=Math.min;function Vwo(t,e,n){var o,i,r,a,l,s,c=0,u=!1,d=!1,f=!0;if(typeof t!="function")throw new TypeError(Ywo);e=YIe(e)||0,jwo(n)&&(u=!!n.leading,d="maxWait"in n,r=d?Owo(YIe(n.maxWait)||0,e):r,f="trailing"in n?!!n.trailing:f);function p(w){var T=o,P=i;return o=i=void 0,c=w,a=t.apply(P,T),a}function g(w){return c=w,l=setTimeout(x,e),u?p(w):a}function y(w){var T=w-s,P=w-c,R=e-T;return d?_wo(R,r-P):R}function A(w){var T=w-s,P=w-c;return s===void 0||T>=e||T<0||d&&P>=r}function x(){var w=jae();if(A(w))return C(w);l=setTimeout(x,y(w))}function C(w){return l=void 0,f&&o?p(w):(o=i=void 0,a)}function b(){l!==void 0&&clearTimeout(l),c=0,o=s=i=l=void 0}function v(){return l===void 0?a:C(jae())}function S(){var w=jae(),T=A(w);if(o=arguments,i=this,s=w,T){if(l===void 0)return g(s);if(d)return clearTimeout(l),l=setTimeout(x,e),p(s)}return l===void 0&&(l=setTimeout(x,e)),a}return S.cancel=b,S.flush=v,S}var Gwo=Vwo,Xwo=Gwo,Jwo=t5,Kwo="Expected a function";function qwo(t,e,n){var o=!0,i=!0;if(typeof t!="function")throw new TypeError(Kwo);return Jwo(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),Xwo(t,e,{leading:o,maxWait:e,trailing:i})}var $wo=qwo;const tat=kr($wo);function _F(t){"@babel/helpers - typeof";return _F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_F(t)}function OIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function WO(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&(L=tat(L,y,{trailing:!0,leading:!1}));var U=new ResizeObserver(L),F=S.current.getBoundingClientRect(),W=F.width,B=F.height;return D(W,B),U.observe(S.current),function(){U.disconnect()}},[D,y]);var E=m.useMemo(function(){var L=R.containerWidth,U=R.containerHeight;if(L<0||U<0)return null;E6(Xv(a)||Xv(s),`The width(%s) and height(%s) are both fixed numbers, maybe you don't need to use a ResponsiveContainer.`,a,s),E6(!n||n>0,"The aspect(%s) must be greater than zero.",n);var F=Xv(a)?L:a,W=Xv(s)?U:s;n&&n>0&&(F?W=F/n:W&&(F=W*n),f&&W>f&&(W=f)),E6(F>0||W>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,F,W,a,s,u,d,n);var B=!Array.isArray(p)&&pfe.isElement(p)&&D6(p.type).endsWith("Chart");return Se.Children.map(p,function(k){return pfe.isElement(k)?m.cloneElement(k,WO({width:F,height:W},B?{style:WO({height:"100%",width:"100%",maxHeight:W,maxWidth:F},k.props.style)}:{})):k})},[n,p,s,f,d,u,R,a]);return Se.createElement("div",{id:A?"".concat(A):void 0,className:cl("recharts-responsive-container",x),style:WO(WO({},v),{},{width:a,height:s,minWidth:u,minHeight:d,maxHeight:f}),ref:S},E)}),Z9e=function(e){return null};Z9e.displayName="Cell";function VF(t){"@babel/helpers - typeof";return VF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VF(t)}function VIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Lfe(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||k2.isSsr)return{width:0,height:0};var o=h7o(n),i=JSON.stringify({text:e,copyStyle:o});if(_T.widthCache[i])return _T.widthCache[i];try{var r=document.getElementById(GIe);r||(r=document.createElement("span"),r.setAttribute("id",GIe),r.setAttribute("aria-hidden","true"),document.body.appendChild(r));var a=Lfe(Lfe({},f7o),o);Object.assign(r.style,a),r.textContent="".concat(e);var l=r.getBoundingClientRect(),s={width:l.width,height:l.height};return _T.widthCache[i]=s,++_T.cacheCount>d7o&&(_T.cacheCount=0,_T.widthCache={}),s}catch{return{width:0,height:0}}},p7o=function(e){return{top:e.top+window.scrollY-document.documentElement.clientTop,left:e.left+window.scrollX-document.documentElement.clientLeft}};function GF(t){"@babel/helpers - typeof";return GF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},GF(t)}function gJ(t,e){return A7o(t)||y7o(t,e)||m7o(t,e)||g7o()}function g7o(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function m7o(t,e){if(t){if(typeof t=="string")return XIe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return XIe(t,e)}}function XIe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function D7o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function ZIe(t,e){return L7o(t)||F7o(t,e)||k7o(t,e)||E7o()}function E7o(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function k7o(t,e){if(t){if(typeof t=="string")return eze(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eze(t,e)}}function eze(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&arguments[0]!==void 0?arguments[0]:[];return F.reduce(function(W,B){var k=B.word,N=B.width,j=W[W.length-1];if(j&&(i==null||r||j.width+N+oB.width?W:B})};if(!u)return p;for(var y="…",A=function(F){var W=d.slice(0,F),B=rat({breakAll:c,style:s,children:W+y}).wordsWithComputedWidth,k=f(B),N=k.length>a||g(k).width>Number(i);return[N,k]},x=0,C=d.length-1,b=0,v;x<=C&&b<=d.length-1;){var S=Math.floor((x+C)/2),w=S-1,T=A(w),P=ZIe(T,2),R=P[0],H=P[1],D=A(S),E=ZIe(D,1),L=E[0];if(!R&&!L&&(x=S+1),R&&L&&(C=S-1),!R&&L){v=H;break}b++}return v||p},tze=function(e){var n=ra(e)?[]:e.toString().split(iat);return[{words:n}]},N7o=function(e){var n=e.width,o=e.scaleToFit,i=e.children,r=e.style,a=e.breakAll,l=e.maxLines;if((n||o)&&!k2.isSsr){var s,c,u=rat({breakAll:a,children:i,style:r});if(u){var d=u.wordsWithComputedWidth,f=u.spaceWidth;s=d,c=f}else return tze(i);return W7o({breakAll:a,children:i,maxLines:l,style:r},s,c,n,o)}return tze(i)},nze="#808080",mJ=function(e){var n=e.x,o=n===void 0?0:n,i=e.y,r=i===void 0?0:i,a=e.lineHeight,l=a===void 0?"1em":a,s=e.capHeight,c=s===void 0?"0.71em":s,u=e.scaleToFit,d=u===void 0?!1:u,f=e.textAnchor,p=f===void 0?"start":f,g=e.verticalAnchor,y=g===void 0?"end":g,A=e.fill,x=A===void 0?nze:A,C=QIe(e,I7o),b=m.useMemo(function(){return N7o({breakAll:C.breakAll,children:C.children,maxLines:C.maxLines,scaleToFit:d,style:C.style,width:C.width})},[C.breakAll,C.children,C.maxLines,d,C.style,C.width]),v=C.dx,S=C.dy,w=C.angle,T=C.className,P=C.breakAll,R=QIe(C,z7o);if(!Lu(o)||!Lu(r))return null;var H=o+(si(v)?v:0),D=r+(si(S)?S:0),E;switch(y){case"start":E=Yae("calc(".concat(c,")"));break;case"middle":E=Yae("calc(".concat((b.length-1)/2," * -").concat(l," + (").concat(c," / 2))"));break;default:E=Yae("calc(".concat(b.length-1," * -").concat(l,")"));break}var L=[];if(d){var U=b[0].width,F=C.width;L.push("scale(".concat((si(F)?F/U:1)/U,")"))}return w&&L.push("rotate(".concat(w,", ").concat(H,", ").concat(D,")")),L.length&&(R.transform=L.join(" ")),Se.createElement("text",Wfe({},oa(R,!0),{x:H,y:D,className:cl("recharts-text",T),textAnchor:p,fill:x.includes("url")?nze:x}),b.map(function(W,B){var k=W.words.join(P?"":" ");return Se.createElement("tspan",{x:H,dy:B===0?E:l,key:k},k)}))};function Yw(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function U7o(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function e3e(t){let e,n,o;t.length!==2?(e=Yw,n=(l,s)=>Yw(t(l),s),o=(l,s)=>t(l)-s):(e=t===Yw||t===U7o?t:B7o,n=t,o=t);function i(l,s,c=0,u=l.length){if(c>>1;n(l[d],s)<0?c=d+1:u=d}while(c>>1;n(l[d],s)<=0?c=d+1:u=d}while(cc&&o(l[d-1],s)>-o(l[d],s)?d-1:d}return{left:i,center:a,right:r}}function B7o(){return 0}function aat(t){return t===null?NaN:+t}function*j7o(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const Y7o=e3e(Yw),XN=Y7o.right;e3e(aat).center;class oze extends Map{constructor(e,n=V7o){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[o,i]of e)this.set(o,i)}get(e){return super.get(ize(this,e))}has(e){return super.has(ize(this,e))}set(e,n){return super.set(O7o(this,e),n)}delete(e){return super.delete(_7o(this,e))}}function ize({_intern:t,_key:e},n){const o=e(n);return t.has(o)?t.get(o):n}function O7o({_intern:t,_key:e},n){const o=e(n);return t.has(o)?t.get(o):(t.set(o,n),n)}function _7o({_intern:t,_key:e},n){const o=e(n);return t.has(o)&&(n=t.get(o),t.delete(o)),n}function V7o(t){return t!==null&&typeof t=="object"?t.valueOf():t}function G7o(t=Yw){if(t===Yw)return lat;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const o=t(e,n);return o||o===0?o:(t(n,n)===0)-(t(e,e)===0)}}function lat(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}const X7o=Math.sqrt(50),J7o=Math.sqrt(10),K7o=Math.sqrt(2);function yJ(t,e,n){const o=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(o)),r=o/Math.pow(10,i),a=r>=X7o?10:r>=J7o?5:r>=K7o?2:1;let l,s,c;return i<0?(c=Math.pow(10,-i)/a,l=Math.round(t*c),s=Math.round(e*c),l/ce&&--s,c=-c):(c=Math.pow(10,i)*a,l=Math.round(t/c),s=Math.round(e/c),l*ce&&--s),s0))return[];if(t===e)return[t];const o=e=i))return[];const l=r-i+1,s=new Array(l);if(o)if(a<0)for(let c=0;c=o)&&(n=o);return n}function aze(t,e){let n;for(const o of t)o!=null&&(n>o||n===void 0&&o>=o)&&(n=o);return n}function sat(t,e,n=0,o=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),o=Math.floor(Math.min(t.length-1,o)),!(n<=e&&e<=o))return t;for(i=i===void 0?lat:G7o(i);o>n;){if(o-n>600){const s=o-n+1,c=e-n+1,u=Math.log(s),d=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*d*(s-d)/s)*(c-s/2<0?-1:1),p=Math.max(n,Math.floor(e-c*d/s+f)),g=Math.min(o,Math.floor(e+(s-c)*d/s+f));sat(t,e,p,g,i)}const r=t[e];let a=n,l=o;for(qz(t,n,e),i(t[o],r)>0&&qz(t,n,o);a0;)--l}i(t[n],r)===0?qz(t,n,l):(++l,qz(t,l,o)),l<=e&&(n=l+1),e<=l&&(o=l-1)}return t}function qz(t,e,n){const o=t[e];t[e]=t[n],t[n]=o}function q7o(t,e,n){if(t=Float64Array.from(j7o(t)),!(!(o=t.length)||isNaN(e=+e))){if(e<=0||o<2)return aze(t);if(e>=1)return rze(t);var o,i=(o-1)*e,r=Math.floor(i),a=rze(sat(t,r).subarray(0,r+1)),l=aze(t.subarray(r+1));return a+(l-a)*(i-r)}}function $7o(t,e,n=aat){if(!(!(o=t.length)||isNaN(e=+e))){if(e<=0||o<2)return+n(t[0],0,t);if(e>=1)return+n(t[o-1],o-1,t);var o,i=(o-1)*e,r=Math.floor(i),a=+n(t[r],r,t),l=+n(t[r+1],r+1,t);return a+(l-a)*(i-r)}}function Q7o(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var o=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,r=new Array(i);++o>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?UO(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?UO(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=e8o.exec(t))?new Op(e[1],e[2],e[3],1):(e=t8o.exec(t))?new Op(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=n8o.exec(t))?UO(e[1],e[2],e[3],e[4]):(e=o8o.exec(t))?UO(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=i8o.exec(t))?hze(e[1],e[2]/100,e[3]/100,1):(e=r8o.exec(t))?hze(e[1],e[2]/100,e[3]/100,e[4]):lze.hasOwnProperty(t)?uze(lze[t]):t==="transparent"?new Op(NaN,NaN,NaN,0):null}function uze(t){return new Op(t>>16&255,t>>8&255,t&255,1)}function UO(t,e,n,o){return o<=0&&(t=e=n=NaN),new Op(t,e,n,o)}function s8o(t){return t instanceof JN||(t=qF(t)),t?(t=t.rgb(),new Op(t.r,t.g,t.b,t.opacity)):new Op}function Yfe(t,e,n,o){return arguments.length===1?s8o(t):new Op(t,e,n,o??1)}function Op(t,e,n,o){this.r=+t,this.g=+e,this.b=+n,this.opacity=+o}t3e(Op,Yfe,uat(JN,{brighter(t){return t=t==null?AJ:Math.pow(AJ,t),new Op(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?JF:Math.pow(JF,t),new Op(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Op(Px(this.r),Px(this.g),Px(this.b),wJ(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:dze,formatHex:dze,formatHex8:c8o,formatRgb:fze,toString:fze}));function dze(){return`#${Jv(this.r)}${Jv(this.g)}${Jv(this.b)}`}function c8o(){return`#${Jv(this.r)}${Jv(this.g)}${Jv(this.b)}${Jv((isNaN(this.opacity)?1:this.opacity)*255)}`}function fze(){const t=wJ(this.opacity);return`${t===1?"rgb(":"rgba("}${Px(this.r)}, ${Px(this.g)}, ${Px(this.b)}${t===1?")":`, ${t})`}`}function wJ(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Px(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Jv(t){return t=Px(t),(t<16?"0":"")+t.toString(16)}function hze(t,e,n,o){return o<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new f2(t,e,n,o)}function dat(t){if(t instanceof f2)return new f2(t.h,t.s,t.l,t.opacity);if(t instanceof JN||(t=qF(t)),!t)return new f2;if(t instanceof f2)return t;t=t.rgb();var e=t.r/255,n=t.g/255,o=t.b/255,i=Math.min(e,n,o),r=Math.max(e,n,o),a=NaN,l=r-i,s=(r+i)/2;return l?(e===r?a=(n-o)/l+(n0&&s<1?0:a,new f2(a,l,s,t.opacity)}function u8o(t,e,n,o){return arguments.length===1?dat(t):new f2(t,e,n,o??1)}function f2(t,e,n,o){this.h=+t,this.s=+e,this.l=+n,this.opacity=+o}t3e(f2,u8o,uat(JN,{brighter(t){return t=t==null?AJ:Math.pow(AJ,t),new f2(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?JF:Math.pow(JF,t),new f2(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*e,i=2*n-o;return new Op(Oae(t>=240?t-240:t+120,i,o),Oae(t,i,o),Oae(t<120?t+240:t-120,i,o),this.opacity)},clamp(){return new f2(pze(this.h),BO(this.s),BO(this.l),wJ(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=wJ(this.opacity);return`${t===1?"hsl(":"hsla("}${pze(this.h)}, ${BO(this.s)*100}%, ${BO(this.l)*100}%${t===1?")":`, ${t})`}`}}));function pze(t){return t=(t||0)%360,t<0?t+360:t}function BO(t){return Math.max(0,Math.min(1,t||0))}function Oae(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const n3e=t=>()=>t;function d8o(t,e){return function(n){return t+n*e}}function f8o(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(o){return Math.pow(t+o*e,n)}}function h8o(t){return(t=+t)==1?fat:function(e,n){return n-e?f8o(e,n,t):n3e(isNaN(e)?n:e)}}function fat(t,e){var n=e-t;return n?d8o(t,n):n3e(isNaN(t)?e:t)}const gze=function t(e){var n=h8o(e);function o(i,r){var a=n((i=Yfe(i)).r,(r=Yfe(r)).r),l=n(i.g,r.g),s=n(i.b,r.b),c=fat(i.opacity,r.opacity);return function(u){return i.r=a(u),i.g=l(u),i.b=s(u),i.opacity=c(u),i+""}}return o.gamma=t,o}(1);function p8o(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,o=e.slice(),i;return function(r){for(i=0;in&&(r=e.slice(n,r),l[a]?l[a]+=r:l[++a]=r),(o=o[0])===(i=i[0])?l[a]?l[a]+=i:l[++a]=i:(l[++a]=null,s.push({i:a,x:vJ(o,i)})),n=_ae.lastIndex;return ne&&(n=t,t=e,e=n),function(o){return Math.max(t,Math.min(e,o))}}function P8o(t,e,n){var o=t[0],i=t[1],r=e[0],a=e[1];return i2?C8o:P8o,s=c=null,d}function d(f){return f==null||isNaN(f=+f)?r:(s||(s=l(t.map(o),e,n)))(o(a(f)))}return d.invert=function(f){return a(i((c||(c=l(e,t.map(o),vJ)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,xJ),u()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),u()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=o3e,u()},d.clamp=function(f){return arguments.length?(a=f?!0:rp,u()):a!==rp},d.interpolate=function(f){return arguments.length?(n=f,u()):n},d.unknown=function(f){return arguments.length?(r=f,d):r},function(f,p){return o=f,i=p,u()}}function i3e(){return Cee()(rp,rp)}function R8o(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function bJ(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,o=t.slice(0,n);return[o.length>1?o[0]+o.slice(2):o,+t.slice(n+1)]}function XR(t){return t=bJ(Math.abs(t)),t?t[1]:NaN}function H8o(t,e){return function(n,o){for(var i=n.length,r=[],a=0,l=t[0],s=0;i>0&&l>0&&(s+l+1>o&&(l=Math.max(1,o-s)),r.push(n.substring(i-=l,i+l)),!((s+=l+1)>o));)l=t[a=(a+1)%t.length];return r.reverse().join(e)}}function M8o(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var I8o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function $F(t){if(!(e=I8o.exec(t)))throw new Error("invalid format: "+t);var e;return new r3e({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}$F.prototype=r3e.prototype;function r3e(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}r3e.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function z8o(t){e:for(var e=t.length,n=1,o=-1,i;n0&&(o=0);break}return o>0?t.slice(0,o)+t.slice(i+1):t}var hat;function D8o(t,e){var n=bJ(t,e);if(!n)return t+"";var o=n[0],i=n[1],r=i-(hat=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=o.length;return r===a?o:r>a?o+new Array(r-a+1).join("0"):r>0?o.slice(0,r)+"."+o.slice(r):"0."+new Array(1-r).join("0")+bJ(t,Math.max(0,e+r-1))[0]}function yze(t,e){var n=bJ(t,e);if(!n)return t+"";var o=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+o:o.length>i+1?o.slice(0,i+1)+"."+o.slice(i+1):o+new Array(i-o.length+2).join("0")}const Aze={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:R8o,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>yze(t*100,e),r:yze,s:D8o,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function wze(t){return t}var vze=Array.prototype.map,xze=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function E8o(t){var e=t.grouping===void 0||t.thousands===void 0?wze:H8o(vze.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",o=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",r=t.numerals===void 0?wze:M8o(vze.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"−":t.minus+"",s=t.nan===void 0?"NaN":t.nan+"";function c(d){d=$F(d);var f=d.fill,p=d.align,g=d.sign,y=d.symbol,A=d.zero,x=d.width,C=d.comma,b=d.precision,v=d.trim,S=d.type;S==="n"?(C=!0,S="g"):Aze[S]||(b===void 0&&(b=12),v=!0,S="g"),(A||f==="0"&&p==="=")&&(A=!0,f="0",p="=");var w=y==="$"?n:y==="#"&&/[boxX]/.test(S)?"0"+S.toLowerCase():"",T=y==="$"?o:/[%p]/.test(S)?a:"",P=Aze[S],R=/[defgprs%]/.test(S);b=b===void 0?6:/[gprs]/.test(S)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function H(D){var E=w,L=T,U,F,W;if(S==="c")L=P(D)+L,D="";else{D=+D;var B=D<0||1/D<0;if(D=isNaN(D)?s:P(Math.abs(D),b),v&&(D=z8o(D)),B&&+D==0&&g!=="+"&&(B=!1),E=(B?g==="("?g:l:g==="-"||g==="("?"":g)+E,L=(S==="s"?xze[8+hat/3]:"")+L+(B&&g==="("?")":""),R){for(U=-1,F=D.length;++UW||W>57){L=(W===46?i+D.slice(U+1):D.slice(U))+L,D=D.slice(0,U);break}}}C&&!A&&(D=e(D,1/0));var k=E.length+D.length+L.length,N=k>1)+E+D+L+N.slice(k);break;default:D=N+E+D+L;break}return r(D)}return H.toString=function(){return d+""},H}function u(d,f){var p=c((d=$F(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(XR(f)/3)))*3,y=Math.pow(10,-g),A=xze[8+g/3];return function(x){return p(y*x)+A}}return{format:c,formatPrefix:u}}var jO,a3e,pat;k8o({thousands:",",grouping:[3],currency:["$",""]});function k8o(t){return jO=E8o(t),a3e=jO.format,pat=jO.formatPrefix,jO}function F8o(t){return Math.max(0,-XR(Math.abs(t)))}function L8o(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(XR(e)/3)))*3-XR(Math.abs(t)))}function W8o(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,XR(e)-XR(t))+1}function gat(t,e,n,o){var i=Bfe(t,e,n),r;switch(o=$F(o??",f"),o.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return o.precision==null&&!isNaN(r=L8o(i,a))&&(o.precision=r),pat(o,a)}case"":case"e":case"g":case"p":case"r":{o.precision==null&&!isNaN(r=W8o(i,Math.max(Math.abs(t),Math.abs(e))))&&(o.precision=r-(o.type==="e"));break}case"f":case"%":{o.precision==null&&!isNaN(r=F8o(i))&&(o.precision=r-(o.type==="%")*2);break}}return a3e(o)}function J7(t){var e=t.domain;return t.ticks=function(n){var o=e();return Nfe(o[0],o[o.length-1],n??10)},t.tickFormat=function(n,o){var i=e();return gat(i[0],i[i.length-1],n??10,o)},t.nice=function(n){n==null&&(n=10);var o=e(),i=0,r=o.length-1,a=o[i],l=o[r],s,c,u=10;for(l0;){if(c=Ufe(a,l,n),c===s)return o[i]=a,o[r]=l,e(o);if(c>0)a=Math.floor(a/c)*c,l=Math.ceil(l/c)*c;else if(c<0)a=Math.ceil(a*c)/c,l=Math.floor(l*c)/c;else break;s=c}return t},t}function QF(){var t=i3e();return t.copy=function(){return KN(t,QF())},ly.apply(t,arguments),J7(t)}function mat(t){var e;function n(o){return o==null||isNaN(o=+o)?e:o}return n.invert=n,n.domain=n.range=function(o){return arguments.length?(t=Array.from(o,xJ),n):t.slice()},n.unknown=function(o){return arguments.length?(e=o,n):e},n.copy=function(){return mat(t).unknown(e)},t=arguments.length?Array.from(t,xJ):[0,1],J7(n)}function yat(t,e){t=t.slice();var n=0,o=t.length-1,i=t[n],r=t[o],a;return rMath.pow(t,e)}function Y8o(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Tze(t){return(e,n)=>-t(-e,n)}function l3e(t){const e=t(bze,Sze),n=e.domain;let o=10,i,r;function a(){return i=Y8o(o),r=j8o(o),n()[0]<0?(i=Tze(i),r=Tze(r),t(N8o,U8o)):t(bze,Sze),e}return e.base=function(l){return arguments.length?(o=+l,a()):o},e.domain=function(l){return arguments.length?(n(l),a()):n()},e.ticks=l=>{const s=n();let c=s[0],u=s[s.length-1];const d=u0){for(;f<=p;++f)for(g=1;gu)break;x.push(y)}}else for(;f<=p;++f)for(g=o-1;g>=1;--g)if(y=f>0?g/r(-f):g*r(f),!(yu)break;x.push(y)}x.length*2{if(l==null&&(l=10),s==null&&(s=o===10?"s":","),typeof s!="function"&&(!(o%1)&&(s=$F(s)).precision==null&&(s.trim=!0),s=a3e(s)),l===1/0)return s;const c=Math.max(1,o*l/e.ticks().length);return u=>{let d=u/r(Math.round(i(u)));return d*on(yat(n(),{floor:l=>r(Math.floor(i(l))),ceil:l=>r(Math.ceil(i(l)))})),e}function Aat(){const t=l3e(Cee()).domain([1,10]);return t.copy=()=>KN(t,Aat()).base(t.base()),ly.apply(t,arguments),t}function Pze(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Cze(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function s3e(t){var e=1,n=t(Pze(e),Cze(e));return n.constant=function(o){return arguments.length?t(Pze(e=+o),Cze(e)):e},J7(n)}function wat(){var t=s3e(Cee());return t.copy=function(){return KN(t,wat()).constant(t.constant())},ly.apply(t,arguments)}function Rze(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function O8o(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function _8o(t){return t<0?-t*t:t*t}function c3e(t){var e=t(rp,rp),n=1;function o(){return n===1?t(rp,rp):n===.5?t(O8o,_8o):t(Rze(n),Rze(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,o()):n},J7(e)}function u3e(){var t=c3e(Cee());return t.copy=function(){return KN(t,u3e()).exponent(t.exponent())},ly.apply(t,arguments),t}function V8o(){return u3e.apply(null,arguments).exponent(.5)}function Hze(t){return Math.sign(t)*t*t}function G8o(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function vat(){var t=i3e(),e=[0,1],n=!1,o;function i(r){var a=G8o(t(r));return isNaN(a)?o:n?Math.round(a):a}return i.invert=function(r){return t.invert(Hze(r))},i.domain=function(r){return arguments.length?(t.domain(r),i):t.domain()},i.range=function(r){return arguments.length?(t.range((e=Array.from(r,xJ)).map(Hze)),i):e.slice()},i.rangeRound=function(r){return i.range(r).round(!0)},i.round=function(r){return arguments.length?(n=!!r,i):n},i.clamp=function(r){return arguments.length?(t.clamp(r),i):t.clamp()},i.unknown=function(r){return arguments.length?(o=r,i):o},i.copy=function(){return vat(t.domain(),e).round(n).clamp(t.clamp()).unknown(o)},ly.apply(i,arguments),J7(i)}function xat(){var t=[],e=[],n=[],o;function i(){var a=0,l=Math.max(1,e.length);for(n=new Array(l-1);++a0?n[l-1]:t[0],l=n?[o[n-1],e]:[o[c-1],o[c]]},a.unknown=function(s){return arguments.length&&(r=s),a},a.thresholds=function(){return o.slice()},a.copy=function(){return bat().domain([t,e]).range(i).unknown(r)},ly.apply(J7(a),arguments)}function Sat(){var t=[.5],e=[0,1],n,o=1;function i(r){return r!=null&&r<=r?e[XN(t,r,0,o)]:n}return i.domain=function(r){return arguments.length?(t=Array.from(r),o=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(r){return arguments.length?(e=Array.from(r),o=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(r){var a=e.indexOf(r);return[t[a-1],t[a]]},i.unknown=function(r){return arguments.length?(n=r,i):n},i.copy=function(){return Sat().domain(t).range(e).unknown(n)},ly.apply(i,arguments)}const Vae=new Date,Gae=new Date;function Gu(t,e,n,o){function i(r){return t(r=arguments.length===0?new Date:new Date(+r)),r}return i.floor=r=>(t(r=new Date(+r)),r),i.ceil=r=>(t(r=new Date(r-1)),e(r,1),t(r),r),i.round=r=>{const a=i(r),l=i.ceil(r);return r-a(e(r=new Date(+r),a==null?1:Math.floor(a)),r),i.range=(r,a,l)=>{const s=[];if(r=i.ceil(r),l=l==null?1:Math.floor(l),!(r0))return s;let c;do s.push(c=new Date(+r)),e(r,l),t(r);while(cGu(a=>{if(a>=a)for(;t(a),!r(a);)a.setTime(a-1)},(a,l)=>{if(a>=a)if(l<0)for(;++l<=0;)for(;e(a,-1),!r(a););else for(;--l>=0;)for(;e(a,1),!r(a););}),n&&(i.count=(r,a)=>(Vae.setTime(+r),Gae.setTime(+a),t(Vae),t(Gae),Math.floor(n(Vae,Gae))),i.every=r=>(r=Math.floor(r),!isFinite(r)||!(r>0)?null:r>1?i.filter(o?a=>o(a)%r===0:a=>i.count(0,a)%r===0):i)),i}const SJ=Gu(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);SJ.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Gu(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):SJ);SJ.range;const w6=1e3,Nm=w6*60,v6=Nm*60,eA=v6*24,d3e=eA*7,Mze=eA*30,Xae=eA*365,Kv=Gu(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*w6)},(t,e)=>(e-t)/w6,t=>t.getUTCSeconds());Kv.range;const f3e=Gu(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*w6)},(t,e)=>{t.setTime(+t+e*Nm)},(t,e)=>(e-t)/Nm,t=>t.getMinutes());f3e.range;const h3e=Gu(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Nm)},(t,e)=>(e-t)/Nm,t=>t.getUTCMinutes());h3e.range;const p3e=Gu(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*w6-t.getMinutes()*Nm)},(t,e)=>{t.setTime(+t+e*v6)},(t,e)=>(e-t)/v6,t=>t.getHours());p3e.range;const g3e=Gu(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*v6)},(t,e)=>(e-t)/v6,t=>t.getUTCHours());g3e.range;const qN=Gu(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Nm)/eA,t=>t.getDate()-1);qN.range;const Ree=Gu(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eA,t=>t.getUTCDate()-1);Ree.range;const Tat=Gu(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eA,t=>Math.floor(t/eA));Tat.range;function iS(t){return Gu(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Nm)/d3e)}const Hee=iS(0),TJ=iS(1),X8o=iS(2),J8o=iS(3),JR=iS(4),K8o=iS(5),q8o=iS(6);Hee.range;TJ.range;X8o.range;J8o.range;JR.range;K8o.range;q8o.range;function rS(t){return Gu(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/d3e)}const Mee=rS(0),PJ=rS(1),$8o=rS(2),Q8o=rS(3),KR=rS(4),Z8o=rS(5),evo=rS(6);Mee.range;PJ.range;$8o.range;Q8o.range;KR.range;Z8o.range;evo.range;const m3e=Gu(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());m3e.range;const y3e=Gu(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());y3e.range;const tA=Gu(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());tA.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Gu(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});tA.range;const nA=Gu(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());nA.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Gu(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});nA.range;function Pat(t,e,n,o,i,r){const a=[[Kv,1,w6],[Kv,5,5*w6],[Kv,15,15*w6],[Kv,30,30*w6],[r,1,Nm],[r,5,5*Nm],[r,15,15*Nm],[r,30,30*Nm],[i,1,v6],[i,3,3*v6],[i,6,6*v6],[i,12,12*v6],[o,1,eA],[o,2,2*eA],[n,1,d3e],[e,1,Mze],[e,3,3*Mze],[t,1,Xae]];function l(c,u,d){const f=uA).right(a,f);if(p===a.length)return t.every(Bfe(c/Xae,u/Xae,d));if(p===0)return SJ.every(Math.max(Bfe(c,u,d),1));const[g,y]=a[f/a[p-1][2]53)return null;"w"in Z||(Z.w=1),"Z"in Z?(fe=Kae($z(Z.y,0,1)),se=fe.getUTCDay(),fe=se>4||se===0?PJ.ceil(fe):PJ(fe),fe=Ree.offset(fe,(Z.V-1)*7),Z.y=fe.getUTCFullYear(),Z.m=fe.getUTCMonth(),Z.d=fe.getUTCDate()+(Z.w+6)%7):(fe=Jae($z(Z.y,0,1)),se=fe.getDay(),fe=se>4||se===0?TJ.ceil(fe):TJ(fe),fe=qN.offset(fe,(Z.V-1)*7),Z.y=fe.getFullYear(),Z.m=fe.getMonth(),Z.d=fe.getDate()+(Z.w+6)%7)}else("W"in Z||"U"in Z)&&("w"in Z||(Z.w="u"in Z?Z.u%7:"W"in Z?1:0),se="Z"in Z?Kae($z(Z.y,0,1)).getUTCDay():Jae($z(Z.y,0,1)).getDay(),Z.m=0,Z.d="W"in Z?(Z.w+6)%7+Z.W*7-(se+5)%7:Z.w+Z.U*7-(se+6)%7);return"Z"in Z?(Z.H+=Z.Z/100|0,Z.M+=Z.Z%100,Kae(Z)):Jae(Z)}}function P(ie,pe,ne,Z){for(var he=0,fe=pe.length,se=ne.length,oe,de;he=se)return-1;if(oe=pe.charCodeAt(he++),oe===37){if(oe=pe.charAt(he++),de=S[oe in Ize?pe.charAt(he++):oe],!de||(Z=de(ie,ne,Z))<0)return-1}else if(oe!=ne.charCodeAt(Z++))return-1}return Z}function R(ie,pe,ne){var Z=c.exec(pe.slice(ne));return Z?(ie.p=u.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function H(ie,pe,ne){var Z=p.exec(pe.slice(ne));return Z?(ie.w=g.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function D(ie,pe,ne){var Z=d.exec(pe.slice(ne));return Z?(ie.w=f.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function E(ie,pe,ne){var Z=x.exec(pe.slice(ne));return Z?(ie.m=C.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function L(ie,pe,ne){var Z=y.exec(pe.slice(ne));return Z?(ie.m=A.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function U(ie,pe,ne){return P(ie,e,pe,ne)}function F(ie,pe,ne){return P(ie,n,pe,ne)}function W(ie,pe,ne){return P(ie,o,pe,ne)}function B(ie){return a[ie.getDay()]}function k(ie){return r[ie.getDay()]}function N(ie){return s[ie.getMonth()]}function j(ie){return l[ie.getMonth()]}function Y(ie){return i[+(ie.getHours()>=12)]}function _(ie){return 1+~~(ie.getMonth()/3)}function J(ie){return a[ie.getUTCDay()]}function Q(ie){return r[ie.getUTCDay()]}function ee(ie){return s[ie.getUTCMonth()]}function $(ie){return l[ie.getUTCMonth()]}function q(ie){return i[+(ie.getUTCHours()>=12)]}function le(ie){return 1+~~(ie.getUTCMonth()/3)}return{format:function(ie){var pe=w(ie+="",b);return pe.toString=function(){return ie},pe},parse:function(ie){var pe=T(ie+="",!1);return pe.toString=function(){return ie},pe},utcFormat:function(ie){var pe=w(ie+="",v);return pe.toString=function(){return ie},pe},utcParse:function(ie){var pe=T(ie+="",!0);return pe.toString=function(){return ie},pe}}}var Ize={"-":"",_:" ",0:"0"},zd=/^\s*\d+/,avo=/^%/,lvo=/[\\^$*+?|[\]().{}]/g;function kl(t,e,n){var o=t<0?"-":"",i=(o?-t:t)+"",r=i.length;return o+(r[e.toLowerCase(),n]))}function cvo(t,e,n){var o=zd.exec(e.slice(n,n+1));return o?(t.w=+o[0],n+o[0].length):-1}function uvo(t,e,n){var o=zd.exec(e.slice(n,n+1));return o?(t.u=+o[0],n+o[0].length):-1}function dvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.U=+o[0],n+o[0].length):-1}function fvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.V=+o[0],n+o[0].length):-1}function hvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.W=+o[0],n+o[0].length):-1}function zze(t,e,n){var o=zd.exec(e.slice(n,n+4));return o?(t.y=+o[0],n+o[0].length):-1}function Dze(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.y=+o[0]+(+o[0]>68?1900:2e3),n+o[0].length):-1}function pvo(t,e,n){var o=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return o?(t.Z=o[1]?0:-(o[2]+(o[3]||"00")),n+o[0].length):-1}function gvo(t,e,n){var o=zd.exec(e.slice(n,n+1));return o?(t.q=o[0]*3-3,n+o[0].length):-1}function mvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.m=o[0]-1,n+o[0].length):-1}function Eze(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.d=+o[0],n+o[0].length):-1}function yvo(t,e,n){var o=zd.exec(e.slice(n,n+3));return o?(t.m=0,t.d=+o[0],n+o[0].length):-1}function kze(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.H=+o[0],n+o[0].length):-1}function Avo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.M=+o[0],n+o[0].length):-1}function wvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.S=+o[0],n+o[0].length):-1}function vvo(t,e,n){var o=zd.exec(e.slice(n,n+3));return o?(t.L=+o[0],n+o[0].length):-1}function xvo(t,e,n){var o=zd.exec(e.slice(n,n+6));return o?(t.L=Math.floor(o[0]/1e3),n+o[0].length):-1}function bvo(t,e,n){var o=avo.exec(e.slice(n,n+1));return o?n+o[0].length:-1}function Svo(t,e,n){var o=zd.exec(e.slice(n));return o?(t.Q=+o[0],n+o[0].length):-1}function Tvo(t,e,n){var o=zd.exec(e.slice(n));return o?(t.s=+o[0],n+o[0].length):-1}function Fze(t,e){return kl(t.getDate(),e,2)}function Pvo(t,e){return kl(t.getHours(),e,2)}function Cvo(t,e){return kl(t.getHours()%12||12,e,2)}function Rvo(t,e){return kl(1+qN.count(tA(t),t),e,3)}function Cat(t,e){return kl(t.getMilliseconds(),e,3)}function Hvo(t,e){return Cat(t,e)+"000"}function Mvo(t,e){return kl(t.getMonth()+1,e,2)}function Ivo(t,e){return kl(t.getMinutes(),e,2)}function zvo(t,e){return kl(t.getSeconds(),e,2)}function Dvo(t){var e=t.getDay();return e===0?7:e}function Evo(t,e){return kl(Hee.count(tA(t)-1,t),e,2)}function Rat(t){var e=t.getDay();return e>=4||e===0?JR(t):JR.ceil(t)}function kvo(t,e){return t=Rat(t),kl(JR.count(tA(t),t)+(tA(t).getDay()===4),e,2)}function Fvo(t){return t.getDay()}function Lvo(t,e){return kl(TJ.count(tA(t)-1,t),e,2)}function Wvo(t,e){return kl(t.getFullYear()%100,e,2)}function Nvo(t,e){return t=Rat(t),kl(t.getFullYear()%100,e,2)}function Uvo(t,e){return kl(t.getFullYear()%1e4,e,4)}function Bvo(t,e){var n=t.getDay();return t=n>=4||n===0?JR(t):JR.ceil(t),kl(t.getFullYear()%1e4,e,4)}function jvo(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+kl(e/60|0,"0",2)+kl(e%60,"0",2)}function Lze(t,e){return kl(t.getUTCDate(),e,2)}function Yvo(t,e){return kl(t.getUTCHours(),e,2)}function Ovo(t,e){return kl(t.getUTCHours()%12||12,e,2)}function _vo(t,e){return kl(1+Ree.count(nA(t),t),e,3)}function Hat(t,e){return kl(t.getUTCMilliseconds(),e,3)}function Vvo(t,e){return Hat(t,e)+"000"}function Gvo(t,e){return kl(t.getUTCMonth()+1,e,2)}function Xvo(t,e){return kl(t.getUTCMinutes(),e,2)}function Jvo(t,e){return kl(t.getUTCSeconds(),e,2)}function Kvo(t){var e=t.getUTCDay();return e===0?7:e}function qvo(t,e){return kl(Mee.count(nA(t)-1,t),e,2)}function Mat(t){var e=t.getUTCDay();return e>=4||e===0?KR(t):KR.ceil(t)}function $vo(t,e){return t=Mat(t),kl(KR.count(nA(t),t)+(nA(t).getUTCDay()===4),e,2)}function Qvo(t){return t.getUTCDay()}function Zvo(t,e){return kl(PJ.count(nA(t)-1,t),e,2)}function exo(t,e){return kl(t.getUTCFullYear()%100,e,2)}function txo(t,e){return t=Mat(t),kl(t.getUTCFullYear()%100,e,2)}function nxo(t,e){return kl(t.getUTCFullYear()%1e4,e,4)}function oxo(t,e){var n=t.getUTCDay();return t=n>=4||n===0?KR(t):KR.ceil(t),kl(t.getUTCFullYear()%1e4,e,4)}function ixo(){return"+0000"}function Wze(){return"%"}function Nze(t){return+t}function Uze(t){return Math.floor(+t/1e3)}var VT,Iat,zat;rxo({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function rxo(t){return VT=rvo(t),Iat=VT.format,VT.parse,zat=VT.utcFormat,VT.utcParse,VT}function axo(t){return new Date(t)}function lxo(t){return t instanceof Date?+t:+new Date(+t)}function A3e(t,e,n,o,i,r,a,l,s,c){var u=i3e(),d=u.invert,f=u.domain,p=c(".%L"),g=c(":%S"),y=c("%I:%M"),A=c("%I %p"),x=c("%a %d"),C=c("%b %d"),b=c("%B"),v=c("%Y");function S(w){return(s(w)e(i/(t.length-1)))},n.quantiles=function(o){return Array.from({length:o+1},(i,r)=>q7o(t,r/o))},n.copy=function(){return Fat(e).domain(t)},xA.apply(n,arguments)}function zee(){var t=0,e=.5,n=1,o=1,i,r,a,l,s,c=rp,u,d=!1,f;function p(y){return isNaN(y=+y)?f:(y=.5+((y=+u(y))-r)*(o*ye}var gxo=pxo,mxo=Uat,yxo=gxo,Axo=Vb;function wxo(t){return t&&t.length?mxo(t,Axo,yxo):void 0}var vxo=wxo;const ww=kr(vxo);function xxo(t,e){return tt.e^r.s<0?1:-1;for(o=r.d.length,i=t.d.length,e=0,n=ot.d[e]^r.s<0?1:-1;return o===i?0:o>i^r.s<0?1:-1};Yi.decimalPlaces=Yi.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*pc;if(e=t.d[e],e)for(;e%10==0;e/=10)n--;return n<0?0:n};Yi.dividedBy=Yi.div=function(t){return k6(this,new this.constructor(t))};Yi.dividedToIntegerBy=Yi.idiv=function(t){var e=this,n=e.constructor;return Cs(k6(e,new n(t),0,1),n.precision)};Yi.equals=Yi.eq=function(t){return!this.cmp(t)};Yi.exponent=function(){return su(this)};Yi.greaterThan=Yi.gt=function(t){return this.cmp(t)>0};Yi.greaterThanOrEqualTo=Yi.gte=function(t){return this.cmp(t)>=0};Yi.isInteger=Yi.isint=function(){return this.e>this.d.length-2};Yi.isNegative=Yi.isneg=function(){return this.s<0};Yi.isPositive=Yi.ispos=function(){return this.s>0};Yi.isZero=function(){return this.s===0};Yi.lessThan=Yi.lt=function(t){return this.cmp(t)<0};Yi.lessThanOrEqualTo=Yi.lte=function(t){return this.cmp(t)<1};Yi.logarithm=Yi.log=function(t){var e,n=this,o=n.constructor,i=o.precision,r=i+5;if(t===void 0)t=new o(10);else if(t=new o(t),t.s<1||t.eq(lg))throw Error(Zm+"NaN");if(n.s<1)throw Error(Zm+(n.s?"NaN":"-Infinity"));return n.eq(lg)?new o(0):(Oc=!1,e=k6(ZF(n,r),ZF(t,r),r),Oc=!0,Cs(e,i))};Yi.minus=Yi.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?Oat(e,t):jat(e,(t.s=-t.s,t))};Yi.modulo=Yi.mod=function(t){var e,n=this,o=n.constructor,i=o.precision;if(t=new o(t),!t.s)throw Error(Zm+"NaN");return n.s?(Oc=!1,e=k6(n,t,0,1).times(t),Oc=!0,n.minus(e)):Cs(new o(n),i)};Yi.naturalExponential=Yi.exp=function(){return Yat(this)};Yi.naturalLogarithm=Yi.ln=function(){return ZF(this)};Yi.negated=Yi.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};Yi.plus=Yi.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?jat(e,t):Oat(e,(t.s=-t.s,t))};Yi.precision=Yi.sd=function(t){var e,n,o,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(Cx+t);if(e=su(i)+1,o=i.d.length-1,n=o*pc+1,o=i.d[o],o){for(;o%10==0;o/=10)n--;for(o=i.d[0];o>=10;o/=10)n++}return t&&e>n?e:n};Yi.squareRoot=Yi.sqrt=function(){var t,e,n,o,i,r,a,l=this,s=l.constructor;if(l.s<1){if(!l.s)return new s(0);throw Error(Zm+"NaN")}for(t=su(l),Oc=!1,i=Math.sqrt(+l),i==0||i==1/0?(e=u9(l.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=xM((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),o=new s(e)):o=new s(i.toString()),n=s.precision,i=a=n+3;;)if(r=o,o=r.plus(k6(l,r,a+2)).times(.5),u9(r.d).slice(0,a)===(e=u9(o.d)).slice(0,a)){if(e=e.slice(a-3,a+1),i==a&&e=="4999"){if(Cs(r,n+1,0),r.times(r).eq(l)){o=r;break}}else if(e!="9999")break;a+=4}return Oc=!0,Cs(o,n)};Yi.times=Yi.mul=function(t){var e,n,o,i,r,a,l,s,c,u=this,d=u.constructor,f=u.d,p=(t=new d(t)).d;if(!u.s||!t.s)return new d(0);for(t.s*=u.s,n=u.e+t.e,s=f.length,c=p.length,s=0;){for(e=0,i=s+o;i>o;)l=r[i]+p[o]*f[i-o-1]+e,r[i--]=l%gd|0,e=l/gd|0;r[i]=(r[i]+e)%gd|0}for(;!r[--a];)r.pop();return e?++n:r.shift(),t.d=r,t.e=n,Oc?Cs(t,d.precision):t};Yi.toDecimalPlaces=Yi.todp=function(t,e){var n=this,o=n.constructor;return n=new o(n),t===void 0?n:(Y9(t,0,vM),e===void 0?e=o.rounding:Y9(e,0,8),Cs(n,t+su(n)+1,e))};Yi.toExponential=function(t,e){var n,o=this,i=o.constructor;return t===void 0?n=sb(o,!0):(Y9(t,0,vM),e===void 0?e=i.rounding:Y9(e,0,8),o=Cs(new i(o),t+1,e),n=sb(o,!0,t+1)),n};Yi.toFixed=function(t,e){var n,o,i=this,r=i.constructor;return t===void 0?sb(i):(Y9(t,0,vM),e===void 0?e=r.rounding:Y9(e,0,8),o=Cs(new r(i),t+su(i)+1,e),n=sb(o.abs(),!1,t+su(o)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Yi.toInteger=Yi.toint=function(){var t=this,e=t.constructor;return Cs(new e(t),su(t)+1,e.rounding)};Yi.toNumber=function(){return+this};Yi.toPower=Yi.pow=function(t){var e,n,o,i,r,a,l=this,s=l.constructor,c=12,u=+(t=new s(t));if(!t.s)return new s(lg);if(l=new s(l),!l.s){if(t.s<1)throw Error(Zm+"Infinity");return l}if(l.eq(lg))return l;if(o=s.precision,t.eq(lg))return Cs(l,o);if(e=t.e,n=t.d.length-1,a=e>=n,r=l.s,a){if((n=u<0?-u:u)<=Bat){for(i=new s(lg),e=Math.ceil(o/pc+4),Oc=!1;n%2&&(i=i.times(l),Yze(i.d,e)),n=xM(n/2),n!==0;)l=l.times(l),Yze(l.d,e);return Oc=!0,t.s<0?new s(lg).div(i):Cs(i,o)}}else if(r<0)throw Error(Zm+"NaN");return r=r<0&&t.d[Math.max(e,n)]&1?-1:1,l.s=1,Oc=!1,i=t.times(ZF(l,o+c)),Oc=!0,i=Yat(i),i.s=r,i};Yi.toPrecision=function(t,e){var n,o,i=this,r=i.constructor;return t===void 0?(n=su(i),o=sb(i,n<=r.toExpNeg||n>=r.toExpPos)):(Y9(t,1,vM),e===void 0?e=r.rounding:Y9(e,0,8),i=Cs(new r(i),t,e),n=su(i),o=sb(i,t<=n||n<=r.toExpNeg,t)),o};Yi.toSignificantDigits=Yi.tosd=function(t,e){var n=this,o=n.constructor;return t===void 0?(t=o.precision,e=o.rounding):(Y9(t,1,vM),e===void 0?e=o.rounding:Y9(e,0,8)),Cs(new o(n),t,e)};Yi.toString=Yi.valueOf=Yi.val=Yi.toJSON=Yi[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=su(t),n=t.constructor;return sb(t,e<=n.toExpNeg||e>=n.toExpPos)};function jat(t,e){var n,o,i,r,a,l,s,c,u=t.constructor,d=u.precision;if(!t.s||!e.s)return e.s||(e=new u(t)),Oc?Cs(e,d):e;if(s=t.d,c=e.d,a=t.e,i=e.e,s=s.slice(),r=a-i,r){for(r<0?(o=s,r=-r,l=c.length):(o=c,i=a,l=s.length),a=Math.ceil(d/pc),l=a>l?a+1:l+1,r>l&&(r=l,o.length=1),o.reverse();r--;)o.push(0);o.reverse()}for(l=s.length,r=c.length,l-r<0&&(r=l,o=c,c=s,s=o),n=0;r;)n=(s[--r]=s[r]+c[r]+n)/gd|0,s[r]%=gd;for(n&&(s.unshift(n),++i),l=s.length;s[--l]==0;)s.pop();return e.d=s,e.e=i,Oc?Cs(e,d):e}function Y9(t,e,n){if(t!==~~t||tn)throw Error(Cx+t)}function u9(t){var e,n,o,i=t.length-1,r="",a=t[0];if(i>0){for(r+=a,e=1;ea?1:-1;else for(l=s=0;li[l]?1:-1;break}return s}function n(o,i,r){for(var a=0;r--;)o[r]-=a,a=o[r]1;)o.shift()}return function(o,i,r,a){var l,s,c,u,d,f,p,g,y,A,x,C,b,v,S,w,T,P,R=o.constructor,H=o.s==i.s?1:-1,D=o.d,E=i.d;if(!o.s)return new R(o);if(!i.s)throw Error(Zm+"Division by zero");for(s=o.e-i.e,T=E.length,S=D.length,p=new R(H),g=p.d=[],c=0;E[c]==(D[c]||0);)++c;if(E[c]>(D[c]||0)&&--s,r==null?C=r=R.precision:a?C=r+(su(o)-su(i))+1:C=r,C<0)return new R(0);if(C=C/pc+2|0,c=0,T==1)for(u=0,E=E[0],C++;(c1&&(E=t(E,u),D=t(D,u),T=E.length,S=D.length),v=T,y=D.slice(0,T),A=y.length;A=gd/2&&++w;do u=0,l=e(E,y,T,A),l<0?(x=y[0],T!=A&&(x=x*gd+(y[1]||0)),u=x/w|0,u>1?(u>=gd&&(u=gd-1),d=t(E,u),f=d.length,A=y.length,l=e(d,y,f,A),l==1&&(u--,n(d,T16)throw Error(x3e+su(t));if(!t.s)return new u(lg);for(e==null?(Oc=!1,l=d):l=e,a=new u(.03125);t.abs().gte(.1);)t=t.times(a),c+=5;for(o=Math.log(pv(2,c))/Math.LN10*2+5|0,l+=o,n=i=r=new u(lg),u.precision=l;;){if(i=Cs(i.times(t),l),n=n.times(++s),a=r.plus(k6(i,n,l)),u9(a.d).slice(0,l)===u9(r.d).slice(0,l)){for(;c--;)r=Cs(r.times(r),l);return u.precision=d,e==null?(Oc=!0,Cs(r,d)):r}r=a}}function su(t){for(var e=t.e*pc,n=t.d[0];n>=10;n/=10)e++;return e}function qae(t,e,n){if(e>t.LN10.sd())throw Oc=!0,n&&(t.precision=n),Error(Zm+"LN10 precision limit exceeded");return Cs(new t(t.LN10),e)}function J4(t){for(var e="";t--;)e+="0";return e}function ZF(t,e){var n,o,i,r,a,l,s,c,u,d=1,f=10,p=t,g=p.d,y=p.constructor,A=y.precision;if(p.s<1)throw Error(Zm+(p.s?"NaN":"-Infinity"));if(p.eq(lg))return new y(0);if(e==null?(Oc=!1,c=A):c=e,p.eq(10))return e==null&&(Oc=!0),qae(y,c);if(c+=f,y.precision=c,n=u9(g),o=n.charAt(0),r=su(p),Math.abs(r)<15e14){for(;o<7&&o!=1||o==1&&n.charAt(1)>3;)p=p.times(t),n=u9(p.d),o=n.charAt(0),d++;r=su(p),o>1?(p=new y("0."+n),r++):p=new y(o+"."+n.slice(1))}else return s=qae(y,c+2,A).times(r+""),p=ZF(new y(o+"."+n.slice(1)),c-f).plus(s),y.precision=A,e==null?(Oc=!0,Cs(p,A)):p;for(l=a=p=k6(p.minus(lg),p.plus(lg),c),u=Cs(p.times(p),c),i=3;;){if(a=Cs(a.times(u),c),s=l.plus(k6(a,new y(i),c)),u9(s.d).slice(0,c)===u9(l.d).slice(0,c))return l=l.times(2),r!==0&&(l=l.plus(qae(y,c+2,A).times(r+""))),l=k6(l,new y(d),c),y.precision=A,e==null?(Oc=!0,Cs(l,A)):l;l=s,i+=2}}function jze(t,e){var n,o,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(o=e.search(/e/i))>0?(n<0&&(n=o),n+=+e.slice(o+1),e=e.substring(0,o)):n<0&&(n=e.length),o=0;e.charCodeAt(o)===48;)++o;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(o,i),e){if(i-=o,n=n-o-1,t.e=xM(n/pc),t.d=[],o=(n+1)%pc,n<0&&(o+=pc),oCJ||t.e<-CJ))throw Error(x3e+n)}else t.s=0,t.e=0,t.d=[0];return t}function Cs(t,e,n){var o,i,r,a,l,s,c,u,d=t.d;for(a=1,r=d[0];r>=10;r/=10)a++;if(o=e-a,o<0)o+=pc,i=e,c=d[u=0];else{if(u=Math.ceil((o+1)/pc),r=d.length,u>=r)return t;for(c=r=d[u],a=1;r>=10;r/=10)a++;o%=pc,i=o-pc+a}if(n!==void 0&&(r=pv(10,a-i-1),l=c/r%10|0,s=e<0||d[u+1]!==void 0||c%r,s=n<4?(l||s)&&(n==0||n==(t.s<0?3:2)):l>5||l==5&&(n==4||s||n==6&&(o>0?i>0?c/pv(10,a-i):0:d[u-1])%10&1||n==(t.s<0?8:7))),e<1||!d[0])return s?(r=su(t),d.length=1,e=e-r-1,d[0]=pv(10,(pc-e%pc)%pc),t.e=xM(-e/pc)||0):(d.length=1,d[0]=t.e=t.s=0),t;if(o==0?(d.length=u,r=1,u--):(d.length=u+1,r=pv(10,pc-o),d[u]=i>0?(c/pv(10,a-i)%pv(10,i)|0)*r:0),s)for(;;)if(u==0){(d[0]+=r)==gd&&(d[0]=1,++t.e);break}else{if(d[u]+=r,d[u]!=gd)break;d[u--]=0,r=1}for(o=d.length;d[--o]===0;)d.pop();if(Oc&&(t.e>CJ||t.e<-CJ))throw Error(x3e+su(t));return t}function Oat(t,e){var n,o,i,r,a,l,s,c,u,d,f=t.constructor,p=f.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new f(t),Oc?Cs(e,p):e;if(s=t.d,d=e.d,o=e.e,c=t.e,s=s.slice(),a=c-o,a){for(u=a<0,u?(n=s,a=-a,l=d.length):(n=d,o=c,l=s.length),i=Math.max(Math.ceil(p/pc),l)+2,a>i&&(a=i,n.length=1),n.reverse(),i=a;i--;)n.push(0);n.reverse()}else{for(i=s.length,l=d.length,u=i0;--i)s[l++]=0;for(i=d.length;i>a;){if(s[--i]0?r=r.charAt(0)+"."+r.slice(1)+J4(o):a>1&&(r=r.charAt(0)+"."+r.slice(1)),r=r+(i<0?"e":"e+")+i):i<0?(r="0."+J4(-i-1)+r,n&&(o=n-a)>0&&(r+=J4(o))):i>=a?(r+=J4(i+1-a),n&&(o=n-i-1)>0&&(r=r+"."+J4(o))):((o=i+1)0&&(i+1===a&&(r+="."),r+=J4(o))),t.s<0?"-"+r:r}function Yze(t,e){if(t.length>e)return t.length=e,!0}function _at(t){var e,n,o;function i(r){var a=this;if(!(a instanceof i))return new i(r);if(a.constructor=i,r instanceof i){a.s=r.s,a.e=r.e,a.d=(r=r.d)?r.slice():r;return}if(typeof r=="number"){if(r*0!==0)throw Error(Cx+r);if(r>0)a.s=1;else if(r<0)r=-r,a.s=-1;else{a.s=0,a.e=0,a.d=[0];return}if(r===~~r&&r<1e7){a.e=0,a.d=[r];return}return jze(a,r.toString())}else if(typeof r!="string")throw Error(Cx+r);if(r.charCodeAt(0)===45?(r=r.slice(1),a.s=-1):a.s=1,Wxo.test(r))jze(a,r);else throw Error(Cx+r)}if(i.prototype=Yi,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=_at,i.config=i.set=Nxo,t===void 0&&(t={}),t)for(o=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&o<=i[e+2])this[n]=o;else throw Error(Cx+n+": "+o);if((o=t[n="LN10"])!==void 0)if(o==Math.LN10)this[n]=new this(o);else throw Error(Cx+n+": "+o);return this}var b3e=_at(Lxo);lg=new b3e(1);const ys=b3e;function Uxo(t){return Oxo(t)||Yxo(t)||jxo(t)||Bxo()}function Bxo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jxo(t,e){if(t){if(typeof t=="string")return Vfe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Vfe(t,e)}}function Yxo(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function Oxo(t){if(Array.isArray(t))return Vfe(t)}function Vfe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=e?n.apply(void 0,i):t(e-a,Oze(function(){for(var l=arguments.length,s=new Array(l),c=0;ct.length)&&(e=t.length);for(var n=0,o=new Array(e);n"u"||!(Symbol.iterator in Object(t)))){var n=[],o=!0,i=!1,r=void 0;try{for(var a=t[Symbol.iterator](),l;!(o=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));o=!0);}catch(s){i=!0,r=s}finally{try{!o&&a.return!=null&&a.return()}finally{if(i)throw r}}return n}}function ibo(t){if(Array.isArray(t))return t}function Kat(t){var e=eL(t,2),n=e[0],o=e[1],i=n,r=o;return n>o&&(i=o,r=n),[i,r]}function qat(t,e,n){if(t.lte(0))return new ys(0);var o=kee.getDigitCount(t.toNumber()),i=new ys(10).pow(o),r=t.div(i),a=o!==1?.05:.1,l=new ys(Math.ceil(r.div(a).toNumber())).add(n).mul(a),s=l.mul(i);return e?s:new ys(Math.ceil(s))}function rbo(t,e,n){var o=1,i=new ys(t);if(!i.isint()&&n){var r=Math.abs(t);r<1?(o=new ys(10).pow(kee.getDigitCount(t)-1),i=new ys(Math.floor(i.div(o).toNumber())).mul(o)):r>1&&(i=new ys(Math.floor(t)))}else t===0?i=new ys(Math.floor((e-1)/2)):n||(i=new ys(Math.floor(t)));var a=Math.floor((e-1)/2),l=Xxo(Gxo(function(s){return i.add(new ys(s-a).mul(o)).toNumber()}),Gfe);return l(0,e)}function $at(t,e,n,o){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((e-t)/(n-1)))return{step:new ys(0),tickMin:new ys(0),tickMax:new ys(0)};var r=qat(new ys(e).sub(t).div(n-1),o,i),a;t<=0&&e>=0?a=new ys(0):(a=new ys(t).add(e).div(2),a=a.sub(new ys(a).mod(r)));var l=Math.ceil(a.sub(t).div(r).toNumber()),s=Math.ceil(new ys(e).sub(a).div(r).toNumber()),c=l+s+1;return c>n?$at(t,e,n,o,i+1):(c0?s+(n-c):s,l=e>0?l:l+(n-c)),{step:r,tickMin:a.sub(new ys(l).mul(r)),tickMax:a.add(new ys(s).mul(r))})}function abo(t){var e=eL(t,2),n=e[0],o=e[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Math.max(i,2),l=Kat([n,o]),s=eL(l,2),c=s[0],u=s[1];if(c===-1/0||u===1/0){var d=u===1/0?[c].concat(Jfe(Gfe(0,i-1).map(function(){return 1/0}))):[].concat(Jfe(Gfe(0,i-1).map(function(){return-1/0})),[u]);return n>o?Xfe(d):d}if(c===u)return rbo(c,i,r);var f=$at(c,u,a,r),p=f.step,g=f.tickMin,y=f.tickMax,A=kee.rangeStep(g,y.add(new ys(.1).mul(p)),p);return n>o?Xfe(A):A}function lbo(t,e){var n=eL(t,2),o=n[0],i=n[1],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Kat([o,i]),l=eL(a,2),s=l[0],c=l[1];if(s===-1/0||c===1/0)return[o,i];if(s===c)return[s];var u=Math.max(e,2),d=qat(new ys(c).sub(s).div(u-1),r,0),f=[].concat(Jfe(kee.rangeStep(new ys(s),new ys(c).sub(new ys(.99).mul(d)),d)),[c]);return o>i?Xfe(f):f}var sbo=Xat(abo),cbo=Xat(lbo),ubo="Invariant failed";function cb(t,e){throw new Error(ubo)}var dbo=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function RJ(){return RJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function Abo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function bM(t){var e=t.offset,n=t.layout,o=t.width,i=t.dataKey,r=t.data,a=t.dataPointFormatter,l=t.xAxis,s=t.yAxis,c=ybo(t,dbo),u=oa(c,!1);t.direction==="x"&&l.type!=="number"&&cb();var d=r.map(function(f){var p=a(f,i),g=p.x,y=p.y,A=p.value,x=p.errorVal;if(!x)return null;var C=[],b,v;if(Array.isArray(x)){var S=fbo(x,2);b=S[0],v=S[1]}else b=v=x;if(n==="vertical"){var w=l.scale,T=y+e,P=T+o,R=T-o,H=w(A-b),D=w(A+v);C.push({x1:D,y1:P,x2:D,y2:R}),C.push({x1:H,y1:T,x2:D,y2:T}),C.push({x1:H,y1:P,x2:H,y2:R})}else if(n==="horizontal"){var E=s.scale,L=g+e,U=L-o,F=L+o,W=E(A-b),B=E(A+v);C.push({x1:U,y1:B,x2:F,y2:B}),C.push({x1:L,y1:W,x2:L,y2:B}),C.push({x1:U,y1:W,x2:F,y2:W})}return Se.createElement(Bl,RJ({className:"recharts-errorBar",key:"bar-".concat(C.map(function(k){return"".concat(k.x1,"-").concat(k.x2,"-").concat(k.y1,"-").concat(k.y2)}))},u),C.map(function(k){return Se.createElement("line",RJ({},k,{key:"line-".concat(k.x1,"-").concat(k.x2,"-").concat(k.y1,"-").concat(k.y2)}))}))});return Se.createElement(Bl,{className:"recharts-errorBars"},d)}bM.defaultProps={stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"};bM.displayName="ErrorBar";function tL(t){"@babel/helpers - typeof";return tL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tL(t)}function Vze(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $ae(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,a=-1,l=(n=o==null?void 0:o.length)!==null&&n!==void 0?n:0;if(l<=1)return 0;if(r&&r.axisType==="angleAxis"&&Math.abs(Math.abs(r.range[1]-r.range[0])-360)<=1e-6)for(var s=r.range,c=0;c0?i[c-1].coordinate:i[l-1].coordinate,d=i[c].coordinate,f=c>=l-1?i[0].coordinate:i[c+1].coordinate,p=void 0;if(x2(d-u)!==x2(f-d)){var g=[];if(x2(f-d)===x2(s[1]-s[0])){p=f;var y=d+s[1]-s[0];g[0]=Math.min(y,(y+u)/2),g[1]=Math.max(y,(y+u)/2)}else{p=u;var A=f+s[1]-s[0];g[0]=Math.min(d,(A+d)/2),g[1]=Math.max(d,(A+d)/2)}var x=[Math.min(d,(p+d)/2),Math.max(d,(p+d)/2)];if(e>x[0]&&e<=x[1]||e>=g[0]&&e<=g[1]){a=i[c].index;break}}else{var C=Math.min(u,f),b=Math.max(u,f);if(e>(C+d)/2&&e<=(b+d)/2){a=i[c].index;break}}}else for(var v=0;v0&&v(o[v].coordinate+o[v-1].coordinate)/2&&e<=(o[v].coordinate+o[v+1].coordinate)/2||v===l-1&&e>(o[v].coordinate+o[v-1].coordinate)/2){a=o[v].index;break}return a},S3e=function(e){var n=e,o=n.type.displayName,i=e.props,r=i.stroke,a=i.fill,l;switch(o){case"Line":l=r;break;case"Area":case"Radar":l=r&&r!=="none"?r:a;break;default:l=a;break}return l},Mbo=function(e){var n=e.barSize,o=e.totalSize,i=e.stackGroups,r=i===void 0?{}:i;if(!r)return{};for(var a={},l=Object.keys(r),s=0,c=l.length;s=0});if(x&&x.length){var C=x[0].props.barSize,b=x[0].props[A];a[b]||(a[b]=[]);var v=ra(C)?n:C;a[b].push({item:x[0],stackList:x.slice(1),barSize:ra(v)?void 0:ab(v,o,0)})}}return a},Ibo=function(e){var n=e.barGap,o=e.barCategoryGap,i=e.bandSize,r=e.sizeList,a=r===void 0?[]:r,l=e.maxBarSize,s=a.length;if(s<1)return null;var c=ab(n,i,0,!0),u,d=[];if(a[0].barSize===+a[0].barSize){var f=!1,p=i/s,g=a.reduce(function(v,S){return v+S.barSize||0},0);g+=(s-1)*c,g>=i&&(g-=(s-1)*c,c=0),g>=i&&p>0&&(f=!0,p*=.9,g=s*p);var y=(i-g)/2>>0,A={offset:y-c,size:0};u=a.reduce(function(v,S){var w={item:S.item,position:{offset:A.offset+A.size+c,size:f?p:S.barSize}},T=[].concat(Xze(v),[w]);return A=T[T.length-1].position,S.stackList&&S.stackList.length&&S.stackList.forEach(function(P){T.push({item:P,position:A})}),T},d)}else{var x=ab(o,i,0,!0);i-2*x-(s-1)*c<=0&&(c=0);var C=(i-2*x-(s-1)*c)/s;C>1&&(C>>=0);var b=l===+l?Math.min(C,l):C;u=a.reduce(function(v,S,w){var T=[].concat(Xze(v),[{item:S.item,position:{offset:x+(C+c)*w+(C-b)/2,size:b}}]);return S.stackList&&S.stackList.length&&S.stackList.forEach(function(P){T.push({item:P,position:T[T.length-1].position})}),T},d)}return u},zbo=function(e,n,o,i){var r=o.children,a=o.width,l=o.margin,s=a-(l.left||0)-(l.right||0),c=Qat({children:r,legendWidth:s});if(c){var u=i||{},d=u.width,f=u.height,p=c.align,g=c.verticalAlign,y=c.layout;if((y==="vertical"||y==="horizontal"&&g==="middle")&&p!=="center"&&si(e[p]))return Tm(Tm({},e),{},IC({},p,e[p]+(d||0)));if((y==="horizontal"||y==="vertical"&&p==="center")&&g!=="middle"&&si(e[g]))return Tm(Tm({},e),{},IC({},g,e[g]+(f||0)))}return e},Dbo=function(e,n,o){return ra(n)?!0:e==="horizontal"?n==="yAxis":e==="vertical"||o==="x"?n==="xAxis":o==="y"?n==="yAxis":!0},Zat=function(e,n,o,i,r){var a=n.props.children,l=Kp(a,bM).filter(function(c){return Dbo(i,r,c.props.direction)});if(l&&l.length){var s=l.map(function(c){return c.props.dataKey});return e.reduce(function(c,u){var d=Uu(u,o);if(ra(d))return c;var f=Array.isArray(d)?[Dee(d),ww(d)]:[d,d],p=s.reduce(function(g,y){var A=Uu(u,y,0),x=f[0]-Math.abs(Array.isArray(A)?A[0]:A),C=f[1]+Math.abs(Array.isArray(A)?A[1]:A);return[Math.min(x,g[0]),Math.max(C,g[1])]},[1/0,-1/0]);return[Math.min(p[0],c[0]),Math.max(p[1],c[1])]},[1/0,-1/0])}return null},Ebo=function(e,n,o,i,r){var a=n.map(function(l){return Zat(e,l,o,r,i)}).filter(function(l){return!ra(l)});return a&&a.length?a.reduce(function(l,s){return[Math.min(l[0],s[0]),Math.max(l[1],s[1])]},[1/0,-1/0]):null},elt=function(e,n,o,i,r){var a=n.map(function(s){var c=s.props.dataKey;return o==="number"&&c&&Zat(e,s,c,i)||FE(e,c,o,r)});if(o==="number")return a.reduce(function(s,c){return[Math.min(s[0],c[0]),Math.max(s[1],c[1])]},[1/0,-1/0]);var l={};return a.reduce(function(s,c){for(var u=0,d=c.length;u=2?x2(l[0]-l[1])*2*c:c,n&&(e.ticks||e.niceTicks)){var u=(e.ticks||e.niceTicks).map(function(d){var f=r?r.indexOf(d):d;return{coordinate:i(f)+c,value:d,offset:c}});return u.filter(function(d){return!AM(d.coordinate)})}return e.isCategorical&&e.categoricalDomain?e.categoricalDomain.map(function(d,f){return{coordinate:i(d)+c,value:d,index:f,offset:c}}):i.ticks&&!o?i.ticks(e.tickCount).map(function(d){return{coordinate:i(d)+c,value:d,offset:c}}):i.domain().map(function(d,f){return{coordinate:i(d)+c,value:r?r[d]:d,index:f,offset:c}})},Qae=new WeakMap,YO=function(e,n){if(typeof n!="function")return e;Qae.has(e)||Qae.set(e,new WeakMap);var o=Qae.get(e);if(o.has(n))return o.get(n);var i=function(){e.apply(void 0,arguments),n.apply(void 0,arguments)};return o.set(n,i),i},kbo=function(e,n,o){var i=e.scale,r=e.type,a=e.layout,l=e.axisType;if(i==="auto")return a==="radial"&&l==="radiusAxis"?{scale:XF(),realScaleType:"band"}:a==="radial"&&l==="angleAxis"?{scale:QF(),realScaleType:"linear"}:r==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!o)?{scale:HC(),realScaleType:"point"}:r==="category"?{scale:XF(),realScaleType:"band"}:{scale:QF(),realScaleType:"linear"};if(MN(i)){var s="scale".concat(Aee(i));return{scale:(Bze[s]||HC)(),realScaleType:Bze[s]?s:"point"}}return Aa(i)?{scale:i}:{scale:HC(),realScaleType:"point"}},Jze=1e-4,Fbo=function(e){var n=e.domain();if(!(!n||n.length<=2)){var o=n.length,i=e.range(),r=Math.min(i[0],i[1])-Jze,a=Math.max(i[0],i[1])+Jze,l=e(n[0]),s=e(n[o-1]);(la||sa)&&e.domain([n[0],n[o-1]])}},Lbo=function(e,n){if(!e)return null;for(var o=0,i=e.length;oi)&&(r[1]=i),r[0]>i&&(r[0]=i),r[1]=0?(e[l][o][0]=r,e[l][o][1]=r+s,r=e[l][o][1]):(e[l][o][0]=a,e[l][o][1]=a+s,a=e[l][o][1])}},Ubo=function(e){var n=e.length;if(!(n<=0))for(var o=0,i=e[0].length;o=0?(e[a][o][0]=r,e[a][o][1]=r+l,r=e[a][o][1]):(e[a][o][0]=0,e[a][o][1]=0)}},Bbo={sign:Nbo,expand:R6o,none:YR,silhouette:H6o,wiggle:M6o,positive:Ubo},jbo=function(e,n,o){var i=n.map(function(l){return l.props.dataKey}),r=Bbo[o],a=C6o().keys(i).value(function(l,s){return+Uu(l,s,0)}).order(Cfe).offset(r);return a(e)},Ybo=function(e,n,o,i,r,a){if(!e)return null;var l=a?n.reverse():n,s={},c=l.reduce(function(d,f){var p=f.props,g=p.stackId,y=p.hide;if(y)return d;var A=f.props[o],x=d[A]||{hasStack:!1,stackGroups:{}};if(Lu(g)){var C=x.stackGroups[g]||{numericAxisId:o,cateAxisId:i,items:[]};C.items.push(f),x.hasStack=!0,x.stackGroups[g]=C}else x.stackGroups[oS("_stackId_")]={numericAxisId:o,cateAxisId:i,items:[f]};return Tm(Tm({},d),{},IC({},A,x))},s),u={};return Object.keys(c).reduce(function(d,f){var p=c[f];if(p.hasStack){var g={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(y,A){var x=p.stackGroups[A];return Tm(Tm({},y),{},IC({},A,{numericAxisId:o,cateAxisId:i,items:x.items,stackedData:jbo(e,x.items,r)}))},g)}return Tm(Tm({},d),{},IC({},f,p))},u)},Obo=function(e,n){var o=n.realScaleType,i=n.type,r=n.tickCount,a=n.originalDomain,l=n.allowDecimals,s=o||n.scale;if(s!=="auto"&&s!=="linear")return null;if(r&&i==="number"&&a&&(a[0]==="auto"||a[1]==="auto")){var c=e.domain();if(!c.length)return null;var u=sbo(c,r,l);return e.domain([Dee(u),ww(u)]),{niceTicks:u}}if(r&&i==="number"){var d=e.domain(),f=cbo(d,r,l);return{niceTicks:f}}return null};function qR(t){var e=t.axis,n=t.ticks,o=t.bandSize,i=t.entry,r=t.index,a=t.dataKey;if(e.type==="category"){if(!e.allowDuplicatedCategory&&e.dataKey&&!ra(i[e.dataKey])){var l=iJ(n,"value",i[e.dataKey]);if(l)return l.coordinate+o/2}return n[r]?n[r].coordinate+o/2:null}var s=Uu(i,ra(a)?e.dataKey:a);return ra(s)?null:e.scale(s)}var Kze=function(e){var n=e.axis,o=e.ticks,i=e.offset,r=e.bandSize,a=e.entry,l=e.index;if(n.type==="category")return o[l]?o[l].coordinate+i:null;var s=Uu(a,n.dataKey,n.domain[l]);return ra(s)?null:n.scale(s)-r/2+i},_bo=function(e){var n=e.numericAxis,o=n.scale.domain();if(n.type==="number"){var i=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);return i<=0&&r>=0?0:r<0?r:i}return o[0]},Vbo=function(e,n){var o=e.props.stackId;if(Lu(o)){var i=n[o];if(i){var r=i.items.indexOf(e);return r>=0?i.stackedData[r]:null}}return null},Gbo=function(e){return e.reduce(function(n,o){return[Dee(o.concat([n[0]]).filter(si)),ww(o.concat([n[1]]).filter(si))]},[1/0,-1/0])},olt=function(e,n,o){return Object.keys(e).reduce(function(i,r){var a=e[r],l=a.stackedData,s=l.reduce(function(c,u){var d=Gbo(u.slice(n,o+1));return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);return[Math.min(s[0],i[0]),Math.max(s[1],i[1])]},[1/0,-1/0]).map(function(i){return i===1/0||i===-1/0?0:i})},qze=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,$ze=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,$fe=function(e,n,o){if(Aa(e))return e(n,o);if(!Array.isArray(e))return n;var i=[];if(si(e[0]))i[0]=o?e[0]:Math.min(e[0],n[0]);else if(qze.test(e[0])){var r=+qze.exec(e[0])[1];i[0]=n[0]-r}else Aa(e[0])?i[0]=e[0](n[0]):i[0]=n[0];if(si(e[1]))i[1]=o?e[1]:Math.max(e[1],n[1]);else if($ze.test(e[1])){var a=+$ze.exec(e[1])[1];i[1]=n[1]+a}else Aa(e[1])?i[1]=e[1](n[1]):i[1]=n[1];return i},HJ=function(e,n,o){if(e&&e.scale&&e.scale.bandwidth){var i=e.scale.bandwidth();if(!o||i>0)return i}if(e&&n&&n.length>=2){for(var r=$9e(n,function(d){return d.coordinate}),a=1/0,l=1,s=r.length;la&&(c=2*Math.PI-c),{radius:l,angle:qbo(c),angleInRadian:c}},Zbo=function(e){var n=e.startAngle,o=e.endAngle,i=Math.floor(n/360),r=Math.floor(o/360),a=Math.min(i,r);return{startAngle:n-a*360,endAngle:o-a*360}},eSo=function(e,n){var o=n.startAngle,i=n.endAngle,r=Math.floor(o/360),a=Math.floor(i/360),l=Math.min(r,a);return e+l*360},tDe=function(e,n){var o=e.x,i=e.y,r=Qbo({x:o,y:i},n),a=r.radius,l=r.angle,s=n.innerRadius,c=n.outerRadius;if(ac)return!1;if(a===0)return!0;var u=Zbo(n),d=u.startAngle,f=u.endAngle,p=l,g;if(d<=f){for(;p>f;)p-=360;for(;p=d&&p<=f}else{for(;p>d;)p-=360;for(;p=f&&p<=d}return g?eDe(eDe({},n),{},{radius:a,angle:eSo(p,n)}):null};function iL(t){"@babel/helpers - typeof";return iL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iL(t)}var tSo=["offset"];function nSo(t){return aSo(t)||rSo(t)||iSo(t)||oSo()}function oSo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iSo(t,e){if(t){if(typeof t=="string")return Qfe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Qfe(t,e)}}function rSo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function aSo(t){if(Array.isArray(t))return Qfe(t)}function Qfe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function sSo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function nDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Cu(t){for(var e=1;e=0?1:-1,b,v;i==="insideStart"?(b=p+C*a,v=y):i==="insideEnd"?(b=g-C*a,v=!y):i==="end"&&(b=g+C*a,v=y),v=x<=0?v:!v;var S=af(c,u,A,b),w=af(c,u,A,b+(v?1:-1)*359),T="M".concat(S.x,",").concat(S.y,` + height and width.`,F,W,a,s,u,d,n);var B=!Array.isArray(p)&&pfe.isElement(p)&&D6(p.type).endsWith("Chart");return Se.Children.map(p,function(k){return pfe.isElement(k)?m.cloneElement(k,WO({width:F,height:W},B?{style:WO({height:"100%",width:"100%",maxHeight:W,maxWidth:F},k.props.style)}:{})):k})},[n,p,s,f,d,u,R,a]);return Se.createElement("div",{id:A?"".concat(A):void 0,className:cl("recharts-responsive-container",x),style:WO(WO({},v),{},{width:a,height:s,minWidth:u,minHeight:d,maxHeight:f}),ref:S},E)}),Z9e=function(e){return null};Z9e.displayName="Cell";function VF(t){"@babel/helpers - typeof";return VF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VF(t)}function VIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Lfe(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||k2.isSsr)return{width:0,height:0};var o=d7o(n),i=JSON.stringify({text:e,copyStyle:o});if(_T.widthCache[i])return _T.widthCache[i];try{var r=document.getElementById(GIe);r||(r=document.createElement("span"),r.setAttribute("id",GIe),r.setAttribute("aria-hidden","true"),document.body.appendChild(r));var a=Lfe(Lfe({},u7o),o);Object.assign(r.style,a),r.textContent="".concat(e);var l=r.getBoundingClientRect(),s={width:l.width,height:l.height};return _T.widthCache[i]=s,++_T.cacheCount>c7o&&(_T.cacheCount=0,_T.widthCache={}),s}catch{return{width:0,height:0}}},f7o=function(e){return{top:e.top+window.scrollY-document.documentElement.clientTop,left:e.left+window.scrollX-document.documentElement.clientLeft}};function GF(t){"@babel/helpers - typeof";return GF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},GF(t)}function gJ(t,e){return m7o(t)||g7o(t,e)||p7o(t,e)||h7o()}function h7o(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function p7o(t,e){if(t){if(typeof t=="string")return XIe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return XIe(t,e)}}function XIe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function I7o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function ZIe(t,e){return k7o(t)||E7o(t,e)||D7o(t,e)||z7o()}function z7o(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function D7o(t,e){if(t){if(typeof t=="string")return eze(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eze(t,e)}}function eze(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&arguments[0]!==void 0?arguments[0]:[];return F.reduce(function(W,B){var k=B.word,N=B.width,j=W[W.length-1];if(j&&(i==null||r||j.width+N+oB.width?W:B})};if(!u)return p;for(var y="…",A=function(F){var W=d.slice(0,F),B=rat({breakAll:c,style:s,children:W+y}).wordsWithComputedWidth,k=f(B),N=k.length>a||g(k).width>Number(i);return[N,k]},x=0,C=d.length-1,b=0,v;x<=C&&b<=d.length-1;){var S=Math.floor((x+C)/2),w=S-1,T=A(w),P=ZIe(T,2),R=P[0],H=P[1],D=A(S),E=ZIe(D,1),L=E[0];if(!R&&!L&&(x=S+1),R&&L&&(C=S-1),!R&&L){v=H;break}b++}return v||p},tze=function(e){var n=ra(e)?[]:e.toString().split(iat);return[{words:n}]},L7o=function(e){var n=e.width,o=e.scaleToFit,i=e.children,r=e.style,a=e.breakAll,l=e.maxLines;if((n||o)&&!k2.isSsr){var s,c,u=rat({breakAll:a,children:i,style:r});if(u){var d=u.wordsWithComputedWidth,f=u.spaceWidth;s=d,c=f}else return tze(i);return F7o({breakAll:a,children:i,maxLines:l,style:r},s,c,n,o)}return tze(i)},nze="#808080",mJ=function(e){var n=e.x,o=n===void 0?0:n,i=e.y,r=i===void 0?0:i,a=e.lineHeight,l=a===void 0?"1em":a,s=e.capHeight,c=s===void 0?"0.71em":s,u=e.scaleToFit,d=u===void 0?!1:u,f=e.textAnchor,p=f===void 0?"start":f,g=e.verticalAnchor,y=g===void 0?"end":g,A=e.fill,x=A===void 0?nze:A,C=QIe(e,H7o),b=m.useMemo(function(){return L7o({breakAll:C.breakAll,children:C.children,maxLines:C.maxLines,scaleToFit:d,style:C.style,width:C.width})},[C.breakAll,C.children,C.maxLines,d,C.style,C.width]),v=C.dx,S=C.dy,w=C.angle,T=C.className,P=C.breakAll,R=QIe(C,M7o);if(!Lu(o)||!Lu(r))return null;var H=o+(si(v)?v:0),D=r+(si(S)?S:0),E;switch(y){case"start":E=Yae("calc(".concat(c,")"));break;case"middle":E=Yae("calc(".concat((b.length-1)/2," * -").concat(l," + (").concat(c," / 2))"));break;default:E=Yae("calc(".concat(b.length-1," * -").concat(l,")"));break}var L=[];if(d){var U=b[0].width,F=C.width;L.push("scale(".concat((si(F)?F/U:1)/U,")"))}return w&&L.push("rotate(".concat(w,", ").concat(H,", ").concat(D,")")),L.length&&(R.transform=L.join(" ")),Se.createElement("text",Wfe({},oa(R,!0),{x:H,y:D,className:cl("recharts-text",T),textAnchor:p,fill:x.includes("url")?nze:x}),b.map(function(W,B){var k=W.words.join(P?"":" ");return Se.createElement("tspan",{x:H,dy:B===0?E:l,key:k},k)}))};function Yw(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function W7o(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function e3e(t){let e,n,o;t.length!==2?(e=Yw,n=(l,s)=>Yw(t(l),s),o=(l,s)=>t(l)-s):(e=t===Yw||t===W7o?t:N7o,n=t,o=t);function i(l,s,c=0,u=l.length){if(c>>1;n(l[d],s)<0?c=d+1:u=d}while(c>>1;n(l[d],s)<=0?c=d+1:u=d}while(cc&&o(l[d-1],s)>-o(l[d],s)?d-1:d}return{left:i,center:a,right:r}}function N7o(){return 0}function aat(t){return t===null?NaN:+t}function*U7o(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const B7o=e3e(Yw),XN=B7o.right;e3e(aat).center;class oze extends Map{constructor(e,n=O7o){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[o,i]of e)this.set(o,i)}get(e){return super.get(ize(this,e))}has(e){return super.has(ize(this,e))}set(e,n){return super.set(j7o(this,e),n)}delete(e){return super.delete(Y7o(this,e))}}function ize({_intern:t,_key:e},n){const o=e(n);return t.has(o)?t.get(o):n}function j7o({_intern:t,_key:e},n){const o=e(n);return t.has(o)?t.get(o):(t.set(o,n),n)}function Y7o({_intern:t,_key:e},n){const o=e(n);return t.has(o)&&(n=t.get(o),t.delete(o)),n}function O7o(t){return t!==null&&typeof t=="object"?t.valueOf():t}function _7o(t=Yw){if(t===Yw)return lat;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const o=t(e,n);return o||o===0?o:(t(n,n)===0)-(t(e,e)===0)}}function lat(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}const V7o=Math.sqrt(50),G7o=Math.sqrt(10),X7o=Math.sqrt(2);function yJ(t,e,n){const o=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(o)),r=o/Math.pow(10,i),a=r>=V7o?10:r>=G7o?5:r>=X7o?2:1;let l,s,c;return i<0?(c=Math.pow(10,-i)/a,l=Math.round(t*c),s=Math.round(e*c),l/ce&&--s,c=-c):(c=Math.pow(10,i)*a,l=Math.round(t/c),s=Math.round(e/c),l*ce&&--s),s0))return[];if(t===e)return[t];const o=e=i))return[];const l=r-i+1,s=new Array(l);if(o)if(a<0)for(let c=0;c=o)&&(n=o);return n}function aze(t,e){let n;for(const o of t)o!=null&&(n>o||n===void 0&&o>=o)&&(n=o);return n}function sat(t,e,n=0,o=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),o=Math.floor(Math.min(t.length-1,o)),!(n<=e&&e<=o))return t;for(i=i===void 0?lat:_7o(i);o>n;){if(o-n>600){const s=o-n+1,c=e-n+1,u=Math.log(s),d=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*d*(s-d)/s)*(c-s/2<0?-1:1),p=Math.max(n,Math.floor(e-c*d/s+f)),g=Math.min(o,Math.floor(e+(s-c)*d/s+f));sat(t,e,p,g,i)}const r=t[e];let a=n,l=o;for(qz(t,n,e),i(t[o],r)>0&&qz(t,n,o);a0;)--l}i(t[n],r)===0?qz(t,n,l):(++l,qz(t,l,o)),l<=e&&(n=l+1),e<=l&&(o=l-1)}return t}function qz(t,e,n){const o=t[e];t[e]=t[n],t[n]=o}function J7o(t,e,n){if(t=Float64Array.from(U7o(t)),!(!(o=t.length)||isNaN(e=+e))){if(e<=0||o<2)return aze(t);if(e>=1)return rze(t);var o,i=(o-1)*e,r=Math.floor(i),a=rze(sat(t,r).subarray(0,r+1)),l=aze(t.subarray(r+1));return a+(l-a)*(i-r)}}function K7o(t,e,n=aat){if(!(!(o=t.length)||isNaN(e=+e))){if(e<=0||o<2)return+n(t[0],0,t);if(e>=1)return+n(t[o-1],o-1,t);var o,i=(o-1)*e,r=Math.floor(i),a=+n(t[r],r,t),l=+n(t[r+1],r+1,t);return a+(l-a)*(i-r)}}function q7o(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var o=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,r=new Array(i);++o>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?UO(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?UO(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Q7o.exec(t))?new Op(e[1],e[2],e[3],1):(e=Z7o.exec(t))?new Op(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=e8o.exec(t))?UO(e[1],e[2],e[3],e[4]):(e=t8o.exec(t))?UO(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=n8o.exec(t))?hze(e[1],e[2]/100,e[3]/100,1):(e=o8o.exec(t))?hze(e[1],e[2]/100,e[3]/100,e[4]):lze.hasOwnProperty(t)?uze(lze[t]):t==="transparent"?new Op(NaN,NaN,NaN,0):null}function uze(t){return new Op(t>>16&255,t>>8&255,t&255,1)}function UO(t,e,n,o){return o<=0&&(t=e=n=NaN),new Op(t,e,n,o)}function a8o(t){return t instanceof JN||(t=qF(t)),t?(t=t.rgb(),new Op(t.r,t.g,t.b,t.opacity)):new Op}function Yfe(t,e,n,o){return arguments.length===1?a8o(t):new Op(t,e,n,o??1)}function Op(t,e,n,o){this.r=+t,this.g=+e,this.b=+n,this.opacity=+o}t3e(Op,Yfe,uat(JN,{brighter(t){return t=t==null?AJ:Math.pow(AJ,t),new Op(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?JF:Math.pow(JF,t),new Op(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Op(Px(this.r),Px(this.g),Px(this.b),wJ(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:dze,formatHex:dze,formatHex8:l8o,formatRgb:fze,toString:fze}));function dze(){return`#${Jv(this.r)}${Jv(this.g)}${Jv(this.b)}`}function l8o(){return`#${Jv(this.r)}${Jv(this.g)}${Jv(this.b)}${Jv((isNaN(this.opacity)?1:this.opacity)*255)}`}function fze(){const t=wJ(this.opacity);return`${t===1?"rgb(":"rgba("}${Px(this.r)}, ${Px(this.g)}, ${Px(this.b)}${t===1?")":`, ${t})`}`}function wJ(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Px(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Jv(t){return t=Px(t),(t<16?"0":"")+t.toString(16)}function hze(t,e,n,o){return o<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new f2(t,e,n,o)}function dat(t){if(t instanceof f2)return new f2(t.h,t.s,t.l,t.opacity);if(t instanceof JN||(t=qF(t)),!t)return new f2;if(t instanceof f2)return t;t=t.rgb();var e=t.r/255,n=t.g/255,o=t.b/255,i=Math.min(e,n,o),r=Math.max(e,n,o),a=NaN,l=r-i,s=(r+i)/2;return l?(e===r?a=(n-o)/l+(n0&&s<1?0:a,new f2(a,l,s,t.opacity)}function s8o(t,e,n,o){return arguments.length===1?dat(t):new f2(t,e,n,o??1)}function f2(t,e,n,o){this.h=+t,this.s=+e,this.l=+n,this.opacity=+o}t3e(f2,s8o,uat(JN,{brighter(t){return t=t==null?AJ:Math.pow(AJ,t),new f2(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?JF:Math.pow(JF,t),new f2(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*e,i=2*n-o;return new Op(Oae(t>=240?t-240:t+120,i,o),Oae(t,i,o),Oae(t<120?t+240:t-120,i,o),this.opacity)},clamp(){return new f2(pze(this.h),BO(this.s),BO(this.l),wJ(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=wJ(this.opacity);return`${t===1?"hsl(":"hsla("}${pze(this.h)}, ${BO(this.s)*100}%, ${BO(this.l)*100}%${t===1?")":`, ${t})`}`}}));function pze(t){return t=(t||0)%360,t<0?t+360:t}function BO(t){return Math.max(0,Math.min(1,t||0))}function Oae(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const n3e=t=>()=>t;function c8o(t,e){return function(n){return t+n*e}}function u8o(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(o){return Math.pow(t+o*e,n)}}function d8o(t){return(t=+t)==1?fat:function(e,n){return n-e?u8o(e,n,t):n3e(isNaN(e)?n:e)}}function fat(t,e){var n=e-t;return n?c8o(t,n):n3e(isNaN(t)?e:t)}const gze=function t(e){var n=d8o(e);function o(i,r){var a=n((i=Yfe(i)).r,(r=Yfe(r)).r),l=n(i.g,r.g),s=n(i.b,r.b),c=fat(i.opacity,r.opacity);return function(u){return i.r=a(u),i.g=l(u),i.b=s(u),i.opacity=c(u),i+""}}return o.gamma=t,o}(1);function f8o(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,o=e.slice(),i;return function(r){for(i=0;in&&(r=e.slice(n,r),l[a]?l[a]+=r:l[++a]=r),(o=o[0])===(i=i[0])?l[a]?l[a]+=i:l[++a]=i:(l[++a]=null,s.push({i:a,x:vJ(o,i)})),n=_ae.lastIndex;return ne&&(n=t,t=e,e=n),function(o){return Math.max(t,Math.min(e,o))}}function S8o(t,e,n){var o=t[0],i=t[1],r=e[0],a=e[1];return i2?T8o:S8o,s=c=null,d}function d(f){return f==null||isNaN(f=+f)?r:(s||(s=l(t.map(o),e,n)))(o(a(f)))}return d.invert=function(f){return a(i((c||(c=l(e,t.map(o),vJ)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,xJ),u()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),u()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=o3e,u()},d.clamp=function(f){return arguments.length?(a=f?!0:rp,u()):a!==rp},d.interpolate=function(f){return arguments.length?(n=f,u()):n},d.unknown=function(f){return arguments.length?(r=f,d):r},function(f,p){return o=f,i=p,u()}}function i3e(){return Cee()(rp,rp)}function P8o(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function bJ(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,o=t.slice(0,n);return[o.length>1?o[0]+o.slice(2):o,+t.slice(n+1)]}function XR(t){return t=bJ(Math.abs(t)),t?t[1]:NaN}function C8o(t,e){return function(n,o){for(var i=n.length,r=[],a=0,l=t[0],s=0;i>0&&l>0&&(s+l+1>o&&(l=Math.max(1,o-s)),r.push(n.substring(i-=l,i+l)),!((s+=l+1)>o));)l=t[a=(a+1)%t.length];return r.reverse().join(e)}}function R8o(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var H8o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function $F(t){if(!(e=H8o.exec(t)))throw new Error("invalid format: "+t);var e;return new r3e({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}$F.prototype=r3e.prototype;function r3e(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}r3e.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function M8o(t){e:for(var e=t.length,n=1,o=-1,i;n0&&(o=0);break}return o>0?t.slice(0,o)+t.slice(i+1):t}var hat;function I8o(t,e){var n=bJ(t,e);if(!n)return t+"";var o=n[0],i=n[1],r=i-(hat=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=o.length;return r===a?o:r>a?o+new Array(r-a+1).join("0"):r>0?o.slice(0,r)+"."+o.slice(r):"0."+new Array(1-r).join("0")+bJ(t,Math.max(0,e+r-1))[0]}function yze(t,e){var n=bJ(t,e);if(!n)return t+"";var o=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+o:o.length>i+1?o.slice(0,i+1)+"."+o.slice(i+1):o+new Array(i-o.length+2).join("0")}const Aze={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:P8o,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>yze(t*100,e),r:yze,s:I8o,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function wze(t){return t}var vze=Array.prototype.map,xze=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function z8o(t){var e=t.grouping===void 0||t.thousands===void 0?wze:C8o(vze.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",o=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",r=t.numerals===void 0?wze:R8o(vze.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"−":t.minus+"",s=t.nan===void 0?"NaN":t.nan+"";function c(d){d=$F(d);var f=d.fill,p=d.align,g=d.sign,y=d.symbol,A=d.zero,x=d.width,C=d.comma,b=d.precision,v=d.trim,S=d.type;S==="n"?(C=!0,S="g"):Aze[S]||(b===void 0&&(b=12),v=!0,S="g"),(A||f==="0"&&p==="=")&&(A=!0,f="0",p="=");var w=y==="$"?n:y==="#"&&/[boxX]/.test(S)?"0"+S.toLowerCase():"",T=y==="$"?o:/[%p]/.test(S)?a:"",P=Aze[S],R=/[defgprs%]/.test(S);b=b===void 0?6:/[gprs]/.test(S)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function H(D){var E=w,L=T,U,F,W;if(S==="c")L=P(D)+L,D="";else{D=+D;var B=D<0||1/D<0;if(D=isNaN(D)?s:P(Math.abs(D),b),v&&(D=M8o(D)),B&&+D==0&&g!=="+"&&(B=!1),E=(B?g==="("?g:l:g==="-"||g==="("?"":g)+E,L=(S==="s"?xze[8+hat/3]:"")+L+(B&&g==="("?")":""),R){for(U=-1,F=D.length;++UW||W>57){L=(W===46?i+D.slice(U+1):D.slice(U))+L,D=D.slice(0,U);break}}}C&&!A&&(D=e(D,1/0));var k=E.length+D.length+L.length,N=k>1)+E+D+L+N.slice(k);break;default:D=N+E+D+L;break}return r(D)}return H.toString=function(){return d+""},H}function u(d,f){var p=c((d=$F(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(XR(f)/3)))*3,y=Math.pow(10,-g),A=xze[8+g/3];return function(x){return p(y*x)+A}}return{format:c,formatPrefix:u}}var jO,a3e,pat;D8o({thousands:",",grouping:[3],currency:["$",""]});function D8o(t){return jO=z8o(t),a3e=jO.format,pat=jO.formatPrefix,jO}function E8o(t){return Math.max(0,-XR(Math.abs(t)))}function k8o(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(XR(e)/3)))*3-XR(Math.abs(t)))}function F8o(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,XR(e)-XR(t))+1}function gat(t,e,n,o){var i=Bfe(t,e,n),r;switch(o=$F(o??",f"),o.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return o.precision==null&&!isNaN(r=k8o(i,a))&&(o.precision=r),pat(o,a)}case"":case"e":case"g":case"p":case"r":{o.precision==null&&!isNaN(r=F8o(i,Math.max(Math.abs(t),Math.abs(e))))&&(o.precision=r-(o.type==="e"));break}case"f":case"%":{o.precision==null&&!isNaN(r=E8o(i))&&(o.precision=r-(o.type==="%")*2);break}}return a3e(o)}function J7(t){var e=t.domain;return t.ticks=function(n){var o=e();return Nfe(o[0],o[o.length-1],n??10)},t.tickFormat=function(n,o){var i=e();return gat(i[0],i[i.length-1],n??10,o)},t.nice=function(n){n==null&&(n=10);var o=e(),i=0,r=o.length-1,a=o[i],l=o[r],s,c,u=10;for(l0;){if(c=Ufe(a,l,n),c===s)return o[i]=a,o[r]=l,e(o);if(c>0)a=Math.floor(a/c)*c,l=Math.ceil(l/c)*c;else if(c<0)a=Math.ceil(a*c)/c,l=Math.floor(l*c)/c;else break;s=c}return t},t}function QF(){var t=i3e();return t.copy=function(){return KN(t,QF())},ly.apply(t,arguments),J7(t)}function mat(t){var e;function n(o){return o==null||isNaN(o=+o)?e:o}return n.invert=n,n.domain=n.range=function(o){return arguments.length?(t=Array.from(o,xJ),n):t.slice()},n.unknown=function(o){return arguments.length?(e=o,n):e},n.copy=function(){return mat(t).unknown(e)},t=arguments.length?Array.from(t,xJ):[0,1],J7(n)}function yat(t,e){t=t.slice();var n=0,o=t.length-1,i=t[n],r=t[o],a;return rMath.pow(t,e)}function B8o(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Tze(t){return(e,n)=>-t(-e,n)}function l3e(t){const e=t(bze,Sze),n=e.domain;let o=10,i,r;function a(){return i=B8o(o),r=U8o(o),n()[0]<0?(i=Tze(i),r=Tze(r),t(L8o,W8o)):t(bze,Sze),e}return e.base=function(l){return arguments.length?(o=+l,a()):o},e.domain=function(l){return arguments.length?(n(l),a()):n()},e.ticks=l=>{const s=n();let c=s[0],u=s[s.length-1];const d=u0){for(;f<=p;++f)for(g=1;gu)break;x.push(y)}}else for(;f<=p;++f)for(g=o-1;g>=1;--g)if(y=f>0?g/r(-f):g*r(f),!(yu)break;x.push(y)}x.length*2{if(l==null&&(l=10),s==null&&(s=o===10?"s":","),typeof s!="function"&&(!(o%1)&&(s=$F(s)).precision==null&&(s.trim=!0),s=a3e(s)),l===1/0)return s;const c=Math.max(1,o*l/e.ticks().length);return u=>{let d=u/r(Math.round(i(u)));return d*on(yat(n(),{floor:l=>r(Math.floor(i(l))),ceil:l=>r(Math.ceil(i(l)))})),e}function Aat(){const t=l3e(Cee()).domain([1,10]);return t.copy=()=>KN(t,Aat()).base(t.base()),ly.apply(t,arguments),t}function Pze(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Cze(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function s3e(t){var e=1,n=t(Pze(e),Cze(e));return n.constant=function(o){return arguments.length?t(Pze(e=+o),Cze(e)):e},J7(n)}function wat(){var t=s3e(Cee());return t.copy=function(){return KN(t,wat()).constant(t.constant())},ly.apply(t,arguments)}function Rze(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function j8o(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function Y8o(t){return t<0?-t*t:t*t}function c3e(t){var e=t(rp,rp),n=1;function o(){return n===1?t(rp,rp):n===.5?t(j8o,Y8o):t(Rze(n),Rze(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,o()):n},J7(e)}function u3e(){var t=c3e(Cee());return t.copy=function(){return KN(t,u3e()).exponent(t.exponent())},ly.apply(t,arguments),t}function O8o(){return u3e.apply(null,arguments).exponent(.5)}function Hze(t){return Math.sign(t)*t*t}function _8o(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function vat(){var t=i3e(),e=[0,1],n=!1,o;function i(r){var a=_8o(t(r));return isNaN(a)?o:n?Math.round(a):a}return i.invert=function(r){return t.invert(Hze(r))},i.domain=function(r){return arguments.length?(t.domain(r),i):t.domain()},i.range=function(r){return arguments.length?(t.range((e=Array.from(r,xJ)).map(Hze)),i):e.slice()},i.rangeRound=function(r){return i.range(r).round(!0)},i.round=function(r){return arguments.length?(n=!!r,i):n},i.clamp=function(r){return arguments.length?(t.clamp(r),i):t.clamp()},i.unknown=function(r){return arguments.length?(o=r,i):o},i.copy=function(){return vat(t.domain(),e).round(n).clamp(t.clamp()).unknown(o)},ly.apply(i,arguments),J7(i)}function xat(){var t=[],e=[],n=[],o;function i(){var a=0,l=Math.max(1,e.length);for(n=new Array(l-1);++a0?n[l-1]:t[0],l=n?[o[n-1],e]:[o[c-1],o[c]]},a.unknown=function(s){return arguments.length&&(r=s),a},a.thresholds=function(){return o.slice()},a.copy=function(){return bat().domain([t,e]).range(i).unknown(r)},ly.apply(J7(a),arguments)}function Sat(){var t=[.5],e=[0,1],n,o=1;function i(r){return r!=null&&r<=r?e[XN(t,r,0,o)]:n}return i.domain=function(r){return arguments.length?(t=Array.from(r),o=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(r){return arguments.length?(e=Array.from(r),o=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(r){var a=e.indexOf(r);return[t[a-1],t[a]]},i.unknown=function(r){return arguments.length?(n=r,i):n},i.copy=function(){return Sat().domain(t).range(e).unknown(n)},ly.apply(i,arguments)}const Vae=new Date,Gae=new Date;function Gu(t,e,n,o){function i(r){return t(r=arguments.length===0?new Date:new Date(+r)),r}return i.floor=r=>(t(r=new Date(+r)),r),i.ceil=r=>(t(r=new Date(r-1)),e(r,1),t(r),r),i.round=r=>{const a=i(r),l=i.ceil(r);return r-a(e(r=new Date(+r),a==null?1:Math.floor(a)),r),i.range=(r,a,l)=>{const s=[];if(r=i.ceil(r),l=l==null?1:Math.floor(l),!(r0))return s;let c;do s.push(c=new Date(+r)),e(r,l),t(r);while(cGu(a=>{if(a>=a)for(;t(a),!r(a);)a.setTime(a-1)},(a,l)=>{if(a>=a)if(l<0)for(;++l<=0;)for(;e(a,-1),!r(a););else for(;--l>=0;)for(;e(a,1),!r(a););}),n&&(i.count=(r,a)=>(Vae.setTime(+r),Gae.setTime(+a),t(Vae),t(Gae),Math.floor(n(Vae,Gae))),i.every=r=>(r=Math.floor(r),!isFinite(r)||!(r>0)?null:r>1?i.filter(o?a=>o(a)%r===0:a=>i.count(0,a)%r===0):i)),i}const SJ=Gu(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);SJ.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Gu(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):SJ);SJ.range;const w6=1e3,Nm=w6*60,v6=Nm*60,eA=v6*24,d3e=eA*7,Mze=eA*30,Xae=eA*365,Kv=Gu(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*w6)},(t,e)=>(e-t)/w6,t=>t.getUTCSeconds());Kv.range;const f3e=Gu(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*w6)},(t,e)=>{t.setTime(+t+e*Nm)},(t,e)=>(e-t)/Nm,t=>t.getMinutes());f3e.range;const h3e=Gu(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Nm)},(t,e)=>(e-t)/Nm,t=>t.getUTCMinutes());h3e.range;const p3e=Gu(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*w6-t.getMinutes()*Nm)},(t,e)=>{t.setTime(+t+e*v6)},(t,e)=>(e-t)/v6,t=>t.getHours());p3e.range;const g3e=Gu(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*v6)},(t,e)=>(e-t)/v6,t=>t.getUTCHours());g3e.range;const qN=Gu(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Nm)/eA,t=>t.getDate()-1);qN.range;const Ree=Gu(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eA,t=>t.getUTCDate()-1);Ree.range;const Tat=Gu(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eA,t=>Math.floor(t/eA));Tat.range;function iS(t){return Gu(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Nm)/d3e)}const Hee=iS(0),TJ=iS(1),V8o=iS(2),G8o=iS(3),JR=iS(4),X8o=iS(5),J8o=iS(6);Hee.range;TJ.range;V8o.range;G8o.range;JR.range;X8o.range;J8o.range;function rS(t){return Gu(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/d3e)}const Mee=rS(0),PJ=rS(1),K8o=rS(2),q8o=rS(3),KR=rS(4),$8o=rS(5),Q8o=rS(6);Mee.range;PJ.range;K8o.range;q8o.range;KR.range;$8o.range;Q8o.range;const m3e=Gu(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());m3e.range;const y3e=Gu(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());y3e.range;const tA=Gu(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());tA.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Gu(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});tA.range;const nA=Gu(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());nA.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Gu(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});nA.range;function Pat(t,e,n,o,i,r){const a=[[Kv,1,w6],[Kv,5,5*w6],[Kv,15,15*w6],[Kv,30,30*w6],[r,1,Nm],[r,5,5*Nm],[r,15,15*Nm],[r,30,30*Nm],[i,1,v6],[i,3,3*v6],[i,6,6*v6],[i,12,12*v6],[o,1,eA],[o,2,2*eA],[n,1,d3e],[e,1,Mze],[e,3,3*Mze],[t,1,Xae]];function l(c,u,d){const f=uA).right(a,f);if(p===a.length)return t.every(Bfe(c/Xae,u/Xae,d));if(p===0)return SJ.every(Math.max(Bfe(c,u,d),1));const[g,y]=a[f/a[p-1][2]53)return null;"w"in Z||(Z.w=1),"Z"in Z?(fe=Kae($z(Z.y,0,1)),se=fe.getUTCDay(),fe=se>4||se===0?PJ.ceil(fe):PJ(fe),fe=Ree.offset(fe,(Z.V-1)*7),Z.y=fe.getUTCFullYear(),Z.m=fe.getUTCMonth(),Z.d=fe.getUTCDate()+(Z.w+6)%7):(fe=Jae($z(Z.y,0,1)),se=fe.getDay(),fe=se>4||se===0?TJ.ceil(fe):TJ(fe),fe=qN.offset(fe,(Z.V-1)*7),Z.y=fe.getFullYear(),Z.m=fe.getMonth(),Z.d=fe.getDate()+(Z.w+6)%7)}else("W"in Z||"U"in Z)&&("w"in Z||(Z.w="u"in Z?Z.u%7:"W"in Z?1:0),se="Z"in Z?Kae($z(Z.y,0,1)).getUTCDay():Jae($z(Z.y,0,1)).getDay(),Z.m=0,Z.d="W"in Z?(Z.w+6)%7+Z.W*7-(se+5)%7:Z.w+Z.U*7-(se+6)%7);return"Z"in Z?(Z.H+=Z.Z/100|0,Z.M+=Z.Z%100,Kae(Z)):Jae(Z)}}function P(ie,pe,ne,Z){for(var he=0,fe=pe.length,se=ne.length,oe,de;he=se)return-1;if(oe=pe.charCodeAt(he++),oe===37){if(oe=pe.charAt(he++),de=S[oe in Ize?pe.charAt(he++):oe],!de||(Z=de(ie,ne,Z))<0)return-1}else if(oe!=ne.charCodeAt(Z++))return-1}return Z}function R(ie,pe,ne){var Z=c.exec(pe.slice(ne));return Z?(ie.p=u.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function H(ie,pe,ne){var Z=p.exec(pe.slice(ne));return Z?(ie.w=g.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function D(ie,pe,ne){var Z=d.exec(pe.slice(ne));return Z?(ie.w=f.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function E(ie,pe,ne){var Z=x.exec(pe.slice(ne));return Z?(ie.m=C.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function L(ie,pe,ne){var Z=y.exec(pe.slice(ne));return Z?(ie.m=A.get(Z[0].toLowerCase()),ne+Z[0].length):-1}function U(ie,pe,ne){return P(ie,e,pe,ne)}function F(ie,pe,ne){return P(ie,n,pe,ne)}function W(ie,pe,ne){return P(ie,o,pe,ne)}function B(ie){return a[ie.getDay()]}function k(ie){return r[ie.getDay()]}function N(ie){return s[ie.getMonth()]}function j(ie){return l[ie.getMonth()]}function Y(ie){return i[+(ie.getHours()>=12)]}function _(ie){return 1+~~(ie.getMonth()/3)}function J(ie){return a[ie.getUTCDay()]}function Q(ie){return r[ie.getUTCDay()]}function ee(ie){return s[ie.getUTCMonth()]}function $(ie){return l[ie.getUTCMonth()]}function q(ie){return i[+(ie.getUTCHours()>=12)]}function le(ie){return 1+~~(ie.getUTCMonth()/3)}return{format:function(ie){var pe=w(ie+="",b);return pe.toString=function(){return ie},pe},parse:function(ie){var pe=T(ie+="",!1);return pe.toString=function(){return ie},pe},utcFormat:function(ie){var pe=w(ie+="",v);return pe.toString=function(){return ie},pe},utcParse:function(ie){var pe=T(ie+="",!0);return pe.toString=function(){return ie},pe}}}var Ize={"-":"",_:" ",0:"0"},zd=/^\s*\d+/,ivo=/^%/,rvo=/[\\^$*+?|[\]().{}]/g;function kl(t,e,n){var o=t<0?"-":"",i=(o?-t:t)+"",r=i.length;return o+(r[e.toLowerCase(),n]))}function lvo(t,e,n){var o=zd.exec(e.slice(n,n+1));return o?(t.w=+o[0],n+o[0].length):-1}function svo(t,e,n){var o=zd.exec(e.slice(n,n+1));return o?(t.u=+o[0],n+o[0].length):-1}function cvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.U=+o[0],n+o[0].length):-1}function uvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.V=+o[0],n+o[0].length):-1}function dvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.W=+o[0],n+o[0].length):-1}function zze(t,e,n){var o=zd.exec(e.slice(n,n+4));return o?(t.y=+o[0],n+o[0].length):-1}function Dze(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.y=+o[0]+(+o[0]>68?1900:2e3),n+o[0].length):-1}function fvo(t,e,n){var o=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return o?(t.Z=o[1]?0:-(o[2]+(o[3]||"00")),n+o[0].length):-1}function hvo(t,e,n){var o=zd.exec(e.slice(n,n+1));return o?(t.q=o[0]*3-3,n+o[0].length):-1}function pvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.m=o[0]-1,n+o[0].length):-1}function Eze(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.d=+o[0],n+o[0].length):-1}function gvo(t,e,n){var o=zd.exec(e.slice(n,n+3));return o?(t.m=0,t.d=+o[0],n+o[0].length):-1}function kze(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.H=+o[0],n+o[0].length):-1}function mvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.M=+o[0],n+o[0].length):-1}function yvo(t,e,n){var o=zd.exec(e.slice(n,n+2));return o?(t.S=+o[0],n+o[0].length):-1}function Avo(t,e,n){var o=zd.exec(e.slice(n,n+3));return o?(t.L=+o[0],n+o[0].length):-1}function wvo(t,e,n){var o=zd.exec(e.slice(n,n+6));return o?(t.L=Math.floor(o[0]/1e3),n+o[0].length):-1}function vvo(t,e,n){var o=ivo.exec(e.slice(n,n+1));return o?n+o[0].length:-1}function xvo(t,e,n){var o=zd.exec(e.slice(n));return o?(t.Q=+o[0],n+o[0].length):-1}function bvo(t,e,n){var o=zd.exec(e.slice(n));return o?(t.s=+o[0],n+o[0].length):-1}function Fze(t,e){return kl(t.getDate(),e,2)}function Svo(t,e){return kl(t.getHours(),e,2)}function Tvo(t,e){return kl(t.getHours()%12||12,e,2)}function Pvo(t,e){return kl(1+qN.count(tA(t),t),e,3)}function Cat(t,e){return kl(t.getMilliseconds(),e,3)}function Cvo(t,e){return Cat(t,e)+"000"}function Rvo(t,e){return kl(t.getMonth()+1,e,2)}function Hvo(t,e){return kl(t.getMinutes(),e,2)}function Mvo(t,e){return kl(t.getSeconds(),e,2)}function Ivo(t){var e=t.getDay();return e===0?7:e}function zvo(t,e){return kl(Hee.count(tA(t)-1,t),e,2)}function Rat(t){var e=t.getDay();return e>=4||e===0?JR(t):JR.ceil(t)}function Dvo(t,e){return t=Rat(t),kl(JR.count(tA(t),t)+(tA(t).getDay()===4),e,2)}function Evo(t){return t.getDay()}function kvo(t,e){return kl(TJ.count(tA(t)-1,t),e,2)}function Fvo(t,e){return kl(t.getFullYear()%100,e,2)}function Lvo(t,e){return t=Rat(t),kl(t.getFullYear()%100,e,2)}function Wvo(t,e){return kl(t.getFullYear()%1e4,e,4)}function Nvo(t,e){var n=t.getDay();return t=n>=4||n===0?JR(t):JR.ceil(t),kl(t.getFullYear()%1e4,e,4)}function Uvo(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+kl(e/60|0,"0",2)+kl(e%60,"0",2)}function Lze(t,e){return kl(t.getUTCDate(),e,2)}function Bvo(t,e){return kl(t.getUTCHours(),e,2)}function jvo(t,e){return kl(t.getUTCHours()%12||12,e,2)}function Yvo(t,e){return kl(1+Ree.count(nA(t),t),e,3)}function Hat(t,e){return kl(t.getUTCMilliseconds(),e,3)}function Ovo(t,e){return Hat(t,e)+"000"}function _vo(t,e){return kl(t.getUTCMonth()+1,e,2)}function Vvo(t,e){return kl(t.getUTCMinutes(),e,2)}function Gvo(t,e){return kl(t.getUTCSeconds(),e,2)}function Xvo(t){var e=t.getUTCDay();return e===0?7:e}function Jvo(t,e){return kl(Mee.count(nA(t)-1,t),e,2)}function Mat(t){var e=t.getUTCDay();return e>=4||e===0?KR(t):KR.ceil(t)}function Kvo(t,e){return t=Mat(t),kl(KR.count(nA(t),t)+(nA(t).getUTCDay()===4),e,2)}function qvo(t){return t.getUTCDay()}function $vo(t,e){return kl(PJ.count(nA(t)-1,t),e,2)}function Qvo(t,e){return kl(t.getUTCFullYear()%100,e,2)}function Zvo(t,e){return t=Mat(t),kl(t.getUTCFullYear()%100,e,2)}function exo(t,e){return kl(t.getUTCFullYear()%1e4,e,4)}function txo(t,e){var n=t.getUTCDay();return t=n>=4||n===0?KR(t):KR.ceil(t),kl(t.getUTCFullYear()%1e4,e,4)}function nxo(){return"+0000"}function Wze(){return"%"}function Nze(t){return+t}function Uze(t){return Math.floor(+t/1e3)}var VT,Iat,zat;oxo({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function oxo(t){return VT=ovo(t),Iat=VT.format,VT.parse,zat=VT.utcFormat,VT.utcParse,VT}function ixo(t){return new Date(t)}function rxo(t){return t instanceof Date?+t:+new Date(+t)}function A3e(t,e,n,o,i,r,a,l,s,c){var u=i3e(),d=u.invert,f=u.domain,p=c(".%L"),g=c(":%S"),y=c("%I:%M"),A=c("%I %p"),x=c("%a %d"),C=c("%b %d"),b=c("%B"),v=c("%Y");function S(w){return(s(w)e(i/(t.length-1)))},n.quantiles=function(o){return Array.from({length:o+1},(i,r)=>J7o(t,r/o))},n.copy=function(){return Fat(e).domain(t)},xA.apply(n,arguments)}function zee(){var t=0,e=.5,n=1,o=1,i,r,a,l,s,c=rp,u,d=!1,f;function p(y){return isNaN(y=+y)?f:(y=.5+((y=+u(y))-r)*(o*ye}var hxo=fxo,pxo=Uat,gxo=hxo,mxo=Vb;function yxo(t){return t&&t.length?pxo(t,mxo,gxo):void 0}var Axo=yxo;const ww=kr(Axo);function wxo(t,e){return tt.e^r.s<0?1:-1;for(o=r.d.length,i=t.d.length,e=0,n=ot.d[e]^r.s<0?1:-1;return o===i?0:o>i^r.s<0?1:-1};Yi.decimalPlaces=Yi.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*pc;if(e=t.d[e],e)for(;e%10==0;e/=10)n--;return n<0?0:n};Yi.dividedBy=Yi.div=function(t){return k6(this,new this.constructor(t))};Yi.dividedToIntegerBy=Yi.idiv=function(t){var e=this,n=e.constructor;return Cs(k6(e,new n(t),0,1),n.precision)};Yi.equals=Yi.eq=function(t){return!this.cmp(t)};Yi.exponent=function(){return su(this)};Yi.greaterThan=Yi.gt=function(t){return this.cmp(t)>0};Yi.greaterThanOrEqualTo=Yi.gte=function(t){return this.cmp(t)>=0};Yi.isInteger=Yi.isint=function(){return this.e>this.d.length-2};Yi.isNegative=Yi.isneg=function(){return this.s<0};Yi.isPositive=Yi.ispos=function(){return this.s>0};Yi.isZero=function(){return this.s===0};Yi.lessThan=Yi.lt=function(t){return this.cmp(t)<0};Yi.lessThanOrEqualTo=Yi.lte=function(t){return this.cmp(t)<1};Yi.logarithm=Yi.log=function(t){var e,n=this,o=n.constructor,i=o.precision,r=i+5;if(t===void 0)t=new o(10);else if(t=new o(t),t.s<1||t.eq(sg))throw Error(Zm+"NaN");if(n.s<1)throw Error(Zm+(n.s?"NaN":"-Infinity"));return n.eq(sg)?new o(0):(Oc=!1,e=k6(ZF(n,r),ZF(t,r),r),Oc=!0,Cs(e,i))};Yi.minus=Yi.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?Oat(e,t):jat(e,(t.s=-t.s,t))};Yi.modulo=Yi.mod=function(t){var e,n=this,o=n.constructor,i=o.precision;if(t=new o(t),!t.s)throw Error(Zm+"NaN");return n.s?(Oc=!1,e=k6(n,t,0,1).times(t),Oc=!0,n.minus(e)):Cs(new o(n),i)};Yi.naturalExponential=Yi.exp=function(){return Yat(this)};Yi.naturalLogarithm=Yi.ln=function(){return ZF(this)};Yi.negated=Yi.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};Yi.plus=Yi.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?jat(e,t):Oat(e,(t.s=-t.s,t))};Yi.precision=Yi.sd=function(t){var e,n,o,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(Cx+t);if(e=su(i)+1,o=i.d.length-1,n=o*pc+1,o=i.d[o],o){for(;o%10==0;o/=10)n--;for(o=i.d[0];o>=10;o/=10)n++}return t&&e>n?e:n};Yi.squareRoot=Yi.sqrt=function(){var t,e,n,o,i,r,a,l=this,s=l.constructor;if(l.s<1){if(!l.s)return new s(0);throw Error(Zm+"NaN")}for(t=su(l),Oc=!1,i=Math.sqrt(+l),i==0||i==1/0?(e=u9(l.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=xM((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),o=new s(e)):o=new s(i.toString()),n=s.precision,i=a=n+3;;)if(r=o,o=r.plus(k6(l,r,a+2)).times(.5),u9(r.d).slice(0,a)===(e=u9(o.d)).slice(0,a)){if(e=e.slice(a-3,a+1),i==a&&e=="4999"){if(Cs(r,n+1,0),r.times(r).eq(l)){o=r;break}}else if(e!="9999")break;a+=4}return Oc=!0,Cs(o,n)};Yi.times=Yi.mul=function(t){var e,n,o,i,r,a,l,s,c,u=this,d=u.constructor,f=u.d,p=(t=new d(t)).d;if(!u.s||!t.s)return new d(0);for(t.s*=u.s,n=u.e+t.e,s=f.length,c=p.length,s=0;){for(e=0,i=s+o;i>o;)l=r[i]+p[o]*f[i-o-1]+e,r[i--]=l%gd|0,e=l/gd|0;r[i]=(r[i]+e)%gd|0}for(;!r[--a];)r.pop();return e?++n:r.shift(),t.d=r,t.e=n,Oc?Cs(t,d.precision):t};Yi.toDecimalPlaces=Yi.todp=function(t,e){var n=this,o=n.constructor;return n=new o(n),t===void 0?n:(Y9(t,0,vM),e===void 0?e=o.rounding:Y9(e,0,8),Cs(n,t+su(n)+1,e))};Yi.toExponential=function(t,e){var n,o=this,i=o.constructor;return t===void 0?n=sb(o,!0):(Y9(t,0,vM),e===void 0?e=i.rounding:Y9(e,0,8),o=Cs(new i(o),t+1,e),n=sb(o,!0,t+1)),n};Yi.toFixed=function(t,e){var n,o,i=this,r=i.constructor;return t===void 0?sb(i):(Y9(t,0,vM),e===void 0?e=r.rounding:Y9(e,0,8),o=Cs(new r(i),t+su(i)+1,e),n=sb(o.abs(),!1,t+su(o)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Yi.toInteger=Yi.toint=function(){var t=this,e=t.constructor;return Cs(new e(t),su(t)+1,e.rounding)};Yi.toNumber=function(){return+this};Yi.toPower=Yi.pow=function(t){var e,n,o,i,r,a,l=this,s=l.constructor,c=12,u=+(t=new s(t));if(!t.s)return new s(sg);if(l=new s(l),!l.s){if(t.s<1)throw Error(Zm+"Infinity");return l}if(l.eq(sg))return l;if(o=s.precision,t.eq(sg))return Cs(l,o);if(e=t.e,n=t.d.length-1,a=e>=n,r=l.s,a){if((n=u<0?-u:u)<=Bat){for(i=new s(sg),e=Math.ceil(o/pc+4),Oc=!1;n%2&&(i=i.times(l),Yze(i.d,e)),n=xM(n/2),n!==0;)l=l.times(l),Yze(l.d,e);return Oc=!0,t.s<0?new s(sg).div(i):Cs(i,o)}}else if(r<0)throw Error(Zm+"NaN");return r=r<0&&t.d[Math.max(e,n)]&1?-1:1,l.s=1,Oc=!1,i=t.times(ZF(l,o+c)),Oc=!0,i=Yat(i),i.s=r,i};Yi.toPrecision=function(t,e){var n,o,i=this,r=i.constructor;return t===void 0?(n=su(i),o=sb(i,n<=r.toExpNeg||n>=r.toExpPos)):(Y9(t,1,vM),e===void 0?e=r.rounding:Y9(e,0,8),i=Cs(new r(i),t,e),n=su(i),o=sb(i,t<=n||n<=r.toExpNeg,t)),o};Yi.toSignificantDigits=Yi.tosd=function(t,e){var n=this,o=n.constructor;return t===void 0?(t=o.precision,e=o.rounding):(Y9(t,1,vM),e===void 0?e=o.rounding:Y9(e,0,8)),Cs(new o(n),t,e)};Yi.toString=Yi.valueOf=Yi.val=Yi.toJSON=Yi[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=su(t),n=t.constructor;return sb(t,e<=n.toExpNeg||e>=n.toExpPos)};function jat(t,e){var n,o,i,r,a,l,s,c,u=t.constructor,d=u.precision;if(!t.s||!e.s)return e.s||(e=new u(t)),Oc?Cs(e,d):e;if(s=t.d,c=e.d,a=t.e,i=e.e,s=s.slice(),r=a-i,r){for(r<0?(o=s,r=-r,l=c.length):(o=c,i=a,l=s.length),a=Math.ceil(d/pc),l=a>l?a+1:l+1,r>l&&(r=l,o.length=1),o.reverse();r--;)o.push(0);o.reverse()}for(l=s.length,r=c.length,l-r<0&&(r=l,o=c,c=s,s=o),n=0;r;)n=(s[--r]=s[r]+c[r]+n)/gd|0,s[r]%=gd;for(n&&(s.unshift(n),++i),l=s.length;s[--l]==0;)s.pop();return e.d=s,e.e=i,Oc?Cs(e,d):e}function Y9(t,e,n){if(t!==~~t||tn)throw Error(Cx+t)}function u9(t){var e,n,o,i=t.length-1,r="",a=t[0];if(i>0){for(r+=a,e=1;ea?1:-1;else for(l=s=0;li[l]?1:-1;break}return s}function n(o,i,r){for(var a=0;r--;)o[r]-=a,a=o[r]1;)o.shift()}return function(o,i,r,a){var l,s,c,u,d,f,p,g,y,A,x,C,b,v,S,w,T,P,R=o.constructor,H=o.s==i.s?1:-1,D=o.d,E=i.d;if(!o.s)return new R(o);if(!i.s)throw Error(Zm+"Division by zero");for(s=o.e-i.e,T=E.length,S=D.length,p=new R(H),g=p.d=[],c=0;E[c]==(D[c]||0);)++c;if(E[c]>(D[c]||0)&&--s,r==null?C=r=R.precision:a?C=r+(su(o)-su(i))+1:C=r,C<0)return new R(0);if(C=C/pc+2|0,c=0,T==1)for(u=0,E=E[0],C++;(c1&&(E=t(E,u),D=t(D,u),T=E.length,S=D.length),v=T,y=D.slice(0,T),A=y.length;A=gd/2&&++w;do u=0,l=e(E,y,T,A),l<0?(x=y[0],T!=A&&(x=x*gd+(y[1]||0)),u=x/w|0,u>1?(u>=gd&&(u=gd-1),d=t(E,u),f=d.length,A=y.length,l=e(d,y,f,A),l==1&&(u--,n(d,T16)throw Error(x3e+su(t));if(!t.s)return new u(sg);for(e==null?(Oc=!1,l=d):l=e,a=new u(.03125);t.abs().gte(.1);)t=t.times(a),c+=5;for(o=Math.log(pv(2,c))/Math.LN10*2+5|0,l+=o,n=i=r=new u(sg),u.precision=l;;){if(i=Cs(i.times(t),l),n=n.times(++s),a=r.plus(k6(i,n,l)),u9(a.d).slice(0,l)===u9(r.d).slice(0,l)){for(;c--;)r=Cs(r.times(r),l);return u.precision=d,e==null?(Oc=!0,Cs(r,d)):r}r=a}}function su(t){for(var e=t.e*pc,n=t.d[0];n>=10;n/=10)e++;return e}function qae(t,e,n){if(e>t.LN10.sd())throw Oc=!0,n&&(t.precision=n),Error(Zm+"LN10 precision limit exceeded");return Cs(new t(t.LN10),e)}function J4(t){for(var e="";t--;)e+="0";return e}function ZF(t,e){var n,o,i,r,a,l,s,c,u,d=1,f=10,p=t,g=p.d,y=p.constructor,A=y.precision;if(p.s<1)throw Error(Zm+(p.s?"NaN":"-Infinity"));if(p.eq(sg))return new y(0);if(e==null?(Oc=!1,c=A):c=e,p.eq(10))return e==null&&(Oc=!0),qae(y,c);if(c+=f,y.precision=c,n=u9(g),o=n.charAt(0),r=su(p),Math.abs(r)<15e14){for(;o<7&&o!=1||o==1&&n.charAt(1)>3;)p=p.times(t),n=u9(p.d),o=n.charAt(0),d++;r=su(p),o>1?(p=new y("0."+n),r++):p=new y(o+"."+n.slice(1))}else return s=qae(y,c+2,A).times(r+""),p=ZF(new y(o+"."+n.slice(1)),c-f).plus(s),y.precision=A,e==null?(Oc=!0,Cs(p,A)):p;for(l=a=p=k6(p.minus(sg),p.plus(sg),c),u=Cs(p.times(p),c),i=3;;){if(a=Cs(a.times(u),c),s=l.plus(k6(a,new y(i),c)),u9(s.d).slice(0,c)===u9(l.d).slice(0,c))return l=l.times(2),r!==0&&(l=l.plus(qae(y,c+2,A).times(r+""))),l=k6(l,new y(d),c),y.precision=A,e==null?(Oc=!0,Cs(l,A)):l;l=s,i+=2}}function jze(t,e){var n,o,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(o=e.search(/e/i))>0?(n<0&&(n=o),n+=+e.slice(o+1),e=e.substring(0,o)):n<0&&(n=e.length),o=0;e.charCodeAt(o)===48;)++o;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(o,i),e){if(i-=o,n=n-o-1,t.e=xM(n/pc),t.d=[],o=(n+1)%pc,n<0&&(o+=pc),oCJ||t.e<-CJ))throw Error(x3e+n)}else t.s=0,t.e=0,t.d=[0];return t}function Cs(t,e,n){var o,i,r,a,l,s,c,u,d=t.d;for(a=1,r=d[0];r>=10;r/=10)a++;if(o=e-a,o<0)o+=pc,i=e,c=d[u=0];else{if(u=Math.ceil((o+1)/pc),r=d.length,u>=r)return t;for(c=r=d[u],a=1;r>=10;r/=10)a++;o%=pc,i=o-pc+a}if(n!==void 0&&(r=pv(10,a-i-1),l=c/r%10|0,s=e<0||d[u+1]!==void 0||c%r,s=n<4?(l||s)&&(n==0||n==(t.s<0?3:2)):l>5||l==5&&(n==4||s||n==6&&(o>0?i>0?c/pv(10,a-i):0:d[u-1])%10&1||n==(t.s<0?8:7))),e<1||!d[0])return s?(r=su(t),d.length=1,e=e-r-1,d[0]=pv(10,(pc-e%pc)%pc),t.e=xM(-e/pc)||0):(d.length=1,d[0]=t.e=t.s=0),t;if(o==0?(d.length=u,r=1,u--):(d.length=u+1,r=pv(10,pc-o),d[u]=i>0?(c/pv(10,a-i)%pv(10,i)|0)*r:0),s)for(;;)if(u==0){(d[0]+=r)==gd&&(d[0]=1,++t.e);break}else{if(d[u]+=r,d[u]!=gd)break;d[u--]=0,r=1}for(o=d.length;d[--o]===0;)d.pop();if(Oc&&(t.e>CJ||t.e<-CJ))throw Error(x3e+su(t));return t}function Oat(t,e){var n,o,i,r,a,l,s,c,u,d,f=t.constructor,p=f.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new f(t),Oc?Cs(e,p):e;if(s=t.d,d=e.d,o=e.e,c=t.e,s=s.slice(),a=c-o,a){for(u=a<0,u?(n=s,a=-a,l=d.length):(n=d,o=c,l=s.length),i=Math.max(Math.ceil(p/pc),l)+2,a>i&&(a=i,n.length=1),n.reverse(),i=a;i--;)n.push(0);n.reverse()}else{for(i=s.length,l=d.length,u=i0;--i)s[l++]=0;for(i=d.length;i>a;){if(s[--i]0?r=r.charAt(0)+"."+r.slice(1)+J4(o):a>1&&(r=r.charAt(0)+"."+r.slice(1)),r=r+(i<0?"e":"e+")+i):i<0?(r="0."+J4(-i-1)+r,n&&(o=n-a)>0&&(r+=J4(o))):i>=a?(r+=J4(i+1-a),n&&(o=n-i-1)>0&&(r=r+"."+J4(o))):((o=i+1)0&&(i+1===a&&(r+="."),r+=J4(o))),t.s<0?"-"+r:r}function Yze(t,e){if(t.length>e)return t.length=e,!0}function _at(t){var e,n,o;function i(r){var a=this;if(!(a instanceof i))return new i(r);if(a.constructor=i,r instanceof i){a.s=r.s,a.e=r.e,a.d=(r=r.d)?r.slice():r;return}if(typeof r=="number"){if(r*0!==0)throw Error(Cx+r);if(r>0)a.s=1;else if(r<0)r=-r,a.s=-1;else{a.s=0,a.e=0,a.d=[0];return}if(r===~~r&&r<1e7){a.e=0,a.d=[r];return}return jze(a,r.toString())}else if(typeof r!="string")throw Error(Cx+r);if(r.charCodeAt(0)===45?(r=r.slice(1),a.s=-1):a.s=1,Fxo.test(r))jze(a,r);else throw Error(Cx+r)}if(i.prototype=Yi,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=_at,i.config=i.set=Lxo,t===void 0&&(t={}),t)for(o=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&o<=i[e+2])this[n]=o;else throw Error(Cx+n+": "+o);if((o=t[n="LN10"])!==void 0)if(o==Math.LN10)this[n]=new this(o);else throw Error(Cx+n+": "+o);return this}var b3e=_at(kxo);sg=new b3e(1);const ys=b3e;function Wxo(t){return jxo(t)||Bxo(t)||Uxo(t)||Nxo()}function Nxo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Uxo(t,e){if(t){if(typeof t=="string")return Vfe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Vfe(t,e)}}function Bxo(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function jxo(t){if(Array.isArray(t))return Vfe(t)}function Vfe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=e?n.apply(void 0,i):t(e-a,Oze(function(){for(var l=arguments.length,s=new Array(l),c=0;ct.length)&&(e=t.length);for(var n=0,o=new Array(e);n"u"||!(Symbol.iterator in Object(t)))){var n=[],o=!0,i=!1,r=void 0;try{for(var a=t[Symbol.iterator](),l;!(o=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));o=!0);}catch(s){i=!0,r=s}finally{try{!o&&a.return!=null&&a.return()}finally{if(i)throw r}}return n}}function nbo(t){if(Array.isArray(t))return t}function Kat(t){var e=eL(t,2),n=e[0],o=e[1],i=n,r=o;return n>o&&(i=o,r=n),[i,r]}function qat(t,e,n){if(t.lte(0))return new ys(0);var o=kee.getDigitCount(t.toNumber()),i=new ys(10).pow(o),r=t.div(i),a=o!==1?.05:.1,l=new ys(Math.ceil(r.div(a).toNumber())).add(n).mul(a),s=l.mul(i);return e?s:new ys(Math.ceil(s))}function obo(t,e,n){var o=1,i=new ys(t);if(!i.isint()&&n){var r=Math.abs(t);r<1?(o=new ys(10).pow(kee.getDigitCount(t)-1),i=new ys(Math.floor(i.div(o).toNumber())).mul(o)):r>1&&(i=new ys(Math.floor(t)))}else t===0?i=new ys(Math.floor((e-1)/2)):n||(i=new ys(Math.floor(t)));var a=Math.floor((e-1)/2),l=Vxo(_xo(function(s){return i.add(new ys(s-a).mul(o)).toNumber()}),Gfe);return l(0,e)}function $at(t,e,n,o){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((e-t)/(n-1)))return{step:new ys(0),tickMin:new ys(0),tickMax:new ys(0)};var r=qat(new ys(e).sub(t).div(n-1),o,i),a;t<=0&&e>=0?a=new ys(0):(a=new ys(t).add(e).div(2),a=a.sub(new ys(a).mod(r)));var l=Math.ceil(a.sub(t).div(r).toNumber()),s=Math.ceil(new ys(e).sub(a).div(r).toNumber()),c=l+s+1;return c>n?$at(t,e,n,o,i+1):(c0?s+(n-c):s,l=e>0?l:l+(n-c)),{step:r,tickMin:a.sub(new ys(l).mul(r)),tickMax:a.add(new ys(s).mul(r))})}function ibo(t){var e=eL(t,2),n=e[0],o=e[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Math.max(i,2),l=Kat([n,o]),s=eL(l,2),c=s[0],u=s[1];if(c===-1/0||u===1/0){var d=u===1/0?[c].concat(Jfe(Gfe(0,i-1).map(function(){return 1/0}))):[].concat(Jfe(Gfe(0,i-1).map(function(){return-1/0})),[u]);return n>o?Xfe(d):d}if(c===u)return obo(c,i,r);var f=$at(c,u,a,r),p=f.step,g=f.tickMin,y=f.tickMax,A=kee.rangeStep(g,y.add(new ys(.1).mul(p)),p);return n>o?Xfe(A):A}function rbo(t,e){var n=eL(t,2),o=n[0],i=n[1],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Kat([o,i]),l=eL(a,2),s=l[0],c=l[1];if(s===-1/0||c===1/0)return[o,i];if(s===c)return[s];var u=Math.max(e,2),d=qat(new ys(c).sub(s).div(u-1),r,0),f=[].concat(Jfe(kee.rangeStep(new ys(s),new ys(c).sub(new ys(.99).mul(d)),d)),[c]);return o>i?Xfe(f):f}var abo=Xat(ibo),lbo=Xat(rbo),sbo="Invariant failed";function cb(t,e){throw new Error(sbo)}var cbo=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function RJ(){return RJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function mbo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function bM(t){var e=t.offset,n=t.layout,o=t.width,i=t.dataKey,r=t.data,a=t.dataPointFormatter,l=t.xAxis,s=t.yAxis,c=gbo(t,cbo),u=oa(c,!1);t.direction==="x"&&l.type!=="number"&&cb();var d=r.map(function(f){var p=a(f,i),g=p.x,y=p.y,A=p.value,x=p.errorVal;if(!x)return null;var C=[],b,v;if(Array.isArray(x)){var S=ubo(x,2);b=S[0],v=S[1]}else b=v=x;if(n==="vertical"){var w=l.scale,T=y+e,P=T+o,R=T-o,H=w(A-b),D=w(A+v);C.push({x1:D,y1:P,x2:D,y2:R}),C.push({x1:H,y1:T,x2:D,y2:T}),C.push({x1:H,y1:P,x2:H,y2:R})}else if(n==="horizontal"){var E=s.scale,L=g+e,U=L-o,F=L+o,W=E(A-b),B=E(A+v);C.push({x1:U,y1:B,x2:F,y2:B}),C.push({x1:L,y1:W,x2:L,y2:B}),C.push({x1:U,y1:W,x2:F,y2:W})}return Se.createElement(Bl,RJ({className:"recharts-errorBar",key:"bar-".concat(C.map(function(k){return"".concat(k.x1,"-").concat(k.x2,"-").concat(k.y1,"-").concat(k.y2)}))},u),C.map(function(k){return Se.createElement("line",RJ({},k,{key:"line-".concat(k.x1,"-").concat(k.x2,"-").concat(k.y1,"-").concat(k.y2)}))}))});return Se.createElement(Bl,{className:"recharts-errorBars"},d)}bM.defaultProps={stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"};bM.displayName="ErrorBar";function tL(t){"@babel/helpers - typeof";return tL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tL(t)}function Vze(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $ae(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,a=-1,l=(n=o==null?void 0:o.length)!==null&&n!==void 0?n:0;if(l<=1)return 0;if(r&&r.axisType==="angleAxis"&&Math.abs(Math.abs(r.range[1]-r.range[0])-360)<=1e-6)for(var s=r.range,c=0;c0?i[c-1].coordinate:i[l-1].coordinate,d=i[c].coordinate,f=c>=l-1?i[0].coordinate:i[c+1].coordinate,p=void 0;if(x2(d-u)!==x2(f-d)){var g=[];if(x2(f-d)===x2(s[1]-s[0])){p=f;var y=d+s[1]-s[0];g[0]=Math.min(y,(y+u)/2),g[1]=Math.max(y,(y+u)/2)}else{p=u;var A=f+s[1]-s[0];g[0]=Math.min(d,(A+d)/2),g[1]=Math.max(d,(A+d)/2)}var x=[Math.min(d,(p+d)/2),Math.max(d,(p+d)/2)];if(e>x[0]&&e<=x[1]||e>=g[0]&&e<=g[1]){a=i[c].index;break}}else{var C=Math.min(u,f),b=Math.max(u,f);if(e>(C+d)/2&&e<=(b+d)/2){a=i[c].index;break}}}else for(var v=0;v0&&v(o[v].coordinate+o[v-1].coordinate)/2&&e<=(o[v].coordinate+o[v+1].coordinate)/2||v===l-1&&e>(o[v].coordinate+o[v-1].coordinate)/2){a=o[v].index;break}return a},S3e=function(e){var n=e,o=n.type.displayName,i=e.props,r=i.stroke,a=i.fill,l;switch(o){case"Line":l=r;break;case"Area":case"Radar":l=r&&r!=="none"?r:a;break;default:l=a;break}return l},Rbo=function(e){var n=e.barSize,o=e.totalSize,i=e.stackGroups,r=i===void 0?{}:i;if(!r)return{};for(var a={},l=Object.keys(r),s=0,c=l.length;s=0});if(x&&x.length){var C=x[0].props.barSize,b=x[0].props[A];a[b]||(a[b]=[]);var v=ra(C)?n:C;a[b].push({item:x[0],stackList:x.slice(1),barSize:ra(v)?void 0:ab(v,o,0)})}}return a},Hbo=function(e){var n=e.barGap,o=e.barCategoryGap,i=e.bandSize,r=e.sizeList,a=r===void 0?[]:r,l=e.maxBarSize,s=a.length;if(s<1)return null;var c=ab(n,i,0,!0),u,d=[];if(a[0].barSize===+a[0].barSize){var f=!1,p=i/s,g=a.reduce(function(v,S){return v+S.barSize||0},0);g+=(s-1)*c,g>=i&&(g-=(s-1)*c,c=0),g>=i&&p>0&&(f=!0,p*=.9,g=s*p);var y=(i-g)/2>>0,A={offset:y-c,size:0};u=a.reduce(function(v,S){var w={item:S.item,position:{offset:A.offset+A.size+c,size:f?p:S.barSize}},T=[].concat(Xze(v),[w]);return A=T[T.length-1].position,S.stackList&&S.stackList.length&&S.stackList.forEach(function(P){T.push({item:P,position:A})}),T},d)}else{var x=ab(o,i,0,!0);i-2*x-(s-1)*c<=0&&(c=0);var C=(i-2*x-(s-1)*c)/s;C>1&&(C>>=0);var b=l===+l?Math.min(C,l):C;u=a.reduce(function(v,S,w){var T=[].concat(Xze(v),[{item:S.item,position:{offset:x+(C+c)*w+(C-b)/2,size:b}}]);return S.stackList&&S.stackList.length&&S.stackList.forEach(function(P){T.push({item:P,position:T[T.length-1].position})}),T},d)}return u},Mbo=function(e,n,o,i){var r=o.children,a=o.width,l=o.margin,s=a-(l.left||0)-(l.right||0),c=Qat({children:r,legendWidth:s});if(c){var u=i||{},d=u.width,f=u.height,p=c.align,g=c.verticalAlign,y=c.layout;if((y==="vertical"||y==="horizontal"&&g==="middle")&&p!=="center"&&si(e[p]))return Tm(Tm({},e),{},IC({},p,e[p]+(d||0)));if((y==="horizontal"||y==="vertical"&&p==="center")&&g!=="middle"&&si(e[g]))return Tm(Tm({},e),{},IC({},g,e[g]+(f||0)))}return e},Ibo=function(e,n,o){return ra(n)?!0:e==="horizontal"?n==="yAxis":e==="vertical"||o==="x"?n==="xAxis":o==="y"?n==="yAxis":!0},Zat=function(e,n,o,i,r){var a=n.props.children,l=Kp(a,bM).filter(function(c){return Ibo(i,r,c.props.direction)});if(l&&l.length){var s=l.map(function(c){return c.props.dataKey});return e.reduce(function(c,u){var d=Uu(u,o);if(ra(d))return c;var f=Array.isArray(d)?[Dee(d),ww(d)]:[d,d],p=s.reduce(function(g,y){var A=Uu(u,y,0),x=f[0]-Math.abs(Array.isArray(A)?A[0]:A),C=f[1]+Math.abs(Array.isArray(A)?A[1]:A);return[Math.min(x,g[0]),Math.max(C,g[1])]},[1/0,-1/0]);return[Math.min(p[0],c[0]),Math.max(p[1],c[1])]},[1/0,-1/0])}return null},zbo=function(e,n,o,i,r){var a=n.map(function(l){return Zat(e,l,o,r,i)}).filter(function(l){return!ra(l)});return a&&a.length?a.reduce(function(l,s){return[Math.min(l[0],s[0]),Math.max(l[1],s[1])]},[1/0,-1/0]):null},elt=function(e,n,o,i,r){var a=n.map(function(s){var c=s.props.dataKey;return o==="number"&&c&&Zat(e,s,c,i)||FE(e,c,o,r)});if(o==="number")return a.reduce(function(s,c){return[Math.min(s[0],c[0]),Math.max(s[1],c[1])]},[1/0,-1/0]);var l={};return a.reduce(function(s,c){for(var u=0,d=c.length;u=2?x2(l[0]-l[1])*2*c:c,n&&(e.ticks||e.niceTicks)){var u=(e.ticks||e.niceTicks).map(function(d){var f=r?r.indexOf(d):d;return{coordinate:i(f)+c,value:d,offset:c}});return u.filter(function(d){return!AM(d.coordinate)})}return e.isCategorical&&e.categoricalDomain?e.categoricalDomain.map(function(d,f){return{coordinate:i(d)+c,value:d,index:f,offset:c}}):i.ticks&&!o?i.ticks(e.tickCount).map(function(d){return{coordinate:i(d)+c,value:d,offset:c}}):i.domain().map(function(d,f){return{coordinate:i(d)+c,value:r?r[d]:d,index:f,offset:c}})},Qae=new WeakMap,YO=function(e,n){if(typeof n!="function")return e;Qae.has(e)||Qae.set(e,new WeakMap);var o=Qae.get(e);if(o.has(n))return o.get(n);var i=function(){e.apply(void 0,arguments),n.apply(void 0,arguments)};return o.set(n,i),i},Dbo=function(e,n,o){var i=e.scale,r=e.type,a=e.layout,l=e.axisType;if(i==="auto")return a==="radial"&&l==="radiusAxis"?{scale:XF(),realScaleType:"band"}:a==="radial"&&l==="angleAxis"?{scale:QF(),realScaleType:"linear"}:r==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!o)?{scale:HC(),realScaleType:"point"}:r==="category"?{scale:XF(),realScaleType:"band"}:{scale:QF(),realScaleType:"linear"};if(MN(i)){var s="scale".concat(Aee(i));return{scale:(Bze[s]||HC)(),realScaleType:Bze[s]?s:"point"}}return Aa(i)?{scale:i}:{scale:HC(),realScaleType:"point"}},Jze=1e-4,Ebo=function(e){var n=e.domain();if(!(!n||n.length<=2)){var o=n.length,i=e.range(),r=Math.min(i[0],i[1])-Jze,a=Math.max(i[0],i[1])+Jze,l=e(n[0]),s=e(n[o-1]);(la||sa)&&e.domain([n[0],n[o-1]])}},kbo=function(e,n){if(!e)return null;for(var o=0,i=e.length;oi)&&(r[1]=i),r[0]>i&&(r[0]=i),r[1]=0?(e[l][o][0]=r,e[l][o][1]=r+s,r=e[l][o][1]):(e[l][o][0]=a,e[l][o][1]=a+s,a=e[l][o][1])}},Wbo=function(e){var n=e.length;if(!(n<=0))for(var o=0,i=e[0].length;o=0?(e[a][o][0]=r,e[a][o][1]=r+l,r=e[a][o][1]):(e[a][o][0]=0,e[a][o][1]=0)}},Nbo={sign:Lbo,expand:P6o,none:YR,silhouette:C6o,wiggle:R6o,positive:Wbo},Ubo=function(e,n,o){var i=n.map(function(l){return l.props.dataKey}),r=Nbo[o],a=T6o().keys(i).value(function(l,s){return+Uu(l,s,0)}).order(Cfe).offset(r);return a(e)},Bbo=function(e,n,o,i,r,a){if(!e)return null;var l=a?n.reverse():n,s={},c=l.reduce(function(d,f){var p=f.props,g=p.stackId,y=p.hide;if(y)return d;var A=f.props[o],x=d[A]||{hasStack:!1,stackGroups:{}};if(Lu(g)){var C=x.stackGroups[g]||{numericAxisId:o,cateAxisId:i,items:[]};C.items.push(f),x.hasStack=!0,x.stackGroups[g]=C}else x.stackGroups[oS("_stackId_")]={numericAxisId:o,cateAxisId:i,items:[f]};return Tm(Tm({},d),{},IC({},A,x))},s),u={};return Object.keys(c).reduce(function(d,f){var p=c[f];if(p.hasStack){var g={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(y,A){var x=p.stackGroups[A];return Tm(Tm({},y),{},IC({},A,{numericAxisId:o,cateAxisId:i,items:x.items,stackedData:Ubo(e,x.items,r)}))},g)}return Tm(Tm({},d),{},IC({},f,p))},u)},jbo=function(e,n){var o=n.realScaleType,i=n.type,r=n.tickCount,a=n.originalDomain,l=n.allowDecimals,s=o||n.scale;if(s!=="auto"&&s!=="linear")return null;if(r&&i==="number"&&a&&(a[0]==="auto"||a[1]==="auto")){var c=e.domain();if(!c.length)return null;var u=abo(c,r,l);return e.domain([Dee(u),ww(u)]),{niceTicks:u}}if(r&&i==="number"){var d=e.domain(),f=lbo(d,r,l);return{niceTicks:f}}return null};function qR(t){var e=t.axis,n=t.ticks,o=t.bandSize,i=t.entry,r=t.index,a=t.dataKey;if(e.type==="category"){if(!e.allowDuplicatedCategory&&e.dataKey&&!ra(i[e.dataKey])){var l=iJ(n,"value",i[e.dataKey]);if(l)return l.coordinate+o/2}return n[r]?n[r].coordinate+o/2:null}var s=Uu(i,ra(a)?e.dataKey:a);return ra(s)?null:e.scale(s)}var Kze=function(e){var n=e.axis,o=e.ticks,i=e.offset,r=e.bandSize,a=e.entry,l=e.index;if(n.type==="category")return o[l]?o[l].coordinate+i:null;var s=Uu(a,n.dataKey,n.domain[l]);return ra(s)?null:n.scale(s)-r/2+i},Ybo=function(e){var n=e.numericAxis,o=n.scale.domain();if(n.type==="number"){var i=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);return i<=0&&r>=0?0:r<0?r:i}return o[0]},Obo=function(e,n){var o=e.props.stackId;if(Lu(o)){var i=n[o];if(i){var r=i.items.indexOf(e);return r>=0?i.stackedData[r]:null}}return null},_bo=function(e){return e.reduce(function(n,o){return[Dee(o.concat([n[0]]).filter(si)),ww(o.concat([n[1]]).filter(si))]},[1/0,-1/0])},olt=function(e,n,o){return Object.keys(e).reduce(function(i,r){var a=e[r],l=a.stackedData,s=l.reduce(function(c,u){var d=_bo(u.slice(n,o+1));return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);return[Math.min(s[0],i[0]),Math.max(s[1],i[1])]},[1/0,-1/0]).map(function(i){return i===1/0||i===-1/0?0:i})},qze=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,$ze=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,$fe=function(e,n,o){if(Aa(e))return e(n,o);if(!Array.isArray(e))return n;var i=[];if(si(e[0]))i[0]=o?e[0]:Math.min(e[0],n[0]);else if(qze.test(e[0])){var r=+qze.exec(e[0])[1];i[0]=n[0]-r}else Aa(e[0])?i[0]=e[0](n[0]):i[0]=n[0];if(si(e[1]))i[1]=o?e[1]:Math.max(e[1],n[1]);else if($ze.test(e[1])){var a=+$ze.exec(e[1])[1];i[1]=n[1]+a}else Aa(e[1])?i[1]=e[1](n[1]):i[1]=n[1];return i},HJ=function(e,n,o){if(e&&e.scale&&e.scale.bandwidth){var i=e.scale.bandwidth();if(!o||i>0)return i}if(e&&n&&n.length>=2){for(var r=$9e(n,function(d){return d.coordinate}),a=1/0,l=1,s=r.length;la&&(c=2*Math.PI-c),{radius:l,angle:Jbo(c),angleInRadian:c}},$bo=function(e){var n=e.startAngle,o=e.endAngle,i=Math.floor(n/360),r=Math.floor(o/360),a=Math.min(i,r);return{startAngle:n-a*360,endAngle:o-a*360}},Qbo=function(e,n){var o=n.startAngle,i=n.endAngle,r=Math.floor(o/360),a=Math.floor(i/360),l=Math.min(r,a);return e+l*360},tDe=function(e,n){var o=e.x,i=e.y,r=qbo({x:o,y:i},n),a=r.radius,l=r.angle,s=n.innerRadius,c=n.outerRadius;if(ac)return!1;if(a===0)return!0;var u=$bo(n),d=u.startAngle,f=u.endAngle,p=l,g;if(d<=f){for(;p>f;)p-=360;for(;p=d&&p<=f}else{for(;p>d;)p-=360;for(;p=f&&p<=d}return g?eDe(eDe({},n),{},{radius:a,angle:Qbo(p,n)}):null};function iL(t){"@babel/helpers - typeof";return iL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iL(t)}var Zbo=["offset"];function eSo(t){return iSo(t)||oSo(t)||nSo(t)||tSo()}function tSo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nSo(t,e){if(t){if(typeof t=="string")return Qfe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Qfe(t,e)}}function oSo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function iSo(t){if(Array.isArray(t))return Qfe(t)}function Qfe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function aSo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function nDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Cu(t){for(var e=1;e=0?1:-1,b,v;i==="insideStart"?(b=p+C*a,v=y):i==="insideEnd"?(b=g-C*a,v=!y):i==="end"&&(b=g+C*a,v=y),v=x<=0?v:!v;var S=af(c,u,A,b),w=af(c,u,A,b+(v?1:-1)*359),T="M".concat(S.x,",").concat(S.y,` A`).concat(A,",").concat(A,",0,1,").concat(v?0:1,`, - `).concat(w.x,",").concat(w.y),P=ra(e.id)?oS("recharts-radial-line-"):e.id;return Se.createElement("text",rL({},o,{dominantBaseline:"central",className:cl("recharts-radial-bar-label",l)}),Se.createElement("defs",null,Se.createElement("path",{id:P,d:T})),Se.createElement("textPath",{xlinkHref:"#".concat(P)},n))},gSo=function(e){var n=e.viewBox,o=e.offset,i=e.position,r=n,a=r.cx,l=r.cy,s=r.innerRadius,c=r.outerRadius,u=r.startAngle,d=r.endAngle,f=(u+d)/2;if(i==="outside"){var p=af(a,l,c+o,f),g=p.x,y=p.y;return{x:g,y,textAnchor:g>=a?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"end"};var A=(s+c)/2,x=af(a,l,A,f),C=x.x,b=x.y;return{x:C,y:b,textAnchor:"middle",verticalAnchor:"middle"}},mSo=function(e){var n=e.viewBox,o=e.parentViewBox,i=e.offset,r=e.position,a=n,l=a.x,s=a.y,c=a.width,u=a.height,d=u>=0?1:-1,f=d*i,p=d>0?"end":"start",g=d>0?"start":"end",y=c>=0?1:-1,A=y*i,x=y>0?"end":"start",C=y>0?"start":"end";if(r==="top"){var b={x:l+c/2,y:s-d*i,textAnchor:"middle",verticalAnchor:p};return Cu(Cu({},b),o?{height:Math.max(s-o.y,0),width:c}:{})}if(r==="bottom"){var v={x:l+c/2,y:s+u+f,textAnchor:"middle",verticalAnchor:g};return Cu(Cu({},v),o?{height:Math.max(o.y+o.height-(s+u),0),width:c}:{})}if(r==="left"){var S={x:l-A,y:s+u/2,textAnchor:x,verticalAnchor:"middle"};return Cu(Cu({},S),o?{width:Math.max(S.x-o.x,0),height:u}:{})}if(r==="right"){var w={x:l+c+A,y:s+u/2,textAnchor:C,verticalAnchor:"middle"};return Cu(Cu({},w),o?{width:Math.max(o.x+o.width-w.x,0),height:u}:{})}var T=o?{width:c,height:u}:{};return r==="insideLeft"?Cu({x:l+A,y:s+u/2,textAnchor:C,verticalAnchor:"middle"},T):r==="insideRight"?Cu({x:l+c-A,y:s+u/2,textAnchor:x,verticalAnchor:"middle"},T):r==="insideTop"?Cu({x:l+c/2,y:s+f,textAnchor:"middle",verticalAnchor:g},T):r==="insideBottom"?Cu({x:l+c/2,y:s+u-f,textAnchor:"middle",verticalAnchor:p},T):r==="insideTopLeft"?Cu({x:l+A,y:s+f,textAnchor:C,verticalAnchor:g},T):r==="insideTopRight"?Cu({x:l+c-A,y:s+f,textAnchor:x,verticalAnchor:g},T):r==="insideBottomLeft"?Cu({x:l+A,y:s+u-f,textAnchor:C,verticalAnchor:p},T):r==="insideBottomRight"?Cu({x:l+c-A,y:s+u-f,textAnchor:x,verticalAnchor:p},T):tM(r)&&(si(r.x)||Xv(r.x))&&(si(r.y)||Xv(r.y))?Cu({x:l+ab(r.x,c),y:s+ab(r.y,u),textAnchor:"end",verticalAnchor:"end"},T):Cu({x:l+c/2,y:s+u/2,textAnchor:"middle",verticalAnchor:"middle"},T)},ySo=function(e){return"cx"in e&&si(e.cx)};function Zl(t){var e=t.offset,n=e===void 0?5:e,o=lSo(t,tSo),i=Cu({offset:n},o),r=i.viewBox,a=i.position,l=i.value,s=i.children,c=i.content,u=i.className,d=u===void 0?"":u,f=i.textBreakAll;if(!r||ra(l)&&ra(s)&&!m.isValidElement(c)&&!Aa(c))return null;if(m.isValidElement(c))return m.cloneElement(c,i);var p;if(Aa(c)){if(p=m.createElement(c,i),m.isValidElement(p))return p}else p=fSo(i);var g=ySo(r),y=oa(i,!0);if(g&&(a==="insideStart"||a==="insideEnd"||a==="end"))return pSo(i,p,y);var A=g?gSo(i):mSo(i);return Se.createElement(mJ,rL({className:cl("recharts-label",d)},y,A,{breakAll:f}),p)}Zl.displayName="Label";var rlt=function(e){var n=e.cx,o=e.cy,i=e.angle,r=e.startAngle,a=e.endAngle,l=e.r,s=e.radius,c=e.innerRadius,u=e.outerRadius,d=e.x,f=e.y,p=e.top,g=e.left,y=e.width,A=e.height,x=e.clockWise,C=e.labelViewBox;if(C)return C;if(si(y)&&si(A)){if(si(d)&&si(f))return{x:d,y:f,width:y,height:A};if(si(p)&&si(g))return{x:p,y:g,width:y,height:A}}return si(d)&&si(f)?{x:d,y:f,width:0,height:0}:si(n)&&si(o)?{cx:n,cy:o,startAngle:r||i||0,endAngle:a||i||0,innerRadius:c||0,outerRadius:u||s||l||0,clockWise:x}:e.viewBox?e.viewBox:{}},ASo=function(e,n){return e?e===!0?Se.createElement(Zl,{key:"label-implicit",viewBox:n}):Lu(e)?Se.createElement(Zl,{key:"label-implicit",viewBox:n,value:e}):m.isValidElement(e)?e.type===Zl?m.cloneElement(e,{key:"label-implicit",viewBox:n}):Se.createElement(Zl,{key:"label-implicit",content:e,viewBox:n}):Aa(e)?Se.createElement(Zl,{key:"label-implicit",content:e,viewBox:n}):tM(e)?Se.createElement(Zl,rL({viewBox:n},e,{key:"label-implicit"})):null:null},wSo=function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&o&&!e.label)return null;var i=e.children,r=rlt(e),a=Kp(i,Zl).map(function(s,c){return m.cloneElement(s,{viewBox:n||r,key:"label-".concat(c)})});if(!o)return a;var l=ASo(e.label,n||r);return[l].concat(nSo(a))};Zl.parseViewBox=rlt;Zl.renderCallByParent=wSo;function vSo(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var xSo=vSo;const bSo=kr(xSo);function aL(t){"@babel/helpers - typeof";return aL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},aL(t)}var SSo=["valueAccessor"],TSo=["data","dataKey","clockWise","id","textBreakAll"];function PSo(t){return MSo(t)||HSo(t)||RSo(t)||CSo()}function CSo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function RSo(t,e){if(t){if(typeof t=="string")return Zfe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Zfe(t,e)}}function HSo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function MSo(t){if(Array.isArray(t))return Zfe(t)}function Zfe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function ESo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var kSo=function(e){return Array.isArray(e.value)?bSo(e.value):e.value};function P9(t){var e=t.valueAccessor,n=e===void 0?kSo:e,o=rDe(t,SSo),i=o.data,r=o.dataKey,a=o.clockWise,l=o.id,s=o.textBreakAll,c=rDe(o,TSo);return!i||!i.length?null:Se.createElement(Bl,{className:"recharts-label-list"},i.map(function(u,d){var f=ra(r)?n(u,d):Uu(u&&u.payload,r),p=ra(l)?{}:{id:"".concat(l,"-").concat(d)};return Se.createElement(Zl,IJ({},oa(u,!0),c,p,{parentViewBox:u.parentViewBox,value:f,textBreakAll:s,viewBox:Zl.parseViewBox(ra(a)?u:iDe(iDe({},u),{},{clockWise:a})),key:"label-".concat(d),index:d}))}))}P9.displayName="LabelList";function FSo(t,e){return t?t===!0?Se.createElement(P9,{key:"labelList-implicit",data:e}):Se.isValidElement(t)||Aa(t)?Se.createElement(P9,{key:"labelList-implicit",data:e,content:t}):tM(t)?Se.createElement(P9,IJ({data:e},t,{key:"labelList-implicit"})):null:null}function LSo(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var o=t.children,i=Kp(o,P9).map(function(a,l){return m.cloneElement(a,{data:e,key:"labelList-".concat(l)})});if(!n)return i;var r=FSo(t.label,e);return[r].concat(PSo(i))}P9.renderCallByParent=LSo;function lL(t){"@babel/helpers - typeof";return lL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lL(t)}function ehe(){return ehe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=a?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"end"};var A=(s+c)/2,x=af(a,l,A,f),C=x.x,b=x.y;return{x:C,y:b,textAnchor:"middle",verticalAnchor:"middle"}},pSo=function(e){var n=e.viewBox,o=e.parentViewBox,i=e.offset,r=e.position,a=n,l=a.x,s=a.y,c=a.width,u=a.height,d=u>=0?1:-1,f=d*i,p=d>0?"end":"start",g=d>0?"start":"end",y=c>=0?1:-1,A=y*i,x=y>0?"end":"start",C=y>0?"start":"end";if(r==="top"){var b={x:l+c/2,y:s-d*i,textAnchor:"middle",verticalAnchor:p};return Cu(Cu({},b),o?{height:Math.max(s-o.y,0),width:c}:{})}if(r==="bottom"){var v={x:l+c/2,y:s+u+f,textAnchor:"middle",verticalAnchor:g};return Cu(Cu({},v),o?{height:Math.max(o.y+o.height-(s+u),0),width:c}:{})}if(r==="left"){var S={x:l-A,y:s+u/2,textAnchor:x,verticalAnchor:"middle"};return Cu(Cu({},S),o?{width:Math.max(S.x-o.x,0),height:u}:{})}if(r==="right"){var w={x:l+c+A,y:s+u/2,textAnchor:C,verticalAnchor:"middle"};return Cu(Cu({},w),o?{width:Math.max(o.x+o.width-w.x,0),height:u}:{})}var T=o?{width:c,height:u}:{};return r==="insideLeft"?Cu({x:l+A,y:s+u/2,textAnchor:C,verticalAnchor:"middle"},T):r==="insideRight"?Cu({x:l+c-A,y:s+u/2,textAnchor:x,verticalAnchor:"middle"},T):r==="insideTop"?Cu({x:l+c/2,y:s+f,textAnchor:"middle",verticalAnchor:g},T):r==="insideBottom"?Cu({x:l+c/2,y:s+u-f,textAnchor:"middle",verticalAnchor:p},T):r==="insideTopLeft"?Cu({x:l+A,y:s+f,textAnchor:C,verticalAnchor:g},T):r==="insideTopRight"?Cu({x:l+c-A,y:s+f,textAnchor:x,verticalAnchor:g},T):r==="insideBottomLeft"?Cu({x:l+A,y:s+u-f,textAnchor:C,verticalAnchor:p},T):r==="insideBottomRight"?Cu({x:l+c-A,y:s+u-f,textAnchor:x,verticalAnchor:p},T):tM(r)&&(si(r.x)||Xv(r.x))&&(si(r.y)||Xv(r.y))?Cu({x:l+ab(r.x,c),y:s+ab(r.y,u),textAnchor:"end",verticalAnchor:"end"},T):Cu({x:l+c/2,y:s+u/2,textAnchor:"middle",verticalAnchor:"middle"},T)},gSo=function(e){return"cx"in e&&si(e.cx)};function Zl(t){var e=t.offset,n=e===void 0?5:e,o=rSo(t,Zbo),i=Cu({offset:n},o),r=i.viewBox,a=i.position,l=i.value,s=i.children,c=i.content,u=i.className,d=u===void 0?"":u,f=i.textBreakAll;if(!r||ra(l)&&ra(s)&&!m.isValidElement(c)&&!Aa(c))return null;if(m.isValidElement(c))return m.cloneElement(c,i);var p;if(Aa(c)){if(p=m.createElement(c,i),m.isValidElement(p))return p}else p=uSo(i);var g=gSo(r),y=oa(i,!0);if(g&&(a==="insideStart"||a==="insideEnd"||a==="end"))return fSo(i,p,y);var A=g?hSo(i):pSo(i);return Se.createElement(mJ,rL({className:cl("recharts-label",d)},y,A,{breakAll:f}),p)}Zl.displayName="Label";var rlt=function(e){var n=e.cx,o=e.cy,i=e.angle,r=e.startAngle,a=e.endAngle,l=e.r,s=e.radius,c=e.innerRadius,u=e.outerRadius,d=e.x,f=e.y,p=e.top,g=e.left,y=e.width,A=e.height,x=e.clockWise,C=e.labelViewBox;if(C)return C;if(si(y)&&si(A)){if(si(d)&&si(f))return{x:d,y:f,width:y,height:A};if(si(p)&&si(g))return{x:p,y:g,width:y,height:A}}return si(d)&&si(f)?{x:d,y:f,width:0,height:0}:si(n)&&si(o)?{cx:n,cy:o,startAngle:r||i||0,endAngle:a||i||0,innerRadius:c||0,outerRadius:u||s||l||0,clockWise:x}:e.viewBox?e.viewBox:{}},mSo=function(e,n){return e?e===!0?Se.createElement(Zl,{key:"label-implicit",viewBox:n}):Lu(e)?Se.createElement(Zl,{key:"label-implicit",viewBox:n,value:e}):m.isValidElement(e)?e.type===Zl?m.cloneElement(e,{key:"label-implicit",viewBox:n}):Se.createElement(Zl,{key:"label-implicit",content:e,viewBox:n}):Aa(e)?Se.createElement(Zl,{key:"label-implicit",content:e,viewBox:n}):tM(e)?Se.createElement(Zl,rL({viewBox:n},e,{key:"label-implicit"})):null:null},ySo=function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&o&&!e.label)return null;var i=e.children,r=rlt(e),a=Kp(i,Zl).map(function(s,c){return m.cloneElement(s,{viewBox:n||r,key:"label-".concat(c)})});if(!o)return a;var l=mSo(e.label,n||r);return[l].concat(eSo(a))};Zl.parseViewBox=rlt;Zl.renderCallByParent=ySo;function ASo(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var wSo=ASo;const vSo=kr(wSo);function aL(t){"@babel/helpers - typeof";return aL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},aL(t)}var xSo=["valueAccessor"],bSo=["data","dataKey","clockWise","id","textBreakAll"];function SSo(t){return RSo(t)||CSo(t)||PSo(t)||TSo()}function TSo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function PSo(t,e){if(t){if(typeof t=="string")return Zfe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Zfe(t,e)}}function CSo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function RSo(t){if(Array.isArray(t))return Zfe(t)}function Zfe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function zSo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var DSo=function(e){return Array.isArray(e.value)?vSo(e.value):e.value};function P9(t){var e=t.valueAccessor,n=e===void 0?DSo:e,o=rDe(t,xSo),i=o.data,r=o.dataKey,a=o.clockWise,l=o.id,s=o.textBreakAll,c=rDe(o,bSo);return!i||!i.length?null:Se.createElement(Bl,{className:"recharts-label-list"},i.map(function(u,d){var f=ra(r)?n(u,d):Uu(u&&u.payload,r),p=ra(l)?{}:{id:"".concat(l,"-").concat(d)};return Se.createElement(Zl,IJ({},oa(u,!0),c,p,{parentViewBox:u.parentViewBox,value:f,textBreakAll:s,viewBox:Zl.parseViewBox(ra(a)?u:iDe(iDe({},u),{},{clockWise:a})),key:"label-".concat(d),index:d}))}))}P9.displayName="LabelList";function ESo(t,e){return t?t===!0?Se.createElement(P9,{key:"labelList-implicit",data:e}):Se.isValidElement(t)||Aa(t)?Se.createElement(P9,{key:"labelList-implicit",data:e,content:t}):tM(t)?Se.createElement(P9,IJ({data:e},t,{key:"labelList-implicit"})):null:null}function kSo(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var o=t.children,i=Kp(o,P9).map(function(a,l){return m.cloneElement(a,{data:e,key:"labelList-".concat(l)})});if(!n)return i;var r=ESo(t.label,e);return[r].concat(SSo(i))}P9.renderCallByParent=kSo;function lL(t){"@babel/helpers - typeof";return lL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lL(t)}function ehe(){return ehe=Object.assign?Object.assign.bind():function(t){for(var e=1;e180),",").concat(+(a>c),`, `).concat(d.x,",").concat(d.y,` `);if(i>0){var p=af(n,o,i,a),g=af(n,o,i,c);f+="L ".concat(g.x,",").concat(g.y,` A `).concat(i,",").concat(i,`,0, `).concat(+(Math.abs(s)>180),",").concat(+(a<=c),`, - `).concat(p.x,",").concat(p.y," Z")}else f+="L ".concat(n,",").concat(o," Z");return f},jSo=function(e){var n=e.cx,o=e.cy,i=e.innerRadius,r=e.outerRadius,a=e.cornerRadius,l=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,u=e.endAngle,d=x2(u-c),f=OO({cx:n,cy:o,radius:r,angle:c,sign:d,cornerRadius:a,cornerIsExternal:s}),p=f.circleTangency,g=f.lineTangency,y=f.theta,A=OO({cx:n,cy:o,radius:r,angle:u,sign:-d,cornerRadius:a,cornerIsExternal:s}),x=A.circleTangency,C=A.lineTangency,b=A.theta,v=s?Math.abs(c-u):Math.abs(c-u)-y-b;if(v<0)return l?"M ".concat(g.x,",").concat(g.y,` + `).concat(p.x,",").concat(p.y," Z")}else f+="L ".concat(n,",").concat(o," Z");return f},USo=function(e){var n=e.cx,o=e.cy,i=e.innerRadius,r=e.outerRadius,a=e.cornerRadius,l=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,u=e.endAngle,d=x2(u-c),f=OO({cx:n,cy:o,radius:r,angle:c,sign:d,cornerRadius:a,cornerIsExternal:s}),p=f.circleTangency,g=f.lineTangency,y=f.theta,A=OO({cx:n,cy:o,radius:r,angle:u,sign:-d,cornerRadius:a,cornerIsExternal:s}),x=A.circleTangency,C=A.lineTangency,b=A.theta,v=s?Math.abs(c-u):Math.abs(c-u)-y-b;if(v<0)return l?"M ".concat(g.x,",").concat(g.y,` a`).concat(a,",").concat(a,",0,0,1,").concat(a*2,`,0 a`).concat(a,",").concat(a,",0,0,1,").concat(-a*2,`,0 `):alt({cx:n,cy:o,innerRadius:i,outerRadius:r,startAngle:c,endAngle:u});var S="M ".concat(g.x,",").concat(g.y,` @@ -8630,14 +8630,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `);if(i>0){var w=OO({cx:n,cy:o,radius:i,angle:c,sign:d,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),T=w.circleTangency,P=w.lineTangency,R=w.theta,H=OO({cx:n,cy:o,radius:i,angle:u,sign:-d,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),D=H.circleTangency,E=H.lineTangency,L=H.theta,U=s?Math.abs(c-u):Math.abs(c-u)-R-L;if(U<0&&a===0)return"".concat(S,"L").concat(n,",").concat(o,"Z");S+="L".concat(E.x,",").concat(E.y,` A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(D.x,",").concat(D.y,` A`).concat(i,",").concat(i,",0,").concat(+(U>180),",").concat(+(d>0),",").concat(T.x,",").concat(T.y,` - A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(P.x,",").concat(P.y,"Z")}else S+="L".concat(n,",").concat(o,"Z");return S},YSo={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},llt=function(e){var n=lDe(lDe({},YSo),e),o=n.cx,i=n.cy,r=n.innerRadius,a=n.outerRadius,l=n.cornerRadius,s=n.forceCornerRadius,c=n.cornerIsExternal,u=n.startAngle,d=n.endAngle,f=n.className;if(a0&&Math.abs(u-d)<360?A=jSo({cx:o,cy:i,innerRadius:r,outerRadius:a,cornerRadius:Math.min(y,g/2),forceCornerRadius:s,cornerIsExternal:c,startAngle:u,endAngle:d}):A=alt({cx:o,cy:i,innerRadius:r,outerRadius:a,startAngle:u,endAngle:d}),Se.createElement("path",ehe({},oa(n,!0),{className:p,d:A,role:"img"}))};function sL(t){"@babel/helpers - typeof";return sL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sL(t)}function the(){return the=Object.assign?Object.assign.bind():function(t){for(var e=1;e0;)if(!n.equals(t[o],e[o],o,o,t,e,n))return!1;return!0}function QSo(t,e){return SM(t.getTime(),e.getTime())}function gDe(t,e,n){if(t.size!==e.size)return!1;for(var o={},i=t.entries(),r=0,a,l;(a=i.next())&&!a.done;){for(var s=e.entries(),c=!1,u=0;(l=s.next())&&!l.done;){var d=a.value,f=d[0],p=d[1],g=l.value,y=g[0],A=g[1];!c&&!o[u]&&(c=n.equals(f,y,r,u,t,e,n)&&n.equals(p,A,f,y,t,e,n))&&(o[u]=!0),u++}if(!c)return!1;r++}return!0}function ZSo(t,e,n){var o=pDe(t),i=o.length;if(pDe(e).length!==i)return!1;for(var r;i-- >0;)if(r=o[i],r===clt&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!slt(e,r)||!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function nD(t,e,n){var o=fDe(t),i=o.length;if(fDe(e).length!==i)return!1;for(var r,a,l;i-- >0;)if(r=o[i],r===clt&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!slt(e,r)||!n.equals(t[r],e[r],r,r,t,e,n)||(a=hDe(t,r),l=hDe(e,r),(a||l)&&(!a||!l||a.configurable!==l.configurable||a.enumerable!==l.enumerable||a.writable!==l.writable)))return!1;return!0}function eTo(t,e){return SM(t.valueOf(),e.valueOf())}function tTo(t,e){return t.source===e.source&&t.flags===e.flags}function mDe(t,e,n){if(t.size!==e.size)return!1;for(var o={},i=t.values(),r,a;(r=i.next())&&!r.done;){for(var l=e.values(),s=!1,c=0;(a=l.next())&&!a.done;)!s&&!o[c]&&(s=n.equals(r.value,a.value,r.value,a.value,t,e,n))&&(o[c]=!0),c++;if(!s)return!1}return!0}function nTo(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var oTo="[object Arguments]",iTo="[object Boolean]",rTo="[object Date]",aTo="[object Map]",lTo="[object Number]",sTo="[object Object]",cTo="[object RegExp]",uTo="[object Set]",dTo="[object String]",fTo=Array.isArray,yDe=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,ADe=Object.assign,hTo=Object.prototype.toString.call.bind(Object.prototype.toString);function pTo(t){var e=t.areArraysEqual,n=t.areDatesEqual,o=t.areMapsEqual,i=t.areObjectsEqual,r=t.arePrimitiveWrappersEqual,a=t.areRegExpsEqual,l=t.areSetsEqual,s=t.areTypedArraysEqual;return function(u,d,f){if(u===d)return!0;if(u==null||d==null||typeof u!="object"||typeof d!="object")return u!==u&&d!==d;var p=u.constructor;if(p!==d.constructor)return!1;if(p===Object)return i(u,d,f);if(fTo(u))return e(u,d,f);if(yDe!=null&&yDe(u))return s(u,d,f);if(p===Date)return n(u,d,f);if(p===RegExp)return a(u,d,f);if(p===Map)return o(u,d,f);if(p===Set)return l(u,d,f);var g=hTo(u);return g===rTo?n(u,d,f):g===cTo?a(u,d,f):g===aTo?o(u,d,f):g===uTo?l(u,d,f):g===sTo?typeof u.then!="function"&&typeof d.then!="function"&&i(u,d,f):g===oTo?i(u,d,f):g===iTo||g===lTo||g===dTo?r(u,d,f):!1}}function gTo(t){var e=t.circular,n=t.createCustomConfig,o=t.strict,i={areArraysEqual:o?nD:$So,areDatesEqual:QSo,areMapsEqual:o?dDe(gDe,nD):gDe,areObjectsEqual:o?nD:ZSo,arePrimitiveWrappersEqual:eTo,areRegExpsEqual:tTo,areSetsEqual:o?dDe(mDe,nD):mDe,areTypedArraysEqual:o?nD:nTo};if(n&&(i=ADe({},i,n(i))),e){var r=VO(i.areArraysEqual),a=VO(i.areMapsEqual),l=VO(i.areObjectsEqual),s=VO(i.areSetsEqual);i=ADe({},i,{areArraysEqual:r,areMapsEqual:a,areObjectsEqual:l,areSetsEqual:s})}return i}function mTo(t){return function(e,n,o,i,r,a,l){return t(e,n,l)}}function yTo(t){var e=t.circular,n=t.comparator,o=t.createState,i=t.equals,r=t.strict;if(o)return function(s,c){var u=o(),d=u.cache,f=d===void 0?e?new WeakMap:void 0:d,p=u.meta;return n(s,c,{cache:f,equals:i,meta:p,strict:r})};if(e)return function(s,c){return n(s,c,{cache:new WeakMap,equals:i,meta:void 0,strict:r})};var a={cache:void 0,equals:i,meta:void 0,strict:r};return function(s,c){return n(s,c,a)}}var ATo=q7();q7({strict:!0});q7({circular:!0});q7({circular:!0,strict:!0});q7({createInternalComparator:function(){return SM}});q7({strict:!0,createInternalComparator:function(){return SM}});q7({circular:!0,createInternalComparator:function(){return SM}});q7({circular:!0,createInternalComparator:function(){return SM},strict:!0});function q7(t){t===void 0&&(t={});var e=t.circular,n=e===void 0?!1:e,o=t.createInternalComparator,i=t.createState,r=t.strict,a=r===void 0?!1:r,l=gTo(t),s=pTo(l),c=o?o(s):mTo(s);return yTo({circular:n,comparator:s,createState:i,equals:c,strict:a})}function wTo(t){typeof requestAnimationFrame<"u"&&requestAnimationFrame(t)}function wDe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,o=function i(r){n<0&&(n=r),r-n>e?(t(r),n=-1):wTo(i)};requestAnimationFrame(o)}function nhe(t){"@babel/helpers - typeof";return nhe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nhe(t)}function vTo(t){return TTo(t)||STo(t)||bTo(t)||xTo()}function xTo(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bTo(t,e){if(t){if(typeof t=="string")return vDe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vDe(t,e)}}function vDe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n1?1:x<0?0:x},y=function(x){for(var C=x>1?1:x,b=C,v=0;v<8;++v){var S=d(b)-C,w=p(b);if(Math.abs(S-C)0&&arguments[0]!==void 0?arguments[0]:{},n=e.stiff,o=n===void 0?100:n,i=e.damping,r=i===void 0?8:i,a=e.dt,l=a===void 0?17:a,s=function(u,d,f){var p=-(u-d)*o,g=f*r,y=f+(p-g)*l/1e3,A=f*l/1e3+u;return Math.abs(A-d)t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function tPo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function Zae(t){return rPo(t)||iPo(t)||oPo(t)||nPo()}function nPo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oPo(t,e){if(t){if(typeof t=="string")return lhe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lhe(t,e)}}function iPo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function rPo(t){if(Array.isArray(t))return lhe(t)}function lhe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function EJ(t){return EJ=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},EJ(t)}var Y2=function(t){uPo(n,t);var e=dPo(n);function n(o,i){var r;aPo(this,n),r=e.call(this,o,i);var a=r.props,l=a.isActive,s=a.attributeName,c=a.from,u=a.to,d=a.steps,f=a.children,p=a.duration;if(r.handleStyleChange=r.handleStyleChange.bind(uhe(r)),r.changeStyle=r.changeStyle.bind(uhe(r)),!l||p<=0)return r.state={style:{}},typeof f=="function"&&(r.state={style:u}),che(r);if(d&&d.length)r.state={style:d[0].style};else if(c){if(typeof f=="function")return r.state={style:c},che(r);r.state={style:s?LD({},s,c):c}}else r.state={style:{}};return r}return sPo(n,[{key:"componentDidMount",value:function(){var i=this.props,r=i.isActive,a=i.canBegin;this.mounted=!0,!(!r||!a)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var r=this.props,a=r.isActive,l=r.canBegin,s=r.attributeName,c=r.shouldReAnimate,u=r.to,d=r.from,f=this.state.style;if(l){if(!a){var p={style:s?LD({},s,u):u};this.state&&f&&(s&&f[s]!==u||!s&&f!==u)&&this.setState(p);return}if(!(ATo(i.to,u)&&i.canBegin&&i.isActive)){var g=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var y=g||c?d:i.to;if(this.state&&f){var A={style:s?LD({},s,y):y};(s&&f[s]!==y||!s&&f!==y)&&this.setState(A)}this.runAnimation(Oy(Oy({},this.props),{},{from:y,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i){var r=this,a=i.from,l=i.to,s=i.duration,c=i.easing,u=i.begin,d=i.onAnimationEnd,f=i.onAnimationStart,p=QTo(a,l,jTo(c),s,this.changeStyle),g=function(){r.stopJSAnimation=p()};this.manager.start([f,u,g,s,d])}},{key:"runStepAnimation",value:function(i){var r=this,a=i.steps,l=i.begin,s=i.onAnimationStart,c=a[0],u=c.style,d=c.duration,f=d===void 0?0:d,p=function(y,A,x){if(x===0)return y;var C=A.duration,b=A.easing,v=b===void 0?"ease":b,S=A.style,w=A.properties,T=A.onAnimationEnd,P=x>0?a[x-1]:A,R=w||Object.keys(S);if(typeof v=="function"||v==="spring")return[].concat(Zae(y),[r.runJSAnimation.bind(r,{from:P.style,to:S,duration:C,easing:v}),C]);var H=SDe(R,C,v),D=Oy(Oy(Oy({},P.style),S),{},{transition:H});return[].concat(Zae(y),[D,C,T]).filter(MTo)};return this.manager.start([s].concat(Zae(a.reduce(p,[u,Math.max(f,l)])),[i.onAnimationEnd]))}},{key:"runAnimation",value:function(i){this.manager||(this.manager=PTo());var r=i.begin,a=i.duration,l=i.attributeName,s=i.to,c=i.easing,u=i.onAnimationStart,d=i.onAnimationEnd,f=i.steps,p=i.children,g=this.manager;if(this.unSubscribe=g.subscribe(this.handleStyleChange),typeof c=="function"||typeof p=="function"||c==="spring"){this.runJSAnimation(i);return}if(f.length>1){this.runStepAnimation(i);return}var y=l?LD({},l,s):s,A=SDe(Object.keys(y),a,c);g.start([u,r,Oy(Oy({},y),{},{transition:A}),a,d])}},{key:"render",value:function(){var i=this.props,r=i.children;i.begin;var a=i.duration;i.attributeName,i.easing;var l=i.isActive;i.steps,i.from,i.to,i.canBegin,i.onAnimationEnd,i.shouldReAnimate,i.onAnimationReStart;var s=ePo(i,ZTo),c=m.Children.count(r),u=this.state.style;if(typeof r=="function")return r(u);if(!l||c===0||a<=0)return r;var d=function(p){var g=p.props,y=g.style,A=y===void 0?{}:y,x=g.className,C=m.cloneElement(p,Oy(Oy({},s),{},{style:Oy(Oy({},A),u),className:x}));return C};return c===1?d(m.Children.only(r)):Se.createElement("div",null,m.Children.map(r,function(f){return d(f)}))}}]),n}(m.PureComponent);Y2.displayName="Animate";Y2.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Y2.propTypes={from:fo.oneOfType([fo.object,fo.string]),to:fo.oneOfType([fo.object,fo.string]),attributeName:fo.string,duration:fo.number,begin:fo.number,easing:fo.oneOfType([fo.string,fo.func]),steps:fo.arrayOf(fo.shape({duration:fo.number.isRequired,style:fo.object.isRequired,easing:fo.oneOfType([fo.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),fo.func]),properties:fo.arrayOf("string"),onAnimationEnd:fo.func})),children:fo.oneOfType([fo.node,fo.func]),isActive:fo.bool,canBegin:fo.bool,onAnimationEnd:fo.func,shouldReAnimate:fo.bool,onAnimationStart:fo.func,onAnimationReStart:fo.func};fo.object,fo.object,fo.object,fo.element;fo.object,fo.object,fo.object,fo.oneOfType([fo.array,fo.element]),fo.any;function dL(t){"@babel/helpers - typeof";return dL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dL(t)}function kJ(){return kJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0?1:-1,s=o>=0?1:-1,c=i>=0&&o>=0||i<0&&o<0?1:0,u;if(a>0&&r instanceof Array){for(var d=[0,0,0,0],f=0,p=4;fa?a:r[f];u="M".concat(e,",").concat(n+l*d[0]),d[0]>0&&(u+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(c,",").concat(e+s*d[0],",").concat(n)),u+="L ".concat(e+o-s*d[1],",").concat(n),d[1]>0&&(u+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(c,`, + A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(P.x,",").concat(P.y,"Z")}else S+="L".concat(n,",").concat(o,"Z");return S},BSo={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},llt=function(e){var n=lDe(lDe({},BSo),e),o=n.cx,i=n.cy,r=n.innerRadius,a=n.outerRadius,l=n.cornerRadius,s=n.forceCornerRadius,c=n.cornerIsExternal,u=n.startAngle,d=n.endAngle,f=n.className;if(a0&&Math.abs(u-d)<360?A=USo({cx:o,cy:i,innerRadius:r,outerRadius:a,cornerRadius:Math.min(y,g/2),forceCornerRadius:s,cornerIsExternal:c,startAngle:u,endAngle:d}):A=alt({cx:o,cy:i,innerRadius:r,outerRadius:a,startAngle:u,endAngle:d}),Se.createElement("path",ehe({},oa(n,!0),{className:p,d:A,role:"img"}))};function sL(t){"@babel/helpers - typeof";return sL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sL(t)}function the(){return the=Object.assign?Object.assign.bind():function(t){for(var e=1;e0;)if(!n.equals(t[o],e[o],o,o,t,e,n))return!1;return!0}function qSo(t,e){return SM(t.getTime(),e.getTime())}function gDe(t,e,n){if(t.size!==e.size)return!1;for(var o={},i=t.entries(),r=0,a,l;(a=i.next())&&!a.done;){for(var s=e.entries(),c=!1,u=0;(l=s.next())&&!l.done;){var d=a.value,f=d[0],p=d[1],g=l.value,y=g[0],A=g[1];!c&&!o[u]&&(c=n.equals(f,y,r,u,t,e,n)&&n.equals(p,A,f,y,t,e,n))&&(o[u]=!0),u++}if(!c)return!1;r++}return!0}function $So(t,e,n){var o=pDe(t),i=o.length;if(pDe(e).length!==i)return!1;for(var r;i-- >0;)if(r=o[i],r===clt&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!slt(e,r)||!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function nD(t,e,n){var o=fDe(t),i=o.length;if(fDe(e).length!==i)return!1;for(var r,a,l;i-- >0;)if(r=o[i],r===clt&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!slt(e,r)||!n.equals(t[r],e[r],r,r,t,e,n)||(a=hDe(t,r),l=hDe(e,r),(a||l)&&(!a||!l||a.configurable!==l.configurable||a.enumerable!==l.enumerable||a.writable!==l.writable)))return!1;return!0}function QSo(t,e){return SM(t.valueOf(),e.valueOf())}function ZSo(t,e){return t.source===e.source&&t.flags===e.flags}function mDe(t,e,n){if(t.size!==e.size)return!1;for(var o={},i=t.values(),r,a;(r=i.next())&&!r.done;){for(var l=e.values(),s=!1,c=0;(a=l.next())&&!a.done;)!s&&!o[c]&&(s=n.equals(r.value,a.value,r.value,a.value,t,e,n))&&(o[c]=!0),c++;if(!s)return!1}return!0}function eTo(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var tTo="[object Arguments]",nTo="[object Boolean]",oTo="[object Date]",iTo="[object Map]",rTo="[object Number]",aTo="[object Object]",lTo="[object RegExp]",sTo="[object Set]",cTo="[object String]",uTo=Array.isArray,yDe=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,ADe=Object.assign,dTo=Object.prototype.toString.call.bind(Object.prototype.toString);function fTo(t){var e=t.areArraysEqual,n=t.areDatesEqual,o=t.areMapsEqual,i=t.areObjectsEqual,r=t.arePrimitiveWrappersEqual,a=t.areRegExpsEqual,l=t.areSetsEqual,s=t.areTypedArraysEqual;return function(u,d,f){if(u===d)return!0;if(u==null||d==null||typeof u!="object"||typeof d!="object")return u!==u&&d!==d;var p=u.constructor;if(p!==d.constructor)return!1;if(p===Object)return i(u,d,f);if(uTo(u))return e(u,d,f);if(yDe!=null&&yDe(u))return s(u,d,f);if(p===Date)return n(u,d,f);if(p===RegExp)return a(u,d,f);if(p===Map)return o(u,d,f);if(p===Set)return l(u,d,f);var g=dTo(u);return g===oTo?n(u,d,f):g===lTo?a(u,d,f):g===iTo?o(u,d,f):g===sTo?l(u,d,f):g===aTo?typeof u.then!="function"&&typeof d.then!="function"&&i(u,d,f):g===tTo?i(u,d,f):g===nTo||g===rTo||g===cTo?r(u,d,f):!1}}function hTo(t){var e=t.circular,n=t.createCustomConfig,o=t.strict,i={areArraysEqual:o?nD:KSo,areDatesEqual:qSo,areMapsEqual:o?dDe(gDe,nD):gDe,areObjectsEqual:o?nD:$So,arePrimitiveWrappersEqual:QSo,areRegExpsEqual:ZSo,areSetsEqual:o?dDe(mDe,nD):mDe,areTypedArraysEqual:o?nD:eTo};if(n&&(i=ADe({},i,n(i))),e){var r=VO(i.areArraysEqual),a=VO(i.areMapsEqual),l=VO(i.areObjectsEqual),s=VO(i.areSetsEqual);i=ADe({},i,{areArraysEqual:r,areMapsEqual:a,areObjectsEqual:l,areSetsEqual:s})}return i}function pTo(t){return function(e,n,o,i,r,a,l){return t(e,n,l)}}function gTo(t){var e=t.circular,n=t.comparator,o=t.createState,i=t.equals,r=t.strict;if(o)return function(s,c){var u=o(),d=u.cache,f=d===void 0?e?new WeakMap:void 0:d,p=u.meta;return n(s,c,{cache:f,equals:i,meta:p,strict:r})};if(e)return function(s,c){return n(s,c,{cache:new WeakMap,equals:i,meta:void 0,strict:r})};var a={cache:void 0,equals:i,meta:void 0,strict:r};return function(s,c){return n(s,c,a)}}var mTo=q7();q7({strict:!0});q7({circular:!0});q7({circular:!0,strict:!0});q7({createInternalComparator:function(){return SM}});q7({strict:!0,createInternalComparator:function(){return SM}});q7({circular:!0,createInternalComparator:function(){return SM}});q7({circular:!0,createInternalComparator:function(){return SM},strict:!0});function q7(t){t===void 0&&(t={});var e=t.circular,n=e===void 0?!1:e,o=t.createInternalComparator,i=t.createState,r=t.strict,a=r===void 0?!1:r,l=hTo(t),s=fTo(l),c=o?o(s):pTo(s);return gTo({circular:n,comparator:s,createState:i,equals:c,strict:a})}function yTo(t){typeof requestAnimationFrame<"u"&&requestAnimationFrame(t)}function wDe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,o=function i(r){n<0&&(n=r),r-n>e?(t(r),n=-1):yTo(i)};requestAnimationFrame(o)}function nhe(t){"@babel/helpers - typeof";return nhe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nhe(t)}function ATo(t){return bTo(t)||xTo(t)||vTo(t)||wTo()}function wTo(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vTo(t,e){if(t){if(typeof t=="string")return vDe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vDe(t,e)}}function vDe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n1?1:x<0?0:x},y=function(x){for(var C=x>1?1:x,b=C,v=0;v<8;++v){var S=d(b)-C,w=p(b);if(Math.abs(S-C)0&&arguments[0]!==void 0?arguments[0]:{},n=e.stiff,o=n===void 0?100:n,i=e.damping,r=i===void 0?8:i,a=e.dt,l=a===void 0?17:a,s=function(u,d,f){var p=-(u-d)*o,g=f*r,y=f+(p-g)*l/1e3,A=f*l/1e3+u;return Math.abs(A-d)t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function ZTo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function Zae(t){return oPo(t)||nPo(t)||tPo(t)||ePo()}function ePo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tPo(t,e){if(t){if(typeof t=="string")return lhe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lhe(t,e)}}function nPo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function oPo(t){if(Array.isArray(t))return lhe(t)}function lhe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function EJ(t){return EJ=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},EJ(t)}var Y2=function(t){sPo(n,t);var e=cPo(n);function n(o,i){var r;iPo(this,n),r=e.call(this,o,i);var a=r.props,l=a.isActive,s=a.attributeName,c=a.from,u=a.to,d=a.steps,f=a.children,p=a.duration;if(r.handleStyleChange=r.handleStyleChange.bind(uhe(r)),r.changeStyle=r.changeStyle.bind(uhe(r)),!l||p<=0)return r.state={style:{}},typeof f=="function"&&(r.state={style:u}),che(r);if(d&&d.length)r.state={style:d[0].style};else if(c){if(typeof f=="function")return r.state={style:c},che(r);r.state={style:s?LD({},s,c):c}}else r.state={style:{}};return r}return aPo(n,[{key:"componentDidMount",value:function(){var i=this.props,r=i.isActive,a=i.canBegin;this.mounted=!0,!(!r||!a)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var r=this.props,a=r.isActive,l=r.canBegin,s=r.attributeName,c=r.shouldReAnimate,u=r.to,d=r.from,f=this.state.style;if(l){if(!a){var p={style:s?LD({},s,u):u};this.state&&f&&(s&&f[s]!==u||!s&&f!==u)&&this.setState(p);return}if(!(mTo(i.to,u)&&i.canBegin&&i.isActive)){var g=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var y=g||c?d:i.to;if(this.state&&f){var A={style:s?LD({},s,y):y};(s&&f[s]!==y||!s&&f!==y)&&this.setState(A)}this.runAnimation(Oy(Oy({},this.props),{},{from:y,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i){var r=this,a=i.from,l=i.to,s=i.duration,c=i.easing,u=i.begin,d=i.onAnimationEnd,f=i.onAnimationStart,p=qTo(a,l,UTo(c),s,this.changeStyle),g=function(){r.stopJSAnimation=p()};this.manager.start([f,u,g,s,d])}},{key:"runStepAnimation",value:function(i){var r=this,a=i.steps,l=i.begin,s=i.onAnimationStart,c=a[0],u=c.style,d=c.duration,f=d===void 0?0:d,p=function(y,A,x){if(x===0)return y;var C=A.duration,b=A.easing,v=b===void 0?"ease":b,S=A.style,w=A.properties,T=A.onAnimationEnd,P=x>0?a[x-1]:A,R=w||Object.keys(S);if(typeof v=="function"||v==="spring")return[].concat(Zae(y),[r.runJSAnimation.bind(r,{from:P.style,to:S,duration:C,easing:v}),C]);var H=SDe(R,C,v),D=Oy(Oy(Oy({},P.style),S),{},{transition:H});return[].concat(Zae(y),[D,C,T]).filter(RTo)};return this.manager.start([s].concat(Zae(a.reduce(p,[u,Math.max(f,l)])),[i.onAnimationEnd]))}},{key:"runAnimation",value:function(i){this.manager||(this.manager=STo());var r=i.begin,a=i.duration,l=i.attributeName,s=i.to,c=i.easing,u=i.onAnimationStart,d=i.onAnimationEnd,f=i.steps,p=i.children,g=this.manager;if(this.unSubscribe=g.subscribe(this.handleStyleChange),typeof c=="function"||typeof p=="function"||c==="spring"){this.runJSAnimation(i);return}if(f.length>1){this.runStepAnimation(i);return}var y=l?LD({},l,s):s,A=SDe(Object.keys(y),a,c);g.start([u,r,Oy(Oy({},y),{},{transition:A}),a,d])}},{key:"render",value:function(){var i=this.props,r=i.children;i.begin;var a=i.duration;i.attributeName,i.easing;var l=i.isActive;i.steps,i.from,i.to,i.canBegin,i.onAnimationEnd,i.shouldReAnimate,i.onAnimationReStart;var s=QTo(i,$To),c=m.Children.count(r),u=this.state.style;if(typeof r=="function")return r(u);if(!l||c===0||a<=0)return r;var d=function(p){var g=p.props,y=g.style,A=y===void 0?{}:y,x=g.className,C=m.cloneElement(p,Oy(Oy({},s),{},{style:Oy(Oy({},A),u),className:x}));return C};return c===1?d(m.Children.only(r)):Se.createElement("div",null,m.Children.map(r,function(f){return d(f)}))}}]),n}(m.PureComponent);Y2.displayName="Animate";Y2.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Y2.propTypes={from:fo.oneOfType([fo.object,fo.string]),to:fo.oneOfType([fo.object,fo.string]),attributeName:fo.string,duration:fo.number,begin:fo.number,easing:fo.oneOfType([fo.string,fo.func]),steps:fo.arrayOf(fo.shape({duration:fo.number.isRequired,style:fo.object.isRequired,easing:fo.oneOfType([fo.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),fo.func]),properties:fo.arrayOf("string"),onAnimationEnd:fo.func})),children:fo.oneOfType([fo.node,fo.func]),isActive:fo.bool,canBegin:fo.bool,onAnimationEnd:fo.func,shouldReAnimate:fo.bool,onAnimationStart:fo.func,onAnimationReStart:fo.func};fo.object,fo.object,fo.object,fo.element;fo.object,fo.object,fo.object,fo.oneOfType([fo.array,fo.element]),fo.any;function dL(t){"@babel/helpers - typeof";return dL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dL(t)}function kJ(){return kJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0?1:-1,s=o>=0?1:-1,c=i>=0&&o>=0||i<0&&o<0?1:0,u;if(a>0&&r instanceof Array){for(var d=[0,0,0,0],f=0,p=4;fa?a:r[f];u="M".concat(e,",").concat(n+l*d[0]),d[0]>0&&(u+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(c,",").concat(e+s*d[0],",").concat(n)),u+="L ".concat(e+o-s*d[1],",").concat(n),d[1]>0&&(u+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(c,`, `).concat(e+o,",").concat(n+l*d[1])),u+="L ".concat(e+o,",").concat(n+i-l*d[2]),d[2]>0&&(u+="A ".concat(d[2],",").concat(d[2],",0,0,").concat(c,`, `).concat(e+o-s*d[2],",").concat(n+i)),u+="L ".concat(e+s*d[3],",").concat(n+i),d[3]>0&&(u+="A ".concat(d[3],",").concat(d[3],",0,0,").concat(c,`, `).concat(e,",").concat(n+i-l*d[3])),u+="Z"}else if(a>0&&r===+r&&r>0){var g=Math.min(a,r);u="M ".concat(e,",").concat(n+l*g,` @@ -8647,13 +8647,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho L `).concat(e+o,",").concat(n+i-l*g,` A `).concat(g,",").concat(g,",0,0,").concat(c,",").concat(e+o-s*g,",").concat(n+i,` L `).concat(e+s*g,",").concat(n+i,` - A `).concat(g,",").concat(g,",0,0,").concat(c,",").concat(e,",").concat(n+i-l*g," Z")}else u="M ".concat(e,",").concat(n," h ").concat(o," v ").concat(i," h ").concat(-o," Z");return u},xPo=function(e,n){if(!e||!n)return!1;var o=e.x,i=e.y,r=n.x,a=n.y,l=n.width,s=n.height;if(Math.abs(l)>0&&Math.abs(s)>0){var c=Math.min(r,r+l),u=Math.max(r,r+l),d=Math.min(a,a+s),f=Math.max(a,a+s);return o>=c&&o<=u&&i>=d&&i<=f}return!1},bPo={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},T3e=function(e){var n=zDe(zDe({},bPo),e),o=m.useRef(),i=m.useState(-1),r=hPo(i,2),a=r[0],l=r[1];m.useEffect(function(){if(o.current&&o.current.getTotalLength)try{var v=o.current.getTotalLength();v&&l(v)}catch{}},[]);var s=n.x,c=n.y,u=n.width,d=n.height,f=n.radius,p=n.className,g=n.animationEasing,y=n.animationDuration,A=n.animationBegin,x=n.isAnimationActive,C=n.isUpdateAnimationActive;if(s!==+s||c!==+c||u!==+u||d!==+d||u===0||d===0)return null;var b=cl("recharts-rectangle",p);return C?Se.createElement(Y2,{canBegin:a>0,from:{width:u,height:d,x:s,y:c},to:{width:u,height:d,x:s,y:c},duration:y,animationEasing:g,isActive:C},function(v){var S=v.width,w=v.height,T=v.x,P=v.y;return Se.createElement(Y2,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:A,duration:y,isActive:x,easing:g},Se.createElement("path",kJ({},oa(n,!0),{className:b,d:DDe(T,P,S,w,f),ref:o})))}):Se.createElement("path",kJ({},oa(n,!0),{className:b,d:DDe(s,c,u,d,f)}))};function dhe(){return dhe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function MPo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var IPo=function(e,n,o,i,r,a){return"M".concat(e,",").concat(r,"v").concat(i,"M").concat(a,",").concat(n,"h").concat(o)},zPo=function(e){var n=e.x,o=n===void 0?0:n,i=e.y,r=i===void 0?0:i,a=e.top,l=a===void 0?0:a,s=e.left,c=s===void 0?0:s,u=e.width,d=u===void 0?0:u,f=e.height,p=f===void 0?0:f,g=e.className,y=HPo(e,SPo),A=TPo({x:o,y:r,top:l,left:c,width:d,height:p},y);return!si(o)||!si(r)||!si(d)||!si(p)||!si(l)||!si(c)?null:Se.createElement("path",fhe({},oa(A,!0),{className:cl("recharts-cross",g),d:IPo(o,r,d,p,l,c)}))},DPo=yA,EPo=e5,kPo="[object Boolean]";function FPo(t){return t===!0||t===!1||EPo(t)&&DPo(t)==kPo}var LPo=FPo;const WPo=kr(LPo);function hL(t){"@babel/helpers - typeof";return hL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hL(t)}function FJ(){return FJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n0,from:{upperWidth:0,lowerWidth:0,height:f,x:s,y:c},to:{upperWidth:u,lowerWidth:d,height:f,x:s,y:c},duration:y,animationEasing:g,isActive:x},function(b){var v=b.upperWidth,S=b.lowerWidth,w=b.height,T=b.x,P=b.y;return Se.createElement(Y2,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:A,duration:y,easing:g},Se.createElement("path",FJ({},oa(n,!0),{className:C,d:WDe(T,P,v,S,w),ref:o})))}):Se.createElement("g",null,Se.createElement("path",FJ({},oa(n,!0),{className:C,d:WDe(s,c,u,d,f)})))},JPo=["option","shapeType","propTransformer","activeClassName","isActive"];function pL(t){"@babel/helpers - typeof";return pL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pL(t)}function KPo(t,e){if(t==null)return{};var n=qPo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function qPo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function NDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function LJ(t){for(var e=1;e0&&o.handleDrag(i.changedTouches[0])}),G1(O5(o),"handleDragEnd",function(){o.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var i=o.props,r=i.endIndex,a=i.onDragEnd,l=i.startIndex;a==null||a({endIndex:r,startIndex:l})}),o.detachDragEndListener()}),G1(O5(o),"handleLeaveWrapper",function(){(o.state.isTravellerMoving||o.state.isSlideMoving)&&(o.leaveTimer=window.setTimeout(o.handleDragEnd,o.props.leaveTimeOut))}),G1(O5(o),"handleEnterSlideOrTraveller",function(){o.setState({isTextActive:!0})}),G1(O5(o),"handleLeaveSlideOrTraveller",function(){o.setState({isTextActive:!1})}),G1(O5(o),"handleSlideDragStart",function(i){var r=VDe(i)?i.changedTouches[0]:i;o.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:r.pageX}),o.attachDragEndListener()}),o.travellerDragStartHandlers={startX:o.handleTravellerDragStart.bind(O5(o),"startX"),endX:o.handleTravellerDragStart.bind(O5(o),"endX")},o.state={},o}return MCo(e,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(o){var i=o.startX,r=o.endX,a=this.state.scaleValues,l=this.props,s=l.gap,c=l.data,u=c.length-1,d=Math.min(i,r),f=Math.max(i,r),p=e.getIndexInRange(a,d),g=e.getIndexInRange(a,f);return{startIndex:p-p%s,endIndex:g===u?u:g-g%s}}},{key:"getTextOfTick",value:function(o){var i=this.props,r=i.data,a=i.tickFormatter,l=i.dataKey,s=Uu(r[o],l,o);return Aa(a)?a(s,o):s}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(o){var i=this.state,r=i.slideMoveStartX,a=i.startX,l=i.endX,s=this.props,c=s.x,u=s.width,d=s.travellerWidth,f=s.startIndex,p=s.endIndex,g=s.onChange,y=o.pageX-r;y>0?y=Math.min(y,c+u-d-l,c+u-d-a):y<0&&(y=Math.max(y,c-a,c-l));var A=this.getIndex({startX:a+y,endX:l+y});(A.startIndex!==f||A.endIndex!==p)&&g&&g(A),this.setState({startX:a+y,endX:l+y,slideMoveStartX:o.pageX})}},{key:"handleTravellerDragStart",value:function(o,i){var r=VDe(i)?i.changedTouches[0]:i;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:o,brushMoveStartX:r.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(o){var i=this.state,r=i.brushMoveStartX,a=i.movingTravellerId,l=i.endX,s=i.startX,c=this.state[a],u=this.props,d=u.x,f=u.width,p=u.travellerWidth,g=u.onChange,y=u.gap,A=u.data,x={startX:this.state.startX,endX:this.state.endX},C=o.pageX-r;C>0?C=Math.min(C,d+f-p-c):C<0&&(C=Math.max(C,d-c)),x[a]=c+C;var b=this.getIndex(x),v=b.startIndex,S=b.endIndex,w=function(){var P=A.length-1;return a==="startX"&&(l>s?v%y===0:S%y===0)||ls?S%y===0:v%y===0)||l>s&&S===P};this.setState(G1(G1({},a,c+C),"brushMoveStartX",o.pageX),function(){g&&w()&&g(b)})}},{key:"handleTravellerMoveKeyboard",value:function(o,i){var r=this,a=this.state,l=a.scaleValues,s=a.startX,c=a.endX,u=this.state[i],d=l.indexOf(u);if(d!==-1){var f=d+o;if(!(f===-1||f>=l.length)){var p=l[f];i==="startX"&&p>=c||i==="endX"&&p<=s||this.setState(G1({},i,p),function(){r.props.onChange(r.getIndex({startX:r.state.startX,endX:r.state.endX}))})}}}},{key:"renderBackground",value:function(){var o=this.props,i=o.x,r=o.y,a=o.width,l=o.height,s=o.fill,c=o.stroke;return Se.createElement("rect",{stroke:c,fill:s,x:i,y:r,width:a,height:l})}},{key:"renderPanorama",value:function(){var o=this.props,i=o.x,r=o.y,a=o.width,l=o.height,s=o.data,c=o.children,u=o.padding,d=m.Children.only(c);return d?Se.cloneElement(d,{x:i,y:r,width:a,height:l,margin:u,compact:!0,data:s}):null}},{key:"renderTravellerLayer",value:function(o,i){var r,a,l=this,s=this.props,c=s.y,u=s.travellerWidth,d=s.height,f=s.traveller,p=s.ariaLabel,g=s.data,y=s.startIndex,A=s.endIndex,x=Math.max(o,this.props.x),C=tle(tle({},oa(this.props,!1)),{},{x,y:c,width:u,height:d}),b=p||"Min value: ".concat((r=g[y])===null||r===void 0?void 0:r.name,", Max value: ").concat((a=g[A])===null||a===void 0?void 0:a.name);return Se.createElement(Bl,{tabIndex:0,role:"slider","aria-label":b,"aria-valuenow":o,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[i],onTouchStart:this.travellerDragStartHandlers[i],onKeyDown:function(S){["ArrowLeft","ArrowRight"].includes(S.key)&&(S.preventDefault(),S.stopPropagation(),l.handleTravellerMoveKeyboard(S.key==="ArrowRight"?1:-1,i))},onFocus:function(){l.setState({isTravellerFocused:!0})},onBlur:function(){l.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},e.renderTraveller(f,C))}},{key:"renderSlide",value:function(o,i){var r=this.props,a=r.y,l=r.height,s=r.stroke,c=r.travellerWidth,u=Math.min(o,i)+c,d=Math.max(Math.abs(i-o)-c,0);return Se.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:s,fillOpacity:.2,x:u,y:a,width:d,height:l})}},{key:"renderText",value:function(){var o=this.props,i=o.startIndex,r=o.endIndex,a=o.y,l=o.height,s=o.travellerWidth,c=o.stroke,u=this.state,d=u.startX,f=u.endX,p=5,g={pointerEvents:"none",fill:c};return Se.createElement(Bl,{className:"recharts-brush-texts"},Se.createElement(mJ,NJ({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,f)-p,y:a+l/2},g),this.getTextOfTick(i)),Se.createElement(mJ,NJ({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,f)+s+p,y:a+l/2},g),this.getTextOfTick(r)))}},{key:"render",value:function(){var o=this.props,i=o.data,r=o.className,a=o.children,l=o.x,s=o.y,c=o.width,u=o.height,d=o.alwaysShowText,f=this.state,p=f.startX,g=f.endX,y=f.isTextActive,A=f.isSlideMoving,x=f.isTravellerMoving,C=f.isTravellerFocused;if(!i||!i.length||!si(l)||!si(s)||!si(c)||!si(u)||c<=0||u<=0)return null;var b=cl("recharts-brush",r),v=Se.Children.count(a)===1,S=RCo("userSelect","none");return Se.createElement(Bl,{className:b,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:S},this.renderBackground(),v&&this.renderPanorama(),this.renderSlide(p,g),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(g,"endX"),(y||A||x||C||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(o){var i=o.x,r=o.y,a=o.width,l=o.height,s=o.stroke,c=Math.floor(r+l/2)-1;return Se.createElement(Se.Fragment,null,Se.createElement("rect",{x:i,y:r,width:a,height:l,fill:s,stroke:"none"}),Se.createElement("line",{x1:i+1,y1:c,x2:i+a-1,y2:c,fill:"none",stroke:"#fff"}),Se.createElement("line",{x1:i+1,y1:c+2,x2:i+a-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(o,i){var r;return Se.isValidElement(o)?r=Se.cloneElement(o,i):Aa(o)?r=o(i):r=e.renderDefaultTraveller(i),r}},{key:"getDerivedStateFromProps",value:function(o,i){var r=o.data,a=o.width,l=o.x,s=o.travellerWidth,c=o.updateId,u=o.startIndex,d=o.endIndex;if(r!==i.prevData||c!==i.prevUpdateId)return tle({prevData:r,prevTravellerWidth:s,prevUpdateId:c,prevX:l,prevWidth:a},r&&r.length?kCo({data:r,width:a,x:l,travellerWidth:s,startIndex:u,endIndex:d}):{scale:null,scaleValues:null});if(i.scale&&(a!==i.prevWidth||l!==i.prevX||s!==i.prevTravellerWidth)){i.scale.range([l,l+a-s]);var f=i.scale.domain().map(function(p){return i.scale(p)});return{prevData:r,prevTravellerWidth:s,prevUpdateId:c,prevX:l,prevWidth:a,startX:i.scale(o.startIndex),endX:i.scale(o.endIndex),scaleValues:f}}return null}},{key:"getIndexInRange",value:function(o,i){for(var r=o.length,a=0,l=r-1;l-a>1;){var s=Math.floor((a+l)/2);o[s]>i?l=s:a=s}return i>=o[l]?l:a}}]),e}(m.PureComponent);G1(ZR,"displayName","Brush");G1(ZR,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var FCo=S5e;function LCo(t,e){var n;return FCo(t,function(o,i,r){return n=e(o,i,r),!n}),!!n}var WCo=LCo,NCo=Ztt,UCo=_7,BCo=WCo,jCo=mp,YCo=Tee;function OCo(t,e,n){var o=jCo(t)?NCo:BCo;return n&&YCo(t,e,n)&&(e=void 0),o(t,UCo(e))}var _Co=OCo;const VCo=kr(_Co);var C9=function(e,n){var o=e.alwaysShow,i=e.ifOverflow;return o&&(i="extendDomain"),i===n},GCo=T5e,XCo=c5e,JCo=_7;function KCo(t,e){var n={};return e=JCo(e),XCo(t,function(o,i,r){GCo(n,i,e(o,i,r))}),n}var qCo=KCo;const $Co=kr(qCo);function QCo(t,e){for(var n=-1,o=t==null?0:t.length;++n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function gRo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function mRo(t,e){var n=t.x,o=t.y,i=pRo(t,uRo),r="".concat(n),a=parseInt(r,10),l="".concat(o),s=parseInt(l,10),c="".concat(e.height||i.height),u=parseInt(c,10),d="".concat(e.width||i.width),f=parseInt(d,10);return oD(oD(oD(oD(oD({},e),i),a?{x:a}:{}),s?{y:s}:{}),{},{height:u,width:f,name:e.name,radius:e.radius})}function XDe(t){return Se.createElement(hhe,ghe({shapeType:"rectangle",propTransformer:mRo,activeClassName:"recharts-active-bar"},t))}var yRo=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(o,i){if(typeof e=="number")return e;var r=typeof o=="number";return r?e(o,i):(r||cb(),n)}},ARo=["value","background"],xlt;function eH(t){"@babel/helpers - typeof";return eH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},eH(t)}function wRo(t,e){if(t==null)return{};var n=vRo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function vRo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function BJ(){return BJ=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&Math.abs(U)0&&Math.abs(L)0&&(L=Math.min((Q||0)-(U[ee-1]||0),L))}),Number.isFinite(L)){var F=L/E,W=y.layout==="vertical"?o.height:o.width;if(y.padding==="gap"&&(T=F*W/2),y.padding==="no-gap"){var B=ab(e.barCategoryGap,F*W),k=F*W/2;T=k-B-(k-B)/W*B}}}i==="xAxis"?P=[o.left+(b.left||0)+(T||0),o.left+o.width-(b.right||0)-(T||0)]:i==="yAxis"?P=s==="horizontal"?[o.top+o.height-(b.bottom||0),o.top+(b.top||0)]:[o.top+(b.top||0)+(T||0),o.top+o.height-(b.bottom||0)-(T||0)]:P=y.range,S&&(P=[P[1],P[0]]);var N=kbo(y,r,f),j=N.scale,Y=N.realScaleType;j.domain(x).range(P),Fbo(j);var _=Obo(j,a2(a2({},y),{},{realScaleType:Y}));i==="xAxis"?(D=A==="top"&&!v||A==="bottom"&&v,R=o.left,H=d[w]-D*y.height):i==="yAxis"&&(D=A==="left"&&!v||A==="right"&&v,R=d[w]-D*y.width,H=o.top);var J=a2(a2(a2({},y),_),{},{realScaleType:Y,x:R,y:H,scale:j,width:i==="xAxis"?o.width:y.width,height:i==="yAxis"?o.height:y.height});return J.bandSize=HJ(J,_),!y.hide&&i==="xAxis"?d[w]+=(D?-1:1)*J.height:y.hide||(d[w]+=(D?-1:1)*J.width),a2(a2({},p),{},Wee({},g,J))},{})},Plt=function(e,n){var o=e.x,i=e.y,r=n.x,a=n.y;return{x:Math.min(o,r),y:Math.min(i,a),width:Math.abs(r-o),height:Math.abs(a-i)}},IRo=function(e){var n=e.x1,o=e.y1,i=e.x2,r=e.y2;return Plt({x:n,y:o},{x:i,y:r})},Clt=function(){function t(e){RRo(this,t),this.scale=e}return HRo(t,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=o.bandAware,r=o.position;if(n!==void 0){if(r)switch(r){case"start":return this.scale(n);case"middle":{var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+a}case"end":{var l=this.bandwidth?this.bandwidth():0;return this.scale(n)+l}default:return this.scale(n)}if(i){var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+s}return this.scale(n)}}},{key:"isInRange",value:function(n){var o=this.range(),i=o[0],r=o[o.length-1];return i<=r?n>=i&&n<=r:n>=r&&n<=i}}],[{key:"create",value:function(n){return new t(n)}}]),t}();Wee(Clt,"EPS",1e-4);var P3e=function(e){var n=Object.keys(e).reduce(function(o,i){return a2(a2({},o),{},Wee({},i,Clt.create(e[i])))},{});return a2(a2({},n),{},{apply:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.bandAware,l=r.position;return $Co(i,function(s,c){return n[c].apply(s,{bandAware:a,position:l})})},isInRange:function(i){return vlt(i,function(r,a){return n[a].isInRange(r)})}})};function zRo(t){return(t%180+180)%180}var DRo=function(e){var n=e.width,o=e.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=zRo(i),a=r*Math.PI/180,l=Math.atan(o/n),s=a>l&&a-1?i[r?e[a]:a]:void 0}}var WRo=LRo,NRo=mlt;function URo(t){var e=NRo(t),n=e%1;return e===e?n?e-n:e:0}var BRo=URo,jRo=Ort,YRo=_7,ORo=BRo,_Ro=Math.max;function VRo(t,e,n){var o=t==null?0:t.length;if(!o)return-1;var i=n==null?0:ORo(n);return i<0&&(i=_Ro(o+i,0)),jRo(t,YRo(e),i)}var GRo=VRo,XRo=WRo,JRo=GRo,KRo=XRo(JRo),qRo=KRo;const $Ro=kr(qRo);var QRo=Iqn(function(t){return{x:t.left,y:t.top,width:t.width,height:t.height}},function(t){return["l",t.left,"t",t.top,"w",t.width,"h",t.height].join("")}),C3e=m.createContext(void 0),R3e=m.createContext(void 0),Rlt=m.createContext(void 0),Hlt=m.createContext({}),Mlt=m.createContext(void 0),Ilt=m.createContext(0),zlt=m.createContext(0),QDe=function(e){var n=e.state,o=n.xAxisMap,i=n.yAxisMap,r=n.offset,a=e.clipPathId,l=e.children,s=e.width,c=e.height,u=QRo(r);return Se.createElement(C3e.Provider,{value:o},Se.createElement(R3e.Provider,{value:i},Se.createElement(Hlt.Provider,{value:r},Se.createElement(Rlt.Provider,{value:u},Se.createElement(Mlt.Provider,{value:a},Se.createElement(Ilt.Provider,{value:c},Se.createElement(zlt.Provider,{value:s},l)))))))},ZRo=function(){return m.useContext(Mlt)},Dlt=function(e){var n=m.useContext(C3e);n==null&&cb();var o=n[e];return o==null&&cb(),o},eHo=function(){var e=m.useContext(C3e);return iw(e)},tHo=function(){var e=m.useContext(R3e),n=$Ro(e,function(o){return vlt(o.domain,Number.isFinite)});return n||iw(e)},Elt=function(e){var n=m.useContext(R3e);n==null&&cb();var o=n[e];return o==null&&cb(),o},nHo=function(){var e=m.useContext(Rlt);return e},oHo=function(){return m.useContext(Hlt)},H3e=function(){return m.useContext(zlt)},M3e=function(){return m.useContext(Ilt)};function wL(t){"@babel/helpers - typeof";return wL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wL(t)}function ZDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function eEe(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);nt*i)return!1;var r=n();return t*(e-t*r/2-o)>=0&&t*(e+t*r/2-i)<=0}function THo(t,e){return klt(t,e+1)}function PHo(t,e,n,o,i){for(var r=(o||[]).slice(),a=e.start,l=e.end,s=0,c=1,u=a,d=function(){var g=o==null?void 0:o[s];if(g===void 0)return{v:klt(o,c)};var y=s,A,x=function(){return A===void 0&&(A=n(g,y)),A},C=g.coordinate,b=s===0||YJ(t,C,x,u,l);b||(s=0,u=a,c+=1),b&&(u=C+t*(x()/2+i),s+=c)},f;c<=r.length;)if(f=d(),f)return f.v;return[]}function bL(t){"@babel/helpers - typeof";return bL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bL(t)}function aEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Jf(t){for(var e=1;e0?p.coordinate-A*t:p.coordinate})}else r[f]=p=Jf(Jf({},p),{},{tickCoord:p.coordinate});var x=YJ(t,p.tickCoord,y,l,s);x&&(s=p.tickCoord-t*(y()/2+i),r[f]=Jf(Jf({},p),{},{isShow:!0}))},u=a-1;u>=0;u--)c(u);return r}function IHo(t,e,n,o,i,r){var a=(o||[]).slice(),l=a.length,s=e.start,c=e.end;if(r){var u=o[l-1],d=n(u,l-1),f=t*(u.coordinate+t*d/2-c);a[l-1]=u=Jf(Jf({},u),{},{tickCoord:f>0?u.coordinate-f*t:u.coordinate});var p=YJ(t,u.tickCoord,function(){return d},s,c);p&&(c=u.tickCoord-t*(d/2+i),a[l-1]=Jf(Jf({},u),{},{isShow:!0}))}for(var g=r?l-1:l,y=function(C){var b=a[C],v,S=function(){return v===void 0&&(v=n(b,C)),v};if(C===0){var w=t*(b.coordinate-t*S()/2-s);a[C]=b=Jf(Jf({},b),{},{tickCoord:w<0?b.coordinate-w*t:b.coordinate})}else a[C]=b=Jf(Jf({},b),{},{tickCoord:b.coordinate});var T=YJ(t,b.tickCoord,S,s,c);T&&(s=b.tickCoord+t*(S()/2+i),a[C]=Jf(Jf({},b),{},{isShow:!0}))},A=0;A=2?x2(i[1].coordinate-i[0].coordinate):1,x=SHo(r,A,p);return s==="equidistantPreserveStart"?PHo(A,x,y,i,a):(s==="preserveStart"||s==="preserveStartEnd"?f=IHo(A,x,y,i,a,s==="preserveStartEnd"):f=MHo(A,x,y,i,a),f.filter(function(C){return C.isShow}))}var zHo=["viewBox"],DHo=["viewBox"],EHo=["ticks"];function tH(t){"@babel/helpers - typeof";return tH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tH(t)}function iC(){return iC=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function kHo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function FHo(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function sEe(t,e){for(var n=0;n0?s(this.props):s(p)),a<=0||l<=0||!g||!g.length?null:Se.createElement(Bl,{className:cl("recharts-cartesian-axis",c),ref:function(A){o.layerReference=A}},r&&this.renderAxisLine(),this.renderTicks(g,this.state.fontSize,this.state.letterSpacing),Zl.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(o,i,r){var a;return Se.isValidElement(o)?a=Se.cloneElement(o,i):Aa(o)?a=o(i):a=Se.createElement(mJ,iC({},i,{className:"recharts-cartesian-axis-tick-value"}),r),a}}]),e}(m.Component);z3e(TM,"displayName","CartesianAxis");z3e(TM,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var YHo=["x1","y1","x2","y2","key"],OHo=["offset"];function ub(t){"@babel/helpers - typeof";return ub=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ub(t)}function cEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function rh(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function XHo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var JHo=function(e){var n=e.fill;if(!n||n==="none")return null;var o=e.fillOpacity,i=e.x,r=e.y,a=e.width,l=e.height;return Se.createElement("rect",{x:i,y:r,width:a,height:l,stroke:"none",fill:n,fillOpacity:o,className:"recharts-cartesian-grid-bg"})};function Wlt(t,e){var n;if(Se.isValidElement(t))n=Se.cloneElement(t,e);else if(Aa(t))n=t(e);else{var o=e.x1,i=e.y1,r=e.x2,a=e.y2,l=e.key,s=uEe(e,YHo),c=oa(s,!1);c.offset;var u=uEe(c,OHo);n=Se.createElement("line",qv({},u,{x1:o,y1:i,x2:r,y2:a,fill:"none",key:l}))}return n}function KHo(t){var e=t.x,n=t.width,o=t.horizontal,i=o===void 0?!0:o,r=t.horizontalPoints;if(!i||!r||!r.length)return null;var a=r.map(function(l,s){var c=rh(rh({},t),{},{x1:e,y1:l,x2:e+n,y2:l,key:"line-".concat(s),index:s});return Wlt(i,c)});return Se.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function qHo(t){var e=t.y,n=t.height,o=t.vertical,i=o===void 0?!0:o,r=t.verticalPoints;if(!i||!r||!r.length)return null;var a=r.map(function(l,s){var c=rh(rh({},t),{},{x1:l,y1:e,x2:l,y2:e+n,key:"line-".concat(s),index:s});return Wlt(i,c)});return Se.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function $Ho(t){var e=t.horizontalFill,n=t.fillOpacity,o=t.x,i=t.y,r=t.width,a=t.height,l=t.horizontalPoints,s=t.horizontal,c=s===void 0?!0:s;if(!c||!e||!e.length)return null;var u=l.map(function(f){return Math.round(f+i-i)}).sort(function(f,p){return f-p});i!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var g=!u[p+1],y=g?i+a-f:u[p+1]-f;if(y<=0)return null;var A=p%e.length;return Se.createElement("rect",{key:"react-".concat(p),y:f,x:o,height:y,width:r,stroke:"none",fill:e[A],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return Se.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function QHo(t){var e=t.vertical,n=e===void 0?!0:e,o=t.verticalFill,i=t.fillOpacity,r=t.x,a=t.y,l=t.width,s=t.height,c=t.verticalPoints;if(!n||!o||!o.length)return null;var u=c.map(function(f){return Math.round(f+r-r)}).sort(function(f,p){return f-p});r!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var g=!u[p+1],y=g?r+l-f:u[p+1]-f;if(y<=0)return null;var A=p%o.length;return Se.createElement("rect",{key:"react-".concat(p),x:f,y:a,width:y,height:s,stroke:"none",fill:o[A],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return Se.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var ZHo=function(e,n){var o=e.xAxis,i=e.width,r=e.height,a=e.offset;return nlt(I3e(rh(rh(rh({},TM.defaultProps),o),{},{ticks:x6(o,!0),viewBox:{x:0,y:0,width:i,height:r}})),a.left,a.left+a.width,n)},eMo=function(e,n){var o=e.yAxis,i=e.width,r=e.height,a=e.offset;return nlt(I3e(rh(rh(rh({},TM.defaultProps),o),{},{ticks:x6(o,!0),viewBox:{x:0,y:0,width:i,height:r}})),a.top,a.top+a.height,n)},GT={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function A7(t){var e,n,o,i,r,a,l=H3e(),s=M3e(),c=oHo(),u=rh(rh({},t),{},{stroke:(e=t.stroke)!==null&&e!==void 0?e:GT.stroke,fill:(n=t.fill)!==null&&n!==void 0?n:GT.fill,horizontal:(o=t.horizontal)!==null&&o!==void 0?o:GT.horizontal,horizontalFill:(i=t.horizontalFill)!==null&&i!==void 0?i:GT.horizontalFill,vertical:(r=t.vertical)!==null&&r!==void 0?r:GT.vertical,verticalFill:(a=t.verticalFill)!==null&&a!==void 0?a:GT.verticalFill,x:si(t.x)?t.x:c.left,y:si(t.y)?t.y:c.top,width:si(t.width)?t.width:c.width,height:si(t.height)?t.height:c.height}),d=u.x,f=u.y,p=u.width,g=u.height,y=u.syncWithTicks,A=u.horizontalValues,x=u.verticalValues,C=eHo(),b=tHo();if(!si(p)||p<=0||!si(g)||g<=0||!si(d)||d!==+d||!si(f)||f!==+f)return null;var v=u.verticalCoordinatesGenerator||ZHo,S=u.horizontalCoordinatesGenerator||eMo,w=u.horizontalPoints,T=u.verticalPoints;if((!w||!w.length)&&Aa(S)){var P=A&&A.length,R=S({yAxis:b?rh(rh({},b),{},{ticks:P?A:b.ticks}):void 0,width:l,height:s,offset:c},P?!0:y);E6(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(ub(R),"]")),Array.isArray(R)&&(w=R)}if((!T||!T.length)&&Aa(v)){var H=x&&x.length,D=v({xAxis:C?rh(rh({},C),{},{ticks:H?x:C.ticks}):void 0,width:l,height:s,offset:c},H?!0:y);E6(Array.isArray(D),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(ub(D),"]")),Array.isArray(D)&&(T=D)}return Se.createElement("g",{className:"recharts-cartesian-grid"},Se.createElement(JHo,{fill:u.fill,fillOpacity:u.fillOpacity,x:u.x,y:u.y,width:u.width,height:u.height}),Se.createElement(KHo,qv({},u,{offset:c,horizontalPoints:w,xAxis:C,yAxis:b})),Se.createElement(qHo,qv({},u,{offset:c,verticalPoints:T,xAxis:C,yAxis:b})),Se.createElement($Ho,qv({},u,{horizontalPoints:w})),Se.createElement(QHo,qv({},u,{verticalPoints:T})))}A7.displayName="CartesianGrid";var tMo=["type","layout","connectNulls","ref"];function nH(t){"@babel/helpers - typeof";return nH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nH(t)}function nMo(t,e){if(t==null)return{};var n=oMo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function oMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function WE(){return WE=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);nd){p=[].concat(XT(s.slice(0,g)),[d-y]);break}var A=p.length%2===0?[0,f]:[f];return[].concat(XT(e.repeat(s,u)),XT(p),A).map(function(x){return"".concat(x,"px")}).join(", ")}),l2(L4(n),"id",oS("recharts-line-")),l2(L4(n),"pathRef",function(a){n.mainCurve=a}),l2(L4(n),"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),l2(L4(n),"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return cMo(e,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var o=this.getTotalLength();this.setState({totalLength:o})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var o=this.getTotalLength();o!==this.state.totalLength&&this.setState({totalLength:o})}}},{key:"getTotalLength",value:function(){var o=this.mainCurve;try{return o&&o.getTotalLength&&o.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(o,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var r=this.props,a=r.points,l=r.xAxis,s=r.yAxis,c=r.layout,u=r.children,d=Kp(u,bM);if(!d)return null;var f=function(y,A){return{x:y.x,y:y.y,value:y.value,errorVal:Uu(y.payload,A)}},p={clipPath:o?"url(#clipPath-".concat(i,")"):null};return Se.createElement(Bl,p,d.map(function(g){return Se.cloneElement(g,{key:"bar-".concat(g.props.dataKey),data:a,xAxis:l,yAxis:s,layout:c,dataPointFormatter:f})}))}},{key:"renderDots",value:function(o,i,r){var a=this.props.isAnimationActive;if(a&&!this.state.isAnimationFinished)return null;var l=this.props,s=l.dot,c=l.points,u=l.dataKey,d=oa(this.props,!1),f=oa(s,!0),p=c.map(function(y,A){var x=_1(_1(_1({key:"dot-".concat(A),r:3},d),f),{},{value:y.value,dataKey:u,cx:y.x,cy:y.y,index:A,payload:y.payload});return e.renderDotItem(s,x)}),g={clipPath:o?"url(#clipPath-".concat(i?"":"dots-").concat(r,")"):null};return Se.createElement(Bl,WE({className:"recharts-line-dots",key:"dots"},g),p)}},{key:"renderCurveStatically",value:function(o,i,r,a){var l=this.props,s=l.type,c=l.layout,u=l.connectNulls;l.ref;var d=nMo(l,tMo),f=_1(_1(_1({},oa(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(r,")"):null,points:o},a),{},{type:s,layout:c,connectNulls:u});return Se.createElement(Rx,WE({},f,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(o,i){var r=this,a=this.props,l=a.points,s=a.strokeDasharray,c=a.isAnimationActive,u=a.animationBegin,d=a.animationDuration,f=a.animationEasing,p=a.animationId,g=a.animateNewValues,y=a.width,A=a.height,x=this.state,C=x.prevPoints,b=x.totalLength;return Se.createElement(Y2,{begin:u,duration:d,isActive:c,easing:f,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(v){var S=v.t;if(C){var w=C.length/l.length,T=l.map(function(E,L){var U=Math.floor(L*w);if(C[U]){var F=C[U],W=W0(F.x,E.x),B=W0(F.y,E.y);return _1(_1({},E),{},{x:W(S),y:B(S)})}if(g){var k=W0(y*2,E.x),N=W0(A/2,E.y);return _1(_1({},E),{},{x:k(S),y:N(S)})}return _1(_1({},E),{},{x:E.x,y:E.y})});return r.renderCurveStatically(T,o,i)}var P=W0(0,b),R=P(S),H;if(s){var D="".concat(s).split(/[,\s]+/gim).map(function(E){return parseFloat(E)});H=r.getStrokeDasharray(R,b,D)}else H=r.generateSimpleStrokeDasharray(b,R);return r.renderCurveStatically(l,o,i,{strokeDasharray:H})})}},{key:"renderCurve",value:function(o,i){var r=this.props,a=r.points,l=r.isAnimationActive,s=this.state,c=s.prevPoints,u=s.totalLength;return l&&a&&a.length&&(!c&&u>0||!lb(c,a))?this.renderCurveWithAnimation(o,i):this.renderCurveStatically(a,o,i)}},{key:"render",value:function(){var o,i=this.props,r=i.hide,a=i.dot,l=i.points,s=i.className,c=i.xAxis,u=i.yAxis,d=i.top,f=i.left,p=i.width,g=i.height,y=i.isAnimationActive,A=i.id;if(r||!l||!l.length)return null;var x=this.state.isAnimationFinished,C=l.length===1,b=cl("recharts-line",s),v=c&&c.allowDataOverflow,S=u&&u.allowDataOverflow,w=v||S,T=ra(A)?this.id:A,P=(o=oa(a,!1))!==null&&o!==void 0?o:{r:3,strokeWidth:2},R=P.r,H=R===void 0?3:R,D=P.strokeWidth,E=D===void 0?2:D,L=yrt(a)?a:{},U=L.clipDot,F=U===void 0?!0:U,W=H*2+E;return Se.createElement(Bl,{className:b},v||S?Se.createElement("defs",null,Se.createElement("clipPath",{id:"clipPath-".concat(T)},Se.createElement("rect",{x:v?f:f-p/2,y:S?d:d-g/2,width:v?p:p*2,height:S?g:g*2})),!F&&Se.createElement("clipPath",{id:"clipPath-dots-".concat(T)},Se.createElement("rect",{x:f-W/2,y:d-W/2,width:p+W,height:g+W}))):null,!C&&this.renderCurve(w,T),this.renderErrorBar(w,T),(C||a)&&this.renderDots(w,F,T),(!y||x)&&P9.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.animationId!==i.prevAnimationId?{prevAnimationId:o.animationId,curPoints:o.points,prevPoints:i.curPoints}:o.points!==i.curPoints?{curPoints:o.points}:null}},{key:"repeat",value:function(o,i){for(var r=o.length%2!==0?[].concat(XT(o),[0]):o,a=[],l=0;l=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function mMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function $v(){return $v=Object.assign?Object.assign.bind():function(t){for(var e=1;e0||!lb(u,a)||!lb(d,l))?this.renderAreaWithAnimation(o,i):this.renderAreaStatically(a,l,o,i)}},{key:"render",value:function(){var o,i=this.props,r=i.hide,a=i.dot,l=i.points,s=i.className,c=i.top,u=i.left,d=i.xAxis,f=i.yAxis,p=i.width,g=i.height,y=i.isAnimationActive,A=i.id;if(r||!l||!l.length)return null;var x=this.state.isAnimationFinished,C=l.length===1,b=cl("recharts-area",s),v=d&&d.allowDataOverflow,S=f&&f.allowDataOverflow,w=v||S,T=ra(A)?this.id:A,P=(o=oa(a,!1))!==null&&o!==void 0?o:{r:3,strokeWidth:2},R=P.r,H=R===void 0?3:R,D=P.strokeWidth,E=D===void 0?2:D,L=yrt(a)?a:{},U=L.clipDot,F=U===void 0?!0:U,W=H*2+E;return Se.createElement(Bl,{className:b},v||S?Se.createElement("defs",null,Se.createElement("clipPath",{id:"clipPath-".concat(T)},Se.createElement("rect",{x:v?u:u-p/2,y:S?c:c-g/2,width:v?p:p*2,height:S?g:g*2})),!F&&Se.createElement("clipPath",{id:"clipPath-dots-".concat(T)},Se.createElement("rect",{x:u-W/2,y:c-W/2,width:p+W,height:g+W}))):null,C?null:this.renderArea(w,T),(a||C)&&this.renderDots(w,F,T),(!y||x)&&P9.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.animationId!==i.prevAnimationId?{prevAnimationId:o.animationId,curPoints:o.points,curBaseLine:o.baseLine,prevPoints:i.curPoints,prevBaseLine:i.curBaseLine}:o.points!==i.curPoints||o.baseLine!==i.curBaseLine?{curPoints:o.points,curBaseLine:o.baseLine}:null}}]),e}(m.PureComponent);Blt=bA;d9(bA,"displayName","Area");d9(bA,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!k2.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});d9(bA,"getBaseValue",function(t,e,n,o){var i=t.layout,r=t.baseValue,a=e.props.baseValue,l=a??r;if(si(l)&&typeof l=="number")return l;var s=i==="horizontal"?o:n,c=s.scale.domain();if(s.type==="number"){var u=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return l==="dataMin"?d:l==="dataMax"||u<0?u:Math.max(Math.min(c[0],c[1]),0)}return l==="dataMin"?c[0]:l==="dataMax"?c[1]:c[0]});d9(bA,"getComposedData",function(t){var e=t.props,n=t.item,o=t.xAxis,i=t.yAxis,r=t.xAxisTicks,a=t.yAxisTicks,l=t.bandSize,s=t.dataKey,c=t.stackedData,u=t.dataStartIndex,d=t.displayedData,f=t.offset,p=e.layout,g=c&&c.length,y=Blt.getBaseValue(e,n,o,i),A=p==="horizontal",x=!1,C=d.map(function(v,S){var w;g?w=c[u+S]:(w=Uu(v,s),Array.isArray(w)?x=!0:w=[y,w]);var T=w[1]==null||g&&Uu(v,s)==null;return A?{x:qR({axis:o,ticks:r,bandSize:l,entry:v,index:S}),y:T?null:i.scale(w[1]),value:w,payload:v}:{x:T?null:o.scale(w[1]),y:qR({axis:i,ticks:a,bandSize:l,entry:v,index:S}),value:w,payload:v}}),b;return g||x?b=C.map(function(v){var S=Array.isArray(v.value)?v.value[0]:null;return A?{x:v.x,y:S!=null&&v.y!=null?i.scale(S):null}:{x:S!=null?o.scale(S):null,y:v.y}}):b=A?i.scale(y):o.scale(y),W4({points:C,baseLine:b,layout:p,isRange:x},f)});d9(bA,"renderDotItem",function(t,e){var n;if(Se.isValidElement(t))n=Se.cloneElement(t,e);else if(Aa(t))n=t(e);else{var o=cl("recharts-area-dot",typeof t!="boolean"?t.className:"");n=Se.createElement($N,$v({},e,{className:o}))}return n});var tU=function(){return null};tU.displayName="ZAxis";tU.defaultProps={zAxisId:0,range:[64,64],scale:"auto",type:"number"};var SMo=["option","isActive"];function NE(){return NE=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function PMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function CMo(t){var e=t.option,n=t.isActive,o=TMo(t,SMo);return typeof e=="string"?Se.createElement(hhe,NE({option:Se.createElement(bee,NE({type:e},o)),isActive:n,shapeType:"symbols"},o)):Se.createElement(hhe,NE({option:e,isActive:n,shapeType:"symbols"},o))}function iH(t){"@babel/helpers - typeof";return iH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iH(t)}function UE(){return UE=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function nIo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function oIo(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function iIo(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n0?a:e&&e.length&&si(i)&&si(r)?e.slice(i,r+1):[]};function Qlt(t){return t==="number"?[0,"auto"]:void 0}var zhe=function(e,n,o,i){var r=e.graphicalItems,a=e.tooltipAxis,l=Nee(n,e);return o<0||!r||!r.length||o>=l.length?null:r.reduce(function(s,c){var u,d=(u=c.props.data)!==null&&u!==void 0?u:n;d&&e.dataStartIndex+e.dataEndIndex!==0&&(d=d.slice(e.dataStartIndex,e.dataEndIndex+1));var f;if(a.dataKey&&!a.allowDuplicatedCategory){var p=d===void 0?l:d;f=iJ(p,a.dataKey,i)}else f=d&&d[o]||l[o];return f?[].concat(aH(s),[ilt(c,f)]):s},[])},bEe=function(e,n,o,i){var r=i||{x:e.chartX,y:e.chartY},a=gIo(r,o),l=e.orderedTooltipTicks,s=e.tooltipAxis,c=e.tooltipTicks,u=Hbo(a,l,c,s);if(u>=0&&c){var d=c[u]&&c[u].value,f=zhe(e,n,u,d),p=mIo(o,l,u,r);return{activeTooltipIndex:u,activeLabel:d,activePayload:f,activeCoordinate:p}}return null},yIo=function(e,n){var o=n.axes,i=n.graphicalItems,r=n.axisType,a=n.axisIdKey,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.layout,d=e.children,f=e.stackOffset,p=tlt(u,r);return o.reduce(function(g,y){var A,x=y.props,C=x.type,b=x.dataKey,v=x.allowDataOverflow,S=x.allowDuplicatedCategory,w=x.scale,T=x.ticks,P=x.includeHidden,R=y.props[a];if(g[R])return g;var H=Nee(e.data,{graphicalItems:i.filter(function(_){return _.props[a]===R}),dataStartIndex:s,dataEndIndex:c}),D=H.length,E,L,U;_Mo(y.props.domain,v,C)&&(E=$fe(y.props.domain,null,v),p&&(C==="number"||w!=="auto")&&(U=FE(H,b,"category")));var F=Qlt(C);if(!E||E.length===0){var W,B=(W=y.props.domain)!==null&&W!==void 0?W:F;if(b){if(E=FE(H,b,C),C==="category"&&p){var k=Y9o(E);S&&k?(L=E,E=WJ(0,D)):S||(E=Qze(B,E,y).reduce(function(_,J){return _.indexOf(J)>=0?_:[].concat(aH(_),[J])},[]))}else if(C==="category")S?E=E.filter(function(_){return _!==""&&!ra(_)}):E=Qze(B,E,y).reduce(function(_,J){return _.indexOf(J)>=0||J===""||ra(J)?_:[].concat(aH(_),[J])},[]);else if(C==="number"){var N=Ebo(H,i.filter(function(_){return _.props[a]===R&&(P||!_.props.hide)}),b,r,u);N&&(E=N)}p&&(C==="number"||w!=="auto")&&(U=FE(H,b,"category"))}else p?E=WJ(0,D):l&&l[R]&&l[R].hasStack&&C==="number"?E=f==="expand"?[0,1]:olt(l[R].stackGroups,s,c):E=elt(H,i.filter(function(_){return _.props[a]===R&&(P||!_.props.hide)}),C,u,!0);if(C==="number")E=Hhe(d,E,R,r,T),B&&(E=$fe(B,E,v));else if(C==="category"&&B){var j=B,Y=E.every(function(_){return j.indexOf(_)>=0});Y&&(E=j)}}return To(To({},g),{},Lr({},R,To(To({},y.props),{},{axisType:r,domain:E,categoricalDomain:U,duplicateDomain:L,originalDomain:(A=y.props.domain)!==null&&A!==void 0?A:F,isCategorical:p,layout:u})))},{})},AIo=function(e,n){var o=n.graphicalItems,i=n.Axis,r=n.axisType,a=n.axisIdKey,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.layout,d=e.children,f=Nee(e.data,{graphicalItems:o,dataStartIndex:s,dataEndIndex:c}),p=f.length,g=tlt(u,r),y=-1;return o.reduce(function(A,x){var C=x.props[a],b=Qlt("number");if(!A[C]){y++;var v;return g?v=WJ(0,p):l&&l[C]&&l[C].hasStack?(v=olt(l[C].stackGroups,s,c),v=Hhe(d,v,C,r)):(v=$fe(b,elt(f,o.filter(function(S){return S.props[a]===C&&!S.props.hide}),"number",u),i.defaultProps.allowDataOverflow),v=Hhe(d,v,C,r)),To(To({},A),{},Lr({},C,To(To({axisType:r},i.defaultProps),{},{hide:!0,orientation:Bm(hIo,"".concat(r,".").concat(y%2),null),domain:v,originalDomain:b,isCategorical:g,layout:u})))}return A},{})},wIo=function(e,n){var o=n.axisType,i=o===void 0?"xAxis":o,r=n.AxisComp,a=n.graphicalItems,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.children,d="".concat(i,"Id"),f=Kp(u,r),p={};return f&&f.length?p=yIo(e,{axes:f,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:l,dataStartIndex:s,dataEndIndex:c}):a&&a.length&&(p=AIo(e,{Axis:r,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:l,dataStartIndex:s,dataEndIndex:c})),p},vIo=function(e){var n=iw(e),o=x6(n,!1,!0);return{tooltipTicks:o,orderedTooltipTicks:$9e(o,function(i){return i.coordinate}),tooltipAxis:n,tooltipAxisBandSize:HJ(n,o)}},SEe=function(e){var n=e.children,o=e.defaultShowTooltip,i=q1(n,ZR),r=0,a=0;return e.data&&e.data.length!==0&&(a=e.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(r=i.props.startIndex),i.props.endIndex>=0&&(a=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:r,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!o}},xIo=function(e){return!e||!e.length?!1:e.some(function(n){var o=D6(n&&n.type);return o&&o.indexOf("Bar")>=0})},TEe=function(e){return e==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:e==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:e==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},bIo=function(e,n){var o=e.props,i=e.graphicalItems,r=e.xAxisMap,a=r===void 0?{}:r,l=e.yAxisMap,s=l===void 0?{}:l,c=o.width,u=o.height,d=o.children,f=o.margin||{},p=q1(d,ZR),g=q1(d,j2),y=Object.keys(s).reduce(function(S,w){var T=s[w],P=T.orientation;return!T.mirror&&!T.hide?To(To({},S),{},Lr({},P,S[P]+T.width)):S},{left:f.left||0,right:f.right||0}),A=Object.keys(a).reduce(function(S,w){var T=a[w],P=T.orientation;return!T.mirror&&!T.hide?To(To({},S),{},Lr({},P,Bm(S,"".concat(P))+T.height)):S},{top:f.top||0,bottom:f.bottom||0}),x=To(To({},A),y),C=x.bottom;p&&(x.bottom+=p.props.height||ZR.defaultProps.height),g&&n&&(x=zbo(x,i,o,n));var b=c-x.left-x.right,v=u-x.top-x.bottom;return To(To({brushBottom:C},x),{},{width:Math.max(b,0),height:Math.max(v,0)})},SIo=function(e,n){if(n==="xAxis")return e[n].width;if(n==="yAxis")return e[n].height},nU=function(e){var n,o=e.chartName,i=e.GraphicalChild,r=e.defaultTooltipEventType,a=r===void 0?"axis":r,l=e.validateTooltipEventTypes,s=l===void 0?["axis"]:l,c=e.axisComponents,u=e.legendContent,d=e.formatAxisMap,f=e.defaultProps,p=function(A,x){var C=x.graphicalItems,b=x.stackGroups,v=x.offset,S=x.updateId,w=x.dataStartIndex,T=x.dataEndIndex,P=A.barSize,R=A.layout,H=A.barGap,D=A.barCategoryGap,E=A.maxBarSize,L=TEe(R),U=L.numericAxisName,F=L.cateAxisName,W=xIo(C),B=[];return C.forEach(function(k,N){var j=Nee(A.data,{graphicalItems:[k],dataStartIndex:w,dataEndIndex:T}),Y=k.props,_=Y.dataKey,J=Y.maxBarSize,Q=k.props["".concat(U,"Id")],ee=k.props["".concat(F,"Id")],$={},q=c.reduce(function(me,Re){var ze=x["".concat(Re.axisType,"Map")],Ae=k.props["".concat(Re.axisType,"Id")];ze&&ze[Ae]||Re.axisType==="zAxis"||cb();var re=ze[Ae];return To(To({},me),{},Lr(Lr({},Re.axisType,re),"".concat(Re.axisType,"Ticks"),x6(re)))},$),le=q[F],ie=q["".concat(F,"Ticks")],pe=b&&b[Q]&&b[Q].hasStack&&Vbo(k,b[Q].stackGroups),ne=D6(k.type).indexOf("Bar")>=0,Z=HJ(le,ie),he=[],fe=W&&Mbo({barSize:P,stackGroups:b,totalSize:SIo(q,F)});if(ne){var se,oe,de=ra(J)?E:J,ve=(se=(oe=HJ(le,ie,!0))!==null&&oe!==void 0?oe:de)!==null&&se!==void 0?se:0;he=Ibo({barGap:H,barCategoryGap:D,bandSize:ve!==Z?ve:Z,sizeList:fe[ee],maxBarSize:de}),ve!==Z&&(he=he.map(function(me){return To(To({},me),{},{position:To(To({},me.position),{},{offset:me.position.offset-ve/2})})}))}var Pe=k&&k.type&&k.type.getComposedData;Pe&&B.push({props:To(To({},Pe(To(To({},q),{},{displayedData:j,props:A,dataKey:_,item:k,bandSize:Z,barPosition:he,offset:v,stackedData:pe,layout:R,dataStartIndex:w,dataEndIndex:T}))),{},Lr(Lr(Lr({key:k.key||"item-".concat(N)},U,q[U]),F,q[F]),"animationId",S)),childIndex:e3o(k,A.children),item:k})}),B},g=function(A,x){var C=A.props,b=A.dataStartIndex,v=A.dataEndIndex,S=A.updateId;if(!fIe({props:C}))return null;var w=C.children,T=C.layout,P=C.stackOffset,R=C.data,H=C.reverseStackOrder,D=TEe(T),E=D.numericAxisName,L=D.cateAxisName,U=Kp(w,i),F=Ybo(R,U,"".concat(E,"Id"),"".concat(L,"Id"),P,H),W=c.reduce(function(Y,_){var J="".concat(_.axisType,"Map");return To(To({},Y),{},Lr({},J,wIo(C,To(To({},_),{},{graphicalItems:U,stackGroups:_.axisType===E&&F,dataStartIndex:b,dataEndIndex:v}))))},{}),B=bIo(To(To({},W),{},{props:C,graphicalItems:U}),x==null?void 0:x.legendBBox);Object.keys(W).forEach(function(Y){W[Y]=d(C,W[Y],B,Y.replace("Map",""),o)});var k=W["".concat(L,"Map")],N=vIo(k),j=p(C,To(To({},W),{},{dataStartIndex:b,dataEndIndex:v,updateId:S,graphicalItems:U,stackGroups:F,offset:B}));return To(To({formattedGraphicalItems:j,graphicalItems:U,offset:B,stackGroups:F},N),W)};return n=function(y){sIo(A,y);function A(x){var C,b,v;return oIo(this,A),v=aIo(this,A,[x]),Lr(vl(v),"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Lr(vl(v),"accessibilityManager",new OMo),Lr(vl(v),"handleLegendBBoxUpdate",function(S){if(S){var w=v.state,T=w.dataStartIndex,P=w.dataEndIndex,R=w.updateId;v.setState(To({legendBBox:S},g({props:v.props,dataStartIndex:T,dataEndIndex:P,updateId:R},To(To({},v.state),{},{legendBBox:S}))))}}),Lr(vl(v),"handleReceiveSyncEvent",function(S,w,T){if(v.props.syncId===S){if(T===v.eventEmitterSymbol&&typeof v.props.syncMethod!="function")return;v.applySyncEvent(w)}}),Lr(vl(v),"handleBrushChange",function(S){var w=S.startIndex,T=S.endIndex;if(w!==v.state.dataStartIndex||T!==v.state.dataEndIndex){var P=v.state.updateId;v.setState(function(){return To({dataStartIndex:w,dataEndIndex:T},g({props:v.props,dataStartIndex:w,dataEndIndex:T,updateId:P},v.state))}),v.triggerSyncEvent({dataStartIndex:w,dataEndIndex:T})}}),Lr(vl(v),"handleMouseEnter",function(S){var w=v.getMouseInfo(S);if(w){var T=To(To({},w),{},{isTooltipActive:!0});v.setState(T),v.triggerSyncEvent(T);var P=v.props.onMouseEnter;Aa(P)&&P(T,S)}}),Lr(vl(v),"triggeredAfterMouseMove",function(S){var w=v.getMouseInfo(S),T=w?To(To({},w),{},{isTooltipActive:!0}):{isTooltipActive:!1};v.setState(T),v.triggerSyncEvent(T);var P=v.props.onMouseMove;Aa(P)&&P(T,S)}),Lr(vl(v),"handleItemMouseEnter",function(S){v.setState(function(){return{isTooltipActive:!0,activeItem:S,activePayload:S.tooltipPayload,activeCoordinate:S.tooltipPosition||{x:S.cx,y:S.cy}}})}),Lr(vl(v),"handleItemMouseLeave",function(){v.setState(function(){return{isTooltipActive:!1}})}),Lr(vl(v),"handleMouseMove",function(S){S.persist(),v.throttleTriggeredAfterMouseMove(S)}),Lr(vl(v),"handleMouseLeave",function(S){v.throttleTriggeredAfterMouseMove.cancel();var w={isTooltipActive:!1};v.setState(w),v.triggerSyncEvent(w);var T=v.props.onMouseLeave;Aa(T)&&T(w,S)}),Lr(vl(v),"handleOuterEvent",function(S){var w=Z9o(S),T=Bm(v.props,"".concat(w));if(w&&Aa(T)){var P,R;/.*touch.*/i.test(w)?R=v.getMouseInfo(S.changedTouches[0]):R=v.getMouseInfo(S),T((P=R)!==null&&P!==void 0?P:{},S)}}),Lr(vl(v),"handleClick",function(S){var w=v.getMouseInfo(S);if(w){var T=To(To({},w),{},{isTooltipActive:!0});v.setState(T),v.triggerSyncEvent(T);var P=v.props.onClick;Aa(P)&&P(T,S)}}),Lr(vl(v),"handleMouseDown",function(S){var w=v.props.onMouseDown;if(Aa(w)){var T=v.getMouseInfo(S);w(T,S)}}),Lr(vl(v),"handleMouseUp",function(S){var w=v.props.onMouseUp;if(Aa(w)){var T=v.getMouseInfo(S);w(T,S)}}),Lr(vl(v),"handleTouchMove",function(S){S.changedTouches!=null&&S.changedTouches.length>0&&v.throttleTriggeredAfterMouseMove(S.changedTouches[0])}),Lr(vl(v),"handleTouchStart",function(S){S.changedTouches!=null&&S.changedTouches.length>0&&v.handleMouseDown(S.changedTouches[0])}),Lr(vl(v),"handleTouchEnd",function(S){S.changedTouches!=null&&S.changedTouches.length>0&&v.handleMouseUp(S.changedTouches[0])}),Lr(vl(v),"triggerSyncEvent",function(S){v.props.syncId!==void 0&&ole.emit(ile,v.props.syncId,S,v.eventEmitterSymbol)}),Lr(vl(v),"applySyncEvent",function(S){var w=v.props,T=w.layout,P=w.syncMethod,R=v.state.updateId,H=S.dataStartIndex,D=S.dataEndIndex;if(S.dataStartIndex!==void 0||S.dataEndIndex!==void 0)v.setState(To({dataStartIndex:H,dataEndIndex:D},g({props:v.props,dataStartIndex:H,dataEndIndex:D,updateId:R},v.state)));else if(S.activeTooltipIndex!==void 0){var E=S.chartX,L=S.chartY,U=S.activeTooltipIndex,F=v.state,W=F.offset,B=F.tooltipTicks;if(!W)return;if(typeof P=="function")U=P(B,S);else if(P==="value"){U=-1;for(var k=0;k=0){var pe,ne;if(E.dataKey&&!E.allowDuplicatedCategory){var Z=typeof E.dataKey=="function"?ie:"payload.".concat(E.dataKey.toString());pe=iJ(k,Z,U),ne=N&&j&&iJ(j,Z,U)}else pe=k==null?void 0:k[L],ne=N&&j&&j[L];if(ee||Q){var he=S.props.activeIndex!==void 0?S.props.activeIndex:L;return[m.cloneElement(S,To(To(To({},P.props),q),{},{activeIndex:he})),null,null]}if(!ra(pe))return[le].concat(aH(v.renderActivePoints({item:P,activePoint:pe,basePoint:ne,childIndex:L,isRange:N})))}else{var fe,se=(fe=v.getItemByXY(v.state.activeCoordinate))!==null&&fe!==void 0?fe:{graphicalItem:le},oe=se.graphicalItem,de=oe.item,ve=de===void 0?S:de,Pe=oe.childIndex,me=To(To(To({},P.props),q),{},{activeIndex:Pe});return[m.cloneElement(ve,me),null,null]}return N?[le,null,null]:[le,null]}),Lr(vl(v),"renderCustomized",function(S,w,T){return m.cloneElement(S,To(To({key:"recharts-customized-".concat(T)},v.props),v.state))}),Lr(vl(v),"renderMap",{CartesianGrid:{handler:XO,once:!0},ReferenceArea:{handler:v.renderReferenceElement},ReferenceLine:{handler:XO},ReferenceDot:{handler:v.renderReferenceElement},XAxis:{handler:XO},YAxis:{handler:XO},Brush:{handler:v.renderBrush,once:!0},Bar:{handler:v.renderGraphicChild},Line:{handler:v.renderGraphicChild},Area:{handler:v.renderGraphicChild},Radar:{handler:v.renderGraphicChild},RadialBar:{handler:v.renderGraphicChild},Scatter:{handler:v.renderGraphicChild},Pie:{handler:v.renderGraphicChild},Funnel:{handler:v.renderGraphicChild},Tooltip:{handler:v.renderCursor,once:!0},PolarGrid:{handler:v.renderPolarGrid,once:!0},PolarAngleAxis:{handler:v.renderPolarAxis},PolarRadiusAxis:{handler:v.renderPolarAxis},Customized:{handler:v.renderCustomized}}),v.clipPathId="".concat((C=x.id)!==null&&C!==void 0?C:oS("recharts"),"-clip"),v.throttleTriggeredAfterMouseMove=tat(v.triggeredAfterMouseMove,(b=x.throttleDelay)!==null&&b!==void 0?b:1e3/60),v.state={},v}return rIo(A,[{key:"componentDidMount",value:function(){var C,b;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(b=this.props.margin.top)!==null&&b!==void 0?b:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var C=this.props,b=C.children,v=C.data,S=C.height,w=C.layout,T=q1(b,Zf);if(T){var P=T.props.defaultIndex;if(!(typeof P!="number"||P<0||P>this.state.tooltipTicks.length)){var R=this.state.tooltipTicks[P]&&this.state.tooltipTicks[P].value,H=zhe(this.state,v,P,R),D=this.state.tooltipTicks[P].coordinate,E=(this.state.offset.top+S)/2,L=w==="horizontal",U=L?{x:D,y:E}:{y:D,x:E},F=this.state.formattedGraphicalItems.find(function(B){var k=B.item;return k.type.name==="Scatter"});F&&(U=To(To({},U),F.props.points[P].tooltipPosition),H=F.props.points[P].tooltipPayload);var W={activeTooltipIndex:P,isTooltipActive:!0,activeLabel:R,activePayload:H,activeCoordinate:U};this.setState(W),this.renderCursor(T),this.accessibilityManager.setIndex(P)}}}},{key:"getSnapshotBeforeUpdate",value:function(C,b){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==b.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==C.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==C.margin){var v,S;this.accessibilityManager.setDetails({offset:{left:(v=this.props.margin.left)!==null&&v!==void 0?v:0,top:(S=this.props.margin.top)!==null&&S!==void 0?S:0}})}return null}},{key:"componentDidUpdate",value:function(C){yfe([q1(C.children,Zf)],[q1(this.props.children,Zf)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var C=q1(this.props.children,Zf);if(C&&typeof C.props.shared=="boolean"){var b=C.props.shared?"axis":"item";return s.indexOf(b)>=0?b:a}return a}},{key:"getMouseInfo",value:function(C){if(!this.container)return null;var b=this.container,v=b.getBoundingClientRect(),S=p7o(v),w={chartX:Math.round(C.pageX-S.left),chartY:Math.round(C.pageY-S.top)},T=v.width/b.offsetWidth||1,P=this.inRange(w.chartX,w.chartY,T);if(!P)return null;var R=this.state,H=R.xAxisMap,D=R.yAxisMap,E=this.getTooltipEventType();if(E!=="axis"&&H&&D){var L=iw(H).scale,U=iw(D).scale,F=L&&L.invert?L.invert(w.chartX):null,W=U&&U.invert?U.invert(w.chartY):null;return To(To({},w),{},{xValue:F,yValue:W})}var B=bEe(this.state,this.props.data,this.props.layout,P);return B?To(To({},w),B):null}},{key:"inRange",value:function(C,b){var v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,S=this.props.layout,w=C/v,T=b/v;if(S==="horizontal"||S==="vertical"){var P=this.state.offset,R=w>=P.left&&w<=P.left+P.width&&T>=P.top&&T<=P.top+P.height;return R?{x:w,y:T}:null}var H=this.state,D=H.angleAxisMap,E=H.radiusAxisMap;if(D&&E){var L=iw(D);return tDe({x:w,y:T},L)}return null}},{key:"parseEventsOfWrapper",value:function(){var C=this.props.children,b=this.getTooltipEventType(),v=q1(C,Zf),S={};v&&b==="axis"&&(v.props.trigger==="click"?S={onClick:this.handleClick}:S={onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd});var w=rJ(this.props,this.handleOuterEvent);return To(To({},w),S)}},{key:"addListener",value:function(){ole.on(ile,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){ole.removeListener(ile,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(C,b,v){for(var S=this.state.formattedGraphicalItems,w=0,T=S.length;w{const i=Kt(),[r,a]=m.useState(!1),l=()=>{n==null||n(!t)},s=()=>{o==null||o(!e)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(c7,{checked:t,onClick:l,children:O.t("menu.graph.ShowHorizontalGridLines",i)}),h.jsx(c7,{checked:e,onClick:s,children:O.t("menu.graph.ShowHorizontalGridLines",i)})]}),children:h.jsx(hme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:r?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{a(!0)},onMouseOut:()=>{a(!1)}})})}),Zlt=Se.memo(({type:t,dataSource:e,height:n,dataKeyAxisX:o,labelX:i,labelY:r,unitX:a,unitY:l,yMin:s="auto",yMax:c="auto",fractionDigits:u=2,referenceX:d,color:f})=>{const[p,g]=m.useState(0),[y,A]=m.useState(!0),[x,C]=m.useState(!0),[b,v]=m.useState(null);m.useEffect(()=>{if(!e||e.length===0)return;const R=Array.isArray(e)?Object.keys(e[0]).length-1:Object.keys(e).length-1;p!==R&&g(R)},[e]);const S=m.useMemo(()=>{const R=[];for(let H=0;H{},T=R=>{v(R.dataKey)},P=()=>{v(null)};return h.jsx(h.Fragment,{children:e&&h.jsx("div",{id:"bar-graph-"+i+"-"+r,style:{width:"100%",height:`${n}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(TIo,{data:e,onMouseDown:w,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:R=>R.toFixed(u)+" "+l}),h.jsx(A7,{vertical:x,horizontal:y,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:d,stroke:"orange",strokeWidth:2}),h.jsx(e1,{dataKey:o??i,fontSize:"10px",children:h.jsx(Zl,{value:i+(a?" ("+a+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[s,c],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:r+(l?" ("+l+")":""),offset:0,angle:-90,position:"center"})}),S,p>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:P,onMouseEnter:T})]})}),h.jsx(HIo,{horizontalGrid:y,verticalGrid:x,changeHorizontalGrid:R=>{A(R)},changeVerticalGrid:R=>{C(R)}})]})})})}),PM=1,MIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,numberOfPoints:a,numberOfSymbols:l,scale:s,fillColor:c}=t,u=a?Math.round(a/l):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*s,y:n-10*s,width:20*s,height:20*s,viewBox:"-10 -10 20 20",children:h.jsx("circle",{cx:"0",cy:"0",r:"3",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},IIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("rect",{x:"-3",y:"-3",width:"6",height:"6",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},JO=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,direction:c,fillColor:u}=t,d=l?Math.round(l/s):1;if(e&&n&&r>0&&r%d===0){let f;switch(c){case 1:f="-4,2.5,4,2.5,0,-3.5";break;case 2:f="2.5,4,2.5,-4,-3.5,0";break;case 3:f="-2.5,4,-2.5,-4,3.5,0";break;default:f="-4,-2.5,4,-2.5,0,3.5"}return h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("polygon",{points:f,style:{opacity:o,stroke:i,fill:u??"white",strokeWidth:PM}})})}return null},zIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("polygon",{points:"-3,0,0,5,3,0,0,-5",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},DIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;if(e&&n&&r>0&&r%u===0){const d=.05*a;return h.jsx("svg",{x:e-100*d,y:n-100*d,width:300*d,height:300*d,viewBox:"0 0 300 300",children:h.jsx("polygon",{points:"100,10 40,180 190,60 10,60 160,180",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})})}return null},EIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;if(e&&n&&r>0&&r%u===0){const d=.02*a;return h.jsx("svg",{x:e-150*d,y:n-150*d,width:300*d,height:300*d,viewBox:"0 0 300 300",children:h.jsx("polygon",{className:"hex",points:"300,150 225,280 75,280 0,150 75,20 225,20",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})})}return null},Hx=(t,e,n,o,i,r)=>{switch(t){case"circle":return h.jsx(MIo,{scale:e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"square":return h.jsx(IIo,{scale:e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"triangle up":return h.jsx(JO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:1,opacity:i,fillColor:r});case"triangle down":return h.jsx(JO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:0,opacity:i,fillColor:r});case"triangle right":return h.jsx(JO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:3,opacity:i,fillColor:r});case"triangle left":return h.jsx(JO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:2,opacity:i,fillColor:r});case"star":return h.jsx(DIo,{scale:1.25*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"diamond":return h.jsx(zIo,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"hexagon":return h.jsx(EIo,{scale:1.3*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r})}},kIo=Se.memo(({horizontalGrid:t,verticalGrid:e,lineCount:n,lineWidth:o,symbolSize:i,changeHorizontalGrid:r,changeVerticalGrid:a,changeLineWidth:l,changeSymbolSize:s})=>{const c=Kt(),[u,d]=m.useState(!1),f=()=>{r==null||r(!t)},p=()=>{a==null||a(!e)},g=A=>{l==null||l(A/2)},y=A=>{s==null||s(A/5)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:0,max:10,value:o*2,onChange:g,children:O.t("menu.graph.LineWidth",c)+":"}),h.jsx(bC,{min:2,max:12,value:i*5,onChange:y,children:O.t("menu.graph.SymbolSize",c)+":"}),h.jsx(c7,{checked:t,onClick:f,children:O.t("menu.graph.ShowHorizontalGridLines",c)}),h.jsx(c7,{checked:e,onClick:p,children:O.t("menu.graph.ShowHorizontalGridLines",c)})]}),children:h.jsx(hme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:u?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{d(!0)},onMouseOut:()=>{d(!1)}})})}),Mx=["circle","square","triangle up","triangle down","triangle right","triangle left","star","diamond","hexagon"],mf=({type:t,chartType:e=Pl.Line,selectedIndex:n,dataSource:o,labels:i,height:r,dataKeyAxisX:a,labelX:l,labelY:s,unitX:c,unitY:u,yMin:d="auto",yMax:f="auto",curveType:p="linear",referenceX:g,fractionDigits:y=2,symbolCount:A=12})=>{const[x,C]=m.useState(0),[b,v]=m.useState(!0),[S,w]=m.useState(!0),[T,P]=m.useState(null),[R,H]=m.useState(2),[D,E]=m.useState(1);m.useEffect(()=>{if(!o||o.length===0){C(0);return}const B=Array.isArray(o)?Object.keys(o[0]).length-1:Object.keys(o).length-1;x!==B&&C(B)},[x,o]);const L=m.useMemo(()=>{const B=[];let k;for(let N=0;N0?_||k:!1,isAnimationActive:!1},N))}return B},[t,e,n,p,i,x,R,A,D,T]),U=()=>{},F=B=>{P(B.dataKey)},W=()=>{P(null)};return h.jsx(h.Fragment,{children:o&&h.jsx("div",{id:"line-graph-"+l+"-"+s,style:{width:"100%",height:`${r}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:e===Pl.Area?h.jsxs(CIo,{data:o,onMouseDown:U,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:B=>B.toFixed(y)+" "+u}),h.jsx(A7,{vertical:S,horizontal:b,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:g,stroke:"orange",strokeWidth:2}),h.jsx(e1,{dataKey:a??l,fontSize:"10px",children:h.jsx(Zl,{value:l+(c?" ("+c+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[d,f],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:s+(u?" ("+u+")":""),offset:0,angle:-90,position:"center"})}),L,x>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:W,onMouseEnter:F})]}):h.jsxs(D3e,{data:o,onMouseDown:U,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:B=>B.toFixed(y)+" "+u}),h.jsx(A7,{vertical:S,horizontal:b,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:g,stroke:"orange",strokeWidth:2}),h.jsx(e1,{dataKey:a??l,fontSize:"10px",children:h.jsx(Zl,{value:l+(c?" ("+c+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[d,f],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:s+(u?" ("+u+")":""),offset:0,angle:-90,position:"center"})}),L,x>1&&h.jsx(j2,{wrapperStyle:{fontSize:"11px"},iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:W,onMouseEnter:F})]})}),h.jsx(kIo,{lineCount:x,symbolSize:D,lineWidth:R,horizontalGrid:b,verticalGrid:S,changeHorizontalGrid:B=>{v(B)},changeVerticalGrid:B=>{w(B)},changeLineWidth:B=>{H(B)},changeSymbolSize:B=>{E(B)}})]})})})},FIo=Ho.div` + A `).concat(g,",").concat(g,",0,0,").concat(c,",").concat(e,",").concat(n+i-l*g," Z")}else u="M ".concat(e,",").concat(n," h ").concat(o," v ").concat(i," h ").concat(-o," Z");return u},wPo=function(e,n){if(!e||!n)return!1;var o=e.x,i=e.y,r=n.x,a=n.y,l=n.width,s=n.height;if(Math.abs(l)>0&&Math.abs(s)>0){var c=Math.min(r,r+l),u=Math.max(r,r+l),d=Math.min(a,a+s),f=Math.max(a,a+s);return o>=c&&o<=u&&i>=d&&i<=f}return!1},vPo={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},T3e=function(e){var n=zDe(zDe({},vPo),e),o=m.useRef(),i=m.useState(-1),r=dPo(i,2),a=r[0],l=r[1];m.useEffect(function(){if(o.current&&o.current.getTotalLength)try{var v=o.current.getTotalLength();v&&l(v)}catch{}},[]);var s=n.x,c=n.y,u=n.width,d=n.height,f=n.radius,p=n.className,g=n.animationEasing,y=n.animationDuration,A=n.animationBegin,x=n.isAnimationActive,C=n.isUpdateAnimationActive;if(s!==+s||c!==+c||u!==+u||d!==+d||u===0||d===0)return null;var b=cl("recharts-rectangle",p);return C?Se.createElement(Y2,{canBegin:a>0,from:{width:u,height:d,x:s,y:c},to:{width:u,height:d,x:s,y:c},duration:y,animationEasing:g,isActive:C},function(v){var S=v.width,w=v.height,T=v.x,P=v.y;return Se.createElement(Y2,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:A,duration:y,isActive:x,easing:g},Se.createElement("path",kJ({},oa(n,!0),{className:b,d:DDe(T,P,S,w,f),ref:o})))}):Se.createElement("path",kJ({},oa(n,!0),{className:b,d:DDe(s,c,u,d,f)}))};function dhe(){return dhe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function RPo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var HPo=function(e,n,o,i,r,a){return"M".concat(e,",").concat(r,"v").concat(i,"M").concat(a,",").concat(n,"h").concat(o)},MPo=function(e){var n=e.x,o=n===void 0?0:n,i=e.y,r=i===void 0?0:i,a=e.top,l=a===void 0?0:a,s=e.left,c=s===void 0?0:s,u=e.width,d=u===void 0?0:u,f=e.height,p=f===void 0?0:f,g=e.className,y=CPo(e,xPo),A=bPo({x:o,y:r,top:l,left:c,width:d,height:p},y);return!si(o)||!si(r)||!si(d)||!si(p)||!si(l)||!si(c)?null:Se.createElement("path",fhe({},oa(A,!0),{className:cl("recharts-cross",g),d:HPo(o,r,d,p,l,c)}))},IPo=yA,zPo=e5,DPo="[object Boolean]";function EPo(t){return t===!0||t===!1||zPo(t)&&IPo(t)==DPo}var kPo=EPo;const FPo=kr(kPo);function hL(t){"@babel/helpers - typeof";return hL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hL(t)}function FJ(){return FJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n0,from:{upperWidth:0,lowerWidth:0,height:f,x:s,y:c},to:{upperWidth:u,lowerWidth:d,height:f,x:s,y:c},duration:y,animationEasing:g,isActive:x},function(b){var v=b.upperWidth,S=b.lowerWidth,w=b.height,T=b.x,P=b.y;return Se.createElement(Y2,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:A,duration:y,easing:g},Se.createElement("path",FJ({},oa(n,!0),{className:C,d:WDe(T,P,v,S,w),ref:o})))}):Se.createElement("g",null,Se.createElement("path",FJ({},oa(n,!0),{className:C,d:WDe(s,c,u,d,f)})))},GPo=["option","shapeType","propTransformer","activeClassName","isActive"];function pL(t){"@babel/helpers - typeof";return pL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pL(t)}function XPo(t,e){if(t==null)return{};var n=JPo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function JPo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function NDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function LJ(t){for(var e=1;e0&&o.handleDrag(i.changedTouches[0])}),X1(O5(o),"handleDragEnd",function(){o.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var i=o.props,r=i.endIndex,a=i.onDragEnd,l=i.startIndex;a==null||a({endIndex:r,startIndex:l})}),o.detachDragEndListener()}),X1(O5(o),"handleLeaveWrapper",function(){(o.state.isTravellerMoving||o.state.isSlideMoving)&&(o.leaveTimer=window.setTimeout(o.handleDragEnd,o.props.leaveTimeOut))}),X1(O5(o),"handleEnterSlideOrTraveller",function(){o.setState({isTextActive:!0})}),X1(O5(o),"handleLeaveSlideOrTraveller",function(){o.setState({isTextActive:!1})}),X1(O5(o),"handleSlideDragStart",function(i){var r=VDe(i)?i.changedTouches[0]:i;o.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:r.pageX}),o.attachDragEndListener()}),o.travellerDragStartHandlers={startX:o.handleTravellerDragStart.bind(O5(o),"startX"),endX:o.handleTravellerDragStart.bind(O5(o),"endX")},o.state={},o}return RCo(e,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(o){var i=o.startX,r=o.endX,a=this.state.scaleValues,l=this.props,s=l.gap,c=l.data,u=c.length-1,d=Math.min(i,r),f=Math.max(i,r),p=e.getIndexInRange(a,d),g=e.getIndexInRange(a,f);return{startIndex:p-p%s,endIndex:g===u?u:g-g%s}}},{key:"getTextOfTick",value:function(o){var i=this.props,r=i.data,a=i.tickFormatter,l=i.dataKey,s=Uu(r[o],l,o);return Aa(a)?a(s,o):s}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(o){var i=this.state,r=i.slideMoveStartX,a=i.startX,l=i.endX,s=this.props,c=s.x,u=s.width,d=s.travellerWidth,f=s.startIndex,p=s.endIndex,g=s.onChange,y=o.pageX-r;y>0?y=Math.min(y,c+u-d-l,c+u-d-a):y<0&&(y=Math.max(y,c-a,c-l));var A=this.getIndex({startX:a+y,endX:l+y});(A.startIndex!==f||A.endIndex!==p)&&g&&g(A),this.setState({startX:a+y,endX:l+y,slideMoveStartX:o.pageX})}},{key:"handleTravellerDragStart",value:function(o,i){var r=VDe(i)?i.changedTouches[0]:i;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:o,brushMoveStartX:r.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(o){var i=this.state,r=i.brushMoveStartX,a=i.movingTravellerId,l=i.endX,s=i.startX,c=this.state[a],u=this.props,d=u.x,f=u.width,p=u.travellerWidth,g=u.onChange,y=u.gap,A=u.data,x={startX:this.state.startX,endX:this.state.endX},C=o.pageX-r;C>0?C=Math.min(C,d+f-p-c):C<0&&(C=Math.max(C,d-c)),x[a]=c+C;var b=this.getIndex(x),v=b.startIndex,S=b.endIndex,w=function(){var P=A.length-1;return a==="startX"&&(l>s?v%y===0:S%y===0)||ls?S%y===0:v%y===0)||l>s&&S===P};this.setState(X1(X1({},a,c+C),"brushMoveStartX",o.pageX),function(){g&&w()&&g(b)})}},{key:"handleTravellerMoveKeyboard",value:function(o,i){var r=this,a=this.state,l=a.scaleValues,s=a.startX,c=a.endX,u=this.state[i],d=l.indexOf(u);if(d!==-1){var f=d+o;if(!(f===-1||f>=l.length)){var p=l[f];i==="startX"&&p>=c||i==="endX"&&p<=s||this.setState(X1({},i,p),function(){r.props.onChange(r.getIndex({startX:r.state.startX,endX:r.state.endX}))})}}}},{key:"renderBackground",value:function(){var o=this.props,i=o.x,r=o.y,a=o.width,l=o.height,s=o.fill,c=o.stroke;return Se.createElement("rect",{stroke:c,fill:s,x:i,y:r,width:a,height:l})}},{key:"renderPanorama",value:function(){var o=this.props,i=o.x,r=o.y,a=o.width,l=o.height,s=o.data,c=o.children,u=o.padding,d=m.Children.only(c);return d?Se.cloneElement(d,{x:i,y:r,width:a,height:l,margin:u,compact:!0,data:s}):null}},{key:"renderTravellerLayer",value:function(o,i){var r,a,l=this,s=this.props,c=s.y,u=s.travellerWidth,d=s.height,f=s.traveller,p=s.ariaLabel,g=s.data,y=s.startIndex,A=s.endIndex,x=Math.max(o,this.props.x),C=tle(tle({},oa(this.props,!1)),{},{x,y:c,width:u,height:d}),b=p||"Min value: ".concat((r=g[y])===null||r===void 0?void 0:r.name,", Max value: ").concat((a=g[A])===null||a===void 0?void 0:a.name);return Se.createElement(Bl,{tabIndex:0,role:"slider","aria-label":b,"aria-valuenow":o,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[i],onTouchStart:this.travellerDragStartHandlers[i],onKeyDown:function(S){["ArrowLeft","ArrowRight"].includes(S.key)&&(S.preventDefault(),S.stopPropagation(),l.handleTravellerMoveKeyboard(S.key==="ArrowRight"?1:-1,i))},onFocus:function(){l.setState({isTravellerFocused:!0})},onBlur:function(){l.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},e.renderTraveller(f,C))}},{key:"renderSlide",value:function(o,i){var r=this.props,a=r.y,l=r.height,s=r.stroke,c=r.travellerWidth,u=Math.min(o,i)+c,d=Math.max(Math.abs(i-o)-c,0);return Se.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:s,fillOpacity:.2,x:u,y:a,width:d,height:l})}},{key:"renderText",value:function(){var o=this.props,i=o.startIndex,r=o.endIndex,a=o.y,l=o.height,s=o.travellerWidth,c=o.stroke,u=this.state,d=u.startX,f=u.endX,p=5,g={pointerEvents:"none",fill:c};return Se.createElement(Bl,{className:"recharts-brush-texts"},Se.createElement(mJ,NJ({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,f)-p,y:a+l/2},g),this.getTextOfTick(i)),Se.createElement(mJ,NJ({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,f)+s+p,y:a+l/2},g),this.getTextOfTick(r)))}},{key:"render",value:function(){var o=this.props,i=o.data,r=o.className,a=o.children,l=o.x,s=o.y,c=o.width,u=o.height,d=o.alwaysShowText,f=this.state,p=f.startX,g=f.endX,y=f.isTextActive,A=f.isSlideMoving,x=f.isTravellerMoving,C=f.isTravellerFocused;if(!i||!i.length||!si(l)||!si(s)||!si(c)||!si(u)||c<=0||u<=0)return null;var b=cl("recharts-brush",r),v=Se.Children.count(a)===1,S=PCo("userSelect","none");return Se.createElement(Bl,{className:b,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:S},this.renderBackground(),v&&this.renderPanorama(),this.renderSlide(p,g),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(g,"endX"),(y||A||x||C||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(o){var i=o.x,r=o.y,a=o.width,l=o.height,s=o.stroke,c=Math.floor(r+l/2)-1;return Se.createElement(Se.Fragment,null,Se.createElement("rect",{x:i,y:r,width:a,height:l,fill:s,stroke:"none"}),Se.createElement("line",{x1:i+1,y1:c,x2:i+a-1,y2:c,fill:"none",stroke:"#fff"}),Se.createElement("line",{x1:i+1,y1:c+2,x2:i+a-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(o,i){var r;return Se.isValidElement(o)?r=Se.cloneElement(o,i):Aa(o)?r=o(i):r=e.renderDefaultTraveller(i),r}},{key:"getDerivedStateFromProps",value:function(o,i){var r=o.data,a=o.width,l=o.x,s=o.travellerWidth,c=o.updateId,u=o.startIndex,d=o.endIndex;if(r!==i.prevData||c!==i.prevUpdateId)return tle({prevData:r,prevTravellerWidth:s,prevUpdateId:c,prevX:l,prevWidth:a},r&&r.length?DCo({data:r,width:a,x:l,travellerWidth:s,startIndex:u,endIndex:d}):{scale:null,scaleValues:null});if(i.scale&&(a!==i.prevWidth||l!==i.prevX||s!==i.prevTravellerWidth)){i.scale.range([l,l+a-s]);var f=i.scale.domain().map(function(p){return i.scale(p)});return{prevData:r,prevTravellerWidth:s,prevUpdateId:c,prevX:l,prevWidth:a,startX:i.scale(o.startIndex),endX:i.scale(o.endIndex),scaleValues:f}}return null}},{key:"getIndexInRange",value:function(o,i){for(var r=o.length,a=0,l=r-1;l-a>1;){var s=Math.floor((a+l)/2);o[s]>i?l=s:a=s}return i>=o[l]?l:a}}]),e}(m.PureComponent);X1(ZR,"displayName","Brush");X1(ZR,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var ECo=S5e;function kCo(t,e){var n;return ECo(t,function(o,i,r){return n=e(o,i,r),!n}),!!n}var FCo=kCo,LCo=Ztt,WCo=_7,NCo=FCo,UCo=mp,BCo=Tee;function jCo(t,e,n){var o=UCo(t)?LCo:NCo;return n&&BCo(t,e,n)&&(e=void 0),o(t,WCo(e))}var YCo=jCo;const OCo=kr(YCo);var C9=function(e,n){var o=e.alwaysShow,i=e.ifOverflow;return o&&(i="extendDomain"),i===n},_Co=T5e,VCo=c5e,GCo=_7;function XCo(t,e){var n={};return e=GCo(e),VCo(t,function(o,i,r){_Co(n,i,e(o,i,r))}),n}var JCo=XCo;const KCo=kr(JCo);function qCo(t,e){for(var n=-1,o=t==null?0:t.length;++n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function hRo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function pRo(t,e){var n=t.x,o=t.y,i=fRo(t,sRo),r="".concat(n),a=parseInt(r,10),l="".concat(o),s=parseInt(l,10),c="".concat(e.height||i.height),u=parseInt(c,10),d="".concat(e.width||i.width),f=parseInt(d,10);return oD(oD(oD(oD(oD({},e),i),a?{x:a}:{}),s?{y:s}:{}),{},{height:u,width:f,name:e.name,radius:e.radius})}function XDe(t){return Se.createElement(hhe,ghe({shapeType:"rectangle",propTransformer:pRo,activeClassName:"recharts-active-bar"},t))}var gRo=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(o,i){if(typeof e=="number")return e;var r=typeof o=="number";return r?e(o,i):(r||cb(),n)}},mRo=["value","background"],xlt;function eH(t){"@babel/helpers - typeof";return eH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},eH(t)}function yRo(t,e){if(t==null)return{};var n=ARo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function ARo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function BJ(){return BJ=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&Math.abs(U)0&&Math.abs(L)0&&(L=Math.min((Q||0)-(U[ee-1]||0),L))}),Number.isFinite(L)){var F=L/E,W=y.layout==="vertical"?o.height:o.width;if(y.padding==="gap"&&(T=F*W/2),y.padding==="no-gap"){var B=ab(e.barCategoryGap,F*W),k=F*W/2;T=k-B-(k-B)/W*B}}}i==="xAxis"?P=[o.left+(b.left||0)+(T||0),o.left+o.width-(b.right||0)-(T||0)]:i==="yAxis"?P=s==="horizontal"?[o.top+o.height-(b.bottom||0),o.top+(b.top||0)]:[o.top+(b.top||0)+(T||0),o.top+o.height-(b.bottom||0)-(T||0)]:P=y.range,S&&(P=[P[1],P[0]]);var N=Dbo(y,r,f),j=N.scale,Y=N.realScaleType;j.domain(x).range(P),Ebo(j);var _=jbo(j,a2(a2({},y),{},{realScaleType:Y}));i==="xAxis"?(D=A==="top"&&!v||A==="bottom"&&v,R=o.left,H=d[w]-D*y.height):i==="yAxis"&&(D=A==="left"&&!v||A==="right"&&v,R=d[w]-D*y.width,H=o.top);var J=a2(a2(a2({},y),_),{},{realScaleType:Y,x:R,y:H,scale:j,width:i==="xAxis"?o.width:y.width,height:i==="yAxis"?o.height:y.height});return J.bandSize=HJ(J,_),!y.hide&&i==="xAxis"?d[w]+=(D?-1:1)*J.height:y.hide||(d[w]+=(D?-1:1)*J.width),a2(a2({},p),{},Wee({},g,J))},{})},Plt=function(e,n){var o=e.x,i=e.y,r=n.x,a=n.y;return{x:Math.min(o,r),y:Math.min(i,a),width:Math.abs(r-o),height:Math.abs(a-i)}},HRo=function(e){var n=e.x1,o=e.y1,i=e.x2,r=e.y2;return Plt({x:n,y:o},{x:i,y:r})},Clt=function(){function t(e){PRo(this,t),this.scale=e}return CRo(t,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=o.bandAware,r=o.position;if(n!==void 0){if(r)switch(r){case"start":return this.scale(n);case"middle":{var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+a}case"end":{var l=this.bandwidth?this.bandwidth():0;return this.scale(n)+l}default:return this.scale(n)}if(i){var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+s}return this.scale(n)}}},{key:"isInRange",value:function(n){var o=this.range(),i=o[0],r=o[o.length-1];return i<=r?n>=i&&n<=r:n>=r&&n<=i}}],[{key:"create",value:function(n){return new t(n)}}]),t}();Wee(Clt,"EPS",1e-4);var P3e=function(e){var n=Object.keys(e).reduce(function(o,i){return a2(a2({},o),{},Wee({},i,Clt.create(e[i])))},{});return a2(a2({},n),{},{apply:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.bandAware,l=r.position;return KCo(i,function(s,c){return n[c].apply(s,{bandAware:a,position:l})})},isInRange:function(i){return vlt(i,function(r,a){return n[a].isInRange(r)})}})};function MRo(t){return(t%180+180)%180}var IRo=function(e){var n=e.width,o=e.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=MRo(i),a=r*Math.PI/180,l=Math.atan(o/n),s=a>l&&a-1?i[r?e[a]:a]:void 0}}var FRo=kRo,LRo=mlt;function WRo(t){var e=LRo(t),n=e%1;return e===e?n?e-n:e:0}var NRo=WRo,URo=Ort,BRo=_7,jRo=NRo,YRo=Math.max;function ORo(t,e,n){var o=t==null?0:t.length;if(!o)return-1;var i=n==null?0:jRo(n);return i<0&&(i=YRo(o+i,0)),URo(t,BRo(e),i)}var _Ro=ORo,VRo=FRo,GRo=_Ro,XRo=VRo(GRo),JRo=XRo;const KRo=kr(JRo);var qRo=Hqn(function(t){return{x:t.left,y:t.top,width:t.width,height:t.height}},function(t){return["l",t.left,"t",t.top,"w",t.width,"h",t.height].join("")}),C3e=m.createContext(void 0),R3e=m.createContext(void 0),Rlt=m.createContext(void 0),Hlt=m.createContext({}),Mlt=m.createContext(void 0),Ilt=m.createContext(0),zlt=m.createContext(0),QDe=function(e){var n=e.state,o=n.xAxisMap,i=n.yAxisMap,r=n.offset,a=e.clipPathId,l=e.children,s=e.width,c=e.height,u=qRo(r);return Se.createElement(C3e.Provider,{value:o},Se.createElement(R3e.Provider,{value:i},Se.createElement(Hlt.Provider,{value:r},Se.createElement(Rlt.Provider,{value:u},Se.createElement(Mlt.Provider,{value:a},Se.createElement(Ilt.Provider,{value:c},Se.createElement(zlt.Provider,{value:s},l)))))))},$Ro=function(){return m.useContext(Mlt)},Dlt=function(e){var n=m.useContext(C3e);n==null&&cb();var o=n[e];return o==null&&cb(),o},QRo=function(){var e=m.useContext(C3e);return iw(e)},ZRo=function(){var e=m.useContext(R3e),n=KRo(e,function(o){return vlt(o.domain,Number.isFinite)});return n||iw(e)},Elt=function(e){var n=m.useContext(R3e);n==null&&cb();var o=n[e];return o==null&&cb(),o},eHo=function(){var e=m.useContext(Rlt);return e},tHo=function(){return m.useContext(Hlt)},H3e=function(){return m.useContext(zlt)},M3e=function(){return m.useContext(Ilt)};function wL(t){"@babel/helpers - typeof";return wL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wL(t)}function ZDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function eEe(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);nt*i)return!1;var r=n();return t*(e-t*r/2-o)>=0&&t*(e+t*r/2-i)<=0}function bHo(t,e){return klt(t,e+1)}function SHo(t,e,n,o,i){for(var r=(o||[]).slice(),a=e.start,l=e.end,s=0,c=1,u=a,d=function(){var g=o==null?void 0:o[s];if(g===void 0)return{v:klt(o,c)};var y=s,A,x=function(){return A===void 0&&(A=n(g,y)),A},C=g.coordinate,b=s===0||YJ(t,C,x,u,l);b||(s=0,u=a,c+=1),b&&(u=C+t*(x()/2+i),s+=c)},f;c<=r.length;)if(f=d(),f)return f.v;return[]}function bL(t){"@babel/helpers - typeof";return bL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bL(t)}function aEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Jf(t){for(var e=1;e0?p.coordinate-A*t:p.coordinate})}else r[f]=p=Jf(Jf({},p),{},{tickCoord:p.coordinate});var x=YJ(t,p.tickCoord,y,l,s);x&&(s=p.tickCoord-t*(y()/2+i),r[f]=Jf(Jf({},p),{},{isShow:!0}))},u=a-1;u>=0;u--)c(u);return r}function HHo(t,e,n,o,i,r){var a=(o||[]).slice(),l=a.length,s=e.start,c=e.end;if(r){var u=o[l-1],d=n(u,l-1),f=t*(u.coordinate+t*d/2-c);a[l-1]=u=Jf(Jf({},u),{},{tickCoord:f>0?u.coordinate-f*t:u.coordinate});var p=YJ(t,u.tickCoord,function(){return d},s,c);p&&(c=u.tickCoord-t*(d/2+i),a[l-1]=Jf(Jf({},u),{},{isShow:!0}))}for(var g=r?l-1:l,y=function(C){var b=a[C],v,S=function(){return v===void 0&&(v=n(b,C)),v};if(C===0){var w=t*(b.coordinate-t*S()/2-s);a[C]=b=Jf(Jf({},b),{},{tickCoord:w<0?b.coordinate-w*t:b.coordinate})}else a[C]=b=Jf(Jf({},b),{},{tickCoord:b.coordinate});var T=YJ(t,b.tickCoord,S,s,c);T&&(s=b.tickCoord+t*(S()/2+i),a[C]=Jf(Jf({},b),{},{isShow:!0}))},A=0;A=2?x2(i[1].coordinate-i[0].coordinate):1,x=xHo(r,A,p);return s==="equidistantPreserveStart"?SHo(A,x,y,i,a):(s==="preserveStart"||s==="preserveStartEnd"?f=HHo(A,x,y,i,a,s==="preserveStartEnd"):f=RHo(A,x,y,i,a),f.filter(function(C){return C.isShow}))}var MHo=["viewBox"],IHo=["viewBox"],zHo=["ticks"];function tH(t){"@babel/helpers - typeof";return tH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tH(t)}function iC(){return iC=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function DHo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function EHo(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function sEe(t,e){for(var n=0;n0?s(this.props):s(p)),a<=0||l<=0||!g||!g.length?null:Se.createElement(Bl,{className:cl("recharts-cartesian-axis",c),ref:function(A){o.layerReference=A}},r&&this.renderAxisLine(),this.renderTicks(g,this.state.fontSize,this.state.letterSpacing),Zl.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(o,i,r){var a;return Se.isValidElement(o)?a=Se.cloneElement(o,i):Aa(o)?a=o(i):a=Se.createElement(mJ,iC({},i,{className:"recharts-cartesian-axis-tick-value"}),r),a}}]),e}(m.Component);z3e(TM,"displayName","CartesianAxis");z3e(TM,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var BHo=["x1","y1","x2","y2","key"],jHo=["offset"];function ub(t){"@babel/helpers - typeof";return ub=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ub(t)}function cEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function rh(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function VHo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var GHo=function(e){var n=e.fill;if(!n||n==="none")return null;var o=e.fillOpacity,i=e.x,r=e.y,a=e.width,l=e.height;return Se.createElement("rect",{x:i,y:r,width:a,height:l,stroke:"none",fill:n,fillOpacity:o,className:"recharts-cartesian-grid-bg"})};function Wlt(t,e){var n;if(Se.isValidElement(t))n=Se.cloneElement(t,e);else if(Aa(t))n=t(e);else{var o=e.x1,i=e.y1,r=e.x2,a=e.y2,l=e.key,s=uEe(e,BHo),c=oa(s,!1);c.offset;var u=uEe(c,jHo);n=Se.createElement("line",qv({},u,{x1:o,y1:i,x2:r,y2:a,fill:"none",key:l}))}return n}function XHo(t){var e=t.x,n=t.width,o=t.horizontal,i=o===void 0?!0:o,r=t.horizontalPoints;if(!i||!r||!r.length)return null;var a=r.map(function(l,s){var c=rh(rh({},t),{},{x1:e,y1:l,x2:e+n,y2:l,key:"line-".concat(s),index:s});return Wlt(i,c)});return Se.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function JHo(t){var e=t.y,n=t.height,o=t.vertical,i=o===void 0?!0:o,r=t.verticalPoints;if(!i||!r||!r.length)return null;var a=r.map(function(l,s){var c=rh(rh({},t),{},{x1:l,y1:e,x2:l,y2:e+n,key:"line-".concat(s),index:s});return Wlt(i,c)});return Se.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function KHo(t){var e=t.horizontalFill,n=t.fillOpacity,o=t.x,i=t.y,r=t.width,a=t.height,l=t.horizontalPoints,s=t.horizontal,c=s===void 0?!0:s;if(!c||!e||!e.length)return null;var u=l.map(function(f){return Math.round(f+i-i)}).sort(function(f,p){return f-p});i!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var g=!u[p+1],y=g?i+a-f:u[p+1]-f;if(y<=0)return null;var A=p%e.length;return Se.createElement("rect",{key:"react-".concat(p),y:f,x:o,height:y,width:r,stroke:"none",fill:e[A],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return Se.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function qHo(t){var e=t.vertical,n=e===void 0?!0:e,o=t.verticalFill,i=t.fillOpacity,r=t.x,a=t.y,l=t.width,s=t.height,c=t.verticalPoints;if(!n||!o||!o.length)return null;var u=c.map(function(f){return Math.round(f+r-r)}).sort(function(f,p){return f-p});r!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var g=!u[p+1],y=g?r+l-f:u[p+1]-f;if(y<=0)return null;var A=p%o.length;return Se.createElement("rect",{key:"react-".concat(p),x:f,y:a,width:y,height:s,stroke:"none",fill:o[A],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return Se.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var $Ho=function(e,n){var o=e.xAxis,i=e.width,r=e.height,a=e.offset;return nlt(I3e(rh(rh(rh({},TM.defaultProps),o),{},{ticks:x6(o,!0),viewBox:{x:0,y:0,width:i,height:r}})),a.left,a.left+a.width,n)},QHo=function(e,n){var o=e.yAxis,i=e.width,r=e.height,a=e.offset;return nlt(I3e(rh(rh(rh({},TM.defaultProps),o),{},{ticks:x6(o,!0),viewBox:{x:0,y:0,width:i,height:r}})),a.top,a.top+a.height,n)},GT={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function A7(t){var e,n,o,i,r,a,l=H3e(),s=M3e(),c=tHo(),u=rh(rh({},t),{},{stroke:(e=t.stroke)!==null&&e!==void 0?e:GT.stroke,fill:(n=t.fill)!==null&&n!==void 0?n:GT.fill,horizontal:(o=t.horizontal)!==null&&o!==void 0?o:GT.horizontal,horizontalFill:(i=t.horizontalFill)!==null&&i!==void 0?i:GT.horizontalFill,vertical:(r=t.vertical)!==null&&r!==void 0?r:GT.vertical,verticalFill:(a=t.verticalFill)!==null&&a!==void 0?a:GT.verticalFill,x:si(t.x)?t.x:c.left,y:si(t.y)?t.y:c.top,width:si(t.width)?t.width:c.width,height:si(t.height)?t.height:c.height}),d=u.x,f=u.y,p=u.width,g=u.height,y=u.syncWithTicks,A=u.horizontalValues,x=u.verticalValues,C=QRo(),b=ZRo();if(!si(p)||p<=0||!si(g)||g<=0||!si(d)||d!==+d||!si(f)||f!==+f)return null;var v=u.verticalCoordinatesGenerator||$Ho,S=u.horizontalCoordinatesGenerator||QHo,w=u.horizontalPoints,T=u.verticalPoints;if((!w||!w.length)&&Aa(S)){var P=A&&A.length,R=S({yAxis:b?rh(rh({},b),{},{ticks:P?A:b.ticks}):void 0,width:l,height:s,offset:c},P?!0:y);E6(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(ub(R),"]")),Array.isArray(R)&&(w=R)}if((!T||!T.length)&&Aa(v)){var H=x&&x.length,D=v({xAxis:C?rh(rh({},C),{},{ticks:H?x:C.ticks}):void 0,width:l,height:s,offset:c},H?!0:y);E6(Array.isArray(D),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(ub(D),"]")),Array.isArray(D)&&(T=D)}return Se.createElement("g",{className:"recharts-cartesian-grid"},Se.createElement(GHo,{fill:u.fill,fillOpacity:u.fillOpacity,x:u.x,y:u.y,width:u.width,height:u.height}),Se.createElement(XHo,qv({},u,{offset:c,horizontalPoints:w,xAxis:C,yAxis:b})),Se.createElement(JHo,qv({},u,{offset:c,verticalPoints:T,xAxis:C,yAxis:b})),Se.createElement(KHo,qv({},u,{horizontalPoints:w})),Se.createElement(qHo,qv({},u,{verticalPoints:T})))}A7.displayName="CartesianGrid";var ZHo=["type","layout","connectNulls","ref"];function nH(t){"@babel/helpers - typeof";return nH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nH(t)}function eMo(t,e){if(t==null)return{};var n=tMo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function tMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function WE(){return WE=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);nd){p=[].concat(XT(s.slice(0,g)),[d-y]);break}var A=p.length%2===0?[0,f]:[f];return[].concat(XT(e.repeat(s,u)),XT(p),A).map(function(x){return"".concat(x,"px")}).join(", ")}),l2(L4(n),"id",oS("recharts-line-")),l2(L4(n),"pathRef",function(a){n.mainCurve=a}),l2(L4(n),"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),l2(L4(n),"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return lMo(e,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var o=this.getTotalLength();this.setState({totalLength:o})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var o=this.getTotalLength();o!==this.state.totalLength&&this.setState({totalLength:o})}}},{key:"getTotalLength",value:function(){var o=this.mainCurve;try{return o&&o.getTotalLength&&o.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(o,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var r=this.props,a=r.points,l=r.xAxis,s=r.yAxis,c=r.layout,u=r.children,d=Kp(u,bM);if(!d)return null;var f=function(y,A){return{x:y.x,y:y.y,value:y.value,errorVal:Uu(y.payload,A)}},p={clipPath:o?"url(#clipPath-".concat(i,")"):null};return Se.createElement(Bl,p,d.map(function(g){return Se.cloneElement(g,{key:"bar-".concat(g.props.dataKey),data:a,xAxis:l,yAxis:s,layout:c,dataPointFormatter:f})}))}},{key:"renderDots",value:function(o,i,r){var a=this.props.isAnimationActive;if(a&&!this.state.isAnimationFinished)return null;var l=this.props,s=l.dot,c=l.points,u=l.dataKey,d=oa(this.props,!1),f=oa(s,!0),p=c.map(function(y,A){var x=V1(V1(V1({key:"dot-".concat(A),r:3},d),f),{},{value:y.value,dataKey:u,cx:y.x,cy:y.y,index:A,payload:y.payload});return e.renderDotItem(s,x)}),g={clipPath:o?"url(#clipPath-".concat(i?"":"dots-").concat(r,")"):null};return Se.createElement(Bl,WE({className:"recharts-line-dots",key:"dots"},g),p)}},{key:"renderCurveStatically",value:function(o,i,r,a){var l=this.props,s=l.type,c=l.layout,u=l.connectNulls;l.ref;var d=eMo(l,ZHo),f=V1(V1(V1({},oa(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(r,")"):null,points:o},a),{},{type:s,layout:c,connectNulls:u});return Se.createElement(Rx,WE({},f,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(o,i){var r=this,a=this.props,l=a.points,s=a.strokeDasharray,c=a.isAnimationActive,u=a.animationBegin,d=a.animationDuration,f=a.animationEasing,p=a.animationId,g=a.animateNewValues,y=a.width,A=a.height,x=this.state,C=x.prevPoints,b=x.totalLength;return Se.createElement(Y2,{begin:u,duration:d,isActive:c,easing:f,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(v){var S=v.t;if(C){var w=C.length/l.length,T=l.map(function(E,L){var U=Math.floor(L*w);if(C[U]){var F=C[U],W=W0(F.x,E.x),B=W0(F.y,E.y);return V1(V1({},E),{},{x:W(S),y:B(S)})}if(g){var k=W0(y*2,E.x),N=W0(A/2,E.y);return V1(V1({},E),{},{x:k(S),y:N(S)})}return V1(V1({},E),{},{x:E.x,y:E.y})});return r.renderCurveStatically(T,o,i)}var P=W0(0,b),R=P(S),H;if(s){var D="".concat(s).split(/[,\s]+/gim).map(function(E){return parseFloat(E)});H=r.getStrokeDasharray(R,b,D)}else H=r.generateSimpleStrokeDasharray(b,R);return r.renderCurveStatically(l,o,i,{strokeDasharray:H})})}},{key:"renderCurve",value:function(o,i){var r=this.props,a=r.points,l=r.isAnimationActive,s=this.state,c=s.prevPoints,u=s.totalLength;return l&&a&&a.length&&(!c&&u>0||!lb(c,a))?this.renderCurveWithAnimation(o,i):this.renderCurveStatically(a,o,i)}},{key:"render",value:function(){var o,i=this.props,r=i.hide,a=i.dot,l=i.points,s=i.className,c=i.xAxis,u=i.yAxis,d=i.top,f=i.left,p=i.width,g=i.height,y=i.isAnimationActive,A=i.id;if(r||!l||!l.length)return null;var x=this.state.isAnimationFinished,C=l.length===1,b=cl("recharts-line",s),v=c&&c.allowDataOverflow,S=u&&u.allowDataOverflow,w=v||S,T=ra(A)?this.id:A,P=(o=oa(a,!1))!==null&&o!==void 0?o:{r:3,strokeWidth:2},R=P.r,H=R===void 0?3:R,D=P.strokeWidth,E=D===void 0?2:D,L=yrt(a)?a:{},U=L.clipDot,F=U===void 0?!0:U,W=H*2+E;return Se.createElement(Bl,{className:b},v||S?Se.createElement("defs",null,Se.createElement("clipPath",{id:"clipPath-".concat(T)},Se.createElement("rect",{x:v?f:f-p/2,y:S?d:d-g/2,width:v?p:p*2,height:S?g:g*2})),!F&&Se.createElement("clipPath",{id:"clipPath-dots-".concat(T)},Se.createElement("rect",{x:f-W/2,y:d-W/2,width:p+W,height:g+W}))):null,!C&&this.renderCurve(w,T),this.renderErrorBar(w,T),(C||a)&&this.renderDots(w,F,T),(!y||x)&&P9.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.animationId!==i.prevAnimationId?{prevAnimationId:o.animationId,curPoints:o.points,prevPoints:i.curPoints}:o.points!==i.curPoints?{curPoints:o.points}:null}},{key:"repeat",value:function(o,i){for(var r=o.length%2!==0?[].concat(XT(o),[0]):o,a=[],l=0;l=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function pMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function $v(){return $v=Object.assign?Object.assign.bind():function(t){for(var e=1;e0||!lb(u,a)||!lb(d,l))?this.renderAreaWithAnimation(o,i):this.renderAreaStatically(a,l,o,i)}},{key:"render",value:function(){var o,i=this.props,r=i.hide,a=i.dot,l=i.points,s=i.className,c=i.top,u=i.left,d=i.xAxis,f=i.yAxis,p=i.width,g=i.height,y=i.isAnimationActive,A=i.id;if(r||!l||!l.length)return null;var x=this.state.isAnimationFinished,C=l.length===1,b=cl("recharts-area",s),v=d&&d.allowDataOverflow,S=f&&f.allowDataOverflow,w=v||S,T=ra(A)?this.id:A,P=(o=oa(a,!1))!==null&&o!==void 0?o:{r:3,strokeWidth:2},R=P.r,H=R===void 0?3:R,D=P.strokeWidth,E=D===void 0?2:D,L=yrt(a)?a:{},U=L.clipDot,F=U===void 0?!0:U,W=H*2+E;return Se.createElement(Bl,{className:b},v||S?Se.createElement("defs",null,Se.createElement("clipPath",{id:"clipPath-".concat(T)},Se.createElement("rect",{x:v?u:u-p/2,y:S?c:c-g/2,width:v?p:p*2,height:S?g:g*2})),!F&&Se.createElement("clipPath",{id:"clipPath-dots-".concat(T)},Se.createElement("rect",{x:u-W/2,y:c-W/2,width:p+W,height:g+W}))):null,C?null:this.renderArea(w,T),(a||C)&&this.renderDots(w,F,T),(!y||x)&&P9.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.animationId!==i.prevAnimationId?{prevAnimationId:o.animationId,curPoints:o.points,curBaseLine:o.baseLine,prevPoints:i.curPoints,prevBaseLine:i.curBaseLine}:o.points!==i.curPoints||o.baseLine!==i.curBaseLine?{curPoints:o.points,curBaseLine:o.baseLine}:null}}]),e}(m.PureComponent);Blt=bA;d9(bA,"displayName","Area");d9(bA,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!k2.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});d9(bA,"getBaseValue",function(t,e,n,o){var i=t.layout,r=t.baseValue,a=e.props.baseValue,l=a??r;if(si(l)&&typeof l=="number")return l;var s=i==="horizontal"?o:n,c=s.scale.domain();if(s.type==="number"){var u=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return l==="dataMin"?d:l==="dataMax"||u<0?u:Math.max(Math.min(c[0],c[1]),0)}return l==="dataMin"?c[0]:l==="dataMax"?c[1]:c[0]});d9(bA,"getComposedData",function(t){var e=t.props,n=t.item,o=t.xAxis,i=t.yAxis,r=t.xAxisTicks,a=t.yAxisTicks,l=t.bandSize,s=t.dataKey,c=t.stackedData,u=t.dataStartIndex,d=t.displayedData,f=t.offset,p=e.layout,g=c&&c.length,y=Blt.getBaseValue(e,n,o,i),A=p==="horizontal",x=!1,C=d.map(function(v,S){var w;g?w=c[u+S]:(w=Uu(v,s),Array.isArray(w)?x=!0:w=[y,w]);var T=w[1]==null||g&&Uu(v,s)==null;return A?{x:qR({axis:o,ticks:r,bandSize:l,entry:v,index:S}),y:T?null:i.scale(w[1]),value:w,payload:v}:{x:T?null:o.scale(w[1]),y:qR({axis:i,ticks:a,bandSize:l,entry:v,index:S}),value:w,payload:v}}),b;return g||x?b=C.map(function(v){var S=Array.isArray(v.value)?v.value[0]:null;return A?{x:v.x,y:S!=null&&v.y!=null?i.scale(S):null}:{x:S!=null?o.scale(S):null,y:v.y}}):b=A?i.scale(y):o.scale(y),W4({points:C,baseLine:b,layout:p,isRange:x},f)});d9(bA,"renderDotItem",function(t,e){var n;if(Se.isValidElement(t))n=Se.cloneElement(t,e);else if(Aa(t))n=t(e);else{var o=cl("recharts-area-dot",typeof t!="boolean"?t.className:"");n=Se.createElement($N,$v({},e,{className:o}))}return n});var tU=function(){return null};tU.displayName="ZAxis";tU.defaultProps={zAxisId:0,range:[64,64],scale:"auto",type:"number"};var xMo=["option","isActive"];function NE(){return NE=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function SMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function TMo(t){var e=t.option,n=t.isActive,o=bMo(t,xMo);return typeof e=="string"?Se.createElement(hhe,NE({option:Se.createElement(bee,NE({type:e},o)),isActive:n,shapeType:"symbols"},o)):Se.createElement(hhe,NE({option:e,isActive:n,shapeType:"symbols"},o))}function iH(t){"@babel/helpers - typeof";return iH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iH(t)}function UE(){return UE=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function eIo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function tIo(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function nIo(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n0?a:e&&e.length&&si(i)&&si(r)?e.slice(i,r+1):[]};function Qlt(t){return t==="number"?[0,"auto"]:void 0}var zhe=function(e,n,o,i){var r=e.graphicalItems,a=e.tooltipAxis,l=Nee(n,e);return o<0||!r||!r.length||o>=l.length?null:r.reduce(function(s,c){var u,d=(u=c.props.data)!==null&&u!==void 0?u:n;d&&e.dataStartIndex+e.dataEndIndex!==0&&(d=d.slice(e.dataStartIndex,e.dataEndIndex+1));var f;if(a.dataKey&&!a.allowDuplicatedCategory){var p=d===void 0?l:d;f=iJ(p,a.dataKey,i)}else f=d&&d[o]||l[o];return f?[].concat(aH(s),[ilt(c,f)]):s},[])},bEe=function(e,n,o,i){var r=i||{x:e.chartX,y:e.chartY},a=hIo(r,o),l=e.orderedTooltipTicks,s=e.tooltipAxis,c=e.tooltipTicks,u=Cbo(a,l,c,s);if(u>=0&&c){var d=c[u]&&c[u].value,f=zhe(e,n,u,d),p=pIo(o,l,u,r);return{activeTooltipIndex:u,activeLabel:d,activePayload:f,activeCoordinate:p}}return null},gIo=function(e,n){var o=n.axes,i=n.graphicalItems,r=n.axisType,a=n.axisIdKey,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.layout,d=e.children,f=e.stackOffset,p=tlt(u,r);return o.reduce(function(g,y){var A,x=y.props,C=x.type,b=x.dataKey,v=x.allowDataOverflow,S=x.allowDuplicatedCategory,w=x.scale,T=x.ticks,P=x.includeHidden,R=y.props[a];if(g[R])return g;var H=Nee(e.data,{graphicalItems:i.filter(function(_){return _.props[a]===R}),dataStartIndex:s,dataEndIndex:c}),D=H.length,E,L,U;YMo(y.props.domain,v,C)&&(E=$fe(y.props.domain,null,v),p&&(C==="number"||w!=="auto")&&(U=FE(H,b,"category")));var F=Qlt(C);if(!E||E.length===0){var W,B=(W=y.props.domain)!==null&&W!==void 0?W:F;if(b){if(E=FE(H,b,C),C==="category"&&p){var k=B9o(E);S&&k?(L=E,E=WJ(0,D)):S||(E=Qze(B,E,y).reduce(function(_,J){return _.indexOf(J)>=0?_:[].concat(aH(_),[J])},[]))}else if(C==="category")S?E=E.filter(function(_){return _!==""&&!ra(_)}):E=Qze(B,E,y).reduce(function(_,J){return _.indexOf(J)>=0||J===""||ra(J)?_:[].concat(aH(_),[J])},[]);else if(C==="number"){var N=zbo(H,i.filter(function(_){return _.props[a]===R&&(P||!_.props.hide)}),b,r,u);N&&(E=N)}p&&(C==="number"||w!=="auto")&&(U=FE(H,b,"category"))}else p?E=WJ(0,D):l&&l[R]&&l[R].hasStack&&C==="number"?E=f==="expand"?[0,1]:olt(l[R].stackGroups,s,c):E=elt(H,i.filter(function(_){return _.props[a]===R&&(P||!_.props.hide)}),C,u,!0);if(C==="number")E=Hhe(d,E,R,r,T),B&&(E=$fe(B,E,v));else if(C==="category"&&B){var j=B,Y=E.every(function(_){return j.indexOf(_)>=0});Y&&(E=j)}}return To(To({},g),{},Lr({},R,To(To({},y.props),{},{axisType:r,domain:E,categoricalDomain:U,duplicateDomain:L,originalDomain:(A=y.props.domain)!==null&&A!==void 0?A:F,isCategorical:p,layout:u})))},{})},mIo=function(e,n){var o=n.graphicalItems,i=n.Axis,r=n.axisType,a=n.axisIdKey,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.layout,d=e.children,f=Nee(e.data,{graphicalItems:o,dataStartIndex:s,dataEndIndex:c}),p=f.length,g=tlt(u,r),y=-1;return o.reduce(function(A,x){var C=x.props[a],b=Qlt("number");if(!A[C]){y++;var v;return g?v=WJ(0,p):l&&l[C]&&l[C].hasStack?(v=olt(l[C].stackGroups,s,c),v=Hhe(d,v,C,r)):(v=$fe(b,elt(f,o.filter(function(S){return S.props[a]===C&&!S.props.hide}),"number",u),i.defaultProps.allowDataOverflow),v=Hhe(d,v,C,r)),To(To({},A),{},Lr({},C,To(To({axisType:r},i.defaultProps),{},{hide:!0,orientation:Bm(dIo,"".concat(r,".").concat(y%2),null),domain:v,originalDomain:b,isCategorical:g,layout:u})))}return A},{})},yIo=function(e,n){var o=n.axisType,i=o===void 0?"xAxis":o,r=n.AxisComp,a=n.graphicalItems,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.children,d="".concat(i,"Id"),f=Kp(u,r),p={};return f&&f.length?p=gIo(e,{axes:f,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:l,dataStartIndex:s,dataEndIndex:c}):a&&a.length&&(p=mIo(e,{Axis:r,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:l,dataStartIndex:s,dataEndIndex:c})),p},AIo=function(e){var n=iw(e),o=x6(n,!1,!0);return{tooltipTicks:o,orderedTooltipTicks:$9e(o,function(i){return i.coordinate}),tooltipAxis:n,tooltipAxisBandSize:HJ(n,o)}},SEe=function(e){var n=e.children,o=e.defaultShowTooltip,i=$1(n,ZR),r=0,a=0;return e.data&&e.data.length!==0&&(a=e.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(r=i.props.startIndex),i.props.endIndex>=0&&(a=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:r,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!o}},wIo=function(e){return!e||!e.length?!1:e.some(function(n){var o=D6(n&&n.type);return o&&o.indexOf("Bar")>=0})},TEe=function(e){return e==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:e==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:e==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},vIo=function(e,n){var o=e.props,i=e.graphicalItems,r=e.xAxisMap,a=r===void 0?{}:r,l=e.yAxisMap,s=l===void 0?{}:l,c=o.width,u=o.height,d=o.children,f=o.margin||{},p=$1(d,ZR),g=$1(d,j2),y=Object.keys(s).reduce(function(S,w){var T=s[w],P=T.orientation;return!T.mirror&&!T.hide?To(To({},S),{},Lr({},P,S[P]+T.width)):S},{left:f.left||0,right:f.right||0}),A=Object.keys(a).reduce(function(S,w){var T=a[w],P=T.orientation;return!T.mirror&&!T.hide?To(To({},S),{},Lr({},P,Bm(S,"".concat(P))+T.height)):S},{top:f.top||0,bottom:f.bottom||0}),x=To(To({},A),y),C=x.bottom;p&&(x.bottom+=p.props.height||ZR.defaultProps.height),g&&n&&(x=Mbo(x,i,o,n));var b=c-x.left-x.right,v=u-x.top-x.bottom;return To(To({brushBottom:C},x),{},{width:Math.max(b,0),height:Math.max(v,0)})},xIo=function(e,n){if(n==="xAxis")return e[n].width;if(n==="yAxis")return e[n].height},nU=function(e){var n,o=e.chartName,i=e.GraphicalChild,r=e.defaultTooltipEventType,a=r===void 0?"axis":r,l=e.validateTooltipEventTypes,s=l===void 0?["axis"]:l,c=e.axisComponents,u=e.legendContent,d=e.formatAxisMap,f=e.defaultProps,p=function(A,x){var C=x.graphicalItems,b=x.stackGroups,v=x.offset,S=x.updateId,w=x.dataStartIndex,T=x.dataEndIndex,P=A.barSize,R=A.layout,H=A.barGap,D=A.barCategoryGap,E=A.maxBarSize,L=TEe(R),U=L.numericAxisName,F=L.cateAxisName,W=wIo(C),B=[];return C.forEach(function(k,N){var j=Nee(A.data,{graphicalItems:[k],dataStartIndex:w,dataEndIndex:T}),Y=k.props,_=Y.dataKey,J=Y.maxBarSize,Q=k.props["".concat(U,"Id")],ee=k.props["".concat(F,"Id")],$={},q=c.reduce(function(me,Re){var ze=x["".concat(Re.axisType,"Map")],Ae=k.props["".concat(Re.axisType,"Id")];ze&&ze[Ae]||Re.axisType==="zAxis"||cb();var re=ze[Ae];return To(To({},me),{},Lr(Lr({},Re.axisType,re),"".concat(Re.axisType,"Ticks"),x6(re)))},$),le=q[F],ie=q["".concat(F,"Ticks")],pe=b&&b[Q]&&b[Q].hasStack&&Obo(k,b[Q].stackGroups),ne=D6(k.type).indexOf("Bar")>=0,Z=HJ(le,ie),he=[],fe=W&&Rbo({barSize:P,stackGroups:b,totalSize:xIo(q,F)});if(ne){var se,oe,de=ra(J)?E:J,ve=(se=(oe=HJ(le,ie,!0))!==null&&oe!==void 0?oe:de)!==null&&se!==void 0?se:0;he=Hbo({barGap:H,barCategoryGap:D,bandSize:ve!==Z?ve:Z,sizeList:fe[ee],maxBarSize:de}),ve!==Z&&(he=he.map(function(me){return To(To({},me),{},{position:To(To({},me.position),{},{offset:me.position.offset-ve/2})})}))}var Pe=k&&k.type&&k.type.getComposedData;Pe&&B.push({props:To(To({},Pe(To(To({},q),{},{displayedData:j,props:A,dataKey:_,item:k,bandSize:Z,barPosition:he,offset:v,stackedData:pe,layout:R,dataStartIndex:w,dataEndIndex:T}))),{},Lr(Lr(Lr({key:k.key||"item-".concat(N)},U,q[U]),F,q[F]),"animationId",S)),childIndex:Q9o(k,A.children),item:k})}),B},g=function(A,x){var C=A.props,b=A.dataStartIndex,v=A.dataEndIndex,S=A.updateId;if(!fIe({props:C}))return null;var w=C.children,T=C.layout,P=C.stackOffset,R=C.data,H=C.reverseStackOrder,D=TEe(T),E=D.numericAxisName,L=D.cateAxisName,U=Kp(w,i),F=Bbo(R,U,"".concat(E,"Id"),"".concat(L,"Id"),P,H),W=c.reduce(function(Y,_){var J="".concat(_.axisType,"Map");return To(To({},Y),{},Lr({},J,yIo(C,To(To({},_),{},{graphicalItems:U,stackGroups:_.axisType===E&&F,dataStartIndex:b,dataEndIndex:v}))))},{}),B=vIo(To(To({},W),{},{props:C,graphicalItems:U}),x==null?void 0:x.legendBBox);Object.keys(W).forEach(function(Y){W[Y]=d(C,W[Y],B,Y.replace("Map",""),o)});var k=W["".concat(L,"Map")],N=AIo(k),j=p(C,To(To({},W),{},{dataStartIndex:b,dataEndIndex:v,updateId:S,graphicalItems:U,stackGroups:F,offset:B}));return To(To({formattedGraphicalItems:j,graphicalItems:U,offset:B,stackGroups:F},N),W)};return n=function(y){aIo(A,y);function A(x){var C,b,v;return tIo(this,A),v=iIo(this,A,[x]),Lr(vl(v),"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Lr(vl(v),"accessibilityManager",new jMo),Lr(vl(v),"handleLegendBBoxUpdate",function(S){if(S){var w=v.state,T=w.dataStartIndex,P=w.dataEndIndex,R=w.updateId;v.setState(To({legendBBox:S},g({props:v.props,dataStartIndex:T,dataEndIndex:P,updateId:R},To(To({},v.state),{},{legendBBox:S}))))}}),Lr(vl(v),"handleReceiveSyncEvent",function(S,w,T){if(v.props.syncId===S){if(T===v.eventEmitterSymbol&&typeof v.props.syncMethod!="function")return;v.applySyncEvent(w)}}),Lr(vl(v),"handleBrushChange",function(S){var w=S.startIndex,T=S.endIndex;if(w!==v.state.dataStartIndex||T!==v.state.dataEndIndex){var P=v.state.updateId;v.setState(function(){return To({dataStartIndex:w,dataEndIndex:T},g({props:v.props,dataStartIndex:w,dataEndIndex:T,updateId:P},v.state))}),v.triggerSyncEvent({dataStartIndex:w,dataEndIndex:T})}}),Lr(vl(v),"handleMouseEnter",function(S){var w=v.getMouseInfo(S);if(w){var T=To(To({},w),{},{isTooltipActive:!0});v.setState(T),v.triggerSyncEvent(T);var P=v.props.onMouseEnter;Aa(P)&&P(T,S)}}),Lr(vl(v),"triggeredAfterMouseMove",function(S){var w=v.getMouseInfo(S),T=w?To(To({},w),{},{isTooltipActive:!0}):{isTooltipActive:!1};v.setState(T),v.triggerSyncEvent(T);var P=v.props.onMouseMove;Aa(P)&&P(T,S)}),Lr(vl(v),"handleItemMouseEnter",function(S){v.setState(function(){return{isTooltipActive:!0,activeItem:S,activePayload:S.tooltipPayload,activeCoordinate:S.tooltipPosition||{x:S.cx,y:S.cy}}})}),Lr(vl(v),"handleItemMouseLeave",function(){v.setState(function(){return{isTooltipActive:!1}})}),Lr(vl(v),"handleMouseMove",function(S){S.persist(),v.throttleTriggeredAfterMouseMove(S)}),Lr(vl(v),"handleMouseLeave",function(S){v.throttleTriggeredAfterMouseMove.cancel();var w={isTooltipActive:!1};v.setState(w),v.triggerSyncEvent(w);var T=v.props.onMouseLeave;Aa(T)&&T(w,S)}),Lr(vl(v),"handleOuterEvent",function(S){var w=$9o(S),T=Bm(v.props,"".concat(w));if(w&&Aa(T)){var P,R;/.*touch.*/i.test(w)?R=v.getMouseInfo(S.changedTouches[0]):R=v.getMouseInfo(S),T((P=R)!==null&&P!==void 0?P:{},S)}}),Lr(vl(v),"handleClick",function(S){var w=v.getMouseInfo(S);if(w){var T=To(To({},w),{},{isTooltipActive:!0});v.setState(T),v.triggerSyncEvent(T);var P=v.props.onClick;Aa(P)&&P(T,S)}}),Lr(vl(v),"handleMouseDown",function(S){var w=v.props.onMouseDown;if(Aa(w)){var T=v.getMouseInfo(S);w(T,S)}}),Lr(vl(v),"handleMouseUp",function(S){var w=v.props.onMouseUp;if(Aa(w)){var T=v.getMouseInfo(S);w(T,S)}}),Lr(vl(v),"handleTouchMove",function(S){S.changedTouches!=null&&S.changedTouches.length>0&&v.throttleTriggeredAfterMouseMove(S.changedTouches[0])}),Lr(vl(v),"handleTouchStart",function(S){S.changedTouches!=null&&S.changedTouches.length>0&&v.handleMouseDown(S.changedTouches[0])}),Lr(vl(v),"handleTouchEnd",function(S){S.changedTouches!=null&&S.changedTouches.length>0&&v.handleMouseUp(S.changedTouches[0])}),Lr(vl(v),"triggerSyncEvent",function(S){v.props.syncId!==void 0&&ole.emit(ile,v.props.syncId,S,v.eventEmitterSymbol)}),Lr(vl(v),"applySyncEvent",function(S){var w=v.props,T=w.layout,P=w.syncMethod,R=v.state.updateId,H=S.dataStartIndex,D=S.dataEndIndex;if(S.dataStartIndex!==void 0||S.dataEndIndex!==void 0)v.setState(To({dataStartIndex:H,dataEndIndex:D},g({props:v.props,dataStartIndex:H,dataEndIndex:D,updateId:R},v.state)));else if(S.activeTooltipIndex!==void 0){var E=S.chartX,L=S.chartY,U=S.activeTooltipIndex,F=v.state,W=F.offset,B=F.tooltipTicks;if(!W)return;if(typeof P=="function")U=P(B,S);else if(P==="value"){U=-1;for(var k=0;k=0){var pe,ne;if(E.dataKey&&!E.allowDuplicatedCategory){var Z=typeof E.dataKey=="function"?ie:"payload.".concat(E.dataKey.toString());pe=iJ(k,Z,U),ne=N&&j&&iJ(j,Z,U)}else pe=k==null?void 0:k[L],ne=N&&j&&j[L];if(ee||Q){var he=S.props.activeIndex!==void 0?S.props.activeIndex:L;return[m.cloneElement(S,To(To(To({},P.props),q),{},{activeIndex:he})),null,null]}if(!ra(pe))return[le].concat(aH(v.renderActivePoints({item:P,activePoint:pe,basePoint:ne,childIndex:L,isRange:N})))}else{var fe,se=(fe=v.getItemByXY(v.state.activeCoordinate))!==null&&fe!==void 0?fe:{graphicalItem:le},oe=se.graphicalItem,de=oe.item,ve=de===void 0?S:de,Pe=oe.childIndex,me=To(To(To({},P.props),q),{},{activeIndex:Pe});return[m.cloneElement(ve,me),null,null]}return N?[le,null,null]:[le,null]}),Lr(vl(v),"renderCustomized",function(S,w,T){return m.cloneElement(S,To(To({key:"recharts-customized-".concat(T)},v.props),v.state))}),Lr(vl(v),"renderMap",{CartesianGrid:{handler:XO,once:!0},ReferenceArea:{handler:v.renderReferenceElement},ReferenceLine:{handler:XO},ReferenceDot:{handler:v.renderReferenceElement},XAxis:{handler:XO},YAxis:{handler:XO},Brush:{handler:v.renderBrush,once:!0},Bar:{handler:v.renderGraphicChild},Line:{handler:v.renderGraphicChild},Area:{handler:v.renderGraphicChild},Radar:{handler:v.renderGraphicChild},RadialBar:{handler:v.renderGraphicChild},Scatter:{handler:v.renderGraphicChild},Pie:{handler:v.renderGraphicChild},Funnel:{handler:v.renderGraphicChild},Tooltip:{handler:v.renderCursor,once:!0},PolarGrid:{handler:v.renderPolarGrid,once:!0},PolarAngleAxis:{handler:v.renderPolarAxis},PolarRadiusAxis:{handler:v.renderPolarAxis},Customized:{handler:v.renderCustomized}}),v.clipPathId="".concat((C=x.id)!==null&&C!==void 0?C:oS("recharts"),"-clip"),v.throttleTriggeredAfterMouseMove=tat(v.triggeredAfterMouseMove,(b=x.throttleDelay)!==null&&b!==void 0?b:1e3/60),v.state={},v}return oIo(A,[{key:"componentDidMount",value:function(){var C,b;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(b=this.props.margin.top)!==null&&b!==void 0?b:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var C=this.props,b=C.children,v=C.data,S=C.height,w=C.layout,T=$1(b,Zf);if(T){var P=T.props.defaultIndex;if(!(typeof P!="number"||P<0||P>this.state.tooltipTicks.length)){var R=this.state.tooltipTicks[P]&&this.state.tooltipTicks[P].value,H=zhe(this.state,v,P,R),D=this.state.tooltipTicks[P].coordinate,E=(this.state.offset.top+S)/2,L=w==="horizontal",U=L?{x:D,y:E}:{y:D,x:E},F=this.state.formattedGraphicalItems.find(function(B){var k=B.item;return k.type.name==="Scatter"});F&&(U=To(To({},U),F.props.points[P].tooltipPosition),H=F.props.points[P].tooltipPayload);var W={activeTooltipIndex:P,isTooltipActive:!0,activeLabel:R,activePayload:H,activeCoordinate:U};this.setState(W),this.renderCursor(T),this.accessibilityManager.setIndex(P)}}}},{key:"getSnapshotBeforeUpdate",value:function(C,b){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==b.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==C.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==C.margin){var v,S;this.accessibilityManager.setDetails({offset:{left:(v=this.props.margin.left)!==null&&v!==void 0?v:0,top:(S=this.props.margin.top)!==null&&S!==void 0?S:0}})}return null}},{key:"componentDidUpdate",value:function(C){yfe([$1(C.children,Zf)],[$1(this.props.children,Zf)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var C=$1(this.props.children,Zf);if(C&&typeof C.props.shared=="boolean"){var b=C.props.shared?"axis":"item";return s.indexOf(b)>=0?b:a}return a}},{key:"getMouseInfo",value:function(C){if(!this.container)return null;var b=this.container,v=b.getBoundingClientRect(),S=f7o(v),w={chartX:Math.round(C.pageX-S.left),chartY:Math.round(C.pageY-S.top)},T=v.width/b.offsetWidth||1,P=this.inRange(w.chartX,w.chartY,T);if(!P)return null;var R=this.state,H=R.xAxisMap,D=R.yAxisMap,E=this.getTooltipEventType();if(E!=="axis"&&H&&D){var L=iw(H).scale,U=iw(D).scale,F=L&&L.invert?L.invert(w.chartX):null,W=U&&U.invert?U.invert(w.chartY):null;return To(To({},w),{},{xValue:F,yValue:W})}var B=bEe(this.state,this.props.data,this.props.layout,P);return B?To(To({},w),B):null}},{key:"inRange",value:function(C,b){var v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,S=this.props.layout,w=C/v,T=b/v;if(S==="horizontal"||S==="vertical"){var P=this.state.offset,R=w>=P.left&&w<=P.left+P.width&&T>=P.top&&T<=P.top+P.height;return R?{x:w,y:T}:null}var H=this.state,D=H.angleAxisMap,E=H.radiusAxisMap;if(D&&E){var L=iw(D);return tDe({x:w,y:T},L)}return null}},{key:"parseEventsOfWrapper",value:function(){var C=this.props.children,b=this.getTooltipEventType(),v=$1(C,Zf),S={};v&&b==="axis"&&(v.props.trigger==="click"?S={onClick:this.handleClick}:S={onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd});var w=rJ(this.props,this.handleOuterEvent);return To(To({},w),S)}},{key:"addListener",value:function(){ole.on(ile,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){ole.removeListener(ile,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(C,b,v){for(var S=this.state.formattedGraphicalItems,w=0,T=S.length;w{const i=Kt(),[r,a]=m.useState(!1),l=()=>{n==null||n(!t)},s=()=>{o==null||o(!e)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(c7,{checked:t,onClick:l,children:O.t("menu.graph.ShowHorizontalGridLines",i)}),h.jsx(c7,{checked:e,onClick:s,children:O.t("menu.graph.ShowHorizontalGridLines",i)})]}),children:h.jsx(hme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:r?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{a(!0)},onMouseOut:()=>{a(!1)}})})}),Zlt=Se.memo(({type:t,dataSource:e,height:n,dataKeyAxisX:o,labelX:i,labelY:r,unitX:a,unitY:l,yMin:s="auto",yMax:c="auto",fractionDigits:u=2,referenceX:d,color:f})=>{const[p,g]=m.useState(0),[y,A]=m.useState(!0),[x,C]=m.useState(!0),[b,v]=m.useState(null);m.useEffect(()=>{if(!e||e.length===0)return;const R=Array.isArray(e)?Object.keys(e[0]).length-1:Object.keys(e).length-1;p!==R&&g(R)},[e]);const S=m.useMemo(()=>{const R=[];for(let H=0;H{},T=R=>{v(R.dataKey)},P=()=>{v(null)};return h.jsx(h.Fragment,{children:e&&h.jsx("div",{id:"bar-graph-"+i+"-"+r,style:{width:"100%",height:`${n}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(bIo,{data:e,onMouseDown:w,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:R=>R.toFixed(u)+" "+l}),h.jsx(A7,{vertical:x,horizontal:y,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:d,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:o??i,fontSize:"10px",children:h.jsx(Zl,{value:i+(a?" ("+a+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[s,c],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:r+(l?" ("+l+")":""),offset:0,angle:-90,position:"center"})}),S,p>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:P,onMouseEnter:T})]})}),h.jsx(CIo,{horizontalGrid:y,verticalGrid:x,changeHorizontalGrid:R=>{A(R)},changeVerticalGrid:R=>{C(R)}})]})})})}),PM=1,RIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,numberOfPoints:a,numberOfSymbols:l,scale:s,fillColor:c}=t,u=a?Math.round(a/l):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*s,y:n-10*s,width:20*s,height:20*s,viewBox:"-10 -10 20 20",children:h.jsx("circle",{cx:"0",cy:"0",r:"3",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},HIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("rect",{x:"-3",y:"-3",width:"6",height:"6",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},JO=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,direction:c,fillColor:u}=t,d=l?Math.round(l/s):1;if(e&&n&&r>0&&r%d===0){let f;switch(c){case 1:f="-4,2.5,4,2.5,0,-3.5";break;case 2:f="2.5,4,2.5,-4,-3.5,0";break;case 3:f="-2.5,4,-2.5,-4,3.5,0";break;default:f="-4,-2.5,4,-2.5,0,3.5"}return h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("polygon",{points:f,style:{opacity:o,stroke:i,fill:u??"white",strokeWidth:PM}})})}return null},MIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("polygon",{points:"-3,0,0,5,3,0,0,-5",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},IIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;if(e&&n&&r>0&&r%u===0){const d=.05*a;return h.jsx("svg",{x:e-100*d,y:n-100*d,width:300*d,height:300*d,viewBox:"0 0 300 300",children:h.jsx("polygon",{points:"100,10 40,180 190,60 10,60 160,180",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})})}return null},zIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;if(e&&n&&r>0&&r%u===0){const d=.02*a;return h.jsx("svg",{x:e-150*d,y:n-150*d,width:300*d,height:300*d,viewBox:"0 0 300 300",children:h.jsx("polygon",{className:"hex",points:"300,150 225,280 75,280 0,150 75,20 225,20",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})})}return null},Hx=(t,e,n,o,i,r)=>{switch(t){case"circle":return h.jsx(RIo,{scale:e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"square":return h.jsx(HIo,{scale:e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"triangle up":return h.jsx(JO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:1,opacity:i,fillColor:r});case"triangle down":return h.jsx(JO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:0,opacity:i,fillColor:r});case"triangle right":return h.jsx(JO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:3,opacity:i,fillColor:r});case"triangle left":return h.jsx(JO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:2,opacity:i,fillColor:r});case"star":return h.jsx(IIo,{scale:1.25*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"diamond":return h.jsx(MIo,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"hexagon":return h.jsx(zIo,{scale:1.3*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r})}},DIo=Se.memo(({horizontalGrid:t,verticalGrid:e,lineCount:n,lineWidth:o,symbolSize:i,changeHorizontalGrid:r,changeVerticalGrid:a,changeLineWidth:l,changeSymbolSize:s})=>{const c=Kt(),[u,d]=m.useState(!1),f=()=>{r==null||r(!t)},p=()=>{a==null||a(!e)},g=A=>{l==null||l(A/2)},y=A=>{s==null||s(A/5)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:0,max:10,value:o*2,onChange:g,children:O.t("menu.graph.LineWidth",c)+":"}),h.jsx(bC,{min:2,max:12,value:i*5,onChange:y,children:O.t("menu.graph.SymbolSize",c)+":"}),h.jsx(c7,{checked:t,onClick:f,children:O.t("menu.graph.ShowHorizontalGridLines",c)}),h.jsx(c7,{checked:e,onClick:p,children:O.t("menu.graph.ShowHorizontalGridLines",c)})]}),children:h.jsx(hme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:u?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{d(!0)},onMouseOut:()=>{d(!1)}})})}),Mx=["circle","square","triangle up","triangle down","triangle right","triangle left","star","diamond","hexagon"],mf=({type:t,chartType:e=Pl.Line,selectedIndex:n,dataSource:o,labels:i,height:r,dataKeyAxisX:a,labelX:l,labelY:s,unitX:c,unitY:u,yMin:d="auto",yMax:f="auto",curveType:p="linear",referenceX:g,fractionDigits:y=2,symbolCount:A=12})=>{const[x,C]=m.useState(0),[b,v]=m.useState(!0),[S,w]=m.useState(!0),[T,P]=m.useState(null),[R,H]=m.useState(2),[D,E]=m.useState(1);m.useEffect(()=>{if(!o||o.length===0){C(0);return}const B=Array.isArray(o)?Object.keys(o[0]).length-1:Object.keys(o).length-1;x!==B&&C(B)},[x,o]);const L=m.useMemo(()=>{const B=[];let k;for(let N=0;N0?_||k:!1,isAnimationActive:!1},N))}return B},[t,e,n,p,i,x,R,A,D,T]),U=()=>{},F=B=>{P(B.dataKey)},W=()=>{P(null)};return h.jsx(h.Fragment,{children:o&&h.jsx("div",{id:"line-graph-"+l+"-"+s,style:{width:"100%",height:`${r}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:e===Pl.Area?h.jsxs(TIo,{data:o,onMouseDown:U,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:B=>B.toFixed(y)+" "+u}),h.jsx(A7,{vertical:S,horizontal:b,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:g,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:a??l,fontSize:"10px",children:h.jsx(Zl,{value:l+(c?" ("+c+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[d,f],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:s+(u?" ("+u+")":""),offset:0,angle:-90,position:"center"})}),L,x>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:W,onMouseEnter:F})]}):h.jsxs(D3e,{data:o,onMouseDown:U,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:B=>B.toFixed(y)+" "+u}),h.jsx(A7,{vertical:S,horizontal:b,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:g,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:a??l,fontSize:"10px",children:h.jsx(Zl,{value:l+(c?" ("+c+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[d,f],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:s+(u?" ("+u+")":""),offset:0,angle:-90,position:"center"})}),L,x>1&&h.jsx(j2,{wrapperStyle:{fontSize:"11px"},iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:W,onMouseEnter:F})]})}),h.jsx(DIo,{lineCount:x,symbolSize:D,lineWidth:R,horizontalGrid:b,verticalGrid:S,changeHorizontalGrid:B=>{v(B)},changeVerticalGrid:B=>{w(B)},changeLineWidth:B=>{H(B)},changeSymbolSize:B=>{E(B)}})]})})})},EIo=Ho.div` position: fixed; top: 80px; left: 50px; @@ -8662,7 +8662,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho align-items: center; padding: 16px; z-index: 10; -`,LIo=Ho.div` +`,kIo=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -8679,7 +8679,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho overflow-x: auto; overflow-y: auto; resize: both; -`,WIo=Ho.div` +`,FIo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8690,7 +8690,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho justify-content: space-between; align-items: center; cursor: move; -`,NIo=Se.memo(({city:t,graphs:e})=>{const n=M(pu)??m0,o=M(dn),i=M(En),r=new Date(M(Ya)),a=M(wAt),l=M(bc),s=Se.useRef(null),c=m.useRef(null),u=m.useRef(),d=c.current?c.current.clientWidth+40:a?a.width+40:540,f=c.current?c.current.clientHeight+100:a?a.height+100:600,[p,g]=m.useState({x:a?Math.min(a.x,window.innerWidth-d):0,y:a?Math.min(a.y,window.innerHeight-f):0}),y=Kt(),A=r1(t);m.useEffect(()=>{g({x:Math.min(a==null?void 0:a.x,window.innerWidth-d),y:Math.min(a==null?void 0:a.y,window.innerHeight-f)})},[a,d,f]),m.useEffect(()=>{const R=()=>{g({x:Math.min(a==null?void 0:a.x,window.innerWidth-d),y:Math.min(a==null?void 0:a.y,window.innerHeight-f)})};return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}},[a,d,f]),m.useEffect(()=>(c.current&&(u.current||(u.current=new ResizeObserver(()=>{o(R=>{c.current&&(R.viewState.weatherPanelRect||(R.viewState.weatherPanelRect=new ri(0,0,500,500)),R.viewState.weatherPanelRect.width=c.current.offsetWidth,R.viewState.weatherPanelRect.height=c.current.offsetHeight)})})),u.current.observe(c.current)),()=>{var R;(R=u.current)==null||R.disconnect()}),[]);const x=m.useMemo(()=>e?Math.floor(100/e.length):100,[e]),C=m.useMemo(()=>{if(!e)return;const R={};return A&&e.forEach(H=>{switch(R[H]=[],H){case xr.MonthlyTemperatures:for(let D=0;D<12;D++)R[H].push({Month:Ps[D],Low:A.lowestTemperatures[D],High:A.highestTemperatures[D]});break;case xr.SunshineHours:for(let D=0;D<12;D++)R[H].push({Month:Ps[D],Sunshine:A.sunshineHours[D]});break}}),R},[e,A]),b=["NA",O.t("word.Temperature",y),O.t("word.Temperature",y),O.t("weatherPanel.SunshineHours",y)],v=["NA","°C","°C",O.t("word.Hour",y)],S=Ps[r.getMonth()],w=(R,H)=>{g({x:Math.min(H.x,window.innerWidth-d),y:Math.min(H.y,window.innerHeight-f)})},T=(R,H)=>{o(D=>{D.viewState.weatherPanelRect||(D.viewState.weatherPanelRect=new ri(0,0,500,500)),D.viewState.weatherPanelRect.x=Math.min(H.x,window.innerWidth-d),D.viewState.weatherPanelRect.y=Math.min(H.y,window.innerHeight-f)})},P=()=>{const R={name:"Close Weather Panel",timestamp:Date.now(),undo:()=>{o(H=>{H.viewState.showWeatherPanel=!0})},redo:()=>{o(H=>{H.viewState.showWeatherPanel=!1})}};i(R),o(H=>{H.viewState.showWeatherPanel=!1})};return h.jsx(Vr,{nodeRef:s,handle:".handle",bounds:"parent",axis:"both",position:p,onDrag:w,onStop:T,onMouseDown:()=>{o(R=>{R.selectedFloatingWindow="weatherPanel"})},children:h.jsx(FIo,{ref:s,style:{zIndex:l==="weatherPanel"?xc:10},children:h.jsxs(LIo,{ref:c,style:{opacity:n,width:(a?a.width:500)+"px",height:(a?a.height:500)+"px"},children:[h.jsxs(WIo,{className:"handle",children:[h.jsx("span",{children:O.t("word.Weather",y)+": "+(t!=null&&t.trim().endsWith(",")?t==null?void 0:t.trim().substring(0,(t==null?void 0:t.length)-2):t)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{P()},onMouseDown:()=>{P()},children:O.t("word.Close",y)})]}),h.jsx(h.Fragment,{children:e.map(R=>R===xr.SunshineHours?h.jsx(Zlt,{type:R,dataSource:C[R],height:x,dataKeyAxisX:"Month",labelX:O.t("word.Month",y),labelY:b[R],unitY:v[R],yMin:0,fractionDigits:1,referenceX:S,color:"#FFD700"},R):h.jsx(mf,{chartType:Pl.Line,type:R,dataSource:C[R],height:x,dataKeyAxisX:"Month",labelX:O.t("word.Month",y),labelY:b[R],unitY:v[R],fractionDigits:1,referenceX:S},R))})]})})})}),UIo=Ho.div` +`,LIo=Se.memo(({city:t,graphs:e})=>{const n=M(pu)??m0,o=M(dn),i=M(En),r=new Date(M(Ya)),a=M(yAt),l=M(bc),s=Se.useRef(null),c=m.useRef(null),u=m.useRef(),d=c.current?c.current.clientWidth+40:a?a.width+40:540,f=c.current?c.current.clientHeight+100:a?a.height+100:600,[p,g]=m.useState({x:a?Math.min(a.x,window.innerWidth-d):0,y:a?Math.min(a.y,window.innerHeight-f):0}),y=Kt(),A=a1(t);m.useEffect(()=>{g({x:Math.min(a==null?void 0:a.x,window.innerWidth-d),y:Math.min(a==null?void 0:a.y,window.innerHeight-f)})},[a,d,f]),m.useEffect(()=>{const R=()=>{g({x:Math.min(a==null?void 0:a.x,window.innerWidth-d),y:Math.min(a==null?void 0:a.y,window.innerHeight-f)})};return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}},[a,d,f]),m.useEffect(()=>(c.current&&(u.current||(u.current=new ResizeObserver(()=>{o(R=>{c.current&&(R.viewState.weatherPanelRect||(R.viewState.weatherPanelRect=new ri(0,0,500,500)),R.viewState.weatherPanelRect.width=c.current.offsetWidth,R.viewState.weatherPanelRect.height=c.current.offsetHeight)})})),u.current.observe(c.current)),()=>{var R;(R=u.current)==null||R.disconnect()}),[]);const x=m.useMemo(()=>e?Math.floor(100/e.length):100,[e]),C=m.useMemo(()=>{if(!e)return;const R={};return A&&e.forEach(H=>{switch(R[H]=[],H){case xr.MonthlyTemperatures:for(let D=0;D<12;D++)R[H].push({Month:Ps[D],Low:A.lowestTemperatures[D],High:A.highestTemperatures[D]});break;case xr.SunshineHours:for(let D=0;D<12;D++)R[H].push({Month:Ps[D],Sunshine:A.sunshineHours[D]});break}}),R},[e,A]),b=["NA",O.t("word.Temperature",y),O.t("word.Temperature",y),O.t("weatherPanel.SunshineHours",y)],v=["NA","°C","°C",O.t("word.Hour",y)],S=Ps[r.getMonth()],w=(R,H)=>{g({x:Math.min(H.x,window.innerWidth-d),y:Math.min(H.y,window.innerHeight-f)})},T=(R,H)=>{o(D=>{D.viewState.weatherPanelRect||(D.viewState.weatherPanelRect=new ri(0,0,500,500)),D.viewState.weatherPanelRect.x=Math.min(H.x,window.innerWidth-d),D.viewState.weatherPanelRect.y=Math.min(H.y,window.innerHeight-f)})},P=()=>{const R={name:"Close Weather Panel",timestamp:Date.now(),undo:()=>{o(H=>{H.viewState.showWeatherPanel=!0})},redo:()=>{o(H=>{H.viewState.showWeatherPanel=!1})}};i(R),o(H=>{H.viewState.showWeatherPanel=!1})};return h.jsx(Vr,{nodeRef:s,handle:".handle",bounds:"parent",axis:"both",position:p,onDrag:w,onStop:T,onMouseDown:()=>{o(R=>{R.selectedFloatingWindow="weatherPanel"})},children:h.jsx(EIo,{ref:s,style:{zIndex:l==="weatherPanel"?xc:10},children:h.jsxs(kIo,{ref:c,style:{opacity:n,width:(a?a.width:500)+"px",height:(a?a.height:500)+"px"},children:[h.jsxs(FIo,{className:"handle",children:[h.jsx("span",{children:O.t("word.Weather",y)+": "+(t!=null&&t.trim().endsWith(",")?t==null?void 0:t.trim().substring(0,(t==null?void 0:t.length)-2):t)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{P()},onMouseDown:()=>{P()},children:O.t("word.Close",y)})]}),h.jsx(h.Fragment,{children:e.map(R=>R===xr.SunshineHours?h.jsx(Zlt,{type:R,dataSource:C[R],height:x,dataKeyAxisX:"Month",labelX:O.t("word.Month",y),labelY:b[R],unitY:v[R],yMin:0,fractionDigits:1,referenceX:S,color:"#FFD700"},R):h.jsx(mf,{chartType:Pl.Line,type:R,dataSource:C[R],height:x,dataKeyAxisX:"Month",labelX:O.t("word.Month",y),labelY:b[R],unitY:v[R],fractionDigits:1,referenceX:S},R))})]})})})}),WIo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -8699,7 +8699,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho align-items: center; padding: 16px; z-index: 9; -`,BIo=Ho.div` +`,NIo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8717,7 +8717,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho overflow-y: auto; resize: both; direction: rtl; -`,jIo=Ho.div` +`,UIo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8728,16 +8728,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho justify-content: space-between; align-items: center; cursor: move; -`,YIo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=bn(E8t),a=bn(sYe),l=M(MAt),s=M(kg),c=M(IAt),u=M(zAt),d=M(bc),[f,p]=m.useState(!0),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:l?l.width+40:640,x=g.current?g.current.clientHeight+100:l?l.height+100:600,[C,b]=m.useState({x:l?Math.max(l.x,A-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-x):0}),v=Se.useRef(null),S=Kt(),w=Ps[i.getMonth()];m.useEffect(()=>{b({x:Math.max(l==null?void 0:l.x,A-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-x)})},[l,A,x]),m.useEffect(()=>{const U=()=>{b({x:Math.max(l==null?void 0:l.x,A-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-x)})};return window.addEventListener("resize",U),()=>{window.removeEventListener("resize",U)}},[l,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(U=>{g.current&&(U.viewState.yearlyLightSensorPanelRect||(U.viewState.yearlyLightSensorPanelRect=new ri(0,0,600,500)),U.viewState.yearlyLightSensorPanelRect.width=g.current.offsetWidth,U.viewState.yearlyLightSensorPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var U;(U=y.current)==null||U.disconnect()}),[]);const T=(U,F)=>{b({x:Math.max(F.x,A-window.innerWidth),y:Math.min(F.y,window.innerHeight-x)})},P=(U,F)=>{o(W=>{W.viewState.yearlyLightSensorPanelRect||(W.viewState.yearlyLightSensorPanelRect=new ri(0,0,600,500)),W.viewState.yearlyLightSensorPanelRect.x=Math.max(F.x,A-window.innerWidth),W.viewState.yearlyLightSensorPanelRect.y=Math.min(F.y,window.innerHeight-x)})},R=()=>{o(U=>{U.viewState.showYearlyLightSensorPanel=!1,e&&(U.actionInfo={name:"Close Yearly Light Sensor Graph",timestamp:new Date().getTime()})})},{t:H}=jl(),D=H("word.Month",S),E=H("word.Radiation",S),L=r&&r[0]?Object.keys(r[0]).length===0:!0;return h.jsx(Vr,{nodeRef:v,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:T,onStop:P,onMouseDown:()=>{o(U=>{U.selectedFloatingWindow="yearlyLightSensorPanel"})},children:h.jsx(UIo,{ref:v,style:{zIndex:d==="yearlyLightSensorPanel"?xc:9},children:h.jsxs(BIo,{ref:g,style:{opacity:n,width:(l?l.width:600)+"px",height:(l?l.height:500)+"px"},children:[h.jsxs(jIo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[H("sensorPanel.LightSensor",S)+": ",h.jsx("span",{style:{fontSize:"10px"},children:H("sensorPanel.WeatherDataFrom",S)+" "+t+" | "+i.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:H("word.Close",S)})]}),c&&h.jsx(mf,{type:xr.DaylightData,chartType:Pl.Area,dataSource:r.map(U=>({Month:U.Month,Daylight:U.Daylight})),height:100,dataKeyAxisX:"Month",labelX:D,labelY:H("word.Daylight",S),unitY:H("word.Hour",S),yMin:0,curveType:"linear",fractionDigits:1,referenceX:w}),u&&h.jsx(Zlt,{type:xr.ClearnessData,dataSource:r.map(U=>({Month:U.Month,Clearness:U.Clearness})),height:100,dataKeyAxisX:"Month",labelX:D,labelY:H("yearlyLightSensorPanel.SkyClearness",S),unitY:"%",yMin:0,yMax:100,fractionDigits:1,referenceX:w,color:"#66CDAA"}),f&&h.jsx(mf,{type:xr.YearlyRadiationSensorData,chartType:Pl.Line,dataSource:r.map(({Daylight:U,Clearness:F,...W})=>W),labels:a,height:100,dataKeyAxisX:"Month",labelX:D,labelY:E,unitY:"kWh/m²/"+H("word.Day",S),yMin:0,curveType:"linear",fractionDigits:2,referenceX:w}),h.jsxs(en,{style:{alignSelf:"center",padding:"10px",direction:"ltr"},children:[h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowDaylightResults",S),checked:c,onChange:U=>{o(F=>{F.viewState.yearlyLightSensorPanelShowDaylight=U})}}),H("word.Daylight",S)]}),h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowSkyClearnessResults",S),checked:u,onChange:U=>{o(F=>{F.viewState.yearlyLightSensorPanelShowClearness=U})}}),H("yearlyLightSensorPanel.SkyClearness",S)]}),h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowAverageDailySolarRadiation",S),checked:f,onChange:U=>{p(U)}}),H("word.Radiation",S)]}),h.jsxs(en,{children:[h.jsx(no,{type:"default",icon:L?h.jsx(vh,{}):h.jsx(xf,{}),title:H(L?"word.Run":"word.Update",S),onClick:()=>{if(s(z.Sensor)===0){fn(H("analysisManager.NoSensorForCollectingData",S));return}fn(H("message.SimulationStarted",S)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Collect Yearly Data for Sensors",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runYearlyLightSensor=!0,F.pauseYearlyLightSensor=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:H("word.SaveAsImage",S),onClick:()=>{Hd("line-graph-"+D+"-"+E,"yearly-light-sensor").then(()=>{fn(H("message.ScreenshotSaved",S)),e&&o(U=>{U.actionInfo={name:"Take Screenshot of Yearly Light Sensor Graph",timestamp:new Date().getTime()}})})}}),r&&r.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:H("word.SaveAsCsv",S),onClick:()=>{wh(r,"yearly-light-sensor.csv"),fn(H("message.CsvFileSaved",S)),e&&o(U=>{U.actionInfo={name:"Export Yearly Light Sensor Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})});//! moment.js +`,BIo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=bn(z8t),a=bn(sYe),l=M(RAt),s=M(kg),c=M(HAt),u=M(MAt),d=M(bc),[f,p]=m.useState(!0),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:l?l.width+40:640,x=g.current?g.current.clientHeight+100:l?l.height+100:600,[C,b]=m.useState({x:l?Math.max(l.x,A-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-x):0}),v=Se.useRef(null),S=Kt(),w=Ps[i.getMonth()];m.useEffect(()=>{b({x:Math.max(l==null?void 0:l.x,A-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-x)})},[l,A,x]),m.useEffect(()=>{const U=()=>{b({x:Math.max(l==null?void 0:l.x,A-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-x)})};return window.addEventListener("resize",U),()=>{window.removeEventListener("resize",U)}},[l,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(U=>{g.current&&(U.viewState.yearlyLightSensorPanelRect||(U.viewState.yearlyLightSensorPanelRect=new ri(0,0,600,500)),U.viewState.yearlyLightSensorPanelRect.width=g.current.offsetWidth,U.viewState.yearlyLightSensorPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var U;(U=y.current)==null||U.disconnect()}),[]);const T=(U,F)=>{b({x:Math.max(F.x,A-window.innerWidth),y:Math.min(F.y,window.innerHeight-x)})},P=(U,F)=>{o(W=>{W.viewState.yearlyLightSensorPanelRect||(W.viewState.yearlyLightSensorPanelRect=new ri(0,0,600,500)),W.viewState.yearlyLightSensorPanelRect.x=Math.max(F.x,A-window.innerWidth),W.viewState.yearlyLightSensorPanelRect.y=Math.min(F.y,window.innerHeight-x)})},R=()=>{o(U=>{U.viewState.showYearlyLightSensorPanel=!1,e&&(U.actionInfo={name:"Close Yearly Light Sensor Graph",timestamp:new Date().getTime()})})},{t:H}=jl(),D=H("word.Month",S),E=H("word.Radiation",S),L=r&&r[0]?Object.keys(r[0]).length===0:!0;return h.jsx(Vr,{nodeRef:v,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:T,onStop:P,onMouseDown:()=>{o(U=>{U.selectedFloatingWindow="yearlyLightSensorPanel"})},children:h.jsx(WIo,{ref:v,style:{zIndex:d==="yearlyLightSensorPanel"?xc:9},children:h.jsxs(NIo,{ref:g,style:{opacity:n,width:(l?l.width:600)+"px",height:(l?l.height:500)+"px"},children:[h.jsxs(UIo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[H("sensorPanel.LightSensor",S)+": ",h.jsx("span",{style:{fontSize:"10px"},children:H("sensorPanel.WeatherDataFrom",S)+" "+t+" | "+i.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:H("word.Close",S)})]}),c&&h.jsx(mf,{type:xr.DaylightData,chartType:Pl.Area,dataSource:r.map(U=>({Month:U.Month,Daylight:U.Daylight})),height:100,dataKeyAxisX:"Month",labelX:D,labelY:H("word.Daylight",S),unitY:H("word.Hour",S),yMin:0,curveType:"linear",fractionDigits:1,referenceX:w}),u&&h.jsx(Zlt,{type:xr.ClearnessData,dataSource:r.map(U=>({Month:U.Month,Clearness:U.Clearness})),height:100,dataKeyAxisX:"Month",labelX:D,labelY:H("yearlyLightSensorPanel.SkyClearness",S),unitY:"%",yMin:0,yMax:100,fractionDigits:1,referenceX:w,color:"#66CDAA"}),f&&h.jsx(mf,{type:xr.YearlyRadiationSensorData,chartType:Pl.Line,dataSource:r.map(({Daylight:U,Clearness:F,...W})=>W),labels:a,height:100,dataKeyAxisX:"Month",labelX:D,labelY:E,unitY:"kWh/m²/"+H("word.Day",S),yMin:0,curveType:"linear",fractionDigits:2,referenceX:w}),h.jsxs(en,{style:{alignSelf:"center",padding:"10px",direction:"ltr"},children:[h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowDaylightResults",S),checked:c,onChange:U=>{o(F=>{F.viewState.yearlyLightSensorPanelShowDaylight=U})}}),H("word.Daylight",S)]}),h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowSkyClearnessResults",S),checked:u,onChange:U=>{o(F=>{F.viewState.yearlyLightSensorPanelShowClearness=U})}}),H("yearlyLightSensorPanel.SkyClearness",S)]}),h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowAverageDailySolarRadiation",S),checked:f,onChange:U=>{p(U)}}),H("word.Radiation",S)]}),h.jsxs(en,{children:[h.jsx(no,{type:"default",icon:L?h.jsx(vh,{}):h.jsx(xf,{}),title:H(L?"word.Run":"word.Update",S),onClick:()=>{if(s(z.Sensor)===0){fn(H("analysisManager.NoSensorForCollectingData",S));return}fn(H("message.SimulationStarted",S)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Collect Yearly Data for Sensors",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runYearlyLightSensor=!0,F.pauseYearlyLightSensor=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:H("word.SaveAsImage",S),onClick:()=>{Hd("line-graph-"+D+"-"+E,"yearly-light-sensor").then(()=>{fn(H("message.ScreenshotSaved",S)),e&&o(U=>{U.actionInfo={name:"Take Screenshot of Yearly Light Sensor Graph",timestamp:new Date().getTime()}})})}}),r&&r.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:H("word.SaveAsCsv",S),onClick:()=>{wh(r,"yearly-light-sensor.csv"),fn(H("message.CsvFileSaved",S)),e&&o(U=>{U.actionInfo={name:"Export Yearly Light Sensor Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})});//! moment.js //! version : 2.29.4 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors //! license : MIT //! momentjs.com -var est;function gi(){return est.apply(null,arguments)}function OIo(t){est=t}function O2(t){return t instanceof Array||Object.prototype.toString.call(t)==="[object Array]"}function Ix(t){return t!=null&&Object.prototype.toString.call(t)==="[object Object]"}function El(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function E3e(t){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(t).length===0;var e;for(e in t)if(El(t,e))return!1;return!0}function Mp(t){return t===void 0}function oA(t){return typeof t=="number"||Object.prototype.toString.call(t)==="[object Number]"}function oU(t){return t instanceof Date||Object.prototype.toString.call(t)==="[object Date]"}function tst(t,e){var n=[],o,i=t.length;for(o=0;o>>0,o;for(o=0;o0)for(n=0;n>>0,o;for(o=0;o0)for(n=0;n=0;return(r?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+o}var W3e=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,KO=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,lle={},zC={};function mr(t,e,n,o){var i=o;typeof o=="string"&&(i=function(){return this[o]()}),t&&(zC[t]=i),e&&(zC[e[0]]=function(){return _9(i.apply(this,arguments),e[1],e[2])}),n&&(zC[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function JIo(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function KIo(t){var e=t.match(W3e),n,o;for(n=0,o=e.length;n=0&&KO.test(t);)t=t.replace(KO,o),KO.lastIndex=0,n-=1;return t}var qIo={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function $Io(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.match(W3e).map(function(o){return o==="MMMM"||o==="MM"||o==="DD"||o==="dddd"?o.slice(1):o}).join(""),this._longDateFormat[t])}var QIo="Invalid date";function ZIo(){return this._invalidDate}var ezo="%d",tzo=/\d{1,2}/;function nzo(t){return this._ordinal.replace("%d",t)}var ozo={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function izo(t,e,n,o){var i=this._relativeTime[n];return h3(i)?i(t,e,n,o):i.replace(/%d/i,t)}function rzo(t,e){var n=this._relativeTime[t>0?"future":"past"];return h3(n)?n(e):n.replace(/%s/i,e)}var jE={};function bh(t,e){var n=t.toLowerCase();jE[n]=jE[n+"s"]=jE[e]=t}function cy(t){return typeof t=="string"?jE[t]||jE[t.toLowerCase()]:void 0}function N3e(t){var e={},n,o;for(o in t)El(t,o)&&(n=cy(o),n&&(e[n]=t[o]));return e}var rst={};function Sh(t,e){rst[t]=e}function azo(t){var e=[],n;for(n in t)El(t,n)&&e.push({unit:n,priority:rst[n]});return e.sort(function(o,i){return o.priority-i.priority}),e}function Bee(t){return t%4===0&&t%100!==0||t%400===0}function Pm(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function ka(t){var e=+t,n=0;return e!==0&&isFinite(e)&&(n=Pm(e)),n}function CM(t,e){return function(n){return n!=null?(ast(this,t,n),gi.updateOffset(this,e),this):JJ(this,t)}}function JJ(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function ast(t,e,n){t.isValid()&&!isNaN(n)&&(e==="FullYear"&&Bee(t.year())&&t.month()===1&&t.date()===29?(n=ka(n),t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Gee(n,t.month()))):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function lzo(t){return t=cy(t),h3(this[t])?this[t]():this}function szo(t,e){if(typeof t=="object"){t=N3e(t);var n=azo(t),o,i=n.length;for(o=0;o68?1900:2e3)};var mst=CM("FullYear",!0);function Rzo(){return Bee(this.year())}function Hzo(t,e,n,o,i,r,a){var l;return t<100&&t>=0?(l=new Date(t+400,e,n,o,i,r,a),isFinite(l.getFullYear())&&l.setFullYear(t)):l=new Date(t,e,n,o,i,r,a),l}function PL(t){var e,n;return t<100&&t>=0?(n=Array.prototype.slice.call(arguments),n[0]=t+400,e=new Date(Date.UTC.apply(null,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)):e=new Date(Date.UTC.apply(null,arguments)),e}function qJ(t,e,n){var o=7+e-n,i=(7+PL(t,0,o).getUTCDay()-e)%7;return-i+o-1}function yst(t,e,n,o,i){var r=(7+n-o)%7,a=qJ(t,o,i),l=1+7*(e-1)+r+a,s,c;return l<=0?(s=t-1,c=YE(s)+l):l>YE(t)?(s=t+1,c=l-YE(t)):(s=t,c=l),{year:s,dayOfYear:c}}function CL(t,e,n){var o=qJ(t.year(),e,n),i=Math.floor((t.dayOfYear()-o-1)/7)+1,r,a;return i<1?(a=t.year()-1,r=i+F6(a,e,n)):i>F6(t.year(),e,n)?(r=i-F6(t.year(),e,n),a=t.year()+1):(a=t.year(),r=i),{week:r,year:a}}function F6(t,e,n){var o=qJ(t,e,n),i=qJ(t+1,e,n);return(YE(t)-o+i)/7}mr("w",["ww",2],"wo","week");mr("W",["WW",2],"Wo","isoWeek");bh("week","w");bh("isoWeek","W");Sh("week",5);Sh("isoWeek",5);Wi("w",Tc);Wi("ww",Tc,Lg);Wi("W",Tc);Wi("WW",Tc,Lg);aU(["w","ww","W","WW"],function(t,e,n,o){e[o.substr(0,1)]=ka(t)});function Mzo(t){return CL(t,this._week.dow,this._week.doy).week}var Izo={dow:0,doy:6};function zzo(){return this._week.dow}function Dzo(){return this._week.doy}function Ezo(t){var e=this.localeData().week(this);return t==null?e:this.add((t-e)*7,"d")}function kzo(t){var e=CL(this,1,4).week;return t==null?e:this.add((t-e)*7,"d")}mr("d",0,"do","day");mr("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)});mr("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)});mr("dddd",0,0,function(t){return this.localeData().weekdays(this,t)});mr("e",0,0,"weekday");mr("E",0,0,"isoWeekday");bh("day","d");bh("weekday","e");bh("isoWeekday","E");Sh("day",11);Sh("weekday",11);Sh("isoWeekday",11);Wi("d",Tc);Wi("e",Tc);Wi("E",Tc);Wi("dd",function(t,e){return e.weekdaysMinRegex(t)});Wi("ddd",function(t,e){return e.weekdaysShortRegex(t)});Wi("dddd",function(t,e){return e.weekdaysRegex(t)});aU(["dd","ddd","dddd"],function(t,e,n,o){var i=n._locale.weekdaysParse(t,o,n._strict);i!=null?e.d=i:ya(n).invalidWeekday=t});aU(["d","e","E"],function(t,e,n,o){e[o]=ka(t)});function Fzo(t,e){return typeof t!="string"?t:isNaN(t)?(t=e.weekdaysParse(t),typeof t=="number"?t:null):parseInt(t,10)}function Lzo(t,e){return typeof t=="string"?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function j3e(t,e){return t.slice(e,7).concat(t.slice(0,e))}var Wzo="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ast="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Nzo="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Uzo=rU,Bzo=rU,jzo=rU;function Yzo(t,e){var n=O2(this._weekdays)?this._weekdays:this._weekdays[t&&t!==!0&&this._weekdays.isFormat.test(e)?"format":"standalone"];return t===!0?j3e(n,this._week.dow):t?n[t.day()]:n}function Ozo(t){return t===!0?j3e(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort}function _zo(t){return t===!0?j3e(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Vzo(t,e,n){var o,i,r,a=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)r=f3([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(r,"").toLocaleLowerCase();return n?e==="dddd"?(i=k0.call(this._weekdaysParse,a),i!==-1?i:null):e==="ddd"?(i=k0.call(this._shortWeekdaysParse,a),i!==-1?i:null):(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null):e==="dddd"?(i=k0.call(this._weekdaysParse,a),i!==-1||(i=k0.call(this._shortWeekdaysParse,a),i!==-1)?i:(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null)):e==="ddd"?(i=k0.call(this._shortWeekdaysParse,a),i!==-1||(i=k0.call(this._weekdaysParse,a),i!==-1)?i:(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null)):(i=k0.call(this._minWeekdaysParse,a),i!==-1||(i=k0.call(this._weekdaysParse,a),i!==-1)?i:(i=k0.call(this._shortWeekdaysParse,a),i!==-1?i:null))}function Gzo(t,e,n){var o,i,r;if(this._weekdaysParseExact)return Vzo.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(i=f3([2e3,1]).day(o),n&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[o]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[o]=new RegExp(r.replace(".",""),"i")),n&&e==="dddd"&&this._fullWeekdaysParse[o].test(t))return o;if(n&&e==="ddd"&&this._shortWeekdaysParse[o].test(t))return o;if(n&&e==="dd"&&this._minWeekdaysParse[o].test(t))return o;if(!n&&this._weekdaysParse[o].test(t))return o}}function Xzo(t){if(!this.isValid())return t!=null?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return t!=null?(t=Fzo(t,this.localeData()),this.add(t-e,"d")):e}function Jzo(t){if(!this.isValid())return t!=null?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return t==null?e:this.add(t-e,"d")}function Kzo(t){if(!this.isValid())return t!=null?this:NaN;if(t!=null){var e=Lzo(t,this.localeData());return this.day(this.day()%7?e:e-7)}else return this.day()||7}function qzo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||Y3e.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(El(this,"_weekdaysRegex")||(this._weekdaysRegex=Uzo),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function $zo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||Y3e.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(El(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Bzo),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Qzo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||Y3e.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(El(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=jzo),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Y3e(){function t(u,d){return d.length-u.length}var e=[],n=[],o=[],i=[],r,a,l,s,c;for(r=0;r<7;r++)a=f3([2e3,1]).day(r),l=og(this.weekdaysMin(a,"")),s=og(this.weekdaysShort(a,"")),c=og(this.weekdays(a,"")),e.push(l),n.push(s),o.push(c),i.push(l),i.push(s),i.push(c);e.sort(t),n.sort(t),o.sort(t),i.sort(t),this._weekdaysRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+e.join("|")+")","i")}function O3e(){return this.hours()%12||12}function Zzo(){return this.hours()||24}mr("H",["HH",2],0,"hour");mr("h",["hh",2],0,O3e);mr("k",["kk",2],0,Zzo);mr("hmm",0,0,function(){return""+O3e.apply(this)+_9(this.minutes(),2)});mr("hmmss",0,0,function(){return""+O3e.apply(this)+_9(this.minutes(),2)+_9(this.seconds(),2)});mr("Hmm",0,0,function(){return""+this.hours()+_9(this.minutes(),2)});mr("Hmmss",0,0,function(){return""+this.hours()+_9(this.minutes(),2)+_9(this.seconds(),2)});function wst(t,e){mr(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}wst("a",!0);wst("A",!1);bh("hour","h");Sh("hour",13);function vst(t,e){return e._meridiemParse}Wi("a",vst);Wi("A",vst);Wi("H",Tc);Wi("h",Tc);Wi("k",Tc);Wi("HH",Tc,Lg);Wi("hh",Tc,Lg);Wi("kk",Tc,Lg);Wi("hmm",cst);Wi("hmmss",ust);Wi("Hmm",cst);Wi("Hmmss",ust);ws(["H","HH"],Wu);ws(["k","kk"],function(t,e,n){var o=ka(t);e[Wu]=o===24?0:o});ws(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t});ws(["h","hh"],function(t,e,n){e[Wu]=ka(t),ya(n).bigHour=!0});ws("hmm",function(t,e,n){var o=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o)),ya(n).bigHour=!0});ws("hmmss",function(t,e,n){var o=t.length-4,i=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o,2)),e[S6]=ka(t.substr(i)),ya(n).bigHour=!0});ws("Hmm",function(t,e,n){var o=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o))});ws("Hmmss",function(t,e,n){var o=t.length-4,i=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o,2)),e[S6]=ka(t.substr(i))});function eDo(t){return(t+"").toLowerCase().charAt(0)==="p"}var tDo=/[ap]\.?m?\.?/i,nDo=CM("Hours",!0);function oDo(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}var xst={calendar:GIo,longDateFormat:qIo,invalidDate:QIo,ordinal:ezo,dayOfMonthOrdinalParse:tzo,relativeTime:ozo,months:yzo,monthsShort:dst,week:Izo,weekdays:Wzo,weekdaysMin:Nzo,weekdaysShort:Ast,meridiemParse:tDo},Fc={},iD={},RL;function iDo(t,e){var n,o=Math.min(t.length,e.length);for(n=0;n0;){if(i=Xee(r.slice(0,n).join("-")),i)return i;if(o&&o.length>=n&&iDo(r,o)>=n-1)break;n--}e++}return RL}function aDo(t){return t.match("^[^/\\\\]*$")!=null}function Xee(t){var e=null,n;if(Fc[t]===void 0&&typeof ch<"u"&&ch&&ch.exports&&aDo(t))try{e=RL._abbr,n=require,n("./locale/"+t),Ow(e)}catch{Fc[t]=null}return Fc[t]}function Ow(t,e){var n;return t&&(Mp(e)?n=SA(t):n=_3e(t,e),n?RL=n:typeof console<"u"&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),RL._abbr}function _3e(t,e){if(e!==null){var n,o=xst;if(e.abbr=t,Fc[t]!=null)ost("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),o=Fc[t]._config;else if(e.parentLocale!=null)if(Fc[e.parentLocale]!=null)o=Fc[e.parentLocale]._config;else if(n=Xee(e.parentLocale),n!=null)o=n._config;else return iD[e.parentLocale]||(iD[e.parentLocale]=[]),iD[e.parentLocale].push({name:t,config:e}),null;return Fc[t]=new L3e(Ehe(o,e)),iD[t]&&iD[t].forEach(function(i){_3e(i.name,i.config)}),Ow(t),Fc[t]}else return delete Fc[t],null}function lDo(t,e){if(e!=null){var n,o,i=xst;Fc[t]!=null&&Fc[t].parentLocale!=null?Fc[t].set(Ehe(Fc[t]._config,e)):(o=Xee(t),o!=null&&(i=o._config),e=Ehe(i,e),o==null&&(e.abbr=t),n=new L3e(e),n.parentLocale=Fc[t],Fc[t]=n),Ow(t)}else Fc[t]!=null&&(Fc[t].parentLocale!=null?(Fc[t]=Fc[t].parentLocale,t===Ow()&&Ow(t)):Fc[t]!=null&&delete Fc[t]);return Fc[t]}function SA(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return RL;if(!O2(t)){if(e=Xee(t),e)return e;t=[t]}return rDo(t)}function sDo(){return khe(Fc)}function V3e(t){var e,n=t._a;return n&&ya(t).overflow===-2&&(e=n[b6]<0||n[b6]>11?b6:n[i9]<1||n[i9]>Gee(n[dh],n[b6])?i9:n[Wu]<0||n[Wu]>24||n[Wu]===24&&(n[b2]!==0||n[S6]!==0||n[Qv]!==0)?Wu:n[b2]<0||n[b2]>59?b2:n[S6]<0||n[S6]>59?S6:n[Qv]<0||n[Qv]>999?Qv:-1,ya(t)._overflowDayOfYear&&(ei9)&&(e=i9),ya(t)._overflowWeeks&&e===-1&&(e=pzo),ya(t)._overflowWeekday&&e===-1&&(e=gzo),ya(t).overflow=e),t}var cDo=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,uDo=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,dDo=/Z|[+-]\d\d(?::?\d\d)?/,qO=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],sle=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],fDo=/^\/?Date\((-?\d+)/i,hDo=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,pDo={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function bst(t){var e,n,o=t._i,i=cDo.exec(o)||uDo.exec(o),r,a,l,s,c=qO.length,u=sle.length;if(i){for(ya(t).iso=!0,e=0,n=c;eYE(a)||t._dayOfYear===0)&&(ya(t)._overflowDayOfYear=!0),n=PL(a,0,t._dayOfYear),t._a[b6]=n.getUTCMonth(),t._a[i9]=n.getUTCDate()),e=0;e<3&&t._a[e]==null;++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=t._a[e]==null?e===2?1:0:t._a[e];t._a[Wu]===24&&t._a[b2]===0&&t._a[S6]===0&&t._a[Qv]===0&&(t._nextDay=!0,t._a[Wu]=0),t._d=(t._useUTC?PL:Hzo).apply(null,o),r=t._useUTC?t._d.getUTCDay():t._d.getDay(),t._tzm!=null&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Wu]=24),t._w&&typeof t._w.d<"u"&&t._w.d!==r&&(ya(t).weekdayMismatch=!0)}}function bDo(t){var e,n,o,i,r,a,l,s,c;e=t._w,e.GG!=null||e.W!=null||e.E!=null?(r=1,a=4,n=SP(e.GG,t._a[dh],CL(vc(),1,4).year),o=SP(e.W,1),i=SP(e.E,1),(i<1||i>7)&&(s=!0)):(r=t._locale._week.dow,a=t._locale._week.doy,c=CL(vc(),r,a),n=SP(e.gg,t._a[dh],c.year),o=SP(e.w,c.week),e.d!=null?(i=e.d,(i<0||i>6)&&(s=!0)):e.e!=null?(i=e.e+r,(e.e<0||e.e>6)&&(s=!0)):i=r),o<1||o>F6(n,r,a)?ya(t)._overflowWeeks=!0:s!=null?ya(t)._overflowWeekday=!0:(l=yst(n,o,i,r,a),t._a[dh]=l.year,t._dayOfYear=l.dayOfYear)}gi.ISO_8601=function(){};gi.RFC_2822=function(){};function X3e(t){if(t._f===gi.ISO_8601){bst(t);return}if(t._f===gi.RFC_2822){Sst(t);return}t._a=[],ya(t).empty=!0;var e=""+t._i,n,o,i,r,a,l=e.length,s=0,c,u;for(i=ist(t._f,t._locale).match(W3e)||[],u=i.length,n=0;n0&&ya(t).unusedInput.push(a),e=e.slice(e.indexOf(o)+o.length),s+=o.length),zC[r]?(o?ya(t).empty=!1:ya(t).unusedTokens.push(r),hzo(r,o,t)):t._strict&&!o&&ya(t).unusedTokens.push(r);ya(t).charsLeftOver=l-s,e.length>0&&ya(t).unusedInput.push(e),t._a[Wu]<=12&&ya(t).bigHour===!0&&t._a[Wu]>0&&(ya(t).bigHour=void 0),ya(t).parsedDateParts=t._a.slice(0),ya(t).meridiem=t._meridiem,t._a[Wu]=SDo(t._locale,t._a[Wu],t._meridiem),c=ya(t).era,c!==null&&(t._a[dh]=t._locale.erasConvertYear(c,t._a[dh])),G3e(t),V3e(t)}function SDo(t,e,n){var o;return n==null?e:t.meridiemHour!=null?t.meridiemHour(e,n):(t.isPM!=null&&(o=t.isPM(n),o&&e<12&&(e+=12),!o&&e===12&&(e=0)),e)}function TDo(t){var e,n,o,i,r,a,l=!1,s=t._f.length;if(s===0){ya(t).invalidFormat=!0,t._d=new Date(NaN);return}for(i=0;ithis?this:t:Uee()});function Cst(t,e){var n,o;if(e.length===1&&O2(e[0])&&(e=e[0]),!e.length)return vc();for(n=e[0],o=1;othis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function VDo(){if(!Mp(this._isDSTShifted))return this._isDSTShifted;var t={},e;return F3e(t,this),t=Tst(t),t._a?(e=t._isUTC?f3(t._a):vc(t._a),this._isDSTShifted=this.isValid()&&LDo(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function GDo(){return this.isValid()?!this._isUTC:!1}function XDo(){return this.isValid()?this._isUTC:!1}function Hst(){return this.isValid()?this._isUTC&&this._offset===0:!1}var JDo=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,KDo=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function r5(t,e){var n=t,o=null,i,r,a;return oV(t)?n={ms:t._milliseconds,d:t._days,M:t._months}:oA(t)||!isNaN(+t)?(n={},e?n[e]=+t:n.milliseconds=+t):(o=JDo.exec(t))?(i=o[1]==="-"?-1:1,n={y:0,d:ka(o[i9])*i,h:ka(o[Wu])*i,m:ka(o[b2])*i,s:ka(o[S6])*i,ms:ka(Lhe(o[Qv]*1e3))*i}):(o=KDo.exec(t))?(i=o[1]==="-"?-1:1,n={y:ev(o[2],i),M:ev(o[3],i),w:ev(o[4],i),d:ev(o[5],i),h:ev(o[6],i),m:ev(o[7],i),s:ev(o[8],i)}):n==null?n={}:typeof n=="object"&&("from"in n||"to"in n)&&(a=qDo(vc(n.from),vc(n.to)),n={},n.ms=a.milliseconds,n.M=a.months),r=new Jee(n),oV(t)&&El(t,"_locale")&&(r._locale=t._locale),oV(t)&&El(t,"_isValid")&&(r._isValid=t._isValid),r}r5.fn=Jee.prototype;r5.invalid=FDo;function ev(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function HEe(t,e){var n={};return n.months=e.month()-t.month()+(e.year()-t.year())*12,t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function qDo(t,e){var n;return t.isValid()&&e.isValid()?(e=K3e(e,t),t.isBefore(e)?n=HEe(t,e):(n=HEe(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Mst(t,e){return function(n,o){var i,r;return o!==null&&!isNaN(+o)&&(ost(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=o,o=r),i=r5(n,o),Ist(this,i,t),this}}function Ist(t,e,n,o){var i=e._milliseconds,r=Lhe(e._days),a=Lhe(e._months);t.isValid()&&(o=o??!0,a&&hst(t,JJ(t,"Month")+a*n),r&&ast(t,"Date",JJ(t,"Date")+r*n),i&&t._d.setTime(t._d.valueOf()+i*n),o&&gi.updateOffset(t,r||a))}var $Do=Mst(1,"add"),QDo=Mst(-1,"subtract");function zst(t){return typeof t=="string"||t instanceof String}function ZDo(t){return _2(t)||oU(t)||zst(t)||oA(t)||tEo(t)||eEo(t)||t===null||t===void 0}function eEo(t){var e=Ix(t)&&!E3e(t),n=!1,o=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],i,r,a=o.length;for(i=0;in.valueOf():n.valueOf()9999?nV(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):h3(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",nV(n,"Z")):nV(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function gEo(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="",n,o,i,r;return this.isLocal()||(t=this.utcOffset()===0?"moment.utc":"moment.parseZone",e="Z"),n="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i="-MM-DD[T]HH:mm:ss.SSS",r=e+'[")]',this.format(n+o+i+r)}function mEo(t){t||(t=this.isUtc()?gi.defaultFormatUtc:gi.defaultFormat);var e=nV(this,t);return this.localeData().postformat(e)}function yEo(t,e){return this.isValid()&&(_2(t)&&t.isValid()||vc(t).isValid())?r5({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function AEo(t){return this.from(vc(),t)}function wEo(t,e){return this.isValid()&&(_2(t)&&t.isValid()||vc(t).isValid())?r5({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function vEo(t){return this.to(vc(),t)}function Dst(t){var e;return t===void 0?this._locale._abbr:(e=SA(t),e!=null&&(this._locale=e),this)}var Est=sy("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===void 0?this.localeData():this.locale(t)});function kst(){return this._locale}var $J=1e3,DC=60*$J,QJ=60*DC,Fst=(365*400+97)*24*QJ;function EC(t,e){return(t%e+e)%e}function Lst(t,e,n){return t<100&&t>=0?new Date(t+400,e,n)-Fst:new Date(t,e,n).valueOf()}function Wst(t,e,n){return t<100&&t>=0?Date.UTC(t+400,e,n)-Fst:Date.UTC(t,e,n)}function xEo(t){var e,n;if(t=cy(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?Wst:Lst,t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=EC(e+(this._isUTC?0:this.utcOffset()*DC),QJ);break;case"minute":e=this._d.valueOf(),e-=EC(e,DC);break;case"second":e=this._d.valueOf(),e-=EC(e,$J);break}return this._d.setTime(e),gi.updateOffset(this,!0),this}function bEo(t){var e,n;if(t=cy(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?Wst:Lst,t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=QJ-EC(e+(this._isUTC?0:this.utcOffset()*DC),QJ)-1;break;case"minute":e=this._d.valueOf(),e+=DC-EC(e,DC)-1;break;case"second":e=this._d.valueOf(),e+=$J-EC(e,$J)-1;break}return this._d.setTime(e),gi.updateOffset(this,!0),this}function SEo(){return this._d.valueOf()-(this._offset||0)*6e4}function TEo(){return Math.floor(this.valueOf()/1e3)}function PEo(){return new Date(this.valueOf())}function CEo(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function REo(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function HEo(){return this.isValid()?this.toISOString():null}function MEo(){return k3e(this)}function IEo(){return bw({},ya(this))}function zEo(){return ya(this).overflow}function DEo(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}mr("N",0,0,"eraAbbr");mr("NN",0,0,"eraAbbr");mr("NNN",0,0,"eraAbbr");mr("NNNN",0,0,"eraName");mr("NNNNN",0,0,"eraNarrow");mr("y",["y",1],"yo","eraYear");mr("y",["yy",2],0,"eraYear");mr("y",["yyy",3],0,"eraYear");mr("y",["yyyy",4],0,"eraYear");Wi("N",q3e);Wi("NN",q3e);Wi("NNN",q3e);Wi("NNNN",OEo);Wi("NNNNN",_Eo);ws(["N","NN","NNN","NNNN","NNNNN"],function(t,e,n,o){var i=n._locale.erasParse(t,o,n._strict);i?ya(n).era=i:ya(n).invalidEra=t});Wi("y",RM);Wi("yy",RM);Wi("yyy",RM);Wi("yyyy",RM);Wi("yo",VEo);ws(["y","yy","yyy","yyyy"],dh);ws(["yo"],function(t,e,n,o){var i;n._locale._eraYearOrdinalRegex&&(i=t.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?e[dh]=n._locale.eraYearOrdinalParse(t,i):e[dh]=parseInt(t,10)});function EEo(t,e){var n,o,i,r=this._eras||SA("en")._eras;for(n=0,o=r.length;n=0)return r[o]}function FEo(t,e){var n=t.since<=t.until?1:-1;return e===void 0?gi(t.since).year():gi(t.since).year()+(e-t.offset)*n}function LEo(){var t,e,n,o=this.localeData().eras();for(t=0,e=o.length;tr&&(e=r),QEo.call(this,t,e,n,o,i))}function QEo(t,e,n,o,i){var r=yst(t,e,n,o,i),a=PL(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}mr("Q",0,"Qo","quarter");bh("quarter","Q");Sh("quarter",7);Wi("Q",lst);ws("Q",function(t,e){e[b6]=(ka(t)-1)*3});function ZEo(t){return t==null?Math.ceil((this.month()+1)/3):this.month((t-1)*3+this.month()%3)}mr("D",["DD",2],"Do","date");bh("date","D");Sh("date",9);Wi("D",Tc);Wi("DD",Tc,Lg);Wi("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient});ws(["D","DD"],i9);ws("Do",function(t,e){e[i9]=ka(t.match(Tc)[0])});var Ust=CM("Date",!0);mr("DDD",["DDDD",3],"DDDo","dayOfYear");bh("dayOfYear","DDD");Sh("dayOfYear",4);Wi("DDD",Yee);Wi("DDDD",sst);ws(["DDD","DDDD"],function(t,e,n){n._dayOfYear=ka(t)});function eko(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return t==null?e:this.add(t-e,"d")}mr("m",["mm",2],0,"minute");bh("minute","m");Sh("minute",14);Wi("m",Tc);Wi("mm",Tc,Lg);ws(["m","mm"],b2);var tko=CM("Minutes",!1);mr("s",["ss",2],0,"second");bh("second","s");Sh("second",15);Wi("s",Tc);Wi("ss",Tc,Lg);ws(["s","ss"],S6);var nko=CM("Seconds",!1);mr("S",0,0,function(){return~~(this.millisecond()/100)});mr(0,["SS",2],0,function(){return~~(this.millisecond()/10)});mr(0,["SSS",3],0,"millisecond");mr(0,["SSSS",4],0,function(){return this.millisecond()*10});mr(0,["SSSSS",5],0,function(){return this.millisecond()*100});mr(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});mr(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});mr(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});mr(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});bh("millisecond","ms");Sh("millisecond",16);Wi("S",Yee,lst);Wi("SS",Yee,Lg);Wi("SSS",Yee,sst);var Sw,Bst;for(Sw="SSSS";Sw.length<=9;Sw+="S")Wi(Sw,RM);function oko(t,e){e[Qv]=ka(("0."+t)*1e3)}for(Sw="S";Sw.length<=9;Sw+="S")ws(Sw,oko);Bst=CM("Milliseconds",!1);mr("z",0,0,"zoneAbbr");mr("zz",0,0,"zoneName");function iko(){return this._isUTC?"UTC":""}function rko(){return this._isUTC?"Coordinated Universal Time":""}var Ko=iU.prototype;Ko.add=$Do;Ko.calendar=iEo;Ko.clone=rEo;Ko.diff=fEo;Ko.endOf=bEo;Ko.format=mEo;Ko.from=yEo;Ko.fromNow=AEo;Ko.to=wEo;Ko.toNow=vEo;Ko.get=lzo;Ko.invalidAt=zEo;Ko.isAfter=aEo;Ko.isBefore=lEo;Ko.isBetween=sEo;Ko.isSame=cEo;Ko.isSameOrAfter=uEo;Ko.isSameOrBefore=dEo;Ko.isValid=MEo;Ko.lang=Est;Ko.locale=Dst;Ko.localeData=kst;Ko.max=MDo;Ko.min=HDo;Ko.parsingFlags=IEo;Ko.set=szo;Ko.startOf=xEo;Ko.subtract=QDo;Ko.toArray=CEo;Ko.toObject=REo;Ko.toDate=PEo;Ko.toISOString=pEo;Ko.inspect=gEo;typeof Symbol<"u"&&Symbol.for!=null&&(Ko[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});Ko.toJSON=HEo;Ko.toString=hEo;Ko.unix=TEo;Ko.valueOf=SEo;Ko.creationData=DEo;Ko.eraName=LEo;Ko.eraNarrow=WEo;Ko.eraAbbr=NEo;Ko.eraYear=UEo;Ko.year=mst;Ko.isLeapYear=Rzo;Ko.weekYear=GEo;Ko.isoWeekYear=XEo;Ko.quarter=Ko.quarters=ZEo;Ko.month=pst;Ko.daysInMonth=Tzo;Ko.week=Ko.weeks=Ezo;Ko.isoWeek=Ko.isoWeeks=kzo;Ko.weeksInYear=qEo;Ko.weeksInWeekYear=$Eo;Ko.isoWeeksInYear=JEo;Ko.isoWeeksInISOWeekYear=KEo;Ko.date=Ust;Ko.day=Ko.days=Xzo;Ko.weekday=Jzo;Ko.isoWeekday=Kzo;Ko.dayOfYear=eko;Ko.hour=Ko.hours=nDo;Ko.minute=Ko.minutes=tko;Ko.second=Ko.seconds=nko;Ko.millisecond=Ko.milliseconds=Bst;Ko.utcOffset=NDo;Ko.utc=BDo;Ko.local=jDo;Ko.parseZone=YDo;Ko.hasAlignedHourOffset=ODo;Ko.isDST=_Do;Ko.isLocal=GDo;Ko.isUtcOffset=XDo;Ko.isUtc=Hst;Ko.isUTC=Hst;Ko.zoneAbbr=iko;Ko.zoneName=rko;Ko.dates=sy("dates accessor is deprecated. Use date instead.",Ust);Ko.months=sy("months accessor is deprecated. Use month instead",pst);Ko.years=sy("years accessor is deprecated. Use year instead",mst);Ko.zone=sy("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",UDo);Ko.isDSTShifted=sy("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",VDo);function ako(t){return vc(t*1e3)}function lko(){return vc.apply(null,arguments).parseZone()}function jst(t){return t}var Ll=L3e.prototype;Ll.calendar=XIo;Ll.longDateFormat=$Io;Ll.invalidDate=ZIo;Ll.ordinal=nzo;Ll.preparse=jst;Ll.postformat=jst;Ll.relativeTime=izo;Ll.pastFuture=rzo;Ll.set=VIo;Ll.eras=EEo;Ll.erasParse=kEo;Ll.erasConvertYear=FEo;Ll.erasAbbrRegex=jEo;Ll.erasNameRegex=BEo;Ll.erasNarrowRegex=YEo;Ll.months=vzo;Ll.monthsShort=xzo;Ll.monthsParse=Szo;Ll.monthsRegex=Czo;Ll.monthsShortRegex=Pzo;Ll.week=Mzo;Ll.firstDayOfYear=Dzo;Ll.firstDayOfWeek=zzo;Ll.weekdays=Yzo;Ll.weekdaysMin=_zo;Ll.weekdaysShort=Ozo;Ll.weekdaysParse=Gzo;Ll.weekdaysRegex=qzo;Ll.weekdaysShortRegex=$zo;Ll.weekdaysMinRegex=Qzo;Ll.isPM=eDo;Ll.meridiem=oDo;function ZJ(t,e,n,o){var i=SA(),r=f3().set(o,e);return i[n](r,t)}function Yst(t,e,n){if(oA(t)&&(e=t,t=void 0),t=t||"",e!=null)return ZJ(t,e,n,"month");var o,i=[];for(o=0;o<12;o++)i[o]=ZJ(t,o,n,"month");return i}function Q3e(t,e,n,o){typeof t=="boolean"?(oA(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,oA(e)&&(n=e,e=void 0),e=e||"");var i=SA(),r=t?i._week.dow:0,a,l=[];if(n!=null)return ZJ(e,(n+r)%7,o,"day");for(a=0;a<7;a++)l[a]=ZJ(e,(a+r)%7,o,"day");return l}function sko(t,e){return Yst(t,e,"months")}function cko(t,e){return Yst(t,e,"monthsShort")}function uko(t,e,n){return Q3e(t,e,n,"weekdays")}function dko(t,e,n){return Q3e(t,e,n,"weekdaysShort")}function fko(t,e,n){return Q3e(t,e,n,"weekdaysMin")}Ow("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=ka(t%100/10)===1?"th":e===1?"st":e===2?"nd":e===3?"rd":"th";return t+n}});gi.lang=sy("moment.lang is deprecated. Use moment.locale instead.",Ow);gi.langData=sy("moment.langData is deprecated. Use moment.localeData instead.",SA);var t6=Math.abs;function hko(){var t=this._data;return this._milliseconds=t6(this._milliseconds),this._days=t6(this._days),this._months=t6(this._months),t.milliseconds=t6(t.milliseconds),t.seconds=t6(t.seconds),t.minutes=t6(t.minutes),t.hours=t6(t.hours),t.months=t6(t.months),t.years=t6(t.years),this}function Ost(t,e,n,o){var i=r5(e,n);return t._milliseconds+=o*i._milliseconds,t._days+=o*i._days,t._months+=o*i._months,t._bubble()}function pko(t,e){return Ost(this,t,e,1)}function gko(t,e){return Ost(this,t,e,-1)}function MEe(t){return t<0?Math.floor(t):Math.ceil(t)}function mko(){var t=this._milliseconds,e=this._days,n=this._months,o=this._data,i,r,a,l,s;return t>=0&&e>=0&&n>=0||t<=0&&e<=0&&n<=0||(t+=MEe(Nhe(n)+e)*864e5,e=0,n=0),o.milliseconds=t%1e3,i=Pm(t/1e3),o.seconds=i%60,r=Pm(i/60),o.minutes=r%60,a=Pm(r/60),o.hours=a%24,e+=Pm(a/24),s=Pm(_st(e)),n+=s,e-=MEe(Nhe(s)),l=Pm(n/12),n%=12,o.days=e,o.months=n,o.years=l,this}function _st(t){return t*4800/146097}function Nhe(t){return t*146097/4800}function yko(t){if(!this.isValid())return NaN;var e,n,o=this._milliseconds;if(t=cy(t),t==="month"||t==="quarter"||t==="year")switch(e=this._days+o/864e5,n=this._months+_st(e),t){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(e=this._days+Math.round(Nhe(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return e*24+o/36e5;case"minute":return e*1440+o/6e4;case"second":return e*86400+o/1e3;case"millisecond":return Math.floor(e*864e5)+o;default:throw new Error("Unknown unit "+t)}}function Ako(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+ka(this._months/12)*31536e6:NaN}function TA(t){return function(){return this.as(t)}}var wko=TA("ms"),vko=TA("s"),xko=TA("m"),bko=TA("h"),Sko=TA("d"),Tko=TA("w"),Pko=TA("M"),Cko=TA("Q"),Rko=TA("y");function Hko(){return r5(this)}function Mko(t){return t=cy(t),this.isValid()?this[t+"s"]():NaN}function aS(t){return function(){return this.isValid()?this._data[t]:NaN}}var Iko=aS("milliseconds"),zko=aS("seconds"),Dko=aS("minutes"),Eko=aS("hours"),kko=aS("days"),Fko=aS("months"),Lko=aS("years");function Wko(){return Pm(this.days()/7)}var a6=Math.round,rC={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Nko(t,e,n,o,i){return i.relativeTime(e||1,!!n,t,o)}function Uko(t,e,n,o){var i=r5(t).abs(),r=a6(i.as("s")),a=a6(i.as("m")),l=a6(i.as("h")),s=a6(i.as("d")),c=a6(i.as("M")),u=a6(i.as("w")),d=a6(i.as("y")),f=r<=n.ss&&["s",r]||r0,f[4]=o,Nko.apply(null,f)}function Bko(t){return t===void 0?a6:typeof t=="function"?(a6=t,!0):!1}function jko(t,e){return rC[t]===void 0?!1:e===void 0?rC[t]:(rC[t]=e,t==="s"&&(rC.ss=e-1),!0)}function Yko(t,e){if(!this.isValid())return this.localeData().invalidDate();var n=!1,o=rC,i,r;return typeof t=="object"&&(e=t,t=!1),typeof t=="boolean"&&(n=t),typeof e=="object"&&(o=Object.assign({},rC,e),e.s!=null&&e.ss==null&&(o.ss=e.s-1)),i=this.localeData(),r=Uko(this,!n,o,i),n&&(r=i.pastFuture(+this,r)),i.postformat(r)}var cle=Math.abs;function JT(t){return(t>0)-(t<0)||+t}function qee(){if(!this.isValid())return this.localeData().invalidDate();var t=cle(this._milliseconds)/1e3,e=cle(this._days),n=cle(this._months),o,i,r,a,l=this.asSeconds(),s,c,u,d;return l?(o=Pm(t/60),i=Pm(o/60),t%=60,o%=60,r=Pm(n/12),n%=12,a=t?t.toFixed(3).replace(/\.?0+$/,""):"",s=l<0?"-":"",c=JT(this._months)!==JT(l)?"-":"",u=JT(this._days)!==JT(l)?"-":"",d=JT(this._milliseconds)!==JT(l)?"-":"",s+"P"+(r?c+r+"Y":"")+(n?c+n+"M":"")+(e?u+e+"D":"")+(i||o||t?"T":"")+(i?d+i+"H":"")+(o?d+o+"M":"")+(t?d+a+"S":"")):"P0D"}var ml=Jee.prototype;ml.isValid=kDo;ml.abs=hko;ml.add=pko;ml.subtract=gko;ml.as=yko;ml.asMilliseconds=wko;ml.asSeconds=vko;ml.asMinutes=xko;ml.asHours=bko;ml.asDays=Sko;ml.asWeeks=Tko;ml.asMonths=Pko;ml.asQuarters=Cko;ml.asYears=Rko;ml.valueOf=Ako;ml._bubble=mko;ml.clone=Hko;ml.get=Mko;ml.milliseconds=Iko;ml.seconds=zko;ml.minutes=Dko;ml.hours=Eko;ml.days=kko;ml.weeks=Wko;ml.months=Fko;ml.years=Lko;ml.humanize=Yko;ml.toISOString=qee;ml.toString=qee;ml.toJSON=qee;ml.locale=Dst;ml.localeData=kst;ml.toIsoString=sy("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",qee);ml.lang=Est;mr("X",0,0,"unix");mr("x",0,0,"valueOf");Wi("x",_ee);Wi("X",uzo);ws("X",function(t,e,n){n._d=new Date(parseFloat(t)*1e3)});ws("x",function(t,e,n){n._d=new Date(ka(t))});//! moment.js -gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3;gi.unix=ako;gi.months=sko;gi.isDate=oU;gi.locale=Ow;gi.invalid=Uee;gi.duration=r5;gi.isMoment=_2;gi.weekdays=uko;gi.parseZone=lko;gi.localeData=SA;gi.isDuration=oV;gi.monthsShort=cko;gi.weekdaysMin=fko;gi.defineLocale=_3e;gi.updateLocale=lDo;gi.locales=sDo;gi.weekdaysShort=dko;gi.normalizeUnits=cy;gi.relativeTimeRounding=Bko;gi.relativeTimeThreshold=jko;gi.calendarFormat=oEo;gi.prototype=Ko;gi.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const Oko=Ho.div` +`+new Error().stack),n=!1}return e.apply(this,arguments)},e)}var CEe={};function ost(t,e){gi.deprecationHandler!=null&&gi.deprecationHandler(t,e),CEe[t]||(nst(e),CEe[t]=!0)}gi.suppressDeprecationWarnings=!1;gi.deprecationHandler=null;function h3(t){return typeof Function<"u"&&t instanceof Function||Object.prototype.toString.call(t)==="[object Function]"}function OIo(t){var e,n;for(n in t)El(t,n)&&(e=t[n],h3(e)?this[n]=e:this["_"+n]=e);this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function Ehe(t,e){var n=bw({},t),o;for(o in e)El(e,o)&&(Ix(t[o])&&Ix(e[o])?(n[o]={},bw(n[o],t[o]),bw(n[o],e[o])):e[o]!=null?n[o]=e[o]:delete n[o]);for(o in t)El(t,o)&&!El(e,o)&&Ix(t[o])&&(n[o]=bw({},n[o]));return n}function L3e(t){t!=null&&this.set(t)}var khe;Object.keys?khe=Object.keys:khe=function(t){var e,n=[];for(e in t)El(t,e)&&n.push(e);return n};var _Io={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function VIo(t,e,n){var o=this._calendar[t]||this._calendar.sameElse;return h3(o)?o.call(e,n):o}function _9(t,e,n){var o=""+Math.abs(t),i=e-o.length,r=t>=0;return(r?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+o}var W3e=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,KO=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,lle={},zC={};function mr(t,e,n,o){var i=o;typeof o=="string"&&(i=function(){return this[o]()}),t&&(zC[t]=i),e&&(zC[e[0]]=function(){return _9(i.apply(this,arguments),e[1],e[2])}),n&&(zC[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function GIo(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function XIo(t){var e=t.match(W3e),n,o;for(n=0,o=e.length;n=0&&KO.test(t);)t=t.replace(KO,o),KO.lastIndex=0,n-=1;return t}var JIo={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function KIo(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.match(W3e).map(function(o){return o==="MMMM"||o==="MM"||o==="DD"||o==="dddd"?o.slice(1):o}).join(""),this._longDateFormat[t])}var qIo="Invalid date";function $Io(){return this._invalidDate}var QIo="%d",ZIo=/\d{1,2}/;function ezo(t){return this._ordinal.replace("%d",t)}var tzo={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function nzo(t,e,n,o){var i=this._relativeTime[n];return h3(i)?i(t,e,n,o):i.replace(/%d/i,t)}function ozo(t,e){var n=this._relativeTime[t>0?"future":"past"];return h3(n)?n(e):n.replace(/%s/i,e)}var jE={};function bh(t,e){var n=t.toLowerCase();jE[n]=jE[n+"s"]=jE[e]=t}function cy(t){return typeof t=="string"?jE[t]||jE[t.toLowerCase()]:void 0}function N3e(t){var e={},n,o;for(o in t)El(t,o)&&(n=cy(o),n&&(e[n]=t[o]));return e}var rst={};function Sh(t,e){rst[t]=e}function izo(t){var e=[],n;for(n in t)El(t,n)&&e.push({unit:n,priority:rst[n]});return e.sort(function(o,i){return o.priority-i.priority}),e}function Bee(t){return t%4===0&&t%100!==0||t%400===0}function Pm(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function ka(t){var e=+t,n=0;return e!==0&&isFinite(e)&&(n=Pm(e)),n}function CM(t,e){return function(n){return n!=null?(ast(this,t,n),gi.updateOffset(this,e),this):JJ(this,t)}}function JJ(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function ast(t,e,n){t.isValid()&&!isNaN(n)&&(e==="FullYear"&&Bee(t.year())&&t.month()===1&&t.date()===29?(n=ka(n),t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Gee(n,t.month()))):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function rzo(t){return t=cy(t),h3(this[t])?this[t]():this}function azo(t,e){if(typeof t=="object"){t=N3e(t);var n=izo(t),o,i=n.length;for(o=0;o68?1900:2e3)};var mst=CM("FullYear",!0);function Pzo(){return Bee(this.year())}function Czo(t,e,n,o,i,r,a){var l;return t<100&&t>=0?(l=new Date(t+400,e,n,o,i,r,a),isFinite(l.getFullYear())&&l.setFullYear(t)):l=new Date(t,e,n,o,i,r,a),l}function PL(t){var e,n;return t<100&&t>=0?(n=Array.prototype.slice.call(arguments),n[0]=t+400,e=new Date(Date.UTC.apply(null,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)):e=new Date(Date.UTC.apply(null,arguments)),e}function qJ(t,e,n){var o=7+e-n,i=(7+PL(t,0,o).getUTCDay()-e)%7;return-i+o-1}function yst(t,e,n,o,i){var r=(7+n-o)%7,a=qJ(t,o,i),l=1+7*(e-1)+r+a,s,c;return l<=0?(s=t-1,c=YE(s)+l):l>YE(t)?(s=t+1,c=l-YE(t)):(s=t,c=l),{year:s,dayOfYear:c}}function CL(t,e,n){var o=qJ(t.year(),e,n),i=Math.floor((t.dayOfYear()-o-1)/7)+1,r,a;return i<1?(a=t.year()-1,r=i+F6(a,e,n)):i>F6(t.year(),e,n)?(r=i-F6(t.year(),e,n),a=t.year()+1):(a=t.year(),r=i),{week:r,year:a}}function F6(t,e,n){var o=qJ(t,e,n),i=qJ(t+1,e,n);return(YE(t)-o+i)/7}mr("w",["ww",2],"wo","week");mr("W",["WW",2],"Wo","isoWeek");bh("week","w");bh("isoWeek","W");Sh("week",5);Sh("isoWeek",5);Wi("w",Tc);Wi("ww",Tc,Lg);Wi("W",Tc);Wi("WW",Tc,Lg);aU(["w","ww","W","WW"],function(t,e,n,o){e[o.substr(0,1)]=ka(t)});function Rzo(t){return CL(t,this._week.dow,this._week.doy).week}var Hzo={dow:0,doy:6};function Mzo(){return this._week.dow}function Izo(){return this._week.doy}function zzo(t){var e=this.localeData().week(this);return t==null?e:this.add((t-e)*7,"d")}function Dzo(t){var e=CL(this,1,4).week;return t==null?e:this.add((t-e)*7,"d")}mr("d",0,"do","day");mr("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)});mr("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)});mr("dddd",0,0,function(t){return this.localeData().weekdays(this,t)});mr("e",0,0,"weekday");mr("E",0,0,"isoWeekday");bh("day","d");bh("weekday","e");bh("isoWeekday","E");Sh("day",11);Sh("weekday",11);Sh("isoWeekday",11);Wi("d",Tc);Wi("e",Tc);Wi("E",Tc);Wi("dd",function(t,e){return e.weekdaysMinRegex(t)});Wi("ddd",function(t,e){return e.weekdaysShortRegex(t)});Wi("dddd",function(t,e){return e.weekdaysRegex(t)});aU(["dd","ddd","dddd"],function(t,e,n,o){var i=n._locale.weekdaysParse(t,o,n._strict);i!=null?e.d=i:ya(n).invalidWeekday=t});aU(["d","e","E"],function(t,e,n,o){e[o]=ka(t)});function Ezo(t,e){return typeof t!="string"?t:isNaN(t)?(t=e.weekdaysParse(t),typeof t=="number"?t:null):parseInt(t,10)}function kzo(t,e){return typeof t=="string"?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function j3e(t,e){return t.slice(e,7).concat(t.slice(0,e))}var Fzo="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ast="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Lzo="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Wzo=rU,Nzo=rU,Uzo=rU;function Bzo(t,e){var n=O2(this._weekdays)?this._weekdays:this._weekdays[t&&t!==!0&&this._weekdays.isFormat.test(e)?"format":"standalone"];return t===!0?j3e(n,this._week.dow):t?n[t.day()]:n}function jzo(t){return t===!0?j3e(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Yzo(t){return t===!0?j3e(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Ozo(t,e,n){var o,i,r,a=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)r=f3([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(r,"").toLocaleLowerCase();return n?e==="dddd"?(i=k0.call(this._weekdaysParse,a),i!==-1?i:null):e==="ddd"?(i=k0.call(this._shortWeekdaysParse,a),i!==-1?i:null):(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null):e==="dddd"?(i=k0.call(this._weekdaysParse,a),i!==-1||(i=k0.call(this._shortWeekdaysParse,a),i!==-1)?i:(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null)):e==="ddd"?(i=k0.call(this._shortWeekdaysParse,a),i!==-1||(i=k0.call(this._weekdaysParse,a),i!==-1)?i:(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null)):(i=k0.call(this._minWeekdaysParse,a),i!==-1||(i=k0.call(this._weekdaysParse,a),i!==-1)?i:(i=k0.call(this._shortWeekdaysParse,a),i!==-1?i:null))}function _zo(t,e,n){var o,i,r;if(this._weekdaysParseExact)return Ozo.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(i=f3([2e3,1]).day(o),n&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[o]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[o]=new RegExp(r.replace(".",""),"i")),n&&e==="dddd"&&this._fullWeekdaysParse[o].test(t))return o;if(n&&e==="ddd"&&this._shortWeekdaysParse[o].test(t))return o;if(n&&e==="dd"&&this._minWeekdaysParse[o].test(t))return o;if(!n&&this._weekdaysParse[o].test(t))return o}}function Vzo(t){if(!this.isValid())return t!=null?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return t!=null?(t=Ezo(t,this.localeData()),this.add(t-e,"d")):e}function Gzo(t){if(!this.isValid())return t!=null?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return t==null?e:this.add(t-e,"d")}function Xzo(t){if(!this.isValid())return t!=null?this:NaN;if(t!=null){var e=kzo(t,this.localeData());return this.day(this.day()%7?e:e-7)}else return this.day()||7}function Jzo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||Y3e.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(El(this,"_weekdaysRegex")||(this._weekdaysRegex=Wzo),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Kzo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||Y3e.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(El(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Nzo),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function qzo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||Y3e.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(El(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Uzo),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Y3e(){function t(u,d){return d.length-u.length}var e=[],n=[],o=[],i=[],r,a,l,s,c;for(r=0;r<7;r++)a=f3([2e3,1]).day(r),l=ig(this.weekdaysMin(a,"")),s=ig(this.weekdaysShort(a,"")),c=ig(this.weekdays(a,"")),e.push(l),n.push(s),o.push(c),i.push(l),i.push(s),i.push(c);e.sort(t),n.sort(t),o.sort(t),i.sort(t),this._weekdaysRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+e.join("|")+")","i")}function O3e(){return this.hours()%12||12}function $zo(){return this.hours()||24}mr("H",["HH",2],0,"hour");mr("h",["hh",2],0,O3e);mr("k",["kk",2],0,$zo);mr("hmm",0,0,function(){return""+O3e.apply(this)+_9(this.minutes(),2)});mr("hmmss",0,0,function(){return""+O3e.apply(this)+_9(this.minutes(),2)+_9(this.seconds(),2)});mr("Hmm",0,0,function(){return""+this.hours()+_9(this.minutes(),2)});mr("Hmmss",0,0,function(){return""+this.hours()+_9(this.minutes(),2)+_9(this.seconds(),2)});function wst(t,e){mr(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}wst("a",!0);wst("A",!1);bh("hour","h");Sh("hour",13);function vst(t,e){return e._meridiemParse}Wi("a",vst);Wi("A",vst);Wi("H",Tc);Wi("h",Tc);Wi("k",Tc);Wi("HH",Tc,Lg);Wi("hh",Tc,Lg);Wi("kk",Tc,Lg);Wi("hmm",cst);Wi("hmmss",ust);Wi("Hmm",cst);Wi("Hmmss",ust);ws(["H","HH"],Wu);ws(["k","kk"],function(t,e,n){var o=ka(t);e[Wu]=o===24?0:o});ws(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t});ws(["h","hh"],function(t,e,n){e[Wu]=ka(t),ya(n).bigHour=!0});ws("hmm",function(t,e,n){var o=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o)),ya(n).bigHour=!0});ws("hmmss",function(t,e,n){var o=t.length-4,i=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o,2)),e[S6]=ka(t.substr(i)),ya(n).bigHour=!0});ws("Hmm",function(t,e,n){var o=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o))});ws("Hmmss",function(t,e,n){var o=t.length-4,i=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o,2)),e[S6]=ka(t.substr(i))});function Qzo(t){return(t+"").toLowerCase().charAt(0)==="p"}var Zzo=/[ap]\.?m?\.?/i,eDo=CM("Hours",!0);function tDo(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}var xst={calendar:_Io,longDateFormat:JIo,invalidDate:qIo,ordinal:QIo,dayOfMonthOrdinalParse:ZIo,relativeTime:tzo,months:gzo,monthsShort:dst,week:Hzo,weekdays:Fzo,weekdaysMin:Lzo,weekdaysShort:Ast,meridiemParse:Zzo},Fc={},iD={},RL;function nDo(t,e){var n,o=Math.min(t.length,e.length);for(n=0;n0;){if(i=Xee(r.slice(0,n).join("-")),i)return i;if(o&&o.length>=n&&nDo(r,o)>=n-1)break;n--}e++}return RL}function iDo(t){return t.match("^[^/\\\\]*$")!=null}function Xee(t){var e=null,n;if(Fc[t]===void 0&&typeof ch<"u"&&ch&&ch.exports&&iDo(t))try{e=RL._abbr,n=require,n("./locale/"+t),Ow(e)}catch{Fc[t]=null}return Fc[t]}function Ow(t,e){var n;return t&&(Mp(e)?n=SA(t):n=_3e(t,e),n?RL=n:typeof console<"u"&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),RL._abbr}function _3e(t,e){if(e!==null){var n,o=xst;if(e.abbr=t,Fc[t]!=null)ost("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),o=Fc[t]._config;else if(e.parentLocale!=null)if(Fc[e.parentLocale]!=null)o=Fc[e.parentLocale]._config;else if(n=Xee(e.parentLocale),n!=null)o=n._config;else return iD[e.parentLocale]||(iD[e.parentLocale]=[]),iD[e.parentLocale].push({name:t,config:e}),null;return Fc[t]=new L3e(Ehe(o,e)),iD[t]&&iD[t].forEach(function(i){_3e(i.name,i.config)}),Ow(t),Fc[t]}else return delete Fc[t],null}function rDo(t,e){if(e!=null){var n,o,i=xst;Fc[t]!=null&&Fc[t].parentLocale!=null?Fc[t].set(Ehe(Fc[t]._config,e)):(o=Xee(t),o!=null&&(i=o._config),e=Ehe(i,e),o==null&&(e.abbr=t),n=new L3e(e),n.parentLocale=Fc[t],Fc[t]=n),Ow(t)}else Fc[t]!=null&&(Fc[t].parentLocale!=null?(Fc[t]=Fc[t].parentLocale,t===Ow()&&Ow(t)):Fc[t]!=null&&delete Fc[t]);return Fc[t]}function SA(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return RL;if(!O2(t)){if(e=Xee(t),e)return e;t=[t]}return oDo(t)}function aDo(){return khe(Fc)}function V3e(t){var e,n=t._a;return n&&ya(t).overflow===-2&&(e=n[b6]<0||n[b6]>11?b6:n[i9]<1||n[i9]>Gee(n[dh],n[b6])?i9:n[Wu]<0||n[Wu]>24||n[Wu]===24&&(n[b2]!==0||n[S6]!==0||n[Qv]!==0)?Wu:n[b2]<0||n[b2]>59?b2:n[S6]<0||n[S6]>59?S6:n[Qv]<0||n[Qv]>999?Qv:-1,ya(t)._overflowDayOfYear&&(ei9)&&(e=i9),ya(t)._overflowWeeks&&e===-1&&(e=fzo),ya(t)._overflowWeekday&&e===-1&&(e=hzo),ya(t).overflow=e),t}var lDo=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,sDo=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,cDo=/Z|[+-]\d\d(?::?\d\d)?/,qO=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],sle=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],uDo=/^\/?Date\((-?\d+)/i,dDo=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,fDo={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function bst(t){var e,n,o=t._i,i=lDo.exec(o)||sDo.exec(o),r,a,l,s,c=qO.length,u=sle.length;if(i){for(ya(t).iso=!0,e=0,n=c;eYE(a)||t._dayOfYear===0)&&(ya(t)._overflowDayOfYear=!0),n=PL(a,0,t._dayOfYear),t._a[b6]=n.getUTCMonth(),t._a[i9]=n.getUTCDate()),e=0;e<3&&t._a[e]==null;++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=t._a[e]==null?e===2?1:0:t._a[e];t._a[Wu]===24&&t._a[b2]===0&&t._a[S6]===0&&t._a[Qv]===0&&(t._nextDay=!0,t._a[Wu]=0),t._d=(t._useUTC?PL:Czo).apply(null,o),r=t._useUTC?t._d.getUTCDay():t._d.getDay(),t._tzm!=null&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Wu]=24),t._w&&typeof t._w.d<"u"&&t._w.d!==r&&(ya(t).weekdayMismatch=!0)}}function vDo(t){var e,n,o,i,r,a,l,s,c;e=t._w,e.GG!=null||e.W!=null||e.E!=null?(r=1,a=4,n=SP(e.GG,t._a[dh],CL(vc(),1,4).year),o=SP(e.W,1),i=SP(e.E,1),(i<1||i>7)&&(s=!0)):(r=t._locale._week.dow,a=t._locale._week.doy,c=CL(vc(),r,a),n=SP(e.gg,t._a[dh],c.year),o=SP(e.w,c.week),e.d!=null?(i=e.d,(i<0||i>6)&&(s=!0)):e.e!=null?(i=e.e+r,(e.e<0||e.e>6)&&(s=!0)):i=r),o<1||o>F6(n,r,a)?ya(t)._overflowWeeks=!0:s!=null?ya(t)._overflowWeekday=!0:(l=yst(n,o,i,r,a),t._a[dh]=l.year,t._dayOfYear=l.dayOfYear)}gi.ISO_8601=function(){};gi.RFC_2822=function(){};function X3e(t){if(t._f===gi.ISO_8601){bst(t);return}if(t._f===gi.RFC_2822){Sst(t);return}t._a=[],ya(t).empty=!0;var e=""+t._i,n,o,i,r,a,l=e.length,s=0,c,u;for(i=ist(t._f,t._locale).match(W3e)||[],u=i.length,n=0;n0&&ya(t).unusedInput.push(a),e=e.slice(e.indexOf(o)+o.length),s+=o.length),zC[r]?(o?ya(t).empty=!1:ya(t).unusedTokens.push(r),dzo(r,o,t)):t._strict&&!o&&ya(t).unusedTokens.push(r);ya(t).charsLeftOver=l-s,e.length>0&&ya(t).unusedInput.push(e),t._a[Wu]<=12&&ya(t).bigHour===!0&&t._a[Wu]>0&&(ya(t).bigHour=void 0),ya(t).parsedDateParts=t._a.slice(0),ya(t).meridiem=t._meridiem,t._a[Wu]=xDo(t._locale,t._a[Wu],t._meridiem),c=ya(t).era,c!==null&&(t._a[dh]=t._locale.erasConvertYear(c,t._a[dh])),G3e(t),V3e(t)}function xDo(t,e,n){var o;return n==null?e:t.meridiemHour!=null?t.meridiemHour(e,n):(t.isPM!=null&&(o=t.isPM(n),o&&e<12&&(e+=12),!o&&e===12&&(e=0)),e)}function bDo(t){var e,n,o,i,r,a,l=!1,s=t._f.length;if(s===0){ya(t).invalidFormat=!0,t._d=new Date(NaN);return}for(i=0;ithis?this:t:Uee()});function Cst(t,e){var n,o;if(e.length===1&&O2(e[0])&&(e=e[0]),!e.length)return vc();for(n=e[0],o=1;othis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function ODo(){if(!Mp(this._isDSTShifted))return this._isDSTShifted;var t={},e;return F3e(t,this),t=Tst(t),t._a?(e=t._isUTC?f3(t._a):vc(t._a),this._isDSTShifted=this.isValid()&&kDo(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function _Do(){return this.isValid()?!this._isUTC:!1}function VDo(){return this.isValid()?this._isUTC:!1}function Hst(){return this.isValid()?this._isUTC&&this._offset===0:!1}var GDo=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,XDo=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function r5(t,e){var n=t,o=null,i,r,a;return oV(t)?n={ms:t._milliseconds,d:t._days,M:t._months}:oA(t)||!isNaN(+t)?(n={},e?n[e]=+t:n.milliseconds=+t):(o=GDo.exec(t))?(i=o[1]==="-"?-1:1,n={y:0,d:ka(o[i9])*i,h:ka(o[Wu])*i,m:ka(o[b2])*i,s:ka(o[S6])*i,ms:ka(Lhe(o[Qv]*1e3))*i}):(o=XDo.exec(t))?(i=o[1]==="-"?-1:1,n={y:ev(o[2],i),M:ev(o[3],i),w:ev(o[4],i),d:ev(o[5],i),h:ev(o[6],i),m:ev(o[7],i),s:ev(o[8],i)}):n==null?n={}:typeof n=="object"&&("from"in n||"to"in n)&&(a=JDo(vc(n.from),vc(n.to)),n={},n.ms=a.milliseconds,n.M=a.months),r=new Jee(n),oV(t)&&El(t,"_locale")&&(r._locale=t._locale),oV(t)&&El(t,"_isValid")&&(r._isValid=t._isValid),r}r5.fn=Jee.prototype;r5.invalid=EDo;function ev(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function HEe(t,e){var n={};return n.months=e.month()-t.month()+(e.year()-t.year())*12,t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function JDo(t,e){var n;return t.isValid()&&e.isValid()?(e=K3e(e,t),t.isBefore(e)?n=HEe(t,e):(n=HEe(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Mst(t,e){return function(n,o){var i,r;return o!==null&&!isNaN(+o)&&(ost(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=o,o=r),i=r5(n,o),Ist(this,i,t),this}}function Ist(t,e,n,o){var i=e._milliseconds,r=Lhe(e._days),a=Lhe(e._months);t.isValid()&&(o=o??!0,a&&hst(t,JJ(t,"Month")+a*n),r&&ast(t,"Date",JJ(t,"Date")+r*n),i&&t._d.setTime(t._d.valueOf()+i*n),o&&gi.updateOffset(t,r||a))}var KDo=Mst(1,"add"),qDo=Mst(-1,"subtract");function zst(t){return typeof t=="string"||t instanceof String}function $Do(t){return _2(t)||oU(t)||zst(t)||oA(t)||ZDo(t)||QDo(t)||t===null||t===void 0}function QDo(t){var e=Ix(t)&&!E3e(t),n=!1,o=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],i,r,a=o.length;for(i=0;in.valueOf():n.valueOf()9999?nV(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):h3(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",nV(n,"Z")):nV(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function hEo(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="",n,o,i,r;return this.isLocal()||(t=this.utcOffset()===0?"moment.utc":"moment.parseZone",e="Z"),n="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i="-MM-DD[T]HH:mm:ss.SSS",r=e+'[")]',this.format(n+o+i+r)}function pEo(t){t||(t=this.isUtc()?gi.defaultFormatUtc:gi.defaultFormat);var e=nV(this,t);return this.localeData().postformat(e)}function gEo(t,e){return this.isValid()&&(_2(t)&&t.isValid()||vc(t).isValid())?r5({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function mEo(t){return this.from(vc(),t)}function yEo(t,e){return this.isValid()&&(_2(t)&&t.isValid()||vc(t).isValid())?r5({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function AEo(t){return this.to(vc(),t)}function Dst(t){var e;return t===void 0?this._locale._abbr:(e=SA(t),e!=null&&(this._locale=e),this)}var Est=sy("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===void 0?this.localeData():this.locale(t)});function kst(){return this._locale}var $J=1e3,DC=60*$J,QJ=60*DC,Fst=(365*400+97)*24*QJ;function EC(t,e){return(t%e+e)%e}function Lst(t,e,n){return t<100&&t>=0?new Date(t+400,e,n)-Fst:new Date(t,e,n).valueOf()}function Wst(t,e,n){return t<100&&t>=0?Date.UTC(t+400,e,n)-Fst:Date.UTC(t,e,n)}function wEo(t){var e,n;if(t=cy(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?Wst:Lst,t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=EC(e+(this._isUTC?0:this.utcOffset()*DC),QJ);break;case"minute":e=this._d.valueOf(),e-=EC(e,DC);break;case"second":e=this._d.valueOf(),e-=EC(e,$J);break}return this._d.setTime(e),gi.updateOffset(this,!0),this}function vEo(t){var e,n;if(t=cy(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?Wst:Lst,t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=QJ-EC(e+(this._isUTC?0:this.utcOffset()*DC),QJ)-1;break;case"minute":e=this._d.valueOf(),e+=DC-EC(e,DC)-1;break;case"second":e=this._d.valueOf(),e+=$J-EC(e,$J)-1;break}return this._d.setTime(e),gi.updateOffset(this,!0),this}function xEo(){return this._d.valueOf()-(this._offset||0)*6e4}function bEo(){return Math.floor(this.valueOf()/1e3)}function SEo(){return new Date(this.valueOf())}function TEo(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function PEo(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function CEo(){return this.isValid()?this.toISOString():null}function REo(){return k3e(this)}function HEo(){return bw({},ya(this))}function MEo(){return ya(this).overflow}function IEo(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}mr("N",0,0,"eraAbbr");mr("NN",0,0,"eraAbbr");mr("NNN",0,0,"eraAbbr");mr("NNNN",0,0,"eraName");mr("NNNNN",0,0,"eraNarrow");mr("y",["y",1],"yo","eraYear");mr("y",["yy",2],0,"eraYear");mr("y",["yyy",3],0,"eraYear");mr("y",["yyyy",4],0,"eraYear");Wi("N",q3e);Wi("NN",q3e);Wi("NNN",q3e);Wi("NNNN",jEo);Wi("NNNNN",YEo);ws(["N","NN","NNN","NNNN","NNNNN"],function(t,e,n,o){var i=n._locale.erasParse(t,o,n._strict);i?ya(n).era=i:ya(n).invalidEra=t});Wi("y",RM);Wi("yy",RM);Wi("yyy",RM);Wi("yyyy",RM);Wi("yo",OEo);ws(["y","yy","yyy","yyyy"],dh);ws(["yo"],function(t,e,n,o){var i;n._locale._eraYearOrdinalRegex&&(i=t.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?e[dh]=n._locale.eraYearOrdinalParse(t,i):e[dh]=parseInt(t,10)});function zEo(t,e){var n,o,i,r=this._eras||SA("en")._eras;for(n=0,o=r.length;n=0)return r[o]}function EEo(t,e){var n=t.since<=t.until?1:-1;return e===void 0?gi(t.since).year():gi(t.since).year()+(e-t.offset)*n}function kEo(){var t,e,n,o=this.localeData().eras();for(t=0,e=o.length;tr&&(e=r),qEo.call(this,t,e,n,o,i))}function qEo(t,e,n,o,i){var r=yst(t,e,n,o,i),a=PL(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}mr("Q",0,"Qo","quarter");bh("quarter","Q");Sh("quarter",7);Wi("Q",lst);ws("Q",function(t,e){e[b6]=(ka(t)-1)*3});function $Eo(t){return t==null?Math.ceil((this.month()+1)/3):this.month((t-1)*3+this.month()%3)}mr("D",["DD",2],"Do","date");bh("date","D");Sh("date",9);Wi("D",Tc);Wi("DD",Tc,Lg);Wi("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient});ws(["D","DD"],i9);ws("Do",function(t,e){e[i9]=ka(t.match(Tc)[0])});var Ust=CM("Date",!0);mr("DDD",["DDDD",3],"DDDo","dayOfYear");bh("dayOfYear","DDD");Sh("dayOfYear",4);Wi("DDD",Yee);Wi("DDDD",sst);ws(["DDD","DDDD"],function(t,e,n){n._dayOfYear=ka(t)});function QEo(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return t==null?e:this.add(t-e,"d")}mr("m",["mm",2],0,"minute");bh("minute","m");Sh("minute",14);Wi("m",Tc);Wi("mm",Tc,Lg);ws(["m","mm"],b2);var ZEo=CM("Minutes",!1);mr("s",["ss",2],0,"second");bh("second","s");Sh("second",15);Wi("s",Tc);Wi("ss",Tc,Lg);ws(["s","ss"],S6);var eko=CM("Seconds",!1);mr("S",0,0,function(){return~~(this.millisecond()/100)});mr(0,["SS",2],0,function(){return~~(this.millisecond()/10)});mr(0,["SSS",3],0,"millisecond");mr(0,["SSSS",4],0,function(){return this.millisecond()*10});mr(0,["SSSSS",5],0,function(){return this.millisecond()*100});mr(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});mr(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});mr(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});mr(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});bh("millisecond","ms");Sh("millisecond",16);Wi("S",Yee,lst);Wi("SS",Yee,Lg);Wi("SSS",Yee,sst);var Sw,Bst;for(Sw="SSSS";Sw.length<=9;Sw+="S")Wi(Sw,RM);function tko(t,e){e[Qv]=ka(("0."+t)*1e3)}for(Sw="S";Sw.length<=9;Sw+="S")ws(Sw,tko);Bst=CM("Milliseconds",!1);mr("z",0,0,"zoneAbbr");mr("zz",0,0,"zoneName");function nko(){return this._isUTC?"UTC":""}function oko(){return this._isUTC?"Coordinated Universal Time":""}var Ko=iU.prototype;Ko.add=KDo;Ko.calendar=nEo;Ko.clone=oEo;Ko.diff=uEo;Ko.endOf=vEo;Ko.format=pEo;Ko.from=gEo;Ko.fromNow=mEo;Ko.to=yEo;Ko.toNow=AEo;Ko.get=rzo;Ko.invalidAt=MEo;Ko.isAfter=iEo;Ko.isBefore=rEo;Ko.isBetween=aEo;Ko.isSame=lEo;Ko.isSameOrAfter=sEo;Ko.isSameOrBefore=cEo;Ko.isValid=REo;Ko.lang=Est;Ko.locale=Dst;Ko.localeData=kst;Ko.max=RDo;Ko.min=CDo;Ko.parsingFlags=HEo;Ko.set=azo;Ko.startOf=wEo;Ko.subtract=qDo;Ko.toArray=TEo;Ko.toObject=PEo;Ko.toDate=SEo;Ko.toISOString=fEo;Ko.inspect=hEo;typeof Symbol<"u"&&Symbol.for!=null&&(Ko[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});Ko.toJSON=CEo;Ko.toString=dEo;Ko.unix=bEo;Ko.valueOf=xEo;Ko.creationData=IEo;Ko.eraName=kEo;Ko.eraNarrow=FEo;Ko.eraAbbr=LEo;Ko.eraYear=WEo;Ko.year=mst;Ko.isLeapYear=Pzo;Ko.weekYear=_Eo;Ko.isoWeekYear=VEo;Ko.quarter=Ko.quarters=$Eo;Ko.month=pst;Ko.daysInMonth=bzo;Ko.week=Ko.weeks=zzo;Ko.isoWeek=Ko.isoWeeks=Dzo;Ko.weeksInYear=JEo;Ko.weeksInWeekYear=KEo;Ko.isoWeeksInYear=GEo;Ko.isoWeeksInISOWeekYear=XEo;Ko.date=Ust;Ko.day=Ko.days=Vzo;Ko.weekday=Gzo;Ko.isoWeekday=Xzo;Ko.dayOfYear=QEo;Ko.hour=Ko.hours=eDo;Ko.minute=Ko.minutes=ZEo;Ko.second=Ko.seconds=eko;Ko.millisecond=Ko.milliseconds=Bst;Ko.utcOffset=LDo;Ko.utc=NDo;Ko.local=UDo;Ko.parseZone=BDo;Ko.hasAlignedHourOffset=jDo;Ko.isDST=YDo;Ko.isLocal=_Do;Ko.isUtcOffset=VDo;Ko.isUtc=Hst;Ko.isUTC=Hst;Ko.zoneAbbr=nko;Ko.zoneName=oko;Ko.dates=sy("dates accessor is deprecated. Use date instead.",Ust);Ko.months=sy("months accessor is deprecated. Use month instead",pst);Ko.years=sy("years accessor is deprecated. Use year instead",mst);Ko.zone=sy("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",WDo);Ko.isDSTShifted=sy("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",ODo);function iko(t){return vc(t*1e3)}function rko(){return vc.apply(null,arguments).parseZone()}function jst(t){return t}var Ll=L3e.prototype;Ll.calendar=VIo;Ll.longDateFormat=KIo;Ll.invalidDate=$Io;Ll.ordinal=ezo;Ll.preparse=jst;Ll.postformat=jst;Ll.relativeTime=nzo;Ll.pastFuture=ozo;Ll.set=OIo;Ll.eras=zEo;Ll.erasParse=DEo;Ll.erasConvertYear=EEo;Ll.erasAbbrRegex=UEo;Ll.erasNameRegex=NEo;Ll.erasNarrowRegex=BEo;Ll.months=Azo;Ll.monthsShort=wzo;Ll.monthsParse=xzo;Ll.monthsRegex=Tzo;Ll.monthsShortRegex=Szo;Ll.week=Rzo;Ll.firstDayOfYear=Izo;Ll.firstDayOfWeek=Mzo;Ll.weekdays=Bzo;Ll.weekdaysMin=Yzo;Ll.weekdaysShort=jzo;Ll.weekdaysParse=_zo;Ll.weekdaysRegex=Jzo;Ll.weekdaysShortRegex=Kzo;Ll.weekdaysMinRegex=qzo;Ll.isPM=Qzo;Ll.meridiem=tDo;function ZJ(t,e,n,o){var i=SA(),r=f3().set(o,e);return i[n](r,t)}function Yst(t,e,n){if(oA(t)&&(e=t,t=void 0),t=t||"",e!=null)return ZJ(t,e,n,"month");var o,i=[];for(o=0;o<12;o++)i[o]=ZJ(t,o,n,"month");return i}function Q3e(t,e,n,o){typeof t=="boolean"?(oA(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,oA(e)&&(n=e,e=void 0),e=e||"");var i=SA(),r=t?i._week.dow:0,a,l=[];if(n!=null)return ZJ(e,(n+r)%7,o,"day");for(a=0;a<7;a++)l[a]=ZJ(e,(a+r)%7,o,"day");return l}function ako(t,e){return Yst(t,e,"months")}function lko(t,e){return Yst(t,e,"monthsShort")}function sko(t,e,n){return Q3e(t,e,n,"weekdays")}function cko(t,e,n){return Q3e(t,e,n,"weekdaysShort")}function uko(t,e,n){return Q3e(t,e,n,"weekdaysMin")}Ow("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=ka(t%100/10)===1?"th":e===1?"st":e===2?"nd":e===3?"rd":"th";return t+n}});gi.lang=sy("moment.lang is deprecated. Use moment.locale instead.",Ow);gi.langData=sy("moment.langData is deprecated. Use moment.localeData instead.",SA);var t6=Math.abs;function dko(){var t=this._data;return this._milliseconds=t6(this._milliseconds),this._days=t6(this._days),this._months=t6(this._months),t.milliseconds=t6(t.milliseconds),t.seconds=t6(t.seconds),t.minutes=t6(t.minutes),t.hours=t6(t.hours),t.months=t6(t.months),t.years=t6(t.years),this}function Ost(t,e,n,o){var i=r5(e,n);return t._milliseconds+=o*i._milliseconds,t._days+=o*i._days,t._months+=o*i._months,t._bubble()}function fko(t,e){return Ost(this,t,e,1)}function hko(t,e){return Ost(this,t,e,-1)}function MEe(t){return t<0?Math.floor(t):Math.ceil(t)}function pko(){var t=this._milliseconds,e=this._days,n=this._months,o=this._data,i,r,a,l,s;return t>=0&&e>=0&&n>=0||t<=0&&e<=0&&n<=0||(t+=MEe(Nhe(n)+e)*864e5,e=0,n=0),o.milliseconds=t%1e3,i=Pm(t/1e3),o.seconds=i%60,r=Pm(i/60),o.minutes=r%60,a=Pm(r/60),o.hours=a%24,e+=Pm(a/24),s=Pm(_st(e)),n+=s,e-=MEe(Nhe(s)),l=Pm(n/12),n%=12,o.days=e,o.months=n,o.years=l,this}function _st(t){return t*4800/146097}function Nhe(t){return t*146097/4800}function gko(t){if(!this.isValid())return NaN;var e,n,o=this._milliseconds;if(t=cy(t),t==="month"||t==="quarter"||t==="year")switch(e=this._days+o/864e5,n=this._months+_st(e),t){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(e=this._days+Math.round(Nhe(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return e*24+o/36e5;case"minute":return e*1440+o/6e4;case"second":return e*86400+o/1e3;case"millisecond":return Math.floor(e*864e5)+o;default:throw new Error("Unknown unit "+t)}}function mko(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+ka(this._months/12)*31536e6:NaN}function TA(t){return function(){return this.as(t)}}var yko=TA("ms"),Ako=TA("s"),wko=TA("m"),vko=TA("h"),xko=TA("d"),bko=TA("w"),Sko=TA("M"),Tko=TA("Q"),Pko=TA("y");function Cko(){return r5(this)}function Rko(t){return t=cy(t),this.isValid()?this[t+"s"]():NaN}function aS(t){return function(){return this.isValid()?this._data[t]:NaN}}var Hko=aS("milliseconds"),Mko=aS("seconds"),Iko=aS("minutes"),zko=aS("hours"),Dko=aS("days"),Eko=aS("months"),kko=aS("years");function Fko(){return Pm(this.days()/7)}var a6=Math.round,rC={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Lko(t,e,n,o,i){return i.relativeTime(e||1,!!n,t,o)}function Wko(t,e,n,o){var i=r5(t).abs(),r=a6(i.as("s")),a=a6(i.as("m")),l=a6(i.as("h")),s=a6(i.as("d")),c=a6(i.as("M")),u=a6(i.as("w")),d=a6(i.as("y")),f=r<=n.ss&&["s",r]||r0,f[4]=o,Lko.apply(null,f)}function Nko(t){return t===void 0?a6:typeof t=="function"?(a6=t,!0):!1}function Uko(t,e){return rC[t]===void 0?!1:e===void 0?rC[t]:(rC[t]=e,t==="s"&&(rC.ss=e-1),!0)}function Bko(t,e){if(!this.isValid())return this.localeData().invalidDate();var n=!1,o=rC,i,r;return typeof t=="object"&&(e=t,t=!1),typeof t=="boolean"&&(n=t),typeof e=="object"&&(o=Object.assign({},rC,e),e.s!=null&&e.ss==null&&(o.ss=e.s-1)),i=this.localeData(),r=Wko(this,!n,o,i),n&&(r=i.pastFuture(+this,r)),i.postformat(r)}var cle=Math.abs;function JT(t){return(t>0)-(t<0)||+t}function qee(){if(!this.isValid())return this.localeData().invalidDate();var t=cle(this._milliseconds)/1e3,e=cle(this._days),n=cle(this._months),o,i,r,a,l=this.asSeconds(),s,c,u,d;return l?(o=Pm(t/60),i=Pm(o/60),t%=60,o%=60,r=Pm(n/12),n%=12,a=t?t.toFixed(3).replace(/\.?0+$/,""):"",s=l<0?"-":"",c=JT(this._months)!==JT(l)?"-":"",u=JT(this._days)!==JT(l)?"-":"",d=JT(this._milliseconds)!==JT(l)?"-":"",s+"P"+(r?c+r+"Y":"")+(n?c+n+"M":"")+(e?u+e+"D":"")+(i||o||t?"T":"")+(i?d+i+"H":"")+(o?d+o+"M":"")+(t?d+a+"S":"")):"P0D"}var ml=Jee.prototype;ml.isValid=DDo;ml.abs=dko;ml.add=fko;ml.subtract=hko;ml.as=gko;ml.asMilliseconds=yko;ml.asSeconds=Ako;ml.asMinutes=wko;ml.asHours=vko;ml.asDays=xko;ml.asWeeks=bko;ml.asMonths=Sko;ml.asQuarters=Tko;ml.asYears=Pko;ml.valueOf=mko;ml._bubble=pko;ml.clone=Cko;ml.get=Rko;ml.milliseconds=Hko;ml.seconds=Mko;ml.minutes=Iko;ml.hours=zko;ml.days=Dko;ml.weeks=Fko;ml.months=Eko;ml.years=kko;ml.humanize=Bko;ml.toISOString=qee;ml.toString=qee;ml.toJSON=qee;ml.locale=Dst;ml.localeData=kst;ml.toIsoString=sy("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",qee);ml.lang=Est;mr("X",0,0,"unix");mr("x",0,0,"valueOf");Wi("x",_ee);Wi("X",szo);ws("X",function(t,e,n){n._d=new Date(parseFloat(t)*1e3)});ws("x",function(t,e,n){n._d=new Date(ka(t))});//! moment.js +gi.version="2.29.4";jIo(vc);gi.fn=Ko;gi.min=HDo;gi.max=MDo;gi.now=IDo;gi.utc=f3;gi.unix=iko;gi.months=ako;gi.isDate=oU;gi.locale=Ow;gi.invalid=Uee;gi.duration=r5;gi.isMoment=_2;gi.weekdays=sko;gi.parseZone=rko;gi.localeData=SA;gi.isDuration=oV;gi.monthsShort=lko;gi.weekdaysMin=uko;gi.defineLocale=_3e;gi.updateLocale=rDo;gi.locales=aDo;gi.weekdaysShort=cko;gi.normalizeUnits=cy;gi.relativeTimeRounding=Nko;gi.relativeTimeThreshold=Uko;gi.calendarFormat=tEo;gi.prototype=Ko;gi.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const jko=Ho.div` position: fixed; top: 80px; right: 24px; @@ -8746,7 +8746,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,_ko=Ho.div` +`,Yko=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8764,7 +8764,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,Vko=Ho.div` +`,Oko=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8775,7 +8775,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,Gko=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=bn(sYe),a=bn(z8t),l=M(RAt),s=M(kg),c=M(bc),u=Se.useRef(null),d=m.useRef(null),f=m.useRef(),p=d.current?d.current.clientWidth+40:l?l.width+40:640,g=d.current?d.current.clientHeight+100:l?l.height+100:460,[y,A]=m.useState({x:l?Math.max(l.x,p-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-g):0}),x=Kt();m.useEffect(()=>{A({x:Math.max(l==null?void 0:l.x,p-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-g)})},[l,p,g]),m.useEffect(()=>{const P=()=>{A({x:Math.max(l==null?void 0:l.x,p-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-g)})};return window.addEventListener("resize",P),()=>{window.removeEventListener("resize",P)}},[l,p,g]),m.useEffect(()=>(d.current&&(f.current||(f.current=new ResizeObserver(()=>{o(P=>{d.current&&(P.viewState.dailyLightSensorPanelRect||(P.viewState.dailyLightSensorPanelRect=new ri(0,0,600,360)),P.viewState.dailyLightSensorPanelRect.width=d.current.offsetWidth,P.viewState.dailyLightSensorPanelRect.height=d.current.offsetHeight)})})),f.current.observe(d.current)),()=>{var P;(P=f.current)==null||P.disconnect()}),[]);const C=(P,R)=>{A({x:Math.max(R.x,p-window.innerWidth),y:Math.min(R.y,window.innerHeight-g)})},b=(P,R)=>{o(H=>{H.viewState.dailyLightSensorPanelRect||(H.viewState.dailyLightSensorPanelRect=new ri(0,0,600,360)),H.viewState.dailyLightSensorPanelRect.x=Math.max(R.x,p-window.innerWidth),H.viewState.dailyLightSensorPanelRect.y=Math.min(R.y,window.innerHeight-g)})},v=()=>{o(P=>{P.viewState.showDailyLightSensorPanel=!1,e&&(P.actionInfo={name:"Close Daily Light Sensor Graph",timestamp:new Date().getTime()})})},S=O.t("word.Hour",x),w=O.t("word.Radiation",x),T=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:u,handle:".handle",bounds:"parent",axis:"both",position:y,onDrag:C,onStop:b,onMouseDown:()=>{o(P=>{P.selectedFloatingWindow="dailyLightSensorPanel"})},children:h.jsx(Oko,{ref:u,style:{zIndex:c==="dailyLightSensorPanel"?xc:9},children:h.jsxs(_ko,{ref:d,style:{opacity:n,width:(l?l.width:600)+"px",height:(l?l.height:360)+"px"},children:[h.jsxs(Vko,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[O.t("sensorPanel.LightSensor",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:O.t("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{v()},onMouseDown:()=>{v()},children:`${O.t("word.Close",x)}`})]}),h.jsx(mf,{type:xr.DailyRadiationSensorData,chartType:Pl.Line,dataSource:a,labels:r,height:100,dataKeyAxisX:"Hour",labelX:S,labelY:w,unitY:"kWh/m²",yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[h.jsx(no,{type:"default",icon:T?h.jsx(vh,{}):h.jsx(xf,{}),title:O.t(T?"word.Run":"word.Update",x),onClick:()=>{if(s(z.Sensor)===0){fn(O.t("analysisManager.NoSensorForCollectingData",x));return}fn(O.t("message.SimulationStarted",x)),setTimeout(()=>{o(R=>{e&&(R.actionInfo={name:"Collect Daily Data for Sensors",timestamp:new Date().getTime()})}),gt.getState().set(R=>{R.runDailyLightSensor=!0,R.pauseDailyLightSensor=!1,R.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:O.t("word.SaveAsImage",x),onClick:()=>{Hd("line-graph-"+S+"-"+w,"daily-light-sensor").then(()=>{fn(O.t("message.ScreenshotSaved",x)),e&&o(P=>{P.actionInfo={name:"Take Screenshot of Daily Light Sensor Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:O.t("word.SaveAsCsv",x),onClick:()=>{wh(a,"daily-light-sensor.csv"),fn(O.t("message.CsvFileSaved",x)),e&&o(P=>{P.actionInfo={name:"Export Daily Light Sensor Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),Xko=Ho.div` +`,_ko=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=bn(sYe),a=bn(M8t),l=M(PAt),s=M(kg),c=M(bc),u=Se.useRef(null),d=m.useRef(null),f=m.useRef(),p=d.current?d.current.clientWidth+40:l?l.width+40:640,g=d.current?d.current.clientHeight+100:l?l.height+100:460,[y,A]=m.useState({x:l?Math.max(l.x,p-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-g):0}),x=Kt();m.useEffect(()=>{A({x:Math.max(l==null?void 0:l.x,p-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-g)})},[l,p,g]),m.useEffect(()=>{const P=()=>{A({x:Math.max(l==null?void 0:l.x,p-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-g)})};return window.addEventListener("resize",P),()=>{window.removeEventListener("resize",P)}},[l,p,g]),m.useEffect(()=>(d.current&&(f.current||(f.current=new ResizeObserver(()=>{o(P=>{d.current&&(P.viewState.dailyLightSensorPanelRect||(P.viewState.dailyLightSensorPanelRect=new ri(0,0,600,360)),P.viewState.dailyLightSensorPanelRect.width=d.current.offsetWidth,P.viewState.dailyLightSensorPanelRect.height=d.current.offsetHeight)})})),f.current.observe(d.current)),()=>{var P;(P=f.current)==null||P.disconnect()}),[]);const C=(P,R)=>{A({x:Math.max(R.x,p-window.innerWidth),y:Math.min(R.y,window.innerHeight-g)})},b=(P,R)=>{o(H=>{H.viewState.dailyLightSensorPanelRect||(H.viewState.dailyLightSensorPanelRect=new ri(0,0,600,360)),H.viewState.dailyLightSensorPanelRect.x=Math.max(R.x,p-window.innerWidth),H.viewState.dailyLightSensorPanelRect.y=Math.min(R.y,window.innerHeight-g)})},v=()=>{o(P=>{P.viewState.showDailyLightSensorPanel=!1,e&&(P.actionInfo={name:"Close Daily Light Sensor Graph",timestamp:new Date().getTime()})})},S=O.t("word.Hour",x),w=O.t("word.Radiation",x),T=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:u,handle:".handle",bounds:"parent",axis:"both",position:y,onDrag:C,onStop:b,onMouseDown:()=>{o(P=>{P.selectedFloatingWindow="dailyLightSensorPanel"})},children:h.jsx(jko,{ref:u,style:{zIndex:c==="dailyLightSensorPanel"?xc:9},children:h.jsxs(Yko,{ref:d,style:{opacity:n,width:(l?l.width:600)+"px",height:(l?l.height:360)+"px"},children:[h.jsxs(Oko,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[O.t("sensorPanel.LightSensor",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:O.t("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{v()},onMouseDown:()=>{v()},children:`${O.t("word.Close",x)}`})]}),h.jsx(mf,{type:xr.DailyRadiationSensorData,chartType:Pl.Line,dataSource:a,labels:r,height:100,dataKeyAxisX:"Hour",labelX:S,labelY:w,unitY:"kWh/m²",yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[h.jsx(no,{type:"default",icon:T?h.jsx(vh,{}):h.jsx(xf,{}),title:O.t(T?"word.Run":"word.Update",x),onClick:()=>{if(s(z.Sensor)===0){fn(O.t("analysisManager.NoSensorForCollectingData",x));return}fn(O.t("message.SimulationStarted",x)),setTimeout(()=>{o(R=>{e&&(R.actionInfo={name:"Collect Daily Data for Sensors",timestamp:new Date().getTime()})}),gt.getState().set(R=>{R.runDailyLightSensor=!0,R.pauseDailyLightSensor=!1,R.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:O.t("word.SaveAsImage",x),onClick:()=>{Hd("line-graph-"+S+"-"+w,"daily-light-sensor").then(()=>{fn(O.t("message.ScreenshotSaved",x)),e&&o(P=>{P.actionInfo={name:"Take Screenshot of Daily Light Sensor Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:O.t("word.SaveAsCsv",x),onClick:()=>{wh(a,"daily-light-sensor.csv"),fn(O.t("message.CsvFileSaved",x)),e&&o(P=>{P.actionInfo={name:"Export Daily Light Sensor Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),Vko=Ho.div` position: fixed; top: 80px; left: 10px; @@ -8784,7 +8784,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 12; -`,Jko=Ho.div` +`,Gko=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -8800,7 +8800,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-x: auto; overflow-y: auto; resize: both; -`,Kko=Ho.div` +`,Xko=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8811,7 +8811,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,{TextArea:qko}=ns,$ko=Se.memo(()=>{const t=M(En),e=M(pu)??m0,n=M(dn),o=M(H4t),i=M(bAt),r=M(bc),a=Se.useRef(null),l=m.useRef(null),s=m.useRef(),c=l.current?l.current.clientWidth+40:i?i.width+40:440,u=l.current?l.current.clientHeight+100:i?i.height+100:400,[d,f]=m.useState({x:i?Math.min(i.x,window.innerWidth-c):0,y:i?Math.min(i.y,window.innerHeight-u):0}),[p,g]=m.useState(o.length>0?o[0]:""),y=Kt();m.useEffect(()=>{f({x:Math.min(i==null?void 0:i.x,window.innerWidth-c),y:Math.min(i==null?void 0:i.y,window.innerHeight-u)})},[i,c,u]),m.useEffect(()=>{const b=()=>{f({x:Math.min(i==null?void 0:i.x,window.innerWidth-c),y:Math.min(i==null?void 0:i.y,window.innerHeight-u)})};return window.addEventListener("resize",b),()=>{window.removeEventListener("resize",b)}},[i,c,u]),m.useEffect(()=>(l.current&&(s.current||(s.current=new ResizeObserver(()=>{n(b=>{l.current&&(b.viewState.stickyNotePanelRect||(b.viewState.stickyNotePanelRect=new ri(0,0,400,300)),b.viewState.stickyNotePanelRect.width=l.current.offsetWidth,b.viewState.stickyNotePanelRect.height=l.current.offsetHeight)})})),s.current.observe(l.current)),()=>{var b;(b=s.current)==null||b.disconnect()}),[]),m.useEffect(()=>{g(o.length>0?o[0]:"")},[o]);const A=(b,v)=>{f({x:Math.min(v.x,window.innerWidth-c),y:Math.min(v.y,window.innerHeight-u)})},x=(b,v)=>{n(S=>{S.viewState.stickyNotePanelRect||(S.viewState.stickyNotePanelRect=new ri(0,0,400,300)),S.viewState.stickyNotePanelRect.x=Math.min(v.x,window.innerWidth-c),S.viewState.stickyNotePanelRect.y=Math.min(v.y,window.innerHeight-u)})},C=()=>{const b={name:"Close Sticky Note",timestamp:Date.now(),undo:()=>{n(v=>{v.viewState.showStickyNotePanel=!0})},redo:()=>{n(v=>{v.viewState.showStickyNotePanel=!1})}};t(b),n(v=>{v.viewState.showStickyNotePanel=!1,v.notes[0]=p})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:a,handle:".handle",bounds:"parent",axis:"both",position:d,onDrag:A,onStop:x,onMouseDown:()=>{n(b=>{b.selectedFloatingWindow="stickyNotePanel"})},children:h.jsx(Xko,{ref:a,style:{zIndex:r==="stickyNotePanel"?xc:12},children:h.jsxs(Jko,{ref:l,style:{opacity:e,width:(i?i.width:400)+"px",height:(i?i.height:300)+"px"},children:[h.jsxs(Kko,{className:"handle",children:[h.jsx("span",{children:O.t("menu.view.accessories.Note",y)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{C()},onTouchStart:()=>{C()},children:O.t("word.Close",y)})]}),h.jsx(qko,{style:{resize:"none"},rows:100,value:p,onChange:b=>{g(b.target.value)},onBlur:()=>{n(b=>{b.notes[0]=p})},onPointerOut:()=>{n(b=>{b.notes[0]=p})}})]})})})})}),Qko=Ho.div` +`,{TextArea:Jko}=ns,Kko=Se.memo(()=>{const t=M(En),e=M(pu)??m0,n=M(dn),o=M(C4t),i=M(vAt),r=M(bc),a=Se.useRef(null),l=m.useRef(null),s=m.useRef(),c=l.current?l.current.clientWidth+40:i?i.width+40:440,u=l.current?l.current.clientHeight+100:i?i.height+100:400,[d,f]=m.useState({x:i?Math.min(i.x,window.innerWidth-c):0,y:i?Math.min(i.y,window.innerHeight-u):0}),[p,g]=m.useState(o.length>0?o[0]:""),y=Kt();m.useEffect(()=>{f({x:Math.min(i==null?void 0:i.x,window.innerWidth-c),y:Math.min(i==null?void 0:i.y,window.innerHeight-u)})},[i,c,u]),m.useEffect(()=>{const b=()=>{f({x:Math.min(i==null?void 0:i.x,window.innerWidth-c),y:Math.min(i==null?void 0:i.y,window.innerHeight-u)})};return window.addEventListener("resize",b),()=>{window.removeEventListener("resize",b)}},[i,c,u]),m.useEffect(()=>(l.current&&(s.current||(s.current=new ResizeObserver(()=>{n(b=>{l.current&&(b.viewState.stickyNotePanelRect||(b.viewState.stickyNotePanelRect=new ri(0,0,400,300)),b.viewState.stickyNotePanelRect.width=l.current.offsetWidth,b.viewState.stickyNotePanelRect.height=l.current.offsetHeight)})})),s.current.observe(l.current)),()=>{var b;(b=s.current)==null||b.disconnect()}),[]),m.useEffect(()=>{g(o.length>0?o[0]:"")},[o]);const A=(b,v)=>{f({x:Math.min(v.x,window.innerWidth-c),y:Math.min(v.y,window.innerHeight-u)})},x=(b,v)=>{n(S=>{S.viewState.stickyNotePanelRect||(S.viewState.stickyNotePanelRect=new ri(0,0,400,300)),S.viewState.stickyNotePanelRect.x=Math.min(v.x,window.innerWidth-c),S.viewState.stickyNotePanelRect.y=Math.min(v.y,window.innerHeight-u)})},C=()=>{const b={name:"Close Sticky Note",timestamp:Date.now(),undo:()=>{n(v=>{v.viewState.showStickyNotePanel=!0})},redo:()=>{n(v=>{v.viewState.showStickyNotePanel=!1})}};t(b),n(v=>{v.viewState.showStickyNotePanel=!1,v.notes[0]=p})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:a,handle:".handle",bounds:"parent",axis:"both",position:d,onDrag:A,onStop:x,onMouseDown:()=>{n(b=>{b.selectedFloatingWindow="stickyNotePanel"})},children:h.jsx(Vko,{ref:a,style:{zIndex:r==="stickyNotePanel"?xc:12},children:h.jsxs(Gko,{ref:l,style:{opacity:e,width:(i?i.width:400)+"px",height:(i?i.height:300)+"px"},children:[h.jsxs(Xko,{className:"handle",children:[h.jsx("span",{children:O.t("menu.view.accessories.Note",y)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{C()},onTouchStart:()=>{C()},children:O.t("word.Close",y)})]}),h.jsx(Jko,{style:{resize:"none"},rows:100,value:p,onChange:b=>{g(b.target.value)},onBlur:()=>{n(b=>{b.notes[0]=p})},onPointerOut:()=>{n(b=>{b.notes[0]=p})}})]})})})})}),qko=Ho.div` position: absolute; top: 80px; left: 10px; @@ -8826,7 +8826,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; user-select: none; tab-index: -1; // set to be not focusable z-index: 7; // must be less than other panels -`,Zko=Ho.div` +`,$ko=Ho.div` position: absolute; top: 0; left: 0; @@ -8840,7 +8840,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; font-size: 12px; flex-direction: column; opacity: 100%; -`,eFo=Se.memo(()=>{const t=M(dn),e=M(En),n=M(M7),o=M(hu)??!1,i=M(fq)??!1,r=Kt(),a=n.y>0?"navajowhite":"antiquewhite",l=be.isMac(),s=c=>{t(u=>{u.viewState.navigationView=c,u.viewState.enableRotate=!c})};return h.jsx(Qko,{children:h.jsxs(Zko,{style:{color:a,fontSize:i?"10px":"9px"},children:[i&&h.jsxs("span",{style:{fontSize:"12px",paddingLeft:"6px",paddingRight:"6px",paddingTop:"2px",paddingBottom:"2px",marginBottom:"6px",background:"tomato",border:"1px solid"},children:[h.jsx("b",{children:O.t("instructionPanel.NavigationMode",r)}),h.jsx(E7,{style:{paddingLeft:"6px",cursor:"pointer"},onClick:()=>{const c={name:"Close Navigation Mode",timestamp:Date.now(),undo:()=>{s(!0)},redo:()=>{s(!1)}};e(c),s(!1)}})]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t(i?"instructionPanel.DisableNavigation":"instructionPanel.EnableNavigation",r)}),": ",O.t("word.Press",r)," ",l?"⌘":"Ctrl","+U"]}),i&&h.jsxs(h.Fragment,{children:[h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.MoveForwardBack",r)}),":"," ",O.t("instructionPanel.MoveForwardBackInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.MoveLeftRight",r)}),":"," ",O.t("instructionPanel.MoveLeftRightInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.MoveUpDown",r)}),":"," ",O.t("instructionPanel.MoveUpDownInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.Turn",r)}),": ",O.t("instructionPanel.TurnInstruction",r)]})]}),!o&&!i&&h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.Rotate",r)}),": ",O.t("instructionPanel.DragMouse",r)]}),!i&&h.jsxs(h.Fragment,{children:[h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.Zoom",r)}),":"," ",O.t(l?"instructionPanel.MouseWheelOrKeysMac":"instructionPanel.MouseWheelOrKeys",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.Pan",r)}),":"," ",O.t(l?"instructionPanel.HoldMetaDragMouse":"instructionPanel.HoldCtrlDragMouse",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t(o?"instructionPanel.Exit2DMode":"instructionPanel.Enter2DMode",r)}),":"," ",O.t("word.Press",r)," ",l?"⌘":"Ctrl","+B"]})]})]})})}),tFo=Ho.div` +`,Qko=Se.memo(()=>{const t=M(dn),e=M(En),n=M(M7),o=M(hu)??!1,i=M(fq)??!1,r=Kt(),a=n.y>0?"navajowhite":"antiquewhite",l=be.isMac(),s=c=>{t(u=>{u.viewState.navigationView=c,u.viewState.enableRotate=!c})};return h.jsx(qko,{children:h.jsxs($ko,{style:{color:a,fontSize:i?"10px":"9px"},children:[i&&h.jsxs("span",{style:{fontSize:"12px",paddingLeft:"6px",paddingRight:"6px",paddingTop:"2px",paddingBottom:"2px",marginBottom:"6px",background:"tomato",border:"1px solid"},children:[h.jsx("b",{children:O.t("instructionPanel.NavigationMode",r)}),h.jsx(E7,{style:{paddingLeft:"6px",cursor:"pointer"},onClick:()=>{const c={name:"Close Navigation Mode",timestamp:Date.now(),undo:()=>{s(!0)},redo:()=>{s(!1)}};e(c),s(!1)}})]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t(i?"instructionPanel.DisableNavigation":"instructionPanel.EnableNavigation",r)}),": ",O.t("word.Press",r)," ",l?"⌘":"Ctrl","+U"]}),i&&h.jsxs(h.Fragment,{children:[h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.MoveForwardBack",r)}),":"," ",O.t("instructionPanel.MoveForwardBackInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.MoveLeftRight",r)}),":"," ",O.t("instructionPanel.MoveLeftRightInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.MoveUpDown",r)}),":"," ",O.t("instructionPanel.MoveUpDownInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.Turn",r)}),": ",O.t("instructionPanel.TurnInstruction",r)]})]}),!o&&!i&&h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.Rotate",r)}),": ",O.t("instructionPanel.DragMouse",r)]}),!i&&h.jsxs(h.Fragment,{children:[h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.Zoom",r)}),":"," ",O.t(l?"instructionPanel.MouseWheelOrKeysMac":"instructionPanel.MouseWheelOrKeys",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t("instructionPanel.Pan",r)}),":"," ",O.t(l?"instructionPanel.HoldMetaDragMouse":"instructionPanel.HoldCtrlDragMouse",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:O.t(o?"instructionPanel.Exit2DMode":"instructionPanel.Enter2DMode",r)}),":"," ",O.t("word.Press",r)," ",l?"⌘":"Ctrl","+B"]})]})]})})}),Zko=Ho.div` position: fixed; top: 85px; right: 36px; @@ -8849,7 +8849,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,nFo=Ho.div` +`,eFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8867,7 +8867,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,oFo=Ho.div` +`,tFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8878,7 +8878,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,iFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(mH)??6,r=new Date(M(Ya)),a=bn(E7t),l=M(Bje),s=bn(jje),c=M(kg),u=M(kAt),d=gt(K2),f=M.getState().economicsParams,p=gt(vf),g=M(bc),y=Se.useRef(null),A=m.useRef(null),x=A.current?A.current.clientWidth+40:640,C=A.current?A.current.clientHeight+100:500,[b,v]=m.useState({x:u?Math.max(u.x,x-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-C):0}),[S,w]=m.useState(0),T=m.useRef(new Map),P=m.useRef(),R=Ps[r.getMonth()],H=Kt(),D=c(z.SolarPanel);m.useEffect(()=>{let ee=0;T.current.clear();for(const $ of a)for(const q in $)Object.hasOwn($,q)&&q!=="Month"&&(ee+=$[q],T.current.set(q,(T.current.get(q)??0)+$[q]));w(ee)},[a]),m.useEffect(()=>{v({x:Math.max(u==null?void 0:u.x,x-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-C)})},[u,x,C]),m.useEffect(()=>{const ee=()=>{v({x:Math.max(u==null?void 0:u.x,x-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-C)})};return window.addEventListener("resize",ee),()=>{window.removeEventListener("resize",ee)}},[u,x,C]),m.useEffect(()=>(A.current&&(P.current||(P.current=new ResizeObserver(()=>{o(ee=>{A.current&&(ee.viewState.yearlyPvYieldPanelRect||(ee.viewState.yearlyPvYieldPanelRect=new ri(0,0,600,400)),ee.viewState.yearlyPvYieldPanelRect.width=A.current.offsetWidth,ee.viewState.yearlyPvYieldPanelRect.height=A.current.offsetHeight)})})),P.current.observe(A.current)),()=>{var ee;(ee=P.current)==null||ee.disconnect()}),[]);const E=(ee,$)=>{v({x:Math.max($.x,x-window.innerWidth),y:Math.min($.y,window.innerHeight-C)})},L=(ee,$)=>{o(q=>{q.viewState.yearlyPvYieldPanelRect||(q.viewState.yearlyPvYieldPanelRect=new ri(0,0,600,400)),q.viewState.yearlyPvYieldPanelRect.x=Math.max($.x,x-window.innerWidth),q.viewState.yearlyPvYieldPanelRect.y=Math.min($.y,window.innerHeight-C)})},U=()=>{o(ee=>{ee.viewState.showYearlyPvYieldPanel=!1,e&&(ee.actionInfo={name:"Close Solar Panel Yearly Yield Graph",timestamp:new Date().getTime()})})};m.useEffect(()=>{D<2&&l&&o(ee=>{ee.graphState&&(ee.graphState.yearlyPvIndividualOutputs=!1)})},[D,l]);const{t:F}=jl(),W=F("word.Month",H),B=F("solarPanelYieldPanel.Yield",H),k=be.countAllSolarPanels(),N=12/i,j=S*N,Y=k*f.operationalCostPerUnit*365,_=j*f.electricitySellingPrice,J=_-Y,Q=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:y,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:E,onStop:L,onMouseDown:()=>{o(ee=>{ee.selectedFloatingWindow="yearlyPvYieldPanel"})},children:h.jsx(tFo,{ref:y,style:{zIndex:g==="yearlyPvYieldPanel"?xc:9},children:h.jsxs(nFo,{ref:A,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(oFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[F("solarPanelYieldPanel.SolarPanelYearlyYield",H)+": ",h.jsx("span",{style:{fontSize:"10px"},children:F("sensorPanel.WeatherDataFrom",H)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{U()},onMouseDown:()=>{U()},children:F("word.Close",H)})]}),h.jsx(mf,{type:xr.YearlyPvYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:ee,Clearness:$,...q})=>q),labels:s,height:100,dataKeyAxisX:"Month",labelX:W,labelY:B,unitY:F("word.kWh",H),yMin:0,curveType:"linear",fractionDigits:2,referenceX:R}),!p&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&D>1&&T.current.size>0?h.jsx(gl,{title:F("shared.OutputBreakdown",H),content:[...T.current.entries()].map((ee,$)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:ee[0]+": "}),h.jsx(nt,{span:8,children:(ee[1]*N).toFixed(2)})]}),$===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:F("word.Total",H)+": "+j.toFixed(2)+" "+F("word.kWh",H)})]})]},$)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:F("shared.OutputBreakdown",H)})}):h.jsxs(h.Fragment,{children:[j>0&&h.jsx(en,{children:F("solarPanelYieldPanel.YearlyTotal",H)+": "+j.toFixed(2)+" "+F("word.kWh",H)}),j>0&&h.jsx(gl,{title:F("shared.MoreResults",H),content:h.jsxs(h.Fragment,{children:[h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.ModuleCount",H)+": "}),h.jsx(nt,{span:10,children:k})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.MeanYield",H)+": "}),h.jsxs(nt,{span:10,children:[(j/k).toFixed(2)," kWh"]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.TotalCost",H)+": "}),h.jsxs(nt,{span:10,children:["$",Y.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.TotalRevenue",H)+": "}),h.jsxs(nt,{span:10,children:["$",_.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.Profit",H)+": "}),h.jsx(nt,{span:10,children:(J>0?"$":"-$")+Math.abs(J).toFixed(2)})]})]}),children:h.jsx(no,{type:"default",children:F("shared.MoreResults",H)})})]}),!d&&h.jsxs(h.Fragment,{children:[D>1&&h.jsx(wc,{title:F("solarPanelYieldPanel.ShowOutputsOfIndividualSolarPanels",H),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:ee=>{if(D===0){fn(F("analysisManager.NoSolarPanelForAnalysis",H));return}fn(F("message.SimulationStarted",H)),setTimeout(()=>{o($=>{$.graphState&&($.graphState.yearlyPvIndividualOutputs=ee),e&&($.actionInfo={name:"Run Yearly Simulation For Solar Panels: "+(ee?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set($=>{$.simulationInProgress=!0,$.runYearlySimulationForSolarPanels=!0,$.pauseYearlySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:Q?h.jsx(vh,{}):h.jsx(xf,{}),title:F(Q?"word.Run":"word.Update",H),onClick:()=>{if(D===0){fn(F("analysisManager.NoSolarPanelForAnalysis",H));return}fn(F("message.SimulationStarted",H)),setTimeout(()=>{o(ee=>{e&&(ee.actionInfo={name:"Run Yearly Simulation For Solar Panels",timestamp:new Date().getTime()})}),gt.getState().set(ee=>{ee.simulationInProgress=!0,ee.runYearlySimulationForSolarPanels=!0,ee.pauseYearlySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:F("word.SaveAsImage",H),onClick:()=>{Hd("line-graph-"+W+"-"+B,"yearly-pv-yield").then(()=>{fn(F("message.ScreenshotSaved",H)),e&&o(ee=>{ee.actionInfo={name:"Take Screenshot of Solar Panel Yearly Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:F("word.SaveAsCsv",H),onClick:()=>{wh(a,"yearly-pv-yield.csv"),fn(F("message.CsvFileSaved",H)),e&&o(ee=>{ee.actionInfo={name:"Export Solar Panel Yearly Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})}),rFo=Ho.div` +`,nFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(mH)??6,r=new Date(M(Ya)),a=bn(z7t),l=M(Bje),s=bn(jje),c=M(kg),u=M(DAt),d=gt(K2),f=M.getState().economicsParams,p=gt(vf),g=M(bc),y=Se.useRef(null),A=m.useRef(null),x=A.current?A.current.clientWidth+40:640,C=A.current?A.current.clientHeight+100:500,[b,v]=m.useState({x:u?Math.max(u.x,x-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-C):0}),[S,w]=m.useState(0),T=m.useRef(new Map),P=m.useRef(),R=Ps[r.getMonth()],H=Kt(),D=c(z.SolarPanel);m.useEffect(()=>{let ee=0;T.current.clear();for(const $ of a)for(const q in $)Object.hasOwn($,q)&&q!=="Month"&&(ee+=$[q],T.current.set(q,(T.current.get(q)??0)+$[q]));w(ee)},[a]),m.useEffect(()=>{v({x:Math.max(u==null?void 0:u.x,x-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-C)})},[u,x,C]),m.useEffect(()=>{const ee=()=>{v({x:Math.max(u==null?void 0:u.x,x-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-C)})};return window.addEventListener("resize",ee),()=>{window.removeEventListener("resize",ee)}},[u,x,C]),m.useEffect(()=>(A.current&&(P.current||(P.current=new ResizeObserver(()=>{o(ee=>{A.current&&(ee.viewState.yearlyPvYieldPanelRect||(ee.viewState.yearlyPvYieldPanelRect=new ri(0,0,600,400)),ee.viewState.yearlyPvYieldPanelRect.width=A.current.offsetWidth,ee.viewState.yearlyPvYieldPanelRect.height=A.current.offsetHeight)})})),P.current.observe(A.current)),()=>{var ee;(ee=P.current)==null||ee.disconnect()}),[]);const E=(ee,$)=>{v({x:Math.max($.x,x-window.innerWidth),y:Math.min($.y,window.innerHeight-C)})},L=(ee,$)=>{o(q=>{q.viewState.yearlyPvYieldPanelRect||(q.viewState.yearlyPvYieldPanelRect=new ri(0,0,600,400)),q.viewState.yearlyPvYieldPanelRect.x=Math.max($.x,x-window.innerWidth),q.viewState.yearlyPvYieldPanelRect.y=Math.min($.y,window.innerHeight-C)})},U=()=>{o(ee=>{ee.viewState.showYearlyPvYieldPanel=!1,e&&(ee.actionInfo={name:"Close Solar Panel Yearly Yield Graph",timestamp:new Date().getTime()})})};m.useEffect(()=>{D<2&&l&&o(ee=>{ee.graphState&&(ee.graphState.yearlyPvIndividualOutputs=!1)})},[D,l]);const{t:F}=jl(),W=F("word.Month",H),B=F("solarPanelYieldPanel.Yield",H),k=be.countAllSolarPanels(),N=12/i,j=S*N,Y=k*f.operationalCostPerUnit*365,_=j*f.electricitySellingPrice,J=_-Y,Q=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:y,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:E,onStop:L,onMouseDown:()=>{o(ee=>{ee.selectedFloatingWindow="yearlyPvYieldPanel"})},children:h.jsx(Zko,{ref:y,style:{zIndex:g==="yearlyPvYieldPanel"?xc:9},children:h.jsxs(eFo,{ref:A,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(tFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[F("solarPanelYieldPanel.SolarPanelYearlyYield",H)+": ",h.jsx("span",{style:{fontSize:"10px"},children:F("sensorPanel.WeatherDataFrom",H)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{U()},onMouseDown:()=>{U()},children:F("word.Close",H)})]}),h.jsx(mf,{type:xr.YearlyPvYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:ee,Clearness:$,...q})=>q),labels:s,height:100,dataKeyAxisX:"Month",labelX:W,labelY:B,unitY:F("word.kWh",H),yMin:0,curveType:"linear",fractionDigits:2,referenceX:R}),!p&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&D>1&&T.current.size>0?h.jsx(gl,{title:F("shared.OutputBreakdown",H),content:[...T.current.entries()].map((ee,$)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:ee[0]+": "}),h.jsx(nt,{span:8,children:(ee[1]*N).toFixed(2)})]}),$===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:F("word.Total",H)+": "+j.toFixed(2)+" "+F("word.kWh",H)})]})]},$)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:F("shared.OutputBreakdown",H)})}):h.jsxs(h.Fragment,{children:[j>0&&h.jsx(en,{children:F("solarPanelYieldPanel.YearlyTotal",H)+": "+j.toFixed(2)+" "+F("word.kWh",H)}),j>0&&h.jsx(gl,{title:F("shared.MoreResults",H),content:h.jsxs(h.Fragment,{children:[h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.ModuleCount",H)+": "}),h.jsx(nt,{span:10,children:k})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.MeanYield",H)+": "}),h.jsxs(nt,{span:10,children:[(j/k).toFixed(2)," kWh"]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.TotalCost",H)+": "}),h.jsxs(nt,{span:10,children:["$",Y.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.TotalRevenue",H)+": "}),h.jsxs(nt,{span:10,children:["$",_.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:F("solarPanelYieldPanel.Profit",H)+": "}),h.jsx(nt,{span:10,children:(J>0?"$":"-$")+Math.abs(J).toFixed(2)})]})]}),children:h.jsx(no,{type:"default",children:F("shared.MoreResults",H)})})]}),!d&&h.jsxs(h.Fragment,{children:[D>1&&h.jsx(wc,{title:F("solarPanelYieldPanel.ShowOutputsOfIndividualSolarPanels",H),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:ee=>{if(D===0){fn(F("analysisManager.NoSolarPanelForAnalysis",H));return}fn(F("message.SimulationStarted",H)),setTimeout(()=>{o($=>{$.graphState&&($.graphState.yearlyPvIndividualOutputs=ee),e&&($.actionInfo={name:"Run Yearly Simulation For Solar Panels: "+(ee?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set($=>{$.simulationInProgress=!0,$.runYearlySimulationForSolarPanels=!0,$.pauseYearlySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:Q?h.jsx(vh,{}):h.jsx(xf,{}),title:F(Q?"word.Run":"word.Update",H),onClick:()=>{if(D===0){fn(F("analysisManager.NoSolarPanelForAnalysis",H));return}fn(F("message.SimulationStarted",H)),setTimeout(()=>{o(ee=>{e&&(ee.actionInfo={name:"Run Yearly Simulation For Solar Panels",timestamp:new Date().getTime()})}),gt.getState().set(ee=>{ee.simulationInProgress=!0,ee.runYearlySimulationForSolarPanels=!0,ee.pauseYearlySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:F("word.SaveAsImage",H),onClick:()=>{Hd("line-graph-"+W+"-"+B,"yearly-pv-yield").then(()=>{fn(F("message.ScreenshotSaved",H)),e&&o(ee=>{ee.actionInfo={name:"Take Screenshot of Solar Panel Yearly Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:F("word.SaveAsCsv",H),onClick:()=>{wh(a,"yearly-pv-yield.csv"),fn(F("message.CsvFileSaved",H)),e&&o(ee=>{ee.actionInfo={name:"Export Solar Panel Yearly Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})}),oFo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -8887,7 +8887,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,aFo=Ho.div` +`,iFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8905,7 +8905,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,lFo=Ho.div` +`,rFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8916,7 +8916,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,sFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(z7t),l=M(Uje),s=M(DAt),c=bn(jje),u=gt(K2),d=M.getState().economicsParams,f=gt(vf),p=M(bc),g=Se.useRef(null),y=m.useRef(null),A=y.current?y.current.offsetWidth+40:s?s.width+40:640,x=y.current?y.current.offsetHeight+100:s?s.height+100:500,[C,b]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=m.useRef(),P=Kt();m.useEffect(()=>{let Y=0;w.current.clear();for(const _ of a)for(const J in _)Object.hasOwn(_,J)&&J!=="Hour"&&(Y+=_[J],w.current.set(J,(w.current.get(J)??0)+_[J]));S(Y)},[a]),m.useEffect(()=>{b({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-x)})},[s,A,x]),m.useEffect(()=>{const Y=()=>{b({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-x)})};return window.addEventListener("resize",Y),()=>{window.removeEventListener("resize",Y)}},[s,A,x]),m.useEffect(()=>(y.current&&(T.current||(T.current=new ResizeObserver(()=>{o(Y=>{y.current&&(Y.viewState.dailyPvYieldPanelRect||(Y.viewState.dailyPvYieldPanelRect=new ri(0,0,600,400)),Y.viewState.dailyPvYieldPanelRect.width=y.current.offsetWidth,Y.viewState.dailyPvYieldPanelRect.height=y.current.offsetHeight)})})),T.current.observe(y.current)),()=>{var Y;(Y=T.current)==null||Y.disconnect()}),[]);const R=(Y,_)=>{b({x:Math.max(_.x,A-window.innerWidth),y:Math.min(_.y,window.innerHeight-x)})},H=(Y,_)=>{o(J=>{J.viewState.dailyPvYieldPanelRect||(J.viewState.dailyPvYieldPanelRect=new ri(0,0,600,400)),J.viewState.dailyPvYieldPanelRect.x=Math.max(_.x,A-window.innerWidth),J.viewState.dailyPvYieldPanelRect.y=Math.min(_.y,window.innerHeight-x)})},D=()=>{o(Y=>{Y.viewState.showDailyPvYieldPanel=!1,e&&(Y.actionInfo={name:"Close Solar Panel Daily Yield Graph",timestamp:new Date().getTime()})})},E=r(z.SolarPanel);m.useEffect(()=>{E<2&&l&&o(Y=>{Y.graphState&&(Y.graphState.dailyPvIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Hour",P),F=L("solarPanelYieldPanel.YieldPerHour",P),W=be.countAllSolarPanels(),B=W*d.operationalCostPerUnit,k=v*d.electricitySellingPrice,N=k-B,j=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:g,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(Y=>{Y.selectedFloatingWindow="dailyPvYieldPanel"})},children:h.jsx(rFo,{ref:g,style:{zIndex:p==="dailyPvYieldPanel"?xc:9},children:h.jsxs(aFo,{ref:y,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(lFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("solarPanelYieldPanel.SolarPanelDailyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.DailyPvYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!f&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:L("shared.OutputBreakdown",P),content:[...w.current.entries()].map((Y,_)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:Y[0]+": "}),h.jsx(nt,{span:8,children:Y[1].toFixed(3)})]}),_===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+v.toFixed(3)+" "+L("word.kWh",P)})]})]},_)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(h.Fragment,{children:[v>0&&h.jsx(en,{style:{cursor:"default"},children:L("solarPanelYieldPanel.DailyTotal",P)+": "+v.toFixed(3)+" "+L("word.kWh",P)}),v>0&&h.jsx(gl,{title:L("shared.MoreResults",P),content:h.jsxs(h.Fragment,{children:[h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.ModuleCount",P)+": "}),h.jsx(nt,{span:10,children:W})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.MeanYield",P)+": "}),h.jsxs(nt,{span:10,children:[(v/W).toFixed(2)," kWh"]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.TotalCost",P)+": "}),h.jsxs(nt,{span:10,children:["$",B.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.TotalRevenue",P)+": "}),h.jsxs(nt,{span:10,children:["$",k.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.Profit",P)+": "}),h.jsx(nt,{span:10,children:(N>0?"$":"-$")+Math.abs(N).toFixed(2)})]})]}),children:h.jsx(no,{type:"default",children:L("shared.MoreResults",P)})})]}),!u&&h.jsxs(h.Fragment,{children:[E>1&&h.jsx(wc,{title:L("solarPanelYieldPanel.ShowOutputsOfIndividualSolarPanels",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:Y=>{if(E===0){fn(L("analysisManager.NoSolarPanelForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyPvIndividualOutputs=Y),e&&(_.actionInfo={name:"Run Daily Simulation For Solar Panels: "+(Y?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForSolarPanels=!0,_.pauseDailySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:j?h.jsx(vh,{}):h.jsx(xf,{}),title:L(j?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoSolarPanelForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(Y=>{e&&(Y.actionInfo={name:"Run Daily Simulation For Solar Panels",timestamp:new Date().getTime()})}),gt.getState().set(Y=>{Y.simulationInProgress=!0,Y.runDailySimulationForSolarPanels=!0,Y.pauseDailySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"daily-pv-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(Y=>{Y.actionInfo={name:"Take Screenshot of Solar Panel Daily Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"daily-pv-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(Y=>{Y.actionInfo={name:"Export Solar Panel Daily Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})}),cFo="/aladdin/assets/light_bulb-D1RiLhYG.png",uFo="/aladdin/assets/diameter-CQ4-OfKR.png",dFo="/aladdin/assets/area-C8e5STKh.png",fFo=Ho.div` +`,aFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(M7t),l=M(Uje),s=M(IAt),c=bn(jje),u=gt(K2),d=M.getState().economicsParams,f=gt(vf),p=M(bc),g=Se.useRef(null),y=m.useRef(null),A=y.current?y.current.offsetWidth+40:s?s.width+40:640,x=y.current?y.current.offsetHeight+100:s?s.height+100:500,[C,b]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=m.useRef(),P=Kt();m.useEffect(()=>{let Y=0;w.current.clear();for(const _ of a)for(const J in _)Object.hasOwn(_,J)&&J!=="Hour"&&(Y+=_[J],w.current.set(J,(w.current.get(J)??0)+_[J]));S(Y)},[a]),m.useEffect(()=>{b({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-x)})},[s,A,x]),m.useEffect(()=>{const Y=()=>{b({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-x)})};return window.addEventListener("resize",Y),()=>{window.removeEventListener("resize",Y)}},[s,A,x]),m.useEffect(()=>(y.current&&(T.current||(T.current=new ResizeObserver(()=>{o(Y=>{y.current&&(Y.viewState.dailyPvYieldPanelRect||(Y.viewState.dailyPvYieldPanelRect=new ri(0,0,600,400)),Y.viewState.dailyPvYieldPanelRect.width=y.current.offsetWidth,Y.viewState.dailyPvYieldPanelRect.height=y.current.offsetHeight)})})),T.current.observe(y.current)),()=>{var Y;(Y=T.current)==null||Y.disconnect()}),[]);const R=(Y,_)=>{b({x:Math.max(_.x,A-window.innerWidth),y:Math.min(_.y,window.innerHeight-x)})},H=(Y,_)=>{o(J=>{J.viewState.dailyPvYieldPanelRect||(J.viewState.dailyPvYieldPanelRect=new ri(0,0,600,400)),J.viewState.dailyPvYieldPanelRect.x=Math.max(_.x,A-window.innerWidth),J.viewState.dailyPvYieldPanelRect.y=Math.min(_.y,window.innerHeight-x)})},D=()=>{o(Y=>{Y.viewState.showDailyPvYieldPanel=!1,e&&(Y.actionInfo={name:"Close Solar Panel Daily Yield Graph",timestamp:new Date().getTime()})})},E=r(z.SolarPanel);m.useEffect(()=>{E<2&&l&&o(Y=>{Y.graphState&&(Y.graphState.dailyPvIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Hour",P),F=L("solarPanelYieldPanel.YieldPerHour",P),W=be.countAllSolarPanels(),B=W*d.operationalCostPerUnit,k=v*d.electricitySellingPrice,N=k-B,j=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:g,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(Y=>{Y.selectedFloatingWindow="dailyPvYieldPanel"})},children:h.jsx(oFo,{ref:g,style:{zIndex:p==="dailyPvYieldPanel"?xc:9},children:h.jsxs(iFo,{ref:y,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(rFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("solarPanelYieldPanel.SolarPanelDailyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.DailyPvYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!f&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:L("shared.OutputBreakdown",P),content:[...w.current.entries()].map((Y,_)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:Y[0]+": "}),h.jsx(nt,{span:8,children:Y[1].toFixed(3)})]}),_===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+v.toFixed(3)+" "+L("word.kWh",P)})]})]},_)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(h.Fragment,{children:[v>0&&h.jsx(en,{style:{cursor:"default"},children:L("solarPanelYieldPanel.DailyTotal",P)+": "+v.toFixed(3)+" "+L("word.kWh",P)}),v>0&&h.jsx(gl,{title:L("shared.MoreResults",P),content:h.jsxs(h.Fragment,{children:[h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.ModuleCount",P)+": "}),h.jsx(nt,{span:10,children:W})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.MeanYield",P)+": "}),h.jsxs(nt,{span:10,children:[(v/W).toFixed(2)," kWh"]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.TotalCost",P)+": "}),h.jsxs(nt,{span:10,children:["$",B.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.TotalRevenue",P)+": "}),h.jsxs(nt,{span:10,children:["$",k.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(nt,{span:14,children:L("solarPanelYieldPanel.Profit",P)+": "}),h.jsx(nt,{span:10,children:(N>0?"$":"-$")+Math.abs(N).toFixed(2)})]})]}),children:h.jsx(no,{type:"default",children:L("shared.MoreResults",P)})})]}),!u&&h.jsxs(h.Fragment,{children:[E>1&&h.jsx(wc,{title:L("solarPanelYieldPanel.ShowOutputsOfIndividualSolarPanels",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:Y=>{if(E===0){fn(L("analysisManager.NoSolarPanelForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(_=>{_.graphState&&(_.graphState.dailyPvIndividualOutputs=Y),e&&(_.actionInfo={name:"Run Daily Simulation For Solar Panels: "+(Y?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(_=>{_.simulationInProgress=!0,_.runDailySimulationForSolarPanels=!0,_.pauseDailySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:j?h.jsx(vh,{}):h.jsx(xf,{}),title:L(j?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoSolarPanelForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(Y=>{e&&(Y.actionInfo={name:"Run Daily Simulation For Solar Panels",timestamp:new Date().getTime()})}),gt.getState().set(Y=>{Y.simulationInProgress=!0,Y.runDailySimulationForSolarPanels=!0,Y.pauseDailySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"daily-pv-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(Y=>{Y.actionInfo={name:"Take Screenshot of Solar Panel Daily Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"daily-pv-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(Y=>{Y.actionInfo={name:"Export Solar Panel Daily Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})}),lFo="/aladdin/assets/light_bulb-D1RiLhYG.png",sFo="/aladdin/assets/diameter-CQ4-OfKR.png",cFo="/aladdin/assets/area-C8e5STKh.png",uFo=Ho.div` position: absolute; bottom: 40px; left: 0; @@ -8931,7 +8931,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; user-select: none; tab-index: -1; // set to be not focusable z-index: 7; // must be less than other panels -`,hFo=Ho.div` +`,dFo=Ho.div` background: #282c34; position: absolute; top: 0; @@ -8945,7 +8945,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; font-size: 12px; flex-direction: column; opacity: 100%; -`,pFo=Se.memo(()=>{const t=M(Jn),e=M(kg),n=M(Jwt),o=M(rr),i=M(M7),r=M(mh),a=M(Rq),l=M(A=>A.selectedElement===null?null:A.elements.find(x=>{var C;return x.id===((C=A.selectedElement)==null?void 0:C.id)}));let s=0,c=0,u=0;if(l)if(l.type===z.SolarPanel)s=n(l.id),c=l.dailyYield??0;else if(l.type===z.Polygon){const A=o(l);A&&(s=be.countAllChildSolarPanels(A.id),c=be.countAllChildSolarPanelDailyYields(A.id))}else s=be.countAllChildSolarPanels(l.id),c=be.countAllChildSolarPanelDailyYields(l.id),u=be.countAllChildElementsByType(l.id,z.Heliostat);else s=be.countAllSolarPanels(),c=be.countAllSolarPanelDailyYields(),u=e(z.Heliostat);const d=Kt(),f=i.y>0,p=f?"navajowhite":"antiquewhite",g=f?"invert(85%) sepia(45%) saturate(335%) hue-rotate(329deg) brightness(100%) contrast(101%)":"invert(95%) sepia(7%) saturate(1598%) hue-rotate(312deg) brightness(106%) contrast(96%)",y=l&&l.type===z.Foundation&&!l.notBuilding&&be.getBuildingCompletionStatus(l,t)===Uc.COMPLETE;return h.jsx(fFo,{children:h.jsx(hFo,{$projectView:a,children:h.jsxs(en,{direction:"horizontal",style:{color:p,fontSize:"10px"},children:[s>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"Solar panel count",title:O.t("designInfoPanel.NumberOfSelectedSolarPanels",d),src:Ode,height:24,width:36,style:{paddingLeft:"10px",cursor:"pointer",filter:"invert(100%) "}}),h.jsx("span",{children:s})]}),u>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"Heliostat count",title:O.t("designInfoPanel.NumberOfSelectedHeliostats",d),src:_de,height:24,width:36,style:{paddingLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",filter:"invert(100%) "}}),h.jsx("span",{children:u})]}),c>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:O.t("designInfoPanel.ElectricityGeneratedDailyBySolarPanels",d),alt:"Electricity",src:cFo,height:24,width:24,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsx("span",{children:c.toFixed(1)+" "+O.t("word.kWh",d)})]}),!l&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:O.t("designInfoPanel.SceneDiameter",d),alt:"Diameter",src:uFo,height:20,width:20,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsx("span",{children:r*2+" "+O.t("word.MeterAbbreviation",d)})]}),y&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:O.t("designInfoPanel.BuildingArea",d),alt:"Area",src:dFo,height:20,width:20,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsxs("span",{children:[be.getBuildingArea(l,t).toFixed(2)+" "+O.t("word.MeterAbbreviation",d),h.jsx("sup",{children:"2"})]})]})]})})})}),gFo="/aladdin/assets/location-_zTaloy5.png",mFo="/aladdin/assets/date-Dqo8FDne.png",yFo="/aladdin/assets/thermometer-B30VcfuL.png",AFo=Ho.div` +`,fFo=Se.memo(()=>{const t=M(Jn),e=M(kg),n=M(Gwt),o=M(rr),i=M(M7),r=M(mh),a=M(Rq),l=M(A=>A.selectedElement===null?null:A.elements.find(x=>{var C;return x.id===((C=A.selectedElement)==null?void 0:C.id)}));let s=0,c=0,u=0;if(l)if(l.type===z.SolarPanel)s=n(l.id),c=l.dailyYield??0;else if(l.type===z.Polygon){const A=o(l);A&&(s=be.countAllChildSolarPanels(A.id),c=be.countAllChildSolarPanelDailyYields(A.id))}else s=be.countAllChildSolarPanels(l.id),c=be.countAllChildSolarPanelDailyYields(l.id),u=be.countAllChildElementsByType(l.id,z.Heliostat);else s=be.countAllSolarPanels(),c=be.countAllSolarPanelDailyYields(),u=e(z.Heliostat);const d=Kt(),f=i.y>0,p=f?"navajowhite":"antiquewhite",g=f?"invert(85%) sepia(45%) saturate(335%) hue-rotate(329deg) brightness(100%) contrast(101%)":"invert(95%) sepia(7%) saturate(1598%) hue-rotate(312deg) brightness(106%) contrast(96%)",y=l&&l.type===z.Foundation&&!l.notBuilding&&be.getBuildingCompletionStatus(l,t)===Uc.COMPLETE;return h.jsx(uFo,{children:h.jsx(dFo,{$projectView:a,children:h.jsxs(en,{direction:"horizontal",style:{color:p,fontSize:"10px"},children:[s>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"Solar panel count",title:O.t("designInfoPanel.NumberOfSelectedSolarPanels",d),src:Ode,height:24,width:36,style:{paddingLeft:"10px",cursor:"pointer",filter:"invert(100%) "}}),h.jsx("span",{children:s})]}),u>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"Heliostat count",title:O.t("designInfoPanel.NumberOfSelectedHeliostats",d),src:_de,height:24,width:36,style:{paddingLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",filter:"invert(100%) "}}),h.jsx("span",{children:u})]}),c>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:O.t("designInfoPanel.ElectricityGeneratedDailyBySolarPanels",d),alt:"Electricity",src:lFo,height:24,width:24,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsx("span",{children:c.toFixed(1)+" "+O.t("word.kWh",d)})]}),!l&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:O.t("designInfoPanel.SceneDiameter",d),alt:"Diameter",src:sFo,height:20,width:20,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsx("span",{children:r*2+" "+O.t("word.MeterAbbreviation",d)})]}),y&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:O.t("designInfoPanel.BuildingArea",d),alt:"Area",src:cFo,height:20,width:20,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsxs("span",{children:[be.getBuildingArea(l,t).toFixed(2)+" "+O.t("word.MeterAbbreviation",d),h.jsx("sup",{children:"2"})]})]})]})})})}),hFo="/aladdin/assets/location-_zTaloy5.png",pFo="/aladdin/assets/date-Dqo8FDne.png",gFo="/aladdin/assets/thermometer-B30VcfuL.png",mFo=Ho.div` position: absolute; top: 75px; left: 0; @@ -8960,7 +8960,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; user-select: none; tab-index: -1; // set to be not focusable z-index: 7; // must be less than other panels -`,wFo=Ho.div` +`,yFo=Ho.div` position: absolute; top: 0; left: ${t=>t.$projectView?"calc(100vw / 2)":"calc(100vw / 4)"}; @@ -8973,7 +8973,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; font-size: 12px; flex-direction: column; opacity: 100%; -`,vFo=Se.memo(()=>{const t=M(Ya),e=M(mq),n=M(Xs),o=M(wb),i=M(FBe),r=M(A7t),a=M(M7),l=M(KL)??900,s=M(Rq),c=M(ABe),[u,d]=m.useState({low:0,high:20}),[f,p]=m.useState(10),g=new Date(t),y=a.y>0,A=Kt();m.useEffect(()=>{if(r){const v=Jx(g,r.lowestTemperatures,r.highestTemperatures);d(v);const S=Xx(v.high,v.low,i,l,x,be.minutesIntoDay(g));p(S)}},[t,r]);const x=m.useMemo(()=>sl(g,n),[t,n]),C=y?"navajowhite":"antiquewhite",b=y?"invert(85%) sepia(45%) saturate(335%) hue-rotate(329deg) brightness(100%) contrast(101%)":"invert(95%) sepia(7%) saturate(1598%) hue-rotate(312deg) brightness(106%) contrast(96%)";return h.jsx(AFo,{children:h.jsx(wFo,{$projectView:s,children:h.jsxs(en,{direction:"horizontal",style:{color:C,fontSize:"10px"},children:[h.jsx("img",{title:O.t("word.Location",A),alt:"Location",src:gFo,height:20,width:20,style:{filter:b,cursor:"pointer",verticalAlign:"middle"}}),(c?"":e??"")+" ("+Math.abs(n).toFixed(2)+"°"+(n>0?"N":"S")+", "+Math.abs(o).toFixed(2)+"°"+(o>0?"E":"W")+")",h.jsx("img",{title:O.t("word.Date",A),alt:"Date",src:mFo,height:20,width:20,style:{filter:b,cursor:"pointer",verticalAlign:"middle"}}),gc(g).format("MM/DD hh:mm A"),h.jsx("img",{title:O.t("word.Temperature",A),alt:"Temperature",src:yFo,height:20,width:20,style:{filter:b,cursor:"pointer",verticalAlign:"middle"}}),u?f.toFixed(1)+"°C ("+O.t("siteInfoPanel.Low",A)+":"+u.low.toFixed(1)+"°C, "+O.t("siteInfoPanel.High",A)+": "+u.high.toFixed(1)+"°C)":""]})})})}),xFo=Ho.div` +`,AFo=Se.memo(()=>{const t=M(Ya),e=M(mq),n=M(Xs),o=M(wb),i=M(FBe),r=M(m7t),a=M(M7),l=M(KL)??900,s=M(Rq),c=M(ABe),[u,d]=m.useState({low:0,high:20}),[f,p]=m.useState(10),g=new Date(t),y=a.y>0,A=Kt();m.useEffect(()=>{if(r){const v=Jx(g,r.lowestTemperatures,r.highestTemperatures);d(v);const S=Xx(v.high,v.low,i,l,x,be.minutesIntoDay(g));p(S)}},[t,r]);const x=m.useMemo(()=>sl(g,n),[t,n]),C=y?"navajowhite":"antiquewhite",b=y?"invert(85%) sepia(45%) saturate(335%) hue-rotate(329deg) brightness(100%) contrast(101%)":"invert(95%) sepia(7%) saturate(1598%) hue-rotate(312deg) brightness(106%) contrast(96%)";return h.jsx(mFo,{children:h.jsx(yFo,{$projectView:s,children:h.jsxs(en,{direction:"horizontal",style:{color:C,fontSize:"10px"},children:[h.jsx("img",{title:O.t("word.Location",A),alt:"Location",src:hFo,height:20,width:20,style:{filter:b,cursor:"pointer",verticalAlign:"middle"}}),(c?"":e??"")+" ("+Math.abs(n).toFixed(2)+"°"+(n>0?"N":"S")+", "+Math.abs(o).toFixed(2)+"°"+(o>0?"E":"W")+")",h.jsx("img",{title:O.t("word.Date",A),alt:"Date",src:pFo,height:20,width:20,style:{filter:b,cursor:"pointer",verticalAlign:"middle"}}),gc(g).format("MM/DD hh:mm A"),h.jsx("img",{title:O.t("word.Temperature",A),alt:"Temperature",src:gFo,height:20,width:20,style:{filter:b,cursor:"pointer",verticalAlign:"middle"}}),u?f.toFixed(1)+"°C ("+O.t("siteInfoPanel.Low",A)+":"+u.low.toFixed(1)+"°C, "+O.t("siteInfoPanel.High",A)+": "+u.high.toFixed(1)+"°C)":""]})})})}),wFo=Ho.div` position: absolute; left: 0; margin: 0; @@ -8986,7 +8986,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; opacity: 100%; user-select: none; z-index: 7; // must be less than other panels -`,bFo=Ho.div` +`,vFo=Ho.div` background: #282c34; position: absolute; top: 0; @@ -9000,7 +9000,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; font-size: 12px; flex-direction: column; opacity: 100%; -`,SFo=Se.memo(()=>{const t=M(dn),e=M(wf),n=M(Y1e),o=M(X2),i=gt(i3),r=Kt();return h.jsx(xFo,{style:{top:n?"110px":"80px"},children:h.jsx(bFo,{style:{width:i?"320px":"170px",left:i?"calc(100vw / 2 - 150px)":"calc(100vw / 2 - 80px)"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[O.t("visualizationControlPanel.ColorContrast",r)+":",h.jsx(Hn,{title:O.t("visualizationControlPanel.ClickUpOrDownArrowButtonsToChange",r),min:.5,max:50,step:.5,style:{width:70},precision:1,value:e??5,onChange:a=>{a!==null&&t(l=>{l.viewState.solarRadiationHeatMapMaxValue=a})}}),i&&h.jsxs(h.Fragment,{children:[O.t("visualizationControlPanel.FluxScale",r)+":",h.jsx(Hn,{title:O.t("visualizationControlPanel.ClickUpOrDownArrowButtonsToChange",r),min:1,max:50,step:5,style:{width:65},precision:0,value:o??20,onChange:a=>{a!==null&&t(l=>{l.viewState.heatFluxScaleFactor=a})}})]})]})})})}),{Column:$O}=Rd,TFo=Ho.div` +`,xFo=Se.memo(()=>{const t=M(dn),e=M(wf),n=M(Y1e),o=M(X2),i=gt(i3),r=Kt();return h.jsx(wFo,{style:{top:n?"110px":"80px"},children:h.jsx(vFo,{style:{width:i?"320px":"170px",left:i?"calc(100vw / 2 - 150px)":"calc(100vw / 2 - 80px)"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[O.t("visualizationControlPanel.ColorContrast",r)+":",h.jsx(Hn,{title:O.t("visualizationControlPanel.ClickUpOrDownArrowButtonsToChange",r),min:.5,max:50,step:.5,style:{width:70},precision:1,value:e??5,onChange:a=>{a!==null&&t(l=>{l.viewState.solarRadiationHeatMapMaxValue=a})}}),i&&h.jsxs(h.Fragment,{children:[O.t("visualizationControlPanel.FluxScale",r)+":",h.jsx(Hn,{title:O.t("visualizationControlPanel.ClickUpOrDownArrowButtonsToChange",r),min:1,max:50,step:5,style:{width:65},precision:0,value:o??20,onChange:a=>{a!==null&&t(l=>{l.viewState.heatFluxScaleFactor=a})}})]})]})})})}),{Column:$O}=Rd,bFo=Ho.div` position: fixed; top: 90px; right: 36px; @@ -9009,7 +9009,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 8; -`,PFo=Ho.div` +`,SFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9027,7 +9027,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,CFo=Ho.div` +`,TFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9038,7 +9038,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,RFo=Se.memo(()=>{const t=M(ha),e=M(dn),n=new Date(M(Ya)),o=M(LAt),i=bn(C7t),r=M(Xwt),a=M(bc),l=Se.useRef(null),s=m.useRef(null),c=m.useRef(),u=s.current?s.current.clientWidth+40:o?o.width+40:640,d=s.current?s.current.clientHeight+100:o?o.height+100:570,[f,p]=m.useState({x:o?Math.max(o.x,u-window.innerWidth):0,y:o?Math.min(o.y,window.innerHeight-d):0}),[g,y]=m.useState([]),A=Kt();m.useEffect(()=>{p({x:Math.max(o==null?void 0:o.x,u-window.innerWidth),y:Math.min(o==null?void 0:o.y,window.innerHeight-d)})},[o,u,d]),m.useEffect(()=>{const S=()=>{p({x:Math.max(o==null?void 0:o.x,u-window.innerWidth),y:Math.min(o==null?void 0:o.y,window.innerHeight-d)})};return window.addEventListener("resize",S),()=>{window.removeEventListener("resize",S)}},[d,o==null?void 0:o.x,o==null?void 0:o.y,u]),m.useEffect(()=>(s.current&&(c.current||(c.current=new ResizeObserver(()=>{e(S=>{s.current&&(S.viewState.visibilityResultsPanelRect||(S.viewState.visibilityResultsPanelRect=new ri(0,0,600,470)),S.viewState.visibilityResultsPanelRect.width=s.current.offsetWidth,S.viewState.visibilityResultsPanelRect.height=s.current.offsetHeight)})})),c.current.observe(s.current)),()=>{var S;(S=c.current)==null||S.disconnect()}),[]),m.useEffect(()=>{if(i){const S=[];i.forEach((w,T)=>{let P=0,R="",H=0;w.forEach((D,E)=>{H++,P+=D,R+=D.toFixed(2)+", "}),S.push({key:T.observer.id,observer:Ip.fetchLabel(T.observer.name,A),vantage:"("+T.position.x.toFixed(1)+", "+T.position.y.toFixed(1)+", "+T.position.z.toFixed(1)+") "+v("word.MeterAbbreviation",A),total:P.toFixed(2),itemized:H>1?R.substring(0,R.length-2):"---"})}),y(S)}},[i,A]);const x=(S,w)=>{p({x:Math.max(w.x,u-window.innerWidth),y:Math.min(w.y,window.innerHeight-d)})},C=(S,w)=>{e(T=>{T.viewState.visibilityResultsPanelRect||(T.viewState.visibilityResultsPanelRect=new ri(0,0,600,470)),T.viewState.visibilityResultsPanelRect.x=Math.max(w.x,u-window.innerWidth),T.viewState.visibilityResultsPanelRect.y=Math.min(w.y,window.innerHeight-d)})},b=()=>{e(S=>{S.viewState.showSolarPanelVisibilityResultsPanel=!1,t&&(S.actionInfo={name:"Close Visibility Results Panel",timestamp:new Date().getTime()})})},{t:v}=jl();return h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:f,onDrag:x,onStop:C,onMouseDown:()=>{e(S=>{S.selectedFloatingWindow="visibilityResultsPanel"})},children:h.jsx(TFo,{ref:l,style:{zIndex:a==="visibilityResultsPanel"?xc:8},children:h.jsxs(PFo,{ref:s,style:{width:(o?o.width:600)+"px",height:(o?o.height:470)+"px"},children:[h.jsxs(CFo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:v("visibilityPanel.SolarPanelVisibility",A)+" — "+gi(n).format("h:mm A MM/DD")}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{b()},onMouseDown:()=>{b()},children:v("word.Close",A)})]}),h.jsxs(Rd,{id:"visibility-results-table",style:{width:"100%",direction:"ltr"},dataSource:g,pagination:{defaultPageSize:5,showSizeChanger:!0,pageSizeOptions:["5","10","50"]},children:[h.jsx($O,{title:`${v("visibilityPanel.Observer",A)}`,dataIndex:"observer"},"observer"),h.jsx($O,{title:`${v("visibilityPanel.VantagePoint",A)}`,dataIndex:"vantage"},"vantage"),h.jsx($O,{title:`${v("visibilityPanel.TotalVisibility",A)}`,dataIndex:"total"},"total"),h.jsx($O,{title:`${v("visibilityPanel.ItemizedVisibilityByFields",A)}`,dataIndex:"itemized"},"itemized")]}),h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[h.jsx(no,{type:"default",icon:h.jsx(xf,{}),title:v("word.Update",A),onClick:()=>{if(r()===0){fn(v("analysisManager.NoObserverForVisibilityAnalysis",A));return}fn(v("message.SimulationStarted",A)),setTimeout(()=>{gt.getState().set(w=>{w.simulationInProgress=!0,w.runSolarPanelVisibilityAnalysis=!0}),e(w=>{t&&(w.actionInfo={name:"Run Visibility Analysis For Solar Panels",timestamp:new Date().getTime()})})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:v("word.SaveAsImage",A),onClick:()=>{Hd("visibility-results-table","visibility-results").then(()=>{fn(v("message.ScreenshotSaved",A))})}})]})]})})})}),HFo=Ho.div` +`,PFo=Se.memo(()=>{const t=M(ha),e=M(dn),n=new Date(M(Ya)),o=M(kAt),i=bn(T7t),r=M(Vwt),a=M(bc),l=Se.useRef(null),s=m.useRef(null),c=m.useRef(),u=s.current?s.current.clientWidth+40:o?o.width+40:640,d=s.current?s.current.clientHeight+100:o?o.height+100:570,[f,p]=m.useState({x:o?Math.max(o.x,u-window.innerWidth):0,y:o?Math.min(o.y,window.innerHeight-d):0}),[g,y]=m.useState([]),A=Kt();m.useEffect(()=>{p({x:Math.max(o==null?void 0:o.x,u-window.innerWidth),y:Math.min(o==null?void 0:o.y,window.innerHeight-d)})},[o,u,d]),m.useEffect(()=>{const S=()=>{p({x:Math.max(o==null?void 0:o.x,u-window.innerWidth),y:Math.min(o==null?void 0:o.y,window.innerHeight-d)})};return window.addEventListener("resize",S),()=>{window.removeEventListener("resize",S)}},[d,o==null?void 0:o.x,o==null?void 0:o.y,u]),m.useEffect(()=>(s.current&&(c.current||(c.current=new ResizeObserver(()=>{e(S=>{s.current&&(S.viewState.visibilityResultsPanelRect||(S.viewState.visibilityResultsPanelRect=new ri(0,0,600,470)),S.viewState.visibilityResultsPanelRect.width=s.current.offsetWidth,S.viewState.visibilityResultsPanelRect.height=s.current.offsetHeight)})})),c.current.observe(s.current)),()=>{var S;(S=c.current)==null||S.disconnect()}),[]),m.useEffect(()=>{if(i){const S=[];i.forEach((w,T)=>{let P=0,R="",H=0;w.forEach((D,E)=>{H++,P+=D,R+=D.toFixed(2)+", "}),S.push({key:T.observer.id,observer:Ip.fetchLabel(T.observer.name,A),vantage:"("+T.position.x.toFixed(1)+", "+T.position.y.toFixed(1)+", "+T.position.z.toFixed(1)+") "+v("word.MeterAbbreviation",A),total:P.toFixed(2),itemized:H>1?R.substring(0,R.length-2):"---"})}),y(S)}},[i,A]);const x=(S,w)=>{p({x:Math.max(w.x,u-window.innerWidth),y:Math.min(w.y,window.innerHeight-d)})},C=(S,w)=>{e(T=>{T.viewState.visibilityResultsPanelRect||(T.viewState.visibilityResultsPanelRect=new ri(0,0,600,470)),T.viewState.visibilityResultsPanelRect.x=Math.max(w.x,u-window.innerWidth),T.viewState.visibilityResultsPanelRect.y=Math.min(w.y,window.innerHeight-d)})},b=()=>{e(S=>{S.viewState.showSolarPanelVisibilityResultsPanel=!1,t&&(S.actionInfo={name:"Close Visibility Results Panel",timestamp:new Date().getTime()})})},{t:v}=jl();return h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:f,onDrag:x,onStop:C,onMouseDown:()=>{e(S=>{S.selectedFloatingWindow="visibilityResultsPanel"})},children:h.jsx(bFo,{ref:l,style:{zIndex:a==="visibilityResultsPanel"?xc:8},children:h.jsxs(SFo,{ref:s,style:{width:(o?o.width:600)+"px",height:(o?o.height:470)+"px"},children:[h.jsxs(TFo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:v("visibilityPanel.SolarPanelVisibility",A)+" — "+gi(n).format("h:mm A MM/DD")}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{b()},onMouseDown:()=>{b()},children:v("word.Close",A)})]}),h.jsxs(Rd,{id:"visibility-results-table",style:{width:"100%",direction:"ltr"},dataSource:g,pagination:{defaultPageSize:5,showSizeChanger:!0,pageSizeOptions:["5","10","50"]},children:[h.jsx($O,{title:`${v("visibilityPanel.Observer",A)}`,dataIndex:"observer"},"observer"),h.jsx($O,{title:`${v("visibilityPanel.VantagePoint",A)}`,dataIndex:"vantage"},"vantage"),h.jsx($O,{title:`${v("visibilityPanel.TotalVisibility",A)}`,dataIndex:"total"},"total"),h.jsx($O,{title:`${v("visibilityPanel.ItemizedVisibilityByFields",A)}`,dataIndex:"itemized"},"itemized")]}),h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[h.jsx(no,{type:"default",icon:h.jsx(xf,{}),title:v("word.Update",A),onClick:()=>{if(r()===0){fn(v("analysisManager.NoObserverForVisibilityAnalysis",A));return}fn(v("message.SimulationStarted",A)),setTimeout(()=>{gt.getState().set(w=>{w.simulationInProgress=!0,w.runSolarPanelVisibilityAnalysis=!0}),e(w=>{t&&(w.actionInfo={name:"Run Visibility Analysis For Solar Panels",timestamp:new Date().getTime()})})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:v("word.SaveAsImage",A),onClick:()=>{Hd("visibility-results-table","visibility-results").then(()=>{fn(v("message.ScreenshotSaved",A))})}})]})]})})})}),CFo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9047,7 +9047,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,MFo=Ho.div` +`,RFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9065,7 +9065,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,IFo=Ho.div` +`,HFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9076,7 +9076,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,zFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=bn(Y7t),l=M(Gje),s=bn(Xje),c=M(kg),u=M(UAt),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyParabolicTroughYieldPanelRect||(k.viewState.yearlyParabolicTroughYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyParabolicTroughYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyParabolicTroughYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyParabolicTroughYieldPanelRect||(j.viewState.yearlyParabolicTroughYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyParabolicTroughYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyParabolicTroughYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyParabolicTroughYieldPanel=!1,e&&(k.actionInfo={name:"Close Parabolic Trough Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(z.ParabolicTrough);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyParabolicTroughIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("parabolicTroughYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlyParabolicTroughYieldPanel"})},children:h.jsx(HFo,{ref:p,style:{zIndex:f==="yearlyParabolicTroughYieldPanel"?xc:9},children:h.jsxs(MFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(IFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("parabolicTroughYieldPanel.ParabolicTroughYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyParabolicTroughYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("parabolicTroughYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),E>1&&h.jsx(wc,{title:L("parabolicTroughYieldPanel.ShowOutputsOfIndividualParabolicTroughs",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:k=>{if(E===0){fn(L("analysisManager.NoParabolicTroughForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(N=>{N.graphState&&(N.graphState.yearlyParabolicTroughIndividualOutputs=k),e&&(N.actionInfo={name:"Run Yearly Simulation For Parabolic Troughs: "+(k?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(N=>{N.runYearlySimulationForParabolicTroughs=!0,N.pauseYearlySimulationForParabolicTroughs=!1,N.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoParabolicTroughForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Parabolic Troughs",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runYearlySimulationForParabolicTroughs=!0,k.pauseYearlySimulationForParabolicTroughs=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-parabolic-trough-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Parabolic Trough Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-parabolic-trough-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Parabolic Trough Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),DFo=Ho.div` +`,MFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=bn(B7t),l=M(Gje),s=bn(Xje),c=M(kg),u=M(WAt),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyParabolicTroughYieldPanelRect||(k.viewState.yearlyParabolicTroughYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyParabolicTroughYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyParabolicTroughYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyParabolicTroughYieldPanelRect||(j.viewState.yearlyParabolicTroughYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyParabolicTroughYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyParabolicTroughYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyParabolicTroughYieldPanel=!1,e&&(k.actionInfo={name:"Close Parabolic Trough Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(z.ParabolicTrough);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyParabolicTroughIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("parabolicTroughYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlyParabolicTroughYieldPanel"})},children:h.jsx(CFo,{ref:p,style:{zIndex:f==="yearlyParabolicTroughYieldPanel"?xc:9},children:h.jsxs(RFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(HFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("parabolicTroughYieldPanel.ParabolicTroughYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyParabolicTroughYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("parabolicTroughYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),E>1&&h.jsx(wc,{title:L("parabolicTroughYieldPanel.ShowOutputsOfIndividualParabolicTroughs",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:k=>{if(E===0){fn(L("analysisManager.NoParabolicTroughForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(N=>{N.graphState&&(N.graphState.yearlyParabolicTroughIndividualOutputs=k),e&&(N.actionInfo={name:"Run Yearly Simulation For Parabolic Troughs: "+(k?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(N=>{N.runYearlySimulationForParabolicTroughs=!0,N.pauseYearlySimulationForParabolicTroughs=!1,N.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoParabolicTroughForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Parabolic Troughs",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runYearlySimulationForParabolicTroughs=!0,k.pauseYearlySimulationForParabolicTroughs=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-parabolic-trough-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Parabolic Trough Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-parabolic-trough-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Parabolic Trough Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),IFo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9085,7 +9085,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,EFo=Ho.div` +`,zFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9103,7 +9103,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,kFo=Ho.div` +`,DFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9114,7 +9114,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,FFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(B7t),l=M(Vje),s=M(WAt),c=bn(Xje),u=gt(vf),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:s?s.width+40:640,A=p.current?p.current.clientHeight+100:s?s.height+100:500,[x,C]=m.useState({x:s?Math.max(s.x,y-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-A):0}),[b,v]=m.useState(0),S=m.useRef(new Map),w=Kt();m.useEffect(()=>{let F=0;S.current.clear();for(const W of a)for(const B in W)Object.hasOwn(W,B)&&B!=="Hour"&&(F+=W[B],S.current.set(B,(S.current.get(B)??0)+W[B]));v(F)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})},[s,y,A]),m.useEffect(()=>{const F=()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[s,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(F=>{p.current&&(F.viewState.dailyParabolicTroughYieldPanelRect||(F.viewState.dailyParabolicTroughYieldPanelRect=new ri(0,0,600,400)),F.viewState.dailyParabolicTroughYieldPanelRect.width=p.current.offsetWidth,F.viewState.dailyParabolicTroughYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var F;(F=g.current)==null||F.disconnect()}),[]);const T=(F,W)=>{C({x:Math.max(W.x,y-window.innerWidth),y:Math.min(W.y,window.innerHeight-A)})},P=(F,W)=>{o(B=>{B.viewState.dailyParabolicTroughYieldPanelRect||(B.viewState.dailyParabolicTroughYieldPanelRect=new ri(0,0,600,400)),B.viewState.dailyParabolicTroughYieldPanelRect.x=Math.max(W.x,y-window.innerWidth),B.viewState.dailyParabolicTroughYieldPanelRect.y=Math.min(W.y,window.innerHeight-A)})},R=()=>{o(F=>{F.viewState.showDailyParabolicTroughYieldPanel=!1,e&&(F.actionInfo={name:"Close Parabolic Trough Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.ParabolicTrough);m.useEffect(()=>{H<2&&l&&o(F=>{F.graphState&&(F.graphState.dailyParabolicTroughIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),E=D("word.Hour",w),L=D("parabolicTroughYieldPanel.YieldPerHour",w),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:T,onStop:P,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailyParabolicTroughYieldPanel"})},children:h.jsx(DFo,{ref:f,style:{zIndex:d==="dailyParabolicTroughYieldPanel"?xc:9},children:h.jsxs(EFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(kFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("parabolicTroughYieldPanel.ParabolicTroughDailyYield",w)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",w)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",w)})]}),h.jsx(mf,{type:xr.DailyParabolicTroughYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:E,labelY:L,unitY:D("word.kWh",w),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&S.current.size>0?h.jsx(gl,{title:[...S.current.entries()].map((F,W)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(nt,{span:8,children:F[1].toFixed(3)})]}),W===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",w)+": "+b.toFixed(3)+" "+D("word.kWh",w)})]})]},W)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",w)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("parabolicTroughYieldPanel.DailyTotal",w),":",b.toFixed(2)," ",D("word.kWh",w)]}),H>1&&h.jsx(wc,{title:D("parabolicTroughYieldPanel.ShowOutputsOfIndividualParabolicTroughs",w),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(H===0){fn(D("analysisManager.NoParabolicTroughForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(W=>{W.graphState&&(W.graphState.dailyParabolicTroughIndividualOutputs=F),e&&(W.actionInfo={name:"Run Daily Simulation For Parabolic Troughs: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(W=>{W.runDailySimulationForParabolicTroughs=!0,W.pauseDailySimulationForParabolicTroughs=!1,W.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:D(U?"word.Run":"word.Update",w),onClick:()=>{if(H===0){fn(D("analysisManager.NoParabolicTroughForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Parabolic Troughs",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runDailySimulationForParabolicTroughs=!0,F.pauseDailySimulationForParabolicTroughs=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",w),onClick:()=>{Hd("line-graph-"+E+"-"+L,"daily-parabolic-trough-yield").then(()=>{fn(D("message.ScreenshotSaved",w)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Parabolic Trough Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",w),onClick:()=>{wh(a,"daily-parabolic-trough-yield.csv"),fn(D("message.CsvFileSaved",w)),e&&o(F=>{F.actionInfo={name:"Export Daily Parabolic Trough Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),LFo=Ho.div` +`,EFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(N7t),l=M(Vje),s=M(FAt),c=bn(Xje),u=gt(vf),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:s?s.width+40:640,A=p.current?p.current.clientHeight+100:s?s.height+100:500,[x,C]=m.useState({x:s?Math.max(s.x,y-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-A):0}),[b,v]=m.useState(0),S=m.useRef(new Map),w=Kt();m.useEffect(()=>{let F=0;S.current.clear();for(const W of a)for(const B in W)Object.hasOwn(W,B)&&B!=="Hour"&&(F+=W[B],S.current.set(B,(S.current.get(B)??0)+W[B]));v(F)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})},[s,y,A]),m.useEffect(()=>{const F=()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[s,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(F=>{p.current&&(F.viewState.dailyParabolicTroughYieldPanelRect||(F.viewState.dailyParabolicTroughYieldPanelRect=new ri(0,0,600,400)),F.viewState.dailyParabolicTroughYieldPanelRect.width=p.current.offsetWidth,F.viewState.dailyParabolicTroughYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var F;(F=g.current)==null||F.disconnect()}),[]);const T=(F,W)=>{C({x:Math.max(W.x,y-window.innerWidth),y:Math.min(W.y,window.innerHeight-A)})},P=(F,W)=>{o(B=>{B.viewState.dailyParabolicTroughYieldPanelRect||(B.viewState.dailyParabolicTroughYieldPanelRect=new ri(0,0,600,400)),B.viewState.dailyParabolicTroughYieldPanelRect.x=Math.max(W.x,y-window.innerWidth),B.viewState.dailyParabolicTroughYieldPanelRect.y=Math.min(W.y,window.innerHeight-A)})},R=()=>{o(F=>{F.viewState.showDailyParabolicTroughYieldPanel=!1,e&&(F.actionInfo={name:"Close Parabolic Trough Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.ParabolicTrough);m.useEffect(()=>{H<2&&l&&o(F=>{F.graphState&&(F.graphState.dailyParabolicTroughIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),E=D("word.Hour",w),L=D("parabolicTroughYieldPanel.YieldPerHour",w),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:T,onStop:P,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailyParabolicTroughYieldPanel"})},children:h.jsx(IFo,{ref:f,style:{zIndex:d==="dailyParabolicTroughYieldPanel"?xc:9},children:h.jsxs(zFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(DFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("parabolicTroughYieldPanel.ParabolicTroughDailyYield",w)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",w)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",w)})]}),h.jsx(mf,{type:xr.DailyParabolicTroughYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:E,labelY:L,unitY:D("word.kWh",w),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&S.current.size>0?h.jsx(gl,{title:[...S.current.entries()].map((F,W)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(nt,{span:8,children:F[1].toFixed(3)})]}),W===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",w)+": "+b.toFixed(3)+" "+D("word.kWh",w)})]})]},W)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",w)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("parabolicTroughYieldPanel.DailyTotal",w),":",b.toFixed(2)," ",D("word.kWh",w)]}),H>1&&h.jsx(wc,{title:D("parabolicTroughYieldPanel.ShowOutputsOfIndividualParabolicTroughs",w),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(H===0){fn(D("analysisManager.NoParabolicTroughForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(W=>{W.graphState&&(W.graphState.dailyParabolicTroughIndividualOutputs=F),e&&(W.actionInfo={name:"Run Daily Simulation For Parabolic Troughs: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(W=>{W.runDailySimulationForParabolicTroughs=!0,W.pauseDailySimulationForParabolicTroughs=!1,W.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:D(U?"word.Run":"word.Update",w),onClick:()=>{if(H===0){fn(D("analysisManager.NoParabolicTroughForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Parabolic Troughs",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runDailySimulationForParabolicTroughs=!0,F.pauseDailySimulationForParabolicTroughs=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",w),onClick:()=>{Hd("line-graph-"+E+"-"+L,"daily-parabolic-trough-yield").then(()=>{fn(D("message.ScreenshotSaved",w)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Parabolic Trough Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",w),onClick:()=>{wh(a,"daily-parabolic-trough-yield.csv"),fn(D("message.CsvFileSaved",w)),e&&o(F=>{F.actionInfo={name:"Export Daily Parabolic Trough Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),kFo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9123,7 +9123,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,WFo=Ho.div` +`,FFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9141,7 +9141,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,NFo=Ho.div` +`,LFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9152,7 +9152,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,UFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(T8t),l=M(oYe),s=M(BAt),c=bn(rYe),u=gt(vf),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:s?s.width+40:640,A=p.current?p.current.clientHeight+100:s?s.height+100:500,[x,C]=m.useState({x:s?Math.max(s.x,y-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-A):0}),[b,v]=m.useState(0),S=m.useRef(new Map),w=Kt();m.useEffect(()=>{let F=0;S.current.clear();for(const W of a)for(const B in W)Object.hasOwn(W,B)&&B!=="Hour"&&(F+=W[B],S.current.set(B,(S.current.get(B)??0)+W[B]));v(F)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})},[s,y,A]),m.useEffect(()=>{const F=()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[s,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(F=>{p.current&&(F.viewState.dailyParabolicDishYieldPanelRect||(F.viewState.dailyParabolicDishYieldPanelRect=new ri(0,0,600,400)),F.viewState.dailyParabolicDishYieldPanelRect.width=p.current.offsetWidth,F.viewState.dailyParabolicDishYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var F;(F=g.current)==null||F.disconnect()}),[]);const T=(F,W)=>{C({x:Math.max(W.x,y-window.innerWidth),y:Math.min(W.y,window.innerHeight-A)})},P=(F,W)=>{o(B=>{B.viewState.dailyParabolicDishYieldPanelRect||(B.viewState.dailyParabolicDishYieldPanelRect=new ri(0,0,600,400)),B.viewState.dailyParabolicDishYieldPanelRect.x=Math.max(W.x,y-window.innerWidth),B.viewState.dailyParabolicDishYieldPanelRect.y=Math.min(W.y,window.innerHeight-A)})},R=()=>{o(F=>{F.viewState.showDailyParabolicDishYieldPanel=!1,e&&(F.actionInfo={name:"Close Parabolic Dish Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.ParabolicDish);m.useEffect(()=>{H<2&&l&&o(F=>{F.graphState&&(F.graphState.dailyParabolicDishIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),E=D("word.Hour",w),L=D("parabolicDishYieldPanel.YieldPerHour",w),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:T,onStop:P,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailyParabolicDishYieldPanel"})},children:h.jsx(LFo,{ref:f,style:{zIndex:d==="dailyParabolicDishYieldPanel"?xc:9},children:h.jsxs(WFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(NFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("parabolicDishYieldPanel.ParabolicDishDailyYield",w)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",w)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",w)})]}),h.jsx(mf,{type:xr.DailyParabolicDishYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:E,labelY:L,unitY:D("word.kWh",w),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&S.current.size>0?h.jsx(gl,{title:[...S.current.entries()].map((F,W)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(nt,{span:8,children:F[1].toFixed(3)})]}),W===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",w)+": "+b.toFixed(3)+" "+D("word.kWh",w)})]})]},W)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",w)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("parabolicDishYieldPanel.DailyTotal",w),":",b.toFixed(2)," ",D("word.kWh",w)]}),H>1&&h.jsx(wc,{title:D("parabolicDishYieldPanel.ShowOutputsOfIndividualParabolicDishes",w),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(H===0){fn(D("analysisManager.NoParabolicDishForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(W=>{W.graphState&&(W.graphState.dailyParabolicDishIndividualOutputs=F),e&&(W.actionInfo={name:"Run Daily Simulation For Parabolic Dishes: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(W=>{W.runDailySimulationForParabolicDishes=!0,W.pauseDailySimulationForParabolicDishes=!1,W.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:D(U?"word.Run":"word.Update",w),onClick:()=>{if(H===0){fn(D("analysisManager.NoParabolicDishForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Parabolic Dishes",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runDailySimulationForParabolicDishes=!0,F.pauseDailySimulationForParabolicDishes=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",w),onClick:()=>{Hd("line-graph-"+E+"-"+L,"daily-parabolic-dish-yield").then(()=>{fn(D("message.ScreenshotSaved",w)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Parabolic Dish Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",w),onClick:()=>{wh(a,"daily-parabolic-dish-yield.csv"),fn(D("message.CsvFileSaved",w)),e&&o(F=>{F.actionInfo={name:"Export Daily Parabolic Dish Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),BFo=Ho.div` +`,WFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(b8t),l=M(oYe),s=M(NAt),c=bn(rYe),u=gt(vf),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:s?s.width+40:640,A=p.current?p.current.clientHeight+100:s?s.height+100:500,[x,C]=m.useState({x:s?Math.max(s.x,y-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-A):0}),[b,v]=m.useState(0),S=m.useRef(new Map),w=Kt();m.useEffect(()=>{let F=0;S.current.clear();for(const W of a)for(const B in W)Object.hasOwn(W,B)&&B!=="Hour"&&(F+=W[B],S.current.set(B,(S.current.get(B)??0)+W[B]));v(F)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})},[s,y,A]),m.useEffect(()=>{const F=()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[s,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(F=>{p.current&&(F.viewState.dailyParabolicDishYieldPanelRect||(F.viewState.dailyParabolicDishYieldPanelRect=new ri(0,0,600,400)),F.viewState.dailyParabolicDishYieldPanelRect.width=p.current.offsetWidth,F.viewState.dailyParabolicDishYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var F;(F=g.current)==null||F.disconnect()}),[]);const T=(F,W)=>{C({x:Math.max(W.x,y-window.innerWidth),y:Math.min(W.y,window.innerHeight-A)})},P=(F,W)=>{o(B=>{B.viewState.dailyParabolicDishYieldPanelRect||(B.viewState.dailyParabolicDishYieldPanelRect=new ri(0,0,600,400)),B.viewState.dailyParabolicDishYieldPanelRect.x=Math.max(W.x,y-window.innerWidth),B.viewState.dailyParabolicDishYieldPanelRect.y=Math.min(W.y,window.innerHeight-A)})},R=()=>{o(F=>{F.viewState.showDailyParabolicDishYieldPanel=!1,e&&(F.actionInfo={name:"Close Parabolic Dish Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.ParabolicDish);m.useEffect(()=>{H<2&&l&&o(F=>{F.graphState&&(F.graphState.dailyParabolicDishIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),E=D("word.Hour",w),L=D("parabolicDishYieldPanel.YieldPerHour",w),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:T,onStop:P,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailyParabolicDishYieldPanel"})},children:h.jsx(kFo,{ref:f,style:{zIndex:d==="dailyParabolicDishYieldPanel"?xc:9},children:h.jsxs(FFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(LFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("parabolicDishYieldPanel.ParabolicDishDailyYield",w)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",w)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",w)})]}),h.jsx(mf,{type:xr.DailyParabolicDishYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:E,labelY:L,unitY:D("word.kWh",w),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&S.current.size>0?h.jsx(gl,{title:[...S.current.entries()].map((F,W)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(nt,{span:8,children:F[1].toFixed(3)})]}),W===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",w)+": "+b.toFixed(3)+" "+D("word.kWh",w)})]})]},W)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",w)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("parabolicDishYieldPanel.DailyTotal",w),":",b.toFixed(2)," ",D("word.kWh",w)]}),H>1&&h.jsx(wc,{title:D("parabolicDishYieldPanel.ShowOutputsOfIndividualParabolicDishes",w),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(H===0){fn(D("analysisManager.NoParabolicDishForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(W=>{W.graphState&&(W.graphState.dailyParabolicDishIndividualOutputs=F),e&&(W.actionInfo={name:"Run Daily Simulation For Parabolic Dishes: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(W=>{W.runDailySimulationForParabolicDishes=!0,W.pauseDailySimulationForParabolicDishes=!1,W.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:D(U?"word.Run":"word.Update",w),onClick:()=>{if(H===0){fn(D("analysisManager.NoParabolicDishForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Parabolic Dishes",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runDailySimulationForParabolicDishes=!0,F.pauseDailySimulationForParabolicDishes=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",w),onClick:()=>{Hd("line-graph-"+E+"-"+L,"daily-parabolic-dish-yield").then(()=>{fn(D("message.ScreenshotSaved",w)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Parabolic Dish Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",w),onClick:()=>{wh(a,"daily-parabolic-dish-yield.csv"),fn(D("message.CsvFileSaved",w)),e&&o(F=>{F.actionInfo={name:"Export Daily Parabolic Dish Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),NFo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9161,7 +9161,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,jFo=Ho.div` +`,UFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9179,7 +9179,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,YFo=Ho.div` +`,BFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9190,7 +9190,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,OFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=bn(C8t),l=M(iYe),s=bn(rYe),c=M(kg),u=M(YAt),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyParabolicDishYieldPanelRect||(k.viewState.yearlyParabolicDishYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyParabolicDishYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyParabolicDishYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyParabolicDishYieldPanelRect||(j.viewState.yearlyParabolicDishYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyParabolicDishYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyParabolicDishYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyParabolicDishYieldPanel=!1,e&&(k.actionInfo={name:"Close Parabolic Dish Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(z.ParabolicDish);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyParabolicDishIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("parabolicDishYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlyParabolicDishYieldPanel"})},children:h.jsx(BFo,{ref:p,style:{zIndex:f==="yearlyParabolicDishYieldPanel"?xc:9},children:h.jsxs(jFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(YFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("parabolicDishYieldPanel.ParabolicDishYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyParabolicDishYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("parabolicDishYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),E>1&&h.jsx(wc,{title:L("parabolicDishYieldPanel.ShowOutputsOfIndividualParabolicDishes",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:k=>{if(E===0){fn(L("analysisManager.NoParabolicDishForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(N=>{N.graphState&&(N.graphState.yearlyParabolicDishIndividualOutputs=k),e&&(N.actionInfo={name:"Run Yearly Simulation For Parabolic Dishes: "+(k?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(N=>{N.runYearlySimulationForParabolicDishes=!0,N.pauseYearlySimulationForParabolicDishes=!1,N.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoParabolicDishForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Parabolic Dishes",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runYearlySimulationForParabolicDishes=!0,k.pauseYearlySimulationForParabolicDishes=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-parabolic-dish-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Parabolic Dish Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-parabolic-dish-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Parabolic Dish Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),_Fo=Ho.div` +`,jFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=bn(T8t),l=M(iYe),s=bn(rYe),c=M(kg),u=M(BAt),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyParabolicDishYieldPanelRect||(k.viewState.yearlyParabolicDishYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyParabolicDishYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyParabolicDishYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyParabolicDishYieldPanelRect||(j.viewState.yearlyParabolicDishYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyParabolicDishYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyParabolicDishYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyParabolicDishYieldPanel=!1,e&&(k.actionInfo={name:"Close Parabolic Dish Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(z.ParabolicDish);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyParabolicDishIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("parabolicDishYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlyParabolicDishYieldPanel"})},children:h.jsx(NFo,{ref:p,style:{zIndex:f==="yearlyParabolicDishYieldPanel"?xc:9},children:h.jsxs(UFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(BFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("parabolicDishYieldPanel.ParabolicDishYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyParabolicDishYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("parabolicDishYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),E>1&&h.jsx(wc,{title:L("parabolicDishYieldPanel.ShowOutputsOfIndividualParabolicDishes",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:k=>{if(E===0){fn(L("analysisManager.NoParabolicDishForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(N=>{N.graphState&&(N.graphState.yearlyParabolicDishIndividualOutputs=k),e&&(N.actionInfo={name:"Run Yearly Simulation For Parabolic Dishes: "+(k?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(N=>{N.runYearlySimulationForParabolicDishes=!0,N.pauseYearlySimulationForParabolicDishes=!1,N.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoParabolicDishForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Parabolic Dishes",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runYearlySimulationForParabolicDishes=!0,k.pauseYearlySimulationForParabolicDishes=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-parabolic-dish-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Parabolic Dish Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-parabolic-dish-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Parabolic Dish Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),YFo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9199,7 +9199,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,VFo=Ho.div` +`,OFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9217,7 +9217,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,GFo=Ho.div` +`,_Fo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9228,7 +9228,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,XFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(K7t),l=M(Jje),s=M(OAt),c=bn(qje),u=gt(vf),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:s?s.width+40:640,A=p.current?p.current.clientHeight+100:s?s.height+100:500,[x,C]=m.useState({x:s?Math.max(s.x,y-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-A):0}),[b,v]=m.useState(0),S=m.useRef(new Map),w=Kt();m.useEffect(()=>{let F=0;S.current.clear();for(const W of a)for(const B in W)Object.hasOwn(W,B)&&B!=="Hour"&&(F+=W[B],S.current.set(B,(S.current.get(B)??0)+W[B]));v(F)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})},[s,y,A]),m.useEffect(()=>{const F=()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[s,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(F=>{p.current&&(F.viewState.dailyFresnelReflectorYieldPanelRect||(F.viewState.dailyFresnelReflectorYieldPanelRect=new ri(0,0,600,400)),F.viewState.dailyFresnelReflectorYieldPanelRect.width=p.current.offsetWidth,F.viewState.dailyFresnelReflectorYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var F;(F=g.current)==null||F.disconnect()}),[]);const T=(F,W)=>{C({x:Math.max(W.x,y-window.innerWidth),y:Math.min(W.y,window.innerHeight-A)})},P=(F,W)=>{o(B=>{B.viewState.dailyFresnelReflectorYieldPanelRect||(B.viewState.dailyFresnelReflectorYieldPanelRect=new ri(0,0,600,400)),B.viewState.dailyFresnelReflectorYieldPanelRect.x=Math.max(W.x,y-window.innerWidth),B.viewState.dailyFresnelReflectorYieldPanelRect.y=Math.min(W.y,window.innerHeight-A)})},R=()=>{o(F=>{F.viewState.showDailyFresnelReflectorYieldPanel=!1,e&&(F.actionInfo={name:"Close Fresnel Reflector Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.FresnelReflector);m.useEffect(()=>{H<2&&l&&o(F=>{F.graphState&&(F.graphState.dailyFresnelReflectorIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),E=D("word.Hour",w),L=D("fresnelReflectorYieldPanel.YieldPerHour",w),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:T,onStop:P,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailyFresnelReflectorYieldPanel"})},children:h.jsx(_Fo,{ref:f,style:{zIndex:d==="dailyFresnelReflectorYieldPanel"?xc:9},children:h.jsxs(VFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(GFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("fresnelReflectorYieldPanel.FresnelReflectorDailyYield",w)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",w)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",w)})]}),h.jsx(mf,{type:xr.DailyFresnelReflectorYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:E,labelY:L,unitY:D("word.kWh",w),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&S.current.size>0?h.jsx(gl,{title:[...S.current.entries()].map((F,W)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(nt,{span:8,children:F[1].toFixed(3)})]}),W===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",w)+": "+b.toFixed(3)+" "+D("word.kWh",w)})]})]},W)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",w)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("fresnelReflectorYieldPanel.DailyTotal",w),":",b.toFixed(2)," ",D("word.kWh",w)]}),H>1&&h.jsx(wc,{title:D("fresnelReflectorYieldPanel.ShowOutputsOfIndividualFresnelReflectors",w),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(H===0){fn(D("analysisManager.NoFresnelReflectorForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(W=>{W.graphState&&(W.graphState.dailyFresnelReflectorIndividualOutputs=F),e&&(W.actionInfo={name:"Run Daily Simulation For Fresnel Reflectors: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(W=>{W.runDailySimulationForFresnelReflectors=!0,W.pauseDailySimulationForFresnelReflectors=!1,W.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:D(U?"word.Run":"word.Update",w),onClick:()=>{if(H===0){fn(D("analysisManager.NoFresnelReflectorForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Fresnel Reflectors",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runDailySimulationForFresnelReflectors=!0,F.pauseDailySimulationForFresnelReflectors=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",w),onClick:()=>{Hd("line-graph-"+E+"-"+L,"daily-fresnel-reflector-yield").then(()=>{fn(D("message.ScreenshotSaved",w)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Fresnel Reflector Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",w),onClick:()=>{wh(a,"daily-fresnel-yield.csv"),fn(D("message.CsvFileSaved",w)),e&&o(F=>{F.actionInfo={name:"Export Daily Fresnel Reflector Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),JFo=Ho.div` +`,VFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(X7t),l=M(Jje),s=M(jAt),c=bn(qje),u=gt(vf),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:s?s.width+40:640,A=p.current?p.current.clientHeight+100:s?s.height+100:500,[x,C]=m.useState({x:s?Math.max(s.x,y-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-A):0}),[b,v]=m.useState(0),S=m.useRef(new Map),w=Kt();m.useEffect(()=>{let F=0;S.current.clear();for(const W of a)for(const B in W)Object.hasOwn(W,B)&&B!=="Hour"&&(F+=W[B],S.current.set(B,(S.current.get(B)??0)+W[B]));v(F)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})},[s,y,A]),m.useEffect(()=>{const F=()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[s,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(F=>{p.current&&(F.viewState.dailyFresnelReflectorYieldPanelRect||(F.viewState.dailyFresnelReflectorYieldPanelRect=new ri(0,0,600,400)),F.viewState.dailyFresnelReflectorYieldPanelRect.width=p.current.offsetWidth,F.viewState.dailyFresnelReflectorYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var F;(F=g.current)==null||F.disconnect()}),[]);const T=(F,W)=>{C({x:Math.max(W.x,y-window.innerWidth),y:Math.min(W.y,window.innerHeight-A)})},P=(F,W)=>{o(B=>{B.viewState.dailyFresnelReflectorYieldPanelRect||(B.viewState.dailyFresnelReflectorYieldPanelRect=new ri(0,0,600,400)),B.viewState.dailyFresnelReflectorYieldPanelRect.x=Math.max(W.x,y-window.innerWidth),B.viewState.dailyFresnelReflectorYieldPanelRect.y=Math.min(W.y,window.innerHeight-A)})},R=()=>{o(F=>{F.viewState.showDailyFresnelReflectorYieldPanel=!1,e&&(F.actionInfo={name:"Close Fresnel Reflector Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.FresnelReflector);m.useEffect(()=>{H<2&&l&&o(F=>{F.graphState&&(F.graphState.dailyFresnelReflectorIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),E=D("word.Hour",w),L=D("fresnelReflectorYieldPanel.YieldPerHour",w),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:T,onStop:P,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailyFresnelReflectorYieldPanel"})},children:h.jsx(YFo,{ref:f,style:{zIndex:d==="dailyFresnelReflectorYieldPanel"?xc:9},children:h.jsxs(OFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(_Fo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("fresnelReflectorYieldPanel.FresnelReflectorDailyYield",w)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",w)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",w)})]}),h.jsx(mf,{type:xr.DailyFresnelReflectorYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:E,labelY:L,unitY:D("word.kWh",w),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&S.current.size>0?h.jsx(gl,{title:[...S.current.entries()].map((F,W)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(nt,{span:8,children:F[1].toFixed(3)})]}),W===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",w)+": "+b.toFixed(3)+" "+D("word.kWh",w)})]})]},W)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",w)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("fresnelReflectorYieldPanel.DailyTotal",w),":",b.toFixed(2)," ",D("word.kWh",w)]}),H>1&&h.jsx(wc,{title:D("fresnelReflectorYieldPanel.ShowOutputsOfIndividualFresnelReflectors",w),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(H===0){fn(D("analysisManager.NoFresnelReflectorForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(W=>{W.graphState&&(W.graphState.dailyFresnelReflectorIndividualOutputs=F),e&&(W.actionInfo={name:"Run Daily Simulation For Fresnel Reflectors: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(W=>{W.runDailySimulationForFresnelReflectors=!0,W.pauseDailySimulationForFresnelReflectors=!1,W.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:D(U?"word.Run":"word.Update",w),onClick:()=>{if(H===0){fn(D("analysisManager.NoFresnelReflectorForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Fresnel Reflectors",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runDailySimulationForFresnelReflectors=!0,F.pauseDailySimulationForFresnelReflectors=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",w),onClick:()=>{Hd("line-graph-"+E+"-"+L,"daily-fresnel-reflector-yield").then(()=>{fn(D("message.ScreenshotSaved",w)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Fresnel Reflector Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",w),onClick:()=>{wh(a,"daily-fresnel-yield.csv"),fn(D("message.CsvFileSaved",w)),e&&o(F=>{F.actionInfo={name:"Export Daily Fresnel Reflector Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),GFo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9237,7 +9237,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,KFo=Ho.div` +`,XFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9255,7 +9255,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,qFo=Ho.div` +`,JFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9266,7 +9266,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,$Fo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=bn($7t),l=M(Kje),s=bn(qje),c=M(kg),u=M(VAt),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyFresnelReflectorYieldPanelRect||(k.viewState.yearlyFresnelReflectorYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyFresnelReflectorYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyFresnelReflectorYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyFresnelReflectorYieldPanelRect||(j.viewState.yearlyFresnelReflectorYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyFresnelReflectorYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyFresnelReflectorYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyFresnelReflectorYieldPanel=!1,e&&(k.actionInfo={name:"Close Fresnel Reflector Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(z.FresnelReflector);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyFresnelReflectorIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("fresnelReflectorYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlyFresnelReflectorYieldPanel"})},children:h.jsx(JFo,{ref:p,style:{zIndex:f==="yearlyFresnelReflectorYieldPanel"?xc:9},children:h.jsxs(KFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(qFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("fresnelReflectorYieldPanel.FresnelReflectorYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyFresnelReflectorYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("fresnelReflectorYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),E>1&&h.jsx(wc,{title:L("fresnelReflectorYieldPanel.ShowOutputsOfIndividualFresnelReflectors",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:k=>{if(E===0){fn(L("analysisManager.NoFresnelReflectorForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(N=>{N.graphState&&(N.graphState.yearlyFresnelReflectorIndividualOutputs=k),e&&(N.actionInfo={name:"Run Yearly Simulation For Fresnel Reflectors: "+(k?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(N=>{N.runYearlySimulationForFresnelReflectors=!0,N.pauseYearlySimulationForFresnelReflectors=!1,N.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoFresnelReflectorForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Fresnel Reflectors",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runYearlySimulationForFresnelReflectors=!0,k.pauseYearlySimulationForFresnelReflectors=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-fresnel-reflector-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Fresnel Reflector Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-fresnel-reflector-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Fresnel Reflector Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),QFo=Ho.div` +`,KFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=bn(K7t),l=M(Kje),s=bn(qje),c=M(kg),u=M(OAt),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyFresnelReflectorYieldPanelRect||(k.viewState.yearlyFresnelReflectorYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyFresnelReflectorYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyFresnelReflectorYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyFresnelReflectorYieldPanelRect||(j.viewState.yearlyFresnelReflectorYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyFresnelReflectorYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyFresnelReflectorYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyFresnelReflectorYieldPanel=!1,e&&(k.actionInfo={name:"Close Fresnel Reflector Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(z.FresnelReflector);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyFresnelReflectorIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("fresnelReflectorYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlyFresnelReflectorYieldPanel"})},children:h.jsx(GFo,{ref:p,style:{zIndex:f==="yearlyFresnelReflectorYieldPanel"?xc:9},children:h.jsxs(XFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(JFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("fresnelReflectorYieldPanel.FresnelReflectorYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyFresnelReflectorYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("fresnelReflectorYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),E>1&&h.jsx(wc,{title:L("fresnelReflectorYieldPanel.ShowOutputsOfIndividualFresnelReflectors",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:k=>{if(E===0){fn(L("analysisManager.NoFresnelReflectorForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(N=>{N.graphState&&(N.graphState.yearlyFresnelReflectorIndividualOutputs=k),e&&(N.actionInfo={name:"Run Yearly Simulation For Fresnel Reflectors: "+(k?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(N=>{N.runYearlySimulationForFresnelReflectors=!0,N.pauseYearlySimulationForFresnelReflectors=!1,N.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoFresnelReflectorForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Fresnel Reflectors",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runYearlySimulationForFresnelReflectors=!0,k.pauseYearlySimulationForFresnelReflectors=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-fresnel-reflector-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Fresnel Reflector Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-fresnel-reflector-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Fresnel Reflector Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),qFo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9275,7 +9275,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,ZFo=Ho.div` +`,$Fo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9293,7 +9293,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,eLo=Ho.div` +`,QFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9304,7 +9304,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,tLo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(i8t),l=M($je),s=M(GAt),c=bn(Zje),u=gt(vf),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:s?s.width+40:640,A=p.current?p.current.clientHeight+100:s?s.height+100:500,[x,C]=m.useState({x:s?Math.max(s.x,y-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-A):0}),[b,v]=m.useState(0),S=m.useRef(new Map),w=Kt();m.useEffect(()=>{let F=0;S.current.clear();for(const W of a)for(const B in W)Object.hasOwn(W,B)&&B!=="Hour"&&(F+=W[B],S.current.set(B,(S.current.get(B)??0)+W[B]));v(F)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})},[s,y,A]),m.useEffect(()=>{const F=()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[s,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(F=>{p.current&&(F.viewState.dailyHeliostatYieldPanelRect||(F.viewState.dailyHeliostatYieldPanelRect=new ri(0,0,600,400)),F.viewState.dailyHeliostatYieldPanelRect.width=p.current.offsetWidth,F.viewState.dailyHeliostatYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var F;(F=g.current)==null||F.disconnect()}),[]);const T=(F,W)=>{C({x:Math.max(W.x,y-window.innerWidth),y:Math.min(W.y,window.innerHeight-A)})},P=(F,W)=>{o(B=>{B.viewState.dailyHeliostatYieldPanelRect||(B.viewState.dailyHeliostatYieldPanelRect=new ri(0,0,600,400)),B.viewState.dailyHeliostatYieldPanelRect.x=Math.max(W.x,y-window.innerWidth),B.viewState.dailyHeliostatYieldPanelRect.y=Math.min(W.y,window.innerHeight-A)})},R=()=>{o(F=>{F.viewState.showDailyHeliostatYieldPanel=!1,e&&(F.actionInfo={name:"Close Heliostat Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.Heliostat);m.useEffect(()=>{H<2&&l&&o(F=>{F.graphState&&(F.graphState.dailyHeliostatIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),E=D("word.Hour",w),L=D("heliostatYieldPanel.YieldPerHour",w),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:T,onStop:P,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailyHeliostatYieldPanel"})},children:h.jsx(QFo,{ref:f,style:{zIndex:d==="dailyHeliostatYieldPanel"?xc:9},children:h.jsxs(ZFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(eLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("heliostatYieldPanel.HeliostatDailyYield",w)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",w)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",w)})]}),h.jsx(mf,{type:xr.DailyHeliostatYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:E,labelY:L,unitY:D("word.kWh",w),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&S.current.size>0?h.jsx(gl,{title:[...S.current.entries()].map((F,W)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(nt,{span:8,children:F[1].toFixed(3)})]}),W===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",w)+": "+b.toFixed(3)+" "+D("word.kWh",w)})]})]},W)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",w)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("heliostatYieldPanel.DailyTotal",w),":",b.toFixed(2)," ",D("word.kWh",w)]}),H>1&&h.jsx(wc,{title:D("heliostatYieldPanel.ShowOutputsOfIndividualHeliostats",w),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(H===0){fn(D("analysisManager.NoHeliostatForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(W=>{W.graphState&&(W.graphState.dailyHeliostatIndividualOutputs=F),e&&(W.actionInfo={name:"Run Daily Simulation For Heliostats: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(W=>{W.runDailySimulationForHeliostats=!0,W.pauseDailySimulationForHeliostats=!1,W.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:D(U?"word.Run":"word.Update",w),onClick:()=>{if(H===0){fn(D("analysisManager.NoHeliostatForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Heliostats",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runDailySimulationForHeliostats=!0,F.pauseDailySimulationForHeliostats=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",w),onClick:()=>{Hd("line-graph-"+E+"-"+L,"daily-heliostat-yield").then(()=>{fn(D("message.ScreenshotSaved",w)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Heliostat Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",w),onClick:()=>{wh(a,"daily-heliostat-yield.csv"),fn(D("message.CsvFileSaved",w)),e&&o(F=>{F.actionInfo={name:"Export Daily Heliostat Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),nLo=Ho.div` +`,ZFo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(kg),a=bn(n8t),l=M($je),s=M(_At),c=bn(Zje),u=gt(vf),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:s?s.width+40:640,A=p.current?p.current.clientHeight+100:s?s.height+100:500,[x,C]=m.useState({x:s?Math.max(s.x,y-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-A):0}),[b,v]=m.useState(0),S=m.useRef(new Map),w=Kt();m.useEffect(()=>{let F=0;S.current.clear();for(const W of a)for(const B in W)Object.hasOwn(W,B)&&B!=="Hour"&&(F+=W[B],S.current.set(B,(S.current.get(B)??0)+W[B]));v(F)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})},[s,y,A]),m.useEffect(()=>{const F=()=>{C({x:Math.max(s==null?void 0:s.x,y-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-A)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[s,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(F=>{p.current&&(F.viewState.dailyHeliostatYieldPanelRect||(F.viewState.dailyHeliostatYieldPanelRect=new ri(0,0,600,400)),F.viewState.dailyHeliostatYieldPanelRect.width=p.current.offsetWidth,F.viewState.dailyHeliostatYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var F;(F=g.current)==null||F.disconnect()}),[]);const T=(F,W)=>{C({x:Math.max(W.x,y-window.innerWidth),y:Math.min(W.y,window.innerHeight-A)})},P=(F,W)=>{o(B=>{B.viewState.dailyHeliostatYieldPanelRect||(B.viewState.dailyHeliostatYieldPanelRect=new ri(0,0,600,400)),B.viewState.dailyHeliostatYieldPanelRect.x=Math.max(W.x,y-window.innerWidth),B.viewState.dailyHeliostatYieldPanelRect.y=Math.min(W.y,window.innerHeight-A)})},R=()=>{o(F=>{F.viewState.showDailyHeliostatYieldPanel=!1,e&&(F.actionInfo={name:"Close Heliostat Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.Heliostat);m.useEffect(()=>{H<2&&l&&o(F=>{F.graphState&&(F.graphState.dailyHeliostatIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),E=D("word.Hour",w),L=D("heliostatYieldPanel.YieldPerHour",w),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:T,onStop:P,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailyHeliostatYieldPanel"})},children:h.jsx(qFo,{ref:f,style:{zIndex:d==="dailyHeliostatYieldPanel"?xc:9},children:h.jsxs($Fo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(QFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("heliostatYieldPanel.HeliostatDailyYield",w)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",w)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",w)})]}),h.jsx(mf,{type:xr.DailyHeliostatYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:E,labelY:L,unitY:D("word.kWh",w),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&S.current.size>0?h.jsx(gl,{title:[...S.current.entries()].map((F,W)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(nt,{span:8,children:F[1].toFixed(3)})]}),W===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",w)+": "+b.toFixed(3)+" "+D("word.kWh",w)})]})]},W)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",w)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("heliostatYieldPanel.DailyTotal",w),":",b.toFixed(2)," ",D("word.kWh",w)]}),H>1&&h.jsx(wc,{title:D("heliostatYieldPanel.ShowOutputsOfIndividualHeliostats",w),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(H===0){fn(D("analysisManager.NoHeliostatForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(W=>{W.graphState&&(W.graphState.dailyHeliostatIndividualOutputs=F),e&&(W.actionInfo={name:"Run Daily Simulation For Heliostats: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(W=>{W.runDailySimulationForHeliostats=!0,W.pauseDailySimulationForHeliostats=!1,W.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:D(U?"word.Run":"word.Update",w),onClick:()=>{if(H===0){fn(D("analysisManager.NoHeliostatForAnalysis",w));return}fn(D("message.SimulationStarted",w)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Heliostats",timestamp:new Date().getTime()})}),gt.getState().set(F=>{F.runDailySimulationForHeliostats=!0,F.pauseDailySimulationForHeliostats=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",w),onClick:()=>{Hd("line-graph-"+E+"-"+L,"daily-heliostat-yield").then(()=>{fn(D("message.ScreenshotSaved",w)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Heliostat Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",w),onClick:()=>{wh(a,"daily-heliostat-yield.csv"),fn(D("message.CsvFileSaved",w)),e&&o(F=>{F.actionInfo={name:"Export Daily Heliostat Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),eLo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9313,7 +9313,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,oLo=Ho.div` +`,tLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9331,7 +9331,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,iLo=Ho.div` +`,nLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9342,7 +9342,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,rLo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=bn(a8t),l=M(Qje),s=bn(Zje),c=M(kg),u=M(JAt),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyHeliostatYieldPanelRect||(k.viewState.yearlyHeliostatYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyHeliostatYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyHeliostatYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyHeliostatYieldPanelRect||(j.viewState.yearlyHeliostatYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyHeliostatYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyHeliostatYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyHeliostatYieldPanel=!1,e&&(k.actionInfo={name:"Close Heliostat Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(z.Heliostat);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyHeliostatIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("heliostatYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlyHeliostatYieldPanel"})},children:h.jsx(nLo,{ref:p,style:{zIndex:f==="yearlyHeliostatYieldPanel"?xc:9},children:h.jsxs(oLo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(iLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("heliostatYieldPanel.HeliostatYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyHeliostatYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("heliostatYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),E>1&&h.jsx(wc,{title:L("heliostatYieldPanel.ShowOutputsOfIndividualHeliostats",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:k=>{if(E===0){fn(L("analysisManager.NoHeliostatForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(N=>{N.graphState&&(N.graphState.yearlyHeliostatIndividualOutputs=k),e&&(N.actionInfo={name:"Run Yearly Simulation For Heliostats: "+(k?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(N=>{N.runYearlySimulationForHeliostats=!0,N.pauseYearlySimulationForHeliostats=!1,N.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoHeliostatForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Heliostats",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runYearlySimulationForHeliostats=!0,k.pauseYearlySimulationForHeliostats=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-heliostat-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Heliostat Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-heliostat-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Heliostat Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),aLo=Se.memo(({dataSource:t,height:e,dataKeyAxisX:n,labelX:o,labelY1:i,labelY2:r,unitX:a,unitY1:l,unitY2:s,yMin1:c="auto",yMax1:u="auto",yMin2:d="auto",yMax2:f="auto",curveType:p="linear",referenceX:g,fractionDigits:y=2,symbolCount:A=12})=>{const[x,C]=m.useState(0),[b,v]=m.useState(null),S=!0,w=!0,T=2,P=1;m.useEffect(()=>{if(!t||t.length===0)return;let L=Array.isArray(t)?Object.keys(t[0]).length-1:Object.keys(t).length-1;L--,x!==L/2&&C(L/2)},[t]);const R=m.useMemo(()=>{const L=[];let U;L.push(h.jsx(vg,{yAxisId:"left",type:p,name:"T_Ambient",dataKey:"T_Ambient",stroke:$1[0],strokeDasharray:"5 5",opacity:.5,strokeWidth:T,dot:!1,isAnimationActive:!1},"ambient-temperature"));for(let F=0;F0?k||U:!1,isAnimationActive:!1},"left-"+F)),W="V_Tower"+(F+1),B=b===null||b===W?1:.25,k=Hx(Mx[2*F+1],P,t.length,A,B),L.push(h.jsx(vg,{yAxisId:"right",type:p,name:W,dataKey:W,stroke:$1[2*F+1],opacity:B,strokeWidth:T,dot:A>0?k||U:!1,isAnimationActive:!1},"right-"+F))}return L},[p,x,T,A,P,b]),H=()=>{},D=L=>{v(L.dataKey)},E=()=>{v(null)};return h.jsx(h.Fragment,{children:t&&h.jsx("div",{id:"biaxial-line-graph-"+o+"-"+i+"-"+r,style:{width:"100%",height:`${e}%`,position:"relative",direction:"ltr"},children:h.jsx("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(D3e,{data:t,onMouseDown:H,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:L=>L.toFixed(y)}),h.jsx(A7,{vertical:w,horizontal:S,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{yAxisId:"left",x:g,stroke:"orange",strokeWidth:2}),h.jsx(e1,{dataKey:n??o,fontSize:"10px",children:h.jsx(Zl,{value:o+(a?" ("+a+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[c,u],yAxisId:"left",fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:i+(l?" ("+l+")":""),offset:0,angle:-90,position:"center"})}),h.jsx(gh,{domain:[d,f],yAxisId:"right",orientation:"right",fontSize:"10px",children:h.jsx(Zl,{dx:15,value:r+(s?" ("+s+")":""),offset:0,angle:-90,position:"center"})}),R,x>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:E,onMouseEnter:D})]})})})})})}),lLo=Ho.div` +`,oLo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=bn(i8t),l=M(Qje),s=bn(Zje),c=M(kg),u=M(GAt),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyHeliostatYieldPanelRect||(k.viewState.yearlyHeliostatYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyHeliostatYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyHeliostatYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyHeliostatYieldPanelRect||(j.viewState.yearlyHeliostatYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyHeliostatYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyHeliostatYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyHeliostatYieldPanel=!1,e&&(k.actionInfo={name:"Close Heliostat Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(z.Heliostat);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyHeliostatIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("heliostatYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlyHeliostatYieldPanel"})},children:h.jsx(eLo,{ref:p,style:{zIndex:f==="yearlyHeliostatYieldPanel"?xc:9},children:h.jsxs(tLo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(nLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("heliostatYieldPanel.HeliostatYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyHeliostatYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("heliostatYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),E>1&&h.jsx(wc,{title:L("heliostatYieldPanel.ShowOutputsOfIndividualHeliostats",P),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:k=>{if(E===0){fn(L("analysisManager.NoHeliostatForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(N=>{N.graphState&&(N.graphState.yearlyHeliostatIndividualOutputs=k),e&&(N.actionInfo={name:"Run Yearly Simulation For Heliostats: "+(k?"Individual":"Total"),timestamp:new Date().getTime()})}),gt.getState().set(N=>{N.runYearlySimulationForHeliostats=!0,N.pauseYearlySimulationForHeliostats=!1,N.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoHeliostatForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Heliostats",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runYearlySimulationForHeliostats=!0,k.pauseYearlySimulationForHeliostats=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-heliostat-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Heliostat Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-heliostat-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Heliostat Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),iLo=Se.memo(({dataSource:t,height:e,dataKeyAxisX:n,labelX:o,labelY1:i,labelY2:r,unitX:a,unitY1:l,unitY2:s,yMin1:c="auto",yMax1:u="auto",yMin2:d="auto",yMax2:f="auto",curveType:p="linear",referenceX:g,fractionDigits:y=2,symbolCount:A=12})=>{const[x,C]=m.useState(0),[b,v]=m.useState(null),S=!0,w=!0,T=2,P=1;m.useEffect(()=>{if(!t||t.length===0)return;let L=Array.isArray(t)?Object.keys(t[0]).length-1:Object.keys(t).length-1;L--,x!==L/2&&C(L/2)},[t]);const R=m.useMemo(()=>{const L=[];let U;L.push(h.jsx(xg,{yAxisId:"left",type:p,name:"T_Ambient",dataKey:"T_Ambient",stroke:Q1[0],strokeDasharray:"5 5",opacity:.5,strokeWidth:T,dot:!1,isAnimationActive:!1},"ambient-temperature"));for(let F=0;F0?k||U:!1,isAnimationActive:!1},"left-"+F)),W="V_Tower"+(F+1),B=b===null||b===W?1:.25,k=Hx(Mx[2*F+1],P,t.length,A,B),L.push(h.jsx(xg,{yAxisId:"right",type:p,name:W,dataKey:W,stroke:Q1[2*F+1],opacity:B,strokeWidth:T,dot:A>0?k||U:!1,isAnimationActive:!1},"right-"+F))}return L},[p,x,T,A,P,b]),H=()=>{},D=L=>{v(L.dataKey)},E=()=>{v(null)};return h.jsx(h.Fragment,{children:t&&h.jsx("div",{id:"biaxial-line-graph-"+o+"-"+i+"-"+r,style:{width:"100%",height:`${e}%`,position:"relative",direction:"ltr"},children:h.jsx("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(D3e,{data:t,onMouseDown:H,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:L=>L.toFixed(y)}),h.jsx(A7,{vertical:w,horizontal:S,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{yAxisId:"left",x:g,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:n??o,fontSize:"10px",children:h.jsx(Zl,{value:o+(a?" ("+a+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[c,u],yAxisId:"left",fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:i+(l?" ("+l+")":""),offset:0,angle:-90,position:"center"})}),h.jsx(gh,{domain:[d,f],yAxisId:"right",orientation:"right",fontSize:"10px",children:h.jsx(Zl,{dx:15,value:r+(s?" ("+s+")":""),offset:0,angle:-90,position:"center"})}),R,x>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:E,onMouseEnter:D})]})})})})})}),rLo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9351,7 +9351,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,sLo=Ho.div` +`,aLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9369,7 +9369,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,cLo=Ho.div` +`,lLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9380,7 +9380,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,uLo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Mje),a=bn(f8t),l=bn(d8t),s=M(h8t),c=M(KAt),u=bn(nYe),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:c?c.width+40:680,x=g.current?g.current.clientHeight+100:c?c.height+100:650,[C,b]=m.useState({x:c?Math.max(c.x,A-window.innerWidth):0,y:c?Math.min(c.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Hour"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(c==null?void 0:c.x,A-window.innerWidth),y:Math.min(c==null?void 0:c.y,window.innerHeight-x)})},[c,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(c==null?void 0:c.x,A-window.innerWidth),y:Math.min(c==null?void 0:c.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[c,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.dailyUpdraftTowerYieldPanelRect||(k.viewState.dailyUpdraftTowerYieldPanelRect=new ri(0,0,640,550)),k.viewState.dailyUpdraftTowerYieldPanelRect.width=g.current.offsetWidth,k.viewState.dailyUpdraftTowerYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const P=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},R=(k,N)=>{o(j=>{j.viewState.dailyUpdraftTowerYieldPanelRect||(j.viewState.dailyUpdraftTowerYieldPanelRect=new ri(0,0,640,550)),j.viewState.dailyUpdraftTowerYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.dailyUpdraftTowerYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},H=()=>{o(k=>{k.viewState.showDailyUpdraftTowerYieldPanel=!1,e&&(k.actionInfo={name:"Close Solar Updraft Tower Daily Yield Graph",timestamp:new Date().getTime()})})},D=r(zn.UpdraftTower);m.useEffect(()=>{D<2&&s&&o(k=>{k.graphState&&(k.graphState.dailyUpdraftTowerIndividualOutputs=!1)})},[D,s]);const{t:E}=jl(),L=E("word.Hour",T),U=E("updraftTowerYieldPanel.YieldPerHour",T),F=E("updraftTowerYieldPanel.ChimneyAirTemperature",T),W=E("updraftTowerYieldPanel.ChimneyWindSpeed",T),B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:P,onStop:R,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"})},children:h.jsx(lLo,{ref:p,style:{zIndex:f==="dailySolarUpdraftTowerYieldPanel"?xc:9},children:h.jsxs(sLo,{ref:g,style:{opacity:n,width:(c?c.width:640)+"px",height:(c?c.height:550)+"px"},children:[h.jsxs(cLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[E("updraftTowerYieldPanel.UpdraftTowerDailyYield",T)+": ",h.jsx("span",{style:{fontSize:"10px"},children:E("sensorPanel.WeatherDataFrom",T)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{H()},onMouseDown:()=>{H()},children:E("word.Close",T)})]}),h.jsx(mf,{type:xr.DailyUpdraftTowerYield,chartType:s?Pl.Line:Pl.Area,dataSource:a,labels:u,height:100,dataKeyAxisX:"Hour",labelX:L,labelY:U,unitY:E("word.kWh",T),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),h.jsx(aLo,{dataSource:l,height:100,dataKeyAxisX:"Hour",labelX:L,labelY1:F,labelY2:W,unitY1:"°C",unitY2:E("word.MeterPerSecond",T),yMin1:0,yMin2:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[D>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:k[1].toFixed(3)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:E("word.Total",T)+": "+v.toFixed(3)+" "+E("word.kWh",T)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:E("shared.OutputBreakdown",T)})}):h.jsxs(en,{style:{cursor:"default"},children:[E("updraftTowerYieldPanel.DailyTotal",T),":",v.toFixed(2)," ",E("word.kWh",T)]}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:E(B?"word.Run":"word.Update",T),onClick:()=>{if(D===0){fn(E("analysisManager.NoSolarUpdraftTowerForAnalysis",T));return}fn(E("message.SimulationStarted",T)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Daily Simulation For Solar Updraft Tower",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runDailySimulationForUpdraftTower=!0,k.pauseDailySimulationForUpdraftTower=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:E("word.SaveAsImage",T),onClick:()=>{Hd("line-graph-"+L+"-"+U,"daily-updraft-tower-yield").then(()=>{fn(E("message.ScreenshotSaved",T)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Daily Updraft Tower Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:E("word.SaveAsCsv",T),onClick:()=>{wh(a,"daily-updraft-tower-yield.csv"),fn(E("message.CsvFileSaved",T)),e&&o(k=>{k.actionInfo={name:"Export Daily Updraft Tower Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),dLo=Ho.div` +`,sLo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Mje),a=bn(u8t),l=bn(c8t),s=M(d8t),c=M(XAt),u=bn(nYe),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:c?c.width+40:680,x=g.current?g.current.clientHeight+100:c?c.height+100:650,[C,b]=m.useState({x:c?Math.max(c.x,A-window.innerWidth):0,y:c?Math.min(c.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Hour"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(c==null?void 0:c.x,A-window.innerWidth),y:Math.min(c==null?void 0:c.y,window.innerHeight-x)})},[c,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(c==null?void 0:c.x,A-window.innerWidth),y:Math.min(c==null?void 0:c.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[c,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.dailyUpdraftTowerYieldPanelRect||(k.viewState.dailyUpdraftTowerYieldPanelRect=new ri(0,0,640,550)),k.viewState.dailyUpdraftTowerYieldPanelRect.width=g.current.offsetWidth,k.viewState.dailyUpdraftTowerYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const P=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},R=(k,N)=>{o(j=>{j.viewState.dailyUpdraftTowerYieldPanelRect||(j.viewState.dailyUpdraftTowerYieldPanelRect=new ri(0,0,640,550)),j.viewState.dailyUpdraftTowerYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.dailyUpdraftTowerYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},H=()=>{o(k=>{k.viewState.showDailyUpdraftTowerYieldPanel=!1,e&&(k.actionInfo={name:"Close Solar Updraft Tower Daily Yield Graph",timestamp:new Date().getTime()})})},D=r(zn.UpdraftTower);m.useEffect(()=>{D<2&&s&&o(k=>{k.graphState&&(k.graphState.dailyUpdraftTowerIndividualOutputs=!1)})},[D,s]);const{t:E}=jl(),L=E("word.Hour",T),U=E("updraftTowerYieldPanel.YieldPerHour",T),F=E("updraftTowerYieldPanel.ChimneyAirTemperature",T),W=E("updraftTowerYieldPanel.ChimneyWindSpeed",T),B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:P,onStop:R,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"})},children:h.jsx(rLo,{ref:p,style:{zIndex:f==="dailySolarUpdraftTowerYieldPanel"?xc:9},children:h.jsxs(aLo,{ref:g,style:{opacity:n,width:(c?c.width:640)+"px",height:(c?c.height:550)+"px"},children:[h.jsxs(lLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[E("updraftTowerYieldPanel.UpdraftTowerDailyYield",T)+": ",h.jsx("span",{style:{fontSize:"10px"},children:E("sensorPanel.WeatherDataFrom",T)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{H()},onMouseDown:()=>{H()},children:E("word.Close",T)})]}),h.jsx(mf,{type:xr.DailyUpdraftTowerYield,chartType:s?Pl.Line:Pl.Area,dataSource:a,labels:u,height:100,dataKeyAxisX:"Hour",labelX:L,labelY:U,unitY:E("word.kWh",T),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),h.jsx(iLo,{dataSource:l,height:100,dataKeyAxisX:"Hour",labelX:L,labelY1:F,labelY2:W,unitY1:"°C",unitY2:E("word.MeterPerSecond",T),yMin1:0,yMin2:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[D>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:k[1].toFixed(3)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:E("word.Total",T)+": "+v.toFixed(3)+" "+E("word.kWh",T)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:E("shared.OutputBreakdown",T)})}):h.jsxs(en,{style:{cursor:"default"},children:[E("updraftTowerYieldPanel.DailyTotal",T),":",v.toFixed(2)," ",E("word.kWh",T)]}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:E(B?"word.Run":"word.Update",T),onClick:()=>{if(D===0){fn(E("analysisManager.NoSolarUpdraftTowerForAnalysis",T));return}fn(E("message.SimulationStarted",T)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Daily Simulation For Solar Updraft Tower",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.runDailySimulationForUpdraftTower=!0,k.pauseDailySimulationForUpdraftTower=!1,k.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:E("word.SaveAsImage",T),onClick:()=>{Hd("line-graph-"+L+"-"+U,"daily-updraft-tower-yield").then(()=>{fn(E("message.ScreenshotSaved",T)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Daily Updraft Tower Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:E("word.SaveAsCsv",T),onClick:()=>{wh(a,"daily-updraft-tower-yield.csv"),fn(E("message.CsvFileSaved",T)),e&&o(k=>{k.actionInfo={name:"Export Daily Updraft Tower Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),cLo=Ho.div` position: fixed; top: 80px; left: 10px; @@ -9389,7 +9389,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 10; -`,fLo=Ho.div` +`,uLo=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -9406,7 +9406,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-x: auto; overflow-y: auto; resize: both; -`,hLo=Ho.div` +`,dLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9417,7 +9417,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,pLo=Se.memo(({city:t})=>{const e=M(En),n=M(pu)??m0,o=M(dn),i=M(Ya),r=M(Xs),a=M(e4t),l=M(FBe)??u2.Sinusoidal,s=M(KL)??900,c=M(xAt),u=M(bc),d=Se.useRef(null),f=m.useRef(null),p=m.useRef(),g=f.current?f.current.clientWidth+40:c?c.width+40:640,y=f.current?f.current.clientHeight+100:c?c.height+100:500,[A,x]=m.useState({x:c?Math.min(c.x,window.innerWidth-g):0,y:c?Math.min(c.y,window.innerHeight-y):0}),[C,b]=m.useState(l),v=new Date(i),S=Kt(),w=r1(t);m.useEffect(()=>{x({x:Math.min(c==null?void 0:c.x,window.innerWidth-g),y:Math.min(c==null?void 0:c.y,window.innerHeight-y)})},[c,g,y]),m.useEffect(()=>{const E=()=>{x({x:Math.min(c==null?void 0:c.x,window.innerWidth-g),y:Math.min(c==null?void 0:c.y,window.innerHeight-y)})};return window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E)}},[c,g,y]),m.useEffect(()=>(f.current&&(p.current||(p.current=new ResizeObserver(()=>{o(E=>{f.current&&(E.viewState.diurnalTemperaturePanelRect||(E.viewState.diurnalTemperaturePanelRect=new ri(0,0,600,400)),E.viewState.diurnalTemperaturePanelRect.width=f.current.offsetWidth,E.viewState.diurnalTemperaturePanelRect.height=f.current.offsetHeight)})})),p.current.observe(f.current)),()=>{var E;(E=p.current)==null||E.disconnect()}),[]);const T=m.useMemo(()=>{const E=[];if(w){const L=sl(v,r);for(let U=0;U<24;U++){v.setHours(U);const F=Jx(v,w.lowestTemperatures,w.highestTemperatures),W=be.minutesIntoDay(v);E.push({Hour:U,Sinusoidal:Xx(F.high,F.low,u2.Sinusoidal,s,L,W),PartonLogan:Xx(F.high,F.low,u2.PartonLogan,s,L,W),Ground:Z$e(r,be.dayOfYear(v),W,w.lowestTemperatures,w.highestTemperatures,s,.5*(F.high-F.low),a.thermalDiffusivity??.05,JNe)})}}return E},[w,s,i,r,a.thermalDiffusivity]),P=(E,L)=>{x({x:Math.min(L.x,window.innerWidth-g),y:Math.min(L.y,window.innerHeight-y)})},R=(E,L)=>{o(U=>{U.viewState.diurnalTemperaturePanelRect||(U.viewState.diurnalTemperaturePanelRect=new ri(0,0,600,400)),U.viewState.diurnalTemperaturePanelRect.x=Math.min(L.x,window.innerWidth-g),U.viewState.diurnalTemperaturePanelRect.y=Math.min(L.y,window.innerHeight-y)})},H=()=>{const E={name:"Close Diurnal Temperature Panel",timestamp:Date.now(),undo:()=>{o(L=>{L.viewState.showDiurnalTemperaturePanel=!0})},redo:()=>{o(L=>{L.viewState.showDiurnalTemperaturePanel=!1})}};e(E),o(L=>{L.viewState.showDiurnalTemperaturePanel=!1})},D=E=>{const L=C,U=E.target.value,F={name:"Change Diurnal Temperature Model",timestamp:Date.now(),oldValue:L,newValue:U,undo:()=>{b(F.oldValue),o(W=>{W.world.diurnalTemperatureModel=F.oldValue})},redo:()=>{b(F.newValue),o(W=>{W.world.diurnalTemperatureModel=F.newValue})}};e(F),b(U),o(W=>{W.world.diurnalTemperatureModel=U})};return h.jsx(Vr,{nodeRef:d,handle:".handle",bounds:"parent",axis:"both",position:A,onDrag:P,onStop:R,onMouseDown:()=>{o(E=>{E.selectedFloatingWindow="diurnalTemperaturePanel"})},children:h.jsx(dLo,{ref:d,style:{zIndex:u==="diurnalTemperaturePanel"?xc:10},children:h.jsxs(fLo,{ref:f,style:{opacity:n,width:(c?c.width:600)+"px",height:(c?c.height:400)+"px"},children:[h.jsxs(hLo,{className:"handle",children:[h.jsx("span",{children:O.t("menu.settings.DiurnalTemperature",S)+": "+t+" | "+gc(v).format("MM/DD")}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{H()},onMouseDown:()=>{H()},children:O.t("word.Close",S)})]}),h.jsx(mf,{chartType:Pl.Line,type:xr.HourlyTemperatures,selectedIndex:C-u2.Sinusoidal,dataSource:T,height:100,dataKeyAxisX:"Hour",labelX:O.t("word.Hour",S),labelY:O.t("word.Temperature",S),unitY:"°C",fractionDigits:1,referenceX:v.getHours()}),h.jsxs(en,{style:{alignSelf:"center"},children:[h.jsx(en,{children:O.t("diurnalTemperaturePanel.SelectAirTemperatureModel",S)}),h.jsxs(Be.Group,{onChange:D,value:C,style:{display:"flex"},children:[h.jsx(Be,{style:{width:"auto"},value:u2.Sinusoidal,children:O.t("diurnalTemperaturePanel.Sinusoidal",S)}),h.jsx(Be,{style:{width:"auto"},value:u2.PartonLogan,children:"Parton-Logan"})]})]})]})})})}),gLo=Ho.div` +`,fLo=Se.memo(({city:t})=>{const e=M(En),n=M(pu)??m0,o=M(dn),i=M(Ya),r=M(Xs),a=M(QAt),l=M(FBe)??u2.Sinusoidal,s=M(KL)??900,c=M(wAt),u=M(bc),d=Se.useRef(null),f=m.useRef(null),p=m.useRef(),g=f.current?f.current.clientWidth+40:c?c.width+40:640,y=f.current?f.current.clientHeight+100:c?c.height+100:500,[A,x]=m.useState({x:c?Math.min(c.x,window.innerWidth-g):0,y:c?Math.min(c.y,window.innerHeight-y):0}),[C,b]=m.useState(l),v=new Date(i),S=Kt(),w=a1(t);m.useEffect(()=>{x({x:Math.min(c==null?void 0:c.x,window.innerWidth-g),y:Math.min(c==null?void 0:c.y,window.innerHeight-y)})},[c,g,y]),m.useEffect(()=>{const E=()=>{x({x:Math.min(c==null?void 0:c.x,window.innerWidth-g),y:Math.min(c==null?void 0:c.y,window.innerHeight-y)})};return window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E)}},[c,g,y]),m.useEffect(()=>(f.current&&(p.current||(p.current=new ResizeObserver(()=>{o(E=>{f.current&&(E.viewState.diurnalTemperaturePanelRect||(E.viewState.diurnalTemperaturePanelRect=new ri(0,0,600,400)),E.viewState.diurnalTemperaturePanelRect.width=f.current.offsetWidth,E.viewState.diurnalTemperaturePanelRect.height=f.current.offsetHeight)})})),p.current.observe(f.current)),()=>{var E;(E=p.current)==null||E.disconnect()}),[]);const T=m.useMemo(()=>{const E=[];if(w){const L=sl(v,r);for(let U=0;U<24;U++){v.setHours(U);const F=Jx(v,w.lowestTemperatures,w.highestTemperatures),W=be.minutesIntoDay(v);E.push({Hour:U,Sinusoidal:Xx(F.high,F.low,u2.Sinusoidal,s,L,W),PartonLogan:Xx(F.high,F.low,u2.PartonLogan,s,L,W),Ground:Z$e(r,be.dayOfYear(v),W,w.lowestTemperatures,w.highestTemperatures,s,.5*(F.high-F.low),a.thermalDiffusivity??.05,JNe)})}}return E},[w,s,i,r,a.thermalDiffusivity]),P=(E,L)=>{x({x:Math.min(L.x,window.innerWidth-g),y:Math.min(L.y,window.innerHeight-y)})},R=(E,L)=>{o(U=>{U.viewState.diurnalTemperaturePanelRect||(U.viewState.diurnalTemperaturePanelRect=new ri(0,0,600,400)),U.viewState.diurnalTemperaturePanelRect.x=Math.min(L.x,window.innerWidth-g),U.viewState.diurnalTemperaturePanelRect.y=Math.min(L.y,window.innerHeight-y)})},H=()=>{const E={name:"Close Diurnal Temperature Panel",timestamp:Date.now(),undo:()=>{o(L=>{L.viewState.showDiurnalTemperaturePanel=!0})},redo:()=>{o(L=>{L.viewState.showDiurnalTemperaturePanel=!1})}};e(E),o(L=>{L.viewState.showDiurnalTemperaturePanel=!1})},D=E=>{const L=C,U=E.target.value,F={name:"Change Diurnal Temperature Model",timestamp:Date.now(),oldValue:L,newValue:U,undo:()=>{b(F.oldValue),o(W=>{W.world.diurnalTemperatureModel=F.oldValue})},redo:()=>{b(F.newValue),o(W=>{W.world.diurnalTemperatureModel=F.newValue})}};e(F),b(U),o(W=>{W.world.diurnalTemperatureModel=U})};return h.jsx(Vr,{nodeRef:d,handle:".handle",bounds:"parent",axis:"both",position:A,onDrag:P,onStop:R,onMouseDown:()=>{o(E=>{E.selectedFloatingWindow="diurnalTemperaturePanel"})},children:h.jsx(cLo,{ref:d,style:{zIndex:u==="diurnalTemperaturePanel"?xc:10},children:h.jsxs(uLo,{ref:f,style:{opacity:n,width:(c?c.width:600)+"px",height:(c?c.height:400)+"px"},children:[h.jsxs(dLo,{className:"handle",children:[h.jsx("span",{children:O.t("menu.settings.DiurnalTemperature",S)+": "+t+" | "+gc(v).format("MM/DD")}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{H()},onMouseDown:()=>{H()},children:O.t("word.Close",S)})]}),h.jsx(mf,{chartType:Pl.Line,type:xr.HourlyTemperatures,selectedIndex:C-u2.Sinusoidal,dataSource:T,height:100,dataKeyAxisX:"Hour",labelX:O.t("word.Hour",S),labelY:O.t("word.Temperature",S),unitY:"°C",fractionDigits:1,referenceX:v.getHours()}),h.jsxs(en,{style:{alignSelf:"center"},children:[h.jsx(en,{children:O.t("diurnalTemperaturePanel.SelectAirTemperatureModel",S)}),h.jsxs(Be.Group,{onChange:D,value:C,style:{display:"flex"},children:[h.jsx(Be,{style:{width:"auto"},value:u2.Sinusoidal,children:O.t("diurnalTemperaturePanel.Sinusoidal",S)}),h.jsx(Be,{style:{width:"auto"},value:u2.PartonLogan,children:"Parton-Logan"})]})]})]})})})}),hLo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9426,7 +9426,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,mLo=Ho.div` +`,pLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9444,7 +9444,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,yLo=Ho.div` +`,gLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9455,7 +9455,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,ALo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(LBe)??6,r=new Date(M(Ya)),a=bn(m8t),l=M(y8t),s=bn(nYe),c=M(Mje),u=M($At),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyUpdraftTowerYieldPanelRect||(k.viewState.yearlyUpdraftTowerYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyUpdraftTowerYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyUpdraftTowerYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyUpdraftTowerYieldPanelRect||(j.viewState.yearlyUpdraftTowerYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyUpdraftTowerYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyUpdraftTowerYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyUpdraftTowerYieldPanel=!1,e&&(k.actionInfo={name:"Close Solar Updraft Tower Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(zn.UpdraftTower);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyUpdraftTowerIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("updraftTowerYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"})},children:h.jsx(gLo,{ref:p,style:{zIndex:f==="yearlySolarUpdraftTowerYieldPanel"?xc:9},children:h.jsxs(mLo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(yLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("updraftTowerYieldPanel.UpdraftTowerYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyUpdraftTowerYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("updraftTowerYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoSolarUpdraftTowerForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Solar Updraft Tower",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.simulationInProgress=!0,k.runYearlySimulationForUpdraftTower=!0,k.pauseYearlySimulationForUpdraftTower=!1})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-updraft-tower-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Updraft Tower Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-updraft-tower-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Updraft Tower Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),wLo=({dataSource:t,labels:e,height:n,dataKeyAxisX:o,labelX:i,labelY1:r,labelY2:a,unitX:l,unitY1:s,unitY2:c,yMin1:u="auto",yMax1:d="auto",yMin2:f="auto",yMax2:p="auto",curveType:g="linear",referenceX:y,fractionDigits:A=2})=>{const x=M(Eq),[C,b]=m.useState(null),v=!0,S=!0,w=2,T=1,P=m.useRef([]),R=m.useMemo(()=>{if(!t||t.length===0)return[];const L=Object.keys(t[0]).length-1,U=t[1]?Object.keys(t[1]).length-1:L,F=t.length,W=[],B=L-1,k=(U-L)/B;let N;P.current.length=0;for(let j=0;j0?J||N:!1,isAnimationActive:!1},"left-"+j)),P.current.push({id:Y,type:"line",value:Y,color:$1[j]})}else if(j===B){const Y="Objective",_=C===null||C===Y?1:.25,J=Hx(Mx[j],T,t.length,F,_);W.push(h.jsx(vg,{yAxisId:"right",type:g,name:Y,dataKey:Y,stroke:$1[j],opacity:_,strokeWidth:w,dot:F>0?J||N:!1,isAnimationActive:!1},"right")),P.current.push({id:Y,type:"line",value:Y,color:$1[B]})}else{const Y=Math.floor((j-L)/k),_="Individual"+(j+1),J=.5,Q=Hx(Mx[Y],T*.5,t.length,F,J,$1[Y]);W.push(h.jsx(vg,{yAxisId:"left",type:g,name:_,dataKey:_,opacity:J,stroke:$1[Y],strokeWidth:0,dot:Q||N,isAnimationActive:!1},"left-"+j))}return W},[t,g,w,T,C]),H=()=>{},D=L=>{b(L.id)},E=()=>{b(null)};return h.jsx(h.Fragment,{children:t&&h.jsx("div",{id:"biaxial-line-graph-"+i+"-"+r+"-"+a,style:{width:"100%",height:`${n}%`,position:"relative",direction:"ltr"},children:h.jsx("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(D3e,{data:t,onMouseDown:H,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:L=>L.toFixed(A),content:({active:L,payload:U})=>!L||!U?null:U.map(F=>{var W;if(!((W=F.name)!=null&&W.toString().startsWith("Individual"))){let B;return F.name==="Tilt Angle"?B=be.toDegrees(F.value*(x.maximumTiltAngle-x.minimumTiltAngle)+x.minimumTiltAngle).toFixed(A)+"°":F.name==="Inter-Row Spacing"?B=(F.value*(x.maximumInterRowSpacing-x.minimumInterRowSpacing)+x.minimumInterRowSpacing).toFixed(A)+"m":F.name==="Rack Width"?B=Math.floor(F.value*(x.maximumRowsPerRack-x.minimumRowsPerRack)+x.minimumRowsPerRack)+" panels":F.name==="Objective"?B=F.value.toFixed(A)+" "+c:B=F.value.toFixed(A),h.jsxs("div",{children:[F.name,": ",B]},F.name)}return null})}),h.jsx(A7,{vertical:S,horizontal:v,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{yAxisId:"left",x:y,stroke:"orange",strokeWidth:2}),h.jsx(e1,{dataKey:o??i,style:{fontSize:"10px"},children:h.jsx(Zl,{value:i+(l?" ("+l+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[u,d],yAxisId:"left",style:{fontSize:"10px"},children:h.jsx(Zl,{dx:-20,value:r+(s?" ("+s+")":""),offset:0,angle:-90,position:"center"})}),h.jsx(gh,{domain:[f,p],yAxisId:"right",orientation:"right",style:{fontSize:"10px"},children:h.jsx(Zl,{dx:30,value:a+(c?" ("+c+")":""),offset:0,angle:-90,position:"center"})}),R,h.jsx(j2,{payload:P.current,iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:E,onMouseEnter:D})]})})})})})},vLo=Ho.div` +`,mLo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(LBe)??6,r=new Date(M(Ya)),a=bn(p8t),l=M(g8t),s=bn(nYe),c=M(Mje),u=M(KAt),d=gt(vf),f=M(bc),p=Se.useRef(null),g=m.useRef(null),y=m.useRef(),A=g.current?g.current.clientWidth+40:u?u.width+40:640,x=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,b]=m.useState({x:u?Math.max(u.x,A-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-x):0}),[v,S]=m.useState(0),w=m.useRef(new Map),T=Ps[r.getMonth()],P=Kt();m.useEffect(()=>{let k=0;w.current.clear();for(const N of a)for(const j in N)Object.hasOwn(N,j)&&j!=="Month"&&(k+=N[j],w.current.set(j,(w.current.get(j)??0)+N[j]));S(k)},[a]),m.useEffect(()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})},[u,A,x]),m.useEffect(()=>{const k=()=>{b({x:Math.max(u==null?void 0:u.x,A-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-x)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[u,A,x]),m.useEffect(()=>(g.current&&(y.current||(y.current=new ResizeObserver(()=>{o(k=>{g.current&&(k.viewState.yearlyUpdraftTowerYieldPanelRect||(k.viewState.yearlyUpdraftTowerYieldPanelRect=new ri(0,0,600,400)),k.viewState.yearlyUpdraftTowerYieldPanelRect.width=g.current.offsetWidth,k.viewState.yearlyUpdraftTowerYieldPanelRect.height=g.current.offsetHeight)})})),y.current.observe(g.current)),()=>{var k;(k=y.current)==null||k.disconnect()}),[]);const R=(k,N)=>{b({x:Math.max(N.x,A-window.innerWidth),y:Math.min(N.y,window.innerHeight-x)})},H=(k,N)=>{o(j=>{j.viewState.yearlyUpdraftTowerYieldPanelRect||(j.viewState.yearlyUpdraftTowerYieldPanelRect=new ri(0,0,600,400)),j.viewState.yearlyUpdraftTowerYieldPanelRect.x=Math.max(N.x,A-window.innerWidth),j.viewState.yearlyUpdraftTowerYieldPanelRect.y=Math.min(N.y,window.innerHeight-x)})},D=()=>{o(k=>{k.viewState.showYearlyUpdraftTowerYieldPanel=!1,e&&(k.actionInfo={name:"Close Solar Updraft Tower Yearly Yield Graph",timestamp:new Date().getTime()})})},E=c(zn.UpdraftTower);m.useEffect(()=>{E<2&&l&&o(k=>{k.graphState&&(k.graphState.yearlyUpdraftTowerIndividualOutputs=!1)})},[E,l]);const{t:L}=jl(),U=L("word.Month",P),F=L("updraftTowerYieldPanel.Yield",P),W=12/i,B=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"})},children:h.jsx(hLo,{ref:p,style:{zIndex:f==="yearlySolarUpdraftTowerYieldPanel"?xc:9},children:h.jsxs(pLo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(gLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("updraftTowerYieldPanel.UpdraftTowerYearlyYield",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:L("word.Close",P)})]}),h.jsx(mf,{type:xr.YearlyUpdraftTowerYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:k,Clearness:N,...j})=>j),labels:s,height:100,dataKeyAxisX:"Month",labelX:U,labelY:F,unitY:L("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:T}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[E>1&&w.current.size>0?h.jsx(gl,{title:[...w.current.entries()].map((k,N)=>h.jsxs(Se.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(nt,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:k[0]+": "}),h.jsx(nt,{span:8,children:(k[1]*W).toFixed(2)})]}),N===w.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",P)+": "+(v*W).toFixed(2)+" "+L("word.kWh",P)})]})]},N)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",P)})}):h.jsxs(en,{children:[L("updraftTowerYieldPanel.YearlyTotal",P),":",(v*W).toFixed(2)," ",L("word.kWh",P)]}),h.jsx(no,{type:"default",icon:B?h.jsx(vh,{}):h.jsx(xf,{}),title:L(B?"word.Run":"word.Update",P),onClick:()=>{if(E===0){fn(L("analysisManager.NoSolarUpdraftTowerForAnalysis",P));return}fn(L("message.SimulationStarted",P)),setTimeout(()=>{o(k=>{e&&(k.actionInfo={name:"Run Yearly Simulation For Solar Updraft Tower",timestamp:new Date().getTime()})}),gt.getState().set(k=>{k.simulationInProgress=!0,k.runYearlySimulationForUpdraftTower=!0,k.pauseYearlySimulationForUpdraftTower=!1})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+U+"-"+F,"yearly-updraft-tower-yield").then(()=>{fn(L("message.ScreenshotSaved",P)),e&&o(k=>{k.actionInfo={name:"Take Screenshot of Yearly Updraft Tower Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",P),onClick:()=>{wh(a,"yearly-updraft-tower-yield.csv"),fn(L("message.CsvFileSaved",P)),e&&o(k=>{k.actionInfo={name:"Export Yearly Updraft Tower Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),yLo=({dataSource:t,labels:e,height:n,dataKeyAxisX:o,labelX:i,labelY1:r,labelY2:a,unitX:l,unitY1:s,unitY2:c,yMin1:u="auto",yMax1:d="auto",yMin2:f="auto",yMax2:p="auto",curveType:g="linear",referenceX:y,fractionDigits:A=2})=>{const x=M(Eq),[C,b]=m.useState(null),v=!0,S=!0,w=2,T=1,P=m.useRef([]),R=m.useMemo(()=>{if(!t||t.length===0)return[];const L=Object.keys(t[0]).length-1,U=t[1]?Object.keys(t[1]).length-1:L,F=t.length,W=[],B=L-1,k=(U-L)/B;let N;P.current.length=0;for(let j=0;j0?J||N:!1,isAnimationActive:!1},"left-"+j)),P.current.push({id:Y,type:"line",value:Y,color:Q1[j]})}else if(j===B){const Y="Objective",_=C===null||C===Y?1:.25,J=Hx(Mx[j],T,t.length,F,_);W.push(h.jsx(xg,{yAxisId:"right",type:g,name:Y,dataKey:Y,stroke:Q1[j],opacity:_,strokeWidth:w,dot:F>0?J||N:!1,isAnimationActive:!1},"right")),P.current.push({id:Y,type:"line",value:Y,color:Q1[B]})}else{const Y=Math.floor((j-L)/k),_="Individual"+(j+1),J=.5,Q=Hx(Mx[Y],T*.5,t.length,F,J,Q1[Y]);W.push(h.jsx(xg,{yAxisId:"left",type:g,name:_,dataKey:_,opacity:J,stroke:Q1[Y],strokeWidth:0,dot:Q||N,isAnimationActive:!1},"left-"+j))}return W},[t,g,w,T,C]),H=()=>{},D=L=>{b(L.id)},E=()=>{b(null)};return h.jsx(h.Fragment,{children:t&&h.jsx("div",{id:"biaxial-line-graph-"+i+"-"+r+"-"+a,style:{width:"100%",height:`${n}%`,position:"relative",direction:"ltr"},children:h.jsx("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(D3e,{data:t,onMouseDown:H,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:L=>L.toFixed(A),content:({active:L,payload:U})=>!L||!U?null:U.map(F=>{var W;if(!((W=F.name)!=null&&W.toString().startsWith("Individual"))){let B;return F.name==="Tilt Angle"?B=be.toDegrees(F.value*(x.maximumTiltAngle-x.minimumTiltAngle)+x.minimumTiltAngle).toFixed(A)+"°":F.name==="Inter-Row Spacing"?B=(F.value*(x.maximumInterRowSpacing-x.minimumInterRowSpacing)+x.minimumInterRowSpacing).toFixed(A)+"m":F.name==="Rack Width"?B=Math.floor(F.value*(x.maximumRowsPerRack-x.minimumRowsPerRack)+x.minimumRowsPerRack)+" panels":F.name==="Objective"?B=F.value.toFixed(A)+" "+c:B=F.value.toFixed(A),h.jsxs("div",{children:[F.name,": ",B]},F.name)}return null})}),h.jsx(A7,{vertical:S,horizontal:v,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{yAxisId:"left",x:y,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:o??i,style:{fontSize:"10px"},children:h.jsx(Zl,{value:i+(l?" ("+l+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[u,d],yAxisId:"left",style:{fontSize:"10px"},children:h.jsx(Zl,{dx:-20,value:r+(s?" ("+s+")":""),offset:0,angle:-90,position:"center"})}),h.jsx(gh,{domain:[f,p],yAxisId:"right",orientation:"right",style:{fontSize:"10px"},children:h.jsx(Zl,{dx:30,value:a+(c?" ("+c+")":""),offset:0,angle:-90,position:"center"})}),R,h.jsx(j2,{payload:P.current,iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:E,onMouseEnter:D})]})})})})})},ALo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9464,7 +9464,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 8; -`,xLo=Ho.div` +`,wLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9482,7 +9482,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,bLo=Ho.div` +`,vLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9493,7 +9493,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,SLo=Se.memo(()=>{const t=M(ha),e=M(pu)??m0,n=M(dn),o=M(X8t),i=M(uW),r=M(ZAt),a=M(Z9),l=M(wH),s=M.getState().evolutionaryAlgorithmState,c=gt(vf),u=gt(Ije),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:r?r.width+40:680,A=p.current?p.current.clientHeight+100:r?r.height+100:500,[x,C]=m.useState({x:r?Math.max(r.x,y-window.innerWidth):0,y:r?Math.min(r.y,window.innerHeight-A):0}),b=Kt();m.useEffect(()=>{C({x:Math.max(r==null?void 0:r.x,y-window.innerWidth),y:Math.min(r==null?void 0:r.y,window.innerHeight-A)})},[r,y,A]),m.useEffect(()=>{const W=()=>{C({x:Math.max(r==null?void 0:r.x,y-window.innerWidth),y:Math.min(r==null?void 0:r.y,window.innerHeight-A)})};return window.addEventListener("resize",W),()=>{window.removeEventListener("resize",W)}},[r,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{n(W=>{p.current&&(W.viewState.evolutionPanelRect||(W.viewState.evolutionPanelRect=new ri(0,0,640,400)),W.viewState.evolutionPanelRect.width=p.current.offsetWidth,W.viewState.evolutionPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var W;(W=g.current)==null||W.disconnect()}),[]);const v=(W,B)=>{C({x:Math.max(B.x,y-window.innerWidth),y:Math.min(B.y,window.innerHeight-A)})},S=(W,B)=>{n(k=>{k.viewState.evolutionPanelRect||(k.viewState.evolutionPanelRect=new ri(0,0,640,400)),k.viewState.evolutionPanelRect.x=Math.max(B.x,y-window.innerWidth),k.viewState.evolutionPanelRect.y=Math.min(B.y,window.innerHeight-A)})},w=()=>{n(W=>{W.viewState.showEvolutionPanel=!1,t&&(W.actionInfo={name:"Close Solar Panel Optimization Graph",timestamp:new Date().getTime()})})},T=m.useMemo(()=>!l||l===Bs.GENETIC_ALGORITHM?s.geneticAlgorithmParams:s.particleSwarmOptimizationParams,[l,s]),P=m.useMemo(()=>O.t(l===Bs.GENETIC_ALGORITHM?"optimizationMenu.Generation":"optimizationMenu.Step",b),[l,b]),R=m.useMemo(()=>T.problem===Tr.SOLAR_PANEL_TILT_ANGLE?O.t("solarPanelMenu.TiltAngle",b):O.t("optimizationMenu.NormalizedVariables",b),[T.problem,b]),H=m.useMemo(()=>T.problem===Tr.SOLAR_PANEL_TILT_ANGLE?"°":"",[T.problem]),D=m.useMemo(()=>T.problem===Tr.SOLAR_PANEL_ARRAY&&(T.objectiveFunctionType===xo.DAILY_PROFIT||T.objectiveFunctionType===xo.YEARLY_PROFIT)?O.t("word.dollar",b):O.t("word.kWh",b),[T.problem,T.objectiveFunctionType,b]),E=m.useMemo(()=>{switch(T.objectiveFunctionType){case xo.DAILY_PROFIT:return O.t("optimizationMenu.ObjectiveFunctionDailyProfit",b);case xo.YEARLY_PROFIT:return O.t("optimizationMenu.ObjectiveFunctionYearlyProfit",b);case xo.DAILY_AVERAGE_OUTPUT:return O.t("optimizationMenu.ObjectiveFunctionDailyMeanYield",b);case xo.YEARLY_AVERAGE_OUTPUT:return O.t("optimizationMenu.ObjectiveFunctionYearlyMeanYield",b);case xo.DAILY_TOTAL_OUTPUT:return O.t("optimizationMenu.ObjectiveFunctionDailyTotalYield",b)}return O.t("optimizationMenu.ObjectiveFunctionYearlyTotalYield",b)},[T.objectiveFunctionType,b]),L=m.useMemo(()=>a?T.problem===Tr.SOLAR_PANEL_TILT_ANGLE?a.type===z.Foundation:T.problem===Tr.SOLAR_PANEL_ARRAY?a.type===z.Polygon:!1:!1,[T.problem,a]),U=m.useMemo(()=>T.problem===Tr.SOLAR_PANEL_ARRAY?O.t("optimizationMenu.ClickTargetPolygonToActivate",b):O.t("optimizationMenu.ClickTargetFoundationToActivate",b),[T.problem,b]),F=m.useMemo(()=>{let W="";return T.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&(W+=O.t("optimizationMenu.SolarPanelTiltAngleOptimization",b)),T.problem===Tr.SOLAR_PANEL_ARRAY&&(W+=O.t("optimizationMenu.SolarPanelArrayLayout",b)),W+=": ",W+=l===Bs.GENETIC_ALGORITHM?O.t("optimizationMenu.GeneticAlgorithm",b):O.t("optimizationMenu.ParticleSwarmOptimization",b),W},[T.problem,l,b]);return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:v,onStop:S,onMouseDown:()=>{n(W=>{W.selectedFloatingWindow="solarPanelOptimizationResult"})},children:h.jsx(vLo,{ref:f,style:{zIndex:d==="solarPanelOptimizationResult"?xc:9},children:h.jsxs(xLo,{ref:p,style:{opacity:e,width:(r?r.width:640)+"px",height:(r?r.height:400)+"px"},children:[h.jsxs(bLo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:F}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{w()},onMouseDown:()=>{w()},children:`${O.t("word.Close",b)}`})]}),h.jsx(wLo,{dataSource:o,labels:i,height:100,dataKeyAxisX:"Step",labelX:P,labelY1:R,labelY2:E,unitY1:H,unitY2:D,curveType:"linear",fractionDigits:2}),!c&&!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[L&&h.jsx(no,{type:"default",icon:h.jsx(g$e,{}),title:O.t("word.Run",b),onClick:()=>{fn(O.t("message.EvolutionStarted",b)),setTimeout(()=>{gt.getState().set(W=>{W.runEvolution=!0,W.pauseEvolution=!1,W.evolutionInProgress=!0}),t&&n(W=>{let B;T.problem===Tr.SOLAR_PANEL_ARRAY?l===Bs.GENETIC_ALGORITHM?B="Run Genetic Algorithm for Solar Panel Array Layout":l===Bs.PARTICLE_SWARM_OPTIMIZATION&&(B="Run Particle Swarm Optimization for Solar Panel Array Layout"):T.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&(l===Bs.GENETIC_ALGORITHM?B="Run Genetic Algorithm for Solar Panel Tilt Angle":l===Bs.PARTICLE_SWARM_OPTIMIZATION&&(B="Run Particle Swarm Optimization for Solar Panel Tilt Angle")),B&&(W.actionInfo={name:B,timestamp:new Date().getTime()})})},100)}}),!L&&h.jsx("span",{children:U}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:O.t("word.SaveAsImage",b),onClick:()=>{Hd("biaxial-line-graph-"+P+"-"+R+"-"+E,"solar-panel-tilt-angle-evolution").then(()=>{fn(O.t("message.ScreenshotSaved",b))})}})]})]})})})}),TLo=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(Iq),o=M(En),[i,r]=m.useState(!1),[a,l]=m.useState(!1),[s,c]=m.useState({left:0,top:0,bottom:0,right:0}),u=m.useRef(null),d=m.useRef(null),f=m.useRef(n.electricitySellingPrice),p=m.useRef(n.operationalCostPerUnit),g=Kt();m.useEffect(()=>{var b;(b=d.current)==null||b.focus()},[]);const y=(b,v)=>{if(u.current){const{clientWidth:S,clientHeight:w}=window.document.documentElement,T=u.current.getBoundingClientRect();c({left:-T.left+v.x,right:S-(T.right-v.x),top:-T.top+v.y,bottom:w-((T==null?void 0:T.bottom)-v.y)})}},A=()=>{const b=n.electricitySellingPrice,v=f.current;if(b!==v){const T={name:"Electricity Selling Price",timestamp:Date.now(),oldValue:b,newValue:v,undo:()=>{e(P=>{P.economicsParams.electricitySellingPrice=T.oldValue})},redo:()=>{e(P=>{P.economicsParams.electricitySellingPrice=T.newValue})}};o(T),e(P=>{P.economicsParams.electricitySellingPrice=v})}const S=n.operationalCostPerUnit,w=p.current;if(S!==w){const T={name:"Operational Cost per Unit",timestamp:Date.now(),oldValue:S,newValue:w,undo:()=>{e(P=>{P.economicsParams.operationalCostPerUnit=T.oldValue})},redo:()=>{e(P=>{P.economicsParams.operationalCostPerUnit=T.newValue})}};o(T),e(P=>{P.economicsParams.operationalCostPerUnit=w})}},x=()=>{t(!1)},C=()=>{A(),t(!1)};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>l(!0),onMouseOut:()=>l(!1),children:O.t("economicsPanel.EconomicsParameters",g)}),footer:[h.jsx(no,{onClick:x,children:O.t("word.Cancel",g)},"Cancel"),h.jsx(no,{type:"primary",ref:d,onClick:C,children:O.t("word.OK",g)},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:b=>h.jsx(Vr,{disabled:!a,bounds:s,onStart:(v,S)=>y(v,S),children:h.jsx("div",{ref:u,children:b})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:16,children:O.t("economicsPanel.ElectricitySellingPrice",g)+" ([0.1, 1]): "}),h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:.1,max:1,style:{width:"100%"},precision:2,value:f.current,step:.01,formatter:b=>`$${b}/kWh`,onChange:b=>{b!==null&&(f.current=b,r(!i))},onBlur:b=>{const v=b.target.value.replace("$","").replace("/kWh",""),S=parseFloat(v);f.current=Number.isNaN(S)?.1:S,r(!i)},onPressEnter:b=>{const v=b.target.value.replace("$","").replace("/kWh",""),S=parseFloat(v);f.current=Number.isNaN(S)?.1:S,r(!i)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:16,children:O.t("economicsPanel.OperationalCostPerUnit",g)+" ([0.1, 1]): "}),h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:.1,max:1,style:{width:"100%"},precision:2,value:p.current,step:.01,formatter:b=>`$${b}/day`,onChange:b=>{b!==null&&(p.current=b,r(!i))},onBlur:b=>{const v=b.target.value.replace("$","").replace("/day",""),S=parseFloat(v);p.current=Number.isNaN(S)?.1:S,r(!i)},onPressEnter:b=>{const v=b.target.value.replace("$","").replace("/day",""),S=parseFloat(v);p.current=Number.isNaN(S)?.1:S,r(!i)}})})]})]})}),Vst=(t,e,n)=>{const o=M.getState().elements,i=M(cA),r=M(jn),a=gt(K1e),l=bn(vb),s=bn(b4t),c=bn(T4t),u=[],d=[],f=m.useRef(new Map),p=m.useRef(new Map),g=m.useRef(new Map);return m.useEffect(()=>{var A,x,C,b,v,S,w,T;if(!e)return;const y=Jx(t,e.lowestTemperatures,e.highestTemperatures);f.current.clear(),p.current.clear(),g.current.clear();for(let P=0;P<24;P++){const R={},H=new Map;for(const D of o)if(be.onBuildingEnvelope(D)){const E=l.get(D.id);if(E){const L=D.type===z.Foundation?D:i(D);if(L&&!L.notBuilding&&be.getBuildingCompletionStatus(L,o)===Uc.COMPLETE){let U=H.get(L.id);U||(U=n?{heater:0,ac:0,geothermal:0,solarPanel:0,label:(A=L.label)==null?void 0:A.trim()}:{heater:0,ac:0,geothermal:0,label:(x=L.label)==null?void 0:x.trim()},H.set(L.id,U),(C=L.hvacSystem)!=null&&C.id?L.hvacSystem.id&&L.hvacSystem.id.length>0&&!d.includes(L.hvacSystem.id)&&d.push(L.hvacSystem.id):L.label&&L.label.length>0&&!d.includes(L.label)&&d.push(L.label)),D.type===z.Foundation?U.geothermal+=E[P]:E[P]<0?U.heater+=E[P]:U.ac+=E[P]}}}for(const D of o)if(D.type===z.Foundation){const E=D;if(!E.notBuilding&&be.getBuildingCompletionStatus(E,o)!==Uc.COMPLETE)continue;const L=H.get(D.id);if(L){const U=s.get(D.id);if(U&&(L.heater<0?(L.heater+=U[P],L.heater>0&&(L.heater=0)):L.ac>0&&(L.ac+=U[P])),L.solarPanel!==void 0){const F=c.get(D.id);F&&(L.solarPanel+=F[P])}}}if(H.size>1){let D=1;for(const E of H.keys()){R.Hour=P;const L=H.get(E);if(L){const U=r(E);if(U&&U.type===z.Foundation){const F=U;if(!F.notBuilding&&be.getBuildingCompletionStatus(F,o)===Uc.COMPLETE){const W=((b=F.hvacSystem)==null?void 0:b.thermostatSetpoint)??20,B=((v=F.hvacSystem)==null?void 0:v.temperatureThreshold)??3,k=((S=F.hvacSystem)==null?void 0:S.id)??(L.label&&L.label!==""?L.label:D.toString());k===D.toString()&&D++;let N=Math.abs(lO(y,L.heater,W,B)),j=lO(y,L.ac,W,B);N>0?(N-=L.geothermal,N<0&&(N=0)):j>0&&(j+=L.geothermal,j<0&&(j=0));const Y="Heater "+k;R[Y]?R[Y]=R[Y]+N:R[Y]=N;const _="AC "+k;if(R[_]?R[_]=R[_]+j:R[_]=j,L.solarPanel!==void 0){const ee="Solar "+k;R[ee]?R[ee]=R[ee]-L.solarPanel:R[ee]=-L.solarPanel}const J="Net "+k;R[J]?R[J]=R[J]+N+j-(L.solarPanel??0):R[J]=N+j-(L.solarPanel??0);let Q=f.current.get(k);Q===void 0&&(Q=0),Q+=N,f.current.set(k,Q),Q=p.current.get(k),Q===void 0&&(Q=0),Q+=j,p.current.set(k,Q),n&&(Q=g.current.get(k),Q===void 0&&(Q=0),Q+=L.solarPanel,g.current.set(k,Q))}}}}}else for(const D of H.keys()){R.Hour=P;const E=H.get(D);if(E){const L=r(D);if(L&&L.type===z.Foundation){const U=L;if(!U.notBuilding&&be.getBuildingCompletionStatus(U,o)===Uc.COMPLETE){const F=((w=U.hvacSystem)==null?void 0:w.thermostatSetpoint)??20,W=((T=U.hvacSystem)==null?void 0:T.temperatureThreshold)??3;let B=Math.abs(lO(y,E.heater,F,W)),k=lO(y,E.ac,F,W);B>0?(B-=E.geothermal,B<0&&(B=0)):k>0&&(k+=E.geothermal,k<0&&(k=0)),R.Heater=B,R.AC=k,E.solarPanel!==void 0&&(R.Solar=-E.solarPanel),R.Net=B+k-(E.solarPanel??0);const N="default";let j=f.current.get(N);j===void 0&&(j=0),j+=B,f.current.set(N,j),j=p.current.get(N),j===void 0&&(j=0),j+=k,p.current.set(N,j),n&&(j=g.current.get(N),j===void 0&&(j=0),j+=E.solarPanel,g.current.set(N,j))}}}}u.push(R)}},[a,e]),{sum:u,sumHeaterMap:f.current,sumAcMap:p.current,sumSolarPanelMap:g.current,dataLabels:d}},PLo=Se.memo(({horizontalGrid:t,verticalGrid:e,lineWidth:n,symbolSize:o,barCategoryGap:i,changeHorizontalGrid:r,changeVerticalGrid:a,changeLineWidth:l,changeSymbolSize:s,changeBarCategoryGap:c})=>{const u=Kt(),[d,f]=m.useState(!1),p=()=>{r==null||r(!t)},g=()=>{a==null||a(!e)},y=C=>{l==null||l(C/2)},A=C=>{s==null||s(C/5)},x=C=>{c==null||c(C)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:0,max:10,value:n*2,onChange:y,children:O.t("menu.graph.LineWidth",u)+":"}),h.jsx(bC,{min:2,max:12,value:o*5,onChange:A,children:O.t("menu.graph.SymbolSize",u)+":"}),h.jsx(bC,{min:0,max:20,value:i,onChange:x,children:O.t("menu.graph.BarCategoryGap",u)+":"}),h.jsx(c7,{checked:t,onClick:p,children:O.t("menu.graph.ShowHorizontalGridLines",u)}),h.jsx(c7,{checked:e,onClick:g,children:O.t("menu.graph.ShowHorizontalGridLines",u)})]}),children:h.jsx(hme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:d?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{f(!0)},onMouseOut:()=>{f(!1)}})})}),Gst=({type:t,dataSource:e,hasSolarPanels:n,labels:o,height:i,dataKeyAxisX:r,labelX:a,labelY:l,unitX:s,unitY:c,yMin:u="auto",yMax:d="auto",curveType:f="linear",referenceX:p,fractionDigits:g=2,symbolCount:y=12})=>{const[A,x]=m.useState(0),[C,b]=m.useState(),[v,S]=m.useState(!0),[w,T]=m.useState(!0),[P,R]=m.useState(null),[H,D]=m.useState(2),[E,L]=m.useState(1),[U,F]=m.useState(2);m.useEffect(()=>{if(!e||e.length===0)return;const j=n?4:3,Y=(Array.isArray(e)?Object.keys(e[0]).length-1:Object.keys(e).length-1)/j;if(A!==Y&&x(Y),Y===1&&e[0]){for(const _ in e[0])if(_.startsWith("Heater")){b(_.length>6?_.substring(6).trim():void 0);break}}},[e]);const W=m.useMemo(()=>{const j=[],Y=n?4:3;let _;const J="gray",Q=1;for(let $=0;$1?o[$*Y]:C?"Heater "+C:"Heater";j.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#FA8072",opacity:P===null||P===q?1:.25,strokeWidth:Q,isAnimationActive:!1,stackId:"stack"+$},$*Y)),q=A>1?o[$*Y+1]:C?"AC "+C:"AC",j.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#00BFFF",opacity:P===null||P===q?1:.25,strokeWidth:Q,isAnimationActive:!1,stackId:"stack"+$},$*Y+1)),n&&(q=A>1?o[$*Y+2]:C?"Solar "+C:"Solar",j.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#3CB371",opacity:P===null||P===q?1:.25,strokeWidth:Q,isAnimationActive:!1,stackId:"stack"+$},$*Y+2)))}const ee=Y-1;for(let $=0;$1?o[$*Y+ee]:C?"Net "+C:"Net",le=P===null||P===q?1:.25,ie=Hx(Mx[$],E,e.length,y,le);$===0&&(_=ie),j.push(h.jsx(vg,{type:f,name:q,dataKey:q,stroke:$1[$],opacity:P===null||P===q?1:.25,strokeWidth:H,dot:y>0?ie||_:!1,isAnimationActive:!1},$*Y+ee))}return j},[t,f,o,A,C,H,y,E,P]),B=()=>{},k=j=>{R(j.dataKey)},N=()=>{R(null)};return h.jsx(h.Fragment,{children:e&&h.jsx("div",{id:"line-graph-"+a+"-"+l,style:{width:"100%",height:`${i}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(RIo,{data:e,stackOffset:"sign",barGap:0,barCategoryGap:U,onMouseDown:B,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:j=>j.toFixed(g)+" "+c}),h.jsx(A7,{vertical:w,horizontal:v,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:p,stroke:"orange",strokeWidth:2}),h.jsx(e1,{dataKey:r??a,fontSize:"10px",children:h.jsx(Zl,{value:a+(s?" ("+s+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[u,d],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:l+(c?" ("+c+")":""),offset:0,angle:-90,position:"center"})}),W,h.jsx(O9,{y:0,stroke:"#888"}),A>0&&h.jsx(j2,{wrapperStyle:{fontSize:"11px"},iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:N,onMouseEnter:k})]})}),h.jsx(PLo,{symbolSize:E,lineWidth:H,barCategoryGap:U,horizontalGrid:v,verticalGrid:w,changeHorizontalGrid:j=>{S(j)},changeVerticalGrid:j=>{T(j)},changeLineWidth:j=>{D(j)},changeSymbolSize:j=>{L(j)},changeBarCategoryGap:j=>{F(j)}})]})})})},CLo=Ho.div` +`,xLo=Se.memo(()=>{const t=M(ha),e=M(pu)??m0,n=M(dn),o=M(V8t),i=M(uW),r=M($At),a=M(Z9),l=M(wH),s=M.getState().evolutionaryAlgorithmState,c=gt(vf),u=gt(Ije),d=M(bc),f=Se.useRef(null),p=m.useRef(null),g=m.useRef(),y=p.current?p.current.clientWidth+40:r?r.width+40:680,A=p.current?p.current.clientHeight+100:r?r.height+100:500,[x,C]=m.useState({x:r?Math.max(r.x,y-window.innerWidth):0,y:r?Math.min(r.y,window.innerHeight-A):0}),b=Kt();m.useEffect(()=>{C({x:Math.max(r==null?void 0:r.x,y-window.innerWidth),y:Math.min(r==null?void 0:r.y,window.innerHeight-A)})},[r,y,A]),m.useEffect(()=>{const W=()=>{C({x:Math.max(r==null?void 0:r.x,y-window.innerWidth),y:Math.min(r==null?void 0:r.y,window.innerHeight-A)})};return window.addEventListener("resize",W),()=>{window.removeEventListener("resize",W)}},[r,y,A]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{n(W=>{p.current&&(W.viewState.evolutionPanelRect||(W.viewState.evolutionPanelRect=new ri(0,0,640,400)),W.viewState.evolutionPanelRect.width=p.current.offsetWidth,W.viewState.evolutionPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var W;(W=g.current)==null||W.disconnect()}),[]);const v=(W,B)=>{C({x:Math.max(B.x,y-window.innerWidth),y:Math.min(B.y,window.innerHeight-A)})},S=(W,B)=>{n(k=>{k.viewState.evolutionPanelRect||(k.viewState.evolutionPanelRect=new ri(0,0,640,400)),k.viewState.evolutionPanelRect.x=Math.max(B.x,y-window.innerWidth),k.viewState.evolutionPanelRect.y=Math.min(B.y,window.innerHeight-A)})},w=()=>{n(W=>{W.viewState.showEvolutionPanel=!1,t&&(W.actionInfo={name:"Close Solar Panel Optimization Graph",timestamp:new Date().getTime()})})},T=m.useMemo(()=>!l||l===Bs.GENETIC_ALGORITHM?s.geneticAlgorithmParams:s.particleSwarmOptimizationParams,[l,s]),P=m.useMemo(()=>O.t(l===Bs.GENETIC_ALGORITHM?"optimizationMenu.Generation":"optimizationMenu.Step",b),[l,b]),R=m.useMemo(()=>T.problem===Tr.SOLAR_PANEL_TILT_ANGLE?O.t("solarPanelMenu.TiltAngle",b):O.t("optimizationMenu.NormalizedVariables",b),[T.problem,b]),H=m.useMemo(()=>T.problem===Tr.SOLAR_PANEL_TILT_ANGLE?"°":"",[T.problem]),D=m.useMemo(()=>T.problem===Tr.SOLAR_PANEL_ARRAY&&(T.objectiveFunctionType===xo.DAILY_PROFIT||T.objectiveFunctionType===xo.YEARLY_PROFIT)?O.t("word.dollar",b):O.t("word.kWh",b),[T.problem,T.objectiveFunctionType,b]),E=m.useMemo(()=>{switch(T.objectiveFunctionType){case xo.DAILY_PROFIT:return O.t("optimizationMenu.ObjectiveFunctionDailyProfit",b);case xo.YEARLY_PROFIT:return O.t("optimizationMenu.ObjectiveFunctionYearlyProfit",b);case xo.DAILY_AVERAGE_OUTPUT:return O.t("optimizationMenu.ObjectiveFunctionDailyMeanYield",b);case xo.YEARLY_AVERAGE_OUTPUT:return O.t("optimizationMenu.ObjectiveFunctionYearlyMeanYield",b);case xo.DAILY_TOTAL_OUTPUT:return O.t("optimizationMenu.ObjectiveFunctionDailyTotalYield",b)}return O.t("optimizationMenu.ObjectiveFunctionYearlyTotalYield",b)},[T.objectiveFunctionType,b]),L=m.useMemo(()=>a?T.problem===Tr.SOLAR_PANEL_TILT_ANGLE?a.type===z.Foundation:T.problem===Tr.SOLAR_PANEL_ARRAY?a.type===z.Polygon:!1:!1,[T.problem,a]),U=m.useMemo(()=>T.problem===Tr.SOLAR_PANEL_ARRAY?O.t("optimizationMenu.ClickTargetPolygonToActivate",b):O.t("optimizationMenu.ClickTargetFoundationToActivate",b),[T.problem,b]),F=m.useMemo(()=>{let W="";return T.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&(W+=O.t("optimizationMenu.SolarPanelTiltAngleOptimization",b)),T.problem===Tr.SOLAR_PANEL_ARRAY&&(W+=O.t("optimizationMenu.SolarPanelArrayLayout",b)),W+=": ",W+=l===Bs.GENETIC_ALGORITHM?O.t("optimizationMenu.GeneticAlgorithm",b):O.t("optimizationMenu.ParticleSwarmOptimization",b),W},[T.problem,l,b]);return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:x,onDrag:v,onStop:S,onMouseDown:()=>{n(W=>{W.selectedFloatingWindow="solarPanelOptimizationResult"})},children:h.jsx(ALo,{ref:f,style:{zIndex:d==="solarPanelOptimizationResult"?xc:9},children:h.jsxs(wLo,{ref:p,style:{opacity:e,width:(r?r.width:640)+"px",height:(r?r.height:400)+"px"},children:[h.jsxs(vLo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:F}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{w()},onMouseDown:()=>{w()},children:`${O.t("word.Close",b)}`})]}),h.jsx(yLo,{dataSource:o,labels:i,height:100,dataKeyAxisX:"Step",labelX:P,labelY1:R,labelY2:E,unitY1:H,unitY2:D,curveType:"linear",fractionDigits:2}),!c&&!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[L&&h.jsx(no,{type:"default",icon:h.jsx(g$e,{}),title:O.t("word.Run",b),onClick:()=>{fn(O.t("message.EvolutionStarted",b)),setTimeout(()=>{gt.getState().set(W=>{W.runEvolution=!0,W.pauseEvolution=!1,W.evolutionInProgress=!0}),t&&n(W=>{let B;T.problem===Tr.SOLAR_PANEL_ARRAY?l===Bs.GENETIC_ALGORITHM?B="Run Genetic Algorithm for Solar Panel Array Layout":l===Bs.PARTICLE_SWARM_OPTIMIZATION&&(B="Run Particle Swarm Optimization for Solar Panel Array Layout"):T.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&(l===Bs.GENETIC_ALGORITHM?B="Run Genetic Algorithm for Solar Panel Tilt Angle":l===Bs.PARTICLE_SWARM_OPTIMIZATION&&(B="Run Particle Swarm Optimization for Solar Panel Tilt Angle")),B&&(W.actionInfo={name:B,timestamp:new Date().getTime()})})},100)}}),!L&&h.jsx("span",{children:U}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:O.t("word.SaveAsImage",b),onClick:()=>{Hd("biaxial-line-graph-"+P+"-"+R+"-"+E,"solar-panel-tilt-angle-evolution").then(()=>{fn(O.t("message.ScreenshotSaved",b))})}})]})]})})})}),bLo=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(Iq),o=M(En),[i,r]=m.useState(!1),[a,l]=m.useState(!1),[s,c]=m.useState({left:0,top:0,bottom:0,right:0}),u=m.useRef(null),d=m.useRef(null),f=m.useRef(n.electricitySellingPrice),p=m.useRef(n.operationalCostPerUnit),g=Kt();m.useEffect(()=>{var b;(b=d.current)==null||b.focus()},[]);const y=(b,v)=>{if(u.current){const{clientWidth:S,clientHeight:w}=window.document.documentElement,T=u.current.getBoundingClientRect();c({left:-T.left+v.x,right:S-(T.right-v.x),top:-T.top+v.y,bottom:w-((T==null?void 0:T.bottom)-v.y)})}},A=()=>{const b=n.electricitySellingPrice,v=f.current;if(b!==v){const T={name:"Electricity Selling Price",timestamp:Date.now(),oldValue:b,newValue:v,undo:()=>{e(P=>{P.economicsParams.electricitySellingPrice=T.oldValue})},redo:()=>{e(P=>{P.economicsParams.electricitySellingPrice=T.newValue})}};o(T),e(P=>{P.economicsParams.electricitySellingPrice=v})}const S=n.operationalCostPerUnit,w=p.current;if(S!==w){const T={name:"Operational Cost per Unit",timestamp:Date.now(),oldValue:S,newValue:w,undo:()=>{e(P=>{P.economicsParams.operationalCostPerUnit=T.oldValue})},redo:()=>{e(P=>{P.economicsParams.operationalCostPerUnit=T.newValue})}};o(T),e(P=>{P.economicsParams.operationalCostPerUnit=w})}},x=()=>{t(!1)},C=()=>{A(),t(!1)};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>l(!0),onMouseOut:()=>l(!1),children:O.t("economicsPanel.EconomicsParameters",g)}),footer:[h.jsx(no,{onClick:x,children:O.t("word.Cancel",g)},"Cancel"),h.jsx(no,{type:"primary",ref:d,onClick:C,children:O.t("word.OK",g)},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:b=>h.jsx(Vr,{disabled:!a,bounds:s,onStart:(v,S)=>y(v,S),children:h.jsx("div",{ref:u,children:b})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:16,children:O.t("economicsPanel.ElectricitySellingPrice",g)+" ([0.1, 1]): "}),h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:.1,max:1,style:{width:"100%"},precision:2,value:f.current,step:.01,formatter:b=>`$${b}/kWh`,onChange:b=>{b!==null&&(f.current=b,r(!i))},onBlur:b=>{const v=b.target.value.replace("$","").replace("/kWh",""),S=parseFloat(v);f.current=Number.isNaN(S)?.1:S,r(!i)},onPressEnter:b=>{const v=b.target.value.replace("$","").replace("/kWh",""),S=parseFloat(v);f.current=Number.isNaN(S)?.1:S,r(!i)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:16,children:O.t("economicsPanel.OperationalCostPerUnit",g)+" ([0.1, 1]): "}),h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:.1,max:1,style:{width:"100%"},precision:2,value:p.current,step:.01,formatter:b=>`$${b}/day`,onChange:b=>{b!==null&&(p.current=b,r(!i))},onBlur:b=>{const v=b.target.value.replace("$","").replace("/day",""),S=parseFloat(v);p.current=Number.isNaN(S)?.1:S,r(!i)},onPressEnter:b=>{const v=b.target.value.replace("$","").replace("/day",""),S=parseFloat(v);p.current=Number.isNaN(S)?.1:S,r(!i)}})})]})]})}),Vst=(t,e,n)=>{const o=M.getState().elements,i=M(cA),r=M(jn),a=gt(K1e),l=bn(vb),s=bn(v4t),c=bn(b4t),u=[],d=[],f=m.useRef(new Map),p=m.useRef(new Map),g=m.useRef(new Map);return m.useEffect(()=>{var A,x,C,b,v,S,w,T;if(!e)return;const y=Jx(t,e.lowestTemperatures,e.highestTemperatures);f.current.clear(),p.current.clear(),g.current.clear();for(let P=0;P<24;P++){const R={},H=new Map;for(const D of o)if(be.onBuildingEnvelope(D)){const E=l.get(D.id);if(E){const L=D.type===z.Foundation?D:i(D);if(L&&!L.notBuilding&&be.getBuildingCompletionStatus(L,o)===Uc.COMPLETE){let U=H.get(L.id);U||(U=n?{heater:0,ac:0,geothermal:0,solarPanel:0,label:(A=L.label)==null?void 0:A.trim()}:{heater:0,ac:0,geothermal:0,label:(x=L.label)==null?void 0:x.trim()},H.set(L.id,U),(C=L.hvacSystem)!=null&&C.id?L.hvacSystem.id&&L.hvacSystem.id.length>0&&!d.includes(L.hvacSystem.id)&&d.push(L.hvacSystem.id):L.label&&L.label.length>0&&!d.includes(L.label)&&d.push(L.label)),D.type===z.Foundation?U.geothermal+=E[P]:E[P]<0?U.heater+=E[P]:U.ac+=E[P]}}}for(const D of o)if(D.type===z.Foundation){const E=D;if(!E.notBuilding&&be.getBuildingCompletionStatus(E,o)!==Uc.COMPLETE)continue;const L=H.get(D.id);if(L){const U=s.get(D.id);if(U&&(L.heater<0?(L.heater+=U[P],L.heater>0&&(L.heater=0)):L.ac>0&&(L.ac+=U[P])),L.solarPanel!==void 0){const F=c.get(D.id);F&&(L.solarPanel+=F[P])}}}if(H.size>1){let D=1;for(const E of H.keys()){R.Hour=P;const L=H.get(E);if(L){const U=r(E);if(U&&U.type===z.Foundation){const F=U;if(!F.notBuilding&&be.getBuildingCompletionStatus(F,o)===Uc.COMPLETE){const W=((b=F.hvacSystem)==null?void 0:b.thermostatSetpoint)??20,B=((v=F.hvacSystem)==null?void 0:v.temperatureThreshold)??3,k=((S=F.hvacSystem)==null?void 0:S.id)??(L.label&&L.label!==""?L.label:D.toString());k===D.toString()&&D++;let N=Math.abs(lO(y,L.heater,W,B)),j=lO(y,L.ac,W,B);N>0?(N-=L.geothermal,N<0&&(N=0)):j>0&&(j+=L.geothermal,j<0&&(j=0));const Y="Heater "+k;R[Y]?R[Y]=R[Y]+N:R[Y]=N;const _="AC "+k;if(R[_]?R[_]=R[_]+j:R[_]=j,L.solarPanel!==void 0){const ee="Solar "+k;R[ee]?R[ee]=R[ee]-L.solarPanel:R[ee]=-L.solarPanel}const J="Net "+k;R[J]?R[J]=R[J]+N+j-(L.solarPanel??0):R[J]=N+j-(L.solarPanel??0);let Q=f.current.get(k);Q===void 0&&(Q=0),Q+=N,f.current.set(k,Q),Q=p.current.get(k),Q===void 0&&(Q=0),Q+=j,p.current.set(k,Q),n&&(Q=g.current.get(k),Q===void 0&&(Q=0),Q+=L.solarPanel,g.current.set(k,Q))}}}}}else for(const D of H.keys()){R.Hour=P;const E=H.get(D);if(E){const L=r(D);if(L&&L.type===z.Foundation){const U=L;if(!U.notBuilding&&be.getBuildingCompletionStatus(U,o)===Uc.COMPLETE){const F=((w=U.hvacSystem)==null?void 0:w.thermostatSetpoint)??20,W=((T=U.hvacSystem)==null?void 0:T.temperatureThreshold)??3;let B=Math.abs(lO(y,E.heater,F,W)),k=lO(y,E.ac,F,W);B>0?(B-=E.geothermal,B<0&&(B=0)):k>0&&(k+=E.geothermal,k<0&&(k=0)),R.Heater=B,R.AC=k,E.solarPanel!==void 0&&(R.Solar=-E.solarPanel),R.Net=B+k-(E.solarPanel??0);const N="default";let j=f.current.get(N);j===void 0&&(j=0),j+=B,f.current.set(N,j),j=p.current.get(N),j===void 0&&(j=0),j+=k,p.current.set(N,j),n&&(j=g.current.get(N),j===void 0&&(j=0),j+=E.solarPanel,g.current.set(N,j))}}}}u.push(R)}},[a,e]),{sum:u,sumHeaterMap:f.current,sumAcMap:p.current,sumSolarPanelMap:g.current,dataLabels:d}},SLo=Se.memo(({horizontalGrid:t,verticalGrid:e,lineWidth:n,symbolSize:o,barCategoryGap:i,changeHorizontalGrid:r,changeVerticalGrid:a,changeLineWidth:l,changeSymbolSize:s,changeBarCategoryGap:c})=>{const u=Kt(),[d,f]=m.useState(!1),p=()=>{r==null||r(!t)},g=()=>{a==null||a(!e)},y=C=>{l==null||l(C/2)},A=C=>{s==null||s(C/5)},x=C=>{c==null||c(C)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:0,max:10,value:n*2,onChange:y,children:O.t("menu.graph.LineWidth",u)+":"}),h.jsx(bC,{min:2,max:12,value:o*5,onChange:A,children:O.t("menu.graph.SymbolSize",u)+":"}),h.jsx(bC,{min:0,max:20,value:i,onChange:x,children:O.t("menu.graph.BarCategoryGap",u)+":"}),h.jsx(c7,{checked:t,onClick:p,children:O.t("menu.graph.ShowHorizontalGridLines",u)}),h.jsx(c7,{checked:e,onClick:g,children:O.t("menu.graph.ShowHorizontalGridLines",u)})]}),children:h.jsx(hme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:d?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{f(!0)},onMouseOut:()=>{f(!1)}})})}),Gst=({type:t,dataSource:e,hasSolarPanels:n,labels:o,height:i,dataKeyAxisX:r,labelX:a,labelY:l,unitX:s,unitY:c,yMin:u="auto",yMax:d="auto",curveType:f="linear",referenceX:p,fractionDigits:g=2,symbolCount:y=12})=>{const[A,x]=m.useState(0),[C,b]=m.useState(),[v,S]=m.useState(!0),[w,T]=m.useState(!0),[P,R]=m.useState(null),[H,D]=m.useState(2),[E,L]=m.useState(1),[U,F]=m.useState(2);m.useEffect(()=>{if(!e||e.length===0)return;const j=n?4:3,Y=(Array.isArray(e)?Object.keys(e[0]).length-1:Object.keys(e).length-1)/j;if(A!==Y&&x(Y),Y===1&&e[0]){for(const _ in e[0])if(_.startsWith("Heater")){b(_.length>6?_.substring(6).trim():void 0);break}}},[e]);const W=m.useMemo(()=>{const j=[],Y=n?4:3;let _;const J="gray",Q=1;for(let $=0;$1?o[$*Y]:C?"Heater "+C:"Heater";j.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#FA8072",opacity:P===null||P===q?1:.25,strokeWidth:Q,isAnimationActive:!1,stackId:"stack"+$},$*Y)),q=A>1?o[$*Y+1]:C?"AC "+C:"AC",j.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#00BFFF",opacity:P===null||P===q?1:.25,strokeWidth:Q,isAnimationActive:!1,stackId:"stack"+$},$*Y+1)),n&&(q=A>1?o[$*Y+2]:C?"Solar "+C:"Solar",j.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#3CB371",opacity:P===null||P===q?1:.25,strokeWidth:Q,isAnimationActive:!1,stackId:"stack"+$},$*Y+2)))}const ee=Y-1;for(let $=0;$1?o[$*Y+ee]:C?"Net "+C:"Net",le=P===null||P===q?1:.25,ie=Hx(Mx[$],E,e.length,y,le);$===0&&(_=ie),j.push(h.jsx(xg,{type:f,name:q,dataKey:q,stroke:Q1[$],opacity:P===null||P===q?1:.25,strokeWidth:H,dot:y>0?ie||_:!1,isAnimationActive:!1},$*Y+ee))}return j},[t,f,o,A,C,H,y,E,P]),B=()=>{},k=j=>{R(j.dataKey)},N=()=>{R(null)};return h.jsx(h.Fragment,{children:e&&h.jsx("div",{id:"line-graph-"+a+"-"+l,style:{width:"100%",height:`${i}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(PIo,{data:e,stackOffset:"sign",barGap:0,barCategoryGap:U,onMouseDown:B,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:j=>j.toFixed(g)+" "+c}),h.jsx(A7,{vertical:w,horizontal:v,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:p,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:r??a,fontSize:"10px",children:h.jsx(Zl,{value:a+(s?" ("+s+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[u,d],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:l+(c?" ("+c+")":""),offset:0,angle:-90,position:"center"})}),W,h.jsx(O9,{y:0,stroke:"#888"}),A>0&&h.jsx(j2,{wrapperStyle:{fontSize:"11px"},iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:N,onMouseEnter:k})]})}),h.jsx(SLo,{symbolSize:E,lineWidth:H,barCategoryGap:U,horizontalGrid:v,verticalGrid:w,changeHorizontalGrid:j=>{S(j)},changeVerticalGrid:j=>{T(j)},changeLineWidth:j=>{D(j)},changeSymbolSize:j=>{L(j)},changeBarCategoryGap:j=>{F(j)}})]})})})},TLo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9502,7 +9502,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,RLo=Ho.div` +`,PLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9520,7 +9520,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,HLo=Ho.div` +`,CLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9531,7 +9531,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,MLo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(lW),r=new Date(M(Ya)),a=M(TAt),l=gt(K1e),s=gt(QL),c=gt(lwt),u=gt(vf),d=be.hasSolarPanels(M.getState().elements),f=bn(Yje),p=bn(Oje),g=bn(_je),y=M(bc),A=Se.useRef(null),x=m.useRef(null),C=m.useRef(),b=x.current?x.current.clientWidth+40:a?a.width+40:640,v=x.current?x.current.clientHeight+100:a?a.height+100:460,[S,w]=m.useState({x:a?Math.max(a.x,b-window.innerWidth):0,y:a?Math.min(a.y,window.innerHeight-v):0}),[T,P]=m.useState([]),[R,H]=m.useState(0),[D,E]=m.useState(0),[L,U]=m.useState(0),[F,W]=m.useState(0),[B,k]=m.useState(["Heater","AC","Net"]),N=Kt(),j=r1(t),Y=m.useRef([]),_=m.useRef([]),J=m.useRef([]),Q=m.useRef([]);m.useEffect(()=>{s&&ee()},[s]),m.useEffect(()=>{ee()},[c]);const ee=()=>{P([]),H(0),E(0),U(0),W(0),k([])},{sum:$,sumHeaterMap:q,sumAcMap:le,sumSolarPanelMap:ie,dataLabels:pe}=Vst(r,j,d);m.useEffect(()=>{P($);let de=0,ve=0,Pe=0;const me=q.size>1;if(q){Y.current=[];for(const ze of q.keys()){const Ae=q.get(ze);Ae&&(de+=Ae,me&&Y.current.push(ze+": "+Ae.toFixed(2)+" "+O.t("word.kWh",N)))}}if(le){_.current=[];for(const ze of le.keys()){const Ae=le.get(ze);Ae&&(ve+=Ae,me&&_.current.push(ze+": "+Ae.toFixed(2)+" "+O.t("word.kWh",N)))}}if(ie&&ie.size>0){J.current=[];for(const ze of ie.keys()){const Ae=ie.get(ze);Ae&&(Pe+=Ae,me&&J.current.push(ze+": "+Ae.toFixed(2)+" "+O.t("word.kWh",N)))}}if(q&&le&&ie){Q.current=[];for(const ze of q.keys()){let Ae=0;const re=q.get(ze),ge=le.get(ze),we=ie.get(ze);re&&(Ae+=re),ge&&(Ae+=ge),we&&(Ae-=we),me&&Q.current.push(ze+": "+Ae.toFixed(2)+" "+O.t("word.kWh",N))}}H(de),E(ve),U(Pe),W(de+ve-Pe),f(de),p(ve),g(Pe);const Re=(Object.keys($[0]).length-1)/(d?4:3);if(Re>1){const ze=[];let Ae=0;for(let re=0;re{w({x:Math.max(a==null?void 0:a.x,b-window.innerWidth),y:Math.min(a==null?void 0:a.y,window.innerHeight-v)})},[a,b,v]),m.useEffect(()=>{const de=()=>{w({x:Math.max(a==null?void 0:a.x,b-window.innerWidth),y:Math.min(a==null?void 0:a.y,window.innerHeight-v)})};return window.addEventListener("resize",de),()=>{window.removeEventListener("resize",de)}},[a,b,v]),m.useEffect(()=>(x.current&&(C.current||(C.current=new ResizeObserver(()=>{o(de=>{x.current&&(de.viewState.dailyBuildingEnergyPanelRect||(de.viewState.dailyBuildingEnergyPanelRect=new ri(0,0,600,360)),de.viewState.dailyBuildingEnergyPanelRect.width=x.current.offsetWidth,de.viewState.dailyBuildingEnergyPanelRect.height=x.current.offsetHeight)})})),C.current.observe(x.current)),()=>{var de;(de=C.current)==null||de.disconnect()}),[]);const ne=(de,ve)=>{w({x:Math.max(ve.x,b-window.innerWidth),y:Math.min(ve.y,window.innerHeight-v)})},Z=(de,ve)=>{o(Pe=>{Pe.viewState.dailyBuildingEnergyPanelRect||(Pe.viewState.dailyBuildingEnergyPanelRect=new ri(0,0,600,360)),Pe.viewState.dailyBuildingEnergyPanelRect.x=Math.max(ve.x,b-window.innerWidth),Pe.viewState.dailyBuildingEnergyPanelRect.y=Math.min(ve.y,window.innerHeight-v)})},he=()=>{o(de=>{de.viewState.showDailyBuildingEnergyPanel=!1,e&&(de.actionInfo={name:"Close Daily Building Energy Graph",timestamp:new Date().getTime()})})},fe=O.t("word.Hour",N),se=O.t("word.Energy",N),oe=T&&T[0]?Object.keys(T[0]).length===0:!0;return h.jsx(Vr,{nodeRef:A,handle:".handle",bounds:"parent",axis:"both",position:S,onDrag:ne,onStop:Z,onMouseDown:()=>{o(de=>{de.selectedFloatingWindow="dailyBuildingEnergyPanel"})},children:h.jsx(CLo,{ref:A,style:{zIndex:y==="dailyBuildingEnergyPanel"?xc:9},children:h.jsxs(RLo,{ref:x,style:{opacity:n,width:(a?a.width:600)+"px",height:(a?a.height:360)+"px"},children:[h.jsxs(HLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[O.t("buildingEnergyPanel.DailyBuildingEnergy",N)+": ",h.jsx("span",{style:{fontSize:"10px"},children:O.t("sensorPanel.WeatherDataFrom",N)+" "+t+" | "+gi(r).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{he()},onMouseDown:()=>{he()},children:`${O.t("word.Close",N)}`})]}),h.jsx(Gst,{type:xr.DailyBuildingEnergy,dataSource:T,hasSolarPanels:d,labels:B,height:100,dataKeyAxisX:"Hour",labelX:fe,labelY:se,unitY:O.t("word.kWh",N),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:r.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[Y.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.Heater",N)+": "+R.toFixed(1)}):h.jsx(gl,{content:Y.current.map((de,ve)=>h.jsx("div",{children:de},ve)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.Heater",N)+": "+R.toFixed(1)})}),_.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.AC",N)+": "+D.toFixed(1)}):h.jsx(gl,{content:_.current.map((de,ve)=>h.jsx("div",{children:de},ve)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.AC",N)+": "+D.toFixed(1)})}),L!==0&&h.jsx(h.Fragment,{children:J.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.SolarPanel",N)+": "+L.toFixed(1)}):h.jsx(gl,{content:J.current.map((de,ve)=>h.jsx("div",{children:de},ve)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.SolarPanel",N)+": "+L.toFixed(1)})})}),Q.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.Net",N)+": "+F.toFixed(1)}):h.jsx(gl,{content:Q.current.map((de,ve)=>h.jsx("div",{children:de},ve)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.Net",N)+": "+F.toFixed(1)})}),h.jsx(no,{type:"default",icon:oe?h.jsx(vh,{}):h.jsx(xf,{}),title:O.t(oe?"word.Run":"word.Update",N),onClick:()=>{const de=M.getState().elements,ve=M.getState().countElementsByType,Pe=M.getState().getChildrenOfType,me=ZG(de,ve,Pe);if(me.status===Z1.NO_BUILDING){fn(O.t("analysisManager.NoBuildingForAnalysis",N));return}if(me.status===Z1.AT_LEAST_ONE_BAD_NO_GOOD){let Re;switch(me.buildingCompletion){case Uc.WALL_DISJOINED:Re=O.t("message.WallsAreNotConnected",N);break;case Uc.WALL_EMPTY:Re=O.t("message.BuildingContainsEmptyWall",N);break;case Uc.ROOF_MISSING:Re=O.t("message.BuildingRoofMissing",N);break;default:Re=O.t("message.UnknownErrors",N)}Lo(O.t("message.SimulationWillNotStartDueToErrors",N)+": "+Re);return}me.status===Z1.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(O.t("message.SimulationWillStartDespiteWarnings",N)),fn(O.t("message.SimulationStarted",N)),setTimeout(()=>{i(),gt.getState().set(Re=>{Re.runDailyThermalSimulation=!0,Re.pauseDailyThermalSimulation=!1,Re.simulationInProgress=!0}),o(Re=>{e&&(Re.actionInfo={name:"Run Daily Building Energy Analysis",timestamp:new Date().getTime()})})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:O.t("word.SaveAsImage",N),onClick:()=>{Hd("line-graph-"+fe+"-"+se,"daily-building-energy").then(()=>{fn(O.t("message.ScreenshotSaved",N)),e&&o(de=>{de.actionInfo={name:"Take Screenshot of Daily Building Energy Graph",timestamp:new Date().getTime()}})})}}),T&&T.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:O.t("word.SaveAsCsv",N),onClick:()=>{wh(T,"daily-building-energy.csv"),fn(O.t("message.CsvFileSaved",N)),e&&o(de=>{de.actionInfo={name:"Export Daily Building Energy Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),ILo=Ho.div` +`,RLo=Se.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(lW),r=new Date(M(Ya)),a=M(bAt),l=gt(K1e),s=gt(QL),c=gt(rwt),u=gt(vf),d=be.hasSolarPanels(M.getState().elements),f=bn(Yje),p=bn(Oje),g=bn(_je),y=M(bc),A=Se.useRef(null),x=m.useRef(null),C=m.useRef(),b=x.current?x.current.clientWidth+40:a?a.width+40:640,v=x.current?x.current.clientHeight+100:a?a.height+100:460,[S,w]=m.useState({x:a?Math.max(a.x,b-window.innerWidth):0,y:a?Math.min(a.y,window.innerHeight-v):0}),[T,P]=m.useState([]),[R,H]=m.useState(0),[D,E]=m.useState(0),[L,U]=m.useState(0),[F,W]=m.useState(0),[B,k]=m.useState(["Heater","AC","Net"]),N=Kt(),j=a1(t),Y=m.useRef([]),_=m.useRef([]),J=m.useRef([]),Q=m.useRef([]);m.useEffect(()=>{s&&ee()},[s]),m.useEffect(()=>{ee()},[c]);const ee=()=>{P([]),H(0),E(0),U(0),W(0),k([])},{sum:$,sumHeaterMap:q,sumAcMap:le,sumSolarPanelMap:ie,dataLabels:pe}=Vst(r,j,d);m.useEffect(()=>{P($);let de=0,ve=0,Pe=0;const me=q.size>1;if(q){Y.current=[];for(const ze of q.keys()){const Ae=q.get(ze);Ae&&(de+=Ae,me&&Y.current.push(ze+": "+Ae.toFixed(2)+" "+O.t("word.kWh",N)))}}if(le){_.current=[];for(const ze of le.keys()){const Ae=le.get(ze);Ae&&(ve+=Ae,me&&_.current.push(ze+": "+Ae.toFixed(2)+" "+O.t("word.kWh",N)))}}if(ie&&ie.size>0){J.current=[];for(const ze of ie.keys()){const Ae=ie.get(ze);Ae&&(Pe+=Ae,me&&J.current.push(ze+": "+Ae.toFixed(2)+" "+O.t("word.kWh",N)))}}if(q&&le&&ie){Q.current=[];for(const ze of q.keys()){let Ae=0;const re=q.get(ze),ge=le.get(ze),we=ie.get(ze);re&&(Ae+=re),ge&&(Ae+=ge),we&&(Ae-=we),me&&Q.current.push(ze+": "+Ae.toFixed(2)+" "+O.t("word.kWh",N))}}H(de),E(ve),U(Pe),W(de+ve-Pe),f(de),p(ve),g(Pe);const Re=(Object.keys($[0]).length-1)/(d?4:3);if(Re>1){const ze=[];let Ae=0;for(let re=0;re{w({x:Math.max(a==null?void 0:a.x,b-window.innerWidth),y:Math.min(a==null?void 0:a.y,window.innerHeight-v)})},[a,b,v]),m.useEffect(()=>{const de=()=>{w({x:Math.max(a==null?void 0:a.x,b-window.innerWidth),y:Math.min(a==null?void 0:a.y,window.innerHeight-v)})};return window.addEventListener("resize",de),()=>{window.removeEventListener("resize",de)}},[a,b,v]),m.useEffect(()=>(x.current&&(C.current||(C.current=new ResizeObserver(()=>{o(de=>{x.current&&(de.viewState.dailyBuildingEnergyPanelRect||(de.viewState.dailyBuildingEnergyPanelRect=new ri(0,0,600,360)),de.viewState.dailyBuildingEnergyPanelRect.width=x.current.offsetWidth,de.viewState.dailyBuildingEnergyPanelRect.height=x.current.offsetHeight)})})),C.current.observe(x.current)),()=>{var de;(de=C.current)==null||de.disconnect()}),[]);const ne=(de,ve)=>{w({x:Math.max(ve.x,b-window.innerWidth),y:Math.min(ve.y,window.innerHeight-v)})},Z=(de,ve)=>{o(Pe=>{Pe.viewState.dailyBuildingEnergyPanelRect||(Pe.viewState.dailyBuildingEnergyPanelRect=new ri(0,0,600,360)),Pe.viewState.dailyBuildingEnergyPanelRect.x=Math.max(ve.x,b-window.innerWidth),Pe.viewState.dailyBuildingEnergyPanelRect.y=Math.min(ve.y,window.innerHeight-v)})},he=()=>{o(de=>{de.viewState.showDailyBuildingEnergyPanel=!1,e&&(de.actionInfo={name:"Close Daily Building Energy Graph",timestamp:new Date().getTime()})})},fe=O.t("word.Hour",N),se=O.t("word.Energy",N),oe=T&&T[0]?Object.keys(T[0]).length===0:!0;return h.jsx(Vr,{nodeRef:A,handle:".handle",bounds:"parent",axis:"both",position:S,onDrag:ne,onStop:Z,onMouseDown:()=>{o(de=>{de.selectedFloatingWindow="dailyBuildingEnergyPanel"})},children:h.jsx(TLo,{ref:A,style:{zIndex:y==="dailyBuildingEnergyPanel"?xc:9},children:h.jsxs(PLo,{ref:x,style:{opacity:n,width:(a?a.width:600)+"px",height:(a?a.height:360)+"px"},children:[h.jsxs(CLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[O.t("buildingEnergyPanel.DailyBuildingEnergy",N)+": ",h.jsx("span",{style:{fontSize:"10px"},children:O.t("sensorPanel.WeatherDataFrom",N)+" "+t+" | "+gi(r).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{he()},onMouseDown:()=>{he()},children:`${O.t("word.Close",N)}`})]}),h.jsx(Gst,{type:xr.DailyBuildingEnergy,dataSource:T,hasSolarPanels:d,labels:B,height:100,dataKeyAxisX:"Hour",labelX:fe,labelY:se,unitY:O.t("word.kWh",N),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:r.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[Y.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.Heater",N)+": "+R.toFixed(1)}):h.jsx(gl,{content:Y.current.map((de,ve)=>h.jsx("div",{children:de},ve)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.Heater",N)+": "+R.toFixed(1)})}),_.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.AC",N)+": "+D.toFixed(1)}):h.jsx(gl,{content:_.current.map((de,ve)=>h.jsx("div",{children:de},ve)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.AC",N)+": "+D.toFixed(1)})}),L!==0&&h.jsx(h.Fragment,{children:J.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.SolarPanel",N)+": "+L.toFixed(1)}):h.jsx(gl,{content:J.current.map((de,ve)=>h.jsx("div",{children:de},ve)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.SolarPanel",N)+": "+L.toFixed(1)})})}),Q.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.Net",N)+": "+F.toFixed(1)}):h.jsx(gl,{content:Q.current.map((de,ve)=>h.jsx("div",{children:de},ve)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.Net",N)+": "+F.toFixed(1)})}),h.jsx(no,{type:"default",icon:oe?h.jsx(vh,{}):h.jsx(xf,{}),title:O.t(oe?"word.Run":"word.Update",N),onClick:()=>{const de=M.getState().elements,ve=M.getState().countElementsByType,Pe=M.getState().getChildrenOfType,me=ZG(de,ve,Pe);if(me.status===eg.NO_BUILDING){fn(O.t("analysisManager.NoBuildingForAnalysis",N));return}if(me.status===eg.AT_LEAST_ONE_BAD_NO_GOOD){let Re;switch(me.buildingCompletion){case Uc.WALL_DISJOINED:Re=O.t("message.WallsAreNotConnected",N);break;case Uc.WALL_EMPTY:Re=O.t("message.BuildingContainsEmptyWall",N);break;case Uc.ROOF_MISSING:Re=O.t("message.BuildingRoofMissing",N);break;default:Re=O.t("message.UnknownErrors",N)}Lo(O.t("message.SimulationWillNotStartDueToErrors",N)+": "+Re);return}me.status===eg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(O.t("message.SimulationWillStartDespiteWarnings",N)),fn(O.t("message.SimulationStarted",N)),setTimeout(()=>{i(),gt.getState().set(Re=>{Re.runDailyThermalSimulation=!0,Re.pauseDailyThermalSimulation=!1,Re.simulationInProgress=!0}),o(Re=>{e&&(Re.actionInfo={name:"Run Daily Building Energy Analysis",timestamp:new Date().getTime()})})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:O.t("word.SaveAsImage",N),onClick:()=>{Hd("line-graph-"+fe+"-"+se,"daily-building-energy").then(()=>{fn(O.t("message.ScreenshotSaved",N)),e&&o(de=>{de.actionInfo={name:"Take Screenshot of Daily Building Energy Graph",timestamp:new Date().getTime()}})})}}),T&&T.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:O.t("word.SaveAsCsv",N),onClick:()=>{wh(T,"daily-building-energy.csv"),fn(O.t("message.CsvFileSaved",N)),e&&o(de=>{de.actionInfo={name:"Export Daily Building Energy Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),HLo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9540,7 +9540,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,zLo=Ho.div` +`,MLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9558,7 +9558,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,DLo=Ho.div` +`,ILo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9569,14 +9569,14 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,ELo=Se.memo(({city:t})=>{const e=M.getState().world,n=M(ha),o=M(pu)??m0,i=M(dn),r=M(lW),a=new Date(M(Ya)),l=M(CAt),s=gt(K1e),c=gt(Aq),u=gt(swt),d=gt(vf),f=be.hasSolarPanels(M.getState().elements),p=bn(Yje),g=bn(Oje),y=bn(_je),A=M(bc),x=m.useRef(null),C=m.useRef(),b=x.current?x.current.clientWidth+40:l?l.width+40:640,v=x.current?x.current.clientHeight+100:l?l.height+100:600,[S,w]=m.useState({x:l?Math.max(l.x,b-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-v):0}),T=Se.useRef(null),P=Kt(),R=r1(t),H=Ps[a.getMonth()],D=e.daysPerYear??6,E=12/D,[L,U]=m.useState(0),[F,W]=m.useState(0),[B,k]=m.useState(0),[N,j]=m.useState(0),[Y,_]=m.useState(["Heater","AC","Solar","Net"]),[J,Q]=m.useState([]),{sum:ee,sumHeaterMap:$,sumAcMap:q,sumSolarPanelMap:le,dataLabels:ie}=Vst(a,R,f),pe=m.useRef(new Array(D).fill({})),ne=m.useRef(new Array(D).fill(0)),Z=m.useRef(new Array(D).fill(0)),he=m.useRef(new Array(D).fill(0)),fe=m.useRef(new Array(D).fill(0)),se=m.useRef([]),oe=m.useRef([]),de=m.useRef([]),ve=m.useRef([]);m.useEffect(()=>{Pe()},[D,u]),m.useEffect(()=>{c&&Pe()},[c]);const Pe=()=>{pe.current=new Array(D).fill({}),ne.current=new Array(D).fill(0),Z.current=new Array(D).fill(0),he.current=new Array(D).fill(0),fe.current=new Array(D).fill(0),Q([]),U(0),W(0),k(0),j(0),_([])};m.useEffect(()=>{const we=Math.floor(a.getMonth()/E),ye=(Object.keys(ee[0]).length-1)/(f?4:3);if(se.current=[],oe.current=[],ve.current=[],de.current=[],ye>1){const Le=new Map,qe=new Map,We=new Map,De=new Map;for(const Ye of ee){let St=0;for(let dt=0;dt6&&(De=" "+Ye.substring(6).trim());break}const Fe="Heater"+De,_e="AC"+De,ot="Net"+De;if(f){const Ye="Solar"+De;let St=0;_([Fe,_e,Ye,ot]);for(const je of ee)Le+=je[Fe],qe+=je[_e],St+=je[Ye],We+=je[ot];const dt={};dt.Month=Ps[a.getMonth()],dt[Fe]=30*Le,dt[_e]=30*qe,dt[Ye]=30*St,dt[ot]=30*We,pe.current[we]=dt}else{_([Fe,_e,ot]);for(const St of ee)Le+=St[Fe],qe+=St[_e],We+=St[ot];const Ye={};Ye.Month=Ps[a.getMonth()],Ye[Fe]=30*Le,Ye[_e]=30*qe,Ye[ot]=30*We,pe.current[we]=Ye}}Q([...pe.current]);let Te=0;if($)for(const Le of $.keys())Te+=$.get(Le)??0;let Ie=0;if(q)for(const Le of q.keys())Ie+=q.get(Le)??0;let Ce=0;if(le&&f)for(const Le of le.keys())Ce+=le.get(Le)??0;ne.current[we]=Te*E*30,Z.current[we]=Ie*E*30,he.current[we]=Ce*E*30,fe.current[we]=ne.current[we]+Z.current[we]-he.current[we];const Ee=ne.current.slice(0,we+1).reduce((Le,qe)=>Le+qe,0);U(Ee);const Ue=Z.current.slice(0,we+1).reduce((Le,qe)=>Le+qe,0);W(Ue);const Ne=he.current.slice(0,we+1).reduce((Le,qe)=>Le+qe,0);k(Ne),j(fe.current.slice(0,we+1).reduce((Le,qe)=>Le+qe,0)),p(Ee),g(Ue),y(Ne),gt.getState().showSolarRadiationHeatmap||bn.getState().clearDataStore()},[s]),m.useEffect(()=>{w({x:Math.max(l==null?void 0:l.x,b-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-v)})},[l,b,v]),m.useEffect(()=>{const we=()=>{w({x:Math.max(l==null?void 0:l.x,b-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-v)})};return window.addEventListener("resize",we),()=>{window.removeEventListener("resize",we)}},[l,b,v]),m.useEffect(()=>(x.current&&(C.current||(C.current=new ResizeObserver(()=>{i(we=>{x.current&&(we.viewState.yearlyBuildingEnergyPanelRect||(we.viewState.yearlyBuildingEnergyPanelRect=new ri(0,0,600,500)),we.viewState.yearlyBuildingEnergyPanelRect.width=x.current.offsetWidth,we.viewState.yearlyBuildingEnergyPanelRect.height=x.current.offsetHeight)})})),C.current.observe(x.current)),()=>{var we;(we=C.current)==null||we.disconnect()}),[]);const me=(we,ye)=>{w({x:Math.max(ye.x,b-window.innerWidth),y:Math.min(ye.y,window.innerHeight-v)})},Re=(we,ye)=>{i(Te=>{Te.viewState.yearlyBuildingEnergyPanelRect||(Te.viewState.yearlyBuildingEnergyPanelRect=new ri(0,0,600,360)),Te.viewState.yearlyBuildingEnergyPanelRect.x=Math.max(ye.x,b-window.innerWidth),Te.viewState.yearlyBuildingEnergyPanelRect.y=Math.min(ye.y,window.innerHeight-v)})},ze=()=>{i(we=>{we.viewState.showYearlyBuildingEnergyPanel=!1,n&&(we.actionInfo={name:"Close Yearly Building Energy Graph",timestamp:new Date().getTime()})})},Ae=O.t("word.Month",P),re=O.t("word.Energy",P),ge=J&&J[0]?Object.keys(J[0]).length===0:!0;return h.jsx(Vr,{nodeRef:T,handle:".handle",bounds:"parent",axis:"both",position:S,onDrag:me,onStop:Re,onMouseDown:()=>{i(we=>{we.selectedFloatingWindow="yearlyBuildingEnergyPanel"})},children:h.jsx(ILo,{ref:T,style:{zIndex:A==="yearlyBuildingEnergyPanel"?xc:9},children:h.jsxs(zLo,{ref:x,style:{opacity:o,width:(l?l.width:600)+"px",height:(l?l.height:400)+"px"},children:[h.jsxs(DLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[O.t("buildingEnergyPanel.YearlyBuildingEnergy",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:O.t("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+a.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{ze()},onMouseDown:()=>{ze()},children:`${O.t("word.Close",P)}`})]}),h.jsx(Gst,{type:xr.YearlyBuildingEnergy,dataSource:J,hasSolarPanels:f,labels:Y,height:100,dataKeyAxisX:"Month",labelX:Ae,labelY:re,unitY:O.t("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:H}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[se.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.Heater",P)+": "+L.toFixed(0)}):h.jsx(gl,{content:se.current.map((we,ye)=>h.jsx("div",{children:we},ye)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.Heater",P)+": "+L.toFixed(0)})}),oe.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.AC",P)+": "+F.toFixed(0)}):h.jsx(gl,{content:oe.current.map((we,ye)=>h.jsx("div",{children:we},ye)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.AC",P)+": "+F.toFixed(0)})}),B!==0&&h.jsx(h.Fragment,{children:de.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.SolarPanel",P)+": "+B.toFixed(0)}):h.jsx(gl,{content:de.current.map((we,ye)=>h.jsx("div",{children:we},ye)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.SolarPanel",P)+": "+B.toFixed(0)})})}),ve.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.Net",P)+": "+N.toFixed(0)}):h.jsx(gl,{content:ve.current.map((we,ye)=>h.jsx("div",{children:we},ye)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.Net",P)+": "+N.toFixed(0)})}),h.jsx(no,{type:"default",icon:ge?h.jsx(vh,{}):h.jsx(xf,{}),title:O.t(ge?"word.Run":"word.Update",P),onClick:()=>{const we=M.getState().elements,ye=M.getState().countElementsByType,Te=M.getState().getChildrenOfType,Ie=ZG(we,ye,Te);if(Ie.status===Z1.NO_BUILDING){fn(O.t("analysisManager.NoBuildingForAnalysis",P));return}if(Ie.status===Z1.AT_LEAST_ONE_BAD_NO_GOOD){let Ce;switch(Ie.buildingCompletion){case Uc.WALL_DISJOINED:Ce=O.t("message.WallsAreNotConnected",P);break;case Uc.WALL_EMPTY:Ce=O.t("message.BuildingContainsEmptyWall",P);break;case Uc.ROOF_MISSING:Ce=O.t("message.BuildingRoofMissing",P);break;default:Ce=O.t("message.UnknownErrors",P)}Lo(O.t("message.SimulationWillNotStartDueToErrors",P)+": "+Ce);return}Ie.status===Z1.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(O.t("message.SimulationWillStartDespiteWarnings",P)),fn(O.t("message.SimulationStarted",P)),setTimeout(()=>{r(),gt.getState().set(Ce=>{Ce.runYearlyThermalSimulation=!0,Ce.pauseYearlyThermalSimulation=!1,Ce.simulationInProgress=!0}),i(Ce=>{n&&(Ce.actionInfo={name:"Run Yearly Building Energy Analysis",timestamp:new Date().getTime()})})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:O.t("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+Ae+"-"+re,"yearly-building-energy").then(()=>{fn(O.t("message.ScreenshotSaved",P)),n&&i(we=>{we.actionInfo={name:"Take Screenshot of Yearly Building Energy Graph",timestamp:new Date().getTime()}})})}}),pe.current&&pe.current.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:O.t("word.SaveAsCsv",P),onClick:()=>{wh(pe.current,"yearly-building-energy.csv"),fn(O.t("message.CsvFileSaved",P)),n&&i(we=>{we.actionInfo={name:"Export Yearly Building Energy Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),kLo=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(En),o=M(y4t),i=M(A4t),[r,a]=m.useState(!1),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=m.useRef(null),p=m.useRef(o),g=m.useRef(i),y=Kt();m.useEffect(()=>{var w;(w=f.current)==null||w.focus()},[]);const A=(w,T)=>{if(d.current){const{clientWidth:P,clientHeight:R}=window.document.documentElement,H=d.current.getBoundingClientRect();u({left:-H.left+T.x,right:P-(H.right-T.x),top:-H.top+T.y,bottom:R-((H==null?void 0:H.bottom)-T.y)})}},x=w=>{e(T=>{T.minimumNavigationMoveSpeed=w}),gt.getState().set(T=>{T.navigationMoveSpeed=w})},C=w=>{e(T=>{T.minimumNavigationTurnSpeed=w}),gt.getState().set(T=>{T.navigationTurnSpeed=w})},b=()=>{const w=o,T=p.current;if(w!==T){const H={name:"Minimum Navigation Move Speed",timestamp:Date.now(),oldValue:w,newValue:T,undo:()=>{x(H.oldValue)},redo:()=>{x(H.newValue)}};n(H),x(T)}const P=i,R=g.current;if(P!==R){const H={name:"Minimum Navigation Turn Speed",timestamp:Date.now(),oldValue:P,newValue:R,undo:()=>{C(H.oldValue)},redo:()=>{C(H.newValue)}};n(H),C(R)}},v=()=>{t(!1)},S=()=>{b(),t(!1)};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:`${O.t("navigationPanel.NavigationParameters",y)}`}),footer:[h.jsx(no,{onClick:v,children:`${O.t("word.Cancel",y)}`},"Cancel"),h.jsx(no,{type:"primary",ref:f,onClick:S,children:`${O.t("word.OK",y)}`},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:w=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(T,P)=>A(T,P),children:h.jsx("div",{ref:d,children:w})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:16,children:O.t("navigationPanel.MinimumMoveSpeed",y)+" ([1, 10]): "}),h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:1,max:10,style:{width:"100%"},precision:0,value:p.current,step:1,onChange:w=>{p.current=Number(w),a(!r)},onBlur:w=>{const T=w.target.value,P=parseFloat(T);p.current=Number.isNaN(P)?3:P,a(!r)},onPressEnter:w=>{const T=w.target.value,P=parseFloat(T);p.current=Number.isNaN(P)?3:P,a(!r)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:16,children:O.t("navigationPanel.MinimumTurnSpeed",y)+" ([1, 5]): "}),h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:1,max:5,style:{width:"100%"},precision:0,value:g.current,step:1,onChange:w=>{g.current=Number(w),a(!r)},onBlur:w=>{const T=w.target.value,P=parseFloat(T);g.current=Number.isNaN(P)?3:P,a(!r)},onPressEnter:w=>{const T=w.target.value,P=parseFloat(T);g.current=Number.isNaN(P)?3:P,a(!r)}})})]})]})}),FLo=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(En),o=M(hq),i=M(NBe),r=4096,a=1e4,[l,s]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState({left:0,top:0,bottom:0,right:0}),p=m.useRef(null),g=m.useRef(null),y=m.useRef(o?Math.round(o)/a:1),A=m.useRef(i?Math.round(i/r):1),x=Kt();m.useEffect(()=>{var P;(P=g.current)==null||P.focus()},[]);const C=(P,R)=>{if(p.current){const{clientWidth:H,clientHeight:D}=window.document.documentElement,E=p.current.getBoundingClientRect();f({left:-E.left+R.x,right:H-(E.right-R.x),top:-E.top+R.y,bottom:D-((E==null?void 0:E.bottom)-R.y)})}},b=P=>{e(R=>{R.viewState.shadowCameraFar=P})},v=P=>{e(R=>{R.shadowMapSize=P})},S=()=>{const P=o,R=y.current*a;if(P!==R){const E={name:"Shadow Camera Far Distance",timestamp:Date.now(),oldValue:P,newValue:R,undo:()=>{b(E.oldValue)},redo:()=>{b(E.newValue)}};n(E),b(R)}const H=i,D=A.current*r;if(H!==D){const E={name:"Shadow Map Size",timestamp:Date.now(),oldValue:H,newValue:D,undo:()=>{v(E.oldValue)},redo:()=>{v(E.newValue)}};n(E),v(D)}},w=()=>{t(!1)},T=()=>{S(),t(!1),window.location.reload()};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>u(!0),onMouseOut:()=>u(!1),children:`${O.t("shadowSettingsPanel.ShadowSettings",x)}`}),footer:[h.jsx(no,{onClick:w,children:`${O.t("word.Cancel",x)}`},"Cancel"),h.jsx(no,{type:"primary",ref:g,onClick:T,children:`${O.t("word.OK",x)}`},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:P=>h.jsx(Vr,{disabled:!c,bounds:d,onStart:(R,H)=>C(R,H),children:h.jsx("div",{ref:p,children:P})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:18,children:O.t("shadowSettingsPanel.ShadowCameraFarDistance",x)+" ([1, 1000]×"+a+"): "}),h.jsx(nt,{className:"gutter-row",span:6,children:h.jsx(Hn,{min:1,max:1e3,style:{width:"100%"},precision:0,value:y.current,step:1,onChange:P=>{y.current=Number(P),s(!l)},onBlur:P=>{const R=P.target.value,H=parseFloat(R);y.current=Number.isNaN(H)?1:H,s(!l)},onPressEnter:P=>{const R=P.target.value,H=parseFloat(R);y.current=Number.isNaN(H)?1:H,s(!l)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"10px"},children:[h.jsx(nt,{className:"gutter-row",span:18,children:O.t("shadowSettingsPanel.ShadowMapSize",x)+" ([1, 4]×"+r+"): "}),h.jsx(nt,{className:"gutter-row",span:6,children:h.jsx(Hn,{min:1,max:4,style:{width:"100%"},precision:0,value:A.current,step:1,onChange:P=>{A.current=Number(P),s(!l)},onBlur:P=>{const R=P.target.value,H=parseFloat(R);A.current=Number.isNaN(H)?1:H,s(!l)},onPressEnter:P=>{const R=P.target.value,H=parseFloat(R);A.current=Number.isNaN(H)?1:H,s(!l)}})})]}),h.jsx(nn,{style:{fontSize:"10px"},children:h.jsxs(nt,{span:24,children:[O.t("shadowSettingsPanel.Notes",x),":",h.jsx("br",{}),h.jsxs("ul",{children:[h.jsx("li",{children:O.t("shadowSettingsPanel.RefreshPageNote",x)}),h.jsx("li",{children:O.t("shadowSettingsPanel.MapSizeWarning",x)})]})]})})]})}),LLo=Se.memo(()=>{const t=M(Y1e),e=M(gq),n=M(TBe),o=M(gAt),i=M(PBe),r=M(CBe),a=M(AAt),l=M(vAt),s=gt(p4t),c=gt(g4t),u=gt(m4t),d=gt(cs),f=M(RBe),p=M(HAt),g=M(HBe),y=M(EAt),A=M(FAt),x=M(MBe),C=M(NAt),b=M(IBe),v=M(jAt),S=M(zBe),w=M(_At),T=M(DBe),P=M(XAt),R=M(EBe),H=M(qAt),D=M(SAt),E=M(PAt),L=M(QAt),U=M(Rq),F=M(Xs),W=M(wb),B=M(Lje),k=M(Fje),N=M(uge),j=M(fq)??!1,[Y,_]=m.useState("Boston MA, USA");return m.useEffect(()=>{if(Object.keys(N).length===0)return;const J=B(F,W)??"Boston MA, USA";_(J),k(J)},[F,W,N]),h.jsxs(h.Fragment,{children:[o&&h.jsx(x9o,{}),i&&h.jsx(P9o,{}),r&&h.jsx($ko,{}),t&&h.jsx(vFo,{}),e&&h.jsx(pFo,{}),(n||j)&&!U&&h.jsx(eFo,{}),a&&h.jsx(NIo,{city:Y,graphs:[xr.MonthlyTemperatures,xr.SunshineHours]}),l&&h.jsx(pLo,{city:Y}),s&&h.jsx(TLo,{setDialogVisible:J=>{gt.getState().set(Q=>{Q.showEconomicsPanel=J})}}),c&&h.jsx(kLo,{setDialogVisible:J=>{gt.getState().set(Q=>{Q.showNavigationPanel=J})}}),u&&h.jsx(FLo,{setDialogVisible:J=>{gt.getState().set(Q=>{Q.showShadowSettings=J})}}),p&&h.jsx(YIo,{city:Y}),f&&h.jsx(Gko,{city:Y}),y&&h.jsx(iFo,{city:Y}),g&&h.jsx(sFo,{city:Y}),A&&h.jsx(RFo,{}),C&&h.jsx(zFo,{city:Y}),x&&h.jsx(FFo,{city:Y}),v&&h.jsx(OFo,{city:Y}),b&&h.jsx(UFo,{city:Y}),S&&h.jsx(XFo,{city:Y}),w&&h.jsx($Fo,{city:Y}),T&&h.jsx(tLo,{city:Y}),P&&h.jsx(rLo,{city:Y}),R&&h.jsx(uLo,{city:Y}),H&&h.jsx(ALo,{city:Y}),D&&h.jsx(MLo,{city:Y}),E&&h.jsx(ELo,{city:Y}),d&&h.jsx(SFo,{}),L&&h.jsx(SLo,{})]})});class il{static computeSolarPanelOutput(e,n,o,i,r,a,l,s,c){const u=r.parentType===z.Roof,d=r.parentType===z.Wall;u&&(a=l);const f=d?be.absoluteCoordinates(r.cx,r.cy,r.cz,a,l,r.lz):be.absoluteCoordinates(r.cx,r.cy,r.cz,a),p=a.rotation[2];let g=r.tiltAngle,y=p+r.relativeAzimuth,A=!0;if(u&&(f.z=r.cz+r.lz+.02+a.cz+a.lz/2,be.isZero(r.rotation[0])?f.z+=r.poleHeight:(g=r.rotation[0],y=p,A=!1)),d&&!be.isZero(r.tiltAngle)){const ee=a,q=(l?l.rotation[2]+ee.relativeAngle:ee.relativeAngle)-Vt,le=r.ly*Math.abs(Math.sin(r.tiltAngle))/2;f.x+=le*Math.cos(q),f.y+=le*Math.sin(q)}const x=new ae().fromArray(r.normal),C=e.getMonth(),b=be.dayOfYear(e),v=n.solarRadiationHeatmapGridCellSize??.5;let S,w,T,P,R;n.discretization===Rm.EXACT?(S=r.lx,w=r.ly,r.orientation===ci.portrait?(T=Math.max(1,Math.round(r.lx/i.width)),P=Math.max(1,Math.round(r.ly/i.length)),T*=i.n,P*=i.m):(T=Math.max(1,Math.round(r.lx/i.length)),P=Math.max(1,Math.round(r.ly/i.width)),T*=i.m,P*=i.n),R=r.lx/T):(S=r.lx,w=r.ly,T=Math.max(2,Math.round(r.lx/v)),P=Math.max(2,Math.round(r.ly/v)),T%2!==0&&(T+=1),P%2!==0&&(P+=1),R=v);const H=S/T,D=w/P,E=f.x-(S-R)/2,L=f.y-(w-R)/2,U=u||d?f.z:a.lz+r.poleHeight+r.lz,F=new Gt(f.x,f.y),W=new ae,B=Array.from(Array(T),()=>new Array(P));let k=new Qt(u&&!A?0:g,0,y,"ZYX");if(r.trackerType!==Ma.NO_TRACKER){const ee=p?o.clone().applyAxisAngle(Po,-p):o.clone();switch(r.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const $=new Ts().setFromUnitVectors(Po,ee);k=new Qt().setFromQuaternion($),k.z+=y;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const $=new Ts().setFromUnitVectors(Po,new ae(ee.x,0,ee.z).normalize());k=new Qt().setFromQuaternion($),k.z+=y;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{const $=new ae(ee.x,-ee.y,0).normalize(),q=Math.acos(Yc.dot($))*Math.sign($.x);k=new Qt(r.tiltAngle,0,q+p,"ZYX");break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}x.applyEuler(k),u&&!A&&(k.x=r.rotation[0],k.z=r.rotation[2]+p),d&&(k.x=Vt+r.tiltAngle,k.z=a.relativeAngle+p);const N=Rr(o,b,s,vr.SPHERE_MODEL),j=tr(n.ground,C,x,N),Y=x.dot(o),_=new Gt,J=new ae;for(let ee=0;ee0&&(_.set(E+ee*H,L+$*D),J.set(_.x-F.x,_.y-F.y,0),J.applyEuler(k),W.set(f.x+J.x,f.y+J.y,U+J.z),c(r.id,W,o)<0&&(B[ee][$]+=Y*N));let Q=0;switch(i.shadeTolerance){case zv.NONE:{let ee=Number.MAX_VALUE;for(let $=0;$Array(x).fill(0)),B=Array(A).fill(0).map(()=>Array(x).fill(0));let k;for(let N=0;N0)for(const ee of a){if(ee.type!==z.Window)continue;const $=ee.cx*i.lx,q=ee.cz*i.lz,le=ee.lx*i.lx/2,ie=ee.lz*i.lz/2,pe=ee;if(pe.windowType===Sr.Arched){const ne=S.clone().add(new ae(pe.cx*i.lx,0,pe.cz*i.lz));il.pointWithinArch(R,pe.lx,pe.lz,pe.archHeight,ne)&&(k=!1)}else if(J.x>=$-le&&J.x<$+le&&J.y>=q-ie&&J.y0)for(const ee of l){if(ee.type!==z.Door)continue;const $=ee.cx*i.lx,q=ee.cz*i.lz,le=ee.lx*i.lx/2,ie=ee.lz*i.lz/2,pe=ee;if(pe.doorType===bd.Arched){const ne=S.clone().add(new ae(pe.cx*i.lx,0,pe.cz*i.lz));il.pointWithinArch(R,pe.lx,pe.lz,pe.archHeight,ne)&&(k=!1)}else if(J.x>=$-le&&J.x<$+le&&J.y>=q-ie&&J.y0)for(const ee of s){const $=ee.cx*i.lx,q=ee.cz*i.lz,le=ee.lx/2,ie=ee.ly/2;if(J.x>=$-le&&J.x<$+le&&J.y>=q-ie&&J.yZ3||$<0)&&ee&&(W[N][j]+=U),F>0&&$<0&&(B[N][j]+=F*L,ee&&(W[N][j]+=F*L))}}}return{intensity:W,unitArea:C*b,heatmap:B}}static computeDoorSolarRadiationEnergy(e,n,o,i,r,a,l,s){const c=be.dayOfYear(e),u=n.solarRadiationHeatmapGridCellSize??.5,d=i.lx*r.lx,f=i.lz*r.lz,p=Math.max(2,Math.round(d/u)),g=Math.max(2,Math.round(f/u)),y=d/p,A=f/g,x=a.rotation[2]+r.relativeAngle,b=be.wallAbsolutePosition(new ae(r.cx,r.cy,r.cz),a).setZ(r.lz/2+a.lz).clone().add(new ae(i.cx*r.lx,0,i.cz*r.lz)),v=new ae(Math.cos(x-Vt),Math.sin(x-Vt),0),S=y*Math.cos(x),w=y*Math.sin(x),T=new ae,P=Rr(o,c,l,vr.SPHERE_MODEL),R=tr(n.ground,e.getMonth(),v,P),H=v.dot(o),D=Array(p).fill(0).map(()=>Array(g).fill(0));if(i.doorType===bd.Arched)for(let E=0;E0&&s(i.id,T,o)<0&&(D[E][L]+=H*P))}else for(let E=0;E0){const U=E-p/2+.5,F=L-g/2+.5;T.set(b.x+U*S,b.y+U*w,b.z+F*A),s(i.id,T,o)<0&&(D[E][L]+=H*P)}return{intensity:D,unitArea:y*A}}static pointWithinArch(e,n,o,i,r){if(i>0){const a=.5*n,l=Math.min(i,o,a),s=.5*(l+a*a/l),c=e.x-r.x,u=e.y-r.y,d=c*c+u*u;let f=e.z-r.z;return d-o/2?!0:(f=e.z-(o-s),d+f*fArray(g).fill(0));if(i.windowType===Sr.Arched)for(let E=0;E0&&s(i.id,T,o)<0&&(D[E][L]+=H*P))}else for(let E=0;E0){const U=E-p/2+.5,F=L-g/2+.5;T.set(b.x+U*S,b.y+U*w,b.z+F*A),s(i.id,T,o)<0&&(D[E][L]+=H*P)}return{intensity:D,unitArea:y*A}}static computeRoofWindowSolarRadiationEnergy(e,n,o,i,r,a,l,s){const c=be.dayOfYear(e),u=n.solarRadiationHeatmapGridCellSize??.5,d=i.lx,f=i.lz,p=Math.max(2,Math.round(d/u)),g=Math.max(2,Math.round(f/u)),y=d/p,A=f/g,x=new ae(i.cx,i.cy,i.cz).applyEuler(new Qt(0,0,a.rotation[2]));x.x+=a.cx,x.y+=a.cy,x.z+=a.lz;const C=new Qt(i.rotation[0],i.rotation[1],i.rotation[2]+a.rotation[2],"ZXY"),b=new ae(0,0,1).applyEuler(C),v=new ae,S=Rr(o,c,l,vr.SPHERE_MODEL),w=tr(n.ground,e.getMonth(),b,S),T=b.dot(o),P=Array(p).fill(0).map(()=>Array(g).fill(0));if(i.windowType===Sr.Arched)for(let R=0;R0&&s(i.id,v,o)<0&&(P[R][H]+=T*S))}else for(let R=0;R0){const D=R-p/2+.5,E=H-g/2+.5,L=new ae(D,E,0);L.applyEuler(C),v.set(x.x+L.x,x.y+L.y,x.z+L.z),s(i.id,v,o)<0&&(P[R][H]+=T*S)}return{intensity:P,unitArea:y*A}}static computePyramidRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=n.solarRadiationHeatmapGridCellSize??.5,g=be.dayOfYear(e),y=new Qt(0,0,s.rotation[2],"ZYX"),A=Rr(o,g,d,vr.SPHERE_MODEL),x=[],C=[];for(const[b,v]of l.entries()){const S=i.id+"-"+b,w=v[0].clone().applyEuler(y),T=v[1].clone().applyEuler(y),P=v[2].clone().applyEuler(y),R=new ae().subVectors(T,w),H=new ae().subVectors(P,w),D=new ae().subVectors(P,T),E=R.length(),L=new ae().crossVectors(H,D).length()/E,U=Math.max(2,Math.round(E/p)),F=Math.max(2,Math.round(L/p)),W=Array(U).fill(0).map(()=>Array(F).fill(0));x.push(W),R.normalize();const B=U*H.dot(R)/E;H.normalize(),D.normalize();const k=new ae().crossVectors(H,D).normalize(),N=R.multiplyScalar(.5*E/U),j=new ae().crossVectors(k,R).normalize().multiplyScalar(.5*L/F),Y=new ae(s.cx+w.x,s.cy+w.y,s.lz+w.z+f0+(a?i.thickness:0));Y.add(N).add(j),N.multiplyScalar(2),j.multiplyScalar(2),C.push(N.length()*j.length());const _=new ae,J=[],Q=.01;J.push({x:-Q,y:-Q}),J.push({x:U+Q,y:-Q}),J.push({x:B,y:F+Q});const ee=tr(n.ground,e.getMonth(),k,A),$=k.dot(o);for(let q=0;qZ3||ne<0)&&(W[q][ie]+=ee),$>0&&ne<0&&(W[q][ie]+=$*A)}}}}return{segmentIntensities:x,segmentUnitArea:C}}static computeHipRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=be.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,y=new Qt(0,0,s.rotation[2],"ZYX"),A=Rr(o,p,d,vr.SPHERE_MODEL),x=[],C=[];for(const[b,v]of l.entries()){const S=i.id+"-"+b,w=v[0].clone().applyEuler(y),T=v[1].clone().applyEuler(y),P=v[2].clone().applyEuler(y),R=new ae().subVectors(T,w),H=new ae().subVectors(P,w),D=new ae().subVectors(P,T),E=R.length(),L=new ae().crossVectors(H,D).length()/E,U=Math.max(2,Math.round(E/g)),F=Math.max(2,Math.round(L/g)),W=Array(U).fill(0).map(()=>Array(F).fill(0));x.push(W),R.normalize();const B=U*H.dot(R)/E;H.normalize(),D.normalize();const k=new ae().crossVectors(H,D).normalize(),N=R.multiplyScalar(.5*E/U),j=new ae().crossVectors(k,R).normalize().multiplyScalar(.5*L/F),Y=new ae,_=new ae(s.cx+w.x,s.cy+w.y,s.lz+w.z+f0+(a?i.thickness:0));_.add(N).add(j),N.multiplyScalar(2),j.multiplyScalar(2),C.push(N.length()*j.length());const J=tr(n.ground,e.getMonth(),k,A),Q=k.dot(o),ee=[];for(const $ of v)ee.push({x:$.x,y:$.y});if(b%2===0)for(let $=0;$Z3||pe<0)&&(W[$][le]+=J),Q>0&&pe<0&&(W[$][le]+=Q*A)}}}else{const $=[];$.push({x:-.01,y:-.01}),$.push({x:U+.01,y:-.01}),$.push({x:B,y:F+.01});for(let le=0;leZ3||Z<0)&&(W[le][pe]+=J),Q>0&&Z<0&&(W[le][pe]+=Q*A)}}}}}return{segmentIntensities:x,segmentUnitArea:C}}static computeGambrelRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=be.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,y=new Qt(0,0,s.rotation[2],"ZYX"),A=Rr(o,p,d,vr.SPHERE_MODEL),x=[],C=[];for(const[b,v]of l.entries()){const S=i.id+"-"+b,w=v[0].clone().applyEuler(y),T=v[1].clone().applyEuler(y),P=v[2].clone().applyEuler(y),R=new ae().subVectors(T,w),H=new ae().subVectors(P,w),D=new ae().subVectors(P,T),E=R.length(),L=new ae().crossVectors(H,D).length()/E,U=Math.max(2,Math.round(E/g)),F=Math.max(2,Math.round(L/g)),W=Array(U).fill(0).map(()=>Array(F).fill(0));x.push(W),R.normalize(),H.normalize(),D.normalize();const B=new ae().crossVectors(H,D).normalize(),k=R.multiplyScalar(.5*E/U),N=new ae().crossVectors(B,R).normalize().multiplyScalar(.5*L/F),j=new ae(s.cx+w.x,s.cy+w.y,s.lz+w.z+f0+(a?i.thickness:0));j.add(k).add(N),k.multiplyScalar(2),N.multiplyScalar(2),C.push(k.length()*N.length());const Y=new ae,_=tr(n.ground,e.getMonth(),B,A),J=B.dot(o);for(let Q=0;QZ3||q<0)&&(W[Q][$]+=_),J>0&&q<0&&(W[Q][$]+=J*A)}}}return{segmentIntensities:x,segmentUnitArea:C}}static computeMansardRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=be.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,y=new Qt(0,0,s.rotation[2],"ZYX"),A=Rr(o,p,d,vr.SPHERE_MODEL),x=[],C=[];for(const[b,v]of l.entries()){const S=i.id+"-"+b;if(b===l.length-1){let w=Number.MAX_VALUE,T=Number.MAX_VALUE,P=-Number.MAX_VALUE,R=-Number.MAX_VALUE;for(const j of v){const Y=j.clone().applyEuler(y);Y.x>P&&(P=Y.x),Y.xR&&(R=Y.y),Y.yArray(E).fill(0));x.push(F);const W=new ae(w+g/2,T+g/2,s.lz+H+f0+(a?i.thickness:0)),B=new ae(0,0,W.z),k=tr(n.ground,e.getMonth(),Po,A),N=Po.dot(o);for(let j=0;jZ3||_<0)&&(F[j][Y]+=k),N>0&&_<0&&(F[j][Y]+=N*A)}}}else{const w=v[0].clone().applyEuler(y),T=v[1].clone().applyEuler(y),P=v[2].clone().applyEuler(y),R=new ae().subVectors(T,w),H=new ae().subVectors(P,w),D=new ae().subVectors(P,T),E=R.length(),L=new ae().crossVectors(H,D).length()/E,U=Math.max(2,Math.round(E/g)),F=Math.max(2,Math.round(L/g)),W=Array(U).fill(0).map(()=>Array(F).fill(0));x.push(W),R.normalize(),H.normalize(),D.normalize();const B=new ae().crossVectors(H,D).normalize(),k=R.multiplyScalar(.5*E/U),N=new ae().crossVectors(B,R).normalize().multiplyScalar(.5*L/F),j=new ae(s.cx+w.x,s.cy+w.y,s.lz+w.z+f0+(a?i.thickness:0));j.add(k).add(N),k.multiplyScalar(2),N.multiplyScalar(2),C.push(k.length()*N.length());const Y=new ae,_=tr(n.ground,e.getMonth(),B,A),J=B.dot(o);for(let Q=0;QZ3||q<0)&&(W[Q][$]+=_),J>0&&q<0&&(W[Q][$]+=J*A)}}}}return{segmentIntensities:x,segmentUnitArea:C}}static computeFlatRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d){const f=be.dayOfYear(e),p=n.solarRadiationHeatmapGridCellSize??.5,g=new Qt(0,0,l.rotation[2],"ZYX"),y=Rr(o,f,u,vr.SPHERE_MODEL),A=[],x=[];let C=Number.MAX_VALUE,b=Number.MAX_VALUE,v=-Number.MAX_VALUE,S=-Number.MAX_VALUE;for(const W of a)for(const B of W){const k=B.clone().applyEuler(g);k.x>v&&(v=k.x),k.xS&&(S=k.y),k.yArray(T).fill(0));A.push(H),x.push(P*R);const D=a[0][0].z,E=new ae(C+p/2,b+p/2,l.lz+D+f0+(r?i.thickness:0)),L=new ae(0,0,E.z),U=tr(n.ground,e.getMonth(),Po,y),F=Po.dot(o);for(let W=0;WZ3||k<0)&&(H[W][B]+=U),F>0&&k<0&&(H[W][B]+=F*y)}}return{segmentIntensities:A,segmentUnitArea:x}}static computeGableRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d){const f=be.dayOfYear(e),p=n.solarRadiationHeatmapGridCellSize??.5,g=new Qt(0,0,l.rotation[2],"ZYX"),y=Rr(o,f,u,vr.SPHERE_MODEL),A=[],x=[];for(const[C,b]of a.entries()){const v=i.id+"-"+C,S=b[0].clone().applyEuler(g),w=b[1].clone().applyEuler(g),T=b[2].clone().applyEuler(g),P=new ae().subVectors(w,S),R=new ae().subVectors(T,S),H=new ae().subVectors(T,w),D=P.length(),E=new ae().crossVectors(R,H).length()/D,L=Math.max(2,Math.round(D/p)),U=Math.max(2,Math.round(E/p)),F=Array(L).fill(0).map(()=>Array(U).fill(0));A.push(F),P.normalize(),R.normalize(),H.normalize();const W=new ae().crossVectors(R,H).normalize(),B=P.multiplyScalar(.5*D/L),k=new ae().crossVectors(W,P).normalize().multiplyScalar(.5*E/U),N=new ae(l.cx+S.x,l.cy+S.y,l.lz+S.z+f0+(r?i.thickness:0));N.add(B).add(k),B.multiplyScalar(2),k.multiplyScalar(2),x.push(B.length()*k.length());const j=new ae,Y=tr(n.ground,e.getMonth(),W,y),_=W.dot(o);for(let J=0;JZ3||$<0)&&(F[J][ee]+=Y),_>0&&$<0&&(F[J][ee]+=_*y)}}}return{segmentIntensities:A,segmentUnitArea:x}}static isPointRoof(e,n,o,i){if(n&&n.length>0)for(const r of n){const a=In.getAbsoluteWindowVerticesOnRoof(r,i),l=be.getPoints(a);if(be.isPointInside(e.x,e.y,l))return!1}if(o&&o.length>0)for(const r of o){const a=In.getAbsoluteSolarPanelVerticesOnRoof(r,i),l=be.getPoints(a);if(be.isPointInside(e.x,e.y,l))return!1}return!0}}const WLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(cA),i=M(rr),r=M(Q9),a=M(J2),l=bn(J1e),s=bn($L),c=bn(q1e),u=bn(x4t),d=bn(S4t),f=bn(P4t),p=M(ha),g=gt(QL),y=gt(rwt),A=gt(Aq),x=gt(awt),C=M.getState().world,b=M.getState().elements,v=C.noAnimationForThermalSimulation,S=C.highestTemperatureTimeInMinutes??900,w=m.useRef(0),T=m.useRef(!1),P=m.useRef(new Date(C.date)),R=m.useRef(0),H=m.useRef(!1),D=m.useRef(new Date(C.date)),E=m.useRef(0),L=m.useRef({high:20,low:0}),U=m.useRef(20),F=m.useRef(20),W=m.useRef(new Map),B=m.useRef(new Map),k=m.useRef(new Map),N=m.useRef([]),j=m.useRef([]),Y=m.useRef(),_=m.useRef(),J=m.useRef(0),Q=m.useRef(new Map),ee=Kt(),$=r1(t),q=new Date(C.date),le=t?$==null?void 0:$.elevation:0,ie=C.monthlyIrradianceLosses??new Array(12).fill(.05),pe=C.timesPerHour??4,ne=60/pe,Z=C.daysPerYear??6,he=12/Z,{scene:fe}=Xi(),se=m.useMemo(()=>new Gs,[]),oe=()=>$5(1,fye(q),QW(q),be.toRadians(C.latitude)).normalize(),de=(Oe,et,vt)=>{if(N.current.length>1){j.current.length=0,se.set(et,vt);const ct=N.current.filter(lt=>lt.uuid!==Oe);if(se.intersectObjects(ct,!1,j.current),j.current.length>0)return j.current[0].distance}return-1},ve=()=>{const Oe=fe.children.filter(et=>et.name==="Content");if(Oe.length>0){const et=Oe[0].children;N.current.length=0;for(const vt of et)be.fetchSimulationElements(vt,N.current)}},Pe=Oe=>{if($){L.current=Jx(q,$.lowestTemperatures,$.highestTemperatures);const et=be.minutesIntoDay(Oe);U.current=Xx(L.current.high,L.current.low,C.diurnalTemperatureModel??u2.Sinusoidal,S,sl(Oe,C.latitude),et),F.current=Z$e(C.latitude,be.dayOfYear(q),et,$.lowestTemperatures,$.highestTemperatures,S,.5*(L.current.high-L.current.low),C.ground.thermalDiffusivity??.05,JNe)}},me=(Oe,et)=>{let vt=W.current.get(Oe);vt||(vt=new Array(24).fill(0),W.current.set(Oe,vt)),vt[q.getHours()]+=et},Re=(Oe,et)=>{let vt=B.current.get(Oe);vt||(vt=new Array(24).fill(0),B.current.set(Oe,vt)),vt[q.getHours()]+=et},ze=(Oe,et)=>{let vt=k.current.get(Oe);vt||(vt=new Array(24).fill(0),k.current.set(Oe,vt)),vt[q.getHours()]+=et},Ae=()=>{var Oe,et,vt,ct;for(const lt of b){if(be.onBuildingEnvelope(lt)&&((Oe=W.current.get(lt.id))==null||Oe.fill(0)),lt.type===z.Roof)for(const tt of W.current.keys())tt!==lt.id&&tt.startsWith(lt.id)&&((et=W.current.get(tt))==null||et.fill(0));lt.type===z.Foundation&&((vt=B.current.get(lt.id))==null||vt.fill(0),(ct=k.current.get(lt.id))==null||ct.fill(0))}},re=()=>{Q.current.clear()};m.useEffect(()=>{if(g)if(v&&!be.hasMovingParts(b))ge();else return ve(),we(),w.current=requestAnimationFrame(Te),()=>{cancelAnimationFrame(w.current),T.current||(fn(O.t("message.SimulationAborted",ee)),e(Oe=>{Oe.world.date=P.current.toLocaleString("en-US")}),gt.getState().set(Oe=>{Oe.simulationInProgress=!1,Oe.simulationPaused=!1})),H.current=!1}},[g]),m.useEffect(()=>{H.current=y,y?(D.current=new Date(q.getTime()),cancelAnimationFrame(w.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",ee))):(n("simulationPaused",!1),q.setHours(q.getHours(),q.getMinutes()+ne),Te())},[y]);const ge=()=>{Ne()},we=()=>{H.current?(q.setTime(D.current.getTime()),H.current=!1):(P.current=new Date(C.date),E.current=be.dayOfYear(q),q.setHours(0,ne/2)),T.current=!1,Ae(),re()},ye=()=>{for(const Oe of b){if(be.onBuildingEnvelope(Oe)||Oe.type===z.SolarPanel){const et=W.current.get(Oe.id);et&&u(Oe.id,[...et]);const vt=Q.current.get(Oe.id);vt&&l(Oe.id,vt.map(ct=>[...ct]))}if(Oe.type===z.Roof){for(const et of W.current.keys())if(et!==Oe.id&&et.startsWith(Oe.id)){const vt=W.current.get(et);vt&&u(et,[...vt]);const ct=Q.current.get(et);ct&&l(et,ct.map(lt=>[...lt]))}}if(Oe.type===z.Foundation){let et=B.current.get(Oe.id);et&&d(Oe.id,[...et]),et=k.current.get(Oe.id),et&&f(Oe.id,[...et])}}gt.getState().set(Oe=>{Oe.flagOfDailySimulation=!Oe.flagOfDailySimulation,Oe.runYearlyThermalSimulation||(Oe.showSolarRadiationHeatmap=!0,Oe.showHeatFluxes=!0)}),p&&!A&&setTimeout(()=>{e(Oe=>{const et=bn.getState().totalBuildingHeater,vt=bn.getState().totalBuildingAc,ct=bn.getState().totalBuildingSolarPanel;Oe.actionInfo={name:"Daily Building Energy Analysis Completed",result:{Heater:et.toFixed(2),AC:vt.toFixed(2),SolarPanel:ct.toFixed(2),Net:(et+vt-ct).toFixed(2)},timestamp:new Date().getTime()}})},10)},Te=()=>{if(g&&!H.current){if(q.getMinutes()+q.getHours()*60+(be.dayOfYear(q)-E.current)*y2+ne>y2){Ne(),cancelAnimationFrame(w.current),e(et=>{et.world.date=P.current.toLocaleString("en-US"),et.viewState.showDailyBuildingEnergyPanel=!0,et.selectedFloatingWindow="dailyBuildingEnergyPanel"}),gt.getState().set(et=>{et.runDailyThermalSimulation=!1,et.simulationPaused=!1,et.simulationInProgress=!1}),fn(O.t("message.SimulationCompleted",ee)),T.current=!0,ye();return}e(et=>{et.world.date=q.toLocaleString("en-US")}),Ne(),w.current=requestAnimationFrame(Te),q.setHours(q.getHours(),q.getMinutes()+ne)}},[Ie,Ce]=m.useState(q.getMonth());m.useEffect(()=>{setTimeout(()=>{ve()},200)},[Ie]),m.useEffect(()=>{if(A)if(gt.getState().set(Oe=>{Oe.showSolarRadiationHeatmap=!1,Oe.showHeatFluxes=!1}),v&&!be.hasMovingParts(b))setTimeout(()=>{},50);else return Ee(),Ce(q.getMonth()),ve(),w.current=requestAnimationFrame(Ue),()=>{cancelAnimationFrame(w.current),T.current||(fn(O.t("message.SimulationAborted",ee)),e(Oe=>{Oe.world.date=P.current.toLocaleString("en-US")}),gt.getState().set(Oe=>{Oe.simulationInProgress=!1,Oe.simulationPaused=!1})),H.current=!1}},[A]),m.useEffect(()=>{H.current=x,x?(D.current=new Date(q.getTime()),cancelAnimationFrame(w.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",ee))):(n("simulationPaused",!1),q.setHours(q.getHours(),q.getMinutes()+ne),Ue())},[x]);const Ee=()=>{H.current?(q.setTime(D.current.getTime()),H.current=!1):(P.current=new Date(C.date),R.current=0,q.setMonth(0,22),E.current=be.dayOfYear(q),q.setHours(0,ne/2),e(Oe=>{Oe.viewState.showYearlyBuildingEnergyPanel=!0,Oe.selectedFloatingWindow="yearlyBuildingEnergyPanel",Oe.world.date=q.toLocaleString("en-US")})),Ae(),re(),T.current=!1},Ue=()=>{A&&!H.current&&(q.getMinutes()+q.getHours()*60+(be.dayOfYear(q)-E.current)*y2{et.world.date=q.toLocaleString("en-US")}),Ne(),q.setHours(q.getHours(),q.getMinutes()+ne),w.current=requestAnimationFrame(Ue)):(ye(),R.current++,R.current===Z?(cancelAnimationFrame(w.current),setTimeout(()=>{e(et=>{et.world.date=P.current.toLocaleString("en-US")})},10),gt.getState().set(et=>{et.runYearlyThermalSimulation=!1,et.simulationInProgress=!1,et.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",ee)),T.current=!0,p&&setTimeout(()=>{e(et=>{const vt=bn.getState().totalBuildingHeater,ct=bn.getState().totalBuildingAc,lt=bn.getState().totalBuildingSolarPanel;et.actionInfo={name:"Yearly Building Energy Analysis Completed",result:{Heater:vt.toFixed(2),AC:ct.toFixed(2),SolarPanel:lt.toFixed(2),Net:(vt+ct-lt).toFixed(2)},timestamp:new Date().getTime()}})},10)):(q.setMonth(R.current*he,22),q.setHours(0,ne/2),Ce(q.getMonth()),E.current=be.dayOfYear(q),Ae(),re(),w.current=requestAnimationFrame(Ue))))},Ne=()=>{Pe(q),_.current=sl(q,C.latitude);const Oe=_.current.daylight()/60;J.current=Oe>kt?$.sunshineHours[q.getMonth()]/(30*Oe*pe):0,Y.current=oe();for(const et of b)switch(et.type){case z.Door:{ot(et);break}case z.Window:{Fe(et),_e(et);break}case z.Wall:{Ye(et);break}case z.Roof:{const vt=et;je(vt),St(vt);break}case z.SolarPanel:{De(et);break}}},Le=(Oe,et)=>{let vt=et.efficiency;return et.cellType==="Monocrystalline"&&(vt*=.95),vt*(1+et.pmaxTC*(Oe-25))},qe=()=>{if(!_.current)throw new Error("sun minutes not set");const Oe=_.current.daylight()/60;return Oe>kt?$.sunshineHours[q.getMonth()]/(30*Oe*pe):0},We=Oe=>{if(!a(Oe.pvModelName))throw new Error("PV model not found");return Oe.lx*Oe.ly*(Oe.inverterEfficiency??.95)*(1-ie[q.getMonth()])},De=Oe=>{const et=o(Oe);if(et){const vt=i(Oe);if(vt){const ct=a(Oe.pvModelName);if(Y.current&&Y.current.z>0){const lt=il.computeSolarPanelOutput(q,C,Y.current,ct,Oe,vt,et,le,de),tt=Le(U.current,ct)*qe()*We(Oe);if(ze(et.id,lt.average*tt),g){for(let At=0;At{var vt;if(Oe.interior)return;const et=o(Oe);if(et){const ct=i(Oe);if(ct){const lt=((vt=et.hvacSystem)==null?void 0:vt.thermostatSetpoint)??20,tt=be.getWindowArea(Oe,Oe.parentType===z.Roof?void 0:ct),it=U.current-lt;Oe.empty?me(Oe.id,it*tt*aO*.001/pe):me(Oe.id,it*tt*(Oe.uValue??B4)*.001/pe)}}},_e=Oe=>{if(Oe.interior)return;const et=o(Oe);if(et){const vt=i(Oe);if(vt){let ct=0;if(Oe.parentType===z.Roof){const lt=s(vt.id);if(!lt)return;for(let tt=0;tt0){const it=il.computeRoofWindowSolarRadiationEnergy(q,C,Y.current,Oe,vt,et,le,de);for(let At=0;At0){const lt=il.computeWallWindowSolarRadiationEnergy(q,C,Y.current,Oe,vt,et,le,de);for(let tt=0;tt{var vt;if(Oe.interior)return;const et=o(Oe);if(et){const ct=i(Oe);if(ct){const lt=((vt=et.hvacSystem)==null?void 0:vt.thermostatSetpoint)??20,tt=be.getDoorArea(Oe,ct);if(Oe.filled){const it=G8(Oe);let At=0;if(Y.current&&Y.current.z>0){const ft=il.computeDoorSolarRadiationEnergy(q,C,Y.current,Oe,ct,et,le,de);for(let Rt=0;Rt{var vt;const et=o(Oe);if(et){const ct=Oe.fill!==Hl.Empty&&Oe.wallStructure===hc.Default,lt=((vt=et.hvacSystem)==null?void 0:vt.thermostatSetpoint)??20;if(ct){const tt=Oe.fill===Hl.Partial&&!be.isPartialWallFull(Oe),it=be.getWallVertices(Oe,0),At=tt?be.getPartialWallVertices(Oe,0):it,Mt=be.getPolygonArea(it);let st=tt?be.getPolygonArea(At):Mt;const ft=r(z.Window,Oe.id),Rt=r(z.Door,Oe.id),zt=G8(Oe);let Xe=0;if(Y.current&&Y.current.z>0){const Ge=(tt?At.length:it.length)===4,xt=r(z.SolarPanel,Oe.id),It=il.computeWallSolarRadiationEnergy(q,C,Y.current,Oe,et,ft,Rt,xt,Ge?0:1,le,de);for(let Tt=0;Tt0)for(const Ge of ft)st-=be.getWindowArea(Ge,Oe);if(Rt&&Rt.length>0)for(const Ge of Rt)st-=Ge.lx*Ge.lz*Oe.lx*Oe.lz;const ht=be.isZero(Xe)||be.isZero(zt)?0:Xe*zt/((Oe.volumetricHeatCapacity??.5)*st*Oe.ly);let mt=(U.current+ht-lt)*st/(Oe.rValue??i6)*.001/pe;tt&&Oe.openToOutside&&(mt+=(U.current-lt)*(Mt-st)*aO*.001/pe),me(Oe.id,mt)}else if(Oe.openToOutside){const tt=be.getWallVertices(Oe,0),it=be.getPolygonArea(tt),At=U.current-lt;me(Oe.id,At*it*aO*.001/pe)}}},St=Oe=>{var tt;const et=o(Oe);if(!et)return;const vt=((tt=et.hvacSystem)==null?void 0:tt.thermostatSetpoint)??20,ct=be.calculateBuildingArea(Oe),lt=F.current-vt;me(et.id,lt*ct/(et.rValue??Q4)*.001/pe)},dt=(Oe,et,vt)=>{const ct=1/(Oe.rValue??Z4),lt=1/(Oe.ceilingRValue??c6);return(ct*et+lt*vt)/(ct+lt)},je=Oe=>{var lt;const et=o(Oe);if(!et)return;const vt=s(Oe.id);if(!vt)return;let ct;switch(Oe.roofType){case Vo.Pyramid:ct=at(Oe,vt,et);break;case Vo.Hip:ct=ut(Oe,vt,et);break;case Vo.Gable:ct=Qe(Oe,vt,et);break;case Vo.Gambrel:ct=wt(Oe,vt,et);break;case Vo.Mansard:ct=rt(Oe,vt,et);break}if(ct){const tt=((lt=et.hvacSystem)==null?void 0:lt.thermostatSetpoint)??20;let it=0;for(const[At,Mt]of ct.entries()){const ft=(Mt.surfaceTemperature-(Oe.ceiling?dt(Oe,Mt.surfaceTemperature,tt):tt))*Mt.totalArea/(Oe.rValue??Z4)*.001/pe;me(Oe.id+"-"+At,ft),it+=ft}me(Oe.id,it)}},at=(Oe,et,vt)=>{if(Oe.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const ct=et.length;if(ct===0)return;let lt=!0;const tt=et[0][0].z;for(const Xe of et)for(const ht of Xe)if(Math.abs(ht.z-tt)>.01){lt=!1;break}const it=lt?1:ct,At=r(z.Window,Oe.id),Mt=[];if(lt){let Xe=0;for(const ht of et){const Je=[];for(const mt of ht)Je.push(be.mapVector3ToPoint2(mt));Xe+=be.getPolygonArea(Je)}if(At.length>0){for(const ht of At)Xe-=ht.lx*ht.lz;Xe<0&&(Xe=0)}Mt.push(Xe)}else for(const Xe of et){let ht=be.getTriangleArea(Xe[0],Xe[1],Xe[2]);if(At.length>0){for(const Je of At)In.onSegment(Xe,Je.cx,Je.cy)&&(ht-=Je.lx*Je.lz);ht<0&&(ht=0)}Mt.push(ht)}const st=G8(Oe),ft=Array(it).fill(0);if(Y.current&&Y.current.z>0){const Xe=r(z.SolarPanel,Oe.id),ht=il.computePyramidRoofSolarRadiationEnergy(q,C,Y.current,Oe,lt,!0,et,vt,At,Xe,le,de);for(let Je=0;Je{if(Oe.roofType!==Vo.Hip)throw new Error("roof is not hip");const ct=et.length;if(ct===0)return;let lt=!0;const tt=et[0][0].z;for(const ht of et)for(const Je of ht)if(Math.abs(Je.z-tt)>.01){lt=!1;break}const it=lt?1:ct,At=[],Mt=r(z.Window,Oe.id);for(const ht of et){let Je=0;if(ht.length===3?Je=be.getTriangleArea(ht[0],ht[1],ht[2]):ht.length===4&&(Je=be.getTriangleArea(ht[0],ht[1],ht[2])+be.getTriangleArea(ht[2],ht[3],ht[0])),Mt.length>0){for(const mt of Mt)In.onSegment(ht,mt.cx,mt.cy)&&(Je-=mt.lx*mt.lz);Je<0&&(Je=0)}At.push(Je)}const st=lt?[At.reduce((ht,Je)=>ht+Je,0)]:At,ft=G8(Oe),Rt=Array(it).fill(0);if(Y.current&&Y.current.z>0){const ht=r(z.SolarPanel,Oe.id),Je=il.computeHipRoofSolarRadiationEnergy(q,C,Y.current,Oe,lt,!0,et,vt,Mt,ht,le,de);for(let mt=0;mt{if(Oe.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const ct=et.length;if(ct===0)return;let lt=!0;const tt=et[0][0].z;for(const ht of et)for(const Je of ht)if(Math.abs(Je.z-tt)>.01){lt=!1;break}const it=lt?1:ct,At=[],Mt=r(z.Window,Oe.id);for(const ht of et){let Je=be.getTriangleArea(ht[0],ht[1],ht[2])+be.getTriangleArea(ht[2],ht[3],ht[0]);if(Mt.length>0){for(const mt of Mt)In.onSegment(ht,mt.cx,mt.cy)&&(Je-=mt.lx*mt.lz);Je<0&&(Je=0)}At.push(Je)}const st=lt?[At.reduce((ht,Je)=>ht+Je,0)]:At,ft=G8(Oe),Rt=Array(it).fill(0);if(Y.current&&Y.current.z>0){const ht=r(z.SolarPanel,Oe.id),Je=il.computeGambrelRoofSolarRadiationEnergy(q,C,Y.current,Oe,lt,!0,et,vt,Mt,ht,le,de);for(let mt=0;mt{if(Oe.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const ct=et.length;if(ct===0)return;let lt=!0;const tt=et[0][0].z;for(const Ge of et)for(const xt of Ge)if(Math.abs(xt.z-tt)>.01){lt=!1;break}const it=lt?1:ct,At=[],Mt=r(z.Window,Oe.id);for(let Ge=0;Ge0){for(const Tt of Mt)In.onSegment(xt,Tt.cx,Tt.cy)&&(It-=Tt.lx*Tt.lz);It<0&&(It=0)}At.push(It)}const st=et[ct-1],ft=new Array;for(const Ge of st)ft.push({x:Ge.x,y:Ge.y});let Rt=be.getPolygonArea(ft);if(Mt.length>0){for(let Ge=Mt.length-1;Ge>=0;Ge--){const xt=Mt[Ge];In.onSegment(st,xt.cx,xt.cy)&&(Rt-=xt.lx*xt.lz,Mt.splice(Ge,1))}Rt<0&&(Rt=0)}At.push(Rt);const zt=lt?[At.reduce((Ge,xt)=>Ge+xt,0)]:At,Xe=G8(Oe),ht=Array(it).fill(0);if(Y.current&&Y.current.z>0){const Ge=r(z.SolarPanel,Oe.id),xt=il.computeMansardRoofSolarRadiationEnergy(q,C,Y.current,Oe,lt,!0,et,vt,Mt,Ge,le,de);for(let It=0;It{if(Oe.roofType!==Vo.Gable)throw new Error("roof is not gable");const ct=et.length;if(ct===0)return;const lt=r(z.Window,Oe.id),tt=[];for(const ft of et){let Rt=be.getTriangleArea(ft[0],ft[1],ft[2])+be.getTriangleArea(ft[2],ft[3],ft[0]);if(lt.length>0){for(const zt of lt)In.onSegment(ft,zt.cx,zt.cy)&&(Rt-=zt.lx*zt.lz);Rt<0&&(Rt=0)}tt.push(Rt)}const it=G8(Oe),At=Array(ct).fill(0);if(Y.current&&Y.current.z>0){const ft=r(z.SolarPanel,Oe.id),Rt=il.computeGableRoofSolarRadiationEnergy(q,C,Y.current,Oe,!0,et,vt,lt,ft,le,de);for(let zt=0;zt{const e=M.getState().world,n=M.getState().elements,o=M(rr),i=M(cA),r=bn(J1e),a=bn(UBe),l=gt(Z1e),s=bn(q1e),{scene:c}=Xi(),u=Kt(),d=r1(t),f=new Date(e.date),p=t?d==null?void 0:d.elevation:0,g=60/e.timesPerHour,y=m.useMemo(()=>new Gs,[]),A=e.solarRadiationHeatmapGridCellSize??.5,x=m.useRef([]),C=m.useRef([]);m.useEffect(()=>{l&&n&&n.length>0&&(a(),S(),gt.getState().set(N=>{N.runStaticSimulation=!1,N.simulationInProgress=!1,N.showSolarRadiationHeatmap=!0}),fn(O.t("message.SimulationCompleted",u)))},[l]);const b=(N,j,Y)=>{if(x.current.length>1){C.current.length=0,y.set(j,Y);const _=x.current.filter(J=>J.uuid!==N);return y.intersectObjects(_,!1,C.current),C.current.length>0}return!1},v=()=>{const N=c.children.filter(j=>j.name==="Content");if(N.length>0){const j=N[0].children;x.current.length=0;for(const Y of j)be.fetchSimulationElements(Y,x.current)}},S=()=>{v();for(const N of n)switch(N.type){case z.Foundation:{const j=N;T(j),j.solarStructure===zn.UpdraftTower&&P(j);break}case z.Cuboid:{w(N);break}case z.SolarPanel:{R(N);break}case z.Wall:{H(N);break}case z.Door:{D(N);break}case z.Roof:{const j=N;switch(j.roofType){case Vo.Pyramid:E(j);break;case Vo.Gable:B(j);break;case Vo.Gambrel:U(j);break;case Vo.Mansard:L(j);break;case Vo.Hip:F(j);break}break}}},w=N=>{const j=f.getFullYear(),Y=f.getMonth(),_=f.getDate(),J=be.dayOfYear(f),Q=N.lx,ee=N.ly,$=N.lz,q=Math.max(2,Math.round(Q/A)),le=Math.max(2,Math.round(ee/A)),ie=Math.max(2,Math.round($/A)),pe=Q/q,ne=ee/le,Z=$/ie,he=o(N);let fe=N.cx,se=N.cy,oe=N.cz;if(he&&he.type===z.Cuboid){const De=be.getWorldDataById(N.id);fe=De.pos.x,se=De.pos.y,oe=De.pos.z}const de=Array(q).fill(0).map(()=>Array(le).fill(0)),ve=Array(q).fill(0).map(()=>Array(ie).fill(0)),Pe=Array(q).fill(0).map(()=>Array(ie).fill(0));let me=Array(le).fill(0).map(()=>Array(ie).fill(0)),Re=Array(le).fill(0).map(()=>Array(ie).fill(0));const ze=Po,Ae=Bp.clone().applyAxisAngle(Po,N.rotation[2]),re=Yc.clone().applyAxisAngle(Po,N.rotation[2]),ge=Up.clone().applyAxisAngle(Po,N.rotation[2]),we=Np.clone().applyAxisAngle(Po,N.rotation[2]),ye=new ae;let Te=0;const Ie=new Gt(fe,se),Ce=new Gt,Ee=se-ee/2,Ue=se+ee/2,Ne=fe-Q/2,Le=fe+Q/2;for(let De=0;De<24;De++)for(let Fe=0;Fe0){Te++;const Ye=Rr(ot,J,p,vr.SPHERE_MODEL);let St=tr(e.ground,Y,ze,Ye),dt=ze.dot(ot),je=fe-Q/2,at=se-ee/2;const ut=oe+$/2;for(let wt=0;wt0&&(Ce.set(je+(wt+.5)*pe,at+(rt+.5)*ne),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,ut),b(N.id,ye,ot)||(de[wt][rt]+=dt*Ye));je=fe-Q/2,at=oe-$/2,St=tr(e.ground,Y,Ae,Ye),dt=Ae.dot(ot);for(let wt=0;wt0&&(Ce.set(je+(wt+.5)*pe,Ee),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,at+(rt+.5)*Z),b(N.id,ye,ot)||(ve[wt][rt]+=dt*Ye));St=tr(e.ground,Y,re,Ye),dt=re.dot(ot);for(let wt=0;wt0&&(Ce.set(je+(wt+.5)*pe,Ue),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,at+(ie-(rt+.5))*Z),b(N.id,ye,ot)||(Pe[wt][rt]+=dt*Ye));je=se-ee/2,at=oe-$/2,St=tr(e.ground,Y,ge,Ye),dt=ge.dot(ot);for(let wt=0;wt0&&(Ce.set(Ne,je+(wt+.5)*ne),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,at+(rt+.5)*Z),b(N.id,ye,ot)||(me[wt][rt]+=dt*Ye));St=tr(e.ground,Y,we,Ye),dt=we.dot(ot);for(let wt=0;wt0&&(Ce.set(Le,je+(wt+.5)*ne),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,at+(rt+.5)*Z),b(N.id,ye,ot)||(Re[wt][rt]+=dt*Ye))}}me=be.transpose(me),Re=be.transpose(Re);const qe=Te*g/60,We=qe>kt?d.sunshineHours[Y]/(30*qe*e.timesPerHour):0;k(de,We),k(ve,We),k(Pe,We),k(me,We),k(Re,We),r(N.id+"-top",de),r(N.id+"-south",ve),r(N.id+"-north",Pe),r(N.id+"-west",me),r(N.id+"-east",Re)},T=N=>{const j=f.getFullYear(),Y=f.getMonth(),_=f.getDate(),J=be.dayOfYear(f),Q=N.lx,ee=N.ly,$=N.lz,q=Math.max(2,Math.round(Q/A)),le=Math.max(2,Math.round(ee/A)),ie=Q/q,pe=ee/le,ne=N.cx-Q/2,Z=N.cy-ee/2,he=new Gt(N.cx,N.cy),fe=new ae,se=Array(q).fill(0).map(()=>Array(le).fill(0));let oe=0;for(let Pe=0;Pe<24;Pe++)for(let me=0;me0){oe++;const Ae=Rr(ze,J,p,vr.SPHERE_MODEL),re=tr(e.ground,Y,Po,Ae),ge=Po.dot(ze),we=new Gt;for(let ye=0;ye0&&(we.set(ne+(ye+.5)*ie,Z+(Te+.5)*pe),we.rotateAround(he,N.rotation[2]),fe.set(we.x,we.y,$),b(N.id,fe,ze)||(se[ye][Te]+=ge*Ae))}}const de=oe*g/60,ve=de>kt?d.sunshineHours[Y]/(30*de*e.timesPerHour):0;k(se,ve),r(N.id,se)},P=N=>{const j=N.solarUpdraftTower;if(!j)return;const Y=f.getFullYear(),_=f.getMonth(),J=f.getDate(),Q=be.dayOfYear(f),ee=j.collectorRadius,$=Math.max(2,Math.round(ee*2/A)),q=N.cx-ee+A/2,le=N.cy-ee+A/2,ie=N.lz+j.collectorHeight,pe=Array($).fill(0).map(()=>Array($).fill(0)),ne=new ae(0,0,ie),Z=ee*ee;let he=0,fe,se;for(let ve=0;ve<24;ve++)for(let Pe=0;Pe0){he++;const ze=Rr(Re,Q,p,vr.SPHERE_MODEL),Ae=tr(e.ground,_,Po,ze),re=Po.dot(Re);for(let ge=0;ge<$;ge++){ne.x=q+(ge+.5)*A,fe=ne.x-N.cx;for(let we=0;we<$;we++)ne.y=le+(we+.5)*A,se=ne.y-N.cy,!(fe*fe+se*se>Z)&&(pe[ge][we]+=Ae,re>0&&(b(N.id+"-sut",ne,Re)||(pe[ge][we]+=re*ze)))}}}const oe=he*g/60,de=oe>kt?d.sunshineHours[_]/(30*oe*e.timesPerHour):0;k(pe,de),r(N.id+"-sut",pe)},R=N=>{if(N.trackerType!==Ma.NO_TRACKER)throw new Error("trackers cannot use static simulation");let j=o(N);if(!j)throw new Error("parent of solar panel does not exist");const Y=N.parentType===z.Roof,_=N.parentType===z.Wall;if(Y&&(j=i(j),!j))throw new Error("foundation of solar panel does not exist");const J=_?be.absoluteCoordinates(N.cx,N.cy,N.cz,j,i(N),N.lz):be.absoluteCoordinates(N.cx,N.cy,N.cz,j),Q=new ae().fromArray(N.normal),ee=j.rotation[2];let $=ee+N.relativeAzimuth,q=N.tiltAngle,le=!0;if(Y&&(J.z=N.cz+N.lz+.02+j.cz+j.lz/2,be.isZero(N.rotation[0])?J.z+=N.poleHeight:(q=N.rotation[0],$=ee,le=!1)),_&&!be.isZero(N.tiltAngle)){const Ie=j,Ce=i(j),Ue=(Ce?Ce.rotation[2]+Ie.relativeAngle:Ie.relativeAngle)-Vt,Ne=N.ly*Math.abs(Math.sin(N.tiltAngle))/2;J.x+=Ne*Math.cos(Ue),J.y+=Ne*Math.sin(Ue)}const ie=new Qt(Y&&!le?0:q,0,$,"ZYX");Q.applyEuler(ie);const pe=f.getFullYear(),ne=f.getMonth(),Z=f.getDate(),he=be.dayOfYear(f),fe=N.lx,se=N.ly,oe=Math.max(2,Math.round(N.lx/A)),de=Math.max(2,Math.round(N.ly/A)),ve=fe/oe,Pe=se/de,me=J.x-(fe-A)/2,Re=J.y-(se-A)/2,ze=Y||_?J.z:j.lz+N.poleHeight+N.lz,Ae=new Gt(J.x,J.y),re=new ae,ge=Array(oe).fill(0).map(()=>Array(de).fill(0));let we=0;Y&&!le&&(ie.x=N.rotation[0],ie.z=N.rotation[2]+ee),_&&(ie.x=Vt+N.tiltAngle,ie.z=j.relativeAngle+ee);for(let Ie=0;Ie<24;Ie++)for(let Ce=0;Ce0){we++;const Ne=Rr(Ue,he,p,vr.SPHERE_MODEL),Le=tr(e.ground,ne,Q,Ne),qe=Q.dot(Ue),We=new Gt,De=new ae;for(let Fe=0;Fe0&&(We.set(me+Fe*ve,Re+_e*Pe),De.set(We.x-Ae.x,We.y-Ae.y,0),De.applyEuler(ie),re.set(J.x+De.x,J.y+De.y,ze+De.z),b(N.id,re,Ue)||(ge[Fe][_e]+=qe*Ne))}}const ye=we*g/60,Te=ye>kt?d.sunshineHours[ne]/(30*ye*e.timesPerHour):0;k(ge,Te),r(N.id,ge)},H=N=>{const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=f.getFullYear(),_=f.getMonth(),J=f.getDate(),Q=be.dayOfYear(f),ee=N.lx,$=be.getHighestPointOfWall(N),q=Math.max(2,Math.round(ee/A)),le=Math.max(2,Math.round($/A)),ie=ee/q,pe=$/le,ne=j.rotation[2]+N.relativeAngle,Z=be.wallAbsolutePosition(new ae(N.cx,N.cy,$/2),j).setZ($/2+j.lz),he=new ae(Math.cos(ne-Vt),Math.sin(ne-Vt),0),fe=new ae,se=Array(q).fill(0).map(()=>Array(le).fill(0));let oe=0;const de=ie*Math.cos(ne),ve=ie*Math.sin(ne),Pe=be.getWallVertices(N,2),me=($-N.lz)/2;for(let Ae=0;Ae<24;Ae++)for(let re=0;re0){oe++;const ye=Rr(we,Q,p,vr.SPHERE_MODEL),Te=tr(e.ground,_,he,ye),Ie=he.dot(we);for(let Ce=0;Ce0&&(fe.set(Z.x+Ue*de,Z.y+Ue*ve,Z.z+Ne*pe),b(N.id,fe,we)||(se[Ce][Ee]+=Ie*ye)))}}}const Re=oe*g/60,ze=Re>kt?d.sunshineHours[_]/(30*Re*e.timesPerHour):0;k(se,ze),r(N.id,se)},D=N=>{const j=i(N);if(!j)throw new Error("foundation of door not found");const Y=o(N);if(!Y)throw new Error("parent of door not found");const _=Y,J=f.getFullYear(),Q=f.getMonth(),ee=f.getDate(),$=be.dayOfYear(f),q=N.lx*_.lx,le=N.lz*_.lz,ie=Math.max(2,Math.round(q/A)),pe=Math.max(2,Math.round(le/A)),ne=q/ie,Z=le/pe,he=j.rotation[2]+_.relativeAngle,se=be.wallAbsolutePosition(new ae(_.cx,_.cy,_.cz),j).setZ(_.lz/2+j.lz).clone().add(new ae(N.cx*_.lx,0,N.cz*_.lz)),oe=new ae(Math.cos(he-Vt),Math.sin(he-Vt),0),de=new ae,ve=Array(ie).fill(0).map(()=>Array(pe).fill(0));let Pe=0;const me=ne*Math.cos(he),Re=ne*Math.sin(he);for(let re=0;re<24;re++)for(let ge=0;ge0){Pe++;const Te=Rr(ye,$,p,vr.SPHERE_MODEL),Ie=tr(e.ground,Q,oe,Te),Ce=oe.dot(ye);if(N.doorType===bd.Arched)for(let Ee=0;Ee0&&(b(N.id,de,ye)||(ve[Ee][Ue]+=Ce*Te)))}else for(let Ee=0;Ee0&&(de.set(se.x+Ne*me,se.y+Ne*Re,se.z+Le*Z),b(N.id,de,ye)||(ve[Ee][Ue]+=Ce*Te))}}}const ze=Pe*g/60,Ae=ze>kt?d.sunshineHours[Q]/(30*ze*e.timesPerHour):0;k(ve,Ae),r(N.id,ve)},E=N=>{if(N.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;let _=!0;const J=Y[0][0].z;for(const Q of Y)for(const ee of Q)if(Math.abs(ee.z-J)>.01){_=!1;break}if(_)W(N,j,Y);else{const Q=f.getFullYear(),ee=f.getMonth(),$=f.getDate(),q=be.dayOfYear(f),le=new Qt(0,0,j.rotation[2],"ZYX");for(const[ie,pe]of Y.entries()){const ne=N.id+"-"+ie,Z=pe[0].clone().applyEuler(le),he=pe[1].clone().applyEuler(le),fe=pe[2].clone().applyEuler(le),se=new ae().subVectors(he,Z),oe=new ae().subVectors(fe,Z),de=new ae().subVectors(fe,he),ve=se.length(),Pe=new ae().crossVectors(oe,de).length()/ve,me=Math.max(2,Math.round(ve/A)),Re=Math.max(2,Math.round(Pe/A)),ze=Array(me).fill(0).map(()=>Array(Re).fill(0));se.normalize(),oe.normalize(),de.normalize();const Ae=new ae().crossVectors(oe,de).normalize(),re=se.multiplyScalar(.5*ve/me),ge=new ae().crossVectors(Ae,se).normalize().multiplyScalar(.5*Pe/Re),we=new ae(j.cx+Z.x,j.cy+Z.y,j.lz+Z.z+f0);we.add(re).add(ge),re.multiplyScalar(2),ge.multiplyScalar(2);let ye=0;const Te=new ae;for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){ye++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(Te.copy(we).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,Te,Le)||(ze[Fe][ot]+=De*qe))}}}const Ie=ye*g/60,Ce=Ie>kt?d.sunshineHours[ee]/(30*Ie*e.timesPerHour):0;k(ze,Ce),r(ne,ze)}}},L=N=>{if(N.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;let _=!0;const J=Y[0][0].z;for(const Q of Y)for(const ee of Q)if(Math.abs(ee.z-J)>.01){_=!1;break}if(_)W(N,j,Y);else{const Q=f.getFullYear(),ee=f.getMonth(),$=f.getDate(),q=be.dayOfYear(f),le=new Qt(0,0,j.rotation[2],"ZYX");for(const[ie,pe]of Y.entries()){const ne=N.id+"-"+ie;if(ie===Y.length-1){let Z=Number.MAX_VALUE,he=Number.MAX_VALUE,fe=-Number.MAX_VALUE,se=-Number.MAX_VALUE;for(const ye of pe){const Te=ye.clone().applyEuler(le);Te.x>fe&&(fe=Te.x),Te.xse&&(se=Te.y),Te.yArray(ve).fill(0)),ze=new ae(Z+A/2,he+A/2,j.lz+oe+f0);let Ae=0;const re=new ae(0,0,ze.z);for(let ye=0;ye<24;ye++)for(let Te=0;Te0){Ae++;const Ee=Rr(Ce,q,p,vr.SPHERE_MODEL),Ue=tr(e.ground,ee,Po,Ee),Ne=Po.dot(Ce);for(let Le=0;Le0&&(re.y=ze.y+qe*me,b(ne,re,Ce)||(Re[Le][qe]+=Ne*Ee))}}}const ge=Ae*g/60,we=ge>kt?d.sunshineHours[ee]/(30*ge*e.timesPerHour):0;k(Re,we),r(ne,Re)}else{const Z=pe[0].clone().applyEuler(le),he=pe[1].clone().applyEuler(le),fe=pe[2].clone().applyEuler(le),se=new ae().subVectors(he,Z),oe=new ae().subVectors(fe,Z),de=new ae().subVectors(fe,he),ve=se.length(),Pe=new ae().crossVectors(oe,de).length()/ve,me=Math.max(2,Math.round(ve/A)),Re=Math.max(2,Math.round(Pe/A)),ze=Array(me).fill(0).map(()=>Array(Re).fill(0));se.normalize(),oe.normalize(),de.normalize();const Ae=new ae().crossVectors(oe,de).normalize(),re=se.multiplyScalar(.5*ve/me),ge=new ae().crossVectors(Ae,se).normalize().multiplyScalar(.5*Pe/Re),we=new ae(j.cx+Z.x,j.cy+Z.y,j.lz+Z.z+f0);we.add(re).add(ge),re.multiplyScalar(2),ge.multiplyScalar(2);let ye=0;const Te=new ae;for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){ye++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(Te.copy(we).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,Te,Le)||(ze[Fe][ot]+=De*qe))}}}const Ie=ye*g/60,Ce=Ie>kt?d.sunshineHours[ee]/(30*Ie*e.timesPerHour):0;k(ze,Ce),r(ne,ze)}}}},U=N=>{if(N.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;let _=!0;const J=Y[0][0].z;for(const Q of Y)for(const ee of Q)if(Math.abs(ee.z-J)>.01){_=!1;break}if(_)W(N,j,Y);else{const Q=f.getFullYear(),ee=f.getMonth(),$=f.getDate(),q=be.dayOfYear(f),le=new Qt(0,0,j.rotation[2],"ZYX");for(const[ie,pe]of Y.entries()){const ne=N.id+"-"+ie,Z=pe[0].clone().applyEuler(le),he=pe[1].clone().applyEuler(le),fe=pe[2].clone().applyEuler(le),se=new ae().subVectors(he,Z),oe=new ae().subVectors(fe,Z),de=new ae().subVectors(fe,he),ve=se.length(),Pe=new ae().crossVectors(oe,de).length()/ve,me=Math.max(2,Math.round(ve/A)),Re=Math.max(2,Math.round(Pe/A)),ze=Array(me).fill(0).map(()=>Array(Re).fill(0));se.normalize(),oe.normalize(),de.normalize();const Ae=new ae().crossVectors(oe,de).normalize(),re=se.multiplyScalar(.5*ve/me),ge=new ae().crossVectors(Ae,se).normalize().multiplyScalar(.5*Pe/Re),we=new ae(j.cx+Z.x,j.cy+Z.y,j.lz+Z.z+f0);we.add(re).add(ge),re.multiplyScalar(2),ge.multiplyScalar(2);let ye=0;const Te=new ae;for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){ye++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(Te.copy(we).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,Te,Le)||(ze[Fe][ot]+=De*qe))}}}const Ie=ye*g/60,Ce=Ie>kt?d.sunshineHours[ee]/(30*Ie*e.timesPerHour):0;k(ze,Ce),r(ne,ze)}}},F=N=>{if(N.roofType!==Vo.Hip)throw new Error("roof is not hip");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;let _=!0;const J=Y[0][0].z;for(const Q of Y)for(const ee of Q)if(Math.abs(ee.z-J)>.01){_=!1;break}if(_)W(N,j,Y);else{const Q=f.getFullYear(),ee=f.getMonth(),$=f.getDate(),q=be.dayOfYear(f),le=new Qt(0,0,j.rotation[2],"ZYX");for(const[ie,pe]of Y.entries()){const ne=N.id+"-"+ie,Z=pe[0].clone().applyEuler(le),he=pe[1].clone().applyEuler(le),fe=pe[2].clone().applyEuler(le),se=new ae().subVectors(he,Z),oe=new ae().subVectors(fe,Z),de=new ae().subVectors(fe,he),ve=se.length(),Pe=new ae().crossVectors(oe,de).length()/ve,me=Math.max(2,Math.round(ve/A)),Re=Math.max(2,Math.round(Pe/A)),ze=Array(me).fill(0).map(()=>Array(Re).fill(0));se.normalize(),oe.normalize(),de.normalize();const Ae=new ae().crossVectors(oe,de).normalize(),re=se.multiplyScalar(.5*ve/me),ge=new ae().crossVectors(Ae,se).normalize().multiplyScalar(.5*Pe/Re);let we=0;const ye=new ae,Te=new ae(j.cx+Z.x,j.cy+Z.y,j.lz+Z.z+f0);if(Te.add(re).add(ge),re.multiplyScalar(2),ge.multiplyScalar(2),ie%2===0)for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){we++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(ye.copy(Te).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,ye,Le)||(ze[Fe][ot]+=De*qe))}}}else for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){we++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(ye.copy(Te).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,ye,Le)||(ze[Fe][ot]+=De*qe))}}}const Ie=we*g/60,Ce=Ie>kt?d.sunshineHours[ee]/(30*Ie*e.timesPerHour):0;k(ze,Ce),r(ne,ze)}}},W=(N,j,Y)=>{const _=f.getFullYear(),J=f.getMonth(),Q=f.getDate(),ee=be.dayOfYear(f),$=new Qt(0,0,j.rotation[2],"ZYX"),q=Y[0][0].z;let le=Number.MAX_VALUE,ie=Number.MAX_VALUE,pe=-Number.MAX_VALUE,ne=-Number.MAX_VALUE;for(const ze of Y)for(const Ae of ze){const re=Ae.clone().applyEuler($);re.x>pe&&(pe=re.x),re.xne&&(ne=re.y),re.yArray(he).fill(0)),de=new ae(le+A/2,ie+A/2,j.lz+q+f0);let ve=0;const Pe=new ae(0,0,de.z);for(let ze=0;ze<24;ze++)for(let Ae=0;Ae0){ve++;const we=Rr(ge,ee,p,vr.SPHERE_MODEL),ye=tr(e.ground,J,Po,we),Te=Po.dot(ge);for(let Ie=0;Ie0&&(Pe.y=de.y+Ce*se,b(N.id,Pe,ge)||(oe[Ie][Ce]+=Te*we))}}}const me=ve*g/60,Re=me>kt?d.sunshineHours[J]/(30*me*e.timesPerHour):0;k(oe,Re),r(N.id,oe)},B=N=>{if(N.roofType!==Vo.Gable)throw new Error("roof is not gable");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;const _=f.getFullYear(),J=f.getMonth(),Q=f.getDate(),ee=be.dayOfYear(f),$=new Qt(0,0,j.rotation[2],"ZYX");for(const[q,le]of Y.entries()){const ie=N.id+"-"+q,pe=le[0].clone().applyEuler($),ne=le[1].clone().applyEuler($),Z=le[2].clone().applyEuler($),he=new ae().subVectors(ne,pe),fe=new ae().subVectors(Z,pe),se=new ae().subVectors(Z,ne),oe=he.length(),de=new ae().crossVectors(fe,se).length()/oe,ve=Math.max(2,Math.round(oe/A)),Pe=Math.max(2,Math.round(de/A)),me=Array(ve).fill(0).map(()=>Array(Pe).fill(0));he.normalize(),fe.normalize(),se.normalize();const Re=new ae().crossVectors(fe,se).normalize(),ze=he.multiplyScalar(.5*oe/ve),Ae=new ae().crossVectors(Re,he).normalize().multiplyScalar(.5*de/Pe),re=new ae(j.cx+pe.x,j.cy+pe.y,j.lz+pe.z+f0);re.add(ze).add(Ae),ze.multiplyScalar(2),Ae.multiplyScalar(2);let ge=0;const we=new ae;for(let Ie=0;Ie<24;Ie++)for(let Ce=0;Ce0){ge++;const Ne=Rr(Ue,ee,p,vr.SPHERE_MODEL),Le=tr(e.ground,J,Re,Ne),qe=Re.dot(Ue);for(let We=0;We0&&(we.copy(re).add(De).add(Ae.clone().multiplyScalar(Fe)),b(ie,we,Ue)||(me[We][Fe]+=qe*Ne))}}}const ye=ge*g/60,Te=ye>kt?d.sunshineHours[J]/(30*ye*e.timesPerHour):0;k(me,Te),r(ie,me)}},k=(N,j)=>{for(let Y=0;Y{const e=M(dn),n=gt(Ah),o=M.getState().world,i=M.getState().elements,r=M(rr),a=M(cA),l=bn(J1e),s=bn(UBe),c=gt(ZL),u=gt(cwt),d=M(U1e),f=bn(q1e),{scene:p}=Xi(),g=Kt(),y=r1(t),A=new Date(o.date),x=t?y==null?void 0:y.elevation:0,C=60/o.timesPerHour,b=m.useMemo(()=>new Gs,[]),v=o.solarRadiationHeatmapGridCellSize??.5,S=m.useRef([]),w=m.useRef([]),T=m.useRef(0),P=m.useRef(!1),R=m.useRef(new Date(o.date)),H=m.useRef(new Map),D=m.useRef(!1),E=m.useRef(new Date(o.date)),L=m.useMemo(()=>sl(A,o.latitude),[o.date,o.latitude]);m.useEffect(()=>{if(c)return U(),T.current=requestAnimationFrame(B),()=>{cancelAnimationFrame(T.current),P.current||(fn(O.t("message.SimulationAborted",g)),e(oe=>{oe.world.date=R.current.toLocaleString("en-US")}),n("simulationInProgress",!1))}},[c]),m.useEffect(()=>{D.current=u,u?(E.current=new Date(A.getTime()),cancelAnimationFrame(T.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",g))):(n("simulationPaused",!1),B())},[u]);const U=()=>{n("simulationInProgress",!0),A.setHours(Math.floor(L.sunrise/60),L.sunrise%60),R.current=new Date(o.date),P.current=!1,N();for(const oe of i)switch(oe.type){case z.Wall:case z.Door:case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:{H.current.delete(oe.id);break}case z.Cuboid:{H.current.delete(oe.id+"-top"),H.current.delete(oe.id+"-north"),H.current.delete(oe.id+"-south"),H.current.delete(oe.id+"-west"),H.current.delete(oe.id+"-east");break}case z.Roof:{const de=oe,ve=f(de.id);if(ve){const Pe=ve.length;for(let me=0;me{s();const oe=L.daylight()/60,de=oe>kt?y.sunshineHours[A.getMonth()]/(30*oe*o.timesPerHour):0;for(const ve of i){switch(ve.type){case z.Foundation:case z.Wall:case z.Door:case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:{const Pe=H.current.get(ve.id);if(Pe){for(let me=0;me[...me]))}break}case z.Cuboid:{W(ve.id,"top",de),W(ve.id,"south",de),W(ve.id,"north",de),W(ve.id,"west",de),W(ve.id,"east",de);break}case z.Roof:{const Pe=ve,me=f(Pe.id);if(me&&me.length>0){if(Pe.roofType===Vo.Pyramid||Pe.roofType===Vo.Mansard||Pe.roofType===Vo.Gambrel||Pe.roofType===Vo.Hip){let Re=!0;const ze=me[0][0].z;for(const Ae of me)for(const re of Ae)if(Math.abs(re.z-ze)>.01){Re=!1;break}if(Re){const Ae=H.current.get(Pe.id);if(Ae){for(let re=0;re[...re]))}break}}for(let Re=0;Re[...re]))}}}break}}if(ve.type===z.Foundation){const Pe=ve;if(Pe.solarStructure===zn.UpdraftTower&&Pe.solarUpdraftTower){const me=ve.id+"-sut",Re=H.current.get(me);if(Re){for(let ze=0;ze[...ze]))}}}}},W=(oe,de,ve)=>{const Pe=H.current.get(oe+"-"+de);if(Pe){for(let me=0;me{if(c&&!D.current){if(A.getMinutes()+A.getHours()*60>=L.sunset){cancelAnimationFrame(T.current),gt.getState().set(de=>{de.runDynamicSimulation=!1}),e(de=>{de.world.date=R.current.toLocaleString("en-US")}),fn(O.t("message.SimulationCompleted",g)),P.current=!0,F(),setTimeout(()=>{n("simulationInProgress",!1),n("showSolarRadiationHeatmap",!0)},10);return}if(A.setHours(A.getHours(),A.getMinutes()+C),e(de=>{de.world.date=A.toLocaleString("en-US")}),d)for(const de of i)switch(de.type){case z.FresnelReflector:he(de);break;case z.Heliostat:fe(de);break}else for(const de of i)switch(de.type){case z.Foundation:{const ve=de;Y(ve),ve.solarStructure===zn.UpdraftTower&&se(ve);break}case z.Cuboid:{j(de);break}case z.SolarPanel:{pe(de);break}case z.ParabolicTrough:{ne(de);break}case z.ParabolicDish:{Z(de);break}case z.FresnelReflector:{he(de);break}case z.Heliostat:{fe(de);break}case z.Wall:{_(de);break}case z.Door:{J(de);break}case z.Roof:{const ve=de;switch(ve.roofType){case Vo.Pyramid:ee(ve);break;case Vo.Gable:ie(ve);break;case Vo.Gambrel:q(ve);break;case Vo.Mansard:$(ve);break;case Vo.Hip:le(ve);break}break}}T.current=requestAnimationFrame(B)}},k=(oe,de,ve)=>{if(S.current.length>1){w.current.length=0,b.set(de,ve);const Pe=S.current.filter(me=>me.uuid!==oe);return b.intersectObjects(Pe,!1,w.current),w.current.length>0}return!1},N=()=>{const oe=p.children.filter(de=>de.name==="Content");if(oe.length>0){const de=oe[0].children;S.current.length=0;for(const ve of de)be.fetchSimulationElements(ve,S.current)}},j=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=be.dayOfYear(A),Pe=oe.lx,me=oe.ly,Re=oe.lz,ze=Math.max(2,Math.round(Pe/v)),Ae=Math.max(2,Math.round(me/v)),re=Math.max(2,Math.round(Re/v)),ge=Pe/ze,we=me/Ae,ye=Re/re;let Te=H.current.get(oe.id+"-top");(!Te||Te.length!==ze||Te[0].length!==Ae)&&(Te=Array(ze).fill(0).map(()=>Array(Ae).fill(0)),H.current.set(oe.id+"-top",Te));let Ie=H.current.get(oe.id+"-south");(!Ie||Ie.length!==ze||Ie[0].length!==re)&&(Ie=Array(ze).fill(0).map(()=>Array(re).fill(0)),H.current.set(oe.id+"-south",Ie));let Ce=H.current.get(oe.id+"-north");(!Ce||Ce.length!==ze||Ce[0].length!==re)&&(Ce=Array(ze).fill(0).map(()=>Array(re).fill(0)),H.current.set(oe.id+"-north",Ce));let Ee=H.current.get(oe.id+"-west");(!Ee||Ee.length!==Ae||Ee[0].length!==re)&&(Ee=Array(Ae).fill(0).map(()=>Array(re).fill(0)),H.current.set(oe.id+"-west",Ee));let Ue=H.current.get(oe.id+"-east");(!Ue||Ue.length!==Ae||Ue[0].length!==re)&&(Ue=Array(Ae).fill(0).map(()=>Array(re).fill(0)),H.current.set(oe.id+"-east",Ue));const Ne=Po,Le=Bp.clone().applyAxisAngle(Po,oe.rotation[2]),qe=Yc.clone().applyAxisAngle(Po,oe.rotation[2]),We=Up.clone().applyAxisAngle(Po,oe.rotation[2]),De=Np.clone().applyAxisAngle(Po,oe.rotation[2]),Fe=r(oe);let _e=oe.cx,ot=oe.cy,Ye=oe.cz;if(Fe&&Fe.type===z.Cuboid){const tt=be.getWorldDataById(oe.id);_e=tt.pos.x,ot=tt.pos.y,Ye=tt.pos.z}const St=new ae,dt=new Gt(_e,ot),je=new Gt,at=ot-me/2,ut=ot+me/2,wt=_e-Pe/2,rt=_e+Pe/2,Qe=Rr(de,ve,x,vr.SPHERE_MODEL);let Oe=tr(o.ground,A.getMonth(),Ne,Qe),et=Ne.dot(de),vt=_e-Pe/2,ct=ot-me/2;const lt=Ye+Re/2;for(let tt=0;tt0&&(je.set(vt+(tt+.5)*ge,ct+(it+.5)*we),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,lt),k(oe.id,St,de)||(Te[tt][it]+=et*Qe));vt=_e-Pe/2,ct=Ye-Re/2,Oe=tr(o.ground,A.getMonth(),Le,Qe),et=Le.dot(de);for(let tt=0;tt0&&(je.set(vt+(tt+.5)*ge,at),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,ct+(it+.5)*ye),k(oe.id,St,de)||(Ie[tt][it]+=et*Qe));Oe=tr(o.ground,A.getMonth(),qe,Qe),et=qe.dot(de);for(let tt=0;tt0&&(je.set(vt+(tt+.5)*ge,ut),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,ct+(re-(it+.5))*ye),k(oe.id,St,de)||(Ce[tt][it]+=et*Qe));vt=ot-me/2,ct=Ye-Re/2,Oe=tr(o.ground,A.getMonth(),We,Qe),et=We.dot(de);for(let tt=0;tt0&&(je.set(wt,vt+(tt+.5)*we),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,ct+(it+.5)*ye),k(oe.id,St,de)||(Ee[tt][it]+=et*Qe));Oe=tr(o.ground,A.getMonth(),De,Qe),et=De.dot(de);for(let tt=0;tt0&&(je.set(rt,vt+(tt+.5)*we),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,ct+(it+.5)*ye),k(oe.id,St,de)||(Ue[tt][it]+=et*Qe))},Y=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=be.dayOfYear(A),Pe=oe.lx,me=oe.ly,Re=oe.lz,ze=Math.max(2,Math.round(Pe/v)),Ae=Math.max(2,Math.round(me/v)),re=Pe/ze,ge=me/Ae,we=oe.cx-Pe/2,ye=oe.cy-me/2,Te=new Gt(oe.cx,oe.cy),Ie=new ae;let Ce=H.current.get(oe.id);(!Ce||Ce.length!==ze||Ce[0].length!==Ae)&&(Ce=Array(ze).fill(0).map(()=>Array(Ae).fill(0)),H.current.set(oe.id,Ce));const Ee=Rr(de,ve,x,vr.SPHERE_MODEL),Ue=tr(o.ground,A.getMonth(),Po,Ee),Ne=Po.dot(de),Le=new Gt;for(let qe=0;qe0&&(Le.set(we+(qe+.5)*re,ye+(We+.5)*ge),Le.rotateAround(Te,oe.rotation[2]),Ie.set(Le.x,Le.y,Re),k(oe.id,Ie,de)||(Ce[qe][We]+=Ne*Ee))},_=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=be.dayOfYear(A),me=oe.lx,Re=be.getHighestPointOfWall(oe),ze=Math.max(2,Math.round(me/v)),Ae=Math.max(2,Math.round(Re/v)),re=me/ze,ge=Re/Ae,we=ve.rotation[2]+oe.relativeAngle,ye=be.wallAbsolutePosition(new ae(oe.cx,oe.cy,oe.cz),ve).setZ(Re/2+ve.lz),Te=new ae(Math.cos(we-Vt),Math.sin(we-Vt),0),Ie=re*Math.cos(we),Ce=re*Math.sin(we),Ee=new ae;let Ue=H.current.get(oe.id);(!Ue||Ue.length!==ze||Ue[0].length!==Ae)&&(Ue=Array(ze).fill(0).map(()=>Array(Ae).fill(0)),H.current.set(oe.id,Ue));const Ne=be.getWallVertices(oe,1),Le=(Re-oe.lz)/2,qe=Rr(de,Pe,x,vr.SPHERE_MODEL),We=tr(o.ground,A.getMonth(),Te,qe),De=Te.dot(de);for(let Fe=0;Fe0&&(Ee.set(ye.x+ot*Ie,ye.y+ot*Ce,ye.z+Ye*ge),k(oe.id,Ee,de)||(Ue[Fe][_e]+=De*qe)))}},J=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of door not found");const Pe=r(oe);if(!Pe)throw new Error("parent of door not found");const me=be.dayOfYear(A),Re=Pe,ze=oe.lx*Re.lx,Ae=oe.lz*Re.lz,re=Math.max(2,Math.round(ze/v)),ge=Math.max(2,Math.round(Ae/v)),we=ze/re,ye=Ae/ge,Te=ve.rotation[2]+Re.relativeAngle,Ce=be.wallAbsolutePosition(new ae(Re.cx,Re.cy,Re.cz),ve).setZ(Re.lz/2+ve.lz).clone().add(new ae(oe.cx*Re.lx,0,oe.cz*Re.lz)),Ee=new ae(Math.cos(Te-Vt),Math.sin(Te-Vt),0),Ue=we*Math.cos(Te),Ne=we*Math.sin(Te),Le=new ae;let qe=H.current.get(oe.id);(!qe||qe.length!==re||qe[0].length!==ge)&&(qe=Array(re).fill(0).map(()=>Array(ge).fill(0)),H.current.set(oe.id,qe));const We=Rr(de,me,x,vr.SPHERE_MODEL),De=tr(o.ground,A.getMonth(),Ee,We),Fe=Ee.dot(de);if(oe.doorType===bd.Arched)for(let _e=0;_e0&&(k(oe.id,Le,de)||(qe[_e][ot]+=Fe*We)))}else for(let _e=0;_e0){const Ye=_e-re/2+.5,St=ot-ge/2+.5;Le.set(Ce.x+Ye*Ue,Ce.y+Ye*Ne,Ce.z+St*ye),k(oe.id,Le,de)||(qe[_e][ot]+=Fe*We)}},Q=(oe,de,ve,Pe)=>{const me=Pe[0][0].z,Re=be.dayOfYear(A),ze=Rr(oe,Re,x,vr.SPHERE_MODEL),Ae=new Qt(0,0,ve.rotation[2],"ZYX");let re=Number.MAX_VALUE,ge=Number.MAX_VALUE,we=-Number.MAX_VALUE,ye=-Number.MAX_VALUE;for(const De of Pe)for(const Fe of De){const _e=Fe.clone().applyEuler(Ae);_e.x>we&&(we=_e.x),_e.xye&&(ye=_e.y),_e.yArray(Ie).fill(0)),H.current.set(de.id,Ue));const Ne=new ae(re+v/2,ge+v/2,ve.lz+me+f0),Le=new ae(0,0,Ne.z),qe=tr(o.ground,A.getMonth(),Po,ze),We=Po.dot(oe);for(let De=0;De0&&(Le.y=Ne.y+Fe*Ee,k(de.id,Le,oe)||(Ue[De][Fe]+=We*ze))}},ee=oe=>{if(oe.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;let me=!0;const Re=Pe[0][0].z;for(const ze of Pe)for(const Ae of ze)if(Math.abs(Ae.z-Re)>.01){me=!1;break}if(me)Q(de,oe,ve,Pe);else{const ze=be.dayOfYear(A),Ae=new Qt(0,0,ve.rotation[2],"ZYX"),re=Rr(de,ze,x,vr.SPHERE_MODEL);for(const[ge,we]of Pe.entries()){const ye=oe.id+"-"+ge,Te=we[0].clone().applyEuler(Ae),Ie=we[1].clone().applyEuler(Ae),Ce=we[2].clone().applyEuler(Ae),Ee=new ae().subVectors(Ie,Te),Ue=new ae().subVectors(Ce,Te),Ne=new ae().subVectors(Ce,Ie),Le=Ee.length(),qe=new ae().crossVectors(Ue,Ne).length()/Le,We=Math.max(2,Math.round(Le/v)),De=Math.max(2,Math.round(qe/v));let Fe=H.current.get(ye);(!Fe||Fe.length!==We||Fe[0].length!==De)&&(Fe=Array(We).fill(0).map(()=>Array(De).fill(0)),H.current.set(ye,Fe)),Ee.normalize(),Ue.normalize(),Ne.normalize();const _e=new ae().crossVectors(Ue,Ne).normalize(),ot=Ee.multiplyScalar(.5*Le/We),Ye=new ae().crossVectors(_e,Ee).normalize().multiplyScalar(.5*qe/De),St=new ae(ve.cx+Te.x,ve.cy+Te.y,ve.lz+Te.z+f0);St.add(ot).add(Ye),ot.multiplyScalar(2),Ye.multiplyScalar(2);const dt=new ae,je=tr(o.ground,A.getMonth(),_e,re),at=_e.dot(de);for(let ut=0;ut0&&(dt.copy(St).add(wt).add(Ye.clone().multiplyScalar(rt)),k(ye,dt,de)||(Fe[ut][rt]+=at*re))}}}},$=oe=>{if(oe.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;let me=!0;const Re=Pe[0][0].z;for(const ze of Pe)for(const Ae of ze)if(Math.abs(Ae.z-Re)>.01){me=!1;break}if(me)Q(de,oe,ve,Pe);else{const ze=be.dayOfYear(A),Ae=new Qt(0,0,ve.rotation[2],"ZYX"),re=Rr(de,ze,x,vr.SPHERE_MODEL);for(const[ge,we]of Pe.entries()){const ye=oe.id+"-"+ge;if(ge===Pe.length-1){let Te=Number.MAX_VALUE,Ie=Number.MAX_VALUE,Ce=-Number.MAX_VALUE,Ee=-Number.MAX_VALUE;for(const St of we){const dt=St.clone().applyEuler(Ae);dt.x>Ce&&(Ce=dt.x),dt.xEe&&(Ee=dt.y),dt.yArray(Le).fill(0)),H.current.set(ye,De));const Fe=new ae(Te+v/2,Ie+v/2,ve.lz+Ue+f0),_e=new ae(0,0,Fe.z),ot=tr(o.ground,A.getMonth(),Po,re),Ye=Po.dot(de);for(let St=0;St0&&(_e.y=Fe.y+dt*We,k(ye,_e,de)||(De[St][dt]+=Ye*re))}}else{const Te=we[0].clone().applyEuler(Ae),Ie=we[1].clone().applyEuler(Ae),Ce=we[2].clone().applyEuler(Ae),Ee=new ae().subVectors(Ie,Te),Ue=new ae().subVectors(Ce,Te),Ne=new ae().subVectors(Ce,Ie),Le=Ee.length(),qe=new ae().crossVectors(Ue,Ne).length()/Le,We=Math.max(2,Math.round(Le/v)),De=Math.max(2,Math.round(qe/v));let Fe=H.current.get(ye);(!Fe||Fe.length!==We||Fe[0].length!==De)&&(Fe=Array(We).fill(0).map(()=>Array(De).fill(0)),H.current.set(ye,Fe)),Ee.normalize(),Ue.normalize(),Ne.normalize();const _e=new ae().crossVectors(Ue,Ne).normalize(),ot=Ee.multiplyScalar(.5*Le/We),Ye=new ae().crossVectors(_e,Ee).normalize().multiplyScalar(.5*qe/De),St=new ae(ve.cx+Te.x,ve.cy+Te.y,ve.lz+Te.z+f0);St.add(ot).add(Ye),ot.multiplyScalar(2),Ye.multiplyScalar(2);const dt=new ae,je=tr(o.ground,A.getMonth(),_e,re),at=_e.dot(de);for(let ut=0;ut0&&(dt.copy(St).add(wt).add(Ye.clone().multiplyScalar(rt)),k(ye,dt,de)||(Fe[ut][rt]+=at*re))}}}}},q=oe=>{if(oe.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;let me=!0;const Re=Pe[0][0].z;for(const ze of Pe)for(const Ae of ze)if(Math.abs(Ae.z-Re)>.01){me=!1;break}if(me)Q(de,oe,ve,Pe);else{const ze=be.dayOfYear(A),Ae=new Qt(0,0,ve.rotation[2],"ZYX"),re=Rr(de,ze,x,vr.SPHERE_MODEL);for(const[ge,we]of Pe.entries()){const ye=oe.id+"-"+ge,Te=we[0].clone().applyEuler(Ae),Ie=we[1].clone().applyEuler(Ae),Ce=we[2].clone().applyEuler(Ae),Ee=new ae().subVectors(Ie,Te),Ue=new ae().subVectors(Ce,Te),Ne=new ae().subVectors(Ce,Ie),Le=Ee.length(),qe=new ae().crossVectors(Ue,Ne).length()/Le,We=Math.max(2,Math.round(Le/v)),De=Math.max(2,Math.round(qe/v));let Fe=H.current.get(ye);(!Fe||Fe.length!==We||Fe[0].length!==De)&&(Fe=Array(We).fill(0).map(()=>Array(De).fill(0)),H.current.set(ye,Fe)),Ee.normalize(),Ue.normalize(),Ne.normalize();const _e=new ae().crossVectors(Ue,Ne).normalize(),ot=Ee.multiplyScalar(.5*Le/We),Ye=new ae().crossVectors(_e,Ee).normalize().multiplyScalar(.5*qe/De),St=new ae(ve.cx+Te.x,ve.cy+Te.y,ve.lz+Te.z+f0);St.add(ot).add(Ye),ot.multiplyScalar(2),Ye.multiplyScalar(2);const dt=new ae,je=tr(o.ground,A.getMonth(),_e,re),at=_e.dot(de);for(let ut=0;ut0&&(dt.copy(St).add(wt).add(Ye.clone().multiplyScalar(rt)),k(ye,dt,de)||(Fe[ut][rt]+=at*re))}}}},le=oe=>{if(oe.roofType!==Vo.Hip)throw new Error("roof is not hip");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;let me=!0;const Re=Pe[0][0].z;for(const ze of Pe)for(const Ae of ze)if(Math.abs(Ae.z-Re)>.01){me=!1;break}if(me)Q(de,oe,ve,Pe);else{const ze=be.dayOfYear(A),Ae=new Qt(0,0,ve.rotation[2],"ZYX"),re=Rr(de,ze,x,vr.SPHERE_MODEL);for(const[ge,we]of Pe.entries()){const ye=oe.id+"-"+ge,Te=we[0].clone().applyEuler(Ae),Ie=we[1].clone().applyEuler(Ae),Ce=we[2].clone().applyEuler(Ae),Ee=new ae().subVectors(Ie,Te),Ue=new ae().subVectors(Ce,Te),Ne=new ae().subVectors(Ce,Ie),Le=Ee.length(),qe=new ae().crossVectors(Ue,Ne).length()/Le,We=Math.max(2,Math.round(Le/v)),De=Math.max(2,Math.round(qe/v));let Fe=H.current.get(ye);(!Fe||Fe.length!==We||Fe[0].length!==De)&&(Fe=Array(We).fill(0).map(()=>Array(De).fill(0)),H.current.set(ye,Fe)),Ee.normalize(),Ue.normalize(),Ne.normalize();const _e=new ae().crossVectors(Ue,Ne).normalize(),ot=Ee.multiplyScalar(.5*Le/We),Ye=new ae().crossVectors(_e,Ee).normalize().multiplyScalar(.5*qe/De),St=new ae,dt=new ae(ve.cx+Te.x,ve.cy+Te.y,ve.lz+Te.z+f0);dt.add(ot).add(Ye),ot.multiplyScalar(2),Ye.multiplyScalar(2);const je=tr(o.ground,A.getMonth(),_e,re),at=_e.dot(de);for(let ut=0;ut0&&(St.copy(dt).add(wt).add(Ye.clone().multiplyScalar(rt)),k(ye,St,de)||(Fe[ut][rt]+=at*re))}}}},ie=oe=>{if(oe.roofType!==Vo.Gable)throw new Error("roof is not gable");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;const me=be.dayOfYear(A),Re=new Qt(0,0,ve.rotation[2],"ZYX"),ze=Rr(de,me,x,vr.SPHERE_MODEL);for(const[Ae,re]of Pe.entries()){const ge=oe.id+"-"+Ae,we=re[0].clone().applyEuler(Re),ye=re[1].clone().applyEuler(Re),Te=re[2].clone().applyEuler(Re),Ie=new ae().subVectors(ye,we),Ce=new ae().subVectors(Te,we),Ee=new ae().subVectors(Te,ye),Ue=Ie.length(),Ne=new ae().crossVectors(Ce,Ee).length()/Ue,Le=Math.max(2,Math.round(Ue/v)),qe=Math.max(2,Math.round(Ne/v));let We=H.current.get(ge);(!We||We.length!==Le||We[0].length!==qe)&&(We=Array(Le).fill(0).map(()=>Array(qe).fill(0)),H.current.set(ge,We)),Ie.normalize(),Ce.normalize(),Ee.normalize();const De=new ae().crossVectors(Ce,Ee).normalize(),Fe=Ie.multiplyScalar(.5*Ue/Le),_e=new ae().crossVectors(De,Ie).normalize().multiplyScalar(.5*Ne/qe),ot=new ae(ve.cx+we.x,ve.cy+we.y,ve.lz+we.z+f0);ot.add(Fe).add(_e),Fe.multiplyScalar(2),_e.multiplyScalar(2);const Ye=new ae,St=tr(o.ground,A.getMonth(),De,ze),dt=De.dot(de);for(let je=0;je0&&(Ye.copy(ot).add(at).add(_e.clone().multiplyScalar(ut)),k(ge,Ye,de)||(We[je][ut]+=dt*ze))}}},pe=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;let ve=r(oe);if(!ve)throw new Error("parent of solar panel does not exist");const Pe=oe.parentType===z.Roof,me=oe.parentType===z.Wall;if(Pe&&(ve=a(ve),!ve))throw new Error("foundation of solar panel does not exist");const Re=be.dayOfYear(A),ze=me?be.absoluteCoordinates(oe.cx,oe.cy,oe.cz,ve,a(oe),oe.lz):be.absoluteCoordinates(oe.cx,oe.cy,oe.cz,ve),Ae=ve.rotation[2];let re=Ae+oe.relativeAzimuth,ge=oe.tiltAngle,we=!0;if(Pe&&(ze.z=oe.cz+oe.lz+.02+ve.cz+ve.lz/2,be.isZero(oe.rotation[0])?ze.z+=oe.poleHeight:(ge=oe.rotation[0],re=Ae,we=!1)),me&&!be.isZero(oe.tiltAngle)){const ut=ve,wt=a(ve),Qe=(wt?wt.rotation[2]+ut.relativeAngle:ut.relativeAngle)-Vt,Oe=oe.ly*Math.abs(Math.sin(oe.tiltAngle))/2;ze.x+=Oe*Math.cos(Qe),ze.y+=Oe*Math.sin(Qe)}const ye=new ae().fromArray(oe.normal),Te=oe.lx,Ie=oe.ly,Ce=Math.max(2,Math.round(oe.lx/v)),Ee=Math.max(2,Math.round(oe.ly/v)),Ue=Te/Ce,Ne=Ie/Ee,Le=ze.x-(Te-v)/2,qe=ze.y-(Ie-v)/2,We=Pe||me?ze.z:ve.lz+oe.poleHeight+oe.lz,De=new Gt(ze.x,ze.y),Fe=new ae;let _e=H.current.get(oe.id);(!_e||_e.length!==Ce||_e[0].length!==Ee)&&(_e=Array(Ce).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(oe.id,_e));let ot=new Qt(Pe&&!we?0:ge,0,re,"ZYX");if(oe.trackerType!==Ma.NO_TRACKER){const ut=Ae?de.clone().applyAxisAngle(Po,-Ae):de.clone();switch(oe.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const wt=new Ts().setFromUnitVectors(Po,ut);ot=new Qt().setFromQuaternion(wt),ot.z+=re;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const wt=new Ts().setFromUnitVectors(Po,new ae(ut.x,0,ut.z).normalize());ot=new Qt().setFromQuaternion(wt),ot.z+=re;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{if(Math.abs(oe.tiltAngle)>.001){const wt=new ae(ut.x,-ut.y,0).normalize(),rt=Math.acos(Yc.dot(wt))*Math.sign(wt.x);ot=new Qt(oe.tiltAngle,0,rt+Ae,"ZYX")}break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}ye.applyEuler(ot),Pe&&!we&&(ot.x=oe.rotation[0],ot.z=oe.rotation[2]+Ae),me&&(ot.x=Vt+oe.tiltAngle,ot.z=ve.relativeAngle+Ae);const Ye=Rr(de,Re,x,vr.SPHERE_MODEL),St=tr(o.ground,A.getMonth(),ye,Ye),dt=ye.dot(de),je=new Gt,at=new ae;for(let ut=0;ut0&&(je.set(Le+ut*Ue,qe+wt*Ne),at.set(je.x-De.x,je.y-De.y,0),at.applyEuler(ot),Fe.set(ze.x+at.x,ze.y+at.y,We+at.z),k(oe.id,Fe,de)||(_e[ut][wt]+=dt*Ye))},ne=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=r(oe);if(!ve)throw new Error("parent of parabolic trough does not exist");const Pe=be.dayOfYear(A),me=be.absoluteCoordinates(oe.cx,oe.cy,oe.cz,ve),Re=new ae().fromArray(oe.normal),ze=Re.clone(),Ae=oe.lx,re=oe.ly,ge=Ae*Ae/(4*oe.latusRectum),we=oe.poleHeight+Ae/2,ye=Math.max(2,Math.round(oe.lx/v)),Te=Math.max(2,Math.round(oe.ly/v)),Ie=Ae/ye,Ce=re/Te,Ee=me.x-(Ae-v)/2,Ue=me.y-(re-v)/2,Ne=ve.lz+we+oe.lz+ge,Le=new Gt(me.x,me.y),qe=new ae;let We=H.current.get(oe.id);(!We||We.length!==ye||We[0].length!==Te)&&(We=Array(ye).fill(0).map(()=>Array(Te).fill(0)),H.current.set(oe.id,We));const De=ve.rotation[2],Fe=De+oe.relativeAzimuth,_e=be.isZero(Fe),ot=_e?1:Math.cos(Fe),Ye=_e?0:Math.sin(Fe),St=De?de.clone().applyAxisAngle(Po,-De):de.clone(),dt=new Ts().setFromUnitVectors(Po,new ae(St.x*ot,St.x*Ye,St.z).normalize()),je=new Qt().setFromQuaternion(dt);Re.copy(ze.clone().applyEuler(je));const at=Rr(de,Pe,x,vr.SPHERE_MODEL),ut=tr(o.ground,A.getMonth(),Re,at),wt=Re.dot(de),rt=new Gt,Qe=new ae;let Oe=0,et=0,vt=1;const ct=4/(oe.latusRectum*oe.latusRectum);for(let lt=0;lt0&&(rt.set(Oe,Ue+tt*Ce),_e||rt.rotateAround(Le,Fe),Qe.set(rt.x-Le.x,rt.y-Le.y,0),Qe.applyEuler(je),qe.set(me.x+Qe.x,me.y+Qe.y,Ne+Qe.z),k(oe.id,qe,de)||(We[lt][tt]+=wt*at*vt))}},Z=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=r(oe);if(!ve)throw new Error("parent of parabolic dish does not exist");const Pe=be.dayOfYear(A),me=be.absoluteCoordinates(oe.cx,oe.cy,oe.cz,ve),Re=new ae().fromArray(oe.normal),ze=Re.clone(),Ae=oe.lx,re=oe.ly,ge=Ae*Ae/(4*oe.latusRectum),we=oe.poleHeight+Ae/2,ye=Math.max(2,Math.round(oe.lx/v)),Te=Math.max(2,Math.round(oe.ly/v)),Ie=Ae/ye,Ce=re/Te,Ee=me.x-(Ae-v)/2,Ue=me.y-(re-v)/2,Ne=ve.lz+we+oe.lz+ge,Le=new Gt(me.x,me.y),qe=new ae;let We=H.current.get(oe.id);(!We||We.length!==ye||We[0].length!==Te)&&(We=Array(ye).fill(0).map(()=>Array(Te).fill(0)),H.current.set(oe.id,We));const De=ve.rotation[2],Fe=De+oe.relativeAzimuth,_e=be.isZero(Fe),ot=De?de.clone().applyAxisAngle(Po,-De):de.clone(),Ye=new Ts().setFromUnitVectors(Po,ot),St=new Qt().setFromQuaternion(Ye);Re.copy(ze.clone().applyEuler(St));const dt=Rr(de,Pe,x,vr.SPHERE_MODEL),je=tr(o.ground,A.getMonth(),Re,dt),at=Re.dot(de),ut=new Gt,wt=new ae;let rt=0,Qe=0,Oe=0,et=0,vt=1;const ct=4/(oe.latusRectum*oe.latusRectum);for(let lt=0;ltAe/2))for(let tt=0;ttre/2)&&(We[lt][tt]+=je,at>0&&(ut.set(rt,Qe),_e||ut.rotateAround(Le,Fe),wt.set(ut.x-Le.x,ut.y-Le.y,0),wt.applyEuler(St),qe.set(me.x+wt.x,me.y+wt.y,Ne+wt.z),k(oe.id,qe,de)||(vt=1/Math.sqrt(1+(Oe*Oe+et*et)*ct),We[lt][tt]+=at*dt*vt)))},he=oe=>{const de=zr(A,o.latitude);if(de.zArray(Ie).fill(0)),H.current.set(oe.id,De));const _e=ve.rotation[2]+oe.relativeAzimuth,ot=be.isZero(_e),Ye=ot?1:Math.cos(_e),St=ot?0:Math.sin(_e),dt=Pe.solarStructure===zn.FocusPipe?new ae((Pe.cx-ze.x)*Ye,(Pe.cy-ze.y)*St,Pe.cz-ze.z+Pe.lz/2+(me.absorberHeight??10)):void 0,je=new ae(St,Ye,0),at=new ae;let ut,wt;if(dt){at.set(dt.x,dt.y,dt.z);const lt=-dt.z*(de.y*je.y+de.x*je.x)/de.z;at.x+=lt*je.x,at.y-=lt*je.y,wt=at.clone().normalize();let tt=wt.add(de).normalize();be.isSame(tt,Po)&&(tt=new ae(-.001,0,1).normalize()),ot||tt.applyAxisAngle(Po,-_e),ut=new Qt(0,Math.atan2(tt.x,tt.z),_e,"ZXY"),Ae.copy(re.clone().applyEuler(ut))}else wt=new ae(0,0,1),ut=new Qt;const rt=Rr(de,Re,x,vr.SPHERE_MODEL),Qe=tr(o.ground,A.getMonth(),Ae,rt),Oe=Ae.dot(de),et=new Gt,vt=new ae;let ct=0;if(d)for(let lt=0;lt0&&(et.set(ct,Ne+tt*Ee),vt.set(et.x-qe.x,et.y-qe.y,0),vt.applyEuler(ut),We.set(ze.x+vt.x,ze.y+vt.y,Le+vt.z),!k(oe.id,We,de)&&!k(oe.id,We,wt)&&(De[lt][tt]+=Oe*rt))}else for(let lt=0;lt0&&(et.set(ct,Ne+tt*Ee),vt.set(et.x-qe.x,et.y-qe.y,0),vt.applyEuler(ut),We.set(ze.x+vt.x,ze.y+vt.y,Le+vt.z),k(oe.id,We,de)||(De[lt][tt]+=Oe*rt))}},fe=oe=>{const de=zr(A,o.latitude);if(de.zArray(Ie).fill(0)),H.current.set(oe.id,De));const Fe=ve.rotation[2],_e=Pe.solarStructure===zn.FocusTower?new ae(Pe.cx-ze.x,Pe.cy-ze.y,Pe.cz-ze.z+(me.towerHeight??20)):void 0;let ot,Ye;if(_e){ot=_e.clone().normalize();let rt=ot.clone().add(de).normalize();be.isSame(rt,Po)&&(rt=new ae(-.001,0,1).normalize()),Fe&&rt.applyAxisAngle(Po,-Fe);const Qe=Math.hypot(rt.x,rt.y);Ye=new Qt(Math.atan2(Qe,rt.z),0,Math.atan2(rt.y,rt.x)+Vt,"ZXY"),Ae.copy(re.clone().applyEuler(Ye))}else ot=new ae(0,0,1),Ye=new Qt;const St=Rr(de,Re,x,vr.SPHERE_MODEL),dt=tr(o.ground,A.getMonth(),Ae,St),je=Ae.dot(de),at=new Gt,ut=new ae;let wt=0;if(d)for(let rt=0;rt0&&(at.set(wt,Ne+Qe*Ee),ut.set(at.x-qe.x,at.y-qe.y,0),ut.applyEuler(Ye),We.set(ze.x+ut.x,ze.y+ut.y,Le+ut.z),!k(oe.id,We,de)&&!k(oe.id,We,ot)&&(De[rt][Qe]+=je*St))}else for(let rt=0;rt0&&(at.set(wt,Ne+Qe*Ee),ut.set(at.x-qe.x,at.y-qe.y,0),ut.applyEuler(Ye),We.set(ze.x+ut.x,ze.y+ut.y,Le+ut.z),k(oe.id,We,de)||(De[rt][Qe]+=je*St))}},se=oe=>{const de=oe.solarUpdraftTower;if(!de)return;const ve=zr(A,o.latitude);if(ve.z<=0)return;const Pe=be.dayOfYear(A),me=new ae().fromArray(oe.normal),Re=de.collectorRadius,ze=Math.max(2,Math.round(Re*2/v)),Ae=oe.cx-Re+v/2,re=oe.cy-Re+v/2,ge=oe.lz+de.collectorHeight,we=oe.id+"-sut";let ye=H.current.get(we);(!ye||ye.length!==ze||ye[0].length!==ze)&&(ye=Array(ze).fill(0).map(()=>Array(ze).fill(0)),H.current.set(we,ye));const Te=Rr(ve,Pe,x,vr.SPHERE_MODEL),Ie=tr(o.ground,A.getMonth(),me,Te),Ce=new ae(0,0,ge),Ee=me.dot(ve),Ue=Re*Re;let Ne,Le;for(let qe=0;qeUe)&&(ye[qe][We]+=Ie,Ee>0&&(k(we,Ce,ve)||(ye[qe][We]+=Ee*Te)))}};return h.jsx(h.Fragment,{})}),BLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=bn(j7t),s=M(nW),c=bn(O7t),u=M(oW),d=M(Vje),f=M(Gje),p=bn(_7t),g=gt(L7t),y=gt(W7t),A=gt(N7t),x=gt(U7t),C=M(MBe),{scene:b}=Xi(),v=Kt(),S=r1(t),w=new Date(i.date),T=t?S==null?void 0:S.elevation:0,P=i.cspTimesPerHour??4,R=60/P,H=i.cspDaysPerYear??6,D=12/H,E=m.useMemo(()=>new Gs,[]),L=i.monthlyIrradianceLosses??new Array(12).fill(.05),U=i.cspGridCellSize??.5,F=m.useRef([]),W=m.useRef([]),B=m.useRef(0),k=m.useRef(!1),N=m.useRef(new Date(i.date)),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),$=m.useRef(ee),q=be.daysInYear(w)/12;m.useEffect(()=>{if(g)return le(),B.current=requestAnimationFrame(ie),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ie())},[A]);const le=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),w.setHours(Math.floor(ee.sunrise/60),R/2-30)),k.current=!1,Re(),ze()},ie=()=>{if(g&&!J.current){if(w.getMinutes()+w.getHours()*60>=ee.sunset){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showDailyParabolicTroughYieldPanel=!0,ge.selectedFloatingWindow="dailyParabolicTroughYieldPanel"}),gt.getState().set(ge=>{ge.runDailySimulationForParabolicTroughs=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,pe(),o&&e(ge=>{const we=bn.getState().sumDailyParabolicTroughYield();ge.actionInfo={name:"Daily Simulation for Parabolic Troughs Completed",result:{totalYield:we},details:bn.getState().dailyParabolicTroughYield,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicTrough&&oe(ge);B.current=requestAnimationFrame(ie)}},pe=()=>{const re=de();for(const ge of r)if(ge.type===z.ParabolicTrough){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Pe(we)*re;for(let Ie=0;Ie{var re;if(d){const ge=new Array(24).fill(0),we=new Map;let ye=0;const Te=[];for(const Ce of r)if(Ce.type===z.ParabolicTrough){const Ee=j.current.get(Ce.id);if(Ee){s(Ce.id,Ee.reduce((Ue,Ne)=>Ue+Ne,0)),ye++,we.set("Trough"+ye,Ee),Te.push(Ce.label??"Trough"+ye);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=Ee[Ue]}}const Ie=[];for(let Ce=0;Ce<24;Ce++){const Ee={};Ee.Hour=Ce;for(let Ue=1;Ue<=ye;Ue++){const Ne="Trough"+Ue;Ee[Te[Ue-1]]=(re=we.get(Ne))==null?void 0:re[Ce]}Ie.push(Ee)}l(Ie),p(Te)}else{const ge=new Array(24).fill(0);for(const ye of r)if(ye.type===z.ParabolicTrough){const Te=j.current.get(ye.id);if(Te){s(ye.id,Te.reduce((Ie,Ce)=>Ie+Ce,0));for(let Ie=0;Ie<24;Ie++)ge[Ie]+=Te[Ie]}}const we=[];for(let ye=0;ye<24;ye++)we.push({Hour:ye,Total:ge[ye]});l(we)}};m.useEffect(()=>{if(y)return Z(),B.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=x,x?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[x]);const Z=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),_.current=0,w.setMonth(0,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),e(re=>{re.world.date=w.toLocaleString("en-US")})),k.current=!1,Re(),ze(),Ae()},he=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60<$.current.sunset){w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicTrough&&oe(ge);B.current=requestAnimationFrame(he)}else{if(fe(),_.current++,_.current===H){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showYearlyParabolicTroughYieldPanel=!0,ge.selectedFloatingWindow="yearlyParabolicTroughYieldPanel"}),gt.getState().set(ge=>{ge.runYearlySimulationForParabolicTroughs=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,se(),o&&e(ge=>{const we=bn.getState().sumYearlyParabolicTroughYield();ge.actionInfo={name:"Yearly Simulation for Parabolic Troughs Completed",result:{totalYield:we},details:bn.getState().yearlyParabolicTroughYield,timestamp:new Date().getTime()}});return}w.setMonth(_.current*D,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),ze(),B.current=requestAnimationFrame(he)}},fe=()=>{const re=ve();for(const ge of r)if(ge.type===z.ParabolicTrough){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Y.current.get(we.id);if(Te){const Ie=ye.reduce((Ce,Ee)=>Ce+Ee,0);Te[_.current]+=Ie*re*Pe(we)}}}C&&pe()},se=()=>{if(f){const re=[],ge=[];let we=0;for(const Te of r)if(Te.type===z.ParabolicTrough){const Ie=Y.current.get(Te.id);Ie&&(u(Te.id,Ie.reduce((Ce,Ee)=>Ce+Ee,0)*D*q),re.push(Ie),we++,ge.push(Te.label??"Trough"+we))}const ye=[];for(let Te=0;Te<12;Te+=D){const Ie={};Ie.Month=Ps[Te];for(const[Ce,Ee]of re.entries())Ie[ge[Ce]]=Ee[Te/D]*q;ye.push(Ie)}c(ye),p(ge)}else{const re=[];for(const we of r)if(we.type===z.ParabolicTrough){const ye=Y.current.get(we.id);ye&&(u(we.id,ye.reduce((Te,Ie)=>Te+Ie,0)*D*q),re.push(ye))}const ge=[];for(let we=0;we<12;we+=D){let ye=0;for(const Te of re)ye+=Te[we/D];ge.push({Month:Ps[we],Total:ye*q})}c(ge)}},oe=re=>{const ge=zr(w,i.latitude);if(ge.z0&&(lt.set(Ye+Mt*De,St+st*Fe),Ue||lt.rotateAround(je,Ee),tt.set(lt.x-je.x,lt.y-je.y,0),tt.applyEuler(et),at.set(Te.x+tt.x,Te.y+tt.y,dt+tt.z),me(re.id,at,ge)||(it+=ct*vt));const At=j.current.get(re.id);if(At){const Mt=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();At[Mt]+=it/(qe*We)}},de=()=>{const re=ee.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},ve=()=>{const re=$.current.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},Pe=re=>re.lx*re.ly*re.opticalEfficiency*re.thermalEfficiency*re.absorptance*re.reflectance*(1-L[w.getMonth()]),me=(re,ge,we)=>{if(F.current.length>1){W.current.length=0,E.set(ge,we);const ye=F.current.filter(Te=>Te.uuid!==re);return E.intersectObjects(ye,!1,W.current),W.current.length>0}return!1},Re=()=>{const re=b.children.filter(ge=>ge.name==="Content");if(re.length>0){const ge=re[0].children;F.current.length=0;for(const we of ge)be.fetchSimulationElements(we,F.current)}},ze=()=>{for(const re of r)if(re.type===z.ParabolicTrough){const ge=j.current.get(re.id);ge?ge.fill(0):j.current.set(re.id,new Array(24).fill(0))}},Ae=()=>{for(const re of r)if(re.type===z.ParabolicTrough){const ge=Y.current.get(re.id);ge&&ge.length===H?ge.fill(0):Y.current.set(re.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),jLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=bn(P8t),s=M(nW),c=bn(R8t),u=M(oW),d=M(oYe),f=M(iYe),p=bn(H8t),g=gt(v8t),y=gt(x8t),A=gt(b8t),x=gt(S8t),C=M(IBe),{scene:b}=Xi(),v=Kt(),S=r1(t),w=new Date(i.date),T=t?S==null?void 0:S.elevation:0,P=i.cspTimesPerHour??4,R=60/P,H=i.cspDaysPerYear??6,D=12/H,E=m.useMemo(()=>new Gs,[]),L=i.monthlyIrradianceLosses??new Array(12).fill(.05),U=i.cspGridCellSize??.5,F=m.useRef([]),W=m.useRef([]),B=m.useRef(0),k=m.useRef(!1),N=m.useRef(new Date(i.date)),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),$=m.useRef(ee),q=be.daysInYear(w)/12;m.useEffect(()=>{if(g)return le(),B.current=requestAnimationFrame(ie),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ie())},[A]);const le=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),w.setHours(Math.floor(ee.sunrise/60),R/2-30)),k.current=!1,Re(),ze()},ie=()=>{if(g&&!J.current){if(w.getMinutes()+w.getHours()*60>=ee.sunset){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showDailyParabolicDishYieldPanel=!0,ge.selectedFloatingWindow="dailyParabolicDishYieldPanel"}),gt.getState().set(ge=>{ge.runDailySimulationForParabolicDishes=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,pe(),o&&e(ge=>{const we=bn.getState().sumDailyParabolicDishYield();ge.actionInfo={name:"Daily Simulation for Parabolic Dishes Completed",result:{totalYield:we},details:bn.getState().dailyParabolicDishYield,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicDish&&oe(ge);B.current=requestAnimationFrame(ie)}},pe=()=>{const re=de();for(const ge of r)if(ge.type===z.ParabolicDish){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Pe(we)*re;for(let Ie=0;Ie{var re;if(d){const ge=new Array(24).fill(0),we=new Map;let ye=0;const Te=[];for(const Ce of r)if(Ce.type===z.ParabolicDish){const Ee=j.current.get(Ce.id);if(Ee){s(Ce.id,Ee.reduce((Ue,Ne)=>Ue+Ne,0)),ye++,we.set("Dish"+ye,Ee),Te.push(Ce.label??"Dish"+ye);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=Ee[Ue]}}const Ie=[];for(let Ce=0;Ce<24;Ce++){const Ee={};Ee.Hour=Ce;for(let Ue=1;Ue<=ye;Ue++){const Ne="Dish"+Ue;Ee[Te[Ue-1]]=(re=we.get(Ne))==null?void 0:re[Ce]}Ie.push(Ee)}l(Ie),p(Te)}else{const ge=new Array(24).fill(0);for(const ye of r)if(ye.type===z.ParabolicDish){const Te=j.current.get(ye.id);if(Te){s(ye.id,Te.reduce((Ie,Ce)=>Ie+Ce,0));for(let Ie=0;Ie<24;Ie++)ge[Ie]+=Te[Ie]}}const we=[];for(let ye=0;ye<24;ye++)we.push({Hour:ye,Total:ge[ye]});l(we)}};m.useEffect(()=>{if(y)return Z(),B.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=x,x?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[x]);const Z=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),_.current=0,w.setMonth(0,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),e(re=>{re.world.date=w.toLocaleString("en-US")})),k.current=!1,Re(),ze(),Ae()},he=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60<$.current.sunset){w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicDish&&oe(ge);B.current=requestAnimationFrame(he)}else{if(fe(),_.current++,_.current===H){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showYearlyParabolicDishYieldPanel=!0,ge.selectedFloatingWindow="yearlyParabolicDishYieldPanel"}),gt.getState().set(ge=>{ge.runYearlySimulationForParabolicDishes=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,se(),o&&e(ge=>{const we=bn.getState().sumYearlyParabolicDishYield();ge.actionInfo={name:"Yearly Simulation for Parabolic Dishes Completed",result:{totalYield:we},details:bn.getState().yearlyParabolicDishYield,timestamp:new Date().getTime()}});return}w.setMonth(_.current*D,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),ze(),B.current=requestAnimationFrame(he)}},fe=()=>{const re=ve();for(const ge of r)if(ge.type===z.ParabolicDish){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Y.current.get(we.id);if(Te){const Ie=ye.reduce((Ce,Ee)=>Ce+Ee,0);Te[_.current]+=Ie*re*Pe(we)}}}C&&pe()},se=()=>{if(f){const re=[],ge=[];let we=0;for(const Te of r)if(Te.type===z.ParabolicDish){const Ie=Y.current.get(Te.id);Ie&&(u(Te.id,Ie.reduce((Ce,Ee)=>Ce+Ee,0)*D*q),re.push(Ie),we++,ge.push(Te.label??"Dish"+we))}const ye=[];for(let Te=0;Te<12;Te+=D){const Ie={};Ie.Month=Ps[Te];for(const[Ce,Ee]of re.entries())Ie[ge[Ce]]=Ee[Te/D]*q;ye.push(Ie)}c(ye),p(ge)}else{const re=[];for(const we of r)if(we.type===z.ParabolicDish){const ye=Y.current.get(we.id);ye&&(u(we.id,ye.reduce((Te,Ie)=>Te+Ie,0)*D*q),re.push(ye))}const ge=[];for(let we=0;we<12;we+=D){let ye=0;for(const Te of re)ye+=Te[we/D];ge.push({Month:Ps[we],Total:ye*q})}c(ge)}},oe=re=>{const ge=zr(w,i.latitude);if(ge.z0&&(vt.set(_e+it*qe,ot+At*We),ut||vt.rotateAround(St,at),ct.set(vt.x-St.x,vt.y-St.y,0),ct.applyEuler(Qe),dt.set(Te.x+ct.x,Te.y+ct.y,Ye+ct.z),me(re.id,dt,ge)||(lt+=et*Oe));const tt=j.current.get(re.id);if(tt){const it=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();tt[it]+=lt/(Ne*Le)}},de=()=>{const re=ee.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},ve=()=>{const re=$.current.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},Pe=re=>re.lx*re.ly*re.opticalEfficiency*re.thermalEfficiency*re.absorptance*re.reflectance*(1-L[w.getMonth()]),me=(re,ge,we)=>{if(F.current.length>1){W.current.length=0,E.set(ge,we);const ye=F.current.filter(Te=>Te.uuid!==re);return E.intersectObjects(ye,!1,W.current),W.current.length>0}return!1},Re=()=>{const re=b.children.filter(ge=>ge.name==="Content");if(re.length>0){const ge=re[0].children;F.current.length=0;for(const we of ge)be.fetchSimulationElements(we,F.current)}},ze=()=>{for(const re of r)if(re.type===z.ParabolicDish){const ge=j.current.get(re.id);ge?ge.fill(0):j.current.set(re.id,new Array(24).fill(0))}},Ae=()=>{for(const re of r)if(re.type===z.ParabolicDish){const ge=Y.current.get(re.id);ge&&ge.length===H?ge.fill(0):Y.current.set(re.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),YLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=bn(q7t),s=M(nW),c=M(Jje),u=bn(Q7t),d=M(oW),f=M(Kje),p=bn(Z7t),g=gt(V7t),y=gt(G7t),A=gt(X7t),x=gt(J7t),C=M(zBe),{scene:b}=Xi(),v=Kt(),S=r1(t),w=new Date(i.date),T=t?S==null?void 0:S.elevation:0,P=i.cspTimesPerHour??4,R=60/P,H=i.cspDaysPerYear??6,D=12/H,E=m.useMemo(()=>new Gs,[]),L=i.monthlyIrradianceLosses??new Array(12).fill(.05),U=i.cspGridCellSize??.5,F=m.useRef([]),W=m.useRef([]),B=m.useRef(0),k=m.useRef(!1),N=m.useRef(new Date(i.date)),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),$=m.useRef(ee),q=be.daysInYear(w)/12;m.useEffect(()=>{if(g)return le(),B.current=requestAnimationFrame(ie),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ie())},[A]);const le=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),w.setHours(Math.floor(ee.sunrise/60),R/2-30)),k.current=!1,Re(),ze()},ie=()=>{if(g&&!J.current){if(w.getMinutes()+w.getHours()*60>=ee.sunset){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showDailyFresnelReflectorYieldPanel=!0,ge.selectedFloatingWindow="dailyFresnelReflectorYieldPanel"}),gt.getState().set(ge=>{ge.runDailySimulationForFresnelReflectors=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,pe(),o&&e(ge=>{const we=bn.getState().sumDailyFresnelReflectorYield();ge.actionInfo={name:"Daily Simulation for Fresnel Reflectors Completed",result:{totalYield:we},details:bn.getState().dailyFresnelReflectorYield,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.FresnelReflector&&oe(ge);B.current=requestAnimationFrame(ie)}},pe=()=>{const re=de();for(const ge of r)if(ge.type===z.FresnelReflector){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Pe(we)*re;for(let Ie=0;Ie{var re;if(c){const ge=new Array(24).fill(0),we=new Map;let ye=0;const Te=[];for(const Ce of r)if(Ce.type===z.FresnelReflector){const Ee=j.current.get(Ce.id);if(Ee){s(Ce.id,Ee.reduce((Ue,Ne)=>Ue+Ne,0)),ye++,we.set("Reflector"+ye,Ee),Te.push(Ce.label??"Reflector"+ye);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=Ee[Ue]}}const Ie=[];for(let Ce=0;Ce<24;Ce++){const Ee={};Ee.Hour=Ce;for(let Ue=1;Ue<=ye;Ue++){const Ne="Reflector"+Ue;Ee[Te[Ue-1]]=(re=we.get(Ne))==null?void 0:re[Ce]}Ie.push(Ee)}l(Ie),p(Te)}else{const ge=new Array(24).fill(0);for(const ye of r)if(ye.type===z.FresnelReflector){const Te=j.current.get(ye.id);if(Te){s(ye.id,Te.reduce((Ie,Ce)=>Ie+Ce,0));for(let Ie=0;Ie<24;Ie++)ge[Ie]+=Te[Ie]}}const we=[];for(let ye=0;ye<24;ye++)we.push({Hour:ye,Total:ge[ye]});l(we)}};m.useEffect(()=>{if(y)return Z(),B.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=x,x?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[x]);const Z=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),_.current=0,w.setMonth(0,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),e(re=>{re.world.date=w.toLocaleString("en-US")})),k.current=!1,Re(),ze(),Ae()},he=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60<$.current.sunset){w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.FresnelReflector&&oe(ge);B.current=requestAnimationFrame(he)}else{if(fe(),_.current++,_.current===H){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showYearlyFresnelReflectorYieldPanel=!0,ge.selectedFloatingWindow="yearlyFresnelReflectorYieldPanel"}),gt.getState().set(ge=>{ge.runYearlySimulationForFresnelReflectors=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,se(),o&&e(ge=>{const we=bn.getState().sumYearlyFresnelReflectorYield();ge.actionInfo={name:"Yearly Simulation for Fresnel Reflectors Completed",result:{totalYield:we},details:bn.getState().yearlyFresnelReflectorYield,timestamp:new Date().getTime()}});return}w.setMonth(_.current*D,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),ze(),B.current=requestAnimationFrame(he)}},fe=()=>{const re=ve();for(const ge of r)if(ge.type===z.FresnelReflector){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Y.current.get(we.id);if(Te){const Ie=ye.reduce((Ce,Ee)=>Ce+Ee,0);Te[_.current]+=Ie*re*Pe(we)}}}C&&pe()},se=()=>{if(f){const re=[],ge=[];let we=0;for(const Te of r)if(Te.type===z.FresnelReflector){const Ie=Y.current.get(Te.id);Ie&&(d(Te.id,Ie.reduce((Ce,Ee)=>Ce+Ee,0)*D*q),re.push(Ie),we++,ge.push(Te.label??"Reflector"+we))}const ye=[];for(let Te=0;Te<12;Te+=D){const Ie={};Ie.Month=Ps[Te];for(const[Ce,Ee]of re.entries())Ie[ge[Ce]]=Ee[Te/D]*q;ye.push(Ie)}u(ye),p(ge)}else{const re=[];for(const we of r)if(we.type===z.FresnelReflector){const ye=Y.current.get(we.id);ye&&(d(we.id,ye.reduce((Te,Ie)=>Te+Ie,0)*D*q),re.push(ye))}const ge=[];for(let we=0;we<12;we+=D){let ye=0;for(const Te of re)ye+=Te[we/D];ge.push({Month:Ps[we],Total:ye*q})}u(ge)}},oe=re=>{const ge=zr(w,i.latitude);if(ge.z0&&(At.set(ft,Ye+Xe*_e),Mt.set(At.x-dt.x,At.y-dt.y,0),Mt.applyEuler(ct),je.set(Ce.x+Mt.x,Ce.y+Mt.y,St+Mt.z),!me(re.id,je,ge)&&!me(re.id,je,lt)&&(st+=it*tt))}const Rt=j.current.get(re.id);if(Rt){const zt=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();Rt[zt]+=st/(We*De)}},de=()=>{const re=ee.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},ve=()=>{const re=$.current.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},Pe=re=>{const ge=a(re);if(!ge)throw new Error("parent of Fresnel reflector does not exist");let we=1;if(ge.type===z.Foundation){const Te=ge.solarAbsorberPipe;we*=((Te==null?void 0:Te.absorberOpticalEfficiency)??.7)*((Te==null?void 0:Te.absorberThermalEfficiency)??.3)*((Te==null?void 0:Te.absorberAbsorptance)??.95)}return re.lx*re.ly*re.reflectance*we*(1-L[w.getMonth()])},me=(re,ge,we)=>{if(F.current.length>1){W.current.length=0,E.set(ge,we);const ye=F.current.filter(Te=>Te.uuid!==re);return E.intersectObjects(ye,!1,W.current),W.current.length>0}return!1},Re=()=>{const re=b.children.filter(ge=>ge.name==="Content");if(re.length>0){const ge=re[0].children;F.current.length=0;for(const we of ge)be.fetchSimulationElements(we,F.current)}},ze=()=>{for(const re of r)if(re.type===z.FresnelReflector){const ge=j.current.get(re.id);ge?ge.fill(0):j.current.set(re.id,new Array(24).fill(0))}},Ae=()=>{for(const re of r)if(re.type===z.FresnelReflector){const ge=Y.current.get(re.id);ge&&ge.length===H?ge.fill(0):Y.current.set(re.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),OLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=bn(r8t),s=M(nW),c=M($je),u=bn(l8t),d=M(oW),f=M(Qje),p=bn(s8t),g=gt(e8t),y=gt(t8t),A=gt(n8t),x=gt(o8t),C=M(DBe),{scene:b}=Xi(),v=Kt(),S=r1(t),w=new Date(i.date),T=t?S==null?void 0:S.elevation:0,P=i.cspTimesPerHour??4,R=60/P,H=i.cspDaysPerYear??6,D=12/H,E=m.useMemo(()=>new Gs,[]),L=i.monthlyIrradianceLosses??new Array(12).fill(.05),U=i.cspGridCellSize??.5,F=m.useRef([]),W=m.useRef([]),B=m.useRef(0),k=m.useRef(!1),N=m.useRef(new Date(i.date)),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),$=m.useRef(ee),q=be.daysInYear(w)/12;m.useEffect(()=>{if(g)return le(),B.current=requestAnimationFrame(ie),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ie())},[A]);const le=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),w.setHours(Math.floor(ee.sunrise/60),R/2-30)),k.current=!1,Re(),ze()},ie=()=>{if(g&&!J.current){if(w.getMinutes()+w.getHours()*60>=ee.sunset){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showDailyHeliostatYieldPanel=!0,ge.selectedFloatingWindow="dailyHeliostatYieldPanel"}),gt.getState().set(ge=>{ge.runDailySimulationForHeliostats=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,pe(),o&&e(ge=>{const we=bn.getState().sumDailyHeliostatYield();ge.actionInfo={name:"Daily Simulation for Heliostats Completed",result:{totalYield:we},details:bn.getState().dailyHeliostatYield,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.Heliostat&&oe(ge);B.current=requestAnimationFrame(ie)}},pe=()=>{const re=de();for(const ge of r)if(ge.type===z.Heliostat){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Pe(we)*re;for(let Ie=0;Ie{var re;if(c){const ge=new Array(24).fill(0),we=new Map;let ye=0;const Te=[];for(const Ce of r)if(Ce.type===z.Heliostat){const Ee=j.current.get(Ce.id);if(Ee){s(Ce.id,Ee.reduce((Ue,Ne)=>Ue+Ne,0)),ye++,we.set("Heliostat"+ye,Ee),Te.push(Ce.label??"Heliostat"+ye);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=Ee[Ue]}}const Ie=[];for(let Ce=0;Ce<24;Ce++){const Ee={};Ee.Hour=Ce;for(let Ue=1;Ue<=ye;Ue++){const Ne="Heliostat"+Ue;Ee[Te[Ue-1]]=(re=we.get(Ne))==null?void 0:re[Ce]}Ie.push(Ee)}l(Ie),p(Te)}else{const ge=new Array(24).fill(0);for(const ye of r)if(ye.type===z.Heliostat){const Te=j.current.get(ye.id);if(Te){s(ye.id,Te.reduce((Ie,Ce)=>Ie+Ce,0));for(let Ie=0;Ie<24;Ie++)ge[Ie]+=Te[Ie]}}const we=[];for(let ye=0;ye<24;ye++)we.push({Hour:ye,Total:ge[ye]});l(we)}};m.useEffect(()=>{if(y)return Z(),B.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=x,x?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[x]);const Z=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),_.current=0,w.setMonth(0,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),e(re=>{re.world.date=w.toLocaleString("en-US")})),k.current=!1,Re(),ze(),Ae()},he=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60<$.current.sunset){w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.Heliostat&&oe(ge);B.current=requestAnimationFrame(he)}else{if(fe(),_.current++,_.current===H){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showYearlyHeliostatYieldPanel=!0,ge.selectedFloatingWindow="yearlyHeliostatYieldPanel"}),gt.getState().set(ge=>{ge.runYearlySimulationForHeliostats=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,se(),o&&e(ge=>{const we=bn.getState().sumYearlyHeliostatYield();ge.actionInfo={name:"Yearly Simulation for Heliostats Completed",result:{totalYield:we},details:bn.getState().yearlyHeliostatYield,timestamp:new Date().getTime()}});return}w.setMonth(_.current*D,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),ze(),B.current=requestAnimationFrame(he)}},fe=()=>{const re=ve();for(const ge of r)if(ge.type===z.Heliostat){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Y.current.get(we.id);if(Te){const Ie=ye.reduce((Ce,Ee)=>Ce+Ee,0);Te[_.current]+=Ie*re*Pe(we)}}}C&&pe()},se=()=>{if(f){const re=[],ge=[];let we=0;for(const Te of r)if(Te.type===z.Heliostat){const Ie=Y.current.get(Te.id);Ie&&(d(Te.id,Ie.reduce((Ce,Ee)=>Ce+Ee,0)*D*q),re.push(Ie),we++,ge.push(Te.label??"Heliostat"+we))}const ye=[];for(let Te=0;Te<12;Te+=D){const Ie={};Ie.Month=Ps[Te];for(const[Ce,Ee]of re.entries())Ie[ge[Ce]]=Ee[Te/D]*q;ye.push(Ie)}u(ye),p(ge)}else{const re=[];for(const we of r)if(we.type===z.Heliostat){const ye=Y.current.get(we.id);ye&&(d(we.id,ye.reduce((Te,Ie)=>Te+Ie,0)*D*q),re.push(ye))}const ge=[];for(let we=0;we<12;we+=D){let ye=0;for(const Te of re)ye+=Te[we/D];ge.push({Month:Ps[we],Total:ye*q})}u(ge)}},oe=re=>{const ge=zr(w,i.latitude);if(ge.z0&&(et.set(lt,Ye+At*_e),vt.set(et.x-dt.x,et.y-dt.y,0),vt.applyEuler(rt),je.set(Ce.x+vt.x,Ce.y+vt.y,St+vt.z),!me(re.id,je,ge)&&!me(re.id,je,wt)&&(ct+=Oe*Qe))}const tt=j.current.get(re.id);if(tt){const it=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();tt[it]+=ct/(We*De)}},de=()=>{const re=ee.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},ve=()=>{const re=$.current.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},Pe=re=>{const ge=a(re);if(!ge)throw new Error("parent of heliostat does not exist");let we=1;if(ge.type===z.Foundation){const Te=ge.solarPowerTower;we*=((Te==null?void 0:Te.receiverOpticalEfficiency)??.7)*((Te==null?void 0:Te.receiverThermalEfficiency)??.3)*((Te==null?void 0:Te.receiverAbsorptance)??.95)}return re.lx*re.ly*re.reflectance*we*(1-L[w.getMonth()])},me=(re,ge,we)=>{if(F.current.length>1){W.current.length=0,E.set(ge,we);const ye=F.current.filter(Te=>Te.uuid!==re);return E.intersectObjects(ye,!1,W.current),W.current.length>0}return!1},Re=()=>{const re=b.children.filter(ge=>ge.name==="Content");if(re.length>0){const ge=re[0].children;F.current.length=0;for(const we of ge)be.fetchSimulationElements(we,F.current)}},ze=()=>{for(const re of r)if(re.type===z.Heliostat){const ge=j.current.get(re.id);ge?ge.fill(0):j.current.set(re.id,new Array(24).fill(0))}},Ae=()=>{for(const re of r)if(re.type===z.Heliostat){const ge=Y.current.get(re.id);ge&&ge.length===H?ge.fill(0):Y.current.set(re.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),_Lo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=bn(w8t),l=bn(p8t),s=bn(g8t),c=bn(A8t),u=gt(eYe),d=gt(c8t),f=gt(tYe),p=gt(u8t),g=M(EBe),y=M(WBe),A=M(KL)??900,x=i.sutGridCellSize??1,{scene:C}=Xi(),b=Kt(),v=r1(t),S=new Date(i.date),w=v?v.elevation:0,T=i.sutTimesPerHour??4,P=60/T,R=i.sutDaysPerYear??6,H=12/R,D=m.useMemo(()=>new Gs,[]),E=m.useRef([]),L=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),W=m.useRef(new Date(i.date)),B=m.useRef(new Array(24).fill(0)),k=m.useRef(new Map),N=m.useRef(new Map),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useRef(0),$=m.useMemo(()=>sl(S,i.latitude),[i.date,i.latitude]),q=m.useRef($),le=be.daysInYear(S)/12;m.useEffect(()=>{if(u)if(y&&!be.hasMovingParts(r))ie();else return pe(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(fn(O.t("message.SimulationAborted",b)),e(ye=>{ye.world.date=W.current.toLocaleString("en-US")}),gt.getState().set(ye=>{ye.simulationInProgress=!1,ye.simulationPaused=!1})),J.current=!1}},[u]),m.useEffect(()=>{J.current=d,d?(Q.current=new Date(S.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",b))):(n("simulationPaused",!1),ne())},[d]);const ie=()=>{ge(),Pe();for(const ye of r)if(ye.type===z.Foundation){const Te=ye;Te.solarStructure===zn.UpdraftTower&&Te.solarUpdraftTower&&ze(Te)}e(ye=>{ye.viewState.showDailyUpdraftTowerYieldPanel=!0,ye.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"}),gt.getState().set(ye=>{ye.runDailySimulationForUpdraftTower=!1,ye.simulationInProgress=!1,ye.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",b)),F.current=!0,Z(),o&&e(ye=>{const Te=bn.getState().sumDailyUpdraftTowerYield();ye.actionInfo={name:"Static Daily Simulation for Updraft Tower Completed",result:{totalYield:Te},details:bn.getState().dailyUpdraftTowerYield,timestamp:new Date().getTime()}})},pe=()=>{J.current?(S.setTime(Q.current.getTime()),J.current=!1):(W.current=new Date(i.date),ee.current=S.getDay(),S.setHours(Math.floor($.sunrise/60),-P/2)),F.current=!1,ge(),Pe()},ne=()=>{if(u&&!J.current){if(S.getMinutes()+S.getHours()*60+(S.getDay()-ee.current)*y2+P>=$.sunset){cancelAnimationFrame(U.current),e(Te=>{Te.world.date=W.current.toLocaleString("en-US"),Te.viewState.showDailyUpdraftTowerYieldPanel=!0,Te.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"}),gt.getState().set(Te=>{Te.runDailySimulationForUpdraftTower=!1,Te.simulationInProgress=!1,Te.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",b)),F.current=!0,Z(),o&&e(Te=>{const Ie=bn.getState().sumDailyUpdraftTowerYield();Te.actionInfo={name:"Dynamic Daily Simulation for Updraft Tower Completed",result:{totalYield:Ie},details:bn.getState().dailyUpdraftTowerYield,timestamp:new Date().getTime()}});return}S.setHours(S.getHours(),S.getMinutes()+P),e(Te=>{Te.world.date=S.toLocaleString("en-US")});for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower&&Re(Ie)}U.current=requestAnimationFrame(ne)}},Z=()=>{const ye=Ae();for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;if(Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower){const Ce=Ie.solarUpdraftTower.collectorTransmissivity??.9,Ee=Ie.solarUpdraftTower.turbineEfficiency??.3,Ue=Ie.solarUpdraftTower.dischargeCoefficient??.65,Ne=Math.PI*Ie.solarUpdraftTower.chimneyRadius*Ie.solarUpdraftTower.chimneyRadius,Le=Math.PI*Ie.solarUpdraftTower.collectorRadius*Ie.solarUpdraftTower.collectorRadius,qe=QY*Kbe*Ne,We=2*Jbe*Ie.solarUpdraftTower.chimneyHeight,De=k.current.get(Te.id+"-sut"),Fe=N.current.get(Te.id+"-sut"),_e=j.current.get(Te.id+"-sut");if(_e&&De&&Fe){const ot=.5*Ue*Ee*QY*Ne,Ye=new Date(i.date);let St;v&&(St=Jx(Ye,v.lowestTemperatures,v.highestTemperatures));for(let dt=0;dt<_e.length;dt++){let je=20;v&&St&&(Ye.setHours(dt),je=Xx(St.high,St.low,i.diurnalTemperatureModel,A,$,be.minutesIntoDay(Ye)),B.current[dt]=je),_e[dt]*=ye*Ce*1e3;const at=je+x4;if(_e[dt]>0&&dt>0&&De[dt-1]>je){const Qe=(De[dt-1]+je)/2,Oe=(i.airConvectiveCoefficient??5)*Le*(Qe-je),et=Qe+x4,vt=et*et*et*et,ct=at*at*at*at,lt=(Ie.solarUpdraftTower.collectorEmissivity??.95)*qbe*Le*(vt-ct);_e[dt]-=Oe+lt,_e[dt]<0&&(_e[dt]=0)}const ut=_e[dt]/(qe*at),wt=at*(1+Math.cbrt(ut*ut/We))-x4,rt=wt>je?Math.sqrt(We*((wt+x4)/at-1)):0;_e[dt]=ot*rt*rt*rt*.001,De[dt]=wt,Fe[dt]=rt}}}}he()},he=()=>{var Ue,Ne,Le;const ye=new Map;let Te=0;const Ie=[];for(const qe of r)if(qe.type===z.Foundation){const We=qe;if(We.solarStructure===zn.UpdraftTower&&We.solarUpdraftTower){Te++;const De=k.current.get(qe.id+"-sut");De&&ye.set("Temperature Tower"+Te,De);const Fe=N.current.get(qe.id+"-sut");Fe&&ye.set("Wind Speed Tower"+Te,Fe);const _e=j.current.get(qe.id+"-sut");_e&&(ye.set("Tower"+Te,_e),Ie.push(qe.label?qe.label:"Tower"+Te))}}const Ce=[];for(let qe=0;qe<24;qe++){const We={};We.Hour=qe;for(let De=1;De<=Te;De++){const Fe="Tower"+De;We[Ie[De-1]]=(Ue=ye.get(Fe))==null?void 0:Ue[qe]}Ce.push(We)}s(Ce);const Ee=[];for(let qe=0;qe<24;qe++){const We={};We.Hour=qe,We.T_Ambient=B.current[qe];for(let De=1;De<=Te;De++){let Fe="Temperature Tower"+De;We["T_"+Ie[De-1]]=(Ne=ye.get(Fe))==null?void 0:Ne[qe],Fe="Wind Speed Tower"+De,We["V_"+Ie[De-1]]=(Le=ye.get(Fe))==null?void 0:Le[qe]}Ee.push(We)}l(Ee),a(Ie)};m.useEffect(()=>{if(f)if(y&&!be.hasMovingParts(r))se();else return fe(),U.current=requestAnimationFrame(oe),()=>{cancelAnimationFrame(U.current),F.current||(fn(O.t("message.SimulationAborted",b)),e(ye=>{ye.world.date=W.current.toLocaleString("en-US")}),gt.getState().set(ye=>{ye.simulationInProgress=!1,ye.simulationPaused=!1})),J.current=!1}},[f]),m.useEffect(()=>{J.current=p,p?(Q.current=new Date(S.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",b))):(n("simulationPaused",!1),oe())},[p]);const fe=()=>{J.current?(S.setTime(Q.current.getTime()),J.current=!1):(W.current=new Date(i.date),_.current=0,S.setMonth(0,22),ee.current=S.getDay(),q.current=sl(S,i.latitude),S.setHours(Math.floor(q.current.sunrise/60),-P/2),e(ye=>{ye.world.date=S.toLocaleString("en-US")})),F.current=!1,ge(),Pe(),me()},se=()=>{ge(),Pe(),me(),W.current=new Date(i.date),_.current=0;for(let ye=0;ye<12;ye+=H){S.setMonth(ye,22),q.current=sl(S,i.latitude),Pe();for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower&&ze(Ie)}de(),_.current++}e(ye=>{ye.world.date=W.current.toLocaleString("en-US"),ye.viewState.showYearlyUpdraftTowerYieldPanel=!0,ye.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"}),gt.getState().set(ye=>{ye.runYearlySimulationForUpdraftTower=!1,ye.simulationInProgress=!1,ye.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",b)),F.current=!0,ve(),o&&e(ye=>{const Te=bn.getState().sumYearlyUpdraftTowerYield();ye.actionInfo={name:"Static Yearly Simulation for Updraft Tower Completed",result:{totalYield:Te},details:bn.getState().yearlyUpdraftTowerYield,timestamp:new Date().getTime()}})},oe=()=>{if(f&&!J.current)if(S.getMinutes()+S.getHours()*60+(S.getDay()-ee.current)*y2+P{Te.world.date=S.toLocaleString("en-US")});for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower&&Re(Ie)}U.current=requestAnimationFrame(oe)}else{if(de(),_.current++,_.current===R){cancelAnimationFrame(U.current),e(Te=>{Te.world.date=W.current.toLocaleString("en-US"),Te.viewState.showYearlyUpdraftTowerYieldPanel=!0,Te.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"}),gt.getState().set(Te=>{Te.runYearlySimulationForUpdraftTower=!1,Te.simulationInProgress=!1,Te.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",b)),F.current=!0,ve(),o&&e(Te=>{const Ie=bn.getState().sumYearlyUpdraftTowerYield();Te.actionInfo={name:"Dynamic Yearly Simulation for Updraft Tower Completed",result:{totalYield:Ie},details:bn.getState().yearlyUpdraftTowerYield,timestamp:new Date().getTime()}});return}S.setMonth(_.current*H,22),ee.current=S.getDay(),q.current=sl(S,i.latitude),S.setHours(Math.floor(q.current.sunrise/60),-P/2),Pe(),U.current=requestAnimationFrame(oe)}},de=()=>{const ye=re();for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;if(Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower){const Ce=j.current.get(Ie.id+"-sut"),Ee=k.current.get(Te.id+"-sut"),Ue=N.current.get(Te.id+"-sut");if(Ce&&Ee&&Ue){const Ne=Ie.solarUpdraftTower.collectorTransmissivity??.9,Le=Ie.solarUpdraftTower.turbineEfficiency??.3,qe=Ie.solarUpdraftTower.dischargeCoefficient??.65,We=Math.PI*Ie.solarUpdraftTower.chimneyRadius*Ie.solarUpdraftTower.chimneyRadius,De=Math.PI*Ie.solarUpdraftTower.collectorRadius*Ie.solarUpdraftTower.collectorRadius,Fe=QY*Kbe*We,_e=2*Jbe*Ie.solarUpdraftTower.chimneyHeight,ot=.5*qe*Le*QY*We;let Ye;v&&(Ye=Jx(S,v.lowestTemperatures,v.highestTemperatures));for(let dt=0;dt0&&dt>0&&Ee[dt-1]>je){const Qe=(Ee[dt-1]+je)/2,Oe=(i.airConvectiveCoefficient??5)*De*(Qe-je),et=Qe+x4,vt=et*et*et*et,ct=at*at*at*at,lt=(Ie.solarUpdraftTower.collectorEmissivity??.95)*qbe*De*(vt-ct);Ce[dt]-=Oe+lt,Ce[dt]<0&&(Ce[dt]=0)}const ut=Ce[dt]/(Fe*at),wt=at*(1+Math.cbrt(ut*ut/_e))-x4,rt=wt>je?Math.sqrt(_e*((wt+x4)/at-1)):0;Ce[dt]=ot*rt*rt*rt*.001,Ee[dt]=wt,Ue[dt]=rt}const St=Y.current.get(Ie.id+"-sut");if(St){const dt=Ce.reduce((je,at)=>je+at,0);St[_.current]+=dt}}}}g&&he()},ve=()=>{const ye=[],Te=[];let Ie=0;for(const Ee of r)if(Ee.type===z.Foundation){const Ue=Ee;if(Ue.solarStructure===zn.UpdraftTower&&Ue.solarUpdraftTower){const Ne=Y.current.get(Ee.id+"-sut");Ne&&(ye.push(Ne),Te.push(Ee.label?Ee.label:"Tower"+ ++Ie))}}const Ce=[];for(let Ee=0;Ee<12;Ee+=H){const Ue={};Ue.Month=Ps[Ee];for(const[Ne,Le]of ye.entries())Ue[Te[Ne]]=Le[Ee/H]*le;Ce.push(Ue)}c(Ce),a(Te)},Pe=()=>{for(const ye of r)if(ye.type===z.Foundation){const Te=ye;if(Te.solarStructure===zn.UpdraftTower&&Te.solarUpdraftTower){const Ie=k.current.get(ye.id+"-sut");Ie?Ie.fill(0):k.current.set(ye.id+"-sut",new Array(24).fill(0));const Ce=N.current.get(ye.id+"-sut");Ce?Ce.fill(0):N.current.set(ye.id+"-sut",new Array(24).fill(0));const Ee=j.current.get(ye.id+"-sut");Ee?Ee.fill(0):j.current.set(ye.id+"-sut",new Array(24).fill(0))}}},me=()=>{for(const ye of r)if(ye.type===z.Foundation){const Te=ye;if(Te.solarStructure===zn.UpdraftTower&&Te.solarUpdraftTower){const Ie=Y.current.get(ye.id+"-sut");Ie&&Ie.length===R?Ie.fill(0):Y.current.set(ye.id+"-sut",new Array(R).fill(0))}}},Re=ye=>{const Te=ye.solarUpdraftTower;if(!Te)return;const Ie=zr(S,i.latitude);if(Ie.zSt)&&(je++,dt+=_e,Ye>0&&(we(ye.id+"-sut",ot,Ie)||(dt+=Ye*Fe)))}je&&(dt/=je);const wt=S.getMinutes()>=30?S.getHours()+1===24?0:S.getHours()+1:S.getHours(),rt=Math.PI*Te.collectorRadius*Te.collectorRadius;Ce[wt]+=dt*rt}},ze=ye=>{const Te=ye.solarUpdraftTower;if(!Te)return;const Ie=j.current.get(ye.id+"-sut");if(!Ie)return;const Ce=new ae().fromArray(ye.normal),Ee=S.getFullYear(),Ue=S.getMonth(),Ne=S.getDate(),Le=be.dayOfYear(S),qe=Te.collectorRadius,We=Math.max(2,Math.round(qe*2/x)),De=ye.cx-qe+x/2,Fe=ye.cy-qe+x/2,_e=ye.lz+Te.collectorHeight,ot=new ae(0,0,_e),Ye=qe*qe;let St=0,dt,je;const at=Math.PI*Te.collectorRadius*Te.collectorRadius;for(let ut=0;ut<24;ut++){for(let wt=0;wt0){const Oe=Rr(Qe,Le,w,vr.SPHERE_MODEL),et=tr(i.ground,Ue,Po,Oe),vt=Ce.dot(Qe);St=0;for(let ct=0;ctYe)&&(St++,Ie[ut]+=et,vt>0&&(we(ye.id+"-sut",ot,Qe)||(Ie[ut]+=vt*Oe)))}}}St&&(Ie[ut]/=St),Ie[ut]*=at}},Ae=()=>{const ye=$.daylight()/60;return ye>kt?v.sunshineHours[S.getMonth()]/(30*ye*T):0},re=()=>{const ye=S.getMonth(),Te=q.current.daylight()/60;return Te>kt?v.sunshineHours[ye]/(30*Te*T):0},ge=()=>{const ye=C.children.filter(Te=>Te.name==="Content");if(ye.length>0){const Te=ye[0].children;E.current.length=0;for(const Ie of Te)be.fetchSimulationElements(Ie,E.current)}},we=(ye,Te,Ie)=>{if(E.current.length>1){L.current.length=0,D.set(Te,Ie);const Ce=E.current.filter(Ee=>Ee.uuid!==ye);return D.intersectObjects(Ce,!1,L.current),L.current.length>0}return!1};return h.jsx(h.Fragment,{})});class VLo{constructor(e,n){this.position=e,this.observer=n}}const GLo=Se.memo(()=>{const t=M.getState().world,e=M.getState().elements,n=M(dn),o=gt(Ah),i=M(rr),r=M(cA),a=gt(P7t),{scene:l}=Xi(),s=Kt(),c=m.useMemo(()=>new Gs,[]),u=t.solarPanelVisibilityGridCellSize??.2,d=m.useRef([]),f=m.useRef([]),p=m.useRef([]);m.useEffect(()=>{a&&e&&e.length>0&&(A(),o("runSolarPanelVisibilityAnalysis",!1),n(b=>{b.viewState.showSolarPanelVisibilityResultsPanel=!0,b.selectedFloatingWindow="visibilityResultsPanel"}),fn(O.t("message.SimulationCompleted",s))),o("simulationInProgress",!1)},[a]);const g=()=>{const b=l.children.filter(v=>v.name==="Content");if(b.length>0){const v=b[0].children;f.current.length=0;for(const S of v)be.fetchSimulationElements(S,f.current)}},y=()=>{d.current=[];for(const b of e)if(b.type===z.Human){const v=b;if(v.observer){const S=i(v),w=S?be.absoluteHumanOrTreeCoordinates(v.cx,v.cy,v.cz,S):new ae(v.cx,v.cy,v.cz);w.z+=v.lz,d.current.push(new VLo(w,v))}}},A=()=>{if(bn.getState().clearSolarPanelVisibilityResults(),y(),d.current.length!==0){g();for(const b of d.current){const v=new Map;for(const S of e)if(S.type===z.SolarPanel){const w=S;v.set(w.parentId,0)}for(const S of e)if(S.type===z.SolarPanel){const w=S;let T=v.get(w.parentId)??0;T+=x(w,b.position)*100,v.set(w.parentId,T)}bn.getState().setSolarPanelVisibilityResult(b,v)}}},x=(b,v)=>{let S=i(b);if(!S)throw new Error("parent of solar panel does not exist");let w=!1;if(S.type===z.Roof){if(S=r(S),!S)throw new Error("foundation of solar panel does not exist");w=!0}const T=be.absoluteCoordinates(b.cx,b.cy,b.cz,S);w&&(T.z=b.cz+S.cz+S.lz/2);const P=new ae().fromArray(b.normal),R=S.rotation[2]+b.relativeAzimuth;Math.abs(b.tiltAngle)>.001&&P.applyEuler(new Qt(b.tiltAngle,0,R,"ZYX"));const H=b.lx,D=b.ly*Math.cos(b.tiltAngle),E=b.ly*Math.abs(Math.sin(b.tiltAngle)),L=Math.max(2,Math.round(b.lx/u)),U=Math.max(2,Math.round(b.ly/u)),F=H/L,W=D/U,B=E/U,k=T.x-H/2,N=T.y-D/2,j=(w?T.z:b.poleHeight+T.z)-E/2,Y=new Gt(T.x,T.y);let _=0;const J=new ae,Q=new ae;let ee;const $=new Gt,q=be.isZero(R);for(let le=0;le0&&(Q.normalize(),C(b.id,J,Q)&&(_+=Math.abs(Q.dot(P))/(ee*ee)));return _*u*u/(4*Math.PI)},C=(b,v,S)=>{if(f.current.length>1){p.current.length=0,c.set(v,S);const w=f.current.filter(T=>T.uuid!==b);if(c.intersectObjects(w,!1,p.current),p.current.length===0)return!0;for(const[T,P]of p.current.entries())if(P.object.name.endsWith("eyeball")&&T===0)return!0;return!1}return!0};return h.jsx(h.Fragment,{})}),XLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=M(cA),s=M(x7t),c=M(S7t),u=bn(F8t),d=bn(D8t),f=bn(k8t),p=gt(aYe),g=gt(M8t),y=gt(lYe),A=gt(I8t),x=M(RBe),C=M(G1e),{scene:b}=Xi(),v=Kt(),S=r1(t),w=new Date(i.date),T=m.useMemo(()=>s(t??"Boston MA, USA"),[t]),P=m.useMemo(()=>c(t??"Boston MA, USA"),[t]),R=t?S==null?void 0:S.elevation:0,H=i.timesPerHour??4,D=60/H,E=m.useMemo(()=>new Gs,[]),L=m.useRef([]),U=m.useRef([]),F=m.useRef(0),W=m.useRef(!1),B=m.useRef(new Date(i.date)),k=m.useRef(new Map),N=m.useRef(new Map),j=m.useRef(new Array(12).fill(0)),Y=m.useRef(new Array(12).fill(0)),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useRef(0),$=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),q=m.useRef($);m.useEffect(()=>{if(p)if(C&&!be.hasMovingParts(r))le();else return ie(),F.current=requestAnimationFrame(pe),()=>{cancelAnimationFrame(F.current),W.current||(fn(O.t("message.SimulationAborted",v)),e(we=>{we.world.date=B.current.toLocaleString("en-US")}),gt.getState().set(we=>{we.simulationInProgress=!1,we.simulationPaused=!1})),J.current=!1}},[p]),m.useEffect(()=>{J.current=g,g?(Q.current=new Date(w.getTime()),cancelAnimationFrame(F.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),pe())},[g]);const le=()=>{re(),ve();for(const we of r)we.type===z.Sensor&&Re(we);e(we=>{we.viewState.showDailyLightSensorPanel=!0,we.selectedFloatingWindow="dailyLightSensorPanel"}),gt.getState().set(we=>{we.runDailyLightSensor=!1,we.simulationInProgress=!1,we.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),W.current=!0,ne(),o&&e(we=>{we.actionInfo={name:"Static Daily Simulation for Sensors Completed",details:bn.getState().dailyLightSensorData,timestamp:new Date().getTime()}})},ie=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(B.current=new Date(i.date),ee.current=w.getDay(),w.setHours(Math.floor($.sunrise/60),-D/2)),W.current=!1,re(),ve()},pe=()=>{if(p&&!J.current){if(w.getMinutes()+w.getHours()*60+(w.getDay()-ee.current)*y2+D>=$.sunset){cancelAnimationFrame(F.current),e(ye=>{ye.world.date=B.current.toLocaleString("en-US"),ye.viewState.showDailyLightSensorPanel=!0,ye.selectedFloatingWindow="dailyLightSensorPanel"}),gt.getState().set(ye=>{ye.runDailyLightSensor=!1,ye.simulationInProgress=!1,ye.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),W.current=!0,ne(),o&&e(ye=>{ye.actionInfo={name:"Dynamic Daily Simulation for Sensors Completed",details:bn.getState().dailyLightSensorData,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+D),e(ye=>{ye.world.date=w.toLocaleString("en-US")});for(const ye of r)ye.type===z.Sensor&&me(ye);F.current=requestAnimationFrame(pe)}},ne=()=>{const we=ze();for(const ye of r)if(ye.type===z.Sensor){const Te=k.current.get(ye.id);if(Te)for(let Ie=0;Ie{var Ce;const we=new Map;let ye=0;const Te=[];for(const Ee of r)if(Ee.type===z.Sensor){const Ue=k.current.get(Ee.id);Ue&&(we.set("Radiation"+ ++ye,Ue),Te.push(Ee.label?Ee.label:"Radiation"+ye))}const Ie=[];for(let Ee=0;Ee<24;Ee++){const Ue={};Ue.Hour=Ee;for(let Ne=1;Ne<=ye;Ne++){const Le="Radiation"+Ne;Ue[Te[Ne-1]]=(Ce=we.get(Le))==null?void 0:Ce[Ee]}Ie.push(Ue)}d(Ie),u(Te)};m.useEffect(()=>{if(y)if(C&&!be.hasMovingParts(r))fe();else return he(),F.current=requestAnimationFrame(se),()=>{cancelAnimationFrame(F.current),W.current||(fn(O.t("message.SimulationAborted",v)),e(we=>{we.world.date=B.current.toLocaleString("en-US")}),gt.getState().set(we=>{we.simulationInProgress=!1,we.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(F.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),se())},[A]);const he=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(B.current=new Date(i.date),_.current=0,w.setMonth(0,22),ee.current=w.getDay(),q.current=sl(w,i.latitude),w.setHours(Math.floor(q.current.sunrise/60),-D/2),e(we=>{we.world.date=w.toLocaleString("en-US")})),W.current=!1,re(),ve(),Pe()},fe=()=>{re(),ve(),Pe(),B.current=new Date(i.date),_.current=0;for(let we=0;we<12;we++){w.setMonth(we,22),q.current=sl(w,i.latitude),ve();for(const ye of r)ye.type===z.Sensor&&Re(ye);oe(),_.current++}e(we=>{we.world.date=B.current.toLocaleString("en-US"),we.viewState.showYearlyLightSensorPanel=!0,we.selectedFloatingWindow="yearlyLightSensorPanel"}),gt.getState().set(we=>{we.runYearlyLightSensor=!1,we.simulationInProgress=!1,we.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),W.current=!0,de(),o&&e(we=>{we.actionInfo={name:"Static Yearly Simulation for Sensors Completed",details:bn.getState().yearlyLightSensorData,timestamp:new Date().getTime()}})},se=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60+(w.getDay()-ee.current)*y2+D{ye.world.date=w.toLocaleString("en-US")});for(const ye of r)ye.type===z.Sensor&&me(ye);F.current=requestAnimationFrame(se)}else{if(oe(),_.current++,_.current===12){cancelAnimationFrame(F.current),e(ye=>{ye.world.date=B.current.toLocaleString("en-US"),ye.viewState.showYearlyLightSensorPanel=!0,ye.selectedFloatingWindow="yearlyLightSensorPanel"}),gt.getState().set(ye=>{ye.runYearlyLightSensor=!1,ye.simulationInProgress=!1,ye.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),W.current=!0,de(),o&&e(ye=>{ye.actionInfo={name:"Dynamic Yearly Simulation for Sensors Completed",details:bn.getState().yearlyLightSensorData,timestamp:new Date().getTime()}});return}w.setMonth(_.current,22),ee.current=w.getDay(),q.current=sl(w,i.latitude),w.setHours(Math.floor(q.current.sunrise/60),-D/2),ve(),F.current=requestAnimationFrame(se)}},oe=()=>{const we=Ae();for(const ye of r)if(ye.type===z.Sensor){const Te=k.current.get(ye.id);if(Te){const Ie=N.current.get(ye.id);if(Ie){const Ce=Te.reduce((Ee,Ue)=>Ee+Ue,0);Ie[_.current]+=Ce*we}}}x&&ne()},de=()=>{const we=[],ye=[];let Te=0,Ie=!1,Ce=!1;for(const Le of r)if(Le.type===z.Sensor){const qe=N.current.get(Le.id);qe&&(we.push(qe),ye.push(Le.label?Le.label:"Radiation"+ ++Te),!Ie&&be.isIdentical(Le.normal,o0)&&(Ie=!0),!Ce&&be.isIdentical(Le.normal,j3t)&&(Ce=!0))}const Ee=Ie&&T;Ee&&ye.push("Measured (Hor.)");const Ue=Ce&&P;Ue&&ye.push("Measured (Ver.)");const Ne=[];for(let Le=0;Le<12;Le++){const qe={};qe.Month=Ps[Le];for(const[We,De]of we.entries())qe.Daylight=j.current[Le],qe.Clearness=Y.current[Le]*100,Ee&&(qe["Measured (Hor.)"]=T.data[Le]),Ue&&(qe["Measured (Ver.)"]=P.data[Le]),qe[ye[We]]=De[Le];Ne.push(qe)}f(Ne),u(ye)},ve=()=>{for(const we of r)if(we.type===z.Sensor){const ye=k.current.get(we.id);ye?ye.fill(0):k.current.set(we.id,new Array(24).fill(0))}},Pe=()=>{for(const we of r)if(we.type===z.Sensor){const ye=N.current.get(we.id);ye?ye.fill(0):N.current.set(we.id,new Array(12).fill(0))}},me=we=>{const ye=zr(w,i.latitude);if(ye.z0&&(ge(we.id,Ce,ye)||(qe+=Le*Ne));const We=k.current.get(we.id);if(We){const De=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();We[De]+=qe}},Re=we=>{const ye=a(we);if(!ye)throw new Error("parent of sensor does not exist");const Te=k.current.get(we.id);if(!Te)return;let Ie=null;ye.type===z.Wall&&(Ie=l(we));const Ce=be.absoluteCoordinates(we.cx,we.cy,we.cz,ye,Ie||void 0),Ee=new ae().fromArray(we.normal);Ee.applyAxisAngle(Po,ye.rotation[2]);const Ue=w.getFullYear(),Ne=w.getMonth(),Le=w.getDate(),qe=be.dayOfYear(w);for(let We=0;We<24;We++)for(let De=0;De0){const ot=Rr(_e,qe,R,vr.SPHERE_MODEL),Ye=Ee.dot(_e);Ye>0&&(ge(we.id,Ce,_e)||(Te[We]+=Ye*ot)),Te[We]+=tr(i.ground,Ne,Ee,ot)}}},ze=()=>{const we=$.daylight()/60;return we>kt?S.sunshineHours[w.getMonth()]/(30*we*H):0},Ae=()=>{const we=w.getMonth(),ye=q.current.daylight()/60;return ye>kt?(j.current[we]=ye,Y.current[we]=S.sunshineHours[we]/(30*ye),Y.current[we]/H):(j.current[we]=0,Y.current[we]=0,0)},re=()=>{const we=b.children.filter(ye=>ye.name==="Content");if(we.length>0){const ye=we[0].children;L.current.length=0;for(const Te of ye)be.fetchSimulationElements(Te,L.current)}},ge=(we,ye,Te)=>{if(L.current.length>1){U.current.length=0,E.set(ye,Te);const Ie=L.current.filter(Ce=>Ce.uuid!==we);return E.intersectObjects(Ie,!1,U.current),U.current.length>0}return!1};return h.jsx(h.Fragment,{})}),IEe=(t,e)=>{let n=e.efficiency;return e.cellType==="Monocrystalline"&&(n*=.95),n*(1+e.pmaxTC*(t-25))},JLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(J2),l=M(rr),s=M(cA),c=bn(D7t),u=M(nW),d=bn(k7t),f=M(oW),p=M(Uje),g=M(Bje),y=bn(F7t),A=gt(Wje),x=gt(R7t),C=gt(M7t),b=gt(Nje),v=gt(H7t),S=gt(I7t),w=M(HBe),T=M(X1e),P=M(KL)??900,R=gt(K2),{scene:H}=Xi(),D=Kt(),E=r1(t),L=new Date(i.date),U=t?E==null?void 0:E.elevation:0,F=i.timesPerHour??4,W=60/F,B=i.daysPerYear??6,k=12/B,N=m.useMemo(()=>new Gs,[]),j=i.monthlyIrradianceLosses??new Array(12).fill(.05),Y=i.pvGridCellSize??.25,_=m.useRef([]),J=m.useRef([]),Q=m.useRef(0),ee=m.useRef(!1),$=m.useRef(new Date(i.date)),q=m.useRef(new Map),le=m.useRef(new Map),ie=m.useRef(0),pe=m.useRef(!1),ne=m.useRef(new Date(i.date)),Z=m.useRef(0),he=m.useRef(20),fe=m.useMemo(()=>sl(L,i.latitude),[i.date,i.latitude]),se=m.useRef(fe),oe=be.daysInYear(L)/12;m.useEffect(()=>{if(A)if(T&&!be.hasMovingParts(r))setTimeout(()=>{de(!1)},50);else return ve(),Q.current=requestAnimationFrame(Pe),()=>{cancelAnimationFrame(Q.current),ee.current||(fn(O.t("message.SimulationAborted",D)),e(De=>{De.world.date=$.current.toLocaleString("en-US")}),gt.getState().set(De=>{De.simulationInProgress=!1,De.simulationPaused=!1})),pe.current=!1}},[A]),m.useEffect(()=>{x&&T&&!be.hasMovingParts(r)&&setTimeout(()=>{de(!0)},50)},[x]),m.useEffect(()=>{pe.current=C,C?(ne.current=new Date(L.getTime()),cancelAnimationFrame(Q.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",D))):(n("simulationPaused",!1),Pe())},[C]);const de=De=>{We(),Ie();for(const Fe of r)Fe.type===z.SolarPanel&&ye(Fe);if(e(Fe=>{!R&&!De&&(Fe.viewState.showDailyPvYieldPanel=!0,Fe.selectedFloatingWindow="dailyPvYieldPanel")}),gt.getState().set(Fe=>{De?Fe.runDailySimulationForSolarPanelsLastStep=!1:Fe.runDailySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ee.current=!0,me(),!R&&!De&&(fn(O.t("message.SimulationCompleted",D)),o)){const Fe=bn.getState().sumDailyPvYield(),_e=bn.getState().getDailyPvProfit(),ot=bn.getState().dailyPvYield;e(Ye=>{Ye.actionInfo={name:"Static Daily Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:_e.toFixed(2)},details:ot,timestamp:new Date().getTime()}})}},ve=()=>{pe.current?(L.setTime(ne.current.getTime()),pe.current=!1):($.current=new Date(i.date),Z.current=L.getDay(),L.setHours(Math.floor(fe.sunrise/60),-W/2)),ee.current=!1,We(),Ie()},Pe=()=>{if(A&&!pe.current){if(L.getMinutes()+L.getHours()*60+(L.getDay()-Z.current)*y2+W>=fe.sunset){if(cancelAnimationFrame(Q.current),e(Fe=>{Fe.world.date=$.current.toLocaleString("en-US"),R||(Fe.viewState.showDailyPvYieldPanel=!0,Fe.selectedFloatingWindow="dailyPvYieldPanel")}),gt.getState().set(Fe=>{Fe.runDailySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ee.current=!0,me(),!R&&(fn(O.t("message.SimulationCompleted",D)),o)){const Fe=bn.getState().sumDailyPvYield(),_e=bn.getState().getDailyPvProfit(),ot=bn.getState().dailyPvYield;e(Ye=>{Ye.actionInfo={name:"Dynamic Daily Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:_e.toFixed(2)},details:ot,timestamp:new Date().getTime()}})}return}L.setHours(L.getHours(),L.getMinutes()+W),e(Fe=>{Fe.world.date=L.toLocaleString("en-US")});for(const Fe of r)Fe.type===z.SolarPanel&&Te(Fe);Q.current=requestAnimationFrame(Pe)}},me=()=>{const De=Ee();for(const Fe of r)if(Fe.type===z.SolarPanel){const _e=Fe,ot=q.current.get(Fe.id);if(ot){const Ye=Ne(_e)*De;for(let St=0;St{var De;if(p){const Fe=new Array(24).fill(0),_e=new Map;let ot=0;const Ye=[];for(const dt of r)if(dt.type===z.SolarPanel){const je=q.current.get(dt.id);if(je){u(dt.id,je.reduce((at,ut)=>at+ut,0)),ot++,_e.set("Panel"+ot,je),Ye.push(dt.label?dt.label:"Panel"+ot);for(let at=0;at<24;at++)Fe[at]+=je[at]}}const St=[];for(let dt=0;dt<24;dt++){const je={};je.Hour=dt;for(let at=1;at<=ot;at++){const ut="Panel"+at;je[Ye[at-1]]=(De=_e.get(ut))==null?void 0:De[dt]}St.push(je)}c(St),y(Ye)}else{const Fe=new Array(24).fill(0);for(const ot of r)if(ot.type===z.SolarPanel){const Ye=q.current.get(ot.id);if(Ye){u(ot.id,Ye.reduce((St,dt)=>St+dt,0));for(let St=0;St<24;St++)Fe[St]+=Ye[St]}}const _e=[];for(let ot=0;ot<24;ot++)_e.push({Hour:ot,Total:Fe[ot]});c(_e)}};m.useEffect(()=>{if(b)if(T&&!be.hasMovingParts(r))setTimeout(()=>{Ae(!1)},50);else return ze(),Q.current=requestAnimationFrame(re),()=>{cancelAnimationFrame(Q.current),ee.current||(fn(O.t("message.SimulationAborted",D)),e(De=>{De.world.date=$.current.toLocaleString("en-US")}),gt.getState().set(De=>{De.simulationInProgress=!1,De.simulationPaused=!1})),pe.current=!1}},[b]),m.useEffect(()=>{v&&T&&!be.hasMovingParts(r)&&setTimeout(()=>{Ae(!0)},50)},[v]),m.useEffect(()=>{pe.current=S,S?(ne.current=new Date(L.getTime()),cancelAnimationFrame(Q.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",D))):(n("simulationPaused",!1),re())},[S]);const ze=()=>{pe.current?(L.setTime(ne.current.getTime()),pe.current=!1):($.current=new Date(i.date),ie.current=0,L.setMonth(0,22),Z.current=L.getDay(),se.current=sl(L,i.latitude),L.setHours(Math.floor(se.current.sunrise/60),-W/2),e(De=>{De.world.date=L.toLocaleString("en-US")})),ee.current=!1,We(),Ie(),Ce()},Ae=De=>{We(),Ie(),Ce(),$.current=new Date(i.date),ie.current=0;for(let Fe=0;Fe<12;Fe+=k){L.setMonth(Fe,22),se.current=sl(L,i.latitude),Ie();for(const _e of r)_e.type===z.SolarPanel&&ye(_e);ge(),ie.current++}if(e(Fe=>{Fe.world.date=$.current.toLocaleString("en-US"),!R&&!De&&(Fe.viewState.showYearlyPvYieldPanel=!0,Fe.selectedFloatingWindow="yearlyPvYieldPanel")}),gt.getState().set(Fe=>{De?Fe.runYearlySimulationForSolarPanelsLastStep=!1:Fe.runYearlySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ee.current=!0,we(),!R&&!De&&(fn(O.t("message.SimulationCompleted",D)),o)){const Fe=bn.getState().sumYearlyPvYield(),_e=bn.getState().getYearlyPvProfit(),ot=bn.getState().yearlyPvYield;e(Ye=>{Ye.actionInfo={name:"Static Yearly Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:_e.toFixed(2)},details:ot,timestamp:new Date().getTime()}})}},re=()=>{if(b&&!pe.current)if(L.getMinutes()+L.getHours()*60+(L.getDay()-Z.current)*y2+W{Fe.world.date=L.toLocaleString("en-US")});for(const Fe of r)Fe.type===z.SolarPanel&&Te(Fe);Q.current=requestAnimationFrame(re)}else{if(ge(),ie.current++,ie.current===B){if(cancelAnimationFrame(Q.current),e(Fe=>{Fe.world.date=$.current.toLocaleString("en-US"),R||(Fe.viewState.showYearlyPvYieldPanel=!0,Fe.selectedFloatingWindow="yearlyPvYieldPanel")}),gt.getState().set(Fe=>{Fe.runYearlySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ee.current=!0,we(),!R&&(fn(O.t("message.SimulationCompleted",D)),o)){const Fe=bn.getState().sumYearlyPvYield(),_e=bn.getState().getYearlyPvProfit(),ot=bn.getState().yearlyPvYield;e(Ye=>{Ye.actionInfo={name:"Dynamic Yearly Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:_e.toFixed(2)},details:ot,timestamp:new Date().getTime()}})}return}L.setMonth(ie.current*k,22),Z.current=L.getDay(),se.current=sl(L,i.latitude),L.setHours(Math.floor(se.current.sunrise/60),-W/2),Ie(),Q.current=requestAnimationFrame(re)}},ge=()=>{const De=Ue();for(const Fe of r)if(Fe.type===z.SolarPanel){const _e=Fe,ot=q.current.get(Fe.id);if(ot){const Ye=le.current.get(Fe.id);if(Ye){const St=ot.reduce((dt,je)=>dt+je,0);Ye[ie.current]+=St*De*Ne(_e)}}}!R&&w&&me()},we=()=>{if(g){const De=[],Fe=[];let _e=0;for(const Ye of r)if(Ye.type===z.SolarPanel){const St=le.current.get(Ye.id);St&&(f(Ye.id,St.reduce((dt,je)=>dt+je,0)*k*oe),De.push(St),_e++,Fe.push(Ye.label??"Panel"+_e))}const ot=[];for(let Ye=0;Ye<12;Ye+=k){const St={};St.Month=Ps[Ye];for(const[dt,je]of De.entries())St[Fe[dt]]=je[Ye/k]*oe;ot.push(St)}d(ot),y(Fe)}else{const De=[];for(const _e of r)if(_e.type===z.SolarPanel){const ot=le.current.get(_e.id);ot&&(f(_e.id,ot.reduce((Ye,St)=>Ye+St,0)*k*oe),De.push(ot))}const Fe=[];for(let _e=0;_e<12;_e+=k){let ot=0;for(const Ye of De)ot+=Ye[_e/k];Fe.push({Month:Ps[_e],Total:ot*oe})}d(Fe)}},ye=De=>{if(De.trackerType!==Ma.NO_TRACKER)throw new Error("static simulation is not for solar panel with tracker");let Fe=l(De);if(!Fe)throw new Error("parent of solar panel does not exist");const _e=De.parentType===z.Roof,ot=De.parentType===z.Wall;if(_e&&(Fe=s(Fe),!Fe))throw new Error("foundation of solar panel does not exist");const Ye=a(De.pvModelName);if(!Ye)throw new Error("PV model not found");const St=q.current.get(De.id);if(!St)return;const dt=ot?be.absoluteCoordinates(De.cx,De.cy,De.cz,Fe,s(De),De.lz):be.absoluteCoordinates(De.cx,De.cy,De.cz,Fe),je=Fe.rotation[2];let at=je+De.relativeAzimuth,ut=De.tiltAngle,wt=!0;if(_e&&(dt.z=De.cz+De.lz+.02+Fe.cz+Fe.lz/2,be.isZero(De.rotation[0])?dt.z+=De.poleHeight:(ut=De.rotation[0],at=je,wt=!1)),ot&&!be.isZero(De.tiltAngle)){const Ge=Fe,xt=s(Fe),Tt=(xt?xt.rotation[2]+Ge.relativeAngle:Ge.relativeAngle)-Vt,Dt=De.ly*Math.abs(Math.sin(De.tiltAngle))/2;dt.x+=Dt*Math.cos(Tt),dt.y+=Dt*Math.sin(Tt)}const rt=new ae().fromArray(De.normal),Qe=new Qt(_e&&!wt?0:ut,0,at,"ZYX");rt.applyEuler(Qe);const Oe=L.getFullYear(),et=L.getMonth(),vt=L.getDate(),ct=be.dayOfYear(L);let lt,tt,it,At,Mt;i.discretization===Rm.EXACT?(lt=De.lx,tt=De.ly,De.orientation===ci.portrait?(it=Math.max(1,Math.round(De.lx/Ye.width)),At=Math.max(1,Math.round(De.ly/Ye.length)),it*=Ye.n,At*=Ye.m):(it=Math.max(1,Math.round(De.lx/Ye.length)),At=Math.max(1,Math.round(De.ly/Ye.width)),it*=Ye.m,At*=Ye.n),Mt=De.lx/it):(lt=De.lx,tt=De.ly,it=Math.max(2,Math.round(De.lx/Y)),At=Math.max(2,Math.round(De.ly/Y)),it%2!==0&&(it+=1),At%2!==0&&(At+=1),Mt=Y);const st=lt/it,ft=tt/At,Rt=dt.x-(lt-Mt)/2,zt=dt.y-(tt-Mt)/2,Xe=_e||ot?dt.z:Fe.lz+De.poleHeight+De.lz,ht=new Gt(dt.x,dt.y),Je=new ae,mt=Array.from(Array(it),()=>new Array(At));_e&&!wt&&(Qe.x=De.rotation[0],Qe.z=De.rotation[2]+je),ot&&(Qe.x=Vt+De.tiltAngle,Qe.z=Fe.relativeAngle+je);for(let Ge=0;Ge<24;Ge++)for(let xt=0;xt0){const Dt=Rr(Tt,ct,U,vr.SPHERE_MODEL),Lt=tr(i.ground,et,rt,Dt),Et=rt.dot(Tt),an=new Gt,Jt=new ae;if(Ye.bifacialityFactor>0){const Sn=rt.clone().negate(),Pn=tr(i.ground,et,Sn,Dt),Un=Lt+Pn*Ye.bifacialityFactor;for(let Ai=0;Ai0?Et:-Et*Ye.bifacialityFactor)*Dt)}else for(let Sn=0;Sn0&&(an.set(Rt+Sn*st,zt+Pn*ft),Jt.set(an.x-ht.x,an.y-ht.y,0),Jt.applyEuler(Qe),Je.set(dt.x+Jt.x,dt.y+Jt.y,Xe+Jt.z),qe(De.id,Je,Tt)||(mt[Sn][Pn]+=Et*Dt));let hn=0;Le(It);const cn=IEe(he.current,Ye);switch(Ye.shadeTolerance){case zv.NONE:{let Sn=Number.MAX_VALUE;for(let Pn=0;Pn{let Fe=l(De);if(!Fe)throw new Error("parent of solar panel does not exist");const _e=De.parentType===z.Roof,ot=De.parentType===z.Wall;if(_e&&(Fe=s(Fe),!Fe))throw new Error("foundation of solar panel does not exist");const Ye=a(De.pvModelName);if(!Ye)throw new Error("PV model not found");const St=zr(L,i.latitude);if(St.z<=0)return;const dt=ot?be.absoluteCoordinates(De.cx,De.cy,De.cz,Fe,s(De),De.lz):be.absoluteCoordinates(De.cx,De.cy,De.cz,Fe),je=Fe.rotation[2];let at=De.tiltAngle,ut=je+De.relativeAzimuth,wt=!0;if(_e&&(dt.z=De.cz+De.lz+.02+Fe.cz+Fe.lz/2,be.isZero(De.rotation[0])?dt.z+=De.poleHeight:(at=De.rotation[0],ut=je,wt=!1)),ot&&!be.isZero(De.tiltAngle)){const Lt=Fe,Et=s(Fe),Jt=(Et?Et.rotation[2]+Lt.relativeAngle:Lt.relativeAngle)-Vt,hn=De.ly*Math.abs(Math.sin(De.tiltAngle))/2;dt.x+=hn*Math.cos(Jt),dt.y+=hn*Math.sin(Jt)}const rt=new ae().fromArray(De.normal),Qe=L.getMonth(),Oe=be.dayOfYear(L);let et,vt,ct,lt,tt;i.discretization===Rm.EXACT?(et=De.lx,vt=De.ly,De.orientation===ci.portrait?(ct=Math.max(1,Math.round(De.lx/Ye.width)),lt=Math.max(1,Math.round(De.ly/Ye.length)),ct*=Ye.n,lt*=Ye.m):(ct=Math.max(1,Math.round(De.lx/Ye.length)),lt=Math.max(1,Math.round(De.ly/Ye.width)),ct*=Ye.m,lt*=Ye.n),tt=De.lx/ct):(et=De.lx,vt=De.ly,ct=Math.max(2,Math.round(De.lx/Y)),lt=Math.max(2,Math.round(De.ly/Y)),ct%2!==0&&(ct+=1),lt%2!==0&&(lt+=1),tt=Y);const it=et/ct,At=vt/lt,Mt=dt.x-(et-tt)/2,st=dt.y-(vt-tt)/2,ft=_e||ot?dt.z:Fe.lz+De.poleHeight+De.lz,Rt=new Gt(dt.x,dt.y),zt=new ae,Xe=Array.from(Array(ct),()=>new Array(lt));let ht=new Qt(_e&&!wt?0:at,0,ut,"ZYX");if(De.trackerType!==Ma.NO_TRACKER){const Lt=je?St.clone().applyAxisAngle(Po,-je):St.clone();switch(De.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const Et=new Ts().setFromUnitVectors(Po,Lt);ht=new Qt().setFromQuaternion(Et),ht.z+=ut;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const Et=new Ts().setFromUnitVectors(Po,new ae(Lt.x,0,Lt.z).normalize());ht=new Qt().setFromQuaternion(Et),ht.z+=ut;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{const Et=new ae(Lt.x,-Lt.y,0).normalize(),an=Math.acos(Yc.dot(Et))*Math.sign(Et.x);ht=new Qt(De.tiltAngle,0,an+je,"ZYX");break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}rt.applyEuler(ht),_e&&!wt&&(ht.x=De.rotation[0],ht.z=De.rotation[2]+je),ot&&(ht.x=Vt+De.tiltAngle,ht.z=Fe.relativeAngle+je);const Je=Rr(St,Oe,U,vr.SPHERE_MODEL),mt=tr(i.ground,Qe,rt,Je),Ge=rt.dot(St),xt=new Gt,It=new ae;if(Ye.bifacialityFactor>0){const Lt=rt.clone().negate(),Et=tr(i.ground,Qe,Lt,Je),an=mt+Et*Ye.bifacialityFactor;for(let Jt=0;Jt0?Ge:-Ge*Ye.bifacialityFactor)*Je)}else for(let Lt=0;Lt0&&(xt.set(Mt+Lt*it,st+Et*At),It.set(xt.x-Rt.x,xt.y-Rt.y,0),It.applyEuler(ht),zt.set(dt.x+It.x,dt.y+It.y,ft+It.z),qe(De.id,zt,St)||(Xe[Lt][Et]+=Ge*Je));let Tt=0;switch(Ye.shadeTolerance){case zv.NONE:{let Lt=Number.MAX_VALUE;for(let Et=0;Et=30?L.getHours()+1===24?0:L.getHours()+1:L.getHours();Dt[Et]+=Lt*Tt/(ct*lt)}},Ie=()=>{for(const De of r)if(De.type===z.SolarPanel){const Fe=q.current.get(De.id);Fe?Fe.fill(0):q.current.set(De.id,new Array(24).fill(0))}},Ce=()=>{for(const De of r)if(De.type===z.SolarPanel){const Fe=le.current.get(De.id);Fe&&Fe.length===B?Fe.fill(0):le.current.set(De.id,new Array(B).fill(0))}},Ee=()=>{const De=fe.daylight()/60;return De>kt?E.sunshineHours[L.getMonth()]/(30*De*F):0},Ue=()=>{const De=se.current.daylight()/60;return De>kt?E.sunshineHours[L.getMonth()]/(30*De*F):0},Ne=De=>{if(!a(De.pvModelName))throw new Error("PV model not found");return De.lx*De.ly*(De.inverterEfficiency??.95)*(1-j[L.getMonth()])},Le=De=>{if(E){const Fe=Jx(De,E.lowestTemperatures,E.highestTemperatures);he.current=Xx(Fe.high,Fe.low,i.diurnalTemperatureModel,P,sl(De,i.latitude),be.minutesIntoDay(De))}},qe=(De,Fe,_e)=>{if(_.current.length>1){J.current.length=0,N.set(Fe,_e);const ot=_.current.filter(Ye=>Ye.uuid!==De);return N.intersectObjects(ot,!1,J.current),J.current.length>0}return!1},We=()=>{const De=H.children.filter(Fe=>Fe.name==="Content");if(De.length>0){const Fe=De[0].children;_.current.length=0;for(const _e of Fe)be.fetchSimulationElements(_e,_.current)}};return h.jsx(h.Fragment,{})}),KLo=Se.memo(()=>{const t=M(Xs),e=M(wb),n=M(Lje),o=M(Fje),i=M(uge),[r,a]=m.useState("Boston MA, USA");return m.useEffect(()=>{if(Object.keys(i).length===0)return;const l=n(t,e)??"Boston MA, USA";a(l),o(l)},[t,e,i]),h.jsxs(h.Fragment,{children:[h.jsx(WLo,{city:r}),h.jsx(NLo,{city:r}),h.jsx(ULo,{city:r}),h.jsx(XLo,{city:r}),h.jsx(JLo,{city:r}),h.jsx(GLo,{}),h.jsx(BLo,{city:r}),h.jsx(jLo,{city:r}),h.jsx(YLo,{city:r}),h.jsx(OLo,{city:r}),h.jsx(_Lo,{city:r})]})}),QO="/aladdin/assets/image_fail_try_again-CaxVXMjm.png";var HL=(t=>(t[t.None=0]="None",t[t.Equal=1]="Equal",t[t.LessThan=2]="LessThan",t[t.GreaterThan=3]="GreaterThan",t[t.Between=4]="Between",t))(HL||{});const qLo=5,$Lo=Se.memo(({yScale:t,tickLength:e,tickIntegers:n,variable:o,name:i,unit:r,type:a,digits:l,min:s,max:c,step:u,value:d,filter:f,hover:p})=>{const g=M(dn),y=M(Eg),A=M(Sc),x=M(Eje),C=M(Dje),b=M(kje),[v,S]=m.useState(!1),w=m.useRef(s),T=m.useRef(c);m.useEffect(()=>{w.current=s},[s]),m.useEffect(()=>{T.current=c},[c]);const P={lng:A},R=y.uid===x,H=t.range(),D=t(s)-t(c),E=40,L=m.useMemo(()=>{const Y=H[0]-H[1],_=a==="number"?Math.floor(Y/e):1;return(n?t.ticks(_).filter(Q=>Number.isInteger(Q)):t.ticks(_)).map(Q=>({value:Q,yOffset:t(Q)}))},[t,e,a,n,H]),U=()=>{g(Y=>{Y.projectState.selectedProperty=Y.projectState.selectedProperty!==o?o:null}),gt.getState().set(Y=>{Y.updateProjectsFlag=!0})},F=()=>{R&&x&&C?WYn(x,C,b!==o?o:null).then(()=>{U()}):U()},W=(Y,_)=>h.jsx("span",{style:{display:"block",width:_+"px"},children:Y}),B=()=>h.jsx("text",{onClick:F,x:0,y:-20,style:{fontSize:"10px",textAnchor:"middle",fill:"dimgray",cursor:"pointer",fontWeight:b===o?"bold":"normal"},children:i}),k=m.useMemo(()=>o==="yearlyProfit"||o==="unitCost"||o==="sellingPrice"||o==="totalYearlyCost",[o]),N=()=>o==="totalYearlyCost"||o==="totalYearlyYield"||o==="meanYearlyYield"||o==="unitCost"||o==="poleHeight"||o==="interRowSpacing"?0:o==="tiltAngle"||o==="latitude"?-90:o==="rowWidth"?1:Number.MIN_SAFE_INTEGER,j=()=>o==="tiltAngle"||o==="latitude"?90:Number.MAX_SAFE_INTEGER;return h.jsxs(h.Fragment,{children:[o!=="orientation"?h.jsx(gl,{content:h.jsxs("div",{children:[h.jsx(Hn,{style:{width:"240px"},addonBefore:W(O.t("word.Minimum",P)+(k?" $":""),80),addonAfter:r,min:N(),max:T.current-u,step:u,value:w.current,onChange:Y=>{Y!==null&&(g(_=>{if(_.projectState.ranges){let J=-1,Q=null;for(const[ee,$]of _.projectState.ranges.entries())if($.variable===o){J=ee,Q=$;break}if(J>=0&&Q)_.projectState.ranges[J]={variable:Q.variable,minimum:Y,maximum:Q.maximum},y.uid&&_.projectState.title&&iCe(y.uid,_.projectState.title,_.projectState.ranges);else{const ee={variable:o,minimum:Y,maximum:c};_.projectState.ranges.push(ee),y.uid&&_.projectState.title&&xO(y.uid,_.projectState.title,ee)}}else{const J={variable:o,minimum:Y,maximum:c};_.projectState.ranges=[J],y.uid&&_.projectState.title&&xO(y.uid,_.projectState.title,J)}}),w.current=Number(Y),S(!v))}}),h.jsx("br",{}),h.jsx(Hn,{style:{width:"240px"},addonBefore:W(O.t("word.Maximum",P)+(k?" $":""),80),addonAfter:r,min:w.current+u,max:j(),step:u,value:T.current,onChange:Y=>{Y!==null&&(g(_=>{if(_.projectState.ranges){let J=-1,Q=null;for(const[ee,$]of _.projectState.ranges.entries())if($.variable===o){J=ee,Q=$;break}if(J>=0&&Q)_.projectState.ranges[J]={variable:Q.variable,minimum:Q.minimum,maximum:Y},y.uid&&_.projectState.title&&iCe(y.uid,_.projectState.title,_.projectState.ranges);else{const ee={variable:o,minimum:s,maximum:Y};_.projectState.ranges.push(ee),y.uid&&_.projectState.title&&xO(y.uid,_.projectState.title,ee)}}else{const J={variable:o,minimum:s,maximum:Y};_.projectState.ranges=[J],y.uid&&_.projectState.title&&xO(y.uid,_.projectState.title,J)}}),T.current=Number(Y),S(!v))}})]}),children:B()}):h.jsx(h.Fragment,{children:B()}),d!==void 0&&h.jsx("text",{x:0,y:-8,style:{fontSize:"9px",textAnchor:"middle",fill:"dimgray"},children:k?d.toLocaleString("en-US",{style:"currency",currency:"USD",maximumFractionDigits:l})+(o==="yearlyProfit"||o==="totalYearlyCost"?"K":""):(o==="orientation"?O.t(d===0?"solarPanelMenu.Landscape":"solarPanelMenu.Portrait",P)+(d===0?" (▭)":" (▯)"):d.toFixed(l))+(r!==""?r:"")}),f&&f.type===HL.Between&&h.jsx("rect",{x:-5,y:t(f.upperBound??c),width:10,height:t((f==null?void 0:f.lowerBound)??s)-t((f==null?void 0:f.upperBound)??c),fill:"lightgray"}),h.jsx("rect",{x:-E/2,y:0,width:E,height:D,fill:"gold",fillOpacity:b===o?.25:0}),L.map(({value:Y,yOffset:_})=>h.jsxs("g",{transform:`translate(0, ${_})`,shapeRendering:"crispEdges",children:[h.jsx("line",{x1:-qLo,x2:0,stroke:"black",strokeWidth:1}),h.jsx("text",{style:{fontSize:"10px",textAnchor:"start",alignmentBaseline:"central",transform:"translateX(-25px)"},children:o==="orientation"?Y===0?"▭":"▯":Y},Y)]},Y)),h.jsx("line",{x1:0,x2:0,y1:t(s),y2:t(c),stroke:"black",strokeWidth:2}),f&&f.type===HL.Between&&h.jsx("foreignObject",{x:-E/2,y:4,width:E,height:D-3,children:h.jsx(iy,{theme:{components:{Slider:{railBg:"black",railSize:0,handleSize:8}}},children:h.jsx(Mu,{style:{marginLeft:E/2+"px"},min:s,max:c,step:(c-s)/100,value:[f.lowerBound??s,f.upperBound??c],onChange:Y=>{f&&(f.lowerBound=Y[0],f.upperBound=Y[1],p&&p(-1),g(_=>{if(_.projectState.filters){let J=-1;for(const[Q,ee]of _.projectState.filters.entries())if(ee.variable===o){J=Q;break}if(J>=0)_.projectState.filters[J]={variable:f.variable,type:f.type,lowerBound:f.lowerBound,upperBound:f.upperBound};else{const Q={variable:o,type:f.type,lowerBound:f.lowerBound,upperBound:f.upperBound};_.projectState.filters.push(Q)}}}),S(!v))},range:!0,vertical:!0})})})]})}),KT={top:30,right:55,bottom:36,left:55},QLo=["#e0ac2b","#e85252","#6689c6","#9a6fb0","#a53253","#69b3a2","#556b2f","#8b008b","#ff1493","#d2691e","#2f4f4f","#dc143c"],ZLo=Se.memo(({id:t,width:e,height:n,data:o,types:i,minima:r,maxima:a,filters:l,steps:s,variables:c,titles:u,units:d,digits:f,tickIntegers:p,hover:g,hoveredIndex:y,selectedIndex:A})=>{const x=e-KT.right-KT.left,C=n-KT.top-KT.bottom,b=m.useMemo(()=>[...new Set(o.map(H=>H.group))],[o]),v=m.useMemo(()=>HC().range([0,x]).domain(c).padding(0),[c,x]),S=m.useMemo(()=>{const H={};return c.forEach((D,E)=>{H[D]=QF().range([C,0]).domain([r[E]??0,a[E]??1])}),H},[c,r,a,C]),w=m.useMemo(()=>Pee().domain(b).range(QLo),[b]),T=J9e(),P=m.useMemo(()=>o.map((H,D)=>{if(H.invisible)return null;const E=c.map(U=>{const F=S[U],W=v(U)??0,B=F(H[U]);return[W,B]}),L=T(E);if(L)return h.jsx("path",{onMouseOver:()=>{g(D)},d:L,stroke:H.hovered?"red":w(H.group),fill:"none",strokeWidth:H.excluded?.25:H.selected?3:1,strokeDasharray:H.hovered?"3,3":"none"},D)}),[o,c,v,S,w]),R=m.useMemo(()=>c.map((H,D)=>{const E=S[H];return h.jsx("g",{transform:"translate("+v(H)+",0)",children:h.jsx($Lo,{yScale:E,tickLength:40,tickIntegers:p[D],type:i[D]??"number",variable:c[D],name:u[D],unit:d[D],digits:f[D],min:r[D],max:a[D],step:s[D],value:y>=0&&!o[y].invisible?o[y][H]:A>=0&&!o[A].invisible?o[A][H]:void 0,filter:l[D],hover:g})},D)}),[c,o,v,S,p,i,u,d,f,r,a,s,l,A,y]);return h.jsx("svg",{id:t,width:e,height:n,onMouseLeave:()=>{g&&g(-1)},onContextMenu:H=>{H.stopPropagation()},children:h.jsxs("g",{width:x,height:C,transform:`translate(${[KT.left,KT.top].join(",")})`,children:[P,R]})})});var Uhe={};(function(t){(function(){var e=t||!1||this||window;e.default=e;var n="http://www.w3.org/2000/xmlns/",o="http://www.w3.org/1999/xhtml",i="http://www.w3.org/2000/svg",r=']>',a=/url\(["']?(.+?)["']?\)/,l={woff2:"font/woff2",woff:"font/woff",otf:"application/x-font-opentype",ttf:"application/x-font-ttf",eot:"application/vnd.ms-fontobject",sfnt:"application/font-sfnt",svg:"image/svg+xml"},s=function(E){return E instanceof HTMLElement||E instanceof SVGElement},c=function(E){if(!s(E))throw new Error("an HTMLElement or SVGElement is required; got "+E)},u=function(E){return new Promise(function(L,U){s(E)?L(E):U(new Error("an HTMLElement or SVGElement is required; got "+E))})},d=function(E){return E&&E.lastIndexOf("http",0)===0&&E.lastIndexOf(window.location.host)===-1},f=function(E){var L=Object.keys(l).filter(function(U){return E.indexOf("."+U)>0}).map(function(U){return l[U]});return L?L[0]:(console.error("Unknown font format for "+E+". Fonts may not be working correctly."),"application/octet-stream")},p=function(E){for(var L="",U=new Uint8Array(E),F=0;F"u"||F===null||isNaN(parseFloat(F))?0:F},y=function(E,L,U,F){if(E.tagName==="svg")return{width:U||g(E,L,"width"),height:F||g(E,L,"height")};if(E.getBBox){var W=E.getBBox(),B=W.x,k=W.y,N=W.width,j=W.height;return{width:B+N,height:k+j}}},A=function(E){return decodeURIComponent(encodeURIComponent(E).replace(/%([0-9A-F]{2})/g,function(L,U){var F=String.fromCharCode("0x"+U);return F==="%"?"%25":F}))},x=function(E){for(var L=window.atob(E.split(",")[1]),U=E.split(",")[0].split(":")[1].split(";")[0],F=new ArrayBuffer(L.length),W=new Uint8Array(F),B=0;B{const e=M.getState().world,n=M(ha),o=M(pu)??m0,i=M(dn),r=M(lW),a=new Date(M(Ya)),l=M(TAt),s=gt(K1e),c=gt(Aq),u=gt(awt),d=gt(vf),f=be.hasSolarPanels(M.getState().elements),p=bn(Yje),g=bn(Oje),y=bn(_je),A=M(bc),x=m.useRef(null),C=m.useRef(),b=x.current?x.current.clientWidth+40:l?l.width+40:640,v=x.current?x.current.clientHeight+100:l?l.height+100:600,[S,w]=m.useState({x:l?Math.max(l.x,b-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-v):0}),T=Se.useRef(null),P=Kt(),R=a1(t),H=Ps[a.getMonth()],D=e.daysPerYear??6,E=12/D,[L,U]=m.useState(0),[F,W]=m.useState(0),[B,k]=m.useState(0),[N,j]=m.useState(0),[Y,_]=m.useState(["Heater","AC","Solar","Net"]),[J,Q]=m.useState([]),{sum:ee,sumHeaterMap:$,sumAcMap:q,sumSolarPanelMap:le,dataLabels:ie}=Vst(a,R,f),pe=m.useRef(new Array(D).fill({})),ne=m.useRef(new Array(D).fill(0)),Z=m.useRef(new Array(D).fill(0)),he=m.useRef(new Array(D).fill(0)),fe=m.useRef(new Array(D).fill(0)),se=m.useRef([]),oe=m.useRef([]),de=m.useRef([]),ve=m.useRef([]);m.useEffect(()=>{Pe()},[D,u]),m.useEffect(()=>{c&&Pe()},[c]);const Pe=()=>{pe.current=new Array(D).fill({}),ne.current=new Array(D).fill(0),Z.current=new Array(D).fill(0),he.current=new Array(D).fill(0),fe.current=new Array(D).fill(0),Q([]),U(0),W(0),k(0),j(0),_([])};m.useEffect(()=>{const we=Math.floor(a.getMonth()/E),ye=(Object.keys(ee[0]).length-1)/(f?4:3);if(se.current=[],oe.current=[],ve.current=[],de.current=[],ye>1){const Le=new Map,qe=new Map,We=new Map,De=new Map;for(const Ye of ee){let St=0;for(let dt=0;dt6&&(De=" "+Ye.substring(6).trim());break}const Fe="Heater"+De,_e="AC"+De,ot="Net"+De;if(f){const Ye="Solar"+De;let St=0;_([Fe,_e,Ye,ot]);for(const je of ee)Le+=je[Fe],qe+=je[_e],St+=je[Ye],We+=je[ot];const dt={};dt.Month=Ps[a.getMonth()],dt[Fe]=30*Le,dt[_e]=30*qe,dt[Ye]=30*St,dt[ot]=30*We,pe.current[we]=dt}else{_([Fe,_e,ot]);for(const St of ee)Le+=St[Fe],qe+=St[_e],We+=St[ot];const Ye={};Ye.Month=Ps[a.getMonth()],Ye[Fe]=30*Le,Ye[_e]=30*qe,Ye[ot]=30*We,pe.current[we]=Ye}}Q([...pe.current]);let Te=0;if($)for(const Le of $.keys())Te+=$.get(Le)??0;let Ie=0;if(q)for(const Le of q.keys())Ie+=q.get(Le)??0;let Ce=0;if(le&&f)for(const Le of le.keys())Ce+=le.get(Le)??0;ne.current[we]=Te*E*30,Z.current[we]=Ie*E*30,he.current[we]=Ce*E*30,fe.current[we]=ne.current[we]+Z.current[we]-he.current[we];const Ee=ne.current.slice(0,we+1).reduce((Le,qe)=>Le+qe,0);U(Ee);const Ue=Z.current.slice(0,we+1).reduce((Le,qe)=>Le+qe,0);W(Ue);const Ne=he.current.slice(0,we+1).reduce((Le,qe)=>Le+qe,0);k(Ne),j(fe.current.slice(0,we+1).reduce((Le,qe)=>Le+qe,0)),p(Ee),g(Ue),y(Ne),gt.getState().showSolarRadiationHeatmap||bn.getState().clearDataStore()},[s]),m.useEffect(()=>{w({x:Math.max(l==null?void 0:l.x,b-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-v)})},[l,b,v]),m.useEffect(()=>{const we=()=>{w({x:Math.max(l==null?void 0:l.x,b-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-v)})};return window.addEventListener("resize",we),()=>{window.removeEventListener("resize",we)}},[l,b,v]),m.useEffect(()=>(x.current&&(C.current||(C.current=new ResizeObserver(()=>{i(we=>{x.current&&(we.viewState.yearlyBuildingEnergyPanelRect||(we.viewState.yearlyBuildingEnergyPanelRect=new ri(0,0,600,500)),we.viewState.yearlyBuildingEnergyPanelRect.width=x.current.offsetWidth,we.viewState.yearlyBuildingEnergyPanelRect.height=x.current.offsetHeight)})})),C.current.observe(x.current)),()=>{var we;(we=C.current)==null||we.disconnect()}),[]);const me=(we,ye)=>{w({x:Math.max(ye.x,b-window.innerWidth),y:Math.min(ye.y,window.innerHeight-v)})},Re=(we,ye)=>{i(Te=>{Te.viewState.yearlyBuildingEnergyPanelRect||(Te.viewState.yearlyBuildingEnergyPanelRect=new ri(0,0,600,360)),Te.viewState.yearlyBuildingEnergyPanelRect.x=Math.max(ye.x,b-window.innerWidth),Te.viewState.yearlyBuildingEnergyPanelRect.y=Math.min(ye.y,window.innerHeight-v)})},ze=()=>{i(we=>{we.viewState.showYearlyBuildingEnergyPanel=!1,n&&(we.actionInfo={name:"Close Yearly Building Energy Graph",timestamp:new Date().getTime()})})},Ae=O.t("word.Month",P),re=O.t("word.Energy",P),ge=J&&J[0]?Object.keys(J[0]).length===0:!0;return h.jsx(Vr,{nodeRef:T,handle:".handle",bounds:"parent",axis:"both",position:S,onDrag:me,onStop:Re,onMouseDown:()=>{i(we=>{we.selectedFloatingWindow="yearlyBuildingEnergyPanel"})},children:h.jsx(HLo,{ref:T,style:{zIndex:A==="yearlyBuildingEnergyPanel"?xc:9},children:h.jsxs(MLo,{ref:x,style:{opacity:o,width:(l?l.width:600)+"px",height:(l?l.height:400)+"px"},children:[h.jsxs(ILo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[O.t("buildingEnergyPanel.YearlyBuildingEnergy",P)+": ",h.jsx("span",{style:{fontSize:"10px"},children:O.t("sensorPanel.WeatherDataFrom",P)+" "+t+" | "+a.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{ze()},onMouseDown:()=>{ze()},children:`${O.t("word.Close",P)}`})]}),h.jsx(Gst,{type:xr.YearlyBuildingEnergy,dataSource:J,hasSolarPanels:f,labels:Y,height:100,dataKeyAxisX:"Month",labelX:Ae,labelY:re,unitY:O.t("word.kWh",P),yMin:0,curveType:"linear",fractionDigits:2,referenceX:H}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[se.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.Heater",P)+": "+L.toFixed(0)}):h.jsx(gl,{content:se.current.map((we,ye)=>h.jsx("div",{children:we},ye)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.Heater",P)+": "+L.toFixed(0)})}),oe.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.AC",P)+": "+F.toFixed(0)}):h.jsx(gl,{content:oe.current.map((we,ye)=>h.jsx("div",{children:we},ye)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.AC",P)+": "+F.toFixed(0)})}),B!==0&&h.jsx(h.Fragment,{children:de.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.SolarPanel",P)+": "+B.toFixed(0)}):h.jsx(gl,{content:de.current.map((we,ye)=>h.jsx("div",{children:we},ye)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.SolarPanel",P)+": "+B.toFixed(0)})})}),ve.current.length===0?h.jsx(en,{style:{cursor:"default"},children:O.t("buildingEnergyPanel.Net",P)+": "+N.toFixed(0)}):h.jsx(gl,{content:ve.current.map((we,ye)=>h.jsx("div",{children:we},ye)),children:h.jsx(en,{style:{cursor:"help"},children:O.t("buildingEnergyPanel.Net",P)+": "+N.toFixed(0)})}),h.jsx(no,{type:"default",icon:ge?h.jsx(vh,{}):h.jsx(xf,{}),title:O.t(ge?"word.Run":"word.Update",P),onClick:()=>{const we=M.getState().elements,ye=M.getState().countElementsByType,Te=M.getState().getChildrenOfType,Ie=ZG(we,ye,Te);if(Ie.status===eg.NO_BUILDING){fn(O.t("analysisManager.NoBuildingForAnalysis",P));return}if(Ie.status===eg.AT_LEAST_ONE_BAD_NO_GOOD){let Ce;switch(Ie.buildingCompletion){case Uc.WALL_DISJOINED:Ce=O.t("message.WallsAreNotConnected",P);break;case Uc.WALL_EMPTY:Ce=O.t("message.BuildingContainsEmptyWall",P);break;case Uc.ROOF_MISSING:Ce=O.t("message.BuildingRoofMissing",P);break;default:Ce=O.t("message.UnknownErrors",P)}Lo(O.t("message.SimulationWillNotStartDueToErrors",P)+": "+Ce);return}Ie.status===eg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(O.t("message.SimulationWillStartDespiteWarnings",P)),fn(O.t("message.SimulationStarted",P)),setTimeout(()=>{r(),gt.getState().set(Ce=>{Ce.runYearlyThermalSimulation=!0,Ce.pauseYearlyThermalSimulation=!1,Ce.simulationInProgress=!0}),i(Ce=>{n&&(Ce.actionInfo={name:"Run Yearly Building Energy Analysis",timestamp:new Date().getTime()})})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:O.t("word.SaveAsImage",P),onClick:()=>{Hd("line-graph-"+Ae+"-"+re,"yearly-building-energy").then(()=>{fn(O.t("message.ScreenshotSaved",P)),n&&i(we=>{we.actionInfo={name:"Take Screenshot of Yearly Building Energy Graph",timestamp:new Date().getTime()}})})}}),pe.current&&pe.current.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:O.t("word.SaveAsCsv",P),onClick:()=>{wh(pe.current,"yearly-building-energy.csv"),fn(O.t("message.CsvFileSaved",P)),n&&i(we=>{we.actionInfo={name:"Export Yearly Building Energy Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),DLo=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(En),o=M(g4t),i=M(m4t),[r,a]=m.useState(!1),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=m.useRef(null),p=m.useRef(o),g=m.useRef(i),y=Kt();m.useEffect(()=>{var w;(w=f.current)==null||w.focus()},[]);const A=(w,T)=>{if(d.current){const{clientWidth:P,clientHeight:R}=window.document.documentElement,H=d.current.getBoundingClientRect();u({left:-H.left+T.x,right:P-(H.right-T.x),top:-H.top+T.y,bottom:R-((H==null?void 0:H.bottom)-T.y)})}},x=w=>{e(T=>{T.minimumNavigationMoveSpeed=w}),gt.getState().set(T=>{T.navigationMoveSpeed=w})},C=w=>{e(T=>{T.minimumNavigationTurnSpeed=w}),gt.getState().set(T=>{T.navigationTurnSpeed=w})},b=()=>{const w=o,T=p.current;if(w!==T){const H={name:"Minimum Navigation Move Speed",timestamp:Date.now(),oldValue:w,newValue:T,undo:()=>{x(H.oldValue)},redo:()=>{x(H.newValue)}};n(H),x(T)}const P=i,R=g.current;if(P!==R){const H={name:"Minimum Navigation Turn Speed",timestamp:Date.now(),oldValue:P,newValue:R,undo:()=>{C(H.oldValue)},redo:()=>{C(H.newValue)}};n(H),C(R)}},v=()=>{t(!1)},S=()=>{b(),t(!1)};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:`${O.t("navigationPanel.NavigationParameters",y)}`}),footer:[h.jsx(no,{onClick:v,children:`${O.t("word.Cancel",y)}`},"Cancel"),h.jsx(no,{type:"primary",ref:f,onClick:S,children:`${O.t("word.OK",y)}`},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:w=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(T,P)=>A(T,P),children:h.jsx("div",{ref:d,children:w})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:16,children:O.t("navigationPanel.MinimumMoveSpeed",y)+" ([1, 10]): "}),h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:1,max:10,style:{width:"100%"},precision:0,value:p.current,step:1,onChange:w=>{p.current=Number(w),a(!r)},onBlur:w=>{const T=w.target.value,P=parseFloat(T);p.current=Number.isNaN(P)?3:P,a(!r)},onPressEnter:w=>{const T=w.target.value,P=parseFloat(T);p.current=Number.isNaN(P)?3:P,a(!r)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:16,children:O.t("navigationPanel.MinimumTurnSpeed",y)+" ([1, 5]): "}),h.jsx(nt,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:1,max:5,style:{width:"100%"},precision:0,value:g.current,step:1,onChange:w=>{g.current=Number(w),a(!r)},onBlur:w=>{const T=w.target.value,P=parseFloat(T);g.current=Number.isNaN(P)?3:P,a(!r)},onPressEnter:w=>{const T=w.target.value,P=parseFloat(T);g.current=Number.isNaN(P)?3:P,a(!r)}})})]})]})}),ELo=Se.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(En),o=M(hq),i=M(NBe),r=4096,a=1e4,[l,s]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState({left:0,top:0,bottom:0,right:0}),p=m.useRef(null),g=m.useRef(null),y=m.useRef(o?Math.round(o)/a:1),A=m.useRef(i?Math.round(i/r):1),x=Kt();m.useEffect(()=>{var P;(P=g.current)==null||P.focus()},[]);const C=(P,R)=>{if(p.current){const{clientWidth:H,clientHeight:D}=window.document.documentElement,E=p.current.getBoundingClientRect();f({left:-E.left+R.x,right:H-(E.right-R.x),top:-E.top+R.y,bottom:D-((E==null?void 0:E.bottom)-R.y)})}},b=P=>{e(R=>{R.viewState.shadowCameraFar=P})},v=P=>{e(R=>{R.shadowMapSize=P})},S=()=>{const P=o,R=y.current*a;if(P!==R){const E={name:"Shadow Camera Far Distance",timestamp:Date.now(),oldValue:P,newValue:R,undo:()=>{b(E.oldValue)},redo:()=>{b(E.newValue)}};n(E),b(R)}const H=i,D=A.current*r;if(H!==D){const E={name:"Shadow Map Size",timestamp:Date.now(),oldValue:H,newValue:D,undo:()=>{v(E.oldValue)},redo:()=>{v(E.newValue)}};n(E),v(D)}},w=()=>{t(!1)},T=()=>{S(),t(!1),window.location.reload()};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>u(!0),onMouseOut:()=>u(!1),children:`${O.t("shadowSettingsPanel.ShadowSettings",x)}`}),footer:[h.jsx(no,{onClick:w,children:`${O.t("word.Cancel",x)}`},"Cancel"),h.jsx(no,{type:"primary",ref:g,onClick:T,children:`${O.t("word.OK",x)}`},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:P=>h.jsx(Vr,{disabled:!c,bounds:d,onStart:(R,H)=>C(R,H),children:h.jsx("div",{ref:p,children:P})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{className:"gutter-row",span:18,children:O.t("shadowSettingsPanel.ShadowCameraFarDistance",x)+" ([1, 1000]×"+a+"): "}),h.jsx(nt,{className:"gutter-row",span:6,children:h.jsx(Hn,{min:1,max:1e3,style:{width:"100%"},precision:0,value:y.current,step:1,onChange:P=>{y.current=Number(P),s(!l)},onBlur:P=>{const R=P.target.value,H=parseFloat(R);y.current=Number.isNaN(H)?1:H,s(!l)},onPressEnter:P=>{const R=P.target.value,H=parseFloat(R);y.current=Number.isNaN(H)?1:H,s(!l)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"10px"},children:[h.jsx(nt,{className:"gutter-row",span:18,children:O.t("shadowSettingsPanel.ShadowMapSize",x)+" ([1, 4]×"+r+"): "}),h.jsx(nt,{className:"gutter-row",span:6,children:h.jsx(Hn,{min:1,max:4,style:{width:"100%"},precision:0,value:A.current,step:1,onChange:P=>{A.current=Number(P),s(!l)},onBlur:P=>{const R=P.target.value,H=parseFloat(R);A.current=Number.isNaN(H)?1:H,s(!l)},onPressEnter:P=>{const R=P.target.value,H=parseFloat(R);A.current=Number.isNaN(H)?1:H,s(!l)}})})]}),h.jsx(nn,{style:{fontSize:"10px"},children:h.jsxs(nt,{span:24,children:[O.t("shadowSettingsPanel.Notes",x),":",h.jsx("br",{}),h.jsxs("ul",{children:[h.jsx("li",{children:O.t("shadowSettingsPanel.RefreshPageNote",x)}),h.jsx("li",{children:O.t("shadowSettingsPanel.MapSizeWarning",x)})]})]})})]})}),kLo=Se.memo(()=>{const t=M(Y1e),e=M(gq),n=M(TBe),o=M(hAt),i=M(PBe),r=M(CBe),a=M(mAt),l=M(AAt),s=gt(f4t),c=gt(h4t),u=gt(p4t),d=gt(cs),f=M(RBe),p=M(CAt),g=M(HBe),y=M(zAt),A=M(EAt),x=M(MBe),C=M(LAt),b=M(IBe),v=M(UAt),S=M(zBe),w=M(YAt),T=M(DBe),P=M(VAt),R=M(EBe),H=M(JAt),D=M(xAt),E=M(SAt),L=M(qAt),U=M(Rq),F=M(Xs),W=M(wb),B=M(Lje),k=M(Fje),N=M(uge),j=M(fq)??!1,[Y,_]=m.useState("Boston MA, USA");return m.useEffect(()=>{if(Object.keys(N).length===0)return;const J=B(F,W)??"Boston MA, USA";_(J),k(J)},[F,W,N]),h.jsxs(h.Fragment,{children:[o&&h.jsx(w9o,{}),i&&h.jsx(S9o,{}),r&&h.jsx(Kko,{}),t&&h.jsx(AFo,{}),e&&h.jsx(fFo,{}),(n||j)&&!U&&h.jsx(Qko,{}),a&&h.jsx(LIo,{city:Y,graphs:[xr.MonthlyTemperatures,xr.SunshineHours]}),l&&h.jsx(fLo,{city:Y}),s&&h.jsx(bLo,{setDialogVisible:J=>{gt.getState().set(Q=>{Q.showEconomicsPanel=J})}}),c&&h.jsx(DLo,{setDialogVisible:J=>{gt.getState().set(Q=>{Q.showNavigationPanel=J})}}),u&&h.jsx(ELo,{setDialogVisible:J=>{gt.getState().set(Q=>{Q.showShadowSettings=J})}}),p&&h.jsx(BIo,{city:Y}),f&&h.jsx(_ko,{city:Y}),y&&h.jsx(nFo,{city:Y}),g&&h.jsx(aFo,{city:Y}),A&&h.jsx(PFo,{}),C&&h.jsx(MFo,{city:Y}),x&&h.jsx(EFo,{city:Y}),v&&h.jsx(jFo,{city:Y}),b&&h.jsx(WFo,{city:Y}),S&&h.jsx(VFo,{city:Y}),w&&h.jsx(KFo,{city:Y}),T&&h.jsx(ZFo,{city:Y}),P&&h.jsx(oLo,{city:Y}),R&&h.jsx(sLo,{city:Y}),H&&h.jsx(mLo,{city:Y}),D&&h.jsx(RLo,{city:Y}),E&&h.jsx(zLo,{city:Y}),d&&h.jsx(xFo,{}),L&&h.jsx(xLo,{})]})});class il{static computeSolarPanelOutput(e,n,o,i,r,a,l,s,c){const u=r.parentType===z.Roof,d=r.parentType===z.Wall;u&&(a=l);const f=d?be.absoluteCoordinates(r.cx,r.cy,r.cz,a,l,r.lz):be.absoluteCoordinates(r.cx,r.cy,r.cz,a),p=a.rotation[2];let g=r.tiltAngle,y=p+r.relativeAzimuth,A=!0;if(u&&(f.z=r.cz+r.lz+.02+a.cz+a.lz/2,be.isZero(r.rotation[0])?f.z+=r.poleHeight:(g=r.rotation[0],y=p,A=!1)),d&&!be.isZero(r.tiltAngle)){const ee=a,q=(l?l.rotation[2]+ee.relativeAngle:ee.relativeAngle)-Vt,le=r.ly*Math.abs(Math.sin(r.tiltAngle))/2;f.x+=le*Math.cos(q),f.y+=le*Math.sin(q)}const x=new ae().fromArray(r.normal),C=e.getMonth(),b=be.dayOfYear(e),v=n.solarRadiationHeatmapGridCellSize??.5;let S,w,T,P,R;n.discretization===Rm.EXACT?(S=r.lx,w=r.ly,r.orientation===ci.portrait?(T=Math.max(1,Math.round(r.lx/i.width)),P=Math.max(1,Math.round(r.ly/i.length)),T*=i.n,P*=i.m):(T=Math.max(1,Math.round(r.lx/i.length)),P=Math.max(1,Math.round(r.ly/i.width)),T*=i.m,P*=i.n),R=r.lx/T):(S=r.lx,w=r.ly,T=Math.max(2,Math.round(r.lx/v)),P=Math.max(2,Math.round(r.ly/v)),T%2!==0&&(T+=1),P%2!==0&&(P+=1),R=v);const H=S/T,D=w/P,E=f.x-(S-R)/2,L=f.y-(w-R)/2,U=u||d?f.z:a.lz+r.poleHeight+r.lz,F=new Gt(f.x,f.y),W=new ae,B=Array.from(Array(T),()=>new Array(P));let k=new Qt(u&&!A?0:g,0,y,"ZYX");if(r.trackerType!==Ma.NO_TRACKER){const ee=p?o.clone().applyAxisAngle(Po,-p):o.clone();switch(r.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const $=new Ts().setFromUnitVectors(Po,ee);k=new Qt().setFromQuaternion($),k.z+=y;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const $=new Ts().setFromUnitVectors(Po,new ae(ee.x,0,ee.z).normalize());k=new Qt().setFromQuaternion($),k.z+=y;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{const $=new ae(ee.x,-ee.y,0).normalize(),q=Math.acos(Yc.dot($))*Math.sign($.x);k=new Qt(r.tiltAngle,0,q+p,"ZYX");break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}x.applyEuler(k),u&&!A&&(k.x=r.rotation[0],k.z=r.rotation[2]+p),d&&(k.x=Vt+r.tiltAngle,k.z=a.relativeAngle+p);const N=Rr(o,b,s,vr.SPHERE_MODEL),j=tr(n.ground,C,x,N),Y=x.dot(o),_=new Gt,J=new ae;for(let ee=0;ee0&&(_.set(E+ee*H,L+$*D),J.set(_.x-F.x,_.y-F.y,0),J.applyEuler(k),W.set(f.x+J.x,f.y+J.y,U+J.z),c(r.id,W,o)<0&&(B[ee][$]+=Y*N));let Q=0;switch(i.shadeTolerance){case zv.NONE:{let ee=Number.MAX_VALUE;for(let $=0;$Array(x).fill(0)),B=Array(A).fill(0).map(()=>Array(x).fill(0));let k;for(let N=0;N0)for(const ee of a){if(ee.type!==z.Window)continue;const $=ee.cx*i.lx,q=ee.cz*i.lz,le=ee.lx*i.lx/2,ie=ee.lz*i.lz/2,pe=ee;if(pe.windowType===Sr.Arched){const ne=S.clone().add(new ae(pe.cx*i.lx,0,pe.cz*i.lz));il.pointWithinArch(R,pe.lx,pe.lz,pe.archHeight,ne)&&(k=!1)}else if(J.x>=$-le&&J.x<$+le&&J.y>=q-ie&&J.y0)for(const ee of l){if(ee.type!==z.Door)continue;const $=ee.cx*i.lx,q=ee.cz*i.lz,le=ee.lx*i.lx/2,ie=ee.lz*i.lz/2,pe=ee;if(pe.doorType===bd.Arched){const ne=S.clone().add(new ae(pe.cx*i.lx,0,pe.cz*i.lz));il.pointWithinArch(R,pe.lx,pe.lz,pe.archHeight,ne)&&(k=!1)}else if(J.x>=$-le&&J.x<$+le&&J.y>=q-ie&&J.y0)for(const ee of s){const $=ee.cx*i.lx,q=ee.cz*i.lz,le=ee.lx/2,ie=ee.ly/2;if(J.x>=$-le&&J.x<$+le&&J.y>=q-ie&&J.yZ3||$<0)&&ee&&(W[N][j]+=U),F>0&&$<0&&(B[N][j]+=F*L,ee&&(W[N][j]+=F*L))}}}return{intensity:W,unitArea:C*b,heatmap:B}}static computeDoorSolarRadiationEnergy(e,n,o,i,r,a,l,s){const c=be.dayOfYear(e),u=n.solarRadiationHeatmapGridCellSize??.5,d=i.lx*r.lx,f=i.lz*r.lz,p=Math.max(2,Math.round(d/u)),g=Math.max(2,Math.round(f/u)),y=d/p,A=f/g,x=a.rotation[2]+r.relativeAngle,b=be.wallAbsolutePosition(new ae(r.cx,r.cy,r.cz),a).setZ(r.lz/2+a.lz).clone().add(new ae(i.cx*r.lx,0,i.cz*r.lz)),v=new ae(Math.cos(x-Vt),Math.sin(x-Vt),0),S=y*Math.cos(x),w=y*Math.sin(x),T=new ae,P=Rr(o,c,l,vr.SPHERE_MODEL),R=tr(n.ground,e.getMonth(),v,P),H=v.dot(o),D=Array(p).fill(0).map(()=>Array(g).fill(0));if(i.doorType===bd.Arched)for(let E=0;E0&&s(i.id,T,o)<0&&(D[E][L]+=H*P))}else for(let E=0;E0){const U=E-p/2+.5,F=L-g/2+.5;T.set(b.x+U*S,b.y+U*w,b.z+F*A),s(i.id,T,o)<0&&(D[E][L]+=H*P)}return{intensity:D,unitArea:y*A}}static pointWithinArch(e,n,o,i,r){if(i>0){const a=.5*n,l=Math.min(i,o,a),s=.5*(l+a*a/l),c=e.x-r.x,u=e.y-r.y,d=c*c+u*u;let f=e.z-r.z;return d-o/2?!0:(f=e.z-(o-s),d+f*fArray(g).fill(0));if(i.windowType===Sr.Arched)for(let E=0;E0&&s(i.id,T,o)<0&&(D[E][L]+=H*P))}else for(let E=0;E0){const U=E-p/2+.5,F=L-g/2+.5;T.set(b.x+U*S,b.y+U*w,b.z+F*A),s(i.id,T,o)<0&&(D[E][L]+=H*P)}return{intensity:D,unitArea:y*A}}static computeRoofWindowSolarRadiationEnergy(e,n,o,i,r,a,l,s){const c=be.dayOfYear(e),u=n.solarRadiationHeatmapGridCellSize??.5,d=i.lx,f=i.lz,p=Math.max(2,Math.round(d/u)),g=Math.max(2,Math.round(f/u)),y=d/p,A=f/g,x=new ae(i.cx,i.cy,i.cz).applyEuler(new Qt(0,0,a.rotation[2]));x.x+=a.cx,x.y+=a.cy,x.z+=a.lz;const C=new Qt(i.rotation[0],i.rotation[1],i.rotation[2]+a.rotation[2],"ZXY"),b=new ae(0,0,1).applyEuler(C),v=new ae,S=Rr(o,c,l,vr.SPHERE_MODEL),w=tr(n.ground,e.getMonth(),b,S),T=b.dot(o),P=Array(p).fill(0).map(()=>Array(g).fill(0));if(i.windowType===Sr.Arched)for(let R=0;R0&&s(i.id,v,o)<0&&(P[R][H]+=T*S))}else for(let R=0;R0){const D=R-p/2+.5,E=H-g/2+.5,L=new ae(D,E,0);L.applyEuler(C),v.set(x.x+L.x,x.y+L.y,x.z+L.z),s(i.id,v,o)<0&&(P[R][H]+=T*S)}return{intensity:P,unitArea:y*A}}static computePyramidRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=n.solarRadiationHeatmapGridCellSize??.5,g=be.dayOfYear(e),y=new Qt(0,0,s.rotation[2],"ZYX"),A=Rr(o,g,d,vr.SPHERE_MODEL),x=[],C=[];for(const[b,v]of l.entries()){const S=i.id+"-"+b,w=v[0].clone().applyEuler(y),T=v[1].clone().applyEuler(y),P=v[2].clone().applyEuler(y),R=new ae().subVectors(T,w),H=new ae().subVectors(P,w),D=new ae().subVectors(P,T),E=R.length(),L=new ae().crossVectors(H,D).length()/E,U=Math.max(2,Math.round(E/p)),F=Math.max(2,Math.round(L/p)),W=Array(U).fill(0).map(()=>Array(F).fill(0));x.push(W),R.normalize();const B=U*H.dot(R)/E;H.normalize(),D.normalize();const k=new ae().crossVectors(H,D).normalize(),N=R.multiplyScalar(.5*E/U),j=new ae().crossVectors(k,R).normalize().multiplyScalar(.5*L/F),Y=new ae(s.cx+w.x,s.cy+w.y,s.lz+w.z+f0+(a?i.thickness:0));Y.add(N).add(j),N.multiplyScalar(2),j.multiplyScalar(2),C.push(N.length()*j.length());const _=new ae,J=[],Q=.01;J.push({x:-Q,y:-Q}),J.push({x:U+Q,y:-Q}),J.push({x:B,y:F+Q});const ee=tr(n.ground,e.getMonth(),k,A),$=k.dot(o);for(let q=0;qZ3||ne<0)&&(W[q][ie]+=ee),$>0&&ne<0&&(W[q][ie]+=$*A)}}}}return{segmentIntensities:x,segmentUnitArea:C}}static computeHipRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=be.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,y=new Qt(0,0,s.rotation[2],"ZYX"),A=Rr(o,p,d,vr.SPHERE_MODEL),x=[],C=[];for(const[b,v]of l.entries()){const S=i.id+"-"+b,w=v[0].clone().applyEuler(y),T=v[1].clone().applyEuler(y),P=v[2].clone().applyEuler(y),R=new ae().subVectors(T,w),H=new ae().subVectors(P,w),D=new ae().subVectors(P,T),E=R.length(),L=new ae().crossVectors(H,D).length()/E,U=Math.max(2,Math.round(E/g)),F=Math.max(2,Math.round(L/g)),W=Array(U).fill(0).map(()=>Array(F).fill(0));x.push(W),R.normalize();const B=U*H.dot(R)/E;H.normalize(),D.normalize();const k=new ae().crossVectors(H,D).normalize(),N=R.multiplyScalar(.5*E/U),j=new ae().crossVectors(k,R).normalize().multiplyScalar(.5*L/F),Y=new ae,_=new ae(s.cx+w.x,s.cy+w.y,s.lz+w.z+f0+(a?i.thickness:0));_.add(N).add(j),N.multiplyScalar(2),j.multiplyScalar(2),C.push(N.length()*j.length());const J=tr(n.ground,e.getMonth(),k,A),Q=k.dot(o),ee=[];for(const $ of v)ee.push({x:$.x,y:$.y});if(b%2===0)for(let $=0;$Z3||pe<0)&&(W[$][le]+=J),Q>0&&pe<0&&(W[$][le]+=Q*A)}}}else{const $=[];$.push({x:-.01,y:-.01}),$.push({x:U+.01,y:-.01}),$.push({x:B,y:F+.01});for(let le=0;leZ3||Z<0)&&(W[le][pe]+=J),Q>0&&Z<0&&(W[le][pe]+=Q*A)}}}}}return{segmentIntensities:x,segmentUnitArea:C}}static computeGambrelRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=be.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,y=new Qt(0,0,s.rotation[2],"ZYX"),A=Rr(o,p,d,vr.SPHERE_MODEL),x=[],C=[];for(const[b,v]of l.entries()){const S=i.id+"-"+b,w=v[0].clone().applyEuler(y),T=v[1].clone().applyEuler(y),P=v[2].clone().applyEuler(y),R=new ae().subVectors(T,w),H=new ae().subVectors(P,w),D=new ae().subVectors(P,T),E=R.length(),L=new ae().crossVectors(H,D).length()/E,U=Math.max(2,Math.round(E/g)),F=Math.max(2,Math.round(L/g)),W=Array(U).fill(0).map(()=>Array(F).fill(0));x.push(W),R.normalize(),H.normalize(),D.normalize();const B=new ae().crossVectors(H,D).normalize(),k=R.multiplyScalar(.5*E/U),N=new ae().crossVectors(B,R).normalize().multiplyScalar(.5*L/F),j=new ae(s.cx+w.x,s.cy+w.y,s.lz+w.z+f0+(a?i.thickness:0));j.add(k).add(N),k.multiplyScalar(2),N.multiplyScalar(2),C.push(k.length()*N.length());const Y=new ae,_=tr(n.ground,e.getMonth(),B,A),J=B.dot(o);for(let Q=0;QZ3||q<0)&&(W[Q][$]+=_),J>0&&q<0&&(W[Q][$]+=J*A)}}}return{segmentIntensities:x,segmentUnitArea:C}}static computeMansardRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=be.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,y=new Qt(0,0,s.rotation[2],"ZYX"),A=Rr(o,p,d,vr.SPHERE_MODEL),x=[],C=[];for(const[b,v]of l.entries()){const S=i.id+"-"+b;if(b===l.length-1){let w=Number.MAX_VALUE,T=Number.MAX_VALUE,P=-Number.MAX_VALUE,R=-Number.MAX_VALUE;for(const j of v){const Y=j.clone().applyEuler(y);Y.x>P&&(P=Y.x),Y.xR&&(R=Y.y),Y.yArray(E).fill(0));x.push(F);const W=new ae(w+g/2,T+g/2,s.lz+H+f0+(a?i.thickness:0)),B=new ae(0,0,W.z),k=tr(n.ground,e.getMonth(),Po,A),N=Po.dot(o);for(let j=0;jZ3||_<0)&&(F[j][Y]+=k),N>0&&_<0&&(F[j][Y]+=N*A)}}}else{const w=v[0].clone().applyEuler(y),T=v[1].clone().applyEuler(y),P=v[2].clone().applyEuler(y),R=new ae().subVectors(T,w),H=new ae().subVectors(P,w),D=new ae().subVectors(P,T),E=R.length(),L=new ae().crossVectors(H,D).length()/E,U=Math.max(2,Math.round(E/g)),F=Math.max(2,Math.round(L/g)),W=Array(U).fill(0).map(()=>Array(F).fill(0));x.push(W),R.normalize(),H.normalize(),D.normalize();const B=new ae().crossVectors(H,D).normalize(),k=R.multiplyScalar(.5*E/U),N=new ae().crossVectors(B,R).normalize().multiplyScalar(.5*L/F),j=new ae(s.cx+w.x,s.cy+w.y,s.lz+w.z+f0+(a?i.thickness:0));j.add(k).add(N),k.multiplyScalar(2),N.multiplyScalar(2),C.push(k.length()*N.length());const Y=new ae,_=tr(n.ground,e.getMonth(),B,A),J=B.dot(o);for(let Q=0;QZ3||q<0)&&(W[Q][$]+=_),J>0&&q<0&&(W[Q][$]+=J*A)}}}}return{segmentIntensities:x,segmentUnitArea:C}}static computeFlatRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d){const f=be.dayOfYear(e),p=n.solarRadiationHeatmapGridCellSize??.5,g=new Qt(0,0,l.rotation[2],"ZYX"),y=Rr(o,f,u,vr.SPHERE_MODEL),A=[],x=[];let C=Number.MAX_VALUE,b=Number.MAX_VALUE,v=-Number.MAX_VALUE,S=-Number.MAX_VALUE;for(const W of a)for(const B of W){const k=B.clone().applyEuler(g);k.x>v&&(v=k.x),k.xS&&(S=k.y),k.yArray(T).fill(0));A.push(H),x.push(P*R);const D=a[0][0].z,E=new ae(C+p/2,b+p/2,l.lz+D+f0+(r?i.thickness:0)),L=new ae(0,0,E.z),U=tr(n.ground,e.getMonth(),Po,y),F=Po.dot(o);for(let W=0;WZ3||k<0)&&(H[W][B]+=U),F>0&&k<0&&(H[W][B]+=F*y)}}return{segmentIntensities:A,segmentUnitArea:x}}static computeGableRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d){const f=be.dayOfYear(e),p=n.solarRadiationHeatmapGridCellSize??.5,g=new Qt(0,0,l.rotation[2],"ZYX"),y=Rr(o,f,u,vr.SPHERE_MODEL),A=[],x=[];for(const[C,b]of a.entries()){const v=i.id+"-"+C,S=b[0].clone().applyEuler(g),w=b[1].clone().applyEuler(g),T=b[2].clone().applyEuler(g),P=new ae().subVectors(w,S),R=new ae().subVectors(T,S),H=new ae().subVectors(T,w),D=P.length(),E=new ae().crossVectors(R,H).length()/D,L=Math.max(2,Math.round(D/p)),U=Math.max(2,Math.round(E/p)),F=Array(L).fill(0).map(()=>Array(U).fill(0));A.push(F),P.normalize(),R.normalize(),H.normalize();const W=new ae().crossVectors(R,H).normalize(),B=P.multiplyScalar(.5*D/L),k=new ae().crossVectors(W,P).normalize().multiplyScalar(.5*E/U),N=new ae(l.cx+S.x,l.cy+S.y,l.lz+S.z+f0+(r?i.thickness:0));N.add(B).add(k),B.multiplyScalar(2),k.multiplyScalar(2),x.push(B.length()*k.length());const j=new ae,Y=tr(n.ground,e.getMonth(),W,y),_=W.dot(o);for(let J=0;JZ3||$<0)&&(F[J][ee]+=Y),_>0&&$<0&&(F[J][ee]+=_*y)}}}return{segmentIntensities:A,segmentUnitArea:x}}static isPointRoof(e,n,o,i){if(n&&n.length>0)for(const r of n){const a=In.getAbsoluteWindowVerticesOnRoof(r,i),l=be.getPoints(a);if(be.isPointInside(e.x,e.y,l))return!1}if(o&&o.length>0)for(const r of o){const a=In.getAbsoluteSolarPanelVerticesOnRoof(r,i),l=be.getPoints(a);if(be.isPointInside(e.x,e.y,l))return!1}return!0}}const FLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(cA),i=M(rr),r=M(Q9),a=M(J2),l=bn(J1e),s=bn($L),c=bn(q1e),u=bn(w4t),d=bn(x4t),f=bn(S4t),p=M(ha),g=gt(QL),y=gt(owt),A=gt(Aq),x=gt(iwt),C=M.getState().world,b=M.getState().elements,v=C.noAnimationForThermalSimulation,S=C.highestTemperatureTimeInMinutes??900,w=m.useRef(0),T=m.useRef(!1),P=m.useRef(new Date(C.date)),R=m.useRef(0),H=m.useRef(!1),D=m.useRef(new Date(C.date)),E=m.useRef(0),L=m.useRef({high:20,low:0}),U=m.useRef(20),F=m.useRef(20),W=m.useRef(new Map),B=m.useRef(new Map),k=m.useRef(new Map),N=m.useRef([]),j=m.useRef([]),Y=m.useRef(),_=m.useRef(),J=m.useRef(0),Q=m.useRef(new Map),ee=Kt(),$=a1(t),q=new Date(C.date),le=t?$==null?void 0:$.elevation:0,ie=C.monthlyIrradianceLosses??new Array(12).fill(.05),pe=C.timesPerHour??4,ne=60/pe,Z=C.daysPerYear??6,he=12/Z,{scene:fe}=Xi(),se=m.useMemo(()=>new Gs,[]),oe=()=>$5(1,fye(q),QW(q),be.toRadians(C.latitude)).normalize(),de=(Oe,et,vt)=>{if(N.current.length>1){j.current.length=0,se.set(et,vt);const ct=N.current.filter(lt=>lt.uuid!==Oe);if(se.intersectObjects(ct,!1,j.current),j.current.length>0)return j.current[0].distance}return-1},ve=()=>{const Oe=fe.children.filter(et=>et.name==="Content");if(Oe.length>0){const et=Oe[0].children;N.current.length=0;for(const vt of et)be.fetchSimulationElements(vt,N.current)}},Pe=Oe=>{if($){L.current=Jx(q,$.lowestTemperatures,$.highestTemperatures);const et=be.minutesIntoDay(Oe);U.current=Xx(L.current.high,L.current.low,C.diurnalTemperatureModel??u2.Sinusoidal,S,sl(Oe,C.latitude),et),F.current=Z$e(C.latitude,be.dayOfYear(q),et,$.lowestTemperatures,$.highestTemperatures,S,.5*(L.current.high-L.current.low),C.ground.thermalDiffusivity??.05,JNe)}},me=(Oe,et)=>{let vt=W.current.get(Oe);vt||(vt=new Array(24).fill(0),W.current.set(Oe,vt)),vt[q.getHours()]+=et},Re=(Oe,et)=>{let vt=B.current.get(Oe);vt||(vt=new Array(24).fill(0),B.current.set(Oe,vt)),vt[q.getHours()]+=et},ze=(Oe,et)=>{let vt=k.current.get(Oe);vt||(vt=new Array(24).fill(0),k.current.set(Oe,vt)),vt[q.getHours()]+=et},Ae=()=>{var Oe,et,vt,ct;for(const lt of b){if(be.onBuildingEnvelope(lt)&&((Oe=W.current.get(lt.id))==null||Oe.fill(0)),lt.type===z.Roof)for(const tt of W.current.keys())tt!==lt.id&&tt.startsWith(lt.id)&&((et=W.current.get(tt))==null||et.fill(0));lt.type===z.Foundation&&((vt=B.current.get(lt.id))==null||vt.fill(0),(ct=k.current.get(lt.id))==null||ct.fill(0))}},re=()=>{Q.current.clear()};m.useEffect(()=>{if(g)if(v&&!be.hasMovingParts(b))ge();else return ve(),we(),w.current=requestAnimationFrame(Te),()=>{cancelAnimationFrame(w.current),T.current||(fn(O.t("message.SimulationAborted",ee)),e(Oe=>{Oe.world.date=P.current.toLocaleString("en-US")}),gt.getState().set(Oe=>{Oe.simulationInProgress=!1,Oe.simulationPaused=!1})),H.current=!1}},[g]),m.useEffect(()=>{H.current=y,y?(D.current=new Date(q.getTime()),cancelAnimationFrame(w.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",ee))):(n("simulationPaused",!1),q.setHours(q.getHours(),q.getMinutes()+ne),Te())},[y]);const ge=()=>{Ne()},we=()=>{H.current?(q.setTime(D.current.getTime()),H.current=!1):(P.current=new Date(C.date),E.current=be.dayOfYear(q),q.setHours(0,ne/2)),T.current=!1,Ae(),re()},ye=()=>{for(const Oe of b){if(be.onBuildingEnvelope(Oe)||Oe.type===z.SolarPanel){const et=W.current.get(Oe.id);et&&u(Oe.id,[...et]);const vt=Q.current.get(Oe.id);vt&&l(Oe.id,vt.map(ct=>[...ct]))}if(Oe.type===z.Roof){for(const et of W.current.keys())if(et!==Oe.id&&et.startsWith(Oe.id)){const vt=W.current.get(et);vt&&u(et,[...vt]);const ct=Q.current.get(et);ct&&l(et,ct.map(lt=>[...lt]))}}if(Oe.type===z.Foundation){let et=B.current.get(Oe.id);et&&d(Oe.id,[...et]),et=k.current.get(Oe.id),et&&f(Oe.id,[...et])}}gt.getState().set(Oe=>{Oe.flagOfDailySimulation=!Oe.flagOfDailySimulation,Oe.runYearlyThermalSimulation||(Oe.showSolarRadiationHeatmap=!0,Oe.showHeatFluxes=!0)}),p&&!A&&setTimeout(()=>{e(Oe=>{const et=bn.getState().totalBuildingHeater,vt=bn.getState().totalBuildingAc,ct=bn.getState().totalBuildingSolarPanel;Oe.actionInfo={name:"Daily Building Energy Analysis Completed",result:{Heater:et.toFixed(2),AC:vt.toFixed(2),SolarPanel:ct.toFixed(2),Net:(et+vt-ct).toFixed(2)},timestamp:new Date().getTime()}})},10)},Te=()=>{if(g&&!H.current){if(q.getMinutes()+q.getHours()*60+(be.dayOfYear(q)-E.current)*y2+ne>y2){Ne(),cancelAnimationFrame(w.current),e(et=>{et.world.date=P.current.toLocaleString("en-US"),et.viewState.showDailyBuildingEnergyPanel=!0,et.selectedFloatingWindow="dailyBuildingEnergyPanel"}),gt.getState().set(et=>{et.runDailyThermalSimulation=!1,et.simulationPaused=!1,et.simulationInProgress=!1}),fn(O.t("message.SimulationCompleted",ee)),T.current=!0,ye();return}e(et=>{et.world.date=q.toLocaleString("en-US")}),Ne(),w.current=requestAnimationFrame(Te),q.setHours(q.getHours(),q.getMinutes()+ne)}},[Ie,Ce]=m.useState(q.getMonth());m.useEffect(()=>{setTimeout(()=>{ve()},200)},[Ie]),m.useEffect(()=>{if(A)if(gt.getState().set(Oe=>{Oe.showSolarRadiationHeatmap=!1,Oe.showHeatFluxes=!1}),v&&!be.hasMovingParts(b))setTimeout(()=>{},50);else return Ee(),Ce(q.getMonth()),ve(),w.current=requestAnimationFrame(Ue),()=>{cancelAnimationFrame(w.current),T.current||(fn(O.t("message.SimulationAborted",ee)),e(Oe=>{Oe.world.date=P.current.toLocaleString("en-US")}),gt.getState().set(Oe=>{Oe.simulationInProgress=!1,Oe.simulationPaused=!1})),H.current=!1}},[A]),m.useEffect(()=>{H.current=x,x?(D.current=new Date(q.getTime()),cancelAnimationFrame(w.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",ee))):(n("simulationPaused",!1),q.setHours(q.getHours(),q.getMinutes()+ne),Ue())},[x]);const Ee=()=>{H.current?(q.setTime(D.current.getTime()),H.current=!1):(P.current=new Date(C.date),R.current=0,q.setMonth(0,22),E.current=be.dayOfYear(q),q.setHours(0,ne/2),e(Oe=>{Oe.viewState.showYearlyBuildingEnergyPanel=!0,Oe.selectedFloatingWindow="yearlyBuildingEnergyPanel",Oe.world.date=q.toLocaleString("en-US")})),Ae(),re(),T.current=!1},Ue=()=>{A&&!H.current&&(q.getMinutes()+q.getHours()*60+(be.dayOfYear(q)-E.current)*y2{et.world.date=q.toLocaleString("en-US")}),Ne(),q.setHours(q.getHours(),q.getMinutes()+ne),w.current=requestAnimationFrame(Ue)):(ye(),R.current++,R.current===Z?(cancelAnimationFrame(w.current),setTimeout(()=>{e(et=>{et.world.date=P.current.toLocaleString("en-US")})},10),gt.getState().set(et=>{et.runYearlyThermalSimulation=!1,et.simulationInProgress=!1,et.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",ee)),T.current=!0,p&&setTimeout(()=>{e(et=>{const vt=bn.getState().totalBuildingHeater,ct=bn.getState().totalBuildingAc,lt=bn.getState().totalBuildingSolarPanel;et.actionInfo={name:"Yearly Building Energy Analysis Completed",result:{Heater:vt.toFixed(2),AC:ct.toFixed(2),SolarPanel:lt.toFixed(2),Net:(vt+ct-lt).toFixed(2)},timestamp:new Date().getTime()}})},10)):(q.setMonth(R.current*he,22),q.setHours(0,ne/2),Ce(q.getMonth()),E.current=be.dayOfYear(q),Ae(),re(),w.current=requestAnimationFrame(Ue))))},Ne=()=>{Pe(q),_.current=sl(q,C.latitude);const Oe=_.current.daylight()/60;J.current=Oe>kt?$.sunshineHours[q.getMonth()]/(30*Oe*pe):0,Y.current=oe();for(const et of b)switch(et.type){case z.Door:{ot(et);break}case z.Window:{Fe(et),_e(et);break}case z.Wall:{Ye(et);break}case z.Roof:{const vt=et;je(vt),St(vt);break}case z.SolarPanel:{De(et);break}}},Le=(Oe,et)=>{let vt=et.efficiency;return et.cellType==="Monocrystalline"&&(vt*=.95),vt*(1+et.pmaxTC*(Oe-25))},qe=()=>{if(!_.current)throw new Error("sun minutes not set");const Oe=_.current.daylight()/60;return Oe>kt?$.sunshineHours[q.getMonth()]/(30*Oe*pe):0},We=Oe=>{if(!a(Oe.pvModelName))throw new Error("PV model not found");return Oe.lx*Oe.ly*(Oe.inverterEfficiency??.95)*(1-ie[q.getMonth()])},De=Oe=>{const et=o(Oe);if(et){const vt=i(Oe);if(vt){const ct=a(Oe.pvModelName);if(Y.current&&Y.current.z>0){const lt=il.computeSolarPanelOutput(q,C,Y.current,ct,Oe,vt,et,le,de),tt=Le(U.current,ct)*qe()*We(Oe);if(ze(et.id,lt.average*tt),g){for(let At=0;At{var vt;if(Oe.interior)return;const et=o(Oe);if(et){const ct=i(Oe);if(ct){const lt=((vt=et.hvacSystem)==null?void 0:vt.thermostatSetpoint)??20,tt=be.getWindowArea(Oe,Oe.parentType===z.Roof?void 0:ct),it=U.current-lt;Oe.empty?me(Oe.id,it*tt*aO*.001/pe):me(Oe.id,it*tt*(Oe.uValue??B4)*.001/pe)}}},_e=Oe=>{if(Oe.interior)return;const et=o(Oe);if(et){const vt=i(Oe);if(vt){let ct=0;if(Oe.parentType===z.Roof){const lt=s(vt.id);if(!lt)return;for(let tt=0;tt0){const it=il.computeRoofWindowSolarRadiationEnergy(q,C,Y.current,Oe,vt,et,le,de);for(let At=0;At0){const lt=il.computeWallWindowSolarRadiationEnergy(q,C,Y.current,Oe,vt,et,le,de);for(let tt=0;tt{var vt;if(Oe.interior)return;const et=o(Oe);if(et){const ct=i(Oe);if(ct){const lt=((vt=et.hvacSystem)==null?void 0:vt.thermostatSetpoint)??20,tt=be.getDoorArea(Oe,ct);if(Oe.filled){const it=G8(Oe);let At=0;if(Y.current&&Y.current.z>0){const ft=il.computeDoorSolarRadiationEnergy(q,C,Y.current,Oe,ct,et,le,de);for(let Rt=0;Rt{var vt;const et=o(Oe);if(et){const ct=Oe.fill!==Hl.Empty&&Oe.wallStructure===hc.Default,lt=((vt=et.hvacSystem)==null?void 0:vt.thermostatSetpoint)??20;if(ct){const tt=Oe.fill===Hl.Partial&&!be.isPartialWallFull(Oe),it=be.getWallVertices(Oe,0),At=tt?be.getPartialWallVertices(Oe,0):it,Mt=be.getPolygonArea(it);let st=tt?be.getPolygonArea(At):Mt;const ft=r(z.Window,Oe.id),Rt=r(z.Door,Oe.id),zt=G8(Oe);let Xe=0;if(Y.current&&Y.current.z>0){const Ge=(tt?At.length:it.length)===4,xt=r(z.SolarPanel,Oe.id),It=il.computeWallSolarRadiationEnergy(q,C,Y.current,Oe,et,ft,Rt,xt,Ge?0:1,le,de);for(let Tt=0;Tt0)for(const Ge of ft)st-=be.getWindowArea(Ge,Oe);if(Rt&&Rt.length>0)for(const Ge of Rt)st-=Ge.lx*Ge.lz*Oe.lx*Oe.lz;const ht=be.isZero(Xe)||be.isZero(zt)?0:Xe*zt/((Oe.volumetricHeatCapacity??.5)*st*Oe.ly);let mt=(U.current+ht-lt)*st/(Oe.rValue??i6)*.001/pe;tt&&Oe.openToOutside&&(mt+=(U.current-lt)*(Mt-st)*aO*.001/pe),me(Oe.id,mt)}else if(Oe.openToOutside){const tt=be.getWallVertices(Oe,0),it=be.getPolygonArea(tt),At=U.current-lt;me(Oe.id,At*it*aO*.001/pe)}}},St=Oe=>{var tt;const et=o(Oe);if(!et)return;const vt=((tt=et.hvacSystem)==null?void 0:tt.thermostatSetpoint)??20,ct=be.calculateBuildingArea(Oe),lt=F.current-vt;me(et.id,lt*ct/(et.rValue??Q4)*.001/pe)},dt=(Oe,et,vt)=>{const ct=1/(Oe.rValue??Z4),lt=1/(Oe.ceilingRValue??c6);return(ct*et+lt*vt)/(ct+lt)},je=Oe=>{var lt;const et=o(Oe);if(!et)return;const vt=s(Oe.id);if(!vt)return;let ct;switch(Oe.roofType){case Vo.Pyramid:ct=at(Oe,vt,et);break;case Vo.Hip:ct=ut(Oe,vt,et);break;case Vo.Gable:ct=Qe(Oe,vt,et);break;case Vo.Gambrel:ct=wt(Oe,vt,et);break;case Vo.Mansard:ct=rt(Oe,vt,et);break}if(ct){const tt=((lt=et.hvacSystem)==null?void 0:lt.thermostatSetpoint)??20;let it=0;for(const[At,Mt]of ct.entries()){const ft=(Mt.surfaceTemperature-(Oe.ceiling?dt(Oe,Mt.surfaceTemperature,tt):tt))*Mt.totalArea/(Oe.rValue??Z4)*.001/pe;me(Oe.id+"-"+At,ft),it+=ft}me(Oe.id,it)}},at=(Oe,et,vt)=>{if(Oe.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const ct=et.length;if(ct===0)return;let lt=!0;const tt=et[0][0].z;for(const Xe of et)for(const ht of Xe)if(Math.abs(ht.z-tt)>.01){lt=!1;break}const it=lt?1:ct,At=r(z.Window,Oe.id),Mt=[];if(lt){let Xe=0;for(const ht of et){const Je=[];for(const mt of ht)Je.push(be.mapVector3ToPoint2(mt));Xe+=be.getPolygonArea(Je)}if(At.length>0){for(const ht of At)Xe-=ht.lx*ht.lz;Xe<0&&(Xe=0)}Mt.push(Xe)}else for(const Xe of et){let ht=be.getTriangleArea(Xe[0],Xe[1],Xe[2]);if(At.length>0){for(const Je of At)In.onSegment(Xe,Je.cx,Je.cy)&&(ht-=Je.lx*Je.lz);ht<0&&(ht=0)}Mt.push(ht)}const st=G8(Oe),ft=Array(it).fill(0);if(Y.current&&Y.current.z>0){const Xe=r(z.SolarPanel,Oe.id),ht=il.computePyramidRoofSolarRadiationEnergy(q,C,Y.current,Oe,lt,!0,et,vt,At,Xe,le,de);for(let Je=0;Je{if(Oe.roofType!==Vo.Hip)throw new Error("roof is not hip");const ct=et.length;if(ct===0)return;let lt=!0;const tt=et[0][0].z;for(const ht of et)for(const Je of ht)if(Math.abs(Je.z-tt)>.01){lt=!1;break}const it=lt?1:ct,At=[],Mt=r(z.Window,Oe.id);for(const ht of et){let Je=0;if(ht.length===3?Je=be.getTriangleArea(ht[0],ht[1],ht[2]):ht.length===4&&(Je=be.getTriangleArea(ht[0],ht[1],ht[2])+be.getTriangleArea(ht[2],ht[3],ht[0])),Mt.length>0){for(const mt of Mt)In.onSegment(ht,mt.cx,mt.cy)&&(Je-=mt.lx*mt.lz);Je<0&&(Je=0)}At.push(Je)}const st=lt?[At.reduce((ht,Je)=>ht+Je,0)]:At,ft=G8(Oe),Rt=Array(it).fill(0);if(Y.current&&Y.current.z>0){const ht=r(z.SolarPanel,Oe.id),Je=il.computeHipRoofSolarRadiationEnergy(q,C,Y.current,Oe,lt,!0,et,vt,Mt,ht,le,de);for(let mt=0;mt{if(Oe.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const ct=et.length;if(ct===0)return;let lt=!0;const tt=et[0][0].z;for(const ht of et)for(const Je of ht)if(Math.abs(Je.z-tt)>.01){lt=!1;break}const it=lt?1:ct,At=[],Mt=r(z.Window,Oe.id);for(const ht of et){let Je=be.getTriangleArea(ht[0],ht[1],ht[2])+be.getTriangleArea(ht[2],ht[3],ht[0]);if(Mt.length>0){for(const mt of Mt)In.onSegment(ht,mt.cx,mt.cy)&&(Je-=mt.lx*mt.lz);Je<0&&(Je=0)}At.push(Je)}const st=lt?[At.reduce((ht,Je)=>ht+Je,0)]:At,ft=G8(Oe),Rt=Array(it).fill(0);if(Y.current&&Y.current.z>0){const ht=r(z.SolarPanel,Oe.id),Je=il.computeGambrelRoofSolarRadiationEnergy(q,C,Y.current,Oe,lt,!0,et,vt,Mt,ht,le,de);for(let mt=0;mt{if(Oe.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const ct=et.length;if(ct===0)return;let lt=!0;const tt=et[0][0].z;for(const Ge of et)for(const xt of Ge)if(Math.abs(xt.z-tt)>.01){lt=!1;break}const it=lt?1:ct,At=[],Mt=r(z.Window,Oe.id);for(let Ge=0;Ge0){for(const Tt of Mt)In.onSegment(xt,Tt.cx,Tt.cy)&&(It-=Tt.lx*Tt.lz);It<0&&(It=0)}At.push(It)}const st=et[ct-1],ft=new Array;for(const Ge of st)ft.push({x:Ge.x,y:Ge.y});let Rt=be.getPolygonArea(ft);if(Mt.length>0){for(let Ge=Mt.length-1;Ge>=0;Ge--){const xt=Mt[Ge];In.onSegment(st,xt.cx,xt.cy)&&(Rt-=xt.lx*xt.lz,Mt.splice(Ge,1))}Rt<0&&(Rt=0)}At.push(Rt);const zt=lt?[At.reduce((Ge,xt)=>Ge+xt,0)]:At,Xe=G8(Oe),ht=Array(it).fill(0);if(Y.current&&Y.current.z>0){const Ge=r(z.SolarPanel,Oe.id),xt=il.computeMansardRoofSolarRadiationEnergy(q,C,Y.current,Oe,lt,!0,et,vt,Mt,Ge,le,de);for(let It=0;It{if(Oe.roofType!==Vo.Gable)throw new Error("roof is not gable");const ct=et.length;if(ct===0)return;const lt=r(z.Window,Oe.id),tt=[];for(const ft of et){let Rt=be.getTriangleArea(ft[0],ft[1],ft[2])+be.getTriangleArea(ft[2],ft[3],ft[0]);if(lt.length>0){for(const zt of lt)In.onSegment(ft,zt.cx,zt.cy)&&(Rt-=zt.lx*zt.lz);Rt<0&&(Rt=0)}tt.push(Rt)}const it=G8(Oe),At=Array(ct).fill(0);if(Y.current&&Y.current.z>0){const ft=r(z.SolarPanel,Oe.id),Rt=il.computeGableRoofSolarRadiationEnergy(q,C,Y.current,Oe,!0,et,vt,lt,ft,le,de);for(let zt=0;zt{const e=M.getState().world,n=M.getState().elements,o=M(rr),i=M(cA),r=bn(J1e),a=bn(UBe),l=gt(Z1e),s=bn(q1e),{scene:c}=Xi(),u=Kt(),d=a1(t),f=new Date(e.date),p=t?d==null?void 0:d.elevation:0,g=60/e.timesPerHour,y=m.useMemo(()=>new Gs,[]),A=e.solarRadiationHeatmapGridCellSize??.5,x=m.useRef([]),C=m.useRef([]);m.useEffect(()=>{l&&n&&n.length>0&&(a(),S(),gt.getState().set(N=>{N.runStaticSimulation=!1,N.simulationInProgress=!1,N.showSolarRadiationHeatmap=!0}),fn(O.t("message.SimulationCompleted",u)))},[l]);const b=(N,j,Y)=>{if(x.current.length>1){C.current.length=0,y.set(j,Y);const _=x.current.filter(J=>J.uuid!==N);return y.intersectObjects(_,!1,C.current),C.current.length>0}return!1},v=()=>{const N=c.children.filter(j=>j.name==="Content");if(N.length>0){const j=N[0].children;x.current.length=0;for(const Y of j)be.fetchSimulationElements(Y,x.current)}},S=()=>{v();for(const N of n)switch(N.type){case z.Foundation:{const j=N;T(j),j.solarStructure===zn.UpdraftTower&&P(j);break}case z.Cuboid:{w(N);break}case z.SolarPanel:{R(N);break}case z.Wall:{H(N);break}case z.Door:{D(N);break}case z.Roof:{const j=N;switch(j.roofType){case Vo.Pyramid:E(j);break;case Vo.Gable:B(j);break;case Vo.Gambrel:U(j);break;case Vo.Mansard:L(j);break;case Vo.Hip:F(j);break}break}}},w=N=>{const j=f.getFullYear(),Y=f.getMonth(),_=f.getDate(),J=be.dayOfYear(f),Q=N.lx,ee=N.ly,$=N.lz,q=Math.max(2,Math.round(Q/A)),le=Math.max(2,Math.round(ee/A)),ie=Math.max(2,Math.round($/A)),pe=Q/q,ne=ee/le,Z=$/ie,he=o(N);let fe=N.cx,se=N.cy,oe=N.cz;if(he&&he.type===z.Cuboid){const De=be.getWorldDataById(N.id);fe=De.pos.x,se=De.pos.y,oe=De.pos.z}const de=Array(q).fill(0).map(()=>Array(le).fill(0)),ve=Array(q).fill(0).map(()=>Array(ie).fill(0)),Pe=Array(q).fill(0).map(()=>Array(ie).fill(0));let me=Array(le).fill(0).map(()=>Array(ie).fill(0)),Re=Array(le).fill(0).map(()=>Array(ie).fill(0));const ze=Po,Ae=Bp.clone().applyAxisAngle(Po,N.rotation[2]),re=Yc.clone().applyAxisAngle(Po,N.rotation[2]),ge=Up.clone().applyAxisAngle(Po,N.rotation[2]),we=Np.clone().applyAxisAngle(Po,N.rotation[2]),ye=new ae;let Te=0;const Ie=new Gt(fe,se),Ce=new Gt,Ee=se-ee/2,Ue=se+ee/2,Ne=fe-Q/2,Le=fe+Q/2;for(let De=0;De<24;De++)for(let Fe=0;Fe0){Te++;const Ye=Rr(ot,J,p,vr.SPHERE_MODEL);let St=tr(e.ground,Y,ze,Ye),dt=ze.dot(ot),je=fe-Q/2,at=se-ee/2;const ut=oe+$/2;for(let wt=0;wt0&&(Ce.set(je+(wt+.5)*pe,at+(rt+.5)*ne),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,ut),b(N.id,ye,ot)||(de[wt][rt]+=dt*Ye));je=fe-Q/2,at=oe-$/2,St=tr(e.ground,Y,Ae,Ye),dt=Ae.dot(ot);for(let wt=0;wt0&&(Ce.set(je+(wt+.5)*pe,Ee),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,at+(rt+.5)*Z),b(N.id,ye,ot)||(ve[wt][rt]+=dt*Ye));St=tr(e.ground,Y,re,Ye),dt=re.dot(ot);for(let wt=0;wt0&&(Ce.set(je+(wt+.5)*pe,Ue),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,at+(ie-(rt+.5))*Z),b(N.id,ye,ot)||(Pe[wt][rt]+=dt*Ye));je=se-ee/2,at=oe-$/2,St=tr(e.ground,Y,ge,Ye),dt=ge.dot(ot);for(let wt=0;wt0&&(Ce.set(Ne,je+(wt+.5)*ne),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,at+(rt+.5)*Z),b(N.id,ye,ot)||(me[wt][rt]+=dt*Ye));St=tr(e.ground,Y,we,Ye),dt=we.dot(ot);for(let wt=0;wt0&&(Ce.set(Le,je+(wt+.5)*ne),Ce.rotateAround(Ie,N.rotation[2]),ye.set(Ce.x,Ce.y,at+(rt+.5)*Z),b(N.id,ye,ot)||(Re[wt][rt]+=dt*Ye))}}me=be.transpose(me),Re=be.transpose(Re);const qe=Te*g/60,We=qe>kt?d.sunshineHours[Y]/(30*qe*e.timesPerHour):0;k(de,We),k(ve,We),k(Pe,We),k(me,We),k(Re,We),r(N.id+"-top",de),r(N.id+"-south",ve),r(N.id+"-north",Pe),r(N.id+"-west",me),r(N.id+"-east",Re)},T=N=>{const j=f.getFullYear(),Y=f.getMonth(),_=f.getDate(),J=be.dayOfYear(f),Q=N.lx,ee=N.ly,$=N.lz,q=Math.max(2,Math.round(Q/A)),le=Math.max(2,Math.round(ee/A)),ie=Q/q,pe=ee/le,ne=N.cx-Q/2,Z=N.cy-ee/2,he=new Gt(N.cx,N.cy),fe=new ae,se=Array(q).fill(0).map(()=>Array(le).fill(0));let oe=0;for(let Pe=0;Pe<24;Pe++)for(let me=0;me0){oe++;const Ae=Rr(ze,J,p,vr.SPHERE_MODEL),re=tr(e.ground,Y,Po,Ae),ge=Po.dot(ze),we=new Gt;for(let ye=0;ye0&&(we.set(ne+(ye+.5)*ie,Z+(Te+.5)*pe),we.rotateAround(he,N.rotation[2]),fe.set(we.x,we.y,$),b(N.id,fe,ze)||(se[ye][Te]+=ge*Ae))}}const de=oe*g/60,ve=de>kt?d.sunshineHours[Y]/(30*de*e.timesPerHour):0;k(se,ve),r(N.id,se)},P=N=>{const j=N.solarUpdraftTower;if(!j)return;const Y=f.getFullYear(),_=f.getMonth(),J=f.getDate(),Q=be.dayOfYear(f),ee=j.collectorRadius,$=Math.max(2,Math.round(ee*2/A)),q=N.cx-ee+A/2,le=N.cy-ee+A/2,ie=N.lz+j.collectorHeight,pe=Array($).fill(0).map(()=>Array($).fill(0)),ne=new ae(0,0,ie),Z=ee*ee;let he=0,fe,se;for(let ve=0;ve<24;ve++)for(let Pe=0;Pe0){he++;const ze=Rr(Re,Q,p,vr.SPHERE_MODEL),Ae=tr(e.ground,_,Po,ze),re=Po.dot(Re);for(let ge=0;ge<$;ge++){ne.x=q+(ge+.5)*A,fe=ne.x-N.cx;for(let we=0;we<$;we++)ne.y=le+(we+.5)*A,se=ne.y-N.cy,!(fe*fe+se*se>Z)&&(pe[ge][we]+=Ae,re>0&&(b(N.id+"-sut",ne,Re)||(pe[ge][we]+=re*ze)))}}}const oe=he*g/60,de=oe>kt?d.sunshineHours[_]/(30*oe*e.timesPerHour):0;k(pe,de),r(N.id+"-sut",pe)},R=N=>{if(N.trackerType!==Ma.NO_TRACKER)throw new Error("trackers cannot use static simulation");let j=o(N);if(!j)throw new Error("parent of solar panel does not exist");const Y=N.parentType===z.Roof,_=N.parentType===z.Wall;if(Y&&(j=i(j),!j))throw new Error("foundation of solar panel does not exist");const J=_?be.absoluteCoordinates(N.cx,N.cy,N.cz,j,i(N),N.lz):be.absoluteCoordinates(N.cx,N.cy,N.cz,j),Q=new ae().fromArray(N.normal),ee=j.rotation[2];let $=ee+N.relativeAzimuth,q=N.tiltAngle,le=!0;if(Y&&(J.z=N.cz+N.lz+.02+j.cz+j.lz/2,be.isZero(N.rotation[0])?J.z+=N.poleHeight:(q=N.rotation[0],$=ee,le=!1)),_&&!be.isZero(N.tiltAngle)){const Ie=j,Ce=i(j),Ue=(Ce?Ce.rotation[2]+Ie.relativeAngle:Ie.relativeAngle)-Vt,Ne=N.ly*Math.abs(Math.sin(N.tiltAngle))/2;J.x+=Ne*Math.cos(Ue),J.y+=Ne*Math.sin(Ue)}const ie=new Qt(Y&&!le?0:q,0,$,"ZYX");Q.applyEuler(ie);const pe=f.getFullYear(),ne=f.getMonth(),Z=f.getDate(),he=be.dayOfYear(f),fe=N.lx,se=N.ly,oe=Math.max(2,Math.round(N.lx/A)),de=Math.max(2,Math.round(N.ly/A)),ve=fe/oe,Pe=se/de,me=J.x-(fe-A)/2,Re=J.y-(se-A)/2,ze=Y||_?J.z:j.lz+N.poleHeight+N.lz,Ae=new Gt(J.x,J.y),re=new ae,ge=Array(oe).fill(0).map(()=>Array(de).fill(0));let we=0;Y&&!le&&(ie.x=N.rotation[0],ie.z=N.rotation[2]+ee),_&&(ie.x=Vt+N.tiltAngle,ie.z=j.relativeAngle+ee);for(let Ie=0;Ie<24;Ie++)for(let Ce=0;Ce0){we++;const Ne=Rr(Ue,he,p,vr.SPHERE_MODEL),Le=tr(e.ground,ne,Q,Ne),qe=Q.dot(Ue),We=new Gt,De=new ae;for(let Fe=0;Fe0&&(We.set(me+Fe*ve,Re+_e*Pe),De.set(We.x-Ae.x,We.y-Ae.y,0),De.applyEuler(ie),re.set(J.x+De.x,J.y+De.y,ze+De.z),b(N.id,re,Ue)||(ge[Fe][_e]+=qe*Ne))}}const ye=we*g/60,Te=ye>kt?d.sunshineHours[ne]/(30*ye*e.timesPerHour):0;k(ge,Te),r(N.id,ge)},H=N=>{const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=f.getFullYear(),_=f.getMonth(),J=f.getDate(),Q=be.dayOfYear(f),ee=N.lx,$=be.getHighestPointOfWall(N),q=Math.max(2,Math.round(ee/A)),le=Math.max(2,Math.round($/A)),ie=ee/q,pe=$/le,ne=j.rotation[2]+N.relativeAngle,Z=be.wallAbsolutePosition(new ae(N.cx,N.cy,$/2),j).setZ($/2+j.lz),he=new ae(Math.cos(ne-Vt),Math.sin(ne-Vt),0),fe=new ae,se=Array(q).fill(0).map(()=>Array(le).fill(0));let oe=0;const de=ie*Math.cos(ne),ve=ie*Math.sin(ne),Pe=be.getWallVertices(N,2),me=($-N.lz)/2;for(let Ae=0;Ae<24;Ae++)for(let re=0;re0){oe++;const ye=Rr(we,Q,p,vr.SPHERE_MODEL),Te=tr(e.ground,_,he,ye),Ie=he.dot(we);for(let Ce=0;Ce0&&(fe.set(Z.x+Ue*de,Z.y+Ue*ve,Z.z+Ne*pe),b(N.id,fe,we)||(se[Ce][Ee]+=Ie*ye)))}}}const Re=oe*g/60,ze=Re>kt?d.sunshineHours[_]/(30*Re*e.timesPerHour):0;k(se,ze),r(N.id,se)},D=N=>{const j=i(N);if(!j)throw new Error("foundation of door not found");const Y=o(N);if(!Y)throw new Error("parent of door not found");const _=Y,J=f.getFullYear(),Q=f.getMonth(),ee=f.getDate(),$=be.dayOfYear(f),q=N.lx*_.lx,le=N.lz*_.lz,ie=Math.max(2,Math.round(q/A)),pe=Math.max(2,Math.round(le/A)),ne=q/ie,Z=le/pe,he=j.rotation[2]+_.relativeAngle,se=be.wallAbsolutePosition(new ae(_.cx,_.cy,_.cz),j).setZ(_.lz/2+j.lz).clone().add(new ae(N.cx*_.lx,0,N.cz*_.lz)),oe=new ae(Math.cos(he-Vt),Math.sin(he-Vt),0),de=new ae,ve=Array(ie).fill(0).map(()=>Array(pe).fill(0));let Pe=0;const me=ne*Math.cos(he),Re=ne*Math.sin(he);for(let re=0;re<24;re++)for(let ge=0;ge0){Pe++;const Te=Rr(ye,$,p,vr.SPHERE_MODEL),Ie=tr(e.ground,Q,oe,Te),Ce=oe.dot(ye);if(N.doorType===bd.Arched)for(let Ee=0;Ee0&&(b(N.id,de,ye)||(ve[Ee][Ue]+=Ce*Te)))}else for(let Ee=0;Ee0&&(de.set(se.x+Ne*me,se.y+Ne*Re,se.z+Le*Z),b(N.id,de,ye)||(ve[Ee][Ue]+=Ce*Te))}}}const ze=Pe*g/60,Ae=ze>kt?d.sunshineHours[Q]/(30*ze*e.timesPerHour):0;k(ve,Ae),r(N.id,ve)},E=N=>{if(N.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;let _=!0;const J=Y[0][0].z;for(const Q of Y)for(const ee of Q)if(Math.abs(ee.z-J)>.01){_=!1;break}if(_)W(N,j,Y);else{const Q=f.getFullYear(),ee=f.getMonth(),$=f.getDate(),q=be.dayOfYear(f),le=new Qt(0,0,j.rotation[2],"ZYX");for(const[ie,pe]of Y.entries()){const ne=N.id+"-"+ie,Z=pe[0].clone().applyEuler(le),he=pe[1].clone().applyEuler(le),fe=pe[2].clone().applyEuler(le),se=new ae().subVectors(he,Z),oe=new ae().subVectors(fe,Z),de=new ae().subVectors(fe,he),ve=se.length(),Pe=new ae().crossVectors(oe,de).length()/ve,me=Math.max(2,Math.round(ve/A)),Re=Math.max(2,Math.round(Pe/A)),ze=Array(me).fill(0).map(()=>Array(Re).fill(0));se.normalize(),oe.normalize(),de.normalize();const Ae=new ae().crossVectors(oe,de).normalize(),re=se.multiplyScalar(.5*ve/me),ge=new ae().crossVectors(Ae,se).normalize().multiplyScalar(.5*Pe/Re),we=new ae(j.cx+Z.x,j.cy+Z.y,j.lz+Z.z+f0);we.add(re).add(ge),re.multiplyScalar(2),ge.multiplyScalar(2);let ye=0;const Te=new ae;for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){ye++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(Te.copy(we).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,Te,Le)||(ze[Fe][ot]+=De*qe))}}}const Ie=ye*g/60,Ce=Ie>kt?d.sunshineHours[ee]/(30*Ie*e.timesPerHour):0;k(ze,Ce),r(ne,ze)}}},L=N=>{if(N.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;let _=!0;const J=Y[0][0].z;for(const Q of Y)for(const ee of Q)if(Math.abs(ee.z-J)>.01){_=!1;break}if(_)W(N,j,Y);else{const Q=f.getFullYear(),ee=f.getMonth(),$=f.getDate(),q=be.dayOfYear(f),le=new Qt(0,0,j.rotation[2],"ZYX");for(const[ie,pe]of Y.entries()){const ne=N.id+"-"+ie;if(ie===Y.length-1){let Z=Number.MAX_VALUE,he=Number.MAX_VALUE,fe=-Number.MAX_VALUE,se=-Number.MAX_VALUE;for(const ye of pe){const Te=ye.clone().applyEuler(le);Te.x>fe&&(fe=Te.x),Te.xse&&(se=Te.y),Te.yArray(ve).fill(0)),ze=new ae(Z+A/2,he+A/2,j.lz+oe+f0);let Ae=0;const re=new ae(0,0,ze.z);for(let ye=0;ye<24;ye++)for(let Te=0;Te0){Ae++;const Ee=Rr(Ce,q,p,vr.SPHERE_MODEL),Ue=tr(e.ground,ee,Po,Ee),Ne=Po.dot(Ce);for(let Le=0;Le0&&(re.y=ze.y+qe*me,b(ne,re,Ce)||(Re[Le][qe]+=Ne*Ee))}}}const ge=Ae*g/60,we=ge>kt?d.sunshineHours[ee]/(30*ge*e.timesPerHour):0;k(Re,we),r(ne,Re)}else{const Z=pe[0].clone().applyEuler(le),he=pe[1].clone().applyEuler(le),fe=pe[2].clone().applyEuler(le),se=new ae().subVectors(he,Z),oe=new ae().subVectors(fe,Z),de=new ae().subVectors(fe,he),ve=se.length(),Pe=new ae().crossVectors(oe,de).length()/ve,me=Math.max(2,Math.round(ve/A)),Re=Math.max(2,Math.round(Pe/A)),ze=Array(me).fill(0).map(()=>Array(Re).fill(0));se.normalize(),oe.normalize(),de.normalize();const Ae=new ae().crossVectors(oe,de).normalize(),re=se.multiplyScalar(.5*ve/me),ge=new ae().crossVectors(Ae,se).normalize().multiplyScalar(.5*Pe/Re),we=new ae(j.cx+Z.x,j.cy+Z.y,j.lz+Z.z+f0);we.add(re).add(ge),re.multiplyScalar(2),ge.multiplyScalar(2);let ye=0;const Te=new ae;for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){ye++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(Te.copy(we).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,Te,Le)||(ze[Fe][ot]+=De*qe))}}}const Ie=ye*g/60,Ce=Ie>kt?d.sunshineHours[ee]/(30*Ie*e.timesPerHour):0;k(ze,Ce),r(ne,ze)}}}},U=N=>{if(N.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;let _=!0;const J=Y[0][0].z;for(const Q of Y)for(const ee of Q)if(Math.abs(ee.z-J)>.01){_=!1;break}if(_)W(N,j,Y);else{const Q=f.getFullYear(),ee=f.getMonth(),$=f.getDate(),q=be.dayOfYear(f),le=new Qt(0,0,j.rotation[2],"ZYX");for(const[ie,pe]of Y.entries()){const ne=N.id+"-"+ie,Z=pe[0].clone().applyEuler(le),he=pe[1].clone().applyEuler(le),fe=pe[2].clone().applyEuler(le),se=new ae().subVectors(he,Z),oe=new ae().subVectors(fe,Z),de=new ae().subVectors(fe,he),ve=se.length(),Pe=new ae().crossVectors(oe,de).length()/ve,me=Math.max(2,Math.round(ve/A)),Re=Math.max(2,Math.round(Pe/A)),ze=Array(me).fill(0).map(()=>Array(Re).fill(0));se.normalize(),oe.normalize(),de.normalize();const Ae=new ae().crossVectors(oe,de).normalize(),re=se.multiplyScalar(.5*ve/me),ge=new ae().crossVectors(Ae,se).normalize().multiplyScalar(.5*Pe/Re),we=new ae(j.cx+Z.x,j.cy+Z.y,j.lz+Z.z+f0);we.add(re).add(ge),re.multiplyScalar(2),ge.multiplyScalar(2);let ye=0;const Te=new ae;for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){ye++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(Te.copy(we).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,Te,Le)||(ze[Fe][ot]+=De*qe))}}}const Ie=ye*g/60,Ce=Ie>kt?d.sunshineHours[ee]/(30*Ie*e.timesPerHour):0;k(ze,Ce),r(ne,ze)}}},F=N=>{if(N.roofType!==Vo.Hip)throw new Error("roof is not hip");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;let _=!0;const J=Y[0][0].z;for(const Q of Y)for(const ee of Q)if(Math.abs(ee.z-J)>.01){_=!1;break}if(_)W(N,j,Y);else{const Q=f.getFullYear(),ee=f.getMonth(),$=f.getDate(),q=be.dayOfYear(f),le=new Qt(0,0,j.rotation[2],"ZYX");for(const[ie,pe]of Y.entries()){const ne=N.id+"-"+ie,Z=pe[0].clone().applyEuler(le),he=pe[1].clone().applyEuler(le),fe=pe[2].clone().applyEuler(le),se=new ae().subVectors(he,Z),oe=new ae().subVectors(fe,Z),de=new ae().subVectors(fe,he),ve=se.length(),Pe=new ae().crossVectors(oe,de).length()/ve,me=Math.max(2,Math.round(ve/A)),Re=Math.max(2,Math.round(Pe/A)),ze=Array(me).fill(0).map(()=>Array(Re).fill(0));se.normalize(),oe.normalize(),de.normalize();const Ae=new ae().crossVectors(oe,de).normalize(),re=se.multiplyScalar(.5*ve/me),ge=new ae().crossVectors(Ae,se).normalize().multiplyScalar(.5*Pe/Re);let we=0;const ye=new ae,Te=new ae(j.cx+Z.x,j.cy+Z.y,j.lz+Z.z+f0);if(Te.add(re).add(ge),re.multiplyScalar(2),ge.multiplyScalar(2),ie%2===0)for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){we++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(ye.copy(Te).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,ye,Le)||(ze[Fe][ot]+=De*qe))}}}else for(let Ee=0;Ee<24;Ee++)for(let Ue=0;Ue0){we++;const qe=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ee,Ae,qe),De=Ae.dot(Le);for(let Fe=0;Fe0&&(ye.copy(Te).add(_e).add(ge.clone().multiplyScalar(ot)),b(ne,ye,Le)||(ze[Fe][ot]+=De*qe))}}}const Ie=we*g/60,Ce=Ie>kt?d.sunshineHours[ee]/(30*Ie*e.timesPerHour):0;k(ze,Ce),r(ne,ze)}}},W=(N,j,Y)=>{const _=f.getFullYear(),J=f.getMonth(),Q=f.getDate(),ee=be.dayOfYear(f),$=new Qt(0,0,j.rotation[2],"ZYX"),q=Y[0][0].z;let le=Number.MAX_VALUE,ie=Number.MAX_VALUE,pe=-Number.MAX_VALUE,ne=-Number.MAX_VALUE;for(const ze of Y)for(const Ae of ze){const re=Ae.clone().applyEuler($);re.x>pe&&(pe=re.x),re.xne&&(ne=re.y),re.yArray(he).fill(0)),de=new ae(le+A/2,ie+A/2,j.lz+q+f0);let ve=0;const Pe=new ae(0,0,de.z);for(let ze=0;ze<24;ze++)for(let Ae=0;Ae0){ve++;const we=Rr(ge,ee,p,vr.SPHERE_MODEL),ye=tr(e.ground,J,Po,we),Te=Po.dot(ge);for(let Ie=0;Ie0&&(Pe.y=de.y+Ce*se,b(N.id,Pe,ge)||(oe[Ie][Ce]+=Te*we))}}}const me=ve*g/60,Re=me>kt?d.sunshineHours[J]/(30*me*e.timesPerHour):0;k(oe,Re),r(N.id,oe)},B=N=>{if(N.roofType!==Vo.Gable)throw new Error("roof is not gable");const j=i(N);if(!j)throw new Error("foundation of wall not found");const Y=s(N.id);if(!Y||Y.length===0)return;const _=f.getFullYear(),J=f.getMonth(),Q=f.getDate(),ee=be.dayOfYear(f),$=new Qt(0,0,j.rotation[2],"ZYX");for(const[q,le]of Y.entries()){const ie=N.id+"-"+q,pe=le[0].clone().applyEuler($),ne=le[1].clone().applyEuler($),Z=le[2].clone().applyEuler($),he=new ae().subVectors(ne,pe),fe=new ae().subVectors(Z,pe),se=new ae().subVectors(Z,ne),oe=he.length(),de=new ae().crossVectors(fe,se).length()/oe,ve=Math.max(2,Math.round(oe/A)),Pe=Math.max(2,Math.round(de/A)),me=Array(ve).fill(0).map(()=>Array(Pe).fill(0));he.normalize(),fe.normalize(),se.normalize();const Re=new ae().crossVectors(fe,se).normalize(),ze=he.multiplyScalar(.5*oe/ve),Ae=new ae().crossVectors(Re,he).normalize().multiplyScalar(.5*de/Pe),re=new ae(j.cx+pe.x,j.cy+pe.y,j.lz+pe.z+f0);re.add(ze).add(Ae),ze.multiplyScalar(2),Ae.multiplyScalar(2);let ge=0;const we=new ae;for(let Ie=0;Ie<24;Ie++)for(let Ce=0;Ce0){ge++;const Ne=Rr(Ue,ee,p,vr.SPHERE_MODEL),Le=tr(e.ground,J,Re,Ne),qe=Re.dot(Ue);for(let We=0;We0&&(we.copy(re).add(De).add(Ae.clone().multiplyScalar(Fe)),b(ie,we,Ue)||(me[We][Fe]+=qe*Ne))}}}const ye=ge*g/60,Te=ye>kt?d.sunshineHours[J]/(30*ye*e.timesPerHour):0;k(me,Te),r(ie,me)}},k=(N,j)=>{for(let Y=0;Y{const e=M(dn),n=gt(Ah),o=M.getState().world,i=M.getState().elements,r=M(rr),a=M(cA),l=bn(J1e),s=bn(UBe),c=gt(ZL),u=gt(lwt),d=M(U1e),f=bn(q1e),{scene:p}=Xi(),g=Kt(),y=a1(t),A=new Date(o.date),x=t?y==null?void 0:y.elevation:0,C=60/o.timesPerHour,b=m.useMemo(()=>new Gs,[]),v=o.solarRadiationHeatmapGridCellSize??.5,S=m.useRef([]),w=m.useRef([]),T=m.useRef(0),P=m.useRef(!1),R=m.useRef(new Date(o.date)),H=m.useRef(new Map),D=m.useRef(!1),E=m.useRef(new Date(o.date)),L=m.useMemo(()=>sl(A,o.latitude),[o.date,o.latitude]);m.useEffect(()=>{if(c)return U(),T.current=requestAnimationFrame(B),()=>{cancelAnimationFrame(T.current),P.current||(fn(O.t("message.SimulationAborted",g)),e(oe=>{oe.world.date=R.current.toLocaleString("en-US")}),n("simulationInProgress",!1))}},[c]),m.useEffect(()=>{D.current=u,u?(E.current=new Date(A.getTime()),cancelAnimationFrame(T.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",g))):(n("simulationPaused",!1),B())},[u]);const U=()=>{n("simulationInProgress",!0),A.setHours(Math.floor(L.sunrise/60),L.sunrise%60),R.current=new Date(o.date),P.current=!1,N();for(const oe of i)switch(oe.type){case z.Wall:case z.Door:case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:{H.current.delete(oe.id);break}case z.Cuboid:{H.current.delete(oe.id+"-top"),H.current.delete(oe.id+"-north"),H.current.delete(oe.id+"-south"),H.current.delete(oe.id+"-west"),H.current.delete(oe.id+"-east");break}case z.Roof:{const de=oe,ve=f(de.id);if(ve){const Pe=ve.length;for(let me=0;me{s();const oe=L.daylight()/60,de=oe>kt?y.sunshineHours[A.getMonth()]/(30*oe*o.timesPerHour):0;for(const ve of i){switch(ve.type){case z.Foundation:case z.Wall:case z.Door:case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:{const Pe=H.current.get(ve.id);if(Pe){for(let me=0;me[...me]))}break}case z.Cuboid:{W(ve.id,"top",de),W(ve.id,"south",de),W(ve.id,"north",de),W(ve.id,"west",de),W(ve.id,"east",de);break}case z.Roof:{const Pe=ve,me=f(Pe.id);if(me&&me.length>0){if(Pe.roofType===Vo.Pyramid||Pe.roofType===Vo.Mansard||Pe.roofType===Vo.Gambrel||Pe.roofType===Vo.Hip){let Re=!0;const ze=me[0][0].z;for(const Ae of me)for(const re of Ae)if(Math.abs(re.z-ze)>.01){Re=!1;break}if(Re){const Ae=H.current.get(Pe.id);if(Ae){for(let re=0;re[...re]))}break}}for(let Re=0;Re[...re]))}}}break}}if(ve.type===z.Foundation){const Pe=ve;if(Pe.solarStructure===zn.UpdraftTower&&Pe.solarUpdraftTower){const me=ve.id+"-sut",Re=H.current.get(me);if(Re){for(let ze=0;ze[...ze]))}}}}},W=(oe,de,ve)=>{const Pe=H.current.get(oe+"-"+de);if(Pe){for(let me=0;me{if(c&&!D.current){if(A.getMinutes()+A.getHours()*60>=L.sunset){cancelAnimationFrame(T.current),gt.getState().set(de=>{de.runDynamicSimulation=!1}),e(de=>{de.world.date=R.current.toLocaleString("en-US")}),fn(O.t("message.SimulationCompleted",g)),P.current=!0,F(),setTimeout(()=>{n("simulationInProgress",!1),n("showSolarRadiationHeatmap",!0)},10);return}if(A.setHours(A.getHours(),A.getMinutes()+C),e(de=>{de.world.date=A.toLocaleString("en-US")}),d)for(const de of i)switch(de.type){case z.FresnelReflector:he(de);break;case z.Heliostat:fe(de);break}else for(const de of i)switch(de.type){case z.Foundation:{const ve=de;Y(ve),ve.solarStructure===zn.UpdraftTower&&se(ve);break}case z.Cuboid:{j(de);break}case z.SolarPanel:{pe(de);break}case z.ParabolicTrough:{ne(de);break}case z.ParabolicDish:{Z(de);break}case z.FresnelReflector:{he(de);break}case z.Heliostat:{fe(de);break}case z.Wall:{_(de);break}case z.Door:{J(de);break}case z.Roof:{const ve=de;switch(ve.roofType){case Vo.Pyramid:ee(ve);break;case Vo.Gable:ie(ve);break;case Vo.Gambrel:q(ve);break;case Vo.Mansard:$(ve);break;case Vo.Hip:le(ve);break}break}}T.current=requestAnimationFrame(B)}},k=(oe,de,ve)=>{if(S.current.length>1){w.current.length=0,b.set(de,ve);const Pe=S.current.filter(me=>me.uuid!==oe);return b.intersectObjects(Pe,!1,w.current),w.current.length>0}return!1},N=()=>{const oe=p.children.filter(de=>de.name==="Content");if(oe.length>0){const de=oe[0].children;S.current.length=0;for(const ve of de)be.fetchSimulationElements(ve,S.current)}},j=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=be.dayOfYear(A),Pe=oe.lx,me=oe.ly,Re=oe.lz,ze=Math.max(2,Math.round(Pe/v)),Ae=Math.max(2,Math.round(me/v)),re=Math.max(2,Math.round(Re/v)),ge=Pe/ze,we=me/Ae,ye=Re/re;let Te=H.current.get(oe.id+"-top");(!Te||Te.length!==ze||Te[0].length!==Ae)&&(Te=Array(ze).fill(0).map(()=>Array(Ae).fill(0)),H.current.set(oe.id+"-top",Te));let Ie=H.current.get(oe.id+"-south");(!Ie||Ie.length!==ze||Ie[0].length!==re)&&(Ie=Array(ze).fill(0).map(()=>Array(re).fill(0)),H.current.set(oe.id+"-south",Ie));let Ce=H.current.get(oe.id+"-north");(!Ce||Ce.length!==ze||Ce[0].length!==re)&&(Ce=Array(ze).fill(0).map(()=>Array(re).fill(0)),H.current.set(oe.id+"-north",Ce));let Ee=H.current.get(oe.id+"-west");(!Ee||Ee.length!==Ae||Ee[0].length!==re)&&(Ee=Array(Ae).fill(0).map(()=>Array(re).fill(0)),H.current.set(oe.id+"-west",Ee));let Ue=H.current.get(oe.id+"-east");(!Ue||Ue.length!==Ae||Ue[0].length!==re)&&(Ue=Array(Ae).fill(0).map(()=>Array(re).fill(0)),H.current.set(oe.id+"-east",Ue));const Ne=Po,Le=Bp.clone().applyAxisAngle(Po,oe.rotation[2]),qe=Yc.clone().applyAxisAngle(Po,oe.rotation[2]),We=Up.clone().applyAxisAngle(Po,oe.rotation[2]),De=Np.clone().applyAxisAngle(Po,oe.rotation[2]),Fe=r(oe);let _e=oe.cx,ot=oe.cy,Ye=oe.cz;if(Fe&&Fe.type===z.Cuboid){const tt=be.getWorldDataById(oe.id);_e=tt.pos.x,ot=tt.pos.y,Ye=tt.pos.z}const St=new ae,dt=new Gt(_e,ot),je=new Gt,at=ot-me/2,ut=ot+me/2,wt=_e-Pe/2,rt=_e+Pe/2,Qe=Rr(de,ve,x,vr.SPHERE_MODEL);let Oe=tr(o.ground,A.getMonth(),Ne,Qe),et=Ne.dot(de),vt=_e-Pe/2,ct=ot-me/2;const lt=Ye+Re/2;for(let tt=0;tt0&&(je.set(vt+(tt+.5)*ge,ct+(it+.5)*we),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,lt),k(oe.id,St,de)||(Te[tt][it]+=et*Qe));vt=_e-Pe/2,ct=Ye-Re/2,Oe=tr(o.ground,A.getMonth(),Le,Qe),et=Le.dot(de);for(let tt=0;tt0&&(je.set(vt+(tt+.5)*ge,at),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,ct+(it+.5)*ye),k(oe.id,St,de)||(Ie[tt][it]+=et*Qe));Oe=tr(o.ground,A.getMonth(),qe,Qe),et=qe.dot(de);for(let tt=0;tt0&&(je.set(vt+(tt+.5)*ge,ut),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,ct+(re-(it+.5))*ye),k(oe.id,St,de)||(Ce[tt][it]+=et*Qe));vt=ot-me/2,ct=Ye-Re/2,Oe=tr(o.ground,A.getMonth(),We,Qe),et=We.dot(de);for(let tt=0;tt0&&(je.set(wt,vt+(tt+.5)*we),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,ct+(it+.5)*ye),k(oe.id,St,de)||(Ee[tt][it]+=et*Qe));Oe=tr(o.ground,A.getMonth(),De,Qe),et=De.dot(de);for(let tt=0;tt0&&(je.set(rt,vt+(tt+.5)*we),je.rotateAround(dt,oe.rotation[2]),St.set(je.x,je.y,ct+(it+.5)*ye),k(oe.id,St,de)||(Ue[tt][it]+=et*Qe))},Y=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=be.dayOfYear(A),Pe=oe.lx,me=oe.ly,Re=oe.lz,ze=Math.max(2,Math.round(Pe/v)),Ae=Math.max(2,Math.round(me/v)),re=Pe/ze,ge=me/Ae,we=oe.cx-Pe/2,ye=oe.cy-me/2,Te=new Gt(oe.cx,oe.cy),Ie=new ae;let Ce=H.current.get(oe.id);(!Ce||Ce.length!==ze||Ce[0].length!==Ae)&&(Ce=Array(ze).fill(0).map(()=>Array(Ae).fill(0)),H.current.set(oe.id,Ce));const Ee=Rr(de,ve,x,vr.SPHERE_MODEL),Ue=tr(o.ground,A.getMonth(),Po,Ee),Ne=Po.dot(de),Le=new Gt;for(let qe=0;qe0&&(Le.set(we+(qe+.5)*re,ye+(We+.5)*ge),Le.rotateAround(Te,oe.rotation[2]),Ie.set(Le.x,Le.y,Re),k(oe.id,Ie,de)||(Ce[qe][We]+=Ne*Ee))},_=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=be.dayOfYear(A),me=oe.lx,Re=be.getHighestPointOfWall(oe),ze=Math.max(2,Math.round(me/v)),Ae=Math.max(2,Math.round(Re/v)),re=me/ze,ge=Re/Ae,we=ve.rotation[2]+oe.relativeAngle,ye=be.wallAbsolutePosition(new ae(oe.cx,oe.cy,oe.cz),ve).setZ(Re/2+ve.lz),Te=new ae(Math.cos(we-Vt),Math.sin(we-Vt),0),Ie=re*Math.cos(we),Ce=re*Math.sin(we),Ee=new ae;let Ue=H.current.get(oe.id);(!Ue||Ue.length!==ze||Ue[0].length!==Ae)&&(Ue=Array(ze).fill(0).map(()=>Array(Ae).fill(0)),H.current.set(oe.id,Ue));const Ne=be.getWallVertices(oe,1),Le=(Re-oe.lz)/2,qe=Rr(de,Pe,x,vr.SPHERE_MODEL),We=tr(o.ground,A.getMonth(),Te,qe),De=Te.dot(de);for(let Fe=0;Fe0&&(Ee.set(ye.x+ot*Ie,ye.y+ot*Ce,ye.z+Ye*ge),k(oe.id,Ee,de)||(Ue[Fe][_e]+=De*qe)))}},J=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of door not found");const Pe=r(oe);if(!Pe)throw new Error("parent of door not found");const me=be.dayOfYear(A),Re=Pe,ze=oe.lx*Re.lx,Ae=oe.lz*Re.lz,re=Math.max(2,Math.round(ze/v)),ge=Math.max(2,Math.round(Ae/v)),we=ze/re,ye=Ae/ge,Te=ve.rotation[2]+Re.relativeAngle,Ce=be.wallAbsolutePosition(new ae(Re.cx,Re.cy,Re.cz),ve).setZ(Re.lz/2+ve.lz).clone().add(new ae(oe.cx*Re.lx,0,oe.cz*Re.lz)),Ee=new ae(Math.cos(Te-Vt),Math.sin(Te-Vt),0),Ue=we*Math.cos(Te),Ne=we*Math.sin(Te),Le=new ae;let qe=H.current.get(oe.id);(!qe||qe.length!==re||qe[0].length!==ge)&&(qe=Array(re).fill(0).map(()=>Array(ge).fill(0)),H.current.set(oe.id,qe));const We=Rr(de,me,x,vr.SPHERE_MODEL),De=tr(o.ground,A.getMonth(),Ee,We),Fe=Ee.dot(de);if(oe.doorType===bd.Arched)for(let _e=0;_e0&&(k(oe.id,Le,de)||(qe[_e][ot]+=Fe*We)))}else for(let _e=0;_e0){const Ye=_e-re/2+.5,St=ot-ge/2+.5;Le.set(Ce.x+Ye*Ue,Ce.y+Ye*Ne,Ce.z+St*ye),k(oe.id,Le,de)||(qe[_e][ot]+=Fe*We)}},Q=(oe,de,ve,Pe)=>{const me=Pe[0][0].z,Re=be.dayOfYear(A),ze=Rr(oe,Re,x,vr.SPHERE_MODEL),Ae=new Qt(0,0,ve.rotation[2],"ZYX");let re=Number.MAX_VALUE,ge=Number.MAX_VALUE,we=-Number.MAX_VALUE,ye=-Number.MAX_VALUE;for(const De of Pe)for(const Fe of De){const _e=Fe.clone().applyEuler(Ae);_e.x>we&&(we=_e.x),_e.xye&&(ye=_e.y),_e.yArray(Ie).fill(0)),H.current.set(de.id,Ue));const Ne=new ae(re+v/2,ge+v/2,ve.lz+me+f0),Le=new ae(0,0,Ne.z),qe=tr(o.ground,A.getMonth(),Po,ze),We=Po.dot(oe);for(let De=0;De0&&(Le.y=Ne.y+Fe*Ee,k(de.id,Le,oe)||(Ue[De][Fe]+=We*ze))}},ee=oe=>{if(oe.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;let me=!0;const Re=Pe[0][0].z;for(const ze of Pe)for(const Ae of ze)if(Math.abs(Ae.z-Re)>.01){me=!1;break}if(me)Q(de,oe,ve,Pe);else{const ze=be.dayOfYear(A),Ae=new Qt(0,0,ve.rotation[2],"ZYX"),re=Rr(de,ze,x,vr.SPHERE_MODEL);for(const[ge,we]of Pe.entries()){const ye=oe.id+"-"+ge,Te=we[0].clone().applyEuler(Ae),Ie=we[1].clone().applyEuler(Ae),Ce=we[2].clone().applyEuler(Ae),Ee=new ae().subVectors(Ie,Te),Ue=new ae().subVectors(Ce,Te),Ne=new ae().subVectors(Ce,Ie),Le=Ee.length(),qe=new ae().crossVectors(Ue,Ne).length()/Le,We=Math.max(2,Math.round(Le/v)),De=Math.max(2,Math.round(qe/v));let Fe=H.current.get(ye);(!Fe||Fe.length!==We||Fe[0].length!==De)&&(Fe=Array(We).fill(0).map(()=>Array(De).fill(0)),H.current.set(ye,Fe)),Ee.normalize(),Ue.normalize(),Ne.normalize();const _e=new ae().crossVectors(Ue,Ne).normalize(),ot=Ee.multiplyScalar(.5*Le/We),Ye=new ae().crossVectors(_e,Ee).normalize().multiplyScalar(.5*qe/De),St=new ae(ve.cx+Te.x,ve.cy+Te.y,ve.lz+Te.z+f0);St.add(ot).add(Ye),ot.multiplyScalar(2),Ye.multiplyScalar(2);const dt=new ae,je=tr(o.ground,A.getMonth(),_e,re),at=_e.dot(de);for(let ut=0;ut0&&(dt.copy(St).add(wt).add(Ye.clone().multiplyScalar(rt)),k(ye,dt,de)||(Fe[ut][rt]+=at*re))}}}},$=oe=>{if(oe.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;let me=!0;const Re=Pe[0][0].z;for(const ze of Pe)for(const Ae of ze)if(Math.abs(Ae.z-Re)>.01){me=!1;break}if(me)Q(de,oe,ve,Pe);else{const ze=be.dayOfYear(A),Ae=new Qt(0,0,ve.rotation[2],"ZYX"),re=Rr(de,ze,x,vr.SPHERE_MODEL);for(const[ge,we]of Pe.entries()){const ye=oe.id+"-"+ge;if(ge===Pe.length-1){let Te=Number.MAX_VALUE,Ie=Number.MAX_VALUE,Ce=-Number.MAX_VALUE,Ee=-Number.MAX_VALUE;for(const St of we){const dt=St.clone().applyEuler(Ae);dt.x>Ce&&(Ce=dt.x),dt.xEe&&(Ee=dt.y),dt.yArray(Le).fill(0)),H.current.set(ye,De));const Fe=new ae(Te+v/2,Ie+v/2,ve.lz+Ue+f0),_e=new ae(0,0,Fe.z),ot=tr(o.ground,A.getMonth(),Po,re),Ye=Po.dot(de);for(let St=0;St0&&(_e.y=Fe.y+dt*We,k(ye,_e,de)||(De[St][dt]+=Ye*re))}}else{const Te=we[0].clone().applyEuler(Ae),Ie=we[1].clone().applyEuler(Ae),Ce=we[2].clone().applyEuler(Ae),Ee=new ae().subVectors(Ie,Te),Ue=new ae().subVectors(Ce,Te),Ne=new ae().subVectors(Ce,Ie),Le=Ee.length(),qe=new ae().crossVectors(Ue,Ne).length()/Le,We=Math.max(2,Math.round(Le/v)),De=Math.max(2,Math.round(qe/v));let Fe=H.current.get(ye);(!Fe||Fe.length!==We||Fe[0].length!==De)&&(Fe=Array(We).fill(0).map(()=>Array(De).fill(0)),H.current.set(ye,Fe)),Ee.normalize(),Ue.normalize(),Ne.normalize();const _e=new ae().crossVectors(Ue,Ne).normalize(),ot=Ee.multiplyScalar(.5*Le/We),Ye=new ae().crossVectors(_e,Ee).normalize().multiplyScalar(.5*qe/De),St=new ae(ve.cx+Te.x,ve.cy+Te.y,ve.lz+Te.z+f0);St.add(ot).add(Ye),ot.multiplyScalar(2),Ye.multiplyScalar(2);const dt=new ae,je=tr(o.ground,A.getMonth(),_e,re),at=_e.dot(de);for(let ut=0;ut0&&(dt.copy(St).add(wt).add(Ye.clone().multiplyScalar(rt)),k(ye,dt,de)||(Fe[ut][rt]+=at*re))}}}}},q=oe=>{if(oe.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;let me=!0;const Re=Pe[0][0].z;for(const ze of Pe)for(const Ae of ze)if(Math.abs(Ae.z-Re)>.01){me=!1;break}if(me)Q(de,oe,ve,Pe);else{const ze=be.dayOfYear(A),Ae=new Qt(0,0,ve.rotation[2],"ZYX"),re=Rr(de,ze,x,vr.SPHERE_MODEL);for(const[ge,we]of Pe.entries()){const ye=oe.id+"-"+ge,Te=we[0].clone().applyEuler(Ae),Ie=we[1].clone().applyEuler(Ae),Ce=we[2].clone().applyEuler(Ae),Ee=new ae().subVectors(Ie,Te),Ue=new ae().subVectors(Ce,Te),Ne=new ae().subVectors(Ce,Ie),Le=Ee.length(),qe=new ae().crossVectors(Ue,Ne).length()/Le,We=Math.max(2,Math.round(Le/v)),De=Math.max(2,Math.round(qe/v));let Fe=H.current.get(ye);(!Fe||Fe.length!==We||Fe[0].length!==De)&&(Fe=Array(We).fill(0).map(()=>Array(De).fill(0)),H.current.set(ye,Fe)),Ee.normalize(),Ue.normalize(),Ne.normalize();const _e=new ae().crossVectors(Ue,Ne).normalize(),ot=Ee.multiplyScalar(.5*Le/We),Ye=new ae().crossVectors(_e,Ee).normalize().multiplyScalar(.5*qe/De),St=new ae(ve.cx+Te.x,ve.cy+Te.y,ve.lz+Te.z+f0);St.add(ot).add(Ye),ot.multiplyScalar(2),Ye.multiplyScalar(2);const dt=new ae,je=tr(o.ground,A.getMonth(),_e,re),at=_e.dot(de);for(let ut=0;ut0&&(dt.copy(St).add(wt).add(Ye.clone().multiplyScalar(rt)),k(ye,dt,de)||(Fe[ut][rt]+=at*re))}}}},le=oe=>{if(oe.roofType!==Vo.Hip)throw new Error("roof is not hip");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;let me=!0;const Re=Pe[0][0].z;for(const ze of Pe)for(const Ae of ze)if(Math.abs(Ae.z-Re)>.01){me=!1;break}if(me)Q(de,oe,ve,Pe);else{const ze=be.dayOfYear(A),Ae=new Qt(0,0,ve.rotation[2],"ZYX"),re=Rr(de,ze,x,vr.SPHERE_MODEL);for(const[ge,we]of Pe.entries()){const ye=oe.id+"-"+ge,Te=we[0].clone().applyEuler(Ae),Ie=we[1].clone().applyEuler(Ae),Ce=we[2].clone().applyEuler(Ae),Ee=new ae().subVectors(Ie,Te),Ue=new ae().subVectors(Ce,Te),Ne=new ae().subVectors(Ce,Ie),Le=Ee.length(),qe=new ae().crossVectors(Ue,Ne).length()/Le,We=Math.max(2,Math.round(Le/v)),De=Math.max(2,Math.round(qe/v));let Fe=H.current.get(ye);(!Fe||Fe.length!==We||Fe[0].length!==De)&&(Fe=Array(We).fill(0).map(()=>Array(De).fill(0)),H.current.set(ye,Fe)),Ee.normalize(),Ue.normalize(),Ne.normalize();const _e=new ae().crossVectors(Ue,Ne).normalize(),ot=Ee.multiplyScalar(.5*Le/We),Ye=new ae().crossVectors(_e,Ee).normalize().multiplyScalar(.5*qe/De),St=new ae,dt=new ae(ve.cx+Te.x,ve.cy+Te.y,ve.lz+Te.z+f0);dt.add(ot).add(Ye),ot.multiplyScalar(2),Ye.multiplyScalar(2);const je=tr(o.ground,A.getMonth(),_e,re),at=_e.dot(de);for(let ut=0;ut0&&(St.copy(dt).add(wt).add(Ye.clone().multiplyScalar(rt)),k(ye,St,de)||(Fe[ut][rt]+=at*re))}}}},ie=oe=>{if(oe.roofType!==Vo.Gable)throw new Error("roof is not gable");const de=zr(A,o.latitude);if(de.z<=0)return;const ve=a(oe);if(!ve)throw new Error("foundation of wall not found");const Pe=f(oe.id);if(!Pe||Pe.length===0)return;const me=be.dayOfYear(A),Re=new Qt(0,0,ve.rotation[2],"ZYX"),ze=Rr(de,me,x,vr.SPHERE_MODEL);for(const[Ae,re]of Pe.entries()){const ge=oe.id+"-"+Ae,we=re[0].clone().applyEuler(Re),ye=re[1].clone().applyEuler(Re),Te=re[2].clone().applyEuler(Re),Ie=new ae().subVectors(ye,we),Ce=new ae().subVectors(Te,we),Ee=new ae().subVectors(Te,ye),Ue=Ie.length(),Ne=new ae().crossVectors(Ce,Ee).length()/Ue,Le=Math.max(2,Math.round(Ue/v)),qe=Math.max(2,Math.round(Ne/v));let We=H.current.get(ge);(!We||We.length!==Le||We[0].length!==qe)&&(We=Array(Le).fill(0).map(()=>Array(qe).fill(0)),H.current.set(ge,We)),Ie.normalize(),Ce.normalize(),Ee.normalize();const De=new ae().crossVectors(Ce,Ee).normalize(),Fe=Ie.multiplyScalar(.5*Ue/Le),_e=new ae().crossVectors(De,Ie).normalize().multiplyScalar(.5*Ne/qe),ot=new ae(ve.cx+we.x,ve.cy+we.y,ve.lz+we.z+f0);ot.add(Fe).add(_e),Fe.multiplyScalar(2),_e.multiplyScalar(2);const Ye=new ae,St=tr(o.ground,A.getMonth(),De,ze),dt=De.dot(de);for(let je=0;je0&&(Ye.copy(ot).add(at).add(_e.clone().multiplyScalar(ut)),k(ge,Ye,de)||(We[je][ut]+=dt*ze))}}},pe=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;let ve=r(oe);if(!ve)throw new Error("parent of solar panel does not exist");const Pe=oe.parentType===z.Roof,me=oe.parentType===z.Wall;if(Pe&&(ve=a(ve),!ve))throw new Error("foundation of solar panel does not exist");const Re=be.dayOfYear(A),ze=me?be.absoluteCoordinates(oe.cx,oe.cy,oe.cz,ve,a(oe),oe.lz):be.absoluteCoordinates(oe.cx,oe.cy,oe.cz,ve),Ae=ve.rotation[2];let re=Ae+oe.relativeAzimuth,ge=oe.tiltAngle,we=!0;if(Pe&&(ze.z=oe.cz+oe.lz+.02+ve.cz+ve.lz/2,be.isZero(oe.rotation[0])?ze.z+=oe.poleHeight:(ge=oe.rotation[0],re=Ae,we=!1)),me&&!be.isZero(oe.tiltAngle)){const ut=ve,wt=a(ve),Qe=(wt?wt.rotation[2]+ut.relativeAngle:ut.relativeAngle)-Vt,Oe=oe.ly*Math.abs(Math.sin(oe.tiltAngle))/2;ze.x+=Oe*Math.cos(Qe),ze.y+=Oe*Math.sin(Qe)}const ye=new ae().fromArray(oe.normal),Te=oe.lx,Ie=oe.ly,Ce=Math.max(2,Math.round(oe.lx/v)),Ee=Math.max(2,Math.round(oe.ly/v)),Ue=Te/Ce,Ne=Ie/Ee,Le=ze.x-(Te-v)/2,qe=ze.y-(Ie-v)/2,We=Pe||me?ze.z:ve.lz+oe.poleHeight+oe.lz,De=new Gt(ze.x,ze.y),Fe=new ae;let _e=H.current.get(oe.id);(!_e||_e.length!==Ce||_e[0].length!==Ee)&&(_e=Array(Ce).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(oe.id,_e));let ot=new Qt(Pe&&!we?0:ge,0,re,"ZYX");if(oe.trackerType!==Ma.NO_TRACKER){const ut=Ae?de.clone().applyAxisAngle(Po,-Ae):de.clone();switch(oe.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const wt=new Ts().setFromUnitVectors(Po,ut);ot=new Qt().setFromQuaternion(wt),ot.z+=re;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const wt=new Ts().setFromUnitVectors(Po,new ae(ut.x,0,ut.z).normalize());ot=new Qt().setFromQuaternion(wt),ot.z+=re;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{if(Math.abs(oe.tiltAngle)>.001){const wt=new ae(ut.x,-ut.y,0).normalize(),rt=Math.acos(Yc.dot(wt))*Math.sign(wt.x);ot=new Qt(oe.tiltAngle,0,rt+Ae,"ZYX")}break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}ye.applyEuler(ot),Pe&&!we&&(ot.x=oe.rotation[0],ot.z=oe.rotation[2]+Ae),me&&(ot.x=Vt+oe.tiltAngle,ot.z=ve.relativeAngle+Ae);const Ye=Rr(de,Re,x,vr.SPHERE_MODEL),St=tr(o.ground,A.getMonth(),ye,Ye),dt=ye.dot(de),je=new Gt,at=new ae;for(let ut=0;ut0&&(je.set(Le+ut*Ue,qe+wt*Ne),at.set(je.x-De.x,je.y-De.y,0),at.applyEuler(ot),Fe.set(ze.x+at.x,ze.y+at.y,We+at.z),k(oe.id,Fe,de)||(_e[ut][wt]+=dt*Ye))},ne=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=r(oe);if(!ve)throw new Error("parent of parabolic trough does not exist");const Pe=be.dayOfYear(A),me=be.absoluteCoordinates(oe.cx,oe.cy,oe.cz,ve),Re=new ae().fromArray(oe.normal),ze=Re.clone(),Ae=oe.lx,re=oe.ly,ge=Ae*Ae/(4*oe.latusRectum),we=oe.poleHeight+Ae/2,ye=Math.max(2,Math.round(oe.lx/v)),Te=Math.max(2,Math.round(oe.ly/v)),Ie=Ae/ye,Ce=re/Te,Ee=me.x-(Ae-v)/2,Ue=me.y-(re-v)/2,Ne=ve.lz+we+oe.lz+ge,Le=new Gt(me.x,me.y),qe=new ae;let We=H.current.get(oe.id);(!We||We.length!==ye||We[0].length!==Te)&&(We=Array(ye).fill(0).map(()=>Array(Te).fill(0)),H.current.set(oe.id,We));const De=ve.rotation[2],Fe=De+oe.relativeAzimuth,_e=be.isZero(Fe),ot=_e?1:Math.cos(Fe),Ye=_e?0:Math.sin(Fe),St=De?de.clone().applyAxisAngle(Po,-De):de.clone(),dt=new Ts().setFromUnitVectors(Po,new ae(St.x*ot,St.x*Ye,St.z).normalize()),je=new Qt().setFromQuaternion(dt);Re.copy(ze.clone().applyEuler(je));const at=Rr(de,Pe,x,vr.SPHERE_MODEL),ut=tr(o.ground,A.getMonth(),Re,at),wt=Re.dot(de),rt=new Gt,Qe=new ae;let Oe=0,et=0,vt=1;const ct=4/(oe.latusRectum*oe.latusRectum);for(let lt=0;lt0&&(rt.set(Oe,Ue+tt*Ce),_e||rt.rotateAround(Le,Fe),Qe.set(rt.x-Le.x,rt.y-Le.y,0),Qe.applyEuler(je),qe.set(me.x+Qe.x,me.y+Qe.y,Ne+Qe.z),k(oe.id,qe,de)||(We[lt][tt]+=wt*at*vt))}},Z=oe=>{const de=zr(A,o.latitude);if(de.z<=0)return;const ve=r(oe);if(!ve)throw new Error("parent of parabolic dish does not exist");const Pe=be.dayOfYear(A),me=be.absoluteCoordinates(oe.cx,oe.cy,oe.cz,ve),Re=new ae().fromArray(oe.normal),ze=Re.clone(),Ae=oe.lx,re=oe.ly,ge=Ae*Ae/(4*oe.latusRectum),we=oe.poleHeight+Ae/2,ye=Math.max(2,Math.round(oe.lx/v)),Te=Math.max(2,Math.round(oe.ly/v)),Ie=Ae/ye,Ce=re/Te,Ee=me.x-(Ae-v)/2,Ue=me.y-(re-v)/2,Ne=ve.lz+we+oe.lz+ge,Le=new Gt(me.x,me.y),qe=new ae;let We=H.current.get(oe.id);(!We||We.length!==ye||We[0].length!==Te)&&(We=Array(ye).fill(0).map(()=>Array(Te).fill(0)),H.current.set(oe.id,We));const De=ve.rotation[2],Fe=De+oe.relativeAzimuth,_e=be.isZero(Fe),ot=De?de.clone().applyAxisAngle(Po,-De):de.clone(),Ye=new Ts().setFromUnitVectors(Po,ot),St=new Qt().setFromQuaternion(Ye);Re.copy(ze.clone().applyEuler(St));const dt=Rr(de,Pe,x,vr.SPHERE_MODEL),je=tr(o.ground,A.getMonth(),Re,dt),at=Re.dot(de),ut=new Gt,wt=new ae;let rt=0,Qe=0,Oe=0,et=0,vt=1;const ct=4/(oe.latusRectum*oe.latusRectum);for(let lt=0;ltAe/2))for(let tt=0;ttre/2)&&(We[lt][tt]+=je,at>0&&(ut.set(rt,Qe),_e||ut.rotateAround(Le,Fe),wt.set(ut.x-Le.x,ut.y-Le.y,0),wt.applyEuler(St),qe.set(me.x+wt.x,me.y+wt.y,Ne+wt.z),k(oe.id,qe,de)||(vt=1/Math.sqrt(1+(Oe*Oe+et*et)*ct),We[lt][tt]+=at*dt*vt)))},he=oe=>{const de=zr(A,o.latitude);if(de.zArray(Ie).fill(0)),H.current.set(oe.id,De));const _e=ve.rotation[2]+oe.relativeAzimuth,ot=be.isZero(_e),Ye=ot?1:Math.cos(_e),St=ot?0:Math.sin(_e),dt=Pe.solarStructure===zn.FocusPipe?new ae((Pe.cx-ze.x)*Ye,(Pe.cy-ze.y)*St,Pe.cz-ze.z+Pe.lz/2+(me.absorberHeight??10)):void 0,je=new ae(St,Ye,0),at=new ae;let ut,wt;if(dt){at.set(dt.x,dt.y,dt.z);const lt=-dt.z*(de.y*je.y+de.x*je.x)/de.z;at.x+=lt*je.x,at.y-=lt*je.y,wt=at.clone().normalize();let tt=wt.add(de).normalize();be.isSame(tt,Po)&&(tt=new ae(-.001,0,1).normalize()),ot||tt.applyAxisAngle(Po,-_e),ut=new Qt(0,Math.atan2(tt.x,tt.z),_e,"ZXY"),Ae.copy(re.clone().applyEuler(ut))}else wt=new ae(0,0,1),ut=new Qt;const rt=Rr(de,Re,x,vr.SPHERE_MODEL),Qe=tr(o.ground,A.getMonth(),Ae,rt),Oe=Ae.dot(de),et=new Gt,vt=new ae;let ct=0;if(d)for(let lt=0;lt0&&(et.set(ct,Ne+tt*Ee),vt.set(et.x-qe.x,et.y-qe.y,0),vt.applyEuler(ut),We.set(ze.x+vt.x,ze.y+vt.y,Le+vt.z),!k(oe.id,We,de)&&!k(oe.id,We,wt)&&(De[lt][tt]+=Oe*rt))}else for(let lt=0;lt0&&(et.set(ct,Ne+tt*Ee),vt.set(et.x-qe.x,et.y-qe.y,0),vt.applyEuler(ut),We.set(ze.x+vt.x,ze.y+vt.y,Le+vt.z),k(oe.id,We,de)||(De[lt][tt]+=Oe*rt))}},fe=oe=>{const de=zr(A,o.latitude);if(de.zArray(Ie).fill(0)),H.current.set(oe.id,De));const Fe=ve.rotation[2],_e=Pe.solarStructure===zn.FocusTower?new ae(Pe.cx-ze.x,Pe.cy-ze.y,Pe.cz-ze.z+(me.towerHeight??20)):void 0;let ot,Ye;if(_e){ot=_e.clone().normalize();let rt=ot.clone().add(de).normalize();be.isSame(rt,Po)&&(rt=new ae(-.001,0,1).normalize()),Fe&&rt.applyAxisAngle(Po,-Fe);const Qe=Math.hypot(rt.x,rt.y);Ye=new Qt(Math.atan2(Qe,rt.z),0,Math.atan2(rt.y,rt.x)+Vt,"ZXY"),Ae.copy(re.clone().applyEuler(Ye))}else ot=new ae(0,0,1),Ye=new Qt;const St=Rr(de,Re,x,vr.SPHERE_MODEL),dt=tr(o.ground,A.getMonth(),Ae,St),je=Ae.dot(de),at=new Gt,ut=new ae;let wt=0;if(d)for(let rt=0;rt0&&(at.set(wt,Ne+Qe*Ee),ut.set(at.x-qe.x,at.y-qe.y,0),ut.applyEuler(Ye),We.set(ze.x+ut.x,ze.y+ut.y,Le+ut.z),!k(oe.id,We,de)&&!k(oe.id,We,ot)&&(De[rt][Qe]+=je*St))}else for(let rt=0;rt0&&(at.set(wt,Ne+Qe*Ee),ut.set(at.x-qe.x,at.y-qe.y,0),ut.applyEuler(Ye),We.set(ze.x+ut.x,ze.y+ut.y,Le+ut.z),k(oe.id,We,de)||(De[rt][Qe]+=je*St))}},se=oe=>{const de=oe.solarUpdraftTower;if(!de)return;const ve=zr(A,o.latitude);if(ve.z<=0)return;const Pe=be.dayOfYear(A),me=new ae().fromArray(oe.normal),Re=de.collectorRadius,ze=Math.max(2,Math.round(Re*2/v)),Ae=oe.cx-Re+v/2,re=oe.cy-Re+v/2,ge=oe.lz+de.collectorHeight,we=oe.id+"-sut";let ye=H.current.get(we);(!ye||ye.length!==ze||ye[0].length!==ze)&&(ye=Array(ze).fill(0).map(()=>Array(ze).fill(0)),H.current.set(we,ye));const Te=Rr(ve,Pe,x,vr.SPHERE_MODEL),Ie=tr(o.ground,A.getMonth(),me,Te),Ce=new ae(0,0,ge),Ee=me.dot(ve),Ue=Re*Re;let Ne,Le;for(let qe=0;qeUe)&&(ye[qe][We]+=Ie,Ee>0&&(k(we,Ce,ve)||(ye[qe][We]+=Ee*Te)))}};return h.jsx(h.Fragment,{})}),NLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=bn(U7t),s=M(nW),c=bn(j7t),u=M(oW),d=M(Vje),f=M(Gje),p=bn(Y7t),g=gt(k7t),y=gt(F7t),A=gt(L7t),x=gt(W7t),C=M(MBe),{scene:b}=Xi(),v=Kt(),S=a1(t),w=new Date(i.date),T=t?S==null?void 0:S.elevation:0,P=i.cspTimesPerHour??4,R=60/P,H=i.cspDaysPerYear??6,D=12/H,E=m.useMemo(()=>new Gs,[]),L=i.monthlyIrradianceLosses??new Array(12).fill(.05),U=i.cspGridCellSize??.5,F=m.useRef([]),W=m.useRef([]),B=m.useRef(0),k=m.useRef(!1),N=m.useRef(new Date(i.date)),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),$=m.useRef(ee),q=be.daysInYear(w)/12;m.useEffect(()=>{if(g)return le(),B.current=requestAnimationFrame(ie),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ie())},[A]);const le=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),w.setHours(Math.floor(ee.sunrise/60),R/2-30)),k.current=!1,Re(),ze()},ie=()=>{if(g&&!J.current){if(w.getMinutes()+w.getHours()*60>=ee.sunset){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showDailyParabolicTroughYieldPanel=!0,ge.selectedFloatingWindow="dailyParabolicTroughYieldPanel"}),gt.getState().set(ge=>{ge.runDailySimulationForParabolicTroughs=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,pe(),o&&e(ge=>{const we=bn.getState().sumDailyParabolicTroughYield();ge.actionInfo={name:"Daily Simulation for Parabolic Troughs Completed",result:{totalYield:we},details:bn.getState().dailyParabolicTroughYield,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicTrough&&oe(ge);B.current=requestAnimationFrame(ie)}},pe=()=>{const re=de();for(const ge of r)if(ge.type===z.ParabolicTrough){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Pe(we)*re;for(let Ie=0;Ie{var re;if(d){const ge=new Array(24).fill(0),we=new Map;let ye=0;const Te=[];for(const Ce of r)if(Ce.type===z.ParabolicTrough){const Ee=j.current.get(Ce.id);if(Ee){s(Ce.id,Ee.reduce((Ue,Ne)=>Ue+Ne,0)),ye++,we.set("Trough"+ye,Ee),Te.push(Ce.label??"Trough"+ye);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=Ee[Ue]}}const Ie=[];for(let Ce=0;Ce<24;Ce++){const Ee={};Ee.Hour=Ce;for(let Ue=1;Ue<=ye;Ue++){const Ne="Trough"+Ue;Ee[Te[Ue-1]]=(re=we.get(Ne))==null?void 0:re[Ce]}Ie.push(Ee)}l(Ie),p(Te)}else{const ge=new Array(24).fill(0);for(const ye of r)if(ye.type===z.ParabolicTrough){const Te=j.current.get(ye.id);if(Te){s(ye.id,Te.reduce((Ie,Ce)=>Ie+Ce,0));for(let Ie=0;Ie<24;Ie++)ge[Ie]+=Te[Ie]}}const we=[];for(let ye=0;ye<24;ye++)we.push({Hour:ye,Total:ge[ye]});l(we)}};m.useEffect(()=>{if(y)return Z(),B.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=x,x?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[x]);const Z=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),_.current=0,w.setMonth(0,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),e(re=>{re.world.date=w.toLocaleString("en-US")})),k.current=!1,Re(),ze(),Ae()},he=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60<$.current.sunset){w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicTrough&&oe(ge);B.current=requestAnimationFrame(he)}else{if(fe(),_.current++,_.current===H){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showYearlyParabolicTroughYieldPanel=!0,ge.selectedFloatingWindow="yearlyParabolicTroughYieldPanel"}),gt.getState().set(ge=>{ge.runYearlySimulationForParabolicTroughs=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,se(),o&&e(ge=>{const we=bn.getState().sumYearlyParabolicTroughYield();ge.actionInfo={name:"Yearly Simulation for Parabolic Troughs Completed",result:{totalYield:we},details:bn.getState().yearlyParabolicTroughYield,timestamp:new Date().getTime()}});return}w.setMonth(_.current*D,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),ze(),B.current=requestAnimationFrame(he)}},fe=()=>{const re=ve();for(const ge of r)if(ge.type===z.ParabolicTrough){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Y.current.get(we.id);if(Te){const Ie=ye.reduce((Ce,Ee)=>Ce+Ee,0);Te[_.current]+=Ie*re*Pe(we)}}}C&&pe()},se=()=>{if(f){const re=[],ge=[];let we=0;for(const Te of r)if(Te.type===z.ParabolicTrough){const Ie=Y.current.get(Te.id);Ie&&(u(Te.id,Ie.reduce((Ce,Ee)=>Ce+Ee,0)*D*q),re.push(Ie),we++,ge.push(Te.label??"Trough"+we))}const ye=[];for(let Te=0;Te<12;Te+=D){const Ie={};Ie.Month=Ps[Te];for(const[Ce,Ee]of re.entries())Ie[ge[Ce]]=Ee[Te/D]*q;ye.push(Ie)}c(ye),p(ge)}else{const re=[];for(const we of r)if(we.type===z.ParabolicTrough){const ye=Y.current.get(we.id);ye&&(u(we.id,ye.reduce((Te,Ie)=>Te+Ie,0)*D*q),re.push(ye))}const ge=[];for(let we=0;we<12;we+=D){let ye=0;for(const Te of re)ye+=Te[we/D];ge.push({Month:Ps[we],Total:ye*q})}c(ge)}},oe=re=>{const ge=zr(w,i.latitude);if(ge.z0&&(lt.set(Ye+Mt*De,St+st*Fe),Ue||lt.rotateAround(je,Ee),tt.set(lt.x-je.x,lt.y-je.y,0),tt.applyEuler(et),at.set(Te.x+tt.x,Te.y+tt.y,dt+tt.z),me(re.id,at,ge)||(it+=ct*vt));const At=j.current.get(re.id);if(At){const Mt=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();At[Mt]+=it/(qe*We)}},de=()=>{const re=ee.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},ve=()=>{const re=$.current.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},Pe=re=>re.lx*re.ly*re.opticalEfficiency*re.thermalEfficiency*re.absorptance*re.reflectance*(1-L[w.getMonth()]),me=(re,ge,we)=>{if(F.current.length>1){W.current.length=0,E.set(ge,we);const ye=F.current.filter(Te=>Te.uuid!==re);return E.intersectObjects(ye,!1,W.current),W.current.length>0}return!1},Re=()=>{const re=b.children.filter(ge=>ge.name==="Content");if(re.length>0){const ge=re[0].children;F.current.length=0;for(const we of ge)be.fetchSimulationElements(we,F.current)}},ze=()=>{for(const re of r)if(re.type===z.ParabolicTrough){const ge=j.current.get(re.id);ge?ge.fill(0):j.current.set(re.id,new Array(24).fill(0))}},Ae=()=>{for(const re of r)if(re.type===z.ParabolicTrough){const ge=Y.current.get(re.id);ge&&ge.length===H?ge.fill(0):Y.current.set(re.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),ULo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=bn(S8t),s=M(nW),c=bn(P8t),u=M(oW),d=M(oYe),f=M(iYe),p=bn(C8t),g=gt(A8t),y=gt(w8t),A=gt(v8t),x=gt(x8t),C=M(IBe),{scene:b}=Xi(),v=Kt(),S=a1(t),w=new Date(i.date),T=t?S==null?void 0:S.elevation:0,P=i.cspTimesPerHour??4,R=60/P,H=i.cspDaysPerYear??6,D=12/H,E=m.useMemo(()=>new Gs,[]),L=i.monthlyIrradianceLosses??new Array(12).fill(.05),U=i.cspGridCellSize??.5,F=m.useRef([]),W=m.useRef([]),B=m.useRef(0),k=m.useRef(!1),N=m.useRef(new Date(i.date)),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),$=m.useRef(ee),q=be.daysInYear(w)/12;m.useEffect(()=>{if(g)return le(),B.current=requestAnimationFrame(ie),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ie())},[A]);const le=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),w.setHours(Math.floor(ee.sunrise/60),R/2-30)),k.current=!1,Re(),ze()},ie=()=>{if(g&&!J.current){if(w.getMinutes()+w.getHours()*60>=ee.sunset){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showDailyParabolicDishYieldPanel=!0,ge.selectedFloatingWindow="dailyParabolicDishYieldPanel"}),gt.getState().set(ge=>{ge.runDailySimulationForParabolicDishes=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,pe(),o&&e(ge=>{const we=bn.getState().sumDailyParabolicDishYield();ge.actionInfo={name:"Daily Simulation for Parabolic Dishes Completed",result:{totalYield:we},details:bn.getState().dailyParabolicDishYield,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicDish&&oe(ge);B.current=requestAnimationFrame(ie)}},pe=()=>{const re=de();for(const ge of r)if(ge.type===z.ParabolicDish){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Pe(we)*re;for(let Ie=0;Ie{var re;if(d){const ge=new Array(24).fill(0),we=new Map;let ye=0;const Te=[];for(const Ce of r)if(Ce.type===z.ParabolicDish){const Ee=j.current.get(Ce.id);if(Ee){s(Ce.id,Ee.reduce((Ue,Ne)=>Ue+Ne,0)),ye++,we.set("Dish"+ye,Ee),Te.push(Ce.label??"Dish"+ye);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=Ee[Ue]}}const Ie=[];for(let Ce=0;Ce<24;Ce++){const Ee={};Ee.Hour=Ce;for(let Ue=1;Ue<=ye;Ue++){const Ne="Dish"+Ue;Ee[Te[Ue-1]]=(re=we.get(Ne))==null?void 0:re[Ce]}Ie.push(Ee)}l(Ie),p(Te)}else{const ge=new Array(24).fill(0);for(const ye of r)if(ye.type===z.ParabolicDish){const Te=j.current.get(ye.id);if(Te){s(ye.id,Te.reduce((Ie,Ce)=>Ie+Ce,0));for(let Ie=0;Ie<24;Ie++)ge[Ie]+=Te[Ie]}}const we=[];for(let ye=0;ye<24;ye++)we.push({Hour:ye,Total:ge[ye]});l(we)}};m.useEffect(()=>{if(y)return Z(),B.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=x,x?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[x]);const Z=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),_.current=0,w.setMonth(0,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),e(re=>{re.world.date=w.toLocaleString("en-US")})),k.current=!1,Re(),ze(),Ae()},he=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60<$.current.sunset){w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicDish&&oe(ge);B.current=requestAnimationFrame(he)}else{if(fe(),_.current++,_.current===H){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showYearlyParabolicDishYieldPanel=!0,ge.selectedFloatingWindow="yearlyParabolicDishYieldPanel"}),gt.getState().set(ge=>{ge.runYearlySimulationForParabolicDishes=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,se(),o&&e(ge=>{const we=bn.getState().sumYearlyParabolicDishYield();ge.actionInfo={name:"Yearly Simulation for Parabolic Dishes Completed",result:{totalYield:we},details:bn.getState().yearlyParabolicDishYield,timestamp:new Date().getTime()}});return}w.setMonth(_.current*D,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),ze(),B.current=requestAnimationFrame(he)}},fe=()=>{const re=ve();for(const ge of r)if(ge.type===z.ParabolicDish){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Y.current.get(we.id);if(Te){const Ie=ye.reduce((Ce,Ee)=>Ce+Ee,0);Te[_.current]+=Ie*re*Pe(we)}}}C&&pe()},se=()=>{if(f){const re=[],ge=[];let we=0;for(const Te of r)if(Te.type===z.ParabolicDish){const Ie=Y.current.get(Te.id);Ie&&(u(Te.id,Ie.reduce((Ce,Ee)=>Ce+Ee,0)*D*q),re.push(Ie),we++,ge.push(Te.label??"Dish"+we))}const ye=[];for(let Te=0;Te<12;Te+=D){const Ie={};Ie.Month=Ps[Te];for(const[Ce,Ee]of re.entries())Ie[ge[Ce]]=Ee[Te/D]*q;ye.push(Ie)}c(ye),p(ge)}else{const re=[];for(const we of r)if(we.type===z.ParabolicDish){const ye=Y.current.get(we.id);ye&&(u(we.id,ye.reduce((Te,Ie)=>Te+Ie,0)*D*q),re.push(ye))}const ge=[];for(let we=0;we<12;we+=D){let ye=0;for(const Te of re)ye+=Te[we/D];ge.push({Month:Ps[we],Total:ye*q})}c(ge)}},oe=re=>{const ge=zr(w,i.latitude);if(ge.z0&&(vt.set(_e+it*qe,ot+At*We),ut||vt.rotateAround(St,at),ct.set(vt.x-St.x,vt.y-St.y,0),ct.applyEuler(Qe),dt.set(Te.x+ct.x,Te.y+ct.y,Ye+ct.z),me(re.id,dt,ge)||(lt+=et*Oe));const tt=j.current.get(re.id);if(tt){const it=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();tt[it]+=lt/(Ne*Le)}},de=()=>{const re=ee.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},ve=()=>{const re=$.current.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},Pe=re=>re.lx*re.ly*re.opticalEfficiency*re.thermalEfficiency*re.absorptance*re.reflectance*(1-L[w.getMonth()]),me=(re,ge,we)=>{if(F.current.length>1){W.current.length=0,E.set(ge,we);const ye=F.current.filter(Te=>Te.uuid!==re);return E.intersectObjects(ye,!1,W.current),W.current.length>0}return!1},Re=()=>{const re=b.children.filter(ge=>ge.name==="Content");if(re.length>0){const ge=re[0].children;F.current.length=0;for(const we of ge)be.fetchSimulationElements(we,F.current)}},ze=()=>{for(const re of r)if(re.type===z.ParabolicDish){const ge=j.current.get(re.id);ge?ge.fill(0):j.current.set(re.id,new Array(24).fill(0))}},Ae=()=>{for(const re of r)if(re.type===z.ParabolicDish){const ge=Y.current.get(re.id);ge&&ge.length===H?ge.fill(0):Y.current.set(re.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),BLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=bn(J7t),s=M(nW),c=M(Jje),u=bn(q7t),d=M(oW),f=M(Kje),p=bn($7t),g=gt(O7t),y=gt(_7t),A=gt(V7t),x=gt(G7t),C=M(zBe),{scene:b}=Xi(),v=Kt(),S=a1(t),w=new Date(i.date),T=t?S==null?void 0:S.elevation:0,P=i.cspTimesPerHour??4,R=60/P,H=i.cspDaysPerYear??6,D=12/H,E=m.useMemo(()=>new Gs,[]),L=i.monthlyIrradianceLosses??new Array(12).fill(.05),U=i.cspGridCellSize??.5,F=m.useRef([]),W=m.useRef([]),B=m.useRef(0),k=m.useRef(!1),N=m.useRef(new Date(i.date)),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),$=m.useRef(ee),q=be.daysInYear(w)/12;m.useEffect(()=>{if(g)return le(),B.current=requestAnimationFrame(ie),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ie())},[A]);const le=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),w.setHours(Math.floor(ee.sunrise/60),R/2-30)),k.current=!1,Re(),ze()},ie=()=>{if(g&&!J.current){if(w.getMinutes()+w.getHours()*60>=ee.sunset){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showDailyFresnelReflectorYieldPanel=!0,ge.selectedFloatingWindow="dailyFresnelReflectorYieldPanel"}),gt.getState().set(ge=>{ge.runDailySimulationForFresnelReflectors=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,pe(),o&&e(ge=>{const we=bn.getState().sumDailyFresnelReflectorYield();ge.actionInfo={name:"Daily Simulation for Fresnel Reflectors Completed",result:{totalYield:we},details:bn.getState().dailyFresnelReflectorYield,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.FresnelReflector&&oe(ge);B.current=requestAnimationFrame(ie)}},pe=()=>{const re=de();for(const ge of r)if(ge.type===z.FresnelReflector){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Pe(we)*re;for(let Ie=0;Ie{var re;if(c){const ge=new Array(24).fill(0),we=new Map;let ye=0;const Te=[];for(const Ce of r)if(Ce.type===z.FresnelReflector){const Ee=j.current.get(Ce.id);if(Ee){s(Ce.id,Ee.reduce((Ue,Ne)=>Ue+Ne,0)),ye++,we.set("Reflector"+ye,Ee),Te.push(Ce.label??"Reflector"+ye);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=Ee[Ue]}}const Ie=[];for(let Ce=0;Ce<24;Ce++){const Ee={};Ee.Hour=Ce;for(let Ue=1;Ue<=ye;Ue++){const Ne="Reflector"+Ue;Ee[Te[Ue-1]]=(re=we.get(Ne))==null?void 0:re[Ce]}Ie.push(Ee)}l(Ie),p(Te)}else{const ge=new Array(24).fill(0);for(const ye of r)if(ye.type===z.FresnelReflector){const Te=j.current.get(ye.id);if(Te){s(ye.id,Te.reduce((Ie,Ce)=>Ie+Ce,0));for(let Ie=0;Ie<24;Ie++)ge[Ie]+=Te[Ie]}}const we=[];for(let ye=0;ye<24;ye++)we.push({Hour:ye,Total:ge[ye]});l(we)}};m.useEffect(()=>{if(y)return Z(),B.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=x,x?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[x]);const Z=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),_.current=0,w.setMonth(0,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),e(re=>{re.world.date=w.toLocaleString("en-US")})),k.current=!1,Re(),ze(),Ae()},he=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60<$.current.sunset){w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.FresnelReflector&&oe(ge);B.current=requestAnimationFrame(he)}else{if(fe(),_.current++,_.current===H){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showYearlyFresnelReflectorYieldPanel=!0,ge.selectedFloatingWindow="yearlyFresnelReflectorYieldPanel"}),gt.getState().set(ge=>{ge.runYearlySimulationForFresnelReflectors=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,se(),o&&e(ge=>{const we=bn.getState().sumYearlyFresnelReflectorYield();ge.actionInfo={name:"Yearly Simulation for Fresnel Reflectors Completed",result:{totalYield:we},details:bn.getState().yearlyFresnelReflectorYield,timestamp:new Date().getTime()}});return}w.setMonth(_.current*D,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),ze(),B.current=requestAnimationFrame(he)}},fe=()=>{const re=ve();for(const ge of r)if(ge.type===z.FresnelReflector){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Y.current.get(we.id);if(Te){const Ie=ye.reduce((Ce,Ee)=>Ce+Ee,0);Te[_.current]+=Ie*re*Pe(we)}}}C&&pe()},se=()=>{if(f){const re=[],ge=[];let we=0;for(const Te of r)if(Te.type===z.FresnelReflector){const Ie=Y.current.get(Te.id);Ie&&(d(Te.id,Ie.reduce((Ce,Ee)=>Ce+Ee,0)*D*q),re.push(Ie),we++,ge.push(Te.label??"Reflector"+we))}const ye=[];for(let Te=0;Te<12;Te+=D){const Ie={};Ie.Month=Ps[Te];for(const[Ce,Ee]of re.entries())Ie[ge[Ce]]=Ee[Te/D]*q;ye.push(Ie)}u(ye),p(ge)}else{const re=[];for(const we of r)if(we.type===z.FresnelReflector){const ye=Y.current.get(we.id);ye&&(d(we.id,ye.reduce((Te,Ie)=>Te+Ie,0)*D*q),re.push(ye))}const ge=[];for(let we=0;we<12;we+=D){let ye=0;for(const Te of re)ye+=Te[we/D];ge.push({Month:Ps[we],Total:ye*q})}u(ge)}},oe=re=>{const ge=zr(w,i.latitude);if(ge.z0&&(At.set(ft,Ye+Xe*_e),Mt.set(At.x-dt.x,At.y-dt.y,0),Mt.applyEuler(ct),je.set(Ce.x+Mt.x,Ce.y+Mt.y,St+Mt.z),!me(re.id,je,ge)&&!me(re.id,je,lt)&&(st+=it*tt))}const Rt=j.current.get(re.id);if(Rt){const zt=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();Rt[zt]+=st/(We*De)}},de=()=>{const re=ee.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},ve=()=>{const re=$.current.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},Pe=re=>{const ge=a(re);if(!ge)throw new Error("parent of Fresnel reflector does not exist");let we=1;if(ge.type===z.Foundation){const Te=ge.solarAbsorberPipe;we*=((Te==null?void 0:Te.absorberOpticalEfficiency)??.7)*((Te==null?void 0:Te.absorberThermalEfficiency)??.3)*((Te==null?void 0:Te.absorberAbsorptance)??.95)}return re.lx*re.ly*re.reflectance*we*(1-L[w.getMonth()])},me=(re,ge,we)=>{if(F.current.length>1){W.current.length=0,E.set(ge,we);const ye=F.current.filter(Te=>Te.uuid!==re);return E.intersectObjects(ye,!1,W.current),W.current.length>0}return!1},Re=()=>{const re=b.children.filter(ge=>ge.name==="Content");if(re.length>0){const ge=re[0].children;F.current.length=0;for(const we of ge)be.fetchSimulationElements(we,F.current)}},ze=()=>{for(const re of r)if(re.type===z.FresnelReflector){const ge=j.current.get(re.id);ge?ge.fill(0):j.current.set(re.id,new Array(24).fill(0))}},Ae=()=>{for(const re of r)if(re.type===z.FresnelReflector){const ge=Y.current.get(re.id);ge&&ge.length===H?ge.fill(0):Y.current.set(re.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),jLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=bn(o8t),s=M(nW),c=M($je),u=bn(r8t),d=M(oW),f=M(Qje),p=bn(a8t),g=gt(Q7t),y=gt(Z7t),A=gt(e8t),x=gt(t8t),C=M(DBe),{scene:b}=Xi(),v=Kt(),S=a1(t),w=new Date(i.date),T=t?S==null?void 0:S.elevation:0,P=i.cspTimesPerHour??4,R=60/P,H=i.cspDaysPerYear??6,D=12/H,E=m.useMemo(()=>new Gs,[]),L=i.monthlyIrradianceLosses??new Array(12).fill(.05),U=i.cspGridCellSize??.5,F=m.useRef([]),W=m.useRef([]),B=m.useRef(0),k=m.useRef(!1),N=m.useRef(new Date(i.date)),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),$=m.useRef(ee),q=be.daysInYear(w)/12;m.useEffect(()=>{if(g)return le(),B.current=requestAnimationFrame(ie),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ie())},[A]);const le=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),w.setHours(Math.floor(ee.sunrise/60),R/2-30)),k.current=!1,Re(),ze()},ie=()=>{if(g&&!J.current){if(w.getMinutes()+w.getHours()*60>=ee.sunset){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showDailyHeliostatYieldPanel=!0,ge.selectedFloatingWindow="dailyHeliostatYieldPanel"}),gt.getState().set(ge=>{ge.runDailySimulationForHeliostats=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,pe(),o&&e(ge=>{const we=bn.getState().sumDailyHeliostatYield();ge.actionInfo={name:"Daily Simulation for Heliostats Completed",result:{totalYield:we},details:bn.getState().dailyHeliostatYield,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.Heliostat&&oe(ge);B.current=requestAnimationFrame(ie)}},pe=()=>{const re=de();for(const ge of r)if(ge.type===z.Heliostat){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Pe(we)*re;for(let Ie=0;Ie{var re;if(c){const ge=new Array(24).fill(0),we=new Map;let ye=0;const Te=[];for(const Ce of r)if(Ce.type===z.Heliostat){const Ee=j.current.get(Ce.id);if(Ee){s(Ce.id,Ee.reduce((Ue,Ne)=>Ue+Ne,0)),ye++,we.set("Heliostat"+ye,Ee),Te.push(Ce.label??"Heliostat"+ye);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=Ee[Ue]}}const Ie=[];for(let Ce=0;Ce<24;Ce++){const Ee={};Ee.Hour=Ce;for(let Ue=1;Ue<=ye;Ue++){const Ne="Heliostat"+Ue;Ee[Te[Ue-1]]=(re=we.get(Ne))==null?void 0:re[Ce]}Ie.push(Ee)}l(Ie),p(Te)}else{const ge=new Array(24).fill(0);for(const ye of r)if(ye.type===z.Heliostat){const Te=j.current.get(ye.id);if(Te){s(ye.id,Te.reduce((Ie,Ce)=>Ie+Ce,0));for(let Ie=0;Ie<24;Ie++)ge[Ie]+=Te[Ie]}}const we=[];for(let ye=0;ye<24;ye++)we.push({Hour:ye,Total:ge[ye]});l(we)}};m.useEffect(()=>{if(y)return Z(),B.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(B.current),k.current||(fn(O.t("message.SimulationAborted",v)),e(re=>{re.world.date=N.current.toLocaleString("en-US")}),gt.getState().set(re=>{re.simulationInProgress=!1,re.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=x,x?(Q.current=new Date(w.getTime()),cancelAnimationFrame(B.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[x]);const Z=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(N.current=new Date(i.date),_.current=0,w.setMonth(0,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),e(re=>{re.world.date=w.toLocaleString("en-US")})),k.current=!1,Re(),ze(),Ae()},he=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60<$.current.sunset){w.setHours(w.getHours(),w.getMinutes()+R),e(ge=>{ge.world.date=w.toLocaleString("en-US")});for(const ge of r)ge.type===z.Heliostat&&oe(ge);B.current=requestAnimationFrame(he)}else{if(fe(),_.current++,_.current===H){cancelAnimationFrame(B.current),e(ge=>{ge.world.date=N.current.toLocaleString("en-US"),ge.viewState.showYearlyHeliostatYieldPanel=!0,ge.selectedFloatingWindow="yearlyHeliostatYieldPanel"}),gt.getState().set(ge=>{ge.runYearlySimulationForHeliostats=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),k.current=!0,se(),o&&e(ge=>{const we=bn.getState().sumYearlyHeliostatYield();ge.actionInfo={name:"Yearly Simulation for Heliostats Completed",result:{totalYield:we},details:bn.getState().yearlyHeliostatYield,timestamp:new Date().getTime()}});return}w.setMonth(_.current*D,22),$.current=sl(w,i.latitude),w.setHours(Math.floor($.current.sunrise/60),R/2-30),ze(),B.current=requestAnimationFrame(he)}},fe=()=>{const re=ve();for(const ge of r)if(ge.type===z.Heliostat){const we=ge,ye=j.current.get(we.id);if(ye){const Te=Y.current.get(we.id);if(Te){const Ie=ye.reduce((Ce,Ee)=>Ce+Ee,0);Te[_.current]+=Ie*re*Pe(we)}}}C&&pe()},se=()=>{if(f){const re=[],ge=[];let we=0;for(const Te of r)if(Te.type===z.Heliostat){const Ie=Y.current.get(Te.id);Ie&&(d(Te.id,Ie.reduce((Ce,Ee)=>Ce+Ee,0)*D*q),re.push(Ie),we++,ge.push(Te.label??"Heliostat"+we))}const ye=[];for(let Te=0;Te<12;Te+=D){const Ie={};Ie.Month=Ps[Te];for(const[Ce,Ee]of re.entries())Ie[ge[Ce]]=Ee[Te/D]*q;ye.push(Ie)}u(ye),p(ge)}else{const re=[];for(const we of r)if(we.type===z.Heliostat){const ye=Y.current.get(we.id);ye&&(d(we.id,ye.reduce((Te,Ie)=>Te+Ie,0)*D*q),re.push(ye))}const ge=[];for(let we=0;we<12;we+=D){let ye=0;for(const Te of re)ye+=Te[we/D];ge.push({Month:Ps[we],Total:ye*q})}u(ge)}},oe=re=>{const ge=zr(w,i.latitude);if(ge.z0&&(et.set(lt,Ye+At*_e),vt.set(et.x-dt.x,et.y-dt.y,0),vt.applyEuler(rt),je.set(Ce.x+vt.x,Ce.y+vt.y,St+vt.z),!me(re.id,je,ge)&&!me(re.id,je,wt)&&(ct+=Oe*Qe))}const tt=j.current.get(re.id);if(tt){const it=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();tt[it]+=ct/(We*De)}},de=()=>{const re=ee.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},ve=()=>{const re=$.current.daylight()/60;return re>kt?S.sunshineHours[w.getMonth()]/(30*re*P):0},Pe=re=>{const ge=a(re);if(!ge)throw new Error("parent of heliostat does not exist");let we=1;if(ge.type===z.Foundation){const Te=ge.solarPowerTower;we*=((Te==null?void 0:Te.receiverOpticalEfficiency)??.7)*((Te==null?void 0:Te.receiverThermalEfficiency)??.3)*((Te==null?void 0:Te.receiverAbsorptance)??.95)}return re.lx*re.ly*re.reflectance*we*(1-L[w.getMonth()])},me=(re,ge,we)=>{if(F.current.length>1){W.current.length=0,E.set(ge,we);const ye=F.current.filter(Te=>Te.uuid!==re);return E.intersectObjects(ye,!1,W.current),W.current.length>0}return!1},Re=()=>{const re=b.children.filter(ge=>ge.name==="Content");if(re.length>0){const ge=re[0].children;F.current.length=0;for(const we of ge)be.fetchSimulationElements(we,F.current)}},ze=()=>{for(const re of r)if(re.type===z.Heliostat){const ge=j.current.get(re.id);ge?ge.fill(0):j.current.set(re.id,new Array(24).fill(0))}},Ae=()=>{for(const re of r)if(re.type===z.Heliostat){const ge=Y.current.get(re.id);ge&&ge.length===H?ge.fill(0):Y.current.set(re.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),YLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=bn(y8t),l=bn(f8t),s=bn(h8t),c=bn(m8t),u=gt(eYe),d=gt(l8t),f=gt(tYe),p=gt(s8t),g=M(EBe),y=M(WBe),A=M(KL)??900,x=i.sutGridCellSize??1,{scene:C}=Xi(),b=Kt(),v=a1(t),S=new Date(i.date),w=v?v.elevation:0,T=i.sutTimesPerHour??4,P=60/T,R=i.sutDaysPerYear??6,H=12/R,D=m.useMemo(()=>new Gs,[]),E=m.useRef([]),L=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),W=m.useRef(new Date(i.date)),B=m.useRef(new Array(24).fill(0)),k=m.useRef(new Map),N=m.useRef(new Map),j=m.useRef(new Map),Y=m.useRef(new Map),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useRef(0),$=m.useMemo(()=>sl(S,i.latitude),[i.date,i.latitude]),q=m.useRef($),le=be.daysInYear(S)/12;m.useEffect(()=>{if(u)if(y&&!be.hasMovingParts(r))ie();else return pe(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(fn(O.t("message.SimulationAborted",b)),e(ye=>{ye.world.date=W.current.toLocaleString("en-US")}),gt.getState().set(ye=>{ye.simulationInProgress=!1,ye.simulationPaused=!1})),J.current=!1}},[u]),m.useEffect(()=>{J.current=d,d?(Q.current=new Date(S.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",b))):(n("simulationPaused",!1),ne())},[d]);const ie=()=>{ge(),Pe();for(const ye of r)if(ye.type===z.Foundation){const Te=ye;Te.solarStructure===zn.UpdraftTower&&Te.solarUpdraftTower&&ze(Te)}e(ye=>{ye.viewState.showDailyUpdraftTowerYieldPanel=!0,ye.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"}),gt.getState().set(ye=>{ye.runDailySimulationForUpdraftTower=!1,ye.simulationInProgress=!1,ye.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",b)),F.current=!0,Z(),o&&e(ye=>{const Te=bn.getState().sumDailyUpdraftTowerYield();ye.actionInfo={name:"Static Daily Simulation for Updraft Tower Completed",result:{totalYield:Te},details:bn.getState().dailyUpdraftTowerYield,timestamp:new Date().getTime()}})},pe=()=>{J.current?(S.setTime(Q.current.getTime()),J.current=!1):(W.current=new Date(i.date),ee.current=S.getDay(),S.setHours(Math.floor($.sunrise/60),-P/2)),F.current=!1,ge(),Pe()},ne=()=>{if(u&&!J.current){if(S.getMinutes()+S.getHours()*60+(S.getDay()-ee.current)*y2+P>=$.sunset){cancelAnimationFrame(U.current),e(Te=>{Te.world.date=W.current.toLocaleString("en-US"),Te.viewState.showDailyUpdraftTowerYieldPanel=!0,Te.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"}),gt.getState().set(Te=>{Te.runDailySimulationForUpdraftTower=!1,Te.simulationInProgress=!1,Te.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",b)),F.current=!0,Z(),o&&e(Te=>{const Ie=bn.getState().sumDailyUpdraftTowerYield();Te.actionInfo={name:"Dynamic Daily Simulation for Updraft Tower Completed",result:{totalYield:Ie},details:bn.getState().dailyUpdraftTowerYield,timestamp:new Date().getTime()}});return}S.setHours(S.getHours(),S.getMinutes()+P),e(Te=>{Te.world.date=S.toLocaleString("en-US")});for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower&&Re(Ie)}U.current=requestAnimationFrame(ne)}},Z=()=>{const ye=Ae();for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;if(Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower){const Ce=Ie.solarUpdraftTower.collectorTransmissivity??.9,Ee=Ie.solarUpdraftTower.turbineEfficiency??.3,Ue=Ie.solarUpdraftTower.dischargeCoefficient??.65,Ne=Math.PI*Ie.solarUpdraftTower.chimneyRadius*Ie.solarUpdraftTower.chimneyRadius,Le=Math.PI*Ie.solarUpdraftTower.collectorRadius*Ie.solarUpdraftTower.collectorRadius,qe=QY*Kbe*Ne,We=2*Jbe*Ie.solarUpdraftTower.chimneyHeight,De=k.current.get(Te.id+"-sut"),Fe=N.current.get(Te.id+"-sut"),_e=j.current.get(Te.id+"-sut");if(_e&&De&&Fe){const ot=.5*Ue*Ee*QY*Ne,Ye=new Date(i.date);let St;v&&(St=Jx(Ye,v.lowestTemperatures,v.highestTemperatures));for(let dt=0;dt<_e.length;dt++){let je=20;v&&St&&(Ye.setHours(dt),je=Xx(St.high,St.low,i.diurnalTemperatureModel,A,$,be.minutesIntoDay(Ye)),B.current[dt]=je),_e[dt]*=ye*Ce*1e3;const at=je+x4;if(_e[dt]>0&&dt>0&&De[dt-1]>je){const Qe=(De[dt-1]+je)/2,Oe=(i.airConvectiveCoefficient??5)*Le*(Qe-je),et=Qe+x4,vt=et*et*et*et,ct=at*at*at*at,lt=(Ie.solarUpdraftTower.collectorEmissivity??.95)*qbe*Le*(vt-ct);_e[dt]-=Oe+lt,_e[dt]<0&&(_e[dt]=0)}const ut=_e[dt]/(qe*at),wt=at*(1+Math.cbrt(ut*ut/We))-x4,rt=wt>je?Math.sqrt(We*((wt+x4)/at-1)):0;_e[dt]=ot*rt*rt*rt*.001,De[dt]=wt,Fe[dt]=rt}}}}he()},he=()=>{var Ue,Ne,Le;const ye=new Map;let Te=0;const Ie=[];for(const qe of r)if(qe.type===z.Foundation){const We=qe;if(We.solarStructure===zn.UpdraftTower&&We.solarUpdraftTower){Te++;const De=k.current.get(qe.id+"-sut");De&&ye.set("Temperature Tower"+Te,De);const Fe=N.current.get(qe.id+"-sut");Fe&&ye.set("Wind Speed Tower"+Te,Fe);const _e=j.current.get(qe.id+"-sut");_e&&(ye.set("Tower"+Te,_e),Ie.push(qe.label?qe.label:"Tower"+Te))}}const Ce=[];for(let qe=0;qe<24;qe++){const We={};We.Hour=qe;for(let De=1;De<=Te;De++){const Fe="Tower"+De;We[Ie[De-1]]=(Ue=ye.get(Fe))==null?void 0:Ue[qe]}Ce.push(We)}s(Ce);const Ee=[];for(let qe=0;qe<24;qe++){const We={};We.Hour=qe,We.T_Ambient=B.current[qe];for(let De=1;De<=Te;De++){let Fe="Temperature Tower"+De;We["T_"+Ie[De-1]]=(Ne=ye.get(Fe))==null?void 0:Ne[qe],Fe="Wind Speed Tower"+De,We["V_"+Ie[De-1]]=(Le=ye.get(Fe))==null?void 0:Le[qe]}Ee.push(We)}l(Ee),a(Ie)};m.useEffect(()=>{if(f)if(y&&!be.hasMovingParts(r))se();else return fe(),U.current=requestAnimationFrame(oe),()=>{cancelAnimationFrame(U.current),F.current||(fn(O.t("message.SimulationAborted",b)),e(ye=>{ye.world.date=W.current.toLocaleString("en-US")}),gt.getState().set(ye=>{ye.simulationInProgress=!1,ye.simulationPaused=!1})),J.current=!1}},[f]),m.useEffect(()=>{J.current=p,p?(Q.current=new Date(S.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",b))):(n("simulationPaused",!1),oe())},[p]);const fe=()=>{J.current?(S.setTime(Q.current.getTime()),J.current=!1):(W.current=new Date(i.date),_.current=0,S.setMonth(0,22),ee.current=S.getDay(),q.current=sl(S,i.latitude),S.setHours(Math.floor(q.current.sunrise/60),-P/2),e(ye=>{ye.world.date=S.toLocaleString("en-US")})),F.current=!1,ge(),Pe(),me()},se=()=>{ge(),Pe(),me(),W.current=new Date(i.date),_.current=0;for(let ye=0;ye<12;ye+=H){S.setMonth(ye,22),q.current=sl(S,i.latitude),Pe();for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower&&ze(Ie)}de(),_.current++}e(ye=>{ye.world.date=W.current.toLocaleString("en-US"),ye.viewState.showYearlyUpdraftTowerYieldPanel=!0,ye.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"}),gt.getState().set(ye=>{ye.runYearlySimulationForUpdraftTower=!1,ye.simulationInProgress=!1,ye.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",b)),F.current=!0,ve(),o&&e(ye=>{const Te=bn.getState().sumYearlyUpdraftTowerYield();ye.actionInfo={name:"Static Yearly Simulation for Updraft Tower Completed",result:{totalYield:Te},details:bn.getState().yearlyUpdraftTowerYield,timestamp:new Date().getTime()}})},oe=()=>{if(f&&!J.current)if(S.getMinutes()+S.getHours()*60+(S.getDay()-ee.current)*y2+P{Te.world.date=S.toLocaleString("en-US")});for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower&&Re(Ie)}U.current=requestAnimationFrame(oe)}else{if(de(),_.current++,_.current===R){cancelAnimationFrame(U.current),e(Te=>{Te.world.date=W.current.toLocaleString("en-US"),Te.viewState.showYearlyUpdraftTowerYieldPanel=!0,Te.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"}),gt.getState().set(Te=>{Te.runYearlySimulationForUpdraftTower=!1,Te.simulationInProgress=!1,Te.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",b)),F.current=!0,ve(),o&&e(Te=>{const Ie=bn.getState().sumYearlyUpdraftTowerYield();Te.actionInfo={name:"Dynamic Yearly Simulation for Updraft Tower Completed",result:{totalYield:Ie},details:bn.getState().yearlyUpdraftTowerYield,timestamp:new Date().getTime()}});return}S.setMonth(_.current*H,22),ee.current=S.getDay(),q.current=sl(S,i.latitude),S.setHours(Math.floor(q.current.sunrise/60),-P/2),Pe(),U.current=requestAnimationFrame(oe)}},de=()=>{const ye=re();for(const Te of r)if(Te.type===z.Foundation){const Ie=Te;if(Ie.solarStructure===zn.UpdraftTower&&Ie.solarUpdraftTower){const Ce=j.current.get(Ie.id+"-sut"),Ee=k.current.get(Te.id+"-sut"),Ue=N.current.get(Te.id+"-sut");if(Ce&&Ee&&Ue){const Ne=Ie.solarUpdraftTower.collectorTransmissivity??.9,Le=Ie.solarUpdraftTower.turbineEfficiency??.3,qe=Ie.solarUpdraftTower.dischargeCoefficient??.65,We=Math.PI*Ie.solarUpdraftTower.chimneyRadius*Ie.solarUpdraftTower.chimneyRadius,De=Math.PI*Ie.solarUpdraftTower.collectorRadius*Ie.solarUpdraftTower.collectorRadius,Fe=QY*Kbe*We,_e=2*Jbe*Ie.solarUpdraftTower.chimneyHeight,ot=.5*qe*Le*QY*We;let Ye;v&&(Ye=Jx(S,v.lowestTemperatures,v.highestTemperatures));for(let dt=0;dt0&&dt>0&&Ee[dt-1]>je){const Qe=(Ee[dt-1]+je)/2,Oe=(i.airConvectiveCoefficient??5)*De*(Qe-je),et=Qe+x4,vt=et*et*et*et,ct=at*at*at*at,lt=(Ie.solarUpdraftTower.collectorEmissivity??.95)*qbe*De*(vt-ct);Ce[dt]-=Oe+lt,Ce[dt]<0&&(Ce[dt]=0)}const ut=Ce[dt]/(Fe*at),wt=at*(1+Math.cbrt(ut*ut/_e))-x4,rt=wt>je?Math.sqrt(_e*((wt+x4)/at-1)):0;Ce[dt]=ot*rt*rt*rt*.001,Ee[dt]=wt,Ue[dt]=rt}const St=Y.current.get(Ie.id+"-sut");if(St){const dt=Ce.reduce((je,at)=>je+at,0);St[_.current]+=dt}}}}g&&he()},ve=()=>{const ye=[],Te=[];let Ie=0;for(const Ee of r)if(Ee.type===z.Foundation){const Ue=Ee;if(Ue.solarStructure===zn.UpdraftTower&&Ue.solarUpdraftTower){const Ne=Y.current.get(Ee.id+"-sut");Ne&&(ye.push(Ne),Te.push(Ee.label?Ee.label:"Tower"+ ++Ie))}}const Ce=[];for(let Ee=0;Ee<12;Ee+=H){const Ue={};Ue.Month=Ps[Ee];for(const[Ne,Le]of ye.entries())Ue[Te[Ne]]=Le[Ee/H]*le;Ce.push(Ue)}c(Ce),a(Te)},Pe=()=>{for(const ye of r)if(ye.type===z.Foundation){const Te=ye;if(Te.solarStructure===zn.UpdraftTower&&Te.solarUpdraftTower){const Ie=k.current.get(ye.id+"-sut");Ie?Ie.fill(0):k.current.set(ye.id+"-sut",new Array(24).fill(0));const Ce=N.current.get(ye.id+"-sut");Ce?Ce.fill(0):N.current.set(ye.id+"-sut",new Array(24).fill(0));const Ee=j.current.get(ye.id+"-sut");Ee?Ee.fill(0):j.current.set(ye.id+"-sut",new Array(24).fill(0))}}},me=()=>{for(const ye of r)if(ye.type===z.Foundation){const Te=ye;if(Te.solarStructure===zn.UpdraftTower&&Te.solarUpdraftTower){const Ie=Y.current.get(ye.id+"-sut");Ie&&Ie.length===R?Ie.fill(0):Y.current.set(ye.id+"-sut",new Array(R).fill(0))}}},Re=ye=>{const Te=ye.solarUpdraftTower;if(!Te)return;const Ie=zr(S,i.latitude);if(Ie.zSt)&&(je++,dt+=_e,Ye>0&&(we(ye.id+"-sut",ot,Ie)||(dt+=Ye*Fe)))}je&&(dt/=je);const wt=S.getMinutes()>=30?S.getHours()+1===24?0:S.getHours()+1:S.getHours(),rt=Math.PI*Te.collectorRadius*Te.collectorRadius;Ce[wt]+=dt*rt}},ze=ye=>{const Te=ye.solarUpdraftTower;if(!Te)return;const Ie=j.current.get(ye.id+"-sut");if(!Ie)return;const Ce=new ae().fromArray(ye.normal),Ee=S.getFullYear(),Ue=S.getMonth(),Ne=S.getDate(),Le=be.dayOfYear(S),qe=Te.collectorRadius,We=Math.max(2,Math.round(qe*2/x)),De=ye.cx-qe+x/2,Fe=ye.cy-qe+x/2,_e=ye.lz+Te.collectorHeight,ot=new ae(0,0,_e),Ye=qe*qe;let St=0,dt,je;const at=Math.PI*Te.collectorRadius*Te.collectorRadius;for(let ut=0;ut<24;ut++){for(let wt=0;wt0){const Oe=Rr(Qe,Le,w,vr.SPHERE_MODEL),et=tr(i.ground,Ue,Po,Oe),vt=Ce.dot(Qe);St=0;for(let ct=0;ctYe)&&(St++,Ie[ut]+=et,vt>0&&(we(ye.id+"-sut",ot,Qe)||(Ie[ut]+=vt*Oe)))}}}St&&(Ie[ut]/=St),Ie[ut]*=at}},Ae=()=>{const ye=$.daylight()/60;return ye>kt?v.sunshineHours[S.getMonth()]/(30*ye*T):0},re=()=>{const ye=S.getMonth(),Te=q.current.daylight()/60;return Te>kt?v.sunshineHours[ye]/(30*Te*T):0},ge=()=>{const ye=C.children.filter(Te=>Te.name==="Content");if(ye.length>0){const Te=ye[0].children;E.current.length=0;for(const Ie of Te)be.fetchSimulationElements(Ie,E.current)}},we=(ye,Te,Ie)=>{if(E.current.length>1){L.current.length=0,D.set(Te,Ie);const Ce=E.current.filter(Ee=>Ee.uuid!==ye);return D.intersectObjects(Ce,!1,L.current),L.current.length>0}return!1};return h.jsx(h.Fragment,{})});class OLo{constructor(e,n){this.position=e,this.observer=n}}const _Lo=Se.memo(()=>{const t=M.getState().world,e=M.getState().elements,n=M(dn),o=gt(Ah),i=M(rr),r=M(cA),a=gt(S7t),{scene:l}=Xi(),s=Kt(),c=m.useMemo(()=>new Gs,[]),u=t.solarPanelVisibilityGridCellSize??.2,d=m.useRef([]),f=m.useRef([]),p=m.useRef([]);m.useEffect(()=>{a&&e&&e.length>0&&(A(),o("runSolarPanelVisibilityAnalysis",!1),n(b=>{b.viewState.showSolarPanelVisibilityResultsPanel=!0,b.selectedFloatingWindow="visibilityResultsPanel"}),fn(O.t("message.SimulationCompleted",s))),o("simulationInProgress",!1)},[a]);const g=()=>{const b=l.children.filter(v=>v.name==="Content");if(b.length>0){const v=b[0].children;f.current.length=0;for(const S of v)be.fetchSimulationElements(S,f.current)}},y=()=>{d.current=[];for(const b of e)if(b.type===z.Human){const v=b;if(v.observer){const S=i(v),w=S?be.absoluteHumanOrTreeCoordinates(v.cx,v.cy,v.cz,S):new ae(v.cx,v.cy,v.cz);w.z+=v.lz,d.current.push(new OLo(w,v))}}},A=()=>{if(bn.getState().clearSolarPanelVisibilityResults(),y(),d.current.length!==0){g();for(const b of d.current){const v=new Map;for(const S of e)if(S.type===z.SolarPanel){const w=S;v.set(w.parentId,0)}for(const S of e)if(S.type===z.SolarPanel){const w=S;let T=v.get(w.parentId)??0;T+=x(w,b.position)*100,v.set(w.parentId,T)}bn.getState().setSolarPanelVisibilityResult(b,v)}}},x=(b,v)=>{let S=i(b);if(!S)throw new Error("parent of solar panel does not exist");let w=!1;if(S.type===z.Roof){if(S=r(S),!S)throw new Error("foundation of solar panel does not exist");w=!0}const T=be.absoluteCoordinates(b.cx,b.cy,b.cz,S);w&&(T.z=b.cz+S.cz+S.lz/2);const P=new ae().fromArray(b.normal),R=S.rotation[2]+b.relativeAzimuth;Math.abs(b.tiltAngle)>.001&&P.applyEuler(new Qt(b.tiltAngle,0,R,"ZYX"));const H=b.lx,D=b.ly*Math.cos(b.tiltAngle),E=b.ly*Math.abs(Math.sin(b.tiltAngle)),L=Math.max(2,Math.round(b.lx/u)),U=Math.max(2,Math.round(b.ly/u)),F=H/L,W=D/U,B=E/U,k=T.x-H/2,N=T.y-D/2,j=(w?T.z:b.poleHeight+T.z)-E/2,Y=new Gt(T.x,T.y);let _=0;const J=new ae,Q=new ae;let ee;const $=new Gt,q=be.isZero(R);for(let le=0;le0&&(Q.normalize(),C(b.id,J,Q)&&(_+=Math.abs(Q.dot(P))/(ee*ee)));return _*u*u/(4*Math.PI)},C=(b,v,S)=>{if(f.current.length>1){p.current.length=0,c.set(v,S);const w=f.current.filter(T=>T.uuid!==b);if(c.intersectObjects(w,!1,p.current),p.current.length===0)return!0;for(const[T,P]of p.current.entries())if(P.object.name.endsWith("eyeball")&&T===0)return!0;return!1}return!0};return h.jsx(h.Fragment,{})}),VLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=M(cA),s=M(w7t),c=M(x7t),u=bn(E8t),d=bn(I8t),f=bn(D8t),p=gt(aYe),g=gt(R8t),y=gt(lYe),A=gt(H8t),x=M(RBe),C=M(G1e),{scene:b}=Xi(),v=Kt(),S=a1(t),w=new Date(i.date),T=m.useMemo(()=>s(t??"Boston MA, USA"),[t]),P=m.useMemo(()=>c(t??"Boston MA, USA"),[t]),R=t?S==null?void 0:S.elevation:0,H=i.timesPerHour??4,D=60/H,E=m.useMemo(()=>new Gs,[]),L=m.useRef([]),U=m.useRef([]),F=m.useRef(0),W=m.useRef(!1),B=m.useRef(new Date(i.date)),k=m.useRef(new Map),N=m.useRef(new Map),j=m.useRef(new Array(12).fill(0)),Y=m.useRef(new Array(12).fill(0)),_=m.useRef(0),J=m.useRef(!1),Q=m.useRef(new Date(i.date)),ee=m.useRef(0),$=m.useMemo(()=>sl(w,i.latitude),[i.date,i.latitude]),q=m.useRef($);m.useEffect(()=>{if(p)if(C&&!be.hasMovingParts(r))le();else return ie(),F.current=requestAnimationFrame(pe),()=>{cancelAnimationFrame(F.current),W.current||(fn(O.t("message.SimulationAborted",v)),e(we=>{we.world.date=B.current.toLocaleString("en-US")}),gt.getState().set(we=>{we.simulationInProgress=!1,we.simulationPaused=!1})),J.current=!1}},[p]),m.useEffect(()=>{J.current=g,g?(Q.current=new Date(w.getTime()),cancelAnimationFrame(F.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),pe())},[g]);const le=()=>{re(),ve();for(const we of r)we.type===z.Sensor&&Re(we);e(we=>{we.viewState.showDailyLightSensorPanel=!0,we.selectedFloatingWindow="dailyLightSensorPanel"}),gt.getState().set(we=>{we.runDailyLightSensor=!1,we.simulationInProgress=!1,we.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),W.current=!0,ne(),o&&e(we=>{we.actionInfo={name:"Static Daily Simulation for Sensors Completed",details:bn.getState().dailyLightSensorData,timestamp:new Date().getTime()}})},ie=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(B.current=new Date(i.date),ee.current=w.getDay(),w.setHours(Math.floor($.sunrise/60),-D/2)),W.current=!1,re(),ve()},pe=()=>{if(p&&!J.current){if(w.getMinutes()+w.getHours()*60+(w.getDay()-ee.current)*y2+D>=$.sunset){cancelAnimationFrame(F.current),e(ye=>{ye.world.date=B.current.toLocaleString("en-US"),ye.viewState.showDailyLightSensorPanel=!0,ye.selectedFloatingWindow="dailyLightSensorPanel"}),gt.getState().set(ye=>{ye.runDailyLightSensor=!1,ye.simulationInProgress=!1,ye.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),W.current=!0,ne(),o&&e(ye=>{ye.actionInfo={name:"Dynamic Daily Simulation for Sensors Completed",details:bn.getState().dailyLightSensorData,timestamp:new Date().getTime()}});return}w.setHours(w.getHours(),w.getMinutes()+D),e(ye=>{ye.world.date=w.toLocaleString("en-US")});for(const ye of r)ye.type===z.Sensor&&me(ye);F.current=requestAnimationFrame(pe)}},ne=()=>{const we=ze();for(const ye of r)if(ye.type===z.Sensor){const Te=k.current.get(ye.id);if(Te)for(let Ie=0;Ie{var Ce;const we=new Map;let ye=0;const Te=[];for(const Ee of r)if(Ee.type===z.Sensor){const Ue=k.current.get(Ee.id);Ue&&(we.set("Radiation"+ ++ye,Ue),Te.push(Ee.label?Ee.label:"Radiation"+ye))}const Ie=[];for(let Ee=0;Ee<24;Ee++){const Ue={};Ue.Hour=Ee;for(let Ne=1;Ne<=ye;Ne++){const Le="Radiation"+Ne;Ue[Te[Ne-1]]=(Ce=we.get(Le))==null?void 0:Ce[Ee]}Ie.push(Ue)}d(Ie),u(Te)};m.useEffect(()=>{if(y)if(C&&!be.hasMovingParts(r))fe();else return he(),F.current=requestAnimationFrame(se),()=>{cancelAnimationFrame(F.current),W.current||(fn(O.t("message.SimulationAborted",v)),e(we=>{we.world.date=B.current.toLocaleString("en-US")}),gt.getState().set(we=>{we.simulationInProgress=!1,we.simulationPaused=!1})),J.current=!1}},[y]),m.useEffect(()=>{J.current=A,A?(Q.current=new Date(w.getTime()),cancelAnimationFrame(F.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",v))):(n("simulationPaused",!1),se())},[A]);const he=()=>{J.current?(w.setTime(Q.current.getTime()),J.current=!1):(B.current=new Date(i.date),_.current=0,w.setMonth(0,22),ee.current=w.getDay(),q.current=sl(w,i.latitude),w.setHours(Math.floor(q.current.sunrise/60),-D/2),e(we=>{we.world.date=w.toLocaleString("en-US")})),W.current=!1,re(),ve(),Pe()},fe=()=>{re(),ve(),Pe(),B.current=new Date(i.date),_.current=0;for(let we=0;we<12;we++){w.setMonth(we,22),q.current=sl(w,i.latitude),ve();for(const ye of r)ye.type===z.Sensor&&Re(ye);oe(),_.current++}e(we=>{we.world.date=B.current.toLocaleString("en-US"),we.viewState.showYearlyLightSensorPanel=!0,we.selectedFloatingWindow="yearlyLightSensorPanel"}),gt.getState().set(we=>{we.runYearlyLightSensor=!1,we.simulationInProgress=!1,we.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),W.current=!0,de(),o&&e(we=>{we.actionInfo={name:"Static Yearly Simulation for Sensors Completed",details:bn.getState().yearlyLightSensorData,timestamp:new Date().getTime()}})},se=()=>{if(y&&!J.current)if(w.getMinutes()+w.getHours()*60+(w.getDay()-ee.current)*y2+D{ye.world.date=w.toLocaleString("en-US")});for(const ye of r)ye.type===z.Sensor&&me(ye);F.current=requestAnimationFrame(se)}else{if(oe(),_.current++,_.current===12){cancelAnimationFrame(F.current),e(ye=>{ye.world.date=B.current.toLocaleString("en-US"),ye.viewState.showYearlyLightSensorPanel=!0,ye.selectedFloatingWindow="yearlyLightSensorPanel"}),gt.getState().set(ye=>{ye.runYearlyLightSensor=!1,ye.simulationInProgress=!1,ye.simulationPaused=!1}),fn(O.t("message.SimulationCompleted",v)),W.current=!0,de(),o&&e(ye=>{ye.actionInfo={name:"Dynamic Yearly Simulation for Sensors Completed",details:bn.getState().yearlyLightSensorData,timestamp:new Date().getTime()}});return}w.setMonth(_.current,22),ee.current=w.getDay(),q.current=sl(w,i.latitude),w.setHours(Math.floor(q.current.sunrise/60),-D/2),ve(),F.current=requestAnimationFrame(se)}},oe=()=>{const we=Ae();for(const ye of r)if(ye.type===z.Sensor){const Te=k.current.get(ye.id);if(Te){const Ie=N.current.get(ye.id);if(Ie){const Ce=Te.reduce((Ee,Ue)=>Ee+Ue,0);Ie[_.current]+=Ce*we}}}x&&ne()},de=()=>{const we=[],ye=[];let Te=0,Ie=!1,Ce=!1;for(const Le of r)if(Le.type===z.Sensor){const qe=N.current.get(Le.id);qe&&(we.push(qe),ye.push(Le.label?Le.label:"Radiation"+ ++Te),!Ie&&be.isIdentical(Le.normal,o0)&&(Ie=!0),!Ce&&be.isIdentical(Le.normal,U3t)&&(Ce=!0))}const Ee=Ie&&T;Ee&&ye.push("Measured (Hor.)");const Ue=Ce&&P;Ue&&ye.push("Measured (Ver.)");const Ne=[];for(let Le=0;Le<12;Le++){const qe={};qe.Month=Ps[Le];for(const[We,De]of we.entries())qe.Daylight=j.current[Le],qe.Clearness=Y.current[Le]*100,Ee&&(qe["Measured (Hor.)"]=T.data[Le]),Ue&&(qe["Measured (Ver.)"]=P.data[Le]),qe[ye[We]]=De[Le];Ne.push(qe)}f(Ne),u(ye)},ve=()=>{for(const we of r)if(we.type===z.Sensor){const ye=k.current.get(we.id);ye?ye.fill(0):k.current.set(we.id,new Array(24).fill(0))}},Pe=()=>{for(const we of r)if(we.type===z.Sensor){const ye=N.current.get(we.id);ye?ye.fill(0):N.current.set(we.id,new Array(12).fill(0))}},me=we=>{const ye=zr(w,i.latitude);if(ye.z0&&(ge(we.id,Ce,ye)||(qe+=Le*Ne));const We=k.current.get(we.id);if(We){const De=w.getMinutes()>=30?w.getHours()+1===24?0:w.getHours()+1:w.getHours();We[De]+=qe}},Re=we=>{const ye=a(we);if(!ye)throw new Error("parent of sensor does not exist");const Te=k.current.get(we.id);if(!Te)return;let Ie=null;ye.type===z.Wall&&(Ie=l(we));const Ce=be.absoluteCoordinates(we.cx,we.cy,we.cz,ye,Ie||void 0),Ee=new ae().fromArray(we.normal);Ee.applyAxisAngle(Po,ye.rotation[2]);const Ue=w.getFullYear(),Ne=w.getMonth(),Le=w.getDate(),qe=be.dayOfYear(w);for(let We=0;We<24;We++)for(let De=0;De0){const ot=Rr(_e,qe,R,vr.SPHERE_MODEL),Ye=Ee.dot(_e);Ye>0&&(ge(we.id,Ce,_e)||(Te[We]+=Ye*ot)),Te[We]+=tr(i.ground,Ne,Ee,ot)}}},ze=()=>{const we=$.daylight()/60;return we>kt?S.sunshineHours[w.getMonth()]/(30*we*H):0},Ae=()=>{const we=w.getMonth(),ye=q.current.daylight()/60;return ye>kt?(j.current[we]=ye,Y.current[we]=S.sunshineHours[we]/(30*ye),Y.current[we]/H):(j.current[we]=0,Y.current[we]=0,0)},re=()=>{const we=b.children.filter(ye=>ye.name==="Content");if(we.length>0){const ye=we[0].children;L.current.length=0;for(const Te of ye)be.fetchSimulationElements(Te,L.current)}},ge=(we,ye,Te)=>{if(L.current.length>1){U.current.length=0,E.set(ye,Te);const Ie=L.current.filter(Ce=>Ce.uuid!==we);return E.intersectObjects(Ie,!1,U.current),U.current.length>0}return!1};return h.jsx(h.Fragment,{})}),IEe=(t,e)=>{let n=e.efficiency;return e.cellType==="Monocrystalline"&&(n*=.95),n*(1+e.pmaxTC*(t-25))},GLo=Se.memo(({city:t})=>{const e=M(dn),n=gt(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(J2),l=M(rr),s=M(cA),c=bn(I7t),u=M(nW),d=bn(D7t),f=M(oW),p=M(Uje),g=M(Bje),y=bn(E7t),A=gt(Wje),x=gt(P7t),C=gt(R7t),b=gt(Nje),v=gt(C7t),S=gt(H7t),w=M(HBe),T=M(X1e),P=M(KL)??900,R=gt(K2),{scene:H}=Xi(),D=Kt(),E=a1(t),L=new Date(i.date),U=t?E==null?void 0:E.elevation:0,F=i.timesPerHour??4,W=60/F,B=i.daysPerYear??6,k=12/B,N=m.useMemo(()=>new Gs,[]),j=i.monthlyIrradianceLosses??new Array(12).fill(.05),Y=i.pvGridCellSize??.25,_=m.useRef([]),J=m.useRef([]),Q=m.useRef(0),ee=m.useRef(!1),$=m.useRef(new Date(i.date)),q=m.useRef(new Map),le=m.useRef(new Map),ie=m.useRef(0),pe=m.useRef(!1),ne=m.useRef(new Date(i.date)),Z=m.useRef(0),he=m.useRef(20),fe=m.useMemo(()=>sl(L,i.latitude),[i.date,i.latitude]),se=m.useRef(fe),oe=be.daysInYear(L)/12;m.useEffect(()=>{if(A)if(T&&!be.hasMovingParts(r))setTimeout(()=>{de(!1)},50);else return ve(),Q.current=requestAnimationFrame(Pe),()=>{cancelAnimationFrame(Q.current),ee.current||(fn(O.t("message.SimulationAborted",D)),e(De=>{De.world.date=$.current.toLocaleString("en-US")}),gt.getState().set(De=>{De.simulationInProgress=!1,De.simulationPaused=!1})),pe.current=!1}},[A]),m.useEffect(()=>{x&&T&&!be.hasMovingParts(r)&&setTimeout(()=>{de(!0)},50)},[x]),m.useEffect(()=>{pe.current=C,C?(ne.current=new Date(L.getTime()),cancelAnimationFrame(Q.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",D))):(n("simulationPaused",!1),Pe())},[C]);const de=De=>{We(),Ie();for(const Fe of r)Fe.type===z.SolarPanel&&ye(Fe);if(e(Fe=>{!R&&!De&&(Fe.viewState.showDailyPvYieldPanel=!0,Fe.selectedFloatingWindow="dailyPvYieldPanel")}),gt.getState().set(Fe=>{De?Fe.runDailySimulationForSolarPanelsLastStep=!1:Fe.runDailySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ee.current=!0,me(),!R&&!De&&(fn(O.t("message.SimulationCompleted",D)),o)){const Fe=bn.getState().sumDailyPvYield(),_e=bn.getState().getDailyPvProfit(),ot=bn.getState().dailyPvYield;e(Ye=>{Ye.actionInfo={name:"Static Daily Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:_e.toFixed(2)},details:ot,timestamp:new Date().getTime()}})}},ve=()=>{pe.current?(L.setTime(ne.current.getTime()),pe.current=!1):($.current=new Date(i.date),Z.current=L.getDay(),L.setHours(Math.floor(fe.sunrise/60),-W/2)),ee.current=!1,We(),Ie()},Pe=()=>{if(A&&!pe.current){if(L.getMinutes()+L.getHours()*60+(L.getDay()-Z.current)*y2+W>=fe.sunset){if(cancelAnimationFrame(Q.current),e(Fe=>{Fe.world.date=$.current.toLocaleString("en-US"),R||(Fe.viewState.showDailyPvYieldPanel=!0,Fe.selectedFloatingWindow="dailyPvYieldPanel")}),gt.getState().set(Fe=>{Fe.runDailySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ee.current=!0,me(),!R&&(fn(O.t("message.SimulationCompleted",D)),o)){const Fe=bn.getState().sumDailyPvYield(),_e=bn.getState().getDailyPvProfit(),ot=bn.getState().dailyPvYield;e(Ye=>{Ye.actionInfo={name:"Dynamic Daily Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:_e.toFixed(2)},details:ot,timestamp:new Date().getTime()}})}return}L.setHours(L.getHours(),L.getMinutes()+W),e(Fe=>{Fe.world.date=L.toLocaleString("en-US")});for(const Fe of r)Fe.type===z.SolarPanel&&Te(Fe);Q.current=requestAnimationFrame(Pe)}},me=()=>{const De=Ee();for(const Fe of r)if(Fe.type===z.SolarPanel){const _e=Fe,ot=q.current.get(Fe.id);if(ot){const Ye=Ne(_e)*De;for(let St=0;St{var De;if(p){const Fe=new Array(24).fill(0),_e=new Map;let ot=0;const Ye=[];for(const dt of r)if(dt.type===z.SolarPanel){const je=q.current.get(dt.id);if(je){u(dt.id,je.reduce((at,ut)=>at+ut,0)),ot++,_e.set("Panel"+ot,je),Ye.push(dt.label?dt.label:"Panel"+ot);for(let at=0;at<24;at++)Fe[at]+=je[at]}}const St=[];for(let dt=0;dt<24;dt++){const je={};je.Hour=dt;for(let at=1;at<=ot;at++){const ut="Panel"+at;je[Ye[at-1]]=(De=_e.get(ut))==null?void 0:De[dt]}St.push(je)}c(St),y(Ye)}else{const Fe=new Array(24).fill(0);for(const ot of r)if(ot.type===z.SolarPanel){const Ye=q.current.get(ot.id);if(Ye){u(ot.id,Ye.reduce((St,dt)=>St+dt,0));for(let St=0;St<24;St++)Fe[St]+=Ye[St]}}const _e=[];for(let ot=0;ot<24;ot++)_e.push({Hour:ot,Total:Fe[ot]});c(_e)}};m.useEffect(()=>{if(b)if(T&&!be.hasMovingParts(r))setTimeout(()=>{Ae(!1)},50);else return ze(),Q.current=requestAnimationFrame(re),()=>{cancelAnimationFrame(Q.current),ee.current||(fn(O.t("message.SimulationAborted",D)),e(De=>{De.world.date=$.current.toLocaleString("en-US")}),gt.getState().set(De=>{De.simulationInProgress=!1,De.simulationPaused=!1})),pe.current=!1}},[b]),m.useEffect(()=>{v&&T&&!be.hasMovingParts(r)&&setTimeout(()=>{Ae(!0)},50)},[v]),m.useEffect(()=>{pe.current=S,S?(ne.current=new Date(L.getTime()),cancelAnimationFrame(Q.current),n("simulationPaused",!0),fn(O.t("message.SimulationPaused",D))):(n("simulationPaused",!1),re())},[S]);const ze=()=>{pe.current?(L.setTime(ne.current.getTime()),pe.current=!1):($.current=new Date(i.date),ie.current=0,L.setMonth(0,22),Z.current=L.getDay(),se.current=sl(L,i.latitude),L.setHours(Math.floor(se.current.sunrise/60),-W/2),e(De=>{De.world.date=L.toLocaleString("en-US")})),ee.current=!1,We(),Ie(),Ce()},Ae=De=>{We(),Ie(),Ce(),$.current=new Date(i.date),ie.current=0;for(let Fe=0;Fe<12;Fe+=k){L.setMonth(Fe,22),se.current=sl(L,i.latitude),Ie();for(const _e of r)_e.type===z.SolarPanel&&ye(_e);ge(),ie.current++}if(e(Fe=>{Fe.world.date=$.current.toLocaleString("en-US"),!R&&!De&&(Fe.viewState.showYearlyPvYieldPanel=!0,Fe.selectedFloatingWindow="yearlyPvYieldPanel")}),gt.getState().set(Fe=>{De?Fe.runYearlySimulationForSolarPanelsLastStep=!1:Fe.runYearlySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ee.current=!0,we(),!R&&!De&&(fn(O.t("message.SimulationCompleted",D)),o)){const Fe=bn.getState().sumYearlyPvYield(),_e=bn.getState().getYearlyPvProfit(),ot=bn.getState().yearlyPvYield;e(Ye=>{Ye.actionInfo={name:"Static Yearly Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:_e.toFixed(2)},details:ot,timestamp:new Date().getTime()}})}},re=()=>{if(b&&!pe.current)if(L.getMinutes()+L.getHours()*60+(L.getDay()-Z.current)*y2+W{Fe.world.date=L.toLocaleString("en-US")});for(const Fe of r)Fe.type===z.SolarPanel&&Te(Fe);Q.current=requestAnimationFrame(re)}else{if(ge(),ie.current++,ie.current===B){if(cancelAnimationFrame(Q.current),e(Fe=>{Fe.world.date=$.current.toLocaleString("en-US"),R||(Fe.viewState.showYearlyPvYieldPanel=!0,Fe.selectedFloatingWindow="yearlyPvYieldPanel")}),gt.getState().set(Fe=>{Fe.runYearlySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ee.current=!0,we(),!R&&(fn(O.t("message.SimulationCompleted",D)),o)){const Fe=bn.getState().sumYearlyPvYield(),_e=bn.getState().getYearlyPvProfit(),ot=bn.getState().yearlyPvYield;e(Ye=>{Ye.actionInfo={name:"Dynamic Yearly Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:_e.toFixed(2)},details:ot,timestamp:new Date().getTime()}})}return}L.setMonth(ie.current*k,22),Z.current=L.getDay(),se.current=sl(L,i.latitude),L.setHours(Math.floor(se.current.sunrise/60),-W/2),Ie(),Q.current=requestAnimationFrame(re)}},ge=()=>{const De=Ue();for(const Fe of r)if(Fe.type===z.SolarPanel){const _e=Fe,ot=q.current.get(Fe.id);if(ot){const Ye=le.current.get(Fe.id);if(Ye){const St=ot.reduce((dt,je)=>dt+je,0);Ye[ie.current]+=St*De*Ne(_e)}}}!R&&w&&me()},we=()=>{if(g){const De=[],Fe=[];let _e=0;for(const Ye of r)if(Ye.type===z.SolarPanel){const St=le.current.get(Ye.id);St&&(f(Ye.id,St.reduce((dt,je)=>dt+je,0)*k*oe),De.push(St),_e++,Fe.push(Ye.label??"Panel"+_e))}const ot=[];for(let Ye=0;Ye<12;Ye+=k){const St={};St.Month=Ps[Ye];for(const[dt,je]of De.entries())St[Fe[dt]]=je[Ye/k]*oe;ot.push(St)}d(ot),y(Fe)}else{const De=[];for(const _e of r)if(_e.type===z.SolarPanel){const ot=le.current.get(_e.id);ot&&(f(_e.id,ot.reduce((Ye,St)=>Ye+St,0)*k*oe),De.push(ot))}const Fe=[];for(let _e=0;_e<12;_e+=k){let ot=0;for(const Ye of De)ot+=Ye[_e/k];Fe.push({Month:Ps[_e],Total:ot*oe})}d(Fe)}},ye=De=>{if(De.trackerType!==Ma.NO_TRACKER)throw new Error("static simulation is not for solar panel with tracker");let Fe=l(De);if(!Fe)throw new Error("parent of solar panel does not exist");const _e=De.parentType===z.Roof,ot=De.parentType===z.Wall;if(_e&&(Fe=s(Fe),!Fe))throw new Error("foundation of solar panel does not exist");const Ye=a(De.pvModelName);if(!Ye)throw new Error("PV model not found");const St=q.current.get(De.id);if(!St)return;const dt=ot?be.absoluteCoordinates(De.cx,De.cy,De.cz,Fe,s(De),De.lz):be.absoluteCoordinates(De.cx,De.cy,De.cz,Fe),je=Fe.rotation[2];let at=je+De.relativeAzimuth,ut=De.tiltAngle,wt=!0;if(_e&&(dt.z=De.cz+De.lz+.02+Fe.cz+Fe.lz/2,be.isZero(De.rotation[0])?dt.z+=De.poleHeight:(ut=De.rotation[0],at=je,wt=!1)),ot&&!be.isZero(De.tiltAngle)){const Ge=Fe,xt=s(Fe),Tt=(xt?xt.rotation[2]+Ge.relativeAngle:Ge.relativeAngle)-Vt,Dt=De.ly*Math.abs(Math.sin(De.tiltAngle))/2;dt.x+=Dt*Math.cos(Tt),dt.y+=Dt*Math.sin(Tt)}const rt=new ae().fromArray(De.normal),Qe=new Qt(_e&&!wt?0:ut,0,at,"ZYX");rt.applyEuler(Qe);const Oe=L.getFullYear(),et=L.getMonth(),vt=L.getDate(),ct=be.dayOfYear(L);let lt,tt,it,At,Mt;i.discretization===Rm.EXACT?(lt=De.lx,tt=De.ly,De.orientation===ci.portrait?(it=Math.max(1,Math.round(De.lx/Ye.width)),At=Math.max(1,Math.round(De.ly/Ye.length)),it*=Ye.n,At*=Ye.m):(it=Math.max(1,Math.round(De.lx/Ye.length)),At=Math.max(1,Math.round(De.ly/Ye.width)),it*=Ye.m,At*=Ye.n),Mt=De.lx/it):(lt=De.lx,tt=De.ly,it=Math.max(2,Math.round(De.lx/Y)),At=Math.max(2,Math.round(De.ly/Y)),it%2!==0&&(it+=1),At%2!==0&&(At+=1),Mt=Y);const st=lt/it,ft=tt/At,Rt=dt.x-(lt-Mt)/2,zt=dt.y-(tt-Mt)/2,Xe=_e||ot?dt.z:Fe.lz+De.poleHeight+De.lz,ht=new Gt(dt.x,dt.y),Je=new ae,mt=Array.from(Array(it),()=>new Array(At));_e&&!wt&&(Qe.x=De.rotation[0],Qe.z=De.rotation[2]+je),ot&&(Qe.x=Vt+De.tiltAngle,Qe.z=Fe.relativeAngle+je);for(let Ge=0;Ge<24;Ge++)for(let xt=0;xt0){const Dt=Rr(Tt,ct,U,vr.SPHERE_MODEL),Lt=tr(i.ground,et,rt,Dt),Et=rt.dot(Tt),an=new Gt,Jt=new ae;if(Ye.bifacialityFactor>0){const Sn=rt.clone().negate(),Pn=tr(i.ground,et,Sn,Dt),Un=Lt+Pn*Ye.bifacialityFactor;for(let Ai=0;Ai0?Et:-Et*Ye.bifacialityFactor)*Dt)}else for(let Sn=0;Sn0&&(an.set(Rt+Sn*st,zt+Pn*ft),Jt.set(an.x-ht.x,an.y-ht.y,0),Jt.applyEuler(Qe),Je.set(dt.x+Jt.x,dt.y+Jt.y,Xe+Jt.z),qe(De.id,Je,Tt)||(mt[Sn][Pn]+=Et*Dt));let hn=0;Le(It);const cn=IEe(he.current,Ye);switch(Ye.shadeTolerance){case zv.NONE:{let Sn=Number.MAX_VALUE;for(let Pn=0;Pn{let Fe=l(De);if(!Fe)throw new Error("parent of solar panel does not exist");const _e=De.parentType===z.Roof,ot=De.parentType===z.Wall;if(_e&&(Fe=s(Fe),!Fe))throw new Error("foundation of solar panel does not exist");const Ye=a(De.pvModelName);if(!Ye)throw new Error("PV model not found");const St=zr(L,i.latitude);if(St.z<=0)return;const dt=ot?be.absoluteCoordinates(De.cx,De.cy,De.cz,Fe,s(De),De.lz):be.absoluteCoordinates(De.cx,De.cy,De.cz,Fe),je=Fe.rotation[2];let at=De.tiltAngle,ut=je+De.relativeAzimuth,wt=!0;if(_e&&(dt.z=De.cz+De.lz+.02+Fe.cz+Fe.lz/2,be.isZero(De.rotation[0])?dt.z+=De.poleHeight:(at=De.rotation[0],ut=je,wt=!1)),ot&&!be.isZero(De.tiltAngle)){const Lt=Fe,Et=s(Fe),Jt=(Et?Et.rotation[2]+Lt.relativeAngle:Lt.relativeAngle)-Vt,hn=De.ly*Math.abs(Math.sin(De.tiltAngle))/2;dt.x+=hn*Math.cos(Jt),dt.y+=hn*Math.sin(Jt)}const rt=new ae().fromArray(De.normal),Qe=L.getMonth(),Oe=be.dayOfYear(L);let et,vt,ct,lt,tt;i.discretization===Rm.EXACT?(et=De.lx,vt=De.ly,De.orientation===ci.portrait?(ct=Math.max(1,Math.round(De.lx/Ye.width)),lt=Math.max(1,Math.round(De.ly/Ye.length)),ct*=Ye.n,lt*=Ye.m):(ct=Math.max(1,Math.round(De.lx/Ye.length)),lt=Math.max(1,Math.round(De.ly/Ye.width)),ct*=Ye.m,lt*=Ye.n),tt=De.lx/ct):(et=De.lx,vt=De.ly,ct=Math.max(2,Math.round(De.lx/Y)),lt=Math.max(2,Math.round(De.ly/Y)),ct%2!==0&&(ct+=1),lt%2!==0&&(lt+=1),tt=Y);const it=et/ct,At=vt/lt,Mt=dt.x-(et-tt)/2,st=dt.y-(vt-tt)/2,ft=_e||ot?dt.z:Fe.lz+De.poleHeight+De.lz,Rt=new Gt(dt.x,dt.y),zt=new ae,Xe=Array.from(Array(ct),()=>new Array(lt));let ht=new Qt(_e&&!wt?0:at,0,ut,"ZYX");if(De.trackerType!==Ma.NO_TRACKER){const Lt=je?St.clone().applyAxisAngle(Po,-je):St.clone();switch(De.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const Et=new Ts().setFromUnitVectors(Po,Lt);ht=new Qt().setFromQuaternion(Et),ht.z+=ut;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const Et=new Ts().setFromUnitVectors(Po,new ae(Lt.x,0,Lt.z).normalize());ht=new Qt().setFromQuaternion(Et),ht.z+=ut;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{const Et=new ae(Lt.x,-Lt.y,0).normalize(),an=Math.acos(Yc.dot(Et))*Math.sign(Et.x);ht=new Qt(De.tiltAngle,0,an+je,"ZYX");break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}rt.applyEuler(ht),_e&&!wt&&(ht.x=De.rotation[0],ht.z=De.rotation[2]+je),ot&&(ht.x=Vt+De.tiltAngle,ht.z=Fe.relativeAngle+je);const Je=Rr(St,Oe,U,vr.SPHERE_MODEL),mt=tr(i.ground,Qe,rt,Je),Ge=rt.dot(St),xt=new Gt,It=new ae;if(Ye.bifacialityFactor>0){const Lt=rt.clone().negate(),Et=tr(i.ground,Qe,Lt,Je),an=mt+Et*Ye.bifacialityFactor;for(let Jt=0;Jt0?Ge:-Ge*Ye.bifacialityFactor)*Je)}else for(let Lt=0;Lt0&&(xt.set(Mt+Lt*it,st+Et*At),It.set(xt.x-Rt.x,xt.y-Rt.y,0),It.applyEuler(ht),zt.set(dt.x+It.x,dt.y+It.y,ft+It.z),qe(De.id,zt,St)||(Xe[Lt][Et]+=Ge*Je));let Tt=0;switch(Ye.shadeTolerance){case zv.NONE:{let Lt=Number.MAX_VALUE;for(let Et=0;Et=30?L.getHours()+1===24?0:L.getHours()+1:L.getHours();Dt[Et]+=Lt*Tt/(ct*lt)}},Ie=()=>{for(const De of r)if(De.type===z.SolarPanel){const Fe=q.current.get(De.id);Fe?Fe.fill(0):q.current.set(De.id,new Array(24).fill(0))}},Ce=()=>{for(const De of r)if(De.type===z.SolarPanel){const Fe=le.current.get(De.id);Fe&&Fe.length===B?Fe.fill(0):le.current.set(De.id,new Array(B).fill(0))}},Ee=()=>{const De=fe.daylight()/60;return De>kt?E.sunshineHours[L.getMonth()]/(30*De*F):0},Ue=()=>{const De=se.current.daylight()/60;return De>kt?E.sunshineHours[L.getMonth()]/(30*De*F):0},Ne=De=>{if(!a(De.pvModelName))throw new Error("PV model not found");return De.lx*De.ly*(De.inverterEfficiency??.95)*(1-j[L.getMonth()])},Le=De=>{if(E){const Fe=Jx(De,E.lowestTemperatures,E.highestTemperatures);he.current=Xx(Fe.high,Fe.low,i.diurnalTemperatureModel,P,sl(De,i.latitude),be.minutesIntoDay(De))}},qe=(De,Fe,_e)=>{if(_.current.length>1){J.current.length=0,N.set(Fe,_e);const ot=_.current.filter(Ye=>Ye.uuid!==De);return N.intersectObjects(ot,!1,J.current),J.current.length>0}return!1},We=()=>{const De=H.children.filter(Fe=>Fe.name==="Content");if(De.length>0){const Fe=De[0].children;_.current.length=0;for(const _e of Fe)be.fetchSimulationElements(_e,_.current)}};return h.jsx(h.Fragment,{})}),XLo=Se.memo(()=>{const t=M(Xs),e=M(wb),n=M(Lje),o=M(Fje),i=M(uge),[r,a]=m.useState("Boston MA, USA");return m.useEffect(()=>{if(Object.keys(i).length===0)return;const l=n(t,e)??"Boston MA, USA";a(l),o(l)},[t,e,i]),h.jsxs(h.Fragment,{children:[h.jsx(FLo,{city:r}),h.jsx(LLo,{city:r}),h.jsx(WLo,{city:r}),h.jsx(VLo,{city:r}),h.jsx(GLo,{city:r}),h.jsx(_Lo,{}),h.jsx(NLo,{city:r}),h.jsx(ULo,{city:r}),h.jsx(BLo,{city:r}),h.jsx(jLo,{city:r}),h.jsx(YLo,{city:r})]})}),QO="/aladdin/assets/image_fail_try_again-CaxVXMjm.png";var HL=(t=>(t[t.None=0]="None",t[t.Equal=1]="Equal",t[t.LessThan=2]="LessThan",t[t.GreaterThan=3]="GreaterThan",t[t.Between=4]="Between",t))(HL||{});const JLo=5,KLo=Se.memo(({yScale:t,tickLength:e,tickIntegers:n,variable:o,name:i,unit:r,type:a,digits:l,min:s,max:c,step:u,value:d,filter:f,hover:p})=>{const g=M(dn),y=M(Eg),A=M(Sc),x=M(Eje),C=M(Dje),b=M(kje),[v,S]=m.useState(!1),w=m.useRef(s),T=m.useRef(c);m.useEffect(()=>{w.current=s},[s]),m.useEffect(()=>{T.current=c},[c]);const P={lng:A},R=y.uid===x,H=t.range(),D=t(s)-t(c),E=40,L=m.useMemo(()=>{const Y=H[0]-H[1],_=a==="number"?Math.floor(Y/e):1;return(n?t.ticks(_).filter(Q=>Number.isInteger(Q)):t.ticks(_)).map(Q=>({value:Q,yOffset:t(Q)}))},[t,e,a,n,H]),U=()=>{g(Y=>{Y.projectState.selectedProperty=Y.projectState.selectedProperty!==o?o:null}),gt.getState().set(Y=>{Y.updateProjectsFlag=!0})},F=()=>{R&&x&&C?FYn(x,C,b!==o?o:null).then(()=>{U()}):U()},W=(Y,_)=>h.jsx("span",{style:{display:"block",width:_+"px"},children:Y}),B=()=>h.jsx("text",{onClick:F,x:0,y:-20,style:{fontSize:"10px",textAnchor:"middle",fill:"dimgray",cursor:"pointer",fontWeight:b===o?"bold":"normal"},children:i}),k=m.useMemo(()=>o==="yearlyProfit"||o==="unitCost"||o==="sellingPrice"||o==="totalYearlyCost",[o]),N=()=>o==="totalYearlyCost"||o==="totalYearlyYield"||o==="meanYearlyYield"||o==="unitCost"||o==="poleHeight"||o==="interRowSpacing"?0:o==="tiltAngle"||o==="latitude"?-90:o==="rowWidth"?1:Number.MIN_SAFE_INTEGER,j=()=>o==="tiltAngle"||o==="latitude"?90:Number.MAX_SAFE_INTEGER;return h.jsxs(h.Fragment,{children:[o!=="orientation"?h.jsx(gl,{content:h.jsxs("div",{children:[h.jsx(Hn,{style:{width:"240px"},addonBefore:W(O.t("word.Minimum",P)+(k?" $":""),80),addonAfter:r,min:N(),max:T.current-u,step:u,value:w.current,onChange:Y=>{Y!==null&&(g(_=>{if(_.projectState.ranges){let J=-1,Q=null;for(const[ee,$]of _.projectState.ranges.entries())if($.variable===o){J=ee,Q=$;break}if(J>=0&&Q)_.projectState.ranges[J]={variable:Q.variable,minimum:Y,maximum:Q.maximum},y.uid&&_.projectState.title&&iCe(y.uid,_.projectState.title,_.projectState.ranges);else{const ee={variable:o,minimum:Y,maximum:c};_.projectState.ranges.push(ee),y.uid&&_.projectState.title&&xO(y.uid,_.projectState.title,ee)}}else{const J={variable:o,minimum:Y,maximum:c};_.projectState.ranges=[J],y.uid&&_.projectState.title&&xO(y.uid,_.projectState.title,J)}}),w.current=Number(Y),S(!v))}}),h.jsx("br",{}),h.jsx(Hn,{style:{width:"240px"},addonBefore:W(O.t("word.Maximum",P)+(k?" $":""),80),addonAfter:r,min:w.current+u,max:j(),step:u,value:T.current,onChange:Y=>{Y!==null&&(g(_=>{if(_.projectState.ranges){let J=-1,Q=null;for(const[ee,$]of _.projectState.ranges.entries())if($.variable===o){J=ee,Q=$;break}if(J>=0&&Q)_.projectState.ranges[J]={variable:Q.variable,minimum:Q.minimum,maximum:Y},y.uid&&_.projectState.title&&iCe(y.uid,_.projectState.title,_.projectState.ranges);else{const ee={variable:o,minimum:s,maximum:Y};_.projectState.ranges.push(ee),y.uid&&_.projectState.title&&xO(y.uid,_.projectState.title,ee)}}else{const J={variable:o,minimum:s,maximum:Y};_.projectState.ranges=[J],y.uid&&_.projectState.title&&xO(y.uid,_.projectState.title,J)}}),T.current=Number(Y),S(!v))}})]}),children:B()}):h.jsx(h.Fragment,{children:B()}),d!==void 0&&h.jsx("text",{x:0,y:-8,style:{fontSize:"9px",textAnchor:"middle",fill:"dimgray"},children:k?d.toLocaleString("en-US",{style:"currency",currency:"USD",maximumFractionDigits:l})+(o==="yearlyProfit"||o==="totalYearlyCost"?"K":""):(o==="orientation"?O.t(d===0?"solarPanelMenu.Landscape":"solarPanelMenu.Portrait",P)+(d===0?" (▭)":" (▯)"):d.toFixed(l))+(r!==""?r:"")}),f&&f.type===HL.Between&&h.jsx("rect",{x:-5,y:t(f.upperBound??c),width:10,height:t((f==null?void 0:f.lowerBound)??s)-t((f==null?void 0:f.upperBound)??c),fill:"lightgray"}),h.jsx("rect",{x:-E/2,y:0,width:E,height:D,fill:"gold",fillOpacity:b===o?.25:0}),L.map(({value:Y,yOffset:_})=>h.jsxs("g",{transform:`translate(0, ${_})`,shapeRendering:"crispEdges",children:[h.jsx("line",{x1:-JLo,x2:0,stroke:"black",strokeWidth:1}),h.jsx("text",{style:{fontSize:"10px",textAnchor:"start",alignmentBaseline:"central",transform:"translateX(-25px)"},children:o==="orientation"?Y===0?"▭":"▯":Y},Y)]},Y)),h.jsx("line",{x1:0,x2:0,y1:t(s),y2:t(c),stroke:"black",strokeWidth:2}),f&&f.type===HL.Between&&h.jsx("foreignObject",{x:-E/2,y:4,width:E,height:D-3,children:h.jsx(iy,{theme:{components:{Slider:{railBg:"black",railSize:0,handleSize:8}}},children:h.jsx(Mu,{style:{marginLeft:E/2+"px"},min:s,max:c,step:(c-s)/100,value:[f.lowerBound??s,f.upperBound??c],onChange:Y=>{f&&(f.lowerBound=Y[0],f.upperBound=Y[1],p&&p(-1),g(_=>{if(_.projectState.filters){let J=-1;for(const[Q,ee]of _.projectState.filters.entries())if(ee.variable===o){J=Q;break}if(J>=0)_.projectState.filters[J]={variable:f.variable,type:f.type,lowerBound:f.lowerBound,upperBound:f.upperBound};else{const Q={variable:o,type:f.type,lowerBound:f.lowerBound,upperBound:f.upperBound};_.projectState.filters.push(Q)}}}),S(!v))},range:!0,vertical:!0})})})]})}),KT={top:30,right:55,bottom:36,left:55},qLo=["#e0ac2b","#e85252","#6689c6","#9a6fb0","#a53253","#69b3a2","#556b2f","#8b008b","#ff1493","#d2691e","#2f4f4f","#dc143c"],$Lo=Se.memo(({id:t,width:e,height:n,data:o,types:i,minima:r,maxima:a,filters:l,steps:s,variables:c,titles:u,units:d,digits:f,tickIntegers:p,hover:g,hoveredIndex:y,selectedIndex:A})=>{const x=e-KT.right-KT.left,C=n-KT.top-KT.bottom,b=m.useMemo(()=>[...new Set(o.map(H=>H.group))],[o]),v=m.useMemo(()=>HC().range([0,x]).domain(c).padding(0),[c,x]),S=m.useMemo(()=>{const H={};return c.forEach((D,E)=>{H[D]=QF().range([C,0]).domain([r[E]??0,a[E]??1])}),H},[c,r,a,C]),w=m.useMemo(()=>Pee().domain(b).range(qLo),[b]),T=J9e(),P=m.useMemo(()=>o.map((H,D)=>{if(H.invisible)return null;const E=c.map(U=>{const F=S[U],W=v(U)??0,B=F(H[U]);return[W,B]}),L=T(E);if(L)return h.jsx("path",{onMouseOver:()=>{g(D)},d:L,stroke:H.hovered?"red":w(H.group),fill:"none",strokeWidth:H.excluded?.25:H.selected?3:1,strokeDasharray:H.hovered?"3,3":"none"},D)}),[o,c,v,S,w]),R=m.useMemo(()=>c.map((H,D)=>{const E=S[H];return h.jsx("g",{transform:"translate("+v(H)+",0)",children:h.jsx(KLo,{yScale:E,tickLength:40,tickIntegers:p[D],type:i[D]??"number",variable:c[D],name:u[D],unit:d[D],digits:f[D],min:r[D],max:a[D],step:s[D],value:y>=0&&!o[y].invisible?o[y][H]:A>=0&&!o[A].invisible?o[A][H]:void 0,filter:l[D],hover:g})},D)}),[c,o,v,S,p,i,u,d,f,r,a,s,l,A,y]);return h.jsx("svg",{id:t,width:e,height:n,onMouseLeave:()=>{g&&g(-1)},onContextMenu:H=>{H.stopPropagation()},children:h.jsxs("g",{width:x,height:C,transform:`translate(${[KT.left,KT.top].join(",")})`,children:[P,R]})})});var Uhe={};(function(t){(function(){var e=t||!1||this||window;e.default=e;var n="http://www.w3.org/2000/xmlns/",o="http://www.w3.org/1999/xhtml",i="http://www.w3.org/2000/svg",r=']>',a=/url\(["']?(.+?)["']?\)/,l={woff2:"font/woff2",woff:"font/woff",otf:"application/x-font-opentype",ttf:"application/x-font-ttf",eot:"application/vnd.ms-fontobject",sfnt:"application/font-sfnt",svg:"image/svg+xml"},s=function(E){return E instanceof HTMLElement||E instanceof SVGElement},c=function(E){if(!s(E))throw new Error("an HTMLElement or SVGElement is required; got "+E)},u=function(E){return new Promise(function(L,U){s(E)?L(E):U(new Error("an HTMLElement or SVGElement is required; got "+E))})},d=function(E){return E&&E.lastIndexOf("http",0)===0&&E.lastIndexOf(window.location.host)===-1},f=function(E){var L=Object.keys(l).filter(function(U){return E.indexOf("."+U)>0}).map(function(U){return l[U]});return L?L[0]:(console.error("Unknown font format for "+E+". Fonts may not be working correctly."),"application/octet-stream")},p=function(E){for(var L="",U=new Uint8Array(E),F=0;F"u"||F===null||isNaN(parseFloat(F))?0:F},y=function(E,L,U,F){if(E.tagName==="svg")return{width:U||g(E,L,"width"),height:F||g(E,L,"height")};if(E.getBBox){var W=E.getBBox(),B=W.x,k=W.y,N=W.width,j=W.height;return{width:B+N,height:k+j}}},A=function(E){return decodeURIComponent(encodeURIComponent(E).replace(/%([0-9A-F]{2})/g,function(L,U){var F=String.fromCharCode("0x"+U);return F==="%"?"%25":F}))},x=function(E){for(var L=window.atob(E.split(",")[1]),U=E.split(",")[0].split(":")[1].split(";")[0],F=new ArrayBuffer(L.length),W=new Uint8Array(F),B=0;B"u",J=k||[];return P().forEach(function(Q){var ee=Q.rules,$=Q.href;ee&&Array.from(ee).forEach(function(q){if(typeof q.style<"u")if(C(E,q.selectorText))Y.push(j(q.selectorText,q.style.cssText));else if(_&&q.cssText.match(/^@font-face/)){var le=b(q,$);le&&J.push(le)}else N||Y.push(q.cssText)})}),w(J).then(function(Q){return Y.join(` `)+Q})},H=function(){if(!navigator.msSaveOrOpenBlob&&!("download"in document.createElement("a")))return{popup:window.open()}};e.prepareSvg=function(D,E,L){c(D);var U=E||{},F=U.left,W=F===void 0?0:F,B=U.top,k=B===void 0?0:B,N=U.width,j=U.height,Y=U.scale,_=Y===void 0?1:Y,J=U.responsive,Q=J===void 0?!1:J,ee=U.excludeCss,$=ee===void 0?!1:ee;return v(D).then(function(){var q=D.cloneNode(!0);q.style.backgroundColor=(E||{}).backgroundColor||D.style.backgroundColor;var le=y(D,q,N,j),ie=le.width,pe=le.height;if(D.tagName!=="svg")if(D.getBBox){q.getAttribute("transform")!=null&&q.setAttribute("transform",q.getAttribute("transform").replace(/translate\(.*?\)/,""));var ne=document.createElementNS("http://www.w3.org/2000/svg","svg");ne.appendChild(q),q=ne}else{console.error("Attempted to render non-SVG element",D);return}if(q.setAttribute("version","1.1"),q.setAttribute("viewBox",[W,k,ie,pe].join(" ")),q.getAttribute("xmlns")||q.setAttributeNS(n,"xmlns",i),q.getAttribute("xmlns:xlink")||q.setAttributeNS(n,"xmlns:xlink","http://www.w3.org/1999/xlink"),Q?(q.removeAttribute("width"),q.removeAttribute("height"),q.setAttribute("preserveAspectRatio","xMinYMin meet")):(q.setAttribute("width",ie*_),q.setAttribute("height",pe*_)),Array.from(q.querySelectorAll("foreignObject > *")).forEach(function(fe){fe.setAttributeNS(n,"xmlns",fe.tagName==="svg"?i:o)}),$){var Z=document.createElement("div");Z.appendChild(q);var he=Z.innerHTML;if(typeof L=="function")L(he,ie,pe);else return{src:he,width:ie,height:pe}}else return R(D,E).then(function(fe){var se=document.createElement("style");se.setAttribute("type","text/css"),se.innerHTML=``;var oe=document.createElement("defs");oe.appendChild(se),q.insertBefore(oe,q.firstChild);var de=document.createElement("div");de.appendChild(q);var ve=de.innerHTML.replace(/NS\d+:href/gi,'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href');if(typeof L=="function")L(ve,ie,pe);else return{src:ve,width:ie,height:pe}})})},e.svgAsDataUri=function(D,E,L){return c(D),e.prepareSvg(D,E).then(function(U){var F=U.src,W=U.width,B=U.height,k="data:image/svg+xml;base64,"+window.btoa(A(r+F));return typeof L=="function"&&L(k,W,B),k})},e.svgAsPngUri=function(D,E,L){c(D);var U=E||{},F=U.encoderType,W=F===void 0?"image/png":F,B=U.encoderOptions,k=B===void 0?.8:B,N=U.canvg,j=function(_){var J=_.src,Q=_.width,ee=_.height,$=document.createElement("canvas"),q=$.getContext("2d"),le=window.devicePixelRatio||1;$.width=Q*le,$.height=ee*le,$.style.width=$.width+"px",$.style.height=$.height+"px",q.setTransform(le,0,0,le,0,0),N?N($,J):q.drawImage(J,0,0);var ie=void 0;try{ie=$.toDataURL(W,k)}catch(pe){if(typeof SecurityError<"u"&&pe instanceof SecurityError||pe.name==="SecurityError"){console.error("Rendered SVG images cannot be downloaded in this browser.");return}else throw pe}return typeof L=="function"&&L(ie,$.width,$.height),Promise.resolve(ie)};return N?e.prepareSvg(D,E).then(j):e.svgAsDataUri(D,E).then(function(Y){return new Promise(function(_,J){var Q=new Image;Q.onload=function(){return _(j({src:Q,width:Q.width,height:Q.height}))},Q.onerror=function(){J(`There was an error loading the data URI as an image on the following SVG `+window.atob(Y.slice(26))+`Open the following link to see browser's diagnosis -`+Y)},Q.src=Y})})},e.download=function(D,E,L){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(x(E),D);else{var U=document.createElement("a");if("download"in U){U.download=D,U.style.display="none",document.body.appendChild(U);try{var F=x(E),W=URL.createObjectURL(F);U.href=W,U.onclick=function(){return requestAnimationFrame(function(){return URL.revokeObjectURL(W)})}}catch(B){console.error(B),console.warn("Error while getting object URL. Falling back to string URL."),U.href=E}U.click(),document.body.removeChild(U)}else L&&L.popup&&(L.popup.document.title=D,L.popup.location.replace(E))}},e.saveSvg=function(D,E,L){var U=H();return u(D).then(function(F){return e.svgAsDataUri(F,L||{})}).then(function(F){return e.download(E,F,U)})},e.saveSvgAsPng=function(D,E,L){var U=H();return u(D).then(function(F){return e.svgAsPngUri(F,L||{})}).then(function(F){return e.download(E,F,U)})}})()})(Uhe);const eWo=Se.memo(({horizontalGrid:t,verticalGrid:e,symbolSize:n,changeHorizontalGrid:o,changeVerticalGrid:i,changeSymbolSize:r})=>{const a=Kt(),[l,s]=m.useState(!1),c=()=>{o==null||o(!t)},u=()=>{i==null||i(!e)},d=f=>{r==null||r(f)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:1,max:8,value:n,onChange:d,children:O.t("menu.graph.SymbolSize",a)+":"}),h.jsx(c7,{checked:t,onClick:c,children:O.t("menu.graph.ShowHorizontalGridLines",a)}),h.jsx(c7,{checked:e,onClick:u,children:O.t("menu.graph.ShowHorizontalGridLines",a)})]}),children:h.jsx(Atn,{style:{position:"absolute",fontSize:"20px",top:"10px",right:"10px",transition:"0.5s",color:l?"black":"darkgray",cursor:"pointer"},onMouseOver:()=>{s(!0)},onMouseOut:()=>{s(!1)}})})}),{TextArea:tWo}=ns,{Option:Bh}=Yo,nWo=Ho.div` +`+Y)},Q.src=Y})})},e.download=function(D,E,L){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(x(E),D);else{var U=document.createElement("a");if("download"in U){U.download=D,U.style.display="none",document.body.appendChild(U);try{var F=x(E),W=URL.createObjectURL(F);U.href=W,U.onclick=function(){return requestAnimationFrame(function(){return URL.revokeObjectURL(W)})}}catch(B){console.error(B),console.warn("Error while getting object URL. Falling back to string URL."),U.href=E}U.click(),document.body.removeChild(U)}else L&&L.popup&&(L.popup.document.title=D,L.popup.location.replace(E))}},e.saveSvg=function(D,E,L){var U=H();return u(D).then(function(F){return e.svgAsDataUri(F,L||{})}).then(function(F){return e.download(E,F,U)})},e.saveSvgAsPng=function(D,E,L){var U=H();return u(D).then(function(F){return e.svgAsPngUri(F,L||{})}).then(function(F){return e.download(E,F,U)})}})()})(Uhe);const QLo=Se.memo(({horizontalGrid:t,verticalGrid:e,symbolSize:n,changeHorizontalGrid:o,changeVerticalGrid:i,changeSymbolSize:r})=>{const a=Kt(),[l,s]=m.useState(!1),c=()=>{o==null||o(!t)},u=()=>{i==null||i(!e)},d=f=>{r==null||r(f)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:1,max:8,value:n,onChange:d,children:O.t("menu.graph.SymbolSize",a)+":"}),h.jsx(c7,{checked:t,onClick:c,children:O.t("menu.graph.ShowHorizontalGridLines",a)}),h.jsx(c7,{checked:e,onClick:u,children:O.t("menu.graph.ShowHorizontalGridLines",a)})]}),children:h.jsx(mtn,{style:{position:"absolute",fontSize:"20px",top:"10px",right:"10px",transition:"0.5s",color:l?"black":"darkgray",cursor:"pointer"},onMouseOver:()=>{s(!0)},onMouseOut:()=>{s(!1)}})})}),{TextArea:ZLo}=ns,{Option:Bh}=Yo,eWo=Ho.div` position: relative; top: 0; left: 0; @@ -9594,7 +9594,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; tab-index: -1; // set to be not focusable z-index: 7; // must be less than other panels background: white; -`,oWo=Ho.div` +`,tWo=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -9606,7 +9606,7 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; flex-direction: column; overflow-x: hidden; overflow-y: hidden; -`,iWo=Ho.div` +`,nWo=Ho.div` width: 100%; height: 24px; padding: 10px; @@ -9615,12 +9615,12 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; display: flex; justify-content: space-between; align-items: center; -`,rWo=Ho.div` +`,oWo=Ho.div` width: 100%; display: flex; justify-content: space-between; align-items: center; -`,aWo=Ho.div` +`,iWo=Ho.div` width: 100%; display: flex; justify-content: space-between; @@ -9628,12 +9628,12 @@ gi.version="2.29.4";OIo(vc);gi.fn=Ko;gi.min=IDo;gi.max=zDo;gi.now=DDo;gi.utc=f3; padding-top: 6px; padding-bottom: 6px; background: white; -`,lWo=Ho.div` +`,rWo=Ho.div` height: 100%; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; background: white; -`,sWo=Se.memo(({relativeWidth:t,canvas:e})=>{const n=M(dn),o=M(Eg),i=M(yH),r=M(Dje),a=M(Eje),l=M(n7t),s=M(o7t),c=M(kje),u=M(t7t),d=M(i7t),f=M(r7t),p=M(f7t),g=M(c7t),y=M(d7t),A=M(u7t),x=M(a7t),C=M(l7t),b=M(s7t),v=M(Eq),S=M(Iq),[w,T]=m.useState(),[P,R]=m.useState(),[H,D]=m.useState(!1),[E,L]=m.useState(!1),U=m.useRef(!1),F=m.useRef(u??null),W=m.useRef(!1),B=m.useRef(!1),k=m.useRef(d??n9.ALL),N=m.useRef(!1),j=m.useRef(l??[]),Y=m.useRef(f??200),_=m.useRef(x??"rowWidth"),J=m.useRef(C??"rowWidth"),Q=m.useRef(b??5),ee=m.useRef(!0),$=m.useRef(!0);m.useEffect(()=>{_.current=x??"rowWidth"},[x]),m.useEffect(()=>{J.current=C??"rowWidth"},[C]),m.useEffect(()=>{Q.current=b??5},[b]),m.useEffect(()=>{Y.current=f??200},[f]);const{t:q}=jl(),le=Kt(),ie=o.uid===a;m.useEffect(()=>{if(j.current=[],l){for(const mt of l)j.current.push(mt);const Je=c;if(Je){const mt=g?1:-1;j.current.sort((Ge,xt)=>Je?Je==="rowWidth"&&"rowsPerRack"in Ge&&"rowsPerRack"in xt?mt*(Ge.rowsPerRack-xt.rowsPerRack):Je==="orientation"?mt*((Ge[Je]==="Landscape"?0:1)-(xt[Je]==="Landscape"?0:1)):Je==="totalYearlyYield"&&"yearlyYield"in Ge&&"yearlyYield"in xt?mt*(Ge.yearlyYield-xt.yearlyYield):Je==="meanYearlyYield"&&"yearlyYield"in Ge&&"yearlyYield"in xt?mt*(Ge.yearlyYield/Ge.panelCount-xt.yearlyYield/xt.panelCount):Je==="totalYearlyCost"?mt*(be.calculateCost(Ge)-be.calculateCost(xt)):Je==="yearlyProfit"?mt*(be.calculateProfit(Ge)-be.calculateProfit(xt)):Je in Ge&&Je in xt?mt*(Ge[Je]-xt[Je]):0:0)}D(!H)}},[l,g,c]),m.useEffect(()=>{if(T(void 0),l){for(const Je of l)if(Je.title===i){T(Je);break}}},[i,l]),m.useEffect(()=>{const Je=()=>{D(!H)};return window.addEventListener("resize",Je),()=>{window.removeEventListener("resize",Je)}},[H]);const pe=()=>{n(Je=>{Je.projectView=!1,Je.projectState.title=null,Je.projectState.description=null,Je.projectState.owner=null,Je.projectImages.clear()}),T(void 0),gt.getState().set(Je=>{Je.projectImagesUpdateFlag=!Je.projectImagesUpdateFlag})},ne=()=>{gt.getState().set(Je=>{Je.curateDesignToProjectFlag=!0})},Z=()=>{o.uid&&r&&w&&EYn(o.uid,r,w).then(()=>{n(Je=>{if(Je.projectState.designs){let mt=-1;for(const[Ge,xt]of Je.projectState.designs.entries())if(xt.title===w.title){mt=Ge;break}mt>=0&&Je.projectState.designs.splice(mt,1)}})})},he=window.innerHeight,fe=Math.round(800/Y.current),se=48/fe,oe=Math.round(t*window.innerWidth/fe-se),[de,ve,Pe,me,Re,ze]=m.useMemo(()=>[dd.getVariables(s,p??[]),dd.getTitles(s,le,p??[]),dd.getUnits(s,le,p??[]),dd.getDigits(s,p??[]),dd.getTickIntegers(s,p??[]),dd.getTypes(s,p??[])],[s,p,E,le]),Ae=m.useMemo(()=>{const Je=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const mt of l){const Ge={};if(p!=null&&p.includes("rowWidth")||(Ge.rowWidth=mt.rowsPerRack),p!=null&&p.includes("tiltAngle")||(Ge.tiltAngle=be.toDegrees(mt.tiltAngle)),p!=null&&p.includes("interRowSpacing")||(Ge.interRowSpacing=mt.interRowSpacing),p!=null&&p.includes("latitude")||(Ge.latitude=mt.latitude??42),p!=null&&p.includes("orientation")||(Ge.orientation=mt.orientation===ci.landscape?0:1),p!=null&&p.includes("poleHeight")||(Ge.poleHeight=mt.poleHeight),p!=null&&p.includes("unitCost")||(Ge.unitCost=mt.unitCost),p!=null&&p.includes("sellingPrice")||(Ge.sellingPrice=mt.sellingPrice),p!=null&&p.includes("")||(Ge.totalYearlyCost=be.calculateCost(mt)),p!=null&&p.includes("totalYearlyYield")||(Ge.totalYearlyYield=mt.yearlyYield*.001),p!=null&&p.includes("meanYearlyYield")||(Ge.meanYearlyYield=mt.yearlyYield/mt.panelCount),p!=null&&p.includes("yearlyProfit")||(Ge.yearlyProfit=be.calculateProfit(mt)),Ge.group=d===n9.INDIVIDUALS?mt.title:"default",Ge.selected=w===mt,Ge.hovered=P===mt,Ge.invisible=mt.invisible,A){for(const xt of A)if(xt.type===HL.Between&&xt.upperBound!==void 0&&xt.lowerBound!==void 0){const It=Ge[xt.variable];if(typeof It=="number"&&(It>xt.upperBound||It{n(Je=>{if(Je.projectState.designs)for(const[mt,Ge]of Je.projectState.designs.entries())Ge.excluded=Ae[mt].excluded})},[Ae]);const re=(Je,mt)=>{let Ge=mt;if(y){for(const xt of y)if(xt.variable===Je){Ge=xt.minimum??mt;break}}return Ge},ge=(Je,mt)=>{let Ge=mt;if(y){for(const xt of y)if(xt.variable===Je){Ge=xt.maximum??mt;break}}return Ge},we=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Je=[];return p!=null&&p.includes("rowWidth")||Je.push(re("rowWidth",v.minimumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Je.push(re("tiltAngle",be.toDegrees(v.minimumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Je.push(re("interRowSpacing",v.minimumInterRowSpacing)),p!=null&&p.includes("latitude")||Je.push(re("latitude",-90)),p!=null&&p.includes("orientation")||Je.push(0),p!=null&&p.includes("poleHeight")||Je.push(re("poleHeight",0)),p!=null&&p.includes("unitCost")||Je.push(re("unitCost",.1)),p!=null&&p.includes("sellingPrice")||Je.push(re("sellingPrice",.1)),p!=null&&p.includes("totalYearlyCost")||Je.push(re("totalYearlyCost",0)),p!=null&&p.includes("totalYearlyYield")||Je.push(re("totalYearlyYield",0)),p!=null&&p.includes("meanYearlyYield")||Je.push(re("meanYearlyYield",0)),p!=null&&p.includes("yearlyProfit")||Je.push(re("yearlyProfit",-10)),Je}return[]},[v,s,y,p,E]),ye=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Je=[];return p!=null&&p.includes("rowWidth")||Je.push(ge("rowWidth",v.maximumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Je.push(ge("tiltAngle",be.toDegrees(v.maximumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Je.push(ge("interRowSpacing",v.maximumInterRowSpacing)),p!=null&&p.includes("latitude")||Je.push(ge("latitude",90)),p!=null&&p.includes("orientation")||Je.push(1),p!=null&&p.includes("poleHeight")||Je.push(ge("poleHeight",5)),p!=null&&p.includes("unitCost")||Je.push(ge("unitCost",1)),p!=null&&p.includes("sellingPrice")||Je.push(ge("sellingPrice",.5)),p!=null&&p.includes("totalYearlyCost")||Je.push(ge("totalYearlyCost",100)),p!=null&&p.includes("totalYearlyYield")||Je.push(ge("totalYearlyYield",100)),p!=null&&p.includes("meanYearlyYield")||Je.push(ge("meanYearlyYield",1e3)),p!=null&&p.includes("yearlyProfit")||Je.push(ge("yearlyProfit",10)),Je}return[]},[v,s,y,p,E]),Te=(Je,mt)=>{let Ge=mt;if(A){for(const xt of A)if(xt.variable===Je){Ge=xt.lowerBound??mt;break}}return Ge},Ie=(Je,mt)=>{let Ge=mt;if(A){for(const xt of A)if(xt.variable===Je){Ge=xt.upperBound??mt;break}}return Ge},Ce=(Je,mt,Ge)=>({variable:Je,type:HL.Between,upperBound:Ie(Je,mt),lowerBound:Te(Je,Ge)}),Ee=m.useMemo(()=>{const Je=[];return p!=null&&p.includes("rowWidth")||Je.push(Ce("rowWidth",v.maximumRowsPerRack,v.minimumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Je.push(Ce("tiltAngle",be.toDegrees(v.maximumTiltAngle),be.toDegrees(v.minimumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Je.push(Ce("interRowSpacing",v.maximumInterRowSpacing,v.minimumInterRowSpacing)),p!=null&&p.includes("latitude")||Je.push(Ce("latitude",90,-90)),p!=null&&p.includes("orientation")||Je.push(Ce("orientation",1,0)),p!=null&&p.includes("poleHeight")||Je.push(Ce("poleHeight",5,0)),p!=null&&p.includes("unitCost")||Je.push(Ce("unitCost",1,.1)),p!=null&&p.includes("sellingPrice")||Je.push(Ce("sellingPrice",.5,.1)),p!=null&&p.includes("totalYearlyCost")||Je.push(Ce("totalYearlyCost",100,0)),p!=null&&p.includes("totalYearlyYield")||Je.push(Ce("totalYearlyYield",100,0)),p!=null&&p.includes("meanYearlyYield")||Je.push(Ce("meanYearlyYield",1e3,0)),p!=null&&p.includes("yearlyProfit")||Je.push(Ce("yearlyProfit",10,-10)),Je},[E,A,p]),Ue=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Je=[];return p!=null&&p.includes("rowWidth")||Je.push(1),p!=null&&p.includes("tiltAngle")||Je.push(.1),p!=null&&p.includes("interRowSpacing")||Je.push(.1),p!=null&&p.includes("latitude")||Je.push(.1),p!=null&&p.includes("orientation")||Je.push(1),p!=null&&p.includes("poleHeight")||Je.push(.1),p!=null&&p.includes("unitCost")||Je.push(.01),p!=null&&p.includes("sellingPrice")||Je.push(.01),p!=null&&p.includes("totalYearlyCost")||Je.push(.1),p!=null&&p.includes("totalYearlyYield")||Je.push(1),p!=null&&p.includes("meanYearlyYield")||Je.push(1),p!=null&&p.includes("yearlyProfit")||Je.push(.1),Je}return[]},[s,p,E]),Ne=m.useRef(!(p!=null&&p.includes("rowWidth"))),Le=m.useRef(!(p!=null&&p.includes("tiltAngle"))),qe=m.useRef(!(p!=null&&p.includes("interRowSpacing"))),We=m.useRef(!(p!=null&&p.includes("latitude"))),De=m.useRef(!(p!=null&&p.includes("orientation"))),Fe=m.useRef(!(p!=null&&p.includes("poleHeight"))),_e=m.useRef(!(p!=null&&p.includes("unitCost"))),ot=m.useRef(!(p!=null&&p.includes("sellingPrice"))),Ye=m.useRef(!(p!=null&&p.includes("totalYearlyCost"))),St=m.useRef(!(p!=null&&p.includes("totalYearlyYield"))),dt=m.useRef(!(p!=null&&p.includes("meanYearlyYield"))),je=m.useRef(!(p!=null&&p.includes("yearlyProfit")));m.useEffect(()=>{Ne.current=!(p!=null&&p.includes("rowWidth")),Le.current=!(p!=null&&p.includes("tiltAngle")),qe.current=!(p!=null&&p.includes("interRowSpacing")),We.current=!(p!=null&&p.includes("latitude")),De.current=!(p!=null&&p.includes("orientation")),Fe.current=!(p!=null&&p.includes("poleHeight")),_e.current=!(p!=null&&p.includes("unitCost")),ot.current=!(p!=null&&p.includes("sellingPrice")),Ye.current=!(p!=null&&p.includes("totalYearlyCost")),St.current=!(p!=null&&p.includes("totalYearlyYield")),dt.current=!(p!=null&&p.includes("meanYearlyYield")),je.current=!(p!=null&&p.includes("yearlyProfit")),D(!H)},[p]),m.useEffect(()=>{F.current=u},[u]);const at=Je=>{l&&(Je>=0&&Je{n(mt=>{if(mt.projectState.designs){for(const Ge of mt.projectState.designs)if(Ge.title===Je){Ge.invisible=!Ge.invisible;break}}})},wt=Je=>{ut(Je.title),ie&&o.uid&&r&&_Yn(o.uid,r,Je)},rt=(Je,mt)=>{n(Ge=>{Ge.projectState.hiddenParameters&&(Je?Ge.projectState.hiddenParameters.includes(mt)&&Ge.projectState.hiddenParameters.splice(Ge.projectState.hiddenParameters.indexOf(mt),1):Ge.projectState.hiddenParameters.includes(mt)||Ge.projectState.hiddenParameters.push(mt))})},Qe=(Je,mt)=>{N.current=!0,ie?o.uid&&r&&kYn(o.uid,r,mt,!Je).then(()=>{rt(Je,mt)}):rt(Je,mt)},Oe=()=>{n(Je=>{Je.projectState.dataColoring=k.current}),gt.getState().set(Je=>{Je.updateProjectsFlag=!0}),D(!H)},et=Je=>{k.current=Je,ie?o.uid&&r&&LYn(o.uid,r,k.current).then(()=>{Oe()}):Oe()},vt=()=>h.jsxs("div",{children:[h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{Ne.current=Je.target.checked,Qe(Ne.current,"rowWidth"),L(!E)},checked:Ne.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowWidth",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{Le.current=Je.target.checked,Qe(Le.current,"tiltAngle"),L(!E)},checked:Le.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTiltAngle",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{qe.current=Je.target.checked,Qe(qe.current,"interRowSpacing"),L(!E)},checked:qe.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowSpacing",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{We.current=Je.target.checked,Qe(We.current,"latitude"),L(!E)},checked:We.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Latitude",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{De.current=Je.target.checked,Qe(De.current,"orientation"),L(!E)},checked:De.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayOrientation",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{Fe.current=Je.target.checked,Qe(Fe.current,"poleHeight"),L(!E)},checked:Fe.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayPoleHeight",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{_e.current=Je.target.checked,Qe(_e.current,"unitCost"),L(!E)},checked:_e.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.UnitCost",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{ot.current=Je.target.checked,Qe(ot.current,"sellingPrice"),L(!E)},checked:ot.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.SellingPrice",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{Ye.current=Je.target.checked,Qe(Ye.current,"totalYearlyCost"),L(!E)},checked:Ye.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyCost",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{St.current=Je.target.checked,Qe(St.current,"totalYearlyYield"),L(!E)},checked:St.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyYield",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{dt.current=Je.target.checked,Qe(dt.current,"meanYearlyYield"),L(!E)},checked:dt.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayMeanYearlyYield",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{je.current=Je.target.checked,Qe(je.current,"yearlyProfit"),L(!E)},checked:je.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayYearlyProfit",le)})})]}),ct=()=>h.jsxs(h.Fragment,{children:[h.jsx(Bh,{value:"rowWidth",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowWidth",le)})},"rowWidth"),h.jsx(Bh,{value:"tiltAngle",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTiltAngle",le)})},"tiltAngle"),h.jsx(Bh,{value:"interRowSpacing",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowSpacing",le)})},"interRowSpacing"),h.jsx(Bh,{value:"latitude",children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Latitude",le)})},"latitude"),h.jsx(Bh,{value:"orientation",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayOrientation",le)})},"orientation"),h.jsx(Bh,{value:"poleHeight",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayPoleHeight",le)})},"poleHeight"),h.jsx(Bh,{value:"unitCost",children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.UnitCost",le)})},"unitCost"),h.jsx(Bh,{value:"sellingPrice",children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.SellingPrice",le)})},"sellingPrice"),h.jsx(Bh,{value:"totalYearlyCost",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyCost",le)})},"totalYearlyCost"),h.jsx(Bh,{value:"totalYearlyYield",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyYield",le)})},"totalYearlyYield"),h.jsx(Bh,{value:"meanYearlyYield",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayMeanYearlyYield",le)})},"meanYearlyYield"),h.jsx(Bh,{value:"yearlyProfit",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayYearlyProfit",le)})},"yearlyProfit")]}),lt=m.useMemo(()=>{const Je=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const mt of l){if(mt.invisible||mt===w)continue;const Ge={};dd.setScatterData(_.current,"x",Ge,mt),dd.setScatterData(J.current,"y",Ge,mt),Je.push(Ge)}return Je},[_.current,J.current,l,s,w]),tt=m.useMemo(()=>{const Je=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const mt of l){if(mt!==w)continue;const Ge={};dd.setScatterData(_.current,"x",Ge,mt),dd.setScatterData(J.current,"y",Ge,mt),Je.push(Ge)}return Je},[_.current,J.current,l,s,w]),it=Je=>{const mt={min:0,max:1};if(s===Tr.SOLAR_PANEL_ARRAY&&v)switch(Je){case"rowWidth":mt.min=re("rowWidth",v.minimumRowsPerRack),mt.max=ge("rowWidth",v.maximumRowsPerRack);break;case"tiltAngle":mt.min=re("tiltAngle",be.toDegrees(v.minimumTiltAngle)),mt.max=ge("tiltAngle",be.toDegrees(v.maximumTiltAngle));break;case"interRowSpacing":mt.min=re("interRowSpacing",v.minimumInterRowSpacing),mt.max=ge("interRowSpacing",v.maximumInterRowSpacing);break;case"latitude":mt.min=re("latitude",-90),mt.max=ge("latitude",90);break;case"orientation":mt.min=0,mt.max=1;break;case"poleHeight":mt.min=re("poleHeight",0),mt.max=ge("poleHeight",5);break;case"unitCost":mt.min=re("unitCost",.1),mt.max=ge("unitCost",1);break;case"sellingPrice":mt.min=re("sellingPrice",.1),mt.max=ge("sellingPrice",.5);break;case"totalYearlyCost":mt.min=re("totalYearlyCost",0),mt.max=ge("totalYearlyCost",100);break;case"totalYearlyYield":mt.min=re("totalYearlyYield",0),mt.max=ge("totalYearlyYield",100);break;case"meanYearlyYield":mt.min=re("meanYearlyYield",0),mt.max=ge("meanYearlyYield",1e3);break;case"yearlyProfit":mt.min=re("yearlyProfit",-10),mt.max=ge("yearlyProfit",10);break}return mt},At=m.useMemo(()=>it(_.current),[_.current,y]),Mt=m.useMemo(()=>it(J.current),[J.current,y]),st=m.useMemo(()=>dd.getUnit(_.current,le),[_.current,le]),ft=m.useMemo(()=>dd.getUnit(J.current,le),[J.current,le]),Rt=()=>h.jsxs("div",{style:{width:"280px"},children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{span:8,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.SelectXAxis",le),": "]})}),h.jsx(nt,{span:16,children:h.jsx(Yo,{style:{width:"100%"},value:_.current,onChange:Je=>{_.current=Je,ie&&o.uid&&r&&NYn(o.uid,r,Je).then(()=>{}),D(!H)},children:ct()})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(nt,{span:8,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.SelectYAxis",le),": "]})}),h.jsx(nt,{span:16,children:h.jsx(Yo,{style:{width:"100%"},value:J.current,onChange:Je=>{J.current=Je,ie&&o.uid&&r&&UYn(o.uid,r,Je).then(()=>{}),D(!H)},children:ct()})})]}),h.jsx(nn,{style:{paddingBottom:"8px"},children:h.jsxs("div",{children:[h.jsxs(PIo,{id:"scatter-chart",width:280,height:240,margin:{top:0,right:0,bottom:-10,left:-10},children:[h.jsx(A7,{strokeWidth:"1",stroke:"gray",horizontal:ee.current,vertical:$.current}),h.jsx(e1,{dataKey:"x",fontSize:10,type:"number",domain:[At.min,At.max],name:"x",unit:st,strokeWidth:1,stroke:"gray",tickFormatter:(Je,mt)=>_.current==="yearlyProfit"||_.current==="unitCost"||_.current==="sellingPrice"?"$"+Je:Je}),h.jsx(gh,{dataKey:"y",fontSize:10,type:"number",domain:[Mt.min,Mt.max],name:"y",unit:ft,strokeWidth:1,stroke:"gray",tickFormatter:(Je,mt)=>J.current==="yearlyProfit"||J.current==="unitCost"||J.current==="sellingPrice"?"$"+Je:Je}),h.jsx(Zf,{cursor:{strokeDasharray:"3 3"},formatter:Je=>Je.toFixed(2)}),h.jsx(db,{name:"All",data:lt,fill:"#8884d8",shape:h.jsx($N,{fill:"#8884d8",r:Q.current})}),w&&h.jsx(db,{name:"Selected",data:tt,fill:"red",shape:"star"})]}),h.jsx(eWo,{symbolSize:Q.current,horizontalGrid:ee.current,verticalGrid:$.current,changeHorizontalGrid:Je=>{ee.current=Je,D(!H)},changeVerticalGrid:Je=>{$.current=Je,D(!H)},changeSymbolSize:Je=>{Q.current=Je,ie&&o.uid&&r&&BYn(o.uid,r,Je).then(()=>{}),D(!H)}})]})}),h.jsx(nn,{children:h.jsx("span",{style:{width:"100%",textAlign:"center"},children:h.jsx(_u,{style:{fontSize:"18px",color:"gray",paddingRight:"8px"},title:q("projectPanel.ScatterPlotScreenshot",le),onClick:()=>{const Je=document.getElementById("scatter-chart");Je&&Uhe.saveSvgAsPng(Je,"scatter-chart-"+r+".png").then(()=>{fn(q("message.ScreenshotSaved",le))})}})})})]}),zt=()=>h.jsx("div",{children:h.jsxs(Be.Group,{onChange:Je=>{et(Je.target.value)},value:d??n9.ALL,children:[h.jsx(Be,{style:{fontSize:"12px",width:"100%"},value:n9.ALL,children:q("projectPanel.SameColorForAllDesigns",le)}),h.jsx("br",{}),h.jsx(Be,{style:{fontSize:"12px",width:"100%"},value:n9.INDIVIDUALS,children:q("projectPanel.OneColorForEachDesign",le)})]})}),Xe=()=>h.jsx("div",{style:{width:"250px"},onClick:Je=>Je.stopPropagation(),children:h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{span:14,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.ThumbnailImageSize",le),": "]})}),h.jsx(nt,{span:10,children:h.jsxs(Yo,{style:{width:"100%"},value:Y.current,onChange:Je=>{Y.current=Je,ie?o.uid&&r&&jYn(o.uid,r,Je).then(()=>{n(mt=>{mt.projectState.thumbnailWidth=Y.current})}):n(mt=>{mt.projectState.thumbnailWidth=Y.current}),D(!H)},children:[h.jsx(Bh,{value:100,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Small",le)})},"small-thumbnail"),h.jsx(Bh,{value:125,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Medium",le)})},"medium-thumbnail"),h.jsx(Bh,{value:200,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Large",le)})},"large-thumbnail")]})})]})}),ht=[{key:"1",label:h.jsxs(rWo,{children:[h.jsx("span",{children:q("projectPanel.ProjectDescription",le)+" | "+q("projectPanel.ProjectType",le)+": "+s}),h.jsxs("span",{children:[ie&&h.jsxs(h.Fragment,{children:[B.current&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),U.current=!U.current,D(!H)},children:U.current?h.jsx(itn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.MakeDescriptionNonEditable",le)}):h.jsx(BJe,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.MakeDescriptionEditable",le)})}),h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),ne()},children:h.jsx(ctn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.CurateCurrentDesign",le)})}),w&&w.title===i&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),e&&o.uid&&r&&i&&VYn(o.uid,s,r,f??200,i,e).then(()=>{D(!H)})},children:h.jsx(Qen,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.UpdateSelectedDesign",le)})}),w&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),Z(),T(void 0)},children:h.jsx(C_t,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.RemoveSelectedDesign",le)})}),w&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{if(Je.stopPropagation(),r){let mt=Sg+"?client=web&userid="+o.uid+"&project="+encodeURIComponent(r);w&&(mt+="&title="+encodeURIComponent(w.title)),navigator.clipboard.writeText(mt).then(()=>m2(q("projectListPanel.ProjectLinkGeneratedInClipBoard",le)+"."))}},children:h.jsx(gtn,{style:{fontSize:"24px",color:"gray"},title:q("projectListPanel.GenerateProjectLink",le)})})]}),l&&l.length>1&&c&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),n(mt=>{mt.projectState.sortDescending=!mt.projectState.sortDescending})},children:g?h.jsx(Etn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.ClickToFlipSortingOrder",le)}):h.jsx(Ltn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.ClickToFlipSortingOrder",le)})}),h.jsx(gl,{title:h.jsx("div",{onClick:Je=>Je.stopPropagation(),children:q("projectPanel.ProjectSettings",le)}),content:Xe,children:h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>Je.stopPropagation(),children:h.jsx(Itn,{style:{fontSize:"24px",color:"gray"}})})})]})]}),children:h.jsx(tWo,{title:U.current?void 0:q("projectPanel.DoubleClickToMakeDescriptionEditable",le),readOnly:!U.current,value:F.current??void 0,onDoubleClick:()=>{U.current=!U.current,D(!H)},onChange:Je=>{F.current=Je.target.value,W.current=!0,n(mt=>{mt.projectState.description=Je.target.value}),D(!H)},onBlur:()=>{U.current=!1,W.current&&o.uid&&ie&&r&&FYn(o.uid,r,F.current).then(()=>{W.current=!1,D(!H)})},style:{paddingLeft:"10px",textAlign:"left",resize:U.current?"vertical":"none",border:U.current?"1px solid gray":"none"}})}];return h.jsx(nWo,{onContextMenu:Je=>{Je.stopPropagation()},children:h.jsxs(oWo,{children:[h.jsxs(iWo,{children:[h.jsx("span",{children:q(ie?"projectPanel.Project":"projectPanel.ProjectByOtherPeople",le)+": "+r+(ie?"":" ("+q("word.Owner",le)+": "+(a==null?void 0:a.substring(0,4))+"***)")+" ("+j.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{pe()},onTouchStart:()=>{pe()},children:h.jsx(E7,{title:q("word.Close",le)})})]}),h.jsx(Mme,{items:ht,style:{backgroundColor:"white",border:"none"},onChange:Je=>{B.current=Je.length>0,D(!H)}}),j.current.length>0&&h.jsxs(lWo,{children:[h.jsx(j0e,{style:{width:"100%",height:he/2-(B.current?160:80),paddingLeft:"4px",paddingRight:"4px",overflowX:"hidden",overflowY:"auto"},grid:{column:fe,gutter:1},dataSource:j.current,renderItem:Je=>{var xt;const mt=Je.title.lastIndexOf(" "),Ge=f===100?8:f===125?12:30;return h.jsxs(j0e.Item,{style:{marginBottom:"-28px"},onMouseOver:()=>{R(Je)},onMouseLeave:()=>{R(void 0)},children:[h.jsx("img",{loading:"eager",width:oe+"px",height:"auto",onError:It=>{It.target.src=QO},onLoad:It=>{n(Tt=>{Tt.projectImages.set(Je.title,It.target)}),gt.getState().set(Tt=>{Tt.projectImagesUpdateFlag=!Tt.projectImagesUpdateFlag})},alt:Je.title,title:(Je.timestamp?q("word.LastUpdate",le)+": "+gc(new Date(Je.timestamp)).format("MM-DD-YYYY hh:mm A")+` -`:"")+q(w===Je?"projectPanel.SingleClickToDeselectDoubleClickToOpen":"projectPanel.SingleClickToSelectDoubleClickToOpen",le),src:(xt=Je.thumbnail)!=null&&xt.startsWith("data:image/png;base64")?Je.thumbnail:QO,style:{transition:".5s ease",opacity:Je.excluded?.25:P===Je?.5:1,padding:"1px",cursor:"pointer",borderRadius:w===Je?"0":"10px",border:w===Je?"2px solid red":"none"},onDoubleClick:It=>{const Tt=It.target;Tt.src===QO&&(Tt.src=Je.thumbnailUrl),T(Je),a&&MX(a,Je.title,!0,!0).then(()=>{})},onClick:It=>{const Tt=It.target;Tt.src===QO&&(Tt.src=Je.thumbnailUrl),T(Je!==w?Je:void 0)}}),h.jsx("div",{style:{position:"relative",left:"10px",textAlign:"left",bottom:"18px",color:"white",fontSize:"8px",fontWeight:Je.title===i?"bold":"normal"},children:Je.title?Je.title.length>Ge?Je.title.substring(0,Math.min(Ge,mt))+"..."+Je.title.substring(mt):Je.title:"Unknown"}),h.jsxs("div",{style:{position:"relative",right:"10px",textAlign:"right",bottom:"36px",color:"white"},children:[Je.title===i&&h.jsx(CJe,{style:{paddingRight:"4px",fontSize:"16px"}}),Je.invisible?h.jsx(Ken,{onClick:()=>{wt(Je)},style:{fontSize:"16px"},title:q("projectPanel.DesignNotShownInSolutionSpaceClickToShow",le)}):h.jsx(Bge,{onClick:()=>{wt(Je)},style:{fontSize:"16px"},title:q("projectPanel.DesignShownInSolutionSpaceClickToHide",le)})]})]})}}),h.jsxs(aWo,{children:[h.jsx("span",{style:{paddingLeft:"20px"},children:q("projectPanel.SolutionSpace",le)}),h.jsxs("span",{children:[s===Tr.SOLAR_PANEL_ARRAY&&h.jsx(gl,{title:q("projectPanel.ChooseSolutionSpace",le),onOpenChange:Je=>{N.current&&(Je||gt.getState().set(mt=>{mt.updateProjectsFlag=!0}),N.current=!1)},content:vt(),children:h.jsx(no,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(Gen,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(gl,{title:q("projectPanel.ChooseDataColoring",le),content:zt(),children:h.jsx(no,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(Uen,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(gl,{title:q("projectPanel.GenerateScatterPlot",le),content:Rt(),children:h.jsx(no,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(BFt,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(no,{style:{border:"none",paddingRight:"20px",background:"white"},onClick:()=>{const Je=document.getElementById("design-space");Je&&Uhe.saveSvgAsPng(Je,"design-space-"+r+".png").then(()=>{fn(q("message.ScreenshotSaved",le))})},children:h.jsx(_u,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.SolutionSpaceScreenshot",le)})})]})]}),h.jsx(ZLo,{id:"design-space",width:t*window.innerWidth,height:he/2-120,data:Ae,types:ze,minima:we,maxima:ye,filters:Ee,steps:Ue,variables:de,titles:ve,units:Pe,digits:me,tickIntegers:Re,hover:at,hoveredIndex:l&&P?l.indexOf(P):-1,selectedIndex:l&&w?l.indexOf(w):-1})]})]})})}),cWo=Se.memo(({showGallery:t,defaultSize:e=50,minWidth:n=25,maxWidth:o=75,children:i,wait:r=50,onChange:a})=>{const[l,s]=i,c=m.useRef(!1),u=p=>{const g=document.querySelector(".split-pane");g&&g.style.setProperty("--percentWidth",p+"%")},d=()=>{c.current=!0},f=m.useCallback(M2.throttle(p=>{if(!c.current)return;const g=Math.max(n,Math.min(o,p.clientX/window.innerWidth*100));u(g),a&&a(g)},r),[]);return m.useEffect(()=>{u(e)},[e]),m.useEffect(()=>{const p=()=>{c.current=!1};return window.addEventListener("pointerup",p),()=>window.removeEventListener("pointerup",p)},[]),m.useEffect(()=>{u(t?e:0)},[t,e]),h.jsxs("div",{className:"split-pane",onPointerMove:f,children:[h.jsx("div",{className:"left-child",children:l}),t&&h.jsx("div",{className:"sash",onPointerDown:d}),h.jsx("div",{className:"right-child",children:s})]})},(t,e)=>t.showGallery===e.showGallery&&t.onChange===e.onChange),zEe=Se.memo(({viewOnly:t=!1})=>{const e=M(Eg),n=M(ha),o=M(dn),i=gt(BBe),r=M(hu)??!1,a=M(hq)??kk,l=M(yH),s=M(Rq),c=M(B1e),u=M(hBe),d=M(sA),f=M(sAt)??"roadmap",p=gt(yq),g=M(wH),y=M(pA),[A,x]=m.useState(!0),[C,b]=m.useState(50),v=m.useRef(null),S=Kt();m.useEffect(()=>{x(!1)},[]),m.useEffect(()=>{o(R=>{var H;R.loggable=e&&e.uid?!((H=e.email)!=null&&H.endsWith("@intofuture.org")):!1,e&&(e.noLogging||!e.schoolID||e.schoolID==="UNKNOWN SCHOOL"||!e.classID||e.classID==="UNKNOWN CLASS")&&(R.loggable=!1)})},[e]),console.log("x");const w=e.uid&&new URLSearchParams(window.location.search).get("userid")===e.uid,T=()=>h.jsxs(X9t,{ref:v,shadows:!0,gl:{preserveDrawingBuffer:!0,logarithmicDepthBuffer:!0},frameloop:"demand",style:{height:"100%",width:"100%",backgroundColor:"black"},camera:{fov:qNe,far:a,up:[0,0,1]},children:[h.jsx(g9o,{}),h.jsx(M2o,{}),h.jsx(p2o,{}),h.jsx(Hen,{}),h.jsx(m2o,{}),h.jsxs(m.Suspense,{fallback:null,children:[h.jsx(Cen,{}),h.jsx(T2o,{})]}),h.jsxs(m.Suspense,{fallback:null,children:[c&&h.jsx(cZt,{}),h.jsx(sZt,{theme:u}),h.jsx(Den,{}),d&&h.jsx(uOn,{})]}),h.jsx(H2o,{}),h.jsx(KLo,{}),g===Bs.GENETIC_ALGORITHM&&y.geneticAlgorithmParams.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&h.jsx(s9o,{}),g===Bs.GENETIC_ALGORITHM&&y.geneticAlgorithmParams.problem===Tr.SOLAR_PANEL_ARRAY&&h.jsx(u9o,{}),g===Bs.PARTICLE_SWARM_OPTIMIZATION&&y.particleSwarmOptimizationParams.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&h.jsx(f9o,{}),g===Bs.PARTICLE_SWARM_OPTIMIZATION&&y.particleSwarmOptimizationParams.problem===Tr.SOLAR_PANEL_ARRAY&&h.jsx(p9o,{})]}),P=m.useMemo(()=>new Gt,[]);return h.jsxs("div",{className:"App",style:{position:"relative",overflow:"hidden"},onContextMenu:R=>R.preventDefault(),children:[h.jsx(Sen,{initializing:A}),h.jsxs("div",{style:{backgroundColor:"lightblue",height:"72px",paddingTop:"10px",textAlign:"start",userSelect:"none",fontSize:"30px"},children:[h.jsx("span",{style:{marginLeft:"120px",verticalAlign:"middle",cursor:"pointer",userSelect:"none"},title:O.t("tooltip.visitAladdinHomePage",S),onClick:Vqt,children:`${O.t("name.Aladdin",S)}`}),l&&!p&&h.jsxs("span",{style:{marginLeft:"20px",fontSize:"14px",verticalAlign:"center",userSelect:"text",color:w?"black":"gray"},children:[h.jsx("img",{title:O.t("toolbar.CloudFile",S),alt:"Cloud",src:R2o,height:32,width:32,style:{paddingRight:"8px"}}),l+(w&&i?" *":""),!t&&w&&i&&h.jsx(no,{type:"primary",size:"small",style:{marginLeft:"10px"},title:O.t("menu.file.SaveCloudFile",S),onClick:()=>{gt.getState().setSaveCloudFileFlag(!0),n&&o(R=>{R.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}})},children:`${O.t("word.Save",S)}`})]})]}),t?h.jsxs("div",{style:{position:"absolute",bottom:"6px",left:"6px",zIndex:999,fontSize:"8px",userSelect:"none",color:d||s?f!=="roadmap"?"antiquewhite":"darkslategrey":"antiquewhite"},children:[h.jsx("img",{alt:"IFI Logo",src:yTe,height:"30px",style:{verticalAlign:"bottom",cursor:"pointer"},title:O.t("tooltip.gotoIFI",S),onClick:Gbe})," V "+nE]}):h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"IFI Logo",src:yTe,height:s?"24px":"40px",style:{position:"absolute",cursor:"pointer",bottom:"6px",left:"6px",zIndex:999,userSelect:"none"},title:O.t("tooltip.gotoIFI",S),onClick:Gbe}),h.jsxs("div",{style:{position:"absolute",bottom:"4px",left:s?"24px":"44px",zIndex:999,fontSize:"10px",userSelect:"none",color:d?f!=="roadmap"?"antiquewhite":"darkslategrey":s?"darkslategrey":"antiquewhite"},children:["   ©",new Date().getFullYear()," ",`${O.t("name.IFI",S)}`," ",O.t("word.VersionInitial",S)+nE+". "+O.t("word.AllRightsReserved",S)+". "]})]}),!t&&h.jsx(l9o,{size:16,round:!0,margin:"2px",style:{position:"absolute",right:"0",top:"80px"}}),h.jsx($Yn,{viewOnly:t,canvas:v.current}),h.jsx(Jpo,{viewOnly:t,canvas:v.current}),h.jsx(LLo,{}),h.jsx(Ifo,{children:h.jsxs("div",{style:{height:"calc(100vh - 72px)"},children:[h.jsxs(cWo,{showGallery:s,defaultSize:s?50:0,onChange:R=>{b(Math.round(100-R));const H=Ln.getState().canvas;if(H){const{gl:D,camera:E}=H,L=(100-R)*window.innerWidth/100;D.getSize(P),D.setSize(L,P.y),E instanceof Iu&&(E.aspect=L/P.y,E.updateProjectionMatrix(),Zh())}},children:[s?h.jsx(sWo,{canvas:v.current,relativeWidth:1-C*.01}):h.jsx(h.Fragment,{}),T()]}),h.jsx(C2o,{canvas:v.current})]})}),h.jsx(y2o,{visible:!r}),!t&&h.jsx(aOn,{}),!t&&n&&h.jsx(h2o,{})]})}),uWo=Se.memo(({viewOnly:t=!1})=>{const e=M(dn),n=M(GBe),o=M(Q1e),i=M(XBe),r=gt(VBe),a=gt(Z4t),l=gt(ewt),s=M(yH),c=gt(Q4t),u=M(Eg),d=M(Sc),[f,p]=m.useState(!1),[g,y]=m.useState(!1),[A,x]=m.useState({left:0,top:0,bottom:0,right:0}),C=m.useRef(null),{t:b}=jl(),v=m.useMemo(()=>({lng:d}),[d]);m.useEffect(()=>{a&&(S(),gt.getState().setCreateNewFileFlag(!1))},[a]),m.useEffect(()=>{l&&(w(),gt.getState().setOpenLocalFileFlag(!1))},[l]);const S=()=>{_r.confirm({title:`${b("message.DoYouWantToSaveChanges",v)}`,icon:h.jsx(qm,{}),okText:`${b("word.Yes",v)}`,cancelText:`${b("word.No",v)}`,onOk:()=>{u.uid?s?(e(L=>{L.localContentToImportAfterCloudFileUpdate="CREATE_NEW_FILE"}),gt.getState().setSaveCloudFileFlag(!0)):e(L=>{L.showCloudFileTitleDialogFlag=!L.showCloudFileTitleDialogFlag,L.showCloudFileTitleDialog=!0}):fn(b("menu.file.ToSaveYourWorkPleaseSignIn",v))},onCancel:()=>{i()}})},w=()=>{!t&>.getState().changed?_r.confirm({title:b("message.DoYouWantToSaveChanges",v),icon:h.jsx(qm,{}),onOk:()=>{u.uid?s?T(!0):e(L=>{L.showCloudFileTitleDialogFlag=!L.showCloudFileTitleDialogFlag,L.showCloudFileTitleDialog=!0}):fn(b("menu.file.ToSaveYourWorkPleaseSignIn",v))},onCancel:()=>T(!1),okText:b("word.Yes",v),cancelText:b("word.No",v)}):T(!1)},T=L=>{document.body.onfocus=()=>{e(F=>{F.localFileDialogRequested=!1})};const U=document.getElementById("file-dialog");U.onchange=()=>{if(U.files&&U.files.length>0){gt.getState().set(B=>{B.waiting=!0});const F=new FileReader;F.readAsText(U.files[0]);const W=U.files[0].name;gt.getState().set(B=>{B.localFileName=W}),F.onload=()=>{if(F.result){const B=JSON.parse(F.result.toString());L?s&&(e(k=>{k.localContentToImportAfterCloudFileUpdate=B}),gt.getState().setSaveCloudFileFlag(!0)):o(B)}U.value=""}}},U.click()},P=()=>{let L=c.trim();if(L.length>0){L.endsWith(".ala")||(L+=".ala");const U=new Blob([JSON.stringify(n())],{type:"application/json"});return KKe.saveAs(U,L),gt.getState().set(F=>{F.localFileName=L}),e(F=>{F.cloudFile=void 0}),!0}else return Lo(b("menu.file.SavingAbortedMustHaveValidFileName",v)+"."),!1},R=(L,U)=>{if(C.current){const{clientWidth:F,clientHeight:W}=window.document.documentElement,B=C.current.getBoundingClientRect();x({left:-B.left+U.x,right:F-(B.right-U.x),top:-B.top+U.y,bottom:W-((B==null?void 0:B.bottom)-U.y)})}},H=()=>{p(!0),P()&>.getState().set(L=>{L.saveLocalFileDialogVisible=!1}),p(!1)},D=()=>{gt.getState().set(L=>{L.saveLocalFileDialogVisible=!1})},E=()=>{s&>.getState().set(L=>{L.localFileName=s,L.localFileName.endsWith(".ala")||(L.localFileName+=".ala")})};return h.jsx(h.Fragment,{children:h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>y(!0),onMouseOut:()=>y(!1),children:b("menu.file.SaveAsLocalFile",v)}),footer:s?[h.jsx(no,{onClick:E,children:b("menu.file.UseCloudFileName",v)},"Apply"),h.jsx(no,{onClick:D,children:b("word.Cancel",v)},"Cancel"),h.jsx(no,{type:"primary",onClick:H,disabled:!c,children:b("word.OK",v)},"OK")]:[h.jsx(no,{onClick:D,children:b("word.Cancel",v)},"Cancel"),h.jsx(no,{type:"primary",onClick:H,disabled:!c,children:b("word.OK",v)},"OK")],open:r,confirmLoading:f,onCancel:D,modalRender:L=>h.jsx(Vr,{disabled:!g,bounds:A,onStart:(U,F)=>R(U,F),children:h.jsx("div",{ref:C,children:L})}),children:h.jsx(ns,{placeholder:"File name",value:c,onPressEnter:H,onChange:L=>{gt.getState().set(U=>{U.localFileName=L.target.value})}})})})}),dWo=()=>{const t=M(I4t),e=M(A=>A.world),n=M(A=>A.elements),o=M(A=>A.viewState),i=M(A=>A.notes),r=gt(cs),a=gt(i3),l=gt(C4t),s=gt(R4t),c=M(w7t),u=M(v7t),d=M(b7t),f=M(M4t),p=new URLSearchParams(window.location.search),g=p.get("viewonly")==="true",y=p.get("map")==="true";return m.useEffect(()=>{c(),u(),d(),f(),gt.getState().set(A=>{A.openModelsMap=y,y&&(A.modelsMapFlag=!0,A.modelsMapWeatherStations=!1,A.leaderboardFlag=!0,A.showLeaderboard=!0)})},[]),m.useEffect(()=>{gt.getState().skipChange?s(!1):gt.getState().changed||l(!0)},[e,o,n,i]),m.useEffect(()=>{r&>.getState().set(A=>{A.showSolarRadiationHeatmap=!1}),a&>.getState().set(A=>{A.showHeatFluxes=!1})},[n]),h.jsx(iy,{locale:t,children:h.jsxs($Qt,{children:[g?h.jsx(zEe,{viewOnly:!0}):h.jsxs(ZQt,{onBeforeunload:()=>"",children:[h.jsx(zEe,{viewOnly:!1})," "]}),h.jsx(uWo,{viewOnly:g})]})})},fWo=XFe(document.getElementById("root"));fWo.render(h.jsx(dWo,{}))});export default hWo(); +`,aWo=Se.memo(({relativeWidth:t,canvas:e})=>{const n=M(dn),o=M(Eg),i=M(yH),r=M(Dje),a=M(Eje),l=M(e7t),s=M(t7t),c=M(kje),u=M(Zwt),d=M(n7t),f=M(o7t),p=M(u7t),g=M(l7t),y=M(c7t),A=M(s7t),x=M(i7t),C=M(r7t),b=M(a7t),v=M(Eq),S=M(Iq),[w,T]=m.useState(),[P,R]=m.useState(),[H,D]=m.useState(!1),[E,L]=m.useState(!1),U=m.useRef(!1),F=m.useRef(u??null),W=m.useRef(!1),B=m.useRef(!1),k=m.useRef(d??n9.ALL),N=m.useRef(!1),j=m.useRef(l??[]),Y=m.useRef(f??200),_=m.useRef(x??"rowWidth"),J=m.useRef(C??"rowWidth"),Q=m.useRef(b??5),ee=m.useRef(!0),$=m.useRef(!0);m.useEffect(()=>{_.current=x??"rowWidth"},[x]),m.useEffect(()=>{J.current=C??"rowWidth"},[C]),m.useEffect(()=>{Q.current=b??5},[b]),m.useEffect(()=>{Y.current=f??200},[f]);const{t:q}=jl(),le=Kt(),ie=o.uid===a;m.useEffect(()=>{if(j.current=[],l){for(const mt of l)j.current.push(mt);const Je=c;if(Je){const mt=g?1:-1;j.current.sort((Ge,xt)=>Je?Je==="rowWidth"&&"rowsPerRack"in Ge&&"rowsPerRack"in xt?mt*(Ge.rowsPerRack-xt.rowsPerRack):Je==="orientation"?mt*((Ge[Je]==="Landscape"?0:1)-(xt[Je]==="Landscape"?0:1)):Je==="totalYearlyYield"&&"yearlyYield"in Ge&&"yearlyYield"in xt?mt*(Ge.yearlyYield-xt.yearlyYield):Je==="meanYearlyYield"&&"yearlyYield"in Ge&&"yearlyYield"in xt?mt*(Ge.yearlyYield/Ge.panelCount-xt.yearlyYield/xt.panelCount):Je==="totalYearlyCost"?mt*(be.calculateCost(Ge)-be.calculateCost(xt)):Je==="yearlyProfit"?mt*(be.calculateProfit(Ge)-be.calculateProfit(xt)):Je in Ge&&Je in xt?mt*(Ge[Je]-xt[Je]):0:0)}D(!H)}},[l,g,c]),m.useEffect(()=>{if(T(void 0),l){for(const Je of l)if(Je.title===i){T(Je);break}}},[i,l]),m.useEffect(()=>{const Je=()=>{D(!H)};return window.addEventListener("resize",Je),()=>{window.removeEventListener("resize",Je)}},[H]);const pe=()=>{n(Je=>{Je.projectView=!1,Je.projectState.title=null,Je.projectState.description=null,Je.projectState.owner=null,Je.projectImages.clear()}),T(void 0),gt.getState().set(Je=>{Je.projectImagesUpdateFlag=!Je.projectImagesUpdateFlag})},ne=()=>{gt.getState().set(Je=>{Je.curateDesignToProjectFlag=!0})},Z=()=>{o.uid&&r&&w&&zYn(o.uid,r,w).then(()=>{n(Je=>{if(Je.projectState.designs){let mt=-1;for(const[Ge,xt]of Je.projectState.designs.entries())if(xt.title===w.title){mt=Ge;break}mt>=0&&Je.projectState.designs.splice(mt,1)}})})},he=window.innerHeight,fe=Math.round(800/Y.current),se=48/fe,oe=Math.round(t*window.innerWidth/fe-se),[de,ve,Pe,me,Re,ze]=m.useMemo(()=>[dd.getVariables(s,p??[]),dd.getTitles(s,le,p??[]),dd.getUnits(s,le,p??[]),dd.getDigits(s,p??[]),dd.getTickIntegers(s,p??[]),dd.getTypes(s,p??[])],[s,p,E,le]),Ae=m.useMemo(()=>{const Je=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const mt of l){const Ge={};if(p!=null&&p.includes("rowWidth")||(Ge.rowWidth=mt.rowsPerRack),p!=null&&p.includes("tiltAngle")||(Ge.tiltAngle=be.toDegrees(mt.tiltAngle)),p!=null&&p.includes("interRowSpacing")||(Ge.interRowSpacing=mt.interRowSpacing),p!=null&&p.includes("latitude")||(Ge.latitude=mt.latitude??42),p!=null&&p.includes("orientation")||(Ge.orientation=mt.orientation===ci.landscape?0:1),p!=null&&p.includes("poleHeight")||(Ge.poleHeight=mt.poleHeight),p!=null&&p.includes("unitCost")||(Ge.unitCost=mt.unitCost),p!=null&&p.includes("sellingPrice")||(Ge.sellingPrice=mt.sellingPrice),p!=null&&p.includes("")||(Ge.totalYearlyCost=be.calculateCost(mt)),p!=null&&p.includes("totalYearlyYield")||(Ge.totalYearlyYield=mt.yearlyYield*.001),p!=null&&p.includes("meanYearlyYield")||(Ge.meanYearlyYield=mt.yearlyYield/mt.panelCount),p!=null&&p.includes("yearlyProfit")||(Ge.yearlyProfit=be.calculateProfit(mt)),Ge.group=d===n9.INDIVIDUALS?mt.title:"default",Ge.selected=w===mt,Ge.hovered=P===mt,Ge.invisible=mt.invisible,A){for(const xt of A)if(xt.type===HL.Between&&xt.upperBound!==void 0&&xt.lowerBound!==void 0){const It=Ge[xt.variable];if(typeof It=="number"&&(It>xt.upperBound||It{n(Je=>{if(Je.projectState.designs)for(const[mt,Ge]of Je.projectState.designs.entries())Ge.excluded=Ae[mt].excluded})},[Ae]);const re=(Je,mt)=>{let Ge=mt;if(y){for(const xt of y)if(xt.variable===Je){Ge=xt.minimum??mt;break}}return Ge},ge=(Je,mt)=>{let Ge=mt;if(y){for(const xt of y)if(xt.variable===Je){Ge=xt.maximum??mt;break}}return Ge},we=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Je=[];return p!=null&&p.includes("rowWidth")||Je.push(re("rowWidth",v.minimumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Je.push(re("tiltAngle",be.toDegrees(v.minimumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Je.push(re("interRowSpacing",v.minimumInterRowSpacing)),p!=null&&p.includes("latitude")||Je.push(re("latitude",-90)),p!=null&&p.includes("orientation")||Je.push(0),p!=null&&p.includes("poleHeight")||Je.push(re("poleHeight",0)),p!=null&&p.includes("unitCost")||Je.push(re("unitCost",.1)),p!=null&&p.includes("sellingPrice")||Je.push(re("sellingPrice",.1)),p!=null&&p.includes("totalYearlyCost")||Je.push(re("totalYearlyCost",0)),p!=null&&p.includes("totalYearlyYield")||Je.push(re("totalYearlyYield",0)),p!=null&&p.includes("meanYearlyYield")||Je.push(re("meanYearlyYield",0)),p!=null&&p.includes("yearlyProfit")||Je.push(re("yearlyProfit",-10)),Je}return[]},[v,s,y,p,E]),ye=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Je=[];return p!=null&&p.includes("rowWidth")||Je.push(ge("rowWidth",v.maximumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Je.push(ge("tiltAngle",be.toDegrees(v.maximumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Je.push(ge("interRowSpacing",v.maximumInterRowSpacing)),p!=null&&p.includes("latitude")||Je.push(ge("latitude",90)),p!=null&&p.includes("orientation")||Je.push(1),p!=null&&p.includes("poleHeight")||Je.push(ge("poleHeight",5)),p!=null&&p.includes("unitCost")||Je.push(ge("unitCost",1)),p!=null&&p.includes("sellingPrice")||Je.push(ge("sellingPrice",.5)),p!=null&&p.includes("totalYearlyCost")||Je.push(ge("totalYearlyCost",100)),p!=null&&p.includes("totalYearlyYield")||Je.push(ge("totalYearlyYield",100)),p!=null&&p.includes("meanYearlyYield")||Je.push(ge("meanYearlyYield",1e3)),p!=null&&p.includes("yearlyProfit")||Je.push(ge("yearlyProfit",10)),Je}return[]},[v,s,y,p,E]),Te=(Je,mt)=>{let Ge=mt;if(A){for(const xt of A)if(xt.variable===Je){Ge=xt.lowerBound??mt;break}}return Ge},Ie=(Je,mt)=>{let Ge=mt;if(A){for(const xt of A)if(xt.variable===Je){Ge=xt.upperBound??mt;break}}return Ge},Ce=(Je,mt,Ge)=>({variable:Je,type:HL.Between,upperBound:Ie(Je,mt),lowerBound:Te(Je,Ge)}),Ee=m.useMemo(()=>{const Je=[];return p!=null&&p.includes("rowWidth")||Je.push(Ce("rowWidth",v.maximumRowsPerRack,v.minimumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Je.push(Ce("tiltAngle",be.toDegrees(v.maximumTiltAngle),be.toDegrees(v.minimumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Je.push(Ce("interRowSpacing",v.maximumInterRowSpacing,v.minimumInterRowSpacing)),p!=null&&p.includes("latitude")||Je.push(Ce("latitude",90,-90)),p!=null&&p.includes("orientation")||Je.push(Ce("orientation",1,0)),p!=null&&p.includes("poleHeight")||Je.push(Ce("poleHeight",5,0)),p!=null&&p.includes("unitCost")||Je.push(Ce("unitCost",1,.1)),p!=null&&p.includes("sellingPrice")||Je.push(Ce("sellingPrice",.5,.1)),p!=null&&p.includes("totalYearlyCost")||Je.push(Ce("totalYearlyCost",100,0)),p!=null&&p.includes("totalYearlyYield")||Je.push(Ce("totalYearlyYield",100,0)),p!=null&&p.includes("meanYearlyYield")||Je.push(Ce("meanYearlyYield",1e3,0)),p!=null&&p.includes("yearlyProfit")||Je.push(Ce("yearlyProfit",10,-10)),Je},[E,A,p]),Ue=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Je=[];return p!=null&&p.includes("rowWidth")||Je.push(1),p!=null&&p.includes("tiltAngle")||Je.push(.1),p!=null&&p.includes("interRowSpacing")||Je.push(.1),p!=null&&p.includes("latitude")||Je.push(.1),p!=null&&p.includes("orientation")||Je.push(1),p!=null&&p.includes("poleHeight")||Je.push(.1),p!=null&&p.includes("unitCost")||Je.push(.01),p!=null&&p.includes("sellingPrice")||Je.push(.01),p!=null&&p.includes("totalYearlyCost")||Je.push(.1),p!=null&&p.includes("totalYearlyYield")||Je.push(1),p!=null&&p.includes("meanYearlyYield")||Je.push(1),p!=null&&p.includes("yearlyProfit")||Je.push(.1),Je}return[]},[s,p,E]),Ne=m.useRef(!(p!=null&&p.includes("rowWidth"))),Le=m.useRef(!(p!=null&&p.includes("tiltAngle"))),qe=m.useRef(!(p!=null&&p.includes("interRowSpacing"))),We=m.useRef(!(p!=null&&p.includes("latitude"))),De=m.useRef(!(p!=null&&p.includes("orientation"))),Fe=m.useRef(!(p!=null&&p.includes("poleHeight"))),_e=m.useRef(!(p!=null&&p.includes("unitCost"))),ot=m.useRef(!(p!=null&&p.includes("sellingPrice"))),Ye=m.useRef(!(p!=null&&p.includes("totalYearlyCost"))),St=m.useRef(!(p!=null&&p.includes("totalYearlyYield"))),dt=m.useRef(!(p!=null&&p.includes("meanYearlyYield"))),je=m.useRef(!(p!=null&&p.includes("yearlyProfit")));m.useEffect(()=>{Ne.current=!(p!=null&&p.includes("rowWidth")),Le.current=!(p!=null&&p.includes("tiltAngle")),qe.current=!(p!=null&&p.includes("interRowSpacing")),We.current=!(p!=null&&p.includes("latitude")),De.current=!(p!=null&&p.includes("orientation")),Fe.current=!(p!=null&&p.includes("poleHeight")),_e.current=!(p!=null&&p.includes("unitCost")),ot.current=!(p!=null&&p.includes("sellingPrice")),Ye.current=!(p!=null&&p.includes("totalYearlyCost")),St.current=!(p!=null&&p.includes("totalYearlyYield")),dt.current=!(p!=null&&p.includes("meanYearlyYield")),je.current=!(p!=null&&p.includes("yearlyProfit")),D(!H)},[p]),m.useEffect(()=>{F.current=u},[u]);const at=Je=>{l&&(Je>=0&&Je{n(mt=>{if(mt.projectState.designs){for(const Ge of mt.projectState.designs)if(Ge.title===Je){Ge.invisible=!Ge.invisible;break}}})},wt=Je=>{ut(Je.title),ie&&o.uid&&r&&YYn(o.uid,r,Je)},rt=(Je,mt)=>{n(Ge=>{Ge.projectState.hiddenParameters&&(Je?Ge.projectState.hiddenParameters.includes(mt)&&Ge.projectState.hiddenParameters.splice(Ge.projectState.hiddenParameters.indexOf(mt),1):Ge.projectState.hiddenParameters.includes(mt)||Ge.projectState.hiddenParameters.push(mt))})},Qe=(Je,mt)=>{N.current=!0,ie?o.uid&&r&&DYn(o.uid,r,mt,!Je).then(()=>{rt(Je,mt)}):rt(Je,mt)},Oe=()=>{n(Je=>{Je.projectState.dataColoring=k.current}),gt.getState().set(Je=>{Je.updateProjectsFlag=!0}),D(!H)},et=Je=>{k.current=Je,ie?o.uid&&r&&kYn(o.uid,r,k.current).then(()=>{Oe()}):Oe()},vt=()=>h.jsxs("div",{children:[h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{Ne.current=Je.target.checked,Qe(Ne.current,"rowWidth"),L(!E)},checked:Ne.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowWidth",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{Le.current=Je.target.checked,Qe(Le.current,"tiltAngle"),L(!E)},checked:Le.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTiltAngle",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{qe.current=Je.target.checked,Qe(qe.current,"interRowSpacing"),L(!E)},checked:qe.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowSpacing",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{We.current=Je.target.checked,Qe(We.current,"latitude"),L(!E)},checked:We.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Latitude",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{De.current=Je.target.checked,Qe(De.current,"orientation"),L(!E)},checked:De.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayOrientation",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{Fe.current=Je.target.checked,Qe(Fe.current,"poleHeight"),L(!E)},checked:Fe.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayPoleHeight",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{_e.current=Je.target.checked,Qe(_e.current,"unitCost"),L(!E)},checked:_e.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.UnitCost",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{ot.current=Je.target.checked,Qe(ot.current,"sellingPrice"),L(!E)},checked:ot.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.SellingPrice",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{Ye.current=Je.target.checked,Qe(Ye.current,"totalYearlyCost"),L(!E)},checked:Ye.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyCost",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{St.current=Je.target.checked,Qe(St.current,"totalYearlyYield"),L(!E)},checked:St.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyYield",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{dt.current=Je.target.checked,Qe(dt.current,"meanYearlyYield"),L(!E)},checked:dt.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayMeanYearlyYield",le)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Je=>{je.current=Je.target.checked,Qe(je.current,"yearlyProfit"),L(!E)},checked:je.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayYearlyProfit",le)})})]}),ct=()=>h.jsxs(h.Fragment,{children:[h.jsx(Bh,{value:"rowWidth",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowWidth",le)})},"rowWidth"),h.jsx(Bh,{value:"tiltAngle",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTiltAngle",le)})},"tiltAngle"),h.jsx(Bh,{value:"interRowSpacing",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowSpacing",le)})},"interRowSpacing"),h.jsx(Bh,{value:"latitude",children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Latitude",le)})},"latitude"),h.jsx(Bh,{value:"orientation",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayOrientation",le)})},"orientation"),h.jsx(Bh,{value:"poleHeight",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayPoleHeight",le)})},"poleHeight"),h.jsx(Bh,{value:"unitCost",children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.UnitCost",le)})},"unitCost"),h.jsx(Bh,{value:"sellingPrice",children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.SellingPrice",le)})},"sellingPrice"),h.jsx(Bh,{value:"totalYearlyCost",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyCost",le)})},"totalYearlyCost"),h.jsx(Bh,{value:"totalYearlyYield",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyYield",le)})},"totalYearlyYield"),h.jsx(Bh,{value:"meanYearlyYield",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayMeanYearlyYield",le)})},"meanYearlyYield"),h.jsx(Bh,{value:"yearlyProfit",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayYearlyProfit",le)})},"yearlyProfit")]}),lt=m.useMemo(()=>{const Je=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const mt of l){if(mt.invisible||mt===w)continue;const Ge={};dd.setScatterData(_.current,"x",Ge,mt),dd.setScatterData(J.current,"y",Ge,mt),Je.push(Ge)}return Je},[_.current,J.current,l,s,w]),tt=m.useMemo(()=>{const Je=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const mt of l){if(mt!==w)continue;const Ge={};dd.setScatterData(_.current,"x",Ge,mt),dd.setScatterData(J.current,"y",Ge,mt),Je.push(Ge)}return Je},[_.current,J.current,l,s,w]),it=Je=>{const mt={min:0,max:1};if(s===Tr.SOLAR_PANEL_ARRAY&&v)switch(Je){case"rowWidth":mt.min=re("rowWidth",v.minimumRowsPerRack),mt.max=ge("rowWidth",v.maximumRowsPerRack);break;case"tiltAngle":mt.min=re("tiltAngle",be.toDegrees(v.minimumTiltAngle)),mt.max=ge("tiltAngle",be.toDegrees(v.maximumTiltAngle));break;case"interRowSpacing":mt.min=re("interRowSpacing",v.minimumInterRowSpacing),mt.max=ge("interRowSpacing",v.maximumInterRowSpacing);break;case"latitude":mt.min=re("latitude",-90),mt.max=ge("latitude",90);break;case"orientation":mt.min=0,mt.max=1;break;case"poleHeight":mt.min=re("poleHeight",0),mt.max=ge("poleHeight",5);break;case"unitCost":mt.min=re("unitCost",.1),mt.max=ge("unitCost",1);break;case"sellingPrice":mt.min=re("sellingPrice",.1),mt.max=ge("sellingPrice",.5);break;case"totalYearlyCost":mt.min=re("totalYearlyCost",0),mt.max=ge("totalYearlyCost",100);break;case"totalYearlyYield":mt.min=re("totalYearlyYield",0),mt.max=ge("totalYearlyYield",100);break;case"meanYearlyYield":mt.min=re("meanYearlyYield",0),mt.max=ge("meanYearlyYield",1e3);break;case"yearlyProfit":mt.min=re("yearlyProfit",-10),mt.max=ge("yearlyProfit",10);break}return mt},At=m.useMemo(()=>it(_.current),[_.current,y]),Mt=m.useMemo(()=>it(J.current),[J.current,y]),st=m.useMemo(()=>dd.getUnit(_.current,le),[_.current,le]),ft=m.useMemo(()=>dd.getUnit(J.current,le),[J.current,le]),Rt=()=>h.jsxs("div",{style:{width:"280px"},children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{span:8,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.SelectXAxis",le),": "]})}),h.jsx(nt,{span:16,children:h.jsx(Yo,{style:{width:"100%"},value:_.current,onChange:Je=>{_.current=Je,ie&&o.uid&&r&&LYn(o.uid,r,Je).then(()=>{}),D(!H)},children:ct()})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(nt,{span:8,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.SelectYAxis",le),": "]})}),h.jsx(nt,{span:16,children:h.jsx(Yo,{style:{width:"100%"},value:J.current,onChange:Je=>{J.current=Je,ie&&o.uid&&r&&WYn(o.uid,r,Je).then(()=>{}),D(!H)},children:ct()})})]}),h.jsx(nn,{style:{paddingBottom:"8px"},children:h.jsxs("div",{children:[h.jsxs(SIo,{id:"scatter-chart",width:280,height:240,margin:{top:0,right:0,bottom:-10,left:-10},children:[h.jsx(A7,{strokeWidth:"1",stroke:"gray",horizontal:ee.current,vertical:$.current}),h.jsx(t1,{dataKey:"x",fontSize:10,type:"number",domain:[At.min,At.max],name:"x",unit:st,strokeWidth:1,stroke:"gray",tickFormatter:(Je,mt)=>_.current==="yearlyProfit"||_.current==="unitCost"||_.current==="sellingPrice"?"$"+Je:Je}),h.jsx(gh,{dataKey:"y",fontSize:10,type:"number",domain:[Mt.min,Mt.max],name:"y",unit:ft,strokeWidth:1,stroke:"gray",tickFormatter:(Je,mt)=>J.current==="yearlyProfit"||J.current==="unitCost"||J.current==="sellingPrice"?"$"+Je:Je}),h.jsx(Zf,{cursor:{strokeDasharray:"3 3"},formatter:Je=>Je.toFixed(2)}),h.jsx(db,{name:"All",data:lt,fill:"#8884d8",shape:h.jsx($N,{fill:"#8884d8",r:Q.current})}),w&&h.jsx(db,{name:"Selected",data:tt,fill:"red",shape:"star"})]}),h.jsx(QLo,{symbolSize:Q.current,horizontalGrid:ee.current,verticalGrid:$.current,changeHorizontalGrid:Je=>{ee.current=Je,D(!H)},changeVerticalGrid:Je=>{$.current=Je,D(!H)},changeSymbolSize:Je=>{Q.current=Je,ie&&o.uid&&r&&NYn(o.uid,r,Je).then(()=>{}),D(!H)}})]})}),h.jsx(nn,{children:h.jsx("span",{style:{width:"100%",textAlign:"center"},children:h.jsx(_u,{style:{fontSize:"18px",color:"gray",paddingRight:"8px"},title:q("projectPanel.ScatterPlotScreenshot",le),onClick:()=>{const Je=document.getElementById("scatter-chart");Je&&Uhe.saveSvgAsPng(Je,"scatter-chart-"+r+".png").then(()=>{fn(q("message.ScreenshotSaved",le))})}})})})]}),zt=()=>h.jsx("div",{children:h.jsxs(Be.Group,{onChange:Je=>{et(Je.target.value)},value:d??n9.ALL,children:[h.jsx(Be,{style:{fontSize:"12px",width:"100%"},value:n9.ALL,children:q("projectPanel.SameColorForAllDesigns",le)}),h.jsx("br",{}),h.jsx(Be,{style:{fontSize:"12px",width:"100%"},value:n9.INDIVIDUALS,children:q("projectPanel.OneColorForEachDesign",le)})]})}),Xe=()=>h.jsx("div",{style:{width:"250px"},onClick:Je=>Je.stopPropagation(),children:h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(nt,{span:14,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.ThumbnailImageSize",le),": "]})}),h.jsx(nt,{span:10,children:h.jsxs(Yo,{style:{width:"100%"},value:Y.current,onChange:Je=>{Y.current=Je,ie?o.uid&&r&&UYn(o.uid,r,Je).then(()=>{n(mt=>{mt.projectState.thumbnailWidth=Y.current})}):n(mt=>{mt.projectState.thumbnailWidth=Y.current}),D(!H)},children:[h.jsx(Bh,{value:100,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Small",le)})},"small-thumbnail"),h.jsx(Bh,{value:125,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Medium",le)})},"medium-thumbnail"),h.jsx(Bh,{value:200,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Large",le)})},"large-thumbnail")]})})]})}),ht=[{key:"1",label:h.jsxs(oWo,{children:[h.jsx("span",{children:q("projectPanel.ProjectDescription",le)+" | "+q("projectPanel.ProjectType",le)+": "+s}),h.jsxs("span",{children:[ie&&h.jsxs(h.Fragment,{children:[B.current&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),U.current=!U.current,D(!H)},children:U.current?h.jsx(ntn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.MakeDescriptionNonEditable",le)}):h.jsx(BJe,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.MakeDescriptionEditable",le)})}),h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),ne()},children:h.jsx(ltn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.CurateCurrentDesign",le)})}),w&&w.title===i&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),e&&o.uid&&r&&i&&OYn(o.uid,s,r,f??200,i,e).then(()=>{D(!H)})},children:h.jsx(qen,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.UpdateSelectedDesign",le)})}),w&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),Z(),T(void 0)},children:h.jsx(T_t,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.RemoveSelectedDesign",le)})}),w&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{if(Je.stopPropagation(),r){let mt=qp+"?client=web&userid="+o.uid+"&project="+encodeURIComponent(r);w&&(mt+="&title="+encodeURIComponent(w.title)),navigator.clipboard.writeText(mt).then(()=>m2(q("projectListPanel.ProjectLinkGeneratedInClipBoard",le)+"."))}},children:h.jsx(htn,{style:{fontSize:"24px",color:"gray"},title:q("projectListPanel.GenerateProjectLink",le)})})]}),l&&l.length>1&&c&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>{Je.stopPropagation(),n(mt=>{mt.projectState.sortDescending=!mt.projectState.sortDescending})},children:g?h.jsx(ztn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.ClickToFlipSortingOrder",le)}):h.jsx(ktn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.ClickToFlipSortingOrder",le)})}),h.jsx(gl,{title:h.jsx("div",{onClick:Je=>Je.stopPropagation(),children:q("projectPanel.ProjectSettings",le)}),content:Xe,children:h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Je=>Je.stopPropagation(),children:h.jsx(Htn,{style:{fontSize:"24px",color:"gray"}})})})]})]}),children:h.jsx(ZLo,{title:U.current?void 0:q("projectPanel.DoubleClickToMakeDescriptionEditable",le),readOnly:!U.current,value:F.current??void 0,onDoubleClick:()=>{U.current=!U.current,D(!H)},onChange:Je=>{F.current=Je.target.value,W.current=!0,n(mt=>{mt.projectState.description=Je.target.value}),D(!H)},onBlur:()=>{U.current=!1,W.current&&o.uid&&ie&&r&&EYn(o.uid,r,F.current).then(()=>{W.current=!1,D(!H)})},style:{paddingLeft:"10px",textAlign:"left",resize:U.current?"vertical":"none",border:U.current?"1px solid gray":"none"}})}];return h.jsx(eWo,{onContextMenu:Je=>{Je.stopPropagation()},children:h.jsxs(tWo,{children:[h.jsxs(nWo,{children:[h.jsx("span",{children:q(ie?"projectPanel.Project":"projectPanel.ProjectByOtherPeople",le)+": "+r+(ie?"":" ("+q("word.Owner",le)+": "+(a==null?void 0:a.substring(0,4))+"***)")+" ("+j.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{pe()},onTouchStart:()=>{pe()},children:h.jsx(E7,{title:q("word.Close",le)})})]}),h.jsx(Mme,{items:ht,style:{backgroundColor:"white",border:"none"},onChange:Je=>{B.current=Je.length>0,D(!H)}}),j.current.length>0&&h.jsxs(rWo,{children:[h.jsx(j0e,{style:{width:"100%",height:he/2-(B.current?160:80),paddingLeft:"4px",paddingRight:"4px",overflowX:"hidden",overflowY:"auto"},grid:{column:fe,gutter:1},dataSource:j.current,renderItem:Je=>{var xt;const mt=Je.title.lastIndexOf(" "),Ge=f===100?8:f===125?12:30;return h.jsxs(j0e.Item,{style:{marginBottom:"-28px"},onMouseOver:()=>{R(Je)},onMouseLeave:()=>{R(void 0)},children:[h.jsx("img",{loading:"eager",width:oe+"px",height:"auto",onError:It=>{It.target.src=QO},onLoad:It=>{n(Tt=>{Tt.projectImages.set(Je.title,It.target)}),gt.getState().set(Tt=>{Tt.projectImagesUpdateFlag=!Tt.projectImagesUpdateFlag})},alt:Je.title,title:(Je.timestamp?q("word.LastUpdate",le)+": "+gc(new Date(Je.timestamp)).format("MM-DD-YYYY hh:mm A")+` +`:"")+q(w===Je?"projectPanel.SingleClickToDeselectDoubleClickToOpen":"projectPanel.SingleClickToSelectDoubleClickToOpen",le),src:(xt=Je.thumbnail)!=null&&xt.startsWith("data:image/png;base64")?Je.thumbnail:QO,style:{transition:".5s ease",opacity:Je.excluded?.25:P===Je?.5:1,padding:"1px",cursor:"pointer",borderRadius:w===Je?"0":"10px",border:w===Je?"2px solid red":"none"},onDoubleClick:It=>{const Tt=It.target;Tt.src===QO&&(Tt.src=Je.thumbnailUrl),T(Je),a&&MX(a,Je.title,!0,!0).then(()=>{})},onClick:It=>{const Tt=It.target;Tt.src===QO&&(Tt.src=Je.thumbnailUrl),T(Je!==w?Je:void 0)}}),h.jsx("div",{style:{position:"relative",left:"10px",textAlign:"left",bottom:"18px",color:"white",fontSize:"8px",fontWeight:Je.title===i?"bold":"normal"},children:Je.title?Je.title.length>Ge?Je.title.substring(0,Math.min(Ge,mt))+"..."+Je.title.substring(mt):Je.title:"Unknown"}),h.jsxs("div",{style:{position:"relative",right:"10px",textAlign:"right",bottom:"36px",color:"white"},children:[Je.title===i&&h.jsx(CJe,{style:{paddingRight:"4px",fontSize:"16px"}}),Je.invisible?h.jsx(Xen,{onClick:()=>{wt(Je)},style:{fontSize:"16px"},title:q("projectPanel.DesignNotShownInSolutionSpaceClickToShow",le)}):h.jsx(Bge,{onClick:()=>{wt(Je)},style:{fontSize:"16px"},title:q("projectPanel.DesignShownInSolutionSpaceClickToHide",le)})]})]})}}),h.jsxs(iWo,{children:[h.jsx("span",{style:{paddingLeft:"20px"},children:q("projectPanel.SolutionSpace",le)}),h.jsxs("span",{children:[s===Tr.SOLAR_PANEL_ARRAY&&h.jsx(gl,{title:q("projectPanel.ChooseSolutionSpace",le),onOpenChange:Je=>{N.current&&(Je||gt.getState().set(mt=>{mt.updateProjectsFlag=!0}),N.current=!1)},content:vt(),children:h.jsx(no,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(_en,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(gl,{title:q("projectPanel.ChooseDataColoring",le),content:zt(),children:h.jsx(no,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(Wen,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(gl,{title:q("projectPanel.GenerateScatterPlot",le),content:Rt(),children:h.jsx(no,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(NFt,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(no,{style:{border:"none",paddingRight:"20px",background:"white"},onClick:()=>{const Je=document.getElementById("design-space");Je&&Uhe.saveSvgAsPng(Je,"design-space-"+r+".png").then(()=>{fn(q("message.ScreenshotSaved",le))})},children:h.jsx(_u,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.SolutionSpaceScreenshot",le)})})]})]}),h.jsx($Lo,{id:"design-space",width:t*window.innerWidth,height:he/2-120,data:Ae,types:ze,minima:we,maxima:ye,filters:Ee,steps:Ue,variables:de,titles:ve,units:Pe,digits:me,tickIntegers:Re,hover:at,hoveredIndex:l&&P?l.indexOf(P):-1,selectedIndex:l&&w?l.indexOf(w):-1})]})]})})}),lWo=Se.memo(({showGallery:t,defaultSize:e=50,minWidth:n=25,maxWidth:o=75,children:i,wait:r=50,onChange:a})=>{const[l,s]=i,c=m.useRef(!1),u=p=>{const g=document.querySelector(".split-pane");g&&g.style.setProperty("--percentWidth",p+"%")},d=()=>{c.current=!0},f=m.useCallback(M2.throttle(p=>{if(!c.current)return;const g=Math.max(n,Math.min(o,p.clientX/window.innerWidth*100));u(g),a&&a(g)},r),[]);return m.useEffect(()=>{u(e)},[e]),m.useEffect(()=>{const p=()=>{c.current=!1};return window.addEventListener("pointerup",p),()=>window.removeEventListener("pointerup",p)},[]),m.useEffect(()=>{u(t?e:0)},[t,e]),h.jsxs("div",{className:"split-pane",onPointerMove:f,children:[h.jsx("div",{className:"left-child",children:l}),t&&h.jsx("div",{className:"sash",onPointerDown:d}),h.jsx("div",{className:"right-child",children:s})]})},(t,e)=>t.showGallery===e.showGallery&&t.onChange===e.onChange),zEe=Se.memo(({viewOnly:t=!1})=>{const e=M(Eg),n=M(ha),o=M(dn),i=gt(BBe),r=M(hu)??!1,a=M(hq)??kk,l=M(yH),s=M(Rq),c=M(B1e),u=M(hBe),d=M(sA),f=M(aAt)??"roadmap",p=gt(yq),g=M(wH),y=M(pA),[A,x]=m.useState(!0),[C,b]=m.useState(50),v=m.useRef(null),S=Kt();m.useEffect(()=>{x(!1)},[]),m.useEffect(()=>{o(R=>{var H;R.loggable=e&&e.uid?!((H=e.email)!=null&&H.endsWith("@intofuture.org")):!1,e&&(e.noLogging||!e.schoolID||e.schoolID==="UNKNOWN SCHOOL"||!e.classID||e.classID==="UNKNOWN CLASS")&&(R.loggable=!1)})},[e]),console.log("x");const w=e.uid&&new URLSearchParams(window.location.search).get("userid")===e.uid,T=()=>h.jsxs(X9t,{ref:v,shadows:!0,gl:{preserveDrawingBuffer:!0,logarithmicDepthBuffer:!0},frameloop:"demand",style:{height:"100%",width:"100%",backgroundColor:"black"},camera:{fov:qNe,far:a,up:[0,0,1]},children:[h.jsx(h9o,{}),h.jsx(R2o,{}),h.jsx(f2o,{}),h.jsx(Cen,{}),h.jsx(p2o,{}),h.jsxs(m.Suspense,{fallback:null,children:[h.jsx(Ten,{}),h.jsx(b2o,{})]}),h.jsxs(m.Suspense,{fallback:null,children:[c&&h.jsx(lZt,{}),h.jsx(aZt,{theme:u}),h.jsx(Ien,{}),d&&h.jsx(sOn,{})]}),h.jsx(C2o,{}),h.jsx(XLo,{}),g===Bs.GENETIC_ALGORITHM&&y.geneticAlgorithmParams.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&h.jsx(a9o,{}),g===Bs.GENETIC_ALGORITHM&&y.geneticAlgorithmParams.problem===Tr.SOLAR_PANEL_ARRAY&&h.jsx(s9o,{}),g===Bs.PARTICLE_SWARM_OPTIMIZATION&&y.particleSwarmOptimizationParams.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&h.jsx(u9o,{}),g===Bs.PARTICLE_SWARM_OPTIMIZATION&&y.particleSwarmOptimizationParams.problem===Tr.SOLAR_PANEL_ARRAY&&h.jsx(f9o,{})]}),P=m.useMemo(()=>new Gt,[]);return h.jsxs("div",{className:"App",style:{position:"relative",overflow:"hidden"},onContextMenu:R=>R.preventDefault(),children:[h.jsx(xen,{initializing:A}),h.jsxs("div",{style:{backgroundColor:"lightblue",height:"72px",paddingTop:"10px",textAlign:"start",userSelect:"none",fontSize:"30px"},children:[h.jsx("span",{style:{marginLeft:"120px",verticalAlign:"middle",cursor:"pointer",userSelect:"none"},title:O.t("tooltip.visitAladdinHomePage",S),onClick:Oqt,children:`${O.t("name.Aladdin",S)}`}),l&&!p&&h.jsxs("span",{style:{marginLeft:"20px",fontSize:"14px",verticalAlign:"center",userSelect:"text",color:w?"black":"gray"},children:[h.jsx("img",{title:O.t("toolbar.CloudFile",S),alt:"Cloud",src:P2o,height:32,width:32,style:{paddingRight:"8px"}}),l+(w&&i?" *":""),!t&&w&&i&&h.jsx(no,{type:"primary",size:"small",style:{marginLeft:"10px"},title:O.t("menu.file.SaveCloudFile",S),onClick:()=>{gt.getState().setSaveCloudFileFlag(!0),n&&o(R=>{R.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}})},children:`${O.t("word.Save",S)}`})]})]}),t?h.jsxs("div",{style:{position:"absolute",bottom:"6px",left:"6px",zIndex:999,fontSize:"8px",userSelect:"none",color:d||s?f!=="roadmap"?"antiquewhite":"darkslategrey":"antiquewhite"},children:[h.jsx("img",{alt:"IFI Logo",src:yTe,height:"30px",style:{verticalAlign:"bottom",cursor:"pointer"},title:O.t("tooltip.gotoIFI",S),onClick:Gbe})," V "+nE]}):h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"IFI Logo",src:yTe,height:s?"24px":"40px",style:{position:"absolute",cursor:"pointer",bottom:"6px",left:"6px",zIndex:999,userSelect:"none"},title:O.t("tooltip.gotoIFI",S),onClick:Gbe}),h.jsxs("div",{style:{position:"absolute",bottom:"4px",left:s?"24px":"44px",zIndex:999,fontSize:"10px",userSelect:"none",color:d?f!=="roadmap"?"antiquewhite":"darkslategrey":s?"darkslategrey":"antiquewhite"},children:["   ©",new Date().getFullYear()," ",`${O.t("name.IFI",S)}`," ",O.t("word.VersionInitial",S)+nE+". "+O.t("word.AllRightsReserved",S)+". "]})]}),!t&&h.jsx(r9o,{size:16,round:!0,margin:"2px",style:{position:"absolute",right:"0",top:"80px"}}),h.jsx(KYn,{viewOnly:t,canvas:v.current}),h.jsx(Gpo,{viewOnly:t,canvas:v.current}),h.jsx(kLo,{}),h.jsx(Hfo,{children:h.jsxs("div",{style:{height:"calc(100vh - 72px)"},children:[h.jsxs(lWo,{showGallery:s,defaultSize:s?50:0,onChange:R=>{b(Math.round(100-R));const H=Ln.getState().canvas;if(H){const{gl:D,camera:E}=H,L=(100-R)*window.innerWidth/100;D.getSize(P),D.setSize(L,P.y),E instanceof Iu&&(E.aspect=L/P.y,E.updateProjectionMatrix(),Zh())}},children:[s?h.jsx(aWo,{canvas:v.current,relativeWidth:1-C*.01}):h.jsx(h.Fragment,{}),T()]}),h.jsx(T2o,{canvas:v.current})]})}),h.jsx(g2o,{visible:!r}),!t&&h.jsx(iOn,{}),!t&&n&&h.jsx(d2o,{})]})}),sWo=Se.memo(({viewOnly:t=!1})=>{const e=M(dn),n=M(GBe),o=M(Q1e),i=M(XBe),r=gt(VBe),a=gt($4t),l=gt(Q4t),s=M(yH),c=gt(q4t),u=M(Eg),d=M(Sc),[f,p]=m.useState(!1),[g,y]=m.useState(!1),[A,x]=m.useState({left:0,top:0,bottom:0,right:0}),C=m.useRef(null),{t:b}=jl(),v=m.useMemo(()=>({lng:d}),[d]);m.useEffect(()=>{a&&(S(),gt.getState().setCreateNewFileFlag(!1))},[a]),m.useEffect(()=>{l&&(w(),gt.getState().setOpenLocalFileFlag(!1))},[l]);const S=()=>{_r.confirm({title:`${b("message.DoYouWantToSaveChanges",v)}`,icon:h.jsx(qm,{}),okText:`${b("word.Yes",v)}`,cancelText:`${b("word.No",v)}`,onOk:()=>{u.uid?s?(e(L=>{L.localContentToImportAfterCloudFileUpdate="CREATE_NEW_FILE"}),gt.getState().setSaveCloudFileFlag(!0)):e(L=>{L.showCloudFileTitleDialogFlag=!L.showCloudFileTitleDialogFlag,L.showCloudFileTitleDialog=!0}):fn(b("menu.file.ToSaveYourWorkPleaseSignIn",v))},onCancel:()=>{i()}})},w=()=>{!t&>.getState().changed?_r.confirm({title:b("message.DoYouWantToSaveChanges",v),icon:h.jsx(qm,{}),onOk:()=>{u.uid?s?T(!0):e(L=>{L.showCloudFileTitleDialogFlag=!L.showCloudFileTitleDialogFlag,L.showCloudFileTitleDialog=!0}):fn(b("menu.file.ToSaveYourWorkPleaseSignIn",v))},onCancel:()=>T(!1),okText:b("word.Yes",v),cancelText:b("word.No",v)}):T(!1)},T=L=>{document.body.onfocus=()=>{e(F=>{F.localFileDialogRequested=!1})};const U=document.getElementById("file-dialog");U.onchange=()=>{if(U.files&&U.files.length>0){gt.getState().set(B=>{B.waiting=!0});const F=new FileReader;F.readAsText(U.files[0]);const W=U.files[0].name;gt.getState().set(B=>{B.localFileName=W}),F.onload=()=>{if(F.result){const B=JSON.parse(F.result.toString());L?s&&(e(k=>{k.localContentToImportAfterCloudFileUpdate=B}),gt.getState().setSaveCloudFileFlag(!0)):o(B)}U.value=""}}},U.click()},P=()=>{let L=c.trim();if(L.length>0){L.endsWith(".ala")||(L+=".ala");const U=new Blob([JSON.stringify(n())],{type:"application/json"});return KKe.saveAs(U,L),gt.getState().set(F=>{F.localFileName=L}),e(F=>{F.cloudFile=void 0}),!0}else return Lo(b("menu.file.SavingAbortedMustHaveValidFileName",v)+"."),!1},R=(L,U)=>{if(C.current){const{clientWidth:F,clientHeight:W}=window.document.documentElement,B=C.current.getBoundingClientRect();x({left:-B.left+U.x,right:F-(B.right-U.x),top:-B.top+U.y,bottom:W-((B==null?void 0:B.bottom)-U.y)})}},H=()=>{p(!0),P()&>.getState().set(L=>{L.saveLocalFileDialogVisible=!1}),p(!1)},D=()=>{gt.getState().set(L=>{L.saveLocalFileDialogVisible=!1})},E=()=>{s&>.getState().set(L=>{L.localFileName=s,L.localFileName.endsWith(".ala")||(L.localFileName+=".ala")})};return h.jsx(h.Fragment,{children:h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>y(!0),onMouseOut:()=>y(!1),children:b("menu.file.SaveAsLocalFile",v)}),footer:s?[h.jsx(no,{onClick:E,children:b("menu.file.UseCloudFileName",v)},"Apply"),h.jsx(no,{onClick:D,children:b("word.Cancel",v)},"Cancel"),h.jsx(no,{type:"primary",onClick:H,disabled:!c,children:b("word.OK",v)},"OK")]:[h.jsx(no,{onClick:D,children:b("word.Cancel",v)},"Cancel"),h.jsx(no,{type:"primary",onClick:H,disabled:!c,children:b("word.OK",v)},"OK")],open:r,confirmLoading:f,onCancel:D,modalRender:L=>h.jsx(Vr,{disabled:!g,bounds:A,onStart:(U,F)=>R(U,F),children:h.jsx("div",{ref:C,children:L})}),children:h.jsx(ns,{placeholder:"File name",value:c,onPressEnter:H,onChange:L=>{gt.getState().set(U=>{U.localFileName=L.target.value})}})})})}),cWo=()=>{const t=M(H4t),e=M(A=>A.world),n=M(A=>A.elements),o=M(A=>A.viewState),i=M(A=>A.notes),r=gt(cs),a=gt(i3),l=gt(T4t),s=gt(P4t),c=M(y7t),u=M(A7t),d=M(v7t),f=M(R4t),p=new URLSearchParams(window.location.search),g=p.get("viewonly")==="true",y=p.get("map")==="true";return m.useEffect(()=>{c(),u(),d(),f(),gt.getState().set(A=>{A.openModelsMap=y,y&&(A.modelsMapFlag=!0,A.modelsMapWeatherStations=!1,A.leaderboardFlag=!0,A.showLeaderboard=!0)})},[]),m.useEffect(()=>{gt.getState().skipChange?s(!1):gt.getState().changed||l(!0)},[e,o,n,i]),m.useEffect(()=>{r&>.getState().set(A=>{A.showSolarRadiationHeatmap=!1}),a&>.getState().set(A=>{A.showHeatFluxes=!1})},[n]),h.jsx(iy,{locale:t,children:h.jsxs(KQt,{children:[g?h.jsx(zEe,{viewOnly:!0}):h.jsxs($Qt,{onBeforeunload:()=>"",children:[h.jsx(zEe,{viewOnly:!1})," "]}),h.jsx(sWo,{viewOnly:g})]})})},uWo=XFe(document.getElementById("root"));uWo.render(h.jsx(cWo,{}))});export default dWo(); diff --git a/index.html b/index.html index 0238cdaa6..dea4e36a5 100644 --- a/index.html +++ b/index.html @@ -61,7 +61,7 @@ } Aladdin - +